胡半仙 3 years ago
parent
commit
d3ed6d0079

+ 1 - 1
pom.xml

@@ -130,7 +130,7 @@
 <!--                        <param>WMSP_INBOUND_STACK_RESULT</param>-->
 <!--                        <param>WMSP_INBOUND_CORRECT_RESULT</param>-->
 <!--                        <param>WMSP_INBOUND_DRIVING_RESULT</param>-->
-                        <param>AMSTRUCK_REQUIREMENT_MATERIAL</param>
+                        <param>WMSP_RESTACK_MAKE_RESULT</param>
 
                     </tables>
                 </configuration>

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

@@ -90,15 +90,16 @@ public class WmsInboundResultController extends BaseRESTfulController {
                                              Integer apiId,
                                              Integer pageNum,
                                              Integer pageSize,
+                                             Integer warehouseId,
                                              String startTime,
                                              String endTime) {
 
         DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
-        List<Map<String,Object>> inboundResultList = wmsInboundResultServiceImpl.getInboundResult(mapValue);
+        List<Map<String,Object>> inboundResultList = wmsInboundResultServiceImpl.getInboundResult(mapValue,warehouseId);
 
         /*分页*/
         PageHelper.startPage(pageNum, pageSize);
-        List<Map<String,Object>> columnList = wmsInboundResultServiceImpl.getInboundResult(mapValue);
+        List<Map<String,Object>> columnList = wmsInboundResultServiceImpl.getInboundResult(mapValue,warehouseId);
 //        处理异常状态字段
         for (Map<String,Object>map:columnList
         ) {
@@ -160,15 +161,16 @@ public class WmsInboundResultController extends BaseRESTfulController {
                                              Integer apiId,
                                              Integer pageNum,
                                              Integer pageSize,
+                                             Integer warehouseId,
                                              String startTime,
                                              String endTime) {
 
         DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
-        List<Map<String,Object>> inboundResultList = wmsInboundResultServiceImpl.getInboundResults(mapValue);
+        List<Map<String,Object>> inboundResultList = wmsInboundResultServiceImpl.getInboundResults(mapValue,warehouseId);
 
         /*分页*/
         PageHelper.startPage(pageNum, pageSize);
-        List<Map<String,Object>> columnList = wmsInboundResultServiceImpl.getInboundResults(mapValue);
+        List<Map<String,Object>> columnList = wmsInboundResultServiceImpl.getInboundResults(mapValue,warehouseId);
 //        处理异常状态字段
         for (Map<String,Object>map:columnList
         ) {

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

@@ -216,12 +216,12 @@ public class WmspRestackMakeResultController extends BaseRESTfulController {
         //分页查询数据
         List<Map<String, Object>> columnList = wmspRestackMakeResultService.selectRestackForPc2(DistrubtionStatus);
         //            将获取到的columnList中的完成状态用中文表示
-        for (Map<String, Object> map1: list){
+        for (Map<String, Object> map1: columnList){
             BigDecimal resultStatus =(BigDecimal)map1.get("resultStatus");
-            if (resultStatus.equals(0)){
+            if (resultStatus.compareTo(new BigDecimal(0))==0){
                 map1.put("resultStatus","未完成");
             }
-            if (resultStatus.equals(1)){
+            if (resultStatus.compareTo(new BigDecimal(1))==0){
                 map1.put("resultStatus","已完成");
             }
         }

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

@@ -18,9 +18,11 @@ public interface WmspInboundResultMapper extends IBaseMapper<WmspInboundResult,
      * @param mapValue
      * @return
      */
+//    查询实时库存实绩
     List<Map<String, Object>> selectWmsInboundResult(Map<String, Object> mapValue);
 //    查询真实入库实绩
     List<Map<String, Object>> selectWmsInboundResults(Map<String, Object> mapValue);
+//    查询预留入库的实绩
     List<Map<String, Object>> selectWmsReservedResult(Map<String, Object> mapValue);
     @Select("select seq_WMSP_INBOUND_RESULT.nextval from dual")
     BigDecimal getCount();

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

@@ -61,4 +61,6 @@ public interface WmspRestackMakeResultMapper extends IBaseMapper<WmspRestackMake
     int getMaterialGrid(String onlyCode);
 //    根据订单编码查询对应的订单当前总数量
     BigDecimal getQuantity(String restackMake);
+//    根据倒垛单查询这个倒垛下的所有已经扫描并且稽核成功的吊牌
+    List<Map<String, Object>> getScanResultList(String restackMake);
 }

+ 17 - 1
src/main/java/com/steerinfo/dil/model/WmspRestackMakeResult.java

@@ -87,10 +87,17 @@ public class WmspRestackMakeResult implements IBasePO<BigDecimal> {
     private BigDecimal distributionstatus;
 
     /**
-     * 物质数量(QUANTITY)
+     * 物质剩余数量(QUANTITY)
      */
     @ApiModelProperty(value="物质数量",required=false)
     private BigDecimal quantity;
+
+    /**
+     * 物资总数量(QUANTITY)
+     */
+    @ApiModelProperty(value="物质数量",required=false)
+    private BigDecimal tatalQuantity;
+
     /**
      * 倒垛后仓库id(AFTER_WAREHOUSE_ID,DECIMAL,0)
      */
@@ -123,6 +130,14 @@ public class WmspRestackMakeResult implements IBasePO<BigDecimal> {
 
     private static final long serialVersionUID = 1L;
 
+    public BigDecimal getTatalQuantity() {
+        return tatalQuantity;
+    }
+
+    public void setTatalQuantity(BigDecimal tatalQuantity) {
+        this.tatalQuantity = tatalQuantity;
+    }
+
     @Override
     public BigDecimal getId() {
         return this.resultId;
@@ -305,6 +320,7 @@ public class WmspRestackMakeResult implements IBasePO<BigDecimal> {
         sb.append(", deleted=").append(deleted);
         sb.append(", distributionstatus=").append(distributionstatus);
         sb.append(", afterWarehouseId=").append(afterWarehouseId);
+        sb.append(", tatalQuantity=").append(tatalQuantity);
         sb.append(", resultStatus=").append(resultStatus);
         sb.append(", resultRemark=").append(resultRemark);
         sb.append(", serialVersionUID=").append(serialVersionUID);

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

@@ -16,8 +16,8 @@ public interface IWmsInboundResultService {
      * @param mapValue
      * @return
      */
-    List<Map<String, Object>> getInboundResult(Map<String, Object> mapValue);
-    List<Map<String, Object>> getInboundResults(Map<String, Object> mapValue);
+    List<Map<String, Object>> getInboundResult(Map<String, Object> mapValue,Integer warehouseId);
+    List<Map<String, Object>> getInboundResults(Map<String, Object> mapValue ,Integer warehouseId);
 
     List<Map<String, Object>> getWmsReservedResult(Map<String, Object> mapValue);
 

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

@@ -64,4 +64,7 @@ public interface IWmspGridMaterialService  {
     int insertReserved(String warehouseId, String materialCode, String materialSpecification, String materialModel, Integer quantity);
 //    新增预留转入库
     int insertInbounds(String warehouseId, String materialCode, String materialSpecification, String materialModel, Integer quantity);
+
+    //修改实时库存
+    int updateWmspGridMaterials(List<Map<String,Object>> map,String restackMake);
 }

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

@@ -33,7 +33,8 @@ public class WmsInboundResultServiceImpl implements IWmsInboundResultService {
      * @return
      */
     @Override
-    public List<Map<String,Object>> getInboundResult(Map<String, Object> mapValue){
+    public List<Map<String,Object>> getInboundResult(Map<String, Object> mapValue,Integer warehouseId){
+        mapValue.put("warehouseId",warehouseId);
         List<Map<String, Object>> maps = wmspInboundResultMapper.selectWmsInboundResult(mapValue);
         return maps;
     }
@@ -46,7 +47,8 @@ public class WmsInboundResultServiceImpl implements IWmsInboundResultService {
     }
 
     @Override
-    public List<Map<String,Object>> getInboundResults(Map<String, Object> mapValue){
+    public List<Map<String,Object>> getInboundResults(Map<String, Object> mapValue,Integer warehouseId){
+        mapValue.put("warehouseId",warehouseId);
         List<Map<String, Object>> maps = wmspInboundResultMapper.selectWmsInboundResults(mapValue);
         return maps;
     }

+ 62 - 5
src/main/java/com/steerinfo/dil/service/impl/WmspGridMaterialServiceImpl.java

@@ -216,6 +216,8 @@ public class WmspGridMaterialServiceImpl  implements IWmspGridMaterialService {
             wmspGridMaterial.setStatus(new BigDecimal(2));
             wmspGridMaterial.setStandardDataId(new BigDecimal(1));
             wmspGridMaterialMapper.insertSelective(wmspGridMaterial);
+//            逻辑删除之间的物资的实时库存
+
 
 //        4、改变当前订单中已经稽核的吊牌的状态,改为已倒垛
 //            根据吊牌扫描结果查找对应的吊牌扫描实绩Id
@@ -228,15 +230,27 @@ public class WmspGridMaterialServiceImpl  implements IWmspGridMaterialService {
             //        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);
+            //            判断当前订单的总数量是否小于或等于0
+            if (quantity.compareTo(new BigDecimal(1))==-1){
+//                当存在时直接结束当前循环
+//                当这个订单完成之后,将这个订单下扫描的所有的物资的倒垛状态改变
+                List<Map<String, Object>> maps = wmspRestackMakeResultMapper.getScanResultList(restackMake);
+                int j=0;
+//                遍历所有的吊牌,并改变其状态
+                for (Map<String,Object> map3:maps){
+                    BigDecimal resultIds = (BigDecimal)map3.get("resultId");
+//                    创建扫描实体类
+                    WmspRestackScanResult wmspRestackScanResult1 =new WmspRestackScanResult();
+                    wmspRestackScanResult1.setResultId(resultIds);
+                    wmspRestackScanResult1.setStatus(new BigDecimal(2));
+                    j +=wmspRestackScanResultMapper.updateByPrimaryKeySelective(wmspRestackScanResult1);
+                }
+            }
         }
 
         return i;
@@ -362,4 +376,47 @@ public class WmspGridMaterialServiceImpl  implements IWmspGridMaterialService {
             return count;
         }
     }
+
+//    修改实时库存
+    @Override
+    public int updateWmspGridMaterials(List<Map<String, Object>> list, String restackMake) {
+//        map表示查询当前订单下的所有已经稽核但是未倒垛的物资包括物资唯一id、物资实时库存主键以及目标垛位
+//        restackMake是当前订单编号
+        int CC=0;
+        int MN=0;
+        int CX=0;
+        int i =0;
+//        遍历物资
+        for(Map<String, Object> map:list){
+//            2.计算物资在新垛位的目标层序
+            BigDecimal stackingId = (BigDecimal) map.get("stackingId");
+            //根据最新的垛位
+            //计算仓储网格id
+            HashMap map1 = new HashMap();
+            map1.put("stackingId",stackingId);
+            //获取物资数
+            MN=rmsStackingMapper.selectMaterialNumber(map1);
+            //计算层次号
+            CC=(MN)/24+1;
+            //计算层序号
+            CX=(MN)%24+1;
+//            3.修改物资的实时库存
+//            创建仓储网格实体类
+            RmsPwarehouseGrid rmsPwarehouseGrid = new RmsPwarehouseGrid();
+            rmsPwarehouseGrid.setGridId((BigDecimal) map.get("gridId"));
+            rmsPwarehouseGrid.setGridGradationNumber(new BigDecimal(CC));
+            rmsPwarehouseGrid.setGridSequenceNumber(new BigDecimal(CX));
+            rmsPwarehouseGridMapper.updateByPrimaryKeySelective(rmsPwarehouseGrid);
+
+//            3.修改倒垛单的数量
+//            创建倒垛实绩表
+//            4.判断当前倒垛单剩余数量是否小于等于0(小于则修改所有的符合条件的倒垛单状态),并且逻辑删除当前倒垛单
+              BigDecimal quantity =(BigDecimal) map.get("quantity");
+              if (quantity.compareTo(new BigDecimal(0))==-1){
+//                  当数量小于零的时候,将所有的入库扫描的实绩状态都变成已倒垛
+              }
+
+        }
+        return 0;
+    }
 }

+ 12 - 10
src/main/java/com/steerinfo/dil/service/impl/WmspRestackMakeResultServiceImpl.java

@@ -294,15 +294,15 @@ public class WmspRestackMakeResultServiceImpl  implements IWmspRestackMakeResult
             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","已完成");
-                }
-            }
+//            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;
     }
@@ -362,8 +362,10 @@ public class WmspRestackMakeResultServiceImpl  implements IWmspRestackMakeResult
         //首先创建倒垛类型,再创建倒垛单 makeresultid
         Integer totalCount= wmspRestackMakeTypeResultService.createMakeTypeList(makeresultid,maps);
 
-        //添加总是
+        //添加剩余数量
         wmspRestackMakeResult.setQuantity(new BigDecimal(totalCount));
+//        添加总数量
+        wmspRestackMakeResult.setTatalQuantity(new BigDecimal(totalCount));
         //添加
         wmspRestackMakeResultMapper.insertSelective(wmspRestackMakeResult);
         return wmspRestackMakeResult;

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

@@ -417,32 +417,36 @@
         RM.MATERIAL_MODEL "materialModel",
         --                物资长度
         RM.MATERIAL_LENGTH "materialLength",
-        (
-          SELECT COUNT(*) FROM RMS_MATERIAL_STEEL RMS
+        table1.count "max"
+      FROM RMS_MATERIAL_STEEL RMS
 --                 关联物资表
-                                 LEFT JOIN RMS_MATERIAL RM
-                                           ON RMS.MATERIAL_ID = RM.MATERIAL_ID
+             LEFT JOIN RMS_MATERIAL RM
+                       ON RMS.MATERIAL_ID = RM.MATERIAL_ID
 --                     关联实时库存表
-                                 LEFT JOIN WMSP_GRID_MATERIAL WGM
-                                           ON WGM.MATERIAL_ID = RMS.MATERIAL_STEEL_ID
+             LEFT JOIN WMSP_GRID_MATERIAL WGM
+                       ON WGM.MATERIAL_ID = RMS.MATERIAL_STEEL_ID
 --                     关联仓储网格表
-                                 LEFT JOIN RMS_PWAREHOUSE_GRID RPG
-                                           ON RPG.GRID_ID = WGM.GRID_ID
-                                 LEFT JOIN WMSP_INBOUND_RESULT WIR
-                                           ON WIR.MATERIAL_ID=WGM.MATERIAL_ID
-
-          WHERE RPG.WAREHOUSE_ID =3 AND WGM.DELETED = 0 AND WIR.INBOUND_ISCOMPLETE=#{status} AND WGM.UPDATE_TIME IS NULL
-        ) "max"
-            FROM RMS_MATERIAL_STEEL RMS
+             LEFT JOIN RMS_PWAREHOUSE_GRID RPG
+                       ON RPG.GRID_ID = WGM.GRID_ID
+             LEFT JOIN (
+        SELECT COUNT(RM.MATERIAL_CODE) count,
+               RM.MATERIAL_CODE code
+        FROM RMS_MATERIAL_STEEL RMS
 --                 关联物资表
-                   LEFT JOIN RMS_MATERIAL RM
-                             ON RMS.MATERIAL_ID = RM.MATERIAL_ID
+               LEFT JOIN RMS_MATERIAL RM
+                         ON RMS.MATERIAL_ID = RM.MATERIAL_ID
 --                     关联实时库存表
-                   LEFT JOIN WMSP_GRID_MATERIAL WGM
-                             ON WGM.MATERIAL_ID = RMS.MATERIAL_STEEL_ID
+               LEFT JOIN WMSP_GRID_MATERIAL WGM
+                         ON WGM.MATERIAL_ID = RMS.MATERIAL_STEEL_ID
 --                     关联仓储网格表
-                   LEFT JOIN RMS_PWAREHOUSE_GRID RPG
-                             ON RPG.GRID_ID = WGM.GRID_ID
-        WHERE RPG.WAREHOUSE_ID = #{warehouseId}
+               LEFT JOIN RMS_PWAREHOUSE_GRID RPG
+                         ON RPG.GRID_ID = WGM.GRID_ID
+               LEFT JOIN WMSP_INBOUND_RESULT WIR
+                         ON WIR.MATERIAL_ID=WGM.MATERIAL_ID
+
+        WHERE RPG.WAREHOUSE_ID =#{warehouseId} AND WGM.DELETED = 0 AND WIR.INBOUND_ISCOMPLETE=#{status} AND WGM.UPDATE_TIME IS NULL GROUP BY RM.MATERIAL_CODE
+      ) table1
+                       ON table1.code = RM.MATERIAL_CODE
+      WHERE RPG.WAREHOUSE_ID = #{warehouseId} AND RM.MATERIAL_NAME IS NOT NULL
     </select>
 </mapper>

+ 10 - 2
src/main/resources/com/steerinfo/dil/mapper/WmspInboundResultMapper.xml

@@ -651,6 +651,7 @@
         wir.inbound_type = 0
         AND wir.result_deleted = 0
         AND wir.INBOUND_ISCOMPLETE != 2
+        AND rpg.WAREHOUSE_ID = #{warehouseId}
         AND wgm.UPDATE_TIME IS NULL
         <if test="oneDate != null">
             and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= wir.inbound_time
@@ -801,6 +802,7 @@
         wir.inbound_type = 0
         AND wir.result_deleted = 0
         AND wir.INBOUND_ISCOMPLETE != 2
+        AND rpg.WAREHOUSE_ID = #{warehouseId}
         <if test="oneDate != null">
             and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= wir.inbound_time
         </if>
@@ -930,10 +932,14 @@
         rms.MATERIAL_FURNACE_NUMBER "furnaceNumber",
         --                关联物资实际重量
         rms.MATERIAL_THEORETICAL_WEIGHT "theoreticalWeight"
+
         from wmsp_inbound_result wir
 
         LEFT JOIN RMS_MATERIAL_STEEL rms
         ON rms.MATERIAL_STEEL_ID = wir.MATERIAL_ID
+        -- 				关联实时库存
+        LEFT JOIN WMSP_GRID_MATERIAL wgm
+        ON wgm.MATERIAL_ID = wir.MATERIAL_ID
         LEFT JOIN RMS_MATERIAL rm
         ON rm.MATERIAL_ID = rms.MATERIAL_ID
         LEFT JOIN RMS_PWAREHOUSE_GRID rpg
@@ -945,9 +951,11 @@
         LEFT JOIN RMS_STACKING RS
         ON RS.STACKING_ID = RPG.STACKING_ID
 
+
         where wir.inbound_type = 0
         and wir.result_deleted = 0
-        and wir.INBOUND_ISCOMPLETE = 2
+        and wir.INBOUND_ISCOMPLETE = 1
+        and wgm.UPDATE_TIME is null
         order by wir.inbound_time desc
         <where>
             <if test="INBOUND_NUMBER != null">
@@ -1631,7 +1639,7 @@
             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
+        AND WIR.RESULT_DELETED = 0 ORDER BY table3.onetime ASC
         <include refid="orderBy"></include>
     </select>
 

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

@@ -7,8 +7,8 @@
     <result column="AFTER_STACKING_ID" jdbcType="DECIMAL" property="afterStackingId" />
     <result column="BEFORE_LEVEL" jdbcType="DECIMAL" property="beforeLevel" />
     <result column="AFTER_BEFORE_STACKING_ID" jdbcType="DECIMAL" property="afterBeforeStackingId" />
-    
     <result column="QUANTITY" jdbcType="DECIMAL" property="quantity" />
+    <result column="TOTAL_QUANTITY" jdbcType="DECIMAL" property="tatalQuantity" />
     <result column="RESULT_MOVELIST_TIME" jdbcType="TIMESTAMP" property="resultMovelistTime" />
     <result column="KEEPER_ID" jdbcType="DECIMAL" property="keeperId" />
     <result column="RESULT_KEEPER_ISSUE_TIME" jdbcType="TIMESTAMP" property="resultKeeperIssueTime" />
@@ -24,13 +24,13 @@
     <result column="RESULT_REMARK" jdbcType="VARCHAR" property="resultRemark" />
   </resultMap>
   <sql id="columns">
-    RESULT_ID, RESULT_STACK_NUMBER, AFTER_STACKING_ID,BEFORE_LEVEL,AFTER_BEFORE_STACKING_ID,QUANTITY, RESULT_MOVELIST_TIME, KEEPER_ID,
+    RESULT_ID, RESULT_STACK_NUMBER, AFTER_STACKING_ID,BEFORE_LEVEL,AFTER_BEFORE_STACKING_ID,QUANTITY,TOTAL_QUANTITY, RESULT_MOVELIST_TIME, KEEPER_ID,
     RESULT_KEEPER_ISSUE_TIME, INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, 
     INSERT_UPDATE_REMARK, DELETED, DISTRIBUTIONSTATUS, AFTER_WAREHOUSE_ID, RESULT_STATUS, 
     RESULT_REMARK
   </sql>
   <sql id="columns_alias">
-    t.RESULT_ID, t.RESULT_STACK_NUMBER, t.AFTER_STACKING_ID,BEFORE_LEVEL,AFTER_BEFORE_STACKING_ID,QUANTITY, t.RESULT_MOVELIST_TIME,
+    t.RESULT_ID, t.RESULT_STACK_NUMBER, t.AFTER_STACKING_ID,BEFORE_LEVEL,AFTER_BEFORE_STACKING_ID,QUANTITY,TOTAL_QUANTITY, t.RESULT_MOVELIST_TIME,
     t.KEEPER_ID, t.RESULT_KEEPER_ISSUE_TIME, t.INSERT_USERNAME, t.INSERT_TIME, t.UPDATE_USERNAME, 
     t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.DELETED, t.DISTRIBUTIONSTATUS, t.AFTER_WAREHOUSE_ID, 
     t.RESULT_STATUS, t.RESULT_REMARK
@@ -61,6 +61,9 @@
       <if test="quantity != null">
         and QUANTITY = #{quantity}
       </if>
+      <if test="tatalQuantity != null">
+        and TOTAL_QUANTITY = #{tatalQuantity}
+      </if>
       <if test="resultMovelistTime != null">
         and TO_CHAR(RESULT_MOVELIST_TIME,'yyyy-MM-dd') = #{resultMovelistTime}
       </if>
@@ -119,6 +122,9 @@
       <if test="afterBeforeStackingId != null">
         and AFTER_BEFORE_STACKING_ID = #{afterBeforeStackingId}
       </if>
+      <if test="tatalQuantity != null">
+        and TOTAL_QUANTITY = #{tatalQuantity}
+      </if>
       <if test="quantity != null">
         and QUANTITY = #{quantity}
       </if>
@@ -185,6 +191,9 @@
     <if test="quantity != null">
       or QUANTITY = #{quantity}
     </if>
+    <if test="tatalQuantity != null">
+      or TOTAL_QUANTITY = #{tatalQuantity}
+    </if>
     <if test="resultMovelistTime != null">
       or TO_CHAR(RESULT_MOVELIST_TIME,'yyyy-MM-dd') = '#{resultMovelistTime}'
     </if>
@@ -226,13 +235,13 @@
     </if>
   </delete>
   <insert id="insert" parameterType="com.steerinfo.dil.model.WmspRestackMakeResult">
-    insert into WMSP_RESTACK_MAKE_RESULT (RESULT_ID, RESULT_STACK_NUMBER, AFTER_STACKING_ID,BEFORE_LEVEL,AFTER_BEFORE_STACKING_ID,QUANTITY,
+    insert into WMSP_RESTACK_MAKE_RESULT (RESULT_ID, RESULT_STACK_NUMBER, AFTER_STACKING_ID,BEFORE_LEVEL,AFTER_BEFORE_STACKING_ID,QUANTITY,TOTAL_QUANTITY,
                                           RESULT_MOVELIST_TIME, KEEPER_ID, RESULT_KEEPER_ISSUE_TIME,
                                           INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME,
                                           UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED,
                                           DISTRIBUTIONSTATUS, AFTER_WAREHOUSE_ID, RESULT_STATUS,
                                           RESULT_REMARK)
-    values (#{resultId,jdbcType=DECIMAL}, #{resultStackNumber,jdbcType=VARCHAR}, #{afterStackingId,jdbcType=DECIMAL}, #{beforeLevel,jdbcType=DECIMAL}, #{afterBeforeStackingId,jdbcType=DECIMAL},#{quantity,jdbcType=DECIMAL},
+    values (#{resultId,jdbcType=DECIMAL}, #{resultStackNumber,jdbcType=VARCHAR}, #{afterStackingId,jdbcType=DECIMAL}, #{beforeLevel,jdbcType=DECIMAL}, #{afterBeforeStackingId,jdbcType=DECIMAL},#{quantity,jdbcType=DECIMAL},#{tatalQuantity,jdbcType=DECIMAL},
             #{resultMovelistTime,jdbcType=TIMESTAMP}, #{keeperId,jdbcType=DECIMAL}, #{resultKeeperIssueTime,jdbcType=TIMESTAMP},
             #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR},
             #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR}, #{deleted,jdbcType=DECIMAL},
@@ -257,6 +266,9 @@
       <if test="afterBeforeStackingId != null">
         AFTER_BEFORE_STACKING_ID,
       </if>
+      <if test="tatalQuantity != null">
+        TOTAL_QUANTITY,
+      </if>
       <if test="quantity != null">
         QUANTITY,
       </if>
@@ -320,6 +332,9 @@
       <if test="quantity != null">
         #{quantity,jdbcType=DECIMAL},
       </if>
+      <if test="tatalQuantity != null">
+        #{tatalQuantity,jdbcType=DECIMAL},
+      </if>
       <if test="resultMovelistTime != null">
         #{resultMovelistTime,jdbcType=TIMESTAMP},
       </if>
@@ -368,6 +383,7 @@
         BEFORE_LEVEL = #{beforeLevel,jdbcType=DECIMAL},
         AFTER_BEFORE_STACKING_ID = #{afterBeforeStackingId,jdbcType=DECIMAL},
         QUANTITY = #{quantity,jdbcType=DECIMAL},
+        TOTAL_QUANTITY = #{tatalQuantity,jdbcType=DECIMAL},
         RESULT_MOVELIST_TIME = #{resultMovelistTime,jdbcType=TIMESTAMP},
         KEEPER_ID = #{keeperId,jdbcType=DECIMAL},
         RESULT_KEEPER_ISSUE_TIME = #{resultKeeperIssueTime,jdbcType=TIMESTAMP},
@@ -401,6 +417,9 @@
       <if test="quantity != null">
         QUANTITY = #{quantity,jdbcType=DECIMAL},
       </if>
+      <if test="tatalQuantity != null">
+        TOTAL_QUANTITY = #{tatalQuantity,jdbcType=DECIMAL},
+      </if>
       <if test="resultMovelistTime != null">
         RESULT_MOVELIST_TIME = #{resultMovelistTime,jdbcType=TIMESTAMP},
       </if>
@@ -458,7 +477,7 @@
   <insert id="batchInsert" parameterType="java.util.List">
     insert into WMSP_RESTACK_MAKE_RESULT
     (RESULT_ID,
-    RESULT_STACK_NUMBER, AFTER_STACKING_ID,BEFORE_LEVEL,AFTER_BEFORE_STACKING_ID,QUANTITY,
+    RESULT_STACK_NUMBER, AFTER_STACKING_ID,BEFORE_LEVEL,AFTER_BEFORE_STACKING_ID,TOTAL_QUANTITY,QUANTITY,
     RESULT_MOVELIST_TIME, KEEPER_ID,
     RESULT_KEEPER_ISSUE_TIME, INSERT_USERNAME,
     INSERT_TIME, UPDATE_USERNAME,
@@ -469,7 +488,7 @@
     ( <foreach collection="list" item="item" separator="union all">
     select
     #{item.resultId,jdbcType=DECIMAL},
-    #{item.resultStackNumber,jdbcType=VARCHAR}, #{item.afterStackingId,jdbcType=DECIMAL}, #{item.beforeLevel,jdbcType=DECIMAL}, #{item.afterBeforeStackingId,jdbcType=DECIMAL},#{item.quantity,jdbcType=DECIMAL},
+    #{item.resultStackNumber,jdbcType=VARCHAR}, #{item.afterStackingId,jdbcType=DECIMAL}, #{item.beforeLevel,jdbcType=DECIMAL}, #{item.afterBeforeStackingId,jdbcType=DECIMAL},#{item.quantity,jdbcType=DECIMAL},#{item.tatalQuantity,jdbcType=DECIMAL},
     #{item.resultMovelistTime,jdbcType=TIMESTAMP}, #{item.keeperId,jdbcType=DECIMAL},
     #{item.resultKeeperIssueTime,jdbcType=TIMESTAMP}, #{item.insertUsername,jdbcType=VARCHAR},
     #{item.insertTime,jdbcType=TIMESTAMP}, #{item.updateUsername,jdbcType=VARCHAR},
@@ -507,6 +526,10 @@
     <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
       when #{item.resultId,jdbcType=DECIMAL} then #{item.quantity,jdbcType=DECIMAL}
     </foreach>
+    ,TOTAL_QUANTITY=
+    <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+      when #{item.resultId,jdbcType=DECIMAL} then #{item.tatalQuantity,jdbcType=DECIMAL}
+    </foreach>
     ,RESULT_MOVELIST_TIME=
     <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
       when #{item.resultId,jdbcType=DECIMAL} then #{item.resultMovelistTime,jdbcType=TIMESTAMP}
@@ -952,7 +975,7 @@
         --            倒垛单创建时间
         wrme.INSERT_TIME "insertTime",
         --             总件数
-        wrme.QUANTITY "quantity",
+        wrme.TOTAL_QUANTITY "quantity",
         --             原层次
         wrme.BEFORE_LEVEL "beforeLevel",
         --            新垛位
@@ -1313,7 +1336,7 @@
     --            倒垛单下发时间
     wrme.RESULT_KEEPER_ISSUE_TIME "resultKeeperIssueTime",
     --             总件数
-    wrme.QUANTITY "quantity",
+    wrme.TOTAL_QUANTITY "quantity",
     --             原层次
     wrme.BEFORE_LEVEL "beforeLevel",
     --            新垛位
@@ -1436,7 +1459,15 @@
   <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}
+    WHERE WRMR.QUANTITY>=0 AND WRMR.RESULT_ID = #{restackMake}
+  </select>
+  <select id="getScanResultList" resultType="java.util.Map">
+    SELECT WRCR.RESULT_ID "resultId"
+    FROM WMSP_RESTACK_MAKE_RESULT WRMR
+--         关联吊牌扫描结果
+    LEFT JOIN WMSP_RESTACK_SCAN_RESULT WRCR
+    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,逻辑删除对应的餐厨网格状态-->
   <update id="changeMaterialGrid">

+ 32 - 5
src/main/resources/com/steerinfo/dil/mapper/WmspRestackMakeTypeResultMapper.xml

@@ -368,11 +368,38 @@
 <!--  根据当前订单查找已经稽核的物资的扫描吊牌结果和-->
   <select id="getRestackMakeMaterialScanTag" resultType="java.util.Map">
     SELECT
-      WRSR.RESULT_SCAN_TAG "contents",
-      WRMR.AFTER_STACKING_ID "stackingId"
-    FROM WMSP_RESTACK_SCAN_RESULT WRSR
+--         查询倒垛扫描表的主键
+    WRCR.RESULT_ID "scanResultId",
+--         查询倒垛实绩表的主键
+    WRMR.RESULT_ID "resultId",
+--            查询倒垛实绩表的剩余数量
+    WRMR.QUANTITY "quantity",
+--            查询物资的唯一编码
+      WRCR.RESULT_SCAN_TAG "contents",
+--            查询物资的倒垛后的目标垛位
+      WRMR.AFTER_STACKING_ID "stackingId",
+--            物资原来的实时库存主键id
+      WGM.GM_ID "gmId",
+--             查询仓库id
+        RPG.WAREHOUSE_ID "warehouseId",
+--            查询物资id
+        WGM.MATERIAL_ID "materialId",
+--            物资件数
+           WGM.GM_NUMBER "gmNumber",
+--            物资重量
+           WGM.GM_WEIGHT "weight",
+           RPG.GRID_ID "gridId"
+    FROM WMSP_RESTACK_SCAN_RESULT WRCR
            LEFT JOIN WMSP_RESTACK_MAKE_RESULT WRMR
-           ON WRMR.RESULT_ID = WRSR.RESULT_RESTACK_ID
-    WHERE WRSR.RESULT_LOADER_AUDIT = 1 AND WRSR.STATUS = 0 AND WRSR.RESULT_RESTACK_ID = #{restackMake}
+           ON WRMR.RESULT_ID = WRCR.RESULT_RESTACK_ID
+            LEFT JOIN RMS_MATERIAL_STEEL RMS
+            ON RMS.MATERIAL_ONLY_CODE = WRCR.MATERIAL_ONLY_CODE
+            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
+    WHERE WRCR.RESULT_LOADER_AUDIT = 1 AND WGM.DELETED = 0 AND WRCR.STATUS = 0 AND WRCR.RESULT_RESTACK_ID = #{restackMake}
   </select>
 </mapper>