瀏覽代碼

'销售页面'

HUJIANGUO 3 年之前
父節點
當前提交
096d1e04cc

+ 50 - 6
src/main/java/com/steerinfo/dil/controller/AmsSaleOrderController.java

@@ -474,10 +474,14 @@ public class AmsSaleOrderController extends BaseRESTfulController {
                                             Integer apiId,
                                             Integer pageNum,
                                             Integer pageSize,
-                                            String consigneeSsoId){
+                                            String consigneeSsoId,
+                                            String con){
         if (consigneeSsoId != null && !"".equals(consigneeSsoId) && !"null".equals(consigneeSsoId)) {
             mapValue.put("consigneeSsoId",consigneeSsoId);
         }
+        if (con != null && !"".equals(con) && !"null".equals(con)) {
+            mapValue.put("con",con);
+        }
         PageHelper.startPage(pageNum,pageSize);
         List<Map<String, Object>> amsSaleOrder1 = amsSaleOrderService.getSaleOrderInfoes(mapValue);
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,amsSaleOrder1);
@@ -493,10 +497,14 @@ public class AmsSaleOrderController extends BaseRESTfulController {
                                                 Integer apiId,
                                                 Integer pageNum,
                                                 Integer pageSize,
-                                                String consigneeSsoId){
+                                                String consigneeSsoId,
+                                                String con){
         if (consigneeSsoId != null && !"".equals(consigneeSsoId) && !"null".equals(consigneeSsoId)) {
             mapValue.put("consigneeSsoId",consigneeSsoId);
         }
+        if (con != null && !"".equals(con) && !"null".equals(con)) {
+            mapValue.put("con",con);
+        }
         PageHelper.startPage(pageNum,pageSize);
         List<Map<String, Object>> amsSaleOrder1 = amsSaleOrderService.getSaleOrderReportedes(mapValue);
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,amsSaleOrder1);
@@ -507,7 +515,7 @@ public class AmsSaleOrderController extends BaseRESTfulController {
     @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")
+            @ApiImplicitParam(name = "apiId", value = "409/475", required = false, dataType = "BigDecimal")
     })
     @PostMapping("/getSaleOrderListBySaleCompanyes")
     public RESTfulResult getSaleOrderListBySaleCompanyes(@RequestBody(required = false) Map<String,Object> mapValue,
@@ -673,7 +681,12 @@ public class AmsSaleOrderController extends BaseRESTfulController {
     @PostMapping("/dispatchSteelOrder")
     public RESTfulResult dispatchSteelOrder(@RequestBody List<Map<String,Object>> mapList) {
         int result = amsSaleOrderService.dispatchSteelOrder(mapList);
-        return success(result);
+        if (result == 0) {
+            return failed("匹配不到车牌号!");
+        }
+        else {
+            return success(result);
+        }
     }
 
     @ApiModelProperty(value = "根据详细地址匹配承运商")
@@ -711,7 +724,7 @@ public class AmsSaleOrderController extends BaseRESTfulController {
                                                          String carrierSsoId,
                                                          String con) {
         if (con != null  && !"".equals(con) && !"null".equals(con)) {
-            mapValue.put("con", con);
+            mapValue.put("con","%" + con + "%");
         }
         if ((carrierSsoId != null && !"".equals(carrierSsoId)) && !"undefined".equals(carrierSsoId) && !"null".equals(carrierSsoId)) {
             mapValue.put("carrierSsoId",carrierSsoId);
@@ -851,7 +864,7 @@ public class AmsSaleOrderController extends BaseRESTfulController {
     @ApiModelProperty(value = "新增钒渣销售订单")
     @PostMapping("/addVanadiumSaleOrder")
     public RESTfulResult addVanadiumSaleOrder(@RequestBody Map<String,Object> mapValue) {
-        int result = amsSaleOrderService.addSteelSaleOrder(mapValue);
+        int result = amsSaleOrderService.addVanadiumSaleOrder(mapValue);
         return success(result);
     }
 
@@ -868,4 +881,35 @@ public class AmsSaleOrderController extends BaseRESTfulController {
         String driverTel = amsSaleOrderService.matchingDriverTelRecently(capacityNumber);
         return success(driverTel);
     }
+
+    /**
+     * 查询内转焦炭订单
+     *
+     * @param mapValue
+     * @return
+     */
+    @ApiOperation(value = "查询内转焦炭订单")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "查询内转焦炭订单", required = false, dataType = "java.util.Map"),
+            @ApiImplicitParam(name = "apiId", value = "168", required = false, dataType = "java.util.Map")
+    })
+    @PostMapping(value = "/getCokeInwardOrderList")
+    public RESTfulResult getCokeInwardOrderList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                               Integer apiId,
+                                               Integer pageNum,
+                                               Integer pageSize,
+                                               Integer orderStatus,
+                                               String con) {
+        if (con != null && !con.equals("undefined") && !con.equals("null")) {
+            mapValue.put("con", "%" + con + "%");
+        }
+        if (orderStatus != null) {
+            mapValue.put("orderStatus",orderStatus);
+        }
+        PageHelper.startPage(pageNum, pageSize);
+        //分页数据
+        List<Map<String, Object>> saleOrderList = amsSaleOrderService.getCokeInwardOrderList(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId,null, saleOrderList);
+        return success(pageList);
+    }
 }

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

@@ -114,4 +114,6 @@ public interface AmsSaleOrderMapper extends IBaseMapper<AmsSaleOrder, BigDecimal
     List<Map<String, Object>> getSalerByReceiveId(BigDecimal receiveId);
     // 自动匹配上一条运单的司机电话
     String matchingDriverTelRecently(String capacityNumber);
+    // 查询内转焦炭订单
+    List<Map<String,Object>> getCokeInwardOrderList(Map<String, Object> mapValue);
 }

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

@@ -141,4 +141,6 @@ public interface IAmsSaleOrderService {
     List<Map<String, Object>> matchingAddressRecently(BigDecimal receiveId);
     // 自动匹配上一条运单的司机电话
     String matchingDriverTelRecently(String capacityNumber);
+    // 查询内转焦炭订单
+    List<Map<String, Object>> getCokeInwardOrderList(Map<String, Object> mapValue);
 }

+ 15 - 124
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -437,52 +437,12 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     @Override
     public List<Map<String, Object>> getSaleOrderListBySaleCompanyes(Map<String, Object> map) {
         List<Map<String, Object>> resultList = amsSaleOrderMapper.getSaleOrderListBySaleCompanyes(map);
-        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);
-            }
-            resultMap.put("netWeight",netWeight);
-            resultMap.put("carNum",carNum);
-        }
         return resultList;
     }
 
     @Override
     public List<Map<String, Object>> getAmsSaleOrderApprovedes(Map<String, Object> map) {
         List<Map<String,Object>> resultList = amsSaleOrderMapper.getAmsSaleOrderApprovedes(map);
-        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);
-            }
-            resultMap.put("netWeight",netWeight);
-            resultMap.put("carNum",carNum);
-        }
         return resultList;
     }
 
@@ -753,6 +713,9 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             BigDecimal isSteel = new BigDecimal(1);
             // 得到运力id
             BigDecimal capacityId = amsSaleOrderMaterialMapper.getCapacityId(capacityNumber);
+            if (capacityId == null) {
+                return 0;
+            }
             List<Map<String,Object>> materialList = amsSaleOrderMaterialMapper.getMaterial(saleOrderMaterialId);
             /*
              定向派单表
@@ -931,55 +894,12 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     @Override
     public List<Map<String, Object>> getSaleOrderListToCarrier(Map<String, Object> map) {
         List<Map<String, Object>> resultList = amsSaleOrderMapper.getSaleOrderListToCarrier(map);
-        for (Map<String, Object> resultMap : resultList) {
-            BigDecimal saleOrderId = (BigDecimal) resultMap.get("saleOrderId");
-            // 物资
-            List<Map<String,Object>> materialList = amsSaleOrderMapper.getTruckNoAndMaterial(saleOrderId);
-            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);
-            }
-        }
         return resultList;
     }
 
     @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;
     }
 
@@ -1085,8 +1005,8 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         amsSaleOrder.setSaleOrderIsselfMention(isSelfMention);
         amsSaleOrder.setSaleOrderId(saleOrderId);
         amsSaleOrder.setSalerId(salerId);
-        // 设置钢材订单
-        amsSaleOrder.setSaleType(new BigDecimal(1));
+        // 设置钒渣订单
+        amsSaleOrder.setSaleType(new BigDecimal(2));
         amsSaleOrder.setSaleNumber(DataChange.generateEightDigitsNumber("WXSDD",saleOrderId.intValue(),"-"));
         amsSaleOrder.setInsertTime(new Date());
         amsSaleOrder.setInsertUpdateRemark("物流新增销售订单");
@@ -1270,6 +1190,16 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         return driverTel;
     }
 
+    /**
+     * 查询内转焦炭订单
+     * @param mapValue
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getCokeInwardOrderList(Map<String, Object> mapValue) {
+        return amsSaleOrderMapper.getCokeInwardOrderList(mapValue);
+    }
+
     /**
      * 展示未匹配承运商的车序号
      * @param mapValue
@@ -1278,19 +1208,6 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     @Override
     public List<Map<String, Object>> getSteelTruckNoList(Map<String, Object> mapValue) {
         List<Map<String, Object>> resultList = amsSaleOrderMapper.getSteelTruckNoList(mapValue);
-        for (Map<String, Object> resultMap : resultList) {
-            BigDecimal saleOrderMaterialId = (BigDecimal) resultMap.get("saleOrderMaterialId");
-            // 物资
-            List<Map<String,Object>> materialList = amsSaleOrderMapper.getTruckNoMaterial(saleOrderMaterialId);
-            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);
-            }
-        }
         return resultList;
     }
 
@@ -1320,19 +1237,6 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     @Override
     public List<Map<String, Object>> getNoCarTruckNoList(Map<String, Object> mapValue) {
         List<Map<String, Object>> resultList = amsSaleOrderMapper.getCarrierTruckNoList(mapValue);
-        for (Map<String, Object> resultMap : resultList) {
-            BigDecimal saleOrderMaterialId = (BigDecimal) resultMap.get("saleOrderMaterialId");
-            // 物资
-            List<Map<String,Object>> materialList = amsSaleOrderMapper.getTruckNoMaterial(saleOrderMaterialId);
-            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);
-            }
-        }
         return resultList;
     }
 
@@ -1344,19 +1248,6 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     @Override
     public List<Map<String, Object>> getHaveCarTruckNoList(Map<String, Object> mapValue) {
         List<Map<String, Object>> resultList = amsSaleOrderMapper.getHaveCarTruckNoList(mapValue);
-        for (Map<String, Object> resultMap : resultList) {
-            BigDecimal saleOrderMaterialId = (BigDecimal) resultMap.get("saleOrderMaterialId");
-            // 物资
-            List<Map<String,Object>> materialList = amsSaleOrderMapper.getTruckNoMaterial(saleOrderMaterialId);
-            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);
-            }
-        }
         return resultList;
     }
 

+ 348 - 14
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml

@@ -1510,13 +1510,24 @@
     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.INSERT_TIME "insertTime",
+    RM.MATERIAL_NAME "materialName",
+    RM.MATERIAL_SPECIFICATION "materialSpecification",
+    RM.MATERIAL_MODEL "materialModel",
+    RM.MATERIAL_NAME || RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL "nameSpecificationModel"
     from AMS_SALE_ORDER a_s_order
     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
+    LEFT JOIN AMS_SALE_MATERIAL ASM
+    ON ASM.SALE_ORDER_ID = a_s_order.SALE_ORDER_ID
+    LEFT JOIN RMS_MATERIAL RM
+    ON RM.MATERIAL_ID = ASM.MATERIAL_ID
     where a_s_order.SALE_ORDER_STATUS=0 and a_s_order.DELETED=0
+    <if test="con != null">
+      and (instr(r_consignee.CONSIGNEE_COMPANY_NAME, #{con}) > 0 or instr(a_s_order.SALE_NUMBER, #{con}) > 0)
+    </if>
     <if test="consigneeSsoId != null" >
       and r_consignee.CONSIGNEE_SSO_ID = #{consigneeSsoId}
     </if>
@@ -1528,6 +1539,24 @@
           "saleNumber" 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="materialSpecification != null">
+        and
+        <foreach collection="materialSpecification" item="item" open="(" separator="or" close=")">
+          "materialSpecification" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="materialModel != null">
+        and
+        <foreach collection="materialModel" item="item" open="(" separator="or" close=")">
+          "materialModel" like '%${item}%'
+        </foreach>
+      </if>
       <if test="shipperName != null">
         and
         <foreach collection="shipperName" item="item" open="(" separator="or" close=")">
@@ -1606,14 +1635,25 @@
     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.INSERT_TIME "insertTime",
+    RM.MATERIAL_NAME "materialName",
+    RM.MATERIAL_SPECIFICATION "materialSpecification",
+    RM.MATERIAL_MODEL "materialModel",
+    RM.MATERIAL_NAME || RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL "nameSpecificationModel"
     from AMS_SALE_ORDER a_s_order
     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
+    LEFT JOIN AMS_SALE_MATERIAL ASM
+    ON ASM.SALE_ORDER_ID = a_s_order.SALE_ORDER_ID
+    LEFT JOIN RMS_MATERIAL RM
+    ON RM.MATERIAL_ID = ASM.MATERIAL_ID
     where a_s_order.SALE_ORDER_STATUS=1
     and a_s_order.DELETED = 0
+    <if test="con != null">
+      and (instr(r_consignee.CONSIGNEE_COMPANY_NAME, #{con}) > 0 or instr(a_s_order.SALE_NUMBER, #{con}) > 0)
+    </if>
     <if test="consigneeSsoId != null">
       and r_consignee.CONSIGNEE_SSO_ID = #{consigneeSsoId}
     </if>
@@ -1625,6 +1665,24 @@
           "saleNumber" 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="materialModel != null">
+        and
+        <foreach collection="materialModel" item="item" open="(" separator="or" close=")">
+          "materialModel" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="materialSpecification != null">
+        and
+        <foreach collection="materialSpecification" item="item" open="(" separator="or" close=")">
+          "materialSpecification" like '%${item}%'
+        </foreach>
+      </if>
       <if test="shipperName != null">
         and
         <foreach collection="shipperName" item="item" open="(" separator="or" close=")">
@@ -1841,12 +1899,20 @@
     a_s_order.SALE_REMARK "saleRemark",
     a_s_order.INSERT_TIME "insertTime",
     DECODE(a_s_order.SALE_ORDER_STATUS,2,'销售已审批',4,'财务已审批') "statusStr",
-    a_s_order.INSERT_UPDATE_REMARK "materialName"
+    RM.MATERIAL_NAME "materialName",
+    RM.MATERIAL_SPECIFICATION "materialSpecification",
+    RM.MATERIAL_MODEL "materialModel",
+    RM.MATERIAL_NAME || RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL "nameSpecificationModel",
+    ASM.SALE_WAREHOUSE "saleWareHouse"
     from AMS_SALE_ORDER a_s_order
     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
+    LEFT JOIN AMS_SALE_MATERIAL ASM
+    ON ASM.SALE_ORDER_ID = a_s_order.SALE_ORDER_ID
+    LEFT JOIN RMS_MATERIAL RM
+    ON RM.MATERIAL_ID = ASM.MATERIAL_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
@@ -1873,6 +1939,21 @@
           "saleNumber" like '%${item}%'
         </foreach>
       </if>
+      <if test="materialName != null">
+        <foreach collection="materialName" item="item" open="(" separator="or" close=")">
+          "materialName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="materialSpecification != null">
+        <foreach collection="materialSpecification" item="item" open="(" separator="or" close=")">
+          "materialSpecification" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="materialModel != null">
+        <foreach collection="materialModel" item="item" open="(" separator="or" close=")">
+          "materialModel" like '%${item}%'
+        </foreach>
+      </if>
       <if test="statusStr != null">
         <foreach collection="statusStr" item="item" open="(" separator="or" close=")">
         and "statusStr" like '%${item}%'
@@ -2092,6 +2173,7 @@
     RM.MATERIAL_NAME                               as "materialName",
     ASM.MATERIAL_NUMBER                            as "materialNumber",
     ASM.MATERIAL_WEIGHT                            as "materialWeight",
+    ASM.SALE_WAREHOUSE                             as "saleWareHouse",
     RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL as "specificationModel",
     RM.MATERIAL_CODE                               as "materialCode",
     nvl(sumWeight.weight,0)+nvl(sumWeight2.weight,0)             as "totalWeight",
@@ -2262,7 +2344,8 @@
 
   <select id="getSaleMaterial" parameterType="java.util.Map" resultType="java.util.Map">
     SELECT * FROM (SELECT
-    RM.MATERIAL_NAME AS "materialName"
+    RM.MATERIAL_NAME AS "materialName",
+    ASM.SALE_WAREHOUSE AS "saleWareHouse"
     FROM AMS_SALE_MATERIAL ASM
     LEFT JOIN RMS_MATERIAL RM
     ON RM.MATERIAL_ID = ASM.MATERIAL_ID
@@ -2374,6 +2457,7 @@
   </select>
 
   <select id="getSaleOrderListToCarrier" parameterType="java.util.Map" resultType="java.util.Map">
+    SELECT * FROM (
     select DISTINCT * from(
     select a_s_order.SALE_ORDER_ID "saleOrderId",
     a_s_order.SALE_NUMBER "saleNumber",
@@ -2391,8 +2475,11 @@
     a_s_order.SALE_REMARK "saleRemark",
     a_s_order.INSERT_TIME "insertTime",
     DECODE(a_s_order.SALE_ORDER_STATUS,2,'销售已审批',4,'财务已审批') "statusStr",
-    a_s_order.INSERT_UPDATE_REMARK "materialName",
-    a_s_order.UPDATE_TIME "updateTime"
+    a_s_order.UPDATE_TIME "updateTime",
+    RM.MATERIAL_NAME "materialName",
+    RM.MATERIAL_SPECIFICATION "materialSpecification",
+    RM.MATERIAL_MODEL "materialModel",
+    RM.MATERIAL_NAME || RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL "nameSpecificationModel"
     from AMS_SALE_ORDER a_s_order
     left join RMS_SHIPPER r_shipper
     on a_s_order.SHIPPER_ID=r_shipper.SHIPPER_ID
@@ -2400,23 +2487,32 @@
     on a_s_order.RECEIVE_ID=r_consignee.CONSIGNEE_ID
     LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
     ON ASOM.SALE_ORDER_ID = a_s_order.SALE_ORDER_ID
+    LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
+    ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
     LEFT JOIN AMS_DISPATCH_SALE_ORDER ADSO
     ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
     LEFT JOIN RMS_CARRIER RC
     ON RC.CARRIER_ID = ADSO.CARRIER_ID
     LEFT JOIN OMSTRUCK_ORDER OO
     ON OO.ORDER_PLAN_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
     where a_s_order.SALE_ORDER_STATUS in (2,4)
     and a_s_order.CLOSE_STATUS is null
     and a_s_order.DELETED = 0
     and ADSO.DISPATCH_TYPE = 2
     and OO.ORDER_ID IS NULL
-    <if test="con != null">
-      and (instr(r_consignee.CONSIGNEE_COMPANY_NAME, #{con}) > 0 or instr(a_s_order.SALE_NUMBER, #{con}) > 0)
-    </if>
     <if test="carrierSsoId != null" >
       and RC.CARRIER_SSO_ID = #{carrierSsoId}
     </if>
+    ) "CARRIER"
+    <where>
+      <if test="con != null">
+        "CARRIER"."consigneeCompanyName" LIKE #{con} or "CARRIER"."saleNumber" LIKE #{con} or "CARRIER"."saleRemark" LIKE #{con}
+      </if>
+    </where>
     )
     <where>
       <if test="saleNumber != null">
@@ -2424,6 +2520,21 @@
           "saleNumber" like '%${item}%'
         </foreach>
       </if>
+      <if test="materialName != null">
+        <foreach collection="materialName" item="item" open="(" separator="or" close=")">
+          "materialName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="materialSpecification != null">
+        <foreach collection="materialSpecification" item="item" open="(" separator="or" close=")">
+          "materialSpecification" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="materialModel != null">
+        <foreach collection="materialModel" item="item" open="(" separator="or" close=")">
+          "materialModel" like '%${item}%'
+        </foreach>
+      </if>
       <if test="shipperName != null">
         and
         <foreach collection="shipperName" item="item" open="(" separator="or" close=")">
@@ -2518,8 +2629,11 @@
     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"
+    DECODE(a_s_order.SALE_ORDER_STATUS,2,'销售已审批',4,'财务已审批') "statusStr",
+    RM.MATERIAL_NAME "materialName",
+    RM.MATERIAL_SPECIFICATION "materialSpecification",
+    RM.MATERIAL_MODEL "materialModel",
+    RM.MATERIAL_NAME || RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL "nameSpecificationModel"
     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
@@ -2529,6 +2643,10 @@
     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
+    LEFT JOIN AMS_SALE_MATERIAL ASM
+    ON ASM.SALE_ORDER_ID = a_s_order.SALE_ORDER_ID
+    LEFT JOIN RMS_MATERIAL RM
+    ON RM.MATERIAL_ID = ASM.MATERIAL_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
@@ -2545,6 +2663,24 @@
           "saleNumber" 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="materialSpecification != null">
+        and
+        <foreach collection="materialSpecification" item="item" open="(" separator="or" close=")">
+          "materialSpecification" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="materialModel != null">
+        and
+        <foreach collection="materialModel" item="item" open="(" separator="or" close=")">
+          "materialModel" like '%${item}%'
+        </foreach>
+      </if>
       <if test="shipperName != null">
         and
         <foreach collection="shipperName" item="item" open="(" separator="or" close=")">
@@ -2637,10 +2773,16 @@
     ASO.SALE_ORDER_ISSELF_MENTION AS "isselfMention",
     ASOM.INSERT_TIME AS "insertTime",
     ASOM.SALE_ORDER_MATERIAL_ID AS "saleOrderMaterialId",
-    ASO.SALE_ORDER_ID AS "saleOrderId"
+    ASO.SALE_ORDER_ID AS "saleOrderId",
+    RM.MATERIAL_NAME AS "materialName",
+    RM.MATERIAL_SPECIFICATION AS "materialSpecification",
+    RM.MATERIAL_MODEL AS "materialModel",
+    RM.MATERIAL_NAME || RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL AS "nameSpecificationModel"
     FROM AMS_SALE_ORDER_MATERIAL ASOM
     LEFT JOIN AMS_SALE_ORDER ASO
     ON ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
+    LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
+    ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
     LEFT JOIN RMS_RECEIVE_PLACE RRP
     ON RRP.PLACE_ID = ASOM.SALE_SHIPPING_ADDRESS_ID
     LEFT JOIN RMS_RECEIVE_ADDRESS RRA
@@ -2651,10 +2793,17 @@
     ON RCO.CONSIGNEE_ID = ASO.RECEIVE_ID
     LEFT JOIN AMS_DISPATCH_SALE_ORDER ADSO
     ON ADSO.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
     WHERE ASO.SALE_ORDER_STATUS IN (2,4)
     AND ASOM.ISSUE_STATUS IS NULL
     AND ADSO.CARRIER_ID IS NULL
     AND ASO.DELETED = 0
+    <if test="con != null" >
+      AND RCO.CONSIGNEE_COMPANY_NAME LIKE #{con}
+    </if>
     )
     <where>
       <if test="saleNumber != null">
@@ -2663,6 +2812,24 @@
           "saleNumber" 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="materialModel != null">
+        and
+        <foreach collection="materialModel" item="item" open="(" separator="or" close=")">
+          "materialModel" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="materialSpecification != null">
+        and
+        <foreach collection="materialSpecification" item="item" open="(" separator="or" close=")">
+          "materialSpecification" like '%${item}%'
+        </foreach>
+      </if>
       <if test="truckNo != null">
         and
         <foreach collection="truckNo" item="item" open="(" separator="or" close=")">
@@ -2733,6 +2900,7 @@
   </select>
 
   <select id="getCarrierTruckNoList" parameterType="java.util.Map" resultType="java.util.Map">
+    SELECT * FROM(
     SELECT DISTINCT *
     FROM (
     SELECT ASO.SALE_NUMBER AS "saleNumber",
@@ -2749,10 +2917,16 @@
     ASOM.INSERT_TIME AS "insertTime",
     ASOM.SALE_ORDER_MATERIAL_ID AS "saleOrderMaterialId",
     ASO.SALE_ORDER_ID AS "saleOrderId",
-    RCA.CARRIER_NAME AS "carrierName"
+    RCA.CARRIER_NAME AS "carrierName",
+    RM.MATERIAL_NAME || RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL AS "nameSpecificationModel",
+    RM.MATERIAL_NAME AS "materialName",
+    RM.MATERIAL_SPECIFICATION AS "materialSpecification",
+    RM.MATERIAL_MODEL AS "materialModel"
     FROM AMS_SALE_ORDER_MATERIAL ASOM
     LEFT JOIN AMS_SALE_ORDER ASO
     ON ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
+    LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
+    ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
     LEFT JOIN RMS_RECEIVE_PLACE RRP
     ON RRP.PLACE_ID = ASOM.SALE_SHIPPING_ADDRESS_ID
     LEFT JOIN RMS_RECEIVE_ADDRESS RRA
@@ -2767,11 +2941,21 @@
     ON OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID
     LEFT JOIN RMS_CARRIER RCA
     ON RCA.CARRIER_ID = ADSO.CARRIER_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
     WHERE ASO.SALE_ORDER_STATUS IN (2,4)
     AND ASOM.ISSUE_STATUS IS NULL
     AND ADSO.DISPATCH_TYPE = 2
     AND OO.ORDER_ID IS NULL
     AND ASO.DELETED = 0
+    ) "NOCAR"
+    <where>
+      <if test="con != null" >
+        "NOCAR"."carrierName" LIKE #{con} or "NOCAR"."consigneeCompanyName" LIKE #{con} or "NOCAR"."addressDeliveryAddress" LIKE #{con}
+      </if>
+    </where>
     )
     <where>
       <if test="saleNumber != null">
@@ -2780,6 +2964,24 @@
           "saleNumber" 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="materialModel != null">
+      and
+      <foreach collection="materialModel" item="item" open="(" separator="or" close=")">
+        "materialModel" like '%${item}%'
+      </foreach>
+    </if>
+      <if test="materialSpecification != null">
+        and
+        <foreach collection="materialSpecification" item="item" open="(" separator="or" close=")">
+          "materialSpecification" like '%${item}%'
+        </foreach>
+      </if>
       <if test="carrierName != null">
         and
         <foreach collection="carrierName" item="item" open="(" separator="or" close=")">
@@ -2879,6 +3081,7 @@
   </select>
 
   <select id="getHaveCarTruckNoList" parameterType="java.util.Map" resultType="java.util.Map">
+    SELECT * FROM (
     SELECT DISTINCT *
     FROM (
     SELECT ASO.SALE_NUMBER AS "saleNumber",
@@ -2895,10 +3098,16 @@
     ASOM.INSERT_TIME AS "insertTime",
     ASOM.SALE_ORDER_MATERIAL_ID AS "saleOrderMaterialId",
     ASO.SALE_ORDER_ID AS "saleOrderId",
-    RCA.CARRIER_NAME AS "carrierName"
+    RCA.CARRIER_NAME AS "carrierName",
+    RM.MATERIAL_NAME AS "materialName",
+    RM.MATERIAL_SPECIFICATION AS "materialSpecification",
+    RM.MATERIAL_MODEL AS "materialModel",
+    RM.MATERIAL_NAME || RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL AS "nameSpecificationModel"
     FROM AMS_SALE_ORDER_MATERIAL ASOM
     LEFT JOIN AMS_SALE_ORDER ASO
     ON ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
+    LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
+    ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
     LEFT JOIN RMS_RECEIVE_PLACE RRP
     ON RRP.PLACE_ID = ASOM.SALE_SHIPPING_ADDRESS_ID
     LEFT JOIN RMS_RECEIVE_ADDRESS RRA
@@ -2913,12 +3122,22 @@
     ON OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID
     LEFT JOIN RMS_CARRIER RCA
     ON RCA.CARRIER_ID = ADSO.CARRIER_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
     WHERE OO.ORDER_TYPE = 1
     AND ASO.SALE_ORDER_STATUS IN (2,4)
     AND ASOM.ISSUE_STATUS IS NULL
     AND ADSO.DISPATCH_TYPE = 2
     AND OO.ORDER_ID IS NOT NULL
     AND OO.ORDER_STATUS IN (4,5)
+    ) "HAVECAR"
+    <where>
+      <if test="con != null" >
+        "HAVECAR"."carrierName" LIKE #{con} or "HAVECAR"."consigneeCompanyName" LIKE #{con} or "HAVECAR"."addressDeliveryAddress" LIKE #{con}
+      </if>
+    </where>
     )
     <where>
       <if test="saleNumber != null">
@@ -2927,6 +3146,30 @@
           "saleNumber" 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="materialSpecification != null">
+        and
+        <foreach collection="materialSpecification" item="item" open="(" separator="or" close=")">
+          "materialSpecification" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="materialModel != null">
+        and
+        <foreach collection="materialModel" item="item" open="(" separator="or" close=")">
+          "materialModel" 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="carrierName != null">
         and
         <foreach collection="carrierName" item="item" open="(" separator="or" close=")">
@@ -3116,4 +3359,95 @@
     <
     ]]> 2
   </select>
+
+  <!-- 查询内转焦炭订单 -->
+  <select id="getCokeInwardOrderList" parameterType="java.util.Map" resultType="java.util.Map">
+    SELECT * FROM (
+    SELECT *from(
+    select
+    OO.ORDER_NUMBER "orderNumber",
+    ASO.SALE_NUMBER "saleNumber",
+    RC.CAPACITY_NUMBER "capacityNumber",
+    RC2.CONSIGNEE_COMPANY_NAME "consigneeCompanyName",
+    RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT || RRA.ADDRESS_TOWN "addressDeliveryAddress",
+    ACTP.PRICE_VALUE "priceValue",
+    ASOM.SALE_DATE_OF_RECEIPT "saleDateOfReceipt",
+    OO.ORDER_RECEIVE_REFUSE_TIME "orderReceiveRefuseTime",
+    RS.SHIPPER_NAME "shipperName",
+    OO.ORDER_ID "orderId",
+    RC3.CARRIER_NAME "carrierName"
+    FROM OMSTRUCK_ORDER OO
+    LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+    ON ASOM.SALE_ORDER_MATERIAL_ID=OO.ORDER_PLAN_ID
+    LEFT JOIN AMS_SALE_ORDER ASO
+    ON ASO.SALE_ORDER_ID=ASOM.SALE_ORDER_ID
+    LEFT JOIN AMS_DISPATCH_SALE_ORDER ADSO
+    ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+    LEFT JOIN RMS_CARRIER RC3
+    ON RC3.CARRIER_ID = ADSO.CARRIER_ID
+    LEFT JOIN RMS_CONSIGNEE RC2
+    ON RC2.CONSIGNEE_ID=ASO.RECEIVE_ID
+    LEFT JOIN RMS_CAPACITY RC
+    ON OO.CAPACITY_ID=RC.CAPACITY_ID
+    LEFT JOIN RMS_SHIPPER RS
+    ON RS.SHIPPER_ID=ASO.SHIPPER_ID
+    LEFT JOIN RMS_RECEIVE_ADDRESS RRA
+    ON RRA.ADDRESS_ID=ASOM.SALE_SHIPPING_ADDRESS_ID
+    LEFT JOIN AMS_CONTRACT_TRANSPORT_PRICE ACTP
+    ON OO.PRICE_ID=ACTP.PRICE_ID
+    WHERE OO.ORDER_TYPE = 2
+    AND ASO.SHIPPER_ID = 2
+    AND ASO.CLOSE_STATUS = 0
+    <where>
+      <if test="orderStatus!=null">
+        AND OO.ORDER_STATUS = #{orderStatus}
+      </if>
+    </where>
+    ) RRC
+    <if test="con != null">
+      WHERE RRC."consigneeCompanyName" LIKE #{con} or RRC."capacityNumber" LIKE #{con}
+    </if>
+    )
+    <where>
+      <if test="orderNumber != null">
+        <foreach collection="orderNumber" item="item" open="(" separator="or" close=")">
+          "orderNumber" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="carrierName != null">
+        <foreach collection="carrierName" item="item" open="(" separator="or" close=")">
+          "carrierName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleNumber != null">
+        and
+        <foreach collection="saleNumber" item="item" open="(" separator="or" close=")">
+          "saleNumber" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="capacityNumber != null">
+        and
+        <foreach collection="capacityNumber" item="item" open="(" separator="or" close=")">
+          "capacityNumber" 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>
+    </where>
+    <include refid="orderBy">
+    </include>
+    <if test="orderField == null  ">
+      order by "orderNumber" desc
+    </if>
+  </select>
 </mapper>