提交 797adad7 authored 作者: liuhaiquan's avatar liuhaiquan

Merge remote-tracking branch 'origin/v4.9_create_goods_child_20230918' into…

Merge remote-tracking branch 'origin/v4.9_create_goods_child_20230918' into v4.9_create_goods_child_20230918
...@@ -31,7 +31,8 @@ public enum OrderChildEnum { ...@@ -31,7 +31,8 @@ public enum OrderChildEnum {
COMPLETE(100, "完成"), COMPLETE(100, "完成"),
DRIVER_CANCEL(110, "司机取消"), DRIVER_CANCEL(110, "司机取消"),
PLATFORM_CANCEL(111, "平台取消"), PLATFORM_CANCEL(111, "承运取消"),
OWNER_CANCEL(112, "货主取消"),
// //
// OWNER_CONFIRM(50, "货主确认车辆"),//货主确认车辆 // OWNER_CONFIRM(50, "货主确认车辆"),//货主确认车辆
......
...@@ -12,7 +12,7 @@ public enum OrderChildLogEnum { ...@@ -12,7 +12,7 @@ public enum OrderChildLogEnum {
@Getter @Getter
@AllArgsConstructor @AllArgsConstructor
public enum Type { public enum Type {
CREATED(11, "接单成功"), CREATED(11, "已接单"),
PAY(21, "支付成功"), PAY(21, "支付成功"),
...@@ -21,8 +21,8 @@ public enum OrderChildLogEnum { ...@@ -21,8 +21,8 @@ public enum OrderChildLogEnum {
GO_TO_RECEIVE(33, "前往目的地"), GO_TO_RECEIVE(33, "前往目的地"),
ARRIVE_RECEIVE(34 , "到达目的地"), ARRIVE_RECEIVE(34 , "到达目的地"),
LOAD(41, "提交装货信息"), LOAD(41, "装车成功"),
UNLOAD(42, "提交卸货信息"), UNLOAD(42, "收货待确认"),
RELOAD(43, "修改装货信息"), RELOAD(43, "修改装货信息"),
REUNLOAD(44, "修改卸货信息"), REUNLOAD(44, "修改卸货信息"),
RELOAD_AND_REUNLOAD(45, "修改装货、卸货信息"), RELOAD_AND_REUNLOAD(45, "修改装货、卸货信息"),
...@@ -36,9 +36,9 @@ public enum OrderChildLogEnum { ...@@ -36,9 +36,9 @@ public enum OrderChildLogEnum {
COMPLETE(100, "完成"), COMPLETE(100, "完成"),
DRIVER_CANCEL(110, "司机取消运单"), DRIVER_CANCEL(110, "司机取消"),
OWNER_CANCEL(111, "货主取消运单"), PLATFORM_CANCEL(111, "承运取消"),
PLATFORM_CANCEL(112, "平台取消运单"), OWNER_CANCEL(112, "货主取消"),
; ;
......
...@@ -13,9 +13,9 @@ public enum OrderGoodsPendingOrderWayStatusEnum { ...@@ -13,9 +13,9 @@ public enum OrderGoodsPendingOrderWayStatusEnum {
@AllArgsConstructor @AllArgsConstructor
public enum Status { public enum Status {
CREATED(1, "公开派单"), OPEN(1, "公开派单"),
PAYING(2, "定向派单"), EXCLUSIVE(2, "定向派单"),
; ;
private final Integer code; private final Integer code;
......
package com.clx.performance.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import java.util.concurrent.ConcurrentHashMap;
public enum OrderGoodsTruckBindEnum {
;
@Getter
@AllArgsConstructor
public enum Status {
SUCCESS(1, "正常"),
CANCEL(20, "取消"),
;
private final int code;
private final String name;
public static Optional<Status> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
}
}
...@@ -20,6 +20,10 @@ public class OrderChildLoadAndUnloadAgainParam extends PositionParam { ...@@ -20,6 +20,10 @@ public class OrderChildLoadAndUnloadAgainParam extends PositionParam {
@NotBlank(message = "运单编号不能为空") @NotBlank(message = "运单编号不能为空")
private String childNo; private String childNo;
@ApiModelProperty(value = "卸货磅单编号", example = "url")
@NotBlank(message = "交货磅单号不能为空")
private String unloadPoundNo;
@ApiModelProperty(value = "装货毛重(单位吨)", example = "2.46") @ApiModelProperty(value = "装货毛重(单位吨)", example = "2.46")
@NotNull(message = "装货毛重不能为空") @NotNull(message = "装货毛重不能为空")
private BigDecimal loadRough; 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 { ...@@ -20,6 +20,10 @@ public class OrderChildUnloadParam extends PositionParam {
@NotBlank(message = "运单编号不能为空") @NotBlank(message = "运单编号不能为空")
private String childNo; private String childNo;
@ApiModelProperty(value = "卸货磅单编号", example = "url")
@NotBlank(message = "交货磅单号不能为空")
private String unloadPoundNo;
@ApiModelProperty(value = "卸货毛重(单位吨)", example = "2.46") @ApiModelProperty(value = "卸货毛重(单位吨)", example = "2.46")
@NotNull(message = "装货毛重不能为空") @NotNull(message = "装货毛重不能为空")
private BigDecimal unloadRough; private BigDecimal unloadRough;
......
...@@ -8,6 +8,7 @@ import lombok.Setter; ...@@ -8,6 +8,7 @@ import lombok.Setter;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.List;
@Getter @Getter
@Setter @Setter
...@@ -25,4 +26,5 @@ public class OrderGoodsListPageParam extends PageParam { ...@@ -25,4 +26,5 @@ public class OrderGoodsListPageParam extends PageParam {
@ApiModelProperty(value = "司机用户编号", example = "1") @ApiModelProperty(value = "司机用户编号", example = "1")
// @NotNull(message = "司机用户编号空") // @NotNull(message = "司机用户编号空")
private Long driverUserNo; private Long driverUserNo;
} }
...@@ -17,7 +17,6 @@ public class OrderChildCarrierCancelParam { ...@@ -17,7 +17,6 @@ public class OrderChildCarrierCancelParam {
private String childNo; private String childNo;
@ApiModelProperty(value = "取消原因", example = "信息错误") @ApiModelProperty(value = "取消原因", example = "信息错误")
@NotBlank(message = "取消原因不能为空")
private String remark; private String remark;
} }
...@@ -8,6 +8,7 @@ import lombok.Setter; ...@@ -8,6 +8,7 @@ import lombok.Setter;
import lombok.ToString; import lombok.ToString;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode;
@Getter @Getter
@Setter @Setter
...@@ -41,11 +42,19 @@ public class OrderChildFreightInfoVO { ...@@ -41,11 +42,19 @@ public class OrderChildFreightInfoVO {
@ApiModelProperty(value = "运费(元)(实际运费)", example = "1.23") @ApiModelProperty(value = "运费(元)(实际运费)", example = "1.23")
@MoneyOutConvert @MoneyOutConvert
private BigDecimal freight; private BigDecimal freight;
@ApiModelProperty(value = "总运费(元)", example = "1.23") @ApiModelProperty(value = "总运费(元)", example = "1.23")
@MoneyOutConvert @MoneyOutConvert
private BigDecimal totalFreight; private BigDecimal totalFreight;
public BigDecimal getTotalFreight() { public BigDecimal getTotalFreight() {
return freight; return freightPrice.multiply(weight).setScale(0, RoundingMode.HALF_UP);
}
@ApiModelProperty(value = "亏吨扣款(元)", example = "1.23")
@MoneyOutConvert
private BigDecimal lossFreight;
public BigDecimal getLossFreight() {
return (loadNet==null || unloadNet==null || unloadNet.compareTo(loadNet)>0)? BigDecimal.ZERO : freightPrice.multiply(loadNet.subtract(unloadNet)).setScale(0, RoundingMode.HALF_UP);
} }
@ApiModelProperty(value = "状态", example = "0") @ApiModelProperty(value = "状态", example = "0")
......
package com.clx.performance.vo.app; package com.clx.performance.vo.app;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.msl.common.convertor.type.MoneyOutConvert; import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Getter; import lombok.Getter;
...@@ -38,6 +39,12 @@ public class OrderChildPoundInfoVO { ...@@ -38,6 +39,12 @@ public class OrderChildPoundInfoVO {
private Integer poundStatus; private Integer poundStatus;
@ApiModelProperty(value = "磅单审核驳回原因", example = "交货信息错误") @ApiModelProperty(value = "磅单审核驳回原因", example = "交货信息错误")
private String poundRemark; private String poundRemark;
@ApiModelProperty(value = "审核驳回类型:1装车 2卸车 3装车+卸车", example = "1")
private Integer poundRejectType;
public Integer getPoundRejectType() {
return rejectType;
}
@ApiModelProperty(value = "状态", example = "0") @ApiModelProperty(value = "状态", example = "0")
private Integer status; private Integer status;
...@@ -47,4 +54,8 @@ public class OrderChildPoundInfoVO { ...@@ -47,4 +54,8 @@ public class OrderChildPoundInfoVO {
@ApiModelProperty(value = "卸车磅单图片列表") @ApiModelProperty(value = "卸车磅单图片列表")
private List<String> unloadImageList; private List<String> unloadImageList;
@JsonIgnore
@ApiModelProperty(value = "审核驳回类型:1装车 2卸车 3装车+卸车", example = "1", hidden = true)
private Integer rejectType;
} }
\ No newline at end of file
...@@ -10,6 +10,7 @@ import lombok.Setter; ...@@ -10,6 +10,7 @@ import lombok.Setter;
import lombok.ToString; import lombok.ToString;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.List; import java.util.List;
/** /**
...@@ -87,7 +88,7 @@ public class OrderChildVO { ...@@ -87,7 +88,7 @@ public class OrderChildVO {
private BigDecimal unloadTare; private BigDecimal unloadTare;
@ApiModelProperty(value = "卸货净重(单位吨)", example = "1.23") @ApiModelProperty(value = "卸货净重(单位吨)", example = "1.23")
private BigDecimal unloadNet; private BigDecimal unloadNet;
@ApiModelProperty(value = "卸货磅单编号", example = "") @ApiModelProperty(value = "卸货磅单编号", example = "url")
private String unloadPoundNo; private String unloadPoundNo;
@ApiModelProperty(value = "拉运重量(单位吨)", example = "1.23") @ApiModelProperty(value = "拉运重量(单位吨)", example = "1.23")
...@@ -108,6 +109,8 @@ public class OrderChildVO { ...@@ -108,6 +109,8 @@ public class OrderChildVO {
private Integer poundStatus; private Integer poundStatus;
@ApiModelProperty(value = "磅单审核驳回原因", example = "交货信息错误") @ApiModelProperty(value = "磅单审核驳回原因", example = "交货信息错误")
private String poundRemark; private String poundRemark;
@ApiModelProperty(value = "审核驳回类型:1装车 2卸车 3装车+卸车", example = "1")
private Integer poundRejectType;
@ApiModelProperty(value = "状态", example = "0") @ApiModelProperty(value = "状态", example = "0")
private Integer status; private Integer status;
@ApiModelProperty(value = "运输状态 0非运输中 1运输中", example = "1") @ApiModelProperty(value = "运输状态 0非运输中 1运输中", example = "1")
...@@ -144,4 +147,11 @@ public class OrderChildVO { ...@@ -144,4 +147,11 @@ public class OrderChildVO {
@ApiModelProperty(value = "发货地址详情") @ApiModelProperty(value = "发货地址详情")
private Address receiveAddressInfo; private Address receiveAddressInfo;
@ApiModelProperty(value = "总运费(元)", example = "1.23")
@MoneyOutConvert
private BigDecimal totalFreight;
public BigDecimal getTotalFreight() {
return freightPrice.multiply(weight).setScale(0, RoundingMode.HALF_UP);
}
} }
\ No newline at end of file
package com.clx.performance.vo.pc; package com.clx.performance.vo.pc;
import com.clx.performance.enums.OrderChildEnum;
import com.clx.performance.vo.app.Address;
import com.msl.common.convertor.type.MoneyOutConvert; import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
...@@ -22,100 +20,59 @@ import java.util.List; ...@@ -22,100 +20,59 @@ import java.util.List;
@NoArgsConstructor @NoArgsConstructor
public class CarrierOrderChildDetailVO { public class CarrierOrderChildDetailVO {
@ApiModelProperty(value = "id", example = "1")
private Integer id;
@ApiModelProperty(value = "用户编号", example = "10000000000")
private Long userNo;
@ApiModelProperty(value = "货主用户编号", example = "100000000")
private Long ownerUserNo;
@ApiModelProperty(value = "货主名称", example = "张三")
private String ownerName;
@ApiModelProperty(value = "运单编号", example = "100000000") @ApiModelProperty(value = "运单编号", example = "100000000")
private String childNo; private String childNo;
@ApiModelProperty(value = "货单编号", example = "100000000") @ApiModelProperty(value = "货单编号", example = "100000000")
private String orderGoodsNo; private String orderGoodsNo;
@ApiModelProperty(value = "订单编号", example = "10000000000")
private String orderNo;
@ApiModelProperty(value = "货物id", example = "1")
private Integer goodsId;
@ApiModelProperty(value = "货物名称", example = "煤") @ApiModelProperty(value = "货物名称", example = "煤")
private String goodsName; private String goodsName;
@ApiModelProperty(value = "运费单价(元)", example = "1.23") @ApiModelProperty(value = "运费单价(元)", example = "1.23")
@MoneyOutConvert @MoneyOutConvert
private BigDecimal freightPrice; private BigDecimal freightPrice;
@ApiModelProperty(value = "发货地址id", example = "1")
private Integer sendAddressId;
@ApiModelProperty(value = "损耗单价(元)", example = "1.23")
@MoneyOutConvert
private BigDecimal lossPrice;
@ApiModelProperty(value = "订单运费单价(元)", example = "1.23")
@MoneyOutConvert
private BigDecimal orderFreightPrice;
@ApiModelProperty(value = "发货地址", example = "朝阳") @ApiModelProperty(value = "发货地址", example = "朝阳")
private String sendAddress; private String sendAddress;
@ApiModelProperty(value = "收货地址id", example = "2")
private Integer receiveAddressId;
@ApiModelProperty(value = "收货地址", example = "西城") @ApiModelProperty(value = "收货地址", example = "西城")
private String receiveAddress; private String receiveAddress;
@ApiModelProperty(value = "最晚装货时间", example = "")
private String loadDeadline;
@ApiModelProperty(value = "车辆ID", example = "1")
private Integer truckId;
@ApiModelProperty(value = "车牌号", example = "京A12345") @ApiModelProperty(value = "车牌号", example = "京A12345")
private String truckNo; private String truckNo;
@ApiModelProperty(value = "载重(单位吨)", example = "12.34")
private BigDecimal truckLoad;
@ApiModelProperty(value = "车型", example = "挂车")
private String truckModel;
@ApiModelProperty(value = "司机用户编号", example = "1000000")
private Long driverUserNo;
@ApiModelProperty(value = "司机姓名", example = "张三") @ApiModelProperty(value = "司机姓名", example = "张三")
private String driverName; private String driverName;
@ApiModelProperty(value = "司机手机号", example = "130000000") @ApiModelProperty(value = "司机手机号", example = "130000000")
private String driverMobile; private String driverMobile;
@ApiModelProperty(value = "装货毛重(单位吨)", example = "1.23")
private BigDecimal loadRough;
@ApiModelProperty(value = "装货皮重(单位吨)", example = "1.23")
private BigDecimal loadTare;
@ApiModelProperty(value = "装货净重(单位吨)", example = "1.23") @ApiModelProperty(value = "装货净重(单位吨)", example = "1.23")
private BigDecimal loadNet; private BigDecimal loadNet;
@ApiModelProperty(value = "卸货毛重(单位吨)", example = "1.23")
private BigDecimal unloadRough;
@ApiModelProperty(value = "卸货皮重(单位吨)", example = "1.23")
private BigDecimal unloadTare;
@ApiModelProperty(value = "卸货净重(单位吨)", example = "1.23") @ApiModelProperty(value = "卸货净重(单位吨)", example = "1.23")
private BigDecimal unloadNet; private BigDecimal unloadNet;
@ApiModelProperty(value = "卸货磅单编号", example = "")
private String unloadPoundNo;
@ApiModelProperty(value = "拉运重量(单位吨)", example = "1.23")
private BigDecimal weight;
@ApiModelProperty(value = "运费(元)", example = "1.23") @ApiModelProperty(value = "运费(元)", example = "1.23")
@MoneyOutConvert @MoneyOutConvert
private BigDecimal freight; private BigDecimal freight;
@ApiModelProperty(value = "取消原因", example = "抢错了") @ApiModelProperty(value = "取消原因", example = "抢错了")
private String cancelRemark; private String cancelRemark;
@ApiModelProperty(value = "磅单审核状态 0 待审核 1 审核通过 2 审核驳回", example = "0")
private Integer poundStatus;
@ApiModelProperty(value = "磅单审核驳回原因", example = "交货信息错误")
private String poundRemark;
@ApiModelProperty(value = "状态", example = "0") @ApiModelProperty(value = "状态", example = "0")
private Integer status; private Integer status;
@ApiModelProperty(value = "运输状态 0非运输中 1运输中", example = "1")
private Integer transitStatus;
public Integer getTransitStatus() {
return status==null || !OrderChildEnum.TRANSIT_lIST.contains(status)? 0 : 1;
}
@ApiModelProperty(value = "支付时间", example = "")
private String payTime;
@ApiModelProperty(value = "装车时间", example = "")
private String loadTime;
@ApiModelProperty(value = "卸车时间", example = "")
private String unloadTime;
@ApiModelProperty(value = "创建时间", example = "")
private String createTime;
@ApiModelProperty(value = "修改时间", example = "")
private String modifiedTime;
@ApiModelProperty(value = "装车磅单图片列表") @ApiModelProperty(value = "装车磅单图片列表")
private List<String> loadImageList; private List<String> loadImageList;
...@@ -123,9 +80,14 @@ public class CarrierOrderChildDetailVO { ...@@ -123,9 +80,14 @@ public class CarrierOrderChildDetailVO {
@ApiModelProperty(value = "卸车磅单图片列表") @ApiModelProperty(value = "卸车磅单图片列表")
private List<String> unloadImageList; private List<String> unloadImageList;
@ApiModelProperty(value = "发货地址详情") @ApiModelProperty(value = "流程节点")
private Address sendAddressInfo; private List<OrderChildLogVO> childLogs;
@ApiModelProperty(value = "发货地址详情")
private Address receiveAddressInfo; @ApiModelProperty(value = "磅单审核列表")
private List<OrderChildPoundAuditDetailVO> poundAudits;
@ApiModelProperty(value = "完成时间", example = "2020-01-01 10:10:10")
private String finishTime;
} }
\ No newline at end of file
package com.clx.performance.vo.pc;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class OrderChildLogVO {
@ApiModelProperty(value = "运单编号", example = "11110")
private String childNo;
@ApiModelProperty(value = "类型", example = "10")
private Integer type;
@ApiModelProperty(value = "内容", example = "前往货源地")
private String remark;
@ApiModelProperty(value = "操作人类型 1货主 2,承运端", example = "1")
private Integer createType;
@ApiModelProperty(value = "操作人编号", example = "1454154")
private Long createBy;
@ApiModelProperty(value = "操作人名称", example = "平台")
private String createName;
@ApiModelProperty(value = "创建时间", example = "2020-01-01 10:10:10")
private String createTime;
}
\ No newline at end of file
...@@ -23,6 +23,9 @@ public class OrderChildPoundAuditDetailVO { ...@@ -23,6 +23,9 @@ public class OrderChildPoundAuditDetailVO {
@ApiModelProperty(value="卸货净重",example = "41") @ApiModelProperty(value="卸货净重",example = "41")
private BigDecimal unloadNet; private BigDecimal unloadNet;
@ApiModelProperty(value = "卸货磅单编号", example = "url")
private String unloadPoundNo;
@ApiModelProperty(value="审核状态 0 待审核 1 审核通过 2 审核驳回",example = "1") @ApiModelProperty(value="审核状态 0 待审核 1 审核通过 2 审核驳回",example = "1")
private Integer status; private Integer status;
......
...@@ -14,7 +14,7 @@ public class OrderChildStatusVO { ...@@ -14,7 +14,7 @@ public class OrderChildStatusVO {
@ApiModelProperty("运单状态") @ApiModelProperty("运单状态")
private Integer status; private int status;
@ApiModelProperty("运单值") @ApiModelProperty("运单值")
private String value; private String value;
......
...@@ -38,6 +38,14 @@ public class AppDriverOrderChildController { ...@@ -38,6 +38,14 @@ public class AppDriverOrderChildController {
return Result.ok(orderChildService.saveOrderChild(param)); 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:艾庆国") @ApiOperation(value = "前往货源地", notes = "<br>By:艾庆国")
@PostMapping("/updateGotoSendAddress") @PostMapping("/updateGotoSendAddress")
public Result<Void> updateGotoSendAddress(@RequestBody @Validated OrderChildGoToSendAddressParam param) { public Result<Void> updateGotoSendAddress(@RequestBody @Validated OrderChildGoToSendAddressParam param) {
......
...@@ -45,11 +45,11 @@ public class AppGoodsOrderController { ...@@ -45,11 +45,11 @@ public class AppGoodsOrderController {
return Result.ok(orderGoodsService.getOrderGoodsInfoByOrderGoodsNoForAPP(orderGoodsNo)); return Result.ok(orderGoodsService.getOrderGoodsInfoByOrderGoodsNoForAPP(orderGoodsNo));
} }
@ApiOperation(value = "货单列表", notes = "<br>By:胡宇帆") @ApiOperation(value = "APP首页货单列表", notes = "<br>By:胡宇帆")
@PostMapping("/orderGoodsList") @PostMapping("/indexOrderGoodsList")
@UnitCovert(param = false) @UnitCovert(param = false)
public Result<PageData<OrderGoodsAPPVO>> orderGoodsList(@RequestBody OrderGoodsListPageParam orderGoodsListPageParam) { public Result<PageData<OrderGoodsAPPVO>> indexOrderGoodsList(@RequestBody OrderGoodsListPageParam orderGoodsListPageParam) {
IPage<OrderGoodsAPPVO> page = orderGoodsService.orderGoodsList(orderGoodsListPageParam); IPage<OrderGoodsAPPVO> page = orderGoodsService.indexOrderGoodsList(orderGoodsListPageParam);
return Result.page(page.getRecords(), page.getTotal(), page.getPages()); return Result.page(page.getRecords(), page.getTotal(), page.getPages());
......
...@@ -6,7 +6,7 @@ import com.clx.performance.param.pc.OrderChildCarrierCancelParam; ...@@ -6,7 +6,7 @@ import com.clx.performance.param.pc.OrderChildCarrierCancelParam;
import com.clx.performance.param.pc.PageCarrierOrderChildParam; import com.clx.performance.param.pc.PageCarrierOrderChildParam;
import com.clx.performance.service.OrderChildPoundAuditService; import com.clx.performance.service.OrderChildPoundAuditService;
import com.clx.performance.service.OrderChildService; import com.clx.performance.service.OrderChildService;
import com.clx.performance.vo.pc.OrderChildPoundAuditDetailVO; import com.clx.performance.vo.pc.CarrierOrderChildDetailVO;
import com.clx.performance.vo.pc.OrderChildStatusVO; import com.clx.performance.vo.pc.OrderChildStatusVO;
import com.clx.performance.vo.pc.PageCarrierOrderChildVO; import com.clx.performance.vo.pc.PageCarrierOrderChildVO;
import com.msl.common.base.PageData; import com.msl.common.base.PageData;
...@@ -20,6 +20,7 @@ import org.springframework.validation.annotation.Validated; ...@@ -20,6 +20,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -49,8 +50,8 @@ public class CarrierOrderChildController { ...@@ -49,8 +50,8 @@ public class CarrierOrderChildController {
@ApiOperation(value = "运单详情详情",notes = "<br>By:李瑞新") @ApiOperation(value = "运单详情详情",notes = "<br>By:李瑞新")
@GetMapping("/getCarrierOrderChildDetail") @GetMapping("/getCarrierOrderChildDetail")
@UnitCovert(param = false) @UnitCovert(param = false)
public Result<OrderChildPoundAuditDetailVO> getPoundAuditDetail(@NotBlank(message = "运单编号不能为空") String childNo) { public Result<CarrierOrderChildDetailVO> getCarrierOrderChildDetail(@NotBlank(message = "运单编号不能为空") String childNo) {
return Result.ok(orderChildPoundAuditService.getPoundAuditDetail(childNo)); return Result.ok(orderChildService.getCarrierOrderChildDetail(childNo));
} }
...@@ -59,6 +60,7 @@ public class CarrierOrderChildController { ...@@ -59,6 +60,7 @@ public class CarrierOrderChildController {
public Result<List<OrderChildStatusVO>> getOrderChildStatusList() { public Result<List<OrderChildStatusVO>> getOrderChildStatusList() {
ConcurrentHashMap<Integer, String> map = OrderChildEnum.map; ConcurrentHashMap<Integer, String> map = OrderChildEnum.map;
List<OrderChildStatusVO> result = map.entrySet().stream().map(c -> new OrderChildStatusVO(c.getKey(), c.getValue())).collect(Collectors.toList()); List<OrderChildStatusVO> result = map.entrySet().stream().map(c -> new OrderChildStatusVO(c.getKey(), c.getValue())).collect(Collectors.toList());
result.stream().sorted(Comparator.comparing(OrderChildStatusVO::getStatus)).collect(Collectors.toList());
return Result.ok(result); return Result.ok(result);
} }
......
...@@ -4,6 +4,8 @@ import com.clx.performance.mapper.OrderChildLogMapper; ...@@ -4,6 +4,8 @@ import com.clx.performance.mapper.OrderChildLogMapper;
import com.clx.performance.model.OrderChildLog; import com.clx.performance.model.OrderChildLog;
import com.msl.common.dao.BaseDao; import com.msl.common.dao.BaseDao;
import java.util.List;
/** /**
* @Author: aiqinguo * @Author: aiqinguo
* @Description: 运单日志 * @Description: 运单日志
...@@ -11,4 +13,5 @@ import com.msl.common.dao.BaseDao; ...@@ -11,4 +13,5 @@ import com.msl.common.dao.BaseDao;
* @Version: 1.0 * @Version: 1.0
*/ */
public interface OrderChildLogDao extends BaseDao<OrderChildLogMapper, OrderChildLog, Integer> { public interface OrderChildLogDao extends BaseDao<OrderChildLogMapper, OrderChildLog, Integer> {
List<OrderChildLog> getOrderChildNodeLog(String childNo);
} }
...@@ -5,6 +5,8 @@ import com.clx.performance.model.OrderChildPoundAudit; ...@@ -5,6 +5,8 @@ import com.clx.performance.model.OrderChildPoundAudit;
import com.msl.common.base.Optional; import com.msl.common.base.Optional;
import com.msl.common.dao.BaseDao; import com.msl.common.dao.BaseDao;
import java.util.List;
/** /**
* @Author: aiqinguo * @Author: aiqinguo
...@@ -15,4 +17,6 @@ import com.msl.common.dao.BaseDao; ...@@ -15,4 +17,6 @@ import com.msl.common.dao.BaseDao;
public interface OrderChildPoundAuditDao extends BaseDao<OrderChildPoundAuditMapper, OrderChildPoundAudit, Integer> { public interface OrderChildPoundAuditDao extends BaseDao<OrderChildPoundAuditMapper, OrderChildPoundAudit, Integer> {
Optional<OrderChildPoundAudit> getPoundAuditDetail(String childNo); Optional<OrderChildPoundAudit> getPoundAuditDetail(String childNo);
List<OrderChildPoundAudit> getPoundAuditList(String childNo);
} }
...@@ -12,6 +12,7 @@ import com.msl.common.dao.BaseDao; ...@@ -12,6 +12,7 @@ import com.msl.common.dao.BaseDao;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List;
/** /**
* @author kavin * @author kavin
...@@ -35,4 +36,7 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int ...@@ -35,4 +36,7 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int
void updateOrderGoodsReduceWeightAndStatus(Integer id, BigDecimal orderChildWeight); void updateOrderGoodsReduceWeightAndStatus(Integer id, BigDecimal orderChildWeight);
IPage<OrderGoodsAPPVO> openOrderPageGoodsList(OrderGoodsListPageParam orderGoodsListPageParam); IPage<OrderGoodsAPPVO> openOrderPageGoodsList(OrderGoodsListPageParam orderGoodsListPageParam);
IPage<OrderGoodsAPPVO> exclusiveOrderPageGoodsList(OrderGoodsListPageParam orderGoodsListPageParam, List<String> orderGoodsNoList);
} }
package com.clx.performance.dao; package com.clx.performance.dao;
import com.msl.common.base.Optional;
import com.msl.common.dao.BaseDao; import com.msl.common.dao.BaseDao;
import com.clx.performance.mapper.OrderGoodsDriverTruckMapper; import com.clx.performance.mapper.OrderGoodsDriverTruckMapper;
import com.clx.performance.model.OrderGoodsDriverTruck; import com.clx.performance.model.OrderGoodsDriverTruck;
...@@ -14,4 +15,6 @@ import java.util.List; ...@@ -14,4 +15,6 @@ import java.util.List;
public interface OrderGoodsDriverTruckDao extends BaseDao<OrderGoodsDriverTruckMapper, OrderGoodsDriverTruck, Integer> { public interface OrderGoodsDriverTruckDao extends BaseDao<OrderGoodsDriverTruckMapper, OrderGoodsDriverTruck, Integer> {
void deleteByTruckNoAndDriverUserNo(String truckNo, String driverUserNo); void deleteByTruckNoAndDriverUserNo(String truckNo, String driverUserNo);
Optional<List<OrderGoodsDriverTruck>> selectListByDriverUserNo(Long driverUserNo);
} }
...@@ -2,6 +2,7 @@ package com.clx.performance.dao; ...@@ -2,6 +2,7 @@ package com.clx.performance.dao;
import com.clx.performance.mapper.OrderGoodsTruckBindMapper; import com.clx.performance.mapper.OrderGoodsTruckBindMapper;
import com.clx.performance.model.OrderGoodsTruckBind; import com.clx.performance.model.OrderGoodsTruckBind;
import com.msl.common.base.Optional;
import com.msl.common.dao.BaseDao; import com.msl.common.dao.BaseDao;
import java.time.LocalDateTime; import java.time.LocalDateTime;
...@@ -18,4 +19,7 @@ public interface OrderGoodsTruckBindDao extends BaseDao<OrderGoodsTruckBindMappe ...@@ -18,4 +19,7 @@ public interface OrderGoodsTruckBindDao extends BaseDao<OrderGoodsTruckBindMappe
void saveBatchEntity(String orderNo, String orderGoodsNo, List<String> trackList, LocalDateTime now); void saveBatchEntity(String orderNo, String orderGoodsNo, List<String> trackList, LocalDateTime now);
List<Integer> getTrucksByOrderGoodsNo(String orderGoodsNo); List<Integer> getTrucksByOrderGoodsNo(String orderGoodsNo);
Optional<OrderGoodsTruckBind> getByOrderGoodsNoAndTruckNo(String orderGoodsNo, String truckNo);
Optional<List<OrderGoodsTruckBind>> selectListByTruckNo(List<String> truckList);
} }
...@@ -66,12 +66,12 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -66,12 +66,12 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
public boolean updateUnload(OrderChild item) { public boolean updateUnload(OrderChild item) {
return update(lUdWrapper() return update(lUdWrapper()
.eq(OrderChild::getChildNo, item.getChildNo()) .eq(OrderChild::getChildNo, item.getChildNo())
.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())
.set(OrderChild::getUnloadNet, item.getUnloadNet()) .set(OrderChild::getUnloadNet, item.getUnloadNet())
.set(OrderChild::getUnloadTime, item.getUnloadTime()) .set(OrderChild::getUnloadTime, item.getUnloadTime())
.set(OrderChild::getWeight, item.getWeight())
.set(OrderChild::getPoundStatus, item.getPoundStatus()) .set(OrderChild::getPoundStatus, item.getPoundStatus())
.set(OrderChild::getStatus, item.getStatus()) .set(OrderChild::getStatus, item.getStatus())
); );
...@@ -82,6 +82,7 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -82,6 +82,7 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
return update(lUdWrapper() return update(lUdWrapper()
.eq(OrderChild::getChildNo, item.getChildNo()) .eq(OrderChild::getChildNo, item.getChildNo())
.set(OrderChild::getUnloadPoundNo, item.getUnloadPoundNo())
.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())
...@@ -90,7 +91,6 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -90,7 +91,6 @@ 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::getPoundStatus, item.getPoundStatus()) .set(OrderChild::getPoundStatus, item.getPoundStatus())
); );
} }
......
package com.clx.performance.dao.impl; package com.clx.performance.dao.impl;
import com.clx.performance.dao.OrderChildLogDao; import com.clx.performance.dao.OrderChildLogDao;
import com.clx.performance.enums.OrderChildLogEnum;
import com.clx.performance.mapper.OrderChildLogMapper; import com.clx.performance.mapper.OrderChildLogMapper;
import com.clx.performance.model.OrderChildLog; import com.clx.performance.model.OrderChildLog;
import com.msl.common.dao.impl.BaseDaoImpl; import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List;
/** /**
* @Author: aiqinguo * @Author: aiqinguo
* @Description: 运单图片 * @Description: 运单图片
...@@ -14,4 +17,12 @@ import org.springframework.stereotype.Repository; ...@@ -14,4 +17,12 @@ import org.springframework.stereotype.Repository;
*/ */
@Repository @Repository
public class OrderChildLogDaoImpl extends BaseDaoImpl<OrderChildLogMapper, OrderChildLog, Integer> implements OrderChildLogDao { public class OrderChildLogDaoImpl extends BaseDaoImpl<OrderChildLogMapper, OrderChildLog, Integer> implements OrderChildLogDao {
@Override
public List<OrderChildLog> getOrderChildNodeLog(String childNo) {
return list(lQrWrapper().eq(OrderChildLog::getChildNo,childNo).notIn(OrderChildLog::getType, OrderChildLogEnum.Type.PAY.getCode()
, OrderChildLogEnum.Type.RELOAD.getCode(), OrderChildLogEnum.Type.REUNLOAD.getCode()
, OrderChildLogEnum.Type.SETTLEMENT.getCode(), OrderChildLogEnum.Type.POUND_AUDIT.getCode()
, OrderChildLogEnum.Type.POUND_AUDIT_REJECT.getCode(), OrderChildLogEnum.Type.COMPLETE.getCode()
, OrderChildLogEnum.Type.RELOAD_AND_REUNLOAD.getCode()).groupBy(OrderChildLog::getType));
}
} }
...@@ -7,6 +7,8 @@ import com.msl.common.base.Optional; ...@@ -7,6 +7,8 @@ import com.msl.common.base.Optional;
import com.msl.common.dao.impl.BaseDaoImpl; import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List;
/** /**
* @Author: aiqinguo * @Author: aiqinguo
...@@ -23,4 +25,11 @@ public class OrderChildPoundAuditDaoImpl extends BaseDaoImpl<OrderChildPoundAudi ...@@ -23,4 +25,11 @@ public class OrderChildPoundAuditDaoImpl extends BaseDaoImpl<OrderChildPoundAudi
.orderByDesc(OrderChildPoundAudit::getId) .orderByDesc(OrderChildPoundAudit::getId)
.last("limit 1"))); .last("limit 1")));
} }
@Override
public List<OrderChildPoundAudit> getPoundAuditList(String childNo) {
return super.list(lQrWrapper()
.eq(OrderChildPoundAudit::getChildNo, childNo)
.orderByDesc(OrderChildPoundAudit::getId));
}
} }
...@@ -16,6 +16,7 @@ import org.apache.ibatis.annotations.Param; ...@@ -16,6 +16,7 @@ import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List;
/** /**
* @author kavin * @author kavin
...@@ -79,5 +80,12 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods, ...@@ -79,5 +80,12 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
return baseMapper.openOrderPageGoodsList(page); return baseMapper.openOrderPageGoodsList(page);
} }
@Override
public IPage<OrderGoodsAPPVO> exclusiveOrderPageGoodsList(OrderGoodsListPageParam param, List<String> orderGoodsNoList) {
Page<OrderGoodsAPPVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.exclusiveOrderPageGoodsList(page, orderGoodsNoList);
}
} }
...@@ -3,6 +3,7 @@ package com.clx.performance.dao.impl; ...@@ -3,6 +3,7 @@ package com.clx.performance.dao.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.conditions.query.QueryChainWrapper; import com.baomidou.mybatisplus.extension.conditions.query.QueryChainWrapper;
import com.clx.performance.dao.OrderGoodsDriverTruckDao; import com.clx.performance.dao.OrderGoodsDriverTruckDao;
import com.msl.common.base.Optional;
import com.msl.common.dao.BaseDao; import com.msl.common.dao.BaseDao;
import com.msl.common.dao.impl.BaseDaoImpl; import com.msl.common.dao.impl.BaseDaoImpl;
import com.clx.performance.mapper.OrderGoodsDriverTruckMapper; import com.clx.performance.mapper.OrderGoodsDriverTruckMapper;
...@@ -26,4 +27,12 @@ public class OrderGoodsDriverTruckDaoImpl extends BaseDaoImpl<OrderGoodsDriverTr ...@@ -26,4 +27,12 @@ public class OrderGoodsDriverTruckDaoImpl extends BaseDaoImpl<OrderGoodsDriverTr
.eq(OrderGoodsDriverTruck::getDriverUserNo, Long.valueOf(driverUserNo)) .eq(OrderGoodsDriverTruck::getDriverUserNo, Long.valueOf(driverUserNo))
); );
} }
@Override
public Optional<List<OrderGoodsDriverTruck>> selectListByDriverUserNo(Long driverUserNo) {
List<OrderGoodsDriverTruck> orderGoodsDriverTrucks = baseMapper.selectList(new QueryWrapper<OrderGoodsDriverTruck>().lambda()
.eq(OrderGoodsDriverTruck::getDriverUserNo, driverUserNo).select(OrderGoodsDriverTruck::getTruckNo));
return Optional.of(orderGoodsDriverTrucks);
}
} }
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.clx.performance.dao.OrderGoodsTruckBindDao; import com.clx.performance.dao.OrderGoodsTruckBindDao;
import com.clx.performance.mapper.OrderGoodsTruckBindMapper; import com.clx.performance.mapper.OrderGoodsTruckBindMapper;
import com.clx.performance.model.OrderGoodsTruckBind; import com.clx.performance.model.OrderGoodsTruckBind;
import com.msl.common.base.Optional;
import com.msl.common.dao.impl.BaseDaoImpl; import com.msl.common.dao.impl.BaseDaoImpl;
import com.msl.common.utils.DateUtils; import com.msl.common.utils.DateUtils;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
...@@ -30,4 +31,19 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM ...@@ -30,4 +31,19 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
public List<Integer> getTrucksByOrderGoodsNo(String orderGoodsNo) { public List<Integer> getTrucksByOrderGoodsNo(String orderGoodsNo) {
return baseMapper.getTrucksByOrderGoodsNo(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)
));
}
@Override
public Optional<List<OrderGoodsTruckBind>> selectListByTruckNo(List<String> truckList) {
return Optional.ofNullable(baseMapper.selectList(new QueryWrapper<OrderGoodsTruckBind>().lambda()
.in(OrderGoodsTruckBind::getTruckNo,truckList).select(OrderGoodsTruckBind::getOrderGoodsNo)));
}
} }
...@@ -13,6 +13,7 @@ import org.apache.ibatis.annotations.SelectProvider; ...@@ -13,6 +13,7 @@ import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.annotations.Update; import org.apache.ibatis.annotations.Update;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List;
/** /**
* @author kavin * @author kavin
...@@ -41,4 +42,7 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> { ...@@ -41,4 +42,7 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
@SelectProvider(type = OrderGoodsSqlProvider.class, method = "openOrderPageGoodsList") @SelectProvider(type = OrderGoodsSqlProvider.class, method = "openOrderPageGoodsList")
IPage<OrderGoodsAPPVO> openOrderPageGoodsList(Page<OrderGoodsAPPVO> page); IPage<OrderGoodsAPPVO> openOrderPageGoodsList(Page<OrderGoodsAPPVO> page);
@SelectProvider(type = OrderGoodsSqlProvider.class, method = "exclusiveOrderPageGoodsList")
IPage<OrderGoodsAPPVO> exclusiveOrderPageGoodsList(Page<OrderGoodsAPPVO> page, List<String> param);
} }
package com.clx.performance.mapper; package com.clx.performance.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.clx.performance.model.OrderGoodsDriverTruck;
import com.clx.performance.model.OrderGoodsTruckBind; import com.clx.performance.model.OrderGoodsTruckBind;
import com.clx.performance.sqlProvider.OrderGoodsSqlProvider; import com.clx.performance.sqlProvider.OrderGoodsSqlProvider;
import com.clx.performance.sqlProvider.OrderGoodsTruckBindSqlProvider; import com.clx.performance.sqlProvider.OrderGoodsTruckBindSqlProvider;
...@@ -27,4 +28,6 @@ public interface OrderGoodsTruckBindMapper extends BaseMapper<OrderGoodsTruckBin ...@@ -27,4 +28,6 @@ public interface OrderGoodsTruckBindMapper extends BaseMapper<OrderGoodsTruckBin
@Select("select truck_no from order_goods_truck_bind where order_goods_no=#{orderGoodsNo}") @Select("select truck_no from order_goods_truck_bind where order_goods_no=#{orderGoodsNo}")
List<Integer> getTrucksByOrderGoodsNo(@Param("orderGoodsNo") String orderGoodsNo); List<Integer> getTrucksByOrderGoodsNo(@Param("orderGoodsNo") String orderGoodsNo);
List<OrderGoodsDriverTruck> selectListByTruckNo(List<OrderGoodsDriverTruck> truckList);
} }
\ No newline at end of file
...@@ -10,6 +10,8 @@ import lombok.NoArgsConstructor; ...@@ -10,6 +10,8 @@ import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
import java.time.LocalDateTime;
/** /**
* @Author: aiqinguo * @Author: aiqinguo
* @Description: 运单日志 * @Description: 运单日志
...@@ -31,8 +33,8 @@ public class OrderChildLog implements HasKey<Integer> { ...@@ -31,8 +33,8 @@ public class OrderChildLog implements HasKey<Integer> {
private Integer createType; //操作人类型1-货主, 2-承运端,3-司机 private Integer createType; //操作人类型1-货主, 2-承运端,3-司机
private Long createBy; //操作人编号 private Long createBy; //操作人编号
private String createName; //操作人名称 private String createName; //操作人名称
private String createTime; //创建时间 private LocalDateTime createTime; //创建时间
private String modifiedTime; //修改时间 private LocalDateTime modifiedTime; //修改时间
@KeyColumn("id") @KeyColumn("id")
@Override @Override
......
...@@ -32,6 +32,7 @@ public class OrderChildPoundAudit implements HasKey<Integer> { ...@@ -32,6 +32,7 @@ public class OrderChildPoundAudit implements HasKey<Integer> {
private String childNo; //运单编号 private String childNo; //运单编号
private BigDecimal loadNet; //装货净重(单位吨) private BigDecimal loadNet; //装货净重(单位吨)
private BigDecimal unloadNet; //卸货净重(单位吨) private BigDecimal unloadNet; //卸货净重(单位吨)
private String unloadPoundNo; //卸货磅单编号
private Integer status; //审核状态 0 待审核 1 审核通过 2 审核驳回 private Integer status; //审核状态 0 待审核 1 审核通过 2 审核驳回
private Integer rejectType; //审核驳回类型:1装车 2卸车 3装车+卸车 private Integer rejectType; //审核驳回类型:1装车 2卸车 3装车+卸车
private String remark; //备注 private String remark; //备注
......
...@@ -29,6 +29,10 @@ public class OrderGoodsTruckBind implements HasKey<Integer> { ...@@ -29,6 +29,10 @@ public class OrderGoodsTruckBind implements HasKey<Integer> {
@ApiModelProperty("车牌号") @ApiModelProperty("车牌号")
private String truckNo; private String truckNo;
@TableField("status")
@ApiModelProperty("1:正常 2:取消")
private Integer status;
@TableField("order_no") @TableField("order_no")
@ApiModelProperty("订单编号") @ApiModelProperty("订单编号")
private String orderNo; private String orderNo;
......
package com.clx.performance.service; package com.clx.performance.service;
import com.clx.performance.model.OrderChildLog;
import java.util.List;
public interface OrderChildLogService { public interface OrderChildLogService {
void saveOrderChildLog(String childNo, Integer type, String remark, void saveOrderChildLog(String childNo, Integer type, String remark,
Integer createType,Long createBy, String createName); Integer createType,Long createBy, String createName);
void saveDriverOrderChildLog(String childNo, Integer type, String remark, Long createBy, String createName); void saveDriverOrderChildLog(String childNo, Integer type, String remark, Long createBy, String createName);
List<OrderChildLog> getOrderChildNodeLog(String childNo);
void saveCarrierOrderChildLog(String childNo, Integer type, String remark, Long createBy, String createName); void saveCarrierOrderChildLog(String childNo, Integer type, String remark, Long createBy, String createName);
} }
...@@ -5,6 +5,7 @@ import com.clx.performance.param.app.*; ...@@ -5,6 +5,7 @@ import com.clx.performance.param.app.*;
import com.clx.performance.param.pc.PageCarrierOrderChildParam; import com.clx.performance.param.pc.PageCarrierOrderChildParam;
import com.clx.performance.param.pc.PagePoundAuditParam; import com.clx.performance.param.pc.PagePoundAuditParam;
import com.clx.performance.vo.app.*; import com.clx.performance.vo.app.*;
import com.clx.performance.vo.pc.CarrierOrderChildDetailVO;
import com.clx.performance.vo.pc.OrderChildPCVO; import com.clx.performance.vo.pc.OrderChildPCVO;
import com.clx.performance.vo.pc.PageCarrierOrderChildVO; import com.clx.performance.vo.pc.PageCarrierOrderChildVO;
import com.clx.performance.vo.pc.PageOrderChildPoundAuditVO; import com.clx.performance.vo.pc.PageOrderChildPoundAuditVO;
...@@ -23,6 +24,8 @@ public interface OrderChildService { ...@@ -23,6 +24,8 @@ public interface OrderChildService {
SaveOrderChildVO saveOrderChild(OrderChildSaveParam param); SaveOrderChildVO saveOrderChild(OrderChildSaveParam param);
void updateReject(OrderChildRejectParam param);
void updateGotoSendAddress(OrderChildGoToSendAddressParam param); void updateGotoSendAddress(OrderChildGoToSendAddressParam param);
void updateArriveSendAddress(OrderChildArriveSendAddressParam param); void updateArriveSendAddress(OrderChildArriveSendAddressParam param);
void updateGotoReceiveAddress(OrderChildGoToReceiveAddressParam param); void updateGotoReceiveAddress(OrderChildGoToReceiveAddressParam param);
...@@ -49,4 +52,7 @@ public interface OrderChildService { ...@@ -49,4 +52,7 @@ public interface OrderChildService {
IPage<PageCarrierOrderChildVO> pageCarrierOrderChildList(PageCarrierOrderChildParam param); IPage<PageCarrierOrderChildVO> pageCarrierOrderChildList(PageCarrierOrderChildParam param);
List<OrderChildPCVO> getOrderChildInfoByOrderGoodsNo(String orderGoodsNo); List<OrderChildPCVO> getOrderChildInfoByOrderGoodsNo(String orderGoodsNo);
CarrierOrderChildDetailVO getCarrierOrderChildDetail(String childNo);
} }
...@@ -23,5 +23,5 @@ public interface OrderGoodsService { ...@@ -23,5 +23,5 @@ public interface OrderGoodsService {
void updateOrderGoodsReduceWeightAndStatus(Integer id, BigDecimal orderChildWeight); void updateOrderGoodsReduceWeightAndStatus(Integer id, BigDecimal orderChildWeight);
IPage<OrderGoodsAPPVO> orderGoodsList(OrderGoodsListPageParam orderGoodsListParam); IPage<OrderGoodsAPPVO> indexOrderGoodsList(OrderGoodsListPageParam orderGoodsListParam);
} }
...@@ -8,6 +8,8 @@ import lombok.extern.slf4j.Slf4j; ...@@ -8,6 +8,8 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
@Slf4j @Slf4j
@Service @Service
public class OrderChildLogServiceImpl implements OrderChildLogService { public class OrderChildLogServiceImpl implements OrderChildLogService {
...@@ -35,6 +37,11 @@ public class OrderChildLogServiceImpl implements OrderChildLogService { ...@@ -35,6 +37,11 @@ public class OrderChildLogServiceImpl implements OrderChildLogService {
saveOrderChildLog(childNo, type, remark, OrderChildLogEnum.CreateType.DRIVER.getCode(), createBy, createName); saveOrderChildLog(childNo, type, remark, OrderChildLogEnum.CreateType.DRIVER.getCode(), createBy, createName);
} }
@Override
public List<OrderChildLog> getOrderChildNodeLog(String childNo) {
return orderChildLogDao.getOrderChildNodeLog(childNo);
}
@Override @Override
public void saveCarrierOrderChildLog(String childNo, Integer type, String remark, Long createBy, String createName) { public void saveCarrierOrderChildLog(String childNo, Integer type, String remark, Long createBy, String createName) {
saveOrderChildLog(childNo, type, remark, OrderChildLogEnum.CreateType.PLATFORM.getCode(), createBy, createName); saveOrderChildLog(childNo, type, remark, OrderChildLogEnum.CreateType.PLATFORM.getCode(), createBy, createName);
......
...@@ -59,6 +59,7 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer ...@@ -59,6 +59,7 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
vo.setUnloadImages(unloadImages.stream().map(OrderChildImage::getImage).collect(Collectors.toList())); vo.setUnloadImages(unloadImages.stream().map(OrderChildImage::getImage).collect(Collectors.toList()));
vo.setLoadNet(poundAuditDetail.getLoadNet()); vo.setLoadNet(poundAuditDetail.getLoadNet());
vo.setUnloadNet(poundAuditDetail.getUnloadNet()); vo.setUnloadNet(poundAuditDetail.getUnloadNet());
vo.setUnloadPoundNo(poundAuditDetail.getUnloadPoundNo());
vo.setStatus(poundAuditDetail.getStatus()); vo.setStatus(poundAuditDetail.getStatus());
vo.setRemark(poundAuditDetail.getRemark()); vo.setRemark(poundAuditDetail.getRemark());
vo.setRejectType(poundAuditDetail.getRejectType()); vo.setRejectType(poundAuditDetail.getRejectType());
......
...@@ -2,17 +2,11 @@ package com.clx.performance.service.impl; ...@@ -2,17 +2,11 @@ package com.clx.performance.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.order.vo.feign.FeignAddressVO; import com.clx.order.vo.feign.FeignAddressVO;
import com.clx.performance.dao.OrderChildDao; import com.clx.performance.dao.*;
import com.clx.performance.dao.OrderChildImageDao;
import com.clx.performance.dao.OrderChildPoundAuditDao;
import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.enums.*; import com.clx.performance.enums.*;
import com.clx.performance.extranal.user.AddressService; import com.clx.performance.extranal.user.AddressService;
import com.clx.performance.extranal.user.DriverService; import com.clx.performance.extranal.user.DriverService;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.*;
import com.clx.performance.model.OrderChildImage;
import com.clx.performance.model.OrderChildPoundAudit;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.param.app.*; import com.clx.performance.param.app.*;
import com.clx.performance.param.pc.PageCarrierOrderChildParam; import com.clx.performance.param.pc.PageCarrierOrderChildParam;
import com.clx.performance.param.pc.PagePoundAuditParam; import com.clx.performance.param.pc.PagePoundAuditParam;
...@@ -22,6 +16,7 @@ import com.clx.performance.service.OrderChildService; ...@@ -22,6 +16,7 @@ import com.clx.performance.service.OrderChildService;
import com.clx.performance.service.OrderGoodsService; import com.clx.performance.service.OrderGoodsService;
import com.clx.performance.struct.*; import com.clx.performance.struct.*;
import com.clx.performance.vo.app.*; import com.clx.performance.vo.app.*;
import com.clx.performance.vo.pc.CarrierOrderChildDetailVO;
import com.clx.performance.vo.pc.OrderChildPCVO; import com.clx.performance.vo.pc.OrderChildPCVO;
import com.clx.performance.vo.pc.PageCarrierOrderChildVO; import com.clx.performance.vo.pc.PageCarrierOrderChildVO;
import com.clx.performance.vo.pc.PageOrderChildPoundAuditVO; import com.clx.performance.vo.pc.PageOrderChildPoundAuditVO;
...@@ -61,13 +56,13 @@ import java.util.stream.Collectors; ...@@ -61,13 +56,13 @@ import java.util.stream.Collectors;
public class OrderChildServiceImpl implements OrderChildService { public class OrderChildServiceImpl implements OrderChildService {
private final OrderGoodsDao orderGoodsDao; private final OrderGoodsDao orderGoodsDao;
private final OrderGoodsTruckBindDao orderGoodsTruckBindDao;
private final OrderChildDao orderChildDao; private final OrderChildDao orderChildDao;
private final OrderChildImageDao orderChildImageDao; private final OrderChildImageDao orderChildImageDao;
private final OrderChildPoundAuditDao orderChildPoundAuditDao; private final OrderChildPoundAuditDao orderChildPoundAuditDao;
private final OrderChildLogService orderChildLogService; private final OrderChildLogService orderChildLogService;
private final OrderChildPoundLogService orderChildPoundLogService; private final OrderChildPoundLogService orderChildPoundLogService;
private final AddressService addressService; private final AddressService addressService;
...@@ -79,6 +74,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -79,6 +74,7 @@ public class OrderChildServiceImpl implements OrderChildService {
private final OrderChildPoundStruct orderChildPoundStruct; private final OrderChildPoundStruct orderChildPoundStruct;
private final OrderChildFreightStruct orderChildFreightStruct; private final OrderChildFreightStruct orderChildFreightStruct;
private final AddressStruct addressStruct; private final AddressStruct addressStruct;
private final OrderChildLogStruct orderChildLogStruct;
private final UniqueOrderNumService uniqueOrderNumService; private final UniqueOrderNumService uniqueOrderNumService;
...@@ -97,6 +93,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -97,6 +93,7 @@ public class OrderChildServiceImpl implements OrderChildService {
// 查询司机车辆信息 // 查询司机车辆信息
DriverTruckInfoFeignVo driverTruckInfo = driverService.getUserDetailInfo(param.getDriverUserNo(), param.getTruckId()).orElseThrow(ResultCodeEnum.FAIL); DriverTruckInfoFeignVo driverTruckInfo = driverService.getUserDetailInfo(param.getDriverUserNo(), param.getTruckId()).orElseThrow(ResultCodeEnum.FAIL);
BigDecimal truckLoad = driverTruckInfo.getLoad(); BigDecimal truckLoad = driverTruckInfo.getLoad();
String truckNo = driverTruckInfo.getTruckNo();
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(param.getOrderGoodsNo()).orElseThrow(PerformanceResultEnum.ORDER_INVALID); OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(param.getOrderGoodsNo()).orElseThrow(PerformanceResultEnum.ORDER_INVALID);
...@@ -106,6 +103,11 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -106,6 +103,11 @@ public class OrderChildServiceImpl implements OrderChildService {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_INVALID); throw new ServiceSystemException(PerformanceResultEnum.ORDER_INVALID);
} }
OrderGoodsTruckBind orderGoodsTruckBind = null;
if (Objects.equals(orderGoods.getPendingOrderWay(), OrderGoodsPendingOrderWayStatusEnum.Status.EXCLUSIVE.getCode())){
orderGoodsTruckBind = orderGoodsTruckBindDao.getByOrderGoodsNoAndTruckNo(orderGoods.getOrderGoodsNo(), truckNo).orElseThrow(PerformanceResultEnum.ORDER_INVALID);
}
// 库存验证 // 库存验证
if (orderGoods.getResidueTransportWeight().compareTo(BigDecimal.ZERO) <= 0) {throw new ServiceSystemException(PerformanceResultEnum.ORDER_WEIGHT_LACK);} if (orderGoods.getResidueTransportWeight().compareTo(BigDecimal.ZERO) <= 0) {throw new ServiceSystemException(PerformanceResultEnum.ORDER_WEIGHT_LACK);}
if (orderGoods.getResidueTransportWeight().compareTo(truckLoad) < 0) {throw new ServiceSystemException(PerformanceResultEnum.ORDER_WEIGHT_LACK);} if (orderGoods.getResidueTransportWeight().compareTo(truckLoad) < 0) {throw new ServiceSystemException(PerformanceResultEnum.ORDER_WEIGHT_LACK);}
...@@ -152,7 +154,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -152,7 +154,7 @@ public class OrderChildServiceImpl implements OrderChildService {
updateOrderGoodsAmount(orderGoods, truckLoad); updateOrderGoodsAmount(orderGoods, truckLoad);
// 更新定向单状态 // 更新定向单状态
updateOrderGoods(orderGoods); updateOrderGoods(orderGoodsTruckBind);
// 新增运单 // 新增运单
orderChildDao.saveEntity(orderChild); orderChildDao.saveEntity(orderChild);
...@@ -172,6 +174,30 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -172,6 +174,30 @@ public class OrderChildServiceImpl implements OrderChildService {
return result; 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 @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void updateGotoSendAddress(OrderChildGoToSendAddressParam param) { public void updateGotoSendAddress(OrderChildGoToSendAddressParam param) {
...@@ -405,6 +431,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -405,6 +431,7 @@ public class OrderChildServiceImpl implements OrderChildService {
imageList.add(image); imageList.add(image);
} }
orderChild.setUnloadPoundNo(param.getUnloadPoundNo());
orderChild.setUnloadRough(param.getUnloadRough()); orderChild.setUnloadRough(param.getUnloadRough());
orderChild.setUnloadTare(param.getUnloadTare()); orderChild.setUnloadTare(param.getUnloadTare());
orderChild.setUnloadNet(param.getUnloadNet()); orderChild.setUnloadNet(param.getUnloadNet());
...@@ -444,18 +471,19 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -444,18 +471,19 @@ public class OrderChildServiceImpl implements OrderChildService {
imageList.add(image); imageList.add(image);
} }
orderChild.setUnloadPoundNo(param.getUnloadPoundNo());
orderChild.setUnloadRough(param.getUnloadRough()); orderChild.setUnloadRough(param.getUnloadRough());
orderChild.setUnloadTare(param.getUnloadTare()); orderChild.setUnloadTare(param.getUnloadTare());
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.setWeight(orderChildWeightCalc(orderChild));
OrderChildPoundAudit audit = new OrderChildPoundAudit(); OrderChildPoundAudit audit = new OrderChildPoundAudit();
audit.setChildNo(childNo); audit.setChildNo(childNo);
audit.setStatus(OrderChildPoundAuditEnum.Status.AUDIT.getCode()); audit.setStatus(OrderChildPoundAuditEnum.Status.AUDIT.getCode());
audit.setLoadNet(orderChild.getLoadNet()); audit.setLoadNet(orderChild.getLoadNet());
audit.setUnloadNet(orderChild.getUnloadNet()); audit.setUnloadNet(orderChild.getUnloadNet());
audit.setUnloadPoundNo(orderChild.getUnloadPoundNo());
orderChildDao.updateUnload(orderChild); orderChildDao.updateUnload(orderChild);
...@@ -520,6 +548,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -520,6 +548,7 @@ public class OrderChildServiceImpl implements OrderChildService {
audit.setStatus(OrderChildPoundAuditEnum.Status.AUDIT.getCode()); audit.setStatus(OrderChildPoundAuditEnum.Status.AUDIT.getCode());
audit.setLoadNet(orderChild.getLoadNet()); audit.setLoadNet(orderChild.getLoadNet());
audit.setUnloadNet(orderChild.getUnloadNet()); audit.setUnloadNet(orderChild.getUnloadNet());
audit.setUnloadPoundNo(orderChild.getUnloadPoundNo());
orderChildDao.updateLoadAndUnload(orderChild); orderChildDao.updateLoadAndUnload(orderChild);
...@@ -636,7 +665,9 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -636,7 +665,9 @@ public class OrderChildServiceImpl implements OrderChildService {
// 磅单 // 磅单
if (Objects.equals(orderChild.getPoundStatus(), OrderChildPoundAuditEnum.Status.REJECT.getCode())){ if (Objects.equals(orderChild.getPoundStatus(), OrderChildPoundAuditEnum.Status.REJECT.getCode())){
result.setPoundRemark(orderChildPoundAuditDao.getPoundAuditDetail(childNo).orNull().getRemark()); Optional<OrderChildPoundAudit> poundAuditDetail = orderChildPoundAuditDao.getPoundAuditDetail(childNo);
result.setPoundRemark(poundAuditDetail.orNull().getRemark());
result.setPoundRejectType(poundAuditDetail.orNull().getRejectType());
} }
List<OrderChildImage> imageList = orderChildImageDao.listLoadAndUnload(childNo).orElse(new ArrayList<>()); List<OrderChildImage> imageList = orderChildImageDao.listLoadAndUnload(childNo).orElse(new ArrayList<>());
result.setLoadImageList(imageList.stream().filter(item->Objects.equals(item.getType(),OrderChildImage.Type.LOAD.getCode())).map(item->item.getImage()).collect(Collectors.toList())); result.setLoadImageList(imageList.stream().filter(item->Objects.equals(item.getType(),OrderChildImage.Type.LOAD.getCode())).map(item->item.getImage()).collect(Collectors.toList()));
...@@ -741,8 +772,12 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -741,8 +772,12 @@ public class OrderChildServiceImpl implements OrderChildService {
/** /**
* 更新定向单状态 * 更新定向单状态
*/ */
private void updateOrderGoods(OrderGoods orderGoods){ private void updateOrderGoods(OrderGoodsTruckBind orderGoodsTruckBind){
if (!Objects.equals(orderGoods.getPendingOrderWay(), 2)){return;} if (orderGoodsTruckBind == null) {return;}
}
private void updateOrderGoodsReject(OrderGoods orderGoods, String truckNo){
} }
...@@ -769,9 +804,8 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -769,9 +804,8 @@ public class OrderChildServiceImpl implements OrderChildService {
* 运单拉运吨数计算 * 运单拉运吨数计算
*/ */
private BigDecimal orderChildWeightCalc(OrderChild orderChild){ private BigDecimal orderChildWeightCalc(OrderChild orderChild){
if (orderChild.getUnloadNet() == null && orderChild.getLoadNet() == null) {return orderChild.getTruckLoad();} if (orderChild.getUnloadNet() == null) {return orderChild.getTruckLoad();}
else if (orderChild.getUnloadNet() == null) {return orderChild.getLoadNet();} else {return orderChild.getLoadNet();}
else {return orderChild.getUnloadNet().compareTo(orderChild.getLoadNet())>0? orderChild.getLoadNet() : orderChild.getUnloadNet();}
} }
/** /**
...@@ -834,4 +868,14 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -834,4 +868,14 @@ public class OrderChildServiceImpl implements OrderChildService {
return orderChildStruct.convertList(orderChildren); return orderChildStruct.convertList(orderChildren);
} }
@Override
public CarrierOrderChildDetailVO getCarrierOrderChildDetail(String childNo) {
OrderChild orderChild = orderChildDao.getByChildNo(childNo).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
CarrierOrderChildDetailVO carrierOrderChildDetailVO = orderChildStruct.carrierConvert(orderChild);
List<OrderChildPoundAudit> poundAuditList = orderChildPoundAuditDao.getPoundAuditList(childNo);
carrierOrderChildDetailVO.setPoundAudits(orderChildPoundStruct.convert(poundAuditList));
List<OrderChildLog> orderChildLog = orderChildLogService.getOrderChildNodeLog(childNo);
carrierOrderChildDetailVO.setChildLogs(orderChildLogStruct.convert(orderChildLog));
return carrierOrderChildDetailVO;
}
} }
...@@ -5,17 +5,26 @@ import com.clx.order.feign.OrderFeign; ...@@ -5,17 +5,26 @@ import com.clx.order.feign.OrderFeign;
import com.clx.order.params.PageOrderGoodsListParam; import com.clx.order.params.PageOrderGoodsListParam;
import com.clx.order.vo.feign.FeignOrderVO; import com.clx.order.vo.feign.FeignOrderVO;
import com.clx.performance.dao.OrderGoodsDao; import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.dao.OrderGoodsDriverTruckDao;
import com.clx.performance.dao.OrderGoodsTruckBindDao; import com.clx.performance.dao.OrderGoodsTruckBindDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.model.OrderGoodsDriverTruck;
import com.clx.performance.model.OrderGoodsTruckBind;
import com.clx.performance.param.app.OrderGoodsListPageParam; import com.clx.performance.param.app.OrderGoodsListPageParam;
import com.clx.performance.service.OrderGoodsService; import com.clx.performance.service.OrderGoodsService;
import com.clx.performance.struct.OrderGoodsStruct; import com.clx.performance.struct.OrderGoodsStruct;
import com.clx.performance.vo.app.OrderGoodsAPPVO; import com.clx.performance.vo.app.OrderGoodsAPPVO;
import com.clx.performance.vo.pc.OrderGoodsVO; import com.clx.performance.vo.pc.OrderGoodsVO;
import com.msl.common.base.Optional;
import com.msl.common.exception.ServiceSystemException;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.LinkedList;
import java.util.List;
import java.util.stream.Collectors;
/** /**
* @author kavin * @author kavin
...@@ -37,6 +46,9 @@ public class OrderGoodsServiceImpl implements OrderGoodsService { ...@@ -37,6 +46,9 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
@Autowired @Autowired
private OrderGoodsTruckBindDao orderGoodsTruckBindDao; private OrderGoodsTruckBindDao orderGoodsTruckBindDao;
@Autowired
private OrderGoodsDriverTruckDao orderGoodsDriverTruckDao;
@Override @Override
public OrderGoodsVO getOrderGoodsInfoByOrderGoodsNoForPC(String orderGoodsNo) { public OrderGoodsVO getOrderGoodsInfoByOrderGoodsNoForPC(String orderGoodsNo) {
OrderGoodsVO orderGoodsVO = orderGoodsDao.getOrderGoodsInfoByOrderGoodsNoForPC(orderGoodsNo).map(orderGoodsStruct::convert).get(); OrderGoodsVO orderGoodsVO = orderGoodsDao.getOrderGoodsInfoByOrderGoodsNoForPC(orderGoodsNo).map(orderGoodsStruct::convert).get();
...@@ -68,11 +80,25 @@ public class OrderGoodsServiceImpl implements OrderGoodsService { ...@@ -68,11 +80,25 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
} }
@Override @Override
public IPage<OrderGoodsAPPVO> orderGoodsList(OrderGoodsListPageParam orderGoodsListParam) { public IPage<OrderGoodsAPPVO> indexOrderGoodsList(OrderGoodsListPageParam orderGoodsListParam) {
if (StringUtils.equals(orderGoodsListParam.getOrderGoodsType(),"1")){ if (StringUtils.equals(orderGoodsListParam.getOrderGoodsType(),"1")){
return orderGoodsDao.openOrderPageGoodsList(orderGoodsListParam); return orderGoodsDao.openOrderPageGoodsList(orderGoodsListParam);
}else { }else {
return null; List<OrderGoodsDriverTruck> truckList = orderGoodsDriverTruckDao.
selectListByDriverUserNo(orderGoodsListParam.getDriverUserNo())
.orElseThrow(PerformanceResultEnum.DATA_NOT_FIND, "当前用户未绑定车辆");
if (truckList.isEmpty()) {
throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND, "当前用户未绑定车辆");
}
List<String> truckNoList = truckList.stream().map(OrderGoodsDriverTruck::getTruckNo).collect(Collectors.toList());
List<OrderGoodsTruckBind> orderGoodsDriverTrucks = orderGoodsTruckBindDao.selectListByTruckNo(truckNoList)
.orElseThrow(PerformanceResultEnum.DATA_NOT_FIND, "当前用户没有专属单");
if (orderGoodsDriverTrucks.isEmpty()) {
throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND, "当前用户没有专属单");
}
List<String> orderGoodsNoList = orderGoodsDriverTrucks.stream().map(OrderGoodsTruckBind::getOrderGoodsNo).collect(Collectors.toList());
return orderGoodsDao.exclusiveOrderPageGoodsList(orderGoodsListParam,orderGoodsNoList);
} }
} }
......
...@@ -3,6 +3,7 @@ package com.clx.performance.sqlProvider; ...@@ -3,6 +3,7 @@ package com.clx.performance.sqlProvider;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.order.params.PageOrderGoodsListParam; import com.clx.order.params.PageOrderGoodsListParam;
import com.clx.order.vo.feign.FeignPageOrderVO; import com.clx.order.vo.feign.FeignPageOrderVO;
import com.clx.performance.enums.OrderChildEnum;
import com.clx.performance.enums.OrderGoodsStatusEnum; import com.clx.performance.enums.OrderGoodsStatusEnum;
import com.clx.performance.vo.app.OrderGoodsAPPVO; import com.clx.performance.vo.app.OrderGoodsAPPVO;
import com.clx.performance.vo.pc.OrderGoodsVO; import com.clx.performance.vo.pc.OrderGoodsVO;
...@@ -10,6 +11,7 @@ import org.apache.commons.lang3.StringUtils; ...@@ -10,6 +11,7 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.jdbc.SQL; import org.apache.ibatis.jdbc.SQL;
import java.util.List;
import java.util.Objects; import java.util.Objects;
public class OrderGoodsSqlProvider { public class OrderGoodsSqlProvider {
...@@ -95,43 +97,43 @@ public class OrderGoodsSqlProvider { ...@@ -95,43 +97,43 @@ public class OrderGoodsSqlProvider {
WHERE("a.last_arrive_send_time >= now()"); WHERE("a.last_arrive_send_time >= now()");
WHERE("(a.order_goods_status = 20 or a.order_goods_status = 30)"); WHERE("(a.order_goods_status = 20 or a.order_goods_status = 30)");
WHERE("a.residue_transport_weight >0"); WHERE("a.residue_transport_weight >0");
// if (StringUtils.isNotBlank(param.getBeginTime()) && StringUtils.isNotBlank(param.getEndTime())) {
// WHERE("a.create_time >= #{param.beginTime}");
// WHERE("a.create_time <= #{param.endTime}");
// }
// if (Objects.nonNull(param.getTruckDemand())) {
// if (1 == param.getTruckDemand()) {
// WHERE("a.truck_demand = #{param.truckDemand}");
// } else if (2 == param.getTruckDemand()) {
// WHERE("a.truck_demand = #{param.truckDemand}");
// } else if (3 == param.getTruckDemand()) {
// WHERE("a.truck_demand = #{param.truckDemand}");
// }
// }
// if (Objects.nonNull(param.getOrderGoodsStatus())) {
// if (OrderGoodsStatusEnum.Status.CREATED.getCode().equals(param.getOrderGoodsStatus())) {
// WHERE("a.order_goods_status = #{param.orderGoodsStatus}");
// } else if (OrderGoodsStatusEnum.Status.PAYING.getCode().equals(param.getOrderGoodsStatus())) {
// WHERE("a.order_goods_status = #{param.orderGoodsStatus}");
// } else if (OrderGoodsStatusEnum.Status.GO_TO_SEND.getCode().equals(param.getOrderGoodsStatus())) {
// WHERE("a.order_goods_status = #{param.orderGoodsStatus}");
// } else if (OrderGoodsStatusEnum.Status.ARRIVE_SEND.getCode().equals(param.getOrderGoodsStatus())) {
// WHERE("a.order_goods_status = #{param.orderGoodsStatus}");
// } else if (OrderGoodsStatusEnum.Status.CANCEL.getCode().equals(param.getOrderGoodsStatus())) {
// WHERE("a.order_goods_status = #{param.orderGoodsStatus}");
// }
// }
//
// if (StringUtils.isNotBlank(param.getOrderNo())) {
// WHERE("a.order_no = #{param.orderNo}");
// }
// if (StringUtils.isNotBlank(param.getOrderGoodsNo())) {
// WHERE("a.order_goods_no = #{param.orderGoodsNo}");
// }
ORDER_BY("a.create_time desc"); ORDER_BY("a.create_time desc");
}}.toString(); }}.toString();
return sql; return sql;
} }
public String exclusiveOrderPageGoodsList(@Param("page") Page<OrderGoodsAPPVO> page, @Param("param") List<String> param) {
StringBuffer sqlList = new StringBuffer();
sqlList.append("select a.id, a.order_no," +
" a.order_goods_no, a.order_goods_status," +
" a.extract_weight,a.residue_transport_weight," +
"a.already_transport_weight, a.send_address_id, " +
"a.send_address_shorter,a.send_longitude,a.send_latitude," +
"a.receive_address_id, a.receive_address_shorter,a.receive_longitude," +
"a.receive_latitude,a.goods_id, a.goods_name, a.pending_order_way," +
"date_format(a.directional_expire_time, '%Y-%m-%d %H:%i:%s') as directional_expire_time," +
"date_format(a.last_arrive_send_time, '%Y-%m-%d %H:%i:%s') as last_arrive_send_time," +
"date_format(a.pending_order_time, '%Y-%m-%d %H:%i:%s') as pending_order_time," +
"date_format(a.create_time, '%Y-%m-%d %H:%i:%s') as create_time," +
" date_format(a.modified_time, '%Y-%m-%d %H:%i:%s') as modified_time," +
"a.extract_way,a.need_truck_num,a.senior_logistics_manager_id,a.senior_logistics_manager_name," +
"a.pending_order_freight,a.user_no,a.user_name from order_goods a where a.last_arrive_send_time >= now() and (a.order_goods_status = 20 or a.order_goods_status = 30)" +
"and a.residue_transport_weight > 0" +
" and a.pending_order_way = 1 and a.order_goods_no in (");
if (!param.isEmpty()) {
for (int i = 0; i < param.size(); i++) {
sqlList.append("'" + param.get(i) + "'");
if (i < param.size() -1) {
sqlList.append(",");
}
}
}
sqlList.append(") order by a.create_time desc");
return sqlList.toString();
}
} }
package com.clx.performance.struct;
import com.clx.performance.model.OrderChildLog;
import com.clx.performance.vo.pc.OrderChildLogVO;
import com.msl.common.utils.DateStructUtil;
import com.msl.common.utils.DateUtils;
import org.mapstruct.Mapper;
import java.util.List;
@Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {DateUtils.class})
public interface OrderChildLogStruct {
List<OrderChildLogVO> convert(List<OrderChildLog> item);
}
package com.clx.performance.struct; package com.clx.performance.struct;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderChildPoundAudit;
import com.clx.performance.vo.app.OrderChildPoundInfoVO; import com.clx.performance.vo.app.OrderChildPoundInfoVO;
import com.clx.performance.vo.pc.OrderChildPoundAuditDetailVO;
import com.msl.common.utils.DateStructUtil; import com.msl.common.utils.DateStructUtil;
import com.msl.common.utils.DateUtils; import com.msl.common.utils.DateUtils;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import java.util.List;
@Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {DateUtils.class}) @Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {DateUtils.class})
public interface OrderChildPoundStruct { public interface OrderChildPoundStruct {
OrderChildPoundInfoVO convert(OrderChild item); OrderChildPoundInfoVO convert(OrderChild item);
List<OrderChildPoundAuditDetailVO> convert(List<OrderChildPoundAudit> item);
} }
...@@ -2,6 +2,7 @@ package com.clx.performance.struct; ...@@ -2,6 +2,7 @@ package com.clx.performance.struct;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.vo.app.OrderChildVO; import com.clx.performance.vo.app.OrderChildVO;
import com.clx.performance.vo.pc.CarrierOrderChildDetailVO;
import com.clx.performance.vo.pc.OrderChildPCVO; import com.clx.performance.vo.pc.OrderChildPCVO;
import com.msl.common.utils.DateStructUtil; import com.msl.common.utils.DateStructUtil;
import com.msl.common.utils.DateUtils; import com.msl.common.utils.DateUtils;
...@@ -16,4 +17,6 @@ public interface OrderChildStruct { ...@@ -16,4 +17,6 @@ public interface OrderChildStruct {
List<OrderChildPCVO> convertList(List<OrderChild> item); List<OrderChildPCVO> convertList(List<OrderChild> item);
CarrierOrderChildDetailVO carrierConvert(OrderChild item);
} }
#server: server:
# port: 8081 port: 8081
#
#spring: spring:
# rabbitmq: rabbitmq:
# host: 39.101.187.243 host: 39.101.187.243
# port: 5672 port: 5672
# username: clxmq username: clxmq
# password: clxmq711 password: clxmq711
#
# redis: redis:
# host: 47.92.223.27 host: 47.92.223.27
# port: 6379 port: 6379
# password: clx!2022clx password: clx!2022clx
# jedis: jedis:
# pool: pool:
# max-idle: 100 max-idle: 100
# min-idle: 1 min-idle: 1
# max-active: 1000 max-active: 1000
# max-wait: -1 max-wait: -1
#
# datasource: datasource:
# driver-class-name: com.mysql.jdbc.Driver driver-class-name: com.mysql.jdbc.Driver
# url: jdbc:mysql://rm-8vb9qx47d6dh4b9s25o.mysql.zhangbei.rds.aliyuncs.com:3306/clx_performance?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT url: jdbc:mysql://rm-8vb9qx47d6dh4b9s25o.mysql.zhangbei.rds.aliyuncs.com:3306/clx_performance?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT
# username: clxdevelop username: clxdevelop
# password: CLXdevelop#20231 password: CLXdevelop#20231
#
# druid: druid:
# initial-size: 4 initial-size: 4
# min-idle: 4 min-idle: 4
# max-active: 8 max-active: 8
# max-wait: 10000 max-wait: 10000
# # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
# time-between-eviction-runs-millis: 60000 time-between-eviction-runs-millis: 60000
# # 配置一个连接在池中最小生存的时间,单位是毫秒 # 配置一个连接在池中最小生存的时间,单位是毫秒
# min-evictable-idle-time-millis: 1800000 min-evictable-idle-time-millis: 1800000
# validation-query: SELECT 1 validation-query: SELECT 1
# test-while-idle: true test-while-idle: true
# test-on-borrow: false test-on-borrow: false
# test-on-return: false test-on-return: false
# # 是否缓存preparedStatement,也就是PSCache。 # 是否缓存preparedStatement,也就是PSCache。
# pool-prepared-statements: true pool-prepared-statements: true
# # 要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true。 # 要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true。
# max-pool-prepared-statement-per-connection-size: 20 max-pool-prepared-statement-per-connection-size: 20
# filters: stat,wall filters: stat,wall
# # filter相关配置 # filter相关配置
# filter: filter:
# stat: stat:
# enabled: true enabled: true
# db-type: mysql db-type: mysql
# log-slow-sql: true log-slow-sql: true
# slow-sql-millis: 500 slow-sql-millis: 500
# merge-sql: true merge-sql: true
# slf4j: slf4j:
# enabled: true enabled: true
# statement-log-error-enabled: true statement-log-error-enabled: true
# statement-create-after-log-enabled: false statement-create-after-log-enabled: false
# statement-close-after-log-enabled: false statement-close-after-log-enabled: false
# result-set-open-after-log-enabled: false result-set-open-after-log-enabled: false
# result-set-close-after-log-enabled: false result-set-close-after-log-enabled: false
#
# web-stat-filter: web-stat-filter:
# enabled: true enabled: true
# url-pattern: /* url-pattern: /*
# exclusions: "/druid/*" exclusions: "/druid/*"
# session-stat-enable: true session-stat-enable: true
# session-stat-max-count: 1000 session-stat-max-count: 1000
# # 监控页面相关配置 # 监控页面相关配置
# stat-view-servlet: stat-view-servlet:
# enabled: true enabled: true
# allow: "" allow: ""
# url-pattern: /druid/* url-pattern: /druid/*
# reset-enable: false reset-enable: false
# login-username: clx login-username: clx
# login-password: Apm!Q@Wm888 login-password: Apm!Q@Wm888
# aop-patterns: "com.msl.report.dao.*" aop-patterns: "com.msl.report.dao.*"
#
#xxl: xxl:
# job: job:
# admin: admin:
# address: http://job.devclx.cn/xxl-job address: http://job.devclx.cn/xxl-job
# executor: executor:
# access-token: default_token access-token: default_token
# app-name: clx-performance app-name: clx-performance
# log-path: ./logs/clx-performance/job/ log-path: ./logs/clx-performance/job/
# log-retention-days: 15 log-retention-days: 15
#
## Sa-Token配置 # Sa-Token配置
#sa-token: sa-token:
# # token名称 (同时也是cookie名称) # token名称 (同时也是cookie名称)
# token-name: token token-name: token
# # token有效期,单位s 默认30天, -1代表永不过期 # token有效期,单位s 默认30天, -1代表永不过期
# timeout: 2592000 timeout: 2592000
# # token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒,默认-1 代表不限制 (例如可以设置为1800代表30分钟内无操作就过期) # token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒,默认-1 代表不限制 (例如可以设置为1800代表30分钟内无操作就过期)
# activity-timeout: -1 activity-timeout: -1
# # 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录) # 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
# is-concurrent: true is-concurrent: true
# # 在多人登录同一账号时,是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token) # 在多人登录同一账号时,是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
# is-share: false is-share: false
# # token风格 # token风格
# token-style: simple-uuid token-style: simple-uuid
# # 是否打印操作日志 # 是否打印操作日志
# is-log: false is-log: false
# # 是否在初始化配置时打印版本字符画 # 是否在初始化配置时打印版本字符画
# is-print: false is-print: false
#
# alone-redis: alone-redis:
# # Redis数据库索引(默认为0) # Redis数据库索引(默认为0)
# database: 0 database: 0
# # Redis服务器地址 # Redis服务器地址
# host: 192.168.9.30 host: 192.168.9.30
# # Redis服务器连接端口 # Redis服务器连接端口
# port: 6379 port: 6379
# # Redis服务器连接密码(默认为空) # Redis服务器连接密码(默认为空)
# password: clx!2022clx password: clx!2022clx
# # 连接超时时间 # 连接超时时间
# timeout: 10s timeout: 10s
#
#
## 日志级别 # 日志级别
#logging: logging:
# level: level:
# root: INFO root: INFO
# mybatis-plus:
# configuration:
##中交兴路 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
#gps:
# zhongjiao:
# user: bd63d655-f5d1-4724-8086-0db2858fcd43 #中交兴路
# pwd: iBJ5Y079u234jl985ICV81Y3j4zg37 gps:
# srt: 1db92c4e-8380-4436-a010-5d0fef214947 zhongjiao:
# cid: 9dae7170-476a-4a2a-8a9e-3bca075ac9da user: bd63d655-f5d1-4724-8086-0db2858fcd43
pwd: iBJ5Y079u234jl985ICV81Y3j4zg37
srt: 1db92c4e-8380-4436-a010-5d0fef214947
cid: 9dae7170-476a-4a2a-8a9e-3bca075ac9da
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论