xiongchao 3 жил өмнө
parent
commit
c7ade62691

+ 27 - 0
platform-rest/src/main/java/com/platform/rest/controller/mobile/IgnoreController.java

@@ -1,21 +1,28 @@
 package com.platform.rest.controller.mobile;
 
 import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.common.model.UserInfo;
 import com.platform.common.util.BeanConverterUtil;
 import com.platform.common.util.R;
+import com.platform.common.util.SecurityUtils;
 import com.platform.common.validation.group.AddGroup;
 import com.platform.common.validation.group.UpdateGroup;
 import com.platform.dao.dto.repair.RepairApplicationFormDTO;
 import com.platform.dao.dto.sb.SbInfoDTO;
 import com.platform.dao.entity.sb.SbInfo;
+import com.platform.dao.enums.CheckJobStatusEnum;
+import com.platform.dao.enums.CheckStandardTypeEnum;
+import com.platform.dao.enums.RepairApplicationFormStatusEnum;
 import com.platform.dao.util.ExcelUtil;
 import com.platform.dao.util.TreeUtil;
 import com.platform.dao.vo.export.sb.ExportSbInfoMeasureVO;
 import com.platform.dao.vo.export.sb.ExportSbInfoVO;
+import com.platform.dao.vo.index.GatherTaskVO;
 import com.platform.dao.vo.sb.SbInfoVO;
 import com.platform.office.poi.excel.ExcelImportUtil;
 import com.platform.office.poi.excel.entity.ImportParams;
 import com.platform.rest.log.annotation.SysLog;
+import com.platform.service.check.CheckJobService;
 import com.platform.service.repair.RepairApplicationFormService;
 import com.platform.service.sb.SbInfoService;
 import lombok.AllArgsConstructor;
@@ -27,6 +34,7 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.servlet.http.HttpServletResponse;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
@@ -43,6 +51,8 @@ public class IgnoreController {
 
     private final SbInfoService sbInfoService;
     private final RepairApplicationFormService repairApplicationFormService;
+    private final CheckJobService checkJobService;
+
     /**
      * 通过id查询单条记录
      *
@@ -66,4 +76,21 @@ public class IgnoreController {
         return new R<>(repairApplicationFormService.saveModelByDTO(repairApplicationFormDTO));
     }
 
+    /**
+     * 统计设备相关的任务
+     * 保养任务
+     * 维修任务
+     *
+     * @return R
+     */
+    @GetMapping("/sb/task/{sbId}")
+    public R getSbTaskUser(@PathVariable("sbId") String sbId) {
+        // 保养任务:根据类型查询,1:设备的、设备使用人的,2:设备维修人的任务
+        int lubricationTask = checkJobService.countSbTask(sbId, CheckStandardTypeEnum.POLLING.getValue(), CheckJobStatusEnum.NOT_EXECUTE.getValue(),1);
+
+        // 维修任务:所有的
+        int repairTask = repairApplicationFormService.countSbTask(sbId, new ArrayList<Integer>());
+        return R.success(new GatherTaskVO().setLubricationTask(lubricationTask).setRepairTask(repairTask));
+    }
+
 }

+ 11 - 0
platform-service/src/main/java/com/platform/service/check/CheckJobService.java

@@ -94,6 +94,17 @@ public interface CheckJobService extends IBaseService<CheckJob, CheckJobDTO> {
      */
     int countUserTask(String userId, Integer type);
 
+    /**
+     * 统计设备任务数量,根据状态来统计
+     *
+     * @param sbId :
+     * @param type   :
+     *  @param status   :
+     *  @param searchType   :1:使用人员,2维修人员,3全部任务
+     * @return :
+     */
+    int countSbTask(String sbId, Integer type, Integer status, Integer searchType);
+
     void executeJobBatch(List<String> ids);
 
     void finishJobBatch(List<String> ids);

+ 22 - 1
platform-service/src/main/java/com/platform/service/check/impl/CheckJobServiceImpl.java

@@ -745,8 +745,29 @@ public class CheckJobServiceImpl extends BaseServiceImpl<CheckJobMapper, CheckJo
         return mapper.selectCountByExample(weekend);
     }
 
-    private void saveFile(CheckJobDTO model) {
+    @Override
+    public int countSbTask(String sbId, Integer type, Integer status, Integer searchType) {
+        Weekend<CheckJob> weekend = new Weekend<>(CheckJob.class);
+        WeekendCriteria<CheckJob, Object> weekendCriteria = weekend.weekendCriteria();
+        weekendCriteria.andEqualTo(CheckJob::getSbId, sbId);
+        weekendCriteria.andEqualTo(CheckJob::getType, type);
+        if(searchType != null) {
+            SbInfo sbInfo = sbInfoService.getModelById(sbId);
+            if (searchType == 1) {
+                weekendCriteria.andEqualTo(CheckJob::getCheckUserId, sbInfo.getSaveUser());
+            } else if (searchType == 2) {
+                weekendCriteria.andEqualTo(CheckJob::getCheckUserId, sbInfo.getRepairUser());
+            } else {
 
+            }
+        }
+        if(status !=null){
+            weekendCriteria.andEqualTo(CheckJob::getStatus, status);
+        }
+        return mapper.selectCountByExample(weekend);
+    }
+
+    private void saveFile(CheckJobDTO model) {
         List<SysFile> repairFileList = model.getImgList();
         List<SysFile> list = ListUtils.newArrayList();
         if (CollectionUtil.isNotEmpty(repairFileList)) {

+ 9 - 0
platform-service/src/main/java/com/platform/service/repair/RepairApplicationFormService.java

@@ -90,6 +90,15 @@ public interface RepairApplicationFormService extends IBaseService<RepairApplica
      */
     int countUserTask(String userId);
 
+    /**
+     * 统计设备维修单
+     *
+     * @param status :
+     * @param status :
+     * @return :
+     */
+    int countSbTask(String sbId, List<Integer> status);
+
     /**
      * 自动分配任务
      */

+ 10 - 0
platform-service/src/main/java/com/platform/service/repair/impl/RepairApplicationFormServiceImpl.java

@@ -647,6 +647,16 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
         return mapper.selectCountByExample(weekend);
     }
 
+    @Override
+    public int countSbTask(String sbId, List<Integer> status) {
+        Weekend<RepairApplicationForm> weekend = new Weekend<>(RepairApplicationForm.class);
+        weekend.weekendCriteria().andEqualTo(RepairApplicationForm::getSbId, sbId);
+        if(CollectionUtil.isNotEmpty(status) && status.size()>0){
+            weekend.weekendCriteria().andIn(RepairApplicationForm::getStatus, status);
+        }
+        return mapper.selectCountByExample(weekend);
+    }
+
     @Override
     public void autoAssignTaskForTimer() {
         LocalDateTime minutesAgo = DateUtils.minus(LocalDateTime.now(), 10, ChronoUnit.MINUTES);