From 7a93f4097430703dc60c4aee0240ed348a0ab1df Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期一, 06 一月 2025 18:12:00 +0800
Subject: [PATCH] 核算重构
---
ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java | 66 +++++++++++++++++----------------
1 files changed, 34 insertions(+), 32 deletions(-)
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java
index eab4a39..839dde9 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java
@@ -22,6 +22,7 @@
import com.ycl.platform.service.ICalculateRuleService;
import com.ycl.system.Result;
import com.ycl.system.page.PageUtil;
+import com.ycl.utils.SecurityUtils;
import enumeration.general.CalculateReportStatusEnum;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
@@ -124,6 +125,7 @@
@Override
public Result page(CalculateReportQuery query) {
IPage<CalculateReportVO> page = PageUtil.getPage(query, CalculateReportVO.class);
+ query.setUnitId(SecurityUtils.getUnitId());
baseMapper.page(query, page);
page.getRecords().stream().forEach(item -> {
if (Objects.isNull(item)) {
@@ -141,9 +143,9 @@
* @return
*/
@Override
- public Result detail(Long id) {
+ public Result detail(CalculateReportQuery query) {
// 鏄庣粏鍒楄〃
- CalculateReportDetailVO detail = baseMapper.getById(id);
+ CalculateReportDetailVO detail = baseMapper.getById(query);
if (Objects.nonNull(detail) && ! CollectionUtils.isEmpty(detail.getRecordList())) {
if (CalculateReportStatusEnum.NOT_PUBLISH.equals(detail.getStatus())) {
detail.getRecordList().get(0).setLatest(Boolean.TRUE);
@@ -170,40 +172,40 @@
@Override
@Transactional(rollbackFor = Exception.class)
public Result backfill(CalculateReportBackfillForm form) {
- CalculateReport report = baseMapper.selectById(form.getId());
- if (Objects.isNull(report)) {
- throw new RuntimeException("璇ユ牳绠楁姤鍛婁笉瀛樺湪");
- }
- if (CalculateReportStatusEnum.PUBLISHED.equals(report.getStatus())) {
- throw new RuntimeException("鏈�鏂颁竴娆℃牳绠楁姤鍛婂凡缁忓彂甯冿紝鏃犳硶淇敼");
- }
- CalculateReportBackfillForm.RecordForm latestRecord = form.getRecordList().get(0);
- CalculateRecord beforeRecord = calculateRecordMapper.selectById(latestRecord.getId());
- if (Objects.isNull(beforeRecord)) {
- throw new RuntimeException("鏈�杩戜竴娆℃牳绠楄褰曚笉瀛樺湪");
- }
- // 璁$畻寰楀埌鎵f鎬婚锛堝彧绠楁渶杩戜竴鏉★級
- BigDecimal totalDeduct = report.getDeductMoney().subtract(latestRecord.getDeductMoney()).add(latestRecord.getDeductMoney());
- report.setDeductMoney(totalDeduct);
- baseMapper.updateById(report);
-
- beforeRecord.setDeductMoney(latestRecord.getDeductMoney());
- calculateRecordMapper.updateById(beforeRecord);
+// CalculateReport report = baseMapper.selectById(form.getId());
+// if (Objects.isNull(report)) {
+// throw new RuntimeException("璇ユ牳绠楁姤鍛婁笉瀛樺湪");
+// }
+// if (CalculateReportStatusEnum.PUBLISHED.equals(report.getStatus())) {
+// throw new RuntimeException("鏈�鏂颁竴娆℃牳绠楁姤鍛婂凡缁忓彂甯冿紝鏃犳硶淇敼");
+// }
+// CalculateReportBackfillForm.RecordForm latestRecord = form.getRecordList().get(0);
+// CalculateRecord beforeRecord = calculateRecordMapper.selectById(latestRecord.getId());
+// if (Objects.isNull(beforeRecord)) {
+// throw new RuntimeException("鏈�杩戜竴娆℃牳绠楄褰曚笉瀛樺湪");
+// }
+// // 璁$畻寰楀埌鎵f鎬婚锛堝彧绠楁渶杩戜竴鏉★級
+// BigDecimal totalDeduct = report.getDeductMoney().subtract(latestRecord.getDeductMoney()).add(latestRecord.getDeductMoney());
+// report.setDeductMoney(totalDeduct);
+// baseMapper.updateById(report);
+//
+// beforeRecord.setDeductMoney(latestRecord.getDeductMoney());
+// calculateRecordMapper.updateById(beforeRecord);
+ List<CalculateReportBackfillForm.RecordForm> recordList = form.getRecordList();
+ if(!CollectionUtils.isEmpty(recordList)) calculateRecordMapper.updateBatch(recordList);
return Result.ok("鎿嶄綔鎴愬姛");
}
@Override
- public Result updatePublishStatus(Long reportId) {
- CalculateReport report = baseMapper.selectById(reportId);
- if (Objects.isNull(report)) {
- throw new RuntimeException("璇ユ牳绠楁姤鍛婁笉瀛樺湪");
- }
- if (CalculateReportStatusEnum.NOT_PUBLISH.equals(report.getStatus())) {
- report.setStatus(CalculateReportStatusEnum.PUBLISHED);
- } else if (CalculateReportStatusEnum.PUBLISHED.equals(report.getStatus())) {
- report.setStatus(CalculateReportStatusEnum.NOT_PUBLISH);
- }
- baseMapper.updateById(report);
+ public Result updatePublishStatus(Integer contractId,Integer whichYear) {
+
+ calculateRecordMapper.batchPublish(contractId,whichYear);
+ return Result.ok("鎿嶄綔鎴愬姛");
+ }
+
+ @Override
+ public Result updatePublishStatusById(Integer id, String status) {
+ calculateRecordMapper.updatePublishById(id,status);
return Result.ok("鎿嶄綔鎴愬姛");
}
--
Gitblit v1.8.0