소스 검색

fix:优化刀具任务创建

wang.sq@aliyun.com 2 달 전
부모
커밋
475976a064

+ 1 - 1
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/externalApi/service/impl/MesNoticeServiceImpl.java

@@ -117,7 +117,7 @@ public class MesNoticeServiceImpl extends SuperServiceImpl<MesNoticeMapper, MesN
         MesNotice mesNoticeRepost = baseMapper.selectOne(new LbqWrapper<MesNotice>().eq(MesNotice::getBatchNo, order.getBatchNo()).eq(MesNotice::getBuType, "TASKAPPLY").ne(MesNotice::getStatus, "3").last("limit 1"));
         double plmenge =  Double.parseDouble(order.getProduceNum().toString());
         mesNoticeRepost.setStatus("5").setOrderInfo(String.valueOf(plmenge)).setWorkReport(mesNoticeLog!=null? String.format("%.1f",(plmenge - Double.parseDouble(mesNoticeLog.getOrderInfo()))): String.valueOf(plmenge));
-        if(mesNoticeRepost.getApiType().equals("QUALITYREPORT")){
+        if("QUALITYREPORT".equals(mesNoticeRepost.getApiType())){
             OrderQuality orderQuality = orderQualityService.getOne(new LbqWrapper<OrderQuality>().eq(OrderQuality::getOrderId, order.getId()).eq(OrderQuality::getMeasuringType, "1").last("limit 1"));
             JSONObject dataInfo = JSONObject.parseObject(mesNoticeRepost.getAcceptPar());
             JSONArray jsonArray = JSONArray.parseArray(orderQuality==null? null : orderQuality.getMeasuringReport());

+ 3 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/operationManagementCenter/service/impl/TaskNodeServiceImpl.java

@@ -465,6 +465,9 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
 
         List<ResourceAutoCode> resourceAutoCodeList =
                 resourceAutoCodeService.list(Wraps.<ResourceAutoCode>lbQ().orderByAsc(ResourceAutoCode::getType).orderByAsc(ResourceAutoCode::getWeight));
+        if(resourceAutoCodeList.isEmpty() || resourceAutoCodeList.size()==0){
+            throw new BizException("设备节点管理不能为空,请确认是否有值");
+        }
         Map<Long, List<ResourceAutoCode>> resourceAutoCodeMap =
                 resourceAutoCodeList.stream().collect(groupingBy(ResourceAutoCode::getBusinessId));
         List<TaskNode> taskNodeList = new ArrayList<TaskNode>();

+ 3 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/operationManagementCenter/service/impl/TaskServiceImpl.java

@@ -1269,6 +1269,9 @@ public class TaskServiceImpl extends SuperServiceImpl<TTaskMapper, TTask> implem
         }
         else if("end".equals(type)) {
             TaskNode taskNode = taskNodeService.getOne(Wraps.<TaskNode>lbQ().eq(TaskNode::getTaskId, tTask.getId()).eq(TaskNode::getExeStatus,"2"));
+            if(taskNode == null){
+                throw new BizException("没有查询到执行节点,请刷新界面后重试");
+            }
             String id = taskNode.getId().toString();
             //验证是否重复回调
             String cacheId = msgUtil.redis_get(id) == null ? "" : msgUtil.redis_get(id).toString();

+ 3 - 3
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionReadyCenter/service/impl/MachineCuttingToolServiceImpl.java

@@ -146,7 +146,7 @@ public class MachineCuttingToolServiceImpl extends SuperCacheServiceImpl<Machine
                     ResponseEntity<String> postForEntity = restTemplate.postForEntity(instructionUrl, request, String.class);
                     resultData = postForEntity.getBody();
                 } else {
-                    resultData = "{\"result\":\"true\",\"msg\":\"success\",\"code\":200,\"total\":0,\"data\":[{\"position\":\"1.1\",\"number\":\"1\",\"name\":\"XD20\",\"warnLife\":\"0\",\"targetLife\":\"2282.88\",\"workPiece\":null,\"workPieceWarn\":null,\"workPieceTarget\":null,\"wear\":null,\"wearWarn\":null,\"wearTarget\":null,\"sisterNo\":null,\"toolEdgeNo\":null,\"toolPosition\":null,\"toolRadius\":null,\"tl\":\"0\",\"doc\":\"\",\"isMainShaft\":\"0\"},{\"position\":\"1.5\",\"number\":\"5\",\"name\":\"7-N123F2-57032R-C5RG-C5L90\",\"warnLife\":\"0\",\"targetLife\":\"6.78\",\"workPiece\":null,\"workPieceWarn\":null,\"workPieceTarget\":null,\"wear\":null,\"wearWarn\":null,\"wearTarget\":null,\"sisterNo\":null,\"toolEdgeNo\":null,\"toolPosition\":null,\"toolRadius\":null,\"tl\":\"0\",\"doc\":\"\",\"isMainShaft\":\"0\"}]}\n";
+                    resultData = "{\"result\":\"true\",\"msg\":\"success\",\"code\":200,\"total\":0,\"data\":[{\"position\":\"1.1\",\"number\":\"114\",\"name\":\"3-VB1608-DJL25-E9364ASHA090\",\"warnLife\":\"0\",\"targetLife\":\"2282.88\",\"workPiece\":null,\"workPieceWarn\":null,\"workPieceTarget\":null,\"wear\":null,\"wearWarn\":null,\"wearTarget\":null,\"sisterNo\":null,\"toolEdgeNo\":null,\"toolPosition\":null,\"toolRadius\":null,\"tl\":\"0\",\"doc\":\"HD\",\"isMainShaft\":\"1\"},{\"position\":\"1.5\",\"number\":\"5\",\"name\":\"7-N123F2-57032R-C5RG-C5L90\",\"warnLife\":\"0\",\"targetLife\":\"6.78\",\"workPiece\":null,\"workPieceWarn\":null,\"workPieceTarget\":null,\"wear\":null,\"wearWarn\":null,\"wearTarget\":null,\"sisterNo\":null,\"toolEdgeNo\":null,\"toolPosition\":null,\"toolRadius\":null,\"tl\":\"0\",\"doc\":\"\",\"isMainShaft\":\"0\"}]}\n";
                 }
 
                 JSONObject resultObj = JSONObject.parseObject(resultData);
@@ -210,7 +210,7 @@ public class MachineCuttingToolServiceImpl extends SuperCacheServiceImpl<Machine
                         cuttingTool.setStorgeId(null);
                         cuttingTool.setCutterNo(Long.parseLong(position.replace("1.","")));
                         cuttingTool.setDoc("");
-                        if(tool.containsKey("doc")&& tool.getString("doc").length()>0){
+                        if(tool.containsKey("doc")&& tool.getString("doc").length()>0 && "0".equals(tool.getString("isMainShaft"))){
                             cuttingTool.setDoc(resourceId+"&"+ tool.getString("doc"));
                         }
 
@@ -246,7 +246,7 @@ public class MachineCuttingToolServiceImpl extends SuperCacheServiceImpl<Machine
 
 
                     //刀具报警 调用天轨 目标去刀具上下料站
-                    if (!map.containsKey(resourceId) && (doc.equals("FDJ") || doc.equals("HD"))) {
+                    if (!map.containsKey(resourceId) && (doc.equals("FDJ") || doc.equals("HD")) && "0".equals(isMainShaft)) {
                         if(!list.isEmpty()){
                             Map<String, List<OrderTask>> collect1 = list.stream().collect(Collectors.groupingBy(OrderTask::getCutStartNo));
 

+ 2 - 0
imcs-admin-boot/imcs-business-biz/src/main/resources/mapper_business/base/productionResourceCenter/ProductionresourcePositionMapper.xml

@@ -52,6 +52,7 @@
         LEFT JOIN imcs_s_storge s on p.storge_id = s.id
         LEFT JOIN imcs_s_stock_info i ON p.storge_id = i.storge_id
         INNER JOIN imcs_tenant_productionresource r ON p.resource_id = r.id
+        LEFT JOIN  (SELECT DISTINCT storge_id FROM imcs_s_storge_tray_conf ) s_isst on p.storge_id = s_isst.storge_id
         <if test="goodsName != null and goodsName != ''">
             left join view_stock_goods b on i.spec_id = b.specId
         </if>
@@ -90,6 +91,7 @@
         <if test="storgeTypeId != null and storgeTypeId != ''">
             and s.storge_type_id = #{storgeTypeId}
         </if>
+        ORDER BY s_isst.storge_id ASC
     </select>
 
     <select id="checkXbkTaskStartPointId" resultType="com.github.zuihou.business.productionResourceCenter.entity.ProductionresourcePosition" parameterType="map">

+ 5 - 3
imcs-admin-boot/imcs-business-controller/src/main/java/com/github/zuihou/business/controller/productionResourceCenter/ToolController.java

@@ -2,6 +2,7 @@ package com.github.zuihou.business.controller.productionResourceCenter;
 
 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.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -147,7 +148,7 @@ public class ToolController extends SuperController<ToolService, Long, Tool, Too
     private OrderTaskService orderTaskService;
 
     //刀具定时任务处理
-    @Scheduled(cron = "0 0/1 * * * *")
+    @Scheduled(cron = "0 0/2 * * * *")
     @ApiOperation(value = "同步刀具", notes = "同步刀具")
     @PostMapping("/synchronousTool")
     public R<Boolean> synchronousTool() throws Exception {
@@ -212,7 +213,7 @@ public class ToolController extends SuperController<ToolService, Long, Tool, Too
                 }
 
                 // 查询刀具限定的刀具位置
-                List<SStorgeTrayConf> sStorgeTrayConfs = storgeTrayConfMapper.selectList(Wraps.<SStorgeTrayConf>lbQ().eq(SStorgeTrayConf::getProductId, cutterNo.getId()).eq(SStorgeTrayConf::getSelectType, 2));
+                List<SStorgeTrayConf> sStorgeTrayConfs = storgeTrayConfMapper.selectList(Wraps.<SStorgeTrayConf>lbQ().eq(SStorgeTrayConf::getProductId, cutterNo.getCuttingToolType()).eq(SStorgeTrayConf::getSelectType, 2));
 
                 // 为空,没有配置刀具限定位置
                 if(!sStorgeTrayConfs.isEmpty() && xbkList.size()>0){
@@ -248,7 +249,8 @@ public class ToolController extends SuperController<ToolService, Long, Tool, Too
             String cutPosition = item.getCuttingToolPosition().replace("1.", "");
             data.put("cutStartNo", cutPosition);
             data.put("cutGoalNo", "0");
-            toolbarController.addCutToolTask(data);
+            R r = toolbarController.addCutToolTask(data);
+            log.info("定时任务创建刀具任务结果:{};参数{}", r, JSONObject.toJSONString(data));
             item.setStatus("1");
             machineCuttingToolService.updateAllById(item);
         }