zhuo
2025-04-03 eb975b40828b3a930fb38b75c739a7385b14ee12
basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListSupplierAskServiceImpl.java
@@ -1,13 +1,24 @@
package com.ruoyi.basic.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.basic.enums.StandardProductListChcekTypeEnums;
import com.ruoyi.basic.mapper.StandardProductListMapper;
import com.ruoyi.basic.mapper.StandardProductListSupplierAskBackupRelMapper;
import com.ruoyi.basic.pojo.StandardProductList;
import com.ruoyi.basic.pojo.StandardProductListSupplierAskBackupRel;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.basic.mapper.StandardProductListSupplierAskMapper;
import com.ruoyi.basic.pojo.StandardProductListSupplierAsk;
import com.ruoyi.basic.service.StandardProductListSupplierAskService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
/**
@@ -18,6 +29,12 @@
 */
@Service
public class StandardProductListSupplierAskServiceImpl extends ServiceImpl<StandardProductListSupplierAskMapper, StandardProductListSupplierAsk> implements StandardProductListSupplierAskService {
    @Autowired
    private StandardProductListSupplierAskBackupRelMapper standardProductListSupplierAskBackupRelMapper;
    @Autowired
    private StandardProductListMapper standardProductListMapper;
    /**
     * 查询厂家要求值绑定
@@ -39,10 +56,18 @@
     * @return
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Integer addProductSupplierAsk(StandardProductListSupplierAsk supplierAsk) {
        if (supplierAsk.getProductListId() == null) {
            throw new BaseException("缺少产品对象id");
        }
        // 新增前备份
        backupSupplierAsk(supplierAsk);
        // 修改状态为待提交
        StandardProductList standardProductList = new StandardProductList();
        standardProductList.setId(supplierAsk.getProductListId());
        standardProductList.setCheckStatus(StandardProductListChcekTypeEnums.WAIT_CHECK.getCode());
        standardProductListMapper.updateById(standardProductList);
        // 查询改厂家是否绑定过
        Long count = baseMapper.selectCount(Wrappers.<StandardProductListSupplierAsk>lambdaQuery()
                .eq(StandardProductListSupplierAsk::getProductListId, supplierAsk.getProductListId())
@@ -60,10 +85,18 @@
     * @return
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Integer updateProductSupplierAsk(StandardProductListSupplierAsk supplierAsk) {
        if (supplierAsk.getProductListId() == null) {
            throw new BaseException("缺少检验项id");
        }
        // 修改前备份
        backupSupplierAsk(supplierAsk);
        // 修改状态为待提交
        StandardProductList standardProductList = new StandardProductList();
        standardProductList.setId(supplierAsk.getProductListId());
        standardProductList.setCheckStatus(StandardProductListChcekTypeEnums.WAIT_CHECK.getCode());
        standardProductListMapper.updateById(standardProductList);
        // 查询改厂家是否绑定过
        Long count = baseMapper.selectCount(Wrappers.<StandardProductListSupplierAsk>lambdaQuery()
                .ne(StandardProductListSupplierAsk::getSupplierAskId, supplierAsk.getSupplierAskId())
@@ -75,5 +108,47 @@
        baseMapper.updateById(supplierAsk);
        return supplierAsk.getSupplierAskId();
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void deleteProductSupplierAsk(Integer supplierAskId) {
        StandardProductListSupplierAsk supplierAsk = baseMapper.selectById(supplierAskId);
        // 删除前备份
        backupSupplierAsk(supplierAsk);
        // 修改状态为待提交
        StandardProductList standardProductList = new StandardProductList();
        standardProductList.setId(supplierAsk.getProductListId());
        standardProductList.setCheckStatus(StandardProductListChcekTypeEnums.WAIT_CHECK.getCode());
        standardProductListMapper.updateById(standardProductList);
        baseMapper.deleteById(supplierAskId);
    }
    /**
     * 检验项目厂家密度绑定备份表表备份
     *
     * @param supplierAsk
     */
    @Override
    public void backupSupplierAsk(StandardProductListSupplierAsk supplierAsk) {
        // 查询备份数据是否存在,如果有不做备份
        QueryWrapper<StandardProductListSupplierAskBackupRel> backupQueryWrapper = new QueryWrapper<>();
        backupQueryWrapper.eq("product_list_id", supplierAsk.getProductListId());
        List<StandardProductListSupplierAskBackupRel> standardProductListSupplierAskBackupRels = standardProductListSupplierAskBackupRelMapper.selectList(backupQueryWrapper);
        // 查询原数据进行备份
        if(CollectionUtils.isEmpty(standardProductListSupplierAskBackupRels)){
            QueryWrapper<StandardProductListSupplierAsk> queryWrapper = new QueryWrapper<>();
            queryWrapper.eq("product_list_id", supplierAsk.getProductListId());
            List<StandardProductListSupplierAsk> standardProductListSupplierAskList = baseMapper.selectList(queryWrapper);
            List<StandardProductListSupplierAskBackupRel> supplierAskBackupRelInsertList = new ArrayList<>();
            for (StandardProductListSupplierAsk standardProductListSupplierAsk : standardProductListSupplierAskList) {
                StandardProductListSupplierAskBackupRel standardProductListSupplierAskBackupRel = new StandardProductListSupplierAskBackupRel();
                BeanUtils.copyProperties(standardProductListSupplierAsk, standardProductListSupplierAskBackupRel);
                supplierAskBackupRelInsertList.add(standardProductListSupplierAskBackupRel);
            }
            if(!CollectionUtils.isEmpty(supplierAskBackupRelInsertList)){
                standardProductListSupplierAskBackupRelMapper.batchInsertSupplierAskBackUpRel(supplierAskBackupRelInsertList);
            }
        }
    }
}