package com.ruoyi.basic.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.ruoyi.basic.mapper.StandardMethodListMapper;
|
import com.ruoyi.basic.mapper.StandardProductListMapper;
|
import com.ruoyi.basic.mapper.WorkShopMapper;
|
import com.ruoyi.basic.pojo.StandardMethodList;
|
import com.ruoyi.basic.pojo.StandardProductList;
|
import com.ruoyi.basic.pojo.WorkShop;
|
import com.ruoyi.basic.service.StandardMethodListService;
|
import lombok.AllArgsConstructor;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* @author Administrator
|
* @description 针对表【standard_method_list(标准树下的标准列表)】的数据库操作Service实现
|
* @createDate 2024-03-04 13:44:04
|
*/
|
@Service
|
@AllArgsConstructor
|
public class StandardMethodListServiceImpl extends ServiceImpl<StandardMethodListMapper, StandardMethodList>
|
implements StandardMethodListService{
|
|
private StandardMethodListMapper standardMethodListMapper;
|
|
private StandardProductListMapper standardProductListMapper;
|
|
@Autowired
|
private WorkShopMapper workShopMapper;
|
|
|
@Override
|
public Map<String, List<?>> selectsStandardMethodByFLSSM(String tree) {
|
Map<String, List<?>> map = new HashMap<>();
|
String sampleType = ""; // 检验对象
|
// 拼接树
|
String[] trees = tree.split(" - ");
|
map.put("standardMethodList", null);
|
if(trees == null && trees.length < 4){
|
return map;
|
}
|
StringBuilder checkItemQueryTree = new StringBuilder(); // 检查项查询
|
// 判断是否包含车间
|
boolean existWorkShopFlag = this.existWorkShop(tree);
|
// 车间层级多一层级
|
if(existWorkShopFlag){
|
switch (trees.length) {
|
case 7:
|
sampleType = trees[4];
|
checkItemQueryTree.append("\"").append(trees[4]).append("\",\"").append(trees[5]).append("\",\"").append(trees[6]).append("\"");
|
break;
|
case 6:
|
sampleType = trees[4];
|
checkItemQueryTree.append("\"").append(trees[4]).append("\",\"").append(trees[5]).append("\"");
|
break;
|
case 5:
|
sampleType = trees[4];
|
checkItemQueryTree.append("\"").append(trees[4]).append("\"").append("]");
|
break;
|
}
|
}else {
|
switch (trees.length) {
|
case 6:
|
sampleType = trees[3];
|
checkItemQueryTree.append("\"").append(trees[3]).append("\",\"").append(trees[4]).append("\",\"").append(trees[5]).append("\"");
|
break;
|
case 5:
|
sampleType = trees[3];
|
checkItemQueryTree.append("\"").append(trees[3]).append("\",\"").append(trees[4]).append("\"");
|
break;
|
case 4:
|
sampleType = trees[3];
|
checkItemQueryTree.append("\"").append(trees[3]).append("\"").append("]");
|
break;
|
}
|
}
|
if(StringUtils.isEmpty(checkItemQueryTree.toString())){
|
return map;
|
}
|
List<StandardMethodList> standardMethodListArray = standardMethodListMapper.selectStandardMethodLists(checkItemQueryTree.toString());
|
// 查不到查询检查对象
|
if(CollectionUtils.isEmpty(standardMethodListArray)){
|
standardMethodListArray = standardMethodListMapper.selectStandardMethodLists(sampleType);
|
}
|
map.put("standardMethodList", standardMethodListArray);
|
return map;
|
}
|
|
@Override
|
public List<StandardMethodList> selectStandardMethodEnum() {
|
return standardMethodListMapper.selectListEnum();
|
}
|
|
@Override
|
public Integer getStandardMethodId(String code) {
|
return baseMapper.getStandardMethodId(code);
|
}
|
|
/**
|
* 判断是否包含车间
|
*
|
* @param tree
|
* @return
|
*/
|
@Override
|
public boolean existWorkShop(String tree){
|
QueryWrapper<WorkShop> queryWrapper = new QueryWrapper<>();
|
List<WorkShop> workShopList = workShopMapper.selectList(queryWrapper);
|
String[] trees = tree.split(" - ");
|
if(trees != null && trees.length > 0){
|
for (int i = 0; i < trees.length; i++) {
|
for (WorkShop workShop : workShopList) {
|
if(workShop.getName().equals(trees[i].trim())){
|
return true;
|
}
|
}
|
}
|
}
|
return false;
|
}
|
}
|