liyg 2 years ago
parent
commit
2025114e61
1 changed files with 38 additions and 18 deletions
  1. 38 18
      src/main/resources/com/steerinfo/dil/mapper/ShipDynamicsMapper.xml

+ 38 - 18
src/main/resources/com/steerinfo/dil/mapper/ShipDynamicsMapper.xml

@@ -149,39 +149,59 @@
     </select>
     </select>
 
 
     <select id="getDownShipDynamaics" resultType="java.util.Map">
     <select id="getDownShipDynamaics" resultType="java.util.Map">
+        --下游港口船舶动态表
         select
         select
+        DISTINCT
         OSI.SHIPMENT_INSTRUCTIONS_ID "instructionsId",
         OSI.SHIPMENT_INSTRUCTIONS_ID "instructionsId",
         OIC.INSTRUCTIONS_CAPACITY_ID "instructionsCapacityId",
         OIC.INSTRUCTIONS_CAPACITY_ID "instructionsCapacityId",
         RP.PORT_NAME "portName",
         RP.PORT_NAME "portName",
-        RM.MATERIAL_NAME || '(' || DB.RESULT_FOREIGN_SHIP_NAME || ')' || ADN.RESULT_NUMBER_OF_LOANS || '吨,' || TO_CHAR(ADN.NOTICE_DELIVERY_TIME,'YYYY-MM-DD') ||'放货' "productName",
+        RM.MATERIAL_NAME || '(' || DB.RESULT_FOREIGN_SHIP_NAME || ')' || ADN.RESULT_NUMBER_OF_LOANS || '吨,' || TO_CHAR(ADN.NOTICE_DELIVERY_TIME,'YYYY-MM-DD') ||'放货'
+        ||
+        (case
+        when OSI.HANDOVER_MODE IS NULL
+        then ''
+        else '(二程:' || OSI.HANDOVER_MODE || ')'
+        end) "productName",
         WGM.GM_TONNAGE "gmTonnage",
         WGM.GM_TONNAGE "gmTonnage",
-        RC.CAPACITY_NUMBER "capacityNumber",
+        (case
+        when TWQR.IS_NEED_ASSEMBLE = '是'
+        then RC.CAPACITY_NUMBER ||'(拼装)'
+        else RC.CAPACITY_NUMBER
+        end)
+        "capacityNumber",
         oic.INSTRUCTION_PLANNED_LOADING "instructPlannedLoading",
         oic.INSTRUCTION_PLANNED_LOADING "instructPlannedLoading",
         oic.SHIP_DYNAMIC "shipDynamic",
         oic.SHIP_DYNAMIC "shipDynamic",
         oic.LOAD_DETAILS "loadDetails",
         oic.LOAD_DETAILS "loadDetails",
         ADN.NOTICE_DELIVERY_TIME "noticeDeliveryTime"
         ADN.NOTICE_DELIVERY_TIME "noticeDeliveryTime"
         from AMSSHIP_DELIVERY_NOTICE ADN
         from AMSSHIP_DELIVERY_NOTICE ADN
-             LEFT JOIN RMS_PORT RP
-                       ON RP.PORT_ID = ADN.PORT_ID
-             LEFT JOIN OMSSHIP_SHIPMENT_INSTRUCTIONS OSI
-                       ON OSI.BATCH_ID = ADN.BATCH_ID
-             LEFT JOIN OMSSHIP_INSTRUCTIONS_CAPACITY OIC
-                       ON OIC.INSTRUCTIONS_ID = OSI.SHIPMENT_INSTRUCTIONS_ID
-             LEFT JOIN RMS_CAPACITY RC
-                       ON RC.CAPACITY_ID =OIC.CAPACITY_ID
-             LEFT JOIN DIL_BATCH_INFACOTRY DBI
-                       ON DBI.BATCH_INFACOTRY_ID = ADN.BATCH_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 WMSH_GRID_MATERIAL WGM
-                       ON WGM.BATCH_ID = DB.BATCH_ID
+        LEFT JOIN RMS_PORT RP
+        ON RP.PORT_ID = ADN.PORT_ID
+        LEFT JOIN OMSSHIP_SHIPMENT_INSTRUCTIONS OSI
+        ON OSI.BATCH_ID = ADN.BATCH_ID
+        LEFT JOIN OMSSHIP_INSTRUCTIONS_CAPACITY OIC
+        ON OIC.INSTRUCTIONS_ID = OSI.SHIPMENT_INSTRUCTIONS_ID
+        LEFT JOIN RMS_CAPACITY RC
+        ON RC.CAPACITY_ID =OIC.CAPACITY_ID
+        LEFT JOIN DIL_BATCH_INFACOTRY DBI
+        ON DBI.BATCH_INFACOTRY_ID = ADN.BATCH_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 WMSH_GRID_MATERIAL WGM
+        ON WGM.BATCH_ID = DB.BATCH_ID
+        LEFT JOIN TMSSHIP_TOTAL_RESULT TTR
+        ON OIC.INSTRUCTIONS_CAPACITY_ID=TTR.ORDER_ID
+        LEFT JOIN TMSSHIP_WATER_QUALITY_RESULT TWQR
+        ON TWQR.TOTAL_RESULT_ID=TTR.RESULT_ID
         <where>
         <where>
             ADN.DELETED=0
             ADN.DELETED=0
             <if test="input !=null and input.toString()!=''">
             <if test="input !=null and input.toString()!=''">
                 and  RC.CAPACITY_NUMBER || RP.PORT_NAME || DB.RESULT_FOREIGN_SHIP_NAME || rm.MATERIAL_NAME like concat('%',concat(#{input},'%'))
                 and  RC.CAPACITY_NUMBER || RP.PORT_NAME || DB.RESULT_FOREIGN_SHIP_NAME || rm.MATERIAL_NAME like concat('%',concat(#{input},'%'))
             </if>
             </if>
+            <if test="oneDate != null">
+                and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;=  ADN.NOTICE_DELIVERY_TIME
+            </if>
             <if test="startDate != null">
             <if test="startDate != null">
                 and to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;=  ADN.NOTICE_DELIVERY_TIME
                 and to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;=  ADN.NOTICE_DELIVERY_TIME
                 and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= ADN.NOTICE_DELIVERY_TIME
                 and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= ADN.NOTICE_DELIVERY_TIME