package org.jeecg.modules.eam.service.impl;
|
|
import java.util.*;
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
import org.apache.commons.lang.StringUtils;
|
import org.jeecg.common.api.vo.CommonGenericTree;
|
import org.jeecg.common.constant.CommonConstant;
|
import org.jeecg.modules.eam.entity.Area;
|
import org.jeecg.modules.eam.entity.FaultCause;
|
import org.jeecg.modules.eam.mapper.AreaMapper;
|
import org.jeecg.modules.eam.service.IAreaService;
|
import org.jeecg.modules.eam.service.IProductionLineService;
|
import org.jeecg.modules.eam.service.ISiteService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.context.annotation.Lazy;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
/**
|
*
|
* @ClassName: AreaServiceImpl
|
* @Description: 车间信息业务接口实现
|
* @author Wang Mingchao
|
* @date 2020-10-20 09:29:03
|
*/
|
@Service
|
public class AreaServiceImpl extends ServiceImpl<AreaMapper, Area> implements IAreaService {
|
|
@Autowired
|
@Lazy
|
private ISiteService siteService;
|
|
@Autowired
|
@Lazy
|
private IProductionLineService productionLineService;
|
|
@Override
|
public List<Area> list() {
|
return super.lambdaQuery().eq(Area::getStatus, CommonConstant.STATUS_1).orderByAsc(Area::getNum).list();
|
}
|
|
@Override
|
@Transactional(rollbackFor = {Exception.class})
|
public boolean removeBySiteId(String siteId) {
|
if(StringUtils.isBlank(siteId))
|
return false;
|
LambdaQueryWrapper<Area> lambdaQueryWrapper = Wrappers.lambdaQuery();
|
lambdaQueryWrapper.eq(Area::getSiteId, siteId);
|
return super.remove(lambdaQueryWrapper);
|
}
|
|
@Override
|
@Transactional(rollbackFor = {Exception.class})
|
public boolean removeBySiteIds(String[] siteIds) {
|
if(siteIds == null || siteIds.length < 1)
|
return false;
|
LambdaQueryWrapper<Area> lambdaQueryWrapper = Wrappers.lambdaQuery();
|
lambdaQueryWrapper.in(Area::getSiteId, Arrays.asList(siteIds));
|
return super.remove(lambdaQueryWrapper);
|
}
|
|
@Override
|
@Transactional(rollbackFor = {Exception.class})
|
public boolean activeBySiteId(String siteId, String status) {
|
if(StringUtils.isBlank(siteId) || StringUtils.isBlank(status))
|
return false;
|
LambdaUpdateWrapper<Area> updateWrapper = Wrappers.lambdaUpdate();
|
updateWrapper.set(Area::getStatus, status).eq(Area::getSiteId, siteId);
|
return super.update(updateWrapper);
|
}
|
|
@Override
|
public List<CommonGenericTree> loadTree() {
|
List<Area> areaList = this.lambdaQuery().eq(Area::getDelFlag, "0").list();
|
List<CommonGenericTree> commonGenericTrees = loadTree(areaList);
|
return commonGenericTrees;
|
}
|
|
@SuppressWarnings("unchecked")
|
public List<CommonGenericTree> loadTree(List<Area> areaList) {
|
@SuppressWarnings("unused")
|
Area area = new Area();
|
List<CommonGenericTree> list = new ArrayList<>();
|
Map<String, CommonGenericTree> map = new HashMap<>();
|
Map<String, CommonGenericTree> map2 = new HashMap<>();
|
Map<String, CommonGenericTree> map3 = new HashMap<>();
|
// Map<String, CommonGenericTree> map4 = new HashMap<>();
|
// Map<String, CommonGenericTree> map5 = new HashMap<>();
|
// Map<String, CommonGenericTree> map6 = new HashMap<>();
|
// Map<String, CommonGenericTree> map7 = new HashMap<>();
|
CommonGenericTree<Area> node = new CommonGenericTree<>();
|
node.setKey("-1");
|
node.setValue("-1");
|
node.setTitle("中国航发");
|
node.setRField1("-1");
|
node.setRField2("中国航发");
|
node.setDisabled(false);
|
node.setEntity(new Area());
|
list.add(node);
|
if (CollectionUtils.isNotEmpty(list)) {
|
CommonGenericTree<Area> pcNode;
|
for (Area ar : areaList) {
|
if (ar.getParentId().equals("-1")) {
|
pcNode = new CommonGenericTree<>();
|
pcNode.setKey(ar.getId());
|
// pcNode.setTitle(ar.getNum() + "/" + ar.getName());
|
pcNode.setTitle(ar.getName());
|
pcNode.setParentId(node.getKey());
|
pcNode.setIcon("");
|
pcNode.setType(0);
|
pcNode.setValue(ar.getId());
|
pcNode.setDisabled(false);
|
pcNode.setRField1(ar.getNum());
|
pcNode.setRField2(ar.getName());
|
pcNode.setEntity(ar);
|
node.addChildren(pcNode);
|
map.put(ar.getId(), pcNode);
|
}
|
}
|
CommonGenericTree<Area> childNode;
|
for (Area ar : areaList) {
|
if (map.containsKey(ar.getParentId())) {
|
pcNode = map.get(ar.getParentId());
|
childNode = new CommonGenericTree<>();
|
childNode.setKey(ar.getId());
|
childNode.setTitle(ar.getName());
|
childNode.setParentId(ar.getParentId());
|
childNode.setIcon("");
|
childNode.setType(0);
|
childNode.setValue(ar.getId());
|
childNode.setDisabled(false);
|
childNode.setRField1(ar.getNum());
|
childNode.setRField2(ar.getName());
|
childNode.setEntity(ar);
|
pcNode.addChildren(childNode);
|
map2.put(ar.getId(), childNode);
|
}
|
}
|
if(map2.size()>0){
|
CommonGenericTree<Area> child2Node;
|
for (Area ar : areaList) {
|
if (map2.containsKey(ar.getParentId())) {
|
pcNode = map2.get(ar.getParentId());
|
child2Node = new CommonGenericTree<>();
|
child2Node.setKey(ar.getId());
|
child2Node.setTitle(ar.getName());
|
child2Node.setParentId(ar.getParentId());
|
child2Node.setIcon("");
|
child2Node.setType(0);
|
child2Node.setValue(ar.getId());
|
child2Node.setDisabled(false);
|
child2Node.setRField1(ar.getNum());
|
child2Node.setRField2(ar.getName());
|
child2Node.setEntity(ar);
|
pcNode.addChildren(child2Node);
|
map3.put(ar.getId(), child2Node);
|
}
|
}
|
if(map3.size()>0){
|
CommonGenericTree<Area> child3Node;
|
for (Area ar : areaList) {
|
if (map3.containsKey(ar.getParentId())) {
|
pcNode = map3.get(ar.getParentId());
|
child3Node = new CommonGenericTree<>();
|
child3Node.setKey(ar.getId());
|
child3Node.setTitle(ar.getName());
|
child3Node.setParentId(ar.getParentId());
|
child3Node.setIcon("");
|
child3Node.setType(0);
|
child3Node.setValue(ar.getId());
|
child3Node.setDisabled(false);
|
child3Node.setRField1(ar.getNum());
|
child3Node.setRField2(ar.getName());
|
child3Node.setEntity(ar);
|
// pcNode.addChildren(child3Node);
|
// map4.put(cause.getId(), child3Node);
|
}
|
}
|
// if(map4.size()>0){
|
// CommonGenericTree<FaultCause> child4Node;
|
// for (FaultCause cause : faultCauseList) {
|
// if (map4.containsKey(cause.getParentId())) {
|
// pcNode = map4.get(cause.getParentId());
|
// child4Node = new CommonGenericTree<>();
|
// child4Node.setKey(cause.getId());
|
// child4Node.setTitle(cause.getNum() + "/" + cause.getName());
|
// child4Node.setParentId(cause.getParentId());
|
// child4Node.setIcon("");
|
// child4Node.setType(0);
|
// child4Node.setValue(cause.getId());
|
// child4Node.setDisabled(false);
|
// child4Node.setRField1(cause.getNum());
|
// child4Node.setRField2(cause.getName());
|
// child4Node.setEntity(cause);
|
// pcNode.addChildren(child4Node);
|
// map5.put(cause.getId(), child4Node);
|
// }
|
// }
|
// }
|
}
|
}
|
}
|
return list;
|
}
|
}
|