diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/CountByStateDataHandlerAdapter.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/CountByStateDataHandlerAdapter.java new file mode 100644 index 0000000..fb06476 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/CountByStateDataHandlerAdapter.java @@ -0,0 +1,92 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.system.model.TableViewConfig; +import com.casic.missiles.modular.system.tools.DataSqlUtil; +import org.springframework.stereotype.Component; + +import java.util.*; + +/** + * @ClassName HttpDataHandler + * @Description 历年状态项目数量 + * @Author lwh + * @Date 2021/1/21 16:31 + * @Version 1.0 + */ +@Component +public class CountByStateDataHandlerAdapter extends AbstractDataHandlerAdapter { + + + private static String[] typeArr = {"未启动", "进行中", "已完成", "已延期", "已归档"}; + + @Override + public Object processData(TableViewConfig currView) { + + + Map mapObj = (Map) DataSqlUtil.processData(currView); + List> mapList = new ArrayList<>(); + + if (ToolUtil.isNotEmpty(mapObj)) { + + for (Map.Entry entry : mapObj.entrySet()) { + Map map = new HashMap<>(); + String mapKey = entry.getKey() + ""; + + switch (mapKey) { + case "NOT_START_NUM": + map.put("type", "未启动"); + map.put("value", entry.getValue()); + break; + case "PROGRESS_NUM": + map.put("type", "进行中"); + map.put("value", entry.getValue()); + break; + case "COMPLETED_NUM": + map.put("type", "已完成"); + map.put("value", entry.getValue()); + break; + case "POSTPONED_NUM": + map.put("type", "已延期"); + map.put("value", entry.getValue()); + break; + case "FILED_NUM": + map.put("type", "已归档"); + map.put("value", entry.getValue()); + break; + default: + break; + } + if (ToolUtil.isNotEmpty(map)) + mapList.add(map); + } + } else { + for (int i = 0; i < typeArr.length; i++) { + Map map = new HashMap<>(); + map.put("type", typeArr[i]); + map.put("value", 0); + mapList.add(map); + } + } + + return mapList; + } + + /** + * 参数处理 + * + * @param params 传入参数 + */ + private void processParams(String[] params) { + switch (params[0]) { + case "day": + if (params.length == 1) { + + } + break; + } + Calendar cal = Calendar.getInstance(); + + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/CountByStateDataHandlerAdapter.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/CountByStateDataHandlerAdapter.java new file mode 100644 index 0000000..fb06476 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/CountByStateDataHandlerAdapter.java @@ -0,0 +1,92 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.system.model.TableViewConfig; +import com.casic.missiles.modular.system.tools.DataSqlUtil; +import org.springframework.stereotype.Component; + +import java.util.*; + +/** + * @ClassName HttpDataHandler + * @Description 历年状态项目数量 + * @Author lwh + * @Date 2021/1/21 16:31 + * @Version 1.0 + */ +@Component +public class CountByStateDataHandlerAdapter extends AbstractDataHandlerAdapter { + + + private static String[] typeArr = {"未启动", "进行中", "已完成", "已延期", "已归档"}; + + @Override + public Object processData(TableViewConfig currView) { + + + Map mapObj = (Map) DataSqlUtil.processData(currView); + List> mapList = new ArrayList<>(); + + if (ToolUtil.isNotEmpty(mapObj)) { + + for (Map.Entry entry : mapObj.entrySet()) { + Map map = new HashMap<>(); + String mapKey = entry.getKey() + ""; + + switch (mapKey) { + case "NOT_START_NUM": + map.put("type", "未启动"); + map.put("value", entry.getValue()); + break; + case "PROGRESS_NUM": + map.put("type", "进行中"); + map.put("value", entry.getValue()); + break; + case "COMPLETED_NUM": + map.put("type", "已完成"); + map.put("value", entry.getValue()); + break; + case "POSTPONED_NUM": + map.put("type", "已延期"); + map.put("value", entry.getValue()); + break; + case "FILED_NUM": + map.put("type", "已归档"); + map.put("value", entry.getValue()); + break; + default: + break; + } + if (ToolUtil.isNotEmpty(map)) + mapList.add(map); + } + } else { + for (int i = 0; i < typeArr.length; i++) { + Map map = new HashMap<>(); + map.put("type", typeArr[i]); + map.put("value", 0); + mapList.add(map); + } + } + + return mapList; + } + + /** + * 参数处理 + * + * @param params 传入参数 + */ + private void processParams(String[] params) { + switch (params[0]) { + case "day": + if (params.length == 1) { + + } + break; + } + Calendar cal = Calendar.getInstance(); + + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/CountByYearDataHandlerAdapter.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/CountByYearDataHandlerAdapter.java new file mode 100644 index 0000000..2fecf4d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/CountByYearDataHandlerAdapter.java @@ -0,0 +1,77 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.system.model.TableViewConfig; +import com.casic.missiles.modular.system.tools.DataSqlUtil; +import com.casic.missiles.modular.system.util.PercentUtils; +import org.springframework.stereotype.Component; + +import java.math.BigDecimal; +import java.util.*; + +/** + * @ClassName HttpDataHandler + * @Description 历年各类项目数量 + * @Author lwh + * @Date 2021/1/21 16:31 + * @Version 1.0 + */ +@Component +public class CountByYearDataHandlerAdapter extends AbstractDataHandlerAdapter { + @Override + public Object processData(TableViewConfig currView) { + +// String[] params =currView.getParams(); + List yearList = new ArrayList<>(); + List> objectList = (List>) DataSqlUtil.processData(currView); + List> mapList = new ArrayList<>(); + + if (ToolUtil.isNotEmpty(objectList)) { + for (Map objectMap : objectList) { + String year = objectMap.get("year") + ""; + if (!yearList.contains(year)) { + yearList.add(year); + } + } + Collections.sort(yearList); + } + if (ToolUtil.isNotEmpty(yearList)) { + for (String year : yearList) { + Map dataMap = new HashMap<>(); + List> dataList = new ArrayList<>(); + dataMap.put("year", year); + for (Map objectMap : objectList) { + String yearData = objectMap.get("year") + ""; + if (year.equals(yearData)) { + Map map = new HashMap<>(); + map.put("type", objectMap.get("type")); + map.put("value", objectMap.get("value")); + dataList.add(map); + } + } + dataMap.put("data", dataList); + mapList.add(dataMap); + } + } + return mapList; + } + + /** + * 参数处理 + * + * @param params 传入参数 + */ + private void processParams(String[] params) { + switch (params[0]) { + case "day": + if (params.length == 1) { + + } + break; + } + Calendar cal = Calendar.getInstance(); + + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/CountByStateDataHandlerAdapter.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/CountByStateDataHandlerAdapter.java new file mode 100644 index 0000000..fb06476 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/CountByStateDataHandlerAdapter.java @@ -0,0 +1,92 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.system.model.TableViewConfig; +import com.casic.missiles.modular.system.tools.DataSqlUtil; +import org.springframework.stereotype.Component; + +import java.util.*; + +/** + * @ClassName HttpDataHandler + * @Description 历年状态项目数量 + * @Author lwh + * @Date 2021/1/21 16:31 + * @Version 1.0 + */ +@Component +public class CountByStateDataHandlerAdapter extends AbstractDataHandlerAdapter { + + + private static String[] typeArr = {"未启动", "进行中", "已完成", "已延期", "已归档"}; + + @Override + public Object processData(TableViewConfig currView) { + + + Map mapObj = (Map) DataSqlUtil.processData(currView); + List> mapList = new ArrayList<>(); + + if (ToolUtil.isNotEmpty(mapObj)) { + + for (Map.Entry entry : mapObj.entrySet()) { + Map map = new HashMap<>(); + String mapKey = entry.getKey() + ""; + + switch (mapKey) { + case "NOT_START_NUM": + map.put("type", "未启动"); + map.put("value", entry.getValue()); + break; + case "PROGRESS_NUM": + map.put("type", "进行中"); + map.put("value", entry.getValue()); + break; + case "COMPLETED_NUM": + map.put("type", "已完成"); + map.put("value", entry.getValue()); + break; + case "POSTPONED_NUM": + map.put("type", "已延期"); + map.put("value", entry.getValue()); + break; + case "FILED_NUM": + map.put("type", "已归档"); + map.put("value", entry.getValue()); + break; + default: + break; + } + if (ToolUtil.isNotEmpty(map)) + mapList.add(map); + } + } else { + for (int i = 0; i < typeArr.length; i++) { + Map map = new HashMap<>(); + map.put("type", typeArr[i]); + map.put("value", 0); + mapList.add(map); + } + } + + return mapList; + } + + /** + * 参数处理 + * + * @param params 传入参数 + */ + private void processParams(String[] params) { + switch (params[0]) { + case "day": + if (params.length == 1) { + + } + break; + } + Calendar cal = Calendar.getInstance(); + + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/CountByYearDataHandlerAdapter.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/CountByYearDataHandlerAdapter.java new file mode 100644 index 0000000..2fecf4d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/CountByYearDataHandlerAdapter.java @@ -0,0 +1,77 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.system.model.TableViewConfig; +import com.casic.missiles.modular.system.tools.DataSqlUtil; +import com.casic.missiles.modular.system.util.PercentUtils; +import org.springframework.stereotype.Component; + +import java.math.BigDecimal; +import java.util.*; + +/** + * @ClassName HttpDataHandler + * @Description 历年各类项目数量 + * @Author lwh + * @Date 2021/1/21 16:31 + * @Version 1.0 + */ +@Component +public class CountByYearDataHandlerAdapter extends AbstractDataHandlerAdapter { + @Override + public Object processData(TableViewConfig currView) { + +// String[] params =currView.getParams(); + List yearList = new ArrayList<>(); + List> objectList = (List>) DataSqlUtil.processData(currView); + List> mapList = new ArrayList<>(); + + if (ToolUtil.isNotEmpty(objectList)) { + for (Map objectMap : objectList) { + String year = objectMap.get("year") + ""; + if (!yearList.contains(year)) { + yearList.add(year); + } + } + Collections.sort(yearList); + } + if (ToolUtil.isNotEmpty(yearList)) { + for (String year : yearList) { + Map dataMap = new HashMap<>(); + List> dataList = new ArrayList<>(); + dataMap.put("year", year); + for (Map objectMap : objectList) { + String yearData = objectMap.get("year") + ""; + if (year.equals(yearData)) { + Map map = new HashMap<>(); + map.put("type", objectMap.get("type")); + map.put("value", objectMap.get("value")); + dataList.add(map); + } + } + dataMap.put("data", dataList); + mapList.add(dataMap); + } + } + return mapList; + } + + /** + * 参数处理 + * + * @param params 传入参数 + */ + private void processParams(String[] params) { + switch (params[0]) { + case "day": + if (params.length == 1) { + + } + break; + } + Calendar cal = Calendar.getInstance(); + + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/ProjectCountDataHandlerAdapter.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/ProjectCountDataHandlerAdapter.java new file mode 100644 index 0000000..9e4963e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/ProjectCountDataHandlerAdapter.java @@ -0,0 +1,69 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.modular.system.model.TableViewConfig; +import com.casic.missiles.modular.system.tools.DataSqlUtil; +import com.casic.missiles.modular.system.util.PercentUtils; +import org.springframework.stereotype.Component; + +import java.math.BigDecimal; +import java.util.Calendar; +import java.util.HashMap; +import java.util.Map; + +/** + * @ClassName HttpDataHandler + * @Description 项目总数环比计算 + * @Author lwh + * @Date 2021/1/21 16:31 + * @Version 1.0 + */ +@Component +public class ProjectCountDataHandlerAdapter extends AbstractDataHandlerAdapter { + @Override + public Object processData(TableViewConfig currView) { + + + + String value1="0",value2="0"; + Map object = (Map)DataSqlUtil.processData(currView); + if(object!=null){ + value1= object.get("total")+""; + + } + + String[] params =currView.getParams(); + params[0]= (Long.valueOf(params[0])-1)+""; + //获取上一年结果 + Map object1 = (Map)DataSqlUtil.processData(currView); + if(object1!=null){ + value2= object1.get("total")+""; + } + + String radio= PercentUtils.percentBigDecimal(new BigDecimal(value1),new BigDecimal(value2)); + + Map map = new HashMap<>(); + map.put("total",Double.valueOf(value1)); + map.put("radio",radio); + + return ResponseData.success(map); + } + + /** + * 参数处理 + * + * @param params 传入参数 + */ + private void processParams(String[] params) { + switch (params[0]) { + case "day": + if (params.length == 1) { + + } + break; + } + Calendar cal = Calendar.getInstance(); + + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/CountByStateDataHandlerAdapter.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/CountByStateDataHandlerAdapter.java new file mode 100644 index 0000000..fb06476 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/CountByStateDataHandlerAdapter.java @@ -0,0 +1,92 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.system.model.TableViewConfig; +import com.casic.missiles.modular.system.tools.DataSqlUtil; +import org.springframework.stereotype.Component; + +import java.util.*; + +/** + * @ClassName HttpDataHandler + * @Description 历年状态项目数量 + * @Author lwh + * @Date 2021/1/21 16:31 + * @Version 1.0 + */ +@Component +public class CountByStateDataHandlerAdapter extends AbstractDataHandlerAdapter { + + + private static String[] typeArr = {"未启动", "进行中", "已完成", "已延期", "已归档"}; + + @Override + public Object processData(TableViewConfig currView) { + + + Map mapObj = (Map) DataSqlUtil.processData(currView); + List> mapList = new ArrayList<>(); + + if (ToolUtil.isNotEmpty(mapObj)) { + + for (Map.Entry entry : mapObj.entrySet()) { + Map map = new HashMap<>(); + String mapKey = entry.getKey() + ""; + + switch (mapKey) { + case "NOT_START_NUM": + map.put("type", "未启动"); + map.put("value", entry.getValue()); + break; + case "PROGRESS_NUM": + map.put("type", "进行中"); + map.put("value", entry.getValue()); + break; + case "COMPLETED_NUM": + map.put("type", "已完成"); + map.put("value", entry.getValue()); + break; + case "POSTPONED_NUM": + map.put("type", "已延期"); + map.put("value", entry.getValue()); + break; + case "FILED_NUM": + map.put("type", "已归档"); + map.put("value", entry.getValue()); + break; + default: + break; + } + if (ToolUtil.isNotEmpty(map)) + mapList.add(map); + } + } else { + for (int i = 0; i < typeArr.length; i++) { + Map map = new HashMap<>(); + map.put("type", typeArr[i]); + map.put("value", 0); + mapList.add(map); + } + } + + return mapList; + } + + /** + * 参数处理 + * + * @param params 传入参数 + */ + private void processParams(String[] params) { + switch (params[0]) { + case "day": + if (params.length == 1) { + + } + break; + } + Calendar cal = Calendar.getInstance(); + + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/CountByYearDataHandlerAdapter.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/CountByYearDataHandlerAdapter.java new file mode 100644 index 0000000..2fecf4d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/CountByYearDataHandlerAdapter.java @@ -0,0 +1,77 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.system.model.TableViewConfig; +import com.casic.missiles.modular.system.tools.DataSqlUtil; +import com.casic.missiles.modular.system.util.PercentUtils; +import org.springframework.stereotype.Component; + +import java.math.BigDecimal; +import java.util.*; + +/** + * @ClassName HttpDataHandler + * @Description 历年各类项目数量 + * @Author lwh + * @Date 2021/1/21 16:31 + * @Version 1.0 + */ +@Component +public class CountByYearDataHandlerAdapter extends AbstractDataHandlerAdapter { + @Override + public Object processData(TableViewConfig currView) { + +// String[] params =currView.getParams(); + List yearList = new ArrayList<>(); + List> objectList = (List>) DataSqlUtil.processData(currView); + List> mapList = new ArrayList<>(); + + if (ToolUtil.isNotEmpty(objectList)) { + for (Map objectMap : objectList) { + String year = objectMap.get("year") + ""; + if (!yearList.contains(year)) { + yearList.add(year); + } + } + Collections.sort(yearList); + } + if (ToolUtil.isNotEmpty(yearList)) { + for (String year : yearList) { + Map dataMap = new HashMap<>(); + List> dataList = new ArrayList<>(); + dataMap.put("year", year); + for (Map objectMap : objectList) { + String yearData = objectMap.get("year") + ""; + if (year.equals(yearData)) { + Map map = new HashMap<>(); + map.put("type", objectMap.get("type")); + map.put("value", objectMap.get("value")); + dataList.add(map); + } + } + dataMap.put("data", dataList); + mapList.add(dataMap); + } + } + return mapList; + } + + /** + * 参数处理 + * + * @param params 传入参数 + */ + private void processParams(String[] params) { + switch (params[0]) { + case "day": + if (params.length == 1) { + + } + break; + } + Calendar cal = Calendar.getInstance(); + + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/ProjectCountDataHandlerAdapter.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/ProjectCountDataHandlerAdapter.java new file mode 100644 index 0000000..9e4963e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/ProjectCountDataHandlerAdapter.java @@ -0,0 +1,69 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.modular.system.model.TableViewConfig; +import com.casic.missiles.modular.system.tools.DataSqlUtil; +import com.casic.missiles.modular.system.util.PercentUtils; +import org.springframework.stereotype.Component; + +import java.math.BigDecimal; +import java.util.Calendar; +import java.util.HashMap; +import java.util.Map; + +/** + * @ClassName HttpDataHandler + * @Description 项目总数环比计算 + * @Author lwh + * @Date 2021/1/21 16:31 + * @Version 1.0 + */ +@Component +public class ProjectCountDataHandlerAdapter extends AbstractDataHandlerAdapter { + @Override + public Object processData(TableViewConfig currView) { + + + + String value1="0",value2="0"; + Map object = (Map)DataSqlUtil.processData(currView); + if(object!=null){ + value1= object.get("total")+""; + + } + + String[] params =currView.getParams(); + params[0]= (Long.valueOf(params[0])-1)+""; + //获取上一年结果 + Map object1 = (Map)DataSqlUtil.processData(currView); + if(object1!=null){ + value2= object1.get("total")+""; + } + + String radio= PercentUtils.percentBigDecimal(new BigDecimal(value1),new BigDecimal(value2)); + + Map map = new HashMap<>(); + map.put("total",Double.valueOf(value1)); + map.put("radio",radio); + + return ResponseData.success(map); + } + + /** + * 参数处理 + * + * @param params 传入参数 + */ + private void processParams(String[] params) { + switch (params[0]) { + case "day": + if (params.length == 1) { + + } + break; + } + Calendar cal = Calendar.getInstance(); + + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/ProjectInvestmentDataHandlerAdapter.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/ProjectInvestmentDataHandlerAdapter.java new file mode 100644 index 0000000..cdd99c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/ProjectInvestmentDataHandlerAdapter.java @@ -0,0 +1,69 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.modular.system.model.TableViewConfig; +import com.casic.missiles.modular.system.tools.DataSqlUtil; +import com.casic.missiles.modular.system.util.PercentUtils; +import org.springframework.stereotype.Component; + +import java.math.BigDecimal; +import java.util.Calendar; +import java.util.HashMap; +import java.util.Map; + +/** + * @ClassName HttpDataHandler + * @Description 项目总投资环比计算 + * @Author lwh + * @Date 2021/1/21 16:31 + * @Version 1.0 + */ +@Component +public class ProjectInvestmentDataHandlerAdapter extends AbstractDataHandlerAdapter { + @Override + public Object processData(TableViewConfig currView) { + + + + String value1="0",value2="0"; + Map object = (Map)DataSqlUtil.processData(currView); + if(object!=null){ + value1= object.get("total")+""; + + } + + String[] params =currView.getParams(); + params[0]= (Long.valueOf(params[0])-1)+""; + //获取上一年结果 + Map object1 = (Map)DataSqlUtil.processData(currView); + if(object1!=null){ + value2= object1.get("total")+""; + } + + String radio= PercentUtils.percentBigDecimal(new BigDecimal(value1),new BigDecimal(value2)); + + Map map = new HashMap<>(); + map.put("total",Double.valueOf(value1)/10000); + map.put("radio",radio); + + return map; + } + + /** + * 参数处理 + * + * @param params 传入参数 + */ + private void processParams(String[] params) { + switch (params[0]) { + case "day": + if (params.length == 1) { + + } + break; + } + Calendar cal = Calendar.getInstance(); + + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/CountByStateDataHandlerAdapter.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/CountByStateDataHandlerAdapter.java new file mode 100644 index 0000000..fb06476 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/CountByStateDataHandlerAdapter.java @@ -0,0 +1,92 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.system.model.TableViewConfig; +import com.casic.missiles.modular.system.tools.DataSqlUtil; +import org.springframework.stereotype.Component; + +import java.util.*; + +/** + * @ClassName HttpDataHandler + * @Description 历年状态项目数量 + * @Author lwh + * @Date 2021/1/21 16:31 + * @Version 1.0 + */ +@Component +public class CountByStateDataHandlerAdapter extends AbstractDataHandlerAdapter { + + + private static String[] typeArr = {"未启动", "进行中", "已完成", "已延期", "已归档"}; + + @Override + public Object processData(TableViewConfig currView) { + + + Map mapObj = (Map) DataSqlUtil.processData(currView); + List> mapList = new ArrayList<>(); + + if (ToolUtil.isNotEmpty(mapObj)) { + + for (Map.Entry entry : mapObj.entrySet()) { + Map map = new HashMap<>(); + String mapKey = entry.getKey() + ""; + + switch (mapKey) { + case "NOT_START_NUM": + map.put("type", "未启动"); + map.put("value", entry.getValue()); + break; + case "PROGRESS_NUM": + map.put("type", "进行中"); + map.put("value", entry.getValue()); + break; + case "COMPLETED_NUM": + map.put("type", "已完成"); + map.put("value", entry.getValue()); + break; + case "POSTPONED_NUM": + map.put("type", "已延期"); + map.put("value", entry.getValue()); + break; + case "FILED_NUM": + map.put("type", "已归档"); + map.put("value", entry.getValue()); + break; + default: + break; + } + if (ToolUtil.isNotEmpty(map)) + mapList.add(map); + } + } else { + for (int i = 0; i < typeArr.length; i++) { + Map map = new HashMap<>(); + map.put("type", typeArr[i]); + map.put("value", 0); + mapList.add(map); + } + } + + return mapList; + } + + /** + * 参数处理 + * + * @param params 传入参数 + */ + private void processParams(String[] params) { + switch (params[0]) { + case "day": + if (params.length == 1) { + + } + break; + } + Calendar cal = Calendar.getInstance(); + + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/CountByYearDataHandlerAdapter.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/CountByYearDataHandlerAdapter.java new file mode 100644 index 0000000..2fecf4d --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/CountByYearDataHandlerAdapter.java @@ -0,0 +1,77 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.system.model.TableViewConfig; +import com.casic.missiles.modular.system.tools.DataSqlUtil; +import com.casic.missiles.modular.system.util.PercentUtils; +import org.springframework.stereotype.Component; + +import java.math.BigDecimal; +import java.util.*; + +/** + * @ClassName HttpDataHandler + * @Description 历年各类项目数量 + * @Author lwh + * @Date 2021/1/21 16:31 + * @Version 1.0 + */ +@Component +public class CountByYearDataHandlerAdapter extends AbstractDataHandlerAdapter { + @Override + public Object processData(TableViewConfig currView) { + +// String[] params =currView.getParams(); + List yearList = new ArrayList<>(); + List> objectList = (List>) DataSqlUtil.processData(currView); + List> mapList = new ArrayList<>(); + + if (ToolUtil.isNotEmpty(objectList)) { + for (Map objectMap : objectList) { + String year = objectMap.get("year") + ""; + if (!yearList.contains(year)) { + yearList.add(year); + } + } + Collections.sort(yearList); + } + if (ToolUtil.isNotEmpty(yearList)) { + for (String year : yearList) { + Map dataMap = new HashMap<>(); + List> dataList = new ArrayList<>(); + dataMap.put("year", year); + for (Map objectMap : objectList) { + String yearData = objectMap.get("year") + ""; + if (year.equals(yearData)) { + Map map = new HashMap<>(); + map.put("type", objectMap.get("type")); + map.put("value", objectMap.get("value")); + dataList.add(map); + } + } + dataMap.put("data", dataList); + mapList.add(dataMap); + } + } + return mapList; + } + + /** + * 参数处理 + * + * @param params 传入参数 + */ + private void processParams(String[] params) { + switch (params[0]) { + case "day": + if (params.length == 1) { + + } + break; + } + Calendar cal = Calendar.getInstance(); + + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/ProjectCountDataHandlerAdapter.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/ProjectCountDataHandlerAdapter.java new file mode 100644 index 0000000..9e4963e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/ProjectCountDataHandlerAdapter.java @@ -0,0 +1,69 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.modular.system.model.TableViewConfig; +import com.casic.missiles.modular.system.tools.DataSqlUtil; +import com.casic.missiles.modular.system.util.PercentUtils; +import org.springframework.stereotype.Component; + +import java.math.BigDecimal; +import java.util.Calendar; +import java.util.HashMap; +import java.util.Map; + +/** + * @ClassName HttpDataHandler + * @Description 项目总数环比计算 + * @Author lwh + * @Date 2021/1/21 16:31 + * @Version 1.0 + */ +@Component +public class ProjectCountDataHandlerAdapter extends AbstractDataHandlerAdapter { + @Override + public Object processData(TableViewConfig currView) { + + + + String value1="0",value2="0"; + Map object = (Map)DataSqlUtil.processData(currView); + if(object!=null){ + value1= object.get("total")+""; + + } + + String[] params =currView.getParams(); + params[0]= (Long.valueOf(params[0])-1)+""; + //获取上一年结果 + Map object1 = (Map)DataSqlUtil.processData(currView); + if(object1!=null){ + value2= object1.get("total")+""; + } + + String radio= PercentUtils.percentBigDecimal(new BigDecimal(value1),new BigDecimal(value2)); + + Map map = new HashMap<>(); + map.put("total",Double.valueOf(value1)); + map.put("radio",radio); + + return ResponseData.success(map); + } + + /** + * 参数处理 + * + * @param params 传入参数 + */ + private void processParams(String[] params) { + switch (params[0]) { + case "day": + if (params.length == 1) { + + } + break; + } + Calendar cal = Calendar.getInstance(); + + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/handler/ProjectInvestmentDataHandlerAdapter.java b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/ProjectInvestmentDataHandlerAdapter.java new file mode 100644 index 0000000..cdd99c5 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/handler/ProjectInvestmentDataHandlerAdapter.java @@ -0,0 +1,69 @@ +package com.casic.missiles.modular.system.handler; + +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.modular.system.model.TableViewConfig; +import com.casic.missiles.modular.system.tools.DataSqlUtil; +import com.casic.missiles.modular.system.util.PercentUtils; +import org.springframework.stereotype.Component; + +import java.math.BigDecimal; +import java.util.Calendar; +import java.util.HashMap; +import java.util.Map; + +/** + * @ClassName HttpDataHandler + * @Description 项目总投资环比计算 + * @Author lwh + * @Date 2021/1/21 16:31 + * @Version 1.0 + */ +@Component +public class ProjectInvestmentDataHandlerAdapter extends AbstractDataHandlerAdapter { + @Override + public Object processData(TableViewConfig currView) { + + + + String value1="0",value2="0"; + Map object = (Map)DataSqlUtil.processData(currView); + if(object!=null){ + value1= object.get("total")+""; + + } + + String[] params =currView.getParams(); + params[0]= (Long.valueOf(params[0])-1)+""; + //获取上一年结果 + Map object1 = (Map)DataSqlUtil.processData(currView); + if(object1!=null){ + value2= object1.get("total")+""; + } + + String radio= PercentUtils.percentBigDecimal(new BigDecimal(value1),new BigDecimal(value2)); + + Map map = new HashMap<>(); + map.put("total",Double.valueOf(value1)/10000); + map.put("radio",radio); + + return map; + } + + /** + * 参数处理 + * + * @param params 传入参数 + */ + private void processParams(String[] params) { + switch (params[0]) { + case "day": + if (params.length == 1) { + + } + break; + } + Calendar cal = Calendar.getInstance(); + + } + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/tools/DataSqlUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/tools/DataSqlUtil.java new file mode 100644 index 0000000..efc2aed --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/tools/DataSqlUtil.java @@ -0,0 +1,26 @@ +package com.casic.missiles.modular.system.tools; + +import com.baomidou.mybatisplus.mapper.SqlRunner; +import com.casic.missiles.modular.system.model.TableViewConfig; + +import java.util.List; +import java.util.Map; + +public class DataSqlUtil { + public static Object processData(TableViewConfig currView) { + Object obj = null; + List> maps = SqlRunner.db().selectList(currView.getSqlContent(), currView.getParams()); + + switch (currView.getResType()) { + case "1": + if (maps.size() > 0) { + obj = maps.get(0); + } + break; + default: + obj = maps; + break; + } + return obj; + } +}