From d9aac64d061758c77af5ecccce740df43167024e Mon Sep 17 00:00:00 2001 From: liyong <18434998025@163.com> Date: 星期六, 12 七月 2025 13:30:43 +0800 Subject: [PATCH] 基础数据--- 删除做限制,已经引用的无法删除 --- src/main/java/com/ruoyi/basic/service/impl/SupplierServiceImpl.java | 10 ++++++++++ src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java | 10 ++++++++-- src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java | 6 +++++- src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java | 2 +- src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java | 10 ++++++++++ src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java | 8 ++++++++ 6 files changed, 42 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java index 07431ac..c4cfc49 100644 --- a/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java +++ b/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,8 @@ import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.framework.security.LoginUser; import com.ruoyi.project.system.domain.SysUser; +import com.ruoyi.sales.mapper.SalesLedgerMapper; +import com.ruoyi.sales.pojo.SalesLedger; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -36,6 +39,7 @@ @AllArgsConstructor @Slf4j public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer> implements ICustomerService { + private final SalesLedgerMapper salesLedgerMapper; private CustomerMapper customerMapper; /** @@ -129,6 +133,10 @@ @Override public int deleteCustomerByIds(Long[] ids) { List<Long> idList = Arrays.asList(ids); + List<SalesLedger> salesLedgers = salesLedgerMapper.selectList(new QueryWrapper<SalesLedger>().lambda().in(SalesLedger::getCustomerId, idList)); + if (!salesLedgers.isEmpty()) { + throw new RuntimeException("瀹㈡埛妗f涓嬫湁閿�鍞悎鍚岋紝璇峰厛鍒犻櫎閿�鍞悎鍚�"); + } return customerMapper.deleteBatchIds(idList); } diff --git a/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java index eb9eedb..dc6d3e9 100644 --- a/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java +++ b/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.basic.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -13,6 +14,8 @@ import com.ruoyi.basic.service.IProductModelService; import com.ruoyi.common.utils.bean.BeanUtils; import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.sales.mapper.SalesLedgerProductMapper; +import com.ruoyi.sales.pojo.SalesLedgerProduct; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; @@ -33,6 +36,7 @@ public class ProductModelServiceImpl extends ServiceImpl<ProductModelMapper, ProductModel> implements IProductModelService { private final ProductMapper productMapper; + private final SalesLedgerProductMapper salesLedgerProductMapper; private ProductModelMapper productModelMapper; @Override @@ -49,6 +53,12 @@ @Override public int delProductModel(Long[] ids) { + List<SalesLedgerProduct> salesLedgerProducts = salesLedgerProductMapper.selectList(new QueryWrapper<SalesLedgerProduct>() + .lambda().in(SalesLedgerProduct::getProductModelId, ids)); + if (salesLedgerProducts != null && salesLedgerProducts.size() > 0) { + + throw new RuntimeException("宸茬粡瀛樺湪璇ヤ骇鍝佺殑閿�鍞彴璐﹀拰閲囪喘鍙拌处"); + } return productModelMapper.deleteBatchIds(Arrays.asList(ids)); } diff --git a/src/main/java/com/ruoyi/basic/service/impl/SupplierServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/SupplierServiceImpl.java index e23355d..020a9cd 100644 --- a/src/main/java/com/ruoyi/basic/service/impl/SupplierServiceImpl.java +++ b/src/main/java/com/ruoyi/basic/service/impl/SupplierServiceImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.basic.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -13,6 +14,8 @@ import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.framework.web.domain.AjaxResult; +import com.ruoyi.purchase.mapper.PurchaseLedgerMapper; +import com.ruoyi.purchase.pojo.PurchaseLedger; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -28,6 +31,8 @@ @Autowired private SupplierManageMapper supplierMapper; + @Autowired + private PurchaseLedgerMapper purchaseLedgerMapper; /** * 渚涘簲鍟嗘柊澧� @@ -51,8 +56,13 @@ */ @Override public int delSupplier(List<Integer> ids) { + List<PurchaseLedger> purchaseLedgers = purchaseLedgerMapper.selectList(new QueryWrapper<PurchaseLedger>().lambda().in(PurchaseLedger::getSupplierId, ids)); + if (purchaseLedgers.size() > 0) { + throw new RuntimeException("渚涘簲鍟嗗凡瀛樺湪閲囪喘鍚堝悓"); + } LambdaQueryWrapper<SupplierManage> delWrapper = new LambdaQueryWrapper<>(); delWrapper.in(SupplierManage::getId, ids); + return supplierMapper.delete(delWrapper); } diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java index 46a5033..0650ce8 100644 --- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java +++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java @@ -42,6 +42,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.io.IOException; import java.math.BigDecimal; @@ -51,6 +52,7 @@ import java.nio.file.StandardCopyOption; import java.time.LocalDate; import java.time.LocalDateTime; +import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.util.*; import java.util.concurrent.TimeUnit; @@ -105,6 +107,7 @@ } @Override + @Transactional(rollbackFor = Exception.class) public int addOrEditPurchase(PurchaseLedgerDto purchaseLedgerDto) throws IOException { SalesLedger salesLedger = salesLedgerMapper.selectById(purchaseLedgerDto.getSalesLedgerId()); @@ -197,7 +200,7 @@ List<SalesLedgerProduct> updateList = partitionedProducts.get(true); List<SalesLedgerProduct> insertList = partitionedProducts.get(false); - SalesLedger salesLedger = salesLedgerMapper.selectById(salesLedgerId); + PurchaseLedger purchaseLedger = purchaseLedgerMapper.selectById(salesLedgerId); // 鎵ц鏇存柊鎿嶄綔 if (!updateList.isEmpty()) { @@ -210,7 +213,10 @@ if (!insertList.isEmpty()) { for (SalesLedgerProduct salesLedgerProduct : insertList) { salesLedgerProduct.setType(type); - salesLedgerProduct.setRegisterDate(salesLedger.getEntryDate().toString()); + Date entryDate = purchaseLedger.getEntryDate(); + + LocalDateTime localDateTime = entryDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); + salesLedgerProduct.setRegisterDate(localDateTime); salesLedgerProductMapper.insert(salesLedgerProduct); } } diff --git a/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java b/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java index 3f78018..1a82359 100644 --- a/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java +++ b/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java @@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.framework.aspectj.lang.annotation.Excel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; +import java.time.LocalDateTime; /** * 浜у搧淇℃伅瀵硅薄 sales_ledger_product @@ -166,5 +168,7 @@ private String register; @ApiModelProperty("鐧昏鏃ユ湡") - private String registerDate; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "鐧昏鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime registerDate; } diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java index 017cda9..a6e9f20 100644 --- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java +++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java @@ -111,7 +111,7 @@ product.setTempnoInvoiceAmount(product.getNoInvoiceAmount()); product.setTempNoInvoiceNum(product.getNoInvoiceNum()); product.setRegister(SecurityUtils.getLoginUser().getUser().getNickName()); - product.setRegisterDate(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + product.setRegisterDate(LocalDateTime.now()); } // 3.鏌ヨ涓婁紶鏂囦欢 -- Gitblit v1.9.3