Ver código fonte

自动检查计划

车车 8 meses atrás
pai
commit
d04faf1936

+ 21 - 0
ktg-iscs/src/main/java/com/ktg/iscs/controller/IsMailNotifyConfigController.java

@@ -103,4 +103,25 @@ public class IsMailNotifyConfigController extends BaseController
         Long[] longIds = Convert.toLongArray(configIds);
         return CommonResult.success(isMailNotifyConfigService.removeBatchByIds(Arrays.asList(longIds)));
     }
+
+    @ApiOperation("修改自动创建周期检查计划")
+    @PreAuthorize("@ss.hasPermi('iscs:notify:edit')")
+    @Log(title = "修改自动创建周期检查计划", businessType = BusinessType.UPDATE)
+    @PostMapping("/updateAutomaticConfig")
+    public CommonResult<Boolean> updateAutomaticConfig(@RequestBody @Parameter(name = "isMailNotifyConfig", description = "修改数据类,放到body") IsMailNotifyConfig isMailNotifyConfig)
+    {
+        return CommonResult.success(isMailNotifyConfigService.updateAutomaticConfig(isMailNotifyConfig));
+    }
+
+    @ApiOperation("获取系统邮件提醒周期配置详细信息code")
+    @Parameter(name = "templateCode", description = "templateCode")
+    @PreAuthorize("@ss.hasPermi('iscs:notify:query')")
+    @GetMapping(value = "/selectIsMailNotifyConfigByCode")
+    public CommonResult<IsMailNotifyConfig> selectIsMailNotifyConfigByCode(String templateCode)
+    {
+        Assert.notBlank(templateCode, "templateCode不可为空!");
+        return CommonResult.success(isMailNotifyConfigService.getOne(Wrappers.<IsMailNotifyConfig>lambdaQuery()
+                .eq(IsMailNotifyConfig::getTemplateCode, templateCode)));
+    }
+
 }

+ 2 - 2
ktg-iscs/src/main/java/com/ktg/iscs/domain/IsMailNotifyConfig.java

@@ -53,8 +53,8 @@ public class IsMailNotifyConfig extends BaseBean
     @ApiModelProperty(value = "计日期")
     private String planDate;
 
-    @ApiModelProperty(value = "物资柜id(逗号分隔)")
-    private String cabinetIds;
+    @ApiModelProperty(value = "启动状态(0-未启动 1-启动)")
+    private String startStatus;
 
     @ApiModelProperty(value = "检察员")
     private Long checkUserId;

+ 3 - 2
ktg-iscs/src/main/java/com/ktg/iscs/service/IIsMailNotifyConfigService.java

@@ -1,8 +1,7 @@
 package com.ktg.iscs.service;
 
-import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import java.util.List;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.ktg.iscs.domain.IsMailNotifyConfig;
 
 /**
@@ -15,4 +14,6 @@ public interface IIsMailNotifyConfigService extends IService<IsMailNotifyConfig>
 
     Page<IsMailNotifyConfig> getIsMailNotifyConfigPage(Page<IsMailNotifyConfig> page, IsMailNotifyConfig isMailNotifyConfig);
 
+    Boolean updateAutomaticConfig(IsMailNotifyConfig isMailNotifyConfig);
+
 }

+ 21 - 7
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/IsIsolationPointServiceImpl.java

@@ -70,10 +70,16 @@ public class IsIsolationPointServiceImpl extends ServiceImpl<IsIsolationPointMap
     {
         // 断言校验
         Assert.isTrue(StringUtils.isNotBlank(isIsolationPoint.getPointName()), "隔离点名称不可为空!");
-        // Assert.isTrue(StringUtils.isNotBlank(isIsolationPoint.getPointCode()), "隔离点编号名称不可为空!");
-       /* List<IsIsolationPoint> list = list(Wrappers.<IsIsolationPoint>lambdaQuery()
+        Assert.isTrue(StringUtils.isNotBlank(isIsolationPoint.getPointCode()), "隔离点编号名称不可为空!");
+        List<IsIsolationPoint> list = list(Wrappers.<IsIsolationPoint>lambdaQuery()
+                .eq(IsIsolationPoint::getPointName, isIsolationPoint.getPointName()));
+        Assert.isTrue(list.isEmpty(), "该隔离点名称已被使用!");
+        List<IsIsolationPoint> list2 = list(Wrappers.<IsIsolationPoint>lambdaQuery()
+                .eq(IsIsolationPoint::getPointNfc, isIsolationPoint.getPointNfc()));
+        Assert.isTrue(list2.isEmpty(), "该NFC已被使用!");
+        List<IsIsolationPoint> list3 = list(Wrappers.<IsIsolationPoint>lambdaQuery()
                 .eq(IsIsolationPoint::getPointCode, isIsolationPoint.getPointCode()));
-        Assert.isTrue(list.isEmpty(), "该隔离点编号已被使用!");*/
+        Assert.isTrue(list3.isEmpty(), "该编号已被使用!");
         return isIsolationPointMapper.insertIsIsolationPoint(isIsolationPoint);
     }
 
@@ -91,10 +97,18 @@ public class IsIsolationPointServiceImpl extends ServiceImpl<IsIsolationPointMap
         Assert.isTrue(StringUtils.isNotBlank(isIsolationPoint.getPointName()), "隔离点名称不可为空!");
         // Assert.isTrue(StringUtils.isNotBlank(isIsolationPoint.getPointCode()), "隔离点编号名称不可为空!");
         // Assert.notNull(isIsolationPoint.getWorkareaId(), "所属区域不可为空!");
-        /*List<IsIsolationPoint> list = list(Wrappers.<IsIsolationPoint>lambdaQuery()
+        List<IsIsolationPoint> list = list(Wrappers.<IsIsolationPoint>lambdaQuery()
+                .eq(IsIsolationPoint::getPointName, isIsolationPoint.getPointName())
+                .ne(IsIsolationPoint::getPointId, isIsolationPoint.getPointId()));
+        Assert.isTrue(list.isEmpty(), "该隔离点名称已被使用!");
+        List<IsIsolationPoint> list2 = list(Wrappers.<IsIsolationPoint>lambdaQuery()
+                .eq(IsIsolationPoint::getPointNfc, isIsolationPoint.getPointNfc())
+                .ne(IsIsolationPoint::getPointId, isIsolationPoint.getPointId()));
+        Assert.isTrue(list2.isEmpty(), "该NFC已被使用!");
+        List<IsIsolationPoint> list3 = list(Wrappers.<IsIsolationPoint>lambdaQuery()
                 .eq(IsIsolationPoint::getPointCode, isIsolationPoint.getPointCode())
                 .ne(IsIsolationPoint::getPointId, isIsolationPoint.getPointId()));
-        Assert.isTrue(list.isEmpty(), "该隔离点编号已被使用!");*/
+        Assert.isTrue(list3.isEmpty(), "该编号已被使用!");
         isIsolationPoint.setUpdateTime(DateUtils.getNowDate());
         return isIsolationPointMapper.updateIsIsolationPoint(isIsolationPoint);
     }
@@ -121,8 +135,8 @@ public class IsIsolationPointServiceImpl extends ServiceImpl<IsIsolationPointMap
         if (!sopPoints.isEmpty()) {
             List<Long> usedPointIds = sopPoints.stream().map(IsSopPoints::getPointId).collect(Collectors.toList());
             List<IsIsolationPoint> isIsolationPoints = listByIds(usedPointIds);
-            List<String> usedPoindNames = isIsolationPoints.stream().map(IsIsolationPoint::getPointName).collect(Collectors.toList());
-            Assert.isTrue(false, usedPoindNames + "点位正在被sop使用,无法删除!");
+            List<String> usedPointNames = isIsolationPoints.stream().map(IsIsolationPoint::getPointName).collect(Collectors.toList());
+            Assert.isTrue(false, usedPointNames + "点位正在被sop使用,无法删除!");
         }
     }
 

+ 14 - 0
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/IsMailNotifyConfigServiceImpl.java

@@ -1,5 +1,7 @@
 package com.ktg.iscs.service.impl;
 
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ktg.iscs.domain.IsMailNotifyConfig;
@@ -25,4 +27,16 @@ public class IsMailNotifyConfigServiceImpl extends ServiceImpl<IsMailNotifyConfi
         return isMailNotifyConfigMapper.getIsMailNotifyConfigPage(page, isMailNotifyConfig);
     }
 
+    @Override
+    public Boolean updateAutomaticConfig(IsMailNotifyConfig isMailNotifyConfig) {
+        Assert.notBlank(isMailNotifyConfig.getTemplateCode(), "模板code不能为空!");
+        update(Wrappers.<IsMailNotifyConfig>lambdaUpdate()
+                .eq(IsMailNotifyConfig::getTemplateCode, isMailNotifyConfig.getTemplateCode())
+                .set(IsMailNotifyConfig::getPlanFrequency, isMailNotifyConfig.getPlanFrequency())
+                .set(IsMailNotifyConfig::getPlanDate, isMailNotifyConfig.getPlanDate())
+                .set(IsMailNotifyConfig::getStartStatus, isMailNotifyConfig.getStartStatus())
+                .set(IsMailNotifyConfig::getCheckUserId, isMailNotifyConfig.getCheckUserId()));
+        return true;
+    }
+
 }

+ 1 - 0
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/IsMaterialsCheckRecordServiceImpl.java

@@ -63,6 +63,7 @@ public class IsMaterialsCheckRecordServiceImpl extends ServiceImpl<IsMaterialsCh
             for (IsMaterialsCheckRecord isMaterialsCheckRecord : dto.getList()) {
                 Assert.notNull(isMaterialsCheckRecord.getPlanId(), "计划id不能为空!");
                 Assert.notNull(isMaterialsCheckRecord.getMaterialsId(), "物资id不能为空!");
+                isMaterialsCheckRecord.setCheckDate(new Date());
                 save(isMaterialsCheckRecord);
                 // 2.开始更新物资本身状态
                 if ("1".equals(isMaterialsCheckRecord.getStatus()) && StringUtils.isNotBlank(isMaterialsCheckRecord.getReason())) {

+ 11 - 6
ktg-quartz/src/main/java/com/ktg/quartz/task/CheckPlanTask.java

@@ -4,9 +4,11 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.ktg.common.utils.DateUtils;
 import com.ktg.common.utils.StringUtils;
 import com.ktg.iscs.domain.IsMailNotifyConfig;
+import com.ktg.iscs.domain.IsMaterialsCabinet;
 import com.ktg.iscs.domain.IsMaterialsCheckPlan;
 import com.ktg.iscs.domain.dto.checkPlan.AddCheckPlanDTO;
 import com.ktg.iscs.service.IIsMailNotifyConfigService;
+import com.ktg.iscs.service.IIsMaterialsCabinetService;
 import com.ktg.iscs.service.IIsMaterialsCheckPlanService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -14,7 +16,6 @@ import org.springframework.stereotype.Component;
 
 import java.time.LocalDate;
 import java.time.YearMonth;
-import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -31,6 +32,8 @@ public class CheckPlanTask {
     private IIsMailNotifyConfigService isMailNotifyConfigService;
     @Autowired
     private IIsMaterialsCheckPlanService iIsMaterialsCheckPlanService;
+    @Autowired
+    private IIsMaterialsCabinetService iIsMaterialsCabinetService;
 
 
     public void addCheckPlan(String templateCode) {
@@ -39,7 +42,7 @@ public class CheckPlanTask {
             IsMailNotifyConfig notifyConfig = isMailNotifyConfigService.getOne(Wrappers.<IsMailNotifyConfig>lambdaQuery()
                     .eq(IsMailNotifyConfig::getTemplateCode, templateCode));
             // 2.如果检查计划存在
-            if (notifyConfig != null) {
+            if (notifyConfig != null && "1".equals(notifyConfig.getStartStatus()) && "1".equals(notifyConfig.getStatus())) {
                 // 3.获取当前设定的检查参数(频率&日期)
                 String planFrequency = notifyConfig.getPlanFrequency();
                 String planDate = notifyConfig.getPlanDate();
@@ -75,10 +78,12 @@ public class CheckPlanTask {
             addCheckPlanDTO.setWorkstationId(null);
             addCheckPlanDTO.setPlanDate(DateUtils.toDate(LocalDate.parse(planDate)));
             addCheckPlanDTO.setCheckUserId(notifyConfig.getCheckUserId());
-            addCheckPlanDTO.setCabinetIds(Arrays.stream(notifyConfig.getCabinetIds().split(","))
-                    .map(Long::parseLong)
-                    .collect(Collectors.toList()));
-            iIsMaterialsCheckPlanService.insertIsMaterialsCheckPlan(addCheckPlanDTO);
+            List<IsMaterialsCabinet> cabinets = iIsMaterialsCabinetService.list();
+            if (!cabinets.isEmpty()) {
+                List<Long> cabinetIds = cabinets.stream().map(IsMaterialsCabinet::getCabinetId).collect(Collectors.toList());
+                addCheckPlanDTO.setCabinetIds(cabinetIds);
+                iIsMaterialsCheckPlanService.insertIsMaterialsCheckPlan(addCheckPlanDTO);
+            }
         }
     }