Quellcode durchsuchen

修改实时库存展示

liyg vor 2 Jahren
Ursprung
Commit
dc8b1ac8b5

+ 11 - 0
src/main/java/com/steerinfo/dil/controller/WmshGridMaterialController.java

@@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -93,6 +94,16 @@ public class WmshGridMaterialController extends BaseRESTfulController {
         if (con!=null&&!"".equals(con)){
             mapVal.put("con",con);
         }
+        Date now=new Date();
+        int hour = now.getHours();
+        if(hour >=8 && hour <= 18){
+            now.setHours(8);
+        }else{
+            now.setHours(18);
+        }
+        now.setMinutes(0);
+        now.setSeconds(0);
+        mapVal.put("time",now);
         PageHelper.startPage(pageNum, pageSize);
         //分页查询数据
         List<Map<String, Object>> columnList = wmshGridMaterialService.getLoadPortStockList(mapVal);

+ 17 - 0
src/main/java/com/steerinfo/dil/controller/WmshInboundResultController.java

@@ -17,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -102,4 +103,20 @@ public class WmshInboundResultController extends BaseRESTfulController {
         int i = wmshInboundResultService.deleteWareHosingResult(resultId);
         return success(i);
     }
+
+    @PostMapping("/findInboundDetail")
+    @ApiOperation(value = "查询点后批次入库操作详情")
+    RESTfulResult findInboundDetail(@RequestBody Map<String, Object> map) {
+        Date now=new Date();
+        int hour = now.getHours();
+        if(hour >=8 && hour <= 18){
+            now.setHours(8);
+        }else{
+            now.setHours(18);
+        }
+        now.setMinutes(0);
+        now.setSeconds(0);
+        map.put("time",now);
+        return success(wmshInboundResultService.findInboundDetail(map));
+    }
 }

+ 17 - 0
src/main/java/com/steerinfo/dil/controller/WmshOutboundResultController.java

@@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.math.BigDecimal;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -79,4 +80,20 @@ public class WmshOutboundResultController extends BaseRESTfulController {
             return success(result);
         }
     }
+
+    @PostMapping("findOutboundDetail")
+    @ApiOperation(value = "查询点后批次出库操作详情")
+    RESTfulResult findOutboundDetail(@RequestBody Map<String, Object> map) {
+        Date now=new Date();
+        int hour = now.getHours();
+        if(hour >=8 && hour <= 18){
+            now.setHours(8);
+        }else{
+            now.setHours(18);
+        }
+        now.setMinutes(0);
+        now.setSeconds(0);
+        map.put("time",now);
+        return success(wmshOutboundResultService.findOutboundDetail(map));
+    }
 }

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

@@ -23,4 +23,6 @@ public interface WmshInboundResultMapper extends IBaseMapper<WmshInboundResult,
 
     //修改绑定的所有入库表的批次
     int updateForBind(Map<String, Object> map);
+
+    List<Map<String, Object>> findInboundDetail(Map<String, Object> map);
 }

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

@@ -20,4 +20,6 @@ public interface WmshOutboundResultMapper extends IBaseMapper<WmshOutboundResult
     List<Map<String, Object>> getAllResult(Map<String, Object> map);
 
     int updateForBind(Map<String, Object> map);
+
+    List<Map<String, Object>> findOutboundDetail(Map<String, Object> map);
 }

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

@@ -34,4 +34,6 @@ public interface IWmshInboundResultService{
 
     //逻辑删除港存库入库实绩
     int deleteWareHosingResult(Integer ResultId);
+
+    List<Map<String, Object>> findInboundDetail(Map<String, Object> map);
 }

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

@@ -22,4 +22,6 @@ public interface IWmshOutboundResultService{
 
     //新增出库实绩
     int addResult(Map<String, Object> map);
+
+    List<Map<String, Object>> findOutboundDetail(Map<String, Object> map);
 }

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

@@ -99,5 +99,8 @@ public class WmshInboundResultServiceImpl implements IWmshInboundResultService {
         return wmshInboundResultMapper.updateByPrimaryKeySelective(wmshInboundResult);
     }
 
-
+    @Override
+    public List<Map<String, Object>> findInboundDetail(Map<String, Object> map) {
+        return wmshInboundResultMapper.findInboundDetail(map);
+    }
 }

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

@@ -72,4 +72,9 @@ public class WmshOutboundResultServiceImpl implements IWmshOutboundResultService
         wmshOutboundResultMapper.insertSelective(wmshOutboundResult);
         return  id;
     }
+
+    @Override
+    public List<Map<String, Object>> findOutboundDetail(Map<String, Object> map) {
+        return wmshOutboundResultMapper.findOutboundDetail(map);
+    }
 }

+ 104 - 9
src/main/resources/com/steerinfo/dil/mapper/WmshGridMaterialMapper.xml

@@ -399,8 +399,28 @@
         SELECT rp.PORT_NAME as "portName",
         rm.MATERIAL_NAME as "materialName",
         db.RESULT_FOREIGN_SHIP_NAME as "resultForeignShipName",
-        wgm.GM_TONNAGE as "gmTonnage",
-        temp."gmTonnage" as "totalTonnage"
+        wgm.BATCH_ID as "batchId",
+        wgm.GM_TONNAGE as "afterTonnage",--点后实时批次库存
+        case when AfterIn."sumIn"  is not null and AfterOut."sumOut" is not null
+            then wgm.GM_TONNAGE-AfterIn."sumIn"+AfterOut."sumOut"
+            when AfterIn."sumIn"  is not null and AfterOut."sumOut" is null
+            then wgm.GM_TONNAGE-AfterIn."sumIn"
+            when AfterIn."sumIn"  is null and AfterOut."sumOut" is not null
+            then wgm.GM_TONNAGE+AfterOut."sumOut"
+            else wgm.GM_TONNAGE
+        end as "gmTonnage",--点前批次库存
+        case when INBOUNDS."sumIn"  is null then 0 else INBOUNDS."sumIn"end "sumIn",--批次总入库
+        case when OUTBOUNDS."sumOut"  is null then 0 else OUTBOUNDS."sumOut" end "sumOut",--批次总出库
+        case when AfterIn."sumIn"  is null then 0 else AfterIn."sumIn" end "afterIn",--点后批次入库
+        case when AfterOut."sumOut"  is null then 0 else AfterOut."sumOut" end "afterOut",--点后批次出库
+        case when temp1."gmTonnage" is not null and temp2."gmTonnage" is not null
+        then temp."gmTonnage" - temp1."gmTonnage" + temp2."gmTonnage"
+        when temp1."gmTonnage" is not null and temp2."gmTonnage" is  null
+        then temp."gmTonnage" - temp1."gmTonnage"
+        when temp1."gmTonnage" is null and temp2."gmTonnage" is not  null
+        then temp."gmTonnage" + temp2."gmTonnage"
+        else temp."gmTonnage"
+        end as "totalTonnage"--点前物资库存
         FROM WMSH_GRID_MATERIAL wgm
         LEFT JOIN DIL_BATCH db
         ON db.BATCH_ID = wgm.BATCH_ID
@@ -408,9 +428,8 @@
         ON rm.MATERIAL_ID = db.MATERIAL_ID
         LEFT JOIN RMS_PORT rp
         ON rp.PORT_ID = wgm.PORT_ID
-        LEFT JOIN (
-        SELECT
-        sum( wgm.GM_TONNAGE ) AS "gmTonnage",
+        LEFT JOIN (SELECT
+        sum( wgm.GM_TONNAGE ) AS "gmTonnage",--物资实时库存
         rm.material_name "materialName"
         FROM
         WMSH_GRID_MATERIAL wgm
@@ -421,14 +440,90 @@
         wgm.DELETED = 0
         and rp.PORT_NAME = '万州港'
         GROUP BY
-        rm.MATERIAL_NAME
-        ) temp
-        on temp."materialName"=rm.MATERIAL_NAME
+        rm.MATERIAL_NAME) temp on temp."materialName"=rm.MATERIAL_NAME
+        LEFT JOIN (SELECT
+        sum( WIR.RESULT_MATERIAL_NUMBER ) AS "gmTonnage",--点后物资入库
+        rm.material_name "materialName"
+        FROM
+        WMSH_INBOUND_RESULT WIR
+        LEFT JOIN DIL_BATCH db ON db.BATCH_ID = WIR.BATCH_ID
+        LEFT JOIN RMS_MATERIAL rm ON rm.MATERIAL_ID = db.MATERIAL_ID
+        LEFT JOIN RMS_PORT rp ON rp.PORT_ID = WIR.PORT_ID
+        WHERE
+        WIR.DELETED = 0
+        and rp.PORT_NAME = '万州港'
+        and WIR.INSERT_TIME > #{time}
+        GROUP BY
+        rm.MATERIAL_NAME) temp1 on temp1."materialName"=rm.MATERIAL_NAME
+        LEFT JOIN (SELECT
+        sum( WOR.RESULT_TONNAGE ) AS "gmTonnage",--点后物资出库
+        rm.material_name "materialName"
+        FROM
+        WMSH_OUTBOUND_RESULT WOR
+        LEFT JOIN DIL_BATCH db ON db.BATCH_ID = WOR.BATCH_ID
+        LEFT JOIN RMS_MATERIAL rm ON rm.MATERIAL_ID = db.MATERIAL_ID
+        LEFT JOIN RMS_PORT rp ON rp.PORT_ID = WOR.HARBOR_ID
+        WHERE
+        rp.PORT_NAME = '万州港'
+        and WOR.INSERT_TIME > #{time}
+        GROUP BY rm.MATERIAL_NAME) temp2 on temp2."materialName"=rm.MATERIAL_NAME
+        LEFT JOIN (SELECT
+        SUM(WIR.RESULT_MATERIAL_NUMBER) "sumIn",--批次总入库
+        WIR.BATCH_ID "batchId"
+        from WMSH_INBOUND_RESULT WIR
+        left join DIL_BATCH DB
+        on WIR.BATCH_ID = DB.BATCH_ID
+        left join RMS_MATERIAL RM
+        on RM.MATERIAL_ID = DB.MATERIAL_ID
+        Left join RMS_PORT RP
+        on RP.PORT_ID = WIR.PORT_ID
+        where WIR.DELETED = 0
+        and RP.PORT_NAME = '万州港'
+        GROUP BY WIR.BATCH_ID) INBOUNDS ON INBOUNDS."batchId"=WGM.BATCH_ID
+        LEFT JOIN(SELECT
+        sum(WOR.RESULT_TONNAGE) "sumOut",--批次总出库
+        WOR.BATCH_ID "batchId"
+        from WMSH_OUTBOUND_RESULT WOR
+        left join DIL_BATCH DB
+        on WOR.BATCH_ID = DB.BATCH_ID
+        left join RMS_MATERIAL RM
+        on RM.MATERIAL_ID = DB.MATERIAL_ID
+        Left join RMS_PORT RP
+        on RP.PORT_ID = WOR.HARBOR_ID
+        where RP.PORT_NAME = '万州港'
+        GROUP BY WOR.BATCH_ID) OUTBOUNDS ON OUTBOUNDS."batchId"=WGM.BATCH_ID
+        LEFT JOIN (SELECT
+        SUM(WIR.RESULT_MATERIAL_NUMBER) "sumIn",--点后批次入库
+        WIR.BATCH_ID "batchId"
+        from WMSH_INBOUND_RESULT WIR
+        left join DIL_BATCH DB
+        on WIR.BATCH_ID = DB.BATCH_ID
+        left join RMS_MATERIAL RM
+        on RM.MATERIAL_ID = DB.MATERIAL_ID
+        Left join RMS_PORT RP
+        on RP.PORT_ID = WIR.PORT_ID
+        where WIR.DELETED = 0
+        and RP.PORT_NAME = '万州港'
+        and WIR.INSERT_TIME > #{time}
+        GROUP BY WIR.BATCH_ID) AfterIn ON AfterIn."batchId"=WGM.BATCH_ID
+        LEFT JOIN(SELECT
+        sum(WOR.RESULT_TONNAGE) "sumOut",--点后批次出库
+        WOR.BATCH_ID "batchId"
+        from WMSH_OUTBOUND_RESULT WOR
+        left join DIL_BATCH DB
+        on WOR.BATCH_ID = DB.BATCH_ID
+        left join RMS_MATERIAL RM
+        on RM.MATERIAL_ID = DB.MATERIAL_ID
+        Left join RMS_PORT RP
+        on RP.PORT_ID = WOR.HARBOR_ID
+        where RP.PORT_NAME = '万州港'
+        and WOR.INSERT_TIME > #{time}
+        GROUP BY WOR.BATCH_ID) AfterOut ON AfterOut."batchId"=WGM.BATCH_ID
         WHERE wgm.DELETED = 0
         and RP.PORT_NAME = '万州港'
         and wgm.GM_TONNAGE > 0
         <if test="con!=null">
-        and (instr(rm.MATERIAL_NAME , #{con}) > 0  or instr(rp.PORT_NAME , #{con}) > 0 or instr(db.RESULT_FOREIGN_SHIP_NAME,#{con}) > 0)
+            and rm.MATERIAL_NAME || rp.PORT_NAME || db.RESULT_FOREIGN_SHIP_NAME like CONCAT(CONCAT('%',#{con}),'%')
         </if>
         ORDER BY  rm.MATERIAL_NAME
         )

+ 25 - 0
src/main/resources/com/steerinfo/dil/mapper/WmshInboundResultMapper.xml

@@ -465,4 +465,29 @@
     set BATCH_ID = #{batchId}
     where BATCH_ID = #{batchIdOld}
   </update>
+  <select id="findInboundDetail" resultType="java.util.Map">
+    select
+      APO.PURCHASE_ORDER_NO "purchaseOrderNo",
+      WIR.RESULT_ID               "resultId",
+      WIR.RESULT_NUMBER           "resultNumber",
+      RP.PORT_NAME                "portName",
+      RM.MATERIAL_NAME            "materialName",
+      DB.RESULT_FOREIGN_SHIP_NAME "resultForeignShipName",
+      WIR.RESULT_MATERIAL_NUMBER  "resultMaterialNumber",
+      WIR.INSERT_USERNAME         "insertUsername",
+      WIR.INSERT_TIME             "insertTime"
+    from WMSH_INBOUND_RESULT WIR
+           left join DIL_BATCH DB
+                     on WIR.BATCH_ID = DB.BATCH_ID
+           left join RMS_MATERIAL RM
+                     on RM.MATERIAL_ID = DB.MATERIAL_ID
+           Left join RMS_PORT RP
+                     on RP.PORT_ID = WIR.PORT_ID
+           left join AMS_PURCHASE_ORDER APO
+                     on APO.BATCH_ID=DB.BATCH_ID
+    where WIR.DELETED = 0
+      and DB.BATCH_ID = #{batchId}
+      and WIR.INSERT_TIME >= #{time}
+      and RP.PORT_NAME = '万州港'
+  </select>
 </mapper>

+ 27 - 0
src/main/resources/com/steerinfo/dil/mapper/WmshOutboundResultMapper.xml

@@ -446,4 +446,31 @@
     set BATCH_ID = #{batchId}
     where BATCH_ID = #{batchIdOld}
   </update>
+  <select id="findOutboundDetail" resultType="java.util.Map">
+    select
+      WOR.RESULT_ID               "resultId",
+      RP.PORT_NAME                "portName",
+      RM.MATERIAL_NAME            "materialName",
+      DB.RESULT_FOREIGN_SHIP_NAME "resultForeignShipName",
+      WOR.RESULT_TONNAGE  "resultMaterialNumber",
+      WOR.INSERT_USERNAME         "insertUsername",
+      APO.PURCHASE_ORDER_NO "purchaseOrderNo",
+      WOR.RESULT_NUMBER           "resultNumber",
+      WOR.INSERT_TIME             "insertTime",
+      (select count(*)
+       from TMSTRAIN_LOADING_TEMP TLT where
+         TLT.OUTBOUNT_ID = WOR.RESULT_ID ) as "wagonNumber"
+    from WMSH_OUTBOUND_RESULT WOR
+           left join DIL_BATCH DB
+                     on WOR.BATCH_ID = DB.BATCH_ID
+           left join RMS_MATERIAL RM
+                     on RM.MATERIAL_ID = DB.MATERIAL_ID
+           Left join RMS_PORT RP
+                     on RP.PORT_ID = WOR.HARBOR_ID
+           left join AMS_PURCHASE_ORDER APO
+                     on APO.BATCH_ID=DB.BATCH_ID
+    where   DB.BATCH_ID = #{batchId}
+      and WOR.INSERT_TIME >= #{time}
+      and RP.PORT_NAME = '万州港'
+  </select>
 </mapper>