1. 手动合并存在重复被合并的文件,并统一包名

This commit is contained in:
chenbowen
2025-09-22 03:09:15 +08:00
parent 9a311fc3f6
commit 2a2fe74e78
5615 changed files with 85783 additions and 85832 deletions

View File

@@ -0,0 +1,24 @@
<?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">
<parent>
<artifactId>dsc-logistics</artifactId>
<groupId>com.zt.plat</groupId>
<version>${revision}</version>
</parent>
<modules>
<module>zt-module-backend-logistics-api</module>
<module>zt-module-backend-logistics-server</module>
</modules>
<modelVersion>4.0.0</modelVersion>
<artifactId>zt-module-backend-logistics</artifactId>
<packaging>pom</packaging>
<name>${project.artifactId}</name>
<description>
BackendLogistics 模块。
</description>
</project>

View File

@@ -0,0 +1,46 @@
<?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">
<parent>
<artifactId>zt-module-backend-logistics</artifactId>
<groupId>com.zt.plat</groupId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>zt-module-backend-logistics-api</artifactId>
<packaging>jar</packaging>
<name>${project.artifactId}</name>
<description>
暴露给其它模块调用
</description>
<dependencies>
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-common</artifactId>
</dependency>
<!-- Web 相关 -->
<dependency>
<groupId>org.springdoc</groupId> <!-- 接口文档:使用最新版本的 Swagger 模型 -->
<artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
<scope>provided</scope>
</dependency>
<!-- 参数校验 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
<optional>true</optional>
</dependency>
<!-- RPC 远程调用相关 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,121 @@
package com.zt.plat.module.backendlogistics.enums;
import com.zt.plat.framework.common.exception.ErrorCode;
/**
* backend-logistics 错误码枚举类
*
* backend-logistics 系统,使用 1-xxx-xxx-xxx 段
*
* @author ZT
*/
public interface ErrorCodeConstants {
/**
* 业务异常的错误码区间,解决:解决各模块错误码定义,避免重复,在此只声明不做实际使用
* <p>
* 一共 10 位,分成四段
* <p>
* 第一段1 位,类型
* 1 - 业务级别异常
* x - 预留
* 第二段3 位,系统类型
* 001 - 用户系统
* 002 - 商品系统
* 003 - 订单系统
* 004 - 支付系统
* 005 - 优惠劵系统
* ... - ...
* 第三段3 位,模块
* 不限制规则。
* 一般建议,每个系统里面,可能有多个模块,可以再去做分段。以用户系统为例子:
* 001 - OAuth2 模块
* 002 - User 模块
* 003 - MobileCode 模块
* 第四段3 位,错误码
* 不限制规则。
* 一般建议,每个模块自增。
*
* @author Rayson
*/
// ========== 示例模块 1-001-000-000 ==========
ErrorCode EXAMPLE_NOT_EXISTS = new ErrorCode(1_001_000_001, "示例不存在");
ErrorCode VISIT_COMPANY_ID_NOT_EXISTS = new ErrorCode(1_100_000_002, "headers缺少visit-company-id参数");
ErrorCode VISIT_COMPANY_ID_NOT_TOP_COMPANY = new ErrorCode(1_100_000_002, "visit-company-id传入的不是顶级账套id");
// 模块 infra 错误码区间 [1-001-000-000 ~ 1-002-000-000)
// 模块 system 错误码区间 [1-002-000-000 ~ 1-003-000-000)
// 模块 report 错误码区间 [1-003-000-000 ~ 1-004-000-000)
// 模块 member 错误码区间 [1-004-000-000 ~ 1-005-000-000)
// 模块 mp 错误码区间 [1-006-000-000 ~ 1-007-000-000)
// 模块 pay 错误码区间 [1-007-000-000 ~ 1-008-000-000)
// 模块 bpm 错误码区间 [1-009-000-000 ~ 1-010-000-000)
// 模块 product 错误码区间 [1-008-000-000 ~ 1-009-000-000)
// 模块 trade 错误码区间 [1-011-000-000 ~ 1-012-000-000)
// 模块 promotion 错误码区间 [1-013-000-000 ~ 1-014-000-000)
// 模块 crm 错误码区间 [1-020-000-000 ~ 1-021-000-000)
// 模块 bseMngt.plceAchi [1_100_001_000 ~ 1_100_001_999]
ErrorCode WAREHOUSE_NOT_EXISTS = new ErrorCode(1_100_001_001, "仓库信息不存在");
ErrorCode FACTORY_NOT_EXISTS = new ErrorCode(1_100_001_002, "生产厂区信息不存在");
ErrorCode RAILWAY_STATION_NOT_EXISTS = new ErrorCode(1_100_001_003, "铁路站点维护不存在");
ErrorCode PORT_NOT_EXISTS = new ErrorCode(1_100_001_004, "港口信息不存在");
ErrorCode AUNCEL_CONFIG_NOT_EXISTS = new ErrorCode(1_100_001_005, "计量点配置不存在");
ErrorCode GATE_CONFIG_NOT_EXISTS = new ErrorCode(1_100_001_006, "门岗信息不存在");
ErrorCode CONSIGNEE_ADDRESS_NOT_EXISTS = new ErrorCode(1_100_001_007, "客户收货地址不存在");
ErrorCode PLACE_ARCHIVE_MATERIAL_NOT_EXISTS = new ErrorCode(1_100_001_008, "地点档案物料信息不存在");
ErrorCode CORR_FACT_NOT_EXISTS = new ErrorCode(1_100_001_009, "关联工厂信息不存在");
ErrorCode NAME_OR_CODE_EXISTS = new ErrorCode(1_100_001_010, "名称或编码已被使用");
ErrorCode GEOFENCE_NOT_EXISTS = new ErrorCode(1_100_001_011, "电子围栏不存在");
ErrorCode GEOFENCE_EXISTS_NEEDDEL = new ErrorCode(1_100_001_012, "电子围栏已存在,需删除后才能新增");
ErrorCode FOREIGN_AREA_NOT_EXISTS = new ErrorCode(1_100_001_013, "境外区域不存在");
ErrorCode MY_WRH_NOT_EXISTS = new ErrorCode(1_100_001_014, "协同我的仓库不存在");
ErrorCode MY_WRH_EXISTS = new ErrorCode(1_100_001_015, "已有关联关系");
ErrorCode MY_DRIVER_NOT_EXISTS = new ErrorCode(1_100_001_016, "协同我的司机不存在");
ErrorCode MY_DRIVER_EXISTS = new ErrorCode(1_100_001_017, "已有关联关系");
// 模块 bseMngt.plceAchi [1_100_002_000 ~ 1_100_002_999]
ErrorCode CUSTOMER_NOT_EXISTS = new ErrorCode(1_100_002_001, "客商协同账号不存在");
ErrorCode CARRIER_ACCOUNT_NOT_EXISTS = new ErrorCode(1_100_002_002, "物流服务商协同账号不存在");
ErrorCode DRIVING_ACCOUNT_NOT_EXISTS = new ErrorCode(1_100_002_003, "司机协同账号不存在");
ErrorCode ACCOUNT_ENABLE_STATUS = new ErrorCode(1_100_002_004, "只有禁用状态下才能启用");
ErrorCode ACCOUNT_NOT_ENABLE_STATUS = new ErrorCode(1_100_002_005, "只有启用状态下才能禁用");
ErrorCode USER_ERROR = new ErrorCode(1_100_002_007, "只有启用状态下才能禁用");
ErrorCode FILE_NOT_EXISTS = new ErrorCode(1_100_002_006, "附件保存失败");
// 模块 bseMngt.mtrl [1_100_003_000 ~ 1_100_003_999]
ErrorCode MTRL_XPD_NOT_EXISTS = new ErrorCode(1_100_003_001, "物资信息扩展不存在");
ErrorCode RLWY_MTRL_MAIN_NOT_EXISTS = new ErrorCode(1_100_003_002, "铁路物资对照主不存在");
ErrorCode RLWY_MTRL_MAIN_NAME_CODE_EXISTS = new ErrorCode(1_100_003_003, "铁路物资对照品名代码已存在");
ErrorCode RLWY_MTRL_SUBITEM_NOT_EXISTS = new ErrorCode(1_100_003_004, "铁路物资对照子不存在");
ErrorCode RLWY_MTRL_SUBITEM_MATERIAL_EXISTS = new ErrorCode(1_100_003_005, "铁路物资对照已经存在");
ErrorCode RLWY_MTRL_MAIN_DRAFT_STATUS = new ErrorCode(1_100_003_006, "铁路品名对照草稿状态才能操作");
ErrorCode RLWY_MTRL_MAIN_ENABLED_STATUS = new ErrorCode(1_100_003_007, "铁路品名对照启用状态才能操作");
// 模块 bseMngt.env [1_100_004_000 ~ 1_100_004_999]
ErrorCode ENVIRONMENTAL_INTO_MAIN_NOT_EXISTS = new ErrorCode(1_100_004_001, "环保进场管理主不存在");
ErrorCode ENVIRONMENTAL_INTO_SUBITEM_NOT_EXISTS = new ErrorCode(1_100_004_002, "环保进场管理子不存在");
ErrorCode ENVIRONMENTAL_INTO_MAIN_EXISTS = new ErrorCode(1_100_004_003, "环保进场主项已经存在");
ErrorCode ENVIRONMENTAL_INTO_SUBITEM_MATERIAL_EXISTS = new ErrorCode(1_100_004_004, "环保进场物资已经存在");
ErrorCode ENVIRONMENTAL_INTO_MAIN_DRAFT_STATUS = new ErrorCode(1_100_004_005, "环保进场草稿状态才能操作");
ErrorCode ENVIRONMENTAL_INTO_MAIN_ENABLED_STATUS = new ErrorCode(1_100_003_006, "环保进场启用状态才能操作");
// 模块 bseMngt.vhc [1_100_005_000 ~ 1_100_005_999]
ErrorCode SHIP_ARCHIVE_NOT_EXISTS = new ErrorCode(1_100_005_001, "船舶档案不存在");
ErrorCode SHIP_ARCHIVE_IMO_EXISTS = new ErrorCode(1_100_005_002, "船舶IMO码已经存在");
ErrorCode SHIP_ARCHIVE_DATA_CONVERSION_ERROR = new ErrorCode(1_100_005_003, "船舶数据转换错误");
// 模块 bseMngt.car [1_100_006_000 ~ 1_100_006_999]
ErrorCode CAR_ARCHIVE_NOT_EXISTS = new ErrorCode(1_100_006_001, "车辆档案不存在");
ErrorCode CAR_ARCHIVE_EXISTS = new ErrorCode(1_100_006_002, "车辆档案已经存在");
ErrorCode CAR_ARCHIVE_DATA_CONVERSION_ERROR = new ErrorCode(1_100_005_003, "车辆数据转换错误");
ErrorCode CAR_BLACKLIST_NOT_EXISTS = new ErrorCode(1_100_006_004, "车辆黑名单不存在");
ErrorCode SEQUENCE_ERROR = new ErrorCode(1_100_007_001, "流水号异常");
}

View File

@@ -0,0 +1,51 @@
package com.zt.plat.module.backendlogistics.enums;
import io.swagger.v3.oas.annotations.media.Schema;
@Schema(description = "是否数据字典infra_boolean_string")
public enum YesOrNoEnum {
TRUE("true", ""),
FALSE("false", "");
private String code;
private String msg;
YesOrNoEnum() {
}
YesOrNoEnum(String code, String msg) {
this.code = code;
this.msg = msg;
}
public String getCode() {
return code;
}
public String getMsg() {
return msg;
}
public static String getMsgByCode(String code) {
YesOrNoEnum[] values = values();
for (YesOrNoEnum dto : values) {
if (dto.getCode().equals(code)) {
return dto.getMsg();
}
}
return null;
}
public static String getCodeByMsg(String msg) {
YesOrNoEnum[] values = values();
for (YesOrNoEnum dto : values) {
if (dto.getMsg().equals(msg)) {
return dto.getCode();
}
}
return null;
}
}

View File

@@ -0,0 +1,67 @@
package com.zt.plat.module.backendlogistics.enums.bseMngt.plceAchi;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.Arrays;
import java.util.List;
@Schema(description = "仓库类型数据字典warehouse_type")
public enum PlceTpEnum {
WAREHOUSE("warehouse", "仓库"),
FACTORY("factory", "生产厂区"),
RAILWAY_STATION("railway-station", "铁路站点"),
PORT("port", "港口"),
AUNCEL("auncel", "计量点"),
GATE("gate", "门岗"),
CONSIGNEE_ADDRESS("consignee-address", "客户收货地址");
private String code;
private String msg;
PlceTpEnum() {
}
PlceTpEnum(String code, String msg) {
this.code = code;
this.msg = msg;
}
public String getCode() {
return code;
}
public String getMsg() {
return msg;
}
public static String getMsgByCode(String code) {
PlceTpEnum[] values = values();
for (PlceTpEnum dto : values) {
if (dto.getCode().equals(code)) {
return dto.getMsg();
}
}
return null;
}
public static String getCodeByMsg(String msg) {
PlceTpEnum[] values = values();
for (PlceTpEnum dto : values) {
if (dto.getMsg().equals(msg)) {
return dto.getCode();
}
}
return null;
}
public static Boolean isNoCompany(String code) {
List<String> noCompanys = Arrays.asList(PlceTpEnum.WAREHOUSE.getCode(), PlceTpEnum.RAILWAY_STATION.getCode(), PlceTpEnum.CONSIGNEE_ADDRESS.getCode());
if (noCompanys.contains(code)) {
return true;
}
return false;
}
}

View File

@@ -0,0 +1,51 @@
package com.zt.plat.module.backendlogistics.enums.bseMngt.plceAchi;
import io.swagger.v3.oas.annotations.media.Schema;
@Schema(description = "排队方式数据字典queue_way")
public enum QueWyEnum {
RQ("rq", "远程排队"),
AQ("aq", "到厂排队");
private String code;
private String msg;
QueWyEnum() {
}
QueWyEnum(String code, String msg) {
this.code = code;
this.msg = msg;
}
public String getCode() {
return code;
}
public String getMsg() {
return msg;
}
public static String getMsgByCode(String code) {
QueWyEnum[] values = values();
for (QueWyEnum dto : values) {
if (dto.getCode().equals(code)) {
return dto.getMsg();
}
}
return null;
}
public static String getCodeByMsg(String msg) {
QueWyEnum[] values = values();
for (QueWyEnum dto : values) {
if (dto.getMsg().equals(msg)) {
return dto.getCode();
}
}
return null;
}
}

View File

@@ -0,0 +1,52 @@
package com.zt.plat.module.backendlogistics.enums.bseMngt.plceAchi;
import io.swagger.v3.oas.annotations.media.Schema;
@Schema(description = "仓库性质数据字典warehouse_nature")
public enum WrhNtrEnum {
SW("sw", "现货仓"),
FW("fw", "期货仓"),
TDW("tdw", "报税仓");
private String code;
private String msg;
WrhNtrEnum() {
}
WrhNtrEnum(String code, String msg) {
this.code = code;
this.msg = msg;
}
public String getCode() {
return code;
}
public String getMsg() {
return msg;
}
public static String getMsgByCode(String code) {
WrhNtrEnum[] values = values();
for (WrhNtrEnum dto : values) {
if (dto.getCode().equals(code)) {
return dto.getMsg();
}
}
return null;
}
public static String getCodeByMsg(String msg) {
WrhNtrEnum[] values = values();
for (WrhNtrEnum dto : values) {
if (dto.getMsg().equals(msg)) {
return dto.getCode();
}
}
return null;
}
}

View File

@@ -0,0 +1,51 @@
package com.zt.plat.module.backendlogistics.enums.bseMngt.plceAchi;
import io.swagger.v3.oas.annotations.media.Schema;
@Schema(description = "仓库类型数据字典warehouse_type")
public enum WrhTpEnum {
FAW("faw", "厂区库"),
TPL("tpl", "三方库");
private String code;
private String msg;
WrhTpEnum() {
}
WrhTpEnum(String code, String msg) {
this.code = code;
this.msg = msg;
}
public String getCode() {
return code;
}
public String getMsg() {
return msg;
}
public static String getMsgByCode(String code) {
WrhTpEnum[] values = values();
for (WrhTpEnum dto : values) {
if (dto.getCode().equals(code)) {
return dto.getMsg();
}
}
return null;
}
public static String getCodeByMsg(String msg) {
WrhTpEnum[] values = values();
for (WrhTpEnum dto : values) {
if (dto.getMsg().equals(msg)) {
return dto.getCode();
}
}
return null;
}
}

View File

@@ -0,0 +1,53 @@
package com.zt.plat.module.backendlogistics.enums.bseMngt.xtAcct;
import io.swagger.v3.oas.annotations.media.Schema;
@Schema(description = "协同账号状态数据字典account_status")
public enum AcctStatisEnum {
EDIT("0", "编辑"),
AWAIT_AUTH("1", "待审核"),
REVIEWED("2","已审核"),
CONFIRM("3","确认"),
CAENCEL("-1","注销");
private String code;
private String msg;
AcctStatisEnum() {
}
AcctStatisEnum(String code, String msg) {
this.code = code;
this.msg = msg;
}
public String getCode() {
return code;
}
public String getMsg() {
return msg;
}
public static String getMsgByCode(String code) {
AcctStatisEnum[] values = values();
for (AcctStatisEnum dto : values) {
if (dto.getCode().equals(code)) {
return dto.getMsg();
}
}
return null;
}
public static String getCodeByMsg(String msg) {
AcctStatisEnum[] values = values();
for (AcctStatisEnum dto : values) {
if (dto.getMsg().equals(msg)) {
return dto.getCode();
}
}
return null;
}
}

View File

@@ -0,0 +1,51 @@
package com.zt.plat.module.backendlogistics.enums.bseMngt.xtAcct;
import io.swagger.v3.oas.annotations.media.Schema;
@Schema(description = "协同账号来源数据字典driver_source")
public enum DriverSourceEnum {
DRIVER("DRIVER", "司机"),
COLLABORATION("COLLABORATION", "协同平台"),
SYSTEM("SYSTEM","管理系统");
private String code;
private String msg;
DriverSourceEnum() {
}
DriverSourceEnum(String code, String msg) {
this.code = code;
this.msg = msg;
}
public String getCode() {
return code;
}
public String getMsg() {
return msg;
}
public static String getMsgByCode(String code) {
DriverSourceEnum[] values = values();
for (DriverSourceEnum dto : values) {
if (dto.getCode().equals(code)) {
return dto.getMsg();
}
}
return null;
}
public static String getCodeByMsg(String msg) {
DriverSourceEnum[] values = values();
for (DriverSourceEnum dto : values) {
if (dto.getMsg().equals(msg)) {
return dto.getCode();
}
}
return null;
}
}

View File

@@ -0,0 +1,50 @@
package com.zt.plat.module.backendlogistics.enums.bseMngt.xtAcct;
import io.swagger.v3.oas.annotations.media.Schema;
@Schema(description = "司机协同账号认证状态数据字典driver_status")
public enum DriverStatusEnum {
AWAIT_AUTH("1", "未认证"),
REVIEWED("2","已认证");
private String code;
private String msg;
DriverStatusEnum() {
}
DriverStatusEnum(String code, String msg) {
this.code = code;
this.msg = msg;
}
public String getCode() {
return code;
}
public String getMsg() {
return msg;
}
public static String getMsgByCode(String code) {
DriverStatusEnum[] values = values();
for (DriverStatusEnum dto : values) {
if (dto.getCode().equals(code)) {
return dto.getMsg();
}
}
return null;
}
public static String getCodeByMsg(String msg) {
DriverStatusEnum[] values = values();
for (DriverStatusEnum dto : values) {
if (dto.getMsg().equals(msg)) {
return dto.getCode();
}
}
return null;
}
}

View File

@@ -0,0 +1,51 @@
package com.zt.plat.module.backendlogistics.enums.bseMngt.xtAcct;
import io.swagger.v3.oas.annotations.media.Schema;
@Schema(description = "客商类型数据字典user_tp")
public enum UserTypeEnum {
LGST_CSTM("LGST_CSTM", "客户"),
LGST_CRR_ACCT("LGST_CRR_ACCT", "承运商"),
LGST_DRVG_ACCT("LGST_DRVG_ACCT","司机");
private String code;
private String msg;
UserTypeEnum() {
}
UserTypeEnum(String code, String msg) {
this.code = code;
this.msg = msg;
}
public String getCode() {
return code;
}
public String getMsg() {
return msg;
}
public static String getMsgByCode(String code) {
UserTypeEnum[] values = values();
for (UserTypeEnum dto : values) {
if (dto.getCode().equals(code)) {
return dto.getMsg();
}
}
return null;
}
public static String getCodeByMsg(String msg) {
UserTypeEnum[] values = values();
for (UserTypeEnum dto : values) {
if (dto.getMsg().equals(msg)) {
return dto.getCode();
}
}
return null;
}
}

View File

@@ -0,0 +1,65 @@
package com.zt.plat.module.backendlogistics.enums.common;
import io.swagger.v3.oas.annotations.media.Schema;
@Schema(description = "附件业务类型")
public enum FileBuinessCodeEnum {
DRIVING_FRONT("drivingFrontImage","驾驶证正面"),
DRIVING_BACK("drivingBackImage","驾驶证反面"),
IDENTITY_FRONT("identityFrontImage","身份证正面"),
IDENTITY_BACK("identityBackImage","身份证反面"),
BUSINESS_LICENSE("businessLicenseImage","营业执照"),
EDIT("editImage","修改说明"),
OTHER("otherImage","其他附件"),
CAR_LICENSE_FRONT("carLicenseFrontImage","行驶证正页"),
CAR_LICENSE_BACK("carLicenseBackImage","行驶证副页"),
CAR_CHECKLIST("carChecklistImage","随车清单"),
CAR_PHOTOS("carPhotosImage","车辆照片"),
CAR_INSURANCE("carInsuranceImage","车辆保险信息"),
SHIP_NATIONALITY("nationalityImage","国籍证书"),
SHIP_OWNERSHIP("shipOwnershipImage","船舶所有权登记证书/租赁证书"),
SHIP_OTHER("shipOtherImage","船舶营运证等其他证书"),
SHIP_PHOTOS("shipPhotosImage","船舶照片");
private String code;
private String msg;
FileBuinessCodeEnum() {
}
FileBuinessCodeEnum(String code, String msg) {
this.code = code;
this.msg = msg;
}
public String getCode() {
return code;
}
public String getMsg() {
return msg;
}
public static String getMsgByCode(String code) {
FileBuinessCodeEnum[] values = values();
for (FileBuinessCodeEnum dto : values) {
if (dto.getCode().equals(code)) {
return dto.getMsg();
}
}
return null;
}
public static String getCodeByMsg(String msg) {
FileBuinessCodeEnum[] values = values();
for (FileBuinessCodeEnum dto : values) {
if (dto.getMsg().equals(msg)) {
return dto.getCode();
}
}
return null;
}
}

View File

@@ -0,0 +1,52 @@
package com.zt.plat.module.backendlogistics.enums.common;
import io.swagger.v3.oas.annotations.media.Schema;
@Schema(description="公共管理附件来源")
public enum FileSourceEnum {
DRIVING_ACCOUNT("lgst.drivingaccount","司机协同账号"),
CARRIER_ACCOUNT("lgst.carrieraccount","物流服务商协同账号"),
CUSTOMER_ACCOUNT("lgst.customer","客商协同账号"),
CAR_ARCHIVE("lgst.bseMngt.crAchi","车辆档案"),
SHIP_ARCHIVE("lgst.bseMngt.shp","船舶档案");
private String code;
private String msg;
FileSourceEnum() {
}
FileSourceEnum(String code, String msg) {
this.code = code;
this.msg = msg;
}
public String getCode() {
return code;
}
public String getMsg() {
return msg;
}
public static String getMsgByCode(String code) {
FileSourceEnum[] values = values();
for (FileSourceEnum dto : values) {
if (dto.getCode().equals(code)) {
return dto.getMsg();
}
}
return null;
}
public static String getCodeByMsg(String msg) {
FileSourceEnum[] values = values();
for (FileSourceEnum dto : values) {
if (dto.getMsg().equals(msg)) {
return dto.getCode();
}
}
return null;
}
}

View File

@@ -0,0 +1,45 @@
package com.zt.plat.module.backendlogistics.enums.common;
public enum SequenceEnum {
XT_ACCOUNT_NO("CHILD_ACCOUNT_NO", "协同登录账号");
private String code;
private String msg;
SequenceEnum() {
}
SequenceEnum(String code, String msg) {
this.code = code;
this.msg = msg;
}
public String getCode() {
return code;
}
public String getMsg() {
return msg;
}
public static String getMsgByCode(String code) {
SequenceEnum[] values = values();
for (SequenceEnum dto : values) {
if (dto.getCode().equals(code)) {
return dto.getMsg();
}
}
return null;
}
public static String getCodeByMsg(String msg) {
SequenceEnum[] values = values();
for (SequenceEnum dto : values) {
if (dto.getMsg().equals(msg)) {
return dto.getCode();
}
}
return null;
}
}

View File

@@ -0,0 +1,61 @@
package com.zt.plat.module.backendlogistics.utils;
import java.security.SecureRandom;
public class PasswordGeneratorUtils {
private static final String LOWER_CASE = "abcdefghijklmnopqrstuvwxyz";
private static final String UPPER_CASE = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
private static final String DIGITS = "0123456789";
private static final String SPECIAL_CHARS = "@#$%&*";
private static final String ALL_CHARS = LOWER_CASE + UPPER_CASE + DIGITS + SPECIAL_CHARS;
private static final SecureRandom random = new SecureRandom();
/**
* 生成随机密码
* 规则长度为8包含数字、大小写字母、特殊符号
*
* @return 生成的随机密码
*/
public static String generateRandomPassword() {
StringBuilder password = new StringBuilder();
// 确保至少包含每种类型的字符各一个
password.append(LOWER_CASE.charAt(random.nextInt(LOWER_CASE.length())));
password.append(UPPER_CASE.charAt(random.nextInt(UPPER_CASE.length())));
password.append(DIGITS.charAt(random.nextInt(DIGITS.length())));
password.append(SPECIAL_CHARS.charAt(random.nextInt(SPECIAL_CHARS.length())));
// 填充剩余的4个字符
for (int i = 0; i < 4; i++) {
password.append(ALL_CHARS.charAt(random.nextInt(ALL_CHARS.length())));
}
// 打乱字符顺序
return shuffleString(password.toString());
}
/**
* 打乱字符串中字符的顺序
*
* @param input 输入字符串
* @return 打乱后的字符串
*/
private static String shuffleString(String input) {
char[] chars = input.toCharArray();
for (int i = chars.length - 1; i > 0; i--) {
int j = random.nextInt(i + 1);
char temp = chars[i];
chars[i] = chars[j];
chars[j] = temp;
}
return new String(chars);
}
public static void main(String[] args) {
// 测试生成密码
for (int i = 0; i < 10; i++) {
System.out.println("Generated password: " + generateRandomPassword());
}
}
}

View File

@@ -0,0 +1,155 @@
<?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">
<parent>
<artifactId>zt-module-backend-logistics</artifactId>
<groupId>com.zt.plat</groupId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<artifactId>zt-module-backend-logistics-server</artifactId>
<name>${project.artifactId}</name>
<description>
BackendLogistics 模块。
</description>
<dependencies>
<!-- Spring Cloud 基础 -->
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-env</artifactId>
</dependency>
<!-- 依赖服务 -->
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-module-system-api</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-module-infra-api</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-module-backend-logistics-api</artifactId>
<version>${revision}</version>
</dependency>
<!-- 业务组件 -->
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-biz-data-permission</artifactId>
</dependency>
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-biz-tenant</artifactId>
</dependency>
<!-- Web 相关 -->
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-security</artifactId>
</dependency>
<!-- DB 相关 -->
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-mybatis</artifactId>
</dependency>
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-redis</artifactId>
</dependency>
<!-- RPC 远程调用相关 -->
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-rpc</artifactId>
</dependency>
<!-- Registry 注册中心相关 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- Config 配置中心相关 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- Job 定时任务相关 -->
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-job</artifactId>
</dependency>
<!-- 消息队列相关 -->
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-mq</artifactId>
</dependency>
<!-- Test 测试相关 -->
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-test</artifactId>
</dependency>
<!-- 工具类相关 -->
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-excel</artifactId>
</dependency>
<!-- 监控相关 -->
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-monitor</artifactId>
</dependency>
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-biz-business</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-biz-ip</artifactId>
</dependency>
</dependencies>
<build>
<!-- 设置构建的 jar 包名 -->
<finalName>${project.artifactId}</finalName>
<!-- <plugins>-->
<!-- &lt;!&ndash; 打包 &ndash;&gt;-->
<!-- <plugin>-->
<!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-maven-plugin</artifactId>-->
<!-- <version>${spring.boot.version}</version>-->
<!-- <executions>-->
<!-- <execution>-->
<!-- <goals>-->
<!-- <goal>repackage</goal> &lt;!&ndash; 将引入的 jar 打入其中 &ndash;&gt;-->
<!-- </goals>-->
<!-- </execution>-->
<!-- </executions>-->
<!-- </plugin>-->
<!-- </plugins>-->
</build>
</project>

View File

@@ -0,0 +1,18 @@
package com.zt.plat.module.backendlogistics;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* BackendLogistics 模块的启动类
*
* @author ZT
*/
//@SpringBootApplication
public class BackendLogisticsServerApplication {
public static void main(String[] args) {
SpringApplication.run(BackendLogisticsServerApplication.class, args);
}
}

View File

@@ -0,0 +1,29 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.zt.plat.framework.common.pojo.CommonResult;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
/**
* BackendLogistics 控制器
*
* @author ZT
*/
@Tag(name = "管理后台 - BackendLogistics")
@RestController
@RequestMapping("/admin/backend-logistics/backend-logistics")
public class BackendLogisticsController {
@GetMapping("/hello")
@Operation(summary = "Hello BackendLogistics")
public CommonResult<String> hello() {
return success("Hello, BackendLogistics!");
}
}

View File

@@ -0,0 +1,173 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import com.zt.plat.framework.business.annotation.FileUploadController;
import com.zt.plat.framework.business.controller.AbstractFileUploadController;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.*;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.common.vo.IdsVo;
import com.zt.plat.module.backendlogistics.dal.dataobject.bseMngt.acct.CarrierAccountDO;
import com.zt.plat.module.backendlogistics.service.bseMngt.acct.CarrierAccountService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 物流服务商协同账号")
@RestController
@RequestMapping("/lgst/carrier-account")
@Validated
@FileUploadController(source = "lgst.carrieraccount")
public class CarrierAccountController extends AbstractFileUploadController implements BusinessControllerMarker{
static {
FileUploadController annotation = CarrierAccountController.class.getAnnotation(FileUploadController.class);
if (annotation != null) {
setFileUploadInfo(annotation);
}
}
@Resource
private CarrierAccountService carrierAccountService;
@PostMapping("/create")
@Operation(summary = "创建物流服务商协同账号")
@PreAuthorize("@ss.hasPermission('lgst:carrier-account:create')")
public CommonResult<CarrierAccountRespVO> createCarrierAccount(@Valid @RequestBody CarrierAccountSaveReqVO createReqVO) {
return success(carrierAccountService.createCarrierAccount(createReqVO));
}
@PostMapping("/update")
@Operation(summary = "更新物流服务商协同账号")
@PreAuthorize("@ss.hasPermission('lgst:carrier-account:update')")
public CommonResult<Boolean> updateCarrierAccount(@Valid @RequestBody CarrierAccountSaveReqVO updateReqVO) {
carrierAccountService.updateCarrierAccount(updateReqVO);
return success(true);
}
@PostMapping("/delete")
@Operation(summary = "删除物流服务商协同账号")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('lgst:carrier-account:delete')")
public CommonResult<Boolean> deleteCarrierAccount(@RequestParam("id") Long id) {
carrierAccountService.deleteCarrierAccount(id);
return success(true);
}
@PostMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除物流服务商协同账号")
@PreAuthorize("@ss.hasPermission('lgst:carrier-account:delete')")
public CommonResult<Boolean> deleteCarrierAccountList(@RequestBody BatchDeleteReqVO req) {
carrierAccountService.deleteCarrierAccountListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得物流服务商协同账号")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:carrier-account:query')")
public CommonResult<CarrierAccountRespVO> getCarrierAccount(@RequestParam("id") Long id) {
CarrierAccountRespVO carrierAccount = carrierAccountService.getCarrierAccount(id);
return success(carrierAccount);
}
@PostMapping("/page")
@Operation(summary = "获得物流服务商协同账号分页")
@PreAuthorize("@ss.hasPermission('lgst:carrier-account:query')")
public CommonResult<PageResult<CarrierAccountRespVO>> getCarrierAccountPage(@Valid @RequestBody CarrierAccountPageReqVO pageReqVO) {
PageResult<CarrierAccountDO> pageResult = carrierAccountService.getCarrierAccountPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, CarrierAccountRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出物流服务商协同账号 Excel")
@PreAuthorize("@ss.hasPermission('lgst:carrier-account:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportCarrierAccountExcel(@Valid CarrierAccountPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<CarrierAccountDO> list = carrierAccountService.getCarrierAccountPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "物流服务商协同账号.xls", "数据", CarrierAccountRespVO.class,
BeanUtils.toBean(list, CarrierAccountRespVO.class));
}
/**
* 设置禁用/启用
* @param vo
*/
@PostMapping("/setEnable")
@Operation(summary = "启用/禁用")
@PreAuthorize("@ss.hasPermission('lgst:carrier-account:setEnable')")
public CommonResult<Boolean> setEnable(@RequestBody DriverAccountEditEnbVo vo){
carrierAccountService.setEnable(vo);
return success(true);
}
/**
* 注销账号
* @param vo
*/
@PostMapping("/closeCarrierAccount")
@Operation(summary = "注销账号")
@PreAuthorize("@ss.hasPermission('lgst:carrier-account:closeCarrierAccount')")
public CommonResult<Boolean> closeDrivingAccount(@RequestBody IdsVo vo){
carrierAccountService.closeCarrierAccount(vo.getIds());
return success(true);
}
/**
* 重置密码
* @param vo
*/
@PostMapping("/setPwd")
@Operation(summary = "重置密码")
@PreAuthorize("@ss.hasPermission('lgst:carrier-account:setPwd')")
public CommonResult<Boolean> setPwd(@RequestBody IdsVo vo){
carrierAccountService.regPwd(vo.getIds());
return success(true);
}
/**
* 查询日志
* @param id
* @return
*/
@GetMapping ("/getOperationLogList")
@Operation(summary = "查询日志")
@PreAuthorize("@ss.hasPermission('lgst:carrier-account:getOperationLogList')")
public CommonResult<List<OperationLogListVO>> getOperationLogList(@RequestParam("id") Long id){
return success(carrierAccountService.getOperationLogList(id));
}
/**
* 审核
* @param vo
* @return
*/
@PostMapping ("/confirm")
@Operation(summary = "审核")
@PreAuthorize("@ss.hasPermission('lgst:carrier-account:confirm')")
public CommonResult<Boolean> confirm(@RequestBody CarrierAccountSaveReqVO vo){
carrierAccountService.confirm(vo);
return success(true);
}
}

View File

@@ -0,0 +1,37 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct;
import com.zt.plat.framework.business.annotation.FileUploadController;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.ChildAccountPageReqVo;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.ChildAccountRespVo;
import com.zt.plat.module.backendlogistics.service.bseMngt.acct.ChildAccountService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 子账号")
@RestController
@RequestMapping("/lgst/child-account")
@Validated
@FileUploadController(source = "lgst.childaccount")
public class ChildAccountController implements BusinessControllerMarker {
@Resource
private ChildAccountService childAccountService;
@PostMapping("/page")
@Operation(summary = "获取子账号分页数据")
// @PreAuthorize("@ss.hasPermission('lgst:carrier-account:query')")
public CommonResult<PageResult<ChildAccountRespVo>> getCarrierAccountPage(@RequestBody ChildAccountPageReqVo pageReqVO) {
PageResult<ChildAccountRespVo> pageResult =childAccountService.getChildAccountPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, ChildAccountRespVo.class));
}
}

View File

@@ -0,0 +1,89 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.ChildAccountPageReqVo;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.ChildAccountRespVo;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.ChildAccountSaveReqVo;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.common.vo.IdVo;
import com.zt.plat.module.backendlogistics.service.bseMngt.acct.ChildAccountService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
@Tag(name = "物流协同 - 子账号")
@RestController
@RequestMapping("/lgst/collaboration/child-account")
@Validated
public class CollaborationChildAccountController implements BusinessControllerMarker {
@Resource
private ChildAccountService childAccountService;
/**
* 协同查询子账号分页数据
* @param reqVo
* @return
*/
@PostMapping("/page")
@Operation(summary = "获取子账号分页数据")
@PreAuthorize("@ss.hasPermission('lgst:collaboration:child-account:query')")
public CommonResult<PageResult<ChildAccountRespVo>> getCollChildAccountPage(@RequestBody ChildAccountPageReqVo reqVo){
PageResult<ChildAccountRespVo> collChildAccountPage = childAccountService.getCollChildAccountPage(reqVo);
return success(collChildAccountPage);
}
/**
* 删除子账号
* @param vo
*/
@PostMapping("/delete")
@Operation(summary = "删除子账号")
@PreAuthorize("@ss.hasPermission('lgst:collaboration:child-account:delete')")
public CommonResult<Boolean> deleteChildAccount(@RequestBody IdVo vo){
childAccountService.deleteChildAccount(vo.getId());
return success(true);
}
/**
* 修改子账号数据
* @param saveReqVo
*/
@PostMapping("/update")
@Operation(summary = "修改子账号")
@PreAuthorize("@ss.hasPermission('lgst:collaboration:child-account:update')")
public CommonResult<Boolean> updateChildAccount(@RequestBody ChildAccountSaveReqVo saveReqVo){
childAccountService.updateChildAccount(saveReqVo);
return success(true);
}
/**
* 修改子账号密码
* @param saveReqVo
*/
@PostMapping("/updatePassword")
@Operation(summary = "修改子账号密码")
@PreAuthorize("@ss.hasPermission('lgst:collaboration:child-account:updatePassword')")
public CommonResult<Boolean> updateChildPassword(@RequestBody ChildAccountSaveReqVo saveReqVo){
childAccountService.updateChildPassword(saveReqVo);
return success(true);
}
/**
* 创建子账号
* @param saveReqVo
*/
@PostMapping("/create")
@Operation(summary = "创建子账号")
@PreAuthorize("@ss.hasPermission('lgst:collaboration:child-account:create')")
public CommonResult<Boolean> create(@RequestBody ChildAccountSaveReqVo saveReqVo){
childAccountService.craete(saveReqVo);
return success(true);
}
}

View File

@@ -0,0 +1,47 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct;
import com.zt.plat.framework.business.annotation.FileUploadController;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CollaborationCompanyRespVo;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CollaborationCompanySaveReqVo;
import com.zt.plat.module.backendlogistics.service.bseMngt.acct.CollaborationCompanyService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
@Tag(name = "物流协同 -企业信息")
@RestController
@RequestMapping("/lgst/collaboration/company")
@Validated
@FileUploadController(source = "lgst.coll.company")
public class CollaborationCompanyController implements BusinessControllerMarker {
@Resource
private CollaborationCompanyService collaborationCompanyService;
@GetMapping("/getCompanyDetail")
@Operation(summary = "获取企业信息")
@PreAuthorize("@ss.hasPermission('lgst:coll:company:getCompanyDetail')")
public CommonResult<CollaborationCompanyRespVo> getCompanyDetail() {
CollaborationCompanyRespVo collaborationCompany = collaborationCompanyService.getCollaborationCompany();
return success(collaborationCompany);
}
/**
* 修改登录手机号
*
* @param saveReqVo
*/
@PostMapping("/updateTel")
@Operation(summary = "修改手机号")
@PreAuthorize("@ss.hasPermission('lgst:coll:company:updateTel')")
public CommonResult<Boolean> updateTel(@RequestBody CollaborationCompanySaveReqVo saveReqVo) {
collaborationCompanyService.updateTel(saveReqVo);
return success(true);
}
}

View File

@@ -0,0 +1,172 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import com.zt.plat.framework.business.annotation.FileUploadController;
import com.zt.plat.framework.business.controller.AbstractFileUploadController;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.*;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.common.vo.IdsVo;
import com.zt.plat.module.backendlogistics.dal.dataobject.bseMngt.acct.CustomerDO;
import com.zt.plat.module.backendlogistics.service.bseMngt.acct.CustomerService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 客商协同账号")
@RestController
@RequestMapping("/lgst/customer")
@Validated
@FileUploadController(source = "lgst.customer")
public class CustomerController extends AbstractFileUploadController implements BusinessControllerMarker{
static {
FileUploadController annotation = CustomerController.class.getAnnotation(FileUploadController.class);
if (annotation != null) {
setFileUploadInfo(annotation);
}
}
@Resource
private CustomerService customerService;
@PostMapping("/create")
@Operation(summary = "创建客商协同账号")
@PreAuthorize("@ss.hasPermission('lgst:customer:create')")
public CommonResult<CustomerRespVO> createCustomer(@Valid @RequestBody CustomerSaveReqVO createReqVO) {
return success(customerService.createCustomer(createReqVO));
}
@PostMapping("/update")
@Operation(summary = "更新客商协同账号")
@PreAuthorize("@ss.hasPermission('lgst:customer:update')")
public CommonResult<Boolean> updateCustomer(@Valid @RequestBody CustomerSaveReqVO updateReqVO) {
customerService.updateCustomer(updateReqVO);
return success(true);
}
@PostMapping("/delete")
@Operation(summary = "删除客商协同账号")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('lgst:customer:delete')")
public CommonResult<Boolean> deleteCustomer(@RequestParam("id") Long id) {
customerService.deleteCustomer(id);
return success(true);
}
@PostMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除客商协同账号")
@PreAuthorize("@ss.hasPermission('lgst:customer:delete')")
public CommonResult<Boolean> deleteCustomerList(@RequestBody BatchDeleteReqVO req) {
customerService.deleteCustomerListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得客商协同账号")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:customer:query')")
public CommonResult<CustomerRespVO> getCustomer(@RequestParam("id") Long id) {
CustomerRespVO customer = customerService.getCustomer(id);
return success(customer);
}
@PostMapping("/page")
@Operation(summary = "获得客商协同账号分页")
@PreAuthorize("@ss.hasPermission('lgst:customer:query')")
public CommonResult<PageResult<CustomerRespVO>> getCustomerPage(@Valid @RequestBody CustomerPageReqVO pageReqVO) {
PageResult<CustomerDO> pageResult = customerService.getCustomerPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, CustomerRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出客商协同账号 Excel")
@PreAuthorize("@ss.hasPermission('lgst:customer:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportCustomerExcel(@Valid CustomerPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<CustomerDO> list = customerService.getCustomerPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "客商协同账号.xls", "数据", CustomerRespVO.class,
BeanUtils.toBean(list, CustomerRespVO.class));
}
/**
* 设置禁用/启用
* @param vo
*/
@PostMapping("/setEnable")
@Operation(summary = "启用/禁用")
@PreAuthorize("@ss.hasPermission('lgst:customer:setEnable')")
public CommonResult<Boolean> setEnable(@RequestBody DriverAccountEditEnbVo vo){
customerService.setEnable(vo);
return success(true);
}
/**
* 注销账号
* @param vo
*/
@PostMapping("/closeCstmAccount")
@Operation(summary = "注销账号")
@PreAuthorize("@ss.hasPermission('lgst:customer:closeCstmAccount')")
public CommonResult<Boolean> closeCstmAccount(@RequestBody IdsVo vo){
customerService.closeCstmAccount(vo.getIds());
return success(true);
}
/**
* 重置密码
* @param vo
*/
@PostMapping("/setPwd")
@Operation(summary = "重置密码")
@PreAuthorize("@ss.hasPermission('lgst:customer:setPwd')")
public CommonResult<Boolean> setPwd(@RequestBody IdsVo vo){
customerService.regPwd(vo.getIds());
return success(true);
}
/**
* 查询日志
* @param id
* @return
*/
@GetMapping ("/getOperationLogList")
@Operation(summary = "查询日志")
@PreAuthorize("@ss.hasPermission('lgst:customer:getOperationLogList')")
public CommonResult<List<OperationLogListVO>> getOperationLogList(@RequestParam("id") Long id){
return success(customerService.getOperationLogList(id));
}
/**
* 审核
* @param vo
* @return
*/
@PostMapping ("/confirm")
@Operation(summary = "审核")
@PreAuthorize("@ss.hasPermission('lgst:customer:confirm')")
public CommonResult<Boolean> confirm(@RequestBody CustomerSaveReqVO vo){
customerService.confirm(vo);
return success(true);
}
}

View File

@@ -0,0 +1,161 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import com.zt.plat.framework.business.annotation.FileUploadController;
import com.zt.plat.framework.business.controller.AbstractFileUploadController;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.*;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.common.vo.IdsVo;
import com.zt.plat.module.backendlogistics.dal.dataobject.bseMngt.acct.DrivingAccountDO;
import com.zt.plat.module.backendlogistics.service.bseMngt.acct.DrivingAccountService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 司机协同账号")
@RestController
@RequestMapping("/lgst/driving-account")
@Validated
@FileUploadController(source = "lgst.drivingaccount")
public class DrivingAccountController extends AbstractFileUploadController implements BusinessControllerMarker{
static {
FileUploadController annotation = DrivingAccountController.class.getAnnotation(FileUploadController.class);
if (annotation != null) {
setFileUploadInfo(annotation);
}
}
@Resource
private DrivingAccountService drivingAccountService;
@PostMapping("/create")
@Operation(summary = "创建司机协同账号")
@PreAuthorize("@ss.hasPermission('lgst:driving-account:create')")
public CommonResult<DrivingAccountRespVO> createDrivingAccount(@Valid @RequestBody DrivingAccountSaveReqVO createReqVO) {
return success(drivingAccountService.createDrivingAccount(createReqVO));
}
@PostMapping("/update")
@Operation(summary = "更新司机协同账号")
@PreAuthorize("@ss.hasPermission('lgst:driving-account:update')")
public CommonResult<Boolean> updateDrivingAccount(@Valid @RequestBody DrivingAccountSaveReqVO updateReqVO) {
drivingAccountService.updateDrivingAccount(updateReqVO);
return success(true);
}
@PostMapping("/delete")
@Operation(summary = "删除司机协同账号")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('lgst:driving-account:delete')")
public CommonResult<Boolean> deleteDrivingAccount(@RequestParam("id") Long id) {
drivingAccountService.deleteDrivingAccount(id);
return success(true);
}
@PostMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除司机协同账号")
@PreAuthorize("@ss.hasPermission('lgst:driving-account:delete')")
public CommonResult<Boolean> deleteDrivingAccountList(@RequestBody BatchDeleteReqVO req) {
drivingAccountService.deleteDrivingAccountListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得司机协同账号")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:driving-account:query')")
public CommonResult<DrivingAccountRespVO> getDrivingAccount(@RequestParam("id") Long id) {
DrivingAccountRespVO drivingAccount = drivingAccountService.getDrivingAccount(id);
return success(drivingAccount);
}
@PostMapping("/page")
@Operation(summary = "获得司机协同账号分页")
@PreAuthorize("@ss.hasPermission('lgst:driving-account:query')")
public CommonResult<PageResult<DrivingAccountRespVO>> getDrivingAccountPage(@Valid @RequestBody DrivingAccountPageReqVO pageReqVO) {
PageResult<DrivingAccountDO> pageResult = drivingAccountService.getDrivingAccountPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, DrivingAccountRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出司机协同账号 Excel")
@PreAuthorize("@ss.hasPermission('lgst:driving-account:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportDrivingAccountExcel(@Valid DrivingAccountPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<DrivingAccountDO> list = drivingAccountService.getDrivingAccountPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "司机协同账号.xls", "数据", DrivingAccountRespVO.class,
BeanUtils.toBean(list, DrivingAccountRespVO.class));
}
/**
* 设置禁用/启用
* @param vo
*/
@PostMapping("/setEnable")
@Operation(summary = "启用/禁用")
@PreAuthorize("@ss.hasPermission('lgst:driving-account:setEnable')")
public CommonResult<Boolean> setEnable(@RequestBody DriverAccountEditEnbVo vo){
drivingAccountService.setEnable(vo);
return success(true);
}
/**
* 注销账号
* @param vo
*/
@PostMapping("/closeDrivingAccount")
@Operation(summary = "注销账号")
@PreAuthorize("@ss.hasPermission('lgst:driving-account:closeDrivingAccount')")
public CommonResult<Boolean> closeDrivingAccount(@RequestBody IdsVo vo){
drivingAccountService.closeDrivingAccount(vo.getIds());
return success(true);
}
/**
* 重置密码
* @param vo
*/
@PostMapping("/setPwd")
@Operation(summary = "重置密码")
@PreAuthorize("@ss.hasPermission('lgst:driving-account:setPwd')")
public CommonResult<Boolean> setPwd(@RequestBody IdsVo vo){
drivingAccountService.regPwd(vo.getIds());
return success(true);
}
/**
* 查询日志
* @param id
* @return
*/
@GetMapping("/getOperationLogList")
@Operation(summary = "查询日志")
@PreAuthorize("@ss.hasPermission('lgst:driving-account:getOperationLogList')")
public CommonResult<List<OperationLogListVO>> getOperationLogList(@RequestParam("id") Long id){
return success(drivingAccountService.getOperationLogList(id));
}
}

View File

@@ -0,0 +1,76 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo;
import com.zt.plat.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 物流服务商协同账号分页 Request VO")
@Data
public class CarrierAccountPageReqVO extends PageParam {
@Schema(description = "备注")
private String remark;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "状态", example = "2")
private String status;
@Schema(description = "是否启用")
private String isEnable;
@Schema(description = "登录账号", example = "27315")
private String loginAccount;
@Schema(description = "登录手机号")
private String loginTel;
@Schema(description = "公司名称", example = "李四")
private String name;
@Schema(description = "社会统一信用代码")
private String creditCode;
@Schema(description = "法人姓名", example = "王五")
private String agentName;
@Schema(description = "法人身份证")
private String identityNumber;
@Schema(description = "经营范围")
private String operateScope;
@Schema(description = "地址")
private String address;
@Schema(description = "成立日期")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] establishDate;
@Schema(description = "注册资本")
private BigDecimal registrationAmount;
@Schema(description = "营业期限开始")
private LocalDateTime businessCycleStart;
@Schema(description = "营业期限结束")
private LocalDateTime businessCycleEnd;
@Schema(description = "是否长期")
private Integer isPermanently;
@Schema(description = "开户行", example = "15940")
private String bankAccount;
@Schema(description = "登记机关")
private String registrationAgency;
}

View File

@@ -0,0 +1,157 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo;
import com.zt.plat.module.infra.api.businessfile.dto.BusinessFileWithUrlRespDTO;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@Schema(description = "管理后台 - 物流服务商协同账号 Response VO")
@Data
@ExcelIgnoreUnannotated
public class CarrierAccountRespVO {
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9531")
@ExcelProperty("主键ID")
private Long id;
@Schema(description = "备注")
@ExcelProperty("备注")
private String remark;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "修改时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("修改时间")
private LocalDateTime updateTime;
@Schema(description = "创建人")
@ExcelProperty("创建人")
private String creatorName;
@Schema(description = "修改人")
@ExcelProperty("修改人")
private String updaterName;
@Schema(description = "状态", example = "2")
@ExcelProperty("状态")
private String status;
@Schema(description = "是否启用")
@ExcelProperty("是否启用")
private String isEnable;
@Schema(description = "登录账号", example = "27315")
@ExcelProperty("登录账号")
private String loginAccount;
@Schema(description = "登录手机号", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("登录手机号")
private String loginTel;
@Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
@ExcelProperty("公司名称")
private String name;
@Schema(description = "社会统一信用代码")
@ExcelProperty("社会统一信用代码")
private String creditCode;
@Schema(description = "法人姓名", example = "王五")
@ExcelProperty("法人姓名")
private String agentName;
@Schema(description = "法人身份证")
@ExcelProperty("法人身份证")
private String identityNumber;
@Schema(description = "经营范围")
@ExcelProperty("经营范围")
private String operateScope;
@Schema(description = "地址")
@ExcelProperty("地址")
private String address;
@Schema(description = "成立日期")
@ExcelProperty("成立日期")
private LocalDateTime establishDate;
@Schema(description = "注册资本")
@ExcelProperty("注册资本")
private BigDecimal registrationAmount;
@Schema(description = "营业期限开始")
@ExcelProperty("营业期限开始")
private LocalDateTime businessCycleStart;
@Schema(description = "营业期限结束")
@ExcelProperty("营业期限结束")
private LocalDateTime businessCycleEnd;
@Schema(description = "是否长期")
@ExcelProperty("是否长期")
private Integer isPermanently;
@Schema(description = "银行账号", example = "15940")
@ExcelProperty("银行账号")
private String bankAccount;
@Schema(description = "登记机关")
@ExcelProperty("登记机关")
private String registrationAgency;
/**
* 主数据编码
*/
@Schema(description = "主数据编码")
@ExcelProperty("主数据编码")
private String mdmCode;
/**
* 用户类型
*/
@Schema(description = "用户类型")
@ExcelProperty("用户类型")
private String userType;
/**
* 开户行名称
*/
@Schema(description = "开户行名称")
@ExcelProperty("开户行名称")
private String bankName;
/**
* 绑定部门id
*/
@Schema(description = "绑定部门id")
private Long bidDeptId;
/**
* sap编码
*/
@Schema(description = "sap编码")
@ExcelProperty("sap编码")
private Long sapCode;
@Schema(description = "营业执照附件")
private BusinessFileWithUrlRespDTO businessLicenseFile;
@Schema(description = "法人身份证-正面")
private BusinessFileWithUrlRespDTO identityFrontFile;
@Schema(description = "法人身份证-反面")
private BusinessFileWithUrlRespDTO identityBackFile;
@Schema(description = "修改说明附件")
private BusinessFileWithUrlRespDTO editFile;
@Schema(description = "其他附件")
private List<BusinessFileWithUrlRespDTO> otherFile;
}

View File

@@ -0,0 +1,106 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo;
import com.zt.plat.module.infra.api.businessfile.dto.BusinessFileSaveReqDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@Schema(description = "管理后台 - 物流服务商协同账号新增/修改 Request VO")
@Data
public class CarrierAccountSaveReqVO {
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED)
private Long id;
@Schema(description = "备注")
private String remark;
@Schema(description = "登录账号")
private String loginAccount;
@Schema(description = "登录手机号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "登录手机号不能为空")
private String loginTel;
@Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "公司名称不能为空")
private String name;
@Schema(description = "社会统一信用代码")
private String creditCode;
@Schema(description = "法人姓名")
private String agentName;
@Schema(description = "法人身份证")
private String identityNumber;
@Schema(description = "经营范围")
private String operateScope;
@Schema(description = "地址")
private String address;
@Schema(description = "成立日期")
private LocalDateTime establishDate;
@Schema(description = "注册资本")
private BigDecimal registrationAmount;
@Schema(description = "营业期限开始")
private LocalDateTime businessCycleStart;
@Schema(description = "营业期限结束")
private LocalDateTime businessCycleEnd;
@Schema(description = "是否长期")
private Integer isPermanently;
@Schema(description = "银行账号")
private String bankAccount;
@Schema(description = "登记机关")
private String registrationAgency;
@Schema(description = "营业执照附件")
private BusinessFileSaveReqDTO businessLicenseFile;
@Schema(description = "法人身份证-正面")
private BusinessFileSaveReqDTO identityFrontFile;
@Schema(description = "法人身份证-反面")
private BusinessFileSaveReqDTO identityBackFile;
@Schema(description = "修改说明附件")
private BusinessFileSaveReqDTO editFile;
@Schema(description = "其他附件")
private List<BusinessFileSaveReqDTO> otherFile;
/**
* 主数据编码
*/
@Schema(description = "主数据编码")
private String mdmCode;
/**
* 用户类型
*/
@Schema(description = "用户类型")
private String userType;
/**
* 开户行名称
*/
@Schema(description = "开户行名称")
private String bankName;
/**
* 绑定部门id
*/
@Schema(description = "绑定部门id")
private Long bidDeptId;
}

View File

@@ -0,0 +1,19 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo;
import com.zt.plat.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "协同账号管理-子账号")
@Data
public class ChildAccountPageReqVo extends PageParam {
@Schema(description = "绑定部门id")
private Long bidDeptId;
@Schema(description = "姓名")
private String nickname;
@Schema(description = "登录账号")
private String username;
@Schema(description = "登录手机号")
private String mobile;
}

View File

@@ -0,0 +1,33 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@Schema(description = "子账号返回值")
@Data
public class ChildAccountRespVo {
@Schema(description = "子账号id")
private Long id;
@Schema(description = "子账号")
private String username;
@Schema(description = "姓名")
private String nickname;
@Schema(description = "登录手机号")
private String mobile;
@Schema(description = "状态")
private String status;
@Schema(description = "创建时间")
private LocalDateTime createTime;
@Schema(description = "创建人")
private String creatorName;
@Schema(description = "创建时间")
private LocalDateTime updateTime;
}

View File

@@ -0,0 +1,21 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "协同账号管理-子账号保存")
@Data
public class ChildAccountSaveReqVo {
@Schema(description = "子账号id")
private Long id;
@Schema(description = "子账号")
private String username;
@Schema(description = "姓名")
private String nickname;
@Schema(description = "登录手机号")
private String mobile;
@Schema(description = "密码")
private String password;
@Schema(description = "短信验证码")
private String msgCode;
}

View File

@@ -0,0 +1,24 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo;
import com.zt.plat.module.infra.api.businessfile.dto.BusinessFileWithUrlRespDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
/**
* 企业详情信息
*/
@Schema(description = "物流协同 - 企业详情信息")
@Data
public class CollaborationCompanyRespVo {
@Schema(description = "物流服务商企业信息")
private CarrierAccountRespVO carrierAccount;
@Schema(description = "客商协同企业信息")
private CustomerRespVO customer;
@Schema(description = "附件列表")
private List<BusinessFileWithUrlRespDTO> fileList;
}

View File

@@ -0,0 +1,14 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "协同平台 -企业信息保存 Request VO")
@Data
public class CollaborationCompanySaveReqVo {
@Schema(description = "登录手机号")
private String loginTel;
@Schema(description = "短信验证码")
private String msgCode;
}

View File

@@ -0,0 +1,70 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo;
import com.zt.plat.framework.common.pojo.PageParam;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 客商协同账号分页 Request VO")
@Data
public class CustomerPageReqVO extends PageParam {
@Schema(description = "备注")
private String remark;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "登录账号", example = "6036")
private String loginAccount;
@Schema(description = "登录手机号")
private String loginTel;
@Schema(description = "公司名称", example = "赵六")
private String name;
@Schema(description = "社会统一信用代码")
private String creditCode;
@Schema(description = "法人姓名", example = "王五")
private String agentName;
@Schema(description = "法人身份证")
private String identityNumber;
@Schema(description = "联系人")
private String contact;
@Schema(description = "联系人电话")
private String contactTel;
@Schema(description = "SPA编码")
private String sapCode;
@Schema(description = "MDM编码")
private String mDMCode;
@Schema(description = "是否有附件")
private String isFile;
@Schema(description = "状态", example = "2")
private String status;
@Schema(description = "是否启用")
private String isEnable;
/**
* 用户类型
*/
@Schema(description = "用户类型")
@ExcelProperty("用户类型")
private String userType;
}

View File

@@ -0,0 +1,117 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo;
import com.zt.plat.module.infra.api.businessfile.dto.BusinessFileWithUrlRespDTO;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
@Schema(description = "管理后台 - 客商协同账号 Response VO")
@Data
@ExcelIgnoreUnannotated
public class CustomerRespVO {
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8593")
@ExcelProperty("主键ID")
private Long id;
@Schema(description = "备注")
@ExcelProperty("备注")
private String remark;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "修改时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("修改时间")
private LocalDateTime updateTime;
@Schema(description = "创建人")
@ExcelProperty("创建人")
private String creatorName;
@Schema(description = "修改人")
@ExcelProperty("修改人")
private String updaterName;
@Schema(description = "登录账号", example = "6036")
@ExcelProperty("登录账号")
private String loginAccount;
@Schema(description = "登录手机号", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("登录手机号")
private String loginTel;
@Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
@ExcelProperty("公司名称")
private String name;
@Schema(description = "社会统一信用代码")
@ExcelProperty("社会统一信用代码")
private String creditCode;
@Schema(description = "法人姓名", example = "王五")
@ExcelProperty("法人姓名")
private String agentName;
@Schema(description = "法人身份证")
@ExcelProperty("法人身份证")
private String identityNumber;
@Schema(description = "联系人")
@ExcelProperty("联系人")
private String contact;
@Schema(description = "联系人电话")
@ExcelProperty("联系人电话")
private String contactTel;
@Schema(description = "SPA编码")
@ExcelProperty("SPA编码")
private String sapCode;
@Schema(description = "MDM编码")
@ExcelProperty("MDM编码")
private String mDMCode;
@Schema(description = "是否有附件")
@ExcelProperty("是否有附件")
private String isFile;
@Schema(description = "状态", example = "2")
@ExcelProperty("状态")
private String status;
@Schema(description = "是否启用")
@ExcelProperty("是否启用")
private String isEnable;
/**
* 绑定部门id
*/
@Schema(description = "绑定部门id")
private Long bidDeptId;
@Schema(description = "营业执照附件")
private BusinessFileWithUrlRespDTO businessLicenseFile;
@Schema(description = "法人身份证-正面")
private BusinessFileWithUrlRespDTO identityFrontFile;
@Schema(description = "法人身份证-反面")
private BusinessFileWithUrlRespDTO identityBackFile;
@Schema(description = "其他附件")
private List<BusinessFileWithUrlRespDTO> otherFile;
/**
* 用户类型
*/
@Schema(description = "用户类型")
@ExcelProperty("用户类型")
private String userType;
}

View File

@@ -0,0 +1,78 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo;
import com.zt.plat.module.infra.api.businessfile.dto.BusinessFileSaveReqDTO;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
import java.util.List;
@Schema(description = "管理后台 - 客商协同账号新增/修改 Request VO")
@Data
public class CustomerSaveReqVO {
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED)
private Long id;
@Schema(description = "备注")
private String remark;
@Schema(description = "登录账号")
private String loginAccount;
@Schema(description = "登录手机号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "登录手机号不能为空")
private String loginTel;
@Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "公司名称不能为空")
private String name;
@Schema(description = "社会统一信用代码")
private String creditCode;
@Schema(description = "法人姓名")
private String agentName;
@Schema(description = "法人身份证")
private String identityNumber;
@Schema(description = "联系人")
private String contact;
@Schema(description = "联系人电话")
private String contactTel;
@Schema(description = "SPA编码")
private String sapCode;
@Schema(description = "MDM编码")
private String mDMCode;
@Schema(description = "营业执照附件")
private BusinessFileSaveReqDTO businessLicenseFile;
@Schema(description = "法人身份证-正面")
private BusinessFileSaveReqDTO identityFrontFile;
@Schema(description = "法人身份证-反面")
private BusinessFileSaveReqDTO identityBackFile;
@Schema(description = "其他附件")
private List<BusinessFileSaveReqDTO> otherFile;
/**
* 绑定部门id
*/
@Schema(description = "绑定部门id")
private Long bidDeptId;
/**
* 用户类型
*/
@Schema(description = "用户类型")
@ExcelProperty("用户类型")
private String userType;
}

View File

@@ -0,0 +1,15 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
@Schema(description = "管理后台 - 司机协同账号禁用/启用 Request VO")
@Data
public class DriverAccountEditEnbVo {
@Schema(description = "id")
private List<Long> ids;
@Schema(description = "是否启用 0=启用 1=禁用")
private String isEnable;
}

View File

@@ -0,0 +1,74 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo;
import com.zt.plat.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 司机协同账号分页 Request VO")
@Data
public class DrivingAccountPageReqVO extends PageParam {
@Schema(description = "备注")
private String remark;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "状态", example = "1")
private String status;
@Schema(description = "是否启用")
private String isEnable;
@Schema(description = "登录账号", example = "27536")
private String loginAccount;
@Schema(description = "登录手机号")
private String loginTel;
@Schema(description = "姓名", example = "芋艿")
private String name;
@Schema(description = "身份证号")
private String identityNumber;
@Schema(description = "身份证有效期-开始")
private LocalDateTime identityExpiryStart;
@Schema(description = "身份证有效期-结束")
private LocalDateTime identityExpiryEnd;
@Schema(description = "身份证是否长期")
private Integer isPermanentlyIdentity;
@Schema(description = "驾驶证有效期-开始")
private LocalDateTime drivingExpiryStart;
@Schema(description = "驾驶证有效期-结束")
private LocalDateTime drivingExpiryEnd;
@Schema(description = "驾驶证是否长期")
private Integer isPermanentlyDriving;
@Schema(description = "准驾车型", example = "2")
private String drivingType;
@Schema(description = "发证机关")
private String registrationAgency;
@Schema(description = "档案编码")
private String documentNo;
@Schema(description = "从业资格证号")
private String majorQualificationNo;
@Schema(description = "来源")
private String origin;
}

View File

@@ -0,0 +1,146 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo;
import com.zt.plat.module.infra.api.businessfile.dto.BusinessFileWithUrlRespDTO;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
@Schema(description = "管理后台 - 司机协同账号 Response VO")
@Data
@ExcelIgnoreUnannotated
public class DrivingAccountRespVO {
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8522")
@ExcelProperty("主键ID")
private Long id;
@Schema(description = "备注")
@ExcelProperty("备注")
private String remark;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "修改时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("修改时间")
private LocalDateTime updateTime;
@Schema(description = "创建人")
@ExcelProperty("创建人")
private String creatorName;
@Schema(description = "修改人")
@ExcelProperty("修改人")
private String updaterName;
@Schema(description = "状态", example = "1")
@ExcelProperty("状态")
private String status;
@Schema(description = "是否启用")
@ExcelProperty("是否启用")
private String isEnable;
@Schema(description = "登录账号", example = "27536")
@ExcelProperty("登录账号")
private String loginAccount;
@Schema(description = "登录手机号", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("登录手机号")
private String loginTel;
@Schema(description = "姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
@ExcelProperty("姓名")
private String name;
@Schema(description = "身份证号")
@ExcelProperty("身份证号")
private String identityNumber;
@Schema(description = "身份证有效期-开始")
@ExcelProperty("身份证有效期-开始")
private LocalDateTime identityExpiryStart;
@Schema(description = "身份证有效期-结束")
@ExcelProperty("身份证有效期-结束")
private LocalDateTime identityExpiryEnd;
@Schema(description = "身份证是否长期")
@ExcelProperty("身份证是否长期")
private Integer isPermanentlyIdentity;
@Schema(description = "驾驶证有效期-开始")
@ExcelProperty("驾驶证有效期-开始")
private LocalDateTime drivingExpiryStart;
@Schema(description = "驾驶证有效期-结束")
@ExcelProperty("驾驶证有效期-结束")
private LocalDateTime drivingExpiryEnd;
@Schema(description = "驾驶证是否长期")
@ExcelProperty("驾驶证是否长期")
private Integer isPermanentlyDriving;
@Schema(description = "准驾车型", example = "2")
@ExcelProperty("准驾车型")
private String drivingType;
/**
* 身份证发证机关
*/
@Schema(description = "IDTY_REG_AGC")
@ExcelProperty("身份证发证机关")
private String idtyRegistrationAgency;
/**
* 行驶证发证机关
*/
@Schema(description = "DRVG_REG_AGC")
@ExcelProperty("行驶证发证机关")
private String drvgRegistrationAgency;
@Schema(description = "档案编码")
@ExcelProperty("档案编码")
private String documentNo;
@Schema(description = "从业资格证号")
@ExcelProperty("从业资格证号")
private String majorQualificationNo;
@Schema(description = "来源")
@ExcelProperty("来源")
private String origin;
/**
* 绑定部门id
*/
@Schema(description = "绑定部门id")
private Long bidDeptId;
@Schema(description = "驾驶证图片-正面")
private BusinessFileWithUrlRespDTO drivingFrontFile;
@Schema(description = "驾驶证图片-反面")
private BusinessFileWithUrlRespDTO drivingBackFile;
@Schema(description = "身份证-正面")
private BusinessFileWithUrlRespDTO identityFrontFile;
@Schema(description = "身份证-反面")
private BusinessFileWithUrlRespDTO identityBackFile;
@Schema(description = "其他资格证附件")
private List<BusinessFileWithUrlRespDTO> otherFile;
/**
* 认证状态
*/
@Schema(description = "认证状态")
private String validationStatus;
}

View File

@@ -0,0 +1,99 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo;
import com.zt.plat.module.infra.api.businessfile.dto.BusinessFileSaveReqDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
@Schema(description = "管理后台 - 司机协同账号新增/修改 Request VO")
@Data
public class DrivingAccountSaveReqVO {
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED)
private Long id;
@Schema(description = "备注")
private String remark;
@Schema(description = "登录账号")
private String loginAccount;
@Schema(description = "登录手机号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "登录手机号不能为空")
private String loginTel;
@Schema(description = "姓名", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "姓名不能为空")
private String name;
@Schema(description = "身份证号")
private String identityNumber;
@Schema(description = "身份证有效期-开始")
private LocalDateTime identityExpiryStart;
@Schema(description = "身份证有效期-结束")
private LocalDateTime identityExpiryEnd;
@Schema(description = "身份证是否长期")
private Integer isPermanentlyIdentity;
@Schema(description = "驾驶证有效期-开始")
private LocalDateTime drivingExpiryStart;
@Schema(description = "驾驶证有效期-结束")
private LocalDateTime drivingExpiryEnd;
@Schema(description = "驾驶证是否长期")
private Integer isPermanentlyDriving;
@Schema(description = "准驾车型")
private String drivingType;
/**
* 身份证发证机关
*/
@Schema(description = "IDTY_REG_AGC")
private String idtyRegistrationAgency;
/**
* 行驶证发证机关
*/
@Schema(description = "DRVG_REG_AGC")
private String drvgRegistrationAgency;
@Schema(description = "档案编码")
private String documentNo;
@Schema(description = "从业资格证号")
private String majorQualificationNo;
@Schema(description = "驾驶证图片-正面")
private BusinessFileSaveReqDTO drivingFrontFile;
@Schema(description = "驾驶证图片-反面")
private BusinessFileSaveReqDTO drivingBackFile;
@Schema(description = "身份证-正面")
private BusinessFileSaveReqDTO identityFrontFile;
@Schema(description = "身份证-反面")
private BusinessFileSaveReqDTO identityBackFile;
@Schema(description = "其他资格证附件")
private List<BusinessFileSaveReqDTO> otherFile;
/**
* 绑定部门id
*/
@Schema(description = "绑定部门id")
private Long bidDeptId;
/**
* 来源
*/
@Schema(description = "来源")
private String origin;
}

View File

@@ -0,0 +1,22 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 操作日志分页 Request VO")
@Data
public class OperationLogListVO {
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime createTime;
@Schema(description = "日志内容")
private String content;
}

View File

@@ -0,0 +1,145 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import com.zt.plat.framework.business.annotation.FileUploadController;
import com.zt.plat.framework.business.controller.AbstractFileUploadController;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarArchiveImportExcelVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarArchivePageReqVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarArchiveRespVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarArchiveSaveReqVO;
import com.zt.plat.module.backendlogistics.dal.dataobject.bseMngt.crAchi.CarArchiveDO;
import com.zt.plat.module.backendlogistics.service.bseMngt.crAchi.CarArchiveService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.List;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.IMPORT;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 车辆档案")
@RestController
@RequestMapping("/lgst/car-archive")
@Validated
@FileUploadController(source = "lgst.bseMngt.crAchi")
public class CarArchiveController extends AbstractFileUploadController implements BusinessControllerMarker{
static {
FileUploadController annotation = CarArchiveController.class.getAnnotation(FileUploadController.class);
if (annotation != null) {
setFileUploadInfo(annotation);
}
}
@Resource
private CarArchiveService carArchiveService;
@PostMapping("/create")
@Operation(summary = "创建车辆档案")
@PreAuthorize("@ss.hasPermission('lgst:car-archive:create')")
public CommonResult<CarArchiveRespVO> createCarArchive(@Valid @RequestBody CarArchiveSaveReqVO createReqVO) {
return success(carArchiveService.createCarArchive(createReqVO));
}
@PostMapping("/update")
@Operation(summary = "更新车辆档案")
@PreAuthorize("@ss.hasPermission('lgst:car-archive:update')")
public CommonResult<Boolean> updateCarArchive(@Valid @RequestBody CarArchiveSaveReqVO updateReqVO) {
carArchiveService.updateCarArchive(updateReqVO);
return success(true);
}
@PostMapping("/delete")
@Operation(summary = "删除车辆档案")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('lgst:car-archive:delete')")
public CommonResult<Boolean> deleteCarArchive(@RequestParam("id") Long id) {
carArchiveService.deleteCarArchive(id);
return success(true);
}
@PostMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除车辆档案")
@PreAuthorize("@ss.hasPermission('lgst:car-archive:delete')")
public CommonResult<Boolean> deleteCarArchiveList(@RequestBody BatchDeleteReqVO req) {
carArchiveService.deleteCarArchiveListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得车辆档案")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:car-archive:query')")
public CommonResult<CarArchiveRespVO> getCarArchive(@RequestParam("id") Long id) {
CarArchiveRespVO vo = carArchiveService.getCarArchive(id);
return success(vo);
}
@GetMapping("/getByCarNumber")
@Operation(summary = "获得车辆档案")
@Parameters({
@Parameter(name = "carNumber", description = "车牌号", required = true, example = "1024"),
@Parameter(name = "carNumberColor", description = "车牌颜色", required = true, example = "2048")
})
@PreAuthorize("@ss.hasPermission('lgst:car-archive:query')")
public CommonResult<CarArchiveRespVO> getByCarNumber(@RequestParam("carNumber") String carNumber,@RequestParam("carNumberColor") String carNumberColor) {
CarArchiveRespVO vo = carArchiveService.getByCarNumber(carNumber,carNumberColor);
return success(vo);
}
@PostMapping("/page")
@Operation(summary = "获得车辆档案分页")
@PreAuthorize("@ss.hasPermission('lgst:car-archive:query')")
public CommonResult<PageResult<CarArchiveRespVO>> getCarArchivePage(@Valid @RequestBody CarArchivePageReqVO pageReqVO) {
PageResult<CarArchiveDO> pageResult = carArchiveService.getCarArchivePage(pageReqVO);
return success(BeanUtils.toBean(pageResult, CarArchiveRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出车辆档案 Excel")
@PreAuthorize("@ss.hasPermission('lgst:car-archive:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportCarArchiveExcel(@Valid CarArchivePageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<CarArchiveDO> list = carArchiveService.getCarArchivePage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "车辆档案.xls", "数据", CarArchiveRespVO.class,
BeanUtils.toBean(list, CarArchiveRespVO.class));
}
@PostMapping("/import-excel")
@Operation(summary = "导入车辆档案 Excel")
@PreAuthorize("@ss.hasPermission('lgst:car-archive:import')")
@ApiAccessLog(operateType = IMPORT)
public CommonResult<Boolean> exportCarArchiveExcel(@RequestParam("file") MultipartFile file,
HttpServletResponse response) throws IOException {
List<CarArchiveImportExcelVO> read = ExcelUtils.read(file, CarArchiveImportExcelVO.class);
for (CarArchiveImportExcelVO reqVO : read) {
CarArchiveSaveReqVO saveVo = BeanUtils.toBean(reqVO, CarArchiveSaveReqVO.class);
this.createCarArchive(saveVo);
}
return success(true);
}
}

View File

@@ -0,0 +1,115 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarBlacklistPageReqVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarBlacklistRespVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarBlacklistSaveReqVO;
import com.zt.plat.module.backendlogistics.dal.dataobject.bseMngt.crAchi.CarBlacklistDO;
import com.zt.plat.module.backendlogistics.service.bseMngt.crAchi.CarBlacklistService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 车辆黑名单")
@RestController
@RequestMapping("/lgst/car-blacklist")
@Validated
public class CarBlacklistController implements BusinessControllerMarker {
@Resource
private CarBlacklistService carBlacklistService;
@PostMapping("/create")
@Operation(summary = "创建车辆黑名单")
@PreAuthorize("@ss.hasPermission('lgst:car-blacklist:create')")
public CommonResult<CarBlacklistRespVO> createCarBlacklist(@Valid @RequestBody CarBlacklistSaveReqVO createReqVO) {
return success(carBlacklistService.createCarBlacklist(createReqVO));
}
@PostMapping("/update")
@Operation(summary = "更新车辆黑名单")
@PreAuthorize("@ss.hasPermission('lgst:car-blacklist:update')")
public CommonResult<Boolean> updateCarBlacklist(@Valid @RequestBody CarBlacklistSaveReqVO updateReqVO) {
carBlacklistService.updateCarBlacklist(updateReqVO);
return success(true);
}
@PostMapping("/lifted")
@Operation(summary = "解除车辆黑名单")
@PreAuthorize("@ss.hasPermission('lgst:car-blacklist:lifted')")
public CommonResult<Boolean> liftedCarBlacklist(@Valid @RequestBody CarBlacklistSaveReqVO updateReqVO) {
carBlacklistService.liftedCarBlacklist(updateReqVO);
return success(true);
}
@PostMapping("/delete")
@Operation(summary = "删除车辆黑名单")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('lgst:car-blacklist:delete')")
public CommonResult<Boolean> deleteCarBlacklist(@RequestParam("id") Long id) {
carBlacklistService.deleteCarBlacklist(id);
return success(true);
}
@PostMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除车辆黑名单")
@PreAuthorize("@ss.hasPermission('lgst:car-blacklist:delete')")
public CommonResult<Boolean> deleteCarBlacklistList(@RequestBody BatchDeleteReqVO req) {
carBlacklistService.deleteCarBlacklistListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得车辆黑名单")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:car-blacklist:query')")
public CommonResult<CarBlacklistRespVO> getCarBlacklist(@RequestParam("id") Long id) {
CarBlacklistDO carBlacklist = carBlacklistService.getCarBlacklist(id);
return success(BeanUtils.toBean(carBlacklist, CarBlacklistRespVO.class));
}
@PostMapping("/page")
@Operation(summary = "获得车辆黑名单分页")
@PreAuthorize("@ss.hasPermission('lgst:car-blacklist:query')")
public CommonResult<PageResult<CarBlacklistRespVO>> getCarBlacklistPage(@Valid @RequestBody CarBlacklistPageReqVO pageReqVO) {
PageResult<CarBlacklistDO> pageResult = carBlacklistService.getCarBlacklistPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, CarBlacklistRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出车辆黑名单 Excel")
@PreAuthorize("@ss.hasPermission('lgst:car-blacklist:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportCarBlacklistExcel(@Valid CarBlacklistPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<CarBlacklistDO> list = carBlacklistService.getCarBlacklistPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "车辆黑名单.xls", "数据", CarBlacklistRespVO.class,
BeanUtils.toBean(list, CarBlacklistRespVO.class));
}
}

View File

@@ -0,0 +1,132 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import com.zt.plat.framework.business.annotation.FileUploadController;
import com.zt.plat.framework.business.controller.AbstractFileUploadController;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.*;
import com.zt.plat.module.backendlogistics.service.bseMngt.crAchi.CollaborationCarArchiveService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.List;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.IMPORT;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
@Tag(name = "物流协同 - 车辆档案")
@RestController
@RequestMapping("/lgst/collaboration-car-archive")
@Validated
@FileUploadController(source = "lgst.bseMngt.crAchi")
public class CollaborationCarArchiveController extends AbstractFileUploadController implements BusinessControllerMarker {
static {
FileUploadController annotation = CollaborationCarArchiveController.class.getAnnotation(FileUploadController.class);
if (annotation != null) {
setFileUploadInfo(annotation);
}
}
@Resource
private CollaborationCarArchiveService collaborationCarArchiveService;
@PostMapping("/create")
@Operation(summary = "创建车辆档案")
@PreAuthorize("@ss.hasPermission('lgst:collaboration-car-archive:create')")
public CommonResult<Boolean> createCarArchive(@Valid @RequestBody CarArchiveSaveReqVO createReqVO) {
collaborationCarArchiveService.createCarArchive(createReqVO);
return success(true);
}
@PostMapping("/update")
@Operation(summary = "更新车辆档案")
@PreAuthorize("@ss.hasPermission('lgst:collaboration-car-archive:update')")
public CommonResult<Boolean> updateCarArchive(@Valid @RequestBody CarArchiveSaveReqVO updateReqVO) {
collaborationCarArchiveService.updateCarArchive(updateReqVO);
return success(true);
}
@PostMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除车辆档案")
@PreAuthorize("@ss.hasPermission('lgst:collaboration-car-archive:delete')")
public CommonResult<Boolean> deleteCarArchiveList(@RequestBody BatchDeleteReqVO req) {
collaborationCarArchiveService.deleteCarArchiveListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得车辆档案")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:collaboration-car-archive:query')")
public CommonResult<CarArchiveRespVO> getCarArchive(@RequestParam("id") Long id) {
CarArchiveRespVO vo = collaborationCarArchiveService.getCarArchive(id);
return success(vo);
}
@GetMapping("/getByCarNumber")
@Operation(summary = "获得车辆档案")
@Parameters({
@Parameter(name = "carNumber", description = "车牌号", required = true, example = "1024"),
@Parameter(name = "carNumberColor", description = "车牌颜色", required = true, example = "2048")
})
@PreAuthorize("@ss.hasPermission('lgst:collaboration-car-archive:query')")
public CommonResult<CarArchiveRespVO> getByCarNumber(@RequestParam("carNumber") String carNumber,@RequestParam("carNumberColor") String carNumberColor) {
CarArchiveRespVO vo = collaborationCarArchiveService.getByCarNumber(carNumber,carNumberColor);
return success(vo);
}
@PostMapping("/page")
@Operation(summary = "获得车辆档案分页")
@PreAuthorize("@ss.hasPermission('lgst:ollaboration-car-archive:query')")
public CommonResult<PageResult<CollaborationCarArchiveRespVO>> getCarArchivePage(@Valid @RequestBody CollaborationCarArchivePageReqVO pageReqVO) {
PageResult<CollaborationCarArchiveRespVO> pageResult = collaborationCarArchiveService.getCarArchivePage(pageReqVO);
return success(BeanUtils.toBean(pageResult, CollaborationCarArchiveRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出车辆档案 Excel")
@PreAuthorize("@ss.hasPermission('lgst:collaboration-car-archive:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportCarArchiveExcel(@Valid CollaborationCarArchivePageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<CollaborationCarArchiveRespVO> list = collaborationCarArchiveService.getCarArchivePage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "车辆档案.xls", "数据", CollaborationCarArchiveRespVO.class,
BeanUtils.toBean(list, CollaborationCarArchiveRespVO.class));
}
@PostMapping("/import-excel")
@Operation(summary = "导入车辆档案 Excel")
@PreAuthorize("@ss.hasPermission('lgst:collaboration-car-archive:import')")
@ApiAccessLog(operateType = IMPORT)
public CommonResult<Boolean> exportCarArchiveExcel(@RequestParam("file") MultipartFile file,
HttpServletResponse response) throws IOException {
List<CarArchiveImportExcelVO> read = ExcelUtils.read(file, CarArchiveImportExcelVO.class);
for (CarArchiveImportExcelVO reqVO : read) {
CarArchiveSaveReqVO saveVo = BeanUtils.toBean(reqVO, CarArchiveSaveReqVO.class);
this.createCarArchive(saveVo);
}
return success(true);
}
}

View File

@@ -0,0 +1,95 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo;
import com.zt.plat.framework.excel.core.annotations.DictFormat;
import com.zt.plat.framework.excel.core.convert.DictConvert;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 车辆档案导入 Request VO")
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false)
@Data
public class CarArchiveImportExcelVO {
@ExcelProperty("车牌号")
private String carNumber;
@ExcelProperty("关联挂车")
private String correlationTrailer;
@ExcelProperty("车辆颜色")
private String carColor;
@ExcelProperty(value = "车牌颜色",converter = DictConvert.class)
@DictFormat("license_plate_color")
private String carNumberColor;
@ExcelProperty(value = "排放阶段",converter = DictConvert.class)
@DictFormat("emission_stage")
private String emissionPhase;
@ExcelProperty(value = "燃油类型",converter = DictConvert.class)
@DictFormat("fuel_type")
private String fuelType;
@ExcelProperty("车辆轴数")
private Long carAxisCount;
@ExcelProperty("车辆所有人")
private String carOwner;
@ExcelProperty("车辆识别代码vin")
private String vin;
@ExcelProperty("发动机号")
private String engineNumber;
@ExcelProperty("使用性质")
private String useNature;
@ExcelProperty("车辆类型")
private String carType;
@ExcelProperty("品牌型号")
private String brandModel;
@ExcelProperty("总质量(kg)")
private BigDecimal totalQuality;
@ExcelProperty("核定载质量(kg)")
private BigDecimal assessmentLoadingQuality;
@ExcelProperty("整备质量(kg)")
private BigDecimal preparationQuality;
@ExcelProperty("长(mm)")
private BigDecimal length;
@ExcelProperty("宽(mm)")
private BigDecimal width;
@ExcelProperty("高(mm)")
private BigDecimal height;
@ExcelProperty("注册时间")
private LocalDateTime registryTime;
@ExcelProperty("发证时间")
private LocalDateTime certificateIssuingTime;
@ExcelProperty("发证机关")
private String certificateIssuingAgency;
}

View File

@@ -0,0 +1,98 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo;
import com.zt.plat.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 车辆档案分页 Request VO")
@Data
public class CarArchivePageReqVO extends PageParam {
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "档案编号")
private String archiveNumber;
@Schema(description = "车牌号")
private String carNumber;
@Schema(description = "车辆标识")
private String carLabel;
@Schema(description = "关联挂车")
private String correlationTrailer;
@Schema(description = "是否黑名单")
private String isBlacklist;
@Schema(description = "车辆颜色")
private String carColor;
@Schema(description = "车牌颜色")
private String carNumberColor;
@Schema(description = "排放阶段")
private String emissionPhase;
@Schema(description = "燃油类型")
private String fuelType;
@Schema(description = "车辆轴数", example = "25361")
private Long carAxisCount;
@Schema(description = "车辆所有人")
private String carOwner;
@Schema(description = "车辆识别代码vin")
private String vin;
@Schema(description = "发动机号")
private String engineNumber;
@Schema(description = "使用性质")
private String useNature;
@Schema(description = "车辆类型", example = "2")
private String carType;
@Schema(description = "品牌型号")
private String brandModel;
@Schema(description = "总质量(kg)")
private BigDecimal totalQuality;
@Schema(description = "核定载质量(kg)")
private BigDecimal assessmentLoadingQuality;
@Schema(description = "整备质量(kg)")
private BigDecimal preparationQuality;
@Schema(description = "长(mm)")
private BigDecimal length;
@Schema(description = "宽(mm)")
private BigDecimal width;
@Schema(description = "高(mm)")
private BigDecimal height;
@Schema(description = "注册时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] registryTime;
@Schema(description = "发证时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] certificateIssuingTime;
@Schema(description = "发证机关")
private String certificateIssuingAgency;
}

View File

@@ -0,0 +1,160 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo;
import com.zt.plat.framework.excel.core.annotations.DictFormat;
import com.zt.plat.framework.excel.core.convert.DictConvert;
import com.zt.plat.module.infra.api.businessfile.dto.BusinessFileWithUrlRespDTO;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@Schema(description = "管理后台 - 车辆档案 Response VO")
@Data
@ExcelIgnoreUnannotated
public class CarArchiveRespVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26123")
@ExcelProperty("ID")
private Long id;
@Schema(description = "档案编号")
@ExcelProperty("档案编号")
private String archiveNumber;
@Schema(description = "车牌号")
@ExcelProperty("车牌号")
private String carNumber;
@Schema(description = "车辆标识")
@ExcelProperty(value = "车辆标识",converter = DictConvert.class)
@DictFormat("car_type")
private String carLabel;
@Schema(description = "关联挂车")
@ExcelProperty("关联挂车")
private String correlationTrailer;
@Schema(description = "是否黑名单")
@ExcelProperty(value = "是否黑名单",converter = DictConvert.class)
@DictFormat("infra_boolean_string")
private String isBlacklist;
@Schema(description = "车辆颜色")
@ExcelProperty("车辆颜色")
private String carColor;
@Schema(description = "车牌颜色")
@ExcelProperty(value = "车牌颜色",converter = DictConvert.class)
@DictFormat("license_plate_color")
private String carNumberColor;
@Schema(description = "排放阶段")
@ExcelProperty(value = "排放阶段",converter = DictConvert.class)
@DictFormat("emission_stage")
private String emissionPhase;
@Schema(description = "燃油类型")
@ExcelProperty(value = "燃油类型",converter = DictConvert.class)
@DictFormat("fuel_type")
private String fuelType;
@Schema(description = "车辆轴数", example = "25361")
@ExcelProperty("车辆轴数")
private Long carAxisCount;
@Schema(description = "车辆所有人")
@ExcelProperty("车辆所有人")
private String carOwner;
@Schema(description = "车辆识别代码vin")
@ExcelProperty("车辆识别代码vin")
private String vin;
@Schema(description = "发动机号")
@ExcelProperty("发动机号")
private String engineNumber;
@Schema(description = "使用性质")
@ExcelProperty("使用性质")
private String useNature;
@Schema(description = "车辆类型", example = "2")
@ExcelProperty("车辆类型")
private String carType;
@Schema(description = "品牌型号")
@ExcelProperty("品牌型号")
private String brandModel;
@Schema(description = "总质量(kg)")
@ExcelProperty("总质量(kg)")
private BigDecimal totalQuality;
@Schema(description = "核定载质量(kg)")
@ExcelProperty("核定载质量(kg)")
private BigDecimal assessmentLoadingQuality;
@Schema(description = "整备质量(kg)")
@ExcelProperty("整备质量(kg)")
private BigDecimal preparationQuality;
@Schema(description = "长(mm)")
@ExcelProperty("长(mm)")
private BigDecimal length;
@Schema(description = "宽(mm)")
@ExcelProperty("宽(mm)")
private BigDecimal width;
@Schema(description = "高(mm)")
@ExcelProperty("高(mm)")
private BigDecimal height;
@Schema(description = "注册时间")
@ExcelProperty("注册时间")
private LocalDateTime registryTime;
@Schema(description = "发证时间")
@ExcelProperty("发证时间")
private LocalDateTime certificateIssuingTime;
@Schema(description = "发证机关")
@ExcelProperty("发证机关")
private String certificateIssuingAgency;
@Schema(description = "行驶证-正页")
private List<BusinessFileWithUrlRespDTO> carLicenseFrontFile;
@Schema(description = "行驶证-副页")
private List<BusinessFileWithUrlRespDTO> carLicenseBackFile;
@Schema(description = "随车清单附件")
private List<BusinessFileWithUrlRespDTO> carChecklistFile;
@Schema(description = "车辆照片附件")
private List<BusinessFileWithUrlRespDTO> carPhotosFile;
@Schema(description = "车辆保险信息附件")
private List<BusinessFileWithUrlRespDTO> carInsuranceFile;
@Schema(description = "创建人", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建人")
private String creatorName;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "修改人", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("修改人")
private String updaterName;
@Schema(description = "修改时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("修改时间")
private LocalDateTime updateTime;
}

View File

@@ -0,0 +1,108 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo;
import com.zt.plat.module.infra.api.businessfile.dto.BusinessFileSaveReqDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@Schema(description = "管理后台 - 车辆档案新增/修改 Request VO")
@Data
public class CarArchiveSaveReqVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26123")
private Long id;
@Schema(description = "档案编号")
private String archiveNumber;
@Schema(description = "车牌号")
private String carNumber;
@Schema(description = "车辆标识")
private String carLabel;
@Schema(description = "关联挂车")
private String correlationTrailer;
@Schema(description = "是否黑名单")
private String isBlacklist;
@Schema(description = "车辆颜色")
private String carColor;
@Schema(description = "车牌颜色")
private String carNumberColor;
@Schema(description = "排放阶段")
private String emissionPhase;
@Schema(description = "燃油类型")
private String fuelType;
@Schema(description = "车辆轴数", example = "25361")
private Long carAxisCount;
@Schema(description = "车辆所有人")
private String carOwner;
@Schema(description = "车辆识别代码vin")
private String vin;
@Schema(description = "发动机号")
private String engineNumber;
@Schema(description = "使用性质")
private String useNature;
@Schema(description = "车辆类型", example = "2")
private String carType;
@Schema(description = "品牌型号")
private String brandModel;
@Schema(description = "总质量(kg)")
private BigDecimal totalQuality;
@Schema(description = "核定载质量(kg)")
private BigDecimal assessmentLoadingQuality;
@Schema(description = "整备质量(kg)")
private BigDecimal preparationQuality;
@Schema(description = "长(mm)")
private BigDecimal length;
@Schema(description = "宽(mm)")
private BigDecimal width;
@Schema(description = "高(mm)")
private BigDecimal height;
@Schema(description = "注册时间")
private LocalDateTime registryTime;
@Schema(description = "发证时间")
private LocalDateTime certificateIssuingTime;
@Schema(description = "发证机关")
private String certificateIssuingAgency;
@Schema(description = "行驶证-正页")
private List<BusinessFileSaveReqDTO> carLicenseFrontFile;
@Schema(description = "行驶证-副页")
private List<BusinessFileSaveReqDTO> carLicenseBackFile;
@Schema(description = "随车清单附件")
private List<BusinessFileSaveReqDTO> carChecklistFile;
@Schema(description = "车辆照片附件")
private List<BusinessFileSaveReqDTO> carPhotosFile;
@Schema(description = "车辆保险信息附件")
private List<BusinessFileSaveReqDTO> carInsuranceFile;
}

View File

@@ -0,0 +1,32 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo;
import com.zt.plat.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 车辆黑名单分页 Request VO")
@Data
public class CarBlacklistPageReqVO extends PageParam {
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "车辆档案ID", example = "16157")
private Long carId;
@Schema(description = "操作原因")
private String operationCause;
@Schema(description = "解除原因")
private String processingCause;
@Schema(description = "处理状态", example = "1")
private String status;
}

View File

@@ -0,0 +1,51 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 车辆黑名单 Response VO")
@Data
@ExcelIgnoreUnannotated
public class CarBlacklistRespVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14539")
@ExcelProperty("ID")
private Long id;
@Schema(description = "创建人", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建人")
private String creatorName;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "修改人", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("修改人")
private String updaterName;
@Schema(description = "修改时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("修改时间")
private LocalDateTime updateTime;
@Schema(description = "车辆档案ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16157")
@ExcelProperty("车辆档案ID")
private Long carId;
@Schema(description = "操作原因")
@ExcelProperty("操作原因")
private String operationCause;
@Schema(description = "解除原因")
@ExcelProperty("解除原因")
private String processingCause;
@Schema(description = "处理状态", example = "1")
@ExcelProperty("处理状态")
private String status;
}

View File

@@ -0,0 +1,29 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.util.List;
@Schema(description = "管理后台 - 车辆黑名单新增/修改 Request VO")
@Data
public class CarBlacklistSaveReqVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14539")
private List<Long> ids;
@Schema(description = "车辆档案ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16157")
@NotNull(message = "车辆档案ID不能为空")
private Long carId;
@Schema(description = "操作原因")
private String operationCause;
@Schema(description = "解除原因")
private String processingCause;
@Schema(description = "处理状态", example = "1")
private String status;
}

View File

@@ -0,0 +1,16 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "物流协同 - 车辆档案分页 Request VO")
@Data
public class CollaborationCarArchivePageReqVO extends CarArchivePageReqVO{
@Schema(description = "车辆id")
private Long carId;
@Schema(description = "部门id")
private Long deptId;
}

View File

@@ -0,0 +1,15 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "管理后台 - 车辆档案 Response VO")
@Data
@ExcelIgnoreUnannotated
public class CollaborationCarArchiveRespVO extends CarArchiveRespVO{
@Schema(description = "车辆id")
private Long carId;
}

View File

@@ -0,0 +1,115 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo.EnvironmentalIntoMainEditEnbVo;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo.EnvironmentalIntoMainPageReqVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo.EnvironmentalIntoMainRespVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo.EnvironmentalIntoMainSaveReqVO;
import com.zt.plat.module.backendlogistics.dal.dataobject.bseMngt.env.EnvironmentalIntoMainDO;
import com.zt.plat.module.backendlogistics.service.bseMngt.env.EnvironmentalIntoMainService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 环保进场管理主")
@RestController
@RequestMapping("/lgst/environmental-into-main")
@Validated
public class EnvironmentalIntoMainController implements BusinessControllerMarker {
@Resource
private EnvironmentalIntoMainService environmentalIntoMainService;
@PostMapping("/create")
@Operation(summary = "创建环保进场管理主")
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-main:create')")
public CommonResult<EnvironmentalIntoMainRespVO> createEnvironmentalIntoMain(@Valid @RequestBody EnvironmentalIntoMainSaveReqVO createReqVO) {
return success(environmentalIntoMainService.createEnvironmentalIntoMain(createReqVO));
}
@PostMapping("/update")
@Operation(summary = "更新环保进场管理主")
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-main:update')")
public CommonResult<Boolean> updateEnvironmentalIntoMain(@Valid @RequestBody EnvironmentalIntoMainSaveReqVO updateReqVO) {
environmentalIntoMainService.updateEnvironmentalIntoMain(updateReqVO);
return success(true);
}
@PostMapping("/delete")
@Operation(summary = "删除环保进场管理主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-main:delete')")
public CommonResult<Boolean> deleteEnvironmentalIntoMain(@RequestParam("id") Long id) {
environmentalIntoMainService.deleteEnvironmentalIntoMain(id);
return success(true);
}
@PostMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除环保进场管理主")
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-main:delete')")
public CommonResult<Boolean> deleteEnvironmentalIntoMainList(@RequestBody BatchDeleteReqVO req) {
environmentalIntoMainService.deleteEnvironmentalIntoMainListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得环保进场管理主")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-main:query')")
public CommonResult<EnvironmentalIntoMainRespVO> getEnvironmentalIntoMain(@RequestParam("id") Long id) {
EnvironmentalIntoMainDO environmentalIntoMain = environmentalIntoMainService.getEnvironmentalIntoMain(id);
return success(BeanUtils.toBean(environmentalIntoMain, EnvironmentalIntoMainRespVO.class));
}
@PostMapping("/page")
@Operation(summary = "获得环保进场管理主分页")
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-main:query')")
public CommonResult<PageResult<EnvironmentalIntoMainRespVO>> getEnvironmentalIntoMainPage(@Valid @RequestBody EnvironmentalIntoMainPageReqVO pageReqVO) {
PageResult<EnvironmentalIntoMainDO> pageResult = environmentalIntoMainService.getEnvironmentalIntoMainPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, EnvironmentalIntoMainRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出环保进场管理主 Excel")
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-main:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportEnvironmentalIntoMainExcel(@Valid EnvironmentalIntoMainPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<EnvironmentalIntoMainDO> list = environmentalIntoMainService.getEnvironmentalIntoMainPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "环保进场管理主.xls", "数据", EnvironmentalIntoMainRespVO.class,
BeanUtils.toBean(list, EnvironmentalIntoMainRespVO.class));
}
@PostMapping("/setEnable")
@Operation(summary = "启用/禁用")
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-main:setEnable')")
public CommonResult<Boolean> setEnable(@RequestBody EnvironmentalIntoMainEditEnbVo vo){
environmentalIntoMainService.setEnable(vo);
return success(true);
}
}

View File

@@ -0,0 +1,106 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo.EnvironmentalIntoSubitemPageReqVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo.EnvironmentalIntoSubitemRespVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo.EnvironmentalIntoSubitemSaveReqVO;
import com.zt.plat.module.backendlogistics.dal.dataobject.bseMngt.env.EnvironmentalIntoSubitemDO;
import com.zt.plat.module.backendlogistics.service.bseMngt.env.EnvironmentalIntoSubitemService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 环保进场管理子")
@RestController
@RequestMapping("/lgst/environmental-into-subitem")
@Validated
public class EnvironmentalIntoSubitemController implements BusinessControllerMarker {
@Resource
private EnvironmentalIntoSubitemService environmentalIntoSubitemService;
@PostMapping("/create")
@Operation(summary = "创建环保进场管理子")
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-subitem:create')")
public CommonResult<List<EnvironmentalIntoSubitemRespVO>> createEnvironmentalIntoSubitem(@Valid @RequestBody List<EnvironmentalIntoSubitemSaveReqVO> createReqVOs) {
return success(environmentalIntoSubitemService.createEnvironmentalIntoSubitem(createReqVOs));
}
@PostMapping("/update")
@Operation(summary = "更新环保进场管理子")
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-subitem:update')")
public CommonResult<Boolean> updateEnvironmentalIntoSubitem(@Valid @RequestBody EnvironmentalIntoSubitemSaveReqVO updateReqVO) {
environmentalIntoSubitemService.updateEnvironmentalIntoSubitem(updateReqVO);
return success(true);
}
@PostMapping("/delete")
@Operation(summary = "删除环保进场管理子")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-subitem:delete')")
public CommonResult<Boolean> deleteEnvironmentalIntoSubitem(@RequestParam("id") Long id) {
environmentalIntoSubitemService.deleteEnvironmentalIntoSubitem(id);
return success(true);
}
@PostMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除环保进场管理子")
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-subitem:delete')")
public CommonResult<Boolean> deleteEnvironmentalIntoSubitemList(@RequestBody BatchDeleteReqVO req) {
environmentalIntoSubitemService.deleteEnvironmentalIntoSubitemListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得环保进场管理子")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-subitem:query')")
public CommonResult<EnvironmentalIntoSubitemRespVO> getEnvironmentalIntoSubitem(@RequestParam("id") Long id) {
EnvironmentalIntoSubitemDO environmentalIntoSubitem = environmentalIntoSubitemService.getEnvironmentalIntoSubitem(id);
return success(BeanUtils.toBean(environmentalIntoSubitem, EnvironmentalIntoSubitemRespVO.class));
}
@PostMapping("/page")
@Operation(summary = "获得环保进场管理子分页")
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-subitem:query')")
public CommonResult<PageResult<EnvironmentalIntoSubitemRespVO>> getEnvironmentalIntoSubitemPage(@Valid @RequestBody EnvironmentalIntoSubitemPageReqVO pageReqVO) {
PageResult<EnvironmentalIntoSubitemDO> pageResult = environmentalIntoSubitemService.getEnvironmentalIntoSubitemPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, EnvironmentalIntoSubitemRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出环保进场管理子 Excel")
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-subitem:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportEnvironmentalIntoSubitemExcel(@Valid EnvironmentalIntoSubitemPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<EnvironmentalIntoSubitemDO> list = environmentalIntoSubitemService.getEnvironmentalIntoSubitemPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "环保进场管理子.xls", "数据", EnvironmentalIntoSubitemRespVO.class,
BeanUtils.toBean(list, EnvironmentalIntoSubitemRespVO.class));
}
}

View File

@@ -0,0 +1,17 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo;
import com.zt.plat.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
@Schema(description = "管理后台 - 环保进场管理禁用启用 Request VO")
@Data
public class EnvironmentalIntoMainEditEnbVo extends PageParam {
@Schema(description = "id")
private List<Long> ids;
@Schema(description = "是否启用 1=启用 0=禁用")
private String isEnable;
}

View File

@@ -0,0 +1,31 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo;
import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.zt.plat.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 环保进场管理主分页 Request VO")
@Data
public class EnvironmentalIntoMainPageReqVO extends PageParam {
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "状态", example = "2")
private String status;
@Schema(description = "业务类型", example = "1")
private String businessType;
@Schema(description = "限定物资")
private String limitMaterial;
@Schema(description = "进厂汽车排放等级要求")
private String emissionLevel;
}

View File

@@ -0,0 +1,51 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 环保进场管理主 Response VO")
@Data
@ExcelIgnoreUnannotated
public class EnvironmentalIntoMainRespVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17560")
@ExcelProperty("ID")
private Long id;
@Schema(description = "创建人", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建人")
private String creatorName;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "修改人", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("修改人")
private String updaterName;
@Schema(description = "修改时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("修改时间")
private LocalDateTime updateTime;
@Schema(description = "状态", example = "2")
@ExcelProperty("状态")
private String status;
@Schema(description = "业务类型", example = "1")
@ExcelProperty("业务类型")
private String businessType;
@Schema(description = "限定物资")
@ExcelProperty("限定物资")
private String limitMaterial;
@Schema(description = "进厂汽车排放等级要求")
@ExcelProperty("进厂汽车排放等级要求")
private String emissionLevel;
}

View File

@@ -0,0 +1,29 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.List;
@Schema(description = "管理后台 - 环保进场管理主新增/修改 Request VO")
@Data
public class EnvironmentalIntoMainSaveReqVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17560")
private Long id;
@Schema(description = "状态", example = "2")
private String status;
@Schema(description = "业务类型", example = "1")
private String businessType;
@Schema(description = "限定物资")
private String limitMaterial;
@Schema(description = "进厂汽车排放等级要求")
private String emissionLevel;
private List<EnvironmentalIntoSubitemSaveReqVO> items;
}

View File

@@ -0,0 +1,50 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.zt.plat.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 环保进场管理子分页 Request VO")
@Data
public class EnvironmentalIntoSubitemPageReqVO extends PageParam {
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "主项ID", example = "7602")
private Long mainId;
@Schema(description = "物资ID", example = "13908")
private Long materialId;
@Schema(description = "物料编码")
private String materialCode;
@Schema(description = "物料名称", example = "李四")
private String materialName;
@Schema(description = "大类代码")
private String bigTypeCode;
@Schema(description = "大类名称", example = "李四")
private String bigTypeName;
@Schema(description = "中类代码")
private String middleTypeCode;
@Schema(description = "中类名称", example = "赵六")
private String middleTypeName;
@Schema(description = "小类代码")
private String smallTypeCode;
@Schema(description = "小类名称", example = "李四")
private String smallTypeName;
}

View File

@@ -0,0 +1,63 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 环保进场管理子 Response VO")
@Data
@ExcelIgnoreUnannotated
public class EnvironmentalIntoSubitemRespVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13478")
@ExcelProperty("ID")
private Long id;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "主项ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7602")
@ExcelProperty("主项ID")
private Long mainId;
@Schema(description = "物资ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13908")
@ExcelProperty("物资ID")
private Long materialId;
@Schema(description = "物料编码")
@ExcelProperty("物料编码")
private String materialCode;
@Schema(description = "物料名称", example = "李四")
@ExcelProperty("物料名称")
private String materialName;
@Schema(description = "大类代码")
@ExcelProperty("大类代码")
private String bigTypeCode;
@Schema(description = "大类名称", example = "李四")
@ExcelProperty("大类名称")
private String bigTypeName;
@Schema(description = "中类代码")
@ExcelProperty("中类代码")
private String middleTypeCode;
@Schema(description = "中类名称", example = "赵六")
@ExcelProperty("中类名称")
private String middleTypeName;
@Schema(description = "小类代码")
@ExcelProperty("小类代码")
private String smallTypeCode;
@Schema(description = "小类名称", example = "李四")
@ExcelProperty("小类名称")
private String smallTypeName;
}

View File

@@ -0,0 +1,47 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;
@Schema(description = "管理后台 - 环保进场管理子新增/修改 Request VO")
@Data
public class EnvironmentalIntoSubitemSaveReqVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13478")
private Long id;
@Schema(description = "主项ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7602")
@NotNull(message = "主项ID不能为空")
private Long mainId;
@Schema(description = "物资ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13908")
@NotNull(message = "物资ID不能为空")
private Long materialId;
@Schema(description = "物料编码")
private String materialCode;
@Schema(description = "物料名称", example = "李四")
private String materialName;
@Schema(description = "大类代码")
private String bigTypeCode;
@Schema(description = "大类名称", example = "李四")
private String bigTypeName;
@Schema(description = "中类代码")
private String middleTypeCode;
@Schema(description = "中类名称", example = "赵六")
private String middleTypeName;
@Schema(description = "小类代码")
private String smallTypeCode;
@Schema(description = "小类名称", example = "李四")
private String smallTypeName;
}

View File

@@ -0,0 +1,47 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.ClassesPageReqVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.ClassesRespVO;
import com.zt.plat.module.backendlogistics.dal.dataobject.bseMngt.mtrl.ClassesDO;
import com.zt.plat.module.backendlogistics.service.bseMngt.mtrl.ClassesService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 物料分类")
@RestController
@RequestMapping("/lgst/mtrl-classes")
@Validated
public class ClassesController implements BusinessControllerMarker {
@Resource
private ClassesService classesService;
@PostMapping("/list")
@Operation(summary = "获得物料分类列表")
@PreAuthorize("@ss.hasPermission('lgst:mtrl-classes:query')")
public CommonResult<List<ClassesRespVO>> getClassesList(@Valid @RequestBody ClassesPageReqVO listReqVO) {
List<ClassesDO> list = classesService.getClassesList(listReqVO);
return success(BeanUtils.toBean(list, ClassesRespVO.class));
}
}

View File

@@ -0,0 +1,64 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MaterialExpandPageReqVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MaterialExpandRespVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MaterialExpandSaveReqVO;
import com.zt.plat.module.backendlogistics.service.bseMngt.mtrl.MaterialExpandService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 物资信息扩展")
@RestController
@RequestMapping("/lgst/material-expand")
@Validated
public class MaterialExpandController implements BusinessControllerMarker {
@Resource
private MaterialExpandService materialExpandService;
@PostMapping("/update")
@Operation(summary = "更新物资信息扩展")
@PreAuthorize("@ss.hasPermission('lgst:material-expand:update')")
public CommonResult<Boolean> updateMaterialExpand(@Valid @RequestBody List<MaterialExpandSaveReqVO> updateReqVOs) {
materialExpandService.updateMaterialExpand(updateReqVOs);
return success(true);
}
@PostMapping("/page")
@Operation(summary = "获得物资信息分页")
@PreAuthorize("@ss.hasPermission('lgst:material-expand:query')")
public CommonResult<PageResult<MaterialExpandRespVO>> getMaterialExpandPage(@Valid @RequestBody MaterialExpandPageReqVO pageReqVO) {
PageResult<MaterialExpandRespVO> pageResult = materialExpandService.getMaterialExpandPage(pageReqVO);
return success(pageResult);
}
@PostMapping("/list")
@Operation(summary = "获得物资信息")
@PreAuthorize("@ss.hasPermission('lgst:material-expand:query')")
public CommonResult<List<MaterialExpandRespVO>> getMaterialExpandList(@Valid @RequestBody MaterialExpandPageReqVO pageReqVO) {
List<MaterialExpandRespVO> materialExpandList = materialExpandService.getMaterialExpandList(pageReqVO);
return success(materialExpandList);
}
}

View File

@@ -0,0 +1,35 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.zt.plat.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 物料分类分页 Request VO")
@Data
public class ClassesPageReqVO extends PageParam {
@Schema(description = "父级ID", example = "15066")
private Long parentId;
@Schema(description = "分类编码")
private String code;
@Schema(description = "分类名称", example = "芋艿")
private String name;
@Schema(description = "分类级别-用于类别层级(大/中/小类)")
private Long level;
@Schema(description = "备注")
private String remark;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
}

View File

@@ -0,0 +1,42 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 物料分类 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ClassesRespVO {
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26784")
@ExcelProperty("主键ID")
private Long id;
@Schema(description = "父级ID", example = "15066")
@ExcelProperty("父级ID")
private Long parentId;
@Schema(description = "分类编码", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("分类编码")
private String code;
@Schema(description = "分类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
@ExcelProperty("分类名称")
private String name;
@Schema(description = "分类级别-用于类别层级(大/中/小类)")
@ExcelProperty("分类级别-用于类别层级(大/中/小类)")
private Long level;
@Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("备注")
private String remark;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,33 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;
@Schema(description = "管理后台 - 物料分类新增/修改 Request VO")
@Data
public class ClassesSaveReqVO {
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26784")
private Long id;
@Schema(description = "父级ID", example = "15066")
private Long parentId;
@Schema(description = "分类编码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "分类编码不能为空")
private String code;
@Schema(description = "分类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
@NotEmpty(message = "分类名称不能为空")
private String name;
@Schema(description = "分类级别-用于类别层级(大/中/小类)")
private Long level;
@Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "备注不能为空")
private String remark;
}

View File

@@ -0,0 +1,65 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo;
import com.zt.plat.framework.common.pojo.PageParam;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import java.util.List;
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 物资信息扩展分页 Request VO")
@Data
public class MaterialExpandPageReqVO extends PageParam {
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "排除某些物资ID的sql语句", hidden = true, example = "后端用需要加AND")
private String excludeSql;
@Schema(description = "物资ID", example = "10845")
private Long materialId;
@Schema(description = "物资编码")
@ExcelProperty("物资编码")
private String materialCode;
@Schema(description = "物资名称")
@ExcelProperty("物资名称")
private String materialName;
@Schema(description = "SAP编码")
private String sapCode;
@Schema(description = "MDM编码")
private String mdmCode;
@Schema(description = "长描述")
private String description;
@Schema(description = "分类id")
private Long classesId;
@Schema(description = "质检标志")
private String inspectionFlag;
@Schema(description = "计量标志")
private String meteringFlag;
@Schema(description = "取样节点")
private String samplingNode;
@Schema(description = "公司id")
private Long companyId;
@Schema(description = "部门id")
private Long deptId;
private List<Long> classesIds;
}

View File

@@ -0,0 +1,81 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 物资信息扩展 Response VO")
@Data
@ExcelIgnoreUnannotated
public class MaterialExpandRespVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13011")
@ExcelProperty("ID")
private Long id;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "物资ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10845")
@ExcelProperty("物资ID")
private Long materialId;
@Schema(description = "物资编码")
@ExcelProperty("物资编码")
private String materialCode;
@Schema(description = "物资名称")
@ExcelProperty("物资名称")
private String materialName;
@Schema(description = "SAP编码")
@ExcelProperty("SAP编码")
private String sapCode;
@Schema(description = "MDM编码")
@ExcelProperty("MDM编码")
private String mdmCode;
@Schema(description = "长描述")
@ExcelProperty("长描述")
private String description;
@Schema(description = "大类代码")
@ExcelProperty("大类代码")
private String bigTypeCode;
@Schema(description = "大类名称", example = "王五")
@ExcelProperty("大类名称")
private String bigTypeName;
@Schema(description = "中类代码")
private String middleTypeCode;
@Schema(description = "中类名称", example = "赵六")
private String middleTypeName;
@Schema(description = "小类代码")
@ExcelProperty("小类代码")
private String smallTypeCode;
@Schema(description = "小类名称", example = "李四")
@ExcelProperty("小类名称")
private String smallTypeName;
@Schema(description = "质检标志")
@ExcelProperty("质检标志")
private String inspectionFlag;
@Schema(description = "计量标志")
@ExcelProperty("计量标志")
private String meteringFlag;
@Schema(description = "取样节点")
@ExcelProperty("取样节点")
private String samplingNode;
private Long classesId;
}

View File

@@ -0,0 +1,28 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;
@Schema(description = "管理后台 - 物资信息扩展新增/修改 Request VO")
@Data
public class MaterialExpandSaveReqVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "28582")
private Long id;
@Schema(description = "物资ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "28700")
@NotNull(message = "物资ID不能为空")
private Long materialId;
@Schema(description = "质检标志")
private String inspectionFlag;
@Schema(description = "计量标志")
private String meteringFlag;
@Schema(description = "取样节点")
private String samplingNode;
}

View File

@@ -0,0 +1,141 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myDriver;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import com.zt.plat.framework.business.annotation.FileUploadController;
import com.zt.plat.framework.business.controller.AbstractFileUploadController;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.DrivingAccountRespVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myDriver.vo.MyDriverImportExcelVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myDriver.vo.MyDriverPageReqVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myDriver.vo.MyDriverRespVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myDriver.vo.MyDriverSaveReqVO;
import com.zt.plat.module.backendlogistics.dal.dataobject.bseMngt.acct.DrivingAccountDO;
import com.zt.plat.module.backendlogistics.dal.mysql.bseMngt.acct.DrivingAccountMapper;
import com.zt.plat.module.backendlogistics.service.bseMngt.myDriver.MyDriverService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.List;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.IMPORT;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
@Tag(name = "物流协同 - 我的司机")
@RestController
@RequestMapping("/lgst/my-driver")
@Validated
@FileUploadController(source = "lgst.myDriver")
public class MyDriverController extends AbstractFileUploadController implements BusinessControllerMarker {
static {
FileUploadController annotation = MyDriverController.class.getAnnotation(FileUploadController.class);
if (annotation != null) {
setFileUploadInfo(annotation);
}
}
@Resource
private MyDriverService myDriverService;
@Resource
private DrivingAccountMapper drivingAccountMapper;
@GetMapping("/getByIdentityNumber")
@Operation(summary = "根据身份证号获得协同司机账号")
@Parameter(name = "identityNumber", description = "身份证号", example = "51040219")
public CommonResult<DrivingAccountRespVO> getByIdentityNumber(@RequestParam("identityNumber") String identityNumber) {
DrivingAccountDO drivingAccountDO = drivingAccountMapper.selectFirstOne(DrivingAccountDO::getIdentityNumber, identityNumber);
return success(BeanUtils.toBean(drivingAccountDO, DrivingAccountRespVO.class));
}
@PostMapping("/create")
@Operation(summary = "创建我的司机")
@PreAuthorize("@ss.hasPermission('lgst:my-driver:create')")
public CommonResult<MyDriverRespVO> createMyDriver(@Valid @RequestBody MyDriverSaveReqVO createReqVO) {
return success(myDriverService.createMyDriver(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新我的司机")
@PreAuthorize("@ss.hasPermission('lgst:my-driver:update')")
public CommonResult<Boolean> updateMyDriver(@Valid @RequestBody MyDriverSaveReqVO updateReqVO) {
myDriverService.updateMyDriver(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除我的司机")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('lgst:my-driver:delete')")
public CommonResult<Boolean> deleteMyDriver(@RequestParam("id") Long id) {
myDriverService.deleteMyDriver(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除我的司机")
@PreAuthorize("@ss.hasPermission('lgst:my-driver:delete')")
public CommonResult<Boolean> deleteMyDriverList(@RequestBody BatchDeleteReqVO req) {
myDriverService.deleteMyDriverListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得我的司机")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:my-driver:query')")
public CommonResult<MyDriverRespVO> getMyDriver(@RequestParam("id") Long id) {
return success(myDriverService.getMyDriver(id));
}
@PostMapping("/page")
@Operation(summary = "获得我的司机分页")
@PreAuthorize("@ss.hasPermission('lgst:my-driver:query')")
public CommonResult<PageResult<MyDriverRespVO>> getMyDriverPage(@Valid @RequestBody MyDriverPageReqVO pageReqVO) {
return success(myDriverService.getMyDriverPage(pageReqVO));
}
@PostMapping("/export-excel")
@Operation(summary = "导出我的司机 Excel")
@PreAuthorize("@ss.hasPermission('lgst:my-driver:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportMyDriverExcel(@Valid @RequestBody MyDriverPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<MyDriverRespVO> list = myDriverService.getMyDriverPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "协同我的司机.xls", "数据", MyDriverRespVO.class,
BeanUtils.toBean(list, MyDriverRespVO.class));
}
@PostMapping("/import-excel")
@Operation(summary = "导入我的司机 Excel")
@PreAuthorize("@ss.hasPermission('lgst:my-driver:import')")
@ApiAccessLog(operateType = IMPORT)
public CommonResult<Boolean> exportCarArchiveExcel(@RequestParam("file") MultipartFile file,
HttpServletResponse response) throws IOException {
List<MyDriverImportExcelVO> read = ExcelUtils.read(file, MyDriverImportExcelVO.class);
for (MyDriverImportExcelVO reqVO : read) {
MyDriverSaveReqVO saveVo = BeanUtils.toBean(reqVO, MyDriverSaveReqVO.class);
this.createMyDriver(saveVo);
}
return success(true);
}
}

View File

@@ -0,0 +1,56 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myDriver.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@Schema(description = "物流协同 - 我的司机导入 Request VO")
@Data
public class MyDriverImportExcelVO {
@ExcelProperty("*登录手机号")
private String loginTel;
@ExcelProperty("*司机姓名")
private String name;
@ExcelProperty("*身份证号")
private String identityNumber;
@ExcelProperty("身份证有效期-开始")
private LocalDateTime identityExpiryStart;
@ExcelProperty("身份证有效期-结束")
private LocalDateTime identityExpiryEnd;
@ExcelProperty("身份证是否长期")
private Integer isPermanentlyIdentity;
@ExcelProperty("身份证发证机关")
private String idtyRegistrationAgency;
@ExcelProperty("准驾车型")
private String drivingType;
@ExcelProperty("驾驶证有效期-开始")
private LocalDateTime drivingExpiryStart;
@ExcelProperty("驾驶证有效期-结束")
private LocalDateTime drivingExpiryEnd;
@ExcelProperty("驾驶证是否长期")
private Integer isPermanentlyDriving;
@ExcelProperty("行驶证发证机关")
private String drvgRegistrationAgency;
@ExcelProperty("档案编码")
private String documentNo;
@ExcelProperty("从业资格证号")
private String majorQualificationNo;
@ExcelProperty("常用车辆")
private String usualCar;
}

View File

@@ -0,0 +1,30 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myDriver.vo;
import com.zt.plat.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "管理后台 - 协同我的司机分页 Request VO")
@Data
public class MyDriverPageReqVO extends PageParam {
@Schema(description = "登录人id", hidden = true)
private Long loginUserId;
@Schema(description = "登录手机号")
private String loginTel;
@Schema(description = "姓名", example = "芋艿")
private String name;
@Schema(description = "准驾车型", example = "2")
private String drivingType;
@Schema(description = "状态", example = "1")
private String status;
@Schema(description = "是否启用")
private String isEnable;
@Schema(description = "认证状态")
private String validationStatus;
}

View File

@@ -0,0 +1,150 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myDriver.vo;
import com.zt.plat.module.infra.api.businessfile.dto.BusinessFileWithUrlRespDTO;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
@Schema(description = "管理后台 - 协同我的司机 Response VO")
@Data
@ExcelIgnoreUnannotated
public class MyDriverRespVO {
@Schema(description = "id", example = "3811")
@ExcelIgnore
private Long id;
@Schema(description = "常用车辆", example = "川A")
@ExcelProperty("usualCar")
private String usualCar;
@Schema(description = "备注")
@ExcelProperty("备注")
private String remark;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "修改时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("修改时间")
private LocalDateTime updateTime;
@Schema(description = "创建人")
@ExcelProperty("创建人")
private String creatorName;
@Schema(description = "修改人")
@ExcelProperty("修改人")
private String updaterName;
@Schema(description = "状态", example = "1")
@ExcelProperty("状态")
private String status;
@Schema(description = "是否启用")
@ExcelProperty("是否启用")
private String isEnable;
@Schema(description = "登录账号", example = "27536")
@ExcelProperty("登录账号")
private String loginAccount;
@Schema(description = "登录手机号", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("登录手机号")
private String loginTel;
@Schema(description = "姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
@ExcelProperty("姓名")
private String name;
@Schema(description = "身份证号")
@ExcelProperty("身份证号")
private String identityNumber;
@Schema(description = "身份证有效期-开始")
@ExcelProperty("身份证有效期-开始")
private LocalDateTime identityExpiryStart;
@Schema(description = "身份证有效期-结束")
@ExcelProperty("身份证有效期-结束")
private LocalDateTime identityExpiryEnd;
@Schema(description = "身份证是否长期")
@ExcelProperty("身份证是否长期")
private Integer isPermanentlyIdentity;
@Schema(description = "驾驶证有效期-开始")
@ExcelProperty("驾驶证有效期-开始")
private LocalDateTime drivingExpiryStart;
@Schema(description = "驾驶证有效期-结束")
@ExcelProperty("驾驶证有效期-结束")
private LocalDateTime drivingExpiryEnd;
@Schema(description = "驾驶证是否长期")
@ExcelProperty("驾驶证是否长期")
private Integer isPermanentlyDriving;
@Schema(description = "准驾车型", example = "2")
@ExcelProperty("准驾车型")
private String drivingType;
/**
* 身份证发证机关
*/
@Schema(description = "IDTY_REG_AGC")
@ExcelProperty("身份证发证机关")
private String idtyRegistrationAgency;
/**
* 行驶证发证机关
*/
@Schema(description = "DRVG_REG_AGC")
@ExcelProperty("行驶证发证机关")
private String drvgRegistrationAgency;
@Schema(description = "档案编码")
@ExcelProperty("档案编码")
private String documentNo;
@Schema(description = "从业资格证号")
@ExcelProperty("从业资格证号")
private String majorQualificationNo;
@Schema(description = "来源", example = "数据字典driver_source")
@ExcelProperty("来源")
private String origin;
/**
* 绑定部门id
*/
@Schema(description = "绑定部门id")
private Long bidDeptId;
@Schema(description = "驾驶证图片-正面")
private BusinessFileWithUrlRespDTO drivingFrontFile;
@Schema(description = "驾驶证图片-反面")
private BusinessFileWithUrlRespDTO drivingBackFile;
@Schema(description = "身份证-正面")
private BusinessFileWithUrlRespDTO identityFrontFile;
@Schema(description = "身份证-反面")
private BusinessFileWithUrlRespDTO identityBackFile;
@Schema(description = "其他资格证附件")
private List<BusinessFileWithUrlRespDTO> otherFile;
/**
* 认证状态
*/
@Schema(description = "认证状态")
private String validationStatus;
}

View File

@@ -0,0 +1,15 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myDriver.vo;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.DrivingAccountSaveReqVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "物流协同 - 我的司机新增 Request VO")
@Data
public class MyDriverSaveReqVO extends DrivingAccountSaveReqVO {
@Schema(description = "我的司机ID,另外一个id是司机协同账号的id在协同我的司机功能中不传值后台会自己赋值", requiredMode = Schema.RequiredMode.REQUIRED)
private Long myDriverId;
@Schema(description = "常用车辆", example = "川A")
private String usualCar;
}

View File

@@ -0,0 +1,95 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myWrh;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myWrh.vo.MyWrhPageReqVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myWrh.vo.MyWrhRespVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myWrh.vo.MyWrhSaveReqVO;
import com.zt.plat.module.backendlogistics.service.bseMngt.myWrh.MyWrhService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
@Tag(name = "物流协同 - 我的仓库")
@RestController
@RequestMapping("/lgst/my-wrh")
@Validated
public class MyWrhController implements BusinessControllerMarker {
@Resource
private MyWrhService myWrhService;
@PostMapping("/create")
@Operation(summary = "关联仓库")
@PreAuthorize("@ss.hasPermission('lgst:my-wrh:create')")
public CommonResult<MyWrhRespVO> createMyWrh(@Valid @RequestBody MyWrhSaveReqVO createReqVO) {
return success(myWrhService.createMyWrh(createReqVO));
}
// @PutMapping("/update")
// @Operation(summary = "更新协同我的仓库")
// @PreAuthorize("@ss.hasPermission('lgst:my-wrh:update')")
// public CommonResult<Boolean> updateMyWrh(@Valid @RequestBody MyWrhSaveReqVO updateReqVO) {
// myWrhService.updateMyWrh(updateReqVO);
// return success(true);
// }
// @DeleteMapping("/delete")
// @Operation(summary = "删除协同我的仓库")
// @Parameter(name = "id", description = "编号", required = true)
// @PreAuthorize("@ss.hasPermission('lgst:my-wrh:delete')")
// public CommonResult<Boolean> deleteMyWrh(@RequestParam("id") Long id) {
// myWrhService.deleteMyWrh(id);
// return success(true);
// }
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "解除关联")
@PreAuthorize("@ss.hasPermission('lgst:my-wrh:delete')")
public CommonResult<Boolean> deleteMyWrhList(@RequestBody BatchDeleteReqVO req) {
myWrhService.deleteMyWrhListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得协同我的仓库")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:my-wrh:query')")
public CommonResult<MyWrhRespVO> getMyWrh(@RequestParam("id") Long id) {
MyWrhRespVO myWrh = myWrhService.getMyWrh(id);
return success(myWrh);
}
@PostMapping("/page")
@Operation(summary = "获得协同我的仓库分页")
@PreAuthorize("@ss.hasPermission('lgst:my-wrh:query')")
public CommonResult<PageResult<MyWrhRespVO>> getMyWrhPage(@Valid @RequestBody MyWrhPageReqVO pageReqVO) {
PageResult<MyWrhRespVO> pageResult = myWrhService.getMyWrhPage(pageReqVO);
return success(pageResult);
}
// @GetMapping("/export-excel")
// @Operation(summary = "导出协同我的仓库 Excel")
// @PreAuthorize("@ss.hasPermission('lgst:my-wrh:export')")
// @ApiAccessLog(operateType = EXPORT)
// public void exportMyWrhExcel(@Valid MyWrhPageReqVO pageReqVO,
// HttpServletResponse response) throws IOException {
// pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
// List<MyWrhDO> list = myWrhService.getMyWrhPage(pageReqVO).getList();
// // 导出 Excel
// ExcelUtils.write(response, "协同我的仓库.xls", "数据", MyWrhRespVO.class,
// BeanUtils.toBean(list, MyWrhRespVO.class));
// }
}

View File

@@ -0,0 +1,25 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myWrh.vo;
import com.zt.plat.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "管理后台 - 协同我的仓库分页 Request VO")
@Data
public class MyWrhPageReqVO extends PageParam {
@Schema(description = "登陆人id", hidden = true)
private Long loginUserId;
@Schema(description = "仓库名称", example = "王五")
private String warehouseName;
@Schema(description = "仓库性质")
private String warehouseNature;
@Schema(description = "省(直辖市)")
private String state;
@Schema(description = "市(区)")
private String municipality;
}

View File

@@ -0,0 +1,75 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myWrh.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
@Schema(description = "管理后台 - 协同我的仓库 Response VO")
@Data
@ExcelIgnoreUnannotated
public class MyWrhRespVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "13502")
@ExcelProperty("id")
private Long id;
@Schema(description = "仓库id", example = "29071")
@ExcelProperty("仓库id")
private Long warehouseId;
@Schema(description = "省(直辖市)")
@ExcelProperty("省(直辖市)")
private String state;
@Schema(description = "市(区)")
@ExcelProperty("市(区)")
private String municipality;
@Schema(description = "经度")
@ExcelProperty("经度")
private BigDecimal longitude;
@Schema(description = "纬度")
@ExcelProperty("纬度")
private BigDecimal latitude;
@Schema(description = "(经纬度)的详细地址")
@ExcelProperty("(经纬度)的详细地址")
private String address;
/********************一下是关联其他表查询的*********************/
@Schema(description = "仓库名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
@ExcelProperty("仓库名称")
private String warehouseName;
@Schema(description = "仓库编码", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("仓库编码")
private String warehouseCoding;
@Schema(description = "仓库性质")
@ExcelProperty("仓库性质")
private String warehouseNature;
@Schema(description = "仓库类型", example = "1")
@ExcelProperty("仓库类型")
private String warehouseType;
@Schema(description = "关联工厂")
@ExcelProperty("关联工厂")
private String correlationFactory;
@Schema(description = "关联工厂id")
@ExcelProperty("关联工厂id")
private Long correlationFactoryId;
@Schema(description = "是否境外")
@ExcelProperty("是否境外")
private String isForeign;
@Schema(description = "国外区域")
@ExcelProperty("国外区域")
private String foreignArea;
}

View File

@@ -0,0 +1,11 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myWrh.vo;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.WarehouseUpdateReqVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "物流协同 - 协同我的仓库新增 Request VO")
@Data
public class MyWrhSaveReqVO extends WarehouseUpdateReqVO {
}

View File

@@ -0,0 +1,106 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.AuncelConfigPageReqVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.AuncelConfigRespVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.AuncelConfigSaveReqVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.AuncelConfigUpdateReqVO;
import com.zt.plat.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.AuncelConfigDO;
import com.zt.plat.module.backendlogistics.service.bseMngt.plceAchi.AuncelConfigService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 计量点配置")
@RestController
@RequestMapping("/lgst/auncel-config")
@Validated
public class AuncelConfigController implements BusinessControllerMarker {
@Resource
private AuncelConfigService auncelConfigService;
@PostMapping("/create")
@Operation(summary = "创建计量点配置")
@PreAuthorize("@ss.hasPermission('lgst:auncel-config:create')")
public CommonResult<AuncelConfigRespVO> createAuncelConfig(@Valid @RequestBody AuncelConfigSaveReqVO createReqVO) {
return success(auncelConfigService.createAuncelConfig(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新计量点配置")
@PreAuthorize("@ss.hasPermission('lgst:auncel-config:update')")
public CommonResult<Boolean> updateAuncelConfig(@Valid @RequestBody AuncelConfigUpdateReqVO updateReqVO) {
auncelConfigService.updateAuncelConfig(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除计量点配置")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('lgst:auncel-config:delete')")
public CommonResult<Boolean> deleteAuncelConfig(@RequestParam("id") Long id) {
auncelConfigService.deleteAuncelConfig(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除计量点配置")
@PreAuthorize("@ss.hasPermission('lgst:auncel-config:delete')")
public CommonResult<Boolean> deleteAuncelConfigList(@RequestBody BatchDeleteReqVO req) {
auncelConfigService.deleteAuncelConfigListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得计量点配置")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:auncel-config:query')")
public CommonResult<AuncelConfigRespVO> getAuncelConfig(@RequestParam("id") Long id) {
AuncelConfigDO auncelConfig = auncelConfigService.getAuncelConfig(id);
return success(BeanUtils.toBean(auncelConfig, AuncelConfigRespVO.class));
}
@PostMapping("/page")
@Operation(summary = "获得计量点配置分页")
@PreAuthorize("@ss.hasPermission('lgst:auncel-config:query')")
public CommonResult<PageResult<AuncelConfigRespVO>> getAuncelConfigPage(@Valid @RequestBody AuncelConfigPageReqVO pageReqVO) {
PageResult<AuncelConfigDO> pageResult = auncelConfigService.getAuncelConfigPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, AuncelConfigRespVO.class));
}
@PostMapping("/export-excel")
@Operation(summary = "导出计量点配置 Excel")
@PreAuthorize("@ss.hasPermission('lgst:auncel-config:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportAuncelConfigExcel(@Valid @RequestBody AuncelConfigPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<AuncelConfigDO> list = auncelConfigService.getAuncelConfigPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "计量点配置.xls", "数据", AuncelConfigRespVO.class,
BeanUtils.toBean(list, AuncelConfigRespVO.class));
}
}

View File

@@ -0,0 +1,105 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ConsigneeAddressPageReqVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ConsigneeAddressRespVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ConsigneeAddressSaveReqVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ConsigneeAddressUpdateReqVO;
import com.zt.plat.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.ConsigneeAddressDO;
import com.zt.plat.module.backendlogistics.service.bseMngt.plceAchi.ConsigneeAddressService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 客户收货地址")
@RestController
@RequestMapping("/lgst/consignee-address")
@Validated
public class ConsigneeAddressController {
@Resource
private ConsigneeAddressService consigneeAddressService;
@PostMapping("/create")
@Operation(summary = "创建客户收货地址")
@PreAuthorize("@ss.hasPermission('lgst:consignee-address:create')")
public CommonResult<ConsigneeAddressRespVO> createConsigneeAddress(@Valid @RequestBody ConsigneeAddressSaveReqVO createReqVO) {
return success(consigneeAddressService.createConsigneeAddress(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新客户收货地址")
@PreAuthorize("@ss.hasPermission('lgst:consignee-address:update')")
public CommonResult<Boolean> updateConsigneeAddress(@Valid @RequestBody ConsigneeAddressUpdateReqVO updateReqVO) {
consigneeAddressService.updateConsigneeAddress(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除客户收货地址")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('lgst:consignee-address:delete')")
public CommonResult<Boolean> deleteConsigneeAddress(@RequestParam("id") Long id) {
consigneeAddressService.deleteConsigneeAddress(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除客户收货地址")
@PreAuthorize("@ss.hasPermission('lgst:consignee-address:delete')")
public CommonResult<Boolean> deleteConsigneeAddressList(@RequestBody BatchDeleteReqVO req) {
consigneeAddressService.deleteConsigneeAddressListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得客户收货地址")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:consignee-address:query')")
public CommonResult<ConsigneeAddressRespVO> getConsigneeAddress(@RequestParam("id") Long id) {
ConsigneeAddressDO consigneeAddress = consigneeAddressService.getConsigneeAddress(id);
return success(BeanUtils.toBean(consigneeAddress, ConsigneeAddressRespVO.class));
}
@PostMapping("/page")
@Operation(summary = "获得客户收货地址分页")
@PreAuthorize("@ss.hasPermission('lgst:consignee-address:query')")
public CommonResult<PageResult<ConsigneeAddressRespVO>> getConsigneeAddressPage(@Valid @RequestBody ConsigneeAddressPageReqVO pageReqVO) {
PageResult<ConsigneeAddressDO> pageResult = consigneeAddressService.getConsigneeAddressPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, ConsigneeAddressRespVO.class));
}
@PostMapping("/export-excel")
@Operation(summary = "导出客户收货地址 Excel")
@PreAuthorize("@ss.hasPermission('lgst:consignee-address:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportConsigneeAddressExcel(@Valid @RequestBody ConsigneeAddressPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<ConsigneeAddressDO> list = consigneeAddressService.getConsigneeAddressPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "客户收货地址.xls", "数据", ConsigneeAddressRespVO.class,
BeanUtils.toBean(list, ConsigneeAddressRespVO.class));
}
}

View File

@@ -0,0 +1,106 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.FactoryPageReqVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.FactoryRespVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.FactorySaveReqVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.FactoryUpdateReqVO;
import com.zt.plat.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.FactoryDO;
import com.zt.plat.module.backendlogistics.service.bseMngt.plceAchi.FactoryService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 生产厂区信息")
@RestController
@RequestMapping("/lgst/factory")
@Validated
public class FactoryController implements BusinessControllerMarker {
@Resource
private FactoryService factoryService;
@PostMapping("/create")
@Operation(summary = "创建生产厂区信息")
@PreAuthorize("@ss.hasPermission('lgst:factory:create')")
public CommonResult<FactoryRespVO> createFactory(@Valid @RequestBody FactorySaveReqVO createReqVO) {
return success(factoryService.createFactory(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新生产厂区信息")
@PreAuthorize("@ss.hasPermission('lgst:factory:update')")
public CommonResult<Boolean> updateFactory(@Valid @RequestBody FactoryUpdateReqVO updateReqVO) {
factoryService.updateFactory(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除生产厂区信息")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('lgst:factory:delete')")
public CommonResult<Boolean> deleteFactory(@RequestParam("id") Long id) {
factoryService.deleteFactory(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除生产厂区信息")
@PreAuthorize("@ss.hasPermission('lgst:factory:delete')")
public CommonResult<Boolean> deleteFactoryList(@RequestBody BatchDeleteReqVO req) {
factoryService.deleteFactoryListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得生产厂区信息")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:factory:query')")
public CommonResult<FactoryRespVO> getFactory(@RequestParam("id") Long id) {
FactoryDO factory = factoryService.getFactory(id);
return success(BeanUtils.toBean(factory, FactoryRespVO.class));
}
@PostMapping("/page")
@Operation(summary = "获得生产厂区信息分页")
@PreAuthorize("@ss.hasPermission('lgst:factory:query')")
public CommonResult<PageResult<FactoryRespVO>> getFactoryPage(@Valid @RequestBody FactoryPageReqVO pageReqVO) {
PageResult<FactoryDO> pageResult = factoryService.getFactoryPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, FactoryRespVO.class));
}
@PostMapping("/export-excel")
@Operation(summary = "导出生产厂区信息 Excel")
@PreAuthorize("@ss.hasPermission('lgst:factory:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportFactoryExcel(@Valid @RequestBody FactoryPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<FactoryDO> list = factoryService.getFactoryPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "生产厂区信息.xls", "数据", FactoryRespVO.class,
BeanUtils.toBean(list, FactoryRespVO.class));
}
}

View File

@@ -0,0 +1,101 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ForeignAreaRespVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ForeignAreaSaveReqVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ForeignAreaVO;
import com.zt.plat.module.backendlogistics.service.bseMngt.plceAchi.ForeignAreaService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 国外区域")
@RestController
@RequestMapping("/lgst/foreign-area")
@Validated
public class ForeignAreaController {
@Resource
private ForeignAreaService foreignAreaService;
@PostMapping("/create")
@Operation(summary = "创建国外区域")
@PreAuthorize("@ss.hasPermission('lgst:foreign-area:create')")
public CommonResult<ForeignAreaRespVO> createForeignArea(@Valid @RequestBody ForeignAreaSaveReqVO createReqVO) {
return success(foreignAreaService.createForeignArea(createReqVO));
}
//
// @PutMapping("/update")
// @Operation(summary = "更新国外区域")
// @PreAuthorize("@ss.hasPermission('lgst:foreign-area:update')")
// public CommonResult<Boolean> updateForeignArea(@Valid @RequestBody ForeignAreaSaveReqVO updateReqVO) {
// foreignAreaService.updateForeignArea(updateReqVO);
// return success(true);
// }
//
// @DeleteMapping("/delete")
// @Operation(summary = "删除国外区域")
// @Parameter(name = "id", description = "编号", required = true)
// @PreAuthorize("@ss.hasPermission('lgst:foreign-area:delete')")
// public CommonResult<Boolean> deleteForeignArea(@RequestParam("id") Long id) {
// foreignAreaService.deleteForeignArea(id);
// return success(true);
// }
//
// @DeleteMapping("/delete-list")
// @Parameter(name = "ids", description = "编号", required = true)
// @Operation(summary = "批量删除国外区域")
// @PreAuthorize("@ss.hasPermission('lgst:foreign-area:delete')")
// public CommonResult<Boolean> deleteForeignAreaList(@RequestBody BatchDeleteReqVO req) {
// foreignAreaService.deleteForeignAreaListByIds(req.getIds());
// return success(true);
// }
//
// @GetMapping("/get")
// @Operation(summary = "获得国外区域")
// @Parameter(name = "id", description = "编号", required = true, example = "1024")
// @PreAuthorize("@ss.hasPermission('lgst:foreign-area:query')")
// public CommonResult<ForeignAreaRespVO> getForeignArea(@RequestParam("id") Long id) {
// ForeignAreaDO foreignArea = foreignAreaService.getForeignArea(id);
// return success(BeanUtils.toBean(foreignArea, ForeignAreaRespVO.class));
// }
//
// @GetMapping("/page")
// @Operation(summary = "获得国外区域分页")
// @PreAuthorize("@ss.hasPermission('lgst:foreign-area:query')")
// public CommonResult<PageResult<ForeignAreaRespVO>> getForeignAreaPage(@Valid ForeignAreaPageReqVO pageReqVO) {
// PageResult<ForeignAreaDO> pageResult = foreignAreaService.getForeignAreaPage(pageReqVO);
// return success(BeanUtils.toBean(pageResult, ForeignAreaRespVO.class));
// }
//
// @GetMapping("/export-excel")
// @Operation(summary = "导出国外区域 Excel")
// @PreAuthorize("@ss.hasPermission('lgst:foreign-area:export')")
// @ApiAccessLog(operateType = EXPORT)
// public void exportForeignAreaExcel(@Valid ForeignAreaPageReqVO pageReqVO,
// HttpServletResponse response) throws IOException {
// pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
// List<ForeignAreaDO> list = foreignAreaService.getForeignAreaPage(pageReqVO).getList();
// // 导出 Excel
// ExcelUtils.write(response, "国外区域.xls", "数据", ForeignAreaRespVO.class,
// BeanUtils.toBean(list, ForeignAreaRespVO.class));
// }
@GetMapping("/get")
@Operation(summary = "获得境外区域下拉")
@Parameter(name = "name", description = "快速匹配第一级名称用", required = false, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:foreign-area:query')")
public CommonResult<List<ForeignAreaVO>> getForeignArea(@RequestParam(value = "name", required = false) String name) {
return success(foreignAreaService.getForeignAreaDropdown(name));
}
}

View File

@@ -0,0 +1,106 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GateConfigPageReqVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GateConfigRespVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GateConfigSaveReqVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GateConfigUpdateReqVO;
import com.zt.plat.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.GateConfigDO;
import com.zt.plat.module.backendlogistics.service.bseMngt.plceAchi.GateConfigService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 门岗信息")
@RestController
@RequestMapping("/lgst/gate-config")
@Validated
public class GateConfigController implements BusinessControllerMarker {
@Resource
private GateConfigService gateConfigService;
@PostMapping("/create")
@Operation(summary = "创建门岗信息")
@PreAuthorize("@ss.hasPermission('lgst:gate-config:create')")
public CommonResult<GateConfigRespVO> createGateConfig(@Valid @RequestBody GateConfigSaveReqVO createReqVO) {
return success(gateConfigService.createGateConfig(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新门岗信息")
@PreAuthorize("@ss.hasPermission('lgst:gate-config:update')")
public CommonResult<Boolean> updateGateConfig(@Valid @RequestBody GateConfigUpdateReqVO updateReqVO) {
gateConfigService.updateGateConfig(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除门岗信息")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('lgst:gate-config:delete')")
public CommonResult<Boolean> deleteGateConfig(@RequestParam("id") Long id) {
gateConfigService.deleteGateConfig(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除门岗信息")
@PreAuthorize("@ss.hasPermission('lgst:gate-config:delete')")
public CommonResult<Boolean> deleteGateConfigList(@RequestBody BatchDeleteReqVO req) {
gateConfigService.deleteGateConfigListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得门岗信息")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:gate-config:query')")
public CommonResult<GateConfigRespVO> getGateConfig(@RequestParam("id") Long id) {
GateConfigDO gateConfig = gateConfigService.getGateConfig(id);
return success(BeanUtils.toBean(gateConfig, GateConfigRespVO.class));
}
@PostMapping("/page")
@Operation(summary = "获得门岗信息分页")
@PreAuthorize("@ss.hasPermission('lgst:gate-config:query')")
public CommonResult<PageResult<GateConfigRespVO>> getGateConfigPage(@Valid @RequestBody GateConfigPageReqVO pageReqVO) {
PageResult<GateConfigDO> pageResult = gateConfigService.getGateConfigPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, GateConfigRespVO.class));
}
@PostMapping("/export-excel")
@Operation(summary = "导出门岗信息 Excel")
@PreAuthorize("@ss.hasPermission('lgst:gate-config:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportGateConfigExcel(@Valid @RequestBody GateConfigPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<GateConfigDO> list = gateConfigService.getGateConfigPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "门岗信息.xls", "数据", GateConfigRespVO.class,
BeanUtils.toBean(list, GateConfigRespVO.class));
}
}

View File

@@ -0,0 +1,114 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.FactoryTreeRespVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GeofencePageReqVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GeofenceRespVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GeofenceSaveReqVO;
import com.zt.plat.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.GeofenceDO;
import com.zt.plat.module.backendlogistics.service.bseMngt.plceAchi.GeofenceService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 电子围栏")
@RestController
@RequestMapping("/lgst/geofence")
@Validated
public class GeofenceController implements BusinessControllerMarker {
@Resource
private GeofenceService geofenceService;
@PostMapping("/queryFactoryTree")
@Operation(summary = "工厂树查询需headers里传visit-company-id会根据这个字段查询账套")
@PreAuthorize("@ss.hasPermission('lgst:geofence:queryFactoryTree')")
public CommonResult<List<FactoryTreeRespVO>> queryFactoryTree() {
List<FactoryTreeRespVO> list = geofenceService.queryFactoryTree();
return success(list);
}
@PostMapping("/create")
@Operation(summary = "创建电子围栏")
@PreAuthorize("@ss.hasPermission('lgst:geofence:create')")
public CommonResult<GeofenceRespVO> createGeofence(@Valid @RequestBody GeofenceSaveReqVO createReqVO) {
return success(geofenceService.createGeofence(createReqVO));
}
// @PutMapping("/update")
// @Operation(summary = "更新电子围栏")
// @PreAuthorize("@ss.hasPermission('lgst:geofence:update')")
// public CommonResult<Boolean> updateGeofence(@Valid @RequestBody GeofenceSaveReqVO updateReqVO) {
// geofenceService.updateGeofence(updateReqVO);
// return success(true);
// }
@DeleteMapping("/delete")
@Operation(summary = "删除电子围栏")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('lgst:geofence:delete')")
public CommonResult<Boolean> deleteGeofence(@RequestParam("id") Long id) {
geofenceService.deleteGeofence(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除电子围栏")
@PreAuthorize("@ss.hasPermission('lgst:geofence:delete')")
public CommonResult<Boolean> deleteGeofenceList(@RequestBody BatchDeleteReqVO req) {
geofenceService.deleteGeofenceListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得电子围栏")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:geofence:query')")
public CommonResult<GeofenceRespVO> getGeofence(@RequestParam("id") Long id) {
GeofenceDO geofence = geofenceService.getGeofence(id);
return success(BeanUtils.toBean(geofence, GeofenceRespVO.class));
}
@PostMapping("/page")
@Operation(summary = "获得电子围栏分页")
@PreAuthorize("@ss.hasPermission('lgst:geofence:query')")
public CommonResult<PageResult<GeofenceRespVO>> getGeofencePage(@Valid @RequestBody GeofencePageReqVO pageReqVO) {
PageResult<GeofenceDO> pageResult = geofenceService.getGeofencePage(pageReqVO);
return success(BeanUtils.toBean(pageResult, GeofenceRespVO.class));
}
@PostMapping("/export-excel")
@Operation(summary = "导出电子围栏 Excel")
@PreAuthorize("@ss.hasPermission('lgst:geofence:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportGeofenceExcel(@Valid @RequestBody GeofencePageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<GeofenceDO> list = geofenceService.getGeofencePage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "电子围栏.xls", "数据", GeofenceRespVO.class,
BeanUtils.toBean(list, GeofenceRespVO.class));
}
}

View File

@@ -0,0 +1,135 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MaterialExpandRespVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.MainMaterialRespVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PlaceArchiveMaterialPageReqVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PlaceArchiveMaterialRespVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PlaceArchiveMaterialSaveReqVO;
import com.zt.plat.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.PlaceArchiveMaterialDO;
import com.zt.plat.module.backendlogistics.service.bseMngt.plceAchi.PlaceArchiveMaterialService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import static com.zt.plat.module.backendlogistics.enums.ErrorCodeConstants.VISIT_COMPANY_ID_NOT_EXISTS;
@Tag(name = "管理后台 - 地点档案物料信息")
@RestController
@RequestMapping("/lgst/place-archive-material")
@Validated
public class PlaceArchiveMaterialController {
@Resource
private PlaceArchiveMaterialService placeArchiveMaterialService;
private Long validateIsExistCompanyId(){
Long loginUserCompanyId = SecurityFrameworkUtils.getLoginUserCompanyId();
if(loginUserCompanyId==null){
throw exception(VISIT_COMPANY_ID_NOT_EXISTS);
}
return loginUserCompanyId;
}
@PostMapping("/getMaterialExpandPage")
@Operation(summary = "获得主数据物资信息分页")
@PreAuthorize("@ss.hasPermission('lgst:place-archive-material:queryMaterialExpandPage')")
public CommonResult<PageResult<MaterialExpandRespVO>> getMaterialExpandPage(@Valid @RequestBody MainMaterialRespVO pageReqVO) {
PageResult<MaterialExpandRespVO> pageResult = placeArchiveMaterialService.getMaterialExpandPage(pageReqVO);
return success(pageResult);
}
@PostMapping("/getMaterialExpandList")
@Operation(summary = "获得主数据物资信息分页")
@PreAuthorize("@ss.hasPermission('lgst:place-archive-material:queryMaterialExpandPage')")
public CommonResult<List<MaterialExpandRespVO>> getMaterialExpandList(@Valid @RequestBody MainMaterialRespVO pageReqVO) {
List<MaterialExpandRespVO> list = placeArchiveMaterialService.getMaterialExpandList(pageReqVO);
return success(list);
}
@PostMapping("/create")
@Operation(summary = "创建地点档案物料信息")
@PreAuthorize("@ss.hasPermission('lgst:place-archive-material:create')")
public CommonResult<Boolean> createPlaceArchiveMaterial(@Valid @RequestBody List<PlaceArchiveMaterialSaveReqVO> createReqVO) {
placeArchiveMaterialService.createPlaceArchiveMaterial(createReqVO);
return success(true);
}
// @PutMapping("/update")
// @Operation(summary = "更新地点档案物料信息")
// @PreAuthorize("@ss.hasPermission('lgst:place-archive-material:update')")
// public CommonResult<Boolean> updatePlaceArchiveMaterial(@Valid @RequestBody PlaceArchiveMaterialSaveReqVO updateReqVO) {
// placeArchiveMaterialService.updatePlaceArchiveMaterial(updateReqVO);
// return success(true);
// }
@DeleteMapping("/delete")
@Operation(summary = "删除地点档案物料信息")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('lgst:place-archive-material:delete')")
public CommonResult<Boolean> deletePlaceArchiveMaterial(@RequestParam("id") Long id) {
placeArchiveMaterialService.deletePlaceArchiveMaterial(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除地点档案物料信息")
@PreAuthorize("@ss.hasPermission('lgst:place-archive-material:delete')")
public CommonResult<Boolean> deletePlaceArchiveMaterialList(@RequestBody BatchDeleteReqVO req) {
placeArchiveMaterialService.deletePlaceArchiveMaterialListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得地点档案物料信息")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:place-archive-material:query')")
public CommonResult<PlaceArchiveMaterialRespVO> getPlaceArchiveMaterial(@RequestParam("id") Long id) {
PlaceArchiveMaterialDO placeArchiveMaterial = placeArchiveMaterialService.getPlaceArchiveMaterial(id);
return success(BeanUtils.toBean(placeArchiveMaterial, PlaceArchiveMaterialRespVO.class));
}
@PostMapping("/page")
@Operation(summary = "获得地点档案物料信息分页")
@PreAuthorize("@ss.hasPermission('lgst:place-archive-material:query')")
public CommonResult<PageResult<PlaceArchiveMaterialRespVO>> getPlaceArchiveMaterialPage(@Valid @RequestBody PlaceArchiveMaterialPageReqVO pageReqVO) {
PageResult<PlaceArchiveMaterialDO> pageResult = placeArchiveMaterialService.getPlaceArchiveMaterialPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, PlaceArchiveMaterialRespVO.class));
}
@PostMapping("/export-excel")
@Operation(summary = "导出地点档案物料信息 Excel")
@PreAuthorize("@ss.hasPermission('lgst:place-archive-material:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportPlaceArchiveMaterialExcel(@Valid @RequestBody PlaceArchiveMaterialPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<PlaceArchiveMaterialDO> list = placeArchiveMaterialService.getPlaceArchiveMaterialPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "地点档案物料信息.xls", "数据", PlaceArchiveMaterialRespVO.class,
BeanUtils.toBean(list, PlaceArchiveMaterialRespVO.class));
}
}

View File

@@ -0,0 +1,106 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PortPageReqVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PortRespVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PortSaveReqVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PortUpdateReqVO;
import com.zt.plat.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.PortDO;
import com.zt.plat.module.backendlogistics.service.bseMngt.plceAchi.PortService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 港口信息")
@RestController
@RequestMapping("/lgst/port")
@Validated
public class PortController implements BusinessControllerMarker {
@Resource
private PortService portService;
@PostMapping("/create")
@Operation(summary = "创建港口信息")
@PreAuthorize("@ss.hasPermission('lgst:port:create')")
public CommonResult<PortRespVO> createPort(@Valid @RequestBody PortSaveReqVO createReqVO) {
return success(portService.createPort(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新港口信息")
@PreAuthorize("@ss.hasPermission('lgst:port:update')")
public CommonResult<Boolean> updatePort(@Valid @RequestBody PortUpdateReqVO updateReqVO) {
portService.updatePort(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除港口信息")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('lgst:port:delete')")
public CommonResult<Boolean> deletePort(@RequestParam("id") Long id) {
portService.deletePort(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除港口信息")
@PreAuthorize("@ss.hasPermission('lgst:port:delete')")
public CommonResult<Boolean> deletePortList(@RequestBody BatchDeleteReqVO req) {
portService.deletePortListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得港口信息")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:port:query')")
public CommonResult<PortRespVO> getPort(@RequestParam("id") Long id) {
PortDO port = portService.getPort(id);
return success(BeanUtils.toBean(port, PortRespVO.class));
}
@PostMapping("/page")
@Operation(summary = "获得港口信息分页")
@PreAuthorize("@ss.hasPermission('lgst:port:query')")
public CommonResult<PageResult<PortRespVO>> getPortPage(@Valid @RequestBody PortPageReqVO pageReqVO) {
PageResult<PortDO> pageResult = portService.getPortPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, PortRespVO.class));
}
@PostMapping("/export-excel")
@Operation(summary = "导出港口信息 Excel")
@PreAuthorize("@ss.hasPermission('lgst:port:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportPortExcel(@Valid @RequestBody PortPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<PortDO> list = portService.getPortPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "港口信息.xls", "数据", PortRespVO.class,
BeanUtils.toBean(list, PortRespVO.class));
}
}

View File

@@ -0,0 +1,105 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.RailwayStationPageReqVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.RailwayStationRespVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.RailwayStationSaveReqVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.RailwayStationUpdateReqVO;
import com.zt.plat.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.RailwayStationDO;
import com.zt.plat.module.backendlogistics.service.bseMngt.plceAchi.RailwayStationService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 铁路站点维护")
@RestController
@RequestMapping("/lgst/railway-station")
@Validated
public class RailwayStationController {
@Resource
private RailwayStationService railwayStationService;
@PostMapping("/create")
@Operation(summary = "创建铁路站点维护")
@PreAuthorize("@ss.hasPermission('lgst:railway-station:create')")
public CommonResult<RailwayStationRespVO> createRailwayStation(@Valid @RequestBody RailwayStationSaveReqVO createReqVO) {
return success(railwayStationService.createRailwayStation(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新铁路站点维护")
@PreAuthorize("@ss.hasPermission('lgst:railway-station:update')")
public CommonResult<Boolean> updateRailwayStation(@Valid @RequestBody RailwayStationUpdateReqVO updateReqVO) {
railwayStationService.updateRailwayStation(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除铁路站点维护")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('lgst:railway-station:delete')")
public CommonResult<Boolean> deleteRailwayStation(@RequestParam("id") Long id) {
railwayStationService.deleteRailwayStation(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除铁路站点维护")
@PreAuthorize("@ss.hasPermission('lgst:railway-station:delete')")
public CommonResult<Boolean> deleteRailwayStationList(@RequestBody BatchDeleteReqVO req) {
railwayStationService.deleteRailwayStationListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得铁路站点维护")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:railway-station:query')")
public CommonResult<RailwayStationRespVO> getRailwayStation(@RequestParam("id") Long id) {
RailwayStationDO railwayStation = railwayStationService.getRailwayStation(id);
return success(BeanUtils.toBean(railwayStation, RailwayStationRespVO.class));
}
@PostMapping("/page")
@Operation(summary = "获得铁路站点维护分页")
@PreAuthorize("@ss.hasPermission('lgst:railway-station:query')")
public CommonResult<PageResult<RailwayStationRespVO>> getRailwayStationPage(@Valid @RequestBody RailwayStationPageReqVO pageReqVO) {
PageResult<RailwayStationDO> pageResult = railwayStationService.getRailwayStationPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, RailwayStationRespVO.class));
}
@PostMapping("/export-excel")
@Operation(summary = "导出铁路站点维护 Excel")
@PreAuthorize("@ss.hasPermission('lgst:railway-station:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportRailwayStationExcel(@Valid @RequestBody RailwayStationPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<RailwayStationDO> list = railwayStationService.getRailwayStationPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "铁路站点维护.xls", "数据", RailwayStationRespVO.class,
BeanUtils.toBean(list, RailwayStationRespVO.class));
}
}

View File

@@ -0,0 +1,105 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.WarehousePageReqVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.WarehouseRespVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.WarehouseSaveReqVO;
import com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.WarehouseUpdateReqVO;
import com.zt.plat.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.WarehouseDO;
import com.zt.plat.module.backendlogistics.service.bseMngt.plceAchi.WarehouseService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 仓库信息")
@RestController
@RequestMapping("/lgst/warehouse")
@Validated
public class WarehouseController {
@Resource
private WarehouseService warehouseService;
@PostMapping("/create")
@Operation(summary = "创建仓库信息")
@PreAuthorize("@ss.hasPermission('lgst:warehouse:create')")
public CommonResult<WarehouseRespVO> createWarehouse(@Valid @RequestBody WarehouseSaveReqVO createReqVO) {
return success(warehouseService.createWarehouse(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新仓库信息")
@PreAuthorize("@ss.hasPermission('lgst:warehouse:update')")
public CommonResult<Boolean> updateWarehouse(@Valid @RequestBody WarehouseUpdateReqVO updateReqVO) {
warehouseService.updateWarehouse(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除仓库信息")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('lgst:warehouse:delete')")
public CommonResult<Boolean> deleteWarehouse(@RequestParam("id") Long id) {
warehouseService.deleteWarehouse(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除仓库信息")
@PreAuthorize("@ss.hasPermission('lgst:warehouse:delete')")
public CommonResult<Boolean> deleteWarehouseList(@RequestBody BatchDeleteReqVO req) {
warehouseService.deleteWarehouseListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得仓库信息")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:warehouse:query')")
public CommonResult<WarehouseRespVO> getWarehouse(@RequestParam("id") Long id) {
WarehouseDO warehouse = warehouseService.getWarehouse(id);
return success(BeanUtils.toBean(warehouse, WarehouseRespVO.class));
}
@PostMapping("/page")
@Operation(summary = "获得仓库信息分页")
@PreAuthorize("@ss.hasPermission('lgst:warehouse:query')")
public CommonResult<PageResult<WarehouseRespVO>> getWarehousePage(@Valid @RequestBody WarehousePageReqVO pageReqVO) {
PageResult<WarehouseDO> pageResult = warehouseService.getWarehousePage(pageReqVO);
return success(BeanUtils.toBean(pageResult, WarehouseRespVO.class));
}
@PostMapping("/export-excel")
@Operation(summary = "导出仓库信息 Excel")
@PreAuthorize("@ss.hasPermission('lgst:warehouse:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportWarehouseExcel(@Valid @RequestBody WarehousePageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<WarehouseDO> list = warehouseService.getWarehousePage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "仓库信息.xls", "数据", WarehouseRespVO.class,
BeanUtils.toBean(list, WarehouseRespVO.class));
}
}

View File

@@ -0,0 +1,19 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo;
import com.zt.plat.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "管理后台 - 计量点配置分页 Request VO")
@Data
public class AuncelConfigPageReqVO extends PageParam {
@Schema(description = "公司编号", hidden = true)
private Long companyId;
@Schema(description = "计量点名称", example = "张三")
private String auncelName;
@Schema(description = "计量点编码")
private String auncelCoding;
}

View File

@@ -0,0 +1,67 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
@Schema(description = "管理后台 - 计量点配置 Response VO")
@Data
@ExcelIgnoreUnannotated
public class AuncelConfigRespVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "15341")
@ExcelProperty("id")
private Long id;
@Schema(description = "公司编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13313")
@ExcelProperty("公司编号")
private Long companyId;
@Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
@ExcelProperty("公司名称")
private String companyName;
@Schema(description = "计量点名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
@ExcelProperty("计量点名称")
private String auncelName;
@Schema(description = "计量点编码", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("计量点编码")
private String auncelCoding;
@Schema(description = "省(直辖市)")
@ExcelProperty("省(直辖市)")
private String state;
@Schema(description = "市(区)")
@ExcelProperty("市(区)")
private String municipality;
@Schema(description = "计量点类型", example = "2")
@ExcelProperty("计量点类型")
private String auncelType;
@Schema(description = "地理位置")
@ExcelProperty("地理位置")
private String location;
@Schema(description = "空重限制")
@ExcelProperty("空重限制")
private String limt;
@Schema(description = "计量作业系统")
@ExcelProperty("计量作业系统")
private String syst;
@Schema(description = "经度")
@ExcelProperty("经度")
private BigDecimal longitude;
@Schema(description = "纬度")
@ExcelProperty("纬度")
private BigDecimal latitude;
}

View File

@@ -0,0 +1,58 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
import java.math.BigDecimal;
@Schema(description = "管理后台 - 计量点配置新增 Request VO")
@Data
public class AuncelConfigSaveReqVO {
// @Schema(description = "公司编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13313")
// @NotNull(message = "公司编号不能为空")
// private Long companyId;
//
// @Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
// @NotEmpty(message = "公司名称不能为空")
// private String companyName;
@Schema(description = "计量点名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
@NotEmpty(message = "计量点名称不能为空")
private String auncelName;
@Schema(description = "计量点编码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "计量点编码不能为空")
private String auncelCoding;
@Schema(description = "省(直辖市)")
private String state;
@Schema(description = "市(区)")
private String municipality;
@Schema(description = "计量点类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据字典auncel_type")
@NotEmpty(message = "计量点类型不能为空")
private String auncelType;
@Schema(description = "地理位置", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据字典location")
@NotEmpty(message = "地理位置不能为空")
private String location;
@Schema(description = "空重限制", example = "数据字典limit")
private String limt;
@Schema(description = "计量作业系统", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据字典auncel_system")
@NotEmpty(message = "计量作业系统不能为空")
private String syst;
@Schema(description = "经度")
private BigDecimal longitude;
@Schema(description = "纬度")
private BigDecimal latitude;
@Schema(description = "详细地址", example = "地图选点(经纬度)的详细地址")
private String address;
}

View File

@@ -0,0 +1,15 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@Schema(description = "管理后台 - 计量点配置修改 Request VO")
@Data
public class AuncelConfigUpdateReqVO extends AuncelConfigSaveReqVO{
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "3591")
@NotNull(message = "id不能为空")
private Long id;
}

View File

@@ -0,0 +1,17 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo;
import com.zt.plat.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "管理后台 - 客户收货地址分页 Request VO")
@Data
public class ConsigneeAddressPageReqVO extends PageParam {
@Schema(description = "地点名称", example = "王五")
private String placeName;
@Schema(description = "地点编码")
private String placeCoding;
}

View File

@@ -0,0 +1,76 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
@Schema(description = "管理后台 - 客户收货地址 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ConsigneeAddressRespVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "16510")
@ExcelProperty("id")
private Long id;
@Schema(description = "公司编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13384")
@ExcelProperty("公司编号")
private Long companyId;
@Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
@ExcelProperty("公司名称")
private String companyName;
@Schema(description = "地点名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
@ExcelProperty("地点名称")
private String placeName;
@Schema(description = "地点编码", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("地点编码")
private String placeCoding;
@Schema(description = "客户名称", example = "芋艿")
@ExcelProperty("客户名称")
private String customerName;
@Schema(description = "客户id")
@ExcelIgnore
private Long customerId;
@Schema(description = "MDM编码")
@ExcelProperty("MDM编码")
private String mdmcoding;
@Schema(description = "SAP编码")
@ExcelProperty("SAP编码")
private String sapcoding;
@Schema(description = "省(直辖市)")
@ExcelProperty("省(直辖市)")
private String state;
@Schema(description = "市(区)")
@ExcelProperty("市(区)")
private String municipality;
@Schema(description = "详细地址")
@ExcelProperty("详细地址")
private String location;
@Schema(description = "首选")
@ExcelProperty("首选")
private String isFirst;
@Schema(description = "经度")
@ExcelProperty("经度")
private BigDecimal longitude;
@Schema(description = "纬度")
@ExcelProperty("纬度")
private BigDecimal latitude;
}

View File

@@ -0,0 +1,67 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.math.BigDecimal;
@Schema(description = "管理后台 - 客户收货地址新增 Request VO")
@Data
public class ConsigneeAddressSaveReqVO {
// @Schema(description = "公司编号", hidden = true)
// private Long companyId;
//
// @Schema(description = "公司名称", hidden = true)
// private String companyName;
@Schema(description = "地点名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
@NotEmpty(message = "地点名称不能为空")
private String placeName;
@Schema(description = "地点编码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "地点编码不能为空")
private String placeCoding;
@Schema(description = "客户名称", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "客户名称不能为空")
private String customerName;
@Schema(description = "客户id", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "客户id不能为空")
private Long customerId;
@Schema(description = "MDM编码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "MDM编码不能为空")
private String mdmcoding;
@Schema(description = "SAP编码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "SAP编码不能为空")
private String sapcoding;
@Schema(description = "省(直辖市)", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "省(直辖市)不能为空")
private String state;
@Schema(description = "市(区)", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "市(区)不能为空")
private String municipality;
@Schema(description = "详细地址", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "详细地址不能为空")
private String location;
@Schema(description = "是否首选", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据字典infra_boolean_string")
@NotEmpty(message = "是否首选不能为空")
private String isFirst;
@Schema(description = "经度")
private BigDecimal longitude;
@Schema(description = "纬度")
private BigDecimal latitude;
@Schema(description = "详细地址", example = "地图选点(经纬度)的详细地址")
private String address;
}

View File

@@ -0,0 +1,14 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@Schema(description = "管理后台 - 客户收货地址修改 Request VO")
@Data
public class ConsigneeAddressUpdateReqVO extends ConsigneeAddressSaveReqVO{
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "3591")
@NotNull(message = "id不能为空")
private Long id;
}

View File

@@ -0,0 +1,20 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo;
import com.zt.plat.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema(description = "管理后台 - 生产厂区信息分页 Request VO")
@Data
public class FactoryPageReqVO extends PageParam {
@Schema(description = "公司编号", hidden = true)
private Long companyId;
@Schema(description = "厂区名称", example = "李四")
private String factoryName;
@Schema(description = "厂区编码")
private String factoryCoding;
}

View File

@@ -0,0 +1,71 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
@Schema(description = "管理后台 - 生产厂区信息 Response VO")
@Data
@ExcelIgnoreUnannotated
public class FactoryRespVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "20496")
@ExcelProperty("id")
private Long id;
@Schema(description = "公司编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "24201")
@ExcelProperty("公司编号")
private Long companyId;
@Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
@ExcelProperty("公司名称")
private String companyName;
@Schema(description = "厂区名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
@ExcelProperty("厂区名称")
private String factoryName;
@Schema(description = "厂区编码", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("厂区编码")
private String factoryCoding;
@Schema(description = "是否境外")
@ExcelProperty("是否境外")
private String isForeign;
@Schema(description = "国内区域")
@ExcelProperty("国内区域")
private String internalArea;
@Schema(description = "国外区域")
@ExcelProperty("国外区域")
private String foreignArea;
@Schema(description = "省(直辖市)")
@ExcelProperty("省(直辖市)")
private String state;
@Schema(description = "市(区)")
@ExcelProperty("市(区)")
private String municipality;
@Schema(description = "是否开启队列")
@ExcelProperty("是否开启队列")
private String isQueue;
@Schema(description = "排队方式")
@ExcelProperty("排队方式")
private String queueWay;
@Schema(description = "经度")
@ExcelProperty("经度")
private BigDecimal longitude;
@Schema(description = "纬度")
@ExcelProperty("纬度")
private BigDecimal latitude;
}

View File

@@ -0,0 +1,61 @@
package com.zt.plat.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
import java.math.BigDecimal;
@Schema(description = "管理后台 - 生产厂区信息新增 Request VO")
@Data
public class FactorySaveReqVO {
// @Schema(description = "公司编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "24201")
// @NotNull(message = "公司编号不能为空")
// private Long companyId;
//
// @Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
// @NotEmpty(message = "公司名称不能为空")
// private String companyName;
@Schema(description = "厂区名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
@NotEmpty(message = "厂区名称不能为空")
private String factoryName;
@Schema(description = "厂区编码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "厂区编码不能为空")
private String factoryCoding;
@Schema(description = "是否境外", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据字典infra_boolean_string")
@NotEmpty(message = "是否境外不能为空")
private String isForeign;
@Schema(description = "国内区域")
private String internalArea;
@Schema(description = "国外区域")
private String foreignArea;
@Schema(description = "省(直辖市)")
private String state;
@Schema(description = "市(区)")
private String municipality;
@Schema(description = "是否开启队列", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据字典infra_boolean_string")
@NotEmpty(message = "是否开启队列不能为空")
private String isQueue;
@Schema(description = "排队方式", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据字典queue_way")
@NotEmpty(message = "排队方式不能为空")
private String queueWay;
@Schema(description = "经度")
private BigDecimal longitude;
@Schema(description = "纬度")
private BigDecimal latitude;
@Schema(description = "详细地址", example = "地图选点(经纬度)的详细地址")
private String address;
}

Some files were not shown because too many files have changed in this diff Show More