zouzhd 3 年 前
コミット
2376d460ee
21 ファイル変更686 行追加208 行削除
  1. 26 0
      src/main/java/com/steerinfo/dil/controller/AmsContractTruckPriceController.java
  2. 7 6
      src/main/java/com/steerinfo/dil/controller/AmsPurchaseOrderController.java
  3. 3 30
      src/main/java/com/steerinfo/dil/controller/AmstruckSporadicOrderController.java
  4. 6 2
      src/main/java/com/steerinfo/dil/mapper/AmsContractTruckPriceMapper.java
  5. 2 0
      src/main/java/com/steerinfo/dil/mapper/OmstruckOrderMapper.java
  6. 45 0
      src/main/java/com/steerinfo/dil/model/AmsContractTransportPrice.java
  7. 16 1
      src/main/java/com/steerinfo/dil/model/AmstruckSporadicOrder.java
  8. 4 1
      src/main/java/com/steerinfo/dil/service/IAmsContractTruckPriceService.java
  9. 7 0
      src/main/java/com/steerinfo/dil/service/IAmstruckSporadicOrderService.java
  10. 8 4
      src/main/java/com/steerinfo/dil/service/impl/AmsContractTransportPriceServiceImpl.java
  11. 134 83
      src/main/java/com/steerinfo/dil/service/impl/AmsContractTruckPriceServiceImpl.java
  12. 61 5
      src/main/java/com/steerinfo/dil/service/impl/AmstruckSporadicOrderServiceImpl.java
  13. 95 20
      src/main/java/com/steerinfo/dil/util/DataChange.java
  14. 1 1
      src/main/resources/bootstrap.yml
  15. 84 8
      src/main/resources/com/steerinfo/dil/mapper/AmsContractTransportPriceMapper.xml
  16. 110 12
      src/main/resources/com/steerinfo/dil/mapper/AmsContractTruckPriceMapper.xml
  17. 12 3
      src/main/resources/com/steerinfo/dil/mapper/AmsPurchaseOrderMapper.xml
  18. 1 0
      src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml
  19. 2 2
      src/main/resources/com/steerinfo/dil/mapper/AmstruckSporadicMaterialMapper.xml
  20. 57 29
      src/main/resources/com/steerinfo/dil/mapper/AmstruckSporadicOrderMapper.xml
  21. 5 1
      src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

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

@@ -209,4 +209,30 @@ public class AmsContractTruckPriceController extends BaseRESTfulController {
 
     }
 
+    /**
+     * 获取货物类型
+     * @param
+     * @return
+     */
+    @ApiOperation(value="获取货物类型")
+    @ApiImplicitParams({
+    })
+    @GetMapping(value = "/getCargoName")
+    public RESTfulResult getCargoName(){
+        return success(amsContractTruckPriceService.getCargoName());
+    }
+
+    /**
+     * 获取油品名称
+     * @param
+     * @return
+     */
+    @ApiOperation(value="获取油品名称")
+    @ApiImplicitParams({
+    })
+    @GetMapping(value = "/getOilTypeName")
+    public RESTfulResult getOilTypeName(){
+        return success(amsContractTruckPriceService.getOilTypeName());
+    }
+
 }

+ 7 - 6
src/main/java/com/steerinfo/dil/controller/AmsPurchaseOrderController.java

@@ -44,17 +44,18 @@ public class AmsPurchaseOrderController extends BaseRESTfulController {
                                               Integer pageNum,
                                               Integer pageSize,
                                               Integer apiId,
-                                              String con) {
-        if (con != null && (con.equals("null") || con.equals("undefined"))) {
-            con = null;
-        }
-        if (con != null) {
+                                              String con,
+                                              String sendCompId) {
+        if (con != null && !(con.equals("null") || con.equals("undefined"))) {
             mapValue.put("con", con);
         }
+        if(sendCompId != null && !"null".equals(sendCompId)){
+            mapValue.put("sendCompId", sendCompId);
+        }
         PageHelper.startPage(pageNum, pageSize);
         //分页查询数据
         List<Map<String, Object>> columnList = amsPurchaseOrderService.getPurchaseOrderList(mapValue);
-        PageListAdd data = columnDataUtil.tableColumnData(apiId, null, columnList);
+            PageListAdd data = columnDataUtil.tableColumnData(apiId, null, columnList);
         return success(data);
     }
 

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

@@ -88,57 +88,30 @@ public class AmstruckSporadicOrderController extends BaseRESTfulController {
                                                String userId,
                                                String userIds) {
 
-        if (con != null && !con.equals("undefined")) {
-            String index="get_sporadic_order_list";//设置要查询的索引名称
-            return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));//获取查询结果
-        }
-        int count=0;
+
         if (orderType!=null){
             mapValue.put("orderType",orderType);
-            count++;
         }
         if (issueStatus!=null){
             mapValue.put("issueStatus",issueStatus);
-            count++;
         }
         if (dispatchStatus!=null){
             mapValue.put("dispatchStatus",dispatchStatus);
-            count++;
         }
         if (sporadicStatus!=null){
             mapValue.put("sporadicStatus",sporadicStatus);
-            count++;
         }
         if (carrierSsoId!=null){
             mapValue.put("carrierSsoId",carrierSsoId);
-            count++;
         }
         if (userId!=null){
             mapValue.put("userId",userId);
-            count++;
         }
         if (userIds!=null){
             mapValue.put("userIds",userIds);
-            count++;
         }
         List<Map<String, Object>> sporadicOrderList = null;
-        if (mapValue.size() == count) {
-            //将查询结果存入索引中
-            sporadicOrderList =  amstruckSporadicOrderService.getSporadicOrdersList(mapValue);
-            Map<String, Object> map1 = new HashMap<>();
-            //添加索引
-            map1.put("index","get_sporadic_order_list");
-            //添加id
-            map1.put("indexId","sporadicOrderId");
-            sporadicOrderList.add(map1);
-            //新建索引
-            esFeign.insertIndex(sporadicOrderList);
-            //删除
-            sporadicOrderList.remove(sporadicOrderList.size()-1);
-        }
-        if (sporadicOrderList == null) {
-            sporadicOrderList = amstruckSporadicOrderService.getSporadicOrdersList(mapValue);
-        }
+        sporadicOrderList = amstruckSporadicOrderService.getSporadicOrdersList(mapValue);
         PageHelper.startPage(pageNum,pageSize);
         List<Map<String, Object>> columnList = amstruckSporadicOrderService.getSporadicOrdersList(mapValue);
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId, sporadicOrderList,columnList);
@@ -227,7 +200,7 @@ public class AmstruckSporadicOrderController extends BaseRESTfulController {
     @ApiOperation(value = "停止零星订单一车多趟")
     @PostMapping("/closeSporadicOrder")
     public RESTfulResult closeSporadicOrder(@RequestBody Map<String,Object> map) {
-        int i=amstruckSporadicOrderService.closeSporadicOrder(map);
+        int i=amstruckSporadicOrderService.closeSporadic(map);
         return success(i);
     }
 

+ 6 - 2
src/main/java/com/steerinfo/dil/mapper/AmsContractTruckPriceMapper.java

@@ -32,8 +32,8 @@ public interface AmsContractTruckPriceMapper extends IBaseMapper<AmsContractTran
     int batchUpdateTransportPriceByOilPrice(Double updateOilPrice);
     //通过主键查询参考运距
     BigDecimal getLinePathLength(BigDecimal lineId);
-    //获取运价数值列表
-    List<Map<String, Object>> getPriceValueList();
+    //获取符合条件运价数值列表
+    List<Map<String, Object>> getPriceValueList(BigDecimal oilTypeId);
     //获取运价和吨公里数值列表
     List<Map<String, Object>> getPriceValueAndPriceTonKilometer();
     //通过主键修改吨公里数
@@ -42,4 +42,8 @@ public interface AmsContractTruckPriceMapper extends IBaseMapper<AmsContractTran
     String getTruckFormula(BigDecimal formulaId);
     //查询货物名称
     String getCargonameValue(BigDecimal cargonameId);
+    //获取货物类型
+    List<Map<String, Object>> getCargoName();
+    //获取油品名称
+    List<Map<String, Object>> getOilTypeName();
 }

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

@@ -21,4 +21,6 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
     //通过运输订单ID查询数据 用于websocket推送数据
     Map<String, Object> pushMesToWebsocket(Map<String, Object> map);
 
+    int selectOrderTypeByOrderId(BigDecimal orderId);
+
 }

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

@@ -117,6 +117,24 @@ public class AmsContractTransportPrice implements IBasePO<BigDecimal> {
     @ApiModelProperty(value="所属部门: 1:为物流运输部 2:为化产焦炭部",required=false)
     private BigDecimal department;
 
+    /**
+     * 油价基准(OILPRICE_BASE,DECIMAL,0)
+     */
+    @ApiModelProperty(value="油价基准",required=false)
+    private BigDecimal oilpriceBase;
+
+    /**
+     * 油品名称ID(OIL_TYPE_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="油品名称ID",required=false)
+    private BigDecimal oilTypeId;
+
+    /**
+     * 油价变化率阈值(OILPRICE_CHANGE_THRESHOLD,DECIMAL,0)
+     */
+    @ApiModelProperty(value="油价变化率阈值",required=false)
+    private BigDecimal oilpriceChangeThreshold;
+
     private static final long serialVersionUID = 1L;
 
     @Override
@@ -273,6 +291,30 @@ public class AmsContractTransportPrice implements IBasePO<BigDecimal> {
         this.department = department;
     }
 
+    public BigDecimal getOilpriceBase() {
+        return oilpriceBase;
+    }
+
+    public void setOilpriceBase(BigDecimal oilpriceBase) {
+        this.oilpriceBase = oilpriceBase;
+    }
+
+    public BigDecimal getOilTypeId() {
+        return oilTypeId;
+    }
+
+    public void setOilTypeId(BigDecimal oilTypeId) {
+        this.oilTypeId = oilTypeId;
+    }
+
+    public BigDecimal getOilpriceChangeThreshold() {
+        return oilpriceChangeThreshold;
+    }
+
+    public void setOilpriceChangeThreshold(BigDecimal oilpriceChangeThreshold) {
+        this.oilpriceChangeThreshold = oilpriceChangeThreshold;
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -297,6 +339,9 @@ public class AmsContractTransportPrice implements IBasePO<BigDecimal> {
         sb.append(", addressId=").append(addressId);
         sb.append(", type=").append(type);
         sb.append(", department=").append(department);
+        sb.append(", oilpriceBase=").append(oilpriceBase);
+        sb.append(", oilTypeId=").append(oilTypeId);
+        sb.append(", oilpriceChangeThreshold=").append(oilpriceChangeThreshold);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

+ 16 - 1
src/main/java/com/steerinfo/dil/model/AmstruckSporadicOrder.java

@@ -33,7 +33,7 @@ public class AmstruckSporadicOrder implements IBasePO<BigDecimal> {
     private BigDecimal carrierId;
 
     /**
-     * 记录创建人(INSERT_USERNAME,VARCHAR,20)
+     * 记录创建人(INSERT_USERNAME,VARCHAR,200)
      */
     @ApiModelProperty(value="记录创建人",required=false)
     private String insertUsername;
@@ -98,6 +98,12 @@ public class AmstruckSporadicOrder implements IBasePO<BigDecimal> {
     @ApiModelProperty(value="已运输趟次",required=false)
     private BigDecimal sporadicTransTimes;
 
+    /**
+     * 运输状态(TRANS_STATUS,DECIMAL,0)
+     */
+    @ApiModelProperty(value="运输状态",required=false)
+    private BigDecimal transStatus;
+
     private static final long serialVersionUID = 1L;
 
     @Override
@@ -230,6 +236,14 @@ public class AmstruckSporadicOrder implements IBasePO<BigDecimal> {
         this.sporadicTransTimes = sporadicTransTimes;
     }
 
+    public BigDecimal getTransStatus() {
+        return transStatus;
+    }
+
+    public void setTransStatus(BigDecimal transStatus) {
+        this.transStatus = transStatus;
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -251,6 +265,7 @@ public class AmstruckSporadicOrder implements IBasePO<BigDecimal> {
         sb.append(", sporadicOrderTimes=").append(sporadicOrderTimes);
         sb.append(", dispatchStatus=").append(dispatchStatus);
         sb.append(", sporadicTransTimes=").append(sporadicTransTimes);
+        sb.append(", transStatus=").append(transStatus);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

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

@@ -42,5 +42,8 @@ public interface IAmsContractTruckPriceService {
     List<Map<String, Object>> getOriginAndNowOilPrice();
     //油价联动导致运价变动,批量修改运价,同时修改吨公里的数值
     int batchUpdateTransportPriceByOilPrice(Map<String,Object> map);
-
+    //获取货物类型
+    List<Map<String,Object>> getCargoName();
+    //获取油品名称
+    List<Map<String,Object>> getOilTypeName();
 }

+ 7 - 0
src/main/java/com/steerinfo/dil/service/IAmstruckSporadicOrderService.java

@@ -50,6 +50,13 @@ public interface IAmstruckSporadicOrderService {
 
     //一车多趟运输顶单排车
     int addSporadicOrderforTimes(Map<String,Object> map);
+
+    //普通零星停止
+    int closeSporadicOrderInward(Map<String,Object> map);
+
     //一车多趟停止
     int closeSporadicOrder(Map<String,Object> map);
+
+    //停止
+    int closeSporadic(Map<String,Object> map);
 }

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

@@ -1,6 +1,7 @@
 package com.steerinfo.dil.service.impl;
 
 import com.steerinfo.dil.mapper.AmsContractTransportPriceMapper;
+import com.steerinfo.dil.mapper.AmsContractTruckPriceMapper;
 import com.steerinfo.dil.model.AmsContractTransportPrice;
 import com.steerinfo.dil.service.IAmsContractTransportPriceService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -22,6 +23,9 @@ public class AmsContractTransportPriceServiceImpl implements IAmsContractTranspo
 
     @Autowired
     AmsContractTransportPriceMapper amsContractTransportPriceMapper;
+
+    @Autowired
+    AmsContractTruckPriceMapper amsContractTruckPriceMapper;
     /**
      * 得到最大id
      * @return
@@ -62,23 +66,23 @@ public class AmsContractTransportPriceServiceImpl implements IAmsContractTranspo
     }
 
     /**
-     * 新增运单价
+     * 新增运单价
      * @param amsContractTransportPrice
      * @return
      */
     @Override
     public int insertTruck(AmsContractTransportPrice amsContractTransportPrice) {
-        BigDecimal priceId = selectMaxId();
+        BigDecimal priceId = amsContractTruckPriceMapper.selectMaxId();;
         amsContractTransportPrice.setPriceId(priceId);
         // 设置常规字段
         amsContractTransportPrice.setInsertUsername("admin");
         amsContractTransportPrice.setInsertTime(new Date());
-        amsContractTransportPrice.setType(new BigDecimal(4));
+//        amsContractTransportPrice.setType(new BigDecimal(4));
         amsContractTransportPrice.setUpdateTime(new Date());
         amsContractTransportPrice.setUpdateUsername("admin");
         amsContractTransportPrice.setInsertUpdateRemark("无");
         amsContractTransportPrice.setDeleted(new BigDecimal(0));
-        return amsContractTransportPriceMapper.insertSelective(amsContractTransportPrice);
+        return amsContractTransportPriceMapper.insert(amsContractTransportPrice);
     }
 
     /**

+ 134 - 83
src/main/java/com/steerinfo/dil/service/impl/AmsContractTruckPriceServiceImpl.java

@@ -3,8 +3,10 @@ package com.steerinfo.dil.service.impl;
 import com.steerinfo.dil.mapper.AmsContractTruckPriceMapper;
 import com.steerinfo.dil.model.AmsContractTransportPrice;
 import com.steerinfo.dil.service.IAmsContractTruckPriceService;
+import com.steerinfo.dil.util.DataChange;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.util.Date;
@@ -33,23 +35,26 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
     @Autowired
     private AmsContractTruckPriceMapper amsContractTruckPriceMapper;
 
+    /**
+     * 新增汽运单价
+     * @Author zzd
+     * @Date 2022/1/20 11:33
+     * @param amsContractTransportPrice
+     * @return
+     **/
     @Override
     public int addAmsContractTransportPrice(AmsContractTransportPrice amsContractTransportPrice) {
-        long id;
-        if(amsContractTruckPriceMapper.selectMaxId()==null){
-            id = 1;
-        }else {
-            id = amsContractTruckPriceMapper.selectMaxId().longValue()+1;
-        }
         //生成主键id
-        amsContractTransportPrice.setPriceId(new BigDecimal(id));
+        amsContractTransportPrice.setPriceId(amsContractTruckPriceMapper.selectMaxId());
         //获取路线Id和运价
         BigDecimal lineId = amsContractTransportPrice.getLineId();
-        BigDecimal priceValue = amsContractTransportPrice.getPriceValue();
-        //计算并插入吨公里
-        BigDecimal priceTonKilometer = calculationPriceTonKilometer(lineId, priceValue);
+        if(lineId == null){
+            BigDecimal priceValue = amsContractTransportPrice.getPriceValue();
+            //计算并插入吨公里
+            BigDecimal priceTonKilometer = calculationPriceTonKilometer(lineId, priceValue);
+            amsContractTransportPrice.setPriceTonKilometer(priceTonKilometer);
+        }
         amsContractTransportPrice.setType(new BigDecimal(1));
-        amsContractTransportPrice.setPriceTonKilometer(priceTonKilometer);
         amsContractTransportPrice.setInsertUsername("admin");
         amsContractTransportPrice.setInsertTime(new Date());
         amsContractTransportPrice.setUpdateUsername("admin");
@@ -75,9 +80,10 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
 
     @Override
     public int deleteAmsContractTransportPrice(BigDecimal priceId) {
-        AmsContractTransportPrice amsContractTransportPrice = amsContractTruckPriceMapper.selectByPrimaryKey(priceId);
+        AmsContractTransportPrice amsContractTransportPrice = new AmsContractTransportPrice();
+        amsContractTransportPrice.setId(priceId);
         amsContractTransportPrice.setDeleted(new BigDecimal(1));
-        return amsContractTruckPriceMapper.updateByPrimaryKey(amsContractTransportPrice);
+        return amsContractTruckPriceMapper.updateByPrimaryKeySelective(amsContractTransportPrice);
     }
 
     @Override
@@ -107,17 +113,20 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
 
     @Override
     public int updateAmsContractTransportPrice(AmsContractTransportPrice amsContractTransportPrice) {
-        BigDecimal priceId = amsContractTransportPrice.getPriceId();
-        //获取未修改前的汽运单价信息
-        AmsContractTransportPrice amsContractTransportPrice1 = amsContractTruckPriceMapper.selectByPrimaryKey(priceId);
         //获取路线Id和运价
         BigDecimal lineId = amsContractTransportPrice.getLineId();
         BigDecimal priceValue = amsContractTransportPrice.getPriceValue();
-        //若运价修改了
-        if(amsContractTransportPrice.getPriceValue()!=amsContractTransportPrice1.getPriceValue()){
-            //计算并插入吨公里
-            BigDecimal priceTonKilometer = calculationPriceTonKilometer(lineId, priceValue);
-            amsContractTransportPrice.setPriceTonKilometer(priceTonKilometer);
+        //如果传入路线则修改运价
+        if(lineId != null){
+            BigDecimal priceId = amsContractTransportPrice.getPriceId();
+            //获取未修改前的汽运单价信息
+            AmsContractTransportPrice amsContractTransportPrice1 = amsContractTruckPriceMapper.selectByPrimaryKey(priceId);
+            //若运价修改了
+            if(!amsContractTransportPrice.getPriceValue().equals(amsContractTransportPrice1.getPriceValue())){
+                //计算并插入吨公里
+                BigDecimal priceTonKilometer = calculationPriceTonKilometer(lineId, priceValue);
+                amsContractTransportPrice.setPriceTonKilometer(priceTonKilometer);
+            }
         }
         amsContractTransportPrice.setUpdateTime(new Date());
         return amsContractTruckPriceMapper.updateByPrimaryKeySelective(amsContractTransportPrice);
@@ -128,75 +137,45 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
         return amsContractTruckPriceMapper.getOriginAndNowOilPrice();
     }
 
+    @Override
+    public List<Map<String, Object>> getCargoName() {
+        return amsContractTruckPriceMapper.getCargoName();
+    }
+
+    @Override
+    public List<Map<String, Object>> getOilTypeName() {
+        return amsContractTruckPriceMapper.getOilTypeName();
+    }
+
     /**
-     * 批量修改油价
+     * 批量修改运输单
      * @return
      */
     @Override
+    @Transactional
     public int batchUpdateTransportPriceByOilPrice(Map<String,Object> map) {
-        //现执行价
-        BigDecimal nowPriceValue;
-        //油价变化率
-        String n = map.get("n").toString();
-        //承运商Id
-        BigDecimal carrierId = (BigDecimal) map.get("carrierId");
-        //批量修改焦炭运价
-        List<Map<String, Object>> PriceValueList = amsContractTruckPriceMapper.getPriceValueList();
-        //存储原运输单价实绩
-        AmsContractTransportPrice oldAmsContractTransportPrice = new AmsContractTransportPrice();
-        //存储新运输单价实绩
-        AmsContractTransportPrice amsContractTransportPrice;
-        //存储主键最大值
-        BigDecimal i;
-        //存储货物名称
-        String cargonameValue = "";
+        //运输单价变化的条数
+        int i = 0;
+        //获取油品名称ID
+        BigDecimal oilTypeId = DataChange.dataToBigDecimal(map.get("oilTypeId"));
+        //获取预执行油价
+        BigDecimal newOilPrice = DataChange.dataToBigDecimal(map.get("newOilPrice"));
+        //根据油品名称ID和非历史油价筛选出符合条件的运价合集
+        List<Map<String, Object>> PriceValueList = amsContractTruckPriceMapper.getPriceValueList(oilTypeId);
         for (Map<String, Object> stringObjectMap : PriceValueList) {
-            //查询货物名称
-            cargonameValue = amsContractTruckPriceMapper.getCargonameValue(new BigDecimal(stringObjectMap.get("cargonameId").toString()));
-            //获取原主键Id
-            BigDecimal priceId = (BigDecimal) stringObjectMap.get("priceId");
-            //获取承运商Id
-            BigDecimal carrierId1 = (BigDecimal) stringObjectMap.get("carrierId");
-            //修改原单价为历史数据
-            oldAmsContractTransportPrice.setPriceId(priceId);
-            oldAmsContractTransportPrice.setDeleted(new BigDecimal(1));
-            amsContractTruckPriceMapper.updateByPrimaryKeySelective(oldAmsContractTransportPrice);
-            //获取原单价的所有数据
-            amsContractTransportPrice = amsContractTruckPriceMapper.selectByPrimaryKey(priceId);
-            i = amsContractTruckPriceMapper.selectMaxId();
-            //主键
-            amsContractTransportPrice.setPriceId(i);
-            //执行日期
-            amsContractTransportPrice.setPriceDate(new Date());
-            //修改现单价为执行数据
-            amsContractTransportPrice.setDeleted(new BigDecimal(0));
-            //若货物名称为焦炭
-            if(cargonameValue.equals("焦炭")&&carrierId.intValue()==carrierId1.intValue()){
-                //现执行价=((63.00+63.00*0.13*n)+(66.50+66.50*0.3*n)+40.00)
-                //调用焦炭运价计算公式计算现执行价
-                try {
-                    nowPriceValue = UpdateCokePriceValueByOilPrice(n);
-                    //调整焦炭运价
-                    amsContractTransportPrice.setPriceValue(nowPriceValue);
-                    amsContractTruckPriceMapper.insert(amsContractTransportPrice);
-                } catch (Exception e) {
-                    e.printStackTrace();
-                }
-            }
-            if(cargonameValue.equals("纯苯")&&carrierId.intValue()==carrierId1.intValue()){
-                //现执行价=(中标价*0.7)+(中标价*0.3)*(1+n)
-                //调用纯苯运价计算公式计算现执行价
-                try {
-                    nowPriceValue = UpdatePureBenzenePriceValueByOilPrice(n,amsContractTransportPrice.getPriceValue());
-                    amsContractTransportPrice.setPriceValue(nowPriceValue);
-                    amsContractTruckPriceMapper.insert(amsContractTransportPrice);
-                } catch (Exception e) {
-                    e.printStackTrace();
-                }
+            //获取该条单价的原油价基准
+            BigDecimal oilpriceBase = DataChange.dataToBigDecimal(stringObjectMap.get("oilpriceBase"));
+            //获取该条单价的油价变化率阈值
+            BigDecimal oilpriceChangeThreshold = DataChange.dataToBigDecimal(stringObjectMap.get("oilpriceChangeThreshold"));
+            //计算油价变化率,公式:n=(当前油价-基数)÷基数×100%
+            BigDecimal n = (newOilPrice.subtract(oilpriceBase)).divide(oilpriceBase,4,4);
+            //若油价变化率超过该条单价的油价变化率阈值,修改原单价为历史数据,新增一条单价
+            if(n.abs().doubleValue()>oilpriceChangeThreshold.doubleValue()){
+                i+=addANewAmsContractTransportPrice(stringObjectMap,n,newOilPrice);
             }
         }
-
-//        if(updateOilPrice>0.05||updateOilPrice<-0.05) {
+        return i;
+        //        if(updateOilPrice>0.05||updateOilPrice<-0.05) {
 //            //逐条修改吨公里数
 //            for (Map<String, Object> stringObjectMap : priceValueAndPriceTonKilometer) {
 //                //主键Id
@@ -220,7 +199,79 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
 //                return amsContractTruckPriceMapper.batchUpdateTransportPriceByOilPrice(updateOilPrice);
 //            }
 //        }
-        return 1;
+    }
+
+    /**
+     * 油价变化率超过该条单价的油价变化率阈值,修改原单价为历史数据,新增一条执行单价
+     * @param stringObjectMap
+     * @param n
+     * @param newOilPrice
+     * @return
+     * @throws Exception
+     */
+    @Transactional
+    public int addANewAmsContractTransportPrice(Map<String, Object> stringObjectMap,BigDecimal n,BigDecimal newOilPrice){
+        //定义将要改变的执行价
+        BigDecimal nowPriceValue;
+        //存储原运输单价实绩对象
+        AmsContractTransportPrice oldAmsContractTransportPrice = new AmsContractTransportPrice();
+        //查询货物名称
+        String cargonameValue = amsContractTruckPriceMapper.getCargonameValue(new BigDecimal(stringObjectMap.get("cargonameId").toString()));
+        //获取原主键Id
+        BigDecimal priceId = (BigDecimal) stringObjectMap.get("priceId");
+        //修改原单价为历史数据
+        oldAmsContractTransportPrice.setPriceId(priceId);
+        oldAmsContractTransportPrice.setDeleted(new BigDecimal(1));
+        amsContractTruckPriceMapper.updateByPrimaryKeySelective(oldAmsContractTransportPrice);
+        //获取原单价的所有数据
+        AmsContractTransportPrice amsContractTransportPrice = amsContractTruckPriceMapper.selectByPrimaryKey(priceId);
+        //生成主键
+        BigDecimal i = amsContractTruckPriceMapper.selectMaxId();
+        amsContractTransportPrice.setPriceId(i);
+        //生成执行日期
+        amsContractTransportPrice.setPriceDate(new Date());
+        //常规字段
+        amsContractTransportPrice.setInsertUsername("admin");
+        amsContractTransportPrice.setInsertTime(new Date());
+        amsContractTransportPrice.setUpdateUsername("admin");
+        amsContractTransportPrice.setUpdateTime(new Date());
+        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();
+            }
+        }
+        //新增数据
+        int insert = amsContractTruckPriceMapper.insert(amsContractTransportPrice);
+        return insert;
     }
 
     /**

+ 61 - 5
src/main/java/com/steerinfo/dil/service/impl/AmstruckSporadicOrderServiceImpl.java

@@ -168,6 +168,8 @@ public class AmstruckSporadicOrderServiceImpl implements IAmstruckSporadicOrderS
         if (orderTime!=null) {
             amstruckSporadicOrder.setSporadicOrderTimes(DataChange.dataToBigDecimal(orderTime));
         }
+        //设置运输状态默认为启用
+        amstruckSporadicOrder.setTransStatus(new BigDecimal(1));
         if (map.get("carrierId")!=null) {
             amstruckSporadicOrder.setCarrierId(DataChange.dataToBigDecimal(map.get("carrierId")));
         }
@@ -317,6 +319,7 @@ public class AmstruckSporadicOrderServiceImpl implements IAmstruckSporadicOrderS
         List<Map<String, Object>> mapList=null;
         switch (orderType1) {
             case 12:
+                //apiId:439
                 if (mapValue.get("sporadicStatus") != null) {
                     //走查询订单id的接口
                     mapList = amstruckSporadicOrderMapper.getSporadicOrdersList(mapValue);
@@ -326,19 +329,23 @@ public class AmstruckSporadicOrderServiceImpl implements IAmstruckSporadicOrderS
                 }
                 for (Map<String, Object> map : mapList) {
                     BigDecimal type = (BigDecimal) map.get("type");
-//                    BigDecimal orderStatus =(BigDecimal) map.get("orderStatus");
+                    BigDecimal tranStatus =(BigDecimal) map.get("transStatus");
                     String orderType = "";
-//                    String status = "";
+                    String Status = "";
                     if (type.intValue() == 12) {
                         orderType += "内转零星进厂";
                     }
                     if (type.intValue() == 13) {
                         orderType += "内转零星出厂";
                     }
-//                    if (orderStatus.intValue()==4){
-//                        status += "已下发";
-//                    }
+                    if (tranStatus.intValue() == 0){
+                        Status += "禁用";
+                    }
+                    if (tranStatus.intValue() == 1){
+                        Status += "启用";
+                    }
                     map.put("orderType", orderType);
+                    map.put("Status",Status);
                 }
             case 13:
                 break;
@@ -481,6 +488,28 @@ public class AmstruckSporadicOrderServiceImpl implements IAmstruckSporadicOrderS
 
         return result;
     }
+    //内转零星停止
+    @Override
+    public int closeSporadicOrderInward(Map<String, Object> map) {
+        int result=0;
+        BigDecimal sporadicOrderId =DataChange.dataToBigDecimal(map.get("sporadicOrderId"));
+        AmstruckSporadicOrder amstruckSporadicOrder=new AmstruckSporadicOrder();
+        amstruckSporadicOrder.setSporadicOrderId(sporadicOrderId);
+        amstruckSporadicOrder.setTransStatus(new BigDecimal(0));
+        result+=amstruckSporadicOrderMapper.updateByPrimaryKeySelective(amstruckSporadicOrder);
+        //查找零星订单下的所有未接收的运输订单
+        List<Map<String, Object>> stringObjectMap = amstruckSporadicOrderMapper.selectOrderIdbySporadicOrderid(sporadicOrderId.intValue());
+        for (Map<String,Object> map1:stringObjectMap) {
+            //获取零星订单关联的未接收的订单
+            BigDecimal orderId =(BigDecimal) map1.get("orderId");
+            OmstruckOrder omstruckOrder=new OmstruckOrder();
+            omstruckOrder.setOrderId(orderId);
+            omstruckOrder.setOrderStatus(new BigDecimal(8));
+            result+=omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
+        }
+        return result;
+
+    }
 
     //关闭零星订单,将订单吗状态设置为0  无法推送新的订单。
     @Override
@@ -503,4 +532,31 @@ public class AmstruckSporadicOrderServiceImpl implements IAmstruckSporadicOrderS
         }
         return result;
     }
+
+    @Override
+    public int closeSporadic(Map<String, Object> map) {
+        BigDecimal sporadicOrderId =DataChange.dataToBigDecimal(map.get("sporadicOrderId"));
+        //查找零星订单下的所有未接收的运输订单
+        List<Map<String, Object>> stringObjectMap = amstruckSporadicOrderMapper.selectOrderIdbySporadicOrderid(sporadicOrderId.intValue());
+        for (Map<String,Object> map1:stringObjectMap){
+            //获取零星订单关联的未接收的订单
+            BigDecimal orderId =(BigDecimal) map1.get("orderId");
+            //根据运输订单id查找运输订单类型
+            int orderType = omstruckOrderMapper.selectOrderTypeByOrderId(orderId);
+            switch (orderType){
+                case 15:
+                case 16:
+                         //普通零星
+                         closeSporadicOrder(map);
+                         break;
+                case 12:
+                case 13:
+                         //内转零星
+                         closeSporadicOrderInward(map);
+                         break;
+
+            }
+        }
+        return 2;
+    }
 }

+ 95 - 20
src/main/java/com/steerinfo/dil/util/DataChange.java

@@ -40,25 +40,22 @@ public class DataChange {
      * @param data
      * @return
      */
-    public static BigDecimal
-    dataToBigDecimal(Object data){
+    public static BigDecimal dataToBigDecimal(Object data){
         if (data != null){
-            if(data instanceof String){
-                String data1 = (String) data;
-                if(data1.length() == 0)
-                    return new BigDecimal(0);
-                return new BigDecimal(data1);
-            }
-            if(data instanceof Integer){
-                Integer data2 = (Integer) data;
-                return new BigDecimal(data2);
-            }
-            if(data instanceof Double){
-                Double data3 = (Double) data;
-                return new BigDecimal(data3);
-            }
             if(data instanceof BigDecimal){
                 return (BigDecimal) data;
+            }else{
+                String str = String.valueOf(data);
+                BigDecimal decimal = null;
+                if(!"".equals(str)){
+                    try {
+                        decimal = new BigDecimal(str);
+                    } catch (Exception e) {
+                        System.out.println(data + ":数据解析失败!返回0");
+                        return new BigDecimal(0);
+                    }
+                }
+                return decimal;
             }
         }
         return new BigDecimal(0);
@@ -72,6 +69,8 @@ public class DataChange {
     public static String dateToDayDate(Object date){
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         Date changeDate = null;
+        if(date == null)
+            return null;
         try{
             changeDate = (Date) date;
         }catch (Exception e){
@@ -111,10 +110,15 @@ public class DataChange {
         for (Map<String, Object> map : list) {
             for (String s : key) {
                 //修改数据为带两位小数
-                BigDecimal oldDate = (BigDecimal) map.get(s);
-                DecimalFormat df =  new DecimalFormat("0.00");
-                String resultDeduction = df.format(oldDate.doubleValue());
-                map.put(s, resultDeduction);
+                try {
+                    BigDecimal oldDate = (BigDecimal) map.get(s);
+                    DecimalFormat df =  new DecimalFormat("0.00");
+                    String resultDeduction = df.format(oldDate.doubleValue());
+                    map.put(s, resultDeduction);
+                } catch (Exception e) {
+                    System.out.println("原料扣减量数据有误");
+                }
+
             }
         }
     }
@@ -161,4 +165,75 @@ public class DataChange {
         );
         return sb.toString();
     }
+
+    /**
+     * 根据时间段查询数据 支持只选择单个时间
+     * @Author TXF
+     * @Date 2022/1/10 23:21
+     * @param startTime
+     * @param endTime
+     * @param map
+     * @param sdf
+     * @return
+     **/
+    public static void queryDataByDate(String startTime, String endTime, Map<String, Object> map, SimpleDateFormat sdf){
+        if (startTime != null && !"null".equals(startTime) && endTime != null && !"null".equals(endTime)) {
+            map.put("startDate", sdf.format(new Date(Long.parseLong(startTime))));
+            map.put("endDate", sdf.format(new Date(Long.parseLong(endTime) + 86400000)));
+        } else if (startTime != null && !"null".equals(startTime)) {
+            map.put("oneDate", sdf.format(new Date(Long.parseLong(startTime))));
+        } else if (endTime != null && !"null".equals(endTime)) {
+            map.put("oneDate", sdf.format(new Date(Long.parseLong(endTime))));
+        } else {
+            map.put("oneDate", sdf.format(new Date()));
+        }
+    }
+
+    /**
+     * 只支持两个时间查询
+     * @Author TXF
+     * @Date 2022/1/15 9:08
+     * @param startTime
+     * @param endTime
+     * @param sdf
+     * @return
+     **/
+    public static void queryDataByDateTime(String startTime, String endTime, Map<String, Object> map,SimpleDateFormat sdf){
+        SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd");
+        if (startTime != null && !"null".equals(startTime) && endTime != null && !"null".equals(endTime)) {
+            map.put("startDate", sdf.format(new Date(Long.parseLong(startTime))));
+            map.put("endDate", sdf.format(new Date(Long.parseLong(endTime))));
+        }
+        //如果开始时间和结束时间有且只有一个为空 则只查那天的数据
+        else if((startTime != null && !"null".equals(startTime)) || (endTime != null && !"null".equals(endTime))){
+            if(startTime != null && !"null".equals(startTime)){
+                queryDataByTwoDateSon(map, startTime, sdfDate);
+            }
+            if(endTime != null && !"null".equals(endTime)){
+                queryDataByTwoDateSon(map, endTime, sdfDate);
+            }
+        }else {
+            //如果两者时间都为空,则查询当天数据
+            String nowDate = sdfDate.format(new Date());
+            map.put("oneDate", nowDate + " 00:00:00");
+        }
+    }
+
+    /**
+     * 上面方法的儿子方法 如果只传入了一个时间 则查询那天的数据
+     * @Author TXF
+     * @Date 2022/1/17 16:17
+     * @param map
+     * @param time
+     * @param sdfDate
+     * @return
+     **/
+    private static void queryDataByTwoDateSon(Map<String, Object> map, String time, SimpleDateFormat sdfDate){
+        Date date1 = new Date(Long.parseLong(time));
+        Date date2 = new Date(Long.parseLong(time) + 86400000);
+        String dayStartTime = sdfDate.format(date1);
+        String dayEndTime = sdfDate.format(date2);
+        map.put("startDate", dayStartTime + " 00:00:00");
+        map.put("endDate", dayEndTime + " 00:00:00");
+    }
 }

+ 1 - 1
src/main/resources/bootstrap.yml

@@ -1,7 +1,7 @@
 api.version: api/v1/ams
 spring:
   profiles:
-    include: ${SPRING_PROFILES:dev}
+    include: ${SPRING_PROFILES:prod}
   jackson:
     date-format: yyyy-MM-dd HH:mm:ss
     time-zone: GMT+8

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

@@ -20,17 +20,21 @@
         <result column="ADDRESS_ID" jdbcType="DECIMAL" property="addressId" />
         <result column="TYPE" jdbcType="DECIMAL" property="type" />
         <result column="DEPARTMENT" jdbcType="DECIMAL" property="department" />
+        <result column="OILPRICE_BASE" jdbcType="DECIMAL" property="oilpriceBase" />
+        <result column="OIL_TYPE_ID" jdbcType="DECIMAL" property="oilTypeId" />
+        <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
+    INSERT_UPDATE_REMARK, DELETED, ADDRESS_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.TYPE, t.DEPARTMENT
+    t.TYPE, t.DEPARTMENT, t.OILPRICE_BASE, t.OIL_TYPE_ID, t.OILPRICE_CHANGE_THRESHOLD
     </sql>
     <sql id="select">
         SELECT <include refid="columns" /> FROM AMS_CONTRACT_TRANSPORT_PRICE
@@ -94,6 +98,15 @@
             <if test="department != null">
                 and DEPARTMENT = #{department}
             </if>
+            <if test="oilpriceBase != null">
+                and OILPRICE_BASE = #{oilpriceBase}
+            </if>
+            <if test="oilTypeId != null">
+                and OIL_TYPE_ID = #{oilTypeId}
+            </if>
+            <if test="oilpriceChangeThreshold != null">
+                and OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold}
+            </if>
         </where>
     </sql>
     <sql id="whereLike">
@@ -152,6 +165,15 @@
             <if test="department != null">
                 and DEPARTMENT = #{department}
             </if>
+            <if test="oilpriceBase != null">
+                and OILPRICE_BASE = #{oilpriceBase}
+            </if>
+            <if test="oilTypeId != null">
+                and OIL_TYPE_ID = #{oilTypeId}
+            </if>
+            <if test="oilpriceChangeThreshold != null">
+                and OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold}
+            </if>
         </where>
     </sql>
     <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
@@ -212,6 +234,15 @@
         <if test="department != null">
             or DEPARTMENT = #{department}
         </if>
+        <if test="oilpriceBase != null">
+            or OILPRICE_BASE = #{oilpriceBase}
+        </if>
+        <if test="oilTypeId != null">
+            or OIL_TYPE_ID = #{oilTypeId}
+        </if>
+        <if test="oilpriceChangeThreshold != null">
+            or OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold}
+        </if>
     </delete>
     <insert id="insert" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
         insert into AMS_CONTRACT_TRANSPORT_PRICE (PRICE_ID, SHIPPER_ID, CARRIER_ID,
@@ -219,14 +250,16 @@
                                                   PRICE_TON_KILOMETER, PRICE_VALUE, PRICE_DATE,
                                                   INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME,
                                                   UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED,
-                                                  ADDRESS_ID, TYPE, DEPARTMENT
+                                                  ADDRESS_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},
                 #{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}
+                #{addressId,jdbcType=DECIMAL}, #{type,jdbcType=DECIMAL}, #{department,jdbcType=DECIMAL},
+                #{oilpriceBase,jdbcType=DECIMAL}, #{oilTypeId,jdbcType=DECIMAL}, #{oilpriceChangeThreshold,jdbcType=DECIMAL}
                )
     </insert>
     <insert id="insertSelective" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
@@ -286,6 +319,15 @@
             <if test="department != null">
                 DEPARTMENT,
             </if>
+            <if test="oilpriceBase != null">
+                OILPRICE_BASE,
+            </if>
+            <if test="oilTypeId != null">
+                OIL_TYPE_ID,
+            </if>
+            <if test="oilpriceChangeThreshold != null">
+                OILPRICE_CHANGE_THRESHOLD,
+            </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="priceId != null">
@@ -342,6 +384,15 @@
             <if test="department != null">
                 #{department,jdbcType=DECIMAL},
             </if>
+            <if test="oilpriceBase != null">
+                #{oilpriceBase,jdbcType=DECIMAL},
+            </if>
+            <if test="oilTypeId != null">
+                #{oilTypeId,jdbcType=DECIMAL},
+            </if>
+            <if test="oilpriceChangeThreshold != null">
+                #{oilpriceChangeThreshold,jdbcType=DECIMAL},
+            </if>
         </trim>
     </insert>
     <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
@@ -362,7 +413,10 @@
             DELETED = #{deleted,jdbcType=DECIMAL},
             ADDRESS_ID = #{addressId,jdbcType=DECIMAL},
             TYPE = #{type,jdbcType=DECIMAL},
-            DEPARTMENT = #{department,jdbcType=DECIMAL}
+            DEPARTMENT = #{department,jdbcType=DECIMAL},
+            OILPRICE_BASE = #{oilpriceBase,jdbcType=DECIMAL},
+            OIL_TYPE_ID = #{oilTypeId,jdbcType=DECIMAL},
+            OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold,jdbcType=DECIMAL}
         where PRICE_ID = #{priceId,jdbcType=DECIMAL}
     </update>
     <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
@@ -419,6 +473,15 @@
             <if test="department != null">
                 DEPARTMENT = #{department,jdbcType=DECIMAL},
             </if>
+            <if test="oilpriceBase != null">
+                OILPRICE_BASE = #{oilpriceBase,jdbcType=DECIMAL},
+            </if>
+            <if test="oilTypeId != null">
+                OIL_TYPE_ID = #{oilTypeId,jdbcType=DECIMAL},
+            </if>
+            <if test="oilpriceChangeThreshold != null">
+                OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold,jdbcType=DECIMAL},
+            </if>
         </set>
         where PRICE_ID = #{priceId,jdbcType=DECIMAL}
     </update>
@@ -443,7 +506,8 @@
         INSERT_TIME, UPDATE_USERNAME,
         UPDATE_TIME, INSERT_UPDATE_REMARK,
         DELETED, ADDRESS_ID, TYPE,
-        DEPARTMENT)
+        DEPARTMENT, OILPRICE_BASE, OIL_TYPE_ID,
+        OILPRICE_CHANGE_THRESHOLD)
         ( <foreach collection="list" item="item" separator="union all">
         select
         #{item.priceId,jdbcType=DECIMAL},
@@ -453,7 +517,8 @@
         #{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.department,jdbcType=DECIMAL} from dual
+        #{item.department,jdbcType=DECIMAL}, #{item.oilpriceBase,jdbcType=DECIMAL}, #{item.oilTypeId,jdbcType=DECIMAL},
+        #{item.oilpriceChangeThreshold,jdbcType=DECIMAL} from dual
     </foreach> )
     </insert>
     <update id="batchUpdate" parameterType="java.util.List">
@@ -531,6 +596,18 @@
         <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
             when #{item.priceId,jdbcType=DECIMAL} then #{item.department,jdbcType=DECIMAL}
         </foreach>
+        ,OILPRICE_BASE=
+        <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
+            when #{item.priceId,jdbcType=DECIMAL} then #{item.oilpriceBase,jdbcType=DECIMAL}
+        </foreach>
+        ,OIL_TYPE_ID=
+        <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
+            when #{item.priceId,jdbcType=DECIMAL} then #{item.oilTypeId,jdbcType=DECIMAL}
+        </foreach>
+        ,OILPRICE_CHANGE_THRESHOLD=
+        <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
+            when #{item.priceId,jdbcType=DECIMAL} then #{item.oilpriceChangeThreshold,jdbcType=DECIMAL}
+        </foreach>
         where PRICE_ID in
         <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
             #{item.priceId,jdbcType=DECIMAL}
@@ -785,5 +862,4 @@
                a_t_price.PRICE_TON_KILOMETER "priceTonKilometer"
         from AMS_CONTRACT_TRANSPORT_PRICE a_t_price
     </select>
-
 </mapper>

+ 110 - 12
src/main/resources/com/steerinfo/dil/mapper/AmsContractTruckPriceMapper.xml

@@ -20,17 +20,21 @@
     <result column="ADDRESS_ID" jdbcType="DECIMAL" property="addressId" />
     <result column="TYPE" jdbcType="DECIMAL" property="type" />
     <result column="DEPARTMENT" jdbcType="DECIMAL" property="department" />
+    <result column="OILPRICE_BASE" jdbcType="DECIMAL" property="oilpriceBase" />
+    <result column="OIL_TYPE_ID" jdbcType="DECIMAL" property="oilTypeId" />
+    <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
+    INSERT_UPDATE_REMARK, DELETED, ADDRESS_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.TYPE, t.DEPARTMENT
+    t.TYPE, t.DEPARTMENT, t.OILPRICE_BASE, t.OIL_TYPE_ID, t.OILPRICE_CHANGE_THRESHOLD
   </sql>
   <sql id="select">
     SELECT <include refid="columns" /> FROM AMS_CONTRACT_TRANSPORT_PRICE
@@ -94,6 +98,15 @@
       <if test="department != null">
         and DEPARTMENT = #{department}
       </if>
+      <if test="oilpriceBase != null">
+        and OILPRICE_BASE = #{oilpriceBase}
+      </if>
+      <if test="oilTypeId != null">
+        and OIL_TYPE_ID = #{oilTypeId}
+      </if>
+      <if test="oilpriceChangeThreshold != null">
+        and OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold}
+      </if>
     </where>
   </sql>
   <sql id="whereLike">
@@ -152,6 +165,15 @@
       <if test="department != null">
         and DEPARTMENT = #{department}
       </if>
+      <if test="oilpriceBase != null">
+        and OILPRICE_BASE = #{oilpriceBase}
+      </if>
+      <if test="oilTypeId != null">
+        and OIL_TYPE_ID = #{oilTypeId}
+      </if>
+      <if test="oilpriceChangeThreshold != null">
+        and OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold}
+      </if>
     </where>
   </sql>
   <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
@@ -212,6 +234,15 @@
     <if test="department != null">
       or DEPARTMENT = #{department}
     </if>
+    <if test="oilpriceBase != null">
+      or OILPRICE_BASE = #{oilpriceBase}
+    </if>
+    <if test="oilTypeId != null">
+      or OIL_TYPE_ID = #{oilTypeId}
+    </if>
+    <if test="oilpriceChangeThreshold != null">
+      or OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold}
+    </if>
   </delete>
   <insert id="insert" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
     insert into AMS_CONTRACT_TRANSPORT_PRICE (PRICE_ID, SHIPPER_ID, CARRIER_ID,
@@ -219,14 +250,16 @@
                                               PRICE_TON_KILOMETER, PRICE_VALUE, PRICE_DATE,
                                               INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME,
                                               UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED,
-                                              ADDRESS_ID, TYPE, DEPARTMENT
+                                              ADDRESS_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},
             #{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}
+            #{addressId,jdbcType=DECIMAL}, #{type,jdbcType=DECIMAL}, #{department,jdbcType=DECIMAL},
+            #{oilpriceBase,jdbcType=DECIMAL}, #{oilTypeId,jdbcType=DECIMAL}, #{oilpriceChangeThreshold,jdbcType=DECIMAL}
            )
   </insert>
   <insert id="insertSelective" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
@@ -286,6 +319,15 @@
       <if test="department != null">
         DEPARTMENT,
       </if>
+      <if test="oilpriceBase != null">
+        OILPRICE_BASE,
+      </if>
+      <if test="oilTypeId != null">
+        OIL_TYPE_ID,
+      </if>
+      <if test="oilpriceChangeThreshold != null">
+        OILPRICE_CHANGE_THRESHOLD,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="priceId != null">
@@ -342,6 +384,15 @@
       <if test="department != null">
         #{department,jdbcType=DECIMAL},
       </if>
+      <if test="oilpriceBase != null">
+        #{oilpriceBase,jdbcType=DECIMAL},
+      </if>
+      <if test="oilTypeId != null">
+        #{oilTypeId,jdbcType=DECIMAL},
+      </if>
+      <if test="oilpriceChangeThreshold != null">
+        #{oilpriceChangeThreshold,jdbcType=DECIMAL},
+      </if>
     </trim>
   </insert>
   <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
@@ -362,7 +413,10 @@
         DELETED = #{deleted,jdbcType=DECIMAL},
         ADDRESS_ID = #{addressId,jdbcType=DECIMAL},
         TYPE = #{type,jdbcType=DECIMAL},
-        DEPARTMENT = #{department,jdbcType=DECIMAL}
+        DEPARTMENT = #{department,jdbcType=DECIMAL},
+        OILPRICE_BASE = #{oilpriceBase,jdbcType=DECIMAL},
+        OIL_TYPE_ID = #{oilTypeId,jdbcType=DECIMAL},
+        OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold,jdbcType=DECIMAL}
     where PRICE_ID = #{priceId,jdbcType=DECIMAL}
   </update>
   <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
@@ -419,6 +473,15 @@
       <if test="department != null">
         DEPARTMENT = #{department,jdbcType=DECIMAL},
       </if>
+      <if test="oilpriceBase != null">
+        OILPRICE_BASE = #{oilpriceBase,jdbcType=DECIMAL},
+      </if>
+      <if test="oilTypeId != null">
+        OIL_TYPE_ID = #{oilTypeId,jdbcType=DECIMAL},
+      </if>
+      <if test="oilpriceChangeThreshold != null">
+        OILPRICE_CHANGE_THRESHOLD = #{oilpriceChangeThreshold,jdbcType=DECIMAL},
+      </if>
     </set>
     where PRICE_ID = #{priceId,jdbcType=DECIMAL}
   </update>
@@ -443,7 +506,8 @@
     INSERT_TIME, UPDATE_USERNAME,
     UPDATE_TIME, INSERT_UPDATE_REMARK,
     DELETED, ADDRESS_ID, TYPE,
-    DEPARTMENT)
+    DEPARTMENT, OILPRICE_BASE, OIL_TYPE_ID,
+    OILPRICE_CHANGE_THRESHOLD)
     ( <foreach collection="list" item="item" separator="union all">
     select
     #{item.priceId,jdbcType=DECIMAL},
@@ -453,7 +517,8 @@
     #{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.department,jdbcType=DECIMAL} from dual
+    #{item.department,jdbcType=DECIMAL}, #{item.oilpriceBase,jdbcType=DECIMAL}, #{item.oilTypeId,jdbcType=DECIMAL},
+    #{item.oilpriceChangeThreshold,jdbcType=DECIMAL} from dual
   </foreach> )
   </insert>
   <update id="batchUpdate" parameterType="java.util.List">
@@ -531,6 +596,18 @@
     <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
       when #{item.priceId,jdbcType=DECIMAL} then #{item.department,jdbcType=DECIMAL}
     </foreach>
+    ,OILPRICE_BASE=
+    <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
+      when #{item.priceId,jdbcType=DECIMAL} then #{item.oilpriceBase,jdbcType=DECIMAL}
+    </foreach>
+    ,OIL_TYPE_ID=
+    <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
+      when #{item.priceId,jdbcType=DECIMAL} then #{item.oilTypeId,jdbcType=DECIMAL}
+    </foreach>
+    ,OILPRICE_CHANGE_THRESHOLD=
+    <foreach close="end" collection="list" index="index" item="item" open="case PRICE_ID" separator=" ">
+      when #{item.priceId,jdbcType=DECIMAL} then #{item.oilpriceChangeThreshold,jdbcType=DECIMAL}
+    </foreach>
     where PRICE_ID in
     <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
       #{item.priceId,jdbcType=DECIMAL}
@@ -555,10 +632,12 @@
     r_r_address.ADDRESS_DELIVERY_ADDRESS "addressDeliveryAddress",
     r_carrier.CARRIER_NAME "carrierName",
     r_line.LINE_PATH_LENGTH "linePathLength",
+    r_o_type.OIL_TYPE_NAME "oilTypeName",
     r_c_type.CAPACITY_TYPE_NAME "capacityTypeName",
     a_t_price.PRICE_VALUE "priceValue",
     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"
     from AMS_CONTRACT_TRANSPORT_PRICE a_t_price
     left join RMS_RECEIVE_ADDRESS r_r_address
@@ -569,8 +648,11 @@
     on a_t_price.CARRIER_ID=r_carrier.CARRIER_ID
     left join RMS_LINE r_line
     on a_t_price.LINE_ID=r_line.LINE_ID
-    where a_t_price.DELETED = 0
-    and a_t_price.TYPE = 1 and a_t_price.DEPARTMENT = 2)
+    left join RMS_OIL_TYPE r_o_type
+    on a_t_price.OIL_TYPE_ID = r_o_type.OIL_TYPE_ID
+--     where a_t_price.DELETED = 0
+--     and a_t_price.TYPE = 1 and a_t_price.DEPARTMENT = 2
+        )
 
     <where>
       <if test="addressProvince != null">
@@ -637,7 +719,7 @@
     </where>
     <include refid="orderBy"></include>
     <if test="orderField == null  ">
-      order by "insertTime" desc
+      order by "priceDate" desc
     </if>
   </select>
 
@@ -716,10 +798,11 @@
   <select id="getPriceValueList" resultType="java.util.LinkedHashMap">
     select a_t_price.PRICE_ID "priceId",
            a_t_price.PRICE_VALUE "priceValue",
-           a_t_price.CARRIER_ID "carrierId",
+           a_t_price.OILPRICE_BASE "oilpriceBase",
+           a_t_price.OILPRICE_CHANGE_THRESHOLD "oilpriceChangeThreshold",
            a_t_price.CARGONAME_ID "cargonameId"
     from AMS_CONTRACT_TRANSPORT_PRICE a_t_price
-    where a_t_price.DEPARTMENT = 2 and a_t_price.DELETED = 0
+    where a_t_price.OIL_TYPE_ID = #{oilTypeId} and a_t_price.DELETED = 0
   </select>
 
   <select id="getPriceValueAndPriceTonKilometer" resultType="java.util.LinkedHashMap">
@@ -745,4 +828,19 @@
     from RMS_CARGONAME where CARGONAME_ID = #{cargonameId}
   </select>
 
+  <select id="getCargoName" resultType="java.util.LinkedHashMap">
+    select
+      CARGONAME_ID "id",
+      CARGONAME_ID "value",
+      CARGONAME_VALUE "label"
+    from RMS_CARGONAME
+  </select>
+
+  <select id="getOilTypeName" resultType="java.util.LinkedHashMap">
+    select
+      OIL_TYPE_ID "id",
+      OIL_TYPE_ID "value",
+      OIL_TYPE_NAME "label"
+    from RMS_OIL_TYPE
+  </select>
 </mapper>

+ 12 - 3
src/main/resources/com/steerinfo/dil/mapper/AmsPurchaseOrderMapper.xml

@@ -496,12 +496,15 @@
     apo.PURCHASE_ORDER_NO as "purchaseOrderNo",
     apo.PURCHASE_ORDER_DATE as "purchaseOrderDate",
     rm.MATERIAL_NAME as "materialName",
+    rm.MATERIAL_ID  as "materialId",
     db.RESULT_FOREIGN_SHIP_NAME as "resultForeignShipName",
     rsu.SUPPLIER_NAME as "supplierName",
+    rsu.SUPPLIER_ID as "supplierId",
     rsb.SHIPPER_NAME as "buyerName",
     apo.PURCHASE_ORDER_BUYER as "purchaseOrderBuyer",
     apo.PUCHASE_ORDER_MATERIAL_NUMBER as "purChaseOrderMaterialNumber",
     rsr.SHIPPER_NAME as "receiverName",
+    rsr.SHIPPER_ID   as   "receiverUnitId",
     apo.PUCHASE_ORDER_DELIVERY_DATE as "purchaseOrderDeliveryDate",
     apo.INSERT_UPDATE_REMARK as "insertUpdateRemark",
     apo.PURCHASE_ORDER_ID as "purchaseOrderId"
@@ -516,9 +519,15 @@
     ON apo.PURCHASING_ORGANIZATION_ID = rsb.SHIPPER_ID
     LEFT JOIN RMS_SHIPPER rsr
     ON apo.RECEIVE_UNIT_ID = rsr.SHIPPER_ID
-    <if test="con != null" >
-      WHERE instr(apo.PURCHASE_ORDER_NO, #{con}) > 0 or instr(rsu.SUPPLIER_NAME, #{con}) > 0
-    </if>
+    <where>
+      <if test="con != null" >
+        and instr(apo.PURCHASE_ORDER_NO, #{con}) > 0 or instr(rsu.SUPPLIER_NAME, #{con}) > 0
+      </if>
+      <if test="sendCompId != null and con == null">
+        and apo.SUPPLIER_UNIT_ID = #{sendCompId}
+      </if>
+    </where>
+
     )
     <where>
       <if test="purchaseOrderNo!= null">

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

@@ -1969,6 +1969,7 @@
     ASM.SALE_MATERIAL_ID                           as "saleMaterialId",
     RM.MATERIAL_ID                                 as "materialId",
     ASO.SALE_NUMBER                                as "saleNumber",
+    ASO.SALE_ORDER_ISSELF_MENTION                  as "saleOrderIsselfMention",
     RS.SHIPPER_NAME                                as "shipperName",
     RC.CONSIGNEE_COMPANY_NAME                      as "consigneeCompanyName",
     RM.MATERIAL_NAME                               as "materialName",

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

@@ -460,8 +460,7 @@
   ASO.INSERT_TIME AS "insertTime",
   OO.ORDER_TYPE AS "type",
   RM.MATERIAL_NAME "materialName",
-  ASO.SPORADIC_TRANS_TIMES "transTimes",
-  ASO.SPORADIC_ORDER_TIMES "sporadicOrderTimes"
+  ASO.TRANS_STATUS "transStatus"
   FROM AMSTRUCK_SPORADIC_ORDER ASO
   LEFT JOIN RMS_CONSIGNEE RCO
   ON ASO.RECEIVE_UNIT_ID = RCO.CONSIGNEE_ID
@@ -479,6 +478,7 @@
   WHERE OO.ORDER_TYPE in (12,13)
   AND ASO.ISSUE_STATUS = #{issueStatus}
   AND ASO.DELETED = 0
+  AND ASO.TRANS_STATUS=1
   <if test="userId!=null">
     and ASO.INSERT_USERNAME=#{userId}
   </if>

+ 57 - 29
src/main/resources/com/steerinfo/dil/mapper/AmstruckSporadicOrderMapper.xml

@@ -17,16 +17,18 @@
         <result column="SPORADIC_ORDER_TIMES" jdbcType="DECIMAL" property="sporadicOrderTimes" />
         <result column="DISPATCH_STATUS" jdbcType="DECIMAL" property="dispatchStatus" />
         <result column="SPORADIC_TRANS_TIMES" jdbcType="DECIMAL" property="sporadicTransTimes" />
+        <result column="TRANS_STATUS" jdbcType="DECIMAL" property="transStatus" />
     </resultMap>
     <sql id="columns">
         SPORADIC_ORDER_ID, SEND_UNIT_ID, RECEIVE_UNIT_ID, CARRIER_ID, INSERT_USERNAME, INSERT_TIME,
     UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED, ISSUE_STATUS, SPORADIC_ORDER_NO,
-    SPORADIC_ORDER_TIMES, DISPATCH_STATUS, SPORADIC_TRANS_TIMES
+    SPORADIC_ORDER_TIMES, DISPATCH_STATUS, SPORADIC_TRANS_TIMES, TRANS_STATUS
     </sql>
     <sql id="columns_alias">
         t.SPORADIC_ORDER_ID, t.SEND_UNIT_ID, t.RECEIVE_UNIT_ID, t.CARRIER_ID, t.INSERT_USERNAME,
     t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.DELETED,
-    t.ISSUE_STATUS, t.SPORADIC_ORDER_NO, t.SPORADIC_ORDER_TIMES, t.DISPATCH_STATUS, t.SPORADIC_TRANS_TIMES
+    t.ISSUE_STATUS, t.SPORADIC_ORDER_NO, t.SPORADIC_ORDER_TIMES, t.DISPATCH_STATUS, t.SPORADIC_TRANS_TIMES,
+    t.TRANS_STATUS
     </sql>
     <sql id="select">
         SELECT <include refid="columns" /> FROM AMSTRUCK_SPORADIC_ORDER
@@ -81,6 +83,9 @@
             <if test="sporadicTransTimes != null">
                 and SPORADIC_TRANS_TIMES = #{sporadicTransTimes}
             </if>
+            <if test="transStatus != null">
+                and TRANS_STATUS = #{transStatus}
+            </if>
         </where>
     </sql>
     <sql id="whereLike">
@@ -130,6 +135,9 @@
             <if test="sporadicTransTimes != null">
                 and SPORADIC_TRANS_TIMES = #{sporadicTransTimes}
             </if>
+            <if test="transStatus != null">
+                and TRANS_STATUS = #{transStatus}
+            </if>
         </where>
     </sql>
     <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
@@ -181,20 +189,23 @@
         <if test="sporadicTransTimes != null">
             or SPORADIC_TRANS_TIMES = #{sporadicTransTimes}
         </if>
+        <if test="transStatus != null">
+            or TRANS_STATUS = #{transStatus}
+        </if>
     </delete>
     <insert id="insert" parameterType="com.steerinfo.dil.model.AmstruckSporadicOrder">
         insert into AMSTRUCK_SPORADIC_ORDER (SPORADIC_ORDER_ID, SEND_UNIT_ID, RECEIVE_UNIT_ID,
                                              CARRIER_ID, INSERT_USERNAME, INSERT_TIME,
                                              UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK,
                                              DELETED, ISSUE_STATUS, SPORADIC_ORDER_NO,
-                                             SPORADIC_ORDER_TIMES, DISPATCH_STATUS, SPORADIC_TRANS_TIMES
-        )
+                                             SPORADIC_ORDER_TIMES, DISPATCH_STATUS, SPORADIC_TRANS_TIMES,
+                                             TRANS_STATUS)
         values (#{sporadicOrderId,jdbcType=DECIMAL}, #{sendUnitId,jdbcType=DECIMAL}, #{receiveUnitId,jdbcType=DECIMAL},
                 #{carrierId,jdbcType=DECIMAL}, #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP},
                 #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR},
                 #{deleted,jdbcType=DECIMAL}, #{issueStatus,jdbcType=DECIMAL}, #{sporadicOrderNo,jdbcType=VARCHAR},
-                #{sporadicOrderTimes,jdbcType=DECIMAL}, #{dispatchStatus,jdbcType=DECIMAL}, #{sporadicTransTimes,jdbcType=DECIMAL}
-               )
+                #{sporadicOrderTimes,jdbcType=DECIMAL}, #{dispatchStatus,jdbcType=DECIMAL}, #{sporadicTransTimes,jdbcType=DECIMAL},
+                #{transStatus,jdbcType=DECIMAL})
     </insert>
     <insert id="insertSelective" parameterType="com.steerinfo.dil.model.AmstruckSporadicOrder">
         insert into AMSTRUCK_SPORADIC_ORDER
@@ -244,6 +255,9 @@
             <if test="sporadicTransTimes != null">
                 SPORADIC_TRANS_TIMES,
             </if>
+            <if test="transStatus != null">
+                TRANS_STATUS,
+            </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="sporadicOrderId != null">
@@ -291,6 +305,9 @@
             <if test="sporadicTransTimes != null">
                 #{sporadicTransTimes,jdbcType=DECIMAL},
             </if>
+            <if test="transStatus != null">
+                #{transStatus,jdbcType=DECIMAL},
+            </if>
         </trim>
     </insert>
     <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.AmstruckSporadicOrder">
@@ -308,7 +325,8 @@
             SPORADIC_ORDER_NO = #{sporadicOrderNo,jdbcType=VARCHAR},
             SPORADIC_ORDER_TIMES = #{sporadicOrderTimes,jdbcType=DECIMAL},
             DISPATCH_STATUS = #{dispatchStatus,jdbcType=DECIMAL},
-            SPORADIC_TRANS_TIMES = #{sporadicTransTimes,jdbcType=DECIMAL}
+            SPORADIC_TRANS_TIMES = #{sporadicTransTimes,jdbcType=DECIMAL},
+            TRANS_STATUS = #{transStatus,jdbcType=DECIMAL}
         where SPORADIC_ORDER_ID = #{sporadicOrderId,jdbcType=DECIMAL}
     </update>
     <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.AmstruckSporadicOrder">
@@ -356,6 +374,9 @@
             <if test="sporadicTransTimes != null">
                 SPORADIC_TRANS_TIMES = #{sporadicTransTimes,jdbcType=DECIMAL},
             </if>
+            <if test="transStatus != null">
+                TRANS_STATUS = #{transStatus,jdbcType=DECIMAL},
+            </if>
         </set>
         where SPORADIC_ORDER_ID = #{sporadicOrderId,jdbcType=DECIMAL}
     </update>
@@ -380,7 +401,8 @@
         INSERT_UPDATE_REMARK, DELETED,
         ISSUE_STATUS, SPORADIC_ORDER_NO,
         SPORADIC_ORDER_TIMES, DISPATCH_STATUS,
-        SPORADIC_TRANS_TIMES)
+        SPORADIC_TRANS_TIMES, TRANS_STATUS
+        )
         ( <foreach collection="list" item="item" separator="union all">
         select
         #{item.sporadicOrderId,jdbcType=DECIMAL},
@@ -390,7 +412,8 @@
         #{item.insertUpdateRemark,jdbcType=VARCHAR}, #{item.deleted,jdbcType=DECIMAL},
         #{item.issueStatus,jdbcType=DECIMAL}, #{item.sporadicOrderNo,jdbcType=VARCHAR},
         #{item.sporadicOrderTimes,jdbcType=DECIMAL}, #{item.dispatchStatus,jdbcType=DECIMAL},
-        #{item.sporadicTransTimes,jdbcType=DECIMAL} from dual
+        #{item.sporadicTransTimes,jdbcType=DECIMAL}, #{item.transStatus,jdbcType=DECIMAL}
+        from dual
     </foreach> )
     </insert>
     <update id="batchUpdate" parameterType="java.util.List">
@@ -456,6 +479,10 @@
         <foreach close="end" collection="list" index="index" item="item" open="case SPORADIC_ORDER_ID" separator=" ">
             when #{item.sporadicOrderId,jdbcType=DECIMAL} then #{item.sporadicTransTimes,jdbcType=DECIMAL}
         </foreach>
+        ,TRANS_STATUS=
+        <foreach close="end" collection="list" index="index" item="item" open="case SPORADIC_ORDER_ID" separator=" ">
+            when #{item.sporadicOrderId,jdbcType=DECIMAL} then #{item.transStatus,jdbcType=DECIMAL}
+        </foreach>
         where SPORADIC_ORDER_ID in
         <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
             #{item.sporadicOrderId,jdbcType=DECIMAL}
@@ -468,6 +495,9 @@
             #{id}
         </foreach>
     </delete>
+    <!-- 友情提示!!!-->
+    <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+
     <!-- 友情提示!!!-->
     <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
     <!-- 排序 -->
@@ -497,8 +527,7 @@
         OO.ORDER_ID "orderId",
         OO.ORDER_STATUS "orderStatus",
         RM.MATERIAL_NAME "materialName",
-        ASO.SPORADIC_TRANS_TIMES "transTimes",
-        ASO.SPORADIC_ORDER_TIMES "sporadicOrderTimes"
+        ASO.TRANS_STATUS "transStatus"
         FROM AMSTRUCK_SPORADIC_ORDER ASO
         LEFT JOIN RMS_CONSIGNEE RCO
         ON ASO.RECEIVE_UNIT_ID = RCO.CONSIGNEE_ID
@@ -516,15 +545,16 @@
         WHERE OO.ORDER_TYPE in (12,13)
         AND ASO.ISSUE_STATUS = #{issueStatus}
         AND ASO.DELETED = 0
-            <if test="userId!=null">
-             and ASO.INSERT_USERNAME=#{userId}
-            </if>
-            <if test="usersId!=null">
-             and ASO.UPDATE_USERNAME=#{usersId}
-            </if>
-             <if test="dispatchStatus != null">
-             AND ASO.DISPATCH_STATUS =  #{dispatchStatus}
-             </if>
+        and   ASO.TRANS_STATUS =1
+        <if test="userId!=null">
+            and ASO.INSERT_USERNAME=#{userId}
+        </if>
+        <if test="usersId!=null">
+            and ASO.UPDATE_USERNAME=#{usersId}
+        </if>
+        <if test="dispatchStatus != null">
+            AND ASO.DISPATCH_STATUS =  #{dispatchStatus}
+        </if>
         )
         <where>
             <if test="sporadicOrderNo != null">
@@ -664,12 +694,12 @@
         LEFT JOIN RMS_MATERIAL RM
         ON RM.MATERIAL_ID = OOM.MATERIAL_ID
         WHERE ASO.SPORADIC_ORDER_ID = #{sporadicOrderId}
-            <if test="userId!=null">
-             and ASO.INSERT_USERNAME=#{userId}
-            </if>
-            <if test="usersId!=null">
-             and ASO.UPDATE_USERNAME=#{usersId}
-            </if>
+        <if test="userId!=null">
+            and ASO.INSERT_USERNAME=#{userId}
+        </if>
+        <if test="usersId!=null">
+            and ASO.UPDATE_USERNAME=#{usersId}
+        </if>
         )
         <where>
             <if test="materialName != null">
@@ -718,13 +748,11 @@
         where OO.ORDER_ID=#{orderId}
     </select>
 
-<!-- 根据零星订单id查找未接收的订单-->
+    <!-- 根据零星订单id查找未接收的订单-->
     <select id="selectOrderIdbySporadicOrderid" parameterType="java.lang.Integer" resultType="java.util.Map">
         select OO.ORDER_ID "orderId"
         from OMSTRUCK_ORDER OO
         where OO.ORDER_STATUS=4 AND OO.ORDER_PLAN_ID=#{sporadicOrderId}
     </select>
 
-
-
 </mapper>

+ 5 - 1
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -636,5 +636,9 @@
         where OO.ORDER_ID = #{orderId}
           and rownum = 1
     </select>
-
+    <select id="selectOrderTypeByOrderId" resultType="java.lang.Integer" parameterType="java.math.BigDecimal">
+     select OO.ORDER_TYPE "orderType"
+     from OMSTRUCK_ORDER OO
+     WHERE OO.ORDER_ID=#{orderId}
+    </select>
 </mapper>