package com.example.erp.service.sd;
|
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.example.erp.entity.sd.BasicData;
|
import com.example.erp.entity.sd.BasicOtherMoney;
|
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<String, List<Object>> getOrderBasicData() {
|
//获取订单基本数据类型
|
//创建Map对象
|
Map<String, List<Object>> orderBasicDataMap = new HashMap<>();
|
//创建List对象
|
orderBasicDataMap = getBasicDataByType("order");
|
|
|
//获取客户列表
|
List<Object> orderBasicDataList = new ArrayList<>();
|
orderBasicDataMap.put("customer",orderBasicDataList);
|
List<Customer> customerList = customerMapper.getCustomerList();
|
for (Customer customer : customerList){
|
customer.setProjectList(customerMapper.getProjectList(customer.getId()));
|
orderBasicDataMap.get("customer").add(customer);
|
}
|
|
orderBasicDataMap.put("orderOtherMoney",
|
Collections.singletonList(
|
basicOtherMoneyMapper.selectList(new QueryWrapper<BasicOtherMoney>().eq("state",1))
|
));
|
|
|
//返回Map对象
|
return orderBasicDataMap;
|
}
|
|
// public Map<String, List<Object>> getBasicDataByType(String type) {
|
// List<String> orderBasicDataType = basicDateMapper.getOrderBasicDataType(type);
|
// //获取订单基本数据
|
// List<BasicData> orderBasicData = basicDateMapper.getOrderBasicData(type);
|
// //创建Map对象
|
// Map<String, List<Object>> orderBasicDataMap = new HashMap<>(); ;
|
// //创建List对象
|
//
|
// //遍历订单基本数据类型
|
// for(String item :orderBasicDataType){
|
// List<Object> orderBasicDataList = new ArrayList<>();
|
// //将类型和List对象放入Map中
|
// orderBasicDataMap.put(item,orderBasicDataList);
|
// }
|
// //遍历订单基本数据
|
// for (BasicData item : orderBasicData){
|
// //将数据放入List中
|
// orderBasicDataMap.get(item.getBasicCategory()).add(item);
|
// }
|
// return orderBasicDataMap;
|
// }
|
|
public Map<String, List<Object>> getBasicDataByType(String type){
|
//返回基础数据里的所有类型
|
List<String> orderBasicDataType = basicDateMapper.getOrderBasicDataType(type);
|
//返回此类型基础数据所有数据
|
List<BasicData> orderBasicData = basicDateMapper.getOrderBasicData(type);
|
Map<String, List<Object>> BasicDataMap = new HashMap<>();
|
//创建List对象
|
|
//遍历订单基本数据类型
|
for(String item :orderBasicDataType){
|
List<Object> orderBasicDataList = new ArrayList<>();
|
//将类型和List对象放入Map中
|
BasicDataMap.put(item,orderBasicDataList);
|
}
|
//遍历订单基本数据
|
for (BasicData item : orderBasicData){
|
//将数据放入List中
|
BasicDataMap.get(item.getBasicCategory()).add(item);
|
}
|
BasicDataMap.put("deliveryOtherMoney", Collections.singletonList( basicOtherMoneyMapper.selectList(new QueryWrapper<BasicOtherMoney>().eq("state",1))));
|
return BasicDataMap;
|
}
|
|
public List<BasicData> getBasicDataByTypeAndChildType(String type, String childType) {
|
Map<String, List<Object>> BasicDataMap = new HashMap<>();
|
return basicDateMapper.getOrderBasicDataByTypeAndChildType(type, childType);
|
|
}
|
|
public List<BasicData> getBasicData() {
|
return basicDateMapper.getBasicData();
|
}
|
|
public Object getBasicDataType() {
|
List<BasicData> lastType = basicDateMapper.getBasicDataLastType();
|
List<BasicData> firstType= basicDateMapper.getBasicDataFirstType();
|
List<Map<String,Object>> list = new ArrayList<>();
|
if(!firstType.isEmpty()){
|
firstType.forEach(item->{
|
Map<String,Object> map = new HashMap<>();
|
List<Map<String,String>> lastTypeList = new ArrayList<>();
|
lastType.forEach(item1->{
|
Map<String,String> 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<String, Object> map) {
|
List<String> basicTypeList = (List<String>) 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());
|
basicData.setNickname(map.get("nickname").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);
|
}
|
}
|