Browse Source

Merge branch 'master' of https://git.steerinfo.com/luobang/DIL-DAZHOU-WMS2

Tiroble 3 years ago
parent
commit
0896dbef9a
23 changed files with 448 additions and 300 deletions
  1. 26 11
      src/main/java/com/steerinfo/dil/controller/WmspGridMaterialController.java
  2. 0 15
      src/main/java/com/steerinfo/dil/controller/WmspInventoryCloseController.java
  3. 3 10
      src/main/java/com/steerinfo/dil/controller/WmspOutboundResultController.java
  4. 32 1
      src/main/java/com/steerinfo/dil/controller/WmspRestackMakeResultController.java
  5. 0 19
      src/main/java/com/steerinfo/dil/controller/WmspSendReceiveController.java
  6. 5 5
      src/main/java/com/steerinfo/dil/mapper/WmspCheckWarehouseMapper.java
  7. 3 0
      src/main/java/com/steerinfo/dil/mapper/WmspRestackMakeResultMapper.java
  8. 3 3
      src/main/java/com/steerinfo/dil/service/IWmspGridMaterialService.java
  9. 5 0
      src/main/java/com/steerinfo/dil/service/IWmspRestackMakeResultService.java
  10. 4 0
      src/main/java/com/steerinfo/dil/service/impl/WmsInboundResultServiceImpl.java
  11. 23 14
      src/main/java/com/steerinfo/dil/service/impl/WmspGridMaterialServiceImpl.java
  12. 53 48
      src/main/java/com/steerinfo/dil/service/impl/WmspInventoryCloseServiceImpl.java
  13. 11 5
      src/main/java/com/steerinfo/dil/service/impl/WmspRestackMakeResultServiceImpl.java
  14. 60 55
      src/main/java/com/steerinfo/dil/service/impl/WmspSendReceiveServiceImpl.java
  15. 35 21
      src/main/resources/com/steerinfo/dil/mapper/WmspCheckWarehouseMapper.xml
  16. 7 2
      src/main/resources/com/steerinfo/dil/mapper/WmspGridMaterialMapper.xml
  17. 36 1
      src/main/resources/com/steerinfo/dil/mapper/WmspInboundResultMapper.xml
  18. 44 43
      src/main/resources/com/steerinfo/dil/mapper/WmspIntransitInventoryMapper.xml
  19. 16 17
      src/main/resources/com/steerinfo/dil/mapper/WmspInventoryCloseMapper.xml
  20. 32 19
      src/main/resources/com/steerinfo/dil/mapper/WmspOutboundResultMapper.xml
  21. 47 10
      src/main/resources/com/steerinfo/dil/mapper/WmspRestackMakeResultMapper.xml
  22. 1 0
      src/main/resources/com/steerinfo/dil/mapper/WmspRestackMakeTypeResultMapper.xml
  23. 2 1
      src/main/resources/com/steerinfo/dil/mapper/WmspSendReceiveMapper.xml

+ 26 - 11
src/main/java/com/steerinfo/dil/controller/WmspGridMaterialController.java

@@ -63,16 +63,17 @@ public class WmspGridMaterialController extends BaseRESTfulController {
                                                 Integer pageNum,
                                                 Integer pageSize,
                                                 Integer apiId,
-                                                Integer warehouseId,
+                                                String warehouseId,
+                                                String time,
                                                 String con) {
 
 
         if (con!=null&&!con.equals("undefined")) {
             mapVal.put("con", "%" + con + "%");
         }
-        List<Map<String, Object>>   libaryInBoundList = wmspGridMaterialService.selectGridMaterial(mapVal,warehouseId);
+        List<Map<String, Object>>   libaryInBoundList = wmspGridMaterialService.selectGridMaterial(mapVal,warehouseId,time);
         PageHelper.startPage(pageNum, pageSize);
-        List<Map<String, Object>> columnList = wmspGridMaterialService.selectGridMaterial(mapVal,warehouseId);
+        List<Map<String, Object>> columnList = wmspGridMaterialService.selectGridMaterial(mapVal,warehouseId,time);
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId, libaryInBoundList, columnList);
 //        //库龄预警
 //        for (Map mapValue : columnList) {
@@ -279,12 +280,19 @@ public class WmspGridMaterialController extends BaseRESTfulController {
             @ApiImplicitParam(name = "apiId", value = "443", required = false, dataType = "BigDecimal"),
     })
     @PostMapping("/getSteelMaterialList")
-    public  RESTfulResult getSteelMaterialList(Integer pageNum,
+    public  RESTfulResult getSteelMaterialList(@RequestBody(required = false) Map<String,Object> mapVal,
+                                               Integer pageNum,
                                                Integer pageSize,
-                                               Integer apiId){
-        List<Map<String,Object>> columnList=wmspGridMaterialService.getSteelMaterialList();
+                                               Integer apiId,
+                                               Integer warehouseId,
+                                               String con){
+        mapVal.put("warehouseId",warehouseId);
+        if (con!=null&&!con.equals("undefined")){
+            mapVal.put("con","%"+con+"%");
+        }
+        List<Map<String,Object>> columnList=wmspGridMaterialService.getSteelMaterialList(mapVal);
         PageHelper.startPage(pageNum,pageSize);
-        List<Map<String,Object>> mapList=wmspGridMaterialService.getSteelMaterialList();
+        List<Map<String,Object>> mapList=wmspGridMaterialService.getSteelMaterialList(mapVal);
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId,columnList,mapList);
         return success(pageList);
     }
@@ -295,14 +303,21 @@ public class WmspGridMaterialController extends BaseRESTfulController {
             @ApiImplicitParam(name = "apiId", value = "443", required = false, dataType = "BigDecimal"),
     })
     @PostMapping("/getSteelMaterialModelList")
-    public  RESTfulResult getSteelMaterialModelList(Integer pageNum,
+    public  RESTfulResult getSteelMaterialModelList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                    Integer pageNum,
                                                    Integer pageSize,
                                                    Integer apiId,
                                                     Integer warehouseId,
-                                                    Integer status){
-        List<Map<String,Object>> columnList=wmspGridMaterialService.getSteelMaterialModelList(warehouseId,status);
+                                                    Integer status,
+                                                    String con){
+        mapValue.put("warehouseId",warehouseId);
+        mapValue.put("status",status);
+//        进行对钢材物资名称的模糊查询
+        String cons = "%"+con+"%";
+        mapValue.put("con",cons);
+        List<Map<String,Object>> columnList=wmspGridMaterialService.getSteelMaterialModelList(mapValue);
         PageHelper.startPage(pageNum,pageSize);
-        List<Map<String,Object>> mapList=wmspGridMaterialService.getSteelMaterialModelList(warehouseId,status);
+        List<Map<String,Object>> mapList=wmspGridMaterialService.getSteelMaterialModelList(mapValue);
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId,columnList,mapList);
         return success(pageList);
     }

+ 0 - 15
src/main/java/com/steerinfo/dil/controller/WmspInventoryCloseController.java

@@ -11,7 +11,6 @@ import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -48,14 +47,12 @@ public class WmspInventoryCloseController extends BaseRESTfulController {
                                                Integer apiId,
                                                Integer pageNum,
                                                Integer pageSize,
-                                               Integer warehouseId,
                                                String  value){
             if(mapValue == null){
                 mapValue = new HashMap<>();
             }
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
             String sd = sdf.format(new Date(Long.parseLong(value))); // 时间戳转换日期
-            mapValue.put("warehouseId",warehouseId);
             mapValue.put("value",sd);
             List<Map<String,Object>>inventoryCloseList = wmspInventoryCloseServiceImpl.getWmspInventoryClose(mapValue);
             /*分页*/
@@ -65,16 +62,4 @@ public class WmspInventoryCloseController extends BaseRESTfulController {
             return success(pageList);
     }
 
-    //库存结转(在每个月的25号11点45时结算一个月的数据)
-    @PostMapping("/addInventoryClose")
-    @Scheduled(cron =  "3 45 23 25 * ? ")
-    @ApiOperation(value = "库存结转")
-    public RESTfulResult addInventoryClose(){
-            int result = 0;
-            int count = wmspInventoryCloseServiceImpl.getClose();
-            if(count == 0) {
-                result = wmspInventoryCloseServiceImpl.addInventoryClose();
-            }
-            return success(result);
-    }
 }

+ 3 - 10
src/main/java/com/steerinfo/dil/controller/WmspOutboundResultController.java

@@ -85,17 +85,10 @@ public class WmspOutboundResultController extends BaseRESTfulController {
                                                Integer pageNum,
                                                Integer pageSize,
                                                Integer apiId,
-                                               String con,
+                                               Integer warehouseId,
                                                String startTime,
-                                               String endTime)
-    {
-
-        if (mapval.containsKey("starTime")&&mapval.get("starTime")!=null){
-            startTime=mapval.get("starTime").toString();
-        }
-        if (mapval.containsKey("endTime")&&mapval.get("endTime")!=null){
-            endTime=mapval.get("endTime").toString();
-        }
+                                               String endTime){
+        mapval.put("warehouseId",warehouseId);
         DataChange.queryDataByDateTime(startTime,endTime,mapval,simpleDateFormat);
         List<Map<String, Object>> libaryOutBoundList  = wmspOutboundResultService.selectResultNumber(mapval);
         PageHelper.startPage(pageNum, pageSize);

+ 32 - 1
src/main/java/com/steerinfo/dil/controller/WmspRestackMakeResultController.java

@@ -320,6 +320,18 @@ public class WmspRestackMakeResultController extends BaseRESTfulController {
                                                   @RequestParam("afterBeforeStackingId") BigDecimal afterBeforeStackingId,
                                                   @RequestParam("resultRemark")String resultRemark,
                                                   @RequestBody(required = false) List<Map<String,Object>> mps){
+
+//        判断当前用户填写的倒垛单的物资总件数是否超过了这个垛位的物资最大件数
+        Integer quantity = (Integer)mps.get(0).get("quantity");
+        HashMap<String,Object> map = new HashMap<>();
+        map.put("afterBeforeStackingId",afterBeforeStackingId);
+        map.put("afterWarehouseId",afterWarehouseId);
+        map.put("beforeLevel",beforeLevel);
+        Integer realQuantity = wmspRestackMakeResultService.getStackingMaxNumber(map);
+        if (quantity > realQuantity){
+//            当用户填写的垛位的数量超过了库存实际数量,则直接返回fail
+            return failed("物资件数填写不正确");
+        }
         //创建倒垛单和倒垛单类型
         WmspRestackMakeResult wmspRestackMakeResult= wmspRestackMakeResultService.createRestackMakeResult(keeperId,beforeLevel,afterStackingId,afterWarehouseId,afterBeforeStackingId,resultRemark,mps);
         return success(wmspRestackMakeResult);
@@ -329,7 +341,26 @@ public class WmspRestackMakeResultController extends BaseRESTfulController {
     @GetMapping("/selectRestackByWarehouseIds")
     public  RESTfulResult selectRestackByWarehouseIds(@RequestParam(name = "warehouseid") String warehouseid){
         List<Map<String,Object>> list=wmspRestackMakeResultService.selectRestackByWarehouseIds( warehouseid);
-        return  success(list);
+        List<Map<String ,Object>> newList = new ArrayList<>();
+        for (Map<String ,Object> map:list){
+            BigDecimal quantity = (BigDecimal) map.get("quantity");
+            BigDecimal totalQuantity = (BigDecimal) map.get("totalQuantity");
+            BigDecimal count = (BigDecimal) map.get("count");
+            if (totalQuantity.subtract(quantity).compareTo(count)!=0){
+//                当当前订单的总数量与剩余数量不符合的时候,将订单的状态进行改变
+//                创建倒垛实绩类
+                WmspRestackMakeResult wmspRestackMakeResult = new WmspRestackMakeResult();
+                wmspRestackMakeResult.setResultId((BigDecimal) map.get("resultId"));
+                wmspRestackMakeResult.setQuantity(new BigDecimal(0));
+                wmspRestackMakeResult.setResultStatus(new BigDecimal(1));
+                wmspRestackMakeResultService.changeRestackStatus(wmspRestackMakeResult);
+                //            清除当前map中的数据
+                map.clear();
+                continue;
+            }
+            newList.add(map);
+        }
+        return  success(newList);
     }
 
     //    改变当前订单中已经稽核的吊牌

+ 0 - 19
src/main/java/com/steerinfo/dil/controller/WmspSendReceiveController.java

@@ -12,7 +12,6 @@ import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -55,7 +54,6 @@ public class WmspSendReceiveController extends BaseRESTfulController {
                                            Integer pageNum,
                                            Integer pageSize,
                                            String  con,
-                                           Integer warehouseId,
                                            String startTime,
                                            String endTime
                                         ){
@@ -65,7 +63,6 @@ public class WmspSendReceiveController extends BaseRESTfulController {
         if(mapValue == null){
             mapValue =new HashMap<>();
         }
-        mapValue.put("warehouseId",warehouseId);
         DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
         List<Map<String,Object>> sendReceiveList = iWmspSendReceiveService.getWmspSendReceiveService(mapValue);
 
@@ -83,21 +80,5 @@ public class WmspSendReceiveController extends BaseRESTfulController {
         return success(result);
     }*/
 
-    /**
-     * 这整各模块会在linux系统中的tomcat加载两次,所有定时器可能会执行两次,或者是由于定时器的方法执行太快,一秒内执行了
-     * @return
-     * @throws InterruptedException
-     */
-    @PostMapping("addSendReceive")
-    @Scheduled(cron =  "1 45 23 * * ? ")
-    public synchronized RESTfulResult addSendReceive() throws InterruptedException {
-        int result=0;
-        int count =iWmspSendReceiveService.getTodaySendReceiveCount();
-        if (count==0)
-        {
-            result = iWmspSendReceiveService.addSendReceive();
-        }
 
-        return success(result);
-    }
 }

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

@@ -2,12 +2,12 @@ package com.steerinfo.dil.mapper;
 
 import com.steerinfo.dil.model.WmspCheckWarehouse;
 import com.steerinfo.framework.mapper.IBaseMapper;
-import java.math.*;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.ibatis.annotations.Mapper;
-
 @Mapper
 public interface WmspCheckWarehouseMapper extends IBaseMapper<WmspCheckWarehouse, BigDecimal> {
 //    查询所有的盘库实绩
@@ -15,7 +15,7 @@ public interface WmspCheckWarehouseMapper extends IBaseMapper<WmspCheckWarehouse
 
     BigDecimal getMaxId();
 //    查找钢材物资信息
-    List<Map<String, Object>> getSteelMaterialList();
+    List<Map<String, Object>> getSteelMaterialList(Map<String,Object> map);
     //    查找钢材物资规格型号信息以及当前仓储在今天的最大预留量
-    List<Map<String, Object>> getSteelMaterialModelList(Integer warehouseId,Integer status);
+    List<Map<String, Object>> getSteelMaterialModelList(Map<String, Object> map);
 }

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

@@ -8,6 +8,7 @@ import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
 import java.math.BigDecimal;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -63,4 +64,6 @@ public interface WmspRestackMakeResultMapper extends IBaseMapper<WmspRestackMake
     BigDecimal getQuantity(String restackMake);
 //    根据倒垛单查询这个倒垛下的所有已经扫描并且稽核成功的吊牌
     List<Map<String, Object>> getScanResultList(String restackMake);
+
+    Integer getStackingMaxNumber(HashMap<String, Object> map);
 }

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

@@ -28,7 +28,7 @@ public interface IWmspGridMaterialService  {
    int updateByPrimaryKeySelective(WmspGridMaterial wmspGridMaterial);
 
    //查询实时库存数据
-   List<Map<String, Object>> selectGridMaterial(Map<String, Object> mapval,Integer warehouseId);
+   List<Map<String, Object>> selectGridMaterial(Map<String, Object> mapval,String warehouseId,String time);
 
    //统计实时库存当前表格数据
    Long countByGmId();
@@ -55,11 +55,11 @@ public interface IWmspGridMaterialService  {
 //   查询盘库实绩
     List<Map<String, Object>> getStockTakingList();
 //    获得钢材物资信息
-    List<Map<String, Object>> getSteelMaterialList();
+    List<Map<String, Object>> getSteelMaterialList(Map<String,Object> map);
 
     int deleteGridMaterial(List<OutBoundMaterialDetailedInfo> thisMaterialDetailedInfos);
 
-    List<Map<String, Object>> getSteelMaterialModelList(Integer warehouseId,Integer status);
+    List<Map<String, Object>> getSteelMaterialModelList(Map<String,Object> map);
 //    新增入库转预留
     int insertReserved(String warehouseId, String materialCode, String materialSpecification, String materialModel, Integer quantity);
 //    新增预留转入库

+ 5 - 0
src/main/java/com/steerinfo/dil/service/IWmspRestackMakeResultService.java

@@ -3,6 +3,7 @@ package com.steerinfo.dil.service;
 import com.steerinfo.dil.model.WmspRestackMakeResult;
 
 import java.math.BigDecimal;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -55,4 +56,8 @@ public interface IWmspRestackMakeResultService {
     List<Map<String, Object>> selectRestackByWarehouseIds(String warehouseid);
 
     int changeRestackMakeResult(String restackMake);
+
+    Integer getStackingMaxNumber(HashMap<String, Object> map);
+
+    int changeRestackStatus(WmspRestackMakeResult wmspRestackMakeResult);
 }

+ 4 - 0
src/main/java/com/steerinfo/dil/service/impl/WmsInboundResultServiceImpl.java

@@ -42,6 +42,10 @@ public class WmsInboundResultServiceImpl implements IWmsInboundResultService {
     @Override
     public List<Map<String, Object>> getWmsInboundResultStatistics(Map<String, Object> mapValue, Integer warehouseId) {
         mapValue.put("warehouseId",warehouseId);
+        if(mapValue.size()==2){
+            mapValue.put("orderType","desc");
+            mapValue.put("orderField","newtime");
+        }
         List<Map<String, Object>> maps = wmspInboundResultMapper.getWmsInboundResultStatistics(mapValue);
         return maps;
     }

+ 23 - 14
src/main/java/com/steerinfo/dil/service/impl/WmspGridMaterialServiceImpl.java

@@ -65,11 +65,17 @@ public class WmspGridMaterialServiceImpl  implements IWmspGridMaterialService {
     }
     //查询实时库存数据
     @Override
-    public List<Map<String, Object>> selectGridMaterial(Map<String, Object> mapval,Integer warehouseId) {
+    public List<Map<String, Object>> selectGridMaterial(Map<String, Object> mapval,String warehouseId,String time) {
         //        通过当前时间获得前一个月的时间
         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         Calendar cal= Calendar.getInstance();
-        cal.add(Calendar.MONTH, -1);
+//        根据前端床过来的time的数值进行时间区间的判断
+        if (time.equals("1")){
+            cal.add(Calendar.MONTH, -1);
+        }else if (time.equals("2")){
+            cal.add(Calendar.DATE, -15);
+        }
+
         long date2 = cal.getTimeInMillis();
         String newDate=simpleDateFormat.format(new Date(date2));
         mapval.put("warehouseId",warehouseId);
@@ -330,13 +336,13 @@ public class WmspGridMaterialServiceImpl  implements IWmspGridMaterialService {
     }
 
     @Override
-    public List<Map<String, Object>> getSteelMaterialList() {
-        return wmspCheckWarehouseMapper.getSteelMaterialList();
+    public List<Map<String, Object>> getSteelMaterialList(Map<String,Object> map) {
+        return wmspCheckWarehouseMapper.getSteelMaterialList(map);
     }
 
     @Override
-    public List<Map<String, Object>> getSteelMaterialModelList(Integer warehouseId,Integer status) {
-        return wmspCheckWarehouseMapper.getSteelMaterialModelList(warehouseId,status);
+    public List<Map<String, Object>> getSteelMaterialModelList(Map<String,Object> map) {
+        return wmspCheckWarehouseMapper.getSteelMaterialModelList(map);
     }
     @Override
     public int deleteGridMaterial(List<OutBoundMaterialDetailedInfo> thisMaterialDetailedInfos) {
@@ -412,7 +418,8 @@ public class WmspGridMaterialServiceImpl  implements IWmspGridMaterialService {
         int CX=0;
         int i =0;
 //        遍历物资
-        for(Map<String, Object> map:list){
+        for(int j= 0; j<list.size();){
+            Map<String ,Object> map = list.get(j);
 //            2.计算物资在新垛位的目标层序
             BigDecimal stackingId = (BigDecimal) map.get("stackingId");
             //根据最新的垛位
@@ -429,9 +436,10 @@ public class WmspGridMaterialServiceImpl  implements IWmspGridMaterialService {
 //            创建仓储网格实体类
             RmsPwarehouseGrid rmsPwarehouseGrid = new RmsPwarehouseGrid();
             rmsPwarehouseGrid.setGridId((BigDecimal) map.get("gridId"));
+            rmsPwarehouseGrid.setStackingId(stackingId);
             rmsPwarehouseGrid.setGridGradationNumber(new BigDecimal(CC));
             rmsPwarehouseGrid.setGridSequenceNumber(new BigDecimal(CX));
-            i+= rmsPwarehouseGridMapper.updateByPrimaryKeySelective(rmsPwarehouseGrid);
+            rmsPwarehouseGridMapper.updateByPrimaryKeySelective(rmsPwarehouseGrid);
 
 //            3.修改倒垛单的数量
 //            创建倒垛实绩表
@@ -440,12 +448,12 @@ public class WmspGridMaterialServiceImpl  implements IWmspGridMaterialService {
             BigDecimal quantity = quantitys.subtract(new BigDecimal(1));
             wmspRestackMakeResult.setQuantity(quantity);
             wmspRestackMakeResult.setResultId((BigDecimal) map.get("restackId"));
-            i+= wmspRestackMakeResultMapper.updateByPrimaryKeySelective(wmspRestackMakeResult);
+            wmspRestackMakeResultMapper.updateByPrimaryKeySelective(wmspRestackMakeResult);
 //            4.判断当前倒垛单剩余数量是否小于等于0(小于则修改所有的符合条件的倒垛单状态),并且逻辑删除当前倒垛单
 
-            if (quantity.compareTo(new BigDecimal(0))==-1){
+            if (quantity.compareTo(new BigDecimal(0))==0){
 //                  当数量小于零的时候,将所有的入库扫描的实绩状态都变成已倒垛
-//                  查询该订单下的所有未倒垛的的订单
+//                  查询该订单下的所有未倒垛的的物资
                 List<Map<String,Object>> list1 = wmspRestackScanResultMapper.getResultId((BigDecimal) map.get("restackId"));
 //                  创建入库扫描实体类
                 for (Map<String,Object> map2:list1){
@@ -453,16 +461,17 @@ public class WmspGridMaterialServiceImpl  implements IWmspGridMaterialService {
                     WmspRestackScanResult wmspRestackScanResult = new WmspRestackScanResult();
                     wmspRestackScanResult.setResultId(resultId);
                     wmspRestackMakeResult.setResultStatus(new BigDecimal(1));
-                    i+=wmspRestackScanResultMapper.updateByPrimaryKeySelective(wmspRestackScanResult);
+                    wmspRestackScanResultMapper.updateByPrimaryKeySelective(wmspRestackScanResult);
                 }
 
 //                将该订单的状态变为已完成
                 WmspRestackMakeResult wmspRestackMakeResult1 = new WmspRestackMakeResult();
                 wmspRestackMakeResult1.setResultId((BigDecimal) map.get("restackId"));
                 wmspRestackMakeResult1.setResultStatus(new BigDecimal(1));
-                i+= wmspRestackMakeResultMapper.updateByPrimaryKeySelective(wmspRestackMakeResult1);
+                wmspRestackMakeResultMapper.updateByPrimaryKeySelective(wmspRestackMakeResult1);
             }
-            return i;
+            i++;
+            j++;
         }
         return i;
     }

+ 53 - 48
src/main/java/com/steerinfo/dil/service/impl/WmspInventoryCloseServiceImpl.java

@@ -6,6 +6,7 @@ import com.steerinfo.dil.model.WmspInventoryClose;
 import com.steerinfo.dil.service.IWmspInventoryCloseService;
 import com.steerinfo.dil.util.DataChange;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
@@ -29,67 +30,71 @@ public class WmspInventoryCloseServiceImpl implements IWmspInventoryCloseService
     @Override
     public List<Map<String, Object>> getWmspInventoryClose(Map<String, Object> mapValue) {
         List<Map<String, Object>> maps = wmspInventoryCloseMapper.selectWmspInventoryClose(mapValue);
-
         return maps;
     }
 
     @Override
+    @Scheduled(cron =  "3 45 23 25 * ? ")
     public int addInventoryClose() {
         int i = 0;
-        //高线库,一棒库,二棒库,配送库
-        List<Map<String, Object>> mapList = rmsWarehouseMapper.getWarehouseName();
-        //遍历四个仓库
-        for(Map<String,Object> map:mapList) {
-            BigDecimal warehouseId = DataChange.dataToBigDecimal(map.get("id"));
-            //先获取收发存中的物资
-            List<Map<String,Object>> materialList = wmspInventoryCloseMapper.selectSendReceive(warehouseId);
-            for(Map<String,Object> map1:materialList){
-                WmspInventoryClose wmspInventoryClose = new WmspInventoryClose();
-                //主键自增
-                BigDecimal inventoryCloseId = wmspInventoryCloseMapper.addInventoryCloseId();
-                wmspInventoryClose.setCloseId(inventoryCloseId);
-                //增加仓库id
-                wmspInventoryClose.setWarehouseId(warehouseId);
-                //增加物资id
-                BigDecimal materialId = DataChange.dataToBigDecimal(map1.get("materialId"));
-                wmspInventoryClose.setMaterialId(materialId);
-                //获取一个仓库中的一种物资一个月之内的入库数据
-                BigDecimal closeThismonthInbound = wmspInventoryCloseMapper.selectCloseThismonthInbound(warehouseId,materialId);
-                if(closeThismonthInbound == null){
-                    wmspInventoryClose.setCloseThismonthInbound(new BigDecimal(0));
-                }else {
-                    wmspInventoryClose.setCloseThismonthInbound(closeThismonthInbound);
-                }
-                BigDecimal closeThismonthInbound1 = wmspInventoryClose.getCloseThismonthInbound();
-                //获取一个仓库的一种物资一个月之内的出库数据
-                BigDecimal closeThismonthOutbound = wmspInventoryCloseMapper.selectCloseThismonthOutbound(warehouseId,materialId);
-                if(closeThismonthOutbound == null){
-                    wmspInventoryClose.setCloseThismonthOutbound(new BigDecimal(0));
-                }else {
-                    wmspInventoryClose.setCloseThismonthOutbound(closeThismonthOutbound);
-                }
-                BigDecimal closeThismonthOutbound1 = wmspInventoryClose.getCloseThismonthOutbound();
-                //获取上一个月的一种物资的库存数据
-                BigDecimal closeLastmonthInventory = wmspInventoryCloseMapper.selectCloseLastmonthInventory(warehouseId,materialId);
-                if(closeLastmonthInventory==null){
-                    wmspInventoryClose.setCloseLastmonthInventory(new BigDecimal(0));
-                }else {
-                    wmspInventoryClose.setCloseLastmonthInventory(closeLastmonthInventory);
-                }
-                //获取一个仓库的一种物资一个月之内的总库存数据
-                BigDecimal closeLastmonthInventory1 = wmspInventoryClose.getCloseLastmonthInventory();
+        int count = wmspInventoryCloseMapper.getClose();
+        if(count == 0){
+            //高线库,一棒库,二棒库,配送库
+            List<Map<String, Object>> mapList = rmsWarehouseMapper.getWarehouseName();
+            //遍历四个仓库
+            for(Map<String,Object> map:mapList) {
+                BigDecimal warehouseId = DataChange.dataToBigDecimal(map.get("id"));
+                //先获取收发存中的物资
+                List<Map<String,Object>> materialList = wmspInventoryCloseMapper.selectSendReceive(warehouseId);
+                for(Map<String,Object> map1:materialList){
+                    WmspInventoryClose wmspInventoryClose = new WmspInventoryClose();
+                    //主键自增
+                    BigDecimal inventoryCloseId = wmspInventoryCloseMapper.addInventoryCloseId();
+                    wmspInventoryClose.setCloseId(inventoryCloseId);
+                    //增加仓库id
+                    wmspInventoryClose.setWarehouseId(warehouseId);
+                    //增加物资id
+                    BigDecimal materialId = DataChange.dataToBigDecimal(map1.get("materialId"));
+                    wmspInventoryClose.setMaterialId(materialId);
+                    //获取一个仓库中的一种物资一个月之内的入库数据
+                    BigDecimal closeThismonthInbound = wmspInventoryCloseMapper.selectCloseThismonthInbound(warehouseId,materialId);
+                    if(closeThismonthInbound == null){
+                        wmspInventoryClose.setCloseThismonthInbound(new BigDecimal(0));
+                    }else {
+                        wmspInventoryClose.setCloseThismonthInbound(closeThismonthInbound);
+                    }
+                    BigDecimal closeThismonthInbound1 = wmspInventoryClose.getCloseThismonthInbound();
+                    //获取一个仓库的一种物资一个月之内的出库数据
+                    BigDecimal closeThismonthOutbound = wmspInventoryCloseMapper.selectCloseThismonthOutbound(warehouseId,materialId);
+                    if(closeThismonthOutbound == null){
+                        wmspInventoryClose.setCloseThismonthOutbound(new BigDecimal(0));
+                    }else {
+                        wmspInventoryClose.setCloseThismonthOutbound(closeThismonthOutbound);
+                    }
+                    BigDecimal closeThismonthOutbound1 = wmspInventoryClose.getCloseThismonthOutbound();
+                    //获取上一个月的一种物资的库存数据
+                    BigDecimal closeLastmonthInventory = wmspInventoryCloseMapper.selectCloseLastmonthInventory(warehouseId,materialId);
+                    if(closeLastmonthInventory==null){
+                        wmspInventoryClose.setCloseLastmonthInventory(new BigDecimal(0));
+                    }else {
+                        wmspInventoryClose.setCloseLastmonthInventory(closeLastmonthInventory);
+                    }
+                    //获取一个仓库的一种物资一个月之内的总库存数据
+                    BigDecimal closeLastmonthInventory1 = wmspInventoryClose.getCloseLastmonthInventory();
                     BigDecimal closeThismonthInventory =
                             new BigDecimal(closeThismonthInbound1.intValue() - closeThismonthOutbound1.intValue() + closeLastmonthInventory1.intValue());
 
                     wmspInventoryClose.setCloseThismonthInventory(closeThismonthInventory);
 
-                wmspInventoryClose.setInsertTime(new Date());
-                wmspInventoryClose.setInsertUsername("admin");
-                wmspInventoryClose.setDeleted(new BigDecimal(1));
-                i+=wmspInventoryCloseMapper.insertSelective(wmspInventoryClose);
-            }
+                    wmspInventoryClose.setInsertTime(new Date());
+                    wmspInventoryClose.setInsertUsername("admin");
+                    wmspInventoryClose.setDeleted(new BigDecimal(1));
+                    i+=wmspInventoryCloseMapper.insertSelective(wmspInventoryClose);
+                }
 
+            }
         }
+
         return i;
     }
 

+ 11 - 5
src/main/java/com/steerinfo/dil/service/impl/WmspRestackMakeResultServiceImpl.java

@@ -285,11 +285,7 @@ public class WmspRestackMakeResultServiceImpl  implements IWmspRestackMakeResult
     public List<Map<String, Object>> selectRestackForPc2(Integer DistrubtionStatus) {
         List<Map<String, Object>> mapList = new ArrayList<>();
         Map<String, Object> map =new HashMap<>();
-//        判断当前用户想要获取的是未下发或已下发的数据
-        if (DistrubtionStatus==0){
-            map.put("DistrubtionStatus",0);
-            mapList = wmspRestackMakeResultMapper.selectRestackForPc(map);
-        }
+
         if (DistrubtionStatus==1){
             map.put("DistrubtionStatus",1);
             mapList = wmspRestackMakeResultMapper.selectRestackForPc2(map);
@@ -383,4 +379,14 @@ public class WmspRestackMakeResultServiceImpl  implements IWmspRestackMakeResult
 
         return wmspGridMaterialService.updateWmspGridMaterials(materialScanTagMap,restackMake);
     }
+//    获取当前垛位的最大物资数量
+    @Override
+    public Integer getStackingMaxNumber(HashMap<String, Object> map) {
+        return wmspRestackMakeResultMapper.getStackingMaxNumber(map);
+    }
+//    修改倒垛单状态
+    @Override
+    public int changeRestackStatus(WmspRestackMakeResult wmspRestackMakeResult) {
+        return wmspRestackMakeResultMapper.updateByPrimaryKeySelective(wmspRestackMakeResult);
+    }
 }

+ 60 - 55
src/main/java/com/steerinfo/dil/service/impl/WmspSendReceiveServiceImpl.java

@@ -8,6 +8,7 @@ import com.steerinfo.dil.model.WmspSendReceive;
 import com.steerinfo.dil.service.IWmspSendReceiveService;
 import com.steerinfo.dil.util.DataChange;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
@@ -161,70 +162,74 @@ public class WmspSendReceiveServiceImpl implements IWmspSendReceiveService {
  */
     //零点生成前一天的入库、出库、库存
     @Override
+    @Scheduled(cron =  "1 45 23 * * ? ")
     public int addSendReceive(){
-
         int i = 0;
-        //高线库,一棒库,二棒库,配送库
-        List<Map<String, Object>> mapList = rmsWarehouseMapper.getWarehouseName();
-        //遍历四个仓库
-        for(Map<String,Object> map:mapList){
-            BigDecimal warehouseId = DataChange.dataToBigDecimal(map.get("id"));
-            //查询去重实时库存中的物资id
-            List<Map<String,Object>> materialIdList = wmspGridMaterialMapper.getMaterialId(warehouseId);
-            for(Map<String,Object> map1:materialIdList) {
-                WmspSendReceive wmspSendReceive = new WmspSendReceive();
-                //收发层主键自增
-                BigDecimal sendReceiveId = wmspSendReceiveMapper.getSendReceiveId();
-                wmspSendReceive.setSendReceiveId(sendReceiveId);
-                //仓库id
-                wmspSendReceive.setWarehouseId(warehouseId);
-                //收发层日期
-                wmspSendReceive.setSendReceiveDate(new Date());
-                //物资id
-                BigDecimal materialId = DataChange.dataToBigDecimal(map1.get("materialId"));
-                wmspSendReceive.setMaterialId(materialId);
-
-                Map<String,Object> map2 = new HashMap<>();
-                map2.put("warehouseId",warehouseId);
-                map2.put("materialId",materialId);
-                //统计今天的入库总数(只统计当前仓库没有预留的数量,不统计预留库的数量)
-                BigDecimal sendReceiveThisdayInbound = wmspSendReceiveMapper.countSndReceiveThisdayInbound(map2);
-                if(sendReceiveThisdayInbound == null){
-                    wmspSendReceive.setSendReceiveThisdayInbound(new BigDecimal(0));
-                }else{
-                    wmspSendReceive.setSendReceiveThisdayInbound(sendReceiveThisdayInbound);
-                }
-                BigDecimal sendReceiveThisdayInbound1 = wmspSendReceive.getSendReceiveThisdayInbound();
-                //统计今天天的出库总数
-                BigDecimal sendReceiveThisdayOutbound = wmspSendReceiveMapper.countSendReceiveThisdayOutbound(map2);
-                if(sendReceiveThisdayOutbound == null){
-                    wmspSendReceive.setSendReceiveThisdayOutbound(new BigDecimal(0));
-                }else {
-                    wmspSendReceive.setSendReceiveThisdayOutbound(sendReceiveThisdayOutbound);
-                }
-                BigDecimal sendReceiveThisdayOutbound1 = wmspSendReceive.getSendReceiveThisdayOutbound();
-                //昨天库存
-                BigDecimal sendReceiveLastdayInventory = wmspSendReceiveMapper.getSendReceiveLastdayInventory(map2);
-                if(sendReceiveLastdayInventory == null){
-                    wmspSendReceive.setSendReceiveLastdayInventory(new BigDecimal(0));
-                }else{
-                    wmspSendReceive.setSendReceiveLastdayInventory(sendReceiveLastdayInventory);
-                }
-
-                BigDecimal sendReceiveLastdayInventory1 = wmspSendReceive.getSendReceiveLastdayInventory();
+        int count = wmspSendReceiveMapper.getTodaySendReceiveCount();
+        if(count == 0){
+            //高线库,一棒库,二棒库,配送库
+            List<Map<String, Object>> mapList = rmsWarehouseMapper.getWarehouseName();
+            //遍历四个仓库
+            for(Map<String,Object> map:mapList){
+                BigDecimal warehouseId = DataChange.dataToBigDecimal(map.get("id"));
+                //查询去重实时库存中的物资id
+                List<Map<String,Object>> materialIdList = wmspGridMaterialMapper.getMaterialId(warehouseId);
+                for(Map<String,Object> map1:materialIdList) {
+                    WmspSendReceive wmspSendReceive = new WmspSendReceive();
+                    //收发层主键自增
+                    BigDecimal sendReceiveId = wmspSendReceiveMapper.getSendReceiveId();
+                    wmspSendReceive.setSendReceiveId(sendReceiveId);
+                    //仓库id
+                    wmspSendReceive.setWarehouseId(warehouseId);
+                    //收发层日期
+                    wmspSendReceive.setSendReceiveDate(new Date());
+                    //物资id
+                    BigDecimal materialId = DataChange.dataToBigDecimal(map1.get("materialId"));
+                    wmspSendReceive.setMaterialId(materialId);
+
+                    Map<String,Object> map2 = new HashMap<>();
+                    map2.put("warehouseId",warehouseId);
+                    map2.put("materialId",materialId);
+                    //统计今天的入库总数(只统计当前仓库没有预留的数量,不统计预留库的数量)
+                    BigDecimal sendReceiveThisdayInbound = wmspSendReceiveMapper.countSndReceiveThisdayInbound(map2);
+                    if(sendReceiveThisdayInbound == null){
+                        wmspSendReceive.setSendReceiveThisdayInbound(new BigDecimal(0));
+                    }else{
+                        wmspSendReceive.setSendReceiveThisdayInbound(sendReceiveThisdayInbound);
+                    }
+                    BigDecimal sendReceiveThisdayInbound1 = wmspSendReceive.getSendReceiveThisdayInbound();
+                    //统计今天天的出库总数
+                    BigDecimal sendReceiveThisdayOutbound = wmspSendReceiveMapper.countSendReceiveThisdayOutbound(map2);
+                    if(sendReceiveThisdayOutbound == null){
+                        wmspSendReceive.setSendReceiveThisdayOutbound(new BigDecimal(0));
+                    }else {
+                        wmspSendReceive.setSendReceiveThisdayOutbound(sendReceiveThisdayOutbound);
+                    }
+                    BigDecimal sendReceiveThisdayOutbound1 = wmspSendReceive.getSendReceiveThisdayOutbound();
+                    //昨天库存
+                    BigDecimal sendReceiveLastdayInventory = wmspSendReceiveMapper.getSendReceiveLastdayInventory(map2);
+                    if(sendReceiveLastdayInventory == null){
+                        wmspSendReceive.setSendReceiveLastdayInventory(new BigDecimal(0));
+                    }else{
+                        wmspSendReceive.setSendReceiveLastdayInventory(sendReceiveLastdayInventory);
+                    }
+
+                    BigDecimal sendReceiveLastdayInventory1 = wmspSendReceive.getSendReceiveLastdayInventory();
 
                     //今天库存
-                BigDecimal sendReceiveThisdayInventory = new BigDecimal(sendReceiveLastdayInventory1.intValue()
-                                +sendReceiveThisdayInbound1.intValue()-sendReceiveThisdayOutbound1.intValue());
+                    BigDecimal sendReceiveThisdayInventory = new BigDecimal(sendReceiveLastdayInventory1.intValue()
+                            +sendReceiveThisdayInbound1.intValue()-sendReceiveThisdayOutbound1.intValue());
 
                     wmspSendReceive.setSendReceiveThisdayInventory(sendReceiveThisdayInventory);
 
-                wmspSendReceive.setInsertUsername("admin");
-                wmspSendReceive.setInsertTime(new Date());
-                wmspSendReceive.setDeleted(new BigDecimal(1));
-                i+=wmspSendReceiveMapper.insertSelective(wmspSendReceive);
+                    wmspSendReceive.setInsertUsername("admin");
+                    wmspSendReceive.setInsertTime(new Date());
+                    wmspSendReceive.setDeleted(new BigDecimal(1));
+                    i+=wmspSendReceiveMapper.insertSelective(wmspSendReceive);
+                }
             }
         }
+
         return i;
     }
 

+ 35 - 21
src/main/resources/com/steerinfo/dil/mapper/WmspCheckWarehouseMapper.xml

@@ -389,34 +389,36 @@
     SELECT MAX(WCM.CHECK_ID)+1 "checkId"
     FROM WMSP_CHECK_WAREHOUSE WCM
   </select>
-    <select id="getSteelMaterialList" resultType="java.util.Map">
+    <select id="getSteelMaterialList" resultType="java.util.Map" parameterType="java.util.Map">
+        SELECT * FROM(
         SELECT DISTINCT
---             物资名称
-            RM.MATERIAL_NAME "materialName",
---                物资编码
-               RM.MATERIAL_CODE "materialCode",
---                物资规格
-               RM.MATERIAL_SPECIFICATION "materialSpecification",
---                物资型号
-               RM.MATERIAL_MODEL "materialModel",
---                物资长度
-                RM.MATERIAL_LENGTH "materialLength"
+          RM.MATERIAL_NAME || RM.MATERIAL_SPECIFICATION || '(' ||
+          RM.MATERIAL_MODEL || ')' "materialName"
         FROM RMS_MATERIAL_STEEL RMS
         LEFT JOIN RMS_MATERIAL RM
         ON RMS.MATERIAL_ID = RM.MATERIAL_ID
+        LEFT JOIN WMSP_GRID_MATERIAL WGM
+        ON RMS.MATERIAL_STEEL_ID = WGM.MATERIAL_ID
+        LEFT JOIN RMS_PWAREHOUSE_GRID RPG
+        ON RPG.GRID_ID = WGM.GRID_ID
+        WHERE WAREHOUSE_ID = #{warehouseId}
+        <if test="con != null" >
+          and con like #{con}
+        </if>
+        )
+      <where>
+      <if test="materialName != null">
+        and "materialName" in
+        <foreach collection="materialName" item="item" open="(" separator="," close=")">
+          #{item}
+        </foreach>
+      </if>
+     </where>
     </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",
+        RM.MATERIAL_NAME || RM.MATERIAL_SPECIFICATION || '(' ||
+          RM.MATERIAL_MODEL || ')' "materialName",
         table1.count "max"
       FROM RMS_MATERIAL_STEEL RMS
 --                 关联物资表
@@ -448,5 +450,17 @@
       ) table1
                        ON table1.code = RM.MATERIAL_CODE
       WHERE RPG.WAREHOUSE_ID = #{warehouseId} AND RM.MATERIAL_NAME IS NOT NULL
+      <if test="con!=null">
+        AND RM.MATERIAL_NAME LIKE (#{con})
+      </if>
+      <include refid="orderBy"></include>
     </select>
+    <sql id="orderBy">
+      <if test="orderField != null and orderField != ''">
+        order by "${orderField}"
+        <if test="orderType != null and orderType != ''">
+          ${orderType}
+        </if>
+      </if>
+    </sql>
 </mapper>

+ 7 - 2
src/main/resources/com/steerinfo/dil/mapper/WmspGridMaterialMapper.xml

@@ -417,7 +417,7 @@
   
   <!-- 友情提示!!!-->
   <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
-  <select id="selectGridMaterial" resultType="java.util.Map" parameterType="java.math.BigDecimal">
+  <select id="selectGridMaterial" resultType="java.util.Map" parameterType="java.util.Map">
     select distinct *
     from (select
     RW.WAREHOUSE_NAME "warehouseName",
@@ -446,7 +446,12 @@
     on RM.MATERIAL_TYPE_ID=RMT.MATERIAL_TYPE_ID
     left join WMSP_INBOUND_RESULT WIR
     on WIR.MATERIAL_ID = WGM.MATERIAL_ID
-    where RPG.WAREHOUSE_ID = #{warehouseId} AND WGM.DELETED = 0 and WIR.INBOUND_ISCOMPLETE = 1 order by WGM.INSERT_TIME DESC
+    where WGM.DELETED = 0
+      and WIR.INBOUND_ISCOMPLETE = 1
+    <if test="warehouseId!=0">
+        and RPG.WAREHOUSE_ID = #{warehouseId}
+    </if>
+    order by WGM.INSERT_TIME DESC
     )
    <if test="con!=null">
     where "materialName" like #{con} or "warehouseName" like #{con} or "stackingNo" like #{con}

+ 36 - 1
src/main/resources/com/steerinfo/dil/mapper/WmspInboundResultMapper.xml

@@ -1568,6 +1568,8 @@
         table2.weight "weight",
         --                         炉号生产的第一件钢材时间
         table3.onetime "onetime",
+--         炉号生产的最新钢材时间
+        table3.newtime "newtime",
         --                         生产物资型号
         RM.MATERIAL_NAME || RM.MATERIAL_SPECIFICATION || '(' ||
         RM.MATERIAL_MODEL || ')' "materialName",
@@ -1627,6 +1629,7 @@
         LEFT JOIN(
         SELECT
         MIN(WIR4.INSERT_TIME) onetime,
+        MAX(WIR4.INSERT_TIME) newtime,
         MATERIAL_FURNACE_NUMBER  "furnaceNumber3"
         FROM
         WMSP_INBOUND_RESULT WIR4
@@ -1652,7 +1655,39 @@
             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>
-        AND WIR.RESULT_DELETED = 0 ORDER BY table3.onetime ASC
+        AND WIR.RESULT_DELETED = 0
+        <where>
+            <if test="count != null">
+                and "count" in
+                <foreach collection="count" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="weight != null">
+                and "weight" in
+                <foreach collection="weight" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="onetime != null">
+                and "onetime" in
+                <foreach collection="onetime" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="materialName != null">
+                and "materialName" in
+                <foreach collection="materialName" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="furnaceNumber1 != null">
+                and "furnaceNumber1" in
+                <foreach collection="furnaceNumber1" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+        </where>
         <include refid="orderBy"></include>
     </select>
 

+ 44 - 43
src/main/resources/com/steerinfo/dil/mapper/WmspIntransitInventoryMapper.xml

@@ -367,49 +367,50 @@
   <!-- 友情提示!!!-->
   <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
   <select id="selectTransitInventory" resultType="java.util.LinkedHashMap" parameterType="java.util.Map">
-    select  RC.CAPACITY_NUMBER "number",
-            OOT.ORDER_WAGON_NO "No",
-            ARD.DAYPLAN_NO "dayplanNo",
-            OO.ORDER_NUMBER "orderNumber",
-            RM.MATERIAL_CODE "materialCode",
-            RM.MATERIAL_NAME "materialName",
-            RM.MATERIAL_SPECIFICATION || '(' || RM.MATERIAL_MODEL || ')' "specification",
-            RMS.MATERIAL_SINGLE_BUNDLE_WEIGHT  "bundleWeight",
-            RMS.MATERIAL_THEORETICAL_WEIGHT "theoreticalWeight",
-            OOM.ORDER_MATERIAL_NUMBER "materialNumber",
-            TWR.RESULT_POUND_NO "poundNo",
-            RW.WAREHOUSE_NAME "warehouseName",
-            WII.INSERT_TIME "insertTime"
-
-           from WMSP_INTRANSIT_INVENTORY WII
-           left join  AMSTRUCK_RAIL_DAYPLAN ARD
-           on ARD.DAYPLAN_ID=WII.RAIL_DAYPLAY_ID
-           left  join OMSTRUCK_ORDER OO
-           on OO.ORDER_ID=WII.ORDER_ID
-           left join OMSTRUCK_ORDER_MATERIAL OOM
-           on OOM.ORDER_ID=OO.ORDER_ID
-           left join RMS_CAPACITY RC
-           on RC.CAPACITY_ID=OO.CAPACITY_ID
-           left join  OMSTRAIN_ORDER OOT
-           on  WII.ORDER_ID=OO.ORDER_ID
-           left join  WMSP_GRID_MATERIAL WGM
-           on WGM.MATERIAL_ID=OOM.MATERIAL_ID
-           left join RMS_MATERIAL_STEEL RMS
-           on RMS.MATERIAL_STEEL_ID=WGM.MATERIAL_ID
-           left join RMS_MATERIAL RM
-           on RM.MATERIAL_ID=RMS.MATERIAL_ID
-           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
-           left join RMS_WAREHOUSE_TYPE RWT
-           on RWT.WAREHOUSE_TYPE_ID=RW.WAREHOUSE_TYPE_ID
-           left join TMSTRUCK_TOTAL_RESULT TTR
-           on OO.ORDER_ID=TTR.ORDER_ID
-           left join TMSTRUCK_WEIGHT_RESULT TWR
-           on TWR.RESULT_TOTAL_ID=TTR.RESULT_TOTAL_ID
-           where RW.WAREHOUSE_TYPE_ID=2
-<where>
+    select * from (
+    select RC.CAPACITY_NUMBER "number",
+    OOT.ORDER_WAGON_NO "No",
+    ARD.DAYPLAN_NO "dayplanNo",
+    OO.ORDER_NUMBER "orderNumber",
+    RM.MATERIAL_CODE "materialCode",
+    RM.MATERIAL_NAME "materialName",
+    RM.MATERIAL_SPECIFICATION || '(' || RM.MATERIAL_MODEL || ')' "specification",
+    RMS.MATERIAL_SINGLE_BUNDLE_WEIGHT "bundleWeight",
+    RMS.MATERIAL_THEORETICAL_WEIGHT "theoreticalWeight",
+    OOM.ORDER_MATERIAL_NUMBER "materialNumber",
+    TWR.RESULT_POUND_NO "poundNo",
+    RW.WAREHOUSE_NAME "warehouseName",
+    WII.INSERT_TIME "insertTime"
+    from WMSP_INTRANSIT_INVENTORY WII
+    left join AMSTRUCK_RAIL_DAYPLAN ARD
+    on ARD.DAYPLAN_ID=WII.RAIL_DAYPLAY_ID
+    left join OMSTRUCK_ORDER OO
+    on OO.ORDER_ID=WII.ORDER_ID
+    left join OMSTRUCK_ORDER_MATERIAL OOM
+    on OOM.ORDER_ID=OO.ORDER_ID
+    left join RMS_CAPACITY RC
+    on RC.CAPACITY_ID=OO.CAPACITY_ID
+    left join OMSTRAIN_ORDER OOT
+    on WII.ORDER_ID=OO.ORDER_ID
+    left join RMS_MATERIAL RM
+    on RM.MATERIAL_ID = OOM.MATERIAL_ID
+    left join RMS_MATERIAL_STEEL RMS
+    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 RMS_WAREHOUSE RW
+    on RW.WAREHOUSE_ID=RPG.WAREHOUSE_ID
+    left join RMS_WAREHOUSE_TYPE RWT
+    on RWT.WAREHOUSE_TYPE_ID=RW.WAREHOUSE_TYPE_ID
+    left join TMSTRUCK_TOTAL_RESULT TTR
+    on OO.ORDER_ID=TTR.ORDER_ID
+    left join TMSTRUCK_WEIGHT_RESULT TWR
+    on TWR.RESULT_TOTAL_ID=TTR.RESULT_TOTAL_ID
+    where RW.WAREHOUSE_TYPE_ID=2 and OO.ORDER_STATUS = 5 and TWR.RESULT_GROSS_WEIGHT is not null
+    )
+    <where>
   <if test="number!= null">
     and
     <foreach collection="number" item="item" open="(" separator="or" close=")">

+ 16 - 17
src/main/resources/com/steerinfo/dil/mapper/WmspInventoryCloseMapper.xml

@@ -446,24 +446,23 @@
   <!-- 友情提示!!!-->
   <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
   <select id="selectWmspInventoryClose" resultType="java.util.LinkedHashMap">
+    select * from (
     select
-          rw.warehouse_name "warehouse_name",
-          rm.material_name "material_name",
-          wpic.close_lastmonth_inventory "close_lastmonth_inventory",
-          wpic.close_thismonth_inbound "close_thismonth_inbound",
-          wpic.close_thismonth_outbound "close_thismonth_outbound",
-          wpic.close_thismonth_inventory "close_thismonth_inventory"
-   from
-          wmsp_inventory_close wpic
-  join rms_material rm
-  on rm.material_id=wpic.material_id
-  join rms_warehouse rw
-  on rw.warehouse_id=wpic.warehouse_id
-  where wpic.WAREHOUSE_ID = #{warehouseId}
-    <if test="value!=null">
-      and #{value}= to_char(wpic.INSERT_TIME,'yyyy-mm')
-    </if>
-
+    rw.warehouse_name "warehouse_name",
+    rm.MATERIAL_NAME || rm.MATERIAL_SPECIFICATION || '(' ||
+    rm.MATERIAL_MODEL || ')' "material_name",
+    wpic.close_lastmonth_inventory "close_lastmonth_inventory",
+    wpic.close_thismonth_inbound "close_thismonth_inbound",
+    wpic.close_thismonth_outbound "close_thismonth_outbound",
+    wpic.close_thismonth_inventory "close_thismonth_inventory"
+    from
+    wmsp_inventory_close wpic
+    join rms_material rm
+    on rm.material_id=wpic.material_id
+    join rms_warehouse rw
+    on rw.warehouse_id=wpic.warehouse_id
+    where  #{value}= to_char(wpic.INSERT_TIME,'yyyy-mm')
+    )
     <where>
       <if test="warehouse_name != null">
         and "warehouse_name" in

+ 32 - 19
src/main/resources/com/steerinfo/dil/mapper/WmspOutboundResultMapper.xml

@@ -564,7 +564,7 @@
     ORDER BY ckd.RESULT_STATUS
   </select>
   
-  <select id="selectOutResult" resultType="java.util.Map">
+  <select id="selectOutResult" resultType="java.util.Map" parameterType="java.util.Map">
     SELECT
     DISTINCT
     ckd.RESULT_NUMBER "resultNumber",
@@ -619,18 +619,37 @@
     END MATERIAL_QUALIFIED,
     ckd.INSERT_UPDATE_REMARK "insertUpdateRemark"
     FROM WMSP_OUTBOUND_RESULT ckd
-    LEFT JOIN OMSTRUCK_ORDER ysdd ON ckd.BILL_LADING_ID = ysdd.ORDER_ID
-    LEFT JOIN RMS_CAPACITY ylxx ON ysdd.CAPACITY_ID = ylxx.CAPACITY_ID
-    LEFT JOIN OMSTRUCK_ORDER_MATERIAL yswz ON ysdd.ORDER_ID = yswz.ORDER_ID
-    LEFT JOIN WMSP_OUTBOUND_SCAN_RESULT wosr ON wosr.OUTBOUND_RESULT_ID = ckd.RESULT_ID
-    LEFT JOIN WMSP_INBOUND_SCAN_RESULT sisr ON wosr.INBOUND_RESULT_ID = sisr.INBOUND_RESULT_ID
-    LEFT JOIN WMSP_GRID_MATERIAL wzwg ON sisr.MATERIAL_ID = wzwg.MATERIAL_ID
-    LEFT JOIN RMS_PWAREHOUSE_GRID wg ON wzwg.GRID_ID = wg.GRID_ID
-    LEFT JOIN RMS_WAREHOUSE ck ON wg.WAREHOUSE_ID = ck.WAREHOUSE_ID
-    LEFT JOIN RMS_STACKING dw ON wg.STACKING_ID = dw.STACKING_ID
-    LEFT JOIN RMS_MATERIAL_STEEL gcwz ON wzwg.MATERIAL_ID = gcwz.MATERIAL_STEEL_ID
-    LEFT JOIN RMS_MATERIAL wz ON gcwz.MATERIAL_ID = wz.MATERIAL_ID
-    LEFT JOIN RMS_UNIT_OF_MEASURE jldw ON wz.UNIT_OF_MEASURE_ID = jldw.UNIT_OF_MEASURE_ID
+    LEFT JOIN OMSTRUCK_ORDER ysdd
+        ON ckd.BILL_LADING_ID = ysdd.ORDER_ID
+    LEFT JOIN RMS_CAPACITY ylxx
+        ON ysdd.CAPACITY_ID = ylxx.CAPACITY_ID
+    LEFT JOIN OMSTRUCK_ORDER_MATERIAL yswz
+        ON ysdd.ORDER_ID = yswz.ORDER_ID
+    LEFT JOIN WMSP_OUTBOUND_SCAN_RESULT wosr
+        ON wosr.OUTBOUND_RESULT_ID = ckd.RESULT_ID
+    LEFT JOIN WMSP_INBOUND_SCAN_RESULT sisr
+        ON wosr.INBOUND_RESULT_ID = sisr.INBOUND_RESULT_ID
+    LEFT JOIN WMSP_GRID_MATERIAL wzwg
+        ON sisr.MATERIAL_ID = wzwg.MATERIAL_ID
+    LEFT JOIN RMS_PWAREHOUSE_GRID wg
+        ON wzwg.GRID_ID = wg.GRID_ID
+    LEFT JOIN RMS_WAREHOUSE ck
+        ON wg.WAREHOUSE_ID = ck.WAREHOUSE_ID
+    LEFT JOIN RMS_STACKING dw
+        ON wg.STACKING_ID = dw.STACKING_ID
+    LEFT JOIN RMS_MATERIAL_STEEL gcwz
+        ON wzwg.MATERIAL_ID = gcwz.MATERIAL_STEEL_ID
+    LEFT JOIN RMS_MATERIAL wz
+        ON gcwz.MATERIAL_ID = wz.MATERIAL_ID
+    LEFT JOIN RMS_UNIT_OF_MEASURE jldw
+        ON wz.UNIT_OF_MEASURE_ID = jldw.UNIT_OF_MEASURE_ID
+               WHERE  wg.WAREHOUSE_ID = #{warehouseId}
+    <if test="startTime != null and endTime !=null">
+      and ckd.insert_time between to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') and  to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss')
+    </if>
+    <if test="oneDate != null">
+      and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= ckd.insert_time
+    </if>
     <where>
       <if test="resultNumber != null">
         and
@@ -734,12 +753,6 @@
           "resultOutboundType" like '%${item}%'
         </foreach>
       </if>
-      <if test="startTime != null and endTime !=null">
-        and ckd.insert_time between to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') and  to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss')
-      </if>
-      <if test="oneDate != null">
-        and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= ckd.insert_time
-      </if>
     </where>
    
   </select>

+ 47 - 10
src/main/resources/com/steerinfo/dil/mapper/WmspRestackMakeResultMapper.xml

@@ -626,6 +626,7 @@
     left join RMS_WAREHOUSE t8
     on RPG.WAREHOUSE_ID=t8.WAREHOUSE_ID
      where WGM.DELETED=0 and WGM.STATUS!=1
+       and RPG.WAREHOUSE_ID != 3
     <if test="warehouseid != null">
       and t8.WAREHOUSE_ID = #{warehouseid,jdbcType=DECIMAL}
     </if>
@@ -1411,15 +1412,30 @@
     <include refid="orderByInsertTime"></include>
   </select>
     <select id="selectRestackByWarehouseIds" resultType="java.util.Map">
-         SELECT wrme.RESULT_ID "resultId", -- 倒垛编号
-          wrme.RESULT_STACK_NUMBER "resultStackNumber", -- 倒垛单创建时间
-          wrme.INSERT_TIME "insertTime", -- 倒垛单下发时间
-          wrme.RESULT_KEEPER_ISSUE_TIME "resultKeeperIssueTime", -- 总件数
-          wrme.QUANTITY "quantity", -- 原层次
-          wrme.BEFORE_LEVEL "beforeLevel", -- 新垛位
-          rs.STACKING_NO "afterStackingNo", -- 原垛位
-          rs2.STACKING_NO "beforeStackingNo", -- 仓库名称
-           rw.WAREHOUSE_NAME "warehouseName"-- 当前下发的倒垛单的完成状态
+         SELECT
+                wrme.RESULT_ID "resultId",
+                -- 倒垛编号
+          wrme.RESULT_STACK_NUMBER "resultStackNumber",
+                -- 倒垛单创建时间
+          wrme.INSERT_TIME "insertTime",
+                -- 倒垛单下发时间
+          wrme.RESULT_KEEPER_ISSUE_TIME "resultKeeperIssueTime",
+                -- 剩余件数
+          wrme.QUANTITY "quantity",
+--                 总件数
+          wrme.TOTAL_QUANTITY "totalQuantity",
+                -- 原层次
+          wrme.BEFORE_LEVEL "beforeLevel",
+                -- 新垛位
+          rs.STACKING_NO "afterStackingNo",
+                -- 原垛位
+          rs2.STACKING_NO "beforeStackingNo",
+                -- 仓库名称
+           rw.WAREHOUSE_NAME "warehouseName",
+           -- 当前下发的倒垛单的完成状态
+           wrme.RESULT_STATUS "resultStatus",
+--                 该订单下已经稽核的数量但未完成的数量
+            table1.count "count"
           
            FROM WMSP_RESTACK_MAKE_RESULT wrme
            LEFT JOIN WMSP_RESTACK_MAKE_MATERIAL wrmm
@@ -1430,6 +1446,16 @@
                ON rs2.STACKING_ID=wrme.AFTER_BEFORE_STACKING_ID
            LEFT JOIN RMS_WAREHOUSE rw
                ON rw.WAREHOUSE_ID=wrme.AFTER_WAREHOUSE_ID
+            LEFT JOIN (
+             SELECT COUNT(WRSR.RESULT_ID) count,
+                    WRSR.RESULT_RESTACK_ID restackId
+             FROM WMSP_RESTACK_SCAN_RESULT WRSR
+                    LEFT JOIN WMSP_RESTACK_MAKE_RESULT WRMR2
+                              ON WRSR.RESULT_RESTACK_ID = WRMR2.RESULT_ID
+             WHERE WRSR.RESULT_LOADER_AUDIT = 1
+             GROUP BY WRSR.RESULT_RESTACK_ID
+             ) table1
+                ON wrme.RESULT_ID = table1.restackId
             WHERE wrme.DISTRIBUTIONSTATUS=1 and wrme.DELETED=0 and wrme.RESULT_STATUS=0 and wrme.QUANTITY>0 and wrme.AFTER_WAREHOUSE_ID=#{warehouseid}
     </select>
   <select id="getResultLoaderAudit" resultType="java.lang.Integer">
@@ -1469,7 +1495,18 @@
     ON WRMR.RESULT_ID = WRCR.RESULT_RESTACK_ID
     WHERE WRCR.RESULT_LOADER_AUDIT =1 AND WRCR.STATUS =1 AND WRMR.RESULT_STACK_NUMBER = #{restackMake}
   </select>
-  <!--  根据物资唯一id,逻辑删除对应的餐厨网格状态-->
+    <select id="getStackingMaxNumber" resultType="java.lang.Integer">
+        SELECT COUNT(*)
+        FROM RMS_PWAREHOUSE_GRID RPG
+--         关联仓储网格
+        LEFT JOIN WMSP_GRID_MATERIAL WGM
+        ON RPG.GRID_ID = WGM.GRID_ID
+        WHERE WGM.UPDATE_TIME IS NULL AND WGM.DELETED = 0  AND RPG.STACKING_ID =#{afterBeforeStackingId} AND RPG.WAREHOUSE_ID =#{afterWarehouseId}
+        <if test="beforeLevel!=null">
+            AND RPG.GRID_GRADATION_NUMBER = #{beforeLevel}
+        </if>
+    </select>
+    <!--  根据物资唯一id,逻辑删除对应的餐厨网格状态-->
   <update id="changeMaterialGrid">
     UPDATE WMSP_GRID_MATERIAL WGM SET WGM.DELETED = 1
     WHERE WGM.GRID_ID = #{gridId}

+ 1 - 0
src/main/resources/com/steerinfo/dil/mapper/WmspRestackMakeTypeResultMapper.xml

@@ -323,6 +323,7 @@
       rm.MATERIAL_MODEL "materialMode",
       rm.MATERIAL_LENGTH "materialLength",
       wrmr.QUANTITY "quantity",
+      wrmr.TOTAL_QUANTITY "totalQuantity",
       coun.num "count"
     from WMSP_RESTACK_MAKE_TYPE_RESULT  wrmtr
            left join rms_material rm

+ 2 - 1
src/main/resources/com/steerinfo/dil/mapper/WmspSendReceiveMapper.xml

@@ -467,7 +467,7 @@
     on rmt.material_type_id=rm.material_type_id
     join rms_warehouse rw
     on rw.warehouse_id=wsr.warehouse_id
-    where wsr.WAREHOUSE_ID = #{warehouseId}
+   <where>
     <if test="oneDate != null">
       and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= wsr.INSERT_TIME
     </if>
@@ -475,6 +475,7 @@
       and to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= wsr.INSERT_TIME
       and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= wsr.INSERT_TIME
     </if>
+  </where>
     )
     <where>
       <if test="warehouse_name != null">