lipenghui 4 месяцев назад
Родитель
Сommit
b69364cd1b

+ 11 - 0
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/message/BpmMessageServiceImpl.java

@@ -8,10 +8,13 @@ import cn.iocoder.yudao.module.bpm.service.message.dto.BpmMessageSendWhenProcess
 import cn.iocoder.yudao.module.bpm.service.message.dto.BpmMessageSendWhenTaskCreatedReqDTO;
 import cn.iocoder.yudao.module.bpm.service.message.dto.BpmMessageSendWhenTaskTimeoutReqDTO;
 import cn.iocoder.yudao.module.system.api.dingtalk.DingtalkSendApi;
+import cn.iocoder.yudao.module.system.api.notify.NotifyMessageSendApi;
+import cn.iocoder.yudao.module.system.api.notify.dto.NotifySendSingleToUserReqDTO;
 import cn.iocoder.yudao.module.system.api.sms.SmsSendApi;
 import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 
@@ -41,6 +44,8 @@ public class BpmMessageServiceImpl implements BpmMessageService {
 
     @Resource
     private WebProperties webProperties;
+    @Autowired
+    private NotifyMessageSendApi notifyMessageSendApi;
 
     @Override
     public void sendMessageWhenProcessInstanceApprove(BpmMessageSendWhenProcessInstanceApproveReqDTO reqDTO) {
@@ -77,6 +82,12 @@ public class BpmMessageServiceImpl implements BpmMessageService {
         // SupplierDO supplier = supplierService.getByBpmProcessId(reqDTO.getProcessInstanceId());
         // String msg = "【DeepOil】供应商审核流程"+"-"+supplier.getCode()+"-"+supplier.getName()+",请前往 http://1.94.244.160:91/ 处理。"+"["+new Date()+"]";
         String msg = "【DeepOil】供应商审核流程 - 有新的供应商信息需要审核"+",请前往 http://1.94.244.160:91/ 处理。"+"["+new Date()+"]";
+        if ("故障上报流程".equals(reqDTO.getProcessInstanceName())){
+            String templateCode = "failure-report";
+            notifyMessageSendApi.sendSingleMessageToAdmin(new NotifySendSingleToUserReqDTO()
+                    .setUserId(reqDTO.getAssigneeUserId()).setTemplateCode(templateCode).setTemplateParams(templateParams));
+            msg = "【PMS】故障上报流程 - 有新的故障上报需要审核"+",请前往 http://1.94.244.160:70/ 进行处理。"+"["+new Date()+"]";
+        }
         dingtalkSendApi.send(user.getMobile(), msg);
     }
 

+ 8 - 4
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/failure/IotFailureReportServiceImpl.java

@@ -17,6 +17,8 @@ import cn.iocoder.yudao.module.pms.dal.mysql.IotDeviceMapper;
 import cn.iocoder.yudao.module.pms.dal.mysql.failure.IotFailureReportMapper;
 import cn.iocoder.yudao.module.pms.dal.mysql.maintain.IotMaintainMapper;
 import cn.iocoder.yudao.module.pms.enums.common.FailureAuditStatusEnum;
+import cn.iocoder.yudao.module.system.api.dept.DeptApi;
+import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
 import cn.iocoder.yudao.module.system.api.dingtalk.DingtalkSendApi;
 import cn.iocoder.yudao.module.system.api.notify.NotifyMessageSendApi;
 import cn.iocoder.yudao.module.system.api.notify.dto.NotifySendSingleToUserReqDTO;
@@ -62,6 +64,8 @@ public class IotFailureReportServiceImpl implements IotFailureReportService {
     private BpmProcessInstanceApi processInstanceApi;
     @Autowired
     private IotMaintainMapper iotMaintainMapper;
+    @Autowired
+    private DeptApi deptApi;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -118,7 +122,7 @@ public class IotFailureReportServiceImpl implements IotFailureReportService {
             iotFailureReportMapper.insert(iotFailureReport);
             //直接发起流程
             submitForApproval(iotFailureReport.getId());
-            sendMessage(iotFailureReport);
+            //sendMessage(iotFailureReport);
         }
         // 返回
         return iotFailureReport.getId();
@@ -127,7 +131,7 @@ public class IotFailureReportServiceImpl implements IotFailureReportService {
     private void sendMessage(IotFailureReportDO iotFailureReport) {
         Long loginUserDeptId = SecurityFrameworkUtils.getLoginUserDeptId();
         DeptDO dept = deptService.getDept(loginUserDeptId);
-        DeptDO parentDept = deptService.getDept(dept.getParentId());
+        DeptRespDTO parentDept = deptApi.getDeptNoPermission(dept.getParentId());
         String templateCode = "failure-report"; // 站内信模版,记得在【站内信管理】中配置噢
         Map<String, Object> templateParams = new HashMap<>();
         templateParams.put("name", iotFailureReport.getDeviceName());
@@ -137,7 +141,7 @@ public class IotFailureReportServiceImpl implements IotFailureReportService {
                 notifyMessageSendApi.sendSingleMessageToAdmin(new NotifySendSingleToUserReqDTO()
                         .setUserId(parentDept.getLeaderUserId()).setTemplateCode(templateCode).setTemplateParams(templateParams));
                 String msg = "【PMS】故障上报 - "+iotFailureReport.getFailureName()+"故障已解决。"+"["+new Date()+"]";
-                AdminUserRespDTO user = adminUserApi.getUser(parentDept.getParentId());
+                AdminUserRespDTO user = adminUserApi.getUser(parentDept.getLeaderUserId());
                 if (Objects.nonNull(user)) {
                     dingtalkSendApi.send(user.getMobile(), msg);
                 }
@@ -153,7 +157,7 @@ public class IotFailureReportServiceImpl implements IotFailureReportService {
         reportDO.setAssigneeUserId(processVO.getAssigneeUserId());
         reportDO.setType(processVO.getType());
         iotFailureReportMapper.insertOrUpdate(reportDO);
-        sendMessage(reportDO);
+        //sendMessage(reportDO);
         return reportDO.getId();
     }
 

+ 7 - 7
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/maintain/IotMaintainServiceImpl.java

@@ -108,9 +108,10 @@ public class IotMaintainServiceImpl implements IotMaintainService {
         }).collect(Collectors.toList());
         iotMaintainMaterialMapper.insertBatch(collect);
         //本地库存减少且记录出库
-//        if ("finished".equals(createReqVO.getMaintain().getStatus())&&"in".equals(createReqVO.getMaintain().getType())) {
-            localStockAndOut(createReqVO);
-//        }
+        localStockAndOut(createReqVO);
+        if ("in".equals(createReqVO.getMaintain().getType())) {
+            sendMessage(BeanUtils.toBean(iotMaintain, IotMaintainDO.class));
+        }
         //如果委外发起流程
         if ("out".equals(createReqVO.getMaintain().getType())){
             String processInstanceId = processInstanceApi.createProcessInstance(SecurityFrameworkUtils.getLoginUserId(),
@@ -143,6 +144,9 @@ public class IotMaintainServiceImpl implements IotMaintainService {
         iotMaintainMaterialMapper.insertBatch(collect);
         //本地库存减少且记录出库
         localStockAndOut(updateReqVO);
+        if ("in".equals(updateReqVO.getMaintain().getType())) {
+            sendMessage(BeanUtils.toBean(updateReqVO, IotMaintainDO.class));
+        }
         //委外发起流程
         if ("out".equals(updateReqVO.getMaintain().getType())){
             submitForApproval(updateReqVO.getMaintain().getId());
@@ -197,10 +201,6 @@ public class IotMaintainServiceImpl implements IotMaintainService {
                 iotFailureReportMapper.updateById(iotFailureReportDO);
             }
         }
-        //异步发送消息
-//        CompletableFuture.runAsync(()->{
-            sendMessage(BeanUtils.toBean(iotMaintain, IotMaintainDO.class));
-//        });
     }