From 0c2cf7ac71e078d87b1db8fd6708cc2115be0a42 Mon Sep 17 00:00:00 2001 From: syruan <15555146157@163.com> Date: Thu, 15 Jan 2026 13:58:15 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=B9=E7=94=A8=E5=87=8F=E5=85=8D=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SltAgreementInfoController.java | 20 +++--- .../SltAgreementReduceController.java | 62 ++++++++++++++++--- .../impl/SltAgreementInfoServiceImpl.java | 5 +- .../settlement/SltAgreementInfoMapper.xml | 5 +- .../settlement/SltAgreementReduceMapper.xml | 4 +- 5 files changed, 70 insertions(+), 26 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/settlement/controller/SltAgreementInfoController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/settlement/controller/SltAgreementInfoController.java index e6a25868..8352e7cd 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/settlement/controller/SltAgreementInfoController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/settlement/controller/SltAgreementInfoController.java @@ -137,8 +137,8 @@ public class SltAgreementInfoController extends BaseController { public AjaxResult getSltAgreementInfo4Project(SltAgreementInfo bean) { Integer pageIndex = Convert.toInt(ServletUtils.getParameter("pageNum"), 1); Integer pageSize = Convert.toInt(ServletUtils.getParameter("pageSize"), 10); - Long deptId = typeService.getUserDeptId(); - bean.setCompanyId(deptId); +// Long deptId = typeService.getUserDeptId(); +// bean.setCompanyId(deptId); // int loginUserHasSettlementPermission = sltAgreementInfoService.checkLoginUserHasSettlementPermission(); // if (bean != null) { // bean.setSettlementType(loginUserHasSettlementPermission); @@ -1607,8 +1607,8 @@ public class SltAgreementInfoController extends BaseController { @ApiOperation(value = "结算审批列表") @GetMapping("/getSltList") public TableDataInfo getSltList(SltAgreementInfo bean) { - Long deptId = typeService.getUserDeptId(); - bean.setCompanyId(deptId); +// Long deptId = typeService.getUserDeptId(); +// bean.setCompanyId(deptId); startPage(); List list = sltAgreementInfoService.getSltList(bean); return getDataTable(list); @@ -1733,8 +1733,8 @@ public class SltAgreementInfoController extends BaseController { @ApiOperation(value = "已结算报表list查询") @GetMapping("/getSltReportedList") public TableDataInfo getSltReportedList(SltAgreementInfo bean) { - Long deptId = typeService.getUserDeptId(); - bean.setCompanyId(deptId); + //Long deptId = typeService.getUserDeptId(); + //bean.setCompanyId(deptId); startPage(); List list = sltAgreementInfoService.getSltReportedList(bean); return getDataTable(list); @@ -1751,9 +1751,6 @@ public class SltAgreementInfoController extends BaseController { if (query == null) { query = new SltAgreementInfo(); } - - Long deptId = typeService.getUserDeptId(); - query.setCompanyId(deptId); startPage(); // ----------- 查询未结算的全部协议 --------------- @@ -1793,7 +1790,8 @@ public class SltAgreementInfoController extends BaseController { // 查询每个协议的各项费用明细 SltInfoVo vo = sltAgreementInfoService.getSltInfoReportBatch(info); vo.setIsFinish(info.getIsFinish()); - if (vo != null && !ObjectUtil.isEmpty(vo)) { + vo.setActualEndDate(info.getActualEndDate()); + if (!ObjectUtil.isEmpty(vo)) { vo.setAgreementId(info.getAgreementId()); vo.setAgreementCode(info.getAgreementCode()); vo.setSettlementType(settlementType); @@ -2046,7 +2044,7 @@ public class SltAgreementInfoController extends BaseController { return getDataTable(list); } catch (Exception e) { log.error("查询区间费用失败", e); - return getDataTable(new ArrayList<>()); + return getDataTable(Collections.emptyList()); } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/settlement/controller/SltAgreementReduceController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/settlement/controller/SltAgreementReduceController.java index a7ddad4e..659401ea 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/settlement/controller/SltAgreementReduceController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/settlement/controller/SltAgreementReduceController.java @@ -1,5 +1,6 @@ package com.bonus.material.settlement.controller; +import com.alibaba.nacos.client.naming.utils.CollectionUtils; import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.page.TableDataInfo; @@ -7,13 +8,21 @@ import com.bonus.common.log.annotation.SysLog; import com.bonus.common.log.enums.OperaType; import com.bonus.common.security.annotation.RequiresPermissions; import com.bonus.material.settlement.domain.SltAgreementReduce; +import com.bonus.material.settlement.domain.dto.PeriodCostQueryDto; +import com.bonus.material.settlement.domain.vo.PeriodCostResultVo; +import com.bonus.material.settlement.service.ISltAgreementInfoService; import com.bonus.material.settlement.service.ISltAgreementReduceService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Collections; +import java.util.Date; import java.util.List; +import java.util.Objects; /** * 结算协议申请Controller @@ -25,9 +34,13 @@ import java.util.List; @RestController @RequestMapping("/slt_agreement_reduce") public class SltAgreementReduceController extends BaseController { + @Autowired private ISltAgreementReduceService sltAgreementReduceService; + @Autowired + private ISltAgreementInfoService sltAgreementInfoService; + /** * 查询结算协议减免申请列表 */ @@ -59,18 +72,47 @@ public class SltAgreementReduceController extends BaseController { @ApiOperation(value = "查询协议申请减免明细") // @RequiresPermissions("settlement:apply:list") @GetMapping("/applyByParam") - public AjaxResult applyByParam(SltAgreementReduce sltAgreement) { - List list = null; - if(sltAgreement!=null){ - if (sltAgreement.getAgreementId()!=null){ - list = sltAgreementReduceService.getApplyReduceList(sltAgreement); - } - - }else{ - + public AjaxResult applyByParam(SltAgreementReduce sltAgreement) throws ParseException { + if (null == sltAgreement || null == sltAgreement.getAgreementId()) { + return AjaxResult.success(Collections.emptyList()); } - return success(list); + Date currentDate = new Date(); + PeriodCostQueryDto periodCostQueryDto = new PeriodCostQueryDto(); + periodCostQueryDto.setAgreementId(sltAgreement.getAgreementId()); + + if (null == sltAgreement.getStartTime()) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); + periodCostQueryDto.setStartDate(sdf.parse("2018-01-01 01:00:00")); + } + if (null == sltAgreement.getEndTime()) { + periodCostQueryDto.setEndDate(currentDate); + } + + List resultVos = sltAgreementInfoService.selectPeriodCostList(periodCostQueryDto); + + if (CollectionUtils.isEmpty(resultVos)) { + return AjaxResult.success(Collections.emptyList()); + } + + resultVos.removeIf(Objects::isNull); + + for (PeriodCostResultVo periodCostResultVo : resultVos) { + if (Objects.isNull(periodCostResultVo.getEndTime())) { + periodCostResultVo.setEndTime(currentDate); + } + } + + return success(resultVos); + +// List list; +// if (sltAgreement != null) { +// if (sltAgreement.getAgreementId() != null) { +// list = sltAgreementReduceService.getApplyReduceList(sltAgreement); +// return success(list); +// } +// } +// return AjaxResult.success(Collections.emptyList()); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/settlement/service/impl/SltAgreementInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/settlement/service/impl/SltAgreementInfoServiceImpl.java index f67273fb..c1f05561 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/settlement/service/impl/SltAgreementInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/settlement/service/impl/SltAgreementInfoServiceImpl.java @@ -957,7 +957,9 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService { row.setEnableQuerySltData(enableQuerySltData); sltInfoVo = getSltInfo(row); if (sltInfoVo != null) { - row.setCosts(sum(sltInfoVo.getLeaseCost(), sltInfoVo.getRepairCost(), sltInfoVo.getScrapCost(), sltInfoVo.getLoseCost())); + row.setCosts(sum(sltInfoVo.getLeaseCost(), sltInfoVo.getRepairCost(), sltInfoVo.getScrapCost(), sltInfoVo.getLoseCost()) + .subtract(sltInfoVo.getReductionCost()) + ); } } } @@ -1011,7 +1013,6 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService { RequestContext.set("unSltAgreementListCount", listCount); - // 优化后处理逻辑 if (list != null && !list.isEmpty()) { // 使用并行流处理大数据量(当数据量大于1000时) if (list.size() > 1000) { diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/settlement/SltAgreementInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/settlement/SltAgreementInfoMapper.xml index 549a9e70..05c1fe5e 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/settlement/SltAgreementInfoMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/settlement/SltAgreementInfoMapper.xml @@ -23,6 +23,7 @@ + @@ -950,7 +951,8 @@ and bai.agreement_code = #{agreementCode} - and saa.create_time between #{startTime} and #{endTime} + and saa.create_time >= #{startTime} + and saa.create_time DATE_ADD(#{endTime}, INTERVAL 1 DAY) and bai.agreement_id in @@ -1001,6 +1003,7 @@ bai.protocol, SUM(IFNULL(saa.`status`,0)) as num, sai.is_slt as sltStatus, + bp.actual_end_date as actual_end_date, CASE WHEN bp.actual_end_date is not null THEN '1' WHEN bp.actual_end_date is null and bp.external_id is null THEN '2' diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/settlement/SltAgreementReduceMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/settlement/SltAgreementReduceMapper.xml index 0d513c49..9dac829d 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/settlement/SltAgreementReduceMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/settlement/SltAgreementReduceMapper.xml @@ -274,8 +274,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mt.unit_name as unitName, srd.lease_price as leasePrice, srd.reduce_num as reduceNum, - srd.start_time as startTime, - srd.end_time as endTime, + srd.r_start_time as startTime, + srd.r_end_time as endTime, srd.days as days, srd.lease_money as leaseMoney, sra.remark