提交 068711aa authored 作者: aiqingguo's avatar aiqingguo

运单流程

上级 1dbb8613
......@@ -20,6 +20,10 @@ public class OrderChildLoadAndUnloadAgainParam extends PositionParam {
@NotBlank(message = "运单编号不能为空")
private String childNo;
@ApiModelProperty(value = "卸货磅单编号", example = "url")
@NotBlank(message = "交货磅单号不能为空")
private String unloadPoundNo;
@ApiModelProperty(value = "装货毛重(单位吨)", example = "2.46")
@NotNull(message = "装货毛重不能为空")
private BigDecimal loadRough;
......
package com.clx.performance.param.app;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Getter
@Setter
@NoArgsConstructor
public class OrderChildRejectParam extends PositionParam {
@ApiModelProperty(value = "运单编号", example = "100000000")
@NotBlank(message = "运单编号不能为空")
private String orderGoodsNo;
@ApiModelProperty(value = "车牌号id", example = "京A12345")
@NotNull(message = "车牌号不能空")
private String truckNo;
}
......@@ -20,6 +20,10 @@ public class OrderChildUnloadParam extends PositionParam {
@NotBlank(message = "运单编号不能为空")
private String childNo;
@ApiModelProperty(value = "卸货磅单编号", example = "url")
@NotBlank(message = "交货磅单号不能为空")
private String unloadPoundNo;
@ApiModelProperty(value = "卸货毛重(单位吨)", example = "2.46")
@NotNull(message = "装货毛重不能为空")
private BigDecimal unloadRough;
......
......@@ -87,7 +87,7 @@ public class OrderChildVO {
private BigDecimal unloadTare;
@ApiModelProperty(value = "卸货净重(单位吨)", example = "1.23")
private BigDecimal unloadNet;
@ApiModelProperty(value = "卸货磅单编号", example = "")
@ApiModelProperty(value = "卸货磅单编号", example = "url")
private String unloadPoundNo;
@ApiModelProperty(value = "拉运重量(单位吨)", example = "1.23")
......
......@@ -23,6 +23,9 @@ public class OrderChildPoundAuditDetailVO {
@ApiModelProperty(value="卸货净重",example = "41")
private BigDecimal unloadNet;
@ApiModelProperty(value = "卸货磅单编号", example = "url")
private String unloadPoundNo;
@ApiModelProperty(value="审核状态 0 待审核 1 审核通过 2 审核驳回",example = "1")
private Integer status;
......
......@@ -38,6 +38,14 @@ public class AppDriverOrderChildController {
return Result.ok(orderChildService.saveOrderChild(param));
}
@ApiOperation(value = "拒绝接单(专属货单)", notes = "<br>By:艾庆国")
@PostMapping("/updateReject")
public Result<Void> updateReject(@RequestBody @Validated OrderChildRejectParam param) {
orderChildService.updateReject(param);
return Result.ok();
}
@ApiOperation(value = "前往货源地", notes = "<br>By:艾庆国")
@PostMapping("/updateGotoSendAddress")
public Result<Void> updateGotoSendAddress(@RequestBody @Validated OrderChildGoToSendAddressParam param) {
......
......@@ -2,6 +2,7 @@ package com.clx.performance.dao;
import com.clx.performance.mapper.OrderGoodsTruckBindMapper;
import com.clx.performance.model.OrderGoodsTruckBind;
import com.msl.common.base.Optional;
import com.msl.common.dao.BaseDao;
import java.time.LocalDateTime;
......@@ -18,4 +19,5 @@ public interface OrderGoodsTruckBindDao extends BaseDao<OrderGoodsTruckBindMappe
void saveBatchEntity(String orderNo, String orderGoodsNo, List<String> trackList, LocalDateTime now);
List<Integer> getTrucksByOrderGoodsNo(String orderGoodsNo);
Optional<OrderGoodsTruckBind> getByOrderGoodsNoAndTruckNo(String orderGoodsNo, String truckNo);
}
......@@ -66,12 +66,12 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
public boolean updateUnload(OrderChild item) {
return update(lUdWrapper()
.eq(OrderChild::getChildNo, item.getChildNo())
.set(OrderChild::getUnloadPoundNo, item.getUnloadPoundNo())
.set(OrderChild::getUnloadRough, item.getUnloadRough())
.set(OrderChild::getUnloadTare, item.getUnloadTare())
.set(OrderChild::getUnloadNet, item.getUnloadNet())
.set(OrderChild::getUnloadTime, item.getUnloadTime())
.set(OrderChild::getWeight, item.getWeight())
.set(OrderChild::getPoundStatus, item.getPoundStatus())
.set(OrderChild::getStatus, item.getStatus())
);
......@@ -82,6 +82,7 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
return update(lUdWrapper()
.eq(OrderChild::getChildNo, item.getChildNo())
.set(OrderChild::getUnloadPoundNo, item.getUnloadPoundNo())
.set(OrderChild::getLoadRough, item.getLoadRough())
.set(OrderChild::getLoadTare, item.getLoadTare())
.set(OrderChild::getLoadNet, item.getLoadNet())
......@@ -90,7 +91,6 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
.set(OrderChild::getUnloadTare, item.getUnloadTare())
.set(OrderChild::getUnloadNet, item.getUnloadNet())
.set(OrderChild::getWeight, item.getWeight())
.set(OrderChild::getPoundStatus, item.getPoundStatus())
);
}
......
package com.clx.performance.dao.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.clx.performance.dao.OrderGoodsTruckBindDao;
import com.clx.performance.mapper.OrderGoodsTruckBindMapper;
import com.clx.performance.model.OrderGoodsTruckBind;
import com.msl.common.base.Optional;
import com.msl.common.dao.impl.BaseDaoImpl;
import com.msl.common.utils.DateUtils;
import org.springframework.stereotype.Repository;
......@@ -30,4 +30,13 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
public List<Integer> getTrucksByOrderGoodsNo(String orderGoodsNo) {
return baseMapper.getTrucksByOrderGoodsNo(orderGoodsNo);
}
@Override
public Optional<OrderGoodsTruckBind> getByOrderGoodsNoAndTruckNo(String orderGoodsNo, String truckNo) {
return Optional.ofNullable(getOne(lQrWrapper()
.eq(OrderGoodsTruckBind::getOrderGoodsNo, orderGoodsNo)
.eq(OrderGoodsTruckBind::getTruckNo, truckNo)
));
}
}
......@@ -32,6 +32,7 @@ public class OrderChildPoundAudit implements HasKey<Integer> {
private String childNo; //运单编号
private BigDecimal loadNet; //装货净重(单位吨)
private BigDecimal unloadNet; //卸货净重(单位吨)
private String unloadPoundNo; //卸货磅单编号
private Integer status; //审核状态 0 待审核 1 审核通过 2 审核驳回
private Integer rejectType; //审核驳回类型:1装车 2卸车 3装车+卸车
private String remark; //备注
......
......@@ -24,6 +24,8 @@ public interface OrderChildService {
SaveOrderChildVO saveOrderChild(OrderChildSaveParam param);
void updateReject(OrderChildRejectParam param);
void updateGotoSendAddress(OrderChildGoToSendAddressParam param);
void updateArriveSendAddress(OrderChildArriveSendAddressParam param);
void updateGotoReceiveAddress(OrderChildGoToReceiveAddressParam param);
......
......@@ -59,6 +59,7 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
vo.setUnloadImages(unloadImages.stream().map(OrderChildImage::getImage).collect(Collectors.toList()));
vo.setLoadNet(poundAuditDetail.getLoadNet());
vo.setUnloadNet(poundAuditDetail.getUnloadNet());
vo.setUnloadPoundNo(poundAuditDetail.getUnloadPoundNo());
vo.setStatus(poundAuditDetail.getStatus());
vo.setRemark(poundAuditDetail.getRemark());
vo.setRejectType(poundAuditDetail.getRejectType());
......
......@@ -2,10 +2,7 @@ package com.clx.performance.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.order.vo.feign.FeignAddressVO;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.OrderChildImageDao;
import com.clx.performance.dao.OrderChildPoundAuditDao;
import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.dao.*;
import com.clx.performance.enums.*;
import com.clx.performance.extranal.user.AddressService;
import com.clx.performance.extranal.user.DriverService;
......@@ -59,13 +56,13 @@ import java.util.stream.Collectors;
public class OrderChildServiceImpl implements OrderChildService {
private final OrderGoodsDao orderGoodsDao;
private final OrderGoodsTruckBindDao orderGoodsTruckBindDao;
private final OrderChildDao orderChildDao;
private final OrderChildImageDao orderChildImageDao;
private final OrderChildPoundAuditDao orderChildPoundAuditDao;
private final OrderChildLogService orderChildLogService;
private final OrderChildPoundLogService orderChildPoundLogService;
private final AddressService addressService;
......@@ -171,6 +168,30 @@ public class OrderChildServiceImpl implements OrderChildService {
return result;
}
@Override
public void updateReject(OrderChildRejectParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
LocalDateTime now = LocalDateTime.now();
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(param.getOrderGoodsNo()).orElseThrow(PerformanceResultEnum.ORDER_INVALID);
// 状态验证
if (!Objects.equals(orderGoods.getOrderGoodsStatus(), OrderGoodsStatusEnum.Status.PAYING.getCode())
&& !Objects.equals(orderGoods.getOrderGoodsStatus(), OrderGoodsStatusEnum.Status.GO_TO_SEND.getCode())){
throw new ServiceSystemException(PerformanceResultEnum.ORDER_INVALID);
}
// 定向派单
if (!Objects.equals(orderGoods.getPendingOrderWay(), 2)){
throw new ServiceSystemException(PerformanceResultEnum.ORDER_INVALID);
}
orderGoodsTruckBindDao.getByOrderGoodsNoAndTruckNo(orderGoods.getOrderGoodsNo(), param.getTruckNo()).orElseThrow(PerformanceResultEnum.ORDER_INVALID);
updateOrderGoodsReject(orderGoods, param.getTruckNo());
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateGotoSendAddress(OrderChildGoToSendAddressParam param) {
......@@ -404,6 +425,7 @@ public class OrderChildServiceImpl implements OrderChildService {
imageList.add(image);
}
orderChild.setUnloadPoundNo(param.getUnloadPoundNo());
orderChild.setUnloadRough(param.getUnloadRough());
orderChild.setUnloadTare(param.getUnloadTare());
orderChild.setUnloadNet(param.getUnloadNet());
......@@ -443,18 +465,19 @@ public class OrderChildServiceImpl implements OrderChildService {
imageList.add(image);
}
orderChild.setUnloadPoundNo(param.getUnloadPoundNo());
orderChild.setUnloadRough(param.getUnloadRough());
orderChild.setUnloadTare(param.getUnloadTare());
orderChild.setUnloadNet(param.getUnloadNet());
orderChild.setUnloadTime(LocalDateTime.now());
orderChild.setPoundStatus(OrderChildPoundAuditEnum.Status.AUDIT.getCode());
orderChild.setWeight(orderChildWeightCalc(orderChild));
OrderChildPoundAudit audit = new OrderChildPoundAudit();
audit.setChildNo(childNo);
audit.setStatus(OrderChildPoundAuditEnum.Status.AUDIT.getCode());
audit.setLoadNet(orderChild.getLoadNet());
audit.setUnloadNet(orderChild.getUnloadNet());
audit.setUnloadPoundNo(orderChild.getUnloadPoundNo());
orderChildDao.updateUnload(orderChild);
......@@ -519,6 +542,7 @@ public class OrderChildServiceImpl implements OrderChildService {
audit.setStatus(OrderChildPoundAuditEnum.Status.AUDIT.getCode());
audit.setLoadNet(orderChild.getLoadNet());
audit.setUnloadNet(orderChild.getUnloadNet());
audit.setUnloadPoundNo(orderChild.getUnloadPoundNo());
orderChildDao.updateLoadAndUnload(orderChild);
......@@ -745,6 +769,10 @@ public class OrderChildServiceImpl implements OrderChildService {
}
private void updateOrderGoodsReject(OrderGoods orderGoods, String truckNo){
}
/**
* 取消检测
*/
......@@ -768,9 +796,8 @@ public class OrderChildServiceImpl implements OrderChildService {
* 运单拉运吨数计算
*/
private BigDecimal orderChildWeightCalc(OrderChild orderChild){
if (orderChild.getUnloadNet() == null && orderChild.getLoadNet() == null) {return orderChild.getTruckLoad();}
else if (orderChild.getUnloadNet() == null) {return orderChild.getLoadNet();}
else {return orderChild.getUnloadNet().compareTo(orderChild.getLoadNet())>0? orderChild.getLoadNet() : orderChild.getUnloadNet();}
if (orderChild.getUnloadNet() == null) {return orderChild.getTruckLoad();}
else {return orderChild.getLoadNet();}
}
/**
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论