提交 dfa791bc authored 作者: aiqingguo's avatar aiqingguo

运单流程

上级 d8037ce3
...@@ -24,13 +24,12 @@ public enum OrderChildEnum { ...@@ -24,13 +24,12 @@ public enum OrderChildEnum {
ARRIVE_RECEIVE(70 , "到达目的地"), ARRIVE_RECEIVE(70 , "到达目的地"),
UNLOAD(80, "收货待确认"), UNLOAD(80, "收货待确认"),
POUND_AUDIT_FAIL(90, "磅单审核驳回"), UNSETTLED(90, "待结算"),
UNSETTLED(100, "待结算"),
COMPLETE(110, "完成"), COMPLETE(100, "完成"),
DRIVER_CANCEL(210, "司机取消"), DRIVER_CANCEL(110, "司机取消"),
PLATFORM_CANCEL(220, "平台取消"), PLATFORM_CANCEL(111, "平台取消"),
// //
// OWNER_CONFIRM(50, "货主确认车辆"),//货主确认车辆 // OWNER_CONFIRM(50, "货主确认车辆"),//货主确认车辆
......
...@@ -14,23 +14,23 @@ public enum OrderChildLogEnum { ...@@ -14,23 +14,23 @@ public enum OrderChildLogEnum {
public enum Type { public enum Type {
CREATED(1, "接单成功"), CREATED(1, "接单成功"),
GO_TO_SEND(3, "前往货源地"), GO_TO_SEND(21, "前往货源地"),
ARRIVE_SEND(4, "到达货源地"), ARRIVE_SEND(22, "到达货源地"),
GO_TO_RECEIVE(5, "前往目的地"), GO_TO_RECEIVE(23, "前往目的地"),
ARRIVE_RECEIVE(6 , "到达目的地"), ARRIVE_RECEIVE(24 , "到达目的地"),
POUND_AUDIT(7, "磅单审核"),
LOAD(31, "提交装货信息"),
LOAD(11, "提交装货信息"), UNLOAD(32, "提交卸货信息"),
UNLOAD(12, "提交卸货信息"), RELOAD(33, "修改装货信息"),
RELOAD(13, "修改装货信息"), REUNLOAD(34, "修改卸货信息"),
REUNLOAD(14, "修改卸货信息"), RELOAD_AND_REUNLOAD(35, "修改装货、卸货信息"),
RELOAD_AND_REUNLOAD(15, "修改装货、卸货信息"),
DRIVER_CONFIRM(41, "司机确认收货"),
DRIVER_CONFIRM(21, "司机确认收货"),
COMPLETE(21, "完成"), COMPLETE(100, "完成"),
DRIVER_CANCEL(31, "司机取消运单"), DRIVER_CANCEL(110, "司机取消运单"),
OWNER_CANCEL(32, "货主取消运单"), OWNER_CANCEL(111, "货主取消运单"),
; ;
......
...@@ -44,7 +44,7 @@ public enum PerformanceResultEnum implements ResultEnum { ...@@ -44,7 +44,7 @@ public enum PerformanceResultEnum implements ResultEnum {
ORDER_CHILD_LOAD_TIMEOUT(1305, "超过装货截止时间"), ORDER_CHILD_LOAD_TIMEOUT(1305, "超过装货截止时间"),
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(1307, "磅单审核中"),
; ;
......
...@@ -10,7 +10,7 @@ import javax.validation.constraints.NotBlank; ...@@ -10,7 +10,7 @@ import javax.validation.constraints.NotBlank;
@Getter @Getter
@Setter @Setter
@NoArgsConstructor @NoArgsConstructor
public class OrderChildCancelParam { public class OrderChildDriverCancelParam {
@ApiModelProperty(value = "运单编号", example = "100000000") @ApiModelProperty(value = "运单编号", example = "100000000")
@NotBlank(message = "运单编号不能为空") @NotBlank(message = "运单编号不能为空")
......
...@@ -10,7 +10,7 @@ import javax.validation.constraints.NotBlank; ...@@ -10,7 +10,7 @@ import javax.validation.constraints.NotBlank;
@Getter @Getter
@Setter @Setter
@NoArgsConstructor @NoArgsConstructor
public class OrderChildConfirmParam { public class OrderChildDriverConfirmParam {
@ApiModelProperty(value = "运单编号", example = "100000000") @ApiModelProperty(value = "运单编号", example = "100000000")
@NotBlank(message = "运单编号不能为空") @NotBlank(message = "运单编号不能为空")
......
package com.clx.performance.param.app;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class PageOrderChildParam extends PageParam {
@ApiModelProperty(value="运单编号",example = "1000000")
private String childNo;
@ApiModelProperty(value="司机姓名",example = "张三")
private String driverName;
@ApiModelProperty(value="司机手机号",example = "13000000000")
private String driverMobile;
@ApiModelProperty(value="发货地址",example = "北京")
private String sendAddress;
@ApiModelProperty(value="收货地址",example = "黄羊城")
private String receiveAddress;
@ApiModelProperty(value="状态",example = "1")
private Integer status;
@ApiModelProperty(value="开始时间",example = "2020-01-01 10:10:10")
private String beginTime;
@ApiModelProperty(value = "结束时间",example = "2020-01-01 10:10:10")
private String endTime;
}
package com.clx.performance.controller.app; package com.clx.performance.controller.app;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.*; import com.clx.performance.param.app.*;
import com.clx.performance.service.OrderChildService; import com.clx.performance.service.OrderChildService;
import com.clx.performance.vo.app.OrderChildVO; import com.clx.performance.vo.app.OrderChildVO;
import com.clx.performance.vo.app.SaveOrderChildVO; import com.clx.performance.vo.app.SaveOrderChildVO;
import com.msl.common.base.PageData;
import com.msl.common.result.Result; import com.msl.common.result.Result;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -28,7 +30,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -28,7 +30,7 @@ import org.springframework.web.bind.annotation.RestController;
@Validated @Validated
@Api(tags = "APP-运单") @Api(tags = "APP-运单")
@AllArgsConstructor @AllArgsConstructor
public class DriverOrderChildController { public class AppDriverOrderChildController {
private final OrderChildService orderChildService; private final OrderChildService orderChildService;
...@@ -96,9 +98,17 @@ public class DriverOrderChildController { ...@@ -96,9 +98,17 @@ public class DriverOrderChildController {
return Result.ok(); return Result.ok();
} }
@ApiOperation(value = "确认交货", notes = "<br>By:艾庆国")
@PostMapping("/updateConfirm")
public Result<Void> updateDriverConfirm(@RequestBody @Validated OrderChildDriverConfirmParam param) {
orderChildService.updateDriverConfirm(param);
return Result.ok();
}
@ApiOperation(value = "取消运单", notes = "<br>By:艾庆国") @ApiOperation(value = "取消运单", notes = "<br>By:艾庆国")
@PostMapping("/updateCancel") @PostMapping("/updateCancel")
public Result<Void> updateDriverCancel(@RequestBody @Validated OrderChildCancelParam param) { public Result<Void> updateDriverCancel(@RequestBody @Validated OrderChildDriverCancelParam param) {
orderChildService.updateDriverCancel(param); orderChildService.updateDriverCancel(param);
return Result.ok(); return Result.ok();
...@@ -111,4 +121,11 @@ public class DriverOrderChildController { ...@@ -111,4 +121,11 @@ public class DriverOrderChildController {
return Result.ok(orderChildService.getOrderChildInfo(childNo)); return Result.ok(orderChildService.getOrderChildInfo(childNo));
} }
@ApiOperation(value = "分页查询运单列表",notes = "<br>By:艾庆国")
@PostMapping("/pageOrderChild")
public Result<PageData<OrderChildVO>> pageOrderChild(@RequestBody PageOrderChildParam param) {
IPage<OrderChildVO> page = orderChildService.pageOrderChild(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
} }
...@@ -78,7 +78,10 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -78,7 +78,10 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
@Override @Override
public boolean updateDriverConfirm(OrderChild item) { public boolean updateDriverConfirm(OrderChild item) {
return false; return update(lUdWrapper()
.eq(OrderChild::getChildNo, item.getChildNo())
.set(OrderChild::getStatus, item.getStatus())
);
} }
@Override @Override
......
...@@ -28,10 +28,13 @@ public interface OrderChildService { ...@@ -28,10 +28,13 @@ public interface OrderChildService {
void updateUnload(OrderChildUnloadParam param); void updateUnload(OrderChildUnloadParam param);
void updateLoadAndUnloadAgain(OrderChildLoadAndUnloadAgainParam param); void updateLoadAndUnloadAgain(OrderChildLoadAndUnloadAgainParam param);
void updateDriverCancel(OrderChildCancelParam param); void updateDriverConfirm(OrderChildDriverConfirmParam param);
void updateDriverCancel(OrderChildDriverCancelParam param);
OrderChildVO getOrderChildInfo(String childNo); OrderChildVO getOrderChildInfo(String childNo);
IPage<OrderChildVO> pageOrderChild(PageOrderChildParam param);
IPage<PageOrderChildPoundAuditVO> pagePoundAuditList(PagePoundAuditParam param); IPage<PageOrderChildPoundAuditVO> pagePoundAuditList(PagePoundAuditParam param);
} }
...@@ -68,16 +68,14 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer ...@@ -68,16 +68,14 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void updatePoundAudit(PoundAuditParam param) { public void updatePoundAudit(PoundAuditParam param) {
/*OrderChild orderChild = orderChildDao.getByChildNo(param.getChildNo()).orElseThrow(ResultCodeEnum.FAIL); OrderChild orderChild = orderChildDao.getByChildNo(param.getChildNo()).orElseThrow(ResultCodeEnum.FAIL);
OrderChildPoundAudit poundAuditDetail = orderChildPoundAuditDao.getPoundAuditDetail(param.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND); OrderChildPoundAudit poundAuditDetail = orderChildPoundAuditDao.getPoundAuditDetail(param.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
poundAuditDetail.setStatus(param.getStatus()); poundAuditDetail.setStatus(param.getStatus());
orderChild.setStatus(OrderChildEnum.Status.UNSETTLED.getCode());
if(Objects.equals(param.getStatus(),OrderChildPoundAudit.AuditStatus.FAIL.getCode())){ if(Objects.equals(param.getStatus(),OrderChildPoundAudit.AuditStatus.FAIL.getCode())){
poundAuditDetail.setStatus(param.getStatus()); poundAuditDetail.setStatus(param.getStatus());
poundAuditDetail.setRejectType(param.getRejectType()); poundAuditDetail.setRejectType(param.getRejectType());
poundAuditDetail.setRemark(param.getRemark()); poundAuditDetail.setRemark(param.getRemark());
orderChild.setStatus(OrderChildEnum.Status.POUND_AUDIT_FAIL.getCode());
} }
if(Objects.nonNull(param.getLoadNet())){ if(Objects.nonNull(param.getLoadNet())){
poundAuditDetail.setLoadNet(param.getLoadNet()); poundAuditDetail.setLoadNet(param.getLoadNet());
...@@ -100,7 +98,7 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer ...@@ -100,7 +98,7 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
orderChild.setUnloadNet(param.getUnloadNet()); orderChild.setUnloadNet(param.getUnloadNet());
} }
orderChild.setPoundStatus(param.getStatus()); orderChild.setPoundStatus(param.getStatus());
orderChildDao.updatePoundAuditStatus(orderChild);*/ orderChildDao.updatePoundAuditStatus(orderChild);
} }
} }
...@@ -501,7 +501,44 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -501,7 +501,44 @@ public class OrderChildServiceImpl implements OrderChildService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void updateDriverCancel(OrderChildCancelParam param) { public void updateDriverConfirm(OrderChildDriverConfirmParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
String childNo = param.getChildNo();
OrderChild orderChild = orderChildDao.getByChildNo(childNo).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
if (!Objects.equals(orderChild.getUserNo(), userNo) && !Objects.equals(orderChild.getDriverUserNo(), userNo)){
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())){
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_STATUS_CHANGED);
}
// 审核中
if (Objects.equals(orderChild.getPoundStatus(), OrderChildPoundAuditEnum.Status.AUDIT.getCode())){
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_POUND_AUDIT);
}
if (Objects.equals(orderChild.getPoundStatus(), OrderChildPoundAuditEnum.Status.REJECT.getCode())){
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_STATUS_CHANGED);
}
orderChild.setStatus(OrderChildEnum.Status.UNSETTLED.getCode());
orderChildDao.updateStatus(orderChild);
// 日志
orderChildLogService.saveDriverOrderChildLog(childNo, OrderChildLogEnum.Type.DRIVER_CONFIRM.getCode(), OrderChildLogEnum.Type.DRIVER_CONFIRM.getMsg(),
loginUserInfo.getUserNo(), loginUserInfo.getUserName());
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateDriverCancel(OrderChildDriverCancelParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo(); UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo(); Long userNo = loginUserInfo.getUserNo();
...@@ -541,7 +578,10 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -541,7 +578,10 @@ public class OrderChildServiceImpl implements OrderChildService {
@Override @Override
public OrderChildVO getOrderChildInfo(String childNo) { public OrderChildVO getOrderChildInfo(String childNo) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo(); // UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
UserSessionData loginUserInfo = new UserSessionData();
loginUserInfo.setUserNo(1000L);
loginUserInfo.setUserName("zs");
Long userNo = loginUserInfo.getUserNo(); Long userNo = loginUserInfo.getUserNo();
OrderChild orderChild = orderChildDao.getByChildNo(childNo).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND); OrderChild orderChild = orderChildDao.getByChildNo(childNo).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
...@@ -558,6 +598,11 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -558,6 +598,11 @@ public class OrderChildServiceImpl implements OrderChildService {
return result; return result;
} }
@Override
public IPage<OrderChildVO> pageOrderChild(PageOrderChildParam param) {
return null;
}
/** /**
* 更新货单数据 * 更新货单数据
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论