This commit is contained in:
shuhongfan
2023-09-04 16:40:17 +08:00
commit cf5ac25c14
8267 changed files with 1305066 additions and 0 deletions

3
sl-express-ms-base-domain/.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
.idea
target/
*.iml

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.sl-express</groupId>
<artifactId>sl-express-parent</artifactId>
<version>1.4</version>
</parent>
<groupId>com.sl-express.ms.base</groupId>
<artifactId>sl-express-ms-base-domain</artifactId>
<version>1.1-SNAPSHOT</version>
<description>基础微服务-实体</description>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<sl-express-common.version>1.2-SNAPSHOT</sl-express-common.version>
</properties>
<dependencies>
<dependency>
<groupId>com.sl-express.common</groupId>
<artifactId>sl-express-common</artifactId>
<version>${sl-express-common.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,64 @@
package com.sl.ms.base.domain.base;
import lombok.Data;
@Data
public class AreaDto {
/**
* id
*/
private Long id;
/**
* 父级行政
*/
private Long parentId;
/**
* 行政名称
*/
private String name;
/**
* 行政区域编号
*/
private String areaCode;
/**
* 城市编码
*/
private String cityCode;
/**
* 合并名称
*/
private String mergerName;
/**
* 简称
*/
private String shortName;
/**
* 邮政编码
*/
private String zipCode;
/**
* 行政区域等级0: 省级 1:市级 2:县级 3:镇级 4:乡村级)
*/
private Integer level;
/**
* 经度
*/
private String lng;
/**
* 纬度
*/
private String lat;
/**
* 拼音
*/
private String pinyin;
/**
* 首字母
*/
private String first;
}

View File

@@ -0,0 +1,49 @@
package com.sl.ms.base.domain.base;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
/**
* GoodsTypeDto
*/
@Data
public class GoodsTypeDto {
/**
* id
*/
@ApiModelProperty("主键")
private Long id;
/**
* 货物类型名称
*/
@ApiModelProperty("物品类型名称")
private String name;
/**
* 默认重量,单位:千克
*/
@ApiModelProperty("默认重量")
private BigDecimal defaultWeight;
/**
* 默认体积,单位:方
*/
@ApiModelProperty("默认体积")
private BigDecimal defaultVolume;
/**
* 说明
*/
@ApiModelProperty("备注")
private String remark;
/**
* 车辆类型id列表
*/
private List<Long> truckTypeIds;
/**
* 状态 0禁用 1正常
*/
@ApiModelProperty("状态 0禁用 1正常")
private Integer status;
}

View File

@@ -0,0 +1,25 @@
package com.sl.ms.base.domain.base;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
@Data
@ApiModel("最新消息")
public class LatestMessageDTO {
@ApiModelProperty("主键")
private Long id;
@ApiModelProperty("消息类型300快递员端公告301寄件相关消息302签收相关消息303快件取消消息200司机端公告201司机端系统通知")
private Integer contentType;
@ApiModelProperty("相关id")
private Long relevantId;
@ApiModelProperty("创建时间")
private LocalDateTime created;
}

View File

@@ -0,0 +1,72 @@
package com.sl.ms.base.domain.base;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("消息新增")
public class MessageAddDTO {
/**
* 消息标题
*/
@ApiModelProperty("消息标题")
private String title;
/**
* 消息内容
*/
@ApiModelProperty("消息内容")
@NotNull(message = "消息内容不能为空")
private String content;
/**
* 1用户端2司机端3快递员端4后台管理系统
*/
@ApiModelProperty(value = "1用户端2司机端3快递员端4后台管理系统", required = true)
@Max(value = 4, message = "类型值必须是1、2、3、4")
@Min(value = 1, message = "类型值必须是1、2、3、4")
@NotNull(message = "业务类型不能为空")
private Integer bussinessType;
/**
* 消息接受者
*/
@ApiModelProperty("消息接受者")
private Long userId;
/**
* 消息类型300司机端公告301寄件相关消息302签收相关消息303快件取消消息200司机端公告201司机端系统通知
*/
@ApiModelProperty("消息类型300司机端公告301寄件相关消息302签收相关消息303快件取消消息200司机端公告201司机端系统通知")
@NotNull(message = "消息类型不能为空")
private Integer contentType;
/**
* 相关id
*/
@ApiModelProperty("相关id")
private Long relevantId;
/**
* 创建者
*/
@ApiModelProperty("创建者")
private Long createUser;
/**
* 更新者
*/
@ApiModelProperty("更新者")
private Long updateUser;
}

View File

@@ -0,0 +1,54 @@
package com.sl.ms.base.domain.base;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
@Data
@ApiModel("消息")
public class MessageDTO {
@ApiModelProperty("主键")
private Long id;
@ApiModelProperty("消息标题")
private String title;
@ApiModelProperty("消息内容")
private String content;
@ApiModelProperty(value = "1用户端2司机端3快递员端4后台管理系统")
private Integer bussinessType;
@ApiModelProperty("消息接受者")
private Long userId;
@ApiModelProperty("消息类型300快递员端公告301寄件相关消息302签收相关消息303快件取消消息200司机端公告201司机端系统通知")
private Integer contentType;
@ApiModelProperty("消息是否已读0未读1已读")
private Integer isRead;
/**
* 读时间
*/
@ApiModelProperty("读时间")
private LocalDateTime readTime;
@ApiModelProperty("相关id")
private Long relevantId;
@ApiModelProperty("创建者")
private Long createUser;
@ApiModelProperty("创建时间")
private LocalDateTime created;
@ApiModelProperty("更新者")
private Long updateUser;
@ApiModelProperty("更新时间")
private LocalDateTime updated;
}

View File

@@ -0,0 +1,35 @@
package com.sl.ms.base.domain.base;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
@Data
@ApiModel("消息查询")
public class MessageQueryDTO {
@ApiModelProperty(value = "1用户端2司机端3快递员端4后台管理系统", required = true)
@Max(value = 4, message = "类型值必须是1、2、3、4")
@Min(value = 1, message = "类型值必须是1、2、3、4")
@NotNull(message = "业务类型不能为空")
private Integer bussinessType;
@ApiModelProperty(value = "消息接受者")
private Long userId;
@ApiModelProperty(value = "消息类型300快递员端公告301寄件相关消息302签收相关消息303快件取消消息,304:派件相关消息,200司机端公告201司机端系统通知")
private Integer contentType;
@ApiModelProperty(value = "页码", example = "1", required = true)
private Integer page;
@ApiModelProperty(value = "页面大小", example = "10", required = true)
private Integer pageSize;
@ApiModelProperty(value = "消息是否已读0未读1已读")
private Integer isRead;
}

View File

@@ -0,0 +1,42 @@
package com.sl.ms.base.domain.base;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("工作模式新增接口")
public class WorkPatternAddDTO {
@ApiModelProperty("用户类型,1:员工2:快递员3:司机")
private Byte userType;
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("工作模式1礼拜制2连续制")
private Byte workPatternType;
@ApiModelProperty("星期一0:不填充1:工作2:休息")
private Byte monday;
@ApiModelProperty("星期二0:不填充1:工作2:休息")
private Byte tuesday;
@ApiModelProperty("星期三0:不填充1:工作2:休息")
private Byte wednesday;
@ApiModelProperty("星期四0:不填充1:工作2:休息")
private Byte thursday;
@ApiModelProperty("星期五0:不填充1:工作2:休息")
private Byte friday;
@ApiModelProperty("星期六0:不填充1:工作2:休息")
private Byte saturday;
@ApiModelProperty("星日0:不填充1:工作2:休息")
private Byte sunday;
@ApiModelProperty("连续工作天数")
private Integer workDayNum;
@ApiModelProperty("休息天数")
private Integer restDayNum;
@ApiModelProperty("工作开始时间1分钟数")
private Integer workStartMinute1;
@ApiModelProperty("工作结束时间1分钟数")
private Integer workEndMinute1;
@ApiModelProperty("操作人")
private Long operator;
}

View File

@@ -0,0 +1,53 @@
package com.sl.ms.base.domain.base;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel("工作模式")
@Data
public class WorkPatternDTO {
@ApiModelProperty("工作模式id")
private Long id;
@ApiModelProperty("工作模式名称")
private String name;
@ApiModelProperty("工作模式类型描述")
private String workPatternTypeDesc;
@ApiModelProperty("工作模式类型描述")
private Byte workPatternType;
@ApiModelProperty("工作日期")
private String workDate;
private Byte userType;
private Byte monday;
private Byte tuesday;
private Byte wednesday;
private Byte thursday;
private Byte friday;
private Byte saturday;
private Byte sunday;
private Integer workDayNum;
private Integer restDayNum;
private Byte status;
private Integer workStartMinute1;
private Integer workEndMinute1;
private Long creater;
private Long updater;
private Boolean isDelete;
}

View File

@@ -0,0 +1,15 @@
package com.sl.ms.base.domain.base;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel("工作模式")
@Data
public class WorkPatternQueryDTO {
@ApiModelProperty("页数")
private Integer page = 1; //默认第一页
@ApiModelProperty("每页条数")
private Integer pageSize = 10;
}

View File

@@ -0,0 +1,41 @@
package com.sl.ms.base.domain.base;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("工作模式修改")
public class WorkPatternUpdateDTO {
@ApiModelProperty("工作模式id")
private Long id;
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("星期一0:不填充1:工作2:休息")
private Byte monday;
@ApiModelProperty("星期二0:不填充1:工作2:休息")
private Byte tuesday;
@ApiModelProperty("星期三0:不填充1:工作2:休息")
private Byte wednesday;
@ApiModelProperty("星期四0:不填充1:工作2:休息")
private Byte thursday;
@ApiModelProperty("星期五0:不填充1:工作2:休息")
private Byte friday;
@ApiModelProperty("星期六0:不填充1:工作2:休息")
private Byte saturday;
@ApiModelProperty("星日0:不填充1:工作2:休息")
private Byte sunday;
@ApiModelProperty("连续工作天数")
private Integer workDayNum;
@ApiModelProperty("休息天数")
private Integer restDayNum;
@ApiModelProperty("工作开始时间1分钟数")
private Integer workStartMinute1;
@ApiModelProperty("工作结束时间1分钟数")
private Integer workEndMinute1;
@ApiModelProperty("操作人")
private Long operator;
}

View File

@@ -0,0 +1,30 @@
package com.sl.ms.base.domain.base;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("排班新增模型")
public class WorkSchedulingAddDTO {
@ApiModelProperty("用户id")
private Long userId;
@ApiModelProperty("用户类型1员工2快递员3:司机")
private Byte userType;
@ApiModelProperty("网点")
private Long agencyId;
@ApiModelProperty("员工名称")
private String name;
@ApiModelProperty("员工编号")
private String employeeNumber;
@ApiModelProperty("电话")
private String phone;
@ApiModelProperty("工作模式id")
private Long workPatternId;
@ApiModelProperty("工作模式类型1:礼拜制2连续制")
private Byte workPatternType;
@ApiModelProperty("操作人")
private Long operator;
}

View File

@@ -0,0 +1,44 @@
package com.sl.ms.base.domain.base;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@ApiModel("排班分页查询")
@Data
public class WorkSchedulingDTO {
@ApiModelProperty("工作排班信息id")
private Long id;
@ApiModelProperty("用户id")
private Long userId;
@ApiModelProperty("姓名")
private String name;
@ApiModelProperty("员工账号")
private String employeeNumber;
@ApiModelProperty("手机号")
private String phone;
@ApiModelProperty("工作计划")
private List<Boolean> workSchedules;
@ApiModelProperty("开始上班时间1")
private Integer workStartMinute1;
@ApiModelProperty("结束下班时间1")
private Integer workEndMinute1;
@ApiModelProperty("工作模式名称")
private String workPatternName;
@ApiModelProperty("用户类型1员工2快递员3:司机")
private Byte userType;
private Long workPatternId;
@ApiModelProperty("网点名称")
private String agencyName;
@ApiModelProperty("网点")
private Long agencyId;
}

View File

@@ -0,0 +1,30 @@
package com.sl.ms.base.domain.base;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel("排班分页查询")
@Data
public class WorkSchedulingQueryDTO {
@ApiModelProperty("页数")
private Integer page = 1; //默认第一页
@ApiModelProperty("每页条数")
private Integer pageSize = 10;
@ApiModelProperty("月份,该值为空默认当前月份yy-mm")
private String month;
@ApiModelProperty("员工名称")
private String name;
@ApiModelProperty("员工账号")
private String employeeNumber;
@ApiModelProperty("工作模式ID 默认 0 :无工作模式")
private Long workPatternId;
@ApiModelProperty("用户类型1员工2快递员3:司机")
private Byte userType;
@ApiModelProperty("网点")
private Long agencyId;
}

View File

@@ -0,0 +1,21 @@
package com.sl.ms.base.domain.base;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("排班修改模型")
public class WorkSchedulingUpdateDTO {
@ApiModelProperty("排班id")
private Long id;
@ApiModelProperty("工作模式id")
private Long workPatternId;
@ApiModelProperty("工作模式类型1:礼拜制2连续制")
private Byte workPatternType;
@ApiModelProperty("操作人")
private Long operator;
}

View File

@@ -0,0 +1,39 @@
package com.sl.ms.base.domain.constants;
public class MessageConstants {
public static final Integer IS_READ = 1;
public static final Integer UNREAD = 0;
public static final Integer IS_DELETED = 1;
public static final Integer NOT_DELETED = 0;
/**
* 消息通知标题
*/
public interface MessageTitle {
/**
* 公告消息通知
*/
String BULLETIN = "您有一条新的公告消息";
/**
* 新取件任务消息通知
*/
String PICKUP = "您有一个新的取件订单";
/**
* 快件取消消息通知
*/
String CANCEL = "您有一个快件已取消";
/**
* 派件签收消息通知
*/
String SIGN = "您有一个派件已签收";
/**
* 派件消息通知
*/
String DISPATCH = "您有一个新的派件订单";
}
}

View File

@@ -0,0 +1,49 @@
package com.sl.ms.base.domain.constants;
/**
* 常量
*/
public class TruckConstant {
/**
* 数据状态-可用
*/
public static final Integer DATA_DEFAULT_STATUS = 1;
/**
* 数据状态-禁用
*/
public static final Integer DATA_DISABLE_STATUS = 0;
/**
* 车次周期
*/
public enum TransportTripsPeriod {
DAY(1, ""), WEEK(2, ""), MONTH(3, "");
private Integer period;
private String name;
TransportTripsPeriod(Integer period, String name) {
this.period = period;
this.name = name;
}
public Integer getPeriod() {
return period;
}
public String getName() {
return name;
}
public static TransportTripsPeriod getEnumByPeriod(Integer period) {
if (null == period) {
return null;
}
for (TransportTripsPeriod temp : TransportTripsPeriod.values()) {
if (temp.getPeriod().equals(period)) {
return temp;
}
}
return null;
}
}
}

View File

@@ -0,0 +1,62 @@
package com.sl.ms.base.domain.enums;
import cn.hutool.core.util.EnumUtil;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
import com.sl.transport.common.enums.BaseEnum;
/**
* 1用户端2司机端3快递员端4后台管理系统
*/
public enum MessageBussinessTypeEnum implements BaseEnum {
/**
* 1用户端
*/
USER(1, "用户端"),
/**
* 2司机端
*/
DRIVER(2, "司机端"),
/**
* 3快递员端
*/
COURIER(3, "快递员端"),
/**
* 4后台管理系统
*/
MANAGER(4, "后台管理系统");
MessageBussinessTypeEnum(Integer code, String value) {
this.code = code;
this.value = value;
}
/**
* 类型编码
*/
@EnumValue
@JsonValue
private final Integer code;
/**
* 类型值
*/
private final String value;
@Override
public Integer getCode() {
return code;
}
@Override
public String getValue() {
return value;
}
public static MessageBussinessTypeEnum codeOf(Integer code) {
return EnumUtil.getBy(MessageBussinessTypeEnum::getCode, code);
}
}

View File

@@ -0,0 +1,75 @@
package com.sl.ms.base.domain.enums;
import cn.hutool.core.util.EnumUtil;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
import com.sl.transport.common.enums.BaseEnum;
/**
* 消息类型300快递员端公告301寄件相关消息302签收相关消息303快件取消消息200司机端公告201司机端系统通知
*/
public enum MessageContentTypeEnum implements BaseEnum {
/**
* 300快递员端公告
*/
COURIER_BULLETIN(300, "快递员端公告"),
/**
* 301寄件相关消息
*/
COURIER_PICKUP(301, "寄件相关消息"),
/**
* 302签收相关消息
*/
COURIER_SIGN(302, "签收相关消息"),
/**
* 303快件取消消息
*/
COURIER_CANCEL(303, "快件取消消息"),
/**
* 304派件相关消息
*/
COURIER_DISPATCH(304, "派件相关消息"),
/**
* 200司机端公告
*/
DRIVER_BULLETIN(200, "司机端公告"),
/**
* 201司机端系统通知
*/
DRIVER_SYSTEM_NOTICE(201, "司机端系统通知");
MessageContentTypeEnum(Integer code, String value) {
this.code = code;
this.value = value;
}
/**
* 类型编码
*/
@EnumValue
@JsonValue
private final Integer code;
/**
* 类型值
*/
private final String value;
@Override
public Integer getCode() {
return code;
}
@Override
public String getValue() {
return value;
}
public static MessageContentTypeEnum codeOf(Integer code) {
return EnumUtil.getBy(MessageContentTypeEnum::getCode, code);
}
}

View File

@@ -0,0 +1,42 @@
package com.sl.ms.base.domain.enums;
/***
* @author wangxiaobing
*
* 通用状态枚举
*/
public enum StatusEnum {
/**
* 禁用
*/
DISABLED(0, "DISABLED"),
/**
* 正常
*/
NORMAL(1, "NORMAL");
StatusEnum(Integer code, String value) {
this.code = code;
this.value = value;
}
/**
* 类型编码
*/
private final Integer code;
/**
* 类型值
*/
private final String value;
public Integer getCode() {
return code;
}
public String getValue() {
return value;
}
}

View File

@@ -0,0 +1,82 @@
package com.sl.ms.base.domain.enums;
import cn.hutool.core.util.EnumUtil;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
import com.sl.transport.common.enums.BaseEnum;
/**
* 事故类型1-直行事故2-追尾事故3-超车事故4-左转弯事故5-右转弯事故6-弯道事故7-坡道事故8-会车事故9-其他
*/
public enum TruckAccidentTypeEnum implements BaseEnum {
/**
* 直行事故
*/
STRAIGHT_ACCIDENT(1, "直行事故"),
/**
* 追尾事故
*/
REAR_END_COLLISION(2, "追尾事故"),
/**
* 超车事故
*/
OVERTAKING_ACCIDENT(3, "超车事故"),
/**
* 左转弯事故
*/
LEFT_TURN_ACCIDENT(4, "左转弯事故"),
/**
* 右转弯事故
*/
RIGHT_TURN_ACCIDENT(5, "右转弯事故"),
/**
* 弯道事故
*/
CURVE_ACCIDENT(6, "弯道事故"),
/**
* 坡道事故
*/
RAMP_ACCIDENT(7, "坡道事故"),
/**
* 会车事故
*/
TRAFFIC_ACCIDENT(8, "会车事故"),
/**
* 其他
*/
OTHER_ACCIDENT(9, "其他");
TruckAccidentTypeEnum(Integer code, String value) {
this.code = code;
this.value = value;
}
/**
* 类型编码
*/
@EnumValue
@JsonValue
private final Integer code;
/**
* 类型值
*/
private final String value;
@Override
public Integer getCode() {
return code;
}
@Override
public String getValue() {
return value;
}
public static TruckAccidentTypeEnum codeOf(Integer code) {
return EnumUtil.getBy(TruckAccidentTypeEnum::getCode, code);
}
}

View File

@@ -0,0 +1,70 @@
package com.sl.ms.base.domain.enums;
import cn.hutool.core.util.EnumUtil;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
import com.sl.transport.common.enums.BaseEnum;
/**
* 违章类型1-闯红灯2-无证驾驶3-超载4-酒后驾驶5-超速行驶,6-其他
*/
public enum TruckBreakRulesTypeEnum implements BaseEnum {
/**
* 闯红灯
*/
RUN_THE_RED_LIGHT(1, "闯红灯"),
/**
* 无证驾驶
*/
DRIVING_WITHOUT_LICENSE(2, "无证驾驶"),
/**
* 超载
*/
OVERLOAD(3, "超载"),
/**
* 酒后驾驶
*/
DRUNK_DRIVING(4, "酒后驾驶"),
/**
* 超速行驶
*/
OVER_SPEED(5, "超速行驶"),
/**
* 其他
*/
OTHER_BREAK(6, "其他");
TruckBreakRulesTypeEnum(Integer code, String value) {
this.code = code;
this.value = value;
}
/**
* 类型编码
*/
@EnumValue
@JsonValue
private final Integer code;
/**
* 类型值
*/
private final String value;
@Override
public Integer getCode() {
return code;
}
@Override
public String getValue() {
return value;
}
public static TruckBreakRulesTypeEnum codeOf(Integer code) {
return EnumUtil.getBy(TruckBreakRulesTypeEnum::getCode, code);
}
}

View File

@@ -0,0 +1,82 @@
package com.sl.ms.base.domain.enums;
import cn.hutool.core.util.EnumUtil;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
import com.sl.transport.common.enums.BaseEnum;
/**
* 故障类型1-发动机启动困难2-不着车3-漏油4-漏水5-照明失灵6-有异响7-排烟异常8-温度异常9-其他
*/
public enum TruckFaultTypeEnum implements BaseEnum {
/**
* 发动机启动困难
*/
DIFFICULTY_IN_STARTING_THE_ENGINE(1, "发动机启动困难"),
/**
* 不着车
*/
NO_TRUCK(2, "不着车"),
/**
* 漏油
*/
OIL_LEAKAGE(3, "漏油"),
/**
* 漏水
*/
WATER_LEAKAGE(4, "漏水"),
/**
* 照明失灵
*/
LIGHTING_FAILURE(5, "照明失灵"),
/**
* 有异响
*/
ABNORMAL_NOISE(6, "有异响"),
/**
* 排烟异常
*/
ABNORMAL_SMOKE(7, "排烟异常"),
/**
* 温度异常
*/
ABNORMAL_TEMPERATURE(8, "温度异常"),
/**
* 其他
*/
OTHER_FAULT(9, "其他");
TruckFaultTypeEnum(Integer code, String value) {
this.code = code;
this.value = value;
}
/**
* 类型编码
*/
@EnumValue
@JsonValue
private final Integer code;
/**
* 类型值
*/
private final String value;
@Override
public Integer getCode() {
return code;
}
@Override
public String getValue() {
return value;
}
public static TruckFaultTypeEnum codeOf(Integer code) {
return EnumUtil.getBy(TruckFaultTypeEnum::getCode, code);
}
}

View File

@@ -0,0 +1,47 @@
package com.sl.ms.base.domain.enums;
/***
* @author wangxiaobing
*
* 车辆计划运行状态枚举
*/
public enum TruckPlanScheduleStatusEnum {
/**
* 已调度
*/
SCHEDULED(2, "SCHEDULED"),
/**
* 已分配调度任务
*/
ASSIGNED(1, "ASSIGNED"),
/**
* 待分配运输任务
*/
UNASSIGNED(0, "UNASSIGNED");
TruckPlanScheduleStatusEnum(Integer code, String value) {
this.code = code;
this.value = value;
}
/**
* 类型编码
*/
private final Integer code;
/**
* 类型值
*/
private final String value;
public Integer getCode() {
return code;
}
public String getValue() {
return value;
}
}

View File

@@ -0,0 +1,47 @@
package com.sl.ms.base.domain.enums;
/***
* @author wangxiaobing
*
* 车辆计划运行状态枚举
*/
public enum TruckPlanStatusEnum {
/**
* 已到达
*/
ARRIVED(2, "ARRIVED"),
/**
* 禁用
*/
DISABLED(0, "DISABLED"),
/**
* 正常
*/
NORMAL(1, "NORMAL");
TruckPlanStatusEnum(Integer code, String value) {
this.code = code;
this.value = value;
}
/**
* 类型编码
*/
private final Integer code;
/**
* 类型值
*/
private final String value;
public Integer getCode() {
return code;
}
public String getValue() {
return value;
}
}

View File

@@ -0,0 +1,42 @@
package com.sl.ms.base.domain.enums;
/***
* @author wangxiaobing
*
* 车辆运行状态枚举
*/
public enum TruckRunStatusEnum {
/**
* 已达到
*/
ARRIVED(1, "ARRIVED"),
/**
* 运输中
*/
RUNNING(0, "RUNNING");
TruckRunStatusEnum(Integer code, String value) {
this.code = code;
this.value = value;
}
/**
* 类型编码
*/
private final Integer code;
/**
* 类型值
*/
private final String value;
public Integer getCode() {
return code;
}
public String getValue() {
return value;
}
}

View File

@@ -0,0 +1,48 @@
package com.sl.ms.base.domain.enums;
/***
* @author wangxiaobing
*
* 车次周期枚举
*/
public enum TruckTripsPeriodEnum {
/**
* 天
*/
DAY(1, "DAY"),
/**
* 周
*/
WEEK(2, "WEEK"),
/**
* 月
*/
MONTH(3, "MONTH");
TruckTripsPeriodEnum(Integer code, String value) {
this.code = code;
this.value = value;
}
/**
* 类型编码
*/
private final Integer code;
/**
* 类型值
*/
private final String value;
public Integer getCode() {
return code;
}
public String getValue() {
return value;
}
}

View File

@@ -0,0 +1,42 @@
package com.sl.ms.base.domain.enums;
/***
* @author wangxiaobing
*
* 车辆运行状态枚举
*/
public enum TruckWorkStatusEnum {
/**
* 启用
*/
WORKING(1, "WORKING"),
/**
* 停用
*/
STOP(0, "STOP");
TruckWorkStatusEnum(Integer code, String value) {
this.code = code;
this.value = value;
}
/**
* 类型编码
*/
private final Integer code;
/**
* 类型值
*/
private final String value;
public Integer getCode() {
return code;
}
public String getValue() {
return value;
}
}

View File

@@ -0,0 +1,21 @@
package com.sl.ms.base.domain.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
@AllArgsConstructor
@Getter
public enum WorkPatternEnum {
Weeks((byte) 1, "礼拜制"),Continuitys((byte) 2,"连续制");
private byte type;
private String desc;
public static String desc(byte type){
for (WorkPatternEnum workPatternEnum : values()){
if(workPatternEnum.getType() == type){
return workPatternEnum.getDesc();
}
}
return null;
}
}

View File

@@ -0,0 +1,21 @@
package com.sl.ms.base.domain.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
@AllArgsConstructor
@Getter
public enum WorkStatusEnum {
NOMAL((byte) 1, "正常"),STOPING((byte) 2, "停用");
private byte status;
private String desc;
public static String desc(byte status) {
for (WorkStatusEnum workStatusEnum : values()) {
if(status == workStatusEnum.getStatus()) {
return workStatusEnum.getDesc();
}
}
return null;
}
}

View File

@@ -0,0 +1,53 @@
package com.sl.ms.base.domain.enums;
import cn.hutool.core.util.EnumUtil;
/**
* 1:员工2快递员3司机
*/
public enum WorkUserTypeEnum {
/**
* 1:员工
*/
USER((byte) 1, "员工"),
/**
* 2快递员
*/
COURIER((byte) 2, "快递员"),
/**
* 3司机
*/
DRIVER((byte) 3, "司机");
WorkUserTypeEnum(Byte code, String value) {
this.code = code;
this.value = value;
}
/**
* 类型编码
*/
private final Byte code;
/**
* 类型值
*/
private final String value;
public Byte getCode() {
return code;
}
public String getValue() {
return value;
}
public static WorkUserTypeEnum codeOf(Integer code) {
return EnumUtil.getBy(WorkUserTypeEnum::getCode, code);
}
}

View File

@@ -0,0 +1,12 @@
package com.sl.ms.base.domain.truck;
import lombok.Data;
@Data
public class OrganIdsDto {
//起始机构id
private Long startOrganId;
//结束机构id
private Long endOrganId;
}

View File

@@ -0,0 +1,28 @@
package com.sl.ms.base.domain.truck;
import lombok.Data;
/**
* TransportTripsDto
*/
@Data
public class TransportTripsTruckDriverDto {
/**
* id
*/
private Long id;
/**
* 车辆id
*/
private Long truckId;
/**
* 车次id
*/
private Long transportTripsId;
/**
* 司机Id
*/
private Long driverId;
}

View File

@@ -0,0 +1,76 @@
package com.sl.ms.base.domain.truck;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* TruckDto
*/
@Data
public class TruckDto {
/**
* id
*/
private Long id;
/**
* 车辆类型id
*/
private Long truckTypeId;
/**
* 品牌
*/
private String brand;
/**
* 车牌号码
*/
private String licensePlate;
/**
* GPS设备id
*/
private String deviceGpsId;
/**
* 准载重量
*/
private BigDecimal allowableLoad;
/**
* 准载体积
*/
private BigDecimal allowableVolume;
/**
* 车辆行驶证信息id
*/
private Long truckLicenseId;
/**
* 状态 0禁用 1正常
*/
private Integer status;
/**
* 运输状态 0已到达 1运输中
*/
private Integer runStatus;
private Integer workStatus;
//所在机构id
private Long currentOrganId;
/**
* 图片信息
*/
private String picture;
/**
* 满载系数
*/
private Double loadingRatio;
@ApiModelProperty(value = "司机数量")
private Integer driverNum;
@ApiModelProperty(value = "车辆类型名称")
private String truckTypeName;
}

View File

@@ -0,0 +1,55 @@
package com.sl.ms.base.domain.truck;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.time.LocalDate;
/**
* TruckInsuranceDto
*/
@Data
public class TruckInsuranceDto {
/**
* id
*/
private String id;
/**
* 车辆id
*/
private String truckId;
/**
* 保险类型1为交强险
*/
private Integer type;
/**
* 车辆排放标准
*/
private String emissionsStandard;
/**
* 三责有效期
*/
@JsonFormat(
pattern = "yyyy-MM-dd"
)
private LocalDate threeLiabilityExpiration;
/**
* 被保险人
*/
private String insured;
/**
* 三责险
*/
private String threeLiability;
/**
* 交强险有效期
*/
@JsonFormat(
pattern = "yyyy-MM-dd"
)
private LocalDate compulsoryInsuranceExpiration;
/**
* 交强险
*/
private String compulsoryInsurance;
}

View File

@@ -0,0 +1,75 @@
package com.sl.ms.base.domain.truck;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDate;
/**
* TruckLicenseDto
*/
@Data
public class TruckLicenseDto {
/**
* id
*/
private Long id;
/**
* 车辆id
*/
private Long truckId;
/**
* 发动机编号
*/
private String engineNumber;
/**
* 注册时间
*/
@JsonFormat(
pattern = "yyyy-MM-dd"
)
private LocalDate registrationDate;
/**
* 国家强制报废日期
*/
@JsonFormat(
pattern = "yyyy-MM-dd"
)
private LocalDate mandatoryScrap;
/**
* 检验有效期
*/
@JsonFormat(
pattern = "yyyy-MM-dd"
)
private LocalDate expirationDate;
/**
* 整备质量
*/
private BigDecimal overallQuality;
/**
* 核定载质量
*/
private BigDecimal allowableWeight;
/**
* 外廓尺寸
*/
private String outsideDimensions;
/**
* 行驶证有效期
*/
@JsonFormat(
pattern = "yyyy-MM-dd"
)
private LocalDate validityPeriod;
/**
* 行驶证号
*/
private String transportCertificateNumber;
/**
* 图片信息
*/
private String picture;
}

View File

@@ -0,0 +1,77 @@
package com.sl.ms.base.domain.truck;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
/**
* TransportTripsDto
*/
@Data
public class TruckPlanDto {
/**
* id
*/
private Long id;
/**
* 车辆id
*/
private Long truckId;
/**
* 车次id
*/
private Long transportTripsId;
/**
* 司机Id
*/
private List<Long> driverIds;
/**
* 计划发车时间
*/
private LocalDateTime planDepartureTime;
/**
* 计划到达时间
*/
private LocalDateTime planArrivalTime;
/**
* 计划到达时间
*/
private LocalDateTime nextDepartureTime;
/**
* 状态
*
* @see com.sl.ms.base.domain.enums.StatusEnum
*/
private Integer status;
/**
* 创建时间
*/
private LocalDateTime created;
/**
* 更新时间
*/
private LocalDateTime updated;
/**
* 车辆结构
*/
private TruckDto truckDto;
//起始机构id
private Long startOrganId;
//结束机构id
private Long endOrganId;
/**
* 所属线路id
*/
private Long transportLineId;
}

View File

@@ -0,0 +1,73 @@
package com.sl.ms.base.domain.truck;
import com.sl.ms.base.domain.enums.TruckAccidentTypeEnum;
import com.sl.ms.base.domain.enums.TruckBreakRulesTypeEnum;
import com.sl.ms.base.domain.enums.TruckFaultTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 回车登记表
*/
@Data
@ApiModel(value = "新增回车登记")
public class TruckReturnRegisterDTO {
@ApiModelProperty(value = "车辆id", required = true)
private Long truckId;
@ApiModelProperty(value = "运输任务id", required = true)
private Long transportTaskId;
@ApiModelProperty(value = "出库时间", required = true)
private LocalDateTime outStorageTime;
@ApiModelProperty(value = "入库时间", required = true)
private LocalDateTime intoStorageTime;
@ApiModelProperty(value = "车辆是否违章", required = true)
private Boolean isBreakRules;
@ApiModelProperty(value = "违章类型1-闯红灯2-无证驾驶3-超载4-酒后驾驶5-超速行驶")
private TruckBreakRulesTypeEnum breakRulesType;
@ApiModelProperty(value = "违章说明,类型为“其他”时填写")
private String breakRulesDescription;
@ApiModelProperty(value = "罚款金额")
private BigDecimal penaltyAmount;
@ApiModelProperty(value = "扣分")
private Integer deductPoints;
@ApiModelProperty(value = "车辆是否故障", required = true)
private Boolean isFault;
@ApiModelProperty(value = "车辆是否可用")
private Boolean isAvailable;
@ApiModelProperty(value = "故障类型1-发动机启动困难2-不着车3-漏油4-漏水5-照明失灵6-有异响7-排烟异常8-温度异常9-其他")
private TruckFaultTypeEnum faultType;
@ApiModelProperty(value = "故障说明,类型为“其他”时填写")
private String faultDescription;
@ApiModelProperty(value = "故障图片")
private String faultImages;
@ApiModelProperty(value = "车辆是否发生事故", required = true)
private Boolean isAccident;
@ApiModelProperty(value = "事故类型1-直行事故2-追尾事故3-超车事故4-左转弯事故5-右转弯事故6-弯道事故7-坡道事故8-会车事故9-其他")
private TruckAccidentTypeEnum accidentType;
@ApiModelProperty(value = "事故说明,类型为“其他”时填写")
private String accidentDescription;
@ApiModelProperty(value = "事故图片")
private String accidentImages;
}

View File

@@ -0,0 +1,36 @@
package com.sl.ms.base.domain.truck;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 回车登记列表元素
*/
@Data
@ApiModel(value = "回车登记列表元素")
public class TruckReturnRegisterListDTO {
@ApiModelProperty(value = "回车登记id")
private Long id;
@ApiModelProperty(value = "车辆id")
private Long truckId;
@ApiModelProperty(value = "车牌号码")
private String licensePlate;
@ApiModelProperty(value = "运输任务id")
private Long transportTaskId;
@ApiModelProperty(value = "出车时间", example = "2022-09-12 15:16:00")
private LocalDateTime outStorageTime;
@ApiModelProperty(value = "回车时间", example = "2022-09-12 15:37:00")
private LocalDateTime intoStorageTime;
@ApiModelProperty(value = "车辆是否可用")
private Boolean isAvailable;
}

View File

@@ -0,0 +1,40 @@
package com.sl.ms.base.domain.truck;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import java.util.List;
/**
* 回车登记分页查询
*/
@Data
@ApiModel(value = "回车登记分页查询")
public class TruckReturnRegisterPageQueryDTO {
@ApiModelProperty(value = "页码", example = "1", required = true)
private Integer page;
@ApiModelProperty(value = "页面大小", example = "10", required = true)
private Integer pageSize;
@ApiModelProperty(value = "运输任务id,用于模糊查询")
private Long transportTaskId;
@ApiModelProperty(value = "运输任务id列表用于精确查询")
private List<Long> transportTaskIds;
@ApiModelProperty(value = "开始回车时间", example = "2022-08-15 15:00:00")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime intoStorageStartTime;
@ApiModelProperty(value = "结束回车时间", example = "2022-08-16 15:00:00")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime intoStorageEndTime;
@ApiModelProperty(value = "车辆是否可用1-是0-否")
private Boolean isAvailable;
}

View File

@@ -0,0 +1,43 @@
package com.sl.ms.base.domain.truck;
import lombok.Data;
/**
* TransportTripsDto
*/
@Data
public class TruckTripsDto {
/**
* id
*/
private Long id;
/**
* 车次名称
*/
private String name;
/**
* 发车时间
*/
private Integer departureTime;
/**
* 持续时间
*/
private Integer estimatedTime;
/**
* 所属线路id
*/
private Long transportLineId;
/**
* 周期1为天2为周3为月
*/
private Integer period;
/**
* 状态 0禁用 1正常
*/
private Integer status;
}

View File

@@ -0,0 +1,50 @@
package com.sl.ms.base.domain.truck;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
/**
* TruckTypeDto
*/
@Data
public class TruckTypeDto {
/**
* id
*/
private Long id;
/**
* 车辆类型名称
*/
private String name;
/**
* 准载重量
*/
private BigDecimal allowableLoad;
/**
* 准载体积
*/
private BigDecimal allowableVolume;
/**
* 长
*/
private BigDecimal measureLong;
/**
* 宽
*/
private BigDecimal measureWidth;
/**
* 高
*/
private BigDecimal measureHigh;
/**
* 货物类型id列表
*/
private List<Long> goodsTypeIds;
/**
* 车型数量
*/
private Integer num;
}

View File

@@ -0,0 +1,35 @@
package com.sl.ms.base.domain.user;
import lombok.Data;
/**
* TruckDriverDto
*/
@Data
public class TruckDriverDto {
private Long id;
/**
* 车辆id
*/
private Long truckId;
/**
* 用户Id
*/
private Long userId;
/**
* 年龄
*/
private Integer age;
/**
* 照片
*/
private String picture;
/**
* 驾龄
*/
private Integer drivingAge;
}

View File

@@ -0,0 +1,68 @@
package com.sl.ms.base.domain.user;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.time.LocalDate;
/**
* TruckDriverLicenseDto
*/
@Data
public class TruckDriverLicenseDto {
/**
* id
*/
private Long id;
/**
* 用户id
*/
private Long userId;
/**
* 准驾车型
*/
private String allowableType;
/**
* 初次领证日期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate initialCertificateDate;
/**
* 有效期限
*/
private String validPeriod;
/**
* 驾驶证号
*/
private String licenseNumber;
/**
* 驾龄
*/
private Integer driverAge;
/**
* 驾驶证类型
*/
private String licenseType;
/**
* 从业资格证信息
*/
private String qualificationCertificate;
/**
* 入场证信息
*/
private String passCertificate;
/**
* 图片
*/
private String picture;
}