package com.example.erp.service.sd; import com.baomidou.dynamic.datasource.annotation.DS; import com.example.erp.entity.sd.BasicData; import com.example.erp.entity.sd.Customer; import com.example.erp.mapper.sd.BasicDateMapper; import com.example.erp.mapper.sd.BasicOtherMoneyMapper; import com.example.erp.mapper.sd.CustomerMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; @Service @DS("sd") public class BasicDateService { private final BasicDateMapper basicDateMapper; private final CustomerMapper customerMapper; private final BasicOtherMoneyMapper basicOtherMoneyMapper; public BasicDateService(BasicDateMapper basicDateMapper, CustomerMapper customerMapper, BasicOtherMoneyMapper basicOtherMoneyMapper) { this.basicDateMapper = basicDateMapper; this.customerMapper = customerMapper; this.basicOtherMoneyMapper = basicOtherMoneyMapper; } //获取订单基本数据 public Map> getOrderBasicData() { //获取订单基本数据类型 //创建Map对象 Map> orderBasicDataMap = new HashMap<>(); ; //创建List对象 orderBasicDataMap = getBasicDataByType("order"); //获取客户列表 List orderBasicDataList = new ArrayList<>(); orderBasicDataMap.put("customer",orderBasicDataList); List customerList = customerMapper.getCustomerList(); for (Customer customer : customerList){ orderBasicDataMap.get("customer").add(customer); } orderBasicDataMap.put("orderOtherMoney", Collections.singletonList(basicOtherMoneyMapper.selectList(null))); //返回Map对象 return orderBasicDataMap; } // public Map> getBasicDataByType(String type) { // List orderBasicDataType = basicDateMapper.getOrderBasicDataType(type); // //获取订单基本数据 // List orderBasicData = basicDateMapper.getOrderBasicData(type); // //创建Map对象 // Map> orderBasicDataMap = new HashMap<>(); ; // //创建List对象 // // //遍历订单基本数据类型 // for(String item :orderBasicDataType){ // List orderBasicDataList = new ArrayList<>(); // //将类型和List对象放入Map中 // orderBasicDataMap.put(item,orderBasicDataList); // } // //遍历订单基本数据 // for (BasicData item : orderBasicData){ // //将数据放入List中 // orderBasicDataMap.get(item.getBasicCategory()).add(item); // } // return orderBasicDataMap; // } public Map> getBasicDataByType(String type){ //返回基础数据里的所有类型 List orderBasicDataType = basicDateMapper.getOrderBasicDataType(type); //返回此类型基础数据所有数据 List orderBasicData = basicDateMapper.getOrderBasicData(type); Map> BasicDataMap = new HashMap<>(); //创建List对象 //遍历订单基本数据类型 for(String item :orderBasicDataType){ List orderBasicDataList = new ArrayList<>(); //将类型和List对象放入Map中 BasicDataMap.put(item,orderBasicDataList); } //遍历订单基本数据 for (BasicData item : orderBasicData){ //将数据放入List中 BasicDataMap.get(item.getBasicCategory()).add(item); } return BasicDataMap; } public List getBasicDataByTypeAndChildType(String type, String childType) { Map> BasicDataMap = new HashMap<>(); return basicDateMapper.getOrderBasicDataByTypeAndChildType(type, childType); } public List getBasicData() { return basicDateMapper.getBasicData(); } public Object getBasicDataType() { List lastType = basicDateMapper.getBasicDataLastType(); List firstType= basicDateMapper.getBasicDataFirstType(); List> list = new ArrayList<>(); if(!firstType.isEmpty()){ firstType.forEach(item->{ Map map = new HashMap<>(); List> lastTypeList = new ArrayList<>(); lastType.forEach(item1->{ Map map1 = new HashMap<>(); if(Objects.equals(item.getBasicType(), item1.getBasicType())){ map1.put("value",item1.getBasicCategory()); map1.put("label",item1.getBasicCategory()); lastTypeList.add(map1); } }); map.put("children",lastTypeList); map.put("value",item.getBasicType()); map.put("label",item.getBasicType()); list.add(map); }); } return list; } public boolean addBasicData(Map map) { List basicTypeList = (List) map.get("basicType"); if(basicTypeList.size()==2){ BasicData basicData = new BasicData(); basicData.setBasicType(basicTypeList.get(0)); basicData.setBasicCategory(basicTypeList.get(1)); basicData.setBasicName(map.get("input").toString()); basicDateMapper.insert(basicData); } return true; } public int deleteBasicData(BasicData basicData) { return basicDateMapper.deleteById(basicData.getId()); } public int updateBasicData(BasicData basicData) { return basicDateMapper.updateById(basicData); } }