Просмотр исходного кода

Merge branch 'master' of https://git.steerinfo.com/DAL-DAZHOU/DAL-DAZHOU-AMS-API

zx 3 лет назад
Родитель
Сommit
1f49ac254e

+ 1 - 2
pom.xml

@@ -112,13 +112,12 @@
                     <targetPackage>com.steerinfo.dil</targetPackage>
                     <tables>
 <!--                        <param>AMS_SALE_ORDER</param>&lt;!&ndash;销售计划&ndash;&gt;-->
-                        <param>AMS_SALE_ORDER</param><!--销售计划物资中间表-->
+                        <param>AMS_SALE_ORDER_MATERIAL</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;-->
 <!--                        <param>AMS_SALE_TRUCKNO_MATERIAL</param>&lt;!&ndash;车序号物资中间表&ndash;&gt;-->
 <!--                            <param>AMS_CONTRACT_TRANSPORT_PRICE</param>-->
-                        <param>AMSTRUCK_INWARD_REQUIREMENT</param>
                     </tables>
                 </configuration>
                 <executions>

+ 74 - 5
src/main/java/com/steerinfo/dil/controller/AmsSaleOrderController.java

@@ -473,8 +473,11 @@ public class AmsSaleOrderController extends BaseRESTfulController {
     public RESTfulResult getSaleOrderInfoes(@RequestBody(required=false) Map<String,Object> mapValue,
                                             Integer apiId,
                                             Integer pageNum,
-                                            Integer pageSize){
-
+                                            Integer pageSize,
+                                            String consigneeSsoId){
+        if (consigneeSsoId != null && !"".equals(consigneeSsoId) && !"null".equals(consigneeSsoId)) {
+            mapValue.put("consigneeSsoId",consigneeSsoId);
+        }
         PageHelper.startPage(pageNum,pageSize);
         List<Map<String, Object>> amsSaleOrder1 = amsSaleOrderService.getSaleOrderInfoes(mapValue);
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,amsSaleOrder1);
@@ -489,8 +492,11 @@ public class AmsSaleOrderController extends BaseRESTfulController {
     public RESTfulResult getSaleOrderReportedes(@RequestBody(required=false) Map<String,Object> mapValue,
                                                 Integer apiId,
                                                 Integer pageNum,
-                                                Integer pageSize){
-
+                                                Integer pageSize,
+                                                String consigneeSsoId){
+        if (consigneeSsoId != null && !"".equals(consigneeSsoId) && !"null".equals(consigneeSsoId)) {
+            mapValue.put("consigneeSsoId",consigneeSsoId);
+        }
         PageHelper.startPage(pageNum,pageSize);
         List<Map<String, Object>> amsSaleOrder1 = amsSaleOrderService.getSaleOrderReportedes(mapValue);
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,amsSaleOrder1);
@@ -509,7 +515,9 @@ public class AmsSaleOrderController extends BaseRESTfulController {
                                                          Integer pageSize,
                                                          Integer apiId,
                                                          String con,
-                                                         Integer shipperId
+                                                         Integer shipperId,
+                                                         @RequestParam(required = false) Integer saleType,
+                                                         String consigneeSsoId
 //                                                         String startDate,
 //                                                         String endDate
                                                          ) {
@@ -519,6 +527,10 @@ public class AmsSaleOrderController extends BaseRESTfulController {
         if(shipperId != null  && !"".equals(shipperId) && !"null".equals(shipperId)){
             mapValue.put("shipperId", shipperId);
         }
+        if (consigneeSsoId != null  && !"".equals(consigneeSsoId) && !"null".equals(consigneeSsoId)) {
+            mapValue.put("consigneeSsoId",consigneeSsoId);
+        }
+        mapValue.put("saleType",saleType);
 //        SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
 //        if(startDate != null  && !"".equals(startDate) && !"null".equals(startDate)){
 //            Date startTime=new Date(Long.parseLong(startDate));
@@ -799,4 +811,61 @@ public class AmsSaleOrderController extends BaseRESTfulController {
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId,null, saleOrderList);
         return success(pageList);
     }
+
+    @ApiModelProperty(value = "删除上一条销售订单")
+    @PostMapping("/deleteSaleOrderById")
+    public RESTfulResult deleteSaleOrderById(@RequestParam Integer saleOrderId) {
+        int result = amsSaleOrderService.deleteSaleOrderById(new BigDecimal(saleOrderId));
+        return success(result);
+    }
+
+    @ApiModelProperty(value = "查询出销售订单下的所有数据")
+    @PostMapping("/getAllSaleMessages")
+    public RESTfulResult getAllSaleMessages(@RequestParam Integer saleOrderId) {
+        Map<String,Object> saleMap = amsSaleOrderService.getAllSaleMessages(new BigDecimal(saleOrderId));
+        return success(saleMap);
+    }
+
+    @ApiModelProperty(value = "修改承运商授权")
+    @PostMapping("/updateTruckNoCarrier")
+    public RESTfulResult updateTruckNoCarrier(@RequestBody Map<String,Object> mapValue) {
+        int result = amsSaleOrderService.updateTruckNoCarrier(mapValue);
+        return success(result);
+    }
+
+    /**
+     * 批量上传销售订单
+     * @param saleOrderIdList
+     * @return
+     */
+    @ApiOperation(value="批量上传销售订单")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "saleOrderId", value = "销售订单ID", required = false, dataType = "java.math.BigDecimal")
+    })
+    @PostMapping(value = "/uploadSaleOrderList")
+    public RESTfulResult uploadSaleOrderList(@RequestBody List<Map<String,Object>> saleOrderIdList){
+        int i = amsSaleOrderService.uploadSaleOrderList(saleOrderIdList);
+        return success(i);
+    }
+
+    @ApiModelProperty(value = "新增钒渣销售订单")
+    @PostMapping("/addVanadiumSaleOrder")
+    public RESTfulResult addVanadiumSaleOrder(@RequestBody Map<String,Object> mapValue) {
+        int result = amsSaleOrderService.addSteelSaleOrder(mapValue);
+        return success(result);
+    }
+
+    @ApiModelProperty(value = "自动匹配出最近的一个地址")
+    @PostMapping("/matchingAddressRecently")
+    public RESTfulResult matchingAddressRecently(@RequestParam BigDecimal receiveId) {
+        List<Map<String,Object>> mapList = amsSaleOrderService.matchingAddressRecently(receiveId);
+        return success(mapList);
+    }
+
+    @ApiModelProperty(value = "自动匹配上一条运单的司机电话")
+    @PostMapping("/matchingDriverTelRecently")
+    public RESTfulResult matchingDriverTelRecently(@RequestParam String capacityNumber) {
+        String driverTel = amsSaleOrderService.matchingDriverTelRecently(capacityNumber);
+        return success(driverTel);
+    }
 }

+ 2 - 2
src/main/java/com/steerinfo/dil/controller/AmstruckInwardRequirementController.java

@@ -11,12 +11,10 @@ import com.steerinfo.framework.service.pagehelper.PageHelper;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiModelProperty;
-import io.swagger.models.auth.In;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
-import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -263,4 +261,6 @@ public class AmstruckInwardRequirementController extends BaseRESTfulController {
         return success(mapList);
     }
 
+
+
 }

+ 15 - 1
src/main/java/com/steerinfo/dil/mapper/AmsSaleOrderMapper.java

@@ -82,7 +82,7 @@ public interface AmsSaleOrderMapper extends IBaseMapper<AmsSaleOrder, BigDecimal
     // 根据详细地址匹配省市县
     BigDecimal getAddressByPlace(BigDecimal placeId);
     // 根据省市县匹配承运商
-    List<Map<String, Object>> getCarrierByPlace(BigDecimal addressId);
+    List<Map<String, Object>> getCarrierByPlace(BigDecimal placeId);
     // 根据详细地址匹配承运商
     Map<String, Object> getPriceByCarrierAndPlace(Map<String, Object> mapValue);
 
@@ -100,4 +100,18 @@ public interface AmsSaleOrderMapper extends IBaseMapper<AmsSaleOrder, BigDecimal
     List<Map<String, Object>> getSaleOrderListByCarrierSsoId(Map<String, Object> map);
 
     BigDecimal getOrderPrice(Map<String, Object> map);
+    // 根据id查询收货单位名称
+    String selectConsigneeName(BigDecimal receiveId);
+    // 根据收货单位名称查询承运商id
+    BigDecimal selectCarrierId(String consigneeName);
+    // 查询销售订单的数据
+    Map<String, Object> getSaleMapMessages(BigDecimal saleOrderId);
+    // 查询销售订单下面表的数据
+    List<Map<String, Object>> getSaleListMessages(BigDecimal saleOrderId);
+    // 自动匹配出最近的一个地址
+    List<Map<String, Object>> matchingAddressRecently(BigDecimal receiveId);
+    // 自动匹配出最近的一个销售员
+    List<Map<String, Object>> getSalerByReceiveId(BigDecimal receiveId);
+    // 自动匹配上一条运单的司机电话
+    String matchingDriverTelRecently(String capacityNumber);
 }

+ 1 - 1
src/main/java/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.java

@@ -51,7 +51,7 @@ public interface AmsSaleOrderMaterialMapper extends IBaseMapper<AmsSaleOrderMate
     // 得到是否是钢材
     BigDecimal getIsSteel(BigDecimal lineId);
 
-    List<Map<String, Object>> getPlaceId(String place);
+    List<Map<String, Object>> getPlaceId(String place,BigDecimal shippingAddressId);
     // 通过销售订单id查询出销售订单信息
     Map<String, Object> getSaleMessage(BigDecimal saleOrderId);
     // 通过承运商id查询单价

+ 15 - 0
src/main/java/com/steerinfo/dil/model/AmsSaleOrder.java

@@ -141,6 +141,12 @@ public class AmsSaleOrder implements IBasePO<BigDecimal> {
     @ApiModelProperty(value="销售员ID",required=false)
     private BigDecimal salerId;
 
+    /**
+     * 销售订单类型:(空:化产焦炭和水渣,1:钢材,2:钒渣)(SALE_TYPE,DECIMAL,0)
+     */
+    @ApiModelProperty(value="销售订单类型:(空:化产焦炭和水渣,1:钢材,2:钒渣)",required=false)
+    private BigDecimal saleType;
+
     private static final long serialVersionUID = 1L;
 
     @Override
@@ -329,6 +335,14 @@ public class AmsSaleOrder implements IBasePO<BigDecimal> {
         this.salerId = salerId;
     }
 
+    public BigDecimal getSaleType() {
+        return saleType;
+    }
+
+    public void setSaleType(BigDecimal saleType) {
+        this.saleType = saleType;
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -357,6 +371,7 @@ public class AmsSaleOrder implements IBasePO<BigDecimal> {
         sb.append(", deleted=").append(deleted);
         sb.append(", closeStatus=").append(closeStatus);
         sb.append(", salerId=").append(salerId);
+        sb.append(", saleType=").append(saleType);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

+ 15 - 0
src/main/java/com/steerinfo/dil/model/AmsSaleOrderMaterial.java

@@ -111,6 +111,12 @@ public class AmsSaleOrderMaterial implements IBasePO<BigDecimal> {
     @ApiModelProperty(value="运输单价ID",required=false)
     private BigDecimal priceId;
 
+    /**
+     * 车号备注(TRUCK_REMARK,VARCHAR,200)
+     */
+    @ApiModelProperty(value="车号备注",required=false)
+    private String truckRemark;
+
     private static final long serialVersionUID = 1L;
 
     @Override
@@ -259,6 +265,14 @@ public class AmsSaleOrderMaterial implements IBasePO<BigDecimal> {
         this.priceId = priceId;
     }
 
+    public String getTruckRemark() {
+        return truckRemark;
+    }
+
+    public void setTruckRemark(String truckRemark) {
+        this.truckRemark = truckRemark == null ? null : truckRemark.trim();
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -282,6 +296,7 @@ public class AmsSaleOrderMaterial implements IBasePO<BigDecimal> {
         sb.append(", issueStatus=").append(issueStatus);
         sb.append(", steelReceiptDate=").append(steelReceiptDate);
         sb.append(", priceId=").append(priceId);
+        sb.append(", truckRemark=").append(truckRemark);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

+ 47 - 2
src/main/java/com/steerinfo/dil/model/OmstruckOrder.java

@@ -100,9 +100,9 @@ public class OmstruckOrder implements IBasePO<BigDecimal> {
     private BigDecimal deleted;
 
     /**
-     * 订单类型(1:销售订单;2:焦炭发运计划;3:水渣发运计划;4:内转到异地库;5:采购辅料订单;6:采购老区燃料订单;7:采购新区燃料订单;8:采购进口矿(万州-厂内);9:采购内转(达州-厂内);10:采购内转(老区-厂内); 11:厂内内转;12:零星物资进厂、13:零星物资出厂:14:钢材退货 ;15 内转精煤进厂;16 内转精煤出厂;17 采购化工材料新区订单; 18 采购化工材料老区订单)(ORDER_TYPE,DECIMAL,0)
+     * 订单类型(1:销售订单;2:焦炭发运计划;3:水渣发运计划;4:内转到异地库;5:采购辅料订单;6:采购老区燃料订单;7:采购新区燃料订单;8:采购进口矿(万州-厂内);9:内转钢坯车 ; 10:采购内转(老区-厂内); 11:厂内内转;12:零星物资进厂、13:零星物资出厂:14:钢材退货 ;15 内转精煤进厂;16 内转精煤出厂;17 采购化工材料新区订单; 18 采购化工材料老区订单)(ORDER_TYPE,DECIMAL,0)
      */
-    @ApiModelProperty(value="订单类型(1:销售订单;2:焦炭发运计划;3:水渣发运计划;4:内转到异地库;5:采购辅料订单;6:采购老区燃料订单;7:采购新区燃料订单;8:采购进口矿(万州-厂内);9:采购内转(达州-厂内);10:采购内转(老区-厂内); 11:厂内内转;12:零星物资进厂、13:零星物资出厂:14:钢材退货 ;15 内转精煤进厂;16 内转精煤出厂;17 采购化工材料新区订单; 18 采购化工材料老区订单)",required=false)
+    @ApiModelProperty(value="订单类型(1:销售订单;2:焦炭发运计划;3:水渣发运计划;4:内转到异地库;5:采购辅料订单;6:采购老区燃料订单;7:采购新区燃料订单;8:采购进口矿(万州-厂内);9:内转钢坯车 ; 10:采购内转(老区-厂内); 11:厂内内转;12:零星物资进厂、13:零星物资出厂:14:钢材退货 ;15 内转精煤进厂;16 内转精煤出厂;17 采购化工材料新区订单; 18 采购化工材料老区订单)",required=false)
     private BigDecimal orderType;
 
     /**
@@ -147,6 +147,24 @@ public class OmstruckOrder implements IBasePO<BigDecimal> {
     @ApiModelProperty(value="订单所属承运商ID",required=false)
     private BigDecimal carrierId;
 
+    /**
+     * 行程ID(TRIP_ID,VARCHAR,200)
+     */
+    @ApiModelProperty(value="行程ID",required=false)
+    private String tripId;
+
+    /**
+     * 打印状态(ORDER_PRINT_STATUS,DECIMAL,0)
+     */
+    @ApiModelProperty(value="打印状态",required=false)
+    private BigDecimal orderPrintStatus;
+
+    /**
+     * 司机电话号码(DRIVER_TEL,VARCHAR,36)
+     */
+    @ApiModelProperty(value="司机电话号码",required=false)
+    private String driverTel;
+
     private static final long serialVersionUID = 1L;
 
     @Override
@@ -343,6 +361,30 @@ public class OmstruckOrder implements IBasePO<BigDecimal> {
         this.carrierId = carrierId;
     }
 
+    public String getTripId() {
+        return tripId;
+    }
+
+    public void setTripId(String tripId) {
+        this.tripId = tripId == null ? null : tripId.trim();
+    }
+
+    public BigDecimal getOrderPrintStatus() {
+        return orderPrintStatus;
+    }
+
+    public void setOrderPrintStatus(BigDecimal orderPrintStatus) {
+        this.orderPrintStatus = orderPrintStatus;
+    }
+
+    public String getDriverTel() {
+        return driverTel;
+    }
+
+    public void setDriverTel(String driverTel) {
+        this.driverTel = driverTel == null ? null : driverTel.trim();
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -372,6 +414,9 @@ public class OmstruckOrder implements IBasePO<BigDecimal> {
         sb.append(", driverConfirmation=").append(driverConfirmation);
         sb.append(", priceId=").append(priceId);
         sb.append(", carrierId=").append(carrierId);
+        sb.append(", tripId=").append(tripId);
+        sb.append(", orderPrintStatus=").append(orderPrintStatus);
+        sb.append(", driverTel=").append(driverTel);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

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

@@ -127,4 +127,18 @@ public interface IAmsSaleOrderService {
     List<Map<String, Object>> getHaveCarTruckNoList(Map<String, Object> mapValue);
     //展示销售公司下发给承运商的销售订单列表
     List<Map<String, Object>> getSaleOrderListByCarrierSsoId(Map<String, Object> mapValue);
+    // 删除销售订单
+    int deleteSaleOrderById(BigDecimal saleOrderId);
+    // 查询出销售订单的所有数据
+    Map<String, Object> getAllSaleMessages(BigDecimal saleOrderId);
+    // 修改承运商授权
+    int updateTruckNoCarrier(Map<String, Object> mapValue);
+    // 批量上传销售订单至金蝶
+    int uploadSaleOrderList(List<Map<String, Object>> saleOrderIdList);
+    // 新增钢材销售订单
+    int addVanadiumSaleOrder(Map<String, Object> mapValue);
+    // 自动匹配出最近的一个地址
+    List<Map<String, Object>> matchingAddressRecently(BigDecimal receiveId);
+    // 自动匹配上一条运单的司机电话
+    String matchingDriverTelRecently(String capacityNumber);
 }

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

@@ -46,7 +46,6 @@ public class AmsSaleOrderCarrierServiceImpl extends BaseServiceImpl<AmsSaleOrder
             //当前订单已经下发给该承运商
             AmsSaleOrderCarrier saleOrderCarrier= amsSaleOrderCarrierMapper.getAmsSaleOrderCarrier(carrierId,saleOrderId);
             if (saleOrderId!=null&&saleOrderCarrier==null){
-
                 AmsSaleOrderCarrier amsSaleOrderCarrier=new AmsSaleOrderCarrier();
                 amsSaleOrderCarrier.setSaleOrderCarrierId(amsSaleOrderCarrierMapper.selectMaxId());
                 amsSaleOrderCarrier.setCarrierId(carrierId);

+ 2 - 2
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderMaterialServiceImpl.java

@@ -211,7 +211,7 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
                 BigDecimal shippingAddressId = DataChange.dataToBigDecimal(map.get("shippingAddressId"));
                 String place = (String) (map.get("place"));
                 if (place != null) {
-                    List<Map<String, Object>> placeIdList = amsSaleOrderMaterialMapper.getPlaceId(place);
+                    List<Map<String, Object>> placeIdList = amsSaleOrderMaterialMapper.getPlaceId(place,shippingAddressId);
                     if (placeIdList == null || placeIdList.size() == 0) {
                         RmsReceivePlace rmsReceivePlace = new RmsReceivePlace();
                         rmsReceivePlace.setPlaceId(rmsReceivePlaceMapper.selectMaxId());
@@ -379,7 +379,7 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
             BigDecimal shippingAddressId = DataChange.dataToBigDecimal(map.get("saleShipperAddressId"));
             String place = (String) (map.get("place"));
             if (place != null) {
-                List<Map<String, Object>> placeIdList = amsSaleOrderMaterialMapper.getPlaceId(place);
+                List<Map<String, Object>> placeIdList = amsSaleOrderMaterialMapper.getPlaceId(place,shippingAddressId);
                 if (placeIdList == null || placeIdList.size() == 0) {
                     RmsReceivePlace rmsReceivePlace = new RmsReceivePlace();
                     rmsReceivePlace.setPlaceId(rmsReceivePlaceMapper.selectMaxId());

+ 332 - 4
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -555,6 +555,8 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         amsSaleOrder.setSaleOrderIsselfMention(isSelfMention);
         amsSaleOrder.setSaleOrderId(saleOrderId);
         amsSaleOrder.setSalerId(salerId);
+        // 设置钢材订单
+        amsSaleOrder.setSaleType(new BigDecimal(1));
         amsSaleOrder.setSaleNumber(DataChange.generateEightDigitsNumber("WXSDD",saleOrderId.intValue(),"-"));
         amsSaleOrder.setInsertTime(new Date());
         amsSaleOrder.setInsertUpdateRemark("物流新增销售订单");
@@ -590,9 +592,11 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                 // 车序号主键
                 BigDecimal saleOrderMaterialId = amsSaleOrderMaterialMapper.selectMaxId();
                 BigDecimal shippingAddressId = DataChange.dataToBigDecimal(map.get("shipperAddressId"));
+                // 车号备注
+                String truckRemark = (String) (map.get("truckRemark"));
                 String place = (String) (map.get("place"));
                 if (place != null && !"null".equals(place)) {
-                    List<Map<String, Object>> placeIdList = amsSaleOrderMaterialMapper.getPlaceId(place);
+                    List<Map<String, Object>> placeIdList = amsSaleOrderMaterialMapper.getPlaceId(place,shippingAddressId);
                     if (placeIdList == null || placeIdList.size() == 0) {
                         RmsReceivePlace rmsReceivePlace = new RmsReceivePlace();
                         rmsReceivePlace.setPlaceId(rmsReceivePlaceMapper.selectMaxId());
@@ -604,7 +608,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                         amsSaleOrderMaterial.setSaleShippingAddressId((BigDecimal) placeIdList.get(0).get("placeId"));
                     }
                 }
-                if (amsSaleOrderMaterial.getSaleShippingAddressId() != null) {
+                if (amsSaleOrderMaterial.getSaleShippingAddressId() != null && isSelfMention.equals("否")) {
                     // 自动匹配承运商
                     List<Map<String, Object>> carrierList = getCarrierByPlace(amsSaleOrderMaterial.getSaleShippingAddressId());
                     // 单一承运商才进行匹配
@@ -618,6 +622,21 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                         dispatchToCarrier(list);
                     }
                 }
+                if (isSelfMention.equals("是")) {
+                    // 根据收货单位id查询出收货单位名称
+                    String consigneeName = amsSaleOrderMapper.selectConsigneeName(receiveId);
+                    // 根据收货单位名称查询承运商id
+                    BigDecimal carrierId = amsSaleOrderMapper.selectCarrierId(consigneeName);
+                    List<Map<String, Object>> list = new ArrayList<>();
+                    Map<String,Object> map1 = new HashMap<>();
+                    // 传入车序号主键和承运商id
+                    if (carrierId != null) {
+                        map1.put("saleOrderMaterialId", saleOrderMaterialId);
+                        map1.put("carrierId", carrierId);
+                        list.add(map1);
+                        dispatchToCarrier(list);
+                    }
+                }
                 // 收货方姓名
                 String consigneeName = String.valueOf(map.get("saleOrderConsignee"));
                 // 收货方电话
@@ -630,6 +649,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                 }
                 amsSaleOrderMaterial.setSaleOrderMaterialId(saleOrderMaterialId);
                 amsSaleOrderMaterial.setSaleOrderId(saleOrderId);
+                amsSaleOrderMaterial.setTruckRemark(truckRemark);
                 amsSaleOrderMaterial.setSaleOrderMaterialTruckNo(truckNo);
                 if (consigneeName != null && !consigneeName.equals("null")) {
                     amsSaleOrderMaterial.setSaleOrderConsignee(consigneeName);
@@ -728,6 +748,8 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             BigDecimal priceId = amsSaleOrderMapper.getOrderPrice(map);
             // 运输线路id
             BigDecimal lineId = DataChange.dataToBigDecimal(map.get("lineId"));
+            // 司机电话号码
+            String driverTel = (String) map.get("driverTel");
             BigDecimal isSteel = new BigDecimal(1);
             // 得到运力id
             BigDecimal capacityId = amsSaleOrderMaterialMapper.getCapacityId(capacityNumber);
@@ -750,7 +772,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                 amsDispatchSaleOrder.setDispatchTime(new Date());
                 amsDispatchSaleOrder.setDispatchDealTime(new Date());
                 // 成交类型
-                amsDispatchSaleOrder.setDispatchType(new BigDecimal(0));
+                amsDispatchSaleOrder.setDispatchType(new BigDecimal(2));
                 // 车序号状态
                 amsDispatchSaleOrder.setDispatchStatus(new BigDecimal(2));
                 result += amsDispatchSaleOrderMapper.insertSelective(amsDispatchSaleOrder);
@@ -794,6 +816,10 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                 omstruckOrder.setOrderIssueTime(new Date());
                 // 运单状态
                 omstruckOrder.setOrderStatus(new BigDecimal(4));
+                // 司机电话
+                if (driverTel != null && !"null".equals(driverTel)) {
+                    omstruckOrder.setDriverTel(driverTel);
+                }
                 BigDecimal status;
                 // 钢材
                 if (isSteel != null && isSteel.intValue() == 1) {
@@ -854,7 +880,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     @Override
     public synchronized List<Map<String,Object>> getCarrierByPlace(BigDecimal placeId) {
         BigDecimal addressId = amsSaleOrderMapper.getAddressByPlace(placeId);
-        List<Map<String,Object>> mapList = amsSaleOrderMapper.getCarrierByPlace(addressId);
+        List<Map<String,Object>> mapList = amsSaleOrderMapper.getCarrierByPlace(placeId);
         return mapList;
     }
 
@@ -905,6 +931,19 @@ 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;
     }
 
@@ -944,6 +983,293 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         return resultList;
     }
 
+    /**
+     *
+     * @param saleOrderId
+     * @return
+     */
+    @Override
+    public int deleteSaleOrderById(BigDecimal saleOrderId) {
+        AmsSaleOrder amsSaleOrder = new AmsSaleOrder();
+        amsSaleOrder.setSaleOrderId(saleOrderId);
+        amsSaleOrder.setDeleted(new BigDecimal(1));
+        int result = amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
+        return result;
+    }
+
+    /**
+     * 查询出销售订单下的所有数据
+     * @param saleOrderId
+     * @return
+     */
+    @Override
+    public Map<String, Object> getAllSaleMessages(BigDecimal saleOrderId) {
+        Map<String,Object> saleMap = amsSaleOrderMapper.getSaleMapMessages(saleOrderId);
+        List<Map<String,Object>> mapList = amsSaleOrderMapper.getSaleListMessages(saleOrderId);
+        saleMap.put("mapList",mapList);
+        return saleMap;
+    }
+
+    /**
+     * 修改承运商授权
+     * @param mapValue
+     * @return
+     */
+    @Override
+    public int updateTruckNoCarrier(Map<String, Object> mapValue) {
+        BigDecimal carrierId = DataChange.dataToBigDecimal(mapValue.get("carrierId"));
+        mapValue.remove("carrierId");
+        List<AmsDispatchSaleOrder> amsDispatchSaleOrders = amsDispatchSaleOrderMapper.selectByParameters(mapValue);
+        AmsDispatchSaleOrder amsDispatchSaleOrder = amsDispatchSaleOrders.get(0);
+        amsDispatchSaleOrder.setCarrierId(carrierId);
+        int result = amsDispatchSaleOrderMapper.updateByPrimaryKeySelective(amsDispatchSaleOrder);
+        return result;
+    }
+
+    /**
+     * 批量上传销售订单至金蝶
+     * @param saleOrderIdList
+     * @return
+     */
+    @Override
+    public int uploadSaleOrderList(List<Map<String, Object>> saleOrderIdList) {
+        int result = 0;
+        for (Map<String, Object> map : saleOrderIdList) {
+            AmsSaleOrder amsSaleOrder = new AmsSaleOrder();
+            BigDecimal saleOrderId = DataChange.dataToBigDecimal(map.get("saleOrderId"));
+            // 调用金蝶接口,将销售订单推送到金蝶系统
+            Map<String, Object> input = joinFeign.getSaleOrder(saleOrderId);
+            // 获得金蝶接口配置
+            Map<String, Object> totalMap = easUtil.getTotalMap();
+            // 组装报文
+            totalMap.put("input",input);
+            System.out.println(totalMap);
+            String json = JSONUtils.toJSONString(totalMap);
+            System.out.println(json);
+            String s = joinFeign.pushSaleOrderToEas(totalMap);
+            System.out.println(s);
+            amsSaleOrder.setSaleOrderId(saleOrderId);
+            amsSaleOrder.setSaleOrderStatus(new BigDecimal(1));
+            result += amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
+        }
+        return result;
+    }
+
+    /**
+     * 新增钒渣销售订单
+     * @param mapValue
+     * @return
+     */
+    @Override
+    public int addVanadiumSaleOrder(Map<String, Object> mapValue) {
+        List<Map<String,Object>> mapList = (List<Map<String, Object>>) mapValue.get("mapList");
+        // 得到发货单位
+        BigDecimal shipperId = DataChange.dataToBigDecimal(mapValue.get("shipperId"));
+        // 收货单位
+        BigDecimal receiveId = DataChange.dataToBigDecimal(mapValue.get("receiveId"));
+        // 是否自提
+        String isSelfMention = (String) mapValue.get("isSelfMention");
+        // 备注
+        String saleRemark = (String) mapValue.get("saleRemark");
+        // 收款客户
+        String saleOrderReceiveCustomer = (String) mapValue.get("saleOrderReceiveCustomer");
+        // 业务员
+        BigDecimal salerId = DataChange.dataToBigDecimal(mapValue.get("salerId"));
+        BigDecimal saleOrderId = amsSaleOrderMapper.selectMaxId();
+        int result = 0;
+        // 销售订单
+        AmsSaleOrder amsSaleOrder = new AmsSaleOrder();
+        amsSaleOrder.setReceiveId(receiveId);
+        amsSaleOrder.setSaleRemark(saleRemark == null ? "":saleRemark);
+        amsSaleOrder.setShipperId(shipperId);
+        amsSaleOrder.setSaleOrderIsselfMention(isSelfMention);
+        amsSaleOrder.setSaleOrderId(saleOrderId);
+        amsSaleOrder.setSalerId(salerId);
+        // 设置钢材订单
+        amsSaleOrder.setSaleType(new BigDecimal(1));
+        amsSaleOrder.setSaleNumber(DataChange.generateEightDigitsNumber("WXSDD",saleOrderId.intValue(),"-"));
+        amsSaleOrder.setInsertTime(new Date());
+        amsSaleOrder.setInsertUpdateRemark("物流新增销售订单");
+        amsSaleOrder.setInsertUsername("物流");
+        amsSaleOrder.setUpdateTime(new Date());
+        amsSaleOrder.setDeleted(new BigDecimal(0));
+        amsSaleOrder.setSaleOrderStatus(new BigDecimal(0));
+        // 税率默认13%
+        amsSaleOrder.setSaleOrderTax("13%");
+        // 含税单价某人4000
+        amsSaleOrder.setSaleUnitPrice(new BigDecimal(4000));
+        // 收款客户
+        amsSaleOrder.setSaleOrderReceiveCustomer(saleOrderReceiveCustomer);
+        // 销售订单物资表
+        AmsSaleMaterial amsSaleMaterial = new AmsSaleMaterial();
+        // 车序号物资表
+        AmsSaleTrucknoMaterial amsSaleTrucknoMaterial = new AmsSaleTrucknoMaterial();
+        // 遍历每一行
+        for (Map<String, Object> map : mapList) {
+            /*
+             车序号表
+             */
+            // 得到车序号
+            BigDecimal truckNo = DataChange.dataToBigDecimal(map.get("truckNo"));
+            Map<String,Object> saleMap = new HashMap<>();
+            saleMap.put("saleOrderId",saleOrderId);
+            saleMap.put("saleOrderMaterialTruckNo",truckNo);
+            // 检测销售订单下的车序号是否已存在
+            List<AmsSaleOrderMaterial> amsSaleOrderMaterials = amsSaleOrderMaterialMapper.selectByParameters(saleMap);
+            // 车序号表
+            AmsSaleOrderMaterial amsSaleOrderMaterial = new AmsSaleOrderMaterial();
+            if (amsSaleOrderMaterials == null || amsSaleOrderMaterials.size() == 0) {
+                // 车序号主键
+                BigDecimal saleOrderMaterialId = amsSaleOrderMaterialMapper.selectMaxId();
+                BigDecimal shippingAddressId = DataChange.dataToBigDecimal(map.get("shipperAddressId"));
+                // 车号备注
+                String truckRemark = (String) (map.get("truckRemark"));
+                String place = (String) (map.get("place"));
+                if (place != null && !"null".equals(place)) {
+                    List<Map<String, Object>> placeIdList = amsSaleOrderMaterialMapper.getPlaceId(place,shippingAddressId);
+                    if (placeIdList == null || placeIdList.size() == 0) {
+                        RmsReceivePlace rmsReceivePlace = new RmsReceivePlace();
+                        rmsReceivePlace.setPlaceId(rmsReceivePlaceMapper.selectMaxId());
+                        rmsReceivePlace.setAddressId(shippingAddressId);
+                        rmsReceivePlace.setAddressDeliveryAddress(place);
+                        amsSaleOrderMaterial.setSaleShippingAddressId(rmsReceivePlace.getPlaceId());
+                        rmsReceivePlaceMapper.insertSelective(rmsReceivePlace);
+                    } else {
+                        amsSaleOrderMaterial.setSaleShippingAddressId((BigDecimal) placeIdList.get(0).get("placeId"));
+                    }
+                }
+                if (amsSaleOrderMaterial.getSaleShippingAddressId() != null && isSelfMention.equals("否")) {
+                    // 自动匹配承运商
+                    List<Map<String, Object>> carrierList = getCarrierByPlace(amsSaleOrderMaterial.getSaleShippingAddressId());
+                    // 单一承运商才进行匹配
+                    if (carrierList != null && carrierList.size() == 1) {
+                        List<Map<String, Object>> list = new ArrayList<>();
+                        Map<String, Object> map1 = carrierList.get(0);
+                        // 传入车序号主键和承运商id
+                        map1.put("saleOrderMaterialId", saleOrderMaterialId);
+                        map1.put("carrierId", map1.get("value"));
+                        list.add(map1);
+                        dispatchToCarrier(list);
+                    }
+                }
+                if (isSelfMention.equals("是")) {
+                    // 根据收货单位id查询出收货单位名称
+                    String consigneeName = amsSaleOrderMapper.selectConsigneeName(receiveId);
+                    // 根据收货单位名称查询承运商id
+                    BigDecimal carrierId = amsSaleOrderMapper.selectCarrierId(consigneeName);
+                    List<Map<String, Object>> list = new ArrayList<>();
+                    Map<String,Object> map1 = new HashMap<>();
+                    // 传入车序号主键和承运商id
+                    if (carrierId != null) {
+                        map1.put("saleOrderMaterialId", saleOrderMaterialId);
+                        map1.put("carrierId", carrierId);
+                        list.add(map1);
+                        dispatchToCarrier(list);
+                    }
+                }
+                // 收货方姓名
+                String consigneeName = String.valueOf(map.get("saleOrderConsignee"));
+                // 收货方电话
+                String consigneeTel = String.valueOf(map.get("saleOrderConsigneeTel"));
+                // 截止日期
+                String dateOfReceiptStr = String.valueOf(map.get("saleDateOfReceipt"));
+                Date dateOfReceipt = null;
+                if (!"null".equals(dateOfReceiptStr) && !"undefined".equals(dateOfReceiptStr)) {
+                    dateOfReceipt = new Date(Long.valueOf(dateOfReceiptStr));
+                }
+                amsSaleOrderMaterial.setSaleOrderMaterialId(saleOrderMaterialId);
+                amsSaleOrderMaterial.setSaleOrderId(saleOrderId);
+                amsSaleOrderMaterial.setTruckRemark(truckRemark);
+                amsSaleOrderMaterial.setSaleOrderMaterialTruckNo(truckNo);
+                if (consigneeName != null && !consigneeName.equals("null")) {
+                    amsSaleOrderMaterial.setSaleOrderConsignee(consigneeName);
+                }
+                if (consigneeTel != null && !consigneeTel.equals("null")) {
+                    amsSaleOrderMaterial.setSaleOrderConsigneeTel(consigneeTel);
+                }
+                amsSaleOrderMaterial.setSaleDateOfReceipt(dateOfReceipt);
+                amsSaleOrderMaterial.setInsertTime(new Date());
+                amsSaleOrderMaterial.setUpdateTime(new Date());
+                amsSaleOrderMaterial.setInsertUpdateRemark("物流新增");
+                result += amsSaleOrderMaterialMapper.insertSelective(amsSaleOrderMaterial);
+            }
+            else {
+                amsSaleOrderMaterial = amsSaleOrderMaterials.get(0);
+            }
+            /*
+            销售订单物资表
+             */
+            // 物资
+            BigDecimal materialId = DataChange.dataToBigDecimal(map.get("materialId"));
+            // 物资件数
+            BigDecimal materialNumber = DataChange.dataToBigDecimal(map.get("materialNumber"));
+            // 钢材米数
+            BigDecimal steelMeters = DataChange.dataToBigDecimal(map.get("steelMeters"));
+            // 是否磅重销售(0:磅重;1:理重)
+            BigDecimal isPoundSale = DataChange.dataToBigDecimal(map.get("isPoundSale"));
+            // 销售订单物资表主键
+            BigDecimal saleMaterialId = amsSaleMaterialMapper.selectMaxId();
+            amsSaleMaterial.setSaleMaterialId(saleMaterialId);
+            amsSaleMaterial.setSaleOrderId(saleOrderId);
+            amsSaleMaterial.setMaterialId(materialId);
+            amsSaleMaterial.setMaterialNumber(materialNumber);
+            amsSaleMaterial.setInsertTime(new Date());
+            amsSaleMaterial.setUpdateTime(new Date());
+            if (steelMeters != null && !steelMeters.toString().equals("0")) {
+                amsSaleMaterial.setSteelMeter(steelMeters);
+            }
+            amsSaleMaterial.setIsPoundSale(isPoundSale);
+            amsSaleMaterial.setInsertUpdateRemark("物流新增");
+            result += amsSaleMaterialMapper.insertSelective(amsSaleMaterial);
+            /*
+            车序号物资表
+             */
+            // 车序号物资表主键
+            BigDecimal truckNoMaterialId = amsSaleTrucknoMaterialMapper.selectMaxId();
+            amsSaleTrucknoMaterial.setTrucknoMaterialId(truckNoMaterialId);
+            amsSaleTrucknoMaterial.setSaleOrderMaterialId(amsSaleOrderMaterial.getSaleOrderMaterialId());
+            amsSaleTrucknoMaterial.setMaterialId(amsSaleMaterial.getSaleMaterialId());
+            amsSaleTrucknoMaterial.setSaleOrderMaterialNumber(materialNumber);
+            amsSaleTrucknoMaterial.setInsertTime(new Date());
+            amsSaleTrucknoMaterial.setUpdateTime(new Date());
+            amsSaleTrucknoMaterial.setInsertUpdateRemark("物流新增");
+            result += amsSaleTrucknoMaterialMapper.insertSelective(amsSaleTrucknoMaterial);
+        }
+        result += amsSaleOrderMapper.insertSelective(amsSaleOrder);
+        return result;
+    }
+
+    /**
+     * 自动匹配出最近的一个地址
+     * @param receiveId
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> matchingAddressRecently(BigDecimal receiveId) {
+        List<Map<String,Object>> mapList = amsSaleOrderMapper.matchingAddressRecently(receiveId);
+        List<Map<String,Object>> salerList = amsSaleOrderMapper.getSalerByReceiveId(receiveId);
+        if (mapList != null && mapList.size() != 0) {
+            if (salerList != null && salerList.size() !=0) {
+                Map<String, Object> salerMap = salerList.get(0);
+                for (Map<String, Object> map : mapList) {
+                    map.putAll(salerMap);
+                }
+            }
+        }
+        return mapList;
+    }
+
+    /**
+     * 自动匹配上一条运单的司机电话
+     * @param capacityNumber
+     * @return
+     */
+    @Override
+    public String matchingDriverTelRecently(String capacityNumber) {
+        String driverTel = amsSaleOrderMapper.matchingDriverTelRecently(capacityNumber);
+        return driverTel;
+    }
+
     /**
      * 展示未匹配承运商的车序号
      * @param mapValue
@@ -1033,4 +1359,6 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         }
         return resultList;
     }
+
+
 }

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

@@ -359,11 +359,9 @@ public class AmstruckInwardRequirementServiceImpl extends BaseServiceImpl<Amstru
                 if(enable.intValue() == 0){;
                    map.remove("enable");
                    map.put("enable","未启用");
-                   map.put("loadPointName","化工园区铁专线");
                 }else{
                     map.remove("enable");
                     map.put("enable","启用");
-                    map.put("loadPointName","化工园区铁专线");
                 }
                 }
             return mapList;

+ 1 - 1
src/main/resources/application-dev.yml

@@ -17,7 +17,7 @@ openfeign:
   TmsTruckFeign:
     url: ${TMSTRUCKFEIGN_URL:localhost:8008}
   ImFeign:
-    url: ${IMFEIGN_URL:172.16.33.162:8018}
+    url: ${IMFEIGN_URL:172.16.33.166:8055}
   JoinFeign:
     url: ${JOINFEIGN_URL:172.16.33.162:8006}
 

+ 201 - 30
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml

@@ -24,20 +24,21 @@
     <result column="DELETED" jdbcType="DECIMAL" property="deleted" />
     <result column="CLOSE_STATUS" jdbcType="DECIMAL" property="closeStatus" />
     <result column="SALER_ID" jdbcType="DECIMAL" property="salerId" />
+    <result column="SALE_TYPE" jdbcType="DECIMAL" property="saleType" />
   </resultMap>
   <sql id="columns">
     SALE_ORDER_ID, PLAN_ID, SALE_NUMBER, SHIPPER_ID, RECEIVE_ID, SALE_ACCOUNT_BALANCE,
     SALE_CURRENT_ORDER_AMOUNT, SALE_HISTORICAL_ORDER_AMOUNT, SALE_ORDER_STATUS, SALE_ORDER_RECEIVE_CUSTOMER,
     SALE_ORDER_ISSELF_MENTION, SALE_UNIT_PRICE, SALE_ORDER_TAX, SALE_REMARK, INSERT_USERNAME,
     INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED, CLOSE_STATUS,
-    SALER_ID
+    SALER_ID, SALE_TYPE
   </sql>
   <sql id="columns_alias">
     t.SALE_ORDER_ID, t.PLAN_ID, t.SALE_NUMBER, t.SHIPPER_ID, t.RECEIVE_ID, t.SALE_ACCOUNT_BALANCE,
     t.SALE_CURRENT_ORDER_AMOUNT, t.SALE_HISTORICAL_ORDER_AMOUNT, t.SALE_ORDER_STATUS,
     t.SALE_ORDER_RECEIVE_CUSTOMER, t.SALE_ORDER_ISSELF_MENTION, t.SALE_UNIT_PRICE, t.SALE_ORDER_TAX,
     t.SALE_REMARK, t.INSERT_USERNAME, t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME,
-    t.INSERT_UPDATE_REMARK, t.DELETED, t.CLOSE_STATUS, t.SALER_ID
+    t.INSERT_UPDATE_REMARK, t.DELETED, t.CLOSE_STATUS, t.SALER_ID, t.SALE_TYPE
   </sql>
   <sql id="select">
     SELECT <include refid="columns" /> FROM AMS_SALE_ORDER
@@ -113,6 +114,9 @@
       <if test="salerId != null">
         and SALER_ID = #{salerId}
       </if>
+      <if test="saleType != null">
+        and SALE_TYPE = #{saleType}
+      </if>
     </where>
   </sql>
   <sql id="whereLike">
@@ -183,6 +187,9 @@
       <if test="salerId != null">
         and SALER_ID = #{salerId}
       </if>
+      <if test="saleType != null">
+        and SALE_TYPE = #{saleType}
+      </if>
     </where>
   </sql>
   <delete id="deleteByPrimaryKey" parameterType="DECIMAL">
@@ -255,6 +262,9 @@
     <if test="salerId != null">
       or SALER_ID = #{salerId}
     </if>
+    <if test="saleType != null">
+      or SALE_TYPE = #{saleType}
+    </if>
   </delete>
   <insert id="insert" parameterType="com.steerinfo.dil.model.AmsSaleOrder">
     insert into AMS_SALE_ORDER (SALE_ORDER_ID, PLAN_ID, SALE_NUMBER,
@@ -265,7 +275,7 @@
                                 SALE_ORDER_TAX, SALE_REMARK, INSERT_USERNAME,
                                 INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME,
                                 INSERT_UPDATE_REMARK, DELETED, CLOSE_STATUS,
-                                SALER_ID)
+                                SALER_ID, SALE_TYPE)
     values (#{saleOrderId,jdbcType=DECIMAL}, #{planId,jdbcType=DECIMAL}, #{saleNumber,jdbcType=VARCHAR},
             #{shipperId,jdbcType=DECIMAL}, #{receiveId,jdbcType=DECIMAL}, #{saleAccountBalance,jdbcType=DECIMAL},
             #{saleCurrentOrderAmount,jdbcType=DECIMAL}, #{saleHistoricalOrderAmount,jdbcType=DECIMAL},
@@ -274,7 +284,7 @@
             #{saleOrderTax,jdbcType=VARCHAR}, #{saleRemark,jdbcType=VARCHAR}, #{insertUsername,jdbcType=VARCHAR},
             #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP},
             #{insertUpdateRemark,jdbcType=VARCHAR}, #{deleted,jdbcType=DECIMAL}, #{closeStatus,jdbcType=DECIMAL},
-            #{salerId,jdbcType=DECIMAL})
+            #{salerId,jdbcType=DECIMAL}, #{saleType,jdbcType=DECIMAL})
   </insert>
   <insert id="insertSelective" parameterType="com.steerinfo.dil.model.AmsSaleOrder">
     insert into AMS_SALE_ORDER
@@ -345,6 +355,9 @@
       <if test="salerId != null">
         SALER_ID,
       </if>
+      <if test="saleType != null">
+        SALE_TYPE,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="saleOrderId != null">
@@ -413,6 +426,9 @@
       <if test="salerId != null">
         #{salerId,jdbcType=DECIMAL},
       </if>
+      <if test="saleType != null">
+        #{saleType,jdbcType=DECIMAL},
+      </if>
     </trim>
   </insert>
   <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.AmsSaleOrder">
@@ -437,7 +453,8 @@
         INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
         DELETED = #{deleted,jdbcType=DECIMAL},
         CLOSE_STATUS = #{closeStatus,jdbcType=DECIMAL},
-        SALER_ID = #{salerId,jdbcType=DECIMAL}
+        SALER_ID = #{salerId,jdbcType=DECIMAL},
+        SALE_TYPE = #{saleType,jdbcType=DECIMAL}
     where SALE_ORDER_ID = #{saleOrderId,jdbcType=DECIMAL}
   </update>
   <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.AmsSaleOrder">
@@ -506,6 +523,9 @@
       <if test="salerId != null">
         SALER_ID = #{salerId,jdbcType=DECIMAL},
       </if>
+      <if test="saleType != null">
+        SALE_TYPE = #{saleType,jdbcType=DECIMAL},
+      </if>
     </set>
     where SALE_ORDER_ID = #{saleOrderId,jdbcType=DECIMAL}
   </update>
@@ -532,8 +552,8 @@
     SALE_ORDER_TAX, SALE_REMARK, INSERT_USERNAME,
     INSERT_TIME, UPDATE_USERNAME,
     UPDATE_TIME, INSERT_UPDATE_REMARK,
-    DELETED, CLOSE_STATUS, SALER_ID
-    )
+    DELETED, CLOSE_STATUS, SALER_ID,
+    SALE_TYPE)
     ( <foreach collection="list" item="item" separator="union all">
     select
     #{item.saleOrderId,jdbcType=DECIMAL},
@@ -545,8 +565,8 @@
     #{item.saleOrderTax,jdbcType=VARCHAR}, #{item.saleRemark,jdbcType=VARCHAR}, #{item.insertUsername,jdbcType=VARCHAR},
     #{item.insertTime,jdbcType=TIMESTAMP}, #{item.updateUsername,jdbcType=VARCHAR},
     #{item.updateTime,jdbcType=TIMESTAMP}, #{item.insertUpdateRemark,jdbcType=VARCHAR},
-    #{item.deleted,jdbcType=DECIMAL}, #{item.closeStatus,jdbcType=DECIMAL}, #{item.salerId,jdbcType=DECIMAL}
-    from dual
+    #{item.deleted,jdbcType=DECIMAL}, #{item.closeStatus,jdbcType=DECIMAL}, #{item.salerId,jdbcType=DECIMAL},
+    #{item.saleType,jdbcType=DECIMAL} from dual
   </foreach> )
   </insert>
   <update id="batchUpdate" parameterType="java.util.List">
@@ -640,6 +660,10 @@
     <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_ID" separator=" ">
       when #{item.saleOrderId,jdbcType=DECIMAL} then #{item.salerId,jdbcType=DECIMAL}
     </foreach>
+    ,SALE_TYPE=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_ID" separator=" ">
+      when #{item.saleOrderId,jdbcType=DECIMAL} then #{item.saleType,jdbcType=DECIMAL}
+    </foreach>
     where SALE_ORDER_ID in
     <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
       #{item.saleOrderId,jdbcType=DECIMAL}
@@ -1492,7 +1516,11 @@
     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=0 and a_s_order.DELETED=0)
+    where a_s_order.SALE_ORDER_STATUS=0 and a_s_order.DELETED=0
+    <if test="consigneeSsoId != null" >
+      and r_consignee.CONSIGNEE_SSO_ID = #{consigneeSsoId}
+    </if>
+        )
     <where>
       <if test="saleNumber != null">
         and
@@ -1585,7 +1613,11 @@
     left join RMS_CONSIGNEE r_consignee
     on a_s_order.RECEIVE_ID=r_consignee.CONSIGNEE_ID
     where a_s_order.SALE_ORDER_STATUS=1
-    and a_s_order.DELETED = 0)
+    and a_s_order.DELETED = 0
+    <if test="consigneeSsoId != null">
+      and r_consignee.CONSIGNEE_SSO_ID = #{consigneeSsoId}
+    </if>
+        )
     <where>
       <if test="saleNumber != null">
         and
@@ -1824,6 +1856,15 @@
     <if test="shipperId != null">
       and a_s_order.SHIPPER_ID = #{shipperId}
     </if>
+    <if test="saleType != null">
+      and a_s_order.SALE_TYPE = #{saleType}
+    </if>
+    <if test="saleType == null">
+      and a_s_order.SALE_TYPE is null
+    </if>
+    <if test="consigneeSsoId != null">
+      and r_consignee.CONSIGNEE_SSO_ID = #{consigneeSsoId}
+    </if>
     ORDER BY a_s_order.UPDATE_TIME DESC
     )
     <where>
@@ -2091,7 +2132,7 @@
     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 and o_order.order_status !=8
+    where t_w_result.RESULT_NET_WEIGHT is null and o_order.order_status in (2,4,5)
     GROUP BY
     a_s_o_Material.SALE_ORDER_ID
   
@@ -2106,6 +2147,7 @@
     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
+    where t_w_result.RESULT_NET_WEIGHT is null and o_order.order_status in (2,4,5)
     GROUP BY
     a_s_o_Material.SALE_ORDER_ID
   
@@ -2254,23 +2296,25 @@
   </select>
 
   <select id="getTruckNoAndMaterial" parameterType="DECIMAL" resultType="java.util.Map" >
-    SELECT DISTINCT ASOM.SALE_ORDER_MATERIAL_TRUCK_NO                                                                AS "truckNo",
-                    RM.MATERIAL_NAME                                                                                 AS "materialName",
-                    ASM.MATERIAL_ID                                                                                  AS "materialId",
-                    ASM.MATERIAL_NUMBER                                                                              AS "materialNumber",
-                    ASM.MATERIAL_WEIGHT                                                                              AS "materialWeight",
-                    ASOM.SALE_DATE_OF_RECEIPT                                                                        AS "receiptDate",
-                    RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL                                                   AS "materialModelSpecification",
-                    RM.MATERIAL_CODE                                                                                 AS "materialCode",
+    SELECT DISTINCT ASOM.SALE_ORDER_MATERIAL_TRUCK_NO              AS "truckNo",
+                    RM.MATERIAL_NAME                               AS "materialName",
+                    ASM.MATERIAL_ID                                AS "materialId",
+                    ASM.MATERIAL_NUMBER                            AS "materialNumber",
+                    ASM.MATERIAL_WEIGHT                            AS "materialWeight",
+                    ASOM.SALE_DATE_OF_RECEIPT                      AS "receiptDate",
+                    RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL AS "materialModelSpecification",
+                    RM.MATERIAL_CODE                               AS "materialCode",
                     RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT || RRA.ADDRESS_TOWN ||
-                    RRP.ADDRESS_DELIVERY_ADDRESS                                                                     AS "place",
-                    ASOM.SALE_DATE_OF_RECEIPT                                                                        AS "receiptDate",
-                    ASOM.SALE_ORDER_CONSIGNEE_TEL                                                                    AS "saleOrderConsigneeTel",
-                    ASOM.SALE_ORDER_CONSIGNEE                                                                        AS "saleOrderConsignee",
-                    ASOM.SALE_ORDER_MATERIAL_ID                                                                      AS "saleOrderMaterialId",
-                    ASOM.SALE_SHIPPING_ADDRESS_ID                                                                    AS "placeId",
-                    RC.CAPACITY_NUMBER                                                                               AS "capacityNumber",
-                    ADSO.CARRIER_ID                                                                                  AS "carrierId"
+                    RRP.ADDRESS_DELIVERY_ADDRESS                   AS "place",
+                    ASOM.SALE_DATE_OF_RECEIPT                      AS "receiptDate",
+                    ASOM.SALE_ORDER_CONSIGNEE_TEL                  AS "saleOrderConsigneeTel",
+                    ASOM.SALE_ORDER_CONSIGNEE                      AS "saleOrderConsignee",
+                    ASOM.SALE_ORDER_MATERIAL_ID                    AS "saleOrderMaterialId",
+                    ASOM.SALE_SHIPPING_ADDRESS_ID                  AS "placeId",
+                    RC.CAPACITY_NUMBER                             AS "capacityNumber",
+                    ADSO.CARRIER_ID                                AS "carrierId",
+                    RCA.CARRIER_NAME                               AS "carrierName",
+                    ASOM.TRUCK_REMARK                              AS "truckRemark"
     FROM AMS_SALE_TRUCKNO_MATERIAL ASTM
            LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
                      ON ASOM.SALE_ORDER_MATERIAL_ID = ASTM.SALE_ORDER_MATERIAL_ID
@@ -2288,8 +2332,11 @@
                      ON RC.CAPACITY_ID = OO.CAPACITY_ID
            LEFT JOIN AMS_DISPATCH_SALE_ORDER ADSO
                      ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+           LEFT JOIN RMS_CARRIER RCA
+                     ON RCA.CARRIER_ID = ADSO.CARRIER_ID
     WHERE ASOM.SALE_ORDER_ID = #{saleOrderId}
       AND OO.ORDER_ID IS NULL
+      AND ADSO.DISPATCH_ID IS NOT NULL
     ORDER BY ASOM.SALE_ORDER_MATERIAL_TRUCK_NO ASC
   </select>
 
@@ -2311,9 +2358,10 @@
                      ON ACTP.PLACE_ID = RRP.PLACE_ID
            LEFT JOIN RMS_CARRIER RC
                      ON RC.CARRIER_ID = ACTP.CARRIER_ID
-    WHERE RRP.ADDRESS_ID = #{addressId}
+    WHERE RRP.PLACE_ID = #{placeId}
       AND ACTP.CARRIER_ID IS NOT NULL
       AND ACTP.DELETED = 0
+      ORDER BY ACTP.PRICE_VALUE DESC
   </select>
 
   <select id="getPriceByCarrierAndPlace" parameterType="java.util.Map" resultType="java.util.Map">
@@ -2807,7 +2855,8 @@
                     ASOM.SALE_ORDER_MATERIAL_ID                    AS "saleOrderMaterialId",
                     ASOM.SALE_SHIPPING_ADDRESS_ID                  AS "placeId",
                     RC.CAPACITY_NUMBER                             AS "capacityNumber",
-                    ADSO.CARRIER_ID                                AS "carrierId"
+                    ADSO.CARRIER_ID                                AS "carrierId",
+                    ASOM.TRUCK_REMARK                              AS "truckRemark"
     FROM AMS_SALE_TRUCKNO_MATERIAL ASTM
            LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
                      ON ASOM.SALE_ORDER_MATERIAL_ID = ASTM.SALE_ORDER_MATERIAL_ID
@@ -2945,4 +2994,126 @@
     WHERE ACTP.CARRIER_ID = #{carrierId}
       AND ASOM.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
   </select>
+
+  <select id="selectConsigneeName" parameterType="DECIMAL" resultType="java.lang.String" >
+    SELECT RC.CONSIGNEE_COMPANY_NAME AS "consigneeName"
+    FROM RMS_CONSIGNEE RC
+    WHERE RC.CONSIGNEE_ID = #{receiveId}
+  </select>
+
+  <select id="selectCarrierId" resultType="DECIMAL" parameterType="java.lang.String">
+    SELECT RC.CARRIER_ID AS "carrierId"
+    FROM RMS_CARRIER RC
+    WHERE RC.CARRIER_NAME = #{consigneeName}
+  </select>
+
+  <select id="getSaleMapMessages" resultType="java.util.Map" parameterType="DECIMAL" >
+    SELECT ASO.SALE_ORDER_ISSELF_MENTION   AS "isSelfMention",
+           ASO.SALE_REMARK                 AS "saleRemark",
+           ASO.SALE_ORDER_RECEIVE_CUSTOMER AS "saleOrderReceiveCustomer",
+           RSH.SHIPPER_ID                  AS "shipperId",
+           RSH.SHIPPER_NAME                AS "shipperName",
+           RCO.CONSIGNEE_ID                AS "receiveId",
+           RCO.CONSIGNEE_COMPANY_NAME      AS "receiveName",
+           RSA.SALER_ID                    AS "salerId",
+           RSA.SALER_NAME                  AS "salerName"
+    FROM AMS_SALE_ORDER ASO
+           LEFT JOIN RMS_SHIPPER RSH
+                     ON RSH.SHIPPER_ID = ASO.SHIPPER_ID
+           LEFT JOIN RMS_CONSIGNEE RCO
+                     ON RCO.CONSIGNEE_ID = ASO.RECEIVE_ID
+           LEFT JOIN RMS_SALER RSA
+                     ON RSA.SALER_ID = ASO.SALER_ID
+    WHERE ASO.SALE_ORDER_ID = #{saleOrderId}
+  </select>
+
+  <select id="getSaleListMessages" parameterType="DECIMAL" resultType="java.util.Map" >
+    SELECT ASOM.SALE_ORDER_MATERIAL_TRUCK_NO                                AS "truckNo",
+           RRP.ADDRESS_DELIVERY_ADDRESS                                     AS "place",
+           RRA.ADDRESS_ID                                                   AS "shipperAddressId",
+           RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT || RRA.ADDRESS_TOWN AS "saleShipperAddressName",
+           ASOM.SALE_ORDER_CONSIGNEE                                        AS "saleOrderConsignee",
+           ASOM.SALE_ORDER_CONSIGNEE_TEL                                    AS "saleOrderConsigneeTel",
+           ASOM.SALE_DATE_OF_RECEIPT                                        AS "saleDateOfReceipt",
+           ASM.MATERIAL_ID                                                  AS "materialId",
+           RM.MATERIAL_NAME                                                 AS "materialName",
+           RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL                   AS "Specification",
+           RM.MATERIAL_CODE                                                 AS "materialCode",
+           ASM.MATERIAL_NUMBER                                              AS "materialNumber",
+           ASM.STEEL_METER                                                  AS "steelMeters",
+           ASM.IS_POUND_SALE                                                AS "isPoundSale"
+    FROM AMS_SALE_ORDER ASO
+           LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+                     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 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 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
+    WHERE ASO.SALE_ORDER_ID = #{saleOrderId}
+  </select>
+
+  <select id="matchingAddressRecently" parameterType="DECIMAL" resultType="java.util.Map" >
+    SELECT DISTINCT *
+    FROM (SELECT 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",
+    ASOM.SALE_ORDER_CONSIGNEE_TEL "saleOrderConsigneeTel"
+    FROM AMS_SALE_ORDER ASO
+    LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+    ON ASO.SALE_ORDER_ID = ASOM.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
+    WHERE ASO.RECEIVE_ID = #{receiveId}
+    AND RRP.PLACE_ID IS NOT NULL
+    ORDER BY ASOM.SALE_ORDER_MATERIAL_ID DESC
+    )
+    WHERE rownum <![CDATA[
+    <
+    ]]> 2
+  </select>
+
+  <select id="getSalerByReceiveId" parameterType="DECIMAL" resultType="java.util.Map" >
+    SELECT DISTINCT *
+    FROM (
+           SELECT RS.SALER_NAME "salerName",
+                  RS.SALER_ID   "salerId"
+           FROM AMS_SALE_ORDER ASO
+                  LEFT JOIN RMS_SALER RS
+                            ON RS.SALER_ID = ASO.SALER_ID
+           WHERE ASO.RECEIVE_ID = #{receiveId}
+           AND RS.SALER_ID IS NOT NULL
+           AND ASO.SALE_TYPE = 1
+           ORDER BY ASO.SALE_ORDER_ID DESC
+         )
+    WHERE rownum <![CDATA[
+    <
+    ]]> 2
+  </select>
+
+  <select id="matchingDriverTelRecently" parameterType="java.lang.String" resultType="java.lang.String">
+    SELECT DISTINCT *
+    FROM (
+           SELECT OO.DRIVER_TEL "driverTel"
+           FROM RMS_CAPACITY RCA
+                  LEFT JOIN OMSTRUCK_ORDER OO
+                            ON OO.CAPACITY_ID = RCA.CAPACITY_ID
+           WHERE RCA.CAPACITY_NUMBER = #{capacityNumber}
+             AND OO.ORDER_TYPE = 1
+           ORDER BY OO.ORDER_ID
+         )
+    WHERE ROWNUM <![CDATA[
+    <
+    ]]> 2
+  </select>
 </mapper>

+ 43 - 18
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.xml

@@ -19,18 +19,19 @@
     <result column="ISSUE_STATUS" jdbcType="DECIMAL" property="issueStatus" />
     <result column="STEEL_RECEIPT_DATE" jdbcType="TIMESTAMP" property="steelReceiptDate" />
     <result column="PRICE_ID" jdbcType="DECIMAL" property="priceId" />
+    <result column="TRUCK_REMARK" jdbcType="VARCHAR" property="truckRemark" />
   </resultMap>
   <sql id="columns">
-    SALE_ORDER_MATERIAL_ID, SALE_ORDER_ID, SALE_ORDER_MATERIAL_TRUCK_NO, SALE_SHIPPING_ADDRESS_ID, 
-    SALE_DATE_OF_RECEIPT, SALE_ORDER_CONSIGNEE, SALE_ORDER_CONSIGNEE_TEL, INSERT_USERNAME, 
-    INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED, UPDATED, 
-    ISSUE_STATUS, STEEL_RECEIPT_DATE, PRICE_ID
+    SALE_ORDER_MATERIAL_ID, SALE_ORDER_ID, SALE_ORDER_MATERIAL_TRUCK_NO, SALE_SHIPPING_ADDRESS_ID,
+    SALE_DATE_OF_RECEIPT, SALE_ORDER_CONSIGNEE, SALE_ORDER_CONSIGNEE_TEL, INSERT_USERNAME,
+    INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED, UPDATED,
+    ISSUE_STATUS, STEEL_RECEIPT_DATE, PRICE_ID, TRUCK_REMARK
   </sql>
   <sql id="columns_alias">
-    t.SALE_ORDER_MATERIAL_ID, t.SALE_ORDER_ID, t.SALE_ORDER_MATERIAL_TRUCK_NO, t.SALE_SHIPPING_ADDRESS_ID, 
-    t.SALE_DATE_OF_RECEIPT, t.SALE_ORDER_CONSIGNEE, t.SALE_ORDER_CONSIGNEE_TEL, t.INSERT_USERNAME, 
-    t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.DELETED, 
-    t.UPDATED, t.ISSUE_STATUS, t.STEEL_RECEIPT_DATE, t.PRICE_ID
+    t.SALE_ORDER_MATERIAL_ID, t.SALE_ORDER_ID, t.SALE_ORDER_MATERIAL_TRUCK_NO, t.SALE_SHIPPING_ADDRESS_ID,
+    t.SALE_DATE_OF_RECEIPT, t.SALE_ORDER_CONSIGNEE, t.SALE_ORDER_CONSIGNEE_TEL, t.INSERT_USERNAME,
+    t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.DELETED,
+    t.UPDATED, t.ISSUE_STATUS, t.STEEL_RECEIPT_DATE, t.PRICE_ID, t.TRUCK_REMARK
   </sql>
   <sql id="select">
     SELECT <include refid="columns" /> FROM AMS_SALE_ORDER_MATERIAL
@@ -91,6 +92,9 @@
       <if test="priceId != null">
         and PRICE_ID = #{priceId}
       </if>
+      <if test="truckRemark != null and truckRemark != ''">
+        and TRUCK_REMARK = #{truckRemark}
+      </if>
     </where>
   </sql>
   <sql id="whereLike">
@@ -146,9 +150,12 @@
       <if test="priceId != null">
         and PRICE_ID = #{priceId}
       </if>
+      <if test="truckRemark != null and truckRemark != ''">
+        and TRUCK_REMARK LIKE '%${truckRemark}%'
+      </if>
     </where>
   </sql>
-  <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
+  <delete id="deleteByPrimaryKey" parameterType="DECIMAL">
     delete from AMS_SALE_ORDER_MATERIAL
     where SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId,jdbcType=DECIMAL}
   </delete>
@@ -203,6 +210,9 @@
     <if test="priceId != null">
       or PRICE_ID = #{priceId}
     </if>
+    <if test="truckRemark != null and truckRemark != ''">
+      or TRUCK_REMARK = #{truckRemark}
+    </if>
   </delete>
   <insert id="insert" parameterType="com.steerinfo.dil.model.AmsSaleOrderMaterial">
     insert into AMS_SALE_ORDER_MATERIAL (SALE_ORDER_MATERIAL_ID, SALE_ORDER_ID,
@@ -211,16 +221,16 @@
                                          SALE_ORDER_CONSIGNEE_TEL, INSERT_USERNAME,
                                          INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME,
                                          INSERT_UPDATE_REMARK, DELETED, UPDATED,
-                                         ISSUE_STATUS, STEEL_RECEIPT_DATE, PRICE_ID
-    )
+                                         ISSUE_STATUS, STEEL_RECEIPT_DATE, PRICE_ID,
+                                         TRUCK_REMARK)
     values (#{saleOrderMaterialId,jdbcType=DECIMAL}, #{saleOrderId,jdbcType=DECIMAL},
             #{saleOrderMaterialTruckNo,jdbcType=DECIMAL}, #{saleShippingAddressId,jdbcType=DECIMAL},
             #{saleDateOfReceipt,jdbcType=TIMESTAMP}, #{saleOrderConsignee,jdbcType=VARCHAR},
             #{saleOrderConsigneeTel,jdbcType=VARCHAR}, #{insertUsername,jdbcType=VARCHAR},
             #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP},
             #{insertUpdateRemark,jdbcType=VARCHAR}, #{deleted,jdbcType=DECIMAL}, #{updated,jdbcType=DECIMAL},
-            #{issueStatus,jdbcType=DECIMAL}, #{steelReceiptDate,jdbcType=TIMESTAMP}, #{priceId,jdbcType=DECIMAL}
-           )
+            #{issueStatus,jdbcType=DECIMAL}, #{steelReceiptDate,jdbcType=TIMESTAMP}, #{priceId,jdbcType=DECIMAL},
+            #{truckRemark,jdbcType=VARCHAR})
   </insert>
   <insert id="insertSelective" parameterType="com.steerinfo.dil.model.AmsSaleOrderMaterial">
     insert into AMS_SALE_ORDER_MATERIAL
@@ -276,6 +286,9 @@
       <if test="priceId != null">
         PRICE_ID,
       </if>
+      <if test="truckRemark != null">
+        TRUCK_REMARK,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="saleOrderMaterialId != null">
@@ -329,6 +342,9 @@
       <if test="priceId != null">
         #{priceId,jdbcType=DECIMAL},
       </if>
+      <if test="truckRemark != null">
+        #{truckRemark,jdbcType=VARCHAR},
+      </if>
     </trim>
   </insert>
   <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.AmsSaleOrderMaterial">
@@ -348,7 +364,8 @@
         UPDATED = #{updated,jdbcType=DECIMAL},
         ISSUE_STATUS = #{issueStatus,jdbcType=DECIMAL},
         STEEL_RECEIPT_DATE = #{steelReceiptDate,jdbcType=TIMESTAMP},
-        PRICE_ID = #{priceId,jdbcType=DECIMAL}
+        PRICE_ID = #{priceId,jdbcType=DECIMAL},
+        TRUCK_REMARK = #{truckRemark,jdbcType=VARCHAR}
     where SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId,jdbcType=DECIMAL}
   </update>
   <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.AmsSaleOrderMaterial">
@@ -402,10 +419,13 @@
       <if test="priceId != null">
         PRICE_ID = #{priceId,jdbcType=DECIMAL},
       </if>
+      <if test="truckRemark != null">
+        TRUCK_REMARK = #{truckRemark,jdbcType=VARCHAR},
+      </if>
     </set>
     where SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId,jdbcType=DECIMAL}
   </update>
-  <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
+  <select id="selectByPrimaryKey" parameterType="DECIMAL" resultMap="BaseResultMap">
     <include refid="select" />
     where SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId,jdbcType=DECIMAL}
   </select>
@@ -427,7 +447,7 @@
     UPDATE_USERNAME, UPDATE_TIME,
     INSERT_UPDATE_REMARK, DELETED,
     UPDATED, ISSUE_STATUS, STEEL_RECEIPT_DATE,
-    PRICE_ID)
+    PRICE_ID, TRUCK_REMARK)
     ( <foreach collection="list" item="item" separator="union all">
     select
     #{item.saleOrderMaterialId,jdbcType=DECIMAL},
@@ -438,7 +458,7 @@
     #{item.updateUsername,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP},
     #{item.insertUpdateRemark,jdbcType=VARCHAR}, #{item.deleted,jdbcType=DECIMAL},
     #{item.updated,jdbcType=DECIMAL}, #{item.issueStatus,jdbcType=DECIMAL}, #{item.steelReceiptDate,jdbcType=TIMESTAMP},
-    #{item.priceId,jdbcType=DECIMAL} from dual
+    #{item.priceId,jdbcType=DECIMAL}, #{item.truckRemark,jdbcType=VARCHAR} from dual
   </foreach> )
   </insert>
   <update id="batchUpdate" parameterType="java.util.List">
@@ -512,6 +532,10 @@
     <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
       when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.priceId,jdbcType=DECIMAL}
     </foreach>
+    ,TRUCK_REMARK=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.truckRemark,jdbcType=VARCHAR}
+    </foreach>
     where SALE_ORDER_MATERIAL_ID in
     <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
       #{item.saleOrderMaterialId,jdbcType=DECIMAL}
@@ -766,10 +790,11 @@
     WHERE RL.LINE_ID = #{lineId}
   </select>
 
-  <select id="getPlaceId" parameterType="java.lang.String" resultType="java.util.Map" >
+  <select id="getPlaceId" resultType="java.util.Map" >
     SELECT RRP.PLACE_ID AS "placeId"
     FROM RMS_RECEIVE_PLACE RRP
     WHERE RRP.ADDRESS_DELIVERY_ADDRESS = #{place}
+    AND RRP.ADDRESS_ID = #{shippingAddressId}
   </select>
 
   <select id="getSaleMessage" parameterType="DECIMAL" resultType="java.util.Map" >

+ 22 - 1
src/main/resources/com/steerinfo/dil/mapper/AmstruckInwardRequirementMapper.xml

@@ -845,6 +845,24 @@
                     "requirementType" 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="loadName != null">
+                and
+                <foreach collection="loadName" item="item" open="(" separator="or" close=")">
+                    "loadName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="unloadName != null">
+                and
+                <foreach collection="unloadName" item="item" open="(" separator="or" close=")">
+                    "unloadName" like '%${item}%'
+                </foreach>
+            </if>
             <if test="requirementTruckTime != null">
                 and
                 <foreach collection="requirementTruckTime" item="item" open="(" separator="or" close=")">
@@ -1269,7 +1287,8 @@
         RM.MATERIAL_NAME          "materialName",
         RCR.CARRIER_NAME          "carrierName",
         AIP.PLAN_EABLE_STATUS     "enable",
-        AIR.INSERT_TIME           "insertTime"
+        AIR.INSERT_TIME           "insertTime",
+        DB.RESULT_FOREIGN_SHIP_NAME     "shipName"
         FROM AMSTRUCK_INWARD_REQUIREMENT AIR
         LEFT JOIN AMS_PURCHASE_ORDER APO
         ON APO.PURCHASE_ORDER_ID = AIR.PURCHASE_ORDER_ID
@@ -1291,6 +1310,8 @@
         ON RCR.CARRIER_ID = AIP.CARRIER_ID
         LEFT JOIN RMS_TRANS_RANGE RTR
         ON RTR.TRANS_RANGE_ID = AIR.LINE_ID
+        LEFT JOIN DIL_BATCH DB
+        ON DB.BATCH_ID = APO.BATCH_ID
         WHERE AIR.PURCHASE_ORDER_ID IS NOT NULL
         AND AIR.REQUIREMENT_STATUS = #{requirementStatus}
         AND AIR.DELETED = 0

+ 86 - 9
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -25,20 +25,24 @@
         <result column="DRIVER_CONFIRMATION" jdbcType="DECIMAL" property="driverConfirmation" />
         <result column="PRICE_ID" jdbcType="DECIMAL" property="priceId" />
         <result column="CARRIER_ID" jdbcType="DECIMAL" property="carrierId" />
+        <result column="TRIP_ID" jdbcType="VARCHAR" property="tripId" />
+        <result column="ORDER_PRINT_STATUS" jdbcType="DECIMAL" property="orderPrintStatus" />
+        <result column="DRIVER_TEL" jdbcType="VARCHAR" property="driverTel" />
     </resultMap>
     <sql id="columns">
         ORDER_ID, ORDER_PLAN_ID, ORDER_NUMBER, CAPACITY_ID, ORDER_ISSUE_TIME, ORDER_RECEIVE_STATUS,
     ORDER_RECEIVE_REFUSE_TIME, ORDER_COMMUNICATION_DURATION, ORDER_STATUS, INSERT_USERNAME,
     INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED, ORDER_TYPE,
     ORDER_LINE_SEQUENCE, LINE_ID, ORDER_ENTRY_TIME, UNLOAD_POINT_ID, DRIVER_CONFIRMATION,
-    PRICE_ID, CARRIER_ID
+    PRICE_ID, CARRIER_ID, TRIP_ID, ORDER_PRINT_STATUS, DRIVER_TEL
     </sql>
     <sql id="columns_alias">
         t.ORDER_ID, t.ORDER_PLAN_ID, t.ORDER_NUMBER, t.CAPACITY_ID, t.ORDER_ISSUE_TIME, t.ORDER_RECEIVE_STATUS,
     t.ORDER_RECEIVE_REFUSE_TIME, t.ORDER_COMMUNICATION_DURATION, t.ORDER_STATUS, t.INSERT_USERNAME,
     t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.DELETED,
     t.ORDER_TYPE, t.ORDER_LINE_SEQUENCE, t.LINE_ID, t.ORDER_ENTRY_TIME, t.UNLOAD_POINT_ID,
-    t.DRIVER_CONFIRMATION, t.PRICE_ID, t.CARRIER_ID
+    t.DRIVER_CONFIRMATION, t.PRICE_ID, t.CARRIER_ID, t.TRIP_ID, t.ORDER_PRINT_STATUS,
+    t.DRIVER_TEL
     </sql>
     <sql id="select">
         SELECT <include refid="columns" /> FROM OMSTRUCK_ORDER
@@ -117,6 +121,15 @@
             <if test="carrierId != null">
                 and CARRIER_ID = #{carrierId}
             </if>
+            <if test="tripId != null and tripId != ''">
+                and TRIP_ID = #{tripId}
+            </if>
+            <if test="orderPrintStatus != null">
+                and ORDER_PRINT_STATUS = #{orderPrintStatus}
+            </if>
+            <if test="driverTel != null and driverTel != ''">
+                and DRIVER_TEL = #{driverTel}
+            </if>
         </where>
     </sql>
     <sql id="whereLike">
@@ -190,9 +203,18 @@
             <if test="carrierId != null">
                 and CARRIER_ID = #{carrierId}
             </if>
+            <if test="tripId != null and tripId != ''">
+                and TRIP_ID LIKE '%${tripId}%'
+            </if>
+            <if test="orderPrintStatus != null">
+                and ORDER_PRINT_STATUS = #{orderPrintStatus}
+            </if>
+            <if test="driverTel != null and driverTel != ''">
+                and DRIVER_TEL LIKE '%${driverTel}%'
+            </if>
         </where>
     </sql>
-    <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
+    <delete id="deleteByPrimaryKey" parameterType="DECIMAL">
         delete from OMSTRUCK_ORDER
         where ORDER_ID = #{orderId,jdbcType=DECIMAL}
     </delete>
@@ -265,6 +287,15 @@
         <if test="carrierId != null">
             or CARRIER_ID = #{carrierId}
         </if>
+        <if test="tripId != null and tripId != ''">
+            or TRIP_ID = #{tripId}
+        </if>
+        <if test="orderPrintStatus != null">
+            or ORDER_PRINT_STATUS = #{orderPrintStatus}
+        </if>
+        <if test="driverTel != null and driverTel != ''">
+            or DRIVER_TEL = #{driverTel}
+        </if>
     </delete>
     <insert id="insert" parameterType="com.steerinfo.dil.model.OmstruckOrder">
         insert into OMSTRUCK_ORDER (ORDER_ID, ORDER_PLAN_ID, ORDER_NUMBER,
@@ -274,7 +305,8 @@
                                     UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK,
                                     DELETED, ORDER_TYPE, ORDER_LINE_SEQUENCE,
                                     LINE_ID, ORDER_ENTRY_TIME, UNLOAD_POINT_ID,
-                                    DRIVER_CONFIRMATION, PRICE_ID, CARRIER_ID
+                                    DRIVER_CONFIRMATION, PRICE_ID, CARRIER_ID,
+                                    TRIP_ID, ORDER_PRINT_STATUS, DRIVER_TEL
         )
         values (#{orderId,jdbcType=DECIMAL}, #{orderPlanId,jdbcType=DECIMAL}, #{orderNumber,jdbcType=VARCHAR},
                 #{capacityId,jdbcType=DECIMAL}, #{orderIssueTime,jdbcType=TIMESTAMP}, #{orderReceiveStatus,jdbcType=DECIMAL},
@@ -283,7 +315,8 @@
                 #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR},
                 #{deleted,jdbcType=DECIMAL}, #{orderType,jdbcType=DECIMAL}, #{orderLineSequence,jdbcType=DECIMAL},
                 #{lineId,jdbcType=DECIMAL}, #{orderEntryTime,jdbcType=TIMESTAMP}, #{unloadPointId,jdbcType=DECIMAL},
-                #{driverConfirmation,jdbcType=DECIMAL}, #{priceId,jdbcType=DECIMAL}, #{carrierId,jdbcType=DECIMAL}
+                #{driverConfirmation,jdbcType=DECIMAL}, #{priceId,jdbcType=DECIMAL}, #{carrierId,jdbcType=DECIMAL},
+                #{tripId,jdbcType=VARCHAR}, #{orderPrintStatus,jdbcType=DECIMAL}, #{driverTel,jdbcType=VARCHAR}
                )
     </insert>
     <insert id="insertSelective" parameterType="com.steerinfo.dil.model.OmstruckOrder">
@@ -358,6 +391,15 @@
             <if test="carrierId != null">
                 CARRIER_ID,
             </if>
+            <if test="tripId != null">
+                TRIP_ID,
+            </if>
+            <if test="orderPrintStatus != null">
+                ORDER_PRINT_STATUS,
+            </if>
+            <if test="driverTel != null">
+                DRIVER_TEL,
+            </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="orderId != null">
@@ -429,6 +471,15 @@
             <if test="carrierId != null">
                 #{carrierId,jdbcType=DECIMAL},
             </if>
+            <if test="tripId != null">
+                #{tripId,jdbcType=VARCHAR},
+            </if>
+            <if test="orderPrintStatus != null">
+                #{orderPrintStatus,jdbcType=DECIMAL},
+            </if>
+            <if test="driverTel != null">
+                #{driverTel,jdbcType=VARCHAR},
+            </if>
         </trim>
     </insert>
     <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.OmstruckOrder">
@@ -454,7 +505,10 @@
             UNLOAD_POINT_ID = #{unloadPointId,jdbcType=DECIMAL},
             DRIVER_CONFIRMATION = #{driverConfirmation,jdbcType=DECIMAL},
             PRICE_ID = #{priceId,jdbcType=DECIMAL},
-            CARRIER_ID = #{carrierId,jdbcType=DECIMAL}
+            CARRIER_ID = #{carrierId,jdbcType=DECIMAL},
+            TRIP_ID = #{tripId,jdbcType=VARCHAR},
+            ORDER_PRINT_STATUS = #{orderPrintStatus,jdbcType=DECIMAL},
+            DRIVER_TEL = #{driverTel,jdbcType=VARCHAR}
         where ORDER_ID = #{orderId,jdbcType=DECIMAL}
     </update>
     <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.OmstruckOrder">
@@ -526,10 +580,19 @@
             <if test="carrierId != null">
                 CARRIER_ID = #{carrierId,jdbcType=DECIMAL},
             </if>
+            <if test="tripId != null">
+                TRIP_ID = #{tripId,jdbcType=VARCHAR},
+            </if>
+            <if test="orderPrintStatus != null">
+                ORDER_PRINT_STATUS = #{orderPrintStatus,jdbcType=DECIMAL},
+            </if>
+            <if test="driverTel != null">
+                DRIVER_TEL = #{driverTel,jdbcType=VARCHAR},
+            </if>
         </set>
         where ORDER_ID = #{orderId,jdbcType=DECIMAL}
     </update>
-    <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
+    <select id="selectByPrimaryKey" parameterType="DECIMAL" resultMap="BaseResultMap">
         <include refid="select" />
         where ORDER_ID = #{orderId,jdbcType=DECIMAL}
     </select>
@@ -553,7 +616,8 @@
         DELETED, ORDER_TYPE, ORDER_LINE_SEQUENCE,
         LINE_ID, ORDER_ENTRY_TIME, UNLOAD_POINT_ID,
         DRIVER_CONFIRMATION, PRICE_ID,
-        CARRIER_ID)
+        CARRIER_ID, TRIP_ID, ORDER_PRINT_STATUS,
+        DRIVER_TEL)
         ( <foreach collection="list" item="item" separator="union all">
         select
         #{item.orderId,jdbcType=DECIMAL},
@@ -566,7 +630,8 @@
         #{item.deleted,jdbcType=DECIMAL}, #{item.orderType,jdbcType=DECIMAL}, #{item.orderLineSequence,jdbcType=DECIMAL},
         #{item.lineId,jdbcType=DECIMAL}, #{item.orderEntryTime,jdbcType=TIMESTAMP}, #{item.unloadPointId,jdbcType=DECIMAL},
         #{item.driverConfirmation,jdbcType=DECIMAL}, #{item.priceId,jdbcType=DECIMAL},
-        #{item.carrierId,jdbcType=DECIMAL} from dual
+        #{item.carrierId,jdbcType=DECIMAL}, #{item.tripId,jdbcType=VARCHAR}, #{item.orderPrintStatus,jdbcType=DECIMAL},
+        #{item.driverTel,jdbcType=VARCHAR} from dual
     </foreach> )
     </insert>
     <update id="batchUpdate" parameterType="java.util.List">
@@ -664,6 +729,18 @@
         <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
             when #{item.orderId,jdbcType=DECIMAL} then #{item.carrierId,jdbcType=DECIMAL}
         </foreach>
+        ,TRIP_ID=
+        <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.tripId,jdbcType=VARCHAR}
+        </foreach>
+        ,ORDER_PRINT_STATUS=
+        <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.orderPrintStatus,jdbcType=DECIMAL}
+        </foreach>
+        ,DRIVER_TEL=
+        <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.driverTel,jdbcType=VARCHAR}
+        </foreach>
         where ORDER_ID in
         <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
             #{item.orderId,jdbcType=DECIMAL}