|
@@ -1,5 +1,6 @@
|
|
package com.steerinfo.dil.service.impl;
|
|
package com.steerinfo.dil.service.impl;
|
|
|
|
|
|
|
|
+import com.steerinfo.dil.feign.AmsFeign;
|
|
import com.steerinfo.dil.feign.JoinApiFeign;
|
|
import com.steerinfo.dil.feign.JoinApiFeign;
|
|
import com.steerinfo.dil.feign.OmsFeign;
|
|
import com.steerinfo.dil.feign.OmsFeign;
|
|
import com.steerinfo.dil.mapper.BmstruckDetailsOrderMapper;
|
|
import com.steerinfo.dil.mapper.BmstruckDetailsOrderMapper;
|
|
@@ -17,6 +18,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 javax.annotation.Resource;
|
|
import java.lang.reflect.Array;
|
|
import java.lang.reflect.Array;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
import java.text.DecimalFormat;
|
|
import java.text.DecimalFormat;
|
|
@@ -49,6 +51,9 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
|
|
@Autowired
|
|
@Autowired
|
|
OmsFeign omsFeign;
|
|
OmsFeign omsFeign;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ AmsFeign amsFeign;
|
|
|
|
+
|
|
//以下订单类型是需要算计量实绩的
|
|
//以下订单类型是需要算计量实绩的
|
|
final private List<Integer> inwardTypeList = Arrays.asList(10,11,15,16,23,24,20,25);
|
|
final private List<Integer> inwardTypeList = Arrays.asList(10,11,15,16,23,24,20,25);
|
|
//以下订单类型是需要根据线路去匹配承运起止范围以及物资
|
|
//以下订单类型是需要根据线路去匹配承运起止范围以及物资
|
|
@@ -489,33 +494,47 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
|
|
@Transactional
|
|
@Transactional
|
|
@Override
|
|
@Override
|
|
public int updateDetailsOrder(Map<String, Object> mapValue) {
|
|
public int updateDetailsOrder(Map<String, Object> mapValue) {
|
|
|
|
+ BigDecimal orderId = DataChange.dataToBigDecimal(mapValue.get("orderId"));
|
|
|
|
+ try {
|
|
|
|
+ int i = insertSelective(orderId);
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ }
|
|
BigDecimal priceId = DataChange.dataToBigDecimal(mapValue.get("priceId"));
|
|
BigDecimal priceId = DataChange.dataToBigDecimal(mapValue.get("priceId"));
|
|
- BigDecimal detailsId = DataChange.dataToBigDecimal(mapValue.get("detailsId"));
|
|
|
|
- BmstruckDetailsOrder bmstruckDetailsOrder = bmstruckDetailsOrderMapper.selectByPrimaryKey(detailsId);
|
|
|
|
- // 重新设置单价
|
|
|
|
- BigDecimal priceId1 = bmstruckDetailsOrder.getPriceId();
|
|
|
|
- bmstruckDetailsOrder.setPriceids(priceId1+","+priceId);
|
|
|
|
- bmstruckDetailsOrder.setPriceId(priceId);
|
|
|
|
- BigDecimal weightTaskResultId = bmstruckDetailsOrder.getWeightTaskResultId();
|
|
|
|
- BigDecimal orderId = bmstruckDetailsOrderMapper.getOrderId(weightTaskResultId);
|
|
|
|
- OmstruckOrder omstruckOrder = new OmstruckOrder();
|
|
|
|
- omstruckOrder.setOrderId(orderId);
|
|
|
|
- omstruckOrder.setPriceId(priceId);
|
|
|
|
- omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
|
|
|
|
|
|
+ //根据运输订单id查询计费详单id
|
|
|
|
+ List<BigDecimal> detailIds = bmstruckDetailsOrderMapper.getDetailIds(orderId);
|
|
|
|
+ int result = 0;
|
|
|
|
+ for (BigDecimal detailsId : detailIds) {
|
|
|
|
+ BmstruckDetailsOrder bmstruckDetailsOrder = bmstruckDetailsOrderMapper.selectByPrimaryKey(detailsId);
|
|
|
|
+ // 重新设置单价
|
|
|
|
+ BigDecimal priceId1 = bmstruckDetailsOrder.getPriceId();
|
|
|
|
+ bmstruckDetailsOrder.setPriceids(priceId1+","+priceId);
|
|
|
|
+ bmstruckDetailsOrder.setPriceId(priceId);
|
|
|
|
+ BigDecimal weightTaskResultId = bmstruckDetailsOrder.getWeightTaskResultId();
|
|
|
|
+ try {
|
|
|
|
+ // 计算出新的详单金额
|
|
|
|
+ BigDecimal newAmount = generateTruckFees(orderId,weightTaskResultId);
|
|
|
|
+ bmstruckDetailsOrder.setDetailsAmount(newAmount);
|
|
|
|
+ //修改计量表的历史时间
|
|
|
|
+ omstruckOrderMapper.modifyOldTime(priceId,new Date());
|
|
|
|
+ }catch (Exception e){
|
|
|
|
+ System.out.println("更新历史时间失败");
|
|
|
|
+ }
|
|
|
|
+ result = bmstruckDetailsOrderMapper.updateByPrimaryKeySelective(bmstruckDetailsOrder);
|
|
|
|
+ }
|
|
try {
|
|
try {
|
|
- // 计算出新的详单金额
|
|
|
|
- BigDecimal newAmount = generateTruckFees(orderId,weightTaskResultId);
|
|
|
|
- bmstruckDetailsOrder.setDetailsAmount(newAmount);
|
|
|
|
|
|
+ amsFeign.copySteelPrice(mapValue);
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
- try{
|
|
|
|
- //修改计量表的历史时间
|
|
|
|
- omstruckOrderMapper.modifyOldTime(priceId,new Date());
|
|
|
|
- }catch (Exception e){
|
|
|
|
- System.out.println("更新历史时间失败");
|
|
|
|
|
|
+ OmstruckOrder omstruckOrder = new OmstruckOrder();
|
|
|
|
+ omstruckOrder.setOrderId(orderId);
|
|
|
|
+ omstruckOrder.setPriceId(priceId);
|
|
|
|
+ omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
|
|
|
|
+ if(DataChange.dataToBigDecimal(mapValue.get("updatePlace")).intValue() == 1) {
|
|
|
|
+ //修改地址
|
|
|
|
+ bmstruckDetailsOrderMapper.updatePlace(mapValue);
|
|
}
|
|
}
|
|
- int result = bmstruckDetailsOrderMapper.updateByPrimaryKeySelective(bmstruckDetailsOrder);
|
|
|
|
|
|
+ //BigDecimal detailsId = DataChange.dataToBigDecimal(mapValue.get("detailsId"));
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|