From 96eecc97de7fc863fc76b63294d4c12bd9683ae4 Mon Sep 17 00:00:00 2001 From: chenrui <1187576398@qq.com> Date: 星期二, 20 五月 2025 15:36:40 +0800 Subject: [PATCH] 回款台账 --- src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java | 108 +++++++++++++++--------------------------------------- 1 files changed, 30 insertions(+), 78 deletions(-) diff --git a/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java index baaeee9..7f8bd60 100644 --- a/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java +++ b/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java @@ -5,19 +5,17 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.basic.excel.SupplierManageExcelDto; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.sales.dto.InvoiceRegistrationDto; import com.ruoyi.sales.dto.InvoiceRegistrationProductDto; +import com.ruoyi.sales.dto.SalesLedgerDto; import com.ruoyi.sales.excel.InvoiceRegisAndProductExcelDto; import com.ruoyi.sales.mapper.InvoiceRegistrationMapper; import com.ruoyi.sales.mapper.InvoiceRegistrationProductMapper; -import com.ruoyi.sales.mapper.InvoiceRegistrationProductRecordMapper; -import com.ruoyi.sales.mapper.InvoiceRegistrationRecordMapper; +import com.ruoyi.sales.mapper.SalesLedgerProductMapper; import com.ruoyi.sales.pojo.InvoiceRegistration; import com.ruoyi.sales.pojo.InvoiceRegistrationProduct; -import com.ruoyi.sales.pojo.InvoiceRegistrationProductRecord; -import com.ruoyi.sales.pojo.InvoiceRegistrationRecord; +import com.ruoyi.sales.pojo.SalesLedgerProduct; import com.ruoyi.sales.service.InvoiceRegistrationService; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.BeanUtils; @@ -27,7 +25,6 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; -import java.math.BigDecimal; import java.util.List; import java.util.stream.Collectors; @@ -41,85 +38,40 @@ private InvoiceRegistrationProductMapper invoiceRegistrationProductMapper; @Autowired - private InvoiceRegistrationRecordMapper invoiceRegistrationRecordMapper; - - @Autowired - private InvoiceRegistrationProductRecordMapper invoiceRegistrationProductRecordMapper; - + private SalesLedgerProductMapper salesLedgerProductMapper; /** - * 寮�绁ㄧ櫥璁版柊澧� - * @param invoiceRegistrationDto + * 寮�绁ㄧ櫥璁拌褰曟柊澧� + * @param salesLedgerDto * @return */ @Override @Transactional(rollbackFor = Exception.class) - public void invoiceRegistrationSaveOrUpdate(InvoiceRegistrationDto invoiceRegistrationDto) { - List<InvoiceRegistrationProductDto> productDtoList = invoiceRegistrationDto.getProductDtoList(); - Integer salesLedgerId = invoiceRegistrationDto.getSalesLedgerId(); - if (null == salesLedgerId){ - throw new RuntimeException("鏈叧鑱旈攢鍞悎鍚�"); - } - QueryWrapper<InvoiceRegistration> inRegWrapper = new QueryWrapper<>(); - inRegWrapper.eq("sales_ledger_id", salesLedgerId); - InvoiceRegistration invoiceRegistration = invoiceRegistrationMapper.selectOne(inRegWrapper); - Integer invoiceRegistrationId = null; - // 鍒ゆ柇鏄惁宸茬粡鍋氳繃鐧昏锛屽鏋滄湁鍚堝苟锛屽鏋滄病鏈夋柊澧� - if(ObjectUtils.isEmpty(invoiceRegistration)){ - InvoiceRegistration insertInvocieReg = new InvoiceRegistration(); - BeanUtils.copyProperties(invoiceRegistrationDto, insertInvocieReg); - invoiceRegistrationMapper.insert(insertInvocieReg); - invoiceRegistrationId = insertInvocieReg.getId(); - }else { - invoiceRegistrationId = invoiceRegistration.getId(); - } - // 鏌ヨ浜у搧鏄惁宸茬粡鐧昏 - if(CollectionUtils.isNotEmpty(productDtoList)){ - QueryWrapper<InvoiceRegistrationProduct> inRegProductWrapper = new QueryWrapper<>(); - inRegProductWrapper.eq("invoice_registration_id", invoiceRegistrationId); - List<InvoiceRegistrationProduct> invoiceRegistrationProductList = invoiceRegistrationProductMapper.selectList(inRegProductWrapper); - if(CollectionUtils.isNotEmpty(invoiceRegistrationProductList)){ - // 鎵归噺鏇存柊 - for (InvoiceRegistrationProduct invoiceRegistrationProduct : invoiceRegistrationProductList) { - for (InvoiceRegistrationProductDto invoiceRegistrationProductDto : productDtoList) { - if( null != invoiceRegistrationProductDto.getId() && null != invoiceRegistrationProduct.getSalesLedgerProductId() - && invoiceRegistrationProductDto.getId() == invoiceRegistrationProduct.getSalesLedgerProductId().longValue() ){ - // 璁$畻宸插紑绁ㄦ暟 - invoiceRegistrationProduct.setInvoiceNum(invoiceRegistrationProduct.getInvoiceNum() + invoiceRegistrationProductDto.getInvoiceNum()); - // 璁$畻宸插紑绁ㄩ噾棰� - invoiceRegistrationProduct.setInvoiceAmount(invoiceRegistrationProduct.getInvoiceAmount().add(invoiceRegistrationProductDto.getInvoiceAmount())); -// // 璁$畻鏈紑绁ㄦ暟 - invoiceRegistrationProduct.setNoInvoiceNum(invoiceRegistrationProductDto.getNoInvoiceNum()); -// // 璁$畻鏈紑绁ㄩ噾棰� 鍚◣鎬讳环-寮�绁ㄩ噾棰� - invoiceRegistrationProduct.setNoInvoiceAmount(invoiceRegistrationProductDto.getNoInvoiceAmount()); - invoiceRegistrationProductMapper.updateById(invoiceRegistrationProduct); - } - } + public void invoiceRegistrationSave(SalesLedgerDto salesLedgerDto) { + InvoiceRegistration invoiceRegistration = new InvoiceRegistration(); + BeanUtils.copyProperties(salesLedgerDto, invoiceRegistration); + invoiceRegistration.setId(null); + invoiceRegistration.setCustomerId(salesLedgerDto.getCustomerId().intValue()); + invoiceRegistration.setSalesLedgerId(salesLedgerDto.getId().intValue()); + invoiceRegistrationMapper.insert(invoiceRegistration); + List<SalesLedgerProduct> productData = salesLedgerDto.getProductData(); + if(CollectionUtils.isNotEmpty(productData)){ + for (SalesLedgerProduct productDatum : productData) { + // 濡傛灉寮�绁ㄦ暟涓�0 璺宠繃 + Integer currentInvoiceNum = productDatum.getCurrentInvoiceNum(); + if(null == currentInvoiceNum || currentInvoiceNum == 0){ + continue; } - }else { - // 鎵归噺鎻掑叆 - for (InvoiceRegistrationProductDto invoiceRegistrationProductDto : productDtoList) { - InvoiceRegistrationProduct invoiceRegistrationProduct = new InvoiceRegistrationProduct(); - BeanUtils.copyProperties(invoiceRegistrationProductDto, invoiceRegistrationProduct); - invoiceRegistrationProduct.setInvoiceRegistrationId(invoiceRegistrationId); - invoiceRegistrationProduct.setSalesLedgerProductId(invoiceRegistrationProductDto.getId()); - invoiceRegistrationProduct.setId(null); - invoiceRegistrationProductMapper.insert(invoiceRegistrationProduct); - } - } - } - // 淇濆瓨鏈寮�绁ㄧ櫥璁拌褰� - InvoiceRegistrationRecord invoiceRegistrationRecord = new InvoiceRegistrationRecord(); - BeanUtils.copyProperties(invoiceRegistrationDto, invoiceRegistrationRecord); - invoiceRegistrationRecordMapper.insert(invoiceRegistrationRecord); - if(CollectionUtils.isNotEmpty(productDtoList)){ - for (InvoiceRegistrationProductDto invoiceRegistrationProductDto : productDtoList) { - InvoiceRegistrationProductRecord invoiceRegistrationProductRecord = new InvoiceRegistrationProductRecord(); - BeanUtils.copyProperties(invoiceRegistrationProductDto, invoiceRegistrationProductRecord); - invoiceRegistrationProductRecord.setInvoiceRegistrationRecordId(invoiceRegistrationRecord.getId()); - invoiceRegistrationProductRecord.setSalesLedgerProductId(invoiceRegistrationProductDto.getId()); - invoiceRegistrationProductRecord.setId(null); - invoiceRegistrationProductRecordMapper.insert(invoiceRegistrationProductRecord); + InvoiceRegistrationProduct invoiceRegistrationProduct = new InvoiceRegistrationProduct(); + BeanUtils.copyProperties(productDatum, invoiceRegistrationProduct); + invoiceRegistrationProduct.setId(null); + invoiceRegistrationProduct.setSalesLedgerId(salesLedgerDto.getId().intValue()); + invoiceRegistrationProduct.setInvoiceRegistrationId(invoiceRegistration.getId()); + invoiceRegistrationProduct.setInvoiceAmount(productDatum.getCurrentInvoiceAmount()); + invoiceRegistrationProduct.setInvoiceNum(productDatum.getCurrentInvoiceNum()); + invoiceRegistrationProduct.setSalesLedgerProductId(productDatum.getId().intValue()); + invoiceRegistrationProductMapper.insert(invoiceRegistrationProduct); + salesLedgerProductMapper.updateById(productDatum); } } } -- Gitblit v1.9.3