Przeglądaj źródła

Merge branch 'dev' of https://git.steerinfo.com/DAL-DAZHOU1/DAL-TMS-TRUCK-API into dev

txf 3 lat temu
rodzic
commit
8bb01dfb12

+ 116 - 55
src/main/resources/com/steerinfo/dil/mapper/TmstruckEnfactoryResultMapper.xml

@@ -673,55 +673,122 @@
 
     <!--查询销售进厂实绩 -->
     <select id="getXSEnFactoryResult" parameterType="java.util.Map" resultType="java.util.Map">
-        select *
-        from (
         select
-        TER.RESULT_ID "resultId",
-        ASO.SALE_NUMBER "saleNumber",
-        RM.MATERIAL_NAME "materialName",
-        OO.ORDER_ID "orderId",
-        OO.ORDER_NUMBER "orderNumber",
-        RC.CAPACITY_NUMBER "capacityNumber",
-        RG.GATEPOST_NAME "gatepostName",
-        TER.RESULT_ENTRY_MODE "resultEntryMode",
-        TER.RESULT_ENTRY_GATE_TIME "resultEntryGateTime",
-        RS.SHIPPER_NAME "shipperName",
-        OOM.ORDER_MATERIAL_NUMBER "orderMaterialNumber",
-        TER.INSERT_TIME "insertTime",
-        RCON. CONSIGNEE_COMPANY_NAME "consigneeCompanyName"
-        from TMSTRUCK_ENFACTORY_RESULT TER
-        left join TMSTRUCK_TOTAL_RESULT TTR
-        on TER.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
-        left join OMSTRUCK_ORDER OO
-        on TTR.ORDER_ID = OO.ORDER_ID
-        left join AMS_SALE_ORDER ASO
-        on ASO.SALE_ORDER_ID = OO.ORDER_PLAN_ID
-        left join RMS_DRIVER_CAPACITY RDC
-        on RDC.DRIVER_CAPACITY_ID = OO.DRIVER_CAPACITY_ID
-        left join RMS_CAPACITY RC
-        on RC.CAPACITY_ID = RDC.CAPACITY_ID
-        left join RMS_SHIPPER RS
-        on RS.SHIPPER_ID = ASO.SHIPPER_ID
-        left join RMS_CONSIGNEE RCON
-        on RCON.CONSIGNEE_ID = ASO.RECEIVE_ID
-        left join OMSTRUCK_ORDER_MATERIAL OOM
-        on OOM.ORDER_ID = OO.ORDER_ID
-        left join RMS_MATERIAL RM
-        on RM.MATERIAL_ID = OOM.MATERIAL_ID
-        left join RMS_GATEPOST RG
-        on RG.GATEPOST_ID = TER.GATEPOST_ID
-        where TER.RESULT_ENTRY_GATE_TIME is not null and OO.ORDER_TYPE = #{orderTypee}
+               *
+        from (
+            SELECT
+                -- 进厂时间
+                TER.RESULT_ENTRY_GATE_TIME "resultEntryGateTime",
+                -- 	进厂方式
+                TER.RESULT_ENTRY_MODE "resultEntryMode",
+                -- 	门岗名称
+                RG.GATEPOST_NAME "gatepostName",
+                -- 运输订单号
+                OO.ORDER_NUMBER "orderNumber",
+                -- 车牌号
+                RC.CAPACITY_NUMBER "capacityNumber",
+                -- 运输订单id
+                OO.ORDER_ID "orderId",
+                -- 根据订单类型查询销售订单号/发运计划号
+                (CASE
+                    -- 	运输订单类型等于1的查询销售订单表
+                    WHEN OO.ORDER_TYPE = 1
+                        THEN (
+                            SELECT
+                                -- 销售订单号
+                                ASO.SALE_NUMBER
+                            FROM
+                                -- 销售订单
+                                AMS_SALE_ORDER ASO
+                            WHERE OO.ORDER_PLAN_ID = ASO.SALE_ORDER_ID
+                            )
+                    -- 	运输订单类型等于2,3的查询发运计划表
+                    WHEN OO.ORDER_TYPE IN ( 2, 3 )
+                        THEN(
+                            SELECT
+                                -- 	发运计划号
+                                ARD.DAYPLAN_NO
+                                -- 发运计划
+                            FROM
+                                 AMSTRUCK_RAIL_DAYPLAN ARD
+                            WHERE OO.ORDER_PLAN_ID = ARD.DAYPLAN_ID
+                            )
+                END) "saleNum",
+                --根据订单类型查询发货单位
+                (CASE
+                    WHEN OO.ORDER_TYPE = 1
+                        THEN(
+                            SELECT
+                                -- 发货单位
+                                RS.SHIPPER_NAME
+                            FROM
+                                -- 销售订单
+                                AMS_SALE_ORDER ASO
+                            -- 	托运人
+                            LEFT JOIN RMS_SHIPPER RS ON ASO.SHIPPER_ID = RS.SHIPPER_ID
+                            WHERE OO.ORDER_PLAN_ID = ASO.SALE_ORDER_ID
+                            )
+                    -- 	运输订单类型等于2,3的查询发运计划表
+                    WHEN OO.ORDER_TYPE IN ( 2, 3 )
+                        THEN(
+                            SELECT
+                                -- 发货单位
+                                RS.SHIPPER_NAME
+                            -- 	发运计划
+                            FROM AMSTRUCK_RAIL_DAYPLAN ARD
+                            -- 托运人
+                            LEFT JOIN RMS_SHIPPER RS ON ARD.SHIPMENT_UNIT_ID = RS.SHIPPER_ID
+                            WHERE OO.ORDER_PLAN_ID = ARD.DAYPLAN_ID
+                            )
+                END) "shipperName",
+                --根据订单类型查询收货单位
+                (CASE
+                    WHEN OO.ORDER_TYPE = 1
+                        THEN(
+                            SELECT
+                                -- 收货单位
+                                RS.SUPPLIER_NAME
+                            FROM
+                                -- 销售订单
+                                AMS_SALE_ORDER ASO
+                            -- 托运人
+                            LEFT JOIN RMS_SUPPLIER RS ON ASO.SHIPPER_ID = RS.SUPPLIER_ID
+                            WHERE OO.ORDER_PLAN_ID = ASO.SALE_ORDER_ID
+                            )
+                    -- 运输订单类型等于2,3的查询发运计划表
+                    WHEN OO.ORDER_TYPE IN ( 2, 3 )
+                        THEN(
+                            SELECT
+                                --发货单位
+                                RS.SUPPLIER_NAME
+                            FROM
+                                -- 发运计划
+                                AMSTRUCK_RAIL_DAYPLAN ARD
+                            --托运人
+                            LEFT JOIN RMS_SUPPLIER RS ON ARD.SHIPMENT_UNIT_ID = RS.SUPPLIER_ID
+                            WHERE OO.ORDER_PLAN_ID = ARD.DAYPLAN_ID
+                            )
+                END) "supplierName"
+            FROM
+                -- 进厂实绩
+                TMSTRUCK_ENFACTORY_RESULT TER
+                -- 	门岗
+                LEFT JOIN RMS_GATEPOST RG ON TER.GATEPOST_ID = RG.GATEPOST_ID
+                -- 	总实绩
+                LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR ON TER.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+                -- 运输订单
+                LEFT JOIN OMSTRUCK_ORDER OO ON TTR.ORDER_ID = OO.ORDER_ID
+                -- 运力信息
+                LEFT JOIN RMS_CAPACITY RC ON OO.CAPACITY_ID = RC.CAPACITY_ID
+            -- 判断进厂实绩的进厂时间不为空
+            WHERE TER.RESULT_ENTRY_GATE_TIME IS NOT NULL
+            -- 	并且订单类型等于1(销售订单),2(焦炭发运计划),3(水渣发运计划)
+            AND OO.ORDER_TYPE IN ( 1, 2, 3 )
         )
         <where>
-            <if test="saleNumber != null">
-                <foreach collection="saleNumber" item="item" open="(" separator="or" close=")">
-                    "saleNumber" like '%${item}%'
-                </foreach>
-            </if>
-            <if test="materialName != null">
-                and
-                <foreach collection="materialName" item="item" open="(" separator="or" close=")">
-                    "materialName" like '%${item}%'
+            <if test="saleNum != null">
+                <foreach collection="saleNum" item="item" open="(" separator="or" close=")">
+                    "saleNum" like '%${item}%'
                 </foreach>
             </if>
             <if test="gatepostName != null">
@@ -760,16 +827,10 @@
                     "resultEntryGateTime" like '%${item}%'
                 </foreach>
             </if>
-            <if test="consigneeCompanyName != null">
-                and
-                <foreach collection="consigneeCompanyName" item="item" open="(" separator="or" close=")">
-                    "consigneeCompanyName" like '%${item}%'
-                </foreach>
-            </if>
-            <if test="orderMaterialNumber != null">
+            <if test="supplierName != null">
                 and
-                <foreach collection="orderMaterialNumber" item="item" open="(" separator="or" close=")">
-                    "orderMaterialNumber" like '%${item}%'
+                <foreach collection="supplierName" item="item" open="(" separator="or" close=")">
+                    "supplierName" like '%${item}%'
                 </foreach>
             </if>
         </where>

+ 138 - 33
src/main/resources/com/steerinfo/dil/mapper/TmstruckLeaveFactoryResultMapper.xml

@@ -577,61 +577,166 @@
         FROM
             (
                 SELECT
-                    TLFR.RESULT_ID "resultId",
-                    ARD.DAYPLAN_NO "dayplanNo",
-                    RM.MATERIAL_NAME "materialName",
+                    -- 出厂时间
+                    TLFR.RESULT_OUT_GATE_TIME "resultOutGateTime",
+                    --出厂抓拍图片
+                    TLFR.RESULT_TRUCK_SNAPSHOT_PICTURE "resultTruckSnapshotPicture",
+                    -- 	出厂方式
+                    TLFR.RESULT_OUT_MODE "resultOutMode",
+                    -- 	门岗名称
+                    RG.GATEPOST_NAME "gatepostName",
+                    -- 运输订单号
                     OO.ORDER_NUMBER "orderNumber",
+                    -- 车牌号
                     RC.CAPACITY_NUMBER "capacityNumber",
-                    RG.GATEPOST_NAME "gatepostName",
-                    OOM.ORDER_MATERIAL_WEIGHT "",
-                    TLFR.RESULT_OUT_MODE "resultOutMode",
-                    TLFR.RESULT_OUT_GATE_TIME "resultOutGateTime",
-                    TLFR.RESULT_TRUCK_SNAPSHOT_PICTURE "resultTruckSnapshotPicture"
+                    -- 运输订单id
+                    OO.ORDER_ID "orderId",
+                    -- 根据订单类型查询销售订单号/发运计划号
+                    ( CASE
+                        -- 	运输订单类型等于1的查询销售订单表
+                        WHEN OO.ORDER_TYPE = 1
+                            THEN (
+                                SELECT
+                                    -- 销售订单号
+                                    ASO.SALE_NUMBER
+                                FROM
+                                    -- 销售订单
+                                    AMS_SALE_ORDER ASO
+                                WHERE OO.ORDER_PLAN_ID = ASO.SALE_ORDER_ID
+                            )
+                        -- 	运输订单类型等于2,3的查询发运计划表
+                        WHEN OO.ORDER_TYPE IN ( 2, 3 )
+                            THEN(
+                                SELECT
+                                    -- 发运计划号
+                                    ARD.DAYPLAN_NO
+                                    -- 发运计划
+                                    FROM AMSTRUCK_RAIL_DAYPLAN ARD
+                                WHERE OO.ORDER_PLAN_ID = ARD.DAYPLAN_ID
+                            )
+                    END) "saleNum",
+                    --根据订单类型查询发货单位
+                    (CASE
+                        WHEN OO.ORDER_TYPE = 1
+                            THEN (
+                                SELECT
+                                    -- 发货单位
+                                    RS.SHIPPER_NAME
+                                FROM
+                                    --销售订单
+                                    AMS_SALE_ORDER ASO --托运人
+                                LEFT JOIN RMS_SHIPPER RS ON ASO.SHIPPER_ID = RS.SHIPPER_ID
+                                WHERE OO.ORDER_PLAN_ID = ASO.SALE_ORDER_ID
+                            )
+                        -- 	运输订单类型等于2,3的查询发运计划表
+                        WHEN OO.ORDER_TYPE IN ( 2, 3 )
+                            THEN (
+                                SELECT
+                                    --发货单位
+                                    RS.SHIPPER_NAME
+                                    --发运计划
+                                FROM
+                                    AMSTRUCK_RAIL_DAYPLAN ARD
+                                    -- 托运人
+                                    LEFT JOIN RMS_SHIPPER RS ON ARD.SHIPMENT_UNIT_ID = RS.SHIPPER_ID
+                                 WHERE OO.ORDER_PLAN_ID = ARD.DAYPLAN_ID
+                            )
+                    END) "shipperName",
+                    --根据订单类型查询收货单位
+                    ( CASE
+                        WHEN OO.ORDER_TYPE = 1
+                            THEN (
+                                SELECT
+                                    --收货单位
+                                    RS.SUPPLIER_NAME
+                                FROM
+                                    -- 销售订单
+                                    AMS_SALE_ORDER ASO
+                                    -- 托运人
+                                LEFT JOIN RMS_SUPPLIER RS ON ASO.SHIPPER_ID = RS.SUPPLIER_ID
+                                WHERE OO.ORDER_PLAN_ID = ASO.SALE_ORDER_ID
+                            ) -- 	运输订单类型等于2,3的查询发运计划表
+                        WHEN OO.ORDER_TYPE IN ( 2, 3 )
+                            THEN (
+                                SELECT
+                                    --发货单位
+                                    RS.SUPPLIER_NAME --发运计划
+                                FROM
+                                    AMSTRUCK_RAIL_DAYPLAN ARD
+                                    --托运人
+                                    LEFT JOIN RMS_SUPPLIER RS ON ARD.SHIPMENT_UNIT_ID = RS.SUPPLIER_ID
+                                    WHERE OO.ORDER_PLAN_ID = ARD.DAYPLAN_ID
+                            )
+                    END) "supplierName"
                 FROM
+                    -- 出厂实绩
                     TMSTRUCK_LEAVE_FACTORY_RESULT TLFR
-                        LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR ON TTR.RESULT_TOTAL_ID = TLFR.RESULT_TOTAL_ID
-                        LEFT JOIN OMSTRUCK_ORDER OO ON OO.ORDER_ID = TTR.ORDER_ID
-                        LEFT JOIN OMSTRUCK_ORDER_MATERIAL OOM ON OOM.ORDER_ID = OO.ORDER_ID
-                        LEFT JOIN RMS_CAPACITY RC ON RC.CAPACITY_ID = OO.CAPACITY_ID
-                        LEFT JOIN RMS_GATEPOST RG ON RG.GATEPOST_ID = TLFR.GATEPOST_ID
-                        LEFT JOIN AMS_SALE_ORDER ASO ON OO.ORDER_PLAN_ID = ASO.SALE_ORDER_ID
+                    -- 	门岗
+                    LEFT JOIN RMS_GATEPOST RG ON TLFR.GATEPOST_ID = RG.GATEPOST_ID
+                     -- 	总实绩
+                    LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR ON TLFR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+                    -- 运输订单
+                    LEFT JOIN OMSTRUCK_ORDER OO ON TTR.ORDER_ID = OO.ORDER_ID
+                    -- 运力信息
+                    LEFT JOIN RMS_CAPACITY RC ON OO.CAPACITY_ID = RC.CAPACITY_ID
                 WHERE
-                    RESULT_OUT_GATE_TIME IS NOT NULL  and OO.ORDER_TYPE in (1, 2, 3)
+                    -- 判断出厂实绩的出厂时间不为空
+                    TLFR.RESULT_OUT_GATE_TIME IS NOT NULL
+                    -- 	并且订单类型等于1(销售订单),2(焦炭发运计划),3(水渣发运计划)
+                    AND OO.ORDER_TYPE IN ( 1, 2, 3 )
             )
         <where>
-            <if test="dayplanNo != null">
-                <foreach collection="dayplanNo" item="item" open="(" separator="or" close=")">
-                    "dayplanNo" like '%${item}%'
+            <if test="resultOutGateTime != null">
+                <foreach collection="resultOutGateTime" item="item" open="(" separator="or" close=")">
+                    "resultOutGateTime" like '%${item}%'
                 </foreach>
             </if>
-            <if test="purchaseOrderNo != null">
+            <if test="resultTruckSnapshotPicture != null">
             and
-                <foreach collection="purchaseOrderNo" item="item" open="(" separator="or" close=")">
-                    "purchaseOrderNo" like '%${item}%'
+                <foreach collection="resultTruckSnapshotPicture" item="item" open="(" separator="or" close=")">
+                    "resultTruckSnapshotPicture" like '%${item}%'
                 </foreach>
             </if>
-            <if test="purchaseOrderNo != null">
+            <if test="resultOutMode != null">
             and
-                <foreach collection="purchaseOrderNo" item="item" open="(" separator="or" close=")">
-                    "purchaseOrderNo" like '%${item}%'
+                <foreach collection="resultOutMode" item="item" open="(" separator="or" close=")">
+                    "resultOutMode" like '%${item}%'
                 </foreach>
             </if>
-            <if test="purchaseOrderNo != null">
+            <if test="gatepostName != null">
                 and
-                <foreach collection="purchaseOrderNo" item="item" open="(" separator="or" close=")">
-                    "purchaseOrderNo" like '%${item}%'
+                <foreach collection="gatepostName" item="item" open="(" separator="or" close=")">
+                    "gatepostName" like '%${item}%'
                 </foreach>
             </if>
-            <if test="purchaseOrderNo != null">
+            <if test="orderNumber != null">
                 and
-                <foreach collection="purchaseOrderNo" item="item" open="(" separator="or" close=")">
-                    "purchaseOrderNo" like '%${item}%'
+                <foreach collection="orderNumber" item="item" open="(" separator="or" close=")">
+                    "orderNumber" like '%${item}%'
                 </foreach>
             </if>
-            <if test="purchaseOrderNo != null">
+            <if test="capacityNumber != null">
                 and
-                <foreach collection="purchaseOrderNo" item="item" open="(" separator="or" close=")">
-                    "purchaseOrderNo" like '%${item}%'
+                <foreach collection="capacityNumber" item="item" open="(" separator="or" close=")">
+                    "capacityNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="saleNum != null">
+                and
+                <foreach collection="saleNum" item="item" open="(" separator="or" close=")">
+                    "saleNum" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="shipperName != null">
+                and
+                <foreach collection="shipperName" item="item" open="(" separator="or" close=")">
+                    "shipperName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="supplierName != null">
+                and
+                <foreach collection="supplierName" item="item" open="(" separator="or" close=")">
+                    "supplierName" like '%${item}%'
                 </foreach>
             </if>
         </where>