Tiroble 3 éve
szülő
commit
e578d82f37

+ 1 - 5
pom.xml

@@ -117,11 +117,7 @@
 <!--                        <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>

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

@@ -120,6 +120,54 @@ public class WmsInboundResultController extends BaseRESTfulController {
     }
 
 
+    /**
+     * 展示入库实绩
+     * @param mapValue
+     * @param apiId
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
+    @PostMapping("/getWmsReservedResult")
+    @ApiOperation(value = "展示预留入库实绩信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "apiId", value = "371", required = false, dataType = "BigDecimal"),
+    })
+    public RESTfulResult getWmsReservedResult(@RequestBody(required = false) Map<String, Object> mapValue,
+                                             Integer apiId,
+                                             Integer pageNum,
+                                             Integer pageSize,
+                                             String con) {
+        if(con != null){
+            if(!"undefined".equals(con)){
+                String index = "get_wms_inboundresult";
+                return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));
+            }
+        }
+        List<Map<String,Object>>inboundResultList = null;
+        if(mapValue.size() == 0){
+            //将查询结果存入索引中
+            inboundResultList = wmsInboundResultServiceImpl.getWmsReservedResult(mapValue);
+            Map<String, Object> inboundResultMap = new HashMap<>();
+            //添加索引
+            inboundResultMap.put("index","get_wms_inboundresultse");
+            //添加ID
+            inboundResultMap.put("indexId","inboundresultId");
+            inboundResultList.add(inboundResultMap);
+            //新建索引
+            esFeign.insertIndex(inboundResultList);
+            //删除
+            inboundResultList.remove(inboundResultList.size() -1);
+        }
+        if(inboundResultList == null) {
+            inboundResultList = wmsInboundResultServiceImpl.getWmsReservedResult(mapValue);
+        }
+        /*分页*/
+        PageHelper.startPage(pageNum, pageSize);
+        List<Map<String,Object>> columnList = wmsInboundResultServiceImpl.getWmsReservedResult(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId,inboundResultList,columnList);
+        return success(pageList);
+    }
     /**
      * 新增入库实绩
      *
@@ -488,5 +536,11 @@ public class WmsInboundResultController extends BaseRESTfulController {
         return success(pageList);
 
     }
+//    根据对应的入库实绩id修改入库状态为预留
+    @PostMapping("/changeReserved")
+    @ApiOperation(value = "根据对应的入库实绩id修改入库状态为预留")
+    public int changeReserved(@RequestBody(required = false) List<Map<String, Object>> mapList) {
+        return wmsInboundResultServiceImpl.changeReserved(mapList);
+    }
 }
 

+ 29 - 27
src/main/java/com/steerinfo/dil/controller/WmspGridMaterialController.java

@@ -66,37 +66,39 @@ public class WmspGridMaterialController extends BaseRESTfulController {
                                                 String con) {
 
 
-
+        if (con!=null&&!con.equals("undefined")) {
+            mapVal.put("con", "%" + con + "%");
+        }
         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);
-        //库龄预警
-        for (Map mapValue : columnList) {
-            BigDecimal gridId = (BigDecimal) mapValue.get("gridId");
-            List<Map<String, Object>> map2 = wmspGridMaterialService.selectInboundTimeAndThreshold(gridId);
-            //取出入库日期转换为时间戳
-            for (Map<String, Object> map1 : map2) {
-                Date inboundTime = (Date) map1.get("inboundTime");
-                Date date1 = new Date();
-                //当前时间减去入库日期
-                long data1 = date1.getTime() - inboundTime.getTime();
-                //日期
-                long days = data1 / (1000 * 60 * 60 * 24);
-                //小时
-                long hours = (data1 - days * (1000 * 60 * 60 * 24)) / (1000 * 60 * 60);
-                //分钟
-                long minutes = (data1 - days * (1000 * 60 * 60 * 24) - hours * (1000 * 60 * 60)) / (1000 * 60);
-                //获取标准值
-                BigDecimal max = (BigDecimal) map1.get("max");
-                Long Max = max.longValue();
-                BigDecimal min = (BigDecimal) map1.get("min");
-                Long Min = min.longValue();
-                if (days < Max && days >= Min) {
-                    return success();
-                }
-            }
-        }
+//        //库龄预警
+//        for (Map mapValue : columnList) {
+//            BigDecimal gridId = (BigDecimal) mapValue.get("gridId");
+//            List<Map<String, Object>> map2 = wmspGridMaterialService.selectInboundTimeAndThreshold(gridId);
+//            //取出入库日期转换为时间戳
+//            for (Map<String, Object> map1 : map2) {
+//                Date inboundTime = (Date) map1.get("inboundTime");
+//                Date date1 = new Date();
+//                //当前时间减去入库日期
+//                long data1 = date1.getTime() - inboundTime.getTime();
+//                //日期
+//                long days = data1 / (1000 * 60 * 60 * 24);
+//                //小时
+//                long hours = (data1 - days * (1000 * 60 * 60 * 24)) / (1000 * 60 * 60);
+//                //分钟
+//                long minutes = (data1 - days * (1000 * 60 * 60 * 24) - hours * (1000 * 60 * 60)) / (1000 * 60);
+//                //获取标准值
+//                BigDecimal max = (BigDecimal) map1.get("max");
+//                Long Max = max.longValue();
+//                BigDecimal min = (BigDecimal) map1.get("min");
+//                Long Min = min.longValue();
+//                if (days < Max && days >= Min) {
+//                    return success();
+//                }
+//            }
+//        }
         return success(pageList);
     }
     //统计实时库存数量

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

@@ -82,7 +82,7 @@ public class WmspSendReceiveController extends BaseRESTfulController {
     }*/
 
     @PostMapping("addSendReceive")
-    @Scheduled(cron =  "0 0 0 * * ? ")
+    @Scheduled(cron =  "0 30 23 * * ? ")
     public RESTfulResult addSendReceive(){
         int result = iWmspSendReceiveService.addSendReceive();
         return success(result);

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

@@ -19,6 +19,7 @@ public interface WmspInboundResultMapper extends IBaseMapper<WmspInboundResult,
      * @return
      */
     List<Map<String, Object>> selectWmsInboundResult(Map<String, Object> mapValue);
+    List<Map<String, Object>> selectWmsReservedResult(Map<String, Object> mapValue);
     @Select("select seq_WMSP_INBOUND_RESULT.nextval from dual")
     BigDecimal getCount();
 

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

@@ -18,6 +18,8 @@ public interface IWmsInboundResultService {
      */
     List<Map<String, Object>> getInboundResult(Map<String, Object> mapValue);
 
+    List<Map<String, Object>> getWmsReservedResult(Map<String, Object> mapValue);
+
     List<Map<String,Object>> getIvboundMaterial(Map<String, Object> mapValue);
 
     /**
@@ -72,4 +74,6 @@ public interface IWmsInboundResultService {
     int updateStatusByMaterilaId(BigDecimal materialId);
 
     int updateStatusByMaterialId(BigDecimal materialId);
+//    根据对应的入库实绩id修改入库状态为预留
+    int changeReserved(List<Map<String, Object>> mapList);
 }

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

@@ -48,7 +48,27 @@ public class WmsInboundResultServiceImpl implements IWmsInboundResultService {
         }
         return maps;
     }
-
+    /**
+     * 1.展示入库实绩所有信息
+     * @param mapValue
+     * @return
+     */
+    @Override
+    public List<Map<String,Object>> getWmsReservedResult(Map<String, Object> mapValue){
+        List<Map<String, Object>> maps = wmspInboundResultMapper.selectWmsReservedResult(mapValue);
+        for (Map<String,Object>map:maps
+        ) {
+            BigDecimal isComplete = (BigDecimal) map.get("isComplete");
+            if(isComplete.intValue() == 1){
+                map.remove("isComplete");
+                map.put("isComplete","无异常,正常入库");
+            }else{
+                map.remove("isComplete");
+                map.put("isComplete","异常入库");
+            }
+        }
+        return maps;
+    }
     /**
      * 2.展示退库实绩所有信息
      * @param mapValue
@@ -218,4 +238,29 @@ public class WmsInboundResultServiceImpl implements IWmsInboundResultService {
     public int updateStatusByMaterialId(BigDecimal materialId) {
         return wmspInboundResultMapper.updateStatusByMaterialId(materialId);
     }
+//    根据对应的入库实绩id修改入库状态为预留
+
+    @Override
+    public int changeReserved(List<Map<String, Object>> mapList) {
+        int i=0;
+//        对mapList遍历,找到所有的入库id
+        for (Map<String,Object> map:mapList){
+//            找到状态,判断其是属于入库转预留还是预留转入库,0表示入库转预留,1表示预留转入库
+            Integer status= (Integer) map.get("status");
+            Long inboundIds= (Long) map.get("inboundId");
+            BigDecimal inboundId = new BigDecimal(inboundIds) ;
+//            创建入库实体类
+            WmspInboundResult wmspInboundResult = new WmspInboundResult();
+            wmspInboundResult.setInboundId(inboundId);
+            if (status == 0){
+//            将入库状态改为预留状态
+                wmspInboundResult.setResultStatus(new BigDecimal(2));
+            }else if (status == 1){
+                wmspInboundResult.setResultStatus(new BigDecimal(1));
+            }
+
+            i+= wmspInboundResultMapper.updateByPrimaryKeySelective(wmspInboundResult);
+        }
+        return i;
+    }
 }

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

@@ -273,6 +273,9 @@ public class WmspGridMaterialServiceImpl  implements IWmspGridMaterialService {
         wmspCheckWarehouse.setInsertUsername("admin");
 //        查找当前盘点库存实绩表的最大Id
         BigDecimal checkId = wmspCheckWarehouseMapper.getMaxId();
+        if (checkId==null){
+            checkId = new BigDecimal(1);
+        }
         wmspCheckWarehouse.setCheckId(checkId);
         int result = wmspCheckWarehouseMapper.insertSelective(wmspCheckWarehouse);
 

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

@@ -405,7 +405,7 @@ public class WmspOutboundResultServiceImpl  implements IWmspOutboundResultServic
                     }
 
                 }
-                //表示该钢材已出库
+                //表示该钢材已出库,请勿重复扫码
                 else{
                     return -1;
                 }

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

@@ -181,10 +181,10 @@ public class WmspSendReceiveServiceImpl implements IWmspSendReceiveService {
                 Map<String,Object> map2 = new HashMap<>();
                 map2.put("warehouseId",warehouseId);
                 map2.put("materialId",materialId);
-                //统计前一天的入库总数
+                //统计今天的入库总数(只统计当前仓库没有预留的数量,不统计预留库的数量)
                 BigDecimal sendReceiveThisdayInbound = wmspSendReceiveMapper.countSndReceiveThisdayInbound(map2);
                 wmspSendReceive.setSendReceiveThisdayInbound(sendReceiveThisdayInbound);
-                //统计前一天的出库总数
+                //统计今天天的出库总数
                 BigDecimal sendReceiveThisdayOutbound = wmspSendReceiveMapper.countSendReceiveThisdayOutbound(map2);
                 wmspSendReceive.setSendReceiveThisdayOutbound(sendReceiveThisdayOutbound);
                 //昨天库存

+ 11 - 4
src/main/resources/com/steerinfo/dil/mapper/WmspGridMaterialMapper.xml

@@ -431,8 +431,6 @@
     RMS.MATERIAL_STEEL_ID "materialId",
     RMS.MATERIAL_ONLY_CODE "materialOnlyCode",
     WGM.GM_ID "gmId"
-
-
     from WMSP_GRID_MATERIAL WGM
     left join RMS_PWAREHOUSE_GRID RPG
     on  WGM.GRID_ID=RPG.GRID_ID
@@ -446,7 +444,13 @@
     on  RM.MATERIAL_ID=RMS.MATERIAL_ID
     left join RMS_MATERIAL_TYPE RMT
     on RM.MATERIAL_TYPE_ID=RMT.MATERIAL_TYPE_ID
+    left join WMSP_INBOUND_RESULT WIR
+    on WIR.GRID_ID = WGM.GRID_ID
+    where WGM.DELETED = 0 and WIR.RESULT_STATUS = 1 order by WGM.INSERT_TIME DESC
     )
+   <if test="con!=null">
+    where "materialName" like #{con} or "warehouseName" like #{con} or "stackingNo" like #{con}
+  </if>
     <where>
       <if test="warehouseName != null">
         and
@@ -722,14 +726,17 @@
     FROM WMSP_GRID_MATERIAL WGM
 --                 仓储网格表
            LEFT JOIN RMS_PWAREHOUSE_GRID RPG
-                     ON RPG.GRID_ID = WGM.GRID_ID
+                ON RPG.GRID_ID = WGM.GRID_ID
+--             关联入库实绩表
+            LEFT JOIN WMSP_INBOUND_RESULT WIR
+                ON WIR.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}
+           WHERE WGM.DELETED = 0 AND WIR.RESULT_STATUS =1  AND RPG.WAREHOUSE_ID = #{warehouseId} AND RM.MATERIAL_CODE = #{materialCode}
   </select>
   <select id="getMaterialIds" resultType="java.math.BigDecimal">
     SELECT DISTINCT

+ 131 - 4
src/main/resources/com/steerinfo/dil/mapper/WmspInboundResultMapper.xml

@@ -634,6 +634,133 @@
         ON RS.STACKING_ID = RPG.STACKING_ID
         where wir.inbound_type = 0
         and wir.result_deleted = 0
+        and wir.RESULT_STATUS != 2
+        order by wir.inbound_time desc
+        <where>
+            <if test="INBOUND_NUMBER != null">
+                and "INBOUND_NUMBER" in
+                <foreach collection="INBOUND_NUMBER" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="WAREHOUSE_NAME != null">
+                and "WAREHOUSE_NAME" in
+                <foreach collection="WAREHOUSE_NAME" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="STACKING_NO != null">
+                and "STACKING_NO" in
+                <foreach collection="STACKING_NO" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="GRID_GRADATION_NUMBER != null">
+                and "GRID_GRADATION_NUMBER" in
+                <foreach collection="GRID_GRADATION_NUMBER" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="FURNACE_NUMBER != null">
+                and "FURNACE_NUMBER" in
+                <foreach collection="FURNACE_NUMBER" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="MATERIAL_CODE != null">
+                and "MATERIAL_CODE" in
+                <foreach collection="MATERIAL_CODE" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="MATERIAL_NAME != null">
+                and "MATERIAL_NAME" in
+                <foreach collection="MATERIAL_NAME" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="THEORETICAL_WEIGHT != null">
+                and "THEORETICAL_WEIGHT" in
+                <foreach collection="THEORETICAL_WEIGHT" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="BUNDLE_WEIGHT != null">
+                and "BUNDLE_WEIGHT" in
+                <foreach collection="BUNDLE_WEIGHT" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="MEASURE_NAME != null">
+                and "MEASURE_NAME" in
+                <foreach collection="MEASURE_NAME" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="PRODUCTION_DATE != null">
+                and "PRODUCTION_DATE" in
+                <foreach collection="PRODUCTION_DATE" item="item" open="(" separator="," close=")">
+                    to_date('${item}','yyyy-mm-dd hh24:mi:ss')
+                </foreach>
+            </if>
+            <if test="APERSONNEL_NAME != null">
+                and "APERSONNEL_NAME" in
+                <foreach collection="APERSONNEL_NAME" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="BPERSONNEL_NAME != null">
+                and "BPERSONNEL_NAME" in
+                <foreach collection="BPERSONNEL_NAME" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="DPERSONNEL_NAME != null">
+                and "DPERSONNEL_NAME" in
+                <foreach collection="DPERSONNEL_NAME" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="SHIPPER_BRANCH_FACTORY != null">
+                and "SHIPPER_BRANCH_FACTORY" in
+                <foreach collection="SHIPPER_BRANCH_FACTORY" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="PERSONNEL_WORKSHOP != null">
+                and "PERSONNEL_WORKSHOP" in
+                <foreach collection="PERSONNEL_WORKSHOP" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="INBOUND_TIME != null">
+                and "INBOUND_TIME" in
+                <foreach collection="INBOUND_TIME" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+        </where>
+        <include refid="orderBy"></include>
+    </select>
+    <select id="selectWmsReservedResult" resultType="java.util.LinkedHashMap">
+        select
+        wir.INBOUND_ID "inboundId",
+        wir.inbound_number "inboundNo",
+        wir.inbound_time "inboundTime",
+        wir.inbound_iscomplete "isComplete",
+        RW.WAREHOUSE_NAME "warehouseName",
+        RS.STACKING_NO "stackingNo",
+        RPG.GRID_GRADATION_NUMBER "gridGradationNumber"
+        from wmsp_inbound_result wir
+        left join RMS_PWAREHOUSE_GRID rpg
+        ON RPG.GRID_ID = wir.GRID_ID
+        LEFT JOIN RMS_WAREHOUSE RW
+        ON RW.WAREHOUSE_ID = rpg.WAREHOUSE_ID
+        LEFT JOIN RMS_STACKING RS
+        ON RS.STACKING_ID = RPG.STACKING_ID
+        where wir.inbound_type = 0
+        and wir.result_deleted = 0
+        and wir.RESULT_STATUS = 2
         order by wir.inbound_time desc
         <where>
             <if test="INBOUND_NUMBER != null">
@@ -1196,16 +1323,16 @@
        update WMSP_INBOUND_RESULT set RESULT_STATUS= 2 where INBOUND_DISTRIBUTE_ID =  #{distributeId}
     </update>
     <update id="updateStatusByMaterilaId">
-       update WMSP_INBOUND_RESULT set RESULT_STATUS= 1 where MATERIAL_ID=#{materialId}
+       update WMSP_INBOUND_RESULT set INBOUND_ISCOMPLETE = 1 where MATERIAL_ID=#{materialId}
     </update>
     <update id="updateStatusByMaterialId">
-        update wmsp_inbound_result set result_status=2 where inbound_id in
+        update wmsp_inbound_result set INBOUND_ISCOMPLETE=2 where inbound_id in
           (
             select * from(
               select inbound_id from WMSP_INBOUND_RESULT wir
               left join rms_material_steel rms
               on wir.material_id = rms.material_steel_id
-              where rms.material_id=(select distinct material_id from rms_material_steel where material_steel_id =#{materialId} ) and result_status='1' and Rownum='1'
+              where rms.material_id=(select distinct material_id from rms_material_steel where material_steel_id =#{materialId} ) and INBOUND_ISCOMPLETE='1' and Rownum='1'
               order by wir.insert_time desc
           )
         )
@@ -1217,7 +1344,7 @@
     </select>
     <select id="getTypeMaterilaId" resultType="java.lang.Integer">
          select count(*) from  WMSP_INBOUND_RESULT
-        where MATERIAL_ID=#{materialId} and RESULT_STATUS='2'
+        where MATERIAL_ID=#{materialId} and INBOUND_ISCOMPLETE='2'
     </select>
 
 </mapper>

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

@@ -603,7 +603,8 @@
     on rpg.GRID_ID = wir.GRID_ID
     where rm.MATERIAL_ID = #{materialId} and
     rpg.WAREHOUSE_ID = #{warehouseId} and
-    trunc(wir.INSERT_TIME) = trunc(sysdate-1)
+     wir.INBOUND_ISCOMPLETE = 1 and
+    trunc(wir.INSERT_TIME) = trunc(sysdate)
   </select>
 
   <select id="countSendReceiveThisdayOutbound" parameterType="java.util.Map" resultType="java.math.BigDecimal">
@@ -616,6 +617,6 @@
     on rpg.GRID_ID = wgm.GRID_ID
     where  rm.MATERIAL_ID = #{materialId} and
     rpg.WAREHOUSE_ID = #{warehouseId} and
-    trunc(wgm.UPDATE_TIME) = trunc(sysdate-1)
+    trunc(wgm.UPDATE_TIME) = trunc(sysdate)
   </select>
 </mapper>