From 8c9bea23ddf1dbc6e6c3bba380d819d90b281a0d Mon Sep 17 00:00:00 2001 From: yinq Date: Tue, 31 Mar 2026 18:37:37 +0800 Subject: [PATCH] =?UTF-8?q?1.1.4=20=E6=96=B0=E5=A2=9E=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=90=88=E5=90=8C=E8=AE=A2=E5=8D=95=E9=87=87=E8=B4=AD=E5=8C=B9?= =?UTF-8?q?=E9=85=8D=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ErpContractOrderController.java | 12 ++++++ .../erp/mapper/ErpContractMaterialMapper.java | 9 +++++ .../erp/service/IErpContractOrderService.java | 11 ++++- .../impl/ErpContractOrderServiceImpl.java | 14 +++++++ .../oa/erp/ErpContractMaterialMapper.xml | 40 +++++++++++++++++++ 5 files changed, 85 insertions(+), 1 deletion(-) diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/controller/ErpContractOrderController.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/controller/ErpContractOrderController.java index 47303cd5..55f74b43 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/controller/ErpContractOrderController.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/controller/ErpContractOrderController.java @@ -11,6 +11,7 @@ import org.dromara.common.log.annotation.Log; import org.dromara.common.log.enums.BusinessType; import org.dromara.common.web.core.BaseController; import org.dromara.oa.erp.domain.bo.ErpProjectInfoBo; +import org.dromara.oa.erp.domain.vo.ErpContractOrderPurchaseMaterialVo; import org.dromara.oa.erp.domain.vo.ErpProjectInfoVo; import org.dromara.oa.erp.service.IErpContractOrderService; import org.dromara.common.mybatis.core.page.PageQuery; @@ -96,5 +97,16 @@ public class ErpContractOrderController extends BaseController { @PathVariable("projectId") Long projectId) { return R.ok(erpContractOrderService.queryById(projectId)); } + + /** + * 获取合同订单采购匹配信息 + * + * @param projectId 主键 + */ + @GetMapping("/purchaseMaterialList/{projectId}") + public R> getPurchaseMaterialList(@NotNull(message = "主键不能为空") + @PathVariable("projectId") Long projectId) { + return R.ok(erpContractOrderService.queryPurchaseMaterialList(projectId)); + } } diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/mapper/ErpContractMaterialMapper.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/mapper/ErpContractMaterialMapper.java index 7056daf2..a176daa3 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/mapper/ErpContractMaterialMapper.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/mapper/ErpContractMaterialMapper.java @@ -6,6 +6,7 @@ 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.ErpContractMaterial; +import org.dromara.oa.erp.domain.vo.ErpContractOrderPurchaseMaterialVo; import org.dromara.oa.erp.domain.vo.ErpContractMaterialVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; @@ -34,4 +35,12 @@ public interface ErpContractMaterialMapper extends BaseMapperPlus selectCustomErpContractMaterialVoList(@Param(Constants.WRAPPER) MPJLambdaWrapper queryWrapper); + /** + * 根据合同订单ID查询采购匹配物料列表 + * + * @param projectId 合同订单ID + * @return 采购匹配物料列表 + */ + List selectPurchaseMatchListByProjectId(@Param("projectId") Long projectId); + } diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/IErpContractOrderService.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/IErpContractOrderService.java index 15ddf6c6..b82340d2 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/IErpContractOrderService.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/IErpContractOrderService.java @@ -1,7 +1,8 @@ package org.dromara.oa.erp.service; -import org.dromara.oa.erp.domain.vo.ErpProjectInfoVo; import org.dromara.oa.erp.domain.bo.ErpProjectInfoBo; +import org.dromara.oa.erp.domain.vo.ErpContractOrderPurchaseMaterialVo; +import org.dromara.oa.erp.domain.vo.ErpProjectInfoVo; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; @@ -48,6 +49,14 @@ public interface IErpContractOrderService { */ List queryList(ErpProjectInfoBo bo); + /** + * 查询合同订单采购匹配信息 + * + * @param projectId 合同订单ID + * @return 采购匹配信息 + */ + List queryPurchaseMaterialList(Long projectId); + /** * 暂存合同订单(项目信息) * diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpContractOrderServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpContractOrderServiceImpl.java index 206f5728..74150bdd 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpContractOrderServiceImpl.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpContractOrderServiceImpl.java @@ -21,8 +21,10 @@ import org.dromara.oa.erp.domain.bo.ErpProjectInfoBo; import org.dromara.oa.erp.domain.bo.ErpProjectContractsBo; import org.dromara.oa.erp.domain.bo.ErpProjectPlanStageBo; import org.dromara.oa.erp.domain.vo.ErpContractInfoVo; +import org.dromara.oa.erp.domain.vo.ErpContractOrderPurchaseMaterialVo; import org.dromara.oa.erp.domain.vo.ErpProjectInfoVo; import org.dromara.oa.erp.mapper.ErpContractInfoMapper; +import org.dromara.oa.erp.mapper.ErpContractMaterialMapper; import org.dromara.oa.erp.mapper.ErpProjectInfoMapper; import org.dromara.oa.erp.mapper.ErpProjectContractsMapper; import org.dromara.oa.erp.mapper.ErpProjectPlanMapper; @@ -49,6 +51,7 @@ import org.springframework.context.event.EventListener; import org.springframework.stereotype.Service; import org.apache.dubbo.config.annotation.DubboReference; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Objects; @@ -73,6 +76,7 @@ public class ErpContractOrderServiceImpl implements IErpContractOrderService { private final ErpProjectPlanMapper projectPlanMapper; private final ErpProjectPlanStageMapper planStageMapper; private final ErpContractInfoMapper contractInfoMapper; + private final ErpContractMaterialMapper contractMaterialMapper; private final ErpProjectContractsMapper projectContractsMapper; private final IErpContractChangeService erpContractChangeService; @@ -174,6 +178,14 @@ public class ErpContractOrderServiceImpl implements IErpContractOrderService { return projectInfoMapper.selectCustomErpProjectInfoVoList(lqw); } + @Override + public List queryPurchaseMaterialList(Long projectId) { + if (projectId == null) { + return Collections.emptyList(); + } + return contractMaterialMapper.selectPurchaseMatchListByProjectId(projectId); + } + /** * 构建查询条件 * @@ -569,6 +581,8 @@ public class ErpContractOrderServiceImpl implements IErpContractOrderService { newPlan.setFlowStatus("finish"); newPlan.setManagerId(projectInfo.getManagerId()); newPlan.setChargeId(projectInfo.getChargeId()); + // 合同订单可存合同ID + newPlan.setContractId(projectInfo.getContractId()); // 生成项目计划编号 String projectPlanCode = remoteCodeRuleService.selectCodeRuleCode("1010"); 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 index e487c54a..38eb4382 100644 --- 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 @@ -5,6 +5,8 @@ + + + +