فهرست منبع

修改仓储bug

胡半仙 3 سال پیش
والد
کامیت
f34275e213

+ 104 - 27
src/main/java/com/steerinfo/dil/controller/WmsInboundResultController.java

@@ -17,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -70,6 +71,8 @@ public class WmsInboundResultController extends BaseRESTfulController {
     WmsInboundScanResultServiceImpl wmsInboundScanResultService;
     @Autowired
     WmspSendReceiveServiceImpl wmspSendReceiveService;
+
+    private final SimpleDateFormat sdfDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
     /**
      * 展示入库实绩
      * @param mapValue
@@ -87,39 +90,101 @@ public class WmsInboundResultController extends BaseRESTfulController {
                                              Integer apiId,
                                              Integer pageNum,
                                              Integer pageSize,
-                                             String con) {
-        if(con != null){
-            if(!"undefined".equals(con)){
-                String index = "get_wms_inboundresult";
-                return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));
+                                             String startTime,
+                                             String endTime) {
+
+        DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
+        List<Map<String,Object>> inboundResultList = wmsInboundResultServiceImpl.getInboundResult(mapValue);
+
+        /*分页*/
+        PageHelper.startPage(pageNum, pageSize);
+        List<Map<String,Object>> columnList = wmsInboundResultServiceImpl.getInboundResult(mapValue);
+//        处理异常状态字段
+        for (Map<String,Object>map:columnList
+        ) {
+            BigDecimal isComplete = (BigDecimal) map.get("isComplete");
+            if(isComplete.intValue() == 1){
+                map.remove("isComplete");
+                map.put("isComplete","无异常,正常入库");
+            }else{
+                map.remove("isComplete");
+                map.put("isComplete","异常入库");
             }
         }
-        List<Map<String,Object>>inboundResultList = null;
-        if(mapValue.size() == 0){
-            //将查询结果存入索引中
-            inboundResultList = wmsInboundResultServiceImpl.getInboundResult(mapValue);
-            Map<String, Object> inboundResultMap = new HashMap<>();
-            //添加索引
-            inboundResultMap.put("index","get_wms_inboundresultse");
-            //添加ID
-            inboundResultMap.put("indexId","inboundresultId");
-            inboundResultList.add(inboundResultMap);
-            //新建索引
-            esFeign.insertIndex(inboundResultList);
-            //删除
-            inboundResultList.remove(inboundResultList.size() -1);
-        }
-        if(inboundResultList == null) {
-            inboundResultList = wmsInboundResultServiceImpl.getInboundResult(mapValue);
-        }
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId,inboundResultList,columnList);
+        return success(pageList);
+    }
+    /**
+     * 展示入库实绩
+     * @param mapValue
+     * @param apiId
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
+    @PostMapping("/getWmsInboundResultStatistics")
+    @ApiOperation(value = "展示入库统计信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "apiId", value = "371", required = false, dataType = "BigDecimal"),
+    })
+    public RESTfulResult getWmsInboundResultStatistics(@RequestBody(required = false) Map<String, Object> mapValue,
+                                             Integer apiId,
+                                             Integer pageNum,
+                                             Integer pageSize,
+                                             Integer warehouseId,
+                                             String startTime,
+                                             String endTime) {
+
+        DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
+        List<Map<String,Object>> inboundResultList = wmsInboundResultServiceImpl.getWmsInboundResultStatistics(mapValue,warehouseId);
+
         /*分页*/
         PageHelper.startPage(pageNum, pageSize);
-        List<Map<String,Object>> columnList = wmsInboundResultServiceImpl.getInboundResult(mapValue);
+        List<Map<String,Object>> columnList = wmsInboundResultServiceImpl.getWmsInboundResultStatistics(mapValue,warehouseId);
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId,inboundResultList,columnList);
         return success(pageList);
     }
+    /**
+     * 展示入库实绩
+     * @param mapValue
+     * @param apiId
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
+    @PostMapping("/getWmsInboundResults")
+    @ApiOperation(value = "展示入库实绩信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "apiId", value = "371", required = false, dataType = "BigDecimal"),
+    })
+    public RESTfulResult getWmsInboundResults(@RequestBody(required = false) Map<String, Object> mapValue,
+                                             Integer apiId,
+                                             Integer pageNum,
+                                             Integer pageSize,
+                                             String startTime,
+                                             String endTime) {
 
+        DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
+        List<Map<String,Object>> inboundResultList = wmsInboundResultServiceImpl.getInboundResults(mapValue);
 
+        /*分页*/
+        PageHelper.startPage(pageNum, pageSize);
+        List<Map<String,Object>> columnList = wmsInboundResultServiceImpl.getInboundResults(mapValue);
+//        处理异常状态字段
+        for (Map<String,Object>map:columnList
+        ) {
+            BigDecimal isComplete = (BigDecimal) map.get("isComplete");
+            if(isComplete.intValue() == 1){
+                map.remove("isComplete");
+                map.put("isComplete","无异常,正常入库");
+            }else{
+                map.remove("isComplete");
+                map.put("isComplete","异常入库");
+            }
+        }
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId,inboundResultList,columnList);
+        return success(pageList);
+    }
     /**
      * 展示入库实绩
      * @param mapValue
@@ -140,7 +205,7 @@ public class WmsInboundResultController extends BaseRESTfulController {
                                              String con) {
         if(con != null){
             if(!"undefined".equals(con)){
-                String index = "get_wms_inboundresult";
+                String index = "get_wms_reservedresult";
                 return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));
             }
         }
@@ -150,9 +215,9 @@ public class WmsInboundResultController extends BaseRESTfulController {
             inboundResultList = wmsInboundResultServiceImpl.getWmsReservedResult(mapValue);
             Map<String, Object> inboundResultMap = new HashMap<>();
             //添加索引
-            inboundResultMap.put("index","get_wms_inboundresultse");
+            inboundResultMap.put("index","get_wms_reservedresult");
             //添加ID
-            inboundResultMap.put("indexId","inboundresultId");
+            inboundResultMap.put("indexId","reservedresultId");
             inboundResultList.add(inboundResultMap);
             //新建索引
             esFeign.insertIndex(inboundResultList);
@@ -165,6 +230,18 @@ public class WmsInboundResultController extends BaseRESTfulController {
         /*分页*/
         PageHelper.startPage(pageNum, pageSize);
         List<Map<String,Object>> columnList = wmsInboundResultServiceImpl.getWmsReservedResult(mapValue);
+//        处理异常状态字段
+        for (Map<String,Object>map:columnList
+        ) {
+            BigDecimal isComplete = (BigDecimal) map.get("isComplete");
+            if(isComplete.intValue() == 1){
+                map.remove("isComplete");
+                map.put("isComplete","无异常,正常入库");
+            }else{
+                map.remove("isComplete");
+                map.put("isComplete","异常入库");
+            }
+        }
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId,inboundResultList,columnList);
         return success(pageList);
     }

+ 54 - 0
src/main/java/com/steerinfo/dil/controller/WmspGridMaterialController.java

@@ -211,6 +211,42 @@ public class WmspGridMaterialController extends BaseRESTfulController {
         return success(result);
     }
 
+    //    创建预留实绩
+    @ApiOperation(value = "创建盘点实绩",notes = "根据仓库、物资型号和物资数量创建盘点实绩")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "warehouseId",dataType = "String",value = "仓库"),
+            @ApiImplicitParam(name = "materialCode",dataType = "Integer",value = "物资编码"),
+            @ApiImplicitParam(name = "materialSpecification",dataType = "String",value = "物资规格"),
+            @ApiImplicitParam(name = "materialModel",dataType = "String",value = "物资型号"),
+            @ApiImplicitParam(name = "quantity",dataType = "Integer",value = "物资数量"),
+    })
+    @PostMapping("/insertReserved")
+    public  RESTfulResult insertReserved(String warehouseId, String materialCode,String materialSpecification, String materialModel, Integer quantity){
+        int result = wmspGridMaterialService.insertReserved(warehouseId,materialCode,materialSpecification,materialModel,quantity);
+//        判断当前的result是否大于0
+        if (result<1){
+            return failed(-1);
+        }
+        return success(result);
+    }
+    //    创建预留实绩
+    @ApiOperation(value = "创建盘点实绩",notes = "根据仓库、物资型号和物资数量创建盘点实绩")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "warehouseId",dataType = "String",value = "仓库"),
+            @ApiImplicitParam(name = "materialCode",dataType = "Integer",value = "物资编码"),
+            @ApiImplicitParam(name = "materialSpecification",dataType = "String",value = "物资规格"),
+            @ApiImplicitParam(name = "materialModel",dataType = "String",value = "物资型号"),
+            @ApiImplicitParam(name = "quantity",dataType = "Integer",value = "物资数量"),
+    })
+    @PostMapping("/insertInbounds")
+    public  RESTfulResult insertInbounds(String warehouseId, String materialCode,String materialSpecification, String materialModel, Integer quantity){
+        int result = wmspGridMaterialService.insertInbounds(warehouseId,materialCode,materialSpecification,materialModel,quantity);
+//        判断当前的result是否大于0
+        if (result<1){
+            return failed(-1);
+        }
+        return success(result);
+    }
 //    查询盘库实绩
     @ApiOperation(value = "查询盘库实绩",notes = "查询盘库实绩")
     @ApiImplicitParams({
@@ -240,6 +276,24 @@ public class WmspGridMaterialController extends BaseRESTfulController {
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId,columnList,mapList);
         return success(pageList);
     }
+
+    //    根据仓库id查询对应库的物资规格型号
+    @ApiOperation(value = "查询所有钢材的物资信息",notes = "查询所有钢材的物资信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "apiId", value = "443", required = false, dataType = "BigDecimal"),
+    })
+    @PostMapping("/getSteelMaterialModelList")
+    public  RESTfulResult getSteelMaterialModelList(Integer pageNum,
+                                                   Integer pageSize,
+                                                   Integer apiId,
+                                                    Integer warehouseId,
+                                                    Integer status){
+        List<Map<String,Object>> columnList=wmspGridMaterialService.getSteelMaterialModelList(warehouseId,status);
+        PageHelper.startPage(pageNum,pageSize);
+        List<Map<String,Object>> mapList=wmspGridMaterialService.getSteelMaterialModelList(warehouseId,status);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId,columnList,mapList);
+        return success(pageList);
+    }
 }
 
 

+ 2 - 0
src/main/java/com/steerinfo/dil/mapper/WmspCheckWarehouseMapper.java

@@ -16,4 +16,6 @@ public interface WmspCheckWarehouseMapper extends IBaseMapper<WmspCheckWarehouse
     BigDecimal getMaxId();
 //    查找钢材物资信息
     List<Map<String, Object>> getSteelMaterialList();
+    //    查找钢材物资规格型号信息以及当前仓储在今天的最大预留量
+    List<Map<String, Object>> getSteelMaterialModelList(Integer warehouseId,Integer status);
 }

+ 2 - 0
src/main/java/com/steerinfo/dil/mapper/WmspGridMaterialMapper.java

@@ -62,4 +62,6 @@ public interface WmspGridMaterialMapper extends IBaseMapper<WmspGridMaterial, Bi
 
 
   int deleteGridMaterial(@Param("thisMaterialDetailedInfos") List<OutBoundMaterialDetailedInfo> thisMaterialDetailedInfos,@Param("now")Date now);
+
+  List<Map<String, Object>> getMaterialIdes(String warehouseId, String materialCode, String materialSpecification, String materialModel,Integer status);
 }

+ 4 - 0
src/main/java/com/steerinfo/dil/mapper/WmspInboundResultMapper.java

@@ -19,6 +19,8 @@ public interface WmspInboundResultMapper extends IBaseMapper<WmspInboundResult,
      * @return
      */
     List<Map<String, Object>> selectWmsInboundResult(Map<String, Object> mapValue);
+//    查询真实入库实绩
+    List<Map<String, Object>> selectWmsInboundResults(Map<String, Object> mapValue);
     List<Map<String, Object>> selectWmsReservedResult(Map<String, Object> mapValue);
     @Select("select seq_WMSP_INBOUND_RESULT.nextval from dual")
     BigDecimal getCount();
@@ -63,4 +65,6 @@ public interface WmspInboundResultMapper extends IBaseMapper<WmspInboundResult,
     int updateStatusByMaterilaId(BigDecimal materialId);
 
     int updateStatusByMaterialId(BigDecimal materialId);
+
+    List<Map<String, Object>> getWmsInboundResultStatistics(Map<String, Object> mapValue, Integer warehouseId);
 }

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

@@ -17,6 +17,7 @@ public interface IWmsInboundResultService {
      * @return
      */
     List<Map<String, Object>> getInboundResult(Map<String, Object> mapValue);
+    List<Map<String, Object>> getInboundResults(Map<String, Object> mapValue);
 
     List<Map<String, Object>> getWmsReservedResult(Map<String, Object> mapValue);
 
@@ -76,4 +77,6 @@ public interface IWmsInboundResultService {
     int updateStatusByMaterialId(BigDecimal materialId);
 //    根据对应的入库实绩id修改入库状态为预留
     int changeReserved(List<Map<String, Object>> mapList);
+//    根据仓库id获取对应的统计信息
+    List<Map<String, Object>> getWmsInboundResultStatistics(Map<String, Object> mapValue,Integer warehouseId);
 }

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

@@ -58,4 +58,10 @@ public interface IWmspGridMaterialService  {
     List<Map<String, Object>> getSteelMaterialList();
 
     int deleteGridMaterial(List<OutBoundMaterialDetailedInfo> thisMaterialDetailedInfos);
+
+    List<Map<String, Object>> getSteelMaterialModelList(Integer warehouseId,Integer status);
+//    新增入库转预留
+    int insertReserved(String warehouseId, String materialCode, String materialSpecification, String materialModel, Integer quantity);
+//    新增预留转入库
+    int insertInbounds(String warehouseId, String materialCode, String materialSpecification, String materialModel, Integer quantity);
 }

+ 12 - 22
src/main/java/com/steerinfo/dil/service/impl/WmsInboundResultServiceImpl.java

@@ -35,17 +35,18 @@ public class WmsInboundResultServiceImpl implements IWmsInboundResultService {
     @Override
     public List<Map<String,Object>> getInboundResult(Map<String, Object> mapValue){
         List<Map<String, Object>> maps = wmspInboundResultMapper.selectWmsInboundResult(mapValue);
-        for (Map<String,Object>map:maps
-             ) {
-              BigDecimal isComplete = (BigDecimal) map.get("isComplete");
-              if(isComplete.intValue() == 1){
-                  map.remove("isComplete");
-                  map.put("isComplete","无异常,正常入库");
-              }else{
-                  map.remove("isComplete");
-                  map.put("isComplete","异常入库");
-              }
-        }
+        return maps;
+    }
+//    展示入库统计信息
+    @Override
+    public List<Map<String, Object>> getWmsInboundResultStatistics(Map<String, Object> mapValue, Integer warehouseId) {
+        List<Map<String, Object>> maps = wmspInboundResultMapper.getWmsInboundResultStatistics(mapValue,warehouseId);
+        return null;
+    }
+
+    @Override
+    public List<Map<String,Object>> getInboundResults(Map<String, Object> mapValue){
+        List<Map<String, Object>> maps = wmspInboundResultMapper.selectWmsInboundResults(mapValue);
         return maps;
     }
     /**
@@ -56,17 +57,6 @@ public class WmsInboundResultServiceImpl implements IWmsInboundResultService {
     @Override
     public List<Map<String,Object>> getWmsReservedResult(Map<String, Object> mapValue){
         List<Map<String, Object>> maps = wmspInboundResultMapper.selectWmsReservedResult(mapValue);
-        for (Map<String,Object>map:maps
-        ) {
-            BigDecimal isComplete = (BigDecimal) map.get("isComplete");
-            if(isComplete.intValue() == 1){
-                map.remove("isComplete");
-                map.put("isComplete","无异常,正常入库");
-            }else{
-                map.remove("isComplete");
-                map.put("isComplete","异常入库");
-            }
-        }
         return maps;
     }
     /**

+ 66 - 4
src/main/java/com/steerinfo/dil/service/impl/WmspGridMaterialServiceImpl.java

@@ -1,10 +1,7 @@
 package com.steerinfo.dil.service.impl;
 
 import com.steerinfo.dil.mapper.*;
-import com.steerinfo.dil.model.WmspCheckWarehouse;
-import com.steerinfo.dil.model.WmspGridMaterial;
-import com.steerinfo.dil.model.WmspRestackMakeResult;
-import com.steerinfo.dil.model.WmspRestackScanResult;
+import com.steerinfo.dil.model.*;
 import com.steerinfo.dil.service.IWmspGridMaterialService;
 import com.steerinfo.dil.util.DataChange;
 import com.steerinfo.dil.vo.OutBoundMaterialDetailedInfo;
@@ -42,6 +39,8 @@ public class WmspGridMaterialServiceImpl  implements IWmspGridMaterialService {
     private WmspRestackMakeResultMapper wmspRestackMakeResultMapper;
     @Autowired
     private WmspCheckWarehouseMapper wmspCheckWarehouseMapper;
+    @Autowired
+    private WmspInboundResultMapper wmspInboundResultMapper;
 
 
     //新增
@@ -296,8 +295,71 @@ public class WmspGridMaterialServiceImpl  implements IWmspGridMaterialService {
         return wmspCheckWarehouseMapper.getSteelMaterialList();
     }
 
+    @Override
+    public List<Map<String, Object>> getSteelMaterialModelList(Integer warehouseId,Integer status) {
+        return wmspCheckWarehouseMapper.getSteelMaterialModelList(warehouseId,status);
+    }
     @Override
     public int deleteGridMaterial(List<OutBoundMaterialDetailedInfo> thisMaterialDetailedInfos) {
         return wmspGridMaterialMapper.deleteGridMaterial(thisMaterialDetailedInfos,new Date());
     }
+
+    @Override
+    public int insertReserved(String warehouseId, String materialCode, String materialSpecification, String materialModel, Integer quantity) {
+//        设置状态为入库转预留
+        Integer status = 1;
+//        根据前端传过来的物资型号,物资规格查询当前实时库存中的物资id
+        List<Map<String,Object>> materialIdList=wmspGridMaterialMapper.getMaterialIdes(warehouseId,materialCode,materialSpecification,materialModel,status);
+//        当数量小于零的时候
+        if (quantity<=0){
+            return 0;
+        }else if (quantity>materialIdList.size()){
+            //        当数量大于查询到的数量
+            return -1;
+        }else{
+            int count = 0;
+//        遍历materialList
+            for (int i =0;i<quantity;i++){
+                Map<String,Object> map =materialIdList.get(i);
+                BigDecimal inboundId=(BigDecimal) map.get("inboundId");
+//            创建入库实体类
+                WmspInboundResult wmspInboundResult = new WmspInboundResult();
+                wmspInboundResult.setInboundId(inboundId);
+                wmspInboundResult.setInboundIscomplete(new BigDecimal(2));
+//            修改入库实绩
+                count += wmspInboundResultMapper.updateByPrimaryKeySelective(wmspInboundResult);
+            }
+            return count;
+        }
+    }
+
+    @Override
+    public int insertInbounds(String warehouseId, String materialCode, String materialSpecification, String materialModel, Integer quantity) {
+//        设置状态为预留转入库
+        Integer status = 2;
+        //        根据前端传过来的物资型号,物资规格查询当前实时库存中的物资id
+        List<Map<String,Object>> materialIdList=wmspGridMaterialMapper.getMaterialIdes(warehouseId,materialCode,materialSpecification,materialModel,status);
+//        当数量小于零的时候
+        if (quantity<=0){
+            return 0;
+        }else if (quantity>materialIdList.size()){
+            //        当数量大于查询到的数量
+            return -1;
+        }else{
+            int count = 0;
+//        遍历materialList
+            for (int i =0;i<quantity;i++){
+                Map<String,Object> map =materialIdList.get(i);
+                BigDecimal inboundId=(BigDecimal) map.get("inboundId");
+//            创建入库实体类
+                WmspInboundResult wmspInboundResult = new WmspInboundResult();
+                wmspInboundResult.setInboundId(inboundId);
+                wmspInboundResult.setInboundIscomplete(new BigDecimal(1));
+                wmspInboundResult.setInsertTime(new Date());
+//            修改入库实绩
+                count += wmspInboundResultMapper.updateByPrimaryKeySelective(wmspInboundResult);
+            }
+            return count;
+        }
+    }
 }

+ 40 - 0
src/main/resources/com/steerinfo/dil/mapper/WmspCheckWarehouseMapper.xml

@@ -405,4 +405,44 @@
         LEFT JOIN RMS_MATERIAL RM
         ON RMS.MATERIAL_ID = RM.MATERIAL_ID
     </select>
+    <select id="getSteelMaterialModelList" resultType="java.util.Map">
+      SELECT DISTINCT
+        --             物资名称
+        RM.MATERIAL_NAME "materialName",
+        --                物资编码
+        RM.MATERIAL_CODE "materialCode",
+        --                物资规格
+        RM.MATERIAL_SPECIFICATION "materialSpecification",
+        --                物资型号
+        RM.MATERIAL_MODEL "materialModel",
+        --                物资长度
+        RM.MATERIAL_LENGTH "materialLength",
+        (
+          SELECT COUNT(*) FROM RMS_MATERIAL_STEEL RMS
+--                 关联物资表
+                                 LEFT JOIN RMS_MATERIAL RM
+                                           ON RMS.MATERIAL_ID = RM.MATERIAL_ID
+--                     关联实时库存表
+                                 LEFT JOIN WMSP_GRID_MATERIAL WGM
+                                           ON WGM.MATERIAL_ID = RMS.MATERIAL_STEEL_ID
+--                     关联仓储网格表
+                                 LEFT JOIN RMS_PWAREHOUSE_GRID RPG
+                                           ON RPG.GRID_ID = WGM.GRID_ID
+                                 LEFT JOIN WMSP_INBOUND_RESULT WIR
+                                           ON WIR.MATERIAL_ID=WGM.MATERIAL_ID
+
+          WHERE RPG.WAREHOUSE_ID =3 AND WGM.DELETED = 0 AND WIR.INBOUND_ISCOMPLETE=#{status} AND WGM.UPDATE_TIME IS NULL
+        ) "max"
+            FROM RMS_MATERIAL_STEEL RMS
+--                 关联物资表
+                   LEFT JOIN RMS_MATERIAL RM
+                             ON RMS.MATERIAL_ID = RM.MATERIAL_ID
+--                     关联实时库存表
+                   LEFT JOIN WMSP_GRID_MATERIAL WGM
+                             ON WGM.MATERIAL_ID = RMS.MATERIAL_STEEL_ID
+--                     关联仓储网格表
+                   LEFT JOIN RMS_PWAREHOUSE_GRID RPG
+                             ON RPG.GRID_ID = WGM.GRID_ID
+        WHERE RPG.WAREHOUSE_ID = #{warehouseId}
+    </select>
 </mapper>

+ 22 - 0
src/main/resources/com/steerinfo/dil/mapper/WmspGridMaterialMapper.xml

@@ -763,6 +763,28 @@
     on wgm.GRID_ID = wpg.GRID_ID
     where wpg.WAREHOUSE_ID = #{warehouseId}
  </select>
+  <select id="getMaterialIdes" resultType="java.util.Map">
+    SELECT
+           RMS.MATERIAL_STEEL_ID "materialId",
+           WIR.INBOUND_ID "inboundId"
+    FROM RMS_MATERIAL_STEEL RMS
+    LEFT JOIN RMS_MATERIAL RM
+    ON RM.MATERIAL_ID = RMS.MATERIAL_ID
+    LEFT JOIN WMSP_GRID_MATERIAL WGM
+    ON WGM.MATERIAL_ID = RMS.MATERIAL_STEEL_ID
+    LEFT JOIN RMS_PWAREHOUSE_GRID RPG
+    ON RPG.GRID_ID = WGM.GRID_ID
+    LEFT JOIN WMSP_INBOUND_RESULT WIR
+    ON WIR.MATERIAL_ID = WGM.MATERIAL_ID
+    WHERE WIR.RESULT_DELETED =0
+      AND WGM.DELETED = 0
+      AND WIR.INBOUND_ISCOMPLETE =#{status}
+      AND WIR.RESULT_STATUS >1
+      AND RPG.WAREHOUSE_ID = #{warehouseId}
+      AND RM.MATERIAL_CODE = #{materialCode}
+      AND RM.MATERIAL_MODEL= #{materialModel}
+      AND RM.MATERIAL_SPECIFICATION = #{materialSpecification}
+  </select>
   <delete id="deleteGridMaterial">
     update WMSP_GRID_MATERIAL WGM set WGM.DELETED = 1,UPDATE_TIME = #{now}
     where WGM.MATERIAL_ID in

+ 199 - 13
src/main/resources/com/steerinfo/dil/mapper/WmspInboundResultMapper.xml

@@ -617,18 +617,171 @@
     <!-- 友情提示!!!-->
     <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
     <select id="selectWmsInboundResult" resultType="java.util.LinkedHashMap">
-        select
+        SELECT
         wir.INBOUND_ID "inboundId",
         RM.MATERIAL_NAME || RM.MATERIAL_SPECIFICATION || '(' ||
         RM.MATERIAL_MODEL || ')' "materialName",
-        wir.inbound_number "inboundNo",
-        wir.inbound_time "inboundTime",
-        wir.inbound_iscomplete "isComplete",
+        wir.INBOUND_NUMBER "inboundNo",
+        wir.INBOUND_TIME "inboundTime",
+        wir.INBOUND_ISCOMPLETE "isComplete",
         RW.WAREHOUSE_NAME "warehouseName",
         RS.STACKING_NO "stackingNo",
-        RPG.GRID_GRADATION_NUMBER "gridGradationNumber"
+        RPG.GRID_GRADATION_NUMBER "gridGradationNumber",
+--         关联炉号
+        rms.MATERIAL_FURNACE_NUMBER "furnaceNumber",
+--                关联物资实际重量
+        rms.MATERIAL_THEORETICAL_WEIGHT "theoreticalWeight"
+        FROM wmsp_inbound_result wir
+        LEFT JOIN WMSP_GRID_MATERIAL wgm
+        ON wgm.MATERIAL_ID = wir.MATERIAL_ID
+        LEFT JOIN RMS_MATERIAL_STEEL rms
+        ON rms.MATERIAL_STEEL_ID = wir.MATERIAL_ID
+        LEFT JOIN RMS_MATERIAL rm
+        ON rm.MATERIAL_ID = rms.MATERIAL_ID
+        LEFT JOIN RMS_PWAREHOUSE_GRID rpg
+        ON RPG.GRID_ID = wir.GRID_ID
 
-        from wmsp_inbound_result wir
+        LEFT JOIN RMS_WAREHOUSE RW
+        ON RW.WAREHOUSE_ID = rpg.WAREHOUSE_ID
+
+        LEFT JOIN RMS_STACKING RS
+        ON RS.STACKING_ID = RPG.STACKING_ID
+
+        WHERE
+        wir.inbound_type = 0
+        AND wir.result_deleted = 0
+        AND wir.INBOUND_ISCOMPLETE != 2
+        AND wgm.UPDATE_TIME IS NULL
+        <if test="oneDate != null">
+            and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= wir.inbound_time
+        </if>
+        <if test="startDate != null">
+            and to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= wir.inbound_time
+            and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= wir.inbound_time
+        </if>
+        ORDER BY wir.inbound_time DESC
+        <where>
+            <if test="INBOUND_NUMBER != null">
+                and "INBOUND_NUMBER" in
+                <foreach collection="INBOUND_NUMBER" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="WAREHOUSE_NAME != null">
+                and "WAREHOUSE_NAME" in
+                <foreach collection="WAREHOUSE_NAME" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="STACKING_NO != null">
+                and "STACKING_NO" in
+                <foreach collection="STACKING_NO" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="GRID_GRADATION_NUMBER != null">
+                and "GRID_GRADATION_NUMBER" in
+                <foreach collection="GRID_GRADATION_NUMBER" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="FURNACE_NUMBER != null">
+                and "FURNACE_NUMBER" in
+                <foreach collection="FURNACE_NUMBER" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="MATERIAL_CODE != null">
+                and "MATERIAL_CODE" in
+                <foreach collection="MATERIAL_CODE" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="MATERIAL_NAME != null">
+                and "MATERIAL_NAME" in
+                <foreach collection="MATERIAL_NAME" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="THEORETICAL_WEIGHT != null">
+                and "THEORETICAL_WEIGHT" in
+                <foreach collection="THEORETICAL_WEIGHT" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="BUNDLE_WEIGHT != null">
+                and "BUNDLE_WEIGHT" in
+                <foreach collection="BUNDLE_WEIGHT" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="MEASURE_NAME != null">
+                and "MEASURE_NAME" in
+                <foreach collection="MEASURE_NAME" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="PRODUCTION_DATE != null">
+                and "PRODUCTION_DATE" in
+                <foreach collection="PRODUCTION_DATE" item="item" open="(" separator="," close=")">
+                    to_date('${item}','yyyy-mm-dd hh24:mi:ss')
+                </foreach>
+            </if>
+            <if test="APERSONNEL_NAME != null">
+                and "APERSONNEL_NAME" in
+                <foreach collection="APERSONNEL_NAME" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="BPERSONNEL_NAME != null">
+                and "BPERSONNEL_NAME" in
+                <foreach collection="BPERSONNEL_NAME" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="DPERSONNEL_NAME != null">
+                and "DPERSONNEL_NAME" in
+                <foreach collection="DPERSONNEL_NAME" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="SHIPPER_BRANCH_FACTORY != null">
+                and "SHIPPER_BRANCH_FACTORY" in
+                <foreach collection="SHIPPER_BRANCH_FACTORY" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="PERSONNEL_WORKSHOP != null">
+                and "PERSONNEL_WORKSHOP" in
+                <foreach collection="PERSONNEL_WORKSHOP" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="INBOUND_TIME != null">
+                and "INBOUND_TIME" in
+                <foreach collection="INBOUND_TIME" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+        </where>
+        <include refid="orderBy"></include>
+    </select>
+    <select id="selectWmsInboundResults" resultType="java.util.LinkedHashMap">
+        SELECT
+        wir.INBOUND_ID "inboundId",
+        RM.MATERIAL_NAME || RM.MATERIAL_SPECIFICATION || '(' ||
+        RM.MATERIAL_MODEL || ')' "materialName",
+        wir.INBOUND_NUMBER "inboundNo",
+        wir.INBOUND_TIME "inboundTime",
+        wir.INBOUND_ISCOMPLETE "isComplete",
+        RW.WAREHOUSE_NAME "warehouseName",
+        RS.STACKING_NO "stackingNo",
+        RPG.GRID_GRADATION_NUMBER "gridGradationNumber",
+        --         关联炉号
+        rms.MATERIAL_FURNACE_NUMBER "furnaceNumber",
+        --                关联物资实际重量
+        rms.MATERIAL_THEORETICAL_WEIGHT "theoreticalWeight"
+        FROM wmsp_inbound_result wir
         LEFT JOIN WMSP_GRID_MATERIAL wgm
         ON wgm.MATERIAL_ID = wir.MATERIAL_ID
         LEFT JOIN RMS_MATERIAL_STEEL rms
@@ -644,11 +797,18 @@
         LEFT JOIN RMS_STACKING RS
         ON RS.STACKING_ID = RPG.STACKING_ID
 
-        where wir.inbound_type = 0
-        and wir.result_deleted = 0
-        and wir.INBOUND_ISCOMPLETE != 2
-        and wgm.UPDATE_TIME is null
-        order by wir.inbound_time desc
+        WHERE
+        wir.inbound_type = 0
+        AND wir.result_deleted = 0
+        AND wir.INBOUND_ISCOMPLETE != 2
+        <if test="oneDate != null">
+            and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= wir.inbound_time
+        </if>
+        <if test="startDate != null">
+            and to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= wir.inbound_time
+            and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= wir.inbound_time
+        </if>
+        ORDER BY wir.inbound_time DESC
         <where>
             <if test="INBOUND_NUMBER != null">
                 and "INBOUND_NUMBER" in
@@ -765,8 +925,11 @@
         wir.inbound_iscomplete "isComplete",
         RW.WAREHOUSE_NAME "warehouseName",
         RS.STACKING_NO "stackingNo",
-        RPG.GRID_GRADATION_NUMBER "gridGradationNumber"
-
+        RPG.GRID_GRADATION_NUMBER "gridGradationNumber",
+        --         关联炉号
+        rms.MATERIAL_FURNACE_NUMBER "furnaceNumber",
+        --                关联物资实际重量
+        rms.MATERIAL_THEORETICAL_WEIGHT "theoreticalWeight"
         from wmsp_inbound_result wir
 
         LEFT JOIN RMS_MATERIAL_STEEL rms
@@ -1376,5 +1539,28 @@
          select count(*) from  WMSP_INBOUND_RESULT
         where MATERIAL_ID=#{materialId} and INBOUND_ISCOMPLETE='2'
     </select>
+    <select id="getWmsInboundResultStatistics" resultType="java.util.Map">
+        SELECT count(material_furnace_number) coun,
+               count(rm.MATERIAL_THEORETICAL_WEIGHT)  "theoreticalWeight",
+               material_furnace_number "furnaceNumber",
+                rm.MATERIAL_NAME || rm.MATERIAL_SPECIFICATION || '(' ||
+                rm.MATERIAL_MODEL || ')' "materialName",
+
+        FROM WMSP_INBOUND_RESULT wir
+                 left join rms_material_steel  rms
+                           on rms.material_steel_id=wir.MATERIAL_ID
+                left join RMS_MATERIAL rm
+                on rm.MATERIAL_ID = rms.MATERIAL_ID
+
+        WHERE wir.RESULT_DELETED = 0
+        <if test="oneDate != null">
+        and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= wir.inbound_time
+        </if>
+        <if test="startDate != null">
+            and to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= wir.inbound_time
+            and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= wir.inbound_time
+        </if>
+        group by material_furnace_number
+    </select>
 
 </mapper>