1
0

2 Commits 63e6a237dc ... 15dbf018ea

Autor SHA1 Mensagem Data
  wang.sq@aliyun.com 15dbf018ea fix:齐套性检测优化 há 6 dias atrás
  wang.sq@aliyun.com 4255b7a596 fix:齐套性检测优化 há 1 semana atrás

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

@@ -957,6 +957,9 @@ public class TaskWorkNode {
      * @return
      */
     public String getRequestParam(Map conMap) {
+        // rfids数据
+        String rfid = conMap.get("rfid") == null ? "" : conMap.get("rfid").toString();
+
         TaskNode taskNode = (TaskNode) conMap.get("taskNode");
         TTask task = (TTask) conMap.get("task");
         //业务类型
@@ -969,6 +972,7 @@ public class TaskWorkNode {
         String stockType = conMap.get(DemoLineConstant.DEMOLINE_STOCK_TYPE) == null ? "" : conMap.get(DemoLineConstant.DEMOLINE_STOCK_TYPE).toString();
 
         JSONObject jsonObject = new JSONObject();
+        jsonObject.put("rfid",rfid);
         //jsonObject.put("businessType", taskNode.getAutoNodeCode());
         jsonObject.put("taskId", String.valueOf(taskNode.getTaskId()));
         jsonObject.put("taskNodeId", String.valueOf(taskNode.getId()));
@@ -1031,6 +1035,7 @@ public class TaskWorkNode {
             bizJsonObject.put(YunjianConstant.YUNJIAN_XBKFLAG, xbkFlag);
         }
 
+
         //业务回调数据,传给接口,接口再返回过来。接口不让传多余参数,只能从缓存传
 //        jsonObject.put("bizCallBackData", bizJsonObject.toJSONString());
         //调试得时候打开

+ 3 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionReadyCenter/dao/CuttingToolMapper.java

@@ -34,5 +34,8 @@ public interface CuttingToolMapper extends SuperMapper<CuttingTool> {
     List<String> getToolCategory(@Param("list") List<Long> cuttingToolId);
 
     CuttingTool getToolId(String code);
+    void updateByListId(@Param("list") List<Long> cuttingToolId);
+
+    List<CuttingTool> getGoodSByStorgeId(Long storgeId);
 
 }

+ 2 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionReadyCenter/service/CuttingToolService.java

@@ -64,4 +64,6 @@ public interface CuttingToolService extends SuperCacheService<CuttingTool> {
     List<CuttingToolResource> getResource(CuttingToolResourcePageQuery model);
 
     CuttingTool queryOneCuttingTool(Map<String, String > map);
+
+    List<CuttingTool> getGoodSByStorgeId(Long storgeId);
 }

+ 6 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionReadyCenter/service/impl/CuttingToolServiceImpl.java

@@ -156,4 +156,10 @@ public class CuttingToolServiceImpl extends SuperCacheServiceImpl<CuttingToolMap
             return null;
         }
     }
+
+    @Override
+    public List<CuttingTool> getGoodSByStorgeId(Long storgeId) {
+
+        return this.baseMapper.getGoodSByStorgeId(storgeId);
+    }
 }

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

@@ -1,6 +1,7 @@
 package com.github.zuihou.business.productionReadyCenter.service.impl;
 
 
+import cn.hutool.log.Log;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -147,6 +148,17 @@ public class MachineCuttingToolServiceImpl extends SuperCacheServiceImpl<Machine
                 List<MachineCuttingTool> machineCuttingTools = baseMapper.selectList(Wraps.<MachineCuttingTool>lbQ().eq(MachineCuttingTool::getMachineId, resourceId));
                 Map<String, List<MachineCuttingTool>> collect = machineCuttingTools.stream().collect(Collectors.groupingBy(MachineCuttingTool::getCuttingToolPosition));
 
+
+                // 查询所有得基础刀具信息,为下面采集得数据进行覆盖,以为采集数据为准
+                List<CuttingTool> cuttingTools = cuttingToolMapper.selectList(Wraps.<CuttingTool>lbQ());
+                Map<Long, List<CuttingTool>> cutterDataAll = cuttingTools.stream().collect(Collectors.groupingBy(CuttingTool::getCuttingToolNo));
+
+                // 查询此设备下所有刀具信息,比较采集得数据,删除采集数据中没有得数据
+                List<CuttingTool>  cuttingTools2= cuttingToolMapper.selectList(Wraps.<CuttingTool>lbQ().eq(CuttingTool::getDeviceId, resourceId));
+                Map<Long, List<CuttingTool>> cutterDataDevice = cuttingTools2.stream().collect(Collectors.groupingBy(CuttingTool::getCuttingToolNo));
+
+
+
                 for (int i = 0; i < upResult.size(); i++) {
                     JSONObject tool = upResult.getJSONObject(i);
                     String cuttingToolNo = tool.getString("number");
@@ -161,16 +173,23 @@ public class MachineCuttingToolServiceImpl extends SuperCacheServiceImpl<Machine
                         collect.remove(position);
                     }
 
-                    CuttingTool cuttingTool = cuttingToolMapper.selectOne(Wraps.<CuttingTool>lbQ().eq(CuttingTool::getCuttingToolNo, cuttingToolNo));
+                    // CuttingTool cuttingTool = cuttingToolMapper.selectOne(Wraps.<CuttingTool>lbQ().eq(CuttingTool::getCuttingToolNo, cuttingToolNo));
 
                     machineCuttingTool.setMachineId(resourceId);
                     machineCuttingTool.setCuttingToolId(cuttingToolNo);
                     machineCuttingTool.setCuttingToolName(name);
-                    if (null != cuttingTool) {
+                    if (!cutterDataAll.isEmpty() && null != cutterDataAll.get(Long.parseLong(cuttingToolNo))) {
+                        // 删除设备有得数据
+                        if(!cutterDataDevice.isEmpty() && null !=cutterDataDevice.get(Long.parseLong(cuttingToolNo))){
+                            cutterDataDevice.remove(Long.parseLong(cuttingToolNo));
+                        }
+                        CuttingTool cuttingTool = cutterDataAll.get(Long.parseLong(cuttingToolNo)).get(0);
                         cuttingTool.setDeviceId(resourceId);
-                        cuttingTool.setCutterNo(Double.parseDouble(cuttingToolNo));
+                        cuttingTool.setCutterNo(Double.parseDouble(position.replace("1.","")));
+
                         cuttingToolMapper.updateById(cuttingTool);
 
+
                         machineCuttingTool.setCuttingToolPicture(cuttingTool.getCuttingToolPicture());
                         machineCuttingTool.setCuttingToolInstallPicture(cuttingTool.getCuttingToolInstallPicture());
                     }
@@ -203,6 +222,13 @@ public class MachineCuttingToolServiceImpl extends SuperCacheServiceImpl<Machine
                     }
                 }
 
+                // 移除采集设备没有得数据与刀架数据
+                if(!cutterDataDevice.isEmpty()){
+                    List<Long> collect1 = cutterDataDevice.values().stream().flatMap(Collection::stream).map(CuttingTool::getId).collect(Collectors.toList());
+
+                    cuttingToolMapper.updateByListId(collect1);
+                }
+
                 // 判断collect是否还有数据,如果有进行删除,说明机床已经没有这些数据
                 if (!collect.isEmpty()) {
                     List<Long> collect1 = collect.values()

+ 7 - 1
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionResourceCenter/strategy/impl/ToolRobotStrategy.java

@@ -161,7 +161,7 @@ public class ToolRobotStrategy implements RobotStrategy {
                 }
                 StockInfo one = stockInfoService.getOne(new LbqWrapper<StockInfo>().eq(StockInfo::getGoodsId, cuttingTool.getId()));
                 if(one !=null){
-                    throw new RuntimeException("刀具信息在库存中已存在,位置:"+one.getStorgeId());
+                    stockInfoService.delete(one);
                 }
 
                 // 调用plc 让plc把机床刀具转到待取位
@@ -262,6 +262,12 @@ public class ToolRobotStrategy implements RobotStrategy {
            returnMap.put(YunjianConstant.YUNJIAN_XBKFLAG, "1");
         }
 
+        // 根据库位信息,获取刀柄号,用于rfid校验
+        List<CuttingTool> goodSByStorgeId = cuttingToolService.getGoodSByStorgeId(startStorge.getId());
+        if(!goodSByStorgeId.isEmpty()){
+            locationMap.put("rfid", goodSByStorgeId.get(0).getCuttingToolNo().toString());
+        }
+
         locationMap.put("taskType", DictionaryKey.TASK_TYPE.get("CARRY"));
         locationMap.put("carryType", DictionaryKey.CARRY_TYPE.get("TOOL_HAND"));
         returnMap.put("data", locationMap);

+ 8 - 7
imcs-admin-boot/imcs-business-biz/src/main/resources/mapper_business/base/cutterdata/CutterDataMapper.xml

@@ -69,16 +69,17 @@
     </select>
 
     <select id="getStockInfosByResourceId" resultType="com.github.zuihou.business.cutterdata.entity.CutterTestDataEntity">
+
         SELECT
-        m.*,
-        s3.resource_id
+        s3.*,
+        m.resource_id
         FROM
-        imcs_cutter_test_data m
-        LEFT JOIN imcs_cutting_tool s1 ON m.cutter_t = s1.cutting_tool_no
-        LEFT JOIN imcs_s_stock_info s2 ON s1.cutting_tool_no = s2.goods_id
-        LEFT JOIN imcs_p_productionresource_position s3 ON s2.storge_id = s3.storge_id
+        imcs_p_productionresource_position m
+        LEFT JOIN imcs_s_stock_info s1  ON m.storge_id = s1.storge_id
+        LEFT JOIN imcs_cutting_tool s2 ON s1.goods_id = s2.id
+        LEFT JOIN imcs_cutter_test_data s3 ON s2.cutting_tool_no = s3.cutter_t
         WHERE
-        s3.resource_id in
+        m.resource_id in
         <foreach close=")" collection="list" item="id" open="(" separator=",">
             #{id}
         </foreach>

+ 24 - 0
imcs-admin-boot/imcs-business-biz/src/main/resources/mapper_business/base/productionReadyCenter/CuttingToolMapper.xml

@@ -79,4 +79,28 @@
     <select id="getToolId" resultType="com.github.zuihou.business.productionReadyCenter.entity.CuttingTool" parameterType="String">
         select * from imcs_cutting_tool where cutter_code=#{code}
     </select>
+
+
+    <update id="updateByListId" parameterType="Long">
+        UPDATE imcs_cutting_tool
+        SET device_id = NULL,
+        cutter_no = '0'
+        WHERE
+        id in
+        <foreach close=")" collection="list" item="id" open="(" separator=",">
+            #{id}
+        </foreach>
+    </update>
+
+    <select id="getGoodSByStorgeId" resultType="com.github.zuihou.business.productionReadyCenter.entity.CuttingTool" parameterType="Long">
+        SELECT
+            *
+        FROM
+            `imcs_cutting_tool` m
+             LEFT JOIN imcs_s_stock_info s ON m.id = s.goods_id
+        WHERE
+            s.storge_id =#{storgeId}
+    </select>
+
+
 </mapper>

+ 6 - 2
imcs-admin-boot/imcs-business-controller/src/main/java/com/github/zuihou/business/controller/productionResourceCenter/StationUserController.java

@@ -223,11 +223,15 @@ public class StationUserController extends SuperController<StationUserService, L
                 return;
             }
             List<CutterTestDataEntity> cutterTestDataEntities = listMap.get(item.getId());
-
+            if(cutterTestDataEntities.get(0).getStatus() == null ){
+                return;
+            }
             if (cutterTestDataEntities.get(0).getStatus() == 2) {
                 item.setSiteStatus("2");
-            } else {
+            } else if (cutterTestDataEntities.get(0).getStatus() == 3) {
                 item.setSiteStatus("3");
+            }else {
+                item.setSiteStatus("1");
             }
         });
 

+ 1 - 1
imcs-admin-boot/imcs-business-entity/src/main/java/com/github/zuihou/business/productionResourceCenter/entity/Productionresource.java

@@ -332,7 +332,7 @@ public class Productionresource extends Entity<Long> {
     private String toolManagementId;
 
     @TableField(exist=false)
-    @ApiModelProperty(value = "站点装填,1 无数据,2需要下料,3需要上料")
+    @ApiModelProperty(value = "站点装填,1 无数据,2需要上料,3需要下料")
     private String siteStatus;
 
     @Builder