Browse Source

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

luobang 2 years ago
parent
commit
08460081ac

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

@@ -18,6 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
+import java.text.ParseException;
 import java.util.*;
 
 /**
@@ -183,7 +184,7 @@ public class AmsContractTruckPriceController extends BaseRESTfulController {
     @ApiImplicitParams({
     })
     @PostMapping(value = "/batchUpdateTransportPriceByOilPrice1")
-    public RESTfulResult batchUpdateTransportPriceByOilPrice(@RequestBody Map<String,Object> map){
+    public RESTfulResult batchUpdateTransportPriceByOilPrice(@RequestBody Map<String,Object> map) throws ParseException {
         int i = amsContractTruckPriceService.batchUpdateTransportPriceByOilPrice(map);
         return success(i);
     }

+ 12 - 0
src/main/java/com/steerinfo/dil/controller/AmsSaleOrderController.java

@@ -1273,6 +1273,18 @@ public class AmsSaleOrderController extends BaseRESTfulController {
         }
     }
 
+    @ApiModelProperty(value = "修改收货客户的电话(销售)")
+    @PostMapping("/updateConsigneeTel")
+    public RESTfulResult updateConsigneeTel(@RequestBody Map<String,Object> mapValue){
+        int result=amsSaleOrderService.updateConsigneeTel(mapValue);
+        if (result ==0){
+            return failed("更新收货客户电话失败");
+        }else {
+            return success("更新收货客户电话成功");
+        }
+    }
+
+
     @ApiModelProperty(value = "展示下发给承运商的车序号和物资")
     @PostMapping("/getCarrierTruckNoAndMaterialList")
     public RESTfulResult getCarrierTruckNoAndMaterialList(@RequestBody Map<String,Object> map) {

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

@@ -167,6 +167,11 @@ public interface AmsSaleOrderMapper extends IBaseMapper<AmsSaleOrder, BigDecimal
 
     BigDecimal getMoreCarrier(String place);
 
+    //查找
+    BigDecimal getId(String saleOrderNo,Integer saleMaterialId);
+    //更新
+    int updateForTel(BigDecimal saleodermatetialid,String consigneeTel);
+
     Map<String,Object> getOrderIdByCapacity(Map<String,Object> map);
 
     Map<String, Object> getOrderMes(Map<String, Object> mapValue);

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

@@ -3,6 +3,7 @@ package com.steerinfo.dil.service;
 import com.steerinfo.dil.model.AmsContractTransportPrice;
 
 import java.math.BigDecimal;
+import java.text.ParseException;
 import java.util.List;
 import java.util.Map;
 
@@ -41,7 +42,7 @@ public interface IAmsContractTruckPriceService {
     //获取所有的油价
     List<Map<String, Object>> getOriginAndNowOilPrice();
     //油价联动导致运价变动,批量修改运价,同时修改吨公里的数值
-    int batchUpdateTransportPriceByOilPrice(Map<String,Object> map);
+    int batchUpdateTransportPriceByOilPrice(Map<String,Object> map) throws ParseException;
     //获取货物类型
     List<Map<String,Object>> getCargoName();
     //获取油品名称

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

@@ -154,6 +154,8 @@ public interface IAmsSaleOrderService {
     List<Map<String, Object>> getAllSteelSaleOrderList(Map<String, Object> mapValue);
     // 修改厂内未装货车辆的运单车牌号
     int updateCapacityNumberInFactory(Map<String, Object> mapValue);
+    //修改收货客户的电话(销售)
+    int updateConsigneeTel(Map<String,Object> mapValue);
     // 得到销售订单物资表主键
     List<Map<String, Object>> getSaleMaterialId(BigDecimal saleOrderMaterialId);
     // 查询下发给承运商的车序号信息

+ 20 - 12
src/main/java/com/steerinfo/dil/service/impl/AmsContractTruckPriceServiceImpl.java

@@ -16,6 +16,8 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -206,7 +208,7 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
      */
     @Override
     @Transactional
-    public int batchUpdateTransportPriceByOilPrice(Map<String,Object> map) {
+    public int batchUpdateTransportPriceByOilPrice(Map<String,Object> map){
         //正数的判断条件
         String flag= (String) map.get("flag");
         //运输单价变化的条数
@@ -218,21 +220,26 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
         //根据油品名称ID和非历史油价筛选出符合条件的运价合集
         List<Map<String, Object>> PriceValueList = amsContractTruckPriceMapper.getPriceValueList(oilTypeId);
         for (Map<String, Object> stringObjectMap : PriceValueList) {
+            stringObjectMap.put("priceDate",map.get("priceDate"));
             //获取该条单价的原油价基准
             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);
+            //计算油价变化率,公式:n=(当前油价-基数)÷基数×100%   (9.06-8.26)/8.26
+            BigDecimal n = (oilpriceBase.subtract(newOilPrice)).divide(newOilPrice,4,4);
             //若油价变化率超过该条单价的油价变化率阈值,修改原单价为历史数据,新增一条单价
             if(n.abs().doubleValue()>oilpriceChangeThreshold.doubleValue()){
                 //加一个判断(如果数据为正数则需要二次判断,如果数据为负数则直接生效)
-                if(newOilPrice.compareTo(oilpriceBase)==-1){
-                    //直接降低油价
-                    i+=addANewAmsContractTransportPrice(stringObjectMap,n,newOilPrice);
-                }else if (newOilPrice.compareTo(oilpriceBase)==1 && "1".equals(flag)){
-                    //加上两个判断之后
-                    i+=addANewAmsContractTransportPrice(stringObjectMap,n,newOilPrice);
+                try{
+                    if(newOilPrice.compareTo(oilpriceBase)==-1){
+                        //直接降低油价
+                        i+=addANewAmsContractTransportPrice(stringObjectMap,n,newOilPrice);
+                    }else if (newOilPrice.compareTo(oilpriceBase)==1 && "1".equals(flag)){
+                        //加上两个判断之后
+                        i+=addANewAmsContractTransportPrice(stringObjectMap,n,newOilPrice);
+                    }
+                }catch (Exception e){
+                    e.printStackTrace();
                 }
             }
         }
@@ -272,7 +279,7 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
      * @throws Exception
      */
     @Transactional
-    public int addANewAmsContractTransportPrice(Map<String, Object> stringObjectMap,BigDecimal n,BigDecimal newOilPrice){
+    public int addANewAmsContractTransportPrice(Map<String, Object> stringObjectMap,BigDecimal n,BigDecimal newOilPrice) throws ParseException {
         //定义将要改变的执行价
         BigDecimal nowPriceValue;
         //存储原运输单价实绩对象
@@ -291,7 +298,7 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
         BigDecimal i = amsContractTruckPriceMapper.selectMaxId();
         amsContractTransportPrice.setPriceId(i);
         //生成执行日期
-        amsContractTransportPrice.setPriceDate(new Date());
+        amsContractTransportPrice.setPriceDate(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse((String) stringObjectMap.get("priceDate")));
         //常规字段
         amsContractTransportPrice.setInsertUsername("admin");
         amsContractTransportPrice.setInsertTime(new Date());
@@ -340,13 +347,14 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
         try {
             nowPriceValue = UpdatePureBenzenePriceValueByOilPrice(n.toString(),amsContractTransportPrice.getPriceValue(),formulaId);
             //保留两位小数
-            nowPriceValue = nowPriceValue.divide(new BigDecimal(1),2,4);
+            nowPriceValue = nowPriceValue.divide(new BigDecimal(1),3,0);
             //调整纯苯运价
             amsContractTransportPrice.setPriceValue(nowPriceValue);
             //修改基准油价
             amsContractTransportPrice.setOilpriceBase(newOilPrice);
         } catch (Exception e) {
             e.printStackTrace();
+            return 0;
         }
         //新增数据
         int insert = amsContractTruckPriceMapper.insert(amsContractTransportPrice);

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

@@ -1749,6 +1749,21 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         return result;
     }
 
+    @Override
+    public int updateConsigneeTel(Map<String, Object> mapValue) {
+        String saleOrderNo= (String) mapValue.get("saleOrderNo");
+        Integer saleMaterialId= (Integer) mapValue.get("saleMaterialId");
+        String consigneeTel= (String) mapValue.get("consigneeTel");
+        int result = 0;
+        if (saleOrderNo!=null&&!("".equals(saleOrderNo))&&saleMaterialId!=null&&!("".equals(saleMaterialId))){
+            BigDecimal id = amsSaleOrderMapper.getId(saleOrderNo, saleMaterialId);
+            if (id!=null&&!("".equals(id))){
+                result += amsSaleOrderMapper.updateForTel(id,consigneeTel);
+            }
+        }
+        return result;
+    }
+
     @Override
     public List<Map<String, Object>> getSaleMaterialId(BigDecimal saleOrderMaterialId) {
         return amsSaleOrderMapper.getSaleMaterialId(saleOrderMaterialId);

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

@@ -4582,4 +4582,23 @@
     ON TTR.ORDER_ID = OO.ORDER_ID
     WHERE OO.ORDER_ID = #{orderId}
   </select>
+
+  <select id="getId" resultType="java.math.BigDecimal">
+    select ASOM.SALE_ORDER_MATERIAL_ID "saleodermatetialid"
+    from AMS_SALE_ORDER_MATERIAL ASOM
+    LEFT JOIN AMS_SALE_ORDER ASO
+    ON  ASO.SALE_ORDER_ID= ASOM.SALE_ORDER_ID
+    LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
+    ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+    LEFT JOIN AMS_SALE_MATERIAL ASM
+    ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
+    where ASO.sale_number=#{saleOrderNo}
+    and ASM.SALE_MATERIAL_ID =#{saleMaterialId}
+  </select>
+
+  <update id="updateForTel">
+    update AMS_SALE_ORDER_MATERIAL ASOM
+    set ASOM.SALE_ORDER_CONSIGNEE_TEL=#{consigneeTel}
+    WHERE ASOM.SALE_ORDER_MATERIAL_ID=#{saleodermatetialid}
+  </update>
 </mapper>