Explorar el Código

fix:刀具工量具申请逻辑

wang.sq@aliyun.com hace 2 semanas
padre
commit
bfa52c14ca

+ 320 - 4
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/centralToolMagazine/service/impl/ToolManagementServiceImpl.java

@@ -205,9 +205,33 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
                 .map(Long::valueOf)
                 .collect(Collectors.toList());
 
+
+
+        List<PlanProduct> planProductList = planProductMapper.selectList(Wraps.<PlanProduct>lbQ().in(PlanProduct::getPlanId, planIds));
+        if(planProductList.isEmpty()){
+            return null;
+        }
+
+        List<Long> orderids = planProductList.stream().map(p -> p.getOrderId()).collect(Collectors.toList());
+        List<Order> orderList = orderService.list(Wraps.<Order>lbQ().in(Order::getId, orderids));
+
+        List<Long> bomIds = planProductList.stream().map(p -> p.getBomId()).collect(Collectors.toList());
+        List<BBom> bBomsList = bBomMapper.selectList(Wraps.<BBom>lbQ().in(BBom::getId, bomIds));
+
         List<ToolCheckDTO> returnList=new ArrayList<>();
+        // 检查工量具
+        List<ToolCheckDTO> MeasuringToolsList = checkMeasuringToolsApply(planProductList,  orderList, bBomsList);
+        returnList.addAll(MeasuringToolsList);
+        // 检查刀具
+        List<ToolCheckDTO> cutterApplylist = checkCutterApply(planProductList,  orderList, bBomsList);
+        returnList.addAll(cutterApplylist);
+        // 检查需要放入机床的刀
+        List<ToolCheckDTO> cutterIntoDeviceList = cutterIntoDevice(planProductList,  orderList, bBomsList);
+
+        returnList.addAll(cutterIntoDeviceList);
 
 
+/*
         planIds.stream().forEach(item ->{
             PlanProduct planProduct = planProductMapper.selectOne(Wraps.<PlanProduct>lbQ().eq(PlanProduct::getPlanId, item));
 
@@ -256,9 +280,11 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
 
                 BBomProcedureTool bomProcedureTool = bomProcedureToolService.getOne(Wraps.<BBomProcedureTool>lbQ().eq(BBomProcedureTool::getProcedureId,vo.getId()).last("limit 1"));
                 //List<BBomProcedureTool> toolList = bomProcedureToolService.list(Wraps.<BBomProcedureTool>lbQ().eq(BBomProcedureTool::getProcedureId,vo.getId()));
-                /*List<String> toolIdList = toolList.stream()
+                */
+/*List<String> toolIdList = toolList.stream()
                         .map(BBomProcedureTool::getCuttingToolCategory)
-                        .collect(Collectors.toList()); */
+                        .collect(Collectors.toList()); *//*
+
                 if (null != bomProcedureTool){
                     needToolList = cutterCategoriesService.list(new LbqWrapper<CutterCategories>().eq(CutterCategories::getPartsNo, bBom.getPartsNo()).eq(CutterCategories::getProcedureNo, bBom.getNo()));
                 }
@@ -413,10 +439,12 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
                             .filter(tool -> !finalRealToolId.contains(tool.getCutterT())).distinct()
                             .collect(Collectors.toList());
                     //List<String> dicName = dictionaryMapper.getDicName(toolId);
-                    /*List<Long> differenceTool = toolId.stream()
+                    */
+/*List<Long> differenceTool = toolId.stream()
                             .filter(id -> !realToolId.contains(id))
                             .collect(Collectors.toList());
-                    List<CuttingTool> cuttingTools = cuttingToolMapper.selectList(Wraps.<CuttingTool>lbQ().in(CuttingTool::getId, differenceTool));*/
+                    List<CuttingTool> cuttingTools = cuttingToolMapper.selectList(Wraps.<CuttingTool>lbQ().in(CuttingTool::getId, differenceTool));*//*
+
                     List<Long> needCutters = lackTools.stream().map(CutterCategories::getId).collect(Collectors.toList());
                     List<String> differenceCategory = lackTools.stream().map(CutterCategories::getCutterT).collect(Collectors.toList());
 
@@ -445,10 +473,298 @@ public class ToolManagementServiceImpl extends SuperCacheServiceImpl<ToolManagem
 
             });
         });
+*/
 
         return R.success(returnList);
     }
 
+
+    @Autowired
+    private MeasuringToolsCategoriesService measuringToolsCategoriesService;
+
+    /**
+     * 工量具刀具申请
+     * @param planProducts
+     * @param ordersList
+     * @param bBomsList
+     * @return
+     */
+    private List<ToolCheckDTO> checkMeasuringToolsApply(List<PlanProduct> planProducts, List<Order> ordersList, List<BBom> bBomsList){
+        List<ToolCheckDTO> returnList=new ArrayList<>();
+
+        Map<Long, Order> orderMap = ordersList.stream().collect(Collectors.toMap(item -> item.getId(), item -> item));
+        Map<Long, BBom> bBomsMap = bBomsList.stream().collect(Collectors.toMap(item -> item.getId(), item -> item));
+
+        List<MeasuringToolsPo> measuringToolsList = measuringToolsService.list(Wraps.<MeasuringToolsPo>lbQ().eq(MeasuringToolsPo::getLocationName, "1"));
+
+        for (PlanProduct planProduct : planProducts) {
+            Order order = orderMap.get(planProduct.getOrderId());
+            BBom bBom = bBomsMap.get(planProduct.getBomId());
+
+            List<BomProcedure> bomProcedures = bomProcedureMapper.selectList(Wraps.<BomProcedure>lbQ()
+                    .eq(BomProcedure::getBomId, planProduct.getBomId()).eq(BomProcedure::getType,"设备序"));
+
+            // 产品所需要的刀具列表
+            List<MeasuringToolsCategoriesPo> needToolList = new ArrayList<>();
+            //所有可执行设备资源
+            List<BomProcedureProductionresource> resourceList=new ArrayList<>();
+            for (BomProcedure vo : bomProcedures) {
+                BomProcedureVersion bomProcedureVersion=new BomProcedureVersion();
+                bomProcedureVersion.setId(vo.getId());
+
+                //查出工序下的所有资源
+                List<BomProcedureProductionresource> resourcelist = bomProcedureProductionresourceService.getResourcelist(bomProcedureVersion);
+                resourceList.addAll(resourcelist);
+
+                BBomProcedureTool bomProcedureTool = bomProcedureToolService.getOne(Wraps.<BBomProcedureTool>lbQ().eq(BBomProcedureTool::getProcedureId,vo.getId()).last("limit 1"));
+                if (null != bomProcedureTool){
+                    needToolList = measuringToolsCategoriesService.list(new LbqWrapper<MeasuringToolsCategoriesPo>().eq(MeasuringToolsCategoriesPo::getPartsNo, bBom.getPartsNo()).eq(MeasuringToolsCategoriesPo::getProcedureNo, bBom.getNo()));
+                }
+            }
+
+            // 工量具判断,是否下发呼叫
+            List<String> collect = measuringToolsList.stream().map(measuringToolsPo -> measuringToolsPo.getToolCode()).collect(Collectors.toList());
+            List<MeasuringToolsCategoriesPo> lackTools = needToolList.stream()
+                    .filter(tool -> !collect.contains(tool.getToolCode())).distinct()
+                    .collect(Collectors.toList());
+
+            if(lackTools.isEmpty()){
+                log.info("量具已在线上");
+                continue;
+            }
+
+            List<String>  toolCodes= lackTools.stream().map(MeasuringToolsCategoriesPo::getToolCode).collect(Collectors.toList());
+
+            ToolCheckDTO toolCheckDTO =new ToolCheckDTO();
+            toolCheckDTO.setId(planProduct.getId());
+            toolCheckDTO.setOrderId(order.getId());
+            toolCheckDTO.setOrderNo(order.getOrderNo());
+            toolCheckDTO.setOrderName(order.getOrderName());
+            toolCheckDTO.setApplyType(1);
+            toolCheckDTO.setIsTask(lackTools.size()>0?"是":"否");
+            toolCheckDTO.setNumber(lackTools.size());
+            toolCheckDTO.setName(bBom.getName());
+            toolCheckDTO.setList(toolCodes);
+            toolCheckDTO.setHasCuttingToolsFlag(CollectionUtil.isEmpty(toolCodes) ? "是" : "否" );
+            toolCheckDTO.setMsg(CollectionUtil.isNotEmpty(toolCodes) ?
+                    "缺少:"+lackTools.stream().map(obj->obj.getToolName()).collect(Collectors.joining(",")):"校验成功" );
+            toolCheckDTO.setPlanId(planProduct.getId());
+            returnList.add(toolCheckDTO);
+
+        }
+        return returnList;
+    }
+
+    /**
+     * 刀具需求申请
+     * @param planProducts
+     * @param ordersList
+     * @param bBomsList
+     * @return
+     */
+    private List<ToolCheckDTO> checkCutterApply(List<PlanProduct> planProducts, List<Order> ordersList, List<BBom> bBomsList){
+        List<ToolCheckDTO> returnList=new ArrayList<>();
+
+        Map<Long, Order> orderMap = ordersList.stream().collect(Collectors.toMap(item -> item.getId(), item -> item));
+        Map<Long, BBom> bBomsMap = bBomsList.stream().collect(Collectors.toMap(item -> item.getId(), item -> item));
+
+        for (PlanProduct planProduct : planProducts) {
+            Order order = orderMap.get(planProduct.getOrderId());
+            BBom bBom = bBomsMap.get(planProduct.getBomId());
+
+            List<BomProcedure> bomProcedures = bomProcedureMapper.selectList(Wraps.<BomProcedure>lbQ()
+                    .eq(BomProcedure::getBomId, planProduct.getBomId()).eq(BomProcedure::getType,"设备序"));
+
+            // 产品所需要的刀具列表
+            List<CutterCategories> needToolList = new ArrayList<>();
+            //所有可执行设备资源
+            List<BomProcedureProductionresource> resourceList=new ArrayList<>();
+            for (BomProcedure vo : bomProcedures) {
+                BomProcedureVersion bomProcedureVersion=new BomProcedureVersion();
+                bomProcedureVersion.setId(vo.getId());
+
+                //查出工序下的所有资源
+                List<BomProcedureProductionresource> resourcelist = bomProcedureProductionresourceService.getResourcelist(bomProcedureVersion);
+                resourceList.addAll(resourcelist);
+
+                BBomProcedureTool bomProcedureTool = bomProcedureToolService.getOne(Wraps.<BBomProcedureTool>lbQ().eq(BBomProcedureTool::getProcedureId,vo.getId()).last("limit 1"));
+                if (null != bomProcedureTool){
+                    needToolList = cutterCategoriesService.list(new LbqWrapper<CutterCategories>().eq(CutterCategories::getPartsNo, bBom.getPartsNo()).eq(CutterCategories::getProcedureNo, bBom.getNo()));
+                }
+            }
+
+            if(needToolList.isEmpty()|| needToolList.size()<=0){
+                log.info("================刀具校验:未配置工艺刀具==============");
+                ToolCheckDTO toolCheckDTO=new ToolCheckDTO();
+                toolCheckDTO.setId(planProduct.getId());
+                toolCheckDTO.setOrderId(order.getId());
+                toolCheckDTO.setOrderNo(order.getOrderNo());
+                toolCheckDTO.setOrderName(order.getOrderName());
+                toolCheckDTO.setApplyType(2);
+                toolCheckDTO.setName(bBom.getName());
+                toolCheckDTO.setHasCuttingToolsFlag("否");
+                toolCheckDTO.setIsTask("否");
+                toolCheckDTO.setIsFree(false);
+                toolCheckDTO.setMsg("未配置工艺刀具");
+                returnList.add(toolCheckDTO);
+                continue;
+            }
+
+            // 刀具不在产线,需要发送刀具需求
+            for (BomProcedureProductionresource vo : resourceList) {
+                List<CutterCategories> needCutterCategories = new ArrayList<>();
+                // 需求的刀具数据
+                Map<String, List<CutterCategories>> collect = needToolList.stream().collect(groupingBy(CutterCategories::getCutterT));
+                //机床现有刀具集合
+                Productionresource productionresource = productionresourceBizService.getById(vo.getResourceId());
+                //判断是否机床
+                if(StringUtils.isEmpty(productionresource.getModeSpecification())){
+                    continue;
+                }
+
+                List<String> realToolId = machineCuttingToolService.list(new LbqWrapper<MachineCuttingTool>().eq(MachineCuttingTool::getMachineId, vo.getResourceId())).stream().map(obj->obj.getCuttingToolId()).collect(Collectors.toList());
+                // 查询刀架有的刀
+                List<CuttingTool> cutterInStorgeInfo = cuttingToolService.getCutterInStorgeInfo();
+                if(cutterInStorgeInfo!=null && !cutterInStorgeInfo.isEmpty()){
+                    List<String> collect1 = cutterInStorgeInfo.stream().map(CuttingTool::getCuttingToolNo).map(Object::toString).collect(Collectors.toList());
+                    realToolId.addAll(collect1);
+                }
+                // 比对是否有缺失的数据
+                collect.forEach((s, cutterCategories) -> {
+                    if(!realToolId.contains(s)){
+                        needCutterCategories.add(cutterCategories.get(0));
+                    }
+                });
+
+                if(needCutterCategories.isEmpty()){
+                    continue;
+                }
+                List<String> cutterTs = needCutterCategories.stream().map(CutterCategories::getCutterT).collect(Collectors.toList());
+
+                ToolCheckDTO toolCheckDTO =new ToolCheckDTO();
+                toolCheckDTO.setId(planProduct.getId());
+                toolCheckDTO.setOrderId(order.getId());
+                toolCheckDTO.setOrderNo(order.getOrderNo());
+                toolCheckDTO.setOrderName(order.getOrderName());
+                toolCheckDTO.setApplyType(2);
+                toolCheckDTO.setIsTask(needCutterCategories.size()>0?"是":"否");
+                toolCheckDTO.setNumber(needCutterCategories.size());
+                toolCheckDTO.setId(vo.getResourceId());
+                toolCheckDTO.setDeviceName(vo.getName());
+                toolCheckDTO.setName(bBom.getName());
+                toolCheckDTO.setList(cutterTs);
+                toolCheckDTO.setHasCuttingToolsFlag(CollectionUtil.isEmpty(cutterTs) ? "是" : "否" );
+                toolCheckDTO.setMsg(CollectionUtil.isNotEmpty(cutterTs) ?
+                        "缺少:"+needCutterCategories.stream().map(obj->obj.getCutterName()).collect(Collectors.joining(",")):"校验成功" );
+                toolCheckDTO.setPlanId(planProduct.getPlanId());
+                returnList.add(toolCheckDTO);
+            }
+        }
+        return returnList;
+    }
+
+    private List<ToolCheckDTO> cutterIntoDevice(List<PlanProduct> planProducts, List<Order> ordersList, List<BBom> bBomsList){
+        List<ToolCheckDTO> returnList=new ArrayList<>();
+
+        Map<Long, Order> orderMap = ordersList.stream().collect(Collectors.toMap(item -> item.getId(), item -> item));
+        Map<Long, BBom> bBomsMap = bBomsList.stream().collect(Collectors.toMap(item -> item.getId(), item -> item));
+
+        for (PlanProduct planProduct : planProducts) {
+            Order order = orderMap.get(planProduct.getOrderId());
+            BBom bBom = bBomsMap.get(planProduct.getBomId());
+
+            List<BomProcedure> bomProcedures = bomProcedureMapper.selectList(Wraps.<BomProcedure>lbQ()
+                    .eq(BomProcedure::getBomId, planProduct.getBomId()).eq(BomProcedure::getType,"设备序"));
+
+            // 产品所需要的刀具列表
+            List<CutterCategories> needToolList = new ArrayList<>();
+            //所有可执行设备资源
+            List<BomProcedureProductionresource> resourceList=new ArrayList<>();
+            for (BomProcedure vo : bomProcedures) {
+                BomProcedureVersion bomProcedureVersion=new BomProcedureVersion();
+                bomProcedureVersion.setId(vo.getId());
+
+                //查出工序下的所有资源
+                List<BomProcedureProductionresource> resourcelist = bomProcedureProductionresourceService.getResourcelist(bomProcedureVersion);
+                resourceList.addAll(resourcelist);
+
+                BBomProcedureTool bomProcedureTool = bomProcedureToolService.getOne(Wraps.<BBomProcedureTool>lbQ().eq(BBomProcedureTool::getProcedureId,vo.getId()).last("limit 1"));
+                if (null != bomProcedureTool){
+                    needToolList = cutterCategoriesService.list(new LbqWrapper<CutterCategories>().eq(CutterCategories::getPartsNo, bBom.getPartsNo()).eq(CutterCategories::getProcedureNo, bBom.getNo()));
+                }
+            }
+
+            if(needToolList.isEmpty()|| needToolList.size()<=0){
+                log.info("================刀具校验:未配置工艺刀具==============");
+                ToolCheckDTO toolCheckDTO=new ToolCheckDTO();
+                toolCheckDTO.setId(planProduct.getId());
+                toolCheckDTO.setOrderId(order.getId());
+                toolCheckDTO.setOrderNo(order.getOrderNo());
+                toolCheckDTO.setOrderName(order.getOrderName());
+                toolCheckDTO.setApplyType(3);
+                toolCheckDTO.setName(bBom.getName());
+                toolCheckDTO.setHasCuttingToolsFlag("否");
+                toolCheckDTO.setIsTask("否");
+                toolCheckDTO.setIsFree(false);
+                toolCheckDTO.setMsg("未配置工艺刀具");
+                returnList.add(toolCheckDTO);
+                continue;
+            }
+
+            // 刀具在产线,但没有在机床
+            for (BomProcedureProductionresource vo : resourceList) {
+                ToolCheckDTO toolCheckDTO=new ToolCheckDTO();
+
+                Productionresource productionresource = productionresourceBizService.getById(vo.getResourceId());
+                List<String> realToolId = null;
+                Integer freeCount = 0;
+                //判断是否机床
+                if(StringUtils.isNotEmpty(productionresource.getModeSpecification())){
+                    realToolId = machineCuttingToolService.list(new LbqWrapper<MachineCuttingTool>().eq(MachineCuttingTool::getMachineId, vo.getResourceId())).stream().map(obj->obj.getCuttingToolId()).collect(Collectors.toList());
+                    freeCount = DEVICE_CUTTER_POSITION - realToolId.size();
+                }else{
+                    realToolId = Lists.newArrayList();
+                }
+
+                // 判断可用刀架位是否满足可放刀
+                if(freeCount > 0){
+                    List<String> finalRealToolId = realToolId;
+                    List<CutterCategories> lackTools = needToolList.stream()
+                            .filter(tool -> !finalRealToolId.contains(tool.getCutterT())).distinct()
+                            .collect(Collectors.toList());
+
+                    List<Long> needCutters = lackTools.stream().map(CutterCategories::getId).collect(Collectors.toList());
+                    List<String> differenceCategory = lackTools.stream().map(CutterCategories::getCutterT).collect(Collectors.toList());
+
+                    //true 机床刀库空闲个数大于缺刀个数
+                    Boolean isFree=freeCount > lackTools.size();
+                    //ToolTask findToolTask = toolTaskMapper.selectOne(Wraps.<ToolTask>lbQ().eq(ToolTask::getPlanId, item));
+
+                    toolCheckDTO.setId(planProduct.getId());
+                    toolCheckDTO.setOrderId(order.getId());
+                    toolCheckDTO.setOrderNo(order.getOrderNo());
+                    toolCheckDTO.setOrderName(order.getOrderName());
+                    toolCheckDTO.setApplyType(3);
+                    toolCheckDTO.setIsTask(lackTools.size()>0?"是":"否");
+                    toolCheckDTO.setId(vo.getResourceId());
+                    toolCheckDTO.setDeviceName(vo.getName());
+                    toolCheckDTO.setName(bBom.getName());
+                    toolCheckDTO.setList(differenceCategory);
+                    toolCheckDTO.setListData(needCutters);
+                    toolCheckDTO.setIsFree(isFree);
+                    toolCheckDTO.setHasCuttingToolsFlag(CollectionUtil.isEmpty(differenceCategory) ? "是" : "否" );
+                    toolCheckDTO.setMsg(CollectionUtil.isNotEmpty(differenceCategory) ?
+                            "缺少:"+lackTools.stream().map(obj->obj.getCutterName()).collect(Collectors.joining(","))+(isFree ? ",机床刀库空闲个数大于缺刀个数":"") +(" 缺刀总数:"+ differenceCategory.size() +"个"):"校验成功" );
+                    toolCheckDTO.setPlanId(planProduct.getId());
+
+                    returnList.add(toolCheckDTO);
+                }
+            }
+        }
+        return returnList;
+    }
+
+
     public static List<ToolManagement> findChildren(ToolManagement map,List<ToolManagement> list) {
         List<ToolManagement> chList = new ArrayList<>();
         for(ToolManagement chMap:list) {

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

@@ -105,6 +105,7 @@ public class TrayServiceImpl extends SuperServiceImpl<TrayMapper, Tray> implemen
         mToolClampSaveDTO.setCategory(new RemoteData<>("", ""));
         mToolClampSaveDTO.setSynFlag(0);
         mToolClampSaveDTO.setJoinDate(DateUtil.format(new Date()));
+        mToolClampSaveDTO.setDetectionProgram("0");
 
         mToolClampService.save(mToolClampSaveDTO);
 
@@ -208,6 +209,7 @@ public class TrayServiceImpl extends SuperServiceImpl<TrayMapper, Tray> implemen
     public Boolean check(TraySaveDTO model) {
         if (null!=model.getName()) return super.count(Wraps.<Tray>lbQ().eq(Tray::getName, model.getName())) > 0;
         if (null!=model.getNo()) return super.count(Wraps.<Tray>lbQ().eq(Tray::getNo, model.getNo())) > 0;
+        if (null!=model.getCode()) return super.count(Wraps.<Tray>lbQ().eq(Tray::getCode, model.getCode())) > 0;
         return false;
     }
 

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

@@ -283,14 +283,10 @@ public class CacheRobotStrategy implements RobotStrategy {
                 }
             }
             targetStorge = hcwStorge;
-            // todo 临时锁点位问题
+            // todo 临时锁点位问题---
 //            if(startStorge.getStorgeTypeId()!= hcwStorge.getStorgeTypeId()){
 //                targetStorge = hcwStorge;
 //            }else {
-//                if(startStorge.getStorgeTypeId()!= hcwStorge.getStorgeTypeId()){
-//                    // 线边库标识
-//                    returnMap.put( taskNode.getId() + YunjianConstant.CUN_XBK, "1");
-//                }
 //                //锁定目标线边库库位
 //                targetStorge.setCompleteBatchNo(taskNode.getCompleteBatchNo());
 //                storgeService.lockStorge(targetStorge, taskNode.getId());

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

@@ -59,7 +59,7 @@
                      jc_cc.doc jc_doc
                  FROM
                      imcs_cutter_categories base_a
-                         LEFT JOIN imcs_b_bom base_ibb ON base_a.parts_no = base_ibb.parts_no
+                         INNER JOIN imcs_b_bom base_ibb ON base_a.parts_no = base_ibb.parts_no
                          LEFT JOIN imcs_cutting_tool base_ict ON base_a.cutter_t = base_ict.cutting_tool_no
                          LEFT JOIN imcs_s_stock_info base_isi ON base_ict.id = base_isi.goods_id
                          LEFT JOIN imcs_p_productionresource_position dk_ipp ON base_isi.storge_id = dk_ipp.storge_id

+ 2 - 1
imcs-admin-boot/imcs-business-controller/src/main/java/com/github/zuihou/business/controller/externalApi/MesController.java

@@ -1011,6 +1011,7 @@ public class MesController extends SuperController<MesNoticeService, Long, MesNo
             }
             version = "V" + processNo;
 
+            partName = (qualityInfo==null) ? partName: mesNotice.getOrderNo()+"_SQ";
             //初始化业务订单数据
             workOrder = new JSONObject();
             workOrder.put("workOrderNo", workOrderNo);
@@ -1210,7 +1211,7 @@ public class MesController extends SuperController<MesNoticeService, Long, MesNo
                 .setStatus("1").setSingleTaskFlag(0).setOrderStatus("1").setBatchNo(workOrder.getString("batchNo")).setExternalTaskCode(workOrder.getString("externalTaskCode")).setNoticeId(workOrder.getLong("noticeId"));
         //产品编码+ 密级编码 + 批次号 + 工艺版本
         String orderName = "MES_" + workOrder.getString("materialCode") + "_" + workOrder.getString("planSecretLevel").toUpperCase() + "_" + workOrder.getString("batchNo") + "_" + workOrder.getString("processRouteVersion");
-        orderName = partName==null? (processName==null ? orderName :processName+"_"+processNo) : (partName +"_"+ processNo);
+        orderName = partName==null? (processName==null ? orderName :processName+"_"+processNo) : partName;
         order.setCustId(0L).setOrderName(orderName).setZoneId(zone.getId()).setAuditStatus("0").setSingleRunFlag(1);
         orderService.save(order);
 

+ 2 - 2
imcs-admin-boot/imcs-business-entity/src/main/java/com/github/zuihou/business/centralToolMagazine/dto/ToolCheckDTO.java

@@ -27,8 +27,8 @@ public class ToolCheckDTO {
     private Boolean isFree;
     private Long taskId;
     private Integer number;
-    // 缺少刀具,需要发送需求申请,0不需要,1刀具,2量具
-    private Integer isNoCutter;
+    // 缺少刀具,需要发送需求申请,1量具申请,2刀具申请,3刀具安装
+    private Integer applyType;
 
     //换出来的刀库库位ID
     private List<ToolStorgePageDTO> storgeId;

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

@@ -106,4 +106,7 @@ public class MToolClampSaveDTO implements Serializable {
     @ApiModelProperty(value = "产线")
     private Long zoneId;
 
+    @ApiModelProperty(value = "毛坯检测程序,如果需要,则添加,不需要则不添加")
+    private String detectionProgram;
+
 }

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

@@ -103,7 +103,6 @@ public class MeasuringToolsPo extends Entity<Long> implements Serializable {
     @Excel(name = "状态:1使用中、2待校准、3已校准、4停用、5报废")
     private Integer status;
 
-    @ApiModelProperty(value = "状态:1使用中、2待校准、3已校准、4停用、5报废")
     @TableField(exist = false)
     private List<Long> ids;