浏览代码

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

Tiroble 3 年之前
父节点
当前提交
b08154a3bc

+ 1 - 1
pom.xml

@@ -117,7 +117,7 @@
 <!--                        <param>WMSP_INBOUND_CORRECT_RESULT</param>-->
 <!--                        <param>WMSP_INBOUND_DRIVING_RESULT</param>-->
 <!--                        <param>WMSP_GRID_MATERIAL</param>-->
-                        <param>WMSP_RESTACK_MAKE_TYPE_RESULT</param>
+                        <param>RMS_STACKING</param>
                     </tables>
                 </configuration>
                 <executions>

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

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

+ 1 - 0
src/main/java/com/steerinfo/dil/controller/WmspOutboundResultController.java

@@ -497,5 +497,6 @@ public class WmspOutboundResultController extends BaseRESTfulController {
     public  RESTfulResult insertOutBoundResult(@RequestBody(required = false) Map<String, Object> map){
         return success();
     }
+
 }
 

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

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

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

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

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

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

+ 30 - 0
src/main/java/com/steerinfo/dil/model/RmsStacking.java

@@ -86,6 +86,18 @@ public class RmsStacking implements IBasePO<BigDecimal> {
     @ApiModelProperty(value="垛位位置",required=false)
     private BigDecimal stackingArrival;
 
+    /**
+     * 垛位最大层数(STACKING_MAX_LAYERS,DECIMAL,0)
+     */
+    @ApiModelProperty(value="垛位最大层数",required=false)
+    private BigDecimal stackingMaxLayers;
+
+    /**
+     * 垛位启用状态(STACKING_STATUS,DECIMAL,0)
+     */
+    @ApiModelProperty(value="垛位启用状态",required=false)
+    private BigDecimal stackingStatus;
+
     private static final long serialVersionUID = 1L;
 
     @Override
@@ -202,6 +214,22 @@ public class RmsStacking implements IBasePO<BigDecimal> {
         this.stackingArrival = stackingArrival;
     }
 
+    public BigDecimal getStackingMaxLayers() {
+        return stackingMaxLayers;
+    }
+
+    public void setStackingMaxLayers(BigDecimal stackingMaxLayers) {
+        this.stackingMaxLayers = stackingMaxLayers;
+    }
+
+    public BigDecimal getStackingStatus() {
+        return stackingStatus;
+    }
+
+    public void setStackingStatus(BigDecimal stackingStatus) {
+        this.stackingStatus = stackingStatus;
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -221,6 +249,8 @@ public class RmsStacking implements IBasePO<BigDecimal> {
         sb.append(", updateTime=").append(updateTime);
         sb.append(", insertUpdateRemark=").append(insertUpdateRemark);
         sb.append(", stackingArrival=").append(stackingArrival);
+        sb.append(", stackingMaxLayers=").append(stackingMaxLayers);
+        sb.append(", stackingStatus=").append(stackingStatus);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

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

@@ -30,4 +30,5 @@ public interface IRmsStackingService {
 
     // 计算并更新垛位
     Map<String,Object> getStackingToUpdate(Integer materialNumber,BigDecimal warehouseId,String personnelJobNumber);
+    Integer updateStackingStatus(BigDecimal stackingId,BigDecimal stackingStatus);
 }

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

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

+ 12 - 0
src/main/java/com/steerinfo/dil/service/impl/RmsStackingServiceImpl.java

@@ -141,4 +141,16 @@ public class RmsStackingServiceImpl  implements IRmsStackingService {
     public String selectStackNo(BigDecimal stackingId) {
         return rmsStackingMapper.selectStackNo(stackingId);
     }
+
+    /*
+    * 堆垛原则问题,一旦某垛位堆满,则编辑某垛位启用状态
+    * 启用:0  未启用:1
+    *当一个垛位满时,再从中拿出几件,也不改变垛位的启用状态;只有当垛位为空时,才改变状态
+     */
+    @Override
+    public  Integer updateStackingStatus(BigDecimal stackingId,BigDecimal stackingStatus){
+      RmsStacking rmsStacking = rmsStackingMapper.selectByPrimaryKey(stackingId);
+      rmsStacking.setStackingStatus(stackingStatus);
+      return rmsStackingMapper.updateByPrimaryKeySelective(rmsStacking);
+    }
 }

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

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

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

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

+ 466 - 415
src/main/resources/com/steerinfo/dil/mapper/RmsStackingMapper.xml

@@ -1,265 +1,300 @@
 <?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.RmsStackingMapper">
-    <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.RmsStacking">
-        <id column="STACKING_ID" jdbcType="DECIMAL" property="stackingId" />
-        <result column="STACKING_NO" jdbcType="VARCHAR" property="stackingNo" />
-        <result column="STACKING_SEQUENCE" jdbcType="DECIMAL" property="stackingSequence" />
-        <result column="STACKING_REMARKS" jdbcType="VARCHAR" property="stackingRemarks" />
-        <result column="STACKING_TYPE" jdbcType="DECIMAL" property="stackingType" />
-        <result column="STACKING_MATERIAL_NUMBER" jdbcType="DECIMAL" property="stackingMaterialNumber" />
-        <result column="STACKING_REMAIN_NUMBER" jdbcType="DECIMAL" property="stackingRemainNumber" />
-        <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" />
-        <result column="STACKING_ARRIVAL" jdbcType="DECIMAL" property="stackingArrival" />
-    </resultMap>
-    <sql id="columns">
-    STACKING_ID, STACKING_NO, STACKING_SEQUENCE, STACKING_REMARKS, STACKING_TYPE, STACKING_MATERIAL_NUMBER,
-    STACKING_REMAIN_NUMBER, INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME,
-    INSERT_UPDATE_REMARK, STACKING_ARRIVAL
+  <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.RmsStacking">
+    <id column="STACKING_ID" jdbcType="DECIMAL" property="stackingId" />
+    <result column="STACKING_NO" jdbcType="VARCHAR" property="stackingNo" />
+    <result column="STACKING_SEQUENCE" jdbcType="DECIMAL" property="stackingSequence" />
+    <result column="STACKING_REMARKS" jdbcType="VARCHAR" property="stackingRemarks" />
+    <result column="STACKING_TYPE" jdbcType="DECIMAL" property="stackingType" />
+    <result column="STACKING_MATERIAL_NUMBER" jdbcType="DECIMAL" property="stackingMaterialNumber" />
+    <result column="STACKING_REMAIN_NUMBER" jdbcType="DECIMAL" property="stackingRemainNumber" />
+    <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" />
+    <result column="STACKING_ARRIVAL" jdbcType="DECIMAL" property="stackingArrival" />
+    <result column="STACKING_MAX_LAYERS" jdbcType="DECIMAL" property="stackingMaxLayers" />
+    <result column="STACKING_STATUS" jdbcType="DECIMAL" property="stackingStatus" />
+  </resultMap>
+  <sql id="columns">
+    STACKING_ID, STACKING_NO, STACKING_SEQUENCE, STACKING_REMARKS, STACKING_TYPE, STACKING_MATERIAL_NUMBER, 
+    STACKING_REMAIN_NUMBER, INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, 
+    INSERT_UPDATE_REMARK, STACKING_ARRIVAL, STACKING_MAX_LAYERS, STACKING_STATUS
   </sql>
-    <sql id="columns_alias">
-    t.STACKING_ID, t.STACKING_NO, t.STACKING_SEQUENCE, t.STACKING_REMARKS, t.STACKING_TYPE,
-    t.STACKING_MATERIAL_NUMBER, t.STACKING_REMAIN_NUMBER, t.INSERT_USERNAME, t.INSERT_TIME,
-    t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.STACKING_ARRIVAL
+  <sql id="columns_alias">
+    t.STACKING_ID, t.STACKING_NO, t.STACKING_SEQUENCE, t.STACKING_REMARKS, t.STACKING_TYPE, 
+    t.STACKING_MATERIAL_NUMBER, t.STACKING_REMAIN_NUMBER, t.INSERT_USERNAME, t.INSERT_TIME, 
+    t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.STACKING_ARRIVAL, t.STACKING_MAX_LAYERS, 
+    t.STACKING_STATUS
   </sql>
-    <sql id="select">
-        SELECT <include refid="columns" /> FROM RMS_STACKING
-    </sql>
-    <sql id="select_alias">
-        SELECT <include refid="columns_alias" /> FROM RMS_STACKING t
-    </sql>
-    <sql id="where">
-        <where>
-            <if test="stackingId != null">
-                and STACKING_ID = #{stackingId}
-            </if>
-            <if test="stackingNo != null and stackingNo != ''">
-                and STACKING_NO = #{stackingNo}
-            </if>
-            <if test="stackingSequence != null">
-                and STACKING_SEQUENCE = #{stackingSequence}
-            </if>
-            <if test="stackingRemarks != null and stackingRemarks != ''">
-                and STACKING_REMARKS = #{stackingRemarks}
-            </if>
-            <if test="stackingType != null">
-                and STACKING_TYPE = #{stackingType}
-            </if>
-            <if test="stackingMaterialNumber != null">
-                and STACKING_MATERIAL_NUMBER = #{stackingMaterialNumber}
-            </if>
-            <if test="stackingRemainNumber != null">
-                and STACKING_REMAIN_NUMBER = #{stackingRemainNumber}
-            </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>
-            <if test="stackingArrival != null">
-                and STACKING_ARRIVAL = #{stackingArrival}
-            </if>
-        </where>
-    </sql>
-    <sql id="whereLike">
-        <where>
-            <if test="stackingId != null">
-                and STACKING_ID = #{stackingId}
-            </if>
-            <if test="stackingNo != null and stackingNo != ''">
-                and STACKING_NO LIKE '%${stackingNo}%'
-            </if>
-            <if test="stackingSequence != null">
-                and STACKING_SEQUENCE = #{stackingSequence}
-            </if>
-            <if test="stackingRemarks != null and stackingRemarks != ''">
-                and STACKING_REMARKS LIKE '%${stackingRemarks}%'
-            </if>
-            <if test="stackingType != null">
-                and STACKING_TYPE = #{stackingType}
-            </if>
-            <if test="stackingMaterialNumber != null">
-                and STACKING_MATERIAL_NUMBER = #{stackingMaterialNumber}
-            </if>
-            <if test="stackingRemainNumber != null">
-                and STACKING_REMAIN_NUMBER = #{stackingRemainNumber}
-            </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>
-            <if test="stackingArrival != null">
-                and STACKING_ARRIVAL = #{stackingArrival}
-            </if>
-        </where>
-    </sql>
-    <delete id="deleteByPrimaryKey" parameterType="DECIMAL">
+  <sql id="select">
+    SELECT <include refid="columns" /> FROM RMS_STACKING
+  </sql>
+  <sql id="select_alias">
+    SELECT <include refid="columns_alias" /> FROM RMS_STACKING t
+  </sql>
+  <sql id="where">
+    <where> 
+      <if test="stackingId != null">
+        and STACKING_ID = #{stackingId}
+      </if>
+      <if test="stackingNo != null and stackingNo != ''">
+        and STACKING_NO = #{stackingNo}
+      </if>
+      <if test="stackingSequence != null">
+        and STACKING_SEQUENCE = #{stackingSequence}
+      </if>
+      <if test="stackingRemarks != null and stackingRemarks != ''">
+        and STACKING_REMARKS = #{stackingRemarks}
+      </if>
+      <if test="stackingType != null">
+        and STACKING_TYPE = #{stackingType}
+      </if>
+      <if test="stackingMaterialNumber != null">
+        and STACKING_MATERIAL_NUMBER = #{stackingMaterialNumber}
+      </if>
+      <if test="stackingRemainNumber != null">
+        and STACKING_REMAIN_NUMBER = #{stackingRemainNumber}
+      </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>
+      <if test="stackingArrival != null">
+        and STACKING_ARRIVAL = #{stackingArrival}
+      </if>
+      <if test="stackingMaxLayers != null">
+        and STACKING_MAX_LAYERS = #{stackingMaxLayers}
+      </if>
+      <if test="stackingStatus != null">
+        and STACKING_STATUS = #{stackingStatus}
+      </if>
+    </where>
+  </sql>
+  <sql id="whereLike">
+    <where> 
+      <if test="stackingId != null">
+        and STACKING_ID = #{stackingId}
+      </if>
+      <if test="stackingNo != null and stackingNo != ''">
+        and STACKING_NO LIKE '%${stackingNo}%'
+      </if>
+      <if test="stackingSequence != null">
+        and STACKING_SEQUENCE = #{stackingSequence}
+      </if>
+      <if test="stackingRemarks != null and stackingRemarks != ''">
+        and STACKING_REMARKS LIKE '%${stackingRemarks}%'
+      </if>
+      <if test="stackingType != null">
+        and STACKING_TYPE = #{stackingType}
+      </if>
+      <if test="stackingMaterialNumber != null">
+        and STACKING_MATERIAL_NUMBER = #{stackingMaterialNumber}
+      </if>
+      <if test="stackingRemainNumber != null">
+        and STACKING_REMAIN_NUMBER = #{stackingRemainNumber}
+      </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>
+      <if test="stackingArrival != null">
+        and STACKING_ARRIVAL = #{stackingArrival}
+      </if>
+      <if test="stackingMaxLayers != null">
+        and STACKING_MAX_LAYERS = #{stackingMaxLayers}
+      </if>
+      <if test="stackingStatus != null">
+        and STACKING_STATUS = #{stackingStatus}
+      </if>
+    </where>
+  </sql>
+  <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
     delete from RMS_STACKING
     where STACKING_ID = #{stackingId,jdbcType=DECIMAL}
   </delete>
-    <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
-        delete from RMS_STACKING
-        where 1!=1
-        <if test="stackingNo != null and stackingNo != ''">
-            or STACKING_NO = #{stackingNo}
-        </if>
-        <if test="stackingSequence != null">
-            or STACKING_SEQUENCE = #{stackingSequence}
-        </if>
-        <if test="stackingRemarks != null and stackingRemarks != ''">
-            or STACKING_REMARKS = #{stackingRemarks}
-        </if>
-        <if test="stackingType != null">
-            or STACKING_TYPE = #{stackingType}
-        </if>
-        <if test="stackingMaterialNumber != null">
-            or STACKING_MATERIAL_NUMBER = #{stackingMaterialNumber}
-        </if>
-        <if test="stackingRemainNumber != null">
-            or STACKING_REMAIN_NUMBER = #{stackingRemainNumber}
-        </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>
-        <if test="stackingArrival != null">
-            or STACKING_ARRIVAL = #{stackingArrival}
-        </if>
-    </delete>
-    <insert id="insert" parameterType="com.steerinfo.dil.model.RmsStacking">
-    insert into RMS_STACKING (STACKING_ID, STACKING_NO, STACKING_SEQUENCE,
-      STACKING_REMARKS, STACKING_TYPE, STACKING_MATERIAL_NUMBER,
-      STACKING_REMAIN_NUMBER, INSERT_USERNAME, INSERT_TIME,
-      UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK,
-      STACKING_ARRIVAL)
-    values (#{stackingId,jdbcType=DECIMAL}, #{stackingNo,jdbcType=VARCHAR}, #{stackingSequence,jdbcType=DECIMAL},
-      #{stackingRemarks,jdbcType=VARCHAR}, #{stackingType,jdbcType=DECIMAL}, #{stackingMaterialNumber,jdbcType=DECIMAL},
-      #{stackingRemainNumber,jdbcType=DECIMAL}, #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP},
-      #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR},
-      #{stackingArrival,jdbcType=DECIMAL})
+  <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
+    delete from RMS_STACKING
+    where 1!=1 
+      <if test="stackingNo != null and stackingNo != ''">
+        or STACKING_NO = #{stackingNo}
+      </if>
+      <if test="stackingSequence != null">
+        or STACKING_SEQUENCE = #{stackingSequence}
+      </if>
+      <if test="stackingRemarks != null and stackingRemarks != ''">
+        or STACKING_REMARKS = #{stackingRemarks}
+      </if>
+      <if test="stackingType != null">
+        or STACKING_TYPE = #{stackingType}
+      </if>
+      <if test="stackingMaterialNumber != null">
+        or STACKING_MATERIAL_NUMBER = #{stackingMaterialNumber}
+      </if>
+      <if test="stackingRemainNumber != null">
+        or STACKING_REMAIN_NUMBER = #{stackingRemainNumber}
+      </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>
+      <if test="stackingArrival != null">
+        or STACKING_ARRIVAL = #{stackingArrival}
+      </if>
+      <if test="stackingMaxLayers != null">
+        or STACKING_MAX_LAYERS = #{stackingMaxLayers}
+      </if>
+      <if test="stackingStatus != null">
+        or STACKING_STATUS = #{stackingStatus}
+      </if>
+  </delete>
+  <insert id="insert" parameterType="com.steerinfo.dil.model.RmsStacking">
+    insert into RMS_STACKING (STACKING_ID, STACKING_NO, STACKING_SEQUENCE, 
+      STACKING_REMARKS, STACKING_TYPE, STACKING_MATERIAL_NUMBER, 
+      STACKING_REMAIN_NUMBER, INSERT_USERNAME, INSERT_TIME, 
+      UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK, 
+      STACKING_ARRIVAL, STACKING_MAX_LAYERS, STACKING_STATUS
+      )
+    values (#{stackingId,jdbcType=DECIMAL}, #{stackingNo,jdbcType=VARCHAR}, #{stackingSequence,jdbcType=DECIMAL}, 
+      #{stackingRemarks,jdbcType=VARCHAR}, #{stackingType,jdbcType=DECIMAL}, #{stackingMaterialNumber,jdbcType=DECIMAL}, 
+      #{stackingRemainNumber,jdbcType=DECIMAL}, #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, 
+      #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR}, 
+      #{stackingArrival,jdbcType=DECIMAL}, #{stackingMaxLayers,jdbcType=DECIMAL}, #{stackingStatus,jdbcType=DECIMAL}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="com.steerinfo.dil.model.RmsStacking">
+    insert into RMS_STACKING
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="stackingId != null">
+        STACKING_ID,
+      </if>
+      <if test="stackingNo != null">
+        STACKING_NO,
+      </if>
+      <if test="stackingSequence != null">
+        STACKING_SEQUENCE,
+      </if>
+      <if test="stackingRemarks != null">
+        STACKING_REMARKS,
+      </if>
+      <if test="stackingType != null">
+        STACKING_TYPE,
+      </if>
+      <if test="stackingMaterialNumber != null">
+        STACKING_MATERIAL_NUMBER,
+      </if>
+      <if test="stackingRemainNumber != null">
+        STACKING_REMAIN_NUMBER,
+      </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>
+      <if test="stackingArrival != null">
+        STACKING_ARRIVAL,
+      </if>
+      <if test="stackingMaxLayers != null">
+        STACKING_MAX_LAYERS,
+      </if>
+      <if test="stackingStatus != null">
+        STACKING_STATUS,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="stackingId != null">
+        #{stackingId,jdbcType=DECIMAL},
+      </if>
+      <if test="stackingNo != null">
+        #{stackingNo,jdbcType=VARCHAR},
+      </if>
+      <if test="stackingSequence != null">
+        #{stackingSequence,jdbcType=DECIMAL},
+      </if>
+      <if test="stackingRemarks != null">
+        #{stackingRemarks,jdbcType=VARCHAR},
+      </if>
+      <if test="stackingType != null">
+        #{stackingType,jdbcType=DECIMAL},
+      </if>
+      <if test="stackingMaterialNumber != null">
+        #{stackingMaterialNumber,jdbcType=DECIMAL},
+      </if>
+      <if test="stackingRemainNumber != null">
+        #{stackingRemainNumber,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>
+      <if test="stackingArrival != null">
+        #{stackingArrival,jdbcType=DECIMAL},
+      </if>
+      <if test="stackingMaxLayers != null">
+        #{stackingMaxLayers,jdbcType=DECIMAL},
+      </if>
+      <if test="stackingStatus != null">
+        #{stackingStatus,jdbcType=DECIMAL},
+      </if>
+    </trim>
   </insert>
-    <insert id="insertSelective" parameterType="com.steerinfo.dil.model.RmsStacking">
-        insert into RMS_STACKING
-        <trim prefix="(" suffix=")" suffixOverrides=",">
-            <if test="stackingId != null">
-                STACKING_ID,
-            </if>
-            <if test="stackingNo != null">
-                STACKING_NO,
-            </if>
-            <if test="stackingSequence != null">
-                STACKING_SEQUENCE,
-            </if>
-            <if test="stackingRemarks != null">
-                STACKING_REMARKS,
-            </if>
-            <if test="stackingType != null">
-                STACKING_TYPE,
-            </if>
-            <if test="stackingMaterialNumber != null">
-                STACKING_MATERIAL_NUMBER,
-            </if>
-            <if test="stackingRemainNumber != null">
-                STACKING_REMAIN_NUMBER,
-            </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>
-            <if test="stackingArrival != null">
-                STACKING_ARRIVAL,
-            </if>
-        </trim>
-        <trim prefix="values (" suffix=")" suffixOverrides=",">
-            <if test="stackingId != null">
-                #{stackingId,jdbcType=DECIMAL},
-            </if>
-            <if test="stackingNo != null">
-                #{stackingNo,jdbcType=VARCHAR},
-            </if>
-            <if test="stackingSequence != null">
-                #{stackingSequence,jdbcType=DECIMAL},
-            </if>
-            <if test="stackingRemarks != null">
-                #{stackingRemarks,jdbcType=VARCHAR},
-            </if>
-            <if test="stackingType != null">
-                #{stackingType,jdbcType=DECIMAL},
-            </if>
-            <if test="stackingMaterialNumber != null">
-                #{stackingMaterialNumber,jdbcType=DECIMAL},
-            </if>
-            <if test="stackingRemainNumber != null">
-                #{stackingRemainNumber,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>
-            <if test="stackingArrival != null">
-                #{stackingArrival,jdbcType=DECIMAL},
-            </if>
-        </trim>
-    </insert>
-    <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.RmsStacking">
+  <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.RmsStacking">
     update RMS_STACKING
     set STACKING_NO = #{stackingNo,jdbcType=VARCHAR},
       STACKING_SEQUENCE = #{stackingSequence,jdbcType=DECIMAL},
@@ -272,158 +307,174 @@
       UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
       UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
       INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
-      STACKING_ARRIVAL = #{stackingArrival,jdbcType=DECIMAL}
+      STACKING_ARRIVAL = #{stackingArrival,jdbcType=DECIMAL},
+      STACKING_MAX_LAYERS = #{stackingMaxLayers,jdbcType=DECIMAL},
+      STACKING_STATUS = #{stackingStatus,jdbcType=DECIMAL}
     where STACKING_ID = #{stackingId,jdbcType=DECIMAL}
   </update>
-    <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.RmsStacking">
-        update RMS_STACKING
-        <set>
-            <if test="stackingNo != null">
-                STACKING_NO = #{stackingNo,jdbcType=VARCHAR},
-            </if>
-            <if test="stackingSequence != null">
-                STACKING_SEQUENCE = #{stackingSequence,jdbcType=DECIMAL},
-            </if>
-            <if test="stackingRemarks != null">
-                STACKING_REMARKS = #{stackingRemarks,jdbcType=VARCHAR},
-            </if>
-            <if test="stackingType != null">
-                STACKING_TYPE = #{stackingType,jdbcType=DECIMAL},
-            </if>
-            <if test="stackingMaterialNumber != null">
-                STACKING_MATERIAL_NUMBER = #{stackingMaterialNumber,jdbcType=DECIMAL},
-            </if>
-            <if test="stackingRemainNumber != null">
-                STACKING_REMAIN_NUMBER = #{stackingRemainNumber,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>
-            <if test="stackingArrival != null">
-                STACKING_ARRIVAL = #{stackingArrival,jdbcType=DECIMAL},
-            </if>
-        </set>
-        where STACKING_ID = #{stackingId,jdbcType=DECIMAL}
-    </update>
-    <select id="selectByPrimaryKey" parameterType="DECIMAL" resultMap="BaseResultMap">
-        <include refid="select" />
-        where STACKING_ID = #{stackingId,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 RMS_STACKING
-        (STACKING_ID,
-        STACKING_NO, STACKING_SEQUENCE,
-        STACKING_REMARKS, STACKING_TYPE,
-        STACKING_MATERIAL_NUMBER, STACKING_REMAIN_NUMBER,
-        INSERT_USERNAME, INSERT_TIME,
-        UPDATE_USERNAME, UPDATE_TIME,
-        INSERT_UPDATE_REMARK, STACKING_ARRIVAL
-        )
-        ( <foreach collection="list" item="item" separator="union all">
-        select
-        #{item.stackingId,jdbcType=DECIMAL},
-        #{item.stackingNo,jdbcType=VARCHAR}, #{item.stackingSequence,jdbcType=DECIMAL},
-        #{item.stackingRemarks,jdbcType=VARCHAR}, #{item.stackingType,jdbcType=DECIMAL},
-        #{item.stackingMaterialNumber,jdbcType=DECIMAL}, #{item.stackingRemainNumber,jdbcType=DECIMAL},
-        #{item.insertUsername,jdbcType=VARCHAR}, #{item.insertTime,jdbcType=TIMESTAMP},
-        #{item.updateUsername,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP},
-        #{item.insertUpdateRemark,jdbcType=VARCHAR}, #{item.stackingArrival,jdbcType=DECIMAL}
-        from dual
-    </foreach> )
-    </insert>
-    <update id="batchUpdate" parameterType="java.util.List">
-        update RMS_STACKING
-        set
-        STACKING_ID=
-        <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
-            when #{item.stackingId,jdbcType=DECIMAL} then #{item.stackingId,jdbcType=DECIMAL}
-        </foreach>
-        ,STACKING_NO=
-        <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
-            when #{item.stackingId,jdbcType=DECIMAL} then #{item.stackingNo,jdbcType=VARCHAR}
-        </foreach>
-        ,STACKING_SEQUENCE=
-        <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
-            when #{item.stackingId,jdbcType=DECIMAL} then #{item.stackingSequence,jdbcType=DECIMAL}
-        </foreach>
-        ,STACKING_REMARKS=
-        <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
-            when #{item.stackingId,jdbcType=DECIMAL} then #{item.stackingRemarks,jdbcType=VARCHAR}
-        </foreach>
-        ,STACKING_TYPE=
-        <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
-            when #{item.stackingId,jdbcType=DECIMAL} then #{item.stackingType,jdbcType=DECIMAL}
-        </foreach>
-        ,STACKING_MATERIAL_NUMBER=
-        <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
-            when #{item.stackingId,jdbcType=DECIMAL} then #{item.stackingMaterialNumber,jdbcType=DECIMAL}
-        </foreach>
-        ,STACKING_REMAIN_NUMBER=
-        <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
-            when #{item.stackingId,jdbcType=DECIMAL} then #{item.stackingRemainNumber,jdbcType=DECIMAL}
-        </foreach>
-        ,INSERT_USERNAME=
-        <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
-            when #{item.stackingId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
-        </foreach>
-        ,INSERT_TIME=
-        <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
-            when #{item.stackingId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
-        </foreach>
-        ,UPDATE_USERNAME=
-        <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
-            when #{item.stackingId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
-        </foreach>
-        ,UPDATE_TIME=
-        <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
-            when #{item.stackingId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
-        </foreach>
-        ,INSERT_UPDATE_REMARK=
-        <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
-            when #{item.stackingId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
-        </foreach>
-        ,STACKING_ARRIVAL=
-        <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
-            when #{item.stackingId,jdbcType=DECIMAL} then #{item.stackingArrival,jdbcType=DECIMAL}
-        </foreach>
-        where STACKING_ID in
-        <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
-            #{item.stackingId,jdbcType=DECIMAL}
-        </foreach>
-    </update>
-    <delete id="batchDelete" parameterType="java.util.List">
-        delete from RMS_STACKING
-        where STACKING_ID in
-        <foreach close=")" collection="list" item="id" open="(" separator=",">
-            #{id}
-        </foreach>
-    </delete>
-    <!-- 友情提示!!!-->
-    <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
-    <!-- 友情提示!!!-->
-    <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
-    <!-- 根据垛位查询垛位存放物资件数和剩余数量 -->
-    <select id="selectStacking" resultType="java.util.Map">
+  <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.RmsStacking">
+    update RMS_STACKING
+    <set>
+      <if test="stackingNo != null">
+        STACKING_NO = #{stackingNo,jdbcType=VARCHAR},
+      </if>
+      <if test="stackingSequence != null">
+        STACKING_SEQUENCE = #{stackingSequence,jdbcType=DECIMAL},
+      </if>
+      <if test="stackingRemarks != null">
+        STACKING_REMARKS = #{stackingRemarks,jdbcType=VARCHAR},
+      </if>
+      <if test="stackingType != null">
+        STACKING_TYPE = #{stackingType,jdbcType=DECIMAL},
+      </if>
+      <if test="stackingMaterialNumber != null">
+        STACKING_MATERIAL_NUMBER = #{stackingMaterialNumber,jdbcType=DECIMAL},
+      </if>
+      <if test="stackingRemainNumber != null">
+        STACKING_REMAIN_NUMBER = #{stackingRemainNumber,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>
+      <if test="stackingArrival != null">
+        STACKING_ARRIVAL = #{stackingArrival,jdbcType=DECIMAL},
+      </if>
+      <if test="stackingMaxLayers != null">
+        STACKING_MAX_LAYERS = #{stackingMaxLayers,jdbcType=DECIMAL},
+      </if>
+      <if test="stackingStatus != null">
+        STACKING_STATUS = #{stackingStatus,jdbcType=DECIMAL},
+      </if>
+    </set>
+    where STACKING_ID = #{stackingId,jdbcType=DECIMAL}
+  </update>
+  <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
+    <include refid="select" />
+    where STACKING_ID = #{stackingId,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 RMS_STACKING 
+      (STACKING_ID, 
+      STACKING_NO, STACKING_SEQUENCE, 
+      STACKING_REMARKS, STACKING_TYPE, 
+      STACKING_MATERIAL_NUMBER, STACKING_REMAIN_NUMBER, 
+      INSERT_USERNAME, INSERT_TIME, 
+      UPDATE_USERNAME, UPDATE_TIME, 
+      INSERT_UPDATE_REMARK, STACKING_ARRIVAL, 
+      STACKING_MAX_LAYERS, STACKING_STATUS
+      )
+    ( <foreach collection="list" item="item" separator="union all"> 
+   select  
+      #{item.stackingId,jdbcType=DECIMAL}, 
+      #{item.stackingNo,jdbcType=VARCHAR}, #{item.stackingSequence,jdbcType=DECIMAL}, 
+      #{item.stackingRemarks,jdbcType=VARCHAR}, #{item.stackingType,jdbcType=DECIMAL}, 
+      #{item.stackingMaterialNumber,jdbcType=DECIMAL}, #{item.stackingRemainNumber,jdbcType=DECIMAL}, 
+      #{item.insertUsername,jdbcType=VARCHAR}, #{item.insertTime,jdbcType=TIMESTAMP}, 
+      #{item.updateUsername,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP}, 
+      #{item.insertUpdateRemark,jdbcType=VARCHAR}, #{item.stackingArrival,jdbcType=DECIMAL}, 
+      #{item.stackingMaxLayers,jdbcType=DECIMAL}, #{item.stackingStatus,jdbcType=DECIMAL}
+       from dual  
+   </foreach> )
+  </insert>
+  <update id="batchUpdate" parameterType="java.util.List">
+     update RMS_STACKING
+     set
+       STACKING_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
+          when #{item.stackingId,jdbcType=DECIMAL} then #{item.stackingId,jdbcType=DECIMAL}
+       </foreach>
+       ,STACKING_NO=
+       <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
+          when #{item.stackingId,jdbcType=DECIMAL} then #{item.stackingNo,jdbcType=VARCHAR}
+       </foreach>
+       ,STACKING_SEQUENCE=
+       <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
+          when #{item.stackingId,jdbcType=DECIMAL} then #{item.stackingSequence,jdbcType=DECIMAL}
+       </foreach>
+       ,STACKING_REMARKS=
+       <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
+          when #{item.stackingId,jdbcType=DECIMAL} then #{item.stackingRemarks,jdbcType=VARCHAR}
+       </foreach>
+       ,STACKING_TYPE=
+       <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
+          when #{item.stackingId,jdbcType=DECIMAL} then #{item.stackingType,jdbcType=DECIMAL}
+       </foreach>
+       ,STACKING_MATERIAL_NUMBER=
+       <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
+          when #{item.stackingId,jdbcType=DECIMAL} then #{item.stackingMaterialNumber,jdbcType=DECIMAL}
+       </foreach>
+       ,STACKING_REMAIN_NUMBER=
+       <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
+          when #{item.stackingId,jdbcType=DECIMAL} then #{item.stackingRemainNumber,jdbcType=DECIMAL}
+       </foreach>
+       ,INSERT_USERNAME=
+       <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
+          when #{item.stackingId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,INSERT_TIME=
+       <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
+          when #{item.stackingId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,UPDATE_USERNAME=
+       <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
+          when #{item.stackingId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,UPDATE_TIME=
+       <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
+          when #{item.stackingId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,INSERT_UPDATE_REMARK=
+       <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
+          when #{item.stackingId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
+       </foreach>
+       ,STACKING_ARRIVAL=
+       <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
+          when #{item.stackingId,jdbcType=DECIMAL} then #{item.stackingArrival,jdbcType=DECIMAL}
+       </foreach>
+       ,STACKING_MAX_LAYERS=
+       <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
+          when #{item.stackingId,jdbcType=DECIMAL} then #{item.stackingMaxLayers,jdbcType=DECIMAL}
+       </foreach>
+       ,STACKING_STATUS=
+       <foreach close="end" collection="list" index="index" item="item" open="case STACKING_ID" separator=" ">
+          when #{item.stackingId,jdbcType=DECIMAL} then #{item.stackingStatus,jdbcType=DECIMAL}
+       </foreach>
+     where STACKING_ID in 
+     <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
+    #{item.stackingId,jdbcType=DECIMAL}
+     </foreach> 
+  </update>
+  <delete id="batchDelete" parameterType="java.util.List">
+    delete from RMS_STACKING
+    where STACKING_ID in 
+    <foreach close=")" collection="list" item="id" open="(" separator=",">
+      #{id}
+    </foreach>
+  </delete>
+  <!-- 友情提示!!!-->
+  <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+  <!-- 根据垛位查询垛位存放物资件数和剩余数量 -->
+  <select id="selectStacking" resultType="java.util.Map">
         select sum(wgm.gm_number) "materialNumber",
                (select max(rpg.grid_gradation_number) * 24
                 from rms_pwarehouse_grid rpg
@@ -438,26 +489,26 @@
         where rs.stacking_id = rpg.stacking_id
         group by rpg.stacking_id
     </select>
-    <!--根据垛位查询已堆放的物资剩余数量  -->
-    <select id="selectMaterialNumber" resultType="java.lang.Integer">
+  <!--根据垛位查询已堆放的物资剩余数量  -->
+  <select id="selectMaterialNumber" resultType="java.lang.Integer">
         select rs.stacking_material_number
         from rms_stacking rs
         where rs.stacking_id = #{stackingId}
     </select>
-    <!--根据垛位id查询垛位-->
-    <select id="selectStackNo" resultType="java.lang.String">
+  <!--根据垛位id查询垛位-->
+  <select id="selectStackNo" resultType="java.lang.String">
         select rs.stacking_no
         from rms_stacking rs
         where rs.stacking_id = #{stackingId}
     </select>
-    <!--更新垛位剩余数量和垛位存放物资数量-->
-    <update id="updateRmsStacking">
+  <!--更新垛位剩余数量和垛位存放物资数量-->
+  <update id="updateRmsStacking">
         update rms_stacking
         set stacking_material_number = #{materialNumber},
             stacking_remain_number   = #{remainNumber}
     </update>
-    <!--更新垛位  -->
-    <update id="updateStack">
+  <!--更新垛位  -->
+  <update id="updateStack">
         update
             rms_stacking rs
         set (rs.stacking_material_number, rs.stacking_remain_number)=
@@ -467,8 +518,8 @@
                  where rs.stacking_id = #{stackId})
         where rs.stacking_id = #{stackId}
     </update>
-    
-    <select id="getStackingMessage" parameterType="DECIMAL" resultType="java.util.Map">
+
+  <select id="getStackingMessage" parameterType="DECIMAL" resultType="java.util.Map">
         SELECT DISTINCT RS.STACKING_ID              AS "stackingId",
                         RS.STACKING_NO              AS "stackingNo",
                         RS.STACKING_SEQUENCE        AS "stackingSequence",
@@ -481,8 +532,8 @@
           AND RS.STACKING_SEQUENCE IS NOT NULL
         ORDER BY RS.STACKING_SEQUENCE ASC
     </select>
-    
-    <update id="updateNumber">
+
+  <update id="updateNumber">
          update rms_stacking
         set stacking_Material_Number = #{stackingMaterialNumber},
             stacking_remain_number   = #{stackingRemainNumber}

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

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

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

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