From 77094dd01f0c6ff59b4fb4fa1105addf34b2398c Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期二, 16 六月 2026 18:49:03 +0800
Subject: [PATCH] 新增智能电表、空调管理

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractRevenueServiceImpl.java |   17 ++++++++++++-----
 1 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractRevenueServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractRevenueServiceImpl.java
index 8912d5e..c1012e9 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractRevenueServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractRevenueServiceImpl.java
@@ -12,7 +12,7 @@
 import com.doumee.dao.business.*;
 import com.doumee.dao.business.dao.CompanyMapper;
 import com.doumee.dao.business.model.*;
-import com.doumee.dao.business.vo.EditRecordDataVO;
+import com.doumee.dao.business.dto.EditRecordDataVO;
 import com.doumee.dao.system.MultifileMapper;
 import com.doumee.dao.system.SystemUserMapper;
 import com.doumee.dao.system.model.Multifile;
@@ -24,7 +24,6 @@
 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.transaction.annotation.Transactional;
@@ -85,7 +84,12 @@
         ){
              throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
-        YwContractBill ywContractBill = ywContractBillMapper.selectById(ywContractRevenue.getBillId());
+        YwContractBill ywContractBill = ywContractBillMapper.selectJoinOne(YwContractBill.class,
+                new MPJLambdaWrapper<YwContractBill>()
+                        .selectAll(YwContractBill.class)
+                        .selectAs(YwContract::getStatus, YwContractBill::getContractStatus)
+                        .leftJoin(YwContract.class,YwContract::getId,YwContractBill::getContractId)
+                        .eq(YwContractBill::getId,ywContractRevenue.getBillId()));
         if(Objects.isNull(ywContractBill)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌璐﹀崟淇℃伅");
         }
@@ -189,7 +193,8 @@
         ywContractRevenueMapper.insert(ywContractRevenue);
         ywContractBillMapper.updateById(ywContractBill);
         //濡傛灉璐﹀崟瀹岀粨锛屽垯鏌ヨ鍚堝悓涓嬪紑鍚腑鐨勮处鍗曟槸鍚﹀瓨鍦ㄩ��娆句腑 濡傛灉涓嶅瓨鍦ㄥ垯鏍囪鍚堝悓宸查��娆�
-        if(Constants.equalsInteger(ywContractBill.getPayStatus(),Constants.ONE)){
+        if(Constants.equalsInteger(ywContractBill.getContractStatus(),Constants.THREE)
+                && Constants.equalsInteger(ywContractBill.getPayStatus(),Constants.ONE)){
             if( ywContractBillMapper
                     .selectCount(new QueryWrapper<YwContractBill>().lambda().eq(YwContractBill::getContractId,ywContractBill.getContractId())
                             .ne(YwContractBill::getId,ywContractBill.getId())
@@ -268,6 +273,7 @@
                 new MPJLambdaWrapper<YwContractRevenue>().selectAll(YwContractRevenue.class)
                         .selectAs(YwContractBill::getCode,YwContractRevenue::getBillCode)
                         .selectAs(YwContract::getCode,YwContractRevenue::getContractCode)
+                        .selectAs(YwContract::getStatus,YwContractRevenue::getContractStatus)
                         .selectAs(YwCustomer::getName,YwContractRevenue::getCustomerName)
                         .selectAs(SystemUser::getRealname,YwContractRevenue::getRealname)
                         .selectAs(YwAccount::getTitle,YwContractRevenue::getAccountTitle)
@@ -442,7 +448,8 @@
                         .eq(Objects.nonNull(model)&&Objects.nonNull(model.getRevenueType()),
                                 YwContractRevenue::getRevenueType,model.getRevenueType())
                         .ge(Objects.nonNull(model)&&Objects.nonNull(model.getPayDateStart()),YwContractRevenue::getActPayDate, Utils.Date.getStart(model.getPayDateStart()))
-                        .le(Objects.nonNull(model)&&Objects.nonNull(model.getPayDateEnd()),YwContractRevenue::getActPayDate, Utils.Date.getEnd(model.getPayDateEnd())) )
+                        .le(Objects.nonNull(model)&&Objects.nonNull(model.getPayDateEnd()),YwContractRevenue::getActPayDate, Utils.Date.getEnd(model.getPayDateEnd()))
+                        .orderByDesc(YwContractRevenue::getId))
                 ;
 
         this.dealRoomDetail(iPage.getRecords());

--
Gitblit v1.9.3