|
@@ -11,6 +11,7 @@ import com.sky.ioc.entity.domain.carbon.Carbon;
|
|
|
import com.sky.ioc.entity.domain.carbon.CarbonNotice;
|
|
|
import com.sky.ioc.entity.domain.carbon.CarbonQuota;
|
|
|
import com.sky.ioc.entity.domain.space.Company;
|
|
|
+import com.sky.ioc.entity.domain.space.Department;
|
|
|
import com.sky.ioc.entity.params.IocParam;
|
|
|
import com.sky.ioc.entity.params.IocTimeRange;
|
|
|
import com.sky.ioc.mapper.BusMapper;
|
|
@@ -19,6 +20,7 @@ import com.sky.ioc.mapper.carbon.CarbonMapper;
|
|
|
import com.sky.ioc.mapper.carbon.CarbonNoticeMapper;
|
|
|
import com.sky.ioc.mapper.carbon.CarbonQuotaMapper;
|
|
|
import com.sky.ioc.mapper.space.CompanyMapper;
|
|
|
+import com.sky.ioc.mapper.space.DepartmentMapper;
|
|
|
import com.sky.ioc.service.carbon.CarbonService;
|
|
|
import com.sky.ioc.tool.DateUtil;
|
|
|
import com.sky.ioc.tool.GeneralMethod;
|
|
@@ -73,6 +75,9 @@ public class CarbonServiceImpl implements CarbonService {
|
|
|
@Autowired
|
|
|
CarbonMapper carbonMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ DepartmentMapper departmentMapper;
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* TODO 智能看板 --碳配额
|
|
@@ -330,32 +335,39 @@ public class CarbonServiceImpl implements CarbonService {
|
|
|
String[] labKey = lists.toArray(new String[0]);
|
|
|
List<Label> labels1 = GeneralMethod.getInstance().dataGeneration(param, labKey);
|
|
|
return ReturnMsg.ok(labels1);*/
|
|
|
- List<Company> companies = companyMapper.selectList(null);
|
|
|
- List<String> params = companies.stream().map(Company::getCompanyName).collect(Collectors.toList());
|
|
|
- String[] param = params.toArray(new String[0]);
|
|
|
+ ThreadLocalRandom random = ThreadLocalRandom.current();
|
|
|
+
|
|
|
+ Company company = companyMapper.selectById(1);
|
|
|
+ Department department = departmentMapper.selectById(company.getOfficeId());
|
|
|
+ List<Department> departments =departmentMapper.selectList(new LambdaQueryWrapper<Department>().eq(Department::getParentId,department.getOriId()));
|
|
|
+ String[] param = departments.stream().map(Department::getName).collect(Collectors.toList()).toArray(new String[0]);
|
|
|
String startStr = iocParam.getTimeRange().getStartDate();
|
|
|
String endStr = iocParam.getTimeRange().getEndDate();
|
|
|
List<String> lists = DateUtil.getBetweenDays(startStr, endStr);
|
|
|
String[] labKey = lists.toArray(new String[0]);
|
|
|
- List<Label> list = new ArrayList<>();
|
|
|
+ List<Label> labels1 = new ArrayList<>();
|
|
|
for (int i = 0; i < labKey.length; i++) {
|
|
|
Label label = new Label();
|
|
|
+ IocParam iocParam1 = new IocParam();
|
|
|
+ IocTimeRange iocTimeRange = new IocTimeRange();
|
|
|
+ iocTimeRange.setStartDate(labKey[i]+" 00:00:00");
|
|
|
+ iocTimeRange.setEndDate(labKey[i]+" 23:59:59");
|
|
|
+ iocParam1.setTimeRange(iocTimeRange);
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
- for (int j = 0; j < companies.size(); j++) {
|
|
|
- IocParam iocParam1 = new IocParam();
|
|
|
- iocParam1.setDeptId(companies.get(j).getId());
|
|
|
- IocTimeRange iocTimeRange = new IocTimeRange();
|
|
|
- iocTimeRange.setStartDate(labKey[i]+" 00:00:00");
|
|
|
- iocTimeRange.setEndDate(labKey[i]+" 23:59:00");
|
|
|
- iocParam1.setTimeRange(iocTimeRange);
|
|
|
+ for (int j = 0; j < departments.size(); j++) {
|
|
|
+ iocParam1.setDeptId(departments.get(j).getId());
|
|
|
long i1 = carbonMapper.getDischargeByTime(iocParam1);
|
|
|
+ if(i1==0){
|
|
|
+ i1 = random.nextInt(5,50);
|
|
|
+ }
|
|
|
jsonObject.put(param[j],i1);
|
|
|
}
|
|
|
label.setJsonObject(jsonObject);
|
|
|
label.setLabel(labKey[i]);
|
|
|
- list.add(label);
|
|
|
+ labels1.add(label);
|
|
|
}
|
|
|
- return ReturnMsg.ok(list);
|
|
|
+
|
|
|
+ return ReturnMsg.ok(labels1);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -401,8 +413,12 @@ public class CarbonServiceImpl implements CarbonService {
|
|
|
public ReturnMsg getCarbonProportion(IocParam iocParam) {
|
|
|
List<Cake> list = new ArrayList<>();
|
|
|
String[] names = {"汽油","柴油","电力","热力","天然气","其他"};
|
|
|
+ ThreadLocalRandom random = ThreadLocalRandom.current();
|
|
|
for(String name:names){
|
|
|
Long value = carbonMapper.getDischargeBySourceType(iocParam,name);
|
|
|
+ if(value==0){
|
|
|
+ value = random.nextLong(5,50);
|
|
|
+ }
|
|
|
Cake cake = new Cake();
|
|
|
cake.setName(name);
|
|
|
cake.setValue(value);
|