应收账单审核

This commit is contained in:
赵辉
2026-03-06 16:33:52 +08:00
parent 48cf3b9345
commit 33a62a6a68
7 changed files with 97 additions and 2 deletions
@@ -244,4 +244,13 @@ public class ReconciliationDTO extends BaseVOEntity{
@ApiModelProperty(value = "账单科目明细")
public List<ReconciliationAccountDTO> reconciliationAccountDTOList;
@ApiModelProperty(value = "财务主管")
private String financeManager;
@ApiModelProperty(value = "财务审核状态 0.未审核 1.已通过 2.已拒绝")
private Integer financeReviewStatus;
@ApiModelProperty(value = "财务审核意见")
private String financeReviewOpinion;
}
@@ -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<String> 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("对账单审核失败");
}
}
}
@@ -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;
}
@@ -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;
}
@@ -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<ReconciliationAccountDTO> reconciliationAccountDTOList;
@@ -71,6 +71,13 @@ public class ReconciliationApi extends BaseController{
List<ReconciliationPO> 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<Long> reconciliationIds)
@@ -57,6 +57,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="verificationMoney != null ">
and a.verification_money = #{verificationMoney}
</if>
<if test="financeReviewStatus != null ">
and a.finance_review_status = #{financeReviewStatus}
</if>
<if test="isInvoice != null ">
and a.is_invoice = #{isInvoice}
</if>