diff --git a/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/InspectionRecord.java b/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/InspectionRecord.java index 6ef5e93..e3e440c 100644 --- a/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/InspectionRecord.java +++ b/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/InspectionRecord.java @@ -10,7 +10,6 @@ import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.util.Date; -import java.util.List; /** * @author sjx @@ -72,4 +71,10 @@ public class InspectionRecord extends BaseEntity implements Serializable { */ private String tenantId; + /** + * 设备名称 + */ + @TableField(exist = false) + private String assetName; + } diff --git a/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/InspectionTask.java b/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/InspectionTask.java index c8e1272..b44993f 100644 --- a/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/InspectionTask.java +++ b/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/InspectionTask.java @@ -167,4 +167,10 @@ public class InspectionTask extends BaseEntity implements Serializable { @TableField(exist = false) private List taskPointList; + /** + * 巡检班组 + */ + @TableField(exist = false) + private List groupIdList; + } diff --git a/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/InstrumentData.java b/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/InstrumentData.java new file mode 100644 index 0000000..520e347 --- /dev/null +++ b/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/InstrumentData.java @@ -0,0 +1,195 @@ +package org.springblade.lims.entry; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import org.springblade.core.mp.base.BaseEntity; +import org.springframework.data.annotation.Id; + +import java.io.Serializable; + +/** + * @author sjx + * @date 2023年11月27日15:34:17 + */ +@Data +@TableName("t_instrument_data") +public class InstrumentData extends BaseEntity implements Serializable { + + /** + * 业务主键 + */ + @Id + private Long id; + + /** + * 网关编号 + */ + private String imei; + + /** + * 总有功功率 + */ + private Double totalActivePower; + + /** + * 总无功功率 + */ + private Double totalReactivePower; + + /** + * 总视在功率 + */ + private Double totalApparentPower; + + /** + * 当前正向有功 + */ + private Double currentPositiveActivePower; + + /** + * 当前正向无功 + */ + private Double currentPositiveReactivePower; + + /** + * 当前反向有功 + */ + private Double currentReverseActivePower; + + /** + * 当前反向无功 + */ + private Double currentReverseReactivePower; + + /** + * 电流不平衡度 + */ + private Double currentImbalance; + + /** + * 电压不平衡度 + */ + private Double voltageImbalance; + + /** + * 总功率因数 + */ + private Double totalPowerFactor; + + /** + * 零序电流 + */ + private Double zeroSequenceCurrent; + + /** + * 频率 + */ + private Double frequency; + + /** + * A线电压 + */ + private Double aLineVoltage; + + /** + * B线电压 + */ + private Double bLineVoltage; + + /** + * C线电压 + */ + private Double cLineVoltage; + + /** + * A相电流 + */ + private Double aPhaseCurrent; + + /** + * B相电流 + */ + private Double bPhaseCurrent; + + /** + * C相电流 + */ + private Double cPhaseCurrent; + + /** + * A相电压 + */ + private Double aPhaseVoltage; + + /** + * B相电压 + */ + private Double bPhaseVoltage; + + /** + * C相电压 + */ + private Double cPhaseVoltage; + + /** + * A相有功功率 + */ + private Double aPhaseActivePower; + + /** + * B相有功功率 + */ + private Double bPhaseActivePower; + + /** + * C相有功功率 + */ + private Double cPhaseActivePower; + + /** + * A相功率因数 + */ + private Double aPhasePowerFactor; + + /** + * B相功率因数 + */ + private Double bPhasePowerFactor; + + /** + * C相功率因数 + */ + private Double cPhasePowerFactor; + + /** + * A相无功功率 + */ + private Double aPhaseReactivePower; + + /** + * B相无功功率 + */ + private Double bPhaseReactivePower; + + /** + * C相无功功率 + */ + private Double cPhaseReactivePower; + + /** + * A相视在功率 + */ + private Double aPhaseApparentPower; + + /** + * B相视在功率 + */ + private Double bPhaseApparentPower; + + /** + * C相视在功率 + */ + private Double cPhaseApparentPower; + + +} diff --git a/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/MaintainRecord.java b/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/MaintainRecord.java index cc9308c..b02001a 100644 --- a/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/MaintainRecord.java +++ b/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/MaintainRecord.java @@ -1,5 +1,6 @@ package org.springblade.lims.entry; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; @@ -61,4 +62,10 @@ public class MaintainRecord extends BaseEntity implements Serializable { */ private String operUserName; + /** + * 设备名称 + */ + @TableField(exist = false) + private String assetName; + } diff --git a/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/MaintainTask.java b/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/MaintainTask.java index 0d8ad89..eaf59b8 100644 --- a/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/MaintainTask.java +++ b/lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/MaintainTask.java @@ -192,4 +192,10 @@ public class MaintainTask extends BaseEntity implements Serializable { @TableField(exist = false) private List projectList; + + /** + * 保养班组 + */ + @TableField(exist = false) + private List groupIdList; } diff --git a/lab-service/lab-lims/pom.xml b/lab-service/lab-lims/pom.xml index a78f330..0e25b6c 100644 --- a/lab-service/lab-lims/pom.xml +++ b/lab-service/lab-lims/pom.xml @@ -186,12 +186,13 @@ commons-logging 1.2 - + + - org.springframework.integration - spring-integration-mqtt + org.eclipse.paho + org.eclipse.paho.client.mqttv3 + 1.2.5 - diff --git a/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/InspectionTaskController.java b/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/InspectionTaskController.java index 86a367e..a3a1e99 100644 --- a/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/InspectionTaskController.java +++ b/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/InspectionTaskController.java @@ -7,11 +7,15 @@ import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.mp.support.Query; +import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.lims.entry.InspectionTask; import org.springblade.lims.service.IInspectionTaskService; import org.springframework.web.bind.annotation.*; +import java.util.Arrays; +import java.util.List; + /** * @author sjx @@ -27,6 +31,11 @@ public class InspectionTaskController extends BladeController { @GetMapping("/page") public R page(InspectionTask entry, Query query) { + List roles = Arrays.asList(AuthUtil.getUserRole().split(",")); + if(!roles.contains("admin")){ + List groupIdList = Arrays.asList(AuthUtil.getDeptId().split(",")); + entry.setGroupIdList(groupIdList); + } return R.data(service.findPage(entry, query)); } diff --git a/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/MaintainTaskController.java b/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/MaintainTaskController.java index bc9e6e4..7b682c7 100644 --- a/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/MaintainTaskController.java +++ b/lab-service/lab-lims/src/main/java/org/springblade/lims/controller/MaintainTaskController.java @@ -7,11 +7,15 @@ import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.mp.support.Query; +import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.lims.entry.MaintainTask; import org.springblade.lims.service.IMaintainTaskService; import org.springframework.web.bind.annotation.*; +import java.util.Arrays; +import java.util.List; + /** * @author sjx @@ -27,6 +31,11 @@ public class MaintainTaskController extends BladeController { @GetMapping("/page") public R page(MaintainTask entry, Query query) { + List roles = Arrays.asList(AuthUtil.getUserRole().split(",")); + if(!roles.contains("admin")){ + List groupIdList = Arrays.asList(AuthUtil.getDeptId().split(",")); + entry.setGroupIdList(groupIdList); + } return R.data(service.findPage(entry, query)); } diff --git a/lab-service/lab-lims/src/main/java/org/springblade/lims/mapper/InstrumentDataMapper.java b/lab-service/lab-lims/src/main/java/org/springblade/lims/mapper/InstrumentDataMapper.java new file mode 100644 index 0000000..b47bc31 --- /dev/null +++ b/lab-service/lab-lims/src/main/java/org/springblade/lims/mapper/InstrumentDataMapper.java @@ -0,0 +1,15 @@ + +package org.springblade.lims.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springblade.lims.entry.InstrumentData; + +/** + * + * + * @author sjx + * @since 2023年11月27日15:47:39 + */ +public interface InstrumentDataMapper extends BaseMapper { + +} diff --git a/lab-service/lab-lims/src/main/java/org/springblade/lims/mqtt/callback/MyMQTTCallback.java b/lab-service/lab-lims/src/main/java/org/springblade/lims/mqtt/callback/MyMQTTCallback.java index 68e115c..27c649e 100644 --- a/lab-service/lab-lims/src/main/java/org/springblade/lims/mqtt/callback/MyMQTTCallback.java +++ b/lab-service/lab-lims/src/main/java/org/springblade/lims/mqtt/callback/MyMQTTCallback.java @@ -1,17 +1,24 @@ package org.springblade.lims.mqtt.callback; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import org.apache.commons.lang3.time.DateUtils; import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken; import org.eclipse.paho.client.mqttv3.MqttCallbackExtended; -import org.eclipse.paho.client.mqttv3.MqttException; import org.eclipse.paho.client.mqttv3.MqttMessage; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springblade.core.tool.utils.Charsets; import org.springblade.core.tool.utils.SpringUtil; +import org.springblade.lims.entry.Instrument; +import org.springblade.lims.entry.InstrumentData; import org.springblade.lims.mqtt.client.MyMQTTClient; import org.springblade.lims.mqtt.config.MqttConfiguration; +import org.springblade.lims.service.IInstrumentDataService; +import org.springblade.lims.service.IInstrumentService; +import java.util.ArrayList; +import java.util.List; import java.util.Map; /** @@ -21,16 +28,10 @@ import java.util.Map; public class MyMQTTCallback implements MqttCallbackExtended { //手动注入 - //private MqttConfiguration mqttConfiguration = SpringUtil.getBean(MqttConfiguration.class); + private MqttConfiguration mqttConfiguration = SpringUtil.getBean(MqttConfiguration.class); - private static MqttConfiguration mqttConfiguration; - - private static MqttConfiguration getMqttConfiguration() { - if (mqttConfiguration == null) { - mqttConfiguration = SpringUtil.getBean(MqttConfiguration.class); - } - return mqttConfiguration; - } + private IInstrumentDataService instrumentDataService = SpringUtil.getBean(IInstrumentDataService.class); + private IInstrumentService instrumentService = SpringUtil.getBean(IInstrumentService.class); private static final Logger log = LoggerFactory.getLogger(MyMQTTCallback.class); @@ -40,6 +41,10 @@ public class MyMQTTCallback implements MqttCallbackExtended { this.mqttClient = mqttClient; } + private int count =0; + + private List dataList = new ArrayList<>(); + /** * 丢失连接,可在这里做重连 @@ -50,25 +55,28 @@ public class MyMQTTCallback implements MqttCallbackExtended { @Override public void connectionLost(Throwable throwable) { log.error("mqtt connectionLost 连接断开,5S之后尝试重连: {}", throwable.getMessage()); - long reconnectTimes = 1; + /*long reconnectTimes = 1; while (true) { + if (MyMQTTClient.getClient().isConnected()) { + //判断已经重新连接成功 需要重新订阅主题 可以在这个if里面订阅主题 或者 connectComplete(方法里面) 看你们自己选择 + //订阅主题 + mqttClient.subscribe(mqttConfiguration.getTopic1(), 1); + mqttClient.subscribe(mqttConfiguration.getTopic2(), 1); + log.warn("mqtt reconnect success end 重新连接 重新订阅成功"); + return; + } + reconnectTimes+=1; + log.warn("mqtt reconnect times = {} try again... mqtt重新连接时间 {}", reconnectTimes, reconnectTimes); try { - if (MyMQTTClient.getClient().isConnected()) { - //判断已经重新连接成功 需要重新订阅主题 可以在这个if里面订阅主题 或者 connectComplete(方法里面) 看你们自己选择 - log.warn("mqtt reconnect success end 重新连接 重新订阅成功"); - return; - } - reconnectTimes+=1; - log.warn("mqtt reconnect times = {} try again... mqtt重新连接时间 {}", reconnectTimes, reconnectTimes); MyMQTTClient.getClient().reconnect(); } catch (MqttException e) { - log.error("mqtt断连异常", e); + throw new RuntimeException(e); } try { Thread.sleep(5000); } catch (InterruptedException e1) { } - } + }*/ } /** @@ -81,10 +89,132 @@ public class MyMQTTCallback implements MqttCallbackExtended { public void messageArrived(String topic, MqttMessage mqttMessage) throws Exception { log.info("接收消息主题 : {},接收消息内容 : {}", topic, new String(mqttMessage.getPayload())); //接收消息主题 - if (topic.equals("instrument/updateStatus")){ - Map maps = (Map) JSON.parse(new String(mqttMessage.getPayload(), Charsets.UTF_8.name())); + if (topic.contains("/device/data")){ + count++; + InstrumentData data = new InstrumentData(); + Map map = (Map) JSON.parse(new String(mqttMessage.getPayload(), Charsets.UTF_8.name())); + Map map1 = (Map) JSON.parse(map.get("vals").toString()); + data.setCreateTime(DateUtils.parseDate(map.get("tsstr").toString(),"yyyy-MM-dd hh:mm:ss")); + data.setImei(map.get("imei").toString()); + if(map1.containsKey("总有功功率")){ + data.setTotalActivePower(Double.parseDouble(map1.get("总有功功率").toString())); + } + if(map1.containsKey("总无功功率")){ + data.setTotalReactivePower(Double.parseDouble(map1.get("总无功功率").toString())); + } + if(map1.containsKey("总视在功率")){ + data.setTotalApparentPower(Double.parseDouble(map1.get("总视在功率").toString())); + } + if(map1.containsKey("当前正向有功")){ + data.setCurrentPositiveActivePower(Double.parseDouble(map1.get("当前正向有功").toString())); + } + if(map1.containsKey("当前正向无功")){ + data.setCurrentPositiveReactivePower(Double.parseDouble(map1.get("当前正向无功").toString())); + } + if(map1.containsKey("当前反向有功")){ + data.setCurrentReverseActivePower(Double.parseDouble(map1.get("当前反向有功").toString())); + } + if(map1.containsKey("当前反向无功")){ + data.setCurrentReverseReactivePower(Double.parseDouble(map1.get("当前反向无功").toString())); + } + if(map1.containsKey("电流不平衡度")){ + data.setCurrentImbalance(Double.parseDouble(map1.get("电流不平衡度").toString())); + } + if(map1.containsKey("电压不平衡度")){ + data.setVoltageImbalance(Double.parseDouble(map1.get("电压不平衡度").toString())); + } + if(map1.containsKey("总功率因数")){ + data.setTotalPowerFactor(Double.parseDouble(map1.get("总功率因数").toString())); + } + if(map1.containsKey("零序电流")){ + data.setZeroSequenceCurrent(Double.parseDouble(map1.get("零序电流").toString())); + } + if(map1.containsKey("频率")){ + data.setFrequency(Double.parseDouble(map1.get("频率").toString())); + } + if(map1.containsKey("A线电压")){ + data.setALineVoltage(Double.parseDouble(map1.get("A线电压").toString())); + } + if(map1.containsKey("B线电压")){ + data.setBLineVoltage(Double.parseDouble(map1.get("B线电压").toString())); + } + if(map1.containsKey("C线电压")){ + data.setCLineVoltage(Double.parseDouble(map1.get("C线电压").toString())); + } + if(map1.containsKey("A相电流")){ + data.setAPhaseCurrent(Double.parseDouble(map1.get("A相电流").toString())); + } + if(map1.containsKey("B相电流")){ + data.setBPhaseCurrent(Double.parseDouble(map1.get("B相电流").toString())); + } + if(map1.containsKey("C相电流")){ + data.setCPhaseCurrent(Double.parseDouble(map1.get("C相电流").toString())); + } + if(map1.containsKey("A相电压")){ + data.setAPhaseVoltage(Double.parseDouble(map1.get("A相电压").toString())); + } + if(map1.containsKey("B相电压")){ + data.setBPhaseVoltage(Double.parseDouble(map1.get("B相电压").toString())); + } + if(map1.containsKey("C相电压")){ + data.setCPhaseVoltage(Double.parseDouble(map1.get("C相电压").toString())); + } + if(map1.containsKey("A相有功功率")){ + data.setAPhaseActivePower(Double.parseDouble(map1.get("A相有功功率").toString())); + } + if(map1.containsKey("B相有功功率")){ + data.setBPhaseActivePower(Double.parseDouble(map1.get("B相有功功率").toString())); + } + if(map1.containsKey("C相有功功率")){ + data.setCPhaseActivePower(Double.parseDouble(map1.get("C相有功功率").toString())); + } + if(map1.containsKey("A相功率因数")){ + data.setAPhasePowerFactor(Double.parseDouble(map1.get("A相功率因数").toString())); + } + if(map1.containsKey("B相功率因数")){ + data.setBPhasePowerFactor(Double.parseDouble(map1.get("B相功率因数").toString())); + } + if(map1.containsKey("C相功率因数")){ + data.setCPhasePowerFactor(Double.parseDouble(map1.get("C相功率因数").toString())); + } + if(map1.containsKey("A相无功功率")){ + data.setAPhaseReactivePower(Double.parseDouble(map1.get("A相无功功率").toString())); + } + if(map1.containsKey("B相无功功率")){ + data.setBPhaseReactivePower(Double.parseDouble(map1.get("B相无功功率").toString())); + } + if(map1.containsKey("C相无功功率")){ + data.setCPhaseReactivePower(Double.parseDouble(map1.get("C相无功功率").toString())); + } + if(map1.containsKey("A相视在功率")){ + data.setAPhaseApparentPower(Double.parseDouble(map1.get("A相视在功率").toString())); + } + if(map1.containsKey("B相视在功率")){ + data.setBPhaseApparentPower(Double.parseDouble(map1.get("B相视在功率").toString())); + } + if(map1.containsKey("C相视在功率")){ + data.setCPhaseApparentPower(Double.parseDouble(map1.get("C相视在功率").toString())); + } //你自己的业务接口 - log.info(maps.toString()); + log.info(map1.toString()); + dataList.add(data); + } + if(dataList.size() ==100){ + instrumentDataService.saveBatch(dataList); + dataList.clear(); + } + if (topic.contains("/device/status")){ + Map map = (Map) JSON.parse(new String(mqttMessage.getPayload(), Charsets.UTF_8.name())); + log.info(map.toString()); + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(Instrument::getCode,map.get("imei").toString()); + Instrument instrument = new Instrument(); + if("online".equals(map.get("status").toString())){ + instrument.setRunStatus(1); + }else{ + instrument.setRunStatus(4); + } + instrumentService.update(instrument,wrapper); } } @@ -99,7 +229,8 @@ public class MyMQTTCallback implements MqttCallbackExtended { public void connectComplete(boolean reconnect,String serverURI){ log.info("MQTT 连接成功,连接方式:{}",reconnect?"重连":"直连"); //订阅主题 - mqttClient.subscribe(getMqttConfiguration().getTopic(), 1); + mqttClient.subscribe(mqttConfiguration.getTopic1(), 1); + mqttClient.subscribe(mqttConfiguration.getTopic2(), 1); } /** diff --git a/lab-service/lab-lims/src/main/java/org/springblade/lims/mqtt/client/MyMQTTClient.java b/lab-service/lab-lims/src/main/java/org/springblade/lims/mqtt/client/MyMQTTClient.java index 67dd415..e118391 100644 --- a/lab-service/lab-lims/src/main/java/org/springblade/lims/mqtt/client/MyMQTTClient.java +++ b/lab-service/lab-lims/src/main/java/org/springblade/lims/mqtt/client/MyMQTTClient.java @@ -73,6 +73,7 @@ public class MyMQTTClient { client.disconnect(); client.connect(mqttConnectOptions); } + boolean a = client.isConnected(); LOGGER.info("MQTT connect success");//未发生异常,则连接成功 } diff --git a/lab-service/lab-lims/src/main/java/org/springblade/lims/mqtt/config/MqttConfiguration.java b/lab-service/lab-lims/src/main/java/org/springblade/lims/mqtt/config/MqttConfiguration.java index 9962d11..fab3f47 100644 --- a/lab-service/lab-lims/src/main/java/org/springblade/lims/mqtt/config/MqttConfiguration.java +++ b/lab-service/lab-lims/src/main/java/org/springblade/lims/mqtt/config/MqttConfiguration.java @@ -7,12 +7,14 @@ import org.slf4j.LoggerFactory; import org.springblade.lims.mqtt.client.MyMQTTClient; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.DependsOn; /** 1. @author WXY 2. @date 2022/6/29 20:42 */ //@Configuration +@DependsOn({"springUtil"}) @Data public class MqttConfiguration { @@ -29,8 +31,10 @@ public class MqttConfiguration { int timeOut; @Value("${mqtt.keepalive}") int keepAlive; - @Value("${mqtt.topic}") - String topic; + @Value("${mqtt.topic1}") + String topic1; + @Value("${mqtt.topic2}") + String topic2; @Bean//注入spring diff --git a/lab-service/lab-lims/src/main/java/org/springblade/lims/service/IInstrumentDataService.java b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/IInstrumentDataService.java new file mode 100644 index 0000000..4f3f996 --- /dev/null +++ b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/IInstrumentDataService.java @@ -0,0 +1,14 @@ + +package org.springblade.lims.service; + + +import org.springblade.core.mp.base.BaseService; +import org.springblade.lims.entry.InstrumentData; + +/** + * @author sjx + * @date 2023年11月27日15:34:17 + */ +public interface IInstrumentDataService extends BaseService { + boolean saveData(); +} diff --git a/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/InspectionRecordServiceImpl.java b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/InspectionRecordServiceImpl.java index 1b410d9..b47e337 100644 --- a/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/InspectionRecordServiceImpl.java +++ b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/InspectionRecordServiceImpl.java @@ -10,8 +10,10 @@ import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.lims.entry.InspectionRecord; +import org.springblade.lims.entry.Instrument; import org.springblade.lims.mapper.InspectionRecordMapper; import org.springblade.lims.service.IInspectionRecordService; +import org.springblade.lims.service.IInstrumentService; import org.springframework.stereotype.Service; @@ -23,6 +25,7 @@ import org.springframework.stereotype.Service; @AllArgsConstructor public class InspectionRecordServiceImpl extends BaseServiceImpl implements IInspectionRecordService { + private final IInstrumentService instrumentService; @Override public IPage findPage(InspectionRecord entry, Query query) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); @@ -30,6 +33,10 @@ public class InspectionRecordServiceImpl extends BaseServiceImpl page = this.page(Condition.getPage(query), wrapper); + page.getRecords().forEach(record ->{ + Instrument instrument = instrumentService.getById(record.getAssetId()); + record.setAssetName(instrument.getName()); + }); return page; } diff --git a/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/InspectionTaskServiceImpl.java b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/InspectionTaskServiceImpl.java index fb930a9..9b8037d 100644 --- a/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/InspectionTaskServiceImpl.java +++ b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/InspectionTaskServiceImpl.java @@ -72,6 +72,10 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl page = this.page(Condition.getPage(query), wrapper); diff --git a/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/InstrumentDataServiceImpl.java b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/InstrumentDataServiceImpl.java new file mode 100644 index 0000000..cc0e213 --- /dev/null +++ b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/InstrumentDataServiceImpl.java @@ -0,0 +1,27 @@ + +package org.springblade.lims.service.impl; + + +import lombok.AllArgsConstructor; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.lims.entry.InstrumentData; +import org.springblade.lims.mapper.InstrumentDataMapper; +import org.springblade.lims.service.IInstrumentDataService; +import org.springframework.stereotype.Service; + + +/** + * + * @author swj + * @since 2022年6月2日15:53:01 + */ +@Service +@AllArgsConstructor +public class InstrumentDataServiceImpl extends BaseServiceImpl implements IInstrumentDataService { + + + @Override + public boolean saveData() { + return false; + } +} diff --git a/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/MaintainRecordServiceImpl.java b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/MaintainRecordServiceImpl.java index adcc9a9..e21cdd6 100644 --- a/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/MaintainRecordServiceImpl.java +++ b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/MaintainRecordServiceImpl.java @@ -9,14 +9,12 @@ import org.springblade.core.mp.base.BaseEntity; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; -import org.springblade.core.secure.utils.AuthUtil; +import org.springblade.lims.entry.Instrument; import org.springblade.lims.entry.MaintainRecord; import org.springblade.lims.mapper.MaintainRecordMapper; +import org.springblade.lims.service.IInstrumentService; import org.springblade.lims.service.IMaintainRecordService; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; /** @@ -28,7 +26,7 @@ import java.util.Date; @AllArgsConstructor public class MaintainRecordServiceImpl extends BaseServiceImpl implements IMaintainRecordService { - + private final IInstrumentService instrumentService; @Override public IPage findPage(MaintainRecord entry, Query query) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); @@ -36,6 +34,10 @@ public class MaintainRecordServiceImpl extends BaseServiceImpl page = this.page(Condition.getPage(query), wrapper); + page.getRecords().forEach(record ->{ + Instrument instrument = instrumentService.getById(record.getAssetId()); + record.setAssetName(instrument.getName()); + }); return page; } diff --git a/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/MaintainTaskServiceImpl.java b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/MaintainTaskServiceImpl.java index 65d0e6c..6c4e5d0 100644 --- a/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/MaintainTaskServiceImpl.java +++ b/lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/MaintainTaskServiceImpl.java @@ -89,6 +89,10 @@ public class MaintainTaskServiceImpl extends BaseServiceImpl page = this.page(Condition.getPage(query), wrapper); diff --git a/lab-service/lab-system/src/main/java/org/springblade/system/controller/DeptController.java b/lab-service/lab-system/src/main/java/org/springblade/system/controller/DeptController.java index 8452c8c..cdacd48 100644 --- a/lab-service/lab-system/src/main/java/org/springblade/system/controller/DeptController.java +++ b/lab-service/lab-system/src/main/java/org/springblade/system/controller/DeptController.java @@ -11,6 +11,7 @@ import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.cache.utils.CacheUtil; import org.springblade.core.mp.support.Condition; import org.springblade.core.secure.BladeUser; +import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tenant.annotation.NonDS; import org.springblade.core.tool.api.R; import org.springblade.core.tool.constant.BladeConstant; @@ -26,6 +27,7 @@ import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; import javax.validation.Valid; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -170,15 +172,20 @@ public class DeptController extends BladeController { @ApiOperationSupport(order = 5) @ApiOperation(value = "根据父级部门名称获取下级部门列表", notes = "根据父级部门名称获取下级部门列表") public R> getDeptList(String parentDeptName) { + List list = new ArrayList<>(); + String deptId = AuthUtil.getDeptId(); + Dept dept = deptService.getById(deptId); LambdaQueryWrapper parentWrapper = new LambdaQueryWrapper<>(); + parentWrapper.eq(Dept::getParentId,dept.getId()); parentWrapper.eq(Dept::getDeptName,parentDeptName); parentWrapper.eq(Dept::getIsDeleted,0); Dept parent = deptService.getOne(parentWrapper); - - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(Dept::getParentId,parent.getId()); - wrapper.eq(Dept::getIsDeleted,0); - List list = deptService.list(wrapper); + if(parent != null){ + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Dept::getParentId,parent.getId()); + wrapper.eq(Dept::getIsDeleted,0); + list = deptService.list(wrapper); + } return R.data(list); }