diff --git a/logistics-server/Dockerfile b/logistics-server/Dockerfile index 7a7b3b6d..eecd4f8f 100644 --- a/logistics-server/Dockerfile +++ b/logistics-server/Dockerfile @@ -7,7 +7,7 @@ WORKDIR /app COPY target/logistics-server.jar /app/logistics-server.jar # 暴露端口 -EXPOSE 48204 +EXPOSE 48101 # 运行应用 ENTRYPOINT ["java", "-jar", "/app/logistics-server.jar"] diff --git a/logistics-server/pom.xml b/logistics-server/pom.xml index f5cfafae..2e7767b5 100644 --- a/logistics-server/pom.xml +++ b/logistics-server/pom.xml @@ -4,7 +4,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> cn.iocoder.cloud - yudao + dsc-logistics ${revision} 4.0.0 diff --git a/yudao-module-backend-logistics/pom.xml b/yudao-module-backend-logistics/pom.xml index bdbf63d1..1d2582cb 100644 --- a/yudao-module-backend-logistics/pom.xml +++ b/yudao-module-backend-logistics/pom.xml @@ -3,7 +3,7 @@ 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"> - yudao + dsc-logistics cn.iocoder.cloud ${revision} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/ErrorCodeConstants.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/ErrorCodeConstants.java index 1a81dee1..5617adab 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/ErrorCodeConstants.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/ErrorCodeConstants.java @@ -39,6 +39,8 @@ public interface ErrorCodeConstants { */ // ========== 示例模块 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) @@ -61,20 +63,59 @@ public interface ErrorCodeConstants { 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_SUB_NOT_EXISTS = new ErrorCode(1_100_003_003, "铁路物资对照子不存在"); - ErrorCode RLWY_MTRL_SUB_MATERIAL_EXISTS = new ErrorCode(1_100_003_004, "物资对照已经存在"); - ErrorCode RLWY_MTRL_MAIN_STATUS_EXISTS = new ErrorCode(1_100_003_004, "铁路品名对照草稿状态才能操作"); + 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, "流水号异常"); } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/bseMngt/plceAchi/PlceTpEnum.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/bseMngt/plceAchi/PlceTpEnum.java new file mode 100644 index 00000000..77abeb22 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/bseMngt/plceAchi/PlceTpEnum.java @@ -0,0 +1,67 @@ +package cn.iocoder.yudao.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 noCompanys = Arrays.asList(PlceTpEnum.WAREHOUSE.getCode(), PlceTpEnum.RAILWAY_STATION.getCode(), PlceTpEnum.CONSIGNEE_ADDRESS.getCode()); + if (noCompanys.contains(code)) { + return true; + } + return false; + } +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/bseMngt/plceAchi/QueWyEnum.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/bseMngt/plceAchi/QueWyEnum.java new file mode 100644 index 00000000..13aa149a --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/bseMngt/plceAchi/QueWyEnum.java @@ -0,0 +1,51 @@ +package cn.iocoder.yudao.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; + } +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/bseMngt/xtAcct/AcctStatisEnum.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/bseMngt/xtAcct/AcctStatisEnum.java new file mode 100644 index 00000000..35198138 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/bseMngt/xtAcct/AcctStatisEnum.java @@ -0,0 +1,53 @@ +package cn.iocoder.yudao.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; + } +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/bseMngt/xtAcct/DriverSourceEnum.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/bseMngt/xtAcct/DriverSourceEnum.java new file mode 100644 index 00000000..e6c202ac --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/bseMngt/xtAcct/DriverSourceEnum.java @@ -0,0 +1,51 @@ +package cn.iocoder.yudao.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; + } +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/bseMngt/xtAcct/DriverStatusEnum.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/bseMngt/xtAcct/DriverStatusEnum.java new file mode 100644 index 00000000..d56056b8 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/bseMngt/xtAcct/DriverStatusEnum.java @@ -0,0 +1,50 @@ +package cn.iocoder.yudao.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; + } +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/bseMngt/xtAcct/UserTypeEnum.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/bseMngt/xtAcct/UserTypeEnum.java new file mode 100644 index 00000000..31181429 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/bseMngt/xtAcct/UserTypeEnum.java @@ -0,0 +1,51 @@ +package cn.iocoder.yudao.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; + } +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/common/FileBuinessCodeEnum.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/common/FileBuinessCodeEnum.java new file mode 100644 index 00000000..daca10eb --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/common/FileBuinessCodeEnum.java @@ -0,0 +1,65 @@ +package cn.iocoder.yudao.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; + } +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/common/FileSourceEnum.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/common/FileSourceEnum.java new file mode 100644 index 00000000..44e1b9bc --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/common/FileSourceEnum.java @@ -0,0 +1,52 @@ +package cn.iocoder.yudao.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; + } +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/common/SequenceEnum.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/common/SequenceEnum.java new file mode 100644 index 00000000..d1ba5542 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/common/SequenceEnum.java @@ -0,0 +1,45 @@ +package cn.iocoder.yudao.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; + } +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/utils/PasswordGeneratorUtils.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/utils/PasswordGeneratorUtils.java new file mode 100644 index 00000000..4416ec6f --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/utils/PasswordGeneratorUtils.java @@ -0,0 +1,61 @@ +package cn.iocoder.yudao.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()); + } + } +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/CarrierAccountController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/CarrierAccountController.java index 93841ab5..1ecb5e40 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/CarrierAccountController.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/CarrierAccountController.java @@ -10,9 +10,8 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CarrierAccountPageReqVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CarrierAccountRespVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CarrierAccountSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.*; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.common.vo.IdsVo; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.CarrierAccountDO; import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct.CarrierAccountService; import io.swagger.v3.oas.annotations.Operation; @@ -57,7 +56,7 @@ public class CarrierAccountController extends AbstractFileUploadController imple return success(carrierAccountService.createCarrierAccount(createReqVO)); } - @PutMapping("/update") + @PostMapping("/update") @Operation(summary = "更新物流服务商协同账号") @PreAuthorize("@ss.hasPermission('lgst:carrier-account:update')") public CommonResult updateCarrierAccount(@Valid @RequestBody CarrierAccountSaveReqVO updateReqVO) { @@ -65,7 +64,7 @@ public class CarrierAccountController extends AbstractFileUploadController imple return success(true); } - @DeleteMapping("/delete") + @PostMapping("/delete") @Operation(summary = "删除物流服务商协同账号") @Parameter(name = "id", description = "编号", required = true) @PreAuthorize("@ss.hasPermission('lgst:carrier-account:delete')") @@ -74,7 +73,7 @@ public class CarrierAccountController extends AbstractFileUploadController imple return success(true); } - @DeleteMapping("/delete-list") + @PostMapping("/delete-list") @Parameter(name = "ids", description = "编号", required = true) @Operation(summary = "批量删除物流服务商协同账号") @PreAuthorize("@ss.hasPermission('lgst:carrier-account:delete')") @@ -88,14 +87,14 @@ public class CarrierAccountController extends AbstractFileUploadController imple @Parameter(name = "id", description = "编号", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('lgst:carrier-account:query')") public CommonResult getCarrierAccount(@RequestParam("id") Long id) { - CarrierAccountDO carrierAccount = carrierAccountService.getCarrierAccount(id); - return success(BeanUtils.toBean(carrierAccount, CarrierAccountRespVO.class)); + CarrierAccountRespVO carrierAccount = carrierAccountService.getCarrierAccount(id); + return success(carrierAccount); } - @GetMapping("/page") + @PostMapping("/page") @Operation(summary = "获得物流服务商协同账号分页") @PreAuthorize("@ss.hasPermission('lgst:carrier-account:query')") - public CommonResult> getCarrierAccountPage(@Valid CarrierAccountPageReqVO pageReqVO) { + public CommonResult> getCarrierAccountPage(@Valid @RequestBody CarrierAccountPageReqVO pageReqVO) { PageResult pageResult = carrierAccountService.getCarrierAccountPage(pageReqVO); return success(BeanUtils.toBean(pageResult, CarrierAccountRespVO.class)); } @@ -112,5 +111,63 @@ public class CarrierAccountController extends AbstractFileUploadController imple 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 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 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 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> 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 confirm(@RequestBody CarrierAccountSaveReqVO vo){ + carrierAccountService.confirm(vo); + return success(true); + } } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/ChildAccountController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/ChildAccountController.java new file mode 100644 index 00000000..e419c3d2 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/ChildAccountController.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct; + +import cn.iocoder.yudao.framework.business.annotation.FileUploadController; +import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.ChildAccountPageReqVo; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.ChildAccountRespVo; +import cn.iocoder.yudao.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 cn.iocoder.yudao.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> getCarrierAccountPage(@RequestBody ChildAccountPageReqVo pageReqVO) { + PageResult pageResult =childAccountService.getChildAccountPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ChildAccountRespVo.class)); + } +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/CollaborationChildAccountController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/CollaborationChildAccountController.java new file mode 100644 index 00000000..5bd42fb2 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/CollaborationChildAccountController.java @@ -0,0 +1,89 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct; + +import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.ChildAccountPageReqVo; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.ChildAccountRespVo; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.ChildAccountSaveReqVo; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.common.vo.IdVo; +import cn.iocoder.yudao.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 cn.iocoder.yudao.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> getCollChildAccountPage(@RequestBody ChildAccountPageReqVo reqVo){ + PageResult collChildAccountPage = childAccountService.getCollChildAccountPage(reqVo); + return success(collChildAccountPage); + } + + /** + * 删除子账号 + * @param vo + */ + @PostMapping("/delete") + @Operation(summary = "删除子账号") + @PreAuthorize("@ss.hasPermission('lgst:collaboration:child-account:delete')") + public CommonResult 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 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 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 create(@RequestBody ChildAccountSaveReqVo saveReqVo){ + childAccountService.craete(saveReqVo); + return success(true); + } +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/CollaborationCompanyController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/CollaborationCompanyController.java new file mode 100644 index 00000000..56d162d7 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/CollaborationCompanyController.java @@ -0,0 +1,47 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct; + +import cn.iocoder.yudao.framework.business.annotation.FileUploadController; +import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CollaborationCompanyRespVo; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CollaborationCompanySaveReqVo; +import cn.iocoder.yudao.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 cn.iocoder.yudao.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 getCompanyDetail() { + CollaborationCompanyRespVo collaborationCompany = collaborationCompanyService.getCollaborationCompany(); + return success(collaborationCompany); + } + + /** + * 修改登录手机号 + * + * @param saveReqVo + */ + @PostMapping("/updateTel") + @Operation(summary = "修改手机号") + @PreAuthorize("@ss.hasPermission('lgst:coll:company:updateTel')") + public CommonResult updateTel(@RequestBody CollaborationCompanySaveReqVo saveReqVo) { + collaborationCompanyService.updateTel(saveReqVo); + return success(true); + } +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/CustomerController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/CustomerController.java index ea9e5221..28619a12 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/CustomerController.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/CustomerController.java @@ -10,9 +10,8 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CustomerPageReqVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CustomerRespVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CustomerSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.*; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.common.vo.IdsVo; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.CustomerDO; import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct.CustomerService; import io.swagger.v3.oas.annotations.Operation; @@ -56,7 +55,7 @@ public class CustomerController extends AbstractFileUploadController implements return success(customerService.createCustomer(createReqVO)); } - @PutMapping("/update") + @PostMapping("/update") @Operation(summary = "更新客商协同账号") @PreAuthorize("@ss.hasPermission('lgst:customer:update')") public CommonResult updateCustomer(@Valid @RequestBody CustomerSaveReqVO updateReqVO) { @@ -64,7 +63,7 @@ public class CustomerController extends AbstractFileUploadController implements return success(true); } - @DeleteMapping("/delete") + @PostMapping("/delete") @Operation(summary = "删除客商协同账号") @Parameter(name = "id", description = "编号", required = true) @PreAuthorize("@ss.hasPermission('lgst:customer:delete')") @@ -73,7 +72,7 @@ public class CustomerController extends AbstractFileUploadController implements return success(true); } - @DeleteMapping("/delete-list") + @PostMapping("/delete-list") @Parameter(name = "ids", description = "编号", required = true) @Operation(summary = "批量删除客商协同账号") @PreAuthorize("@ss.hasPermission('lgst:customer:delete')") @@ -87,14 +86,14 @@ public class CustomerController extends AbstractFileUploadController implements @Parameter(name = "id", description = "编号", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('lgst:customer:query')") public CommonResult getCustomer(@RequestParam("id") Long id) { - CustomerDO customer = customerService.getCustomer(id); - return success(BeanUtils.toBean(customer, CustomerRespVO.class)); + CustomerRespVO customer = customerService.getCustomer(id); + return success(customer); } - @GetMapping("/page") + @PostMapping("/page") @Operation(summary = "获得客商协同账号分页") @PreAuthorize("@ss.hasPermission('lgst:customer:query')") - public CommonResult> getCustomerPage(@Valid CustomerPageReqVO pageReqVO) { + public CommonResult> getCustomerPage(@Valid @RequestBody CustomerPageReqVO pageReqVO) { PageResult pageResult = customerService.getCustomerPage(pageReqVO); return success(BeanUtils.toBean(pageResult, CustomerRespVO.class)); } @@ -111,5 +110,63 @@ public class CustomerController extends AbstractFileUploadController implements 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 setEnable(@RequestBody DriverAccountEditEnbVo vo){ + customerService.setEnable(vo); + return success(true); + } + /** + * 注销账号 + * @param vo + */ + @PostMapping("/closeCstmAccount") + @Operation(summary = "注销账号") + @PreAuthorize("@ss.hasPermission('lgst:customer:closeCstmAccount')") + public CommonResult 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 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> 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 confirm(@RequestBody CustomerSaveReqVO vo){ + customerService.confirm(vo); + return success(true); + } } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/DrivingAccountController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/DrivingAccountController.java index 7b9ac77f..bf91f4df 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/DrivingAccountController.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/DrivingAccountController.java @@ -10,9 +10,8 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.DrivingAccountPageReqVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.DrivingAccountRespVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.DrivingAccountSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.*; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.common.vo.IdsVo; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.DrivingAccountDO; import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct.DrivingAccountService; import io.swagger.v3.oas.annotations.Operation; @@ -57,7 +56,7 @@ public class DrivingAccountController extends AbstractFileUploadController imple return success(drivingAccountService.createDrivingAccount(createReqVO)); } - @PutMapping("/update") + @PostMapping("/update") @Operation(summary = "更新司机协同账号") @PreAuthorize("@ss.hasPermission('lgst:driving-account:update')") public CommonResult updateDrivingAccount(@Valid @RequestBody DrivingAccountSaveReqVO updateReqVO) { @@ -65,7 +64,7 @@ public class DrivingAccountController extends AbstractFileUploadController imple return success(true); } - @DeleteMapping("/delete") + @PostMapping("/delete") @Operation(summary = "删除司机协同账号") @Parameter(name = "id", description = "编号", required = true) @PreAuthorize("@ss.hasPermission('lgst:driving-account:delete')") @@ -74,7 +73,7 @@ public class DrivingAccountController extends AbstractFileUploadController imple return success(true); } - @DeleteMapping("/delete-list") + @PostMapping("/delete-list") @Parameter(name = "ids", description = "编号", required = true) @Operation(summary = "批量删除司机协同账号") @PreAuthorize("@ss.hasPermission('lgst:driving-account:delete')") @@ -88,14 +87,14 @@ public class DrivingAccountController extends AbstractFileUploadController imple @Parameter(name = "id", description = "编号", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('lgst:driving-account:query')") public CommonResult getDrivingAccount(@RequestParam("id") Long id) { - DrivingAccountDO drivingAccount = drivingAccountService.getDrivingAccount(id); - return success(BeanUtils.toBean(drivingAccount, DrivingAccountRespVO.class)); + DrivingAccountRespVO drivingAccount = drivingAccountService.getDrivingAccount(id); + return success(drivingAccount); } - @GetMapping("/page") + @PostMapping("/page") @Operation(summary = "获得司机协同账号分页") @PreAuthorize("@ss.hasPermission('lgst:driving-account:query')") - public CommonResult> getDrivingAccountPage(@Valid DrivingAccountPageReqVO pageReqVO) { + public CommonResult> getDrivingAccountPage(@Valid @RequestBody DrivingAccountPageReqVO pageReqVO) { PageResult pageResult = drivingAccountService.getDrivingAccountPage(pageReqVO); return success(BeanUtils.toBean(pageResult, DrivingAccountRespVO.class)); } @@ -112,5 +111,51 @@ public class DrivingAccountController extends AbstractFileUploadController imple 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 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 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 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> getOperationLogList(@RequestParam("id") Long id){ + return success(drivingAccountService.getOperationLogList(id)); + } } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CarrierAccountRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CarrierAccountRespVO.java index b0f98b08..92d98be1 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CarrierAccountRespVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CarrierAccountRespVO.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo; +import cn.iocoder.yudao.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; @@ -7,6 +8,7 @@ import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.List; @Schema(description = "管理后台 - 物流服务商协同账号 Response VO") @Data @@ -25,6 +27,18 @@ public class CarrierAccountRespVO { @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; @@ -85,12 +99,59 @@ public class CarrierAccountRespVO { @ExcelProperty("是否长期") private Integer isPermanently; - @Schema(description = "开户行", example = "15940") - @ExcelProperty("开户行") + @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 otherFile; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CarrierAccountSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CarrierAccountSaveReqVO.java index 715c618f..a9ca37bf 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CarrierAccountSaveReqVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CarrierAccountSaveReqVO.java @@ -1,43 +1,39 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo; +import cn.iocoder.yudao.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, example = "9531") + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED) private Long id; @Schema(description = "备注") private String remark; - @Schema(description = "状态", example = "2") - private String status; - - @Schema(description = "是否启用") - private String isEnable; - - @Schema(description = "登录账号", example = "27315") + @Schema(description = "登录账号") private String loginAccount; @Schema(description = "登录手机号", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "登录手机号不能为空") private String loginTel; - @Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + @Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "公司名称不能为空") private String name; @Schema(description = "社会统一信用代码") private String creditCode; - @Schema(description = "法人姓名", example = "王五") + @Schema(description = "法人姓名") private String agentName; @Schema(description = "法人身份证") @@ -64,10 +60,47 @@ public class CarrierAccountSaveReqVO { @Schema(description = "是否长期") private Integer isPermanently; - @Schema(description = "开户行", example = "15940") + @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 otherFile; + /** + * 主数据编码 + */ + @Schema(description = "主数据编码") + private String mdmCode; + + /** + * 用户类型 + */ + @Schema(description = "用户类型") + + private String userType; + /** + * 开户行名称 + */ + @Schema(description = "开户行名称") + private String bankName; + + /** + * 绑定部门id + */ + @Schema(description = "绑定部门id") + private Long bidDeptId; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/ChildAccountPageReqVo.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/ChildAccountPageReqVo.java new file mode 100644 index 00000000..cae114b7 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/ChildAccountPageReqVo.java @@ -0,0 +1,19 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo; + +import cn.iocoder.yudao.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; +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/ChildAccountRespVo.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/ChildAccountRespVo.java new file mode 100644 index 00000000..648943da --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/ChildAccountRespVo.java @@ -0,0 +1,33 @@ +package cn.iocoder.yudao.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; + +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/ChildAccountSaveReqVo.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/ChildAccountSaveReqVo.java new file mode 100644 index 00000000..1ec21b91 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/ChildAccountSaveReqVo.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.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; +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CollaborationCompanyRespVo.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CollaborationCompanyRespVo.java new file mode 100644 index 00000000..32beb162 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CollaborationCompanyRespVo.java @@ -0,0 +1,24 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo; + +import cn.iocoder.yudao.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 fileList; +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CollaborationCompanySaveReqVo.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CollaborationCompanySaveReqVo.java new file mode 100644 index 00000000..c4295ab8 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CollaborationCompanySaveReqVo.java @@ -0,0 +1,14 @@ +package cn.iocoder.yudao.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; +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CustomerPageReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CustomerPageReqVO.java index 4d5be391..312b5047 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CustomerPageReqVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CustomerPageReqVO.java @@ -1,10 +1,11 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo; -import lombok.*; -import java.util.*; -import io.swagger.v3.oas.annotations.media.Schema; import cn.iocoder.yudao.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 cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @@ -59,4 +60,11 @@ public class CustomerPageReqVO extends PageParam { @Schema(description = "是否启用") private String isEnable; + /** + * 用户类型 + */ + @Schema(description = "用户类型") + @ExcelProperty("用户类型") + private String userType; + } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CustomerRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CustomerRespVO.java index ba938f82..e429e474 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CustomerRespVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CustomerRespVO.java @@ -1,11 +1,13 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo; +import cn.iocoder.yudao.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.*; -import java.util.*; -import org.springframework.format.annotation.DateTimeFormat; +import lombok.Data; + import java.time.LocalDateTime; -import com.alibaba.excel.annotation.*; +import java.util.List; @Schema(description = "管理后台 - 客商协同账号 Response VO") @Data @@ -24,6 +26,18 @@ public class CustomerRespVO { @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; @@ -76,4 +90,28 @@ public class CustomerRespVO { @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 otherFile; + + /** + * 用户类型 + */ + @Schema(description = "用户类型") + @ExcelProperty("用户类型") + private String userType; + } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CustomerSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CustomerSaveReqVO.java index 5b280c6d..19f4edf6 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CustomerSaveReqVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CustomerSaveReqVO.java @@ -1,35 +1,38 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo; +import cn.iocoder.yudao.module.infra.api.businessfile.dto.BusinessFileSaveReqDTO; +import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import jakarta.validation.constraints.*; +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, example = "8593") + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED) private Long id; @Schema(description = "备注") private String remark; - @Schema(description = "登录账号", example = "6036") + @Schema(description = "登录账号") private String loginAccount; @Schema(description = "登录手机号", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "登录手机号不能为空") private String loginTel; - @Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") + @Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "公司名称不能为空") private String name; @Schema(description = "社会统一信用代码") private String creditCode; - @Schema(description = "法人姓名", example = "王五") + @Schema(description = "法人姓名") private String agentName; @Schema(description = "法人身份证") @@ -47,13 +50,29 @@ public class CustomerSaveReqVO { @Schema(description = "MDM编码") private String mDMCode; - @Schema(description = "是否有附件") - private String isFile; + @Schema(description = "营业执照附件") + private BusinessFileSaveReqDTO businessLicenseFile; - @Schema(description = "状态", example = "2") - private String status; + @Schema(description = "法人身份证-正面") + private BusinessFileSaveReqDTO identityFrontFile; - @Schema(description = "是否启用") - private String isEnable; + @Schema(description = "法人身份证-反面") + private BusinessFileSaveReqDTO identityBackFile; + + @Schema(description = "其他附件") + private List otherFile; + + /** + * 绑定部门id + */ + @Schema(description = "绑定部门id") + private Long bidDeptId; + + /** + * 用户类型 + */ + @Schema(description = "用户类型") + @ExcelProperty("用户类型") + private String userType; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/DriverAccountEditEnbVo.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/DriverAccountEditEnbVo.java new file mode 100644 index 00000000..c748ad5f --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/DriverAccountEditEnbVo.java @@ -0,0 +1,15 @@ +package cn.iocoder.yudao.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 ids; + @Schema(description = "是否启用 0=启用 1=禁用") + private String isEnable; +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/DrivingAccountRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/DrivingAccountRespVO.java index 578bfbe3..af9b9cfb 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/DrivingAccountRespVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/DrivingAccountRespVO.java @@ -1,11 +1,13 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo; +import cn.iocoder.yudao.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 @@ -24,6 +26,18 @@ public class DrivingAccountRespVO { @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; @@ -76,9 +90,19 @@ public class DrivingAccountRespVO { @ExcelProperty("准驾车型") private String drivingType; - @Schema(description = "发证机关") - @ExcelProperty("发证机关") - private String registrationAgency; + /** + * 身份证发证机关 + */ + @Schema(description = "IDTY_REG_AGC") + @ExcelProperty("身份证发证机关") + private String idtyRegistrationAgency; + + /** + * 行驶证发证机关 + */ + @Schema(description = "DRVG_REG_AGC") + @ExcelProperty("行驶证发证机关") + private String drvgRegistrationAgency; @Schema(description = "档案编码") @ExcelProperty("档案编码") @@ -92,4 +116,31 @@ public class DrivingAccountRespVO { @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 otherFile; + + /** + * 认证状态 + */ + @Schema(description = "认证状态") + private String validationStatus; + } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/DrivingAccountSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/DrivingAccountSaveReqVO.java index f36f7c88..866d16b2 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/DrivingAccountSaveReqVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/DrivingAccountSaveReqVO.java @@ -1,35 +1,31 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo; +import cn.iocoder.yudao.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, example = "8522") + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED) private Long id; @Schema(description = "备注") private String remark; - @Schema(description = "状态", example = "1") - private String status; - - @Schema(description = "是否启用") - private String isEnable; - - @Schema(description = "登录账号", example = "27536") + @Schema(description = "登录账号") private String loginAccount; @Schema(description = "登录手机号", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "登录手机号不能为空") private String loginTel; - @Schema(description = "姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @Schema(description = "姓名", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "姓名不能为空") private String name; @@ -54,11 +50,21 @@ public class DrivingAccountSaveReqVO { @Schema(description = "驾驶证是否长期") private Integer isPermanentlyDriving; - @Schema(description = "准驾车型", example = "2") + @Schema(description = "准驾车型") private String drivingType; - @Schema(description = "发证机关") - private String registrationAgency; + /** + * 身份证发证机关 + */ + @Schema(description = "IDTY_REG_AGC") + private String idtyRegistrationAgency; + + /** + * 行驶证发证机关 + */ + @Schema(description = "DRVG_REG_AGC") + private String drvgRegistrationAgency; + @Schema(description = "档案编码") private String documentNo; @@ -66,7 +72,28 @@ public class DrivingAccountSaveReqVO { @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 otherFile; + /** + * 绑定部门id + */ + @Schema(description = "绑定部门id") + private Long bidDeptId; + /** + * 来源 + */ @Schema(description = "来源") private String origin; - } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/OperationLogListVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/OperationLogListVO.java new file mode 100644 index 00000000..222002a9 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/OperationLogListVO.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.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 cn.iocoder.yudao.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; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/CarArchiveController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/CarArchiveController.java new file mode 100644 index 00000000..e7aeb4bd --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/CarArchiveController.java @@ -0,0 +1,145 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.business.annotation.FileUploadController; +import cn.iocoder.yudao.framework.business.controller.AbstractFileUploadController; +import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarArchiveImportExcelVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarArchivePageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarArchiveRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarArchiveSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.crAchi.CarArchiveDO; +import cn.iocoder.yudao.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 cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.IMPORT; +import static cn.iocoder.yudao.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 createCarArchive(@Valid @RequestBody CarArchiveSaveReqVO createReqVO) { + return success(carArchiveService.createCarArchive(createReqVO)); + } + + @PostMapping("/update") + @Operation(summary = "更新车辆档案") + @PreAuthorize("@ss.hasPermission('lgst:car-archive:update')") + public CommonResult 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 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 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 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 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> getCarArchivePage(@Valid @RequestBody CarArchivePageReqVO pageReqVO) { + PageResult 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 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 exportCarArchiveExcel(@RequestParam("file") MultipartFile file, + HttpServletResponse response) throws IOException { + List read = ExcelUtils.read(file, CarArchiveImportExcelVO.class); + + for (CarArchiveImportExcelVO reqVO : read) { + CarArchiveSaveReqVO saveVo = BeanUtils.toBean(reqVO, CarArchiveSaveReqVO.class); + this.createCarArchive(saveVo); + } + return success(true); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/CarBlacklistController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/CarBlacklistController.java new file mode 100644 index 00000000..9c4ccfe0 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/CarBlacklistController.java @@ -0,0 +1,115 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarBlacklistPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarBlacklistRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarBlacklistSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.crAchi.CarBlacklistDO; +import cn.iocoder.yudao.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 cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.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 createCarBlacklist(@Valid @RequestBody CarBlacklistSaveReqVO createReqVO) { + return success(carBlacklistService.createCarBlacklist(createReqVO)); + } + + @PostMapping("/update") + @Operation(summary = "更新车辆黑名单") + @PreAuthorize("@ss.hasPermission('lgst:car-blacklist:update')") + public CommonResult updateCarBlacklist(@Valid @RequestBody CarBlacklistSaveReqVO updateReqVO) { + carBlacklistService.updateCarBlacklist(updateReqVO); + return success(true); + } + + @PostMapping("/lifted") + @Operation(summary = "解除车辆黑名单") + @PreAuthorize("@ss.hasPermission('lgst:car-blacklist:lifted')") + public CommonResult 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 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 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 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> getCarBlacklistPage(@Valid @RequestBody CarBlacklistPageReqVO pageReqVO) { + PageResult 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 list = carBlacklistService.getCarBlacklistPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "车辆黑名单.xls", "数据", CarBlacklistRespVO.class, + BeanUtils.toBean(list, CarBlacklistRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/CollaborationCarArchiveController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/CollaborationCarArchiveController.java new file mode 100644 index 00000000..8f5c04c6 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/CollaborationCarArchiveController.java @@ -0,0 +1,132 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.business.annotation.FileUploadController; +import cn.iocoder.yudao.framework.business.controller.AbstractFileUploadController; +import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.*; +import cn.iocoder.yudao.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 cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.IMPORT; +import static cn.iocoder.yudao.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 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 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 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 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 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> getCarArchivePage(@Valid @RequestBody CollaborationCarArchivePageReqVO pageReqVO) { + PageResult 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 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 exportCarArchiveExcel(@RequestParam("file") MultipartFile file, + HttpServletResponse response) throws IOException { + List read = ExcelUtils.read(file, CarArchiveImportExcelVO.class); + + for (CarArchiveImportExcelVO reqVO : read) { + CarArchiveSaveReqVO saveVo = BeanUtils.toBean(reqVO, CarArchiveSaveReqVO.class); + this.createCarArchive(saveVo); + } + return success(true); + } +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/vo/CarArchiveImportExcelVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/vo/CarArchiveImportExcelVO.java new file mode 100644 index 00000000..e94213ec --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/vo/CarArchiveImportExcelVO.java @@ -0,0 +1,95 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo; + +import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; +import cn.iocoder.yudao.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; + +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/vo/CarArchivePageReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/vo/CarArchivePageReqVO.java new file mode 100644 index 00000000..baf91ed2 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/vo/CarArchivePageReqVO.java @@ -0,0 +1,98 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo; + +import cn.iocoder.yudao.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 cn.iocoder.yudao.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; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/vo/CarArchiveRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/vo/CarArchiveRespVO.java new file mode 100644 index 00000000..4d626b6e --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/vo/CarArchiveRespVO.java @@ -0,0 +1,160 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo; + +import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; +import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; +import cn.iocoder.yudao.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 carLicenseFrontFile; + + @Schema(description = "行驶证-副页") + private List carLicenseBackFile; + + @Schema(description = "随车清单附件") + private List carChecklistFile; + + @Schema(description = "车辆照片附件") + private List carPhotosFile; + + @Schema(description = "车辆保险信息附件") + private List 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; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/vo/CarArchiveSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/vo/CarArchiveSaveReqVO.java new file mode 100644 index 00000000..ba05ab33 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/vo/CarArchiveSaveReqVO.java @@ -0,0 +1,108 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo; + +import cn.iocoder.yudao.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 carLicenseFrontFile; + + @Schema(description = "行驶证-副页") + private List carLicenseBackFile; + + @Schema(description = "随车清单附件") + private List carChecklistFile; + + @Schema(description = "车辆照片附件") + private List carPhotosFile; + + @Schema(description = "车辆保险信息附件") + private List carInsuranceFile; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/vo/CarBlacklistPageReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/vo/CarBlacklistPageReqVO.java new file mode 100644 index 00000000..a2cb330e --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/vo/CarBlacklistPageReqVO.java @@ -0,0 +1,32 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo; + +import cn.iocoder.yudao.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 cn.iocoder.yudao.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; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/vo/CarBlacklistRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/vo/CarBlacklistRespVO.java new file mode 100644 index 00000000..cb5f137f --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/vo/CarBlacklistRespVO.java @@ -0,0 +1,51 @@ +package cn.iocoder.yudao.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; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/vo/CarBlacklistSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/vo/CarBlacklistSaveReqVO.java new file mode 100644 index 00000000..d7c12677 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/vo/CarBlacklistSaveReqVO.java @@ -0,0 +1,29 @@ +package cn.iocoder.yudao.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 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; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/vo/CollaborationCarArchivePageReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/vo/CollaborationCarArchivePageReqVO.java new file mode 100644 index 00000000..23afb6ba --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/vo/CollaborationCarArchivePageReqVO.java @@ -0,0 +1,16 @@ +package cn.iocoder.yudao.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; + +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/vo/CollaborationCarArchiveRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/vo/CollaborationCarArchiveRespVO.java new file mode 100644 index 00000000..ed59a00f --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/crAchi/vo/CollaborationCarArchiveRespVO.java @@ -0,0 +1,15 @@ +package cn.iocoder.yudao.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; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/env/EnvironmentalIntoMainController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/env/EnvironmentalIntoMainController.java new file mode 100644 index 00000000..0348d8c9 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/env/EnvironmentalIntoMainController.java @@ -0,0 +1,115 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo.EnvironmentalIntoMainEditEnbVo; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo.EnvironmentalIntoMainPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo.EnvironmentalIntoMainRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo.EnvironmentalIntoMainSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.env.EnvironmentalIntoMainDO; +import cn.iocoder.yudao.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 cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.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 createEnvironmentalIntoMain(@Valid @RequestBody EnvironmentalIntoMainSaveReqVO createReqVO) { + return success(environmentalIntoMainService.createEnvironmentalIntoMain(createReqVO)); + } + + @PostMapping("/update") + @Operation(summary = "更新环保进场管理主") + @PreAuthorize("@ss.hasPermission('lgst:environmental-into-main:update')") + public CommonResult 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 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 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 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> getEnvironmentalIntoMainPage(@Valid @RequestBody EnvironmentalIntoMainPageReqVO pageReqVO) { + PageResult 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 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 setEnable(@RequestBody EnvironmentalIntoMainEditEnbVo vo){ + environmentalIntoMainService.setEnable(vo); + return success(true); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/env/EnvironmentalIntoSubitemController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/env/EnvironmentalIntoSubitemController.java new file mode 100644 index 00000000..68d995e8 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/env/EnvironmentalIntoSubitemController.java @@ -0,0 +1,106 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo.EnvironmentalIntoSubitemPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo.EnvironmentalIntoSubitemRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo.EnvironmentalIntoSubitemSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.env.EnvironmentalIntoSubitemDO; +import cn.iocoder.yudao.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 cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.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> createEnvironmentalIntoSubitem(@Valid @RequestBody List createReqVOs) { + return success(environmentalIntoSubitemService.createEnvironmentalIntoSubitem(createReqVOs)); + } + + @PostMapping("/update") + @Operation(summary = "更新环保进场管理子") + @PreAuthorize("@ss.hasPermission('lgst:environmental-into-subitem:update')") + public CommonResult 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 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 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 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> getEnvironmentalIntoSubitemPage(@Valid @RequestBody EnvironmentalIntoSubitemPageReqVO pageReqVO) { + PageResult 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 list = environmentalIntoSubitemService.getEnvironmentalIntoSubitemPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "环保进场管理子.xls", "数据", EnvironmentalIntoSubitemRespVO.class, + BeanUtils.toBean(list, EnvironmentalIntoSubitemRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/env/vo/EnvironmentalIntoMainEditEnbVo.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/env/vo/EnvironmentalIntoMainEditEnbVo.java new file mode 100644 index 00000000..9fac1884 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/env/vo/EnvironmentalIntoMainEditEnbVo.java @@ -0,0 +1,17 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo; + +import cn.iocoder.yudao.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 ids; + @Schema(description = "是否启用 1=启用 0=禁用") + private String isEnable; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/env/vo/EnvironmentalIntoMainPageReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/env/vo/EnvironmentalIntoMainPageReqVO.java new file mode 100644 index 00000000..a7c2f553 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/env/vo/EnvironmentalIntoMainPageReqVO.java @@ -0,0 +1,31 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo; + +import lombok.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.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; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/env/vo/EnvironmentalIntoMainRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/env/vo/EnvironmentalIntoMainRespVO.java new file mode 100644 index 00000000..1a15dc6d --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/env/vo/EnvironmentalIntoMainRespVO.java @@ -0,0 +1,51 @@ +package cn.iocoder.yudao.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; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/env/vo/EnvironmentalIntoMainSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/env/vo/EnvironmentalIntoMainSaveReqVO.java new file mode 100644 index 00000000..05461ca9 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/env/vo/EnvironmentalIntoMainSaveReqVO.java @@ -0,0 +1,29 @@ +package cn.iocoder.yudao.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 items; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/env/vo/EnvironmentalIntoSubitemPageReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/env/vo/EnvironmentalIntoSubitemPageReqVO.java new file mode 100644 index 00000000..3daafd4e --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/env/vo/EnvironmentalIntoSubitemPageReqVO.java @@ -0,0 +1,50 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.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; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/env/vo/EnvironmentalIntoSubitemRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/env/vo/EnvironmentalIntoSubitemRespVO.java new file mode 100644 index 00000000..5105218f --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/env/vo/EnvironmentalIntoSubitemRespVO.java @@ -0,0 +1,63 @@ +package cn.iocoder.yudao.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; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/env/vo/EnvironmentalIntoSubitemSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/env/vo/EnvironmentalIntoSubitemSaveReqVO.java new file mode 100644 index 00000000..ffda12f7 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/env/vo/EnvironmentalIntoSubitemSaveReqVO.java @@ -0,0 +1,47 @@ +package cn.iocoder.yudao.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; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/MtrlClsController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/ClassesController.java similarity index 54% rename from yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/MtrlClsController.java rename to yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/ClassesController.java index ec7f29fb..5d4bd759 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/MtrlClsController.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/ClassesController.java @@ -1,26 +1,25 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlClsListReqVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlClsRespVO; -import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl.MtrlClsDO; -import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.mtrl.MtrlClsService; -import org.springframework.web.bind.annotation.*; -import jakarta.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; - -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; - -import jakarta.validation.constraints.*; -import jakarta.validation.*; -import jakarta.servlet.http.*; -import java.util.*; - import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.ClassesPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.ClassesRespVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl.ClassesDO; +import cn.iocoder.yudao.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 cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @@ -28,20 +27,20 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @Tag(name = "管理后台 - 物料分类") @RestController -@RequestMapping("/lgst/mtrl-cls") +@RequestMapping("/lgst/mtrl-classes") @Validated -public class MtrlClsController implements BusinessControllerMarker { +public class ClassesController implements BusinessControllerMarker { @Resource - private MtrlClsService mtrlClsService; + private ClassesService classesService; @PostMapping("/list") @Operation(summary = "获得物料分类列表") - @PreAuthorize("@ss.hasPermission('lgst:mtrl-cls:query')") - public CommonResult> getMtrlClsList(@Valid @RequestBody MtrlClsListReqVO listReqVO) { - List list = mtrlClsService.getMtrlClsList(listReqVO); - return success(BeanUtils.toBean(list, MtrlClsRespVO.class)); + @PreAuthorize("@ss.hasPermission('lgst:mtrl-classes:query')") + public CommonResult> getClassesList(@Valid @RequestBody ClassesPageReqVO listReqVO) { + List list = classesService.getClassesList(listReqVO); + return success(BeanUtils.toBean(list, ClassesRespVO.class)); } diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/MaterialExpandController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/MaterialExpandController.java new file mode 100644 index 00000000..fb9438fe --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/MaterialExpandController.java @@ -0,0 +1,64 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl; + +import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MaterialExpandPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MaterialExpandRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MaterialExpandSaveReqVO; +import cn.iocoder.yudao.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 cn.iocoder.yudao.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 updateMaterialExpand(@Valid @RequestBody List updateReqVOs) { + materialExpandService.updateMaterialExpand(updateReqVOs); + return success(true); + } + + + @PostMapping("/page") + @Operation(summary = "获得物资信息分页") + @PreAuthorize("@ss.hasPermission('lgst:material-expand:query')") + public CommonResult> getMaterialExpandPage(@Valid @RequestBody MaterialExpandPageReqVO pageReqVO) { + PageResult pageResult = materialExpandService.getMaterialExpandPage(pageReqVO); + return success(pageResult); + } + + @PostMapping("/list") + @Operation(summary = "获得物资信息") + @PreAuthorize("@ss.hasPermission('lgst:material-expand:query')") + public CommonResult> getMaterialExpandList(@Valid @RequestBody MaterialExpandPageReqVO pageReqVO) { + List materialExpandList = materialExpandService.getMaterialExpandList(pageReqVO); + return success(materialExpandList); + } + + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/MtrlXpdController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/MtrlXpdController.java deleted file mode 100644 index fcb372bd..00000000 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/MtrlXpdController.java +++ /dev/null @@ -1,69 +0,0 @@ -package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl; - -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlXpdPageReqVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlXpdRespVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlXpdSaveReqVO; -import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl.MtrlXpdDO; -import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.mtrl.MtrlClsService; -import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.mtrl.MtrlXpdService; -import jakarta.annotation.security.PermitAll; -import org.springframework.web.bind.annotation.*; -import jakarta.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; - -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; - -import jakarta.validation.constraints.*; -import jakarta.validation.*; -import jakarta.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; - -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; - -import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; -import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; - - -@Tag(name = "管理后台 - 物资信息扩展") -@RestController -@RequestMapping("/lgst/mtrl-xpd") -@Validated -public class MtrlXpdController implements BusinessControllerMarker { - - - @Resource - private MtrlXpdService mtrlXpdService; - - @PostMapping("/update") - @Operation(summary = "更新物资信息扩展") - @PreAuthorize("@ss.hasPermission('lgst:mtrl-xpd:update')") -// @PermitAll - public CommonResult updateMtrlXpd(@Valid @RequestBody List updateReqVOs) { - mtrlXpdService.updateMtrlXpd(updateReqVOs); - return success(true); - } - - - @PostMapping("/page") - @Operation(summary = "获得物资信息分页") - @PreAuthorize("@ss.hasPermission('lgst:mtrl-xpd:query')") - public CommonResult> getMtrlXpdPage(@Valid @RequestBody MtrlXpdPageReqVO pageReqVO) { - PageResult pageResult = mtrlXpdService.getMtrlXpdPage(pageReqVO); - return success(pageResult); - } - - - -} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlClsListReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/ClassesPageReqVO.java similarity index 79% rename from yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlClsListReqVO.java rename to yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/ClassesPageReqVO.java index 5b9f171c..7a75aaa2 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlClsListReqVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/ClassesPageReqVO.java @@ -4,22 +4,22 @@ import lombok.*; import java.util.*; import io.swagger.v3.oas.annotations.media.Schema; import cn.iocoder.yudao.framework.common.pojo.PageParam; -import java.time.LocalDateTime; import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; -@Schema(description = "管理后台 - 物料分类列表 Request VO") +@Schema(description = "管理后台 - 物料分类分页 Request VO") @Data -public class MtrlClsListReqVO { +public class ClassesPageReqVO extends PageParam { - @Schema(description = "父级ID", example = "26586") + @Schema(description = "父级ID", example = "15066") private Long parentId; @Schema(description = "分类编码") private String code; - @Schema(description = "分类名称", example = "赵六") + @Schema(description = "分类名称", example = "芋艿") private String name; @Schema(description = "分类级别-用于类别层级(大/中/小类)") @@ -32,4 +32,4 @@ public class MtrlClsListReqVO { @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; -} \ No newline at end of file +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlClsRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/ClassesRespVO.java similarity index 88% rename from yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlClsRespVO.java rename to yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/ClassesRespVO.java index 062acd8b..3075e605 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlClsRespVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/ClassesRespVO.java @@ -1,5 +1,4 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo; - import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.*; @@ -10,13 +9,13 @@ import com.alibaba.excel.annotation.*; @Schema(description = "管理后台 - 物料分类 Response VO") @Data @ExcelIgnoreUnannotated -public class MtrlClsRespVO { +public class ClassesRespVO { - @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6122") + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26784") @ExcelProperty("主键ID") private Long id; - @Schema(description = "父级ID", example = "26586") + @Schema(description = "父级ID", example = "15066") @ExcelProperty("父级ID") private Long parentId; @@ -24,7 +23,7 @@ public class MtrlClsRespVO { @ExcelProperty("分类编码") private String code; - @Schema(description = "分类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") + @Schema(description = "分类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @ExcelProperty("分类名称") private String name; diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlClsSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/ClassesSaveReqVO.java similarity index 85% rename from yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlClsSaveReqVO.java rename to yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/ClassesSaveReqVO.java index 164de0b0..3603a06a 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlClsSaveReqVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/ClassesSaveReqVO.java @@ -7,19 +7,19 @@ import jakarta.validation.constraints.*; @Schema(description = "管理后台 - 物料分类新增/修改 Request VO") @Data -public class MtrlClsSaveReqVO { +public class ClassesSaveReqVO { - @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6122") + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26784") private Long id; - @Schema(description = "父级ID", example = "26586") + @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 = "赵六") + @Schema(description = "分类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @NotEmpty(message = "分类名称不能为空") private String name; diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlXpdPageReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MaterialExpandPageReqVO.java similarity index 81% rename from yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlXpdPageReqVO.java rename to yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MaterialExpandPageReqVO.java index 08e605cc..019afd1a 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlXpdPageReqVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MaterialExpandPageReqVO.java @@ -1,25 +1,27 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo; -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; -import com.alibaba.excel.annotation.ExcelProperty; -import jakarta.validation.constraints.NotEmpty; -import lombok.*; -import java.util.*; -import io.swagger.v3.oas.annotations.media.Schema; import cn.iocoder.yudao.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 cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @Schema(description = "管理后台 - 物资信息扩展分页 Request VO") @Data -public class MtrlXpdPageReqVO extends PageParam { +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; @@ -52,7 +54,12 @@ public class MtrlXpdPageReqVO extends PageParam { @Schema(description = "取样节点") private String samplingNode; + @Schema(description = "公司id") + private Long companyId; + @Schema(description = "部门id") private Long deptId; + private List classesIds; + } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlXpdRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MaterialExpandRespVO.java similarity index 79% rename from yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlXpdRespVO.java rename to yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MaterialExpandRespVO.java index 6552b248..b83d3f77 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlXpdRespVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MaterialExpandRespVO.java @@ -2,21 +2,13 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogisti import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; - -import java.beans.Transient; -import java.io.Serializable; -import java.util.*; - -import net.sf.jsqlparser.statement.select.WithItem; -import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import com.alibaba.excel.annotation.*; @Schema(description = "管理后台 - 物资信息扩展 Response VO") @Data @ExcelIgnoreUnannotated -public class MtrlXpdRespVO{ - +public class MaterialExpandRespVO { @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13011") @ExcelProperty("ID") @@ -59,20 +51,18 @@ public class MtrlXpdRespVO{ private String bigTypeName; @Schema(description = "中类代码") - @ExcelProperty("中类代码") - private String midTypeCode; + private String middleTypeCode; - @Schema(description = "中类名称", example = "芋艿") - @ExcelProperty("中类名称") - private String midTypeName; + @Schema(description = "中类名称", example = "赵六") + private String middleTypeName; @Schema(description = "小类代码") @ExcelProperty("小类代码") - private String smalTypeCode; + private String smallTypeCode; - @Schema(description = "小类名称", example = "王五") + @Schema(description = "小类名称", example = "李四") @ExcelProperty("小类名称") - private String smalTypeName; + private String smallTypeName; @Schema(description = "质检标志") @ExcelProperty("质检标志") @@ -86,4 +76,6 @@ public class MtrlXpdRespVO{ @ExcelProperty("取样节点") private String samplingNode; + private Long classesId; + } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlXpdSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MaterialExpandSaveReqVO.java similarity index 87% rename from yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlXpdSaveReqVO.java rename to yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MaterialExpandSaveReqVO.java index bf90ed68..6374e72a 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlXpdSaveReqVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MaterialExpandSaveReqVO.java @@ -7,12 +7,12 @@ import jakarta.validation.constraints.*; @Schema(description = "管理后台 - 物资信息扩展新增/修改 Request VO") @Data -public class MtrlXpdSaveReqVO { +public class MaterialExpandSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13011") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "28582") private Long id; - @Schema(description = "物资ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10845") + @Schema(description = "物资ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "28700") @NotNull(message = "物资ID不能为空") private Long materialId; @@ -25,6 +25,4 @@ public class MtrlXpdSaveReqVO { @Schema(description = "取样节点") private String samplingNode; - - } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/myDriver/MyDriverController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/myDriver/MyDriverController.java new file mode 100644 index 00000000..0a21f552 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/myDriver/MyDriverController.java @@ -0,0 +1,141 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myDriver; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.business.annotation.FileUploadController; +import cn.iocoder.yudao.framework.business.controller.AbstractFileUploadController; +import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.DrivingAccountRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myDriver.vo.MyDriverImportExcelVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myDriver.vo.MyDriverPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myDriver.vo.MyDriverRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myDriver.vo.MyDriverSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.DrivingAccountDO; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.acct.DrivingAccountMapper; +import cn.iocoder.yudao.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 cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.IMPORT; +import static cn.iocoder.yudao.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 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 createMyDriver(@Valid @RequestBody MyDriverSaveReqVO createReqVO) { + return success(myDriverService.createMyDriver(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新我的司机") + @PreAuthorize("@ss.hasPermission('lgst:my-driver:update')") + public CommonResult 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 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 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 getMyDriver(@RequestParam("id") Long id) { + return success(myDriverService.getMyDriver(id)); + } + + @PostMapping("/page") + @Operation(summary = "获得我的司机分页") + @PreAuthorize("@ss.hasPermission('lgst:my-driver:query')") + public CommonResult> 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 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 exportCarArchiveExcel(@RequestParam("file") MultipartFile file, + HttpServletResponse response) throws IOException { + List read = ExcelUtils.read(file, MyDriverImportExcelVO.class); + for (MyDriverImportExcelVO reqVO : read) { + MyDriverSaveReqVO saveVo = BeanUtils.toBean(reqVO, MyDriverSaveReqVO.class); + this.createMyDriver(saveVo); + } + return success(true); + } +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/myDriver/vo/MyDriverImportExcelVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/myDriver/vo/MyDriverImportExcelVO.java new file mode 100644 index 00000000..c5d387d5 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/myDriver/vo/MyDriverImportExcelVO.java @@ -0,0 +1,56 @@ +package cn.iocoder.yudao.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; +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/myDriver/vo/MyDriverPageReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/myDriver/vo/MyDriverPageReqVO.java new file mode 100644 index 00000000..4dc51a69 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/myDriver/vo/MyDriverPageReqVO.java @@ -0,0 +1,30 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myDriver.vo; + +import cn.iocoder.yudao.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; +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/myDriver/vo/MyDriverRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/myDriver/vo/MyDriverRespVO.java new file mode 100644 index 00000000..1f450a2a --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/myDriver/vo/MyDriverRespVO.java @@ -0,0 +1,150 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myDriver.vo; + +import cn.iocoder.yudao.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 otherFile; + + /** + * 认证状态 + */ + @Schema(description = "认证状态") + private String validationStatus; +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/myDriver/vo/MyDriverSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/myDriver/vo/MyDriverSaveReqVO.java new file mode 100644 index 00000000..1280affe --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/myDriver/vo/MyDriverSaveReqVO.java @@ -0,0 +1,15 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myDriver.vo; + +import cn.iocoder.yudao.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; +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/myWrh/MyWrhController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/myWrh/MyWrhController.java new file mode 100644 index 00000000..dba09fc8 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/myWrh/MyWrhController.java @@ -0,0 +1,95 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myWrh; + +import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myWrh.vo.MyWrhPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myWrh.vo.MyWrhRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myWrh.vo.MyWrhSaveReqVO; +import cn.iocoder.yudao.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 cn.iocoder.yudao.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 createMyWrh(@Valid @RequestBody MyWrhSaveReqVO createReqVO) { + return success(myWrhService.createMyWrh(createReqVO)); + } + +// @PutMapping("/update") +// @Operation(summary = "更新协同我的仓库") +// @PreAuthorize("@ss.hasPermission('lgst:my-wrh:update')") +// public CommonResult 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 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 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 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> getMyWrhPage(@Valid @RequestBody MyWrhPageReqVO pageReqVO) { + PageResult 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 list = myWrhService.getMyWrhPage(pageReqVO).getList(); +// // 导出 Excel +// ExcelUtils.write(response, "协同我的仓库.xls", "数据", MyWrhRespVO.class, +// BeanUtils.toBean(list, MyWrhRespVO.class)); +// } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/myWrh/vo/MyWrhPageReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/myWrh/vo/MyWrhPageReqVO.java new file mode 100644 index 00000000..66c11d8c --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/myWrh/vo/MyWrhPageReqVO.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myWrh.vo; + +import cn.iocoder.yudao.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; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/myWrh/vo/MyWrhRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/myWrh/vo/MyWrhRespVO.java new file mode 100644 index 00000000..b6244cdd --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/myWrh/vo/MyWrhRespVO.java @@ -0,0 +1,75 @@ +package cn.iocoder.yudao.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; +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/myWrh/vo/MyWrhSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/myWrh/vo/MyWrhSaveReqVO.java new file mode 100644 index 00000000..bbad73ac --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/myWrh/vo/MyWrhSaveReqVO.java @@ -0,0 +1,11 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myWrh.vo; + +import cn.iocoder.yudao.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 { + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/AuncelConfigController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/AuncelConfigController.java index 2ea25024..586bc007 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/AuncelConfigController.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/AuncelConfigController.java @@ -11,6 +11,7 @@ import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.AuncelConfigPageReqVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.AuncelConfigRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.AuncelConfigSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.AuncelConfigUpdateReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.AuncelConfigDO; import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi.AuncelConfigService; import io.swagger.v3.oas.annotations.Operation; @@ -49,7 +50,7 @@ public class AuncelConfigController implements BusinessControllerMarker { @PutMapping("/update") @Operation(summary = "更新计量点配置") @PreAuthorize("@ss.hasPermission('lgst:auncel-config:update')") - public CommonResult updateAuncelConfig(@Valid @RequestBody AuncelConfigSaveReqVO updateReqVO) { + public CommonResult updateAuncelConfig(@Valid @RequestBody AuncelConfigUpdateReqVO updateReqVO) { auncelConfigService.updateAuncelConfig(updateReqVO); return success(true); } @@ -81,19 +82,19 @@ public class AuncelConfigController implements BusinessControllerMarker { return success(BeanUtils.toBean(auncelConfig, AuncelConfigRespVO.class)); } - @GetMapping("/page") + @PostMapping("/page") @Operation(summary = "获得计量点配置分页") @PreAuthorize("@ss.hasPermission('lgst:auncel-config:query')") - public CommonResult> getAuncelConfigPage(@Valid AuncelConfigPageReqVO pageReqVO) { + public CommonResult> getAuncelConfigPage(@Valid @RequestBody AuncelConfigPageReqVO pageReqVO) { PageResult pageResult = auncelConfigService.getAuncelConfigPage(pageReqVO); return success(BeanUtils.toBean(pageResult, AuncelConfigRespVO.class)); } - @GetMapping("/export-excel") + @PostMapping("/export-excel") @Operation(summary = "导出计量点配置 Excel") @PreAuthorize("@ss.hasPermission('lgst:auncel-config:export')") @ApiAccessLog(operateType = EXPORT) - public void exportAuncelConfigExcel(@Valid AuncelConfigPageReqVO pageReqVO, + public void exportAuncelConfigExcel(@Valid @RequestBody AuncelConfigPageReqVO pageReqVO, HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); List list = auncelConfigService.getAuncelConfigPage(pageReqVO).getList(); diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/ConsigneeAddressController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/ConsigneeAddressController.java index d7bf0279..b344f902 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/ConsigneeAddressController.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/ConsigneeAddressController.java @@ -1,7 +1,6 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi; import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; -import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageResult; @@ -11,6 +10,7 @@ import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ConsigneeAddressPageReqVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ConsigneeAddressRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ConsigneeAddressSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ConsigneeAddressUpdateReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.ConsigneeAddressDO; import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi.ConsigneeAddressService; import io.swagger.v3.oas.annotations.Operation; @@ -33,7 +33,7 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @RestController @RequestMapping("/lgst/consignee-address") @Validated -public class ConsigneeAddressController implements BusinessControllerMarker { +public class ConsigneeAddressController { @Resource @@ -49,7 +49,7 @@ public class ConsigneeAddressController implements BusinessControllerMarker { @PutMapping("/update") @Operation(summary = "更新客户收货地址") @PreAuthorize("@ss.hasPermission('lgst:consignee-address:update')") - public CommonResult updateConsigneeAddress(@Valid @RequestBody ConsigneeAddressSaveReqVO updateReqVO) { + public CommonResult updateConsigneeAddress(@Valid @RequestBody ConsigneeAddressUpdateReqVO updateReqVO) { consigneeAddressService.updateConsigneeAddress(updateReqVO); return success(true); } @@ -81,19 +81,19 @@ public class ConsigneeAddressController implements BusinessControllerMarker { return success(BeanUtils.toBean(consigneeAddress, ConsigneeAddressRespVO.class)); } - @GetMapping("/page") + @PostMapping("/page") @Operation(summary = "获得客户收货地址分页") @PreAuthorize("@ss.hasPermission('lgst:consignee-address:query')") - public CommonResult> getConsigneeAddressPage(@Valid ConsigneeAddressPageReqVO pageReqVO) { + public CommonResult> getConsigneeAddressPage(@Valid @RequestBody ConsigneeAddressPageReqVO pageReqVO) { PageResult pageResult = consigneeAddressService.getConsigneeAddressPage(pageReqVO); return success(BeanUtils.toBean(pageResult, ConsigneeAddressRespVO.class)); } - @GetMapping("/export-excel") + @PostMapping("/export-excel") @Operation(summary = "导出客户收货地址 Excel") @PreAuthorize("@ss.hasPermission('lgst:consignee-address:export')") @ApiAccessLog(operateType = EXPORT) - public void exportConsigneeAddressExcel(@Valid ConsigneeAddressPageReqVO pageReqVO, + public void exportConsigneeAddressExcel(@Valid @RequestBody ConsigneeAddressPageReqVO pageReqVO, HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); List list = consigneeAddressService.getConsigneeAddressPage(pageReqVO).getList(); diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/FactoryController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/FactoryController.java index dedb101b..a4b3f51f 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/FactoryController.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/FactoryController.java @@ -11,6 +11,7 @@ import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.FactoryPageReqVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.FactoryRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.FactorySaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.FactoryUpdateReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.FactoryDO; import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi.FactoryService; import io.swagger.v3.oas.annotations.Operation; @@ -49,7 +50,7 @@ public class FactoryController implements BusinessControllerMarker { @PutMapping("/update") @Operation(summary = "更新生产厂区信息") @PreAuthorize("@ss.hasPermission('lgst:factory:update')") - public CommonResult updateFactory(@Valid @RequestBody FactorySaveReqVO updateReqVO) { + public CommonResult updateFactory(@Valid @RequestBody FactoryUpdateReqVO updateReqVO) { factoryService.updateFactory(updateReqVO); return success(true); } @@ -81,19 +82,19 @@ public class FactoryController implements BusinessControllerMarker { return success(BeanUtils.toBean(factory, FactoryRespVO.class)); } - @GetMapping("/page") + @PostMapping("/page") @Operation(summary = "获得生产厂区信息分页") @PreAuthorize("@ss.hasPermission('lgst:factory:query')") - public CommonResult> getFactoryPage(@Valid FactoryPageReqVO pageReqVO) { + public CommonResult> getFactoryPage(@Valid @RequestBody FactoryPageReqVO pageReqVO) { PageResult pageResult = factoryService.getFactoryPage(pageReqVO); return success(BeanUtils.toBean(pageResult, FactoryRespVO.class)); } - @GetMapping("/export-excel") + @PostMapping("/export-excel") @Operation(summary = "导出生产厂区信息 Excel") @PreAuthorize("@ss.hasPermission('lgst:factory:export')") @ApiAccessLog(operateType = EXPORT) - public void exportFactoryExcel(@Valid FactoryPageReqVO pageReqVO, + public void exportFactoryExcel(@Valid @RequestBody FactoryPageReqVO pageReqVO, HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); List list = factoryService.getFactoryPage(pageReqVO).getList(); diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/ForeignAreaController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/ForeignAreaController.java new file mode 100644 index 00000000..82b141f3 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/ForeignAreaController.java @@ -0,0 +1,101 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ForeignAreaRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ForeignAreaSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ForeignAreaVO; +import cn.iocoder.yudao.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 cn.iocoder.yudao.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 createForeignArea(@Valid @RequestBody ForeignAreaSaveReqVO createReqVO) { + return success(foreignAreaService.createForeignArea(createReqVO)); + } +// +// @PutMapping("/update") +// @Operation(summary = "更新国外区域") +// @PreAuthorize("@ss.hasPermission('lgst:foreign-area:update')") +// public CommonResult 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 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 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 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> getForeignAreaPage(@Valid ForeignAreaPageReqVO pageReqVO) { +// PageResult 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 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> getForeignArea(@RequestParam(value = "name", required = false) String name) { + return success(foreignAreaService.getForeignAreaDropdown(name)); + } +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/GateConfigController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/GateConfigController.java index 71bf3bab..72bd79bf 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/GateConfigController.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/GateConfigController.java @@ -11,6 +11,7 @@ import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GateConfigPageReqVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GateConfigRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GateConfigSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GateConfigUpdateReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.GateConfigDO; import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi.GateConfigService; import io.swagger.v3.oas.annotations.Operation; @@ -49,7 +50,7 @@ public class GateConfigController implements BusinessControllerMarker { @PutMapping("/update") @Operation(summary = "更新门岗信息") @PreAuthorize("@ss.hasPermission('lgst:gate-config:update')") - public CommonResult updateGateConfig(@Valid @RequestBody GateConfigSaveReqVO updateReqVO) { + public CommonResult updateGateConfig(@Valid @RequestBody GateConfigUpdateReqVO updateReqVO) { gateConfigService.updateGateConfig(updateReqVO); return success(true); } @@ -81,19 +82,19 @@ public class GateConfigController implements BusinessControllerMarker { return success(BeanUtils.toBean(gateConfig, GateConfigRespVO.class)); } - @GetMapping("/page") + @PostMapping("/page") @Operation(summary = "获得门岗信息分页") @PreAuthorize("@ss.hasPermission('lgst:gate-config:query')") - public CommonResult> getGateConfigPage(@Valid GateConfigPageReqVO pageReqVO) { + public CommonResult> getGateConfigPage(@Valid @RequestBody GateConfigPageReqVO pageReqVO) { PageResult pageResult = gateConfigService.getGateConfigPage(pageReqVO); return success(BeanUtils.toBean(pageResult, GateConfigRespVO.class)); } - @GetMapping("/export-excel") + @PostMapping("/export-excel") @Operation(summary = "导出门岗信息 Excel") @PreAuthorize("@ss.hasPermission('lgst:gate-config:export')") @ApiAccessLog(operateType = EXPORT) - public void exportGateConfigExcel(@Valid GateConfigPageReqVO pageReqVO, + public void exportGateConfigExcel(@Valid @RequestBody GateConfigPageReqVO pageReqVO, HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); List list = gateConfigService.getGateConfigPage(pageReqVO).getList(); diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/GeofenceController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/GeofenceController.java new file mode 100644 index 00000000..28d5a759 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/GeofenceController.java @@ -0,0 +1,114 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.FactoryTreeRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GeofencePageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GeofenceRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GeofenceSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.GeofenceDO; +import cn.iocoder.yudao.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 cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.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> queryFactoryTree() { + List list = geofenceService.queryFactoryTree(); + return success(list); + } + + @PostMapping("/create") + @Operation(summary = "创建电子围栏") + @PreAuthorize("@ss.hasPermission('lgst:geofence:create')") + public CommonResult createGeofence(@Valid @RequestBody GeofenceSaveReqVO createReqVO) { + return success(geofenceService.createGeofence(createReqVO)); + } + +// @PutMapping("/update") +// @Operation(summary = "更新电子围栏") +// @PreAuthorize("@ss.hasPermission('lgst:geofence:update')") +// public CommonResult 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 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 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 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> getGeofencePage(@Valid @RequestBody GeofencePageReqVO pageReqVO) { + PageResult 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 list = geofenceService.getGeofencePage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "电子围栏.xls", "数据", GeofenceRespVO.class, + BeanUtils.toBean(list, GeofenceRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/PlaceArchiveMaterialController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/PlaceArchiveMaterialController.java index 71ac1ead..eed6a4f2 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/PlaceArchiveMaterialController.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/PlaceArchiveMaterialController.java @@ -1,13 +1,15 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi; import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; -import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MaterialExpandRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.MainMaterialRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PlaceArchiveMaterialPageReqVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PlaceArchiveMaterialRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PlaceArchiveMaterialSaveReqVO; @@ -27,33 +29,61 @@ import java.io.IOException; import java.util.List; import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.VISIT_COMPANY_ID_NOT_EXISTS; @Tag(name = "管理后台 - 地点档案物料信息") @RestController @RequestMapping("/lgst/place-archive-material") @Validated -public class PlaceArchiveMaterialController implements BusinessControllerMarker { +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> getMaterialExpandPage(@Valid @RequestBody MainMaterialRespVO pageReqVO) { + PageResult pageResult = placeArchiveMaterialService.getMaterialExpandPage(pageReqVO); + return success(pageResult); + } + + @PostMapping("/getMaterialExpandList") + @Operation(summary = "获得主数据物资信息分页") + @PreAuthorize("@ss.hasPermission('lgst:place-archive-material:queryMaterialExpandPage')") + public CommonResult> getMaterialExpandList(@Valid @RequestBody MainMaterialRespVO pageReqVO) { + List list = placeArchiveMaterialService.getMaterialExpandList(pageReqVO); + return success(list); + } + @PostMapping("/create") @Operation(summary = "创建地点档案物料信息") @PreAuthorize("@ss.hasPermission('lgst:place-archive-material:create')") - public CommonResult createPlaceArchiveMaterial(@Valid @RequestBody PlaceArchiveMaterialSaveReqVO createReqVO) { - return success(placeArchiveMaterialService.createPlaceArchiveMaterial(createReqVO)); - } - - @PutMapping("/update") - @Operation(summary = "更新地点档案物料信息") - @PreAuthorize("@ss.hasPermission('lgst:place-archive-material:update')") - public CommonResult updatePlaceArchiveMaterial(@Valid @RequestBody PlaceArchiveMaterialSaveReqVO updateReqVO) { - placeArchiveMaterialService.updatePlaceArchiveMaterial(updateReqVO); + public CommonResult createPlaceArchiveMaterial(@Valid @RequestBody List createReqVO) { + placeArchiveMaterialService.createPlaceArchiveMaterial(createReqVO); return success(true); } +// @PutMapping("/update") +// @Operation(summary = "更新地点档案物料信息") +// @PreAuthorize("@ss.hasPermission('lgst:place-archive-material:update')") +// public CommonResult updatePlaceArchiveMaterial(@Valid @RequestBody PlaceArchiveMaterialSaveReqVO updateReqVO) { +// placeArchiveMaterialService.updatePlaceArchiveMaterial(updateReqVO); +// return success(true); +// } + @DeleteMapping("/delete") @Operation(summary = "删除地点档案物料信息") @Parameter(name = "id", description = "编号", required = true) @@ -81,19 +111,19 @@ public class PlaceArchiveMaterialController implements BusinessControllerMarker return success(BeanUtils.toBean(placeArchiveMaterial, PlaceArchiveMaterialRespVO.class)); } - @GetMapping("/page") + @PostMapping("/page") @Operation(summary = "获得地点档案物料信息分页") @PreAuthorize("@ss.hasPermission('lgst:place-archive-material:query')") - public CommonResult> getPlaceArchiveMaterialPage(@Valid PlaceArchiveMaterialPageReqVO pageReqVO) { + public CommonResult> getPlaceArchiveMaterialPage(@Valid @RequestBody PlaceArchiveMaterialPageReqVO pageReqVO) { PageResult pageResult = placeArchiveMaterialService.getPlaceArchiveMaterialPage(pageReqVO); return success(BeanUtils.toBean(pageResult, PlaceArchiveMaterialRespVO.class)); } - @GetMapping("/export-excel") + @PostMapping("/export-excel") @Operation(summary = "导出地点档案物料信息 Excel") @PreAuthorize("@ss.hasPermission('lgst:place-archive-material:export')") @ApiAccessLog(operateType = EXPORT) - public void exportPlaceArchiveMaterialExcel(@Valid PlaceArchiveMaterialPageReqVO pageReqVO, + public void exportPlaceArchiveMaterialExcel(@Valid @RequestBody PlaceArchiveMaterialPageReqVO pageReqVO, HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); List list = placeArchiveMaterialService.getPlaceArchiveMaterialPage(pageReqVO).getList(); diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/PortController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/PortController.java index c63d8fc0..2313a648 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/PortController.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/PortController.java @@ -11,6 +11,7 @@ import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PortPageReqVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PortRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PortSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PortUpdateReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.PortDO; import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi.PortService; import io.swagger.v3.oas.annotations.Operation; @@ -49,7 +50,7 @@ public class PortController implements BusinessControllerMarker { @PutMapping("/update") @Operation(summary = "更新港口信息") @PreAuthorize("@ss.hasPermission('lgst:port:update')") - public CommonResult updatePort(@Valid @RequestBody PortSaveReqVO updateReqVO) { + public CommonResult updatePort(@Valid @RequestBody PortUpdateReqVO updateReqVO) { portService.updatePort(updateReqVO); return success(true); } @@ -81,19 +82,19 @@ public class PortController implements BusinessControllerMarker { return success(BeanUtils.toBean(port, PortRespVO.class)); } - @GetMapping("/page") + @PostMapping("/page") @Operation(summary = "获得港口信息分页") @PreAuthorize("@ss.hasPermission('lgst:port:query')") - public CommonResult> getPortPage(@Valid PortPageReqVO pageReqVO) { + public CommonResult> getPortPage(@Valid @RequestBody PortPageReqVO pageReqVO) { PageResult pageResult = portService.getPortPage(pageReqVO); return success(BeanUtils.toBean(pageResult, PortRespVO.class)); } - @GetMapping("/export-excel") + @PostMapping("/export-excel") @Operation(summary = "导出港口信息 Excel") @PreAuthorize("@ss.hasPermission('lgst:port:export')") @ApiAccessLog(operateType = EXPORT) - public void exportPortExcel(@Valid PortPageReqVO pageReqVO, + public void exportPortExcel(@Valid @RequestBody PortPageReqVO pageReqVO, HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); List list = portService.getPortPage(pageReqVO).getList(); diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/RailwayStationController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/RailwayStationController.java index ef02a507..d1383b4c 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/RailwayStationController.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/RailwayStationController.java @@ -1,7 +1,6 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi; import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; -import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageResult; @@ -11,6 +10,7 @@ import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.RailwayStationPageReqVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.RailwayStationRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.RailwayStationSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.RailwayStationUpdateReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.RailwayStationDO; import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi.RailwayStationService; import io.swagger.v3.oas.annotations.Operation; @@ -33,7 +33,7 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @RestController @RequestMapping("/lgst/railway-station") @Validated -public class RailwayStationController implements BusinessControllerMarker { +public class RailwayStationController { @Resource @@ -49,7 +49,7 @@ public class RailwayStationController implements BusinessControllerMarker { @PutMapping("/update") @Operation(summary = "更新铁路站点维护") @PreAuthorize("@ss.hasPermission('lgst:railway-station:update')") - public CommonResult updateRailwayStation(@Valid @RequestBody RailwayStationSaveReqVO updateReqVO) { + public CommonResult updateRailwayStation(@Valid @RequestBody RailwayStationUpdateReqVO updateReqVO) { railwayStationService.updateRailwayStation(updateReqVO); return success(true); } @@ -81,19 +81,19 @@ public class RailwayStationController implements BusinessControllerMarker { return success(BeanUtils.toBean(railwayStation, RailwayStationRespVO.class)); } - @GetMapping("/page") + @PostMapping("/page") @Operation(summary = "获得铁路站点维护分页") @PreAuthorize("@ss.hasPermission('lgst:railway-station:query')") - public CommonResult> getRailwayStationPage(@Valid RailwayStationPageReqVO pageReqVO) { + public CommonResult> getRailwayStationPage(@Valid @RequestBody RailwayStationPageReqVO pageReqVO) { PageResult pageResult = railwayStationService.getRailwayStationPage(pageReqVO); return success(BeanUtils.toBean(pageResult, RailwayStationRespVO.class)); } - @GetMapping("/export-excel") + @PostMapping("/export-excel") @Operation(summary = "导出铁路站点维护 Excel") @PreAuthorize("@ss.hasPermission('lgst:railway-station:export')") @ApiAccessLog(operateType = EXPORT) - public void exportRailwayStationExcel(@Valid RailwayStationPageReqVO pageReqVO, + public void exportRailwayStationExcel(@Valid @RequestBody RailwayStationPageReqVO pageReqVO, HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); List list = railwayStationService.getRailwayStationPage(pageReqVO).getList(); diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/WarehouseController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/WarehouseController.java index cf301467..2c74f1c2 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/WarehouseController.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/WarehouseController.java @@ -1,7 +1,6 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi; import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; -import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageResult; @@ -18,7 +17,6 @@ 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.annotation.security.PermitAll; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; import org.springframework.security.access.prepost.PreAuthorize; @@ -35,7 +33,7 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @RestController @RequestMapping("/lgst/warehouse") @Validated -public class WarehouseController implements BusinessControllerMarker { +public class WarehouseController { @Resource @@ -43,16 +41,14 @@ public class WarehouseController implements BusinessControllerMarker { @PostMapping("/create") @Operation(summary = "创建仓库信息") - @PermitAll -// @PreAuthorize("@ss.hasPermission('lgst:warehouse:create')") + @PreAuthorize("@ss.hasPermission('lgst:warehouse:create')") public CommonResult createWarehouse(@Valid @RequestBody WarehouseSaveReqVO createReqVO) { return success(warehouseService.createWarehouse(createReqVO)); } @PutMapping("/update") @Operation(summary = "更新仓库信息") - @PermitAll -// @PreAuthorize("@ss.hasPermission('lgst:warehouse:update')") + @PreAuthorize("@ss.hasPermission('lgst:warehouse:update')") public CommonResult updateWarehouse(@Valid @RequestBody WarehouseUpdateReqVO updateReqVO) { warehouseService.updateWarehouse(updateReqVO); return success(true); @@ -61,8 +57,7 @@ public class WarehouseController implements BusinessControllerMarker { @DeleteMapping("/delete") @Operation(summary = "删除仓库信息") @Parameter(name = "id", description = "编号", required = true) - @PermitAll -// @PreAuthorize("@ss.hasPermission('lgst:warehouse:delete')") + @PreAuthorize("@ss.hasPermission('lgst:warehouse:delete')") public CommonResult deleteWarehouse(@RequestParam("id") Long id) { warehouseService.deleteWarehouse(id); return success(true); @@ -71,8 +66,7 @@ public class WarehouseController implements BusinessControllerMarker { @DeleteMapping("/delete-list") @Parameter(name = "ids", description = "编号", required = true) @Operation(summary = "批量删除仓库信息") - @PermitAll -// @PreAuthorize("@ss.hasPermission('lgst:warehouse:delete')") + @PreAuthorize("@ss.hasPermission('lgst:warehouse:delete')") public CommonResult deleteWarehouseList(@RequestBody BatchDeleteReqVO req) { warehouseService.deleteWarehouseListByIds(req.getIds()); return success(true); @@ -87,19 +81,19 @@ public class WarehouseController implements BusinessControllerMarker { return success(BeanUtils.toBean(warehouse, WarehouseRespVO.class)); } - @GetMapping("/page") + @PostMapping("/page") @Operation(summary = "获得仓库信息分页") @PreAuthorize("@ss.hasPermission('lgst:warehouse:query')") - public CommonResult> getWarehousePage(@Valid WarehousePageReqVO pageReqVO) { + public CommonResult> getWarehousePage(@Valid @RequestBody WarehousePageReqVO pageReqVO) { PageResult pageResult = warehouseService.getWarehousePage(pageReqVO); return success(BeanUtils.toBean(pageResult, WarehouseRespVO.class)); } - @GetMapping("/export-excel") + @PostMapping("/export-excel") @Operation(summary = "导出仓库信息 Excel") @PreAuthorize("@ss.hasPermission('lgst:warehouse:export')") @ApiAccessLog(operateType = EXPORT) - public void exportWarehouseExcel(@Valid WarehousePageReqVO pageReqVO, + public void exportWarehouseExcel(@Valid @RequestBody WarehousePageReqVO pageReqVO, HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); List list = warehouseService.getWarehousePage(pageReqVO).getList(); diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/AuncelConfigPageReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/AuncelConfigPageReqVO.java index e9d85f96..036b4952 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/AuncelConfigPageReqVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/AuncelConfigPageReqVO.java @@ -7,6 +7,8 @@ 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; diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/AuncelConfigRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/AuncelConfigRespVO.java index b66dfcce..67a64506 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/AuncelConfigRespVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/AuncelConfigRespVO.java @@ -50,11 +50,11 @@ public class AuncelConfigRespVO { @Schema(description = "空重限制") @ExcelProperty("空重限制") - private String limit; + private String limt; @Schema(description = "计量作业系统") @ExcelProperty("计量作业系统") - private String system; + private String syst; @Schema(description = "经度") @ExcelProperty("经度") diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/AuncelConfigSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/AuncelConfigSaveReqVO.java index 57604c7b..0ebbf040 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/AuncelConfigSaveReqVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/AuncelConfigSaveReqVO.java @@ -2,25 +2,21 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogisti 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") +@Schema(description = "管理后台 - 计量点配置新增 Request VO") @Data public class AuncelConfigSaveReqVO { - @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "15341") - private Long id; - - @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 = "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 = "计量点名称不能为空") @@ -36,17 +32,20 @@ public class AuncelConfigSaveReqVO { @Schema(description = "市(区)") private String municipality; - @Schema(description = "计量点类型", example = "2") + @Schema(description = "计量点类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据字典auncel_type") + @NotEmpty(message = "计量点类型不能为空") private String auncelType; - @Schema(description = "地理位置") + @Schema(description = "地理位置", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据字典location") + @NotEmpty(message = "地理位置不能为空") private String location; - @Schema(description = "空重限制") - private String limit; + @Schema(description = "空重限制", example = "数据字典limit") + private String limt; - @Schema(description = "计量作业系统") - private String system; + @Schema(description = "计量作业系统", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据字典auncel_system") + @NotEmpty(message = "计量作业系统不能为空") + private String syst; @Schema(description = "经度") private BigDecimal longitude; @@ -54,4 +53,6 @@ public class AuncelConfigSaveReqVO { @Schema(description = "纬度") private BigDecimal latitude; + @Schema(description = "详细地址", example = "地图选点(经纬度)的详细地址") + private String address; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/AuncelConfigUpdateReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/AuncelConfigUpdateReqVO.java new file mode 100644 index 00000000..da87b7f0 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/AuncelConfigUpdateReqVO.java @@ -0,0 +1,15 @@ +package cn.iocoder.yudao.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; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/ConsigneeAddressRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/ConsigneeAddressRespVO.java index 0331239e..fdb11693 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/ConsigneeAddressRespVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/ConsigneeAddressRespVO.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.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; @@ -36,13 +37,17 @@ public class ConsigneeAddressRespVO { @ExcelProperty("客户名称") private String customerName; + @Schema(description = "客户id") + @ExcelIgnore + private Long customerId; + @Schema(description = "MDM编码") @ExcelProperty("MDM编码") - private String mDMCoding; + private String mdmcoding; @Schema(description = "SAP编码") @ExcelProperty("SAP编码") - private String sAPCoding; + private String sapcoding; @Schema(description = "省(直辖市)") @ExcelProperty("省(直辖市)") @@ -58,7 +63,7 @@ public class ConsigneeAddressRespVO { @Schema(description = "首选") @ExcelProperty("首选") - private String first; + private String isFirst; @Schema(description = "经度") @ExcelProperty("经度") diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/ConsigneeAddressSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/ConsigneeAddressSaveReqVO.java index 3a88ee4f..3111b104 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/ConsigneeAddressSaveReqVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/ConsigneeAddressSaveReqVO.java @@ -7,20 +7,14 @@ import lombok.Data; import java.math.BigDecimal; -@Schema(description = "管理后台 - 客户收货地址新增/修改 Request VO") +@Schema(description = "管理后台 - 客户收货地址新增 Request VO") @Data public class ConsigneeAddressSaveReqVO { - - @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "16510") - private Long id; - - @Schema(description = "公司编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13384") - @NotNull(message = "公司编号不能为空") - private Long companyId; - - @Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") - @NotEmpty(message = "公司名称不能为空") - private String companyName; +// @Schema(description = "公司编号", hidden = true) +// private Long companyId; +// +// @Schema(description = "公司名称", hidden = true) +// private String companyName; @Schema(description = "地点名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") @NotEmpty(message = "地点名称不能为空") @@ -30,26 +24,37 @@ public class ConsigneeAddressSaveReqVO { @NotEmpty(message = "地点编码不能为空") private String placeCoding; - @Schema(description = "客户名称", example = "芋艿") + @Schema(description = "客户名称", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "客户名称不能为空") private String customerName; - @Schema(description = "MDM编码") - private String mDMCoding; + @Schema(description = "客户id", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "客户id不能为空") + private Long customerId; - @Schema(description = "SAP编码") - private String sAPCoding; + @Schema(description = "MDM编码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "MDM编码不能为空") + private String mdmcoding; - @Schema(description = "省(直辖市)") + @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 = "市(区)") + @Schema(description = "市(区)", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "市(区)不能为空") private String municipality; - @Schema(description = "详细地址") + @Schema(description = "详细地址", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "详细地址不能为空") private String location; - @Schema(description = "首选") - private String first; + @Schema(description = "是否首选", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据字典infra_boolean_string") + @NotEmpty(message = "是否首选不能为空") + private String isFirst; @Schema(description = "经度") private BigDecimal longitude; @@ -57,4 +62,6 @@ public class ConsigneeAddressSaveReqVO { @Schema(description = "纬度") private BigDecimal latitude; + @Schema(description = "详细地址", example = "地图选点(经纬度)的详细地址") + private String address; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/ConsigneeAddressUpdateReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/ConsigneeAddressUpdateReqVO.java new file mode 100644 index 00000000..e25047b2 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/ConsigneeAddressUpdateReqVO.java @@ -0,0 +1,14 @@ +package cn.iocoder.yudao.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; +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/FactoryPageReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/FactoryPageReqVO.java index 324a6839..92f200e0 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/FactoryPageReqVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/FactoryPageReqVO.java @@ -8,6 +8,9 @@ import lombok.Data; @Data public class FactoryPageReqVO extends PageParam { + @Schema(description = "公司编号", hidden = true) + private Long companyId; + @Schema(description = "厂区名称", example = "李四") private String factoryName; diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/FactorySaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/FactorySaveReqVO.java index e3fdf550..1a10108f 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/FactorySaveReqVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/FactorySaveReqVO.java @@ -2,25 +2,21 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogisti 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") +@Schema(description = "管理后台 - 生产厂区信息新增 Request VO") @Data public class FactorySaveReqVO { - @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "20496") - private Long id; - - @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 = "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 = "厂区名称不能为空") @@ -30,7 +26,8 @@ public class FactorySaveReqVO { @NotEmpty(message = "厂区编码不能为空") private String factoryCoding; - @Schema(description = "是否境外") + @Schema(description = "是否境外", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据字典infra_boolean_string") + @NotEmpty(message = "是否境外不能为空") private String isForeign; @Schema(description = "国内区域") @@ -45,10 +42,12 @@ public class FactorySaveReqVO { @Schema(description = "市(区)") private String municipality; - @Schema(description = "是否开启队列") + @Schema(description = "是否开启队列", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据字典infra_boolean_string") + @NotEmpty(message = "是否开启队列不能为空") private String isQueue; - @Schema(description = "排队方式") + @Schema(description = "排队方式", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据字典queue_way") + @NotEmpty(message = "排队方式不能为空") private String queueWay; @Schema(description = "经度") @@ -57,4 +56,6 @@ public class FactorySaveReqVO { @Schema(description = "纬度") private BigDecimal latitude; + @Schema(description = "详细地址", example = "地图选点(经纬度)的详细地址") + private String address; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/FactoryTreeRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/FactoryTreeRespVO.java new file mode 100644 index 00000000..e28f47b1 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/FactoryTreeRespVO.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 生产厂区信息 Response VO") +@Data +@ExcelIgnoreUnannotated +public class FactoryTreeRespVO { + + @Schema(description = "id") + private Long id; + + @Schema(description = "编号") + private String code; + + @Schema(description = "公司名称") + private String name; + + @Schema(description = "父公司id") + private Long parentId; + + @Schema(description = "公司顺序") + private int sort; + + @Schema(description = "是否公司,0的时候可以加电子围栏") + private int isCompany; + + @Schema(description = "经度") + private BigDecimal longitude; + + @Schema(description = "纬度") + private BigDecimal latitude; +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/FactoryUpdateReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/FactoryUpdateReqVO.java new file mode 100644 index 00000000..320dc90c --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/FactoryUpdateReqVO.java @@ -0,0 +1,15 @@ +package cn.iocoder.yudao.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 FactoryUpdateReqVO extends FactorySaveReqVO{ + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "3591") + @NotNull(message = "id不能为空") + private Long id; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/ForeignAreaPageReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/ForeignAreaPageReqVO.java new file mode 100644 index 00000000..0c64479c --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/ForeignAreaPageReqVO.java @@ -0,0 +1,14 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 国外区域分页 Request VO") +@Data +public class ForeignAreaPageReqVO extends PageParam { + + @Schema(description = "名称", example = "芋艿") + private String name; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/ForeignAreaRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/ForeignAreaRespVO.java new file mode 100644 index 00000000..2101a1df --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/ForeignAreaRespVO.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 国外区域 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ForeignAreaRespVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "4194") + @ExcelProperty("id") + private Long id; + + @Schema(description = "父级ID", example = "19005") + @ExcelProperty("父级ID") + private Long parentId; + + @Schema(description = "名称", example = "芋艿") + @ExcelProperty("名称") + private String name; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/ForeignAreaSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/ForeignAreaSaveReqVO.java new file mode 100644 index 00000000..006aaf34 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/ForeignAreaSaveReqVO.java @@ -0,0 +1,19 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 国外区域新增/修改 Request VO") +@Data +public class ForeignAreaSaveReqVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "4194") + private Long id; + + @Schema(description = "父级ID", example = "19005") + private Long parentId; + + @Schema(description = "名称", example = "芋艿") + private String name; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/ForeignAreaVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/ForeignAreaVO.java new file mode 100644 index 00000000..750cb592 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/ForeignAreaVO.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 国外区域 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ForeignAreaVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "4194") + @ExcelProperty("id") + private Long id; + + @Schema(description = "name", requiredMode = Schema.RequiredMode.REQUIRED, example = "19005") + @ExcelProperty("name") + private String name; + + @Schema(description = "名称", example = "芋艿") + @ExcelProperty("名称") + private List children; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/GateConfigPageReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/GateConfigPageReqVO.java index 783cc626..6eb1684e 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/GateConfigPageReqVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/GateConfigPageReqVO.java @@ -7,6 +7,8 @@ import lombok.Data; @Schema(description = "管理后台 - 门岗信息分页 Request VO") @Data public class GateConfigPageReqVO extends PageParam { + @Schema(description = "公司编号", hidden = true) + private Long companyId; @Schema(description = "地点名称", example = "李四") private String gateName; diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/GateConfigRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/GateConfigRespVO.java index 32b80b73..0e38390e 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/GateConfigRespVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/GateConfigRespVO.java @@ -54,15 +54,15 @@ public class GateConfigRespVO { @Schema(description = "首选") @ExcelProperty("首选") - private String first; + private String isFirst; @Schema(description = "进出限制") @ExcelProperty("进出限制") - private String limit; + private String limt; @Schema(description = "作业系统") @ExcelProperty("作业系统") - private String system; + private String syst; @Schema(description = "经度") @ExcelProperty("经度") diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/GateConfigSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/GateConfigSaveReqVO.java index 4ff989c2..e713a3c8 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/GateConfigSaveReqVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/GateConfigSaveReqVO.java @@ -3,25 +3,21 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogisti 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") +@Schema(description = "管理后台 - 门岗信息新增 Request VO") @Data public class GateConfigSaveReqVO { - @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "15119") - private Long id; - - @Schema(description = "公司编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "16394") - @NotNull(message = "公司编号不能为空") - private Long companyId; - - @Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") - @NotEmpty(message = "公司名称不能为空") - private String companyName; +// @Schema(description = "公司编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "16394") +// @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 = "地点名称不能为空") @@ -31,7 +27,8 @@ public class GateConfigSaveReqVO { @NotEmpty(message = "地点编码不能为空") private String gateCoding; - @Schema(description = "地点别名") + @Schema(description = "地点别名", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "地点别名不能为空") private String gateAlias; @Schema(description = "地理位置") @@ -43,17 +40,20 @@ public class GateConfigSaveReqVO { @Schema(description = "市(区)") private String municipality; - @Schema(description = "管理区域") + @Schema(description = "管理区域", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据字典management_area") + @NotEmpty(message = "管理区域不能为空") private String managementArea; - @Schema(description = "首选") - private String first; + @Schema(description = "是否首选", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据字典infra_boolean_string") + @NotEmpty(message = "是否首选不能为空") + private String isFirst; - @Schema(description = "进出限制") - private String limit; + @Schema(description = "进出限制", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据字典entry_exit_limit") + @NotEmpty(message = "进出限制不能为空") + private String limt; - @Schema(description = "作业系统") - private String system; + @Schema(description = "作业系统", example = "数据字典gate_system") + private String syst; @Schema(description = "经度") private BigDecimal longitude; @@ -61,4 +61,6 @@ public class GateConfigSaveReqVO { @Schema(description = "纬度") private BigDecimal latitude; + @Schema(description = "详细地址", example = "地图选点(经纬度)的详细地址") + private String address; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/GateConfigUpdateReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/GateConfigUpdateReqVO.java new file mode 100644 index 00000000..2b1c8c15 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/GateConfigUpdateReqVO.java @@ -0,0 +1,16 @@ +package cn.iocoder.yudao.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 GateConfigUpdateReqVO extends GateConfigSaveReqVO{ + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "3591") + @NotNull(message = "id不能为空") + private Long id; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/GeofencePageReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/GeofencePageReqVO.java new file mode 100644 index 00000000..b82b98f0 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/GeofencePageReqVO.java @@ -0,0 +1,24 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo; + +import cn.iocoder.yudao.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 GeofencePageReqVO extends PageParam { + @Schema(description = "公司编号", hidden = true) + private List companyIds; + + @Schema(description = "厂区id", example = "11896") + private Long factoryId; + + @Schema(description = "厂区名称", example = "王五") + private String factoryName; + + @Schema(description = "厂区编码") + private String factoryCoding; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/GeofenceRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/GeofenceRespVO.java new file mode 100644 index 00000000..27fe0ac4 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/GeofenceRespVO.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.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; + +@Schema(description = "管理后台 - 电子围栏 Response VO") +@Data +@ExcelIgnoreUnannotated +public class GeofenceRespVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "6835") + @ExcelProperty("id") + private Long id; + + @Schema(description = "厂区id", requiredMode = Schema.RequiredMode.REQUIRED, example = "11896") + @ExcelProperty("厂区id") + private Long factoryId; + + @Schema(description = "厂区名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") + @ExcelProperty("厂区名称") + private String factoryName; + + @Schema(description = "厂区编码", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("厂区编码") + private String factoryCoding; + + @Schema(description = "电子围栏类型,1圆形,2多边形", example = "1") + @ExcelProperty("电子围栏类型,1圆形,2多边形") + private Integer geofenceType; + + @Schema(description = "电子围栏详情json") + @ExcelProperty("电子围栏详情json") + private String geofenceDetail; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/GeofenceSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/GeofenceSaveReqVO.java new file mode 100644 index 00000000..d649df1a --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/GeofenceSaveReqVO.java @@ -0,0 +1,33 @@ +package cn.iocoder.yudao.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; + +@Schema(description = "管理后台 - 电子围栏新增/修改 Request VO") +@Data +public class GeofenceSaveReqVO { + +// @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "6835") +// private Long id; + + @Schema(description = "厂区id", requiredMode = Schema.RequiredMode.REQUIRED, example = "11896") + @NotNull(message = "厂区id不能为空") + private Long factoryId; + + @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 = "电子围栏类型,1圆形,2多边形", example = "1") + private Integer geofenceType; + + @Schema(description = "电子围栏详情json") + private String geofenceDetail; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/MainMaterialRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/MainMaterialRespVO.java new file mode 100644 index 00000000..92570665 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/MainMaterialRespVO.java @@ -0,0 +1,17 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo; + +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MaterialExpandPageReqVO; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotEmpty; +import lombok.Data; + +@Schema(description = "管理后台 - 主数据物资信息查询分页 Request VO") +@Data +public class MainMaterialRespVO extends MaterialExpandPageReqVO { + @Schema(description = "地点类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "地点类型(数据字典place_type)树的code值") + @NotEmpty(message = "地点类型不能为空") + private String placeType; + + @Schema(description = "公司编号", example = "取主表的companyId") + private Long companyId; +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/PlaceArchiveMaterialPageReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/PlaceArchiveMaterialPageReqVO.java index 691f9734..6b68d905 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/PlaceArchiveMaterialPageReqVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/PlaceArchiveMaterialPageReqVO.java @@ -2,14 +2,23 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogisti import cn.iocoder.yudao.framework.common.pojo.PageParam; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; import lombok.Data; @Schema(description = "管理后台 - 地点档案物料信息分页 Request VO") @Data public class PlaceArchiveMaterialPageReqVO extends PageParam { + @Schema(description = "地点类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "地点类型(数据字典place_type)树的code值") + @NotEmpty(message = "地点类型不能为空") + private String placeType; - @Schema(description = "MDM编码") - private String mDMCoding; + @Schema(description = "业务id", requiredMode = Schema.RequiredMode.REQUIRED, example = "取主表的id") + @NotNull(message = "业务id不能为空") + private Long businessId; + + @Schema(description = "物资编码") + private String materialCode; @Schema(description = "物料名称", example = "李四") private String materialName; diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/PlaceArchiveMaterialRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/PlaceArchiveMaterialRespVO.java index 9b823a3a..3613467f 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/PlaceArchiveMaterialRespVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/PlaceArchiveMaterialRespVO.java @@ -24,11 +24,19 @@ public class PlaceArchiveMaterialRespVO { @Schema(description = "SAP编码") @ExcelProperty("SAP编码") - private String sapCoding; + private String sapcoding; @Schema(description = "MDM编码") @ExcelProperty("MDM编码") - private String mDMCoding; + private String mdmcoding; + + @Schema(description = "物资ID") + @ExcelProperty("物资ID") + private Long materialId; + + @Schema(description = "物资编码") + @ExcelProperty("物资编码") + private String materialCode; @Schema(description = "物料名称", example = "李四") @ExcelProperty("物料名称") diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/PlaceArchiveMaterialSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/PlaceArchiveMaterialSaveReqVO.java index 553b10f5..3d01d774 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/PlaceArchiveMaterialSaveReqVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/PlaceArchiveMaterialSaveReqVO.java @@ -8,23 +8,28 @@ import lombok.Data; @Schema(description = "管理后台 - 地点档案物料信息新增/修改 Request VO") @Data public class PlaceArchiveMaterialSaveReqVO { + @Schema(description = "地点类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "地点类型(数据字典place_type)树的code值") + @NotEmpty(message = "地点类型不能为空") + private String placeType; - @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "11100") - private Long id; + @Schema(description = "业务id", requiredMode = Schema.RequiredMode.REQUIRED, example = "取主表的id") + @NotNull(message = "业务id不能为空") + private Long businessId; - @Schema(description = "公司编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2988") - @NotNull(message = "公司编号不能为空") + @Schema(description = "公司编号", example = "取主表的companyId") private Long companyId; - @Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") - @NotEmpty(message = "公司名称不能为空") - private String companyName; - @Schema(description = "SAP编码") - private String sapCoding; + private String sapcoding; @Schema(description = "MDM编码") - private String mDMCoding; + private String mdmcoding; + + @Schema(description = "物资ID", example = "10845") + private Long materialId; + + @Schema(description = "物资编码") + private String materialCode; @Schema(description = "物料名称", example = "李四") private String materialName; @@ -60,10 +65,10 @@ public class PlaceArchiveMaterialSaveReqVO { private String bigTypeName; @Schema(description = "中类代码") - private String middle‌TypeCode; + private String middleTypeCode; @Schema(description = "中类名称", example = "赵六") - private String middle‌TypeName; + private String middleTypeName; @Schema(description = "小类代码") private String smallTypeCode; @@ -71,7 +76,4 @@ public class PlaceArchiveMaterialSaveReqVO { @Schema(description = "小类名称", example = "李四") private String smallTypeName; - @Schema(description = "地点类型", example = "2") - private String placeType; - } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/PortPageReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/PortPageReqVO.java index 15ccfd75..b5151fbb 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/PortPageReqVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/PortPageReqVO.java @@ -7,6 +7,8 @@ import lombok.Data; @Schema(description = "管理后台 - 港口信息分页 Request VO") @Data public class PortPageReqVO extends PageParam { + @Schema(description = "公司编号", hidden = true) + private Long companyId; @Schema(description = "港口名称", example = "赵六") private String portName; diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/PortRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/PortRespVO.java index f1eafc8f..4c22cf96 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/PortRespVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/PortRespVO.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.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; @@ -76,6 +77,10 @@ public class PortRespVO { @ExcelProperty("关联仓储") private String correlationWarehouse; + @Schema(description = "关联仓储id") + @ExcelIgnore + private Long correlationWarehouseId; + @Schema(description = "经度") @ExcelProperty("经度") private BigDecimal longitude; diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/PortSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/PortSaveReqVO.java index f699ebf1..338ddb81 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/PortSaveReqVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/PortSaveReqVO.java @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogisti 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; @@ -11,16 +10,13 @@ import java.math.BigDecimal; @Data public class PortSaveReqVO { - @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "30663") - private Long id; - - @Schema(description = "公司编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "20255") - @NotNull(message = "公司编号不能为空") - private Long companyId; - - @Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") - @NotEmpty(message = "公司名称不能为空") - private String companyName; +// @Schema(description = "公司编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "20255") +// @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 = "港口名称不能为空") @@ -30,7 +26,8 @@ public class PortSaveReqVO { @NotEmpty(message = "港口编码不能为空") private String portCoding; - @Schema(description = "是否境外") + @Schema(description = "是否境外", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据字典infra_boolean_string") + @NotEmpty(message = "是否境外不能为空") private String isForeign; @Schema(description = "国内区域") @@ -45,7 +42,8 @@ public class PortSaveReqVO { @Schema(description = "市(区)") private String municipality; - @Schema(description = "港口类型", example = "2") + @Schema(description = "港口类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据字典port_type") + @NotEmpty(message = "港口类型不能为空") private String portType; @Schema(description = "港口水深") @@ -63,10 +61,15 @@ public class PortSaveReqVO { @Schema(description = "关联仓储") private String correlationWarehouse; + @Schema(description = "关联仓储id") + private Long correlationWarehouseId; + @Schema(description = "经度") private BigDecimal longitude; @Schema(description = "纬度") private BigDecimal latitude; + @Schema(description = "详细地址", example = "地图选点(经纬度)的详细地址") + private String address; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/PortUpdateReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/PortUpdateReqVO.java new file mode 100644 index 00000000..b3df0743 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/PortUpdateReqVO.java @@ -0,0 +1,13 @@ +package cn.iocoder.yudao.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 PortUpdateReqVO extends PortSaveReqVO{ + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "3591") + @NotNull(message = "id不能为空") + private Long id; +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/RailwayStationSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/RailwayStationSaveReqVO.java index 73d1af1b..f5507a3a 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/RailwayStationSaveReqVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/RailwayStationSaveReqVO.java @@ -2,25 +2,19 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogisti 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") +@Schema(description = "管理后台 - 铁路站点维护新增 Request VO") @Data public class RailwayStationSaveReqVO { - @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "15032") - private Long id; - - @Schema(description = "公司编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "24500") - @NotNull(message = "公司编号不能为空") - private Long companyId; - - @Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") - @NotEmpty(message = "公司名称不能为空") - private String companyName; +// @Schema(description = "公司编号", hidden = true) +// private Long companyId; +// +// @Schema(description = "公司名称", hidden = true) +// private String companyName; @Schema(description = "车站名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") @NotEmpty(message = "车站名称不能为空") @@ -30,7 +24,8 @@ public class RailwayStationSaveReqVO { @NotEmpty(message = "车站代码不能为空") private String railwayStationCoding; - @Schema(description = "路局") + @Schema(description = "路局", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据字典railway_bureau") + @NotEmpty(message = "路局不能为空") private String railwayBureau; @Schema(description = "省(直辖市)") @@ -39,7 +34,7 @@ public class RailwayStationSaveReqVO { @Schema(description = "市(区)") private String municipality; - @Schema(description = "业务范围") + @Schema(description = "业务范围", example = "数据字典business_scope") private String businessScope; @Schema(description = "经度") @@ -48,4 +43,6 @@ public class RailwayStationSaveReqVO { @Schema(description = "纬度") private BigDecimal latitude; + @Schema(description = "详细地址", example = "地图选点(经纬度)的详细地址") + private String address; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/RailwayStationUpdateReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/RailwayStationUpdateReqVO.java new file mode 100644 index 00000000..04762fb0 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/RailwayStationUpdateReqVO.java @@ -0,0 +1,15 @@ +package cn.iocoder.yudao.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 RailwayStationUpdateReqVO extends RailwayStationSaveReqVO{ + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "3591") + @NotNull(message = "id不能为空") + private Long id; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/WarehouseRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/WarehouseRespVO.java index ed85dc50..6a1e3f32 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/WarehouseRespVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/WarehouseRespVO.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.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; @@ -40,6 +41,10 @@ public class WarehouseRespVO { @ExcelProperty("关联工厂") private String correlationFactory; + @Schema(description = "关联工厂id") + @ExcelProperty("关联工厂id") + private Long correlationFactoryId; + @Schema(description = "仓库性质") @ExcelProperty("仓库性质") private String warehouseNature; @@ -72,4 +77,7 @@ public class WarehouseRespVO { @ExcelProperty("纬度") private BigDecimal latitude; + @Schema(description = "地图选点(经纬度)的详细地址") + @ExcelIgnore + private String address; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/WarehouseSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/WarehouseSaveReqVO.java index d4b369a1..371231cc 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/WarehouseSaveReqVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/WarehouseSaveReqVO.java @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogisti 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; @@ -10,16 +9,6 @@ import java.math.BigDecimal; @Schema(description = "管理后台 - 仓库信息新增 Request VO") @Data public class WarehouseSaveReqVO { - @Schema(description = "租户标识", hidden = true) - private Long tenantId; - - @Schema(description = "公司编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "6693") - @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 = "仓库名称不能为空") @@ -34,6 +23,9 @@ public class WarehouseSaveReqVO { private String warehouseType; @Schema(description = "关联工厂id") + private Long correlationFactoryId; + + @Schema(description = "关联工厂名称") private String correlationFactory; @Schema(description = "仓库性质", example = "数据字典warehouse_nature") @@ -52,7 +44,7 @@ public class WarehouseSaveReqVO { @Schema(description = "市(区)") private String municipality; - @Schema(description = "国内区域") + @Schema(description = "国内区域", example = "数据字典internal_area") private String internalArea; @Schema(description = "经度") @@ -61,4 +53,6 @@ public class WarehouseSaveReqVO { @Schema(description = "纬度") private BigDecimal latitude; + @Schema(description = "详细地址", example = "地图选点(经纬度)的详细地址") + private String address; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/WarehouseUpdateReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/WarehouseUpdateReqVO.java index 2cc04aec..22461b22 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/WarehouseUpdateReqVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/plceAchi/vo/WarehouseUpdateReqVO.java @@ -8,8 +8,8 @@ import lombok.Data; @Data public class WarehouseUpdateReqVO extends WarehouseSaveReqVO{ - @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "3591") - @NotNull(message = "id不能为空") + @Schema(description = "管理后台-仓库id", requiredMode = Schema.RequiredMode.REQUIRED, example = "3591") + @NotNull(message = "管理后台-仓库id不能为空") private Long id; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/RailwayMaterialMainController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/RailwayMaterialMainController.java new file mode 100644 index 00000000..9ffaeb29 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/RailwayMaterialMainController.java @@ -0,0 +1,115 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RailwayMaterialMainEditEnbVo; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RailwayMaterialMainPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RailwayMaterialMainRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RailwayMaterialMainSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RailwayMaterialMainDO; +import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.rlwyMtrl.RailwayMaterialMainService; +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 cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + + +@Tag(name = "管理后台 - 铁路物资对照主") +@RestController +@RequestMapping("/lgst/railway-material-main") +@Validated +public class RailwayMaterialMainController implements BusinessControllerMarker { + + + @Resource + private RailwayMaterialMainService railwayMaterialMainService; + + @PostMapping("/create") + @Operation(summary = "创建铁路物资对照主") + @PreAuthorize("@ss.hasPermission('lgst:railway-material-main:create')") + public CommonResult createRailwayMaterialMain(@Valid @RequestBody RailwayMaterialMainSaveReqVO createReqVO) { + return success(railwayMaterialMainService.createRailwayMaterialMain(createReqVO)); + } + + @PostMapping("/update") + @Operation(summary = "更新铁路物资对照主") + @PreAuthorize("@ss.hasPermission('lgst:railway-material-main:update')") + public CommonResult updateRailwayMaterialMain(@Valid @RequestBody RailwayMaterialMainSaveReqVO updateReqVO) { + railwayMaterialMainService.updateRailwayMaterialMain(updateReqVO); + return success(true); + } + + @PostMapping("/delete") + @Operation(summary = "删除铁路物资对照主") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('lgst:railway-material-main:delete')") + public CommonResult deleteRailwayMaterialMain(@RequestParam("id") Long id) { + railwayMaterialMainService.deleteRailwayMaterialMain(id); + return success(true); + } + + @PostMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除铁路物资对照主") + @PreAuthorize("@ss.hasPermission('lgst:railway-material-main:delete')") + public CommonResult deleteRailwayMaterialMainList(@RequestBody BatchDeleteReqVO req) { + railwayMaterialMainService.deleteRailwayMaterialMainListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得铁路物资对照主") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('lgst:railway-material-main:query')") + public CommonResult getRailwayMaterialMain(@RequestParam("id") Long id) { + RailwayMaterialMainDO railwayMaterialMain = railwayMaterialMainService.getRailwayMaterialMain(id); + return success(BeanUtils.toBean(railwayMaterialMain, RailwayMaterialMainRespVO.class)); + } + + @PostMapping("/page") + @Operation(summary = "获得铁路物资对照主分页") + @PreAuthorize("@ss.hasPermission('lgst:railway-material-main:query')") + public CommonResult> getRailwayMaterialMainPage(@Valid @RequestBody RailwayMaterialMainPageReqVO pageReqVO) { + PageResult pageResult = railwayMaterialMainService.getRailwayMaterialMainPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, RailwayMaterialMainRespVO.class)); + } + + @PostMapping("/setEnable") + @Operation(summary = "启用/禁用") + @PreAuthorize("@ss.hasPermission('lgst:railway-material-main:setEnable')") + public CommonResult setEnable(@RequestBody RailwayMaterialMainEditEnbVo vo){ + railwayMaterialMainService.setEnable(vo); + return success(true); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出铁路物资对照主 Excel") + @PreAuthorize("@ss.hasPermission('lgst:railway-material-main:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportRailwayMaterialMainExcel(@Valid RailwayMaterialMainPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = railwayMaterialMainService.getRailwayMaterialMainPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "铁路物资对照主.xls", "数据", RailwayMaterialMainRespVO.class, + BeanUtils.toBean(list, RailwayMaterialMainRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/RailwayMaterialSubitemController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/RailwayMaterialSubitemController.java new file mode 100644 index 00000000..4d4a4b10 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/RailwayMaterialSubitemController.java @@ -0,0 +1,106 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RailwayMaterialSubitemPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RailwayMaterialSubitemRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RailwayMaterialSubitemSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RailwayMaterialSubitemDO; +import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.rlwyMtrl.RailwayMaterialSubitemService; +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 cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + + +@Tag(name = "管理后台 - 铁路物资对照子") +@RestController +@RequestMapping("/lgst/railway-material-subitem") +@Validated +public class RailwayMaterialSubitemController implements BusinessControllerMarker { + + + @Resource + private RailwayMaterialSubitemService railwayMaterialSubitemService; + + @PostMapping("/create") + @Operation(summary = "创建铁路物资对照子") + @PreAuthorize("@ss.hasPermission('lgst:railway-material-subitem:create')") + public CommonResult> createRailwayMaterialSubitem(@Valid @RequestBody List createReqVOs) { + return success(railwayMaterialSubitemService.createRailwayMaterialSubitem(createReqVOs)); + } + + @PostMapping("/update") + @Operation(summary = "更新铁路物资对照子") + @PreAuthorize("@ss.hasPermission('lgst:railway-material-subitem:update')") + public CommonResult updateRailwayMaterialSubitem(@Valid @RequestBody RailwayMaterialSubitemSaveReqVO updateReqVO) { + railwayMaterialSubitemService.updateRailwayMaterialSubitem(updateReqVO); + return success(true); + } + + @PostMapping("/delete") + @Operation(summary = "删除铁路物资对照子") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('lgst:railway-material-subitem:delete')") + public CommonResult deleteRailwayMaterialSubitem(@RequestParam("id") Long id) { + railwayMaterialSubitemService.deleteRailwayMaterialSubitem(id); + return success(true); + } + + @PostMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除铁路物资对照子") + @PreAuthorize("@ss.hasPermission('lgst:railway-material-subitem:delete')") + public CommonResult deleteRailwayMaterialSubitemList(@RequestBody BatchDeleteReqVO req) { + railwayMaterialSubitemService.deleteRailwayMaterialSubitemListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得铁路物资对照子") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('lgst:railway-material-subitem:query')") + public CommonResult getRailwayMaterialSubitem(@RequestParam("id") Long id) { + RailwayMaterialSubitemDO railwayMaterialSubitem = railwayMaterialSubitemService.getRailwayMaterialSubitem(id); + return success(BeanUtils.toBean(railwayMaterialSubitem, RailwayMaterialSubitemRespVO.class)); + } + + @PostMapping("/page") + @Operation(summary = "获得铁路物资对照子分页") + @PreAuthorize("@ss.hasPermission('lgst:railway-material-subitem:query')") + public CommonResult> getRailwayMaterialSubitemPage(@Valid @RequestBody RailwayMaterialSubitemPageReqVO pageReqVO) { + PageResult pageResult = railwayMaterialSubitemService.getRailwayMaterialSubitemPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, RailwayMaterialSubitemRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出铁路物资对照子 Excel") + @PreAuthorize("@ss.hasPermission('lgst:railway-material-subitem:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportRailwayMaterialSubitemExcel(@Valid RailwayMaterialSubitemPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = railwayMaterialSubitemService.getRailwayMaterialSubitemPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "铁路物资对照子.xls", "数据", RailwayMaterialSubitemRespVO.class, + BeanUtils.toBean(list, RailwayMaterialSubitemRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/RlwyMtrlMainController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/RlwyMtrlMainController.java deleted file mode 100644 index 13df5c4c..00000000 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/RlwyMtrlMainController.java +++ /dev/null @@ -1,111 +0,0 @@ -package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl; - - -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlMainPageReqVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlMainRespVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlMainSaveReqVO; -import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RlwyMtrlMainDO; -import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.rlwyMtrl.RlwyMtrlMainService; -import org.springframework.web.bind.annotation.*; -import jakarta.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; - -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; - -import jakarta.validation.constraints.*; -import jakarta.validation.*; -import jakarta.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; - -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; - -import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; -import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; - - -@Tag(name = "管理后台 - 铁路物资对照主") -@RestController -@RequestMapping("/lgst/rlwy-mtrl-main") -@Validated -public class RlwyMtrlMainController implements BusinessControllerMarker { - - - @Resource - private RlwyMtrlMainService rlwyMtrlMainService; - - @PostMapping("/create") - @Operation(summary = "创建铁路物资对照主") - @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-main:create')") - public CommonResult createRlwyMtrlMain(@Valid @RequestBody RlwyMtrlMainSaveReqVO createReqVO) { - return success(rlwyMtrlMainService.createRlwyMtrlMain(createReqVO)); - } - - @PostMapping("/update") - @Operation(summary = "更新铁路物资对照主") - @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-main:update')") - public CommonResult updateRlwyMtrlMain(@Valid @RequestBody RlwyMtrlMainSaveReqVO updateReqVO) { - rlwyMtrlMainService.updateRlwyMtrlMain(updateReqVO); - return success(true); - } - - @PostMapping("/delete") - @Operation(summary = "删除铁路物资对照主") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-main:delete')") - public CommonResult deleteRlwyMtrlMain(@RequestParam("id") Long id) { - rlwyMtrlMainService.deleteRlwyMtrlMain(id); - return success(true); - } - - @PostMapping("/delete-list") - @Parameter(name = "ids", description = "编号", required = true) - @Operation(summary = "批量删除铁路物资对照主") - @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-main:delete')") - public CommonResult deleteRlwyMtrlMainList(@RequestBody BatchDeleteReqVO req) { - rlwyMtrlMainService.deleteRlwyMtrlMainListByIds(req.getIds()); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得铁路物资对照主") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-main:query')") - public CommonResult getRlwyMtrlMain(@RequestParam("id") Long id) { - RlwyMtrlMainDO rlwyMtrlMain = rlwyMtrlMainService.getRlwyMtrlMain(id); - return success(BeanUtils.toBean(rlwyMtrlMain, RlwyMtrlMainRespVO.class)); - } - - @PostMapping("/page") - @Operation(summary = "获得铁路物资对照主分页") - @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-main:query')") - public CommonResult> getRlwyMtrlMainPage(@Valid @RequestBody RlwyMtrlMainPageReqVO pageReqVO) { - PageResult pageResult = rlwyMtrlMainService.getRlwyMtrlMainPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, RlwyMtrlMainRespVO.class)); - } - - @PostMapping("/export-excel") - @Operation(summary = "导出铁路物资对照主 Excel") - @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-main:export')") - @ApiAccessLog(operateType = EXPORT) - public void exportRlwyMtrlMainExcel(@Valid @RequestBody RlwyMtrlMainPageReqVO pageReqVO, - HttpServletResponse response) throws IOException { - pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = rlwyMtrlMainService.getRlwyMtrlMainPage(pageReqVO).getList(); - // 导出 Excel - ExcelUtils.write(response, "铁路物资对照主.xls", "数据", RlwyMtrlMainRespVO.class, - BeanUtils.toBean(list, RlwyMtrlMainRespVO.class)); - } - -} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/RlwyMtrlSubController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/RlwyMtrlSubController.java deleted file mode 100644 index 3d5915d4..00000000 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/RlwyMtrlSubController.java +++ /dev/null @@ -1,110 +0,0 @@ -package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl; - -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlSubPageReqVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlSubRespVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlSubSaveReqVO; -import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RlwyMtrlSubDO; -import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.rlwyMtrl.RlwyMtrlSubService; -import org.springframework.web.bind.annotation.*; -import jakarta.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; - -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; - -import jakarta.validation.constraints.*; -import jakarta.validation.*; -import jakarta.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; - -import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; - -import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; -import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; - - -@Tag(name = "管理后台 - 铁路物资对照子") -@RestController -@RequestMapping("/lgst/rlwy-mtrl-sub") -@Validated -public class RlwyMtrlSubController implements BusinessControllerMarker { - - - @Resource - private RlwyMtrlSubService rlwyMtrlSubService; - - @PostMapping("/create") - @Operation(summary = "创建铁路物资对照子") - @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-sub:create')") - public CommonResult> createRlwyMtrlSub(@Valid @RequestBody List createReqVOs) { - return success(rlwyMtrlSubService.createRlwyMtrlSub(createReqVOs)); - } - - @PostMapping("/update") - @Operation(summary = "更新铁路物资对照子") - @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-sub:update')") - public CommonResult updateRlwyMtrlSub(@Valid @RequestBody RlwyMtrlSubSaveReqVO updateReqVO) { - rlwyMtrlSubService.updateRlwyMtrlSub(updateReqVO); - return success(true); - } - - @PostMapping("/delete") - @Operation(summary = "删除铁路物资对照子") - @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-sub:delete')") - public CommonResult deleteRlwyMtrlSub(@RequestParam("id") Long id) { - rlwyMtrlSubService.deleteRlwyMtrlSub(id); - return success(true); - } - - @PostMapping("/delete-list") - @Parameter(name = "ids", description = "编号", required = true) - @Operation(summary = "批量删除铁路物资对照子") - @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-sub:delete')") - public CommonResult deleteRlwyMtrlSubList(@RequestBody BatchDeleteReqVO req) { - rlwyMtrlSubService.deleteRlwyMtrlSubListByIds(req.getIds()); - return success(true); - } - - @GetMapping("/get") - @Operation(summary = "获得铁路物资对照子") - @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-sub:query')") - public CommonResult getRlwyMtrlSub(@RequestParam("id") Long id) { - RlwyMtrlSubDO rlwyMtrlSub = rlwyMtrlSubService.getRlwyMtrlSub(id); - return success(BeanUtils.toBean(rlwyMtrlSub, RlwyMtrlSubRespVO.class)); - } - - @PostMapping("/page") - @Operation(summary = "获得铁路物资对照子分页") - @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-sub:query')") - public CommonResult> getRlwyMtrlSubPage(@Valid @RequestBody RlwyMtrlSubPageReqVO pageReqVO) { - PageResult pageResult = rlwyMtrlSubService.getRlwyMtrlSubPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, RlwyMtrlSubRespVO.class)); - } - - @PostMapping("/export-excel") - @Operation(summary = "导出铁路物资对照子 Excel") - @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-sub:export')") - @ApiAccessLog(operateType = EXPORT) - public void exportRlwyMtrlSubExcel(@Valid @RequestBody RlwyMtrlSubPageReqVO pageReqVO, - HttpServletResponse response) throws IOException { - pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = rlwyMtrlSubService.getRlwyMtrlSubPage(pageReqVO).getList(); - // 导出 Excel - ExcelUtils.write(response, "铁路物资对照子.xls", "数据", RlwyMtrlSubRespVO.class, - BeanUtils.toBean(list, RlwyMtrlSubRespVO.class)); - } - -} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RailwayMaterialMainEditEnbVo.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RailwayMaterialMainEditEnbVo.java new file mode 100644 index 00000000..dd7957f4 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RailwayMaterialMainEditEnbVo.java @@ -0,0 +1,15 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +@Schema(description = "管理后台 - 铁路物资对照禁用/启用 Request VO") +@Data +public class RailwayMaterialMainEditEnbVo { + @Schema(description = "id") + private List ids; + @Schema(description = "是否启用 1=启用 0=禁用") + private String isEnable; +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlMainPageReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RailwayMaterialMainPageReqVO.java similarity index 56% rename from yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlMainPageReqVO.java rename to yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RailwayMaterialMainPageReqVO.java index 4d4d7d5c..11748df4 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlMainPageReqVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RailwayMaterialMainPageReqVO.java @@ -12,49 +12,49 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_ @Schema(description = "管理后台 - 铁路物资对照主分页 Request VO") @Data -public class RlwyMtrlMainPageReqVO extends PageParam { +public class RailwayMaterialMainPageReqVO extends PageParam { @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; - @Schema(description = "状态") - private String sts; + @Schema(description = "状态", example = "1") + private String status; - @Schema(description = "铁路运输品名", example = "张三") - private String rlwyTrpName; + @Schema(description = "铁路运输品名", example = "芋艿") + private String railwayTransportName; @Schema(description = "品名代码") - private String nameCd; + private String nameCode; @Schema(description = "拼音码") - private String pyCd; + private String pinyinCode; @Schema(description = "报价费率") - private BigDecimal chrgRte; + private BigDecimal chargesRate; @Schema(description = "整车价号") - private String exPrcCd; + private String exclusivePriceCode; @Schema(description = "零担价号") - private String prtlPrcCd; + private String partialPriceCode; @Schema(description = "大类代码") - private String bigTpCd; + private String bigTypeCode; - @Schema(description = "大类名称", example = "李四") - private String bigTpName; + @Schema(description = "大类名称", example = "赵六") + private String bigTypeName; @Schema(description = "中类代码") - private String midTpCd; + private String middleTypeCode; - @Schema(description = "中类名称", example = "芋艿") - private String midTpName; + @Schema(description = "中类名称", example = "赵六") + private String middleTypeName; @Schema(description = "小类代码") - private String smalTpCd; + private String smallTypeCode; - @Schema(description = "小类名称", example = "王五") - private String smalTpName; + @Schema(description = "小类名称", example = "芋艿") + private String smallTypeName; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlMainRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RailwayMaterialMainRespVO.java similarity index 63% rename from yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlMainRespVO.java rename to yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RailwayMaterialMainRespVO.java index 0536c081..2412a395 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlMainRespVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RailwayMaterialMainRespVO.java @@ -1,20 +1,17 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo; - import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; -import java.util.*; import java.math.BigDecimal; -import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import com.alibaba.excel.annotation.*; @Schema(description = "管理后台 - 铁路物资对照主 Response VO") @Data @ExcelIgnoreUnannotated -public class RlwyMtrlMainRespVO { +public class RailwayMaterialMainRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3659") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17437") @ExcelProperty("ID") private Long id; @@ -22,56 +19,56 @@ public class RlwyMtrlMainRespVO { @ExcelProperty("创建时间") private LocalDateTime createTime; - @Schema(description = "状态") + @Schema(description = "状态", example = "1") @ExcelProperty("状态") - private String sts; + private String status; - @Schema(description = "铁路运输品名", example = "张三") + @Schema(description = "铁路运输品名", example = "芋艿") @ExcelProperty("铁路运输品名") - private String rlwyTrpName; + private String railwayTransportName; @Schema(description = "品名代码") @ExcelProperty("品名代码") - private String nameCd; + private String nameCode; @Schema(description = "拼音码") @ExcelProperty("拼音码") - private String pyCd; + private String pinyinCode; @Schema(description = "报价费率") @ExcelProperty("报价费率") - private BigDecimal chrgRte; + private BigDecimal chargesRate; @Schema(description = "整车价号") @ExcelProperty("整车价号") - private String exPrcCd; + private String exclusivePriceCode; @Schema(description = "零担价号") @ExcelProperty("零担价号") - private String prtlPrcCd; + private String partialPriceCode; @Schema(description = "大类代码") @ExcelProperty("大类代码") - private String bigTpCd; + private String bigTypeCode; - @Schema(description = "大类名称", example = "李四") + @Schema(description = "大类名称", example = "赵六") @ExcelProperty("大类名称") - private String bigTpName; + private String bigTypeName; @Schema(description = "中类代码") @ExcelProperty("中类代码") - private String midTpCd; + private String middleTypeCode; - @Schema(description = "中类名称", example = "芋艿") + @Schema(description = "中类名称", example = "赵六") @ExcelProperty("中类名称") - private String midTpName; + private String middleTypeName; @Schema(description = "小类代码") @ExcelProperty("小类代码") - private String smalTpCd; + private String smallTypeCode; - @Schema(description = "小类名称", example = "王五") + @Schema(description = "小类名称", example = "芋艿") @ExcelProperty("小类名称") - private String smalTpName; + private String smallTypeName; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RailwayMaterialMainSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RailwayMaterialMainSaveReqVO.java new file mode 100644 index 00000000..0fe87775 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RailwayMaterialMainSaveReqVO.java @@ -0,0 +1,55 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.math.BigDecimal; +import java.util.List; + +@Schema(description = "管理后台 - 铁路物资对照主新增/修改 Request VO") +@Data +public class RailwayMaterialMainSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17437") + private Long id; + + @Schema(description = "状态", example = "1") + private String status; + + @Schema(description = "铁路运输品名", example = "芋艿") + private String railwayTransportName; + + @Schema(description = "品名代码") + private String nameCode; + + @Schema(description = "拼音码") + private String pinyinCode; + + @Schema(description = "报价费率") + private BigDecimal chargesRate; + + @Schema(description = "整车价号") + private String exclusivePriceCode; + + @Schema(description = "零担价号") + private String partialPriceCode; + + @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; + + @Schema(description = "子项") + private List items; +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlSubPageReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RailwayMaterialSubitemPageReqVO.java similarity index 55% rename from yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlSubPageReqVO.java rename to yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RailwayMaterialSubitemPageReqVO.java index 81de2d03..131a5c67 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlSubPageReqVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RailwayMaterialSubitemPageReqVO.java @@ -1,10 +1,8 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo; -import lombok.*; -import java.util.*; +import lombok.*; import io.swagger.v3.oas.annotations.media.Schema; import cn.iocoder.yudao.framework.common.pojo.PageParam; -import java.math.BigDecimal; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; @@ -12,46 +10,46 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_ @Schema(description = "管理后台 - 铁路物资对照子分页 Request VO") @Data -public class RlwyMtrlSubPageReqVO extends PageParam { +public class RailwayMaterialSubitemPageReqVO extends PageParam { @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; - @Schema(description = "主项ID", example = "12339") + @Schema(description = "主项ID", example = "30123") private Long mainId; - @Schema(description = "物资ID", example = "18676") - private Long mtrlId; + @Schema(description = "物资ID", example = "11791") + private Long materialId; @Schema(description = "SAP编码") - private String sapCd; + private String sAPCode; @Schema(description = "MDM编码") - private String mdmCd; + private String mDMCode; - @Schema(description = "物料名称", example = "王五") - private String mtrlName; + @Schema(description = "物料名称", example = "张三") + private String materialName; @Schema(description = "长描述") - private String dsp; + private String description; @Schema(description = "大类代码") - private String bigTpCd; + private String bigTypeCode; - @Schema(description = "大类名称", example = "芋艿") - private String bigTpName; + @Schema(description = "大类名称", example = "王五") + private String bigTypeName; @Schema(description = "中类代码") - private String midTpCd; + private String middleTypeCode; - @Schema(description = "中类名称", example = "赵六") - private String midTpName; + @Schema(description = "中类名称", example = "芋艿") + private String middleTypeName; @Schema(description = "小类代码") - private String smalTpCode; + private String smallTypeCode; - @Schema(description = "小类名称", example = "李四") - private String smalTpName; + @Schema(description = "小类名称", example = "张三") + private String smallTypeName; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlSubRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RailwayMaterialSubitemRespVO.java similarity index 63% rename from yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlSubRespVO.java rename to yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RailwayMaterialSubitemRespVO.java index bdc88fdb..9aa4d185 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlSubRespVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RailwayMaterialSubitemRespVO.java @@ -2,18 +2,15 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogisti import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; -import java.util.*; -import java.math.BigDecimal; -import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import com.alibaba.excel.annotation.*; @Schema(description = "管理后台 - 铁路物资对照子 Response VO") @Data @ExcelIgnoreUnannotated -public class RlwyMtrlSubRespVO { +public class RailwayMaterialSubitemRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17186") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5650") @ExcelProperty("ID") private Long id; @@ -21,52 +18,52 @@ public class RlwyMtrlSubRespVO { @ExcelProperty("创建时间") private LocalDateTime createTime; - @Schema(description = "主项ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12339") + @Schema(description = "主项ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30123") @ExcelProperty("主项ID") private Long mainId; - @Schema(description = "物资ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18676") + @Schema(description = "物资ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11791") @ExcelProperty("物资ID") - private Long mtrlId; + private Long materialId; @Schema(description = "SAP编码") @ExcelProperty("SAP编码") - private String sapCd; + private String sAPCode; @Schema(description = "MDM编码") @ExcelProperty("MDM编码") - private String mdmCd; + private String mDMCode; - @Schema(description = "物料名称", example = "王五") + @Schema(description = "物料名称", example = "张三") @ExcelProperty("物料名称") - private String mtrlName; + private String materialName; @Schema(description = "长描述") @ExcelProperty("长描述") - private String dsp; + private String description; @Schema(description = "大类代码") @ExcelProperty("大类代码") - private String bigTpCd; + private String bigTypeCode; - @Schema(description = "大类名称", example = "芋艿") + @Schema(description = "大类名称", example = "王五") @ExcelProperty("大类名称") - private String bigTpName; + private String bigTypeName; @Schema(description = "中类代码") @ExcelProperty("中类代码") - private String midTpCd; + private String middleTypeCode; - @Schema(description = "中类名称", example = "赵六") + @Schema(description = "中类名称", example = "芋艿") @ExcelProperty("中类名称") - private String midTpName; + private String middleTypeName; @Schema(description = "小类代码") @ExcelProperty("小类代码") - private String smalTpCode; + private String smallTypeCode; - @Schema(description = "小类名称", example = "李四") + @Schema(description = "小类名称", example = "张三") @ExcelProperty("小类名称") - private String smalTpName; + private String smallTypeName; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlSubSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RailwayMaterialSubitemSaveReqVO.java similarity index 54% rename from yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlSubSaveReqVO.java rename to yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RailwayMaterialSubitemSaveReqVO.java index 5b513dba..508467dc 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlSubSaveReqVO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RailwayMaterialSubitemSaveReqVO.java @@ -4,51 +4,50 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.*; import jakarta.validation.constraints.*; -import java.math.BigDecimal; @Schema(description = "管理后台 - 铁路物资对照子新增/修改 Request VO") @Data -public class RlwyMtrlSubSaveReqVO { +public class RailwayMaterialSubitemSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17186") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5650") private Long id; - @Schema(description = "主项ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12339") + @Schema(description = "主项ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30123") @NotNull(message = "主项ID不能为空") private Long mainId; - @Schema(description = "物资ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18676") + @Schema(description = "物资ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11791") @NotNull(message = "物资ID不能为空") - private Long mtrlId; + private Long materialId; @Schema(description = "SAP编码") - private String sapCd; + private String sAPCode; @Schema(description = "MDM编码") - private String mdmCd; + private String mDMCode; - @Schema(description = "物料名称", example = "王五") - private String mtrlName; + @Schema(description = "物料名称", example = "张三") + private String materialName; @Schema(description = "长描述") - private String dsp; + private String description; @Schema(description = "大类代码") - private String bigTpCd; + private String bigTypeCode; - @Schema(description = "大类名称", example = "芋艿") - private String bigTpName; + @Schema(description = "大类名称", example = "王五") + private String bigTypeName; @Schema(description = "中类代码") - private String midTpCd; + private String middleTypeCode; - @Schema(description = "中类名称", example = "赵六") - private String midTpName; + @Schema(description = "中类名称", example = "芋艿") + private String middleTypeName; @Schema(description = "小类代码") - private String smalTpCode; + private String smallTypeCode; - @Schema(description = "小类名称", example = "李四") - private String smalTpName; + @Schema(description = "小类名称", example = "张三") + private String smallTypeName; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlMainSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlMainSaveReqVO.java deleted file mode 100644 index 5a012913..00000000 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlMainSaveReqVO.java +++ /dev/null @@ -1,57 +0,0 @@ -package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import jakarta.validation.constraints.*; -import java.math.BigDecimal; - -@Schema(description = "管理后台 - 铁路物资对照主新增/修改 Request VO") -@Data -public class RlwyMtrlMainSaveReqVO { - - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3659") - private Long id; - - @Schema(description = "状态") - private String sts; - - @Schema(description = "铁路运输品名", example = "张三") - private String rlwyTrpName; - - @Schema(description = "品名代码") - private String nameCd; - - @Schema(description = "拼音码") - private String pyCd; - - @Schema(description = "报价费率") - private BigDecimal chrgRte; - - @Schema(description = "整车价号") - private String exPrcCd; - - @Schema(description = "零担价号") - private String prtlPrcCd; - - @Schema(description = "大类代码") - private String bigTpCd; - - @Schema(description = "大类名称", example = "李四") - private String bigTpName; - - @Schema(description = "中类代码") - private String midTpCd; - - @Schema(description = "中类名称", example = "芋艿") - private String midTpName; - - @Schema(description = "小类代码") - private String smalTpCd; - - @Schema(description = "小类名称", example = "王五") - private String smalTpName; - - @Schema(description = "子项") - private List items; -} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/shp/CollaborationShipArchiveController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/shp/CollaborationShipArchiveController.java new file mode 100644 index 00000000..8ede24c7 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/shp/CollaborationShipArchiveController.java @@ -0,0 +1,116 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.business.annotation.FileUploadController; +import cn.iocoder.yudao.framework.business.controller.AbstractFileUploadController; +import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp.vo.CollaborationShipArchivePageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp.vo.CollaborationShipArchiveRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp.vo.ShipArchiveRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp.vo.ShipArchiveSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.shp.CollaborationShipArchiveService; +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 cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + + +@Tag(name = "物流协同 - 船舶档案") +@RestController +@RequestMapping("/lgst/collaboration-ship-archive") +@Validated +@FileUploadController(source = "lgst.bseMngt.shp") +public class CollaborationShipArchiveController extends AbstractFileUploadController implements BusinessControllerMarker{ + + static { + FileUploadController annotation = CollaborationShipArchiveController.class.getAnnotation(FileUploadController.class); + if (annotation != null) { + setFileUploadInfo(annotation); + } + } + + @Resource + private CollaborationShipArchiveService collaborationShipArchiveService; + + @PostMapping("/create") + @Operation(summary = "创建船舶档案") + @PreAuthorize("@ss.hasPermission('lgst:collaboration-ship-archive:create')") + public CommonResult createShipArchive(@Valid @RequestBody ShipArchiveSaveReqVO createReqVO) { + collaborationShipArchiveService.createShipArchive(createReqVO); + return success(true); + } + + @PostMapping("/update") + @Operation(summary = "更新船舶档案") + @PreAuthorize("@ss.hasPermission('lgst:collaboration-ship-archive:update')") + public CommonResult updateShipArchive(@Valid @RequestBody ShipArchiveSaveReqVO updateReqVO) { + collaborationShipArchiveService.updateShipArchive(updateReqVO); + return success(true); + } + + @PostMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除船舶档案") + @PreAuthorize("@ss.hasPermission('lgst:collaboration-ship-archive:delete')") + public CommonResult deleteShipArchiveList(@RequestBody BatchDeleteReqVO req) { + collaborationShipArchiveService.deleteShipArchiveListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得船舶档案") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('lgst:collaboration-ship-archive:query')") + public CommonResult getShipArchive(@RequestParam("id") Long id) { + ShipArchiveRespVO vo = collaborationShipArchiveService.getShipArchive(id); + return success(vo); + } + + @GetMapping("/getByIMOCode") + @Operation(summary = "获得船舶档案") + @Parameter(name = "imocode", description = "IMO码", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('lgst:collaboration-ship-archive:query')") + public CommonResult getByIMOCode(@RequestParam("imocode") String imocode) { + ShipArchiveRespVO vo = collaborationShipArchiveService.getByIMOCode(imocode); + return success(vo); + } + + @PostMapping("/page") + @Operation(summary = "获得船舶档案分页") + @PreAuthorize("@ss.hasPermission('lgst:collaboration-ship-archive:query')") + public CommonResult> getShipArchivePage(@Valid @RequestBody CollaborationShipArchivePageReqVO pageReqVO) { + PageResult pageResult = collaborationShipArchiveService.getShipArchivePage(pageReqVO); + return success(BeanUtils.toBean(pageResult, CollaborationShipArchiveRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出船舶档案 Excel") + @PreAuthorize("@ss.hasPermission('lgst:collaboration-ship-archive:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportShipArchiveExcel(@Valid CollaborationShipArchivePageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = collaborationShipArchiveService.getShipArchivePage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "船舶档案.xls", "数据", ShipArchiveRespVO.class, + BeanUtils.toBean(list, ShipArchiveRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/shp/ShipArchiveController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/shp/ShipArchiveController.java new file mode 100644 index 00000000..6c53f95b --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/shp/ShipArchiveController.java @@ -0,0 +1,124 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.business.annotation.FileUploadController; +import cn.iocoder.yudao.framework.business.controller.AbstractFileUploadController; +import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp.vo.ShipArchivePageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp.vo.ShipArchiveRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp.vo.ShipArchiveSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.shp.ShipArchiveDO; +import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.shp.ShipArchiveService; +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 cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + + +@Tag(name = "管理后台 - 船舶档案") +@RestController +@RequestMapping("/lgst/ship-archive") +@Validated +@FileUploadController(source = "lgst.bseMngt.shp") +public class ShipArchiveController extends AbstractFileUploadController implements BusinessControllerMarker{ + + static { + FileUploadController annotation = ShipArchiveController.class.getAnnotation(FileUploadController.class); + if (annotation != null) { + setFileUploadInfo(annotation); + } + } + + @Resource + private ShipArchiveService shipArchiveService; + + @PostMapping("/create") + @Operation(summary = "创建船舶档案") + @PreAuthorize("@ss.hasPermission('lgst:ship-archive:create')") + public CommonResult createShipArchive(@Valid @RequestBody ShipArchiveSaveReqVO createReqVO) { + return success(shipArchiveService.createShipArchive(createReqVO)); + } + + @PostMapping("/update") + @Operation(summary = "更新船舶档案") + @PreAuthorize("@ss.hasPermission('lgst:ship-archive:update')") + public CommonResult updateShipArchive(@Valid @RequestBody ShipArchiveSaveReqVO updateReqVO) { + shipArchiveService.updateShipArchive(updateReqVO); + return success(true); + } + + @PostMapping("/delete") + @Operation(summary = "删除船舶档案") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('lgst:ship-archive:delete')") + public CommonResult deleteShipArchive(@RequestParam("id") Long id) { + shipArchiveService.deleteShipArchive(id); + return success(true); + } + + @PostMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除船舶档案") + @PreAuthorize("@ss.hasPermission('lgst:ship-archive:delete')") + public CommonResult deleteShipArchiveList(@RequestBody BatchDeleteReqVO req) { + shipArchiveService.deleteShipArchiveListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得船舶档案") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('lgst:ship-archive:query')") + public CommonResult getShipArchive(@RequestParam("id") Long id) { + ShipArchiveRespVO vo = shipArchiveService.getShipArchive(id); + return success(vo); + } + + @GetMapping("/getByIMOCode") + @Operation(summary = "获得船舶档案") + @Parameter(name = "imocode", description = "IMO码", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('lgst:ship-archive:query')") + public CommonResult getByIMOCode(@RequestParam("imocode") String imocode) { + ShipArchiveRespVO vo = shipArchiveService.getByIMOCode(imocode); + return success(vo); + } + + @PostMapping("/page") + @Operation(summary = "获得船舶档案分页") + @PreAuthorize("@ss.hasPermission('lgst:ship-archive:query')") + public CommonResult> getShipArchivePage(@Valid @RequestBody ShipArchivePageReqVO pageReqVO) { + PageResult pageResult = shipArchiveService.getShipArchivePage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ShipArchiveRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出船舶档案 Excel") + @PreAuthorize("@ss.hasPermission('lgst:ship-archive:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportShipArchiveExcel(@Valid ShipArchivePageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = shipArchiveService.getShipArchivePage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "船舶档案.xls", "数据", ShipArchiveRespVO.class, + BeanUtils.toBean(list, ShipArchiveRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/shp/vo/CollaborationShipArchivePageReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/shp/vo/CollaborationShipArchivePageReqVO.java new file mode 100644 index 00000000..46efc9af --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/shp/vo/CollaborationShipArchivePageReqVO.java @@ -0,0 +1,15 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "物流协同 - 船舶档案分页 Request VO") +@Data +public class CollaborationShipArchivePageReqVO extends ShipArchivePageReqVO { + + @Schema(description = "船舶id") + private Long shpId; + + @Schema(description = "部门id") + private Long deptId; +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/shp/vo/CollaborationShipArchiveRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/shp/vo/CollaborationShipArchiveRespVO.java new file mode 100644 index 00000000..14b240da --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/shp/vo/CollaborationShipArchiveRespVO.java @@ -0,0 +1,15 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp.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 CollaborationShipArchiveRespVO extends ShipArchiveRespVO { + + @Schema(description = "船舶id") + private Long shipId; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/shp/vo/ShipArchivePageReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/shp/vo/ShipArchivePageReqVO.java new file mode 100644 index 00000000..df4776fc --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/shp/vo/ShipArchivePageReqVO.java @@ -0,0 +1,84 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp.vo; + +import cn.iocoder.yudao.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 cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 船舶档案分页 Request VO") +@Data +public class ShipArchivePageReqVO extends PageParam { + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "IMO码") + private String iMOCode; + + @Schema(description = "船舶类型") + private String shipCategory; + + @Schema(description = "中文船名", example = "芋艿") + private String shipChineseName; + + @Schema(description = "英文船名", example = "赵六") + private String shipEnglishName; + + @Schema(description = "船舶种类", example = "1") + private String shipType; + + @Schema(description = "船级") + private String shipLevel; + + @Schema(description = "船籍国") + private String shipNation; + + @Schema(description = "船长(M)") + private BigDecimal shipLength; + + @Schema(description = "型宽(M)") + private BigDecimal shipWidth; + + @Schema(description = "型深(M)") + private BigDecimal shipDepth; + + @Schema(description = "总吨") + private BigDecimal grossTonnage; + + @Schema(description = "净吨") + private BigDecimal netTonnage; + + @Schema(description = "可装标箱(箱)") + private Long loadingContainerQuantity; + + @Schema(description = "船舶识别号(CN)") + private String shipDetectCode; + + @Schema(description = "通信业务标识码(MMSI)") + private String mMSICode; + + @Schema(description = "船籍港") + private String portOfRegistry; + + @Schema(description = "船舶所有人") + private String shipowner; + + @Schema(description = "所有人地址") + private String shipownerAddress; + + @Schema(description = "发证时间") + private LocalDateTime[] certificateIssuingTime; + + @Schema(description = "发证机关") + private String certificateIssuingAgency; + + @Schema(description = "船名", example = "赵六六") + private String shipName; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/shp/vo/ShipArchiveRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/shp/vo/ShipArchiveRespVO.java new file mode 100644 index 00000000..c3eb18d2 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/shp/vo/ShipArchiveRespVO.java @@ -0,0 +1,135 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp.vo; + +import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; +import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; +import cn.iocoder.yudao.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 ShipArchiveRespVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "29167") + @ExcelProperty("ID") + private Long id; + + @Schema(description = "IMO码") + @ExcelProperty("IMO码") + private String iMOCode; + + @Schema(description = "船舶类型") + @ExcelProperty(value = "船舶类型",converter = DictConvert.class) + @DictFormat("ship_category") + private String shipCategory; + + @Schema(description = "中文船名", example = "张三") + @ExcelProperty("中文船名") + private String shipChineseName; + + @Schema(description = "英文船名", example = "王五") + @ExcelProperty("英文船名") + private String shipEnglishName; + + @Schema(description = "船舶种类", example = "1") + @ExcelProperty(value = "船舶种类",converter = DictConvert.class) + @DictFormat("ship_type") + private String shipType; + + @Schema(description = "船级") + @ExcelProperty(value = "船级",converter = DictConvert.class) + @DictFormat("ship_classification") + private String shipLevel; + + @Schema(description = "船籍国") + @ExcelProperty("船籍国") + private String shipNation; + + @Schema(description = "船长(M)") + @ExcelProperty("船长(M)") + private BigDecimal shipLength; + + @Schema(description = "型宽(M)") + @ExcelProperty("型宽(M)") + private BigDecimal shipWidth; + + @Schema(description = "型深(M)") + @ExcelProperty("型深(M)") + private BigDecimal shipDepth; + + @Schema(description = "总吨") + @ExcelProperty("总吨") + private BigDecimal grossTonnage; + + @Schema(description = "净吨") + @ExcelProperty("净吨") + private BigDecimal netTonnage; + + @Schema(description = "可装标箱(箱)") + @ExcelProperty("可装标箱(箱)") + private Long loadingContainerQuantity; + + @Schema(description = "船舶识别号(CN)") + @ExcelProperty("船舶识别号(CN)") + private String shipDetectCode; + + @Schema(description = "通信业务标识码(MMSI)") + @ExcelProperty("通信业务标识码(MMSI)") + private String mMSICode; + + @Schema(description = "船籍港") + @ExcelProperty("船籍港") + private String portOfRegistry; + + @Schema(description = "船舶所有人") + @ExcelProperty("船舶所有人") + private String shipowner; + + @Schema(description = "所有人地址") + @ExcelProperty("所有人地址") + private String shipownerAddress; + + @Schema(description = "发证时间") + @ExcelProperty("发证时间") + private LocalDateTime certificateIssuingTime; + + @Schema(description = "发证机关") + @ExcelProperty("发证机关") + private String certificateIssuingAgency; + + @Schema(description = "国籍证书") + private List nationalityFile; + + @Schema(description = "所有权登记证书/租赁证书") + private List shipOwnershipFile; + + @Schema(description = "船舶营运证等其他证书") + private List shipOtherFile; + + @Schema(description = "船舶照片") + private List shipPhotosFile; + + @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; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/shp/vo/ShipArchiveSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/shp/vo/ShipArchiveSaveReqVO.java new file mode 100644 index 00000000..4ce1499b --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/shp/vo/ShipArchiveSaveReqVO.java @@ -0,0 +1,90 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp.vo; + +import cn.iocoder.yudao.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 ShipArchiveSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "29167") + private Long id; + + @Schema(description = "IMO码") + private String iMOCode; + + @Schema(description = "船舶类型") + private String shipCategory; + + @Schema(description = "中文船名", example = "芋艿") + private String shipChineseName; + + @Schema(description = "英文船名", example = "赵六") + private String shipEnglishName; + + @Schema(description = "船舶种类", example = "1") + private String shipType; + + @Schema(description = "船级") + private String shipLevel; + + @Schema(description = "船籍国") + private String shipNation; + + @Schema(description = "船长(M)") + private BigDecimal shipLength; + + @Schema(description = "型宽(M)") + private BigDecimal shipWidth; + + @Schema(description = "型深(M)") + private BigDecimal shipDepth; + + @Schema(description = "总吨") + private BigDecimal grossTonnage; + + @Schema(description = "净吨") + private BigDecimal netTonnage; + + @Schema(description = "可装标箱(箱)") + private Long loadingContainerQuantity; + + @Schema(description = "船舶识别号(CN)") + private String shipDetectCode; + + @Schema(description = "通信业务标识码(MMSI)") + private String mMSICode; + + @Schema(description = "船籍港") + private String portOfRegistry; + + @Schema(description = "船舶所有人") + private String shipowner; + + @Schema(description = "所有人地址") + private String shipownerAddress; + + @Schema(description = "发证时间") + private LocalDateTime certificateIssuingTime; + + @Schema(description = "发证机关") + private String certificateIssuingAgency; + + @Schema(description = "国籍证书") + private List nationalityFile; + + @Schema(description = "所有权登记证书/租赁证书") + private List shipOwnershipFile; + + @Schema(description = "船舶营运证等其他证书") + private List shipOtherFile; + + @Schema(description = "船舶照片") + private List shipPhotosFile; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/common/CommonController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/common/CommonController.java index a335bc00..fd387b67 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/common/CommonController.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/common/CommonController.java @@ -1,4 +1,59 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.common; -public class CommonController { +import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.common.vo.ErpCustomerPageReqVo; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.common.vo.ErpCustomerRespVo; +import cn.iocoder.yudao.module.backendlogistics.service.common.CompanyService; +import cn.iocoder.yudao.module.backendlogistics.service.common.FileService; +import cn.iocoder.yudao.module.backendlogistics.service.common.SplyErpCustomerService; +import cn.iocoder.yudao.module.infra.api.businessfile.dto.BusinessFilePageReqDTO; +import cn.iocoder.yudao.module.infra.api.businessfile.dto.BusinessFileWithUrlRespDTO; +import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; +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.web.bind.annotation.*; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +@Tag(name = "公共接口") +@RestController +@RequestMapping("/lgst/common") +public class CommonController implements BusinessControllerMarker { + + @Resource + private CompanyService companyService; + + @Resource + private FileService fileService; + @Resource + private SplyErpCustomerService splyErpCustomerService; + + @PostMapping("/getTopCompany") + @Operation(summary = "获取顶级账套") + @PreAuthorize("@ss.hasPermission('lgst:ship-archive:query')") + public CommonResult getTopCompany() { + DeptRespDTO topCompany = companyService.getTopCompany(); + return success(topCompany); + } + + @PostMapping("/getBunFilePage") + @Operation(summary = "获取附件分页数据") + //@PreAuthorize("@ss.hasPermission('lgst:ship-archive:query')") + public CommonResult> getBunFilePage(@RequestBody BusinessFilePageReqDTO pageReqDTO) { + PageResult businessFilePageWithUrl = fileService.getBusinessFilePageWithUrl(pageReqDTO); + return success(businessFilePageWithUrl); + } + + @PostMapping("/getErpCustomerPage") + @Operation(summary = "获取主数据客商分页数据") + //@PreAuthorize("@ss.hasPermission('lgst:ship-archive:query')") + public CommonResult> getErpCustomerPage(@RequestBody ErpCustomerPageReqVo pageReqDTO) { + PageResult customerPage = splyErpCustomerService.seleErpCustomerPage(pageReqDTO); + return success(customerPage); + } + } diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/common/vo/AddressTreeDto.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/common/vo/AddressTreeDto.java index fb43150a..5e0ee3e9 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/common/vo/AddressTreeDto.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/common/vo/AddressTreeDto.java @@ -6,6 +6,15 @@ import java.util.List; @Data public class AddressTreeDto { + public AddressTreeDto(){ + + } + public AddressTreeDto(String code, String name,String type, String parentCode){ + this.code = code; + this.name = name; + this.type = type; + this.parentCode = parentCode; + } /** * 编码 */ @@ -14,6 +23,16 @@ public class AddressTreeDto { * 名称 */ private String name; + /** + * 类型 1国家 2省 3市 4县 + */ + private String type; + /** + * 父级编码 + */ + private String parentCode; + + /** * 子项 */ diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/common/vo/ErpCustomerPageReqVo.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/common/vo/ErpCustomerPageReqVo.java new file mode 100644 index 00000000..24550130 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/common/vo/ErpCustomerPageReqVo.java @@ -0,0 +1,19 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.common.vo; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +@Schema(description = "管理后台 - ERP客户分页 Request VO") +@Data +public class ErpCustomerPageReqVo extends PageParam { + @Schema(description = "编号") + private String num; + @Schema(description = "名称") + private String name; + @Schema(description = "账户组") + private String accountGroup; + @Schema(description = "简称") + private String description; + @Schema(description = "中铝编码") + private String centerNum; +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/common/vo/ErpCustomerRespVo.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/common/vo/ErpCustomerRespVo.java new file mode 100644 index 00000000..738d2770 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/common/vo/ErpCustomerRespVo.java @@ -0,0 +1,28 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.common.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - ERP客户返回值") +@Data +public class ErpCustomerRespVo { + + private Long id; + + @Schema(description = "编号") + private String num; + @Schema(description = "名称") + private String name; + @Schema(description = "账户组") + private String accountGroup; + @Schema(description = "简称") + private String description; + @Schema(description = "中铝编码") + private String centerNum; + @Schema(description = "创建时间") + private LocalDateTime createTime; + @Schema(description = "修改时间") + private LocalDateTime updateTime; +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/common/vo/IdVo.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/common/vo/IdVo.java new file mode 100644 index 00000000..00a5f7ac --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/common/vo/IdVo.java @@ -0,0 +1,10 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.common.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +@Schema(description = "通用-ID") +@Data +public class IdVo { + @Schema(description = "id") + private Long id; +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/common/vo/IdsVo.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/common/vo/IdsVo.java new file mode 100644 index 00000000..3e2087c7 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/common/vo/IdsVo.java @@ -0,0 +1,13 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.common.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +@Schema(description = "通用-ID数组") +@Data +public class IdsVo { + @Schema(description = "ID数组") + private List ids; +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/acct/CarrierAccountDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/acct/CarrierAccountDO.java index 992bebcd..5ed1376b 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/acct/CarrierAccountDO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/acct/CarrierAccountDO.java @@ -112,7 +112,7 @@ public class CarrierAccountDO extends BusinessBaseDO { @TableField("IS_PMNT") private Integer isPermanently; /** - * 开户行 + * 银行账号 */ @TableField("BNK_ACCT") private String bankAccount; @@ -122,4 +122,38 @@ public class CarrierAccountDO extends BusinessBaseDO { @TableField("REG_AGC") private String registrationAgency; + /** + * 主数据编码 + */ + @TableField("MDM_CD") + private String mdmCode; + + /** + * 用户类型 + */ + @TableField("USER_TP") + private String userType; + + /** + * 开户行名称 + */ + @TableField("BNK_NAME") + private String bankName; + /** + * 绑定部门id + */ + @TableField("BID_DEPT_ID") + private Long bidDeptId; + + /** + * 绑定部门id + */ + @TableField("SAP_CD") + private Long sapCode; + + /** + * 用户ID + */ + @TableField("USER_ID") + private Long userId; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/acct/CustomerDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/acct/CustomerDO.java index bf3c4400..14b0388e 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/acct/CustomerDO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/acct/CustomerDO.java @@ -1,11 +1,8 @@ package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct; -import lombok.*; -import java.util.*; - import java.time.LocalDateTime; - import java.time.LocalDateTime; -import com.baomidou.mybatisplus.annotation.*; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; +import com.baomidou.mybatisplus.annotation.*; +import lombok.*; /** * 客商协同账号 DO * @@ -102,4 +99,21 @@ public class CustomerDO extends BusinessBaseDO { @TableField("IS_ENB") private String isEnable; + /** + * 绑定部门id + */ + @TableField("BID_DEPT_ID") + private Long bidDeptId; + /** + * 用户ID + */ + @TableField("USER_ID") + private Long userId; + + /** + * 用户类型 + */ + @TableField("USER_TP") + private String userType; + } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/acct/DrivingAccountDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/acct/DrivingAccountDO.java index ce1f3b33..a7635864 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/acct/DrivingAccountDO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/acct/DrivingAccountDO.java @@ -40,6 +40,12 @@ public class DrivingAccountDO extends BusinessBaseDO { */ @TableField("STS") private String status; + + /** + * 认证状态 + */ + @TableField("VLDT_STS") + private String validationStatus; /** * 是否启用 */ @@ -101,10 +107,16 @@ public class DrivingAccountDO extends BusinessBaseDO { @TableField("DRVG_TP") private String drivingType; /** - * 发证机关 + * 身份证发证机关 */ - @TableField("REG_AGC") - private String registrationAgency; + @TableField("IDTY_REG_AGC") + private String idtyRegistrationAgency; + + /** + * 行驶证发证机关 + */ + @TableField("DRVG_REG_AGC") + private String drvgRegistrationAgency; /** * 档案编码 */ @@ -121,4 +133,16 @@ public class DrivingAccountDO extends BusinessBaseDO { @TableField("ORGN") private String origin; + /** + * 绑定部门id + */ + @TableField("BID_DEPT_ID") + private Long bidDeptId; + + /** + * 用户ID + */ + @TableField("USER_ID") + private Long userId; + } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/crAchi/CarArchiveDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/crAchi/CarArchiveDO.java new file mode 100644 index 00000000..65f6a550 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/crAchi/CarArchiveDO.java @@ -0,0 +1,211 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.crAchi; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 车辆档案 DO + * + * @author 后台管理 + */ +@TableName("lgst_cr_achi") +@KeySequence("lgst_cr_achi_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** + * 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO + */ +public class CarArchiveDO extends BusinessBaseDO { + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + @Schema(description = "ID") + private Long id; + + /** + * 档案编号 + */ + @TableField("ACHI_NUM") + @Schema(description = "档案编号") + private String archiveNumber; + + /** + * 车牌号 + */ + @TableField("CR_NUM") + @Schema(description = "车牌号") + private String carNumber; + + /** + * 车辆标识 + */ + @TableField("CR_LBL") + @Schema(description = "车辆标识") + private String carLabel; + + /** + * 关联挂车 + */ + @TableField("CORR_TRLR") + @Schema(description = "关联挂车") + private String correlationTrailer; + + /** + * 是否黑名单 + */ + @TableField("IS_BLK") + @Schema(description = "是否黑名单") + private String isBlacklist; + + /** + * 车辆颜色 + */ + @TableField("CR_CLR") + @Schema(description = "车辆颜色") + private String carColor; + + /** + * 车牌颜色 + */ + @TableField("CR_NUM_CLR") + @Schema(description = "车牌颜色") + private String carNumberColor; + + /** + * 排放阶段 + */ + @TableField("EMS_PHSE") + @Schema(description = "排放阶段") + private String emissionPhase; + + /** + * 燃油类型 + */ + @TableField("FUEL_TP") + @Schema(description = "燃油类型") + private String fuelType; + + /** + * 车辆轴数 + */ + @TableField("CR_AX_CNT") + @Schema(description = "车辆轴数") + private Long carAxisCount; + + /** + * 车辆所有人 + */ + @TableField("CR_OWNR") + @Schema(description = "车辆所有人") + private String carOwner; + + /** + * 车辆识别代码vin + */ + @TableField("VIN") + @Schema(description = "车辆识别代码vin") + private String vin; + + /** + * 发动机号 + */ + @TableField("ENG_NUM") + @Schema(description = "发动机号") + private String engineNumber; + + /** + * 使用性质 + */ + @TableField("USE_NTR") + @Schema(description = "使用性质") + private String useNature; + + /** + * 车辆类型 + */ + @TableField("CR_TP") + @Schema(description = "车辆类型") + private String carType; + + /** + * 品牌型号 + */ + @TableField("BRAD_MDL") + @Schema(description = "品牌型号") + private String brandModel; + + /** + * 总质量(kg) + */ + @TableField("TOT_QLT") + @Schema(description = "总质量(kg)") + private BigDecimal totalQuality; + + /** + * 核定载质量(kg) + */ + @TableField("ASMT_LOD_QLT") + @Schema(description = "核定载质量(kg)") + private BigDecimal assessmentLoadingQuality; + + /** + * 整备质量(kg) + */ + @TableField("PRP_QLT") + @Schema(description = "整备质量(kg)") + private BigDecimal preparationQuality; + + /** + * 长(mm) + */ + @TableField("LEN") + @Schema(description = "长(mm)") + private BigDecimal length; + + /** + * 宽(mm) + */ + @TableField("WDTH") + @Schema(description = "宽(mm)") + private BigDecimal width; + + /** + * 高(mm) + */ + @TableField("HGT") + @Schema(description = "高(mm)") + private BigDecimal height; + + /** + * 注册时间 + */ + @TableField("REG_TM") + @Schema(description = "注册时间") + private LocalDateTime registryTime; + + /** + * 发证时间 + */ + @TableField("CRTF_ISSU_TM") + @Schema(description = "发证时间") + private LocalDateTime certificateIssuingTime; + + /** + * 发证机关 + */ + @TableField("CRTF_ISSU_AGC") + @Schema(description = "发证机关") + private String certificateIssuingAgency; + +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/crAchi/CarBlacklistDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/crAchi/CarBlacklistDO.java new file mode 100644 index 00000000..19b894c5 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/crAchi/CarBlacklistDO.java @@ -0,0 +1,52 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.crAchi; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; +import com.baomidou.mybatisplus.annotation.*; +import lombok.*; +/** +* 车辆黑名单 DO +* +* @author 后台管理 +*/ +@TableName("lgst_cr_blk") +@KeySequence("lgst_cr_blk_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class CarBlacklistDO extends BusinessBaseDO { + + + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 车辆档案ID + */ + @TableField("CR_ID") + private Long carId; + /** + * 操作原因 + */ + @TableField("OPTN_CAUS") + private String operationCause; + /** + * 解除原因 + */ + @TableField("PROC_CAUS") + private String processingCause; + /** + * 处理状态 + */ + @TableField("STS") + private String status; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/crAchi/CollaborationCarArchiveDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/crAchi/CollaborationCarArchiveDO.java new file mode 100644 index 00000000..918ce2ee --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/crAchi/CollaborationCarArchiveDO.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.crAchi; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; +import com.baomidou.mybatisplus.annotation.*; +import lombok.*; +/** + * 协同车辆档案 DO + * + * @author 后台管理 + */ +@TableName("lgst_coll_cr_achi") +@KeySequence("lgst_coll_cr_achi_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +//@Builder +@NoArgsConstructor +@AllArgsConstructor +/** + * 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO + */ +public class CollaborationCarArchiveDO extends BusinessBaseDO { + + + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 车辆ID + */ + @TableField("CR_ID") + private Long carId; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/env/EnvironmentalIntoMainDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/env/EnvironmentalIntoMainDO.java new file mode 100644 index 00000000..a2459337 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/env/EnvironmentalIntoMainDO.java @@ -0,0 +1,55 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.env; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; +/** +* 环保进场管理主 DO +* +* @author 后台管理 +*/ +@TableName("lgst_env_into_main") +@KeySequence("lgst_env_into_main_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class EnvironmentalIntoMainDO extends BusinessBaseDO { + + + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 状态 + */ + @TableField("STS") + private String status; + /** + * 业务类型 + */ + @TableField("BSN_TP") + private String businessType; + /** + * 限定物资 + */ + @TableField("LIM_MTRL") + private String limitMaterial; + /** + * 进厂汽车排放等级要求 + */ + @TableField("EMS_LVL") + private String emissionLevel; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/env/EnvironmentalIntoSubitemDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/env/EnvironmentalIntoSubitemDO.java new file mode 100644 index 00000000..945d46ad --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/env/EnvironmentalIntoSubitemDO.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.env; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; +/** + * 环保进场管理子 DO + * + * @author 后台管理 + */ +@TableName("lgst_env_into_sub") +@KeySequence("lgst_env_into_sub_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** + * 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO + */ +public class EnvironmentalIntoSubitemDO extends BusinessBaseDO { + + + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 主项ID + */ + @TableField("MAIN_ID") + private Long mainId; + /** + * 物资ID + */ + @TableField("MTRL_ID") + private Long materialId; + /** + * 物料编码 + */ + @TableField("MTRL_CD") + private String materialCode; + /** + * 物料名称 + */ + @TableField("MTRL_NAME") + private String materialName; + /** + * 大类代码 + */ + @TableField("BIG_TP_CD") + private String bigTypeCode; + /** + * 大类名称 + */ + @TableField("BIG_TP_NAME") + private String bigTypeName; + /** + * 中类代码 + */ + @TableField("MID_TP_CD") + private String middleTypeCode; + /** + * 中类名称 + */ + @TableField("MID_TP_NAME") + private String middleTypeName; + /** + * 小类代码 + */ + @TableField("SMAL_TP_CD") + private String smallTypeCode; + /** + * 小类名称 + */ + @TableField("SMAL_TP_NAME") + private String smallTypeName; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/mtrl/ClassesDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/mtrl/ClassesDO.java new file mode 100644 index 00000000..a8620a9e --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/mtrl/ClassesDO.java @@ -0,0 +1,57 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.*; +import lombok.*; +/** + * 物料分类 DO + * + * @author 后台管理 + */ +@TableName("bse_mtrl_cls") +@KeySequence("bse_mtrl_cls_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** + * 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO + */ +public class ClassesDO extends BaseDO { + + + + /** + * 主键ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 父级ID + */ + @TableField("PRN_ID") + private Long parentId; + /** + * 分类编码 + */ + @TableField("CD") + private String code; + /** + * 分类名称 + */ + @TableField("NAME") + private String name; + /** + * 分类级别-用于类别层级(大/中/小类) + */ + @TableField("LVL") + private Long level; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/mtrl/MtrlXpdDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/mtrl/MaterialExpandDO.java similarity index 89% rename from yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/mtrl/MtrlXpdDO.java rename to yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/mtrl/MaterialExpandDO.java index 0e5b67cd..a99ea9e9 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/mtrl/MtrlXpdDO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/mtrl/MaterialExpandDO.java @@ -1,10 +1,8 @@ package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl; -import lombok.*; -import java.util.*; - import java.time.LocalDateTime; - import java.time.LocalDateTime; -import com.baomidou.mybatisplus.annotation.*; + import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; +import com.baomidou.mybatisplus.annotation.*; +import lombok.*; /** * 物资信息扩展 DO * @@ -21,7 +19,7 @@ import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; /** * 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO */ -public class MtrlXpdDO extends BusinessBaseDO { +public class MaterialExpandDO extends BusinessBaseDO { diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/mtrl/MtrlClsDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/mtrl/MtrlClsDO.java deleted file mode 100644 index 6c17464d..00000000 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/mtrl/MtrlClsDO.java +++ /dev/null @@ -1,63 +0,0 @@ -package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl; - -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; -import lombok.*; -import java.util.*; - import java.time.LocalDateTime; - import java.time.LocalDateTime; -import com.baomidou.mybatisplus.annotation.*; -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; -/** -* 物料分类 DO -* -* @author 后台管理 -*/ -@TableName("mtrl_cls") -@KeySequence("mtrl_cls_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -/** -* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO -*/ -public class MtrlClsDO extends BaseDO { - -public static final Long PARENT_ID_ROOT = 0L; - - - - /** - * 主键ID - */ - @TableId(type = IdType.ASSIGN_ID) - private Long id; - /** - * 父级ID - */ - @TableField("PRN_ID") - private Long parentId; - /** - * 分类编码 - */ - @TableField("CD") - private String code; - /** - * 分类名称 - */ - @TableField("NAME") - private String name; - /** - * 分类级别-用于类别层级(大/中/小类) - */ - @TableField("LVL") - private Long level; - /** - * 备注 - */ - @TableField("RMK") - private String remark; - -} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/myDriver/MyDriverDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/myDriver/MyDriverDO.java new file mode 100644 index 00000000..e19f0076 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/myDriver/MyDriverDO.java @@ -0,0 +1,48 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.myDriver; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; +import com.baomidou.mybatisplus.annotation.*; +import lombok.*; +/** +* 协同我的司机 DO +* +* @author 后台管理 +*/ +@TableName("lgst_cstm_drvg") +@KeySequence("lgst_cstm_drvg_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class MyDriverDO extends BusinessBaseDO { + /** + * id + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 客商id + */ + @TableField("CSTM_ID") + private Long customerId; + /** + * 客商类型,数据字典user_tp + */ + @TableField("USER_TP") + private String userType; + /** + * 司机id + */ + @TableField("DRVG_ID") + private Long drivingId; + /** + * 常用车辆 + */ + @TableField("USUAL_CAR") + private String usualCar; +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/myWrh/MyWrhDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/myWrh/MyWrhDO.java new file mode 100644 index 00000000..d98ba0a6 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/myWrh/MyWrhDO.java @@ -0,0 +1,44 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.myWrh; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; +import com.baomidou.mybatisplus.annotation.*; +import lombok.*; +/** +* 协同我的仓库 DO +* +* @author 后台管理 +*/ +@TableName("lgst_my_wrh") +@KeySequence("lgst_my_wrh_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class MyWrhDO extends BusinessBaseDO { + + /** + * id + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 客商id + */ + @TableField("CSTM_ID") + private Long customerId; + /** + * 客商类型,数据字典user_tp + */ + @TableField("USER_TP") + private String userType; + /** + * 仓库id + */ + @TableField("WRH_ID") + private Long warehouseId; +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/AuncelConfigDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/AuncelConfigDO.java index 9ed81be4..cdad6747 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/AuncelConfigDO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/AuncelConfigDO.java @@ -64,12 +64,12 @@ public class AuncelConfigDO extends BusinessBaseDO { * 空重限制 */ @TableField("LIM") - private String limit; + private String limt; /** * 计量作业系统 */ @TableField("SYS") - private String system; + private String syst; /** * 经度 */ @@ -81,4 +81,9 @@ public class AuncelConfigDO extends BusinessBaseDO { @TableField("LAT") private BigDecimal latitude; + /** + * (经纬度)的详细地址 + */ + @TableField("ADR") + private String address; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/ConsigneeAddressDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/ConsigneeAddressDO.java index e7aa76ff..213b43ed 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/ConsigneeAddressDO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/ConsigneeAddressDO.java @@ -1,6 +1,6 @@ package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi; -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import com.baomidou.mybatisplus.annotation.*; import lombok.*; @@ -21,7 +21,7 @@ import java.math.BigDecimal; /** * 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO */ -public class ConsigneeAddressDO extends BusinessBaseDO { +public class ConsigneeAddressDO extends BaseDO { @@ -45,16 +45,21 @@ public class ConsigneeAddressDO extends BusinessBaseDO { */ @TableField("CSTM_NAME") private String customerName; + /** + * 客户id + */ + @TableField("CSTM_ID") + private Long customerId; /** * MDM编码 */ @TableField("MDM_CDG") - private String mDMCoding; + private String mdmcoding; /** * SAP编码 */ @TableField("SAP_CDG") - private String sAPCoding; + private String sapcoding; /** * 省(直辖市) */ @@ -73,8 +78,8 @@ public class ConsigneeAddressDO extends BusinessBaseDO { /** * 首选 */ - @TableField("FST") - private String first; + @TableField("IS_FST") + private String isFirst; /** * 经度 */ @@ -86,4 +91,9 @@ public class ConsigneeAddressDO extends BusinessBaseDO { @TableField("LAT") private BigDecimal latitude; + /** + * (经纬度)的详细地址 + */ + @TableField("ADR") + private String address; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/FactoryDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/FactoryDO.java index 00d93bb8..8508554b 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/FactoryDO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/FactoryDO.java @@ -86,4 +86,9 @@ public class FactoryDO extends BusinessBaseDO { @TableField("LAT") private BigDecimal latitude; + /** + * (经纬度)的详细地址 + */ + @TableField("ADR") + private String address; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/ForeignAreaDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/ForeignAreaDO.java new file mode 100644 index 00000000..8e7a3477 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/ForeignAreaDO.java @@ -0,0 +1,42 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.*; +import lombok.*; +/** +* 国外区域 DO +* +* @author 后台管理 +*/ +@TableName("lgst_frn_are") +@KeySequence("lgst_frn_are_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class ForeignAreaDO extends BaseDO { + + + + /** + * id + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 父级ID + */ + @TableField("PRN_ID") + private Long parentId; + /** + * 名称 + */ + @TableField("NAME") + private String name; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/GateConfigDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/GateConfigDO.java index b06deaa2..e13aabd2 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/GateConfigDO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/GateConfigDO.java @@ -68,18 +68,18 @@ public class GateConfigDO extends BusinessBaseDO { /** * 首选 */ - @TableField("FST") - private String first; + @TableField("IS_FST") + private String isFirst; /** * 进出限制 */ @TableField("LIM") - private String limit; + private String limt; /** * 作业系统 */ @TableField("SYS") - private String system; + private String syst; /** * 经度 */ @@ -91,4 +91,9 @@ public class GateConfigDO extends BusinessBaseDO { @TableField("LAT") private BigDecimal latitude; + /** + * (经纬度)的详细地址 + */ + @TableField("ADR") + private String address; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/GeofenceDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/GeofenceDO.java new file mode 100644 index 00000000..fef816a4 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/GeofenceDO.java @@ -0,0 +1,57 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; +import com.baomidou.mybatisplus.annotation.*; +import lombok.*; +/** +* 电子围栏 DO +* +* @author 后台管理 +*/ +@TableName("lgst_geof") +@KeySequence("lgst_geof_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class GeofenceDO extends BusinessBaseDO { + + + + /** + * id + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 厂区id + */ + @TableField("FACT_ID") + private Long factoryId; + /** + * 厂区名称 + */ + @TableField("FACT_NAME") + private String factoryName; + /** + * 厂区编码 + */ + @TableField("FACT_CDG") + private String factoryCoding; + /** + * 电子围栏类型,1圆形,2多边形 + */ + @TableField("GEOF_TP") + private Integer geofenceType; + /** + * 电子围栏详情json + */ + @TableField("GEOF_DTL") + private String geofenceDetail; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/PlaceArchiveMaterialDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/PlaceArchiveMaterialDO.java index 60128a3a..66f9c2d1 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/PlaceArchiveMaterialDO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/PlaceArchiveMaterialDO.java @@ -1,6 +1,6 @@ package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi; -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import com.baomidou.mybatisplus.annotation.*; import lombok.*; /** @@ -19,7 +19,7 @@ import lombok.*; /** * 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO */ -public class PlaceArchiveMaterialDO extends BusinessBaseDO { +public class PlaceArchiveMaterialDO extends BaseDO { @@ -32,12 +32,22 @@ public class PlaceArchiveMaterialDO extends BusinessBaseDO { * SAP编码 */ @TableField("SAP_CDG") - private String sapCoding; + private String sapcoding; /** * MDM编码 */ @TableField("MDM_CDG") - private String mDMCoding; + private String mdmcoding; + /** + * 物资ID + */ + @TableField("MTRL_ID") + private Long materialId; + /** + * 物资编码 + */ + @TableField("MTRL_CD") + private String materialCode; /** * 物料名称 */ @@ -97,12 +107,12 @@ public class PlaceArchiveMaterialDO extends BusinessBaseDO { * 中类代码 */ @TableField("MID_TP_CD") - private String middle‌TypeCode; + private String middleTypeCode; /** * 中类名称 */ @TableField("MID_TP_NAME") - private String middle‌TypeName; + private String middleTypeName; /** * 小类代码 */ @@ -118,5 +128,20 @@ public class PlaceArchiveMaterialDO extends BusinessBaseDO { */ @TableField("PLCE_TP") private String placeType; + /** + * 地点类型,业务id + */ + @TableField("BSN_ID") + private Long businessId; + /** + * 公司名称 + */ + @TableField("COMPANY_NAME") + private String companyName; + /** + * 公司编号 + */ + @TableField("COMPANY_ID") + private Long companyId; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/PortDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/PortDO.java index f58e2691..3a572edf 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/PortDO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/PortDO.java @@ -1,16 +1,10 @@ package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi; -import lombok.*; -import java.util.*; - import java.time.LocalDateTime; - import java.time.LocalDateTime; - import java.math.BigDecimal; - import java.math.BigDecimal; - import java.math.BigDecimal; - import java.math.BigDecimal; - import java.math.BigDecimal; -import com.baomidou.mybatisplus.annotation.*; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; +import com.baomidou.mybatisplus.annotation.*; +import lombok.*; + +import java.math.BigDecimal; /** * 港口信息 DO * @@ -101,6 +95,12 @@ public class PortDO extends BusinessBaseDO { */ @TableField("CORR_WRH") private String correlationWarehouse; + + /** + * 关联仓储id + */ + @TableField("CORR_WRH_ID") + private Long correlationWarehouseId; /** * 经度 */ @@ -112,4 +112,9 @@ public class PortDO extends BusinessBaseDO { @TableField("LAT") private BigDecimal latitude; + /** + * (经纬度)的详细地址 + */ + @TableField("ADR") + private String address; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/RailwayStationDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/RailwayStationDO.java index c8e407c4..cc4150b4 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/RailwayStationDO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/RailwayStationDO.java @@ -1,6 +1,6 @@ package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi; -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import com.baomidou.mybatisplus.annotation.*; import lombok.*; @@ -21,7 +21,7 @@ import java.math.BigDecimal; /** * 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO */ -public class RailwayStationDO extends BusinessBaseDO { +public class RailwayStationDO extends BaseDO { @@ -71,4 +71,9 @@ public class RailwayStationDO extends BusinessBaseDO { @TableField("LAT") private BigDecimal latitude; + /** + * (经纬度)的详细地址 + */ + @TableField("ADR") + private String address; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/WarehouseDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/WarehouseDO.java index 661ad6a1..fc418a11 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/WarehouseDO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/plceAchi/WarehouseDO.java @@ -1,6 +1,6 @@ package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi; -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import com.baomidou.mybatisplus.annotation.*; import lombok.*; @@ -21,7 +21,7 @@ import java.math.BigDecimal; /** * 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO */ -public class WarehouseDO extends BusinessBaseDO { +public class WarehouseDO extends BaseDO { @@ -50,6 +50,12 @@ public class WarehouseDO extends BusinessBaseDO { */ @TableField("CORR_FACT") private String correlationFactory; + + /** + * 关联工厂id + */ + @TableField("CORR_FACT_ID") + private String correlationFactoryId; /** * 仓库性质 */ @@ -91,4 +97,9 @@ public class WarehouseDO extends BusinessBaseDO { @TableField("LAT") private BigDecimal latitude; + /** + * (经纬度)的详细地址 + */ + @TableField("ADR") + private String address; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/rlwyMtrl/RlwyMtrlMainDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/rlwyMtrl/RailwayMaterialMainDO.java similarity index 76% rename from yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/rlwyMtrl/RlwyMtrlMainDO.java rename to yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/rlwyMtrl/RailwayMaterialMainDO.java index 82894784..65b98762 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/rlwyMtrl/RlwyMtrlMainDO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/rlwyMtrl/RailwayMaterialMainDO.java @@ -1,10 +1,5 @@ package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl; - - import lombok.*; -import java.util.*; -import java.time.LocalDateTime; -import java.time.LocalDateTime; import java.math.BigDecimal; import com.baomidou.mybatisplus.annotation.*; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; @@ -24,7 +19,7 @@ import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; /** * 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO */ -public class RlwyMtrlMainDO extends BusinessBaseDO { +public class RailwayMaterialMainDO extends BusinessBaseDO { @@ -37,66 +32,66 @@ public class RlwyMtrlMainDO extends BusinessBaseDO { * 状态 */ @TableField("STS") - private String sts; + private String status; /** * 铁路运输品名 */ @TableField("RLWY_TRP_NAME") - private String rlwyTrpName; + private String railwayTransportName; /** * 品名代码 */ @TableField("NAME_CD") - private String nameCd; + private String nameCode; /** * 拼音码 */ @TableField("PY_CD") - private String pyCd; + private String pinyinCode; /** * 报价费率 */ @TableField("CHRG_RTE") - private BigDecimal chrgRte; + private BigDecimal chargesRate; /** * 整车价号 */ @TableField("EX_PRC_CD") - private String exPrcCd; + private String exclusivePriceCode; /** * 零担价号 */ @TableField("PRTL_PRC_CD") - private String prtlPrcCd; + private String partialPriceCode; /** * 大类代码 */ @TableField("BIG_TP_CD") - private String bigTpCd; + private String bigTypeCode; /** * 大类名称 */ @TableField("BIG_TP_NAME") - private String bigTpName; + private String bigTypeName; /** * 中类代码 */ @TableField("MID_TP_CD") - private String midTpCd; + private String middleTypeCode; /** * 中类名称 */ @TableField("MID_TP_NAME") - private String midTpName; + private String middleTypeName; /** * 小类代码 */ @TableField("SMAL_TP_CD") - private String smalTpCd; + private String smallTypeCode; /** * 小类名称 */ @TableField("SMAL_TP_NAME") - private String smalTpName; + private String smallTypeName; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/rlwyMtrl/RlwyMtrlSubDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/rlwyMtrl/RailwayMaterialSubitemDO.java similarity index 75% rename from yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/rlwyMtrl/RlwyMtrlSubDO.java rename to yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/rlwyMtrl/RailwayMaterialSubitemDO.java index 88dd304b..a6395373 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/rlwyMtrl/RlwyMtrlSubDO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/rlwyMtrl/RailwayMaterialSubitemDO.java @@ -1,10 +1,6 @@ package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl; import lombok.*; -import java.util.*; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.math.BigDecimal; import com.baomidou.mybatisplus.annotation.*; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; /** @@ -23,7 +19,7 @@ import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; /** * 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO */ -public class RlwyMtrlSubDO extends BusinessBaseDO { +public class RailwayMaterialSubitemDO extends BusinessBaseDO { @@ -41,56 +37,56 @@ public class RlwyMtrlSubDO extends BusinessBaseDO { * 物资ID */ @TableField("MTRL_ID") - private Long mtrlId; + private Long materialId; /** * SAP编码 */ @TableField("SAP_CD") - private String sapCd; + private String sAPCode; /** * MDM编码 */ @TableField("MDM_CD") - private String mdmCd; + private String mDMCode; /** * 物料名称 */ @TableField("MTRL_NAME") - private String mtrlName; + private String materialName; /** * 长描述 */ @TableField("DSP") - private String dsp; + private String description; /** * 大类代码 */ @TableField("BIG_TP_CD") - private String bigTpCd; + private String bigTypeCode; /** * 大类名称 */ @TableField("BIG_TP_NAME") - private String bigTpName; + private String bigTypeName; /** * 中类代码 */ @TableField("MID_TP_CD") - private String midTpCd; + private String middleTypeCode; /** * 中类名称 */ @TableField("MID_TP_NAME") - private String midTpName; + private String middleTypeName; /** * 小类代码 */ - @TableField("SMAL_TP_CODE") - private String smalTpCode; + @TableField("SMAL_TP_CD") + private String smallTypeCode; /** * 小类名称 */ @TableField("SMAL_TP_NAME") - private String smalTpName; + private String smallTypeName; } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/shp/CollaborationShipArchiveDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/shp/CollaborationShipArchiveDO.java new file mode 100644 index 00000000..494a49d4 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/shp/CollaborationShipArchiveDO.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.shp; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; +import com.baomidou.mybatisplus.annotation.*; +import lombok.*; + +/** +* 船舶档案 DO +* +* @author 后台管理 +*/ +@TableName("lgst_coll_shp_achi") +@KeySequence("lgst_coll_shp_achi_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class CollaborationShipArchiveDO extends BusinessBaseDO { + + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 船舶ID + */ + @TableField("SHP_ID") + private Long shipId; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/shp/ShipArchiveDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/shp/ShipArchiveDO.java new file mode 100644 index 00000000..8fc96209 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/shp/ShipArchiveDO.java @@ -0,0 +1,176 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.shp; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 船舶档案 DO + * + * @author 后台管理 + */ +@TableName("lgst_shp_achi") +@KeySequence("lgst_shp_achi_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** + * 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO + */ +public class ShipArchiveDO extends BusinessBaseDO { + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + @Schema(description = "ID") + private Long id; + + /** + * IMO码 + */ + @TableField("IMO_CD") + @Schema(description = "IMO码") + private String iMOCode; + + /** + * 船舶类型 + */ + @TableField("SHP_CTGR") + @Schema(description = "船舶类型") + private String shipCategory; + + /** + * 中文船名 + */ + @TableField("SHP_CHS_NAME") + @Schema(description = "中文船名") + private String shipChineseName; + + /** + * 英文船名 + */ + @TableField("SHP_EN_NAME") + @Schema(description = "英文船名") + private String shipEnglishName; + + /** + * 船舶种类 + */ + @TableField("SHP_TP") + @Schema(description = "船舶种类") + private String shipType; + + /** + * 船级 + */ + @TableField("SHP_LVL") + @Schema(description = "船级") + private String shipLevel; + + /** + * 船籍国 + */ + @TableField("SHP_NTN") + @Schema(description = "船籍国") + private String shipNation; + + /** + * 船长(M) + */ + @TableField("SHP_LEN") + @Schema(description = "船长(M)") + private BigDecimal shipLength; + + /** + * 型宽(M) + */ + @TableField("SHP_WDTH") + @Schema(description = "型宽(M)") + private BigDecimal shipWidth; + + /** + * 型深(M) + */ + @TableField("SHP_DPTH") + @Schema(description = "型深(M)") + private BigDecimal shipDepth; + + /** + * 总吨 + */ + @TableField("GRS_TON") + @Schema(description = "总吨") + private BigDecimal grossTonnage; + + /** + * 净吨 + */ + @TableField("NET_TON") + @Schema(description = "净吨") + private BigDecimal netTonnage; + + /** + * 可装标箱(箱) + */ + @TableField("LOD_CTNR_QTY") + @Schema(description = "可装标箱(箱)") + private Long loadingContainerQuantity; + + /** + * 船舶识别号(CN) + */ + @TableField("SHP_DET_CD") + @Schema(description = "船舶识别号(CN)") + private String shipDetectCode; + + /** + * 通信业务标识码(MMSI) + */ + @TableField("MMSI_CD") + @Schema(description = "通信业务标识码(MMSI)") + private String mMSICode; + + /** + * 船籍港 + */ + @TableField("PRT_OF_REG") + @Schema(description = "船籍港") + private String portOfRegistry; + + /** + * 船舶所有人 + */ + @TableField("SPO") + @Schema(description = "船舶所有人") + private String shipowner; + + /** + * 所有人地址 + */ + @TableField("SPO_ADR") + @Schema(description = "所有人地址") + private String shipownerAddress; + + /** + * 发证时间 + */ + @TableField("CRTF_ISSU_TM") + @Schema(description = "发证时间") + private LocalDateTime certificateIssuingTime; + + /** + * 发证机关 + */ + @TableField("CRTF_ISSU_AGC") + @Schema(description = "发证机关") + private String certificateIssuingAgency; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/common/OperationLogDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/common/OperationLogDO.java new file mode 100644 index 00000000..5841137b --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/common/OperationLogDO.java @@ -0,0 +1,47 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.common; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.*; +import lombok.*; +/** +* 操作日志 DO +* +* @author 后台管理 +*/ +@TableName("lgst_optn_log") +@KeySequence("lgst_optn_log_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class OperationLogDO extends BaseDO { + + + + /** + * 主键ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 日志内容 + */ + @TableField("CNTT") + private String content; + /** + * 数据id + */ + @TableField("DAT_ID") + private Long dataId; + /** + * 数据类型 + */ + @TableField("DAT_TP") + private String dataType; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/acct/ChildAccountMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/acct/ChildAccountMapper.java new file mode 100644 index 00000000..d2a95ec3 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/acct/ChildAccountMapper.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.acct; + +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.ChildAccountPageReqVo; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.ChildAccountRespVo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface ChildAccountMapper { + IPage selectChildAccountPage(IPage page,@Param("vo") ChildAccountPageReqVo reqVO); + + /** + * 根据部门id查询所有子账号 + * @param deptId + * @return + */ + List selectChildAccountList(@Param("deptId")Long deptId ); +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/acct/DrivingAccountMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/acct/DrivingAccountMapper.java index 81a8c9ae..af0a27c7 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/acct/DrivingAccountMapper.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/acct/DrivingAccountMapper.java @@ -32,7 +32,7 @@ public interface DrivingAccountMapper extends BaseMapperX { // .eqIfPresent(DrivingAccountDO::getDrivingExpiryEnd, reqVO.getDrivingExpiryEnd()) .eqIfPresent(DrivingAccountDO::getIsPermanentlyDriving, reqVO.getIsPermanentlyDriving()) .eqIfPresent(DrivingAccountDO::getDrivingType, reqVO.getDrivingType()) - .eqIfPresent(DrivingAccountDO::getRegistrationAgency, reqVO.getRegistrationAgency()) + //.eqIfPresent(DrivingAccountDO::getRegistrationAgency, reqVO.getRegistrationAgency()) .eqIfPresent(DrivingAccountDO::getDocumentNo, reqVO.getDocumentNo()) .eqIfPresent(DrivingAccountDO::getMajorQualificationNo, reqVO.getMajorQualificationNo()) .eqIfPresent(DrivingAccountDO::getOrigin, reqVO.getOrigin()) diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/crAchi/CarArchiveMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/crAchi/CarArchiveMapper.java new file mode 100644 index 00000000..eb447824 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/crAchi/CarArchiveMapper.java @@ -0,0 +1,49 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.crAchi; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarArchivePageReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.crAchi.CarArchiveDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 车辆档案 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface CarArchiveMapper extends BaseMapperX { + + default PageResult selectPage(CarArchivePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .betweenIfPresent(CarArchiveDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(CarArchiveDO::getArchiveNumber, reqVO.getArchiveNumber()) + .eqIfPresent(CarArchiveDO::getCarNumber, reqVO.getCarNumber()) + .eqIfPresent(CarArchiveDO::getCarLabel, reqVO.getCarLabel()) + .eqIfPresent(CarArchiveDO::getCorrelationTrailer, reqVO.getCorrelationTrailer()) + .eqIfPresent(CarArchiveDO::getIsBlacklist, reqVO.getIsBlacklist()) + .eqIfPresent(CarArchiveDO::getCarColor, reqVO.getCarColor()) + .eqIfPresent(CarArchiveDO::getCarNumberColor, reqVO.getCarNumberColor()) + .eqIfPresent(CarArchiveDO::getEmissionPhase, reqVO.getEmissionPhase()) + .eqIfPresent(CarArchiveDO::getFuelType, reqVO.getFuelType()) + .eqIfPresent(CarArchiveDO::getCarAxisCount, reqVO.getCarAxisCount()) + .eqIfPresent(CarArchiveDO::getCarOwner, reqVO.getCarOwner()) + .eqIfPresent(CarArchiveDO::getVin, reqVO.getVin()) + .eqIfPresent(CarArchiveDO::getEngineNumber, reqVO.getEngineNumber()) + .eqIfPresent(CarArchiveDO::getUseNature, reqVO.getUseNature()) + .eqIfPresent(CarArchiveDO::getCarType, reqVO.getCarType()) + .eqIfPresent(CarArchiveDO::getBrandModel, reqVO.getBrandModel()) + .eqIfPresent(CarArchiveDO::getTotalQuality, reqVO.getTotalQuality()) + .eqIfPresent(CarArchiveDO::getAssessmentLoadingQuality, reqVO.getAssessmentLoadingQuality()) + .eqIfPresent(CarArchiveDO::getPreparationQuality, reqVO.getPreparationQuality()) + .eqIfPresent(CarArchiveDO::getLength, reqVO.getLength()) + .eqIfPresent(CarArchiveDO::getWidth, reqVO.getWidth()) + .eqIfPresent(CarArchiveDO::getHeight, reqVO.getHeight()) + .betweenIfPresent(CarArchiveDO::getRegistryTime, reqVO.getRegistryTime()) + .betweenIfPresent(CarArchiveDO::getCertificateIssuingTime, reqVO.getCertificateIssuingTime()) + .eqIfPresent(CarArchiveDO::getCertificateIssuingAgency, reqVO.getCertificateIssuingAgency()) + .orderByDesc(CarArchiveDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/crAchi/CarBlacklistMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/crAchi/CarBlacklistMapper.java new file mode 100644 index 00000000..a09ce0ca --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/crAchi/CarBlacklistMapper.java @@ -0,0 +1,28 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.crAchi; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarBlacklistPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.crAchi.CarBlacklistDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 车辆黑名单 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface CarBlacklistMapper extends BaseMapperX { + + default PageResult selectPage(CarBlacklistPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .betweenIfPresent(CarBlacklistDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(CarBlacklistDO::getCarId, reqVO.getCarId()) + .eqIfPresent(CarBlacklistDO::getOperationCause, reqVO.getOperationCause()) + .eqIfPresent(CarBlacklistDO::getProcessingCause, reqVO.getProcessingCause()) + .eqIfPresent(CarBlacklistDO::getStatus, reqVO.getStatus()) + .orderByDesc(CarBlacklistDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/crAchi/CollaborationCarArchiveMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/crAchi/CollaborationCarArchiveMapper.java new file mode 100644 index 00000000..f0fa2870 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/crAchi/CollaborationCarArchiveMapper.java @@ -0,0 +1,31 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.crAchi; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CollaborationCarArchivePageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CollaborationCarArchiveRespVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.crAchi.CollaborationCarArchiveDO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 协同车辆档案 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface CollaborationCarArchiveMapper extends BaseMapperX { + + default PageResult selectPage(CollaborationCarArchivePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .betweenIfPresent(CollaborationCarArchiveDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(CollaborationCarArchiveDO::getCarId, reqVO.getCarId()) + .orderByDesc(CollaborationCarArchiveDO::getId)); + } + + IPage selectPageWithCarArchive(IPage page, @Param("reqVO") CollaborationCarArchivePageReqVO reqVO); + + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/env/EnvironmentalIntoMainMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/env/EnvironmentalIntoMainMapper.java new file mode 100644 index 00000000..1826cb8a --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/env/EnvironmentalIntoMainMapper.java @@ -0,0 +1,28 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.env; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo.EnvironmentalIntoMainPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.env.EnvironmentalIntoMainDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 环保进场管理主 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface EnvironmentalIntoMainMapper extends BaseMapperX { + + default PageResult selectPage(EnvironmentalIntoMainPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .betweenIfPresent(EnvironmentalIntoMainDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(EnvironmentalIntoMainDO::getStatus, reqVO.getStatus()) + .eqIfPresent(EnvironmentalIntoMainDO::getBusinessType, reqVO.getBusinessType()) + .eqIfPresent(EnvironmentalIntoMainDO::getLimitMaterial, reqVO.getLimitMaterial()) + .eqIfPresent(EnvironmentalIntoMainDO::getEmissionLevel, reqVO.getEmissionLevel()) + .orderByDesc(EnvironmentalIntoMainDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/env/EnvironmentalIntoSubitemMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/env/EnvironmentalIntoSubitemMapper.java new file mode 100644 index 00000000..ccc9e4a4 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/env/EnvironmentalIntoSubitemMapper.java @@ -0,0 +1,38 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.env; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo.EnvironmentalIntoSubitemPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.env.EnvironmentalIntoSubitemDO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 环保进场管理子 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface EnvironmentalIntoSubitemMapper extends BaseMapperX { + + default PageResult selectPage(EnvironmentalIntoSubitemPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .betweenIfPresent(EnvironmentalIntoSubitemDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(EnvironmentalIntoSubitemDO::getMainId, reqVO.getMainId()) + .eqIfPresent(EnvironmentalIntoSubitemDO::getMaterialId, reqVO.getMaterialId()) + .eqIfPresent(EnvironmentalIntoSubitemDO::getMaterialCode, reqVO.getMaterialCode()) + .likeIfPresent(EnvironmentalIntoSubitemDO::getMaterialName, reqVO.getMaterialName()) + .eqIfPresent(EnvironmentalIntoSubitemDO::getBigTypeCode, reqVO.getBigTypeCode()) + .likeIfPresent(EnvironmentalIntoSubitemDO::getBigTypeName, reqVO.getBigTypeName()) + .eqIfPresent(EnvironmentalIntoSubitemDO::getMiddleTypeCode, reqVO.getMiddleTypeCode()) + .likeIfPresent(EnvironmentalIntoSubitemDO::getMiddleTypeName, reqVO.getMiddleTypeName()) + .eqIfPresent(EnvironmentalIntoSubitemDO::getSmallTypeCode, reqVO.getSmallTypeCode()) + .likeIfPresent(EnvironmentalIntoSubitemDO::getSmallTypeName, reqVO.getSmallTypeName()) + .orderByDesc(EnvironmentalIntoSubitemDO::getId)); + } + + Integer checkMaterialExists(@Param("materialId")Long materialId,@Param("businessType")String businessType); + + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/mtrl/ClassesMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/mtrl/ClassesMapper.java new file mode 100644 index 00000000..4f57e73e --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/mtrl/ClassesMapper.java @@ -0,0 +1,31 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.mtrl; + +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.ClassesPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl.ClassesDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 物料分类 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface ClassesMapper extends BaseMapperX { + + default List selectList(ClassesPageReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(ClassesDO::getParentId, reqVO.getParentId()) + .eqIfPresent(ClassesDO::getCode, reqVO.getCode()) + .likeIfPresent(ClassesDO::getName, reqVO.getName()) + .eqIfPresent(ClassesDO::getLevel, reqVO.getLevel()) + .eqIfPresent(ClassesDO::getRemark, reqVO.getRemark()) + .betweenIfPresent(ClassesDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(ClassesDO::getId)); + } + + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/mtrl/MaterialExpandMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/mtrl/MaterialExpandMapper.java new file mode 100644 index 00000000..17d41d9c --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/mtrl/MaterialExpandMapper.java @@ -0,0 +1,33 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.mtrl; + +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MaterialExpandPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MaterialExpandRespVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl.ClassesDO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl.MaterialExpandDO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 物资信息扩展 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface MaterialExpandMapper extends BaseMapperX { + + + IPage selectPage2(IPage page, @Param("reqVO") MaterialExpandPageReqVO reqVO); + + MaterialExpandDO selectByMaterialId(@Param("materialId") Long materialId); + + + List selectMaterialClasses(@Param("materialIds")List materialIds); + + ClassesDO selectMaterialClasses2(Long classesId); + + List selectMaterialList(@Param("reqVO")MaterialExpandPageReqVO pageReqVO); +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/mtrl/MtrlClsMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/mtrl/MtrlClsMapper.java deleted file mode 100644 index 9432a5ba..00000000 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/mtrl/MtrlClsMapper.java +++ /dev/null @@ -1,32 +0,0 @@ -package cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.mtrl; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlClsListReqVO; -import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl.MtrlClsDO; -import org.apache.ibatis.annotations.Mapper; - -/** - * 物料分类 Mapper - * - * @author 后台管理 - */ -@Mapper -public interface MtrlClsMapper extends BaseMapperX { - - default List selectList(MtrlClsListReqVO reqVO) { - return selectList(new LambdaQueryWrapperX() - .eqIfPresent(MtrlClsDO::getParentId, reqVO.getParentId()) - .eqIfPresent(MtrlClsDO::getCode, reqVO.getCode()) - .likeIfPresent(MtrlClsDO::getName, reqVO.getName()) - .eqIfPresent(MtrlClsDO::getLevel, reqVO.getLevel()) - .eqIfPresent(MtrlClsDO::getRemark, reqVO.getRemark()) - .betweenIfPresent(MtrlClsDO::getCreateTime, reqVO.getCreateTime()) - .orderByDesc(MtrlClsDO::getId)); - } - - -} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/mtrl/MtrlXpdMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/mtrl/MtrlXpdMapper.java deleted file mode 100644 index 92ad7164..00000000 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/mtrl/MtrlXpdMapper.java +++ /dev/null @@ -1,30 +0,0 @@ -package cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.mtrl; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlXpdPageReqVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlXpdRespVO; -import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl.MtrlXpdDO; -import com.baomidou.mybatisplus.core.metadata.IPage; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -/** - * 物资信息扩展 Mapper - * - * @author 后台管理 - */ -@Mapper -public interface MtrlXpdMapper extends BaseMapperX { - - - IPage selectPage2(IPage page, @Param("reqVO") MtrlXpdPageReqVO reqVO); - - MtrlXpdDO selectByMaterialId(@Param("materialId") Long materialId); - - - List selectMaterialClasses(@Param("materialIds")List materialIds); -} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/myDriver/MyDriverMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/myDriver/MyDriverMapper.java new file mode 100644 index 00000000..bbbe0531 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/myDriver/MyDriverMapper.java @@ -0,0 +1,19 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.myDriver; + +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myDriver.vo.MyDriverPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myDriver.vo.MyDriverRespVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.myDriver.MyDriverDO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 协同我的司机 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface MyDriverMapper extends BaseMapperX { + IPage selectPage(IPage page, @Param("reqVO") MyDriverPageReqVO reqVO); +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/myWrh/MyWrhMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/myWrh/MyWrhMapper.java new file mode 100644 index 00000000..0d208918 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/myWrh/MyWrhMapper.java @@ -0,0 +1,20 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.myWrh; + +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myWrh.vo.MyWrhPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myWrh.vo.MyWrhRespVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.myWrh.MyWrhDO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 协同我的仓库 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface MyWrhMapper extends BaseMapperX { + + IPage selectPage(IPage page, @Param("reqVO") MyWrhPageReqVO pageReqVO); +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/AuncelConfigMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/AuncelConfigMapper.java index 8eb68147..c006c263 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/AuncelConfigMapper.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/AuncelConfigMapper.java @@ -5,8 +5,11 @@ import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.AuncelConfigPageReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.AuncelConfigDO; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 计量点配置 Mapper * @@ -19,7 +22,24 @@ public interface AuncelConfigMapper extends BaseMapperX { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(AuncelConfigDO::getAuncelName, reqVO.getAuncelName()) .likeIfPresent(AuncelConfigDO::getAuncelCoding, reqVO.getAuncelCoding()) + .eq(AuncelConfigDO::getCompanyId, reqVO.getCompanyId()) .orderByDesc(AuncelConfigDO::getId)); } + default List getByNameOrCode(Long id , String name, String code) { + //根据仓库名称或仓库编码,排除当前id查询是否有数据存在 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .and(w -> w.eq(AuncelConfigDO::getAuncelName, name) + .or() + .eq(AuncelConfigDO::getAuncelCoding, code) + ) + .eq(AuncelConfigDO::getDeleted, 0); + + // 如果id不为空,则排除该id的记录 + if (id != null) { + queryWrapper.ne(AuncelConfigDO::getId, id); + } + + return selectList(queryWrapper); + } } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/ConsigneeAddressMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/ConsigneeAddressMapper.java index 211c50f3..368776de 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/ConsigneeAddressMapper.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/ConsigneeAddressMapper.java @@ -5,8 +5,11 @@ import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ConsigneeAddressPageReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.ConsigneeAddressDO; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 客户收货地址 Mapper * @@ -22,4 +25,20 @@ public interface ConsigneeAddressMapper extends BaseMapperX .orderByDesc(ConsigneeAddressDO::getId)); } + default List getByNameOrCode(Long id , String name, String code) { + //根据仓库名称或仓库编码,排除当前id查询是否有数据存在 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .and(w -> w.eq(ConsigneeAddressDO::getPlaceName, name) + .or() + .eq(ConsigneeAddressDO::getPlaceCoding, code) + ) + .eq(ConsigneeAddressDO::getDeleted, 0); + + // 如果id不为空,则排除该id的记录 + if (id != null) { + queryWrapper.ne(ConsigneeAddressDO::getId, id); + } + + return selectList(queryWrapper); + } } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/FactoryMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/FactoryMapper.java index 2ace909e..73dea2b3 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/FactoryMapper.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/FactoryMapper.java @@ -5,8 +5,11 @@ import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.FactoryPageReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.FactoryDO; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 生产厂区信息 Mapper * @@ -19,7 +22,25 @@ public interface FactoryMapper extends BaseMapperX { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(FactoryDO::getFactoryName, reqVO.getFactoryName()) .likeIfPresent(FactoryDO::getFactoryCoding, reqVO.getFactoryCoding()) + .eq(FactoryDO::getCompanyId, reqVO.getCompanyId()) .orderByDesc(FactoryDO::getId)); } + default List getByNameOrCode(Long id , String name, String code) { + //根据仓库名称或仓库编码,排除当前id查询是否有数据存在 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .and(w -> w.eq(FactoryDO::getFactoryName, name) + .or() + .eq(FactoryDO::getFactoryCoding, code) + ) + .eq(FactoryDO::getDeleted, 0); + + // 如果id不为空,则排除该id的记录 + if (id != null) { + queryWrapper.ne(FactoryDO::getId, id); + } + + return selectList(queryWrapper); + } + } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/ForeignAreaMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/ForeignAreaMapper.java new file mode 100644 index 00000000..1031d917 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/ForeignAreaMapper.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.plceAchi; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ForeignAreaPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.ForeignAreaDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 国外区域 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface ForeignAreaMapper extends BaseMapperX { + + default PageResult selectPage(ForeignAreaPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(ForeignAreaDO::getName, reqVO.getName()) + .orderByDesc(ForeignAreaDO::getId)); + } + + default List getForeignAreaDropdown(Long id, String name) { + return selectList(new LambdaQueryWrapperX() + .likeIfPresent(ForeignAreaDO::getName, name) + .eq(ForeignAreaDO::getDeleted, 0) + .eq(ForeignAreaDO::getParentId, id) + .orderByDesc(ForeignAreaDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/GateConfigMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/GateConfigMapper.java index 0b8a1a73..ba5a8f99 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/GateConfigMapper.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/GateConfigMapper.java @@ -4,9 +4,12 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GateConfigPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GateConfigUpdateReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.GateConfigDO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 门岗信息 Mapper * @@ -19,7 +22,10 @@ public interface GateConfigMapper extends BaseMapperX { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(GateConfigDO::getGateName, reqVO.getGateName()) .likeIfPresent(GateConfigDO::getGateCoding, reqVO.getGateCoding()) + .eq(GateConfigDO::getCompanyId, reqVO.getCompanyId()) .orderByDesc(GateConfigDO::getId)); } + List getByNameOrCode(GateConfigUpdateReqVO updateReqVO); + } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/GeofenceMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/GeofenceMapper.java new file mode 100644 index 00000000..bd034a95 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/GeofenceMapper.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.plceAchi; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.FactoryTreeRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GeofencePageReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.GeofenceDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 电子围栏 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface GeofenceMapper extends BaseMapperX { + + default PageResult selectPage(GeofencePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(GeofenceDO::getFactoryId, reqVO.getFactoryId()) + .likeIfPresent(GeofenceDO::getFactoryName, reqVO.getFactoryName()) + .eqIfPresent(GeofenceDO::getFactoryCoding, reqVO.getFactoryCoding()) + .in(GeofenceDO::getCompanyId, reqVO.getCompanyIds()) + .orderByDesc(GeofenceDO::getId)); + } + + default GeofenceDO selectByFactoryId(Long factoryId){ + return selectOne(new LambdaQueryWrapperX() + .eq(GeofenceDO::getFactoryId, factoryId)); + } + + List queryFactoryTree(Long loginUserCompanyId); +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/PlaceArchiveMaterialMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/PlaceArchiveMaterialMapper.java index 021d9e40..c822c652 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/PlaceArchiveMaterialMapper.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/PlaceArchiveMaterialMapper.java @@ -4,9 +4,12 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PlaceArchiveMaterialPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PlaceArchiveMaterialSaveReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.PlaceArchiveMaterialDO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 地点档案物料信息 Mapper * @@ -17,9 +20,18 @@ public interface PlaceArchiveMaterialMapper extends BaseMapperX selectPage(PlaceArchiveMaterialPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() - .likeIfPresent(PlaceArchiveMaterialDO::getMDMCoding, reqVO.getMDMCoding()) + .eq(PlaceArchiveMaterialDO::getPlaceType, reqVO.getPlaceType()) + .eq(PlaceArchiveMaterialDO::getBusinessId, reqVO.getBusinessId()) + .likeIfPresent(PlaceArchiveMaterialDO::getMaterialCode, reqVO.getMaterialCode()) .likeIfPresent(PlaceArchiveMaterialDO::getMaterialName, reqVO.getMaterialName()) .orderByDesc(PlaceArchiveMaterialDO::getId)); } + /** + * 分帐套查询物料ID是否已经使用 + * --@param companyIds 账套id + * @param createReqVO 查询条件 + * @return + */ + List getByMaterialId(PlaceArchiveMaterialSaveReqVO createReqVO); } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/PortMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/PortMapper.java index e760d7be..d48639bd 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/PortMapper.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/PortMapper.java @@ -5,8 +5,11 @@ import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PortPageReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.PortDO; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 港口信息 Mapper * @@ -19,7 +22,24 @@ public interface PortMapper extends BaseMapperX { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(PortDO::getPortName, reqVO.getPortName()) .likeIfPresent(PortDO::getPortCoding, reqVO.getPortCoding()) + .eq(PortDO::getCompanyId, reqVO.getCompanyId()) .orderByDesc(PortDO::getId)); } + default List getByNameOrCode(Long id , String name, String code) { + //根据仓库名称或仓库编码,排除当前id查询是否有数据存在 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .and(w -> w.eq(PortDO::getPortName, name) + .or() + .eq(PortDO::getPortCoding, code) + ) + .eq(PortDO::getDeleted, 0); + + // 如果id不为空,则排除该id的记录 + if (id != null) { + queryWrapper.ne(PortDO::getId, id); + } + + return selectList(queryWrapper); + } } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/RailwayStationMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/RailwayStationMapper.java index 38392873..79e2137a 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/RailwayStationMapper.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/RailwayStationMapper.java @@ -5,8 +5,11 @@ import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.RailwayStationPageReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.RailwayStationDO; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 铁路站点维护 Mapper * @@ -22,4 +25,20 @@ public interface RailwayStationMapper extends BaseMapperX { .orderByDesc(RailwayStationDO::getId)); } + default List getByNameOrCode(Long id , String name, String code) { + //根据名称或编码,排除当前id查询是否有数据存在 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .and(w -> w.eq(RailwayStationDO::getRailwayStationName, name) + .or() + .eq(RailwayStationDO::getRailwayStationCoding, code) + ) + .eq(RailwayStationDO::getDeleted, 0); + + // 如果id不为空,则排除该id的记录 + if (id != null) { + queryWrapper.ne(RailwayStationDO::getId, id); + } + + return selectList(queryWrapper); + } } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/WarehouseMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/WarehouseMapper.java index fa48d38c..5398482f 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/WarehouseMapper.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/plceAchi/WarehouseMapper.java @@ -5,8 +5,11 @@ import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.WarehousePageReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.WarehouseDO; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 仓库信息 Mapper * @@ -21,5 +24,25 @@ public interface WarehouseMapper extends BaseMapperX { .likeIfPresent(WarehouseDO::getWarehouseCoding, reqVO.getWarehouseCoding()) .orderByDesc(WarehouseDO::getId)); } + default List getByNameOrCode(Long id ,String name, String code) { + //根据仓库名称或仓库编码,排除当前id查询是否有数据存在 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .and(w -> w.eq(WarehouseDO::getWarehouseName, name) + .or() + .eq(WarehouseDO::getWarehouseCoding, code) + ) + .eq(WarehouseDO::getDeleted, 0); + // 如果id不为空,则排除该id的记录 + if (id != null) { + queryWrapper.ne(WarehouseDO::getId, id); + } + + return selectList(queryWrapper); + } + + default List getByName(String name) { + return selectList(new LambdaQueryWrapperX() + .likeIfPresent(WarehouseDO::getWarehouseName, name)); + } } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/rlwyMtrl/RailwayMaterialMainMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/rlwyMtrl/RailwayMaterialMainMapper.java new file mode 100644 index 00000000..e76464bd --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/rlwyMtrl/RailwayMaterialMainMapper.java @@ -0,0 +1,39 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.rlwyMtrl; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RailwayMaterialMainPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RailwayMaterialMainDO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 铁路物资对照主 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface RailwayMaterialMainMapper extends BaseMapperX { + + default PageResult selectPage(RailwayMaterialMainPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .betweenIfPresent(RailwayMaterialMainDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(RailwayMaterialMainDO::getStatus, reqVO.getStatus()) + .likeIfPresent(RailwayMaterialMainDO::getRailwayTransportName, reqVO.getRailwayTransportName()) + .eqIfPresent(RailwayMaterialMainDO::getNameCode, reqVO.getNameCode()) + .eqIfPresent(RailwayMaterialMainDO::getPinyinCode, reqVO.getPinyinCode()) + .eqIfPresent(RailwayMaterialMainDO::getChargesRate, reqVO.getChargesRate()) + .eqIfPresent(RailwayMaterialMainDO::getExclusivePriceCode, reqVO.getExclusivePriceCode()) + .eqIfPresent(RailwayMaterialMainDO::getPartialPriceCode, reqVO.getPartialPriceCode()) + .eqIfPresent(RailwayMaterialMainDO::getBigTypeCode, reqVO.getBigTypeCode()) + .likeIfPresent(RailwayMaterialMainDO::getBigTypeName, reqVO.getBigTypeName()) + .eqIfPresent(RailwayMaterialMainDO::getMiddleTypeCode, reqVO.getMiddleTypeCode()) + .likeIfPresent(RailwayMaterialMainDO::getMiddleTypeName, reqVO.getMiddleTypeName()) + .eqIfPresent(RailwayMaterialMainDO::getSmallTypeCode, reqVO.getSmallTypeCode()) + .likeIfPresent(RailwayMaterialMainDO::getSmallTypeName, reqVO.getSmallTypeName()) + .orderByDesc(RailwayMaterialMainDO::getId)); + } + + Integer checkNameCode(@Param("nameCode") String nameCode, @Param("railwayTransportName") String railwayTransportName); +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/rlwyMtrl/RailwayMaterialSubitemMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/rlwyMtrl/RailwayMaterialSubitemMapper.java new file mode 100644 index 00000000..58c62ae7 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/rlwyMtrl/RailwayMaterialSubitemMapper.java @@ -0,0 +1,38 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.rlwyMtrl; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RailwayMaterialSubitemPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RailwayMaterialSubitemDO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 铁路物资对照子 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface RailwayMaterialSubitemMapper extends BaseMapperX { + + default PageResult selectPage(RailwayMaterialSubitemPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .betweenIfPresent(RailwayMaterialSubitemDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(RailwayMaterialSubitemDO::getMainId, reqVO.getMainId()) + .eqIfPresent(RailwayMaterialSubitemDO::getMaterialId, reqVO.getMaterialId()) + .eqIfPresent(RailwayMaterialSubitemDO::getSAPCode, reqVO.getSAPCode()) + .eqIfPresent(RailwayMaterialSubitemDO::getMDMCode, reqVO.getMDMCode()) + .likeIfPresent(RailwayMaterialSubitemDO::getMaterialName, reqVO.getMaterialName()) + .eqIfPresent(RailwayMaterialSubitemDO::getDescription, reqVO.getDescription()) + .eqIfPresent(RailwayMaterialSubitemDO::getBigTypeCode, reqVO.getBigTypeCode()) + .likeIfPresent(RailwayMaterialSubitemDO::getBigTypeName, reqVO.getBigTypeName()) + .eqIfPresent(RailwayMaterialSubitemDO::getMiddleTypeCode, reqVO.getMiddleTypeCode()) + .likeIfPresent(RailwayMaterialSubitemDO::getMiddleTypeName, reqVO.getMiddleTypeName()) + .eqIfPresent(RailwayMaterialSubitemDO::getSmallTypeCode, reqVO.getSmallTypeCode()) + .likeIfPresent(RailwayMaterialSubitemDO::getSmallTypeName, reqVO.getSmallTypeName()) + .orderByDesc(RailwayMaterialSubitemDO::getId)); + } + + Integer checkMaterialExists(@Param("materialId")Long materialId); +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/rlwyMtrl/RlwyMtrlMainMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/rlwyMtrl/RlwyMtrlMainMapper.java deleted file mode 100644 index 5b91aae9..00000000 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/rlwyMtrl/RlwyMtrlMainMapper.java +++ /dev/null @@ -1,40 +0,0 @@ -package cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.rlwyMtrl; - - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlMainPageReqVO; -import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RlwyMtrlMainDO; -import org.apache.ibatis.annotations.Mapper; - -/** - * 铁路物资对照主 Mapper - * - * @author 后台管理 - */ -@Mapper -public interface RlwyMtrlMainMapper extends BaseMapperX { - - default PageResult selectPage(RlwyMtrlMainPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .betweenIfPresent(RlwyMtrlMainDO::getCreateTime, reqVO.getCreateTime()) - .eqIfPresent(RlwyMtrlMainDO::getSts, reqVO.getSts()) - .likeIfPresent(RlwyMtrlMainDO::getRlwyTrpName, reqVO.getRlwyTrpName()) - .eqIfPresent(RlwyMtrlMainDO::getNameCd, reqVO.getNameCd()) - .eqIfPresent(RlwyMtrlMainDO::getPyCd, reqVO.getPyCd()) - .eqIfPresent(RlwyMtrlMainDO::getChrgRte, reqVO.getChrgRte()) - .eqIfPresent(RlwyMtrlMainDO::getExPrcCd, reqVO.getExPrcCd()) - .eqIfPresent(RlwyMtrlMainDO::getPrtlPrcCd, reqVO.getPrtlPrcCd()) - .eqIfPresent(RlwyMtrlMainDO::getBigTpCd, reqVO.getBigTpCd()) - .likeIfPresent(RlwyMtrlMainDO::getBigTpName, reqVO.getBigTpName()) - .eqIfPresent(RlwyMtrlMainDO::getMidTpCd, reqVO.getMidTpCd()) - .likeIfPresent(RlwyMtrlMainDO::getMidTpName, reqVO.getMidTpName()) - .eqIfPresent(RlwyMtrlMainDO::getSmalTpCd, reqVO.getSmalTpCd()) - .likeIfPresent(RlwyMtrlMainDO::getSmalTpName, reqVO.getSmalTpName()) - .orderByDesc(RlwyMtrlMainDO::getId)); - } - -} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/rlwyMtrl/RlwyMtrlSubMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/rlwyMtrl/RlwyMtrlSubMapper.java deleted file mode 100644 index fa0d4120..00000000 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/rlwyMtrl/RlwyMtrlSubMapper.java +++ /dev/null @@ -1,38 +0,0 @@ -package cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.rlwyMtrl; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlSubPageReqVO; -import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RlwyMtrlSubDO; -import org.apache.ibatis.annotations.Mapper; - -/** - * 铁路物资对照子 Mapper - * - * @author 后台管理 - */ -@Mapper -public interface RlwyMtrlSubMapper extends BaseMapperX { - - default PageResult selectPage(RlwyMtrlSubPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .betweenIfPresent(RlwyMtrlSubDO::getCreateTime, reqVO.getCreateTime()) - .eqIfPresent(RlwyMtrlSubDO::getMainId, reqVO.getMainId()) - .eqIfPresent(RlwyMtrlSubDO::getMtrlId, reqVO.getMtrlId()) - .eqIfPresent(RlwyMtrlSubDO::getSapCd, reqVO.getSapCd()) - .eqIfPresent(RlwyMtrlSubDO::getMdmCd, reqVO.getMdmCd()) - .likeIfPresent(RlwyMtrlSubDO::getMtrlName, reqVO.getMtrlName()) - .eqIfPresent(RlwyMtrlSubDO::getDsp, reqVO.getDsp()) - .eqIfPresent(RlwyMtrlSubDO::getBigTpCd, reqVO.getBigTpCd()) - .likeIfPresent(RlwyMtrlSubDO::getBigTpName, reqVO.getBigTpName()) - .eqIfPresent(RlwyMtrlSubDO::getMidTpCd, reqVO.getMidTpCd()) - .likeIfPresent(RlwyMtrlSubDO::getMidTpName, reqVO.getMidTpName()) - .eqIfPresent(RlwyMtrlSubDO::getSmalTpCode, reqVO.getSmalTpCode()) - .likeIfPresent(RlwyMtrlSubDO::getSmalTpName, reqVO.getSmalTpName()) - .orderByDesc(RlwyMtrlSubDO::getId)); - } - -} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/shp/CollaborationShipArchiveMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/shp/CollaborationShipArchiveMapper.java new file mode 100644 index 00000000..4fb09060 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/shp/CollaborationShipArchiveMapper.java @@ -0,0 +1,30 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.shp; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp.vo.CollaborationShipArchivePageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp.vo.CollaborationShipArchiveRespVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.shp.CollaborationShipArchiveDO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 船舶档案 Mapper + * + * @author 物流协同 + */ +@Mapper +public interface CollaborationShipArchiveMapper extends BaseMapperX { + + default PageResult selectPage(CollaborationShipArchivePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .betweenIfPresent(CollaborationShipArchiveDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(CollaborationShipArchiveDO::getShipId, reqVO.getShpId()) + .orderByDesc(CollaborationShipArchiveDO::getId)); + } + + IPage selectPageWithShipArchive(IPage page, @Param("reqVO") CollaborationShipArchivePageReqVO reqVO); + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/shp/ShipArchiveMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/shp/ShipArchiveMapper.java new file mode 100644 index 00000000..b687c3af --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/shp/ShipArchiveMapper.java @@ -0,0 +1,49 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.shp; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp.vo.ShipArchivePageReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.shp.ShipArchiveDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 船舶档案 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface ShipArchiveMapper extends BaseMapperX { + + default PageResult selectPage(ShipArchivePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .betweenIfPresent(ShipArchiveDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(ShipArchiveDO::getIMOCode, reqVO.getIMOCode()) + .eqIfPresent(ShipArchiveDO::getShipCategory, reqVO.getShipCategory()) + .likeIfPresent(ShipArchiveDO::getShipChineseName, reqVO.getShipChineseName()) + .likeIfPresent(ShipArchiveDO::getShipEnglishName, reqVO.getShipEnglishName()) + .eqIfPresent(ShipArchiveDO::getShipType, reqVO.getShipType()) + .eqIfPresent(ShipArchiveDO::getShipLevel, reqVO.getShipLevel()) + .eqIfPresent(ShipArchiveDO::getShipNation, reqVO.getShipNation()) + .eqIfPresent(ShipArchiveDO::getShipLength, reqVO.getShipLength()) + .eqIfPresent(ShipArchiveDO::getShipWidth, reqVO.getShipWidth()) + .eqIfPresent(ShipArchiveDO::getShipDepth, reqVO.getShipDepth()) + .eqIfPresent(ShipArchiveDO::getGrossTonnage, reqVO.getGrossTonnage()) + .eqIfPresent(ShipArchiveDO::getNetTonnage, reqVO.getNetTonnage()) + .eqIfPresent(ShipArchiveDO::getLoadingContainerQuantity, reqVO.getLoadingContainerQuantity()) + .eqIfPresent(ShipArchiveDO::getShipDetectCode, reqVO.getShipDetectCode()) + .eqIfPresent(ShipArchiveDO::getMMSICode, reqVO.getMMSICode()) + .eqIfPresent(ShipArchiveDO::getPortOfRegistry, reqVO.getPortOfRegistry()) + .eqIfPresent(ShipArchiveDO::getShipowner, reqVO.getShipowner()) + .eqIfPresent(ShipArchiveDO::getShipownerAddress, reqVO.getShipownerAddress()) + .betweenIfPresent(ShipArchiveDO::getCertificateIssuingTime, reqVO.getCertificateIssuingTime()) + .eqIfPresent(ShipArchiveDO::getCertificateIssuingAgency, reqVO.getCertificateIssuingAgency()) + .eqIfPresent(ShipArchiveDO::getIMOCode, reqVO.getIMOCode()) + .and(reqVO.getShipName() != null, wrapper -> wrapper + .like(ShipArchiveDO::getShipChineseName, reqVO.getShipName()) + .or() + .like(ShipArchiveDO::getShipEnglishName, reqVO.getShipName())) + .orderByDesc(ShipArchiveDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/common/CompanyMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/common/CompanyMapper.java new file mode 100644 index 00000000..d0a4ac73 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/common/CompanyMapper.java @@ -0,0 +1,29 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.mysql.common; + +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + + +/** + * 账套 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface CompanyMapper extends BaseMapperX { + + /** + * 获取顶级账套 + * @return + */ + DeptRespDTO getTopCompany(); + + /** + * 获取所有子账套 + * @return + */ + List getAllChildCompany(Long companyId); +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/common/OperationLogMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/common/OperationLogMapper.java new file mode 100644 index 00000000..1eedc378 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/common/OperationLogMapper.java @@ -0,0 +1,23 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.mysql.common; + +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.common.OperationLogDO; +import org.apache.ibatis.annotations.Mapper; + + +/** + * 操作日志 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface OperationLogMapper extends BaseMapperX { + +// default PageResult selectPage(OperationLogPageReqVO reqVO) { +// return selectPage(reqVO, new LambdaQueryWrapperX() +// .betweenIfPresent(OperationLogDO::getCreateTime, reqVO.getCreateTime()) +// .eqIfPresent(OperationLogDO::getContent, reqVO.getContent()) +// .orderByDesc(OperationLogDO::getId)); +// } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/common/SplyErpCustomerMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/common/SplyErpCustomerMapper.java new file mode 100644 index 00000000..19945c96 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/common/SplyErpCustomerMapper.java @@ -0,0 +1,18 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.mysql.common; + +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.common.vo.ErpCustomerPageReqVo; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.common.vo.ErpCustomerRespVo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface SplyErpCustomerMapper { + /** + * 查询主数据客商分页数据 + * @param page + * @param reqVo + * @return + */ + IPage seleErpCustomerPage(IPage page,@Param("vo") ErpCustomerPageReqVo reqVo); +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/framework/rpc/config/RpcConfiguration.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/framework/rpc/config/RpcConfiguration.java index 99314f8f..db821cf0 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/framework/rpc/config/RpcConfiguration.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/framework/rpc/config/RpcConfiguration.java @@ -1,10 +1,14 @@ package cn.iocoder.yudao.module.backendlogistics.framework.rpc.config; +import cn.iocoder.yudao.module.infra.api.businessfile.BusinessFileApi; import cn.iocoder.yudao.module.system.api.dept.DeptApi; +import cn.iocoder.yudao.module.system.api.permission.PermissionApi; +import cn.iocoder.yudao.module.system.api.sequence.SequenceApi; +import cn.iocoder.yudao.module.system.api.user.AdminUserApi; import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.context.annotation.Configuration; @Configuration(value = "backendlogisticsRpcConfiguration", proxyBeanMethods = false) -@EnableFeignClients(clients = {DeptApi.class}) +@EnableFeignClients(clients = {DeptApi.class, BusinessFileApi.class, AdminUserApi.class, SequenceApi.class, PermissionApi.class}) public class RpcConfiguration { } diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CarrierAccountService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CarrierAccountService.java index 736d76e3..fefc23bf 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CarrierAccountService.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CarrierAccountService.java @@ -1,9 +1,7 @@ package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CarrierAccountPageReqVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CarrierAccountRespVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CarrierAccountSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.*; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.CarrierAccountDO; import jakarta.validation.Valid; @@ -51,7 +49,7 @@ public interface CarrierAccountService { * @param id 编号 * @return 物流服务商协同账号 */ - CarrierAccountDO getCarrierAccount(Long id); + CarrierAccountRespVO getCarrierAccount(Long id); /** * 获得物流服务商协同账号分页 @@ -61,4 +59,53 @@ public interface CarrierAccountService { */ PageResult getCarrierAccountPage(CarrierAccountPageReqVO pageReqVO); + /** + * 设置禁用/启用 + * @param vo + */ + void setEnable(DriverAccountEditEnbVo vo); + + /** + * 注销账号 + * @param ids + */ + void closeCarrierAccount(List ids); + + /** + * 重置密码 + * @param ids + */ + void regPwd(List ids); + + /** + * 查询日志 + * @param id + * @return + */ + List getOperationLogList(Long id); + + /** + * 审核 + * @param vo + */ + void confirm(CarrierAccountSaveReqVO vo); + + /** + * 根据绑定部门id获得物流服务商协同账号 + * + * @param bidDeptId 编号 + * @return 物流服务商协同账号 + */ + CarrierAccountRespVO getCarrierAccountByDeptId(Long bidDeptId); + + /** + * 修改登录手机号 + * @param bidDeptId + * @param loginTel + * @return + */ + Long updaeLoginTel(Long bidDeptId, String loginTel); + + + } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CarrierAccountServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CarrierAccountServiceImpl.java index 39b78ffb..a774e002 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CarrierAccountServiceImpl.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CarrierAccountServiceImpl.java @@ -3,19 +3,33 @@ package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct; import cn.hutool.core.collection.CollUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CarrierAccountPageReqVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CarrierAccountRespVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CarrierAccountSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.*; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.CarrierAccountDO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.DrivingAccountDO; import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.acct.CarrierAccountMapper; +import cn.iocoder.yudao.module.backendlogistics.enums.bseMngt.xtAcct.AcctStatisEnum; +import cn.iocoder.yudao.module.backendlogistics.enums.common.FileBuinessCodeEnum; +import cn.iocoder.yudao.module.backendlogistics.enums.common.FileSourceEnum; +import cn.iocoder.yudao.module.backendlogistics.service.common.FileService; +import cn.iocoder.yudao.module.backendlogistics.service.common.OperationLogService; +import cn.iocoder.yudao.module.backendlogistics.service.common.UserService; +import cn.iocoder.yudao.module.system.api.user.AdminUserApi; +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserSaveReqDTO; import jakarta.annotation.Resource; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import org.springframework.validation.annotation.Validated; +import java.util.HashSet; import java.util.List; +import java.util.Objects; +import java.util.Set; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.CARRIER_ACCOUNT_NOT_EXISTS; +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.*; /** @@ -29,16 +43,61 @@ public class CarrierAccountServiceImpl implements CarrierAccountService { @Resource private CarrierAccountMapper carrierAccountMapper; + @Resource + private OperationLogService operationLogService; + @Resource + private FileService fileService; + @Resource + private AdminUserApi adminUserApi; + @Resource + private UserService userService; + + @Value("${xtacct.otherDeptId}") + private Long perentDeptId; + + @Value("${xtacct.carrierRoleId}") + private Long carrierRoleId; + + @Transactional @Override public CarrierAccountRespVO createCarrierAccount(CarrierAccountSaveReqVO createReqVO) { // 插入 CarrierAccountDO carrierAccount = BeanUtils.toBean(createReqVO, CarrierAccountDO.class); + //创建部门及登录账号 + createLoginAccount(carrierAccount); + carrierAccount.setStatus(AcctStatisEnum.EDIT.getCode()); carrierAccountMapper.insert(carrierAccount); + fileService.saveBunFile(createReqVO.getBusinessLicenseFile(), FileSourceEnum.CARRIER_ACCOUNT, FileBuinessCodeEnum.BUSINESS_LICENSE, carrierAccount.getId()); + fileService.saveBunFile(createReqVO.getIdentityFrontFile(), FileSourceEnum.CARRIER_ACCOUNT, FileBuinessCodeEnum.IDENTITY_FRONT, carrierAccount.getId()); + fileService.saveBunFile(createReqVO.getIdentityBackFile(), FileSourceEnum.CARRIER_ACCOUNT, FileBuinessCodeEnum.IDENTITY_BACK, carrierAccount.getId()); + fileService.saveBunFile(createReqVO.getOtherFile(), FileSourceEnum.CARRIER_ACCOUNT, FileBuinessCodeEnum.OTHER, carrierAccount.getId()); // 返回 return BeanUtils.toBean(carrierAccount, CarrierAccountRespVO.class); } + /** + * 创建登录账号 + * @param carrierAccount + */ + private void createLoginAccount(CarrierAccountDO carrierAccount){ + //创建部门 + Long deptId = userService.createDept(perentDeptId, carrierAccount.getName()); + AdminUserSaveReqDTO userSaveReqDTO=new AdminUserSaveReqDTO(); + //创建登录账号 + userSaveReqDTO.setNickname(carrierAccount.getName()); + userSaveReqDTO.setMobile(carrierAccount.getLoginTel()); + Set deptIds=new HashSet<>(); + deptIds.add(deptId); + userSaveReqDTO.setDeptIds(deptIds); + userService.createUser(userSaveReqDTO); + //分配角色 + userService.assignUserRole(userSaveReqDTO.getId(), carrierRoleId); + + carrierAccount.setUserId(userSaveReqDTO.getId()); + carrierAccount.setLoginAccount(userSaveReqDTO.getUsername()); + carrierAccount.setBidDeptId(deptId); + } @Override public void updateCarrierAccount(CarrierAccountSaveReqVO updateReqVO) { // 校验存在 @@ -46,23 +105,46 @@ public class CarrierAccountServiceImpl implements CarrierAccountService { // 更新 CarrierAccountDO updateObj = BeanUtils.toBean(updateReqVO, CarrierAccountDO.class); carrierAccountMapper.updateById(updateObj); + //保存附件 + fileService.saveBunFile(updateReqVO.getEditFile(), FileSourceEnum.CARRIER_ACCOUNT, FileBuinessCodeEnum.EDIT, updateReqVO.getId()); + + //更新登录账号信息 + CarrierAccountDO carrierAccountDO=carrierAccountMapper.selectById(updateReqVO.getId()); + AdminUserSaveReqDTO userSaveReqDTO=new AdminUserSaveReqDTO(); + userSaveReqDTO.setId(carrierAccountDO.getUserId()); + userSaveReqDTO.setNickname(updateReqVO.getName()); + userSaveReqDTO.setMobile(updateReqVO.getLoginTel()); + userService.updateUser(userSaveReqDTO); + } @Override public void deleteCarrierAccount(Long id) { // 校验存在 validateCarrierAccountExists(id); + CarrierAccountDO carrierAccountDO = carrierAccountMapper.selectById(id); + checkDeleteStatus(carrierAccountDO); // 删除 carrierAccountMapper.deleteById(id); } + private void checkDeleteStatus(CarrierAccountDO carrierAccountDO){ + if(AcctStatisEnum.REVIEWED.getCode().equals(carrierAccountDO.getStatus())){ + throw exception0(CARRIER_ACCOUNT_NOT_EXISTS.getCode(),"已审核状态数据不能删除"); + } + } @Override - public void deleteCarrierAccountListByIds(List ids) { + public void deleteCarrierAccountListByIds(List ids) { // 校验存在 validateCarrierAccountExists(ids); + + List carrierAccountDOS = carrierAccountMapper.selectByIds(ids); + for (CarrierAccountDO carrierAccountDO : carrierAccountDOS){ + checkDeleteStatus(carrierAccountDO); + } // 删除 carrierAccountMapper.deleteByIds(ids); - } + } private void validateCarrierAccountExists(List ids) { List list = carrierAccountMapper.selectByIds(ids); @@ -78,13 +160,142 @@ public class CarrierAccountServiceImpl implements CarrierAccountService { } @Override - public CarrierAccountDO getCarrierAccount(Long id) { - return carrierAccountMapper.selectById(id); + public CarrierAccountRespVO getCarrierAccount(Long id) { + CarrierAccountDO carrierAccountDO = carrierAccountMapper.selectById(id); + CarrierAccountRespVO vo = BeanUtils.toBean(carrierAccountDO, CarrierAccountRespVO.class); + vo.setBusinessLicenseFile(fileService.getBunFile(id, FileSourceEnum.CARRIER_ACCOUNT, FileBuinessCodeEnum.BUSINESS_LICENSE)); + vo.setIdentityFrontFile(fileService.getBunFile(id, FileSourceEnum.CARRIER_ACCOUNT, FileBuinessCodeEnum.IDENTITY_FRONT)); + vo.setIdentityBackFile(fileService.getBunFile(id, FileSourceEnum.CARRIER_ACCOUNT, FileBuinessCodeEnum.IDENTITY_BACK)); + vo.setOtherFile(fileService.getBunFileList(id, FileSourceEnum.CARRIER_ACCOUNT, FileBuinessCodeEnum.OTHER)); + return vo; } @Override public PageResult getCarrierAccountPage(CarrierAccountPageReqVO pageReqVO) { + // LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); return carrierAccountMapper.selectPage(pageReqVO); } + /** + * 设置禁用/启用 + * + * @param vo + */ + @Transactional + @Override + public void setEnable(DriverAccountEditEnbVo vo) { + List list = carrierAccountMapper.selectByIds(vo.getIds()); + if (CollectionUtils.isEmpty(list)) { + throw exception(CARRIER_ACCOUNT_NOT_EXISTS); + } + for (CarrierAccountDO item : list) { + if (item.getIsEnable().equals(vo.getIsEnable()) && "1".equals(vo.getIsEnable())) { + throw exception(ACCOUNT_ENABLE_STATUS); + } + if (item.getIsEnable().equals(vo.getIsEnable()) && "0".equals(vo.getIsEnable())) { + throw exception(ACCOUNT_NOT_ENABLE_STATUS); + } + item.setIsEnable(vo.getIsEnable()); + carrierAccountMapper.updateById(item); + String content = "1".equals(item.getIsEnable()) ? "启用" : "禁用"; + operationLogService.createOperationLog(item.getId(), DrivingAccountDO.class.getName(), content); + } + } + + /** + * 注销账号 + * + * @param ids + */ + @Transactional + @Override + public void closeCarrierAccount(List ids) { + List drivingAccountDOS = carrierAccountMapper.selectByIds(ids); + for (CarrierAccountDO item : drivingAccountDOS) { + if(!AcctStatisEnum.REVIEWED.getCode().equals(item.getStatus())){ + throw exception0(CARRIER_ACCOUNT_NOT_EXISTS.getCode(),"只有已审核的账号才能进行注销"); + } + item.setStatus(AcctStatisEnum.CAENCEL.getCode()); + carrierAccountMapper.updateById(item); + operationLogService.createOperationLog(item.getId(), DrivingAccountDO.class.getName(), "注销账号"); + userService.deleteUserByDeptId(item.getBidDeptId()); + } + + } + + /** + * 重置密码 + * + * @param ids + */ + @Transactional + @Override + public void regPwd(List ids) { + List carrierAccountDOS = carrierAccountMapper.selectByIds(ids); + for (CarrierAccountDO item : carrierAccountDOS) { + if(!AcctStatisEnum.REVIEWED.getCode().equals(item.getStatus())){ + throw exception0(CARRIER_ACCOUNT_NOT_EXISTS.getCode(),"只有已审核状态下的账号才能进行重置密码"); + } + if (Objects.nonNull(item.getUserId())) { + userService.updateUserPassword(item.getUserId(), item.getName()); + operationLogService.createOperationLog(item.getId(), CarrierAccountDO.class.getName(), "重置密码"); + } + } + } + + /** + * 查询日志 + * + * @param id + * @return + */ + @Override + public List getOperationLogList(Long id) { + return operationLogService.getOperationLogList(id, CarrierAccountDO.class.getName()); + } + + /** + * 审核 + * + * @param vo + */ + @Transactional + @Override + public void confirm(CarrierAccountSaveReqVO vo) { + //CarrierAccountDO carrierAccountDO=carrierAccountMapper.selectById(vo.getId()); + CarrierAccountDO carrierAccountDO = BeanUtils.toBean(vo, CarrierAccountDO.class); + carrierAccountDO.setStatus("2"); + carrierAccountMapper.updateById(carrierAccountDO); + } + /** + * 根据绑定部门id获得物流服务商协同账号 + * + * @param bidDeptId 编号 + * @return 物流服务商协同账号 + */ + @Override + public CarrierAccountRespVO getCarrierAccountByDeptId(Long bidDeptId){ + CarrierAccountDO carrierAccountDO = carrierAccountMapper.selectFirstOne(CarrierAccountDO::getBidDeptId, bidDeptId); + if(Objects.isNull(carrierAccountDO)){ + return null; + } + CarrierAccountRespVO vo = BeanUtils.toBean(carrierAccountDO, CarrierAccountRespVO.class); + return vo; + } + /** + * 修改登录手机号 + * @param bidDeptId + * @param loginTel + * @return + */ + @Override + public Long updaeLoginTel(Long bidDeptId, String loginTel){ + CarrierAccountDO carrierAccountDO = carrierAccountMapper.selectFirstOne(CarrierAccountDO::getBidDeptId, bidDeptId); + if(Objects.isNull(carrierAccountDO)){ + return null; + } + carrierAccountDO.setLoginTel(loginTel); + carrierAccountMapper.updateById(carrierAccountDO); + return carrierAccountDO.getUserId(); + } } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/ChildAccountService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/ChildAccountService.java new file mode 100644 index 00000000..daf9db01 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/ChildAccountService.java @@ -0,0 +1,47 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.ChildAccountPageReqVo; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.ChildAccountRespVo; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.ChildAccountSaveReqVo; + +public interface ChildAccountService { + /** + * 查询子账号分页数据 + * @param reqVo + * @return + */ + PageResult getChildAccountPage(ChildAccountPageReqVo reqVo); + + /** + * 协同查询子账号分页数据 + * @param reqVo + * @return + */ + PageResult getCollChildAccountPage(ChildAccountPageReqVo reqVo); + + /** + * 删除子账号 + * @param id + */ + void deleteChildAccount(Long id); + + /** + * 修改子账号数据 + * @param saveReqVo + */ + void updateChildAccount(ChildAccountSaveReqVo saveReqVo); + + /** + * 修改子账号密码 + * @param saveReqVo + */ + void updateChildPassword(ChildAccountSaveReqVo saveReqVo); + + /** + * 创建子账号 + * @param saveReqVo + */ + void craete(ChildAccountSaveReqVo saveReqVo); + +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/ChildAccountServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/ChildAccountServiceImpl.java new file mode 100644 index 00000000..a2ebc099 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/ChildAccountServiceImpl.java @@ -0,0 +1,99 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.ChildAccountPageReqVo; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.ChildAccountRespVo; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.ChildAccountSaveReqVo; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.acct.ChildAccountMapper; +import cn.iocoder.yudao.module.backendlogistics.service.common.UserService; +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserSaveReqDTO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; + +import java.util.HashSet; +import java.util.Set; + +@Service +public class ChildAccountServiceImpl implements ChildAccountService { + @Resource + private ChildAccountMapper childAccountMapper; + @Resource + private UserService userService; + + /** + * 查询子账号分页数据 + * + * @param reqVo + * @return + */ + @Override + public PageResult getChildAccountPage(ChildAccountPageReqVo reqVo) { + IPage page = new Page<>(reqVo.getPageNo(), reqVo.getPageSize()); + childAccountMapper.selectChildAccountPage(page, reqVo); + return new PageResult<>(page.getRecords(), page.getTotal()); + } + + /** + * 协同查询子账号分页数据 + * + * @param reqVo + * @return + */ + @Override + public PageResult getCollChildAccountPage(ChildAccountPageReqVo reqVo) { + Long deptId = userService.getDeptIdByUserId(); + reqVo.setBidDeptId(deptId); + return getChildAccountPage(reqVo); + } + + /** + * 删除子账号 + * + * @param id + */ + @Override + public void deleteChildAccount(Long id) { + userService.deleteUserById(id); + } + + /** + * 修改子账号数据 + * + * @param saveReqVo + */ + @Override + public void updateChildAccount(ChildAccountSaveReqVo saveReqVo) { + AdminUserSaveReqDTO userSaveReqDTO=new AdminUserSaveReqDTO(); + userSaveReqDTO.setId(saveReqVo.getId()); + userSaveReqDTO.setNickname(saveReqVo.getNickname()); + userService.updateUser(userSaveReqDTO); + } + + /** + * 修改子账号密码 + * + * @param saveReqVo + */ + @Override + public void updateChildPassword(ChildAccountSaveReqVo saveReqVo) { + userService.updateUserPassword(saveReqVo.getId(),saveReqVo.getNickname(),saveReqVo.getPassword()); + } + /** + * 创建子账号 + * @param saveReqVo + */ + @Override + public void craete(ChildAccountSaveReqVo saveReqVo){ + Long deptId = userService.getDeptIdByUserId(); + AdminUserSaveReqDTO userSaveReqDTO=new AdminUserSaveReqDTO(); + // userSaveReqDTO.setUsername(saveReqVo.getMobile()); + userSaveReqDTO.setNickname(saveReqVo.getNickname()); + userSaveReqDTO.setMobile(saveReqVo.getMobile()); + Set deptIds=new HashSet<>(); + deptIds.add(deptId); + userSaveReqDTO.setDeptIds(deptIds); + userService.createUser(userSaveReqDTO); + } +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CollaborationCompanyService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CollaborationCompanyService.java new file mode 100644 index 00000000..e1be48c7 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CollaborationCompanyService.java @@ -0,0 +1,19 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct; + + +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CollaborationCompanyRespVo; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CollaborationCompanySaveReqVo; + +public interface CollaborationCompanyService { + /** + * 获取公司信息 + * @return + */ + CollaborationCompanyRespVo getCollaborationCompany(); + + /** + * 修改登录手机号 + * @param saveReqVo + */ + void updateTel(CollaborationCompanySaveReqVo saveReqVo); +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CollaborationCompanyServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CollaborationCompanyServiceImpl.java new file mode 100644 index 00000000..9c2c2f35 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CollaborationCompanyServiceImpl.java @@ -0,0 +1,76 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct; + +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CollaborationCompanyRespVo; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CollaborationCompanySaveReqVo; +import cn.iocoder.yudao.module.backendlogistics.enums.common.FileSourceEnum; +import cn.iocoder.yudao.module.backendlogistics.service.common.FileService; +import cn.iocoder.yudao.module.backendlogistics.service.common.UserService; +import cn.iocoder.yudao.module.infra.api.businessfile.dto.BusinessFileWithUrlRespDTO; +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserSaveReqDTO; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +@Service +public class CollaborationCompanyServiceImpl implements CollaborationCompanyService{ + @Resource + private CarrierAccountService carrierAccountService; + @Resource + private CustomerService customerService; + @Resource + private FileService fileService; + @Resource + private UserService userService; + + /** + * 获取公司信息 + * @return + */ + @Override + public CollaborationCompanyRespVo getCollaborationCompany(){ + CollaborationCompanyRespVo vo=new CollaborationCompanyRespVo(); + Long deptId = userService.getDeptIdByUserId(); + if(Objects.isNull(deptId)){ + return vo; + } + vo.setCustomer(customerService.getCustomerByDeptId(deptId)); + vo.setCarrierAccount(carrierAccountService.getCarrierAccountByDeptId(deptId)); + vo.setFileList(new ArrayList<>()); + if(Objects.nonNull(vo.getCustomer())){ + List fileList = fileService.getBunFileList(vo.getCustomer().getId(), FileSourceEnum.CUSTOMER_ACCOUNT); + if(!CollectionUtils.isEmpty(fileList)){ + vo.getFileList().addAll(fileList); + } + } + if(Objects.nonNull(vo.getCarrierAccount())){ + List fileList = fileService.getBunFileList(vo.getCarrierAccount().getId(), FileSourceEnum.CARRIER_ACCOUNT); + if(!CollectionUtils.isEmpty(fileList)){ + vo.getFileList().addAll(fileList); + } + } + return vo; + } + /** + * 修改登录手机号 + * @param saveReqVo + */ + @Override + public void updateTel(CollaborationCompanySaveReqVo saveReqVo){ + Long deptId = userService.getDeptIdByUserId(); + Long userId = customerService.updaeLoginTel(deptId, saveReqVo.getLoginTel()); + if(Objects.isNull(userId)){ + userId=carrierAccountService.updaeLoginTel(deptId, saveReqVo.getLoginTel()); + } + if(Objects.isNull(userId)){ + return; + } + AdminUserSaveReqDTO userSaveReqDTO=new AdminUserSaveReqDTO(); + userSaveReqDTO.setId(userId); + userSaveReqDTO.setMobile(saveReqVo.getLoginTel()); + userService.updateUser(userSaveReqDTO); + } +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CustomerService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CustomerService.java index 257f5d6b..818b9de5 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CustomerService.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CustomerService.java @@ -1,9 +1,7 @@ package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CustomerPageReqVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CustomerRespVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CustomerSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.*; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.CustomerDO; import jakarta.validation.Valid; @@ -52,7 +50,7 @@ public interface CustomerService { * @param id 编号 * @return 客商协同账号 */ - CustomerDO getCustomer(Long id); + CustomerRespVO getCustomer(Long id); /** * 获得客商协同账号分页 @@ -62,4 +60,49 @@ public interface CustomerService { */ PageResult getCustomerPage(CustomerPageReqVO pageReqVO); + /** + * 设置禁用/启用 + * @param vo + */ + void setEnable(DriverAccountEditEnbVo vo); + + /** + * 注销账号 + * @param ids + */ + void closeCstmAccount(List ids); + + /** + * 重置密码 + * @param ids + */ + void regPwd(List ids); + + /** + * 查询日志 + * @param id + * @return + */ + List getOperationLogList(Long id); + /** + * 审核 + * @param vo + */ + void confirm(CustomerSaveReqVO vo); + + /** + * 根据部门id查询客商协同信息 + * @param bidDeptId + * @return + */ + CustomerRespVO getCustomerByDeptId(Long bidDeptId); + + /** + * 修改登录手机号 + * @param bidDeptId + * @param loginTel + * @return + */ + Long updaeLoginTel(Long bidDeptId, String loginTel); + } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CustomerServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CustomerServiceImpl.java index 751ac904..2464fa00 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CustomerServiceImpl.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CustomerServiceImpl.java @@ -3,19 +3,33 @@ package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct; import cn.hutool.core.collection.CollUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CustomerPageReqVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CustomerRespVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CustomerSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.*; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.CarrierAccountDO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.CustomerDO; import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.acct.CustomerMapper; +import cn.iocoder.yudao.module.backendlogistics.enums.bseMngt.xtAcct.AcctStatisEnum; +import cn.iocoder.yudao.module.backendlogistics.enums.common.FileBuinessCodeEnum; +import cn.iocoder.yudao.module.backendlogistics.enums.common.FileSourceEnum; +import cn.iocoder.yudao.module.backendlogistics.service.common.FileService; +import cn.iocoder.yudao.module.backendlogistics.service.common.OperationLogService; +import cn.iocoder.yudao.module.backendlogistics.service.common.UserService; +import cn.iocoder.yudao.module.system.api.user.AdminUserApi; +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserSaveReqDTO; import jakarta.annotation.Resource; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import org.springframework.validation.annotation.Validated; +import java.util.HashSet; import java.util.List; +import java.util.Objects; +import java.util.Set; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.CUSTOMER_NOT_EXISTS; +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.*; /** @@ -29,40 +43,113 @@ public class CustomerServiceImpl implements CustomerService { @Resource private CustomerMapper customerMapper; + @Resource + private OperationLogService operationLogService; + + @Resource + private FileService fileService; + @Resource + private AdminUserApi adminUserApi; + + @Resource + private UserService userService; + + @Value("${xtacct.otherDeptId}") + private Long perentDeptId; + + @Value("${xtacct.cstmRoleId}") + private Long cstmRoleId; @Override public CustomerRespVO createCustomer(CustomerSaveReqVO createReqVO) { // 插入 CustomerDO customer = BeanUtils.toBean(createReqVO, CustomerDO.class); + Boolean isFile = Objects.nonNull(createReqVO.getBusinessLicenseFile()) || Objects.nonNull(createReqVO.getIdentityFrontFile()) + || Objects.nonNull(createReqVO.getIdentityBackFile()) || !CollectionUtils.isEmpty(createReqVO.getOtherFile()); + customer.setIsFile(isFile ? "1" : "0"); + //创建登录账号 + createLoginAccount(customer); + customer.setStatus(AcctStatisEnum.EDIT.getCode()); customerMapper.insert(customer); + fileService.saveBunFile(createReqVO.getBusinessLicenseFile(), FileSourceEnum.CUSTOMER_ACCOUNT, FileBuinessCodeEnum.BUSINESS_LICENSE, customer.getId()); + fileService.saveBunFile(createReqVO.getIdentityFrontFile(), FileSourceEnum.CUSTOMER_ACCOUNT, FileBuinessCodeEnum.IDENTITY_FRONT, customer.getId()); + fileService.saveBunFile(createReqVO.getIdentityBackFile(), FileSourceEnum.CUSTOMER_ACCOUNT, FileBuinessCodeEnum.IDENTITY_BACK, customer.getId()); + fileService.saveBunFile(createReqVO.getOtherFile(), FileSourceEnum.CUSTOMER_ACCOUNT, FileBuinessCodeEnum.OTHER, customer.getId()); // 返回 return BeanUtils.toBean(customer, CustomerRespVO.class); } + /** + * 创建登录账号 + * + * @param customerDO + */ + private void createLoginAccount(CustomerDO customerDO) { + //创建部门 + Long deptId = userService.createDept(perentDeptId, customerDO.getName()); + AdminUserSaveReqDTO userSaveReqDTO = new AdminUserSaveReqDTO(); + //创建登录账号 + userSaveReqDTO.setNickname(customerDO.getName()); + userSaveReqDTO.setMobile(customerDO.getLoginTel()); + Set deptIds = new HashSet<>(); + deptIds.add(deptId); + userSaveReqDTO.setDeptIds(deptIds); + userService.createUser(userSaveReqDTO); + //分配角色 + userService.assignUserRole(userSaveReqDTO.getId(), cstmRoleId); + customerDO.setUserId(userSaveReqDTO.getId()); + customerDO.setLoginAccount(userSaveReqDTO.getUsername()); + customerDO.setBidDeptId(deptId); + } + @Override public void updateCustomer(CustomerSaveReqVO updateReqVO) { // 校验存在 validateCustomerExists(updateReqVO.getId()); // 更新 CustomerDO updateObj = BeanUtils.toBean(updateReqVO, CustomerDO.class); + Boolean isFile = Objects.nonNull(updateReqVO.getBusinessLicenseFile()) || Objects.nonNull(updateReqVO.getIdentityFrontFile()) + || Objects.nonNull(updateReqVO.getIdentityBackFile()); + + updateObj.setIsFile(isFile ? "1" : "0"); customerMapper.updateById(updateObj); + //删除附件 + fileService.deleteBunFile(updateReqVO.getId(), FileSourceEnum.CUSTOMER_ACCOUNT, FileBuinessCodeEnum.BUSINESS_LICENSE); + fileService.deleteBunFile(updateReqVO.getId(), FileSourceEnum.CUSTOMER_ACCOUNT, FileBuinessCodeEnum.IDENTITY_FRONT); + fileService.deleteBunFile(updateReqVO.getId(), FileSourceEnum.CUSTOMER_ACCOUNT, FileBuinessCodeEnum.IDENTITY_BACK); + //保存附件 + fileService.saveBunFile(updateReqVO.getBusinessLicenseFile(), FileSourceEnum.CUSTOMER_ACCOUNT, FileBuinessCodeEnum.BUSINESS_LICENSE, updateReqVO.getId()); + fileService.saveBunFile(updateReqVO.getIdentityFrontFile(), FileSourceEnum.CUSTOMER_ACCOUNT, FileBuinessCodeEnum.IDENTITY_FRONT, updateReqVO.getId()); + fileService.saveBunFile(updateReqVO.getIdentityBackFile(), FileSourceEnum.CUSTOMER_ACCOUNT, FileBuinessCodeEnum.IDENTITY_BACK, updateReqVO.getId()); + } + + private void checkDeleteStatus(CustomerDO customerDO) { + if (AcctStatisEnum.REVIEWED.getCode().equals(customerDO.getStatus())) { + throw exception0(CUSTOMER_NOT_EXISTS.getCode(), "已审核状态数据不能删除"); + } } @Override public void deleteCustomer(Long id) { // 校验存在 validateCustomerExists(id); + CustomerDO customerDO = customerMapper.selectById(id); + checkDeleteStatus(customerDO); // 删除 customerMapper.deleteById(id); } @Override - public void deleteCustomerListByIds(List ids) { + public void deleteCustomerListByIds(List ids) { // 校验存在 validateCustomerExists(ids); + List customerDOS = customerMapper.selectByIds(ids); + for (CustomerDO customerDO : customerDOS){ + checkDeleteStatus(customerDO); + } // 删除 customerMapper.deleteByIds(ids); - } + } private void validateCustomerExists(List ids) { List list = customerMapper.selectByIds(ids); @@ -78,8 +165,14 @@ public class CustomerServiceImpl implements CustomerService { } @Override - public CustomerDO getCustomer(Long id) { - return customerMapper.selectById(id); + public CustomerRespVO getCustomer(Long id) { + CustomerDO customerDO = customerMapper.selectById(id); + CustomerRespVO vo = BeanUtils.toBean(customerDO, CustomerRespVO.class); + vo.setBusinessLicenseFile(fileService.getBunFile(id, FileSourceEnum.CUSTOMER_ACCOUNT, FileBuinessCodeEnum.BUSINESS_LICENSE)); + vo.setIdentityFrontFile(fileService.getBunFile(id, FileSourceEnum.CUSTOMER_ACCOUNT, FileBuinessCodeEnum.IDENTITY_FRONT)); + vo.setIdentityBackFile(fileService.getBunFile(id, FileSourceEnum.CUSTOMER_ACCOUNT, FileBuinessCodeEnum.IDENTITY_BACK)); + vo.setOtherFile(fileService.getBunFileList(id, FileSourceEnum.CUSTOMER_ACCOUNT, FileBuinessCodeEnum.OTHER)); + return vo; } @Override @@ -87,4 +180,130 @@ public class CustomerServiceImpl implements CustomerService { return customerMapper.selectPage(pageReqVO); } + /** + * 设置禁用/启用 + * + * @param vo + */ + @Transactional + @Override + public void setEnable(DriverAccountEditEnbVo vo) { + List list = customerMapper.selectByIds(vo.getIds()); + if (CollectionUtils.isEmpty(list)) { + throw exception(CUSTOMER_NOT_EXISTS); + } + for (CustomerDO item : list) { + if (item.getIsEnable().equals(vo.getIsEnable()) && "1".equals(vo.getIsEnable())) { + throw exception(ACCOUNT_ENABLE_STATUS); + } + if (item.getIsEnable().equals(vo.getIsEnable()) && "0".equals(vo.getIsEnable())) { + throw exception(ACCOUNT_NOT_ENABLE_STATUS); + } + item.setIsEnable(vo.getIsEnable()); + customerMapper.updateById(item); + String content = "1".equals(item.getIsEnable()) ? "启用" : "禁用"; + operationLogService.createOperationLog(item.getId(), CustomerDO.class.getName(), content); + } + } + + /** + * 注销账号 + * + * @param ids + */ + @Transactional + @Override + public void closeCstmAccount(List ids) { + List customerDOS = customerMapper.selectByIds(ids); + for (CustomerDO item : customerDOS) { + if(!AcctStatisEnum.REVIEWED.getCode().equals(item.getStatus())){ + throw exception0(CUSTOMER_NOT_EXISTS.getCode(),"只有已审核的账号才能进行注销"); + } + item.setStatus(AcctStatisEnum.CAENCEL.getCode()); + customerMapper.updateById(item); + operationLogService.createOperationLog(item.getId(), CustomerDO.class.getName(), "注销账号"); + userService.deleteUserByDeptId(item.getBidDeptId()); + } + + } + + /** + * 重置密码 + * + * @param ids + */ + @Transactional + @Override + public void regPwd(List ids) { + List customerDOS = customerMapper.selectByIds(ids); + for (CustomerDO item : customerDOS) { + if(!AcctStatisEnum.REVIEWED.getCode().equals(item.getStatus())){ + throw exception0(CUSTOMER_NOT_EXISTS.getCode(),"只有已审核状态下的账号才能进行重置密码"); + } + if (Objects.nonNull(item.getUserId())) { + userService.updateUserPassword(item.getUserId(), item.getName()); + operationLogService.createOperationLog(item.getId(), CustomerDO.class.getName(), "重置密码"); + } + } + + } + + /** + * 查询日志 + * + * @param id + * @return + */ + @Override + public List getOperationLogList(Long id) { + return operationLogService.getOperationLogList(id, CarrierAccountDO.class.getName()); + } + + /** + * 审核 + * + * @param vo + */ + @Transactional + @Override + public void confirm(CustomerSaveReqVO vo) { + //CustomerDO customerDO=customerMapper.selectById(vo.getId()); + CustomerDO customerDO = BeanUtils.toBean(vo, CustomerDO.class); + customerDO.setStatus("2"); + customerMapper.updateById(customerDO); + } + + /** + * 根据部门id查询客商协同信息 + * + * @param bidDeptId + * @return + */ + @Override + public CustomerRespVO getCustomerByDeptId(Long bidDeptId) { + CustomerDO customerDO = customerMapper.selectFirstOne(CustomerDO::getBidDeptId, bidDeptId); + if (Objects.isNull(customerDO)) { + return null; + } + CustomerRespVO vo = BeanUtils.toBean(customerDO, CustomerRespVO.class); + return vo; + } + + /** + * 修改登录手机号 + * + * @param bidDeptId + * @param loginTel + * @return + */ + @Override + public Long updaeLoginTel(Long bidDeptId, String loginTel) { + CustomerDO customerDO = customerMapper.selectFirstOne(CustomerDO::getBidDeptId, bidDeptId); + if (Objects.isNull(customerDO)) { + return null; + } + customerDO.setLoginTel(loginTel); + customerMapper.updateById(customerDO); + return customerDO.getUserId(); + } } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/DrivingAccountService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/DrivingAccountService.java index 7919c4bc..70b176b7 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/DrivingAccountService.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/DrivingAccountService.java @@ -1,9 +1,7 @@ package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.DrivingAccountPageReqVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.DrivingAccountRespVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.DrivingAccountSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.*; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.DrivingAccountDO; import jakarta.validation.Valid; @@ -52,7 +50,7 @@ public interface DrivingAccountService { * @param id 编号 * @return 司机协同账号 */ - DrivingAccountDO getDrivingAccount(Long id); + DrivingAccountRespVO getDrivingAccount(Long id); /** * 获得司机协同账号分页 @@ -62,4 +60,35 @@ public interface DrivingAccountService { */ PageResult getDrivingAccountPage(DrivingAccountPageReqVO pageReqVO); + /** + * 设置禁用/启用 + * @param vo + */ + void setEnable(DriverAccountEditEnbVo vo); + + /** + * 注销账号 + * @param ids + */ + void closeDrivingAccount(List ids); + + /** + * 重置密码 + * @param ids + */ + void regPwd(List ids); + + /** + * 查询日志 + * @param id + * @return + */ + List getOperationLogList(Long id); + + /** + * 新增或修改司机信息 + * @param updateReqVO + * @return + */ + Long createOrUpdate(DrivingAccountSaveReqVO updateReqVO); } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/DrivingAccountServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/DrivingAccountServiceImpl.java index cc08c934..9966c494 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/DrivingAccountServiceImpl.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/DrivingAccountServiceImpl.java @@ -3,19 +3,35 @@ package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct; import cn.hutool.core.collection.CollUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.DrivingAccountPageReqVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.DrivingAccountRespVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.DrivingAccountSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.*; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.DrivingAccountDO; import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.acct.DrivingAccountMapper; +import cn.iocoder.yudao.module.backendlogistics.enums.bseMngt.xtAcct.AcctStatisEnum; +import cn.iocoder.yudao.module.backendlogistics.enums.bseMngt.xtAcct.DriverSourceEnum; +import cn.iocoder.yudao.module.backendlogistics.enums.bseMngt.xtAcct.DriverStatusEnum; +import cn.iocoder.yudao.module.backendlogistics.enums.common.FileBuinessCodeEnum; +import cn.iocoder.yudao.module.backendlogistics.enums.common.FileSourceEnum; +import cn.iocoder.yudao.module.backendlogistics.service.common.FileService; +import cn.iocoder.yudao.module.backendlogistics.service.common.OperationLogService; +import cn.iocoder.yudao.module.backendlogistics.service.common.UserService; +import cn.iocoder.yudao.module.system.api.user.AdminUserApi; +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserSaveReqDTO; import jakarta.annotation.Resource; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import org.springframework.validation.annotation.Validated; +import java.util.HashSet; import java.util.List; +import java.util.Objects; +import java.util.Set; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.DRIVING_ACCOUNT_NOT_EXISTS; +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.*; /** @@ -30,15 +46,57 @@ public class DrivingAccountServiceImpl implements DrivingAccountService { @Resource private DrivingAccountMapper drivingAccountMapper; + @Resource + private OperationLogService operationLogService; + + @Resource + private FileService fileService; + + @Resource + private AdminUserApi adminUserApi; + @Resource + private UserService userService; + + @Value("${xtacct.driverDeptDd}") + private Long drivingDeptId; + @Value("${xtacct.driverRoleId}") + private Long drivingRoleId; + @Transactional @Override public DrivingAccountRespVO createDrivingAccount(DrivingAccountSaveReqVO createReqVO) { + if(StringUtils.isBlank(createReqVO.getOrigin())){ + createReqVO.setOrigin(DriverSourceEnum.SYSTEM.getMsg()); + } // 插入 DrivingAccountDO drivingAccount = BeanUtils.toBean(createReqVO, DrivingAccountDO.class); + + AdminUserSaveReqDTO userSaveReqDTO=new AdminUserSaveReqDTO(); + //创建登录账号 + userSaveReqDTO.setNickname(createReqVO.getName()); + userSaveReqDTO.setMobile(createReqVO.getLoginTel()); + Set deptIds=new HashSet<>(); + deptIds.add(drivingDeptId); + userSaveReqDTO.setDeptIds(deptIds); + userService.createUser(userSaveReqDTO); + + drivingAccount.setUserId(userSaveReqDTO.getId()); + drivingAccount.setLoginAccount(userSaveReqDTO.getUsername()); + drivingAccount.setBidDeptId(drivingDeptId); + drivingAccount.setStatus(AcctStatisEnum.CONFIRM.getCode()); + drivingAccount.setValidationStatus(DriverStatusEnum.AWAIT_AUTH.getMsg()); drivingAccountMapper.insert(drivingAccount); + //用户绑定司机角色 + userService.assignUserRole(drivingAccount.getUserId(),drivingRoleId); + //保存附件 + fileService.saveBunFile(createReqVO.getDrivingFrontFile(), FileSourceEnum.DRIVING_ACCOUNT, FileBuinessCodeEnum.DRIVING_FRONT,drivingAccount.getId()); + fileService.saveBunFile(createReqVO.getDrivingBackFile(),FileSourceEnum.DRIVING_ACCOUNT,FileBuinessCodeEnum.DRIVING_BACK,drivingAccount.getId()); + fileService.saveBunFile(createReqVO.getIdentityFrontFile(),FileSourceEnum.DRIVING_ACCOUNT,FileBuinessCodeEnum.IDENTITY_FRONT,drivingAccount.getId()); + fileService.saveBunFile(createReqVO.getIdentityBackFile(),FileSourceEnum.DRIVING_ACCOUNT,FileBuinessCodeEnum.IDENTITY_BACK,drivingAccount.getId()); + fileService.saveBunFile(createReqVO.getOtherFile(),FileSourceEnum.DRIVING_ACCOUNT,FileBuinessCodeEnum.OTHER,drivingAccount.getId()); // 返回 return BeanUtils.toBean(drivingAccount, DrivingAccountRespVO.class); } - + @Transactional @Override public void updateDrivingAccount(DrivingAccountSaveReqVO updateReqVO) { // 校验存在 @@ -46,20 +104,58 @@ public class DrivingAccountServiceImpl implements DrivingAccountService { // 更新 DrivingAccountDO updateObj = BeanUtils.toBean(updateReqVO, DrivingAccountDO.class); drivingAccountMapper.updateById(updateObj); + //删除附件 + fileService.deleteBunFile(updateReqVO.getId(), FileSourceEnum.DRIVING_ACCOUNT, FileBuinessCodeEnum.DRIVING_FRONT); + fileService.deleteBunFile(updateReqVO.getId(),FileSourceEnum.DRIVING_ACCOUNT,FileBuinessCodeEnum.DRIVING_BACK); + fileService.deleteBunFile(updateReqVO.getId(),FileSourceEnum.DRIVING_ACCOUNT,FileBuinessCodeEnum.IDENTITY_FRONT); + fileService.deleteBunFile(updateReqVO.getId(),FileSourceEnum.DRIVING_ACCOUNT,FileBuinessCodeEnum.IDENTITY_BACK); + fileService.deleteBunFile(updateReqVO.getId(),FileSourceEnum.DRIVING_ACCOUNT,FileBuinessCodeEnum.OTHER); + //保存附件 + fileService.saveBunFile(updateReqVO.getDrivingFrontFile(), FileSourceEnum.DRIVING_ACCOUNT, FileBuinessCodeEnum.DRIVING_FRONT,updateObj.getId()); + fileService.saveBunFile(updateReqVO.getDrivingBackFile(),FileSourceEnum.DRIVING_ACCOUNT,FileBuinessCodeEnum.DRIVING_BACK,updateObj.getId()); + fileService.saveBunFile(updateReqVO.getIdentityFrontFile(),FileSourceEnum.DRIVING_ACCOUNT,FileBuinessCodeEnum.IDENTITY_FRONT,updateObj.getId()); + fileService.saveBunFile(updateReqVO.getIdentityBackFile(),FileSourceEnum.DRIVING_ACCOUNT,FileBuinessCodeEnum.IDENTITY_BACK,updateObj.getId()); + fileService.saveBunFile(updateReqVO.getOtherFile(),FileSourceEnum.DRIVING_ACCOUNT,FileBuinessCodeEnum.OTHER,updateObj.getId()); + + //更新登录账号信息 + DrivingAccountDO drivingAccountDO=drivingAccountMapper.selectById(updateReqVO.getId()); + AdminUserSaveReqDTO userSaveReqDTO=new AdminUserSaveReqDTO(); + userSaveReqDTO.setId(drivingAccountDO.getUserId()); + userSaveReqDTO.setNickname(updateReqVO.getName()); + userSaveReqDTO.setMobile(updateReqVO.getLoginTel()); + userService.updateUser(userSaveReqDTO); } @Override public void deleteDrivingAccount(Long id) { // 校验存在 validateDrivingAccountExists(id); + DrivingAccountDO drivingAccountDO = drivingAccountMapper.selectById(id); + checkDeleteStatus(drivingAccountDO); + // 删除 drivingAccountMapper.deleteById(id); } + /** + * 检查司机是否能删除 + * @param drivingAccountDO + */ + private void checkDeleteStatus(DrivingAccountDO drivingAccountDO){ + if(AcctStatisEnum.CONFIRM.getCode().equals(drivingAccountDO.getStatus())){ + throw exception0(DRIVING_ACCOUNT_NOT_EXISTS.getCode(),"已确认状态数据不能删除"); + } + } @Override public void deleteDrivingAccountListByIds(List ids) { // 校验存在 validateDrivingAccountExists(ids); + List drivingAccountDOS = drivingAccountMapper.selectByIds(ids); + + for (DrivingAccountDO drivingAccountDO : drivingAccountDOS){ + checkDeleteStatus(drivingAccountDO); + } + // 删除 drivingAccountMapper.deleteByIds(ids); } @@ -78,13 +174,109 @@ public class DrivingAccountServiceImpl implements DrivingAccountService { } @Override - public DrivingAccountDO getDrivingAccount(Long id) { - return drivingAccountMapper.selectById(id); + public DrivingAccountRespVO getDrivingAccount(Long id) { + DrivingAccountDO drivingAccountDO = drivingAccountMapper.selectById(id); + DrivingAccountRespVO vo = BeanUtils.toBean(drivingAccountDO, DrivingAccountRespVO.class); + //获取附件信息 + vo.setDrivingFrontFile(fileService.getBunFile(id, FileSourceEnum.DRIVING_ACCOUNT, FileBuinessCodeEnum.DRIVING_FRONT)); + vo.setDrivingBackFile(fileService.getBunFile(id, FileSourceEnum.DRIVING_ACCOUNT, FileBuinessCodeEnum.DRIVING_BACK)); + vo.setIdentityFrontFile(fileService.getBunFile(id, FileSourceEnum.DRIVING_ACCOUNT, FileBuinessCodeEnum.IDENTITY_FRONT)); + vo.setIdentityBackFile(fileService.getBunFile(id, FileSourceEnum.DRIVING_ACCOUNT, FileBuinessCodeEnum.IDENTITY_BACK)); + vo.setOtherFile(fileService.getBunFileList(id, FileSourceEnum.DRIVING_ACCOUNT, FileBuinessCodeEnum.OTHER)); + return vo; } @Override public PageResult getDrivingAccountPage(DrivingAccountPageReqVO pageReqVO) { return drivingAccountMapper.selectPage(pageReqVO); } + /** + * 设置禁用/启用 + * @param vo + */ + @Transactional + @Override + public void setEnable(DriverAccountEditEnbVo vo){ + List list = drivingAccountMapper.selectByIds(vo.getIds()); + if(CollectionUtils.isEmpty(list)){ + throw exception(DRIVING_ACCOUNT_NOT_EXISTS); + } + for(DrivingAccountDO item : list){ + if(item.getIsEnable().equals(vo.getIsEnable()) && "0".equals(vo.getIsEnable())){ + throw exception(ACCOUNT_ENABLE_STATUS); + }if(item.getIsEnable().equals(vo.getIsEnable()) && "1".equals(vo.getIsEnable())){ + throw exception(ACCOUNT_NOT_ENABLE_STATUS); + } + item.setIsEnable(vo.getIsEnable()); + drivingAccountMapper.updateById(item); + String content="0".equals(item.getIsEnable())?"启用":"禁用"; + operationLogService.createOperationLog(item.getId(),DrivingAccountDO.class.getName(),content); + } + } + /** + * 注销账号 + * @param ids + */ + @Transactional + @Override + public void closeDrivingAccount(List ids){ + List drivingAccountDOS = drivingAccountMapper.selectByIds(ids); + for(DrivingAccountDO item : drivingAccountDOS){ + if(!AcctStatisEnum.CONFIRM.getCode().equals(item.getStatus())){ + throw exception0(DRIVING_ACCOUNT_NOT_EXISTS.getCode(),"只有已确认的账号才能进行注销"); + } + item.setStatus(AcctStatisEnum.CAENCEL.getCode()); + drivingAccountMapper.updateById(item); + operationLogService.createOperationLog(item.getId(),DrivingAccountDO.class.getName(),"注销账号"); + userService.deleteUserById(item.getUserId()); + } + } + + /** + * 重置密码 + * @param ids + */ + @Transactional + @Override + public void regPwd(List ids){ + List drivingAccountDOS = drivingAccountMapper.selectByIds(ids); + for(DrivingAccountDO item : drivingAccountDOS){ + if(!AcctStatisEnum.REVIEWED.getCode().equals(item.getStatus())){ + throw exception0(DRIVING_ACCOUNT_NOT_EXISTS.getCode(),"只有已审核状态下的账号才能进行重置密码"); + } + if(Objects.nonNull(item.getUserId())){ + userService.updateUserPassword(item.getUserId(),item.getName()); + operationLogService.createOperationLog(item.getId(), DrivingAccountDO.class.getName(),"重置密码"); + } + } + } + + /** + * 查询日志 + * @param id + * @return + */ + @Override + public List getOperationLogList(Long id){ + return operationLogService.getOperationLogList(id,DrivingAccountDO.class.getName()); + } + /** + * 新增或修改司机信息 + * @param updateReqVO + * @return + */ + @Override + public Long createOrUpdate(DrivingAccountSaveReqVO updateReqVO){ + updateReqVO.setOrigin(DriverSourceEnum.COLLABORATION.getCode()); + DrivingAccountDO drivingAccountDO = drivingAccountMapper.selectFirstOne(DrivingAccountDO::getIdentityNumber, updateReqVO.getIdentityNumber()); + if(Objects.isNull(drivingAccountDO)){ + DrivingAccountRespVO drivingAccount = createDrivingAccount(updateReqVO); + return drivingAccount.getId(); + }else{ + updateReqVO.setId(drivingAccountDO.getId()); + updateDrivingAccount(updateReqVO); + return drivingAccountDO.getId(); + } + } } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/crAchi/CarArchiveService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/crAchi/CarArchiveService.java new file mode 100644 index 00000000..414f0e8a --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/crAchi/CarArchiveService.java @@ -0,0 +1,65 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.crAchi; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarArchivePageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarArchiveRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarArchiveSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.crAchi.CarArchiveDO; +import jakarta.validation.Valid; + +import java.util.List; + +/** + * 车辆档案 Service 接口 + * + * @author 后台管理 + */ +public interface CarArchiveService { + + /** + * 创建车辆档案 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + CarArchiveRespVO createCarArchive(@Valid CarArchiveSaveReqVO createReqVO); + + /** + * 更新车辆档案 + * + * @param updateReqVO 更新信息 + */ + void updateCarArchive(@Valid CarArchiveSaveReqVO updateReqVO); + + /** + * 删除车辆档案 + * + * @param id 编号 + */ + void deleteCarArchive(Long id); + + /** + * 批量删除车辆档案 + * + * @param ids 编号 + */ + void deleteCarArchiveListByIds(List ids); + + /** + * 获得车辆档案 + * + * @param id 编号 + * @return 车辆档案 + */ + CarArchiveRespVO getCarArchive(Long id); + + /** + * 获得车辆档案分页 + * + * @param pageReqVO 分页查询 + * @return 车辆档案分页 + */ + PageResult getCarArchivePage(CarArchivePageReqVO pageReqVO); + + CarArchiveRespVO getByCarNumber(String carNumber, String carNumberColor); +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/crAchi/CarArchiveServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/crAchi/CarArchiveServiceImpl.java new file mode 100644 index 00000000..1f745e1b --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/crAchi/CarArchiveServiceImpl.java @@ -0,0 +1,209 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.crAchi; + +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarArchivePageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarArchiveRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarArchiveSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.crAchi.CarArchiveDO; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.crAchi.CarArchiveMapper; +import cn.iocoder.yudao.module.backendlogistics.enums.common.FileBuinessCodeEnum; +import cn.iocoder.yudao.module.backendlogistics.enums.common.FileSourceEnum; +import cn.iocoder.yudao.module.backendlogistics.service.common.FileService; +import cn.iocoder.yudao.module.backendlogistics.service.common.OperationLogService; +import jakarta.annotation.Resource; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.annotation.Validated; + +import java.util.List; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.CAR_ARCHIVE_EXISTS; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.CAR_ARCHIVE_NOT_EXISTS; + +/** + * 车辆档案 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +@Transactional +public class CarArchiveServiceImpl implements CarArchiveService { + + @Resource + private CarArchiveMapper carArchiveMapper; + + @Resource + private OperationLogService operationLogService; + + @Resource + private FileService fileService; + + @Override + public CarArchiveRespVO createCarArchive(CarArchiveSaveReqVO createReqVO) { + // 插入 + CarArchiveDO carArchive = BeanUtils.toBean(createReqVO, CarArchiveDO.class); + + //校验【车牌号+车牌颜色】的唯一性 + CarArchivePageReqVO pageReqVO = new CarArchivePageReqVO(); + pageReqVO.setCarNumber(carArchive.getCarNumber()); + pageReqVO.setCarNumberColor(carArchive.getCarNumberColor()); + PageResult old = carArchiveMapper.selectPage(pageReqVO); + if (old.getTotal() > 0) { + throw exception(CAR_ARCHIVE_EXISTS); + } + //车辆类型 判断车辆标识 + /** + * 行驶证车型包含“牵引车”时,车辆标识=牵引车,仅牵引车可以关联挂车。 + * 行驶证车型包含“挂车”时,车辆标识=挂车,车辆标识=整车 + */ + if (StringUtils.isNotEmpty(carArchive.getCarType())){ + if (carArchive.getCarType().contains("牵引车")){ + carArchive.setCarLabel("tractor"); + }else if (carArchive.getCarType().contains("挂车")){ + carArchive.setCarLabel("trailer"); + }else { + carArchive.setCarLabel("complete-vehicle"); + } + } + + carArchive.setIsBlacklist("false"); +// carArchive.setArchiveNumber("档案编号TODO"); + + + int i = carArchiveMapper.insert(carArchive); + + //关联附件 + fileService.saveBunFile(createReqVO.getCarLicenseFrontFile(), FileSourceEnum.CAR_ARCHIVE, FileBuinessCodeEnum.CAR_LICENSE_FRONT,carArchive.getId()); + fileService.saveBunFile(createReqVO.getCarLicenseBackFile(), FileSourceEnum.CAR_ARCHIVE, FileBuinessCodeEnum.CAR_LICENSE_BACK,carArchive.getId()); + fileService.saveBunFile(createReqVO.getCarChecklistFile(), FileSourceEnum.CAR_ARCHIVE, FileBuinessCodeEnum.CAR_CHECKLIST,carArchive.getId()); + fileService.saveBunFile(createReqVO.getCarPhotosFile(), FileSourceEnum.CAR_ARCHIVE, FileBuinessCodeEnum.CAR_PHOTOS,carArchive.getId()); + fileService.saveBunFile(createReqVO.getCarInsuranceFile(), FileSourceEnum.CAR_ARCHIVE, FileBuinessCodeEnum.CAR_INSURANCE,carArchive.getId()); + + if (i > 0) { + operationLogService.createOperationLog(carArchive.getId(), CarArchiveDO.class.getName(), "创建车辆档案"); + } + // 返回 + return BeanUtils.toBean(carArchive, CarArchiveRespVO.class); + } + + @Override + public void updateCarArchive(CarArchiveSaveReqVO updateReqVO) { + // 校验存在 + validateCarArchiveExists(updateReqVO.getId()); + CarArchiveDO oldCarArchiveDO = carArchiveMapper.selectById(updateReqVO.getId()); + + //修改过车牌和车牌颜色,校验【车牌号+车牌颜色】的唯一性 + if (!updateReqVO.getCarNumber().equals(oldCarArchiveDO.getCarNumber()) || !updateReqVO.getCarNumberColor().equals(oldCarArchiveDO.getCarNumberColor())) { + CarArchivePageReqVO pageReqVO = new CarArchivePageReqVO(); + pageReqVO.setCarNumber(updateReqVO.getCarNumber()); + pageReqVO.setCarNumberColor(updateReqVO.getCarNumberColor()); + PageResult old = carArchiveMapper.selectPage(pageReqVO); + if (old.getTotal() > 0) { + throw exception(CAR_ARCHIVE_EXISTS); + } + } + + + // 更新 + CarArchiveDO updateObj = BeanUtils.toBean(updateReqVO, CarArchiveDO.class); +// updateObj.setIsBlacklist(oldCarArchiveDO.getIsBlacklist()); + int i = carArchiveMapper.updateById(updateObj); + + //删除附件 + fileService.deleteBunFile(updateReqVO.getId(),FileSourceEnum.CAR_ARCHIVE, FileBuinessCodeEnum.CAR_LICENSE_FRONT); + fileService.deleteBunFile(updateReqVO.getId(),FileSourceEnum.CAR_ARCHIVE, FileBuinessCodeEnum.CAR_LICENSE_BACK); + fileService.deleteBunFile(updateReqVO.getId(),FileSourceEnum.CAR_ARCHIVE, FileBuinessCodeEnum.CAR_CHECKLIST); + fileService.deleteBunFile(updateReqVO.getId(),FileSourceEnum.CAR_ARCHIVE, FileBuinessCodeEnum.CAR_PHOTOS); + fileService.deleteBunFile(updateReqVO.getId(),FileSourceEnum.CAR_ARCHIVE, FileBuinessCodeEnum.CAR_INSURANCE); + + //关联附件 + fileService.saveBunFile(updateReqVO.getCarLicenseFrontFile(), FileSourceEnum.CAR_ARCHIVE, FileBuinessCodeEnum.CAR_LICENSE_FRONT,updateReqVO.getId()); + fileService.saveBunFile(updateReqVO.getCarLicenseBackFile(), FileSourceEnum.CAR_ARCHIVE, FileBuinessCodeEnum.CAR_LICENSE_BACK,updateReqVO.getId()); + fileService.saveBunFile(updateReqVO.getCarChecklistFile(), FileSourceEnum.CAR_ARCHIVE, FileBuinessCodeEnum.CAR_CHECKLIST,updateReqVO.getId()); + fileService.saveBunFile(updateReqVO.getCarPhotosFile(), FileSourceEnum.CAR_ARCHIVE, FileBuinessCodeEnum.CAR_PHOTOS,updateReqVO.getId()); + fileService.saveBunFile(updateReqVO.getCarInsuranceFile(), FileSourceEnum.CAR_ARCHIVE, FileBuinessCodeEnum.CAR_INSURANCE,updateReqVO.getId()); + + // 比较差异 + CarArchiveDO newCarArchive = BeanUtils.toBean(updateReqVO, CarArchiveDO.class); + String differences = operationLogService.compareObjects(oldCarArchiveDO, newCarArchive); + + if (i > 0) { + operationLogService.createOperationLog(updateObj.getId(), CarArchiveDO.class.getName(), "修改车辆档案【" + differences + "】"); + } + } + + @Override + public void deleteCarArchive(Long id) { + // 校验存在 + validateCarArchiveExists(id); + // 删除 + int i = carArchiveMapper.deleteById(id); + if (i > 0) { + operationLogService.createOperationLog(id, CarArchiveDO.class.getName(), "删除车辆档案"); + } + } + + @Override + public void deleteCarArchiveListByIds(List ids) { + for (Long id : ids) { + this.deleteCarArchive(id); + } + } + + private void validateCarArchiveExists(List ids) { + List list = carArchiveMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(CAR_ARCHIVE_NOT_EXISTS); + } + } + + private void validateCarArchiveExists(Long id) { + if (carArchiveMapper.selectById(id) == null) { + throw exception(CAR_ARCHIVE_NOT_EXISTS); + } + } + + @Override + public CarArchiveRespVO getCarArchive(Long id) { + CarArchiveDO carArchiveDO = carArchiveMapper.selectById(id); + CarArchiveRespVO vo = BeanUtils.toBean(carArchiveDO, CarArchiveRespVO.class); + + vo.setCarLicenseFrontFile(fileService.getBunFileList(id,FileSourceEnum.CAR_ARCHIVE, FileBuinessCodeEnum.CAR_LICENSE_FRONT)); + vo.setCarLicenseBackFile(fileService.getBunFileList(id,FileSourceEnum.CAR_ARCHIVE, FileBuinessCodeEnum.CAR_LICENSE_BACK)); + vo.setCarChecklistFile(fileService.getBunFileList(id,FileSourceEnum.CAR_ARCHIVE, FileBuinessCodeEnum.CAR_CHECKLIST)); + vo.setCarPhotosFile(fileService.getBunFileList(id,FileSourceEnum.CAR_ARCHIVE, FileBuinessCodeEnum.CAR_PHOTOS)); + vo.setCarInsuranceFile(fileService.getBunFileList(id,FileSourceEnum.CAR_ARCHIVE, FileBuinessCodeEnum.CAR_INSURANCE)); + return vo; + } + + @Override + public PageResult getCarArchivePage(CarArchivePageReqVO pageReqVO) { + return carArchiveMapper.selectPage(pageReqVO); + } + + @Override + public CarArchiveRespVO getByCarNumber(String carNumber, String carNumberColor) { + ; + CarArchiveDO carArchiveDO = carArchiveMapper.selectOne(new LambdaQueryWrapperX() + .eq(CarArchiveDO::getCarNumber, carNumber) + .eq(CarArchiveDO::getCarNumberColor, carNumberColor)); + if (carArchiveDO == null) { + return null; + } + CarArchiveRespVO vo = BeanUtils.toBean(carArchiveDO, CarArchiveRespVO.class); + + vo.setCarLicenseFrontFile(fileService.getBunFileList(vo.getId(),FileSourceEnum.CAR_ARCHIVE, FileBuinessCodeEnum.CAR_LICENSE_FRONT)); + vo.setCarLicenseBackFile(fileService.getBunFileList(vo.getId(),FileSourceEnum.CAR_ARCHIVE, FileBuinessCodeEnum.CAR_LICENSE_BACK)); + vo.setCarChecklistFile(fileService.getBunFileList(vo.getId(),FileSourceEnum.CAR_ARCHIVE, FileBuinessCodeEnum.CAR_CHECKLIST)); + vo.setCarPhotosFile(fileService.getBunFileList(vo.getId(),FileSourceEnum.CAR_ARCHIVE, FileBuinessCodeEnum.CAR_PHOTOS)); + vo.setCarInsuranceFile(fileService.getBunFileList(vo.getId(),FileSourceEnum.CAR_ARCHIVE, FileBuinessCodeEnum.CAR_INSURANCE)); + return vo; + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/crAchi/CarBlacklistService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/crAchi/CarBlacklistService.java new file mode 100644 index 00000000..347d946e --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/crAchi/CarBlacklistService.java @@ -0,0 +1,70 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.crAchi; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarBlacklistPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarBlacklistRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarBlacklistSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.crAchi.CarBlacklistDO; +import jakarta.validation.Valid; + +import java.util.List; + +/** + * 车辆黑名单 Service 接口 + * + * @author 后台管理 + */ +public interface CarBlacklistService { + + /** + * 创建车辆黑名单 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + CarBlacklistRespVO createCarBlacklist(@Valid CarBlacklistSaveReqVO createReqVO); + + /** + * 更新车辆黑名单 + * + * @param updateReqVO 更新信息 + */ + void updateCarBlacklist(@Valid CarBlacklistSaveReqVO updateReqVO); + + /** + * 删除车辆黑名单 + * + * @param id 编号 + */ + void deleteCarBlacklist(Long id); + + /** + * 批量删除车辆黑名单 + * + * @param ids 编号 + */ + void deleteCarBlacklistListByIds(List ids); + + /** + * 获得车辆黑名单 + * + * @param id 编号 + * @return 车辆黑名单 + */ + CarBlacklistDO getCarBlacklist(Long id); + + /** + * 获得车辆黑名单分页 + * + * @param pageReqVO 分页查询 + * @return 车辆黑名单分页 + */ + PageResult getCarBlacklistPage(CarBlacklistPageReqVO pageReqVO); + + /** + * 解除车辆黑名单 + * + * @param updateReqVO 解除信息 + */ + void liftedCarBlacklist(@Valid CarBlacklistSaveReqVO updateReqVO); +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/crAchi/CarBlacklistServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/crAchi/CarBlacklistServiceImpl.java new file mode 100644 index 00000000..662d2c7e --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/crAchi/CarBlacklistServiceImpl.java @@ -0,0 +1,150 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.crAchi; + +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarBlacklistPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarBlacklistRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarBlacklistSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.crAchi.CarArchiveDO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.crAchi.CarBlacklistDO; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.crAchi.CarArchiveMapper; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.crAchi.CarBlacklistMapper; +import cn.iocoder.yudao.module.backendlogistics.service.common.OperationLogService; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.annotation.Validated; + +import java.util.List; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.CAR_BLACKLIST_NOT_EXISTS; + +/** + * 车辆黑名单 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +@Transactional +public class CarBlacklistServiceImpl implements CarBlacklistService { + + @Resource + private CarBlacklistMapper carBlacklistMapper; + + @Resource + private CarArchiveMapper carArchiveMapper; + + @Resource + private OperationLogService operationLogService; + + @Override + public CarBlacklistRespVO createCarBlacklist(CarBlacklistSaveReqVO createReqVO) { + // 插入 + CarBlacklistDO carBlacklist = BeanUtils.toBean(createReqVO, CarBlacklistDO.class); + carBlacklist.setStatus("00"); + int i = carBlacklistMapper.insert(carBlacklist); + + //处理车辆黑名单状态 + if (i == 1) { + CarArchiveDO carArchiveDO = carArchiveMapper.selectById(createReqVO.getCarId()); + carArchiveDO.setIsBlacklist("true"); + carArchiveMapper.updateById(carArchiveDO); + operationLogService.createOperationLog(createReqVO.getCarId(), CarArchiveDO.class.getName(), "添加黑名单违规:" + carBlacklist.getId()); + } + + // 返回 + return BeanUtils.toBean(carBlacklist, CarBlacklistRespVO.class); + } + + @Override + public void updateCarBlacklist(CarBlacklistSaveReqVO updateReqVO) { + for (Long id : updateReqVO.getIds()) { + // 校验存在 + validateCarBlacklistExists(id); + // 更新 + CarBlacklistDO updateObj = BeanUtils.toBean(updateReqVO, CarBlacklistDO.class); + updateObj.setId(id); + carBlacklistMapper.updateById(updateObj); + } + + } + + @Override + public void deleteCarBlacklist(Long id) { + // 校验存在 + validateCarBlacklistExists(id); + // 删除 + carBlacklistMapper.deleteById(id); + } + + @Override + public void deleteCarBlacklistListByIds(List ids) { + // 校验存在 + validateCarBlacklistExists(ids); + // 删除 + carBlacklistMapper.deleteByIds(ids); + } + + private void validateCarBlacklistExists(List ids) { + List list = carBlacklistMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(CAR_BLACKLIST_NOT_EXISTS); + } + } + + private void validateCarBlacklistExists(Long id) { + if (carBlacklistMapper.selectById(id) == null) { + throw exception(CAR_BLACKLIST_NOT_EXISTS); + } + } + + @Override + public CarBlacklistDO getCarBlacklist(Long id) { + return carBlacklistMapper.selectById(id); + } + + @Override + public PageResult getCarBlacklistPage(CarBlacklistPageReqVO pageReqVO) { + PageResult carBlacklistDOPageResult = carBlacklistMapper.selectPage(pageReqVO); + for (CarBlacklistDO carBlacklistDO : carBlacklistDOPageResult.getList()){ + if (carBlacklistDO.getStatus().equals("00")) { + carBlacklistDO.setUpdaterName(null); + carBlacklistDO.setUpdater(null); + carBlacklistDO.setUpdateTime(null); + } + } + return carBlacklistDOPageResult; + } + + @Override + public void liftedCarBlacklist(CarBlacklistSaveReqVO updateReqVO) { + + for (Long id : updateReqVO.getIds()) { + // 校验存在 + validateCarBlacklistExists(id); + // + CarBlacklistDO updateObj = BeanUtils.toBean(updateReqVO, CarBlacklistDO.class); + updateObj.setId(id); + updateObj.setStatus("10"); + int i = carBlacklistMapper.updateById(updateObj); + operationLogService.createOperationLog(updateObj.getCarId(), CarArchiveDO.class.getName(), "处理黑名单违规"); + + if (i == 1) { + CarBlacklistPageReqVO carBlacklistPageReqVO = new CarBlacklistPageReqVO(); + carBlacklistPageReqVO.setCarId(updateReqVO.getCarId()); + carBlacklistPageReqVO.setStatus("00"); + PageResult page = carBlacklistMapper.selectPage(carBlacklistPageReqVO); + if (page.getTotal() == 0){ + CarArchiveDO carArchiveDO = carArchiveMapper.selectById(updateReqVO.getCarId()); + carArchiveDO.setIsBlacklist("false"); + carArchiveMapper.updateById(carArchiveDO); + } + } + } + + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/crAchi/CollaborationCarArchiveService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/crAchi/CollaborationCarArchiveService.java new file mode 100644 index 00000000..ebbb1a23 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/crAchi/CollaborationCarArchiveService.java @@ -0,0 +1,24 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.crAchi; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarArchiveRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CarArchiveSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CollaborationCarArchivePageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.CollaborationCarArchiveRespVO; +import jakarta.validation.Valid; + +import java.util.List; + +public interface CollaborationCarArchiveService { + void createCarArchive(@Valid CarArchiveSaveReqVO createReqVO); + + void updateCarArchive(@Valid CarArchiveSaveReqVO updateReqVO); + + void deleteCarArchiveListByIds(List ids); + + CarArchiveRespVO getCarArchive(Long id); + + PageResult getCarArchivePage(@Valid CollaborationCarArchivePageReqVO pageReqVO); + + CarArchiveRespVO getByCarNumber(String carNumber, String carNumberColor); +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/crAchi/CollaborationCarArchiveServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/crAchi/CollaborationCarArchiveServiceImpl.java new file mode 100644 index 00000000..69a244a7 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/crAchi/CollaborationCarArchiveServiceImpl.java @@ -0,0 +1,120 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.crAchi; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.security.core.LoginUser; +import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.crAchi.vo.*; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.crAchi.CarArchiveDO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.crAchi.CollaborationCarArchiveDO; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.crAchi.CollaborationCarArchiveMapper; +import cn.iocoder.yudao.module.backendlogistics.service.common.UserService; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.annotation.Validated; + +import java.lang.reflect.Field; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.CAR_ARCHIVE_DATA_CONVERSION_ERROR; + +@Service +@Validated +@Transactional +public class CollaborationCarArchiveServiceImpl implements CollaborationCarArchiveService{ + + + @Resource + private CollaborationCarArchiveMapper collaborationCarArchiveMapper; + + @Resource + private CarArchiveService carArchiveService; + + @Resource + private UserService userService; + + @Override + public void createCarArchive(CarArchiveSaveReqVO createReqVO) { + + CarArchivePageReqVO carArchivePageReqVO = new CarArchivePageReqVO(); + carArchivePageReqVO.setCarNumber(createReqVO.getCarNumber()); + carArchivePageReqVO.setCarNumberColor(createReqVO.getCarNumberColor()); + PageResult carArchivePage = carArchiveService.getCarArchivePage(carArchivePageReqVO); + Long carId = null; + if (carArchivePage.getList().size() > 0) { + CarArchiveDO carArchiveDO = carArchivePage.getList().get(0); + carId = carArchiveDO.getId(); + CarArchiveDO carArchiveDONew = BeanUtils.toBean(createReqVO, CarArchiveDO.class); + Field[] fields = carArchiveDO.getClass().getDeclaredFields(); + for (Field field : fields) { + try { + field.setAccessible(true); + Object oldValue = field.get(carArchiveDO); + Object newValue = field.get(carArchiveDONew); + + // 如果老对象的属性值为null,且新对象的属性值不为null,则用新值替换 + if (oldValue == null && newValue != null) { + field.set(carArchiveDO, newValue); + } + } catch (IllegalAccessException e) { + throw exception(CAR_ARCHIVE_DATA_CONVERSION_ERROR); + } + } + CarArchiveSaveReqVO carArchiveSaveReqVO = new CarArchiveSaveReqVO(); + BeanUtils.copyProperties(carArchiveDO, carArchiveSaveReqVO); + carArchiveService.updateCarArchive(carArchiveSaveReqVO); + + }else { + CarArchiveRespVO carArchive = carArchiveService.createCarArchive(createReqVO); + carId = carArchive.getId(); + } + + //关联关系表 + CollaborationCarArchiveDO collaborationCarArchiveDO = new CollaborationCarArchiveDO(); + collaborationCarArchiveDO.setCarId(carId); + collaborationCarArchiveMapper.insert(collaborationCarArchiveDO); + + } + + @Override + public void updateCarArchive(CarArchiveSaveReqVO updateReqVO) { + carArchiveService.updateCarArchive(updateReqVO); + + } + + @Override + public void deleteCarArchiveListByIds(List ids) { + collaborationCarArchiveMapper.deleteByIds(ids); + } + + @Override + public CarArchiveRespVO getCarArchive(Long id) { + CollaborationCarArchiveDO collaborationCarArchiveDO = collaborationCarArchiveMapper.selectById(id); + return carArchiveService.getCarArchive(collaborationCarArchiveDO.getCarId()); + } + + @Override + public PageResult getCarArchivePage(CollaborationCarArchivePageReqVO pageReqVO) { + //查询当前部门数据 + LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); + Long visitDeptId = loginUser.getVisitDeptId(); + + IPage page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + collaborationCarArchiveMapper.selectPageWithCarArchive(page,pageReqVO); + if (null == visitDeptId) { + visitDeptId = userService.getDeptIdByUserId(); + } + pageReqVO.setDeptId(visitDeptId); + List records = page.getRecords(); + return new PageResult<>(records, page.getTotal()); + } + + @Override + public CarArchiveRespVO getByCarNumber(String carNumber, String carNumberColor) { + return carArchiveService.getByCarNumber(carNumber,carNumberColor); + } +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/env/EnvironmentalIntoMainService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/env/EnvironmentalIntoMainService.java new file mode 100644 index 00000000..378981df --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/env/EnvironmentalIntoMainService.java @@ -0,0 +1,71 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.env; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo.EnvironmentalIntoMainEditEnbVo; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo.EnvironmentalIntoMainPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo.EnvironmentalIntoMainRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo.EnvironmentalIntoMainSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.env.EnvironmentalIntoMainDO; +import jakarta.validation.Valid; + +import java.util.List; + +/** + * 环保进场管理主 Service 接口 + * + * @author 后台管理 + */ +public interface EnvironmentalIntoMainService { + + /** + * 创建环保进场管理主 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + EnvironmentalIntoMainRespVO createEnvironmentalIntoMain(@Valid EnvironmentalIntoMainSaveReqVO createReqVO); + + /** + * 更新环保进场管理主 + * + * @param updateReqVO 更新信息 + */ + void updateEnvironmentalIntoMain(@Valid EnvironmentalIntoMainSaveReqVO updateReqVO); + + /** + * 删除环保进场管理主 + * + * @param id 编号 + */ + void deleteEnvironmentalIntoMain(Long id); + + /** + * 批量删除环保进场管理主 + * + * @param ids 编号 + */ + void deleteEnvironmentalIntoMainListByIds(List ids); + + /** + * 获得环保进场管理主 + * + * @param id 编号 + * @return 环保进场管理主 + */ + EnvironmentalIntoMainDO getEnvironmentalIntoMain(Long id); + + /** + * 获得环保进场管理主分页 + * + * @param pageReqVO 分页查询 + * @return 环保进场管理主分页 + */ + PageResult getEnvironmentalIntoMainPage(EnvironmentalIntoMainPageReqVO pageReqVO); + + /** + * 启用/禁用 + * + * @param vo + */ + void setEnable(EnvironmentalIntoMainEditEnbVo vo); +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/env/EnvironmentalIntoMainServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/env/EnvironmentalIntoMainServiceImpl.java new file mode 100644 index 00000000..a7f07b26 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/env/EnvironmentalIntoMainServiceImpl.java @@ -0,0 +1,184 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.env; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo.*; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.env.EnvironmentalIntoMainDO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RailwayMaterialMainDO; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.env.EnvironmentalIntoMainMapper; +import cn.iocoder.yudao.module.backendlogistics.service.common.OperationLogService; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; +import org.springframework.validation.annotation.Validated; + +import java.util.ArrayList; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.*; + +/** + * 环保进场管理主 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +@Transactional +public class EnvironmentalIntoMainServiceImpl implements EnvironmentalIntoMainService { + + @Resource + private EnvironmentalIntoMainMapper environmentalIntoMainMapper; + + @Resource + private EnvironmentalIntoSubitemService environmentalIntoSubitemService; + + @Resource + private OperationLogService operationLogService; + + @Override + public EnvironmentalIntoMainRespVO createEnvironmentalIntoMain(EnvironmentalIntoMainSaveReqVO createReqVO) { + // 获取所有子项并拼接物料名称 + if (CollectionUtil.isNotEmpty(createReqVO.getItems())) { + StringBuilder materialNames = new StringBuilder(); + for (EnvironmentalIntoSubitemSaveReqVO item : createReqVO.getItems()) { + if (item.getMaterialName() != null) { + if (materialNames.length() > 0) { + materialNames.append(","); + } + materialNames.append(item.getMaterialName()); + } + } + createReqVO.setLimitMaterial(materialNames.toString()); + } + // 插入主项 + EnvironmentalIntoMainDO environmentalIntoMain = BeanUtils.toBean(createReqVO, EnvironmentalIntoMainDO.class); + environmentalIntoMain.setStatus("00"); + environmentalIntoMainMapper.insert(environmentalIntoMain); + //插入子项 + if (CollectionUtil.isNotEmpty(createReqVO.getItems())) { + for (EnvironmentalIntoSubitemSaveReqVO item : createReqVO.getItems()){ + item.setMainId(environmentalIntoMain.getId()); + } + }else { + EnvironmentalIntoMainPageReqVO environmentalIntoMainPageReqVO = new EnvironmentalIntoMainPageReqVO(); + environmentalIntoMainPageReqVO.setBusinessType(createReqVO.getBusinessType()); + PageResult page = environmentalIntoMainMapper.selectPage(environmentalIntoMainPageReqVO); + if (page.getTotal() > 0) { + throw exception(ENVIRONMENTAL_INTO_MAIN_EXISTS); + + } + } + + if (CollectionUtil.isNotEmpty(createReqVO.getItems())) { + environmentalIntoSubitemService.createEnvironmentalIntoSubitem(createReqVO.getItems()); + } + + // 返回 + return BeanUtils.toBean(environmentalIntoMain, EnvironmentalIntoMainRespVO.class); + } + + @Override + public void updateEnvironmentalIntoMain(EnvironmentalIntoMainSaveReqVO updateReqVO) { + // 校验存在 + validateEnvironmentalIntoMainExists(updateReqVO.getId()); + // 获取所有子项并拼接物料名称 + if (CollectionUtil.isNotEmpty(updateReqVO.getItems())) { + StringBuilder materialNames = new StringBuilder(); + for (EnvironmentalIntoSubitemSaveReqVO item : updateReqVO.getItems()) { + if (item.getMaterialName() != null) { + if (materialNames.length() > 0) { + materialNames.append(","); + } + materialNames.append(item.getMaterialName()); + } + } + updateReqVO.setLimitMaterial(materialNames.toString()); + } + // 更新 + EnvironmentalIntoMainDO updateObj = BeanUtils.toBean(updateReqVO, EnvironmentalIntoMainDO.class); + environmentalIntoMainMapper.updateById(updateObj); + + //插入子项 + ArrayList newItems = new ArrayList<>(); + for (EnvironmentalIntoSubitemSaveReqVO item : updateReqVO.getItems()){ + if (null == item.getMainId()) { + item.setMainId(updateObj.getId()); + newItems.add(item); + } + } + if (CollectionUtil.isNotEmpty(newItems)) { + environmentalIntoSubitemService.createEnvironmentalIntoSubitem(newItems); + } + + } + + @Override + public void deleteEnvironmentalIntoMain(Long id) { + // 校验存在 + validateEnvironmentalIntoMainExists(id); + // 删除 + environmentalIntoMainMapper.deleteById(id); + } + + @Override + public void deleteEnvironmentalIntoMainListByIds(List ids) { + // 校验存在 + validateEnvironmentalIntoMainExists(ids); + // 删除 + environmentalIntoMainMapper.deleteByIds(ids); + } + + private void validateEnvironmentalIntoMainExists(List ids) { + List list = environmentalIntoMainMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(ENVIRONMENTAL_INTO_MAIN_NOT_EXISTS); + } + } + + private void validateEnvironmentalIntoMainExists(Long id) { + if (environmentalIntoMainMapper.selectById(id) == null) { + throw exception(ENVIRONMENTAL_INTO_MAIN_NOT_EXISTS); + } + } + + @Override + public EnvironmentalIntoMainDO getEnvironmentalIntoMain(Long id) { + return environmentalIntoMainMapper.selectById(id); + } + + @Override + public PageResult getEnvironmentalIntoMainPage(EnvironmentalIntoMainPageReqVO pageReqVO) { + return environmentalIntoMainMapper.selectPage(pageReqVO); + } + + @Override + public void setEnable(EnvironmentalIntoMainEditEnbVo vo) { + List list = environmentalIntoMainMapper.selectByIds(vo.getIds()); + + if (!CollectionUtils.isEmpty(list)) { + for(EnvironmentalIntoMainDO item : list){ + if("1".equals(vo.getIsEnable())){ + if (!item.getStatus().equals("00")) { + throw exception(ENVIRONMENTAL_INTO_MAIN_DRAFT_STATUS); + } + item.setStatus("10"); + }if("0".equals(vo.getIsEnable())){ + if (!item.getStatus().equals("10")) { + throw exception(ENVIRONMENTAL_INTO_MAIN_ENABLED_STATUS); + } + item.setStatus("20"); + } + + environmentalIntoMainMapper.updateById(item); + String content="1".equals(vo.getIsEnable())?"启用":"禁用"; + operationLogService.createOperationLog(item.getId(), RailwayMaterialMainDO.class.getName(),content); + } + } + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/env/EnvironmentalIntoSubitemService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/env/EnvironmentalIntoSubitemService.java new file mode 100644 index 00000000..2e3a25a1 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/env/EnvironmentalIntoSubitemService.java @@ -0,0 +1,64 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.env; + +import java.util.*; + +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo.EnvironmentalIntoSubitemPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo.EnvironmentalIntoSubitemRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo.EnvironmentalIntoSubitemSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.env.EnvironmentalIntoSubitemDO; +import jakarta.validation.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +/** + * 环保进场管理子 Service 接口 + * + * @author 后台管理 + */ +public interface EnvironmentalIntoSubitemService { + + /** + * 创建环保进场管理子 + * + * @param createReqVOs 创建信息 + * @return 编号 + */ + List createEnvironmentalIntoSubitem(@Valid List createReqVOs); + + /** + * 更新环保进场管理子 + * + * @param updateReqVO 更新信息 + */ + void updateEnvironmentalIntoSubitem(@Valid EnvironmentalIntoSubitemSaveReqVO updateReqVO); + + /** + * 删除环保进场管理子 + * + * @param id 编号 + */ + void deleteEnvironmentalIntoSubitem(Long id); + + /** + * 批量删除环保进场管理子 + * + * @param ids 编号 + */ + void deleteEnvironmentalIntoSubitemListByIds(List ids); + + /** + * 获得环保进场管理子 + * + * @param id 编号 + * @return 环保进场管理子 + */ + EnvironmentalIntoSubitemDO getEnvironmentalIntoSubitem(Long id); + + /** + * 获得环保进场管理子分页 + * + * @param pageReqVO 分页查询 + * @return 环保进场管理子分页 + */ + PageResult getEnvironmentalIntoSubitemPage(EnvironmentalIntoSubitemPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/env/EnvironmentalIntoSubitemServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/env/EnvironmentalIntoSubitemServiceImpl.java new file mode 100644 index 00000000..afbb06fc --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/env/EnvironmentalIntoSubitemServiceImpl.java @@ -0,0 +1,137 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.env; + +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo.EnvironmentalIntoSubitemPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo.EnvironmentalIntoSubitemRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.env.vo.EnvironmentalIntoSubitemSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.env.EnvironmentalIntoMainDO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.env.EnvironmentalIntoSubitemDO; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.env.EnvironmentalIntoMainMapper; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.env.EnvironmentalIntoSubitemMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.annotation.Validated; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.*; + +/** + * 环保进场管理子 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +@Transactional +public class EnvironmentalIntoSubitemServiceImpl implements EnvironmentalIntoSubitemService { + + @Resource + private EnvironmentalIntoSubitemMapper environmentalIntoSubitemMapper; + + @Resource + private EnvironmentalIntoMainMapper environmentalIntoMainMapper; + + @Override + public List createEnvironmentalIntoSubitem(List createReqVOs) { + + // 对 createReqVOs 按 materialId 去重,保留第一个出现的元素 + List distinctReqVOs = createReqVOs.stream() + .collect(Collectors.toMap( + EnvironmentalIntoSubitemSaveReqVO::getMaterialId, + reqVO -> reqVO, + (existing, replacement) -> existing)) + .values() + .stream() + .collect(Collectors.toList()); + + EnvironmentalIntoMainDO environmentalIntoMainDO = environmentalIntoMainMapper.selectById(createReqVOs.get(0).getMainId()); + // 插入 + List environmentalIntoSubitemDOS = new ArrayList<>(); + for (EnvironmentalIntoSubitemSaveReqVO createReqVO : createReqVOs) { + EnvironmentalIntoSubitemDO environmentalIntoSubitemDO = BeanUtils.toBean(createReqVO, EnvironmentalIntoSubitemDO.class); + + //查询物资是否已经存在对照 + Integer i = environmentalIntoSubitemMapper.checkMaterialExists(createReqVO.getMaterialId(),environmentalIntoMainDO.getBusinessType()); + if (i > 0) { + throw exception(ENVIRONMENTAL_INTO_SUBITEM_MATERIAL_EXISTS); + } + + environmentalIntoSubitemMapper.insert(environmentalIntoSubitemDO); + environmentalIntoSubitemDOS.add(environmentalIntoSubitemDO); + } + // 返回 + return BeanUtils.toBean(environmentalIntoSubitemDOS, EnvironmentalIntoSubitemRespVO.class); + } + + @Override + public void updateEnvironmentalIntoSubitem(EnvironmentalIntoSubitemSaveReqVO updateReqVO) { + // 校验存在 + validateEnvironmentalIntoSubitemExists(updateReqVO.getId()); + // 更新 + EnvironmentalIntoSubitemDO updateObj = BeanUtils.toBean(updateReqVO, EnvironmentalIntoSubitemDO.class); + + EnvironmentalIntoMainDO environmentalIntoMainDO = environmentalIntoMainMapper.selectById(updateObj.getMainId()); + + //查询物资是否已经存在对照 + Integer i = environmentalIntoSubitemMapper.checkMaterialExists(updateReqVO.getMaterialId(),environmentalIntoMainDO.getBusinessType()); + if (i > 0) { + throw exception(ENVIRONMENTAL_INTO_SUBITEM_MATERIAL_EXISTS); + } + environmentalIntoSubitemMapper.updateById(updateObj); + } + + @Override + public void deleteEnvironmentalIntoSubitem(Long id) { + // 校验存在 + validateEnvironmentalIntoSubitemExists(id); + // 删除 + environmentalIntoSubitemMapper.deleteById(id); + + } + + @Override + public void deleteEnvironmentalIntoSubitemListByIds(List ids) { + for (Long id : ids) { + this.deleteEnvironmentalIntoSubitem(id); + } + } + + private void validateEnvironmentalIntoSubitemExists(List ids) { + List list = environmentalIntoSubitemMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(ENVIRONMENTAL_INTO_SUBITEM_NOT_EXISTS); + } + } + + private void validateEnvironmentalIntoSubitemExists(Long id) { + if (environmentalIntoSubitemMapper.selectById(id) == null) { + throw exception(ENVIRONMENTAL_INTO_SUBITEM_NOT_EXISTS); + } + EnvironmentalIntoMainDO environmentalIntoMainDO = environmentalIntoMainMapper.selectById(id); + if (environmentalIntoMainDO == null) { + throw exception(ENVIRONMENTAL_INTO_MAIN_NOT_EXISTS); + } + //草稿状态才能操作 + if(!environmentalIntoMainDO.getStatus().equals("00")){ + throw exception(ENVIRONMENTAL_INTO_MAIN_DRAFT_STATUS); + } + } + + @Override + public EnvironmentalIntoSubitemDO getEnvironmentalIntoSubitem(Long id) { + return environmentalIntoSubitemMapper.selectById(id); + } + + @Override + public PageResult getEnvironmentalIntoSubitemPage(EnvironmentalIntoSubitemPageReqVO pageReqVO) { + return environmentalIntoSubitemMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlClsService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/ClassesService.java similarity index 71% rename from yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlClsService.java rename to yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/ClassesService.java index dc012134..2b97349c 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlClsService.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/ClassesService.java @@ -2,15 +2,15 @@ package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.mtrl; import java.util.*; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlClsListReqVO; -import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl.MtrlClsDO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.ClassesPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl.ClassesDO; /** * 物料分类 Service 接口 * * @author 后台管理 */ -public interface MtrlClsService { +public interface ClassesService { @@ -20,7 +20,7 @@ public interface MtrlClsService { * @param id 编号 * @return 物料分类 */ - MtrlClsDO getMtrlCls(Long id); + ClassesDO getClasses(Long id); /** * 获得物料分类列表 @@ -28,6 +28,6 @@ public interface MtrlClsService { * @param listReqVO 查询条件 * @return 物料分类列表 */ - List getMtrlClsList(MtrlClsListReqVO listReqVO); + List getClassesList(ClassesPageReqVO listReqVO); } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/ClassesServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/ClassesServiceImpl.java new file mode 100644 index 00000000..fb200950 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/ClassesServiceImpl.java @@ -0,0 +1,38 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.mtrl; + +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.ClassesPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl.ClassesDO; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.mtrl.ClassesMapper; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; + + + +/** + * 物料分类 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +@Transactional +public class ClassesServiceImpl implements ClassesService { + + @Resource + private ClassesMapper classesMapper; + + @Override + public ClassesDO getClasses(Long id) { + return classesMapper.selectById(id); + } + + @Override + public List getClassesList(ClassesPageReqVO listReqVO) { + return classesMapper.selectList(listReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlXpdService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MaterialExpandService.java similarity index 53% rename from yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlXpdService.java rename to yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MaterialExpandService.java index 5c836fcf..88d201db 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlXpdService.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MaterialExpandService.java @@ -1,28 +1,28 @@ package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.mtrl; -import java.util.*; - -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlXpdPageReqVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlXpdRespVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlXpdSaveReqVO; -import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl.MtrlXpdDO; -import jakarta.validation.*; import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MaterialExpandPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MaterialExpandRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MaterialExpandSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl.MaterialExpandDO; +import jakarta.validation.Valid; + +import java.util.List; /** * 物资信息扩展 Service 接口 * * @author 后台管理 */ -public interface MtrlXpdService { +public interface MaterialExpandService { /** * 更新物资信息扩展 * - * @param updateReqVO 更新信息 + * @param updateReqVOs 更新信息 */ - void updateMtrlXpd(@Valid List updateReqVOs); + void updateMaterialExpand(@Valid List updateReqVOs); /** * 获得物资信息扩展 @@ -30,7 +30,7 @@ public interface MtrlXpdService { * @param id 编号 * @return 物资信息扩展 */ - MtrlXpdDO getMtrlXpd(Long id); + MaterialExpandDO getMaterialExpand(Long id); /** * 获得物资信息扩展分页 @@ -38,6 +38,9 @@ public interface MtrlXpdService { * @param pageReqVO 分页查询 * @return 物资信息扩展分页 */ - PageResult getMtrlXpdPage(MtrlXpdPageReqVO pageReqVO); + PageResult getMaterialExpandPage(MaterialExpandPageReqVO pageReqVO); + + List getMaterialExpandList(MaterialExpandPageReqVO pageReqVO); + } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MaterialExpandServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MaterialExpandServiceImpl.java new file mode 100644 index 00000000..c767c34c --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MaterialExpandServiceImpl.java @@ -0,0 +1,232 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.mtrl; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.ClassesPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MaterialExpandPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MaterialExpandRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MaterialExpandSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl.ClassesDO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl.MaterialExpandDO; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.mtrl.ClassesMapper; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.mtrl.MaterialExpandMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.annotation.Validated; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + + + +/** + * 物资信息扩展 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +@Transactional +public class MaterialExpandServiceImpl implements MaterialExpandService { + + @Resource + private MaterialExpandMapper MaterialExpandMapper; + + @Resource + private ClassesMapper classesMapper; + + + @Override + public void updateMaterialExpand(List updateReqVOs) { + + // 更新 + for (MaterialExpandSaveReqVO updateReqVO : updateReqVOs){ + MaterialExpandDO updateObj = BeanUtils.toBean(updateReqVO, MaterialExpandDO.class); + if (null == updateReqVO.getId()) { + MaterialExpandMapper.insert(updateObj); + }else { + MaterialExpandMapper.updateById(updateObj); + } + + } + } + + + @Override + public MaterialExpandDO getMaterialExpand(Long id) { + return MaterialExpandMapper.selectById(id); + } + + @Override + public PageResult getMaterialExpandPage(MaterialExpandPageReqVO pageReqVO) { + + if (null != pageReqVO.getClassesId()) { + List classesIds = new ArrayList<>(); + + ClassesDO classes = classesMapper.selectById(pageReqVO.getClassesId()); + Long classesLevel = classes.getLevel(); + while (classesLevel != null && classesLevel <= 3) { + if (classesLevel == 1) { + classesIds.add(classes.getId()); + classesLevel++; + }else if (classesLevel == 2) { + ClassesPageReqVO classesPageL2ReqVO = new ClassesPageReqVO(); + classesPageL2ReqVO.setParentId(classes.getParentId()); + List classesL2DOS = classesMapper.selectList(classesPageL2ReqVO); + if (!CollectionUtil.isEmpty(classesL2DOS)) { + for (ClassesDO d2 : classesL2DOS) { + classesIds.add(d2.getId()); + + ClassesPageReqVO classesPageL3ReqVO = new ClassesPageReqVO(); + classesPageL3ReqVO.setParentId(d2.getId()); + List classesL3DOS = classesMapper.selectList(classesPageL3ReqVO); + for (ClassesDO d3 : classesL3DOS) { + classesIds.add(d3.getId()); + } + } + } + classesLevel++; + }else { + classesIds.add(classes.getId()); + classesLevel++; + } + } + pageReqVO.setClassesIds(classesIds); + } + + + IPage page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + MaterialExpandMapper.selectPage2(page, pageReqVO); + List records = page.getRecords(); + if (CollUtil.isNotEmpty(records)) { + for (MaterialExpandRespVO record : records) { + ClassesDO classesDO = MaterialExpandMapper.selectMaterialClasses2(record.getClassesId()); + ClassesDO currentClass = classesDO; + // 递归查找父级,直到 level == 1 + while (currentClass != null && currentClass.getLevel() > 0) { + if (currentClass.getLevel() == 1) { + record.setBigTypeCode(currentClass.getCode()); + record.setBigTypeName(currentClass.getName()); + }else if (currentClass.getLevel() == 2) { + record.setMiddleTypeCode(currentClass.getCode()); + record.setMiddleTypeName(currentClass.getName()); + }else if (currentClass.getLevel() == 3) { + record.setSmallTypeCode(currentClass.getCode()); + record.setSmallTypeName(currentClass.getName()); + } + currentClass = classesMapper.selectById(currentClass.getParentId()); + } + } + + } + + + +// this.queryInfo(page.getRecords()); + return new PageResult<>(records, page.getTotal()); + } + + @Override + public List getMaterialExpandList(MaterialExpandPageReqVO pageReqVO) { + + if (null != pageReqVO.getClassesId()) { + List classesIds = new ArrayList<>(); + + ClassesDO classes = classesMapper.selectById(pageReqVO.getClassesId()); + Long classesLevel = classes.getLevel(); + while (classesLevel != null && classesLevel <= 3) { + if (classesLevel == 1) { + classesIds.add(classes.getId()); + classesLevel++; + }else if (classesLevel == 2) { + ClassesPageReqVO classesPageL2ReqVO = new ClassesPageReqVO(); + classesPageL2ReqVO.setParentId(classes.getParentId()); + List classesL2DOS = classesMapper.selectList(classesPageL2ReqVO); + if (!CollectionUtil.isEmpty(classesL2DOS)) { + for (ClassesDO d2 : classesL2DOS) { + classesIds.add(d2.getId()); + + ClassesPageReqVO classesPageL3ReqVO = new ClassesPageReqVO(); + classesPageL3ReqVO.setParentId(d2.getId()); + List classesL3DOS = classesMapper.selectList(classesPageL3ReqVO); + for (ClassesDO d3 : classesL3DOS) { + classesIds.add(d3.getId()); + } + } + } + classesLevel++; + }else { + classesIds.add(classes.getId()); + classesLevel++; + } + } + pageReqVO.setClassesIds(classesIds); + } + + + List records = MaterialExpandMapper.selectMaterialList(pageReqVO); + if (CollUtil.isNotEmpty(records)) { + for (MaterialExpandRespVO record : records) { + ClassesDO classesDO = MaterialExpandMapper.selectMaterialClasses2(record.getClassesId()); + ClassesDO currentClass = classesDO; + // 递归查找父级,直到 level == 1 + while (currentClass != null && currentClass.getLevel() > 0) { + if (currentClass.getLevel() == 1) { + record.setBigTypeCode(currentClass.getCode()); + record.setBigTypeName(currentClass.getName()); + }else if (currentClass.getLevel() == 2) { + record.setMiddleTypeCode(currentClass.getCode()); + record.setMiddleTypeName(currentClass.getName()); + }else if (currentClass.getLevel() == 3) { + record.setSmallTypeCode(currentClass.getCode()); + record.setSmallTypeName(currentClass.getName()); + } + currentClass = classesMapper.selectById(currentClass.getParentId()); + } + } + + } + + return records; + } + + private void queryInfo(List records) { + if (CollUtil.isNotEmpty(records)) { + List materialIds = records.stream() + .filter(record -> record.getMaterialId() != null) + .map(MaterialExpandRespVO::getId) + .collect(Collectors.toList()); + + //物资目录 + List materialClasses = MaterialExpandMapper.selectMaterialClasses(materialIds); + + Map materialClassMap = materialClasses.stream() + .filter(mc -> mc.getMaterialId() != null) + .collect(Collectors.toMap(MaterialExpandRespVO::getMaterialId, mc -> mc, (existing, replacement) -> existing)); + + for (MaterialExpandRespVO record : records) { + if (record.getId() == null) continue; + + MaterialExpandRespVO mc = materialClassMap.get(record.getId()); + if (mc != null) { + record.setBigTypeCode(mc.getBigTypeCode()); + record.setBigTypeName(mc.getBigTypeName()); + record.setMiddleTypeCode(mc.getMiddleTypeCode()); + record.setMiddleTypeName(mc.getMiddleTypeName()); + record.setSmallTypeCode(mc.getSmallTypeCode()); + record.setSmallTypeName(mc.getSmallTypeName()); + } + + // 查询详细信息 todo + } + } + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlClsServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlClsServiceImpl.java deleted file mode 100644 index b2ec120b..00000000 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlClsServiceImpl.java +++ /dev/null @@ -1,47 +0,0 @@ -package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.mtrl; - -import cn.hutool.core.collection.CollUtil; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlClsListReqVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlClsRespVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlClsSaveReqVO; -import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl.MtrlClsDO; -import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.mtrl.MtrlClsMapper; -import org.springframework.stereotype.Service; -import jakarta.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; - - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.diffList; - -/** - * 物料分类 Service 实现类 - * - * @author 后台管理 - */ -@Service -@Validated -@Transactional -public class MtrlClsServiceImpl implements MtrlClsService { - - @Resource - private MtrlClsMapper mtrlClsMapper; - - @Override - public MtrlClsDO getMtrlCls(Long id) { - return mtrlClsMapper.selectById(id); - } - - @Override - public List getMtrlClsList(MtrlClsListReqVO listReqVO) { - return mtrlClsMapper.selectList(listReqVO); - } - -} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlXpdServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlXpdServiceImpl.java deleted file mode 100644 index cc6b3c53..00000000 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlXpdServiceImpl.java +++ /dev/null @@ -1,93 +0,0 @@ -package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.mtrl; - -import cn.hutool.core.collection.CollUtil; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlXpdPageReqVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlXpdRespVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlXpdSaveReqVO; -import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl.MtrlXpdDO; -import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.mtrl.MtrlXpdMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import org.springframework.stereotype.Service; -import jakarta.annotation.Resource; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.validation.annotation.Validated; - -import java.util.*; -import java.util.stream.Collectors; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; - - - -/** - * 物资信息扩展 Service 实现类 - * - * @author 后台管理 - */ -@Service -@Validated -@Transactional -public class MtrlXpdServiceImpl implements MtrlXpdService { - - @Resource - private MtrlXpdMapper mtrlXpdMapper; - - @Override - public void updateMtrlXpd(List updateReqVOs) { - - // 更新 - for (MtrlXpdSaveReqVO updateReqVO : updateReqVOs){ - MtrlXpdDO updateObj = BeanUtils.toBean(updateReqVO, MtrlXpdDO.class); - mtrlXpdMapper.insertOrUpdate(updateObj); - } - } - - - @Override - public MtrlXpdDO getMtrlXpd(Long id) { - return mtrlXpdMapper.selectById(id); - } - - @Override - public PageResult getMtrlXpdPage(MtrlXpdPageReqVO pageReqVO) { - IPage page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); - mtrlXpdMapper.selectPage2(page, pageReqVO); -// this.queryInfo(page.getRecords()); - return new PageResult<>(page.getRecords(), page.getTotal()); - } - - private void queryInfo(List records) { - if (CollUtil.isNotEmpty(records)) { - List materialIds = records.stream() - .filter(record -> record.getMaterialId() != null) - .map(MtrlXpdRespVO::getId) - .collect(Collectors.toList()); - - //物资目录 - List materialClasses = mtrlXpdMapper.selectMaterialClasses(materialIds); - - Map materialClassMap = materialClasses.stream() - .filter(mc -> mc.getMaterialId() != null) - .collect(Collectors.toMap(MtrlXpdRespVO::getMaterialId, mc -> mc, (existing, replacement) -> existing)); - - for (MtrlXpdRespVO record : records) { - if (record.getId() == null) continue; - - MtrlXpdRespVO mc = materialClassMap.get(record.getId()); - if (mc != null) { - record.setBigTypeCode(mc.getBigTypeCode()); - record.setBigTypeName(mc.getBigTypeName()); - record.setMidTypeCode(mc.getMidTypeCode()); - record.setMidTypeName(mc.getMidTypeName()); - record.setSmalTypeCode(mc.getSmalTypeCode()); - record.setSmalTypeName(mc.getSmalTypeName()); - } - - // 查询详细信息 todo - } - } - } - -} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/myDriver/MyDriverService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/myDriver/MyDriverService.java new file mode 100644 index 00000000..0303b008 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/myDriver/MyDriverService.java @@ -0,0 +1,63 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.myDriver; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myDriver.vo.MyDriverPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myDriver.vo.MyDriverRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myDriver.vo.MyDriverSaveReqVO; +import jakarta.validation.Valid; + +import java.util.List; + +/** + * 协同我的司机 Service 接口 + * + * @author 后台管理 + */ +public interface MyDriverService { + + /** + * 创建协同我的司机 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + MyDriverRespVO createMyDriver(@Valid MyDriverSaveReqVO createReqVO); + + /** + * 更新协同我的司机 + * + * @param updateReqVO 更新信息 + */ + void updateMyDriver(@Valid MyDriverSaveReqVO updateReqVO); + + /** + * 删除协同我的司机 + * + * @param id 编号 + */ + void deleteMyDriver(Long id); + + /** + * 批量删除协同我的司机 + * + * @param ids 编号 + */ + void deleteMyDriverListByIds(List ids); + + /** + * 获得协同我的司机 + * + * @param id 编号 + * @return 协同我的司机 + */ + MyDriverRespVO getMyDriver(Long id); + + /** + * 获得协同我的司机分页 + * + * @param pageReqVO 分页查询 + * @return 协同我的司机分页 + */ + PageResult getMyDriverPage(MyDriverPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/myDriver/MyDriverServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/myDriver/MyDriverServiceImpl.java new file mode 100644 index 00000000..9fd15b84 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/myDriver/MyDriverServiceImpl.java @@ -0,0 +1,153 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.myDriver; + +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.DrivingAccountRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myDriver.vo.MyDriverPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myDriver.vo.MyDriverRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myDriver.vo.MyDriverSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.myDriver.MyDriverDO; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.myDriver.MyDriverMapper; +import cn.iocoder.yudao.module.backendlogistics.enums.bseMngt.xtAcct.UserTypeEnum; +import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct.DrivingAccountService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import java.util.List; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.MY_DRIVER_EXISTS; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.MY_DRIVER_NOT_EXISTS; + +/** + * 协同我的司机 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class MyDriverServiceImpl implements MyDriverService { + + @Resource + private MyDriverMapper myDriverMapper; + @Resource + private DrivingAccountService drivingAccountService; + + @Override + public MyDriverRespVO createMyDriver(MyDriverSaveReqVO createReqVO) { + //是否已经有司机账号 没有重新注册 + Long driverId = drivingAccountService.createOrUpdate(createReqVO); + Long loginUserId = SecurityFrameworkUtils.getLoginUserId(); + //校验是否有关联关系 + validateDriverExists(loginUserId, driverId, createReqVO.getMyDriverId()); + // 建立关联关系 + MyDriverDO myDriver = BeanUtils.toBean(createReqVO, MyDriverDO.class); + myDriver.setId(null);//新增 + myDriver.setCustomerId(loginUserId); + myDriver.setUserType(UserTypeEnum.LGST_CRR_ACCT.getCode()); + myDriver.setDrivingId(driverId); + myDriver.setUsualCar(createReqVO.getUsualCar()); + myDriverMapper.insert(myDriver); + // 返回 + return BeanUtils.toBean(myDriver, MyDriverRespVO.class); + } + + @Override + public void updateMyDriver(MyDriverSaveReqVO updateReqVO) { + Long loginUserId = SecurityFrameworkUtils.getLoginUserId(); + // 校验存在 + MyDriverDO updateObj = validateMyDriverExists(updateReqVO.getMyDriverId()); + //是否已经有司机账号 没有重新注册 + Long driverId = drivingAccountService.createOrUpdate(updateReqVO); + //校验是否有关联关系 + validateDriverExists(loginUserId, driverId, updateReqVO.getMyDriverId()); + // 更新 + updateObj.setDrivingId(driverId); + updateObj.setUsualCar(updateReqVO.getUsualCar()); + myDriverMapper.updateById(updateObj); + } + + @Override + public void deleteMyDriver(Long id) { + // 校验存在 + validateMyDriverExists(id); + // 删除 + myDriverMapper.deleteById(id); + } + + @Override + public void deleteMyDriverListByIds(List ids) { + // 校验存在 + validateMyDriverExists(ids); + // 删除 + myDriverMapper.deleteByIds(ids); + } + + private void validateMyDriverExists(List ids) { + List list = myDriverMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(MY_DRIVER_NOT_EXISTS); + } + } + + private MyDriverDO validateMyDriverExists(Long id) { + MyDriverDO myDriverDO = myDriverMapper.selectById(id); + if (myDriverDO == null) { + throw exception(MY_DRIVER_NOT_EXISTS); + } + return myDriverDO; + } + + /** + * 校验是否有关联关系 + * @param loginUserId + * @param driverId + * @param myDriverId + */ + private void validateDriverExists(Long loginUserId, Long driverId, Long myDriverId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .eq(MyDriverDO::getCustomerId, loginUserId) + .eq(MyDriverDO::getDrivingId, driverId) + .eq(MyDriverDO::getDeleted, 0); + // 如果id不为空,则排除该id的记录 + if (myDriverId != null) { + queryWrapper.ne(MyDriverDO::getId, myDriverId); + } + boolean exists = myDriverMapper.exists(queryWrapper); + if (exists) { + throw exception(MY_DRIVER_EXISTS); + } + } + + @Override + public MyDriverRespVO getMyDriver(Long id) { + MyDriverDO myDriverDO = myDriverMapper.selectById(id); + if (myDriverDO == null) { + return BeanUtils.toBean(myDriverDO, MyDriverRespVO.class); + } + Long drivingId = myDriverDO.getDrivingId(); + DrivingAccountRespVO drivingAccount = drivingAccountService.getDrivingAccount(drivingId); + MyDriverRespVO myDriverRespVO = BeanUtils.toBean(drivingAccount, MyDriverRespVO.class); + myDriverRespVO.setUsualCar(myDriverDO.getUsualCar()); + myDriverRespVO.setCreatorName(myDriverDO.getCreatorName()); + myDriverRespVO.setUpdaterName(myDriverDO.getUpdaterName()); + return myDriverRespVO; + } + + @Override + public PageResult getMyDriverPage(MyDriverPageReqVO pageReqVO) { + Long loginUserId = SecurityFrameworkUtils.getLoginUserId(); + pageReqVO.setLoginUserId(loginUserId); + IPage page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + myDriverMapper.selectPage(page, pageReqVO); + List records = page.getRecords(); + return new PageResult<>(records, page.getTotal()); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/myWrh/MyWrhService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/myWrh/MyWrhService.java new file mode 100644 index 00000000..98c8df48 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/myWrh/MyWrhService.java @@ -0,0 +1,57 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.myWrh; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myWrh.vo.MyWrhPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myWrh.vo.MyWrhRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myWrh.vo.MyWrhSaveReqVO; +import jakarta.validation.Valid; + +import java.util.List; + +/** + * 协同我的仓库 Service 接口 + * + * @author 后台管理 + */ +public interface MyWrhService { + + /** + * 创建协同我的仓库 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + MyWrhRespVO createMyWrh(@Valid MyWrhSaveReqVO createReqVO); + + + /** + * 删除协同我的仓库 + * + * @param id 编号 + */ + void deleteMyWrh(Long id); + + /** + * 批量删除协同我的仓库 + * + * @param ids 编号 + */ + void deleteMyWrhListByIds(List ids); + + /** + * 获得协同我的仓库 + * + * @param id 编号 + * @return 协同我的仓库 + */ + MyWrhRespVO getMyWrh(Long id); + + /** + * 获得协同我的仓库分页 + * + * @param pageReqVO 分页查询 + * @return 协同我的仓库分页 + */ + PageResult getMyWrhPage(MyWrhPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/myWrh/MyWrhServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/myWrh/MyWrhServiceImpl.java new file mode 100644 index 00000000..70e0b11a --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/myWrh/MyWrhServiceImpl.java @@ -0,0 +1,130 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.myWrh; + +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myWrh.vo.MyWrhPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myWrh.vo.MyWrhRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.myWrh.vo.MyWrhSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.myWrh.MyWrhDO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.WarehouseDO; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.myWrh.MyWrhMapper; +import cn.iocoder.yudao.module.backendlogistics.enums.bseMngt.xtAcct.UserTypeEnum; +import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi.WarehouseService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import java.util.List; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.MY_WRH_EXISTS; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.MY_WRH_NOT_EXISTS; + + +/** + * 协同我的仓库 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class MyWrhServiceImpl implements MyWrhService { + + @Resource + private MyWrhMapper myWrhMapper; + @Resource + private WarehouseService warehouseService; + + @Override + public MyWrhRespVO createMyWrh(MyWrhSaveReqVO createReqVO) { + Long loginUserId = SecurityFrameworkUtils.getLoginUserId(); + //校验是否有关联关系 + validateMyWrhExists(loginUserId, createReqVO.getId(), null); + //修改管理后台-仓库相关信息 + warehouseService.updateWarehouse(createReqVO); + // 建立关联关系 + MyWrhDO myWrh = BeanUtils.toBean(createReqVO, MyWrhDO.class); + myWrh.setId(null);//新增 + myWrh.setCustomerId(loginUserId); + myWrh.setUserType(UserTypeEnum.LGST_CRR_ACCT.getCode()); + myWrh.setWarehouseId(createReqVO.getId()); + myWrhMapper.insert(myWrh); + // 返回 + return BeanUtils.toBean(myWrh, MyWrhRespVO.class); + } + + + + @Override + public void deleteMyWrh(Long id) { + // 校验存在 + validateMyWrhExists(id); + // 删除 + myWrhMapper.deleteById(id); + } + + @Override + public void deleteMyWrhListByIds(List ids) { + // 校验存在 + validateMyWrhExists(ids); + // 删除 + myWrhMapper.deleteByIds(ids); + } + + private void validateMyWrhExists(List ids) { + List list = myWrhMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(MY_WRH_NOT_EXISTS); + } + } + + private void validateMyWrhExists(Long id) { + if (myWrhMapper.selectById(id) == null) { + throw exception(MY_WRH_NOT_EXISTS); + } + } + + + private void validateMyWrhExists(Long loginUserId, Long warehouseId, Long myWrhId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .eq(MyWrhDO::getCustomerId, loginUserId) + .eq(MyWrhDO::getWarehouseId, warehouseId) + .eq(MyWrhDO::getDeleted, 0); + // 如果id不为空,则排除该id的记录 + if (myWrhId != null) { + queryWrapper.ne(MyWrhDO::getId, myWrhId); + } + boolean exists = myWrhMapper.exists(queryWrapper); + if (exists) { + throw exception(MY_WRH_EXISTS); + } + } + + @Override + public MyWrhRespVO getMyWrh(Long id) { + MyWrhDO myWrhDO = myWrhMapper.selectById(id); + if (myWrhDO == null) { + return BeanUtils.toBean(myWrhDO, MyWrhRespVO.class); + } + WarehouseDO warehouse = warehouseService.getWarehouse(myWrhDO.getWarehouseId()); + MyWrhRespVO myWrhRespVO = BeanUtils.toBean(warehouse, MyWrhRespVO.class); + BeanUtils.copyProperties(myWrhDO, myWrhRespVO); + return myWrhRespVO; + } + + @Override + public PageResult getMyWrhPage(MyWrhPageReqVO pageReqVO) { + Long loginUserId = SecurityFrameworkUtils.getLoginUserId(); + pageReqVO.setLoginUserId(loginUserId); + IPage page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + myWrhMapper.selectPage(page, pageReqVO); + List records = page.getRecords(); + return new PageResult<>(records, page.getTotal()); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/AuncelConfigService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/AuncelConfigService.java index 2681f4fd..c920a106 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/AuncelConfigService.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/AuncelConfigService.java @@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.AuncelConfigPageReqVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.AuncelConfigRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.AuncelConfigSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.AuncelConfigUpdateReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.AuncelConfigDO; import jakarta.validation.Valid; @@ -29,7 +30,7 @@ public interface AuncelConfigService { * * @param updateReqVO 更新信息 */ - void updateAuncelConfig(@Valid AuncelConfigSaveReqVO updateReqVO); + void updateAuncelConfig(@Valid AuncelConfigUpdateReqVO updateReqVO); /** * 删除计量点配置 diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/AuncelConfigServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/AuncelConfigServiceImpl.java index 40ce8688..420d73fa 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/AuncelConfigServiceImpl.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/AuncelConfigServiceImpl.java @@ -3,9 +3,11 @@ package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi; import cn.hutool.core.collection.CollUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.AuncelConfigPageReqVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.AuncelConfigRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.AuncelConfigSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.AuncelConfigUpdateReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.AuncelConfigDO; import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.plceAchi.AuncelConfigMapper; import jakarta.annotation.Resource; @@ -15,7 +17,7 @@ import org.springframework.validation.annotation.Validated; import java.util.List; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.AUNCEL_CONFIG_NOT_EXISTS; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.*; /** @@ -30,8 +32,20 @@ public class AuncelConfigServiceImpl implements AuncelConfigService { @Resource private AuncelConfigMapper auncelConfigMapper; + private Long validateIsExistCompanyId(){ + Long loginUserCompanyId = SecurityFrameworkUtils.getLoginUserCompanyId(); + if(loginUserCompanyId==null){ + throw exception(VISIT_COMPANY_ID_NOT_EXISTS); + } + return loginUserCompanyId; + } + @Override public AuncelConfigRespVO createAuncelConfig(AuncelConfigSaveReqVO createReqVO) { + // 校验是否传入visit-company-id参数 + validateIsExistCompanyId(); + //name or code是否被使用 + validateNameOrCodeIsExists(null, createReqVO.getAuncelName(), createReqVO.getAuncelCoding()); // 插入 AuncelConfigDO auncelConfig = BeanUtils.toBean(createReqVO, AuncelConfigDO.class); auncelConfigMapper.insert(auncelConfig); @@ -40,9 +54,13 @@ public class AuncelConfigServiceImpl implements AuncelConfigService { } @Override - public void updateAuncelConfig(AuncelConfigSaveReqVO updateReqVO) { + public void updateAuncelConfig(AuncelConfigUpdateReqVO updateReqVO) { + // 校验是否传入visit-company-id参数 + validateIsExistCompanyId(); // 校验存在 validateAuncelConfigExists(updateReqVO.getId()); + //name or code是否被使用 + validateNameOrCodeIsExists(updateReqVO.getId(), updateReqVO.getAuncelName(), updateReqVO.getAuncelCoding()); // 更新 AuncelConfigDO updateObj = BeanUtils.toBean(updateReqVO, AuncelConfigDO.class); auncelConfigMapper.updateById(updateObj); @@ -84,7 +102,16 @@ public class AuncelConfigServiceImpl implements AuncelConfigService { @Override public PageResult getAuncelConfigPage(AuncelConfigPageReqVO pageReqVO) { + // 校验是否传入visit-company-id参数 + Long companyId = validateIsExistCompanyId(); + pageReqVO.setCompanyId(companyId); return auncelConfigMapper.selectPage(pageReqVO); } + private void validateNameOrCodeIsExists(Long id, String name, String code) { + List list = auncelConfigMapper.getByNameOrCode(id, name, code); + if (CollUtil.isNotEmpty(list) || list.size() >0) { + throw exception(NAME_OR_CODE_EXISTS); + } + } } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/ConsigneeAddressService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/ConsigneeAddressService.java index 1a798cda..be953c62 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/ConsigneeAddressService.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/ConsigneeAddressService.java @@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ConsigneeAddressPageReqVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ConsigneeAddressRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ConsigneeAddressSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ConsigneeAddressUpdateReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.ConsigneeAddressDO; import jakarta.validation.Valid; @@ -29,7 +30,7 @@ public interface ConsigneeAddressService { * * @param updateReqVO 更新信息 */ - void updateConsigneeAddress(@Valid ConsigneeAddressSaveReqVO updateReqVO); + void updateConsigneeAddress(@Valid ConsigneeAddressUpdateReqVO updateReqVO); /** * 删除客户收货地址 diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/ConsigneeAddressServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/ConsigneeAddressServiceImpl.java index 64e8aa27..7c113e0c 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/ConsigneeAddressServiceImpl.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/ConsigneeAddressServiceImpl.java @@ -6,8 +6,10 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ConsigneeAddressPageReqVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ConsigneeAddressRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ConsigneeAddressSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ConsigneeAddressUpdateReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.ConsigneeAddressDO; import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.plceAchi.ConsigneeAddressMapper; +import cn.iocoder.yudao.module.backendlogistics.service.common.CompanyService; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -16,6 +18,7 @@ import java.util.List; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.CONSIGNEE_ADDRESS_NOT_EXISTS; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.NAME_OR_CODE_EXISTS; /** @@ -29,9 +32,26 @@ public class ConsigneeAddressServiceImpl implements ConsigneeAddressService { @Resource private ConsigneeAddressMapper consigneeAddressMapper; + @Resource + private CompanyService companyService; + + private void validateIsTopCompany(){ +// Long loginUserCompanyId = SecurityFrameworkUtils.getLoginUserCompanyId(); +// if(loginUserCompanyId==null){ +// throw exception(VISIT_COMPANY_ID_NOT_EXISTS); +// } +// DeptRespDTO topCompany = companyService.getTopCompany(); +// if(topCompany.getId()!=loginUserCompanyId){ +// throw exception(VISIT_COMPANY_ID_NOT_TOP_COMPANY); +// } + } @Override public ConsigneeAddressRespVO createConsigneeAddress(ConsigneeAddressSaveReqVO createReqVO) { + // 校验是否主张套 + validateIsTopCompany(); + //name or code是否被使用 + validateNameOrCodeIsExists(null, createReqVO.getPlaceName(), createReqVO.getPlaceCoding()); // 插入 ConsigneeAddressDO consigneeAddress = BeanUtils.toBean(createReqVO, ConsigneeAddressDO.class); consigneeAddressMapper.insert(consigneeAddress); @@ -40,9 +60,13 @@ public class ConsigneeAddressServiceImpl implements ConsigneeAddressService { } @Override - public void updateConsigneeAddress(ConsigneeAddressSaveReqVO updateReqVO) { + public void updateConsigneeAddress(ConsigneeAddressUpdateReqVO updateReqVO) { + // 校验是否主张套 + validateIsTopCompany(); // 校验存在 validateConsigneeAddressExists(updateReqVO.getId()); + //name or code是否被使用 + validateNameOrCodeIsExists(updateReqVO.getId(), updateReqVO.getPlaceName(), updateReqVO.getPlaceCoding()); // 更新 ConsigneeAddressDO updateObj = BeanUtils.toBean(updateReqVO, ConsigneeAddressDO.class); consigneeAddressMapper.updateById(updateObj); @@ -87,4 +111,10 @@ public class ConsigneeAddressServiceImpl implements ConsigneeAddressService { return consigneeAddressMapper.selectPage(pageReqVO); } + private void validateNameOrCodeIsExists(Long id, String name, String code) { + List list = consigneeAddressMapper.getByNameOrCode(id, name, code); + if (CollUtil.isNotEmpty(list) || list.size() >0) { + throw exception(NAME_OR_CODE_EXISTS); + } + } } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/FactoryService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/FactoryService.java index 03db5b25..4e08fbdd 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/FactoryService.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/FactoryService.java @@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.FactoryPageReqVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.FactoryRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.FactorySaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.FactoryUpdateReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.FactoryDO; import jakarta.validation.Valid; @@ -29,7 +30,7 @@ public interface FactoryService { * * @param updateReqVO 更新信息 */ - void updateFactory(@Valid FactorySaveReqVO updateReqVO); + void updateFactory(@Valid FactoryUpdateReqVO updateReqVO); /** * 删除生产厂区信息 diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/FactoryServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/FactoryServiceImpl.java index b7ac3f8e..40da0072 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/FactoryServiceImpl.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/FactoryServiceImpl.java @@ -3,9 +3,11 @@ package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi; import cn.hutool.core.collection.CollUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.FactoryPageReqVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.FactoryRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.FactorySaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.FactoryUpdateReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.FactoryDO; import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.plceAchi.FactoryMapper; import jakarta.annotation.Resource; @@ -15,7 +17,7 @@ import org.springframework.validation.annotation.Validated; import java.util.List; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.FACTORY_NOT_EXISTS; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.*; /** * 生产厂区信息 Service 实现类 @@ -29,8 +31,20 @@ public class FactoryServiceImpl implements FactoryService { @Resource private FactoryMapper factoryMapper; + private Long validateIsExistCompanyId(){ + Long loginUserCompanyId = SecurityFrameworkUtils.getLoginUserCompanyId(); + if(loginUserCompanyId==null){ + throw exception(VISIT_COMPANY_ID_NOT_EXISTS); + } + return loginUserCompanyId; + } + @Override public FactoryRespVO createFactory(FactorySaveReqVO createReqVO) { + // 校验是否传入visit-company-id参数 + validateIsExistCompanyId(); + //name or code是否被使用 + validateNameOrCodeIsExists(null, createReqVO.getFactoryName(), createReqVO.getFactoryCoding()); // 插入 FactoryDO factory = BeanUtils.toBean(createReqVO, FactoryDO.class); factoryMapper.insert(factory); @@ -39,9 +53,13 @@ public class FactoryServiceImpl implements FactoryService { } @Override - public void updateFactory(FactorySaveReqVO updateReqVO) { + public void updateFactory(FactoryUpdateReqVO updateReqVO) { + // 校验是否传入visit-company-id参数 + validateIsExistCompanyId(); // 校验存在 validateFactoryExists(updateReqVO.getId()); + //name or code是否被使用 + validateNameOrCodeIsExists(updateReqVO.getId(), updateReqVO.getFactoryName(), updateReqVO.getFactoryCoding()); // 更新 FactoryDO updateObj = BeanUtils.toBean(updateReqVO, FactoryDO.class); factoryMapper.updateById(updateObj); @@ -83,7 +101,16 @@ public class FactoryServiceImpl implements FactoryService { @Override public PageResult getFactoryPage(FactoryPageReqVO pageReqVO) { + // 校验是否传入visit-company-id参数 + Long companyId = validateIsExistCompanyId(); + pageReqVO.setCompanyId(companyId); return factoryMapper.selectPage(pageReqVO); } + private void validateNameOrCodeIsExists(Long id, String name, String code) { + List list = factoryMapper.getByNameOrCode(id, name, code); + if (CollUtil.isNotEmpty(list) || list.size() >0) { + throw exception(NAME_OR_CODE_EXISTS); + } + } } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/ForeignAreaService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/ForeignAreaService.java new file mode 100644 index 00000000..9a5384d7 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/ForeignAreaService.java @@ -0,0 +1,63 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.*; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.ForeignAreaDO; +import jakarta.validation.Valid; + +import java.util.List; + +/** + * 国外区域 Service 接口 + * + * @author 后台管理 + */ +public interface ForeignAreaService { + + /** + * 创建国外区域 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + ForeignAreaRespVO createForeignArea(@Valid ForeignAreaSaveReqVO createReqVO); + + /** + * 更新国外区域 + * + * @param updateReqVO 更新信息 + */ + void updateForeignArea(@Valid ForeignAreaSaveReqVO updateReqVO); + + /** + * 删除国外区域 + * + * @param id 编号 + */ + void deleteForeignArea(Long id); + + /** + * 批量删除国外区域 + * + * @param ids 编号 + */ + void deleteForeignAreaListByIds(List ids); + + /** + * 获得国外区域 + * + * @param id 编号 + * @return 国外区域 + */ + ForeignAreaDO getForeignArea(Long id); + + /** + * 获得国外区域分页 + * + * @param pageReqVO 分页查询 + * @return 国外区域分页 + */ + PageResult getForeignAreaPage(ForeignAreaPageReqVO pageReqVO); + + List getForeignAreaDropdown(String name); +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/ForeignAreaServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/ForeignAreaServiceImpl.java new file mode 100644 index 00000000..d24c43a8 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/ForeignAreaServiceImpl.java @@ -0,0 +1,106 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi; + +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ForeignAreaPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ForeignAreaRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ForeignAreaSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.ForeignAreaVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.ForeignAreaDO; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.plceAchi.ForeignAreaMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import java.util.ArrayList; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.FOREIGN_AREA_NOT_EXISTS; + + +/** + * 国外区域 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class ForeignAreaServiceImpl implements ForeignAreaService { + + @Resource + private ForeignAreaMapper foreignAreaMapper; + + @Override + public ForeignAreaRespVO createForeignArea(ForeignAreaSaveReqVO createReqVO) { + // 插入 + ForeignAreaDO foreignArea = BeanUtils.toBean(createReqVO, ForeignAreaDO.class); + foreignAreaMapper.insert(foreignArea); + // 返回 + return BeanUtils.toBean(foreignArea, ForeignAreaRespVO.class); + } + + @Override + public void updateForeignArea(ForeignAreaSaveReqVO updateReqVO) { + // 校验存在 + validateForeignAreaExists(updateReqVO.getId()); + // 更新 + ForeignAreaDO updateObj = BeanUtils.toBean(updateReqVO, ForeignAreaDO.class); + foreignAreaMapper.updateById(updateObj); + } + + @Override + public void deleteForeignArea(Long id) { + // 校验存在 + validateForeignAreaExists(id); + // 删除 + foreignAreaMapper.deleteById(id); + } + + @Override + public void deleteForeignAreaListByIds(List ids) { + // 校验存在 + validateForeignAreaExists(ids); + // 删除 + foreignAreaMapper.deleteByIds(ids); + } + + private void validateForeignAreaExists(List ids) { + List list = foreignAreaMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(FOREIGN_AREA_NOT_EXISTS); + } + } + + private void validateForeignAreaExists(Long id) { + if (foreignAreaMapper.selectById(id) == null) { + throw exception(FOREIGN_AREA_NOT_EXISTS); + } + } + + @Override + public ForeignAreaDO getForeignArea(Long id) { + return foreignAreaMapper.selectById(id); + } + + @Override + public PageResult getForeignAreaPage(ForeignAreaPageReqVO pageReqVO) { + return foreignAreaMapper.selectPage(pageReqVO); + } + + @Override + public List getForeignAreaDropdown(String name) { + List vos = new ArrayList<>(); + List list = foreignAreaMapper.getForeignAreaDropdown(0L, name); + if (CollUtil.isNotEmpty(list)) { + for(ForeignAreaDO item: list) { + ForeignAreaVO vo = BeanUtils.toBean(item, ForeignAreaVO.class); + List clist = foreignAreaMapper.getForeignAreaDropdown(item.getId(), null); + vo.setChildren(BeanUtils.toBean(clist, ForeignAreaVO.class)); + vos.add(vo); + } + } + return vos; + } +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/GateConfigService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/GateConfigService.java index 7b941dac..70e47c84 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/GateConfigService.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/GateConfigService.java @@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GateConfigPageReqVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GateConfigRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GateConfigSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GateConfigUpdateReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.GateConfigDO; import jakarta.validation.Valid; @@ -29,7 +30,7 @@ public interface GateConfigService { * * @param updateReqVO 更新信息 */ - void updateGateConfig(@Valid GateConfigSaveReqVO updateReqVO); + void updateGateConfig(@Valid GateConfigUpdateReqVO updateReqVO); /** * 删除门岗信息 diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/GateConfigServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/GateConfigServiceImpl.java index 932d642a..ed2e1a3d 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/GateConfigServiceImpl.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/GateConfigServiceImpl.java @@ -3,9 +3,11 @@ package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi; import cn.hutool.core.collection.CollUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GateConfigPageReqVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GateConfigRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GateConfigSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GateConfigUpdateReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.GateConfigDO; import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.plceAchi.GateConfigMapper; import jakarta.annotation.Resource; @@ -15,7 +17,7 @@ import org.springframework.validation.annotation.Validated; import java.util.List; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.GATE_CONFIG_NOT_EXISTS; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.*; /** @@ -30,8 +32,19 @@ public class GateConfigServiceImpl implements GateConfigService { @Resource private GateConfigMapper gateConfigMapper; + private Long validateIsExistCompanyId(){ + Long loginUserCompanyId = SecurityFrameworkUtils.getLoginUserCompanyId(); + if(loginUserCompanyId==null){ + throw exception(VISIT_COMPANY_ID_NOT_EXISTS); + } + return loginUserCompanyId; + } + @Override public GateConfigRespVO createGateConfig(GateConfigSaveReqVO createReqVO) { + //name or code是否被使用 + GateConfigUpdateReqVO updateReqVO = BeanUtils.toBean(createReqVO, GateConfigUpdateReqVO.class); + validateNameOrCodeIsExists(updateReqVO); // 插入 GateConfigDO gateConfig = BeanUtils.toBean(createReqVO, GateConfigDO.class); gateConfigMapper.insert(gateConfig); @@ -40,9 +53,11 @@ public class GateConfigServiceImpl implements GateConfigService { } @Override - public void updateGateConfig(GateConfigSaveReqVO updateReqVO) { + public void updateGateConfig(GateConfigUpdateReqVO updateReqVO) { // 校验存在 validateGateConfigExists(updateReqVO.getId()); + //name or code是否被使用 + validateNameOrCodeIsExists(updateReqVO); // 更新 GateConfigDO updateObj = BeanUtils.toBean(updateReqVO, GateConfigDO.class); gateConfigMapper.updateById(updateObj); @@ -84,7 +99,16 @@ public class GateConfigServiceImpl implements GateConfigService { @Override public PageResult getGateConfigPage(GateConfigPageReqVO pageReqVO) { + // 校验是否传入visit-company-id参数 + Long companyId = validateIsExistCompanyId(); + pageReqVO.setCompanyId(companyId); return gateConfigMapper.selectPage(pageReqVO); } + private void validateNameOrCodeIsExists(GateConfigUpdateReqVO updateReqVO) { + List list = gateConfigMapper.getByNameOrCode(updateReqVO); + if (CollUtil.isNotEmpty(list) || list.size() >0) { + throw exception(NAME_OR_CODE_EXISTS); + } + } } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/GeofenceService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/GeofenceService.java new file mode 100644 index 00000000..bc884026 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/GeofenceService.java @@ -0,0 +1,70 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.FactoryTreeRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GeofencePageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GeofenceRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GeofenceSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.GeofenceDO; +import jakarta.validation.Valid; + +import java.util.List; + +/** + * 电子围栏 Service 接口 + * + * @author 后台管理 + */ +public interface GeofenceService { + + /** + * 创建电子围栏 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + GeofenceRespVO createGeofence(@Valid GeofenceSaveReqVO createReqVO); + + /** + * 更新电子围栏 + * + * @param updateReqVO 更新信息 + */ +// void updateGeofence(@Valid GeofenceSaveReqVO updateReqVO); + + /** + * 删除电子围栏 + * + * @param id 编号 + */ + void deleteGeofence(Long id); + + /** + * 批量删除电子围栏 + * + * @param ids 编号 + */ + void deleteGeofenceListByIds(List ids); + + /** + * 获得电子围栏 + * + * @param id 编号 + * @return 电子围栏 + */ + GeofenceDO getGeofence(Long id); + + /** + * 获得电子围栏分页 + * + * @param pageReqVO 分页查询 + * @return 电子围栏分页 + */ + PageResult getGeofencePage(GeofencePageReqVO pageReqVO); + + /** + * 工厂树查询 + * @return 工厂树查 + */ + List queryFactoryTree(); +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/GeofenceServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/GeofenceServiceImpl.java new file mode 100644 index 00000000..8f578678 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/GeofenceServiceImpl.java @@ -0,0 +1,121 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi; + +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.FactoryTreeRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GeofencePageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GeofenceRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.GeofenceSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.GeofenceDO; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.plceAchi.GeofenceMapper; +import cn.iocoder.yudao.module.backendlogistics.service.common.CompanyService; +import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import java.util.List; +import java.util.stream.Collectors; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.*; + + +/** + * 电子围栏 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class GeofenceServiceImpl implements GeofenceService { + + @Resource + private GeofenceMapper geofenceMapper; + @Resource + private CompanyService companyService; + + private Long validateIsExistCompanyId(){ + Long loginUserCompanyId = SecurityFrameworkUtils.getLoginUserCompanyId(); + if(loginUserCompanyId==null){ + throw exception(VISIT_COMPANY_ID_NOT_EXISTS); + } + return loginUserCompanyId; + } + + @Override + public GeofenceRespVO createGeofence(GeofenceSaveReqVO createReqVO) { + // 校验是否传入visit-company-id参数 + validateIsExistCompanyId(); + if (geofenceMapper.selectByFactoryId(createReqVO.getFactoryId()) != null) { + throw exception(GEOFENCE_EXISTS_NEEDDEL); + } + // 插入 + GeofenceDO geofence = BeanUtils.toBean(createReqVO, GeofenceDO.class); + geofenceMapper.insert(geofence); + // 返回 + return BeanUtils.toBean(geofence, GeofenceRespVO.class); + } + +// @Override +// public void updateGeofence(GeofenceSaveReqVO updateReqVO) { +// // 校验存在 +// validateGeofenceExists(updateReqVO.getId()); +// // 更新 +// GeofenceDO updateObj = BeanUtils.toBean(updateReqVO, GeofenceDO.class); +// geofenceMapper.updateById(updateObj); +// } + + @Override + public void deleteGeofence(Long id) { + // 校验存在 + validateGeofenceExists(id); + // 删除 + geofenceMapper.deleteById(id); + } + + @Override + public void deleteGeofenceListByIds(List ids) { + // 校验存在 + validateGeofenceExists(ids); + // 删除 + geofenceMapper.deleteByIds(ids); + } + + private void validateGeofenceExists(List ids) { + List list = geofenceMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(GEOFENCE_NOT_EXISTS); + } + } + + private void validateGeofenceExists(Long id) { + if (geofenceMapper.selectById(id) == null) { + throw exception(GEOFENCE_NOT_EXISTS); + } + } + + @Override + public GeofenceDO getGeofence(Long id) { + return geofenceMapper.selectById(id); + } + + @Override + public PageResult getGeofencePage(GeofencePageReqVO pageReqVO) { + // 校验是否传入visit-company-id参数 + Long loginUserCompanyId = validateIsExistCompanyId(); + List childCompanys = companyService.getAllChildCompany(loginUserCompanyId); + List childCompanyIds = childCompanys.stream().map(DeptRespDTO::getId).collect(Collectors.toList()); + pageReqVO.setCompanyIds(childCompanyIds); + return geofenceMapper.selectPage(pageReqVO); + } + + @Override + public List queryFactoryTree() { + // 校验是否传入visit-company-id参数 + Long loginUserCompanyId = validateIsExistCompanyId(); + return geofenceMapper.queryFactoryTree(loginUserCompanyId); + } +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/PlaceArchiveMaterialService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/PlaceArchiveMaterialService.java index df5a19cf..f9b4a34d 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/PlaceArchiveMaterialService.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/PlaceArchiveMaterialService.java @@ -1,8 +1,9 @@ package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi; import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MaterialExpandRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.MainMaterialRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PlaceArchiveMaterialPageReqVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PlaceArchiveMaterialRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PlaceArchiveMaterialSaveReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.PlaceArchiveMaterialDO; import jakarta.validation.Valid; @@ -22,14 +23,14 @@ public interface PlaceArchiveMaterialService { * @param createReqVO 创建信息 * @return 编号 */ - PlaceArchiveMaterialRespVO createPlaceArchiveMaterial(@Valid PlaceArchiveMaterialSaveReqVO createReqVO); + void createPlaceArchiveMaterial(@Valid List createReqVO); /** * 更新地点档案物料信息 * * @param updateReqVO 更新信息 */ - void updatePlaceArchiveMaterial(@Valid PlaceArchiveMaterialSaveReqVO updateReqVO); +// void updatePlaceArchiveMaterial(@Valid PlaceArchiveMaterialSaveReqVO updateReqVO); /** * 删除地点档案物料信息 @@ -61,4 +62,7 @@ public interface PlaceArchiveMaterialService { */ PageResult getPlaceArchiveMaterialPage(PlaceArchiveMaterialPageReqVO pageReqVO); + PageResult getMaterialExpandPage(MainMaterialRespVO pageReqVO); + + List getMaterialExpandList(MainMaterialRespVO pageReqVO); } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/PlaceArchiveMaterialServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/PlaceArchiveMaterialServiceImpl.java index 509ce15d..a8ad2a6e 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/PlaceArchiveMaterialServiceImpl.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/PlaceArchiveMaterialServiceImpl.java @@ -3,11 +3,16 @@ package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi; import cn.hutool.core.collection.CollUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MaterialExpandRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.MainMaterialRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PlaceArchiveMaterialPageReqVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PlaceArchiveMaterialRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PlaceArchiveMaterialSaveReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.PlaceArchiveMaterialDO; -import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.plceAchi.PlaceArchiveMaterialMapper; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.plceAchi.*; +import cn.iocoder.yudao.module.backendlogistics.enums.bseMngt.plceAchi.PlceTpEnum; +import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.mtrl.MaterialExpandService; +import cn.iocoder.yudao.module.backendlogistics.service.common.CompanyService; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -15,7 +20,7 @@ import org.springframework.validation.annotation.Validated; import java.util.List; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.PLACE_ARCHIVE_MATERIAL_NOT_EXISTS; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.*; /** @@ -29,25 +34,68 @@ public class PlaceArchiveMaterialServiceImpl implements PlaceArchiveMaterialServ @Resource private PlaceArchiveMaterialMapper placeArchiveMaterialMapper; + @Resource + private MaterialExpandService materialExpandService; + @Resource + private CompanyService companyService; + @Resource + private FactoryMapper factoryMapper; + @Resource + private GateConfigMapper gateConfigMapper; + @Resource + private AuncelConfigMapper auncelConfigMapper; + @Resource + private PortMapper portMapper; - @Override - public PlaceArchiveMaterialRespVO createPlaceArchiveMaterial(PlaceArchiveMaterialSaveReqVO createReqVO) { - // 插入 - PlaceArchiveMaterialDO placeArchiveMaterial = BeanUtils.toBean(createReqVO, PlaceArchiveMaterialDO.class); - placeArchiveMaterialMapper.insert(placeArchiveMaterial); - // 返回 - return BeanUtils.toBean(placeArchiveMaterial, PlaceArchiveMaterialRespVO.class); + private Long validateIsExistCompanyId(){ + Long loginUserCompanyId = SecurityFrameworkUtils.getLoginUserCompanyId(); + if(loginUserCompanyId==null){ + throw exception(VISIT_COMPANY_ID_NOT_EXISTS); + } + return loginUserCompanyId; } @Override - public void updatePlaceArchiveMaterial(PlaceArchiveMaterialSaveReqVO updateReqVO) { - // 校验存在 - validatePlaceArchiveMaterialExists(updateReqVO.getId()); - // 更新 - PlaceArchiveMaterialDO updateObj = BeanUtils.toBean(updateReqVO, PlaceArchiveMaterialDO.class); - placeArchiveMaterialMapper.updateById(updateObj); + public void createPlaceArchiveMaterial(List list) { + for(PlaceArchiveMaterialSaveReqVO createReqVO : list) { + Long companyId = createReqVO.getCompanyId(); + String placeType = createReqVO.getPlaceType(); + Boolean isNoCompany = PlceTpEnum.isNoCompany(placeType); + //如果有分账套就将主表的账套存入子表 + if (!isNoCompany) { + createReqVO.setCompanyId(companyId); + } +// // 校验是否传入visit-company-id参数 +// Long loginUserCompanyId = validateIsExistCompanyId(); +// // 分帐套校验物料ID是否已存在 +// validateMaterialIdIsExists(loginUserCompanyId, createReqVO); + // 分帐套校验物料ID是否已存在 + validateMaterialIdIsExists(null, createReqVO); + // 插入 + PlaceArchiveMaterialDO placeArchiveMaterial = BeanUtils.toBean(createReqVO, PlaceArchiveMaterialDO.class); + placeArchiveMaterialMapper.insert(placeArchiveMaterial); + } } + private void validateMaterialIdIsExists(Long loginUserCompanyId, PlaceArchiveMaterialSaveReqVO createReqVO) { +// List allChildCompanys = companyService.getAllChildCompany(loginUserCompanyId); +// List companyIds = allChildCompanys.stream().map(DeptRespDTO::getId).collect(Collectors.toList()); + //分帐套查询物料ID是否已经使用 + List list = placeArchiveMaterialMapper.getByMaterialId(createReqVO); + if (CollUtil.isNotEmpty(list) || list.size() >0) { + throw exception(NAME_OR_CODE_EXISTS); + } + } + +// @Override +// public void updatePlaceArchiveMaterial(PlaceArchiveMaterialSaveReqVO updateReqVO) { +// // 校验存在 +// validatePlaceArchiveMaterialExists(updateReqVO.getId()); +// // 更新 +// PlaceArchiveMaterialDO updateObj = BeanUtils.toBean(updateReqVO, PlaceArchiveMaterialDO.class); +// placeArchiveMaterialMapper.updateById(updateObj); +// } + @Override public void deletePlaceArchiveMaterial(Long id) { // 校验存在 @@ -87,4 +135,42 @@ public class PlaceArchiveMaterialServiceImpl implements PlaceArchiveMaterialServ return placeArchiveMaterialMapper.selectPage(pageReqVO); } + @Override + public PageResult getMaterialExpandPage(MainMaterialRespVO pageReqVO) { + // // 校验是否传入visit-company-id参数 +// Long loginUserCompanyId = validateIsExistCompanyId(); +// List allChildCompanys = companyService.getAllChildCompany(loginUserCompanyId); +// String companysStr = allChildCompanys.stream() +// .map(dept -> String.valueOf(dept.getId())) +// .collect(Collectors.joining(",")); + + String placeType = pageReqVO.getPlaceType(); + Long companyId = pageReqVO.getCompanyId(); + String excludeSql = " AND not exists(select 1 from LGST_PLCE_ACHI_MTRL mtr " + + "where mtr.MTRL_ID = MI.ID and mtr.PLCE_TP='"+ placeType +"' " ; + Boolean isNoCompany = PlceTpEnum.isNoCompany(placeType); + if(!isNoCompany){ + excludeSql += "and mtr.COMPANY_ID = "+companyId+" "; + } + excludeSql += ")"; + pageReqVO.setExcludeSql(excludeSql); + PageResult pageResult = materialExpandService.getMaterialExpandPage(pageReqVO); + return pageResult; + } + + @Override + public List getMaterialExpandList(MainMaterialRespVO pageReqVO) { + String placeType = pageReqVO.getPlaceType(); + Long companyId = pageReqVO.getCompanyId(); + String excludeSql = " AND not exists(select 1 from LGST_PLCE_ACHI_MTRL mtr " + + "where mtr.MTRL_ID = MI.ID and mtr.PLCE_TP='"+ placeType +"' " ; + Boolean isNoCompany = PlceTpEnum.isNoCompany(placeType); + if(!isNoCompany){ + excludeSql += "and mtr.COMPANY_ID = "+companyId+" "; + } + excludeSql += ")"; + pageReqVO.setExcludeSql(excludeSql); + List materialExpandList = materialExpandService.getMaterialExpandList(pageReqVO); + return materialExpandList; + } } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/PortService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/PortService.java index 31a8e1a4..ecefd744 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/PortService.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/PortService.java @@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PortPageReqVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PortRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PortSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PortUpdateReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.PortDO; import jakarta.validation.Valid; @@ -29,7 +30,7 @@ public interface PortService { * * @param updateReqVO 更新信息 */ - void updatePort(@Valid PortSaveReqVO updateReqVO); + void updatePort(@Valid PortUpdateReqVO updateReqVO); /** * 删除港口信息 diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/PortServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/PortServiceImpl.java index 71ff0b33..a0e7dcf7 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/PortServiceImpl.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/PortServiceImpl.java @@ -3,9 +3,11 @@ package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi; import cn.hutool.core.collection.CollUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PortPageReqVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PortRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PortSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PortUpdateReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.PortDO; import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.plceAchi.PortMapper; import jakarta.annotation.Resource; @@ -15,7 +17,7 @@ import org.springframework.validation.annotation.Validated; import java.util.List; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.PORT_NOT_EXISTS; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.*; /** @@ -30,8 +32,20 @@ public class PortServiceImpl implements PortService { @Resource private PortMapper portMapper; + private Long validateIsExistCompanyId(){ + Long loginUserCompanyId = SecurityFrameworkUtils.getLoginUserCompanyId(); + if(loginUserCompanyId==null){ + throw exception(VISIT_COMPANY_ID_NOT_EXISTS); + } + return loginUserCompanyId; + } + @Override public PortRespVO createPort(PortSaveReqVO createReqVO) { + // 校验是否传入visit-company-id参数 + validateIsExistCompanyId(); + //name or code是否被使用 + validateNameOrCodeIsExists(null, createReqVO.getPortName(), createReqVO.getPortCoding()); // 插入 PortDO port = BeanUtils.toBean(createReqVO, PortDO.class); portMapper.insert(port); @@ -40,9 +54,13 @@ public class PortServiceImpl implements PortService { } @Override - public void updatePort(PortSaveReqVO updateReqVO) { + public void updatePort(PortUpdateReqVO updateReqVO) { + // 校验是否传入visit-company-id参数 + validateIsExistCompanyId(); // 校验存在 validatePortExists(updateReqVO.getId()); + //name or code是否被使用 + validateNameOrCodeIsExists(updateReqVO.getId(), updateReqVO.getPortName(), updateReqVO.getPortCoding()); // 更新 PortDO updateObj = BeanUtils.toBean(updateReqVO, PortDO.class); portMapper.updateById(updateObj); @@ -84,7 +102,16 @@ public class PortServiceImpl implements PortService { @Override public PageResult getPortPage(PortPageReqVO pageReqVO) { + // 校验是否传入visit-company-id参数 + Long companyId = validateIsExistCompanyId(); + pageReqVO.setCompanyId(companyId); return portMapper.selectPage(pageReqVO); } + private void validateNameOrCodeIsExists(Long id, String name, String code) { + List list = portMapper.getByNameOrCode(id, name, code); + if (CollUtil.isNotEmpty(list) || list.size() >0) { + throw exception(NAME_OR_CODE_EXISTS); + } + } } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/RailwayStationService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/RailwayStationService.java index 6cc4b769..ad438e4e 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/RailwayStationService.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/RailwayStationService.java @@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.RailwayStationPageReqVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.RailwayStationRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.RailwayStationSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.RailwayStationUpdateReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.RailwayStationDO; import jakarta.validation.Valid; @@ -29,7 +30,7 @@ public interface RailwayStationService { * * @param updateReqVO 更新信息 */ - void updateRailwayStation(@Valid RailwayStationSaveReqVO updateReqVO); + void updateRailwayStation(@Valid RailwayStationUpdateReqVO updateReqVO); /** * 删除铁路站点维护 diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/RailwayStationServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/RailwayStationServiceImpl.java index 970ab300..f74379dd 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/RailwayStationServiceImpl.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/RailwayStationServiceImpl.java @@ -6,8 +6,10 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.RailwayStationPageReqVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.RailwayStationRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.RailwayStationSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.RailwayStationUpdateReqVO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.RailwayStationDO; import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.plceAchi.RailwayStationMapper; +import cn.iocoder.yudao.module.backendlogistics.service.common.CompanyService; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -15,6 +17,7 @@ import org.springframework.validation.annotation.Validated; import java.util.List; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.NAME_OR_CODE_EXISTS; import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.RAILWAY_STATION_NOT_EXISTS; @@ -29,9 +32,26 @@ public class RailwayStationServiceImpl implements RailwayStationService { @Resource private RailwayStationMapper railwayStationMapper; + @Resource + private CompanyService companyService; + + private void validateIsTopCompany(){ +// Long loginUserCompanyId = SecurityFrameworkUtils.getLoginUserCompanyId(); +// if(loginUserCompanyId==null){ +// throw exception(VISIT_COMPANY_ID_NOT_EXISTS); +// } +// DeptRespDTO topCompany = companyService.getTopCompany(); +// if(topCompany.getId()!=loginUserCompanyId){ +// throw exception(VISIT_COMPANY_ID_NOT_TOP_COMPANY); +// } + } @Override public RailwayStationRespVO createRailwayStation(RailwayStationSaveReqVO createReqVO) { + // 校验是否主张套 + validateIsTopCompany(); + //name or code是否被使用 + validateNameOrCodeIsExists(null, createReqVO.getRailwayStationName(), createReqVO.getRailwayStationCoding()); // 插入 RailwayStationDO railwayStation = BeanUtils.toBean(createReqVO, RailwayStationDO.class); railwayStationMapper.insert(railwayStation); @@ -40,9 +60,14 @@ public class RailwayStationServiceImpl implements RailwayStationService { } @Override - public void updateRailwayStation(RailwayStationSaveReqVO updateReqVO) { + public void updateRailwayStation(RailwayStationUpdateReqVO updateReqVO) { + // 校验是否主张套 + validateIsTopCompany(); // 校验存在 validateRailwayStationExists(updateReqVO.getId()); + //name or code是否被使用 + validateNameOrCodeIsExists(updateReqVO.getId(), updateReqVO.getRailwayStationName(), updateReqVO.getRailwayStationCoding()); + // 更新 RailwayStationDO updateObj = BeanUtils.toBean(updateReqVO, RailwayStationDO.class); railwayStationMapper.updateById(updateObj); @@ -87,4 +112,10 @@ public class RailwayStationServiceImpl implements RailwayStationService { return railwayStationMapper.selectPage(pageReqVO); } + private void validateNameOrCodeIsExists(Long id, String name, String code) { + List list = railwayStationMapper.getByNameOrCode(id, name, code); + if (CollUtil.isNotEmpty(list) || list.size() >0) { + throw exception(NAME_OR_CODE_EXISTS); + } + } } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/WarehouseServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/WarehouseServiceImpl.java index dc49fcc1..3101265d 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/WarehouseServiceImpl.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/plceAchi/WarehouseServiceImpl.java @@ -3,8 +3,6 @@ package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi; import cn.hutool.core.collection.CollUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import cn.iocoder.yudao.framework.security.core.LoginUser; -import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.WarehousePageReqVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.WarehouseRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.WarehouseSaveReqVO; @@ -12,16 +10,16 @@ import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistic import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.plceAchi.WarehouseDO; import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.plceAchi.WarehouseMapper; import cn.iocoder.yudao.module.backendlogistics.enums.bseMngt.plceAchi.WrhTpEnum; +import cn.iocoder.yudao.module.backendlogistics.service.common.CompanyService; +import cn.iocoder.yudao.module.system.api.dept.DeptApi; import jakarta.annotation.Resource; -import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import java.util.List; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.CORR_FACT_NOT_EXISTS; -import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.WAREHOUSE_NOT_EXISTS; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.*; /** @@ -35,22 +33,42 @@ public class WarehouseServiceImpl implements WarehouseService { @Resource private WarehouseMapper warehouseMapper; + @Resource + private DeptApi deptApi; + @Resource + private CompanyService companyService; //仓库类别=厂内库时需关联工厂(选择工厂信息) private void validateCorrelationFactory(WarehouseSaveReqVO vo){ String warehouseType = vo.getWarehouseType(); if(WrhTpEnum.FAW.getCode().equals(warehouseType)){ - if(StringUtils.isBlank(vo.getCorrelationFactory())){ + if(vo.getCorrelationFactoryId()==null){ throw exception(CORR_FACT_NOT_EXISTS); } } - }; + } + + private void validateIsTopCompany(){ +// Long loginUserCompanyId = SecurityFrameworkUtils.getLoginUserCompanyId(); +// if(loginUserCompanyId==null){ +// throw exception(VISIT_COMPANY_ID_NOT_EXISTS); +// } +// DeptRespDTO topCompany = companyService.getTopCompany(); +// if(topCompany.getId()!=loginUserCompanyId){ +// throw exception(VISIT_COMPANY_ID_NOT_TOP_COMPANY); +// } +//// CommonResult dept = deptApi.getDept(loginUserCompanyId); +//// String companyName = dept.getData().getName(); + } @Override public WarehouseRespVO createWarehouse(WarehouseSaveReqVO createReqVO) { - LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); +// // 校验是否主张套 +// validateIsTopCompany(); // 校验 validateCorrelationFactory(createReqVO); + //name or code是否被使用 + validateNameOrCodeIsExists(null, createReqVO.getWarehouseName(), createReqVO.getWarehouseCoding()); // 插入 WarehouseDO warehouse = BeanUtils.toBean(createReqVO, WarehouseDO.class); warehouseMapper.insert(warehouse); @@ -60,9 +78,13 @@ public class WarehouseServiceImpl implements WarehouseService { @Override public void updateWarehouse(WarehouseUpdateReqVO updateReqVO) { +// // 校验是否主张套 +// validateIsTopCompany(); // 校验存在 validateWarehouseExists(updateReqVO.getId()); validateCorrelationFactory(updateReqVO); + //name or code是否被使用 + validateNameOrCodeIsExists(updateReqVO.getId(), updateReqVO.getWarehouseName(), updateReqVO.getWarehouseCoding()); // 更新 WarehouseDO updateObj = BeanUtils.toBean(updateReqVO, WarehouseDO.class); warehouseMapper.updateById(updateObj); @@ -97,10 +119,6 @@ public class WarehouseServiceImpl implements WarehouseService { } } - private void validateWarehouseExists(String name, String code) { - - } - @Override public WarehouseDO getWarehouse(Long id) { return warehouseMapper.selectById(id); @@ -111,4 +129,10 @@ public class WarehouseServiceImpl implements WarehouseService { return warehouseMapper.selectPage(pageReqVO); } + private void validateNameOrCodeIsExists(Long id, String name, String code) { + List list = warehouseMapper.getByNameOrCode(id, name, code); + if (CollUtil.isNotEmpty(list) || list.size() >0) { + throw exception(NAME_OR_CODE_EXISTS); + } + } } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RailwayMaterialMainService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RailwayMaterialMainService.java new file mode 100644 index 00000000..bf5d3296 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RailwayMaterialMainService.java @@ -0,0 +1,71 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.rlwyMtrl; + + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RailwayMaterialMainEditEnbVo; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RailwayMaterialMainPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RailwayMaterialMainRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RailwayMaterialMainSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RailwayMaterialMainDO; +import jakarta.validation.Valid; + +import java.util.List; + +/** + * 铁路物资对照主 Service 接口 + * + * @author 后台管理 + */ +public interface RailwayMaterialMainService { + + /** + * 创建铁路物资对照主 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + RailwayMaterialMainRespVO createRailwayMaterialMain(@Valid RailwayMaterialMainSaveReqVO createReqVO); + + /** + * 更新铁路物资对照主 + * + * @param updateReqVO 更新信息 + */ + void updateRailwayMaterialMain(@Valid RailwayMaterialMainSaveReqVO updateReqVO); + + /** + * 删除铁路物资对照主 + * + * @param id 编号 + */ + void deleteRailwayMaterialMain(Long id); + + /** + * 批量删除铁路物资对照主 + * + * @param ids 编号 + */ + void deleteRailwayMaterialMainListByIds(List ids); + + /** + * 获得铁路物资对照主 + * + * @param id 编号 + * @return 铁路物资对照主 + */ + RailwayMaterialMainDO getRailwayMaterialMain(Long id); + + /** + * 获得铁路物资对照主分页 + * + * @param pageReqVO 分页查询 + * @return 铁路物资对照主分页 + */ + PageResult getRailwayMaterialMainPage(RailwayMaterialMainPageReqVO pageReqVO); + + /** + * 设置禁用/启用 + * @param vo + */ + void setEnable(RailwayMaterialMainEditEnbVo vo); +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RailwayMaterialMainServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RailwayMaterialMainServiceImpl.java new file mode 100644 index 00000000..34cd752f --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RailwayMaterialMainServiceImpl.java @@ -0,0 +1,159 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.rlwyMtrl; + +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.*; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RailwayMaterialMainDO; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.rlwyMtrl.RailwayMaterialMainMapper; +import cn.iocoder.yudao.module.backendlogistics.service.common.OperationLogService; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; +import org.springframework.validation.annotation.Validated; + +import java.util.ArrayList; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.*; + +/** + * 铁路物资对照主 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +@Transactional +public class RailwayMaterialMainServiceImpl implements RailwayMaterialMainService { + + @Resource + private RailwayMaterialMainMapper railwayMaterialMainMapper; + + @Resource + private RailwayMaterialSubitemService railwayMaterialSubitemService; + + @Resource + private OperationLogService operationLogService; + + @Override + public RailwayMaterialMainRespVO createRailwayMaterialMain(RailwayMaterialMainSaveReqVO createReqVO) { + + // 品名代码唯一 + Integer i = railwayMaterialMainMapper.checkNameCode(createReqVO.getNameCode(),createReqVO.getRailwayTransportName()); + if(i>0){ + throw exception(RLWY_MTRL_MAIN_NAME_CODE_EXISTS); + } + + // 插入主项 + RailwayMaterialMainDO RailwayMaterialMain = BeanUtils.toBean(createReqVO, RailwayMaterialMainDO.class); + RailwayMaterialMain.setStatus("00"); + railwayMaterialMainMapper.insert(RailwayMaterialMain); + //插入子项 + for (RailwayMaterialSubitemSaveReqVO subSaveReqVO : createReqVO.getItems()){ + subSaveReqVO.setMainId(RailwayMaterialMain.getId()); + } + railwayMaterialSubitemService.createRailwayMaterialSubitem(createReqVO.getItems()); + // 返回 + return BeanUtils.toBean(RailwayMaterialMain, RailwayMaterialMainRespVO.class); + } + + @Override + public void updateRailwayMaterialMain(RailwayMaterialMainSaveReqVO updateReqVO) { + // 校验 + validateRailwayMaterialMainExists(updateReqVO.getId()); + // 更新 + RailwayMaterialMainDO updateObj = BeanUtils.toBean(updateReqVO, RailwayMaterialMainDO.class); + railwayMaterialMainMapper.updateById(updateObj); + + //插入子项 + ArrayList newItems = new ArrayList<>(); + for (RailwayMaterialSubitemSaveReqVO subSaveReqVO : updateReqVO.getItems()){ + if (null == subSaveReqVO.getMainId()) { + subSaveReqVO.setMainId(updateReqVO.getId()); + newItems.add(subSaveReqVO); + } + } + railwayMaterialSubitemService.createRailwayMaterialSubitem(newItems); + } + + @Override + public void deleteRailwayMaterialMain(Long id) { + // 校验存在 + validateRailwayMaterialMainExists(id); + // 删除 + railwayMaterialMainMapper.deleteById(id); + } + + @Override + public void deleteRailwayMaterialMainListByIds(List ids) { + for (Long id : ids) { + this.deleteRailwayMaterialMain(id); + } + + } + + private void validateRailwayMaterialMainExists(List ids) { + List list = railwayMaterialMainMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(RLWY_MTRL_MAIN_NOT_EXISTS); + } + for (RailwayMaterialMainDO RailwayMaterialMainDO : list) { + //草稿状态才能删除 + if(!RailwayMaterialMainDO.getStatus().equals("00")){ + throw exception(RLWY_MTRL_MAIN_DRAFT_STATUS); + } + } + } + + private void validateRailwayMaterialMainExists(Long id) { + + RailwayMaterialMainDO RailwayMaterialMainDO = railwayMaterialMainMapper.selectById(id); + if (RailwayMaterialMainDO == null) { + throw exception(RLWY_MTRL_MAIN_NOT_EXISTS); + } + //草稿状态才能操作 + if(!RailwayMaterialMainDO.getStatus().equals("00")){ + throw exception(RLWY_MTRL_MAIN_DRAFT_STATUS); + } + } + + @Override + public RailwayMaterialMainDO getRailwayMaterialMain(Long id) { + return railwayMaterialMainMapper.selectById(id); + } + + @Override + public PageResult getRailwayMaterialMainPage(RailwayMaterialMainPageReqVO pageReqVO) { + return railwayMaterialMainMapper.selectPage(pageReqVO); + } + + @Override + public void setEnable(RailwayMaterialMainEditEnbVo vo) { + List list = railwayMaterialMainMapper.selectByIds(vo.getIds()); + + if (!CollectionUtils.isEmpty(list)) { + for(RailwayMaterialMainDO item : list){ + if("1".equals(vo.getIsEnable())){ + if (!item.getStatus().equals("00")) { + throw exception(RLWY_MTRL_MAIN_DRAFT_STATUS); + } + item.setStatus("10"); + }if("0".equals(vo.getIsEnable())){ + if (!item.getStatus().equals("10")) { + throw exception(RLWY_MTRL_MAIN_ENABLED_STATUS); + } + item.setStatus("20"); + } + + railwayMaterialMainMapper.updateById(item); + String content="1".equals(vo.getIsEnable())?"启用":"禁用"; + operationLogService.createOperationLog(item.getId(), RailwayMaterialMainDO.class.getName(),content); + } + } + + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlSubService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RailwayMaterialSubitemService.java similarity index 55% rename from yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlSubService.java rename to yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RailwayMaterialSubitemService.java index 1e89c605..0901579a 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlSubService.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RailwayMaterialSubitemService.java @@ -1,21 +1,19 @@ package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.rlwyMtrl; - import java.util.*; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlSubPageReqVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlSubRespVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlSubSaveReqVO; -import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RlwyMtrlSubDO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RailwayMaterialSubitemPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RailwayMaterialSubitemRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RailwayMaterialSubitemSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RailwayMaterialSubitemDO; import jakarta.validation.*; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.PageParam; /** * 铁路物资对照子 Service 接口 * * @author 后台管理 */ -public interface RlwyMtrlSubService { +public interface RailwayMaterialSubitemService { /** * 创建铁路物资对照子 @@ -23,28 +21,28 @@ public interface RlwyMtrlSubService { * @param createReqVO 创建信息 * @return 编号 */ - List createRlwyMtrlSub(@Valid List createReqVO); + List createRailwayMaterialSubitem(@Valid List createReqVO); /** * 更新铁路物资对照子 * * @param updateReqVO 更新信息 */ - void updateRlwyMtrlSub(@Valid RlwyMtrlSubSaveReqVO updateReqVO); + void updateRailwayMaterialSubitem(@Valid RailwayMaterialSubitemSaveReqVO updateReqVO); /** * 删除铁路物资对照子 * * @param id 编号 */ - void deleteRlwyMtrlSub(Long id); + void deleteRailwayMaterialSubitem(Long id); /** - * 批量删除铁路物资对照子 - * - * @param ids 编号 - */ - void deleteRlwyMtrlSubListByIds(List ids); + * 批量删除铁路物资对照子 + * + * @param ids 编号 + */ + void deleteRailwayMaterialSubitemListByIds(List ids); /** * 获得铁路物资对照子 @@ -52,7 +50,7 @@ public interface RlwyMtrlSubService { * @param id 编号 * @return 铁路物资对照子 */ - RlwyMtrlSubDO getRlwyMtrlSub(Long id); + RailwayMaterialSubitemDO getRailwayMaterialSubitem(Long id); /** * 获得铁路物资对照子分页 @@ -60,6 +58,6 @@ public interface RlwyMtrlSubService { * @param pageReqVO 分页查询 * @return 铁路物资对照子分页 */ - PageResult getRlwyMtrlSubPage(RlwyMtrlSubPageReqVO pageReqVO); + PageResult getRailwayMaterialSubitemPage(RailwayMaterialSubitemPageReqVO pageReqVO); } \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RailwayMaterialSubitemServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RailwayMaterialSubitemServiceImpl.java new file mode 100644 index 00000000..f8b5fef3 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RailwayMaterialSubitemServiceImpl.java @@ -0,0 +1,125 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.rlwyMtrl; + +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RailwayMaterialSubitemPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RailwayMaterialSubitemRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RailwayMaterialSubitemSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RailwayMaterialMainDO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RailwayMaterialSubitemDO; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.rlwyMtrl.RailwayMaterialMainMapper; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.rlwyMtrl.RailwayMaterialSubitemMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.annotation.Validated; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.*; + +/** + * 铁路物资对照子 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +@Transactional +public class RailwayMaterialSubitemServiceImpl implements RailwayMaterialSubitemService { + + @Resource + private RailwayMaterialSubitemMapper railwayMaterialSubitemMapper; + + @Resource + private RailwayMaterialMainMapper railwayMaterialMainMapper; + + @Override + public List createRailwayMaterialSubitem(List createReqVOs) { + // 对 createReqVOs 按 materialId 去重,保留第一个出现的元素 + List distinctReqVOs = createReqVOs.stream() + .collect(Collectors.toMap( + RailwayMaterialSubitemSaveReqVO::getMaterialId, + reqVO -> reqVO, + (existing, replacement) -> existing)) + .values() + .stream() + .collect(Collectors.toList()); + + // 插入 + + List railwayMaterialSubitemDOs = new ArrayList<>(); + for (RailwayMaterialSubitemSaveReqVO createReqVO : distinctReqVOs) { + RailwayMaterialSubitemDO railwayMaterialSubitemDO = BeanUtils.toBean(createReqVO, RailwayMaterialSubitemDO.class); + + //查询物资是否已经存在对照 + Integer i = railwayMaterialSubitemMapper.checkMaterialExists(createReqVO.getMaterialId()); + if (i > 0) { + throw exception(RLWY_MTRL_SUBITEM_MATERIAL_EXISTS); + } + + railwayMaterialSubitemMapper.insert(railwayMaterialSubitemDO); + railwayMaterialSubitemDOs.add(railwayMaterialSubitemDO); + } + + // 返回 + return BeanUtils.toBean(railwayMaterialSubitemDOs, RailwayMaterialSubitemRespVO.class); + } + + @Override + public void updateRailwayMaterialSubitem(RailwayMaterialSubitemSaveReqVO updateReqVO) { + // 校验存在 + validateRlwyMtrlSubExists(updateReqVO.getId()); + // 更新 + RailwayMaterialSubitemDO updateObj = BeanUtils.toBean(updateReqVO, RailwayMaterialSubitemDO.class); + railwayMaterialSubitemMapper.updateById(updateObj); + } + + @Override + public void deleteRailwayMaterialSubitem(Long id) { + // 校验存在 + validateRlwyMtrlSubExists(id); + // 删除 + railwayMaterialSubitemMapper.deleteById(id); + } + + @Override + public void deleteRailwayMaterialSubitemListByIds(List ids) { + for (Long id : ids) { + this.deleteRailwayMaterialSubitem(id); + } + } + + private void validateRlwyMtrlSubExists(List ids) { + List list = railwayMaterialSubitemMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(RLWY_MTRL_SUBITEM_NOT_EXISTS); + } + } + + private void validateRlwyMtrlSubExists(Long id) { + RailwayMaterialSubitemDO railwayMaterialSubitemDO = railwayMaterialSubitemMapper.selectById(id); + RailwayMaterialMainDO railwayMaterialMainDO = railwayMaterialMainMapper.selectById(railwayMaterialSubitemDO.getMainId()); + + if (null != railwayMaterialMainDO && !"00".equals(railwayMaterialMainDO.getStatus())) { + throw exception(RLWY_MTRL_MAIN_DRAFT_STATUS); + } + } + + + +@Override +public RailwayMaterialSubitemDO getRailwayMaterialSubitem(Long id) { + return railwayMaterialSubitemMapper.selectById(id); +} + +@Override +public PageResult getRailwayMaterialSubitemPage(RailwayMaterialSubitemPageReqVO pageReqVO) { + return railwayMaterialSubitemMapper.selectPage(pageReqVO); +} + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlMainService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlMainService.java deleted file mode 100644 index 894f3fa7..00000000 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlMainService.java +++ /dev/null @@ -1,66 +0,0 @@ -package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.rlwyMtrl; - - -import java.util.*; - -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlMainPageReqVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlMainRespVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlMainSaveReqVO; -import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RlwyMtrlMainDO; -import jakarta.validation.*; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.PageParam; - -/** - * 铁路物资对照主 Service 接口 - * - * @author 后台管理 - */ -public interface RlwyMtrlMainService { - - /** - * 创建铁路物资对照主 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - RlwyMtrlMainRespVO createRlwyMtrlMain(@Valid RlwyMtrlMainSaveReqVO createReqVO); - - /** - * 更新铁路物资对照主 - * - * @param updateReqVO 更新信息 - */ - void updateRlwyMtrlMain(@Valid RlwyMtrlMainSaveReqVO updateReqVO); - - /** - * 删除铁路物资对照主 - * - * @param id 编号 - */ - void deleteRlwyMtrlMain(Long id); - - /** - * 批量删除铁路物资对照主 - * - * @param ids 编号 - */ - void deleteRlwyMtrlMainListByIds(List ids); - - /** - * 获得铁路物资对照主 - * - * @param id 编号 - * @return 铁路物资对照主 - */ - RlwyMtrlMainDO getRlwyMtrlMain(Long id); - - /** - * 获得铁路物资对照主分页 - * - * @param pageReqVO 分页查询 - * @return 铁路物资对照主分页 - */ - PageResult getRlwyMtrlMainPage(RlwyMtrlMainPageReqVO pageReqVO); - -} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlMainServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlMainServiceImpl.java deleted file mode 100644 index 6703513a..00000000 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlMainServiceImpl.java +++ /dev/null @@ -1,117 +0,0 @@ -package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.rlwyMtrl; - -import cn.hutool.core.collection.CollUtil; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlMainPageReqVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlMainRespVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlMainSaveReqVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlSubSaveReqVO; -import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RlwyMtrlMainDO; -import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.rlwyMtrl.RlwyMtrlMainMapper; -import org.springframework.stereotype.Service; -import jakarta.annotation.Resource; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.validation.annotation.Validated; - -import java.util.*; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.RLWY_MTRL_MAIN_NOT_EXISTS; -import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.RLWY_MTRL_MAIN_STATUS_EXISTS; - - -/** - * 铁路物资对照主 Service 实现类 - * - * @author 后台管理 - */ -@Service -@Validated -@Transactional -public class RlwyMtrlMainServiceImpl implements RlwyMtrlMainService { - - @Resource - private RlwyMtrlMainMapper rlwyMtrlMainMapper; - - @Resource - private RlwyMtrlSubService rlwyMtrlSubService; - - @Override - public RlwyMtrlMainRespVO createRlwyMtrlMain(RlwyMtrlMainSaveReqVO createReqVO) { - // 插入主项 - RlwyMtrlMainDO rlwyMtrlMain = BeanUtils.toBean(createReqVO, RlwyMtrlMainDO.class); - rlwyMtrlMain.setSts("00"); - rlwyMtrlMainMapper.insert(rlwyMtrlMain); - //插入子项 - for (RlwyMtrlSubSaveReqVO subSaveReqVO : createReqVO.getItems()){ - subSaveReqVO.setMainId(rlwyMtrlMain.getId()); - } - rlwyMtrlSubService.createRlwyMtrlSub(createReqVO.getItems()); - // 返回 - return BeanUtils.toBean(rlwyMtrlMain, RlwyMtrlMainRespVO.class); - } - - @Override - public void updateRlwyMtrlMain(RlwyMtrlMainSaveReqVO updateReqVO) { - // 校验存在 - validateRlwyMtrlMainExists(updateReqVO.getId()); - // 更新 - RlwyMtrlMainDO updateObj = BeanUtils.toBean(updateReqVO, RlwyMtrlMainDO.class); - rlwyMtrlMainMapper.updateById(updateObj); - - } - - @Override - public void deleteRlwyMtrlMain(Long id) { - // 校验存在 - validateRlwyMtrlMainExists(id); - // 删除 - rlwyMtrlMainMapper.deleteById(id); - } - - @Override - public void deleteRlwyMtrlMainListByIds(List ids) { - for (Long id : ids) { - this.deleteRlwyMtrlMain(id); - } - - } - - private void validateRlwyMtrlMainExists(List ids) { - List list = rlwyMtrlMainMapper.selectByIds(ids); - if (CollUtil.isEmpty(list) || list.size() != ids.size()) { - throw exception(RLWY_MTRL_MAIN_NOT_EXISTS); - } - for (RlwyMtrlMainDO rlwyMtrlMainDO : list) { - //草稿状态才能删除 - if(rlwyMtrlMainDO.getSts() != "00"){ - throw exception(RLWY_MTRL_MAIN_NOT_EXISTS); - } - } - } - - private void validateRlwyMtrlMainExists(Long id) { - - RlwyMtrlMainDO rlwyMtrlMainDO = rlwyMtrlMainMapper.selectById(id); - if (rlwyMtrlMainDO == null) { - throw exception(RLWY_MTRL_MAIN_NOT_EXISTS); - } - //草稿状态才能操作 - if(rlwyMtrlMainDO.getSts() != "00"){ - throw exception(RLWY_MTRL_MAIN_STATUS_EXISTS); - } - } - - @Override - public RlwyMtrlMainDO getRlwyMtrlMain(Long id) { - return rlwyMtrlMainMapper.selectById(id); - } - - @Override - public PageResult getRlwyMtrlMainPage(RlwyMtrlMainPageReqVO pageReqVO) { - return rlwyMtrlMainMapper.selectPage(pageReqVO); - } - -} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlSubServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlSubServiceImpl.java deleted file mode 100644 index ddf59bd9..00000000 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlSubServiceImpl.java +++ /dev/null @@ -1,117 +0,0 @@ -package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.rlwyMtrl; - -import cn.hutool.core.collection.CollUtil; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlSubPageReqVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlSubRespVO; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlSubSaveReqVO; -import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RlwyMtrlMainDO; -import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RlwyMtrlSubDO; -import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.rlwyMtrl.RlwyMtrlMainMapper; -import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.rlwyMtrl.RlwyMtrlSubMapper; -import org.springframework.stereotype.Service; -import jakarta.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; - - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.*; - -/** - * 铁路物资对照子 Service 实现类 - * - * @author 后台管理 - */ -@Service -@Validated -@Transactional -public class RlwyMtrlSubServiceImpl implements RlwyMtrlSubService { - - @Resource - private RlwyMtrlSubMapper rlwyMtrlSubMapper; - - @Resource - private RlwyMtrlMainMapper rlwyMtrlMainMapper; - - @Override - public List createRlwyMtrlSub(List createReqVOs) { - // 插入 - - List rlwyMtrlSubDOs = new ArrayList<>(); - for (RlwyMtrlSubSaveReqVO createReqVO : createReqVOs) { - RlwyMtrlSubDO rlwyMtrlSub = BeanUtils.toBean(createReqVO, RlwyMtrlSubDO.class); - - //查询物资是否已经存在对照 - RlwyMtrlSubPageReqVO rlwyMtrlSubPageReqVO = new RlwyMtrlSubPageReqVO(); - rlwyMtrlSubPageReqVO.setMtrlId(createReqVO.getMtrlId()); - PageResult result = rlwyMtrlSubMapper.selectPage(rlwyMtrlSubPageReqVO); - if (result.getTotal() > 0) { - throw exception(RLWY_MTRL_SUB_MATERIAL_EXISTS); - } - - rlwyMtrlSubMapper.insert(rlwyMtrlSub); - rlwyMtrlSubDOs.add(rlwyMtrlSub); - } - - // 返回 - return BeanUtils.toBean(rlwyMtrlSubDOs, RlwyMtrlSubRespVO.class); - } - - @Override - public void updateRlwyMtrlSub(RlwyMtrlSubSaveReqVO updateReqVO) { - // 校验存在 - validateRlwyMtrlSubExists(updateReqVO.getId()); - // 更新 - RlwyMtrlSubDO updateObj = BeanUtils.toBean(updateReqVO, RlwyMtrlSubDO.class); - rlwyMtrlSubMapper.updateById(updateObj); - } - - @Override - public void deleteRlwyMtrlSub(Long id) { - // 校验存在 - validateRlwyMtrlSubExists(id); - // 删除 - rlwyMtrlSubMapper.deleteById(id); - } - - @Override - public void deleteRlwyMtrlSubListByIds(List ids) { - for (Long id : ids) { - this.deleteRlwyMtrlSub(id); - } - } - - private void validateRlwyMtrlSubExists(List ids) { - List list = rlwyMtrlSubMapper.selectByIds(ids); - if (CollUtil.isEmpty(list) || list.size() != ids.size()) { - throw exception(RLWY_MTRL_SUB_NOT_EXISTS); - } - } - - private void validateRlwyMtrlSubExists(Long id) { - RlwyMtrlSubDO rlwyMtrlSubDO = rlwyMtrlSubMapper.selectById(id); - RlwyMtrlMainDO rlwyMtrlMainDO = rlwyMtrlMainMapper.selectById(rlwyMtrlSubDO.getMainId()); - - if (null != rlwyMtrlMainDO && !"00".equals(rlwyMtrlMainDO.getSts())) { - throw exception(RLWY_MTRL_MAIN_STATUS_EXISTS); - } - } - - - -@Override -public RlwyMtrlSubDO getRlwyMtrlSub(Long id) { - return rlwyMtrlSubMapper.selectById(id); -} - -@Override -public PageResult getRlwyMtrlSubPage(RlwyMtrlSubPageReqVO pageReqVO) { - return rlwyMtrlSubMapper.selectPage(pageReqVO); -} - -} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/shp/CollaborationShipArchiveService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/shp/CollaborationShipArchiveService.java new file mode 100644 index 00000000..b9028ca4 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/shp/CollaborationShipArchiveService.java @@ -0,0 +1,24 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.shp; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp.vo.CollaborationShipArchivePageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp.vo.CollaborationShipArchiveRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp.vo.ShipArchiveRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp.vo.ShipArchiveSaveReqVO; +import jakarta.validation.Valid; + +import java.util.List; + +public interface CollaborationShipArchiveService { + void createShipArchive(@Valid ShipArchiveSaveReqVO createReqVO); + + void updateShipArchive(@Valid ShipArchiveSaveReqVO updateReqVO); + + void deleteShipArchiveListByIds(List ids); + + ShipArchiveRespVO getShipArchive(Long id); + + PageResult getShipArchivePage(@Valid CollaborationShipArchivePageReqVO pageReqVO); + + ShipArchiveRespVO getByIMOCode(String imocode); +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/shp/CollaborationShipArchiveServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/shp/CollaborationShipArchiveServiceImpl.java new file mode 100644 index 00000000..7951d8e9 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/shp/CollaborationShipArchiveServiceImpl.java @@ -0,0 +1,116 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.shp; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.security.core.LoginUser; +import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp.vo.*; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.shp.CollaborationShipArchiveDO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.shp.ShipArchiveDO; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.shp.CollaborationShipArchiveMapper; +import cn.iocoder.yudao.module.backendlogistics.service.common.UserService; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.annotation.Validated; + +import java.lang.reflect.Field; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.SHIP_ARCHIVE_DATA_CONVERSION_ERROR; + +@Service +@Validated +@Transactional +public class CollaborationShipArchiveServiceImpl implements CollaborationShipArchiveService{ + + @Resource + private CollaborationShipArchiveMapper collaborationShipArchiveMapper; + + @Resource + private ShipArchiveService shipArchiveService; + + @Resource + private UserService userService; + + @Override + public void createShipArchive(ShipArchiveSaveReqVO createReqVO) { + + ShipArchivePageReqVO shipArchivePageReqVO = new ShipArchivePageReqVO(); + shipArchivePageReqVO.setIMOCode(createReqVO.getIMOCode()); + PageResult shipArchivePage = shipArchiveService.getShipArchivePage(shipArchivePageReqVO); + Long shipId = null; + if (shipArchivePage.getTotal() > 0) { + ShipArchiveDO shipArchiveDO = shipArchivePage.getList().get(0); + shipId = shipArchiveDO.getId(); + ShipArchiveDO shipArchiveDONew = BeanUtils.toBean(createReqVO, ShipArchiveDO.class); + Field[] fields = shipArchiveDO.getClass().getDeclaredFields(); + for (Field field : fields) { + try { + field.setAccessible(true); + Object oldValue = field.get(shipArchiveDO); + Object newValue = field.get(shipArchiveDONew); + + // 如果老对象的属性值为null,且新对象的属性值不为null,则用新值替换 + if (oldValue == null && newValue != null) { + field.set(shipArchiveDO, newValue); + } + } catch (IllegalAccessException e) { + throw exception(SHIP_ARCHIVE_DATA_CONVERSION_ERROR); + } + ShipArchiveSaveReqVO shipArchiveSaveReqVO = new ShipArchiveSaveReqVO(); + BeanUtils.copyProperties(shipArchiveDO, shipArchiveSaveReqVO); + shipArchiveService.updateShipArchive(shipArchiveSaveReqVO); + } + }else { + ShipArchiveRespVO shipArchive = shipArchiveService.createShipArchive(createReqVO); + shipId = shipArchive.getId(); + } + + //关联关系表 + CollaborationShipArchiveDO collaborationShipArchiveDO = new CollaborationShipArchiveDO(); + collaborationShipArchiveDO.setShipId(shipId); + collaborationShipArchiveMapper.insert(collaborationShipArchiveDO); + } + + @Override + public void updateShipArchive(ShipArchiveSaveReqVO updateReqVO) { + shipArchiveService.updateShipArchive(updateReqVO); + } + + @Override + public void deleteShipArchiveListByIds(List ids) { + collaborationShipArchiveMapper.deleteByIds(ids); + } + + @Override + public ShipArchiveRespVO getShipArchive(Long id) { + CollaborationShipArchiveDO collaborationShipArchiveDO = collaborationShipArchiveMapper.selectById(id); + return shipArchiveService.getShipArchive(collaborationShipArchiveDO.getShipId()); + } + + @Override + public PageResult getShipArchivePage(CollaborationShipArchivePageReqVO pageReqVO) { + //查询当前部门数据 + LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); + Long visitDeptId = loginUser.getVisitDeptId(); + if (null == visitDeptId) { + visitDeptId = userService.getDeptIdByUserId(); + } + pageReqVO.setDeptId(visitDeptId); + + IPage page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + collaborationShipArchiveMapper.selectPageWithShipArchive(page,pageReqVO); + List records = page.getRecords(); + return new PageResult<>(records, page.getTotal()); + } + + @Override + public ShipArchiveRespVO getByIMOCode(String imocode) { + return shipArchiveService.getByIMOCode(imocode); + + } +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/shp/ShipArchiveService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/shp/ShipArchiveService.java new file mode 100644 index 00000000..85a08b78 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/shp/ShipArchiveService.java @@ -0,0 +1,66 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.shp; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp.vo.ShipArchivePageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp.vo.ShipArchiveRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp.vo.ShipArchiveSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.shp.ShipArchiveDO; +import jakarta.validation.Valid; + +import java.util.List; + +/** + * 船舶档案 Service 接口 + * + * @author 后台管理 + */ +public interface ShipArchiveService { + + /** + * 创建船舶档案 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + ShipArchiveRespVO createShipArchive(@Valid ShipArchiveSaveReqVO createReqVO); + + /** + * 更新船舶档案 + * + * @param updateReqVO 更新信息 + */ + void updateShipArchive(@Valid ShipArchiveSaveReqVO updateReqVO); + + /** + * 删除船舶档案 + * + * @param id 编号 + */ + void deleteShipArchive(Long id); + + /** + * 批量删除船舶档案 + * + * @param ids 编号 + */ + void deleteShipArchiveListByIds(List ids); + + /** + * 获得船舶档案 + * + * @param id 编号 + * @return 船舶档案 + */ + ShipArchiveRespVO getShipArchive(Long id); + + /** + * 获得船舶档案分页 + * + * @param pageReqVO 分页查询 + * @return 船舶档案分页 + */ + PageResult getShipArchivePage(ShipArchivePageReqVO pageReqVO); + + ShipArchiveRespVO getByIMOCode(String imocode); + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/shp/ShipArchiveServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/shp/ShipArchiveServiceImpl.java new file mode 100644 index 00000000..164535fe --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/shp/ShipArchiveServiceImpl.java @@ -0,0 +1,169 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.shp; + +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp.vo.ShipArchivePageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp.vo.ShipArchiveRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.shp.vo.ShipArchiveSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.shp.ShipArchiveDO; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.shp.ShipArchiveMapper; +import cn.iocoder.yudao.module.backendlogistics.enums.common.FileBuinessCodeEnum; +import cn.iocoder.yudao.module.backendlogistics.enums.common.FileSourceEnum; +import cn.iocoder.yudao.module.backendlogistics.service.common.FileService; +import cn.iocoder.yudao.module.backendlogistics.service.common.OperationLogService; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.annotation.Validated; + +import java.util.List; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.SHIP_ARCHIVE_IMO_EXISTS; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.SHIP_ARCHIVE_NOT_EXISTS; + +/** + * 船舶档案 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +@Transactional +public class ShipArchiveServiceImpl implements ShipArchiveService { + + @Resource + private ShipArchiveMapper shipArchiveMapper; + + @Resource + private OperationLogService operationLogService; + + @Resource + private FileService fileService; + + @Override + public ShipArchiveRespVO createShipArchive(ShipArchiveSaveReqVO createReqVO) { + // 插入 + ShipArchiveDO shipArchive = BeanUtils.toBean(createReqVO, ShipArchiveDO.class); + + ShipArchivePageReqVO query = new ShipArchivePageReqVO(); + query.setIMOCode(createReqVO.getIMOCode()); + PageResult oldList = shipArchiveMapper.selectPage(query); + if (oldList.getTotal() > 0) { + throw exception(SHIP_ARCHIVE_IMO_EXISTS); + } + + shipArchiveMapper.insert(shipArchive); + + //关联附件 + fileService.saveBunFile(createReqVO.getNationalityFile(), FileSourceEnum.SHIP_ARCHIVE, FileBuinessCodeEnum.SHIP_NATIONALITY,shipArchive.getId()); + fileService.saveBunFile(createReqVO.getShipOwnershipFile(), FileSourceEnum.SHIP_ARCHIVE, FileBuinessCodeEnum.SHIP_OWNERSHIP,shipArchive.getId()); + fileService.saveBunFile(createReqVO.getShipOtherFile(), FileSourceEnum.SHIP_ARCHIVE, FileBuinessCodeEnum.SHIP_OTHER,shipArchive.getId()); + fileService.saveBunFile(createReqVO.getShipPhotosFile(), FileSourceEnum.SHIP_ARCHIVE, FileBuinessCodeEnum.SHIP_PHOTOS,shipArchive.getId()); + + + operationLogService.createOperationLog(shipArchive.getId(), ShipArchiveDO.class.getName(), "创建船舶档案"); + // 返回 + return BeanUtils.toBean(shipArchive, ShipArchiveRespVO.class); + } + + @Override + public void updateShipArchive(ShipArchiveSaveReqVO updateReqVO) { + // 校验存在 + validateShipArchiveExists(updateReqVO.getId()); + ShipArchiveDO oldShipArchive = shipArchiveMapper.selectById(updateReqVO.getId()); + + // 更新 + ShipArchiveDO updateObj = BeanUtils.toBean(updateReqVO, ShipArchiveDO.class); + int i = shipArchiveMapper.updateById(updateObj); + + //关联附件 + fileService.deleteBunFile(updateReqVO.getId(), FileSourceEnum.SHIP_ARCHIVE, FileBuinessCodeEnum.SHIP_NATIONALITY); + fileService.deleteBunFile(updateReqVO.getId(), FileSourceEnum.SHIP_ARCHIVE, FileBuinessCodeEnum.SHIP_OWNERSHIP); + fileService.deleteBunFile(updateReqVO.getId(), FileSourceEnum.SHIP_ARCHIVE, FileBuinessCodeEnum.SHIP_OTHER); + fileService.deleteBunFile(updateReqVO.getId(), FileSourceEnum.SHIP_ARCHIVE, FileBuinessCodeEnum.SHIP_PHOTOS); + + //关联附件 + fileService.saveBunFile(updateReqVO.getNationalityFile(), FileSourceEnum.SHIP_ARCHIVE, FileBuinessCodeEnum.SHIP_NATIONALITY,updateReqVO.getId()); + fileService.saveBunFile(updateReqVO.getShipOwnershipFile(), FileSourceEnum.SHIP_ARCHIVE, FileBuinessCodeEnum.SHIP_OWNERSHIP,updateReqVO.getId()); + fileService.saveBunFile(updateReqVO.getShipOtherFile(), FileSourceEnum.SHIP_ARCHIVE, FileBuinessCodeEnum.SHIP_OTHER,updateReqVO.getId()); + fileService.saveBunFile(updateReqVO.getShipPhotosFile(), FileSourceEnum.SHIP_ARCHIVE, FileBuinessCodeEnum.SHIP_PHOTOS,updateReqVO.getId()); + + + // 比较差异 + ShipArchiveDO newShipArchive = BeanUtils.toBean(updateReqVO, ShipArchiveDO.class); + String differences = operationLogService.compareObjects(oldShipArchive, newShipArchive); + + + if (i > 0) { + operationLogService.createOperationLog(updateReqVO.getId(), ShipArchiveDO.class.getName(), "修改船舶档案:【" + differences + "】"); + } + } + + @Override + public void deleteShipArchive(Long id) { + // 校验存在 + validateShipArchiveExists(id); + // 删除 + int i = shipArchiveMapper.deleteById(id); + if (i > 0) { + operationLogService.createOperationLog(id, ShipArchiveDO.class.getName(), "删除船舶档案"); + } + } + + @Override + public void deleteShipArchiveListByIds(List ids) { + for (Long id : ids) { + this.deleteShipArchive(id); + } + } + + private void validateShipArchiveExists(List ids) { + List list = shipArchiveMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(SHIP_ARCHIVE_NOT_EXISTS); + } + } + + private void validateShipArchiveExists(Long id) { + if (shipArchiveMapper.selectById(id) == null) { + throw exception(SHIP_ARCHIVE_NOT_EXISTS); + } + } + + @Override + public ShipArchiveRespVO getShipArchive(Long id) { + ShipArchiveDO shipArchiveDO = shipArchiveMapper.selectById(id); + ShipArchiveRespVO vo = BeanUtils.toBean(shipArchiveDO, ShipArchiveRespVO.class); + + vo.setNationalityFile(fileService.getBunFileList(id, FileSourceEnum.SHIP_ARCHIVE, FileBuinessCodeEnum.SHIP_NATIONALITY)); + vo.setShipOwnershipFile(fileService.getBunFileList(id, FileSourceEnum.SHIP_ARCHIVE, FileBuinessCodeEnum.SHIP_OWNERSHIP)); + vo.setShipOtherFile(fileService.getBunFileList(id, FileSourceEnum.SHIP_ARCHIVE, FileBuinessCodeEnum.SHIP_OTHER)); + vo.setShipPhotosFile(fileService.getBunFileList(id, FileSourceEnum.SHIP_ARCHIVE, FileBuinessCodeEnum.SHIP_PHOTOS)); + return vo; + } + + @Override + public PageResult getShipArchivePage(ShipArchivePageReqVO pageReqVO) { + return shipArchiveMapper.selectPage(pageReqVO); + } + + @Override + public ShipArchiveRespVO getByIMOCode(String imocode) { + ShipArchiveDO shipArchiveDO = shipArchiveMapper.selectOne(new LambdaQueryWrapperX() + .eq(ShipArchiveDO::getIMOCode, imocode)); + if (shipArchiveDO == null) { + return null; + } + ShipArchiveRespVO vo = BeanUtils.toBean(shipArchiveDO, ShipArchiveRespVO.class); + + vo.setNationalityFile(fileService.getBunFileList(vo.getId(), FileSourceEnum.SHIP_ARCHIVE, FileBuinessCodeEnum.SHIP_NATIONALITY)); + vo.setShipOwnershipFile(fileService.getBunFileList(vo.getId(), FileSourceEnum.SHIP_ARCHIVE, FileBuinessCodeEnum.SHIP_OWNERSHIP)); + vo.setShipOtherFile(fileService.getBunFileList(vo.getId(), FileSourceEnum.SHIP_ARCHIVE, FileBuinessCodeEnum.SHIP_OTHER)); + vo.setShipPhotosFile(fileService.getBunFileList(vo.getId(), FileSourceEnum.SHIP_ARCHIVE, FileBuinessCodeEnum.SHIP_PHOTOS)); + return vo; + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/AddressBaseService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/AddressBaseService.java index 6ec2d66b..845ff6e7 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/AddressBaseService.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/AddressBaseService.java @@ -5,9 +5,5 @@ import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistic import java.util.List; public interface AddressBaseService { - /** - * 获取地址信息树型 - * @return - */ - List getAddressTreeData(); + } diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/AddressBaseServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/AddressBaseServiceImpl.java index afeef4c5..cf1282dc 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/AddressBaseServiceImpl.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/AddressBaseServiceImpl.java @@ -1,18 +1,8 @@ package cn.iocoder.yudao.module.backendlogistics.service.common; -import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.common.vo.AddressTreeDto; import org.springframework.stereotype.Service; -import java.util.List; - @Service public class AddressBaseServiceImpl implements AddressBaseService{ - /** - * 获取地址信息树型 - * @return - */ - @Override - public List getAddressTreeData(){ - return null; - } + } diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/CompanyService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/CompanyService.java new file mode 100644 index 00000000..35423fd0 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/CompanyService.java @@ -0,0 +1,27 @@ +package cn.iocoder.yudao.module.backendlogistics.service.common; + +import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; + +import java.util.List; + +/** + * 账套 Service 接口 + * + * @author 后台管理 + */ +public interface CompanyService { + + + /** + * 获取顶级账套 + * @return + */ + DeptRespDTO getTopCompany(); + + /** + * 获取所有子账套 + * @return + */ + List getAllChildCompany(Long companyId); + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/CompanyServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/CompanyServiceImpl.java new file mode 100644 index 00000000..a4f5cb02 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/CompanyServiceImpl.java @@ -0,0 +1,41 @@ +package cn.iocoder.yudao.module.backendlogistics.service.common; + +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.common.CompanyMapper; +import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import java.util.List; + + +/** + * 账套 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class CompanyServiceImpl implements CompanyService { + + @Resource + private CompanyMapper companyMapper; + + /** + * 获取顶级账套 + * @return + */ + @Override + public DeptRespDTO getTopCompany() { + return companyMapper.getTopCompany(); + } + + /** + * 获取所有子账套 + * @return + */ + @Override + public List getAllChildCompany(Long companyId) { + return companyMapper.getAllChildCompany(companyId); + } +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/FileService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/FileService.java new file mode 100644 index 00000000..f29da13a --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/FileService.java @@ -0,0 +1,73 @@ +package cn.iocoder.yudao.module.backendlogistics.service.common; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.backendlogistics.enums.common.FileBuinessCodeEnum; +import cn.iocoder.yudao.module.backendlogistics.enums.common.FileSourceEnum; +import cn.iocoder.yudao.module.infra.api.businessfile.dto.BusinessFilePageReqDTO; +import cn.iocoder.yudao.module.infra.api.businessfile.dto.BusinessFileSaveReqDTO; +import cn.iocoder.yudao.module.infra.api.businessfile.dto.BusinessFileWithUrlRespDTO; + +import java.util.List; + +public interface FileService { + /** + * 批量保存业务附件信息 + * @param list 附件信息 + * @param source 来源 + * @param businessCode 业务编码 + * @param businessId 业务id + */ + void saveBunFile(List list, FileSourceEnum source, FileBuinessCodeEnum businessCode, Long businessId); + + + /** + * 批量保存业务附件信息 + * @param dto 附件信息 + * @param source 来源 + * @param businessCode 业务编码 + * @param businessId 业务id + */ + void saveBunFile(BusinessFileSaveReqDTO dto, FileSourceEnum source, FileBuinessCodeEnum businessCode, Long businessId); + + /** + * 删除附件 + * @param businessId + * @param sourceEnum + * @param businessCode + */ + void deleteBunFile(Long businessId,FileSourceEnum sourceEnum,FileBuinessCodeEnum businessCode); + + /** + * 获取文件批量 + * @param businessId + * @param sourceEnum + * @param businessCode + * @return + */ + List getBunFileList(Long businessId,FileSourceEnum sourceEnum,FileBuinessCodeEnum businessCode); + + /** + * 获取文件单条 + * @param businessId + * @param sourceEnum + * @param businessCode + * @return + */ + BusinessFileWithUrlRespDTO getBunFile(Long businessId,FileSourceEnum sourceEnum,FileBuinessCodeEnum businessCode); + + /** + * 获取附件业务数据 + * @param pageReqDTO + * @return + */ + PageResult getBusinessFilePageWithUrl(BusinessFilePageReqDTO pageReqDTO); + + /** + * 获取文件信息 + * @param businessId + * @param sourceEnum + * @return + */ + List getBunFileList(Long businessId,FileSourceEnum sourceEnum); + +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/FileServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/FileServiceImpl.java new file mode 100644 index 00000000..9099db44 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/FileServiceImpl.java @@ -0,0 +1,150 @@ +package cn.iocoder.yudao.module.backendlogistics.service.common; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.backendlogistics.enums.common.FileBuinessCodeEnum; +import cn.iocoder.yudao.module.backendlogistics.enums.common.FileSourceEnum; +import cn.iocoder.yudao.module.infra.api.businessfile.BusinessFileApi; +import cn.iocoder.yudao.module.infra.api.businessfile.dto.BusinessFilePageReqDTO; +import cn.iocoder.yudao.module.infra.api.businessfile.dto.BusinessFileRespDTO; +import cn.iocoder.yudao.module.infra.api.businessfile.dto.BusinessFileSaveReqDTO; +import cn.iocoder.yudao.module.infra.api.businessfile.dto.BusinessFileWithUrlRespDTO; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.Arrays; +import java.util.List; +import java.util.Objects; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.FILE_NOT_EXISTS; + +@Service +public class FileServiceImpl implements FileService { + @Resource + private BusinessFileApi businessFileApi; + + /** + * 批量保存业务附件信息 + * + * @param list 附件信息 + * @param source 来源 + * @param businessCode 业务编码 + * @param businessId 业务id + */ + @Override + public void saveBunFile(List list, FileSourceEnum source, FileBuinessCodeEnum businessCode, Long businessId) { + if (CollectionUtils.isEmpty(list)) { + return; + } + for (BusinessFileSaveReqDTO bsnDto : list) { + bsnDto.setSource(source.getCode()); + bsnDto.setBusinessCode(businessCode.getCode()); + bsnDto.setBusinessId(businessId); + } + CommonResult> listCommonResult = businessFileApi.batchCreateBusinessFile(list); + if (listCommonResult.isError()) { + throw exception0(FILE_NOT_EXISTS.getCode(), listCommonResult.getMsg()); + } + } + + + /** + * 批量保存业务附件信息 + * + * @param dto 附件信息 + * @param source 来源 + * @param businessCode 业务编码 + * @param businessId 业务id + */ + @Override + public void saveBunFile(BusinessFileSaveReqDTO dto, FileSourceEnum source, FileBuinessCodeEnum businessCode, Long businessId) { + if (Objects.isNull(dto)) { + return; + } + this.saveBunFile(Arrays.asList(dto), source, businessCode, businessId); + } + + /** + * 删除附件 + * + * @param businessId + * @param sourceEnum + * @param businessCode + */ + @Override + public void deleteBunFile(Long businessId, FileSourceEnum sourceEnum, FileBuinessCodeEnum businessCode) { + List bunFileList = selectBunFileList(businessId, sourceEnum, businessCode); + List bunFileIdList = bunFileList.stream().map(BusinessFileRespDTO::getId).toList(); + businessFileApi.deleteBusinessFileList(bunFileIdList); + } + + public List selectBunFileList(Long businessId, FileSourceEnum sourceEnum, FileBuinessCodeEnum businessCode) { + BusinessFilePageReqDTO businessFilePageReqDTO = new BusinessFilePageReqDTO(); + businessFilePageReqDTO.setPageNo(1); + businessFilePageReqDTO.setPageSize(1000); + businessFilePageReqDTO.setBusinessId(businessId); + businessFilePageReqDTO.setSource(sourceEnum.getCode()); + if (Objects.nonNull(businessCode)) { + businessFilePageReqDTO.setBusinessCode(businessCode.getCode()); + } + CommonResult> businessFilePage = businessFileApi.getBusinessFilePageWithUrl(businessFilePageReqDTO); + return businessFilePage.getData().getList(); + } + + /** + * 获取文件批量 + * + * @param businessId + * @param sourceEnum + * @param businessCode + * @return + */ + @Override + public List getBunFileList(Long businessId, FileSourceEnum sourceEnum, FileBuinessCodeEnum businessCode) { + List bunFileList = selectBunFileList(businessId, sourceEnum, businessCode); + return bunFileList; + } + + /** + * 获取文件单条 + * + * @param businessId + * @param sourceEnum + * @param businessCode + * @return + */ + @Override + public BusinessFileWithUrlRespDTO getBunFile(Long businessId, FileSourceEnum sourceEnum, FileBuinessCodeEnum businessCode) { + List bunFileList = selectBunFileList(businessId, sourceEnum, businessCode); + if (CollectionUtils.isEmpty(bunFileList)) { + return null; + } + return bunFileList.get(0); + } + + /** + * 获取附件业务数据 + * + * @param pageReqDTO + * @return + */ + @Override + public PageResult getBusinessFilePageWithUrl(BusinessFilePageReqDTO pageReqDTO) { + CommonResult> result = businessFileApi.getBusinessFilePageWithUrl(pageReqDTO); + return result.getData(); + } + + /** + * 获取文件信息 + * + * @param businessId + * @param sourceEnum + * @return + */ + @Override + public List getBunFileList(Long businessId, FileSourceEnum sourceEnum) { + return selectBunFileList(businessId, sourceEnum,null); + } +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/OperationLogService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/OperationLogService.java new file mode 100644 index 00000000..8b8b3df9 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/OperationLogService.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.backendlogistics.service.common; + +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.OperationLogListVO; + +import java.util.List; + +/** + * 操作日志 Service 接口 + * + * @author 后台管理 + */ +public interface OperationLogService { + /** + * 创建操作日志 + * @param dataId + * @param dataType + * @param content + */ + void createOperationLog(Long dataId,String dataType, String content); + + /** + * 查询业务日志 + * @param dataId + * @param dataType + * @return + */ + List getOperationLogList(Long dataId,String dataType); + + /** + * 比较两个对象 + * @param obj1 + * @param obj2 + * @return + */ + String compareObjects(Object obj1, Object obj2); + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/OperationLogServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/OperationLogServiceImpl.java new file mode 100644 index 00000000..1bac9d98 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/OperationLogServiceImpl.java @@ -0,0 +1,323 @@ +package cn.iocoder.yudao.module.backendlogistics.service.common; + +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.OperationLogListVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.common.OperationLogDO; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.common.OperationLogMapper; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import java.lang.reflect.Field; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + + +/** + * 操作日志 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class OperationLogServiceImpl implements OperationLogService { + + @Resource + private OperationLogMapper operationLogMapper; + + /** + * 创建操作日志 + * + * @param dataId + * @param dataType + * @param content + */ + @Override + public void createOperationLog(Long dataId, String dataType, String content) { + OperationLogDO operationLogDO = OperationLogDO.builder() + .dataId(dataId) + .dataType(dataType) + .content(content) + .build(); + operationLogMapper.insert(operationLogDO); + } + + /** + * 查询业务日志 + * + * @param dataId + * @param dataType + * @return + */ + @Override + public List getOperationLogList(Long dataId, String dataType) { + List operationLogDOS = operationLogMapper.selectList(new LambdaQueryWrapperX().eq(OperationLogDO::getDataId, dataId) + .eq(OperationLogDO::getDataType, dataType).orderByDesc(OperationLogDO::getCreateTime)); + return BeanUtils.toBean(operationLogDOS, OperationLogListVO.class); + } + + @Override + public String compareObjects(Object obj1, Object obj2) { + Map differences = new HashMap<>(); + + Class clazz = obj1.getClass(); + Field[] fields = clazz.getDeclaredFields(); + + for (Field field : fields) { + field.setAccessible(true); + Object value1 = null; + Object value2 = null; + try { + value1 = field.get(obj1); + value2 = field.get(obj2); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } + + if (!isValuesEqual(value1, value2)) { + differences.put(field.getName(), new Object[]{value1, value2}); + } + } + + return this.convertDifferencesToString(differences, clazz); + } + + /** + * 判断两个值是否相等,支持各种数据类型的比较 + */ + private boolean isValuesEqual(Object value1, Object value2) { + // 处理null值情况 + if (value1 == null && value2 == null) { + return true; + } + + if (value1 == null || value2 == null) { + return false; + } + + // 处理数字类型比较 + if ((value1 instanceof Number) && (value2 instanceof Number)) { + return compareNumbers((Number) value1, (Number) value2); + } + + // 处理日期时间类型比较 + if (isDateType(value1) && isDateType(value2)) { + return compareDates(value1, value2); + } + + // 处理布尔类型比较(处理Boolean和String形式的布尔值) + if (isBooleanType(value1) && isBooleanType(value2)) { + return compareBooleans(value1, value2); + } + + // 处理字符串类型比较(忽略前后空格) + if ((value1 instanceof String) && (value2 instanceof String)) { + return ((String) value1).trim().equals(((String) value2).trim()); + } + + // 处理集合类型比较 + if (isCollectionType(value1) && isCollectionType(value2)) { + return compareCollections(value1, value2); + } + + // 默认使用Objects.equals比较 + return Objects.equals(value1, value2); + } + + /** + * 比较数字类型 + */ + private boolean compareNumbers(Number num1, Number num2) { + try { + // 使用BigDecimal进行精确比较 + BigDecimal bd1; + BigDecimal bd2; + + // 直接使用数字值创建BigDecimal,避免toString可能的精度问题 + if (num1 instanceof BigDecimal) { + bd1 = (BigDecimal) num1; + } else if (num1 instanceof BigInteger) { + bd1 = new BigDecimal((BigInteger) num1); + } else { + bd1 = BigDecimal.valueOf(num1.doubleValue()); + } + + if (num2 instanceof BigDecimal) { + bd2 = (BigDecimal) num2; + } else if (num2 instanceof BigInteger) { + bd2 = new BigDecimal((BigInteger) num2); + } else { + bd2 = BigDecimal.valueOf(num2.doubleValue()); + } + + // 使用compareTo而不是equals,因为equals会比较精度 + return bd1.compareTo(bd2) == 0; + } catch (Exception e) { + // 如果转换失败,回退到默认比较 + return Objects.equals(num1, num2); + } + } + + /** + * 判断是否为日期类型 + */ + private boolean isDateType(Object obj) { + return obj instanceof java.util.Date || + obj instanceof java.time.LocalDate || + obj instanceof java.time.LocalDateTime || + obj instanceof java.time.Instant; + } + + /** + * 比较日期类型 + */ + private boolean compareDates(Object date1, Object date2) { + try { + long time1 = getDateAsMillis(date1); + long time2 = getDateAsMillis(date2); + return time1 == time2; + } catch (Exception e) { + return Objects.equals(date1, date2); + } + } + + /** + * 将日期类型转换为毫秒数 + */ + private long getDateAsMillis(Object dateObj) { + if (dateObj instanceof java.util.Date) { + return ((java.util.Date) dateObj).getTime(); + } else if (dateObj instanceof java.time.LocalDate) { + return ((java.time.LocalDate) dateObj).atStartOfDay(java.time.ZoneId.systemDefault()).toInstant().toEpochMilli(); + } else if (dateObj instanceof java.time.LocalDateTime) { + return ((java.time.LocalDateTime) dateObj).atZone(java.time.ZoneId.systemDefault()).toInstant().toEpochMilli(); + } else if (dateObj instanceof java.time.Instant) { + return ((java.time.Instant) dateObj).toEpochMilli(); + } + throw new IllegalArgumentException("Unsupported date type: " + dateObj.getClass()); + } + + /** + * 判断是否为布尔类型 + */ + private boolean isBooleanType(Object obj) { + return obj instanceof Boolean || + (obj instanceof String && isStringBoolean((String) obj)); + } + + /** + * 判断字符串是否表示布尔值 + */ + private boolean isStringBoolean(String str) { + if (str == null) return false; + String trimmed = str.trim().toLowerCase(); + return "true".equals(trimmed) || "false".equals(trimmed) || + "1".equals(trimmed) || "0".equals(trimmed); + } + + /** + * 比较布尔类型 + */ + private boolean compareBooleans(Object bool1, Object bool2) { + try { + boolean b1 = parseBoolean(bool1); + boolean b2 = parseBoolean(bool2); + return b1 == b2; + } catch (Exception e) { + return Objects.equals(bool1, bool2); + } + } + + /** + * 解析布尔值 + */ + private boolean parseBoolean(Object obj) { + if (obj instanceof Boolean) { + return (Boolean) obj; + } else if (obj instanceof String) { + String str = ((String) obj).trim().toLowerCase(); + return "true".equals(str) || "1".equals(str); + } + throw new IllegalArgumentException("Cannot parse boolean from: " + obj); + } + + /** + * 判断是否为集合类型 + */ + private boolean isCollectionType(Object obj) { + return obj instanceof java.util.Collection || + obj instanceof java.util.Map || + obj.getClass().isArray(); + } + + /** + * 比较集合类型 + */ + private boolean compareCollections(Object coll1, Object coll2) { + // 简单实现:比较大小和toString表示 + if (coll1 instanceof java.util.Collection && coll2 instanceof java.util.Collection) { + java.util.Collection c1 = (java.util.Collection) coll1; + java.util.Collection c2 = (java.util.Collection) coll2; + return c1.size() == c2.size() && Objects.equals(c1, c2); + } else if (coll1.getClass().isArray() && coll2.getClass().isArray()) { + return java.util.Arrays.equals((Object[]) coll1, (Object[]) coll2); + } + return Objects.equals(coll1, coll2); + } + + + public String convertDifferencesToString(Map differences, Class clazz) { + StringBuilder result = new StringBuilder(); + Map fieldChineseNames = getFieldChineseNamesByAnnotation(clazz); + + for (Map.Entry entry : differences.entrySet()) { + String fieldName = entry.getKey(); + Object[] values = entry.getValue(); + + // 获取字段的中文名,如果没有则使用原字段名 + String chineseName = fieldChineseNames.getOrDefault(fieldName, fieldName); + + result.append("字段: ").append(chineseName); + if (values != null && values.length >= 2) { + result.append(", 旧值: ").append(values[0]); + result.append(", 新值: ").append(values[1]); + } + result.append("\n"); + } + + return result.toString(); + } + + /** + * 获取类中所有字段的中文名映射 + */ + private Map getFieldChineseNamesByAnnotation(Class clazz) { + Map fieldNames = new HashMap<>(); + Field[] fields = clazz.getDeclaredFields(); + + for (Field field : fields) { + fieldNames.put(field.getName(), getFieldChineseName(field)); + } + + return fieldNames; + } + + /** + * 通过注解获取字段的中文名 + */ + private String getFieldChineseName(Field field) { + // 从@Schema注解获取中文名 + Schema schemaAnnotation = + field.getAnnotation(Schema.class); + if (schemaAnnotation != null && !schemaAnnotation.description().isEmpty()) { + return schemaAnnotation.description(); + } + return field.getName(); // 如果没有注解或描述为空,返回字段名 + } +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/SequenceService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/SequenceService.java new file mode 100644 index 00000000..6c512b71 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/SequenceService.java @@ -0,0 +1,23 @@ +package cn.iocoder.yudao.module.backendlogistics.service.common; + +import cn.iocoder.yudao.module.backendlogistics.enums.common.SequenceEnum; + +import java.util.List; + +public interface SequenceService { + /** + * 获取下一个流水号 + * @param sequenceCode + * @param circulationValue + * @param inputStrs + * @return + */ + String getNextSequence(SequenceEnum sequenceCode, String circulationValue, List inputStrs); + /** + * 获取下一个流水号 + * @param sequenceCode + * @return + */ + String getNextSequence(SequenceEnum sequenceCode); + +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/SequenceServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/SequenceServiceImpl.java new file mode 100644 index 00000000..334efdb3 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/SequenceServiceImpl.java @@ -0,0 +1,43 @@ +package cn.iocoder.yudao.module.backendlogistics.service.common; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.backendlogistics.enums.common.SequenceEnum; +import cn.iocoder.yudao.module.system.api.sequence.SequenceApi; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; + +import java.util.List; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.SEQUENCE_ERROR; + +@Service +public class SequenceServiceImpl implements SequenceService{ + @Resource + private SequenceApi sequenceApi; + + /** + * 获取下一个流水号 + * @param sequenceCode + * @param circulationValue + * @param inputStrs + * @return + */ + @Override + public String getNextSequence(SequenceEnum sequenceCode, String circulationValue, List inputStrs){ + CommonResult nextSequence = sequenceApi.getNextSequence(sequenceCode.getCode(), circulationValue, inputStrs); + if(nextSequence.isError()){ + throw exception0(SEQUENCE_ERROR.getCode(), nextSequence.getMsg()); + } + return nextSequence.getData(); + } + /** + * 获取下一个流水号 + * @param sequenceCode + * @return + */ + @Override + public String getNextSequence(SequenceEnum sequenceCode){ + return getNextSequence(sequenceCode, null, null); + } +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/SplyErpCustomerService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/SplyErpCustomerService.java new file mode 100644 index 00000000..f385e5b2 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/SplyErpCustomerService.java @@ -0,0 +1,14 @@ +package cn.iocoder.yudao.module.backendlogistics.service.common; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.common.vo.ErpCustomerPageReqVo; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.common.vo.ErpCustomerRespVo; + +public interface SplyErpCustomerService { + /** + * 查询主数据客商分页数据 + * @param reqVo + * @return + */ + PageResult seleErpCustomerPage(ErpCustomerPageReqVo reqVo); +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/SplyErpCustomerServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/SplyErpCustomerServiceImpl.java new file mode 100644 index 00000000..86df9fd0 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/SplyErpCustomerServiceImpl.java @@ -0,0 +1,28 @@ +package cn.iocoder.yudao.module.backendlogistics.service.common; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.common.vo.ErpCustomerPageReqVo; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.common.vo.ErpCustomerRespVo; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.common.SplyErpCustomerMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; + +@Service +public class SplyErpCustomerServiceImpl implements SplyErpCustomerService{ + @Resource + private SplyErpCustomerMapper splyErpCustomerMapper; + + /** + * 查询主数据客商分页数据 + * @param reqVo + * @return + */ + @Override + public PageResult seleErpCustomerPage(ErpCustomerPageReqVo reqVo){ + IPage page = new Page<>(reqVo.getPageNo(), reqVo.getPageSize()); + splyErpCustomerMapper.seleErpCustomerPage(page, reqVo); + return new PageResult<>(page.getRecords(), page.getTotal()); + } +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/UserService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/UserService.java new file mode 100644 index 00000000..66f03edc --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/UserService.java @@ -0,0 +1,80 @@ +package cn.iocoder.yudao.module.backendlogistics.service.common; + +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserSaveReqDTO; + +import java.util.List; +import java.util.Set; + +public interface UserService { + /** + * 重置用户密码 + * @param userId + * @param userName + */ + void updateUserPassword(Long userId, String userName); + + /** + * 获取当前用户所有部门 + * @return + */ + List getDeptIdListByUserId(); + + /** + * 获取当前用户第一个部门 + * @return + */ + Long getDeptIdByUserId(); + + /** + * 重置用户密码 + * @param userId + * @param userName + */ + void updateUserPassword(Long userId, String userName,String password); + + /** + * 删除用户 + * @param userId + */ + void deleteUserById(Long userId); + + /** + * 修改用户信息 + * @param saveReqVo + */ + void updateUser(AdminUserSaveReqDTO saveReqVo); + + /** + * 修改用户信息 + * @param saveReqVo + */ + Long createUser(AdminUserSaveReqDTO saveReqVo); + + /** + * 分配用户角色 + * @param userId + * @param roleIds + */ + void assignUserRole(Long userId, Set roleIds); + + /** + *分配用户角色 + * @param userId + * @param roleId + */ + void assignUserRole(Long userId, Long roleId); + + /** + * 创建部门 + * @param parentId + * @param deptName + * @return + */ + Long createDept(Long parentId, String deptName); + + /** + * 根据部门id删除用户 + * @param deptId + */ + void deleteUserByDeptId(Long deptId); +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/UserServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/UserServiceImpl.java new file mode 100644 index 00000000..4a0c6e94 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/common/UserServiceImpl.java @@ -0,0 +1,188 @@ +package cn.iocoder.yudao.module.backendlogistics.service.common; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.security.core.LoginUser; +import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.ChildAccountRespVo; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.acct.ChildAccountMapper; +import cn.iocoder.yudao.module.backendlogistics.enums.common.SequenceEnum; +import cn.iocoder.yudao.module.backendlogistics.utils.PasswordGeneratorUtils; +import cn.iocoder.yudao.module.system.api.dept.DeptApi; +import cn.iocoder.yudao.module.system.api.dept.dto.CompanyDeptInfoRespDTO; +import cn.iocoder.yudao.module.system.api.dept.dto.DeptSaveReqDTO; +import cn.iocoder.yudao.module.system.api.permission.PermissionApi; +import cn.iocoder.yudao.module.system.api.permission.dto.PermissionAssignUserRoleReqDTO; +import cn.iocoder.yudao.module.system.api.user.AdminUserApi; +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserSaveReqDTO; +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserUpdatePasswordReqDTO; +import jakarta.annotation.Resource; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.USER_ERROR; + +@Service +public class UserServiceImpl implements UserService{ + @Resource + private AdminUserApi adminUserApi; + @Resource + private DeptApi deptApi; + @Resource + private SequenceService sequenceService; + @Resource + private PermissionApi permissionApi; + @Resource + private ChildAccountMapper childAccountMapper; + + /** + * 重置用户密码 + * @param userId + * @param userName + */ + @Override + public void updateUserPassword(Long userId, String userName){ + String pwd= PasswordGeneratorUtils.generateRandomPassword(); + AdminUserUpdatePasswordReqDTO reqPwdDTO = new AdminUserUpdatePasswordReqDTO(); + reqPwdDTO.setId(userId); + reqPwdDTO.setPassword(pwd); + adminUserApi.updateUserPassword(reqPwdDTO); + } + /** + * 获取当前用户所有部门 + * @return + */ + @Override + public List getDeptIdListByUserId(){ + LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); + CommonResult> commonResult = deptApi.getCompanyDeptInfoListByUserId(loginUser.getId()); + if(commonResult.isError()){ + throw exception0(USER_ERROR.getCode(), commonResult.getMsg()); + } + List deptIdList = commonResult.getData().stream().map(CompanyDeptInfoRespDTO::getDeptId).collect(Collectors.toList()); + return deptIdList; + } + + /** + * 获取当前用户第一个部门 + * @return + */ + @Override + public Long getDeptIdByUserId(){ + List deptIdList=getDeptIdListByUserId(); + if(CollectionUtils.isEmpty(deptIdList)){ + return null; + } + return deptIdList.get(0); + } + /** + * 重置用户密码 + * @param userId + * @param userName + */ + @Override + public void updateUserPassword(Long userId, String userName,String password){ + AdminUserUpdatePasswordReqDTO reqPwdDTO = new AdminUserUpdatePasswordReqDTO(); + reqPwdDTO.setId(userId); + reqPwdDTO.setPassword(password); + adminUserApi.updateUserPassword(reqPwdDTO); + } + /** + * 删除用户 + * @param userId + */ + @Override + public void deleteUserById(Long userId){ + CommonResult booleanCommonResult = adminUserApi.deleteUser(userId); + if(booleanCommonResult.isError()){ + throw exception0(USER_ERROR.getCode(), booleanCommonResult.getMsg()); + } + } + /** + * 修改用户信息 + * @param saveReqVo + */ + @Override + public void updateUser(AdminUserSaveReqDTO saveReqVo){ + adminUserApi.updateUser(saveReqVo); + } + /** + * 修改用户信息 + * @param saveReqVo + */ + @Override + public Long createUser(AdminUserSaveReqDTO saveReqVo){ + if(StringUtils.isBlank(saveReqVo.getPassword())){ + saveReqVo.setPassword(PasswordGeneratorUtils.generateRandomPassword()); + } + if(StringUtils.isBlank(saveReqVo.getUsername())){ + saveReqVo.setUsername(sequenceService.getNextSequence(SequenceEnum.XT_ACCOUNT_NO)); + } + CommonResult user = adminUserApi.createUser(saveReqVo); + if(user.isError()){ + throw exception0(USER_ERROR.getCode(), user.getMsg()); + } + saveReqVo.setId(user.getData()); + return user.getData(); + } + /** + * 分配用户角色 + * @param userId + * @param roleIds + */ + @Override + public void assignUserRole(Long userId, Set roleIds){ + PermissionAssignUserRoleReqDTO reqDTO = new PermissionAssignUserRoleReqDTO(); + reqDTO.setUserId(userId); + reqDTO.setRoleIds(roleIds); + CommonResult booleanCommonResult = permissionApi.assignUserRole(reqDTO); + if(booleanCommonResult.isError()){ + throw exception0(USER_ERROR.getCode(), booleanCommonResult.getMsg()); + } + } + + /** + *分配用户角色 + * @param userId + * @param roleId + */ + @Override + public void assignUserRole(Long userId, Long roleId){ + assignUserRole(userId, Set.of(roleId)); + } + /** + * 创建部门 + * @param parentId + * @param deptName + * @return + */ + @Override + public Long createDept(Long parentId, String deptName){ + DeptSaveReqDTO reqDTO = new DeptSaveReqDTO(); + reqDTO.setParentId(parentId); + reqDTO.setName(deptName); + reqDTO.setSort(1); + reqDTO.setStatus(0); + CommonResult dept = deptApi.createDept(reqDTO); + if(dept.isError()){ + throw exception0(USER_ERROR.getCode(), dept.getMsg()); + } + return dept.getData(); + } + /** + * 根据部门id删除用户 + * @param deptId + */ + @Override + public void deleteUserByDeptId(Long deptId){ + List childList = childAccountMapper.selectChildAccountList(deptId); + for (ChildAccountRespVo child : childList){ + deleteUserById(child.getId()); + } + } +} diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/acct/CarrierAccountMapper.xml b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/acct/CarrierAccountMapper.xml index 71e637e8..1c7d2296 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/acct/CarrierAccountMapper.xml +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/acct/CarrierAccountMapper.xml @@ -1,6 +1,6 @@ - + + + + + + + diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/rlwyMtrl/RlwyMtrlMainMapper.xml b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/env/EnvironmentalIntoMainMapper.xml similarity index 92% rename from yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/rlwyMtrl/RlwyMtrlMainMapper.xml rename to yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/env/EnvironmentalIntoMainMapper.xml index 644e07b8..743be456 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/rlwyMtrl/RlwyMtrlMainMapper.xml +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/env/EnvironmentalIntoMainMapper.xml @@ -1,6 +1,6 @@ - + + + + \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/myDriver/MyDriverMapper.xml b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/myDriver/MyDriverMapper.xml new file mode 100644 index 00000000..26d86bb9 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/myDriver/MyDriverMapper.xml @@ -0,0 +1,40 @@ + + + + + + + + \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/mywrh/MyWrhMapper.xml b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/mywrh/MyWrhMapper.xml new file mode 100644 index 00000000..d2dd6026 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/mywrh/MyWrhMapper.xml @@ -0,0 +1,34 @@ + + + + + + + + \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/plceAchi/ForeignAreaMapper.xml b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/plceAchi/ForeignAreaMapper.xml new file mode 100644 index 00000000..9a550921 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/plceAchi/ForeignAreaMapper.xml @@ -0,0 +1,11 @@ + + + + + + \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/plceAchi/GateConfigMapper.xml b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/plceAchi/GateConfigMapper.xml index 5dae6c60..d7d88331 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/plceAchi/GateConfigMapper.xml +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/plceAchi/GateConfigMapper.xml @@ -9,4 +9,18 @@ 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ --> + \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/plceAchi/GeofenceMapper.xml b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/plceAchi/GeofenceMapper.xml new file mode 100644 index 00000000..0211abf4 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/plceAchi/GeofenceMapper.xml @@ -0,0 +1,31 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/plceAchi/PlaceArchiveMaterialMapper.xml b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/plceAchi/PlaceArchiveMaterialMapper.xml index f8c09f6a..24c78d6f 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/plceAchi/PlaceArchiveMaterialMapper.xml +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/plceAchi/PlaceArchiveMaterialMapper.xml @@ -9,4 +9,13 @@ 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ --> + \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/rlwyMtrl/MaterialExpandMapper.xml b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/rlwyMtrl/MaterialExpandMapper.xml new file mode 100644 index 00000000..9c9246bd --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/rlwyMtrl/MaterialExpandMapper.xml @@ -0,0 +1,176 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/rlwyMtrl/RailwayMaterialMainMapper.xml b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/rlwyMtrl/RailwayMaterialMainMapper.xml new file mode 100644 index 00000000..8c668fd6 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/rlwyMtrl/RailwayMaterialMainMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/rlwyMtrl/RailwayMaterialSubitemMapper.xml b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/rlwyMtrl/RailwayMaterialSubitemMapper.xml new file mode 100644 index 00000000..a156f2aa --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/rlwyMtrl/RailwayMaterialSubitemMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/rlwyMtrl/RlwyMtrlXpdMapper.xml b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/rlwyMtrl/RlwyMtrlXpdMapper.xml deleted file mode 100644 index 25ac7564..00000000 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/rlwyMtrl/RlwyMtrlXpdMapper.xml +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/shp/CollaborationShipArchiveMapper.xml b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/shp/CollaborationShipArchiveMapper.xml new file mode 100644 index 00000000..06b96f10 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/shp/CollaborationShipArchiveMapper.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/common/CompanyMapper.xml b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/common/CompanyMapper.xml new file mode 100644 index 00000000..b2a50585 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/common/CompanyMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/rlwyMtrl/RlwyMtrlSubMapper.xml b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/common/OperationLogMapper.xml similarity index 93% rename from yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/rlwyMtrl/RlwyMtrlSubMapper.xml rename to yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/common/OperationLogMapper.xml index 5c3ba79e..1968c86c 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/rlwyMtrl/RlwyMtrlSubMapper.xml +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/common/OperationLogMapper.xml @@ -1,6 +1,6 @@ - + + + \ No newline at end of file