|
|
@ -17,10 +17,12 @@ import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
import javax.annotation.Resource; |
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.math.BigDecimal; |
|
|
|
|
|
|
|
import java.math.RoundingMode; |
|
|
|
import java.text.ParseException; |
|
|
|
import java.text.ParseException; |
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
import java.util.*; |
|
|
|
import java.util.*; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
import java.util.stream.Stream; |
|
|
|
|
|
|
|
|
|
|
|
@Slf4j |
|
|
|
@Slf4j |
|
|
|
@Service |
|
|
|
@Service |
|
|
@ -233,14 +235,69 @@ public class DataResultServiceImpl implements DataResultService { |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public List<DataResultChEntity> queryDataResultMi(String projectId, String startDate, String curDate, int page, int limit, int type, String registerAddr, String mtNum) { |
|
|
|
public List<DataResultChEntity> queryDataResultMi(String projectId, String startDate, String curDate, int page, int limit, int type, String registerAddr, String mtNum) { |
|
|
|
if (type == 0) { |
|
|
|
if (type == 0 && !projectId.equals("20")) { |
|
|
|
return dataResultOneMiMapper.queryDataResultOneMi(projectId, startDate, curDate, page, limit); |
|
|
|
return dataResultOneMiMapper.queryDataResultOneMi(projectId, startDate, curDate, page, limit); |
|
|
|
} else if (type == 1) { |
|
|
|
} else if (type == 1 && !projectId.equals("20")) { |
|
|
|
return dataResultFiveMiMapper.queryDataResultFiveMi(projectId, startDate, curDate, page, limit, registerAddr, mtNum); |
|
|
|
return dataResultFiveMiMapper.queryDataResultFiveMi(projectId, startDate, curDate, page, limit, registerAddr, mtNum); |
|
|
|
} else if (type == 2) { |
|
|
|
} else if (type == 2 && !projectId.equals("20")) { |
|
|
|
return dataResultFifteenMiMapper.queryDataResultFifteenMi(projectId, startDate, curDate, page, limit, registerAddr, mtNum); |
|
|
|
return dataResultFifteenMiMapper.queryDataResultFifteenMi(projectId, startDate, curDate, page, limit, registerAddr, mtNum); |
|
|
|
|
|
|
|
} else if (projectId.equals("20") && (type == 1 || type == 2)) { |
|
|
|
|
|
|
|
// 需要两个珠江啤酒整合起来
|
|
|
|
|
|
|
|
List<DataResultChEntity> data1 = new ArrayList<>(); |
|
|
|
|
|
|
|
List<DataResultChEntity> data2 = new ArrayList<>(); |
|
|
|
|
|
|
|
if (type == 1) { |
|
|
|
|
|
|
|
data1 = dataResultFiveMiMapper.queryDataResultFiveMi("14", startDate, curDate, page, limit, registerAddr, mtNum); |
|
|
|
|
|
|
|
data2 = dataResultFiveMiMapper.queryDataResultFiveMi("15", startDate, curDate, page, limit, registerAddr, mtNum); |
|
|
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
} else { |
|
|
|
return dataResultOneMiMapper.queryDataResultOneMi(projectId, startDate, curDate, page, limit); |
|
|
|
data1 = dataResultFifteenMiMapper.queryDataResultFifteenMi("14", startDate, curDate, page, limit, registerAddr, mtNum); |
|
|
|
|
|
|
|
data2 = dataResultFifteenMiMapper.queryDataResultFifteenMi("15", startDate, curDate, page, limit, registerAddr, mtNum); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if ("0006".equals(registerAddr)) { |
|
|
|
|
|
|
|
// 合并两个列表并根据时间分组
|
|
|
|
|
|
|
|
Map<String, DataResultChEntity> mergedMap = Stream.concat(data1.stream(), data2.stream()) |
|
|
|
|
|
|
|
.collect(Collectors.toMap( |
|
|
|
|
|
|
|
entity -> DateUtil.dateToString(entity.getCurDate(), "yyyy-MM-dd HH:mm:ss"), |
|
|
|
|
|
|
|
entity -> entity, |
|
|
|
|
|
|
|
(entity1, entity2) -> { |
|
|
|
|
|
|
|
entity1.setCurValue(new BigDecimal(entity1.getCurValue()).add(new BigDecimal(entity2.getCurValue()) |
|
|
|
|
|
|
|
.setScale(2, RoundingMode.HALF_UP)).toString()); |
|
|
|
|
|
|
|
return entity1; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 重新赋值项目名称并创建新的列表
|
|
|
|
|
|
|
|
return mergedMap.values().stream() |
|
|
|
|
|
|
|
.map(entity -> { |
|
|
|
|
|
|
|
entity.setProjectName("河北珠江啤酒"); // 根据需要重新赋值项目名称
|
|
|
|
|
|
|
|
return entity; |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
.collect(Collectors.toList()); |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
// 合并两个列表并根据时间分组
|
|
|
|
|
|
|
|
Map<String, DataResultChEntity> mergedMap = Stream.concat(data1.stream(), data2.stream()) |
|
|
|
|
|
|
|
.collect(Collectors.toMap( |
|
|
|
|
|
|
|
entity -> DateUtil.dateToString(entity.getCurDate(), "yyyy-MM-dd HH:mm:ss"), |
|
|
|
|
|
|
|
entity -> entity, |
|
|
|
|
|
|
|
(entity1, entity2) -> { |
|
|
|
|
|
|
|
entity1.setCurValue((new BigDecimal(entity1.getCurValue()).add(new BigDecimal(entity2.getCurValue()))) |
|
|
|
|
|
|
|
.divide(new BigDecimal("2")).setScale(2, RoundingMode.FLOOR).toString()); |
|
|
|
|
|
|
|
return entity1; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 重新赋值项目名称并创建新的列表
|
|
|
|
|
|
|
|
return mergedMap.values().stream() |
|
|
|
|
|
|
|
.map(entity -> { |
|
|
|
|
|
|
|
entity.setProjectName("河北珠江啤酒"); // 根据需要重新赋值项目名称
|
|
|
|
|
|
|
|
return entity; |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
.collect(Collectors.toList()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
return dataResultFifteenMiMapper.queryDataResultFifteenMi(projectId, startDate, curDate, page, limit, registerAddr, mtNum); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -261,7 +318,7 @@ public class DataResultServiceImpl implements DataResultService { |
|
|
|
String momentCoolingStr = Constant.MOMENT_COOLING; |
|
|
|
String momentCoolingStr = Constant.MOMENT_COOLING; |
|
|
|
String outTempStr = Constant.OUT_TEMP; |
|
|
|
String outTempStr = Constant.OUT_TEMP; |
|
|
|
String intTempStr = Constant.INT_TEMP; |
|
|
|
String intTempStr = Constant.INT_TEMP; |
|
|
|
if (isHotCollection == 2) { |
|
|
|
if (isHotCollection == 2 || projectId.equals("20")) { |
|
|
|
momentCoolingStr = Constant.MOMENT_HOT; |
|
|
|
momentCoolingStr = Constant.MOMENT_HOT; |
|
|
|
outTempStr = Constant.TEMP; |
|
|
|
outTempStr = Constant.TEMP; |
|
|
|
intTempStr = Constant.PRE; |
|
|
|
intTempStr = Constant.PRE; |
|
|
@ -384,11 +441,17 @@ public class DataResultServiceImpl implements DataResultService { |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public int dataResultFiveMiCount(String projectId, String startDate, String curDate, String registerAddr, String mtNum) { |
|
|
|
public int dataResultFiveMiCount(String projectId, String startDate, String curDate, String registerAddr, String mtNum) { |
|
|
|
|
|
|
|
if ("20".equals(projectId)) { |
|
|
|
|
|
|
|
projectId = "14"; |
|
|
|
|
|
|
|
} |
|
|
|
return dataResultFiveMiMapper.dataResultFiveMiCount(projectId, startDate, curDate, registerAddr, mtNum); |
|
|
|
return dataResultFiveMiMapper.dataResultFiveMiCount(projectId, startDate, curDate, registerAddr, mtNum); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public int dataResultFifteenMiCount(String projectId, String startDate, String curDate, String registerAddr, String mtNum) { |
|
|
|
public int dataResultFifteenMiCount(String projectId, String startDate, String curDate, String registerAddr, String mtNum) { |
|
|
|
|
|
|
|
if ("20".equals(projectId)) { |
|
|
|
|
|
|
|
projectId = "14"; |
|
|
|
|
|
|
|
} |
|
|
|
return dataResultFifteenMiMapper.dataResultFifteenMiCount(projectId, startDate, curDate, registerAddr, mtNum); |
|
|
|
return dataResultFifteenMiMapper.dataResultFifteenMiCount(projectId, startDate, curDate, registerAddr, mtNum); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|