李林
2024-03-13 75d81c7784c30a10568c7880d51f2584c441e110
inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java
@@ -1,26 +1,43 @@
package com.yuanchu.mom.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.dto.FactoryDto;
import com.yuanchu.mom.mapper.StandardMethodListMapper;
import com.yuanchu.mom.mapper.StandardProductListMapper;
import com.yuanchu.mom.pojo.StandardMethodList;
import com.yuanchu.mom.pojo.StandardProductList;
import com.yuanchu.mom.pojo.StandardTree;
import com.yuanchu.mom.service.StandardMethodListService;
import com.yuanchu.mom.service.StandardTreeService;
import com.yuanchu.mom.mapper.StandardTreeMapper;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* @author Administrator
* @description 针对表【standard_tree(标准树)】的数据库操作Service实现
* @createDate 2024-03-01 15:06:44
*/
 * @author Administrator
 * @description 针对表【standard_tree(标准树)】的数据库操作Service实现
 * @createDate 2024-03-01 15:06:44
 */
@Service
@AllArgsConstructor
public class StandardTreeServiceImpl extends ServiceImpl<StandardTreeMapper, StandardTree>
    implements StandardTreeService{
        implements StandardTreeService {
    private StandardTreeMapper standardTreeMapper;
    private StandardMethodListMapper standardMethodListMapper;
    private StandardMethodListService standardMethodListService;
    private StandardProductListMapper standardProductListMapper;
    @Override
    public List<FactoryDto> selectStandardTreeList() {
@@ -28,9 +45,77 @@
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public int addStandardTree(StandardTree standardTree) {
        if(standardTree.getSample()!=null){
            List<StandardProductList> list = standardTreeMapper.getStandardProductListBySample(standardTree.getSampleType());
            for (StandardProductList standardProductList : list) {
                standardProductList.setFactory(standardTree.getFactory());
                standardProductList.setLaboratory(standardTree.getLaboratory());
                standardProductList.setSampleType(standardTree.getSampleType());
                standardProductList.setSample(standardTree.getSample());
                standardProductList.setModel(standardTree.getModel());
                standardProductListMapper.insert(standardProductList);
            }
        }
        return standardTreeMapper.insert(standardTree);
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public int delStandardTree(String tree) {
        String[] trees = tree.split(" - ");
        switch (trees.length) {
            case 5:
                standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).eq(StandardTree::getSample, trees[3]).eq(StandardTree::getModel, trees[4]));
                break;
            case 4:
                standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).eq(StandardTree::getSample, trees[3]));
                break;
            case 3:
                standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]));
                break;
            case 2:
                standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1]));
                break;
            case 1:
                standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]));
                break;
        }
        Map<String, List<?>> listMap = standardMethodListService.selectsStandardMethodByFLSSM(tree);
        if(listMap.get("standardMethodList").size() != 0){
            standardMethodListMapper.deleteBatchIds(listMap.get("standardMethodList"));
        }
        if(listMap.get("standardProductList").size() != 0){
            standardProductListMapper.deleteBatchIds(listMap.get("standardProductList"));
        }
        return 1;
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public int addStandardProduct(String ids, String tree) {
        String[] trees = tree.split(" - ");
        JSONArray jsonArray = JSON.parseArray(ids);
        for (Object o : jsonArray) {
            StandardProductList standardProductList = standardTreeMapper.selectStandardProductById(Integer.parseInt("" + o));
            standardProductList.setFactory(trees[0]);
            try {
                standardProductList.setLaboratory(trees[1]);
            }catch (Exception e){}
            try {
                standardProductList.setSampleType(trees[2]);
            }catch (Exception e){}
            try {
                standardProductList.setSample(trees[3]);
            }catch (Exception e){}
            try {
                standardProductList.setModel(trees[4]);
            }catch (Exception e){}
            standardProductListMapper.insert(standardProductList);
        }
        return 1;
    }
}