提交 8da5e8d6 authored 作者: aiqingguo's avatar aiqingguo

运单流程

上级 2a072465
...@@ -46,9 +46,10 @@ public enum PerformanceResultEnum implements ResultEnum { ...@@ -46,9 +46,10 @@ public enum PerformanceResultEnum implements ResultEnum {
ORDER_CHILD_CANCEL_FORBID(1306, "运单无法取消"), ORDER_CHILD_CANCEL_FORBID(1306, "运单无法取消"),
ORDER_CHILD_CANCEL_FORBID_COUNT(1307, "超出最大取消数量"), ORDER_CHILD_CANCEL_FORBID_COUNT(1307, "超出最大取消数量"),
ORDER_CHILD_POUND_AUDIT(1308, "磅单审核中"), ORDER_CHILD_POUND_AUDIT(1308, "磅单审核中"),
ORDER_CHILD_DIRECT_ORDER_TRUCK_ERROR(1309, "请选择定向车辆"), ORDER_CHILD_POUND_REJECT(1309, "磅单审核驳回,请重新提交信息"),
ORDER_CHILD_DIRECT_ORDER_TRUCK_ERROR1(1310, "请选择非定向车辆"), ORDER_CHILD_DIRECT_ORDER_TRUCK_ERROR(1310, "请选择定向车辆"),
ORDER_CHILD_DIRECT_REJECT_TRUCK_ERROR(1311, "非定向车辆无法取消"), ORDER_CHILD_DIRECT_ORDER_TRUCK_ERROR1(1311, "请选择非定向车辆"),
ORDER_CHILD_DIRECT_REJECT_TRUCK_ERROR(1312, "非定向车辆无法取消"),
ORDER_CHILD_LOAD_WEIGHT_ERROR(1312, "装货净重超过载重的1.5倍"), ORDER_CHILD_LOAD_WEIGHT_ERROR(1312, "装货净重超过载重的1.5倍"),
ORDER_CHILD_UNLOAD_WEIGHT_ERROR(1313, "卸货净重超过载重的1.5倍"), ORDER_CHILD_UNLOAD_WEIGHT_ERROR(1313, "卸货净重超过载重的1.5倍"),
......
...@@ -25,11 +25,15 @@ import java.util.List; ...@@ -25,11 +25,15 @@ import java.util.List;
public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Integer> { public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Integer> {
boolean updateStatus(OrderChild item); boolean updateStatus(OrderChild item);
boolean updateCancel(OrderChild item);
boolean updateLoad(OrderChild item); boolean updateLoad(OrderChild item);
boolean updateUnload(OrderChild item); boolean updateUnload(OrderChild item);
boolean updateLoadAndUnload(OrderChild item); boolean updateLoadAndUnload(OrderChild item);
boolean updatePoundAuditStatus(OrderChild item);
boolean updateDriverConfirm(OrderChild item);
boolean updateCancel(OrderChild item);
Optional<OrderChild> getByChildNo(String childNo); Optional<OrderChild> getByChildNo(String childNo);
...@@ -42,8 +46,5 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int ...@@ -42,8 +46,5 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
IPage<PageCarrierOrderChildVO> pageCarrierOrderChildList(PageCarrierOrderChildParam param); IPage<PageCarrierOrderChildVO> pageCarrierOrderChildList(PageCarrierOrderChildParam param);
boolean updatePoundAuditStatus(OrderChild item);
Optional<List<OrderChild>> getOrderChildInfoByOrderGoodsNo(String childNo); Optional<List<OrderChild>> getOrderChildInfoByOrderGoodsNo(String childNo);
} }
...@@ -32,18 +32,7 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -32,18 +32,7 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
@Override @Override
public boolean updateStatus(OrderChild item) { public boolean updateStatus(OrderChild item) {
return update(lUdWrapper() return update(lUdWrapper()
.eq(OrderChild::getChildNo, item.getChildNo()) .eq(OrderChild::getId, item.getId())
.set(OrderChild::getStatus, item.getStatus())
);
}
@Override
public boolean updateCancel(OrderChild item) {
return update(lUdWrapper()
.eq(OrderChild::getChildNo, item.getChildNo())
.set(OrderChild::getCancelRemark, item.getCancelRemark())
.set(OrderChild::getCancelTime, item.getCancelTime())
.set(OrderChild::getFinishTime, item.getFinishTime())
.set(OrderChild::getStatus, item.getStatus()) .set(OrderChild::getStatus, item.getStatus())
); );
} }
...@@ -51,13 +40,14 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -51,13 +40,14 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
@Override @Override
public boolean updateLoad(OrderChild item) { public boolean updateLoad(OrderChild item) {
return update(lUdWrapper() return update(lUdWrapper()
.eq(OrderChild::getChildNo, item.getChildNo()) .eq(OrderChild::getId, item.getId())
.set(OrderChild::getLoadRough, item.getLoadRough()) .set(OrderChild::getLoadRough, item.getLoadRough())
.set(OrderChild::getLoadTare, item.getLoadTare()) .set(OrderChild::getLoadTare, item.getLoadTare())
.set(OrderChild::getLoadNet, item.getLoadNet()) .set(OrderChild::getLoadNet, item.getLoadNet())
.set(OrderChild::getLoadTime, item.getLoadTime()) .set(OrderChild::getLoadTime, item.getLoadTime())
.set(OrderChild::getWeight, item.getWeight()) .set(OrderChild::getWeight, item.getWeight())
.set(OrderChild::getFreight, item.getFreight())
.set(OrderChild::getStatus, item.getStatus()) .set(OrderChild::getStatus, item.getStatus())
); );
} }
...@@ -65,7 +55,7 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -65,7 +55,7 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
@Override @Override
public boolean updateUnload(OrderChild item) { public boolean updateUnload(OrderChild item) {
return update(lUdWrapper() return update(lUdWrapper()
.eq(OrderChild::getChildNo, item.getChildNo()) .eq(OrderChild::getId, item.getId())
.set(OrderChild::getUnloadPoundNo, item.getUnloadPoundNo()) .set(OrderChild::getUnloadPoundNo, item.getUnloadPoundNo())
.set(OrderChild::getUnloadRough, item.getUnloadRough()) .set(OrderChild::getUnloadRough, item.getUnloadRough())
.set(OrderChild::getUnloadTare, item.getUnloadTare()) .set(OrderChild::getUnloadTare, item.getUnloadTare())
...@@ -73,6 +63,7 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -73,6 +63,7 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
.set(OrderChild::getUnloadTime, item.getUnloadTime()) .set(OrderChild::getUnloadTime, item.getUnloadTime())
.set(OrderChild::getPoundStatus, item.getPoundStatus()) .set(OrderChild::getPoundStatus, item.getPoundStatus())
.set(OrderChild::getFreight, item.getFreight())
.set(OrderChild::getStatus, item.getStatus()) .set(OrderChild::getStatus, item.getStatus())
); );
} }
...@@ -80,7 +71,7 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -80,7 +71,7 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
@Override @Override
public boolean updateLoadAndUnload(OrderChild item) { public boolean updateLoadAndUnload(OrderChild item) {
return update(lUdWrapper() return update(lUdWrapper()
.eq(OrderChild::getChildNo, item.getChildNo()) .eq(OrderChild::getId, item.getId())
.set(OrderChild::getUnloadPoundNo, item.getUnloadPoundNo()) .set(OrderChild::getUnloadPoundNo, item.getUnloadPoundNo())
.set(OrderChild::getLoadRough, item.getLoadRough()) .set(OrderChild::getLoadRough, item.getLoadRough())
...@@ -91,10 +82,41 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -91,10 +82,41 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
.set(OrderChild::getUnloadTare, item.getUnloadTare()) .set(OrderChild::getUnloadTare, item.getUnloadTare())
.set(OrderChild::getUnloadNet, item.getUnloadNet()) .set(OrderChild::getUnloadNet, item.getUnloadNet())
.set(OrderChild::getWeight, item.getWeight())
.set(OrderChild::getFreight, item.getFreight())
.set(OrderChild::getPoundStatus, item.getPoundStatus()) .set(OrderChild::getPoundStatus, item.getPoundStatus())
); );
} }
@Override
public boolean updatePoundAuditStatus(OrderChild item) {
return update(lUdWrapper()
.eq(OrderChild::getId, item.getId())
.set(OrderChild::getPoundStatus, item.getPoundStatus())
.set(OrderChild::getLoadNet, item.getLoadNet())
.set(OrderChild::getUnloadNet, item.getUnloadNet())
);
}
@Override
public boolean updateDriverConfirm(OrderChild item) {
return update(lUdWrapper()
.eq(OrderChild::getId, item.getId())
.set(OrderChild::getStatus, item.getStatus())
);
}
@Override
public boolean updateCancel(OrderChild item) {
return update(lUdWrapper()
.eq(OrderChild::getId, item.getId())
.set(OrderChild::getCancelRemark, item.getCancelRemark())
.set(OrderChild::getCancelTime, item.getCancelTime())
.set(OrderChild::getFinishTime, item.getFinishTime())
.set(OrderChild::getStatus, item.getStatus())
);
}
@Override @Override
public Optional<OrderChild> getByChildNo(String childNo) { public Optional<OrderChild> getByChildNo(String childNo) {
...@@ -107,7 +129,6 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -107,7 +129,6 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
@Override @Override
public long countOfCancel(Long userNo, LocalDateTime startTime, LocalDateTime endTime) { public long countOfCancel(Long userNo, LocalDateTime startTime, LocalDateTime endTime) {
return count(lQrWrapper() return count(lQrWrapper()
.eq(OrderChild::getChildNo, userNo) .eq(OrderChild::getChildNo, userNo)
.eq(OrderChild::getStatus, OrderChildEnum.Status.DRIVER_CANCEL.getCode()) .eq(OrderChild::getStatus, OrderChildEnum.Status.DRIVER_CANCEL.getCode())
...@@ -140,18 +161,9 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -140,18 +161,9 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
return baseMapper.pageCarrierOrderChildList(page,param); return baseMapper.pageCarrierOrderChildList(page,param);
} }
@Override
public boolean updatePoundAuditStatus(OrderChild item) {
return update(lUdWrapper()
.eq(OrderChild::getChildNo, item.getChildNo())
.set(OrderChild::getPoundStatus, item.getPoundStatus())
.set(OrderChild::getLoadNet, item.getLoadNet())
.set(OrderChild::getUnloadNet, item.getUnloadNet())
);
}
@Override @Override
public Optional<List<OrderChild>> getOrderChildInfoByOrderGoodsNo(String orderGoodsNo) { public Optional<List<OrderChild>> getOrderChildInfoByOrderGoodsNo(String orderGoodsNo) {
return Optional.of(list(lQrWrapper().eq(OrderChild::getOrderGoodsNo, orderGoodsNo))); return Optional.of(list(lQrWrapper().eq(OrderChild::getOrderGoodsNo, orderGoodsNo)));
} }
} }
...@@ -329,20 +329,22 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -329,20 +329,22 @@ public class OrderChildServiceImpl implements OrderChildService {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_LOAD_WEIGHT_ERROR); throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_LOAD_WEIGHT_ERROR);
} }
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).orElseThrow(PerformanceResultEnum.ORDER_INVALID);
if (orderChild.getLoadTime() == null && Objects.equals(orderChild.getStatus(), OrderChildEnum.Status.ARRIVE_SEND.getCode())) { if (orderChild.getLoadTime() == null && Objects.equals(orderChild.getStatus(), OrderChildEnum.Status.ARRIVE_SEND.getCode())) {
updateLoadFirst(param, orderChild); updateLoadFirst(param, orderChild, orderGoods);
// 日志 // 日志
orderChildLogService.saveDriverOrderChildLog(childNo, OrderChildLogEnum.Type.LOAD.getCode(), OrderChildLogEnum.Type.LOAD.getMsg(), orderChildLogService.saveDriverOrderChildLog(childNo, OrderChildLogEnum.Type.LOAD.getCode(), OrderChildLogEnum.Type.LOAD.getMsg(),
loginUserInfo.getUserNo(), loginUserInfo.getUserName()); loginUserInfo.getUserNo(), loginUserInfo.getUserName());
} else { } else {
updateReload(param, orderChild); updateReload(param, orderChild, orderGoods);
// 日志 // 日志
orderChildLogService.saveDriverOrderChildLog(childNo, OrderChildLogEnum.Type.RELOAD.getCode(), OrderChildLogEnum.Type.RELOAD.getMsg(), orderChildLogService.saveDriverOrderChildLog(childNo, OrderChildLogEnum.Type.RELOAD.getCode(), OrderChildLogEnum.Type.RELOAD.getMsg(),
loginUserInfo.getUserNo(), loginUserInfo.getUserName()); loginUserInfo.getUserNo(), loginUserInfo.getUserName());
} }
} }
private void updateLoadFirst(OrderChildLoadParam param, OrderChild orderChild) { private void updateLoadFirst(OrderChildLoadParam param, OrderChild orderChild, OrderGoods orderGoods) {
String childNo = param.getChildNo(); String childNo = param.getChildNo();
// 装货超时 // 装货超时
...@@ -359,20 +361,25 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -359,20 +361,25 @@ public class OrderChildServiceImpl implements OrderChildService {
imageList.add(image); imageList.add(image);
} }
BigDecimal dif = param.getLoadNet().subtract(orderChild.getLoadNet());
orderChild.setLoadRough(param.getLoadRough()); orderChild.setLoadRough(param.getLoadRough());
orderChild.setLoadTare(param.getLoadTare()); orderChild.setLoadTare(param.getLoadTare());
orderChild.setLoadNet(param.getLoadNet()); orderChild.setLoadNet(param.getLoadNet());
orderChild.setLoadTime(LocalDateTime.now()); orderChild.setLoadTime(LocalDateTime.now());
orderChild.setWeight(orderChildWeightCalc(orderChild)); orderChild.setWeight(orderChildWeightCalc(orderChild));
orderChild.setFreight(orderChildFreightCalc(orderChild));
orderChild.setStatus(OrderChildEnum.Status.LOAD.getCode()); orderChild.setStatus(OrderChildEnum.Status.LOAD.getCode());
orderChildDao.updateLoad(orderChild);
// // 更新装车净重
updateOrderGoodsAmountLoad(orderGoods, dif);
orderChildDao.updateLoad(orderChild);
orderChildImageDao.batchSaveEntity(imageList); orderChildImageDao.batchSaveEntity(imageList);
} }
private void updateReload(OrderChildLoadParam param, OrderChild orderChild) { private void updateReload(OrderChildLoadParam param, OrderChild orderChild, OrderGoods orderGoods) {
String childNo = param.getChildNo(); String childNo = param.getChildNo();
List<OrderChildImage> imageList = new ArrayList<>(); List<OrderChildImage> imageList = new ArrayList<>();
...@@ -384,11 +391,18 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -384,11 +391,18 @@ public class OrderChildServiceImpl implements OrderChildService {
imageList.add(image); imageList.add(image);
} }
BigDecimal dif = param.getLoadNet().subtract(orderChild.getLoadNet());
orderChild.setLoadRough(param.getLoadRough()); orderChild.setLoadRough(param.getLoadRough());
orderChild.setLoadTare(param.getLoadTare()); orderChild.setLoadTare(param.getLoadTare());
orderChild.setLoadNet(param.getLoadNet()); orderChild.setLoadNet(param.getLoadNet());
orderChild.setLoadTime(LocalDateTime.now()); orderChild.setLoadTime(LocalDateTime.now());
orderChild.setWeight(orderChildWeightCalc(orderChild)); orderChild.setWeight(orderChildWeightCalc(orderChild));
orderChild.setFreight(orderChildFreightCalc(orderChild));
// 更新装车净重
updateOrderGoodsAmountLoad(orderGoods, dif);
orderChildDao.updateLoad(orderChild); orderChildDao.updateLoad(orderChild);
orderChildImageDao.deleteLoad(childNo); orderChildImageDao.deleteLoad(childNo);
...@@ -454,6 +468,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -454,6 +468,7 @@ public class OrderChildServiceImpl implements OrderChildService {
orderChild.setWeight(orderChildWeightCalc(orderChild)); orderChild.setWeight(orderChildWeightCalc(orderChild));
orderChild.setStatus(OrderChildEnum.Status.UNLOAD.getCode()); orderChild.setStatus(OrderChildEnum.Status.UNLOAD.getCode());
orderChild.setPoundStatus(OrderChildPoundAuditEnum.Status.AUDIT.getCode()); orderChild.setPoundStatus(OrderChildPoundAuditEnum.Status.AUDIT.getCode());
orderChild.setFreight(orderChildFreightCalc(orderChild));
OrderChildPoundAudit audit = new OrderChildPoundAudit(); OrderChildPoundAudit audit = new OrderChildPoundAudit();
audit.setChildNo(childNo); audit.setChildNo(childNo);
...@@ -496,6 +511,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -496,6 +511,7 @@ public class OrderChildServiceImpl implements OrderChildService {
orderChild.setUnloadNet(param.getUnloadNet()); orderChild.setUnloadNet(param.getUnloadNet());
orderChild.setUnloadTime(LocalDateTime.now()); orderChild.setUnloadTime(LocalDateTime.now());
orderChild.setPoundStatus(OrderChildPoundAuditEnum.Status.AUDIT.getCode()); orderChild.setPoundStatus(OrderChildPoundAuditEnum.Status.AUDIT.getCode());
orderChild.setFreight(orderChildFreightCalc(orderChild));
OrderChildPoundAudit audit = new OrderChildPoundAudit(); OrderChildPoundAudit audit = new OrderChildPoundAudit();
audit.setChildNo(childNo); audit.setChildNo(childNo);
...@@ -545,6 +561,8 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -545,6 +561,8 @@ public class OrderChildServiceImpl implements OrderChildService {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_UNLOAD_WEIGHT_ERROR); throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_UNLOAD_WEIGHT_ERROR);
} }
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).orElseThrow(PerformanceResultEnum.ORDER_INVALID);
List<OrderChildImage> imageList = new ArrayList<>(); List<OrderChildImage> imageList = new ArrayList<>();
for (String item : param.getLoadImageList()) { for (String item : param.getLoadImageList()) {
OrderChildImage image = new OrderChildImage(); OrderChildImage image = new OrderChildImage();
...@@ -559,6 +577,8 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -559,6 +577,8 @@ public class OrderChildServiceImpl implements OrderChildService {
image.setImage(item); image.setImage(item);
} }
BigDecimal dif = param.getLoadNet().subtract(orderChild.getLoadNet());
orderChild.setLoadRough(param.getLoadRough()); orderChild.setLoadRough(param.getLoadRough());
orderChild.setLoadTare(param.getLoadTare()); orderChild.setLoadTare(param.getLoadTare());
orderChild.setLoadNet(param.getLoadNet()); orderChild.setLoadNet(param.getLoadNet());
...@@ -566,6 +586,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -566,6 +586,7 @@ public class OrderChildServiceImpl implements OrderChildService {
orderChild.setUnloadTare(param.getUnloadTare()); orderChild.setUnloadTare(param.getUnloadTare());
orderChild.setUnloadNet(param.getUnloadNet()); orderChild.setUnloadNet(param.getUnloadNet());
orderChild.setWeight(orderChildWeightCalc(orderChild)); orderChild.setWeight(orderChildWeightCalc(orderChild));
orderChild.setFreight(orderChildFreightCalc(orderChild));
orderChild.setPoundStatus(OrderChildPoundAuditEnum.Status.AUDIT.getCode()); orderChild.setPoundStatus(OrderChildPoundAuditEnum.Status.AUDIT.getCode());
...@@ -576,6 +597,9 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -576,6 +597,9 @@ public class OrderChildServiceImpl implements OrderChildService {
audit.setUnloadNet(orderChild.getUnloadNet()); audit.setUnloadNet(orderChild.getUnloadNet());
audit.setUnloadPoundNo(orderChild.getUnloadPoundNo()); audit.setUnloadPoundNo(orderChild.getUnloadPoundNo());
// 更新装车净重
updateOrderGoodsAmountLoad(orderGoods, dif);
orderChildDao.updateLoadAndUnload(orderChild); orderChildDao.updateLoadAndUnload(orderChild);
orderChildImageDao.deleteLoadAndUnload(childNo); orderChildImageDao.deleteLoadAndUnload(childNo);
...@@ -603,10 +627,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -603,10 +627,7 @@ public class OrderChildServiceImpl implements OrderChildService {
if (!Objects.equals(orderChild.getUserNo(), userNo) && !Objects.equals(orderChild.getDriverUserNo(), userNo)){ if (!Objects.equals(orderChild.getUserNo(), userNo) && !Objects.equals(orderChild.getDriverUserNo(), userNo)){
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_NO_FOUND); throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
} }
if (Objects.equals(orderChild.getStatus(), OrderChildEnum.Status.DRIVER_CANCEL.getCode())
|| Objects.equals(orderChild.getStatus(), OrderChildEnum.Status.PLATFORM_CANCEL.getCode())){
return;
}
if (!Objects.equals(orderChild.getStatus(), OrderChildEnum.Status.UNLOAD.getCode())){ if (!Objects.equals(orderChild.getStatus(), OrderChildEnum.Status.UNLOAD.getCode())){
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_STATUS_CHANGED); throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_STATUS_CHANGED);
} }
...@@ -616,11 +637,11 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -616,11 +637,11 @@ public class OrderChildServiceImpl implements OrderChildService {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_POUND_AUDIT); throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_POUND_AUDIT);
} }
if (Objects.equals(orderChild.getPoundStatus(), OrderChildPoundAuditEnum.Status.REJECT.getCode())){ if (Objects.equals(orderChild.getPoundStatus(), OrderChildPoundAuditEnum.Status.REJECT.getCode())){
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_STATUS_CHANGED); throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_POUND_REJECT);
} }
orderChild.setStatus(OrderChildEnum.Status.UNSETTLE.getCode()); orderChild.setStatus(OrderChildEnum.Status.UNSETTLE.getCode());
orderChildDao.updateStatus(orderChild); orderChildDao.updateDriverConfirm(orderChild);
// 日志 // 日志
orderChildLogService.saveDriverOrderChildLog(childNo, OrderChildLogEnum.Type.DRIVER_CONFIRM.getCode(), OrderChildLogEnum.Type.DRIVER_CONFIRM.getMsg(), orderChildLogService.saveDriverOrderChildLog(childNo, OrderChildLogEnum.Type.DRIVER_CONFIRM.getCode(), OrderChildLogEnum.Type.DRIVER_CONFIRM.getMsg(),
...@@ -806,6 +827,14 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -806,6 +827,14 @@ public class OrderChildServiceImpl implements OrderChildService {
orderGoodsDao.updateOrderGoodsReduceWeightAndStatus(orderGoods.getId(), orderChild.getWeight().negate()); orderGoodsDao.updateOrderGoodsReduceWeightAndStatus(orderGoods.getId(), orderChild.getWeight().negate());
} }
/**
* 装车补偿
*/
private void updateOrderGoodsAmountLoad(OrderGoods orderGoods, BigDecimal dif){
orderGoodsDao.updateOrderGoodsReduceWeightAndStatus(orderGoods.getId(), dif);
}
/** /**
* 更新定向单状态 (接单) * 更新定向单状态 (接单)
*/ */
...@@ -866,7 +895,15 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -866,7 +895,15 @@ public class OrderChildServiceImpl implements OrderChildService {
* 运费计算 * 运费计算
*/ */
private BigDecimal orderChildFreightCalc(OrderChild orderChild){ private BigDecimal orderChildFreightCalc(OrderChild orderChild){
return orderChild.getWeight().multiply(orderChild.getFreightPrice()).setScale(0, BigDecimal.ROUND_HALF_UP); BigDecimal totalFreight = orderChild.getFreightPrice().multiply(orderChild.getWeight());
if (orderChild.getUnloadNet() != null){
BigDecimal dif = orderChild.getUnloadNet().subtract(orderChild.getWeight());
if (dif.compareTo(BigDecimal.ZERO) < 0){
totalFreight.subtract(orderChild.getLossPrice().multiply(dif));
}
}
return totalFreight.setScale(0, BigDecimal.ROUND_HALF_UP);
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论