From cdf974d19bab00ac22fe2896eb34b920d58d74a6 Mon Sep 17 00:00:00 2001 From: renkang <8417338+k94314517@user.noreply.gitee.com> Date: 星期四, 09 一月 2025 18:30:40 +0800 Subject: [PATCH] 客户资料 巡检任务业务 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 57 insertions(+), 1 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java index 5bc2097..a320b59 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java @@ -10,6 +10,7 @@ import com.doumee.core.utils.Utils; import com.doumee.dao.business.*; import com.doumee.dao.business.model.*; +import com.doumee.dao.business.vo.YwContractBillDataVO; import com.doumee.dao.system.MultifileMapper; import com.doumee.dao.system.model.Multifile; import com.doumee.dao.system.model.SystemUser; @@ -20,6 +21,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.commons.lang3.StringUtils; +import org.checkerframework.checker.units.qual.C; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -282,7 +284,6 @@ YwContractBill model = pageWrap.getModel(); IPage<YwContractBill> iPage = ywContractBillMapper.selectJoinPage(page,YwContractBill.class, queryWrapper.selectAll(YwContractBill.class) -// .select(" ( select ifnull(sum(case when yw.REVENUE_TYPE = 0 then yw.ACT_RECEIVABLE_FEE else -yw.ACT_RECEIVABLE_FEE end),0) from yw_contract_revenue yw where yw.bill_id = t.id and yw.status = 0 and yw.isdeleted = 0 ) as actReceivableFee ") .select(" ( select ifnull( sum( CASE WHEN t.bill_type = 0 and yw.REVENUE_TYPE = 0 THEN yw.ACT_RECEIVABLE_FEE when t.bill_type = 0 and yw.REVENUE_TYPE = 1 then -yw.ACT_RECEIVABLE_FEE when t.bill_type = 1 and yw.REVENUE_TYPE = 0 then -yw.ACT_RECEIVABLE_FEE else yw.ACT_RECEIVABLE_FEE END),0) from yw_contract_revenue yw where yw.bill_id = t.id and yw.status = 0 and yw.isdeleted = 0 ) as actReceivableFee ") .selectAs(YwContract::getCode,YwContractBill::getContractCode) .selectAs(YwCustomer::getName,YwContractBill::getCustomerName) @@ -486,4 +487,59 @@ return list; } + + @Override + public YwContractBillDataVO getWaitDealList(Integer contractId){ + YwContractBillDataVO ywContractBillDataVO = new YwContractBillDataVO(); + ywContractBillDataVO.setInAmount(Constants.ZERO); + ywContractBillDataVO.setInFee(BigDecimal.ZERO); + ywContractBillDataVO.setPayAmount(Constants.ZERO); + ywContractBillDataVO.setPayFee(BigDecimal.ZERO); + MPJLambdaWrapper<YwContractBill> queryWrapper = new MPJLambdaWrapper<YwContractBill>(); + queryWrapper.selectAll(YwContractBill.class) + .select(" ( select ifnull( sum( CASE WHEN t.bill_type = 0 and yw.REVENUE_TYPE = 0 THEN yw.ACT_RECEIVABLE_FEE when t.bill_type = 0 and yw.REVENUE_TYPE = 1 then -yw.ACT_RECEIVABLE_FEE when t.bill_type = 1 and yw.REVENUE_TYPE = 0 then -yw.ACT_RECEIVABLE_FEE else yw.ACT_RECEIVABLE_FEE END),0) from yw_contract_revenue yw where yw.bill_id = t.id and yw.status = 0 and yw.isdeleted = 0 ) as actReceivableFee ") + .selectAs(YwContract::getCode,YwContractBill::getContractCode) + .selectAs(YwCustomer::getName,YwContractBill::getCustomerName) + .leftJoin(YwContract.class,YwContract::getId,YwContractBill::getContractId) + .leftJoin(YwCustomer.class,YwCustomer::getId,YwContract::getRenterId) + .eq(YwContractBill::getIsdeleted,Constants.ZERO) + .in(YwContractBill::getPayStatus,Constants.ZERO,Constants.TWO,Constants.THREE,Constants.FOUR) + .eq(YwContractBill::getContractId,contractId) + .orderByDesc(YwContractBill::getId); + List<YwContractBill> list = ywContractBillMapper.selectJoinList(YwContractBill.class,queryWrapper); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){ + for (YwContractBill ywContractBill:list) { + //闇�鏀堕噾棰� + ywContractBill.setNeedReceivableFee( + ywContractBill.getReceivableFee().subtract(ywContractBill.getActReceivableFee()) + ); + //鏀舵璐﹀崟 + if(Constants.equalsInteger(ywContractBill.getBillType(),Constants.ZERO)){ + //搴旀敹閲戦 灏忎簬 瀹炴敹閲戦 澶氭敹閲戦 搴旇鏄��娆� + if(ywContractBill.getNeedReceivableFee().compareTo(BigDecimal.ZERO)<Constants.ZERO){ + ywContractBillDataVO.setPayAmount(ywContractBillDataVO.getPayAmount()+1); + ywContractBillDataVO.setPayFee(ywContractBillDataVO.getPayFee().add(ywContractBill.getNeedReceivableFee().abs())); + }else if(ywContractBill.getNeedReceivableFee().compareTo(BigDecimal.ZERO)>Constants.ZERO){ + ywContractBillDataVO.setInAmount(ywContractBillDataVO.getInAmount()+1); + ywContractBillDataVO.setInFee(ywContractBillDataVO.getInFee().add(ywContractBill.getNeedReceivableFee().abs())); + } + }else{ + //浠樻璐﹀崟 + //搴斾粯閲戦 灏忎簬 瀹炰粯閲戦 搴旇鏄粯娆炬 + if(ywContractBill.getNeedReceivableFee().compareTo(BigDecimal.ZERO)<Constants.ZERO){ + ywContractBillDataVO.setPayAmount(ywContractBillDataVO.getPayAmount()+1); + ywContractBillDataVO.setPayFee(ywContractBillDataVO.getPayFee().add(ywContractBill.getNeedReceivableFee().abs())); + }else{ + ywContractBillDataVO.setInAmount(ywContractBillDataVO.getInAmount()+1); + ywContractBillDataVO.setInFee(ywContractBillDataVO.getInFee().add(ywContractBill.getNeedReceivableFee().abs())); + } + } + } + ywContractBillDataVO.setYwContractBillList(list); + } + + return ywContractBillDataVO; + } + + } -- Gitblit v1.9.3