diff --git a/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/dto/ReconciliationDTO.java b/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/dto/ReconciliationDTO.java index fbfe1b000..744ccd476 100644 --- a/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/dto/ReconciliationDTO.java +++ b/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/dto/ReconciliationDTO.java @@ -244,4 +244,13 @@ public class ReconciliationDTO extends BaseVOEntity{ @ApiModelProperty(value = "账单科目明细") public List reconciliationAccountDTOList; + @ApiModelProperty(value = "财务主管") + private String financeManager; + + @ApiModelProperty(value = "财务审核状态 0.未审核 1.已通过 2.已拒绝") + private Integer financeReviewStatus; + + @ApiModelProperty(value = "财务审核意见") + private String financeReviewOpinion; + } diff --git a/mhd_finance/src/main/java/com/linke/finance/application/server/reconciliation/ReconciliationApplicationService.java b/mhd_finance/src/main/java/com/linke/finance/application/server/reconciliation/ReconciliationApplicationService.java index a0c2eb396..176e40b78 100644 --- a/mhd_finance/src/main/java/com/linke/finance/application/server/reconciliation/ReconciliationApplicationService.java +++ b/mhd_finance/src/main/java/com/linke/finance/application/server/reconciliation/ReconciliationApplicationService.java @@ -783,12 +783,60 @@ public class ReconciliationApplicationService { } /** - * 根据订单ID列表查询RECONCILIATION_ORDER_DETAIL表中这些订单创建最早的日期 + * 根据订单 ID 列表查询 RECONCILIATION_ORDER_DETAIL 表中这些订单创建最早的日期 * - * @param orderIds 订单ID列表 + * @param orderIds 订单 ID 列表 * @return 最早创建日期 */ public Date getEarliestCreateTimeByOrderIdList(List orderIds) { return reconciliationDomainService.getEarliestCreateTimeByOrderIdList(orderIds); } + + /** + * 对账单审核 + * + * @param reconciliationDTO 对账单 DTO + */ + @Transactional + public void review(ReconciliationDTO reconciliationDTO) { + // 获取对账单 ID + Long reconciliationId = reconciliationDTO.getReconciliationId(); + if (reconciliationId == null) { + throw new ServiceException("对账单 ID 不能为空"); + } + + // 先查询对账单信息,验证是否存在 + ReconciliationPO reconciliationInfo = this.getInfo(reconciliationId); + if (reconciliationInfo == null) { + throw new ServiceException("对账单不存在"); + } + + // 获取财务审核状态 + Integer financeReviewStatus = reconciliationDTO.getFinanceReviewStatus(); + if (financeReviewStatus == null) { + throw new ServiceException("财务审核状态不能为空"); + } + + // 验证审核状态值 + if (financeReviewStatus != 0 && financeReviewStatus != 1 && financeReviewStatus != 2) { + throw new ServiceException("财务审核状态值异常,只能是 0-未审核、1-已通过、2-已拒绝"); + } + + // 获取当前登录用户信息 + LoginUser loginUser = SecurityUtils.getLoginUser(); + UserPo userPo = loginUser.getUserPo(); + + // 构建更新对象 + ReconciliationDO updateDO = new ReconciliationDO(); + updateDO.setReconciliationId(reconciliationId); + updateDO.setFinanceManager(reconciliationDTO.getFinanceManager()); + updateDO.setFinanceReviewStatus(financeReviewStatus); + updateDO.setFinanceReviewOpinion(reconciliationDTO.getFinanceReviewOpinion()); + + // 执行更新 + boolean result = reconciliationDomainService.update(updateDO); + if (!result) { + throw new ServiceException("对账单审核失败"); + } + } } diff --git a/mhd_finance/src/main/java/com/linke/finance/domain/reconciliation/entity/Reconciliation.java b/mhd_finance/src/main/java/com/linke/finance/domain/reconciliation/entity/Reconciliation.java index 052e6ff6a..16c5c3cb7 100644 --- a/mhd_finance/src/main/java/com/linke/finance/domain/reconciliation/entity/Reconciliation.java +++ b/mhd_finance/src/main/java/com/linke/finance/domain/reconciliation/entity/Reconciliation.java @@ -246,4 +246,13 @@ public class Reconciliation extends BaseVOEntity{ @ApiModelProperty(value = "收款账户") private String accountInformation; + @ApiModelProperty(value = "财务主管") + private String financeManager; + + @ApiModelProperty(value = "财务审核状态 0.未审核 1.已通过 2.已拒绝") + private Integer financeReviewStatus; + + @ApiModelProperty(value = "财务审核意见") + private String financeReviewOpinion; + } diff --git a/mhd_finance/src/main/java/com/linke/finance/domain/reconciliation/repository/po/ReconciliationPO.java b/mhd_finance/src/main/java/com/linke/finance/domain/reconciliation/repository/po/ReconciliationPO.java index 0505c113b..6f02f2553 100644 --- a/mhd_finance/src/main/java/com/linke/finance/domain/reconciliation/repository/po/ReconciliationPO.java +++ b/mhd_finance/src/main/java/com/linke/finance/domain/reconciliation/repository/po/ReconciliationPO.java @@ -253,4 +253,14 @@ public class ReconciliationPO extends BaseVOEntity{ @ApiModelProperty("账单科目明细") private String reconciliationAccountDTOListJsonStr; + + @ApiModelProperty(value = "财务主管") + private String financeManager; + + @ApiModelProperty(value = "财务审核状态0.未审核1.已通过2.已拒绝") + private Integer financeReviewStatus; + + @ApiModelProperty(value = "财务审核意见") + private String financeReviewOpinion; + } diff --git a/mhd_finance/src/main/java/com/linke/finance/domain/reconciliation/repository/todo/ReconciliationDO.java b/mhd_finance/src/main/java/com/linke/finance/domain/reconciliation/repository/todo/ReconciliationDO.java index c1c9002f2..7b7feaeeb 100644 --- a/mhd_finance/src/main/java/com/linke/finance/domain/reconciliation/repository/todo/ReconciliationDO.java +++ b/mhd_finance/src/main/java/com/linke/finance/domain/reconciliation/repository/todo/ReconciliationDO.java @@ -280,6 +280,15 @@ public class ReconciliationDO extends BaseVOEntity{ @ApiModelProperty(value = "收款账户") private String accountInformation; + @ApiModelProperty(value = "财务主管") + private String financeManager; + + @ApiModelProperty(value = "财务审核状态0.未审核1.已通过2.已拒绝") + private Integer financeReviewStatus; + + @ApiModelProperty(value = "财务审核意见") + private String financeReviewOpinion; + @ApiModelProperty(value = "账单科目明细") public List reconciliationAccountDTOList; diff --git a/mhd_finance/src/main/java/com/linke/finance/interfaces/facade/reconciliation/ReconciliationApi.java b/mhd_finance/src/main/java/com/linke/finance/interfaces/facade/reconciliation/ReconciliationApi.java index 51f6f542c..220d39df2 100644 --- a/mhd_finance/src/main/java/com/linke/finance/interfaces/facade/reconciliation/ReconciliationApi.java +++ b/mhd_finance/src/main/java/com/linke/finance/interfaces/facade/reconciliation/ReconciliationApi.java @@ -71,6 +71,13 @@ public class ReconciliationApi extends BaseController{ List list = reconciliationApplicationService.queryList(reconciliationDO); return getDataTable(list); } + @Log(title = "对账单审核", description = "对账单审核", businessType = BusinessType.UPDATE) + @ApiOperation("对账单审核") + @PutMapping(value = "/review") + public AjaxResult review(@RequestBody ReconciliationDTO reconciliationDTO){ + reconciliationApplicationService.review(reconciliationDTO); + return AjaxResult.success("对账单审核成功"); + } @ApiOperation("接口-根据ids查询对账单列表") @GetMapping("/queryListByids") public AjaxResult queryListByids(@RequestParam List reconciliationIds) diff --git a/mhd_finance/src/main/resources/mapper/reconciliation/ReconciliationMapper.xml b/mhd_finance/src/main/resources/mapper/reconciliation/ReconciliationMapper.xml index 09e07e987..4db0dbd28 100644 --- a/mhd_finance/src/main/resources/mapper/reconciliation/ReconciliationMapper.xml +++ b/mhd_finance/src/main/resources/mapper/reconciliation/ReconciliationMapper.xml @@ -57,6 +57,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and a.verification_money = #{verificationMoney} + + and a.finance_review_status = #{financeReviewStatus} + and a.is_invoice = #{isInvoice}