diff --git a/docs/开发20240220/202404/山海(1).docx b/docs/开发20240220/202404/山海(1).docx new file mode 100644 index 0000000..3b342ff --- /dev/null +++ b/docs/开发20240220/202404/山海(1).docx @@ -0,0 +1,12 @@ +1. 电站列表新增字段:功率、客户名称、客户电话、电站地址 +2. 电站列表新增一个按这五个状态筛选及地区可多选 +3. 电站列表筛选时能统计出(各地区及多选地区)总功率,电站数量 +4. 总数取有效电站数量个数及功率数(目前取的全部) + + +三个报表是否放在系统上(不确定) + + 监管仓库存总数量、总金额 + 数据抓取,不同节点(交货、完工、并网、运营)的全国数据、铁发数据(个数及功率数) + 上房顶数量,功率(全国数据、铁发数据) + 企业自持电站数量、功率,铁发验收电站数量、功率数,未验收功率数 diff --git a/docs/开发20240220/202404/山海功能完善20240418.docx b/docs/开发20240220/202404/山海功能完善20240418.docx new file mode 100644 index 0000000..64c53b3 --- /dev/null +++ b/docs/开发20240220/202404/山海功能完善20240418.docx @@ -0,0 +1,59 @@ +1. 电站列表新增字段:功率、客户名称、客户电话、电站地址 +2. 电站列表新增一个按这五个状态筛选及地区可多选 +3. 电站列表筛选时能统计出(各地区及多选地区)总功率,电站数量 +4. 总数取有效电站数量个数及功率数(目前取的全部) + + +三个报表是否放在系统上(不确定) + + 监管仓库存总数量、总金额 + 数据抓取,不同节点(交货、完工、并网、运营)的全国数据、铁发数据(个数及功率数) + 上房顶数量,功率(全国数据、铁发数据) + 企业自持电站数量、功率,铁发验收电站数量、功率数,未验收功率数 + + + + +修改方案 + 电站列表 + 电站列表的数据由原来通过接口获取改为从本地数据库获取,本地数据库中电站列表数据为每天凌晨2点从山海系统中抓取获得,所以数据时间为前一天数据。以上1、2、3、6、7、8的数据都从这个数据库表中依据不同条件筛选和统计。 + 该数据对应山海后台系统的"户用电站"-"有效电站数据",参照下图 + + 该页面记录总数为9208条,通过接口获得数据为9227条,相差19条的原因无法确定,可忽略。 + 1.电站列表新增字段:功率、客户名称、客户电话、电站地址 + 数据表中有对应字段,可直接展示 + 2.电站列表新增一个按这五个状态筛选及地区可多选 + 筛选条件的五个状态,需要对应到山海系统中的流程状态,对应流程名和流程编号如下图所示 + + 之前与山海出报表的人员沟通,5个阶段对应的流程如下: + + 这2组数据存在偏差(数据不完全对应、编号不对应),数据库中存储的是流程名字,所以目前是根据流程名进行归类,数据值存在偏差,需要进一点核对。 + 地区可多选,应该是指对应山海系统中的区域项目(数据分组),如下图 + + 数据库中没有区域项目ID,所以通过like方式获取data_id字段的值,如下图 + + + 3.电站列表筛选时能统计出(各地区及多选地区)总功率,电站数量 + 查询的是电站列表,所以电站数量就是查询出来的总记录数;总功率需要单独增加查询脚本来获取。可以将获取到的总功率和电站数量显示在表头部分,不用监管人员再手动统计。根据第2条中加入查询条件,可统计出不同条件下的数据。 + 6、数据抓取,不同节点(交货、完工、并网、运营)的全国数据、铁发数据(个数及功率数) + 铁发数据目前就理解为区域项目为山东曲阜、河南安阳、庄河整县这三个地区的数据(参照第2条区域项目部分)。 + 统计的数据以第3条的方式展示。 + 7、上房顶数量,功率(全国数据、铁发数据) + 目前不知道上房顶数量依据什么条件筛选。 + 8、企业自持电站数量、功率,铁发验收电站数量、功率数,未验收功率数 + 企业自持电站数量和铁发验收电站数量、未验收功率数这3个都不知道筛选条件。 + + 统计图表 + 4.总数取有效电站数量个数及功率数(目前取的全部) +首页面的统计图表目前是完全依照山海的图表及数据获取和展示的,展示的是山海系统中有效电站页面的统计图,如下所示 + +这个数据有9千多条,银行认为这个值不对,应该是4千多条,经过比对山海系统中的图表,计划用山系系统中的"发电状态情况"和"地区数据统计"这2个图表替换。 + + + 库存数据 +5、监管仓库存总数量、总金额 +山海的库存日报表之前做过,是在手机端展示的,如下图 + +参照之前的统计对应在PC端设计展示界面及数据接口,另外,之前的仓库是写死在程序里的,目前仓库信息有变化,需要重新调整。 + + diff --git a/docs/开发20240220/202404/山海各月库存及出入库表.xlsx b/docs/开发20240220/202404/山海各月库存及出入库表.xlsx new file mode 100644 index 0000000..f595454 Binary files /dev/null and b/docs/开发20240220/202404/山海各月库存及出入库表.xlsx differ diff --git a/docs/开发20240220/202404/山海新能动产情况分析.docx b/docs/开发20240220/202404/山海新能动产情况分析.docx new file mode 100644 index 0000000..a4857ee --- /dev/null +++ b/docs/开发20240220/202404/山海新能动产情况分析.docx @@ -0,0 +1,31 @@ + 山海新能动产情况分析 + 库存情况:(截止时间20240409组件、逆变器库存) + 监管仓:江西余干库、庄河荣名库、安阳荣名库、曲阜荣明库,库存总价值:55267590.4元。 + 非监管仓:海南工商业、内黄工商业、安阳运维库,库存总价值:13604737元(临时虚拟库,直发项目) + 山海库存组件、逆变器原材料总价值:68872327.4元 + 监管仓监管货物占比:80% + 二、电站情况:(全国电站) + 全部电站:9240个,346.19兆瓦。 + 开发收资:4322个,162.83兆瓦。 + 目前状态: + (工)业务收集资料、项目建议书、代理商自审、代理商自审驳回 + (户)业务员录入、代理商自审(驳回)、商务审核驳回、工程(部)审核(驳回) + 交货:61个,2.73兆瓦(2739.615千瓦) + 目前状态: + (户)施工资料提交、施工派工、代理商完工自审(驳回) + 完工:433个,28.15兆瓦(28151.15千瓦)(含工商业) + 目前状态: + (工)并网资料提交 + (户)并网资料提交、代理商并网自审、并网审核、并网审核驳回 + 并网:940个,34.38兆瓦 + 目前状态:现场验收 + 建转运:2775个,88.44兆瓦 + 目前状态:建转运 + 注: + 全国交货加上完工数据为30.88兆瓦,应为企业交货资产,按300万/兆瓦计算资产为:9264万元。 + 山东铁发收安阳、庄河、曲阜三个地方电站,目前交货102.1兆瓦,完工99.89兆瓦,并网的为72.89兆瓦,现场验收完毕,建转运的为44.6兆瓦。 + 全国建转运,为88.44兆瓦,减去卖给山东铁发44.6兆瓦,43.84兆瓦电站或为目前企业自持运营电站。按300万/兆瓦计算资产为:13152万元 + 综上,山海半成品及自持电站资产合计:22416万元。 + 三、汇总: + 企业库存组件、逆变器原材料及半成品、自持电站,总资产为:29303.23274万元。 + diff --git a/docs/开发20240220/202404/铁发统计.png b/docs/开发20240220/202404/铁发统计.png new file mode 100644 index 0000000..ef68e13 Binary files /dev/null and b/docs/开发20240220/202404/铁发统计.png differ diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/home/HomeRest.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/home/HomeRest.java index 3ea6281..a23ec61 100644 --- a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/home/HomeRest.java +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/home/HomeRest.java @@ -8,6 +8,9 @@ import com.yxt.common.core.result.ResultBean; import com.yxt.supervise.gf.biz.home.vo.GroupVo; import com.yxt.supervise.gf.shanhai.ShRequester; import com.yxt.supervise.gf.shanhai.resp.Homepage; +import com.yxt.supervise.gf.shanhai.resp.HomepageOrderArea; +import com.yxt.supervise.gf.shanhai.resp.ScreenIndex; +import com.yxt.supervise.gf.shanhai.resp.ScreenIndexPersonPowerNum; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -22,7 +25,7 @@ import java.util.Map; public class HomeRest { @GetMapping("/statistichomepage") - public ResultBean statistichomepage() { + public ResultBean> statistichomepage() { ResultBean rb = ResultBean.fireFail(); Homepage resp = ShRequester.getSystem$statistic$homepage(); GroupVo vo = new GroupVo(); @@ -31,7 +34,13 @@ public class HomeRest { vo.setWggm(strMwToDouble(resp.getPowers().getNow())); vo.setZkgm(strMwToDouble(resp.getPowers().getAll())); - return rb.success().setData(vo); + List orderArea = resp.getOrder_area(); + + Map map = new HashMap<>(); + map.put("group_vo", vo); + map.put("order_area", orderArea); + + return rb.success().setData(map); } @GetMapping("/statisticgroup_new_data") @@ -59,18 +68,21 @@ public class HomeRest { map.put("listy", listya); return rb.success().setData(map); } + @GetMapping("/statisticgroup_area") public ResultBean statisticgroup_area() { ResultBean rb = ResultBean.fireFail(); JSONArray list = ShRequester.getSystem$statistic$group_area(); return rb.success().setData(list); } + @GetMapping("/statisticgroup_node") public ResultBean statisticgroup_node() { ResultBean rb = ResultBean.fireFail(); JSONArray list = ShRequester.getSystem$statistic$group_node(); return rb.success().setData(list); } + @GetMapping("/statisticgroup_dataid") public ResultBean statisticgroup_dataid() { ResultBean rb = ResultBean.fireFail(); @@ -91,6 +103,13 @@ public class HomeRest { } return ret; } + + @GetMapping("/screenindex") + public ResultBean screenindex() { + ResultBean rb = ResultBean.fireFail(); + ScreenIndex screenIndex = ShRequester.getscreen$screen$index(); + return rb.success().setData(screenIndex.getPerson_power_num()); + } } diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/orderindex/OrderIndexQuery.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/orderindex/OrderIndexQuery.java index d7b00f2..046f974 100644 --- a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/orderindex/OrderIndexQuery.java +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/orderindex/OrderIndexQuery.java @@ -12,4 +12,5 @@ public class OrderIndexQuery implements Query { private String witch_data; private String workflow; private String[] search_time; + private String[] search_time_end; } diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/orderindex/OrderIndexRest.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/orderindex/OrderIndexRest.java index 52a219a..722dce3 100644 --- a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/orderindex/OrderIndexRest.java +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/orderindex/OrderIndexRest.java @@ -105,6 +105,13 @@ public class OrderIndexRest { return rb.success().setData(pv); } + @PostMapping("/listPageDzlb") + public ResultBean> listPageDzlb(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + IPage pv = orderIndexService.listPageDzlb(pq); + return rb.success().setData(pv); + } + @PostMapping("/expExcelYxdz") public void expExcelYxdz(@RequestBody PagerQuery pq, HttpServletResponse response) throws IOException { // 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/orderindex/OrderIndexService.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/orderindex/OrderIndexService.java index 28bfc53..16530de 100644 --- a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/orderindex/OrderIndexService.java +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/orderindex/OrderIndexService.java @@ -579,4 +579,15 @@ public class OrderIndexService extends ServiceImpl listPageDzlb(PagerQuery pq) { + + OrderIndexQuery query = pq.getParams(); + QueryWrapper qw = queryWarpYxdz(query); + + + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPage(page, qw); + return pagging; + } } diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/ShRequester.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/ShRequester.java index 5088d95..d0fdaec 100644 --- a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/ShRequester.java +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/ShRequester.java @@ -62,6 +62,7 @@ public class ShRequester { private static String system$statistic$group_area = "/api/system/statistic/group_area"; // private static String system$statistic$group_node = "/api/system/statistic/group_node"; // private static String system$statistic$group_dataid = "/api/system/statistic/group_dataid"; // + private static String screen$screen$index = "/api/screen/screen/index"; // /** * 1.待配货列表 @@ -954,6 +955,7 @@ public class ShRequester { // Map map = BeanUtil.beanToMap(data); return data; } + public static JSONArray getSystem$statistic$group_area() { Map params = new HashMap<>(); params.put("group_id", 0); @@ -964,6 +966,7 @@ public class ShRequester { // Map map = BeanUtil.beanToMap(data); return data; } + public static JSONArray getSystem$statistic$group_node() { Map params = new HashMap<>(); params.put("group_id", 0); @@ -974,6 +977,7 @@ public class ShRequester { // Map map = BeanUtil.beanToMap(data); return data; } + public static JSONArray getSystem$statistic$group_dataid() { Map params = new HashMap<>(); params.put("group_id", 0); @@ -985,4 +989,14 @@ public class ShRequester { return data; } + public static ScreenIndex getscreen$screen$index() { + String s = ShHttp.dopost(screen$screen$index, null); +// JSONObject jsonObject = JSONUtil.parseObj(s); +// JSONObject data = jsonObject.getJSONObject("data"); + +// ScreenIndex hp = JSONUtil.toBean(data, ScreenIndex.class); + ScreenIndex hp = JSONUtil.toBean(s, ScreenIndex.class); + return hp; + } + } diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/HomepageOrderArea.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/HomepageOrderArea.java index 4e0b00b..505bf18 100644 --- a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/HomepageOrderArea.java +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/HomepageOrderArea.java @@ -14,16 +14,16 @@ public class HomepageOrderArea { private long all_power; // 46388425, private String power; // "46.39MW" - public double getPowerNum() { - double ret = 0.0; - if (StrUtil.isNotBlank(power)) { - String mw = power.replace("MW", ""); - try { - ret = Double.parseDouble(mw); - } catch (Exception e) { - e.printStackTrace(); - } - } - return ret; - } +// public double getPowerNum() { +// double ret = 0.0; +// if (StrUtil.isNotBlank(power)) { +// String mw = power.replace("MW", ""); +// try { +// ret = Double.parseDouble(mw); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// } +// return ret; +// } } diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/ScreenIndex.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/ScreenIndex.java new file mode 100644 index 0000000..6f6679b --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/ScreenIndex.java @@ -0,0 +1,25 @@ +package com.yxt.supervise.gf.shanhai.resp; + +import lombok.Data; + +import java.util.List; + +@Data +public class ScreenIndex { + private List area_data; + private List near_day; + private List near_month; + private List near_year; + private String person_day; // 303874.8 + private String person_day_co2; // 0 + private String person_month; // 8873909.63 + private String person_month_co2; // 442.36 + private String person_power; // 155550065 + private ScreenIndexPersonPowerNum person_power_num; + private String person_totle; // 169633622.42 + private String person_totle_co2; // "84562.36" + private String person_volume; // "155.55MW" + private String person_year; // 37693544.46 + private String person_year_co2; // "18790.23" + +} diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/ScreenIndexAreaData.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/ScreenIndexAreaData.java new file mode 100644 index 0000000..7ce4779 --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/ScreenIndexAreaData.java @@ -0,0 +1,17 @@ +package com.yxt.supervise.gf.shanhai.resp; + +import lombok.Data; + +@Data +public class ScreenIndexAreaData { + + private int enterprise_count; // 0, + private int enterprise_power; // 0, + private int person_count; // 1540, + private long person_power; // 46533300, + private int person_order_id; // 5146, + private int area_id; // 13336, + private String province_name; // "河北省", + private String lng; // "114.468664", + private String lat; // "38.037057" +} diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/ScreenIndexNearDay.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/ScreenIndexNearDay.java new file mode 100644 index 0000000..8b47aa5 --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/ScreenIndexNearDay.java @@ -0,0 +1,10 @@ +package com.yxt.supervise.gf.shanhai.resp; + +import lombok.Data; + +@Data +public class ScreenIndexNearDay { + private String name; // "13日", + private double person_power; // 455934.38, + private String enterprise_power; // 0 +} diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/ScreenIndexNearMonth.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/ScreenIndexNearMonth.java new file mode 100644 index 0000000..5f0a123 --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/ScreenIndexNearMonth.java @@ -0,0 +1,10 @@ +package com.yxt.supervise.gf.shanhai.resp; + +import lombok.Data; + +@Data +public class ScreenIndexNearMonth { + private String name; // "1月", + private double person_power; // 8309521.74, + private String enterprise_power; // 0 +} diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/ScreenIndexNearYear.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/ScreenIndexNearYear.java new file mode 100644 index 0000000..b00b4d6 --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/ScreenIndexNearYear.java @@ -0,0 +1,11 @@ +package com.yxt.supervise.gf.shanhai.resp; + +import lombok.Data; + +@Data +public class ScreenIndexNearYear { + + private String enterprise_power; // 0 + private String name; // "2021年" + private double person_power; //4277450.2 +} diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/ScreenIndexPersonPowerNum.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/ScreenIndexPersonPowerNum.java new file mode 100644 index 0000000..9dc2f9c --- /dev/null +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/shanhai/resp/ScreenIndexPersonPowerNum.java @@ -0,0 +1,15 @@ +package com.yxt.supervise.gf.shanhai.resp; + +import lombok.Data; + +@Data +public class ScreenIndexPersonPowerNum { + private int wait_count; // 472, + private int warning_count; // 174, + private int line_count; // 3533, + private int all_count; // 4179, + private int last_week_wait_count; // -32, + private int last_week_warning_count; // -259, + private int last_week_line_count; // 291, + private int last_week_all_count; // 0 +}