|
@@ -297,7 +297,7 @@ public class ReportServiceImpl implements IReportService {
|
|
|
map.put("end",end);
|
|
|
map.put("type","1");
|
|
|
List<Map<String, String>> DDYZLFXBList = db.getMybatisMapper(IReportBatchMapper.class).selectXlgzzData(map);
|
|
|
- //重载
|
|
|
+ //线路重载
|
|
|
Float maxZzsc = 0f;//
|
|
|
String maxXlName = "";//最长时长线路
|
|
|
Map<String,Object> ttMap = new HashMap();
|
|
@@ -329,7 +329,7 @@ public class ReportServiceImpl implements IReportService {
|
|
|
}
|
|
|
}
|
|
|
map.put("type",null);
|
|
|
- //过载
|
|
|
+ //线路过载
|
|
|
List<Map<String, String>> DDYZLFXBList2 = db.getMybatisMapper(IReportBatchMapper.class).selectXlgzzData(map);
|
|
|
Float maxZzsc2 = 0f;//
|
|
|
String maxXlName2 = "";//最长时长线路
|
|
@@ -363,9 +363,6 @@ public class ReportServiceImpl implements IReportService {
|
|
|
}
|
|
|
//配变
|
|
|
List<Map<String, String>> pbgzzList = db.getMybatisMapper(IReportBatchMapper.class).selectPbgzzData(map);
|
|
|
-
|
|
|
- Float maxPb = 0f;
|
|
|
- String maxPbName = "";
|
|
|
Map<String,Object> pbTemp = new HashMap<String,Object>();
|
|
|
Map<String,Object> pbTemp2 = new HashMap<String,Object>();
|
|
|
|
|
@@ -377,7 +374,7 @@ public class ReportServiceImpl implements IReportService {
|
|
|
int size = pbgzzList.size();
|
|
|
for (int i = 0; i < pbgzzList.size(); i++) {
|
|
|
Map<String,String> temp = pbgzzList.get(i);
|
|
|
- String fzl = temp.get("DFD9_FZL");
|
|
|
+ Object fzl = temp.get("DFD9_FZL");
|
|
|
String key = temp.get("KEYSS");
|
|
|
if(StringUtil.ObjToFloat(fzl) > 100){//过载
|
|
|
if(pbTemp.containsKey(key)){
|
|
@@ -390,7 +387,7 @@ public class ReportServiceImpl implements IReportService {
|
|
|
jo3.put("avg",ArithUtils.div(str.get("pjfzl"),str.get("xlts")));
|
|
|
ja3.add(jo3);
|
|
|
}
|
|
|
- }else{//重载
|
|
|
+ }else if(StringUtil.ObjToFloat(fzl) <= 100 && StringUtil.ObjToFloat(fzl) >= 80){//重载
|
|
|
if(pbTemp2.containsKey(key)){
|
|
|
continue;
|
|
|
}else{
|
|
@@ -404,19 +401,21 @@ public class ReportServiceImpl implements IReportService {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- rstMap.put("result2",ja2);
|
|
|
- rstMap.put("result",ja);
|
|
|
+ rstMap.put("result",ja);//线路重载
|
|
|
+ rstMap.put("result2",ja2);//线路过载
|
|
|
+ rstMap.put("result3",ja3);//配变过载
|
|
|
+ rstMap.put("result4",ja4);//配变重载
|
|
|
Map<String,Object> param = new HashMap<String,Object>();
|
|
|
param.put("maxZzsc",maxZzsc);
|
|
|
param.put("maxXlName",maxXlName);
|
|
|
+
|
|
|
param.put("maxZzsc2",maxZzsc2);
|
|
|
param.put("maxXlName2",maxXlName2);
|
|
|
//获取配变过载数据最大值
|
|
|
- this.getMaxPbByParam(ja,ja2,param);
|
|
|
+ this.getMaxPbByParam(pbgzzList,param);
|
|
|
//获取配变重载数据最大值
|
|
|
rstMap.put("descStr",this.getXlgzzDesc(ja,ja2,param));
|
|
|
-// rstMap.put("descStr2",this.getXlPbgzzDesc(ja3,ja4,param2));
|
|
|
+ rstMap.put("descStr2",this.getXlPbgzzDesc(ja3,ja4,param));
|
|
|
|
|
|
|
|
|
}
|
|
@@ -424,34 +423,162 @@ public class ReportServiceImpl implements IReportService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- *
|
|
|
- * @param ja
|
|
|
- * @param ja2
|
|
|
+ * 获取配变描述信息
|
|
|
+ * @param ja3 过载
|
|
|
+ * @param ja4 重载
|
|
|
* @param param
|
|
|
+ * @return
|
|
|
*/
|
|
|
- private void getMaxPbByParam(JSONArray ja, JSONArray ja2, Map<String, Object> param) {
|
|
|
- //获取配变数据最大值
|
|
|
- float maxPb1 = 0;
|
|
|
- String gbmc = "";
|
|
|
- String reason = "";
|
|
|
- String cs = "";
|
|
|
- if(ja != null && !ja.isEmpty()){
|
|
|
- int size = ja.size();
|
|
|
+ private List<String> getXlPbgzzDesc(JSONArray ja3, JSONArray ja4, Map<String, Object> param) {
|
|
|
+ List<String> list = new ArrayList<String>();
|
|
|
+ StringBuffer descStr = new StringBuffer();
|
|
|
+ //过载
|
|
|
+ String maxGb = StringUtil.ObjectToString(param.get("maxPbName1"));
|
|
|
+ String avg = "";
|
|
|
+ if(ja3 != null && !ja3.isEmpty()){
|
|
|
+ descStr.append("监测发现公变过载")
|
|
|
+ .append(ja3.size())
|
|
|
+ .append("个,");
|
|
|
+ int size = ja3.size();
|
|
|
+ Map<String,Object> temp = new HashMap<String,Object>();
|
|
|
for (int i = 0; i < size; i++) {
|
|
|
- JSONObject jo = ja.getJSONObject(i);
|
|
|
- float fzl = StringUtil.ObjToFloat(jo.getString("DFD10_GZSC"));
|
|
|
- if(maxPb1 < fzl){
|
|
|
- maxPb1 = fzl;
|
|
|
- gbmc = jo.getString("DFD9_GBMC");
|
|
|
- reason = jo.getString("DFD9_JTYY");
|
|
|
- cs = jo.getString("DFD9_JTJJCS");
|
|
|
-
|
|
|
+ JSONObject jo = ja3.getJSONObject(i);
|
|
|
+ String key = jo.getString("KEYSS");
|
|
|
+ if(key.equals(maxGb)){
|
|
|
+ avg = jo.getString("avg");
|
|
|
+ maxGb = jo.getString("DFD9_GBMC");
|
|
|
}
|
|
|
+ String unit = jo.getString("DFD9_UNIT");
|
|
|
+ if(temp.containsKey(unit)){
|
|
|
+ temp.put(unit,Integer.valueOf(String.valueOf(temp.get(unit))) + 1);
|
|
|
+ }else{
|
|
|
+ temp.put(unit,1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(!temp.isEmpty()){
|
|
|
+ descStr.append("分别为");
|
|
|
}
|
|
|
+ for (Map.Entry<String, Object> entry : temp.entrySet()) {
|
|
|
+ descStr.append(entry.getKey())
|
|
|
+ .append(entry.getValue())
|
|
|
+ .append("个,");
|
|
|
+ }
|
|
|
+ descStr.append("其中").append(maxGb).append(",");
|
|
|
+ descStr.append("过载时长最长" + StringUtil.ObjToFloat(param.get("maxPb1")) + "小时,平均负载率为" + avg + "%。")
|
|
|
+ .append("原因为:")
|
|
|
+ .append(param.get("reason1"))
|
|
|
+ .append("。")
|
|
|
+ .append("措施为:")
|
|
|
+ .append(param.get("cs1"))
|
|
|
+ .append("。");
|
|
|
+ descStr.append("不涉及电采暖线路。");
|
|
|
}else{
|
|
|
+ descStr.append("监测发现公变过载。");
|
|
|
+ }
|
|
|
+ //重载
|
|
|
+ StringBuffer descStr2 = new StringBuffer();
|
|
|
+ String maxGb2 = StringUtil.ObjectToString(param.get("maxPbName2"));
|
|
|
+ String avg2 = "";
|
|
|
+ if(ja4 != null && !ja4.isEmpty()){
|
|
|
+ descStr2.append("监测发现公变重载")
|
|
|
+ .append(ja4.size())
|
|
|
+ .append("个,");
|
|
|
+ int size = ja4.size();
|
|
|
+ Map<String,Object> temp = new HashMap<String,Object>();
|
|
|
+ for (int i = 0; i < size; i++) {
|
|
|
+ JSONObject jo = ja4.getJSONObject(i);
|
|
|
+ String key = jo.getString("KEYSS");
|
|
|
+ if(key.equals(maxGb2)){
|
|
|
+ avg2 = jo.getString("avg");
|
|
|
+ maxGb2 = jo.getString("DFD9_GBMC");
|
|
|
+ }
|
|
|
+ String unit = jo.getString("DFD9_UNIT");
|
|
|
+ if(temp.containsKey(unit)){
|
|
|
+ temp.put(unit,Integer.valueOf(String.valueOf(temp.get(unit))) + 1);
|
|
|
+ }else{
|
|
|
+ temp.put(unit,1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(!temp.isEmpty()){
|
|
|
+ descStr2.append("分别为");
|
|
|
+ for (Map.Entry<String, Object> entry : temp.entrySet()) {
|
|
|
+ descStr2.append(entry.getKey())
|
|
|
+ .append(entry.getValue())
|
|
|
+ .append("个,");
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
+ descStr2.append("其中").append(maxGb2).append(",");
|
|
|
+ descStr2.append("重载时长最长" + StringUtil.ObjToFloat(param.get("maxPb2")) + "小时,平均负载率为" + avg2 + "%。")
|
|
|
+ .append("原因为:")
|
|
|
+ .append(param.get("reason1"))
|
|
|
+ .append("。")
|
|
|
+ .append("措施为:")
|
|
|
+ .append(param.get("cs1"))
|
|
|
+ .append("。");
|
|
|
+ descStr2.append("不涉及电采暖线路。");
|
|
|
+ }else{
|
|
|
+ descStr2.append("监测发现公变过载。");
|
|
|
}
|
|
|
+ list.add(descStr.toString());
|
|
|
+ list.add(descStr2.toString());
|
|
|
+ return list;
|
|
|
+ }
|
|
|
|
|
|
+ /**
|
|
|
+ * 查找最大值详情
|
|
|
+ * @param list
|
|
|
+ * @param param
|
|
|
+ */
|
|
|
+ private void getMaxPbByParam(List<Map<String, String>> list, Map<String, Object> param) {
|
|
|
+ List<Map<String, String>> tempList1 = new ArrayList<Map<String, String>>();
|
|
|
+ List<Map<String, String>> tempList2 = new ArrayList<Map<String, String>>();
|
|
|
+ if(list != null && !list.isEmpty()){
|
|
|
+ for (int i = 0; i < list.size(); i++) {
|
|
|
+ Map<String, String> temp = list.get(i);
|
|
|
+ Object fzl = temp.get("DFD9_FZL");
|
|
|
+ if(StringUtil.ObjToFloat(fzl) > 100){
|
|
|
+ tempList1.add(temp);
|
|
|
+ }else if(StringUtil.ObjToFloat(fzl) <= 100 && StringUtil.ObjToFloat(fzl) >= 80){
|
|
|
+ tempList2.add(temp);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //获取配变数据最大值
|
|
|
+ float maxPb1 = 0f;
|
|
|
+ float maxPb2 = 0f;
|
|
|
+ //过载
|
|
|
+ if(tempList1 != null && !tempList1.isEmpty()){
|
|
|
+ int size = tempList1.size();
|
|
|
+ for (int i = 0; i < size; i++) {
|
|
|
+ Map<String, String> temp = tempList1.get(i);
|
|
|
+ float fzl = StringUtil.ObjToFloat(temp.get("DFD9_GZSC"));
|
|
|
+ if(maxPb1 < fzl){
|
|
|
+ maxPb1 = fzl;
|
|
|
+ param.put("gbmc1",temp.get("DFD9_GBMC"));//公变名称
|
|
|
+ param.put("reason1",temp.get("DFD9_JTYY"));//具体原因
|
|
|
+ param.put("cs1",temp.get("DFD9_JTJJCS"));//具体解决措施
|
|
|
+ param.put("maxPbName1",temp.get("KEYSS"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ param.put("maxPb1",maxPb1);
|
|
|
+ }
|
|
|
+ //重载
|
|
|
+ if(tempList2 != null && !tempList2.isEmpty()){
|
|
|
+ int size = tempList2.size();
|
|
|
+ for (int i = 0; i < size; i++) {
|
|
|
+ Map<String, String> temp = tempList2.get(i);
|
|
|
+ float fzl = StringUtil.ObjToFloat(temp.get("DFD9_ZZSC"));
|
|
|
+ if(maxPb2 < fzl){
|
|
|
+ maxPb2 = fzl;
|
|
|
+ param.put("gbmc2",temp.get("DFD9_GBMC"));//公变名称
|
|
|
+ param.put("reason2",temp.get("DFD9_JTYY"));//具体原因
|
|
|
+ param.put("cs2",temp.get("DFD9_JTJJCS"));//具体解决措施
|
|
|
+ param.put("maxPbName2",temp.get("KEYSS"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ param.put("maxPb2",maxPb2);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -474,19 +601,19 @@ public class ReportServiceImpl implements IReportService {
|
|
|
int index = 0;
|
|
|
for (int i = 0; i < size; i++) {
|
|
|
Map<String,String> temp = pbgzzList.get(i);
|
|
|
- String fzl = temp.get("DFD10_FZL");
|
|
|
+ Object fzl = temp.get("DFD9_FZL");
|
|
|
if("1".equals(type) && StringUtil.ObjToFloat(fzl) > 100){//过载
|
|
|
String tempkey = temp.get("KEYSS");//单位
|
|
|
if(tempkey.equals(key)){
|
|
|
- sum = ArithUtils.add(String.valueOf(sum),String.valueOf(temp.get("DFD10_GZSC")));
|
|
|
- avg = ArithUtils.add(String.valueOf(avg),String.valueOf(temp.get("DFD10_FZL")));
|
|
|
+ sum = ArithUtils.add(String.valueOf(sum),String.valueOf(temp.get("DFD9_GZSC")));
|
|
|
+ avg = ArithUtils.add(String.valueOf(avg),String.valueOf(temp.get("DFD9_FZL")));
|
|
|
index ++;
|
|
|
}
|
|
|
}else if("2".equals(type) && StringUtil.ObjToFloat(fzl) <= 100 && StringUtil.ObjToFloat(fzl) >= 80) {//重载
|
|
|
String tempkey = temp.get("KEYSS");//单位
|
|
|
if(tempkey.equals(key)){
|
|
|
- sum = ArithUtils.add(String.valueOf(sum),String.valueOf(temp.get("DFD10_GZSC")));
|
|
|
- avg = ArithUtils.add(String.valueOf(avg),String.valueOf(temp.get("DFD10_FZL")));
|
|
|
+ sum = ArithUtils.add(String.valueOf(sum),String.valueOf(temp.get("DFD9_ZZSC")));
|
|
|
+ avg = ArithUtils.add(String.valueOf(avg),String.valueOf(temp.get("DFD9_FZL")));
|
|
|
index ++;
|
|
|
}
|
|
|
}
|