Browse Source

中鸿记修改

master
liupopo 2 years ago
parent
commit
1064f1cfcf
  1. 10
      yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/pom.xml
  2. 4
      yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/biz/package-info.java
  3. 2
      yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/CrawlTask.java
  4. 6
      yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/ZhjSpider.java
  5. 62
      yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/biz/crawlSalesAmount/CrawlSalesAmountService.java
  6. 4
      yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/test/java/com/yxt/supervise/dbcenter/YxtSuperviseDbcenterApplicationTests.java
  7. 2
      yxt-supervise-dbcenter/yxt-supervise-dbcenter-ui/.env.development
  8. 746
      yxt-supervise-dbcenter/yxt-supervise-dbcenter-ui/src/views/inquireStatistics/index.vue

10
yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/pom.xml

@ -16,11 +16,11 @@
<version>0.0.1</version> <version>0.0.1</version>
<dependencies> <dependencies>
<dependency> <!-- <dependency>-->
<groupId>com.yxt.supervise.dbcenter</groupId> <!-- <groupId>com.yxt.supervise.dbcenter</groupId>-->
<artifactId>yxt-supervise-dbcenter-api</artifactId> <!-- <artifactId>yxt-supervise-dbcenter-api</artifactId>-->
<version>0.0.1-SNAPSHOT</version> <!-- <version>0.0.1-SNAPSHOT</version>-->
</dependency> <!-- </dependency>-->
<dependency> <dependency>
<groupId>com.yxt</groupId> <groupId>com.yxt</groupId>
<artifactId>yxt-common-base</artifactId> <artifactId>yxt-common-base</artifactId>

4
yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/biz/package-info.java

@ -1,4 +0,0 @@
/**
* 宇信通监管项目-光伏项目-业务逻辑
*/
package com.yxt.supervise.dbcenter.biz;

2
yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/CrawlTask.java

@ -33,7 +33,7 @@ public class CrawlTask {
// String purchaseDay = DateUtil.format(DateUtil.offsetDay(new Date(), -2), "yyyy-MM-dd"); // String purchaseDay = DateUtil.format(DateUtil.offsetDay(new Date(), -2), "yyyy-MM-dd");
ThreadUtil.execute(() -> crawlSalesAmountService.pullData(currDay)); ThreadUtil.execute(() -> crawlSalesAmountService.pullData(currDay));
ThreadUtil.execute(() -> crawlSalesDishesService.pullData(currDay)); ThreadUtil.execute(() -> crawlSalesDishesService.pullData(currDay));
ThreadUtil.execute(() -> crawlPurchaseService.pullData(currDay)); // ThreadUtil.execute(() -> crawlPurchaseService.pullData(currDay));
} }
} }

6
yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/ZhjSpider.java

@ -19,9 +19,11 @@ public class ZhjSpider {
private static String url = "https://bi.aliyuncs.com/api/v2/biPlatform/query/byQueryParam"; private static String url = "https://bi.aliyuncs.com/api/v2/biPlatform/query/byQueryParam";
private static String reportId = "85c4af04-1910-4005-8e47-742af1acb713"; private static String reportId = "85c4af04-1910-4005-8e47-742af1acb713";
// private static String olapQueryParam_salesAmount = "{\"componentId\":\"52dece2d-ba6d-452e-8497-f94baff096c4\",\"componentName\":\"指标看板-熟溢香支付方式_knief\",\"configs\":[{\"type\":\"field\",\"config\":{\"fields\":[{\"guid\":\"31ce439f-747c-45d0-8f35-51fe9daea91e\",\"fid\":\"5805bc15e1\",\"areaType\":\"row\"},{\"guid\":\"6e8c6afd-038a-4644-85c1-ffb813dc8614\",\"fid\":\"fa1b7a0d21\",\"areaType\":\"column\",\"aggregate\":\"sum\"}]},\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\"},{\"type\":\"paging\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"limit\":1000,\"offset\":0,\"pagedByAllDim\":true}},{\"type\":\"beforeAggregateCondition\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"3fd928d207\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"POS点餐\"},{\"valueType\":\"string\",\"value\":\"会员充值\"},{\"valueType\":\"string\",\"value\":\"扫码点餐\"},{\"valueType\":\"string\",\"value\":\"美团外卖点餐\"},{\"valueType\":\"string\",\"value\":\"饿了么外卖点餐\"}]},{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"15784307a1\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"greaterThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]},{\"field\":{\"fid\":\"15784307a1\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"lessThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]}]}]}},{\"type\":\"queryConfig\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"needCount\":false,\"queryCount\":false,\"queryDetail\":false}},{\"type\":\"advancedParam\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"autoInsightParam\":{\"enable\":false},\"wordCloudParam\":{},\"summarizeParams\":[],\"trendLineParams\":[],\"forecastParams\":[],\"anomalyDetectionParams\":[],\"clusteringParams\":[],\"groupParam\":null}},{\"type\":\"annotationParam\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"measureThresholdParams\":[],\"inflectionPointParams\":[]}}],\"dataType\":\"general\",\"reportId\":\"85c4af04-1910-4005-8e47-742af1acb713\"}"; // private static String olapQueryParam_salesAmount = "{\"componentId\":\"52dece2d-ba6d-452e-8497-f94baff096c4\",\"componentName\":\"指标看板-熟溢香支付方式_knief\",\"configs\":[{\"type\":\"field\",\"config\":{\"fields\":[{\"guid\":\"31ce439f-747c-45d0-8f35-51fe9daea91e\",\"fid\":\"5805bc15e1\",\"areaType\":\"row\"},{\"guid\":\"6e8c6afd-038a-4644-85c1-ffb813dc8614\",\"fid\":\"fa1b7a0d21\",\"areaType\":\"column\",\"aggregate\":\"sum\"}]},\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\"},{\"type\":\"paging\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"limit\":1000,\"offset\":0,\"pagedByAllDim\":true}},{\"type\":\"beforeAggregateCondition\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"3fd928d207\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"POS点餐\"},{\"valueType\":\"string\",\"value\":\"会员充值\"},{\"valueType\":\"string\",\"value\":\"扫码点餐\"},{\"valueType\":\"string\",\"value\":\"美团外卖点餐\"},{\"valueType\":\"string\",\"value\":\"饿了么外卖点餐\"}]},{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"15784307a1\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"greaterThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]},{\"field\":{\"fid\":\"15784307a1\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"lessThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]}]}]}},{\"type\":\"queryConfig\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"needCount\":false,\"queryCount\":false,\"queryDetail\":false}},{\"type\":\"advancedParam\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"autoInsightParam\":{\"enable\":false},\"wordCloudParam\":{},\"summarizeParams\":[],\"trendLineParams\":[],\"forecastParams\":[],\"anomalyDetectionParams\":[],\"clusteringParams\":[],\"groupParam\":null}},{\"type\":\"annotationParam\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"measureThresholdParams\":[],\"inflectionPointParams\":[]}}],\"dataType\":\"general\",\"reportId\":\"85c4af04-1910-4005-8e47-742af1acb713\"}";
private static String olapQueryParam_salesAmount = "{\"componentId\":\"52dece2d-ba6d-452e-8497-f94baff096c4\",\"componentName\":\"指标看板-熟溢香支付方式_knief\",\"configs\":[{\"type\":\"field\",\"config\":{\"fields\":[{\"guid\":\"fede5a50-ecc9-4a4e-964e-cfef899a8653\",\"fid\":\"5c96f44f41\",\"areaType\":\"row\"},{\"guid\":\"881950c9-ae3a-46d4-bb43-cb9467a2669b\",\"fid\":\"25d1d226d2\",\"areaType\":\"column\",\"aggregate\":\"sum\"}]},\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\"},{\"type\":\"paging\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"limit\":1000,\"offset\":0,\"pagedByAllDim\":true}},{\"type\":\"beforeAggregateCondition\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"5c96f44f41\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"熟溢香振头店\"},{\"valueType\":\"string\",\"value\":\"馍馍卤振岗店\"},{\"valueType\":\"string\",\"value\":\"馍馍卤雅清街店\"},{\"valueType\":\"string\",\"value\":\"(翟营店)裕华区翟营大街分公司\"},{\"valueType\":\"string\",\"value\":\"裕华杨麻子大饼饭店(翟营店)\"}]},{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"96c82ad449\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"greaterThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]},{\"field\":{\"fid\":\"96c82ad449\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"lessThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]}]}]}},{\"type\":\"queryConfig\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"needCount\":false,\"queryCount\":false,\"queryDetail\":false}},{\"type\":\"advancedParam\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"autoInsightParam\":{\"enable\":false},\"wordCloudParam\":{},\"summarizeParams\":[],\"trendLineParams\":[],\"forecastParams\":[],\"anomalyDetectionParams\":[],\"clusteringParams\":[],\"groupParam\":null}},{\"type\":\"annotationParam\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"measureThresholdParams\":[],\"inflectionPointParams\":[]}}],\"dataType\":\"general\",\"reportId\":\"85c4af04-1910-4005-8e47-742af1acb713\"}"; private static String olapQueryParam_salesAmount = "{\"componentId\":\"52dece2d-ba6d-452e-8497-f94baff096c4\",\"componentName\":\"指标看板-熟溢香支付方式_knief\",\"configs\":[{\"type\":\"field\",\"config\":{\"fields\":[{\"guid\":\"fede5a50-ecc9-4a4e-964e-cfef899a8653\",\"fid\":\"5eb3ee38a2\",\"areaType\":\"row\"},{\"guid\":\"881950c9-ae3a-46d4-bb43-cb9467a2669b\",\"fid\":\"e0ca4f1ce5\",\"areaType\":\"column\",\"aggregate\":\"sum\"}]},\"cubeId\":\"5fabd4fe-859f-4ab2-81ef-9489db901c85\"},{\"type\":\"paging\",\"cubeId\":\"5fabd4fe-859f-4ab2-81ef-9489db901c85\",\"config\":{\"limit\":1000,\"offset\":0,\"pagedByAllDim\":true}},{\"type\":\"beforeAggregateCondition\",\"cubeId\":\"5fabd4fe-859f-4ab2-81ef-9489db901c85\",\"config\":{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"5eb3ee38a2\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"(翟营店)裕华区翟营大街分公司\"},{\"valueType\":\"string\",\"value\":\"熟溢香振头店\"},{\"valueType\":\"string\",\"value\":\"馍馍卤振岗店\"},{\"valueType\":\"string\",\"value\":\"馍馍卤雅清街店\"}]},{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"fac617597c\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"greaterThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]},{\"field\":{\"fid\":\"fac617597c\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"lessThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]}]}]}},{\"type\":\"queryConfig\",\"cubeId\":\"5fabd4fe-859f-4ab2-81ef-9489db901c85\",\"config\":{\"needCount\":false,\"queryCount\":false,\"queryDetail\":false}},{\"type\":\"advancedParam\",\"cubeId\":\"5fabd4fe-859f-4ab2-81ef-9489db901c85\",\"config\":{\"autoInsightParam\":{\"enable\":false},\"wordCloudParam\":{},\"summarizeParams\":[],\"trendLineParams\":[],\"forecastParams\":[],\"anomalyDetectionParams\":[],\"clusteringParams\":[],\"groupParam\":null}},{\"type\":\"annotationParam\",\"cubeId\":\"5fabd4fe-859f-4ab2-81ef-9489db901c85\",\"config\":{\"measureThresholdParams\":[],\"inflectionPointParams\":[]}}],\"dataType\":\"general\",\"reportId\":\"85c4af04-1910-4005-8e47-742af1acb713\"}";
// private static String olapQueryParam_salesAmount = "{\"componentId\":\"52dece2d-ba6d-452e-8497-f94baff096c4\",\"componentName\":\"指标看板-熟溢香支付方式_knief\",\"configs\":[{\"type\":\"field\",\"config\":{\"fields\":[{\"guid\":\"fede5a50-ecc9-4a4e-964e-cfef899a8653\",\"fid\":\"5c96f44f41\",\"areaType\":\"row\"},{\"guid\":\"881950c9-ae3a-46d4-bb43-cb9467a2669b\",\"fid\":\"25d1d226d2\",\"areaType\":\"column\",\"aggregate\":\"sum\"}]},\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\"},{\"type\":\"paging\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"limit\":1000,\"offset\":0,\"pagedByAllDim\":true}},{\"type\":\"beforeAggregateCondition\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"5c96f44f41\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"熟溢香振头店\"},{\"valueType\":\"string\",\"value\":\"馍馍卤振岗店\"},{\"valueType\":\"string\",\"value\":\"馍馍卤雅清街店\"},{\"valueType\":\"string\",\"value\":\"(翟营店)裕华区翟营大街分公司\"},{\"valueType\":\"string\",\"value\":\"裕华杨麻子大饼饭店(翟营店)\"}]},{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"96c82ad449\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"greaterThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]},{\"field\":{\"fid\":\"96c82ad449\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"lessThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]}]}]}},{\"type\":\"queryConfig\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"needCount\":false,\"queryCount\":false,\"queryDetail\":false}},{\"type\":\"advancedParam\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"autoInsightParam\":{\"enable\":false},\"wordCloudParam\":{},\"summarizeParams\":[],\"trendLineParams\":[],\"forecastParams\":[],\"anomalyDetectionParams\":[],\"clusteringParams\":[],\"groupParam\":null}},{\"type\":\"annotationParam\",\"cubeId\":\"90bb4e6c-c315-465b-9c3b-74a22a0d84e6\",\"config\":{\"measureThresholdParams\":[],\"inflectionPointParams\":[]}}],\"dataType\":\"general\",\"reportId\":\"85c4af04-1910-4005-8e47-742af1acb713\"}";
// private static String olapQueryParam_salesDishes = "{\"componentId\":\"8d8a8363-89d8-4bec-9a58-c7c13ae63f15\",\"componentName\":\"菜品销量\",\"configs\":[{\"type\":\"field\",\"config\":{\"fields\":[{\"guid\":\"f8e0f500-ffc6-4821-9190-5cd3b3c906e9\",\"fid\":\"19a1d100cc\",\"areaType\":\"row\"},{\"guid\":\"1c13f425-828d-48ad-8549-de85dd3c259e\",\"fid\":\"2083fd4437\",\"areaType\":\"row\"},{\"guid\":\"07b482d2-b2e3-4a64-9d8d-3e30c03dfec6\",\"fid\":\"0e325d5eed\",\"areaType\":\"column\",\"granularity\":null,\"aggregate\":\"sum\"},{\"guid\":\"a4cfd195-dfd3-4947-a024-076ca806793f\",\"fid\":\"b9d5c6b646\",\"areaType\":\"column\",\"aggregate\":\"avg\"}]},\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\"},{\"type\":\"paging\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"limit\":1000,\"offset\":0,\"pagedByAllDim\":true}},{\"type\":\"beforeAggregateCondition\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"5e0adf962d\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"bk\"}]},{\"field\":{\"fid\":\"5e0adf962d\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"bk\"}]},{\"field\":{\"fid\":\"e3aec87664\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"V_STORE_NAME\"}]},{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"8e55928f76\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"greaterThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]},{\"field\":{\"fid\":\"8e55928f76\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"lessThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]}]}]}},{\"type\":\"sort\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"sortFields\":[{\"sortType\":\"desc\",\"guid\":\"07b482d2-b2e3-4a64-9d8d-3e30c03dfec6\",\"dimValues\":[],\"groupSort\":false}]}},{\"type\":\"queryConfig\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"needCount\":true,\"queryCount\":false,\"queryDetail\":false}},{\"type\":\"advancedParam\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"autoInsightParam\":{\"enable\":false},\"wordCloudParam\":{},\"summarizeParams\":[],\"trendLineParams\":[],\"forecastParams\":[],\"anomalyDetectionParams\":[],\"clusteringParams\":[],\"groupParam\":null}},{\"type\":\"annotationParam\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"measureThresholdParams\":[],\"inflectionPointParams\":[]}}],\"dataType\":\"pivot\",\"reportId\":\"85c4af04-1910-4005-8e47-742af1acb713\"}";
private static String olapQueryParam_salesDishes = "{\"componentId\":\"8d8a8363-89d8-4bec-9a58-c7c13ae63f15\",\"componentName\":\"菜品销量\",\"configs\":[{\"type\":\"field\",\"config\":{\"fields\":[{\"guid\":\"f8e0f500-ffc6-4821-9190-5cd3b3c906e9\",\"fid\":\"b9ba4f6099\",\"areaType\":\"row\"},{\"guid\":\"1c13f425-828d-48ad-8549-de85dd3c259e\",\"fid\":\"cb3a24e763\",\"areaType\":\"row\"},{\"guid\":\"07b482d2-b2e3-4a64-9d8d-3e30c03dfec6\",\"fid\":\"6d93eb49d3\",\"areaType\":\"column\",\"granularity\":null,\"aggregate\":\"sum\"},{\"guid\":\"a4cfd195-dfd3-4947-a024-076ca806793f\",\"fid\":\"9ff0b93826\",\"areaType\":\"column\",\"aggregate\":\"avg\"}]},\"cubeId\":\"70cd09d1-f416-482f-9616-779081c7f5f8\"},{\"type\":\"paging\",\"cubeId\":\"70cd09d1-f416-482f-9616-779081c7f5f8\",\"config\":{\"limit\":1000,\"offset\":0,\"pagedByAllDim\":true}},{\"type\":\"beforeAggregateCondition\",\"cubeId\":\"70cd09d1-f416-482f-9616-779081c7f5f8\",\"config\":{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"49e47bb912\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"V_STORE_NAME\"}]},{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"83fedb8180\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"greaterThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]},{\"field\":{\"fid\":\"83fedb8180\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"lessThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]}]}]}},{\"type\":\"sort\",\"cubeId\":\"70cd09d1-f416-482f-9616-779081c7f5f8\",\"config\":{\"sortFields\":[{\"sortType\":\"desc\",\"guid\":\"07b482d2-b2e3-4a64-9d8d-3e30c03dfec6\",\"dimValues\":[],\"groupSort\":false}]}},{\"type\":\"queryConfig\",\"cubeId\":\"70cd09d1-f416-482f-9616-779081c7f5f8\",\"config\":{\"needCount\":true,\"queryCount\":false,\"queryDetail\":false}},{\"type\":\"advancedParam\",\"cubeId\":\"70cd09d1-f416-482f-9616-779081c7f5f8\",\"config\":{\"autoInsightParam\":{\"enable\":false},\"wordCloudParam\":{},\"summarizeParams\":[],\"trendLineParams\":[],\"forecastParams\":[],\"anomalyDetectionParams\":[],\"clusteringParams\":[],\"groupParam\":null}},{\"type\":\"annotationParam\",\"cubeId\":\"70cd09d1-f416-482f-9616-779081c7f5f8\",\"config\":{\"measureThresholdParams\":[],\"inflectionPointParams\":[]}}],\"dataType\":\"pivot\",\"reportId\":\"85c4af04-1910-4005-8e47-742af1acb713\"}";
// private static String olapQueryParam_salesDishes = "{\"componentId\":\"8d8a8363-89d8-4bec-9a58-c7c13ae63f15\",\"componentName\":\"菜品销量\",\"configs\":[{\"type\":\"field\",\"config\":{\"fields\":[{\"guid\":\"f8e0f500-ffc6-4821-9190-5cd3b3c906e9\",\"fid\":\"19a1d100cc\",\"areaType\":\"row\"},{\"guid\":\"1c13f425-828d-48ad-8549-de85dd3c259e\",\"fid\":\"2083fd4437\",\"areaType\":\"row\"},{\"guid\":\"07b482d2-b2e3-4a64-9d8d-3e30c03dfec6\",\"fid\":\"0e325d5eed\",\"areaType\":\"column\",\"granularity\":null,\"aggregate\":\"sum\"},{\"guid\":\"a4cfd195-dfd3-4947-a024-076ca806793f\",\"fid\":\"b9d5c6b646\",\"areaType\":\"column\",\"aggregate\":\"avg\"}]},\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\"},{\"type\":\"paging\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"limit\":1000,\"offset\":0,\"pagedByAllDim\":true}},{\"type\":\"beforeAggregateCondition\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"5e0adf962d\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"bk\"}]},{\"field\":{\"fid\":\"5e0adf962d\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"bk\"}]},{\"field\":{\"fid\":\"e3aec87664\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"V_STORE_NAME\"}]},{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"8e55928f76\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"greaterThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]},{\"field\":{\"fid\":\"8e55928f76\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"lessThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]}]}]}},{\"type\":\"sort\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"sortFields\":[{\"sortType\":\"desc\",\"guid\":\"07b482d2-b2e3-4a64-9d8d-3e30c03dfec6\",\"dimValues\":[],\"groupSort\":false}]}},{\"type\":\"queryConfig\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"needCount\":true,\"queryCount\":false,\"queryDetail\":false}},{\"type\":\"advancedParam\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"autoInsightParam\":{\"enable\":false},\"wordCloudParam\":{},\"summarizeParams\":[],\"trendLineParams\":[],\"forecastParams\":[],\"anomalyDetectionParams\":[],\"clusteringParams\":[],\"groupParam\":null}},{\"type\":\"annotationParam\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"measureThresholdParams\":[],\"inflectionPointParams\":[]}}],\"dataType\":\"pivot\",\"reportId\":\"85c4af04-1910-4005-8e47-742af1acb713\"}"; // private static String olapQueryParam_salesDishes = "{\"componentId\":\"8d8a8363-89d8-4bec-9a58-c7c13ae63f15\",\"componentName\":\"菜品销量\",\"configs\":[{\"type\":\"field\",\"config\":{\"fields\":[{\"guid\":\"f8e0f500-ffc6-4821-9190-5cd3b3c906e9\",\"fid\":\"19a1d100cc\",\"areaType\":\"row\"},{\"guid\":\"1c13f425-828d-48ad-8549-de85dd3c259e\",\"fid\":\"2083fd4437\",\"areaType\":\"row\"},{\"guid\":\"07b482d2-b2e3-4a64-9d8d-3e30c03dfec6\",\"fid\":\"0e325d5eed\",\"areaType\":\"column\",\"granularity\":null,\"aggregate\":\"sum\"},{\"guid\":\"a4cfd195-dfd3-4947-a024-076ca806793f\",\"fid\":\"b9d5c6b646\",\"areaType\":\"column\",\"aggregate\":\"avg\"}]},\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\"},{\"type\":\"paging\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"limit\":1000,\"offset\":0,\"pagedByAllDim\":true}},{\"type\":\"beforeAggregateCondition\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"5e0adf962d\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"bk\"}]},{\"field\":{\"fid\":\"5e0adf962d\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"bk\"}]},{\"field\":{\"fid\":\"e3aec87664\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"V_STORE_NAME\"}]},{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"8e55928f76\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"greaterThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]},{\"field\":{\"fid\":\"8e55928f76\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"lessThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]}]}]}},{\"type\":\"sort\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"sortFields\":[{\"sortType\":\"desc\",\"guid\":\"07b482d2-b2e3-4a64-9d8d-3e30c03dfec6\",\"dimValues\":[],\"groupSort\":false}]}},{\"type\":\"queryConfig\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"needCount\":true,\"queryCount\":false,\"queryDetail\":false}},{\"type\":\"advancedParam\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"autoInsightParam\":{\"enable\":false},\"wordCloudParam\":{},\"summarizeParams\":[],\"trendLineParams\":[],\"forecastParams\":[],\"anomalyDetectionParams\":[],\"clusteringParams\":[],\"groupParam\":null}},{\"type\":\"annotationParam\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"measureThresholdParams\":[],\"inflectionPointParams\":[]}}],\"dataType\":\"pivot\",\"reportId\":\"85c4af04-1910-4005-8e47-742af1acb713\"}";
private static String olapQueryParam_salesDishes = "{\"componentId\":\"8d8a8363-89d8-4bec-9a58-c7c13ae63f15\",\"componentName\":\"菜品销量\",\"configs\":[{\"type\":\"field\",\"config\":{\"fields\":[{\"guid\":\"f8e0f500-ffc6-4821-9190-5cd3b3c906e9\",\"fid\":\"19a1d100cc\",\"areaType\":\"row\"},{\"guid\":\"1c13f425-828d-48ad-8549-de85dd3c259e\",\"fid\":\"2083fd4437\",\"areaType\":\"row\"},{\"guid\":\"07b482d2-b2e3-4a64-9d8d-3e30c03dfec6\",\"fid\":\"0e325d5eed\",\"areaType\":\"column\",\"granularity\":null,\"aggregate\":\"sum\"},{\"guid\":\"a4cfd195-dfd3-4947-a024-076ca806793f\",\"fid\":\"b9d5c6b646\",\"areaType\":\"column\",\"aggregate\":\"avg\"}]},\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\"},{\"type\":\"paging\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"limit\":1000,\"offset\":0,\"pagedByAllDim\":true}},{\"type\":\"beforeAggregateCondition\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"5e0adf962d\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"bk\"}]},{\"field\":{\"fid\":\"5e0adf962d\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"bk\"}]},{\"field\":{\"fid\":\"e3aec87664\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"V_STORE_NAME\"}]},{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"8e55928f76\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"greaterThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]},{\"field\":{\"fid\":\"8e55928f76\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"lessThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]}]}]}},{\"type\":\"sort\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"sortFields\":[{\"sortType\":\"desc\",\"guid\":\"07b482d2-b2e3-4a64-9d8d-3e30c03dfec6\",\"dimValues\":[],\"groupSort\":false}]}},{\"type\":\"queryConfig\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"needCount\":true,\"queryCount\":false,\"queryDetail\":false}},{\"type\":\"advancedParam\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"autoInsightParam\":{\"enable\":false},\"wordCloudParam\":{},\"summarizeParams\":[],\"trendLineParams\":[],\"forecastParams\":[],\"anomalyDetectionParams\":[],\"clusteringParams\":[],\"groupParam\":null}},{\"type\":\"annotationParam\",\"cubeId\":\"a16139f4-8f21-4172-afb9-5de69719590e\",\"config\":{\"measureThresholdParams\":[],\"inflectionPointParams\":[]}}],\"dataType\":\"pivot\",\"reportId\":\"85c4af04-1910-4005-8e47-742af1acb713\"}";
// private static String olapQueryParam_purchase = "{\"componentId\":\"1cdfd850-7d65-48ca-b71d-03c9e1b979ac\",\"componentName\":\"采购明细表\",\"configs\":[{\"type\":\"field\",\"config\":{\"fields\":[{\"guid\":\"899dd166-55f9-4ada-9f32-856f86cab0ce\",\"fid\":\"5f2e64d20f\",\"areaType\":\"column\"},{\"guid\":\"bf3d46dd-3759-49a2-a035-424023202ce8\",\"fid\":\"6dd7171857\",\"areaType\":\"column\",\"dateTrunc\":\"day\"},{\"guid\":\"82f79e88-5328-40f6-9ea8-9a5a91c389cd\",\"fid\":\"22b739da7f\",\"areaType\":\"column\"},{\"guid\":\"f563a6d0-6604-4b12-915a-94421dca00d6\",\"fid\":\"c6139dca5d\",\"areaType\":\"column\"},{\"guid\":\"17c3dfb5-a9b5-4d16-965b-36ce7ab704c9\",\"fid\":\"dde06772b7\",\"areaType\":\"column\"},{\"guid\":\"26c3dcd5-3e1e-46cd-8a0a-7af9c0871efa\",\"fid\":\"118f5bd47e\",\"areaType\":\"column\"},{\"guid\":\"665a4b3d-30d0-42bd-a4c6-7096bb252e4e\",\"fid\":\"a112247f18\",\"areaType\":\"column\"}]},\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\"},{\"type\":\"paging\",\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\",\"config\":{\"limit\":1000,\"offset\":0,\"pagedByAllDim\":true}},{\"type\":\"beforeAggregateCondition\",\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\",\"config\":{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"18913ee52b\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"bk\"}]},{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"6dd7171857\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"greaterThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]},{\"field\":{\"fid\":\"6dd7171857\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"lessThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]}]}]}},{\"type\":\"queryConfig\",\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\",\"config\":{\"needCount\":true,\"queryCount\":false,\"queryDetail\":true}},{\"type\":\"advancedParam\",\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\",\"config\":{\"autoInsightParam\":{\"enable\":false},\"wordCloudParam\":{},\"summarizeParams\":[],\"trendLineParams\":[],\"forecastParams\":[],\"anomalyDetectionParams\":[],\"clusteringParams\":[],\"groupParam\":null}},{\"type\":\"annotationParam\",\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\",\"config\":{\"measureThresholdParams\":[],\"inflectionPointParams\":[]}}],\"dataType\":\"general\",\"reportId\":\"85c4af04-1910-4005-8e47-742af1acb713\"}"; // private static String olapQueryParam_purchase = "{\"componentId\":\"1cdfd850-7d65-48ca-b71d-03c9e1b979ac\",\"componentName\":\"采购明细表\",\"configs\":[{\"type\":\"field\",\"config\":{\"fields\":[{\"guid\":\"899dd166-55f9-4ada-9f32-856f86cab0ce\",\"fid\":\"5f2e64d20f\",\"areaType\":\"column\"},{\"guid\":\"bf3d46dd-3759-49a2-a035-424023202ce8\",\"fid\":\"6dd7171857\",\"areaType\":\"column\",\"dateTrunc\":\"day\"},{\"guid\":\"82f79e88-5328-40f6-9ea8-9a5a91c389cd\",\"fid\":\"22b739da7f\",\"areaType\":\"column\"},{\"guid\":\"f563a6d0-6604-4b12-915a-94421dca00d6\",\"fid\":\"c6139dca5d\",\"areaType\":\"column\"},{\"guid\":\"17c3dfb5-a9b5-4d16-965b-36ce7ab704c9\",\"fid\":\"dde06772b7\",\"areaType\":\"column\"},{\"guid\":\"26c3dcd5-3e1e-46cd-8a0a-7af9c0871efa\",\"fid\":\"118f5bd47e\",\"areaType\":\"column\"},{\"guid\":\"665a4b3d-30d0-42bd-a4c6-7096bb252e4e\",\"fid\":\"a112247f18\",\"areaType\":\"column\"}]},\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\"},{\"type\":\"paging\",\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\",\"config\":{\"limit\":1000,\"offset\":0,\"pagedByAllDim\":true}},{\"type\":\"beforeAggregateCondition\",\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\",\"config\":{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"18913ee52b\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"bk\"}]},{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"6dd7171857\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"greaterThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]},{\"field\":{\"fid\":\"6dd7171857\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"lessThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]}]}]}},{\"type\":\"queryConfig\",\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\",\"config\":{\"needCount\":true,\"queryCount\":false,\"queryDetail\":true}},{\"type\":\"advancedParam\",\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\",\"config\":{\"autoInsightParam\":{\"enable\":false},\"wordCloudParam\":{},\"summarizeParams\":[],\"trendLineParams\":[],\"forecastParams\":[],\"anomalyDetectionParams\":[],\"clusteringParams\":[],\"groupParam\":null}},{\"type\":\"annotationParam\",\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\",\"config\":{\"measureThresholdParams\":[],\"inflectionPointParams\":[]}}],\"dataType\":\"general\",\"reportId\":\"85c4af04-1910-4005-8e47-742af1acb713\"}";
private static String olapQueryParam_purchase = "{\"componentId\":\"1cdfd850-7d65-48ca-b71d-03c9e1b979ac\",\"componentName\":\"采购明细表\",\"configs\":[{\"type\":\"field\",\"config\":{\"fields\":[{\"guid\":\"899dd166-55f9-4ada-9f32-856f86cab0ce\",\"fid\":\"5f2e64d20f\",\"areaType\":\"column\"},{\"guid\":\"bf3d46dd-3759-49a2-a035-424023202ce8\",\"fid\":\"6dd7171857\",\"areaType\":\"column\",\"dateTrunc\":\"day\"},{\"guid\":\"82f79e88-5328-40f6-9ea8-9a5a91c389cd\",\"fid\":\"22b739da7f\",\"areaType\":\"column\"},{\"guid\":\"f563a6d0-6604-4b12-915a-94421dca00d6\",\"fid\":\"c6139dca5d\",\"areaType\":\"column\"},{\"guid\":\"17c3dfb5-a9b5-4d16-965b-36ce7ab704c9\",\"fid\":\"dde06772b7\",\"areaType\":\"column\"},{\"guid\":\"26c3dcd5-3e1e-46cd-8a0a-7af9c0871efa\",\"fid\":\"118f5bd47e\",\"areaType\":\"column\"},{\"guid\":\"665a4b3d-30d0-42bd-a4c6-7096bb252e4e\",\"fid\":\"a112247f18\",\"areaType\":\"column\"}]},\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\"},{\"type\":\"paging\",\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\",\"config\":{\"limit\":1000,\"offset\":0,\"pagedByAllDim\":true}},{\"type\":\"beforeAggregateCondition\",\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\",\"config\":{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"18913ee52b\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"bk\"}]},{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"6dd7171857\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"greaterThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]},{\"field\":{\"fid\":\"6dd7171857\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"lessThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]}]}]}},{\"type\":\"queryConfig\",\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\",\"config\":{\"needCount\":true,\"queryCount\":false,\"queryDetail\":true}},{\"type\":\"advancedParam\",\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\",\"config\":{\"autoInsightParam\":{\"enable\":false},\"wordCloudParam\":{},\"summarizeParams\":[],\"trendLineParams\":[],\"forecastParams\":[],\"anomalyDetectionParams\":[],\"clusteringParams\":[],\"groupParam\":null}},{\"type\":\"annotationParam\",\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\",\"config\":{\"measureThresholdParams\":[],\"inflectionPointParams\":[]}}],\"dataType\":\"general\",\"reportId\":\"85c4af04-1910-4005-8e47-742af1acb713\"}"; private static String olapQueryParam_purchase = "{\"componentId\":\"1cdfd850-7d65-48ca-b71d-03c9e1b979ac\",\"componentName\":\"采购明细表\",\"configs\":[{\"type\":\"field\",\"config\":{\"fields\":[{\"guid\":\"899dd166-55f9-4ada-9f32-856f86cab0ce\",\"fid\":\"5f2e64d20f\",\"areaType\":\"column\"},{\"guid\":\"bf3d46dd-3759-49a2-a035-424023202ce8\",\"fid\":\"6dd7171857\",\"areaType\":\"column\",\"dateTrunc\":\"day\"},{\"guid\":\"82f79e88-5328-40f6-9ea8-9a5a91c389cd\",\"fid\":\"22b739da7f\",\"areaType\":\"column\"},{\"guid\":\"f563a6d0-6604-4b12-915a-94421dca00d6\",\"fid\":\"c6139dca5d\",\"areaType\":\"column\"},{\"guid\":\"17c3dfb5-a9b5-4d16-965b-36ce7ab704c9\",\"fid\":\"dde06772b7\",\"areaType\":\"column\"},{\"guid\":\"26c3dcd5-3e1e-46cd-8a0a-7af9c0871efa\",\"fid\":\"118f5bd47e\",\"areaType\":\"column\"},{\"guid\":\"665a4b3d-30d0-42bd-a4c6-7096bb252e4e\",\"fid\":\"a112247f18\",\"areaType\":\"column\"}]},\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\"},{\"type\":\"paging\",\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\",\"config\":{\"limit\":1000,\"offset\":0,\"pagedByAllDim\":true}},{\"type\":\"beforeAggregateCondition\",\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\",\"config\":{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"18913ee52b\"},\"functionalOperator\":\"in\",\"args\":[{\"valueType\":\"string\",\"value\":\"bk\"}]},{\"logicalOperator\":\"AND\",\"conditions\":[{\"field\":{\"fid\":\"6dd7171857\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"greaterThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]},{\"field\":{\"fid\":\"6dd7171857\",\"dateTrunc\":\"day\"},\"functionalOperator\":\"lessThanOrEqual\",\"args\":[{\"valueType\":\"string\",\"value\":\"VAR_DATE_STR\"}]}]}]}},{\"type\":\"queryConfig\",\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\",\"config\":{\"needCount\":true,\"queryCount\":false,\"queryDetail\":true}},{\"type\":\"advancedParam\",\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\",\"config\":{\"autoInsightParam\":{\"enable\":false},\"wordCloudParam\":{},\"summarizeParams\":[],\"trendLineParams\":[],\"forecastParams\":[],\"anomalyDetectionParams\":[],\"clusteringParams\":[],\"groupParam\":null}},{\"type\":\"annotationParam\",\"cubeId\":\"de60b1eb-37fa-4d0c-b02a-47c6f00b061b\",\"config\":{\"measureThresholdParams\":[],\"inflectionPointParams\":[]}}],\"dataType\":\"general\",\"reportId\":\"85c4af04-1910-4005-8e47-742af1acb713\"}";

62
yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/main/java/com/yxt/supervise/dbcenter/zhj/crawl/biz/crawlSalesAmount/CrawlSalesAmountService.java

@ -36,36 +36,36 @@ public class CrawlSalesAmountService extends ServiceImpl<CrawlSalesAmountMapper,
@Autowired @Autowired
private ConfBrandProportionService confBrandProportionService; private ConfBrandProportionService confBrandProportionService;
public ResultBean saveCrawlSalesAmount(CrawlSalesAmountDto dto){ public ResultBean saveCrawlSalesAmount(CrawlSalesAmountDto dto) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
CrawlSalesAmount amount = new CrawlSalesAmount(); CrawlSalesAmount amount = new CrawlSalesAmount();
BeanUtil.copyProperties(dto,amount); BeanUtil.copyProperties(dto, amount);
int insert = baseMapper.insert(amount); int insert = baseMapper.insert(amount);
if (insert == 0){ if (insert == 0) {
return rb.setMsg("添加失败"); return rb.setMsg("添加失败");
} }
return rb.success().setMsg("添加成功"); return rb.success().setMsg("添加成功");
} }
public PagerVo<CrawlSalesAmountVo> listPageVo(PagerQuery<CrawlSalesAmountQuery> pq){ public PagerVo<CrawlSalesAmountVo> listPageVo(PagerQuery<CrawlSalesAmountQuery> pq) {
CrawlSalesAmountQuery query = pq.getParams(); CrawlSalesAmountQuery query = pq.getParams();
QueryWrapper<CrawlSalesAmount> qw = new QueryWrapper<>(); QueryWrapper<CrawlSalesAmount> qw = new QueryWrapper<>();
if (query != null){ if (query != null) {
if (query.getStoreName() != null && !query.getStoreName().equals("")){ if (query.getStoreName() != null && !query.getStoreName().equals("")) {
qw.eq("a.storeName",query.getStoreName()); qw.eq("a.storeName", query.getStoreName());
} }
if (query.getFromTime() != null && !query.getFromTime().equals("")){ if (query.getFromTime() != null && !query.getFromTime().equals("")) {
qw.ge("a.dataDate",query.getFromTime()); qw.ge("a.dataDate", query.getFromTime());
} }
if (query.getEndTime() != null && !query.getEndTime().equals("")){ if (query.getEndTime() != null && !query.getEndTime().equals("")) {
qw.le("a.dataDate",query.getEndTime()); qw.le("a.dataDate", query.getEndTime());
} }
if (query.getBrandName() != null && !query.getBrandName().equals("")){ if (query.getBrandName() != null && !query.getBrandName().equals("")) {
qw.eq("b.name",query.getBrandName()); qw.eq("b.name", query.getBrandName());
} }
} }
qw.eq("s.isEnable",1); qw.eq("s.isEnable", 1);
qw.gt("a.id",0); qw.gt("a.id", 0);
qw.orderByDesc("a.dataDate"); qw.orderByDesc("a.dataDate");
// IPage<CrawlSalesAmount> crawlSalesAmountIPage = baseMapper.selectPage(page, qw); // IPage<CrawlSalesAmount> crawlSalesAmountIPage = baseMapper.selectPage(page, qw);
// List<CrawlSalesAmount> records = crawlSalesAmountIPage.getRecords(); // List<CrawlSalesAmount> records = crawlSalesAmountIPage.getRecords();
@ -97,20 +97,20 @@ public class CrawlSalesAmountService extends ServiceImpl<CrawlSalesAmountMapper,
for (CrawlSalesAmountVo record : records) { for (CrawlSalesAmountVo record : records) {
List<ConfBrandProportion> proportions = confBrandProportionService.selectBrandProportionByBrandName(record.getName()); List<ConfBrandProportion> proportions = confBrandProportionService.selectBrandProportionByBrandName(record.getName());
List<Map<String, Object>> list = new ArrayList(); List<Map<String, Object>> list = new ArrayList();
if (proportions == null || proportions.size() == 0){ if (proportions == null || proportions.size() == 0) {
record.setProportion(null); record.setProportion(null);
record.setTotalCount(0.0); record.setTotalCount(0.0);
}else { } else {
Map<String, Object> map = null; Map<String, Object> map = null;
Double i = 0.0; Double i = 0.0;
for (ConfBrandProportion proportion : proportions) { for (ConfBrandProportion proportion : proportions) {
map = new HashMap<>(); map = new HashMap<>();
Double pro = record.getSalesAmount()* Double.parseDouble(proportion.getProportion()) * 0.01; Double pro = record.getSalesAmount() * Double.parseDouble(proportion.getProportion()) * 0.01;
DecimalFormat df = new DecimalFormat("#.00"); DecimalFormat df = new DecimalFormat("#.00");
String format = df.format(pro); String format = df.format(pro);
map.put(proportion.getTypeName(),proportion.getTypeName()+ ":" + format); map.put(proportion.getTypeName(), proportion.getTypeName() + ":" + format);
list.add(map); list.add(map);
i+=Double.parseDouble(format); i += Double.parseDouble(format);
} }
record.setProportion(list); record.setProportion(list);
record.setTotalCount(i); record.setTotalCount(i);
@ -120,12 +120,12 @@ public class CrawlSalesAmountService extends ServiceImpl<CrawlSalesAmountMapper,
} }
public void pullData(String currDay) { public void pullData(String currDay) {
String zhjDate = currDay.replace("-",""); String zhjDate = currDay.replace("-", "");
List<RespSalesAmount> respSalesAmounts = ZhjSpider.crawlSalesAmount(zhjDate); List<RespSalesAmount> respSalesAmounts = ZhjSpider.crawlSalesAmount(zhjDate);
List<CrawlSalesAmount> entityList = new ArrayList<>(); List<CrawlSalesAmount> entityList = new ArrayList<>();
for (RespSalesAmount rsa:respSalesAmounts){ for (RespSalesAmount rsa : respSalesAmounts) {
CrawlSalesAmount csa = new CrawlSalesAmount(); CrawlSalesAmount csa = new CrawlSalesAmount();
BeanUtil.copyProperties(rsa,csa); BeanUtil.copyProperties(rsa, csa);
csa.setDataDate(currDay); csa.setDataDate(currDay);
entityList.add(csa); entityList.add(csa);
} }
@ -133,23 +133,23 @@ public class CrawlSalesAmountService extends ServiceImpl<CrawlSalesAmountMapper,
super.saveBatch(entityList); super.saveBatch(entityList);
} }
public ResultBean handCrawl(Map<String,Object> param){ public ResultBean handCrawl(Map<String, Object> param) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
String time = (String)param.get("time"); String time = (String) param.get("time");
Date date = new Date(); Date date = new Date();
SimpleDateFormat d = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat d = new SimpleDateFormat("yyyy-MM-dd");
if (time.equals(d.format(date))){ if (time.equals(d.format(date))) {
return rb.setMsg("只能抓取今天之前的数据"); return rb.setMsg("只能抓取今天之前的数据");
} }
if (param.get("data") != null){ if (param.get("data") != null) {
Map<String, Object> data = (Map<String, Object>)param.get("data"); Map<String, Object> data = (Map<String, Object>) param.get("data");
if (data.get("salesAmount").toString() != null && !data.get("salesAmount").toString().equals("")){ if (data.get("salesAmount") != null && "true".equals(data.get("salesAmount").toString())) {
pullData(time); pullData(time);
} }
if (data.get("purchase").toString() != null && !data.get("purchase").toString().equals("")){ if (data.get("purchase") != null && "true".equals(data.get("purchase").toString())) {
crawlPurchaseService.pullData(time); crawlPurchaseService.pullData(time);
} }
if (data.get("salesDishes").toString() != null && !data.get("salesDishes").toString().equals("")){ if (data.get("salesDishes") != null && "true".equals(data.get("salesDishes").toString())) {
crawlSalesDishesService.pullData(time); crawlSalesDishesService.pullData(time);
} }
return rb.success().setMsg("抓取成功"); return rb.success().setMsg("抓取成功");

4
yxt-supervise-dbcenter/yxt-supervise-dbcenter-biz/src/test/java/com/yxt/supervise/dbcenter/YxtSuperviseDbcenterApplicationTests.java

@ -24,11 +24,11 @@ class YxtSuperviseDbcenterApplicationTests {
@Test @Test
void contextLoads() { void contextLoads() {
String currDay = "2023-07-20"; String currDay = "2023-08-08";
// crawlSalesAmountService.pullData(currDay); // crawlSalesAmountService.pullData(currDay);
// crawlSalesDishesService.pullData(currDay); // crawlSalesDishesService.pullData(currDay);
crawlPurchaseService.pullData(currDay); // crawlPurchaseService.pullData(currDay);
} }

2
yxt-supervise-dbcenter/yxt-supervise-dbcenter-ui/.env.development

@ -5,5 +5,5 @@ ENV = 'development'
VUE_APP_BASE_API = '/api' VUE_APP_BASE_API = '/api'
## 配置测试和本地开发时的 接口地址 ## 配置测试和本地开发时的 接口地址
VUE_APP_URL = "http://192.168.1.177:7109" VUE_APP_URL = "http://127.0.0.1:7109"
##VUE_APP_URL = "http://8.130.39.13:8112" ##VUE_APP_URL = "http://8.130.39.13:8112"

746
yxt-supervise-dbcenter/yxt-supervise-dbcenter-ui/src/views/inquireStatistics/index.vue

@ -1,476 +1,348 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<div class="search"> <div class="search">
<el-form ref="queryParams" :inline="true" :model="queryParams" class="tab-header"> <el-form ref="queryParams" :inline="true" :model="queryParams" class="tab-header">
<span style="font-size: 16px;font-weight: 500">品牌</span> <span style="font-size: 16px;font-weight: 500">品牌</span>
<el-select <el-select v-model="queryParams.params.brandName" placeholder="请选择品牌" style="width: 120px;margin-left: 10px;" @change="change($event)">
v-model="queryParams.params.brandName" <el-option v-for="(item, i) in ListName" :key="i" :label="item.name" :value="item.name" />
placeholder="请选择品牌" </el-select>
style="width: 120px;margin-left: 10px;" <span style="font-size: 16px;font-weight: 500;margin-left: 10px;">门店</span>
@change="change($event)" <el-select v-model="queryParams.params.storeName" placeholder="请选择门店" style="width: 120px;margin-left: 10px;" :disabled="chooseStore">
> <el-option v-for="(item, i) in apparatusListName" :key="i" :label="item.name" :value="item.name" />
<el-option </el-select>
v-for="(item, i) in ListName" <el-form-item label="到货日期" style="margin-left: 10px;margin-top: 3px;">
:key="i" <el-date-picker v-model="queryParams.params.fromTime" type="date" clearable :picker-options="pickerOptions" value-format="yyyy-MM-dd" placeholder="选择日期" />
:label="item.name" <span style="padding: 0 8px"></span>
:value="item.name" <el-date-picker v-model="queryParams.params.endTime" type="date" clearable :picker-options="pickerOptions" value-format="yyyy-MM-dd" placeholder="选择日期" />
/> </el-form-item>
</el-select> <el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button>
<span style="font-size: 16px;font-weight: 500;margin-left: 10px;">门店</span> <el-button type="primary" size="small" icon="el-icon-refresh" @click="resetSearch">重置</el-button>
<el-select <el-button type="primary" size="small" icon="el-icon-refresh" style="margin-left: 108px;" @click="captruedatas()">手动抓取</el-button>
v-model="queryParams.params.storeName" </el-form>
placeholder="请选择门店" </div>
style="width: 120px;margin-left: 10px;" <div class="listconadd" style="padding: 20px;">
:disabled="chooseStore" <el-table v-loading="tableLoading" :default-sort="{prop: 'date', order: 'descending'}" :data="tableData" border style="width: 100%">
> <el-table-column label="序号" width="55px" :index="indexMethod" type="index" align="center" />
<el-option <el-table-column prop="enpName" label="厂家" width="100px" align="center" />
v-for="(item, i) in apparatusListName" <el-table-column prop="name" label="品牌" align="center" width="100px" />
:key="i" <el-table-column prop="storeName" label="门店" align="center" />
:label="item.name" <el-table-column prop="dataDate" label="日期" sortable align="center" width="150px" />
:value="item.name" <el-table-column prop="salesAmount" label="销售额" align="center" width="100px" />
/> <el-table-column prop="proportion" label="成本信息" align="center" :formatter="to2">
</el-select> <template slot-scope="scope">
<el-form-item label="到货日期" style="margin-left: 10px;margin-top: 3px;"> <div v-for="(item,index) in scope.row.proportion" slot="reference" :key="index" class="name-wrapper">
<el-date-picker <div v-for="(item,index) in item" slot="reference" :key="index">
v-model="queryParams.params.fromTime"
type="date"
clearable
:picker-options="pickerOptions"
value-format="yyyy-MM-dd"
placeholder="选择日期"
/>
<span style="padding: 0 8px"></span>
<el-date-picker
v-model="queryParams.params.endTime"
type="date"
clearable
:picker-options="pickerOptions"
value-format="yyyy-MM-dd"
placeholder="选择日期"
/>
</el-form-item>
<el-button
type="primary"
size="small"
icon="el-icon-search"
@click="dosearch"
>查询</el-button
>
<el-button
type="primary"
size="small"
icon="el-icon-refresh"
@click="resetSearch"
>重置</el-button
>
<el-button
type="primary"
size="small"
icon="el-icon-refresh"
style="margin-left: 108px;"
@click="captruedatas()"
>手动抓取</el-button
>
</el-form>
</div>
<div class="listconadd" style="padding: 20px;">
<el-table v-loading="tableLoading" :default-sort = "{prop: 'date', order: 'descending'}" :data="tableData" border style="width: 100%" >
<el-table-column label="序号" width="55px" :index="indexMethod" type="index" align="center"></el-table-column>
<el-table-column prop="enpName" label="厂家" width="100px" align="center">
</el-table-column>
<el-table-column prop="name" label="品牌" align="center" width="100px">
</el-table-column>
<el-table-column prop="storeName" label="门店" align="center" >
</el-table-column>
<el-table-column prop="dataDate" label="日期" sortable align="center" width="150px">
</el-table-column>
<el-table-column prop="salesAmount" label="销售额" align="center" width="100px">
</el-table-column>
<el-table-column prop="proportion" label="成本信息" align="center" :formatter="to2" >
<template slot-scope="scope">
<div slot="reference" class="name-wrapper" v-for="(item,index) in scope.row.proportion" :key="index">
<div slot="reference" v-for="(item,index) in item" :key="index" >
{{ item }} {{ item }}
</div>
</div> </div>
</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="totalCount" label="合计成本金额" align="center" width="100px" :formatter="to2" > <el-table-column prop="totalCount" label="合计成本金额" align="center" width="100px" :formatter="to2" />
</el-table-column> <el-table-column label="明细信息" align="center" width="170px">
<el-table-column label="明细信息" align="center" width="170px"> <template slot-scope="scope">
<template slot-scope="scope"> <el-button type="primary" size="mini" @click="purchase(scope.row)">
<el-button 采购
type="primary" </el-button>
size="mini" <el-button type="primary" size="mini" @click="market(scope.row)">
@click="purchase(scope.row)" 销售
> </el-button>
采购 </template>
</el-button> </el-table-column>
<el-button type="primary" size="mini" @click="market(scope.row)">
销售
</el-button>
</template>
</el-table-column>
</el-table>
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination
:total="queryParams.total"
:page.sync="queryParams.current"
:limit.sync="queryParams.size"
@pagination="getPageList"
/>
</div>
<!-- 销售详细信息 -->
<el-dialog
:title="dialogTitle + '详细信息'"
:visible.sync="editDialog"
width="70%"
>
<el-table ref="datalist" @mouseover.native="mouseEnter()" @mouseout.native="mouseLeave()" :data="tableXiaoshou" height="420" border style="width: 100%">
<el-table-column
property="dataDate"
label="数据日期"
width="100px"
align="center"
></el-table-column>
<el-table-column
property="storeName"
label="门店名称"
align="center"
></el-table-column>
<el-table-column
property="dishesName"
label="菜品名称"
align="center"
></el-table-column>
<el-table-column
property="salesCount"
label="数量"
width="100px"
align="center"
></el-table-column>
<el-table-column
property="unit"
label="规格单位"
width="100px"
align="center"
></el-table-column>
<el-table-column
property="salesPrice"
label="单价(元)"
width="100px"
align="center"
></el-table-column>
</el-table> </el-table>
</el-dialog>
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination :total="queryParams.total" :page.sync="queryParams.current" :limit.sync="queryParams.size" @pagination="getPageList" />
</div> </div>
<!-- 销售详细信息 -->
<el-dialog :title="dialogTitle + '详细信息'" :visible.sync="editDialog" width="70%">
<el-table ref="datalist" :data="tableXiaoshou" height="420" border style="width: 100%" @mouseover.native="mouseEnter()" @mouseout.native="mouseLeave()">
<el-table-column property="dataDate" label="数据日期" width="100px" align="center" />
<el-table-column property="storeName" label="门店名称" align="center" />
<el-table-column property="dishesName" label="菜品名称" align="center" />
<el-table-column property="salesCount" label="数量" width="100px" align="center" />
<el-table-column property="unit" label="规格单位" width="100px" align="center" />
<el-table-column property="salesPrice" label="单价(元)" width="100px" align="center" />
</el-table>
</el-dialog>
</div>
<!-- 采购详细信息 --> <!-- 采购详细信息 -->
<el-dialog <el-dialog :title="dialogTitle + '详细信息'" :visible.sync="entry" width="70%">
:title="dialogTitle + '详细信息'" <el-table ref="datalist" :data="tableCaigou" height="420" border style="width: 100%" @mouseover.native="mouseEnter()" @mouseout.native="mouseLeave()">
:visible.sync="entry" <el-table-column property="dataDate" width="100px" label="数据日期" align="center" />
width="70%" <el-table-column property="storeName" label="门店名称" align="center" />
> <el-table-column property="purchaseDate" label="采购日期" align="center" width="100px" />
<el-table ref="datalist" @mouseover.native="mouseEnter()" @mouseout.native="mouseLeave()" :data="tableCaigou" height="420" border style="width: 100%"> <el-table-column property="materialName" label="物料名称" align="center" />
<el-table-column
property="dataDate"
width="100px"
label="数据日期"
align="center"
></el-table-column>
<el-table-column
property="storeName"
label="门店名称"
align="center"
></el-table-column>
<el-table-column
property="purchaseDate"
label="采购日期"
align="center"
width="100px"
></el-table-column>
<el-table-column
property="materialName"
label="物料名称"
align="center"
></el-table-column>
<!-- <el-table-column <!-- <el-table-column
property="unit" property="unit"
label="规格单位" label="规格单位"
></el-table-column> --> ></el-table-column> -->
<el-table-column <el-table-column property="purchaseCount" label="采购数量" align="center" width="100px" />
property="purchaseCount" <el-table-column property="purchaseAmount" label="采购金额(元)" align="center" width="100px" />
label="采购数量" <el-table-column property="taxPrice" width="100px" align="center" label="含税单价" />
align="center"
width="100px"
></el-table-column>
<el-table-column
property="purchaseAmount"
label="采购金额(元)"
align="center"
width="100px"
></el-table-column>
<el-table-column
property="taxPrice"
width="100px"
align="center"
label="含税单价"
></el-table-column>
</el-table> </el-table>
</el-dialog> </el-dialog>
<!-- 手动抓取数据 --> <!-- 手动抓取数据 -->
<el-dialog <el-dialog :title="dialogTitle + '数据'" :visible.sync="captrue" width="40%">
:title="dialogTitle + '数据'" <el-form ref="ruleForm" :model="ruleForm" label-width="100px" class="demo-ruleForm">
:visible.sync="captrue" <el-form-item label="抓取时间" required>
width="40%"> <el-col :span="11">
<el-form :model="ruleForm" ref="ruleForm" label-width="100px" class="demo-ruleForm"> <el-form-item>
<el-form-item label="抓取时间" required> <el-date-picker v-model="ruleForm.time" type="date" placeholder="选择日期" value-format="yyyy-MM-dd" :picker-options="pickerOptions" style="width: 100%;" />
<el-col :span="11"> </el-form-item>
<el-form-item > </el-col>
<el-date-picker type="date" placeholder="选择日期" value-format="yyyy-MM-dd" :picker-options="pickerOptions" v-model="ruleForm.time" style="width: 100%;"></el-date-picker> </el-form-item>
</el-form-item> <el-form-item label="抓取内容" required>
</el-col> <el-checkbox v-model="ruleForm.data.salesAmount" label="抓取实时金额" />
</el-form-item> <el-checkbox v-model="ruleForm.data.salesDishes" label="抓取菜品销量信息" />
<el-form-item label="抓取内容" required> <el-checkbox v-model="ruleForm.data.purchase" label="抓取采购信息" />
<el-checkbox label="抓取实时金额" v-model="ruleForm.data.salesAmount"></el-checkbox> </el-form-item>
<el-checkbox label="抓取采购信息" v-model="ruleForm.data.purchase"></el-checkbox> <el-form-item>
<el-checkbox label="抓取菜品销量信息" v-model="ruleForm.data.salesDishes"></el-checkbox> <el-button type="primary" @click="submitForm()">立即抓取</el-button>
</el-form-item> <el-button @click="resetForm()">重置</el-button>
<el-form-item> </el-form-item>
<el-button type="primary" @click="submitForm()">立即抓取</el-button> </el-form>
<el-button @click="resetForm()">重置</el-button>
</el-form-item>
</el-form>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import {listPage,selectPurchaseList,selectSalesDishes,handCrawl,selectBrandList,selectStoreList} from '@/api/Zhj/inquireStatistics/index.js' import {
import Pagination from '@/components/pagination' listPage,
export default { selectPurchaseList,
components: { selectSalesDishes,
Pagination handCrawl,
}, selectBrandList,
data() { selectStoreList
return { } from '@/api/Zhj/inquireStatistics/index.js'
rollPx:1, import Pagination from '@/components/pagination'
rolltime:50, export default {
dialogTitle: "", components: {
editDialog: false, Pagination
entry: false, },
tableLoading: false, data() {
captrue:false, return {
form: {}, rollPx: 1,
rolltimmer:'', rolltime: 50,
chooseStore:true, dialogTitle: '',
formBackup: Object.assign({}, this.form), editDialog: false,
apparatusListName:{}, entry: false,
ListName:{}, tableLoading: false,
tableData: [], captrue: false,
tableCaigou:[], form: {},
tableXiaoshou:[], rolltimmer: '',
student: {}, chooseStore: true,
captrueData:{}, formBackup: Object.assign({}, this.form),
ruleForm: { apparatusListName: {},
ListName: {},
tableData: [],
tableCaigou: [],
tableXiaoshou: [],
student: {},
captrueData: {},
ruleForm: {
time: '', time: '',
data:{ data: {
salesAmount:'', salesAmount: '',
purchase:'', purchase: '',
salesDishes:'' salesDishes: ''
} }
}, },
queryParams: { queryParams: {
current: 1, current: 1,
size: 10, size: 10,
total: 0, total: 0,
params: { params: {
StoreName: "", StoreName: '',
brandName: "", brandName: '',
fromTime: "", fromTime: '',
endTime: "", endTime: ''
}
}, },
}, pickerOptions: {
pickerOptions:{ disabledDate(time) {
disabledDate(time){ return time.getTime() > Date.now() - 8.64e7 // -8.64e7
return time.getTime()> Date.now()- 8.64e7;// -8.64e7
} }
}
} }
};
},
mounted() {
selectBrandList().then((res)=>{
this.ListName = res.data
})
},
created() {
this.getPageList()
},
methods: {
resetSearch() {
//
this.queryParams = {
total: 0, //
current: 1, //
size: 10, //
params: {
StoreName: "",
brandName:'',
fromTime: "",
endTime: "",
},
};
this.chooseStore=true
this.getPageList();
},
to2(row,col,val){
return parseFloat(val).toFixed(2)
}, },
getPageList() { mounted() {
this.tableLoading = true selectBrandList().then((res) => {
const _this=this this.ListName = res.data
listPage(this.queryParams).then((res) => {
this.tableLoading = false
if (res.success) {
this.queryParams.total = res.data.total
_this.tableData=res.data.records
console.log(res.data.records[0].proportion[0]);
} else {
// resp.code
_this.tableData = []
this.queryParams.total = 0
}
}).catch(() => {
this.tableLoading = false
}) })
}, },
// created() {
indexMethod(index) { this.getPageList()
},
methods: {
resetSearch() {
//
this.queryParams = {
total: 0, //
current: 1, //
size: 10, //
params: {
StoreName: '',
brandName: '',
fromTime: '',
endTime: ''
}
}
this.chooseStore = true
this.getPageList()
},
to2(row, col, val) {
return parseFloat(val).toFixed(2)
},
getPageList() {
this.tableLoading = true
const _this = this
listPage(this.queryParams).then((res) => {
this.tableLoading = false
if (res.success) {
this.queryParams.total = res.data.total
_this.tableData = res.data.records
console.log(res.data.records[0].proportion[0])
} else {
// resp.code
_this.tableData = []
this.queryParams.total = 0
}
}).catch(() => {
this.tableLoading = false
})
},
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart var pageindex = index + 1 + pagestart
return pageindex return pageindex
}, },
// uniqueName(arr) { // uniqueName(arr) {
// const res = new Map(); // const res = new Map();
// return arr.filter((arr) => !res.has(arr.storeName) && res.set(arr.storeName, 1)); // return arr.filter((arr) => !res.has(arr.storeName) && res.set(arr.storeName, 1));
// }, // },
// uniqueName1(arr) { // uniqueName1(arr) {
// const res = new Map(); // const res = new Map();
// return arr.filter((arr) => !res.has(arr.name) && res.set(arr.name, 1)); // return arr.filter((arr) => !res.has(arr.name) && res.set(arr.name, 1));
// }, // },
reset() { reset() {
this.form = {}; this.form = {}
}, },
// //
change(e){ change(e) {
if(e){ if (e) {
this.chooseStore=false this.chooseStore = false
selectStoreList({ brandName: e}).then((res)=>{ selectStoreList({
this.apparatusListName=res.data brandName: e
}) }).then((res) => {
} this.apparatusListName = res.data
}, })
store(){ }
console.log(777777777); },
}, store() {
purchase(row) { console.log(777777777)
this.dialogTitle = "采购"; },
this.entry = true; purchase(row) {
selectPurchaseList(row).then((res)=>{ this.dialogTitle = '采购'
this.tableCaigou=res.data this.entry = true
}) selectPurchaseList(row).then((res) => {
}, this.tableCaigou = res.data
market(row) {
this.dialogTitle = "销售";
this.editDialog = true;
selectSalesDishes(row).then((res)=>{
this.tableXiaoshou=res.data
})
},
//
dosearch() {
this.getPageList();
},
autoRoll(stop){
if(stop){
clearInterval(this.rolltimmer);
return;
}
const table=this.$refs.datalist;
const divData=table.bodyWrapper;
this.rolltimmer=setInterval(()=>{
divData.scrollTop+=this.rollPx;
if(divData.clientHeight+divData.scrollTop>=divData.scrollHeight){
divData.scrollTop=0;
}
},this.rolltime);
},
//
mouseEnter(time){
this.autoRoll(true);
},
//
mouseLeave(){
this.autoRoll();
},
//
captruedatas(){
this.dialogTitle = "抓取";
this.captrue=true
},
submitForm() {
if(this.ruleForm.time===''){
this.$message({
showClose: true,
message: '请选择时间',
type: 'warning'
});
}else if(this.ruleForm.data.salesAmount || this.ruleForm.data.purchase || this.ruleForm.data.salesDishes){
this.captrue=false
handCrawl(this.ruleForm).then((res)=>{
if(res.code==200){
this.$message({
message: '抓取成功',
type: 'success'
});
this.resetForm()
this.getPageList();
}
}) })
}else{ },
this.$message({ market(row) {
showClose: true, this.dialogTitle = '销售'
message: '请至少选择一条数据', this.editDialog = true
type: 'warning' selectSalesDishes(row).then((res) => {
}); this.tableXiaoshou = res.data
} })
}, },
resetForm() { //
this.ruleForm= { dosearch() {
this.getPageList()
},
autoRoll(stop) {
if (stop) {
clearInterval(this.rolltimmer)
return
}
const table = this.$refs.datalist
const divData = table.bodyWrapper
this.rolltimmer = setInterval(() => {
divData.scrollTop += this.rollPx
if (divData.clientHeight + divData.scrollTop >= divData.scrollHeight) {
divData.scrollTop = 0
}
}, this.rolltime)
},
//
mouseEnter(time) {
this.autoRoll(true)
},
//
mouseLeave() {
this.autoRoll()
},
//
captruedatas() {
this.dialogTitle = '抓取'
this.captrue = true
},
submitForm() {
if (this.ruleForm.time === '') {
this.$message({
showClose: true,
message: '请选择时间',
type: 'warning'
})
} else if (this.ruleForm.data.salesAmount || this.ruleForm.data.purchase || this.ruleForm.data.salesDishes) {
console.log('KKKKK ', this.ruleForm)
handCrawl(this.ruleForm).then((res) => {
console.log('handCrawl--res', res)
if (res.success) {
this.$message({
message: '抓取成功',
type: 'success'
})
this.captrue = false
this.resetForm()
this.getPageList()
}
}).catch(e => {
console.log('handCrawl--eee', e)
})
} else {
this.$message({
showClose: true,
message: '请至少选择一条数据',
type: 'warning'
})
}
},
resetForm() {
this.ruleForm = {
time: '', time: '',
data:{ data: {
salesAmount:'', salesAmount: '',
purchase:'', purchase: '',
salesDishes:'' salesDishes: ''
} }
} }
}
} }
}, }
};
</script> </script>
<style scoped="scoped" > <style scoped="scoped">
/deep/ .el-dialog__title {
/deep/ .el-dialog__title{
color: #000; color: #000;
font-size: 24px; font-size: 24px;
} }
.my-tabs {
margin-top: 10px; .my-tabs {
} margin-top: 10px;
</style> }
</style>

Loading…
Cancel
Save