From f960eb05c460bd7547824d98d8109ab0f2aee78d Mon Sep 17 00:00:00 2001 From: yinq Date: Wed, 15 Oct 2025 09:14:33 +0800 Subject: [PATCH] =?UTF-8?q?1.0.11=20=E5=90=88=E5=90=8C=E7=89=A9=E6=96=99?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ava => ErpContractMaterialController.java} | 70 ++++----- .../oa/erp/domain/ErpContractInfo.java | 9 +- ...Materiel.java => ErpContractMaterial.java} | 23 +-- .../oa/erp/domain/bo/ErpContractInfoBo.java | 8 + ...rielBo.java => ErpContractMaterialBo.java} | 24 +-- .../oa/erp/domain/vo/ErpContractInfoVo.java | 8 +- ...rielVo.java => ErpContractMaterialVo.java} | 43 ++++-- ...er.java => ErpContractMaterialMapper.java} | 12 +- ....java => IErpContractMaterialService.java} | 22 +-- .../impl/ErpContractInfoServiceImpl.java | 124 +++++++++------ .../impl/ErpContractMaterialServiceImpl.java | 144 ++++++++++++++++++ .../impl/ErpContractMaterielServiceImpl.java | 143 ----------------- .../oa/erp/ErpContractMaterialMapper.xml | 14 ++ .../oa/erp/ErpContractMaterielMapper.xml | 14 -- 14 files changed, 373 insertions(+), 285 deletions(-) rename ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/controller/{ErpContractMaterielController.java => ErpContractMaterialController.java} (51%) rename ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/{ErpContractMateriel.java => ErpContractMaterial.java} (74%) rename ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/{ErpContractMaterielBo.java => ErpContractMaterialBo.java} (69%) rename ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/{ErpContractMaterielVo.java => ErpContractMaterialVo.java} (69%) rename ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/mapper/{ErpContractMaterielMapper.java => ErpContractMaterialMapper.java} (55%) rename ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/{IErpContractMaterielService.java => IErpContractMaterialService.java} (66%) create mode 100644 ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpContractMaterialServiceImpl.java delete mode 100644 ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpContractMaterielServiceImpl.java create mode 100644 ruoyi-modules/ruoyi-oa/src/main/resources/mapper/oa/erp/ErpContractMaterialMapper.xml delete mode 100644 ruoyi-modules/ruoyi-oa/src/main/resources/mapper/oa/erp/ErpContractMaterielMapper.xml diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/controller/ErpContractMaterielController.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/controller/ErpContractMaterialController.java similarity index 51% rename from ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/controller/ErpContractMaterielController.java rename to ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/controller/ErpContractMaterialController.java index 7cb2b43f..5c4a9e71 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/controller/ErpContractMaterielController.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/controller/ErpContractMaterialController.java @@ -17,99 +17,99 @@ import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.EditGroup; import org.dromara.common.log.enums.BusinessType; import org.dromara.common.excel.utils.ExcelUtil; -import org.dromara.oa.erp.domain.vo.ErpContractMaterielVo; -import org.dromara.oa.erp.domain.bo.ErpContractMaterielBo; -import org.dromara.oa.erp.service.IErpContractMaterielService; +import org.dromara.oa.erp.domain.vo.ErpContractMaterialVo; +import org.dromara.oa.erp.domain.bo.ErpContractMaterialBo; +import org.dromara.oa.erp.service.IErpContractMaterialService; import org.dromara.common.mybatis.core.page.TableDataInfo; /** * 合同物料信息 - * 前端访问路由地址为:/oa/erp/contractMateriel + * 前端访问路由地址为:/oa/erp/contractMaterial * * @author Yinq - * @date 2025-10-11 + * @date 2025-10-14 */ @Validated @RequiredArgsConstructor @RestController -@RequestMapping("/erp/contractMateriel") -public class ErpContractMaterielController extends BaseController { +@RequestMapping("/erp/contractMaterial") +public class ErpContractMaterialController extends BaseController { - private final IErpContractMaterielService erpContractMaterielService; + private final IErpContractMaterialService erpContractMaterialService; /** * 查询合同物料信息列表 */ - @SaCheckPermission("oa/erp:contractMateriel:list") + @SaCheckPermission("oa/erp:contractMaterial:list") @GetMapping("/list") - public TableDataInfo list(ErpContractMaterielBo bo, PageQuery pageQuery) { - return erpContractMaterielService.queryPageList(bo, pageQuery); + public TableDataInfo list(ErpContractMaterialBo bo, PageQuery pageQuery) { + return erpContractMaterialService.queryPageList(bo, pageQuery); } /** * 导出合同物料信息列表 */ - @SaCheckPermission("oa/erp:contractMateriel:export") + @SaCheckPermission("oa/erp:contractMaterial:export") @Log(title = "合同物料信息", businessType = BusinessType.EXPORT) @PostMapping("/export") - public void export(ErpContractMaterielBo bo, HttpServletResponse response) { - List list = erpContractMaterielService.queryList(bo); - ExcelUtil.exportExcel(list, "合同物料信息", ErpContractMaterielVo.class, response); + public void export(ErpContractMaterialBo bo, HttpServletResponse response) { + List list = erpContractMaterialService.queryList(bo); + ExcelUtil.exportExcel(list, "合同物料信息", ErpContractMaterialVo.class, response); } /** * 获取合同物料信息详细信息 * - * @param contractMaterielId 主键 + * @param contractMaterialId 主键 */ - @SaCheckPermission("oa/erp:contractMateriel:query") - @GetMapping("/{contractMaterielId}") - public R getInfo(@NotNull(message = "主键不能为空") - @PathVariable("contractMaterielId") Long contractMaterielId) { - return R.ok(erpContractMaterielService.queryById(contractMaterielId)); + @SaCheckPermission("oa/erp:contractMaterial:query") + @GetMapping("/{contractMaterialId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable("contractMaterialId") Long contractMaterialId) { + return R.ok(erpContractMaterialService.queryById(contractMaterialId)); } /** * 新增合同物料信息 */ - @SaCheckPermission("oa/erp:contractMateriel:add") + @SaCheckPermission("oa/erp:contractMaterial:add") @Log(title = "合同物料信息", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() - public R add(@Validated(AddGroup.class) @RequestBody ErpContractMaterielBo bo) { - return toAjax(erpContractMaterielService.insertByBo(bo)); + public R add(@Validated(AddGroup.class) @RequestBody ErpContractMaterialBo bo) { + return toAjax(erpContractMaterialService.insertByBo(bo)); } /** * 修改合同物料信息 */ - @SaCheckPermission("oa/erp:contractMateriel:edit") + @SaCheckPermission("oa/erp:contractMaterial:edit") @Log(title = "合同物料信息", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() - public R edit(@Validated(EditGroup.class) @RequestBody ErpContractMaterielBo bo) { - return toAjax(erpContractMaterielService.updateByBo(bo)); + public R edit(@Validated(EditGroup.class) @RequestBody ErpContractMaterialBo bo) { + return toAjax(erpContractMaterialService.updateByBo(bo)); } /** * 删除合同物料信息 * - * @param contractMaterielIds 主键串 + * @param contractMaterialIds 主键串 */ - @SaCheckPermission("oa/erp:contractMateriel:remove") + @SaCheckPermission("oa/erp:contractMaterial:remove") @Log(title = "合同物料信息", businessType = BusinessType.DELETE) - @DeleteMapping("/{contractMaterielIds}") + @DeleteMapping("/{contractMaterialIds}") public R remove(@NotEmpty(message = "主键不能为空") - @PathVariable("contractMaterielIds") Long[] contractMaterielIds) { - return toAjax(erpContractMaterielService.deleteWithValidByIds(List.of(contractMaterielIds), true)); + @PathVariable("contractMaterialIds") Long[] contractMaterialIds) { + return toAjax(erpContractMaterialService.deleteWithValidByIds(List.of(contractMaterialIds), true)); } /** * 下拉框查询合同物料信息列表 */ - @GetMapping("/getErpContractMaterielList") - public R> getErpContractMaterielList(ErpContractMaterielBo bo) { - List list = erpContractMaterielService.queryList(bo); + @GetMapping("/getErpContractMaterialList") + public R> getErpContractMaterialList(ErpContractMaterialBo bo) { + List list = erpContractMaterialService.queryList(bo); return R.ok(list); } diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpContractInfo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpContractInfo.java index 351e9fc9..7a8b96eb 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpContractInfo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpContractInfo.java @@ -9,6 +9,7 @@ import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import java.io.Serial; +import java.util.List; /** * 合同信息对象 erp_contract_info @@ -27,7 +28,7 @@ public class ErpContractInfo extends TenantEntity { /** * 合同ID */ - @TableId(value = "contract_id", type = IdType.AUTO) + @TableId(value = "contract_id", type = IdType.ASSIGN_ID) private Long contractId; /** @@ -156,5 +157,9 @@ public class ErpContractInfo extends TenantEntity { @TableLogic private String delFlag; - + /** + * 合同物料List + */ + @TableField(exist = false) + private List contractMaterielList; } diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpContractMateriel.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpContractMaterial.java similarity index 74% rename from ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpContractMateriel.java rename to ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpContractMaterial.java index 79cff757..a01b0f79 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpContractMateriel.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpContractMaterial.java @@ -9,15 +9,15 @@ import java.math.BigDecimal; import java.io.Serial; /** - * 合同物料信息对象 erp_contract_materiel + * 合同物料信息对象 erp_contract_material * * @author Yinq - * @date 2025-10-11 + * @date 2025-10-14 */ @Data @EqualsAndHashCode(callSuper = true) -@TableName("erp_contract_materiel") -public class ErpContractMateriel extends TenantEntity { +@TableName("erp_contract_material") +public class ErpContractMaterial extends TenantEntity { @Serial private static final long serialVersionUID = 1L; @@ -25,8 +25,13 @@ public class ErpContractMateriel extends TenantEntity { /** * 合同物料ID */ - @TableId(value = "contract_materiel_id", type = IdType.AUTO) - private Long contractMaterielId; + @TableId(value = "contract_material_id", type = IdType.AUTO) + private Long contractMaterialId; + + /** + * 计划标识(1计划内 2计划外) + */ + private String planFlag; /** * 合同ID @@ -46,17 +51,17 @@ public class ErpContractMateriel extends TenantEntity { /** * 物料ID */ - private Long materielId; + private Long materialId; /** * 销售物料ID */ - private Long relationMaterielId; + private Long relationMaterialId; /** * 数量 */ - private Long amount; + private BigDecimal amount; /** * 单位ID diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpContractInfoBo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpContractInfoBo.java index 35380350..23d97eec 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpContractInfoBo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpContractInfoBo.java @@ -10,7 +10,10 @@ import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; import java.math.BigDecimal; import java.util.Date; +import java.util.List; + import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.oa.erp.domain.ErpContractMateriel; /** * 合同信息业务对象 erp_contract_info @@ -149,5 +152,10 @@ public class ErpContractInfoBo extends BaseEntity { */ private String activeFlag; + /** + * 合同物料List + */ + private List contractMaterielList; + } diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpContractMaterielBo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpContractMaterialBo.java similarity index 69% rename from ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpContractMaterielBo.java rename to ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpContractMaterialBo.java index 0768da50..6ec6d213 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpContractMaterielBo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpContractMaterialBo.java @@ -1,6 +1,6 @@ package org.dromara.oa.erp.domain.bo; -import org.dromara.oa.erp.domain.ErpContractMateriel; +import org.dromara.oa.erp.domain.ErpContractMaterial; import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.EditGroup; @@ -11,20 +11,26 @@ import jakarta.validation.constraints.*; import java.math.BigDecimal; /** - * 合同物料信息业务对象 erp_contract_materiel + * 合同物料信息业务对象 erp_contract_material * * @author Yinq - * @date 2025-10-11 + * @date 2025-10-14 */ @Data @EqualsAndHashCode(callSuper = true) -@AutoMapper(target = ErpContractMateriel.class, reverseConvertGenerate = false) -public class ErpContractMaterielBo extends BaseEntity { +@AutoMapper(target = ErpContractMaterial.class, reverseConvertGenerate = false) +public class ErpContractMaterialBo extends BaseEntity { /** * 合同物料ID */ - private Long contractMaterielId; + @NotNull(message = "合同物料ID不能为空", groups = { EditGroup.class }) + private Long contractMaterialId; + + /** + * 计划标识(1计划内 2计划外) + */ + private String planFlag; /** * 合同ID @@ -44,17 +50,17 @@ public class ErpContractMaterielBo extends BaseEntity { /** * 物料ID */ - private Long materielId; + private Long materialId; /** * 销售物料ID */ - private Long relationMaterielId; + private Long relationMaterialId; /** * 数量 */ - private Long amount; + private BigDecimal amount; /** * 单位ID diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpContractInfoVo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpContractInfoVo.java index a3675940..a347b6b8 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpContractInfoVo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpContractInfoVo.java @@ -10,11 +10,12 @@ import org.dromara.common.excel.annotation.ExcelDictFormat; import org.dromara.common.excel.convert.ExcelDictConvert; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; +import org.dromara.oa.erp.domain.ErpContractMateriel; import java.io.Serial; import java.io.Serializable; import java.util.Date; - +import java.util.List; /** @@ -211,5 +212,8 @@ public class ErpContractInfoVo implements Serializable { @ExcelProperty(value = "更新时间") private Date updateTime; - + /** + * 合同物料List + */ + private List contractMaterielList; } diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpContractMaterielVo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpContractMaterialVo.java similarity index 69% rename from ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpContractMaterielVo.java rename to ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpContractMaterialVo.java index aff45057..42780dd5 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpContractMaterielVo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpContractMaterialVo.java @@ -1,7 +1,7 @@ package org.dromara.oa.erp.domain.vo; import java.math.BigDecimal; -import org.dromara.oa.erp.domain.ErpContractMateriel; +import org.dromara.oa.erp.domain.ErpContractMaterial; import cn.idev.excel.annotation.ExcelIgnoreUnannotated; import cn.idev.excel.annotation.ExcelProperty; import org.dromara.common.excel.annotation.ExcelDictFormat; @@ -16,15 +16,15 @@ import java.util.Date; /** - * 合同物料信息视图对象 erp_contract_materiel + * 合同物料信息视图对象 erp_contract_material * * @author Yinq - * @date 2025-10-11 + * @date 2025-10-14 */ @Data @ExcelIgnoreUnannotated -@AutoMapper(target = ErpContractMateriel.class) -public class ErpContractMaterielVo implements Serializable { +@AutoMapper(target = ErpContractMaterial.class) +public class ErpContractMaterialVo implements Serializable { @Serial private static final long serialVersionUID = 1L; @@ -33,7 +33,14 @@ public class ErpContractMaterielVo implements Serializable { * 合同物料ID */ @ExcelProperty(value = "合同物料ID") - private Long contractMaterielId; + private Long contractMaterialId; + + /** + * 计划标识(1计划内 2计划外) + */ + @ExcelProperty(value = "计划标识", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "plan_flag") + private String planFlag; /** * 合同ID @@ -57,19 +64,19 @@ public class ErpContractMaterielVo implements Serializable { * 物料ID */ @ExcelProperty(value = "物料ID") - private Long materielId; + private Long materialId; /** * 销售物料ID */ @ExcelProperty(value = "销售物料ID") - private Long relationMaterielId; + private Long relationMaterialId; /** * 数量 */ @ExcelProperty(value = "数量") - private Long amount; + private BigDecimal amount; /** * 单位ID @@ -114,5 +121,23 @@ public class ErpContractMaterielVo implements Serializable { @ExcelDictFormat(dictType = "active_flag") private String activeFlag; + /** + * 创建部门 + */ + @ExcelProperty(value = "创建部门") + private Long createDept; + + /** + * 创建人 + */ + @ExcelProperty(value = "创建人") + private Long createBy; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间") + private Date createTime; + } diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/mapper/ErpContractMaterielMapper.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/mapper/ErpContractMaterialMapper.java similarity index 55% rename from ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/mapper/ErpContractMaterielMapper.java rename to ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/mapper/ErpContractMaterialMapper.java index 717c52f4..7056daf2 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/mapper/ErpContractMaterielMapper.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/mapper/ErpContractMaterialMapper.java @@ -5,17 +5,17 @@ import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; -import org.dromara.oa.erp.domain.ErpContractMateriel; -import org.dromara.oa.erp.domain.vo.ErpContractMaterielVo; +import org.dromara.oa.erp.domain.ErpContractMaterial; +import org.dromara.oa.erp.domain.vo.ErpContractMaterialVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; /** * 合同物料信息Mapper接口 * * @author Yinq - * @date 2025-10-11 + * @date 2025-10-14 */ -public interface ErpContractMaterielMapper extends BaseMapperPlus { +public interface ErpContractMaterialMapper extends BaseMapperPlus { /** * 查询合同物料信息列表 @@ -24,7 +24,7 @@ public interface ErpContractMaterielMapper extends BaseMapperPlus selectCustomErpContractMaterielVoList(@Param("page") Page page, @Param(Constants.WRAPPER) MPJLambdaWrapper queryWrapper); + public Page selectCustomErpContractMaterialVoList(@Param("page") Page page, @Param(Constants.WRAPPER) MPJLambdaWrapper queryWrapper); /** * 查询合同物料信息列表 @@ -32,6 +32,6 @@ public interface ErpContractMaterielMapper extends BaseMapperPlus selectCustomErpContractMaterielVoList(@Param(Constants.WRAPPER) MPJLambdaWrapper queryWrapper); + public List selectCustomErpContractMaterialVoList(@Param(Constants.WRAPPER) MPJLambdaWrapper queryWrapper); } diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/IErpContractMaterielService.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/IErpContractMaterialService.java similarity index 66% rename from ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/IErpContractMaterielService.java rename to ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/IErpContractMaterialService.java index 1b1d02c2..2e58c3f8 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/IErpContractMaterielService.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/IErpContractMaterialService.java @@ -1,8 +1,8 @@ package org.dromara.oa.erp.service; -import org.dromara.oa.erp.domain.ErpContractMateriel; -import org.dromara.oa.erp.domain.vo.ErpContractMaterielVo; -import org.dromara.oa.erp.domain.bo.ErpContractMaterielBo; +import org.dromara.oa.erp.domain.ErpContractMaterial; +import org.dromara.oa.erp.domain.vo.ErpContractMaterialVo; +import org.dromara.oa.erp.domain.bo.ErpContractMaterialBo; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; @@ -13,17 +13,17 @@ import java.util.List; * 合同物料信息Service接口 * * @author Yinq - * @date 2025-10-11 + * @date 2025-10-14 */ -public interface IErpContractMaterielService { +public interface IErpContractMaterialService { /** * 查询合同物料信息 * - * @param contractMaterielId 主键 + * @param contractMaterialId 主键 * @return 合同物料信息 */ - ErpContractMaterielVo queryById(Long contractMaterielId); + ErpContractMaterialVo queryById(Long contractMaterialId); /** * 分页查询合同物料信息列表 @@ -32,7 +32,7 @@ public interface IErpContractMaterielService { * @param pageQuery 分页参数 * @return 合同物料信息分页列表 */ - TableDataInfo queryPageList(ErpContractMaterielBo bo, PageQuery pageQuery); + TableDataInfo queryPageList(ErpContractMaterialBo bo, PageQuery pageQuery); /** * 查询符合条件的合同物料信息列表 @@ -40,7 +40,7 @@ public interface IErpContractMaterielService { * @param bo 查询条件 * @return 合同物料信息列表 */ - List queryList(ErpContractMaterielBo bo); + List queryList(ErpContractMaterialBo bo); /** * 新增合同物料信息 @@ -48,7 +48,7 @@ public interface IErpContractMaterielService { * @param bo 合同物料信息 * @return 是否新增成功 */ - Boolean insertByBo(ErpContractMaterielBo bo); + Boolean insertByBo(ErpContractMaterialBo bo); /** * 修改合同物料信息 @@ -56,7 +56,7 @@ public interface IErpContractMaterielService { * @param bo 合同物料信息 * @return 是否修改成功 */ - Boolean updateByBo(ErpContractMaterielBo bo); + Boolean updateByBo(ErpContractMaterialBo bo); /** * 校验并批量删除合同物料信息信息 diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpContractInfoServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpContractInfoServiceImpl.java index 71342d28..69f21854 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpContractInfoServiceImpl.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpContractInfoServiceImpl.java @@ -1,24 +1,30 @@ package org.dromara.oa.erp.service.impl; +import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; - import org.dromara.common.mybatis.core.page.TableDataInfo; - import org.dromara.common.mybatis.core.page.PageQuery; - import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.toolkit.JoinWrappers; import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; +import org.dromara.oa.erp.domain.ErpContractMateriel; +import org.dromara.oa.erp.mapper.ErpContractMaterielMapper; import org.springframework.stereotype.Service; import org.dromara.oa.erp.domain.bo.ErpContractInfoBo; import org.dromara.oa.erp.domain.vo.ErpContractInfoVo; import org.dromara.oa.erp.domain.ErpContractInfo; import org.dromara.oa.erp.mapper.ErpContractInfoMapper; import org.dromara.oa.erp.service.IErpContractInfoService; +import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Map; import java.util.Collection; +import java.util.Set; +import java.util.stream.Collectors; /** * 合同信息Service业务层处理 @@ -32,6 +38,8 @@ public class ErpContractInfoServiceImpl implements IErpContractInfoService { private final ErpContractInfoMapper baseMapper; + private final ErpContractMaterielMapper contractMaterielMapper; + /** * 查询合同信息 * @@ -39,23 +47,23 @@ public class ErpContractInfoServiceImpl implements IErpContractInfoService { * @return 合同信息 */ @Override - public ErpContractInfoVo queryById(Long contractId){ + public ErpContractInfoVo queryById(Long contractId) { return baseMapper.selectVoById(contractId); } - /** - * 分页查询合同信息列表 - * - * @param bo 查询条件 - * @param pageQuery 分页参数 - * @return 合同信息分页列表 - */ - @Override - public TableDataInfo queryPageList(ErpContractInfoBo bo, PageQuery pageQuery) { - MPJLambdaWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); - return TableDataInfo.build(result); - } + /** + * 分页查询合同信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 合同信息分页列表 + */ + @Override + public TableDataInfo queryPageList(ErpContractInfoBo bo, PageQuery pageQuery) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } /** * 查询符合条件的合同信息列表 @@ -72,31 +80,30 @@ public class ErpContractInfoServiceImpl implements IErpContractInfoService { private MPJLambdaWrapper buildQueryWrapper(ErpContractInfoBo bo) { Map params = bo.getParams(); MPJLambdaWrapper lqw = JoinWrappers.lambda(ErpContractInfo.class) - .selectAll(ErpContractInfo.class) - .eq(StringUtils.isNotBlank(bo.getContractFlag()), ErpContractInfo::getContractFlag, bo.getContractFlag()) - .eq(StringUtils.isNotBlank(bo.getContractCode()), ErpContractInfo::getContractCode, bo.getContractCode()) - .like(StringUtils.isNotBlank(bo.getContractName()), ErpContractInfo::getContractName, bo.getContractName()) - .eq(StringUtils.isNotBlank(bo.getContractCategory()), ErpContractInfo::getContractCategory, bo.getContractCategory()) - .eq(StringUtils.isNotBlank(bo.getContractType()), ErpContractInfo::getContractType, bo.getContractType()) - .eq(StringUtils.isNotBlank(bo.getBusinessDirection()), ErpContractInfo::getBusinessDirection, bo.getBusinessDirection()) - .eq(bo.getContractDeptId() != null, ErpContractInfo::getContractDeptId, bo.getContractDeptId()) - .eq(bo.getContractDate() != null, ErpContractInfo::getContractDate, bo.getContractDate()) - .eq(bo.getTotalPrice() != null, ErpContractInfo::getTotalPrice, bo.getTotalPrice()) - .eq(bo.getACustomerId() != null, ErpContractInfo::getACustomerId, bo.getACustomerId()) - .eq(StringUtils.isNotBlank(bo.getARepresent()), ErpContractInfo::getARepresent, bo.getARepresent()) - .eq(bo.getADate() != null, ErpContractInfo::getADate, bo.getADate()) - .eq(bo.getBCustomerId() != null, ErpContractInfo::getBCustomerId, bo.getBCustomerId()) - .eq(StringUtils.isNotBlank(bo.getBRepresent()), ErpContractInfo::getBRepresent, bo.getBRepresent()) - .eq(bo.getBDate() != null, ErpContractInfo::getBDate, bo.getBDate()) - .eq(StringUtils.isNotBlank(bo.getContractStatus()), ErpContractInfo::getContractStatus, bo.getContractStatus()) - .eq(StringUtils.isNotBlank(bo.getFlowStatus()), ErpContractInfo::getFlowStatus, bo.getFlowStatus()) - .eq(bo.getTemplateId() != null, ErpContractInfo::getTemplateId, bo.getTemplateId()) - .eq(StringUtils.isNotBlank(bo.getOssId()), ErpContractInfo::getOssId, bo.getOssId()) - .eq(StringUtils.isNotBlank(bo.getPaymentMethod()), ErpContractInfo::getPaymentMethod, bo.getPaymentMethod()) - .eq(bo.getSignatureAppendix() != null, ErpContractInfo::getSignatureAppendix, bo.getSignatureAppendix()) - .eq(bo.getTaxRate() != null, ErpContractInfo::getTaxRate, bo.getTaxRate()) - .eq(StringUtils.isNotBlank(bo.getActiveFlag()), ErpContractInfo::getActiveFlag, bo.getActiveFlag()) -; + .selectAll(ErpContractInfo.class) + .eq(StringUtils.isNotBlank(bo.getContractFlag()), ErpContractInfo::getContractFlag, bo.getContractFlag()) + .eq(StringUtils.isNotBlank(bo.getContractCode()), ErpContractInfo::getContractCode, bo.getContractCode()) + .like(StringUtils.isNotBlank(bo.getContractName()), ErpContractInfo::getContractName, bo.getContractName()) + .eq(StringUtils.isNotBlank(bo.getContractCategory()), ErpContractInfo::getContractCategory, bo.getContractCategory()) + .eq(StringUtils.isNotBlank(bo.getContractType()), ErpContractInfo::getContractType, bo.getContractType()) + .eq(StringUtils.isNotBlank(bo.getBusinessDirection()), ErpContractInfo::getBusinessDirection, bo.getBusinessDirection()) + .eq(bo.getContractDeptId() != null, ErpContractInfo::getContractDeptId, bo.getContractDeptId()) + .eq(bo.getContractDate() != null, ErpContractInfo::getContractDate, bo.getContractDate()) + .eq(bo.getTotalPrice() != null, ErpContractInfo::getTotalPrice, bo.getTotalPrice()) + .eq(bo.getACustomerId() != null, ErpContractInfo::getACustomerId, bo.getACustomerId()) + .eq(StringUtils.isNotBlank(bo.getARepresent()), ErpContractInfo::getARepresent, bo.getARepresent()) + .eq(bo.getADate() != null, ErpContractInfo::getADate, bo.getADate()) + .eq(bo.getBCustomerId() != null, ErpContractInfo::getBCustomerId, bo.getBCustomerId()) + .eq(StringUtils.isNotBlank(bo.getBRepresent()), ErpContractInfo::getBRepresent, bo.getBRepresent()) + .eq(bo.getBDate() != null, ErpContractInfo::getBDate, bo.getBDate()) + .eq(StringUtils.isNotBlank(bo.getContractStatus()), ErpContractInfo::getContractStatus, bo.getContractStatus()) + .eq(StringUtils.isNotBlank(bo.getFlowStatus()), ErpContractInfo::getFlowStatus, bo.getFlowStatus()) + .eq(bo.getTemplateId() != null, ErpContractInfo::getTemplateId, bo.getTemplateId()) + .eq(StringUtils.isNotBlank(bo.getOssId()), ErpContractInfo::getOssId, bo.getOssId()) + .eq(StringUtils.isNotBlank(bo.getPaymentMethod()), ErpContractInfo::getPaymentMethod, bo.getPaymentMethod()) + .eq(bo.getSignatureAppendix() != null, ErpContractInfo::getSignatureAppendix, bo.getSignatureAppendix()) + .eq(bo.getTaxRate() != null, ErpContractInfo::getTaxRate, bo.getTaxRate()) + .eq(StringUtils.isNotBlank(bo.getActiveFlag()), ErpContractInfo::getActiveFlag, bo.getActiveFlag()); return lqw; } @@ -107,12 +114,18 @@ public class ErpContractInfoServiceImpl implements IErpContractInfoService { * @return 是否新增成功 */ @Override + @Transactional(rollbackFor = Exception.class) public Boolean insertByBo(ErpContractInfoBo bo) { ErpContractInfo add = MapstructUtils.convert(bo, ErpContractInfo.class); validEntityBeforeSave(add); + List contractMaterielList = bo.getContractMaterielList(); boolean flag = baseMapper.insert(add) > 0; if (flag) { bo.setContractId(add.getContractId()); + for (ErpContractMateriel erpContractMateriel : contractMaterielList) { + erpContractMateriel.setContractId(add.getContractId()); + contractMaterielMapper.insert(erpContractMateriel); + } } return flag; } @@ -124,17 +137,38 @@ public class ErpContractInfoServiceImpl implements IErpContractInfoService { * @return 是否修改成功 */ @Override + @Transactional(rollbackFor = Exception.class) public Boolean updateByBo(ErpContractInfoBo bo) { ErpContractInfo update = MapstructUtils.convert(bo, ErpContractInfo.class); validEntityBeforeSave(update); + List contractMaterielList = bo.getContractMaterielList(); + MPJLambdaWrapper lqwRecord = JoinWrappers.lambda(ErpContractMateriel.class); + lqwRecord.eq(ErpContractMateriel::getContractId, bo.getContractId()); + List contractMaterielOldList = contractMaterielMapper.selectList(lqwRecord); + if (!contractMaterielList.isEmpty()) { + for (ErpContractMateriel contractMateriel : contractMaterielList) { + contractMaterielMapper.insertOrUpdate(contractMateriel); + } + Set existingContractMaterielIds = contractMaterielList.stream() + .map(ErpContractMateriel::getContractMaterielId) + .collect(Collectors.toSet()); + List filterContractMaterielIds = contractMaterielOldList.stream() + .filter(materiel -> !existingContractMaterielIds.contains(materiel.getContractMaterielId())) + .toList(); + for (ErpContractMateriel filterContractMaterielId : filterContractMaterielIds) { + contractMaterielMapper.deleteById(filterContractMaterielId.getContractMaterielId()); + } + } return baseMapper.updateById(update) > 0; } /** * 保存前的数据校验 */ - private void validEntityBeforeSave(ErpContractInfo entity){ - //TODO 做一些数据校验,如唯一约束 + private void validEntityBeforeSave(ErpContractInfo entity) { + if (entity.getContractMaterielList() == null || entity.getContractMaterielList().isEmpty()) { + throw new ServiceException("请填写合同物料!"); + } } /** @@ -146,7 +180,7 @@ public class ErpContractInfoServiceImpl implements IErpContractInfoService { */ @Override public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ + if (isValid) { //TODO 做一些业务上的校验,判断是否需要校验 } return baseMapper.deleteByIds(ids) > 0; diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpContractMaterialServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpContractMaterialServiceImpl.java new file mode 100644 index 00000000..823534b3 --- /dev/null +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpContractMaterialServiceImpl.java @@ -0,0 +1,144 @@ +package org.dromara.oa.erp.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.toolkit.JoinWrappers; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.dromara.oa.erp.domain.bo.ErpContractMaterialBo; +import org.dromara.oa.erp.domain.vo.ErpContractMaterialVo; +import org.dromara.oa.erp.domain.ErpContractMaterial; +import org.dromara.oa.erp.mapper.ErpContractMaterialMapper; +import org.dromara.oa.erp.service.IErpContractMaterialService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 合同物料信息Service业务层处理 + * + * @author Yinq + * @date 2025-10-14 + */ +@RequiredArgsConstructor +@Service +public class ErpContractMaterialServiceImpl implements IErpContractMaterialService { + + private final ErpContractMaterialMapper baseMapper; + + /** + * 查询合同物料信息 + * + * @param contractMaterialId 主键 + * @return 合同物料信息 + */ + @Override + public ErpContractMaterialVo queryById(Long contractMaterialId) { + return baseMapper.selectVoById(contractMaterialId); + } + + /** + * 分页查询合同物料信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 合同物料信息分页列表 + */ + @Override + public TableDataInfo queryPageList(ErpContractMaterialBo bo, PageQuery pageQuery) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的合同物料信息列表 + * + * @param bo 查询条件 + * @return 合同物料信息列表 + */ + @Override + public List queryList(ErpContractMaterialBo bo) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private MPJLambdaWrapper buildQueryWrapper(ErpContractMaterialBo bo) { + Map params = bo.getParams(); + MPJLambdaWrapper lqw = JoinWrappers.lambda(ErpContractMaterial.class) + .selectAll(ErpContractMaterial.class) + .eq(StringUtils.isNotBlank(bo.getPlanFlag()), ErpContractMaterial::getPlanFlag, bo.getPlanFlag()) + .eq(bo.getContractId() != null, ErpContractMaterial::getContractId, bo.getContractId()) + .like(StringUtils.isNotBlank(bo.getProductName()), ErpContractMaterial::getProductName, bo.getProductName()) + .eq(StringUtils.isNotBlank(bo.getSpecificationDescription()), ErpContractMaterial::getSpecificationDescription, bo.getSpecificationDescription()) + .eq(bo.getMaterialId() != null, ErpContractMaterial::getMaterialId, bo.getMaterialId()) + .eq(bo.getRelationMaterialId() != null, ErpContractMaterial::getRelationMaterialId, bo.getRelationMaterialId()) + .eq(bo.getAmount() != null, ErpContractMaterial::getAmount, bo.getAmount()) + .eq(bo.getUnitId() != null, ErpContractMaterial::getUnitId, bo.getUnitId()) + .eq(bo.getBeforePrice() != null, ErpContractMaterial::getBeforePrice, bo.getBeforePrice()) + .eq(bo.getTaxRate() != null, ErpContractMaterial::getTaxRate, bo.getTaxRate()) + .eq(bo.getIncludingPrice() != null, ErpContractMaterial::getIncludingPrice, bo.getIncludingPrice()) + .eq(bo.getSubtotal() != null, ErpContractMaterial::getSubtotal, bo.getSubtotal()) + .eq(StringUtils.isNotBlank(bo.getActiveFlag()), ErpContractMaterial::getActiveFlag, bo.getActiveFlag()) + .orderByAsc(ErpContractMaterial::getContractMaterialId); + return lqw; + } + + /** + * 新增合同物料信息 + * + * @param bo 合同物料信息 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(ErpContractMaterialBo bo) { + ErpContractMaterial add = MapstructUtils.convert(bo, ErpContractMaterial.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setContractMaterialId(add.getContractMaterialId()); + } + return flag; + } + + /** + * 修改合同物料信息 + * + * @param bo 合同物料信息 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(ErpContractMaterialBo bo) { + ErpContractMaterial update = MapstructUtils.convert(bo, ErpContractMaterial.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(ErpContractMaterial entity) { + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除合同物料信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if (isValid) { + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpContractMaterielServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpContractMaterielServiceImpl.java deleted file mode 100644 index d7e86035..00000000 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpContractMaterielServiceImpl.java +++ /dev/null @@ -1,143 +0,0 @@ -package org.dromara.oa.erp.service.impl; - -import org.dromara.common.core.utils.MapstructUtils; -import org.dromara.common.core.utils.StringUtils; - import org.dromara.common.mybatis.core.page.TableDataInfo; - import org.dromara.common.mybatis.core.page.PageQuery; - import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.github.yulichang.toolkit.JoinWrappers; -import com.github.yulichang.wrapper.MPJLambdaWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.dromara.oa.erp.domain.bo.ErpContractMaterielBo; -import org.dromara.oa.erp.domain.vo.ErpContractMaterielVo; -import org.dromara.oa.erp.domain.ErpContractMateriel; -import org.dromara.oa.erp.mapper.ErpContractMaterielMapper; -import org.dromara.oa.erp.service.IErpContractMaterielService; - -import java.util.List; -import java.util.Map; -import java.util.Collection; - -/** - * 合同物料信息Service业务层处理 - * - * @author Yinq - * @date 2025-10-11 - */ -@RequiredArgsConstructor -@Service -public class ErpContractMaterielServiceImpl implements IErpContractMaterielService { - - private final ErpContractMaterielMapper baseMapper; - - /** - * 查询合同物料信息 - * - * @param contractMaterielId 主键 - * @return 合同物料信息 - */ - @Override - public ErpContractMaterielVo queryById(Long contractMaterielId){ - return baseMapper.selectVoById(contractMaterielId); - } - - /** - * 分页查询合同物料信息列表 - * - * @param bo 查询条件 - * @param pageQuery 分页参数 - * @return 合同物料信息分页列表 - */ - @Override - public TableDataInfo queryPageList(ErpContractMaterielBo bo, PageQuery pageQuery) { - MPJLambdaWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); - return TableDataInfo.build(result); - } - - /** - * 查询符合条件的合同物料信息列表 - * - * @param bo 查询条件 - * @return 合同物料信息列表 - */ - @Override - public List queryList(ErpContractMaterielBo bo) { - MPJLambdaWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); - } - - private MPJLambdaWrapper buildQueryWrapper(ErpContractMaterielBo bo) { - Map params = bo.getParams(); - MPJLambdaWrapper lqw = JoinWrappers.lambda(ErpContractMateriel.class) - .selectAll(ErpContractMateriel.class) - .eq(bo.getContractId() != null, ErpContractMateriel::getContractId, bo.getContractId()) - .like(StringUtils.isNotBlank(bo.getProductName()), ErpContractMateriel::getProductName, bo.getProductName()) - .eq(StringUtils.isNotBlank(bo.getSpecificationDescription()), ErpContractMateriel::getSpecificationDescription, bo.getSpecificationDescription()) - .eq(bo.getMaterielId() != null, ErpContractMateriel::getMaterielId, bo.getMaterielId()) - .eq(bo.getRelationMaterielId() != null, ErpContractMateriel::getRelationMaterielId, bo.getRelationMaterielId()) - .eq(bo.getAmount() != null, ErpContractMateriel::getAmount, bo.getAmount()) - .eq(bo.getUnitId() != null, ErpContractMateriel::getUnitId, bo.getUnitId()) - .eq(bo.getBeforePrice() != null, ErpContractMateriel::getBeforePrice, bo.getBeforePrice()) - .eq(bo.getTaxRate() != null, ErpContractMateriel::getTaxRate, bo.getTaxRate()) - .eq(bo.getIncludingPrice() != null, ErpContractMateriel::getIncludingPrice, bo.getIncludingPrice()) - .eq(bo.getSubtotal() != null, ErpContractMateriel::getSubtotal, bo.getSubtotal()) - .eq(StringUtils.isNotBlank(bo.getActiveFlag()), ErpContractMateriel::getActiveFlag, bo.getActiveFlag()) -; - return lqw; - } - - /** - * 新增合同物料信息 - * - * @param bo 合同物料信息 - * @return 是否新增成功 - */ - @Override - public Boolean insertByBo(ErpContractMaterielBo bo) { - ErpContractMateriel add = MapstructUtils.convert(bo, ErpContractMateriel.class); - validEntityBeforeSave(add); - boolean flag = baseMapper.insert(add) > 0; - if (flag) { - bo.setContractMaterielId(add.getContractMaterielId()); - } - return flag; - } - - /** - * 修改合同物料信息 - * - * @param bo 合同物料信息 - * @return 是否修改成功 - */ - @Override - public Boolean updateByBo(ErpContractMaterielBo bo) { - ErpContractMateriel update = MapstructUtils.convert(bo, ErpContractMateriel.class); - validEntityBeforeSave(update); - return baseMapper.updateById(update) > 0; - } - - /** - * 保存前的数据校验 - */ - private void validEntityBeforeSave(ErpContractMateriel entity){ - //TODO 做一些数据校验,如唯一约束 - } - - /** - * 校验并批量删除合同物料信息信息 - * - * @param ids 待删除的主键集合 - * @param isValid 是否进行有效性校验 - * @return 是否删除成功 - */ - @Override - public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ - //TODO 做一些业务上的校验,判断是否需要校验 - } - return baseMapper.deleteByIds(ids) > 0; - } -} diff --git a/ruoyi-modules/ruoyi-oa/src/main/resources/mapper/oa/erp/ErpContractMaterialMapper.xml b/ruoyi-modules/ruoyi-oa/src/main/resources/mapper/oa/erp/ErpContractMaterialMapper.xml new file mode 100644 index 00000000..38f6b9d7 --- /dev/null +++ b/ruoyi-modules/ruoyi-oa/src/main/resources/mapper/oa/erp/ErpContractMaterialMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + + diff --git a/ruoyi-modules/ruoyi-oa/src/main/resources/mapper/oa/erp/ErpContractMaterielMapper.xml b/ruoyi-modules/ruoyi-oa/src/main/resources/mapper/oa/erp/ErpContractMaterielMapper.xml deleted file mode 100644 index 666bf93c..00000000 --- a/ruoyi-modules/ruoyi-oa/src/main/resources/mapper/oa/erp/ErpContractMaterielMapper.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - -