|
@@ -3,17 +3,16 @@ package com.github.zuihou.business.productionResourceCenter.service.impl;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.github.zuihou.authority.service.common.DictionaryItemService;
|
|
|
import com.github.zuihou.business.DemoLine.DemoLineConstant;
|
|
|
import com.github.zuihou.business.DemoLine.YunjianConstant;
|
|
|
+import com.github.zuihou.business.operationManagementCenter.dao.PlanMapper;
|
|
|
import com.github.zuihou.business.operationManagementCenter.dao.TTaskMapper;
|
|
|
import com.github.zuihou.business.operationManagementCenter.dao.TaskNodeMapper;
|
|
|
import com.github.zuihou.business.operationManagementCenter.dao.WorkpieceMapper;
|
|
|
-import com.github.zuihou.business.operationManagementCenter.entity.Order;
|
|
|
-import com.github.zuihou.business.operationManagementCenter.entity.TTask;
|
|
|
-import com.github.zuihou.business.operationManagementCenter.entity.TWorkpiece;
|
|
|
-import com.github.zuihou.business.operationManagementCenter.entity.TaskNode;
|
|
|
+import com.github.zuihou.business.operationManagementCenter.entity.*;
|
|
|
import com.github.zuihou.business.operationManagementCenter.service.OrderService;
|
|
|
import com.github.zuihou.business.operationManagementCenter.service.WorkpieceService;
|
|
|
import com.github.zuihou.business.productionReadyCenter.dao.BBomMapper;
|
|
@@ -122,6 +121,9 @@ public class ZZoneServiceImpl extends SuperServiceImpl<ZZoneMapper, ZZone> imple
|
|
|
@Autowired
|
|
|
private ProductionresourceviewMapper productionresourceviewMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private PlanMapper planMapper;
|
|
|
+
|
|
|
@Override
|
|
|
public IPage<ZZone> pageList(IPage page, LbqWrapper<ZZone> wrapper) {
|
|
|
return baseMapper.findPage(page, wrapper, new DataScope());
|
|
@@ -202,46 +204,53 @@ public class ZZoneServiceImpl extends SuperServiceImpl<ZZoneMapper, ZZone> imple
|
|
|
// List<TWorkpiece>workpieceList = workpieceService.list(Wraps.<TWorkpiece>lbQ().eq(TWorkpiece::getIsEnd, "0").in(TWorkpiece::getBomId,bomIdList));
|
|
|
List<Order> orderList = orderService.list(Wraps.<Order>lbQ().eq(Order::getZoneId, data.getId()));
|
|
|
List<Long> orderIds = orderList.stream().map(p -> p.getId()).collect(Collectors.toList());
|
|
|
- List<TWorkpiece> workpieceList = workpieceService.list(Wraps.<TWorkpiece>lbQ().eq(TWorkpiece::getIsEnd, "0").in(TWorkpiece::getOrderId,orderIds));
|
|
|
-
|
|
|
- // end modify by yejian on 20220524 for 模式切换工件查找还需判断订单是否在生产中,如果非生产中不能推送消息
|
|
|
-
|
|
|
- if(CollectionUtil.isNotEmpty(workpieceList)){
|
|
|
- workpieceList.stream().map((t) -> {
|
|
|
- //由手动切换自动,会唤起自动
|
|
|
- if("2".equals(oriRunMode)) {
|
|
|
- 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 20220524 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())){
|
|
|
+
|
|
|
+ List<Plan> plans = planMapper.selectList(Wraps.<Plan>lbQ().eq(Plan::getPlanStatus, "2").eq(Plan::getProduceStatus,"2").in(Plan::getOrderId,orderIds));
|
|
|
+
|
|
|
+ if(plans.size() > 0){
|
|
|
+ List<Long> planIds = plans.stream().map(p -> p.getId()).collect(Collectors.toList());
|
|
|
+
|
|
|
+ List<TWorkpiece> workpieceList = workpieceService.list(Wraps.<TWorkpiece>lbQ().eq(TWorkpiece::getIsEnd, "0").in(TWorkpiece::getPlanId,planIds));
|
|
|
+
|
|
|
+ // end modify by yejian on 20220524 for 模式切换工件查找还需判断订单是否在生产中,如果非生产中不能推送消息
|
|
|
+
|
|
|
+ if(CollectionUtil.isNotEmpty(workpieceList)){
|
|
|
+ workpieceList.stream().map((t) -> {
|
|
|
+ //由手动切换自动,会唤起自动
|
|
|
+ if("2".equals(oriRunMode)) {
|
|
|
+ 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 20220524 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());
|
|
|
}
|
|
|
- }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 20220524 for 判断当前节点是否是是否是工序的第一个节点,如果是推送,如果不是不推送,防止模式切换平凡时,之前工序节点继续走,模式切换在调用一次的极端情况
|
|
|
}
|
|
|
- // end add by yejian on 20220524 for 判断当前节点是否是是否是工序的第一个节点,如果是推送,如果不是不推送,防止模式切换平凡时,之前工序节点继续走,模式切换在调用一次的极端情况
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- t.setExchangeProcedureId(t.getProcedureId());
|
|
|
- t.setExchangeZoneFlag("1");
|
|
|
- return t;
|
|
|
- }).collect(Collectors.toList());
|
|
|
+ t.setExchangeProcedureId(t.getProcedureId());
|
|
|
+ t.setExchangeZoneFlag("1");
|
|
|
+ return t;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
|
|
- workpieceService.saveOrUpdateBatch(workpieceList);
|
|
|
+ workpieceService.saveOrUpdateBatch(workpieceList);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
return zZone;
|