Przeglądaj źródła

增加日志记录参数

hanzhiwei 2 lat temu
rodzic
commit
e192e94ec5

+ 2 - 0
zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/dto/WarningNoticeLogDto.java

@@ -50,6 +50,8 @@ public class WarningNoticeLogDto {
     @ApiModelProperty("楼栋名称")
     private String buildName;
 
+    @ApiModelProperty("楼层Id")
+    private Long floorId;
     @ApiModelProperty("楼层名称")
     private String floorName;
 

+ 4 - 2
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/service/impl/AlarmRecordServiceImpl.java

@@ -166,6 +166,7 @@ public class AlarmRecordServiceImpl implements IAlarmRecordService {
                     warningNoticeLogDto.setSubId(i.getSubId());
                     warningNoticeLogDto.setSubName(i.getSubjectName());
                     warningNoticeLogDto.setBuildName(i.getBuildName());
+                    warningNoticeLogDto.setFloorId(i.getFloorId());
                     warningNoticeLogDto.setFloorName(i.getFloorName());
                     warningNoticeLogDto.setRoomNum(i.getRoomNumber());
                     userIds.append(i.getSafeUserId()).append(",").append(i.getAdminId());
@@ -411,8 +412,8 @@ public class AlarmRecordServiceImpl implements IAlarmRecordService {
      * @Param []
      * @Return void
      **/
-    @Scheduled(cron = "0 0/1 * * * ? ")
-//    @Scheduled(cron = "0 0 0 * * ?")
+//    @Scheduled(cron = "0 0/1 * * * ? ")
+    @Scheduled(cron = "0 0 0 * * ?")
     public void hxpTimeOut() {
         // 查询配置
         ResultData<WarningConfigDto> byType = laboratoryService.getByType(3);
@@ -452,6 +453,7 @@ public class AlarmRecordServiceImpl implements IAlarmRecordService {
                 warningNoticeLogDto.setSubId(i.getSubId());
                 warningNoticeLogDto.setSubName(i.getSubjectName());
                 warningNoticeLogDto.setBuildName(i.getBuildName());
+                warningNoticeLogDto.setFloorId(i.getFloorId());
                 warningNoticeLogDto.setFloorName(i.getFloorName());
                 warningNoticeLogDto.setFloorName(i.getRoomNumber());
                 userIdStr.append(i.getSafeUserId()).append(",").append(i.getAdminId());

+ 82 - 78
zd-modules/zd-chemical/src/main/java/com/zd/chemical/service/impl/HxpStockServiceImpl.java

@@ -410,6 +410,7 @@ public class HxpStockServiceImpl implements IHxpStockService {
                     warningNoticeLogDto.setSubId(i.getSubId());
                     warningNoticeLogDto.setSubName(i.getSubjectName());
                     warningNoticeLogDto.setBuildName(i.getBuildName());
+                    warningNoticeLogDto.setFloorId(i.getFloorId());
                     warningNoticeLogDto.setFloorName(i.getFloorName());
                     warningNoticeLogDto.setRoomNum(i.getRoomNumber());
                     userIdStr.append(i.getSafeUserId()).append(",").append(i.getAdminId());
@@ -898,9 +899,6 @@ public class HxpStockServiceImpl implements IHxpStockService {
     @Scheduled(cron = "0 0 0 * * ?")
 //    @Scheduled(cron = "0 0/1 * * * ? ")
     public void hxpExpired() {
-        //之前代码
-        //expireCheck();
-
         // 查询配置
         ResultData<WarningConfigDto> byType = remoteLaboratoryService.getByType(2);
         if (HttpStatus.SUCCESS != byType.getCode()) {
@@ -912,6 +910,7 @@ public class HxpStockServiceImpl implements IHxpStockService {
         //化学品已过期 化学品即将过期
         List<HxpStock> hxpStocks = hxpStockMapper.selectHxpStockList(new HxpStock());
         Optional.ofNullable(hxpStocks).orElseGet(Collections::emptyList).forEach(hxpStock -> {
+            HxpChemicalJoinCabinet hxpChemicalJoinCabinet = hxpChemicalJoinCabinetMapper.selectHxpChemicalJoinCabinetById(hxpStock.getJoinId());
             //过期时间
             Date expirationTime = hxpStock.getExpirationTime();
             //即将过期提醒天数
@@ -932,10 +931,12 @@ public class HxpStockServiceImpl implements IHxpStockService {
             warningNoticeLogDto.setKeyId(hxpStock.getId());
             warningNoticeLogDto.setName(hxpStock.getChemicalName());
             warningNoticeLogDto.setWarningType(2);
+            warningNoticeLogDto.setWarningSubType(1);
             warningNoticeLogDto.setWarningTime(LocalDateTime.now());
-            //TODO 余量
-            warningNoticeLogDto.setMargin(BigDecimal.ZERO);
-            warningNoticeLogDto.setSpecification(String.valueOf(hxpStock.getChemicalAmount()));
+            warningNoticeLogDto.setWarningWay(warningConfigDto.getTimeout());
+            warningNoticeLogDto.setMargin(hxpStock.getOutUsages());
+            warningNoticeLogDto.setDeposit(hxpStock.getCabinetName());
+            warningNoticeLogDto.setSpecification(hxpChemicalJoinCabinet.getChemicalAmount() + hxpChemicalJoinCabinet.getChemicalAmountUnit());
 
             //查询到实验室负责人id 安全责任人id
             ResultData<List<CheckSubjectDto>> subjectInfoList = remoteLaboratoryService.findSubjectInfoList(String.valueOf(hxpStock.getSubId()));
@@ -947,8 +948,9 @@ public class HxpStockServiceImpl implements IHxpStockService {
                 warningNoticeLogDto.setSubId(i.getSubId());
                 warningNoticeLogDto.setSubName(i.getSubjectName());
                 warningNoticeLogDto.setBuildName(i.getBuildName());
+                warningNoticeLogDto.setFloorId(i.getFloorId());
                 warningNoticeLogDto.setFloorName(i.getFloorName());
-                warningNoticeLogDto.setFloorName(i.getRoomNumber());
+                warningNoticeLogDto.setRoomNum(i.getRoomNumber());
                 userIdStr.append(i.getSafeUserId()).append(",").append(i.getAdminId());
                 phones.append(i.getAdminPhone()).append(",").append(i.getSafeUserPhone());
             }
@@ -1040,80 +1042,82 @@ public class HxpStockServiceImpl implements IHxpStockService {
         List hxpIds = new ArrayList<>();
         List<HxpUserecord> hxpUserecordList = hxpUserecordMapper.selectByOvertime();
 
-        Optional.ofNullable(hxpUserecordList).orElseGet(Collections::emptyList).forEach(hxpUserecord -> {
-            HxpStock hxpStock = hxpStockMapper.selectHxpStockById(hxpUserecord.getStockId());
-            AioChemicalVo aioChemicalVo = new AioChemicalVo();
-            aioChemicalVo.setCabinetId(hxpStock.getCabinetId());
-            HxpChemicalJoinCabinet hxpChemicalJoinCabinet = hxpChemicalJoinCabinetMapper.selectHxpChemicalJoinCabinetById(hxpStock.getJoinId());
-            HxpChemical hxpChemical = hxpChemicalService.selectHxpChemicalById(hxpChemicalJoinCabinet.getId());
-            Integer collectHour = hxpChemical.getCollectHour();
-            Integer collectMinute = hxpChemical.getCollectMinute();
-            Integer minute = collectHour * 60 + collectMinute;
-            DateTime dateTime = DateUtil.offsetMinute(hxpUserecord.getCollectTime(), minute);
-
-            //过期时间在提醒天数内 并且在一天之内
-            WarningNoticeLogDto warningNoticeLogDto = new WarningNoticeLogDto();
-            warningNoticeLogDto.setKeyId(hxpStock.getId());
-            warningNoticeLogDto.setName(hxpStock.getChemicalName());
-            warningNoticeLogDto.setWarningType(2);
-            warningNoticeLogDto.setWarningSubType(1);
-            warningNoticeLogDto.setWarningContent("化学品超时未归还");
-            warningNoticeLogDto.setWarningTime(LocalDateTime.now());
-            warningNoticeLogDto.setWarningWay(warningConfigDto.getTimeout());
-            warningNoticeLogDto.setMargin(hxpStock.getOutUsages());
-            warningNoticeLogDto.setDeposit(hxpStock.getCabinetName());
-            warningNoticeLogDto.setSpecification(hxpChemicalJoinCabinet.getChemicalAmount() + hxpChemicalJoinCabinet.getChemicalAmountUnit());
-
-            //查询到实验室负责人id 安全责任人id
-            ResultData<List<CheckSubjectDto>> subjectInfoList = remoteLaboratoryService.findSubjectInfoList(String.valueOf(hxpStock.getSubId()));
-            StringBuffer userIdStr = new StringBuffer();
-            StringBuffer phones = new StringBuffer();
-            if (HttpStatus.SUCCESS == subjectInfoList.getCode()) {
-                List<CheckSubjectDto> data = subjectInfoList.getData();
-                CheckSubjectDto i = data.get(0);
-                warningNoticeLogDto.setSubId(i.getSubId());
-                warningNoticeLogDto.setSubName(i.getSubjectName());
-                warningNoticeLogDto.setBuildName(i.getBuildName());
-                warningNoticeLogDto.setFloorName(i.getFloorName());
-                warningNoticeLogDto.setFloorName(i.getRoomNumber());
-                userIdStr.append(i.getSafeUserId()).append(",").append(i.getAdminId());
-                phones.append(i.getAdminPhone()).append(",").append(i.getSafeUserPhone());
-            }
-            if(DateUtils.getNowDate().getTime() > dateTime.getTime()){
-                hxpIds.add(hxpUserecord.getId());
-                //过了最大领用时间
-                String text = "【实验室安全系统】实验室名称-人名领用化学品名称超时未归还,领用时间:"+LocalDateTime.now().toString() +",请尽快确认。点击查看:https://lab.zjznai.com/labAppTest/earlyWarning/index.html?id="+warningNoticeLogDto.getKeyId();
+        if(hxpUserecordList != null && hxpUserecordList.size() > 0){
+            hxpUserecordList.forEach(hxpUserecord -> {
+                HxpStock hxpStock = hxpStockMapper.selectHxpStockById(hxpUserecord.getStockId());
+                HxpChemicalJoinCabinet hxpChemicalJoinCabinet = hxpChemicalJoinCabinetMapper.selectHxpChemicalJoinCabinetById(hxpStock.getJoinId());
+                HxpChemical hxpChemical = hxpChemicalService.selectHxpChemicalById(hxpChemicalJoinCabinet.getChemicalId());
+                Integer collectHour = hxpChemical.getCollectHour();
+                Integer collectMinute = hxpChemical.getCollectMinute();
+                Integer minute = (collectHour != null?collectHour:0) * 60 + (collectMinute != null?collectMinute:0);
+                DateTime dateTime = DateUtil.offsetMinute(hxpUserecord.getCollectTime(), minute);
+
+                //过期时间在提醒天数内 并且在一天之内
+                WarningNoticeLogDto warningNoticeLogDto = new WarningNoticeLogDto();
+                warningNoticeLogDto.setKeyId(hxpStock.getId());
+                warningNoticeLogDto.setName(hxpStock.getChemicalName());
+                warningNoticeLogDto.setWarningType(2);
+                warningNoticeLogDto.setWarningSubType(1);
                 warningNoticeLogDto.setWarningContent("化学品超时未归还");
-                warningNoticeLogDto.setWarningSubType(2);
-                String timeout = warningConfigDto.getTimeout();
-                warningNoticeLogDto.setWarningWay(timeout);
-                if (timeout.contains("1")) {
-                    //系统通知
-                    LabMessageContent labMessageContent = new LabMessageContent();
-                    labMessageContent.setSendMode(2);
-                    labMessageContent.setSendRange(3);
-                    labMessageContent.setMessClass(1);
-                    labMessageContent.setMessType(13);
-                    labMessageContent.setSubIds(String.valueOf(hxpStock.getSubId()));
-                    labMessageContent.setUserIds(userIdStr.toString());
-                    labMessageContent.setContent(text);
-                    remoteMessageContentService.sendMessage(labMessageContent);
+                warningNoticeLogDto.setWarningTime(LocalDateTime.now());
+                warningNoticeLogDto.setWarningWay(warningConfigDto.getTimeout());
+                warningNoticeLogDto.setMargin(hxpStock.getOutUsages());
+                warningNoticeLogDto.setDeposit(hxpStock.getCabinetName());
+                warningNoticeLogDto.setApply(hxpUserecord.getCreateBy());
+                warningNoticeLogDto.setSpecification(hxpChemicalJoinCabinet.getChemicalAmount() + hxpChemicalJoinCabinet.getChemicalAmountUnit());
+
+                //查询到实验室负责人id 安全责任人id
+                ResultData<List<CheckSubjectDto>> subjectInfoList = remoteLaboratoryService.findSubjectInfoList(String.valueOf(hxpStock.getSubId()));
+                StringBuffer userIdStr = new StringBuffer();
+                StringBuffer phones = new StringBuffer();
+                if (HttpStatus.SUCCESS == subjectInfoList.getCode()) {
+                    List<CheckSubjectDto> data = subjectInfoList.getData();
+                    CheckSubjectDto i = data.get(0);
+                    warningNoticeLogDto.setSubId(i.getSubId());
+                    warningNoticeLogDto.setSubName(i.getSubjectName());
+                    warningNoticeLogDto.setBuildName(i.getBuildName());
+                    warningNoticeLogDto.setFloorId(i.getFloorId());
+                    warningNoticeLogDto.setFloorName(i.getFloorName());
+                    warningNoticeLogDto.setRoomNum(i.getRoomNumber());
+                    userIdStr.append(i.getSafeUserId()).append(",").append(i.getAdminId());
+                    phones.append(i.getAdminPhone()).append(",").append(i.getSafeUserPhone());
                 }
-                if (timeout.contains("2")) {
-                    //短信通知
-                    String[] strings = Stream.of(phones.toString().split(",")).filter(a -> StrUtil.isNotBlank(a)).collect(Collectors.joining(",")).split(",");
-                    if (strings != null) {
-                        AlarmEntrty alarmEntrty = new AlarmEntrty(Routes.NoticePush, strings, SendTypes.SMS.toString(), text);
-                        remoteAlarmService.send(alarmEntrty);
-                        logger.info("化学品发送短信打电话消息推送完成!");
+                if(DateUtils.getNowDate().getTime() > dateTime.getTime()){
+                    hxpIds.add(hxpUserecord.getId());
+                    //过了最大领用时间
+                    String text = "【实验室安全系统】实验室名称-人名领用化学品名称超时未归还,领用时间:"+LocalDateTime.now().toString() +",请尽快确认。点击查看:https://lab.zjznai.com/labAppTest/earlyWarning/index.html?id="+warningNoticeLogDto.getKeyId();
+                    warningNoticeLogDto.setWarningContent("化学品超时未归还");
+                    warningNoticeLogDto.setWarningSubType(2);
+                    String timeout = warningConfigDto.getTimeout();
+                    warningNoticeLogDto.setWarningWay(timeout);
+                    if (timeout.contains("1")) {
+                        //系统通知
+                        LabMessageContent labMessageContent = new LabMessageContent();
+                        labMessageContent.setSendMode(2);
+                        labMessageContent.setSendRange(3);
+                        labMessageContent.setMessClass(1);
+                        labMessageContent.setMessType(13);
+                        labMessageContent.setSubIds(String.valueOf(hxpStock.getSubId()));
+                        labMessageContent.setUserIds(userIdStr.toString());
+                        labMessageContent.setContent(text);
+                        remoteMessageContentService.sendMessage(labMessageContent);
+                    }
+                    if (timeout.contains("2")) {
+                        //短信通知
+                        String[] strings = Stream.of(phones.toString().split(",")).filter(a -> StrUtil.isNotBlank(a)).collect(Collectors.joining(",")).split(",");
+                        if (strings != null) {
+                            AlarmEntrty alarmEntrty = new AlarmEntrty(Routes.NoticePush, strings, SendTypes.SMS.toString(), text);
+                            remoteAlarmService.send(alarmEntrty);
+                            logger.info("化学品发送短信打电话消息推送完成!");
+                        }
+                    }
+                    ResultData result = remoteLaboratoryService.addWarningNoticeLog(warningNoticeLogDto);
+                    if (HttpStatus.SUCCESS == result.getCode()) {
+                        logger.info("化学品超时未归还保存日志成功!");
                     }
                 }
-            }
-            ResultData result = remoteLaboratoryService.addWarningNoticeLog(warningNoticeLogDto);
-            if (HttpStatus.SUCCESS == result.getCode()) {
-                logger.info("化学品超时未归还保存日志成功!");
-            }
-        });
-        hxpUserecordMapper.updateUserecordOvertimeByIds(hxpIds);
+            });
+            hxpUserecordMapper.updateUserecordOvertimeByIds(hxpIds);
+        }
     }
 }

+ 3 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/WarningNoticeLog.java

@@ -53,6 +53,9 @@ public class WarningNoticeLog extends Model<WarningNoticeLog> {
     @ApiModelProperty("实验室名称")
     private String subName;
 
+    @ApiModelProperty("楼层Id")
+    private Long floorId;
+
     @ApiModelProperty("楼栋名称")
     private String buildName;
 

+ 2 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/domain/vo/WarningNoticeLogVO.java

@@ -51,6 +51,8 @@ public class WarningNoticeLogVO {
     @ApiModelProperty("楼栋名称")
     private String buildName;
 
+    @ApiModelProperty("楼层Id")
+    private Long floorId;
     @ApiModelProperty("楼层名称")
     private String floorName;
 

+ 1 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/event/RedisExpiredPhotographListener.java

@@ -158,6 +158,7 @@ public class RedisExpiredPhotographListener extends KeyExpirationEventMessageLis
                                 warningNoticeLogDto.setSubId(i.getSubId());
                                 warningNoticeLogDto.setSubName(i.getSubjectName());
                                 warningNoticeLogDto.setBuildName(i.getBuildName());
+                                warningNoticeLogDto.setFloorId(i.getFloorId());
                                 warningNoticeLogDto.setFloorName(i.getFloorName());
                                 warningNoticeLogDto.setRoomNum(i.getRoomNumber());
                                 userIds.append(i.getSafeUserId()).append(",").append(i.getAdminId());