package com.example.erp.service.sd; import com.alibaba.fastjson.JSON; import com.baomidou.dynamic.datasource.annotation.DS; import com.example.erp.entity.sd.BasicGlassType; import com.example.erp.mapper.sd.BasicGlassTypeMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; @Service @DS("sd") public class BasicGlassTypeService { @Autowired BasicGlassTypeMapper basicGlassTypeMapper; public List getOneLevel() { return basicGlassTypeMapper.getOneLevel(); } public List getTwoLevel() { return basicGlassTypeMapper.getTwoLevel(); } public List> getAll() { List oneGlassType = basicGlassTypeMapper.getOneLevel(); List twoGlassType = basicGlassTypeMapper.getTwoLevel(); List> list = new ArrayList<>(); for (BasicGlassType glassType : oneGlassType) { Map map = new HashMap<>(); map.put("value", glassType.getTypeId()); map.put("label", glassType.getTypeName()); map.put("children", ""); List equalList = new ArrayList<>(); for (BasicGlassType basicGlassType : twoGlassType) { if (Objects.equals(basicGlassType.getBelong(), glassType.getTypeId())) { Map getMap = JSON.parseObject(JSON.toJSONString(basicGlassType), Map.class); getMap.put("value",getMap.get("typeId")); getMap.put("label",getMap.get("typeName")); equalList.add(JSON.toJSONString(getMap) ); } } map.replace("children",equalList.toString()); list.add(map); } return list; } public List findAll() { return basicGlassTypeMapper.selectList(null); } public Boolean deleteById(Integer id) { return basicGlassTypeMapper.deleteById(id) > 0; } public List> getOneLevelListMap() { List oneGlassType = basicGlassTypeMapper.getOneLevel(); List> list = new ArrayList<>(); for (BasicGlassType glassType : oneGlassType) { Map map = new HashMap<>(); map.put("value", glassType.getTypeId()); map.put("label", glassType.getTypeName()); list.add(map); } return list; } public Boolean add(Map map) { List list = (List) map.get("glassLevel"); if(list.get(0)==null || map.get("value") == null || map.get("value").equals("")){ return false; } BasicGlassType basicGlassTypeS = new BasicGlassType(); if(map.get("type").equals("add")){ if(list.size()==1){ BasicGlassType basicGlassType = basicGlassTypeMapper.selectMaxType((Integer) list.get(0)); int maxId = Integer.parseInt(basicGlassType.getTypeId()); String newTypeId = String.format("%02d", maxId+1); basicGlassTypeS.setLevel((Integer) list.get(0)); basicGlassTypeS.setTypeId(newTypeId); basicGlassTypeS.setTypeName((String) map.get("value")); }else if(list.size()==2) { BasicGlassType basicGlassType = basicGlassTypeMapper.selectMaxTowLevelType((String) list.get(1)); int maxId = Integer.parseInt(basicGlassType.getTypeId().substring(2)); String newTypeId =list.get(1) + String.format("%02d", maxId+1); basicGlassTypeS.setLevel((Integer) list.get(0)); basicGlassTypeS.setTypeId(newTypeId); basicGlassTypeS.setTypeName((String) map.get("value")); basicGlassTypeS.setBelong((String) list.get(1)); } return basicGlassTypeMapper.insert(basicGlassTypeS)>0; }else{ basicGlassTypeS.setId((Integer) map.get("id")); basicGlassTypeS.setTypeName((String) map.get("value")); return basicGlassTypeMapper.updateGlassTypeName(basicGlassTypeS); } } }