Tiroble 3 vuotta sitten
vanhempi
commit
548d7abd53
27 muutettua tiedostoa jossa 1109 lisäystä ja 128 poistoa
  1. 4 0
      pom.xml
  2. 7 7
      src/main/java/com/steerinfo/dil/controller/WmsInboundResultController.java
  3. 28 2
      src/main/java/com/steerinfo/dil/controller/WmspGridMaterialController.java
  4. 13 5
      src/main/java/com/steerinfo/dil/controller/WmspRestackMakeResultController.java
  5. 5 7
      src/main/java/com/steerinfo/dil/controller/WmspRestackMakeTypeResultController.java
  6. 17 0
      src/main/java/com/steerinfo/dil/mapper/WmspCheckWarehouseMapper.java
  7. 6 1
      src/main/java/com/steerinfo/dil/mapper/WmspGridMaterialMapper.java
  8. 7 1
      src/main/java/com/steerinfo/dil/mapper/WmspRestackMakeResultMapper.java
  9. 2 0
      src/main/java/com/steerinfo/dil/mapper/WmspRestackMakeTypeResultMapper.java
  10. 3 1
      src/main/java/com/steerinfo/dil/mapper/WmspRestackScanResultMapper.java
  11. 198 0
      src/main/java/com/steerinfo/dil/model/WmspCheckWarehouse.java
  12. 29 0
      src/main/java/com/steerinfo/dil/model/WmspRestackScanResult.java
  13. 5 1
      src/main/java/com/steerinfo/dil/service/IWmspGridMaterialService.java
  14. 4 1
      src/main/java/com/steerinfo/dil/service/IWmspRestackMakeResultService.java
  15. 2 2
      src/main/java/com/steerinfo/dil/service/IWmspRestackMakeTypeResultService.java
  16. 1 1
      src/main/java/com/steerinfo/dil/service/IWmspRestackScanResultService.java
  17. 83 13
      src/main/java/com/steerinfo/dil/service/impl/WmspGridMaterialServiceImpl.java
  18. 18 2
      src/main/java/com/steerinfo/dil/service/impl/WmspOutboundResultServiceImpl.java
  19. 42 5
      src/main/java/com/steerinfo/dil/service/impl/WmspRestackMakeResultServiceImpl.java
  20. 31 22
      src/main/java/com/steerinfo/dil/service/impl/WmspRestackScanResultServiceImpl.java
  21. 1 1
      src/main/java/com/steerinfo/dil/service/impl/WmspSendReceiveServiceImpl.java
  22. 392 0
      src/main/resources/com/steerinfo/dil/mapper/WmspCheckWarehouseMapper.xml
  23. 29 5
      src/main/resources/com/steerinfo/dil/mapper/WmspGridMaterialMapper.xml
  24. 40 7
      src/main/resources/com/steerinfo/dil/mapper/WmspInboundDistributeMapper.xml
  25. 27 9
      src/main/resources/com/steerinfo/dil/mapper/WmspRestackMakeResultMapper.xml
  26. 53 26
      src/main/resources/com/steerinfo/dil/mapper/WmspRestackMakeTypeResultMapper.xml
  27. 62 9
      src/main/resources/com/steerinfo/dil/mapper/WmspRestackScanResultMapper.xml

+ 4 - 0
pom.xml

@@ -117,7 +117,11 @@
 <!--                        <param>WMSP_INBOUND_CORRECT_RESULT</param>-->
 <!--                        <param>WMSP_INBOUND_DRIVING_RESULT</param>-->
 <!--                        <param>WMSP_GRID_MATERIAL</param>-->
+<<<<<<< HEAD
                         <param>WMSP_OUTBOUND_RESULT_MATERIAL</param>
+=======
+                        <param>WMSP_CHECK_WAREHOUSE</param>
+>>>>>>> 1b83fb0abea144c61e3a1d3257a6b7dd1a51811d
                     </tables>
                 </configuration>
                 <executions>

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

@@ -214,13 +214,13 @@ public class WmsInboundResultController extends BaseRESTfulController {
                     }
 
                     //获取物资大类id
-                    BigDecimal materialSteelId = DataChange.dataToBigDecimal(item.get("materialId"));
-                    BigDecimal materialId = wmspSendReceiveService.getMaterialId(materialSteelId);
-                    Map<String,Object> map4 = new HashMap<>();
-                    map4.put("materialId",materialId);
-                    map4.put("warehouseId",3);
-                    wmspSendReceiveService.addInBoundSendReceive(map4);
-                    wmspSendReceiveService.addThisdayInventorySendReceive(map4);
+//                    BigDecimal materialSteelId = DataChange.dataToBigDecimal(item.get("materialId"));
+//                    BigDecimal materialId = wmspSendReceiveService.getMaterialId(materialSteelId);
+//                    Map<String,Object> map4 = new HashMap<>();
+//                    map4.put("materialId",materialId);
+//                    map4.put("warehouseId",3);
+//                    wmspSendReceiveService.addInBoundSendReceive(map4);
+//                    wmspSendReceiveService.addThisdayInventorySendReceive(map4);
                 }
                 int status3= wmspInboundDistributeService.updateDistributeStatus(wmspInboundDistribute.getDistributeId().toString());
                // wmspSendReceiveService.addInBoundSendReceive();

+ 28 - 2
src/main/java/com/steerinfo/dil/controller/WmspGridMaterialController.java

@@ -190,12 +190,38 @@ public class WmspGridMaterialController extends BaseRESTfulController {
     //修改实时库存数据,针对于倒垛
     @ApiImplicitParam("修改实时库存数据,针对于倒垛")
     @PostMapping(value = "/updateWmspGridMaterialForRestack")
-    public RESTfulResult updateWmspGridMaterialForRestack(@RequestBody Map<String,Object> map) {
-        int i = wmspGridMaterialService.updateWmspGridMaterial(map);
+    public RESTfulResult updateWmspGridMaterialForRestack(@RequestBody List<Map<String,Object>> map) {
+        String stackingId=null;
+        int i = wmspGridMaterialService.updateWmspGridMaterial(map,stackingId);
         return success(i);
     }
 
+//    创建盘点实绩
+    @ApiOperation(value = "创建盘点实绩",notes = "根据仓库、物资型号和物资数量创建盘点实绩")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "warehouseId",dataType = "String",value = "仓库"),
+            @ApiImplicitParam(name = "materialCode",dataType = "Integer",value = "物资型号"),
+            @ApiImplicitParam(name = "quantity",dataType = "Integer",value = "物资数量"),
+    })
+    @PostMapping("/insertStockTaking")
+    public  RESTfulResult insertStockTaking(String warehouseId, String materialCode, Integer quantity){
+        int result = wmspGridMaterialService.insertStockTaking(warehouseId,materialCode,quantity);
+        return success(result);
+    }
 
+//    查询盘库实绩
+    @ApiOperation(value = "查询盘库实绩",notes = "查询盘库实绩")
+    @ApiImplicitParams({
+         @ApiImplicitParam(name = "apiId", value = "442", required = false, dataType = "BigDecimal"),
+    })
+    @PostMapping("/getStockTakingList")
+    public  RESTfulResult getStockTakingList(Integer pageNum,Integer pageSize,Integer apiId){
+        List<Map<String,Object>> columnList=wmspGridMaterialService.getStockTakingList();
+        PageHelper.startPage(pageNum,pageSize);
+        List<Map<String,Object>> mapList=wmspGridMaterialService.getStockTakingList();
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId,columnList,mapList);
+        return success(pageList);
+    }
 }
 
 

+ 13 - 5
src/main/java/com/steerinfo/dil/controller/WmspRestackMakeResultController.java

@@ -185,10 +185,10 @@ public class WmspRestackMakeResultController extends BaseRESTfulController {
         }
         mapVal.put("DistrubtionStatus", DistrubtionStatus);
         //不分页筛选数据
-        List<Map<String, Object>> list = wmspRestackMakeResultService.selectRestackForPc(mapVal);
+        List<Map<String, Object>> list = wmspRestackMakeResultService.selectRestackForPc(DistrubtionStatus);
         PageHelper.startPage(pageNum, pageSize);
         //分页查询数据
-        List<Map<String, Object>> columnList = wmspRestackMakeResultService.selectRestackForPc(mapVal);
+        List<Map<String, Object>> columnList = wmspRestackMakeResultService.selectRestackForPc(DistrubtionStatus);
         PageListAdd data = columnDataUtil.tableColumnData(apiId, list, columnList);
         return success(data);
     }
@@ -211,10 +211,10 @@ public class WmspRestackMakeResultController extends BaseRESTfulController {
         }
         mapVal.put("DistrubtionStatus", DistrubtionStatus);
         //不分页筛选数据
-        List<Map<String, Object>> list = wmspRestackMakeResultService.selectRestackForPc(mapVal);
+        List<Map<String, Object>> list = wmspRestackMakeResultService.selectRestackForPc2(DistrubtionStatus);
         PageHelper.startPage(pageNum, pageSize);
         //分页查询数据
-        List<Map<String, Object>> columnList = wmspRestackMakeResultService.selectRestackForPc(mapVal);
+        List<Map<String, Object>> columnList = wmspRestackMakeResultService.selectRestackForPc2(DistrubtionStatus);
         //            将获取到的columnList中的完成状态用中文表示
         for (Map<String, Object> map1: list){
             BigDecimal resultStatus =(BigDecimal)map1.get("resultStatus");
@@ -332,5 +332,13 @@ public class WmspRestackMakeResultController extends BaseRESTfulController {
         return  success(list);
     }
 
-
+    //    改变当前订单中已经稽核的吊牌
+    @ApiOperation(value="restackMake", notes="改变当前订单中已经稽核的吊牌")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "RequestParam", name = "restackMake", value = "倒垛单实绩ID", required = true, dataType = "String")
+    })
+    @GetMapping("/changeRestackMakeResult")
+    public int changeRestackMakeResult(@RequestParam("restackMake") String restackMake){
+        return wmspRestackMakeResultService.changeRestackMakeResult(restackMake);
+    }
 }

+ 5 - 7
src/main/java/com/steerinfo/dil/controller/WmspRestackMakeTypeResultController.java

@@ -116,15 +116,13 @@ public class WmspRestackMakeTypeResultController extends BaseRESTfulController {
     })
     @GetMapping("/getRestackMakeTypeResult")
     public RESTfulResult getRestackMakeTypeResult(@RequestParam("restackMake") String restackMake,@RequestParam("context")String context){
-
+        //返回值对象
+        Map<String,Object> result=new HashMap();
         //判断是否为空,如果不为空需要先添加然后在查询
         WmspRestackScanResult wmspRestackScanResult=null;
-        if (context!=null&&context.equals("")){
+        if (context!=null&&!context.equals("")){
             wmspRestackScanResult= wmspRestackScanResultService.insertWmspRestackScanResult(restackMake,context);
         }
-
-        //返回值对象
-        Map<String,Object> result=new HashMap();
         //查询类型信息
         List<Map<String,Object>> restackeMakeTypeResult=wmspRestackMakeTypeResultService.getRestackMakeTypeResult(restackMake);
         result.put("restackeMakeTypeResult",restackeMakeTypeResult);
@@ -132,8 +130,8 @@ public class WmspRestackMakeTypeResultController extends BaseRESTfulController {
         List<Map<String,Object>> materialList=wmspRestackMakeTypeResultService.getRestackMakeMaterial(restackMake);
         result.put("materialList",materialList);
         //判断是否已经生成过了
-        if (wmspRestackScanResult==null){
-            return failed(result);
+        if (wmspRestackScanResult==null&&!context.equals("")){
+            return failed(result,"400","物资稽核失败,请放回原垛位");
         }
         return success(result);
     }

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

@@ -0,0 +1,17 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.WmspCheckWarehouse;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import java.math.*;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface WmspCheckWarehouseMapper extends IBaseMapper<WmspCheckWarehouse, BigDecimal> {
+//    查询所有的盘库实绩
+    List<Map<String, Object>> getStockTakingList();
+
+    BigDecimal getMaxId();
+}

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

@@ -7,6 +7,7 @@ import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
 import java.math.BigDecimal;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -48,8 +49,12 @@ public interface WmspGridMaterialMapper extends IBaseMapper<WmspGridMaterial, Bi
   //根据物资唯一编码查找仓储网格原来的主键id
   BigDecimal slelectGridIdByMaterialOnlyCode(@Param("materialOnlyCode")String materialOnlyCode);
 
+//  根据仓库id和物资类型编码查询对应的实时库存
+  int getStockTakingList(String warehouseId, String materialCode);
+//  根据物资编码查询对应的物资ID
+  BigDecimal getMaterialIds(String materialCode);
 
-  int updateByMaterialId(BigDecimal materialId);
+  int updateByMaterialId(@Param("materialSteelId") BigDecimal materialSteelId, @Param("updateTime")Date updateTime);
 
   //查询id
     List<Map<String,Object>> getMaterialId(BigDecimal warehouseId);

+ 7 - 1
src/main/java/com/steerinfo/dil/mapper/WmspRestackMakeResultMapper.java

@@ -51,8 +51,14 @@ public interface WmspRestackMakeResultMapper extends IBaseMapper<WmspRestackMake
 
     List<Map<String, Object>> selectRestackByWarehouseIds(String warehouseid);
 
-    int getResultLoaderAudit(String restackMake, String context);
+    int getResultLoaderAudit(String restackMake, String onlyCode);
 
     //查找扫描数量和已扫描数量
     Map<String,Object> getResultLoaderAuditNo(Map<String,Object> map);
+//    根据仓储网格id,逻辑删除对应的餐厨网格状态
+    int changeMaterialGrid(Integer gridId);
+//    根据物资唯一编码查询对应的仓储网格id
+    int getMaterialGrid(String onlyCode);
+//    根据订单编码查询对应的订单当前总数量
+    BigDecimal getQuantity(String restackMake);
 }

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

@@ -15,4 +15,6 @@ public interface WmspRestackMakeTypeResultMapper extends IBaseMapper<WmspRestack
     List<Map<String, Object>> getRestackMakeTypeResult(String restackMake);
 
     List<Map<String, Object>> getRestackMakeMaterial(String restackMake);
+
+    List<Map<String, Object>> getRestackMakeMaterialScanTag(String restackMake);
 }

+ 3 - 1
src/main/java/com/steerinfo/dil/mapper/WmspRestackScanResultMapper.java

@@ -45,6 +45,8 @@ public interface WmspRestackScanResultMapper extends IBaseMapper<WmspRestackScan
     Integer selectGridIdByResultId(Integer resultId);
     //根据实绩id查找扫描结果
     List<Map<String,Object>> selectTagByResultId(Integer resultId);
-
+//    判断当前的物资是否已经存在并且倒垛状态为已倒垛
     int getWmspRestackScanResultCount(String onlyCode);
+
+    BigDecimal getResultId(String content);
 }

+ 198 - 0
src/main/java/com/steerinfo/dil/model/WmspCheckWarehouse.java

@@ -0,0 +1,198 @@
+package com.steerinfo.dil.model;
+
+import com.steerinfo.framework.model.IBasePO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@ApiModel(value="盘库作业")
+public class WmspCheckWarehouse implements IBasePO<BigDecimal> {
+    /**
+     * 主键ID(CHECK_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="主键ID",required=true)
+    private BigDecimal checkId;
+
+    /**
+     * 仓库ID(WAREHOUSE_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="仓库ID",required=false)
+    private BigDecimal warehouseId;
+
+    /**
+     * 物资ID(MATERIAL_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="物资ID",required=false)
+    private BigDecimal materialId;
+
+    /**
+     * 物资盘点库存数(REAL_MATERIAL_AMOUNT,DECIMAL,38)
+     */
+    @ApiModelProperty(value="物资盘点库存数",required=false)
+    private BigDecimal realMaterialAmount;
+
+    /**
+     * 电子账(实时库存数)(ELECTRONICS_MATERIAL_AMOUNT,DECIMAL,38)
+     */
+    @ApiModelProperty(value="电子账(实时库存数)",required=false)
+    private BigDecimal electronicsMaterialAmount;
+
+    /**
+     * 盈亏数(CHECK_PROFITLOSS,DECIMAL,38)
+     */
+    @ApiModelProperty(value="盈亏数",required=false)
+    private BigDecimal checkProfitloss;
+
+    /**
+     * 记录创建人(INSERT_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录创建人",required=false)
+    private String insertUsername;
+
+    /**
+     * 记录创建时间(INSERT_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录创建时间",required=false)
+    private Date insertTime;
+
+    /**
+     * 记录修改人(UPDATE_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录修改人",required=false)
+    private String updateUsername;
+
+    /**
+     * 记录修改时间(UPDATE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录修改时间",required=false)
+    private Date updateTime;
+
+    /**
+     * 记录创建或修改备注(INSERT_UPDATE_REMARK,VARCHAR,100)
+     */
+    @ApiModelProperty(value="记录创建或修改备注",required=false)
+    private String insertUpdateRemark;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.checkId;
+    }
+
+    @Override
+    public void setId(BigDecimal checkId) {
+        this.checkId = checkId;
+    }
+
+    public BigDecimal getCheckId() {
+        return checkId;
+    }
+
+    public void setCheckId(BigDecimal checkId) {
+        this.checkId = checkId;
+    }
+
+    public BigDecimal getWarehouseId() {
+        return warehouseId;
+    }
+
+    public void setWarehouseId(BigDecimal warehouseId) {
+        this.warehouseId = warehouseId;
+    }
+
+    public BigDecimal getMaterialId() {
+        return materialId;
+    }
+
+    public void setMaterialId(BigDecimal materialId) {
+        this.materialId = materialId;
+    }
+
+    public BigDecimal getRealMaterialAmount() {
+        return realMaterialAmount;
+    }
+
+    public void setRealMaterialAmount(BigDecimal realMaterialAmount) {
+        this.realMaterialAmount = realMaterialAmount;
+    }
+
+    public BigDecimal getElectronicsMaterialAmount() {
+        return electronicsMaterialAmount;
+    }
+
+    public void setElectronicsMaterialAmount(BigDecimal electronicsMaterialAmount) {
+        this.electronicsMaterialAmount = electronicsMaterialAmount;
+    }
+
+    public BigDecimal getCheckProfitloss() {
+        return checkProfitloss;
+    }
+
+    public void setCheckProfitloss(BigDecimal checkProfitloss) {
+        this.checkProfitloss = checkProfitloss;
+    }
+
+    public String getInsertUsername() {
+        return insertUsername;
+    }
+
+    public void setInsertUsername(String insertUsername) {
+        this.insertUsername = insertUsername == null ? null : insertUsername.trim();
+    }
+
+    public Date getInsertTime() {
+        return insertTime;
+    }
+
+    public void setInsertTime(Date insertTime) {
+        this.insertTime = insertTime;
+    }
+
+    public String getUpdateUsername() {
+        return updateUsername;
+    }
+
+    public void setUpdateUsername(String updateUsername) {
+        this.updateUsername = updateUsername == null ? null : updateUsername.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getInsertUpdateRemark() {
+        return insertUpdateRemark;
+    }
+
+    public void setInsertUpdateRemark(String insertUpdateRemark) {
+        this.insertUpdateRemark = insertUpdateRemark == null ? null : insertUpdateRemark.trim();
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", checkId=").append(checkId);
+        sb.append(", warehouseId=").append(warehouseId);
+        sb.append(", materialId=").append(materialId);
+        sb.append(", realMaterialAmount=").append(realMaterialAmount);
+        sb.append(", electronicsMaterialAmount=").append(electronicsMaterialAmount);
+        sb.append(", checkProfitloss=").append(checkProfitloss);
+        sb.append(", insertUsername=").append(insertUsername);
+        sb.append(", insertTime=").append(insertTime);
+        sb.append(", updateUsername=").append(updateUsername);
+        sb.append(", updateTime=").append(updateTime);
+        sb.append(", insertUpdateRemark=").append(insertUpdateRemark);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 29 - 0
src/main/java/com/steerinfo/dil/model/WmspRestackScanResult.java

@@ -37,11 +37,21 @@ public class WmspRestackScanResult implements IBasePO<BigDecimal> {
      */
     @ApiModelProperty(value="装卸工稽核结果(0:不成功;1:成功)",required=false)
     private BigDecimal resultLoaderAudit;
+    /**
+     * 物资状态(0:未倒垛;1:已倒垛)(RESULT_LOADER_AUDIT,DECIMAL,38)
+     */
+    @ApiModelProperty(value="装卸工稽核结果(0:不成功;1:成功)",required=false)
+    private BigDecimal status;
     /**
      * 物资唯一编码(一件钢材的唯一标识)(MATERIAL_ONLY_CODE,VARCHAR,20)
      */
     @ApiModelProperty(value="物资唯一编码(一件钢材的唯一标识)",required=false)
     private String materialOnlyCode;
+    /**
+     * 物资大类编码(一件钢材的大类编码)(MATERIAL_CODE,VARCHAR,20)
+     */
+    @ApiModelProperty(value="物资大类编码(一件钢材的大类编码)",required=false)
+    private String materialCode;
     /**
      * 记录创建人(INSERT_USERNAME,VARCHAR,20)
      */
@@ -130,6 +140,14 @@ public class WmspRestackScanResult implements IBasePO<BigDecimal> {
         this.resultLoaderAudit = resultLoaderAudit;
     }
 
+    public BigDecimal getStatus() {
+        return status;
+    }
+
+    public void setStatus(BigDecimal status) {
+        this.status = status;
+    }
+
     public String getInsertUsername() {
         return insertUsername;
     }
@@ -162,6 +180,14 @@ public class WmspRestackScanResult implements IBasePO<BigDecimal> {
         this.materialOnlyCode = materialOnlyCode;
     }
 
+    public String getMaterialCode() {
+        return materialCode;
+    }
+
+    public void setMaterialCode(String materialCode) {
+        this.materialCode = materialCode;
+    }
+
     public Date getUpdateTime() {
         return updateTime;
     }
@@ -197,6 +223,9 @@ public class WmspRestackScanResult implements IBasePO<BigDecimal> {
         sb.append(", loaderId=").append(loaderId);
         sb.append(", resultScanTag=").append(resultScanTag);
         sb.append(", resultLoaderAudit=").append(resultLoaderAudit);
+        sb.append(", status=").append(status);
+        sb.append(", materialCode=").append(materialCode);
+        sb.append(", materialOnlyCode=").append(materialOnlyCode);
         sb.append(", insertUsername=").append(insertUsername);
         sb.append(", insertTime=").append(insertTime);
         sb.append(", updateUsername=").append(updateUsername);

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

@@ -48,5 +48,9 @@ public interface IWmspGridMaterialService  {
     Map<String, Object> getReboundScanResultByResultMaterial(String material ,String materialOnlyCode);
 
     //修改实时库存
-   int updateWmspGridMaterial(Map<String,Object> map);
+   int updateWmspGridMaterial(List<Map<String,Object>> map,String restackMake);
+//   盘点库存
+   int insertStockTaking(String warehouseid, String materialCode, Integer quantity);
+//   查询盘库实绩
+    List<Map<String, Object>> getStockTakingList();
 }

+ 4 - 1
src/main/java/com/steerinfo/dil/service/IWmspRestackMakeResultService.java

@@ -46,10 +46,13 @@ public interface IWmspRestackMakeResultService {
     //根据倒垛实绩查找倒垛信息
     List<Map<String,Object>> selectRestackInfoByResultId(String resultId);
     //Pc端展示倒垛实绩
-    List<Map<String,Object>> selectRestackForPc(Map<String,Object> map);
+    List<Map<String,Object>> selectRestackForPc(Integer DistrubtionStatus);
+    //Pc端展示倒垛实绩
+    List<Map<String,Object>> selectRestackForPc2(Integer DistrubtionStatus);
 
     WmspRestackMakeResult createRestackMakeResult(BigDecimal keeperId, BigDecimal beforeLevel, BigDecimal afterStackingId, BigDecimal afterWarehouseId, BigDecimal afterBeforeStackingId, String resultRemark, List<Map<String, Object>> mps);
 
     List<Map<String, Object>> selectRestackByWarehouseIds(String warehouseid);
 
+    int changeRestackMakeResult(String restackMake);
 }

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

@@ -23,8 +23,8 @@ import java.util.Map;
 public interface IWmspRestackMakeTypeResultService extends IBaseService<WmspRestackMakeTypeResult, BigDecimal>{
 
     Integer createMakeTypeList(BigDecimal makeresultid, List<Map<String, Object>> maps);
-
+//    查找当前扫描的物资件数和订单总数量和订单的物资名称
     List<Map<String, Object>> getRestackMakeTypeResult(String restackMake);
-
+//    查找当前已经扫描的吊牌的物资名称和物资类型以及唯一编码
     List<Map<String, Object>> getRestackMakeMaterial(String restackMake);
 }

+ 1 - 1
src/main/java/com/steerinfo/dil/service/IWmspRestackScanResultService.java

@@ -52,5 +52,5 @@ public interface IWmspRestackScanResultService {
  //根据实绩id查找扫描结果
  List<Map<String,Object>> selectTagByResultId(Integer resultId);
 
-    WmspRestackScanResult insertWmspRestackScanResult(String restackMake, String context);
+ WmspRestackScanResult insertWmspRestackScanResult(String restackMake, String context);
 }

+ 83 - 13
src/main/java/com/steerinfo/dil/service/impl/WmspGridMaterialServiceImpl.java

@@ -1,19 +1,17 @@
 package com.steerinfo.dil.service.impl;
 
-import com.steerinfo.dil.mapper.RmsPwarehouseGridMapper;
-import com.steerinfo.dil.mapper.RmsStackingMapper;
-import com.steerinfo.dil.mapper.WmspGridMaterialMapper;
+import com.steerinfo.dil.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.service.IWmspGridMaterialService;
 import com.steerinfo.dil.util.DataChange;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * WmspGridMaterial服务实现:
@@ -37,6 +35,13 @@ public class WmspGridMaterialServiceImpl  implements IWmspGridMaterialService {
     private RmsStackingMapper rmsStackingMapper;
     @Autowired
     private RmsPwarehouseGridMapper rmsPwarehouseGridMapper;
+    @Autowired
+    private WmspRestackScanResultMapper wmspRestackScanResultMapper;
+    @Autowired
+    private WmspRestackMakeResultMapper wmspRestackMakeResultMapper;
+    @Autowired
+    private WmspCheckWarehouseMapper wmspCheckWarehouseMapper;
+
 
     //新增
     @Override
@@ -134,7 +139,6 @@ public class WmspGridMaterialServiceImpl  implements IWmspGridMaterialService {
         wmspGridMaterial.setInsertUsername("admin");
         wmspGridMaterial.setInsertTime(new Date());
         wmspGridMaterial.setUpdateUsername("admin");
-        wmspGridMaterial.setUpdateTime(new Date());
         wmspGridMaterial.setInsertUpdateRemark("无");
         wmspGridMaterial.setStatus(new BigDecimal(2));
         insertWmspGridMaterial(wmspGridMaterial);
@@ -153,14 +157,15 @@ public class WmspGridMaterialServiceImpl  implements IWmspGridMaterialService {
      * @return
      */
     @Override
-    public int updateWmspGridMaterial(Map<String, Object> map) {
+    public int updateWmspGridMaterial(List<Map<String, Object>> map,String restackMake) {
         int CC=0;
         int MN=0;
         int CX=0;
+        int i =0;
         //获取物资唯一编码
-        List<Map<String,Object>> contents=(List<Map<String, Object>>) map.get("contents");
-        for (Map<String,Object> map1:contents) {
-            String content =(String) map1.get("content");
+//        List<Map<String,Object>> contents=(List<Map<String, Object>>) map.get("contents");
+        for (Map<String,Object> map1:map) {
+            String content =(String) map1.get("contents");
             //截取
             String[] split = content.split("-");
             String materialOnlyCode = split[7];
@@ -177,6 +182,7 @@ public class WmspGridMaterialServiceImpl  implements IWmspGridMaterialService {
             wmspGridMaterial.setStatus(new BigDecimal(1));
             wmspGridMaterialMapper.updateByPrimaryKeySelective(wmspGridMaterial);
             //获取垛位id
+
             BigDecimal stackingId = DataChange.dataToBigDecimal(map1.get("stackingId"));
             //根据最新的垛位
             //计算仓储网格id
@@ -209,11 +215,75 @@ public class WmspGridMaterialServiceImpl  implements IWmspGridMaterialService {
             wmspGridMaterial.setStatus(new BigDecimal(2));
             wmspGridMaterial.setStandardDataId(new BigDecimal(1));
             wmspGridMaterialMapper.insertSelective(wmspGridMaterial);
+
+//        4、改变当前订单中已经稽核的吊牌的状态,改为已倒垛
+//            根据吊牌扫描结果查找对应的吊牌扫描实绩Id
+            BigDecimal resultId=wmspRestackScanResultMapper.getResultId(content);
+            WmspRestackScanResult wmspRestackScanResult = new WmspRestackScanResult();
+            wmspRestackScanResult.setResultId(resultId);
+            wmspRestackScanResult.setStatus(new BigDecimal(1));
+            i += wmspRestackScanResultMapper.updateByPrimaryKeySelective(wmspRestackScanResult);
+
+            //        3、将当前订单的总数量减去上面当前订单中已经稽核的吊牌
+            WmspRestackMakeResult wmspRestackMakeResult = new WmspRestackMakeResult();
+            wmspRestackMakeResult.setResultId(new BigDecimal(restackMake));
+            BigDecimal quantity=wmspRestackMakeResultMapper.getQuantity(restackMake);
+//            判断当前订单的总数量是否小于或等于0
+            if (quantity.compareTo(new BigDecimal(1))==-1){
+//                当存在时直接结束当前循环
+                break;
+            }
+//            将当前订单的总数量减一
+            wmspRestackMakeResult.setQuantity(quantity.subtract(new BigDecimal(1)));
+            i += wmspRestackMakeResultMapper.updateByPrimaryKeySelective(wmspRestackMakeResult);
         }
-        return 1;
+
+        return i;
     }
 
     public List<Map<String, Object>> getMaterialTypeList(String warehouseid, BigDecimal stackingId, BigDecimal gradtionNumber) {
         return wmspGridMaterialMapper.getMaterialTypeList(warehouseid,stackingId,gradtionNumber);
     }
+
+//    新增库存盘点实绩
+    @Override
+    public int insertStockTaking(String warehouseId, String materialCode, Integer quantity) {
+//        根据仓库id和物资类型编码,查询当前的今日库存以及今天入库和出库数量
+        int count = wmspGridMaterialMapper.getStockTakingList(warehouseId,materialCode);
+//        调用插入库存盘点实绩接口
+//        创建库存盘点实绩类
+        WmspCheckWarehouse wmspCheckWarehouse = new WmspCheckWarehouse();
+//        添加仓库id
+        wmspCheckWarehouse.setWarehouseId(new BigDecimal(warehouseId));
+//        添加物资ID
+        BigDecimal materialId = wmspGridMaterialMapper.getMaterialIds(materialCode);
+
+        wmspCheckWarehouse.setMaterialId(materialId);
+//        添加实际数量
+        wmspCheckWarehouse.setElectronicsMaterialAmount(new BigDecimal(count));
+//        添加盘点数量
+        wmspCheckWarehouse.setRealMaterialAmount(new BigDecimal(quantity));
+//        添加盈亏数
+        Integer checkProfitloss = count - quantity;
+        wmspCheckWarehouse.setCheckProfitloss(new BigDecimal(checkProfitloss));
+
+        wmspCheckWarehouse.setInsertTime(new Date());
+
+        wmspCheckWarehouse.setInsertUsername("admin");
+//        查找当前盘点库存实绩表的最大Id
+        BigDecimal checkId = wmspCheckWarehouseMapper.getMaxId();
+        if (checkId==null){
+            checkId=new BigDecimal(1);
+        }
+        wmspCheckWarehouse.setCheckId(checkId.add(new BigDecimal(1)));
+        int result = wmspCheckWarehouseMapper.insertSelective(wmspCheckWarehouse);
+
+        return result;
+    }
+
+    @Override
+    public List<Map<String, Object>> getStockTakingList() {
+
+        return wmspCheckWarehouseMapper.getStockTakingList();
+    }
 }

+ 18 - 2
src/main/java/com/steerinfo/dil/service/impl/WmspOutboundResultServiceImpl.java

@@ -20,6 +20,7 @@ import org.springframework.stereotype.Service;
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -60,6 +61,9 @@ public class WmspOutboundResultServiceImpl  implements IWmspOutboundResultServic
     @Autowired
     private WmspGridMaterialMapper wmspGridMaterialMapper;
 
+    @Autowired
+    WmspSendReceiveServiceImpl wmspSendReceiveService;
+
     @Override
     public List<Map<String, Object>> selectResultNumber(Map<String, Object> mapval) {
         return wmspOutboundResultMapper.selectResultNumber(mapval);
@@ -395,14 +399,26 @@ public class WmspOutboundResultServiceImpl  implements IWmspOutboundResultServic
         int i=0;
         for(Map<String,Object> scanMaterial:scanList){
             String materialOnlyCode = scanMaterial.get("RESULT_MATERIAL").toString();*/
+
             int i=0;
             String[] tag1 = materialOnlyCode.split("\\-");
             List<Map<String,Object>> listMap  = wmspOutboundScanResultMapper.getMaterialSteelId(tag1[7]);
+
             for(Map<String,Object> map:listMap) {
-                BigDecimal materialId = DataChange.dataToBigDecimal(map.get("materialId"));
 
+                BigDecimal materialSteelId = DataChange.dataToBigDecimal(map.get("materialId"));
+                if(materialSteelId == null){
+                    return -1;
+                }
+                //根据物资钢材id查询仓库id和物资大类id
+//                BigDecimal materialId = wmspSendReceiveService.getMaterialId(materialSteelId);
+//                Map<String,Object> map1 = new HashMap<>();
+//                map1.put("materialId",materialId);
+//                map1.put("warehouseId",3);
+//                wmspSendReceiveService.addOutBoundSendReceive(map1);
+//                wmspSendReceiveService.addThisdayInventorySendReceive(map1);
                 //将这些物资钢材id进行逻辑删除
-                i += wmspGridMaterialMapper.updateByMaterialId(materialId);
+                i += wmspGridMaterialMapper.updateByMaterialId(materialSteelId,new Date());
             }
 
         return i;

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

@@ -37,8 +37,12 @@ public class WmspRestackMakeResultServiceImpl  implements IWmspRestackMakeResult
     @Autowired
     private WmspGridMaterialMapper wmspGridMaterialMapper;
     @Autowired
+    private  WmspRestackMakeTypeResultMapper wmspRestackMakeTypeResultMapper;
+    @Autowired
     private WmspRestackScanResultServiceImpl wmspRestackScanResultService;
     @Autowired
+    private WmspGridMaterialServiceImpl wmspGridMaterialService;
+    @Autowired
     private WmspRestackMakeTypeResultServiceImpl wmspRestackMakeTypeResultService;
     @Override
     public List<Map<String, Object>> selectRestackMakeResultList(Map<String, Object> mapval) {
@@ -253,13 +257,41 @@ public class WmspRestackMakeResultServiceImpl  implements IWmspRestackMakeResult
     }
 
     @Override
-    public List<Map<String, Object>> selectRestackForPc(Map<String, Object> map) {
+    public List<Map<String, Object>> selectRestackForPc(Integer DistrubtionStatus) {
         List<Map<String, Object>> mapList = new ArrayList<>();
+        Map<String, Object> map =new HashMap<>();
 //        判断当前用户想要获取的是未下发或已下发的数据
-        if (map.get("DistrubtionStatus").equals(0)){
+        if (DistrubtionStatus==0){
+            map.put("DistrubtionStatus",0);
             mapList = wmspRestackMakeResultMapper.selectRestackForPc(map);
         }
-        if (map.get("DistrubtionStatus").equals(1)){
+        if (DistrubtionStatus==1){
+            map.put("DistrubtionStatus",1);
+            mapList = wmspRestackMakeResultMapper.selectRestackForPc2(map);
+//            将获取到的mapList中的完成状态用中文表示
+            for (Map<String, Object> map1: mapList){
+                BigDecimal resultStatus =(BigDecimal)map1.get("resultStatus");
+                if (resultStatus.equals(0)){
+                    map1.put("resultStatus","未完成");
+                }
+                if (resultStatus.equals(1)){
+                    map1.put("resultStatus","已完成");
+                }
+            }
+        }
+        return mapList;
+    }
+    @Override
+    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);
 //            将获取到的mapList中的完成状态用中文表示
             for (Map<String, Object> map1: mapList){
@@ -341,7 +373,12 @@ public class WmspRestackMakeResultServiceImpl  implements IWmspRestackMakeResult
     public List<Map<String, Object>> selectRestackByWarehouseIds(String warehouseid) {
         return wmspRestackMakeResultMapper.selectRestackByWarehouseIds(warehouseid);
     }
+//    改变当前订单中已经稽核的吊牌
+    @Override
+    public int changeRestackMakeResult(String restackMake) {
+//        查询当前订单下所有已经稽核且未倒垛的吊牌
+        List<Map<String, Object>> materialScanTagMap = wmspRestackMakeTypeResultMapper.getRestackMakeMaterialScanTag(restackMake);
 
-
-
+        return wmspGridMaterialService.updateWmspGridMaterial(materialScanTagMap,restackMake);
+    }
 }

+ 31 - 22
src/main/java/com/steerinfo/dil/service/impl/WmspRestackScanResultServiceImpl.java

@@ -131,12 +131,34 @@ public class WmspRestackScanResultServiceImpl  implements IWmspRestackScanResult
     @Override
     public WmspRestackScanResult insertWmspRestackScanResult(String restackMake, String context) {
 
-        //唯一编码
+//        物资唯一编码
         String onlyCode=context.split("-")[7];
-        //判断是否重复扫描
+        //物资大类编码
+        String materialCode=context.split("-")[8];
+        //判断当前吊牌是否重复扫描
         int count= wmspRestackScanResultMapper.getWmspRestackScanResultCount(onlyCode);
-        if(count==0){
+//            判断当前物资是否是之前的订单中稽核失败的
+//            如果是之前稽核失败,先判断当前物资在当前订单中是否符合情况,符合则修改状态为稽核成功
+        //设置状态
+        //判断需要倒垛的类型
+        int status= wmspRestackMakeResultMapper.getResultLoaderAudit(restackMake,onlyCode);
+        //查询倒垛的数量
+        Map<String,Object> map=new HashMap<>();
+//            在map中放入我们需要倒垛的物资大类编码
+        map.put("materialCode",materialCode);
+        map.put("restackMake",restackMake);
+        Map<String,Object> map1=wmspRestackMakeResultMapper.getResultLoaderAuditNo(map);
+        BigDecimal quantity = DataChange.dataToBigDecimal(map1.get("quantity"));
+        BigDecimal no =DataChange.dataToBigDecimal(map1.get("no"));
+        int AuditNo=0;
+        if (quantity.compareTo(no)< 1){
+            AuditNo=1;
+        }
+//        当稽核成功的时候生成扫描实绩
+//        稽核失败则直接返回一个失败提示
+        if(count==0&&(status>0&&AuditNo==0)){
             WmspRestackScanResult wmspRestackScanResult=new WmspRestackScanResult();
+
             //设置扫描实绩id
             wmspRestackScanResult.setResultId(wmspRestackScanResultMapper.selectMaxId());
             //倒垛实绩
@@ -145,24 +167,12 @@ public class WmspRestackScanResultServiceImpl  implements IWmspRestackScanResult
             wmspRestackScanResult.setResultScanTag(context);
             //扫描结果
             wmspRestackScanResult.setMaterialOnlyCode(onlyCode);
-            //设置状态
-            //判断需要倒垛的类型
-            int status= wmspRestackMakeResultMapper.getResultLoaderAudit(restackMake,onlyCode);
-            //查询倒垛的数量
-            Map<String,Object> map=new HashMap<>();
-            map.put("onlyCode",onlyCode);
-            map.put("restackMake",restackMake);
-            Map<String,Object> map1=wmspRestackMakeResultMapper.getResultLoaderAuditNo(map);
-            BigDecimal quantity = DataChange.dataToBigDecimal(map1.get("quantity"));
-            BigDecimal no =DataChange.dataToBigDecimal(map1.get("no"));
-            int AuditNo=0;
-            if (quantity.equals(no)){
-                AuditNo=1;
-            }
-            if (status>0&&AuditNo>0){
-                wmspRestackScanResult.setResultLoaderAudit(new BigDecimal(1));
-            }
-            wmspRestackScanResult.setResultLoaderAudit(new BigDecimal(0));
+            //插入物资大类
+            wmspRestackScanResult.setMaterialCode(materialCode);
+//                稽核成功
+            wmspRestackScanResult.setResultLoaderAudit(new BigDecimal(1));
+
+            wmspRestackScanResult.setStatus(new BigDecimal(0));
             //设置装卸工id为1
             wmspRestackScanResult.setLoaderId(new BigDecimal(1));
             //设置扫描时间
@@ -174,7 +184,6 @@ public class WmspRestackScanResultServiceImpl  implements IWmspRestackScanResult
             return wmspRestackScanResult;
         }else {
             return null;
-
         }
     }
 

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

@@ -54,7 +54,7 @@ public class WmspSendReceiveServiceImpl implements IWmspSendReceiveService {
 
     @Override
     //针对每一个仓库中的每一个物资类型新增一个收发层(初始化收发层)
-    @Scheduled(cron =  "0 0 0 * * ?")
+    @Scheduled(cron =  "0 0 0 * * ? ")
     public int addSendReceive() {
         int i=0;
         WmspSendReceive wmspSendReceive = new WmspSendReceive();

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

@@ -0,0 +1,392 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.steerinfo.dil.mapper.WmspCheckWarehouseMapper">
+  <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.WmspCheckWarehouse">
+    <id column="CHECK_ID" jdbcType="DECIMAL" property="checkId" />
+    <result column="WAREHOUSE_ID" jdbcType="DECIMAL" property="warehouseId" />
+    <result column="MATERIAL_ID" jdbcType="DECIMAL" property="materialId" />
+    <result column="REAL_MATERIAL_AMOUNT" jdbcType="DECIMAL" property="realMaterialAmount" />
+    <result column="ELECTRONICS_MATERIAL_AMOUNT" jdbcType="DECIMAL" property="electronicsMaterialAmount" />
+    <result column="CHECK_PROFITLOSS" jdbcType="DECIMAL" property="checkProfitloss" />
+    <result column="INSERT_USERNAME" jdbcType="VARCHAR" property="insertUsername" />
+    <result column="INSERT_TIME" jdbcType="TIMESTAMP" property="insertTime" />
+    <result column="UPDATE_USERNAME" jdbcType="VARCHAR" property="updateUsername" />
+    <result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime" />
+    <result column="INSERT_UPDATE_REMARK" jdbcType="VARCHAR" property="insertUpdateRemark" />
+  </resultMap>
+  <sql id="columns">
+    CHECK_ID, WAREHOUSE_ID, MATERIAL_ID, REAL_MATERIAL_AMOUNT, ELECTRONICS_MATERIAL_AMOUNT, 
+    CHECK_PROFITLOSS, INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK
+  </sql>
+  <sql id="columns_alias">
+    t.CHECK_ID, t.WAREHOUSE_ID, t.MATERIAL_ID, t.REAL_MATERIAL_AMOUNT, t.ELECTRONICS_MATERIAL_AMOUNT, 
+    t.CHECK_PROFITLOSS, t.INSERT_USERNAME, t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, 
+    t.INSERT_UPDATE_REMARK
+  </sql>
+  <sql id="select">
+    SELECT <include refid="columns" /> FROM WMSP_CHECK_WAREHOUSE
+  </sql>
+  <sql id="select_alias">
+    SELECT <include refid="columns_alias" /> FROM WMSP_CHECK_WAREHOUSE t
+  </sql>
+  <sql id="where">
+    <where> 
+      <if test="checkId != null">
+        and CHECK_ID = #{checkId}
+      </if>
+      <if test="warehouseId != null">
+        and WAREHOUSE_ID = #{warehouseId}
+      </if>
+      <if test="materialId != null">
+        and MATERIAL_ID = #{materialId}
+      </if>
+      <if test="realMaterialAmount != null">
+        and REAL_MATERIAL_AMOUNT = #{realMaterialAmount}
+      </if>
+      <if test="electronicsMaterialAmount != null">
+        and ELECTRONICS_MATERIAL_AMOUNT = #{electronicsMaterialAmount}
+      </if>
+      <if test="checkProfitloss != null">
+        and CHECK_PROFITLOSS = #{checkProfitloss}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        and INSERT_USERNAME = #{insertUsername}
+      </if>
+      <if test="insertTime != null">
+        and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        and UPDATE_USERNAME = #{updateUsername}
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        and INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+      </if>
+    </where>
+  </sql>
+  <sql id="whereLike">
+    <where> 
+      <if test="checkId != null">
+        and CHECK_ID = #{checkId}
+      </if>
+      <if test="warehouseId != null">
+        and WAREHOUSE_ID = #{warehouseId}
+      </if>
+      <if test="materialId != null">
+        and MATERIAL_ID = #{materialId}
+      </if>
+      <if test="realMaterialAmount != null">
+        and REAL_MATERIAL_AMOUNT = #{realMaterialAmount}
+      </if>
+      <if test="electronicsMaterialAmount != null">
+        and ELECTRONICS_MATERIAL_AMOUNT = #{electronicsMaterialAmount}
+      </if>
+      <if test="checkProfitloss != null">
+        and CHECK_PROFITLOSS = #{checkProfitloss}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        and INSERT_USERNAME LIKE '%${insertUsername}%'
+      </if>
+      <if test="insertTime != null">
+        and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        and UPDATE_USERNAME LIKE '%${updateUsername}%'
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        and INSERT_UPDATE_REMARK LIKE '%${insertUpdateRemark}%'
+      </if>
+    </where>
+  </sql>
+  <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
+    delete from WMSP_CHECK_WAREHOUSE
+    where CHECK_ID = #{checkId,jdbcType=DECIMAL}
+  </delete>
+  <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
+    delete from WMSP_CHECK_WAREHOUSE
+    where 1!=1 
+      <if test="warehouseId != null">
+        or WAREHOUSE_ID = #{warehouseId}
+      </if>
+      <if test="materialId != null">
+        or MATERIAL_ID = #{materialId}
+      </if>
+      <if test="realMaterialAmount != null">
+        or REAL_MATERIAL_AMOUNT = #{realMaterialAmount}
+      </if>
+      <if test="electronicsMaterialAmount != null">
+        or ELECTRONICS_MATERIAL_AMOUNT = #{electronicsMaterialAmount}
+      </if>
+      <if test="checkProfitloss != null">
+        or CHECK_PROFITLOSS = #{checkProfitloss}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        or INSERT_USERNAME = #{insertUsername}
+      </if>
+      <if test="insertTime != null">
+        or TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = '#{insertTime}'
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        or UPDATE_USERNAME = #{updateUsername}
+      </if>
+      <if test="updateTime != null">
+        or TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = '#{updateTime}'
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        or INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+      </if>
+  </delete>
+  <insert id="insert" parameterType="com.steerinfo.dil.model.WmspCheckWarehouse">
+    insert into WMSP_CHECK_WAREHOUSE (CHECK_ID, WAREHOUSE_ID, MATERIAL_ID, 
+      REAL_MATERIAL_AMOUNT, ELECTRONICS_MATERIAL_AMOUNT, 
+      CHECK_PROFITLOSS, INSERT_USERNAME, INSERT_TIME, 
+      UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK
+      )
+    values (#{checkId,jdbcType=DECIMAL}, #{warehouseId,jdbcType=DECIMAL}, #{materialId,jdbcType=DECIMAL}, 
+      #{realMaterialAmount,jdbcType=DECIMAL}, #{electronicsMaterialAmount,jdbcType=DECIMAL}, 
+      #{checkProfitloss,jdbcType=DECIMAL}, #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, 
+      #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="com.steerinfo.dil.model.WmspCheckWarehouse">
+    insert into WMSP_CHECK_WAREHOUSE
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="checkId != null">
+        CHECK_ID,
+      </if>
+      <if test="warehouseId != null">
+        WAREHOUSE_ID,
+      </if>
+      <if test="materialId != null">
+        MATERIAL_ID,
+      </if>
+      <if test="realMaterialAmount != null">
+        REAL_MATERIAL_AMOUNT,
+      </if>
+      <if test="electronicsMaterialAmount != null">
+        ELECTRONICS_MATERIAL_AMOUNT,
+      </if>
+      <if test="checkProfitloss != null">
+        CHECK_PROFITLOSS,
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME,
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME,
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME,
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME,
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="checkId != null">
+        #{checkId,jdbcType=DECIMAL},
+      </if>
+      <if test="warehouseId != null">
+        #{warehouseId,jdbcType=DECIMAL},
+      </if>
+      <if test="materialId != null">
+        #{materialId,jdbcType=DECIMAL},
+      </if>
+      <if test="realMaterialAmount != null">
+        #{realMaterialAmount,jdbcType=DECIMAL},
+      </if>
+      <if test="electronicsMaterialAmount != null">
+        #{electronicsMaterialAmount,jdbcType=DECIMAL},
+      </if>
+      <if test="checkProfitloss != null">
+        #{checkProfitloss,jdbcType=DECIMAL},
+      </if>
+      <if test="insertUsername != null">
+        #{insertUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="insertTime != null">
+        #{insertTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUsername != null">
+        #{updateUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="insertUpdateRemark != null">
+        #{insertUpdateRemark,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.WmspCheckWarehouse">
+    update WMSP_CHECK_WAREHOUSE
+    set WAREHOUSE_ID = #{warehouseId,jdbcType=DECIMAL},
+      MATERIAL_ID = #{materialId,jdbcType=DECIMAL},
+      REAL_MATERIAL_AMOUNT = #{realMaterialAmount,jdbcType=DECIMAL},
+      ELECTRONICS_MATERIAL_AMOUNT = #{electronicsMaterialAmount,jdbcType=DECIMAL},
+      CHECK_PROFITLOSS = #{checkProfitloss,jdbcType=DECIMAL},
+      INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+      INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+      UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+      UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+      INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR}
+    where CHECK_ID = #{checkId,jdbcType=DECIMAL}
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.WmspCheckWarehouse">
+    update WMSP_CHECK_WAREHOUSE
+    <set>
+      <if test="warehouseId != null">
+        WAREHOUSE_ID = #{warehouseId,jdbcType=DECIMAL},
+      </if>
+      <if test="materialId != null">
+        MATERIAL_ID = #{materialId,jdbcType=DECIMAL},
+      </if>
+      <if test="realMaterialAmount != null">
+        REAL_MATERIAL_AMOUNT = #{realMaterialAmount,jdbcType=DECIMAL},
+      </if>
+      <if test="electronicsMaterialAmount != null">
+        ELECTRONICS_MATERIAL_AMOUNT = #{electronicsMaterialAmount,jdbcType=DECIMAL},
+      </if>
+      <if test="checkProfitloss != null">
+        CHECK_PROFITLOSS = #{checkProfitloss,jdbcType=DECIMAL},
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where CHECK_ID = #{checkId,jdbcType=DECIMAL}
+  </update>
+  <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
+    <include refid="select" />
+    where CHECK_ID = #{checkId,jdbcType=DECIMAL}
+  </select>
+  <select id="selectByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select" />
+    <include refid="where" />
+  </select>
+  <select id="selectLikeByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select" />
+    <include refid="whereLike" />
+  </select>
+  <insert id="batchInsert" parameterType="java.util.List">
+    insert into WMSP_CHECK_WAREHOUSE 
+      (CHECK_ID, 
+      WAREHOUSE_ID, MATERIAL_ID, REAL_MATERIAL_AMOUNT, 
+      ELECTRONICS_MATERIAL_AMOUNT, CHECK_PROFITLOSS, 
+      INSERT_USERNAME, INSERT_TIME, 
+      UPDATE_USERNAME, UPDATE_TIME, 
+      INSERT_UPDATE_REMARK)
+    ( <foreach collection="list" item="item" separator="union all"> 
+   select  
+      #{item.checkId,jdbcType=DECIMAL}, 
+      #{item.warehouseId,jdbcType=DECIMAL}, #{item.materialId,jdbcType=DECIMAL}, #{item.realMaterialAmount,jdbcType=DECIMAL}, 
+      #{item.electronicsMaterialAmount,jdbcType=DECIMAL}, #{item.checkProfitloss,jdbcType=DECIMAL}, 
+      #{item.insertUsername,jdbcType=VARCHAR}, #{item.insertTime,jdbcType=TIMESTAMP}, 
+      #{item.updateUsername,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP}, 
+      #{item.insertUpdateRemark,jdbcType=VARCHAR} from dual  
+   </foreach> )
+  </insert>
+  <update id="batchUpdate" parameterType="java.util.List">
+     update WMSP_CHECK_WAREHOUSE
+     set
+       CHECK_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case CHECK_ID" separator=" ">
+          when #{item.checkId,jdbcType=DECIMAL} then #{item.checkId,jdbcType=DECIMAL}
+       </foreach>
+       ,WAREHOUSE_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case CHECK_ID" separator=" ">
+          when #{item.checkId,jdbcType=DECIMAL} then #{item.warehouseId,jdbcType=DECIMAL}
+       </foreach>
+       ,MATERIAL_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case CHECK_ID" separator=" ">
+          when #{item.checkId,jdbcType=DECIMAL} then #{item.materialId,jdbcType=DECIMAL}
+       </foreach>
+       ,REAL_MATERIAL_AMOUNT=
+       <foreach close="end" collection="list" index="index" item="item" open="case CHECK_ID" separator=" ">
+          when #{item.checkId,jdbcType=DECIMAL} then #{item.realMaterialAmount,jdbcType=DECIMAL}
+       </foreach>
+       ,ELECTRONICS_MATERIAL_AMOUNT=
+       <foreach close="end" collection="list" index="index" item="item" open="case CHECK_ID" separator=" ">
+          when #{item.checkId,jdbcType=DECIMAL} then #{item.electronicsMaterialAmount,jdbcType=DECIMAL}
+       </foreach>
+       ,CHECK_PROFITLOSS=
+       <foreach close="end" collection="list" index="index" item="item" open="case CHECK_ID" separator=" ">
+          when #{item.checkId,jdbcType=DECIMAL} then #{item.checkProfitloss,jdbcType=DECIMAL}
+       </foreach>
+       ,INSERT_USERNAME=
+       <foreach close="end" collection="list" index="index" item="item" open="case CHECK_ID" separator=" ">
+          when #{item.checkId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,INSERT_TIME=
+       <foreach close="end" collection="list" index="index" item="item" open="case CHECK_ID" separator=" ">
+          when #{item.checkId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,UPDATE_USERNAME=
+       <foreach close="end" collection="list" index="index" item="item" open="case CHECK_ID" separator=" ">
+          when #{item.checkId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,UPDATE_TIME=
+       <foreach close="end" collection="list" index="index" item="item" open="case CHECK_ID" separator=" ">
+          when #{item.checkId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,INSERT_UPDATE_REMARK=
+       <foreach close="end" collection="list" index="index" item="item" open="case CHECK_ID" separator=" ">
+          when #{item.checkId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
+       </foreach>
+     where CHECK_ID in 
+     <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
+    #{item.checkId,jdbcType=DECIMAL}
+     </foreach> 
+  </update>
+  <delete id="batchDelete" parameterType="java.util.List">
+    delete from WMSP_CHECK_WAREHOUSE
+    where CHECK_ID in 
+    <foreach close=")" collection="list" item="id" open="(" separator=",">
+      #{id}
+    </foreach>
+  </delete>
+  <!-- 友情提示!!!-->
+  <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+<!--  查询盘库实绩,根据新增时间倒排-->
+  <select id="getStockTakingList" resultType="java.util.Map">
+    SELECT WCW.WAREHOUSE_ID "warehouseId",
+           RM.MATERIAL_NAME || RM.MATERIAL_SPECIFICATION || '(' ||
+           RM.MATERIAL_MODEL || ')' "materialName",
+           RW.WAREHOUSE_NAME "warehouseName",
+           WCW.MATERIAL_ID "materialId",
+           WCW.REAL_MATERIAL_AMOUNT "realMaterialAmount",
+           WCW.ELECTRONICS_MATERIAL_AMOUNT "electronicsMaterialAmount",
+           WCW.CHECK_PROFITLOSS "checkProfitloss",
+           WCW.INSERT_TIME "insertTime"
+    FROM WMSP_CHECK_WAREHOUSE WCW
+           LEFT JOIN RMS_MATERIAL RM
+                     ON RM.MATERIAL_ID = WCW.MATERIAL_ID
+           LEFT JOIN RMS_WAREHOUSE RW
+                     ON RW.WAREHOUSE_ID = WCW.WAREHOUSE_ID
+    ORDER BY WCW.INSERT_TIME DESC
+  </select>
+  <select id="getMaxId" resultType="java.math.BigDecimal">
+    SELECT MAX(WCM.CHECK_ID)
+    FROM WMSP_CHECK_WAREHOUSE WCM
+  </select>
+</mapper>

+ 29 - 5
src/main/resources/com/steerinfo/dil/mapper/WmspGridMaterialMapper.xml

@@ -706,16 +706,40 @@
     WHERE WGM.GRID_ID=#{GirdId}
   </select>
   <select id="slelectGridIdByMaterialOnlyCode" parameterType="java.lang.String" resultType="java.math.BigDecimal">
-    select WGM.GRID_ID "girdId"
+   select WGM.GRID_ID "girdId"
    from RMS_MATERIAL_STEEL RMS
    left join WMSP_GRID_MATERIAL WGM
    on  WGM.MATERIAL_ID = RMS.MATERIAL_STEEL_ID
-   WHERE  RMS.MATERIAL_ONLY_CODE=#{materialOnlyCode}
+   WHERE WGM.GRID_ID IS NOT NULL AND RMS.MATERIAL_ONLY_CODE=#{materialOnlyCode}
   </select>
+<!--  根据物资编码和仓库id查询实时库存-->
+  <select id="getStockTakingList" resultType="java.lang.Integer">
+    SELECT
+      COUNT(*)
+--     实时库存
+    FROM WMSP_GRID_MATERIAL WGM
+--                 仓储网格表
+           LEFT JOIN RMS_PWAREHOUSE_GRID RPG
+                     ON RPG.GRID_ID = WGM.GRID_ID
+--         物资钢材表
+           LEFT JOIN  RMS_MATERIAL_STEEL RMS
+                      ON WGM.MATERIAL_ID = RMS.MATERIAL_STEEL_ID
+--         物资表
+           LEFT JOIN RMS_MATERIAL RM
+                     ON RMS.MATERIAL_ID = RM.MATERIAL_ID
+           WHERE WGM.DELETED = 0  AND RPG.WAREHOUSE_ID = #{warehouseId} AND RM.MATERIAL_CODE = #{materialCode}
+  </select>
+  <select id="getMaterialIds" resultType="java.math.BigDecimal">
+    SELECT DISTINCT
+      RM.MATERIAL_ID "materialId"
+    FROM RMS_MATERIAL RM
+    WHERE RM.MATERIAL_CODE = #{materialCode}
+  </select>
+
 
-  <update id="updateByMaterialId" parameterType="java.math.BigDecimal">
-    update WMSP_GRID_MATERIAL WGM set WGM.DELETED = 1
-    where WGM.MATERIAL_ID = #{materialId}
+  <update id="updateByMaterialId" >
+    update WMSP_GRID_MATERIAL WGM set WGM.DELETED = 1,UPDATE_TIME = #{updateTime}
+    where WGM.MATERIAL_ID = #{materialSteelId}
   </update>
   
  <select id="getMaterialId" resultType="java.util.Map" parameterType="java.math.BigDecimal">

+ 40 - 7
src/main/resources/com/steerinfo/dil/mapper/WmspInboundDistributeMapper.xml

@@ -386,31 +386,64 @@
   <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
   <select id="getNewDistribute" resultType="java.util.Map">
     select  distinct
+--                      批次ID
      wir.inbound_distribute_id "distributeId",
+--                      扫码数
      wir.result_number "resultNumber",
+--                      仓库名称
      rw.WAREHOUSE_NAME "warehouseName",
+--                      仓库主键
      rw.WAREHOUSE_ID "warehouseId",
+--                      月台ID
      rpg.PLATFORM_ID "platformId",
+--                      垛位ID
      rpg.STACKING_ID "stackingId",
+--                      垛位位置
      rs.STACKING_ARRIVAL "stackingArrival",
+--                      垛位编号
      rs.STACKING_NO "stackingNo",
+--                      层次号
      rpg.GRID_GRADATION_NUMBER "gridGradationNumber",
+--                      层序号
      rpg.GRID_SEQUENCE_NUMBER "gridSequenceNumber",
+--                      物资类型ID
      rm.MATERIAL_TYPE_ID "materialTypeId",
+--                      计量单位ID
      rm.UNIT_OF_MEASURE_ID "unitOfMeasureId",
+--                      物资编码
      rm.MATERIAL_CODE "materialCode",
+--                      物资名称
      rm.MATERIAL_NAME "materialName",
+--                      规格
      rm.MATERIAL_SPECIFICATION "materialSpecification",
+--                      型号
      rm.MATERIAL_MODEL "materialMode",
+--                      长度
      rm.MATERIAL_LENGTH "materialLength"
+--     入库作业实绩表
   from WMSP_INBOUND_RESULT wir
-  left join RMS_PWAREHOUSE_GRID rpg on rpg.GRID_ID=wir.GRID_ID
-  left join RMS_WAREHOUSE rw on rpg.WAREHOUSE_ID=rw.WAREHOUSE_ID
-  left join RMS_STACKING rs on  rs.STACKING_ID=rpg.STACKING_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
-   where wir.INBOUND_DISTRIBUTE_ID in(  select * from(
-           select DISTRIBUTE_ID  from  WMSP_INBOUND_DISTRIBUTE where  RESULT_STATUS=2  and PERSONNEL_WORKSHOPID=#{personnelWorkshopid} order by insert_time asc
+--       仓储网格表
+  left join RMS_PWAREHOUSE_GRID rpg
+      on rpg.GRID_ID=wir.GRID_ID
+--       仓库表
+  left join RMS_WAREHOUSE rw
+      on rpg.WAREHOUSE_ID=rw.WAREHOUSE_ID
+--       垛位表
+  left join RMS_STACKING rs
+      on  rs.STACKING_ID=rpg.STACKING_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
+   where wir.INBOUND_DISTRIBUTE_ID
+             in(
+                 select * from(
+           select DISTRIBUTE_ID
+           from  WMSP_INBOUND_DISTRIBUTE
+--            入库状态为2
+           where  RESULT_STATUS=2  and PERSONNEL_WORKSHOPID=#{personnelWorkshopid} order by insert_time asc
     ) where rownum=1)
   </select>
   <select id="getDistributeStatus" resultType="java.lang.Integer">

+ 27 - 9
src/main/resources/com/steerinfo/dil/mapper/WmspRestackMakeResultMapper.xml

@@ -1407,22 +1407,40 @@
                ON rs2.STACKING_ID=wrme.AFTER_BEFORE_STACKING_ID
            LEFT JOIN RMS_WAREHOUSE rw
                ON rw.WAREHOUSE_ID=wrme.AFTER_WAREHOUSE_ID
-            WHERE wrme.DISTRIBUTIONSTATUS=1 and wrme.DELETED=0 and wrme.RESULT_STATUS=0 and wrme.AFTER_WAREHOUSE_ID=#{warehouseid}
+            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">
     select count(*) from WMSP_RESTACK_MAKE_TYPE_RESULT where MATERIAL_TYPE_ID in (select DISTINCT rm.material_code from RMS_MATERIAL_STEEL  rms
     left join RMS_MATERIAL rm on rm.material_id= rms.material_id
-    where rms.material_only_code='context') and WMSP_RESTACK_MAKE_ID=#{restackMake}
+    where rms.material_only_code=#{onlyCode}) and WMSP_RESTACK_MAKE_ID=#{restackMake}
   </select>
   <select id="getResultLoaderAuditNo" resultType="java.util.Map" parameterType="java.util.Map">
     select WRMR.QUANTITY "quantity",
-           count(WRSR.RESULT_ID) as "no"
+           (
+             select count(WRSR.RESULT_ID)
+             from WMSP_RESTACK_SCAN_RESULT WRSR
+                    left join RMS_MATERIAL RM
+                              on RM.MATERIAL_CODE = WRSR.MATERIAL_CODE
+             where WRSR.MATERIAL_CODE=#{materialCode}
+           ) as "no"
     from WMSP_RESTACK_MAKE_TYPE_RESULT WRMTR
-    left join WMSP_RESTACK_MAKE_RESULT WRMR
-    on WRMR.RESULT_ID=WRMTR.WMSP_RESTACK_MAKE_ID
-    left join WMSP_RESTACK_SCAN_RESULT WRSR
-    on WRSR.RESULT_RESTACK_ID=WRMR.RESULT_ID
-    WHERE WRMTR.WMSP_RESTACK_MAKE_ID=#{restackMake} AND WRSR.MATERIAL_ONLY_CODE=#{onlyCode}
+           left join WMSP_RESTACK_MAKE_RESULT WRMR
+                     on WRMR.RESULT_ID=WRMTR.WMSP_RESTACK_MAKE_ID
+    where WRMTR.WMSP_RESTACK_MAKE_ID=#{restackMake}
   </select>
-
+  <select id="getMaterialGrid" resultType="java.lang.Integer">
+    SELECT RMS.MATERIAL_STEEL_ID "gridId"
+    FROM RMS_MATERIAL_STEEL RMS
+    WHERE RMS.MATERIAL_ONLY_CODE = #{onlyCode}
+  </select>
+  <select id="getQuantity" resultType="java.math.BigDecimal">
+    SELECT WRMR.QUANTITY "quantity"
+    FROM WMSP_RESTACK_MAKE_RESULT WRMR
+    WHERE WRMR.QUANTITY> 0 AND WRMR.RESULT_ID = #{restackMake}
+  </select>
+  <!--  根据物资唯一id,逻辑删除对应的餐厨网格状态-->
+  <update id="changeMaterialGrid">
+    UPDATE WMSP_GRID_MATERIAL WGM SET WGM.DELETED = 1
+    WHERE WGM.GRID_ID = #{gridId}
+  </update>
 </mapper>

+ 53 - 26
src/main/resources/com/steerinfo/dil/mapper/WmspRestackMakeTypeResultMapper.xml

@@ -316,35 +316,62 @@
   <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
   <select id="getRestackMakeTypeResult" resultType="java.util.Map">
     select DISTINCT
-     rm.UNIT_OF_MEASURE_ID "unitOfMeasureId",
-     rm.MATERIAL_CODE "materialCode",
-     rm.MATERIAL_NAME "materialName",
-     rm.MATERIAL_SPECIFICATION "materialSpecification",
-     rm.MATERIAL_MODEL "materialMode",
-     rm.MATERIAL_LENGTH "materialLength",
-     wrmtr.QUANTITY "quantity",
-     coun.num "count"
+      rm.UNIT_OF_MEASURE_ID "unitOfMeasureId",
+      rm.MATERIAL_CODE "materialCode",
+      rm.MATERIAL_NAME "materialName",
+      rm.MATERIAL_SPECIFICATION "materialSpecification",
+      rm.MATERIAL_MODEL "materialMode",
+      rm.MATERIAL_LENGTH "materialLength",
+      wrmr.QUANTITY "quantity",
+      coun.num "count"
     from WMSP_RESTACK_MAKE_TYPE_RESULT  wrmtr
-    left join rms_material rm on rm.material_code= wrmtr.MATERIAL_TYPE_ID
-    left join (
-        select count(*) num,rm2.MATERIAL_ID materialId from WMSP_RESTACK_SCAN_RESULT wrsr
-        left join RMS_MATERIAL_STEEL rms on rms.MATERIAL_ONLY_CODE=wrsr.RESULT_SCAN_TAG
-        left join RMS_MATERIAL rm2 on rm2.MATERIAL_ID = rms.MATERIAL_ID
-        group by rm2.MATERIAL_ID
-    ) coun on coun.materialId=wrmtr.MATERIAL_TYPE_ID
+           left join rms_material rm
+                     on rm.material_code= wrmtr.MATERIAL_TYPE_ID
+           left join WMSP_RESTACK_MAKE_RESULT wrmr
+                     on wrmr.RESULT_ID = wrmtr.WMSP_RESTACK_MAKE_ID
+           left join (
+      select (
+               SELECT count( * )
+               FROM WMSP_RESTACK_SCAN_RESULT wrsr
+                      LEFT JOIN RMS_MATERIAL rm2
+                                ON rm2.MATERIAL_CODE = wrsr.MATERIAL_CODE
+             ) num,
+             rm2.MATERIAL_Code materialCode
+      from WMSP_RESTACK_SCAN_RESULT wrsr
+             left join RMS_MATERIAL_STEEL rms
+                       on rms.MATERIAL_ONLY_CODE=wrsr.MATERIAL_ONLY_CODE
+             left join RMS_MATERIAL rm2
+                       on rm2.MATERIAL_ID = rms.MATERIAL_ID
+      group by rm2.MATERIAL_CODE
+    ) coun on coun.materialCode=wrmtr.MATERIAL_TYPE_ID
     where wrmtr.WMSP_RESTACK_MAKE_ID =#{restackMake}
   </select>
   <select id="getRestackMakeMaterial" resultType="java.util.Map">
-        select
-        wrsr.RESULT_SCAN_TAG "materialOnlyCode",
-        rm.MATERIAL_CODE "materialCode",
-        rm.MATERIAL_NAME "materialName",
-        rm.MATERIAL_SPECIFICATION "materialSpecification",
-        rm.MATERIAL_MODEL "materialMode",
-        rm.MATERIAL_LENGTH "materialLength"
-        from WMSP_RESTACK_SCAN_RESULT wrsr
-        left join RMS_MATERIAL_STEEL rms on rms.MATERIAL_ONLY_CODE=wrsr.RESULT_SCAN_TAG
-        left join RMS_MATERIAL rm on rm.MATERIAL_ID = rms.MATERIAL_ID
-        where wrsr.RESULT_RESTACK_ID =#{restackMake}
+    select
+      wrsr.RESULT_SCAN_TAG "materialOnlyCode",
+      wrsr.RESULT_LOADER_AUDIT "check",
+      rm.MATERIAL_CODE "materialCode",
+      rm.MATERIAL_NAME "materialName",
+      rm.MATERIAL_SPECIFICATION "materialSpecification",
+      rm.MATERIAL_MODEL "materialMode",
+      rm.MATERIAL_LENGTH "materialLength",
+      (select wrmr.QUANTITY
+          from WMSP_RESTACK_MAKE_RESULT wrmr
+          where wrmr.RESULT_ID = #{restackMake}
+          ) "quantity"
+    from WMSP_RESTACK_SCAN_RESULT wrsr
+           left join RMS_MATERIAL rm
+                     on rm.MATERIAL_CODE = wrsr.MATERIAL_CODE
+    where wrsr.RESULT_RESTACK_ID =#{restackMake} and wrsr.STATUS=0
+  </select>
+<!--  根据当前订单查找已经稽核的物资的扫描吊牌结果和-->
+  <select id="getRestackMakeMaterialScanTag" resultType="java.util.Map">
+    SELECT
+      WRSR.RESULT_SCAN_TAG "contents",
+      WRMR.AFTER_STACKING_ID "stackingId"
+    FROM WMSP_RESTACK_SCAN_RESULT WRSR
+           LEFT JOIN WMSP_RESTACK_MAKE_RESULT WRMR
+           ON WRMR.RESULT_ID = WRSR.RESULT_RESTACK_ID
+    WHERE WRSR.RESULT_LOADER_AUDIT = 1 AND WRSR.RESULT_RESTACK_ID = #{restackMake}
   </select>
 </mapper>

+ 62 - 9
src/main/resources/com/steerinfo/dil/mapper/WmspRestackScanResultMapper.xml

@@ -7,9 +7,10 @@
     <result column="LOADER_ID" jdbcType="DECIMAL" property="loaderId" />
     <result column="RESULT_SCAN_TAG" jdbcType="VARCHAR" property="resultScanTag" />
     <result column="RESULT_LOADER_AUDIT" jdbcType="DECIMAL" property="resultLoaderAudit" />
+    <result column="STATUS" jdbcType="DECIMAL" property="status" />
     <result column="INSERT_USERNAME" jdbcType="VARCHAR" property="insertUsername" />
     <result column="MATERIAL_ONLY_CODE" jdbcType="VARCHAR" property="materialOnlyCode" />
-    
+    <result column="MATERIAL_CODE" jdbcType="VARCHAR" property="materialCode" />
     <result column="INSERT_TIME" jdbcType="TIMESTAMP" property="insertTime" />
     <result column="UPDATE_USERNAME" jdbcType="VARCHAR" property="updateUsername" />
     <result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime" />
@@ -17,12 +18,12 @@
     <result column="ISSUE_TIME" jdbcType="TIMESTAMP" property="issueTime" />
   </resultMap>
   <sql id="columns">
-    RESULT_ID, RESULT_RESTACK_ID, LOADER_ID, RESULT_SCAN_TAG, RESULT_LOADER_AUDIT, INSERT_USERNAME, MATERIAL_ONLY_CODE,
+    RESULT_ID, RESULT_RESTACK_ID, LOADER_ID, RESULT_SCAN_TAG, RESULT_LOADER_AUDIT,STATUS, INSERT_USERNAME, MATERIAL_ONLY_CODE,MATERIAL_CODE,
     INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK, ISSUE_TIME
   </sql>
   <sql id="columns_alias">
-    t.RESULT_ID, t.RESULT_RESTACK_ID, t.LOADER_ID, t.RESULT_SCAN_TAG, t.RESULT_LOADER_AUDIT, 
-    t.INSERT_USERNAME,t.MATERIAL_ONLY_CODE, t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK,
+    t.RESULT_ID, t.RESULT_RESTACK_ID, t.LOADER_ID, t.RESULT_SCAN_TAG, t.RESULT_LOADER_AUDIT, t.STATUS,
+    t.INSERT_USERNAME,t.MATERIAL_ONLY_CODE,t.MATERIAL_CODE, t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK,
     t.ISSUE_TIME
   </sql>
   <sql id="select">
@@ -48,12 +49,18 @@
       <if test="resultLoaderAudit != null">
         and RESULT_LOADER_AUDIT = #{resultLoaderAudit}
       </if>
+      <if test="status != null">
+        and STATUS = #{status}
+      </if>
       <if test="insertUsername != null and insertUsername != ''">
         and INSERT_USERNAME = #{insertUsername}
       </if>
       <if test="materialOnlyCode != null and materialOnlyCode != ''">
         and MATERIAL_ONLY_CODE = #{materialOnlyCode}
       </if>
+      <if test="materialCode != null and materialCode != ''">
+        and MATERIAL_CODE = #{materialCode}
+      </if>
       <if test="insertTime != null">
         and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
       </if>
@@ -88,12 +95,18 @@
       <if test="resultLoaderAudit != null">
         and RESULT_LOADER_AUDIT = #{resultLoaderAudit}
       </if>
+      <if test="status != null">
+        and STATUS = #{status}
+      </if>
       <if test="insertUsername != null and insertUsername != ''">
         and INSERT_USERNAME LIKE '%${insertUsername}%'
       </if>
       <if test="materialOnlyCode != null and materialOnlyCode != ''">
         and MATERIAL_ONLY_CODE LIKE '%${materialOnlyCode}%'
       </if>
+      <if test="materialCode != null and materialCode != ''">
+        and MATERIAL_CODE LIKE '%${materialCode}%'
+      </if>
       <if test="insertTime != null">
         and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
       </if>
@@ -130,12 +143,18 @@
     <if test="resultLoaderAudit != null">
       or RESULT_LOADER_AUDIT = #{resultLoaderAudit}
     </if>
+    <if test="status != null">
+      or STATUS = #{status}
+    </if>
     <if test="insertUsername != null and insertUsername != ''">
       or INSERT_USERNAME = #{insertUsername}
     </if>
     <if test="materialOnlyCode != null and materialOnlyCode != ''">
       or MATERIAL_ONLY_CODE = #{materialOnlyCode}
     </if>
+    <if test="materialCode != null and materialCode != ''">
+      or MATERIAL_CODE = #{materialCode}
+    </if>
     <if test="insertTime != null">
       or TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = '#{insertTime}'
     </if>
@@ -154,11 +173,12 @@
   </delete>
   <insert id="insert" parameterType="com.steerinfo.dil.model.WmspRestackScanResult">
     insert into WMSP_RESTACK_SCAN_RESULT (RESULT_ID, RESULT_RESTACK_ID, LOADER_ID,
-                                          RESULT_SCAN_TAG, RESULT_LOADER_AUDIT, INSERT_USERNAME,MATERIAL_ONLY_CODE,
+                                          RESULT_SCAN_TAG, RESULT_LOADER_AUDIT, STATUS,INSERT_USERNAME,MATERIAL_ONLY_CODE,
+                                          MATERIAL_CODE,
                                           INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME,
                                           INSERT_UPDATE_REMARK, ISSUE_TIME)
     values (#{resultId,jdbcType=DECIMAL}, #{resultRestackId,jdbcType=DECIMAL}, #{loaderId,jdbcType=DECIMAL},
-            #{resultScanTag,jdbcType=VARCHAR}, #{resultLoaderAudit,jdbcType=DECIMAL}, #{insertUsername,jdbcType=VARCHAR}, #{materialOnlyCode,jdbcType=VARCHAR},
+            #{resultScanTag,jdbcType=VARCHAR}, #{resultLoaderAudit,jdbcType=DECIMAL},#{status,jdbcType=DECIMAL}, #{insertUsername,jdbcType=VARCHAR}, #{materialOnlyCode,jdbcType=VARCHAR},#{materialCode,jdbcType=VARCHAR},
             #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP},
             #{insertUpdateRemark,jdbcType=VARCHAR}, #{issueTime,jdbcType=TIMESTAMP})
   </insert>
@@ -180,12 +200,18 @@
       <if test="resultLoaderAudit != null">
         RESULT_LOADER_AUDIT,
       </if>
+      <if test="status != null">
+        STATUS,
+      </if>
       <if test="insertUsername != null">
         INSERT_USERNAME,
       </if>
       <if test="materialOnlyCode != null">
         MATERIAL_ONLY_CODE,
       </if>
+      <if test="materialCode != null">
+        MATERIAL_CODE,
+      </if>
       <if test="insertTime != null">
         INSERT_TIME,
       </if>
@@ -218,12 +244,18 @@
       <if test="resultLoaderAudit != null">
         #{resultLoaderAudit,jdbcType=DECIMAL},
       </if>
+      <if test="status != null">
+        #{status,jdbcType=DECIMAL},
+      </if>
       <if test="insertUsername != null">
         #{insertUsername,jdbcType=VARCHAR},
       </if>
       <if test="materialOnlyCode != null">
         #{materialOnlyCode,jdbcType=VARCHAR},
       </if>
+      <if test="materialCode != null">
+        #{materialCode,jdbcType=VARCHAR},
+      </if>
       <if test="insertTime != null">
         #{insertTime,jdbcType=TIMESTAMP},
       </if>
@@ -247,8 +279,10 @@
         LOADER_ID = #{loaderId,jdbcType=DECIMAL},
         RESULT_SCAN_TAG = #{resultScanTag,jdbcType=VARCHAR},
         RESULT_LOADER_AUDIT = #{resultLoaderAudit,jdbcType=DECIMAL},
+        STATUS = #{status,jdbcType=DECIMAL},
         INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
         MATERIAL_ONLY_CODE = #{materialOnlyCode,jdbcType=VARCHAR},
+        MATERIAL_CODE = #{materialCode,jdbcType=VARCHAR},
         INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
         UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
         UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
@@ -271,12 +305,18 @@
       <if test="resultLoaderAudit != null">
         RESULT_LOADER_AUDIT = #{resultLoaderAudit,jdbcType=DECIMAL},
       </if>
+      <if test="status != null">
+        STATUS = #{status,jdbcType=DECIMAL},
+      </if>
       <if test="insertUsername != null">
         INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
       </if>
       <if test="materialOnlyCode != null">
         MATERIAL_ONLY_CODE = #{materialOnlyCode,jdbcType=VARCHAR},
       </if>
+      <if test="materialCode != null">
+        MATERIAL_CODE = #{materialCode,jdbcType=VARCHAR},
+      </if>
       <if test="insertTime != null">
         INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
       </if>
@@ -311,7 +351,7 @@
     insert into WMSP_RESTACK_SCAN_RESULT
     (RESULT_ID,
     RESULT_RESTACK_ID, LOADER_ID, RESULT_SCAN_TAG,
-    RESULT_LOADER_AUDIT, INSERT_USERNAME,MATERIAL_ONLY_CODE,
+    RESULT_LOADER_AUDIT, STATUS,INSERT_USERNAME,MATERIAL_ONLY_CODE,MATERIAL_CODE,
     INSERT_TIME, UPDATE_USERNAME,
     UPDATE_TIME, INSERT_UPDATE_REMARK,
     ISSUE_TIME)
@@ -319,7 +359,7 @@
     select
     #{item.resultId,jdbcType=DECIMAL},
     #{item.resultRestackId,jdbcType=DECIMAL}, #{item.loaderId,jdbcType=DECIMAL}, #{item.resultScanTag,jdbcType=VARCHAR},
-    #{item.resultLoaderAudit,jdbcType=DECIMAL}, #{item.insertUsername,jdbcType=VARCHAR},#{item.materialOnlyCode,jdbcType=VARCHAR},
+    #{item.resultLoaderAudit,jdbcType=DECIMAL},#{item.status,jdbcType=DECIMAL}, #{item.insertUsername,jdbcType=VARCHAR},#{item.materialOnlyCode,jdbcType=VARCHAR},#{item.materialCode,jdbcType=VARCHAR},
     #{item.insertTime,jdbcType=TIMESTAMP}, #{item.updateUsername,jdbcType=VARCHAR},
     #{item.updateTime,jdbcType=TIMESTAMP}, #{item.insertUpdateRemark,jdbcType=VARCHAR},
     #{item.issueTime,jdbcType=TIMESTAMP} from dual
@@ -348,6 +388,10 @@
     <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
       when #{item.resultId,jdbcType=DECIMAL} then #{item.resultLoaderAudit,jdbcType=DECIMAL}
     </foreach>
+    ,STATUS=
+    <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.status,jdbcType=DECIMAL}
+    </foreach>
     ,INSERT_USERNAME=
     <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
       when #{item.resultId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
@@ -356,6 +400,10 @@
     <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
       when #{item.resultId,jdbcType=DECIMAL} then #{item.materialOnlyCode,jdbcType=VARCHAR}
     </foreach>
+    ,MATERIAL_CODE=
+    <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.materialCode,jdbcType=VARCHAR}
+    </foreach>
     ,INSERT_TIME=
     <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
       when #{item.resultId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
@@ -635,6 +683,11 @@
   </select>
   <select id="getWmspRestackScanResultCount" resultType="java.lang.Integer">
     select count(*) from WMSP_RESTACK_SCAN_RESULT WRSR
-    where   WRSR.MATERIAL_ONLY_CODE=#{onlyCode}
+    where WRSR.STATUS=1 AND RESULT_LOADER_AUDIT =1 AND  WRSR.MATERIAL_ONLY_CODE=#{onlyCode}
+  </select>
+  <select id="getResultId" resultType="java.math.BigDecimal">
+    SELECT WRSR.RESULT_ID
+    FROM WMSP_RESTACK_SCAN_RESULT WRSR
+    WHERE  WRSR.RESULT_SCAN_TAG = #{content}
   </select>
 </mapper>