xiongchao пре 3 година
родитељ
комит
ce56fe03e2

+ 9 - 1
platform-dao/src/main/java/com/platform/dao/dto/check/CheckJobDTO.java

@@ -92,7 +92,11 @@ public class CheckJobDTO extends BaseDTO implements Serializable {
     /**
      * 设备等级
      */
-    private Integer level;
+    private Integer sbLevel;
+    /**
+     * 保养等级
+     */
+    private Integer standardLevel;
     /**
      * 周期类型
      */
@@ -175,6 +179,10 @@ public class CheckJobDTO extends BaseDTO implements Serializable {
      * 任务状态: 1-未执行 2-执行中 3-已完成 4-已逾期
      */
     private Integer status;
+    /**
+     * 查询状态
+     */
+    private List<Integer> statusList;
     /**
      * 设备状态: 1-正常 2-停机
      */

+ 1 - 1
platform-dao/src/main/java/com/platform/dao/vo/query/check/CheckJobVO.java

@@ -175,7 +175,7 @@ public class CheckJobVO implements Serializable{
     /**
      * 设备等级
      */
-    private Integer level;
+    private Integer sbLevel;
     /**
      * 部件名称
      */

+ 15 - 6
platform-dao/src/main/resources/mapper/check/CheckJobMapper.xml

@@ -143,12 +143,15 @@
         <if test="zbh != null and zbh != ''">
             and sbinfo.zbh = #{zbh}
         </if>
-        <if test="level != null and level != ''">
-            and sbinfo.level = #{level}
+        <if test="sbLevel != null and sbLevel != ''">
+            and sbinfo.level = #{sbLevel}
         </if>
         <if test="periodType != null and periodType != ''">
             and standard.period_type = #{periodType}
         </if>
+        <if test="standardLevel != null and standardLevel != ''">
+            and standard.level = #{standardLevel}
+        </if>
         <if test="checkUserId != null and checkUserId != ''">
             and checkjob.check_user_id = #{checkUserId}
         </if>
@@ -161,6 +164,12 @@
         <if test="searchEndTime != null">
             and checkjob.start_time <![CDATA[ <= ]]> #{searchEndTime}
         </if>
+        <if test="statusList != null and statusList.size > 0">
+            AND checkjob.status in
+            <foreach item="item" index="index" collection="statusList" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="checkUserName != null and checkUserName != ''">
             and u.real_name like concat('%',#{checkUserName},'%')
         </if>
@@ -171,8 +180,8 @@
     <select id="selectList" parameterType="com.platform.dao.dto.check.CheckJobDTO"
             resultType="com.platform.dao.vo.query.check.CheckJobVO">
         select checkjob.*, u.real_name as checkUserName,
-               sbinfo.name sbName, sbinfo.no sbNo, sbinfo.level standardlevel,
-               partinfo.name partName, standard.name standardName,standard.level level,
+               sbinfo.name sbName, sbinfo.no sbNo, sbinfo.level sbLevel,
+               partinfo.name partName, standard.name standardName,standard.level standardLevel,
                standard.period period, standard.period_type periodType
         from t_check_job as checkjob
         left join t_sb_info sbinfo on sbinfo.id = checkjob.sb_id
@@ -209,8 +218,8 @@
 
     <select id="selectDetail" resultType="com.platform.dao.vo.query.check.CheckJobVO">
         select checkjob.*, u.real_name as checkUserName,
-               sbinfo.name sbName, sbinfo.no sbNo,
-               partinfo.name partName,standard.name standardName,
+               sbinfo.name sbName, sbinfo.no sbNo,sbinfo.level sbLevel,
+               partinfo.name partName,standard.name standardName,standard.level standardLevel,
                standard.period period, standard.period_type periodType
         from t_check_job as checkjob
         left join t_sb_info sbinfo on sbinfo.id = checkjob.sb_id

+ 9 - 2
platform-rest/src/main/java/com/platform/rest/controller/check/CheckJobController.java

@@ -1,5 +1,6 @@
 package com.platform.rest.controller.check;
 
+import cn.hutool.core.collection.CollectionUtil;
 import com.platform.common.util.R;
 import com.platform.dao.dto.check.CheckJobDTO;
 import com.platform.dao.dto.sb.SbInfoDTO;
@@ -108,7 +109,10 @@ public class CheckJobController {
    * @return R
    */
   @GetMapping("/page")
-  public R<AbstractPageResultBean<CheckJobVO>> query(CheckJobDTO checkJobDTO, @RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "20") int pageSize) {
+  public R<AbstractPageResultBean<CheckJobVO>> query(CheckJobDTO checkJobDTO, @RequestParam(required = false) List<Integer> statusList, @RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "20") int pageSize) {
+      if(CollectionUtil.isNotEmpty(statusList)){
+        checkJobDTO.setStatusList(statusList);
+      }
       return new R<>(checkJobService.selectPageList(checkJobDTO, pageNum, pageSize));
   }
 
@@ -130,7 +134,10 @@ public class CheckJobController {
    * @return R
    */
   @GetMapping("")
-  public R query(CheckJobDTO checkJobDTO) {
+  public R query(CheckJobDTO checkJobDTO, @RequestParam(required = false) List<Integer> statusList) {
+      if(CollectionUtil.isNotEmpty(statusList)){
+          checkJobDTO.setStatusList(statusList);
+      }
       return new R<>(checkJobService.getModelListByDTO(checkJobDTO));
   }
 

+ 29 - 10
platform-service/src/main/java/com/platform/service/check/impl/CheckJobServiceImpl.java

@@ -657,6 +657,7 @@ public class CheckJobServiceImpl extends BaseServiceImpl<CheckJobMapper, CheckJo
         checkJob.setEndTime(endDate);
     }
     private void calcTime(CheckJob checkJob, LocalDateTime currentDate, CheckStandard checkStandard) {
+        LocalDate startDate = null;
         LocalDate endDate = null;
         //checkJob.setStartTime(currentDate.toLocalDate());
 
@@ -671,22 +672,30 @@ public class CheckJobServiceImpl extends BaseServiceImpl<CheckJobMapper, CheckJo
             localDateTime = vo.getActualEndTime();
         }
         if (CheckPlanPeriodTypeEnum.DAY.getValue().equals(checkStandard.getPeriodType())) {
-            endDate = DateUtils.plus(localDateTime.toLocalDate(), checkStandard.getPeriod(), ChronoUnit.DAYS);
+            startDate = DateUtils.plus(localDateTime.toLocalDate(), checkStandard.getPeriod(), ChronoUnit.DAYS);
+            endDate = DateUtils.plus(localDateTime.toLocalDate(), checkStandard.getPeriod() + 2, ChronoUnit.DAYS);
         }
         if (CheckPlanPeriodTypeEnum.WEEK.getValue().equals(checkStandard.getPeriodType())) {
-            endDate = DateUtils.plus(localDateTime.toLocalDate(), checkStandard.getPeriod() * 7, ChronoUnit.DAYS);
+            startDate = DateUtils.plus(localDateTime.toLocalDate(), checkStandard.getPeriod() * 7, ChronoUnit.DAYS);
+            endDate = DateUtils.plus(localDateTime.toLocalDate(), checkStandard.getPeriod() * 7 + 2, ChronoUnit.DAYS);
+
         }
         if (CheckPlanPeriodTypeEnum.MONTH.getValue().equals(checkStandard.getPeriodType())) {
-            endDate = DateUtils.plus(localDateTime.toLocalDate(), checkStandard.getPeriod(), ChronoUnit.MONTHS);
+            startDate = DateUtils.plus(localDateTime.toLocalDate(), checkStandard.getPeriod(), ChronoUnit.MONTHS);
+            endDate = DateUtils.plus(startDate, 10, ChronoUnit.DAYS);
         }
         if (CheckPlanPeriodTypeEnum.SEASON.getValue().equals(checkStandard.getPeriodType())) {
-            endDate = DateUtils.plus(localDateTime.toLocalDate(), checkStandard.getPeriod() * 3, ChronoUnit.MONTHS);
+            startDate = DateUtils.plus(localDateTime.toLocalDate(), checkStandard.getPeriod() * 3, ChronoUnit.MONTHS);
+            endDate = DateUtils.plus(startDate, 20, ChronoUnit.DAYS);
         }
         if (CheckPlanPeriodTypeEnum.YEAR.getValue().equals(checkStandard.getPeriodType())) {
-            endDate = DateUtils.plus(localDateTime.toLocalDate(), checkStandard.getPeriod(), ChronoUnit.YEARS);
+            startDate = DateUtils.plus(localDateTime.toLocalDate(), checkStandard.getPeriod(), ChronoUnit.YEARS);
+            endDate = DateUtils.plus(startDate, 60, ChronoUnit.DAYS);
         }
+        startDate = DateUtils.plus(endDate, -1, ChronoUnit.DAYS);
         endDate = DateUtils.plus(endDate, -1, ChronoUnit.DAYS);
-        checkJob.setStartTime(endDate);
+        checkJob.setStartTime(startDate);
+        checkJob.setEndTime(endDate);
         checkStandard.setNextDate(endDate);
     }
 
@@ -799,12 +808,22 @@ public class CheckJobServiceImpl extends BaseServiceImpl<CheckJobMapper, CheckJo
 
         // 非台时和公里,则需要生成下一次的任务
         CheckStandard checkStandard = standardMapper.selectByPrimaryKey(checkJob.getStandardId());
-        CheckJob nextCheckJob = BeanConverterUtil.copyObjectProperties(checkJob,CheckJob.class);
+        CheckJob nextCheckJob = new CheckJob();
         if(!CheckPlanPeriodTypeEnum.MILES.getValue().equals(checkStandard.getPeriodType()) && !CheckPlanPeriodTypeEnum.TAISHI.getValue().equals(checkStandard.getPeriodType()) ){
-            nextCheckJob.setId(IdGeneratorUtils.getObjectId());
+            nextCheckJob.setStandardHours(checkStandard.getStandardHours());
             nextCheckJob.setStatus(CheckJobStatusEnum.NOT_EXECUTE.getValue());
-            nextCheckJob.setActualStartTime(null);
-            nextCheckJob.setActualEndTime(null);
+            // 新任务
+            calcTime(nextCheckJob, checkJob.getActualEndTime(), checkStandard);
+            nextCheckJob.setCreatedTime(LocalDateTime.now());
+            nextCheckJob.setSbId(checkStandard.getSbId());
+            nextCheckJob.setCheckUserId(checkJob.getCheckUserId());
+            nextCheckJob.setPartId(checkStandard.getPart());
+            nextCheckJob.setStandardId(checkStandard.getId());
+            nextCheckJob.setType(checkStandard.getType());
+            nextCheckJob.setRequirement(checkStandard.getRequirement());
+            nextCheckJob.setRemark(checkStandard.getRemark());
+            nextCheckJob.setName(checkStandard.getName());
+            nextCheckJob.setId(IdGeneratorUtils.getObjectId());
             calcTime(nextCheckJob,now,checkStandard);
             mapper.insert(nextCheckJob);
         }