提交 ee8d8dc9 authored 作者: 刘海泉's avatar 刘海泉

修改增吨减吨相关代码

上级 1f7aa9a2
......@@ -5,10 +5,10 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.apache.commons.lang3.StringUtils;
import java.math.BigDecimal;
@Getter
@Setter
@NoArgsConstructor
......@@ -29,6 +29,11 @@ public class OrderGoodsAPPVO {
@ApiModelProperty("剩余拉运吨数")
private String residueTransportWeight;
public String getResidueTransportWeight(){
return new BigDecimal(extractWeight).subtract(StringUtils.isNotBlank(alreadyTransportWeight)
?new BigDecimal(alreadyTransportWeight):BigDecimal.ZERO).toString();
}
@ApiModelProperty("已拉运吨数")
private String alreadyTransportWeight;
......
......@@ -158,7 +158,9 @@ public class OrderCancelComponent implements InitializingBean {
reduce = reduce.add(orderChild.getWeight());
}
if (orderGoods.getExtractWeight().compareTo(orderGoods.getResidueTransportWeight().add(reduce)) == 0) {
BigDecimal residueTransportWeight = orderGoodsService.calcOrderGoodsResidueWeight
(orderGoods.getExtractWeight(),orderGoods.getAlreadyTransportWeight());
if (orderGoods.getExtractWeight().compareTo(residueTransportWeight.add(reduce)) == 0) {
update.setOrderGoodsStatus(OrderGoodsStatusEnum.Status.CANCEL.getCode());
} else {
orderStatusCode = OrderEnum.Status.COMPLETED.getCode();
......@@ -188,7 +190,11 @@ public class OrderCancelComponent implements InitializingBean {
for (OrderGoods orderGoods : orderGoodsList) {
OrderGoods update = new OrderGoods();
update.setId(orderGoods.getId());
if (orderGoods.getResidueTransportWeight().compareTo(orderGoods.getExtractWeight()) == 0) {
BigDecimal residueTransportWeight = orderGoodsService.calcOrderGoodsResidueWeight
(orderGoods.getExtractWeight(),orderGoods.getAlreadyTransportWeight());
if (residueTransportWeight.compareTo(orderGoods.getExtractWeight()) == 0) {
update.setOrderGoodsStatus(OrderGoodsStatusEnum.Status.CANCEL.getCode());
} else {
orderStatusCode = OrderEnum.Status.COMPLETED.getCode();
......@@ -320,7 +326,6 @@ public class OrderCancelComponent implements InitializingBean {
}
ArrayList<OrderGoods> list = new ArrayList<>();
list.add(orderGoods);
orderGoodsService.batchUpdateResidueWeight(list);
} else {
//返回到货单
orderGoodsDao.updateOrderGoodsSetResidueWeightAndAlreadyWeight(weight, weight, orderGoods.getId());
......
......@@ -14,6 +14,7 @@ import com.clx.performance.extranal.user.DriverService;
import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.service.OrderChildLogService;
import com.clx.performance.service.OrderGoodsService;
import com.clx.performance.service.breakcontract.BreakContractDriverRecordService;
import com.clx.performance.service.child.OrderChildPostService;
import com.clx.user.enums.driver.DriverInfoEnum;
......@@ -63,6 +64,8 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
private final OrderChildPostService orderChildPostService;
private final OrderGoodsService orderGoodsService;
//根据货单最晚接单时间处理
public void expireProduceByLastOrderTime(LocalDateTime localDateTime, String orderGoodsNo) {
......@@ -120,8 +123,10 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
continue;
}
OrderGoods orderGoods = optional.get();
BigDecimal residueTransportWeight = orderGoodsService.calcOrderGoodsResidueWeight
(orderGoods.getExtractWeight(),orderGoods.getAlreadyTransportWeight());
if (orderGoods.getResidueTransportWeight().compareTo(BigDecimal.ZERO) == 0) {
if (residueTransportWeight.compareTo(BigDecimal.ZERO) == 0) {
List<OrderChild> orderChildren = orderChildDao.selectInTransitOrderChildByOrderGoodsNo(orderGoodsNo);
if (CollectionUtil.isNotEmpty(orderChildren)) {
//更新货单已完结
......
......@@ -41,7 +41,7 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int
void updateOrderGoodsReduceWeightAndStatus(Integer id, BigDecimal orderChildWeight, Integer orderGoodsStatus);
void updateOrderGoodsWeightResidueAndAlreadyAndStatus(Integer id, BigDecimal alreadyTransportWeight,BigDecimal residueTransportWeight,Integer orderGoodsStatus);
void updateOrderGoodsWeightAlreadyAndStatus(Integer id, BigDecimal residueWeight,Integer orderGoodsStatus);
IPage<OrderGoodsAPPVO> openOrderPageGoodsList(OrderGoodsListPageParam orderGoodsListPageParam,List<String> orderGoodsNoList);
......@@ -72,7 +72,7 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int
Integer updateOrderGoodsSetResidueWeightAndAlreadyWeight(BigDecimal residueWeight, BigDecimal alreadyWeight, Integer id);
Integer updateOrderGoodsSetResidueWeightAndAlreadyWeightAndStatus(BigDecimal residueWeight, BigDecimal alreadyWeight, Integer status, Integer id);
Integer updateOrderGoodsSetAlreadyWeightAndStatus( BigDecimal alreadyWeight, Integer status, Integer id);
OrderGoodsVO findOrderGoodsById(Integer id);
......@@ -83,7 +83,6 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int
boolean batchUpdateOrderGoodsStatus(Integer status, List<Integer> ids);
boolean batchUpdateOrderGoodsWeight(BigDecimal residueWeight, List<Integer> ids);
void updateSendSystemAddress(Integer ownerAddressId, Integer systemAddressId);
......@@ -99,7 +98,6 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int
IPage<OrderGoodsAPPVO> indexOrderGoodsListSearch(AppGoodsOrderSearchParam param);
void batchUpdateResidueWeight(List<Integer> list, BigDecimal residueWeight);
List<OrderGoodsFleetOpenTruck> queryProcessFleetOpenTruckList();
......
......@@ -78,8 +78,8 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
}
@Override
public void updateOrderGoodsWeightResidueAndAlreadyAndStatus(Integer id, BigDecimal alreadyTransportWeight,BigDecimal residueTransportWeight,Integer orderGoodsStatus) {
baseMapper.updateOrderGoodsWeightResidueAndAlreadyAndStatus(id, alreadyTransportWeight, residueTransportWeight, orderGoodsStatus);
public void updateOrderGoodsWeightAlreadyAndStatus(Integer id, BigDecimal residueWeight,Integer orderGoodsStatus) {
baseMapper.updateOrderGoodsWeightAlreadyAndStatus(id, residueWeight, orderGoodsStatus);
}
@Override
......@@ -187,8 +187,8 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
}
@Override
public Integer updateOrderGoodsSetResidueWeightAndAlreadyWeightAndStatus(BigDecimal residueWeight, BigDecimal alreadyWeight, Integer status, Integer id) {
return baseMapper.updateOrderGoodsSetResidueWeightAndAlreadyWeightAndStatus(residueWeight,alreadyWeight,status,id);
public Integer updateOrderGoodsSetResidueWeightAndAlreadyWeightAndStatus(BigDecimal alreadyWeight, Integer status, Integer id) {
return baseMapper.updateOrderGoodsSetResidueWeightAndAlreadyWeightAndStatus(alreadyWeight,status,id);
}
@Override
......@@ -213,13 +213,6 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
;
}
@Override
public boolean batchUpdateOrderGoodsWeight(BigDecimal residueWeight, List<Integer> ids) {
return update(lUdWrapper().in(OrderGoods :: getId,ids)
.set(OrderGoods::getResidueTransportWeight, residueWeight)
);
}
@Override
public List<OrderGoods> getOrderGoodsListByOrderNoAndStatus(String orderNo) {
return baseMapper.selectList(lQrWrapper().eq(OrderGoods::getOrderNo, orderNo)
......@@ -269,14 +262,6 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
return baseMapper.indexOrderGoodsListSearch(page,param);
}
@Override
public void batchUpdateResidueWeight(List<Integer> list, BigDecimal residueWeight) {
update(lUdWrapper()
.in(OrderGoods::getId, list)
.set(OrderGoods::getResidueTransportWeight, residueWeight)
);
}
@Override
public List<OrderGoodsFleetOpenTruck> queryProcessFleetOpenTruckList() {
return baseMapper.queryProcessFleetOpenTruckList();
......
......@@ -39,10 +39,10 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
void updateOrderGoodsWeightAndStatus(@Param("id") Integer id, @Param("weight") BigDecimal orderChildWeight, @Param("orderGoodsStatus") Integer orderGoodsStatus);
@Update(" update order_goods set " +
" already_transport_weight = already_transport_weight+#{alreadyTransportWeight}," +
" already_transport_weight = already_transport_weight - #{residueWeight}," +
"order_goods_status = #{orderGoodsStatus} " +
" where id = #{id}")
void updateOrderGoodsWeightResidueAndAlreadyAndStatus(@Param("id") Integer id, @Param("alreadyTransportWeight") BigDecimal alreadyTransportWeight, @Param("residueTransportWeight") BigDecimal residueTransportWeight,@Param("orderGoodsStatus") Integer orderGoodsStatus);
void updateOrderGoodsWeightAlreadyAndStatus(@Param("id") Integer id, @Param("residueWeight") BigDecimal residueWeight, @Param("orderGoodsStatus") Integer orderGoodsStatus);
@SelectProvider(type = OrderGoodsSqlProvider.class, method = "openOrderPageGoodsList")
......@@ -71,8 +71,8 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
@UpdateProvider(type = OrderGoodsSqlProvider.class, method = "updateOrderGoods")
Integer updateOrderGoods(@Param(value = "params") OrderGoodsEditParams orderGoodsEditParams);
@UpdateProvider(type = OrderGoodsSqlProvider.class, method = "updateOrderGoodsSetResidueWeightAndAlreadyWeightAndStatus")
Integer updateOrderGoodsSetResidueWeightAndAlreadyWeightAndStatus(@Param(value = "residueWeight") BigDecimal residueWeight,@Param(value = "alreadyWeight") BigDecimal alreadyWeight,@Param(value = "status") Integer status,@Param(value = "id") Integer id);
@UpdateProvider(type = OrderGoodsSqlProvider.class, method = "updateOrderGoodsSetAlreadyWeightAndStatus")
Integer updateOrderGoodsSetAlreadyWeightAndStatus(@Param(value = "alreadyWeight") BigDecimal alreadyWeight,@Param(value = "status") Integer status,@Param(value = "id") Integer id);
@SelectProvider(type = OrderGoodsSqlProvider.class, method = "getAlreadyTransportWeight")
BigDecimal getAlreadyTransportWeight(@Param("orderNo") String orderNo);
......
......@@ -99,8 +99,6 @@ public interface OrderGoodsService {
IPage<OrderGoodsAPPVO> indexOrderGoodsListSearch(AppGoodsOrderSearchParam param);
void batchUpdateResidueWeight(List<OrderGoods> list);
void saveBindTruck(DistributionTruckParam param);
......@@ -110,4 +108,7 @@ public interface OrderGoodsService {
List<DriverFreightPriceVO> getDriverFreightPriceList(String orderNo);
List<OrderGoodsPendingVO> getOrderGoodsPendingList(String orderNo);
BigDecimal calcOrderGoodsResidueWeight(BigDecimal extractWeight,BigDecimal alreadyWeight);
}
......@@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.order.enums.OrderEnum;
import com.clx.order.feign.OrderFeign;
import com.clx.order.param.feign.OrderCancelReasonParam;
import com.clx.order.param.feign.RollbackOrderWeightParam;
import com.clx.order.param.mq.FreezeTriggerMqParam;
import com.clx.order.vo.feign.FeignOrderVO;
import com.clx.performance.common.MqWrapper;
......@@ -147,7 +146,10 @@ public class OrderCancelServiceImpl implements OrderCancelService {
//没有运单,直接是取消
update.setOrderGoodsStatus(OrderGoodsStatusEnum.Status.CANCEL.getCode());
} else {
if (orderGoods.getResidueTransportWeight().compareTo(BigDecimal.ZERO) != 0) {
BigDecimal residueTransportWeight = orderGoodsService.calcOrderGoodsResidueWeight
(orderGoods.getExtractWeight(),orderGoods.getAlreadyTransportWeight());
if (residueTransportWeight.compareTo(BigDecimal.ZERO) != 0) {
//货单还有余量,是已完结
update.setOrderGoodsStatus(OrderGoodsStatusEnum.Status.COMPLETED.getCode());
} else {
......@@ -201,15 +203,14 @@ public class OrderCancelServiceImpl implements OrderCancelService {
@Override
public void ownerConfirmCancelProcess(String orderNo) {
log.info("开始执行订单取消吨数回填");
log.info("开始执行订单取消操作");
FeignOrderVO orderInfoFeignVO = orderFeign.getOrderInfoFeign(orderNo);
List<OrderGoods> orderGoodsList = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo);
Map<Integer, BigDecimal> truckDemandMap = new HashMap<>();
truckDemandMap.put(TruckDemandEnum.TruckType.PLATFORM_CAR.getCode(), BigDecimal.ZERO);
truckDemandMap.put(TruckDemandEnum.TruckType.OWNER_CAR.getCode(), BigDecimal.ZERO);
if (!TruckDemandEnum.TruckType.PLATFORM_ANY_CAR.getCode().equals(orderInfoFeignVO.getTruckDemand())) {
if (OrderEnum.Status.COMPLETED.getCode().equals(orderInfoFeignVO.getOrderStatus())) {
List<OrderGoods> orderGoodsList = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo);
//已完结
List<OrderChild> orderChildrenList = orderChildDao.selectResidueWeight(orderNo, OrderChildEnum.Status.ARRIVE_SEND.getCode());
Map<String, List<OrderGoods>> orderGoodsMap = orderGoodsList.stream()
......@@ -227,102 +228,10 @@ public class OrderCancelServiceImpl implements OrderCancelService {
sum = orderChildren.stream()
.map(OrderChild::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add);
}
truckDemandMap.put(orderGoods.getTruckDemand(),
truckDemandMap.get(orderGoods.getTruckDemand())
.add(orderGoods.getResidueTransportWeight().add(sum)));
orderGoodsDao.updateOrderGoodsSetResidueWeightAndAlreadyWeight(sum, sum, orderGoods.getId());
}
} else if (OrderEnum.Status.CANCELED.getCode().equals(orderInfoFeignVO.getOrderStatus())) {
//已取消
for (OrderGoods orderGoods : orderGoodsList) {
truckDemandMap.put(orderGoods.getTruckDemand(),
truckDemandMap.get(orderGoods.getTruckDemand())
.add(orderGoods.getResidueTransportWeight()));
}
}
Integer truckDemand = orderInfoFeignVO.getTruckDemand();
BigDecimal residueWeight = truckDemandMap.get(truckDemand);
if (residueWeight.compareTo(BigDecimal.ZERO) == 0) {
log.info("当前订单对应的货单无需吨数回填,订单编号{}", orderNo);
return;
}
//归还吨数
RollbackOrderWeightParam param = new RollbackOrderWeightParam();
param.setOrderNo(orderInfoFeignVO.getOrderNo());
if (truckDemand.equals(TruckDemandEnum.TruckType.PLATFORM_CAR.getCode())) {
param.setResidueWeight(residueWeight);
param.setOwnResidueCarryWeight(BigDecimal.ZERO);
param.setPlatformResidueCarryWeight(residueWeight);
} else if (truckDemand.equals(TruckDemandEnum.TruckType.OWNER_CAR.getCode())) {
param.setResidueWeight(residueWeight);
param.setOwnResidueCarryWeight(residueWeight);
param.setPlatformResidueCarryWeight(BigDecimal.ZERO);
}
orderFeign.rollbackOrderWeight(param);
} else {
Map<Integer, BigDecimal> vehicleUsageMap = new HashMap<>();
vehicleUsageMap.put(1, BigDecimal.ZERO);
vehicleUsageMap.put(2, BigDecimal.ZERO);
if (OrderEnum.Status.COMPLETED.getCode().equals(orderInfoFeignVO.getOrderStatus())) {
//已完结
List<OrderChild> orderChildrenList = orderChildDao.selectResidueWeight(orderNo, OrderChildEnum.Status.ARRIVE_SEND.getCode());
//货单
Map<String, List<OrderGoods>> orderGoodsMap = orderGoodsList.stream()
.collect(Collectors.groupingBy(OrderGoods::getOrderGoodsNo));
//运单
Map<String, List<OrderChild>> orderChildMap = orderChildrenList.stream()
.collect(Collectors.groupingBy(OrderChild::getOrderGoodsNo));
for (Map.Entry<String, List<OrderGoods>> entry : orderGoodsMap.entrySet()) {
String orderGoodsNo = entry.getKey();
OrderGoods orderGoods = entry.getValue().get(0);
BigDecimal sum = BigDecimal.ZERO;
if (CollectionUtil.isNotEmpty(orderChildMap.get(orderGoodsNo))) {
sum = orderChildMap.get(orderGoodsNo).stream()
.map(OrderChild::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add);
}
vehicleUsageMap.put(orderGoods.getVehicleUsage(),
vehicleUsageMap.get(orderGoods.getVehicleUsage())
.add(orderGoods.getResidueTransportWeight().add(sum)));
orderGoodsDao.updateOrderGoodsSetResidueWeightAndAlreadyWeight(sum, sum, orderGoods.getId());
}
} else if (OrderEnum.Status.CANCELED.getCode().equals(orderInfoFeignVO.getOrderStatus())) {
for (OrderGoods orderGoods : orderGoodsList) {
vehicleUsageMap.put(orderGoods.getVehicleUsage(),
vehicleUsageMap.get(orderGoods.getVehicleUsage())
.add(orderGoods.getResidueTransportWeight()));
}
}
//归还吨数
BigDecimal platformResidueSum = vehicleUsageMap.get(1);
BigDecimal ownResidueSum = vehicleUsageMap.get(2);
BigDecimal residueSum = platformResidueSum.add(ownResidueSum);
RollbackOrderWeightParam param = new RollbackOrderWeightParam();
param.setOrderNo(orderInfoFeignVO.getOrderNo());
param.setResidueWeight(residueSum);
param.setPlatformResidueCarryWeight(platformResidueSum);
param.setOwnResidueCarryWeight(ownResidueSum);
try {
Result<Object> result = orderFeign.rollbackOrderWeight(param);
if (!result.succeed()) {
throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "远程调用更新订单余量失败");
}
// if (!orderFeign.saveOrderSettlementJobRecord(orderNo).succeed()) {
// throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "货主取消订单失败,原因:远程调用结算单锁定失败");
// }
} catch (Exception e) {
throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, e.getMessage());
}
}
//取消订单更新货单剩余吨数
orderGoodsService.batchUpdateResidueWeight(orderGoodsList);
}
......@@ -501,35 +410,23 @@ public class OrderCancelServiceImpl implements OrderCancelService {
@Override
@Transactional(rollbackFor = Exception.class)
public void orderCancelProcess(OrderCancelParam param) {
Map<Integer, BigDecimal> truckDemandMap = new HashMap<>();
truckDemandMap.put(TruckDemandEnum.TruckType.PLATFORM_CAR.getCode(), BigDecimal.ZERO);
truckDemandMap.put(TruckDemandEnum.TruckType.OWNER_CAR.getCode(), BigDecimal.ZERO);
Map<Integer, BigDecimal> vehicleUsageMap = new HashMap<>();
vehicleUsageMap.put(1, BigDecimal.ZERO);
vehicleUsageMap.put(2, BigDecimal.ZERO);
String orderNo = param.getOrderNo();
FeignOrderVO orderInfoFeign = orderFeign.getOrderInfoFeign(orderNo);
Integer truckDemand = orderInfoFeign.getTruckDemand();
List<OrderGoods> orderGoodsList = null;
switch (param.getCancelType()) {
case 1: //单纯取消订单及货单
orderGoodsList = getOrderGoods(orderNo);
getOrderGoods(orderNo);
break;
case 2: //取消未拉运吨数的货单及订单
orderGoodsList = getGoods(orderNo);
getGoods(orderNo);
break;
case 3: //取消未拉运+未到达货源地吨数
orderGoodsList = getOrderGoods(param, orderNo);
getOrderGoods(param, orderNo);
break;
default:
return;
}
//订单取消恢复货单的剩余吨数为0
orderGoodsService.batchUpdateResidueWeight(orderGoodsList);
//触发自动冻结的mq消费逻辑
triggerAutoFreeze(orderInfoFeign.getOwnerUserNo(),orderNo);
......@@ -551,7 +448,6 @@ public class OrderCancelServiceImpl implements OrderCancelService {
.map(OrderChild::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add);
update.setAlreadyTransportWeight(orderGoods.getAlreadyTransportWeight().subtract(childSum)
);
update.setResidueTransportWeight(orderGoods.getResidueTransportWeight().add(childSum));
orderGoodsDao.updateEntityByKey(update);
}
}
......
......@@ -414,8 +414,10 @@ public class OrderChildServiceImpl implements OrderChildService {
}
}
BigDecimal residueTransportWeight = orderGoodsService.calcOrderGoodsResidueWeight
(orderGoods.getExtractWeight(),orderGoods.getAlreadyTransportWeight());
// 验证是否有足量去接该运单
if(judgeNotEnoughWeightOrdered(orderGoods.getResidueTransportWeight(),orderInfo.getOrderNo())){
if(judgeNotEnoughWeightOrdered(residueTransportWeight,orderInfo.getOrderNo())){
throw new ServiceSystemException(PerformanceResultEnum.ORDER_WEIGHT_LACK);
}
......@@ -460,22 +462,12 @@ public class OrderChildServiceImpl implements OrderChildService {
Integer overWeight = orderInfo.getOverWeight();
if(Objects.equals(overWeight,OrderGoodsOverWeightEnum.NO.getCode())){
if (orderGoods.getResidueTransportWeight().compareTo(new BigDecimal(35)) < 0) {
orderChild.setWeight(orderGoods.getResidueTransportWeight());
} else {
orderChild.setWeight(new BigDecimal(35));
}
} else{
if (orderGoods.getResidueTransportWeight().compareTo(new BigDecimal(50)) < 0) {
orderChild.setWeight(orderGoods.getResidueTransportWeight());
} else {
orderChild.setWeight(new BigDecimal(50));
}
}
//orderChild.setWeight(orderChild.getTruckLoad());
orderChild.setFreight(orderChildFreightCalc(orderChild));
......@@ -2086,7 +2078,10 @@ public class OrderChildServiceImpl implements OrderChildService {
private void updateOrderGoodsComplete(OrderGoods orderGoods, OrderChild orderChild, long count){
if (count > 1) {return;}
goodsOrderTruckRecordComponent.deleteTruckRecord(orderGoods.getOrderGoodsNo(),orderChild.getTruckNo());
if (orderGoods.getResidueTransportWeight().compareTo(BigDecimal.ZERO) <= 0){
BigDecimal residueTransportWeight = orderGoodsService.calcOrderGoodsResidueWeight
(orderGoods.getExtractWeight(),orderGoods.getAlreadyTransportWeight());
if (residueTransportWeight.compareTo(BigDecimal.ZERO) <= 0){
//orderGoodsDao.updateOrderGoodsStatusByOrderGoodsNo(orderGoods.getOrderGoodsNo(), OrderGoodsStatusEnum.Status.SUCCESS.getCode());
orderGoodsTruckBindDao.updateOrderGoodsBindStatus(orderGoods.getOrderGoodsNo(), OrderGoodsTruckBindEnum.Status.SUCCESS.getCode());
goodsOrderTruckRecordComponent.deleteTruckRecord(orderGoods.getOrderGoodsNo());
......
......@@ -10,7 +10,6 @@ import com.clx.order.enums.ResultEnum;
import com.clx.order.enums.VehicleUsageEnum;
import com.clx.order.feign.OrderFeign;
import com.clx.order.param.feign.OrderCancelReasonParam;
import com.clx.order.param.feign.RollbackOrderWeightParam;
import com.clx.order.vo.feign.FeignOrderInfoVO;
import com.clx.order.vo.feign.FeignOrderVO;
import com.clx.order.vo.pc.owner.OwnerQuotationDetailVO;
......@@ -229,6 +228,9 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
item.setOverOrderWeight(1);
}
}
item.setResidueTransportWeight(item.getExtractWeight()
.subtract(Objects.nonNull(item.getAlreadyTransportWeight())
?item.getAlreadyTransportWeight():BigDecimal.ZERO));
});
}
return page;
......@@ -257,7 +259,9 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
public void updateOrderGoodsReduceWeightAndStatus(OrderGoods orderGoods, OrderChild orderChild, Integer orderGoodsStatus) {
orderGoodsDao.updateOrderGoodsReduceWeightAndStatus(orderGoods.getId(), orderChild.getWeight(), orderGoodsStatus);
//货单没有辆,并且货单用车非自有车
if (orderGoods.getResidueTransportWeight().compareTo(orderChild.getWeight()) <= 0
BigDecimal residueTransportWeight = this.calcOrderGoodsResidueWeight
(orderGoods.getExtractWeight(),orderGoods.getAlreadyTransportWeight());
if (residueTransportWeight.compareTo(orderChild.getWeight()) <= 0
&& !Objects.equals(orderGoods.getVehicleUsage(),VehicleUsageEnum.Status.OWN.getCode())) {
//释放其他车辆
goodsOrderTruckRecordComponent.releaseDriverAndTruckBind(orderGoods.getOrderGoodsNo(), orderChild.getTruckNo());
......@@ -431,19 +435,24 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
}
//考虑到借吨、恢复吨数的货单,逻辑判断实际的提取吨数
BigDecimal realExtractWeight = oldOrderGoods.getResidueTransportWeight().compareTo(BigDecimal.ZERO) == 0?
oldOrderGoods.getAlreadyTransportWeight():oldOrderGoods.getAlreadyTransportWeight().add(oldOrderGoods.getResidueTransportWeight());
BigDecimal oldResidueTransportWeight = this.calcOrderGoodsResidueWeight
(oldOrderGoods.getExtractWeight(),oldOrderGoods.getAlreadyTransportWeight());
BigDecimal realExtractWeight = oldResidueTransportWeight.compareTo(BigDecimal.ZERO) == 0?
oldOrderGoods.getAlreadyTransportWeight():oldOrderGoods.getAlreadyTransportWeight().add(oldResidueTransportWeight);
oldOrderGoods.setExtractWeight(realExtractWeight);
//本次提取增加或者减少的吨数 = 本次提取的吨数 - 货单原实际提取吨数
BigDecimal changeWeight = orderGoodsParams.getExtractWeight().subtract(realExtractWeight);
BigDecimal residueTransportWeight = this.calcOrderGoodsResidueWeight
(oldOrderGoods.getExtractWeight(),oldOrderGoods.getAlreadyTransportWeight());
if (changeWeight.compareTo(BigDecimal.ZERO) > 0) {
orderGoodsParams.setResidueTransportWeight(oldOrderGoods.getResidueTransportWeight().add(changeWeight));
orderGoodsParams.setResidueTransportWeight(residueTransportWeight.add(changeWeight));
}else if (changeWeight.compareTo(BigDecimal.ZERO) < 0 ){
orderGoodsParams.setResidueTransportWeight(orderGoodsParams.getExtractWeight().subtract(oldOrderGoods.getAlreadyTransportWeight()));
} else {
//当编辑吨数等于0 的时候,不进行拦截
orderGoodsParams.setResidueTransportWeight(oldOrderGoods.getResidueTransportWeight());
orderGoodsParams.setResidueTransportWeight(residueTransportWeight);
}
BigDecimal orderResidueWeight = orderWeightService.getOrderResidueWeight(param.getOrderNo());
......@@ -619,7 +628,6 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
BigDecimal sum = BigDecimal.ZERO;
OrderGoods orderGoods = dto.getOrderGoods();
List<String> childNoList = dto.getChildNoList();
RollbackOrderWeightParam param = new RollbackOrderWeightParam();
List<OrderChild> orderChildList = orderChildDao.selectResidueWeightByOrderGoodsNo(orderGoods.getOrderGoodsNo(),
OrderChildEnum.Status.DRIVER_CANCEL.getCode(), dto.getOrderGoodsCancelParam().getTruckList());
......@@ -646,49 +654,32 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
dto.setOrderGoodsStatus(OrderGoodsStatusEnum.Status.COMPLETED.getCode());
}
}
BigDecimal residueWeight = orderGoods.getResidueTransportWeight().add(sum);
param.setResidueWeight(residueWeight);
param.setOrderNo(orderGoods.getOrderNo());
if (!orderGoods.getTruckDemand().equals(TruckDemandEnum.TruckType.PLATFORM_ANY_CAR.getCode())) {
param.setOwnResidueCarryWeight(BigDecimal.ZERO);
param.setPlatformResidueCarryWeight(BigDecimal.ZERO);
} else {
if (orderGoods.getVehicleUsage().equals(VehicleUsageEnum.Status.PLATFORM.getCode())) {
param.setOwnResidueCarryWeight(BigDecimal.ZERO);
param.setPlatformResidueCarryWeight(residueWeight);
} else if (orderGoods.getVehicleUsage().equals(VehicleUsageEnum.Status.OWN.getCode())) {
param.setOwnResidueCarryWeight(residueWeight);
param.setPlatformResidueCarryWeight(BigDecimal.ZERO);
}
}
orderGoodsTruckBindDao.updateOrderGoodsBindStatus(orderGoods.getOrderGoodsNo(), OrderGoodsTruckBindEnum.Status.CANCEL.getCode());
log.info("取消货单,参数:{}", JSONUtil.parse(param));
if (orderFeign.rollbackOrderWeight(param).succeed()) {
orderGoodsDao.updateOrderGoodsSetResidueWeightAndAlreadyWeightAndStatus(orderGoods.getResidueTransportWeight(),
sum, dto.getOrderGoodsStatus(), orderGoods.getId());
}
orderGoodsDao.updateOrderGoodsSetAlreadyWeightAndStatus(sum, dto.getOrderGoodsStatus(), orderGoods.getId());
}
private void cancelOperateTwoTypeStrategy(OrderGoodsCancelDTO dto) {
BigDecimal sum = BigDecimal.ZERO;
String now = DateUtils.formatDateTime(LocalDateTime.now()).get();
OrderGoods orderGoods = dto.getOrderGoods();
RollbackOrderWeightParam param = new RollbackOrderWeightParam();
List<OrderChild> orderChildList = orderChildDao.selectResidueWeightByOrderGoodsNo(orderGoods.getOrderGoodsNo(), OrderChildEnum.Status.DRIVER_CANCEL.getCode());
List<String> childNoList = dto.getChildNoList();
BigDecimal childResidueWeight = BigDecimal.ZERO;
if (CollectionUtils.isNotEmpty(orderChildList)) {
List<OrderChild> filterOrderChildList = orderChildList.stream().filter(item -> item.getStatus() < OrderChildEnum.Status.ARRIVE_SEND.getCode()).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(filterOrderChildList)) {
for (OrderChild orderChild : filterOrderChildList) {
driverService.updateOrderStatus(orderChild.getDriverUserNo(), DriverInfoEnum.DriverStatus.NO.getCode(), orderChild.getTruckId(), 1);
childNoList.add(orderChild.getChildNo());
sum = sum.add(orderChild.getWeight());
orderChildLogService.saveOrderChildLog(orderChild.getChildNo(),
OrderChildEnum.Status.PLATFORM_CANCEL.getCode(), OrderChildEnum.Status.PLATFORM_CANCEL.getName(),
OrderChildLogEnum.CreateType.PLATFORM.getCode(), 0L, OrderChildLogEnum.CreateType.PLATFORM.getMsg()
);
childResidueWeight = childResidueWeight.add(orderChild.getWeight());
}
orderChildDao.batchUpdateOrderChildStatus(
OrderChildEnum.Status.PLATFORM_CANCEL.getCode(), OrderChildEnum.Status.PLATFORM_CANCEL.getName(),
......@@ -699,68 +690,22 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
dto.setOrderGoodsStatus(OrderGoodsStatusEnum.Status.COMPLETED.getCode());
}
}
BigDecimal residueWeight = orderGoods.getResidueTransportWeight().add(sum);
param.setResidueWeight(residueWeight);
param.setOrderNo(orderGoods.getOrderNo());
if (!orderGoods.getTruckDemand().equals(TruckDemandEnum.TruckType.PLATFORM_ANY_CAR.getCode())) {
param.setOwnResidueCarryWeight(BigDecimal.ZERO);
param.setPlatformResidueCarryWeight(BigDecimal.ZERO);
} else {
if (orderGoods.getVehicleUsage().equals(VehicleUsageEnum.Status.PLATFORM.getCode())) {
param.setOwnResidueCarryWeight(BigDecimal.ZERO);
param.setPlatformResidueCarryWeight(residueWeight);
} else if (orderGoods.getVehicleUsage().equals(VehicleUsageEnum.Status.OWN.getCode())) {
param.setOwnResidueCarryWeight(residueWeight);
param.setPlatformResidueCarryWeight(BigDecimal.ZERO);
}
}
orderGoodsTruckBindDao.updateOrderGoodsBindStatus(orderGoods.getOrderGoodsNo(), OrderGoodsTruckBindEnum.Status.CANCEL.getCode());
log.info("取消货单,参数:{}", JSONUtil.parse(param));
if (orderFeign.rollbackOrderWeight(param).succeed()) {
OrderGoods update = new OrderGoods();
update.setId(orderGoods.getId());
update.setResidueTransportWeight(BigDecimal.ZERO);
update.setOrderGoodsStatus(OrderGoodsStatusEnum.Status.COMPLETED.getCode());
orderGoodsDao.updateEntityByKey(update);
}
orderGoodsDao.updateOrderGoodsWeightAlreadyAndStatus(orderGoods.getGoodsId(),childResidueWeight,OrderGoodsStatusEnum.Status.COMPLETED.getCode());
}
private void cancelOperateOneTypeStrategy(OrderGoodsCancelDTO dto) {
RollbackOrderWeightParam param = new RollbackOrderWeightParam();
OrderGoods orderGoods = dto.getOrderGoods();
List<OrderChild> orderChildList = orderChildDao.selectResidueWeightByOrderGoodsNo(orderGoods.getOrderGoodsNo(), OrderChildEnum.Status.DRIVER_CANCEL.getCode());
if (CollectionUtils.isNotEmpty(orderChildList)) {
throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "当前货单已产生运单");
}
BigDecimal residueWeight = dto.getOrderGoods().getResidueTransportWeight();
param.setResidueWeight(residueWeight);
param.setOrderNo(orderGoods.getOrderNo());
if (!orderGoods.getTruckDemand().equals(TruckDemandEnum.TruckType.PLATFORM_ANY_CAR.getCode())) {
param.setOwnResidueCarryWeight(BigDecimal.ZERO);
param.setPlatformResidueCarryWeight(BigDecimal.ZERO);
} else {
if (orderGoods.getVehicleUsage().equals(VehicleUsageEnum.Status.PLATFORM.getCode())) {
param.setOwnResidueCarryWeight(BigDecimal.ZERO);
param.setPlatformResidueCarryWeight(residueWeight);
} else if (orderGoods.getVehicleUsage().equals(VehicleUsageEnum.Status.OWN.getCode())) {
param.setOwnResidueCarryWeight(residueWeight);
param.setPlatformResidueCarryWeight(BigDecimal.ZERO);
}
}
orderGoodsTruckBindDao.updateOrderGoodsBindStatus(orderGoods.getOrderGoodsNo(), OrderGoodsTruckBindEnum.Status.CANCEL.getCode());
log.info("取消货单,参数:{}", JSONUtil.parse(param));
if (orderFeign.rollbackOrderWeight(param).succeed()) {
OrderGoods update = new OrderGoods();
update.setId(orderGoods.getId());
update.setResidueTransportWeight(BigDecimal.ZERO);
update.setOrderGoodsStatus(dto.getOrderGoodsStatus());
orderGoodsDao.updateEntityByKey(update);
}
}
/**
* 查看当前货单可取消吨数
......@@ -769,38 +714,37 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
*/
@Override
public BigDecimal orderGoodsCancelResidueWeight(OrderGoodsCancelParam goodsCancelParam) {
String orderGoodsNo = goodsCancelParam.getOrderGoodsNo();
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderGoodsNo).orElseThrow(PerformanceResultEnum.HTTP_ERROR, "未查询到货单");
List<OrderChild> orderChildList = null;
BigDecimal residueWeight = null;
BigDecimal sum = BigDecimal.ZERO;
Integer cancelOperateType = goodsCancelParam.getCancelOperateType();
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(goodsCancelParam.getOrderGoodsNo()).orElseThrow(
PerformanceResultEnum.DATA_NOT_FIND);
//订单剩余吨数
BigDecimal orderResidueWeight = orderWeightService.getOrderResidueWeight(goodsCancelParam.getOrderNo());
//获取货单剩余吨数
BigDecimal orderGoodsResidueWeight = this.calcOrderGoodsResidueWeight(orderGoods.getExtractWeight(),orderGoods.getAlreadyTransportWeight());
//货单剩余量大于订单剩余量,取订单剩余量,否则取货单剩余量
BigDecimal residueWeight = orderGoodsResidueWeight.compareTo(orderResidueWeight) > 0? orderResidueWeight : orderGoodsResidueWeight;
// 1:弹窗1 2:取消未接单及未到达货源地的车辆 3:取消未接单及未装车的车辆
switch (cancelOperateType) {
switch (goodsCancelParam.getCancelOperateType()) {
case 1:
return orderGoods.getResidueTransportWeight();
return residueWeight;
case 2:
orderChildList = orderChildDao.selectResidueWeightByOrderGoodsNo(orderGoods.getOrderGoodsNo(), OrderChildEnum.Status.ARRIVE_SEND.getCode());
if (CollectionUtils.isNotEmpty(orderChildList)) {
sum = orderChildList.stream().map(OrderChild::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add);
}
residueWeight = orderGoods.getResidueTransportWeight().add(sum);
return residueWeight;
case 3:
orderChildList = orderChildDao.selectResidueWeightByOrderGoodsNo(orderGoods.getOrderGoodsNo(), OrderChildEnum.Status.LOAD.getCode(), goodsCancelParam.getTruckList());
List<OrderChild> orderChildList = orderChildDao.selectResidueWeight(goodsCancelParam.getOrderNo(), OrderChildEnum.Status.ARRIVE_SEND.getCode());
BigDecimal childResidueWeight = BigDecimal.ZERO;
if (CollectionUtils.isNotEmpty(orderChildList)) {
sum = orderChildList.stream().map(OrderChild::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add);
childResidueWeight = orderChildList.stream().map(OrderChild::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add);
}
residueWeight = orderGoods.getResidueTransportWeight().add(sum);
residueWeight = residueWeight.add(childResidueWeight);
return residueWeight;
default:
throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "参数类型有误");
default:throw new RuntimeException("参数错误");
}
}
......@@ -817,12 +761,10 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
public OrderGoodsEditVO findOrderGoodsById(Integer id) {
OrderGoodsEditVO result = new OrderGoodsEditVO();
OrderGoodsVO orderGoodsVO = orderGoodsDao.findOrderGoodsById(id);
if(BigDecimal.ZERO.compareTo(orderGoodsVO.getResidueTransportWeight()) == 0 ){
//如果借吨或者恢复吨数,会导致提取吨数不准确,所以这里取准确提取吨数
orderGoodsVO.setExtractWeight(orderGoodsVO.getAlreadyTransportWeight());
}else{
orderGoodsVO.setExtractWeight(orderGoodsVO.getAlreadyTransportWeight().add(orderGoodsVO.getResidueTransportWeight()));
}
orderGoodsVO.setResidueTransportWeight(orderGoodsVO.getExtractWeight()
.subtract(Objects.nonNull(orderGoodsVO.getAlreadyTransportWeight())
?orderGoodsVO.getAlreadyTransportWeight():BigDecimal.ZERO));
String orderNo = orderGoodsVO.getOrderNo();
FeignOrderVO orderInfoFeign = orderFeign.getOrderInfoFeign(orderNo);
......@@ -891,15 +833,6 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
return orderGoodsDao.indexOrderGoodsListSearch(param);
}
@Override
public void batchUpdateResidueWeight(List<OrderGoods> list) {
if(CollectionUtils.isEmpty(list)){
return;
}
List<Integer> collect = list.stream().map(OrderGoods::getId).collect(Collectors.toList());
orderGoodsDao.batchUpdateResidueWeight(collect,BigDecimal.ZERO);
}
@Override
public void updateFrightPrice(String orderNo, BigDecimal pendingOrderFreight) {
List<OrderGoods> list = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo);
......@@ -992,8 +925,9 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
orderGoodsLog.setCreateBy(0L);
orderGoodsLog.setRemark("货主发起减吨请求,当前已挂单量超过总拉运量,自动取消");
orderGoodsLogs.add(orderGoodsLog);
totalCancelWeight = totalCancelWeight.add(Objects.nonNull(orderGoods.getResidueTransportWeight())?
orderGoods.getResidueTransportWeight() : BigDecimal.ZERO);
BigDecimal residueTransportWeight = this.calcOrderGoodsResidueWeight
(orderGoods.getExtractWeight(),orderGoods.getAlreadyTransportWeight());
totalCancelWeight = totalCancelWeight.add(residueTransportWeight);
if(Objects.equals(orderGoods.getPendingOrderWay(),PendingOrderWayStatusEnum.Status.DX.getCode())
|| Objects.equals(orderGoods.getPendingOrderWay(),PendingOrderWayStatusEnum.Status.FLEET_DX.getCode())){
cancelTruckBindOrderGoodsNoList.add(orderGoods.getOrderGoodsNo());
......@@ -1035,4 +969,15 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
.collect(Collectors.toList());
return orderGoodsStruct.convertOrderGoodsPendingList(sort);
}
@Override
public BigDecimal calcOrderGoodsResidueWeight(BigDecimal extractWeight, BigDecimal alreadyWeight) {
BigDecimal residueTransportWeight = Objects.nonNull(extractWeight)?extractWeight:BigDecimal.ZERO
.subtract(Objects.nonNull(alreadyWeight)?alreadyWeight:BigDecimal.ZERO);
if(residueTransportWeight.compareTo(BigDecimal.ZERO) <= 0){
return BigDecimal.ZERO;
}
return residueTransportWeight;
}
}
......@@ -4,6 +4,7 @@ import com.clx.order.enums.VehicleUsageEnum;
import com.clx.order.vo.feign.FeignOrderInfoVO;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.enums.OrderGoodsStatusEnum;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.ResultEnum;
import com.clx.performance.enums.TruckDemandEnum;
......@@ -58,11 +59,20 @@ public class OrderWeightServiceImpl implements OrderWeightService {
BigDecimal platOrderGoodsWeight = BigDecimal.ZERO;
for (OrderGoods item : orderGoodsList) {
BigDecimal weight; //取消,完成,完结的货单取 已拉运吨数 作为提取吨数,
if(Objects.equals(item.getOrderGoodsStatus(), OrderGoodsStatusEnum.Status.CANCEL.getCode())
|| Objects.equals(item.getOrderGoodsStatus(), OrderGoodsStatusEnum.Status.SUCCESS.getCode())
|| Objects.equals(item.getOrderGoodsStatus(), OrderGoodsStatusEnum.Status.COMPLETED.getCode())){
weight = item.getAlreadyTransportWeight();
}else{
weight = item.getExtractWeight();
}
if(Objects.equals(item.getVehicleUsage(), VehicleUsageEnum.Status.OWN.getCode())){
ownOrderGoodsWeight = ownOrderGoodsWeight.add(item.getExtractWeight());
ownOrderGoodsWeight = ownOrderGoodsWeight.add(weight);
}
if(Objects.equals(item.getVehicleUsage(), VehicleUsageEnum.Status.PLATFORM.getCode())){
platOrderGoodsWeight = platOrderGoodsWeight.add(item.getExtractWeight());
platOrderGoodsWeight = platOrderGoodsWeight.add(weight);
}
}
......
......@@ -33,7 +33,6 @@ public class OrderGoodsSqlProvider {
String sql = new SQL() {{
SELECT("a.id, a.order_no," +
" a.order_goods_no, a.order_goods_status, a.extract_weight, " +
" if(a.residue_transport_weight < 0, '0', a.residue_transport_weight) as residue_transport_weight ," +
" a.already_transport_weight,a.already_load_weight, a.send_address_id, a.send_address_shorter,a.send_longitude," +
" a.send_latitude,a.receive_address_id, a.receive_address_shorter,a.receive_longitude,a.receive_latitude," +
"a.goods_id, a.goods_name, a.pending_order_way," +
......@@ -96,7 +95,7 @@ public class OrderGoodsSqlProvider {
String sql = new SQL() {{
SELECT("a.id, a.order_no," +
" a.order_goods_no, a.order_goods_status, a.extract_weight, " +
" a.residue_transport_weight,a.already_transport_weight, a.send_address_id, a.send_address_shorter,a.send_longitude," +
" a.already_transport_weight, a.send_address_id, a.send_address_shorter,a.send_longitude," +
" a.send_latitude,a.receive_address_id, a.receive_address_shorter,a.receive_longitude,a.receive_latitude," +
"a.goods_id, a.goods_name, a.pending_order_way," +
" date_format(a.directional_expire_time, '%Y-%m-%d %H:%i:%s') as directional_expire_time ," +
......@@ -147,7 +146,7 @@ public class OrderGoodsSqlProvider {
StringBuffer sqlList = new StringBuffer();
sqlList.append("select a.id, a.order_no," +
" a.order_goods_no, a.order_goods_status," +
" a.extract_weight,a.residue_transport_weight," +
" a.extract_weight," +
"a.already_transport_weight, a.send_address_id, " +
"a.send_address_shorter,a.send_longitude,a.send_latitude," +
"a.receive_address_id, a.receive_address_shorter,a.receive_longitude," +
......@@ -182,7 +181,7 @@ public class OrderGoodsSqlProvider {
public String saveBatchEntity( List<OrderGoods> orderGoodsList) {
StringBuffer sqlList = new StringBuffer();
sqlList.append("INSERT INTO order_goods(extract_weight,residue_transport_weight,already_transport_weight,loss_price,truck_demand,extract_way," +
sqlList.append("INSERT INTO order_goods(extract_weight,already_transport_weight,loss_price,truck_demand,extract_way," +
"need_truck_num,vehicle_usage,pending_order_way,pending_order_time,pending_order_freight,last_arrive_send_time,senior_logistics_manager_id," +
"senior_logistics_manager_name,order_no,order_goods_no,order_goods_status,send_address_id,send_address_shorter,send_system_address_id,send_longitude," +
"send_latitude,receive_latitude,receive_longitude,receive_address_id,receive_address_shorter,receive_system_address_id,goods_name,goods_id,create_time,modified_time," +
......@@ -192,7 +191,7 @@ public class OrderGoodsSqlProvider {
for (int i = 0; i < orderGoodsList.size(); i++) {
OrderGoods o = orderGoodsList.get(i);
sqlList.append(" ('").append(o.getExtractWeight()).append("','").append(o.getResidueTransportWeight()).append("','").append(o.getAlreadyTransportWeight()).append("','")
sqlList.append(" ('").append(o.getExtractWeight()).append("','").append(o.getAlreadyTransportWeight()).append("','")
.append(o.getLossPrice()).append("','").append(o.getTruckDemand()).append("','").append(o.getExtractWay()).append("','")
.append(o.getNeedTruckNum()).append("','").append(o.getVehicleUsage()).append("','").append(o.getPendingOrderWay()).append("','").append(o.getPendingOrderTime()).append("','")
.append(o.getPendingOrderFreight()).append("','").append(o.getLastArriveSendTime()).append("','").append(o.getSeniorLogisticsManagerId()).append("','")
......@@ -237,7 +236,7 @@ public class OrderGoodsSqlProvider {
String sql = new SQL() {{
SELECT("a.id, a.order_no," +
" a.order_goods_no, a.order_goods_status, a.extract_weight, " +
" if(a.residue_transport_weight < 0, '0', a.residue_transport_weight) as residue_transport_weight ,a.already_transport_weight, a.send_address_id, a.send_address_shorter,a.send_longitude," +
" a.already_transport_weight, a.send_address_id, a.send_address_shorter,a.send_longitude," +
" a.send_latitude,a.receive_address_id, a.receive_address_shorter,a.receive_longitude,a.receive_latitude," +
"a.goods_id, a.goods_name, a.pending_order_way," +
" date_format(a.directional_expire_time, '%Y-%m-%d %H:%i:%s') as directional_expire_time ," +
......@@ -282,7 +281,7 @@ public class OrderGoodsSqlProvider {
return sql;
}
public String updateOrderGoodsSetResidueWeightAndAlreadyWeightAndStatus(@Param(value ="residueWeight") BigDecimal residueWeight, @Param(value = "alreadyWeight") BigDecimal alreadyWeight,@Param(value ="status") Integer status,@Param(value ="id") Integer id){
public String updateOrderGoodsSetAlreadyWeightAndStatus(@Param(value = "alreadyWeight") BigDecimal alreadyWeight,@Param(value ="status") Integer status,@Param(value ="id") Integer id){
String sql = new SQL() {{
UPDATE("order_goods")
.SET("already_transport_weight = already_transport_weight - #{alreadyWeight}")
......@@ -299,7 +298,7 @@ public class OrderGoodsSqlProvider {
sqlList.append(" select a.id, a.order_no," +
" a.order_goods_no, a.order_goods_status, a.extract_weight, " +
" if(a.residue_transport_weight < 0, '0', a.residue_transport_weight) as residue_transport_weight ,a.already_transport_weight, a.send_address_id, a.send_address_shorter,a.send_longitude," +
" a.already_transport_weight, a.send_address_id, a.send_address_shorter,a.send_longitude," +
" a.send_latitude,a.receive_address_id, a.receive_address_shorter,a.receive_longitude,a.receive_latitude," +
"a.goods_id, a.goods_name, a.pending_order_way," +
" date_format(a.directional_expire_time, '%Y-%m-%d %H:%i:%s') as directional_expire_time ," +
......@@ -337,7 +336,7 @@ public class OrderGoodsSqlProvider {
String sql = new SQL() {{
SELECT("a.id, a.order_no," +
" a.order_goods_no, a.order_goods_status, a.extract_weight, " +
" a.residue_transport_weight,a.already_transport_weight, a.send_address_id, a.send_address_shorter,a.send_longitude," +
" a.already_transport_weight, a.send_address_id, a.send_address_shorter,a.send_longitude," +
" a.send_latitude,a.receive_address_id, a.receive_address_shorter,a.receive_longitude,a.receive_latitude," +
"a.goods_id, a.goods_name, a.pending_order_way," +
" date_format(a.directional_expire_time, '%Y-%m-%d %H:%i:%s') as directional_expire_time ," +
......
......@@ -106,7 +106,6 @@ public class OwnGoodsOrderStrategy extends GoodsOrderStrategy implements Initial
OrderGoods orderGoods = new OrderGoods();
//提取吨数
orderGoods.setExtractWeight(child.getExtractWeight());
orderGoods.setResidueTransportWeight(child.getExtractWeight());
orderGoods.setAlreadyTransportWeight(BigDecimal.ZERO);
orderGoods.setLossPrice(orderInfo.getLossPrice());
......
......@@ -109,7 +109,6 @@ public class PartGoodsOrderStrategy extends GoodsOrderStrategy implements Initia
OrderGoods orderGoods = new OrderGoods();
//提取吨数
orderGoods.setExtractWeight(child.getExtractWeight());
orderGoods.setResidueTransportWeight(child.getExtractWeight());
orderGoods.setAlreadyTransportWeight(BigDecimal.ZERO);
orderGoods.setLossPrice(orderInfo.getLossPrice());
......
......@@ -107,7 +107,6 @@ public class PlatformGoodsOrderStrategy extends GoodsOrderStrategy implements In
OrderGoods orderGoods = new OrderGoods();
//提取吨数
orderGoods.setExtractWeight(child.getExtractWeight());
orderGoods.setResidueTransportWeight(child.getExtractWeight());
orderGoods.setAlreadyTransportWeight(BigDecimal.ZERO);
orderGoods.setLossPrice(orderInfo.getLossPrice());
orderGoods.setTruckDemand(TruckDemandEnum.TruckType.PLATFORM_CAR.getCode());
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论