فهرست منبع

Merge remote-tracking branch 'origin/master'

zengyf 2 سال پیش
والد
کامیت
4cd7672b32

+ 38 - 6
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");
     /**
      * 展示汽运账单信息
      *
@@ -55,7 +57,14 @@ public class BmstruckStatementController extends BaseRESTfulController {
     public RESTfulResult getTruckStatementList(@RequestBody(required = false) Map<String, Object> mapValue,
                                                Integer pageNum,
                                                Integer pageSize,
-                                               Integer apiId) {
+                                               Integer apiId,
+                                               String userId,
+                                               String startTime,
+                                               String endTime,
+                                               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);
         //分页查询数据
@@ -67,7 +76,7 @@ public class BmstruckStatementController extends BaseRESTfulController {
     /**
      * 生成汽运账单
      *
-     * @param mapList
+     * @param map
      * @return
      */
     @ApiModelProperty(value = "生成汽运账单")
@@ -75,9 +84,18 @@ public class BmstruckStatementController extends BaseRESTfulController {
             @ApiImplicitParam(name = "mapList", value = "详单列表", required = false, dataType = "java.util.List"),
     })
     @PostMapping("/addTruckStatement")
-    public RESTfulResult addTruckStatement(@RequestBody List<Map<String, Object>> mapList) {
-        int code1 = bmstruckStatementService.addTruckStatement(mapList);
-        return success(code1);
+    public RESTfulResult addTruckStatement(@RequestBody Map<String, Object> map) {
+        try{
+            int code1 = bmstruckStatementService.addTruckStatement(map);
+            return success(code1);
+        }catch (Exception e){
+            e.printStackTrace();
+            String message="新增失败";
+            if(!e.getMessage().contains("Exception")){
+                message+=(":"+e.getMessage());
+            }
+            return failed(message);
+        }
     }
 
     /**
@@ -147,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;
+        }
+    }
 }

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

@@ -8,6 +8,7 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
 @Mapper
@@ -33,4 +34,22 @@ public interface BmstruckStatementMapper extends IBaseMapper<BmstruckStatement,
     List<Map<String, Object>> getSaleTruckStatementDetailsOrderList(Map<String, Object> mapVal);
     //通过账单id获取账单对应的详单信息
     List<BigDecimal> getDetailById(BigDecimal statementId);
+
+    //查询统计信息
+    Map<String,Object> getDetails(Map<String, Object> mapVal);
+
+    //查询承运商和收货客户Id
+    List<Map<String, Object>> getDetailIds(Map<String, Object> mapVal);
+
+    //批量修改详单
+    int batchUpdateDetails(Map<String, Object> mapVal);
+
+    //查询是否已绑定账单
+    List<BigDecimal> getStatementIds(Map<String, Object> mapVal);
+
+    //取消所有绑定
+    int updateAllBind(@Param(value = "statementIds") List<BigDecimal> statementIds);
+
+    //查询账单下的所有详单
+    List<Map<String, Object>> findDetailsForStatement(Map<String, Object> map);
 }

+ 119 - 24
src/main/java/com/steerinfo/dil/model/BmstruckStatement.java

@@ -9,7 +9,7 @@ import java.util.Date;
 @ApiModel(value="结算单")
 public class BmstruckStatement implements IBasePO<BigDecimal> {
     /**
-     * 主键id(STATEMENT_ID,DECIMAL,38)
+     * 主键id(STATEMENT_ID,DECIMAL,0)
      */
     @ApiModelProperty(value="主键id",required=true)
     private BigDecimal statementId;
@@ -21,7 +21,7 @@ public class BmstruckStatement implements IBasePO<BigDecimal> {
     private String statementNumber;
 
     /**
-     * 额外费用id(COST_ID,DECIMAL,38)
+     * 额外费用id(COST_ID,DECIMAL,0)
      */
     @ApiModelProperty(value="额外费用id",required=false)
     private BigDecimal costId;
@@ -92,13 +92,41 @@ public class BmstruckStatement implements IBasePO<BigDecimal> {
     @ApiModelProperty(value="审核状态(0:未审核,1:已审核)",required=false)
     private BigDecimal statementType;
 
-    public BigDecimal getStatementType() {
-        return statementType;
-    }
+    /**
+     * 金蝶核准金额(EAS_AMOUNT,DECIMAL,0)
+     */
+    @ApiModelProperty(value="金蝶核准金额",required=false)
+    private BigDecimal easAmount;
 
-    public void setStatementType(BigDecimal statementType) {
-        this.statementType = statementType;
-    }
+    /**
+     * 计算总金额(SUM_AMOUNT,DECIMAL,0)
+     */
+    @ApiModelProperty(value="计算总金额",required=false)
+    private BigDecimal sumAmount;
+
+    /**
+     * 总车数(CAR_NUM,DECIMAL,0)
+     */
+    @ApiModelProperty(value="总车数",required=false)
+    private BigDecimal carNum;
+
+    /**
+     * 收货客户(CONSIGNEE_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="收货客户",required=false)
+    private BigDecimal consigneeId;
+
+    /**
+     * 承运商(CARRIER_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="承运商",required=false)
+    private BigDecimal carrierId;
+
+    /**
+     * 发票图片(PHOTO,VARCHAR,255)
+     */
+    @ApiModelProperty(value="发票图片",required=false)
+    private String photo;
 
     private static final long serialVersionUID = 1L;
 
@@ -216,23 +244,90 @@ public class BmstruckStatement implements IBasePO<BigDecimal> {
         this.insertUpdateRemark = insertUpdateRemark == null ? null : insertUpdateRemark.trim();
     }
 
+    public BigDecimal getStatementType() {
+        return statementType;
+    }
+
+    public void setStatementType(BigDecimal statementType) {
+        this.statementType = statementType;
+    }
+
+    public BigDecimal getEasAmount() {
+        return easAmount;
+    }
+
+    public void setEasAmount(BigDecimal easAmount) {
+        this.easAmount = easAmount;
+    }
+
+    public BigDecimal getSumAmount() {
+        return sumAmount;
+    }
+
+    public void setSumAmount(BigDecimal sumAmount) {
+        this.sumAmount = sumAmount;
+    }
+
+    public BigDecimal getCarNum() {
+        return carNum;
+    }
+
+    public void setCarNum(BigDecimal carNum) {
+        this.carNum = carNum;
+    }
+
+    public BigDecimal getConsigneeId() {
+        return consigneeId;
+    }
+
+    public void setConsigneeId(BigDecimal consigneeId) {
+        this.consigneeId = consigneeId;
+    }
+
+    public BigDecimal getCarrierId() {
+        return carrierId;
+    }
+
+    public void setCarrierId(BigDecimal carrierId) {
+        this.carrierId = carrierId;
+    }
+
+    public String getPhoto() {
+        return photo;
+    }
+
+    public void setPhoto(String photo) {
+        this.photo = photo == null ? null : photo.trim();
+    }
+
     @Override
     public String toString() {
-        return "BmstruckStatement{" +
-                "statementId=" + statementId +
-                ", statementNumber='" + statementNumber + '\'' +
-                ", costId=" + costId +
-                ", statementPaymentUnit='" + statementPaymentUnit + '\'' +
-                ", statementExcludTax=" + statementExcludTax +
-                ", statementIncludTax=" + statementIncludTax +
-                ", statementRemark='" + statementRemark + '\'' +
-                ", statementSettlementStatus='" + statementSettlementStatus + '\'' +
-                ", insertUsername='" + insertUsername + '\'' +
-                ", insertTime=" + insertTime +
-                ", updateUsername='" + updateUsername + '\'' +
-                ", updateTime=" + updateTime +
-                ", insertUpdateRemark='" + insertUpdateRemark + '\'' +
-                ", statementType=" + statementType +
-                '}';
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", statementId=").append(statementId);
+        sb.append(", statementNumber=").append(statementNumber);
+        sb.append(", costId=").append(costId);
+        sb.append(", statementPaymentUnit=").append(statementPaymentUnit);
+        sb.append(", statementExcludTax=").append(statementExcludTax);
+        sb.append(", statementIncludTax=").append(statementIncludTax);
+        sb.append(", statementRemark=").append(statementRemark);
+        sb.append(", statementSettlementStatus=").append(statementSettlementStatus);
+        sb.append(", insertUsername=").append(insertUsername);
+        sb.append(", insertTime=").append(insertTime);
+        sb.append(", updateUsername=").append(updateUsername);
+        sb.append(", updateTime=").append(updateTime);
+        sb.append(", insertUpdateRemark=").append(insertUpdateRemark);
+        sb.append(", statementType=").append(statementType);
+        sb.append(", easAmount=").append(easAmount);
+        sb.append(", sumAmount=").append(sumAmount);
+        sb.append(", carNum=").append(carNum);
+        sb.append(", consigneeId=").append(consigneeId);
+        sb.append(", carrierId=").append(carrierId);
+        sb.append(", photo=").append(photo);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
     }
 }

+ 6 - 2
src/main/java/com/steerinfo/dil/service/IBmstruckStatementService.java

@@ -31,10 +31,10 @@ public interface IBmstruckStatementService{
 
     /**
      * 生成汽运账单
-     * @param mapList
+     * @param map
      * @return
      */
-    int addTruckStatement(List<Map<String, Object>> mapList);
+    int addTruckStatement(Map<String, Object> map) throws Exception;
 
     /**
      * 展示账单下的详单
@@ -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);
 }

+ 47 - 75
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;
     }
 
@@ -94,24 +69,41 @@ public class BmstruckStatementServiceImpl implements IBmstruckStatementService {
     /**
      * 生成汽运账单
      *
-     * @param mapList
+     * @param map
      * @return
      */
     @Transactional
     @Override
-    public int addTruckStatement(List<Map<String, Object>> mapList) {
+    public int addTruckStatement(Map<String, Object> map) throws Exception {
+        BigDecimal excludeTax =  DataChange.dataToBigDecimal( map.get("excludeTax"));
+        String url = map.get("url").toString();
+        //查询统计信息
+        Map<String,Object> count = bmstruckStatementMapper.getDetails(map);
+        //查询单位
+        List<Map<String, Object>> companys = bmstruckStatementMapper.getDetailIds(map);
+        if(companys.size()>1){
+            throw new Exception("存在多个承运商和收货客户!请检查所勾选的订单!");
+        }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();
-        BmstruckCheck bmstruckCheck = new BmstruckCheck();
+        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));
+        bmstruckStatement.setConsigneeId(DataChange.dataToBigDecimal(companys.get(0).get("consigneeId")));
+        bmstruckStatement.setCarrierId(DataChange.dataToBigDecimal(companys.get(0).get("carrierId")));
+        bmstruckStatement.setStatementExcludTax(excludeTax.setScale(2,BigDecimal.ROUND_HALF_UP));
+        bmstruckStatement.setPhoto(url);
         // 汽运账单主键
         BigDecimal statementId = bmstruckStatementMapper.selectStatementId();
         bmstruckStatement.setStatementId(statementId);
-        BigDecimal checkId = bmstruckCheckMapper.selectCheckId();
-        bmstruckCheck.setCheckId(checkId);
-        bmstruckCheck.setStatementId(statementId);
-        bmstruckCheck.setCheckCarrierStatus(new BigDecimal(0));
-        bmstruckCheck.setCheckShipperStatus(new BigDecimal(0));
-        bmstruckCheck.setCheckReceiveCustomerStatus(new BigDecimal(0));
-        bmstruckCheckMapper.insertSelective(bmstruckCheck);
         // 汽运账单编号
         String statementNumber = noUtil.setResultNo("QYZD", statementId);
         bmstruckStatement.setStatementNumber(statementNumber);
@@ -121,38 +113,14 @@ public class BmstruckStatementServiceImpl implements IBmstruckStatementService {
         bmstruckStatement.setStatementRemark("汽运费账单");
         // 常规字段
         bmstruckStatement.setInsertTime(new Date());
-        bmstruckStatement.setInsertUsername("admin");
+        bmstruckStatement.setInsertUsername(map.get("userId").toString());
         bmstruckStatement.setUpdateTime(new Date());
         bmstruckStatement.setUpdateUsername("admin");
         bmstruckStatement.setInsertUpdateRemark("无");
-        Double doubleTotalAmount = new Double(0);
-        for (Map<String, Object> map : mapList) {
-            // 中间表主键
-            BigDecimal detailsStatementId = bmstruckDetailsStatementMapper.selectDetailsStatementId();
-            // 详单id
-            BigDecimal detailsId = new BigDecimal((Integer) map.get("detailsId"));
-            BmstruckDetailsOrder bmstruckDetailsOrder = bmstruckDetailsOrderMapper.selectByPrimaryKey(detailsId);
-            bmstruckDetailsOrder.setWetherToStatement(new BigDecimal(1));
-            bmstruckDetailsOrderMapper.updateByPrimaryKeySelective(bmstruckDetailsOrder);
-            BmstruckDetailsStatement bmstruckDetailsStatement = new BmstruckDetailsStatement();
-            bmstruckDetailsStatement.setDetailsStatementId(detailsStatementId);
-            bmstruckDetailsStatement.setStatementId(statementId);
-            bmstruckDetailsStatement.setDetailsId(detailsId);
-            // 设置常规字段
-            bmstruckDetailsStatement.setInsertTime(new Date());
-            bmstruckDetailsStatement.setInsertUsername("admin");
-            bmstruckDetailsStatement.setUpdateTime(new Date());
-            bmstruckDetailsStatement.setUpdateUsername("admin");
-            bmstruckDetailsStatement.setInsertUpdateRemark("无");
-            BigDecimal detailsAmount = DataChange.dataToBigDecimal(map.get("detailsAmount"));
-            Double detailsAmountDouble = Double.valueOf(detailsAmount.toString());
-            doubleTotalAmount += detailsAmountDouble;
-            bmstruckDetailsStatementMapper.insertSelective(bmstruckDetailsStatement);
-        }
-        DecimalFormat df = new DecimalFormat("0.00");
-        String statementTotalAmount = df.format(doubleTotalAmount);
-        bmstruckStatement.setStatementExcludTax(new BigDecimal(statementTotalAmount));
         int code = bmstruckStatementMapper.insertSelective(bmstruckStatement);
+        //详单绑定账单ID
+        map.put("statementId",statementId);
+        bmstruckStatementMapper.batchUpdateDetails(map);
 //        // 调用金蝶接口
 //        List<Map<String, Object>> entries = joinApiFeign.getSaleDetailsOrder(statementId.intValue());
 //        Map<String,Object> head = joinApiFeign.getStatement(statementId.intValue());
@@ -244,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);
     }
 
@@ -266,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();
+    }
 }

+ 611 - 81
src/main/resources/com/steerinfo/dil/mapper/BmstruckStatementMapper.xml

@@ -2,39 +2,44 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.steerinfo.dil.mapper.BmstruckStatementMapper">
     <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.BmstruckStatement">
-        <id column="STATEMENT_ID" jdbcType="DECIMAL" property="statementId"/>
-        <result column="STATEMENT_NUMBER" jdbcType="VARCHAR" property="statementNumber"/>
-        <result column="COST_ID" jdbcType="DECIMAL" property="costId"/>
-        <result column="STATEMENT_PAYMENT_UNIT" jdbcType="VARCHAR" property="statementPaymentUnit"/>
-        <result column="STATEMENT_EXCLUD_TAX" jdbcType="DECIMAL" property="statementExcludTax"/>
-        <result column="STATEMENT_INCLUD_TAX" jdbcType="DECIMAL" property="statementIncludTax"/>
-        <result column="STATEMENT_REMARK" jdbcType="VARCHAR" property="statementRemark"/>
-        <result column="STATEMENT_SETTLEMENT_STATUS" jdbcType="VARCHAR" property="statementSettlementStatus"/>
-        <result column="INSERT_USERNAME" jdbcType="VARCHAR" property="insertUsername"/>
-        <result column="INSERT_TIME" jdbcType="TIMESTAMP" property="insertTime"/>
-        <result column="UPDATE_USERNAME" jdbcType="VARCHAR" property="updateUsername"/>
-        <result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime"/>
-        <result column="INSERT_UPDATE_REMARK" jdbcType="VARCHAR" property="insertUpdateRemark"/>
+        <id column="STATEMENT_ID" jdbcType="DECIMAL" property="statementId" />
+        <result column="STATEMENT_NUMBER" jdbcType="VARCHAR" property="statementNumber" />
+        <result column="COST_ID" jdbcType="DECIMAL" property="costId" />
+        <result column="STATEMENT_PAYMENT_UNIT" jdbcType="VARCHAR" property="statementPaymentUnit" />
+        <result column="STATEMENT_EXCLUD_TAX" jdbcType="DECIMAL" property="statementExcludTax" />
+        <result column="STATEMENT_INCLUD_TAX" jdbcType="DECIMAL" property="statementIncludTax" />
+        <result column="STATEMENT_REMARK" jdbcType="VARCHAR" property="statementRemark" />
+        <result column="STATEMENT_SETTLEMENT_STATUS" jdbcType="VARCHAR" property="statementSettlementStatus" />
+        <result column="INSERT_USERNAME" jdbcType="VARCHAR" property="insertUsername" />
+        <result column="INSERT_TIME" jdbcType="TIMESTAMP" property="insertTime" />
+        <result column="UPDATE_USERNAME" jdbcType="VARCHAR" property="updateUsername" />
+        <result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime" />
+        <result column="INSERT_UPDATE_REMARK" jdbcType="VARCHAR" property="insertUpdateRemark" />
+        <result column="STATEMENT_TYPE" jdbcType="DECIMAL" property="statementType" />
+        <result column="EAS_AMOUNT" jdbcType="DECIMAL" property="easAmount" />
+        <result column="SUM_AMOUNT" jdbcType="DECIMAL" property="sumAmount" />
+        <result column="CAR_NUM" jdbcType="DECIMAL" property="carNum" />
+        <result column="CONSIGNEE_ID" jdbcType="DECIMAL" property="consigneeId" />
+        <result column="CARRIER_ID" jdbcType="DECIMAL" property="carrierId" />
+        <result column="PHOTO" jdbcType="VARCHAR" property="photo" />
     </resultMap>
     <sql id="columns">
         STATEMENT_ID, STATEMENT_NUMBER, COST_ID, STATEMENT_PAYMENT_UNIT, STATEMENT_EXCLUD_TAX,
-    STATEMENT_INCLUD_TAX, STATEMENT_REMARK, STATEMENT_SETTLEMENT_STATUS, INSERT_USERNAME, 
-    INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK
+    STATEMENT_INCLUD_TAX, STATEMENT_REMARK, STATEMENT_SETTLEMENT_STATUS, INSERT_USERNAME,
+    INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK, STATEMENT_TYPE,
+    EAS_AMOUNT, SUM_AMOUNT, CAR_NUM, CONSIGNEE_ID, CARRIER_ID, PHOTO
     </sql>
     <sql id="columns_alias">
         t.STATEMENT_ID, t.STATEMENT_NUMBER, t.COST_ID, t.STATEMENT_PAYMENT_UNIT, t.STATEMENT_EXCLUD_TAX,
-    t.STATEMENT_INCLUD_TAX, t.STATEMENT_REMARK, t.STATEMENT_SETTLEMENT_STATUS, t.INSERT_USERNAME, 
-    t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK
+    t.STATEMENT_INCLUD_TAX, t.STATEMENT_REMARK, t.STATEMENT_SETTLEMENT_STATUS, t.INSERT_USERNAME,
+    t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.STATEMENT_TYPE,
+    t.EAS_AMOUNT, t.SUM_AMOUNT, t.CAR_NUM, t.CONSIGNEE_ID, t.CARRIER_ID, t.PHOTO
     </sql>
     <sql id="select">
-        SELECT
-        <include refid="columns"/>
-        FROM BMSTRUCK_STATEMENT
+        SELECT <include refid="columns" /> FROM BMSTRUCK_STATEMENT
     </sql>
     <sql id="select_alias">
-        SELECT
-        <include refid="columns_alias"/>
-        FROM BMSTRUCK_STATEMENT t
+        SELECT <include refid="columns_alias" /> FROM BMSTRUCK_STATEMENT t
     </sql>
     <sql id="where">
         <where>
@@ -77,6 +82,27 @@
             <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
                 and INSERT_UPDATE_REMARK = #{insertUpdateRemark}
             </if>
+            <if test="statementType != null">
+                and STATEMENT_TYPE = #{statementType}
+            </if>
+            <if test="easAmount != null">
+                and EAS_AMOUNT = #{easAmount}
+            </if>
+            <if test="sumAmount != null">
+                and SUM_AMOUNT = #{sumAmount}
+            </if>
+            <if test="carNum != null">
+                and CAR_NUM = #{carNum}
+            </if>
+            <if test="consigneeId != null">
+                and CONSIGNEE_ID = #{consigneeId}
+            </if>
+            <if test="carrierId != null">
+                and CARRIER_ID = #{carrierId}
+            </if>
+            <if test="photo != null and photo != ''">
+                and PHOTO = #{photo}
+            </if>
         </where>
     </sql>
     <sql id="whereLike">
@@ -120,11 +146,31 @@
             <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
                 and INSERT_UPDATE_REMARK LIKE '%${insertUpdateRemark}%'
             </if>
+            <if test="statementType != null">
+                and STATEMENT_TYPE = #{statementType}
+            </if>
+            <if test="easAmount != null">
+                and EAS_AMOUNT = #{easAmount}
+            </if>
+            <if test="sumAmount != null">
+                and SUM_AMOUNT = #{sumAmount}
+            </if>
+            <if test="carNum != null">
+                and CAR_NUM = #{carNum}
+            </if>
+            <if test="consigneeId != null">
+                and CONSIGNEE_ID = #{consigneeId}
+            </if>
+            <if test="carrierId != null">
+                and CARRIER_ID = #{carrierId}
+            </if>
+            <if test="photo != null and photo != ''">
+                and PHOTO LIKE '%${photo}%'
+            </if>
         </where>
     </sql>
     <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
-        delete
-        from BMSTRUCK_STATEMENT
+        delete from BMSTRUCK_STATEMENT
         where STATEMENT_ID = #{statementId,jdbcType=DECIMAL}
     </delete>
     <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
@@ -166,20 +212,45 @@
         <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
             or INSERT_UPDATE_REMARK = #{insertUpdateRemark}
         </if>
+        <if test="statementType != null">
+            or STATEMENT_TYPE = #{statementType}
+        </if>
+        <if test="easAmount != null">
+            or EAS_AMOUNT = #{easAmount}
+        </if>
+        <if test="sumAmount != null">
+            or SUM_AMOUNT = #{sumAmount}
+        </if>
+        <if test="carNum != null">
+            or CAR_NUM = #{carNum}
+        </if>
+        <if test="consigneeId != null">
+            or CONSIGNEE_ID = #{consigneeId}
+        </if>
+        <if test="carrierId != null">
+            or CARRIER_ID = #{carrierId}
+        </if>
+        <if test="photo != null and photo != ''">
+            or PHOTO = #{photo}
+        </if>
     </delete>
     <insert id="insert" parameterType="com.steerinfo.dil.model.BmstruckStatement">
         insert into BMSTRUCK_STATEMENT (STATEMENT_ID, STATEMENT_NUMBER, COST_ID,
                                         STATEMENT_PAYMENT_UNIT, STATEMENT_EXCLUD_TAX,
                                         STATEMENT_INCLUD_TAX, STATEMENT_REMARK, STATEMENT_SETTLEMENT_STATUS,
                                         INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME,
-                                        UPDATE_TIME, INSERT_UPDATE_REMARK)
+                                        UPDATE_TIME, INSERT_UPDATE_REMARK, STATEMENT_TYPE,
+                                        EAS_AMOUNT, SUM_AMOUNT, CAR_NUM,
+                                        CONSIGNEE_ID, CARRIER_ID, PHOTO
+        )
         values (#{statementId,jdbcType=DECIMAL}, #{statementNumber,jdbcType=VARCHAR}, #{costId,jdbcType=DECIMAL},
                 #{statementPaymentUnit,jdbcType=VARCHAR}, #{statementExcludTax,jdbcType=DECIMAL},
-                #{statementIncludTax,jdbcType=DECIMAL}, #{statementRemark,jdbcType=VARCHAR},
-                #{statementSettlementStatus,jdbcType=VARCHAR},
-                #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP},
-                #{updateUsername,jdbcType=VARCHAR},
-                #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR})
+                #{statementIncludTax,jdbcType=DECIMAL}, #{statementRemark,jdbcType=VARCHAR}, #{statementSettlementStatus,jdbcType=VARCHAR},
+                #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR},
+                #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR}, #{statementType,jdbcType=DECIMAL},
+                #{easAmount,jdbcType=DECIMAL}, #{sumAmount,jdbcType=DECIMAL}, #{carNum,jdbcType=DECIMAL},
+                #{consigneeId,jdbcType=DECIMAL}, #{carrierId,jdbcType=DECIMAL}, #{photo,jdbcType=VARCHAR}
+               )
     </insert>
     <insert id="insertSelective" parameterType="com.steerinfo.dil.model.BmstruckStatement">
         insert into BMSTRUCK_STATEMENT
@@ -223,6 +294,27 @@
             <if test="insertUpdateRemark != null">
                 INSERT_UPDATE_REMARK,
             </if>
+            <if test="statementType != null">
+                STATEMENT_TYPE,
+            </if>
+            <if test="easAmount != null">
+                EAS_AMOUNT,
+            </if>
+            <if test="sumAmount != null">
+                SUM_AMOUNT,
+            </if>
+            <if test="carNum != null">
+                CAR_NUM,
+            </if>
+            <if test="consigneeId != null">
+                CONSIGNEE_ID,
+            </if>
+            <if test="carrierId != null">
+                CARRIER_ID,
+            </if>
+            <if test="photo != null">
+                PHOTO,
+            </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="statementId != null">
@@ -264,22 +356,50 @@
             <if test="insertUpdateRemark != null">
                 #{insertUpdateRemark,jdbcType=VARCHAR},
             </if>
+            <if test="statementType != null">
+                #{statementType,jdbcType=DECIMAL},
+            </if>
+            <if test="easAmount != null">
+                #{easAmount,jdbcType=DECIMAL},
+            </if>
+            <if test="sumAmount != null">
+                #{sumAmount,jdbcType=DECIMAL},
+            </if>
+            <if test="carNum != null">
+                #{carNum,jdbcType=DECIMAL},
+            </if>
+            <if test="consigneeId != null">
+                #{consigneeId,jdbcType=DECIMAL},
+            </if>
+            <if test="carrierId != null">
+                #{carrierId,jdbcType=DECIMAL},
+            </if>
+            <if test="photo != null">
+                #{photo,jdbcType=VARCHAR},
+            </if>
         </trim>
     </insert>
     <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.BmstruckStatement">
         update BMSTRUCK_STATEMENT
-        set STATEMENT_NUMBER            = #{statementNumber,jdbcType=VARCHAR},
-            COST_ID                     = #{costId,jdbcType=DECIMAL},
-            STATEMENT_PAYMENT_UNIT      = #{statementPaymentUnit,jdbcType=VARCHAR},
-            STATEMENT_EXCLUD_TAX        = #{statementExcludTax,jdbcType=DECIMAL},
-            STATEMENT_INCLUD_TAX        = #{statementIncludTax,jdbcType=DECIMAL},
-            STATEMENT_REMARK            = #{statementRemark,jdbcType=VARCHAR},
+        set STATEMENT_NUMBER = #{statementNumber,jdbcType=VARCHAR},
+            COST_ID = #{costId,jdbcType=DECIMAL},
+            STATEMENT_PAYMENT_UNIT = #{statementPaymentUnit,jdbcType=VARCHAR},
+            STATEMENT_EXCLUD_TAX = #{statementExcludTax,jdbcType=DECIMAL},
+            STATEMENT_INCLUD_TAX = #{statementIncludTax,jdbcType=DECIMAL},
+            STATEMENT_REMARK = #{statementRemark,jdbcType=VARCHAR},
             STATEMENT_SETTLEMENT_STATUS = #{statementSettlementStatus,jdbcType=VARCHAR},
-            INSERT_USERNAME             = #{insertUsername,jdbcType=VARCHAR},
-            INSERT_TIME                 = #{insertTime,jdbcType=TIMESTAMP},
-            UPDATE_USERNAME             = #{updateUsername,jdbcType=VARCHAR},
-            UPDATE_TIME                 = #{updateTime,jdbcType=TIMESTAMP},
-            INSERT_UPDATE_REMARK        = #{insertUpdateRemark,jdbcType=VARCHAR}
+            INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+            INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+            UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+            UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+            INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+            STATEMENT_TYPE = #{statementType,jdbcType=DECIMAL},
+            EAS_AMOUNT = #{easAmount,jdbcType=DECIMAL},
+            SUM_AMOUNT = #{sumAmount,jdbcType=DECIMAL},
+            CAR_NUM = #{carNum,jdbcType=DECIMAL},
+            CONSIGNEE_ID = #{consigneeId,jdbcType=DECIMAL},
+            CARRIER_ID = #{carrierId,jdbcType=DECIMAL},
+            PHOTO = #{photo,jdbcType=VARCHAR}
         where STATEMENT_ID = #{statementId,jdbcType=DECIMAL}
     </update>
     <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.BmstruckStatement">
@@ -321,20 +441,41 @@
             <if test="insertUpdateRemark != null">
                 INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
             </if>
+            <if test="statementType != null">
+                STATEMENT_TYPE = #{statementType,jdbcType=DECIMAL},
+            </if>
+            <if test="easAmount != null">
+                EAS_AMOUNT = #{easAmount,jdbcType=DECIMAL},
+            </if>
+            <if test="sumAmount != null">
+                SUM_AMOUNT = #{sumAmount,jdbcType=DECIMAL},
+            </if>
+            <if test="carNum != null">
+                CAR_NUM = #{carNum,jdbcType=DECIMAL},
+            </if>
+            <if test="consigneeId != null">
+                CONSIGNEE_ID = #{consigneeId,jdbcType=DECIMAL},
+            </if>
+            <if test="carrierId != null">
+                CARRIER_ID = #{carrierId,jdbcType=DECIMAL},
+            </if>
+            <if test="photo != null">
+                PHOTO = #{photo,jdbcType=VARCHAR},
+            </if>
         </set>
         where STATEMENT_ID = #{statementId,jdbcType=DECIMAL}
     </update>
     <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
-        <include refid="select"/>
+        <include refid="select" />
         where STATEMENT_ID = #{statementId,jdbcType=DECIMAL}
     </select>
     <select id="selectByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
-        <include refid="select"/>
-        <include refid="where"/>
+        <include refid="select" />
+        <include refid="where" />
     </select>
     <select id="selectLikeByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
-        <include refid="select"/>
-        <include refid="whereLike"/>
+        <include refid="select" />
+        <include refid="whereLike" />
     </select>
     <insert id="batchInsert" parameterType="java.util.List">
         insert into BMSTRUCK_STATEMENT
@@ -344,83 +485,116 @@
         STATEMENT_REMARK, STATEMENT_SETTLEMENT_STATUS,
         INSERT_USERNAME, INSERT_TIME,
         UPDATE_USERNAME, UPDATE_TIME,
-        INSERT_UPDATE_REMARK)
+        INSERT_UPDATE_REMARK, STATEMENT_TYPE,
+        EAS_AMOUNT, SUM_AMOUNT, CAR_NUM,
+        CONSIGNEE_ID, CARRIER_ID, PHOTO
+        )
         ( <foreach collection="list" item="item" separator="union all">
         select
         #{item.statementId,jdbcType=DECIMAL},
-        #{item.statementNumber,jdbcType=VARCHAR}, #{item.costId,jdbcType=DECIMAL},
-        #{item.statementPaymentUnit,jdbcType=VARCHAR},
+        #{item.statementNumber,jdbcType=VARCHAR}, #{item.costId,jdbcType=DECIMAL}, #{item.statementPaymentUnit,jdbcType=VARCHAR},
         #{item.statementExcludTax,jdbcType=DECIMAL}, #{item.statementIncludTax,jdbcType=DECIMAL},
         #{item.statementRemark,jdbcType=VARCHAR}, #{item.statementSettlementStatus,jdbcType=VARCHAR},
         #{item.insertUsername,jdbcType=VARCHAR}, #{item.insertTime,jdbcType=TIMESTAMP},
         #{item.updateUsername,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP},
-        #{item.insertUpdateRemark,jdbcType=VARCHAR} from dual
+        #{item.insertUpdateRemark,jdbcType=VARCHAR}, #{item.statementType,jdbcType=DECIMAL},
+        #{item.easAmount,jdbcType=DECIMAL}, #{item.sumAmount,jdbcType=DECIMAL}, #{item.carNum,jdbcType=DECIMAL},
+        #{item.consigneeId,jdbcType=DECIMAL}, #{item.carrierId,jdbcType=DECIMAL}, #{item.photo,jdbcType=VARCHAR}
+        from dual
     </foreach> )
     </insert>
     <update id="batchUpdate" parameterType="java.util.List">
         update BMSTRUCK_STATEMENT
         set
         STATEMENT_ID=
-        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
             when #{item.statementId,jdbcType=DECIMAL} then #{item.statementId,jdbcType=DECIMAL}
         </foreach>
         ,STATEMENT_NUMBER=
-        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
             when #{item.statementId,jdbcType=DECIMAL} then #{item.statementNumber,jdbcType=VARCHAR}
         </foreach>
         ,COST_ID=
-        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
             when #{item.statementId,jdbcType=DECIMAL} then #{item.costId,jdbcType=DECIMAL}
         </foreach>
         ,STATEMENT_PAYMENT_UNIT=
-        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
             when #{item.statementId,jdbcType=DECIMAL} then #{item.statementPaymentUnit,jdbcType=VARCHAR}
         </foreach>
         ,STATEMENT_EXCLUD_TAX=
-        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
             when #{item.statementId,jdbcType=DECIMAL} then #{item.statementExcludTax,jdbcType=DECIMAL}
         </foreach>
         ,STATEMENT_INCLUD_TAX=
-        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
             when #{item.statementId,jdbcType=DECIMAL} then #{item.statementIncludTax,jdbcType=DECIMAL}
         </foreach>
         ,STATEMENT_REMARK=
-        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
             when #{item.statementId,jdbcType=DECIMAL} then #{item.statementRemark,jdbcType=VARCHAR}
         </foreach>
         ,STATEMENT_SETTLEMENT_STATUS=
-        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
             when #{item.statementId,jdbcType=DECIMAL} then #{item.statementSettlementStatus,jdbcType=VARCHAR}
         </foreach>
         ,INSERT_USERNAME=
-        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
             when #{item.statementId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
         </foreach>
         ,INSERT_TIME=
-        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
             when #{item.statementId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
         </foreach>
         ,UPDATE_USERNAME=
-        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
             when #{item.statementId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
         </foreach>
         ,UPDATE_TIME=
-        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
             when #{item.statementId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
         </foreach>
         ,INSERT_UPDATE_REMARK=
-        <foreach collection="list" item="item" index="index" separator=" " open="case STATEMENT_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
             when #{item.statementId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
         </foreach>
+        ,STATEMENT_TYPE=
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
+            when #{item.statementId,jdbcType=DECIMAL} then #{item.statementType,jdbcType=DECIMAL}
+        </foreach>
+        ,EAS_AMOUNT=
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
+            when #{item.statementId,jdbcType=DECIMAL} then #{item.easAmount,jdbcType=DECIMAL}
+        </foreach>
+        ,SUM_AMOUNT=
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
+            when #{item.statementId,jdbcType=DECIMAL} then #{item.sumAmount,jdbcType=DECIMAL}
+        </foreach>
+        ,CAR_NUM=
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
+            when #{item.statementId,jdbcType=DECIMAL} then #{item.carNum,jdbcType=DECIMAL}
+        </foreach>
+        ,CONSIGNEE_ID=
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
+            when #{item.statementId,jdbcType=DECIMAL} then #{item.consigneeId,jdbcType=DECIMAL}
+        </foreach>
+        ,CARRIER_ID=
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
+            when #{item.statementId,jdbcType=DECIMAL} then #{item.carrierId,jdbcType=DECIMAL}
+        </foreach>
+        ,PHOTO=
+        <foreach close="end" collection="list" index="index" item="item" open="case STATEMENT_ID" separator=" ">
+            when #{item.statementId,jdbcType=DECIMAL} then #{item.photo,jdbcType=VARCHAR}
+        </foreach>
         where STATEMENT_ID in
-        <foreach collection="list" index="index" item="item" separator="," open="(" close=")">
+        <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
             #{item.statementId,jdbcType=DECIMAL}
         </foreach>
     </update>
     <delete id="batchDelete" parameterType="java.util.List">
         delete from BMSTRUCK_STATEMENT
         where STATEMENT_ID in
-        <foreach collection="list" item="id" open="(" close=")" separator=",">
+        <foreach close=")" collection="list" item="id" open="(" separator=",">
             #{id}
         </foreach>
     </delete>
@@ -431,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">
@@ -596,4 +799,331 @@
                  left join bmstruck_details_order bdo on bsdl.list_id=bdo.details_id
         where bs.statement_id=#{statementId}
     </select>
+    <select id="getDetails" resultType="java.util.Map">
+        SELECT
+            SUM(BMSTRUCK_DETAILS_ORDER.DETAILS_AMOUNT) "sumAmount",
+            COUNT(DISTINCT ORDER_ID) "carNum"
+        FROM BMSTRUCK_DETAILS_ORDER
+        WHERE ORDER_ID IN
+        <foreach collection="orderList" item="orderId" open="(" close=")" separator=",">
+             #{orderId}
+        </foreach>
+    </select>
+    <select id="getDetailIds" resultType="java.util.Map">
+        SELECT DISTINCT
+        ASO.RECEIVE_ID "consigneeId",
+        ADSO.CARRIER_ID "carrierId"
+        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
+        WHERE OO.ORDER_ID IN
+        <foreach collection="orderList" item="orderId" open="(" close=")" separator=",">
+            #{orderId}
+        </foreach>
+    </select>
+    <update id="batchUpdateDetails">
+        UPDATE BMSTRUCK_DETAILS_ORDER
+        SET STATEMENT_ID = #{statementId}
+        WHERE ORDER_ID IN
+        <foreach collection="orderList" item="orderId" open="(" close=")" separator=",">
+            #{orderId}
+        </foreach>
+    </update>
+    <select id="getStatementIds" resultType="java.math.BigDecimal">
+        SELECT
+        DISTINCT STATEMENT_ID
+        FROM BMSTRUCK_DETAILS_ORDER
+        WHERE STATEMENT_ID IS NOT NULL AND ORDER_ID IN
+        <foreach collection="orderList" item="orderId" open="(" close=")" separator=",">
+            #{orderId}
+        </foreach>
+    </select>
+    <update id="updateAllBind">
+        UPDATE BMSTRUCK_DETAILS_ORDER
+        SET STATEMENT_ID = NULL
+        WHERE STATEMENT_ID IN
+        <foreach collection="statementIds" item="statementId" open="(" close=")" separator=",">
+            #{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>