浏览代码

换刀逻辑

oyq28 1 年之前
父节点
当前提交
d773e70641

+ 2 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/centralToolMagazine/dao/ToolHandleMapper.java

@@ -26,4 +26,6 @@ public interface ToolHandleMapper extends SuperMapper<ToolHandle> {
     IPage<ToolHandle> pageList(IPage page, @Param(Constants.WRAPPER) Wrapper<ToolHandle> queryWrapper, DataScope dataScope);
 
     List<ToolHandle> getList();
+
+    ToolHandle getByHandleCode(String handleCode);
 }

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

@@ -173,6 +173,7 @@ public class ToolStorgeServiceImpl extends SuperCacheServiceImpl<ToolStorgeMappe
         return baseMapper.getPointStorge();
     }
 
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public R saveStorge(ToolCheckDTO list) {
         Long planId = list.getPlanId();
@@ -185,6 +186,20 @@ public class ToolStorgeServiceImpl extends SuperCacheServiceImpl<ToolStorgeMappe
             if(Objects.isNull(cuttingTool)){
                 return R.fail(vo.getToolCode()+":无法识别");
             }
+            ToolHandle toolHandle = toolHandleMapper.getByHandleCode(vo.getHandleCode());
+            if(Objects.isNull(toolHandle)){
+                return R.fail(vo.getHandleCode()+":无法识别");
+            }
+            //刀柄绑定库位
+            LambdaUpdateWrapper<ToolStorge> lambdaUpdateWrapper = new LambdaUpdateWrapper<ToolStorge>();
+            lambdaUpdateWrapper.set(ToolStorge::getToolHandleId, toolHandle.getId()).eq(ToolStorge::getId, vo.getId());
+            baseMapper.update(null,  lambdaUpdateWrapper);
+
+            //刀具绑定刀柄
+            LambdaUpdateWrapper<ToolHandle> lambdaUpdateWrapper1 = new LambdaUpdateWrapper<>();
+            lambdaUpdateWrapper1.set(ToolHandle::getToolId, cuttingTool.getId()).eq(ToolHandle::getId, toolHandle.getId());
+            toolHandleMapper.update(null,  lambdaUpdateWrapper1);
+
             vo.setToolId(cuttingTool.getId());
             vo.setCuttingToolCategory(cuttingTool.getCuttingToolCategory().getData());
 
@@ -207,14 +222,16 @@ public class ToolStorgeServiceImpl extends SuperCacheServiceImpl<ToolStorgeMappe
     @Override
     @Transactional(rollbackFor = Exception.class)
     public R<ToolStorge> update(ToolStorgeUpdateDTO data) {
-        ToolStorge toolStorge = toolStorgeMapper.selectOne(Wraps.<ToolStorge>lbQ().eq(ToolStorge::getToolHandleId, data.getToolHandleId()).notIn(ToolStorge::getId, data.getId()));
-        if(toolStorge!=null){
-           return R.fail("刀柄已绑定其他库位");
+        if(!Objects.isNull(data.getToolHandleId())){
+            ToolStorge toolStorge = toolStorgeMapper.selectOne(Wraps.<ToolStorge>lbQ().eq(ToolStorge::getToolHandleId, data.getToolHandleId()).notIn(ToolStorge::getId, data.getId()));
+            if(toolStorge!=null){
+                return R.fail("刀柄已绑定其他库位");
+            }
         }
         ToolStorge storge = BeanPlusUtil.toBean(data, ToolStorge.class);
         updateById(storge);
 
-        return R.success(toolStorge);
+        return R.success(storge);
     }
 
     @Override

+ 4 - 0
imcs-admin-boot/imcs-business-biz/src/main/resources/mapper_business/base/centralToolMagezine/ToolHandleMapper.xml

@@ -32,4 +32,8 @@
         select * from imcs_tool_handle
     </select>
 
+    <select id="getByHandleCode" resultType="com.github.zuihou.business.centralToolMagazine.entity.ToolHandle">
+        select * from imcs_tool_handle where handle_code=#{handleCode}
+    </select>
+
 </mapper>

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

@@ -103,4 +103,6 @@ public class ToolStorgePageDTO implements Serializable {
     private String cuttingToolCategory;
     private Long toolId;
 
+    private String pointId;
+
 }

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

@@ -84,4 +84,6 @@ public class ToolStorgeSaveDTO implements Serializable {
     @ApiModelProperty(value = "刀柄ID")
     private Long toolHandleId;
 
+    private String pointId;
+
 }

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

@@ -95,4 +95,6 @@ public class ToolStorgeUpdateDTO implements Serializable {
 
     private Long oldHandleId;
 
+    private String pointId;
+
 }