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) { // 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 <= DATE_FORMAT(#{req.invoiceDateEnd},'%Y-%m-%d') </if> <if test="req.timeOut != null and req.timeOut"> AND T1.invoice_date < 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>