maven
2026-01-20 eba011c9c3a25e73763eb420e9c3275cc1112bab
yys
1.回款提醒,人力资源优化
已修改11个文件
75 ■■■■ 文件已修改
src/main/java/com/ruoyi/home/controller/HomeController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/home/service/HomeService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/purchase/controller/PaymentRegistrationController.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/dto/ReceiptPaymentDto.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/dto/SalesLedgerDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/staff/pojo/StaffOnJob.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/sales/ReceiptPaymentMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/home/controller/HomeController.java
@@ -77,5 +77,11 @@
        return AjaxResult.success(statisticsReceivablePayable);
    }
    @ApiOperation("超过15天待回款提示")
    @GetMapping("/overdueReceivable")
    public AjaxResult overdueReceivable() {
        return AjaxResult.success(homeService.overdueReceivable());
    }
}
src/main/java/com/ruoyi/home/service/HomeService.java
@@ -26,4 +26,6 @@
    List<ApproveProcess> todos() throws ParseException;
    StatisticsReceivablePayableDto statisticsReceivablePayable(Integer type);
    Long overdueReceivable();
}
src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
@@ -1,6 +1,8 @@
package com.ruoyi.home.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.approve.mapper.ApproveProcessMapper;
import com.ruoyi.approve.pojo.ApproveProcess;
import com.ruoyi.common.utils.SecurityUtils;
@@ -22,12 +24,14 @@
import com.ruoyi.purchase.pojo.PurchaseLedger;
import com.ruoyi.quality.mapper.QualityInspectMapper;
import com.ruoyi.quality.pojo.QualityInspect;
import com.ruoyi.sales.dto.ReceiptPaymentDto;
import com.ruoyi.sales.mapper.ReceiptPaymentMapper;
import com.ruoyi.sales.mapper.SalesLedgerMapper;
import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
import com.ruoyi.sales.pojo.ReceiptPayment;
import com.ruoyi.sales.pojo.SalesLedger;
import com.ruoyi.sales.pojo.SalesLedgerProduct;
import com.ruoyi.sales.service.impl.ReceiptPaymentServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -404,4 +408,17 @@
        return statisticsReceivablePayableDto;
    }
    @Autowired
    private ReceiptPaymentServiceImpl receiptPaymentService;
    @Override
    public Long overdueReceivable() {
        // 通过开票日期超过15天的未回款提示
        ReceiptPaymentDto receiptPaymentDto = new ReceiptPaymentDto();
        receiptPaymentDto.setTimeOut(true);
        receiptPaymentDto.setStatus(false);
        IPage<ReceiptPaymentDto> receiptPaymentDtoIPage = receiptPaymentService.bindInvoiceNoRegPage(new Page<>(-1, -1), receiptPaymentDto);
        return receiptPaymentDtoIPage.getTotal();
    }
}
src/main/java/com/ruoyi/purchase/controller/PaymentRegistrationController.java
@@ -14,6 +14,7 @@
import com.ruoyi.purchase.pojo.PaymentRegistration;
import com.ruoyi.purchase.service.IPaymentRegistrationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
@@ -69,8 +70,12 @@
     */
    @Log(title = "付款登记", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody PaymentRegistration paymentRegistration) {
        return toAjax(paymentRegistrationService.insertPaymentRegistration(paymentRegistration));
    public AjaxResult add(@RequestBody List<PaymentRegistration> paymentRegistration) {
        if(CollectionUtils.isEmpty(paymentRegistration)) return error("请选择付款登记");
        for (PaymentRegistration registration : paymentRegistration) {
            paymentRegistrationService.insertPaymentRegistration(registration);
        }
        return toAjax(1);
    }
    /**
src/main/java/com/ruoyi/sales/dto/ReceiptPaymentDto.java
@@ -15,6 +15,9 @@
@Data
public class ReceiptPaymentDto extends ReceiptPayment {
    @ApiModelProperty(value = "true:查询超过十五天的未回款记录")
    private Boolean timeOut;
    @ApiModelProperty(value = "客户合同号")
    @Excel(name = "客户合同号")
    private String customerContractNo;
@@ -70,6 +73,10 @@
    @Excel(name = "产品大类")
    private String productCategory;
    @ApiModelProperty(value = "规格型号")
    @Excel(name = "规格型号")
    private String specificationModel;
    @ApiModelProperty(value = "回款金额")
    @Excel(name = "回款金额")
    private BigDecimal receiptPaymentAmountTotal;
src/main/java/com/ruoyi/sales/dto/SalesLedgerDto.java
@@ -22,7 +22,7 @@
    private String productCategory;
    private Set<Long> ids;  //
    /**
     * 是否开票 1-否 2-是
     * 是否开票 2-否 1-是
     */
    private Integer isInvoice;
    @JsonFormat(pattern = "yyyy-MM-dd")
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -540,8 +540,10 @@
        if (!insertList.isEmpty()) {
            for (SalesLedgerProduct salesLedgerProduct : insertList) {
                salesLedgerProduct.setType(type);
                salesLedgerProduct.setNoInvoiceNum(salesLedgerProduct.getQuantity());
                salesLedgerProduct.setNoInvoiceAmount(salesLedgerProduct.getTaxInclusiveTotalPrice());
                salesLedgerProduct
                        .setNoInvoiceNum(salesLedgerDto.getIsInvoice().equals(2) ? BigDecimal.ZERO :salesLedgerProduct.getQuantity());
                salesLedgerProduct
                        .setNoInvoiceAmount(salesLedgerDto.getIsInvoice().equals(2) ? BigDecimal.ZERO : salesLedgerProduct.getTaxInclusiveTotalPrice());
                salesLedgerProductMapper.insert(salesLedgerProduct);
            }
            if (salesLedgerDto.getIsInvoice().equals(2)) {
@@ -549,6 +551,8 @@
                for (SalesLedgerProduct productDatum : insertList) {
                    productDatum.setCurrentInvoiceAmount(productDatum.getTaxInclusiveTotalPrice());
                    productDatum.setCurrentInvoiceNum(productDatum.getQuantity());
                    productDatum.setInvoiceNum(productDatum.getQuantity());
                    productDatum.setInvoiceAmount(productDatum.getTaxInclusiveTotalPrice());
                }
                salesLedgerDto.setId(salesLedgerId);
                salesLedgerDto.setIssueDate(LocalDate.now());
src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
@@ -11,6 +11,7 @@
import com.ruoyi.approve.vo.ApproveProcessVO;
import com.ruoyi.common.utils.OrderUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.framework.security.LoginUser;
import com.ruoyi.sales.dto.SalesQuotationDto;
@@ -100,6 +101,7 @@
    @Override
    public BigDecimal detail(String type, String productName, String specification) {
        if(StringUtils.isEmpty(type)) return null;
        SalesQuotationProduct salesQuotationProduct = salesQuotationProductMapper.selectOne(new LambdaQueryWrapper<SalesQuotationProduct>()
                .eq(SalesQuotationProduct::getProduct, productName)
                .eq(SalesQuotationProduct::getSpecification, specification)
src/main/java/com/ruoyi/staff/pojo/StaffOnJob.java
@@ -117,6 +117,13 @@
    private String contractTerm;
    /**
     * 合同开始日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "合同开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date contractStartTime;
    /**
     * 合同到期日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java
@@ -156,10 +156,12 @@
            StaffOnJob job = staffOnJobMapper.selectList(Wrappers.<StaffOnJob>lambdaQuery()
                    .eq(StaffOnJob::getStaffNo, staffJoinLeaveRecord.getStaffNo())).get(0);
            //如果更改的合同到期时间更久则更新,如果没有就不用更新
            if (staffJoinLeaveRecord.getContractEndTime().compareTo(job.getContractExpireTime())>0) {
                BeanUtils.copyProperties(staffJoinLeaveRecord,job,ignoreProperties);
                staffOnJobMapper.updateById(job);
            }
//            if (staffJoinLeaveRecord.getContractEndTime().compareTo(job.getContractExpireTime())>0) {
//                BeanUtils.copyProperties(staffJoinLeaveRecord,job,ignoreProperties);
//                staffOnJobMapper.updateById(job);
//            }
            BeanUtils.copyProperties(staffJoinLeaveRecord,job,ignoreProperties);
            staffOnJobMapper.updateById(job);
        }else {
            /*离职*/
            //离职的编辑不会影响在职表
src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
@@ -78,6 +78,7 @@
        T3.customer_name,
        T4.invoiceFileName,
        T5.product_category,
        T5.specification_model,
        IFNULL(T6.receipt_payment_amount_total ,0) AS receipt_payment_amount_total,
        (T1.invoice_total - IFNULL(T6.receipt_payment_amount_total ,0)) AS no_receipt_amount
        FROM invoice_ledger T1
@@ -113,6 +114,10 @@
            <if test="req.invoiceDateEnd != null and req.invoiceDateEnd != '' ">
                AND  T1.invoice_date &lt;= DATE_FORMAT(#{req.invoiceDateEnd},'%Y-%m-%d')
            </if>
            <if test="req.timeOut != null and req.timeOut">
                AND T1.invoice_date &lt; DATE_SUB(CURDATE(), INTERVAL 15 DAY)
                AND (T1.invoice_total - IFNULL(T6.receipt_payment_amount_total ,0)) > 0
            </if>
        </where>
        ORDER BY T2.create_time DESC
    </select>