Ver código fonte

fix: 增加工装的三坐标检测字段,优化呼叫工装夹具异常

wang.sq@aliyun.com 2 meses atrás
pai
commit
2aeb8993d9

+ 5 - 2
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/mq/TaskWorkNode.java

@@ -618,7 +618,10 @@ public class TaskWorkNode {
                 JSONObject errJsonObject = new JSONObject();
                 errJsonObject.put("code", "exception");
                 errJsonObject.put("msg", e.getMessage());
+                errJsonObject.put("result", "false");
                 returnData = errJsonObject.toJSONString();
+                log.setStatus("0").setExeResult("0").setManual("1").setFeedback("节点" + taskNode.getId() + "逻辑出现异常:" + conMap.get("resultmsg") + ":" + e.getMessage());
+                autoNodeLogMapper.updateAllById(log);
                 logger.error("调用接口发生异常" + e.getMessage());
             } catch (Exception e) {
                 e.printStackTrace();
@@ -640,7 +643,7 @@ public class TaskWorkNode {
                     String code = retJson.getString("result").trim();
                     String concurrency = retJson.containsKey("concurrency") ? retJson.getString("concurrency").trim() : "false";
                     if (code.equals("true")) {
-                        log.setExeStatus("3").setEndTime(new Date()).setSendStatus("1").setExeResult("1").setFeedback("");
+                        log.setExeStatus("2").setEndTime(new Date()).setSendStatus("1").setFeedback("");
                         //回调处理
 //                    taskNode.setExeStatus("3").setEndTime(new Date()).setExeResult("1");
 //                    taskNodeService.updateAllById(taskNode);
@@ -652,7 +655,7 @@ public class TaskWorkNode {
                         // 释放之前占用的资源 并发延迟带来的异常不释放锁定资源
                         if (concurrency.equals("false")) {
                             // begin modify by yejian on 20220520 for 解决资源抢占时机器人是空闲状态但是实际上面有料不能操作的时候请求指令接口返回失败后进入死循环问题
-                            log.setExeResult("0").setManual("0").setFeedback("设备资源和条件判断不通过");
+                            log.setExeResult("0").setManual("0").setFeedback(log.getFeedback()==null?"设备资源和条件判断不通过" : log.getFeedback());
                             taskNodeService.freeLock(taskNode.getCompleteBatchNo());
                             logger.warn("{}设备资源不通过释放节点", taskNode.getCompleteBatchNo());
                         }

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

@@ -1697,6 +1697,7 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
             return R.fail("指令和数据一致性不正确");
         }
         lg.setSendStatus("2");
+        lg.setExeResult("1");
 
         String bizCallBackData = jsonParam;
 

+ 4 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionResourceCenter/service/impl/RobotNodeServiceImpl2.java

@@ -46,6 +46,7 @@ import com.github.zuihou.common.util.StringUtil;
 import com.github.zuihou.database.mybatis.conditions.Wraps;
 import com.github.zuihou.database.mybatis.conditions.query.LbqWrapper;
 import com.github.zuihou.database.mybatis.conditions.query.QueryWrap;
+import com.github.zuihou.exception.BizException;
 import com.google.common.collect.Maps;
 import io.swagger.models.auth.In;
 import lombok.extern.slf4j.Slf4j;
@@ -428,6 +429,9 @@ public class RobotNodeServiceImpl2 implements NodeOperationService {
                 // 判断是否是单线单独运行
             if(1 == singleRunFlag){
                 flikustockInfos = this.getProductionLineXbkStockList(nextTaskNode,task);
+                if(flikustockInfos.isEmpty()){
+                    throw new BizException("没有查询到可用的托盘");
+                }
             }else{
                 flikustockInfos = this.getLikuStockList(task);
             }

+ 1 - 1
imcs-admin-boot/imcs-business-biz/src/main/resources/mapper_business/base/productionReadyCenter/MToolClampMapper.xml

@@ -27,7 +27,7 @@
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
         id,create_time,create_user,update_time,update_user,join_date,factory,zone_id,
-        no, name, status, model, category, brand,map_no,period,expiry_date,num,material_type,org_id
+        no, name, status, model, category, brand,map_no,period,expiry_date,num,material_type,org_id,detection_program
     </sql>
 
     <!-- 分页 -->

+ 2 - 1
imcs-admin-boot/imcs-business-biz/src/main/resources/mapper_business/base/productionReadyCenter/TrayMapper.xml

@@ -52,7 +52,8 @@
         INNER JOIN imcs_t_tray b ON b.production_type = a.production_type
         LEFT JOIN ( SELECT tray_id, GROUP_CONCAT( position_sort ) AS positionSort FROM imcs_t_tray_position GROUP BY tray_id ) b ON a.id = b.tray_id
         WHERE
-        a.zone_id = b.zone_id
+            a.zone_id = b.zone_id
+            AND a.category_type = b.category_type
         <if test="ids != null and ids.size() > 0">
             AND b.id IN
             <foreach item="id" collection="ids" open="(" separator="," close=")">

+ 4 - 0
imcs-admin-boot/imcs-business-entity/src/main/java/com/github/zuihou/business/productionReadyCenter/dto/MToolClampUpdateDTO.java

@@ -1,5 +1,6 @@
 package com.github.zuihou.business.productionReadyCenter.dto;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.github.zuihou.base.entity.SuperEntity;
 import com.github.zuihou.model.RemoteData;
 import io.swagger.annotations.ApiModel;
@@ -106,4 +107,7 @@ public class MToolClampUpdateDTO implements Serializable {
     private String factory;
 
     private String zoneId;
+
+    @ApiModelProperty(value = "毛坯检测程序,如果需要,则添加,不需要则不添加")
+    private String detectionProgram;
 }

+ 7 - 0
imcs-admin-boot/imcs-business-entity/src/main/java/com/github/zuihou/business/productionReadyCenter/entity/MToolClamp.java

@@ -154,6 +154,13 @@ public class MToolClamp extends Entity<Long> {
     @Length(max = 1, message = "同步状态 0:未同步 1:已同步 长度不能超过1")
     @TableField(value = "syn_flag")
     private int synFlag;
+    /**
+     * 毛坯检测程序
+     */
+    @ApiModelProperty(value = "毛坯检测程序,如果需要,则添加,不需要则不添加")
+    @Length(max = 1, message = "毛坯检测程序,如果需要,则添加,不需要则不添加")
+    @TableField(value = "detection_program")
+    private String detectionProgram;
 
 
     @Builder