liyg 2 年之前
父節點
當前提交
b6e6b1c37a

+ 18 - 1
src/main/java/com/steerinfo/dil/controller/BmstruckStatementController.java

@@ -5,6 +5,7 @@ import com.steerinfo.dil.feign.ESFeign;
 import com.steerinfo.dil.service.impl.BmstruckStatementServiceImpl;
 import com.steerinfo.dil.util.BaseRESTfulController;
 import com.steerinfo.dil.util.ColumnDataUtil;
+import com.steerinfo.dil.util.DataChange;
 import com.steerinfo.dil.util.PageListAdd;
 import com.steerinfo.framework.controller.RESTfulResult;
 import io.swagger.annotations.ApiImplicitParam;
@@ -15,6 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -35,7 +37,7 @@ public class BmstruckStatementController extends BaseRESTfulController {
     ColumnDataUtil columnDataUtil;
     @Autowired
     ESFeign esFeign;
-
+    private final SimpleDateFormat sdfDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
     /**
      * 展示汽运账单信息
      *
@@ -62,6 +64,7 @@ public class BmstruckStatementController extends BaseRESTfulController {
                                                String con) {
         mapValue.put("userId",userId);
         mapValue.put("con",con);
+        DataChange.queryDataByDateTimeYestDay(startTime, endTime, mapValue, sdfDateTime);//根时间段查询数据
         List<Map<String, Object>> truckStatementList = bmstruckStatementService.getTruckStatementList(mapValue);
         PageHelper.startPage(pageNum, pageSize);
         //分页查询数据
@@ -162,4 +165,18 @@ public class BmstruckStatementController extends BaseRESTfulController {
         bmstruckStatementService.update(statementId);
         return success("修改成功");
     }
+    @PostMapping("/findDetailsForStatement")
+    public RESTfulResult findDetailsForStatement(@RequestBody Map<String, Object> map){
+        return success(bmstruckStatementService.findDetailsForStatement(map));
+    }
+
+    @PostMapping("/getStatementPhoto")
+    public String getStatementPhoto(BigDecimal statementId){
+        try{
+            return bmstruckStatementService.getStatementPhoto(statementId);
+        }catch (Exception e){
+            e.printStackTrace();
+            return null;
+        }
+    }
 }

+ 3 - 0
src/main/java/com/steerinfo/dil/mapper/BmstruckStatementMapper.java

@@ -49,4 +49,7 @@ public interface BmstruckStatementMapper extends IBaseMapper<BmstruckStatement,
 
     //取消所有绑定
     int updateAllBind(@Param(value = "statementIds") List<BigDecimal> statementIds);
+
+    //查询账单下的所有详单
+    List<Map<String, Object>> findDetailsForStatement(Map<String, Object> map);
 }

+ 4 - 0
src/main/java/com/steerinfo/dil/service/IBmstruckStatementService.java

@@ -49,4 +49,8 @@ public interface IBmstruckStatementService{
     int delete(BigDecimal statementId);
     //用车单位审批汽运账单
     int update(BigDecimal statementId);
+
+    List<Map<String,Object>> findDetailsForStatement(Map<String,Object> map);
+
+    String getStatementPhoto(BigDecimal statementId);
 }

+ 24 - 45
src/main/java/com/steerinfo/dil/service/impl/BmstruckStatementServiceImpl.java

@@ -18,11 +18,8 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.text.DecimalFormat;
-import java.util.Date;
+import java.util.*;
 import java.math.BigDecimal;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
 
 /**
  * BmstruckStatement服务实现:
@@ -65,28 +62,6 @@ public class BmstruckStatementServiceImpl implements IBmstruckStatementService {
     @Override
     public List<Map<String, Object>> getTruckStatementList(Map<String, Object> mapValue) {
         List<Map<String, Object>> mapList = bmstruckStatementMapper.getTruckStatementList(mapValue);
-        String checkStatus = "";
-        for (Map<String, Object> map : mapList) {
-            BigDecimal checkCarrierStatus = (BigDecimal) map.get("checkCarrierStatus");
-            BigDecimal checkReceiveCustomerStatus = (BigDecimal) map.get("checkReceiveCustomerStatus");
-            BigDecimal checkShipperStatus = (BigDecimal) map.get("checkShipperStatus");
-            if (checkCarrierStatus.intValue() == 1 || (checkReceiveCustomerStatus.intValue() == 1 || checkShipperStatus.intValue() == 1)) {
-                checkStatus = "未通过审核";
-            }
-            // 全部通过:已通过审核
-            if (checkCarrierStatus.intValue() == 2 && checkReceiveCustomerStatus.intValue() == 2 && checkShipperStatus.intValue() == 2) {
-                checkStatus = "已通过审核";
-            }
-            // 有人未审核,且没人拒绝:审核中
-            if (checkStatus != "未通过审核" && (checkCarrierStatus.intValue() == 0 || (checkReceiveCustomerStatus.intValue() == 0 || checkShipperStatus.intValue() == 0))) {
-                checkStatus = "审核中";
-            }
-            // 全部都没审核:待审核
-            if (checkCarrierStatus.intValue() == 0 && checkReceiveCustomerStatus.intValue() == 0 && checkShipperStatus.intValue() == 0) {
-                checkStatus = "待审核";
-            }
-            map.put("checkStatus", checkStatus);
-        }
         return mapList;
     }
 
@@ -102,14 +77,6 @@ public class BmstruckStatementServiceImpl implements IBmstruckStatementService {
     public int addTruckStatement(Map<String, Object> map) throws Exception {
         BigDecimal excludeTax =  DataChange.dataToBigDecimal( map.get("excludeTax"));
         String url = map.get("url").toString();
-        //校验是否已经绑定账单
-        List<BigDecimal> oldStatementIds= bmstruckStatementMapper.getStatementIds(map);
-        if(oldStatementIds.size()>0){
-            //删除所有订单
-            bmstruckStatementMapper.batchDelete(oldStatementIds);
-            //取消所有绑定
-            bmstruckStatementMapper.updateAllBind(oldStatementIds);
-        }
         //查询统计信息
         Map<String,Object> count = bmstruckStatementMapper.getDetails(map);
         //查询单位
@@ -119,6 +86,14 @@ public class BmstruckStatementServiceImpl implements IBmstruckStatementService {
         }else if(companys.size() == 0){
             throw new Exception("没有查询到承运商和收货客户!");
         }
+        //校验是否已经绑定账单
+        List<BigDecimal> oldStatementIds= bmstruckStatementMapper.getStatementIds(map);
+        if(oldStatementIds.size()>0){
+            //删除所有订单
+            bmstruckStatementMapper.batchDelete(oldStatementIds);
+            //取消所有绑定
+            bmstruckStatementMapper.updateAllBind(oldStatementIds);
+        }
         BmstruckStatement bmstruckStatement = new BmstruckStatement();
         bmstruckStatement.setCarNum(DataChange.dataToBigDecimal(count.get("carNum")).setScale(2,BigDecimal.ROUND_HALF_UP));
         bmstruckStatement.setSumAmount(DataChange.dataToBigDecimal(count.get("sumAmount")).setScale(2,BigDecimal.ROUND_HALF_UP));
@@ -237,17 +212,11 @@ public class BmstruckStatementServiceImpl implements IBmstruckStatementService {
 
     @Override
     public int delete(BigDecimal statementId) {
-        //通过账单id获取详单
-        List<BigDecimal> list = bmstruckStatementMapper.getDetailById(statementId);
-        for (BigDecimal detailsId : list
-        ) {
-            BmstruckDetailsOrder bmstruckDetailsOrder = new BmstruckDetailsOrder();
-            bmstruckDetailsOrder.setDetailsId(detailsId);
-            bmstruckDetailsOrder.setWetherToStatement(new BigDecimal(0));
-            bmstruckDetailsOrder.setUpdateTime(new Date());
-            bmstruckDetailsOrder.setUpdateUsername("admin");
-            bmstruckDetailsOrderMapper.updateByPrimaryKeySelective(bmstruckDetailsOrder);
-        }
+        //取消所有绑定
+        List<BigDecimal> oldStatementIds=new ArrayList<>();
+        oldStatementIds.add(statementId);
+        bmstruckStatementMapper.updateAllBind(oldStatementIds);
+        //删除账单
         return bmstruckStatementMapper.deleteByPrimaryKey(statementId);
     }
 
@@ -259,4 +228,14 @@ public class BmstruckStatementServiceImpl implements IBmstruckStatementService {
         bmstruckStatement.setUpdateUsername("admin");
         return bmstruckStatementMapper.updateByPrimaryKeySelective(bmstruckStatement);
     }
+
+    @Override
+    public List<Map<String, Object>> findDetailsForStatement(Map<String, Object> map) {
+        return bmstruckStatementMapper.findDetailsForStatement(map);
+    }
+
+    @Override
+    public String getStatementPhoto(BigDecimal statementId) {
+        return bmstruckStatementMapper.selectByPrimaryKey(statementId).getPhoto();
+    }
 }

+ 316 - 15
src/main/resources/com/steerinfo/dil/mapper/BmstruckStatementMapper.xml

@@ -605,25 +605,54 @@
     <select id="getTruckStatementList" parameterType="java.util.Map" resultType="java.util.Map">
         SELECT *
         FROM (
-        SELECT BS.STATEMENT_NUMBER AS "statementNumber",
-        BS.INSERT_TIME AS "insertTime",
-        BS.STATEMENT_PAYMENT_UNIT AS "statementPaymentUnit",
-        BS.STATEMENT_EXCLUD_TAX AS "statementExcludTax",
-        BC.CHECK_CARRIER_STATUS AS "checkCarrierStatus",
-        BC.CHECK_RECEIVE_CUSTOMER_STATUS AS "checkReceiveCustomerStatus",
-        BC.CHECK_SHIPPER_STATUS AS "checkShipperStatus",
-        BS.STATEMENT_ID AS "statementId",
-        BC.CARRIER_ID AS "carrierId",
-        BC.SHIPPER_ID AS "shipperId"
-        FROM BMSTRUCK_STATEMENT BS
-        LEFT JOIN BMSTRUCK_CHECK BC
-        ON BC.STATEMENT_ID = BS.STATEMENT_ID
+            SELECT
+            BS.STATEMENT_ID "statementId",
+            BS.STATEMENT_NUMBER "statementNumber",
+            BS.STATEMENT_EXCLUD_TAX "statementExcludTax",
+            BS.SUM_AMOUNT "sumAmout",
+            BS.CAR_NUM "carNum",
+            RC.CONSIGNEE_COMPANY_NAME "consigneeName",
+            RCA.CARRIER_NAME "carrierName",
+            BS.INSERT_TIME "insertTime",
+            BS.CONSIGNEE_ID "consigneeId",
+            BS .CARRIER_ID "carrierId"
+            FROM BMSTRUCK_STATEMENT BS
+            LEFT JOIN RMS_CONSIGNEE RC ON BS.CONSIGNEE_ID=RC.CONSIGNEE_ID
+            LEFT JOIN RMS_CARRIER RCA ON RCA .CARRIER_ID=BS .CARRIER_ID
+            LEFT JOIN SSO.SYS_USER SU ON RCA.CARRIER_NAME=SU.USER_NAME
+            <where>
+                <if test="userId!=null and userId!='null'">
+                    and SU.USER_ID=#{userId}
+                </if>
+                <if test="oneDate != null">
+                    and to_char(to_date(#{oneDate}, 'yyyy-mm-dd'),'yyyy-mm') = to_char(BS.INSERT_TIME,'yyyy-mm')
+                </if>
+                <if test="startDate != null">
+                    and to_date(#{startDate}, 'yyyy-mm-dd') &lt;=  to_date(to_char(BS.INSERT_TIME,'yyyy-mm-dd'),'yyyy-mm-dd')
+                    and to_date(#{endDate}, 'yyyy-mm-dd') >=  to_date(to_char(BS.INSERT_TIME,'yyyy-mm-dd'),'yyyy-mm-dd')
+                </if>
+            </where>
         )
         <where>
+            <if test="con!= null and con!=''.toString()">
+                and "consigneeName" like CONCAT('%',CONCAT(#{con},'%'))
+            </if>
+            <if test="consigneeName!= null">
+                and "consigneeName" in
+                <foreach collection="consigneeName" item="item" open="(" separator="," close=")">
+                #{item}
+                </foreach>
+            </if>
+            <if test="carrierName!= null">
+                and "carrierName" in
+                <foreach collection="carrierName" item="item" open="(" separator="," close=")">
+                #{item}
+                </foreach>
+            </if>
             <if test="statementNumber!= null">
-                and
+                and "statementNumber" in
                 <foreach collection="statementNumber" item="item" open="(" separator="," close=")">
-                    "statementNumber" in #{item}
+                #{item}
                 </foreach>
             </if>
             <if test="insertTime!= null">
@@ -825,4 +854,276 @@
             #{statementId}
         </foreach>
     </update>
+    <select id="findDetailsForStatement" resultType="java.util.Map">
+        SELECT * FROM (
+        SELECT distinct OO.ORDER_ID "orderId",
+        ASO.SALE_ORDER_ID "saleOrderId",
+        to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd') "orderTime",
+        ASO.SALE_NUMBER "saleOrderNo",
+        ASM.SALE_MATERIAL_ID "saleMaterialId",
+        CASE
+        WHEN nvl(TWR.RESULT_GROSS_WEIGHT,0) =0
+        then null
+        when nvl(TWR.RESULT_GROSS_WEIGHT,0) !=0
+        then ASM.MATERIAL_NUMBER
+        end "materialNum",
+        ASM.EAS_PRIMARY_ID "closeEntryId",
+        ASM.DELETED "deletedStatus",
+        RC.CONSIGNEE_COMPANY_NAME "consigneeName",
+        ASOM.SALE_ORDER_MATERIAL_ID "saleOrderMaterialId",
+        RS.SHIPPER_NAME "shipperName",
+        RCA.CAPACITY_NUMBER "capacityNo",
+        RCA.CAPACITY_NUMBER "newCapacityNo",
+        NVL(OO.CAPACITY_ID,0)  "capacityIds",
+        OO.CAPACITY_ID "capacityId",
+        ASOM.SALE_ORDER_MATERIAL_TRUCK_NO "truckNo",
+        ASOM.SALE_ORDER_CONSIGNEE_TEL "consigneeTel",
+        OO.ORDER_LINE_SEQUENCE "lineSequence",
+        ASO.SALE_ORDER_ISSELF_MENTION "isSelfMention",
+        RSR.SALER_NAME "saler",
+        RM.MATERIAL_ID  "materialId",
+        RM.MATERIAL_NAME  "materialName",
+        RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL "materialSpe",
+        (CASE WHEN ASO.SALE_ORDER_ISSELF_MENTION = '是'
+        THEN '自提'
+        ELSE R_CARRIER.CARRIER_ABBREVIATION
+        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 nvl(ASOM.HISTORY_SHIPPING_ADDRESS_ID,0) !=0
+        then (select RRA.ADDRESS_PROVINCE||RRA.ADDRESS_DISTRICT||RRA.ADDRESS_TOWN
+        ||RRP.ADDRESS_DELIVERY_ADDRESS "realAddress"
+        from RMS_RECEIVE_PLACE RRP
+        LEFT JOIN RMS_RECEIVE_ADDRESS RRA
+        ON RRA.ADDRESS_ID=RRP.ADDRESS_ID
+        WHERE RRP.PLACE_ID=ASOM.HISTORY_SHIPPING_ADDRESS_ID)
+        when nvl(ASOM.HISTORY_SHIPPING_ADDRESS_ID,0) =0
+        then
+        RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT ||
+        RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS
+        end  "addressPlace",
+        --卸货城市
+        case
+        when nvl(ASOM.HISTORY_SHIPPING_ADDRESS_ID,0)=0
+        THEN NULL
+        WHEN NVL(ASOM.HISTORY_SHIPPING_ADDRESS_ID,0)!=0
+        THEN RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT ||
+        RRA.ADDRESS_TOWN|| RRP.ADDRESS_DELIVERY_ADDRESS end "actualAddress",
+        RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT ||
+        RRA.ADDRESS_TOWN AS "actualCity",
+        RRP.PLACE_ID "placeId",
+        RRP.ADDRESS_DELIVERY_ADDRESS "place",
+        RRA.ADDRESS_ID "shipperAddressId",
+        RRA.ADDRESS_PROVINCE "addressProvince",
+        RRA.ADDRESS_DISTRICT "addressDistrict",
+        RRA.ADDRESS_TOWN "addressTown",
+        OO.ORDER_LINE_SEQUENCE "lineSqe",
+        OO.DRIVER_TEL "capacityTel",
+        TWR.RESULT_GROSS_WEIGHT "grossWeight",
+        TWR.RESULT_GROSS_WEIGHT_TIME "grossWeightTime",
+        TWR.RESULT_TARE_WEIGHT       "tareWeight",
+        TWR.RESULT_TARE_WEIGHT_TIME  "tareWeightTime",
+        TWR.RESULT_NET_WEIGHT        "netWeight",
+        TLFR.RESULT_OUT_GATE_TIME    "outGateTime",
+        TER.RESULT_ENTRY_GATE_TIME   "entryGateTime",
+        TAR.RESULT_ARRIVAL_ADDRESS "arrivalAddress",
+        TRR.RESULT_ARRIVAL_ADDRESS "receiptAddress",
+        ASOM.SALE_DATE_OF_RECEIPT   "saleDateReceipt",
+        R_CARRIER.CARRIER_ID        "carrierId",
+        OO.CAPACITYIDS "capacityNumbers",
+        NVL(R_CARRIER.CARRIER_ID,0) "carrierIds",
+        OO.CAN_WORK     "canwork",
+        OO.ORDER_STATUS              "carStatus",
+        RSA.AREA_NAME "areaName",
+        TAR.INSERT_TIME "arrivalTime",
+        TRR.INSERT_TIME "receiptTime",
+        ASO.sale_remark "saleRemark",
+        DECODE(OO.PRINTNUMBER,1,'已打印','未打印') "isPrintDelivery",
+        BDO.PRICEIDS "priceIds",
+        --理重
+        ASM.MATERIAL_WEIGHT "materialWeight",
+        --收款客户
+        ASO.SALE_ORDER_RECEIVE_CUSTOMER "saleOrderReceiveCustomer",
+        --付款客户
+        ASO.SALE_ORDER_RECEIVE_CUSTOMER "paymentCustomer",
+        --结算方式
+        RC.CONSIGNEE_SETTLEMENT_METHOD "consingneeSettlementMethod",
+        --卸货类别
+        RRP.UNLOAD_TYPE "unloadType",
+        --计划件数
+        ASM.MATERIAL_PLAN_NUMBER "materialPlanNumber",
+        --制单时间
+        ASM.SALE_MAKE_DATE "saleMakeDate"
+        FROM AMS_SALE_ORDER ASO
+        LEFT JOIN RMS_CONSIGNEE RC
+        ON RC.CONSIGNEE_ID = ASO.RECEIVE_ID
+        LEFT JOIN RMS_SHIPPER RS
+        ON RS.SHIPPER_ID = ASO.SHIPPER_ID
+        LEFT JOIN RMS_SALE_AREA RSA
+        ON RSA.AREA_ID=RC.AREA_ID
+        LEFT JOIN RMS_SALER RSR
+        ON RSR.SALER_ID = ASO.SALER_ID
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+        ON ASOM.SALE_ORDER_ID = ASO.SALE_ORDER_ID
+        LEFT JOIN RMS_RECEIVE_PLACE RRP
+        ON RRP.PLACE_ID = ASOM.SALE_SHIPPING_ADDRESS_ID
+        LEFT JOIN RMS_RECEIVE_ADDRESS RRA
+        ON RRA.ADDRESS_ID = RRP.ADDRESS_ID
+        LEFT JOIN AMS_DISPATCH_SALE_ORDER ADSO
+        ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+        LEFT JOIN RMS_CARRIER R_CARRIER
+        ON R_CARRIER.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 RMS_MATERIAL RM
+        ON RM.MATERIAL_ID = ASM.MATERIAL_ID
+        LEFT JOIN OMSTRUCK_ORDER OO
+        ON OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID
+        AND NVL(OO.ORDER_TYPE,0) in (0,1)
+        LEFT JOIN RMS_CAPACITY RCA
+        ON RCA.CAPACITY_ID = OO.CAPACITY_ID
+        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_WEIGHT_RESULT TWR
+        ON TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+        AND TWR.MATERIAL_ID = RM.MATERIAL_ID
+        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
+        LEFT JOIN TMSTRUCK_LEAVE_FACTORY_RESULT TLFR
+        ON TLFR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+        LEFT JOIN TMSTRUCK_ARRIVAL_RESULT TAR
+        ON TAR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+        LEFT JOIN TMStRUCK_RECEIPT_RESULT TRR
+        ON TTR.RESULT_TOTAL_ID = TRR.RESULT_TOTAL_ID
+        WHERE ASO.SALE_TYPE = 1
+        AND ASO.DELETED = 0
+        and ASM.SALE_MATERIAL_ID IS NOT NULL
+        and BDO.WETHER_TO_STATEMENT = 1
+        AND BDO.STATEMENT_ID = #{statementId}
+        <if test="oneDate != null">
+            and to_date(#{oneDate}, 'yyyy-mm-dd') &lt; = to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd'),'yyyy-mm-dd')
+        </if>
+        <if test="carrierSsoId != null">
+            and R_CARRIER.CARRIER_SSO_ID = #{carrierSsoId}
+        </if>
+        <if test="startDate != null">
+            and to_date(#{startDate}, 'yyyy-mm-dd') &lt;=  to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd'),'yyyy-mm-dd')
+            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}
+        </if>
+        <if test="salers != null">
+            and RSR.SALER_NAME = #{salers}
+        </if>
+        <if test="easPrimaryId != null">
+            and ASM.EAS_PRIMARY_ID = #{easPrimaryId}
+        </if>
+        <if test="capacityNum != null">
+            and  RCA.CAPACITY_NUMBER like #{capacityNum}
+        </if>
+        <if test="capacityList != null">
+            and <foreach collection="capacityList" item="item" open="(" separator="or" close=")">
+            <if test="item == null">
+                RCA.CAPACITY_NUMBER is null
+            </if>
+            <if test="item != null">
+                RCA.CAPACITY_NUMBER like '%${item}%'
+            </if>
+        </foreach>
+        </if>
+        <if test="consigneeNames != null">
+            and RC.CONSIGNEE_COMPANY_NAME like #{consigneeNames}
+        </if>
+        <if test="consigneeNameList != null">
+            and <foreach collection="consigneeNameList" item="item" open="(" separator="or" close=")">
+            RC.CONSIGNEE_COMPANY_NAME like '%${item}%'
+        </foreach>
+        </if>
+        <if test="carrierNames != null">
+            and R_CARRIER.CARRIER_ABBREVIATION like #{carrierNames}
+        </if>
+        <if test="carrierList != null ">
+            and <foreach collection="carrierList" item="item" open="(" separator="or" close=")">
+            <if test="item == null">
+                R_CARRIER.CARRIER_ABBREVIATION is null
+            </if>
+            <if test="item != null">
+                (CASE WHEN ASO.SALE_ORDER_ISSELF_MENTION = '是'
+                THEN '自提'
+                ELSE R_CARRIER.CARRIER_ABBREVIATION
+                END) like '%${item}%'
+            </if>
+        </foreach>
+        </if>
+        <if test="materialNameList != null">
+            and <foreach collection="materialNameList" item="item" open="(" separator="or" close=")">
+            RM.MATERIAL_NAME like '%${item}%'
+        </foreach>
+        </if>
+        <if test="saleAreaList != null">
+            and <foreach collection="saleAreaList" item="item" open="(" separator="or" close=")">
+            RSA.AREA_NAME like '%${item}%'
+        </foreach>
+        </if>
+        <if test="orderStatusList != null">
+            and <foreach collection="orderStatusList" item="item" open="(" separator="or" close=")">
+            (CASE
+            when OO.ORDER_STATUS =2
+            then '作业已完成'
+            when OO.ORDER_STATUS=4
+            then '物流公司已派单'
+            when nvl(OO.ORDER_STATUS,0)=0
+            then '未派发'
+            when OO.ORDER_STATUS=7
+            then '已关闭'
+            when OO.ORDER_STATUS=8
+            then '已关闭'
+            WHEN TRR.INSERT_TIME IS NOT NULL
+            THEN '已完成'
+            WHEN TLFR.RESULT_OUT_GATE_TIME IS NOT NULL
+            THEN '已出厂'
+            WHEN TER.RESULT_ENTRY_GATE_TIME IS NOT NULL
+            THEN '已进厂'
+            WHEN QQR.RESULT_START_TIME IS NOT NULL
+            THEN '排队中'
+            when OO.ORDER_STATUS=5
+            then '司机已接单'
+            WHEN TER.INSERT_TIME IS NULL
+            THEN ' '
+            WHEN TLFR.INSERT_TIME IS NULL THEN ' '
+            END) like '%${item}%'
+        </foreach>
+        </if>
+        <if test="addressPlaceList != null">
+            and <foreach collection="addressPlaceList" item="item" open="(" separator="or" close=")">
+            RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT ||
+            RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS like '%${item}%'
+        </foreach>
+        </if>
+        <if test="materialSpeList != null">
+            and <foreach collection="materialSpeList" item="item" open="(" separator="or" close=")">
+            RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL like '%${item}%'
+        </foreach>
+        </if>
+        <if test="saleOrderStatusList != null">
+            and <foreach collection="saleOrderStatusList" item="item" open="(" separator="or" close=")">
+            DECODE(ASO.SALE_ORDER_STATUS,1,'保存',
+            2,'提交',
+            4,'审核',
+            0,'未上报') like '%${item}%'
+        </foreach>
+        </if>
+        order by ASO.SALE_ORDER_ID DESC, ASOM.SALE_ORDER_MATERIAL_ID DESC,OO.ORDER_ID  DESC
+        )
+    </select>
 </mapper>