Forráskód Böngészése

'销售与结算'

HUJIANGUO 3 éve
szülő
commit
b1d9eb86a4
24 módosított fájl, 1134 hozzáadás és 187 törlés
  1. 1 1
      pom.xml
  2. 3 3
      src/main/java/com/steerinfo/dil/controller/AmsContractTransportPriceController.java
  3. 21 3
      src/main/java/com/steerinfo/dil/controller/AmsContractTruckPriceController.java
  4. 26 0
      src/main/java/com/steerinfo/dil/controller/AmsSaleOrderMaterialController.java
  5. 4 0
      src/main/java/com/steerinfo/dil/mapper/AmsContractTruckPriceMapper.java
  6. 6 0
      src/main/java/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.java
  7. 5 0
      src/main/java/com/steerinfo/dil/mapper/OmstruckOrderMapper.java
  8. 18 0
      src/main/java/com/steerinfo/dil/mapper/RmsReceivePlaceMapper.java
  9. 10 10
      src/main/java/com/steerinfo/dil/model/AmsContractTransportPrice.java
  10. 183 0
      src/main/java/com/steerinfo/dil/model/RmsReceivePlace.java
  11. 2 2
      src/main/java/com/steerinfo/dil/service/IAmsContractTransportPriceService.java
  12. 3 1
      src/main/java/com/steerinfo/dil/service/IAmsContractTruckPriceService.java
  13. 6 0
      src/main/java/com/steerinfo/dil/service/IAmsSaleOrderMaterialService.java
  14. 59 8
      src/main/java/com/steerinfo/dil/service/impl/AmsContractTransportPriceServiceImpl.java
  15. 112 44
      src/main/java/com/steerinfo/dil/service/impl/AmsContractTruckPriceServiceImpl.java
  16. 122 15
      src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderMaterialServiceImpl.java
  17. 1 1
      src/main/resources/application-dev.yml
  18. 24 24
      src/main/resources/com/steerinfo/dil/mapper/AmsContractTransportPriceMapper.xml
  19. 67 37
      src/main/resources/com/steerinfo/dil/mapper/AmsContractTruckPriceMapper.xml
  20. 39 34
      src/main/resources/com/steerinfo/dil/mapper/AmsDispatchSaleOrderMapper.xml
  21. 4 2
      src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml
  22. 26 2
      src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.xml
  23. 35 0
      src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml
  24. 357 0
      src/main/resources/com/steerinfo/dil/mapper/RmsReceivePlaceMapper.xml

+ 1 - 1
pom.xml

@@ -115,7 +115,7 @@
 <!--                        <param>AMSTRUCK_INWARD_REQUIREMENT</param>&lt;!&ndash;销售计划物资中间表&ndash;&gt;-->
 <!--                        <param>AMSTRUCK_RAIL_DAYPLAN</param>&lt;!&ndash;销售计划物资中间表&ndash;&gt;-->
 <!--                        <param>AMS_CONTRACT_TRANSPORT_PRICE</param>&lt;!&ndash;销售订单&ndash;&gt;-->
-                        <param>AMS_SALE_ORDER_MATERIAL</param><!--销售订单车序号表-->
+                        <param>RMS_RECEIVE_PLACE</param><!--销售订单车序号表-->
 <!--                        <param>AMS_SALE_TRUCKNO_MATERIAL</param>&lt;!&ndash;车序号物资中间表&ndash;&gt;-->
 <!--                            <param>AMS_CONTRACT_TRANSPORT_PRICE</param>-->
                     </tables>

+ 3 - 3
src/main/java/com/steerinfo/dil/controller/AmsContractTransportPriceController.java

@@ -178,7 +178,7 @@ public class AmsContractTransportPriceController extends BaseRESTfulController {
 
     /**
      * 新增汽运单价
-     * @param amsContractTransportPrice
+     * @param mapValue
      * @return
      */
     @ApiOperation(value="新增汽运单价")
@@ -186,8 +186,8 @@ public class AmsContractTransportPriceController extends BaseRESTfulController {
             @ApiImplicitParam(name = "amsContractTransportPrice", value = "汽运单价对象", required = false, dataType = "AmsContractTransportPrice")
     })
     @PostMapping(value = "/addAmsContractTransportPrice")
-    public RESTfulResult addAmsContractTransportPrice(@RequestBody(required = false) AmsContractTransportPrice amsContractTransportPrice){
-        int i = amsContractTransportPriceService.insertTruck(amsContractTransportPrice);
+    public RESTfulResult addAmsContractTransportPrice(@RequestBody(required = false) Map<String,Object> mapValue){
+        int i = amsContractTransportPriceService.insertTruck(mapValue);
         return success(i);
     }
 

+ 21 - 3
src/main/java/com/steerinfo/dil/controller/AmsContractTruckPriceController.java

@@ -11,6 +11,7 @@ import com.steerinfo.framework.controller.RESTfulResult;
 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.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -69,7 +70,7 @@ public class AmsContractTruckPriceController extends BaseRESTfulController {
 
     /**
      * 新增汽运单价
-     * @param amsContractTransportPrice
+     * @param mapValue
      * @return
      */
     @ApiOperation(value="新增汽运单价")
@@ -77,8 +78,8 @@ public class AmsContractTruckPriceController extends BaseRESTfulController {
             @ApiImplicitParam(name = "amsContractTransportPrice", value = "销售订单对象", required = false, dataType = "AmsContractTransportPrice")
     })
     @PostMapping(value = "/addAmsContractTransportPrice1")
-    public RESTfulResult addAmsContractTransportPrice(@RequestBody(required = false) AmsContractTransportPrice amsContractTransportPrice){
-        int i = amsContractTruckPriceService.addAmsContractTransportPrice(amsContractTransportPrice);
+    public RESTfulResult addAmsContractTransportPrice(@RequestBody(required = false) Map<String,Object> mapValue){
+        int i = amsContractTruckPriceService.addAmsContractTransportPrice(mapValue);
         return success(i);
     }
 
@@ -235,4 +236,21 @@ public class AmsContractTruckPriceController extends BaseRESTfulController {
         return success(amsContractTruckPriceService.getOilTypeName());
     }
 
+    @ApiModelProperty(value = "边输边查具体地址")
+    @PostMapping("/getRealAddressByLike")
+    public RESTfulResult getRealAddressByLike(@RequestParam Integer addressId,@RequestParam String index){
+        if (index != null ) {
+            if (index.length() == 0 || index.equals("undefined")) {
+                index = null;
+            }
+            else {
+                index = "%" + index + "%";
+            }
+        }
+        Map<String,Object> map = new HashMap<>();
+        map.put("addressId",addressId);
+        map.put("index",index);
+        List<Map<String,Object>> mapList = amsContractTruckPriceService.getRealAddressByLike(map);
+        return success(mapList);
+    }
 }

+ 26 - 0
src/main/java/com/steerinfo/dil/controller/AmsSaleOrderMaterialController.java

@@ -288,4 +288,30 @@ public class AmsSaleOrderMaterialController extends BaseRESTfulController {
         return success(result);
     }
 
+    @ApiOperation(value = "得到单价和单价id")
+    @PostMapping("/getPriceMap")
+    public RESTfulResult getPriceMap(@RequestBody Map<String,Object> map) {
+        Map<String,Object> priceMap = amsSaleOrderMaterialService.getPriceMap(map);
+        return success(priceMap);
+    }
+
+    @ApiOperation(value = "得到单价和单价id")
+    @PostMapping("/getBenPrice")
+    public RESTfulResult getBenPrice(@RequestBody Map<String,Object> map) {
+        Map<String,Object> priceMap = amsSaleOrderMaterialService.getBenPrice(map);
+        return success(priceMap);
+    }
+
+    @ApiOperation(value="销售直接选择车牌号派发副产品运输订单")
+    @PostMapping("dispatchByproductOrderBySale")
+    public RESTfulResult dispatchByproductOrderBySale(@RequestBody Map<String,Object> mapValue){
+        int result = amsSaleOrderMaterialService.dispatchByproductOrderBySale(mapValue);
+        if (result == -1) {
+            return failed("该销售订单的净重已达到97%");
+        }
+        else {
+            return success(result);
+        }
+    }
+
 }

+ 4 - 0
src/main/java/com/steerinfo/dil/mapper/AmsContractTruckPriceMapper.java

@@ -46,4 +46,8 @@ public interface AmsContractTruckPriceMapper extends IBaseMapper<AmsContractTran
     List<Map<String, Object>> getCargoName();
     //获取油品名称
     List<Map<String, Object>> getOilTypeName();
+    // 边输边查具体地址
+    List<Map<String, Object>> getRealAddressByLike(Map<String, Object> map);
+
+    BigDecimal selectFormulaId(BigDecimal priceId);
 }

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

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

+ 5 - 0
src/main/java/com/steerinfo/dil/mapper/OmstruckOrderMapper.java

@@ -22,5 +22,10 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
     Map<String, Object> pushMesToWebsocket(Map<String, Object> map);
 
     int selectOrderTypeByOrderId(BigDecimal orderId);
+    // 通过详细地址得到单价
+    BigDecimal getPriceId(Map<String,Object> priceMap);
 
+    BigDecimal findMaxPrice(Object addressId);
+
+    List<Map<String, Object>> findMaxPriceId(Map<String, Object> priceMap);
 }

+ 18 - 0
src/main/java/com/steerinfo/dil/mapper/RmsReceivePlaceMapper.java

@@ -0,0 +1,18 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.RmsReceivePlace;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import java.math.*;
+import java.util.Map;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+@Mapper
+public interface RmsReceivePlaceMapper extends IBaseMapper<RmsReceivePlace, BigDecimal> {
+    // 得到具体地址主键id
+    BigDecimal getPlaceId(Map<String,Object> mapValue);
+
+    @Select("select seq_RMS_RECEIVE_PLACE.nextval from dual")
+    BigDecimal selectMaxId();
+}

+ 10 - 10
src/main/java/com/steerinfo/dil/model/AmsContractTransportPrice.java

@@ -43,7 +43,7 @@ public class AmsContractTransportPrice implements IBasePO<BigDecimal> {
      * 货物类型ID(CARGONAME_ID,CHAR,10)
      */
     @ApiModelProperty(value="货物类型ID",required=false)
-    private String cargonameId;
+    private BigDecimal cargonameId;
 
     /**
      * 吨公里(元/吨.km)(PRICE_TON_KILOMETER,DECIMAL,0)
@@ -103,7 +103,7 @@ public class AmsContractTransportPrice implements IBasePO<BigDecimal> {
      * 收货地址ID(ADDRESS_ID,DECIMAL,0)
      */
     @ApiModelProperty(value="收货地址ID",required=false)
-    private BigDecimal addressId;
+    private BigDecimal placeId;
 
     /**
      * 类型:1为销售 2为内转 3为采购水运 4为采购汽运(TYPE,DECIMAL,0)
@@ -187,12 +187,12 @@ public class AmsContractTransportPrice implements IBasePO<BigDecimal> {
         this.capacityTypeId = capacityTypeId;
     }
 
-    public String getCargonameId() {
+    public BigDecimal getCargonameId() {
         return cargonameId;
     }
 
-    public void setCargonameId(String cargonameId) {
-        this.cargonameId = cargonameId == null ? null : cargonameId.trim();
+    public void setCargonameId(BigDecimal cargonameId) {
+        this.cargonameId = cargonameId;
     }
 
     public BigDecimal getPriceTonKilometer() {
@@ -267,12 +267,12 @@ public class AmsContractTransportPrice implements IBasePO<BigDecimal> {
         this.deleted = deleted;
     }
 
-    public BigDecimal getAddressId() {
-        return addressId;
+    public BigDecimal getPlaceId() {
+        return placeId;
     }
 
-    public void setAddressId(BigDecimal addressId) {
-        this.addressId = addressId;
+    public void setPlaceId(BigDecimal placeId) {
+        this.placeId = placeId;
     }
 
     public BigDecimal getType() {
@@ -336,7 +336,7 @@ public class AmsContractTransportPrice implements IBasePO<BigDecimal> {
         sb.append(", updateTime=").append(updateTime);
         sb.append(", insertUpdateRemark=").append(insertUpdateRemark);
         sb.append(", deleted=").append(deleted);
-        sb.append(", addressId=").append(addressId);
+        sb.append(", placeId=").append(placeId);
         sb.append(", type=").append(type);
         sb.append(", department=").append(department);
         sb.append(", oilpriceBase=").append(oilpriceBase);

+ 183 - 0
src/main/java/com/steerinfo/dil/model/RmsReceivePlace.java

@@ -0,0 +1,183 @@
+package com.steerinfo.dil.model;
+
+import com.steerinfo.framework.model.IBasePO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@ApiModel(value="收货地址")
+public class RmsReceivePlace implements IBasePO<BigDecimal> {
+    /**
+     * 主键ID(PLACE_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="主键ID",required=true)
+    private BigDecimal placeId;
+
+    /**
+     * 全国省市(区)县ID(ADDRESS_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="全国省市(区)县ID",required=false)
+    private BigDecimal addressId;
+
+    /**
+     * 收货地址(ADDRESS_DELIVERY_ADDRESS,VARCHAR,20)
+     */
+    @ApiModelProperty(value="收货地址",required=false)
+    private String addressDeliveryAddress;
+
+    /**
+     * 收货地址经度(ADDRESS_LONGITUDE,VARCHAR,20)
+     */
+    @ApiModelProperty(value="收货地址经度",required=false)
+    private String addressLongitude;
+
+    /**
+     * 收货地址纬度(ADDRESS_LATITUDE,VARCHAR,20)
+     */
+    @ApiModelProperty(value="收货地址纬度",required=false)
+    private String addressLatitude;
+
+    /**
+     * 记录创建人(INSERT_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录创建人",required=false)
+    private String insertUsername;
+
+    /**
+     * 记录创建时间(INSERT_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录创建时间",required=false)
+    private Date insertTime;
+
+    /**
+     * 记录修改人(UPDATE_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录修改人",required=false)
+    private String updateUsername;
+
+    /**
+     * 记录修改时间(UPDATE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录修改时间",required=false)
+    private Date updateTime;
+
+    /**
+     * 记录创建或修改备注(INSERT_UPDATE_REMARK,VARCHAR,100)
+     */
+    @ApiModelProperty(value="记录创建或修改备注",required=false)
+    private String insertUpdateRemark;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.placeId;
+    }
+
+    @Override
+    public void setId(BigDecimal placeId) {
+        this.placeId = placeId;
+    }
+
+    public BigDecimal getPlaceId() {
+        return placeId;
+    }
+
+    public void setPlaceId(BigDecimal placeId) {
+        this.placeId = placeId;
+    }
+
+    public BigDecimal getAddressId() {
+        return addressId;
+    }
+
+    public void setAddressId(BigDecimal addressId) {
+        this.addressId = addressId;
+    }
+
+    public String getAddressDeliveryAddress() {
+        return addressDeliveryAddress;
+    }
+
+    public void setAddressDeliveryAddress(String addressDeliveryAddress) {
+        this.addressDeliveryAddress = addressDeliveryAddress == null ? null : addressDeliveryAddress.trim();
+    }
+
+    public String getAddressLongitude() {
+        return addressLongitude;
+    }
+
+    public void setAddressLongitude(String addressLongitude) {
+        this.addressLongitude = addressLongitude == null ? null : addressLongitude.trim();
+    }
+
+    public String getAddressLatitude() {
+        return addressLatitude;
+    }
+
+    public void setAddressLatitude(String addressLatitude) {
+        this.addressLatitude = addressLatitude == null ? null : addressLatitude.trim();
+    }
+
+    public String getInsertUsername() {
+        return insertUsername;
+    }
+
+    public void setInsertUsername(String insertUsername) {
+        this.insertUsername = insertUsername == null ? null : insertUsername.trim();
+    }
+
+    public Date getInsertTime() {
+        return insertTime;
+    }
+
+    public void setInsertTime(Date insertTime) {
+        this.insertTime = insertTime;
+    }
+
+    public String getUpdateUsername() {
+        return updateUsername;
+    }
+
+    public void setUpdateUsername(String updateUsername) {
+        this.updateUsername = updateUsername == null ? null : updateUsername.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getInsertUpdateRemark() {
+        return insertUpdateRemark;
+    }
+
+    public void setInsertUpdateRemark(String insertUpdateRemark) {
+        this.insertUpdateRemark = insertUpdateRemark == null ? null : insertUpdateRemark.trim();
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", placeId=").append(placeId);
+        sb.append(", addressId=").append(addressId);
+        sb.append(", addressDeliveryAddress=").append(addressDeliveryAddress);
+        sb.append(", addressLongitude=").append(addressLongitude);
+        sb.append(", addressLatitude=").append(addressLatitude);
+        sb.append(", insertUsername=").append(insertUsername);
+        sb.append(", insertTime=").append(insertTime);
+        sb.append(", updateUsername=").append(updateUsername);
+        sb.append(", updateTime=").append(updateTime);
+        sb.append(", insertUpdateRemark=").append(insertUpdateRemark);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

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

@@ -43,10 +43,10 @@ public interface IAmsContractTransportPriceService {
 
     /**
      * 新增汽运
-     * @param amsContractTransportPrice
+     * @param mapValue
      * @return
      */
-    int insertTruck(AmsContractTransportPrice amsContractTransportPrice);
+    int insertTruck(Map<String,Object> mapValue);
 
     /**
      * 逻辑删除

+ 3 - 1
src/main/java/com/steerinfo/dil/service/IAmsContractTruckPriceService.java

@@ -21,7 +21,7 @@ import java.util.Map;
  */
 public interface IAmsContractTruckPriceService {
     //新增汽运单价
-    int addAmsContractTransportPrice(AmsContractTransportPrice amsContractTransportPrice);
+    int addAmsContractTransportPrice(Map<String,Object> mapValue);
     //获取汽运单价信息
     List<Map<String, Object>> getAmsContractTransportPrice(Map<String,Object> map);
     //通过主键删除汽运单价
@@ -46,4 +46,6 @@ public interface IAmsContractTruckPriceService {
     List<Map<String,Object>> getCargoName();
     //获取油品名称
     List<Map<String,Object>> getOilTypeName();
+    // 边输边查具体地址
+    List<Map<String, Object>> getRealAddressByLike(Map<String, Object> map);
 }

+ 6 - 0
src/main/java/com/steerinfo/dil/service/IAmsSaleOrderMaterialService.java

@@ -63,4 +63,10 @@ public interface IAmsSaleOrderMaterialService{
 
     // 关闭销售订单
     int closeSaleOrder(BigDecimal saleOrderId);
+
+    Map<String, Object> getPriceMap(Map<String, Object> map);
+    // 得到单价和单价id
+    Map<String, Object> getBenPrice(Map<String, Object> map);
+    // 销售直接选择车牌号派发副产品运输订单
+    int dispatchByproductOrderBySale(Map<String, Object> mapValue);
 }

+ 59 - 8
src/main/java/com/steerinfo/dil/service/impl/AmsContractTransportPriceServiceImpl.java

@@ -2,8 +2,11 @@ package com.steerinfo.dil.service.impl;
 
 import com.steerinfo.dil.mapper.AmsContractTransportPriceMapper;
 import com.steerinfo.dil.mapper.AmsContractTruckPriceMapper;
+import com.steerinfo.dil.mapper.RmsReceivePlaceMapper;
 import com.steerinfo.dil.model.AmsContractTransportPrice;
+import com.steerinfo.dil.model.RmsReceivePlace;
 import com.steerinfo.dil.service.IAmsContractTransportPriceService;
+import com.steerinfo.dil.util.DataChange;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -26,6 +29,12 @@ public class AmsContractTransportPriceServiceImpl implements IAmsContractTranspo
 
     @Autowired
     AmsContractTruckPriceMapper amsContractTruckPriceMapper;
+
+    @Autowired
+    RmsReceivePlaceMapper rmsReceivePlaceMapper;
+
+    @Autowired
+    AmsContractTruckPriceServiceImpl amsContractTruckPriceService;
     /**
      * 得到最大id
      * @return
@@ -67,22 +76,64 @@ public class AmsContractTransportPriceServiceImpl implements IAmsContractTranspo
 
     /**
      * 新增运输单价
-     * @param amsContractTransportPrice
+     * @param mapValue
      * @return
      */
     @Override
-    public int insertTruck(AmsContractTransportPrice amsContractTransportPrice) {
-        BigDecimal priceId = amsContractTruckPriceMapper.selectMaxId();;
-        amsContractTransportPrice.setPriceId(priceId);
-        // 设置常规字段
+    public int insertTruck(Map<String,Object> mapValue) {
+        BigDecimal shipperId = DataChange.dataToBigDecimal(mapValue.get("shipperId"));
+        BigDecimal carrierId = DataChange.dataToBigDecimal(mapValue.get("carrierId"));
+        BigDecimal addressId = DataChange.dataToBigDecimal(mapValue.get("addressId"));
+        BigDecimal lineId = DataChange.dataToBigDecimal(mapValue.get("lineId"));
+        BigDecimal capacityTypeId = DataChange.dataToBigDecimal(mapValue.get("capacityTypeId"));
+        BigDecimal cargonameId = DataChange.dataToBigDecimal(mapValue.get("cargonameId"));
+        BigDecimal priceValue = DataChange.dataToBigDecimal(mapValue.get("priceValue"));
+        Date priceDate = new Date((Long)mapValue.get("priceDate"));
+        BigDecimal type = DataChange.dataToBigDecimal(mapValue.get("type"));
+        BigDecimal oilpriceBase = DataChange.dataToBigDecimal(mapValue.get("oilpriceBase"));
+        BigDecimal oilTypeId = DataChange.dataToBigDecimal(mapValue.get("oilTypeId"));
+        BigDecimal oilpriceChangeThreshold = DataChange.dataToBigDecimal(mapValue.get("oilpriceChangeThreshold"));
+        AmsContractTransportPrice amsContractTransportPrice = new AmsContractTransportPrice();
+        String place = (String) mapValue.get("place");
+        if (place != null && place.length() != 0) {
+            BigDecimal placeId = rmsReceivePlaceMapper.getPlaceId(mapValue);
+            if (placeId != null) {
+                amsContractTransportPrice.setPlaceId(placeId);
+            }
+            else {
+                RmsReceivePlace rmsReceivePlace = new RmsReceivePlace();
+                rmsReceivePlace.setAddressId(addressId);
+                rmsReceivePlace.setAddressDeliveryAddress(place);
+                rmsReceivePlace.setPlaceId(rmsReceivePlaceMapper.selectMaxId());
+                amsContractTransportPrice.setPlaceId(rmsReceivePlace.getPlaceId());
+                rmsReceivePlaceMapper.insertSelective(rmsReceivePlace);
+            }
+        }
+        amsContractTransportPrice.setType(type);
+        amsContractTransportPrice.setOilpriceBase(oilpriceBase);
+        amsContractTransportPrice.setShipperId(shipperId);
+        amsContractTransportPrice.setOilpriceChangeThreshold(oilpriceChangeThreshold);
+        amsContractTransportPrice.setOilTypeId(oilTypeId);
+        amsContractTransportPrice.setPriceValue(priceValue);
+        amsContractTransportPrice.setPriceDate(priceDate);
+        amsContractTransportPrice.setCapacityTypeId(capacityTypeId);
+        amsContractTransportPrice.setCargonameId(cargonameId);
+        amsContractTransportPrice.setCarrierId(carrierId);
+        //生成主键id
+        amsContractTransportPrice.setPriceId(amsContractTruckPriceMapper.selectMaxId());
+        if(lineId == null){
+            //计算并插入吨公里
+            BigDecimal priceTonKilometer = amsContractTruckPriceService.calculationPriceTonKilometer(lineId, priceValue);
+            amsContractTransportPrice.setPriceTonKilometer(priceTonKilometer);
+        }
+        amsContractTransportPrice.setType(new BigDecimal(1));
         amsContractTransportPrice.setInsertUsername("admin");
         amsContractTransportPrice.setInsertTime(new Date());
-//        amsContractTransportPrice.setType(new BigDecimal(4));
-        amsContractTransportPrice.setUpdateTime(new Date());
         amsContractTransportPrice.setUpdateUsername("admin");
+        amsContractTransportPrice.setUpdateTime(new Date());
         amsContractTransportPrice.setInsertUpdateRemark("无");
         amsContractTransportPrice.setDeleted(new BigDecimal(0));
-        return amsContractTransportPriceMapper.insert(amsContractTransportPrice);
+        return amsContractTruckPriceMapper.insertSelective(amsContractTransportPrice);
     }
 
     /**

+ 112 - 44
src/main/java/com/steerinfo/dil/service/impl/AmsContractTruckPriceServiceImpl.java

@@ -1,7 +1,9 @@
 package com.steerinfo.dil.service.impl;
 
 import com.steerinfo.dil.mapper.AmsContractTruckPriceMapper;
+import com.steerinfo.dil.mapper.RmsReceivePlaceMapper;
 import com.steerinfo.dil.model.AmsContractTransportPrice;
+import com.steerinfo.dil.model.RmsReceivePlace;
 import com.steerinfo.dil.service.IAmsContractTruckPriceService;
 import com.steerinfo.dil.util.DataChange;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -34,22 +36,58 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
 
     @Autowired
     private AmsContractTruckPriceMapper amsContractTruckPriceMapper;
+    @Autowired
+    RmsReceivePlaceMapper rmsReceivePlaceMapper;
 
     /**
      * 新增汽运单价
      * @Author zzd
      * @Date 2022/1/20 11:33
-     * @param amsContractTransportPrice
+     * @param mapValue
      * @return
      **/
+    @Transactional
     @Override
-    public int addAmsContractTransportPrice(AmsContractTransportPrice amsContractTransportPrice) {
+    public int addAmsContractTransportPrice(Map<String,Object> mapValue) {
+        BigDecimal shipperId = DataChange.dataToBigDecimal(mapValue.get("shipperId"));
+        BigDecimal carrierId = DataChange.dataToBigDecimal(mapValue.get("carrierId"));
+        BigDecimal addressId = DataChange.dataToBigDecimal(mapValue.get("addressId"));
+        BigDecimal lineId = DataChange.dataToBigDecimal(mapValue.get("lineId"));
+        BigDecimal capacityTypeId = DataChange.dataToBigDecimal(mapValue.get("capacityTypeId"));
+        BigDecimal formulaId = DataChange.dataToBigDecimal(mapValue.get("formulaId"));
+        BigDecimal priceValue = DataChange.dataToBigDecimal(mapValue.get("priceValue"));
+        Date priceDate = new Date((Long)mapValue.get("priceDate"));
+        BigDecimal type = DataChange.dataToBigDecimal(mapValue.get("type"));
+        BigDecimal oilpriceBase = DataChange.dataToBigDecimal(mapValue.get("oilpriceBase"));
+        BigDecimal oilTypeId = DataChange.dataToBigDecimal(mapValue.get("oilTypeId"));
+        BigDecimal oilpriceChangeThreshold = DataChange.dataToBigDecimal(mapValue.get("oilpriceChangeThreshold"));
+        AmsContractTransportPrice amsContractTransportPrice = new AmsContractTransportPrice();
+        String place = (String) mapValue.get("place");
+        if (place != null && place.length() != 0) {
+            BigDecimal placeId = rmsReceivePlaceMapper.getPlaceId(mapValue);
+            if (placeId != null) {
+                amsContractTransportPrice.setPlaceId(placeId);
+            }
+            else {
+                RmsReceivePlace rmsReceivePlace = new RmsReceivePlace();
+                rmsReceivePlace.setAddressId(addressId);
+                rmsReceivePlace.setAddressDeliveryAddress(place);
+                rmsReceivePlace.setPlaceId(rmsReceivePlaceMapper.selectMaxId());
+            }
+        }
+        amsContractTransportPrice.setType(type);
+        amsContractTransportPrice.setOilpriceBase(oilpriceBase);
+        amsContractTransportPrice.setShipperId(shipperId);
+        amsContractTransportPrice.setOilpriceChangeThreshold(oilpriceChangeThreshold);
+        amsContractTransportPrice.setOilTypeId(oilTypeId);
+        amsContractTransportPrice.setPriceValue(priceValue);
+        amsContractTransportPrice.setPriceDate(priceDate);
+        amsContractTransportPrice.setCapacityTypeId(capacityTypeId);
+        amsContractTransportPrice.setCargonameId(formulaId);
+        amsContractTransportPrice.setCarrierId(carrierId);
         //生成主键id
         amsContractTransportPrice.setPriceId(amsContractTruckPriceMapper.selectMaxId());
-        //获取路线Id和运价
-        BigDecimal lineId = amsContractTransportPrice.getLineId();
         if(lineId == null){
-            BigDecimal priceValue = amsContractTransportPrice.getPriceValue();
             //计算并插入吨公里
             BigDecimal priceTonKilometer = calculationPriceTonKilometer(lineId, priceValue);
             amsContractTransportPrice.setPriceTonKilometer(priceTonKilometer);
@@ -147,6 +185,7 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
         return amsContractTruckPriceMapper.getOilTypeName();
     }
 
+
     /**
      * 批量修改运输单价
      * @return
@@ -216,7 +255,7 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
         //存储原运输单价实绩对象
         AmsContractTransportPrice oldAmsContractTransportPrice = new AmsContractTransportPrice();
         //查询货物名称
-        String cargonameValue = amsContractTruckPriceMapper.getCargonameValue(new BigDecimal(stringObjectMap.get("cargonameId").toString()));
+//        String cargonameValue = amsContractTruckPriceMapper.getCargonameValue(new BigDecimal(stringObjectMap.get("cargonameId").toString()));
         //获取原主键Id
         BigDecimal priceId = (BigDecimal) stringObjectMap.get("priceId");
         //修改原单价为历史数据
@@ -238,36 +277,50 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
         amsContractTransportPrice.setInsertUpdateRemark("无");
         //修改现单价为执行数据
         amsContractTransportPrice.setDeleted(new BigDecimal(0));
-        //若货物名称为焦炭
-        if(cargonameValue.equals("焦炭")){
-            //现执行价=((63.00+63.00*0.13*n)+(66.50+66.50*0.3*n)+40.00)
-            //调用焦炭运价计算公式计算现执行价
-            try {
-                nowPriceValue = UpdateCokePriceValueByOilPrice(n.toString());
-                //保留两位小数
-                nowPriceValue = nowPriceValue.divide(new BigDecimal(1),2,4);
-                //调整焦炭运价
-                amsContractTransportPrice.setPriceValue(nowPriceValue);
-                //修改基准油价
-                amsContractTransportPrice.setOilpriceBase(newOilPrice);
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-        }
-        if(cargonameValue.equals("纯苯")){
-            //现执行价=(中标价*0.7)+(中标价*0.3)*(1+n)
-            //调用纯苯运价计算公式计算现执行价
-            try {
-                nowPriceValue = UpdatePureBenzenePriceValueByOilPrice(n.toString(),amsContractTransportPrice.getPriceValue());
-                //保留两位小数
-                nowPriceValue = nowPriceValue.divide(new BigDecimal(1),2,4);
-                //调整纯苯运价
-                amsContractTransportPrice.setPriceValue(nowPriceValue);
-                //修改基准油价
-                amsContractTransportPrice.setOilpriceBase(newOilPrice);
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
+//        //若货物名称为焦炭
+//        if(cargonameValue.equals("焦炭")){
+//            //现执行价=((63.00+63.00*0.13*n)+(66.50+66.50*0.3*n)+40.00)
+//            //调用焦炭运价计算公式计算现执行价
+//            try {
+//                nowPriceValue = UpdateCokePriceValueByOilPrice(n.toString());
+//                //保留两位小数
+//                nowPriceValue = nowPriceValue.divide(new BigDecimal(1),2,4);
+//                //调整焦炭运价
+//                amsContractTransportPrice.setPriceValue(nowPriceValue);
+//                //修改基准油价
+//                amsContractTransportPrice.setOilpriceBase(newOilPrice);
+//            } catch (Exception e) {
+//                e.printStackTrace();
+//            }
+//        }
+//        if(cargonameValue.equals("纯苯")){
+//            //现执行价=(中标价*0.7)+(中标价*0.3)*(1+n)
+//            //调用纯苯运价计算公式计算现执行价
+//            try {
+//                nowPriceValue = UpdatePureBenzenePriceValueByOilPrice(n.toString(),amsContractTransportPrice.getPriceValue());
+//                //保留两位小数
+//                nowPriceValue = nowPriceValue.divide(new BigDecimal(1),2,4);
+//                //调整纯苯运价
+//                amsContractTransportPrice.setPriceValue(nowPriceValue);
+//                //修改基准油价
+//                amsContractTransportPrice.setOilpriceBase(newOilPrice);
+//            } catch (Exception e) {
+//                e.printStackTrace();
+//            }
+//        }
+        // 得到油价联动公式id
+        BigDecimal formulaId = DataChange.dataToBigDecimal(stringObjectMap.get("cargonameId"));
+        amsContractTransportPrice.setCargonameId(formulaId);
+        try {
+            nowPriceValue = UpdatePureBenzenePriceValueByOilPrice(n.toString(),amsContractTransportPrice.getPriceValue(),formulaId);
+            //保留两位小数
+            nowPriceValue = nowPriceValue.divide(new BigDecimal(1),2,4);
+            //调整纯苯运价
+            amsContractTransportPrice.setPriceValue(nowPriceValue);
+            //修改基准油价
+            amsContractTransportPrice.setOilpriceBase(newOilPrice);
+        } catch (Exception e) {
+            e.printStackTrace();
         }
         //新增数据
         int insert = amsContractTruckPriceMapper.insert(amsContractTransportPrice);
@@ -293,19 +346,25 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
     }
 
     /**
-     * 替换纯苯运价公式并进行计算
+     * 替换运价公式并进行计算
      * @param n
      * @return
      * @throws Exception
      */
-    public BigDecimal UpdatePureBenzenePriceValueByOilPrice(String n,BigDecimal priceValue) throws Exception {
+    public BigDecimal UpdatePureBenzenePriceValueByOilPrice(String n,BigDecimal priceValue,BigDecimal formulaId) throws Exception {
         // 得到运算公式
-        String formula_string = null;
-        // 得到纯苯运价计算公式
-        formula_string = amsContractTruckPriceMapper.getTruckFormula(new BigDecimal(13));
-        // 替换纯苯运价计算公式
-        formula_string = formula_string.replace("中标价",priceValue.toString())
-        .replace("油价变动率",n);
+        String formula_string;
+        // 得到运价计算公式
+        formula_string = amsContractTruckPriceMapper.getTruckFormula(formulaId);
+        if (formula_string.contains("中标价") && formula_string.contains("油价变动率")) {
+            // 替换纯苯运价计算公式
+            formula_string = formula_string.replace("中标价", priceValue.toString())
+                    .replace("油价变动率", n);
+        }
+        else {
+            // 替换焦炭
+            formula_string = formula_string.replace("油价变动率",n);
+        }
         String s = toSufExpr(formula_string);
         return calSufExpr(s);
     }
@@ -457,4 +516,13 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
         return result;
     }
 
+    /**
+     * 边输边查具体地址
+     * @param map
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getRealAddressByLike(Map<String, Object> map) {
+        return amsContractTruckPriceMapper.getRealAddressByLike(map);
+    }
 }

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

@@ -48,6 +48,10 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
     TmsTruckFeign tmsTruckFeign;
     @Autowired
     AmsSaleOrderMapper amsSaleOrderMapper;
+    @Autowired
+    AmsContractTransportPriceMapper amsContractTransportPriceMapper;
+    @Autowired
+    RmsReceivePlaceMapper rmsReceivePlaceMapper;
 
     @Override
     public int addAmsSaleOrderMaterial(AmsSaleOrderMaterial amsSaleOrderMaterial) {
@@ -202,8 +206,23 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
             }
             // 如果不存在则新增车序号
             else {
+                amsSaleOrderMaterial = new AmsSaleOrderMaterial();
                 // 收货地址id
                 BigDecimal shippingAddressId = DataChange.dataToBigDecimal(map.get("shippingAddressId"));
+                String place = (String) (map.get("place"));
+                if (place != null) {
+                    List<Map<String, Object>> placeIdList = amsSaleOrderMaterialMapper.getPlaceId(place);
+                    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"));
+                    }
+                }
                 // 截止日期
 //                String dateOfReceiptStr = (String) map.get("dateOfReceipt");
 //                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
@@ -217,12 +236,10 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
                 String orderConsignee = (String) map.get("orderConsignee");
                 // 收货方联系方式
                 Object orderConsigneeTel = map.get("orderConsigneeTel");
-                amsSaleOrderMaterial = new AmsSaleOrderMaterial();
                 BigDecimal saleOrderMaterialId = amsSaleOrderMaterialMapper.selectMaxId();
                 amsSaleOrderMaterial.setSaleOrderMaterialId(saleOrderMaterialId);
                 amsSaleOrderMaterial.setSaleOrderId(saleOrderId);
                 amsSaleOrderMaterial.setSaleOrderMaterialTruckNo(truckNo);
-                amsSaleOrderMaterial.setSaleShippingAddressId(shippingAddressId);
                 // 钢材收货日期
                 amsSaleOrderMaterial.setSaleDateOfReceipt(dateOfReceipt);
                 amsSaleOrderMaterial.setSaleOrderConsignee(orderConsignee);
@@ -332,11 +349,6 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
             BigDecimal saleMaterialId = DataChange.dataToBigDecimal(map.get("saleMaterialId"));
             // 物资id
             BigDecimal materialId = DataChange.dataToBigDecimal(map.get("materialId"));
-            // 收货地址id
-            BigDecimal saleShippingAddressId = DataChange.dataToBigDecimal(map.get("saleShippingAddressId"));
-            if (saleShippingAddressId.intValue() == 0) {
-                saleShippingAddressId = null;
-            }
             // 承运商id
             BigDecimal carrierId = DataChange.dataToBigDecimal(map.get("carrierId"));
             // 运输线路id
@@ -363,6 +375,22 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
              车序号表
              */
             AmsSaleOrderMaterial amsSaleOrderMaterial = new AmsSaleOrderMaterial();
+            // 收货地址id
+            BigDecimal shippingAddressId = DataChange.dataToBigDecimal(map.get("saleShipperAddressId"));
+            String place = (String) (map.get("place"));
+            if (place != null) {
+                List<Map<String, Object>> placeIdList = amsSaleOrderMaterialMapper.getPlaceId(place);
+                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"));
+                }
+            }
             // 主键
             BigDecimal saleOrderMaterialId = amsSaleOrderMaterialMapper.selectMaxId();
             amsSaleOrderMaterial.setSaleOrderMaterialId(saleOrderMaterialId);
@@ -370,8 +398,6 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
             amsSaleOrderMaterial.setSaleOrderId(saleOrderId);
             // 车序号
             amsSaleOrderMaterial.setSaleOrderMaterialTruckNo(new BigDecimal(count));
-            // 收货地址
-            amsSaleOrderMaterial.setSaleShippingAddressId(saleShippingAddressId);
             // 截止日期
             amsSaleOrderMaterial.setSaleDateOfReceipt(dateOfReceipt);
             // 收货方姓名
@@ -425,26 +451,31 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
             // 车序号主键
             omstruckOrder.setOrderPlanId(saleOrderMaterialId);
             //添加承运商ID 和 运价ID
+//            Object priceId = map.get("priceId");
             Object priceId = map.get("priceId");
-            if(priceId != null) omstruckOrder.setPriceId(DataChange.dataToBigDecimal(priceId));
+            if (priceId != null) {
+                omstruckOrder.setPriceId(DataChange.dataToBigDecimal(priceId));
+            }
             omstruckOrder.setCarrierId(carrierId);
             // 运输订单号
             omstruckOrder.setOrderNumber(DataChange.generateEightDigitsNumber("WYSDD",orderId.intValue()));
             // 运力id
             omstruckOrder.setCapacityId(capacityId);
+            // 承运商
+            omstruckOrder.setCarrierId(carrierId);
             // 下发时间
             omstruckOrder.setOrderIssueTime(new Date());
             // 运单状态
             omstruckOrder.setOrderStatus(new BigDecimal(4));
             BigDecimal status;
-            // 非钢材(危化品和焦炭)
-            if (isSteel != null && (isSteel.intValue() == 3 || isSteel.intValue() == 4)) {
-                status = new BigDecimal(2);
-            }
             // 钢材
-            else {
+            if (isSteel != null && isSteel.intValue() == 1) {
                 status = new BigDecimal(1);
             }
+            // 非钢材(危化品,焦炭,副产品)
+            else {
+                status = new BigDecimal(2);
+            }
             // 订单类型
             omstruckOrder.setOrderType(status);
             // 运输线路id
@@ -596,6 +627,7 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
             // 运输订单主键
             BigDecimal orderId = omstruckOrderMapper.selectMaxId();
             omstruckOrder.setOrderId(orderId);
+            omstruckOrder.setCarrierId(carrierId);
             // 车序号主键
             omstruckOrder.setOrderPlanId(saleOrderMaterialId);
             // 运输订单号
@@ -697,4 +729,79 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
         System.out.println(s);
         return s;
     }
+
+    @Override
+    public Map<String, Object> getPriceMap(Map<String, Object> map) {
+        Object addressId = map.get("addressId");
+        String place = (String) map.get("place");
+        Map<String,Object> priceMap = new HashMap<>();
+        priceMap.put("addressId",addressId);
+        priceMap.put("place",place);
+        BigDecimal priceId = omstruckOrderMapper.getPriceId(priceMap);
+        BigDecimal priceValue;
+        if (priceId == null) {
+            priceValue = omstruckOrderMapper.findMaxPrice(addressId);
+            if (priceValue != null) {
+                priceMap.put("priceValue", priceValue);
+                List<Map<String, Object>> priceIdList = omstruckOrderMapper.findMaxPriceId(priceMap);
+                priceId = (BigDecimal) priceIdList.get(0).get("priceId");
+            }
+            else {
+                Map<String,Object> map1 = new HashMap<>();
+                map1.put("priceValue",-1);
+                map1.put("priceId",-1);
+                return map1;
+            }
+        }
+        else {
+            AmsContractTransportPrice amsContractTransportPrice = amsContractTransportPriceMapper.selectByPrimaryKey(priceId);
+            priceValue = amsContractTransportPrice.getPriceValue();
+        }
+        priceMap.put("priceId",priceId);
+        priceMap.put("priceValue",priceValue);
+        return priceMap;
+    }
+
+    /**
+     * 得到单价和单价id
+     * @param map
+     * @return
+     */
+    @Override
+    public Map<String, Object> getBenPrice(Map<String, Object> map) {
+        BigDecimal saleOrderId = DataChange.dataToBigDecimal(map.get("saleOrderId"));
+        BigDecimal carrierId = DataChange.dataToBigDecimal(map.get("carrierId"));
+        Map<String, Object> saleMessage = amsSaleOrderMaterialMapper.getSaleMessage(saleOrderId);
+        String isSelfMention = (String) saleMessage.get("isSelfMention");
+        BigDecimal receiveId = (BigDecimal) saleMessage.get("receiveId");
+        BigDecimal priceId = null;
+        BigDecimal priceValue = null;
+        Map<String,Object> resultMap = new HashMap<>();
+        List<Map<String,Object>> mapList = amsSaleOrderMaterialMapper.getPriceList(carrierId);
+        if ((isSelfMention.equals("否") && receiveId.intValue() == 1516) && (mapList != null && mapList.size() != 0)) {
+            Map<String, Object> priceMap = mapList.get(1);
+            priceId = (BigDecimal) priceMap.get("priceId");
+            priceValue = (BigDecimal) priceMap.get("priceValue");
+        }
+        if ((isSelfMention.equals("否") && receiveId.intValue() == 836) && (mapList != null && mapList.size() != 0)) {
+            Map<String, Object> priceMap = mapList.get(0);
+            priceId = (BigDecimal) priceMap.get("priceId");
+            priceValue = (BigDecimal) priceMap.get("priceValue");
+        }
+        resultMap.put("priceId",priceId);
+        resultMap.put("priceValue",priceValue);
+        return resultMap;
+    }
+
+    /**
+     * 销售直接选择车牌号派发副产品运输订单
+     * @param mapValue
+     * @return
+     */
+    @Override
+    public int dispatchByproductOrderBySale(Map<String, Object> mapValue) {
+        return 0;
+    }
+
+
 }

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

@@ -13,7 +13,7 @@ openfeign:
   ESFeign:
     url: ${ESFEIGN_URL:172.16.33.162:8011}
   ColumnDataFeign:
-    url: ${COLUMNDATAFEIGN_URL:172.16.33.162:8001}
+    url: ${COLUMNDATAFEIGN_URL:172.16.33.166:8083}
   TmsTruckFeign:
     url: ${TMSTRUCKFEIGN_URL:172.16.33.162:8008}
   ImFeign:

+ 24 - 24
src/main/resources/com/steerinfo/dil/mapper/AmsContractTransportPriceMapper.xml

@@ -17,7 +17,7 @@
         <result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime" />
         <result column="INSERT_UPDATE_REMARK" jdbcType="VARCHAR" property="insertUpdateRemark" />
         <result column="DELETED" jdbcType="DECIMAL" property="deleted" />
-        <result column="ADDRESS_ID" jdbcType="DECIMAL" property="addressId" />
+        <result column="PLACE_ID" jdbcType="DECIMAL" property="placeId" />
         <result column="TYPE" jdbcType="DECIMAL" property="type" />
         <result column="DEPARTMENT" jdbcType="DECIMAL" property="department" />
         <result column="OILPRICE_BASE" jdbcType="DECIMAL" property="oilpriceBase" />
@@ -27,13 +27,13 @@
     <sql id="columns">
         PRICE_ID, SHIPPER_ID, CARRIER_ID, LINE_ID, CAPACITY_TYPE_ID, CARGONAME_ID, PRICE_TON_KILOMETER, 
     PRICE_VALUE, PRICE_DATE, INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, 
-    INSERT_UPDATE_REMARK, DELETED, ADDRESS_ID, TYPE, DEPARTMENT, OILPRICE_BASE, OIL_TYPE_ID, 
+    INSERT_UPDATE_REMARK, DELETED, PLACE_ID, TYPE, DEPARTMENT, OILPRICE_BASE, OIL_TYPE_ID,
     OILPRICE_CHANGE_THRESHOLD
     </sql>
     <sql id="columns_alias">
         t.PRICE_ID, t.SHIPPER_ID, t.CARRIER_ID, t.LINE_ID, t.CAPACITY_TYPE_ID, t.CARGONAME_ID, 
     t.PRICE_TON_KILOMETER, t.PRICE_VALUE, t.PRICE_DATE, t.INSERT_USERNAME, t.INSERT_TIME, 
-    t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.DELETED, t.ADDRESS_ID, 
+    t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.DELETED, t.PLACE_ID,
     t.TYPE, t.DEPARTMENT, t.OILPRICE_BASE, t.OIL_TYPE_ID, t.OILPRICE_CHANGE_THRESHOLD
     </sql>
     <sql id="select">
@@ -89,8 +89,8 @@
             <if test="deleted != null">
                 and DELETED = #{deleted}
             </if>
-            <if test="addressId != null">
-                and ADDRESS_ID = #{addressId}
+            <if test="placeId != null">
+                and PLACE_ID = #{placeId}
             </if>
             <if test="type != null">
                 and TYPE = #{type}
@@ -156,8 +156,8 @@
             <if test="deleted != null">
                 and DELETED = #{deleted}
             </if>
-            <if test="addressId != null">
-                and ADDRESS_ID = #{addressId}
+            <if test="placeId != null">
+                and PLACE_ID = #{placeId}
             </if>
             <if test="type != null">
                 and TYPE = #{type}
@@ -225,8 +225,8 @@
         <if test="deleted != null">
             or DELETED = #{deleted}
         </if>
-        <if test="addressId != null">
-            or ADDRESS_ID = #{addressId}
+        <if test="placeId != null">
+            or PLACE_ID = #{placeId}
         </if>
         <if test="type != null">
             or TYPE = #{type}
@@ -250,7 +250,7 @@
                                                   PRICE_TON_KILOMETER, PRICE_VALUE, PRICE_DATE,
                                                   INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME,
                                                   UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED,
-                                                  ADDRESS_ID, TYPE, DEPARTMENT,
+                                                  PLACE_ID, TYPE, DEPARTMENT,
                                                   OILPRICE_BASE, OIL_TYPE_ID, OILPRICE_CHANGE_THRESHOLD
         )
         values (#{priceId,jdbcType=DECIMAL}, #{shipperId,jdbcType=DECIMAL}, #{carrierId,jdbcType=DECIMAL},
@@ -258,7 +258,7 @@
                 #{priceTonKilometer,jdbcType=DECIMAL}, #{priceValue,jdbcType=DECIMAL}, #{priceDate,jdbcType=TIMESTAMP},
                 #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR},
                 #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR}, #{deleted,jdbcType=DECIMAL},
-                #{addressId,jdbcType=DECIMAL}, #{type,jdbcType=DECIMAL}, #{department,jdbcType=DECIMAL},
+                #{placeId,jdbcType=DECIMAL}, #{type,jdbcType=DECIMAL}, #{department,jdbcType=DECIMAL},
                 #{oilpriceBase,jdbcType=DECIMAL}, #{oilTypeId,jdbcType=DECIMAL}, #{oilpriceChangeThreshold,jdbcType=DECIMAL}
                )
     </insert>
@@ -310,8 +310,8 @@
             <if test="deleted != null">
                 DELETED,
             </if>
-            <if test="addressId != null">
-                ADDRESS_ID,
+            <if test="placeId != null">
+                PLACE_ID,
             </if>
             <if test="type != null">
                 TYPE,
@@ -375,8 +375,8 @@
             <if test="deleted != null">
                 #{deleted,jdbcType=DECIMAL},
             </if>
-            <if test="addressId != null">
-                #{addressId,jdbcType=DECIMAL},
+            <if test="placeId != null">
+                #{placeId,jdbcType=DECIMAL},
             </if>
             <if test="type != null">
                 #{type,jdbcType=DECIMAL},
@@ -411,7 +411,7 @@
             UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
             INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
             DELETED = #{deleted,jdbcType=DECIMAL},
-            ADDRESS_ID = #{addressId,jdbcType=DECIMAL},
+            PLACE_ID = #{placeId,jdbcType=DECIMAL},
             TYPE = #{type,jdbcType=DECIMAL},
             DEPARTMENT = #{department,jdbcType=DECIMAL},
             OILPRICE_BASE = #{oilpriceBase,jdbcType=DECIMAL},
@@ -464,8 +464,8 @@
             <if test="deleted != null">
                 DELETED = #{deleted,jdbcType=DECIMAL},
             </if>
-            <if test="addressId != null">
-                ADDRESS_ID = #{addressId,jdbcType=DECIMAL},
+            <if test="placeId != null">
+                PLACE_ID = #{placeId,jdbcType=DECIMAL},
             </if>
             <if test="type != null">
                 TYPE = #{type,jdbcType=DECIMAL},
@@ -505,7 +505,7 @@
         PRICE_VALUE, PRICE_DATE, INSERT_USERNAME,
         INSERT_TIME, UPDATE_USERNAME,
         UPDATE_TIME, INSERT_UPDATE_REMARK,
-        DELETED, ADDRESS_ID, TYPE,
+        DELETED, PLACE_ID, TYPE,
         DEPARTMENT, OILPRICE_BASE, OIL_TYPE_ID,
         OILPRICE_CHANGE_THRESHOLD)
         ( <foreach collection="list" item="item" separator="union all">
@@ -516,7 +516,7 @@
         #{item.priceValue,jdbcType=DECIMAL}, #{item.priceDate,jdbcType=TIMESTAMP}, #{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.addressId,jdbcType=DECIMAL}, #{item.type,jdbcType=DECIMAL},
+        #{item.deleted,jdbcType=DECIMAL}, #{item.placeId,jdbcType=DECIMAL}, #{item.type,jdbcType=DECIMAL},
         #{item.department,jdbcType=DECIMAL}, #{item.oilpriceBase,jdbcType=DECIMAL}, #{item.oilTypeId,jdbcType=DECIMAL},
         #{item.oilpriceChangeThreshold,jdbcType=DECIMAL} from dual
     </foreach> )
@@ -584,9 +584,9 @@
         <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
             when #{item.priceId,jdbcType=DECIMAL} then #{item.deleted,jdbcType=DECIMAL}
         </foreach>
-        ,ADDRESS_ID=
+        ,PLACE_ID=
         <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
-            when #{item.priceId,jdbcType=DECIMAL} then #{item.addressId,jdbcType=DECIMAL}
+            when #{item.priceId,jdbcType=DECIMAL} then #{item.placeId,jdbcType=DECIMAL}
         </foreach>
         ,TYPE=
         <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
@@ -707,7 +707,7 @@
                actp.PRICE_TON_KILOMETER as "priceTonKilometer",
                actp.PRICE_VALUE         as "priceValue",
                actp.PRICE_DATE          as "priceDate",
-               actp.ADDRESS_ID          as "addressId"
+               actp.PLACE_ID          as "placeId"
         FROM AMS_CONTRACT_TRANSPORT_PRICE actp
         WHERE actp.PRICE_ID = #{priceId}
     </select>
@@ -835,7 +835,7 @@
                a_t_price.LINE_ID     "lineId",
                a_t_price.CAPACITY_ID "capacityId",
                a_t_price.MATERIAL_ID "materialId",
-               a_t_price.ADDRESS_ID  "addressId",
+               a_t_price.PLACE_ID  "placeId",
                a_t_price.PRICE_VALUE "priceValue",
                a_t_price.PRICE_DATE  "priceDate"
         from AMS_CONTRACT_TRANSPORT_PRICE a_t_price

+ 67 - 37
src/main/resources/com/steerinfo/dil/mapper/AmsContractTruckPriceMapper.xml

@@ -7,7 +7,7 @@
     <result column="CARRIER_ID" jdbcType="DECIMAL" property="carrierId" />
     <result column="LINE_ID" jdbcType="DECIMAL" property="lineId" />
     <result column="CAPACITY_TYPE_ID" jdbcType="DECIMAL" property="capacityTypeId" />
-    <result column="CARGONAME_ID" jdbcType="CHAR" property="cargonameId" />
+    <result column="CARGONAME_ID" jdbcType="DECIMAL" property="cargonameId" />
     <result column="PRICE_TON_KILOMETER" jdbcType="DECIMAL" property="priceTonKilometer" />
     <result column="PRICE_VALUE" jdbcType="DECIMAL" property="priceValue" />
     <result column="PRICE_DATE" jdbcType="TIMESTAMP" property="priceDate" />
@@ -17,7 +17,7 @@
     <result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime" />
     <result column="INSERT_UPDATE_REMARK" jdbcType="VARCHAR" property="insertUpdateRemark" />
     <result column="DELETED" jdbcType="DECIMAL" property="deleted" />
-    <result column="ADDRESS_ID" jdbcType="DECIMAL" property="addressId" />
+    <result column="PLACE_ID" jdbcType="DECIMAL" property="placeId" />
     <result column="TYPE" jdbcType="DECIMAL" property="type" />
     <result column="DEPARTMENT" jdbcType="DECIMAL" property="department" />
     <result column="OILPRICE_BASE" jdbcType="DECIMAL" property="oilpriceBase" />
@@ -25,15 +25,15 @@
     <result column="OILPRICE_CHANGE_THRESHOLD" jdbcType="DECIMAL" property="oilpriceChangeThreshold" />
   </resultMap>
   <sql id="columns">
-    PRICE_ID, SHIPPER_ID, CARRIER_ID, LINE_ID, CAPACITY_TYPE_ID, CARGONAME_ID, PRICE_TON_KILOMETER, 
-    PRICE_VALUE, PRICE_DATE, INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, 
-    INSERT_UPDATE_REMARK, DELETED, ADDRESS_ID, TYPE, DEPARTMENT, OILPRICE_BASE, OIL_TYPE_ID, 
+    PRICE_ID, SHIPPER_ID, CARRIER_ID, LINE_ID, CAPACITY_TYPE_ID, CARGONAME_ID, PRICE_TON_KILOMETER,
+    PRICE_VALUE, PRICE_DATE, INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME,
+    INSERT_UPDATE_REMARK, DELETED, PLACE_ID, TYPE, DEPARTMENT, OILPRICE_BASE, OIL_TYPE_ID,
     OILPRICE_CHANGE_THRESHOLD
   </sql>
   <sql id="columns_alias">
-    t.PRICE_ID, t.SHIPPER_ID, t.CARRIER_ID, t.LINE_ID, t.CAPACITY_TYPE_ID, t.CARGONAME_ID, 
-    t.PRICE_TON_KILOMETER, t.PRICE_VALUE, t.PRICE_DATE, t.INSERT_USERNAME, t.INSERT_TIME, 
-    t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.DELETED, t.ADDRESS_ID, 
+    t.PRICE_ID, t.SHIPPER_ID, t.CARRIER_ID, t.LINE_ID, t.CAPACITY_TYPE_ID, t.CARGONAME_ID,
+    t.PRICE_TON_KILOMETER, t.PRICE_VALUE, t.PRICE_DATE, t.INSERT_USERNAME, t.INSERT_TIME,
+    t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.DELETED, t.PLACE_ID,
     t.TYPE, t.DEPARTMENT, t.OILPRICE_BASE, t.OIL_TYPE_ID, t.OILPRICE_CHANGE_THRESHOLD
   </sql>
   <sql id="select">
@@ -89,8 +89,8 @@
       <if test="deleted != null">
         and DELETED = #{deleted}
       </if>
-      <if test="addressId != null">
-        and ADDRESS_ID = #{addressId}
+      <if test="placeId != null">
+        and PLACE_ID = #{placeId}
       </if>
       <if test="type != null">
         and TYPE = #{type}
@@ -156,8 +156,8 @@
       <if test="deleted != null">
         and DELETED = #{deleted}
       </if>
-      <if test="addressId != null">
-        and ADDRESS_ID = #{addressId}
+      <if test="placeId != null">
+        and PLACE_ID = #{placeId}
       </if>
       <if test="type != null">
         and TYPE = #{type}
@@ -225,8 +225,8 @@
     <if test="deleted != null">
       or DELETED = #{deleted}
     </if>
-    <if test="addressId != null">
-      or ADDRESS_ID = #{addressId}
+    <if test="placeId != null">
+      or PLACE_ID = #{placeId}
     </if>
     <if test="type != null">
       or TYPE = #{type}
@@ -250,15 +250,15 @@
                                               PRICE_TON_KILOMETER, PRICE_VALUE, PRICE_DATE,
                                               INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME,
                                               UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED,
-                                              ADDRESS_ID, TYPE, DEPARTMENT,
+                                              PLACE_ID, TYPE, DEPARTMENT,
                                               OILPRICE_BASE, OIL_TYPE_ID, OILPRICE_CHANGE_THRESHOLD
     )
     values (#{priceId,jdbcType=DECIMAL}, #{shipperId,jdbcType=DECIMAL}, #{carrierId,jdbcType=DECIMAL},
-            #{lineId,jdbcType=DECIMAL}, #{capacityTypeId,jdbcType=DECIMAL}, #{cargonameId,jdbcType=CHAR},
+            #{lineId,jdbcType=DECIMAL}, #{capacityTypeId,jdbcType=DECIMAL}, #{cargonameId,jdbcType=DECIMAL},
             #{priceTonKilometer,jdbcType=DECIMAL}, #{priceValue,jdbcType=DECIMAL}, #{priceDate,jdbcType=TIMESTAMP},
             #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR},
             #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR}, #{deleted,jdbcType=DECIMAL},
-            #{addressId,jdbcType=DECIMAL}, #{type,jdbcType=DECIMAL}, #{department,jdbcType=DECIMAL},
+            #{placeId,jdbcType=DECIMAL}, #{type,jdbcType=DECIMAL}, #{department,jdbcType=DECIMAL},
             #{oilpriceBase,jdbcType=DECIMAL}, #{oilTypeId,jdbcType=DECIMAL}, #{oilpriceChangeThreshold,jdbcType=DECIMAL}
            )
   </insert>
@@ -310,8 +310,8 @@
       <if test="deleted != null">
         DELETED,
       </if>
-      <if test="addressId != null">
-        ADDRESS_ID,
+      <if test="placeId != null">
+        PLACE_ID,
       </if>
       <if test="type != null">
         TYPE,
@@ -346,7 +346,7 @@
         #{capacityTypeId,jdbcType=DECIMAL},
       </if>
       <if test="cargonameId != null">
-        #{cargonameId,jdbcType=CHAR},
+        #{cargonameId,jdbcType=DECIMAL},
       </if>
       <if test="priceTonKilometer != null">
         #{priceTonKilometer,jdbcType=DECIMAL},
@@ -375,8 +375,8 @@
       <if test="deleted != null">
         #{deleted,jdbcType=DECIMAL},
       </if>
-      <if test="addressId != null">
-        #{addressId,jdbcType=DECIMAL},
+      <if test="placeId != null">
+        #{placeId,jdbcType=DECIMAL},
       </if>
       <if test="type != null">
         #{type,jdbcType=DECIMAL},
@@ -401,7 +401,7 @@
         CARRIER_ID = #{carrierId,jdbcType=DECIMAL},
         LINE_ID = #{lineId,jdbcType=DECIMAL},
         CAPACITY_TYPE_ID = #{capacityTypeId,jdbcType=DECIMAL},
-        CARGONAME_ID = #{cargonameId,jdbcType=CHAR},
+        CARGONAME_ID = #{cargonameId,jdbcType=DECIMAL},
         PRICE_TON_KILOMETER = #{priceTonKilometer,jdbcType=DECIMAL},
         PRICE_VALUE = #{priceValue,jdbcType=DECIMAL},
         PRICE_DATE = #{priceDate,jdbcType=TIMESTAMP},
@@ -411,7 +411,7 @@
         UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
         INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
         DELETED = #{deleted,jdbcType=DECIMAL},
-        ADDRESS_ID = #{addressId,jdbcType=DECIMAL},
+        PLACE_ID = #{placeId,jdbcType=DECIMAL},
         TYPE = #{type,jdbcType=DECIMAL},
         DEPARTMENT = #{department,jdbcType=DECIMAL},
         OILPRICE_BASE = #{oilpriceBase,jdbcType=DECIMAL},
@@ -435,7 +435,7 @@
         CAPACITY_TYPE_ID = #{capacityTypeId,jdbcType=DECIMAL},
       </if>
       <if test="cargonameId != null">
-        CARGONAME_ID = #{cargonameId,jdbcType=CHAR},
+        CARGONAME_ID = #{cargonameId,jdbcType=DECIMAL},
       </if>
       <if test="priceTonKilometer != null">
         PRICE_TON_KILOMETER = #{priceTonKilometer,jdbcType=DECIMAL},
@@ -464,8 +464,8 @@
       <if test="deleted != null">
         DELETED = #{deleted,jdbcType=DECIMAL},
       </if>
-      <if test="addressId != null">
-        ADDRESS_ID = #{addressId,jdbcType=DECIMAL},
+      <if test="placeId != null">
+        PLACE_ID = #{placeId,jdbcType=DECIMAL},
       </if>
       <if test="type != null">
         TYPE = #{type,jdbcType=DECIMAL},
@@ -505,18 +505,18 @@
     PRICE_VALUE, PRICE_DATE, INSERT_USERNAME,
     INSERT_TIME, UPDATE_USERNAME,
     UPDATE_TIME, INSERT_UPDATE_REMARK,
-    DELETED, ADDRESS_ID, TYPE,
+    DELETED, PLACE_ID, TYPE,
     DEPARTMENT, OILPRICE_BASE, OIL_TYPE_ID,
     OILPRICE_CHANGE_THRESHOLD)
     ( <foreach collection="list" item="item" separator="union all">
     select
     #{item.priceId,jdbcType=DECIMAL},
     #{item.shipperId,jdbcType=DECIMAL}, #{item.carrierId,jdbcType=DECIMAL}, #{item.lineId,jdbcType=DECIMAL},
-    #{item.capacityTypeId,jdbcType=DECIMAL}, #{item.cargonameId,jdbcType=CHAR}, #{item.priceTonKilometer,jdbcType=DECIMAL},
+    #{item.capacityTypeId,jdbcType=DECIMAL}, #{item.cargonameId,jdbcType=DECIMAL}, #{item.priceTonKilometer,jdbcType=DECIMAL},
     #{item.priceValue,jdbcType=DECIMAL}, #{item.priceDate,jdbcType=TIMESTAMP}, #{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.addressId,jdbcType=DECIMAL}, #{item.type,jdbcType=DECIMAL},
+    #{item.deleted,jdbcType=DECIMAL}, #{item.placeId,jdbcType=DECIMAL}, #{item.type,jdbcType=DECIMAL},
     #{item.department,jdbcType=DECIMAL}, #{item.oilpriceBase,jdbcType=DECIMAL}, #{item.oilTypeId,jdbcType=DECIMAL},
     #{item.oilpriceChangeThreshold,jdbcType=DECIMAL} from dual
   </foreach> )
@@ -546,7 +546,7 @@
     </foreach>
     ,CARGONAME_ID=
     <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
-      when #{item.priceId,jdbcType=DECIMAL} then #{item.cargonameId,jdbcType=CHAR}
+      when #{item.priceId,jdbcType=DECIMAL} then #{item.cargonameId,jdbcType=DECIMAL}
     </foreach>
     ,PRICE_TON_KILOMETER=
     <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
@@ -584,9 +584,9 @@
     <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
       when #{item.priceId,jdbcType=DECIMAL} then #{item.deleted,jdbcType=DECIMAL}
     </foreach>
-    ,ADDRESS_ID=
+    ,PLACE_ID=
     <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
-      when #{item.priceId,jdbcType=DECIMAL} then #{item.addressId,jdbcType=DECIMAL}
+      when #{item.priceId,jdbcType=DECIMAL} then #{item.placeId,jdbcType=DECIMAL}
     </foreach>
     ,TYPE=
     <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
@@ -629,7 +629,7 @@
     r_r_address.ADDRESS_PROVINCE "addressProvince",
     r_r_address.ADDRESS_DISTRICT "addressDistrict",
     r_r_address.ADDRESS_TOWN "addressTown",
-    r_r_address.ADDRESS_DELIVERY_ADDRESS "addressDeliveryAddress",
+    rrp.ADDRESS_DELIVERY_ADDRESS "addressDeliveryAddress",
     r_carrier.CARRIER_NAME "carrierName",
     r_line.LINE_PATH_LENGTH "linePathLength",
     r_o_type.OIL_TYPE_NAME "oilTypeName",
@@ -638,10 +638,14 @@
     a_t_price.PRICE_TON_KILOMETER "priceTonKilometer",
     a_t_price.PRICE_DATE "priceDate",
     a_t_price.OILPRICE_BASE "oilpriceBase",
-    a_t_price.INSERT_TIME "insertTime"
+    a_t_price.INSERT_TIME "insertTime",
+    rs.SHIPPER_NAME "shipperName",
+    a_t_price.OILPRICE_CHANGE_THRESHOLD "oilpriceChangeThreshold"
     from AMS_CONTRACT_TRANSPORT_PRICE a_t_price
+    left join RMS_RECEIVE_PLACE rrp
+    on a_t_price.PLACE_ID=rrp.PLACE_ID
     left join RMS_RECEIVE_ADDRESS r_r_address
-    on a_t_price.ADDRESS_ID=r_r_address.ADDRESS_ID
+    on rrp.ADDRESS_ID = r_r_address.ADDRESS_ID
     left join RMS_CAPACITY_TYPE r_c_type
     on a_t_price.CAPACITY_TYPE_ID=r_c_type.CAPACITY_TYPE_ID
     left join RMS_CARRIER r_carrier
@@ -650,6 +654,8 @@
     on a_t_price.LINE_ID=r_line.LINE_ID
     left join RMS_OIL_TYPE r_o_type
     on a_t_price.OIL_TYPE_ID = r_o_type.OIL_TYPE_ID
+    left join RMS_SHIPPER rs
+    on rs.SHIPPER_ID = a_t_price.SHIPPER_ID
 --     where a_t_price.DELETED = 0
 --     and a_t_price.TYPE = 1 and a_t_price.DEPARTMENT = 2
     <where>
@@ -666,6 +672,12 @@
           "addressProvince" 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="addressDistrict != null">
         and
         <foreach collection="addressDistrict" item="item" open="(" separator="or" close=")">
@@ -777,7 +789,7 @@
            a_t_price.LINE_ID "lineId",
            a_t_price.CAPACITY_ID "capacityId",
            a_t_price.MATERIAL_ID "materialId",
-           a_t_price.ADDRESS_ID "addressId",
+           a_t_price.PLACE_ID "placeId",
            a_t_price.PRICE_VALUE "priceValue",
            a_t_price.PRICE_DATE "priceDate"
     from AMS_CONTRACT_TRANSPORT_PRICE a_t_price
@@ -848,4 +860,22 @@
       OIL_TYPE_NAME "label"
     from RMS_OIL_TYPE
   </select>
+
+  <select id="getRealAddressByLike" parameterType="java.util.Map" resultType="java.util.Map">
+    SELECT
+    RRP.PLACE_ID AS "placeId",
+    RRP.ADDRESS_DELIVERY_ADDRESS AS "value",
+    RRP.ADDRESS_DELIVERY_ADDRESS AS "placeName"
+    FROM RMS_RECEIVE_PLACE RRP
+    WHERE RRP.ADDRESS_ID = #{addressId}
+    <if test="index != null">
+      AND RRP.ADDRESS_DELIVERY_ADDRESS LIKE #{index}
+    </if>
+  </select>
+
+  <select id="selectFormulaId" parameterType="DECIMAL" resultType="DECIMAL" >
+    SELECT ACTP.CARGONAME_ID AS "formulaId"
+    FROM AMS_CONTRACT_TRANSPORT_PRICE ACTP
+    WHERE ACTP.PRICE_ID = #{priceId}
+  </select>
 </mapper>

+ 39 - 34
src/main/resources/com/steerinfo/dil/mapper/AmsDispatchSaleOrderMapper.xml

@@ -493,40 +493,43 @@
     </select>
     <!-- 展示已经接收到了承运商的订单   -->
     <select id="getLockDispatchSaleOrderListForPc" parameterType="DECIMAL" resultType="java.util.Map">
-        SELECT ADSO.DISPATCH_ID                  AS "dispatchId",
-               ASOM.SALE_ORDER_MATERIAL_TRUCK_NO AS "saleOrderMaterialTruckNo",
-               ASO.SALE_NUMBER                   AS "saleNumber",
-               ADSO.DISPATCH_DEAL_TIME           AS "dispatchDealTime",
-               RSH.SHIPPER_NAME                  AS "shipperName",
-               RC.CONSIGNEE_COMPANY_NAME         AS "consigneeCompanyName",
-               RRA.ADDRESS_DELIVERY_ADDRESS      AS "addressDeliveryAddress",
-               ASOM.SALE_ORDER_CONSIGNEE         AS "saleOrderConsignee",
-               ASOM.SALE_ORDER_CONSIGNEE_TEL     AS "saleOrderConsigneeTel",
-               RCA.CARRIER_NAME                  AS "carrierName",
-               OO.ORDER_ID                       AS "orderId"
+        SELECT ADSO.DISPATCH_ID AS "dispatchId",
+        ASOM.SALE_ORDER_MATERIAL_TRUCK_NO AS "saleOrderMaterialTruckNo",
+        ASO.SALE_NUMBER AS "saleNumber",
+        ADSO.DISPATCH_DEAL_TIME AS "dispatchDealTime",
+        RSH.SHIPPER_NAME AS "shipperName",
+        RC.CONSIGNEE_COMPANY_NAME AS "consigneeCompanyName",
+        RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT || RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS AS
+        "addressDeliveryAddress",
+        ASOM.SALE_ORDER_CONSIGNEE AS "saleOrderConsignee",
+        ASOM.SALE_ORDER_CONSIGNEE_TEL AS "saleOrderConsigneeTel",
+        RCA.CARRIER_NAME AS "carrierName",
+        OO.ORDER_ID AS "orderId"
         FROM AMS_DISPATCH_SALE_ORDER ADSO
-                 LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
-                           ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
-                 LEFT JOIN OMSTRUCK_ORDER OO
-                           ON OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID
-                           AND OO.ORDER_TYPE IN (1,2)
-                 LEFT JOIN AMS_SALE_ORDER ASO
-                           ON ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
-                 LEFT JOIN RMS_SHIPPER RSH
-                           ON RSH.SHIPPER_ID = ASO.SHIPPER_ID
-                 LEFT JOIN RMS_CONSIGNEE RC
-                           ON RC.CONSIGNEE_ID = ASO.RECEIVE_ID
-                 LEFT JOIN RMS_RECEIVE_ADDRESS RRA
-                           ON ASOM.SALE_SHIPPING_ADDRESS_ID = RRA.ADDRESS_ID
-                 LEFT JOIN RMS_CARRIER RCA
-                           ON RCA.CARRIER_ID = ADSO.CARRIER_ID
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+        ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+        LEFT JOIN OMSTRUCK_ORDER OO
+        ON OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID
+        AND OO.ORDER_TYPE IN (1,2)
+        LEFT JOIN AMS_SALE_ORDER ASO
+        ON ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
+        LEFT JOIN RMS_SHIPPER RSH
+        ON RSH.SHIPPER_ID = ASO.SHIPPER_ID
+        LEFT JOIN RMS_CONSIGNEE RC
+        ON RC.CONSIGNEE_ID = ASO.RECEIVE_ID
+        LEFT JOIN RMS_RECEIVE_PLACE RRP
+        ON RRP.PLACE_ID = ASOM.SALE_SHIPPING_ADDRESS_ID
+        LEFT JOIN RMS_RECEIVE_ADDRESS RRA
+        ON RRA.ADDRESS_ID = RRP.ADDRESS_ID
+        LEFT JOIN RMS_CARRIER RCA
+        ON RCA.CARRIER_ID = ADSO.CARRIER_ID
         WHERE ADSO.DISPATCH_STATUS = 0
-          <if test="carrierId != null" >
-              AND ADSO.CARRIER_ID = #{carrierId}
-          </if>
-          AND OO.CAPACITY_ID IS NULL
-          AND ADSO.DISPATCH_DEAL_TIME IS NOT NULL
-              ORDER BY ADSO.DISPATCH_DEAL_TIME DESC
+        <if test="carrierId != null">
+            AND ADSO.CARRIER_ID = #{carrierId}
+        </if>
+        AND OO.CAPACITY_ID IS NULL
+        AND ADSO.DISPATCH_DEAL_TIME IS NOT NULL
+        ORDER BY ADSO.DISPATCH_DEAL_TIME DESC
     </select>
 
     <select id="getNullOrNotNull" parameterType="DECIMAL" resultType="java.util.Map">
@@ -549,7 +552,7 @@
         ADSO.DISPATCH_DEAL_TIME AS "dispatchDealTime",
         RSH.SHIPPER_NAME AS "shipperName",
         RC.CONSIGNEE_COMPANY_NAME AS "consigneeCompanyName",
-        RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT || RRA.ADDRESS_TOWN || RRA.ADDRESS_DELIVERY_ADDRESS AS "addressDeliveryAddress",
+        RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT || RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS AS "addressDeliveryAddress",
         ASOM.SALE_ORDER_CONSIGNEE AS "saleOrderConsignee",
         ASOM.SALE_ORDER_CONSIGNEE_TEL AS "saleOrderConsigneeTel",
         ADSO.INSERT_TIME AS "insertTime"
@@ -562,8 +565,10 @@
         ON RSH.SHIPPER_ID = ASO.SHIPPER_ID
         LEFT JOIN RMS_CONSIGNEE RC
         ON RC.CONSIGNEE_ID = ASO.RECEIVE_ID
+        LEFT JOIN RMS_RECEIVE_PLACE RRP
+        ON ASOM.SALE_SHIPPING_ADDRESS_ID = RRP.PLACE_ID
         LEFT JOIN RMS_RECEIVE_ADDRESS RRA
-        ON ASOM.SALE_SHIPPING_ADDRESS_ID = RRA.ADDRESS_ID
+        ON RRP.ADDRESS_ID = RRA.ADDRESS_ID
         WHERE ADSO.DISPATCH_TYPE = #{dispatchType}
         AND ADSO.DISPATCH_STATUS = 0
         AND ADSO.DISPATCH_DEAL_TIME IS NULL

+ 4 - 2
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml

@@ -1191,7 +1191,7 @@
            ASO.SALE_NUMBER                                  "saleNumber",
            ASOM.SALE_ORDER_MATERIAL_TRUCK_NO                "saleOrderMaterialTruckNo",
            CONCAT(CONCAT(CONCAT(ADDRESS_PROVINCE, ADDRESS_DISTRICT), ADDRESS_TOWN),
-                  ADDRESS_DELIVERY_ADDRESS)                 "addressDeliveryAddress",
+                  RRP.ADDRESS_DELIVERY_ADDRESS)                 "addressDeliveryAddress",
            TO_CHAR(ASOM.SALE_DATE_OF_RECEIPT, 'yyyy-mm-dd') "saleDateOfReceipt",
            ASOM.SALE_ORDER_CONSIGNEE                        "saleOrderConsignee",
            ASOM.SALE_ORDER_CONSIGNEE_TEL                    "saleOrderConsigneeTel",
@@ -1205,8 +1205,10 @@
                 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_RECEIVE_PLACE RRP
+                     ON ASOM.SALE_SHIPPING_ADDRESS_ID = RRP.PLACE_ID
            LEFT JOIN RMS_RECEIVE_ADDRESS RRA
-                     ON ASOM.SALE_SHIPPING_ADDRESS_ID = RRA.ADDRESS_ID
+                     ON RRP.ADDRESS_ID = RRA.ADDRESS_ID
            LEFT JOIN RMS_SHIPPER RS
                      ON RS.SHIPPER_ID = ASO.SHIPPER_ID
            LEFT JOIN RMS_CONSIGNEE RC

+ 26 - 2
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.xml

@@ -620,7 +620,7 @@
     FROM (
     SELECT ASO.SALE_NUMBER AS "saleNumber",
     ASOM.SALE_ORDER_MATERIAL_TRUCK_NO AS "truckNo",
-    RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT || RRA.ADDRESS_TOWN || RRA.ADDRESS_DELIVERY_ADDRESS   AS "addressDeliveryAddress",
+    RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT || RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS   AS "addressDeliveryAddress",
     ASOM.SALE_DATE_OF_RECEIPT AS "saleDateOfReceipt",
     ASOM.SALE_ORDER_CONSIGNEE AS "saleOrderConsignee",
     ASOM.SALE_ORDER_CONSIGNEE_TEL AS "saleOrderConsigneeTel",
@@ -633,8 +633,10 @@
     FROM AMS_SALE_ORDER_MATERIAL ASOM
     LEFT JOIN AMS_SALE_ORDER ASO
     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 = ASOM.SALE_SHIPPING_ADDRESS_ID
+    ON RRA.ADDRESS_ID = RRP.ADDRESS_ID
     LEFT JOIN RMS_SHIPPER RSH
     ON RSH.SHIPPER_ID = ASO.SHIPPER_ID
     LEFT JOIN RMS_CONSIGNEE RCO
@@ -763,4 +765,26 @@
     FROM RMS_LINE RL
     WHERE RL.LINE_ID = #{lineId}
   </select>
+
+  <select id="getPlaceId" parameterType="java.lang.String" resultType="java.util.Map" >
+    SELECT RRP.PLACE_ID AS "placeId"
+    FROM RMS_RECEIVE_PLACE RRP
+    WHERE RRP.ADDRESS_DELIVERY_ADDRESS = #{place}
+  </select>
+
+  <select id="getSaleMessage" parameterType="DECIMAL" resultType="java.util.Map" >
+    SELECT ASO.SALE_ORDER_ISSELF_MENTION AS "isSelfMention",
+           ASO.RECEIVE_ID                AS "receiveId"
+    FROM AMS_SALE_ORDER ASO
+    WHERE ASO.SALE_ORDER_ID = #{saleOrderId}
+  </select>
+
+  <select id="getPriceList" parameterType="DECIMAL" resultType="java.util.Map" >
+    SELECT ACTP.PLACE_ID    AS "priceId",
+           ACTP.PRICE_VALUE AS "priceValue"
+    FROM AMS_CONTRACT_TRANSPORT_PRICE ACTP
+    WHERE ACTP.CARRIER_ID = #{carrierId}
+    AND ACTP.DELETED = 0
+    ORDER BY ACTP.PRICE_VALUE DESC
+  </select>
 </mapper>

+ 35 - 0
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -694,4 +694,39 @@
      from OMSTRUCK_ORDER OO
      WHERE OO.ORDER_ID=#{orderId}
     </select>
+
+    <select id="getPriceId" parameterType="java.util.Map" resultType="DECIMAL">
+        SELECT ACTP.PRICE_ID AS "priceId"
+        FROM AMS_CONTRACT_TRANSPORT_PRICE ACTP
+                 LEFT JOIN RMS_RECEIVE_PLACE RRP
+                           ON RRP.PLACE_ID = ACTP.PLACE_ID
+                 LEFT JOIN RMS_RECEIVE_ADDRESS RRA
+                           ON RRA.ADDRESS_ID = RRP.ADDRESS_ID
+        WHERE RRP.ADDRESS_DELIVERY_ADDRESS = #{place}
+          AND RRA.ADDRESS_ID = #{addressId}
+          AND ACTP.DELETED = 0
+    </select>
+
+    <select id="findMaxPrice" parameterType="Object" resultType="DECIMAL" >
+        SELECT
+            MAX(ACTP.PRICE_VALUE) AS "priceValue"
+        FROM AMS_CONTRACT_TRANSPORT_PRICE ACTP
+                 LEFT JOIN RMS_RECEIVE_PLACE RRP
+                           ON RRP.PLACE_ID = ACTP.PLACE_ID
+                 LEFT JOIN RMS_RECEIVE_ADDRESS RRA
+                           ON RRA.ADDRESS_ID = RRP.ADDRESS_ID
+        WHERE RRA.ADDRESS_ID = #{addressId}
+    </select>
+
+    <select id="findMaxPriceId" parameterType="java.util.Map" resultType="java.util.Map" >
+        SELECT
+            ACTP.PRICE_ID AS "priceId"
+        FROM AMS_CONTRACT_TRANSPORT_PRICE ACTP
+                 LEFT JOIN RMS_RECEIVE_PLACE RRP
+                           ON RRP.PLACE_ID = ACTP.PLACE_ID
+                 LEFT JOIN RMS_RECEIVE_ADDRESS RRA
+                           ON RRA.ADDRESS_ID = RRP.ADDRESS_ID
+        WHERE RRA.ADDRESS_ID = #{addressId}
+        AND ACTP.PRICE_VALUE = #{priceValue}
+    </select>
 </mapper>

+ 357 - 0
src/main/resources/com/steerinfo/dil/mapper/RmsReceivePlaceMapper.xml

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