luobang 2 년 전
부모
커밋
009d11d274
1개의 변경된 파일52개의 추가작업 그리고 15개의 파일을 삭제
  1. 52 15
      src/main/resources/com/steerinfo/dil/mapper/StatisticalReportMapper.xml

+ 52 - 15
src/main/resources/com/steerinfo/dil/mapper/StatisticalReportMapper.xml

@@ -2459,7 +2459,7 @@
         --计划件数
         ASM.MATERIAL_PLAN_NUMBER "materialPlanNumber",
         --制单时间
-        to_char(ASM.SALE_MAKE_DATE,'yyyy-mm-dd HH24:mi') "saleMakeDate",
+        to_char(ASM.SALE_MAKE_DATE,'yyyy-fmmm-dd HH24:mi') "saleMakeDate",
         --操作人
         OO.RECORD_USERNAME "recordUserName"
         FROM AMS_SALE_ORDER ASO
@@ -2666,6 +2666,7 @@
         ASO.SALE_ORDER_ID "saleOrderId",
         to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd') "orderTime",
         ASO.SALE_NUMBER "saleOrderNo",
+        ASO.SALE_ORDER_STATUS "saleOrderStatus",
         ASM.SALE_MATERIAL_ID "saleMaterialId",
         CASE
         WHEN nvl(TWR.RESULT_GROSS_WEIGHT,0) =0
@@ -2673,6 +2674,14 @@
         when nvl(TWR.RESULT_GROSS_WEIGHT,0) !=0
         then ASM.MATERIAL_NUMBER
         end "materialNum",
+        (CASE WHEN
+        ASM.SALE_MAKE_DATE IS NULL
+        THEN null
+        WHEN  ASM.IS_POUND_SALE = 0
+        THEN TWR.RESULT_NET_WEIGHT
+        WHEN ASM.IS_POUND_SALE = 1
+        THEN ASM.MATERIAL_WEIGHT
+        END) "materialAcWeight",
         ASM.EAS_PRIMARY_ID "closeEntryId",
         ASM.DELETED "deletedStatus",
         RC.CONSIGNEE_COMPANY_NAME "consigneeName",
@@ -2696,8 +2705,14 @@
         END)
         "carrierName",
         OO.ORDER_NUMBER "orderNo",
-        TO_CHAR(ACTP.PRICE_VALUE,'9999999990.99') AS "priceValue",
-        TO_CHAR(BDO.DETAILS_AMOUNT,'9999999990.99') "detailsAmount",
+        (CASE
+        WHEN BDO.DETAILS_ID IS NULL and TLFR.RESULT_OUT_GATE_TIME is not null
+        THEN null
+        WHEN ACTP.PRICE_VALUE IS NOT NULL
+        THEN ROUND(ACTP.PRICE_VALUE,2)
+        ELSE ROUND(ACTP2.PRICE_VALUE,2)
+        END) AS "priceValue",
+        ROUND(BDO.DETAILS_AMOUNT,2) "detailsAmount",
         (CASE WHEN RRA_HISTORY.ADDRESS_PROVINCE is not null
         THEN '新地址:' || RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT ||
         RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS
@@ -2709,7 +2724,7 @@
         END) "addressPlace",
         --卸货城市
         RRA3.ADDRESS_PROVINCE || RRA3.ADDRESS_DISTRICT ||
-        RRA3.ADDRESS_TOWN|| RRP3.ADDRESS_DELIVERY_ADDRESS  "actualAddress",
+        RRA3.ADDRESS_TOWN|| RRP3.ADDRESS_DELIVERY_ADDRESS "actualAddress",
         RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT ||
         RRA.ADDRESS_TOWN AS "actualCity",
         RRP.PLACE_ID "placeId",
@@ -2735,7 +2750,10 @@
         NVL(R_CARRIER.CARRIER_ID,0) "carrierIds",
         OO.CAN_WORK     "canwork",
         OO.ORDER_STATUS              "carStatus",
-        RSA.AREA_NAME "areaName",
+        (CASE WHEN ASM.TRANSFER_OUT_OF_WAREHOUSE IS NOT NULL
+        THEN ASM.TRANSFER_OUT_OF_WAREHOUSE
+        ELSE RSA.AREA_NAME
+        END)  "areaName",
         TAR.INSERT_TIME "arrivalTime",
         TRR.INSERT_TIME "receiptTime",
         ASO.sale_remark "saleRemark",
@@ -2745,16 +2763,16 @@
         ASM.MATERIAL_WEIGHT "materialWeight",
         --收款客户
         ASO.SALE_ORDER_RECEIVE_CUSTOMER "saleOrderReceiveCustomer",
-        --付款客户
-        ASO.SALE_ORDER_RECEIVE_CUSTOMER "paymentCustomer",
         --结算方式
         RC.CONSIGNEE_SETTLEMENT_METHOD "consingneeSettlementMethod",
+        --付款客户
+        ASO.SALE_ORDER_RECEIVE_CUSTOMER "paymentCustomer",
         --卸货类别
         RRP.UNLOAD_TYPE "unloadType",
         --计划件数
         ASM.MATERIAL_PLAN_NUMBER "materialPlanNumber",
         --制单时间
-        ASM.SALE_MAKE_DATE "saleMakeDate",
+        to_char(ASM.SALE_MAKE_DATE,'yyyy-fmmm-dd HH24:mi') "saleMakeDate",
         --操作人
         OO.RECORD_USERNAME "recordUserName"
         FROM AMS_SALE_ORDER ASO
@@ -2800,12 +2818,15 @@
         LEFT JOIN TMSTRUCK_ENFACTORY_RESULT TER
         ON TER.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
         LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR
-        ON TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
-        AND TWR.MATERIAL_ID = RM.MATERIAL_ID
+        ON TWR.SALE_MATERIAL_ID = ASM.SALE_MATERIAL_ID
+        and twr.SALE_MATERIAL_ID is not null
+        OR ( TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID AND TWR.MATERIAL_ID = RM.MATERIAL_ID and twr.sale_material_id is null )
         LEFT JOIN BMSTRUCK_DETAILS_ORDER BDO
         ON BDO.WEIGHT_TASK_RESULT_ID = TWR.WEIGHT_TASK_RESULT_ID
         LEFT JOIN AMS_CONTRACT_TRANSPORT_PRICE actp
-        ON actp.PRICE_ID = oo.PRICE_ID
+        ON actp.PRICE_ID = OO.PRICE_ID
+        LEFT JOIN AMS_CONTRACT_TRANSPORT_PRICE actp2
+        ON actp2.PRICE_ID = ASOM.PRICE_ID
         LEFT JOIN TMSTRUCK_LEAVE_FACTORY_RESULT TLFR
         ON TLFR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
         LEFT JOIN TMSTRUCK_ARRIVAL_RESULT TAR
@@ -2813,7 +2834,7 @@
         LEFT JOIN TMStRUCK_RECEIPT_RESULT TRR
         ON TTR.RESULT_TOTAL_ID = TRR.RESULT_TOTAL_ID
         WHERE ASO.SALE_TYPE = 1
-        and (aso.DELETED = 1 and aso.SALE_ORDER_STATUS = 4 or aso.DELETED != 1 and aso.SALE_ORDER_STATUS between 0 and 4)
+        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
         and BDO.WETHER_TO_STATEMENT = 1
         <if test="oneDate != null">
@@ -2827,7 +2848,16 @@
             and to_date(#{endDate}, 'yyyy-mm-dd') >=  to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd'),'yyyy-mm-dd')
         </if>
         <if test="remark != null" >
-            and RSR.SALER_NAME || RCA.CAPACITY_NUMBER || RC.CONSIGNEE_COMPANY_NAME || R_CARRIER.CARRIER_ABBREVIATION || RM.MATERIAL_NAME || RM.MATERIAL_MODEL || RM.MATERIAL_SPECIFICATION LIKE #{remark}
+            and RSR.SALER_NAME || RCA.CAPACITY_NUMBER || RC.CONSIGNEE_COMPANY_NAME || R_CARRIER.CARRIER_ABBREVIATION || RM.MATERIAL_NAME || RM.MATERIAL_MODEL || RM.MATERIAL_SPECIFICATION
+            || (CASE WHEN RRA_HISTORY.ADDRESS_PROVINCE is not null
+            THEN '新地址:' || RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT ||
+            RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS
+            || ';旧地址:' || RRA_HISTORY.ADDRESS_PROVINCE || RRA_HISTORY.ADDRESS_DISTRICT ||
+            RRA_HISTORY.ADDRESS_TOWN || RRP_HISTORY.ADDRESS_DELIVERY_ADDRESS
+            ELSE
+            RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT ||
+            RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS
+            END)  LIKE #{remark}
         </if>
         <if test="salers != null">
             and RSR.SALER_NAME = #{salers}
@@ -2930,6 +2960,12 @@
             0,'未上报') like '%${item}%'
         </foreach>
         </if>
+        <if test="saleMaterialIds != null">
+            and  ASM.SALE_MATERIAL_ID IN
+            <foreach collection="saleMaterialIds" item="item" open="(" separator="," close=")">
+                '${item}'
+            </foreach>
+        </if>
         <if test="consigneeLoginName != null">
             and RC.CONSIGNEE_COMPANY_NAME LIKE '%${consigneeLoginName}%'
         </if>
@@ -3360,8 +3396,9 @@
         LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
         ON TTR.ORDER_ID = OO.ORDER_ID
         LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR
-        ON TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
-        AND TWR.MATERIAL_ID = RM.MATERIAL_ID
+        ON   TWR.SALE_MATERIAL_ID = ASM.SALE_MATERIAL_ID
+        and twr.SALE_MATERIAL_ID is not null
+        OR ( TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID AND TWR.MATERIAL_ID = RM.MATERIAL_ID and twr.sale_material_id is null )
         LEFT JOIN BMSTRUCK_DETAILS_ORDER BDO
         ON BDO.WEIGHT_TASK_RESULT_ID = TWR.WEIGHT_TASK_RESULT_ID
         LEFT JOIN TMSTRUCK_LOAD_RESULT TLR