|
@@ -3,9 +3,12 @@ package com.fjhx.mes.service.work.impl;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
|
|
+import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.fjhx.common.constant.SourceConstant;
|
|
|
+import com.fjhx.common.enums.PushBusinessTypeEnum;
|
|
|
import com.fjhx.item.entity.product.po.ProductInfo;
|
|
|
import com.fjhx.item.service.product.ProductInfoService;
|
|
|
import com.fjhx.mes.entity.bom.po.BomDetail;
|
|
@@ -31,12 +34,15 @@ import com.fjhx.mes.service.work.WorkOrderService;
|
|
|
import com.fjhx.mes.utils.code.CodeEnum;
|
|
|
import com.fjhx.sale.entity.contract.po.ContractProduct;
|
|
|
import com.fjhx.sale.service.contract.ContractProductService;
|
|
|
+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.StockFrozen;
|
|
|
import com.fjhx.wms.service.stock.StockFrozenService;
|
|
|
import com.fjhx.wms.service.stock.StockService;
|
|
|
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.Service;
|
|
|
|
|
@@ -83,6 +89,8 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
|
|
|
private ProductionProcessesService productionProcessesService;
|
|
|
@Autowired
|
|
|
private WorkOrderProductionProcessesService workOrderProductionProcessesService;
|
|
|
+ @Autowired
|
|
|
+ private ISysUserService userService;
|
|
|
|
|
|
@Override
|
|
|
public Page<WorkOrderVo> getPage(WorkOrderSelectDto dto) {
|
|
@@ -311,4 +319,28 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 检查定制工单BOM 工艺配置状态 如果配置完成则发送消息
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void checkCustomizedInfo(Long workOrderId){
|
|
|
+ WorkOrder workOrder1 = this.getById(workOrderId);
|
|
|
+ if(Objects.equals(workOrder1.getBomStatus(),1)&&Objects.equals(workOrder1.getTechnologyStatus(),1)){
|
|
|
+ //推送消息给生产计划下发的负责人
|
|
|
+ sendPlanInfo();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 给下发生产计划的人发消息
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void sendPlanInfo(){
|
|
|
+ DynamicDataSourceContextHolder.push(SourceConstant.BASE);
|
|
|
+ List<Long> userIds = userService.getUserIdsByRoleKey("admin");
|
|
|
+ DynamicDataSourceContextHolder.poll();
|
|
|
+ WebSocketPush.byUsers(PushTypeEnum.MESSAGE, userIds, "您有新的工单待下发!", PushBusinessTypeEnum.NEW_WORK_ORDER.getType());
|
|
|
+ }
|
|
|
+
|
|
|
}
|