提交 3b2fd559 authored 作者: liruixin's avatar liruixin

Merge branch 'v5.5_driver_report_20231015' into test

# Conflicts: # performance-api/src/main/java/com/clx/performance/enums/PerformanceResultEnum.java # performance-web/src/main/java/com/clx/performance/config/RabbitOrderChildConfig.java # performance-web/src/main/java/com/clx/performance/constant/RabbitKeyOrderChildConstants.java # performance-web/src/main/java/com/clx/performance/listener/OrderChildDtsListener.java # performance-web/src/main/java/com/clx/performance/model/OrderGoods.java # performance-web/src/main/java/com/clx/performance/service/OrderChildMqHandlerService.java # performance-web/src/main/java/com/clx/performance/service/OrderChildMqService.java # performance-web/src/main/java/com/clx/performance/service/impl/OrderChildMqHandlerServiceImpl.java # performance-web/src/main/java/com/clx/performance/service/impl/OrderChildMqServiceImpl.java # performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java
......@@ -86,6 +86,12 @@ public enum PerformanceResultEnum implements ResultEnum {
ORDER_GOODS_WEIGHT_NOT_HAVE(1601, "货单可拉运吨数不足")
INTEGRAL_RULE_NO_FOUND(1700, "积分规则不存在"),
INTEGRAL_RULE_RATIO_OVERLAP(1701, "层级划分范围重叠"),
INTEGRAL_RULE_RATIO_ALL_EMPTY(1702, "层级划分范围不能全为空"),
INTEGRAL_RULE_NAME_EXIST(1703, "层级名称已存在"),
;
private final int code;
private final String msg;
......
package com.clx.performance.enums.collect;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Optional;
public enum CollectLineReportEnum {
;
@Getter
@AllArgsConstructor
public enum Type {
SEND(1, "发货地"),
RECEIVE(2, "目的地");
private final Integer code;
private final String msg;
public static Optional<Type> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
}
//1:无法到达货源地 2:无法装货 3:无法到达目的地 4:运单取消 5:装车卸车异常 6:没有接单 7:货源地情况 8:其它上报 9:煤炭质量上报
@Getter
@AllArgsConstructor
public enum ReportType {
UNABLE_TO_SEND_ADDRESS(1, "无法到达货源地"),
UNABLE_LOAD(2, "无法装货"),
UNABLE_TO_RECEIVE_ADDRESS(3, "无法到达目的地"),
LOAD_UNLOAD(4, "装车卸车异常"),
NO_TAKE_ORDER(6, "没有接单"),
SEND_ADDRESS(7, "货源地情况"),
OTHER(8, "其它上报"),
QUALITY(9, "煤炭质量上报"),
;
private final Integer code;
private final String msg;
public static Optional<ReportType> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
}
@Getter
@AllArgsConstructor
public enum ReportStatus {
NORMAL(1, "正常"),
ABNORMAL(2, "异常");
private final Integer code;
private final String msg;
public static Optional<ReportStatus> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
}
@Getter
@AllArgsConstructor
public enum AuditStatus {
UNAUDIT(0, "待审核"),
AUDIT(1, "已审核");
private final Integer code;
private final String msg;
public static Optional<AuditStatus> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
}
}
package com.clx.performance.enums.collect;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Optional;
public enum CollectTruckLocationEnum {
;
private Integer truckOrderStatus; //车辆出车状态 1:空车 2:重车
@Getter
@AllArgsConstructor
public enum TruckOrderStatus {
EMPTY(1, "空车"),
HEAVY(2, "重车"),
;
private final int code;
private final String msg;
public static Optional<TruckOrderStatus> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
}
}
package com.clx.performance.enums.collect;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Optional;
public enum CollectTruckWaitEnum {
;
@Getter
@AllArgsConstructor
public enum ReportType {
LOAD(1, "装车类型"),
UNLOAD(2, "卸车类型");
private final Integer code;
private final String msg;
public static Optional<ReportType> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
}
@Getter
@AllArgsConstructor
public enum waitType {
NO(1, "无需排队"),
INNER(2, "场内需要排队"),
OUTER(3, "厂外需要排队");
private final Integer code;
private final String msg;
public static Optional<waitType> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
}
@Getter
@AllArgsConstructor
public enum AuditStatus {
UNAUDIT(0, "待审核"),
AUDIT(1, "已审核");
private final Integer code;
private final String msg;
public static Optional<AuditStatus> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
}
}
package com.clx.performance.enums.integral;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
public enum IntegralRecordEnum {
;
@Getter
@AllArgsConstructor
public enum Type{
SYSTEM(1, "系统"),
PROTECTION(2, "保护分"),
PROTECTION_CANCEL(3, "保护分取消"),
SETTLEMENT(4, "结算分"),
BASE(5, "基础分"),
ORDER_CHILD_COMPLETE(11, "运单完成"),
ORDER_CHILD_COMPLETE_NUM(12, "运单完成数量"),
ORDER_CHILD_COMPLETE_WATER(13, "流水单"),
ORDER_CHILD_COMPLETE_SUPPORT(14, "支援单"),
ORDER_CHILD_COMPLETE_TIMEOUT(15, "运单完成超时"),
ORDER_CHILD_CANCEL(21, "运单取消"),
ORDER_CHILD_CANCEL_TIMEOUT(22, "运单取消超时"),
ORDER_CHILD_PLATFORM_CANCEL(23, "平台取消"),
REPORT_TRUCK_INFO(50, "提交基础信息"),
REPORT_REFUEL(51, "油表上报"),
REPORT_TRAFFIC(52, "上报交通拥堵"),
REPORT_SEND_ADDRESS_WAIT(53, "上报货源地需要排队"),
REPORT_SEND_ADDRESS_NO_WAIT(54, "上报货源地无需排队"),
REPORT_RECEIVE_ADDRESS_WAIT(55, "上报目的地需要排队"),
REPORT_RECEIVE_ADDRESS_NO_WAIT(56, "上报目的地无需排队"),
REPORT_QUALITY(57, "上报煤炭质量问题"),
REPORT_ABNORMAL(58, "上报拉运异常问题"),
;
private Integer value;
private String msg;
}
// 取消
public static final List<Integer> DRIVER_REPORT_lIST = Arrays.asList(
Type.REPORT_TRUCK_INFO.value,
Type.REPORT_REFUEL.value,
Type.REPORT_TRAFFIC.value,
Type.REPORT_SEND_ADDRESS_WAIT.value,
Type.REPORT_SEND_ADDRESS_NO_WAIT.value,
Type.REPORT_RECEIVE_ADDRESS_WAIT.value,
Type.REPORT_RECEIVE_ADDRESS_NO_WAIT.value,
Type.REPORT_QUALITY.value,
Type.REPORT_ABNORMAL.value
);
// 取消
public static final List<Integer> PLATFORM_CANCEL_lIST = Arrays.asList(
Type.REPORT_TRUCK_INFO.value,
Type.REPORT_REFUEL.value,
Type.REPORT_TRAFFIC.value,
Type.REPORT_SEND_ADDRESS_WAIT.value,
Type.REPORT_SEND_ADDRESS_NO_WAIT.value,
Type.REPORT_RECEIVE_ADDRESS_WAIT.value,
Type.REPORT_RECEIVE_ADDRESS_NO_WAIT.value,
Type.REPORT_QUALITY.value,
Type.REPORT_ABNORMAL.value
);
}
package com.clx.performance.enums.integral;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Optional;
public enum IntegralTruckRuleEnum {
;
@Getter
@AllArgsConstructor
public enum Status{
OPEN(1, "开启"),
CLOSE(2, "关闭"),
;
private final Integer code;
private final String msg;
public static Optional<Status> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
}
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class CollectAutoLoanStatusUpdateParam {
@ApiModelProperty(value = "车牌", example = "")
private String truckNo;
@ApiModelProperty(value = "车贷状态:0无车贷 1有车贷", example = "")
private Integer autoLoanStatus;
@ApiModelProperty(value = "车贷剩余月份", example = "")
private Integer autoLoanMonth;
}
package com.clx.performance.param.app.collect;
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 CollectLineReportAbnormalSaveParam {
@ApiModelProperty(value = "上报类型:1:无法到达货源地 2:无法装货 3:无法到达目的地 4装车卸车异常", example = "")
@NotNull(message = "上报类型不能为空")
private Integer reportType;
@ApiModelProperty(value = "运单编号")
@NotBlank(message = "运单编号不能为空")
private String childNo;
@ApiModelProperty(value = "无法到达货源地原因", example = "车辆问题")
@NotBlank(message = "无法到达货源地原因不能为空")
private String remark;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class CollectLineReportLoadAbnormalSaveParam {
@ApiModelProperty(value = "运单编号")
@NotBlank(message = "运单编号不能为空")
private String childNo;
@ApiModelProperty(value = "无法到达交货地原因", example = "车辆问题")
@NotBlank(message = "无法到达交货地原因不能为空")
private String remark;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class CollectLineReportLoadUnloadAbnormalSaveParam {
@ApiModelProperty(value = "运单编号")
@NotBlank(message = "运单编号不能为空")
private String childNo;
@ApiModelProperty(value = "装卸车异常原因", example = "车辆问题")
@NotBlank(message = "无法到达装货地原因不能为空")
private String remark;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
@Getter
@Setter
@NoArgsConstructor
public class CollectLineReportNoTakeOrderAbnormalSaveParam {
@ApiModelProperty(value = "货单编号")
@NotBlank(message = "货单不能为空")
private String orderGoodsNo;
@ApiModelProperty(value = "没有接单原因", example = "车辆问题")
@NotBlank(message = "没有接单原因不能为空")
private String remark;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
public class CollectLineReportOtherSaveParam {
@ApiModelProperty(value = "上报信息")
@NotBlank(message = "上报信息不能为空")
private String remark;
@ApiModelProperty(value = "上报图片")
private List<String> imageList;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
public class CollectLineReportQualitySaveParam {
@ApiModelProperty(value = "运单编号")
@NotBlank(message = "运单编号不能为空")
private String childNo;
@ApiModelProperty(value = "图片列表")
private List<String> imageList;
@ApiModelProperty(value = "无法到达交货地原因", example = "车辆问题")
@NotBlank(message = "无法到达交货地原因不能为空")
private String remark;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class CollectLineReportReceiveAddressAbnormalSaveParam {
@ApiModelProperty(value = "运单编号")
@NotBlank(message = "运单编号不能为空")
private String childNo;
@ApiModelProperty(value = "无法到达装货地原因", example = "车辆问题")
@NotBlank(message = "无法到达装货地原因不能为空")
private String remark;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class CollectLineReportSendAddressAbnormalSaveParam {
@ApiModelProperty(value = "运单编号")
@NotBlank(message = "运单编号不能为空")
private String childNo;
@ApiModelProperty(value = "无法到达货源地原因", example = "车辆问题")
@NotBlank(message = "无法到达货源地原因不能为空")
private String remark;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotNull;
@Getter
@Setter
@NoArgsConstructor
public class CollectLineReportSendAddressAuditParam {
@ApiModelProperty(value = "id")
@NotNull(message = "id不能为空")
private Integer id;
// @ApiModelProperty(value = "审核状态:0待审核 1已审核", example = "1")
// private Integer auditStatus;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
public class CollectLineReportSendAddressSaveParam {
@ApiModelProperty(value = "运单编号")
@NotBlank(message = "运单编号不能为空")
private String childNo;
@ApiModelProperty(value = "拉运状态:1可以拉运 2不可用拉运", example = "1")
@NotNull(message = "拉运状态不能为空")
private Integer reportStatus;
@ApiModelProperty(value = "状态:1有存煤 2现产现装", example = "1")
private Integer status;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotNull;
@Getter
@Setter
@NoArgsConstructor
public class CollectLineReportTruckWaitAuditParam {
@ApiModelProperty(value = "id")
@NotNull(message = "id不能为空")
private Integer id;
// @ApiModelProperty(value = "审核状态:0待审核 1已审核", example = "1")
// private Integer auditStatus;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotNull;
@Getter
@Setter
@NoArgsConstructor
public class CollectTrafficCongestionAuditParam {
@ApiModelProperty(value = "id")
@NotNull(message = "id不能为空")
private Integer id;
// @ApiModelProperty(value = "审核状态:0待审核 1已审核", example = "1")
// private Integer auditStatus;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
public class CollectTrafficCongestionSaveParam {
@ApiModelProperty(value = "经度")
private BigDecimal longitude;
@ApiModelProperty(value = "纬度")
private BigDecimal latitude;
@ApiModelProperty(value = "省", example = "")
private String province;
@ApiModelProperty(value = "市", example = "")
private String city;
@ApiModelProperty(value = "区县", example = "")
private String county;
@ApiModelProperty(value = "乡镇", example = "")
private String town;
@ApiModelProperty(value = "街道", example = "")
private String street;
@ApiModelProperty(value = "详细地址", example = "北京路1号")
private String address;
@ApiModelProperty(value = "预计拥堵时长(小时)", example = "1.5")
private BigDecimal jamTime;
@ApiModelProperty(value = "现场照片列表")
private List<String> jamImageList;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
@Getter
@Setter
@NoArgsConstructor
public class CollectTruckLeaveSaveParam {
@ApiModelProperty(value = "请假开始时间")
@NotBlank(message = "请假开始时间不能为空")
private String beginTime;
@ApiModelProperty(value = "请假结束时间")
@NotBlank(message = "请假结束时间不能为空")
private String endTime;
@ApiModelProperty(value = "请假原因")
@NotBlank(message = "请假原因不能为空")
private String remark;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
@Getter
@Setter
@NoArgsConstructor
public class CollectTruckLocationSaveParam {
@ApiModelProperty(value = "车牌号", example = "京A12345")
@NotBlank(message = "车牌号不能为空")
private String truckNo;
@ApiModelProperty(value = "车辆出车状态 1:空车 2重车", example = "1")
@NotNull(message = "车辆出车状态不能空")
private Integer truckOrderStatus;
@ApiModelProperty(value = "经度")
private BigDecimal longitude;
@ApiModelProperty(value = "纬度")
private BigDecimal latitude;
@ApiModelProperty(value = "省", example = "")
private String province;
@ApiModelProperty(value = "市", example = "")
private String city;
@ApiModelProperty(value = "区县", example = "")
private String county;
@ApiModelProperty(value = "乡镇", example = "")
private String town;
@ApiModelProperty(value = "街道", example = "")
private String street;
@ApiModelProperty(value = "详细地址", example = "北京路1号")
private String address;
@ApiModelProperty(value = "司机手填地址", example = "北京路1号")
private String locationRemark;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
public class CollectTruckRefuelSaveParam {
@ApiModelProperty(value = "运单编号", example = "10000000000")
@NotBlank(message = "运单编号不能为空")
private String childNo;
@ApiModelProperty(value = "装车油表图片列表")
@NotEmpty(message = "装车油表图片不能为空")
private List<String> loadImageList;
@ApiModelProperty(value = "卸车油表图片列表")
@NotEmpty(message = "卸车油表图片不能为空")
private List<String> unloadImageList;
@ApiModelProperty(value = "装车油量", example = "1.23")
private BigDecimal loadOil;
@ApiModelProperty(value = "卸车油量", example = "1.23")
private BigDecimal unloadOil;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class CollectTruckReportDistanceLineMaxUpdateParam {
@ApiModelProperty(value = "车牌", example = "")
private String truckNo;
@ApiModelProperty(value = "单次任务接受最远距离(公里)", example = "")
private Integer distanceLineMax;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class CollectTruckReportDistanceSendAddressMaxUpdateParam {
@ApiModelProperty(value = "车牌", example = "")
private String truckNo;
@ApiModelProperty(value = "接受距货源地最远距离(公里)", example = "")
private Integer distanceSendAddressMax;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class CollectTruckReportDistanceUsualPlaceMaxUpdateParam {
@ApiModelProperty(value = "车牌", example = "")
private String truckNo;
@ApiModelProperty(value = "接受距常驻地最远距离(公里)", example = "")
private Integer distanceUsualPlaceMax;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class CollectTruckReportGoodsTypeUpdateParam {
@ApiModelProperty(value = "车牌", example = "")
private String truckNo;
@ApiModelProperty(value = "拉运货物意愿:1块煤 2面煤 3煤泥", example = "")
private String goodsType;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class CollectTruckReportOverTonnageTypeUpdateParam {
@ApiModelProperty(value = "车牌", example = "")
private String truckNo;
@ApiModelProperty(value = "拉运方式:1标吨 2超吨 3白天标吨晚上超吨", example = "")
private Integer overTonnageType;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class CollectTruckReportParkAddressUpdateParam {
@ApiModelProperty(value = "车牌", example = "")
private String truckNo;
@ApiModelProperty(value = "车辆停放位置", example = "")
private String parkAddress;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class CollectTruckUnloadTypeUpdateParam {
@ApiModelProperty(value = "车牌", example = "")
private String truckNo;
@ApiModelProperty(value = "卸车类型:1自卸侧翻 2自卸立翻 3非自卸", example = "")
private Integer unloadType;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
public class CollectWaitReportReceiveAddressSaveParam {
@ApiModelProperty(value = "运单编号")
@NotBlank(message = "运单编号不能为空")
private String childNo;
@ApiModelProperty(value = "排队状态:1 无需排队 2 场内需要排队 3 厂外需要排队", example = "1")
@NotNull(message = "排队状态不能为空")
private Integer waitType;
@ApiModelProperty(value = "预计站外等待时长", example = "1")
private BigDecimal stationOutTime;
@ApiModelProperty(value = "预计站外等待时长图片列表")
private List<String> stationOutImageList;
}
package com.clx.performance.param.app.collect;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
public class CollectWaitReportSendAddressSaveParam {
@ApiModelProperty(value = "运单编号")
@NotBlank(message = "运单编号不能为空")
private String childNo;
@ApiModelProperty(value = "排队状态:1 无需排队 2 场内需要排队 3 厂外需要排队", example = "1")
@NotNull(message = "排队状态不能为空")
private Integer waitType;
@ApiModelProperty(value = "预计站内等待时长", example = "1")
private BigDecimal stationInTime;
@ApiModelProperty(value = "预计站内等待时长图片列表")
private List<String> stationInImageList;
}
package com.clx.performance.param.app.collect;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class PageCollectLineReportParam extends PageParam {
@ApiModelProperty(value = "用户编号", hidden = true)
private Long userNo;
}
package com.clx.performance.param.app.collect;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class PageCollectTraficCongestionParam extends PageParam {
@ApiModelProperty(value = "用户编号", hidden = true)
private Long userNo;
}
package com.clx.performance.param.app.collect;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class PageCollectTruckLeaveParam extends PageParam {
@ApiModelProperty(value = "用户编号", hidden = true)
private Long userNo;
}
package com.clx.performance.param.app.collect;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class PageCollectTruckLocationParam extends PageParam {
@ApiModelProperty(value = "用户编号", hidden = true)
private Long userNo;
}
package com.clx.performance.param.app.collect;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class PageCollectTruckRefuelParam extends PageParam {
@ApiModelProperty(value = "用户编号", hidden = true)
private Long userNo;
}
package com.clx.performance.param.app.collect;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class PageCollectTruckWaitParam extends PageParam {
@ApiModelProperty(value = "用户编号", hidden = true)
private Long userNo;
}
package com.clx.performance.param.pc.carrier;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class CarrierPageCollectAbnormalReportParam extends PageParam {
@ApiModelProperty(value = "司机姓名", example = "")
private String name;
@ApiModelProperty(value = "联系方式", example = "")
private String mobile;
@ApiModelProperty(value = "车牌号", example = "")
private String truckNo;
@ApiModelProperty(value = "运单编号", example = "")
private String childNo;
@ApiModelProperty(value = "发货地", example = "")
private String sendAddress;
@ApiModelProperty(value = "收货地", example = "")
private String receiveAddress;
@ApiModelProperty(value = "上报开始时间")
private String beginTime;
@ApiModelProperty(value = "上报结束时间")
private String endTime;
@ApiModelProperty(value = "审核状态:0待审核 1已审核")
private Integer auditStatus;
@ApiModelProperty(value = "异常类型:1:无法到达货源地 2:无法装货 3:无法到达目的地 4:运单取消 5:装车卸车异常", example = "1")
private Integer reportType;
}
package com.clx.performance.param.pc.carrier;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class CarrierPageCollectNoTakeOrderReportParam extends PageParam {
@ApiModelProperty(value = "司机姓名", example = "")
private String name;
@ApiModelProperty(value = "联系方式", example = "")
private String mobile;
@ApiModelProperty(value = "运单编号", example = "")
private String childNo;
@ApiModelProperty(value = "发货地", example = "")
private String sendAddress;
@ApiModelProperty(value = "收货地", example = "")
private String receiveAddress;
}
package com.clx.performance.param.pc.carrier;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class CarrierPageCollectOtherReportParam extends PageParam {
@ApiModelProperty(value = "司机姓名", example = "")
private String name;
@ApiModelProperty(value = "联系方式", example = "")
private String mobile;
@ApiModelProperty(value = "上报开始时间")
private String beginTime;
@ApiModelProperty(value = "上报结束时间")
private String endTime;
}
package com.clx.performance.param.pc.carrier;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class CarrierPageCollectQualityReportParam extends PageParam {
@ApiModelProperty(value = "司机姓名", example = "")
private String name;
@ApiModelProperty(value = "联系方式", example = "")
private String mobile;
@ApiModelProperty(value = "上报开始时间")
private String beginTime;
@ApiModelProperty(value = "上报结束时间")
private String endTime;
@ApiModelProperty(value = "审核状态:0待审核 1已审核")
private Integer auditStatus;
}
package com.clx.performance.param.pc.carrier;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class CarrierPageCollectSendAddressReportParam extends PageParam {
@ApiModelProperty(value = "司机姓名", example = "")
private String name;
@ApiModelProperty(value = "联系方式", example = "")
private String mobile;
@ApiModelProperty(value = "车牌号", example = "")
private String truckNo;
@ApiModelProperty(value = "是否可拉运:1可以拉运 2不可用拉运", example = "1")
private Integer reportStatus;
@ApiModelProperty(value = "货源地", example = "")
private String sendAddress;
@ApiModelProperty(value = "上报开始时间")
private String beginTime;
@ApiModelProperty(value = "上报结束时间")
private String endTime;
@ApiModelProperty(value = "审核状态:0待审核 1已审核")
private Integer auditStatus;
}
package com.clx.performance.param.pc.carrier;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class CarrierPageCollectTraficCongestionParam extends PageParam {
@ApiModelProperty(value = "司机姓名", example = "")
private String name;
@ApiModelProperty(value = "联系方式", example = "")
private String mobile;
@ApiModelProperty(value = "运单编号", example = "")
private String childNo;
@ApiModelProperty(value = "拥堵位置", example = "")
private String address;
@ApiModelProperty(value = "审核状态:0待审核 1已审核")
private Integer auditStatus;
@ApiModelProperty(value = "上报开始时间")
private String beginTime;
@ApiModelProperty(value = "上报结束时间")
private String endTime;
}
package com.clx.performance.param.pc.carrier;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class CarrierPageCollectTruckLeaveParam extends PageParam {
@ApiModelProperty(value = "司机姓名", example = "")
private String name;
@ApiModelProperty(value = "联系方式", example = "")
private String mobile;
@ApiModelProperty(value = "上报开始时间")
private String beginTime;
@ApiModelProperty(value = "上报结束时间")
private String endTime;
@ApiModelProperty(value = "请假开始时间范围")
private String beginTime1;
@ApiModelProperty(value = "请假开始时间范围")
private String endTime1;
@ApiModelProperty(value = "请假结束时间范围")
private String beginTime2;
@ApiModelProperty(value = "请假结束时间范围")
private String endTime2;
}
package com.clx.performance.param.pc.carrier;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class CarrierPageCollectTruckLocationParam extends PageParam {
@ApiModelProperty(value = "司机姓名", example = "")
private String name;
@ApiModelProperty(value = "联系方式", example = "")
private String mobile;
@ApiModelProperty(value = "车牌号", example = "")
private String truckNo;
@ApiModelProperty(value = "车辆出车状态 1:空车 2:重车", example = "")
private Integer truckOrderStatus;
@ApiModelProperty(value = "详细地址", example = "")
private String address;
@ApiModelProperty(value = "上报开始时间")
private String beginTime;
@ApiModelProperty(value = "上报结束时间")
private String endTime;
}
package com.clx.performance.param.pc.carrier;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class CarrierPageCollectTruckRefuelParam extends PageParam {
@ApiModelProperty(value = "司机姓名", example = "")
private String name;
@ApiModelProperty(value = "联系方式", example = "")
private String mobile;
@ApiModelProperty(value = "车牌号", example = "")
private String truckNo;
@ApiModelProperty(value = "运单编号", example = "")
private String childNo;
@ApiModelProperty(value = "发货地", example = "")
private String sendAddress;
@ApiModelProperty(value = "收货地", example = "")
private String receiveAddress;
@ApiModelProperty(value = "上报开始时间")
private String beginTime;
@ApiModelProperty(value = "上报结束时间")
private String endTime;
}
package com.clx.performance.param.pc.carrier;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class CarrierPageCollectTruckWaitParam extends PageParam {
@ApiModelProperty(value = "司机姓名", example = "")
private String name;
@ApiModelProperty(value = "联系方式", example = "")
private String mobile;
@ApiModelProperty(value = "车牌号", example = "")
private String truckNo;
@ApiModelProperty(value = "运单编号", example = "")
private String childNo;
@ApiModelProperty(value = "排队地点", example = "")
private String address;
@ApiModelProperty(value = "排队类型:1 货源地排队 2目的地排队", example = "")
private Integer reportType;
@ApiModelProperty(value = "是否排队:1 无需排队 2 场内需要排队 3 厂外需要排队", example = "")
private Integer waitType;
@ApiModelProperty(value = "上报开始时间")
private String beginTime;
@ApiModelProperty(value = "上报结束时间")
private String endTime;
@ApiModelProperty(value = "审核状态:0待审核 1已审核")
private Integer auditStatus;
}
package com.clx.performance.param.pc.integral;
import com.clx.performance.vo.pc.integral.AppIntegralRuleVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.Valid;
/**
* @Author: aiqingguo
* @Description: 新增积分
* @Date: 2023-10-11 17:30:57
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public class IntegralRuleUpdateParam {
@Valid
@ApiModelProperty(value = "运单完成积分规则")
private AppIntegralRuleVO.OrderChildCompleteRule orderChildCompleteRule;
@Valid
@ApiModelProperty(value = "货单奖励积分规则")
private AppIntegralRuleVO.OrderAwardRule orderAwardRule;
@Valid
@ApiModelProperty(value = "货单扣减积分规则")
private AppIntegralRuleVO.OrderChildCancelRule orderDiscountRule;
@Valid
@ApiModelProperty(value = "运单超时扣减规则")
private AppIntegralRuleVO.OrderChildTimeoutRule orderChildTimeoutRule;
@Valid
@ApiModelProperty(value = "平台补偿积分规则")
private AppIntegralRuleVO.PlatformCompensationRule platformCompensationRule;
@Valid
@ApiModelProperty(value = "司机上报积分规则")
private AppIntegralRuleVO.DriverReportRule driverReportRule;
}
package com.clx.performance.param.pc.integral;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
/**
* @Author: aiqingguo
* @Description: 新增积分
* @Date: 2023-10-11 17:30:57
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public class IntegralTruckRuleSaveParam {
@ApiModelProperty(value = "层级名称", example = "")
@NotBlank(message = "名称不能为空")
private String name;
@ApiModelProperty(value = "积分起始范围", example = "")
private Integer integralRatioBegin;
@ApiModelProperty(value = "积分结束范围", example = "")
private Integer integralRatioEnd;
@ApiModelProperty(value = "状态:1开启 2关闭", example = "")
private Integer status;
@ApiModelProperty(value = "预期收益开始范围(分)", example = "")
private BigDecimal incomeBegin;
@ApiModelProperty(value = "预期收益结束范围(分)", example = "")
private BigDecimal incomeEnd;
}
package com.clx.performance.param.pc.integral;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotNull;
/**
* @Author: aiqingguo
* @Description: 新增积分
* @Date: 2023-10-11 17:30:57
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public class IntegralTruckRuleStatusDeleteParam {
@ApiModelProperty(value = "id", example = "")
@NotNull(message = "id不能为空")
private Integer id;
}
package com.clx.performance.param.pc.integral;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotNull;
/**
* @Author: aiqingguo
* @Description: 新增积分
* @Date: 2023-10-11 17:30:57
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public class IntegralTruckRuleStatusUpdateParam {
@ApiModelProperty(value = "id", example = "")
@NotNull(message = "id不能为空")
private Integer id;
@ApiModelProperty(value = "状态:1开启 2关闭", example = "")
@NotNull(message = "状态不能为空")
private Integer status;
}
package com.clx.performance.param.pc.integral;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
/**
* @Author: aiqingguo
* @Description: 新增积分
* @Date: 2023-10-11 17:30:57
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public class IntegralTruckRuleUpdateParam {
@ApiModelProperty(value = "id", example = "")
@NotNull(message = "id不能为空")
private Integer id;
@ApiModelProperty(value = "层级名称", example = "")
@NotBlank(message = "名称不能为空")
private String name;
@ApiModelProperty(value = "积分起始范围", example = "")
private Integer integralRatioBegin;
@ApiModelProperty(value = "积分结束范围", example = "")
private Integer integralRatioEnd;
@ApiModelProperty(value = "状态:1开启 2关闭", example = "")
private Integer status;
@ApiModelProperty(value = "预期收益开始范围(分)", example = "")
private BigDecimal incomeBegin;
@ApiModelProperty(value = "预期收益结束范围(分)", example = "")
private BigDecimal incomeEnd;
}
package com.clx.performance.param.pc.integral;
import com.msl.common.base.PageParam;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class PageIntegralTruckRuleParam extends PageParam {
}
package com.clx.performance.vo.app.collect;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
/**
* @Author: aiqinguo
* @Description: 车辆信息上报
* @Date: 2023/11/07 11:11:41
* @Version: 1.0
*/
@ApiModel(description = "车辆信息上报")
@Getter
@Setter
@ToString
@NoArgsConstructor
public class AppCollectTruckVO {
@ApiModelProperty(value = "id", example = "")
private Integer id;
@ApiModelProperty(value = "车辆id", example = "")
private Integer truckId;
@ApiModelProperty(value = "车牌", example = "")
private String truckNo;
@ApiModelProperty(value = "卸车类型:1自卸侧翻 2自卸立翻 3非自卸", example = "")
private Integer unloadType;
@ApiModelProperty(value = "车贷状态:0无车贷 1有车贷", example = "")
private Integer autoLoanStatus;
@ApiModelProperty(value = "车贷剩余月份", example = "")
private Integer autoLoanMonth;
@ApiModelProperty(value = "车辆停放位置", example = "")
private String parkAddress;
@ApiModelProperty(value = "拉运方式:1标吨 2超吨 3白天标吨晚上超吨", example = "")
private Integer overTunageType;
@ApiModelProperty(value = "接受距常驻地最远距离(公里)", example = "")
private Integer distanceUsualPlaceMax;
@ApiModelProperty(value = "单次任务接受最远距离(公里)", example = "")
private Integer distanceLineMax;
@ApiModelProperty(value = "接受距货源地最远距离(公里)", example = "")
private Integer distanceSendAddressMax;
@ApiModelProperty(value = "拉运货物意愿:1块煤 2面煤 3煤泥", example = "")
private String goodsType;
}
\ No newline at end of file
package com.clx.performance.vo.mq;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
/**
* @Author: aiqingguo
* @Description:
* @Date: 2023-10-19 15:45:25
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public class OrderChildLoadMqParam {
private String childNo; //运单编号
}
package com.clx.performance.vo.mq;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
/**
* @Author: aiqingguo
* @Description:
* @Date: 2023-10-19 15:45:25
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public class OrderChildUnloadMqParam {
private String childNo; //运单编号
}
package com.clx.performance.vo.pc.collect;
import com.alibaba.fastjson.JSON;
import com.clx.performance.enums.collect.CollectLineReportEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.List;
/**
* @Author: aiqinguo
* @Description: 线路信息上报
* @Date: 2023/10/16 13:06:26
* @Version: 1.0
*/
@ApiModel(description = "线路信息上报")
@Getter
@Setter
@ToString
@NoArgsConstructor
public class CollectLineReportVO {
@ApiModelProperty(value = "id", example = "")
private Integer id;
@ApiModelProperty(value = "用户编号", example = "")
private Long userNo;
@ApiModelProperty(value = "用户姓名", example = "")
private String name;
@ApiModelProperty(value = "手机号码", example = "")
private String mobile;
@ApiModelProperty(value = "车牌号", example = "")
private String truckNo;
@ApiModelProperty(value = "运单编号", example = "")
private String childNo;
@ApiModelProperty(value = "货单单编号", example = "")
private String orderGoodsNo;
@ApiModelProperty(value = "发货地址id", example = "")
private Integer sendAddressId;
@ApiModelProperty(value = "发货地址", example = "")
private String sendAddress;
@ApiModelProperty(value = "收货地址id", example = "")
private Integer receiveAddressId;
@ApiModelProperty(value = "收货地址", example = "")
private String receiveAddress;
@ApiModelProperty(value = "类型:1 发货地 2 目的地", example = "")
private Integer type;
@ApiModelProperty(value = "上报类型(1~4异常上报):1:无法到达货源地 2:无法装货 3:无法到达目的地 4:装车卸车异常 6:没有接单 7:货源地情况 8:其它上报 9:煤炭质量上报", example = "")
private Integer reportType;
@ApiModelProperty(value = "上报类型(1~4异常上报):1:无法到达货源地 2:无法装货 3:无法到达目的地 4:装车卸车异常 6:没有接单 7:货源地情况 8:其它上报 9:煤炭质量上报", example = "")
private String reportTypeMsg;
public String getReportTypeMsg() {
return CollectLineReportEnum.ReportType.getByCode(reportType).get().getMsg();
}
@ApiModelProperty(value = "拉运状态 1: 正常 2:异常", example = "")
private Integer reportStatus;
@ApiModelProperty(value = "拉运状态 1: 正常 2:异常", example = "")
private String reportStatusMsg;
public String getReportStatusMsg() {
return CollectLineReportEnum.ReportStatus.getByCode(reportStatus).get().getMsg();
}
@ApiModelProperty(value = "状态描述", example = "")
private String remark;
@ApiModelProperty(value = "上报图片", example = "", hidden = true)
private String image;
@ApiModelProperty(value = "上报图片")
private List<String> imageList;
public List<String> getImageList() {
return StringUtils.isEmpty(image)? new ArrayList<>() : JSON.parseArray(image, String.class);
}
@ApiModelProperty(value = "上报时间", example = "")
private String reportTime;
@ApiModelProperty(value = "审核状态:0待审核 1已审核", example = "")
private Integer auditStatus;
@ApiModelProperty(value = "审核状态:0待审核 1已审核", example = "")
private String auditStatusMsg;
public String getAuditStatusMsg() {
return CollectLineReportEnum.AuditStatus.getByCode(auditStatus).get().getMsg();
}
@ApiModelProperty(value = "创建时间", example = "")
private String createTime;
@ApiModelProperty(value = "修改时间", example = "")
private String modifiedTime;
}
\ No newline at end of file
package com.clx.performance.vo.pc.collect;
import com.alibaba.fastjson.JSON;
import com.clx.performance.enums.collect.CollectLineReportEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import org.springframework.util.StringUtils;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/**
* @Author: aiqinguo
* @Description: 道路拥堵情况
* @Date: 2023/10/16 13:06:26
* @Version: 1.0
*/
@ApiModel(description = "道路拥堵情况")
@Getter
@Setter
@ToString
@NoArgsConstructor
public class CollectTrafficCongestionVO {
@ApiModelProperty(value = "id", example = "")
private Integer id;
@ApiModelProperty(value = "用户编号", example = "")
private Long userNo;
@ApiModelProperty(value = "用户姓名", example = "")
private String name;
@ApiModelProperty(value = "手机号码", example = "")
private String mobile;
@ApiModelProperty(value = "车牌号", example = "")
private String truckNo;
@ApiModelProperty(value = "省", example = "")
private String province;
@ApiModelProperty(value = "市", example = "")
private String city;
@ApiModelProperty(value = "区县", example = "")
private String county;
@ApiModelProperty(value = "乡镇", example = "")
private String town;
@ApiModelProperty(value = "街道", example = "")
private String street;
@ApiModelProperty(value = "详细地址", example = "")
private String address;
@ApiModelProperty(value = "经度", example = "")
private BigDecimal longitude;
@ApiModelProperty(value = "纬度", example = "")
private BigDecimal latitude;
@ApiModelProperty(value = "预计拥堵时长", example = "")
private BigDecimal jamTime;
@ApiModelProperty(value = "现场照片", example = "", hidden = true)
private String jamImage;
@ApiModelProperty(value = "现场照片", example = "")
private List<String> jamImageList;
public List<String> getJamImageList() {
return StringUtils.isEmpty(jamImage)? new ArrayList<>() : JSON.parseArray(jamImage, String.class);
}
@ApiModelProperty(value = "上报时间", example = "")
private String reportTime;
@ApiModelProperty(value = "审核状态:0待审核 1已审核", example = "")
private Integer auditStatus;
@ApiModelProperty(value = "审核状态:0待审核 1已审核", example = "")
private String auditStatusMsg;
public String getAuditStatusMsg() {
return CollectLineReportEnum.AuditStatus.getByCode(auditStatus).get().getMsg();
}
@ApiModelProperty(value = "创建时间", example = "")
private String createTime;
@ApiModelProperty(value = "修改时间", example = "")
private String modifiedTime;
}
\ No newline at end of file
package com.clx.performance.vo.pc.collect;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import java.time.LocalDateTime;
/**
* @Author: aiqinguo
* @Description: 司机请假表
* @Date: 2023/10/16 13:06:26
* @Version: 1.0
*/
@ApiModel(description = "司机请假表")
@Getter
@Setter
@ToString
@NoArgsConstructor
public class CollectTruckLeaveVO {
@ApiModelProperty(value = "id", example = "")
private Integer id;
@ApiModelProperty(value = "用户编号", example = "")
private Long userNo;
@ApiModelProperty(value = "用户姓名", example = "")
private String name;
@ApiModelProperty(value = "手机号码", example = "")
private String mobile;
@ApiModelProperty(value = "车牌号", example = "")
private String truckNo;
@ApiModelProperty(value = "请假开始时间", example = "")
private String beginTime;
@ApiModelProperty(value = "请假结束时间", example = "")
private String endTime;
@ApiModelProperty(value = "请假原因", example = "")
private String remark;
@ApiModelProperty(value = "上报时间", example = "")
private String reportTime;
@ApiModelProperty(value = "创建时间", example = "")
private String createTime;
@ApiModelProperty(value = "修改时间", example = "")
private String modifiedTime;
}
\ No newline at end of file
package com.clx.performance.vo.pc.collect;
import com.clx.performance.enums.collect.CollectTruckLocationEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import java.math.BigDecimal;
/**
* @Author: aiqinguo
* @Description: 车辆位置上报
* @Date: 2023/10/16 13:06:26
* @Version: 1.0
*/
@ApiModel(description = "车辆位置上报")
@Getter
@Setter
@ToString
@NoArgsConstructor
public class CollectTruckLocationVO {
@ApiModelProperty(value = "id", example = "")
private Integer id;
@ApiModelProperty(value = "用户编号", example = "")
private Long userNo;
@ApiModelProperty(value = "用户姓名", example = "")
private String name;
@ApiModelProperty(value = "手机号码", example = "")
private String mobile;
@ApiModelProperty(value = "车牌号", example = "")
private String truckNo;
// @ApiModelProperty(value = "省", example = "")
// private String province;
// @ApiModelProperty(value = "市", example = "")
// private String city;
// @ApiModelProperty(value = "区县", example = "")
// private String county;
// @ApiModelProperty(value = "乡镇", example = "")
// private String town;
// @ApiModelProperty(value = "街道", example = "")
// private String street;
// @ApiModelProperty(value = "详细地址", example = "")
// private String address;
@ApiModelProperty(value = "全地址", example = "")
private String fullAddress;
@ApiModelProperty(value = "经度", example = "")
private BigDecimal longitude;
@ApiModelProperty(value = "纬度", example = "")
private BigDecimal latitude;
@ApiModelProperty(value = "车辆出车状态 1:空车 2重车", example = "", hidden = true)
private Integer truckOrderStatus;
@ApiModelProperty(value = "车辆出车状态 1:空车 2重车", example = "")
private String truckOrderStatusMsg;
public String getTruckOrderStatusMsg() {
return CollectTruckLocationEnum.TruckOrderStatus.getByCode(truckOrderStatus).get().getMsg();
}
@ApiModelProperty(value = "上报时间", example = "")
private String reportTime;
@ApiModelProperty(value = "创建时间", example = "")
private String createTime;
@ApiModelProperty(value = "修改时间", example = "")
private String modifiedTime;
}
\ No newline at end of file
package com.clx.performance.vo.pc.collect;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import org.springframework.util.StringUtils;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/**
* @Author: aiqinguo
* @Description: 油表上报信息
* @Date: 2023/10/16 13:06:27
* @Version: 1.0
*/
@ApiModel(description = "油表上报信息")
@Getter
@Setter
@ToString
@NoArgsConstructor
public class CollectTruckRefuelVO {
@ApiModelProperty(value = "id", example = "")
private Integer id;
@ApiModelProperty(value = "用户编号", example = "")
private Long userNo;
@ApiModelProperty(value = "用户姓名", example = "")
private String name;
@ApiModelProperty(value = "手机号码", example = "")
private String mobile;
@ApiModelProperty(value = "车牌号", example = "")
private String truckNo;
@ApiModelProperty(value = "运单编号", example = "")
private String childNo;
@ApiModelProperty(value = "发货地址id", example = "")
private Integer sendAddressId;
@ApiModelProperty(value = "发货地址", example = "")
private String sendAddress;
@ApiModelProperty(value = "收货地址id", example = "")
private Integer receiveAddressId;
@ApiModelProperty(value = "收货地址", example = "")
private String receiveAddress;
@ApiModelProperty(value = "装车油表", example = "", hidden = true)
private String loadImage;
@ApiModelProperty(value = "装车油表list集合", example = "")
private List<String> loadImageList;
public List<String> getLoadImageList() {
return StringUtils.isEmpty(loadImage)? new ArrayList<>() : JSON.parseArray(loadImage, String.class);
}
@ApiModelProperty(value = "装车油量", example = "")
private BigDecimal loadOil;
@ApiModelProperty(value = "卸车油表集合", example = "", hidden = true)
private String unloadImage;
@ApiModelProperty(value = "装车油表list集合", example = "")
private List<String> unloadImageList;
public List<String> getUnloadImageList() {
return StringUtils.isEmpty(unloadImage)? new ArrayList<>() : JSON.parseArray(unloadImage, String.class);
}
@ApiModelProperty(value = "卸车油量", example = "")
private BigDecimal unloadOil;
@ApiModelProperty(value = "上报时间", example = "")
private String reportTime;
@ApiModelProperty(value = "创建时间", example = "")
private String createTime;
@ApiModelProperty(value = "修改时间", example = "")
private String modifiedTime;
}
\ No newline at end of file
package com.clx.performance.vo.pc.collect;
import com.alibaba.fastjson.JSON;
import com.clx.performance.enums.collect.CollectTruckWaitEnum;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import org.springframework.util.StringUtils;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/**
* @Author: aiqinguo
* @Description: 线路排队耗时
* @Date: 2023/10/16 13:06:27
* @Version: 1.0
*/
@ApiModel(description = "线路排队耗时")
@Getter
@Setter
@ToString
@NoArgsConstructor
public class CollectTruckWaitVO {
@ApiModelProperty(value = "id", example = "")
private Integer id;
@ApiModelProperty(value = "用户编号", example = "")
private Long userNo;
@ApiModelProperty(value = "用户姓名", example = "")
private String name;
@ApiModelProperty(value = "手机号码", example = "")
private String mobile;
@ApiModelProperty(value = "车牌号", example = "")
private String truckNo;
@ApiModelProperty(value = "运单编号", example = "")
private String childNo;
@ApiModelProperty(value = "地址id", example = "")
private Integer addressId;
@ApiModelProperty(value = "详细地址", example = "")
private String address;
@ApiModelProperty(value = "上报类型:1 装车类型 2卸车类型", example = "")
private Integer reportType;
@ApiModelProperty(value = "上报类型:1 装车类型 2卸车类型", example = "")
private String reportTypeMsg;
public String getReportTypeMsg() {
return CollectTruckWaitEnum.ReportType.getByCode(reportType).get().getMsg();
}
@ApiModelProperty(value = "上报类型:1 需要排队 ", example = "")
private Integer waitType;
@ApiModelProperty(value = "上报类型:1 需要排队 ", example = "")
private String waitTypeMsg;
public String getWaitTypeMsg() {
return CollectTruckWaitEnum.waitType.getByCode(waitType).get().getMsg();
}
@JsonIgnore
@ApiModelProperty(value = "预计站内等待时长", example = "", hidden = true)
private BigDecimal stationInTime;
@JsonIgnore
@ApiModelProperty(value = "预计站内等待时长图片", example = "", hidden = true)
private String stationInImage;
@JsonIgnore
@ApiModelProperty(value = "预计站外等待时长", example = "", hidden = true)
private BigDecimal stationOutTime;
@JsonIgnore
@ApiModelProperty(value = "预计站外等待时长图片", example = "", hidden = true)
private String stationOutImage;
@ApiModelProperty(value = "预计等待时长", example = "")
private BigDecimal stationTime;
public BigDecimal getStationTime() {
return stationInTime;
}
@ApiModelProperty(value = "预计等待时长图片", example = "")
private List<String> stationImageList;
public List<String> getStationImageList() {
return StringUtils.isEmpty(stationOutImage)? new ArrayList<>() : JSON.parseArray(stationInImage, String.class);
}
@ApiModelProperty(value = "上报时间", example = "")
private String reportTime;
@ApiModelProperty(value = "审核状态:0待审核 1已审核", example = "")
private Integer auditStatus;
@ApiModelProperty(value = "审核状态:0待审核 1已审核", example = "")
private String auditStatusMsg;
public String getAuditStatusMsg() {
return CollectTruckWaitEnum.AuditStatus.getByCode(auditStatus).get().getMsg();
}
@ApiModelProperty(value = "创建时间", example = "")
private String createTime;
@ApiModelProperty(value = "修改时间", example = "")
private String modifiedTime;
}
\ No newline at end of file
package com.clx.performance.vo.pc.integral;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
/**
* @Author: aiqinguo
* @Description: 车辆积分规则
* @Date: 2023/11/06 14:12:53
* @Version: 1.0
*/
@ApiModel(description = "积分规则")
@Getter
@Setter
@ToString
@NoArgsConstructor
public class AppIntegralRuleVO {
@ApiModelProperty(value = "运单完成积分规则")
private OrderChildCompleteRule orderChildCompleteRule;
@ApiModelProperty(value = "货单奖励积分规则")
private OrderAwardRule orderAwardRule;
@ApiModelProperty(value = "货单扣减积分规则")
private OrderChildCancelRule orderChildCancelRule;
@ApiModelProperty(value = "运单超时扣减规则")
private OrderChildTimeoutRule orderChildTimeoutRule;
@ApiModelProperty(value = "平台补偿积分规则")
private PlatformCompensationRule platformCompensationRule;
@ApiModelProperty(value = "司机上报积分规则")
private DriverReportRule driverReportRule;
@Getter
@Setter
@ToString
@NoArgsConstructor
public static class OrderChildCompleteRule{
@ApiModelProperty(value = "当日完成第1笔运单积分x")
@NotNull(message = "参数不能为空")
private Integer integer1;
@ApiModelProperty(value = "当日完成第2笔运单积分x")
@NotNull(message = "参数不能为空")
private Integer integer2;
@ApiModelProperty(value = "当日完成第3笔运单积分x")
@NotNull(message = "参数不能为空")
private Integer integer3;
@ApiModelProperty(value = "当日完成第4笔运单积分x")
@NotNull(message = "参数不能为空")
private Integer integer4;
}
@Getter
@Setter
@ToString
@NoArgsConstructor
public static class OrderAwardRule{
@ApiModelProperty(value = "完成流水单每单附加积分x")
private Integer integerWater;
@ApiModelProperty(value = "当日流水单奖励次数上限x")
private Integer countWaterLimit;
@ApiModelProperty(value = "完成支援单每单附加积分x")
private Integer integerSupport;
@ApiModelProperty(value = "当日支援单奖励次数上限x")
private Integer countSupportLimit;
}
@Getter
@Setter
@ToString
@NoArgsConstructor
public static class OrderChildCancelRule {
@ApiModelProperty(value = "自行取消运单每单扣减积分x")
@NotNull(message = "参数不能为空")
private Integer integralCancel;
@ApiModelProperty(value = "自行取消流水单每单另扣积分x")
private Integer integralWaterCancel;
@ApiModelProperty(value = "自行取消支援单每单另扣积分x")
private Integer integralSupportCancel;
}
@Getter
@Setter
@ToString
@NoArgsConstructor
public static class OrderChildTimeoutRule{
@ApiModelProperty(value = "超时未到达货源地扣积分x")
@NotNull(message = "参数不能为空")
private Integer integralSendAddressTimeout;
@ApiModelProperty(value = "超时未到达目的地扣积分x")
@NotNull(message = "参数不能为空")
private Integer integralReceiveAddressTimeout;
@ApiModelProperty(value = "接单超时扣积分x")
private Integer integralTakeOrderTimeout;
}
@Getter
@Setter
@ToString
@NoArgsConstructor
public static class PlatformCompensationRule{
@ApiModelProperty(value = "平台取消运单补偿积分x")
private Integer integralCancel;
@ApiModelProperty(value = "当日平台补偿积分上限x")
private Integer integralCancelLimit;
@ApiModelProperty(value = "规定时间不能装车补偿x")
private Integer integralLoad;
@ApiModelProperty(value = "规定时间不能卸车补偿x")
private Integer integralUnload;
}
@Getter
@Setter
@ToString
@NoArgsConstructor
public static class DriverReportRule{
@ApiModelProperty(value = "提交基础信息每项积分x")
private Integer integralTruck;
@ApiModelProperty(value = "油表上报积分x")
private Integer integralRefuel;
@ApiModelProperty(value = "上报交通拥堵积分x")
private Integer integralTraffic;
@ApiModelProperty(value = "上报货源地需要排队积分x")
private Integer integralSendAddressWait;
@ApiModelProperty(value = "上报货源地无需排队积分x")
private Integer integralSendAddressNoWait;
@ApiModelProperty(value = "上报目的地需要排队积分x")
private Integer integralReceiveAddressWait;
@ApiModelProperty(value = "上报目的地无需排队积分x")
private Integer integralReceiveAddressNoWait;
@ApiModelProperty(value = "上报煤炭质量问题积分x")
private Integer integralQuality;
@ApiModelProperty(value = "上报拉运异常问题积分x")
private Integer integralAbnormal;
@ApiModelProperty(value = "限制频繁上报奖励间隔x(小时)")
private BigDecimal reportLimit;
@ApiModelProperty(value = "当日上报奖励积分上限x")
private Integer integralLimit;
}
@ApiModelProperty(value = "运单完成积分规则", example = "", hidden = true)
private OrderChildCompleteRule orderChildCompleteRuleJson;
@ApiModelProperty(value = "货单奖励积分规则", example = "", hidden = true)
private OrderAwardRule orderAwardRuleJson;
@ApiModelProperty(value = "货单扣减积分规则", example = "", hidden = true)
private OrderChildCancelRule orderDiscountRuleJson;
@ApiModelProperty(value = "运单超时扣减规则", example = "", hidden = true)
private OrderChildTimeoutRule orderChildTimeoutRuleJson;
@ApiModelProperty(value = "平台补偿积分规则", example = "", hidden = true)
private PlatformCompensationRule platformCompensationRuleJson;
}
\ No newline at end of file
package com.clx.performance.vo.pc.integral;
import com.clx.performance.enums.integral.IntegralTruckRuleEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import java.math.BigDecimal;
/**
* @Author: aiqinguo
* @Description: 车辆积分规则
* @Date: 2023/11/06 14:12:53
* @Version: 1.0
*/
@ApiModel(description = "车辆积分规则")
@Getter
@Setter
@ToString
@NoArgsConstructor
public class AppIntegralTruckRuleVO {
@ApiModelProperty(value = "id", example = "")
private Integer id;
@ApiModelProperty(value = "层级名称", example = "")
private String name;
@ApiModelProperty(value = "积分起始范围", example = "")
private Integer integralRatioBegin;
@ApiModelProperty(value = "积分结束范围", example = "")
private Integer integralRatioEnd;
@ApiModelProperty(value = "积分结束范围", example = "")
private String integralRatioMsg;
public String getIntegralRatioMsg() {
if (integralRatioBegin == null && integralRatioEnd !=null) {return "积分小于"+integralRatioEnd+"%";}
if (integralRatioEnd == null && integralRatioBegin !=null) {return "积分大于"+integralRatioBegin+"%";}
return "积分"+ integralRatioBegin+"%" + "—" + integralRatioEnd+"%";
}
@ApiModelProperty(value = "状态:1开启 2关闭", example = "")
private Integer status;
@ApiModelProperty(value = "状态:1开启 2关闭", example = "")
private String statusMsg;
public String getStatusMsg() {
return IntegralTruckRuleEnum.Status.getByCode(status).get().getMsg();
}
@ApiModelProperty(value = "预期收益开始范围(分)", example = "")
private BigDecimal incomeBegin;
@ApiModelProperty(value = "预期收益结束范围(分)", example = "")
private BigDecimal incomeEnd;
@ApiModelProperty(value = "预期收益结束范围", example = "")
private String incomeMsg;
public String getIncomeMsg() {
if (incomeBegin == null && incomeEnd !=null) {return "日收益小于等于"+incomeEnd.toString()+"元";}
if (incomeEnd == null && incomeBegin !=null) {return "日收益大于等于"+incomeBegin.toString()+"元";}
return "日收益"+ incomeBegin.toString() + "元—" + incomeBegin.toString()+"元";
}
@ApiModelProperty(value = "创建时间", example = "")
private String createTime;
@ApiModelProperty(value = "修改时间", example = "")
private String modifiedTime;
}
\ No newline at end of file
......@@ -108,5 +108,28 @@ public class RabbitOrderChildConfig {
public Binding orderChildCancelQueueBinding() {
return BindingBuilder.bind(orderChildCancelQueue()).to(orderChildDefaultExchange()).with(RabbitKeyOrderChildConstants.ORDER_CHILD_CANCEL_ROUTING_KEY);
}
/**
* 装车
*/
@Bean
public Queue orderChildLoadQueue() {
return new Queue(RabbitKeyOrderChildConstants.ORDER_CHILD_LOAD_QUEUE);
}
@Bean
public Binding orderChildLoadQueueBinding() {
return BindingBuilder.bind(orderChildLoadQueue()).to(orderChildDefaultExchange()).with(RabbitKeyOrderChildConstants.ORDER_CHILD_LOAD_ROUTING_KEY);
}
/**
* 卸车
*/
@Bean
public Queue orderChildUnloadQueue() {
return new Queue(RabbitKeyOrderChildConstants.ORDER_CHILD_UNLOAD_QUEUE);
}
@Bean
public Binding orderChildUnloadQueueBinding() {
return BindingBuilder.bind(orderChildUnloadQueue()).to(orderChildDefaultExchange()).with(RabbitKeyOrderChildConstants.ORDER_CHILD_UNLOAD_ROUTING_KEY);
}
}
......@@ -69,4 +69,16 @@ public class RabbitKeyOrderChildConstants {
public static final String ORDER_CHILD_CANCEL_QUEUE = PREFIX +"orderChild.cancel"+QUEUE;
public static final String ORDER_CHILD_CANCEL_ROUTING_KEY = PREFIX +"orderChild.cancel"+QUEUE_ROUTING_KEY;
/**
* 装车
*/
public static final String ORDER_CHILD_LOAD_QUEUE = PREFIX +"orderChild.load"+QUEUE;
public static final String ORDER_CHILD_LOAD_ROUTING_KEY = PREFIX +"orderChild.load"+QUEUE_ROUTING_KEY;
/**
* 卸车
*/
public static final String ORDER_CHILD_UNLOAD_QUEUE = PREFIX +"orderChild.unload"+QUEUE;
public static final String ORDER_CHILD_UNLOAD_ROUTING_KEY = PREFIX +"orderChild.unload"+QUEUE_ROUTING_KEY;
}
package com.clx.performance.controller.app;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.collect.*;
import com.clx.performance.service.collect.CollectLineReportService;
import com.clx.performance.vo.pc.collect.CollectLineReportVO;
import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@Slf4j
@RestController
@RequestMapping(value="/app/driver/collect/line")
@Validated
@Api(tags = "APP-线路上报")
@AllArgsConstructor
public class AppDriverCollectLineReportController {
private final CollectLineReportService collectLineReportService;
@ApiOperation(value = "上报货源地情况", notes = "<br>By:艾庆国")
@PostMapping("/saveSendAddressReport")
public Result<Void> saveSendAddressReport(@RequestBody @Validated CollectLineReportSendAddressSaveParam param) {
collectLineReportService.saveSendAddressReport(param);
return Result.ok();
}
@ApiOperation(value = "上报异常", notes = "<br>By:艾庆国")
@PostMapping("/saveAbnormalReport")
public Result<Void> saveAbnormalReport(@RequestBody @Validated CollectLineReportAbnormalSaveParam param) {
collectLineReportService.saveAbnormalReport(param);
return Result.ok();
}
@Deprecated
@ApiOperation(value = "上报异常无法到达货源地", notes = "<br>By:艾庆国")
@PostMapping("/saveSendAddressAbnormalReport")
public Result<Void> saveSendAddressAbnormalReport(@RequestBody @Validated CollectLineReportSendAddressAbnormalSaveParam param) {
collectLineReportService.saveSendAddressAbnormalReport(param);
return Result.ok();
}
@Deprecated
@ApiOperation(value = "上报异常无法装货", notes = "<br>By:艾庆国")
@PostMapping("/saveLoadAbnormalReport")
public Result<Void> saveLoadAbnormalReport(@RequestBody @Validated CollectLineReportLoadAbnormalSaveParam param) {
collectLineReportService.saveLoadAbnormalReport(param);
return Result.ok();
}
@Deprecated
@ApiOperation(value = "上报异常无法到达目的地", notes = "<br>By:艾庆国")
@PostMapping("/saveReceiveAddressAbnormalReport")
public Result<Void> saveReceiveAddressAbnormalReport(@RequestBody @Validated CollectLineReportReceiveAddressAbnormalSaveParam param) {
collectLineReportService.saveReceiveAddressAbnormalReport(param);
return Result.ok();
}
@Deprecated
@ApiOperation(value = "上报装卸车异常", notes = "<br>By:艾庆国")
@PostMapping("/saveLoadUnloadAbnormalReport")
public Result<Void> saveLoadUnloadAbnormalReport(@RequestBody @Validated CollectLineReportLoadUnloadAbnormalSaveParam param) {
collectLineReportService.saveLoadUnloadAbnormalReport(param);
return Result.ok();
}
@ApiOperation(value = "上报异常没有接单原因", notes = "<br>By:艾庆国")
@PostMapping("/saveNoTakeOrderAbnormalReport")
public Result<Void> saveNoTakeOrderAbnormalReport(@RequestBody @Validated CollectLineReportNoTakeOrderAbnormalSaveParam param) {
collectLineReportService.saveNoTakeOrderAbnormalReport(param);
return Result.ok();
}
@ApiOperation(value = "上报其它情况", notes = "<br>By:艾庆国")
@PostMapping("/saveOtherReport")
public Result<Void> saveOtherReport(@RequestBody @Validated CollectLineReportOtherSaveParam param) {
collectLineReportService.saveOtherReport(param);
return Result.ok();
}
@ApiOperation(value = "上报煤炭质量", notes = "<br>By:艾庆国")
@PostMapping("/saveQualityReport")
public Result<Void> saveQualityReport(@RequestBody @Validated CollectLineReportQualitySaveParam param) {
collectLineReportService.saveQualityReport(param);
return Result.ok();
}
@ApiOperation(value = "查询线路上报详情", notes = "<br>By:艾庆国")
@GetMapping("/getReportInfo")
public Result<CollectLineReportVO> getReportInfo(Integer id) {
return Result.ok(collectLineReportService.getReportInfo(id));
}
@ApiOperation(value = "分页查询线路上报列表",notes = "<br>By:艾庆国")
@PostMapping("/pageLineReport")
@UnitCovert(param = false)
public Result<PageData<CollectLineReportVO>> pageLineReport(@RequestBody @Validated PageCollectLineReportParam param) {
IPage<CollectLineReportVO> page = collectLineReportService.pageLineReport(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
package com.clx.performance.controller.app;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.collect.CollectTrafficCongestionSaveParam;
import com.clx.performance.param.app.collect.PageCollectTraficCongestionParam;
import com.clx.performance.service.collect.CollectTrafficCongestionService;
import com.clx.performance.vo.pc.collect.CollectTrafficCongestionVO;
import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@Slf4j
@RestController
@RequestMapping(value="/app/driver/collect/traffic")
@Validated
@Api(tags = "APP-交通上报")
@AllArgsConstructor
public class AppDriverCollectTrafficCongestionController {
private final CollectTrafficCongestionService collectTrafficCongestionService;
@ApiOperation(value = "上报交通", notes = "<br>By:艾庆国")
@PostMapping("/saveTrafficReport")
public Result<Void> saveTrafficReport(@RequestBody @Validated CollectTrafficCongestionSaveParam param) {
collectTrafficCongestionService.saveTrafficReport(param);
return Result.ok();
}
@ApiOperation(value = "查询交通上报详情", notes = "<br>By:艾庆国")
@GetMapping("/getReportInfo")
public Result<CollectTrafficCongestionVO> getReportInfo(Integer id) {
return Result.ok(collectTrafficCongestionService.getReportInfo(id));
}
@ApiOperation(value = "分页查询交通上报列表",notes = "<br>By:艾庆国")
@PostMapping("/pageTrafficReport")
@UnitCovert(param = false)
public Result<PageData<CollectTrafficCongestionVO>> pageTrafficReport(@RequestBody @Validated PageCollectTraficCongestionParam param) {
IPage<CollectTrafficCongestionVO> page = collectTrafficCongestionService.pageTrafficReport(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
package com.clx.performance.controller.app;
import com.clx.performance.param.app.collect.*;
import com.clx.performance.service.collect.CollectTruckService;
import com.clx.performance.vo.app.collect.AppCollectTruckVO;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
@Slf4j
@RestController
@RequestMapping(value="/app/driver/collect/truck")
@Validated
@Api(tags = "APP-车辆上报")
@AllArgsConstructor
public class AppDriverCollectTruckController {
private final CollectTruckService collectTruckService;
@ApiOperation(value = "更新卸车方式", notes = "<br>By:艾庆国")
@PostMapping("/updateUnloadType")
public Result<Void> updateUnloadType(@RequestBody @Validated CollectTruckUnloadTypeUpdateParam param) {
collectTruckService.updateUnloadType(param);
return Result.ok();
}
@ApiOperation(value = "更新车贷情况", notes = "<br>By:艾庆国")
@PostMapping("/updateAutoLoanStatus")
public Result<Void> updateAutoLoanStatus(@RequestBody @Validated CollectAutoLoanStatusUpdateParam param) {
collectTruckService.updateAutoLoanStatus(param);
return Result.ok();
}
@ApiOperation(value = "更新车辆停放位置", notes = "<br>By:艾庆国")
@PostMapping("/updateParkAddress")
public Result<Void> updateParkAddress(@RequestBody @Validated CollectTruckReportParkAddressUpdateParam param) {
collectTruckService.updateParkAddress(param);
return Result.ok();
}
@ApiOperation(value = "更新拉运方式", notes = "<br>By:艾庆国")
@PostMapping("/updateOverTonnageType")
public Result<Void> updateOverTonnageType(@RequestBody @Validated CollectTruckReportOverTonnageTypeUpdateParam param) {
collectTruckService.updateOverTonnageType(param);
return Result.ok();
}
@ApiOperation(value = "更新接受距常驻地最远距离", notes = "<br>By:艾庆国")
@PostMapping("/updateUsualPlaceDistanceMax")
public Result<Void> updateDistanceUsualPlaceMax(@RequestBody @Validated CollectTruckReportDistanceUsualPlaceMaxUpdateParam param) {
collectTruckService.updateDistanceUsualPlaceMax(param);
return Result.ok();
}
@ApiOperation(value = "更新单次任务接受最远距离", notes = "<br>By:艾庆国")
@PostMapping("/updateLineDistanceMax")
public Result<Void> updateDistanceLineMax(@RequestBody @Validated CollectTruckReportDistanceLineMaxUpdateParam param) {
collectTruckService.updateDistanceLineMax(param);
return Result.ok();
}
@ApiOperation(value = "更新接受距货源地最远距离", notes = "<br>By:艾庆国")
@PostMapping("/updateSendAddressDistanceMax")
public Result<Void> updateDistanceSendAddressMax(@RequestBody @Validated CollectTruckReportDistanceSendAddressMaxUpdateParam param) {
collectTruckService.updateDistanceSendAddressMax(param);
return Result.ok();
}
@ApiOperation(value = "更新拉运货物意愿", notes = "<br>By:艾庆国")
@PostMapping("/updateGoodsType")
public Result<Void> updateGoodsType(@RequestBody @Validated CollectTruckReportGoodsTypeUpdateParam param) {
collectTruckService.updateGoodsType(param);
return Result.ok();
}
@ApiOperation(value = "查询车辆详情", notes = "<br>By:艾庆国")
@GetMapping("/getReportInfo")
public Result<AppCollectTruckVO> getReportInfo(@Validated @NotBlank(message = "车牌不能为空") String truckNo) {
return Result.ok(collectTruckService.getReportInfo(truckNo));
}
}
package com.clx.performance.controller.app;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.collect.CollectTruckLeaveSaveParam;
import com.clx.performance.param.app.collect.PageCollectTruckLeaveParam;
import com.clx.performance.service.collect.CollectTruckLeaveService;
import com.clx.performance.vo.pc.collect.CollectTruckLeaveVO;
import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@Slf4j
@RestController
@RequestMapping(value="/app/driver/collect/leave")
@Validated
@Api(tags = "APP-请假")
@AllArgsConstructor
public class AppDriverCollectTruckLeaveController {
private final CollectTruckLeaveService collectTruckLeaveService;
@ApiOperation(value = "新增请假", notes = "<br>By:艾庆国")
@PostMapping("/saveLeave")
public Result<Void> saveLeave(@RequestBody @Validated CollectTruckLeaveSaveParam param) {
collectTruckLeaveService.saveLeave(param);
return Result.ok();
}
@ApiOperation(value = "查询请假详情", notes = "<br>By:艾庆国")
@GetMapping("/getInfo")
public Result<CollectTruckLeaveVO> getInfo(Integer id) {
return Result.ok(collectTruckLeaveService.getInfo(id));
}
@ApiOperation(value = "分页查询请假列表",notes = "<br>By:艾庆国")
@PostMapping("/pageLeave")
@UnitCovert(param = false)
public Result<PageData<CollectTruckLeaveVO>> pageLeave(@RequestBody @Validated PageCollectTruckLeaveParam param) {
IPage<CollectTruckLeaveVO> page = collectTruckLeaveService.pageLeave(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
package com.clx.performance.controller.app;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.collect.CollectTruckLocationSaveParam;
import com.clx.performance.param.app.collect.PageCollectTruckLocationParam;
import com.clx.performance.service.collect.CollectTruckLocationService;
import com.clx.performance.vo.pc.collect.CollectTruckLocationVO;
import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@Slf4j
@RestController
@RequestMapping(value="/app/driver/collect/location")
@Validated
@Api(tags = "APP-位置上报")
@AllArgsConstructor
public class AppDriverCollectTruckLocationController {
private final CollectTruckLocationService collectTruckLocationService;
@ApiOperation(value = "上报位置", notes = "<br>By:艾庆国")
@PostMapping("/saveLocationReport")
public Result<Void> saveLocationReport(@RequestBody @Validated CollectTruckLocationSaveParam param) {
collectTruckLocationService.saveLocationReport(param);
return Result.ok();
}
@ApiOperation(value = "查询位置上报详情", notes = "<br>By:艾庆国")
@GetMapping("/getReportInfo")
public Result<CollectTruckLocationVO> getReportInfo(Integer id) {
return Result.ok(collectTruckLocationService.getReportInfo(id));
}
@ApiOperation(value = "分页查询位置上报列表",notes = "<br>By:艾庆国")
@PostMapping("/pageLocationReport")
@UnitCovert(param = false)
public Result<PageData<CollectTruckLocationVO>> pageLocationReport(@RequestBody @Validated PageCollectTruckLocationParam param) {
IPage<CollectTruckLocationVO> page = collectTruckLocationService.pageLocationReport(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
package com.clx.performance.controller.app;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.collect.CollectTruckRefuelSaveParam;
import com.clx.performance.param.app.collect.PageCollectTruckRefuelParam;
import com.clx.performance.service.collect.CollectTruckRefuelService;
import com.clx.performance.vo.pc.collect.CollectTruckRefuelVO;
import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@Slf4j
@RestController
@RequestMapping(value="/app/driver/collect/refuel")
@Validated
@Api(tags = "APP-油表上报")
@AllArgsConstructor
public class AppDriverCollectTruckRefuelController {
private final CollectTruckRefuelService collectTruckRefuelService;
@ApiOperation(value = "上报油表", notes = "<br>By:艾庆国")
@PostMapping("/saveRefuelReport")
public Result<Void> saveRefuelReport(@RequestBody @Validated CollectTruckRefuelSaveParam param) {
collectTruckRefuelService.saveRefuelReport(param);
return Result.ok();
}
@ApiOperation(value = "查询油表上报详情", notes = "<br>By:艾庆国")
@GetMapping("/getReportInfo")
public Result<CollectTruckRefuelVO> getReportInfo(Integer id) {
return Result.ok(collectTruckRefuelService.getReportInfo(id));
}
@ApiOperation(value = "分页查询油表上报列表",notes = "<br>By:艾庆国")
@PostMapping("/pageRefuelReport")
@UnitCovert(param = false)
public Result<PageData<CollectTruckRefuelVO>> pageRefuelReport(@RequestBody @Validated PageCollectTruckRefuelParam param) {
IPage<CollectTruckRefuelVO> page = collectTruckRefuelService.pageRefuelReport(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
package com.clx.performance.controller.app;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.collect.CollectWaitReportReceiveAddressSaveParam;
import com.clx.performance.param.app.collect.CollectWaitReportSendAddressSaveParam;
import com.clx.performance.param.app.collect.PageCollectTruckWaitParam;
import com.clx.performance.service.collect.CollectWaitReportService;
import com.clx.performance.vo.pc.collect.CollectTruckWaitVO;
import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@Slf4j
@RestController
@RequestMapping(value="/app/driver/collect/wait")
@Validated
@Api(tags = "APP-排队上报")
@AllArgsConstructor
public class AppDriverCollectTruckWaitController {
private final CollectWaitReportService collectWaitReportService;
@ApiOperation(value = "上报装货地排队情况", notes = "<br>By:艾庆国")
@PostMapping("/saveSendAddressReport")
public Result<Void> saveSendAddressReport(@RequestBody @Validated CollectWaitReportSendAddressSaveParam param) {
collectWaitReportService.saveSendAddressReport(param);
return Result.ok();
}
@ApiOperation(value = "上报卸车地排队情况", notes = "<br>By:艾庆国")
@PostMapping("/saveReceiveAddressReport")
public Result<Void> saveReceiveAddressReport(@RequestBody @Validated CollectWaitReportReceiveAddressSaveParam param) {
collectWaitReportService.saveReceiveAddressReport(param);
return Result.ok();
}
@ApiOperation(value = "查询线路上报详情", notes = "<br>By:艾庆国")
@GetMapping("/getReportInfo")
public Result<CollectTruckWaitVO> getReportInfo(Integer id) {
return Result.ok(collectWaitReportService.getReportInfo(id));
}
@ApiOperation(value = "分页查询排队上报列表",notes = "<br>By:艾庆国")
@PostMapping("/pageWaitReport")
@UnitCovert(param = false)
public Result<PageData<CollectTruckWaitVO>> pageWaitReport(@RequestBody @Validated PageCollectTruckWaitParam param) {
IPage<CollectTruckWaitVO> page = collectWaitReportService.pageWaitReport(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
package com.clx.performance.controller.pc.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.collect.*;
import com.clx.performance.param.pc.carrier.*;
import com.clx.performance.service.collect.CollectLineReportService;
import com.clx.performance.vo.pc.collect.CollectLineReportVO;
import com.msl.common.base.PageData;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@Slf4j
@RestController
@RequestMapping(value="/pc/carrier/driver/collect/line")
@Validated
@Api(tags = "承运PC-线路上报")
@AllArgsConstructor
public class CarrierDriverCollectLineReportController {
private final CollectLineReportService collectLineReportService;
@ApiOperation(value = "分页查询货源地上报列表",notes = "<br>By:艾庆国")
@PostMapping("/pageSendAddressReport")
public Result<PageData<CollectLineReportVO>> pageSendAddressReport(@RequestBody @Validated CarrierPageCollectSendAddressReportParam param) {
IPage<CollectLineReportVO> page = collectLineReportService.carrierPageSendAddressReport(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@ApiOperation(value = "货源地上报审核", notes = "<br>By:艾庆国")
@PostMapping("/updateSendAddressReportAudit")
public Result<Void> updateSendAddressReportAudit(@RequestBody @Validated CollectLineReportSendAddressAuditParam param) {
collectLineReportService.updateSendAddressReportAudit(param);
return Result.ok();
}
@ApiOperation(value = "分页查询异常上报列表",notes = "<br>By:艾庆国")
@PostMapping("/pageAbnormalReport")
public Result<PageData<CollectLineReportVO>> pageAbnormalReport(@RequestBody @Validated CarrierPageCollectAbnormalReportParam param) {
IPage<CollectLineReportVO> page = collectLineReportService.carrierPageAbnormalReport(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@ApiOperation(value = "异常上报审核", notes = "<br>By:艾庆国")
@PostMapping("/updateAbnormalReportAudit")
public Result<Void> updateAbnormalReportAudit(@RequestBody @Validated CollectLineReportSendAddressAuditParam param) {
collectLineReportService.updateAbnormalReportAudit(param);
return Result.ok();
}
@ApiOperation(value = "分页查询无接单上报列表",notes = "<br>By:艾庆国")
@PostMapping("/pageNoTakeOrderReport")
public Result<PageData<CollectLineReportVO>> pageNoTakeOrderReport(@RequestBody @Validated CarrierPageCollectNoTakeOrderReportParam param) {
IPage<CollectLineReportVO> page = collectLineReportService.carrierPageNoTakeOrderReport(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@ApiOperation(value = "无接单上报审核", notes = "<br>By:艾庆国")
@PostMapping("/updateNoTakeOrderReportAudit")
public Result<Void> updateNoTakeOrderReportAudit(@RequestBody @Validated CollectLineReportSendAddressAuditParam param) {
collectLineReportService.updateNoTakeOrderReportAudit(param);
return Result.ok();
}
@ApiOperation(value = "分页查询煤炭质量上报列表",notes = "<br>By:艾庆国")
@PostMapping("/pageQualityReport")
public Result<PageData<CollectLineReportVO>> pageQualityReport(@RequestBody @Validated CarrierPageCollectQualityReportParam param) {
IPage<CollectLineReportVO> page = collectLineReportService.carrierPageQualityReport(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@ApiOperation(value = "煤炭质量上报审核", notes = "<br>By:艾庆国")
@PostMapping("/updateQualityReportAudit")
public Result<Void> updateQualityReportAudit(@RequestBody @Validated CollectLineReportSendAddressAuditParam param) {
collectLineReportService.updateQualityReportAudit(param);
return Result.ok();
}
@ApiOperation(value = "分页查询其它上报列表",notes = "<br>By:艾庆国")
@PostMapping("/pageOtherReport")
public Result<PageData<CollectLineReportVO>> pageOtherReport(@RequestBody @Validated CarrierPageCollectOtherReportParam param) {
IPage<CollectLineReportVO> page = collectLineReportService.carrierPageOtherReport(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
package com.clx.performance.controller.pc.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.collect.CollectTrafficCongestionAuditParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTraficCongestionParam;
import com.clx.performance.service.collect.CollectTrafficCongestionService;
import com.clx.performance.vo.pc.collect.CollectTrafficCongestionVO;
import com.msl.common.base.PageData;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@Slf4j
@RestController
@RequestMapping(value="/pc/carrier/driver/collect/traffic")
@Validated
@Api(tags = "承运PC-交通上报")
@AllArgsConstructor
public class CarrierDriverCollectTrafficCongestionController {
private final CollectTrafficCongestionService collectTrafficCongestionService;
@ApiOperation(value = "交通上报审核", notes = "<br>By:艾庆国")
@PostMapping("/updateTrafficCongestionAudit")
public Result<Void> updateTrafficCongestionAudit(@RequestBody @Validated CollectTrafficCongestionAuditParam param) {
collectTrafficCongestionService.updateTrafficCongestionAudit(param);
return Result.ok();
}
@ApiOperation(value = "分页查询交通上报列表",notes = "<br>By:艾庆国")
@PostMapping("/pageTrafficReport")
public Result<PageData<CollectTrafficCongestionVO>> pageTrafficReport(@RequestBody @Validated CarrierPageCollectTraficCongestionParam param) {
IPage<CollectTrafficCongestionVO> page = collectTrafficCongestionService.carrierPageTrafficReport(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
package com.clx.performance.controller.pc.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckLeaveParam;
import com.clx.performance.service.collect.CollectTruckLeaveService;
import com.clx.performance.vo.pc.collect.CollectTruckLeaveVO;
import com.msl.common.base.PageData;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@Slf4j
@RestController
@RequestMapping(value="/pc/carrier/driver/collect/leave")
@Validated
@Api(tags = "承运PC-请假")
@AllArgsConstructor
public class CarrierDriverCollectTruckLeaveController {
private final CollectTruckLeaveService collectTruckLeaveService;
@ApiOperation(value = "分页查询请假列表",notes = "<br>By:艾庆国")
@PostMapping("/pageLeave")
public Result<PageData<CollectTruckLeaveVO>> pageLeave(@RequestBody @Validated CarrierPageCollectTruckLeaveParam param) {
IPage<CollectTruckLeaveVO> page = collectTruckLeaveService.carrierPageLeave(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
package com.clx.performance.controller.pc.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckLocationParam;
import com.clx.performance.service.collect.CollectTruckLocationService;
import com.clx.performance.vo.pc.collect.CollectTruckLocationVO;
import com.msl.common.base.PageData;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@Slf4j
@RestController
@RequestMapping(value="/pc/carrier/driver/collect/location")
@Validated
@Api(tags = "承运PC-位置上报")
@AllArgsConstructor
public class CarrierDriverCollectTruckLocationController {
private final CollectTruckLocationService collectTruckLocationService;
@ApiOperation(value = "分页查询司机位置上报列表",notes = "<br>By:艾庆国")
@PostMapping("/pageLocationReport")
public Result<PageData<CollectTruckLocationVO>> pageLocationReport(@RequestBody @Validated CarrierPageCollectTruckLocationParam param) {
IPage<CollectTruckLocationVO> page = collectTruckLocationService.carrierPageLocationReport(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
package com.clx.performance.controller.pc.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckRefuelParam;
import com.clx.performance.service.collect.CollectTruckRefuelService;
import com.clx.performance.vo.pc.collect.CollectTruckRefuelVO;
import com.msl.common.base.PageData;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@Slf4j
@RestController
@RequestMapping(value="/pc/carrier/driver/collect/refuel")
@Validated
@Api(tags = "承运PC-油表上报")
@AllArgsConstructor
public class CarrierDriverCollectTruckRefuelController {
private final CollectTruckRefuelService collectTruckRefuelService;
@ApiOperation(value = "分页查询油表上报列表",notes = "<br>By:艾庆国")
@PostMapping("/pageRefuelReport")
public Result<PageData<CollectTruckRefuelVO>> pageRefuelReport(@RequestBody @Validated CarrierPageCollectTruckRefuelParam param) {
IPage<CollectTruckRefuelVO> page = collectTruckRefuelService.carrierPageRefuelReport(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
package com.clx.performance.controller.pc.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.collect.*;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckWaitParam;
import com.clx.performance.service.collect.CollectWaitReportService;
import com.clx.performance.vo.pc.collect.CollectTruckWaitVO;
import com.msl.common.base.PageData;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@Slf4j
@RestController
@RequestMapping(value="/pc/carrier/driver/collect/wait")
@Validated
@Api(tags = "承运PC-排队上报")
@AllArgsConstructor
public class CarrierDriverCollectTruckWaitController {
private final CollectWaitReportService collectWaitReportService;
@ApiOperation(value = "排队上报审核", notes = "<br>By:艾庆国")
@PostMapping("/updateWaitReportAudit")
public Result<Void> updateWaitReportAudit(@RequestBody @Validated CollectLineReportTruckWaitAuditParam param) {
collectWaitReportService.updateWaitReportAudit(param);
return Result.ok();
}
@ApiOperation(value = "分页查询排队上报列表",notes = "<br>By:艾庆国")
@PostMapping("/pageWaitReport")
public Result<PageData<CollectTruckWaitVO>> pageWaitReport(@RequestBody @Validated CarrierPageCollectTruckWaitParam param) {
IPage<CollectTruckWaitVO> page = collectWaitReportService.carrierPageWaitReport(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
package com.clx.performance.controller.pc.integral;
import com.clx.performance.param.pc.integral.IntegralRuleUpdateParam;
import com.clx.performance.service.integral.IntegralRuleService;
import com.clx.performance.vo.pc.integral.AppIntegralRuleVO;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@Slf4j
@RestController
@RequestMapping(value="/pc/carrier/integral/rule")
@Validated
@Api(tags = "承运端-积分规则")
@AllArgsConstructor
public class IntegralRuleController {
@Autowired
private IntegralRuleService integralRuleService;
@ApiOperation(value = "更新积分规则", notes = "<br>By:艾庆国")
@PostMapping("/updateRule")
@UnitCovert
public Result<Void> updateRule(@RequestBody @Validated IntegralRuleUpdateParam param) {
integralRuleService.updateRule(param);
return Result.ok();
}
@ApiOperation(value = "查询积分规则信息", notes = "<br>By:艾庆国")
@GetMapping(value = "getRuleInfo")
@UnitCovert(param = false)
public Result<AppIntegralRuleVO> getRuleInfo() {
return Result.ok(integralRuleService.getRuleInfo());
}
}
package com.clx.performance.controller.pc.integral;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.param.pc.integral.*;
import com.clx.performance.service.integral.IntegralTruckRuleService;
import com.clx.performance.vo.pc.integral.AppIntegralTruckRuleVO;
import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.exception.ServiceSystemException;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotNull;
@Slf4j
@RestController
@RequestMapping(value="/pc/carrier/integral/truck/rule")
@Validated
@Api(tags = "承运端-车辆规则")
@AllArgsConstructor
public class IntegralTruckRuleController {
@Autowired
private IntegralTruckRuleService integralTruckRuleService;
@ApiOperation(value = "新增车辆层级配置", notes = "<br>By:艾庆国")
@PostMapping(value = "addRule")
@UnitCovert
public Result<Void> addRule(@RequestBody @Validated IntegralTruckRuleSaveParam param) {
if (param.getIntegralRatioBegin() == null && param.getIntegralRatioEnd()==null){
throw new ServiceSystemException(PerformanceResultEnum.INTEGRAL_RULE_RATIO_ALL_EMPTY);
}
integralTruckRuleService.addRule(param);
return Result.ok();
}
@ApiOperation(value = "更新车辆层级配置", notes = "<br>By:艾庆国")
@PostMapping("/updateRule")
@UnitCovert
public Result<Void> updateRule(@RequestBody @Validated IntegralTruckRuleUpdateParam param) {
integralTruckRuleService.updateRule(param);
return Result.ok();
}
@ApiOperation(value = "更新车辆层级配置状态", notes = "<br>By:艾庆国")
@PostMapping("/updateRuleStatus")
public Result<Void> updateRuleStatus(@RequestBody @Validated IntegralTruckRuleStatusUpdateParam param) {
integralTruckRuleService.updateRuleStatus(param);
return Result.ok();
}
@ApiOperation(value = "删除车辆层级配置", notes = "<br>By:艾庆国")
@PostMapping("/deleteRule")
public Result<Void> deleteRule(@RequestBody @Validated IntegralTruckRuleStatusDeleteParam param) {
integralTruckRuleService.deleteRule(param);
return Result.ok();
}
@ApiOperation(value = "查询车辆层级配置信息", notes = "<br>By:艾庆国")
@GetMapping(value = "getRuleInfo")
@UnitCovert(param = false)
public Result<AppIntegralTruckRuleVO> getRuleInfo(@Validated @NotNull(message = "id不能为空") Integer id) {
return Result.ok(integralTruckRuleService.getRuleInfo(id));
}
@ApiOperation(value = "分页查询车辆层级配置列表",notes = "<br>By:艾庆国")
@PostMapping("/pageRule")
@UnitCovert(param = false)
public Result<PageData<AppIntegralTruckRuleVO>> pageRule(@RequestBody @Validated PageIntegralTruckRuleParam param) {
IPage<AppIntegralTruckRuleVO> page = integralTruckRuleService.pageRule(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
......@@ -8,6 +8,8 @@ import com.clx.performance.vo.pc.IntegralRecordVO;
import com.msl.common.dao.BaseDao;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @Author: aiqinguo
* @Description: 积分记录
......@@ -21,10 +23,15 @@ public interface IntegralRecordDao extends BaseDao<IntegraRecordMapper, Integral
Integer sumIntegral(@Param("statisticsId") Integer statisticsId);
IntegralRecord selectByStatisticsIdAndType(@Param("statisticsId") Integer statisticsId, @Param("type") Integer type);
int sumByStatisticsIdAndTypes(@Param("statisticsId") Integer statisticsId, @Param("list") List<Integer> typeList);
Integer sumByStatisticsIdAndTypeAndTime(@Param("statisticsId") Integer statisticsId,
@Param("type") Integer type,
@Param("beginTime")String beginTime,
@Param("endTime")String endTime);
Integer countByStatisticsIdAndTypeAndTime(@Param("statisticsId") Integer statisticsId,
@Param("type") Integer type,
@Param("beginTime")String beginTime,
@Param("endTime")String endTime);
}
package com.clx.performance.dao.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.collect.CollectLineReportMapper;
import com.clx.performance.model.collect.CollectLineReport;
import com.clx.performance.param.app.collect.PageCollectLineReportParam;
import com.clx.performance.param.pc.carrier.*;
import com.clx.performance.vo.pc.collect.CollectLineReportVO;
import com.msl.common.dao.BaseDao;
/**
* @Author: aiqinguo
* @Description: 线路信息上报
* @Date: 2023/09/18 11:34:50
* @Version: 1.0
*/
public interface CollectLineReportDao extends BaseDao<CollectLineReportMapper, CollectLineReport, Integer> {
boolean updateAuditStatus(CollectLineReport item);
IPage<CollectLineReportVO> pageLineReport(PageCollectLineReportParam param);
IPage<CollectLineReportVO> carrierPageSendAddressReport(CarrierPageCollectSendAddressReportParam param);
IPage<CollectLineReportVO> carrierPageAbnormalReport(CarrierPageCollectAbnormalReportParam param);
IPage<CollectLineReportVO> carrierPageNoTakeOrderReport(CarrierPageCollectNoTakeOrderReportParam param);
IPage<CollectLineReportVO> carrierPageQualityReport(CarrierPageCollectQualityReportParam param);
IPage<CollectLineReportVO> carrierPageOtherReport(CarrierPageCollectOtherReportParam param);
}
package com.clx.performance.dao.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.collect.CollectTrafficCongestionMapper;
import com.clx.performance.model.collect.CollectTrafficCongestion;
import com.clx.performance.param.app.collect.PageCollectTraficCongestionParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTraficCongestionParam;
import com.clx.performance.vo.pc.collect.CollectTrafficCongestionVO;
import com.msl.common.dao.BaseDao;
/**
* @Author: aiqinguo
* @Description: 道路拥堵情况
* @Date: 2023/09/18 11:34:50
* @Version: 1.0
*/
public interface CollectTrafficCongestionDao extends BaseDao<CollectTrafficCongestionMapper, CollectTrafficCongestion, Integer> {
boolean updateAuditStatus(CollectTrafficCongestion item);
IPage<CollectTrafficCongestionVO> pageTraffic(PageCollectTraficCongestionParam param);
IPage<CollectTrafficCongestionVO> carrierPageTraffic(CarrierPageCollectTraficCongestionParam param);
}
package com.clx.performance.dao.collect;
import com.clx.performance.mapper.collect.CollectTruckMapper;
import com.clx.performance.model.collect.CollectTruck;
import com.msl.common.base.Optional;
import com.msl.common.dao.BaseDao;
/**
* @Author: aiqinguo
* @Description: 线路排队耗时
* @Date: 2023/09/18 11:34:50
* @Version: 1.0
*/
public interface CollectTruckDao extends BaseDao<CollectTruckMapper, CollectTruck, Integer> {
boolean update(CollectTruck item);
Optional<CollectTruck> getByUserNoAndTruckNo(Long userNo, String truckNo);
}
package com.clx.performance.dao.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.collect.CollectTruckLeaveMapper;
import com.clx.performance.model.collect.CollectTruckLeave;
import com.clx.performance.param.app.collect.PageCollectTruckLeaveParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckLeaveParam;
import com.clx.performance.vo.pc.collect.CollectTruckLeaveVO;
import com.msl.common.dao.BaseDao;
/**
* @Author: aiqinguo
* @Description: 司机请假表
* @Date: 2023/09/18 11:34:50
* @Version: 1.0
*/
public interface CollectTruckLeaveDao extends BaseDao<CollectTruckLeaveMapper, CollectTruckLeave, Integer> {
IPage<CollectTruckLeaveVO> pageLeave(PageCollectTruckLeaveParam param);
IPage<CollectTruckLeaveVO> carrierPageLeave(CarrierPageCollectTruckLeaveParam param);
}
package com.clx.performance.dao.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.collect.CollectTruckLocationMapper;
import com.clx.performance.model.collect.CollectTruckLocation;
import com.clx.performance.param.app.collect.PageCollectTruckLocationParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckLocationParam;
import com.clx.performance.vo.pc.collect.CollectTruckLocationVO;
import com.msl.common.dao.BaseDao;
/**
* @Author: aiqinguo
* @Description: 车辆位置上报
* @Date: 2023/09/18 11:34:50
* @Version: 1.0
*/
public interface CollectTruckLocationDao extends BaseDao<CollectTruckLocationMapper, CollectTruckLocation, Integer> {
IPage<CollectTruckLocationVO> pageLocation(PageCollectTruckLocationParam param);
IPage<CollectTruckLocationVO> carrierPageLocation(CarrierPageCollectTruckLocationParam param);
}
package com.clx.performance.dao.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.collect.CollectTruckRefuelMapper;
import com.clx.performance.model.collect.CollectTruckRefuel;
import com.clx.performance.param.app.collect.PageCollectTruckRefuelParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckRefuelParam;
import com.clx.performance.vo.pc.collect.CollectTruckRefuelVO;
import com.msl.common.dao.BaseDao;
/**
* @Author: aiqinguo
* @Description: 油表上报信息
* @Date: 2023/09/18 11:34:50
* @Version: 1.0
*/
public interface CollectTruckRefuelDao extends BaseDao<CollectTruckRefuelMapper, CollectTruckRefuel, Integer> {
IPage<CollectTruckRefuelVO> pageRefuel(PageCollectTruckRefuelParam param);
IPage<CollectTruckRefuelVO> carrierPageRefuel(CarrierPageCollectTruckRefuelParam param);
}
package com.clx.performance.dao.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.collect.CollectTruckWaitMapper;
import com.clx.performance.model.collect.CollectTruckWait;
import com.clx.performance.param.app.collect.PageCollectTruckWaitParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckWaitParam;
import com.clx.performance.vo.pc.collect.CollectTruckWaitVO;
import com.msl.common.dao.BaseDao;
/**
* @Author: aiqinguo
* @Description: 线路排队耗时
* @Date: 2023/09/18 11:34:50
* @Version: 1.0
*/
public interface CollectTruckWaitDao extends BaseDao<CollectTruckWaitMapper, CollectTruckWait, Integer> {
boolean updateAuditStatus(CollectTruckWait item);
IPage<CollectTruckWaitVO> pageWaitReport(PageCollectTruckWaitParam param);
IPage<CollectTruckWaitVO> carrierPageWaitReport(CarrierPageCollectTruckWaitParam param);
}
......@@ -11,6 +11,8 @@ import com.msl.common.base.Optional;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @Author: aiqinguo
......@@ -37,7 +39,14 @@ public class IntegralRecordDaoImpl extends BaseDaoImpl<IntegraRecordMapper, Inte
public IntegralRecord selectByStatisticsIdAndType(Integer statisticsId, Integer type) {
return getOne(lQrWrapper()
.eq(IntegralRecord::getStatisticsId, statisticsId)
.eq(IntegralRecord::getType, type));
.eq(IntegralRecord::getType, type)
.orderByDesc(IntegralRecord::getCreateTime)
);
}
@Override
public int sumByStatisticsIdAndTypes(Integer statisticsId, List<Integer> typeList) {
return baseMapper.sumByStatisticsIdAndTypes(statisticsId, typeList);
}
@Override
......@@ -45,4 +54,10 @@ public class IntegralRecordDaoImpl extends BaseDaoImpl<IntegraRecordMapper, Inte
return baseMapper.sumByStatisticsIdAndTypeAndTime(statisticsId, type, beginTime, endTime);
}
@Override
public Integer countByStatisticsIdAndTypeAndTime(Integer statisticsId, Integer type, String beginTime, String endTime) {
return baseMapper.countByStatisticsIdAndTypeAndTime(statisticsId, type, beginTime, endTime);
}
}
package com.clx.performance.dao.impl.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.collect.CollectLineReportDao;
import com.clx.performance.mapper.collect.CollectLineReportMapper;
import com.clx.performance.model.collect.CollectLineReport;
import com.clx.performance.param.app.collect.PageCollectLineReportParam;
import com.clx.performance.param.pc.carrier.*;
import com.clx.performance.vo.pc.collect.CollectLineReportVO;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
/**
* @Author: aiqinguo
* @Description: 线路信息上报
* @Date: 2023/09/18 11:34:50
* @Version: 1.0
*/
@Repository
public class CollectLineReportDaoImpl extends BaseDaoImpl<CollectLineReportMapper, CollectLineReport, Integer> implements CollectLineReportDao {
@Override
public boolean updateAuditStatus(CollectLineReport item) {
return update(lUdWrapper()
.eq(CollectLineReport::getId, item.getId())
.set(CollectLineReport::getAuditStatus, item.getAuditStatus())
);
}
@Override
public IPage<CollectLineReportVO> pageLineReport(PageCollectLineReportParam param) {
Page<CollectLineReportVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.pageLineReport(page,param);
}
@Override
public IPage<CollectLineReportVO> carrierPageSendAddressReport(CarrierPageCollectSendAddressReportParam param) {
Page<CollectLineReportVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.carrierPageSendAddressReport(page,param);
}
@Override
public IPage<CollectLineReportVO> carrierPageAbnormalReport(CarrierPageCollectAbnormalReportParam param) {
Page<CollectLineReportVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.carrierPageAbnormalReport(page,param);
}
@Override
public IPage<CollectLineReportVO> carrierPageNoTakeOrderReport(CarrierPageCollectNoTakeOrderReportParam param) {
Page<CollectLineReportVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.carrierPageNoTakeOrderReport(page,param);
}
@Override
public IPage<CollectLineReportVO> carrierPageQualityReport(CarrierPageCollectQualityReportParam param) {
Page<CollectLineReportVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.carrierPageQualityReport(page,param);
}
@Override
public IPage<CollectLineReportVO> carrierPageOtherReport(CarrierPageCollectOtherReportParam param) {
Page<CollectLineReportVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.carrierPageOtherReport(page,param);
}
}
package com.clx.performance.dao.impl.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.collect.CollectTrafficCongestionDao;
import com.clx.performance.mapper.collect.CollectTrafficCongestionMapper;
import com.clx.performance.model.collect.CollectTrafficCongestion;
import com.clx.performance.param.app.collect.PageCollectTraficCongestionParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTraficCongestionParam;
import com.clx.performance.vo.pc.collect.CollectTrafficCongestionVO;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
/**
* @Author: aiqinguo
* @Description: 道路拥堵情况
* @Date: 2023/09/18 11:34:50
* @Version: 1.0
*/
@Repository
public class CollectTrafficCongestionDaoImpl extends BaseDaoImpl<CollectTrafficCongestionMapper, CollectTrafficCongestion, Integer> implements CollectTrafficCongestionDao {
@Override
public boolean updateAuditStatus(CollectTrafficCongestion item) {
return update(lUdWrapper()
.eq(CollectTrafficCongestion::getId, item.getId())
.set(CollectTrafficCongestion::getAuditStatus, item.getAuditStatus())
);
}
@Override
public IPage<CollectTrafficCongestionVO> pageTraffic(PageCollectTraficCongestionParam param) {
Page<CollectTrafficCongestionVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.pageTraffic(page,param);
}
@Override
public IPage<CollectTrafficCongestionVO> carrierPageTraffic(CarrierPageCollectTraficCongestionParam param) {
Page<CollectTrafficCongestionVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.carrierPageTraffic(page,param);
}
}
package com.clx.performance.dao.impl.collect;
import com.clx.performance.dao.collect.CollectTruckDao;
import com.clx.performance.mapper.collect.CollectTruckMapper;
import com.clx.performance.model.collect.CollectTruck;
import com.msl.common.base.Optional;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
/**
* @Author: aiqinguo
* @Description: 车辆信息上报
* @Date: 2023/09/18 11:34:50
* @Version: 1.0
*/
@Repository
public class CollectTruckDaoImpl extends BaseDaoImpl<CollectTruckMapper, CollectTruck, Integer> implements CollectTruckDao {
@Override
public boolean update(CollectTruck item) {
return update(lUdWrapper()
.eq(CollectTruck::getId, item.getId())
.set(CollectTruck::getUnloadType, item.getUnloadType())
.set(CollectTruck::getAutoLoanStatus, item.getAutoLoanStatus())
.set(CollectTruck::getAutoLoanMonth, item.getAutoLoanMonth())
.set(CollectTruck::getParkAddress, item.getParkAddress())
.set(CollectTruck::getOverTonnageType, item.getOverTonnageType())
.set(CollectTruck::getDistanceUsualPlaceMax, item.getDistanceUsualPlaceMax())
.set(CollectTruck::getDistanceLineMax, item.getDistanceLineMax())
.set(CollectTruck::getDistanceSendAddressMax, item.getDistanceSendAddressMax())
.set(CollectTruck::getGoodsType, item.getGoodsType())
);
}
@Override
public Optional<CollectTruck> getByUserNoAndTruckNo(Long userNo, String truckNo) {
return Optional.of(truckNo)
.map(item -> lQrWrapper()
.eq(CollectTruck::getTruckNo, truckNo)
.eq(CollectTruck::getUserNo, userNo)
)
.map(super::getOne);
}
}
package com.clx.performance.dao.impl.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.collect.CollectTruckLeaveDao;
import com.clx.performance.mapper.collect.CollectTruckLeaveMapper;
import com.clx.performance.model.collect.CollectTruckLeave;
import com.clx.performance.param.app.collect.PageCollectTruckLeaveParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckLeaveParam;
import com.clx.performance.vo.pc.collect.CollectTruckLeaveVO;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
/**
* @Author: aiqinguo
* @Description: 司机请假表
* @Date: 2023/09/18 11:34:50
* @Version: 1.0
*/
@Repository
public class CollectTruckLeaveDaoImpl extends BaseDaoImpl<CollectTruckLeaveMapper, CollectTruckLeave, Integer> implements CollectTruckLeaveDao {
@Override
public IPage<CollectTruckLeaveVO> pageLeave(PageCollectTruckLeaveParam param) {
Page<CollectTruckLeaveVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.pageLeave(page,param);
}
@Override
public IPage<CollectTruckLeaveVO> carrierPageLeave(CarrierPageCollectTruckLeaveParam param) {
Page<CollectTruckLeaveVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.carrierPageLeave(page,param);
}
}
package com.clx.performance.dao.impl.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.collect.CollectTruckLocationDao;
import com.clx.performance.mapper.collect.CollectTruckLocationMapper;
import com.clx.performance.model.collect.CollectTruckLocation;
import com.clx.performance.param.app.collect.PageCollectTruckLocationParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckLocationParam;
import com.clx.performance.vo.pc.collect.CollectTruckLocationVO;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
/**
* @Author: aiqinguo
* @Description: 车辆位置上报
* @Date: 2023/09/18 11:34:50
* @Version: 1.0
*/
@Repository
public class CollectTruckLocationDaoImpl extends BaseDaoImpl<CollectTruckLocationMapper, CollectTruckLocation, Integer> implements CollectTruckLocationDao {
@Override
public IPage<CollectTruckLocationVO> pageLocation(PageCollectTruckLocationParam param) {
Page<CollectTruckLocationVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.pageLocation(page,param);
}
@Override
public IPage<CollectTruckLocationVO> carrierPageLocation(CarrierPageCollectTruckLocationParam param) {
Page<CollectTruckLocationVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.carrierPageLocation(page,param);
}
}
package com.clx.performance.dao.impl.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.collect.CollectTruckRefuelDao;
import com.clx.performance.mapper.collect.CollectTruckRefuelMapper;
import com.clx.performance.model.collect.CollectTruckRefuel;
import com.clx.performance.param.app.collect.PageCollectTruckRefuelParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckRefuelParam;
import com.clx.performance.vo.pc.collect.CollectTruckRefuelVO;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
/**
* @Author: aiqinguo
* @Description: 油表上报信息
* @Date: 2023/09/18 11:34:50
* @Version: 1.0
*/
@Repository
public class CollectTruckRefuelDaoImpl extends BaseDaoImpl<CollectTruckRefuelMapper, CollectTruckRefuel, Integer> implements CollectTruckRefuelDao {
@Override
public IPage<CollectTruckRefuelVO> pageRefuel(PageCollectTruckRefuelParam param) {
Page<CollectTruckRefuelVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.pageRefuel(page,param);
}
@Override
public IPage<CollectTruckRefuelVO> carrierPageRefuel(CarrierPageCollectTruckRefuelParam param) {
Page<CollectTruckRefuelVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.carrierPageRefuel(page,param);
}
}
package com.clx.performance.dao.impl.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.collect.CollectTruckWaitDao;
import com.clx.performance.mapper.collect.CollectTruckWaitMapper;
import com.clx.performance.model.collect.CollectTruckWait;
import com.clx.performance.param.app.collect.PageCollectTruckWaitParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckWaitParam;
import com.clx.performance.vo.pc.collect.CollectTruckWaitVO;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
/**
* @Author: aiqinguo
* @Description: 线路排队耗时
* @Date: 2023/09/18 11:34:50
* @Version: 1.0
*/
@Repository
public class CollectTruckWaitDaoImpl extends BaseDaoImpl<CollectTruckWaitMapper, CollectTruckWait, Integer> implements CollectTruckWaitDao {
@Override
public boolean updateAuditStatus(CollectTruckWait item) {
return update(lUdWrapper()
.eq(CollectTruckWait::getId, item.getId())
.set(CollectTruckWait::getAuditStatus, item.getAuditStatus())
);
}
@Override
public IPage<CollectTruckWaitVO> pageWaitReport(PageCollectTruckWaitParam param) {
Page<CollectTruckWaitVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.pageWaitReport(page,param);
}
@Override
public IPage<CollectTruckWaitVO> carrierPageWaitReport(CarrierPageCollectTruckWaitParam param) {
Page<CollectTruckWaitVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.carrierPageWaitReport(page,param);
}
}
package com.clx.performance.dao.impl.integral;
import com.clx.performance.dao.integral.IntegralRuleDao;
import com.clx.performance.mapper.integral.IntegralRuleMapper;
import com.clx.performance.model.integral.IntegralRule;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
/**
* @Author: aiqinguo
* @Description: 积分规则
* @Date: 2023-10-9 12:00:54
* @Version: 1.0
*/
@Repository
public class IntegralRuleDaoImpl extends BaseDaoImpl<IntegralRuleMapper, IntegralRule, Integer> implements IntegralRuleDao {
@Override
public boolean update(IntegralRule item) {
return update(lUdWrapper()
.eq(IntegralRule::getId, item.getId())
.set(IntegralRule::getOrderChildCompleteRuleJson, item.getOrderChildCompleteRuleJson())
.set(IntegralRule::getOrderAwardRuleJson, item.getOrderAwardRuleJson())
.set(IntegralRule::getOrderDiscountRuleJson, item.getOrderDiscountRuleJson())
.set(IntegralRule::getOrderChildTimeoutRuleJson, item.getOrderChildTimeoutRuleJson())
.set(IntegralRule::getPlatformCompensationRuleJson, item.getPlatformCompensationRuleJson())
.set(IntegralRule::getDriverReportRuleJson, item.getDriverReportRuleJson())
);
}
}
package com.clx.performance.dao.impl.integral;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.integral.IntegralTruckRuleDao;
import com.clx.performance.mapper.integral.IntegralTruckRuleMapper;
import com.clx.performance.model.integral.IntegralTruckRule;
import com.clx.performance.param.pc.integral.PageIntegralTruckRuleParam;
import com.clx.performance.vo.pc.integral.AppIntegralTruckRuleVO;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @Author: aiqinguo
* @Description: 积分车辆规则
* @Date: 2023-10-9 12:00:54
* @Version: 1.0
*/
@Repository
public class IntegralTruckRuleDaoImpl extends BaseDaoImpl<IntegralTruckRuleMapper, IntegralTruckRule, Integer> implements IntegralTruckRuleDao {
@Override
public boolean update(IntegralTruckRule item) {
return update(lUdWrapper()
.eq(IntegralTruckRule::getId, item.getId())
.set(IntegralTruckRule::getStatus, item.getStatus())
.set(IntegralTruckRule::getName, item.getName())
.set(IntegralTruckRule::getIntegralRatioBegin, item.getIntegralRatioBegin())
.set(IntegralTruckRule::getIntegralRatioEnd, item.getIntegralRatioEnd())
.set(IntegralTruckRule::getIncomeBegin, item.getIncomeBegin())
.set(IntegralTruckRule::getIncomeEnd, item.getIncomeEnd())
);
}
@Override
public boolean updateStatus(IntegralTruckRule item) {
return update(lUdWrapper()
.eq(IntegralTruckRule::getId, item.getId())
.set(IntegralTruckRule::getStatus, item.getStatus())
);
}
@Override
public List<IntegralTruckRule> listAllRule() {
return list(lQrWrapper().orderByAsc(IntegralTruckRule::getIntegralRatioBegin));
}
@Override
public IPage<AppIntegralTruckRuleVO> pageRule(PageIntegralTruckRuleParam param) {
Page<AppIntegralTruckRuleVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.pageRule(page,param);
}
}
package com.clx.performance.dao.integral;
import com.clx.performance.mapper.integral.IntegralRuleMapper;
import com.clx.performance.model.integral.IntegralRule;
import com.msl.common.dao.BaseDao;
/**
* @Author: aiqinguo
* @Description: 积分规则
* @Date: 2023-10-9 11:55:36
* @Version: 1.0
*/
public interface IntegralRuleDao extends BaseDao<IntegralRuleMapper, IntegralRule, Integer> {
boolean update(IntegralRule item);
}
package com.clx.performance.dao.integral;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.integral.IntegralTruckRuleMapper;
import com.clx.performance.model.integral.IntegralTruckRule;
import com.clx.performance.param.pc.integral.PageIntegralTruckRuleParam;
import com.clx.performance.vo.pc.integral.AppIntegralTruckRuleVO;
import com.msl.common.dao.BaseDao;
import java.util.List;
/**
* @Author: aiqinguo
* @Description: 积分车辆规则
* @Date: 2023-10-9 11:55:36
* @Version: 1.0
*/
public interface IntegralTruckRuleDao extends BaseDao<IntegralTruckRuleMapper, IntegralTruckRule, Integer> {
boolean update(IntegralTruckRule item);
boolean updateStatus(IntegralTruckRule item);
List<IntegralTruckRule> listAllRule();
IPage<AppIntegralTruckRuleVO> pageRule(PageIntegralTruckRuleParam param);
}
package com.clx.performance.listener.child;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.clx.performance.common.MqWrapper;
import com.clx.performance.constant.RabbitKeyOrderChildConstants;
import com.clx.performance.service.OrderChildMqHandlerService;
import com.clx.performance.vo.mq.OrderChildLoadMqParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @Author: 艾庆国
* @Description: 运单取消 mq
* @Date: 2023-10-20 17:39:27
* @Version: 1.0
*/
@Slf4j
@Component
public class OrderChildLoadListener {
@Autowired
private OrderChildMqHandlerService orderChildMqHandlerService;
@RabbitListener(queues = RabbitKeyOrderChildConstants.ORDER_CHILD_LOAD_QUEUE)
public void process(Message message) {
try{
log.info("运单-装车, message:{}", new String(message.getBody()));
process(JSON.parseObject(new String(message.getBody()), new TypeReference<MqWrapper<OrderChildLoadMqParam>>(){}).getData());
}catch (Exception e){
log.info("运单-装车 失败",e);
}
}
private void process(OrderChildLoadMqParam mq){
orderChildMqHandlerService.orderChildLoad(mq);
}
}
package com.clx.performance.listener.child;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.clx.performance.common.MqWrapper;
import com.clx.performance.constant.RabbitKeyOrderChildConstants;
import com.clx.performance.service.OrderChildMqHandlerService;
import com.clx.performance.vo.mq.OrderChildUnloadMqParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @Author: 艾庆国
* @Description: 运单取消 mq
* @Date: 2023-10-20 17:39:27
* @Version: 1.0
*/
@Slf4j
@Component
public class OrderChildUnloadListener {
@Autowired
private OrderChildMqHandlerService orderChildMqHandlerService;
@RabbitListener(queues = RabbitKeyOrderChildConstants.ORDER_CHILD_UNLOAD_QUEUE)
public void process(Message message) {
try{
log.info("运单-卸车, message:{}", new String(message.getBody()));
process(JSON.parseObject(new String(message.getBody()), new TypeReference<MqWrapper<OrderChildUnloadMqParam>>(){}).getData());
}catch (Exception e){
log.info("运单-卸车 失败",e);
}
}
private void process(OrderChildUnloadMqParam mq){
orderChildMqHandlerService.orderChildUnload(mq);
}
}
......@@ -6,13 +6,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.model.IntegralRecord;
import com.clx.performance.param.pc.pageIntegralStatisticsDetailParam;
import com.clx.performance.sqlProvider.IntegralRecordSqlProvider;
import com.clx.performance.sqlProvider.IntegralTruckSqlProvider;
import com.clx.performance.vo.pc.IntegralRecordVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.SelectProvider;
import java.util.List;
/**
* @Author: aiqinguo
* @Description: 积分记录
......@@ -35,4 +36,16 @@ public interface IntegraRecordMapper extends BaseMapper<IntegralRecord> {
@Param("beginTime")String beginTime,
@Param("endTime")String endTime);
@Select("<script>select sum(integral) from integral_record where " +
" type in <foreach collection='list' item='item' open='(' separator=',' close=')'>#{item}</foreach> " +
" and statistics_id = #{statisticsId}" +
"</script>")
int sumByStatisticsIdAndTypes(@Param("statisticsId") Integer statisticsId, @Param("list") List<Integer> typeList);
@Select("select count(1) from integral_record where statistics_id = #{statisticsId} and type = #{type} and create_time >= #{beginTime} and create_time < #{endTime}")
Integer countByStatisticsIdAndTypeAndTime(@Param("statisticsId") Integer statisticsId,
@Param("type") Integer type,
@Param("beginTime")String beginTime,
@Param("endTime")String endTime);
}
\ No newline at end of file
package com.clx.performance.mapper.collect;
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.collect.CollectLineReport;
import com.clx.performance.param.app.collect.PageCollectLineReportParam;
import com.clx.performance.param.pc.carrier.*;
import com.clx.performance.sqlProvider.collect.CollectLineReportSqlProvider;
import com.clx.performance.vo.pc.collect.CollectLineReportVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.SelectProvider;
/**
* @Author: aiqinguo
* @Description: 线路信息上报
* @Date: 2023/09/18 11:34:50
* @Version: 1.0
*/
@Mapper
public interface CollectLineReportMapper extends BaseMapper<CollectLineReport> {
/**
* @see CollectLineReportSqlProvider#pageLineReport(com.baomidou.mybatisplus.extension.plugins.pagination.Page, com.clx.performance.param.app.collect.PageCollectLineReportParam)
*/
@SelectProvider(type = CollectLineReportSqlProvider.class, method = "pageLineReport")
IPage<CollectLineReportVO> pageLineReport(@Param("page") Page<CollectLineReportVO> page, @Param("param") PageCollectLineReportParam param);
/**
* @see CollectLineReportSqlProvider#carrierPageSendAddressReport(com.baomidou.mybatisplus.extension.plugins.pagination.Page, com.clx.performance.param.pc.carrier.CarrierPageCollectSendAddressReportParam)
*/
@SelectProvider(type = CollectLineReportSqlProvider.class, method = "carrierPageSendAddressReport")
IPage<CollectLineReportVO> carrierPageSendAddressReport(@Param("page") Page<CollectLineReportVO> page, @Param("param") CarrierPageCollectSendAddressReportParam param);
/**
* @see CollectLineReportSqlProvider#carrierPageAbnormalReport(com.baomidou.mybatisplus.extension.plugins.pagination.Page, com.clx.performance.param.pc.carrier.CarrierPageCollectAbnormalReportParam)
*/
@SelectProvider(type = CollectLineReportSqlProvider.class, method = "carrierPageAbnormalReport")
IPage<CollectLineReportVO> carrierPageAbnormalReport(@Param("page") Page<CollectLineReportVO> page, @Param("param") CarrierPageCollectAbnormalReportParam param);
/**
* @see CollectLineReportSqlProvider#carrierPageNoTakeOrderReport(com.baomidou.mybatisplus.extension.plugins.pagination.Page, com.clx.performance.param.pc.carrier.CarrierPageCollectNoTakeOrderReportParam)
*/
@SelectProvider(type = CollectLineReportSqlProvider.class, method = "carrierPageNoTakeOrderReport")
IPage<CollectLineReportVO> carrierPageNoTakeOrderReport(@Param("page") Page<CollectLineReportVO> page, @Param("param") CarrierPageCollectNoTakeOrderReportParam param);
/**
* @see CollectLineReportSqlProvider#carrierPageQualityReport(com.baomidou.mybatisplus.extension.plugins.pagination.Page, com.clx.performance.param.pc.carrier.CarrierPageCollectQualityReportParam)
*/
@SelectProvider(type = CollectLineReportSqlProvider.class, method = "carrierPageQualityReport")
IPage<CollectLineReportVO> carrierPageQualityReport(@Param("page") Page<CollectLineReportVO> page, @Param("param") CarrierPageCollectQualityReportParam param);
/**
* @see CollectLineReportSqlProvider#carrierPageOtherReport(com.baomidou.mybatisplus.extension.plugins.pagination.Page, com.clx.performance.param.pc.carrier.CarrierPageCollectOtherReportParam)
*/
@SelectProvider(type = CollectLineReportSqlProvider.class, method = "carrierPageOtherReport")
IPage<CollectLineReportVO> carrierPageOtherReport(@Param("page") Page<CollectLineReportVO> page, @Param("param") CarrierPageCollectOtherReportParam param);
}
\ No newline at end of file
package com.clx.performance.mapper.collect;
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.collect.CollectTrafficCongestion;
import com.clx.performance.param.app.collect.PageCollectTraficCongestionParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTraficCongestionParam;
import com.clx.performance.sqlProvider.collect.CollectTrafficCongestionSqlProvider;
import com.clx.performance.vo.pc.collect.CollectTrafficCongestionVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.SelectProvider;
/**
* @Author: aiqinguo
* @Description: 道路拥堵情况
* @Date: 2023/09/18 11:34:50
* @Version: 1.0
*/
@Mapper
public interface CollectTrafficCongestionMapper extends BaseMapper<CollectTrafficCongestion> {
/**
* @see CollectTrafficCongestionSqlProvider#pageTraffic(com.baomidou.mybatisplus.extension.plugins.pagination.Page, com.clx.performance.param.app.collect.PageCollectTraficCongestionParam)
*/
@SelectProvider(type = CollectTrafficCongestionSqlProvider.class, method = "pageTraffic")
IPage<CollectTrafficCongestionVO> pageTraffic(@Param("page") Page<CollectTrafficCongestionVO> page, @Param("param") PageCollectTraficCongestionParam param);
/**
* @see CollectTrafficCongestionSqlProvider#carrierPageTraffic(com.baomidou.mybatisplus.extension.plugins.pagination.Page, com.clx.performance.param.pc.carrier.CarrierPageCollectTraficCongestionParam)
*/
@SelectProvider(type = CollectTrafficCongestionSqlProvider.class, method = "carrierPageTraffic")
IPage<CollectTrafficCongestionVO> carrierPageTraffic(@Param("page") Page<CollectTrafficCongestionVO> page, @Param("param") CarrierPageCollectTraficCongestionParam param);
}
\ No newline at end of file
package com.clx.performance.mapper.collect;
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.collect.CollectTruckLeave;
import com.clx.performance.param.app.collect.PageCollectTruckLeaveParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckLeaveParam;
import com.clx.performance.sqlProvider.collect.CollectTruckLeaveSqlProvider;
import com.clx.performance.vo.pc.collect.CollectTruckLeaveVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.SelectProvider;
/**
* @Author: aiqinguo
* @Description: 司机请假表
* @Date: 2023/09/18 11:34:50
* @Version: 1.0
*/
@Mapper
public interface CollectTruckLeaveMapper extends BaseMapper<CollectTruckLeave> {
/**
* @see CollectTruckLeaveSqlProvider#pageLeave(com.baomidou.mybatisplus.extension.plugins.pagination.Page, com.clx.performance.param.app.collect.PageCollectTruckLeaveParam)
*/
@SelectProvider(type = CollectTruckLeaveSqlProvider.class, method = "pageLeave")
IPage<CollectTruckLeaveVO> pageLeave(@Param("page") Page<CollectTruckLeaveVO> page, @Param("param") PageCollectTruckLeaveParam param);
/**
* @see CollectTruckLeaveSqlProvider#carrierPageLeave(com.baomidou.mybatisplus.extension.plugins.pagination.Page, com.clx.performance.param.pc.carrier.CarrierPageCollectTruckLeaveParam)
*/
@SelectProvider(type = CollectTruckLeaveSqlProvider.class, method = "carrierPageLeave")
IPage<CollectTruckLeaveVO> carrierPageLeave(@Param("page") Page<CollectTruckLeaveVO> page, @Param("param") CarrierPageCollectTruckLeaveParam param);
}
\ No newline at end of file
package com.clx.performance.mapper.collect;
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.collect.CollectTruckLocation;
import com.clx.performance.param.app.collect.PageCollectTruckLocationParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckLocationParam;
import com.clx.performance.sqlProvider.collect.CollectTruckLocationSqlProvider;
import com.clx.performance.vo.pc.collect.CollectTruckLocationVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.SelectProvider;
/**
* @Author: aiqinguo
* @Description: 车辆位置上报
* @Date: 2023/09/18 11:34:50
* @Version: 1.0
*/
@Mapper
public interface CollectTruckLocationMapper extends BaseMapper<CollectTruckLocation> {
/**
* @see CollectTruckLocationSqlProvider#pageLocation(com.baomidou.mybatisplus.extension.plugins.pagination.Page, com.clx.performance.param.app.collect.PageCollectTruckLocationParam)
*/
@SelectProvider(type = CollectTruckLocationSqlProvider.class, method = "pageLocation")
IPage<CollectTruckLocationVO> pageLocation(@Param("page") Page<CollectTruckLocationVO> page, @Param("param") PageCollectTruckLocationParam param);
/**
* @see CollectTruckLocationSqlProvider#carrierPageLocation(com.baomidou.mybatisplus.extension.plugins.pagination.Page, com.clx.performance.param.pc.carrier.CarrierPageCollectTruckLocationParam)
*/
@SelectProvider(type = CollectTruckLocationSqlProvider.class, method = "carrierPageLocation")
IPage<CollectTruckLocationVO> carrierPageLocation(@Param("page") Page<CollectTruckLocationVO> page, @Param("param") CarrierPageCollectTruckLocationParam param);
}
\ No newline at end of file
package com.clx.performance.mapper.collect;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.clx.performance.model.collect.CollectTruck;
import org.apache.ibatis.annotations.Mapper;
/**
* @Author: aiqinguo
* @Description: 车辆信息上报
* @Date: 2023/09/18 11:34:50
* @Version: 1.0
*/
@Mapper
public interface CollectTruckMapper extends BaseMapper<CollectTruck> {
}
\ No newline at end of file
package com.clx.performance.mapper.collect;
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.collect.CollectTruckRefuel;
import com.clx.performance.param.app.collect.PageCollectTruckRefuelParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckRefuelParam;
import com.clx.performance.sqlProvider.collect.CollectTruckRefuelSqlProvider;
import com.clx.performance.vo.pc.collect.CollectTruckRefuelVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.SelectProvider;
/**
* @Author: aiqinguo
* @Description: 油表上报信息
* @Date: 2023/09/18 11:34:50
* @Version: 1.0
*/
@Mapper
public interface CollectTruckRefuelMapper extends BaseMapper<CollectTruckRefuel> {
/**
* @see CollectTruckRefuelSqlProvider#pageRefuel(com.baomidou.mybatisplus.extension.plugins.pagination.Page, com.clx.performance.param.app.collect.PageCollectTruckRefuelParam)
*/
@SelectProvider(type = CollectTruckRefuelSqlProvider.class, method = "pageRefuel")
IPage<CollectTruckRefuelVO> pageRefuel(@Param("page") Page<CollectTruckRefuelVO> page, @Param("param") PageCollectTruckRefuelParam param);
/**
* @see CollectTruckRefuelSqlProvider#carrierPageRefuel(com.baomidou.mybatisplus.extension.plugins.pagination.Page, com.clx.performance.param.pc.carrier.CarrierPageCollectTruckRefuelParam)
*/
@SelectProvider(type = CollectTruckRefuelSqlProvider.class, method = "carrierPageRefuel")
IPage<CollectTruckRefuelVO> carrierPageRefuel(@Param("page") Page<CollectTruckRefuelVO> page, @Param("param") CarrierPageCollectTruckRefuelParam param);
}
\ No newline at end of file
package com.clx.performance.mapper.collect;
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.collect.CollectTruckWait;
import com.clx.performance.param.app.collect.PageCollectTruckWaitParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckWaitParam;
import com.clx.performance.sqlProvider.collect.CollectTruckWaitSqlProvider;
import com.clx.performance.vo.pc.collect.CollectTruckWaitVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.SelectProvider;
/**
* @Author: aiqinguo
* @Description: 线路排队耗时
* @Date: 2023/09/18 11:34:50
* @Version: 1.0
*/
@Mapper
public interface CollectTruckWaitMapper extends BaseMapper<CollectTruckWait> {
/**
* @see CollectTruckWaitSqlProvider#pageWaitReport(com.baomidou.mybatisplus.extension.plugins.pagination.Page, com.clx.performance.param.app.collect.PageCollectTruckWaitParam)
*/
@SelectProvider(type = CollectTruckWaitSqlProvider.class, method = "pageWaitReport")
IPage<CollectTruckWaitVO> pageWaitReport(@Param("page") Page<CollectTruckWaitVO> page, @Param("param") PageCollectTruckWaitParam param);
/**
* @see CollectTruckWaitSqlProvider#carrierPageWaitReport(com.baomidou.mybatisplus.extension.plugins.pagination.Page, com.clx.performance.param.pc.carrier.CarrierPageCollectTruckWaitParam)
*/
@SelectProvider(type = CollectTruckWaitSqlProvider.class, method = "carrierPageWaitReport")
IPage<CollectTruckWaitVO> carrierPageWaitReport(@Param("page") Page<CollectTruckWaitVO> page, @Param("param") CarrierPageCollectTruckWaitParam param);
}
\ No newline at end of file
package com.clx.performance.mapper.integral;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.clx.performance.model.integral.IntegralRule;
import org.apache.ibatis.annotations.Mapper;
/**
* @Author: aiqinguo
* @Description: 积分规则
* @Date: 2023-10-9 11:52:22
* @Version: 1.0
*/
@Mapper
public interface IntegralRuleMapper extends BaseMapper<IntegralRule> {
}
\ No newline at end of file
package com.clx.performance.mapper.integral;
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.integral.IntegralTruckRule;
import com.clx.performance.param.pc.integral.PageIntegralTruckRuleParam;
import com.clx.performance.sqlProvider.integral.IntegralTruckRuleProvider;
import com.clx.performance.vo.pc.integral.AppIntegralTruckRuleVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.SelectProvider;
/**
* @Author: aiqinguo
* @Description: 积分车辆规则
* @Date: 2023-10-9 11:52:22
* @Version: 1.0
*/
@Mapper
public interface IntegralTruckRuleMapper extends BaseMapper<IntegralTruckRule> {
/**
* @see IntegralTruckRuleProvider#pageRule(com.baomidou.mybatisplus.extension.plugins.pagination.Page, PageIntegralTruckRuleParam)
*/
@SelectProvider(type = IntegralTruckRuleProvider.class, method = "pageRule")
IPage<AppIntegralTruckRuleVO> pageRule(@Param("page") Page<AppIntegralTruckRuleVO> page, @Param("param") PageIntegralTruckRuleParam param);
}
\ No newline at end of file
......@@ -5,7 +5,10 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import lombok.*;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.time.LocalDateTime;
......@@ -43,14 +46,24 @@ public class IntegralRecord implements HasKey<Integer> {
SETTLEMENT(4, "结算分"),
BASE(5, "基础分"),
ORDER_CHILD_COMPLETE(11, "运单完成"),
ORDER_CHILD_COMPLETE_NUM(12, "运单完成数量"),
ORDER_CHILD_COMPLETE_WATER(13, "流水单"),
ORDER_CHILD_COMPLETE_SUPPORT(14, "支援单"),
ORDER_CHILD_COMPLETE_TIMEOUT(15, "运单完成超时"),
// ORDER_CHILD_COMPLETE(11, "运单完成"),
// ORDER_CHILD_COMPLETE_NUM(12, "运单完成数量"),
// ORDER_CHILD_COMPLETE_WATER(13, "流水单"),
// ORDER_CHILD_COMPLETE_SUPPORT(14, "支援单"),
// ORDER_CHILD_COMPLETE_TIMEOUT(15, "运单完成超时"),
//
// ORDER_CHILD_CANCEL(21, "运单取消"),
// ORDER_CHILD_CANCEL_TIMEOUT(22, "运单取消超时"),
ORDER_CHILD_CANCEL(21, "运单取消"),
ORDER_CHILD_CANCEL_TIMEOUT(22, "运单取消超时"),
// REPORT_TRUCK_INFO(50, "提交基础信息"),
// REPORT_REFUEL(51, "油表上报"),
// REPORT_TRAFFIC(52, "上报交通拥堵"),
// REPORT_SEND_ADDRESS_WAIT(53, "上报货源地需要排队"),
// REPORT_SEND_ADDRESS_NO_WAIT(54, "上报货源地无需排队"),
// REPORT_RECEIVE_ADDRESS_WAIT(55, "上报目的地需要排队"),
// REPORT_RECEIVE_ADDRESS_NO_WAIT(56, "上报目的地无需排队"),
// REPORT_QUALITY(57, "上报煤炭质量问题"),
// REPORT_ABNORMAL(58, "上报拉运异常问题"),
;
private Integer value;
......
package com.clx.performance.model.collect;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.clx.performance.enums.DriverTruckEnum;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import lombok.*;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.Optional;
/**
* @Author: aiqinguo
* @Description: 线路信息上报
* @Date: 2023/10/16 13:06:26
* @Version: 1.0
*/
@Getter
@Setter
@NoArgsConstructor
@TableName(autoResultMap = true)
public class CollectLineReport implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id; //id
private Long userNo; //用户编号
private String name; //用户姓名
private String mobile; //手机号码
private String truckNo; //车牌号
private String orderGoodsNo; //货单编号
private String childNo; //运单编号
private Integer addressId; //地址id
private String address; //详细地址
private Integer sendAddressId; //发货地址id
private String sendAddress; //发货地址
private Integer receiveAddressId; //收货地址id
private String receiveAddress; //收货地址
private Integer type; //类型:1 发货地 2 目的地
private Integer reportType; //上报类型:1:无法到达货源地 2:无法装货 3:无法到达目的地 4:运单取消 5:装车卸车异常 6:没有接单 7:货源地情况 8:其它上报 9:煤炭质量上报
private Integer reportStatus; //拉运状态 1: 正常 2:异常
private String remark; //状态描述
private String image; //上报图片
private LocalDateTime reportTime; //上报时间
private Integer auditStatus; //审核状态:0待审核 1已审核
private LocalDateTime createTime; //创建时间
private LocalDateTime modifiedTime; //修改时间
@KeyColumn("id")
@Override
public Integer gainKey() {
return id;
}
@Getter
@AllArgsConstructor
public enum Type {
SEND(1, "发货地"),
RECEIVE(2, "目的地");
private final Integer code;
private final String msg;
public static Optional<Type> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
}
//1:无法到达货源地 2:无法装货 3:无法到达目的地 4:运单取消 5:装车卸车异常 6:没有接单 7:货源地情况 8:其它上报 9:煤炭质量上报
@Getter
@AllArgsConstructor
public enum ReportType {
UNABLE_TO_SEND_ADDRESS(1, "无法到达货源地"),
UNABLE_LOAD(2, "无法装货"),
UNABLE_TO_RECEIVE_ADDRESS(3, "无法到达目的地"),
LOAD_UNLOAD(4, "装车卸车异常"),
NO_TAKE_ORDER(6, "没有接单"),
SEND_ADDRESS(7, "货源地情况"),
OTHER(8, "其它上报"),
QUALITY(9, "煤炭质量上报"),
;
private final Integer code;
private final String msg;
public static Optional<ReportType> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
}
@Getter
@AllArgsConstructor
public enum ReportStatus {
NORMAL(1, "正常"),
ABNORMAL(2, "异常");
private final Integer code;
private final String msg;
public static Optional<ReportStatus> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
}
@Getter
@AllArgsConstructor
public enum AuditStatus {
UNAUDIT(0, "待审核"),
AUDIT(1, "已审核");
private final Integer code;
private final String msg;
public static Optional<AuditStatus> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
}
}
\ No newline at end of file
package com.clx.performance.model.collect;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import lombok.*;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.Optional;
/**
* @Author: aiqinguo
* @Description: 道路拥堵情况
* @Date: 2023/10/16 13:06:26
* @Version: 1.0
*/
@Getter
@Setter
@NoArgsConstructor
@TableName(autoResultMap = true)
public class CollectTrafficCongestion implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id; //id
private Long userNo; //用户编号
private String name; //用户姓名
private String mobile; //手机号码
private String truckNo; //车牌号
private String province; //省
private String city; //市
private String county; //区县
private String town; //乡镇
private String street; //街道
private String address; //详细地址
private String fullAddress; //全地址
private BigDecimal longitude; //经度
private BigDecimal latitude; //纬度
private BigDecimal jamTime; //预计拥堵时长
private String jamImage; //现场照片
private LocalDateTime reportTime; //上报时间
private Integer auditStatus; //审核状态:0待审核 1已审核
private LocalDateTime createTime; //创建时间
private LocalDateTime modifiedTime; //修改时间
@KeyColumn("id")
@Override
public Integer gainKey() {
return id;
}
@Getter
@AllArgsConstructor
public enum AuditStatus {
UNAUDIT(0, "待审核"),
AUDIT(1, "已审核");
private final Integer code;
private final String msg;
public static Optional<AuditStatus> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
}
}
\ No newline at end of file
package com.clx.performance.model.collect;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.time.LocalDateTime;
/**
* @Author: aiqinguo
* @Description: 车辆信息上报
* @Date: 2023/11/07 11:11:41
* @Version: 1.0
*/
@Getter
@Setter
@NoArgsConstructor
@TableName(autoResultMap = true)
public class CollectTruck implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id; //id
private Long userNo; //用户编号
private String name; //用户姓名
private String mobile; //手机号码
private Integer truckId; //车辆id
private String truckNo; //车牌
private Integer unloadType; //卸车类型:1自卸侧翻 2自卸立翻 3非自卸
private Integer autoLoanStatus; //车贷状态:0无车贷 1有车贷
private Integer autoLoanMonth; //车贷剩余月份
private String parkAddress; //车辆停放位置
private Integer overTonnageType; //拉运方式:1标吨 2超吨 3白天标吨晚上超吨
private Integer distanceUsualPlaceMax; //接受距常驻地最远距离(公里)
private Integer distanceLineMax; //单次任务接受最远距离(公里)
private Integer distanceSendAddressMax; //接受距货源地最远距离(公里)
private String goodsType; //拉运货物意愿:1块煤 2面煤 3煤泥
private LocalDateTime createTime; //创建时间
private LocalDateTime modifiedTime; //修改时间
@KeyColumn("id")
@Override
public Integer gainKey() {
return id;
}
}
\ No newline at end of file
package com.clx.performance.model.collect;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import java.time.LocalDateTime;
/**
* @Author: aiqinguo
* @Description: 司机请假表
* @Date: 2023/10/16 13:06:26
* @Version: 1.0
*/
@Getter
@Setter
@NoArgsConstructor
@TableName(autoResultMap = true)
public class CollectTruckLeave implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id; //id
private Long userNo; //用户编号
private String name; //用户姓名
private String mobile; //手机号码
private String truckNo; //车牌号
private LocalDateTime beginTime; //请假开始时间
private LocalDateTime endTime; //请假结束时间
private String remark; //请假原因
private LocalDateTime reportTime; //上报时间
private LocalDateTime createTime; //创建时间
private LocalDateTime modifiedTime; //修改时间
@KeyColumn("id")
@Override
public Integer gainKey() {
return id;
}
}
\ No newline at end of file
package com.clx.performance.model.collect;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @Author: aiqinguo
* @Description: 车辆位置上报
* @Date: 2023/10/16 13:06:26
* @Version: 1.0
*/
@Getter
@Setter
@NoArgsConstructor
@TableName(autoResultMap = true)
public class CollectTruckLocation implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id; //id
private Long userNo; //用户编号
private String name; //用户姓名
private String mobile; //手机号码
private String truckNo; //车牌号
private String province; //省
private String city; //市
private String county; //区县
private String town; //乡镇
private String street; //街道
private String address; //详细地址
private String locationRemark; //司机手填地址
private String fullAddress; //全地址
private BigDecimal longitude; //经度
private BigDecimal latitude; //纬度
private Integer truckOrderStatus; //车辆出车状态 1:空车 2:重车
private LocalDateTime reportTime; //上报时间
private LocalDateTime createTime; //创建时间
private LocalDateTime modifiedTime; //修改时间
@KeyColumn("id")
@Override
public Integer gainKey() {
return id;
}
}
\ No newline at end of file
package com.clx.performance.model.collect;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @Author: aiqinguo
* @Description: 油表上报信息
* @Date: 2023/10/16 13:06:27
* @Version: 1.0
*/
@Getter
@Setter
@NoArgsConstructor
@TableName(autoResultMap = true)
public class CollectTruckRefuel implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id; //id
private Long userNo; //用户编号
private String name; //用户姓名
private String mobile; //手机号码
private String truckNo; //车牌号
private String childNo; //运单编号
private Integer sendAddressId; //发货地址id
private String sendAddress; //发货地址
private Integer receiveAddressId; //收货地址id
private String receiveAddress; //收货地址
private String loadImage; //装车油表list集合
private BigDecimal loadOil; //装车油量
private String unloadImage; //卸车油表list集合
private BigDecimal unloadOil; //卸车油量
private LocalDateTime reportTime; //上报时间
private LocalDateTime createTime; //创建时间
private LocalDateTime modifiedTime; //修改时间
@KeyColumn("id")
@Override
public Integer gainKey() {
return id;
}
}
\ No newline at end of file
package com.clx.performance.model.collect;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.Optional;
/**
* @Author: aiqinguo
* @Description: 线路排队耗时
* @Date: 2023/10/16 13:06:27
* @Version: 1.0
*/
@Getter
@Setter
@NoArgsConstructor
@TableName(autoResultMap = true)
public class CollectTruckWait implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id; //id
private Long userNo; //用户编号
private String name; //用户姓名
private String mobile; //手机号码
private String truckNo; //车牌号
private String childNo; //运单编号
private Integer addressId; //地址id
private String address; //详细地址
private Integer reportType; //上报类型:1 装车类型 2卸车类型
private Integer waitType; //上报类型:1 无需排队 2 场内需要排队 3 厂外需要排队
private BigDecimal stationInTime; //预计站内等待时长
private String stationInImage; //预计站内等待时长图片
private BigDecimal stationOutTime; //预计站外等待时长
private String stationOutImage; //预计站外等待时长图片
private LocalDateTime reportTime; //上报时间
private Integer auditStatus; //审核状态:0待审核 1已审核
private LocalDateTime createTime; //创建时间
private LocalDateTime modifiedTime; //修改时间
@KeyColumn("id")
@Override
public Integer gainKey() {
return id;
}
@Getter
@AllArgsConstructor
public enum ReportType {
LOAD(1, "装车类型"),
UNLOAD(2, "卸车类型");
private final Integer code;
private final String msg;
public static Optional<ReportType> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
}
@Getter
@AllArgsConstructor
public enum waitType {
LOAD(1, "装车类型"),
UNLOAD(2, "卸车类型");
private final Integer code;
private final String msg;
public static Optional<waitType> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
}
@Getter
@AllArgsConstructor
public enum AuditStatus {
UNAUDIT(0, "待审核"),
AUDIT(1, "已审核");
private final Integer code;
private final String msg;
public static Optional<AuditStatus> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
}
}
\ No newline at end of file
package com.clx.performance.model.integral;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.time.LocalDateTime;
/**
* @Author: aiqinguo
* @Description: 积分规则
* @Date: 2023/11/06 16:14:44
* @Version: 1.0
*/
@Getter
@Setter
@NoArgsConstructor
@TableName(autoResultMap = true)
public class IntegralRule implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id; //id
private String orderChildCompleteRuleJson; //运单完成积分规则
private String orderAwardRuleJson; //货单奖励积分规则
private String orderDiscountRuleJson; //货单扣减积分规则
private String orderChildTimeoutRuleJson; //运单超时扣减规则
private String platformCompensationRuleJson; //平台补偿积分规则
private String driverReportRuleJson; //司机上报积分规则
private LocalDateTime createTime; //创建时间
private LocalDateTime modifiedTime; //修改时间
@KeyColumn("id")
@Override
public Integer gainKey() {
return id;
}
}
\ No newline at end of file
package com.clx.performance.model.integral;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @Author: aiqinguo
* @Description: 车辆积分规则
* @Date: 2023/11/06 14:12:53
* @Version: 1.0
*/
@Getter
@Setter
@NoArgsConstructor
@TableName(autoResultMap = true)
public class IntegralTruckRule implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id; //id
private String name; //层级名称
private Integer integralRatioBegin; //积分起始范围
private Integer integralRatioEnd; //积分结束范围
private Integer status; //状态:1开启 2关闭
private BigDecimal incomeBegin; //预期收益开始范围(分)
private BigDecimal incomeEnd; //预期收益结束范围(分)
private LocalDateTime createTime; //创建时间
private LocalDateTime modifiedTime; //修改时间
@KeyColumn("id")
@Override
public Integer gainKey() {
return id;
}
}
\ No newline at end of file
......@@ -2,6 +2,7 @@ package com.clx.performance.service;
import com.clx.performance.model.IntegralRecord;
import com.clx.performance.param.pc.IntegralRecordAddParam;
import com.clx.performance.vo.pc.integral.AppIntegralRuleVO;
import java.time.LocalDateTime;
......@@ -9,6 +10,8 @@ public interface IntegralRecordService {
void addRecord(IntegralRecordAddParam param);
void addRecord(AppIntegralRuleVO ruleInfo, String truckNo, Integer type, Integer integral, String remark);
IntegralRecord save(Integer statisticsId, LocalDateTime statisticsDate, String truckNo, Integer type, Integer integral, String remark);
}
......@@ -5,6 +5,8 @@ import com.clx.performance.vo.mq.OrderChildAddMqParam;
import com.clx.performance.vo.mq.OrderChildArriveReceiveAddressMqParam;
import com.clx.performance.vo.mq.OrderChildArriveSendAddressMqParam;
import com.clx.performance.vo.mq.OrderChildDriverConfirmMqParam;
import com.clx.performance.vo.mq.OrderChildLoadMqParam;
import com.clx.performance.vo.mq.OrderChildUnloadMqParam;
public interface OrderChildMqHandlerService {
......@@ -13,6 +15,10 @@ public interface OrderChildMqHandlerService {
void orderChildArriveReceiveAddress(OrderChildArriveReceiveAddressMqParam mq);
void orderChildDriverConfirm(OrderChildDriverConfirmMqParam mq);
void orderChildLoad(OrderChildLoadMqParam mq);
void orderChildUnload(OrderChildUnloadMqParam mq);
void orderChildCancel(OrderChildCancelMqParam mq);
}
......@@ -10,4 +10,7 @@ public interface OrderChildMqService {
void orderChildCancel(String childNo, Integer status, Integer opUserType, Long opUserNo, String opUserName);
void orderChildLoad(String childNo);
void orderChildUnLoad(String childNo);
}
package com.clx.performance.service.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.model.collect.CollectLineReport;
import com.clx.performance.param.app.collect.*;
import com.clx.performance.param.pc.carrier.*;
import com.clx.performance.vo.pc.collect.CollectLineReportVO;
public interface CollectLineReportService {
void saveSendAddressReport(CollectLineReportSendAddressSaveParam param);
void saveAbnormalReport(CollectLineReportAbnormalSaveParam param);
CollectLineReport saveSendAddressAbnormalReport(CollectLineReportSendAddressAbnormalSaveParam param);
CollectLineReport saveLoadAbnormalReport(CollectLineReportLoadAbnormalSaveParam param);
CollectLineReport saveReceiveAddressAbnormalReport(CollectLineReportReceiveAddressAbnormalSaveParam param);
void saveNoTakeOrderAbnormalReport(CollectLineReportNoTakeOrderAbnormalSaveParam param);
CollectLineReport saveLoadUnloadAbnormalReport(CollectLineReportLoadUnloadAbnormalSaveParam param);
void saveOtherReport(CollectLineReportOtherSaveParam param);
void saveQualityReport(CollectLineReportQualitySaveParam param);
CollectLineReportVO getReportInfo(Integer id);
IPage<CollectLineReportVO> pageLineReport(PageCollectLineReportParam param);
void updateSendAddressReportAudit(CollectLineReportSendAddressAuditParam param);
void updateAbnormalReportAudit(CollectLineReportSendAddressAuditParam param);
void updateNoTakeOrderReportAudit(CollectLineReportSendAddressAuditParam param);
void updateQualityReportAudit(CollectLineReportSendAddressAuditParam param);
IPage<CollectLineReportVO> carrierPageSendAddressReport(CarrierPageCollectSendAddressReportParam param);
IPage<CollectLineReportVO> carrierPageAbnormalReport(CarrierPageCollectAbnormalReportParam param);
IPage<CollectLineReportVO> carrierPageNoTakeOrderReport(CarrierPageCollectNoTakeOrderReportParam param);
IPage<CollectLineReportVO> carrierPageQualityReport(CarrierPageCollectQualityReportParam param);
IPage<CollectLineReportVO> carrierPageOtherReport(CarrierPageCollectOtherReportParam param);
}
package com.clx.performance.service.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.collect.CollectTrafficCongestionAuditParam;
import com.clx.performance.param.app.collect.CollectTrafficCongestionSaveParam;
import com.clx.performance.param.app.collect.PageCollectTraficCongestionParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTraficCongestionParam;
import com.clx.performance.vo.pc.collect.CollectTrafficCongestionVO;
public interface CollectTrafficCongestionService {
void saveTrafficReport(CollectTrafficCongestionSaveParam param);
CollectTrafficCongestionVO getReportInfo(Integer id);
IPage<CollectTrafficCongestionVO> pageTrafficReport(PageCollectTraficCongestionParam param);
void updateTrafficCongestionAudit(CollectTrafficCongestionAuditParam param);
IPage<CollectTrafficCongestionVO> carrierPageTrafficReport(CarrierPageCollectTraficCongestionParam param);
}
package com.clx.performance.service.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.collect.CollectTruckLeaveSaveParam;
import com.clx.performance.param.app.collect.PageCollectTruckLeaveParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckLeaveParam;
import com.clx.performance.vo.pc.collect.CollectTruckLeaveVO;
public interface CollectTruckLeaveService {
void saveLeave(CollectTruckLeaveSaveParam param);
CollectTruckLeaveVO getInfo(Integer id);
IPage<CollectTruckLeaveVO> pageLeave(PageCollectTruckLeaveParam param);
IPage<CollectTruckLeaveVO> carrierPageLeave(CarrierPageCollectTruckLeaveParam param);
}
package com.clx.performance.service.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.collect.CollectTruckLocationSaveParam;
import com.clx.performance.param.app.collect.PageCollectTruckLocationParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckLocationParam;
import com.clx.performance.vo.pc.collect.CollectTruckLocationVO;
public interface CollectTruckLocationService {
void saveLocationReport(CollectTruckLocationSaveParam param);
CollectTruckLocationVO getReportInfo(Integer id);
IPage<CollectTruckLocationVO> pageLocationReport(PageCollectTruckLocationParam param);
IPage<CollectTruckLocationVO> carrierPageLocationReport(CarrierPageCollectTruckLocationParam param);
}
package com.clx.performance.service.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.collect.CollectTruckRefuelSaveParam;
import com.clx.performance.param.app.collect.PageCollectTruckRefuelParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckRefuelParam;
import com.clx.performance.vo.pc.collect.CollectTruckRefuelVO;
public interface CollectTruckRefuelService {
void saveRefuelReport(CollectTruckRefuelSaveParam param);
CollectTruckRefuelVO getReportInfo(Integer id);
IPage<CollectTruckRefuelVO> pageRefuelReport(PageCollectTruckRefuelParam param);
IPage<CollectTruckRefuelVO> carrierPageRefuelReport(CarrierPageCollectTruckRefuelParam param);
}
package com.clx.performance.service.collect;
import com.clx.performance.param.app.collect.*;
import com.clx.performance.vo.app.collect.AppCollectTruckVO;
public interface CollectTruckService {
void updateUnloadType(CollectTruckUnloadTypeUpdateParam param);
void updateAutoLoanStatus(CollectAutoLoanStatusUpdateParam param);
void updateParkAddress(CollectTruckReportParkAddressUpdateParam param);
void updateOverTonnageType(CollectTruckReportOverTonnageTypeUpdateParam param);
void updateDistanceUsualPlaceMax(CollectTruckReportDistanceUsualPlaceMaxUpdateParam param);
void updateDistanceLineMax(CollectTruckReportDistanceLineMaxUpdateParam param);
void updateDistanceSendAddressMax(CollectTruckReportDistanceSendAddressMaxUpdateParam param);
void updateGoodsType(CollectTruckReportGoodsTypeUpdateParam param);
AppCollectTruckVO getReportInfo(String truckNo);
}
package com.clx.performance.service.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.collect.CollectLineReportTruckWaitAuditParam;
import com.clx.performance.param.app.collect.CollectWaitReportReceiveAddressSaveParam;
import com.clx.performance.param.app.collect.CollectWaitReportSendAddressSaveParam;
import com.clx.performance.param.app.collect.PageCollectTruckWaitParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckWaitParam;
import com.clx.performance.vo.pc.collect.CollectTruckWaitVO;
public interface CollectWaitReportService {
void saveSendAddressReport(CollectWaitReportSendAddressSaveParam param);
void saveReceiveAddressReport(CollectWaitReportReceiveAddressSaveParam param);
CollectTruckWaitVO getReportInfo(Integer id);
IPage<CollectTruckWaitVO> pageWaitReport(PageCollectTruckWaitParam param);
void updateWaitReportAudit(CollectLineReportTruckWaitAuditParam param);
IPage<CollectTruckWaitVO> carrierPageWaitReport(CarrierPageCollectTruckWaitParam param);
}
......@@ -2,10 +2,13 @@ package com.clx.performance.service.impl;
import com.clx.performance.dao.*;
import com.clx.performance.enums.OrderChildEnum;
import com.clx.performance.enums.integral.IntegralRecordEnum;
import com.clx.performance.model.*;
import com.clx.performance.param.mq.*;
import com.clx.performance.service.*;
import com.clx.performance.service.integral.IntegralRuleService;
import com.clx.performance.utils.LocalDateTimeUtils;
import com.clx.performance.vo.pc.integral.AppIntegralRuleVO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -33,6 +36,8 @@ public class IntegralMqHandlerServiceImpl implements IntegralMqHandlerService {
private IntegralOrderDao integralOrderDao;
@Autowired
private OrderChildDao orderChildDao;
@Autowired
private OrderGoodsDao orderGoodsDao;
@Autowired
private IntegralStatisticsService integralStatisticsService;
......@@ -40,6 +45,9 @@ public class IntegralMqHandlerServiceImpl implements IntegralMqHandlerService {
@Autowired
private IntegralRecordService integralRecordService;
@Autowired
private IntegralRuleService integralRuleService;
/**
* 车辆新增
*/
......@@ -302,9 +310,15 @@ public class IntegralMqHandlerServiceImpl implements IntegralMqHandlerService {
public void orderChildFinish(IntegralOrderChildFinishMqParam mq) {
String statisticsDate = LocalDateTimeUtils.getWeekStart();
// 查找规则
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
OrderChild orderChild = orderChildDao.getByChildNo(mq.getChildNo()).orNull();
if (null == orderChild) {return;}
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).orNull();
if (null == orderGoods) {return;}
IntegralOrder integralOrder = integralOrderDao.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).orNull();
if (null == integralOrder){return;}
......@@ -316,18 +330,28 @@ public class IntegralMqHandlerServiceImpl implements IntegralMqHandlerService {
List<Integer> finishStatusList = Arrays.asList(OrderChildEnum.Status.UNSETTLE.getCode(), OrderChildEnum.Status.COMPLETE.getCode());
List<Integer> cancelStatusList = Arrays.asList(OrderChildEnum.Status.DRIVER_CANCEL.getCode());;
List<Integer> platformCancelStatusList = Arrays.asList(OrderChildEnum.Status.OWNER_CANCEL.getCode(),
OrderChildEnum.Status.PLATFORM_CANCEL.getCode(),
OrderChildEnum.Status.ARTIFICIAL_CANCEL.getCode()
);
int integral = 0;
if (finishStatusList.contains(orderChild.getStatus())){
// 完成
integral = orderChildCompleteIntegralSettlement(statistics, integralOrder, orderChild);
integral = orderChildCompleteIntegralSettlement(statistics, ruleInfo, integralOrder, orderChild, orderGoods);
}
else if (cancelStatusList.contains(orderChild.getStatus())){
// 取消
integral = orderChildCancelIntegralSettlement(statistics, integralOrder, orderChild);
integral = orderChildCancelIntegralSettlement(statistics, ruleInfo, integralOrder, orderChild, orderGoods);
}
else if (platformCancelStatusList.contains(orderChild.getStatus())){
// 平台取消
orderChildPlatformCancelIntegralSettlement(statistics, ruleInfo, integralOrder, orderChild, orderGoods);
}
log.info("司机积分, 运单:{}, 累计积分:{}", orderChild.getChildNo(), integral);
if (integral == 0) {return;}
// 更新积分
statistics.setIntegral(statistics.getIntegral()+integral);
integralStatisticsDao.updateIntegral(statistics);
......@@ -342,7 +366,7 @@ public class IntegralMqHandlerServiceImpl implements IntegralMqHandlerService {
/**
* 运单完成
*/
private int orderChildCompleteIntegralSettlement(IntegralStatistics statistics, IntegralOrder integralOrder, OrderChild orderChild){
private int orderChildCompleteIntegralSettlement(IntegralStatistics statistics, AppIntegralRuleVO ruleInfo, IntegralOrder integralOrder, OrderChild orderChild, OrderGoods orderGoods){
LocalDateTime dateTimeDayStart = LocalDateTimeUtils.getDayStart();
LocalDateTime dateTimeDayNext = dateTimeDayStart.plusDays(1);
......@@ -353,20 +377,20 @@ public class IntegralMqHandlerServiceImpl implements IntegralMqHandlerService {
int integralSum = 0;
// 运单完成积分
int completeIntegral = 5;
if (completeIntegral > 0){
Integer sum = integralRecordDao.sumByStatisticsIdAndTypeAndTime(statistics.getId(), IntegralRecord.type.ORDER_CHILD_COMPLETE.getValue(), dayStartTime, nextDayStartTime);
if (null == sum) {sum = 0;}
if (sum+completeIntegral > 30) {completeIntegral = 0;}
}
if (completeIntegral > 0){
String remark="";
if (IntegralOrder.OrderType.HIGH_QUALITY.getValue().equals(integralOrder.getOrderType())){remark = "完成优质单";}
else if (IntegralOrder.OrderType.NORMAL.getValue().equals(integralOrder.getOrderType())){remark = "完成普通单";}
else if (IntegralOrder.OrderType.WATER.getValue().equals(integralOrder.getOrderType())){remark = "完成流水单";}
else if (IntegralOrder.OrderType.SUPPORT.getValue().equals(integralOrder.getOrderType())){remark = "完成支援单";}
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecord.type.ORDER_CHILD_COMPLETE.getValue(), completeIntegral, remark);
}
int completeIntegral = 0;
// if (completeIntegral > 0){
// Integer sum = integralRecordDao.sumByStatisticsIdAndTypeAndTime(statistics.getId(), IntegralRecord.type.ORDER_CHILD_COMPLETE.getValue(), dayStartTime, nextDayStartTime);
// if (null == sum) {sum = 0;}
// if (sum+completeIntegral > 30) {completeIntegral = 0;}
// }
// if (completeIntegral > 0){
// String remark="";
// if (IntegralOrder.OrderType.HIGH_QUALITY.getValue().equals(integralOrder.getOrderType())){remark = "完成优质单";}
// else if (IntegralOrder.OrderType.NORMAL.getValue().equals(integralOrder.getOrderType())){remark = "完成普通单";}
// else if (IntegralOrder.OrderType.WATER.getValue().equals(integralOrder.getOrderType())){remark = "完成流水单";}
// else if (IntegralOrder.OrderType.SUPPORT.getValue().equals(integralOrder.getOrderType())){remark = "完成支援单";}
// integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecord.type.ORDER_CHILD_COMPLETE.getValue(), completeIntegral, remark);
// }
// 完成量积分
int completeNumIntegral = 0;
......@@ -380,94 +404,85 @@ public class IntegralMqHandlerServiceImpl implements IntegralMqHandlerService {
log.info("司机积分,车辆完成量,truckNo:{}, sum:{}", orderChild.getChildNo(), finishNum);
if (finishNum == 1){
completeNumIntegral = 0;
completeNumIntegral = ruleInfo.getOrderChildCompleteRule().getInteger1();
completeNumIntegralRemark = "运单达量1单";
}
else if (finishNum == 2){
completeNumIntegral = 5;
completeNumIntegral = ruleInfo.getOrderChildCompleteRule().getInteger2();
completeNumIntegralRemark = "运单达量2单";
}
else if (finishNum == 3){
completeNumIntegral = 5;
completeNumIntegral = ruleInfo.getOrderChildCompleteRule().getInteger3();
completeNumIntegralRemark = "运单达量3单";
}
else if (finishNum == 4){
completeNumIntegral = 10;
completeNumIntegral = ruleInfo.getOrderChildCompleteRule().getInteger4();
completeNumIntegralRemark = "运单达量4单";
}
else if (finishNum > 4){
completeNumIntegral = 0;
}
if (completeNumIntegral > 0){
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecord.type.ORDER_CHILD_COMPLETE_NUM.getValue(), completeNumIntegral, completeNumIntegralRemark);
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecordEnum.Type.ORDER_CHILD_COMPLETE_NUM.getValue(), completeNumIntegral, completeNumIntegralRemark);
}
// 奖励积分(低价)
// 奖励积分(低价)(下期启用)
int waterOrderIntegral = 0;
if (IntegralOrder.OrderType.WATER.getValue().equals(integralOrder.getOrderType())){
waterOrderIntegral = 3;
}
if (waterOrderIntegral > 0){
Integer sum = integralRecordDao.sumByStatisticsIdAndTypeAndTime(statistics.getId(), IntegralRecord.type.ORDER_CHILD_COMPLETE_WATER.getValue(), dayStartTime, nextDayStartTime);
if (null == sum) {sum = 0;}
if ((sum + waterOrderIntegral) > 30) {waterOrderIntegral = 0;}
}
if (waterOrderIntegral > 0){
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecord.type.ORDER_CHILD_COMPLETE_WATER.getValue(), waterOrderIntegral, "流水单奖励");
}
// 奖励积分(支持单)
// if (IntegralOrder.OrderType.WATER.getValue().equals(integralOrder.getOrderType())){
// waterOrderIntegral = ruleInfo.getOrderAwardRule().getIntegerWater();
// }
// if (waterOrderIntegral > 0){
// Integer sum = integralRecordDao.countByStatisticsIdAndTypeAndTime(statistics.getId(), IntegralRecord.type.ORDER_CHILD_COMPLETE_WATER.getValue(), dayStartTime, nextDayStartTime);
// if (null == sum) {sum = 0;}
// if ((sum + 1) > ruleInfo.getOrderAwardRule().getCountWaterLimit()) {waterOrderIntegral = 0;}
// }
// if (waterOrderIntegral > 0){
// integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecord.type.ORDER_CHILD_COMPLETE_WATER.getValue(), waterOrderIntegral, "流水单奖励");
// }
// 奖励积分(支持单)(下期启用)
int supportOrderIntegral = 0;
if (IntegralOrder.OrderType.SUPPORT.getValue().equals(integralOrder.getOrderType())){
supportOrderIntegral = 3;
}
if (supportOrderIntegral > 0){
Integer sum = integralRecordDao.sumByStatisticsIdAndTypeAndTime(statistics.getId(), IntegralRecord.type.ORDER_CHILD_COMPLETE_SUPPORT.getValue(), dayStartTime, nextDayStartTime);
if (null == sum) {sum = 0;}
if ((sum + supportOrderIntegral) > 30) {supportOrderIntegral = 0;}
}
if (supportOrderIntegral > 0){
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecord.type.ORDER_CHILD_COMPLETE_SUPPORT.getValue(), supportOrderIntegral, "支援单奖励");
}
// 超时
if (null == orderChild.getExpectSendTime() && null == orderChild.getExpectReceiveTime()){
// if (IntegralOrder.OrderType.SUPPORT.getValue().equals(integralOrder.getOrderType())){
// supportOrderIntegral = ruleInfo.getOrderAwardRule().getIntegerSupport();
// }
// if (supportOrderIntegral > 0){
// Integer sum = integralRecordDao.countByStatisticsIdAndTypeAndTime(statistics.getId(), IntegralRecord.type.ORDER_CHILD_COMPLETE_SUPPORT.getValue(), dayStartTime, nextDayStartTime);
// if (null == sum) {sum = 0;}
// if ((sum + 1) > ruleInfo.getOrderAwardRule().getCountSupportLimit()) {supportOrderIntegral = 0;}
// }
// if (supportOrderIntegral > 0){
// integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecord.type.ORDER_CHILD_COMPLETE_SUPPORT.getValue(), supportOrderIntegral, "支援单奖励");
// }
// 到达货源地目的地超时
if (null == orderGoods.getLastArriveSendTime() && null == orderGoods.getLastArriveReceiveTime()){
integralSum = completeIntegral+completeNumIntegral+waterOrderIntegral+supportOrderIntegral;
return integralSum;
}
Integer sendAddressTime = null;
Integer receiveAddressTime = null;
if (null != orderChild.getExpectSendTime()) {
sendAddressTime = diffSecond(orderChild.getPayTime(), orderChild.getExpectSendTime());
}
if (null != orderChild.getExpectReceiveTime()) {
receiveAddressTime = diffSecond(orderChild.getExpectSendTime(), orderChild.getExpectReceiveTime());
}
LocalDateTime lastArriveSendTime = orderGoods.getLastArriveSendTime();
LocalDateTime lastArriveReceiveTime = orderGoods.getLastArriveReceiveTime();
int sendAddressTimeoutIntegral = 0;
if (null != sendAddressTime){
int realTime = diffSecond(orderChild.getPayTime(), orderChild.getArriveSendTime());
if (realTime >= sendAddressTime*2 && realTime < sendAddressTime*3) {sendAddressTimeoutIntegral = -2;}
else if (realTime >= sendAddressTime*3) {sendAddressTimeoutIntegral = -3;}
if (null != lastArriveSendTime && orderChild.getArriveSendTime().isAfter(lastArriveSendTime)){
sendAddressTimeoutIntegral = -ruleInfo.getOrderChildTimeoutRule().getIntegralSendAddressTimeout();
}
if (sendAddressTimeoutIntegral < 0){
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecord.type.ORDER_CHILD_COMPLETE_TIMEOUT.getValue(), sendAddressTimeoutIntegral, "未按时到达货源地减分");
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecordEnum.Type.ORDER_CHILD_COMPLETE_TIMEOUT.getValue(), sendAddressTimeoutIntegral, "未按时到达货源地减分");
}
int receivdAddressTimeoutIntegral = 0;
if (null != receiveAddressTime){
int realTime = diffSecond(orderChild.getLoadTime(), orderChild.getArriveReceiveTime());
if (realTime >= receiveAddressTime*2 && realTime < receiveAddressTime*3) {receivdAddressTimeoutIntegral = -2;}
else if (realTime >= receiveAddressTime*3) {receivdAddressTimeoutIntegral = -3;}
int receiveAddressTimeoutIntegral = 0;
if (null != lastArriveReceiveTime && orderChild.getArriveReceiveTime().isAfter(lastArriveReceiveTime)){
receiveAddressTimeoutIntegral = -ruleInfo.getOrderChildTimeoutRule().getIntegralSendAddressTimeout();
}
if (receivdAddressTimeoutIntegral < 0){
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecord.type.ORDER_CHILD_COMPLETE_TIMEOUT.getValue(), receivdAddressTimeoutIntegral, "未按时到达目的地减分");
if (receiveAddressTimeoutIntegral < 0){
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecordEnum.Type.ORDER_CHILD_COMPLETE_TIMEOUT.getValue(), receiveAddressTimeoutIntegral, "未按时到达目的地减分");
}
integralSum = completeIntegral+completeNumIntegral+waterOrderIntegral+supportOrderIntegral+sendAddressTimeoutIntegral+receivdAddressTimeoutIntegral;
// 装卸车超时(下期开发)
integralSum = completeIntegral+completeNumIntegral+waterOrderIntegral+supportOrderIntegral+sendAddressTimeoutIntegral+receiveAddressTimeoutIntegral;
return integralSum;
}
......@@ -475,82 +490,108 @@ public class IntegralMqHandlerServiceImpl implements IntegralMqHandlerService {
/**
* 运单取消
*/
private int orderChildCancelIntegralSettlement(IntegralStatistics statistics, IntegralOrder integralOrder, OrderChild orderChild){
private int orderChildCancelIntegralSettlement(IntegralStatistics statistics, AppIntegralRuleVO ruleInfo, IntegralOrder integralOrder, OrderChild orderChild, OrderGoods orderGoods){
int integralSum = 0;
// 运单取消积分
Integer cancelIntegral = -3;
String cancelIntegralRemark="";
if (IntegralOrder.OrderType.HIGH_QUALITY.getValue().equals(integralOrder.getOrderType())){
cancelIntegral = -3;
cancelIntegralRemark = "取消优质单";
}
else if (IntegralOrder.OrderType.NORMAL.getValue().equals(integralOrder.getOrderType())){
cancelIntegral = -3;
cancelIntegralRemark = "取消普通单";
}
else if (IntegralOrder.OrderType.WATER.getValue().equals(integralOrder.getOrderType())){
cancelIntegral = -6;
cancelIntegralRemark = "取消流水单";
}
else if (IntegralOrder.OrderType.SUPPORT.getValue().equals(integralOrder.getOrderType())){
cancelIntegral = -8;
cancelIntegralRemark = "取消支援单";
}
Integer cancelIntegral = -ruleInfo.getOrderChildCancelRule().getIntegralCancel();
String cancelIntegralRemark="取消运单";
//(下期启用)
// if (IntegralOrder.OrderType.HIGH_QUALITY.getValue().equals(integralOrder.getOrderType())){
//
// cancelIntegralRemark = "取消优质单";
// }
// else if (IntegralOrder.OrderType.NORMAL.getValue().equals(integralOrder.getOrderType())){
//
// cancelIntegralRemark = "取消普通单";
// }
// else if (IntegralOrder.OrderType.WATER.getValue().equals(integralOrder.getOrderType())){
// cancelIntegral -= ruleInfo.getOrderChildCancelRule().getIntegralWaterCancel();
// cancelIntegralRemark = "取消流水单";
// }
// else if (IntegralOrder.OrderType.SUPPORT.getValue().equals(integralOrder.getOrderType())){
// cancelIntegral -= ruleInfo.getOrderChildCancelRule().getIntegralSupportCancel();
// cancelIntegralRemark = "取消支援单";
// }
if (cancelIntegral < 0){
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecord.type.ORDER_CHILD_CANCEL.getValue(), cancelIntegral, cancelIntegralRemark);
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecordEnum.Type.ORDER_CHILD_CANCEL.getValue(), cancelIntegral, cancelIntegralRemark);
}
// 超时
if (null == orderChild.getExpectSendTime() && null == orderChild.getExpectReceiveTime()){
if (null == orderGoods.getLastArriveSendTime() && null == orderGoods.getLastArriveReceiveTime()){
integralSum = cancelIntegral;
return integralSum;
}
Integer sendAddressTime = null;
Integer receiveAddressTime = null;
if (null != orderChild.getExpectSendTime()) {
sendAddressTime = diffSecond(orderChild.getPayTime(), orderChild.getExpectSendTime());
}
if (null != orderChild.getExpectReceiveTime()) {
receiveAddressTime = diffSecond(orderChild.getExpectSendTime(), orderChild.getExpectReceiveTime());
}
LocalDateTime lastArriveSendTime = orderGoods.getLastArriveSendTime();
LocalDateTime lastArriveReceiveTime = orderGoods.getLastArriveReceiveTime();
int sendAddressTimeoutIntegral = 0;
if (null != orderChild.getExpectSendTime() && null != orderChild.getArriveSendTime()){
int realTime = diffSecond(orderChild.getPayTime(), orderChild.getArriveSendTime());
if (realTime >= sendAddressTime*2 && realTime < sendAddressTime*3) {sendAddressTimeoutIntegral = -3;}
else if (realTime >= sendAddressTime*3) {sendAddressTimeoutIntegral = -5;}
if (null != lastArriveSendTime && null != orderChild.getArriveSendTime() && orderChild.getArriveSendTime().isAfter(lastArriveSendTime)){
sendAddressTimeoutIntegral = -ruleInfo.getOrderChildTimeoutRule().getIntegralSendAddressTimeout();
}
else if (null != sendAddressTime && null == orderChild.getArriveSendTime()){
int realTime = diffSecond(orderChild.getPayTime(), orderChild.getFinishTime());
if (realTime >= sendAddressTime*2 && realTime < sendAddressTime*3) {sendAddressTimeoutIntegral = -3;}
else if (realTime >= sendAddressTime*3) {sendAddressTimeoutIntegral = -5;}
else if (null != lastArriveSendTime && null == orderChild.getArriveSendTime() && orderChild.getFinishTime().isAfter(lastArriveSendTime)){
sendAddressTimeoutIntegral = -ruleInfo.getOrderChildTimeoutRule().getIntegralSendAddressTimeout();
}
if (sendAddressTimeoutIntegral < 0){
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecord.type.ORDER_CHILD_CANCEL_TIMEOUT.getValue(), sendAddressTimeoutIntegral, "未按时到达货源地减分");
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecordEnum.Type.ORDER_CHILD_CANCEL_TIMEOUT.getValue(), sendAddressTimeoutIntegral, "未按时到达货源地减分");
}
int receivdAddressTimeoutIntegral = 0;
if (null != receiveAddressTime && null != orderChild.getArriveReceiveTime()){
int realTime = diffSecond(orderChild.getLoadTime(), orderChild.getArriveReceiveTime());
if (realTime >= receiveAddressTime*2 && realTime < receiveAddressTime*3) {receivdAddressTimeoutIntegral = -3;}
else if (realTime >= receiveAddressTime*3) {receivdAddressTimeoutIntegral = -5;}
int receiveAddressTimeoutIntegral = 0;
if (null != lastArriveReceiveTime && null != orderChild.getArriveReceiveTime() && orderChild.getArriveReceiveTime().isAfter(lastArriveReceiveTime)){
receiveAddressTimeoutIntegral = -ruleInfo.getOrderChildTimeoutRule().getIntegralReceiveAddressTimeout();
}
else if (null != receiveAddressTime && null != orderChild.getLoadTime()){
int realTime = diffSecond(orderChild.getLoadTime(), orderChild.getFinishTime());
if (realTime >= receiveAddressTime*2 && realTime < receiveAddressTime*3) {receivdAddressTimeoutIntegral = -3;}
else if (realTime >= receiveAddressTime*3) {receivdAddressTimeoutIntegral = -5;}
else if (null != lastArriveReceiveTime && null != orderChild.getLoadTime() && orderChild.getFinishTime().isAfter(lastArriveReceiveTime)){
receiveAddressTimeoutIntegral = -ruleInfo.getOrderChildTimeoutRule().getIntegralReceiveAddressTimeout();
}
if (receivdAddressTimeoutIntegral < 0){
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecord.type.ORDER_CHILD_CANCEL_TIMEOUT.getValue(), receivdAddressTimeoutIntegral, "未按时到达目的地减分");
if (receiveAddressTimeoutIntegral < 0){
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecordEnum.Type.ORDER_CHILD_CANCEL_TIMEOUT.getValue(), receiveAddressTimeoutIntegral, "未按时到达目的地减分");
}
integralSum = cancelIntegral+sendAddressTimeoutIntegral+receivdAddressTimeoutIntegral;
// 装卸车超时(下期开发)
integralSum = cancelIntegral+sendAddressTimeoutIntegral+receiveAddressTimeoutIntegral;
return integralSum;
}
/**
* 平台运单取消
*/
private int orderChildPlatformCancelIntegralSettlement(IntegralStatistics statistics, AppIntegralRuleVO ruleInfo, IntegralOrder integralOrder, OrderChild orderChild, OrderGoods orderGoods){
int integralSum = 0;
// 运单取消积分
Integer cancelIntegral = ruleInfo.getPlatformCompensationRule().getIntegralCancel();
int sum = integralRecordDao.sumByStatisticsIdAndTypes(statistics.getId(), Arrays.asList(IntegralRecordEnum.Type.ORDER_CHILD_PLATFORM_CANCEL.getValue()));
if (sum > ruleInfo.getPlatformCompensationRule().getIntegralCancelLimit()){
log.info("达到当日平台补偿积分上限,本次无效, childNo:{}", orderChild.getChildNo());
return integralSum;
}
else if (sum+cancelIntegral > ruleInfo.getPlatformCompensationRule().getIntegralCancelLimit()){
cancelIntegral = ruleInfo.getPlatformCompensationRule().getIntegralCancelLimit()-sum;
}
else {
}
if (cancelIntegral > 0){
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(),
IntegralRecordEnum.Type.ORDER_CHILD_PLATFORM_CANCEL.getValue(), cancelIntegral, IntegralRecordEnum.Type.ORDER_CHILD_PLATFORM_CANCEL.getMsg());
}
// 装卸车超时(下期开发)
integralSum = cancelIntegral;
return integralSum;
......
......@@ -4,6 +4,7 @@ import com.clx.performance.dao.IntegralRecordDao;
import com.clx.performance.dao.IntegralStatisticsDao;
import com.clx.performance.dao.IntegralTruckDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.integral.IntegralRecordEnum;
import com.clx.performance.model.IntegralRecord;
import com.clx.performance.model.IntegralStatistics;
import com.clx.performance.model.IntegralTruck;
......@@ -11,10 +12,12 @@ import com.clx.performance.param.pc.IntegralRecordAddParam;
import com.clx.performance.service.IntegralMqService;
import com.clx.performance.service.IntegralRecordService;
import com.clx.performance.utils.LocalDateTimeUtils;
import com.clx.performance.vo.pc.integral.AppIntegralRuleVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Slf4j
......@@ -50,7 +53,46 @@ public class IntegralRecordServiceImpl implements IntegralRecordService {
integralTruckDao.updateIntegral(truck);
// 新增积分记录
IntegralRecord record = save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecord.type.SYSTEM.getValue(), param.getIntegral(), param.getRemark());
IntegralRecord record = save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecordEnum.Type.SYSTEM.getValue(), param.getIntegral(), param.getRemark());
// 发送mq (新增积分记录)
integralMqService.integralRecordAdd(record.getStatisticsId(), record.getTruckNo(), record.getType(), record.getIntegral(), record.getRemark());
}
@Override
public void addRecord(AppIntegralRuleVO ruleInfo, String truckNo, Integer type, Integer integral, String remark) {
String statisticsDate = LocalDateTimeUtils.getWeekStart();
IntegralTruck truck = integralTruckDao.getByTruckNo(truckNo).orNull();
if (truck == null) {return;}
// 查找最新统计
IntegralStatistics statistics = integralStatisticsDao.selectByTruckNoAndStatisticsDate(truckNo, statisticsDate).orNull();
if (statistics == null) {return;}
IntegralRecord integralRecord = integralRecordDao.selectByStatisticsIdAndType(statistics.getId(), type);
if (integralRecord != null
&& integralRecord.getCreateTime().plusSeconds(ruleInfo.getDriverReportRule().getReportLimit().multiply(new BigDecimal(3600)).intValue()).isAfter(LocalDateTime.now())){
log.info("上报频繁,本次无效, truckNo:{}, type:{}, integral:{}, remark:{}", truckNo, type, integral, remark);
return;
}
int sum = integralRecordDao.sumByStatisticsIdAndTypes(statistics.getId(), IntegralRecordEnum.DRIVER_REPORT_lIST);
if (sum > ruleInfo.getDriverReportRule().getIntegralLimit()){
log.info("上报积分超上限,本次无效, truckNo:{}, type:{}, integral:{}, remark:{}", truckNo, type, integral, remark);
return;
}
// 更新积分
statistics.setIntegral(statistics.getIntegral()+integral);
integralStatisticsDao.updateIntegral(statistics);
truck.setIntegral(statistics.getIntegral());
integralTruckDao.updateIntegral(truck);
// 新增积分记录
IntegralRecord record = save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), type, integral, remark);
// 发送mq (新增积分记录)
integralMqService.integralRecordAdd(record.getStatisticsId(), record.getTruckNo(), record.getType(), record.getIntegral(), record.getRemark());
......
......@@ -9,6 +9,8 @@ import com.clx.performance.vo.mq.OrderChildAddMqParam;
import com.clx.performance.vo.mq.OrderChildArriveReceiveAddressMqParam;
import com.clx.performance.vo.mq.OrderChildArriveSendAddressMqParam;
import com.clx.performance.vo.mq.OrderChildDriverConfirmMqParam;
import com.clx.performance.vo.mq.OrderChildLoadMqParam;
import com.clx.performance.vo.mq.OrderChildUnloadMqParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -50,4 +52,15 @@ public class OrderChildMqHandlerServiceImpl implements OrderChildMqHandlerServic
}
@Override
public void orderChildLoad(OrderChildLoadMqParam mq) {
}
@Override
public void orderChildUnload(OrderChildUnloadMqParam mq) {
}
}
......@@ -10,6 +10,8 @@ import com.clx.performance.vo.mq.OrderChildAddMqParam;
import com.clx.performance.vo.mq.OrderChildArriveReceiveAddressMqParam;
import com.clx.performance.vo.mq.OrderChildArriveSendAddressMqParam;
import com.clx.performance.vo.mq.OrderChildDriverConfirmMqParam;
import com.clx.performance.vo.mq.OrderChildLoadMqParam;
import com.clx.performance.vo.mq.OrderChildUnloadMqParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessageBuilder;
......@@ -83,4 +85,28 @@ public class OrderChildMqServiceImpl implements OrderChildMqService {
rabbitTemplate.send(RabbitKeyOrderChildConstants.DEFAULT_EXCHANGE, RabbitKeyOrderChildConstants.DEFAULT_DELAY_ROUTING_KEY, message);
}
@Override
public void orderChildLoad(String childNo) {
OrderChildLoadMqParam mq = new OrderChildLoadMqParam();
mq.setChildNo(childNo);
MqDelay<MqWrapper<OrderChildLoadMqParam>> delay = new MqDelay<>(RabbitKeyOrderChildConstants.DEFAULT_EXCHANGE, RabbitKeyOrderChildConstants.ORDER_CHILD_LOAD_ROUTING_KEY, new MqWrapper<>(mq));
Message message = MessageBuilder.withBody(JSON.toJSONString(new MqWrapper<>(delay)).getBytes()).build();
message.getMessageProperties().setExpiration("5000");
rabbitTemplate.send(RabbitKeyOrderChildConstants.DEFAULT_EXCHANGE, RabbitKeyOrderChildConstants.DEFAULT_DELAY_ROUTING_KEY, message);
}
@Override
public void orderChildUnLoad(String childNo) {
OrderChildUnloadMqParam mq = new OrderChildUnloadMqParam();
mq.setChildNo(childNo);
MqDelay<MqWrapper<OrderChildUnloadMqParam>> delay = new MqDelay<>(RabbitKeyOrderChildConstants.DEFAULT_EXCHANGE, RabbitKeyOrderChildConstants.ORDER_CHILD_UNLOAD_ROUTING_KEY, new MqWrapper<>(mq));
Message message = MessageBuilder.withBody(JSON.toJSONString(new MqWrapper<>(delay)).getBytes()).build();
message.getMessageProperties().setExpiration("5000");
rabbitTemplate.send(RabbitKeyOrderChildConstants.DEFAULT_EXCHANGE, RabbitKeyOrderChildConstants.DEFAULT_DELAY_ROUTING_KEY, message);
}
}
package com.clx.performance.service.impl.collect;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.collect.CollectLineReportDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.integral.IntegralRecordEnum;
import com.clx.performance.model.OrderChild;
import com.clx.performance.model.collect.CollectLineReport;
import com.clx.performance.param.app.collect.*;
import com.clx.performance.param.pc.carrier.*;
import com.clx.performance.service.IntegralRecordService;
import com.clx.performance.service.collect.CollectLineReportService;
import com.clx.performance.service.integral.IntegralRuleService;
import com.clx.performance.struct.collect.CollectLineReportStruct;
import com.clx.performance.vo.pc.collect.CollectLineReportVO;
import com.clx.performance.vo.pc.integral.AppIntegralRuleVO;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.Objects;
@Slf4j
@Service
public class CollectLineReportServiceImpl implements CollectLineReportService {
@Autowired
private CollectLineReportDao collectLineReportDao;
@Autowired
private OrderChildDao orderChildDao;
@Autowired
private CollectLineReportStruct collectLineReportStruct;
@Autowired
private IntegralRuleService integralRuleService;
@Autowired
private IntegralRecordService integralRecordService;
@Transactional(rollbackFor = Exception.class)
@Override
public void saveSendAddressReport(CollectLineReportSendAddressSaveParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
OrderChild orderChild = orderChildDao.getByChildNo(param.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
CollectLineReport collectLineReport = new CollectLineReport();
collectLineReport.setUserNo(userNo);
collectLineReport.setName(loginUserInfo.getUserName());
collectLineReport.setMobile(loginUserInfo.getUserMobile());
collectLineReport.setTruckNo(orderChild.getTruckNo());
collectLineReport.setChildNo(param.getChildNo());
collectLineReport.setSendAddressId(orderChild.getSendAddressId());
collectLineReport.setSendAddress(orderChild.getSendAddress());
collectLineReport.setReceiveAddressId(orderChild.getReceiveAddressId());
collectLineReport.setReceiveAddress(orderChild.getReceiveAddress());
collectLineReport.setType(CollectLineReport.Type.SEND.getCode());
collectLineReport.setReportType(CollectLineReport.ReportType.SEND_ADDRESS.getCode());
collectLineReport.setReportStatus(param.getReportStatus());
collectLineReport.setRemark(param.getStatus()==1? "有存煤" : "现产现装");
collectLineReport.setReportTime(LocalDateTime.now());
collectLineReport.setCreateTime(collectLineReport.getReportTime());
collectLineReportDao.saveEntity(collectLineReport);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void saveAbnormalReport(CollectLineReportAbnormalSaveParam param) {
if (Objects.equals(param.getReportType(), CollectLineReport.ReportType.UNABLE_TO_SEND_ADDRESS.getCode())){
saveSendAddressAbnormalReport(new CollectLineReportSendAddressAbnormalSaveParam(param.getChildNo(), param.getRemark()));
}
else if (Objects.equals(param.getReportType(), CollectLineReport.ReportType.UNABLE_LOAD.getCode())){
saveLoadAbnormalReport(new CollectLineReportLoadAbnormalSaveParam(param.getChildNo(), param.getRemark()));
}
else if (Objects.equals(param.getReportType(), CollectLineReport.ReportType.UNABLE_TO_RECEIVE_ADDRESS.getCode())){
saveReceiveAddressAbnormalReport(new CollectLineReportReceiveAddressAbnormalSaveParam(param.getChildNo(), param.getRemark()));
}
else if (Objects.equals(param.getReportType(), CollectLineReport.ReportType.LOAD_UNLOAD.getCode())){
saveLoadUnloadAbnormalReport(new CollectLineReportLoadUnloadAbnormalSaveParam(param.getChildNo(), param.getRemark()));
}
}
@Transactional(rollbackFor = Exception.class)
@Override
public CollectLineReport saveSendAddressAbnormalReport(CollectLineReportSendAddressAbnormalSaveParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
OrderChild orderChild = orderChildDao.getByChildNo(param.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
CollectLineReport collectLineReport = new CollectLineReport();
collectLineReport.setUserNo(userNo);
collectLineReport.setName(loginUserInfo.getUserName());
collectLineReport.setMobile(loginUserInfo.getUserMobile());
collectLineReport.setTruckNo(orderChild.getTruckNo());
collectLineReport.setChildNo(param.getChildNo());
collectLineReport.setSendAddressId(orderChild.getSendAddressId());
collectLineReport.setSendAddress(orderChild.getSendAddress());
collectLineReport.setReceiveAddressId(orderChild.getReceiveAddressId());
collectLineReport.setReceiveAddress(orderChild.getReceiveAddress());
collectLineReport.setType(CollectLineReport.Type.SEND.getCode());
collectLineReport.setReportType(CollectLineReport.ReportType.UNABLE_TO_SEND_ADDRESS.getCode());
collectLineReport.setReportStatus(CollectLineReport.ReportStatus.ABNORMAL.getCode());
collectLineReport.setRemark(param.getRemark());
collectLineReport.setReportTime(LocalDateTime.now());
collectLineReport.setCreateTime(collectLineReport.getReportTime());
collectLineReportDao.saveEntity(collectLineReport);
return collectLineReport;
}
@Transactional(rollbackFor = Exception.class)
@Override
public CollectLineReport saveLoadAbnormalReport(CollectLineReportLoadAbnormalSaveParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
OrderChild orderChild = orderChildDao.getByChildNo(param.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
CollectLineReport collectLineReport = new CollectLineReport();
collectLineReport.setUserNo(userNo);
collectLineReport.setName(loginUserInfo.getUserName());
collectLineReport.setMobile(loginUserInfo.getUserMobile());
collectLineReport.setTruckNo(orderChild.getTruckNo());
collectLineReport.setChildNo(param.getChildNo());
collectLineReport.setSendAddressId(orderChild.getSendAddressId());
collectLineReport.setSendAddress(orderChild.getSendAddress());
collectLineReport.setReceiveAddressId(orderChild.getReceiveAddressId());
collectLineReport.setReceiveAddress(orderChild.getReceiveAddress());
collectLineReport.setType(CollectLineReport.Type.SEND.getCode());
collectLineReport.setReportType(CollectLineReport.ReportType.UNABLE_LOAD.getCode());
collectLineReport.setReportStatus(CollectLineReport.ReportStatus.ABNORMAL.getCode());
collectLineReport.setRemark(param.getRemark());
collectLineReport.setReportTime(LocalDateTime.now());
collectLineReport.setCreateTime(collectLineReport.getReportTime());
collectLineReportDao.saveEntity(collectLineReport);
return collectLineReport;
}
@Transactional(rollbackFor = Exception.class)
@Override
public CollectLineReport saveReceiveAddressAbnormalReport(CollectLineReportReceiveAddressAbnormalSaveParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
OrderChild orderChild = orderChildDao.getByChildNo(param.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
CollectLineReport collectLineReport = new CollectLineReport();
collectLineReport.setUserNo(userNo);
collectLineReport.setName(loginUserInfo.getUserName());
collectLineReport.setMobile(loginUserInfo.getUserMobile());
collectLineReport.setTruckNo(orderChild.getTruckNo());
collectLineReport.setChildNo(param.getChildNo());
collectLineReport.setSendAddressId(orderChild.getSendAddressId());
collectLineReport.setSendAddress(orderChild.getSendAddress());
collectLineReport.setReceiveAddressId(orderChild.getReceiveAddressId());
collectLineReport.setReceiveAddress(orderChild.getReceiveAddress());
collectLineReport.setType(CollectLineReport.Type.RECEIVE.getCode());
collectLineReport.setReportType(CollectLineReport.ReportType.UNABLE_TO_RECEIVE_ADDRESS.getCode());
collectLineReport.setReportStatus(CollectLineReport.ReportStatus.ABNORMAL.getCode());
collectLineReport.setRemark(param.getRemark());
collectLineReport.setReportTime(LocalDateTime.now());
collectLineReport.setCreateTime(collectLineReport.getReportTime());
collectLineReportDao.saveEntity(collectLineReport);
return collectLineReport;
}
@Transactional(rollbackFor = Exception.class)
@Override
public CollectLineReport saveLoadUnloadAbnormalReport(CollectLineReportLoadUnloadAbnormalSaveParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
OrderChild orderChild = orderChildDao.getByChildNo(param.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
CollectLineReport collectLineReport = new CollectLineReport();
collectLineReport.setUserNo(userNo);
collectLineReport.setName(loginUserInfo.getUserName());
collectLineReport.setMobile(loginUserInfo.getUserMobile());
collectLineReport.setTruckNo(orderChild.getTruckNo());
collectLineReport.setChildNo(param.getChildNo());
collectLineReport.setSendAddressId(orderChild.getSendAddressId());
collectLineReport.setSendAddress(orderChild.getSendAddress());
collectLineReport.setReceiveAddressId(orderChild.getReceiveAddressId());
collectLineReport.setReceiveAddress(orderChild.getReceiveAddress());
collectLineReport.setReportType(CollectLineReport.ReportType.LOAD_UNLOAD.getCode());
collectLineReport.setReportStatus(CollectLineReport.ReportStatus.ABNORMAL.getCode());
collectLineReport.setRemark(param.getRemark());
collectLineReport.setReportTime(LocalDateTime.now());
collectLineReport.setCreateTime(collectLineReport.getReportTime());
collectLineReportDao.saveEntity(collectLineReport);
return collectLineReport;
}
@Transactional(rollbackFor = Exception.class)
@Override
public void saveNoTakeOrderAbnormalReport(CollectLineReportNoTakeOrderAbnormalSaveParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
OrderChild orderChild = orderChildDao.getByChildNo(param.getOrderGoodsNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
CollectLineReport collectLineReport = new CollectLineReport();
collectLineReport.setUserNo(userNo);
collectLineReport.setName(loginUserInfo.getUserName());
collectLineReport.setMobile(loginUserInfo.getUserMobile());
collectLineReport.setTruckNo(orderChild.getTruckNo());
collectLineReport.setOrderGoodsNo(param.getOrderGoodsNo());
collectLineReport.setSendAddressId(orderChild.getSendAddressId());
collectLineReport.setSendAddress(orderChild.getSendAddress());
collectLineReport.setReceiveAddressId(orderChild.getReceiveAddressId());
collectLineReport.setReceiveAddress(orderChild.getReceiveAddress());
collectLineReport.setType(CollectLineReport.Type.SEND.getCode());
collectLineReport.setReportType(CollectLineReport.ReportType.NO_TAKE_ORDER.getCode());
collectLineReport.setReportStatus(CollectLineReport.ReportStatus.ABNORMAL.getCode());
collectLineReport.setRemark(param.getRemark());
collectLineReport.setReportTime(LocalDateTime.now());
collectLineReport.setCreateTime(collectLineReport.getReportTime());
collectLineReportDao.saveEntity(collectLineReport);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void saveOtherReport(CollectLineReportOtherSaveParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
CollectLineReport collectLineReport = new CollectLineReport();
collectLineReport.setUserNo(userNo);
collectLineReport.setName(loginUserInfo.getUserName());
collectLineReport.setMobile(loginUserInfo.getUserMobile());
collectLineReport.setType(CollectLineReport.Type.SEND.getCode());
collectLineReport.setReportType(CollectLineReport.ReportType.OTHER.getCode());
collectLineReport.setReportStatus(CollectLineReport.ReportStatus.NORMAL.getCode());
collectLineReport.setRemark(param.getRemark());
collectLineReport.setImage(param.getImageList()==null? null:JSON.toJSONString(param.getImageList()));
collectLineReport.setReportTime(LocalDateTime.now());
collectLineReport.setCreateTime(collectLineReport.getReportTime());
collectLineReportDao.saveEntity(collectLineReport);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void saveQualityReport(CollectLineReportQualitySaveParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
OrderChild orderChild = orderChildDao.getByChildNo(param.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
CollectLineReport collectLineReport = new CollectLineReport();
collectLineReport.setUserNo(userNo);
collectLineReport.setName(loginUserInfo.getUserName());
collectLineReport.setMobile(loginUserInfo.getUserMobile());
collectLineReport.setTruckNo(orderChild.getTruckNo());
collectLineReport.setChildNo(param.getChildNo());
collectLineReport.setSendAddressId(orderChild.getSendAddressId());
collectLineReport.setSendAddress(orderChild.getSendAddress());
collectLineReport.setReceiveAddressId(orderChild.getReceiveAddressId());
collectLineReport.setReceiveAddress(orderChild.getReceiveAddress());
collectLineReport.setType(CollectLineReport.Type.RECEIVE.getCode());
collectLineReport.setReportType(CollectLineReport.ReportType.QUALITY.getCode());
collectLineReport.setReportStatus(CollectLineReport.ReportStatus.NORMAL.getCode());
collectLineReport.setRemark(param.getRemark());
collectLineReport.setImage(param.getImageList()==null? null:JSON.toJSONString(param.getImageList()));
collectLineReport.setReportTime(LocalDateTime.now());
collectLineReport.setCreateTime(collectLineReport.getReportTime());
collectLineReportDao.saveEntity(collectLineReport);
}
@Override
public CollectLineReportVO getReportInfo(Integer id) {
return collectLineReportDao.getEntityByKey(id).map(collectLineReportStruct::convert).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
}
@Override
public IPage<CollectLineReportVO> pageLineReport(PageCollectLineReportParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
param.setUserNo(userNo);
return collectLineReportDao.pageLineReport(param);
}
@Override
public IPage<CollectLineReportVO> carrierPageSendAddressReport(CarrierPageCollectSendAddressReportParam param) {
return collectLineReportDao.carrierPageSendAddressReport(param);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateSendAddressReportAudit(CollectLineReportSendAddressAuditParam param) {
CollectLineReport collectLineReport = collectLineReportDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
collectLineReport.setAuditStatus(CollectLineReport.AuditStatus.AUDIT.getCode());
collectLineReportDao.updateAuditStatus(collectLineReport);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateAbnormalReportAudit(CollectLineReportSendAddressAuditParam param) {
CollectLineReport collectLineReport = collectLineReportDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
collectLineReport.setAuditStatus(CollectLineReport.AuditStatus.AUDIT.getCode());
collectLineReportDao.updateAuditStatus(collectLineReport);
// 查找规则
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
integralRecordService.addRecord(ruleInfo, collectLineReport.getTruckNo(), IntegralRecordEnum.Type.REPORT_ABNORMAL.getValue(),
ruleInfo.getDriverReportRule().getIntegralQuality(), IntegralRecordEnum.Type.REPORT_ABNORMAL.getMsg());
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateNoTakeOrderReportAudit(CollectLineReportSendAddressAuditParam param) {
CollectLineReport collectLineReport = collectLineReportDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
collectLineReport.setAuditStatus(CollectLineReport.AuditStatus.AUDIT.getCode());
collectLineReportDao.updateAuditStatus(collectLineReport);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateQualityReportAudit(CollectLineReportSendAddressAuditParam param) {
CollectLineReport collectLineReport = collectLineReportDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
collectLineReport.setAuditStatus(CollectLineReport.AuditStatus.AUDIT.getCode());
collectLineReportDao.updateAuditStatus(collectLineReport);
// 查找规则
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
integralRecordService.addRecord(ruleInfo, collectLineReport.getTruckNo(), IntegralRecordEnum.Type.REPORT_QUALITY.getValue(),
ruleInfo.getDriverReportRule().getIntegralQuality(), IntegralRecordEnum.Type.REPORT_QUALITY.getMsg());
}
@Override
public IPage<CollectLineReportVO> carrierPageAbnormalReport(CarrierPageCollectAbnormalReportParam param) {
return collectLineReportDao.carrierPageAbnormalReport(param);
}
@Override
public IPage<CollectLineReportVO> carrierPageNoTakeOrderReport(CarrierPageCollectNoTakeOrderReportParam param) {
return collectLineReportDao.carrierPageNoTakeOrderReport(param);
}
@Override
public IPage<CollectLineReportVO> carrierPageQualityReport(CarrierPageCollectQualityReportParam param) {
return collectLineReportDao.carrierPageQualityReport(param);
}
@Override
public IPage<CollectLineReportVO> carrierPageOtherReport(CarrierPageCollectOtherReportParam param) {
return collectLineReportDao.carrierPageOtherReport(param);
}
}
package com.clx.performance.service.impl.collect;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.collect.CollectTrafficCongestionDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.integral.IntegralRecordEnum;
import com.clx.performance.model.collect.CollectTrafficCongestion;
import com.clx.performance.param.app.collect.CollectTrafficCongestionAuditParam;
import com.clx.performance.param.app.collect.CollectTrafficCongestionSaveParam;
import com.clx.performance.param.app.collect.PageCollectTraficCongestionParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTraficCongestionParam;
import com.clx.performance.service.IntegralRecordService;
import com.clx.performance.service.collect.CollectTrafficCongestionService;
import com.clx.performance.service.integral.IntegralRuleService;
import com.clx.performance.struct.collect.CollectTrafficCongestionStruct;
import com.clx.performance.vo.pc.collect.CollectTrafficCongestionVO;
import com.clx.performance.vo.pc.integral.AppIntegralRuleVO;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import java.time.LocalDateTime;
@Slf4j
@Service
public class CollectTrafficCongestionServiceImpl implements CollectTrafficCongestionService {
@Autowired
private CollectTrafficCongestionDao collectTrafficCongestionDao;
@Autowired
private CollectTrafficCongestionStruct collectTrafficCongestionStruct;
@Autowired
private IntegralRecordService integralRecordService;
@Autowired
private IntegralRuleService integralRuleService;
@Transactional(rollbackFor = Exception.class)
@Override
public void saveTrafficReport(CollectTrafficCongestionSaveParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
CollectTrafficCongestion collectTrafficCongestion = new CollectTrafficCongestion();
collectTrafficCongestion.setUserNo(userNo);
collectTrafficCongestion.setName(loginUserInfo.getUserName());
collectTrafficCongestion.setMobile(loginUserInfo.getUserMobile());
collectTrafficCongestion.setTruckNo("");
collectTrafficCongestion.setLongitude(param.getLongitude());
collectTrafficCongestion.setLatitude(param.getLatitude());
collectTrafficCongestion.setProvince(param.getProvince());
collectTrafficCongestion.setCity(param.getCity());
collectTrafficCongestion.setCounty(param.getCounty());
collectTrafficCongestion.setTown(param.getTown());
collectTrafficCongestion.setStreet(param.getStreet());
collectTrafficCongestion.setAddress(param.getAddress());
collectTrafficCongestion.setFullAddress("");
if (!StringUtils.isEmpty(param.getProvince())){collectTrafficCongestion.setFullAddress(collectTrafficCongestion.getFullAddress()+param.getProvince());}
if (!StringUtils.isEmpty(param.getCity())){collectTrafficCongestion.setFullAddress(collectTrafficCongestion.getFullAddress()+param.getCity());}
if (!StringUtils.isEmpty(param.getCounty())){collectTrafficCongestion.setFullAddress(collectTrafficCongestion.getFullAddress()+param.getCounty());}
if (!StringUtils.isEmpty(param.getTown())){collectTrafficCongestion.setFullAddress(collectTrafficCongestion.getFullAddress()+param.getTown());}
if (!StringUtils.isEmpty(param.getStreet())){collectTrafficCongestion.setFullAddress(collectTrafficCongestion.getFullAddress()+param.getStreet());}
if (!StringUtils.isEmpty(param.getAddress())){collectTrafficCongestion.setFullAddress(collectTrafficCongestion.getFullAddress()+param.getAddress());}
collectTrafficCongestion.setJamTime(param.getJamTime());
collectTrafficCongestion.setJamImage(param.getJamImageList()==null? null:JSON.toJSONString(param.getJamImageList()));
collectTrafficCongestion.setReportTime(LocalDateTime.now());
collectTrafficCongestion.setCreateTime(collectTrafficCongestion.getReportTime());
collectTrafficCongestionDao.saveEntity(collectTrafficCongestion);
}
@Override
public CollectTrafficCongestionVO getReportInfo(Integer id) {
return collectTrafficCongestionDao.getEntityByKey(id).map(collectTrafficCongestionStruct::convert).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
}
@Override
public IPage<CollectTrafficCongestionVO> pageTrafficReport(PageCollectTraficCongestionParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
param.setUserNo(userNo);
return collectTrafficCongestionDao.pageTraffic(param);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateTrafficCongestionAudit(CollectTrafficCongestionAuditParam param) {
CollectTrafficCongestion collectTrafficCongestion = collectTrafficCongestionDao.getEntityByKey(param.getId()).orElseThrow();
collectTrafficCongestion.setAuditStatus(CollectTrafficCongestion.AuditStatus.AUDIT.getCode());
collectTrafficCongestionDao.updateAuditStatus(collectTrafficCongestion);
// 查找规则
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
integralRecordService.addRecord(ruleInfo, collectTrafficCongestion.getTruckNo(), IntegralRecordEnum.Type.REPORT_TRAFFIC.getValue(),
ruleInfo.getDriverReportRule().getIntegralTraffic(), IntegralRecordEnum.Type.REPORT_TRAFFIC.getMsg());
}
@Override
public IPage<CollectTrafficCongestionVO> carrierPageTrafficReport(CarrierPageCollectTraficCongestionParam param) {
return collectTrafficCongestionDao.carrierPageTraffic(param);
}
}
package com.clx.performance.service.impl.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.collect.CollectTruckLeaveDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.model.collect.CollectTruckLeave;
import com.clx.performance.param.app.collect.CollectTruckLeaveSaveParam;
import com.clx.performance.param.app.collect.PageCollectTruckLeaveParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckLeaveParam;
import com.clx.performance.service.collect.CollectTruckLeaveService;
import com.clx.performance.struct.collect.CollectTruckLeaveStruct;
import com.clx.performance.utils.LocalDateTimeUtils;
import com.clx.performance.vo.pc.collect.CollectTruckLeaveVO;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
@Slf4j
@Service
public class CollectTruckLeaveServiceImpl implements CollectTruckLeaveService {
@Autowired
private CollectTruckLeaveDao collectTruckLeaveDao;
@Autowired
private CollectTruckLeaveStruct collectTruckLeaveStruct;
@Override
public void saveLeave(CollectTruckLeaveSaveParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
CollectTruckLeave collectTruckLeave = new CollectTruckLeave();
collectTruckLeave.setUserNo(userNo);
collectTruckLeave.setName(loginUserInfo.getUserName());
collectTruckLeave.setMobile(loginUserInfo.getUserMobile());
collectTruckLeave.setTruckNo("");
collectTruckLeave.setBeginTime(LocalDateTimeUtils.parseTime(param.getBeginTime()));
collectTruckLeave.setEndTime(LocalDateTimeUtils.parseTime(param.getEndTime()));
collectTruckLeave.setRemark(param.getRemark());
collectTruckLeave.setReportTime(LocalDateTime.now());
collectTruckLeave.setCreateTime(collectTruckLeave.getReportTime());
collectTruckLeaveDao.saveEntity(collectTruckLeave);
}
@Override
public CollectTruckLeaveVO getInfo(Integer id) {
return collectTruckLeaveDao.getEntityByKey(id).map(collectTruckLeaveStruct::convert).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
}
@Override
public IPage<CollectTruckLeaveVO> pageLeave(PageCollectTruckLeaveParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
param.setUserNo(userNo);
return collectTruckLeaveDao.pageLeave(param);
}
@Override
public IPage<CollectTruckLeaveVO> carrierPageLeave(CarrierPageCollectTruckLeaveParam param) {
return collectTruckLeaveDao.carrierPageLeave(param);
}
}
package com.clx.performance.service.impl.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.collect.CollectTruckLocationDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.model.collect.CollectTruckLocation;
import com.clx.performance.param.app.collect.CollectTruckLocationSaveParam;
import com.clx.performance.param.app.collect.PageCollectTruckLocationParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckLocationParam;
import com.clx.performance.service.collect.CollectTruckLocationService;
import com.clx.performance.struct.collect.CollectTruckLocationStruct;
import com.clx.performance.vo.pc.collect.CollectTruckLocationVO;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.time.LocalDateTime;
@Slf4j
@Service
public class CollectTruckLocationServiceImpl implements CollectTruckLocationService {
@Autowired
private CollectTruckLocationDao collectTruckLocationDao;
@Autowired
private CollectTruckLocationStruct collectTruckLocationStruct;
@Override
public void saveLocationReport(CollectTruckLocationSaveParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
CollectTruckLocation collectTruckLocation = new CollectTruckLocation();
collectTruckLocation.setUserNo(userNo);
collectTruckLocation.setName(loginUserInfo.getUserName());
collectTruckLocation.setMobile(loginUserInfo.getUserMobile());
collectTruckLocation.setTruckNo(param.getTruckNo());
collectTruckLocation.setTruckOrderStatus(param.getTruckOrderStatus());
collectTruckLocation.setLongitude(param.getLongitude());
collectTruckLocation.setLatitude(param.getLatitude());
collectTruckLocation.setProvince(param.getProvince());
collectTruckLocation.setCity(param.getCity());
collectTruckLocation.setCounty(param.getCounty());
collectTruckLocation.setTown(param.getTown());
collectTruckLocation.setStreet(param.getStreet());
collectTruckLocation.setAddress(param.getAddress());
collectTruckLocation.setLocationRemark(param.getLocationRemark());
collectTruckLocation.setFullAddress("");
if (!StringUtils.isEmpty(param.getLocationRemark())){
collectTruckLocation.setFullAddress(param.getLocationRemark());
}
else {
if (!StringUtils.isEmpty(param.getProvince())){collectTruckLocation.setFullAddress(collectTruckLocation.getFullAddress()+param.getProvince());}
if (!StringUtils.isEmpty(param.getCity())){collectTruckLocation.setFullAddress(collectTruckLocation.getFullAddress()+param.getCity());}
if (!StringUtils.isEmpty(param.getCounty())){collectTruckLocation.setFullAddress(collectTruckLocation.getFullAddress()+param.getCounty());}
if (!StringUtils.isEmpty(param.getTown())){collectTruckLocation.setFullAddress(collectTruckLocation.getFullAddress()+param.getTown());}
if (!StringUtils.isEmpty(param.getStreet())){collectTruckLocation.setFullAddress(collectTruckLocation.getFullAddress()+param.getStreet());}
if (!StringUtils.isEmpty(param.getAddress())){collectTruckLocation.setFullAddress(collectTruckLocation.getFullAddress()+param.getAddress());}
}
collectTruckLocation.setReportTime(LocalDateTime.now());
collectTruckLocation.setCreateTime(collectTruckLocation.getReportTime());
collectTruckLocationDao.saveEntity(collectTruckLocation);
}
@Override
public CollectTruckLocationVO getReportInfo(Integer id) {
return collectTruckLocationDao.getEntityByKey(id).map(collectTruckLocationStruct::convert).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
}
@Override
public IPage<CollectTruckLocationVO> pageLocationReport(PageCollectTruckLocationParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
param.setUserNo(userNo);
return collectTruckLocationDao.pageLocation(param);
}
@Override
public IPage<CollectTruckLocationVO> carrierPageLocationReport(CarrierPageCollectTruckLocationParam param) {
return collectTruckLocationDao.carrierPageLocation(param);
}
}
package com.clx.performance.service.impl.collect;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.collect.CollectTruckRefuelDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.integral.IntegralRecordEnum;
import com.clx.performance.model.OrderChild;
import com.clx.performance.model.collect.CollectTruckRefuel;
import com.clx.performance.param.app.collect.CollectTruckRefuelSaveParam;
import com.clx.performance.param.app.collect.PageCollectTruckRefuelParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckRefuelParam;
import com.clx.performance.service.IntegralRecordService;
import com.clx.performance.service.collect.CollectTruckRefuelService;
import com.clx.performance.service.integral.IntegralRuleService;
import com.clx.performance.struct.collect.CollectTruckRefuelStruct;
import com.clx.performance.vo.pc.collect.CollectTruckRefuelVO;
import com.clx.performance.vo.pc.integral.AppIntegralRuleVO;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
@Slf4j
@Service
public class CollectTruckRefuelServiceImpl implements CollectTruckRefuelService {
@Autowired
private CollectTruckRefuelDao collectTruckRefuelDao;
@Autowired
private OrderChildDao orderChildDao;
@Autowired
private CollectTruckRefuelStruct collectTruckRefuelStruct;
@Autowired
private IntegralRuleService integralRuleService;
@Autowired
private IntegralRecordService integralRecordService;
@Transactional(rollbackFor = Exception.class)
@Override
public void saveRefuelReport(CollectTruckRefuelSaveParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
OrderChild orderChild = orderChildDao.getByChildNo(param.getChildNo()).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
CollectTruckRefuel collectTruckRefuel = new CollectTruckRefuel();
collectTruckRefuel.setUserNo(userNo);
collectTruckRefuel.setName(loginUserInfo.getUserName());
collectTruckRefuel.setMobile(loginUserInfo.getUserMobile());
collectTruckRefuel.setTruckNo(orderChild.getTruckNo());
collectTruckRefuel.setChildNo(param.getChildNo());
collectTruckRefuel.setSendAddressId(orderChild.getSendAddressId());
collectTruckRefuel.setSendAddress(orderChild.getSendAddress());
collectTruckRefuel.setReceiveAddressId(orderChild.getReceiveAddressId());
collectTruckRefuel.setReceiveAddress(orderChild.getReceiveAddress());
collectTruckRefuel.setLoadImage(param.getLoadImageList()==null? null:JSON.toJSONString(param.getLoadImageList()));
collectTruckRefuel.setUnloadImage(param.getUnloadImageList()==null? null:JSON.toJSONString(param.getUnloadImageList()));
collectTruckRefuel.setLoadOil(param.getLoadOil());
collectTruckRefuel.setUnloadOil(param.getUnloadOil());
collectTruckRefuel.setReportTime(LocalDateTime.now());
collectTruckRefuel.setCreateTime(collectTruckRefuel.getReportTime());
collectTruckRefuelDao.saveEntity(collectTruckRefuel);
// 查找规则
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
integralRecordService.addRecord(ruleInfo, collectTruckRefuel.getTruckNo(), IntegralRecordEnum.Type.REPORT_REFUEL.getValue(),
ruleInfo.getDriverReportRule().getIntegralRefuel(), IntegralRecordEnum.Type.REPORT_REFUEL.getMsg());
}
@Override
public CollectTruckRefuelVO getReportInfo(Integer id) {
return collectTruckRefuelDao.getEntityByKey(id).map(collectTruckRefuelStruct::convert).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
}
@Override
public IPage<CollectTruckRefuelVO> pageRefuelReport(PageCollectTruckRefuelParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
param.setUserNo(userNo);
return collectTruckRefuelDao.pageRefuel(param);
}
@Override
public IPage<CollectTruckRefuelVO> carrierPageRefuelReport(CarrierPageCollectTruckRefuelParam param) {
return collectTruckRefuelDao.carrierPageRefuel(param);
}
}
package com.clx.performance.service.impl.collect;
import com.clx.performance.dao.collect.CollectTruckDao;
import com.clx.performance.enums.integral.IntegralRecordEnum;
import com.clx.performance.model.collect.CollectTruck;
import com.clx.performance.param.app.collect.*;
import com.clx.performance.service.IntegralRecordService;
import com.clx.performance.service.collect.CollectTruckService;
import com.clx.performance.service.integral.IntegralRuleService;
import com.clx.performance.struct.collect.CollectTruckStruct;
import com.clx.performance.vo.app.collect.AppCollectTruckVO;
import com.clx.performance.vo.pc.integral.AppIntegralRuleVO;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Objects;
@Slf4j
@Service
public class CollectTruckServiceImpl implements CollectTruckService {
@Autowired
private CollectTruckDao collectTruckDao;
@Autowired
private CollectTruckStruct collectTruckStruct;
@Autowired
private IntegralRecordService integralRecordService;
@Autowired
private IntegralRuleService integralRuleService;
@Transactional(rollbackFor = Exception.class)
@Override
public void updateUnloadType(CollectTruckUnloadTypeUpdateParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
boolean flag;
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull();
if (truck == null) {
truck.setUserNo(userNo);
truck.setName(loginUserInfo.getUserName());
truck.setMobile(loginUserInfo.getUserMobile());
truck.setTruckNo(param.getTruckNo());
collectTruckDao.saveEntity(truck);
flag = true;
}
else {
flag = !Objects.equals(truck.getUnloadType(), param.getUnloadType());
}
truck.setUnloadType(param.getUnloadType());
collectTruckDao.update(truck);
if (!flag) {return;}
// 查找规则
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
integralRecordService.addRecord(ruleInfo, truck.getTruckNo(), IntegralRecordEnum.Type.REPORT_TRUCK_INFO.getValue(),
ruleInfo.getDriverReportRule().getIntegralTruck(), IntegralRecordEnum.Type.REPORT_TRUCK_INFO.getMsg());
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateAutoLoanStatus(CollectAutoLoanStatusUpdateParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
boolean flag;
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull();
if (truck == null) {
truck.setUserNo(userNo);
truck.setName(loginUserInfo.getUserName());
truck.setMobile(loginUserInfo.getUserMobile());
truck.setTruckNo(param.getTruckNo());
collectTruckDao.saveEntity(truck);
flag = true;
}
else {
flag = !(Objects.equals(truck.getAutoLoanStatus(), param.getAutoLoanStatus())&&Objects.equals(truck.getAutoLoanMonth(), param.getAutoLoanMonth()));
}
truck.setAutoLoanStatus(param.getAutoLoanStatus());
truck.setAutoLoanMonth(param.getAutoLoanMonth());
collectTruckDao.update(truck);
if (!flag) {return;}
// 查找规则
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
integralRecordService.addRecord(ruleInfo, truck.getTruckNo(), IntegralRecordEnum.Type.REPORT_TRUCK_INFO.getValue(),
ruleInfo.getDriverReportRule().getIntegralTruck(), IntegralRecordEnum.Type.REPORT_TRUCK_INFO.getMsg());
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateParkAddress(CollectTruckReportParkAddressUpdateParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
boolean flag;
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull();
if (truck == null) {
truck.setUserNo(userNo);
truck.setName(loginUserInfo.getUserName());
truck.setMobile(loginUserInfo.getUserMobile());
truck.setTruckNo(param.getTruckNo());
collectTruckDao.saveEntity(truck);
flag = true;
}
else {
flag = !Objects.equals(truck.getParkAddress(), param.getParkAddress());
}
truck.setParkAddress(param.getParkAddress());
collectTruckDao.update(truck);
if (!flag) {return;}
// 查找规则
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
integralRecordService.addRecord(ruleInfo, truck.getTruckNo(), IntegralRecordEnum.Type.REPORT_TRUCK_INFO.getValue(),
ruleInfo.getDriverReportRule().getIntegralTruck(), IntegralRecordEnum.Type.REPORT_TRUCK_INFO.getMsg());
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateOverTonnageType(CollectTruckReportOverTonnageTypeUpdateParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull();
if (truck == null) {
truck.setUserNo(userNo);
truck.setName(loginUserInfo.getUserName());
truck.setMobile(loginUserInfo.getUserMobile());
truck.setTruckNo(param.getTruckNo());
collectTruckDao.saveEntity(truck);
}
truck.setOverTonnageType(param.getOverTonnageType());
collectTruckDao.update(truck);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateDistanceUsualPlaceMax(CollectTruckReportDistanceUsualPlaceMaxUpdateParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull();
if (truck == null) {
truck.setUserNo(userNo);
truck.setName(loginUserInfo.getUserName());
truck.setMobile(loginUserInfo.getUserMobile());
truck.setTruckNo(param.getTruckNo());
collectTruckDao.saveEntity(truck);
}
truck.setDistanceUsualPlaceMax(param.getDistanceUsualPlaceMax());
collectTruckDao.update(truck);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateDistanceLineMax(CollectTruckReportDistanceLineMaxUpdateParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull();
if (truck == null) {
truck.setUserNo(userNo);
truck.setName(loginUserInfo.getUserName());
truck.setMobile(loginUserInfo.getUserMobile());
truck.setTruckNo(param.getTruckNo());
collectTruckDao.saveEntity(truck);
}
truck.setDistanceLineMax(param.getDistanceLineMax());
collectTruckDao.update(truck);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateDistanceSendAddressMax(CollectTruckReportDistanceSendAddressMaxUpdateParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull();
if (truck == null) {
truck.setUserNo(userNo);
truck.setName(loginUserInfo.getUserName());
truck.setMobile(loginUserInfo.getUserMobile());
truck.setTruckNo(param.getTruckNo());
collectTruckDao.saveEntity(truck);
}
truck.setDistanceSendAddressMax(param.getDistanceSendAddressMax());
collectTruckDao.update(truck);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateGoodsType(CollectTruckReportGoodsTypeUpdateParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, param.getTruckNo()).orNull();
if (truck == null) {
truck.setUserNo(userNo);
truck.setName(loginUserInfo.getUserName());
truck.setMobile(loginUserInfo.getUserMobile());
truck.setTruckNo(param.getTruckNo());
collectTruckDao.saveEntity(truck);
}
truck.setGoodsType(param.getGoodsType());
collectTruckDao.update(truck);
}
@Transactional(rollbackFor = Exception.class)
@Override
public AppCollectTruckVO getReportInfo(String truckNo) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
CollectTruck truck = collectTruckDao.getByUserNoAndTruckNo(userNo, truckNo).orNull();
return collectTruckStruct.convertAppCollectTruckVO(truck);
}
}
package com.clx.performance.service.impl.collect;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.collect.CollectTruckWaitDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.collect.CollectTruckWaitEnum;
import com.clx.performance.enums.integral.IntegralRecordEnum;
import com.clx.performance.model.OrderChild;
import com.clx.performance.model.collect.CollectTruckWait;
import com.clx.performance.param.app.collect.CollectLineReportTruckWaitAuditParam;
import com.clx.performance.param.app.collect.CollectWaitReportReceiveAddressSaveParam;
import com.clx.performance.param.app.collect.CollectWaitReportSendAddressSaveParam;
import com.clx.performance.param.app.collect.PageCollectTruckWaitParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckWaitParam;
import com.clx.performance.service.IntegralRecordService;
import com.clx.performance.service.collect.CollectWaitReportService;
import com.clx.performance.service.integral.IntegralRuleService;
import com.clx.performance.struct.collect.CollectTruckWaitStruct;
import com.clx.performance.vo.pc.collect.CollectTruckWaitVO;
import com.clx.performance.vo.pc.integral.AppIntegralRuleVO;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.Objects;
@Slf4j
@Service
public class CollectWaitReportServiceImpl implements CollectWaitReportService {
@Autowired
private CollectTruckWaitDao collectTruckWaitDao;
@Autowired
private OrderChildDao orderChildDao;
@Autowired
private CollectTruckWaitStruct collectTruckWaitStruct;
@Autowired
private IntegralRuleService integralRuleService;
@Autowired
private IntegralRecordService integralRecordService;
@Transactional(rollbackFor = Exception.class)
@Override
public void saveSendAddressReport(CollectWaitReportSendAddressSaveParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
OrderChild orderChild = orderChildDao.getByChildNo(param.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
CollectTruckWait collectTruckWait = new CollectTruckWait();
collectTruckWait.setUserNo(userNo);
collectTruckWait.setName(loginUserInfo.getUserName());
collectTruckWait.setMobile(loginUserInfo.getUserMobile());
collectTruckWait.setTruckNo(orderChild.getTruckNo());
collectTruckWait.setChildNo(param.getChildNo());
collectTruckWait.setAddressId(orderChild.getSendAddressId());
collectTruckWait.setAddress(orderChild.getSendAddress());
collectTruckWait.setReportType(CollectTruckWait.ReportType.LOAD.getCode());
collectTruckWait.setWaitType(param.getWaitType());
collectTruckWait.setStationInTime(param.getStationInTime());
collectTruckWait.setStationInImage(param.getStationInImageList()==null? null : JSON.toJSONString(param.getStationInImageList()));
collectTruckWait.setReportTime(LocalDateTime.now());
collectTruckWait.setCreateTime(collectTruckWait.getReportTime());
collectTruckWaitDao.saveEntity(collectTruckWait);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void saveReceiveAddressReport(CollectWaitReportReceiveAddressSaveParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
OrderChild orderChild = orderChildDao.getByChildNo(param.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
CollectTruckWait collectTruckWait = new CollectTruckWait();
collectTruckWait.setUserNo(userNo);
collectTruckWait.setName(loginUserInfo.getUserName());
collectTruckWait.setMobile(loginUserInfo.getUserMobile());
collectTruckWait.setTruckNo(orderChild.getTruckNo());
collectTruckWait.setChildNo(param.getChildNo());
collectTruckWait.setAddressId(orderChild.getSendAddressId());
collectTruckWait.setAddress(orderChild.getSendAddress());
collectTruckWait.setReportType(CollectTruckWait.ReportType.UNLOAD.getCode());
collectTruckWait.setWaitType(param.getWaitType());
collectTruckWait.setStationInTime(param.getStationOutTime());
collectTruckWait.setStationInImage(param.getStationOutImageList()==null? null:JSON.toJSONString(param.getStationOutImageList()));
collectTruckWait.setReportTime(LocalDateTime.now());
collectTruckWait.setCreateTime(collectTruckWait.getReportTime());
collectTruckWaitDao.saveEntity(collectTruckWait);
}
@Override
public CollectTruckWaitVO getReportInfo(Integer id) {
return collectTruckWaitDao.getEntityByKey(id).map(collectTruckWaitStruct::convert).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
}
@Override
public IPage<CollectTruckWaitVO> pageWaitReport(PageCollectTruckWaitParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
param.setUserNo(userNo);
return collectTruckWaitDao.pageWaitReport(param);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateWaitReportAudit(CollectLineReportTruckWaitAuditParam param) {
CollectTruckWait collectTruckWait = collectTruckWaitDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
collectTruckWait.setAuditStatus(CollectTruckWait.AuditStatus.AUDIT.getCode());
collectTruckWaitDao.updateAuditStatus(collectTruckWait);
// 查找规则
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 保存积分
if (Objects.equals(collectTruckWait.getReportType(), CollectTruckWait.ReportType.LOAD.getCode())) {
if (Objects.equals(collectTruckWait.getWaitType(), CollectTruckWaitEnum.waitType.INNER.getCode())
|| Objects.equals(collectTruckWait.getWaitType(), CollectTruckWaitEnum.waitType.OUTER.getCode())) {
integralRecordService.addRecord(ruleInfo, collectTruckWait.getTruckNo(), IntegralRecordEnum.Type.REPORT_SEND_ADDRESS_WAIT.getValue(),
ruleInfo.getDriverReportRule().getIntegralSendAddressWait(), IntegralRecordEnum.Type.REPORT_SEND_ADDRESS_WAIT.getMsg());
} else {
integralRecordService.addRecord(ruleInfo, collectTruckWait.getTruckNo(), IntegralRecordEnum.Type.REPORT_SEND_ADDRESS_NO_WAIT.getValue(),
ruleInfo.getDriverReportRule().getIntegralSendAddressNoWait(), IntegralRecordEnum.Type.REPORT_SEND_ADDRESS_NO_WAIT.getMsg());
}
}else {
if (Objects.equals(collectTruckWait.getWaitType(), CollectTruckWaitEnum.waitType.INNER.getCode())
|| Objects.equals(collectTruckWait.getWaitType(), CollectTruckWaitEnum.waitType.OUTER.getCode())) {
integralRecordService.addRecord(ruleInfo, collectTruckWait.getTruckNo(), IntegralRecordEnum.Type.REPORT_RECEIVE_ADDRESS_WAIT.getValue(),
ruleInfo.getDriverReportRule().getIntegralReceiveAddressWait(), IntegralRecordEnum.Type.REPORT_RECEIVE_ADDRESS_WAIT.getMsg());
} else {
integralRecordService.addRecord(ruleInfo, collectTruckWait.getTruckNo(), IntegralRecordEnum.Type.REPORT_RECEIVE_ADDRESS_NO_WAIT.getValue(),
ruleInfo.getDriverReportRule().getIntegralReceiveAddressNoWait(), IntegralRecordEnum.Type.REPORT_RECEIVE_ADDRESS_NO_WAIT.getMsg());
}
}
}
@Override
public IPage<CollectTruckWaitVO> carrierPageWaitReport(CarrierPageCollectTruckWaitParam param) {
return collectTruckWaitDao.carrierPageWaitReport(param);
}
}
package com.clx.performance.service.impl.integral;
import com.alibaba.fastjson.JSON;
import com.clx.performance.dao.integral.IntegralRuleDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.model.integral.IntegralRule;
import com.clx.performance.param.pc.integral.IntegralRuleUpdateParam;
import com.clx.performance.service.integral.IntegralRuleService;
import com.clx.performance.vo.pc.integral.AppIntegralRuleVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Slf4j
@Service
public class IntegralRuleServiceImpl implements IntegralRuleService {
@Autowired
private IntegralRuleDao integralRuleDao;
@Override
public void updateRule(IntegralRuleUpdateParam param) {
IntegralRule rule = integralRuleDao.getEntityByKey(1).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
rule.setOrderChildCompleteRuleJson(JSON.toJSONString(param.getOrderChildCompleteRule()));
rule.setOrderAwardRuleJson(JSON.toJSONString(param.getOrderAwardRule()));
rule.setOrderDiscountRuleJson(JSON.toJSONString(param.getOrderDiscountRule()));
rule.setOrderChildTimeoutRuleJson(JSON.toJSONString(param.getOrderChildTimeoutRule()));
rule.setPlatformCompensationRuleJson(JSON.toJSONString(param.getPlatformCompensationRule()));
rule.setDriverReportRuleJson(JSON.toJSONString(param.getDriverReportRule()));
integralRuleDao.update(rule);
}
@Override
public AppIntegralRuleVO getRuleInfo() {
IntegralRule rule = integralRuleDao.getEntityByKey(1).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
AppIntegralRuleVO vo = new AppIntegralRuleVO();
vo.setOrderChildCompleteRule(JSON.parseObject(rule.getOrderChildCompleteRuleJson(), AppIntegralRuleVO.OrderChildCompleteRule.class));
vo.setOrderAwardRule(JSON.parseObject(rule.getOrderAwardRuleJson(), AppIntegralRuleVO.OrderAwardRule.class));
vo.setOrderChildCancelRule(JSON.parseObject(rule.getOrderDiscountRuleJson(), AppIntegralRuleVO.OrderChildCancelRule.class));
vo.setOrderChildTimeoutRule(JSON.parseObject(rule.getOrderChildTimeoutRuleJson(), AppIntegralRuleVO.OrderChildTimeoutRule.class));
vo.setPlatformCompensationRule(JSON.parseObject(rule.getPlatformCompensationRuleJson(), AppIntegralRuleVO.PlatformCompensationRule.class));
vo.setDriverReportRule(JSON.parseObject(rule.getDriverReportRuleJson(), AppIntegralRuleVO.DriverReportRule.class));
return vo;
}
}
package com.clx.performance.service.impl.integral;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.integral.IntegralTruckRuleDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.model.integral.IntegralTruckRule;
import com.clx.performance.param.pc.integral.*;
import com.clx.performance.service.integral.IntegralRuleService;
import com.clx.performance.service.integral.IntegralTruckRuleService;
import com.clx.performance.struct.integral.IntegralTruckRuleStruct;
import com.clx.performance.vo.pc.integral.AppIntegralTruckRuleVO;
import com.msl.common.exception.ServiceSystemException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Slf4j
@Service
public class IntegralTruckRuleServiceImpl implements IntegralTruckRuleService {
@Autowired
private IntegralTruckRuleDao integralTruckRuleDao;
@Autowired
private IntegralTruckRuleStruct integralTruckRuleStruct;
@Autowired
private IntegralRuleService integralRuleService;
@Override
@Transactional(rollbackFor = Exception.class)
public void addRule(IntegralTruckRuleSaveParam param) {
IntegralTruckRule rule = new IntegralTruckRule();
rule.setName(param.getName());
rule.setStatus(param.getStatus());
rule.setIntegralRatioBegin(param.getIntegralRatioBegin());
rule.setIntegralRatioEnd(param.getIntegralRatioEnd());
rule.setIncomeBegin(param.getIncomeBegin());
rule.setIncomeEnd(param.getIncomeEnd());
// 范围重叠验证
List<IntegralTruckRule> list = integralTruckRuleDao.listAllRule();
if (!list.isEmpty()) {
if (list.get(0).getIntegralRatioBegin() == null
|| list.get(0).getIntegralRatioBegin() == 0) {list.get(0).setIntegralRatioBegin(-1);}
if (list.get(list.size()-1).getIntegralRatioEnd() == null
|| list.get(list.size()-1).getIntegralRatioEnd() == 100){list.get(list.size()-1).setIntegralRatioEnd(101);}
if (param.getIntegralRatioBegin() == null) {param.setIntegralRatioBegin(0);}
if (param.getIntegralRatioEnd() == null){param.setIntegralRatioEnd(100);}
for (IntegralTruckRule item : list) {
if (item.getName().equals(param.getName())) {throw new ServiceSystemException(PerformanceResultEnum.INTEGRAL_RULE_NAME_EXIST);}
if ((param.getIntegralRatioBegin().compareTo(item.getIntegralRatioBegin()) >= 0)
&& (param.getIntegralRatioBegin().compareTo(item.getIntegralRatioEnd()) < 0)){
throw new ServiceSystemException(PerformanceResultEnum.INTEGRAL_RULE_RATIO_OVERLAP);
}
if ((param.getIntegralRatioEnd().compareTo(item.getIntegralRatioBegin()) > 0)
&& (param.getIntegralRatioEnd().compareTo(item.getIntegralRatioEnd()) <= 0)){
throw new ServiceSystemException(PerformanceResultEnum.INTEGRAL_RULE_RATIO_OVERLAP);
}
if ((item.getIntegralRatioBegin().compareTo(param.getIntegralRatioBegin()) >= 0)
&& (item.getIntegralRatioBegin().compareTo(param.getIntegralRatioEnd()) < 0)){
throw new ServiceSystemException(PerformanceResultEnum.INTEGRAL_RULE_RATIO_OVERLAP);
}
if ((item.getIntegralRatioEnd().compareTo(param.getIntegralRatioBegin()) > 0)
&& (item.getIntegralRatioEnd().compareTo(param.getIntegralRatioEnd()) <= 0)){
throw new ServiceSystemException(PerformanceResultEnum.INTEGRAL_RULE_RATIO_OVERLAP);
}
}
}
integralTruckRuleDao.saveEntity(rule);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateRule(IntegralTruckRuleUpdateParam param) {
IntegralTruckRule rule = integralTruckRuleDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
rule.setName(param.getName());
rule.setStatus(param.getStatus());
rule.setIntegralRatioBegin(param.getIntegralRatioBegin());
rule.setIntegralRatioEnd(param.getIntegralRatioEnd());
rule.setIncomeBegin(param.getIncomeBegin());
rule.setIncomeEnd(param.getIncomeEnd());
// 范围重叠验证
List<IntegralTruckRule> list = integralTruckRuleDao.listAllRule();
if (!list.isEmpty()) {
if (list.get(0).getIntegralRatioBegin() == null
|| list.get(0).getIntegralRatioBegin() == 0) {list.get(0).setIntegralRatioBegin(-1);}
if (list.get(list.size()-1).getIntegralRatioEnd() == null
|| list.get(list.size()-1).getIntegralRatioEnd() == 100){list.get(list.size()-1).setIntegralRatioEnd(101);}
if (param.getIntegralRatioBegin() == null) {param.setIntegralRatioBegin(0);}
if (param.getIntegralRatioEnd() == null){param.setIntegralRatioEnd(100);}
for (IntegralTruckRule item : list) {
if (item.getId().equals(rule.getId())) {continue;}
if (item.getName().equals(param.getName())) {throw new ServiceSystemException(PerformanceResultEnum.INTEGRAL_RULE_NAME_EXIST);}
if ((param.getIntegralRatioBegin().compareTo(item.getIntegralRatioBegin()) >= 0)
&& (param.getIntegralRatioBegin().compareTo(item.getIntegralRatioEnd()) < 0)){
throw new ServiceSystemException(PerformanceResultEnum.INTEGRAL_RULE_RATIO_OVERLAP);
}
if ((param.getIntegralRatioEnd().compareTo(item.getIntegralRatioBegin()) > 0)
&& (param.getIntegralRatioEnd().compareTo(item.getIntegralRatioEnd()) <= 0)){
throw new ServiceSystemException(PerformanceResultEnum.INTEGRAL_RULE_RATIO_OVERLAP);
}
if ((item.getIntegralRatioBegin().compareTo(param.getIntegralRatioBegin()) >= 0)
&& (item.getIntegralRatioBegin().compareTo(param.getIntegralRatioEnd()) < 0)){
throw new ServiceSystemException(PerformanceResultEnum.INTEGRAL_RULE_RATIO_OVERLAP);
}
if ((item.getIntegralRatioEnd().compareTo(param.getIntegralRatioBegin()) > 0)
&& (item.getIntegralRatioEnd().compareTo(param.getIntegralRatioEnd()) <= 0)){
throw new ServiceSystemException(PerformanceResultEnum.INTEGRAL_RULE_RATIO_OVERLAP);
}
}
}
integralTruckRuleDao.update(rule);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateRuleStatus(IntegralTruckRuleStatusUpdateParam param) {
IntegralTruckRule rule = integralTruckRuleDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
rule.setStatus(param.getStatus());
integralTruckRuleDao.updateStatus(rule);
}
@Override
public void deleteRule(IntegralTruckRuleStatusDeleteParam param) {
integralTruckRuleDao.deleteByKey(param.getId());
}
@Override
public AppIntegralTruckRuleVO getRuleInfo(Integer id) {
IntegralTruckRule rule = integralTruckRuleDao.getEntityByKey(id).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
return integralTruckRuleStruct.convert(rule);
}
@Override
public IPage<AppIntegralTruckRuleVO> pageRule(PageIntegralTruckRuleParam param) {
return integralTruckRuleDao.pageRule(param);
}
}
package com.clx.performance.service.integral;
import com.clx.performance.param.pc.integral.IntegralRuleUpdateParam;
import com.clx.performance.vo.pc.integral.AppIntegralRuleVO;
public interface IntegralRuleService {
void updateRule(IntegralRuleUpdateParam param);
AppIntegralRuleVO getRuleInfo();
}
package com.clx.performance.service.integral;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.integral.*;
import com.clx.performance.vo.pc.integral.AppIntegralTruckRuleVO;
public interface IntegralTruckRuleService {
void addRule(IntegralTruckRuleSaveParam param);
void updateRule(IntegralTruckRuleUpdateParam param);
void updateRuleStatus(IntegralTruckRuleStatusUpdateParam param);
void deleteRule(IntegralTruckRuleStatusDeleteParam param);
AppIntegralTruckRuleVO getRuleInfo(Integer id);
IPage<AppIntegralTruckRuleVO> pageRule(PageIntegralTruckRuleParam param);
}
package com.clx.performance.sqlProvider.collect;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.param.app.collect.PageCollectLineReportParam;
import com.clx.performance.param.pc.carrier.*;
import com.clx.performance.vo.pc.collect.CollectLineReportVO;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.jdbc.SQL;
public class CollectLineReportSqlProvider {
public String pageLineReport(@Param("page") Page<CollectLineReportVO> page, @Param("param") PageCollectLineReportParam param) {
return new SQL(){{
SELECT(" id, user_no as userNo, name, mobile, " +
" truck_no as truckNo, child_no as childNo, address_id as addressId, address, " +
" send_address_id, send_address, receive_address_id, receive_address, " +
" type, report_type as reportType, report_status as reportStatus, remark, image, audit_status, " +
" date_format(report_time, '%Y-%m-%d %H:%i:%s') as reportTime, " +
" date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime, " +
" date_format(modified_time, '%Y-%m-%d %H:%i:%s') as modifiedTime "
);
FROM("collect_line_report ");
WHERE("user_no = #{param.userNo} ");
ORDER_BY("report_time desc");
}}.toString();
}
public String carrierPageSendAddressReport(@Param("page") Page<CollectLineReportVO> page, @Param("param") CarrierPageCollectSendAddressReportParam param) {
return new SQL(){{
SELECT(" id, user_no as userNo, name, mobile, " +
" truck_no as truckNo, child_no as childNo, address_id as addressId, address, " +
" send_address_id, send_address, receive_address_id, receive_address, " +
" type, report_type as reportType, report_status as reportStatus, remark, image, audit_status, " +
" date_format(report_time, '%Y-%m-%d %H:%i:%s') as reportTime, " +
" date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime, " +
" date_format(modified_time, '%Y-%m-%d %H:%i:%s') as modifiedTime "
);
FROM("collect_line_report ");
WHERE("report_type = 7");
if (StringUtils.isNotBlank(param.getSendAddress())) {WHERE("send_address <= like CONCAT(#{param.sendAddress},'%')");}
if (StringUtils.isNotBlank(param.getName())) {WHERE("name = #{param.name}");}
if (StringUtils.isNotBlank(param.getMobile())) {WHERE("mobile = #{param.mobile}");}
if (StringUtils.isNotBlank(param.getTruckNo())) {WHERE("truck_no = #{param.truckNo}");}
if (param.getReportStatus() != null) {WHERE("report_status = #{param.reportStatus}");}
if (param.getAuditStatus() != null) {WHERE("audit_status = #{param.auditStatus}");}
if (StringUtils.isNotBlank(param.getBeginTime())) {WHERE("report_time >= #{param.beginTime}");}
if (StringUtils.isNotBlank(param.getEndTime())) {WHERE("report_time <= #{param.endTime}");}
ORDER_BY("report_time desc");
}}.toString();
}
public String carrierPageAbnormalReport(@Param("page") Page<CollectLineReportVO> page, @Param("param") CarrierPageCollectAbnormalReportParam param) {
return new SQL(){{
SELECT(" id, user_no as userNo, name, mobile, " +
" truck_no as truckNo, child_no as childNo, address_id as addressId, address, " +
" send_address_id, send_address, receive_address_id, receive_address, " +
" type, report_type as reportType, report_status as reportStatus, remark, image, audit_status, " +
" date_format(report_time, '%Y-%m-%d %H:%i:%s') as reportTime, " +
" date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime, " +
" date_format(modified_time, '%Y-%m-%d %H:%i:%s') as modifiedTime "
);
FROM("collect_line_report ");
if (StringUtils.isNotBlank(param.getChildNo())) {WHERE("child_no = #{param.childNo}");}
if (StringUtils.isNotBlank(param.getSendAddress())) {WHERE("send_address like CONCAT(#{param.sendAddress},'%')");}
if (StringUtils.isNotBlank(param.getReceiveAddress())) {WHERE("receive_address like CONCAT(#{param.receiveRddress},'%')");}
if (StringUtils.isNotBlank(param.getName())) {WHERE("name = #{param.name}");}
if (StringUtils.isNotBlank(param.getMobile())) {WHERE("mobile = #{param.mobile}");}
if (StringUtils.isNotBlank(param.getTruckNo())) {WHERE("truck_no = #{param.truckNo}");}
if (param.getReportType() != null) {WHERE("report_type = #{param.reportType}");}
if (param.getAuditStatus() != null) {WHERE("audit_status = #{param.auditStatus}");}
if (StringUtils.isNotBlank(param.getBeginTime())) {WHERE("report_time >= #{param.beginTime}");}
if (StringUtils.isNotBlank(param.getEndTime())) {WHERE("report_time <= #{param.endTime}");}
ORDER_BY("report_time desc");
}}.toString();
}
public String carrierPageNoTakeOrderReport(@Param("page") Page<CollectLineReportVO> page, @Param("param") CarrierPageCollectNoTakeOrderReportParam param) {
return new SQL(){{
SELECT(" id, user_no as userNo, name, mobile, " +
" truck_no as truckNo, child_no as childNo, address_id as addressId, address, " +
" send_address_id, send_address, receive_address_id, receive_address, " +
" type, report_type as reportType, report_status as reportStatus, remark, image, audit_status, " +
" date_format(report_time, '%Y-%m-%d %H:%i:%s') as reportTime, " +
" date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime, " +
" date_format(modified_time, '%Y-%m-%d %H:%i:%s') as modifiedTime "
);
FROM("collect_line_report ");
WHERE("report_type = 6");
if (StringUtils.isNotBlank(param.getChildNo())) {WHERE("child_no = #{param.childNo}");}
if (StringUtils.isNotBlank(param.getSendAddress())) {WHERE("send_address like CONCAT(#{param.sendAddress},'%')");}
if (StringUtils.isNotBlank(param.getReceiveAddress())) {WHERE("receive_address like CONCAT(#{param.receiveRddress},'%')");}
if (StringUtils.isNotBlank(param.getName())) {WHERE("name = #{param.name}");}
if (StringUtils.isNotBlank(param.getMobile())) {WHERE("mobile = #{param.mobile}");}
ORDER_BY("report_time desc");
}}.toString();
}
public String carrierPageQualityReport(@Param("page") Page<CollectLineReportVO> page, @Param("param") CarrierPageCollectQualityReportParam param) {
return new SQL(){{
SELECT(" id, user_no as userNo, name, mobile, " +
" truck_no as truckNo, child_no as childNo, address_id as addressId, address, " +
" send_address_id, send_address, receive_address_id, receive_address, " +
" type, report_type as reportType, report_status as reportStatus, remark, image, audit_status, " +
" date_format(report_time, '%Y-%m-%d %H:%i:%s') as reportTime, " +
" date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime, " +
" date_format(modified_time, '%Y-%m-%d %H:%i:%s') as modifiedTime "
);
FROM("collect_line_report ");
WHERE("report_type = 9");
if (StringUtils.isNotBlank(param.getName())) {WHERE("name = #{param.name}");}
if (StringUtils.isNotBlank(param.getMobile())) {WHERE("mobile = #{param.mobile}");}
if (param.getAuditStatus() != null) {WHERE("audit_status = #{param.auditStatus}");}
if (StringUtils.isNotBlank(param.getBeginTime())) {WHERE("report_time >= #{param.beginTime}");}
if (StringUtils.isNotBlank(param.getEndTime())) {WHERE("report_time <= #{param.endTime}");}
ORDER_BY("report_time desc");
}}.toString();
}
public String carrierPageOtherReport(@Param("page") Page<CollectLineReportVO> page, @Param("param") CarrierPageCollectOtherReportParam param) {
return new SQL(){{
SELECT(" id, user_no as userNo, name, mobile, " +
" truck_no as truckNo, child_no as childNo, address_id as addressId, address, " +
" send_address_id, send_address, receive_address_id, receive_address, " +
" type, report_type as reportType, report_status as reportStatus, remark, image, audit_status, " +
" date_format(report_time, '%Y-%m-%d %H:%i:%s') as reportTime, " +
" date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime, " +
" date_format(modified_time, '%Y-%m-%d %H:%i:%s') as modifiedTime "
);
FROM("collect_line_report ");
WHERE("report_type = 8");
if (StringUtils.isNotBlank(param.getName())) {WHERE("name = #{param.name}");}
if (StringUtils.isNotBlank(param.getMobile())) {WHERE("mobile = #{param.mobile}");}
if (StringUtils.isNotBlank(param.getBeginTime())) {WHERE("report_time >= #{param.beginTime}");}
if (StringUtils.isNotBlank(param.getEndTime())) {WHERE("report_time <= #{param.endTime}");}
ORDER_BY("report_time desc");
}}.toString();
}
}
package com.clx.performance.sqlProvider.collect;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.param.app.collect.PageCollectTraficCongestionParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTraficCongestionParam;
import com.clx.performance.vo.pc.collect.CollectTrafficCongestionVO;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.jdbc.SQL;
public class CollectTrafficCongestionSqlProvider {
public String pageTraffic(@Param("page") Page<CollectTrafficCongestionVO> page, @Param("param") PageCollectTraficCongestionParam param) {
return new SQL(){{
SELECT(" id, user_no as userNo, name, mobile, " +
" truck_no as truckNo, " +
" province, city, county, town, street, address, full_address, " +
" longitude, latitude, " +
" jam_time as jamTime, jam_image as jamImage, " +
" date_format(report_time, '%Y-%m-%d %H:%i:%s') as reportTime, " +
" audit_status as auditStatus, " +
" date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime, " +
"date_format(modified_time, '%Y-%m-%d %H:%i:%s') as modifiedTime "
);
FROM("collect_traffic_congestion ");
WHERE("user_no = #{param.userNo} ");
ORDER_BY("create_time desc");
}}.toString();
}
public String carrierPageTraffic(@Param("page") Page<CollectTrafficCongestionVO> page, @Param("param") CarrierPageCollectTraficCongestionParam param) {
return new SQL(){{
SELECT(" id, user_no as userNo, name, mobile, " +
" truck_no as truckNo, " +
" province, city, county, town, street, address, full_address, " +
" longitude, latitude, " +
" jam_time as jamTime, jam_image as jamImage, " +
" date_format(report_time, '%Y-%m-%d %H:%i:%s') as reportTime, " +
" audit_status as auditStatus, " +
" date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime, " +
"date_format(modified_time, '%Y-%m-%d %H:%i:%s') as modifiedTime "
);
FROM("collect_traffic_congestion ");
if (StringUtils.isNotBlank(param.getAddress())) {WHERE("full_address like CONCAT(#{param.address},'%')");}
if (StringUtils.isNotBlank(param.getName())) {WHERE("name = #{param.name}");}
if (StringUtils.isNotBlank(param.getMobile())) {WHERE("mobile = #{param.mobile}");}
if (param.getAuditStatus() != null) {WHERE("audit_status = #{param.auditStatus}");}
if (StringUtils.isNotBlank(param.getBeginTime())) {WHERE("report_time >= #{param.beginTime}");}
if (StringUtils.isNotBlank(param.getEndTime())) {WHERE("report_time <= #{param.endTime}");}
ORDER_BY("report_time desc");
}}.toString();
}
}
package com.clx.performance.sqlProvider.collect;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.param.app.collect.PageCollectTruckLeaveParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckLeaveParam;
import com.clx.performance.vo.pc.collect.CollectTruckLeaveVO;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.jdbc.SQL;
public class CollectTruckLeaveSqlProvider {
public String pageLeave(@Param("page") Page<CollectTruckLeaveVO> page, @Param("param") PageCollectTruckLeaveParam param) {
return new SQL(){{
SELECT(" id, user_no as userNo, name, mobile, truck_no as truckNo, " +
" date_format(begin_time, '%Y-%m-%d %H:%i:%s') as beginTime, " +
" date_format(end_time, '%Y-%m-%d %H:%i:%s') as endTime, " +
" remark, " +
" date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime, " +
" date_format(modified_time, '%Y-%m-%d %H:%i:%s') as modifiedTime "
);
FROM("collect_truck_leave ");
WHERE("user_no = #{param.userNo} ");
ORDER_BY("create_time desc");
}}.toString();
}
public String carrierPageLeave(@Param("page") Page<CollectTruckLeaveVO> page, @Param("param") CarrierPageCollectTruckLeaveParam param) {
return new SQL(){{
SELECT(" id, user_no as userNo, name, mobile, truck_no as truckNo, " +
" date_format(begin_time, '%Y-%m-%d %H:%i:%s') as beginTime, " +
" date_format(end_time, '%Y-%m-%d %H:%i:%s') as endTime, " +
" remark, " +
" date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime, " +
" date_format(modified_time, '%Y-%m-%d %H:%i:%s') as modifiedTime "
);
FROM("collect_truck_leave ");
if (StringUtils.isNotBlank(param.getName())) {WHERE("name = #{param.name}");}
if (StringUtils.isNotBlank(param.getMobile())) {WHERE("mobile = #{param.mobile}");}
if (StringUtils.isNotBlank(param.getBeginTime())) {WHERE("create_time >= #{param.beginTime}");}
if (StringUtils.isNotBlank(param.getEndTime())) {WHERE("create_time <= #{param.endTime}");}
if (StringUtils.isNotBlank(param.getBeginTime1())) {WHERE("begin_time >= #{param.beginTime1}");}
if (StringUtils.isNotBlank(param.getEndTime1())) {WHERE("begin_time <= #{param.endTime1}");}
if (StringUtils.isNotBlank(param.getBeginTime2())) {WHERE("end_time >= #{param.beginTime2}");}
if (StringUtils.isNotBlank(param.getEndTime2())) {WHERE("end_time <= #{param.endTime2}");}
ORDER_BY("create_time desc");
}}.toString();
}
}
package com.clx.performance.sqlProvider.collect;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.param.app.collect.PageCollectTruckLocationParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckLocationParam;
import com.clx.performance.vo.pc.collect.CollectTruckLocationVO;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.jdbc.SQL;
public class CollectTruckLocationSqlProvider {
public String pageLocation(@Param("page") Page<CollectTruckLocationVO> page, @Param("param") PageCollectTruckLocationParam param) {
return new SQL(){{
SELECT(" id, user_no as userNo, name, mobile, " +
" truck_no as truckNo, " +
" province, city, county, town, street, address, full_address, longitude, latitude, " +
" truck_order_status, " +
" date_format(report_time, '%Y-%m-%d %H:%i:%s') as reportTime, " +
" date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime, " +
"date_format(modified_time, '%Y-%m-%d %H:%i:%s') as modifiedTime "
);
FROM("collect_truck_location ");
WHERE("user_no = #{param.userNo} ");
ORDER_BY("report_time desc");
}}.toString();
}
public String carrierPageLocation(@Param("page") Page<CollectTruckLocationVO> page, @Param("param") CarrierPageCollectTruckLocationParam param) {
return new SQL(){{
SELECT(" id, user_no as userNo, name, mobile, " +
" truck_no as truckNo, " +
" province, city, county, town, street, address, full_address, longitude, latitude, " +
" truck_order_status, " +
" date_format(report_time, '%Y-%m-%d %H:%i:%s') as reportTime, " +
" date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime, " +
"date_format(modified_time, '%Y-%m-%d %H:%i:%s') as modifiedTime "
);
FROM("collect_truck_location ");
if (StringUtils.isNotBlank(param.getAddress())) {WHERE("full_address like CONCAT(#{param.sendAddress},'%')");}
if (StringUtils.isNotBlank(param.getName())) {WHERE("name = #{param.name}");}
if (StringUtils.isNotBlank(param.getMobile())) {WHERE("mobile = #{param.mobile}");}
if (StringUtils.isNotBlank(param.getTruckNo())) {WHERE("truck_no = #{param.truckNo}");}
if (param.getTruckOrderStatus() != null) {WHERE("truck_order_status = #{param.truckOrderStatus}");}
if (StringUtils.isNotBlank(param.getBeginTime())) {WHERE("report_time >= #{param.beginTime}");}
if (StringUtils.isNotBlank(param.getEndTime())) {WHERE("report_time <= #{param.endTime}");}
ORDER_BY("report_time desc");
}}.toString();
}
}
package com.clx.performance.sqlProvider.collect;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.param.app.collect.PageCollectTruckRefuelParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckRefuelParam;
import com.clx.performance.vo.pc.collect.CollectTruckRefuelVO;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.jdbc.SQL;
public class CollectTruckRefuelSqlProvider {
public String pageRefuel(@Param("page") Page<CollectTruckRefuelVO> page, @Param("param") PageCollectTruckRefuelParam param) {
return new SQL(){{
SELECT(" id, user_no as userNo, name, mobile, " +
" truck_no as truckNo, child_no as childNo, " +
" send_address as sendAddress, receive_address as receiveAddress, " +
" load_image as loadImage, load_oil as loadOil, " +
" unload_image as unloadImage, unload_oil as unloadOil, " +
" date_format(report_time, '%Y-%m-%d %H:%i:%s') as reportTime, " +
" date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime, " +
" date_format(modified_time, '%Y-%m-%d %H:%i:%s') as modifiedTime "
);
FROM("collect_truck_refuel ");
WHERE("user_no = #{param.userNo} ");
ORDER_BY("report_time desc");
}}.toString();
}
public String carrierPageRefuel(@Param("page") Page<CollectTruckRefuelVO> page, @Param("param") CarrierPageCollectTruckRefuelParam param) {
return new SQL(){{
SELECT(" id, user_no as userNo, name, mobile, " +
" truck_no as truckNo, child_no as childNo, " +
" send_address_id, send_address, receive_address_id, receive_address, " +
" load_image as loadImage, load_oil as loadOil, " +
" unload_image as unloadImage, unload_oil as unloadOil, " +
" date_format(report_time, '%Y-%m-%d %H:%i:%s') as reportTime, " +
" date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime, " +
" date_format(modified_time, '%Y-%m-%d %H:%i:%s') as modifiedTime "
);
FROM("collect_truck_refuel ");
if (StringUtils.isNotBlank(param.getChildNo())) {WHERE("child_no = #{param.childNo}");}
if (StringUtils.isNotBlank(param.getSendAddress())) {WHERE("send_address like CONCAT(#{param.sendAddress},'%')");}
if (StringUtils.isNotBlank(param.getReceiveAddress())) {WHERE("receive_address like CONCAT(#{param.receiveRddress},'%')");}
if (StringUtils.isNotBlank(param.getName())) {WHERE("name = #{param.name}");}
if (StringUtils.isNotBlank(param.getMobile())) {WHERE("mobile = #{param.mobile}");}
if (StringUtils.isNotBlank(param.getTruckNo())) {WHERE("truck_no = #{param.truckNo}");}
if (StringUtils.isNotBlank(param.getBeginTime())) {WHERE("report_time >= #{param.beginTime}");}
if (StringUtils.isNotBlank(param.getEndTime())) {WHERE("report_time <= #{param.endTime}");}
ORDER_BY("report_time desc");
}}.toString();
}
}
package com.clx.performance.sqlProvider.collect;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.param.app.collect.PageCollectTruckWaitParam;
import com.clx.performance.param.pc.carrier.CarrierPageCollectTruckWaitParam;
import com.clx.performance.vo.pc.collect.CollectTruckWaitVO;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.jdbc.SQL;
public class CollectTruckWaitSqlProvider {
public String pageWaitReport(@Param("page") Page<CollectTruckWaitVO> page, @Param("param") PageCollectTruckWaitParam param) {
return new SQL(){{
SELECT(" id, user_no as userNo, name, mobile, truck_no as truckNo, child_no as childNo, address_id as addressId, " +
" address, report_type as reportType, wait_type as waitType, station_in_time as stationInTime, " +
" station_in_image as stationInImage, station_out_time as stationOutTime, station_out_image as stationOutImage, " +
" date_format(report_time, '%Y-%m-%d %H:%i:%s') as reportTime, " +
" audit_time, " +
" date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime, " +
" date_format(modified_time, '%Y-%m-%d %H:%i:%s') as modifiedTime "
);
FROM(" collect_truck_wait ");
WHERE("user_no = #{param.userNo} ");
ORDER_BY("report_time desc");
}}.toString();
}
public String carrierPageWaitReport(@Param("page") Page<CollectTruckWaitVO> page, @Param("param") CarrierPageCollectTruckWaitParam param) {
return new SQL(){{
SELECT(" id, user_no as userNo, name, mobile, truck_no as truckNo, child_no as childNo, address_id as addressId, " +
" address, report_type as reportType, wait_type as waitType, station_in_time as stationInTime, " +
" station_in_image as stationInImage, station_out_time as stationOutTime, station_out_image as stationOutImage, " +
" date_format(report_time, '%Y-%m-%d %H:%i:%s') as reportTime, " +
" audit_time, " +
" date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime, " +
" date_format(modified_time, '%Y-%m-%d %H:%i:%s') as modifiedTime "
);
FROM(" collect_truck_wait ");
if (StringUtils.isNotBlank(param.getChildNo())) {WHERE("child_no = #{param.childNo}");}
if (StringUtils.isNotBlank(param.getAddress())) {WHERE("address like CONCAT(#{param.address},'%')");}
if (StringUtils.isNotBlank(param.getName())) {WHERE("name = #{param.name}");}
if (StringUtils.isNotBlank(param.getMobile())) {WHERE("mobile = #{param.mobile}");}
if (StringUtils.isNotBlank(param.getTruckNo())) {WHERE("truck_no = #{param.truckNo}");}
if (param.getReportType() != null) {WHERE("report_type = #{param.reportType}");}
if (param.getWaitType() != null) {WHERE("wait_type = #{param.waitType}");}
if (param.getAuditStatus() != null) {WHERE("audit_status = #{param.auditStatus}");}
if (StringUtils.isNotBlank(param.getBeginTime())) {WHERE("report_time >= #{param.beginTime}");}
if (StringUtils.isNotBlank(param.getEndTime())) {WHERE("report_time <= #{param.endTime}");}
ORDER_BY("report_time desc");
}}.toString();
}
}
package com.clx.performance.sqlProvider.integral;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.param.pc.integral.PageIntegralTruckRuleParam;
import com.clx.performance.vo.pc.integral.AppIntegralTruckRuleVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.jdbc.SQL;
public class IntegralTruckRuleProvider {
public String pageRule(@Param("page") Page<AppIntegralTruckRuleVO> page, @Param("param") PageIntegralTruckRuleParam param) {
return new SQL(){{
SELECT(" id, name, " +
" integral_ratio_begin as integralRatioBegin, integral_ratio_end as integralRatioEnd, " +
" income_begin as incomeBegin, income_end as incomeEnd, " +
" status, " +
" date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime, " +
" date_format(modified_time, '%Y-%m-%d %H:%i:%s') as modifiedTime "
);
FROM("integral_truck_rule ");
ORDER_BY("create_time desc");
}}.toString();
}
}
package com.clx.performance.struct.collect;
import com.clx.performance.model.collect.CollectLineReport;
import com.clx.performance.vo.pc.collect.CollectLineReportVO;
import com.msl.common.utils.DateStructUtil;
import org.mapstruct.Mapper;
import java.util.Objects;
@Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {Objects.class})
public interface CollectLineReportStruct {
CollectLineReportVO convert(CollectLineReport item);
}
package com.clx.performance.struct.collect;
import com.clx.performance.model.collect.CollectTrafficCongestion;
import com.clx.performance.vo.pc.collect.CollectTrafficCongestionVO;
import com.msl.common.utils.DateStructUtil;
import org.mapstruct.Mapper;
import java.util.Objects;
@Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {Objects.class})
public interface CollectTrafficCongestionStruct {
CollectTrafficCongestionVO convert(CollectTrafficCongestion item);
}
package com.clx.performance.struct.collect;
import com.clx.performance.model.collect.CollectTruckLeave;
import com.clx.performance.vo.pc.collect.CollectTruckLeaveVO;
import com.msl.common.utils.DateStructUtil;
import org.mapstruct.Mapper;
import java.util.Objects;
@Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {Objects.class})
public interface CollectTruckLeaveStruct {
CollectTruckLeaveVO convert(CollectTruckLeave item);
}
package com.clx.performance.struct.collect;
import com.clx.performance.model.collect.CollectTruckLocation;
import com.clx.performance.vo.pc.collect.CollectTruckLocationVO;
import com.msl.common.utils.DateStructUtil;
import org.mapstruct.Mapper;
import java.util.Objects;
@Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {Objects.class})
public interface CollectTruckLocationStruct {
CollectTruckLocationVO convert(CollectTruckLocation item);
}
package com.clx.performance.struct.collect;
import com.clx.performance.model.collect.CollectTruckRefuel;
import com.clx.performance.vo.pc.collect.CollectTruckRefuelVO;
import com.msl.common.utils.DateStructUtil;
import org.mapstruct.Mapper;
import java.util.Objects;
@Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {Objects.class})
public interface CollectTruckRefuelStruct {
CollectTruckRefuelVO convert(CollectTruckRefuel item);
}
package com.clx.performance.struct.collect;
import com.clx.performance.model.collect.CollectTruck;
import com.clx.performance.vo.app.collect.AppCollectTruckVO;
import com.msl.common.utils.DateStructUtil;
import org.mapstruct.Mapper;
import java.util.Objects;
@Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {Objects.class})
public interface CollectTruckStruct {
AppCollectTruckVO convertAppCollectTruckVO(CollectTruck item);
}
package com.clx.performance.struct.collect;
import com.clx.performance.model.collect.CollectTruckWait;
import com.clx.performance.vo.pc.collect.CollectTruckWaitVO;
import com.msl.common.utils.DateStructUtil;
import org.mapstruct.Mapper;
import java.util.Objects;
@Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {Objects.class})
public interface CollectTruckWaitStruct {
CollectTruckWaitVO convert(CollectTruckWait item);
}
package com.clx.performance.struct.integral;
import com.clx.performance.model.integral.IntegralTruckRule;
import com.clx.performance.vo.pc.integral.AppIntegralTruckRuleVO;
import com.msl.common.utils.DateStructUtil;
import com.msl.common.utils.DateUtils;
import org.mapstruct.Mapper;
@Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {DateUtils.class})
public interface IntegralTruckRuleStruct {
AppIntegralTruckRuleVO convert(IntegralTruckRule item);
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论