|
@@ -163,6 +163,12 @@ public class OrderServiceImpl extends SuperServiceImpl<OrderMapper, Order> imple
|
|
|
@Autowired
|
|
|
private MsgUtil msgUtil;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private TaskNodeMapper taskNodeMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private WorkpieceService workpieceService;
|
|
|
+
|
|
|
@Override
|
|
|
public IPage<Order> pageList(IPage page,String sustDesc, LbqWrapper<Order> wrapper) {
|
|
|
return baseMapper.pageList(page,sustDesc, wrapper, new DataScope());
|
|
@@ -789,10 +795,48 @@ public class OrderServiceImpl extends SuperServiceImpl<OrderMapper, Order> imple
|
|
|
public R orderEnable(Order model){
|
|
|
R r = reschedulingPlanTasks();
|
|
|
if(r.getIsSuccess()){
|
|
|
- // 默认只有一键生产过后的订单可以暂停和启用,未一键生产过的订单无需暂停和启用,启用是找出所有的所有未加工的工件重新排序
|
|
|
+// 默认只有一键生产过后的订单可以暂停和启用,未一键生产过的订单无需暂停和启用,启用是找出所有的所有未加工的工件重新排序
|
|
|
model.setProduceStatus("2");
|
|
|
planMapper.updatePlanProduceStatus(model);
|
|
|
|
|
|
+ List<TWorkpiece> workpieceList = workpieceService.list(Wraps.<TWorkpiece>lbQ().eq(TWorkpiece::getIsEnd, "0").in(TWorkpiece::getPlanId,model.getId()));
|
|
|
+
|
|
|
+ // end modify by yejian on 20220524 for 模式切换工件查找还需判断订单是否在生产中,如果非生产中不能推送消息
|
|
|
+
|
|
|
+ if(CollectionUtil.isNotEmpty(workpieceList)){
|
|
|
+ workpieceList.stream().map((t) -> {
|
|
|
+ // 生产计划重新启用
|
|
|
+
|
|
|
+ JSONObject jsonObject = new JSONObject();
|
|
|
+ List<TaskNode> taskNodeList = taskNodeMapper.selectList(Wraps.<TaskNode>lbQ().eq(TaskNode::getCompleteBatchNo, t.getCompleteBatchNo()).eq(TaskNode::getExeStatus,"1").orderByAsc(TaskNode::getCompleteBatchSort));
|
|
|
+ if(CollectionUtil.isNotEmpty(taskNodeList)){
|
|
|
+ TaskNode taskNode = taskNodeList.get(0);
|
|
|
+ // begin add by yejian on 20220915 for 判断当前节点是否是是否是工序的第一个节点,如果是推送,如果不是不推送
|
|
|
+ TaskNode beforTaskNode = taskNodeMapper.selectOne(Wraps.<TaskNode>lbQ().eq(TaskNode::getCompleteBatchNo, taskNode.getCompleteBatchNo()).eq(TaskNode::getCompleteBatchSort,taskNode.getCompleteBatchSort() -1));
|
|
|
+ if(null != beforTaskNode){
|
|
|
+ // 非第一个节点
|
|
|
+ if(!beforTaskNode.getProcedureId().equals(taskNode.getProcedureId())){
|
|
|
+ jsonObject.put("taskNodeId",taskNode.getId().toString());
|
|
|
+ jsonObject.put("bizType", BizConstant.MQ_TASK_NODE_TYPE_COMMON);
|
|
|
+ System.err.println("计划暂停启用===========推送mq队列{}消息{}"+jsonObject.toString());
|
|
|
+ log.info("推送mq队列{}消息{}",taskNode.getResourceId().toString(),jsonObject.toString());
|
|
|
+ dynamicRabbitMq.sendMsg(taskNode.getResourceId().toString(),jsonObject.toString());
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ jsonObject.put("taskNodeId",taskNode.getId().toString());
|
|
|
+ jsonObject.put("bizType", BizConstant.MQ_TASK_NODE_TYPE_COMMON);
|
|
|
+ System.err.println("计划暂停启用===========推送mq队列{}消息{}"+jsonObject.toString());
|
|
|
+ log.info("推送mq队列{}消息{}",taskNode.getResourceId().toString(),jsonObject.toString());
|
|
|
+ dynamicRabbitMq.sendMsg(taskNode.getResourceId().toString(),jsonObject.toString());
|
|
|
+ }
|
|
|
+ // end add by yejian on 20220915 for 判断当前节点是否是是否是工序的第一个节点,如果是推送,如果不是不推送
|
|
|
+ }
|
|
|
+ t.setExchangeProcedureId(t.getProcedureId());
|
|
|
+ t.setExchangeZoneFlag("1");
|
|
|
+ return t;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+
|
|
|
return R.success();
|
|
|
}else{
|
|
|
return r;
|