From 96a10df5b7716122dbc2eb24cdfeb192694684fa Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 14 二月 2025 15:37:41 +0800
Subject: [PATCH] Merge branch 'xizang-changyun' of https://gitee.com/xiaochen991015/xizang

---
 ruoyi-system/src/main/java/com/ruoyi/system/query/TInvoiceToBillQuery.java              |   19 ++++
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TPayOrderServiceImpl.java      |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/service/TInvoiceToBillService.java          |   10 ++
 ruoyi-system/src/main/java/com/ruoyi/system/service/TInvoiceService.java                |    1 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java          |   36 ++++++--
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInvoiceController.java          |   22 +++++
 ruoyi-admin/src/main/java/com/ruoyi/web/task/TbillTask.java                             |   71 -----------------
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TInvoiceToBillServiceImpl.java |   19 ++++
 ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java                   |    7 +
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TInvoiceServiceImpl.java       |   12 +++
 ruoyi-system/src/main/java/com/ruoyi/system/query/TInvoiceQuery.java                    |    2 
 11 files changed, 119 insertions(+), 82 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInvoiceController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInvoiceController.java
index 72f9fb4..10cd917 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInvoiceController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInvoiceController.java
@@ -5,13 +5,16 @@
 import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.system.model.TBill;
 import com.ruoyi.system.model.TInvoice;
 import com.ruoyi.system.query.TInvoiceQuery;
+import com.ruoyi.system.service.TBillService;
 import com.ruoyi.system.service.TInvoiceService;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+
 
 /**
  * <p>
@@ -26,6 +29,8 @@
 public class TInvoiceController {
     @Autowired
     private TInvoiceService invoiceService;
+    @Autowired
+    TBillService tBillService;
     @PreAuthorize("@ss.hasPermi('system:invoice:list')")
     @ApiOperation(value = "获取开票列表")
     @PostMapping("/list")
@@ -41,5 +46,22 @@
         return R.ok(invoiceService.removeById(id));
     }
 
+    @ApiOperation(value = "关联账单信息")
+    @GetMapping(value = "/getBillByInvoiceId")
+    public R<PageInfo<TBill>> getBillByInvoiceId(String invoiceId){
+        return R.ok(tBillService.getBillByInvoiceId(invoiceId));
+    }
+
+    @ApiOperation(value = "上传开票凭证")
+    @PostMapping("/uploadVoucher")
+    public R<Boolean> uploadVoucher(@RequestBody TInvoiceQuery query) {
+        TInvoice tInvoice = new TInvoice();
+        tInvoice.setId(query.getId());
+        tInvoice.setInvoiceVoucher(query.getInvoiceVoucher());
+        tInvoice.setInvoiceTime(query.getInvoiceTime());
+        tInvoice.setStatus(2);
+        return R.ok(invoiceService.updateById(tInvoice));
+    }
+
 }
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/task/TbillTask.java b/ruoyi-admin/src/main/java/com/ruoyi/web/task/TbillTask.java
index ba3240a..163b191 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/task/TbillTask.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/task/TbillTask.java
@@ -26,78 +26,7 @@
     @Autowired
     TContractService tContractService;
 
-    /**
-     * 判断账单是否到期
-     */
-    public void checkBillOverdue(){
-        try {
-            int index = 1;
-            int rows = 20;
-            long pages = 0;
-            TBillQuery query = new TBillQuery();
-            query.setPageSize(rows);
-            //查询未缴费的
-            query.setPayFeesStatus(1);
-            Calendar c = Calendar.getInstance();
-            Date time = c.getTime();
-            do {
-                query.setPageNum(index);
-                PageInfo<TBillDto> pageinfo = tBillService.queryPage(query);
-                if (pages==0){
-                    pages = pageinfo.getPages();
-                }
-                if (pageinfo.getRecords()!=null && pageinfo.getRecords().size()>0){
-                    pageinfo.getRecords().forEach(tBill -> {
 
-                        //todo 生成账单
-
-                    });
-
-                }
-                index++;
-            }while (index<=pages);
-        }catch (Exception e){
-            log.error("");
-        }
-
-    }
-
-
-    /**
-     * 计算违约金
-     */
-    public void caculatePenaltyFee(){
-        try {
-            int index = 1;
-            int rows = 20;
-            long pages = 0;
-            TBillQuery query = new TBillQuery();
-            query.setPageSize(rows);
-            //查询已逾期的
-            query.setPayFeesStatus(4);
-            Calendar c = Calendar.getInstance();
-            Date time = c.getTime();
-            do {
-                query.setPageNum(index);
-                PageInfo<TBillDto> pageinfo = tBillService.queryPage(query);
-                if (pages==0){
-                    pages = pageinfo.getPages();
-                }
-                if (pageinfo.getRecords()!=null && pageinfo.getRecords().size()>0){
-                    pageinfo.getRecords().forEach(tContract -> {
-
-                        //todo 生成账单
-
-                    });
-
-                }
-                index++;
-            }while (index<=pages);
-        }catch (Exception e){
-            log.error("");
-        }
-
-    }
 
 
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TInvoiceQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TInvoiceQuery.java
index 108302c..e40dd4e 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/query/TInvoiceQuery.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TInvoiceQuery.java
@@ -12,6 +12,8 @@
 @Data
 @ApiModel(value="开票查询列表Query")
 public class TInvoiceQuery extends BasePage {
+    @ApiModelProperty(value = "id")
+    private String id;
     @ApiModelProperty(value = "申请编号")
     private String invoiceNumber;
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TInvoiceToBillQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TInvoiceToBillQuery.java
new file mode 100644
index 0000000..2faa6d3
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TInvoiceToBillQuery.java
@@ -0,0 +1,19 @@
+package com.ruoyi.system.query;
+
+import com.ruoyi.common.core.domain.BasePage;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+
+@Data
+@ApiModel(value="开票查询列表Query")
+public class TInvoiceToBillQuery extends BasePage {
+    @ApiModelProperty(value = "开票申请id")
+    private String invoiceId;
+
+    @ApiModelProperty(value = "账单id")
+    private String billId;
+
+}
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 1833282..7721283 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
@@ -69,4 +69,11 @@
      * @return
      */
     PageInfo<TBillDto> invoiceList(TBillQuery query);
+
+    /**
+     * 根据发票编号查询账单列表
+     * @param invoiceId
+     * @return
+     */
+    PageInfo<TBill> getBillByInvoiceId(String invoiceId);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TInvoiceService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TInvoiceService.java
index c537efa..c637d9d 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TInvoiceService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TInvoiceService.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.system.model.TBill;
 import com.ruoyi.system.model.TInvoice;
 import com.ruoyi.system.query.TInvoiceQuery;
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TInvoiceToBillService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TInvoiceToBillService.java
index e87d9ad..79150fd 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TInvoiceToBillService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TInvoiceToBillService.java
@@ -2,6 +2,14 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.system.model.TInvoiceToBill;
+import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.system.model.TInvoice;
+import com.ruoyi.system.model.TInvoiceToBill;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.system.query.TInvoiceQuery;
+import com.ruoyi.system.query.TInvoiceToBillQuery;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +21,6 @@
  */
 public interface TInvoiceToBillService extends IService<TInvoiceToBill> {
 
+    List<TInvoiceToBill> makeQuery(TInvoiceToBillQuery 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 6d301c3..2c1bc20 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
@@ -1,10 +1,7 @@
 package com.ruoyi.system.service.impl;
 
-import com.alibaba.fastjson2.JSON;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 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.constant.AmountConstant;
 import com.ruoyi.common.constant.CacheConstants;
 import com.ruoyi.common.core.redis.RedisCache;
@@ -18,6 +15,7 @@
 import com.ruoyi.system.mapper.TBillMapper;
 import com.ruoyi.system.model.*;
 import com.ruoyi.system.query.TBillQuery;
+import com.ruoyi.system.query.TInvoiceToBillQuery;
 import com.ruoyi.system.service.*;
 import com.taxi591.bankapi.dto.ChargeBillRequest;
 import lombok.extern.slf4j.Slf4j;
@@ -27,18 +25,12 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.time.LocalDateTime;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 import java.math.BigDecimal;
 import java.text.ParseException;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Date;
 import java.util.List;
 import java.util.function.Consumer;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 /**
  * <p>
@@ -75,6 +67,9 @@
 
     @Autowired
     TOrderBillService orderBillService;
+
+    @Autowired
+    TInvoiceToBillService tInvoiceToBillService;
 
     public PageInfo<TBillDto> queryPage(TBillQuery query){
         PageInfo<TBill> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
@@ -328,5 +323,26 @@
 
     }
 
+    /**
+     * 根据发票编号查询账单列表
+     * @param invoiceId
+     * @return
+     */
+    @Override
+    public PageInfo<TBill> getBillByInvoiceId(String invoiceId){
+        invoiceId = "1889552849671061505";
+        PageInfo<TBill> pageInfo = new PageInfo<>();
+        ArrayList<TBill> bills = new ArrayList<>();
+        TInvoiceToBillQuery query = new TInvoiceToBillQuery();
+        query.setInvoiceId(invoiceId);
+        List<TInvoiceToBill> tInvoiceToBills = tInvoiceToBillService.makeQuery(query);
+        for (TInvoiceToBill tInvoiceToBill : tInvoiceToBills) {
+            TBill byId = getById(tInvoiceToBill.getBillId());
+            bills.add(byId);
+        }
+        pageInfo.setRecords(bills);
+        return pageInfo;
+    }
+
 
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TInvoiceServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TInvoiceServiceImpl.java
index b7c307b..81c4fdf 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TInvoiceServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TInvoiceServiceImpl.java
@@ -4,12 +4,20 @@
 import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.system.mapper.TInvoiceMapper;
+import com.ruoyi.system.model.TBill;
 import com.ruoyi.system.model.TInvoice;
+import com.ruoyi.system.model.TInvoiceToBill;
 import com.ruoyi.system.query.TInvoiceQuery;
+import com.ruoyi.system.query.TInvoiceToBillQuery;
+import com.ruoyi.system.service.TBillService;
 import com.ruoyi.system.service.TInvoiceService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sun.org.apache.regexp.internal.RE;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.web.bind.annotation.RequestParam;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -22,6 +30,10 @@
  */
 @Service
 public class TInvoiceServiceImpl extends ServiceImpl<TInvoiceMapper, TInvoice> implements TInvoiceService {
+    @Autowired
+    TInvoiceToBillServiceImpl tInvoiceToBillService;
+    @Autowired
+    TBillService tBillService;
 
     @Override
     public PageInfo<TInvoice> pageList(TInvoiceQuery query) {
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TInvoiceToBillServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TInvoiceToBillServiceImpl.java
index 61b05c2..aacd7b8 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TInvoiceToBillServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TInvoiceToBillServiceImpl.java
@@ -1,5 +1,17 @@
 package com.ruoyi.system.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.system.model.TInvoice;
+import com.ruoyi.system.model.TInvoiceToBill;
+import com.ruoyi.system.mapper.TInvoiceToBillMapper;
+import com.ruoyi.system.query.TInvoiceToBillQuery;
+import com.ruoyi.system.service.TInvoiceToBillService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.system.mapper.TInvoiceToBillMapper;
 import com.ruoyi.system.model.TInvoiceToBill;
@@ -17,4 +29,11 @@
 @Service
 public class TInvoiceToBillServiceImpl extends ServiceImpl<TInvoiceToBillMapper, TInvoiceToBill> implements TInvoiceToBillService {
 
+    @Override
+    public List<TInvoiceToBill> makeQuery(TInvoiceToBillQuery query) {
+        LambdaQueryWrapper<TInvoiceToBill> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(null != query.getInvoiceId(),TInvoiceToBill::getInvoiceId,query.getInvoiceId())
+                .eq(null != query.getBillId(),TInvoiceToBill::getBillId,query.getBillId());
+        return this.baseMapper.selectList(queryWrapper);
+    }
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TPayOrderServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TPayOrderServiceImpl.java
index 56ec0cb..4d6ed9f 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TPayOrderServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TPayOrderServiceImpl.java
@@ -72,7 +72,7 @@
             //计算欠费金额:租金+违约金-实收金额
             long rent = caculateRentFee(bill);
             if (rent==0){
-                throw new ServiceException("该订单已缴费");
+                throw new ServiceException("该账单已缴费");
             }
             if (rent>dto.getAmount()){
                 throw new ServiceException("支付金额超过了账单欠费金额");

--
Gitblit v1.7.1