package com.yuanchu.mom.service.impl;
|
|
import cn.hutool.poi.excel.ExcelUtil;
|
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.dto.SampleTypeDto;
|
import com.yuanchu.mom.mapper.StandardMethodListMapper;
|
import com.yuanchu.mom.mapper.StandardProductListMapper;
|
import com.yuanchu.mom.mapper.StandardTreeMapper;
|
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 lombok.AllArgsConstructor;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import java.io.IOException;
|
import java.io.InputStream;
|
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;
|
|
private StandardProductListService standardProductListService;
|
|
@Override
|
public List<FactoryDto> selectStandardTreeList() {
|
return standardTreeMapper.selectStandardTreeList();
|
}
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
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;*/
|
}
|
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;
|
}
|
|
@Override
|
public List<SampleTypeDto> getStandardTree2() {
|
return standardTreeMapper.getStandardTree2();
|
}
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public int upStandardProducts(Map<String, Object> product) {
|
List<Integer> ids = JSON.parseArray(product.get("ids")+"");
|
StandardProductList productList = JSON.parseObject(JSON.toJSONString(product.get("standardProductList")), StandardProductList.class);
|
standardProductListMapper.update(productList, Wrappers.<StandardProductList>lambdaUpdate().in(StandardProductList::getId, ids));
|
return 1;
|
}
|
|
@Override
|
public List<StandardTree> getStandTreeBySampleType(String laboratory, String sampleType) {
|
return standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery()
|
.eq(StandardTree::getLaboratory, laboratory)
|
.eq(StandardTree::getSampleType, sampleType)
|
.select(StandardTree::getModel, StandardTree::getSample));
|
}
|
|
@Override
|
public void inExcelOfTree(MultipartFile file) {
|
InputStream inputStream;
|
try {
|
inputStream = file.getInputStream();
|
} catch (IOException e) {
|
throw new RuntimeException(e);
|
}
|
ExcelUtil.readBySax(inputStream, 0, (i, l, list) -> {
|
System.out.println(list);
|
if (i == 0 && l >= 1) {
|
|
}
|
});
|
}
|
}
|