提交 03268150 authored 作者: huyufan's avatar huyufan

BUG修复

上级 e87b4934
...@@ -6,9 +6,11 @@ import com.clx.performance.dao.OrderGoodsDriverTruckDao; ...@@ -6,9 +6,11 @@ import com.clx.performance.dao.OrderGoodsDriverTruckDao;
import com.clx.performance.dao.OrderGoodsTruckBindDao; import com.clx.performance.dao.OrderGoodsTruckBindDao;
import com.clx.performance.enums.OrderGoodsTruckBindEnum; import com.clx.performance.enums.OrderGoodsTruckBindEnum;
import com.clx.performance.model.OrderGoodsDriverTruck; import com.clx.performance.model.OrderGoodsDriverTruck;
import com.clx.performance.model.OrderGoodsTruckBind;
import com.msl.common.base.Optional; import com.msl.common.base.Optional;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -73,4 +75,17 @@ public class GoodsOrderTruckRecordComponent { ...@@ -73,4 +75,17 @@ public class GoodsOrderTruckRecordComponent {
orderGoodsTruckBindDao.updateOrderGoodsBindStatus(orderGoodsNo, OrderGoodsTruckBindEnum.Status.SUCCESS.getCode(), truckNo); orderGoodsTruckBindDao.updateOrderGoodsBindStatus(orderGoodsNo, OrderGoodsTruckBindEnum.Status.SUCCESS.getCode(), truckNo);
this.deleteTruckRecord(orderGoodsNo, truckNo); this.deleteTruckRecord(orderGoodsNo, truckNo);
} }
//定向单接单时,如果接完后没有余量,则释放其他未接单的定向单记录
public void releaseDriverAndTruckBind(String orderGoodsNo, String truckNo) {
List<OrderGoodsTruckBind> truckBindList = orderGoodsTruckBindDao.selectListByOrderGoodsNo(orderGoodsNo);
for (OrderGoodsTruckBind bind : truckBindList) {
if (StringUtils.equals(truckNo, bind.getTruckNo())) {
continue;
}
this.deleteTruckRecord(orderGoodsNo, bind.getTruckNo());
}
orderGoodsTruckBindDao.updateOrderGoodsBindStatusExpire(orderGoodsNo, truckNo);
}
} }
...@@ -37,7 +37,7 @@ public interface OrderGoodsTruckBindDao extends BaseDao<OrderGoodsTruckBindMappe ...@@ -37,7 +37,7 @@ public interface OrderGoodsTruckBindDao extends BaseDao<OrderGoodsTruckBindMappe
List<OrderGoodsTruckBind> selectListByOrderGoodsNo(String orderGoodsNo); List<OrderGoodsTruckBind> selectListByOrderGoodsNo(String orderGoodsNo);
void updateOrderGoodsBindStatusExpire(String orderGoodsNo); void updateOrderGoodsBindStatusExpire(String orderGoodsNo, String truckNo);
List<OrderGoodsTruckBind> getTrucksBindByOrderGoodsNo(String orderGoodsNo,String truckNo); List<OrderGoodsTruckBind> getTrucksBindByOrderGoodsNo(String orderGoodsNo,String truckNo);
......
...@@ -115,9 +115,10 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM ...@@ -115,9 +115,10 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
} }
@Override @Override
public void updateOrderGoodsBindStatusExpire(String orderGoodsNo) { public void updateOrderGoodsBindStatusExpire(String orderGoodsNo, String truckNo) {
update(lUdWrapper() update(lUdWrapper()
.eq(OrderGoodsTruckBind::getOrderGoodsNo, orderGoodsNo) .eq(OrderGoodsTruckBind::getOrderGoodsNo, orderGoodsNo)
.ne(OrderGoodsTruckBind::getTruckNo, truckNo)
.eq(OrderGoodsTruckBind::getStatus, OrderGoodsTruckBindEnum.Status.NORMAL.getCode()) .eq(OrderGoodsTruckBind::getStatus, OrderGoodsTruckBindEnum.Status.NORMAL.getCode())
.set(OrderGoodsTruckBind::getStatus, OrderGoodsTruckBindEnum.Status.EXPIRE.getCode()) .set(OrderGoodsTruckBind::getStatus, OrderGoodsTruckBindEnum.Status.EXPIRE.getCode())
); );
......
...@@ -2,6 +2,7 @@ package com.clx.performance.service; ...@@ -2,6 +2,7 @@ package com.clx.performance.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.model.OrderChild;
import com.clx.performance.param.pc.OrderGoodsCancelParam; import com.clx.performance.param.pc.OrderGoodsCancelParam;
import com.clx.performance.param.pc.UpdateEditOrderGoodsParam; import com.clx.performance.param.pc.UpdateEditOrderGoodsParam;
import com.clx.performance.param.pc.PageOrderGoodsListParam; import com.clx.performance.param.pc.PageOrderGoodsListParam;
...@@ -30,7 +31,7 @@ public interface OrderGoodsService { ...@@ -30,7 +31,7 @@ public interface OrderGoodsService {
IPage<OrderGoodsVO> pageOrderGoodsList(PageOrderGoodsListParam param); IPage<OrderGoodsVO> pageOrderGoodsList(PageOrderGoodsListParam param);
void updateOrderGoodsReduceWeightAndStatusAmountLoad(OrderGoods orderGoods, BigDecimal orderChildWeight, Integer orderGoodsStatus); void updateOrderGoodsReduceWeightAndStatusAmountLoad(OrderGoods orderGoods, BigDecimal orderChildWeight, Integer orderGoodsStatus);
void updateOrderGoodsReduceWeightAndStatus(OrderGoods orderGoods, BigDecimal orderChildWeight, Integer orderGoodsStatus); void updateOrderGoodsReduceWeightAndStatus(OrderGoods orderGoods, OrderChild orderChild, Integer orderGoodsStatus);
IPage<OrderGoodsAPPVO> indexOrderGoodsList(OrderGoodsListPageParam orderGoodsListParam); IPage<OrderGoodsAPPVO> indexOrderGoodsList(OrderGoodsListPageParam orderGoodsListParam);
......
...@@ -343,7 +343,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -343,7 +343,7 @@ public class OrderChildServiceImpl implements OrderChildService {
orderChild.setSettlementAccountPeriod(orderGoods.getSettlementAccountPeriod()); orderChild.setSettlementAccountPeriod(orderGoods.getSettlementAccountPeriod());
// 更新货单数据 // 更新货单数据
updateOrderGoodsAmount(orderGoods, orderChild.getWeight()); updateOrderGoodsAmount(orderGoods, orderChild);
// 更新定向单状态 // 更新定向单状态
updateOrderGoodsDirect(bind); updateOrderGoodsDirect(bind);
...@@ -1363,11 +1363,11 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -1363,11 +1363,11 @@ public class OrderChildServiceImpl implements OrderChildService {
/** /**
* 更新货单数据 * 更新货单数据
*/ */
private void updateOrderGoodsAmount(OrderGoods orderGoods, BigDecimal weight) { private void updateOrderGoodsAmount(OrderGoods orderGoods, OrderChild orderChild) {
Integer status = OrderGoodsStatusEnum.Status.GO_TO_SEND.getCode(); Integer status = OrderGoodsStatusEnum.Status.GO_TO_SEND.getCode();
orderGoodsService.updateOrderGoodsReduceWeightAndStatus(orderGoods, weight, status); orderGoodsService.updateOrderGoodsReduceWeightAndStatus(orderGoods, orderChild, status);
orderFeign.updateOrderStatusByOrderNo(orderGoods.getOrderNo(), OrderEnum.Status.IN_TRANSIT.getCode()); orderFeign.updateOrderStatusByOrderNo(orderGoods.getOrderNo(), OrderEnum.Status.IN_TRANSIT.getCode());
} }
......
...@@ -152,10 +152,11 @@ public class OrderGoodsServiceImpl implements OrderGoodsService { ...@@ -152,10 +152,11 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
} }
@Override @Override
public void updateOrderGoodsReduceWeightAndStatus(OrderGoods orderGoods, BigDecimal orderChildWeight, Integer orderGoodsStatus) { public void updateOrderGoodsReduceWeightAndStatus(OrderGoods orderGoods, OrderChild orderChild, Integer orderGoodsStatus) {
orderGoodsDao.updateOrderGoodsReduceWeightAndStatus(orderGoods.getId(), orderChildWeight, orderGoodsStatus); orderGoodsDao.updateOrderGoodsReduceWeightAndStatus(orderGoods.getId(), orderChild.getWeight(), orderGoodsStatus);
if (orderGoods.getResidueTransportWeight().compareTo(orderChildWeight) <= 0) { if (orderGoods.getResidueTransportWeight().compareTo(orderChild.getWeight()) <= 0) {
orderGoodsTruckBindDao.updateOrderGoodsBindStatusExpire(orderGoods.getOrderGoodsNo()); //释放其他车辆
goodsOrderTruckRecordComponent.releaseDriverAndTruckBind(orderGoods.getOrderGoodsNo(), orderChild.getTruckNo());
} }
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论