|
@@ -927,5 +927,152 @@
|
|
|
</if>
|
|
|
) ORDER BY "batchId"
|
|
|
</select>
|
|
|
+ <select id="getWetDryDetails" resultType="java.util.Map">
|
|
|
+ SELECT * FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ TO_CHAR((SELECT MAX(UPDATE_TIME)
|
|
|
+ FROM BMSSHIP_STATEMENT
|
|
|
+ where STATEMENT_STATUS=1 and BATCH_ID=DB.BATCH_ID),'YYYY') "balanceYear",
|
|
|
+ TO_CHAR((SELECT MAX(UPDATE_TIME)
|
|
|
+ FROM BMSSHIP_STATEMENT
|
|
|
+ where STATEMENT_STATUS=1 and BATCH_ID=DB.BATCH_ID),'MM') || '月' "balanceMonth",
|
|
|
+ (SELECT MAX(UPDATE_TIME)
|
|
|
+ FROM BMSSHIP_STATEMENT
|
|
|
+ where STATEMENT_STATUS=1 and BATCH_ID=DB.BATCH_ID) "balanceTime",
|
|
|
+ TO_CHAR(ADN.NOTICE_DELIVERY_TIME,'YYYY') "noticeYear",
|
|
|
+ TO_CHAR(ADN.NOTICE_DELIVERY_TIME,'MM-DD') "noticeTime",
|
|
|
+ RP.PORT_NAME "portName",
|
|
|
+ ADN.NOTICE_COMMERCE_METHOD "commerceMethod",
|
|
|
+ RM.MATERIAL_NAME "materialName",
|
|
|
+ DB.RESULT_FOREIGN_SHIP_NAME "foreignShipName",
|
|
|
+ QT."wagonNumber" "wagonNumber",--火车数量
|
|
|
+ QT."totalTrainTon" "totalTrainTon",--计费吨位
|
|
|
+ LT."loadTon" "loadWetTon",--装船湿吨
|
|
|
+ LT."loadWaterTon" "loadWaterTon",--装船水分
|
|
|
+ LT."loadTon"-LT."loadWaterTon" "loadDryTon",--装船干吨
|
|
|
+ ROUND(LT."loadWaterTon"/LT."loadTon",4) "loadWaterRate", --装船含水率
|
|
|
+ LT."loadTon"-BS."totalEnTon" "diff",--湿吨差值
|
|
|
+ BS."totalEnTon" "totalEnTonWet",--到厂湿吨
|
|
|
+ QT."totalDeduct",--到厂扣杂
|
|
|
+ QT."totalWaterTon",--到厂水分
|
|
|
+ BS."totalEnTon"-QT."totalDeduct"-QT."totalWaterTon" "totalEnTonDry",--到厂干吨
|
|
|
+ ROUND(QT."totalWaterTon"/BS."totalEnTon",4) "enWaterRate",--到厂含水率
|
|
|
+ ROUND(1-(BS."totalEnTon"/LT."loadTon"), 4) "lossWet",--湿吨途损
|
|
|
+ ROUND(1-((BS."totalEnTon"-QT."totalDeduct"-QT."totalWaterTon")/(LT."loadTon"-LT."loadWaterTon")), 4) "lossDry"--干吨途损
|
|
|
+ FROM AMSSHIP_DELIVERY_NOTICE ADN
|
|
|
+ LEFT JOIN AMSSHIP_DELIVERY_ATTORNEY ADA ON ADN.BATCH_ID=ADA.BATCH_ID
|
|
|
+ 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
|
|
|
+ LEFT JOIN RMS_MATERIAL RM ON RM.MATERIAL_ID=DB.MATERIAL_ID
|
|
|
+ LEFT JOIN RMS_PORT RP ON ADN.PORT_ID=RP.PORT_ID
|
|
|
+ LEFT JOIN (--查询结算明细
|
|
|
+ SELECT
|
|
|
+ BATCH_ID "batchId",
|
|
|
+ SUM(TOTAL_BALANCE_TON) "totalEnTon" --结算总吨位(到场湿吨)
|
|
|
+ FROM BMSSHIP_STATEMENT
|
|
|
+ WHERE STATEMENT_STATUS=1
|
|
|
+ GROUP BY BATCH_ID
|
|
|
+ ) BS ON BS."batchId"=DB.BATCH_ID
|
|
|
+ LEFT JOIN (--查询装船总吨位,装船水分总吨位
|
|
|
+ SELECT dbi.BATCH_ID "batchId",
|
|
|
+ SUM(tlsr.RESULT_ACTUAL_INSTALLATIONS) "loadTon",
|
|
|
+ SUM(TWQR.RESULT_WATER_TONNAGE) "loadWaterTon"
|
|
|
+ FROM TMSSHIP_LOAD_SHIP_RESULT tlsr
|
|
|
+ LEFT JOIN TMSSHIP_TOTAL_RESULT ttr
|
|
|
+ ON ttr.RESULT_ID = tlsr.TOTAL_RESULT_ID
|
|
|
+ LEFT JOIN TMSSHIP_WATER_QUALITY_RESULT TWQR
|
|
|
+ ON TWQR.TOTAL_RESULT_ID=TTR.RESULT_ID
|
|
|
+ LEFT JOIN DIL_BATCH_INFACOTRY dbi
|
|
|
+ ON dbi.BATCH_INFACOTRY_ID = tlsr.BATCH_ID
|
|
|
+ LEFT JOIN AMSSHIP_DELIVERY_NOTICE ADN
|
|
|
+ ON ADN.BATCH_ID=tlsr.BATCH_ID
|
|
|
+ where TLSR.DELETED=0 AND ADN.DELETED=0
|
|
|
+ GROUP BY dbi.BATCH_ID
|
|
|
+ ) LT ON db.BATCH_ID = LT."batchId"
|
|
|
+ LEFT JOIN (--质检总实绩
|
|
|
+ SELECT TRAINQ."batchId" "batchId",
|
|
|
+ TRAINQ."wagonNumber" "wagonNumber",
|
|
|
+ TRAINQ."totalTrainTon" "totalTrainTon",
|
|
|
+ case
|
|
|
+ when TRAINQ."totalDeduct" is not null and TRUCKQ."totalDeduct" is not null
|
|
|
+ then TRAINQ."totalDeduct"+TRUCKQ."totalDeduct"
|
|
|
+ when TRAINQ."totalDeduct" is null and TRUCKQ."totalDeduct" is not null
|
|
|
+ then TRUCKQ."totalDeduct"
|
|
|
+ when TRAINQ."totalDeduct" is not null and TRUCKQ."totalDeduct" is null
|
|
|
+ then TRAINQ."totalDeduct"
|
|
|
+ when TRAINQ."totalDeduct" is null and TRUCKQ."totalDeduct" is null
|
|
|
+ then 0
|
|
|
+ end "totalDeduct",
|
|
|
+ case
|
|
|
+ when TRAINQ."totalWaterTon" is not null and TRUCKQ."totalWaterTon" is not null
|
|
|
+ then TRAINQ."totalWaterTon"+TRUCKQ."totalWaterTon"
|
|
|
+ when TRAINQ."totalWaterTon" is null and TRUCKQ."totalWaterTon" is not null
|
|
|
+ then TRUCKQ."totalWaterTon"
|
|
|
+ when TRAINQ."totalWaterTon" is not null and TRUCKQ."totalWaterTon" is null
|
|
|
+ then TRAINQ."totalWaterTon"
|
|
|
+ when TRAINQ."totalWaterTon" is null and TRUCKQ."totalWaterTon" is null
|
|
|
+ then 0
|
|
|
+ end "totalWaterTon"
|
|
|
+ FROM
|
|
|
+ (--火运质检
|
|
|
+ SELECT DB.BATCH_ID "batchId",--批次id
|
|
|
+ COUNT(TLT.RESULT_ID) "wagonNumber",--总计车数
|
|
|
+ SUM(TLT.RESULT_BILLABLE_TONNAGE) "totalTrainTon",--计费吨位
|
|
|
+ SUM(TQR.DEDUCT_NUMBER) "totalDeduct",--扣杂
|
|
|
+ SUM(TQR.ELEMENT_VALUE) "totalWaterTon"--水分吨位
|
|
|
+ from TMSTRAIN_LOADING_RESULT TLR
|
|
|
+ LEFT JOIN TMSTRAIN_TOTAL_RESULT TTR ON TTR.LOADING_ID=TLR.RESULT_ID
|
|
|
+ LEFT JOIN TMSTRAIN_QUALITY_RESULT TQR ON TTR.TOTAL_RESULT_ID=TQR.RESULT_TOTAL_ID
|
|
|
+ LEFT JOIN DIL_BATCH DB ON DB.BATCH_ID=TLR.BATCH_ID
|
|
|
+ LEFT JOIN TMSTRAIN_LOADING_TEMP TLT ON TLT.RESULT_ID=TLR.TEMP_RESULT_ID
|
|
|
+ GROUP BY DB.BATCH_ID
|
|
|
+ )TRAINQ
|
|
|
+ LEFT JOIN
|
|
|
+ (--汽运质检
|
|
|
+ SELECT DB.BATCH_ID "batchId",
|
|
|
+ SUM(TQR.RESULT_DEDUCTION) "totalDeduct",--扣杂
|
|
|
+ SUM(TQR.ELEMENT_VALUE) "totalWaterTon"--水分吨位
|
|
|
+ from TMSTRUCK_QUALITY_RESULT TQR --汽运质检
|
|
|
+ LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR --汽运总实绩
|
|
|
+ ON TQR.TOTAL_RESULT_ID=TTR.RESULT_TOTAL_ID
|
|
|
+ LEFT JOIN OMSTRUCK_ORDER OO --运输订单
|
|
|
+ ON OO.ORDER_ID=TTR.ORDER_ID
|
|
|
+ LEFT JOIN AMSTRUCK_INWARD_PLAN AIP
|
|
|
+ ON AIP.PLAN_ID = OO.ORDER_PLAN_ID
|
|
|
+ LEFT JOIN AMSTRUCK_REQUIREMENT_PLAN ARP
|
|
|
+ ON ARP.PLAN_ID = AIP.PLAN_ID
|
|
|
+ LEFT JOIN AMSTRUCK_INWARD_REQUIREMENT AIR
|
|
|
+ ON AIR.REQUIREMENT_ID = ARP.REQUIREMENT_ID
|
|
|
+ LEFT JOIN AMS_PURCHASE_ORDER APO
|
|
|
+ ON APO.PURCHASE_ORDER_ID = AIR.PURCHASE_ORDER_ID
|
|
|
+ LEFT JOIN DIL_BATCH DB
|
|
|
+ ON APO.BATCH_ID=DB.BATCH_ID
|
|
|
+ WHERE DB.RESULT_FOREIGN_SHIP_NAME IS NOT NULL
|
|
|
+ AND DB.BATCH_ID IS NOT NULL
|
|
|
+ GROUP BY DB.BATCH_ID
|
|
|
+ ) TRUCKQ ON TRUCKQ."batchId"=TRAINQ."batchId"
|
|
|
+ ) QT ON QT."batchId"=DB.BATCH_ID
|
|
|
+ WHERE ADN.DELETED=0
|
|
|
+-- AND DB.BATCH_ID IN (
|
|
|
+-- SELECT BATCH_ID
|
|
|
+-- FROM BMSSHIP_STATEMENT
|
|
|
+-- WHERE STATEMENT_STATUS=1)
|
|
|
+ )
|
|
|
+ <where>
|
|
|
+ <if test="con != null and con != ''.toString()">
|
|
|
+ "materialName" like CONCAT('%',CONCAT(#{con},'%'))
|
|
|
+ </if>
|
|
|
+ <if test="startDate == null">
|
|
|
+ and "balanceYear" = TO_CHAR( SYSDATE, 'YYYY')
|
|
|
+ --or "noticeYear" = TO_CHAR( SYSDATE, 'YYYY')
|
|
|
+ </if>
|
|
|
+ <if test="startDate != null">
|
|
|
+ and to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') <= "balanceTime"
|
|
|
+ and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= "balanceTime"
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+ order by "balanceTime"
|
|
|
+ </select>
|
|
|
|
|
|
</mapper>
|