liyg 2 роки тому
батько
коміт
64fdc5cc79

+ 6 - 0
src/main/java/com/steerinfo/dil/controller/WmshGridMaterialController.java

@@ -206,4 +206,10 @@ public class WmshGridMaterialController extends BaseRESTfulController {
         return success(result);
     }
 
+    @ApiModelProperty(value = "修改远程调用")
+    @PostMapping("/updateWmshGridMaterial")
+    public RESTfulResult updateWmshGridMaterial(@RequestBody Map<String,Object> map) {
+        int result = wmshGridMaterialService.updateWmshGridMaterial(map);
+        return success(result);
+    }
 }

+ 3 - 0
src/main/java/com/steerinfo/dil/mapper/WmshInboundResultMapper.java

@@ -20,4 +20,7 @@ public interface WmshInboundResultMapper extends IBaseMapper<WmshInboundResult,
 
     //通过Id查询港存库入库 用于修改
     List<Map<String, Object>> getResultById(Integer resultId);
+
+    //修改绑定的所有入库表的批次
+    int updateForBind(Map<String, Object> map);
 }

+ 1 - 0
src/main/java/com/steerinfo/dil/mapper/WmshOutboundResultMapper.java

@@ -19,4 +19,5 @@ public interface WmshOutboundResultMapper extends IBaseMapper<WmshOutboundResult
     //查询所有的出库实绩
     List<Map<String, Object>> getAllResult(Map<String, Object> map);
 
+    int updateForBind(Map<String, Object> map);
 }

+ 2 - 0
src/main/java/com/steerinfo/dil/service/IWmshGridMaterialService.java

@@ -44,4 +44,6 @@ public interface IWmshGridMaterialService {
     List<Map<String, Object>> getLoadPortStockByMaterialName(Map<String, Object> mapVal);
 
     List<Map<String, Object>> getUnLockPortStock(Map<String, Object> mapVal);
+
+    int updateWmshGridMaterial(Map<String, Object> map);
 }

+ 36 - 1
src/main/java/com/steerinfo/dil/service/impl/WmshGridMaterialServiceImpl.java

@@ -1,6 +1,7 @@
 package com.steerinfo.dil.service.impl;
 
 import com.steerinfo.dil.mapper.WmshGridMaterialMapper;
+import com.steerinfo.dil.mapper.WmshInboundResultMapper;
 import com.steerinfo.dil.mapper.WmshOutboundResultMapper;
 import com.steerinfo.dil.model.WmshGridMaterial;
 import com.steerinfo.dil.model.WmshOutboundResult;
@@ -35,7 +36,8 @@ public class WmshGridMaterialServiceImpl implements IWmshGridMaterialService {
     private WmshGridMaterialMapper wmshGridMaterialMapper;
     @Autowired
     private WmshOutboundResultMapper wmshOutboundResultMapper;
-
+    @Autowired
+    private WmshInboundResultMapper wmshInboundResultMapper;
     /**
      * 展示下游港口实时库存
      * @param mapVal
@@ -147,4 +149,37 @@ public class WmshGridMaterialServiceImpl implements IWmshGridMaterialService {
         return wmshGridMaterialMapper.getUnLockPortStock(mapVal);
     }
 
+    @Override
+    public int updateWmshGridMaterial(Map<String, Object> map) {
+        BigDecimal batchId = DataChange.dataToBigDecimal(map.get("batchId"));
+        BigDecimal userId = DataChange.dataToBigDecimal(map.get("userId"));
+        BigDecimal gmId = DataChange.dataToBigDecimal(map.get("gmId"));
+        //查找是否有港存库实时库存
+        List<Map<String,Object>> wmshGridMaterials = wmshGridMaterialMapper.getGridId(map);
+        WmshGridMaterial wmshGridMaterial=new WmshGridMaterial();
+        if(wmshGridMaterials!=null && wmshGridMaterials.size()>0){
+            //已经存在则加库存,不改港存库批次或者删除
+            Map<String,Object> now = wmshGridMaterials.get(0);
+            BigDecimal nowGmsTonnage = DataChange.dataToBigDecimal(now.get("gmTonnage"));
+            //查询旧的批次
+            Map<String,Object> old = new HashMap<>();
+            old.put("portId",map.get("portId"));
+            old.put("batchId",map.get("batchIdOld"));
+            old=wmshGridMaterialMapper.getGridId(old).get(0);
+            BigDecimal oldGmsTonnage = DataChange.dataToBigDecimal(old.get("gmTonnage"));
+            //增加库存
+            wmshGridMaterial.setGmId(DataChange.dataToBigDecimal(now.get("gmId")));
+            wmshGridMaterial.setGmTonnage(nowGmsTonnage.add(oldGmsTonnage));
+            wmshGridMaterial.setUpdateUsername(userId.toString());
+        }else{
+            //不存在修改批次
+            wmshGridMaterial.setGmId(gmId);
+            wmshGridMaterial.setBatchId(batchId);
+            wmshGridMaterial.setUpdateUsername(userId.toString());
+        }
+        //修改入库和出库实绩绑定的批次
+        wmshInboundResultMapper.updateForBind(map);
+        wmshOutboundResultMapper.updateForBind(map);
+        return wmshGridMaterialMapper.updateByPrimaryKeySelective(wmshGridMaterial);
+    }
 }

+ 6 - 0
src/main/resources/com/steerinfo/dil/mapper/WmshInboundResultMapper.xml

@@ -459,4 +459,10 @@
             on DB.BATCH_ID = WIR.BATCH_ID
         where WIR.RESULT_ID = #{resultId}
   </select>
+
+  <update id="updateForBind">
+    update WMSH_INBOUND_RESULT
+    set BATCH_ID = #{batchId}
+    where BATCH_ID = #{batchIdOld}
+  </update>
 </mapper>

+ 5 - 0
src/main/resources/com/steerinfo/dil/mapper/WmshOutboundResultMapper.xml

@@ -441,4 +441,9 @@
       order by "insertTime" desc
     </if>
   </select>
+  <update id="updateForBind">
+    update WMSH_OUTBOUND_RESULT
+    set BATCH_ID = #{batchId}
+    where BATCH_ID = #{batchIdOld}
+  </update>
 </mapper>