|
@@ -379,7 +379,7 @@ public class TaskWorkNode {
|
|
|
taskNodeService.updateById(taskNode);
|
|
taskNodeService.updateById(taskNode);
|
|
|
tTask.setStatus("3").setEndTime(new Date());
|
|
tTask.setStatus("3").setEndTime(new Date());
|
|
|
taskMapper.updateAllById(tTask);
|
|
taskMapper.updateAllById(tTask);
|
|
|
- TWorkpiece currWorkpiece = workpieceService.getWorkPiece(taskNode.getId());
|
|
|
|
|
|
|
+ TWorkpiece currWorkpiece = workpieceService.getOne(new LbqWrapper<TWorkpiece>().eq(TWorkpiece::getCompleteBatchNo, taskNode.getCompleteBatchNo()).eq(TWorkpiece::getIsEnd, "0"));
|
|
|
currWorkpiece.setIsEnd("1");
|
|
currWorkpiece.setIsEnd("1");
|
|
|
workpieceService.updateById(currWorkpiece);
|
|
workpieceService.updateById(currWorkpiece);
|
|
|
Plan plan = planMapper.selectById(tTask.getPlanId());
|
|
Plan plan = planMapper.selectById(tTask.getPlanId());
|
|
@@ -394,17 +394,21 @@ public class TaskWorkNode {
|
|
|
autoNodeLogService.updateAllById(autoNodeLog);
|
|
autoNodeLogService.updateAllById(autoNodeLog);
|
|
|
}
|
|
}
|
|
|
//自定义订单后续处理
|
|
//自定义订单后续处理
|
|
|
- if(order.getSingleTaskFlag().equals("1") && order.getHasMaterial().equals("0")){
|
|
|
|
|
|
|
+ if(order.getSingleTaskFlag().equals("1")){
|
|
|
OrderTask orderTask = orderTaskService.getOne(new LbqWrapper<OrderTask>().eq(OrderTask::getOrderId, order.getId()).last("limit 1"));
|
|
OrderTask orderTask = orderTaskService.getOne(new LbqWrapper<OrderTask>().eq(OrderTask::getOrderId, order.getId()).last("limit 1"));
|
|
|
|
|
+ if(StringUtils.isNotEmpty(orderTask.getConfBatchNo())){
|
|
|
|
|
+ //将原订单库位信息的同步更新到目的位置
|
|
|
|
|
+ TWorkpiece tWorkpiece = workpieceService.getOne(new LbqWrapper<TWorkpiece>().eq(TWorkpiece::getCompleteBatchNo, orderTask.getConfBatchNo()).eq(TWorkpiece::getIsEnd, "0"));
|
|
|
|
|
+ if(tWorkpiece!=null){
|
|
|
|
|
+ tWorkpiece.setStorgeId(currWorkpiece.getStorgeId()).setPointId(currWorkpiece.getPointId());
|
|
|
|
|
+ workpieceService.updateById(tWorkpiece);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
taskNodeService.remove(new LbqWrapper<TaskNode>().eq(TaskNode::getCompleteBatchNo, taskNode.getCompleteBatchNo()));
|
|
taskNodeService.remove(new LbqWrapper<TaskNode>().eq(TaskNode::getCompleteBatchNo, taskNode.getCompleteBatchNo()));
|
|
|
taskMapper.deleteById(tTask.getId());
|
|
taskMapper.deleteById(tTask.getId());
|
|
|
workpieceService.removeById(currWorkpiece.getId());
|
|
workpieceService.removeById(currWorkpiece.getId());
|
|
|
planMapper.delete(new LbqWrapper<Plan>().eq(Plan::getOrderId, order.getId()));
|
|
planMapper.delete(new LbqWrapper<Plan>().eq(Plan::getOrderId, order.getId()));
|
|
|
orderMapper.deleteById(order.getId());
|
|
orderMapper.deleteById(order.getId());
|
|
|
- if(StringUtils.isNotEmpty(orderTask.getConfBatchNo())){
|
|
|
|
|
- //删除自动生成零件库位信息
|
|
|
|
|
- stockInfoMapper.delete(new LbqWrapper<StockInfo>().eq(StockInfo::getCompleteBatchNo, orderTask.getConfBatchNo()));
|
|
|
|
|
- }
|
|
|
|
|
orderTaskService.removeById(orderTask.getId());
|
|
orderTaskService.removeById(orderTask.getId());
|
|
|
}
|
|
}
|
|
|
return;
|
|
return;
|
|
@@ -447,7 +451,7 @@ public class TaskWorkNode {
|
|
|
|
|
|
|
|
//运行条件验证
|
|
//运行条件验证
|
|
|
conMap = checkCon(taskNode, tTask, queryMap);
|
|
conMap = checkCon(taskNode, tTask, queryMap);
|
|
|
- if(!conMap.containsKey("result")){
|
|
|
|
|
|
|
+ if(conMap.isEmpty()){
|
|
|
//处理需要丢弃的节点
|
|
//处理需要丢弃的节点
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
@@ -541,7 +545,7 @@ public class TaskWorkNode {
|
|
|
JSONObject ret = new JSONObject();
|
|
JSONObject ret = new JSONObject();
|
|
|
ret.put("result","true");
|
|
ret.put("result","true");
|
|
|
returnData = ret.toJSONString();
|
|
returnData = ret.toJSONString();
|
|
|
- }else if(taskNode.getCompleteBatchSort()!=1 && beforResourceBusiness!=null && "3".equals(beforTask.getStatus()) && resourceBusiness.getName().contains("下料业务") && "GetServoStacker".equals(method) && "打标业务".equals(beforResourceBusiness.getName())){
|
|
|
|
|
|
|
+ }else if(taskNode.getCompleteBatchSort()!=1 && beforResourceBusiness!=null && "3".equals(beforTask.getStatus()) && resourceBusiness.getName().contains("动态下料") && "GetServoStacker".equals(method) && "打标业务".equals(beforResourceBusiness.getName())){
|
|
|
specialCallBackMyselfFlag = true;
|
|
specialCallBackMyselfFlag = true;
|
|
|
String jsonParam = getRequestParam(conMap);
|
|
String jsonParam = getRequestParam(conMap);
|
|
|
//缓存执行当前节点传参
|
|
//缓存执行当前节点传参
|
|
@@ -674,11 +678,15 @@ public class TaskWorkNode {
|
|
|
if (log.getId() == null) {
|
|
if (log.getId() == null) {
|
|
|
autoNodeLogService.save(log);
|
|
autoNodeLogService.save(log);
|
|
|
} else {
|
|
} else {
|
|
|
- if(log.getFeedback()!=feedBack) {
|
|
|
|
|
|
|
+ if(StringUtil.isNotEmpty(feedBack) && StringUtil.isNotEmpty(log.getFeedback()) && !log.getFeedback().equals(feedBack)) {
|
|
|
log.setExecuteTime(new Date());
|
|
log.setExecuteTime(new Date());
|
|
|
autoNodeLogService.updateAllById(log);
|
|
autoNodeLogService.updateAllById(log);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ //if(lock.tryLock()){
|
|
|
|
|
+ lock.unlock();
|
|
|
|
|
+ logger.info("节点{}名称{}释放锁",taskNode.getId(),taskNode.getNodeName());
|
|
|
|
|
+ //}
|
|
|
logger.info("specialCallBackMyselfFlag={}",specialCallBackMyselfFlag);
|
|
logger.info("specialCallBackMyselfFlag={}",specialCallBackMyselfFlag);
|
|
|
if(specialCallBackMyselfFlag){
|
|
if(specialCallBackMyselfFlag){
|
|
|
// 打标机或恒轮上传程序特殊处理
|
|
// 打标机或恒轮上传程序特殊处理
|
|
@@ -695,10 +703,6 @@ public class TaskWorkNode {
|
|
|
//restTemplate.postForObject(taskNodeCallbackUrl, formEntity, String.class);
|
|
//restTemplate.postForObject(taskNodeCallbackUrl, formEntity, String.class);
|
|
|
msgUtil.httpForPost(taskNodeCallbackUrl, callBackData.toJSONString());
|
|
msgUtil.httpForPost(taskNodeCallbackUrl, callBackData.toJSONString());
|
|
|
}
|
|
}
|
|
|
- if(lockFlag){
|
|
|
|
|
- lock.unlock();
|
|
|
|
|
- logger.info("节点{}名称{}释放锁",taskNode.getId(),taskNode.getNodeName());
|
|
|
|
|
- }
|
|
|
|
|
//优先级队列缓存处理
|
|
//优先级队列缓存处理
|
|
|
this.checkPriorityCondition(priority,"PRIORITY_"+consumerQueue.toUpperCase(),(boolean)conMap.get("result"), taskNodeId);
|
|
this.checkPriorityCondition(priority,"PRIORITY_"+consumerQueue.toUpperCase(),(boolean)conMap.get("result"), taskNodeId);
|
|
|
|
|
|