李林
2024-04-09 217f2eb09985a80f5d972a6fa1205806756711e1
inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java
@@ -1,26 +1,49 @@
package com.yuanchu.mom.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
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.StandardProductListService;
import com.yuanchu.mom.service.StandardTreeService;
import com.yuanchu.mom.mapper.StandardTreeMapper;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
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;
    private StandardProductListService standardProductListService;
    @Override
    public List<FactoryDto> selectStandardTreeList() {
@@ -28,9 +51,99 @@
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public int addStandardTree(StandardTree standardTree) {
        List<StandardProductList> productList = standardTreeMapper.getStandardProductListBySample(standardTree.getSampleType());
        List<StandardMethodList> methodList = standardTreeMapper.getStandardMethodListBySample(standardTree.getSampleType());
        for (StandardMethodList standardMethod : methodList) {
            standardMethod.setFactory(standardTree.getFactory());
            standardMethod.setLaboratory(standardTree.getLaboratory());
            standardMethod.setSampleType(standardTree.getSampleType());
            standardMethod.setSample(standardTree.getSample());
            standardMethod.setModel(standardTree.getModel());
            standardMethodListMapper.insert(standardMethod);
            for (StandardProductList standardProductList : productList) {
                standardProductList.setFactory(standardTree.getFactory());
                standardProductList.setLaboratory(standardTree.getLaboratory());
                standardProductList.setSampleType(standardTree.getSampleType());
                standardProductList.setSample(standardTree.getSample());
                standardProductList.setModel(standardTree.getModel());
                standardProductList.setStandardMethodListId(standardMethod.getId());
                standardProductList.setState(1);
                standardProductList.setId(null);
                standardProductList.setCreateUser(null);
                standardProductList.setCreateTime(null);
                standardProductList.setUpdateUser(null);
                standardProductList.setUpdateTime(null);
                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.selectsStandardMethodByFLSSM2(tree);
        if (listMap.get("standardMethodList").size() != 0) {
            for (Object o : listMap.get("standardMethodList")) {
                JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(o));
                List<StandardProductList> list = standardProductListService.selectStandardProductListByMethodId((Integer) jsonObject.get("id"));
                if(list.size()!=0){
                    standardProductListMapper.deleteBatchIds(list);
                }
            }
            standardMethodListMapper.deleteBatchIds(listMap.get("standardMethodList"));
        }
        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;
    }
}