同步物流业务代码

This commit is contained in:
Administrator
2025-06-10 01:29:55 +00:00
committed by chenbowen
parent 36c0d309fb
commit d1d5b2c0c5
299 changed files with 13351 additions and 1768 deletions

View File

@@ -7,7 +7,7 @@ WORKDIR /app
COPY target/logistics-server.jar /app/logistics-server.jar COPY target/logistics-server.jar /app/logistics-server.jar
# 暴露端口 # 暴露端口
EXPOSE 48204 EXPOSE 48101
# 运行应用 # 运行应用
ENTRYPOINT ["java", "-jar", "/app/logistics-server.jar"] ENTRYPOINT ["java", "-jar", "/app/logistics-server.jar"]

View File

@@ -4,7 +4,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<groupId>cn.iocoder.cloud</groupId> <groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao</artifactId> <artifactId>dsc-logistics</artifactId>
<version>${revision}</version> <version>${revision}</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@@ -3,7 +3,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<artifactId>yudao</artifactId> <artifactId>dsc-logistics</artifactId>
<groupId>cn.iocoder.cloud</groupId> <groupId>cn.iocoder.cloud</groupId>
<version>${revision}</version> <version>${revision}</version>
</parent> </parent>

View File

@@ -39,6 +39,8 @@ public interface ErrorCodeConstants {
*/ */
// ========== 示例模块 1-001-000-000 ========== // ========== 示例模块 1-001-000-000 ==========
ErrorCode EXAMPLE_NOT_EXISTS = new ErrorCode(1_001_000_001, "示例不存在"); 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) // 模块 infra 错误码区间 [1-001-000-000 ~ 1-002-000-000)
// 模块 system 错误码区间 [1-002-000-000 ~ 1-003-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 GATE_CONFIG_NOT_EXISTS = new ErrorCode(1_100_001_006, "门岗信息不存在");
ErrorCode CONSIGNEE_ADDRESS_NOT_EXISTS = new ErrorCode(1_100_001_007, "客户收货地址不存在"); ErrorCode CONSIGNEE_ADDRESS_NOT_EXISTS = new ErrorCode(1_100_001_007, "客户收货地址不存在");
ErrorCode PLACE_ARCHIVE_MATERIAL_NOT_EXISTS = new ErrorCode(1_100_001_008, "地点档案物料信息不存在"); ErrorCode PLACE_ARCHIVE_MATERIAL_NOT_EXISTS = new ErrorCode(1_100_001_008, "地点档案物料信息不存在");
ErrorCode CORR_FACT_NOT_EXISTS = new ErrorCode(1_100_001_009, "关联工厂信息不存在"); 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] // 模块 bseMngt.plceAchi [1_100_002_000 ~ 1_100_002_999]
ErrorCode CUSTOMER_NOT_EXISTS = new ErrorCode(1_100_002_001, "客商协同账号不存在"); ErrorCode CUSTOMER_NOT_EXISTS = new ErrorCode(1_100_002_001, "客商协同账号不存在");
ErrorCode CARRIER_ACCOUNT_NOT_EXISTS = new ErrorCode(1_100_002_002, "物流服务商协同账号不存在"); ErrorCode CARRIER_ACCOUNT_NOT_EXISTS = new ErrorCode(1_100_002_002, "物流服务商协同账号不存在");
ErrorCode DRIVING_ACCOUNT_NOT_EXISTS = new ErrorCode(1_100_002_003, "司机协同账号不存在"); 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] // 模块 bseMngt.mtrl [1_100_003_000 ~ 1_100_003_999]
ErrorCode MTRL_XPD_NOT_EXISTS = new ErrorCode(1_100_003_001, "物资信息扩展不存在"); ErrorCode MTRL_XPD_NOT_EXISTS = new ErrorCode(1_100_003_001, "物资信息扩展不存在");
ErrorCode RLWY_MTRL_MAIN_NOT_EXISTS = new ErrorCode(1_100_003_002, "铁路物资对照主不存在"); ErrorCode RLWY_MTRL_MAIN_NOT_EXISTS = new ErrorCode(1_100_003_002, "铁路物资对照主不存在");
ErrorCode RLWY_MTRL_SUB_NOT_EXISTS = new ErrorCode(1_100_003_003, "铁路物资对照子不存在"); ErrorCode RLWY_MTRL_MAIN_NAME_CODE_EXISTS = new ErrorCode(1_100_003_003, "铁路物资对照品名代码已存在");
ErrorCode RLWY_MTRL_SUB_MATERIAL_EXISTS = new ErrorCode(1_100_003_004, "物资对照已经存在"); ErrorCode RLWY_MTRL_SUBITEM_NOT_EXISTS = new ErrorCode(1_100_003_004, "铁路物资对照子不存在");
ErrorCode RLWY_MTRL_MAIN_STATUS_EXISTS = new ErrorCode(1_100_003_004, "铁路品名对照草稿状态才能操作"); ErrorCode RLWY_MTRL_SUBITEM_MATERIAL_EXISTS = new ErrorCode(1_100_003_005, "铁路物资对照已经存在");
ErrorCode RLWY_MTRL_MAIN_DRAFT_STATUS = new ErrorCode(1_100_003_006, "铁路品名对照草稿状态才能操作");
ErrorCode RLWY_MTRL_MAIN_ENABLED_STATUS = new ErrorCode(1_100_003_007, "铁路品名对照启用状态才能操作");
// 模块 bseMngt.env [1_100_004_000 ~ 1_100_004_999]
ErrorCode ENVIRONMENTAL_INTO_MAIN_NOT_EXISTS = new ErrorCode(1_100_004_001, "环保进场管理主不存在");
ErrorCode ENVIRONMENTAL_INTO_SUBITEM_NOT_EXISTS = new ErrorCode(1_100_004_002, "环保进场管理子不存在");
ErrorCode ENVIRONMENTAL_INTO_MAIN_EXISTS = new ErrorCode(1_100_004_003, "环保进场主项已经存在");
ErrorCode ENVIRONMENTAL_INTO_SUBITEM_MATERIAL_EXISTS = new ErrorCode(1_100_004_004, "环保进场物资已经存在");
ErrorCode ENVIRONMENTAL_INTO_MAIN_DRAFT_STATUS = new ErrorCode(1_100_004_005, "环保进场草稿状态才能操作");
ErrorCode ENVIRONMENTAL_INTO_MAIN_ENABLED_STATUS = new ErrorCode(1_100_003_006, "环保进场启用状态才能操作");
// 模块 bseMngt.vhc [1_100_005_000 ~ 1_100_005_999]
ErrorCode SHIP_ARCHIVE_NOT_EXISTS = new ErrorCode(1_100_005_001, "船舶档案不存在");
ErrorCode SHIP_ARCHIVE_IMO_EXISTS = new ErrorCode(1_100_005_002, "船舶IMO码已经存在");
ErrorCode SHIP_ARCHIVE_DATA_CONVERSION_ERROR = new ErrorCode(1_100_005_003, "船舶数据转换错误");
// 模块 bseMngt.car [1_100_006_000 ~ 1_100_006_999]
ErrorCode CAR_ARCHIVE_NOT_EXISTS = new ErrorCode(1_100_006_001, "车辆档案不存在");
ErrorCode CAR_ARCHIVE_EXISTS = new ErrorCode(1_100_006_002, "车辆档案已经存在");
ErrorCode CAR_ARCHIVE_DATA_CONVERSION_ERROR = new ErrorCode(1_100_005_003, "车辆数据转换错误");
ErrorCode CAR_BLACKLIST_NOT_EXISTS = new ErrorCode(1_100_006_004, "车辆黑名单不存在");
ErrorCode SEQUENCE_ERROR = new ErrorCode(1_100_007_001, "流水号异常");
} }

View File

@@ -0,0 +1,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<String> noCompanys = Arrays.asList(PlceTpEnum.WAREHOUSE.getCode(), PlceTpEnum.RAILWAY_STATION.getCode(), PlceTpEnum.CONSIGNEE_ADDRESS.getCode());
if (noCompanys.contains(code)) {
return true;
}
return false;
}
}

View File

@@ -0,0 +1,51 @@
package 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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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());
}
}
}

View File

@@ -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.pojo.vo.BatchDeleteReqVO;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; 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.*;
import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CarrierAccountRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.common.vo.IdsVo;
import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CarrierAccountSaveReqVO;
import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.CarrierAccountDO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.CarrierAccountDO;
import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct.CarrierAccountService; import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct.CarrierAccountService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@@ -57,7 +56,7 @@ public class CarrierAccountController extends AbstractFileUploadController imple
return success(carrierAccountService.createCarrierAccount(createReqVO)); return success(carrierAccountService.createCarrierAccount(createReqVO));
} }
@PutMapping("/update") @PostMapping("/update")
@Operation(summary = "更新物流服务商协同账号") @Operation(summary = "更新物流服务商协同账号")
@PreAuthorize("@ss.hasPermission('lgst:carrier-account:update')") @PreAuthorize("@ss.hasPermission('lgst:carrier-account:update')")
public CommonResult<Boolean> updateCarrierAccount(@Valid @RequestBody CarrierAccountSaveReqVO updateReqVO) { public CommonResult<Boolean> updateCarrierAccount(@Valid @RequestBody CarrierAccountSaveReqVO updateReqVO) {
@@ -65,7 +64,7 @@ public class CarrierAccountController extends AbstractFileUploadController imple
return success(true); return success(true);
} }
@DeleteMapping("/delete") @PostMapping("/delete")
@Operation(summary = "删除物流服务商协同账号") @Operation(summary = "删除物流服务商协同账号")
@Parameter(name = "id", description = "编号", required = true) @Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('lgst:carrier-account:delete')") @PreAuthorize("@ss.hasPermission('lgst:carrier-account:delete')")
@@ -74,7 +73,7 @@ public class CarrierAccountController extends AbstractFileUploadController imple
return success(true); return success(true);
} }
@DeleteMapping("/delete-list") @PostMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true) @Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除物流服务商协同账号") @Operation(summary = "批量删除物流服务商协同账号")
@PreAuthorize("@ss.hasPermission('lgst:carrier-account:delete')") @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") @Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:carrier-account:query')") @PreAuthorize("@ss.hasPermission('lgst:carrier-account:query')")
public CommonResult<CarrierAccountRespVO> getCarrierAccount(@RequestParam("id") Long id) { public CommonResult<CarrierAccountRespVO> getCarrierAccount(@RequestParam("id") Long id) {
CarrierAccountDO carrierAccount = carrierAccountService.getCarrierAccount(id); CarrierAccountRespVO carrierAccount = carrierAccountService.getCarrierAccount(id);
return success(BeanUtils.toBean(carrierAccount, CarrierAccountRespVO.class)); return success(carrierAccount);
} }
@GetMapping("/page") @PostMapping("/page")
@Operation(summary = "获得物流服务商协同账号分页") @Operation(summary = "获得物流服务商协同账号分页")
@PreAuthorize("@ss.hasPermission('lgst:carrier-account:query')") @PreAuthorize("@ss.hasPermission('lgst:carrier-account:query')")
public CommonResult<PageResult<CarrierAccountRespVO>> getCarrierAccountPage(@Valid CarrierAccountPageReqVO pageReqVO) { public CommonResult<PageResult<CarrierAccountRespVO>> getCarrierAccountPage(@Valid @RequestBody CarrierAccountPageReqVO pageReqVO) {
PageResult<CarrierAccountDO> pageResult = carrierAccountService.getCarrierAccountPage(pageReqVO); PageResult<CarrierAccountDO> pageResult = carrierAccountService.getCarrierAccountPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, CarrierAccountRespVO.class)); return success(BeanUtils.toBean(pageResult, CarrierAccountRespVO.class));
} }
@@ -112,5 +111,63 @@ public class CarrierAccountController extends AbstractFileUploadController imple
ExcelUtils.write(response, "物流服务商协同账号.xls", "数据", CarrierAccountRespVO.class, ExcelUtils.write(response, "物流服务商协同账号.xls", "数据", CarrierAccountRespVO.class,
BeanUtils.toBean(list, CarrierAccountRespVO.class)); BeanUtils.toBean(list, CarrierAccountRespVO.class));
} }
/**
* 设置禁用/启用
* @param vo
*/
@PostMapping("/setEnable")
@Operation(summary = "启用/禁用")
@PreAuthorize("@ss.hasPermission('lgst:carrier-account:setEnable')")
public CommonResult<Boolean> setEnable(@RequestBody DriverAccountEditEnbVo vo){
carrierAccountService.setEnable(vo);
return success(true);
}
/**
* 注销账号
* @param vo
*/
@PostMapping("/closeCarrierAccount")
@Operation(summary = "注销账号")
@PreAuthorize("@ss.hasPermission('lgst:carrier-account:closeCarrierAccount')")
public CommonResult<Boolean> closeDrivingAccount(@RequestBody IdsVo vo){
carrierAccountService.closeCarrierAccount(vo.getIds());
return success(true);
}
/**
* 重置密码
* @param vo
*/
@PostMapping("/setPwd")
@Operation(summary = "重置密码")
@PreAuthorize("@ss.hasPermission('lgst:carrier-account:setPwd')")
public CommonResult<Boolean> setPwd(@RequestBody IdsVo vo){
carrierAccountService.regPwd(vo.getIds());
return success(true);
}
/**
* 查询日志
* @param id
* @return
*/
@GetMapping ("/getOperationLogList")
@Operation(summary = "查询日志")
@PreAuthorize("@ss.hasPermission('lgst:carrier-account:getOperationLogList')")
public CommonResult<List<OperationLogListVO>> getOperationLogList(@RequestParam("id") Long id){
return success(carrierAccountService.getOperationLogList(id));
}
/**
* 审核
* @param vo
* @return
*/
@PostMapping ("/confirm")
@Operation(summary = "审核")
@PreAuthorize("@ss.hasPermission('lgst:carrier-account:confirm')")
public CommonResult<Boolean> confirm(@RequestBody CarrierAccountSaveReqVO vo){
carrierAccountService.confirm(vo);
return success(true);
}
} }

View File

@@ -0,0 +1,37 @@
package 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<PageResult<ChildAccountRespVo>> getCarrierAccountPage(@RequestBody ChildAccountPageReqVo pageReqVO) {
PageResult<ChildAccountRespVo> pageResult =childAccountService.getChildAccountPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, ChildAccountRespVo.class));
}
}

View File

@@ -0,0 +1,89 @@
package 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<PageResult<ChildAccountRespVo>> getCollChildAccountPage(@RequestBody ChildAccountPageReqVo reqVo){
PageResult<ChildAccountRespVo> collChildAccountPage = childAccountService.getCollChildAccountPage(reqVo);
return success(collChildAccountPage);
}
/**
* 删除子账号
* @param vo
*/
@PostMapping("/delete")
@Operation(summary = "删除子账号")
@PreAuthorize("@ss.hasPermission('lgst:collaboration:child-account:delete')")
public CommonResult<Boolean> deleteChildAccount(@RequestBody IdVo vo){
childAccountService.deleteChildAccount(vo.getId());
return success(true);
}
/**
* 修改子账号数据
* @param saveReqVo
*/
@PostMapping("/update")
@Operation(summary = "修改子账号")
@PreAuthorize("@ss.hasPermission('lgst:collaboration:child-account:update')")
public CommonResult<Boolean> updateChildAccount(@RequestBody ChildAccountSaveReqVo saveReqVo){
childAccountService.updateChildAccount(saveReqVo);
return success(true);
}
/**
* 修改子账号密码
* @param saveReqVo
*/
@PostMapping("/updatePassword")
@Operation(summary = "修改子账号密码")
@PreAuthorize("@ss.hasPermission('lgst:collaboration:child-account:updatePassword')")
public CommonResult<Boolean> updateChildPassword(@RequestBody ChildAccountSaveReqVo saveReqVo){
childAccountService.updateChildPassword(saveReqVo);
return success(true);
}
/**
* 创建子账号
* @param saveReqVo
*/
@PostMapping("/create")
@Operation(summary = "创建子账号")
@PreAuthorize("@ss.hasPermission('lgst:collaboration:child-account:create')")
public CommonResult<Boolean> create(@RequestBody ChildAccountSaveReqVo saveReqVo){
childAccountService.craete(saveReqVo);
return success(true);
}
}

View File

@@ -0,0 +1,47 @@
package 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<CollaborationCompanyRespVo> getCompanyDetail() {
CollaborationCompanyRespVo collaborationCompany = collaborationCompanyService.getCollaborationCompany();
return success(collaborationCompany);
}
/**
* 修改登录手机号
*
* @param saveReqVo
*/
@PostMapping("/updateTel")
@Operation(summary = "修改手机号")
@PreAuthorize("@ss.hasPermission('lgst:coll:company:updateTel')")
public CommonResult<Boolean> updateTel(@RequestBody CollaborationCompanySaveReqVo saveReqVo) {
collaborationCompanyService.updateTel(saveReqVo);
return success(true);
}
}

View File

@@ -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.pojo.vo.BatchDeleteReqVO;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; 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.*;
import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CustomerRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.common.vo.IdsVo;
import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CustomerSaveReqVO;
import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.CustomerDO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.CustomerDO;
import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct.CustomerService; import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct.CustomerService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@@ -56,7 +55,7 @@ public class CustomerController extends AbstractFileUploadController implements
return success(customerService.createCustomer(createReqVO)); return success(customerService.createCustomer(createReqVO));
} }
@PutMapping("/update") @PostMapping("/update")
@Operation(summary = "更新客商协同账号") @Operation(summary = "更新客商协同账号")
@PreAuthorize("@ss.hasPermission('lgst:customer:update')") @PreAuthorize("@ss.hasPermission('lgst:customer:update')")
public CommonResult<Boolean> updateCustomer(@Valid @RequestBody CustomerSaveReqVO updateReqVO) { public CommonResult<Boolean> updateCustomer(@Valid @RequestBody CustomerSaveReqVO updateReqVO) {
@@ -64,7 +63,7 @@ public class CustomerController extends AbstractFileUploadController implements
return success(true); return success(true);
} }
@DeleteMapping("/delete") @PostMapping("/delete")
@Operation(summary = "删除客商协同账号") @Operation(summary = "删除客商协同账号")
@Parameter(name = "id", description = "编号", required = true) @Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('lgst:customer:delete')") @PreAuthorize("@ss.hasPermission('lgst:customer:delete')")
@@ -73,7 +72,7 @@ public class CustomerController extends AbstractFileUploadController implements
return success(true); return success(true);
} }
@DeleteMapping("/delete-list") @PostMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true) @Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除客商协同账号") @Operation(summary = "批量删除客商协同账号")
@PreAuthorize("@ss.hasPermission('lgst:customer:delete')") @PreAuthorize("@ss.hasPermission('lgst:customer:delete')")
@@ -87,14 +86,14 @@ public class CustomerController extends AbstractFileUploadController implements
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:customer:query')") @PreAuthorize("@ss.hasPermission('lgst:customer:query')")
public CommonResult<CustomerRespVO> getCustomer(@RequestParam("id") Long id) { public CommonResult<CustomerRespVO> getCustomer(@RequestParam("id") Long id) {
CustomerDO customer = customerService.getCustomer(id); CustomerRespVO customer = customerService.getCustomer(id);
return success(BeanUtils.toBean(customer, CustomerRespVO.class)); return success(customer);
} }
@GetMapping("/page") @PostMapping("/page")
@Operation(summary = "获得客商协同账号分页") @Operation(summary = "获得客商协同账号分页")
@PreAuthorize("@ss.hasPermission('lgst:customer:query')") @PreAuthorize("@ss.hasPermission('lgst:customer:query')")
public CommonResult<PageResult<CustomerRespVO>> getCustomerPage(@Valid CustomerPageReqVO pageReqVO) { public CommonResult<PageResult<CustomerRespVO>> getCustomerPage(@Valid @RequestBody CustomerPageReqVO pageReqVO) {
PageResult<CustomerDO> pageResult = customerService.getCustomerPage(pageReqVO); PageResult<CustomerDO> pageResult = customerService.getCustomerPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, CustomerRespVO.class)); return success(BeanUtils.toBean(pageResult, CustomerRespVO.class));
} }
@@ -111,5 +110,63 @@ public class CustomerController extends AbstractFileUploadController implements
ExcelUtils.write(response, "客商协同账号.xls", "数据", CustomerRespVO.class, ExcelUtils.write(response, "客商协同账号.xls", "数据", CustomerRespVO.class,
BeanUtils.toBean(list, CustomerRespVO.class)); BeanUtils.toBean(list, CustomerRespVO.class));
} }
/**
* 设置禁用/启用
* @param vo
*/
@PostMapping("/setEnable")
@Operation(summary = "启用/禁用")
@PreAuthorize("@ss.hasPermission('lgst:customer:setEnable')")
public CommonResult<Boolean> setEnable(@RequestBody DriverAccountEditEnbVo vo){
customerService.setEnable(vo);
return success(true);
}
/**
* 注销账号
* @param vo
*/
@PostMapping("/closeCstmAccount")
@Operation(summary = "注销账号")
@PreAuthorize("@ss.hasPermission('lgst:customer:closeCstmAccount')")
public CommonResult<Boolean> closeCstmAccount(@RequestBody IdsVo vo){
customerService.closeCstmAccount(vo.getIds());
return success(true);
}
/**
* 重置密码
* @param vo
*/
@PostMapping("/setPwd")
@Operation(summary = "重置密码")
@PreAuthorize("@ss.hasPermission('lgst:customer:setPwd')")
public CommonResult<Boolean> setPwd(@RequestBody IdsVo vo){
customerService.regPwd(vo.getIds());
return success(true);
}
/**
* 查询日志
* @param id
* @return
*/
@GetMapping ("/getOperationLogList")
@Operation(summary = "查询日志")
@PreAuthorize("@ss.hasPermission('lgst:customer:getOperationLogList')")
public CommonResult<List<OperationLogListVO>> getOperationLogList(@RequestParam("id") Long id){
return success(customerService.getOperationLogList(id));
}
/**
* 审核
* @param vo
* @return
*/
@PostMapping ("/confirm")
@Operation(summary = "审核")
@PreAuthorize("@ss.hasPermission('lgst:customer:confirm')")
public CommonResult<Boolean> confirm(@RequestBody CustomerSaveReqVO vo){
customerService.confirm(vo);
return success(true);
}
} }

View File

@@ -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.pojo.vo.BatchDeleteReqVO;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; 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.*;
import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.DrivingAccountRespVO; import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.common.vo.IdsVo;
import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.DrivingAccountSaveReqVO;
import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.DrivingAccountDO; import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.DrivingAccountDO;
import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct.DrivingAccountService; import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct.DrivingAccountService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@@ -57,7 +56,7 @@ public class DrivingAccountController extends AbstractFileUploadController imple
return success(drivingAccountService.createDrivingAccount(createReqVO)); return success(drivingAccountService.createDrivingAccount(createReqVO));
} }
@PutMapping("/update") @PostMapping("/update")
@Operation(summary = "更新司机协同账号") @Operation(summary = "更新司机协同账号")
@PreAuthorize("@ss.hasPermission('lgst:driving-account:update')") @PreAuthorize("@ss.hasPermission('lgst:driving-account:update')")
public CommonResult<Boolean> updateDrivingAccount(@Valid @RequestBody DrivingAccountSaveReqVO updateReqVO) { public CommonResult<Boolean> updateDrivingAccount(@Valid @RequestBody DrivingAccountSaveReqVO updateReqVO) {
@@ -65,7 +64,7 @@ public class DrivingAccountController extends AbstractFileUploadController imple
return success(true); return success(true);
} }
@DeleteMapping("/delete") @PostMapping("/delete")
@Operation(summary = "删除司机协同账号") @Operation(summary = "删除司机协同账号")
@Parameter(name = "id", description = "编号", required = true) @Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('lgst:driving-account:delete')") @PreAuthorize("@ss.hasPermission('lgst:driving-account:delete')")
@@ -74,7 +73,7 @@ public class DrivingAccountController extends AbstractFileUploadController imple
return success(true); return success(true);
} }
@DeleteMapping("/delete-list") @PostMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true) @Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除司机协同账号") @Operation(summary = "批量删除司机协同账号")
@PreAuthorize("@ss.hasPermission('lgst:driving-account:delete')") @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") @Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:driving-account:query')") @PreAuthorize("@ss.hasPermission('lgst:driving-account:query')")
public CommonResult<DrivingAccountRespVO> getDrivingAccount(@RequestParam("id") Long id) { public CommonResult<DrivingAccountRespVO> getDrivingAccount(@RequestParam("id") Long id) {
DrivingAccountDO drivingAccount = drivingAccountService.getDrivingAccount(id); DrivingAccountRespVO drivingAccount = drivingAccountService.getDrivingAccount(id);
return success(BeanUtils.toBean(drivingAccount, DrivingAccountRespVO.class)); return success(drivingAccount);
} }
@GetMapping("/page") @PostMapping("/page")
@Operation(summary = "获得司机协同账号分页") @Operation(summary = "获得司机协同账号分页")
@PreAuthorize("@ss.hasPermission('lgst:driving-account:query')") @PreAuthorize("@ss.hasPermission('lgst:driving-account:query')")
public CommonResult<PageResult<DrivingAccountRespVO>> getDrivingAccountPage(@Valid DrivingAccountPageReqVO pageReqVO) { public CommonResult<PageResult<DrivingAccountRespVO>> getDrivingAccountPage(@Valid @RequestBody DrivingAccountPageReqVO pageReqVO) {
PageResult<DrivingAccountDO> pageResult = drivingAccountService.getDrivingAccountPage(pageReqVO); PageResult<DrivingAccountDO> pageResult = drivingAccountService.getDrivingAccountPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, DrivingAccountRespVO.class)); return success(BeanUtils.toBean(pageResult, DrivingAccountRespVO.class));
} }
@@ -112,5 +111,51 @@ public class DrivingAccountController extends AbstractFileUploadController imple
ExcelUtils.write(response, "司机协同账号.xls", "数据", DrivingAccountRespVO.class, ExcelUtils.write(response, "司机协同账号.xls", "数据", DrivingAccountRespVO.class,
BeanUtils.toBean(list, DrivingAccountRespVO.class)); BeanUtils.toBean(list, DrivingAccountRespVO.class));
} }
/**
* 设置禁用/启用
* @param vo
*/
@PostMapping("/setEnable")
@Operation(summary = "启用/禁用")
@PreAuthorize("@ss.hasPermission('lgst:driving-account:setEnable')")
public CommonResult<Boolean> setEnable(@RequestBody DriverAccountEditEnbVo vo){
drivingAccountService.setEnable(vo);
return success(true);
}
/**
* 注销账号
* @param vo
*/
@PostMapping("/closeDrivingAccount")
@Operation(summary = "注销账号")
@PreAuthorize("@ss.hasPermission('lgst:driving-account:closeDrivingAccount')")
public CommonResult<Boolean> closeDrivingAccount(@RequestBody IdsVo vo){
drivingAccountService.closeDrivingAccount(vo.getIds());
return success(true);
}
/**
* 重置密码
* @param vo
*/
@PostMapping("/setPwd")
@Operation(summary = "重置密码")
@PreAuthorize("@ss.hasPermission('lgst:driving-account:setPwd')")
public CommonResult<Boolean> setPwd(@RequestBody IdsVo vo){
drivingAccountService.regPwd(vo.getIds());
return success(true);
}
/**
* 查询日志
* @param id
* @return
*/
@GetMapping("/getOperationLogList")
@Operation(summary = "查询日志")
@PreAuthorize("@ss.hasPermission('lgst:driving-account:getOperationLogList')")
public CommonResult<List<OperationLogListVO>> getOperationLogList(@RequestParam("id") Long id){
return success(drivingAccountService.getOperationLogList(id));
}
} }

View File

@@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo; 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.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
@@ -7,6 +8,7 @@ import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
@Schema(description = "管理后台 - 物流服务商协同账号 Response VO") @Schema(description = "管理后台 - 物流服务商协同账号 Response VO")
@Data @Data
@@ -25,6 +27,18 @@ public class CarrierAccountRespVO {
@ExcelProperty("创建时间") @ExcelProperty("创建时间")
private LocalDateTime createTime; 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") @Schema(description = "状态", example = "2")
@ExcelProperty("状态") @ExcelProperty("状态")
private String status; private String status;
@@ -85,12 +99,59 @@ public class CarrierAccountRespVO {
@ExcelProperty("是否长期") @ExcelProperty("是否长期")
private Integer isPermanently; private Integer isPermanently;
@Schema(description = "开户行", example = "15940") @Schema(description = "银行账号", example = "15940")
@ExcelProperty("开户行") @ExcelProperty("银行账号")
private String bankAccount; private String bankAccount;
@Schema(description = "登记机关") @Schema(description = "登记机关")
@ExcelProperty("登记机关") @ExcelProperty("登记机关")
private String registrationAgency; private String registrationAgency;
/**
* 主数据编码
*/
@Schema(description = "主数据编码")
@ExcelProperty("主数据编码")
private String mdmCode;
/**
* 用户类型
*/
@Schema(description = "用户类型")
@ExcelProperty("用户类型")
private String userType;
/**
* 开户行名称
*/
@Schema(description = "开户行名称")
@ExcelProperty("开户行名称")
private String bankName;
/**
* 绑定部门id
*/
@Schema(description = "绑定部门id")
private Long bidDeptId;
/**
* sap编码
*/
@Schema(description = "sap编码")
@ExcelProperty("sap编码")
private Long sapCode;
@Schema(description = "营业执照附件")
private BusinessFileWithUrlRespDTO businessLicenseFile;
@Schema(description = "法人身份证-正面")
private BusinessFileWithUrlRespDTO identityFrontFile;
@Schema(description = "法人身份证-反面")
private BusinessFileWithUrlRespDTO identityBackFile;
@Schema(description = "修改说明附件")
private BusinessFileWithUrlRespDTO editFile;
@Schema(description = "其他附件")
private List<BusinessFileWithUrlRespDTO> otherFile;
} }

View File

@@ -1,43 +1,39 @@
package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo; 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 io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotEmpty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
@Schema(description = "管理后台 - 物流服务商协同账号新增/修改 Request VO") @Schema(description = "管理后台 - 物流服务商协同账号新增/修改 Request VO")
@Data @Data
public class CarrierAccountSaveReqVO { public class CarrierAccountSaveReqVO {
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9531") @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED)
private Long id; private Long id;
@Schema(description = "备注") @Schema(description = "备注")
private String remark; private String remark;
@Schema(description = "状态", example = "2") @Schema(description = "登录账号")
private String status;
@Schema(description = "是否启用")
private String isEnable;
@Schema(description = "登录账号", example = "27315")
private String loginAccount; private String loginAccount;
@Schema(description = "登录手机号", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "登录手机号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "登录手机号不能为空") @NotEmpty(message = "登录手机号不能为空")
private String loginTel; private String loginTel;
@Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") @Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "公司名称不能为空") @NotEmpty(message = "公司名称不能为空")
private String name; private String name;
@Schema(description = "社会统一信用代码") @Schema(description = "社会统一信用代码")
private String creditCode; private String creditCode;
@Schema(description = "法人姓名", example = "王五") @Schema(description = "法人姓名")
private String agentName; private String agentName;
@Schema(description = "法人身份证") @Schema(description = "法人身份证")
@@ -64,10 +60,47 @@ public class CarrierAccountSaveReqVO {
@Schema(description = "是否长期") @Schema(description = "是否长期")
private Integer isPermanently; private Integer isPermanently;
@Schema(description = "开户行", example = "15940") @Schema(description = "银行账号")
private String bankAccount; private String bankAccount;
@Schema(description = "登记机关") @Schema(description = "登记机关")
private String registrationAgency; private String registrationAgency;
@Schema(description = "营业执照附件")
private BusinessFileSaveReqDTO businessLicenseFile;
@Schema(description = "法人身份证-正面")
private BusinessFileSaveReqDTO identityFrontFile;
@Schema(description = "法人身份证-反面")
private BusinessFileSaveReqDTO identityBackFile;
@Schema(description = "修改说明附件")
private BusinessFileSaveReqDTO editFile;
@Schema(description = "其他附件")
private List<BusinessFileSaveReqDTO> otherFile;
/**
* 主数据编码
*/
@Schema(description = "主数据编码")
private String mdmCode;
/**
* 用户类型
*/
@Schema(description = "用户类型")
private String userType;
/**
* 开户行名称
*/
@Schema(description = "开户行名称")
private String bankName;
/**
* 绑定部门id
*/
@Schema(description = "绑定部门id")
private Long bidDeptId;
} }

View File

@@ -0,0 +1,19 @@
package 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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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<BusinessFileWithUrlRespDTO> fileList;
}

View File

@@ -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;
}

View File

@@ -1,10 +1,11 @@
package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo; 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 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 org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; 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 = "是否启用") @Schema(description = "是否启用")
private String isEnable; private String isEnable;
/**
* 用户类型
*/
@Schema(description = "用户类型")
@ExcelProperty("用户类型")
private String userType;
} }

View File

@@ -1,11 +1,13 @@
package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo; 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 io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.Data;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*; import java.util.List;
@Schema(description = "管理后台 - 客商协同账号 Response VO") @Schema(description = "管理后台 - 客商协同账号 Response VO")
@Data @Data
@@ -24,6 +26,18 @@ public class CustomerRespVO {
@ExcelProperty("创建时间") @ExcelProperty("创建时间")
private LocalDateTime createTime; 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") @Schema(description = "登录账号", example = "6036")
@ExcelProperty("登录账号") @ExcelProperty("登录账号")
private String loginAccount; private String loginAccount;
@@ -76,4 +90,28 @@ public class CustomerRespVO {
@ExcelProperty("是否启用") @ExcelProperty("是否启用")
private String isEnable; private String isEnable;
/**
* 绑定部门id
*/
@Schema(description = "绑定部门id")
private Long bidDeptId;
@Schema(description = "营业执照附件")
private BusinessFileWithUrlRespDTO businessLicenseFile;
@Schema(description = "法人身份证-正面")
private BusinessFileWithUrlRespDTO identityFrontFile;
@Schema(description = "法人身份证-反面")
private BusinessFileWithUrlRespDTO identityBackFile;
@Schema(description = "其他附件")
private List<BusinessFileWithUrlRespDTO> otherFile;
/**
* 用户类型
*/
@Schema(description = "用户类型")
@ExcelProperty("用户类型")
private String userType;
} }

View File

@@ -1,35 +1,38 @@
package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo; 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 io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import jakarta.validation.constraints.NotEmpty;
import java.util.*; import lombok.Data;
import jakarta.validation.constraints.*;
import java.util.List;
@Schema(description = "管理后台 - 客商协同账号新增/修改 Request VO") @Schema(description = "管理后台 - 客商协同账号新增/修改 Request VO")
@Data @Data
public class CustomerSaveReqVO { public class CustomerSaveReqVO {
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8593") @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED)
private Long id; private Long id;
@Schema(description = "备注") @Schema(description = "备注")
private String remark; private String remark;
@Schema(description = "登录账号", example = "6036") @Schema(description = "登录账号")
private String loginAccount; private String loginAccount;
@Schema(description = "登录手机号", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "登录手机号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "登录手机号不能为空") @NotEmpty(message = "登录手机号不能为空")
private String loginTel; private String loginTel;
@Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") @Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "公司名称不能为空") @NotEmpty(message = "公司名称不能为空")
private String name; private String name;
@Schema(description = "社会统一信用代码") @Schema(description = "社会统一信用代码")
private String creditCode; private String creditCode;
@Schema(description = "法人姓名", example = "王五") @Schema(description = "法人姓名")
private String agentName; private String agentName;
@Schema(description = "法人身份证") @Schema(description = "法人身份证")
@@ -47,13 +50,29 @@ public class CustomerSaveReqVO {
@Schema(description = "MDM编码") @Schema(description = "MDM编码")
private String mDMCode; private String mDMCode;
@Schema(description = "是否有附件") @Schema(description = "营业执照附件")
private String isFile; private BusinessFileSaveReqDTO businessLicenseFile;
@Schema(description = "状态", example = "2") @Schema(description = "法人身份证-正面")
private String status; private BusinessFileSaveReqDTO identityFrontFile;
@Schema(description = "是否启用") @Schema(description = "法人身份证-反面")
private String isEnable; private BusinessFileSaveReqDTO identityBackFile;
@Schema(description = "其他附件")
private List<BusinessFileSaveReqDTO> otherFile;
/**
* 绑定部门id
*/
@Schema(description = "绑定部门id")
private Long bidDeptId;
/**
* 用户类型
*/
@Schema(description = "用户类型")
@ExcelProperty("用户类型")
private String userType;
} }

View File

@@ -0,0 +1,15 @@
package 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<Long> ids;
@Schema(description = "是否启用 0=启用 1=禁用")
private String isEnable;
}

View File

@@ -1,11 +1,13 @@
package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo; 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.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
@Schema(description = "管理后台 - 司机协同账号 Response VO") @Schema(description = "管理后台 - 司机协同账号 Response VO")
@Data @Data
@@ -24,6 +26,18 @@ public class DrivingAccountRespVO {
@ExcelProperty("创建时间") @ExcelProperty("创建时间")
private LocalDateTime createTime; 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") @Schema(description = "状态", example = "1")
@ExcelProperty("状态") @ExcelProperty("状态")
private String status; private String status;
@@ -76,9 +90,19 @@ public class DrivingAccountRespVO {
@ExcelProperty("准驾车型") @ExcelProperty("准驾车型")
private String drivingType; 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 = "档案编码") @Schema(description = "档案编码")
@ExcelProperty("档案编码") @ExcelProperty("档案编码")
@@ -92,4 +116,31 @@ public class DrivingAccountRespVO {
@ExcelProperty("来源") @ExcelProperty("来源")
private String origin; private String origin;
/**
* 绑定部门id
*/
@Schema(description = "绑定部门id")
private Long bidDeptId;
@Schema(description = "驾驶证图片-正面")
private BusinessFileWithUrlRespDTO drivingFrontFile;
@Schema(description = "驾驶证图片-反面")
private BusinessFileWithUrlRespDTO drivingBackFile;
@Schema(description = "身份证-正面")
private BusinessFileWithUrlRespDTO identityFrontFile;
@Schema(description = "身份证-反面")
private BusinessFileWithUrlRespDTO identityBackFile;
@Schema(description = "其他资格证附件")
private List<BusinessFileWithUrlRespDTO> otherFile;
/**
* 认证状态
*/
@Schema(description = "认证状态")
private String validationStatus;
} }

View File

@@ -1,35 +1,31 @@
package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo; 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 io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotEmpty;
import lombok.Data; import lombok.Data;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
@Schema(description = "管理后台 - 司机协同账号新增/修改 Request VO") @Schema(description = "管理后台 - 司机协同账号新增/修改 Request VO")
@Data @Data
public class DrivingAccountSaveReqVO { public class DrivingAccountSaveReqVO {
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8522") @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED)
private Long id; private Long id;
@Schema(description = "备注") @Schema(description = "备注")
private String remark; private String remark;
@Schema(description = "状态", example = "1") @Schema(description = "登录账号")
private String status;
@Schema(description = "是否启用")
private String isEnable;
@Schema(description = "登录账号", example = "27536")
private String loginAccount; private String loginAccount;
@Schema(description = "登录手机号", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "登录手机号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "登录手机号不能为空") @NotEmpty(message = "登录手机号不能为空")
private String loginTel; private String loginTel;
@Schema(description = "姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @Schema(description = "姓名", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "姓名不能为空") @NotEmpty(message = "姓名不能为空")
private String name; private String name;
@@ -54,11 +50,21 @@ public class DrivingAccountSaveReqVO {
@Schema(description = "驾驶证是否长期") @Schema(description = "驾驶证是否长期")
private Integer isPermanentlyDriving; private Integer isPermanentlyDriving;
@Schema(description = "准驾车型", example = "2") @Schema(description = "准驾车型")
private String drivingType; 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 = "档案编码") @Schema(description = "档案编码")
private String documentNo; private String documentNo;
@@ -66,7 +72,28 @@ public class DrivingAccountSaveReqVO {
@Schema(description = "从业资格证号") @Schema(description = "从业资格证号")
private String majorQualificationNo; private String majorQualificationNo;
@Schema(description = "驾驶证图片-正面")
private BusinessFileSaveReqDTO drivingFrontFile;
@Schema(description = "驾驶证图片-反面")
private BusinessFileSaveReqDTO drivingBackFile;
@Schema(description = "身份证-正面")
private BusinessFileSaveReqDTO identityFrontFile;
@Schema(description = "身份证-反面")
private BusinessFileSaveReqDTO identityBackFile;
@Schema(description = "其他资格证附件")
private List<BusinessFileSaveReqDTO> otherFile;
/**
* 绑定部门id
*/
@Schema(description = "绑定部门id")
private Long bidDeptId;
/**
* 来源
*/
@Schema(description = "来源") @Schema(description = "来源")
private String origin; private String origin;
} }

View File

@@ -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;
}

View File

@@ -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<CarArchiveRespVO> createCarArchive(@Valid @RequestBody CarArchiveSaveReqVO createReqVO) {
return success(carArchiveService.createCarArchive(createReqVO));
}
@PostMapping("/update")
@Operation(summary = "更新车辆档案")
@PreAuthorize("@ss.hasPermission('lgst:car-archive:update')")
public CommonResult<Boolean> updateCarArchive(@Valid @RequestBody CarArchiveSaveReqVO updateReqVO) {
carArchiveService.updateCarArchive(updateReqVO);
return success(true);
}
@PostMapping("/delete")
@Operation(summary = "删除车辆档案")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('lgst:car-archive:delete')")
public CommonResult<Boolean> deleteCarArchive(@RequestParam("id") Long id) {
carArchiveService.deleteCarArchive(id);
return success(true);
}
@PostMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除车辆档案")
@PreAuthorize("@ss.hasPermission('lgst:car-archive:delete')")
public CommonResult<Boolean> deleteCarArchiveList(@RequestBody BatchDeleteReqVO req) {
carArchiveService.deleteCarArchiveListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得车辆档案")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:car-archive:query')")
public CommonResult<CarArchiveRespVO> getCarArchive(@RequestParam("id") Long id) {
CarArchiveRespVO vo = carArchiveService.getCarArchive(id);
return success(vo);
}
@GetMapping("/getByCarNumber")
@Operation(summary = "获得车辆档案")
@Parameters({
@Parameter(name = "carNumber", description = "车牌号", required = true, example = "1024"),
@Parameter(name = "carNumberColor", description = "车牌颜色", required = true, example = "2048")
})
@PreAuthorize("@ss.hasPermission('lgst:car-archive:query')")
public CommonResult<CarArchiveRespVO> getByCarNumber(@RequestParam("carNumber") String carNumber,@RequestParam("carNumberColor") String carNumberColor) {
CarArchiveRespVO vo = carArchiveService.getByCarNumber(carNumber,carNumberColor);
return success(vo);
}
@PostMapping("/page")
@Operation(summary = "获得车辆档案分页")
@PreAuthorize("@ss.hasPermission('lgst:car-archive:query')")
public CommonResult<PageResult<CarArchiveRespVO>> getCarArchivePage(@Valid @RequestBody CarArchivePageReqVO pageReqVO) {
PageResult<CarArchiveDO> pageResult = carArchiveService.getCarArchivePage(pageReqVO);
return success(BeanUtils.toBean(pageResult, CarArchiveRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出车辆档案 Excel")
@PreAuthorize("@ss.hasPermission('lgst:car-archive:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportCarArchiveExcel(@Valid CarArchivePageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<CarArchiveDO> list = carArchiveService.getCarArchivePage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "车辆档案.xls", "数据", CarArchiveRespVO.class,
BeanUtils.toBean(list, CarArchiveRespVO.class));
}
@PostMapping("/import-excel")
@Operation(summary = "导入车辆档案 Excel")
@PreAuthorize("@ss.hasPermission('lgst:car-archive:import')")
@ApiAccessLog(operateType = IMPORT)
public CommonResult<Boolean> exportCarArchiveExcel(@RequestParam("file") MultipartFile file,
HttpServletResponse response) throws IOException {
List<CarArchiveImportExcelVO> read = ExcelUtils.read(file, CarArchiveImportExcelVO.class);
for (CarArchiveImportExcelVO reqVO : read) {
CarArchiveSaveReqVO saveVo = BeanUtils.toBean(reqVO, CarArchiveSaveReqVO.class);
this.createCarArchive(saveVo);
}
return success(true);
}
}

View File

@@ -0,0 +1,115 @@
package 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<CarBlacklistRespVO> createCarBlacklist(@Valid @RequestBody CarBlacklistSaveReqVO createReqVO) {
return success(carBlacklistService.createCarBlacklist(createReqVO));
}
@PostMapping("/update")
@Operation(summary = "更新车辆黑名单")
@PreAuthorize("@ss.hasPermission('lgst:car-blacklist:update')")
public CommonResult<Boolean> updateCarBlacklist(@Valid @RequestBody CarBlacklistSaveReqVO updateReqVO) {
carBlacklistService.updateCarBlacklist(updateReqVO);
return success(true);
}
@PostMapping("/lifted")
@Operation(summary = "解除车辆黑名单")
@PreAuthorize("@ss.hasPermission('lgst:car-blacklist:lifted')")
public CommonResult<Boolean> liftedCarBlacklist(@Valid @RequestBody CarBlacklistSaveReqVO updateReqVO) {
carBlacklistService.liftedCarBlacklist(updateReqVO);
return success(true);
}
@PostMapping("/delete")
@Operation(summary = "删除车辆黑名单")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('lgst:car-blacklist:delete')")
public CommonResult<Boolean> deleteCarBlacklist(@RequestParam("id") Long id) {
carBlacklistService.deleteCarBlacklist(id);
return success(true);
}
@PostMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除车辆黑名单")
@PreAuthorize("@ss.hasPermission('lgst:car-blacklist:delete')")
public CommonResult<Boolean> deleteCarBlacklistList(@RequestBody BatchDeleteReqVO req) {
carBlacklistService.deleteCarBlacklistListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得车辆黑名单")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:car-blacklist:query')")
public CommonResult<CarBlacklistRespVO> getCarBlacklist(@RequestParam("id") Long id) {
CarBlacklistDO carBlacklist = carBlacklistService.getCarBlacklist(id);
return success(BeanUtils.toBean(carBlacklist, CarBlacklistRespVO.class));
}
@PostMapping("/page")
@Operation(summary = "获得车辆黑名单分页")
@PreAuthorize("@ss.hasPermission('lgst:car-blacklist:query')")
public CommonResult<PageResult<CarBlacklistRespVO>> getCarBlacklistPage(@Valid @RequestBody CarBlacklistPageReqVO pageReqVO) {
PageResult<CarBlacklistDO> pageResult = carBlacklistService.getCarBlacklistPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, CarBlacklistRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出车辆黑名单 Excel")
@PreAuthorize("@ss.hasPermission('lgst:car-blacklist:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportCarBlacklistExcel(@Valid CarBlacklistPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<CarBlacklistDO> list = carBlacklistService.getCarBlacklistPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "车辆黑名单.xls", "数据", CarBlacklistRespVO.class,
BeanUtils.toBean(list, CarBlacklistRespVO.class));
}
}

View File

@@ -0,0 +1,132 @@
package 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<Boolean> createCarArchive(@Valid @RequestBody CarArchiveSaveReqVO createReqVO) {
collaborationCarArchiveService.createCarArchive(createReqVO);
return success(true);
}
@PostMapping("/update")
@Operation(summary = "更新车辆档案")
@PreAuthorize("@ss.hasPermission('lgst:collaboration-car-archive:update')")
public CommonResult<Boolean> updateCarArchive(@Valid @RequestBody CarArchiveSaveReqVO updateReqVO) {
collaborationCarArchiveService.updateCarArchive(updateReqVO);
return success(true);
}
@PostMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除车辆档案")
@PreAuthorize("@ss.hasPermission('lgst:collaboration-car-archive:delete')")
public CommonResult<Boolean> deleteCarArchiveList(@RequestBody BatchDeleteReqVO req) {
collaborationCarArchiveService.deleteCarArchiveListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得车辆档案")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:collaboration-car-archive:query')")
public CommonResult<CarArchiveRespVO> getCarArchive(@RequestParam("id") Long id) {
CarArchiveRespVO vo = collaborationCarArchiveService.getCarArchive(id);
return success(vo);
}
@GetMapping("/getByCarNumber")
@Operation(summary = "获得车辆档案")
@Parameters({
@Parameter(name = "carNumber", description = "车牌号", required = true, example = "1024"),
@Parameter(name = "carNumberColor", description = "车牌颜色", required = true, example = "2048")
})
@PreAuthorize("@ss.hasPermission('lgst:collaboration-car-archive:query')")
public CommonResult<CarArchiveRespVO> getByCarNumber(@RequestParam("carNumber") String carNumber,@RequestParam("carNumberColor") String carNumberColor) {
CarArchiveRespVO vo = collaborationCarArchiveService.getByCarNumber(carNumber,carNumberColor);
return success(vo);
}
@PostMapping("/page")
@Operation(summary = "获得车辆档案分页")
@PreAuthorize("@ss.hasPermission('lgst:ollaboration-car-archive:query')")
public CommonResult<PageResult<CollaborationCarArchiveRespVO>> getCarArchivePage(@Valid @RequestBody CollaborationCarArchivePageReqVO pageReqVO) {
PageResult<CollaborationCarArchiveRespVO> pageResult = collaborationCarArchiveService.getCarArchivePage(pageReqVO);
return success(BeanUtils.toBean(pageResult, CollaborationCarArchiveRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出车辆档案 Excel")
@PreAuthorize("@ss.hasPermission('lgst:collaboration-car-archive:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportCarArchiveExcel(@Valid CollaborationCarArchivePageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<CollaborationCarArchiveRespVO> list = collaborationCarArchiveService.getCarArchivePage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "车辆档案.xls", "数据", CollaborationCarArchiveRespVO.class,
BeanUtils.toBean(list, CollaborationCarArchiveRespVO.class));
}
@PostMapping("/import-excel")
@Operation(summary = "导入车辆档案 Excel")
@PreAuthorize("@ss.hasPermission('lgst:collaboration-car-archive:import')")
@ApiAccessLog(operateType = IMPORT)
public CommonResult<Boolean> exportCarArchiveExcel(@RequestParam("file") MultipartFile file,
HttpServletResponse response) throws IOException {
List<CarArchiveImportExcelVO> read = ExcelUtils.read(file, CarArchiveImportExcelVO.class);
for (CarArchiveImportExcelVO reqVO : read) {
CarArchiveSaveReqVO saveVo = BeanUtils.toBean(reqVO, CarArchiveSaveReqVO.class);
this.createCarArchive(saveVo);
}
return success(true);
}
}

View File

@@ -0,0 +1,95 @@
package 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;
}

View File

@@ -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;
}

View File

@@ -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<BusinessFileWithUrlRespDTO> carLicenseFrontFile;
@Schema(description = "行驶证-副页")
private List<BusinessFileWithUrlRespDTO> carLicenseBackFile;
@Schema(description = "随车清单附件")
private List<BusinessFileWithUrlRespDTO> carChecklistFile;
@Schema(description = "车辆照片附件")
private List<BusinessFileWithUrlRespDTO> carPhotosFile;
@Schema(description = "车辆保险信息附件")
private List<BusinessFileWithUrlRespDTO> carInsuranceFile;
@Schema(description = "创建人", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建人")
private String creatorName;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "修改人", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("修改人")
private String updaterName;
@Schema(description = "修改时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("修改时间")
private LocalDateTime updateTime;
}

View File

@@ -0,0 +1,108 @@
package 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<BusinessFileSaveReqDTO> carLicenseFrontFile;
@Schema(description = "行驶证-副页")
private List<BusinessFileSaveReqDTO> carLicenseBackFile;
@Schema(description = "随车清单附件")
private List<BusinessFileSaveReqDTO> carChecklistFile;
@Schema(description = "车辆照片附件")
private List<BusinessFileSaveReqDTO> carPhotosFile;
@Schema(description = "车辆保险信息附件")
private List<BusinessFileSaveReqDTO> carInsuranceFile;
}

View File

@@ -0,0 +1,32 @@
package 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;
}

View File

@@ -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;
}

View File

@@ -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<Long> ids;
@Schema(description = "车辆档案ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16157")
@NotNull(message = "车辆档案ID不能为空")
private Long carId;
@Schema(description = "操作原因")
private String operationCause;
@Schema(description = "解除原因")
private String processingCause;
@Schema(description = "处理状态", example = "1")
private String status;
}

View File

@@ -0,0 +1,16 @@
package 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;
}

View File

@@ -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;
}

View File

@@ -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<EnvironmentalIntoMainRespVO> createEnvironmentalIntoMain(@Valid @RequestBody EnvironmentalIntoMainSaveReqVO createReqVO) {
return success(environmentalIntoMainService.createEnvironmentalIntoMain(createReqVO));
}
@PostMapping("/update")
@Operation(summary = "更新环保进场管理主")
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-main:update')")
public CommonResult<Boolean> updateEnvironmentalIntoMain(@Valid @RequestBody EnvironmentalIntoMainSaveReqVO updateReqVO) {
environmentalIntoMainService.updateEnvironmentalIntoMain(updateReqVO);
return success(true);
}
@PostMapping("/delete")
@Operation(summary = "删除环保进场管理主")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-main:delete')")
public CommonResult<Boolean> deleteEnvironmentalIntoMain(@RequestParam("id") Long id) {
environmentalIntoMainService.deleteEnvironmentalIntoMain(id);
return success(true);
}
@PostMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除环保进场管理主")
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-main:delete')")
public CommonResult<Boolean> deleteEnvironmentalIntoMainList(@RequestBody BatchDeleteReqVO req) {
environmentalIntoMainService.deleteEnvironmentalIntoMainListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得环保进场管理主")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-main:query')")
public CommonResult<EnvironmentalIntoMainRespVO> getEnvironmentalIntoMain(@RequestParam("id") Long id) {
EnvironmentalIntoMainDO environmentalIntoMain = environmentalIntoMainService.getEnvironmentalIntoMain(id);
return success(BeanUtils.toBean(environmentalIntoMain, EnvironmentalIntoMainRespVO.class));
}
@PostMapping("/page")
@Operation(summary = "获得环保进场管理主分页")
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-main:query')")
public CommonResult<PageResult<EnvironmentalIntoMainRespVO>> getEnvironmentalIntoMainPage(@Valid @RequestBody EnvironmentalIntoMainPageReqVO pageReqVO) {
PageResult<EnvironmentalIntoMainDO> pageResult = environmentalIntoMainService.getEnvironmentalIntoMainPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, EnvironmentalIntoMainRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出环保进场管理主 Excel")
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-main:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportEnvironmentalIntoMainExcel(@Valid EnvironmentalIntoMainPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<EnvironmentalIntoMainDO> list = environmentalIntoMainService.getEnvironmentalIntoMainPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "环保进场管理主.xls", "数据", EnvironmentalIntoMainRespVO.class,
BeanUtils.toBean(list, EnvironmentalIntoMainRespVO.class));
}
@PostMapping("/setEnable")
@Operation(summary = "启用/禁用")
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-main:setEnable')")
public CommonResult<Boolean> setEnable(@RequestBody EnvironmentalIntoMainEditEnbVo vo){
environmentalIntoMainService.setEnable(vo);
return success(true);
}
}

View File

@@ -0,0 +1,106 @@
package 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<List<EnvironmentalIntoSubitemRespVO>> createEnvironmentalIntoSubitem(@Valid @RequestBody List<EnvironmentalIntoSubitemSaveReqVO> createReqVOs) {
return success(environmentalIntoSubitemService.createEnvironmentalIntoSubitem(createReqVOs));
}
@PostMapping("/update")
@Operation(summary = "更新环保进场管理子")
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-subitem:update')")
public CommonResult<Boolean> updateEnvironmentalIntoSubitem(@Valid @RequestBody EnvironmentalIntoSubitemSaveReqVO updateReqVO) {
environmentalIntoSubitemService.updateEnvironmentalIntoSubitem(updateReqVO);
return success(true);
}
@PostMapping("/delete")
@Operation(summary = "删除环保进场管理子")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-subitem:delete')")
public CommonResult<Boolean> deleteEnvironmentalIntoSubitem(@RequestParam("id") Long id) {
environmentalIntoSubitemService.deleteEnvironmentalIntoSubitem(id);
return success(true);
}
@PostMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除环保进场管理子")
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-subitem:delete')")
public CommonResult<Boolean> deleteEnvironmentalIntoSubitemList(@RequestBody BatchDeleteReqVO req) {
environmentalIntoSubitemService.deleteEnvironmentalIntoSubitemListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得环保进场管理子")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-subitem:query')")
public CommonResult<EnvironmentalIntoSubitemRespVO> getEnvironmentalIntoSubitem(@RequestParam("id") Long id) {
EnvironmentalIntoSubitemDO environmentalIntoSubitem = environmentalIntoSubitemService.getEnvironmentalIntoSubitem(id);
return success(BeanUtils.toBean(environmentalIntoSubitem, EnvironmentalIntoSubitemRespVO.class));
}
@PostMapping("/page")
@Operation(summary = "获得环保进场管理子分页")
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-subitem:query')")
public CommonResult<PageResult<EnvironmentalIntoSubitemRespVO>> getEnvironmentalIntoSubitemPage(@Valid @RequestBody EnvironmentalIntoSubitemPageReqVO pageReqVO) {
PageResult<EnvironmentalIntoSubitemDO> pageResult = environmentalIntoSubitemService.getEnvironmentalIntoSubitemPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, EnvironmentalIntoSubitemRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出环保进场管理子 Excel")
@PreAuthorize("@ss.hasPermission('lgst:environmental-into-subitem:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportEnvironmentalIntoSubitemExcel(@Valid EnvironmentalIntoSubitemPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<EnvironmentalIntoSubitemDO> list = environmentalIntoSubitemService.getEnvironmentalIntoSubitemPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "环保进场管理子.xls", "数据", EnvironmentalIntoSubitemRespVO.class,
BeanUtils.toBean(list, EnvironmentalIntoSubitemRespVO.class));
}
}

View File

@@ -0,0 +1,17 @@
package 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<Long> ids;
@Schema(description = "是否启用 1=启用 0=禁用")
private String isEnable;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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<EnvironmentalIntoSubitemSaveReqVO> items;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -1,26 +1,25 @@
package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl; 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 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.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils; 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; 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 = "管理后台 - 物料分类") @Tag(name = "管理后台 - 物料分类")
@RestController @RestController
@RequestMapping("/lgst/mtrl-cls") @RequestMapping("/lgst/mtrl-classes")
@Validated @Validated
public class MtrlClsController implements BusinessControllerMarker { public class ClassesController implements BusinessControllerMarker {
@Resource @Resource
private MtrlClsService mtrlClsService; private ClassesService classesService;
@PostMapping("/list") @PostMapping("/list")
@Operation(summary = "获得物料分类列表") @Operation(summary = "获得物料分类列表")
@PreAuthorize("@ss.hasPermission('lgst:mtrl-cls:query')") @PreAuthorize("@ss.hasPermission('lgst:mtrl-classes:query')")
public CommonResult<List<MtrlClsRespVO>> getMtrlClsList(@Valid @RequestBody MtrlClsListReqVO listReqVO) { public CommonResult<List<ClassesRespVO>> getClassesList(@Valid @RequestBody ClassesPageReqVO listReqVO) {
List<MtrlClsDO> list = mtrlClsService.getMtrlClsList(listReqVO); List<ClassesDO> list = classesService.getClassesList(listReqVO);
return success(BeanUtils.toBean(list, MtrlClsRespVO.class)); return success(BeanUtils.toBean(list, ClassesRespVO.class));
} }

View File

@@ -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<Boolean> updateMaterialExpand(@Valid @RequestBody List<MaterialExpandSaveReqVO> updateReqVOs) {
materialExpandService.updateMaterialExpand(updateReqVOs);
return success(true);
}
@PostMapping("/page")
@Operation(summary = "获得物资信息分页")
@PreAuthorize("@ss.hasPermission('lgst:material-expand:query')")
public CommonResult<PageResult<MaterialExpandRespVO>> getMaterialExpandPage(@Valid @RequestBody MaterialExpandPageReqVO pageReqVO) {
PageResult<MaterialExpandRespVO> pageResult = materialExpandService.getMaterialExpandPage(pageReqVO);
return success(pageResult);
}
@PostMapping("/list")
@Operation(summary = "获得物资信息")
@PreAuthorize("@ss.hasPermission('lgst:material-expand:query')")
public CommonResult<List<MaterialExpandRespVO>> getMaterialExpandList(@Valid @RequestBody MaterialExpandPageReqVO pageReqVO) {
List<MaterialExpandRespVO> materialExpandList = materialExpandService.getMaterialExpandList(pageReqVO);
return success(materialExpandList);
}
}

View File

@@ -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<Boolean> updateMtrlXpd(@Valid @RequestBody List<MtrlXpdSaveReqVO> updateReqVOs) {
mtrlXpdService.updateMtrlXpd(updateReqVOs);
return success(true);
}
@PostMapping("/page")
@Operation(summary = "获得物资信息分页")
@PreAuthorize("@ss.hasPermission('lgst:mtrl-xpd:query')")
public CommonResult<PageResult<MtrlXpdRespVO>> getMtrlXpdPage(@Valid @RequestBody MtrlXpdPageReqVO pageReqVO) {
PageResult<MtrlXpdRespVO> pageResult = mtrlXpdService.getMtrlXpdPage(pageReqVO);
return success(pageResult);
}
}

View File

@@ -4,22 +4,22 @@ import lombok.*;
import java.util.*; import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageParam;
import java.time.LocalDateTime;
import org.springframework.format.annotation.DateTimeFormat; 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; 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 @Data
public class MtrlClsListReqVO { public class ClassesPageReqVO extends PageParam {
@Schema(description = "父级ID", example = "26586") @Schema(description = "父级ID", example = "15066")
private Long parentId; private Long parentId;
@Schema(description = "分类编码") @Schema(description = "分类编码")
private String code; private String code;
@Schema(description = "分类名称", example = "赵六") @Schema(description = "分类名称", example = "芋艿")
private String name; private String name;
@Schema(description = "分类级别-用于类别层级(大/中/小类)") @Schema(description = "分类级别-用于类别层级(大/中/小类)")
@@ -32,4 +32,4 @@ public class MtrlClsListReqVO {
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime; private LocalDateTime[] createTime;
} }

View File

@@ -1,5 +1,4 @@
package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo; package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
@@ -10,13 +9,13 @@ import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 物料分类 Response VO") @Schema(description = "管理后台 - 物料分类 Response VO")
@Data @Data
@ExcelIgnoreUnannotated @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") @ExcelProperty("主键ID")
private Long id; private Long id;
@Schema(description = "父级ID", example = "26586") @Schema(description = "父级ID", example = "15066")
@ExcelProperty("父级ID") @ExcelProperty("父级ID")
private Long parentId; private Long parentId;
@@ -24,7 +23,7 @@ public class MtrlClsRespVO {
@ExcelProperty("分类编码") @ExcelProperty("分类编码")
private String code; private String code;
@Schema(description = "分类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") @Schema(description = "分类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
@ExcelProperty("分类名称") @ExcelProperty("分类名称")
private String name; private String name;

View File

@@ -7,19 +7,19 @@ import jakarta.validation.constraints.*;
@Schema(description = "管理后台 - 物料分类新增/修改 Request VO") @Schema(description = "管理后台 - 物料分类新增/修改 Request VO")
@Data @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; private Long id;
@Schema(description = "父级ID", example = "26586") @Schema(description = "父级ID", example = "15066")
private Long parentId; private Long parentId;
@Schema(description = "分类编码", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "分类编码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "分类编码不能为空") @NotEmpty(message = "分类编码不能为空")
private String code; private String code;
@Schema(description = "分类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") @Schema(description = "分类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
@NotEmpty(message = "分类名称不能为空") @NotEmpty(message = "分类名称不能为空")
private String name; private String name;

View File

@@ -1,25 +1,27 @@
package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo; 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 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 org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime; 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; 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 @Data
public class MtrlXpdPageReqVO extends PageParam { public class MaterialExpandPageReqVO extends PageParam {
@Schema(description = "创建时间") @Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime; private LocalDateTime[] createTime;
@Schema(description = "排除某些物资ID的sql语句", hidden = true, example = "后端用需要加AND")
private String excludeSql;
@Schema(description = "物资ID", example = "10845") @Schema(description = "物资ID", example = "10845")
private Long materialId; private Long materialId;
@@ -52,7 +54,12 @@ public class MtrlXpdPageReqVO extends PageParam {
@Schema(description = "取样节点") @Schema(description = "取样节点")
private String samplingNode; private String samplingNode;
@Schema(description = "公司id")
private Long companyId;
@Schema(description = "部门id") @Schema(description = "部门id")
private Long deptId; private Long deptId;
private List<Long> classesIds;
} }

View File

@@ -2,21 +2,13 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogisti
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; 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 java.time.LocalDateTime;
import com.alibaba.excel.annotation.*; import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 物资信息扩展 Response VO") @Schema(description = "管理后台 - 物资信息扩展 Response VO")
@Data @Data
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
public class MtrlXpdRespVO{ public class MaterialExpandRespVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13011") @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13011")
@ExcelProperty("ID") @ExcelProperty("ID")
@@ -59,20 +51,18 @@ public class MtrlXpdRespVO{
private String bigTypeName; private String bigTypeName;
@Schema(description = "中类代码") @Schema(description = "中类代码")
@ExcelProperty("中类代码") private String middleTypeCode;
private String midTypeCode;
@Schema(description = "中类名称", example = "芋艿") @Schema(description = "中类名称", example = "赵六")
@ExcelProperty("中类名称") private String middleTypeName;
private String midTypeName;
@Schema(description = "小类代码") @Schema(description = "小类代码")
@ExcelProperty("小类代码") @ExcelProperty("小类代码")
private String smalTypeCode; private String smallTypeCode;
@Schema(description = "小类名称", example = "王五") @Schema(description = "小类名称", example = "李四")
@ExcelProperty("小类名称") @ExcelProperty("小类名称")
private String smalTypeName; private String smallTypeName;
@Schema(description = "质检标志") @Schema(description = "质检标志")
@ExcelProperty("质检标志") @ExcelProperty("质检标志")
@@ -86,4 +76,6 @@ public class MtrlXpdRespVO{
@ExcelProperty("取样节点") @ExcelProperty("取样节点")
private String samplingNode; private String samplingNode;
private Long classesId;
} }

View File

@@ -7,12 +7,12 @@ import jakarta.validation.constraints.*;
@Schema(description = "管理后台 - 物资信息扩展新增/修改 Request VO") @Schema(description = "管理后台 - 物资信息扩展新增/修改 Request VO")
@Data @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; private Long id;
@Schema(description = "物资ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10845") @Schema(description = "物资ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "28700")
@NotNull(message = "物资ID不能为空") @NotNull(message = "物资ID不能为空")
private Long materialId; private Long materialId;
@@ -25,6 +25,4 @@ public class MtrlXpdSaveReqVO {
@Schema(description = "取样节点") @Schema(description = "取样节点")
private String samplingNode; private String samplingNode;
} }

View File

@@ -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<DrivingAccountRespVO> getByIdentityNumber(@RequestParam("identityNumber") String identityNumber) {
DrivingAccountDO drivingAccountDO = drivingAccountMapper.selectFirstOne(DrivingAccountDO::getIdentityNumber, identityNumber);
return success(BeanUtils.toBean(drivingAccountDO, DrivingAccountRespVO.class));
}
@PostMapping("/create")
@Operation(summary = "创建我的司机")
@PreAuthorize("@ss.hasPermission('lgst:my-driver:create')")
public CommonResult<MyDriverRespVO> createMyDriver(@Valid @RequestBody MyDriverSaveReqVO createReqVO) {
return success(myDriverService.createMyDriver(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新我的司机")
@PreAuthorize("@ss.hasPermission('lgst:my-driver:update')")
public CommonResult<Boolean> updateMyDriver(@Valid @RequestBody MyDriverSaveReqVO updateReqVO) {
myDriverService.updateMyDriver(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除我的司机")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('lgst:my-driver:delete')")
public CommonResult<Boolean> deleteMyDriver(@RequestParam("id") Long id) {
myDriverService.deleteMyDriver(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除我的司机")
@PreAuthorize("@ss.hasPermission('lgst:my-driver:delete')")
public CommonResult<Boolean> deleteMyDriverList(@RequestBody BatchDeleteReqVO req) {
myDriverService.deleteMyDriverListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得我的司机")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:my-driver:query')")
public CommonResult<MyDriverRespVO> getMyDriver(@RequestParam("id") Long id) {
return success(myDriverService.getMyDriver(id));
}
@PostMapping("/page")
@Operation(summary = "获得我的司机分页")
@PreAuthorize("@ss.hasPermission('lgst:my-driver:query')")
public CommonResult<PageResult<MyDriverRespVO>> getMyDriverPage(@Valid @RequestBody MyDriverPageReqVO pageReqVO) {
return success(myDriverService.getMyDriverPage(pageReqVO));
}
@PostMapping("/export-excel")
@Operation(summary = "导出我的司机 Excel")
@PreAuthorize("@ss.hasPermission('lgst:my-driver:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportMyDriverExcel(@Valid @RequestBody MyDriverPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<MyDriverRespVO> list = myDriverService.getMyDriverPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "协同我的司机.xls", "数据", MyDriverRespVO.class,
BeanUtils.toBean(list, MyDriverRespVO.class));
}
@PostMapping("/import-excel")
@Operation(summary = "导入我的司机 Excel")
@PreAuthorize("@ss.hasPermission('lgst:my-driver:import')")
@ApiAccessLog(operateType = IMPORT)
public CommonResult<Boolean> exportCarArchiveExcel(@RequestParam("file") MultipartFile file,
HttpServletResponse response) throws IOException {
List<MyDriverImportExcelVO> read = ExcelUtils.read(file, MyDriverImportExcelVO.class);
for (MyDriverImportExcelVO reqVO : read) {
MyDriverSaveReqVO saveVo = BeanUtils.toBean(reqVO, MyDriverSaveReqVO.class);
this.createMyDriver(saveVo);
}
return success(true);
}
}

View File

@@ -0,0 +1,56 @@
package 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;
}

View File

@@ -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;
}

View File

@@ -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<BusinessFileWithUrlRespDTO> otherFile;
/**
* 认证状态
*/
@Schema(description = "认证状态")
private String validationStatus;
}

View File

@@ -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;
}

View File

@@ -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<MyWrhRespVO> createMyWrh(@Valid @RequestBody MyWrhSaveReqVO createReqVO) {
return success(myWrhService.createMyWrh(createReqVO));
}
// @PutMapping("/update")
// @Operation(summary = "更新协同我的仓库")
// @PreAuthorize("@ss.hasPermission('lgst:my-wrh:update')")
// public CommonResult<Boolean> updateMyWrh(@Valid @RequestBody MyWrhSaveReqVO updateReqVO) {
// myWrhService.updateMyWrh(updateReqVO);
// return success(true);
// }
// @DeleteMapping("/delete")
// @Operation(summary = "删除协同我的仓库")
// @Parameter(name = "id", description = "编号", required = true)
// @PreAuthorize("@ss.hasPermission('lgst:my-wrh:delete')")
// public CommonResult<Boolean> deleteMyWrh(@RequestParam("id") Long id) {
// myWrhService.deleteMyWrh(id);
// return success(true);
// }
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "解除关联")
@PreAuthorize("@ss.hasPermission('lgst:my-wrh:delete')")
public CommonResult<Boolean> deleteMyWrhList(@RequestBody BatchDeleteReqVO req) {
myWrhService.deleteMyWrhListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得协同我的仓库")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:my-wrh:query')")
public CommonResult<MyWrhRespVO> getMyWrh(@RequestParam("id") Long id) {
MyWrhRespVO myWrh = myWrhService.getMyWrh(id);
return success(myWrh);
}
@PostMapping("/page")
@Operation(summary = "获得协同我的仓库分页")
@PreAuthorize("@ss.hasPermission('lgst:my-wrh:query')")
public CommonResult<PageResult<MyWrhRespVO>> getMyWrhPage(@Valid @RequestBody MyWrhPageReqVO pageReqVO) {
PageResult<MyWrhRespVO> pageResult = myWrhService.getMyWrhPage(pageReqVO);
return success(pageResult);
}
// @GetMapping("/export-excel")
// @Operation(summary = "导出协同我的仓库 Excel")
// @PreAuthorize("@ss.hasPermission('lgst:my-wrh:export')")
// @ApiAccessLog(operateType = EXPORT)
// public void exportMyWrhExcel(@Valid MyWrhPageReqVO pageReqVO,
// HttpServletResponse response) throws IOException {
// pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
// List<MyWrhDO> list = myWrhService.getMyWrhPage(pageReqVO).getList();
// // 导出 Excel
// ExcelUtils.write(response, "协同我的仓库.xls", "数据", MyWrhRespVO.class,
// BeanUtils.toBean(list, MyWrhRespVO.class));
// }
}

View File

@@ -0,0 +1,25 @@
package 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;
}

View File

@@ -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;
}

View File

@@ -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 {
}

View File

@@ -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.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.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.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.dataobject.bseMngt.plceAchi.AuncelConfigDO;
import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi.AuncelConfigService; import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi.AuncelConfigService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@@ -49,7 +50,7 @@ public class AuncelConfigController implements BusinessControllerMarker {
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新计量点配置") @Operation(summary = "更新计量点配置")
@PreAuthorize("@ss.hasPermission('lgst:auncel-config:update')") @PreAuthorize("@ss.hasPermission('lgst:auncel-config:update')")
public CommonResult<Boolean> updateAuncelConfig(@Valid @RequestBody AuncelConfigSaveReqVO updateReqVO) { public CommonResult<Boolean> updateAuncelConfig(@Valid @RequestBody AuncelConfigUpdateReqVO updateReqVO) {
auncelConfigService.updateAuncelConfig(updateReqVO); auncelConfigService.updateAuncelConfig(updateReqVO);
return success(true); return success(true);
} }
@@ -81,19 +82,19 @@ public class AuncelConfigController implements BusinessControllerMarker {
return success(BeanUtils.toBean(auncelConfig, AuncelConfigRespVO.class)); return success(BeanUtils.toBean(auncelConfig, AuncelConfigRespVO.class));
} }
@GetMapping("/page") @PostMapping("/page")
@Operation(summary = "获得计量点配置分页") @Operation(summary = "获得计量点配置分页")
@PreAuthorize("@ss.hasPermission('lgst:auncel-config:query')") @PreAuthorize("@ss.hasPermission('lgst:auncel-config:query')")
public CommonResult<PageResult<AuncelConfigRespVO>> getAuncelConfigPage(@Valid AuncelConfigPageReqVO pageReqVO) { public CommonResult<PageResult<AuncelConfigRespVO>> getAuncelConfigPage(@Valid @RequestBody AuncelConfigPageReqVO pageReqVO) {
PageResult<AuncelConfigDO> pageResult = auncelConfigService.getAuncelConfigPage(pageReqVO); PageResult<AuncelConfigDO> pageResult = auncelConfigService.getAuncelConfigPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, AuncelConfigRespVO.class)); return success(BeanUtils.toBean(pageResult, AuncelConfigRespVO.class));
} }
@GetMapping("/export-excel") @PostMapping("/export-excel")
@Operation(summary = "导出计量点配置 Excel") @Operation(summary = "导出计量点配置 Excel")
@PreAuthorize("@ss.hasPermission('lgst:auncel-config:export')") @PreAuthorize("@ss.hasPermission('lgst:auncel-config:export')")
@ApiAccessLog(operateType = EXPORT) @ApiAccessLog(operateType = EXPORT)
public void exportAuncelConfigExcel(@Valid AuncelConfigPageReqVO pageReqVO, public void exportAuncelConfigExcel(@Valid @RequestBody AuncelConfigPageReqVO pageReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<AuncelConfigDO> list = auncelConfigService.getAuncelConfigPage(pageReqVO).getList(); List<AuncelConfigDO> list = auncelConfigService.getAuncelConfigPage(pageReqVO).getList();

View File

@@ -1,7 +1,6 @@
package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi; 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.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.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult; 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.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.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.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.dataobject.bseMngt.plceAchi.ConsigneeAddressDO;
import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi.ConsigneeAddressService; import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi.ConsigneeAddressService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@@ -33,7 +33,7 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@RestController @RestController
@RequestMapping("/lgst/consignee-address") @RequestMapping("/lgst/consignee-address")
@Validated @Validated
public class ConsigneeAddressController implements BusinessControllerMarker { public class ConsigneeAddressController {
@Resource @Resource
@@ -49,7 +49,7 @@ public class ConsigneeAddressController implements BusinessControllerMarker {
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新客户收货地址") @Operation(summary = "更新客户收货地址")
@PreAuthorize("@ss.hasPermission('lgst:consignee-address:update')") @PreAuthorize("@ss.hasPermission('lgst:consignee-address:update')")
public CommonResult<Boolean> updateConsigneeAddress(@Valid @RequestBody ConsigneeAddressSaveReqVO updateReqVO) { public CommonResult<Boolean> updateConsigneeAddress(@Valid @RequestBody ConsigneeAddressUpdateReqVO updateReqVO) {
consigneeAddressService.updateConsigneeAddress(updateReqVO); consigneeAddressService.updateConsigneeAddress(updateReqVO);
return success(true); return success(true);
} }
@@ -81,19 +81,19 @@ public class ConsigneeAddressController implements BusinessControllerMarker {
return success(BeanUtils.toBean(consigneeAddress, ConsigneeAddressRespVO.class)); return success(BeanUtils.toBean(consigneeAddress, ConsigneeAddressRespVO.class));
} }
@GetMapping("/page") @PostMapping("/page")
@Operation(summary = "获得客户收货地址分页") @Operation(summary = "获得客户收货地址分页")
@PreAuthorize("@ss.hasPermission('lgst:consignee-address:query')") @PreAuthorize("@ss.hasPermission('lgst:consignee-address:query')")
public CommonResult<PageResult<ConsigneeAddressRespVO>> getConsigneeAddressPage(@Valid ConsigneeAddressPageReqVO pageReqVO) { public CommonResult<PageResult<ConsigneeAddressRespVO>> getConsigneeAddressPage(@Valid @RequestBody ConsigneeAddressPageReqVO pageReqVO) {
PageResult<ConsigneeAddressDO> pageResult = consigneeAddressService.getConsigneeAddressPage(pageReqVO); PageResult<ConsigneeAddressDO> pageResult = consigneeAddressService.getConsigneeAddressPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, ConsigneeAddressRespVO.class)); return success(BeanUtils.toBean(pageResult, ConsigneeAddressRespVO.class));
} }
@GetMapping("/export-excel") @PostMapping("/export-excel")
@Operation(summary = "导出客户收货地址 Excel") @Operation(summary = "导出客户收货地址 Excel")
@PreAuthorize("@ss.hasPermission('lgst:consignee-address:export')") @PreAuthorize("@ss.hasPermission('lgst:consignee-address:export')")
@ApiAccessLog(operateType = EXPORT) @ApiAccessLog(operateType = EXPORT)
public void exportConsigneeAddressExcel(@Valid ConsigneeAddressPageReqVO pageReqVO, public void exportConsigneeAddressExcel(@Valid @RequestBody ConsigneeAddressPageReqVO pageReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<ConsigneeAddressDO> list = consigneeAddressService.getConsigneeAddressPage(pageReqVO).getList(); List<ConsigneeAddressDO> list = consigneeAddressService.getConsigneeAddressPage(pageReqVO).getList();

View File

@@ -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.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.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.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.dataobject.bseMngt.plceAchi.FactoryDO;
import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi.FactoryService; import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi.FactoryService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@@ -49,7 +50,7 @@ public class FactoryController implements BusinessControllerMarker {
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新生产厂区信息") @Operation(summary = "更新生产厂区信息")
@PreAuthorize("@ss.hasPermission('lgst:factory:update')") @PreAuthorize("@ss.hasPermission('lgst:factory:update')")
public CommonResult<Boolean> updateFactory(@Valid @RequestBody FactorySaveReqVO updateReqVO) { public CommonResult<Boolean> updateFactory(@Valid @RequestBody FactoryUpdateReqVO updateReqVO) {
factoryService.updateFactory(updateReqVO); factoryService.updateFactory(updateReqVO);
return success(true); return success(true);
} }
@@ -81,19 +82,19 @@ public class FactoryController implements BusinessControllerMarker {
return success(BeanUtils.toBean(factory, FactoryRespVO.class)); return success(BeanUtils.toBean(factory, FactoryRespVO.class));
} }
@GetMapping("/page") @PostMapping("/page")
@Operation(summary = "获得生产厂区信息分页") @Operation(summary = "获得生产厂区信息分页")
@PreAuthorize("@ss.hasPermission('lgst:factory:query')") @PreAuthorize("@ss.hasPermission('lgst:factory:query')")
public CommonResult<PageResult<FactoryRespVO>> getFactoryPage(@Valid FactoryPageReqVO pageReqVO) { public CommonResult<PageResult<FactoryRespVO>> getFactoryPage(@Valid @RequestBody FactoryPageReqVO pageReqVO) {
PageResult<FactoryDO> pageResult = factoryService.getFactoryPage(pageReqVO); PageResult<FactoryDO> pageResult = factoryService.getFactoryPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, FactoryRespVO.class)); return success(BeanUtils.toBean(pageResult, FactoryRespVO.class));
} }
@GetMapping("/export-excel") @PostMapping("/export-excel")
@Operation(summary = "导出生产厂区信息 Excel") @Operation(summary = "导出生产厂区信息 Excel")
@PreAuthorize("@ss.hasPermission('lgst:factory:export')") @PreAuthorize("@ss.hasPermission('lgst:factory:export')")
@ApiAccessLog(operateType = EXPORT) @ApiAccessLog(operateType = EXPORT)
public void exportFactoryExcel(@Valid FactoryPageReqVO pageReqVO, public void exportFactoryExcel(@Valid @RequestBody FactoryPageReqVO pageReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<FactoryDO> list = factoryService.getFactoryPage(pageReqVO).getList(); List<FactoryDO> list = factoryService.getFactoryPage(pageReqVO).getList();

View File

@@ -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<ForeignAreaRespVO> createForeignArea(@Valid @RequestBody ForeignAreaSaveReqVO createReqVO) {
return success(foreignAreaService.createForeignArea(createReqVO));
}
//
// @PutMapping("/update")
// @Operation(summary = "更新国外区域")
// @PreAuthorize("@ss.hasPermission('lgst:foreign-area:update')")
// public CommonResult<Boolean> updateForeignArea(@Valid @RequestBody ForeignAreaSaveReqVO updateReqVO) {
// foreignAreaService.updateForeignArea(updateReqVO);
// return success(true);
// }
//
// @DeleteMapping("/delete")
// @Operation(summary = "删除国外区域")
// @Parameter(name = "id", description = "编号", required = true)
// @PreAuthorize("@ss.hasPermission('lgst:foreign-area:delete')")
// public CommonResult<Boolean> deleteForeignArea(@RequestParam("id") Long id) {
// foreignAreaService.deleteForeignArea(id);
// return success(true);
// }
//
// @DeleteMapping("/delete-list")
// @Parameter(name = "ids", description = "编号", required = true)
// @Operation(summary = "批量删除国外区域")
// @PreAuthorize("@ss.hasPermission('lgst:foreign-area:delete')")
// public CommonResult<Boolean> deleteForeignAreaList(@RequestBody BatchDeleteReqVO req) {
// foreignAreaService.deleteForeignAreaListByIds(req.getIds());
// return success(true);
// }
//
// @GetMapping("/get")
// @Operation(summary = "获得国外区域")
// @Parameter(name = "id", description = "编号", required = true, example = "1024")
// @PreAuthorize("@ss.hasPermission('lgst:foreign-area:query')")
// public CommonResult<ForeignAreaRespVO> getForeignArea(@RequestParam("id") Long id) {
// ForeignAreaDO foreignArea = foreignAreaService.getForeignArea(id);
// return success(BeanUtils.toBean(foreignArea, ForeignAreaRespVO.class));
// }
//
// @GetMapping("/page")
// @Operation(summary = "获得国外区域分页")
// @PreAuthorize("@ss.hasPermission('lgst:foreign-area:query')")
// public CommonResult<PageResult<ForeignAreaRespVO>> getForeignAreaPage(@Valid ForeignAreaPageReqVO pageReqVO) {
// PageResult<ForeignAreaDO> pageResult = foreignAreaService.getForeignAreaPage(pageReqVO);
// return success(BeanUtils.toBean(pageResult, ForeignAreaRespVO.class));
// }
//
// @GetMapping("/export-excel")
// @Operation(summary = "导出国外区域 Excel")
// @PreAuthorize("@ss.hasPermission('lgst:foreign-area:export')")
// @ApiAccessLog(operateType = EXPORT)
// public void exportForeignAreaExcel(@Valid ForeignAreaPageReqVO pageReqVO,
// HttpServletResponse response) throws IOException {
// pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
// List<ForeignAreaDO> list = foreignAreaService.getForeignAreaPage(pageReqVO).getList();
// // 导出 Excel
// ExcelUtils.write(response, "国外区域.xls", "数据", ForeignAreaRespVO.class,
// BeanUtils.toBean(list, ForeignAreaRespVO.class));
// }
@GetMapping("/get")
@Operation(summary = "获得境外区域下拉")
@Parameter(name = "name", description = "快速匹配第一级名称用", required = false, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:foreign-area:query')")
public CommonResult<List<ForeignAreaVO>> getForeignArea(@RequestParam(value = "name", required = false) String name) {
return success(foreignAreaService.getForeignAreaDropdown(name));
}
}

View File

@@ -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.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.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.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.dataobject.bseMngt.plceAchi.GateConfigDO;
import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi.GateConfigService; import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi.GateConfigService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@@ -49,7 +50,7 @@ public class GateConfigController implements BusinessControllerMarker {
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新门岗信息") @Operation(summary = "更新门岗信息")
@PreAuthorize("@ss.hasPermission('lgst:gate-config:update')") @PreAuthorize("@ss.hasPermission('lgst:gate-config:update')")
public CommonResult<Boolean> updateGateConfig(@Valid @RequestBody GateConfigSaveReqVO updateReqVO) { public CommonResult<Boolean> updateGateConfig(@Valid @RequestBody GateConfigUpdateReqVO updateReqVO) {
gateConfigService.updateGateConfig(updateReqVO); gateConfigService.updateGateConfig(updateReqVO);
return success(true); return success(true);
} }
@@ -81,19 +82,19 @@ public class GateConfigController implements BusinessControllerMarker {
return success(BeanUtils.toBean(gateConfig, GateConfigRespVO.class)); return success(BeanUtils.toBean(gateConfig, GateConfigRespVO.class));
} }
@GetMapping("/page") @PostMapping("/page")
@Operation(summary = "获得门岗信息分页") @Operation(summary = "获得门岗信息分页")
@PreAuthorize("@ss.hasPermission('lgst:gate-config:query')") @PreAuthorize("@ss.hasPermission('lgst:gate-config:query')")
public CommonResult<PageResult<GateConfigRespVO>> getGateConfigPage(@Valid GateConfigPageReqVO pageReqVO) { public CommonResult<PageResult<GateConfigRespVO>> getGateConfigPage(@Valid @RequestBody GateConfigPageReqVO pageReqVO) {
PageResult<GateConfigDO> pageResult = gateConfigService.getGateConfigPage(pageReqVO); PageResult<GateConfigDO> pageResult = gateConfigService.getGateConfigPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, GateConfigRespVO.class)); return success(BeanUtils.toBean(pageResult, GateConfigRespVO.class));
} }
@GetMapping("/export-excel") @PostMapping("/export-excel")
@Operation(summary = "导出门岗信息 Excel") @Operation(summary = "导出门岗信息 Excel")
@PreAuthorize("@ss.hasPermission('lgst:gate-config:export')") @PreAuthorize("@ss.hasPermission('lgst:gate-config:export')")
@ApiAccessLog(operateType = EXPORT) @ApiAccessLog(operateType = EXPORT)
public void exportGateConfigExcel(@Valid GateConfigPageReqVO pageReqVO, public void exportGateConfigExcel(@Valid @RequestBody GateConfigPageReqVO pageReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<GateConfigDO> list = gateConfigService.getGateConfigPage(pageReqVO).getList(); List<GateConfigDO> list = gateConfigService.getGateConfigPage(pageReqVO).getList();

View File

@@ -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<List<FactoryTreeRespVO>> queryFactoryTree() {
List<FactoryTreeRespVO> list = geofenceService.queryFactoryTree();
return success(list);
}
@PostMapping("/create")
@Operation(summary = "创建电子围栏")
@PreAuthorize("@ss.hasPermission('lgst:geofence:create')")
public CommonResult<GeofenceRespVO> createGeofence(@Valid @RequestBody GeofenceSaveReqVO createReqVO) {
return success(geofenceService.createGeofence(createReqVO));
}
// @PutMapping("/update")
// @Operation(summary = "更新电子围栏")
// @PreAuthorize("@ss.hasPermission('lgst:geofence:update')")
// public CommonResult<Boolean> updateGeofence(@Valid @RequestBody GeofenceSaveReqVO updateReqVO) {
// geofenceService.updateGeofence(updateReqVO);
// return success(true);
// }
@DeleteMapping("/delete")
@Operation(summary = "删除电子围栏")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('lgst:geofence:delete')")
public CommonResult<Boolean> deleteGeofence(@RequestParam("id") Long id) {
geofenceService.deleteGeofence(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除电子围栏")
@PreAuthorize("@ss.hasPermission('lgst:geofence:delete')")
public CommonResult<Boolean> deleteGeofenceList(@RequestBody BatchDeleteReqVO req) {
geofenceService.deleteGeofenceListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得电子围栏")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('lgst:geofence:query')")
public CommonResult<GeofenceRespVO> getGeofence(@RequestParam("id") Long id) {
GeofenceDO geofence = geofenceService.getGeofence(id);
return success(BeanUtils.toBean(geofence, GeofenceRespVO.class));
}
@PostMapping("/page")
@Operation(summary = "获得电子围栏分页")
@PreAuthorize("@ss.hasPermission('lgst:geofence:query')")
public CommonResult<PageResult<GeofenceRespVO>> getGeofencePage(@Valid @RequestBody GeofencePageReqVO pageReqVO) {
PageResult<GeofenceDO> pageResult = geofenceService.getGeofencePage(pageReqVO);
return success(BeanUtils.toBean(pageResult, GeofenceRespVO.class));
}
@PostMapping("/export-excel")
@Operation(summary = "导出电子围栏 Excel")
@PreAuthorize("@ss.hasPermission('lgst:geofence:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportGeofenceExcel(@Valid @RequestBody GeofencePageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<GeofenceDO> list = geofenceService.getGeofencePage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "电子围栏.xls", "数据", GeofenceRespVO.class,
BeanUtils.toBean(list, GeofenceRespVO.class));
}
}

View File

@@ -1,13 +1,15 @@
package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi; 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.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.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO; import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; 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.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.PlaceArchiveMaterialRespVO;
import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo.PlaceArchiveMaterialSaveReqVO; 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 java.util.List;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; 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.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.VISIT_COMPANY_ID_NOT_EXISTS;
@Tag(name = "管理后台 - 地点档案物料信息") @Tag(name = "管理后台 - 地点档案物料信息")
@RestController @RestController
@RequestMapping("/lgst/place-archive-material") @RequestMapping("/lgst/place-archive-material")
@Validated @Validated
public class PlaceArchiveMaterialController implements BusinessControllerMarker { public class PlaceArchiveMaterialController {
@Resource @Resource
private PlaceArchiveMaterialService placeArchiveMaterialService; private PlaceArchiveMaterialService placeArchiveMaterialService;
private Long validateIsExistCompanyId(){
Long loginUserCompanyId = SecurityFrameworkUtils.getLoginUserCompanyId();
if(loginUserCompanyId==null){
throw exception(VISIT_COMPANY_ID_NOT_EXISTS);
}
return loginUserCompanyId;
}
@PostMapping("/getMaterialExpandPage")
@Operation(summary = "获得主数据物资信息分页")
@PreAuthorize("@ss.hasPermission('lgst:place-archive-material:queryMaterialExpandPage')")
public CommonResult<PageResult<MaterialExpandRespVO>> getMaterialExpandPage(@Valid @RequestBody MainMaterialRespVO pageReqVO) {
PageResult<MaterialExpandRespVO> pageResult = placeArchiveMaterialService.getMaterialExpandPage(pageReqVO);
return success(pageResult);
}
@PostMapping("/getMaterialExpandList")
@Operation(summary = "获得主数据物资信息分页")
@PreAuthorize("@ss.hasPermission('lgst:place-archive-material:queryMaterialExpandPage')")
public CommonResult<List<MaterialExpandRespVO>> getMaterialExpandList(@Valid @RequestBody MainMaterialRespVO pageReqVO) {
List<MaterialExpandRespVO> list = placeArchiveMaterialService.getMaterialExpandList(pageReqVO);
return success(list);
}
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建地点档案物料信息") @Operation(summary = "创建地点档案物料信息")
@PreAuthorize("@ss.hasPermission('lgst:place-archive-material:create')") @PreAuthorize("@ss.hasPermission('lgst:place-archive-material:create')")
public CommonResult<PlaceArchiveMaterialRespVO> createPlaceArchiveMaterial(@Valid @RequestBody PlaceArchiveMaterialSaveReqVO createReqVO) { public CommonResult<Boolean> createPlaceArchiveMaterial(@Valid @RequestBody List<PlaceArchiveMaterialSaveReqVO> createReqVO) {
return success(placeArchiveMaterialService.createPlaceArchiveMaterial(createReqVO)); placeArchiveMaterialService.createPlaceArchiveMaterial(createReqVO);
}
@PutMapping("/update")
@Operation(summary = "更新地点档案物料信息")
@PreAuthorize("@ss.hasPermission('lgst:place-archive-material:update')")
public CommonResult<Boolean> updatePlaceArchiveMaterial(@Valid @RequestBody PlaceArchiveMaterialSaveReqVO updateReqVO) {
placeArchiveMaterialService.updatePlaceArchiveMaterial(updateReqVO);
return success(true); return success(true);
} }
// @PutMapping("/update")
// @Operation(summary = "更新地点档案物料信息")
// @PreAuthorize("@ss.hasPermission('lgst:place-archive-material:update')")
// public CommonResult<Boolean> updatePlaceArchiveMaterial(@Valid @RequestBody PlaceArchiveMaterialSaveReqVO updateReqVO) {
// placeArchiveMaterialService.updatePlaceArchiveMaterial(updateReqVO);
// return success(true);
// }
@DeleteMapping("/delete") @DeleteMapping("/delete")
@Operation(summary = "删除地点档案物料信息") @Operation(summary = "删除地点档案物料信息")
@Parameter(name = "id", description = "编号", required = true) @Parameter(name = "id", description = "编号", required = true)
@@ -81,19 +111,19 @@ public class PlaceArchiveMaterialController implements BusinessControllerMarker
return success(BeanUtils.toBean(placeArchiveMaterial, PlaceArchiveMaterialRespVO.class)); return success(BeanUtils.toBean(placeArchiveMaterial, PlaceArchiveMaterialRespVO.class));
} }
@GetMapping("/page") @PostMapping("/page")
@Operation(summary = "获得地点档案物料信息分页") @Operation(summary = "获得地点档案物料信息分页")
@PreAuthorize("@ss.hasPermission('lgst:place-archive-material:query')") @PreAuthorize("@ss.hasPermission('lgst:place-archive-material:query')")
public CommonResult<PageResult<PlaceArchiveMaterialRespVO>> getPlaceArchiveMaterialPage(@Valid PlaceArchiveMaterialPageReqVO pageReqVO) { public CommonResult<PageResult<PlaceArchiveMaterialRespVO>> getPlaceArchiveMaterialPage(@Valid @RequestBody PlaceArchiveMaterialPageReqVO pageReqVO) {
PageResult<PlaceArchiveMaterialDO> pageResult = placeArchiveMaterialService.getPlaceArchiveMaterialPage(pageReqVO); PageResult<PlaceArchiveMaterialDO> pageResult = placeArchiveMaterialService.getPlaceArchiveMaterialPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, PlaceArchiveMaterialRespVO.class)); return success(BeanUtils.toBean(pageResult, PlaceArchiveMaterialRespVO.class));
} }
@GetMapping("/export-excel") @PostMapping("/export-excel")
@Operation(summary = "导出地点档案物料信息 Excel") @Operation(summary = "导出地点档案物料信息 Excel")
@PreAuthorize("@ss.hasPermission('lgst:place-archive-material:export')") @PreAuthorize("@ss.hasPermission('lgst:place-archive-material:export')")
@ApiAccessLog(operateType = EXPORT) @ApiAccessLog(operateType = EXPORT)
public void exportPlaceArchiveMaterialExcel(@Valid PlaceArchiveMaterialPageReqVO pageReqVO, public void exportPlaceArchiveMaterialExcel(@Valid @RequestBody PlaceArchiveMaterialPageReqVO pageReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<PlaceArchiveMaterialDO> list = placeArchiveMaterialService.getPlaceArchiveMaterialPage(pageReqVO).getList(); List<PlaceArchiveMaterialDO> list = placeArchiveMaterialService.getPlaceArchiveMaterialPage(pageReqVO).getList();

View File

@@ -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.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.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.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.dataobject.bseMngt.plceAchi.PortDO;
import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi.PortService; import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi.PortService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@@ -49,7 +50,7 @@ public class PortController implements BusinessControllerMarker {
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新港口信息") @Operation(summary = "更新港口信息")
@PreAuthorize("@ss.hasPermission('lgst:port:update')") @PreAuthorize("@ss.hasPermission('lgst:port:update')")
public CommonResult<Boolean> updatePort(@Valid @RequestBody PortSaveReqVO updateReqVO) { public CommonResult<Boolean> updatePort(@Valid @RequestBody PortUpdateReqVO updateReqVO) {
portService.updatePort(updateReqVO); portService.updatePort(updateReqVO);
return success(true); return success(true);
} }
@@ -81,19 +82,19 @@ public class PortController implements BusinessControllerMarker {
return success(BeanUtils.toBean(port, PortRespVO.class)); return success(BeanUtils.toBean(port, PortRespVO.class));
} }
@GetMapping("/page") @PostMapping("/page")
@Operation(summary = "获得港口信息分页") @Operation(summary = "获得港口信息分页")
@PreAuthorize("@ss.hasPermission('lgst:port:query')") @PreAuthorize("@ss.hasPermission('lgst:port:query')")
public CommonResult<PageResult<PortRespVO>> getPortPage(@Valid PortPageReqVO pageReqVO) { public CommonResult<PageResult<PortRespVO>> getPortPage(@Valid @RequestBody PortPageReqVO pageReqVO) {
PageResult<PortDO> pageResult = portService.getPortPage(pageReqVO); PageResult<PortDO> pageResult = portService.getPortPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, PortRespVO.class)); return success(BeanUtils.toBean(pageResult, PortRespVO.class));
} }
@GetMapping("/export-excel") @PostMapping("/export-excel")
@Operation(summary = "导出港口信息 Excel") @Operation(summary = "导出港口信息 Excel")
@PreAuthorize("@ss.hasPermission('lgst:port:export')") @PreAuthorize("@ss.hasPermission('lgst:port:export')")
@ApiAccessLog(operateType = EXPORT) @ApiAccessLog(operateType = EXPORT)
public void exportPortExcel(@Valid PortPageReqVO pageReqVO, public void exportPortExcel(@Valid @RequestBody PortPageReqVO pageReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<PortDO> list = portService.getPortPage(pageReqVO).getList(); List<PortDO> list = portService.getPortPage(pageReqVO).getList();

View File

@@ -1,7 +1,6 @@
package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi; 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.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.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult; 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.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.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.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.dataobject.bseMngt.plceAchi.RailwayStationDO;
import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi.RailwayStationService; import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.plceAchi.RailwayStationService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@@ -33,7 +33,7 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@RestController @RestController
@RequestMapping("/lgst/railway-station") @RequestMapping("/lgst/railway-station")
@Validated @Validated
public class RailwayStationController implements BusinessControllerMarker { public class RailwayStationController {
@Resource @Resource
@@ -49,7 +49,7 @@ public class RailwayStationController implements BusinessControllerMarker {
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新铁路站点维护") @Operation(summary = "更新铁路站点维护")
@PreAuthorize("@ss.hasPermission('lgst:railway-station:update')") @PreAuthorize("@ss.hasPermission('lgst:railway-station:update')")
public CommonResult<Boolean> updateRailwayStation(@Valid @RequestBody RailwayStationSaveReqVO updateReqVO) { public CommonResult<Boolean> updateRailwayStation(@Valid @RequestBody RailwayStationUpdateReqVO updateReqVO) {
railwayStationService.updateRailwayStation(updateReqVO); railwayStationService.updateRailwayStation(updateReqVO);
return success(true); return success(true);
} }
@@ -81,19 +81,19 @@ public class RailwayStationController implements BusinessControllerMarker {
return success(BeanUtils.toBean(railwayStation, RailwayStationRespVO.class)); return success(BeanUtils.toBean(railwayStation, RailwayStationRespVO.class));
} }
@GetMapping("/page") @PostMapping("/page")
@Operation(summary = "获得铁路站点维护分页") @Operation(summary = "获得铁路站点维护分页")
@PreAuthorize("@ss.hasPermission('lgst:railway-station:query')") @PreAuthorize("@ss.hasPermission('lgst:railway-station:query')")
public CommonResult<PageResult<RailwayStationRespVO>> getRailwayStationPage(@Valid RailwayStationPageReqVO pageReqVO) { public CommonResult<PageResult<RailwayStationRespVO>> getRailwayStationPage(@Valid @RequestBody RailwayStationPageReqVO pageReqVO) {
PageResult<RailwayStationDO> pageResult = railwayStationService.getRailwayStationPage(pageReqVO); PageResult<RailwayStationDO> pageResult = railwayStationService.getRailwayStationPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, RailwayStationRespVO.class)); return success(BeanUtils.toBean(pageResult, RailwayStationRespVO.class));
} }
@GetMapping("/export-excel") @PostMapping("/export-excel")
@Operation(summary = "导出铁路站点维护 Excel") @Operation(summary = "导出铁路站点维护 Excel")
@PreAuthorize("@ss.hasPermission('lgst:railway-station:export')") @PreAuthorize("@ss.hasPermission('lgst:railway-station:export')")
@ApiAccessLog(operateType = EXPORT) @ApiAccessLog(operateType = EXPORT)
public void exportRailwayStationExcel(@Valid RailwayStationPageReqVO pageReqVO, public void exportRailwayStationExcel(@Valid @RequestBody RailwayStationPageReqVO pageReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<RailwayStationDO> list = railwayStationService.getRailwayStationPage(pageReqVO).getList(); List<RailwayStationDO> list = railwayStationService.getRailwayStationPage(pageReqVO).getList();

View File

@@ -1,7 +1,6 @@
package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi; 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.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.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult; 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.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.annotation.security.PermitAll;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
@@ -35,7 +33,7 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@RestController @RestController
@RequestMapping("/lgst/warehouse") @RequestMapping("/lgst/warehouse")
@Validated @Validated
public class WarehouseController implements BusinessControllerMarker { public class WarehouseController {
@Resource @Resource
@@ -43,16 +41,14 @@ public class WarehouseController implements BusinessControllerMarker {
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建仓库信息") @Operation(summary = "创建仓库信息")
@PermitAll @PreAuthorize("@ss.hasPermission('lgst:warehouse:create')")
// @PreAuthorize("@ss.hasPermission('lgst:warehouse:create')")
public CommonResult<WarehouseRespVO> createWarehouse(@Valid @RequestBody WarehouseSaveReqVO createReqVO) { public CommonResult<WarehouseRespVO> createWarehouse(@Valid @RequestBody WarehouseSaveReqVO createReqVO) {
return success(warehouseService.createWarehouse(createReqVO)); return success(warehouseService.createWarehouse(createReqVO));
} }
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新仓库信息") @Operation(summary = "更新仓库信息")
@PermitAll @PreAuthorize("@ss.hasPermission('lgst:warehouse:update')")
// @PreAuthorize("@ss.hasPermission('lgst:warehouse:update')")
public CommonResult<Boolean> updateWarehouse(@Valid @RequestBody WarehouseUpdateReqVO updateReqVO) { public CommonResult<Boolean> updateWarehouse(@Valid @RequestBody WarehouseUpdateReqVO updateReqVO) {
warehouseService.updateWarehouse(updateReqVO); warehouseService.updateWarehouse(updateReqVO);
return success(true); return success(true);
@@ -61,8 +57,7 @@ public class WarehouseController implements BusinessControllerMarker {
@DeleteMapping("/delete") @DeleteMapping("/delete")
@Operation(summary = "删除仓库信息") @Operation(summary = "删除仓库信息")
@Parameter(name = "id", description = "编号", required = true) @Parameter(name = "id", description = "编号", required = true)
@PermitAll @PreAuthorize("@ss.hasPermission('lgst:warehouse:delete')")
// @PreAuthorize("@ss.hasPermission('lgst:warehouse:delete')")
public CommonResult<Boolean> deleteWarehouse(@RequestParam("id") Long id) { public CommonResult<Boolean> deleteWarehouse(@RequestParam("id") Long id) {
warehouseService.deleteWarehouse(id); warehouseService.deleteWarehouse(id);
return success(true); return success(true);
@@ -71,8 +66,7 @@ public class WarehouseController implements BusinessControllerMarker {
@DeleteMapping("/delete-list") @DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true) @Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除仓库信息") @Operation(summary = "批量删除仓库信息")
@PermitAll @PreAuthorize("@ss.hasPermission('lgst:warehouse:delete')")
// @PreAuthorize("@ss.hasPermission('lgst:warehouse:delete')")
public CommonResult<Boolean> deleteWarehouseList(@RequestBody BatchDeleteReqVO req) { public CommonResult<Boolean> deleteWarehouseList(@RequestBody BatchDeleteReqVO req) {
warehouseService.deleteWarehouseListByIds(req.getIds()); warehouseService.deleteWarehouseListByIds(req.getIds());
return success(true); return success(true);
@@ -87,19 +81,19 @@ public class WarehouseController implements BusinessControllerMarker {
return success(BeanUtils.toBean(warehouse, WarehouseRespVO.class)); return success(BeanUtils.toBean(warehouse, WarehouseRespVO.class));
} }
@GetMapping("/page") @PostMapping("/page")
@Operation(summary = "获得仓库信息分页") @Operation(summary = "获得仓库信息分页")
@PreAuthorize("@ss.hasPermission('lgst:warehouse:query')") @PreAuthorize("@ss.hasPermission('lgst:warehouse:query')")
public CommonResult<PageResult<WarehouseRespVO>> getWarehousePage(@Valid WarehousePageReqVO pageReqVO) { public CommonResult<PageResult<WarehouseRespVO>> getWarehousePage(@Valid @RequestBody WarehousePageReqVO pageReqVO) {
PageResult<WarehouseDO> pageResult = warehouseService.getWarehousePage(pageReqVO); PageResult<WarehouseDO> pageResult = warehouseService.getWarehousePage(pageReqVO);
return success(BeanUtils.toBean(pageResult, WarehouseRespVO.class)); return success(BeanUtils.toBean(pageResult, WarehouseRespVO.class));
} }
@GetMapping("/export-excel") @PostMapping("/export-excel")
@Operation(summary = "导出仓库信息 Excel") @Operation(summary = "导出仓库信息 Excel")
@PreAuthorize("@ss.hasPermission('lgst:warehouse:export')") @PreAuthorize("@ss.hasPermission('lgst:warehouse:export')")
@ApiAccessLog(operateType = EXPORT) @ApiAccessLog(operateType = EXPORT)
public void exportWarehouseExcel(@Valid WarehousePageReqVO pageReqVO, public void exportWarehouseExcel(@Valid @RequestBody WarehousePageReqVO pageReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<WarehouseDO> list = warehouseService.getWarehousePage(pageReqVO).getList(); List<WarehouseDO> list = warehouseService.getWarehousePage(pageReqVO).getList();

View File

@@ -7,6 +7,8 @@ import lombok.Data;
@Schema(description = "管理后台 - 计量点配置分页 Request VO") @Schema(description = "管理后台 - 计量点配置分页 Request VO")
@Data @Data
public class AuncelConfigPageReqVO extends PageParam { public class AuncelConfigPageReqVO extends PageParam {
@Schema(description = "公司编号", hidden = true)
private Long companyId;
@Schema(description = "计量点名称", example = "张三") @Schema(description = "计量点名称", example = "张三")
private String auncelName; private String auncelName;

View File

@@ -50,11 +50,11 @@ public class AuncelConfigRespVO {
@Schema(description = "空重限制") @Schema(description = "空重限制")
@ExcelProperty("空重限制") @ExcelProperty("空重限制")
private String limit; private String limt;
@Schema(description = "计量作业系统") @Schema(description = "计量作业系统")
@ExcelProperty("计量作业系统") @ExcelProperty("计量作业系统")
private String system; private String syst;
@Schema(description = "经度") @Schema(description = "经度")
@ExcelProperty("经度") @ExcelProperty("经度")

View File

@@ -2,25 +2,21 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogisti
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
@Schema(description = "管理后台 - 计量点配置新增/修改 Request VO") @Schema(description = "管理后台 - 计量点配置新增 Request VO")
@Data @Data
public class AuncelConfigSaveReqVO { public class AuncelConfigSaveReqVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "15341") // @Schema(description = "公司编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13313")
private Long id; // @NotNull(message = "公司编号不能为空")
// private Long companyId;
@Schema(description = "公司编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13313") //
@NotNull(message = "公司编号不能为空") // @Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
private Long companyId; // @NotEmpty(message = "公司名称不能为空")
// private String companyName;
@Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
@NotEmpty(message = "公司名称不能为空")
private String companyName;
@Schema(description = "计量点名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") @Schema(description = "计量点名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
@NotEmpty(message = "计量点名称不能为空") @NotEmpty(message = "计量点名称不能为空")
@@ -36,17 +32,20 @@ public class AuncelConfigSaveReqVO {
@Schema(description = "市(区)") @Schema(description = "市(区)")
private String municipality; private String municipality;
@Schema(description = "计量点类型", example = "2") @Schema(description = "计量点类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据字典auncel_type")
@NotEmpty(message = "计量点类型不能为空")
private String auncelType; private String auncelType;
@Schema(description = "地理位置") @Schema(description = "地理位置", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据字典location")
@NotEmpty(message = "地理位置不能为空")
private String location; private String location;
@Schema(description = "空重限制") @Schema(description = "空重限制", example = "数据字典limit")
private String limit; private String limt;
@Schema(description = "计量作业系统") @Schema(description = "计量作业系统", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据字典auncel_system")
private String system; @NotEmpty(message = "计量作业系统不能为空")
private String syst;
@Schema(description = "经度") @Schema(description = "经度")
private BigDecimal longitude; private BigDecimal longitude;
@@ -54,4 +53,6 @@ public class AuncelConfigSaveReqVO {
@Schema(description = "纬度") @Schema(description = "纬度")
private BigDecimal latitude; private BigDecimal latitude;
@Schema(description = "详细地址", example = "地图选点(经纬度)的详细地址")
private String address;
} }

View File

@@ -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;
}

View File

@@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.plceAchi.vo; 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.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
@@ -36,13 +37,17 @@ public class ConsigneeAddressRespVO {
@ExcelProperty("客户名称") @ExcelProperty("客户名称")
private String customerName; private String customerName;
@Schema(description = "客户id")
@ExcelIgnore
private Long customerId;
@Schema(description = "MDM编码") @Schema(description = "MDM编码")
@ExcelProperty("MDM编码") @ExcelProperty("MDM编码")
private String mDMCoding; private String mdmcoding;
@Schema(description = "SAP编码") @Schema(description = "SAP编码")
@ExcelProperty("SAP编码") @ExcelProperty("SAP编码")
private String sAPCoding; private String sapcoding;
@Schema(description = "省(直辖市)") @Schema(description = "省(直辖市)")
@ExcelProperty("省(直辖市)") @ExcelProperty("省(直辖市)")
@@ -58,7 +63,7 @@ public class ConsigneeAddressRespVO {
@Schema(description = "首选") @Schema(description = "首选")
@ExcelProperty("首选") @ExcelProperty("首选")
private String first; private String isFirst;
@Schema(description = "经度") @Schema(description = "经度")
@ExcelProperty("经度") @ExcelProperty("经度")

View File

@@ -7,20 +7,14 @@ import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
@Schema(description = "管理后台 - 客户收货地址新增/修改 Request VO") @Schema(description = "管理后台 - 客户收货地址新增 Request VO")
@Data @Data
public class ConsigneeAddressSaveReqVO { public class ConsigneeAddressSaveReqVO {
// @Schema(description = "公司编号", hidden = true)
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "16510") // private Long companyId;
private Long id; //
// @Schema(description = "公司名称", hidden = true)
@Schema(description = "公司编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13384") // private String companyName;
@NotNull(message = "公司编号不能为空")
private Long companyId;
@Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
@NotEmpty(message = "公司名称不能为空")
private String companyName;
@Schema(description = "地点名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") @Schema(description = "地点名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
@NotEmpty(message = "地点名称不能为空") @NotEmpty(message = "地点名称不能为空")
@@ -30,26 +24,37 @@ public class ConsigneeAddressSaveReqVO {
@NotEmpty(message = "地点编码不能为空") @NotEmpty(message = "地点编码不能为空")
private String placeCoding; private String placeCoding;
@Schema(description = "客户名称", example = "芋艿") @Schema(description = "客户名称", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "客户名称不能为空")
private String customerName; private String customerName;
@Schema(description = "MDM编码") @Schema(description = "客户id", requiredMode = Schema.RequiredMode.REQUIRED)
private String mDMCoding; @NotNull(message = "客户id不能为空")
private Long customerId;
@Schema(description = "SAP编码") @Schema(description = "MDM编码", requiredMode = Schema.RequiredMode.REQUIRED)
private String sAPCoding; @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; private String state;
@Schema(description = "市(区)") @Schema(description = "市(区)", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "市(区)不能为空")
private String municipality; private String municipality;
@Schema(description = "详细地址") @Schema(description = "详细地址", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "详细地址不能为空")
private String location; private String location;
@Schema(description = "首选") @Schema(description = "是否首选", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据字典infra_boolean_string")
private String first; @NotEmpty(message = "是否首选不能为空")
private String isFirst;
@Schema(description = "经度") @Schema(description = "经度")
private BigDecimal longitude; private BigDecimal longitude;
@@ -57,4 +62,6 @@ public class ConsigneeAddressSaveReqVO {
@Schema(description = "纬度") @Schema(description = "纬度")
private BigDecimal latitude; private BigDecimal latitude;
@Schema(description = "详细地址", example = "地图选点(经纬度)的详细地址")
private String address;
} }

View File

@@ -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;
}

View File

@@ -8,6 +8,9 @@ import lombok.Data;
@Data @Data
public class FactoryPageReqVO extends PageParam { public class FactoryPageReqVO extends PageParam {
@Schema(description = "公司编号", hidden = true)
private Long companyId;
@Schema(description = "厂区名称", example = "李四") @Schema(description = "厂区名称", example = "李四")
private String factoryName; private String factoryName;

View File

@@ -2,25 +2,21 @@ package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogisti
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
@Schema(description = "管理后台 - 生产厂区信息新增/修改 Request VO") @Schema(description = "管理后台 - 生产厂区信息新增 Request VO")
@Data @Data
public class FactorySaveReqVO { public class FactorySaveReqVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "20496") // @Schema(description = "公司编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "24201")
private Long id; // @NotNull(message = "公司编号不能为空")
// private Long companyId;
@Schema(description = "公司编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "24201") //
@NotNull(message = "公司编号不能为空") // @Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
private Long companyId; // @NotEmpty(message = "公司名称不能为空")
// private String companyName;
@Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
@NotEmpty(message = "公司名称不能为空")
private String companyName;
@Schema(description = "厂区名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") @Schema(description = "厂区名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
@NotEmpty(message = "厂区名称不能为空") @NotEmpty(message = "厂区名称不能为空")
@@ -30,7 +26,8 @@ public class FactorySaveReqVO {
@NotEmpty(message = "厂区编码不能为空") @NotEmpty(message = "厂区编码不能为空")
private String factoryCoding; private String factoryCoding;
@Schema(description = "是否境外") @Schema(description = "是否境外", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据字典infra_boolean_string")
@NotEmpty(message = "是否境外不能为空")
private String isForeign; private String isForeign;
@Schema(description = "国内区域") @Schema(description = "国内区域")
@@ -45,10 +42,12 @@ public class FactorySaveReqVO {
@Schema(description = "市(区)") @Schema(description = "市(区)")
private String municipality; private String municipality;
@Schema(description = "是否开启队列") @Schema(description = "是否开启队列", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据字典infra_boolean_string")
@NotEmpty(message = "是否开启队列不能为空")
private String isQueue; private String isQueue;
@Schema(description = "排队方式") @Schema(description = "排队方式", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据字典queue_way")
@NotEmpty(message = "排队方式不能为空")
private String queueWay; private String queueWay;
@Schema(description = "经度") @Schema(description = "经度")
@@ -57,4 +56,6 @@ public class FactorySaveReqVO {
@Schema(description = "纬度") @Schema(description = "纬度")
private BigDecimal latitude; private BigDecimal latitude;
@Schema(description = "详细地址", example = "地图选点(经纬度)的详细地址")
private String address;
} }

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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<ForeignAreaVO> children;
}

View File

@@ -7,6 +7,8 @@ import lombok.Data;
@Schema(description = "管理后台 - 门岗信息分页 Request VO") @Schema(description = "管理后台 - 门岗信息分页 Request VO")
@Data @Data
public class GateConfigPageReqVO extends PageParam { public class GateConfigPageReqVO extends PageParam {
@Schema(description = "公司编号", hidden = true)
private Long companyId;
@Schema(description = "地点名称", example = "李四") @Schema(description = "地点名称", example = "李四")
private String gateName; private String gateName;

View File

@@ -54,15 +54,15 @@ public class GateConfigRespVO {
@Schema(description = "首选") @Schema(description = "首选")
@ExcelProperty("首选") @ExcelProperty("首选")
private String first; private String isFirst;
@Schema(description = "进出限制") @Schema(description = "进出限制")
@ExcelProperty("进出限制") @ExcelProperty("进出限制")
private String limit; private String limt;
@Schema(description = "作业系统") @Schema(description = "作业系统")
@ExcelProperty("作业系统") @ExcelProperty("作业系统")
private String system; private String syst;
@Schema(description = "经度") @Schema(description = "经度")
@ExcelProperty("经度") @ExcelProperty("经度")

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