ソースを参照

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

luobang 2 年 前
コミット
02aad880ad

+ 6 - 0
src/main/java/com/steerinfo/dil/controller/StatisticalReportController.java

@@ -1306,4 +1306,10 @@ public class StatisticalReportController extends BaseRESTfulController {
     public RESTfulResult testTb() {
         return success(statisticalReportService.testTb());
     }
+
+    @ApiOperation("欠运力统计表")
+    @PostMapping("yawnReport")
+    public RESTfulResult yawnReport(@RequestBody(required = false) Map<String,Object> map) {
+        return success(statisticalReportService.yawnReport(map));
+    }
 }

+ 1 - 0
src/main/java/com/steerinfo/dil/mapper/StatisticalReportMapper.java

@@ -123,4 +123,5 @@ public interface StatisticalReportMapper {
 
     List<Map<String, Object>> saleSteelReportContinue(Map<String, Object> map);
 
+    List<Map<String, Object>> yawnReport(Map<String, Object> map);
 }

+ 9 - 0
src/main/java/com/steerinfo/dil/service/impl/StatisticalReportImpl.java

@@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.RequestBody;
 
 import javax.xml.crypto.Data;
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 /**
@@ -607,4 +608,12 @@ public class StatisticalReportImpl implements IStatisticalReportService {
         }
         return 0;
     }
+
+    public List<Map<String, Object>> yawnReport(Map<String, Object> map){
+        Date startTime=new Date((long)map.get("startTime"));
+        Date endTime=new Date((long)map.get("endTime"));
+        map.put("startTime",startTime);
+        map.put("endTime",endTime);
+        return statisticalReportMapper.yawnReport(map);
+    }
 }

+ 282 - 0
src/main/resources/com/steerinfo/dil/mapper/StatisticalReportMapper.xml

@@ -3964,4 +3964,286 @@
         TTR.ORDER_STATUS
         ORDER BY RRA.ADDRESS_PROVINCE,R_CARRIER.CARRIER_ABBREVIATION
     </select>
+    <select id="yawnReport" resultType="java.util.Map">
+        SELECT
+        "target",
+        "carrierName",
+        "planNum",
+        "quxiaoNum",
+        "orderNum",
+        "notSendNum",
+        NVL("notEnNum",0) "notEnNum",
+        NVL("EnNum",0) "EnNum",
+        (CASE NVL("orderNum",0)
+             WHEN 0 THEN
+                 'NAL'
+             ELSE
+                 CONCAT(ROUND("orderNum"*100/"planNum", 4),'%')
+        END) AS "percent",
+        NVL("numGong",0) "numGong",
+        NVL("numCang",0) "numCang",
+        NVL("totalNet",0) "totalNet",
+        decode("target",'钢材达州组',1,'钢材万州组',2,'钢材南充组',3,'钢材西安组',4,'钢材重庆组',5,'钢材成都组',6,'钢材工程组',7,
+        '钢材广安组',8,'钢材巴中组',9,10) "no"
+        FROM
+        (
+        --查询非自提
+        SELECT T1."target",T1."carrierName",
+        T1."planNum",T1."orderNum",T1."quxiaoNum",
+        T1."planNum"-"orderNum" "notSendNum",
+        T1."notEnNum",T1."EnNum",
+        T2 ."num" "numGong" ,T3 ."num" "numCang",
+        T1."totalNet"
+        FROM
+        (
+        SELECT
+        ASM .TRANSFER_OUT_OF_WAREHOUSE "target",--方向
+        RC.CARRIER_ABBREVIATION "carrierName",--承运商
+        COUNT(DISTINCT ASOM.SALE_ORDER_MATERIAL_ID) "planNum",--计划总数
+        COUNT(DISTINCT OO .ORDER_ID) "orderNum",--运单总数
+        COUNT(DISTINCT OO_QUXIAO .ORDER_ID) "quxiaoNum",--取消运单数
+        COUNT(DISTINCT OO_NOT_EN .ORDER_ID) "notEnNum",--未进场数量
+        COUNT(DISTINCT OO_EN .ORDER_ID) "EnNum",--进场待装数量
+        SUM(TWR.RESULT_NET_WEIGHT) "totalNet"--总净重
+        FROM AMS_SALE_ORDER ASO
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+        ON ASOM.SALE_ORDER_ID = ASO.SALE_ORDER_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_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 OMSTRUCK_ORDER OO
+        ON OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID
+        LEFT JOIN OMSTRUCK_ORDER OO_QUXIAO
+        ON OO_QUXIAO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID AND OO_QUXIAO.CAPACITY_ID=35128
+        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 .SALE_MATERIAL_ID=ASM .SALE_MATERIAL_ID
+        LEFT JOIN
+        (
+        --未进场
+        SELECT OO.ORDER_ID
+        FROM OMSTRUCK_ORDER OO
+        LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR ON TTR .ORDER_ID = OO .ORDER_ID
+        LEFT JOIN QMS_QUEUE_RESULT QQR ON QQR .RESULT_TOTAL_ID = TTR .RESULT_TOTAL_ID
+        WHERE QQR .RESULT_ID IS NULL AND OO.CAPACITY_ID!=35128 AND OO . ORDER_TYPE= 1
+        ) OO_NOT_EN ON OO_NOT_EN .ORDER_ID = OO .ORDER_ID
+        LEFT JOIN
+        (
+        --进厂待装
+        SELECT OO.ORDER_ID
+        FROM OMSTRUCK_ORDER OO
+        LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR ON TTR .ORDER_ID = OO .ORDER_ID
+        LEFT JOIN TMSTRUCK_ENFACTORY_RESULT TER ON TER .RESULT_TOTAL_ID = TTR .RESULT_TOTAL_ID
+        LEFT JOIN TMSTRUCK_LEAVE_FACTORY_RESULT TLFR ON TLFR .RESULT_TOTAL_ID = TTR .RESULT_TOTAL_ID
+        WHERE TLFR .RESULT_ID IS NULL AND TER .RESULT_ID IS NOT NULL AND OO.CAPACITY_ID!=35128 AND OO . ORDER_TYPE= 1
+        ) OO_EN ON OO_EN .ORDER_ID = OO .ORDER_ID
+        WHERE
+        ASO .DELETED=0
+        AND OO.ORDER_TYPE = 1
+        AND ASO.SALE_ORDER_ISSELF_MENTION='否'
+        and #{startTime} &lt;=  to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss')
+        and #{endTime} >=  to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss')
+        GROUP BY ASM .TRANSFER_OUT_OF_WAREHOUSE,RC.CARRIER_ABBREVIATION
+        ) T1
+        LEFT JOIN
+        (
+        --查询工地数量
+        SELECT
+        ASM .TRANSFER_OUT_OF_WAREHOUSE "target",--方向
+        RC.CARRIER_ABBREVIATION "carrierName",--承运商
+        COUNT(DISTINCT OO .ORDER_ID) "num"
+        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 RMS_RECEIVE_PLACE RRP
+        ON RRP.PLACE_ID=ASOM.SALE_SHIPPING_ADDRESS_ID
+        LEFT JOIN OMSTRUCK_ORDER OO
+        ON OO.ORDER_PLAN_ID=ASOM.SALE_ORDER_MATERIAL_ID
+        WHERE
+        ASO .DELETED=0
+        AND OO.ORDER_TYPE = 1
+        AND ASO.SALE_ORDER_ISSELF_MENTION='否'
+        AND RRP.UNLOAD_TYPE = '工地'
+        AND #{startTime} &lt;=  to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss')
+        AND #{endTime} >=  to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss')
+        GROUP BY ASM.TRANSFER_OUT_OF_WAREHOUSE,RC.CARRIER_ABBREVIATION
+        ) T2 ON T1 ."target" = T2."target" AND T1."carrierName" = 	T2."carrierName"
+        LEFT JOIN
+        (
+        --查询仓库数量
+        SELECT
+        ASM .TRANSFER_OUT_OF_WAREHOUSE "target",--方向
+        RC.CARRIER_ABBREVIATION "carrierName",--承运商
+        COUNT(DISTINCT OO .ORDER_ID) "num"
+        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 RMS_RECEIVE_PLACE RRP
+        ON RRP.PLACE_ID=ASOM.SALE_SHIPPING_ADDRESS_ID
+        LEFT JOIN OMSTRUCK_ORDER OO
+        ON OO.ORDER_PLAN_ID=ASOM.SALE_ORDER_MATERIAL_ID
+        WHERE
+        ASO .DELETED=0
+        AND OO.ORDER_TYPE = 1
+        AND ASO.SALE_ORDER_ISSELF_MENTION='否'
+        AND RRP.UNLOAD_TYPE = '库房'
+        AND #{startTime} &lt;=  to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss')
+        AND #{endTime} >=  to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss')
+        GROUP BY ASM.TRANSFER_OUT_OF_WAREHOUSE,RC.CARRIER_ABBREVIATION
+        ) T3 ON T1 ."target" = T3."target" AND T1."carrierName" = 	T3."carrierName"
+
+
+        UNION
+
+        SELECT T1."target",T1."carrierName",
+        T1."planNum",T1."orderNum",T1."quxiaoNum",
+        T1."planNum"-"orderNum" "notSendNum",
+        NVL("notEnNum",0) "notEnNum",
+        NVL("EnNum",0) "EnNum",
+        T2 ."num" "numGong" ,
+        T3 ."num" "numCang",
+        T1."totalNet"
+        FROM
+        (
+        --查询自提
+        SELECT
+        ASM .TRANSFER_OUT_OF_WAREHOUSE "target",--方向
+        '本地自提' "carrierName",--承运商
+        COUNT(DISTINCT ASOM.SALE_ORDER_MATERIAL_ID) "planNum",--计划总数
+        COUNT(DISTINCT OO .ORDER_ID) "orderNum",--运单总数
+        COUNT(DISTINCT OO_QUXIAO .ORDER_ID) "quxiaoNum",--取消运单数
+        COUNT(DISTINCT OO_NOT_EN .ORDER_ID) "notEnNum",--未进场数量
+        COUNT(DISTINCT OO_EN .ORDER_ID) "EnNum",--进场待装数量
+        SUM(TWR.RESULT_NET_WEIGHT) "totalNet"--总净重
+        FROM AMS_SALE_ORDER ASO
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+        ON ASOM.SALE_ORDER_ID = ASO.SALE_ORDER_ID
+        LEFT JOIN AMS_DISPATCH_SALE_ORDER ADSO
+        ON ADSO .SALE_ORDER_MATERIAL_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 OMSTRUCK_ORDER OO
+        ON OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID
+        LEFT JOIN OMSTRUCK_ORDER OO_QUXIAO
+        ON OO_QUXIAO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID AND OO_QUXIAO.CAPACITY_ID=35128
+        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 .SALE_MATERIAL_ID=ASM .SALE_MATERIAL_ID
+        LEFT JOIN
+        (
+        --未进场
+        SELECT OO.ORDER_ID
+        FROM OMSTRUCK_ORDER OO
+        LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR ON TTR .ORDER_ID = OO .ORDER_ID
+        LEFT JOIN QMS_QUEUE_RESULT QQR ON QQR .RESULT_TOTAL_ID = TTR .RESULT_TOTAL_ID
+        WHERE QQR .RESULT_ID IS NULL AND OO.CAPACITY_ID!=35128 AND OO . ORDER_TYPE= 1
+        ) OO_NOT_EN ON OO_NOT_EN .ORDER_ID = OO .ORDER_ID
+        LEFT JOIN
+        (
+        --进厂待装
+        SELECT OO.ORDER_ID
+        FROM OMSTRUCK_ORDER OO
+        LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR ON TTR .ORDER_ID = OO .ORDER_ID
+        LEFT JOIN TMSTRUCK_ENFACTORY_RESULT TER ON TER .RESULT_TOTAL_ID = TTR .RESULT_TOTAL_ID
+        LEFT JOIN TMSTRUCK_LEAVE_FACTORY_RESULT TLFR ON TLFR .RESULT_TOTAL_ID = TTR .RESULT_TOTAL_ID
+        WHERE TLFR .RESULT_ID IS NULL AND TER .RESULT_ID IS NOT NULL AND OO.CAPACITY_ID!=35128 AND OO . ORDER_TYPE= 1
+        ) OO_EN ON OO_EN .ORDER_ID = OO .ORDER_ID
+        WHERE
+        ASO .DELETED=0
+        AND OO.ORDER_TYPE = 1
+        AND ASO.SALE_ORDER_ISSELF_MENTION='是'
+        and #{startTime} &lt;=  to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss')
+        and #{endTime} >=  to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss')
+        GROUP BY ASM .TRANSFER_OUT_OF_WAREHOUSE
+        ) T1
+        LEFT JOIN
+        (
+        --查询工地数量
+        SELECT
+        ASM .TRANSFER_OUT_OF_WAREHOUSE "target",--方向
+        '本地自提' "carrierName",--承运商
+        COUNT(DISTINCT OO .ORDER_ID) "num"
+        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 RMS_RECEIVE_PLACE RRP
+        ON RRP.PLACE_ID=ASOM.SALE_SHIPPING_ADDRESS_ID
+        LEFT JOIN OMSTRUCK_ORDER OO
+        ON OO.ORDER_PLAN_ID=ASOM.SALE_ORDER_MATERIAL_ID
+        WHERE
+        ASO .DELETED=0
+        AND OO.ORDER_TYPE = 1
+        AND ASO.SALE_ORDER_ISSELF_MENTION='是'
+        AND RRP.UNLOAD_TYPE = '工地'
+        AND #{startTime} &lt;=  to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss')
+        AND #{endTime} >=  to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss')
+        GROUP BY ASM.TRANSFER_OUT_OF_WAREHOUSE
+        ) T2 ON T1 ."target" = T2."target" AND T1."carrierName" = 	T2."carrierName"
+        LEFT JOIN
+        (
+        --查询仓库数量
+        SELECT
+        ASM .TRANSFER_OUT_OF_WAREHOUSE "target",--方向
+        '本地自提' "carrierName",--承运商
+        COUNT(DISTINCT OO .ORDER_ID) "num"
+        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 RMS_RECEIVE_PLACE RRP
+        ON RRP.PLACE_ID=ASOM.SALE_SHIPPING_ADDRESS_ID
+        LEFT JOIN OMSTRUCK_ORDER OO
+        ON OO.ORDER_PLAN_ID=ASOM.SALE_ORDER_MATERIAL_ID
+        WHERE
+        ASO .DELETED=0
+        AND OO.ORDER_TYPE = 1
+        AND ASO.SALE_ORDER_ISSELF_MENTION='是'
+        AND RRP.UNLOAD_TYPE = '库房'
+        AND #{startTime} &lt;=  to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss')
+        AND #{endTime} >=  to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss')
+        GROUP BY ASM.TRANSFER_OUT_OF_WAREHOUSE
+        ) T3 ON T1 ."target" = T3."target" AND T1."carrierName" = 	T3."carrierName"
+        )
+        ORDER BY "no","carrierName"
+    </select>
 </mapper>