From 9621deccf1ee7548e6534bd8d2e835d01d85b62b Mon Sep 17 00:00:00 2001 From: zhou-hongcheng <1064771933@qq.com> Date: Thu, 26 Feb 2026 09:36:53 +0800 Subject: [PATCH] =?UTF-8?q?wms=E7=A7=9F=E8=B5=81=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=8E=A8=E9=80=81=E5=88=B0bms=EF=BC=88?= =?UTF-8?q?=E6=8A=8A=E8=8E=B7=E5=8F=96=E5=BD=93=E5=89=8D=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E4=BA=BA=E7=9A=84=E4=B8=80=E7=BA=A7id=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E4=BC=A0=E5=85=A5=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mhd/system/api/SystemServiceFeign.java | 6 ++++++ .../RemoteSystemFeignFallbackFactory.java | 5 +++++ .../ExpenseAccountApplicationService.java | 10 ++++++++++ .../service/ExpenseAccountDomainService.java | 17 ++++++++++++++++- .../expenseAccount/ExpenseAccountApi.java | 8 ++++++++ .../CostCalculationApplicationService.java | 7 +++++-- .../BusinessDocumentApplicationService.java | 4 +++- .../service/TaskFlowRecordsDomainService.java | 11 +++++++++++ .../dto/billingRules/CostCalculationDTO.java | 6 ++++++ 9 files changed, 70 insertions(+), 4 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/SystemServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/SystemServiceFeign.java index ab077d3a2..1422b6bcf 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/SystemServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/SystemServiceFeign.java @@ -294,6 +294,12 @@ public interface SystemServiceFeign { @GetMapping("/expenseAccountApi/getInfoByCode") public AjaxResult getSubInfoByCode(@RequestParam("subjectCode") String subjectCode); + /** + * 根据code编码查询费用科目 + */ + @GetMapping("/expenseAccountApi/getInfoByCode2") + public AjaxResult getSubInfoByCode2(@RequestParam("subjectCode") String subjectCode,@RequestParam("topOrganizationId") Long topOrganizationId); + /** * 根据code编码查询项目信息 diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteSystemFeignFallbackFactory.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteSystemFeignFallbackFactory.java index ea4105985..b8c217df0 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteSystemFeignFallbackFactory.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteSystemFeignFallbackFactory.java @@ -234,6 +234,11 @@ public class RemoteSystemFeignFallbackFactory implements FallbackFactory selectExpenseAccount(SearchExpenseAccountDO searchExpenseAccountDO){ setDataPermissionForSearch(searchExpenseAccountDO); return expenseAccountDomainService.selectExpenseAccount(searchExpenseAccountDO); diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/expenseAccount/service/ExpenseAccountDomainService.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/expenseAccount/service/ExpenseAccountDomainService.java index b6525897e..e19daf17c 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/expenseAccount/service/ExpenseAccountDomainService.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/expenseAccount/service/ExpenseAccountDomainService.java @@ -1,5 +1,6 @@ package com.mhd.basic.domain.expenseAccount.service; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.mhd.basic.domain.expenseAccount.entity.ExpenseAccount; import com.mhd.basic.domain.expenseAccount.repository.facade.IExpenseAccountService; @@ -9,7 +10,10 @@ import com.mhd.basic.domain.expenseAccount.repository.todo.ExpenseAccountDO; import com.mhd.basic.domain.expenseAccount.repository.todo.ExpenseAccountDoMap; import com.mhd.basic.domain.expenseAccount.repository.todo.SearchExpenseAccountDO; import com.mhd.basic.interfaces.dto.expenseAccount.SearchExpenseAccountDTO; +import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException; +import com.mhd.common.core.exception.digitalLogisticsException.UserError; import com.mhd.common.security.utils.SecurityUtils; +import com.mhd.system.api.model.LoginUser; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -81,11 +85,22 @@ public class ExpenseAccountDomainService { public ExpenseAccountPO getInfoByCode(String subjectCode) { ExpenseAccountDO expenseAccountDO = new ExpenseAccountDO(); expenseAccountDO.setSubjectCode(subjectCode); - if (SecurityUtils.getLoginUser() != null) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (!ObjectUtil.isNull(loginUser)) { expenseAccountDO.setTopOrganizationId(SecurityUtils.getLoginUser().getUserPo().getTopOrganizationId()); } return expenseAccountService.getInfoByCode(expenseAccountDO); } + + /** + * 根据编码查询费用科目信息 + */ + public ExpenseAccountPO getInfoByCode2(String subjectCode,Long topOrganizationId) { + ExpenseAccountDO expenseAccountDO = new ExpenseAccountDO(); + expenseAccountDO.setSubjectCode(subjectCode); + expenseAccountDO.setTopOrganizationId(topOrganizationId); + return expenseAccountService.getInfoByCode(expenseAccountDO); + } public List selectExpenseAccount(SearchExpenseAccountDO searchExpenseAccountDO){ return expenseAccountService.selectExpenseAccount(searchExpenseAccountDO); } diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/facade/expenseAccount/ExpenseAccountApi.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/facade/expenseAccount/ExpenseAccountApi.java index c2e7f8312..d1f0baa38 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/facade/expenseAccount/ExpenseAccountApi.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/facade/expenseAccount/ExpenseAccountApi.java @@ -284,5 +284,13 @@ public class ExpenseAccountApi extends BaseController{ return AjaxResult.success(expenseAccountPO); } + @ApiOperation("根据code获取费用科目") + @GetMapping(value = "/getInfoByCode2") + public AjaxResult getInfoByCode2(@RequestParam("subjectCode") String subjectCode,@RequestParam("topOrganizationId") Long topOrganizationId) + { + ExpenseAccountPO expenseAccountPO = expenseAccountApplicationService.getInfoByCode2(subjectCode,topOrganizationId); + return AjaxResult.success(expenseAccountPO); + } + } diff --git a/mhd_bms/src/main/java/com/mhd/bms/application/server/billingRules/CostCalculationApplicationService.java b/mhd_bms/src/main/java/com/mhd/bms/application/server/billingRules/CostCalculationApplicationService.java index aa7ff7e49..fb1bee82f 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/application/server/billingRules/CostCalculationApplicationService.java +++ b/mhd_bms/src/main/java/com/mhd/bms/application/server/billingRules/CostCalculationApplicationService.java @@ -98,7 +98,10 @@ public class CostCalculationApplicationService { taskFlowRecordsDO.setTaskFlow(OrderSequence.getOrderCode("JFRW")); taskFlowRecordsDO.setRequestParams(JSON.toJSONString(costCalculationDTO)); taskFlowRecordsDO.setOriginalBusinessNum(costCalculationDTO.getOriginalBusinessNum()); - Boolean flag = taskFlowRecordsDomainService.saveInCost(taskFlowRecordsDO); + taskFlowRecordsDO.setTopOrganizationId(costCalculationDTO.getTopOrganizationId()); + taskFlowRecordsDO.setOrganizationId(costCalculationDTO.getOrganizationId()); + taskFlowRecordsDO.setOrganizationName(costCalculationDTO.getOrganizationName()); + Boolean flag = taskFlowRecordsDomainService.saveInCost2(taskFlowRecordsDO); if (!flag) { throw new ServiceException("计费任务记录保存失败,请重试"); } @@ -141,7 +144,7 @@ public class CostCalculationApplicationService { throw new ServiceException("单据类型未找到"); } //遍历费用科目取出对应配置的费用科目项 - AjaxResult expenseAccountAjax = systemServiceFeign.getSubInfoByCode(costCalculationDTO.getSubjectCode()); + AjaxResult expenseAccountAjax = systemServiceFeign.getSubInfoByCode2(costCalculationDTO.getSubjectCode(),costCalculationDTO.getTopOrganizationId()); if(!"200".equals(String.valueOf(ajaxResult.get("code")))) { throw new ServiceException("费用科目不存在或已被删除"); } diff --git a/mhd_bms/src/main/java/com/mhd/bms/application/server/businessDocument/BusinessDocumentApplicationService.java b/mhd_bms/src/main/java/com/mhd/bms/application/server/businessDocument/BusinessDocumentApplicationService.java index 4f4729e27..fc7824eff 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/application/server/businessDocument/BusinessDocumentApplicationService.java +++ b/mhd_bms/src/main/java/com/mhd/bms/application/server/businessDocument/BusinessDocumentApplicationService.java @@ -304,7 +304,7 @@ public class BusinessDocumentApplicationService { } //根据费用科目code查询费用信息,并赋值 if(StringUtils.isNotEmpty(businessDocumentDO.getSecondSubjectCode())){ - AjaxResult ajaxResult = systemServiceFeign.getSubInfoByCode(businessDocumentDO.getSecondSubjectCode()); + AjaxResult ajaxResult = systemServiceFeign.getSubInfoByCode2(businessDocumentDO.getSecondSubjectCode(),businessDocumentDO.getTopOrganizationId()); if("200".equals(String.valueOf(ajaxResult.get("code")))){ ExpenseAccountPO expenseAccountPO = JSON.parseObject(com.alibaba.fastjson2.JSONObject.toJSONString(ajaxResult.get("data")), ExpenseAccountPO.class); if(null == expenseAccountPO || expenseAccountPO.getExpenseAccountId()==null){ @@ -826,6 +826,8 @@ public class BusinessDocumentApplicationService { costCalculationDTO.setSubjectCode(StringUtils.isEmpty(businessDocumentDO.getSecondSubjectCode()) ? businessDocumentDO.getFirstSubjectCode():businessDocumentDO.getSecondSubjectCode()); costCalculationDTO.setDocumentTypeCode(businessDocumentDO.getDocumentTypeCode()); costCalculationDTO.setTopOrganizationId(businessDocumentDO.getTopOrganizationId()); + costCalculationDTO.setOrganizationId(businessDocumentDO.getOrganizationId()); + costCalculationDTO.setOrganizationName(businessDocumentDO.getOrganizationName()); BillingCostPo billingCostPo = costCalculationApplicationService.costCalculation(costCalculationDTO); businessDocumentDO.setEstimatedCost(billingCostPo.getComputationalCost()); businessDocumentDO.setBillAmount(billingCostPo.getComputationalCost());//计费金额与计算金额一致 diff --git a/mhd_bms/src/main/java/com/mhd/bms/domain/taskFlowRecords/service/TaskFlowRecordsDomainService.java b/mhd_bms/src/main/java/com/mhd/bms/domain/taskFlowRecords/service/TaskFlowRecordsDomainService.java index acfc15656..708560463 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/domain/taskFlowRecords/service/TaskFlowRecordsDomainService.java +++ b/mhd_bms/src/main/java/com/mhd/bms/domain/taskFlowRecords/service/TaskFlowRecordsDomainService.java @@ -83,4 +83,15 @@ public class TaskFlowRecordsDomainService { taskFlowRecordsDO.setCreateTime(new Date()); return taskFlowRecordsService.insert(taskFlowRecordsDO); } + + /** + * 保存任务流水 + */ + public Boolean saveInCost2(TaskFlowRecordsDO taskFlowRecordsDO) { + taskFlowRecordsDO.setTopOrganizationId(taskFlowRecordsDO.getTopOrganizationId()); + taskFlowRecordsDO.setOrganizationId(taskFlowRecordsDO.getOrganizationId()); + taskFlowRecordsDO.setOrganizationName(taskFlowRecordsDO.getOrganizationName()); + taskFlowRecordsDO.setCreateTime(new Date()); + return taskFlowRecordsService.insert(taskFlowRecordsDO); + } } diff --git a/mhd_bms/src/main/java/com/mhd/bms/interfaces/dto/billingRules/CostCalculationDTO.java b/mhd_bms/src/main/java/com/mhd/bms/interfaces/dto/billingRules/CostCalculationDTO.java index 0f249d083..d08dad76f 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/interfaces/dto/billingRules/CostCalculationDTO.java +++ b/mhd_bms/src/main/java/com/mhd/bms/interfaces/dto/billingRules/CostCalculationDTO.java @@ -40,6 +40,12 @@ public class CostCalculationDTO{ @Excel(name = "一级组织表ID") private Long topOrganizationId; + @ApiModelProperty("组织表ID") + private Long organizationId; + + @ApiModelProperty("组织名称") + private String organizationName; +