From da124bc60214876ec2b00d00d865b14cf9bb9535 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 12 二月 2025 09:48:31 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/xiaochen991015/xizang

---
 ruoyi-admin/src/main/resources/application-test.yml                            |    2 
 ruoyi-system/src/main/resources/mapper/system/TContractMapper.xml              |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/model/TBill.java                   |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java |   45 +++++++
 ruoyi-system/src/main/resources/mapper/system/TBillMapper.xml                  |   63 ++++++++++
 ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java          |   20 +++
 ruoyi-system/src/main/java/com/ruoyi/system/dto/OfflinePayDto.java             |   36 ++++++
 ruoyi-system/src/main/java/com/ruoyi/system/dto/TBillDto.java                  |    1 
 ruoyi-system/src/main/java/com/ruoyi/system/vo/TBillVO.java                    |   11 +
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBillController.java    |   11 +
 ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TBillController.java   |   40 ++++++
 ruoyi-system/src/main/java/com/ruoyi/system/dto/TbillSaveDto.java              |   17 ++
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBillMapper.java            |   13 ++
 ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/PayController.java     |   42 ++++++
 ruoyi-system/src/main/java/com/ruoyi/system/model/TContract.java               |    2 
 15 files changed, 296 insertions(+), 11 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBillController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBillController.java
index a922d24..5322e03 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBillController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBillController.java
@@ -3,11 +3,14 @@
 
 import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.system.dto.TBillDto;
+import com.ruoyi.system.dto.TbillSaveDto;
 import com.ruoyi.system.model.TBill;
 import com.ruoyi.system.query.TBillQuery;
 import com.ruoyi.system.service.TBillService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -34,6 +37,14 @@
         return R.ok(pageInfo);
     }
 
+    @PostMapping("add")
+    public R<PageInfo<TBillDto>> add(@Validated @RequestBody TbillSaveDto bill){
+        tBillService.saveBill(bill);
+        return R.ok();
+    }
+
+
+
 
 }
 
diff --git a/ruoyi-admin/src/main/resources/application-test.yml b/ruoyi-admin/src/main/resources/application-test.yml
index e30bce7..4ca4b21 100644
--- a/ruoyi-admin/src/main/resources/application-test.yml
+++ b/ruoyi-admin/src/main/resources/application-test.yml
@@ -21,7 +21,7 @@
   port: 8081
   servlet:
     # 应用的访问路径
-    context-path: /admin
+    context-path: /
   tomcat:
     # tomcat的URI编码
     uri-encoding: UTF-8
diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/PayController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/PayController.java
index 12cf9b6..f6058a5 100644
--- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/PayController.java
+++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/PayController.java
@@ -1,11 +1,20 @@
 package com.ruoyi.web.controller.api;
 
+import cn.hutool.core.collection.CollectionUtil;
+import com.ruoyi.common.constant.AmountConstant;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.system.dto.MakeOrderDto;
 import com.ruoyi.system.dto.MakeOrderResp;
+import com.ruoyi.system.dto.OfflinePayDto;
+import com.ruoyi.system.model.TBill;
+import com.ruoyi.system.model.TBillConfirm;
+import com.ruoyi.system.service.TBillConfirmService;
+import com.ruoyi.system.service.TBillService;
 import com.ruoyi.system.service.TPayOrderService;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -13,6 +22,12 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.Collections;
+import java.util.List;
+
+@Api(value = "支付订单")
 @RestController
 @RequestMapping("/t-pay")
 public class PayController {
@@ -22,6 +37,12 @@
     @Autowired
     TPayOrderService tPayOrderService;
 
+    @Autowired
+    TBillService tBillService;
+
+    @Autowired
+    TBillConfirmService tBillConfirmService;
+
     @ApiOperation(value = "创建支付订单")
     @PostMapping("makeOrder")
     public R<MakeOrderResp> makeOrder(@Validated @RequestBody MakeOrderDto dto){
@@ -29,7 +50,24 @@
         return R.ok(resp);
     }
 
-
-
+    @ApiOperation(value = "线下支付")
+    @PostMapping("offlinePay")
+    public R offlinePay(@Validated @RequestBody OfflinePayDto dto){
+        List<TBill> tBills = tBillService.listByIds(dto.getBillIds());
+        for (TBill tBill : tBills) {
+            TBill save = new TBill();
+            save.setId(tBill.getId());
+            save.setPayFeesType(2);
+            save.setVoucher(dto.getVoucher());
+            save.setPayFeesStatus("2");
+            tBillService.lockAndUpdateInfo(save);
+        }
+        TBillConfirm confirm = new TBillConfirm();
+        confirm.setBillId(CollectionUtil.join(dto.getBillIds(),","));
+        confirm.setVoucher(dto.getVoucher());
+        confirm.setPayFeesMoney(new BigDecimal(dto.getAmount()).divide(AmountConstant.b100).setScale(2, RoundingMode.HALF_DOWN).doubleValue());
+        tBillConfirmService.save(confirm);
+        return R.ok();
+    }
 
 }
diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TBillController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TBillController.java
index bee1f33..9d29fb1 100644
--- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TBillController.java
+++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TBillController.java
@@ -8,14 +8,12 @@
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.DictUtils;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.framework.web.service.TokenService;
 import com.ruoyi.system.dto.TBillDto;
 import com.ruoyi.system.dto.TInvoiceDTO;
 import com.ruoyi.system.model.*;
 import com.ruoyi.system.query.TBillQuery;
-import com.ruoyi.system.service.TBillDetailService;
-import com.ruoyi.system.service.TBillService;
-import com.ruoyi.system.service.TInvoiceService;
-import com.ruoyi.system.service.TInvoiceToBillService;
+import com.ruoyi.system.service.*;
 import com.ruoyi.system.vo.TBillVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -44,9 +42,15 @@
     @Autowired
     TBillDetailService billDetailService;
     @Autowired
+    TContractService contractService;
+    @Autowired
+    THouseService houseService;
+    @Autowired
     TInvoiceService invoiceService;
     @Autowired
     TInvoiceToBillService invoiceToBillService;
+    @Autowired
+    TokenService tokenService;
 
     @ApiOperation(value = "缴费账单查询分页列表")
     @PostMapping("list")
@@ -56,6 +60,16 @@
         }
         PageInfo<TBillDto> pageInfo = tBillService.queryPage(query);
         return R.ok(pageInfo);
+    }
+
+    @ApiOperation(value = "缴费账单查询分页列表")
+    @PostMapping("/getBillIds")
+    public R<List<String>> getBillIds(@RequestBody TBillQuery query){
+        if (StringUtils.isEmpty(query.getUserId())){
+            throw new ServiceException("用户ID不能为空");
+        }
+        List<String> billIds = tBillService.getBillIds(query);
+        return R.ok(billIds);
     }
 
     @ApiOperation(value = "查看缴费账单详情")
@@ -70,6 +84,13 @@
                     .eq(TBillDetail::getBillId, id));
             billVO.setBillDetailList(list);
         }
+        // 查询合同信息
+        contractService.lambdaQuery().eq(TContract::getId, bill.getContractId()).oneOpt().ifPresent(contract -> {
+            // 查询房屋信息
+            billVO.setHouse(houseService.getById(contract.getHouseId()));
+            billVO.setMonthRent(contract.getMonthRent());
+            billVO.setPayType(contract.getPayType());
+        });
         billVO.setBillType(DictUtils.getDictLabel(DictConstants.DICT_TYPE_BILL_TYPE,billVO.getBillType()));
         billVO.setPayFeesStatus(DictUtils.getDictLabel(DictConstants.DICT_TYPE_PAY_FEES_STATUS,billVO.getPayFeesStatus()));
         return R.ok(billVO);
@@ -94,5 +115,16 @@
         return R.ok();
     }
 
+    @ApiOperation(value = "缴费账单开票列表")
+    @PostMapping(value = "/invoiceList")
+    public R<PageInfo<TBillDto>> invoiceList(@RequestBody TBillQuery query) {
+
+//        Long userId = tokenService.getLoginUser().getUserId();
+        String userId = "1881967035070177281";
+        query.setUserId(userId);
+        PageInfo<TBillDto> pageInfo = tBillService.invoiceList(query);
+        return R.ok(pageInfo);
+    }
+
 }
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/OfflinePayDto.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/OfflinePayDto.java
new file mode 100644
index 0000000..d4f5661
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/OfflinePayDto.java
@@ -0,0 +1,36 @@
+package com.ruoyi.system.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class OfflinePayDto implements Serializable {
+    /**
+     * 用户ID
+     */
+    @ApiModelProperty(value = "用户ID")
+    private String userId;
+
+    @ApiModelProperty(value = "支付金额,单位:分")
+    @NotNull(message = "金额不能为空")
+    private Long amount;
+    /**
+     * 账单列表
+     */
+    @ApiModelProperty(value = "账单列表")
+    @NotEmpty(message = "账单ID不能为空")
+    private List<String> billIds;
+    /**
+     * 凭证文件ID
+     */
+    @ApiModelProperty(value = "凭证文件ID")
+    @NotEmpty(message = "凭证文件不能为空")
+    private String voucher;
+
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/TBillDto.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TBillDto.java
index ba94ba9..6a76c57 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/dto/TBillDto.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TBillDto.java
@@ -16,4 +16,5 @@
 
     private String houseName;
 
+
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/TbillSaveDto.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TbillSaveDto.java
new file mode 100644
index 0000000..f40a77b
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TbillSaveDto.java
@@ -0,0 +1,17 @@
+package com.ruoyi.system.dto;
+
+import com.ruoyi.system.model.TBill;
+import com.ruoyi.system.model.TBillDetail;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class TbillSaveDto extends TBill implements Serializable {
+
+    @ApiModelProperty(value = "水单费列表")
+    private List<TBillDetail> details;
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBillMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBillMapper.java
index ab6c3dc..49292e8 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBillMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBillMapper.java
@@ -5,8 +5,11 @@
 import com.ruoyi.system.dto.TBillDto;
 import com.ruoyi.system.model.TBill;
 import com.ruoyi.system.query.TBillQuery;
+import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
 
 /**
  * <p>
@@ -16,8 +19,18 @@
  * @author xiaochen
  * @since 2025-01-17
  */
+@Mapper
 public interface TBillMapper extends BaseMapper<TBill> {
 
     PageInfo<TBillDto> page(@Param("pageInfo") PageInfo<TBill> pageInfo, @Param("query") TBillQuery query);
 
+    List<TBillDto> getBillList(@Param("query")TBillQuery query);
+
+    /**
+     * 获取开票列表
+     * @param query
+     * @param pageInfo
+     * @return
+     */
+    List<TBillDto> invoiceList(@Param("query")TBillQuery query, @Param("pageInfo")PageInfo<TBillDto> pageInfo);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TBill.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TBill.java
index 68ea69f..bb355e1 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TBill.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TBill.java
@@ -8,6 +8,7 @@
 import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
+import java.util.List;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.core.domain.BaseModel;
@@ -16,6 +17,7 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import org.springframework.data.annotation.Transient;
 
 /**
  * <p>
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TContract.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TContract.java
index 3ca556f..5a87bcd 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TContract.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TContract.java
@@ -87,7 +87,7 @@
 
     @ApiModelProperty(value = "押金是否随租金递增递减 true=是 false=否")
     @TableField("isIncreasing_deposit")
-    private Boolean isincreasingDeposit;
+    private Boolean isIncreasingDeposit;
 
     @ApiModelProperty(value = "违约金比例")
     @TableField("proportion")
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java
index 22feecc..ecdb250 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java
@@ -3,8 +3,11 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.system.dto.TBillDto;
+import com.ruoyi.system.dto.TbillSaveDto;
 import com.ruoyi.system.model.TBill;
 import com.ruoyi.system.query.TBillQuery;
+
+import java.util.List;
 
 /**
  * <p>
@@ -18,4 +21,21 @@
 
     PageInfo<TBillDto> queryPage(TBillQuery query);
 
+    Boolean lockAndUpdateInfo(TBill save);
+
+    void saveBill(TbillSaveDto bill);
+
+    /**
+     * 查询账单id列表
+     * @param query
+     * @return
+     */
+    List<String> getBillIds(TBillQuery query);
+
+    /**
+     * 查询开票列表
+     * @param query
+     * @return
+     */
+    PageInfo<TBillDto> invoiceList(TBillQuery query);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java
index 3a0bdc6..37445bf 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java
@@ -3,20 +3,29 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.entity.SysRole;
 import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.system.dto.TBillDto;
+import com.ruoyi.system.dto.TbillSaveDto;
 import com.ruoyi.system.mapper.TBillMapper;
 import com.ruoyi.system.model.TBill;
+import com.ruoyi.system.model.TBillDetail;
 import com.ruoyi.system.model.TContract;
 import com.ruoyi.system.model.THouse;
 import com.ruoyi.system.query.TBillQuery;
+import com.ruoyi.system.service.TBillDetailService;
 import com.ruoyi.system.service.TBillService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import io.jsonwebtoken.lang.Assert;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -35,24 +44,56 @@
     @Autowired
     TBillMapper tBillMapper;
 
+    @Autowired
+    TBillDetailService tBillDetailService;
+
+
     public PageInfo<TBillDto> queryPage(TBillQuery query){
         PageInfo<TBill> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
         PageInfo<TBillDto> info = tBillMapper.page(pageInfo, query);
         return info;
     }
 
+    @Override
+    public List<String> getBillIds(TBillQuery query) {
+        List<TBillDto> billDtos = tBillMapper.getBillList(query);
+        return billDtos.stream().map(TBillDto::getId).collect(Collectors.toList());
+    }
 
+    @Override
+    public PageInfo<TBillDto> invoiceList(TBillQuery query) {
+        PageInfo<TBillDto> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
+        List<TBillDto> list = tBillMapper.invoiceList(query,pageInfo);
+        pageInfo.setRecords(list);
+        return pageInfo;
+    }
 
     /**
      * 传的金额
      * @param tBill
      * @return
      */
-    public Boolean checkAndUpdateBill(TBill tBill){
+    public Boolean lockAndUpdateInfo(TBill tBill){
+        if (StringUtils.isEmpty(tBill.getId())){
+            throw new ServiceException("账单主键ID不能为空");
+        }
         return true;
     }
 
-
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void saveBill(TbillSaveDto bill) {
+        save(bill);
+        if (bill.getBillType().equals("3")){
+            if (bill.getDetails()==null || bill.getDetails().size()==0){
+                throw new ServiceException("生活费用列表不能为空");
+            }
+            for (TBillDetail detail : bill.getDetails()) {
+                detail.setBillId(bill.getId());
+                tBillDetailService.save(detail);
+            }
+        }
+    }
 
 
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TBillVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TBillVO.java
index 60ad80c..6b4bbbe 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TBillVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TBillVO.java
@@ -1,11 +1,14 @@
 package com.ruoyi.system.vo;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.ruoyi.system.model.TBill;
 import com.ruoyi.system.model.TBillDetail;
+import com.ruoyi.system.model.THouse;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 @Data
@@ -15,4 +18,12 @@
     @ApiModelProperty(value = "水电费明细")
     private List<TBillDetail> billDetailList;
 
+    @ApiModelProperty(value = "房屋信息")
+    private THouse house;
+
+    @ApiModelProperty(value = "租金")
+    private BigDecimal monthRent;
+
+    @ApiModelProperty(value = "租金支付方式 月付 季付 年付")
+    private String payType;
 }
diff --git a/ruoyi-system/src/main/resources/mapper/system/TBillMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TBillMapper.xml
index 2f8fbd8..8ac1c4a 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TBillMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TBillMapper.xml
@@ -42,6 +42,37 @@
             h.house_name as houseName
         FROM
             t_bill b
+        LEFT JOIN t_contract c ON c.contract_number = b.contract_number and c.disabled=0
+        LEFT JOIN t_house h ON h.id = c.house_id and h.disabled=0
+        LEFT JOIN t_tenant t ON t.id = c.tenant_id and t.disabled=0
+        <where>
+            b.disabled=0
+            <if test="query.payFeesStatus != null">
+                and b.pay_fees_status = #{query.payFeesStatus}
+            </if>
+            <if test="query.phone != null and query.phone !=''">
+                and t.phone = #{query.phone}
+            </if>
+            <if test="query.residentName != null and query.residentName !=''">
+                and t.resident_name like concat('%',#{query.residentName},'%')
+            </if>
+            <if test="query.contractNumber != null and query.contractNumber !=''">
+                and b.contract_number = #{query.contractNumber}
+            </if>
+            <if test="query.userId != null and query.userId !=''">
+                and t.id = #{query.userId}
+            </if>
+        </where>
+    </select>
+    <select id="getBillList" resultType="com.ruoyi.system.dto.TBillDto">
+        SELECT
+        b.*,
+        t.resident_name as residentName,
+        t.phone,
+        t.account,
+        h.house_name as houseName
+        FROM
+        t_bill b
         LEFT JOIN t_contract c ON c.contract_number = b.contract_number
         LEFT JOIN t_house h ON h.id = c.house_id
         LEFT JOIN t_tenant t ON t.id = c.tenant_id
@@ -63,4 +94,36 @@
             </if>
         </where>
     </select>
+    <select id="invoiceList" resultType="com.ruoyi.system.dto.TBillDto">
+        SELECT
+        b.*,
+        t.resident_name as residentName,
+        t.phone,
+        t.account,
+        h.house_name as houseName
+        FROM
+        t_bill b
+        LEFT JOIN t_contract c ON c.contract_number = b.contract_number
+        LEFT JOIN t_house h ON h.id = c.house_id
+        LEFT JOIN t_tenant t ON t.id = c.tenant_id
+        LEFT JOIN t_invoice_to_bill tb ON b.id = tb.bill_id
+        <where>
+            <if test="query.payFeesStatus != null">
+                and b.pay_fees_status = #{query.payFeesStatus}
+            </if>
+            <if test="query.phone != null and query.phone !=''">
+                and t.phone = #{query.phone}
+            </if>
+            <if test="query.residentName != null and query.residentName !=''">
+                and t.resident_name like concat('%',#{query.residentName},'%')
+            </if>
+            <if test="query.contractNumber != null and query.contractNumber !=''">
+                and b.contract_number = #{query.contractNumber}
+            </if>
+            <if test="query.userId != null and query.userId !=''">
+                and t.id = #{query.userId}
+            </if>
+            and tb.invoice_id IS NULL
+        </where>
+    </select>
 </mapper>
diff --git a/ruoyi-system/src/main/resources/mapper/system/TContractMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TContractMapper.xml
index 09c437c..5a57cac 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TContractMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TContractMapper.xml
@@ -14,7 +14,7 @@
         <result column="pay_type" property="payType" />
         <result column="first_pay_time" property="firstPayTime" />
         <result column="isIncreasing" property="isIncreasing" />
-        <result column="isIncreasing_deposit" property="isincreasingDeposit" />
+        <result column="isIncreasing_deposit" property="isIncreasingDeposit" />
         <result column="proportion" property="proportion" />
         <result column="house_id" property="houseId" />
         <result column="party_one_name" property="partyOneName" />

--
Gitblit v1.7.1