luobang 2 years ago
parent
commit
b10fb65684

+ 19 - 3
src/main/java/com/steerinfo/dil/controller/BmstruckDetailsOrderController.java

@@ -133,7 +133,11 @@ public class BmstruckDetailsOrderController extends BaseRESTfulController {
                                                      Integer orderType,
                                                      String userId,
                                                      String startTime,
-                                                     String endTime){
+                                                     String endTime,
+                                                     String capacityNo,
+                                                     String shipperNames,
+                                                     String transRangeValues,
+                                                     String materialTypeNames){
         if (carrierSsoId != null && carrierSsoId.equals("undefined")) {
             carrierSsoId = null;
         }
@@ -141,15 +145,27 @@ public class BmstruckDetailsOrderController extends BaseRESTfulController {
             BigDecimal carrierId = bmstruckDetailsOrderService.getCarrierIdBySSO(carrierSsoId);
             mapValue.put("carrierId",carrierId);
         }
-        if(userId != null){
+        if(userId != null && !"null".equals(userId)){
             mapValue.put("userId","%"+ userId +"%");
         }
+        if(capacityNo != null && !"null".equals(capacityNo)){
+            mapValue.put("capacityNo","%"+ capacityNo +"%");
+        }
+        if(shipperNames != null && !"null".equals(shipperNames)){
+            mapValue.put("shipperNames","%"+ shipperNames +"%");
+        }
+        if(transRangeValues != null && !"null".equals(transRangeValues)){
+            mapValue.put("transRangeValues","%"+ transRangeValues +"%");
+        }
+        if(materialTypeNames != null && !"null".equals(materialTypeNames)){
+            mapValue.put("materialTypeNames","%"+ materialTypeNames +"%");
+        }
         DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
         mapValue.put("detailStatus",detailStatus);
         PageHelper.startPage(pageNum, pageSize);
         //分页查询数据
         List<Map<String, Object>> columnList = bmstruckDetailsOrderService.getInwardWeightDetailsOrder(mapValue,orderType);
-        PageListAdd data = columnDataUtil.tableColumnData(apiId, null, columnList);
+        PageListAdd data = columnDataUtil.tableColumnData5(apiId, null, columnList);
         return success(data);
     }
 

+ 5 - 0
src/main/java/com/steerinfo/dil/mapper/BmstruckDetailsOrderMapper.java

@@ -146,4 +146,9 @@ public interface BmstruckDetailsOrderMapper extends IBaseMapper<BmstruckDetailsO
 
     List<Map<String, Object>> getNoInwardDetails(Map<String, Object> mapValue);
 
+    Map<String, Object> getPriceInfoPur(BigDecimal orderId);
+
+    Map<String, Object> getPurInwardPrice(Map<String, Object> priceInfoPur);
+
+    List<Map<String, Object>> getAllInwardWeight(Map<String, Object> mapValue);
 }

+ 43 - 24
src/main/java/com/steerinfo/dil/service/impl/BmstruckDetailsOrderServiceImpl.java

@@ -45,7 +45,12 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
     OmstruckOrderMapper omstruckOrderMapper;
 
 
-    final private List<Integer>  inwardTypeList = Arrays.asList(10,11,15,16,23,24);
+    //以下订单类型是需要算计量实绩的
+    final private List<Integer>  inwardTypeList = Arrays.asList(10,11,15,16,23,24,20);
+    //以下订单类型是需要根据线路去匹配承运起止范围以及物资
+    final private List<Integer>  toLineAndMaterial = Arrays.asList(10,20,23,24);
+    //以下订单类型是需要去根据固定承运起止范围以及物资
+    final private List<Integer>  fixLineList = Arrays.asList(15,16);
 
     /**
      * 展示汽运详单列表
@@ -529,13 +534,13 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
     public List<Map<String, Object>> getInwardWeightDetailsOrder(Map<String, Object> mapValue, Integer orderType) {
         List<Map<String,Object>>mapList = new ArrayList<>();
         switch (orderType){
-            case 11:
-                return bmstruckDetailsOrderMapper.getInwardWeightDetailsOrder(mapValue);
             case 10:
                 List<Map<String, Object>> inwardReportResult =  bmstruckDetailsOrderMapper.getPurInwarWeightDetailsOrder(mapValue);
                 return inwardReportResult;
             case 21:
                 return bmstruckDetailsOrderMapper.getInwardTimeDetailsOrder(mapValue);
+            case 11:
+                return bmstruckDetailsOrderMapper.getAllInwardWeight(mapValue);
             default:
                 break;
         }
@@ -544,23 +549,35 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
 
     @Override
     public int inserInwardOrder(Map<String, Object> mapVal) {
+        //获取运输订单ID
         BigDecimal orderId= DataChange.dataToBigDecimal(mapVal.get("orderId"));
         //根据运输订单去查找订单类型
         BigDecimal orderType = bmstruckDetailsOrderMapper.getOrderType(orderId);
         List<Map<String,Object>> priceAmountList = new ArrayList<>();
         if(inwardTypeList.contains(orderType.intValue())){
-            //获取该订单的计量实绩ID以及净重
-                priceAmountList = bmstruckDetailsOrderMapper.getWeightTaskResultId(orderId);
+            //获取该订单的计量实绩ID以及净重,只会返回一条数据
+            priceAmountList = bmstruckDetailsOrderMapper.getWeightTaskResultId(orderId);
         }
-        if(orderType.intValue() == 10){
-            //精煤化工园区铁专线-焦化二厂线路固定
-            Map<String,Object>map = bmstruckDetailsOrderMapper.getPriceByPur(3);
-            mapVal.putAll(map);
+        if(toLineAndMaterial.contains(orderType.intValue())){
+            //如果在以上订单类型里面则需要根据运输订单ID去找线路和物资
+            Map<String,Object> priceInfoPur = bmstruckDetailsOrderMapper.getPriceInfoPur(orderId);
+            //根据物资品类ID和承运起止范围去匹配单价
+            Map<String,Object> map = bmstruckDetailsOrderMapper.getPurInwardPrice(priceInfoPur);
+            if(map != null){
+                mapVal.putAll(map);
+            }
         }
-        if(orderType.intValue() == 20){
-            //化工园区铁专线-月亮湾线路固定
-            Map<String,Object>map = bmstruckDetailsOrderMapper.getPriceByPur(2);
-            mapVal.putAll(map);
+        if(fixLineList.contains(orderType.intValue())){
+            //拼装车皮进厂以及一焦化采购焦炭进厂
+            Map<String,Object> priceInfoPur = bmstruckDetailsOrderMapper.getPriceInfoPur(orderId);
+            if(priceInfoPur.get("transRangeId") == null && priceInfoPur.get("materialTypeId") != null){
+                priceInfoPur.put("transRangeId",1);
+            }
+            //根据物资品类ID和承运起止范围去匹配单价
+            Map<String,Object> map = bmstruckDetailsOrderMapper.getPurInwardPrice(priceInfoPur);
+            if(map != null){
+                mapVal.putAll(map);
+            }
         }
         if(orderType.intValue() == 21){
             //计时
@@ -570,6 +587,10 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
         BigDecimal priceId = DataChange.dataToBigDecimal(mapVal.get("priceId")) ;
         //获取单价值
         BigDecimal priceValue = DataChange.dataToBigDecimal(mapVal.get("priceValue"));
+        if(priceId == null){
+            System.out.println(orderId + "没有单价");
+            return 1;
+        }
         int result = 0;
         for (Map<String, Object> map : priceAmountList) {
             BmstruckDetailsOrder bmstruckDetailsOrder = new BmstruckDetailsOrder();
@@ -577,16 +598,22 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
                 BigDecimal weightTaskResultId = DataChange.dataToBigDecimal(map.get("weightTaskResultId"));
                 BigDecimal netWeight = null;
                 if(mapVal.get("netWeight") != null) {
+                     //因为事务的关系,部分订单结束时可能没有净重,故需要添加净重
                      netWeight = DataChange.dataToBigDecimal(mapVal.get("netWeight"));
                 }
                 else{
                      netWeight = DataChange.dataToBigDecimal(map.get("netWeight"));
                 }
+                //计算详单金额
                 BigDecimal detailsAmount = new BigDecimal(priceValue.doubleValue()*netWeight.doubleValue());
+                //保留两位小数
                 DecimalFormat df = new DecimalFormat("0.00");
                 String format = df.format(detailsAmount);
+                //关联计量实绩
                 bmstruckDetailsOrder.setWeightTaskResultId(weightTaskResultId);
-                bmstruckDetailsOrder.setDetailsAmount(new BigDecimal(format));
+                if(priceId != null && priceValue !=null && detailsAmount.intValue() > 0){
+                    bmstruckDetailsOrder.setDetailsAmount(new BigDecimal(format));
+                }
             }
             //内转计时结算
             if(orderType.intValue() == 21){
@@ -597,13 +624,14 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
                 if(settleTime.doubleValue()<1.00){
                     BigDecimal detailsAmount = new BigDecimal(priceValue.doubleValue());
                     bmstruckDetailsOrder.setDetailsAmount(new BigDecimal(df.format(detailsAmount)));
+
                 }else{
                     BigDecimal detailsAmount = new BigDecimal(priceValue.doubleValue()*settleTime.doubleValue());
                     bmstruckDetailsOrder.setDetailsAmount(new BigDecimal(df.format(detailsAmount)));
                 }
-                bmstruckDetailsOrder.setOrderId(orderId);
             }
             bmstruckDetailsOrder.setPriceId(priceId);
+            bmstruckDetailsOrder.setInsertUpdateRemark("单价存在");
             // 得到最大id
             BigDecimal detailsId = selectMaxId();
             bmstruckDetailsOrder.setOrderId(orderId);
@@ -613,23 +641,14 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
             bmstruckDetailsOrder.setDetailsTime(new Date());
             // 设置常规字段
             bmstruckDetailsOrder.setInsertTime(new Date());
-            bmstruckDetailsOrder.setUpdateTime(new Date());
             bmstruckDetailsOrder.setWetherToStatement(new BigDecimal(0));
             bmstruckDetailsOrder.setInsertUsername("admin");
             bmstruckDetailsOrder.setUpdateUsername("admin");
-            bmstruckDetailsOrder.setInsertUpdateRemark("无");
             result += bmstruckDetailsOrderMapper.insertSelective(bmstruckDetailsOrder);
         }
         return result;
     }
 
-    @Test
-    public void test(){
-        DecimalFormat df = new DecimalFormat("#.00");
-
-        System.out.println(new BigDecimal(df.format(300.959999999999979536369210109114646911)));
-    }
-
     @Override
     public int updateDetails() {
         List<Map<String,Object>>mapList = bmstruckDetailsOrderMapper.selectDetailsNoAmount();

+ 12 - 0
src/main/java/com/steerinfo/dil/util/ColumnDataUtil.java

@@ -35,4 +35,16 @@ public class ColumnDataUtil {
         pageList.setColumnData(columnDataList);
         return pageList;
     }
+    public PageListAdd tableColumnData5(Integer apiId, List<Map<String, Object>> list, List<Map<String,Object>> data) {
+        List<Map<String, Object>> columnDataList = columnDataFeign.getColumnData(apiId);
+        for (Map<String, Object> columnData : columnDataList) {
+            //每个表头字段的过滤条件
+            if(DataChange.dataToBigDecimal(columnData.get("isFilter")).intValue() == 1){
+                columnData.put("filters", setListMap(data, columnData.get("prop").toString()));
+            }
+        }
+        PageListAdd pageList = new PageListAdd(data);
+        pageList.setColumnData(columnDataList);
+        return pageList;
+    }
 }

+ 3 - 2
src/main/resources/bootstrap.yml

@@ -17,9 +17,10 @@ eureka:
   client:
     service-url:
       defaultZone: http://root:root@${EUREKA_HOST:172.16.33.161}:${EUREKA_PORT:8081}/eureka/
-
+    register-with-eureka: false
+    fetch-registry: false
   instance:
-    prefer-ip-address: true
+    prefer-ip-address: false
     status-page-url: http://${spring.cloud.client.ip-address}:${server.port}/swagger-ui.html#/
     instance-id: ${spring.cloud.client.ip-address}:${server.port}
 

+ 468 - 164
src/main/resources/com/steerinfo/dil/mapper/BmstruckDetailsOrderMapper.xml

@@ -1210,67 +1210,77 @@
     </select>
 
     <select id="getWeightTaskResultId" parameterType="DECIMAL" resultType="java.util.Map" >
-        select * from (SELECT TWR.WEIGHT_TASK_RESULT_ID AS "weightTaskResultId",
-               TWR.RESULT_NET_WEIGHT     AS "netWeight"
-        FROM OMSTRUCK_ORDER OO
-                 LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
-                           ON TTR.ORDER_ID = OO.ORDER_ID
-                 LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR
-                           ON TTR.RESULT_TOTAL_ID = TWR.RESULT_TOTAL_ID
-        WHERE OO.ORDER_ID = #{orderId}
-        order by twr.GROSS_SEGMENT_SQE desc)
-        where rownum = 1
+        select * from (
+        SELECT
+            TWR.WEIGHT_TASK_RESULT_ID AS "weightTaskResultId",
+            TWR.RESULT_NET_WEIGHT     AS "netWeight"
+            FROM OMSTRUCK_ORDER OO
+            LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
+                ON TTR.ORDER_ID = OO.ORDER_ID
+            LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR
+                ON TTR.RESULT_TOTAL_ID = TWR.RESULT_TOTAL_ID
+            WHERE OO.ORDER_ID = #{orderId}
+            order by twr.GROSS_SEGMENT_SQE desc)
+            where rownum = 1
     </select>
           <select id="getInwardWeightDetailsOrder" resultType="java.util.Map" parameterType="java.util.Map">
         SELECT *
-        FROM (SELECT DISTINCT bdo.INSERT_TIME       as "insertTime",
-                              bdo.DETAILS_ID        as "detailsId",
-                              oo.ORDER_ID           as "orderId",
-                              bdo.DETAILS_NO        as "detailsNo",
-                              oo.ORDER_NUMBER       as "orderNumber",
-                              bdo.DETAILS_TIME      as "detailsTime",
-                              rc.CAPACITY_NUMBER    as "capacityNumber",
-                              RCE.CARRIER_NAME      as "carrierName",
-                              actp.PRICE_VALUE      as "priceValue",
-                              bdo.DETAILS_AMOUNT    as "detailsAmount",
-                              twr.RESULT_NET_WEIGHT as "resultNetWeight",
-                              RW.WAREHOUSE_NAME     as "unloadName",
-                              RW1.WAREHOUSE_NAME    as "loadName",
-                              RS.SHIPPER_NAME       as "shipperName",
-                              RM.MATERIAL_NAME      as "materialName",
-                              GREATEST(TWR.RESULT_GROSS_WEIGHT_TIME,
-                                TWR.RESULT_TARE_WEIGHT_TIME) as "netTime"
+        FROM (SELECT DISTINCT bdo.INSERT_TIME AS "insertTime",
+              bdo.DETAILS_ID AS "detailsId",
+              oo.ORDER_ID AS "orderId",
+              bdo.DETAILS_NO AS "detailsNo",
+              oo.ORDER_NUMBER AS "orderNumber",
+              bdo.DETAILS_TIME AS "detailsTime",
+              rc.CAPACITY_NUMBER AS "capacityNumber",
+              RCE.CARRIER_NAME AS "carrierName",
+              actp.PRICE_VALUE AS "priceValue",
+              bdo.DETAILS_AMOUNT AS "detailsAmount",
+              twr.RESULT_NET_WEIGHT AS "resultNetWeight",
+              RW.WAREHOUSE_NAME AS "consigneeName",
+              RW1.WAREHOUSE_NAME AS "supplierName",
+              RW1.WAREHOUSE_NAME || '至' || RW.WAREHOUSE_NAME "lineName",
+              RTR.TRANS_RANGE_VALUE "transRangeValue",
+              RS.SHIPPER_NAME AS "shipperName",
+              RM.MATERIAL_NAME AS "materialName",
+              RMT.MATERIAL_TYPE_NAME AS "materialTypeName",
+              decode(OO.ORDER_TYPE, 11, '纯内转') "orderType",
+              GREATEST(TWR.RESULT_GROSS_WEIGHT_TIME,
+              TWR.RESULT_TARE_WEIGHT_TIME) AS "netTime"
               FROM BMSTRUCK_DETAILS_ORDER bdo
-                       LEFT JOIN TMSTRUCK_WEIGHT_RESULT twr
-                                 ON twr.WEIGHT_TASK_RESULT_ID = bdo.WEIGHT_TASK_RESULT_ID
-                       LEFT JOIN RMS_MATERIAL RM
-                                 ON RM.MATERIAL_ID = TWR.MATERIAL_ID
-                       LEFT JOIN TMSTRUCK_TOTAL_RESULT ttl
-                                 ON ttl.RESULT_TOTAL_ID = twr.RESULT_TOTAL_ID
-                       LEFT JOIN OMSTRUCK_ORDER oo
-                                 ON oo.ORDER_ID = ttl.ORDER_ID
-                       LEFT JOIN AMSTRUCK_INWARD_PLAN AIP
-                                 ON AIP.PLAN_ID = OO.ORDER_PLAN_ID
-                       LEFT JOIN AMSTRUCK_REQUIREMENT_PLAN ARP
-                                 ON AIP.PLAN_ID = ARP.PLAN_ID
-                       LEFT JOIN AMSTRUCK_INWARD_REQUIREMENT AIR
-                                 ON AIR.REQUIREMENT_ID = ARP.REQUIREMENT_ID
-                       LEFT JOIN AMSTRUCK_REQUIREMENT_MATERIAL ARM
-                                 ON ARM.REQUIREMENT_ID = AIR.REQUIREMENT_ID
-                       LEFT JOIN RMS_WAREHOUSE RW
-                                 ON RW.WAREHOUSE_ID = ARM.REQUIREMENT_UNLOAD_UNIT_ID
-                       LEFT JOIN RMS_WAREHOUSE RW1
-                                 ON RW1.WAREHOUSE_ID = ARM.REQUIREMENT_PLATFORM_ID
-                       LEFT JOIN RMS_SHIPPER RS
-                                 ON RS.SHIPPER_ID = AIR.REQUIREMENT_SHIPPER_ID
-                       LEFT JOIN RMS_CARRIER RCE
-                                 ON RCE.CARRIER_ID = AIP.CARRIER_ID
-                       LEFT JOIN RMS_CAPACITY rc
-                                 ON oo.CAPACITY_ID = rc.CAPACITY_ID
-                       LEFT JOIN AMS_CONTRACT_TRANSPORT_PRICE actp
-                                 ON actp.PRICE_ID = bdo.PRICE_ID
-              WHERE oo.ORDER_TYPE = 11
-                AND bdo.WETHER_TO_STATEMENT = #{detailStatus}
+              LEFT JOIN TMSTRUCK_WEIGHT_RESULT twr
+              ON twr.WEIGHT_TASK_RESULT_ID = bdo.WEIGHT_TASK_RESULT_ID
+              LEFT JOIN RMS_MATERIAL RM
+              ON RM.MATERIAL_ID = TWR.MATERIAL_ID
+              LEFT JOIN RMS_MATERIAL_TYPE RMT
+              ON RMT.MATERIAL_TYPE_ID = RM.MATERIAL_TYPE_ID
+              LEFT JOIN TMSTRUCK_TOTAL_RESULT ttl
+              ON ttl.RESULT_TOTAL_ID = twr.RESULT_TOTAL_ID
+              LEFT JOIN OMSTRUCK_ORDER oo
+              ON oo.ORDER_ID = ttl.ORDER_ID
+              LEFT JOIN AMSTRUCK_INWARD_PLAN AIP
+              ON AIP.PLAN_ID = OO.ORDER_PLAN_ID
+              LEFT JOIN AMSTRUCK_REQUIREMENT_PLAN ARP
+              ON AIP.PLAN_ID = ARP.PLAN_ID
+              LEFT JOIN AMSTRUCK_INWARD_REQUIREMENT AIR
+              ON AIR.REQUIREMENT_ID = ARP.REQUIREMENT_ID
+              LEFT JOIN AMSTRUCK_REQUIREMENT_MATERIAL ARM
+              ON ARM.REQUIREMENT_ID = AIR.REQUIREMENT_ID
+              LEFT JOIN RMS_TRANS_RANGE RTR
+              ON RTR.TRANS_RANGE_ID = AIR.LINE_ID
+              LEFT JOIN RMS_WAREHOUSE RW
+              ON RW.WAREHOUSE_ID = ARM.REQUIREMENT_UNLOAD_UNIT_ID
+              LEFT JOIN RMS_WAREHOUSE RW1
+              ON RW1.WAREHOUSE_ID = ARM.REQUIREMENT_PLATFORM_ID
+              LEFT JOIN RMS_SHIPPER RS
+              ON RS.SHIPPER_ID = AIR.REQUIREMENT_SHIPPER_ID
+              LEFT JOIN RMS_CARRIER RCE
+              ON RCE.CARRIER_ID = AIP.CARRIER_ID
+              LEFT JOIN RMS_CAPACITY rc
+              ON oo.CAPACITY_ID = rc.CAPACITY_ID
+              LEFT JOIN AMS_CONTRACT_TRANSPORT_PRICE actp
+              ON actp.PRICE_ID = bdo.PRICE_ID
+              WHERE bdo.WETHER_TO_STATEMENT = #{detailStatus}
+              AND oo.ORDER_TYPE = 11
                 <if test="userId != null" >
                     AND  AIR.INSERT_USERNAME LIKE #{userId}
                 </if>
@@ -1301,16 +1311,16 @@
                     "shipperName" in #{item}
                 </foreach>
             </if>
-            <if test="loadName!= null">
+            <if test="supplierName!= null">
                 and
-                <foreach collection="loadName" item="item" open="(" separator="," close=")">
-                    "loadName" in #{item}
+                <foreach collection="supplierName" item="item" open="(" separator="," close=")">
+                    "supplierName" in #{item}
                 </foreach>
             </if>
-            <if test="unloadName!= null">
+            <if test="consigneeName!= null">
                 and
-                <foreach collection="unloadName" item="item" open="(" separator="," close=")">
-                    "unloadName" in #{item}
+                <foreach collection="consigneeName" item="item" open="(" separator="," close=")">
+                    "consigneeName" in #{item}
                 </foreach>
             </if>
             <if test="materialName!= null">
@@ -1319,104 +1329,81 @@
                     "materialName" in #{item}
                 </foreach>
             </if>
-            <if test="resultOutGateTime!= null">
-                and
-                <foreach collection="resultOutGateTime" item="item" open="(" separator="," close=")">
-                    "resultOutGateTime" in to_date('${item}','yyyy-mm-dd hh24:mi:ss')
-                </foreach>
-            </if>
         </where>
         <include refid="orderBy"></include>
     </select>
     <select id="getPurInwarWeightDetailsOrder" resultType="java.util.Map" parameterType="java.util.Map">
         select *
-        from (select oo.order_id                   "orderId",
-                     bdo.DETAILS_ID                "detailsId",
-                     oo.order_type                 "orderType",
-                     rm.material_name              "materialName",
-                     apo.purchase_order_no         "purchaseNo",
-                     rc.capacity_number            "capacityNo",
-                     rs.supplier_name              "supplierName",
-                     oo.order_number               "orderNumber",
-                     rce.consignee_company_name    "consigneeName",
-                     twr2.result_gross_weight_time "grossWeigtTimeFirst",
-                     twr2.result_net_weight        "netWeightFirst",
-                     twr4.result_tare_weight_time  "tareWeightTimeSecond",
-                     twr4.result_net_weight        "netWeightSecond",
-                     bdo.details_no               "detailNo",
-                     bdo.details_amount           "secondAmount",
-                     actp.price_value              "priceValue",
-                     bdo.INSERT_TIME               "insertTime",
-                     RTR.TRANS_RANGE_VALUE          "transRange"
-              from omstruck_order oo
-                       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_capacity rc
-                                 on rc.capacity_id = oo.capacity_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 rms_supplier rs
-                                 on rs.supplier_id = apo.supplier_unit_id
-                       left join rms_consignee rce
-                                 on rce.consignee_id = apo.receive_unit_id
-                       left join tmstruck_total_result ttr
-                                 on ttr.order_id = oo.order_id
-                       left join tmstruck_enfactory_result ter1
-                                 on ter1.result_total_id = ttr.result_total_id
-                       left join tmstruck_weight_result twr1
-                                 on twr1.result_total_id = ttr.result_total_id
-                       left join tmstruck_load_result tlr
-                                 on tlr.result_total_id = ttr.result_total_id
-                       left join tmstruck_weight_result twr2
-                                 on twr2.result_total_id = ttr.result_total_id
-                       left join tmstruck_leave_factory_result tlfr1
-                                 on tlfr1.result_total_id = ttr.result_total_id
-                       left join tmstruck_enfactory_result ter2
-                                 on ter2.result_total_id = ttr.result_total_id
-                       left join tmstruck_weight_result twr3
-                                 on twr3.result_total_id = ttr.result_total_id
-                       left join tmstruck_unload_result tur
-                                 on tur.result_total_id = ttr.result_total_id
-                       left join tmstruck_weight_result twr4
-                                 on twr4.result_total_id = ttr.result_total_id
-                       left join tmstruck_leave_factory_result tlfr2
-                                 on tlfr2.result_total_id = ttr.result_total_id
-                       left join bmstruck_details_order bdo
-                                 on bdo.weight_task_result_id = twr4.weight_task_result_id
-                       left join ams_contract_transport_price actp
-                                 on actp.price_id = bdo.price_id
-                       left join RMS_TRANS_RANGE RTR
-                                 on RTR.TRANS_RANGE_ID = AIR.LINE_ID
-                      where oo.order_type in (10, 20)
-                        and ter1.segmen_sqe = 1
-                        and twr1.tare_segment_sqe = 2
-                        and tlr.segment_sqe = 3
-                        and twr2.gross_segment_sqe = 4
-                        and tlfr1.segment_sqe = 5
-                        and ter2.segmen_sqe = 6
-                        and twr3.gross_segment_sqe = 7
-                        and tur.segment_sqe = 8
-                        and twr4.tare_segment_sqe = 9
-                        and tlfr2.segment_sqe = 10
-                        AND bdo.WETHER_TO_STATEMENT = #{detailStatus}
-                        <if test="userId != null" >
-                            AND AIR.INSERT_USERNAME LIKE #{userId}
-                        </if>
-                        <if test="oneDate != null">
-                            and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= bdo.INSERT_TIME
-                        </if>
-                        <if test="startDate != null">
-                            and to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= bdo.INSERT_TIME
-                            and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= bdo.INSERT_TIME
-                        </if>)
+        from (select oo.order_id     "orderId",
+        bdo.DETAILS_ID               "detailsId",
+        rm.material_name             "materialName",
+        apo.purchase_order_no        "purchaseNo",
+        rc.capacity_number           "capacityNumber",
+        rs.supplier_name             "supplierName",
+        oo.order_number              "orderNumber",
+        rce.consignee_company_name   "consigneeName",
+        twr.result_net_weight        "resultNetWeight",
+        GREATEST(TWR.RESULT_GROSS_WEIGHT_TIME,
+        TWR.RESULT_TARE_WEIGHT_TIME) AS "netTime",
+        bdo.details_no               "detailNo",
+        bdo.details_amount           "secondAmount",
+        actp.price_value             "priceValue",
+        bdo.INSERT_TIME              "insertTime",
+        RTR.TRANS_RANGE_VALUE        "transRangeValue",
+        RL.LINE_NAME                 "lineName",
+        RCA.CARRIER_NAME             "carrierName",
+        RMT.MATERIAL_TYPE_NAME      "materialTypeName",
+        decode(OO.ORDER_TYPE, 10, '化工园区专用线-新区',20,'化工园区专用线-老区',23,'厂外-老区厂内',24,'厂外-新区厂内') "orderType",
+        DB.RESULT_FOREIGN_SHIP_NAME     "shipNum"
+        FROM BMSTRUCK_DETAILS_ORDER BDO
+        LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR
+        ON TWR.WEIGHT_TASK_RESULT_ID = BDO.WEIGHT_TASK_RESULT_ID
+        LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
+        ON TTR.RESULT_TOTAL_ID = TWR.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 ARP.REQUIREMENT_ID = AIR.REQUIREMENT_ID
+        LEFT JOIN AMS_PURCHASE_ORDER APO
+        ON APO.PURCHASE_ORDER_ID = AIR.PURCHASE_ORDER_ID
+        LEFT JOIN DIL_BATCH DB
+        ON DB.BATCH_ID = APO.BATCH_ID
+        LEFT JOIN RMS_LINE RL
+        ON RL.LINE_ID = OO.LINE_ID
+        LEFT JOIN RMS_TRANS_RANGE RTR
+        ON RTR.TRANS_RANGE_ID = RL.TRANS_RANGE_ID
+        LEFT JOIN AMS_CONTRACT_TRANSPORT_PRICE ACTP
+        ON ACTP.PRICE_ID = BDO.PRICE_ID
+        LEFT JOIN RMS_CONSIGNEE RCE
+        ON RCE.CONSIGNEE_ID = APO.RECEIVE_UNIT_ID
+        LEFT JOIN RMS_SUPPLIER RS
+        ON RS.SUPPLIER_ID = APO.SUPPLIER_UNIT_ID
+        LEFT JOIN RMS_CAPACITY RC
+        ON RC.CAPACITY_ID = OO.CAPACITY_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_MATERIAL_TYPE RMT
+        ON RMT.MATERIAL_TYPE_ID = RM.MATERIAL_TYPE_ID
+        LEFT JOIN RMS_CARRIER RCA
+        ON RCA.CARRIER_ID = AIP.CARRIER_ID
+        where oo.order_type in (10, 20, 23, 24)
+        AND bdo.WETHER_TO_STATEMENT = #{detailStatus}
+        <if test="userId != null" >
+             AND AIR.INSERT_USERNAME LIKE #{userId}
+        </if>
+        <if test="oneDate != null">
+            and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= bdo.INSERT_TIME
+        </if>
+        <if test="startDate != null">
+            and to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= bdo.INSERT_TIME
+            and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= bdo.INSERT_TIME
+         </if>)
         <where>
             <if test="capacityNo!= null">
                 and
@@ -1527,10 +1514,16 @@
         <include refid="orderBy"></include>
     </select>
     <select id="getPriceByPur" resultType="java.util.Map" parameterType="java.lang.Integer">
-        select actp.PRICE_ID "priceId" ,actp.PRICE_VALUE "priceValue" from AMS_CONTRACT_TRANSPORT_PRICE actp
-        where type = 2
-          and actp.DELETED = 0
-        and actp.LINE_ID = #{i}
+        select * from (select
+            actp.PRICE_ID "priceId",
+            actp.PRICE_VALUE "priceValue",
+            actp.PRICE_DATE "priceDate"
+            from AMS_CONTRACT_TRANSPORT_PRICE actp
+            where type = 2
+            and actp.DELETED = 0
+            and actp.LINE_ID = #{i}
+            ORDER BY actp.PRICE_DATE desc)
+        where rownum = 1
     </select>
     <select id="getTimeTaskResult" resultType="java.util.Map" parameterType="decimal">
         select TTTR.RESULT_VALUE "resultTime" from TMSTRUCK_TIME_TASK_RESULT TTTR
@@ -1573,7 +1566,9 @@
         RM.MATERIAL_NAME as "materialName",
         GREATEST(TWR.RESULT_GROSS_WEIGHT_TIME, TWR.RESULT_TARE_WEIGHT_TIME) as "netTime",
         RMT.MATERIAL_TYPE_NAME as "materialTypeName",
-        RTR.TRANS_RANGE_VALUE as "rangeValue"
+        decode(RMT.MATERIAL_ISINWARD,1,'是','否')   as "materialIsWard",
+        RTR.TRANS_RANGE_VALUE as "rangeValue",
+        decode(oo.ORDER_TYPE,11,'纯内转',15,'拼装车皮进厂',16,'一焦化采购进厂',10,'新区专线-新区',20,'新区专线-老区',23,'厂外内转-老区',24,'厂外内转-新区') as "orderType"
         FROM OMSTRUCK_ORDER OO
         LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
         ON TTR.ORDER_ID = OO.ORDER_ID
@@ -1607,9 +1602,9 @@
         ON actp.PRICE_ID = bdo.PRICE_ID
         LEFT JOIN RMS_TRANS_RANGE RTR
         ON RTR.TRANS_RANGE_ID = AIR.LINE_ID
-        WHERE RMT.MATERIAL_ISINWARD = 1
-        AND BDO.DETAILS_ID IS NULL
-        AND OO.ORDER_TYPE in (11, 15, 16, 23, 24)
+        WHERE
+        BDO.DETAILS_ID IS NULL
+        AND OO.ORDER_TYPE in (11, 15, 16, 23, 24,10,20)
         AND OO.ORDER_STATUS = 2
         <if test="userId != null">
         AND AIR.INSERT_USERNAME LIKE #{userId}
@@ -1625,5 +1620,314 @@
         )
 
     </select>
+    <select id="getPriceInfoPur" resultType="java.util.Map" parameterType="DECIMAL">
+        SELECT
+               RTR.TRANS_RANGE_ID "transRangeId",
+               RMT.MATERIAL_TYPE_ID "materialTypeId"
+        FROM OMSTRUCK_ORDER OO
+        LEFT JOIN RMS_LINE  RL
+        ON RL.LINE_ID = OO.LINE_ID
+        LEFT JOIN RMS_TRANS_RANGE   RTR
+        ON RTR.TRANS_RANGE_ID = RL.TRANS_RANGE_ID
+        LEFT JOIN OMSTRUCK_ORDER_MATERIAL OOM
+        ON OOM.ORDER_ID = OO.ORDER_ID
+        LEFT JOIN RMS_MATERIAL RM
+        ON OOM.MATERIAL_ID = RM.MATERIAL_ID
+        LEFT JOIN  RMS_MATERIAL_TYPE RMT
+        ON RMT.MATERIAL_TYPE_ID = RM.MATERIAL_TYPE_ID
+        where oo.ORDER_ID = #{orderId}
+    </select>
+    <select id="getPurInwardPrice" resultType="java.util.Map" parameterType="java.util.Map">
+        SELECT * FROM (
+        select distinct actp.price_id "priceId", actp.price_value "priceValue" ,actp.PRICE_DATE "priceDate"
+        from ams_contract_transport_price actp
+        left join ams_contaact_price_material acpm
+        on acpm.price_id = actp.price_id
+        left join rms_trans_range rtr
+        on rtr.trans_range_id = actp.line_id
+        where actp.DELETED = 0
+        and actp.type = 2
+        <if test="transRangeId != null">
+            and actp.LINE_ID = #{transRangeId}
+        </if>
+        <if test="transRangeId == null">
+            and actp.LINE_ID = 0
+        </if>
+        <if test="materialTypeId != null">
+            and acpm.MATERIAL_ID = #{materialTypeId}
+        </if>
+        <if test="materialTypeId == null">
+            and acpm.MATERIAL_ID = 0
+        </if>
+        )
+        WHERE ROWNUM = 1
+    </select>
+    <select id="getAllInwardWeight" resultType="java.util.Map" parameterType="java.util.Map">
+        SELECT * FROM (
+                          SELECT rc.CAPACITY_NUMBER AS "capacityNumber",
+                                 RCE.CARRIER_NAME AS "carrierName",
+                                 RS.SHIPPER_NAME AS "shipperName",
+                                 DB.RESULT_FOREIGN_SHIP_NAME "shipNum",
+                                 RW1.WAREHOUSE_NAME AS "supplierName",
+                                 RW.WAREHOUSE_NAME AS "consigneeName",
+                                 RW1.WAREHOUSE_NAME || '至' || RW.WAREHOUSE_NAME "lineName",
+                                 RM.MATERIAL_NAME AS "materialName",
+                                 RMT.MATERIAL_TYPE_NAME AS "materialTypeName",
+                                 RTR.TRANS_RANGE_VALUE "transRangeValue",
+                                 twr.RESULT_NET_WEIGHT AS "resultNetWeight",
+                                 GREATEST(TWR.RESULT_GROSS_WEIGHT_TIME, TWR.RESULT_TARE_WEIGHT_TIME) AS "netTime",
+                                 actp.PRICE_VALUE AS "priceValue",
+                                 bdo.DETAILS_AMOUNT AS "detailsAmount",
+                                 oo.ORDER_NUMBER AS "orderNumber",
+                                 bdo.DETAILS_ID AS "detailsId",
+                                 oo.ORDER_ID AS "orderId",
+                                 bdo.DETAILS_NO AS "detailsNo",
+                                 bdo.DETAILS_TIME AS "detailsTime",
+                                 decode(OO.ORDER_TYPE, 11, '纯内转') "orderType",
+                                 bdo.INSERT_TIME    "insertTime"
+                          FROM BMSTRUCK_DETAILS_ORDER bdo
+                                   LEFT JOIN TMSTRUCK_WEIGHT_RESULT twr
+                                             ON twr.WEIGHT_TASK_RESULT_ID = bdo.WEIGHT_TASK_RESULT_ID
+                                   LEFT JOIN RMS_MATERIAL RM
+                                             ON RM.MATERIAL_ID = TWR.MATERIAL_ID
+                                   LEFT JOIN RMS_MATERIAL_TYPE RMT
+                                             ON RMT.MATERIAL_TYPE_ID = RM.MATERIAL_TYPE_ID
+                                   LEFT JOIN TMSTRUCK_TOTAL_RESULT ttl
+                                             ON ttl.RESULT_TOTAL_ID = twr.RESULT_TOTAL_ID
+                                   LEFT JOIN OMSTRUCK_ORDER oo
+                                             ON oo.ORDER_ID = ttl.ORDER_ID
+                                   LEFT JOIN AMSTRUCK_INWARD_PLAN AIP
+                                             ON AIP.PLAN_ID = OO.ORDER_PLAN_ID
+                                   LEFT JOIN AMSTRUCK_REQUIREMENT_PLAN ARP
+                                             ON AIP.PLAN_ID = ARP.PLAN_ID
+                                   LEFT JOIN AMSTRUCK_INWARD_REQUIREMENT AIR
+                                             ON AIR.REQUIREMENT_ID = ARP.REQUIREMENT_ID
+                                   LEFT JOIN AMSTRUCK_REQUIREMENT_MATERIAL ARM
+                                             ON ARM.REQUIREMENT_ID = AIR.REQUIREMENT_ID
+                                   LEFT JOIN RMS_TRANS_RANGE RTR
+                                             ON RTR.TRANS_RANGE_ID = AIR.LINE_ID
+                                   LEFT JOIN RMS_WAREHOUSE RW
+                                             ON RW.WAREHOUSE_ID = ARM.REQUIREMENT_UNLOAD_UNIT_ID
+                                   LEFT JOIN RMS_WAREHOUSE RW1
+                                             ON RW1.WAREHOUSE_ID = ARM.REQUIREMENT_PLATFORM_ID
+                                   LEFT JOIN RMS_SHIPPER RS
+                                             ON RS.SHIPPER_ID = AIR.REQUIREMENT_SHIPPER_ID
+                                   LEFT JOIN RMS_CARRIER RCE
+                                             ON RCE.CARRIER_ID = AIP.CARRIER_ID
+                                   LEFT JOIN RMS_CAPACITY rc
+                                             ON oo.CAPACITY_ID = rc.CAPACITY_ID
+                                   LEFT JOIN AMS_CONTRACT_TRANSPORT_PRICE actp
+                                             ON actp.PRICE_ID = bdo.PRICE_ID
+                                   LEFT JOIN DIL_BATCH DB
+                                             ON DB.BATCH_ID = 0
+                          WHERE bdo.WETHER_TO_STATEMENT = #{detailStatus}
+                            AND oo.ORDER_TYPE = 11
+                            <if test="userId != null" >
+                                AND AIR.INSERT_USERNAME LIKE #{userId}
+                            </if>
+                            <if test="oneDate != null">
+                                and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= bdo.INSERT_TIME
+                            </if>
+                            <if test="startDate != null">
+                                and to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= bdo.INSERT_TIME
+                                and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= bdo.INSERT_TIME
+                            </if>
+                          UNION ALL
+                          select rc.capacity_number "capacityNumber",
+                                 RCA.CARRIER_NAME "carrierName",
+                                 RSH.SHIPPER_NAME "shipperName",
+                                 DB.RESULT_FOREIGN_SHIP_NAME "shipNum",
+                                 rs.supplier_name "supplierName",
+                                 rce.consignee_company_name "consigneeName",
+                                 RL.LINE_NAME "lineName",
+                                 rm.material_name "materialName",
+                                 RMT.MATERIAL_TYPE_NAME "materialTypeName",
+                                 RTR.TRANS_RANGE_VALUE "transRangeValue",
+                                 twr.result_net_weight "resultNetWeight",
+                                 GREATEST(TWR.RESULT_GROSS_WEIGHT_TIME, TWR.RESULT_TARE_WEIGHT_TIME) AS "netTime",
+                                 actp.price_value "priceValue",
+                                 bdo.details_amount "detailsAmount",
+                                 oo.ORDER_NUMBER AS "orderNumber",
+                                 bdo.DETAILS_ID AS "detailsId",
+                                 oo.ORDER_ID AS "orderId",
+                                 bdo.details_no "detailNo",
+                                 bdo.INSERT_TIME "detailsTime",
+                                 decode(OO.ORDER_TYPE,
+                                        10,
+                                        '化工园区专用线-新区',
+                                        20,
+                                        '化工园区专用线-老区',
+                                        23,
+                                        '厂外-老区厂内',
+                                        24,
+                                        '厂外-新区厂内') "orderType",
+                                 bdo.INSERT_TIME    "insertTime"
+                          FROM BMSTRUCK_DETAILS_ORDER BDO
+                                   LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR
+                                             ON TWR.WEIGHT_TASK_RESULT_ID = BDO.WEIGHT_TASK_RESULT_ID
+                                   LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
+                                             ON TTR.RESULT_TOTAL_ID = TWR.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 ARP.REQUIREMENT_ID = AIR.REQUIREMENT_ID
+                                   LEFT JOIN AMS_PURCHASE_ORDER APO
+                                             ON APO.PURCHASE_ORDER_ID = AIR.PURCHASE_ORDER_ID
+                                   LEFT JOIN DIL_BATCH DB
+                                             ON DB.BATCH_ID = APO.BATCH_ID
+                                   LEFT JOIN RMS_LINE RL
+                                             ON RL.LINE_ID = OO.LINE_ID
+                                   LEFT JOIN RMS_TRANS_RANGE RTR
+                                             ON RTR.TRANS_RANGE_ID = RL.TRANS_RANGE_ID
+                                   LEFT JOIN AMS_CONTRACT_TRANSPORT_PRICE ACTP
+                                             ON ACTP.PRICE_ID = BDO.PRICE_ID
+                                   LEFT JOIN RMS_CONSIGNEE RCE
+                                             ON RCE.CONSIGNEE_ID = APO.RECEIVE_UNIT_ID
+                                   LEFT JOIN RMS_SUPPLIER RS
+                                             ON RS.SUPPLIER_ID = APO.SUPPLIER_UNIT_ID
+                                   LEFT JOIN RMS_CAPACITY RC
+                                             ON RC.CAPACITY_ID = OO.CAPACITY_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_SHIPPER RSH
+                                             ON RSH.SHIPPER_ID = 0
+                                   LEFT JOIN RMS_MATERIAL_TYPE RMT
+                                             ON RMT.MATERIAL_TYPE_ID = RM.MATERIAL_TYPE_ID
+                                   LEFT JOIN RMS_CARRIER RCA
+                                             ON RCA.CARRIER_ID = AIP.CARRIER_ID
+                          where oo.order_type in (10, 20, 23, 24)
+                            AND bdo.WETHER_TO_STATEMENT = #{detailStatus}
+                            <if test="userId != null" >
+                                AND AIR.INSERT_USERNAME LIKE #{userId}
+                            </if>
+                            <if test="oneDate != null">
+                                and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= bdo.INSERT_TIME
+                            </if>
+                            <if test="startDate != null">
+                                and to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= bdo.INSERT_TIME
+                                and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= bdo.INSERT_TIME
+                            </if>
+                          UNION ALL SELECT
+                                        rc.capacity_number "capacityNumber",
+                                        RCA.CARRIER_NAME "carrierName",
+                                        RSH.SHIPPER_NAME "shipperName",
+                                        DB.RESULT_FOREIGN_SHIP_NAME "shipNum",
+                                        rs.supplier_name "supplierName",
+                                        rce.consignee_company_name "consigneeName",
+                                        RW.WAREHOUSE_NAME || '至' || RW1.WAREHOUSE_NAME "lineName",
+                                        rm.material_name "materialName",
+                                        RMT.MATERIAL_TYPE_NAME "materialTypeName",
+
+                                        RTR.TRANS_RANGE_VALUE "transRangeValue",
+                                        twr.result_net_weight "resultNetWeight",
+                                        GREATEST( TWR.RESULT_GROSS_WEIGHT_TIME, TWR.RESULT_TARE_WEIGHT_TIME ) AS "netTime",
+                                        actp.price_value "priceValue",
+                                        bdo.details_amount "detailsAmount",
+                                        oo.order_number "orderNumber",
+                                        bdo.DETAILS_ID "detailsId",
+                                        oo.order_id "orderId",
+                                        bdo.details_no "detailsNo",
+                                        bdo.details_time "detailsTime",
+                                        decode( OO.ORDER_TYPE, 15, '拼装车皮进厂', 16, '一焦化-厂内' ) "orderType",
+                                        bdo.INSERT_TIME    "insertTime"
+                          FROM
+                              BMSTRUCK_DETAILS_ORDER BDO
+                                  LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR ON TWR.WEIGHT_TASK_RESULT_ID = BDO.WEIGHT_TASK_RESULT_ID
+                                  LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR ON TTR.RESULT_TOTAL_ID = TWR.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 ARP.REQUIREMENT_ID = AIR.REQUIREMENT_ID
+                                  LEFT JOIN RMS_WAREHOUSE RW ON RW.WAREHOUSE_ID = AIR.REQUIREMENT_PLATFORM_ID
+                                  LEFT JOIN RMS_WAREHOUSE RW1 ON RW1.WAREHOUSE_ID = AIR.REQUIREMENT_UNLOAD_UNIT_ID
+                                  LEFT JOIN AMS_PURCHASE_ORDER APO ON APO.PURCHASE_ORDER_ID = AIR.PURCHASE_ORDER_ID
+                                  LEFT JOIN DIL_BATCH DB ON DB.BATCH_ID = APO.BATCH_ID
+                                  LEFT JOIN RMS_TRANS_RANGE RTR ON RTR.TRANS_RANGE_ID = 1
+                                  LEFT JOIN AMS_CONTRACT_TRANSPORT_PRICE ACTP ON ACTP.PRICE_ID = BDO.PRICE_ID
+                                  LEFT JOIN RMS_CONSIGNEE RCE ON RCE.CONSIGNEE_ID = APO.RECEIVE_UNIT_ID
+                                  LEFT JOIN RMS_SUPPLIER RS ON RS.SUPPLIER_ID = APO.SUPPLIER_UNIT_ID
+                                  LEFT JOIN RMS_CAPACITY RC ON RC.CAPACITY_ID = OO.CAPACITY_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_MATERIAL_TYPE RMT ON RMT.MATERIAL_TYPE_ID = RM.MATERIAL_TYPE_ID
+                                  LEFT JOIN RMS_CARRIER RCA ON RCA.CARRIER_ID = AIP.CARRIER_ID
+                                  LEFT JOIN RMS_SHIPPER RSH ON RSH.SHIPPER_ID = 0
+                          WHERE
+                              oo.order_type BETWEEN 15
+                                  AND 16
+                            AND bdo.WETHER_TO_STATEMENT = #{detailStatus}
+                            <if test="userId != null" >
+                                AND AIR.INSERT_USERNAME LIKE #{userId}
+                            </if>
+                            <if test="oneDate != null">
+                                and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= bdo.INSERT_TIME
+                            </if>
+                            <if test="startDate != null">
+                                and to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= bdo.INSERT_TIME
+                                and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= bdo.INSERT_TIME
+                            </if>
+        )
+        <where>
+            <if test="capacityNo!= null">
+                and
+                "capacityNumber" like #{capacityNo}
+            </if>
+            <if test="shipperNames!= null">
+                and
+                "shipperName" like #{shipperNames}
+            </if>
+            <if test="transRangeValues!= null">
+                and
+                "transRangeValue" like #{transRangeValues}
+            </if>
+            <if test="materialTypeNames!= null">
+                and
+                "materialTypeName" like #{materialTypeNames}
+            </if>
+            <if test="capacityNumber!= null">
+                and
+                <foreach collection="capacityNumber" item="item" open="(" separator="," close=")">
+                    "capacityNumber" in #{item}
+                </foreach>
+            </if>
+            <if test="carrierName!= null">
+                and
+                <foreach collection="carrierName" item="item" open="(" separator="," close=")">
+                    "carrierName" in #{item}
+                </foreach>
+            </if>
+            <if test="shipperName!= null">
+                and
+                <foreach collection="shipperName" item="item" open="(" separator="," close=")">
+                    "shipperName" in #{item}
+                </foreach>
+            </if>
+            <if test="supplierName!= null">
+                and
+                <foreach collection="supplierName" item="item" open="(" separator="," close=")">
+                    "supplierName" in #{item}
+                </foreach>
+            </if>
+            <if test="consigneeName!= null">
+                and
+                <foreach collection="consigneeName" item="item" open="(" separator="," close=")">
+                    "consigneeName" in #{item}
+                </foreach>
+            </if>
+            <if test="materialName!= null">
+                and
+                <foreach collection="materialName" item="item" open="(" separator="," close=")">
+                    "materialName" in #{item}
+                </foreach>
+            </if>
+        </where>
+        <include refid="orderBy"></include>
+    </select>
 
 </mapper>