From 5259bd0cab1aa4c3551ba5c0d3d15d156c087a80 Mon Sep 17 00:00:00 2001
From: renkang <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 10 一月 2025 14:09:40 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0.1' into 2.0.1
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java | 128 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 128 insertions(+), 0 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 a320b59..5d59968 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
@@ -7,9 +7,11 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.*;
import com.doumee.dao.business.model.*;
+import com.doumee.dao.business.vo.YwContractBillCallDataVO;
import com.doumee.dao.business.vo.YwContractBillDataVO;
import com.doumee.dao.system.MultifileMapper;
import com.doumee.dao.system.model.Multifile;
@@ -55,6 +57,9 @@
@Autowired
private YwContractMapper ywContractMapper;
+
+ @Autowired
+ private MemberMapper memberMapper;
@@ -300,6 +305,10 @@
YwContractBill::getPayStatus,model.getPayStatus())
.eq(Objects.nonNull(model)&&Objects.nonNull(model.getType()),
YwContractBill::getType,model.getType())
+ .le(Objects.nonNull(model)&&Objects.nonNull(model.getIsOverdue())&&Constants.equalsInteger(model.getIsOverdue(),Constants.ONE),
+ YwContractBill::getPlanPayDate, DateUtil.getCurrDateTime())
+ .eq(Objects.nonNull(model)&&Objects.nonNull(model.getIsOverdue())&&Constants.equalsInteger(model.getIsOverdue(),Constants.ONE),
+ YwContractBill::getStatus, Constants.ZERO)
.eq(Objects.nonNull(model)&&Objects.nonNull(model.getContractId()),
YwContractBill::getContractId,model.getContractId())
.like(Objects.nonNull(model)&&StringUtils.isNotBlank(model.getContractCode()),
@@ -325,6 +334,78 @@
}else{
ywContractBill.setIsOverdue(Constants.ZERO);
}
+ //妤煎畤鍚嶇О
+ List<YwContractRoom> ywContractRoomList = ywContractBill.getYwContractRoomList();
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywContractRoomList)){
+ StringBuilder roomPathName = new StringBuilder();
+ for (YwContractRoom ywContractRoom:ywContractRoomList) {
+ if(StringUtils.isNotBlank(ywContractRoom.getProjectName())){
+ roomPathName.append(ywContractRoom.getProjectName()+"/");
+ }
+ if(StringUtils.isNotBlank(ywContractRoom.getBuildingName())){
+ roomPathName.append(ywContractRoom.getBuildingName()+"/");
+ }
+ if(StringUtils.isNotBlank(ywContractRoom.getFloorName())){
+ roomPathName.append(ywContractRoom.getFloorName()+"/");
+ }
+ if(StringUtils.isNotBlank(ywContractRoom.getRoomName())){
+ roomPathName.append(ywContractRoom.getRoomName());
+ }
+ if(StringUtils.isNotBlank(roomPathName)){
+ roomPathName.append(";");
+ }
+ }
+ ywContractBill.setRoomPathName(roomPathName.toString());
+ }
+ }
+
+ return PageData.from(iPage);
+ }
+
+ /**
+ * 閫炬湡璐﹀崟
+ * @param pageWrap
+ * @return
+ */
+ @Override
+ public PageData<YwContractBill> findPageForOverdue(PageWrap<YwContractBill> pageWrap) {
+ IPage<YwContractBill> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+ MPJLambdaWrapper<YwContractBill> queryWrapper = new MPJLambdaWrapper<>();
+ Utils.MP.blankToNull(pageWrap.getModel());
+ YwContractBill model = pageWrap.getModel();
+ IPage<YwContractBill> iPage = ywContractBillMapper.selectJoinPage(page,YwContractBill.class,
+ 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)
+ .like(Objects.nonNull(model)&&StringUtils.isNotBlank(model.getCustomerName()),
+ YwCustomer::getName,model.getCustomerName())
+ .eq(Objects.nonNull(model)&&Objects.nonNull(model.getStatus()),
+ YwContractBill::getStatus,model.getStatus())
+ .eq(Objects.nonNull(model)&&Objects.nonNull(model.getBillType()),
+ YwContractBill::getBillType,model.getBillType())
+ .eq(Objects.nonNull(model)&&Objects.nonNull(model.getPayStatus()),
+ YwContractBill::getPayStatus,model.getPayStatus())
+ .in(Objects.nonNull(model)&&Objects.nonNull(model.getPayStatus()),
+ YwContractBill::getPayStatus,Constants.ZERO,Constants.THREE,Constants.TWO,Constants.FOUR)
+ .eq(Objects.nonNull(model)&&Objects.nonNull(model.getType()),
+ YwContractBill::getType,model.getType())
+ .le(Objects.nonNull(model)&&Objects.nonNull(model.getIsOverdue())&&Constants.equalsInteger(model.getIsOverdue(),Constants.ONE),
+ YwContractBill::getPlanPayDate, DateUtil.getCurrDateTime())
+ .eq(Objects.nonNull(model)&&Objects.nonNull(model.getIsOverdue())&&Constants.equalsInteger(model.getIsOverdue(),Constants.ONE),
+ YwContractBill::getStatus, Constants.ZERO)
+ .ge(Objects.nonNull(model)&&Objects.nonNull(model.getPlanPayDateStart()),YwContractBill::getPlanPayDate, Utils.Date.getStart(model.getPlanPayDateStart()))
+ .le(Objects.nonNull(model)&&Objects.nonNull(model.getPlanPayDateEnd()),YwContractBill::getPlanPayDate, Utils.Date.getEnd(model.getPlanPayDateEnd()))
+ .orderByDesc(YwContractBill::getId));
+ this.dealRoomDetail(iPage.getRecords());
+ for (YwContractBill ywContractBill:iPage.getRecords()) {
+ //闇�鏀堕噾棰�
+ ywContractBill.setNeedReceivableFee(
+ ywContractBill.getReceivableFee().subtract(ywContractBill.getActReceivableFee())
+ );
//妤煎畤鍚嶇О
List<YwContractRoom> ywContractRoomList = ywContractBill.getYwContractRoomList();
if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywContractRoomList)){
@@ -542,4 +623,51 @@
}
+
+
+ @Override
+ public List<YwContractBillCallDataVO> getNoticeCustomerData(List<Integer> billIds){
+ List<YwContractBillCallDataVO> ywContractBillCallDataVOList = new ArrayList<>();
+ List<YwContractBill> ywContractBillList = ywContractBillMapper.selectJoinList(YwContractBill.class,new MPJLambdaWrapper<YwContractBill>()
+ .selectAll(YwContractBill.class)
+ .selectAs(YwCustomer::getName,YwContractBill::getCustomerName)
+ .selectAs(YwCustomer::getUserId,YwContractBill::getCustomerUserId)
+ .selectAs(YwCustomer::getId,YwContractBill::getCustomerId)
+ .leftJoin(YwContract.class,YwContract::getId,YwContractBill::getContractId)
+ .leftJoin(YwCustomer.class,YwCustomer::getId,YwContract::getRenterId)
+ .in(YwContractBill::getId,billIds)
+ );
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(ywContractBillList) ||
+ !Constants.equalsInteger(billIds.size(),ywContractBillList.size())
+ ){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璐﹀崟鏁版嵁閿欒锛岃鍒锋柊閲嶈瘯");
+ }
+ for (YwContractBill ywContractBill:ywContractBillList) {
+ YwContractBillCallDataVO ywContractBillCallDataVO = new YwContractBillCallDataVO();
+ ywContractBillCallDataVO.setBillId(ywContractBill.getId());
+ ywContractBillCallDataVO.setCustomerName(ywContractBill.getCustomerName());
+ ywContractBillCallDataVO.setUserId(ywContractBill.getCustomerUserId());
+ //鏌ヨ瀹㈡埛涓嬬殑鎵�鏈変汉鍛�
+ ywContractBillCallDataVO.setMemberList(
+ memberMapper.selectList(new QueryWrapper<Member>().lambda().eq(Member::getCustomerId,ywContractBill.getCustomerId())
+ .eq(Member::getIsdeleted,Constants.ZERO))
+ );
+ ywContractBillCallDataVOList.add(ywContractBillCallDataVO);
+ }
+ return ywContractBillCallDataVOList;
+ }
+
+
+ public void downloadCallFeeDoc(List<Integer> billIds){
+ List<YwContractBill> ywContractBillList = ywContractBillMapper.selectJoinList(YwContractBill.class,new MPJLambdaWrapper<YwContractBill>()
+ .selectAll(YwContractBill.class)
+ .selectAs(YwCustomer::getName,YwContractBill::getCustomerName)
+ .selectAs(YwCustomer::getUserId,YwContractBill::getCustomerUserId)
+ .selectAs(YwCustomer::getId,YwContractBill::getCustomerId)
+ .leftJoin(YwContract.class,YwContract::getId,YwContractBill::getContractId)
+ .leftJoin(YwCustomer.class,YwCustomer::getId,YwContract::getRenterId)
+ .in(YwContractBill::getId,billIds)
+ );
+ }
+
}
--
Gitblit v1.9.3