Browse Source

一磅过“

liyg 1 year ago
parent
commit
65c0db68f5

+ 260 - 34
src/main/resources/com/steerinfo/dil/mapper/StatisticalReportMapper.xml

@@ -365,6 +365,7 @@
         RM.MATERIAL_NAME "materialName",
         TLR.INSERT_UPDATE_REMARK "materialRemark",
         ASO.SALE_NUMBER "saleNumber",
+        ASO.SALE_REMARK "saleRemark",
         ASM.SALE_WAREHOUSE "saleWarehouse",
         ASM.MATERIAL_NUMBER "materialNum",
         ASM.MATERIAL_WEIGHT "materialWeight",
@@ -2025,11 +2026,43 @@
                         END) "orderStatusActually",
                     QQR.RESULT_START_TIME   "queueStartTime",
                     QQR.UPDATE_TIME         "allowEnfactoryTime",
-                    TWR.RESULT_GROSS_WEIGHT "grossWeight",
-                    TWR.RESULT_GROSS_WEIGHT_TIME "grossWeightTime",
-                    TWR.RESULT_TARE_WEIGHT       "tareWeight",
-                    TWR.RESULT_TARE_WEIGHT_TIME  "tareWeightTime",
-                    TWR.RESULT_NET_WEIGHT        "netWeight",
+                    TWB .WEIGHT_BATCH_ID "weightBatchId",
+                    (
+                    CASE
+                    WHEN TWB.WEIGHT_BATCH_ID IS NOT NULL
+                    THEN TWB.BATCH_GROSS_WEIGHT
+                    ELSE TWR.RESULT_GROSS_WEIGHT
+                    END
+                    ) "grossWeight",
+                    (
+                    CASE
+                    WHEN TWB.WEIGHT_BATCH_ID IS NOT NULL
+                    THEN TWB.BATCH_GROSS_WEIGHT_TIME
+                    ELSE TWR.RESULT_GROSS_WEIGHT_TIME
+                    END
+                    ) "grossWeightTime",
+                    (
+                    CASE
+                    WHEN TWB.WEIGHT_BATCH_ID IS NOT NULL
+                    THEN TWB.BATCH_TARE_WEIGHT
+                    ELSE TWR.RESULT_TARE_WEIGHT
+                    END
+                    ) "tareWeight",
+                    (
+                    CASE
+                    WHEN TWB.WEIGHT_BATCH_ID IS NOT NULL
+                    THEN TWB.BATCH_TARE_WEIGHT_TIME
+                    ELSE TWR.RESULT_TARE_WEIGHT_TIME
+                    END
+                    ) "tareWeightTime",
+                    (
+                    CASE
+                    WHEN TWB.WEIGHT_BATCH_ID IS NOT NULL
+                    THEN TWB.BATCH_NET_WEIGHT
+                    ELSE TWR.RESULT_NET_WEIGHT
+                    END
+                    ) "netWeight",
+
                     TLFR.RESULT_OUT_GATE_TIME    "outGateTime",
                     TER.RESULT_ENTRY_GATE_TIME   "entryGateTime",
                     TER.RESULT_ENTRY_GATE_TIME   "resultEntryGateTime",
@@ -2178,6 +2211,8 @@
                               ON TAR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
                     LEFT JOIN TMStRUCK_RECEIPT_RESULT TRR
                               ON TTR.RESULT_TOTAL_ID = TRR.RESULT_TOTAL_ID
+                    LEFT JOIN TMSTRUCK_WEIGHT_BATCH TWB
+                    ON TWB .WEIGHT_BATCH_ID = ASM .WEIGHT_BATCH_ID
                     WHERE
                     ASM.SALE_MATERIAL_ID IS NOT NULL
                     and asm.SALE_ORDER_ID != -1
@@ -2550,17 +2585,46 @@
         RRA.ADDRESS_TOWN "addressTown",
         OO.ORDER_LINE_SEQUENCE "lineSqe",
         OO.DRIVER_TEL "capacityTel",
-        TWR.RESULT_GROSS_WEIGHT "grossWeight",
-        TWR.RESULT_GROSS_WEIGHT_TIME "grossWeightTime",
-        TWR.RESULT_TARE_WEIGHT       "tareWeight",
-        TWR.RESULT_TARE_WEIGHT_TIME  "tareWeightTime",
-        (CASE WHEN
-        bdo.CONSIGNEE_ID is null and bdo.PRICE_VALUE is null and bdo.REMARK is not null
-        then null
-        ELSE
-        TWR.RESULT_NET_WEIGHT
-        END)
-               "netWeight",
+
+        TWB .WEIGHT_BATCH_ID "weightBatchId",
+        (
+        CASE
+        WHEN TWB.WEIGHT_BATCH_ID IS NOT NULL
+        THEN TWB.BATCH_GROSS_WEIGHT
+        ELSE TWR.RESULT_GROSS_WEIGHT
+        END
+        ) "grossWeight",
+        (
+        CASE
+        WHEN TWB.WEIGHT_BATCH_ID IS NOT NULL
+        THEN TWB.BATCH_GROSS_WEIGHT_TIME
+        ELSE TWR.RESULT_GROSS_WEIGHT_TIME
+        END
+        ) "grossWeightTime",
+        (
+        CASE
+        WHEN TWB.WEIGHT_BATCH_ID IS NOT NULL
+        THEN TWB.BATCH_TARE_WEIGHT
+        ELSE TWR.RESULT_TARE_WEIGHT
+        END
+        ) "tareWeight",
+        (
+        CASE
+        WHEN TWB.WEIGHT_BATCH_ID IS NOT NULL
+        THEN TWB.BATCH_TARE_WEIGHT_TIME
+        ELSE TWR.RESULT_TARE_WEIGHT_TIME
+        END
+        ) "tareWeightTime",
+        (
+        CASE
+        WHEN bdo.CONSIGNEE_ID is null and bdo.PRICE_VALUE is null and bdo.REMARK is not null
+        THEN null
+        WHEN TWB.WEIGHT_BATCH_ID IS NOT NULL
+        THEN TWB.BATCH_NET_WEIGHT
+        ELSE TWR.RESULT_NET_WEIGHT
+        END
+        ) "netWeight",
+
         TLFR.RESULT_OUT_GATE_TIME    "outGateTime",
         TER.RESULT_ENTRY_GATE_TIME   "entryGateTime",
         TAR.RESULT_ARRIVAL_ADDRESS "arrivalAddress",
@@ -2658,6 +2722,8 @@
         ON TTR.RESULT_TOTAL_ID = TRR.RESULT_TOTAL_ID
         LEFT JOIN RMS_CONSIGNEE RC2
         ON RC2.CONSIGNEE_ID = BDO.CONSIGNEE_ID
+        LEFT JOIN TMSTRUCK_WEIGHT_BATCH TWB
+        ON TWB .WEIGHT_BATCH_ID = BDO .WEIGHT_BATCH_ID
         WHERE ASO.SALE_TYPE = 1
         and (aso.DELETED between 1 and 2 and aso.SALE_ORDER_STATUS = 4 or aso.DELETED = 0 and aso.SALE_ORDER_STATUS between 0 and 4)
         and ASM.SALE_MATERIAL_ID IS NOT NULL
@@ -2904,17 +2970,46 @@
         RRA.ADDRESS_TOWN "addressTown",
         OO.ORDER_LINE_SEQUENCE "lineSqe",
         OO.DRIVER_TEL "capacityTel",
-        TWR.RESULT_GROSS_WEIGHT "grossWeight",
-        TWR.RESULT_GROSS_WEIGHT_TIME "grossWeightTime",
-        TWR.RESULT_TARE_WEIGHT       "tareWeight",
-        TWR.RESULT_TARE_WEIGHT_TIME  "tareWeightTime",
-        (CASE WHEN
-         bdo.CONSIGNEE_ID is null and bdo.PRICE_VALUE is null and bdo.REMARK is not null
-        then null
-            ELSE
-        TWR.RESULT_NET_WEIGHT
-            END)
-                "netWeight",
+
+        TWB .WEIGHT_BATCH_ID "weightBatchId",
+        (
+        CASE
+        WHEN TWB.WEIGHT_BATCH_ID IS NOT NULL
+        THEN TWB.BATCH_GROSS_WEIGHT
+        ELSE TWR.RESULT_GROSS_WEIGHT
+        END
+        ) "grossWeight",
+        (
+        CASE
+        WHEN TWB.WEIGHT_BATCH_ID IS NOT NULL
+        THEN TWB.BATCH_GROSS_WEIGHT_TIME
+        ELSE TWR.RESULT_GROSS_WEIGHT_TIME
+        END
+        ) "grossWeightTime",
+        (
+        CASE
+        WHEN TWB.WEIGHT_BATCH_ID IS NOT NULL
+        THEN TWB.BATCH_TARE_WEIGHT
+        ELSE TWR.RESULT_TARE_WEIGHT
+        END
+        ) "tareWeight",
+        (
+        CASE
+        WHEN TWB.WEIGHT_BATCH_ID IS NOT NULL
+        THEN TWB.BATCH_TARE_WEIGHT_TIME
+        ELSE TWR.RESULT_TARE_WEIGHT_TIME
+        END
+        ) "tareWeightTime",
+        (
+        CASE
+        WHEN bdo.CONSIGNEE_ID is null and bdo.PRICE_VALUE is null and bdo.REMARK is not null
+        THEN null
+        WHEN TWB.WEIGHT_BATCH_ID IS NOT NULL
+        THEN TWB.BATCH_NET_WEIGHT
+        ELSE TWR.RESULT_NET_WEIGHT
+        END
+        ) "netWeight",
+
         TLFR.RESULT_OUT_GATE_TIME    "outGateTime",
         TER.RESULT_ENTRY_GATE_TIME   "entryGateTime",
         TAR.RESULT_ARRIVAL_ADDRESS "arrivalAddress",
@@ -3018,6 +3113,8 @@
         ON RC2.CONSIGNEE_ID = BDO.CONSIGNEE_ID
         left join BMSTRUCK_STATEMENT BS
         ON BS.STATEMENT_ID = BDO.STATEMENT_ID
+        LEFT JOIN TMSTRUCK_WEIGHT_BATCH TWB
+        ON TWB .WEIGHT_BATCH_ID = BDO .WEIGHT_BATCH_ID
         WHERE ASO.SALE_TYPE = 1
         and (aso.DELETED between 1 and 2 and aso.SALE_ORDER_STATUS = 4 or aso.DELETED = 0 and aso.SALE_ORDER_STATUS between 0 and 4)
         and ASM.SALE_MATERIAL_ID IS NOT NULL
@@ -3743,11 +3840,44 @@
         RRA.ADDRESS_TOWN "addressTown",
         OO.ORDER_LINE_SEQUENCE "lineSqe",
         OO.DRIVER_TEL "capacityTel",
-        TWR.RESULT_GROSS_WEIGHT "grossWeight",
-        TWR.RESULT_GROSS_WEIGHT_TIME "grossWeightTime",
-        TWR.RESULT_TARE_WEIGHT       "tareWeight",
-        TWR.RESULT_TARE_WEIGHT_TIME  "tareWeightTime",
-        TWR.RESULT_NET_WEIGHT        "netWeight",
+
+        TWB .WEIGHT_BATCH_ID "weightBatchId",
+        (
+        CASE
+        WHEN TWB.WEIGHT_BATCH_ID IS NOT NULL
+        THEN TWB.BATCH_GROSS_WEIGHT
+        ELSE TWR.RESULT_GROSS_WEIGHT
+        END
+        ) "grossWeight",
+        (
+        CASE
+        WHEN TWB.WEIGHT_BATCH_ID IS NOT NULL
+        THEN TWB.BATCH_GROSS_WEIGHT_TIME
+        ELSE TWR.RESULT_GROSS_WEIGHT_TIME
+        END
+        ) "grossWeightTime",
+        (
+        CASE
+        WHEN TWB.WEIGHT_BATCH_ID IS NOT NULL
+        THEN TWB.BATCH_TARE_WEIGHT
+        ELSE TWR.RESULT_TARE_WEIGHT
+        END
+        ) "tareWeight",
+        (
+        CASE
+        WHEN TWB.WEIGHT_BATCH_ID IS NOT NULL
+        THEN TWB.BATCH_TARE_WEIGHT_TIME
+        ELSE TWR.RESULT_TARE_WEIGHT_TIME
+        END
+        ) "tareWeightTime",
+        (
+        CASE
+        WHEN TWB.WEIGHT_BATCH_ID IS NOT NULL
+        THEN TWB.BATCH_NET_WEIGHT
+        ELSE TWR.RESULT_NET_WEIGHT
+        END
+        ) "netWeight",
+
         TLFR.RESULT_OUT_GATE_TIME    "outGateTime",
         TER.RESULT_ENTRY_GATE_TIME   "entryGateTime",
         ASOM.SALE_DATE_OF_RECEIPT   "saleDateReceipt",
@@ -3807,6 +3937,8 @@
 --         AND TLR.MATERIAL_ID = RM.MATERIAL_ID
         LEFT JOIN TMSTRUCK_LEAVE_FACTORY_RESULT TLFR
         ON TLFR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+        LEFT JOIN TMSTRUCK_WEIGHT_BATCH TWB
+        ON TWB .WEIGHT_BATCH_ID = ASM .WEIGHT_BATCH_ID
         WHERE ASO.SALE_TYPE = 1
         <if test="entryIdList == null">
             AND ASO.DELETED = 0
@@ -4296,7 +4428,7 @@
         T1."receivedNum",
         T1."unReceiveNum",
         T2 ."num" "numGong" ,T3 ."num" "numCang",
-        T5."truckNetWeight",
+        T5."truckNetWeight" + T7."truckNetWeight"  "truckNetWeight",
         T5."truckThoWeight",
         T4."trainWeight",
         T6."trainThoWeight",
@@ -4671,7 +4803,56 @@
         RC.CARRIER_ABBREVIATION
         end)
         ) T5 ON T0 ."target" = T5."target" AND T0."carrierName" = 	T5."carrierName"
+        LEFT JOIN
+        (
+        --查询批次净重
+        SELECT "target",
+        "carrierName",
+        NVL(SUM("batchNetWeight"),0) "truckNetWeight"
+        FROM
+        (
+            SELECT DISTINCT
+            TWB .WEIGHT_BATCH_ID,
+            TWB .BATCH_NET_WEIGHT "batchNetWeight",
+            ASM .TRANSFER_OUT_OF_WAREHOUSE "target",--方向
+            RC.CARRIER_ABBREVIATION "carrierName"--承运商
+            FROM AMS_SALE_ORDER ASO
+            LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+            ON ASOM.SALE_ORDER_ID = ASO.SALE_ORDER_ID
+            LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
+            ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+            LEFT JOIN AMS_DISPATCH_SALE_ORDER ADSO
+            ON ADSO .SALE_ORDER_MATERIAL_ID = ASOM .SALE_ORDER_MATERIAL_ID
+            LEFT JOIN RMS_CARRIER RC
+            ON RC .CARRIER_ID = ADSO .CARRIER_ID
+            LEFT JOIN AMS_SALE_MATERIAL ASM
+            ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
+            LEFT JOIN OMSTRUCK_ORDER OO
+            ON OO.ORDER_PLAN_ID=ASOM.SALE_ORDER_MATERIAL_ID
+            LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR
+            ON TWR.SALE_MATERIAL_ID = ASM.SALE_MATERIAL_iD
+            LEFT JOIN TMSTRUCK_WEIGHT_BATCH TWB
+            ON TWB .WEIGHT_BATCH_ID = ASM .WEIGHT_BATCH_ID
+            WHERE
+            nvl(aso.DELETED,0) in (0,2)
+            AND aso.SALE_ORDER_STATUS = 4
+            AND NVL(OO.ORDER_STATUS,0) IN (0,2,4,5,7)
+            AND OO.CAPACITY_ID!=35128
+            AND NVL(OO.ORDER_TYPE,0) IN (0,1,4)
+            AND ASM.SALE_MATERIAL_ID IS NOT NULL
+            AND ASM.SALE_ORDER_ID != -1
+            AND ASO.SALE_TYPE in (1,4)
+            AND ASO.SALE_ORDER_ISSELF_MENTION !='是'
+            <if test="startDate != null">
+                and to_date(#{startDate}, 'yyyy-mm-dd') &lt;=  to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd'),'yyyy-mm-dd')
+                and to_date(#{endDate}, 'yyyy-mm-dd') >=  to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd'),'yyyy-mm-dd')
+            </if>
+        )
+        GROUP BY "carrierName","target"
+        ) T7 ON T1 ."target" = T7."target" AND T1."carrierName" = 	T7."carrierName"
+
         UNION
+
         SELECT T1."target",T1."carrierName",
         T1."planNum",T1."orderNum",T1."quxiaoNum",
         T1."planNum"-"orderNum" "notSendNum",
@@ -4683,7 +4864,7 @@
         NVL("unReceiveNum",0) "unReceiveNum",
         T2 ."num" "numGong" ,
         T3 ."num" "numCang",
-        T5."truckNetWeight",
+        T5."truckNetWeight" + T7."truckNetWeight" "truckNetWeight",
         T5."truckThoWeight",
         0 "trainWeight",
         0 "trainThoWeight",
@@ -4929,6 +5110,51 @@
         </if>
         GROUP BY ASM.TRANSFER_OUT_OF_WAREHOUSE
         ) T5 ON T1 ."target" = T5."target" AND T1."carrierName" = 	T5."carrierName"
+        LEFT JOIN(
+        --查询批次净重
+        SELECT "target",
+        '本地自提' "carrierName",--承运商
+        NVL(SUM("batchNetWeight"),0) "truckNetWeight"
+        FROM
+            (
+            SELECT DISTINCT
+            TWB .WEIGHT_BATCH_ID,
+            TWB .BATCH_NET_WEIGHT "batchNetWeight",
+            ASM .TRANSFER_OUT_OF_WAREHOUSE "target"--方向
+            FROM AMS_SALE_ORDER ASO
+            LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+            ON ASOM.SALE_ORDER_ID = ASO.SALE_ORDER_ID
+            LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
+            ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+            LEFT JOIN AMS_DISPATCH_SALE_ORDER ADSO
+            ON ADSO .SALE_ORDER_MATERIAL_ID = ASOM .SALE_ORDER_MATERIAL_ID
+            LEFT JOIN RMS_CARRIER RC
+            ON RC .CARRIER_ID = ADSO .CARRIER_ID
+            LEFT JOIN AMS_SALE_MATERIAL ASM
+            ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
+            LEFT JOIN OMSTRUCK_ORDER OO
+            ON OO.ORDER_PLAN_ID=ASOM.SALE_ORDER_MATERIAL_ID
+            LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR
+            ON TWR.SALE_MATERIAL_ID = ASM.SALE_MATERIAL_iD
+            LEFT JOIN TMSTRUCK_WEIGHT_BATCH TWB
+            ON TWB .WEIGHT_BATCH_ID = ASM .WEIGHT_BATCH_ID
+            WHERE
+            nvl(aso.DELETED,0) in (0,2)
+            AND aso.SALE_ORDER_STATUS = 4
+            AND NVL(OO.ORDER_STATUS,0) IN (0,2,4,5,7)
+            AND ASO.SALE_TYPE = 1
+            AND OO.CAPACITY_ID!=35128
+            AND NVL(OO.ORDER_TYPE,0) IN(0,1)
+            AND ASM.SALE_MATERIAL_ID IS NOT NULL
+            AND ASM.SALE_ORDER_ID != -1
+            AND ASO.SALE_ORDER_ISSELF_MENTION='是'
+            <if test="startDate != null">
+                and to_date(#{startDate}, 'yyyy-mm-dd') &lt;=  to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd'),'yyyy-mm-dd')
+                and to_date(#{endDate}, 'yyyy-mm-dd') >=  to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd'),'yyyy-mm-dd')
+            </if>
+            )
+        GROUP BY "target"
+        ) T7 ON T1 ."target" = T7."target" AND T1."carrierName" = 	T7."carrierName"
         )
         ORDER BY "no","carrierName"
     </select>

+ 29 - 10
src/main/resources/com/steerinfo/dil/mapper/TmstruckLeaveFactoryResultMapper.xml

@@ -1295,20 +1295,39 @@
 
    <!-- 获取物资实重-->
     <select id="getNetWeightByOrder" resultType="java.util.Map" parameterType="java.util.Map">
-        SELECT TWR.RESULT_NET_WEIGHT AS "nowNetWeight",
-        TWR.MATERIAL_ID AS "materialid",
-        TWR.RESULT_GROSS_WEIGHT_TIME AS "netWeightTime",
-        TWR.SALE_MATERIAL_ID AS "saleMaterialId"
+        SELECT
+        (
+            CASE
+                WHEN TWB.WEIGHT_BATCH_ID IS NOT NULL
+                    THEN TWB.BATCH_NET_WEIGHT
+                ELSE TWR.RESULT_NET_WEIGHT
+                END
+        )  "nowNetWeight",
+        ASM.MATERIAL_ID AS "materialid",
+        (
+            CASE
+                WHEN TWB.WEIGHT_BATCH_ID IS NOT NULL
+                    THEN TWB.BATCH_GROSS_WEIGHT_TIME
+                ELSE TWR.RESULT_GROSS_WEIGHT_TIME
+                END
+        )  "netWeightTime",
+        ASM.SALE_MATERIAL_ID AS "saleMaterialId"
         FROM OMSTRUCK_ORDER OO
-        left join OMSTRUCK_ORDER_MATERIAL OOM
-        ON OOM.ORDER_ID=OO.ORDER_ID
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+        ON OO.ORDER_PLAN_ID=ASOM.SALE_ORDER_MATERIAL_ID
+        LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
+        ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+        LEFT JOIN AMS_SALE_MATERIAL ASM
+        ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
         LEFT JOIN RMS_MATERIAL RM
-         ON RM.MATERIAL_ID=OOM.MATERIAL_ID
+        ON RM.MATERIAL_ID=ASM.MATERIAL_ID
         LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
-        ON OO.ORDER_ID = TTR.ORDER_ID
+                  ON OO.ORDER_ID = TTR.ORDER_ID
         LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR
-        ON TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
-        AND TWR.MATERIAL_ID = OOM.MATERIAL_ID
+                  ON TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+                      AND TWR.MATERIAL_ID = ASM.MATERIAL_ID
+        LEFT JOIN TMSTRUCK_WEIGHT_BATCH TWB
+        ON TWB .WEIGHT_BATCH_ID = ASM .WEIGHT_BATCH_ID
         WHERE OO.ORDER_NUMBER = #{orderNumber} and RM.MATERIAL_NAME=#{materialName}
         AND TWR.RESULT_NET_WEIGHT IS NOT NULL
     </select>