From 0291d56ea3676b2c1b89e9b39797dcd253029e40 Mon Sep 17 00:00:00 2001 From: zq111100 <405327340@qq.com> Date: Tue, 9 Sep 2025 17:49:29 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E6=96=99=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../enums/ErrorCodeConstants.java | 49 +++++--- .../bseMngt/mtrl/MtrlClsController.java | 4 +- .../bseMngt/mtrl/MtrlXpdController.java | 69 +++++++++++ .../bseMngt/mtrl/vo/MtrlXpdPageReqVO.java | 58 +++++++++ .../bseMngt/mtrl/vo/MtrlXpdRespVO.java | 89 +++++++++++++ .../bseMngt/mtrl/vo/MtrlXpdSaveReqVO.java | 30 +++++ .../rlwyMtrl/RlwyMtrlMainController.java | 111 +++++++++++++++++ .../rlwyMtrl/RlwyMtrlSubController.java | 110 ++++++++++++++++ .../rlwyMtrl/vo/RlwyMtrlMainPageReqVO.java | 60 +++++++++ .../rlwyMtrl/vo/RlwyMtrlMainRespVO.java | 77 ++++++++++++ .../rlwyMtrl/vo/RlwyMtrlMainSaveReqVO.java | 57 +++++++++ .../rlwyMtrl/vo/RlwyMtrlSubPageReqVO.java | 57 +++++++++ .../rlwyMtrl/vo/RlwyMtrlSubRespVO.java | 72 +++++++++++ .../rlwyMtrl/vo/RlwyMtrlSubSaveReqVO.java | 54 ++++++++ .../dataobject/bseMngt/mtrl/MtrlClsDO.java | 3 +- .../dataobject/bseMngt/mtrl/MtrlXpdDO.java | 55 ++++++++ .../bseMngt/rlwyMtrl/RlwyMtrlMainDO.java | 102 +++++++++++++++ .../bseMngt/rlwyMtrl/RlwyMtrlSubDO.java | 96 ++++++++++++++ .../dal/mysql/bseMngt/mtrl/MtrlXpdMapper.java | 30 +++++ .../bseMngt/rlwyMtrl/RlwyMtrlMainMapper.java | 40 ++++++ .../bseMngt/rlwyMtrl/RlwyMtrlSubMapper.java | 38 ++++++ .../bseMngt/mtrl/MtrlClsServiceImpl.java | 1 + .../service/bseMngt/mtrl/MtrlXpdService.java | 43 +++++++ .../bseMngt/mtrl/MtrlXpdServiceImpl.java | 93 ++++++++++++++ .../bseMngt/rlwyMtrl/RlwyMtrlMainService.java | 66 ++++++++++ .../rlwyMtrl/RlwyMtrlMainServiceImpl.java | 117 ++++++++++++++++++ .../bseMngt/rlwyMtrl/RlwyMtrlSubService.java | 65 ++++++++++ .../rlwyMtrl/RlwyMtrlSubServiceImpl.java | 117 ++++++++++++++++++ .../bseMngt/rlwyMtrl/RlwyMtrlSubMapper.xml | 12 ++ .../bseMngt/rlwyMtrl/RlwyMtrlXpdMapper.xml | 87 +++++++++++++ 30 files changed, 1841 insertions(+), 21 deletions(-) create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/MtrlXpdController.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlXpdPageReqVO.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlXpdRespVO.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlXpdSaveReqVO.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/RlwyMtrlMainController.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/RlwyMtrlSubController.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlMainPageReqVO.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlMainRespVO.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlMainSaveReqVO.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlSubPageReqVO.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlSubRespVO.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlSubSaveReqVO.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/mtrl/MtrlXpdDO.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/rlwyMtrl/RlwyMtrlMainDO.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/rlwyMtrl/RlwyMtrlSubDO.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/mtrl/MtrlXpdMapper.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/rlwyMtrl/RlwyMtrlMainMapper.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/rlwyMtrl/RlwyMtrlSubMapper.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlXpdService.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlXpdServiceImpl.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlMainService.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlMainServiceImpl.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlSubService.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlSubServiceImpl.java create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/rlwyMtrl/RlwyMtrlSubMapper.xml create mode 100644 yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/rlwyMtrl/RlwyMtrlXpdMapper.xml diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/ErrorCodeConstants.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/ErrorCodeConstants.java index f4223f97..1a81dee1 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/ErrorCodeConstants.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/ErrorCodeConstants.java @@ -12,28 +12,28 @@ import cn.iocoder.yudao.framework.common.exception.ErrorCode; public interface ErrorCodeConstants { /** * 业务异常的错误码区间,解决:解决各模块错误码定义,避免重复,在此只声明不做实际使用 - * + *

* 一共 10 位,分成四段 - * + *

* 第一段,1 位,类型 - * 1 - 业务级别异常 - * x - 预留 + * 1 - 业务级别异常 + * x - 预留 * 第二段,3 位,系统类型 - * 001 - 用户系统 - * 002 - 商品系统 - * 003 - 订单系统 - * 004 - 支付系统 - * 005 - 优惠劵系统 - * ... - ... + * 001 - 用户系统 + * 002 - 商品系统 + * 003 - 订单系统 + * 004 - 支付系统 + * 005 - 优惠劵系统 + * ... - ... * 第三段,3 位,模块 - * 不限制规则。 - * 一般建议,每个系统里面,可能有多个模块,可以再去做分段。以用户系统为例子: - * 001 - OAuth2 模块 - * 002 - User 模块 - * 003 - MobileCode 模块 + * 不限制规则。 + * 一般建议,每个系统里面,可能有多个模块,可以再去做分段。以用户系统为例子: + * 001 - OAuth2 模块 + * 002 - User 模块 + * 003 - MobileCode 模块 * 第四段,3 位,错误码 - * 不限制规则。 - * 一般建议,每个模块自增。 + * 不限制规则。 + * 一般建议,每个模块自增。 * * @author Rayson */ @@ -63,5 +63,18 @@ public interface ErrorCodeConstants { ErrorCode PLACE_ARCHIVE_MATERIAL_NOT_EXISTS = new ErrorCode(1_100_001_008, "地点档案物料信息不存在"); ErrorCode CORR_FACT_NOT_EXISTS = new ErrorCode(1_100_001_009, "关联工厂信息不存在"); + // 模块 bseMngt.plceAchi [1_100_002_000 ~ 1_100_002_999] + ErrorCode CUSTOMER_NOT_EXISTS = new ErrorCode(1_100_002_001, "客商协同账号不存在"); -} + ErrorCode CARRIER_ACCOUNT_NOT_EXISTS = new ErrorCode(1_100_002_002, "物流服务商协同账号不存在"); + ErrorCode DRIVING_ACCOUNT_NOT_EXISTS = new ErrorCode(1_100_002_003, "司机协同账号不存在"); + + + // 模块 bseMngt.mtrl [1_100_003_000 ~ 1_100_003_999] + ErrorCode MTRL_XPD_NOT_EXISTS = new ErrorCode(1_100_003_001, "物资信息扩展不存在"); + ErrorCode RLWY_MTRL_MAIN_NOT_EXISTS = new ErrorCode(1_100_003_002, "铁路物资对照主不存在"); + ErrorCode RLWY_MTRL_SUB_NOT_EXISTS = new ErrorCode(1_100_003_003, "铁路物资对照子不存在"); + ErrorCode RLWY_MTRL_SUB_MATERIAL_EXISTS = new ErrorCode(1_100_003_004, "物资对照已经存在"); + ErrorCode RLWY_MTRL_MAIN_STATUS_EXISTS = new ErrorCode(1_100_003_004, "铁路品名对照草稿状态才能操作"); + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/MtrlClsController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/MtrlClsController.java index bac4d1f7..ec7f29fb 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/MtrlClsController.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/MtrlClsController.java @@ -36,10 +36,10 @@ public class MtrlClsController implements BusinessControllerMarker { @Resource private MtrlClsService mtrlClsService; - @GetMapping("/list") + @PostMapping("/list") @Operation(summary = "获得物料分类列表") @PreAuthorize("@ss.hasPermission('lgst:mtrl-cls:query')") - public CommonResult> getMtrlClsList(@Valid MtrlClsListReqVO listReqVO) { + public CommonResult> getMtrlClsList(@Valid @RequestBody MtrlClsListReqVO listReqVO) { List list = mtrlClsService.getMtrlClsList(listReqVO); return success(BeanUtils.toBean(list, MtrlClsRespVO.class)); } diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/MtrlXpdController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/MtrlXpdController.java new file mode 100644 index 00000000..fcb372bd --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/MtrlXpdController.java @@ -0,0 +1,69 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl; + +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlXpdPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlXpdRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlXpdSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl.MtrlXpdDO; +import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.mtrl.MtrlClsService; +import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.mtrl.MtrlXpdService; +import jakarta.annotation.security.PermitAll; +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + + +@Tag(name = "管理后台 - 物资信息扩展") +@RestController +@RequestMapping("/lgst/mtrl-xpd") +@Validated +public class MtrlXpdController implements BusinessControllerMarker { + + + @Resource + private MtrlXpdService mtrlXpdService; + + @PostMapping("/update") + @Operation(summary = "更新物资信息扩展") + @PreAuthorize("@ss.hasPermission('lgst:mtrl-xpd:update')") +// @PermitAll + public CommonResult updateMtrlXpd(@Valid @RequestBody List updateReqVOs) { + mtrlXpdService.updateMtrlXpd(updateReqVOs); + return success(true); + } + + + @PostMapping("/page") + @Operation(summary = "获得物资信息分页") + @PreAuthorize("@ss.hasPermission('lgst:mtrl-xpd:query')") + public CommonResult> getMtrlXpdPage(@Valid @RequestBody MtrlXpdPageReqVO pageReqVO) { + PageResult pageResult = mtrlXpdService.getMtrlXpdPage(pageReqVO); + return success(pageResult); + } + + + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlXpdPageReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlXpdPageReqVO.java new file mode 100644 index 00000000..08e605cc --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlXpdPageReqVO.java @@ -0,0 +1,58 @@ +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 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 MtrlXpdPageReqVO extends PageParam { + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "物资ID", example = "10845") + private Long materialId; + + @Schema(description = "物资编码") + @ExcelProperty("物资编码") + private String materialCode; + + @Schema(description = "物资名称") + @ExcelProperty("物资名称") + private String materialName; + + @Schema(description = "SAP编码") + private String sapCode; + + @Schema(description = "MDM编码") + private String mdmCode; + + @Schema(description = "长描述") + private String description; + + @Schema(description = "分类id") + private Long classesId; + + @Schema(description = "质检标志") + private String inspectionFlag; + + @Schema(description = "计量标志") + private String meteringFlag; + + @Schema(description = "取样节点") + private String samplingNode; + + @Schema(description = "部门id") + private Long deptId; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlXpdRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlXpdRespVO.java new file mode 100644 index 00000000..6552b248 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlXpdRespVO.java @@ -0,0 +1,89 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.beans.Transient; +import java.io.Serializable; +import java.util.*; + +import net.sf.jsqlparser.statement.select.WithItem; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 物资信息扩展 Response VO") +@Data +@ExcelIgnoreUnannotated +public class MtrlXpdRespVO{ + + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13011") + @ExcelProperty("ID") + private Long id; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "物资ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10845") + @ExcelProperty("物资ID") + private Long materialId; + + @Schema(description = "物资编码") + @ExcelProperty("物资编码") + private String materialCode; + + @Schema(description = "物资名称") + @ExcelProperty("物资名称") + private String materialName; + + @Schema(description = "SAP编码") + @ExcelProperty("SAP编码") + private String sapCode; + + @Schema(description = "MDM编码") + @ExcelProperty("MDM编码") + private String mdmCode; + + @Schema(description = "长描述") + @ExcelProperty("长描述") + private String description; + + @Schema(description = "大类代码") + @ExcelProperty("大类代码") + private String bigTypeCode; + + @Schema(description = "大类名称", example = "王五") + @ExcelProperty("大类名称") + private String bigTypeName; + + @Schema(description = "中类代码") + @ExcelProperty("中类代码") + private String midTypeCode; + + @Schema(description = "中类名称", example = "芋艿") + @ExcelProperty("中类名称") + private String midTypeName; + + @Schema(description = "小类代码") + @ExcelProperty("小类代码") + private String smalTypeCode; + + @Schema(description = "小类名称", example = "王五") + @ExcelProperty("小类名称") + private String smalTypeName; + + @Schema(description = "质检标志") + @ExcelProperty("质检标志") + private String inspectionFlag; + + @Schema(description = "计量标志") + @ExcelProperty("计量标志") + private String meteringFlag; + + @Schema(description = "取样节点") + @ExcelProperty("取样节点") + private String samplingNode; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlXpdSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlXpdSaveReqVO.java new file mode 100644 index 00000000..bf90ed68 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/mtrl/vo/MtrlXpdSaveReqVO.java @@ -0,0 +1,30 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 物资信息扩展新增/修改 Request VO") +@Data +public class MtrlXpdSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13011") + private Long id; + + @Schema(description = "物资ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10845") + @NotNull(message = "物资ID不能为空") + private Long materialId; + + @Schema(description = "质检标志") + private String inspectionFlag; + + @Schema(description = "计量标志") + private String meteringFlag; + + @Schema(description = "取样节点") + private String samplingNode; + + + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/RlwyMtrlMainController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/RlwyMtrlMainController.java new file mode 100644 index 00000000..13df5c4c --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/RlwyMtrlMainController.java @@ -0,0 +1,111 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl; + + +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlMainPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlMainRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlMainSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RlwyMtrlMainDO; +import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.rlwyMtrl.RlwyMtrlMainService; +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + + +@Tag(name = "管理后台 - 铁路物资对照主") +@RestController +@RequestMapping("/lgst/rlwy-mtrl-main") +@Validated +public class RlwyMtrlMainController implements BusinessControllerMarker { + + + @Resource + private RlwyMtrlMainService rlwyMtrlMainService; + + @PostMapping("/create") + @Operation(summary = "创建铁路物资对照主") + @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-main:create')") + public CommonResult createRlwyMtrlMain(@Valid @RequestBody RlwyMtrlMainSaveReqVO createReqVO) { + return success(rlwyMtrlMainService.createRlwyMtrlMain(createReqVO)); + } + + @PostMapping("/update") + @Operation(summary = "更新铁路物资对照主") + @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-main:update')") + public CommonResult updateRlwyMtrlMain(@Valid @RequestBody RlwyMtrlMainSaveReqVO updateReqVO) { + rlwyMtrlMainService.updateRlwyMtrlMain(updateReqVO); + return success(true); + } + + @PostMapping("/delete") + @Operation(summary = "删除铁路物资对照主") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-main:delete')") + public CommonResult deleteRlwyMtrlMain(@RequestParam("id") Long id) { + rlwyMtrlMainService.deleteRlwyMtrlMain(id); + return success(true); + } + + @PostMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除铁路物资对照主") + @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-main:delete')") + public CommonResult deleteRlwyMtrlMainList(@RequestBody BatchDeleteReqVO req) { + rlwyMtrlMainService.deleteRlwyMtrlMainListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得铁路物资对照主") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-main:query')") + public CommonResult getRlwyMtrlMain(@RequestParam("id") Long id) { + RlwyMtrlMainDO rlwyMtrlMain = rlwyMtrlMainService.getRlwyMtrlMain(id); + return success(BeanUtils.toBean(rlwyMtrlMain, RlwyMtrlMainRespVO.class)); + } + + @PostMapping("/page") + @Operation(summary = "获得铁路物资对照主分页") + @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-main:query')") + public CommonResult> getRlwyMtrlMainPage(@Valid @RequestBody RlwyMtrlMainPageReqVO pageReqVO) { + PageResult pageResult = rlwyMtrlMainService.getRlwyMtrlMainPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, RlwyMtrlMainRespVO.class)); + } + + @PostMapping("/export-excel") + @Operation(summary = "导出铁路物资对照主 Excel") + @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-main:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportRlwyMtrlMainExcel(@Valid @RequestBody RlwyMtrlMainPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = rlwyMtrlMainService.getRlwyMtrlMainPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "铁路物资对照主.xls", "数据", RlwyMtrlMainRespVO.class, + BeanUtils.toBean(list, RlwyMtrlMainRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/RlwyMtrlSubController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/RlwyMtrlSubController.java new file mode 100644 index 00000000..3d5915d4 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/RlwyMtrlSubController.java @@ -0,0 +1,110 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl; + +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlSubPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlSubRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlSubSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RlwyMtrlSubDO; +import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.rlwyMtrl.RlwyMtrlSubService; +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; + +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + + +@Tag(name = "管理后台 - 铁路物资对照子") +@RestController +@RequestMapping("/lgst/rlwy-mtrl-sub") +@Validated +public class RlwyMtrlSubController implements BusinessControllerMarker { + + + @Resource + private RlwyMtrlSubService rlwyMtrlSubService; + + @PostMapping("/create") + @Operation(summary = "创建铁路物资对照子") + @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-sub:create')") + public CommonResult> createRlwyMtrlSub(@Valid @RequestBody List createReqVOs) { + return success(rlwyMtrlSubService.createRlwyMtrlSub(createReqVOs)); + } + + @PostMapping("/update") + @Operation(summary = "更新铁路物资对照子") + @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-sub:update')") + public CommonResult updateRlwyMtrlSub(@Valid @RequestBody RlwyMtrlSubSaveReqVO updateReqVO) { + rlwyMtrlSubService.updateRlwyMtrlSub(updateReqVO); + return success(true); + } + + @PostMapping("/delete") + @Operation(summary = "删除铁路物资对照子") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-sub:delete')") + public CommonResult deleteRlwyMtrlSub(@RequestParam("id") Long id) { + rlwyMtrlSubService.deleteRlwyMtrlSub(id); + return success(true); + } + + @PostMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除铁路物资对照子") + @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-sub:delete')") + public CommonResult deleteRlwyMtrlSubList(@RequestBody BatchDeleteReqVO req) { + rlwyMtrlSubService.deleteRlwyMtrlSubListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得铁路物资对照子") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-sub:query')") + public CommonResult getRlwyMtrlSub(@RequestParam("id") Long id) { + RlwyMtrlSubDO rlwyMtrlSub = rlwyMtrlSubService.getRlwyMtrlSub(id); + return success(BeanUtils.toBean(rlwyMtrlSub, RlwyMtrlSubRespVO.class)); + } + + @PostMapping("/page") + @Operation(summary = "获得铁路物资对照子分页") + @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-sub:query')") + public CommonResult> getRlwyMtrlSubPage(@Valid @RequestBody RlwyMtrlSubPageReqVO pageReqVO) { + PageResult pageResult = rlwyMtrlSubService.getRlwyMtrlSubPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, RlwyMtrlSubRespVO.class)); + } + + @PostMapping("/export-excel") + @Operation(summary = "导出铁路物资对照子 Excel") + @PreAuthorize("@ss.hasPermission('lgst:rlwy-mtrl-sub:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportRlwyMtrlSubExcel(@Valid @RequestBody RlwyMtrlSubPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = rlwyMtrlSubService.getRlwyMtrlSubPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "铁路物资对照子.xls", "数据", RlwyMtrlSubRespVO.class, + BeanUtils.toBean(list, RlwyMtrlSubRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlMainPageReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlMainPageReqVO.java new file mode 100644 index 00000000..4d4d7d5c --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlMainPageReqVO.java @@ -0,0 +1,60 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 铁路物资对照主分页 Request VO") +@Data +public class RlwyMtrlMainPageReqVO extends PageParam { + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "状态") + private String sts; + + @Schema(description = "铁路运输品名", example = "张三") + private String rlwyTrpName; + + @Schema(description = "品名代码") + private String nameCd; + + @Schema(description = "拼音码") + private String pyCd; + + @Schema(description = "报价费率") + private BigDecimal chrgRte; + + @Schema(description = "整车价号") + private String exPrcCd; + + @Schema(description = "零担价号") + private String prtlPrcCd; + + @Schema(description = "大类代码") + private String bigTpCd; + + @Schema(description = "大类名称", example = "李四") + private String bigTpName; + + @Schema(description = "中类代码") + private String midTpCd; + + @Schema(description = "中类名称", example = "芋艿") + private String midTpName; + + @Schema(description = "小类代码") + private String smalTpCd; + + @Schema(description = "小类名称", example = "王五") + private String smalTpName; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlMainRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlMainRespVO.java new file mode 100644 index 00000000..0536c081 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlMainRespVO.java @@ -0,0 +1,77 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 铁路物资对照主 Response VO") +@Data +@ExcelIgnoreUnannotated +public class RlwyMtrlMainRespVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3659") + @ExcelProperty("ID") + private Long id; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "状态") + @ExcelProperty("状态") + private String sts; + + @Schema(description = "铁路运输品名", example = "张三") + @ExcelProperty("铁路运输品名") + private String rlwyTrpName; + + @Schema(description = "品名代码") + @ExcelProperty("品名代码") + private String nameCd; + + @Schema(description = "拼音码") + @ExcelProperty("拼音码") + private String pyCd; + + @Schema(description = "报价费率") + @ExcelProperty("报价费率") + private BigDecimal chrgRte; + + @Schema(description = "整车价号") + @ExcelProperty("整车价号") + private String exPrcCd; + + @Schema(description = "零担价号") + @ExcelProperty("零担价号") + private String prtlPrcCd; + + @Schema(description = "大类代码") + @ExcelProperty("大类代码") + private String bigTpCd; + + @Schema(description = "大类名称", example = "李四") + @ExcelProperty("大类名称") + private String bigTpName; + + @Schema(description = "中类代码") + @ExcelProperty("中类代码") + private String midTpCd; + + @Schema(description = "中类名称", example = "芋艿") + @ExcelProperty("中类名称") + private String midTpName; + + @Schema(description = "小类代码") + @ExcelProperty("小类代码") + private String smalTpCd; + + @Schema(description = "小类名称", example = "王五") + @ExcelProperty("小类名称") + private String smalTpName; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlMainSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlMainSaveReqVO.java new file mode 100644 index 00000000..5a012913 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlMainSaveReqVO.java @@ -0,0 +1,57 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 铁路物资对照主新增/修改 Request VO") +@Data +public class RlwyMtrlMainSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3659") + private Long id; + + @Schema(description = "状态") + private String sts; + + @Schema(description = "铁路运输品名", example = "张三") + private String rlwyTrpName; + + @Schema(description = "品名代码") + private String nameCd; + + @Schema(description = "拼音码") + private String pyCd; + + @Schema(description = "报价费率") + private BigDecimal chrgRte; + + @Schema(description = "整车价号") + private String exPrcCd; + + @Schema(description = "零担价号") + private String prtlPrcCd; + + @Schema(description = "大类代码") + private String bigTpCd; + + @Schema(description = "大类名称", example = "李四") + private String bigTpName; + + @Schema(description = "中类代码") + private String midTpCd; + + @Schema(description = "中类名称", example = "芋艿") + private String midTpName; + + @Schema(description = "小类代码") + private String smalTpCd; + + @Schema(description = "小类名称", example = "王五") + private String smalTpName; + + @Schema(description = "子项") + private List items; +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlSubPageReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlSubPageReqVO.java new file mode 100644 index 00000000..81de2d03 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlSubPageReqVO.java @@ -0,0 +1,57 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo; +import lombok.*; + +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 铁路物资对照子分页 Request VO") +@Data +public class RlwyMtrlSubPageReqVO extends PageParam { + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "主项ID", example = "12339") + private Long mainId; + + @Schema(description = "物资ID", example = "18676") + private Long mtrlId; + + @Schema(description = "SAP编码") + private String sapCd; + + @Schema(description = "MDM编码") + private String mdmCd; + + @Schema(description = "物料名称", example = "王五") + private String mtrlName; + + @Schema(description = "长描述") + private String dsp; + + @Schema(description = "大类代码") + private String bigTpCd; + + @Schema(description = "大类名称", example = "芋艿") + private String bigTpName; + + @Schema(description = "中类代码") + private String midTpCd; + + @Schema(description = "中类名称", example = "赵六") + private String midTpName; + + @Schema(description = "小类代码") + private String smalTpCode; + + @Schema(description = "小类名称", example = "李四") + private String smalTpName; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlSubRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlSubRespVO.java new file mode 100644 index 00000000..bdc88fdb --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlSubRespVO.java @@ -0,0 +1,72 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 铁路物资对照子 Response VO") +@Data +@ExcelIgnoreUnannotated +public class RlwyMtrlSubRespVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17186") + @ExcelProperty("ID") + private Long id; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "主项ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12339") + @ExcelProperty("主项ID") + private Long mainId; + + @Schema(description = "物资ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18676") + @ExcelProperty("物资ID") + private Long mtrlId; + + @Schema(description = "SAP编码") + @ExcelProperty("SAP编码") + private String sapCd; + + @Schema(description = "MDM编码") + @ExcelProperty("MDM编码") + private String mdmCd; + + @Schema(description = "物料名称", example = "王五") + @ExcelProperty("物料名称") + private String mtrlName; + + @Schema(description = "长描述") + @ExcelProperty("长描述") + private String dsp; + + @Schema(description = "大类代码") + @ExcelProperty("大类代码") + private String bigTpCd; + + @Schema(description = "大类名称", example = "芋艿") + @ExcelProperty("大类名称") + private String bigTpName; + + @Schema(description = "中类代码") + @ExcelProperty("中类代码") + private String midTpCd; + + @Schema(description = "中类名称", example = "赵六") + @ExcelProperty("中类名称") + private String midTpName; + + @Schema(description = "小类代码") + @ExcelProperty("小类代码") + private String smalTpCode; + + @Schema(description = "小类名称", example = "李四") + @ExcelProperty("小类名称") + private String smalTpName; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlSubSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlSubSaveReqVO.java new file mode 100644 index 00000000..5b513dba --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/rlwyMtrl/vo/RlwyMtrlSubSaveReqVO.java @@ -0,0 +1,54 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 铁路物资对照子新增/修改 Request VO") +@Data +public class RlwyMtrlSubSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17186") + private Long id; + + @Schema(description = "主项ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12339") + @NotNull(message = "主项ID不能为空") + private Long mainId; + + @Schema(description = "物资ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18676") + @NotNull(message = "物资ID不能为空") + private Long mtrlId; + + @Schema(description = "SAP编码") + private String sapCd; + + @Schema(description = "MDM编码") + private String mdmCd; + + @Schema(description = "物料名称", example = "王五") + private String mtrlName; + + @Schema(description = "长描述") + private String dsp; + + @Schema(description = "大类代码") + private String bigTpCd; + + @Schema(description = "大类名称", example = "芋艿") + private String bigTpName; + + @Schema(description = "中类代码") + private String midTpCd; + + @Schema(description = "中类名称", example = "赵六") + private String midTpName; + + @Schema(description = "小类代码") + private String smalTpCode; + + @Schema(description = "小类名称", example = "李四") + private String smalTpName; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/mtrl/MtrlClsDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/mtrl/MtrlClsDO.java index 6d4f964c..6c17464d 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/mtrl/MtrlClsDO.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/mtrl/MtrlClsDO.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import lombok.*; import java.util.*; import java.time.LocalDateTime; @@ -22,7 +23,7 @@ import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; /** * 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO */ -public class MtrlClsDO extends BusinessBaseDO { +public class MtrlClsDO extends BaseDO { public static final Long PARENT_ID_ROOT = 0L; diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/mtrl/MtrlXpdDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/mtrl/MtrlXpdDO.java new file mode 100644 index 00000000..0e5b67cd --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/mtrl/MtrlXpdDO.java @@ -0,0 +1,55 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl; +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; +/** +* 物资信息扩展 DO +* +* @author 后台管理 +*/ +@TableName("lgst_mtrl_xpd") +@KeySequence("lgst_mtrl_xpd_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class MtrlXpdDO extends BusinessBaseDO { + + + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 物资ID + */ + @TableField("MTRL_ID") + private Long materialId; + /** + * 质检标志 + */ + @TableField("INSP_FLG") + private String inspectionFlag; + /** + * 计量标志 + */ + @TableField("MTNG_FLG") + private String meteringFlag; + /** + * 取样节点 + */ + @TableField("SPLG_NDE") + private String samplingNode; + + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/rlwyMtrl/RlwyMtrlMainDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/rlwyMtrl/RlwyMtrlMainDO.java new file mode 100644 index 00000000..82894784 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/rlwyMtrl/RlwyMtrlMainDO.java @@ -0,0 +1,102 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl; + + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; +/** + * 铁路物资对照主 DO + * + * @author 后台管理 + */ +@TableName("lgst_rlwy_mtrl_main") +@KeySequence("lgst_rlwy_mtrl_main_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** + * 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO + */ +public class RlwyMtrlMainDO extends BusinessBaseDO { + + + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 状态 + */ + @TableField("STS") + private String sts; + /** + * 铁路运输品名 + */ + @TableField("RLWY_TRP_NAME") + private String rlwyTrpName; + /** + * 品名代码 + */ + @TableField("NAME_CD") + private String nameCd; + /** + * 拼音码 + */ + @TableField("PY_CD") + private String pyCd; + /** + * 报价费率 + */ + @TableField("CHRG_RTE") + private BigDecimal chrgRte; + /** + * 整车价号 + */ + @TableField("EX_PRC_CD") + private String exPrcCd; + /** + * 零担价号 + */ + @TableField("PRTL_PRC_CD") + private String prtlPrcCd; + /** + * 大类代码 + */ + @TableField("BIG_TP_CD") + private String bigTpCd; + /** + * 大类名称 + */ + @TableField("BIG_TP_NAME") + private String bigTpName; + /** + * 中类代码 + */ + @TableField("MID_TP_CD") + private String midTpCd; + /** + * 中类名称 + */ + @TableField("MID_TP_NAME") + private String midTpName; + /** + * 小类代码 + */ + @TableField("SMAL_TP_CD") + private String smalTpCd; + /** + * 小类名称 + */ + @TableField("SMAL_TP_NAME") + private String smalTpName; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/rlwyMtrl/RlwyMtrlSubDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/rlwyMtrl/RlwyMtrlSubDO.java new file mode 100644 index 00000000..88dd304b --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/rlwyMtrl/RlwyMtrlSubDO.java @@ -0,0 +1,96 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; +/** + * 铁路物资对照子 DO + * + * @author 后台管理 + */ +@TableName("lgst_rlwy_mtrl_sub") +@KeySequence("lgst_rlwy_mtrl_sub_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** + * 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO + */ +public class RlwyMtrlSubDO extends BusinessBaseDO { + + + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 主项ID + */ + @TableField("MAIN_ID") + private Long mainId; + /** + * 物资ID + */ + @TableField("MTRL_ID") + private Long mtrlId; + /** + * SAP编码 + */ + @TableField("SAP_CD") + private String sapCd; + /** + * MDM编码 + */ + @TableField("MDM_CD") + private String mdmCd; + /** + * 物料名称 + */ + @TableField("MTRL_NAME") + private String mtrlName; + /** + * 长描述 + */ + @TableField("DSP") + private String dsp; + /** + * 大类代码 + */ + @TableField("BIG_TP_CD") + private String bigTpCd; + /** + * 大类名称 + */ + @TableField("BIG_TP_NAME") + private String bigTpName; + /** + * 中类代码 + */ + @TableField("MID_TP_CD") + private String midTpCd; + /** + * 中类名称 + */ + @TableField("MID_TP_NAME") + private String midTpName; + /** + * 小类代码 + */ + @TableField("SMAL_TP_CODE") + private String smalTpCode; + /** + * 小类名称 + */ + @TableField("SMAL_TP_NAME") + private String smalTpName; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/mtrl/MtrlXpdMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/mtrl/MtrlXpdMapper.java new file mode 100644 index 00000000..92ad7164 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/mtrl/MtrlXpdMapper.java @@ -0,0 +1,30 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.mtrl; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlXpdPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlXpdRespVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl.MtrlXpdDO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 物资信息扩展 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface MtrlXpdMapper extends BaseMapperX { + + + IPage selectPage2(IPage page, @Param("reqVO") MtrlXpdPageReqVO reqVO); + + MtrlXpdDO selectByMaterialId(@Param("materialId") Long materialId); + + + List selectMaterialClasses(@Param("materialIds")List materialIds); +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/rlwyMtrl/RlwyMtrlMainMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/rlwyMtrl/RlwyMtrlMainMapper.java new file mode 100644 index 00000000..5b91aae9 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/rlwyMtrl/RlwyMtrlMainMapper.java @@ -0,0 +1,40 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.rlwyMtrl; + + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlMainPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RlwyMtrlMainDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 铁路物资对照主 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface RlwyMtrlMainMapper extends BaseMapperX { + + default PageResult selectPage(RlwyMtrlMainPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .betweenIfPresent(RlwyMtrlMainDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(RlwyMtrlMainDO::getSts, reqVO.getSts()) + .likeIfPresent(RlwyMtrlMainDO::getRlwyTrpName, reqVO.getRlwyTrpName()) + .eqIfPresent(RlwyMtrlMainDO::getNameCd, reqVO.getNameCd()) + .eqIfPresent(RlwyMtrlMainDO::getPyCd, reqVO.getPyCd()) + .eqIfPresent(RlwyMtrlMainDO::getChrgRte, reqVO.getChrgRte()) + .eqIfPresent(RlwyMtrlMainDO::getExPrcCd, reqVO.getExPrcCd()) + .eqIfPresent(RlwyMtrlMainDO::getPrtlPrcCd, reqVO.getPrtlPrcCd()) + .eqIfPresent(RlwyMtrlMainDO::getBigTpCd, reqVO.getBigTpCd()) + .likeIfPresent(RlwyMtrlMainDO::getBigTpName, reqVO.getBigTpName()) + .eqIfPresent(RlwyMtrlMainDO::getMidTpCd, reqVO.getMidTpCd()) + .likeIfPresent(RlwyMtrlMainDO::getMidTpName, reqVO.getMidTpName()) + .eqIfPresent(RlwyMtrlMainDO::getSmalTpCd, reqVO.getSmalTpCd()) + .likeIfPresent(RlwyMtrlMainDO::getSmalTpName, reqVO.getSmalTpName()) + .orderByDesc(RlwyMtrlMainDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/rlwyMtrl/RlwyMtrlSubMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/rlwyMtrl/RlwyMtrlSubMapper.java new file mode 100644 index 00000000..fa0d4120 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/rlwyMtrl/RlwyMtrlSubMapper.java @@ -0,0 +1,38 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.rlwyMtrl; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlSubPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RlwyMtrlSubDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 铁路物资对照子 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface RlwyMtrlSubMapper extends BaseMapperX { + + default PageResult selectPage(RlwyMtrlSubPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .betweenIfPresent(RlwyMtrlSubDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(RlwyMtrlSubDO::getMainId, reqVO.getMainId()) + .eqIfPresent(RlwyMtrlSubDO::getMtrlId, reqVO.getMtrlId()) + .eqIfPresent(RlwyMtrlSubDO::getSapCd, reqVO.getSapCd()) + .eqIfPresent(RlwyMtrlSubDO::getMdmCd, reqVO.getMdmCd()) + .likeIfPresent(RlwyMtrlSubDO::getMtrlName, reqVO.getMtrlName()) + .eqIfPresent(RlwyMtrlSubDO::getDsp, reqVO.getDsp()) + .eqIfPresent(RlwyMtrlSubDO::getBigTpCd, reqVO.getBigTpCd()) + .likeIfPresent(RlwyMtrlSubDO::getBigTpName, reqVO.getBigTpName()) + .eqIfPresent(RlwyMtrlSubDO::getMidTpCd, reqVO.getMidTpCd()) + .likeIfPresent(RlwyMtrlSubDO::getMidTpName, reqVO.getMidTpName()) + .eqIfPresent(RlwyMtrlSubDO::getSmalTpCode, reqVO.getSmalTpCode()) + .likeIfPresent(RlwyMtrlSubDO::getSmalTpName, reqVO.getSmalTpName()) + .orderByDesc(RlwyMtrlSubDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlClsServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlClsServiceImpl.java index 8a4fee09..b2ec120b 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlClsServiceImpl.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlClsServiceImpl.java @@ -28,6 +28,7 @@ import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils. */ @Service @Validated +@Transactional public class MtrlClsServiceImpl implements MtrlClsService { @Resource diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlXpdService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlXpdService.java new file mode 100644 index 00000000..5c836fcf --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlXpdService.java @@ -0,0 +1,43 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.mtrl; + +import java.util.*; + +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlXpdPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlXpdRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlXpdSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl.MtrlXpdDO; +import jakarta.validation.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +/** + * 物资信息扩展 Service 接口 + * + * @author 后台管理 + */ +public interface MtrlXpdService { + + + /** + * 更新物资信息扩展 + * + * @param updateReqVO 更新信息 + */ + void updateMtrlXpd(@Valid List updateReqVOs); + + /** + * 获得物资信息扩展 + * + * @param id 编号 + * @return 物资信息扩展 + */ + MtrlXpdDO getMtrlXpd(Long id); + + /** + * 获得物资信息扩展分页 + * + * @param pageReqVO 分页查询 + * @return 物资信息扩展分页 + */ + PageResult getMtrlXpdPage(MtrlXpdPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlXpdServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlXpdServiceImpl.java new file mode 100644 index 00000000..cc6b3c53 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/mtrl/MtrlXpdServiceImpl.java @@ -0,0 +1,93 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.mtrl; + +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlXpdPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlXpdRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.mtrl.vo.MtrlXpdSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.mtrl.MtrlXpdDO; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.mtrl.MtrlXpdMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import java.util.stream.Collectors; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + + + +/** + * 物资信息扩展 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +@Transactional +public class MtrlXpdServiceImpl implements MtrlXpdService { + + @Resource + private MtrlXpdMapper mtrlXpdMapper; + + @Override + public void updateMtrlXpd(List updateReqVOs) { + + // 更新 + for (MtrlXpdSaveReqVO updateReqVO : updateReqVOs){ + MtrlXpdDO updateObj = BeanUtils.toBean(updateReqVO, MtrlXpdDO.class); + mtrlXpdMapper.insertOrUpdate(updateObj); + } + } + + + @Override + public MtrlXpdDO getMtrlXpd(Long id) { + return mtrlXpdMapper.selectById(id); + } + + @Override + public PageResult getMtrlXpdPage(MtrlXpdPageReqVO pageReqVO) { + IPage page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + mtrlXpdMapper.selectPage2(page, pageReqVO); +// this.queryInfo(page.getRecords()); + return new PageResult<>(page.getRecords(), page.getTotal()); + } + + private void queryInfo(List records) { + if (CollUtil.isNotEmpty(records)) { + List materialIds = records.stream() + .filter(record -> record.getMaterialId() != null) + .map(MtrlXpdRespVO::getId) + .collect(Collectors.toList()); + + //物资目录 + List materialClasses = mtrlXpdMapper.selectMaterialClasses(materialIds); + + Map materialClassMap = materialClasses.stream() + .filter(mc -> mc.getMaterialId() != null) + .collect(Collectors.toMap(MtrlXpdRespVO::getMaterialId, mc -> mc, (existing, replacement) -> existing)); + + for (MtrlXpdRespVO record : records) { + if (record.getId() == null) continue; + + MtrlXpdRespVO mc = materialClassMap.get(record.getId()); + if (mc != null) { + record.setBigTypeCode(mc.getBigTypeCode()); + record.setBigTypeName(mc.getBigTypeName()); + record.setMidTypeCode(mc.getMidTypeCode()); + record.setMidTypeName(mc.getMidTypeName()); + record.setSmalTypeCode(mc.getSmalTypeCode()); + record.setSmalTypeName(mc.getSmalTypeName()); + } + + // 查询详细信息 todo + } + } + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlMainService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlMainService.java new file mode 100644 index 00000000..894f3fa7 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlMainService.java @@ -0,0 +1,66 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.rlwyMtrl; + + +import java.util.*; + +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlMainPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlMainRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlMainSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RlwyMtrlMainDO; +import jakarta.validation.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 铁路物资对照主 Service 接口 + * + * @author 后台管理 + */ +public interface RlwyMtrlMainService { + + /** + * 创建铁路物资对照主 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + RlwyMtrlMainRespVO createRlwyMtrlMain(@Valid RlwyMtrlMainSaveReqVO createReqVO); + + /** + * 更新铁路物资对照主 + * + * @param updateReqVO 更新信息 + */ + void updateRlwyMtrlMain(@Valid RlwyMtrlMainSaveReqVO updateReqVO); + + /** + * 删除铁路物资对照主 + * + * @param id 编号 + */ + void deleteRlwyMtrlMain(Long id); + + /** + * 批量删除铁路物资对照主 + * + * @param ids 编号 + */ + void deleteRlwyMtrlMainListByIds(List ids); + + /** + * 获得铁路物资对照主 + * + * @param id 编号 + * @return 铁路物资对照主 + */ + RlwyMtrlMainDO getRlwyMtrlMain(Long id); + + /** + * 获得铁路物资对照主分页 + * + * @param pageReqVO 分页查询 + * @return 铁路物资对照主分页 + */ + PageResult getRlwyMtrlMainPage(RlwyMtrlMainPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlMainServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlMainServiceImpl.java new file mode 100644 index 00000000..6703513a --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlMainServiceImpl.java @@ -0,0 +1,117 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.rlwyMtrl; + +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlMainPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlMainRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlMainSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlSubSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RlwyMtrlMainDO; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.rlwyMtrl.RlwyMtrlMainMapper; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.RLWY_MTRL_MAIN_NOT_EXISTS; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.RLWY_MTRL_MAIN_STATUS_EXISTS; + + +/** + * 铁路物资对照主 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +@Transactional +public class RlwyMtrlMainServiceImpl implements RlwyMtrlMainService { + + @Resource + private RlwyMtrlMainMapper rlwyMtrlMainMapper; + + @Resource + private RlwyMtrlSubService rlwyMtrlSubService; + + @Override + public RlwyMtrlMainRespVO createRlwyMtrlMain(RlwyMtrlMainSaveReqVO createReqVO) { + // 插入主项 + RlwyMtrlMainDO rlwyMtrlMain = BeanUtils.toBean(createReqVO, RlwyMtrlMainDO.class); + rlwyMtrlMain.setSts("00"); + rlwyMtrlMainMapper.insert(rlwyMtrlMain); + //插入子项 + for (RlwyMtrlSubSaveReqVO subSaveReqVO : createReqVO.getItems()){ + subSaveReqVO.setMainId(rlwyMtrlMain.getId()); + } + rlwyMtrlSubService.createRlwyMtrlSub(createReqVO.getItems()); + // 返回 + return BeanUtils.toBean(rlwyMtrlMain, RlwyMtrlMainRespVO.class); + } + + @Override + public void updateRlwyMtrlMain(RlwyMtrlMainSaveReqVO updateReqVO) { + // 校验存在 + validateRlwyMtrlMainExists(updateReqVO.getId()); + // 更新 + RlwyMtrlMainDO updateObj = BeanUtils.toBean(updateReqVO, RlwyMtrlMainDO.class); + rlwyMtrlMainMapper.updateById(updateObj); + + } + + @Override + public void deleteRlwyMtrlMain(Long id) { + // 校验存在 + validateRlwyMtrlMainExists(id); + // 删除 + rlwyMtrlMainMapper.deleteById(id); + } + + @Override + public void deleteRlwyMtrlMainListByIds(List ids) { + for (Long id : ids) { + this.deleteRlwyMtrlMain(id); + } + + } + + private void validateRlwyMtrlMainExists(List ids) { + List list = rlwyMtrlMainMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(RLWY_MTRL_MAIN_NOT_EXISTS); + } + for (RlwyMtrlMainDO rlwyMtrlMainDO : list) { + //草稿状态才能删除 + if(rlwyMtrlMainDO.getSts() != "00"){ + throw exception(RLWY_MTRL_MAIN_NOT_EXISTS); + } + } + } + + private void validateRlwyMtrlMainExists(Long id) { + + RlwyMtrlMainDO rlwyMtrlMainDO = rlwyMtrlMainMapper.selectById(id); + if (rlwyMtrlMainDO == null) { + throw exception(RLWY_MTRL_MAIN_NOT_EXISTS); + } + //草稿状态才能操作 + if(rlwyMtrlMainDO.getSts() != "00"){ + throw exception(RLWY_MTRL_MAIN_STATUS_EXISTS); + } + } + + @Override + public RlwyMtrlMainDO getRlwyMtrlMain(Long id) { + return rlwyMtrlMainMapper.selectById(id); + } + + @Override + public PageResult getRlwyMtrlMainPage(RlwyMtrlMainPageReqVO pageReqVO) { + return rlwyMtrlMainMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlSubService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlSubService.java new file mode 100644 index 00000000..1e89c605 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlSubService.java @@ -0,0 +1,65 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.rlwyMtrl; + +import java.util.*; + +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlSubPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlSubRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlSubSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RlwyMtrlSubDO; +import jakarta.validation.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 铁路物资对照子 Service 接口 + * + * @author 后台管理 + */ +public interface RlwyMtrlSubService { + + /** + * 创建铁路物资对照子 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + List createRlwyMtrlSub(@Valid List createReqVO); + + /** + * 更新铁路物资对照子 + * + * @param updateReqVO 更新信息 + */ + void updateRlwyMtrlSub(@Valid RlwyMtrlSubSaveReqVO updateReqVO); + + /** + * 删除铁路物资对照子 + * + * @param id 编号 + */ + void deleteRlwyMtrlSub(Long id); + + /** + * 批量删除铁路物资对照子 + * + * @param ids 编号 + */ + void deleteRlwyMtrlSubListByIds(List ids); + + /** + * 获得铁路物资对照子 + * + * @param id 编号 + * @return 铁路物资对照子 + */ + RlwyMtrlSubDO getRlwyMtrlSub(Long id); + + /** + * 获得铁路物资对照子分页 + * + * @param pageReqVO 分页查询 + * @return 铁路物资对照子分页 + */ + PageResult getRlwyMtrlSubPage(RlwyMtrlSubPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlSubServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlSubServiceImpl.java new file mode 100644 index 00000000..ddf59bd9 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/rlwyMtrl/RlwyMtrlSubServiceImpl.java @@ -0,0 +1,117 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.rlwyMtrl; + +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlSubPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlSubRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.rlwyMtrl.vo.RlwyMtrlSubSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RlwyMtrlMainDO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.rlwyMtrl.RlwyMtrlSubDO; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.rlwyMtrl.RlwyMtrlMainMapper; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.rlwyMtrl.RlwyMtrlSubMapper; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.*; + +/** + * 铁路物资对照子 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +@Transactional +public class RlwyMtrlSubServiceImpl implements RlwyMtrlSubService { + + @Resource + private RlwyMtrlSubMapper rlwyMtrlSubMapper; + + @Resource + private RlwyMtrlMainMapper rlwyMtrlMainMapper; + + @Override + public List createRlwyMtrlSub(List createReqVOs) { + // 插入 + + List rlwyMtrlSubDOs = new ArrayList<>(); + for (RlwyMtrlSubSaveReqVO createReqVO : createReqVOs) { + RlwyMtrlSubDO rlwyMtrlSub = BeanUtils.toBean(createReqVO, RlwyMtrlSubDO.class); + + //查询物资是否已经存在对照 + RlwyMtrlSubPageReqVO rlwyMtrlSubPageReqVO = new RlwyMtrlSubPageReqVO(); + rlwyMtrlSubPageReqVO.setMtrlId(createReqVO.getMtrlId()); + PageResult result = rlwyMtrlSubMapper.selectPage(rlwyMtrlSubPageReqVO); + if (result.getTotal() > 0) { + throw exception(RLWY_MTRL_SUB_MATERIAL_EXISTS); + } + + rlwyMtrlSubMapper.insert(rlwyMtrlSub); + rlwyMtrlSubDOs.add(rlwyMtrlSub); + } + + // 返回 + return BeanUtils.toBean(rlwyMtrlSubDOs, RlwyMtrlSubRespVO.class); + } + + @Override + public void updateRlwyMtrlSub(RlwyMtrlSubSaveReqVO updateReqVO) { + // 校验存在 + validateRlwyMtrlSubExists(updateReqVO.getId()); + // 更新 + RlwyMtrlSubDO updateObj = BeanUtils.toBean(updateReqVO, RlwyMtrlSubDO.class); + rlwyMtrlSubMapper.updateById(updateObj); + } + + @Override + public void deleteRlwyMtrlSub(Long id) { + // 校验存在 + validateRlwyMtrlSubExists(id); + // 删除 + rlwyMtrlSubMapper.deleteById(id); + } + + @Override + public void deleteRlwyMtrlSubListByIds(List ids) { + for (Long id : ids) { + this.deleteRlwyMtrlSub(id); + } + } + + private void validateRlwyMtrlSubExists(List ids) { + List list = rlwyMtrlSubMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(RLWY_MTRL_SUB_NOT_EXISTS); + } + } + + private void validateRlwyMtrlSubExists(Long id) { + RlwyMtrlSubDO rlwyMtrlSubDO = rlwyMtrlSubMapper.selectById(id); + RlwyMtrlMainDO rlwyMtrlMainDO = rlwyMtrlMainMapper.selectById(rlwyMtrlSubDO.getMainId()); + + if (null != rlwyMtrlMainDO && !"00".equals(rlwyMtrlMainDO.getSts())) { + throw exception(RLWY_MTRL_MAIN_STATUS_EXISTS); + } + } + + + +@Override +public RlwyMtrlSubDO getRlwyMtrlSub(Long id) { + return rlwyMtrlSubMapper.selectById(id); +} + +@Override +public PageResult getRlwyMtrlSubPage(RlwyMtrlSubPageReqVO pageReqVO) { + return rlwyMtrlSubMapper.selectPage(pageReqVO); +} + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/rlwyMtrl/RlwyMtrlSubMapper.xml b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/rlwyMtrl/RlwyMtrlSubMapper.xml new file mode 100644 index 00000000..5c3ba79e --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/rlwyMtrl/RlwyMtrlSubMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/rlwyMtrl/RlwyMtrlXpdMapper.xml b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/rlwyMtrl/RlwyMtrlXpdMapper.xml new file mode 100644 index 00000000..25ac7564 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/rlwyMtrl/RlwyMtrlXpdMapper.xml @@ -0,0 +1,87 @@ + + + + + + + + + + + \ No newline at end of file