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

运单流程

上级 c337a6c0
......@@ -15,7 +15,7 @@ public enum OrderChildEnum {
CREATED(10, "已接单"),
PAYING(20, "支付中"),
PAY(20, "支付"),
GO_TO_SEND(30, "前往货源地"),
ARRIVE_SEND(40, "到达货源地"),
......@@ -24,7 +24,7 @@ public enum OrderChildEnum {
ARRIVE_RECEIVE(70 , "到达目的地"),
UNLOAD(80, "收货待确认"),
UNSETTLED(90, "待结算"),
UNSETTLE(90, "待结算"),
COMPLETE(100, "完成"),
......
......@@ -12,20 +12,27 @@ public enum OrderChildLogEnum {
@Getter
@AllArgsConstructor
public enum Type {
CREATED(1, "接单成功"),
CREATED(11, "接单成功"),
GO_TO_SEND(21, "前往货源地"),
ARRIVE_SEND(22, "到达货源地"),
GO_TO_RECEIVE(23, "前往目的地"),
ARRIVE_RECEIVE(24 , "到达目的地"),
PAY(21, "支付成功"),
LOAD(31, "提交装货信息"),
UNLOAD(32, "提交卸货信息"),
RELOAD(33, "修改装货信息"),
REUNLOAD(34, "修改卸货信息"),
RELOAD_AND_REUNLOAD(35, "修改装货、卸货信息"),
GO_TO_SEND(31, "前往货源地"),
ARRIVE_SEND(32, "到达货源地"),
GO_TO_RECEIVE(33, "前往目的地"),
ARRIVE_RECEIVE(34 , "到达目的地"),
DRIVER_CONFIRM(41, "司机确认收货"),
LOAD(41, "提交装货信息"),
UNLOAD(42, "提交卸货信息"),
RELOAD(43, "修改装货信息"),
REUNLOAD(44, "修改卸货信息"),
RELOAD_AND_REUNLOAD(45, "修改装货、卸货信息"),
DRIVER_CONFIRM(51, "司机确认收货"),
SETTLEMENT(61, "结算成功"),
POUND_AUDIT(71, "磅单审核通过"),
POUND_AUDIT_REJECT(72, "磅单审核驳回"),
COMPLETE(100, "完成"),
......
......@@ -35,6 +35,7 @@ public enum PerformanceResultEnum implements ResultEnum {
ORDER_NO_FOUND(1200, "货单不存在"),
ORDER_WEIGHT_LACK(1200, "剩余数量不足"),
ORDER_INVALID(1200, "无效的货单"),
ORDER_CHILD_NO_FOUND(1301, "运单不存在"),
......
......@@ -11,30 +11,21 @@ import lombok.ToString;
@Setter
@NoArgsConstructor
@ToString
public class PageOrderChildParam extends PageParam {
public class PageOrderChildOfDriverParam 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 = "北京")
private String content;
@ApiModelProperty(value="状态",example = "1")
private Integer status;
@ApiModelProperty(value="开始时间",example = "2020-01-01 10:10:10")
@ApiModelProperty(value="开始时间")
private String beginTime;
@ApiModelProperty(value = "结束时间",example = "2020-01-01 10:10:10")
@ApiModelProperty(value = "结束时间")
private String endTime;
@ApiModelProperty(value = "用户编号", hidden = true)
private Long userNo;
}
......@@ -31,6 +31,8 @@ public class OrderChildVO {
private Long userNo;
@ApiModelProperty(value = "货主用户编号", example = "")
private Long ownerUserNo;
@ApiModelProperty(value = "货主名称", example = "")
private String ownerName;
@ApiModelProperty(value = "运单编号", example = "")
private String childNo;
@ApiModelProperty(value = "货单编号", example = "")
......@@ -83,10 +85,13 @@ public class OrderChildVO {
@ApiModelProperty(value = "拉运重量(单位吨)", example = "")
private BigDecimal weight;
@ApiModelProperty(value = "磅单审核状态", example = "")
@ApiModelProperty(value = "取消原因", example = "")
private String cancelRemark;
@ApiModelProperty(value = "磅单审核状态 0 待审核 1 审核通过 2 审核驳回", example = "")
private Integer poundStatus;
@ApiModelProperty(value = "状态", example = "")
private Integer status;
@ApiModelProperty(value = "支付时间", example = "")
private String payTime;
@ApiModelProperty(value = "装车时间", example = "")
......
......@@ -123,7 +123,7 @@ public class AppDriverOrderChildController {
@ApiOperation(value = "分页查询运单列表",notes = "<br>By:艾庆国")
@PostMapping("/pageOrderChild")
public Result<PageData<OrderChildVO>> pageOrderChild(@RequestBody PageOrderChildParam param) {
public Result<PageData<OrderChildVO>> pageOrderChild(@RequestBody PageOrderChildOfDriverParam param) {
IPage<OrderChildVO> page = orderChildService.pageOrderChild(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
......
......@@ -3,7 +3,9 @@ package com.clx.performance.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.OrderChildMapper;
import com.clx.performance.model.OrderChild;
import com.clx.performance.param.app.PageOrderChildOfDriverParam;
import com.clx.performance.param.pc.PagePoundAuditParam;
import com.clx.performance.vo.app.OrderChildVO;
import com.clx.performance.vo.pc.PageOrderChildPoundAuditVO;
import com.msl.common.base.Optional;
import com.msl.common.dao.BaseDao;
......@@ -18,18 +20,19 @@ import java.time.LocalDateTime;
*/
public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Integer> {
boolean updateStatus(OrderChild item);
boolean updateCancel(OrderChild item);
boolean updateLoad(OrderChild item);
boolean updateLoad(OrderChild item);
boolean updateUnload(OrderChild item);
boolean updateLoadAndUnload(OrderChild item);
boolean updateDriverConfirm(OrderChild item);
boolean updateStatus(OrderChild item);
Optional<OrderChild> getByChildNo(String childNo);
long countOfCancel(Long userNo, LocalDateTime startTime, LocalDateTime endTime);
IPage<OrderChildVO> pageOrderChildOfDriver(PageOrderChildOfDriverParam param);
IPage<PageOrderChildPoundAuditVO> pagePoundAuditList(PagePoundAuditParam param);
......
......@@ -2,11 +2,14 @@ package com.clx.performance.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.order.params.PageOrderGoodsListParam;
import com.clx.performance.mapper.OrderGoodsMapper;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.vo.pc.OrderGoodsVO;
import com.msl.common.base.Optional;
import com.msl.common.dao.BaseDao;
import com.clx.performance.mapper.OrderGoodsMapper;
import com.clx.performance.model.OrderGoods;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
/**
* @author kavin
......@@ -14,6 +17,8 @@ import com.clx.performance.model.OrderGoods;
* Time 16:45
*/
public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Integer> {
boolean updateWeight(@Param("orderId")Integer orderId, @Param("weight") BigDecimal weight);
Long getMaxOrderGoodsId(String type);
Optional<OrderGoods> getByOrderGoodsNo(String orderGoodsNo);
......
......@@ -6,7 +6,9 @@ import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.enums.OrderChildEnum;
import com.clx.performance.mapper.OrderChildMapper;
import com.clx.performance.model.OrderChild;
import com.clx.performance.param.app.PageOrderChildOfDriverParam;
import com.clx.performance.param.pc.PagePoundAuditParam;
import com.clx.performance.vo.app.OrderChildVO;
import com.clx.performance.vo.pc.PageOrderChildPoundAuditVO;
import com.msl.common.base.Optional;
import com.msl.common.dao.impl.BaseDaoImpl;
......@@ -22,6 +24,15 @@ import java.time.LocalDateTime;
*/
@Repository
public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, Integer> implements OrderChildDao {
@Override
public boolean updateStatus(OrderChild item) {
return update(lUdWrapper()
.eq(OrderChild::getChildNo, item.getChildNo())
.set(OrderChild::getStatus, item.getStatus())
);
}
@Override
public boolean updateCancel(OrderChild item) {
return update(lUdWrapper()
......@@ -54,6 +65,7 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
.set(OrderChild::getUnloadTime, item.getUnloadTime())
.set(OrderChild::getWeight, item.getWeight())
.set(OrderChild::getPoundStatus, item.getPoundStatus())
.set(OrderChild::getStatus, item.getStatus())
);
}
......@@ -76,21 +88,6 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
);
}
@Override
public boolean updateDriverConfirm(OrderChild item) {
return update(lUdWrapper()
.eq(OrderChild::getChildNo, item.getChildNo())
.set(OrderChild::getStatus, item.getStatus())
);
}
@Override
public boolean updateStatus(OrderChild item) {
return update(lUdWrapper()
.eq(OrderChild::getChildNo, item.getChildNo())
.set(OrderChild::getStatus, item.getStatus())
);
}
@Override
public Optional<OrderChild> getByChildNo(String childNo) {
......@@ -112,6 +109,12 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
);
}
@Override
public IPage<OrderChildVO> pageOrderChildOfDriver(PageOrderChildOfDriverParam param) {
Page<OrderChildVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.pageOrderChildOfDriver(page,param);
}
@Override
public IPage<PageOrderChildPoundAuditVO> pagePoundAuditList(PagePoundAuditParam param) {
Page<PageOrderChildPoundAuditVO> page = Page.of(param.getPage(), param.getPageSize());
......
......@@ -3,17 +3,17 @@ package com.clx.performance.dao.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.order.params.PageOrderGoodsListParam;
import com.clx.order.vo.feign.FeignPageOrderVO;
import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.vo.pc.OrderGoodsVO;
import com.msl.common.dao.BaseDao;
import com.msl.common.dao.impl.BaseDaoImpl;
import com.clx.performance.mapper.OrderGoodsMapper;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.vo.pc.OrderGoodsVO;
import com.msl.common.base.Optional;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.math.BigDecimal;
/**
* @author kavin
* Date 2023-09-17
......@@ -22,6 +22,11 @@ import org.springframework.stereotype.Repository;
@Repository
public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods, Integer> implements OrderGoodsDao {
@Override
public boolean updateWeight(@Param("orderId")Integer orderId, @Param("weight") BigDecimal weight) {
return baseMapper.updateWeight(orderId, weight)>0;
}
@Override
public Long getMaxOrderGoodsId(String type) {
return baseMapper.getMaxOrderGoodsId(type);
......@@ -31,7 +36,7 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
public Optional<OrderGoods> getByOrderGoodsNo(String orderGoodsNo) {
return Optional.of(orderGoodsNo)
.map(item -> lQrWrapper()
.eq(OrderGoods::getUserNo, item)
.eq(OrderGoods::getOrderGoodsNo, item)
)
.map(super::getOne);
}
......
......@@ -4,8 +4,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.model.OrderChild;
import com.clx.performance.param.app.PageOrderChildOfDriverParam;
import com.clx.performance.param.pc.PagePoundAuditParam;
import com.clx.performance.sqlProvider.OrderChildSqlProvider;
import com.clx.performance.vo.app.OrderChildVO;
import com.clx.performance.vo.pc.PageOrderChildPoundAuditVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -16,6 +18,14 @@ import org.apache.ibatis.annotations.SelectProvider;
@Mapper
public interface OrderChildMapper extends BaseMapper<OrderChild> {
/**
* 司机运单列表
* @see OrderChildSqlProvider#pageOrderChildOfDriver(Page, PageOrderChildOfDriverParam)
*/
@SelectProvider(type = OrderChildSqlProvider.class, method = "pageOrderChildOfDriver")
IPage<OrderChildVO> pageOrderChildOfDriver(@Param("page") Page<OrderChildVO> page, @Param("param") PageOrderChildOfDriverParam param);
@SelectProvider(type = OrderChildSqlProvider.class, method = "pagePoundAuditList")
IPage<PageOrderChildPoundAuditVO> pagePoundAuditList(@Param("page") Page<PageOrderChildPoundAuditVO> page, @Param("param") PagePoundAuditParam param);
......
......@@ -7,7 +7,11 @@ import com.clx.order.params.PageOrderGoodsListParam;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.sqlProvider.OrderGoodsSqlProvider;
import com.clx.performance.vo.pc.OrderGoodsVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.annotations.Update;
import java.math.BigDecimal;
/**
* @author kavin
......@@ -16,6 +20,11 @@ import org.apache.ibatis.annotations.SelectProvider;
*/
public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
@Update(" update order_goods set " +
" residue_transport_weight = residue_transport_weight-#{weight}, " +
" where id = #{orderId}")
int updateWeight(@Param("orderId")Integer orderId, @Param("weight")BigDecimal weight);
@SelectProvider(type = OrderGoodsSqlProvider.class, method = "getMaxOrderGoodsId")
Long getMaxOrderGoodsId(String type);
......
......@@ -29,6 +29,7 @@ public class OrderChild implements HasKey<Integer> {
private Integer id; //id
private Long userNo; //用户编号
private Long ownerUserNo; //货主用户编号
private String ownerName; //货主名称
private String childNo; //运单编号
private String orderGoodsNo; //货单编号
private String orderNo; //订单编号
......@@ -58,7 +59,8 @@ public class OrderChild implements HasKey<Integer> {
private BigDecimal unloadNet; //卸货净重(单位吨)
private BigDecimal weight; //拉运重量(单位吨)
private Integer poundStatus; //磅单审核状态
private String cancelRemark; //取消原因
private Integer poundStatus; //磅单审核状态 0 待审核 1 审核通过 2 审核驳回
private Integer status; //状态
private LocalDateTime payTime; //支付时间
......
......@@ -33,7 +33,7 @@ public interface OrderChildService {
OrderChildVO getOrderChildInfo(String childNo);
IPage<OrderChildVO> pageOrderChild(PageOrderChildParam param);
IPage<OrderChildVO> pageOrderChild(PageOrderChildOfDriverParam param);
IPage<PageOrderChildPoundAuditVO> pagePoundAuditList(PagePoundAuditParam param);
......
......@@ -2,7 +2,9 @@ package com.clx.performance.sqlProvider;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.param.app.PageOrderChildOfDriverParam;
import com.clx.performance.param.pc.PagePoundAuditParam;
import com.clx.performance.vo.app.OrderChildVO;
import com.clx.performance.vo.pc.PageOrderChildPoundAuditVO;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
......@@ -12,6 +14,33 @@ import java.util.Objects;
public class OrderChildSqlProvider {
public String pageOrderChildOfDriver(@Param("page") Page<OrderChildVO> page, @Param("param") PageOrderChildOfDriverParam param) {
return new SQL(){{
SELECT("child_no,goods_name,freight_price," +
"send_address,receive_address," +
"driver_name,driver_mobile," +
"weight," +
"cancel_remark," +
"pound_status,status," +
"date_format(load_deadline, '%Y-%m-%d %H:%i:%s') as loadDeadline," +
"date_format(unload_time, '%Y-%m-%d %H:%i:%s') as unloadTime "
);
FROM("order_child ");
WHERE("(user_no = #{param.userNo} or driver_user_no = #{param.userNo}) ");
if (StringUtils.isNotBlank(param.getContent())) {WHERE("(" +
" owner_name like CONCAT(#{param.content},'%') " +
" or truck_no like CONCAT(#{param.content},'%') " +
" or driver_name like CONCAT(#{param.content},'%') " +
" or send_address like CONCAT(#{param.content},'%') " +
" or receive_address like CONCAT(#{param.content},'%') " +
")");}
if (Objects.nonNull(param.getStatus())) {WHERE("status = #{param.status}");}
ORDER_BY("create_time desc");
}}.toString();
}
public String pagePoundAuditList(@Param("page") Page<PageOrderChildPoundAuditVO> page, @Param("param") PagePoundAuditParam param) {
return new SQL(){{
SELECT("child_no,status,goods_name,send_address,receive_address,driver_name,driver_mobile,load_net,unload_net," +
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论