Tiroble 3 tahun lalu
induk
melakukan
099619af19

+ 1 - 1
pom.xml

@@ -112,7 +112,7 @@
                     <targetPackage>com.steerinfo.dil</targetPackage>
                     <tables>
 <!--                        <param>AMS_SALE_ORDER</param>&lt;!&ndash;销售计划&ndash;&gt;-->
-                        <param>AMSTRUCK_INWARD_REQUIREMENT</param><!--销售计划物资中间表-->
+                        <param>AMS_SALE_ORDER_CARRIER</param><!--销售计划物资中间表-->
 <!--                        <param>AMSTRUCK_RAIL_DAYPLAN</param>&lt;!&ndash;销售计划物资中间表&ndash;&gt;-->
 <!--                        <param>AMS_CONTRACT_TRANSPORT_PRICE</param>&lt;!&ndash;销售订单&ndash;&gt;-->
 <!--                        <param>RMS_RECEIVE_PLACE</param>&lt;!&ndash;销售订单车序号表&ndash;&gt;-->

+ 110 - 0
src/main/java/com/steerinfo/dil/controller/AmsSaleOrderCarrierController.java

@@ -0,0 +1,110 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.framework.controller.BaseRESTfulController;
+import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.framework.service.pagehelper.PageList;
+import com.steerinfo.framework.utils.collection.ListUtils;
+import com.steerinfo.dil.model.AmsSaleOrderCarrier;
+import com.steerinfo.dil.service.IAmsSaleOrderCarrierService;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.ArrayList;
+import java.math.BigDecimal;
+
+/**
+ * AmsSaleOrderCarrier RESTful接口:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2022-03-04 04:50
+ * 类描述
+ * 修订历史:
+ * 日期:2022-03-04
+ * 作者:generator
+ * 参考:
+ * 描述:AmsSaleOrderCarrier RESTful接口
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+@RestController
+@RequestMapping("/${api.version}/amssaleordercarriers")
+public class AmsSaleOrderCarrierController extends BaseRESTfulController {
+
+    @Autowired
+    IAmsSaleOrderCarrierService amsSaleOrderCarrierService;
+
+    @ApiOperation(value="获取列表", notes="分页查询")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+        @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer")
+    })
+    //@RequiresPermissions("amssaleordercarrier:view")
+    @GetMapping(value = "/")
+    public RESTfulResult list(@RequestParam HashMap parmas,Integer pageNum, Integer pageSize){
+        PageList<AmsSaleOrderCarrier> list = amsSaleOrderCarrierService.queryForPage(parmas, pageNum, pageSize);
+        return success(list);
+    }
+
+    @ApiOperation(value="获取列表", notes="分页模糊查询")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+        @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer")
+    })
+    //@RequiresPermissions("amssaleordercarrier:view")
+    @GetMapping(value = "/like/")
+    public RESTfulResult listLike(@RequestParam HashMap parmas,Integer pageNum, Integer pageSize){
+        PageList<AmsSaleOrderCarrier> list = amsSaleOrderCarrierService.queryLikeForPage(parmas, pageNum, pageSize);
+        return success(list);
+    }
+    
+    @ApiOperation(value="创建", notes="根据AmsSaleOrderCarrier对象创建")
+    @ApiImplicitParam(name = "amsSaleOrderCarrier", value = "详细实体amsSaleOrderCarrier", required = true, dataType = "AmsSaleOrderCarrier")
+    //@RequiresPermissions("amssaleordercarrier:create")
+    @PostMapping(value = "/")
+    public RESTfulResult add(@ModelAttribute AmsSaleOrderCarrier model){
+        AmsSaleOrderCarrier amsSaleOrderCarrier = amsSaleOrderCarrierService.add(model);
+        return success(amsSaleOrderCarrier);
+    }
+
+    @ApiOperation(value="获取详细信息", notes="根据url的id来获取详细信息")
+    @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "BigDecimal")
+    //@RequiresPermissions("amssaleordercarrier:view")
+    @GetMapping(value = "/{id}")
+    public RESTfulResult get(@PathVariable BigDecimal id){
+        AmsSaleOrderCarrier amsSaleOrderCarrier = amsSaleOrderCarrierService.getById(id);
+        return success(amsSaleOrderCarrier);
+    }
+
+    @ApiOperation(value="更新详细信息", notes="根据url的id来指定更新对象,并根据传过来的amsSaleOrderCarrier信息来更新详细信息")
+    @ApiImplicitParams({
+        @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "BigDecimal"),
+        @ApiImplicitParam(name = "amsSaleOrderCarrier", value = "详细实体amsSaleOrderCarrier", required = true, dataType = "AmsSaleOrderCarrier")
+    })
+    //@RequiresPermissions("amssaleordercarrier:update")
+    @PutMapping(value = "/{id}", produces  = "application/json;charset=UTF-8")
+    public RESTfulResult update(@PathVariable BigDecimal id, @RequestBody AmsSaleOrderCarrier model){
+        model.setId(id);
+        AmsSaleOrderCarrier amsSaleOrderCarrier = amsSaleOrderCarrierService.modify(model);
+        return success(amsSaleOrderCarrier);
+    }
+
+    @ApiOperation(value="删除", notes="根据url的id来指定删除对象")
+    @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "BigDecimal")
+    //@RequiresPermissions("amssaleordercarrier:delete")
+    @DeleteMapping(value = "/{id}")//BigDecimal
+    public RESTfulResult delete(@PathVariable String id){
+    	List<String> list = Arrays.asList(id.split(","));
+    	if(ListUtils.isNotEmpty(list)) {
+	    	List<BigDecimal> ids = ListUtils.convertList(list);
+			  amsSaleOrderCarrierService.delete(ids);
+    	}
+      return success();
+    }
+}

+ 47 - 0
src/main/java/com/steerinfo/dil/controller/AmsSaleOrderController.java

@@ -6,9 +6,11 @@ import com.steerinfo.dil.mapper.AmsDispatchSaleOrderMapper;
 import com.steerinfo.dil.mapper.AmsSaleOrderMapper;
 import com.steerinfo.dil.model.AmsDispatchSaleOrder;
 import com.steerinfo.dil.model.AmsSaleOrder;
+import com.steerinfo.dil.model.AmsSaleOrderCarrier;
 import com.steerinfo.dil.model.AmsSaleOrderMaterial;
 import com.steerinfo.dil.service.IAmsSaleOrderService;
 import com.steerinfo.dil.service.impl.AmsDispatchSaleOrderServiceImpl;
+import com.steerinfo.dil.service.impl.AmsSaleOrderCarrierServiceImpl;
 import com.steerinfo.dil.service.impl.AmsSaleOrderMaterialServiceImpl;
 import com.steerinfo.dil.util.BaseRESTfulController;
 import com.steerinfo.dil.util.ColumnDataUtil;
@@ -62,6 +64,8 @@ public class AmsSaleOrderController extends BaseRESTfulController {
     ColumnDataUtil columnDataUtil;
     @Autowired
     ESFeign esFeign;
+    @Autowired
+    AmsSaleOrderCarrierServiceImpl  amsSaleOrderCarrierService;
 
     @ApiOperation(value="查询未上报销售订单信息")
     @ApiImplicitParams({
@@ -612,4 +616,47 @@ public class AmsSaleOrderController extends BaseRESTfulController {
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId, saleCompanyList,saleOrderList);
         return success(pageList);
     }
+
+    @ApiModelProperty(value = "销售订单批量授权给承运商")
+    @PostMapping("/saleOrderEmpowerCarrier")
+    public RESTfulResult saleOrderEmpowerCarrier(@RequestBody(required = false) Map<String,Object> mapValue) {
+        //获得订单ID集合 saleOrderIds
+        List<Map<String,Integer>> saleOrderIds= (List<Map<String, Integer>>) mapValue.get("saleOrderIds");
+        //获得承运商 carrierId
+        BigDecimal carrierId=  new BigDecimal(mapValue.get("carrierId").toString());
+        //销售订单授权承运商中间表
+        int i= amsSaleOrderCarrierService.addAmsSaleOrderCarrier(carrierId,saleOrderIds);
+
+        return success(i);
+    }
+
+    @ApiModelProperty(value = "展示销售公司下发给承运商的销售订单列表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "apiId", value = "409", required = false, dataType = "BigDecimal")
+    })
+    @PostMapping("/getSaleOrderListByCarrierSsoId")
+    public RESTfulResult getSaleOrderListByCarrierSsoId(@RequestBody(required = false) Map<String,Object> mapValue,
+                                                        String carrierSsoId,
+                                                         Integer pageNum,
+
+                                                         Integer pageSize,
+                                                         Integer apiId,
+                                                         String con) {
+        if (con != null  && !"".equals(con) && !"null".equals(con)) {
+            mapValue.put("con", con);
+
+        }
+        if (carrierSsoId!=null){
+            mapValue.put("carrierSsoId",carrierSsoId);
+        }
+
+        //不分页筛选数据
+        PageHelper.startPage(pageNum,pageSize);
+        //分页数据
+        List<Map<String, Object>> saleOrderList = amsSaleOrderService.getSaleOrderListByCarrierSsoId(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,saleOrderList);
+        return success(pageList);
+    }
 }

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

@@ -10,7 +10,7 @@ import com.steerinfo.framework.service.pagehelper.PageHelper;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiModelProperty;
-import org.omg.CORBA.OBJ_ADAPTER;
+//import org.omg.CORBA.OBJ_ADAPTER;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 

+ 16 - 0
src/main/java/com/steerinfo/dil/mapper/AmsSaleOrderCarrierMapper.java

@@ -0,0 +1,16 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.AmsSaleOrderCarrier;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import java.math.*;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+@Mapper
+public interface AmsSaleOrderCarrierMapper extends IBaseMapper<AmsSaleOrderCarrier, BigDecimal> {
+    //查询主键最大值
+    @Select("select seq__SALE_ORDER_CARRIER.nextval from dual")
+    BigDecimal selectMaxId();
+
+    AmsSaleOrderCarrier getAmsSaleOrderCarrier(BigDecimal carrierId, BigDecimal saleOrderId);
+}

+ 2 - 0
src/main/java/com/steerinfo/dil/mapper/AmsSaleOrderMapper.java

@@ -77,4 +77,6 @@ public interface AmsSaleOrderMapper extends IBaseMapper<AmsSaleOrder, BigDecimal
 
     // 得到销售订单已分配的车数
     BigDecimal getCarNum(BigDecimal saleOrderId);
+
+    List<Map<String, Object>> getSaleOrderListByCarrierSsoId(Map<String, Object> map);
 }

+ 168 - 0
src/main/java/com/steerinfo/dil/model/AmsSaleOrderCarrier.java

@@ -0,0 +1,168 @@
+package com.steerinfo.dil.model;
+
+import com.steerinfo.framework.model.IBasePO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@ApiModel(value="销售订单授权承运商中间表")
+public class AmsSaleOrderCarrier implements IBasePO<BigDecimal> {
+    /**
+     * 主键ID(SALE_ORDER_CARRIER_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="主键ID",required=true)
+    private BigDecimal saleOrderCarrierId;
+
+    /**
+     * 销售订单ID(SALE_ORDER_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="销售订单ID",required=false)
+    private BigDecimal saleOrderId;
+
+    /**
+     * 承运商ID(CARRIER_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="承运商ID",required=false)
+    private BigDecimal carrierId;
+
+    /**
+     * 记录创建人(INSERT_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录创建人",required=false)
+    private String insertUsername;
+
+    /**
+     * 记录创建时间(INSERT_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录创建时间",required=false)
+    private Date insertTime;
+
+    /**
+     * 记录修改人(UPDATE_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录修改人",required=false)
+    private String updateUsername;
+
+    /**
+     * 记录修改时间(UPDATE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录修改时间",required=false)
+    private Date updateTime;
+
+    /**
+     * 记录创建或修改备注(INSERT_UPDATE_REMARK,VARCHAR,100)
+     */
+    @ApiModelProperty(value="记录创建或修改备注",required=false)
+    private String insertUpdateRemark;
+
+    /**
+     * 逻辑删除0:未删除;1:已删除(DELETED,DECIMAL,38)
+     */
+    @ApiModelProperty(value="逻辑删除0:未删除;1:已删除",required=false)
+    private BigDecimal deleted;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.saleOrderCarrierId;
+    }
+
+    @Override
+    public void setId(BigDecimal saleOrderCarrierId) {
+        this.saleOrderCarrierId = saleOrderCarrierId;
+    }
+
+    public BigDecimal getSaleOrderCarrierId() {
+        return saleOrderCarrierId;
+    }
+
+    public void setSaleOrderCarrierId(BigDecimal saleOrderCarrierId) {
+        this.saleOrderCarrierId = saleOrderCarrierId;
+    }
+
+    public BigDecimal getSaleOrderId() {
+        return saleOrderId;
+    }
+
+    public void setSaleOrderId(BigDecimal saleOrderId) {
+        this.saleOrderId = saleOrderId;
+    }
+
+    public BigDecimal getCarrierId() {
+        return carrierId;
+    }
+
+    public void setCarrierId(BigDecimal carrierId) {
+        this.carrierId = carrierId;
+    }
+
+    public String getInsertUsername() {
+        return insertUsername;
+    }
+
+    public void setInsertUsername(String insertUsername) {
+        this.insertUsername = insertUsername == null ? null : insertUsername.trim();
+    }
+
+    public Date getInsertTime() {
+        return insertTime;
+    }
+
+    public void setInsertTime(Date insertTime) {
+        this.insertTime = insertTime;
+    }
+
+    public String getUpdateUsername() {
+        return updateUsername;
+    }
+
+    public void setUpdateUsername(String updateUsername) {
+        this.updateUsername = updateUsername == null ? null : updateUsername.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getInsertUpdateRemark() {
+        return insertUpdateRemark;
+    }
+
+    public void setInsertUpdateRemark(String insertUpdateRemark) {
+        this.insertUpdateRemark = insertUpdateRemark == null ? null : insertUpdateRemark.trim();
+    }
+
+    public BigDecimal getDeleted() {
+        return deleted;
+    }
+
+    public void setDeleted(BigDecimal deleted) {
+        this.deleted = deleted;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", saleOrderCarrierId=").append(saleOrderCarrierId);
+        sb.append(", saleOrderId=").append(saleOrderId);
+        sb.append(", carrierId=").append(carrierId);
+        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(", deleted=").append(deleted);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 26 - 0
src/main/java/com/steerinfo/dil/service/IAmsSaleOrderCarrierService.java

@@ -0,0 +1,26 @@
+package com.steerinfo.dil.service;
+
+import com.steerinfo.framework.service.IBaseService;
+import com.steerinfo.dil.model.AmsSaleOrderCarrier;
+import java.util.Date;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * AmsSaleOrderCarrier服务接口:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2022-03-04 04:50
+ * 类描述
+ * 修订历史:
+ * 日期:2022-03-04
+ * 作者:generator
+ * 参考:
+ * 描述:AmsSaleOrderCarrier服务接口
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+public interface IAmsSaleOrderCarrierService extends IBaseService<AmsSaleOrderCarrier, BigDecimal>{
+
+    int addAmsSaleOrderCarrier(BigDecimal carrierId,List<Map<String,Integer>> saleOrderIds);
+}

+ 2 - 0
src/main/java/com/steerinfo/dil/service/IAmsSaleOrderService.java

@@ -97,4 +97,6 @@ public interface IAmsSaleOrderService {
 
     // 销售焦炭订单
     List<Map<String, Object>> getCokeSaleOrderList(Map<String,Object> mapValue);
+    //展示销售公司下发给承运商的销售订单列表
+    List<Map<String, Object>> getSaleOrderListByCarrierSsoId(Map<String, Object> mapValue);
 }

+ 61 - 0
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderCarrierServiceImpl.java

@@ -0,0 +1,61 @@
+package com.steerinfo.dil.service.impl;
+
+import com.steerinfo.framework.mapper.IBaseMapper;
+import com.steerinfo.framework.service.impl.BaseServiceImpl;
+import com.steerinfo.dil.model.AmsSaleOrderCarrier;
+import com.steerinfo.dil.mapper.AmsSaleOrderCarrierMapper;
+import com.steerinfo.dil.service.IAmsSaleOrderCarrierService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import java.util.Date;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * AmsSaleOrderCarrier服务实现:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2022-03-04 04:50
+ * 类描述
+ * 修订历史:
+ * 日期:2022-03-04
+ * 作者:generator
+ * 参考:
+ * 描述:AmsSaleOrderCarrier服务实现
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+@Service(value = "amsSaleOrderCarrierService")
+public class AmsSaleOrderCarrierServiceImpl extends BaseServiceImpl<AmsSaleOrderCarrier, BigDecimal> implements IAmsSaleOrderCarrierService {
+
+    @Autowired
+    private AmsSaleOrderCarrierMapper amsSaleOrderCarrierMapper;
+
+    @Override
+    protected IBaseMapper<AmsSaleOrderCarrier, BigDecimal> getMapper() {
+        return amsSaleOrderCarrierMapper;
+    }
+
+
+    @Override
+    public int addAmsSaleOrderCarrier(BigDecimal carrierId, List<Map<String,Integer>> saleOrderIds) {
+        int count=0;
+        //遍历销售订单
+        for (Map<String,Integer> map :saleOrderIds){
+            BigDecimal saleOrderId=new BigDecimal(map.get("saleOrderId"));
+            //当前订单已经下发给该承运商
+            AmsSaleOrderCarrier saleOrderCarrier= amsSaleOrderCarrierMapper.getAmsSaleOrderCarrier(carrierId,saleOrderId);
+            if (saleOrderId!=null&&saleOrderCarrier==null){
+
+                AmsSaleOrderCarrier amsSaleOrderCarrier=new AmsSaleOrderCarrier();
+                amsSaleOrderCarrier.setSaleOrderCarrierId(amsSaleOrderCarrierMapper.selectMaxId());
+                amsSaleOrderCarrier.setCarrierId(carrierId);
+                amsSaleOrderCarrier.setSaleOrderId(saleOrderId);
+                amsSaleOrderCarrier.setInsertTime(new Date());
+                amsSaleOrderCarrier.setInsertUsername("admin");
+                count=amsSaleOrderCarrierMapper.insertSelective(amsSaleOrderCarrier);
+            }
+        }
+        return count;
+    }
+}

+ 36 - 0
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -489,4 +489,40 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         }
         return mapList;
     }
+
+    @Override
+    public List<Map<String, Object>> getSaleOrderListByCarrierSsoId(Map<String, Object> map) {
+        List<Map<String, Object>> resultList = amsSaleOrderMapper.getSaleOrderListByCarrierSsoId(map);
+        String statusStr;
+        for (Map<String, Object> resultMap : resultList) {
+            BigDecimal saleOrderId = (BigDecimal) resultMap.get("saleOrderId");
+            Map<String,Object> loserMap = new HashMap<>();
+            BigDecimal netWeight = amsSaleOrderMapper.getNetWeight(saleOrderId);
+            BigDecimal carNum = amsSaleOrderMapper.getCarNum(saleOrderId);
+            loserMap.put("saleOrderId",saleOrderId);
+            loserMap.put("con",map.get("con"));
+            // 物资
+            List<Map<String,Object>> materialList = amsSaleOrderMapper.getSaleMaterial(loserMap);
+            if (materialList != null && materialList.size() > 0) {
+                Map<String, Object> materialMap = materialList.get(0);
+                String materialName = (String) materialMap.get("materialName");
+                if (materialList.size() != 1) {
+                    materialName += "...";
+                }
+                resultMap.put("materialName",materialName);
+            }
+            BigDecimal saleOrderStatus = (BigDecimal) resultMap.get("saleOrderStatus");
+//            if (saleOrderStatus.intValue() == 2) {
+//                statusStr = "销售公司已审核";
+//            }
+//            else {
+//                statusStr = "财务已审核";
+//            }
+            statusStr = saleOrderStatus.intValue() == 2 ? "销售公司已审批" : "财务已审批";
+            resultMap.put("statusStr",statusStr);
+            resultMap.put("netWeight",netWeight);
+            resultMap.put("carNum",carNum);
+        }
+        return resultList;
+    }
 }

+ 322 - 0
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderCarrierMapper.xml

@@ -0,0 +1,322 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.steerinfo.dil.mapper.AmsSaleOrderCarrierMapper">
+  <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.AmsSaleOrderCarrier">
+    <id column="SALE_ORDER_CARRIER_ID" jdbcType="DECIMAL" property="saleOrderCarrierId" />
+    <result column="SALE_ORDER_ID" jdbcType="DECIMAL" property="saleOrderId" />
+    <result column="CARRIER_ID" jdbcType="DECIMAL" property="carrierId" />
+    <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="DELETED" jdbcType="DECIMAL" property="deleted" />
+  </resultMap>
+  <sql id="columns">
+    SALE_ORDER_CARRIER_ID, SALE_ORDER_ID, CARRIER_ID, INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, 
+    UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED
+  </sql>
+  <sql id="columns_alias">
+    t.SALE_ORDER_CARRIER_ID, t.SALE_ORDER_ID, t.CARRIER_ID, t.INSERT_USERNAME, t.INSERT_TIME, 
+    t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.DELETED
+  </sql>
+  <sql id="select">
+    SELECT <include refid="columns" /> FROM AMS_SALE_ORDER_CARRIER
+  </sql>
+  <sql id="select_alias">
+    SELECT <include refid="columns_alias" /> FROM AMS_SALE_ORDER_CARRIER t
+  </sql>
+  <sql id="where">
+    <where> 
+      <if test="saleOrderCarrierId != null">
+        and SALE_ORDER_CARRIER_ID = #{saleOrderCarrierId}
+      </if>
+      <if test="saleOrderId != null">
+        and SALE_ORDER_ID = #{saleOrderId}
+      </if>
+      <if test="carrierId != null">
+        and CARRIER_ID = #{carrierId}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        and INSERT_USERNAME = #{insertUsername}
+      </if>
+      <if test="insertTime != null">
+        and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        and UPDATE_USERNAME = #{updateUsername}
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        and INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+      </if>
+      <if test="deleted != null">
+        and DELETED = #{deleted}
+      </if>
+    </where>
+  </sql>
+  <sql id="whereLike">
+    <where> 
+      <if test="saleOrderCarrierId != null">
+        and SALE_ORDER_CARRIER_ID = #{saleOrderCarrierId}
+      </if>
+      <if test="saleOrderId != null">
+        and SALE_ORDER_ID = #{saleOrderId}
+      </if>
+      <if test="carrierId != null">
+        and CARRIER_ID = #{carrierId}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        and INSERT_USERNAME LIKE '%${insertUsername}%'
+      </if>
+      <if test="insertTime != null">
+        and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        and UPDATE_USERNAME LIKE '%${updateUsername}%'
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        and INSERT_UPDATE_REMARK LIKE '%${insertUpdateRemark}%'
+      </if>
+      <if test="deleted != null">
+        and DELETED = #{deleted}
+      </if>
+    </where>
+  </sql>
+  <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
+    delete from AMS_SALE_ORDER_CARRIER
+    where SALE_ORDER_CARRIER_ID = #{saleOrderCarrierId,jdbcType=DECIMAL}
+  </delete>
+  <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
+    delete from AMS_SALE_ORDER_CARRIER
+    where 1!=1 
+      <if test="saleOrderId != null">
+        or SALE_ORDER_ID = #{saleOrderId}
+      </if>
+      <if test="carrierId != null">
+        or CARRIER_ID = #{carrierId}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        or INSERT_USERNAME = #{insertUsername}
+      </if>
+      <if test="insertTime != null">
+        or TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = '#{insertTime}'
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        or UPDATE_USERNAME = #{updateUsername}
+      </if>
+      <if test="updateTime != null">
+        or TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = '#{updateTime}'
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        or INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+      </if>
+      <if test="deleted != null">
+        or DELETED = #{deleted}
+      </if>
+  </delete>
+  <insert id="insert" parameterType="com.steerinfo.dil.model.AmsSaleOrderCarrier">
+    insert into AMS_SALE_ORDER_CARRIER (SALE_ORDER_CARRIER_ID, SALE_ORDER_ID, 
+      CARRIER_ID, INSERT_USERNAME, INSERT_TIME, 
+      UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK, 
+      DELETED)
+    values (#{saleOrderCarrierId,jdbcType=DECIMAL}, #{saleOrderId,jdbcType=DECIMAL}, 
+      #{carrierId,jdbcType=DECIMAL}, #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, 
+      #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR}, 
+      #{deleted,jdbcType=DECIMAL})
+  </insert>
+  <insert id="insertSelective" parameterType="com.steerinfo.dil.model.AmsSaleOrderCarrier">
+    insert into AMS_SALE_ORDER_CARRIER
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="saleOrderCarrierId != null">
+        SALE_ORDER_CARRIER_ID,
+      </if>
+      <if test="saleOrderId != null">
+        SALE_ORDER_ID,
+      </if>
+      <if test="carrierId != null">
+        CARRIER_ID,
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME,
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME,
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME,
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME,
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK,
+      </if>
+      <if test="deleted != null">
+        DELETED,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="saleOrderCarrierId != null">
+        #{saleOrderCarrierId,jdbcType=DECIMAL},
+      </if>
+      <if test="saleOrderId != null">
+        #{saleOrderId,jdbcType=DECIMAL},
+      </if>
+      <if test="carrierId != null">
+        #{carrierId,jdbcType=DECIMAL},
+      </if>
+      <if test="insertUsername != null">
+        #{insertUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="insertTime != null">
+        #{insertTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUsername != null">
+        #{updateUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="insertUpdateRemark != null">
+        #{insertUpdateRemark,jdbcType=VARCHAR},
+      </if>
+      <if test="deleted != null">
+        #{deleted,jdbcType=DECIMAL},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.AmsSaleOrderCarrier">
+    update AMS_SALE_ORDER_CARRIER
+    set SALE_ORDER_ID = #{saleOrderId,jdbcType=DECIMAL},
+      CARRIER_ID = #{carrierId,jdbcType=DECIMAL},
+      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},
+      DELETED = #{deleted,jdbcType=DECIMAL}
+    where SALE_ORDER_CARRIER_ID = #{saleOrderCarrierId,jdbcType=DECIMAL}
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.AmsSaleOrderCarrier">
+    update AMS_SALE_ORDER_CARRIER
+    <set>
+      <if test="saleOrderId != null">
+        SALE_ORDER_ID = #{saleOrderId,jdbcType=DECIMAL},
+      </if>
+      <if test="carrierId != null">
+        CARRIER_ID = #{carrierId,jdbcType=DECIMAL},
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+      </if>
+      <if test="deleted != null">
+        DELETED = #{deleted,jdbcType=DECIMAL},
+      </if>
+    </set>
+    where SALE_ORDER_CARRIER_ID = #{saleOrderCarrierId,jdbcType=DECIMAL}
+  </update>
+  <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
+    <include refid="select" />
+    where SALE_ORDER_CARRIER_ID = #{saleOrderCarrierId,jdbcType=DECIMAL}
+  </select>
+  <select id="selectByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select" />
+    <include refid="where" />
+  </select>
+  <select id="selectLikeByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select" />
+    <include refid="whereLike" />
+  </select>
+  
+  <insert id="batchInsert" parameterType="java.util.List">
+    insert into AMS_SALE_ORDER_CARRIER 
+      (SALE_ORDER_CARRIER_ID, 
+      SALE_ORDER_ID, CARRIER_ID, INSERT_USERNAME, 
+      INSERT_TIME, UPDATE_USERNAME, 
+      UPDATE_TIME, INSERT_UPDATE_REMARK, 
+      DELETED)
+    ( <foreach collection="list" item="item" separator="union all"> 
+   select  
+      #{item.saleOrderCarrierId,jdbcType=DECIMAL}, 
+      #{item.saleOrderId,jdbcType=DECIMAL}, #{item.carrierId,jdbcType=DECIMAL}, #{item.insertUsername,jdbcType=VARCHAR}, 
+      #{item.insertTime,jdbcType=TIMESTAMP}, #{item.updateUsername,jdbcType=VARCHAR}, 
+      #{item.updateTime,jdbcType=TIMESTAMP}, #{item.insertUpdateRemark,jdbcType=VARCHAR}, 
+      #{item.deleted,jdbcType=DECIMAL} from dual  
+   </foreach> )
+  </insert>
+  <update id="batchUpdate" parameterType="java.util.List">
+     update AMS_SALE_ORDER_CARRIER
+     set
+       SALE_ORDER_CARRIER_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_CARRIER_ID" separator=" ">
+          when #{item.saleOrderCarrierId,jdbcType=DECIMAL} then #{item.saleOrderCarrierId,jdbcType=DECIMAL}
+       </foreach>
+       ,SALE_ORDER_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_CARRIER_ID" separator=" ">
+          when #{item.saleOrderCarrierId,jdbcType=DECIMAL} then #{item.saleOrderId,jdbcType=DECIMAL}
+       </foreach>
+       ,CARRIER_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_CARRIER_ID" separator=" ">
+          when #{item.saleOrderCarrierId,jdbcType=DECIMAL} then #{item.carrierId,jdbcType=DECIMAL}
+       </foreach>
+       ,INSERT_USERNAME=
+       <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_CARRIER_ID" separator=" ">
+          when #{item.saleOrderCarrierId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,INSERT_TIME=
+       <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_CARRIER_ID" separator=" ">
+          when #{item.saleOrderCarrierId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,UPDATE_USERNAME=
+       <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_CARRIER_ID" separator=" ">
+          when #{item.saleOrderCarrierId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,UPDATE_TIME=
+       <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_CARRIER_ID" separator=" ">
+          when #{item.saleOrderCarrierId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,INSERT_UPDATE_REMARK=
+       <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_CARRIER_ID" separator=" ">
+          when #{item.saleOrderCarrierId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
+       </foreach>
+       ,DELETED=
+       <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_CARRIER_ID" separator=" ">
+          when #{item.saleOrderCarrierId,jdbcType=DECIMAL} then #{item.deleted,jdbcType=DECIMAL}
+       </foreach>
+     where SALE_ORDER_CARRIER_ID in 
+     <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
+    #{item.saleOrderCarrierId,jdbcType=DECIMAL}
+     </foreach> 
+  </update>
+  <delete id="batchDelete" parameterType="java.util.List">
+    delete from AMS_SALE_ORDER_CARRIER
+    where SALE_ORDER_CARRIER_ID in 
+    <foreach close=")" collection="list" item="id" open="(" separator=",">
+      #{id}
+    </foreach>
+  </delete>
+  <!-- 友情提示!!!-->
+  <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+  <select id="getAmsSaleOrderCarrier" resultMap="BaseResultMap">
+    SELECT <include refid="columns" /> FROM AMS_SALE_ORDER_CARRIER where SALE_ORDER_ID=#{saleOrderId} and CARRIER_ID=#{carrierId}
+  </select>
+  
+</mapper>

+ 234 - 0
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml

@@ -1978,6 +1978,120 @@
   </select>
 
   <select id="getSaleOrderAndMaterialById" resultType="java.util.Map" parameterType="java.util.Map">
+    SELECT *
+    FROM (
+    select ASO.SALE_ORDER_ID                              as "saleOrderId",
+    ASM.SALE_MATERIAL_ID                           as "saleMaterialId",
+    RM.MATERIAL_ID                                 as "materialId",
+    ASO.SALE_NUMBER                                as "saleNumber",
+    ASO.SALE_ORDER_ISSELF_MENTION                  as "saleOrderIsselfMention",
+    RS.SHIPPER_NAME                                as "shipperName",
+    RC.CONSIGNEE_COMPANY_NAME                      as "consigneeCompanyName",
+    RM.MATERIAL_NAME                               as "materialName",
+    ASM.MATERIAL_NUMBER                            as "materialNumber",
+    ASM.MATERIAL_WEIGHT                            as "materialWeight",
+    RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL as "specificationModel",
+    RM.MATERIAL_CODE                               as "materialCode",
+    nvl(sumWeight.weight,0)+nvl(sumWeight2.weight,0)             as "totalWeight",
+    nvl(sumWeight.weight ,0)                              as "netWeight",
+    nvl(sumWeight2.weight ,0)                              as "weight",
+    nvl(carCount.coun ,0)                                   as "carCount"
+    from AMS_SALE_ORDER ASO
+    left join RMS_SHIPPER RS
+    on ASO.SHIPPER_ID = RS.SHIPPER_ID
+    left join RMS_CONSIGNEE RC
+    on ASO.RECEIVE_ID = RC.CONSIGNEE_ID
+    left join AMS_SALE_MATERIAL ASM
+    on ASM.SALE_ORDER_ID = ASO.SALE_ORDER_ID
+    left join RMS_MATERIAL RM
+    on RM.MATERIAL_ID = ASM.MATERIAL_ID
+    left join (
+    select sum( t_w_result.RESULT_NET_WEIGHT)  weight,a_s_o_material.SALE_ORDER_ID SALE_ORDER_ID
+    from AMS_SALE_ORDER_MATERIAL a_s_o_material
+    left join Omstruck_Order o_order
+    on a_s_o_material.SALE_ORDER_MATERIAL_ID=o_order.order_plan_id
+    left join Tmstruck_Total_Result t_t_result
+    on o_order.order_id=t_t_result.order_id
+    left join Tmstruck_Weight_Result t_w_result
+    on t_t_result.result_total_id=t_w_result.result_total_id
+    GROUP BY
+    a_s_o_Material.SALE_ORDER_ID
+  
+    ) sumWeight
+    on sumWeight.SALE_ORDER_ID=ASO.SALE_ORDER_ID
+    left join (
+    select sum( o_o_material.ORDER_MATERIAL_WEIGHT)  weight,a_s_o_Material.SALE_ORDER_ID SALE_ORDER_ID
+    from AMS_SALE_ORDER_MATERIAL a_s_o_material
+    left join Omstruck_Order o_order
+    on a_s_o_material.SALE_ORDER_MATERIAL_ID=o_order.order_plan_id
+    left join Tmstruck_Total_Result t_t_result
+    on o_order.order_id=t_t_result.order_id
+    left join Tmstruck_Weight_Result t_w_result
+    on t_t_result.result_total_id=t_w_result.result_total_id
+    left join OMSTRUCK_ORDER_MATERIAL o_o_material
+    on o_order.order_id=o_o_material.ORDER_ID
+    where t_w_result.RESULT_NET_WEIGHT is null
+    GROUP BY
+    a_s_o_Material.SALE_ORDER_ID
+  
+    ) sumWeight2
+    on sumWeight2.SALE_ORDER_ID=ASO.SALE_ORDER_ID
+    left join (
+    select count(o_order.order_id)  coun ,a_s_o_Material.SALE_ORDER_ID SALE_ORDER_ID
+    from AMS_SALE_ORDER_MATERIAL a_s_o_material
+    left join Omstruck_Order o_order
+    on a_s_o_material.SALE_ORDER_MATERIAL_ID=o_order.order_plan_id
+    left join Tmstruck_Total_Result t_t_result
+    on o_order.order_id=t_t_result.order_id
+    left join Tmstruck_Weight_Result t_w_result
+    on t_t_result.result_total_id=t_w_result.result_total_id
+    GROUP BY
+    a_s_o_Material.SALE_ORDER_ID
+  
+    ) carCount
+    on carCount.SALE_ORDER_ID=ASO.SALE_ORDER_ID
+    where ASO.SALE_ORDER_ID = #{saleOrderId}
+    )
+    <where>
+      <if test="saleNumber != null">
+        and
+        <foreach collection="saleNumber" item="item" open="(" separator="or" close=")">
+          "saleNumber" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="shipperName != null">
+        and
+        <foreach collection="shipperName" item="item" open="(" separator="or" close=")">
+          "shipperName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="consigneeCompanyName != null">
+        and
+        <foreach collection="consigneeCompanyName" item="item" open="(" separator="or" close=")">
+          "consigneeCompanyName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="materialName != null">
+        and
+        <foreach collection="materialName" item="item" open="(" separator="or" close=")">
+          "materialName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="specificationModel != null">
+        and
+        <foreach collection="specificationModel" item="item" open="(" separator="or" close=")">
+          "specificationModel" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="materialCode != null">
+        and
+        <foreach collection="materialCode" item="item" open="(" separator="or" close=")">
+          "materialCode" like '%${item}%'
+        </foreach>
+      </if>
+    </where>
+  </select>
+  <select id="getSaleOrderAndMaterialById2" resultType="java.util.Map" parameterType="java.util.Map">
     SELECT *
     FROM (
     select ASO.SALE_ORDER_ID                              as "saleOrderId",
@@ -2069,4 +2183,124 @@
     FROM AMS_SALE_ORDER_MATERIAL ASOM
     WHERE ASOM.SALE_ORDER_ID = #{saleOrderId}
   </select>
+  <select id="getSaleOrderListByCarrierSsoId" resultType="java.util.Map">
+    select * from(
+    select a_s_order.SALE_ORDER_ID "saleOrderId",
+    a_s_order.SALE_NUMBER "saleNumber",
+    r_shipper.SHIPPER_NAME "shipperName",
+    r_consignee.CONSIGNEE_COMPANY_NAME "consigneeCompanyName",
+    r_consignee.CONSIGNEE_WARRANTY_AMOUNT "consigneeWarrantyAmount",
+    r_consignee.CONSIGNEE_WARRANTY_WEIGHT "consigneeWarrantyWeight",
+    a_s_order.SALE_ORDER_ISSELF_MENTION "saleOrderIsselfMention",
+    a_s_order.SALE_ACCOUNT_BALANCE "saleAccountBalance",
+    a_s_order.SALE_CURRENT_ORDER_AMOUNT "saleCurrentOrderAmount",
+    a_s_order.SALE_HISTORICAL_ORDER_AMOUNT "saleHistoricalOrderAmout",
+    a_s_order.SALE_ORDER_RECEIVE_CUSTOMER "saleOrderReceiveCustomer",
+    a_s_order.SALE_UNIT_PRICE "saleUnitPrice",
+    a_s_order.SALE_ORDER_TAX "saleOrderTax",
+    a_s_order.SALE_REMARK "saleRemark",
+    a_s_order.INSERT_TIME "insertTime",
+    a_s_order.SALE_ORDER_STATUS "saleOrderStatus",
+    a_s_order.SALE_ORDER_STATUS "statusStr",
+    a_s_order.INSERT_UPDATE_REMARK "materialName"
+    from AMS_SALE_ORDER_CARRIER a_s_o_carrier
+    left join RMS_CARRIER r_carrier
+    on r_carrier.CARRIER_ID=a_s_o_carrier.CARRIER_ID
+    left join AMS_SALE_ORDER a_s_order
+    on a_s_o_carrier.SALE_ORDER_ID=a_s_order.SALE_ORDER_ID
+    left join RMS_SHIPPER r_shipper
+    on a_s_order.SHIPPER_ID=r_shipper.SHIPPER_ID
+    left join RMS_CONSIGNEE r_consignee
+    on a_s_order.RECEIVE_ID=r_consignee.CONSIGNEE_ID
+    where a_s_order.SALE_ORDER_STATUS in (2,4)
+    and a_s_order.CLOSE_STATUS is null
+    and a_s_order.DELETED = 0
+    <if test="carrierSsoId != null">
+        and r_carrier.CARRIER_SSO_ID=#{carrierSsoId}
+    </if>
+    <if test="con != null">
+      and (instr(r_consignee.CONSIGNEE_COMPANY_NAME, #{con}) > 0 or instr(a_s_order.SALE_NUMBER, #{con}) > 0)
+    </if>
+    )
+    <where>
+      <if test="saleNumber != null">
+        <foreach collection="saleNumber" item="item" open="(" separator="or" close=")">
+          "saleNumber" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="shipperName != null">
+        and
+        <foreach collection="shipperName" item="item" open="(" separator="or" close=")">
+          "shipperName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="consigneeCompanyName != null">
+        and
+        <foreach collection="consigneeCompanyName" item="item" open="(" separator="or" close=")">
+          "consigneeCompanyName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="consigneeWarrantyAmount != null">
+        and
+        <foreach collection="consigneeWarrantyAmount" item="item" open="(" separator="or" close=")">
+          "consigneeWarrantyAmount" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="consigneeWarrantyWeight != null">
+        and
+        <foreach collection="consigneeWarrantyWeight" item="item" open="(" separator="or" close=")">
+          "consigneeWarrantyWeight" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleOrderIsselfMention != null">
+        and
+        <foreach collection="saleOrderIsselfMention" item="item" open="(" separator="or" close=")">
+          "saleOrderIsselfMention" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleAccountBalance != null">
+        and
+        <foreach collection="saleAccountBalance" item="item" open="(" separator="or" close=")">
+          "saleAccountBalance" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleCurrentOrderAmount != null">
+        and
+        <foreach collection="saleCurrentOrderAmount" item="item" open="(" separator="or" close=")">
+          "saleCurrentOrderAmount" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleHistoricalOrderAmout != null">
+        and
+        <foreach collection="saleHistoricalOrderAmout" item="item" open="(" separator="or" close=")">
+          "saleHistoricalOrderAmout" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleOrderReceiveCustomer != null">
+        and
+        <foreach collection="saleOrderReceiveCustomer" item="item" open="(" separator="or" close=")">
+          "saleOrderReceiveCustomer" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleUnitPrice != null">
+        and
+        <foreach collection="saleUnitPrice" item="item" open="(" separator="or" close=")">
+          "saleUnitPrice" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleOrderTax != null">
+        and
+        <foreach collection="saleOrderTax" item="item" open="(" separator="or" close=")">
+          "saleOrderTax" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleRemark != null">
+        and
+        <foreach collection="saleRemark" item="item" open="(" separator="or" close=")">
+          "saleRemark" like '%${item}%'
+        </foreach>
+      </if>
+    </where>
+    <include refid="orderBy1"></include>
+  </select>
 </mapper>