瀏覽代碼

消息通知修改

yzc 1 年之前
父節點
當前提交
f5f4e4a298

+ 6 - 1
hx-common/src/main/java/com/fjhx/common/enums/PushBusinessTypeEnum.java

@@ -56,7 +56,12 @@ public enum PushBusinessTypeEnum {
     /**
      * 新任务
      */
-    NEW_TASK(10);
+    NEW_TASK(10),
+
+    /**
+     * 新合同
+     */
+    NEW_CONTRACT(11);
 
     private final int type;
 

+ 7 - 27
hx-jxst/src/main/java/com/fjhx/jxst/flow/SalesContractFlow.java

@@ -13,23 +13,13 @@ import com.fjhx.mes.entity.work.dto.WorkOrderDto;
 import com.fjhx.mes.service.work.WorkOrderService;
 import com.fjhx.socket.core.PushTypeEnum;
 import com.fjhx.socket.core.WebSocketPush;
-import com.fjhx.wms.entity.stock.po.Stock;
-import com.fjhx.wms.entity.stock.po.StockWaitDetails;
-import com.fjhx.wms.entity.stock.vo.StockWaitDetailsVo;
 import com.fjhx.wms.service.stock.StockService;
-import com.fjhx.wms.service.stock.StockWaitDetailsService;
-import com.fjhx.wms.service.stock.StockWaitService;
-import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.common.exception.ServiceException;
-import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.system.service.ISysUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.math.BigDecimal;
 import java.util.List;
-import java.util.Objects;
-import java.util.stream.Collectors;
 
 @Component
 public class SalesContractFlow extends FlowDelegate {
@@ -44,6 +34,7 @@ public class SalesContractFlow extends FlowDelegate {
     private ISysUserService userService;
     @Autowired
     private StockService stockService;
+
     @Override
     public String getFlowKey() {
         return "jxst_sales_contract_flow";
@@ -74,7 +65,7 @@ public class SalesContractFlow extends FlowDelegate {
 
             //非定制工单查询库存如果存在库存需要人工干预是否需要生产
             BigDecimal availableStockQuantity = stockService.getAvailableStockQuantity(salesContractDetails.getProductId());
-            if("0".equals(salesContractDetails.getIsCustomized()) && availableStockQuantity.compareTo(BigDecimal.ZERO)>0){
+            if ("0".equals(salesContractDetails.getIsCustomized()) && availableStockQuantity.compareTo(BigDecimal.ZERO) > 0) {
                 workOrder.setProductionQuantity(null);
             }
 
@@ -82,23 +73,12 @@ public class SalesContractFlow extends FlowDelegate {
             workOrderService.add(workOrder);
         }
 
-        long customizedCount = salesContractDetailsList.stream().filter(item -> Objects.equals(item.getIsCustomized(), 0)).count();
-        long noCustomizedCount = salesContractDetailsList.stream().filter(item -> Objects.equals(item.getIsCustomized(), 1)).count();
-
-        //定制工单给配置工单BOM工艺的人发消息
-        if(customizedCount>0){
-            //推送消息给工单配置的负责人
-            DynamicDataSourceContextHolder.push(SourceConstant.BASE);
-            List<Long> userIds = userService.getUserIdsByRoleKey("admin");
-            DynamicDataSourceContextHolder.poll();
-            WebSocketPush.byUsers(PushTypeEnum.MESSAGE, userIds, "您有新的定制工单待配置!", PushBusinessTypeEnum.NEW_WORK_ORDER.getType());
-        }
 
-        //未定制工单直接发消息
-        if(noCustomizedCount>0) {
-            //推送消息给生产计划下发的负责人
-            workOrderService.sendPlanInfo();
-        }
+        //给角色为研发的人发消息
+        DynamicDataSourceContextHolder.push(SourceConstant.BASE);
+        List<Long> userIds = userService.getUserIdsByRoleKey("dev");
+        DynamicDataSourceContextHolder.poll();
+        WebSocketPush.byUsers(PushTypeEnum.MESSAGE, userIds, "您有新的合同待处理", PushBusinessTypeEnum.NEW_CONTRACT.getType());
     }
 
 }

+ 1 - 0
hx-jxst/src/main/resources/mapper/sales/SalesContractMapper.xml

@@ -16,6 +16,7 @@
             sc.update_time,
             sc.contract_amount,
             sc.flow_id,
+            sc.is_settled,
             ( SELECT IFNULL( SUM( cc.contract_money ), 0 ) FROM bytesailing_sale.claim_contract cc WHERE cc.contract_id = sc.id ) AS claimAmount
         from sales_contract sc
             ${ew.customSqlSegment}

+ 1 - 1
hx-mes/src/main/java/com/fjhx/mes/service/production/impl/ProductionPlanServiceImpl.java

@@ -145,7 +145,7 @@ public class ProductionPlanServiceImpl extends ServiceImpl<ProductionPlanMapper,
 
         //推送消息给生产任务下发的负责人
         DynamicDataSourceContextHolder.push(SourceConstant.BASE);
-        List<Long> userIds = userService.getUserIdsByRoleKey("admin");
+        List<Long> userIds = userService.getUserIdsByRoleKey("design");
         DynamicDataSourceContextHolder.poll();
         WebSocketPush.byUsers(PushTypeEnum.MESSAGE, userIds, "您有新的生产计划待下发!", PushBusinessTypeEnum.NEW_PLAN.getType());
     }

+ 15 - 1
hx-mes/src/main/java/com/fjhx/mes/service/work/impl/WorkOrderServiceImpl.java

@@ -343,7 +343,7 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
     @Override
     public void sendPlanInfo() {
         DynamicDataSourceContextHolder.push(SourceConstant.BASE);
-        List<Long> userIds = userService.getUserIdsByRoleKey("admin");
+        List<Long> userIds = userService.getUserIdsByRoleKey("design");
         DynamicDataSourceContextHolder.poll();
         WebSocketPush.byUsers(PushTypeEnum.MESSAGE, userIds, "您有新的工单待下发!", PushBusinessTypeEnum.NEW_WORK_ORDER.getType());
     }
@@ -496,6 +496,20 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
         );
         //修改附件列表
         ObsFileUtil.editFile(dto.getFileList(), dto.getId());
+
+        //发消息
+        if(workOrder.getResearchStatus()==0&&dto.getResearchStatus()==1){
+            if("1".equals(workOrder.getIsCustomized())){
+                //定制工单 推送消息给工单配置的负责人
+                DynamicDataSourceContextHolder.push(SourceConstant.BASE);
+                List<Long> userIds = userService.getUserIdsByRoleKey("design");
+                DynamicDataSourceContextHolder.poll();
+                WebSocketPush.byUsers(PushTypeEnum.MESSAGE, userIds, "您有新的定制工单待配置!", PushBusinessTypeEnum.NEW_WORK_ORDER.getType());
+            }else if("0".equals(workOrder.getIsCustomized())) {
+                //非定制工单 推送消息给生产计划下发的负责人
+                sendPlanInfo();
+            }
+        }
     }
 
 }