liyg 2 jaren geleden
bovenliggende
commit
e50778534c
1 gewijzigde bestanden met toevoegingen van 284 en 147 verwijderingen
  1. 284 147
      src/main/resources/com/steerinfo/dil/mapper/WmshGridMaterialMapper.xml

+ 284 - 147
src/main/resources/com/steerinfo/dil/mapper/WmshGridMaterialMapper.xml

@@ -352,6 +352,9 @@
         SELECT rp.PORT_NAME as "portName",
         rm.MATERIAL_NAME as "materialName",
         db.RESULT_FOREIGN_SHIP_NAME as "resultForeignShipName",
+        wgm.BATCH_ID as "batchId",
+        wgm.GM_ID "gmId",
+        wgm.PORT_ID "portId",
         wgm.GM_TONNAGE as "gmTonnage"
         FROM WMSH_GRID_MATERIAL wgm
         LEFT JOIN DIL_BATCH db
@@ -362,6 +365,7 @@
         ON rp.PORT_ID = wgm.PORT_ID
         WHERE wgm.DELETED = 0
         AND rp.PORT_NAME ! = '万州港'
+        AND wgm.GM_TONNAGE > 0
         order by rp.PORT_NAME,rm.MATERIAL_NAME
         )
         <where>
@@ -396,42 +400,34 @@
     <select id="getLoadPortStockList" parameterType="java.util.Map" resultType="java.util.Map">
         SELECT *
         FROM (
-        SELECT rp.PORT_NAME as "portName",
-        rm.MATERIAL_NAME as "materialName",
-        db.RESULT_FOREIGN_SHIP_NAME as "resultForeignShipName",
-        wgm.BATCH_ID as "batchId",
-        wgm.GM_ID "gmId",
-        wgm.PORT_ID "portId",
-        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
-        LEFT JOIN RMS_MATERIAL rm
-        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",--物资实时库存
+        SELECT rp.PORT_NAME AS "portName",
+        rm.MATERIAL_NAME AS "materialName",
+        db.RESULT_FOREIGN_SHIP_NAME AS "resultForeignShipName",
+        BR ."remark" "type",
+        notice."totalTonnage" - NVL( noticeIn."sumIn", 0 ) + NVL( noticeOut."sumOut", 0 ) "typeTotalTonnage",
+        notice."totalTonnage" "afterTypeTotalTonnage",
+        wgm.GM_TONNAGE AS "afterTonnage",
+        wgm.GM_TONNAGE - NVL( AfterIn."sumIn", 0 ) + NVL( AfterOut."sumOut", 0 ) AS "gmTonnage",
+        NVL( INBOUNDS."sumIn", 0 ) "sumIn",
+        NVL( OUTBOUNDS."sumOut", 0 ) "sumOut",
+        NVL( AfterIn."sumIn", 0 ) "afterIn",
+        NVL( AfterOut."sumOut", 0 ) "afterOut",
+        temp."gmTonnage" - NVL( temp1."gmTonnage", 0 ) + NVL( temp2."gmTonnage", 0 ) AS "totalTonnage"
+        FROM  WMSH_GRID_MATERIAL wgm
+        LEFT JOIN DIL_BATCH db ON db.BATCH_ID = wgm.BATCH_ID
+        LEFT JOIN RMS_MATERIAL rm ON rm.MATERIAL_ID = db.MATERIAL_ID
+        LEFT JOIN RMS_PORT rp ON rp.PORT_ID = wgm.PORT_ID
+        LEFT JOIN (
+        SELECT DB .BATCH_ID "batchId",
+        NVL(MAX(ADN .RESULT_MEMO),'块矿') "remark"
+        FROM AMSSHIP_DELIVERY_NOTICE ADN
+        LEFT JOIN DIL_BATCH_INFACOTRY DBI ON ADN.BATCH_ID = DBI.BATCH_INFACOTRY_ID
+        LEFT JOIN DIL_BATCH DB ON DB.BATCH_ID = DBI.BATCH_ID
+        GROUP BY DB .BATCH_ID
+        ) BR ON BR ."batchId"=WGM .BATCH_ID
+        LEFT JOIN (
+        SELECT
+        sum( wgm.GM_TONNAGE ) AS "gmTonnage",
         rm.material_name "materialName"
         FROM
         WMSH_GRID_MATERIAL wgm
@@ -440,11 +436,13 @@
         LEFT JOIN RMS_PORT rp ON rp.PORT_ID = wgm.PORT_ID
         WHERE
         wgm.DELETED = 0
-        and rp.PORT_NAME = '万州港'
+        AND rp.PORT_NAME = '万州港'
         GROUP BY
-        rm.MATERIAL_NAME) temp on temp."materialName"=rm.MATERIAL_NAME
-        LEFT JOIN (SELECT
-        sum( WIR.RESULT_MATERIAL_NUMBER ) AS "gmTonnage",--点后物资入库
+        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
@@ -453,12 +451,15 @@
         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}
+        AND rp.PORT_NAME = '万州港'
+        AND WIR.INSERT_TIME >  #{time}
+        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
+        ) 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
@@ -467,66 +468,156 @@
         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",--批次总入库
+        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",--批次总出库
+        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",--点后批次入库
+        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",--点后批次出库
+        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 = '万州港'
+        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
+        LEFT JOIN (
+        SELECT
+        "remark",
+        SUM( "gmTonnage" ) "totalTonnage"
+        FROM
+        (
+        SELECT DISTINCT
+        RM.MATERIAL_NAME "materialName",
+        WGM.GM_TONNAGE "gmTonnage",
+        WGM.GM_ID,
+        DB.RESULT_FOREIGN_SHIP_NAME,
+        DB.BATCH_ID "batchId",
+        BRT."remark" "remark"
+        FROM
+        WMSH_GRID_MATERIAL WGM
+        LEFT JOIN DIL_BATCH DB ON WGM.BATCH_ID = DB.BATCH_ID
+        LEFT JOIN RMS_PORT RP ON RP.PORT_ID = WGM.PORT_ID
+        LEFT JOIN RMS_MATERIAL RM ON DB.MATERIAL_ID = RM.MATERIAL_ID
+        LEFT JOIN (
+        SELECT DB .BATCH_ID "batchId",
+        NVL(MAX(ADN .RESULT_MEMO),'块矿') "remark"
+        FROM AMSSHIP_DELIVERY_NOTICE ADN
+        LEFT JOIN DIL_BATCH_INFACOTRY DBI ON ADN.BATCH_ID = DBI.BATCH_INFACOTRY_ID
+        LEFT JOIN DIL_BATCH DB ON DB.BATCH_ID = DBI.BATCH_ID
+        GROUP BY DB .BATCH_ID
+        ) BRT ON BRT ."batchId"=WGM .BATCH_ID
+        WHERE
+        WGM.DELETED = 0
+        AND WGM.GM_TONNAGE > 0
+        AND RP.PORT_NAME = '万州港'
+        )
+        GROUP BY
+        "remark"
+        ) notice ON notice."remark" = BR ."remark"
+        LEFT JOIN (
+        SELECT
+        sum( WOR.RESULT_TONNAGE ) "sumOut",
+        BRT."remark" "remark"
+        FROM
+        WMSH_OUTBOUND_RESULT WOR
+        LEFT JOIN DIL_BATCH DB ON WOR.BATCH_ID = DB.BATCH_ID
+        LEFT JOIN RMS_PORT RP ON RP.PORT_ID = WOR.HARBOR_ID
+        LEFT JOIN (
+        SELECT DB .BATCH_ID "batchId",
+        NVL(MAX(ADN .RESULT_MEMO),'块矿') "remark"
+        FROM AMSSHIP_DELIVERY_NOTICE ADN
+        LEFT JOIN DIL_BATCH_INFACOTRY DBI ON ADN.BATCH_ID = DBI.BATCH_INFACOTRY_ID
+        LEFT JOIN DIL_BATCH DB ON DB.BATCH_ID = DBI.BATCH_ID
+        GROUP BY DB .BATCH_ID
+        ) BRT ON BRT ."batchId"=DB .BATCH_ID
+        WHERE
+        RP.PORT_NAME = '万州港'
+        AND WOR.INSERT_TIME >  #{time}
+        GROUP BY
+        "remark"
+        ) noticeOut ON noticeOut."remark" = notice."remark"
+        LEFT JOIN (
+        SELECT
+        SUM( WIR.RESULT_MATERIAL_NUMBER ) "sumIn",
+        BRT."remark"   "remark"
+        FROM
+        WMSH_INBOUND_RESULT WIR
+        LEFT JOIN DIL_BATCH DB ON WIR.BATCH_ID = DB.BATCH_ID
+        LEFT JOIN RMS_PORT RP ON RP.PORT_ID = WIR.PORT_ID
+        LEFT JOIN (
+        SELECT DB .BATCH_ID "batchId",
+        NVL(MAX(ADN .RESULT_MEMO),'块矿') "remark"
+        FROM AMSSHIP_DELIVERY_NOTICE ADN
+        LEFT JOIN DIL_BATCH_INFACOTRY DBI ON ADN.BATCH_ID = DBI.BATCH_INFACOTRY_ID
+        LEFT JOIN DIL_BATCH DB ON DB.BATCH_ID = DBI.BATCH_ID
+        GROUP BY DB .BATCH_ID
+        ) BRT ON BRT ."batchId"=DB .BATCH_ID
+        WHERE
+        RP.PORT_NAME = '万州港'
+        AND WIR.INSERT_TIME >  #{time}
+        GROUP BY
+        "remark"
+        ) noticeIn ON noticeIn."remark" = notice."remark"
+        WHERE
+        wgm.DELETED = 0
+        AND RP.PORT_NAME = '万州港'
+        AND wgm.GM_TONNAGE > 0
         <if test="con!=null and con!=''.toString()">
             and rm.MATERIAL_NAME || rp.PORT_NAME || db.RESULT_FOREIGN_SHIP_NAME like CONCAT(CONCAT('%',#{con}),'%')
         </if>
-        ORDER BY  rm.MATERIAL_NAME
+        ORDER BY  BR."remark",rm.MATERIAL_NAME
         )
         <where>
             "gmTonnage" > 0 or "afterTonnage" > 0
@@ -648,53 +739,79 @@
     </select>
     <select id="getDownPortStockList" resultType="java.util.Map">
         SELECT * FROM(
-        SELECT DISTINCT
-               WGM.GM_ID "gmId",
-               WGM.GM_TONNAGE "gmTonnage",
-               RP.PORT_NAME "portName",
-               RM.MATERIAL_NAME "materialName",
-               DB.RESULT_FOREIGN_SHIP_NAME "resultForeignShipName",
-               temp."totalTonnage" "totalTonnage"
-        FROM WMSH_GRID_MATERIAL WGM
-                 LEFT JOIN DIL_BATCH DB ON WGM.BATCH_ID=DB.BATCH_ID
-                 LEFT JOIN RMS_PORT RP ON RP.PORT_ID=WGM.PORT_ID
-                 LEFT JOIN RMS_MATERIAL RM ON DB.MATERIAL_ID=RM.MATERIAL_ID
-                 LEFT JOIN DIL_BATCH_INFACOTRY DBI ON DBI.BATCH_ID=DB.BATCH_ID
-                 LEFT JOIN AMSSHIP_DELIVERY_NOTICE ADN ON ADN.BATCH_ID=DBI.BATCH_INFACOTRY_ID
-                 LEFT JOIN AMSSHIP_DELIVERY_ATTORNEY ADA ON ADA.BATCH_ID = ADN.BATCH_ID AND ADA.DOWN_SWIM_PORT_ID=WGM.PORT_ID
-                 LEFT JOIN (
-            SELECT "materialName",
-                   SUM("gmTonnage") "totalTonnage"
-            FROM (
-                     SELECT DISTINCT
-                         RM.MATERIAL_NAME "materialName",
-                         WGM.GM_TONNAGE "gmTonnage",
-                         WGM.GM_ID ,
-                         DB.RESULT_FOREIGN_SHIP_NAME
-                     FROM WMSH_GRID_MATERIAL WGM
-                              LEFT JOIN DIL_BATCH DB ON WGM.BATCH_ID=DB.BATCH_ID
-                              LEFT JOIN RMS_PORT RP ON RP.PORT_ID=WGM.PORT_ID
-                              LEFT JOIN RMS_MATERIAL RM ON DB.MATERIAL_ID=RM.MATERIAL_ID
-                              LEFT JOIN DIL_BATCH_INFACOTRY DBI ON DBI.BATCH_ID=DB.BATCH_ID
-                              LEFT JOIN AMSSHIP_DELIVERY_NOTICE ADN ON ADN.BATCH_ID=DBI.BATCH_INFACOTRY_ID
-                              LEFT JOIN AMSSHIP_DELIVERY_ATTORNEY ADA ON ADA.BATCH_ID = ADN.BATCH_ID AND ADA.DOWN_SWIM_PORT_ID=WGM.PORT_ID
-                              LEFT JOIN TMSSHIP_LOAD_SHIP_RESULT TLSR ON ADA.BATCH_ID = TLSR.BATCH_ID
-                              LEFT JOIN TMSSHIP_TOTAL_RESULT TLR ON  TLR.RESULT_ID=TLSR.TOTAL_RESULT_ID
-                              LEFT JOIN OMSSHIP_INSTRUCTIONS_CAPACITY OIC ON OIC.INSTRUCTIONS_CAPACITY_ID=TLR.ORDER_ID
-                     WHERE WGM.DELETED=0 AND WGM.GM_TONNAGE>0 AND RP.PORT_NAME!='万州港' AND ADN.DELETED=0 AND ADA.DELETED=0 AND OIC.DELETED=0
-                 )
-            GROUP BY "materialName"
-        ) temp ON temp."materialName" = RM.MATERIAL_NAME
-        WHERE WGM.DELETED=0 AND WGM.GM_TONNAGE>0 AND RP.PORT_NAME!='万州港' AND ADN.DELETED=0 AND ADA.DELETED=0
-AND DBI.BATCH_INFACOTRY_ID IN (
-		SELECT DISTINCT TLSR .BATCH_ID
-		FROM TMSSHIP_LOAD_SHIP_RESULT TLSR
-		LEFT JOIN TMSSHIP_TOTAL_RESULT TLR ON  TLR.RESULT_ID=TLSR.TOTAL_RESULT_ID
-		LEFT JOIN OMSSHIP_INSTRUCTIONS_CAPACITY OIC ON OIC.INSTRUCTIONS_CAPACITY_ID=TLR.ORDER_ID
-		WHERE OIC.DELETED=0
-	)
-        )
-        ORDER BY "materialName"
+                         SELECT DISTINCT
+                             WGM.GM_ID "gmId",
+                             WGM.GM_TONNAGE "gmTonnage",
+                             RP.PORT_NAME "portName",
+                             RM.MATERIAL_NAME "materialName",
+                             DB.RESULT_FOREIGN_SHIP_NAME "resultForeignShipName",
+                             temp."totalTonnage" "totalTonnage",
+                             BR ."remark" "type",
+                             temp2."totalTonnage" "typeTotalTonnage"
+                         FROM WMSH_GRID_MATERIAL WGM
+                                  LEFT JOIN DIL_BATCH DB ON WGM.BATCH_ID=DB.BATCH_ID
+                                  LEFT JOIN RMS_PORT RP ON RP.PORT_ID=WGM.PORT_ID
+                                  LEFT JOIN RMS_MATERIAL RM ON DB.MATERIAL_ID=RM.MATERIAL_ID
+                                  LEFT JOIN (
+                             SELECT DB .BATCH_ID "batchId",
+                                    NVL(MAX(ADN .RESULT_MEMO),'块矿') "remark"
+                             FROM AMSSHIP_DELIVERY_NOTICE ADN
+                                      LEFT JOIN DIL_BATCH_INFACOTRY DBI ON ADN.BATCH_ID = DBI.BATCH_INFACOTRY_ID
+                                      LEFT JOIN DIL_BATCH DB ON DB.BATCH_ID = DBI.BATCH_ID
+                             GROUP BY DB .BATCH_ID
+                         ) BR ON BR ."batchId"=DB .BATCH_ID
+                                  LEFT JOIN (
+                             --按物资统计数量
+                             SELECT "materialName",
+                                    SUM("gmTonnage") "totalTonnage"
+                             FROM (
+                                      SELECT DISTINCT
+                                          RM.MATERIAL_NAME "materialName",
+                                          WGM.GM_TONNAGE "gmTonnage",
+                                          WGM.GM_ID ,
+                                          DB.RESULT_FOREIGN_SHIP_NAME,
+                                          DBI.BATCH_INFACOTRY_ID
+                                      FROM WMSH_GRID_MATERIAL WGM
+                                               LEFT JOIN DIL_BATCH DB ON WGM.BATCH_ID=DB.BATCH_ID
+                                               LEFT JOIN RMS_PORT RP ON RP.PORT_ID=WGM.PORT_ID
+                                               LEFT JOIN RMS_MATERIAL RM ON DB.MATERIAL_ID=RM.MATERIAL_ID
+                                               LEFT JOIN DIL_BATCH_INFACOTRY DBI ON DBI.BATCH_ID=DB.BATCH_ID
+                                               LEFT JOIN AMSSHIP_DELIVERY_NOTICE ADN ON ADN.BATCH_ID=DBI.BATCH_INFACOTRY_ID
+                                               LEFT JOIN AMSSHIP_DELIVERY_ATTORNEY ADA ON ADA.BATCH_ID = ADN.BATCH_ID AND ADA.DOWN_SWIM_PORT_ID=WGM.PORT_ID
+                                      WHERE WGM.DELETED=0 AND WGM.GM_TONNAGE>0 AND RP.PORT_NAME!='万州港' AND ADN.DELETED=0 AND ADA.DELETED=0
+                                  )
+                             GROUP BY "materialName"
+                         ) temp ON temp."materialName" = RM.MATERIAL_NAME
+                                  LEFT JOIN (
+                             --按发货通知备注统计数量
+                             SELECT "remark",
+                                    SUM("gmTonnage") "totalTonnage"
+                             FROM (
+                                      SELECT DISTINCT
+                                          RM.MATERIAL_NAME "materialName",
+                                          WGM.GM_TONNAGE "gmTonnage",
+                                          WGM.GM_ID ,
+                                          DB.RESULT_FOREIGN_SHIP_NAME,
+                                          BRT ."remark" "remark"
+                                      FROM WMSH_GRID_MATERIAL WGM
+                                               LEFT JOIN DIL_BATCH DB ON WGM.BATCH_ID=DB.BATCH_ID
+                                               LEFT JOIN RMS_PORT RP ON RP.PORT_ID=WGM.PORT_ID
+                                               LEFT JOIN RMS_MATERIAL RM ON DB.MATERIAL_ID=RM.MATERIAL_ID
+                                               LEFT JOIN (
+                                          SELECT DB .BATCH_ID "batchId",
+                                                 NVL(MAX(ADN .RESULT_MEMO),'块矿') "remark"
+                                          FROM AMSSHIP_DELIVERY_NOTICE ADN
+                                                   LEFT JOIN DIL_BATCH_INFACOTRY DBI ON ADN.BATCH_ID = DBI.BATCH_INFACOTRY_ID
+                                                   LEFT JOIN DIL_BATCH DB ON DB.BATCH_ID = DBI.BATCH_ID
+                                          GROUP BY DB .BATCH_ID
+                                      ) BRT ON BRT ."batchId"=DB .BATCH_ID
+                                      WHERE WGM.DELETED=0 AND WGM.GM_TONNAGE>0 AND RP.PORT_NAME!='万州港'
+                                  )
+                             GROUP BY "remark"
+                         ) temp2 ON temp2."remark"=BR ."remark"
+                         WHERE WGM.DELETED=0 AND WGM.GM_TONNAGE>0 AND RP.PORT_NAME!='万州港'
+                     )
+        ORDER BY "type","materialName"
     </select>
     <select id="getRunStockList" resultType="java.util.Map">
         SELECT * FROM (
@@ -702,7 +819,9 @@ AND DBI.BATCH_INFACOTRY_ID IN (
                               RM.MATERIAL_NAME "materialName",
                               DB.RESULT_FOREIGN_SHIP_NAME "resultForeignShipName",
                               LT."gmTonnage" "gmTonnage",
-                              MT."totalTonnage" "totalTonnage"
+                              MT."totalTonnage" "totalTonnage",
+                              NVL(ADN.RESULT_MEMO,'块矿') "type",
+                              temp2."totalTonnage" "typeTotalTonnage"
                           FROM AMSSHIP_DELIVERY_NOTICE ADN
                                    LEFT JOIN DIL_BATCH_INFACOTRY DBI ON ADN.BATCH_ID=DBI.BATCH_INFACOTRY_ID
                                    LEFT JOIN AMSSHIP_DELIVERY_ATTORNEY ADA ON ADA.BATCH_ID = ADN.BATCH_ID
@@ -733,8 +852,26 @@ AND DBI.BATCH_INFACOTRY_ID IN (
                               WHERE OIC.DELETED=0 AND ADN.DELETED=0 AND TLSR.DELETED=0
                               GROUP BY  RM.MATERIAL_NAME
                           ) MT ON MT."materialName"=RM.MATERIAL_NAME
+                                   LEFT JOIN (
+                              --按发货通知备注统计数量
+                              SELECT "remark",
+                                     SUM("gmTonnage") "totalTonnage"
+                              FROM (
+                                       SELECT  NVL(ADN.RESULT_MEMO,'块矿') "remark",
+                                               SUM(TLSR.RESULT_ACTUAL_INSTALLATIONS) "gmTonnage"
+                                       FROM TMSSHIP_LOAD_SHIP_RESULT TLSR
+                                                LEFT JOIN TMSSHIP_TOTAL_RESULT TLR ON  TLR.RESULT_ID=TLSR.TOTAL_RESULT_ID
+                                                LEFT JOIN OMSSHIP_INSTRUCTIONS_CAPACITY OIC ON OIC.INSTRUCTIONS_CAPACITY_ID=TLR.ORDER_ID
+                                                LEFT JOIN DIL_BATCH_INFACOTRY DBI ON TLSR.BATCH_ID=DBI.BATCH_INFACOTRY_ID
+                                                LEFT JOIN DIL_BATCH DB ON DBI.BATCH_ID=DB.BATCH_ID
+                                                LEFT JOIN AMSSHIP_DELIVERY_NOTICE ADN ON ADN.BATCH_ID=DBI.BATCH_INFACOTRY_ID
+                                       WHERE OIC.DELETED=0 AND ADN.DELETED=0 AND TLSR.DELETED=0
+                                       GROUP BY ADN.RESULT_MEMO
+                                   )
+                              GROUP BY "remark"
+                          ) temp2 ON temp2."remark"=NVL(ADN.RESULT_MEMO,'块矿')
                           WHERE LT."gmTonnage" > 0 AND ADN.DELETED=0
                       )
-        ORDER BY "materialName"
+        ORDER BY "type","materialName"
     </select>
 </mapper>