LAPTOP-FO2T5SIU\35838 8 月之前
父节点
当前提交
6899b19dbc

+ 25 - 1
pro-base/src/main/java/com/idea/invoice/controller/InvoiceManageController.java

@@ -10,6 +10,7 @@ import com.rockstar.frame.model.extend.DateTrans;
 import com.rockstar.frame.model.extend.TableSplitResult;
 import com.rockstar.frame.model.extend.TableSplitResult;
 import com.rockstar.frame.model.extend.Tablepar;
 import com.rockstar.frame.model.extend.Tablepar;
 import com.rockstar.shiro.util.ShiroUtils;
 import com.rockstar.shiro.util.ShiroUtils;
+import com.rockstar.util.StringUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.stereotype.Controller;
@@ -53,6 +54,11 @@ public class InvoiceManageController extends BaseController {
         return new TableSplitResult<>(page.getPageNum(), page.getTotal(), page.getList());
         return new TableSplitResult<>(page.getPageNum(), page.getTotal(), page.getList());
     }
     }
 
 
+    /**
+     * 新增预收款发票
+     * @param record
+     * @return
+     */
     @PostMapping(value = "add",produces = {"application/json;charset=UTF-8"})
     @PostMapping(value = "add",produces = {"application/json;charset=UTF-8"})
     @ResponseBody
     @ResponseBody
     public AjaxResult add(InvoiceManageDto record){
     public AjaxResult add(InvoiceManageDto record){
@@ -68,7 +74,25 @@ public class InvoiceManageController extends BaseController {
     }
     }
 
 
 
 
+    @PostMapping(value = "getByContractId",produces = {"application/json;charset=UTF-8"})
+    @ResponseBody
+    public Object getInfoByContract(String id){
+        InvoiceManageDto result = modelService.getInfoByContract(id);
+        return result;
+    }
 
 
-
+    /**
+     * 查询对应的银行
+     * @param id
+     * @return
+     */
+    @PostMapping(value = "getBankTaxRateByFloor",produces = {"application/json;charset=UTF-8"})
+    @ResponseBody
+    public Object getBankTaxRateByFloor(String id) {
+        if(!StringUtils.isNotEmpty(id)){
+            return AjaxResult.error(503, "参数不能为空");
+        }
+        return modelService.getBankTaxRateByFloor(id);
+    }
 
 
 }
 }

+ 20 - 0
pro-base/src/main/java/com/idea/invoice/dto/InvoiceManageDto.java

@@ -32,5 +32,25 @@ public class InvoiceManageDto extends InvoiceManage {
 
 
     private String fundCollectionStatus;
     private String fundCollectionStatus;
 
 
+    /**
+     * 推送日期
+     */
+    private String sendDateFrom;
+
+    /**
+     * 推送日期
+     */
+    private String sendDateTo;
+
+    /**
+     * 开票日期
+     */
+    private String invoiceDateFrom;
+
+    /**
+     * 开票日期
+     */
+    private String invoiceDateTo;
+
 
 
 }
 }

+ 18 - 8
pro-base/src/main/java/com/idea/invoice/model/InvoiceManage.java

@@ -119,15 +119,9 @@ public class InvoiceManage implements Serializable {
 
 
     private String serialNo;
     private String serialNo;
 
 
-    private static final long serialVersionUID = 1L;
-
-    public String getPaymentType() {
-        return paymentType;
-    }
+    private String specifications;
 
 
-    public void setPaymentType(String paymentType) {
-        this.paymentType = paymentType;
-    }
+    private static final long serialVersionUID = 1L;
 
 
     public String getId() {
     public String getId() {
         return id;
         return id;
@@ -185,6 +179,14 @@ public class InvoiceManage implements Serializable {
         this.costType = costType == null ? null : costType.trim();
         this.costType = costType == null ? null : costType.trim();
     }
     }
 
 
+    public String getPaymentType() {
+        return paymentType;
+    }
+
+    public void setPaymentType(String paymentType) {
+        this.paymentType = paymentType == null ? null : paymentType.trim();
+    }
+
     public String getSendStatus() {
     public String getSendStatus() {
         return sendStatus;
         return sendStatus;
     }
     }
@@ -576,4 +578,12 @@ public class InvoiceManage implements Serializable {
     public void setSerialNo(String serialNo) {
     public void setSerialNo(String serialNo) {
         this.serialNo = serialNo == null ? null : serialNo.trim();
         this.serialNo = serialNo == null ? null : serialNo.trim();
     }
     }
+
+    public String getSpecifications() {
+        return specifications;
+    }
+
+    public void setSpecifications(String specifications) {
+        this.specifications = specifications == null ? null : specifications.trim();
+    }
 }
 }

+ 70 - 0
pro-base/src/main/java/com/idea/invoice/model/InvoiceManageExample.java

@@ -4015,6 +4015,76 @@ public class InvoiceManageExample {
             addCriterion("serial_no not between", value1, value2, "serialNo");
             addCriterion("serial_no not between", value1, value2, "serialNo");
             return (Criteria) this;
             return (Criteria) this;
         }
         }
+
+        public Criteria andSpecificationsIsNull() {
+            addCriterion("specifications is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpecificationsIsNotNull() {
+            addCriterion("specifications is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpecificationsEqualTo(String value) {
+            addCriterion("specifications =", value, "specifications");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpecificationsNotEqualTo(String value) {
+            addCriterion("specifications <>", value, "specifications");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpecificationsGreaterThan(String value) {
+            addCriterion("specifications >", value, "specifications");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpecificationsGreaterThanOrEqualTo(String value) {
+            addCriterion("specifications >=", value, "specifications");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpecificationsLessThan(String value) {
+            addCriterion("specifications <", value, "specifications");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpecificationsLessThanOrEqualTo(String value) {
+            addCriterion("specifications <=", value, "specifications");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpecificationsLike(String value) {
+            addCriterion("specifications like", value, "specifications");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpecificationsNotLike(String value) {
+            addCriterion("specifications not like", value, "specifications");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpecificationsIn(List<String> values) {
+            addCriterion("specifications in", values, "specifications");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpecificationsNotIn(List<String> values) {
+            addCriterion("specifications not in", values, "specifications");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpecificationsBetween(String value1, String value2) {
+            addCriterion("specifications between", value1, value2, "specifications");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpecificationsNotBetween(String value1, String value2) {
+            addCriterion("specifications not between", value1, value2, "specifications");
+            return (Criteria) this;
+        }
     }
     }
 
 
     public static class Criteria extends GeneratedCriteria {
     public static class Criteria extends GeneratedCriteria {

+ 1 - 1
pro-base/src/main/java/com/idea/invoice/service/InvoiceBankService.java

@@ -70,7 +70,7 @@ public class InvoiceBankService implements BaseService<InvoiceBank, InvoiceBankE
                             String resultStr = "";
                             String resultStr = "";
                             for (String groupId : groupIds) {
                             for (String groupId : groupIds) {
                                 ParkInfo parkInfo = parkInfoService.selectByPrimaryKey(groupId);
                                 ParkInfo parkInfo = parkInfoService.selectByPrimaryKey(groupId);
-                                String str = parkInfo.getGroupName() + "" + parkFloorDiscList.stream().filter(x -> groupId.equals(x.getGroupId()))
+                                String str = parkInfo.getGroupName() + "-" + parkFloorDiscList.stream().filter(x -> groupId.equals(x.getGroupId()))
                                         .map(ParkFloorDisc::getName).collect(Collectors.joining(","));
                                         .map(ParkFloorDisc::getName).collect(Collectors.joining(","));
                                 if(StringUtils.isNotEmpty(resultStr)){
                                 if(StringUtils.isNotEmpty(resultStr)){
                                     resultStr = resultStr + ";" + str;
                                     resultStr = resultStr + ";" + str;

+ 141 - 2
pro-base/src/main/java/com/idea/invoice/service/InvoiceManageService.java

@@ -2,22 +2,41 @@ package com.idea.invoice.service;
 
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.IdUtil;
+import com.alibaba.fastjson.JSONObject;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.github.pagehelper.PageInfo;
+import com.idea.buildManage.mapper.ParkRoomExtendMapper;
+import com.idea.buildManage.mapper.ParkRoomMapper;
+import com.idea.buildManage.model.ParkFloorDisc;
+import com.idea.buildManage.model.ParkRoom;
+import com.idea.buildManage.response.ParkRoomResponse;
+import com.idea.customerManagement.dto.ContractManageDto;
+import com.idea.customerManagement.model.Buyer;
+import com.idea.customerManagement.model.BuyerExample;
+import com.idea.customerManagement.model.ContractManage;
+import com.idea.customerManagement.service.BuyerService;
+import com.idea.customerManagement.service.ContractManageService;
 import com.idea.invoice.dto.InvoiceManageDto;
 import com.idea.invoice.dto.InvoiceManageDto;
 import com.idea.invoice.mapper.InvoiceManageExtendMapper;
 import com.idea.invoice.mapper.InvoiceManageExtendMapper;
 import com.idea.invoice.mapper.InvoiceManageMapper;
 import com.idea.invoice.mapper.InvoiceManageMapper;
+import com.idea.invoice.model.InvoiceBank;
+import com.idea.invoice.model.InvoiceBankExample;
 import com.idea.invoice.model.InvoiceManage;
 import com.idea.invoice.model.InvoiceManage;
 import com.idea.invoice.model.InvoiceManageExample;
 import com.idea.invoice.model.InvoiceManageExample;
+import com.idea.invoice.util.InvoiceConstant;
 import com.idea.paymentManagement.service.PayLogService;
 import com.idea.paymentManagement.service.PayLogService;
 import com.rockstar.common.base.BaseService;
 import com.rockstar.common.base.BaseService;
 import com.rockstar.frame.model.extend.DateTrans;
 import com.rockstar.frame.model.extend.DateTrans;
 import com.rockstar.frame.model.extend.Tablepar;
 import com.rockstar.frame.model.extend.Tablepar;
 import com.rockstar.shiro.util.ShiroUtils;
 import com.rockstar.shiro.util.ShiroUtils;
+import com.rockstar.system.service.SysDictService;
+import com.rockstar.util.StringUtils;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.Date;
 import java.util.List;
 import java.util.List;
 
 
@@ -30,7 +49,18 @@ public class InvoiceManageService implements BaseService<InvoiceManage, InvoiceM
     private InvoiceManageExtendMapper extendMapper;
     private InvoiceManageExtendMapper extendMapper;
     @Autowired
     @Autowired
     private PayLogService payLogService;
     private PayLogService payLogService;
-
+    @Autowired
+    private ContractManageService contractManageService;
+    @Autowired
+    private BuyerService buyerService;
+    @Autowired
+    private ParkRoomExtendMapper roomExtendMapper;
+    @Autowired
+    private ParkRoomMapper parkRoomMapper;
+    @Autowired
+    private InvoiceBankService invoiceBankService;
+    @Autowired
+    private SysDictService sysDictService;
 
 
     @Override
     @Override
     public int deleteByPrimaryKey(String s) {
     public int deleteByPrimaryKey(String s) {
@@ -105,13 +135,39 @@ public class InvoiceManageService implements BaseService<InvoiceManage, InvoiceM
         return new PageInfo<>(list);
         return new PageInfo<>(list);
     }
     }
 
 
+    /**
+     * 新增预收款发票
+     * @param model
+     * @return
+     */
     public int add(InvoiceManageDto model) {
     public int add(InvoiceManageDto model) {
 
 
+        model.setId(IdUtil.simpleUUID());
+        model.setInvoiceStatus("0");
         model.setCreateTime(new Date());
         model.setCreateTime(new Date());
         model.setCreateUser(ShiroUtils.getUserId());
         model.setCreateUser(ShiroUtils.getUserId());
-        return insertSelective(model);
+        int result = insertWithoutId(model);
+        // 预收款发票 新增后 推送
+        if(model.getType().equals("1")){
+            sendInvoice(model);
+        }
+
+        return result;
+    }
+
+    /**
+     * 推送开票
+     * @param model
+     */
+    public void sendInvoice(InvoiceManageDto model){
+        model.setSendStatus("1");
+        model.setSubmitTime(new Date());
+        model.setSubmitUser(ShiroUtils.getUserId());
+        updateByPrimaryKeySelective(model);
+        // TODO: 2024/10/17 等待接口 推送开票信息
     }
     }
 
 
+
     public InvoiceManageDto getById(String id) {
     public InvoiceManageDto getById(String id) {
         InvoiceManage invoiceManage = selectByPrimaryKey(id);
         InvoiceManage invoiceManage = selectByPrimaryKey(id);
         InvoiceManageDto result = new InvoiceManageDto();
         InvoiceManageDto result = new InvoiceManageDto();
@@ -147,6 +203,89 @@ public class InvoiceManageService implements BaseService<InvoiceManage, InvoiceM
         return new PageInfo<>(list);
         return new PageInfo<>(list);
     }
     }
 
 
+    /**
+     * 根据合同id查询
+     * @param contractId
+     * @return
+     */
+    public InvoiceManageDto getInfoByContract(String contractId){
+
+        InvoiceManageDto invoiceManage = new InvoiceManageDto();
+        // 合同信息
+        ContractManageDto contract = contractManageService.getById(contractId);
+        // 买受人信息
+        BuyerExample buyerExample = new BuyerExample();
+        buyerExample.setOrderByClause("order_num asc");
+        buyerExample.createCriteria().andCustomerManagementIdEqualTo(contract.getCustomerManagementId());
+        List<Buyer> buyers = buyerService.selectByExample(buyerExample);
+        Buyer buyer = buyers.get(0);
+        // 房间信息
+        ParkRoomResponse room = roomExtendMapper.getFullName(contract.getHouseId());
+        StringBuilder builder = new StringBuilder();
+        for(Buyer item : buyers){
+            if(item.getRelationship() != null){
+                builder.append(item.getName()).append("身份证号:").append(item.getIdentityCard()).append("\n");
+            }
+        }
+        invoiceManage.setContractId(contractId);
+        invoiceManage.setCustomerManagementId(contract.getCustomerManagementId());
+        invoiceManage.setContractNumber(contract.getContractNumber());
+        invoiceManage.setRecordNumber(contract.getRecordNumber());
+        invoiceManage.setInvoiceHeaderName(buyer.getName());
+        invoiceManage.setInvoiceHeaderNumber(buyer.getIdentityCard());
+        // TODO: 2024/10/17 商品编码目前为空 对接接口后调整
+        invoiceManage.setInvoiceGoodsCode(InvoiceConstant.INVOICE_GOODS_CODE_ADVANCE_PAYMENT);
+        invoiceManage.setInvoiceGoodsName(room.getDiscName());
+        invoiceManage.setSpecifications(room.getBuildName()+ "-" + room.getRoomNo());
+        invoiceManage.setInvoiceCount(new BigDecimal(contract.getActualBuildArea().toString()));
+        invoiceManage.setInvoiceAmount(contract.getBuyerMoney());
+        invoiceManage.setInvoiceTax("0");
+        invoiceManage.setRemark(builder.toString());
+        return invoiceManage;
+    }
+
 
 
+    /**
+     * 查询对应的银行
+     * @param id
+     * @return
+     */
+    public JSONObject getBankTaxRateByFloor(String id) {
+        JSONObject jsonObject = new JSONObject();
+        String result = "";
+        InvoiceManage invoiceManage = selectByPrimaryKey(id);
+        // 1-房款,2-专项维修资金
+        String paymentType = invoiceManage.getPaymentType();
+        String dictLabel = sysDictService.getDictLabel("PAYMENT_TYPE", paymentType);
+        InvoiceBankExample example = new InvoiceBankExample();
+        example.createCriteria().andSuitCostTypeLike("%" + dictLabel + "%");
+        List<InvoiceBank> bankList = invoiceBankService.selectByExample(example);
+        if (CollectionUtils.isNotEmpty(bankList)) {
+            ContractManage parkContractManage = contractManageService.selectByPrimaryKey(invoiceManage.getContractId());
+            ParkRoom parkRoom = parkRoomMapper.selectByPrimaryKey(parkContractManage.getHouseId());
+            if (StringUtils.isNotEmpty(parkRoom.getDiscId())) {
+                for (InvoiceBank invoiceBank : bankList) {
+                    if (StringUtils.isNotEmpty(invoiceBank.getSuitFloor())) {
+                        String[] floors = invoiceBank.getSuitFloor().split(",");
+                        List<String> suitCostTypes = Arrays.asList(invoiceBank.getSuitCostType().split(","));
+                        List<String> taxRates = Arrays.asList(invoiceBank.getTaxRate().split(","));
+                        for (String floor : floors) {
+                            if (parkRoom.getDiscId().contains(floor)) {
+                                result = invoiceBank.getBankName() + invoiceBank.getBankBranchName() + invoiceBank.getBankNumber();
+                                jsonObject.put("invoiceSellerBank", result);
+                                int index = suitCostTypes.indexOf(dictLabel);
+                                String taxRate = taxRates.get(index);
+                                jsonObject.put("invoiceTax", taxRate);
+                                break;
+                            }
+                        }
+                    }
+                }
+            }
+
+        }
+
+        return jsonObject;
+    }
 
 
 }
 }

+ 3 - 3
pro-base/src/main/java/com/idea/paymentManagement/controller/MaintenanceFundsManagementController.java

@@ -57,13 +57,13 @@ public class MaintenanceFundsManagementController extends BaseController {
      * @param contractId
      * @param contractId
      * @return
      * @return
      */
      */
-    @PostMapping(value = "getBankTaxRateByFloor",produces = {"application/json;charset=UTF-8"})
+    @PostMapping(value = "getBankByFloor",produces = {"application/json;charset=UTF-8"})
     @ResponseBody
     @ResponseBody
-    public Object getBankTaxRateByFloor(String contractId) {
+    public Object getBankByFloor(String contractId) {
         if(!StringUtils.isNotEmpty(contractId)){
         if(!StringUtils.isNotEmpty(contractId)){
             return AjaxResult.error(503, "参数不能为空");
             return AjaxResult.error(503, "参数不能为空");
         }
         }
-        return modelService.getBankTaxRateByFloor(contractId);
+        return modelService.getBankByFloor(contractId);
     }
     }
 
 
     @PostMapping(value = "getById",produces = {"application/json;charset=UTF-8"})
     @PostMapping(value = "getById",produces = {"application/json;charset=UTF-8"})

+ 2 - 2
pro-base/src/main/java/com/idea/paymentManagement/controller/PayLogController.java

@@ -61,9 +61,9 @@ public class PayLogController extends BaseController {
 
 
 
 
     @ApiOperation(value = "删除")
     @ApiOperation(value = "删除")
-    @PostMapping(value = "remove/{id}",produces = {"application/json;charset=UTF-8"})
+    @PostMapping(value = "remove",produces = {"application/json;charset=UTF-8"})
     @ResponseBody
     @ResponseBody
-    public AjaxResult remove(@PathVariable("id") String id){
+    public AjaxResult remove(String id){
         int result = modelService.deleteByPrimaryKey(id);
         int result = modelService.deleteByPrimaryKey(id);
         return result(result);
         return result(result);
     }
     }

+ 22 - 8
pro-base/src/main/java/com/idea/paymentManagement/service/MaintenanceFundsManagementService.java

@@ -11,7 +11,9 @@ import com.idea.customerManagement.mapper.ContractManageMapper;
 import com.idea.customerManagement.model.ContractManage;
 import com.idea.customerManagement.model.ContractManage;
 import com.idea.invoice.model.InvoiceBank;
 import com.idea.invoice.model.InvoiceBank;
 import com.idea.invoice.model.InvoiceBankExample;
 import com.idea.invoice.model.InvoiceBankExample;
+import com.idea.invoice.model.InvoiceManage;
 import com.idea.invoice.service.InvoiceBankService;
 import com.idea.invoice.service.InvoiceBankService;
+import com.idea.invoice.service.InvoiceManageService;
 import com.idea.paymentManagement.mapper.MaintenanceFundsManagementExtendMapper;
 import com.idea.paymentManagement.mapper.MaintenanceFundsManagementExtendMapper;
 import com.idea.paymentManagement.mapper.MaintenanceFundsManagementMapper;
 import com.idea.paymentManagement.mapper.MaintenanceFundsManagementMapper;
 import com.idea.paymentManagement.mapper.PayLogMapper;
 import com.idea.paymentManagement.mapper.PayLogMapper;
@@ -45,6 +47,8 @@ public class MaintenanceFundsManagementService implements BaseService<Maintenanc
     private ParkRoomMapper parkRoomMapper;
     private ParkRoomMapper parkRoomMapper;
     @Autowired
     @Autowired
     private PayLogMapper payLogMapper;
     private PayLogMapper payLogMapper;
+    @Autowired
+    private InvoiceManageService invoiceManageService;
 
 
 
 
 
 
@@ -111,6 +115,12 @@ public class MaintenanceFundsManagementService implements BaseService<Maintenanc
         contractManage.setFundCollectionStatus(2);
         contractManage.setFundCollectionStatus(2);
         contractManageMapper.updateByPrimaryKeySelective(contractManage);
         contractManageMapper.updateByPrimaryKeySelective(contractManage);
 
 
+        model.setHouseId(contractManage.getHouseId());
+        model.setCustomerManagementId(contractManage.getCustomerManagementId());
+        model.setCreatedId(ShiroUtils.getUserId());
+        model.setCreatedAt(new Date());
+        int result = insertSelective(model);
+
         // 新增一条定金收款记录
         // 新增一条定金收款记录
         PayLog payLog = new PayLog();
         PayLog payLog = new PayLog();
         payLog.setId(IdUtil.simpleUUID());
         payLog.setId(IdUtil.simpleUUID());
@@ -129,13 +139,17 @@ public class MaintenanceFundsManagementService implements BaseService<Maintenanc
         payLog.setCreatedBy(ShiroUtils.getUserId());
         payLog.setCreatedBy(ShiroUtils.getUserId());
         payLogMapper.insertSelective(payLog);
         payLogMapper.insertSelective(payLog);
 
 
-        model.setHouseId(contractManage.getHouseId());
-        model.setCustomerManagementId(contractManage.getCustomerManagementId());
-        model.setCreatedId(ShiroUtils.getUserId());
-        model.setCreatedAt(new Date());
-        int result = insertSelective(model);
-
-
+        // 生成一条待推送的开票信息
+        InvoiceManage invoiceManage = invoiceManageService.getInfoByContract(model.getContractId());
+        // 正式发票
+        invoiceManage.setType("1");
+        // 专项维修资金
+        invoiceManage.setPaymentType("2");
+        invoiceManage.setSendStatus("0");
+        invoiceManage.setInvoiceStatus("0");
+        invoiceManage.setInvoiceTax(null);
+        invoiceManage.setRemark(null);
+        invoiceManageService.insertSelective(invoiceManage);
 
 
         return result;
         return result;
     }
     }
@@ -153,7 +167,7 @@ public class MaintenanceFundsManagementService implements BaseService<Maintenanc
      * @param contractId
      * @param contractId
      * @return
      * @return
      */
      */
-    public JSONObject getBankTaxRateByFloor(String contractId) {
+    public JSONObject getBankByFloor(String contractId) {
         JSONObject jsonObject = new JSONObject();
         JSONObject jsonObject = new JSONObject();
         String result = "";
         String result = "";
         // 1-房款,2-专项维修资金
         // 1-房款,2-专项维修资金

+ 17 - 5
pro-base/src/main/java/com/idea/paymentManagement/service/PayLogService.java

@@ -11,6 +11,8 @@ import com.idea.buildManage.model.ParkRoom;
 import com.idea.customerManagement.dto.ContractManageDto;
 import com.idea.customerManagement.dto.ContractManageDto;
 import com.idea.customerManagement.mapper.ContractManageMapper;
 import com.idea.customerManagement.mapper.ContractManageMapper;
 import com.idea.customerManagement.model.ContractManage;
 import com.idea.customerManagement.model.ContractManage;
+import com.idea.invoice.dto.InvoiceManageDto;
+import com.idea.invoice.service.InvoiceManageService;
 import com.idea.paymentManagement.dto.PayLogDto;
 import com.idea.paymentManagement.dto.PayLogDto;
 import com.idea.paymentManagement.mapper.PayLogExtendMapper;
 import com.idea.paymentManagement.mapper.PayLogExtendMapper;
 import com.idea.paymentManagement.mapper.PayLogMapper;
 import com.idea.paymentManagement.mapper.PayLogMapper;
@@ -42,6 +44,8 @@ public class PayLogService implements BaseService<PayLog, PayLogExample> {
     private ContractManageMapper contractManageMapper;
     private ContractManageMapper contractManageMapper;
     @Autowired
     @Autowired
     private FrameUserService frameUserService;
     private FrameUserService frameUserService;
+    @Autowired
+    private InvoiceManageService invoiceManageService;
 
 
 
 
     @Override
     @Override
@@ -127,13 +131,21 @@ public class PayLogService implements BaseService<PayLog, PayLogExample> {
             } else {
             } else {
                 // 全部收款
                 // 全部收款
                 contractManage.setCollectionStatus(2);
                 contractManage.setCollectionStatus(2);
+                // 新增待推送的开票信息
+                InvoiceManageDto invoiceManage = invoiceManageService.getInfoByContract(model.getContractId());
+                // 正式发票
+                invoiceManage.setType("2");
+                // 房款
+                invoiceManage.setPaymentType("1");
+                invoiceManage.setSendStatus("0");
+                invoiceManage.setInvoiceStatus("0");
+                invoiceManage.setInvoiceTax(null);
+                invoiceManage.setRemark(null);
+                invoiceManage.setCreateUser(ShiroUtils.getUserId());
+                invoiceManage.setCreateTime(new Date());
+                invoiceManageService.insertSelective(invoiceManage);
             }
             }
         }
         }
-        // 更新合同 资金 收款状态
-        if (model.getPayType() == 2) {
-            // 已收款
-            contractManage.setFundCollectionStatus(2);
-        }
         contractManageMapper.updateByPrimaryKeySelective(contractManage);
         contractManageMapper.updateByPrimaryKeySelective(contractManage);
         return result;
         return result;
     }
     }