lxb 1 gadu atpakaļ
vecāks
revīzija
9b6c31d861

+ 36 - 12
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/centralToolMagazine/service/impl/ToolStorgeServiceImpl.java

@@ -1,5 +1,6 @@
 package com.github.zuihou.business.centralToolMagazine.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -16,9 +17,11 @@ import com.github.zuihou.business.centralToolMagazine.dto.ToolStorgeUpdateDTO;
 import com.github.zuihou.business.centralToolMagazine.entity.TaskNodeTool;
 import com.github.zuihou.business.centralToolMagazine.entity.ToolHandle;
 import com.github.zuihou.business.centralToolMagazine.entity.ToolStorge;
+import com.github.zuihou.business.centralToolMagazine.entity.ToolTask;
 import com.github.zuihou.business.centralToolMagazine.service.TaskNodeToolService;
 import com.github.zuihou.business.centralToolMagazine.service.ToolStockLogService;
 import com.github.zuihou.business.centralToolMagazine.service.ToolStorgeService;
+import com.github.zuihou.business.operationManagementCenter.service.ToolTaskService;
 import com.github.zuihou.business.productionReadyCenter.dao.CuttingToolMapper;
 import com.github.zuihou.business.productionReadyCenter.entity.CuttingTool;
 import com.github.zuihou.business.productionReadyCenter.service.CuttingToolService;
@@ -27,8 +30,10 @@ import com.github.zuihou.common.util.StringUtil;
 import com.github.zuihou.database.mybatis.auth.DataScope;
 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.injection.annonation.InjectionResult;
 import com.github.zuihou.utils.BeanPlusUtil;
+import javafx.concurrent.Task;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.compress.utils.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -74,6 +79,9 @@ public class ToolStorgeServiceImpl extends SuperCacheServiceImpl<ToolStorgeMappe
     @Autowired
     private ToolStockLogService toolStockLogService;
 
+    @Autowired
+    private ToolTaskService toolTaskService;
+
 
     @Override
     protected String getRegion() {
@@ -209,18 +217,34 @@ public class ToolStorgeServiceImpl extends SuperCacheServiceImpl<ToolStorgeMappe
             vo.setCuttingToolCategory(cuttingTool.getCuttingToolCategory().getData());
 
         }
-        List<TaskNodeTool> taskNodeToolByPlanId = taskNodeToolMapper.getTaskNodeToolByPlanId(planId,deviceId);
-        taskNodeToolByPlanId.stream().forEach(vo->{
-            Optional<ToolStorgePageDTO> first = toolStorgelist.stream()
-                    .filter(tool -> Objects.equals(tool.getCuttingToolCategory(), vo.getCentralToolType()))
-                    .findFirst();
-            ToolStorgePageDTO toolStorgePageDTO = first.get();
-            vo.setToolStorgeId(toolStorgePageDTO.getId());
-            vo.setCentralToolId(toolStorgePageDTO.getToolId());
-
-        });
-
-        taskNodeToolService.saveOrUpdateBatch(taskNodeToolByPlanId);
+        List<TaskNodeTool> taskNodeToolList = taskNodeToolMapper.selectList(new QueryWrap<TaskNodeTool>().lambda().eq(TaskNodeTool::getTaskId,list.getTaskId()).eq(TaskNodeTool::getScanResult,"0"));
+
+        Map<String, ToolStorgePageDTO> toolStorgePageDTOMap = toolStorgelist.stream().collect(Collectors.toMap(ToolStorgePageDTO::getCuttingToolCategory, t ->t));
+
+        List<TaskNodeTool> updateTaskNodeToolList = new ArrayList<>();
+        for(TaskNodeTool taskNodeTool:taskNodeToolList){
+            ToolStorgePageDTO toolStorgePageDTO = toolStorgePageDTOMap.get(taskNodeTool.getCentralToolType());
+            if(Objects.isNull(toolStorgePageDTO)) continue;
+
+            taskNodeTool.setCentralToolId(toolStorgePageDTO.getToolId());
+            taskNodeTool.setScanResult("1"); //已扫描
+            updateTaskNodeToolList.add(taskNodeTool);
+        }
+
+        taskNodeToolService.updateBatchById(updateTaskNodeToolList);
+
+        List<TaskNodeTool> taskNodeToolScanList = taskNodeToolMapper.selectList(new QueryWrap<TaskNodeTool>().lambda().eq(TaskNodeTool::getTaskId,list.getTaskId()).eq(TaskNodeTool::getScanResult,"0"));
+        ToolTask toolTask = new ToolTask();
+        toolTask.setId(list.getTaskId());
+        if(CollectionUtil.isEmpty(taskNodeToolScanList)){
+            //所需刀具已全部扫描
+            toolTask.setScanResult("2");
+        }else{
+            //部分扫描
+            toolTask.setScanResult("1");
+        }
+        toolTaskService.updateById(toolTask);
+
         return R.success();
     }
 

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

@@ -21,6 +21,7 @@ public class ToolCheckDTO {
     private String msg;
     //机床刀库空闲个数是否大于缺刀个数
     private Boolean isFree;
+    private Long taskId;
 
     //换出来的刀库库位ID
     private List<ToolStorgePageDTO> storgeId;

+ 4 - 0
imcs-admin-boot/imcs-business-entity/src/main/java/com/github/zuihou/business/centralToolMagazine/entity/TaskNodeTool.java

@@ -83,5 +83,9 @@ public class TaskNodeTool extends Entity<Long> {
     @Excel(name = "库位ID")
     private Long toolStorgeId;
 
+    @ApiModelProperty(value = "扫描结果(0 未扫描 1部分扫描 2全部扫描 )")
+    @TableField("scan_result")
+    private String scanResult;
+
 
 }

+ 4 - 0
imcs-admin-boot/imcs-business-entity/src/main/java/com/github/zuihou/business/centralToolMagazine/entity/ToolTask.java

@@ -57,6 +57,10 @@ public class ToolTask extends Entity<Long> {
     @TableField("task_type")
     private String taskType;
 
+    @ApiModelProperty(value = "扫描结果(0 未扫描 1部分扫描 2全部扫描 )")
+    @TableField("scan_result")
+    private String scanResult;
+
     @TableField(exist = false)
     private String orderName;
     @TableField(exist = false)