Bläddra i källkod

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

Tiroble 3 år sedan
förälder
incheckning
b39306aa3b

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

@@ -125,7 +125,7 @@ public class WmsInboundResultController extends BaseRESTfulController {
     @PostMapping("/getWmsInboundResultStatistics")
     @ApiOperation(value = "展示入库统计信息")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "apiId", value = "371", required = false, dataType = "BigDecimal"),
+            @ApiImplicitParam(name = "apiId", value = "445", required = false, dataType = "BigDecimal"),
     })
     public RESTfulResult getWmsInboundResultStatistics(@RequestBody(required = false) Map<String, Object> mapValue,
                                              Integer apiId,
@@ -134,7 +134,6 @@ public class WmsInboundResultController extends BaseRESTfulController {
                                              Integer warehouseId,
                                              String startTime,
                                              String endTime) {
-
         DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
         List<Map<String,Object>> inboundResultList = wmsInboundResultServiceImpl.getWmsInboundResultStatistics(mapValue,warehouseId);
 

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

@@ -66,5 +66,5 @@ public interface WmspInboundResultMapper extends IBaseMapper<WmspInboundResult,
 
     int updateStatusByMaterialId(BigDecimal materialId);
 
-    List<Map<String, Object>> getWmsInboundResultStatistics(Map<String, Object> mapValue, Integer warehouseId);
+    List<Map<String, Object>> getWmsInboundResultStatistics(Map<String, Object> mapValue);
 }

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

@@ -40,8 +40,9 @@ public class WmsInboundResultServiceImpl implements IWmsInboundResultService {
 //    展示入库统计信息
     @Override
     public List<Map<String, Object>> getWmsInboundResultStatistics(Map<String, Object> mapValue, Integer warehouseId) {
-        List<Map<String, Object>> maps = wmspInboundResultMapper.getWmsInboundResultStatistics(mapValue,warehouseId);
-        return null;
+        mapValue.put("warehouseId",warehouseId);
+        List<Map<String, Object>> maps = wmspInboundResultMapper.getWmsInboundResultStatistics(mapValue);
+        return maps;
     }
 
     @Override

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

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

+ 89 - 17
src/main/resources/com/steerinfo/dil/mapper/WmspInboundResultMapper.xml

@@ -1539,28 +1539,100 @@
          select count(*) from  WMSP_INBOUND_RESULT
         where MATERIAL_ID=#{materialId} and INBOUND_ISCOMPLETE='2'
     </select>
-    <select id="getWmsInboundResultStatistics" resultType="java.util.Map">
-        SELECT count(material_furnace_number) coun,
-               count(rm.MATERIAL_THEORETICAL_WEIGHT)  "theoreticalWeight",
-               material_furnace_number "furnaceNumber",
-                rm.MATERIAL_NAME || rm.MATERIAL_SPECIFICATION || '(' ||
-                rm.MATERIAL_MODEL || ')' "materialName",
-
-        FROM WMSP_INBOUND_RESULT wir
-                 left join rms_material_steel  rms
-                           on rms.material_steel_id=wir.MATERIAL_ID
-                left join RMS_MATERIAL rm
-                on rm.MATERIAL_ID = rms.MATERIAL_ID
+    <select id="getWmsInboundResultStatistics" parameterType="java.util.Map" resultType="java.util.Map">
+        SELECT DISTINCT
+--                         炉号生产总数量
+        table1.count "count",
+--                         炉号生产总重量
+        table2.weight "weight",
+--                         炉号生产的第一件钢材时间
+        table3.onetime "onetime",
+--                         生产物资型号
+        RM.MATERIAL_NAME || RM.MATERIAL_SPECIFICATION || '(' ||
+        RM.MATERIAL_MODEL || ')' "materialName",
+--                         炉号
+        MATERIAL_FURNACE_NUMBER "furnaceNumber1"
 
-        WHERE wir.RESULT_DELETED = 0
+        FROM
+        WMSP_INBOUND_RESULT WIR
+        LEFT JOIN RMS_MATERIAL_STEEL RMS
+        ON RMS.MATERIAL_STEEL_ID = WIR.MATERIAL_ID
+        LEFT JOIN RMS_MATERIAL RM
+        ON RM.MATERIAL_ID = RMS.MATERIAL_ID
+        LEFT JOIN WMSP_GRID_MATERIAL WGM
+        ON WGM.MATERIAL_ID = WIR.MATERIAL_ID
+        LEFT JOIN RMS_PWAREHOUSE_GRID RPG
+        ON RPG.GRID_ID = WGM.GRID_ID
+        LEFT JOIN (
+            SELECT
+                count(MATERIAL_FURNACE_NUMBER) count,
+                MATERIAL_FURNACE_NUMBER  "furnaceNumber1"
+            FROM
+            WMSP_INBOUND_RESULT WIR2
+            LEFT JOIN RMS_MATERIAL_STEEL RMS2
+            ON RMS2.MATERIAL_STEEL_ID = WIR2.MATERIAL_ID
+            WHERE RMS2.DELETED IS NULL OR RMS2.DELETED = 0
+            <if test="oneDate != null">
+                AND to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= WIR2.INBOUND_TIME
+            </if>
+            <if test="startDate != null">
+                AND to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= WIR2.INBOUND_TIME
+                AND to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= WIR2.INBOUND_TIME
+            </if>
+            GROUP BY
+            MATERIAL_FURNACE_NUMBER
+        ) table1
+        ON RMS.MATERIAL_FURNACE_NUMBER = table1."furnaceNumber1"
+        LEFT JOIN (
+            SELECT
+                sum(MATERIAL_THEORETICAL_WEIGHT) weight,
+                MATERIAL_FURNACE_NUMBER  "furnaceNumber2"
+            FROM
+            WMSP_INBOUND_RESULT WIR3
+            LEFT JOIN RMS_MATERIAL_STEEL RMS3
+            ON RMS3.MATERIAL_STEEL_ID = WIR3.MATERIAL_ID
+            WHERE RMS3.DELETED IS NULL OR RMS3.DELETED = 0
+            <if test="oneDate != null">
+                AND to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= WIR3.INBOUND_TIME
+            </if>
+            <if test="startDate != null">
+                AND to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= WIR3.INBOUND_TIME
+                AND to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= WIR3.INBOUND_TIME
+            </if>
+            GROUP BY
+            MATERIAL_FURNACE_NUMBER
+        ) table2
+        ON table1."furnaceNumber1" = table2."furnaceNumber2"
+        LEFT JOIN(
+            SELECT
+               MIN(WIR4.INSERT_TIME) onetime,
+               MATERIAL_FURNACE_NUMBER  "furnaceNumber3"
+            FROM
+            WMSP_INBOUND_RESULT WIR4
+            LEFT JOIN RMS_MATERIAL_STEEL RMS4
+            ON RMS4.MATERIAL_STEEL_ID = WIR4.MATERIAL_ID
+            WHERE RMS4.DELETED IS NULL OR RMS4.DELETED = 0
+            <if test="oneDate != null">
+                AND to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= WIR4.INBOUND_TIME
+            </if>
+            <if test="startDate != null">
+                AND to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= WIR4.INBOUND_TIME
+                AND to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= WIR4.INBOUND_TIME
+            </if>
+            GROUP BY
+            MATERIAL_FURNACE_NUMBER
+        )table3
+        ON table3."furnaceNumber3" = table2."furnaceNumber2"
+        WHERE RPG.WAREHOUSE_ID = #{warehouseId}
         <if test="oneDate != null">
-        and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= wir.inbound_time
+            AND to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= WIR.INBOUND_TIME
         </if>
         <if test="startDate != null">
-            and to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= wir.inbound_time
-            and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= wir.inbound_time
+            AND to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= WIR.INBOUND_TIME
+            AND to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= WIR.INBOUND_TIME
         </if>
-        group by material_furnace_number
+        AND WIR.RESULT_DELETED = 0
+        <include refid="orderBy"></include>
     </select>
 
 </mapper>