Bladeren bron

设备子系统———润滑任务发送消息代码调整

zhoudazhuang 1 jaar geleden
bovenliggende
commit
74f90e69ed

+ 8 - 0
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/EquipmentSendNotifyService.java

@@ -4,6 +4,7 @@ import com.rongwei.bsentity.domain.EquLubricationTaskManagementDo;
 import com.rongwei.rwcommon.base.R;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author shangmi
@@ -40,4 +41,11 @@ public interface EquipmentSendNotifyService {
      * @return
      */
     R sendLubricationTaskNotify(List<EquLubricationTaskManagementDo> equLubricationTaskManagementDos);
+
+    /**
+     * 润滑任务发送消息提醒
+     * @param parameter
+     * @return
+     */
+    R sendLubricationTaskNotifyByIds(Map<String, Object> parameter);
 }

+ 17 - 8
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/impl/EquLubricationPlanServiceImpl.java

@@ -14,9 +14,11 @@ import com.rongwei.bscommon.sys.service.EquipmentSendNotifyService;
 import com.rongwei.bscommon.sys.utils.ExceptionUtils;
 import com.rongwei.bsentity.domain.*;
 import com.rongwei.rwadmincommon.system.domain.SysDictDo;
+import com.rongwei.rwadmincommon.system.service.SysDictService;
 import com.rongwei.rwcommon.base.BaseDo;
 import com.rongwei.rwcommon.base.R;
 import com.rongwei.rwcommon.utils.SecurityUtil;
+import com.rongwei.rwcommon.utils.StringUtils;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -26,7 +28,6 @@ import org.springframework.stereotype.Service;
 import javax.servlet.http.HttpServletResponse;
 import java.util.*;
 import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 import static com.rongwei.safecommon.utils.CXCommonUtils.streamCodeGeneration;
 
@@ -61,6 +62,8 @@ public class EquLubricationPlanServiceImpl extends ServiceImpl<EquLubricationPla
     private EquLubricationTaskDetailServiceImpl equLubricationTaskDetailService;
     @Autowired
     private EquipmentSendNotifyService equipmentSendNotifyService;
+    @Autowired
+    private SysDictService sysDictService;
 
     /**
      * 启用
@@ -111,6 +114,8 @@ public class EquLubricationPlanServiceImpl extends ServiceImpl<EquLubricationPla
         log.info("开始导出润滑明细");
         String tenantId = parameter.get("userTopOrg").toString();
         List<EquLubricationPlanDetailVo> planDetailList = equLubricationPlanDetailService.queryAllDetailList(tenantId);
+        List<SysDictDo> isEnableType = sysDictService.getDictsByType("lubricationIsEnable");
+        List<SysDictDo> frequencyByType = sysDictService.getDictsByType("lubricationFrequency");
         try {
             response.setContentType("application/octet-stream");
             // 读取模板文件
@@ -118,13 +123,17 @@ public class EquLubricationPlanServiceImpl extends ServiceImpl<EquLubricationPla
             Map<String, Object> dataMap = new HashMap<>(16);
             List<Map<String,Object>> dataList = new ArrayList<>();
             for (EquLubricationPlanDetailVo equLubricationPlanDetailVo : planDetailList) {
-                SysDictDo sysDictDo = commonDao.getDictNameByValueAndType(equLubricationPlanDetailVo.getEnablestatus(),"lubricationIsEnable");
-                if (sysDictDo!= null){
-                    equLubricationPlanDetailVo.setEnablestatus(sysDictDo.getName());
+                String isEnable = "";
+                if (StringUtils.isNotBlank(equLubricationPlanDetailVo.getEnablestatus())) {
+                    isEnable = isEnableType.stream().filter(dictDo -> equLubricationPlanDetailVo.getEnablestatus().contains(dictDo.getValue()))
+                            .map(SysDictDo::getName).collect(Collectors.joining(","));
+                    equLubricationPlanDetailVo.setEnablestatus(isEnable);
                 }
-                SysDictDo dictDo = commonDao.getDictNameByValueAndType(equLubricationPlanDetailVo.getFrequency(),"lubricationFrequency");
-                if (dictDo!= null){
-                    equLubricationPlanDetailVo.setFrequency(dictDo.getName());
+                String frequency = "";
+                if (StringUtils.isNotBlank(equLubricationPlanDetailVo.getFrequency())) {
+                    frequency = frequencyByType.stream().filter(dictDo -> equLubricationPlanDetailVo.getFrequency().contains(dictDo.getValue()))
+                            .map(SysDictDo::getName).collect(Collectors.joining(","));
+                    equLubricationPlanDetailVo.setFrequency(frequency);
                 }
                 dataList.add(JSONObject.parseObject(JSONObject.toJSONString(equLubricationPlanDetailVo), Map.class));
             }
@@ -224,7 +233,7 @@ public class EquLubricationPlanServiceImpl extends ServiceImpl<EquLubricationPla
         equLubricationTaskManagementService.saveBatch(taskList, 50);
         equLubricationTaskDetailService.saveBatch(taskDetailList, 50);
         // 发送消息提醒
-        equipmentSendNotifyService.sendLubricationTaskNotify(taskList);
+//        equipmentSendNotifyService.sendLubricationTaskNotify(taskList);
     }
 
     /**

+ 24 - 11
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/impl/EquLubricationTaskManagementServiceImpl.java

@@ -8,13 +8,13 @@ import com.rongwei.bscommon.sys.dao.CommonDao;
 import com.rongwei.bscommon.sys.dao.EquLubricationTaskManagementMapperDao;
 import com.rongwei.bscommon.sys.service.EquLubricationTaskDetailService;
 import com.rongwei.bscommon.sys.service.EquLubricationTaskManagementService;
-import com.rongwei.bscommon.sys.utils.CommonUtils;
 import com.rongwei.bscommon.sys.utils.ExceptionUtils;
 import com.rongwei.bscommon.sys.utils.TimeUtils;
 import com.rongwei.bsentity.domain.EquLubricationTaskDetailVo;
 import com.rongwei.bsentity.domain.EquLubricationTaskManagementDo;
 import com.rongwei.rwadmincommon.system.domain.SysDictDo;
-import com.rongwei.rwadmincommon.system.vo.SysUserVo;
+import com.rongwei.rwadmincommon.system.service.SysDictService;
+import com.rongwei.rwcommon.utils.StringUtils;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -26,6 +26,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -45,11 +46,17 @@ public class EquLubricationTaskManagementServiceImpl extends ServiceImpl<EquLubr
     @Autowired
     private CommonDao commonDao;
 
+    @Autowired
+    private SysDictService sysDictService;
+
     @Override
     public void wordExportLubricationTask(Map<String, Object> parameter, HttpServletResponse response) {
         log.info("开始导出润滑任务明细");
         String tenantId = parameter.get("userTopOrg").toString();
         List<EquLubricationTaskDetailVo> taskDetailVoList = equLubricationTaskDetailService.queryAllTaskDetailList(tenantId);
+        List<SysDictDo> isEnableType = sysDictService.getDictsByType("lubricationIsEnable");
+        List<SysDictDo> frequencyByType = sysDictService.getDictsByType("lubricationFrequency");
+        List<SysDictDo> ynByType = sysDictService.getDictsByType("srm_yn");
         try {
             response.setContentType("application/octet-stream");
             // 读取模板文件
@@ -57,17 +64,23 @@ public class EquLubricationTaskManagementServiceImpl extends ServiceImpl<EquLubr
             Map<String, Object> dataMap = new HashMap<>(16);
             List<Map<String,Object>> dataList = new ArrayList<>();
             for (EquLubricationTaskDetailVo equLubricationTaskDetailVo : taskDetailVoList) {
-                SysDictDo sysDictDo = commonDao.getDictNameByValueAndType(equLubricationTaskDetailVo.getEnablestatus(),"lubricationIsEnable");
-                if (sysDictDo!= null){
-                    equLubricationTaskDetailVo.setEnablestatus(sysDictDo.getName());
+                String frequency = "";
+                if (StringUtils.isNotBlank(equLubricationTaskDetailVo.getFrequency())) {
+                    frequency = frequencyByType.stream().filter(dictDo -> equLubricationTaskDetailVo.getFrequency().contains(dictDo.getValue()))
+                            .map(SysDictDo::getName).collect(Collectors.joining(","));
+                    equLubricationTaskDetailVo.setFrequency(frequency);
                 }
-                SysDictDo dictDo = commonDao.getDictNameByValueAndType(equLubricationTaskDetailVo.getFrequency(),"lubricationFrequency");
-                if (dictDo!= null){
-                    equLubricationTaskDetailVo.setFrequency(dictDo.getName());
+                String yn = "";
+                if (StringUtils.isNotBlank(equLubricationTaskDetailVo.getIslubricationcompleted())) {
+                    yn = ynByType.stream().filter(dictDo -> equLubricationTaskDetailVo.getIslubricationcompleted().contains(dictDo.getValue()))
+                            .map(SysDictDo::getName).collect(Collectors.joining(","));
+                    equLubricationTaskDetailVo.setIslubricationcompleted(yn);
                 }
-                SysDictDo ynDo = commonDao.getDictNameByValueAndType(equLubricationTaskDetailVo.getIslubricationcompleted(),"srm_yn");
-                if (ynDo!= null){
-                    equLubricationTaskDetailVo.setIslubricationcompleted(ynDo.getName());
+                String isEnable = "";
+                if (StringUtils.isNotBlank(equLubricationTaskDetailVo.getEnablestatus())) {
+                    isEnable = isEnableType.stream().filter(dictDo -> equLubricationTaskDetailVo.getEnablestatus().contains(dictDo.getValue()))
+                            .map(SysDictDo::getName).collect(Collectors.joining(","));
+                    equLubricationTaskDetailVo.setEnablestatus(isEnable);
                 }
                 if (equLubricationTaskDetailVo.getCompletedate()!= null){
                     String formatDate = TimeUtils.dateToString(equLubricationTaskDetailVo.getCompletedate(),"yyyy-MM-dd");

+ 17 - 4
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/impl/EquipmentSendNotifyServiceImpl.java

@@ -2,8 +2,10 @@ package com.rongwei.bscommon.sys.service.impl;
 
 import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONUtil;
+import com.rongwei.bscommon.sys.service.EquLubricationTaskManagementService;
 import com.rongwei.bscommon.sys.service.EquMaintenanceTaskService;
 import com.rongwei.bscommon.sys.service.EquipmentSendNotifyService;
+import com.rongwei.bscommon.sys.utils.StringUtil;
 import com.rongwei.bsentity.domain.EquLubricationTaskManagementDo;
 import com.rongwei.bsentity.domain.EquMaintenanceTaskDo;
 import com.rongwei.rwadmincommon.system.domain.SysDictDo;
@@ -16,10 +18,7 @@ import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 import static com.rongwei.safecommon.utils.SaveConstans.NotifyContent.*;
@@ -45,6 +44,9 @@ public class EquipmentSendNotifyServiceImpl implements EquipmentSendNotifyServic
     @Autowired
     private SysDictService sysDictService;
 
+    @Autowired
+    private EquLubricationTaskManagementService equLubricationTaskManagementService;
+
     /**
      * 根据任务ID发送 提醒
      *
@@ -175,5 +177,16 @@ public class EquipmentSendNotifyServiceImpl implements EquipmentSendNotifyServic
         // 发送消息提醒
         return R.ok();
     }
+
+    @Override
+    public R sendLubricationTaskNotifyByIds(Map<String, Object> parameter) {
+        String taskIds = parameter.get("taskIds").toString();
+        if(StringUtils.isNotBlank(taskIds)){
+            String[] idArray = taskIds.split(",");
+            List<EquLubricationTaskManagementDo> equLubricationTaskManagementDos = new ArrayList<>(equLubricationTaskManagementService.listByIds(Arrays.asList(idArray)));
+            sendLubricationTaskNotify(equLubricationTaskManagementDos);
+        }
+        return R.ok();
+    }
 }
 

+ 24 - 0
cx-equipment/cx-equipment-server/src/main/java/com/rongwei/bsserver/sys/controller/EquipmentSendNotifyController.java

@@ -11,6 +11,8 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Map;
+
 /**
  * @author shangmi
  * @title EquipmentSendNotifyController
@@ -72,4 +74,26 @@ public class EquipmentSendNotifyController {
         }
     };
 
+    /**
+     * 根据润滑任务ID发送验收 提醒
+     *
+     * @param parameter 润滑任务ID
+     * @return {@link R}
+     * @date 2024/1/18 17:16
+     * @author shangmi
+     *
+     */
+
+    @RequestMapping("/sendLubricationTaskNotifyByIds")
+    public R sendLubricationTaskNotifyByIds(@RequestBody Map<String, Object> parameter){
+        try {
+            log.info("进入接口:/send-notify/sendLubricationTaskNotifyByIds;入参任务taskIds为:{}",parameter);
+            return sendNotifyService.sendLubricationTaskNotifyByIds(parameter);
+        }catch (Exception e){
+            ExceptionUtils.printExceptionDetail(e,"发送润滑任务消息提醒失败,异常为:");
+            log.info(e.getMessage());
+            return R.error(e.getMessage());
+        }
+    };
+
 }