hejiahui 2 years ago
parent
commit
ade80fcab0

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

@@ -135,6 +135,62 @@ public class AmsContractTransportPrice implements IBasePO<BigDecimal> {
     @ApiModelProperty(value="油价变化率阈值",required=false)
     @ApiModelProperty(value="油价变化率阈值",required=false)
     private BigDecimal oilpriceChangeThreshold;
     private BigDecimal oilpriceChangeThreshold;
 
 
+    /**
+     * 历史时间(OLD_DATE,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="历史时间",required=false)
+    private Date oldDate;
+
+    /**
+     * 运输距离(HAUL_DISTANCE,DECIMAL,0)
+     */
+    @ApiModelProperty(value="运输距离",required=false)
+    private BigDecimal haulDistance;
+
+    /**
+     * 中标合同作为参考依据:1参考(REFERENCE_HT,DECIMAL,0)
+     */
+    @ApiModelProperty(value="中标合同作为参考依据:1参考",required=false)
+    private BigDecimal referenceHt;
+
+    /**
+     * 地址为库存(INVENTORY,DECIMAL,0)
+     */
+    @ApiModelProperty(value="地址为库存",required=false)
+    private BigDecimal inventory;
+
+    public Date getOldDate() {
+        return oldDate;
+    }
+
+    public void setOldDate(Date oldDate) {
+        this.oldDate = oldDate;
+    }
+
+    public BigDecimal getReferenceHt() {
+        return referenceHt;
+    }
+
+    public void setReferenceHt(BigDecimal referenceHt) {
+        this.referenceHt = referenceHt;
+    }
+
+    public BigDecimal getInventory() {
+        return inventory;
+    }
+
+    public void setInventory(BigDecimal inventory) {
+        this.inventory = inventory;
+    }
+
+    public BigDecimal getHaulDistance() {
+        return haulDistance;
+    }
+
+    public void setHaulDistance(BigDecimal haulDistance) {
+        this.haulDistance = haulDistance;
+    }
+
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 
     @Override
     @Override
@@ -342,6 +398,10 @@ public class AmsContractTransportPrice implements IBasePO<BigDecimal> {
         sb.append(", oilpriceBase=").append(oilpriceBase);
         sb.append(", oilpriceBase=").append(oilpriceBase);
         sb.append(", oilTypeId=").append(oilTypeId);
         sb.append(", oilTypeId=").append(oilTypeId);
         sb.append(", oilpriceChangeThreshold=").append(oilpriceChangeThreshold);
         sb.append(", oilpriceChangeThreshold=").append(oilpriceChangeThreshold);
+        sb.append(", oldDate=").append(oldDate);
+        sb.append(", haulDistance=").append(haulDistance);
+        sb.append(", referenceHt=").append(referenceHt);
+        sb.append(", inventory=").append(inventory);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         sb.append("]");
         return sb.toString();
         return sb.toString();

+ 4 - 0
src/main/java/com/steerinfo/dil/service/impl/AmsContractTransportPriceServiceImpl.java

@@ -97,6 +97,7 @@ public class AmsContractTransportPriceServiceImpl implements IAmsContractTranspo
                 BigDecimal oilpriceBase = DataChange.dataToBigDecimal(mapValue.get("oilpriceBase"));
                 BigDecimal oilpriceBase = DataChange.dataToBigDecimal(mapValue.get("oilpriceBase"));
                 BigDecimal oilTypeId = DataChange.dataToBigDecimal(mapValue.get("oilTypeId"));
                 BigDecimal oilTypeId = DataChange.dataToBigDecimal(mapValue.get("oilTypeId"));
                 BigDecimal oilpriceChangeThreshold = DataChange.dataToBigDecimal(mapValue.get("oilpriceChangeThreshold"));
                 BigDecimal oilpriceChangeThreshold = DataChange.dataToBigDecimal(mapValue.get("oilpriceChangeThreshold"));
+                BigDecimal haulDistance = DataChange.dataToBigDecimal(mapValue.get("haulDistance"));
                 AmsContractTransportPrice amsContractTransportPrice = new AmsContractTransportPrice();
                 AmsContractTransportPrice amsContractTransportPrice = new AmsContractTransportPrice();
                 String place = (String) mapValue.get("place");
                 String place = (String) mapValue.get("place");
                 if (place != null && place.length() != 0) {
                 if (place != null && place.length() != 0) {
@@ -137,6 +138,7 @@ public class AmsContractTransportPriceServiceImpl implements IAmsContractTranspo
                 amsContractTransportPrice.setUpdateTime(new Date());
                 amsContractTransportPrice.setUpdateTime(new Date());
                 amsContractTransportPrice.setInsertUpdateRemark("无");
                 amsContractTransportPrice.setInsertUpdateRemark("无");
                 amsContractTransportPrice.setDeleted(new BigDecimal(0));
                 amsContractTransportPrice.setDeleted(new BigDecimal(0));
+                amsContractTransportPrice.setHaulDistance(haulDistance);
                 amsContractTruckPriceMapper.insertSelective(amsContractTransportPrice);
                 amsContractTruckPriceMapper.insertSelective(amsContractTransportPrice);
             }
             }
             return 1;
             return 1;
@@ -151,6 +153,7 @@ public class AmsContractTransportPriceServiceImpl implements IAmsContractTranspo
             BigDecimal oilpriceBase = DataChange.dataToBigDecimal(mapValue.get("oilpriceBase"));
             BigDecimal oilpriceBase = DataChange.dataToBigDecimal(mapValue.get("oilpriceBase"));
             BigDecimal oilTypeId = DataChange.dataToBigDecimal(mapValue.get("oilTypeId"));
             BigDecimal oilTypeId = DataChange.dataToBigDecimal(mapValue.get("oilTypeId"));
             BigDecimal oilpriceChangeThreshold = DataChange.dataToBigDecimal(mapValue.get("oilpriceChangeThreshold"));
             BigDecimal oilpriceChangeThreshold = DataChange.dataToBigDecimal(mapValue.get("oilpriceChangeThreshold"));
+            BigDecimal haulDistance = DataChange.dataToBigDecimal(mapValue.get("haulDistance"));
             AmsContractTransportPrice amsContractTransportPrice = new AmsContractTransportPrice();
             AmsContractTransportPrice amsContractTransportPrice = new AmsContractTransportPrice();
             String place = (String) mapValue.get("place");
             String place = (String) mapValue.get("place");
             if (place != null && place.length() != 0) {
             if (place != null && place.length() != 0) {
@@ -191,6 +194,7 @@ public class AmsContractTransportPriceServiceImpl implements IAmsContractTranspo
             amsContractTransportPrice.setUpdateTime(new Date());
             amsContractTransportPrice.setUpdateTime(new Date());
             amsContractTransportPrice.setInsertUpdateRemark("无");
             amsContractTransportPrice.setInsertUpdateRemark("无");
             amsContractTransportPrice.setDeleted(new BigDecimal(0));
             amsContractTransportPrice.setDeleted(new BigDecimal(0));
+            amsContractTransportPrice.setHaulDistance(haulDistance);
             return amsContractTruckPriceMapper.insertSelective(amsContractTransportPrice);
             return amsContractTruckPriceMapper.insertSelective(amsContractTransportPrice);
         }
         }
     }
     }

+ 121 - 0
src/main/java/com/steerinfo/dil/service/impl/AmsContractTruckPriceServiceImpl.java

@@ -15,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
+import java.lang.reflect.Array;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.text.ParseException;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.text.SimpleDateFormat;
@@ -217,6 +218,34 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
         //根据油品名称ID和非历史油价筛选出符合条件的运价合集
         //根据油品名称ID和非历史油价筛选出符合条件的运价合集
         List<Map<String, Object>> PriceValueList = amsContractTruckPriceMapper.getPriceValueList(oilTypeId);
         List<Map<String, Object>> PriceValueList = amsContractTruckPriceMapper.getPriceValueList(oilTypeId);
         for (Map<String, Object> stringObjectMap : PriceValueList) {
         for (Map<String, Object> stringObjectMap : PriceValueList) {
+            //有距离则是销售钢材
+            if (stringObjectMap.get("haulDistance")!=null) {
+                //中标价格或者收货地址(库存)则重新计算价格
+                if (stringObjectMap.get("referenceHt")!=null || stringObjectMap.get("inventory")!=null){
+                    //跳过;
+                    continue;
+                }else{
+                    //判断省市区(镇),拿到关联的中标数据
+                    Map<String, Object> zb = amsContractTruckPriceMapper.selectByPlaceId(DataChange.dataToBigDecimal(stringObjectMap.get("placeId")));
+                    BigDecimal zbDistance = DataChange.dataToBigDecimal(zb.get("haulDistance"));
+                    BigDecimal distance = DataChange.dataToBigDecimal(stringObjectMap.get("haulDistance"));
+                    if (zbDistance.intValue()!=0 && distance.intValue()!=0){
+                        BigDecimal subtract = zbDistance.subtract(distance);
+                        if (subtract.intValue()>10 || subtract.intValue()<-10){
+                            //大于正负10km重新计算价格
+                            //跳过
+                            continue;
+                        }else{
+                            //小于10km取中标价格
+
+                            Map<String,Object> updatePrice=new HashMap<>();
+                            updatePrice.put("priceId",DataChange.dataToBigDecimal(stringObjectMap.get("priceId")));
+                            updatePrice.put("priceValue",DataChange.dataToBigDecimal(zb.get("priceValue")));
+                            return amsContractTruckPriceMapper.updateByPriceId(updatePrice);
+                        }
+                    }
+                }
+            }
             stringObjectMap.put("priceDate",map.get("priceDate"));
             stringObjectMap.put("priceDate",map.get("priceDate"));
             //获取该条单价的原油价基准
             //获取该条单价的原油价基准
             BigDecimal oilpriceBase = DataChange.dataToBigDecimal(stringObjectMap.get("oilpriceBase"));
             BigDecimal oilpriceBase = DataChange.dataToBigDecimal(stringObjectMap.get("oilpriceBase"));
@@ -754,4 +783,96 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
         return amsContractTruckPriceMapper.updateDCnew();
         return amsContractTruckPriceMapper.updateDCnew();
     }
     }
 
 
+    @Transactional
+    @Override
+    public int insertInwardPriceExcel(Map<String,Object> mapValue){
+        int i=0;
+        try{
+            Object rowsList = mapValue.get("rowsList");
+            ArrayList arrayList = (ArrayList) rowsList;
+            //先查询在单价表之前是否有记录,有则禁用
+            for (Object map : arrayList) {
+                //查询收货地址
+                Map entity = (Map)map;
+                if (entity.get("addressDistrict")!=null){
+                    if (entity.get("addressDistrict").toString().contains("区") || entity.get("addressDistrict").toString().contains("县")){
+                        entity.put("addressDistrict","重庆");
+                    }
+                }
+                //查询收货地址
+                List<String> selectshdz = amsContractTruckPriceMapper.selectshdz(entity);
+                //录入收货地址
+                if (selectshdz==null) {
+                    entity.put("addressId",amsContractTruckPriceMapper.selectMaxIdrra()+1);
+                    amsContractTruckPriceMapper.insertshdz(entity);
+                }
+                Map<String, Object> selectxxdz=new HashMap<>();
+                //查询详细地址
+                if (selectshdz!=null && selectshdz.size()>0) {
+                    entity.put("addressId",selectshdz);
+                    selectxxdz = amsContractTruckPriceMapper.selectxxdz(entity);
+                }
+                if (selectxxdz!=null && selectxxdz.get("placeId")!=null) {
+                    i = amsContractTruckPriceMapper.updateDelectByPlaceId(selectxxdz);
+                }
+                    //录入详细地址
+                if (selectxxdz==null){
+                    entity.put("placeId",amsContractTruckPriceMapper.selectMaxIdrrp()+1);
+                    entity.put("addressId",DataChange.dataToBigDecimal(entity.get("addressId").toString().replace("[","").replace("]","")));
+                    amsContractTruckPriceMapper.insertxxdz(entity);
+                }
+                //生成主键id
+                AmsContractTransportPrice amsContractTransportPrice = new AmsContractTransportPrice();
+                amsContractTransportPrice.setPriceId(amsContractTruckPriceMapper.selectMaxId());
+                amsContractTransportPrice.setInsertUsername("admin");
+                amsContractTransportPrice.setInsertTime(new Date());
+                amsContractTransportPrice.setUpdateUsername("admin");
+                amsContractTransportPrice.setUpdateTime(new Date());
+                amsContractTransportPrice.setInsertUpdateRemark("无");
+                amsContractTransportPrice.setDeleted(new BigDecimal(0));
+                SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd");
+                Date priceDate = dateformat.parse("2022-9-26");
+                amsContractTransportPrice.setPriceDate(priceDate);
+                if(selectxxdz!=null && selectxxdz.get("placeId")!=null){
+                    amsContractTransportPrice.setPlaceId(DataChange.dataToBigDecimal(selectxxdz.get("placeId")));
+                }else if(entity!=null && entity.get("placeId")!=null){
+                    amsContractTransportPrice.setPlaceId(DataChange.dataToBigDecimal(entity.get("placeId")));
+                }
+                amsContractTransportPrice.setHaulDistance(DataChange.dataToBigDecimal(entity.get("haulDistance")));
+                amsContractTransportPrice.setPriceValue(DataChange.dataToBigDecimal(entity.get("priceValue")));
+                amsContractTransportPrice.setPriceTonKilometer(DataChange.dataToBigDecimal(entity.get("priceTonKilometer")));
+                if (entity!=null && entity.get("carrierAbbreviation")!=null){
+                    String cys= entity.get("carrierAbbreviation").toString();
+                    if (cys!=null) {
+                        Map<String, Object> selectcys=new HashMap<>();
+                        if(cys.contains("/")){
+                            String[] cyss = cys.split("/");
+                            for (int j = 0; j < cyss.length; j++) {
+                                selectcys = amsContractTruckPriceMapper.selectcys(cyss[j]);
+                                if (selectcys!=null && selectcys.get("carrierId")!=null) {
+                                    amsContractTransportPrice.setCarrierId(DataChange.dataToBigDecimal(selectcys.get("carrierId")));//承运商id
+                                }
+                            }
+                        }else{
+                            selectcys = amsContractTruckPriceMapper.selectcys(cys);
+                            amsContractTransportPrice.setCarrierId(DataChange.dataToBigDecimal(selectcys.get("carrierId")));//承运商id
+                        }
+                    }
+                }
+                if (entity!=null && entity.get("yes")!=null) {
+                    if (entity.get("yes").toString().equals("1")){
+                        //中标合同
+                        amsContractTransportPrice.setReferenceHt(DataChange.dataToBigDecimal(1));
+                    }else{
+                        //库存
+                        amsContractTransportPrice.setInventory(DataChange.dataToBigDecimal(1));
+                    }
+                }
+                i =  amsContractTruckPriceMapper.insertSelective(amsContractTransportPrice);
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        return i;
+    }
 }
 }

+ 195 - 44
src/main/resources/com/steerinfo/dil/mapper/AmsContractTruckPriceMapper.xml

@@ -23,18 +23,23 @@
     <result column="OILPRICE_BASE" jdbcType="DECIMAL" property="oilpriceBase" />
     <result column="OILPRICE_BASE" jdbcType="DECIMAL" property="oilpriceBase" />
     <result column="OIL_TYPE_ID" jdbcType="DECIMAL" property="oilTypeId" />
     <result column="OIL_TYPE_ID" jdbcType="DECIMAL" property="oilTypeId" />
     <result column="OILPRICE_CHANGE_THRESHOLD" jdbcType="DECIMAL" property="oilpriceChangeThreshold" />
     <result column="OILPRICE_CHANGE_THRESHOLD" jdbcType="DECIMAL" property="oilpriceChangeThreshold" />
+    <result column="OLD_DATE" jdbcType="TIMESTAMP" property="oldDate" />
+    <result column="HAUL_DISTANCE" jdbcType="DECIMAL" property="haulDistance" />
+    <result column="REFERENCE_HT" jdbcType="DECIMAL" property="referenceHt" />
+    <result column="INVENTORY" jdbcType="DECIMAL" property="inventory" />
   </resultMap>
   </resultMap>
   <sql id="columns">
   <sql id="columns">
     PRICE_ID, SHIPPER_ID, CARRIER_ID, LINE_ID, CAPACITY_TYPE_ID, CARGONAME_ID, PRICE_TON_KILOMETER,
     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,
     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,
     INSERT_UPDATE_REMARK, DELETED, PLACE_ID, TYPE, DEPARTMENT, OILPRICE_BASE, OIL_TYPE_ID,
-    OILPRICE_CHANGE_THRESHOLD
+    OILPRICE_CHANGE_THRESHOLD, OLD_DATE, HAUL_DISTANCE, REFERENCE_HT, INVENTORY
   </sql>
   </sql>
   <sql id="columns_alias">
   <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_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.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.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
+    t.TYPE, t.DEPARTMENT, t.OILPRICE_BASE, t.OIL_TYPE_ID, t.OILPRICE_CHANGE_THRESHOLD,
+    t.OLD_DATE, t.HAUL_DISTANCE, t.REFERENCE_HT, t.INVENTORY
   </sql>
   </sql>
   <sql id="select">
   <sql id="select">
     SELECT <include refid="columns" /> FROM AMS_CONTRACT_TRANSPORT_PRICE
     SELECT <include refid="columns" /> FROM AMS_CONTRACT_TRANSPORT_PRICE
@@ -107,6 +112,18 @@
       <if test="oilpriceChangeThreshold != null">
       <if test="oilpriceChangeThreshold != null">
         and OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold}
         and OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold}
       </if>
       </if>
+      <if test="oldDate != null">
+        and TO_CHAR(OLD_DATE,'yyyy-MM-dd') = #{oldDate}
+      </if>
+      <if test="haulDistance != null">
+        and HAUL_DISTANCE = #{haulDistance}
+      </if>
+      <if test="referenceHt != null">
+        and REFERENCE_HT = #{referenceHt}
+      </if>
+      <if test="inventory != null">
+        and INVENTORY = #{inventory}
+      </if>
     </where>
     </where>
   </sql>
   </sql>
   <sql id="whereLike">
   <sql id="whereLike">
@@ -174,6 +191,18 @@
       <if test="oilpriceChangeThreshold != null">
       <if test="oilpriceChangeThreshold != null">
         and OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold}
         and OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold}
       </if>
       </if>
+      <if test="oldDate != null">
+        and TO_CHAR(OLD_DATE,'yyyy-MM-dd') = #{oldDate}
+      </if>
+      <if test="haulDistance != null">
+        and HAUL_DISTANCE = #{haulDistance}
+      </if>
+      <if test="referenceHt != null">
+        and REFERENCE_HT = #{referenceHt}
+      </if>
+      <if test="inventory != null">
+        and INVENTORY = #{inventory}
+      </if>
     </where>
     </where>
   </sql>
   </sql>
   <sql id="whereLikeForeach">
   <sql id="whereLikeForeach">
@@ -247,7 +276,7 @@
       </if>
       </if>
     </where>
     </where>
   </sql>
   </sql>
-  <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Short">
     delete from AMS_CONTRACT_TRANSPORT_PRICE
     delete from AMS_CONTRACT_TRANSPORT_PRICE
     where PRICE_ID = #{priceId,jdbcType=DECIMAL}
     where PRICE_ID = #{priceId,jdbcType=DECIMAL}
   </delete>
   </delete>
@@ -314,24 +343,30 @@
     <if test="oilpriceChangeThreshold != null">
     <if test="oilpriceChangeThreshold != null">
       or OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold}
       or OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold}
     </if>
     </if>
+    <if test="oldDate != null">
+      or TO_CHAR(OLD_DATE,'yyyy-MM-dd') = '#{oldDate}'
+    </if>
+    <if test="haulDistance != null">
+      or HAUL_DISTANCE = #{haulDistance}
+    </if>
   </delete>
   </delete>
   <insert id="insert" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
   <insert id="insert" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
     insert into AMS_CONTRACT_TRANSPORT_PRICE (PRICE_ID, SHIPPER_ID, CARRIER_ID,
     insert into AMS_CONTRACT_TRANSPORT_PRICE (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
-    )
+    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,
+    OLD_DATE, HAUL_DISTANCE)
     values (#{priceId,jdbcType=DECIMAL}, #{shipperId,jdbcType=DECIMAL}, #{carrierId,jdbcType=DECIMAL},
     values (#{priceId,jdbcType=DECIMAL}, #{shipperId,jdbcType=DECIMAL}, #{carrierId,jdbcType=DECIMAL},
-            #{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},
-            #{placeId,jdbcType=DECIMAL}, #{type,jdbcType=DECIMAL}, #{department,jdbcType=DECIMAL},
-            #{oilpriceBase,jdbcType=DECIMAL}, #{oilTypeId,jdbcType=DECIMAL}, #{oilpriceChangeThreshold,jdbcType=DECIMAL}
-           )
+    #{lineId,jdbcType=DECIMAL}, #{capacityTypeId,jdbcType=DECIMAL}, #{cargonameId,jdbcType=CHAR},
+    #{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},
+    #{placeId,jdbcType=DECIMAL}, #{type,jdbcType=DECIMAL}, #{department,jdbcType=DECIMAL},
+    #{oilpriceBase,jdbcType=DECIMAL}, #{oilTypeId,jdbcType=DECIMAL}, #{oilpriceChangeThreshold,jdbcType=DECIMAL},
+    #{oldDate,jdbcType=TIMESTAMP}, #{haulDistance,jdbcType=DECIMAL})
   </insert>
   </insert>
   <insert id="insertSelective" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
   <insert id="insertSelective" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
     insert into AMS_CONTRACT_TRANSPORT_PRICE
     insert into AMS_CONTRACT_TRANSPORT_PRICE
@@ -399,6 +434,12 @@
       <if test="oilpriceChangeThreshold != null">
       <if test="oilpriceChangeThreshold != null">
         OILPRICE_CHANGE_THRESHOLD,
         OILPRICE_CHANGE_THRESHOLD,
       </if>
       </if>
+      <if test="oldDate != null">
+        OLD_DATE,
+      </if>
+      <if test="haulDistance != null">
+        HAUL_DISTANCE,
+      </if>
     </trim>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="priceId != null">
       <if test="priceId != null">
@@ -417,7 +458,7 @@
         #{capacityTypeId,jdbcType=DECIMAL},
         #{capacityTypeId,jdbcType=DECIMAL},
       </if>
       </if>
       <if test="cargonameId != null">
       <if test="cargonameId != null">
-        #{cargonameId,jdbcType=DECIMAL},
+        #{cargonameId,jdbcType=CHAR},
       </if>
       </if>
       <if test="priceTonKilometer != null">
       <if test="priceTonKilometer != null">
         #{priceTonKilometer,jdbcType=DECIMAL},
         #{priceTonKilometer,jdbcType=DECIMAL},
@@ -464,30 +505,38 @@
       <if test="oilpriceChangeThreshold != null">
       <if test="oilpriceChangeThreshold != null">
         #{oilpriceChangeThreshold,jdbcType=DECIMAL},
         #{oilpriceChangeThreshold,jdbcType=DECIMAL},
       </if>
       </if>
+      <if test="oldDate != null">
+        #{oldDate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="haulDistance != null">
+        #{haulDistance,jdbcType=DECIMAL},
+      </if>
     </trim>
     </trim>
   </insert>
   </insert>
   <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
   <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
     update AMS_CONTRACT_TRANSPORT_PRICE
     update AMS_CONTRACT_TRANSPORT_PRICE
     set SHIPPER_ID = #{shipperId,jdbcType=DECIMAL},
     set SHIPPER_ID = #{shipperId,jdbcType=DECIMAL},
-        CARRIER_ID = #{carrierId,jdbcType=DECIMAL},
-        LINE_ID = #{lineId,jdbcType=DECIMAL},
-        CAPACITY_TYPE_ID = #{capacityTypeId,jdbcType=DECIMAL},
-        CARGONAME_ID = #{cargonameId,jdbcType=DECIMAL},
-        PRICE_TON_KILOMETER = #{priceTonKilometer,jdbcType=DECIMAL},
-        PRICE_VALUE = #{priceValue,jdbcType=DECIMAL},
-        PRICE_DATE = #{priceDate,jdbcType=TIMESTAMP},
-        INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
-        INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
-        UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
-        UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
-        INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
-        DELETED = #{deleted,jdbcType=DECIMAL},
-        PLACE_ID = #{placeId,jdbcType=DECIMAL},
-        TYPE = #{type,jdbcType=DECIMAL},
-        DEPARTMENT = #{department,jdbcType=DECIMAL},
-        OILPRICE_BASE = #{oilpriceBase,jdbcType=DECIMAL},
-        OIL_TYPE_ID = #{oilTypeId,jdbcType=DECIMAL},
-        OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold,jdbcType=DECIMAL}
+    CARRIER_ID = #{carrierId,jdbcType=DECIMAL},
+    LINE_ID = #{lineId,jdbcType=DECIMAL},
+    CAPACITY_TYPE_ID = #{capacityTypeId,jdbcType=DECIMAL},
+    CARGONAME_ID = #{cargonameId,jdbcType=CHAR},
+    PRICE_TON_KILOMETER = #{priceTonKilometer,jdbcType=DECIMAL},
+    PRICE_VALUE = #{priceValue,jdbcType=DECIMAL},
+    PRICE_DATE = #{priceDate,jdbcType=TIMESTAMP},
+    INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+    INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+    UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+    UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+    INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+    DELETED = #{deleted,jdbcType=DECIMAL},
+    PLACE_ID = #{placeId,jdbcType=DECIMAL},
+    TYPE = #{type,jdbcType=DECIMAL},
+    DEPARTMENT = #{department,jdbcType=DECIMAL},
+    OILPRICE_BASE = #{oilpriceBase,jdbcType=DECIMAL},
+    OIL_TYPE_ID = #{oilTypeId,jdbcType=DECIMAL},
+    OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold,jdbcType=DECIMAL},
+    OLD_DATE = #{oldDate,jdbcType=TIMESTAMP},
+    HAUL_DISTANCE = #{haulDistance,jdbcType=DECIMAL}
     where PRICE_ID = #{priceId,jdbcType=DECIMAL}
     where PRICE_ID = #{priceId,jdbcType=DECIMAL}
   </update>
   </update>
   <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
   <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
@@ -506,7 +555,7 @@
         CAPACITY_TYPE_ID = #{capacityTypeId,jdbcType=DECIMAL},
         CAPACITY_TYPE_ID = #{capacityTypeId,jdbcType=DECIMAL},
       </if>
       </if>
       <if test="cargonameId != null">
       <if test="cargonameId != null">
-        CARGONAME_ID = #{cargonameId,jdbcType=DECIMAL},
+        CARGONAME_ID = #{cargonameId,jdbcType=CHAR},
       </if>
       </if>
       <if test="priceTonKilometer != null">
       <if test="priceTonKilometer != null">
         PRICE_TON_KILOMETER = #{priceTonKilometer,jdbcType=DECIMAL},
         PRICE_TON_KILOMETER = #{priceTonKilometer,jdbcType=DECIMAL},
@@ -553,10 +602,16 @@
       <if test="oilpriceChangeThreshold != null">
       <if test="oilpriceChangeThreshold != null">
         OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold,jdbcType=DECIMAL},
         OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold,jdbcType=DECIMAL},
       </if>
       </if>
+      <if test="oldDate != null">
+        OLD_DATE = #{oldDate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="haulDistance != null">
+        HAUL_DISTANCE = #{haulDistance,jdbcType=DECIMAL},
+      </if>
     </set>
     </set>
     where PRICE_ID = #{priceId,jdbcType=DECIMAL}
     where PRICE_ID = #{priceId,jdbcType=DECIMAL}
   </update>
   </update>
-  <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
+  <select id="selectByPrimaryKey" parameterType="java.lang.Short" resultMap="BaseResultMap">
     <include refid="select" />
     <include refid="select" />
     where PRICE_ID = #{priceId,jdbcType=DECIMAL}
     where PRICE_ID = #{priceId,jdbcType=DECIMAL}
   </select>
   </select>
@@ -578,18 +633,20 @@
     UPDATE_TIME, INSERT_UPDATE_REMARK,
     UPDATE_TIME, INSERT_UPDATE_REMARK,
     DELETED, PLACE_ID, TYPE,
     DELETED, PLACE_ID, TYPE,
     DEPARTMENT, OILPRICE_BASE, OIL_TYPE_ID,
     DEPARTMENT, OILPRICE_BASE, OIL_TYPE_ID,
-    OILPRICE_CHANGE_THRESHOLD)
+    OILPRICE_CHANGE_THRESHOLD, OLD_DATE,
+    HAUL_DISTANCE)
     ( <foreach collection="list" item="item" separator="union all">
     ( <foreach collection="list" item="item" separator="union all">
     select
     select
     #{item.priceId,jdbcType=DECIMAL},
     #{item.priceId,jdbcType=DECIMAL},
     #{item.shipperId,jdbcType=DECIMAL}, #{item.carrierId,jdbcType=DECIMAL}, #{item.lineId,jdbcType=DECIMAL},
     #{item.shipperId,jdbcType=DECIMAL}, #{item.carrierId,jdbcType=DECIMAL}, #{item.lineId,jdbcType=DECIMAL},
-    #{item.capacityTypeId,jdbcType=DECIMAL}, #{item.cargonameId,jdbcType=DECIMAL}, #{item.priceTonKilometer,jdbcType=DECIMAL},
+    #{item.capacityTypeId,jdbcType=DECIMAL}, #{item.cargonameId,jdbcType=CHAR}, #{item.priceTonKilometer,jdbcType=DECIMAL},
     #{item.priceValue,jdbcType=DECIMAL}, #{item.priceDate,jdbcType=TIMESTAMP}, #{item.insertUsername,jdbcType=VARCHAR},
     #{item.priceValue,jdbcType=DECIMAL}, #{item.priceDate,jdbcType=TIMESTAMP}, #{item.insertUsername,jdbcType=VARCHAR},
     #{item.insertTime,jdbcType=TIMESTAMP}, #{item.updateUsername,jdbcType=VARCHAR},
     #{item.insertTime,jdbcType=TIMESTAMP}, #{item.updateUsername,jdbcType=VARCHAR},
     #{item.updateTime,jdbcType=TIMESTAMP}, #{item.insertUpdateRemark,jdbcType=VARCHAR},
     #{item.updateTime,jdbcType=TIMESTAMP}, #{item.insertUpdateRemark,jdbcType=VARCHAR},
     #{item.deleted,jdbcType=DECIMAL}, #{item.placeId,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.department,jdbcType=DECIMAL}, #{item.oilpriceBase,jdbcType=DECIMAL}, #{item.oilTypeId,jdbcType=DECIMAL},
-    #{item.oilpriceChangeThreshold,jdbcType=DECIMAL} from dual
+    #{item.oilpriceChangeThreshold,jdbcType=DECIMAL}, #{item.oldDate,jdbcType=TIMESTAMP},
+    #{item.haulDistance,jdbcType=DECIMAL} from dual
   </foreach> )
   </foreach> )
   </insert>
   </insert>
   <update id="batchUpdate" parameterType="java.util.List">
   <update id="batchUpdate" parameterType="java.util.List">
@@ -617,7 +674,7 @@
     </foreach>
     </foreach>
     ,CARGONAME_ID=
     ,CARGONAME_ID=
     <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
     <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
-      when #{item.priceId,jdbcType=DECIMAL} then #{item.cargonameId,jdbcType=DECIMAL}
+      when #{item.priceId,jdbcType=DECIMAL} then #{item.cargonameId,jdbcType=CHAR}
     </foreach>
     </foreach>
     ,PRICE_TON_KILOMETER=
     ,PRICE_TON_KILOMETER=
     <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
     <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
@@ -679,6 +736,14 @@
     <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
     <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
       when #{item.priceId,jdbcType=DECIMAL} then #{item.oilpriceChangeThreshold,jdbcType=DECIMAL}
       when #{item.priceId,jdbcType=DECIMAL} then #{item.oilpriceChangeThreshold,jdbcType=DECIMAL}
     </foreach>
     </foreach>
+    ,OLD_DATE=
+    <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
+      when #{item.priceId,jdbcType=DECIMAL} then #{item.oldDate,jdbcType=TIMESTAMP}
+    </foreach>
+    ,HAUL_DISTANCE=
+    <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
+      when #{item.priceId,jdbcType=DECIMAL} then #{item.haulDistance,jdbcType=DECIMAL}
+    </foreach>
     where PRICE_ID in
     where PRICE_ID in
     <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
     <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
       #{item.priceId,jdbcType=DECIMAL}
       #{item.priceId,jdbcType=DECIMAL}
@@ -910,9 +975,13 @@
            a_t_price.OILPRICE_BASE "oilpriceBase",
            a_t_price.OILPRICE_BASE "oilpriceBase",
            a_t_price.OILPRICE_CHANGE_THRESHOLD "oilpriceChangeThreshold",
            a_t_price.OILPRICE_CHANGE_THRESHOLD "oilpriceChangeThreshold",
            a_t_price.CARGONAME_ID "cargonameId",
            a_t_price.CARGONAME_ID "cargonameId",
-           a_t_price.haul_distance "haulDistance"
+           a_t_price.haul_distance "haulDistance",
+           a_t_price.REFERENCE_HT "referenceHt",
+           a_t_price.inventory "inventory",
+           a_t_price.place_id "placeId"
     from AMS_CONTRACT_TRANSPORT_PRICE a_t_price
     from AMS_CONTRACT_TRANSPORT_PRICE a_t_price
     where a_t_price.OIL_TYPE_ID = #{oilTypeId} and a_t_price.DELETED = 0
     where a_t_price.OIL_TYPE_ID = #{oilTypeId} and a_t_price.DELETED = 0
+    order by reference_ht desc
   </select>
   </select>
 
 
   <select id="getPriceValueAndPriceTonKilometer" resultType="java.util.LinkedHashMap">
   <select id="getPriceValueAndPriceTonKilometer" resultType="java.util.LinkedHashMap">
@@ -1101,4 +1170,86 @@
   <update id="updateDCnew">
   <update id="updateDCnew">
    update AMS_CONTRACT_TRANSPORT_PRICE set deleted =0 where capacity_type_id in (20,21,22,23,24,25,26,27,28,41,42,40) and price_date  = to_date('2022-09-26', 'yyyy-mm-dd');
    update AMS_CONTRACT_TRANSPORT_PRICE set deleted =0 where capacity_type_id in (20,21,22,23,24,25,26,27,28,41,42,40) and price_date  = to_date('2022-09-26', 'yyyy-mm-dd');
   </update>
   </update>
+
+  <select id="selectByPlaceId" resultType="java.util.Map">
+       select price_id "priceId",
+        haul_distance "haulDistance",
+        reference_ht "referenceHt",
+        price_value "priceValue"
+        from  AMS_CONTRACT_TRANSPORT_PRICE
+       where place_id in (select place_id from RMS_RECEIVE_PLACE t where address_id =
+       (select address_id from RMS_RECEIVE_PLACE t where place_id=#{placeId} )) and reference_ht is not null
+  </select>
+
+  <update id="updateByPriceId" parameterType="map">
+    update AMS_CONTRACT_TRANSPORT_PRICE set price_value=#{priceValue} where price_id=#{priceId}
+  </update>
+
+  <update id="updateDelectByPlaceId" parameterType="map">
+    update AMS_CONTRACT_TRANSPORT_PRICE set deleted =1 where place_id =#{placeId}
+  </update>
+
+  <select id="selectshdz" resultType="java.lang.String">
+    select t.address_id "addressId" from RMS_RECEIVE_ADDRESS t where address_province =#{addressProvince} and address_district =#{addressDistrict}
+    <if test="addressTown!=null">
+      and address_town =#{addressTown}
+    </if>
+    <if test="addressTown==null">
+      and address_town is null
+    </if>
+  </select>
+
+  <select id="selectxxdz" resultType="java.util.Map">
+    select t.place_id "placeId" from RMS_RECEIVE_PLACE t
+    where
+    <if test="addressDeliveryAddress!=null">
+      t.address_delivery_address =#{addressDeliveryAddress}
+    </if>
+    <if test="addressDeliveryAddress!=null and addressId!=null">
+       and
+    </if>
+    <if test="addressId!=null ">
+      t.address_id  in
+      <foreach collection="addressId" item="item" open="(" separator="," close=")">
+        #{item}
+      </foreach>
+    </if>
+    fetch next 1 rows only
+  </select>
+
+  <insert id="insertxxdz" parameterType="map">
+    insert into RMS_RECEIVE_PLACE (PLACE_ID, ADDRESS_ID
+    <if test="addressDeliveryAddress!=null">
+      , ADDRESS_DELIVERY_ADDRESS
+    </if>)
+    values (#{placeId},#{addressId}
+    <if test="addressDeliveryAddress!=null">
+      ,#{addressDeliveryAddress}
+    </if>)
+  </insert>
+
+  <select id="selectcys" resultType="map">
+    select t.carrier_id "carrierId" from RMS_CARRIER t where carrier_abbreviation like #{carrierAbbreviation}
+  </select>
+
+  <select id="selectMaxIdrrp" resultType="int">
+    select max(PLACE_ID) from RMS_RECEIVE_PLACE
+  </select>
+
+  <select id="selectMaxIdrra" resultType="int">
+       select max(address_id) from RMS_RECEIVE_ADDRESS
+  </select>
+
+  <insert id="insertshdz" parameterType="map">
+    insert into RMS_RECEIVE_ADDRESS (ADDRESS_ID, ADDRESS_PROVINCE, ADDRESS_DISTRICT
+    <if test="addressTown!=null">
+      ,ADDRESS_TOWN
+    </if>
+    )
+    values (#{addressId},#{addressProvince} , #{addressDistrict}
+    <if test="addressTown!=null">
+      , #{addressTown}
+    </if>
+    );
+  </insert>
 </mapper>
 </mapper>

+ 7 - 3
src/main/resources/com/steerinfo/dil/mapper/AmstruckInwardRequirementMapper.xml

@@ -818,7 +818,8 @@
         AIR.INSERT_UPDATE_REMARK "Tel",
         AIR.INSERT_UPDATE_REMARK "Tel",
         RMT.MATERIAL_TYPE_NAME "materialTypeName",
         RMT.MATERIAL_TYPE_NAME "materialTypeName",
         RS.SHIPPER_NAME || RM.MATERIAL_NAME || rw2.warehouse_name || rw1.warehouse_name || RMT.MATERIAL_TYPE_NAME "likeIndex",
         RS.SHIPPER_NAME || RM.MATERIAL_NAME || rw2.warehouse_name || rw1.warehouse_name || RMT.MATERIAL_TYPE_NAME "likeIndex",
-        r_c_type.capacity_type_name "capacityTypeName"
+        r_c_type.capacity_type_name "capacityTypeName",
+        actp.price_value "priceValue"
         FROM
         FROM
         AMSTRUCK_INWARD_REQUIREMENT AIR
         AMSTRUCK_INWARD_REQUIREMENT AIR
         LEFT JOIN RMS_SHIPPER RS ON RS.SHIPPER_ID = AIR.REQUIREMENT_SHIPPER_ID
         LEFT JOIN RMS_SHIPPER RS ON RS.SHIPPER_ID = AIR.REQUIREMENT_SHIPPER_ID
@@ -830,6 +831,7 @@
         LEFT JOIN RMS_TRANS_RANGE RTR ON RTR.TRANS_RANGE_ID = AIR.LINE_ID
         LEFT JOIN RMS_TRANS_RANGE RTR ON RTR.TRANS_RANGE_ID = AIR.LINE_ID
         LEFT JOIN RMS_MATERIAL_TYPE RMT ON RMT.MATERIAL_TYPE_ID = RM.MATERIAL_TYPE_ID
         LEFT JOIN RMS_MATERIAL_TYPE RMT ON RMT.MATERIAL_TYPE_ID = RM.MATERIAL_TYPE_ID
         LEFT JOIN RMS_CAPACITY_TYPE r_c_type ON air.capacity_type_id = r_c_type.CAPACITY_TYPE_ID
         LEFT JOIN RMS_CAPACITY_TYPE r_c_type ON air.capacity_type_id = r_c_type.CAPACITY_TYPE_ID
+        left join ams_contract_transport_price actp on actp.capacity_type_id =r_c_type.capacity_type_id
         WHERE
         WHERE
         AIR.DELETED = 0
         AIR.DELETED = 0
         AND AIR.PURCHASE_ORDER_ID IS NULL
         AND AIR.PURCHASE_ORDER_ID IS NULL
@@ -852,7 +854,7 @@
         )
         )
         <where>
         <where>
             <if test="index != null">
             <if test="index != null">
-                and "likeIndex" like #{index}
+                and "likeIndex" like #{index} or "rangeValue" like #{index}
             </if>
             </if>
             <if test="requirementType != null">
             <if test="requirementType != null">
                 and
                 and
@@ -985,7 +987,8 @@
         arm.material_count "materialCount",
         arm.material_count "materialCount",
         arm.MATERIAL_ID "materialId",
         arm.MATERIAL_ID "materialId",
         rm.material_name || rm.material_specification || '(' || rm.material_model || ')' "materialName",
         rm.material_name || rm.material_specification || '(' || rm.material_model || ')' "materialName",
-        AIR.INSERT_UPDATE_REMARK "Tel"
+        AIR.INSERT_UPDATE_REMARK "Tel",
+        actp.price_value "priceValue"
         FROM
         FROM
         ( SELECT AIR2.REQUIREMENT_ID,AIR2.capacity_type_id FROM AMSTRUCK_INWARD_REQUIREMENT AIR2 LEFT JOIN AMSTRUCK_REQUIREMENT_PLAN ARP ON AIR2.REQUIREMENT_ID = ARP.REQUIREMENT_ID WHERE ARP.PLAN_ID IS NULL ) AIRP
         ( SELECT AIR2.REQUIREMENT_ID,AIR2.capacity_type_id FROM AMSTRUCK_INWARD_REQUIREMENT AIR2 LEFT JOIN AMSTRUCK_REQUIREMENT_PLAN ARP ON AIR2.REQUIREMENT_ID = ARP.REQUIREMENT_ID WHERE ARP.PLAN_ID IS NULL ) AIRP
         LEFT JOIN AMSTRUCK_INWARD_REQUIREMENT AIR ON AIR.REQUIREMENT_ID = AIRP.REQUIREMENT_ID
         LEFT JOIN AMSTRUCK_INWARD_REQUIREMENT AIR ON AIR.REQUIREMENT_ID = AIRP.REQUIREMENT_ID
@@ -997,6 +1000,7 @@
         LEFT JOIN amstruck_inward_requirement air ON air.requirement_id = arm.requirement_id
         LEFT JOIN amstruck_inward_requirement air ON air.requirement_id = arm.requirement_id
         LEFT JOIN RMS_TRANS_RANGE RTR ON RTR.TRANS_RANGE_ID = AIR.LINE_ID
         LEFT JOIN RMS_TRANS_RANGE RTR ON RTR.TRANS_RANGE_ID = AIR.LINE_ID
         LEFT JOIN RMS_CAPACITY_TYPE r_c_type ON AIRP.capacity_type_id = r_c_type.CAPACITY_TYPE_ID
         LEFT JOIN RMS_CAPACITY_TYPE r_c_type ON AIRP.capacity_type_id = r_c_type.CAPACITY_TYPE_ID
+        left join ams_contract_transport_price actp on actp.capacity_type_id =r_c_type.capacity_type_id
         WHERE
         WHERE
         AIR.REQUIREMENT_STATUS = #{ requirementStatus }
         AIR.REQUIREMENT_STATUS = #{ requirementStatus }
         AND AIR.DELETED = 0
         AND AIR.DELETED = 0