ソースを参照

实时库存的修改

zx 3 年 前
コミット
50b21951e3

+ 13 - 24
src/main/java/com/steerinfo/dil/controller/WmspGridMaterialController.java

@@ -70,31 +70,10 @@ public class WmspGridMaterialController extends BaseRESTfulController {
                                                 Integer pageSize,
                                                 Integer apiId,
                                                 String con) {
-        if (con != null) {
-            if (!"undefined".equals(con)) {
-                String index = "get_gird_materiallist";//设置要查询的索引名称
-                return success(esFeign.getConResult(mapVal, index, apiId, pageNum, pageSize, con));//获取查询结果
-            }
-        }
 
-        List<Map<String, Object>> libaryInBoundList = null;
-        if (mapVal.size() == 0) {
-            //将查询结果存入索引中
-            libaryInBoundList = wmspGridMaterialService.selectGridMaterial(mapVal);
-            Map<String, Object> map1 = new HashMap<>();
-            //添加索引
-            map1.put("index", "get_gird_materiallist");
-            //添加id
-            map1.put("indexId", "GridMaterialListId");
-            libaryInBoundList.add(map1);
-            //新建索引
-            esFeign.insertIndex(libaryInBoundList);
-            //删除
-            libaryInBoundList.remove(libaryInBoundList.size() - 1);
-        }
-        if (libaryInBoundList == null) {
-            libaryInBoundList = wmspGridMaterialService.selectGridMaterial(mapVal);
-        }
+
+
+        List<Map<String, Object>>   libaryInBoundList = wmspGridMaterialService.selectGridMaterial(mapVal);
         PageHelper.startPage(pageNum, pageSize);
         List<Map<String, Object>> columnList = wmspGridMaterialService.selectGridMaterial(mapVal);
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId, libaryInBoundList, columnList);
@@ -213,6 +192,16 @@ public class WmspGridMaterialController extends BaseRESTfulController {
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId,columnList,mapList);
         return success(pageList);
     }
+
+    //修改实时库存数据,针对于倒垛
+    @ApiImplicitParam("修改实时库存数据,针对于倒垛")
+    @PostMapping(value = "/updateWmspGridMaterialForRestack")
+    public RESTfulResult updateWmspGridMaterialForRestack(@RequestBody Map<String,Object> map) {
+        int i = wmspGridMaterialService.updateWmspGridMaterial(map);
+        return success(i);
+    }
+
+
 }
 
 

+ 0 - 2
src/main/java/com/steerinfo/dil/controller/WmspRestackMakeResultController.java

@@ -193,9 +193,7 @@ public class WmspRestackMakeResultController extends BaseRESTfulController {
         PageHelper.startPage(pageNum, pageSize);
         //分页查询数据
         List<Map<String, Object>> columnList = wmspRestackMakeResultService.selectRestackForPc(mapVal);
-
         PageListAdd data = columnDataUtil.tableColumnData(apiId, list, columnList);
-
         return success(data);
     }
     @ApiOperation(value="展示已下发倒垛单", notes="分页查询")

+ 9 - 1
src/main/java/com/steerinfo/dil/mapper/WmspGridMaterialMapper.java

@@ -40,7 +40,15 @@ public interface WmspGridMaterialMapper extends IBaseMapper<WmspGridMaterial, Bi
   //根据物资唯一编码查询实时库存id
   List<Map<String,Object>> selectGridIdByMaterialCode(Map<String,Object> map);
 
-    Map<String, Object> getReboundScanResultByResultMaterial(@Param("material") String material, @Param("materialOnlyCode")String materialOnlyCode);
+  Map<String, Object> getReboundScanResultByResultMaterial(@Param("material") String material, @Param("materialOnlyCode")String materialOnlyCode);
 
   List<Map<String, Object>> getMaterialTypeList(String warehouseid, BigDecimal stackingId, BigDecimal gradtionNumber);
+
+  //根据物资唯一编码和网格id确定实时库存主键
+  Map<String,Object> selectGmIdByMaterialOnlyCode(@Param("GirdId")BigDecimal GirdId);
+
+  //根据物资唯一编码查找仓储网格原来的主键id
+  BigDecimal slelectGridIdByMaterialOnlyCode(@Param("materialOnlyCode")String materialOnlyCode);
+
+
 }

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

@@ -52,4 +52,7 @@ public interface WmspRestackMakeResultMapper extends IBaseMapper<WmspRestackMake
     List<Map<String, Object>> selectRestackByWarehouseIds(String warehouseid);
 
     int getResultLoaderAudit(String restackMake, String context);
+
+    //查找扫描数量和已扫描数量
+    Map<String,Object> getResultLoaderAuditNo(Map<String,Object> map);
 }

+ 3 - 0
src/main/java/com/steerinfo/dil/service/IWmspGridMaterialService.java

@@ -48,4 +48,7 @@ public interface IWmspGridMaterialService  {
     void initInsertWmspGridMaterial(Map<String, Object> item, BigDecimal houseGrid);
 
     Map<String, Object> getReboundScanResultByResultMaterial(String material ,String materialOnlyCode);
+
+    //修改实时库存
+   int updateWmspGridMaterial(Map<String,Object> map);
 }

+ 72 - 0
src/main/java/com/steerinfo/dil/service/impl/WmspGridMaterialServiceImpl.java

@@ -1,5 +1,7 @@
 package com.steerinfo.dil.service.impl;
 
+import com.steerinfo.dil.mapper.RmsPwarehouseGridMapper;
+import com.steerinfo.dil.mapper.RmsStackingMapper;
 import com.steerinfo.dil.mapper.WmspGridMaterialMapper;
 import com.steerinfo.dil.model.WmspGridMaterial;
 import com.steerinfo.dil.service.IWmspGridMaterialService;
@@ -11,6 +13,7 @@ import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -32,6 +35,10 @@ public class WmspGridMaterialServiceImpl  implements IWmspGridMaterialService {
 
     @Autowired
     private WmspGridMaterialMapper wmspGridMaterialMapper;
+    @Autowired
+    private RmsStackingMapper rmsStackingMapper;
+    @Autowired
+    private RmsPwarehouseGridMapper rmsPwarehouseGridMapper;
 
     //新增
     @Override
@@ -140,6 +147,71 @@ public class WmspGridMaterialServiceImpl  implements IWmspGridMaterialService {
         return wmspGridMaterialMapper.getReboundScanResultByResultMaterial(material,materialOnlyCode);
     }
 
+    //修改实时库存(倒垛)
+
+    /**
+     * 所需要参数:原来的仓储网格id,修改后的垛位
+     * @param map
+     * @return
+     */
+    @Override
+    public int updateWmspGridMaterial(Map<String, Object> map) {
+        int CC=0;
+        int MN=0;
+        int CX=0;
+        //获取物资唯一编码
+        List<Map<String,Object>> contents=(List<Map<String, Object>>) map.get("contents");
+        for (Map<String,Object> map1:contents) {
+            String content =(String) map1.get("content");
+            //截取
+            String[] split = content.split("-");
+            String materialOnlyCode = split[7];
+            //获取原来的垛位,修改垛位剩余物资数量
+            //根据物资唯一编码查找原来垛位的仓储网格id
+            BigDecimal GirdId = wmspGridMaterialMapper.slelectGridIdByMaterialOnlyCode(materialOnlyCode);
+            //根据物资唯一编码和物资编码去查找物资现存仓存网格
+            Map<String,Object> stringObjectMap = wmspGridMaterialMapper.selectGmIdByMaterialOnlyCode(GirdId);
+            BigDecimal gmId = DataChange.dataToBigDecimal(stringObjectMap.get("gmId"));
+            WmspGridMaterial wmspGridMaterial=new WmspGridMaterial();
+            wmspGridMaterial.setGmId(gmId);
+            //设置为删除且锁定的状态
+            wmspGridMaterial.setDeleted(new BigDecimal(1));
+            wmspGridMaterial.setStatus(new BigDecimal(1));
+            wmspGridMaterialMapper.updateByPrimaryKeySelective(wmspGridMaterial);
+            //获取垛位id
+            BigDecimal stackingId = DataChange.dataToBigDecimal(map1.get("stackingId"));
+            //根据最新的垛位
+            //计算仓储网格id
+            //获取物资数
+             MN=rmsStackingMapper.selectMaterialNumber(map1);
+             //计算层次号
+             CC=(MN)/24+1;
+             //计算层序号
+             CX=(MN)%24+1;
+             //根据原来的仓储网格id查询仓库id
+            BigDecimal warehouseId = DataChange.dataToBigDecimal(stringObjectMap.get("warehouseId"));
+            Map<String,Object> map2=new HashMap<>();
+            map2.put("gradationNumber",CC);
+            map2.put("sequenceNumber",CX);
+            map2.put("stackingID",stackingId);
+            map2.put("warehouseId",warehouseId);
+            BigDecimal GridId = rmsPwarehouseGridMapper.selectGridId(map2);
+            BigDecimal gmNumber =(BigDecimal) stringObjectMap.get("gmNumber");
+            BigDecimal weight = (BigDecimal) stringObjectMap.get("weight");
+            BigDecimal materialId =(BigDecimal) stringObjectMap.get("materialId");
+            //新增实时库存
+            wmspGridMaterial.setGmId(wmspGridMaterialMapper.getCount());
+            wmspGridMaterial.setGridId(GridId);
+            wmspGridMaterial.setMaterialId(materialId);
+            wmspGridMaterial.setGmNumber(gmNumber);
+            wmspGridMaterial.setGmWeight(weight);
+            wmspGridMaterial.setInsertTime(new Date());
+            wmspGridMaterial.setInsertUsername("admin");
+            wmspGridMaterialMapper.insertSelective(wmspGridMaterial);
+        }
+        return 1;
+    }
+
     public List<Map<String, Object>> getMaterialTypeList(String warehouseid, BigDecimal stackingId, BigDecimal gradtionNumber) {
         return wmspGridMaterialMapper.getMaterialTypeList(warehouseid,stackingId,gradtionNumber);
     }

+ 13 - 1
src/main/java/com/steerinfo/dil/service/impl/WmspRestackScanResultServiceImpl.java

@@ -4,6 +4,7 @@ import com.steerinfo.dil.mapper.WmspRestackMakeResultMapper;
 import com.steerinfo.dil.mapper.WmspRestackScanResultMapper;
 import com.steerinfo.dil.model.WmspRestackScanResult;
 import com.steerinfo.dil.service.IWmspRestackScanResultService;
+import com.steerinfo.dil.util.DataChange;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import com.steerinfo.framework.service.impl.BaseServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -149,7 +150,18 @@ public class WmspRestackScanResultServiceImpl  implements IWmspRestackScanResult
             //设置状态
             //判断需要倒垛的类型
             int status= wmspRestackMakeResultMapper.getResultLoaderAudit(restackMake,onlyCode);
-            if (status>0){
+            //查询倒垛的数量
+            Map<String,Object> map=new HashMap<>();
+            map.put("onlyCode",onlyCode);
+            map.put("restackMake",restackMake);
+            Map<String,Object> map1=wmspRestackMakeResultMapper.getResultLoaderAuditNo(map);
+            BigDecimal quantity = DataChange.dataToBigDecimal(map1.get("quantity"));
+            BigDecimal no =DataChange.dataToBigDecimal(map1.get("no"));
+            int AuditNo=0;
+            if (quantity.equals(no)){
+                AuditNo=1;
+            }
+            if (status>0&&AuditNo>0){
                 wmspRestackScanResult.setResultLoaderAudit(new BigDecimal(1));
             }
             wmspRestackScanResult.setResultLoaderAudit(new BigDecimal(0));

+ 2 - 2
src/main/resources/application-dev.yml

@@ -1,8 +1,8 @@
 spring:
   datasource:
     url: jdbc:oracle:thin:@172.16.33.163:1521:ilsdbpri
-    password: Dil123789
-    username: dil
+    password: root123
+    username: dagang
     driver-class-name: oracle.jdbc.OracleDriver
   application:
     name: dil-wms-api

+ 28 - 1
src/main/resources/com/steerinfo/dil/mapper/WmspGridMaterialMapper.xml

@@ -427,7 +427,8 @@
     RM.MATERIAL_NAME "materialName",
     RPG.GRID_ID  "gridId",
     RMS.MATERIAL_STEEL_ID "materialId",
-    RMS.MATERIAL_ONLY_CODE "materialOnlyCode"
+    RMS.MATERIAL_ONLY_CODE "materialOnlyCode",
+    WGM.GM_ID "gmId"
 
 
     from WMSP_GRID_MATERIAL WGM
@@ -688,4 +689,30 @@
     </if>
     )
   </select>
+<!--根据物资唯一编码和仓储网格id获取得主键 -->
+  <select id="selectGmIdByMaterialOnlyCode" parameterType="java.math.BigDecimal" resultType="java.util.Map">
+    select WGM.GM_ID "gmId",
+           RPG.WAREHOUSE_ID "warehouseId",
+           WGM.MATERIAL_ID "materialId",
+           WGM.GM_NUMBER "gmNumber",
+           WGM.GM_WEIGHT "weight"
+
+
+    from WMSP_GRID_MATERIAL WGM
+    left join RMS_PWAREHOUSE_GRID RPG
+    on RPG.GRID_ID=WGM.GRID_ID
+    left join RMS_WAREHOUSE RW
+    on RW.WAREHOUSE_ID=RPG.WAREHOUSE_ID
+    WHERE WGM.GRID_ID=#{GirdId}
+  </select>
+  <select id="slelectGridIdByMaterialOnlyCode" parameterType="java.lang.String" resultType="java.math.BigDecimal">
+    select WGM.GRID_ID "girdId"
+   from RMS_MATERIAL_STEEL RMS
+   left join WMSP_GRID_MATERIAL WGM
+   on  WGM.MATERIAL_ID = RMS.MATERIAL_STEEL_ID
+   WHERE  RMS.MATERIAL_ONLY_CODE=#{materialOnlyCode}
+  </select>
+
+  
+  
 </mapper>

+ 11 - 0
src/main/resources/com/steerinfo/dil/mapper/WmspRestackMakeResultMapper.xml

@@ -1410,4 +1410,15 @@
     left join RMS_MATERIAL rm on rm.material_id= rms.material_id
     where rms.material_only_code='context') and WMSP_RESTACK_MAKE_ID=#{restackMake}
   </select>
+  <select id="getResultLoaderAuditNo" resultType="java.util.Map" parameterType="java.util.Map">
+    select WRMR.QUANTITY "quantity",
+           count(WRSR.RESULT_ID) as "no"
+    from WMSP_RESTACK_MAKE_TYPE_RESULT WRMTR
+    left join WMSP_RESTACK_MAKE_RESULT WRMR
+    on WRMR.RESULT_ID=WRMTR.WMSP_RESTACK_MAKE_ID
+    left join WMSP_RESTACK_SCAN_RESULT WRSR
+    on WRSR.RESULT_RESTACK_ID=WRMR.RESULT_ID
+    WHERE WRMTR.WMSP_RESTACK_MAKE_ID=#{restackMake} AND WRSR.MATERIAL_ONLY_CODE=#{onlyCode}
+  </select>
+
 </mapper>