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
|
*/
|
@Service
|
@AllArgsConstructor
|
public class StandardTreeServiceImpl extends ServiceImpl<StandardTreeMapper, StandardTree>
|
implements StandardTreeService {
|
|
private StandardTreeMapper standardTreeMapper;
|
|
private StandardMethodListMapper standardMethodListMapper;
|
|
private StandardMethodListService standardMethodListService;
|
|
private StandardProductListMapper standardProductListMapper;
|
|
@Override
|
public List<FactoryDto> selectStandardTreeList() {
|
return standardTreeMapper.selectStandardTreeList();
|
}
|
|
@Override
|
public int addStandardTree(StandardTree standardTree) {
|
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;
|
}
|
}
|