|
|
@@ -3,6 +3,7 @@ package com.ydtech.modules.largescreen.controller;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.beust.ah.A;
|
|
|
import com.ydtech.core.page.HttpResult;
|
|
|
import com.ydtech.modules.largescreen.model.*;
|
|
|
import com.ydtech.modules.largescreen.model.query.CompanyQuery;
|
|
|
@@ -16,7 +17,9 @@ import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.Optional;
|
|
|
|
|
|
@Api(tags = "数据大屏")
|
|
|
@RestController
|
|
|
@@ -29,17 +32,18 @@ public class DataController {
|
|
|
|
|
|
/**
|
|
|
* 保险公司成交数据
|
|
|
+ *
|
|
|
* @param dataQuery
|
|
|
* @return
|
|
|
*/
|
|
|
@PostMapping("companySumDataChart")
|
|
|
- public HttpResult companySumDataChart(@RequestBody(required=false) DataQuery dataQuery) {
|
|
|
+ public HttpResult companySumDataChart(@RequestBody(required = false) DataQuery dataQuery) {
|
|
|
List<AgreementData> sumData = dataService.getCompanySumData(dataQuery);
|
|
|
//转换格式
|
|
|
int rows = 6;
|
|
|
int columns = sumData.size();
|
|
|
String[][] result = new String[rows][columns];
|
|
|
- sumData.forEach(item->{
|
|
|
+ sumData.forEach(item -> {
|
|
|
int i = sumData.indexOf(item);
|
|
|
result[0][i] = item.getInsuranceCompany();
|
|
|
result[1][i] = item.getJqPremium();
|
|
|
@@ -52,20 +56,11 @@ public class DataController {
|
|
|
}
|
|
|
|
|
|
@PostMapping("companySumData")
|
|
|
- public HttpResult companySumData(@RequestBody(required=false) DataQuery dataQuery) {
|
|
|
+ public HttpResult companySumData(@RequestBody(required = false) DataQuery dataQuery) {
|
|
|
List<AgreementData> sumData = dataService.getCompanySumData(dataQuery);
|
|
|
String[][] result = new String[sumData.size()][7];
|
|
|
-// int index = (int)Math.ceil(sumData.size()/6);
|
|
|
-// int rows = 6;
|
|
|
-// AgreementData[][] result = new AgreementData[index][rows];
|
|
|
-// for(int i=0;i<index;i++){
|
|
|
-//
|
|
|
-// int len = i==0 ? 6 : sumData.size() - ((i) * 6);
|
|
|
-// for(int k=0;k<len;k++){
|
|
|
-// result[i][k] = sumData.get(i*6+k);
|
|
|
-// }
|
|
|
-// }
|
|
|
- sumData.forEach(item->{
|
|
|
+
|
|
|
+ sumData.forEach(item -> {
|
|
|
int i = sumData.indexOf(item);
|
|
|
result[i][0] = item.getInsuranceCompanyId();
|
|
|
result[i][1] = item.getInsuranceCompany();
|
|
|
@@ -81,64 +76,67 @@ public class DataController {
|
|
|
|
|
|
/**
|
|
|
* 订单状态数据
|
|
|
+ *
|
|
|
* @param dataQuery
|
|
|
* @return
|
|
|
*/
|
|
|
@PostMapping("orderStatusData")
|
|
|
- public HttpResult orderStatusData(@RequestBody(required=false) DataQuery dataQuery) {
|
|
|
+ public HttpResult orderStatusData(@RequestBody(required = false) DataQuery dataQuery) {
|
|
|
List<CompanyData> sumData = dataService.getCompanyOrderStatusData(dataQuery);
|
|
|
|
|
|
//转换格式
|
|
|
int rows = 6;
|
|
|
int columns = sumData.size();
|
|
|
String[][] result = new String[rows][columns];
|
|
|
- sumData.forEach(item->{
|
|
|
+ sumData.forEach(item -> {
|
|
|
int i = sumData.indexOf(item);
|
|
|
result[0][i] = item.getCompanyName();
|
|
|
- result[1][i] = checkOrderStatus(item.getOrderStatusData(),"0");
|
|
|
- result[2][i] = checkOrderStatus(item.getOrderStatusData(),"1");
|
|
|
- result[3][i] = checkOrderStatus(item.getOrderStatusData(),"2");
|
|
|
- result[4][i] = checkOrderStatus(item.getOrderStatusData(),"3");
|
|
|
- result[5][i] = checkOrderStatus(item.getOrderStatusData(),"4");
|
|
|
+ result[1][i] = checkOrderStatus(item.getOrderStatusData(), "0");
|
|
|
+ result[2][i] = checkOrderStatus(item.getOrderStatusData(), "1");
|
|
|
+ result[3][i] = checkOrderStatus(item.getOrderStatusData(), "2");
|
|
|
+ result[4][i] = checkOrderStatus(item.getOrderStatusData(), "3");
|
|
|
+ result[5][i] = checkOrderStatus(item.getOrderStatusData(), "4");
|
|
|
});
|
|
|
return HttpResult.ok(result);
|
|
|
}
|
|
|
|
|
|
- private String checkOrderStatus(List<OrderStatusData> orderStatusData,String status){
|
|
|
+ private String checkOrderStatus(List<OrderStatusData> orderStatusData, String status) {
|
|
|
OrderStatusData orderStatusData1 = orderStatusData.stream()
|
|
|
.filter(item1 -> item1.getOrderStatusCode().equals(status))
|
|
|
.findFirst()
|
|
|
.orElse(null);
|
|
|
- if(orderStatusData1 == null){
|
|
|
+ if (orderStatusData1 == null) {
|
|
|
return "0";
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
return String.valueOf(orderStatusData1.getSumOrderNum());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取山西地图数据
|
|
|
+ *
|
|
|
* @param dataQuery
|
|
|
* @return
|
|
|
*/
|
|
|
@PostMapping("mapData")
|
|
|
- public HttpResult mapData(@RequestBody(required=false) DataQuery dataQuery){
|
|
|
+ public HttpResult mapData(@RequestBody(required = false) DataQuery dataQuery) {
|
|
|
List<MapData> mapData = dataService.getMapData(dataQuery);
|
|
|
return HttpResult.ok(mapData);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取一周内的数据
|
|
|
+ *
|
|
|
* @return
|
|
|
*/
|
|
|
@PostMapping("weekData")
|
|
|
- public HttpResult weekData(){
|
|
|
+ public HttpResult weekData() {
|
|
|
List<OrderStatusData> weekData = dataService.getWeekData();
|
|
|
//转换格式
|
|
|
int rows = 6;
|
|
|
int columns = weekData.size();
|
|
|
String[][] result = new String[rows][columns];
|
|
|
- weekData.forEach(item->{
|
|
|
+ weekData.forEach(item -> {
|
|
|
int i = weekData.indexOf(item);
|
|
|
result[0][i] = item.getDate();
|
|
|
result[1][i] = item.getJqPremium();
|
|
|
@@ -152,16 +150,17 @@ public class DataController {
|
|
|
|
|
|
/**
|
|
|
* 获取一月内的数据
|
|
|
+ *
|
|
|
* @return
|
|
|
*/
|
|
|
@PostMapping("monthData")
|
|
|
- public HttpResult monthData(){
|
|
|
+ public HttpResult monthData() {
|
|
|
List<OrderStatusData> monthData = dataService.getMonthData();
|
|
|
//转换格式
|
|
|
int rows = 6;
|
|
|
int columns = monthData.size();
|
|
|
String[][] result = new String[rows][columns];
|
|
|
- monthData.forEach(item->{
|
|
|
+ monthData.forEach(item -> {
|
|
|
int i = monthData.indexOf(item);
|
|
|
result[0][i] = item.getDate();
|
|
|
result[1][i] = item.getJqPremium();
|
|
|
@@ -174,13 +173,13 @@ public class DataController {
|
|
|
}
|
|
|
|
|
|
@PostMapping("yearData")
|
|
|
- public HttpResult yearData(){
|
|
|
+ public HttpResult yearData() {
|
|
|
List<OrderStatusData> yearData = dataService.getYearData();
|
|
|
//转换格式
|
|
|
int rows = 6;
|
|
|
int columns = yearData.size();
|
|
|
String[][] result = new String[rows][columns];
|
|
|
- yearData.forEach(item->{
|
|
|
+ yearData.forEach(item -> {
|
|
|
int i = yearData.indexOf(item);
|
|
|
result[0][i] = item.getDate();
|
|
|
result[1][i] = item.getJqPremium();
|
|
|
@@ -196,11 +195,10 @@ public class DataController {
|
|
|
* 获取当天已承包数据
|
|
|
*/
|
|
|
@PostMapping("todayData")
|
|
|
- public HttpResult todayData(@RequestBody DataQuery dataQuery){
|
|
|
+ public HttpResult todayData(@RequestBody DataQuery dataQuery) {
|
|
|
dataQuery.setOrderStatus("3");
|
|
|
List<OrderStatusData> orderStatusData = dataService.getOrderStatusData(dataQuery);
|
|
|
- if(orderStatusData.isEmpty())
|
|
|
- {
|
|
|
+ if (orderStatusData.isEmpty()) {
|
|
|
return HttpResult.error("当天无已承包数据");
|
|
|
}
|
|
|
ToDayData toDayData = JSON.parseObject(JSON.toJSONString(orderStatusData.get(0)), ToDayData.class);
|
|
|
@@ -211,27 +209,26 @@ public class DataController {
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
/**
|
|
|
* 获取公司数据
|
|
|
+ *
|
|
|
* @return
|
|
|
*/
|
|
|
@PostMapping("companys")
|
|
|
- public HttpResult companys(){
|
|
|
+ public HttpResult companys() {
|
|
|
return HttpResult.ok(dataService.getCompanys());
|
|
|
}
|
|
|
|
|
|
@PostMapping("getCompanyDataById")
|
|
|
- public HttpResult getCompanyDataById(@RequestBody CompanyQuery companyQuery){
|
|
|
+ public HttpResult getCompanyDataById(@RequestBody CompanyQuery companyQuery) {
|
|
|
//查询单交
|
|
|
companyQuery.setProductId("0330");
|
|
|
CompanyInfoData djCompanyInfoData = new CompanyInfoData();
|
|
|
List<CompanyInfoData> companySumData = dataService.getCompanyDataById(companyQuery);
|
|
|
- companySumData.forEach(item->{
|
|
|
+ companySumData.forEach(item -> {
|
|
|
item.setInsurance("单交");
|
|
|
Double d = Double.parseDouble(item.getTaxSumPremium()) / Double.parseDouble(item.getJqSumPremium()) * 100;
|
|
|
- item.setRatio(d.equals(Double.NaN) ? "0.00%" : String.format("%.2f%%",d));
|
|
|
+ item.setRatio(d.equals(Double.NaN) ? "0.00%" : String.format("%.2f%%", d));
|
|
|
// item.setRatio(String.format("%.2f%%",d));
|
|
|
djCompanyInfoData.setJqSumPremium(
|
|
|
String.valueOf(Double.parseDouble(djCompanyInfoData.getJqSumPremium()) + Double.parseDouble(item.getJqSumPremium())));
|
|
|
@@ -249,18 +246,18 @@ public class DataController {
|
|
|
//小计
|
|
|
djCompanyInfoData.setInsurance("单交");
|
|
|
djCompanyInfoData.setJqPremium("小计");
|
|
|
- djCompanyInfoData.setTaxSumPremium(String.format("%.2f",Double.parseDouble(djCompanyInfoData.getTaxSumPremium())));
|
|
|
- djCompanyInfoData.setJqSumPremium(String.format("%.2f",Double.parseDouble(djCompanyInfoData.getJqSumPremium())));
|
|
|
- djCompanyInfoData.setSySumPremium(String.format("%.2f",Double.parseDouble(djCompanyInfoData.getSySumPremium())));
|
|
|
+ djCompanyInfoData.setTaxSumPremium(String.format("%.2f", Double.parseDouble(djCompanyInfoData.getTaxSumPremium())));
|
|
|
+ djCompanyInfoData.setJqSumPremium(String.format("%.2f", Double.parseDouble(djCompanyInfoData.getJqSumPremium())));
|
|
|
+ djCompanyInfoData.setSySumPremium(String.format("%.2f", Double.parseDouble(djCompanyInfoData.getSySumPremium())));
|
|
|
companySumData.add(djCompanyInfoData);
|
|
|
//查询交三
|
|
|
CompanyInfoData jsCompanyInfoData = new CompanyInfoData();
|
|
|
companyQuery.setProductId("0330034002");
|
|
|
List<CompanyInfoData> companyDataById = dataService.getCompanyDataById(companyQuery);
|
|
|
- companyDataById.forEach(item->{
|
|
|
+ companyDataById.forEach(item -> {
|
|
|
item.setInsurance("交三");
|
|
|
Double d = Double.parseDouble(item.getTaxSumPremium()) / Double.parseDouble(item.getJqSumPremium()) * 100;
|
|
|
- item.setRatio(d.equals(Double.NaN) ? "0.00%" : String.format("%.2f%%",d));
|
|
|
+ item.setRatio(d.equals(Double.NaN) ? "0.00%" : String.format("%.2f%%", d));
|
|
|
jsCompanyInfoData.setJqSumPremium(
|
|
|
String.valueOf(Double.parseDouble(jsCompanyInfoData.getJqSumPremium()) + Double.parseDouble(item.getJqSumPremium())));
|
|
|
jsCompanyInfoData.setSySumPremium(
|
|
|
@@ -278,18 +275,21 @@ public class DataController {
|
|
|
//小计
|
|
|
jsCompanyInfoData.setInsurance("交三");
|
|
|
jsCompanyInfoData.setJqPremium("小计");
|
|
|
- jsCompanyInfoData.setTaxSumPremium(String.format("%.2f",Double.parseDouble(jsCompanyInfoData.getTaxSumPremium())));
|
|
|
- jsCompanyInfoData.setJqSumPremium(String.format("%.2f",Double.parseDouble(jsCompanyInfoData.getJqSumPremium())));
|
|
|
- jsCompanyInfoData.setSySumPremium(String.format("%.2f",Double.parseDouble(jsCompanyInfoData.getSySumPremium())));
|
|
|
+ jsCompanyInfoData.setTaxSumPremium(String.format("%.2f", Double.parseDouble(jsCompanyInfoData.getTaxSumPremium())));
|
|
|
+ jsCompanyInfoData.setJqSumPremium(String.format("%.2f", Double.parseDouble(jsCompanyInfoData.getJqSumPremium())));
|
|
|
+ jsCompanyInfoData.setSySumPremium(String.format("%.2f", Double.parseDouble(jsCompanyInfoData.getSySumPremium())));
|
|
|
companySumData.add(jsCompanyInfoData);
|
|
|
|
|
|
//合计
|
|
|
CompanyInfoData sumCompanyInfoData = new CompanyInfoData();
|
|
|
sumCompanyInfoData.setInsurance("合计");
|
|
|
sumCompanyInfoData.setSumOrderNum(djCompanyInfoData.getSumOrderNum() + jsCompanyInfoData.getSumOrderNum());
|
|
|
- sumCompanyInfoData.setTaxSumPremium(String.format("%.2f",Double.parseDouble(djCompanyInfoData.getTaxSumPremium()) + Double.parseDouble(jsCompanyInfoData.getTaxSumPremium())));
|
|
|
- sumCompanyInfoData.setJqSumPremium(String.format("%.2f",Double.parseDouble(djCompanyInfoData.getJqSumPremium()) + Double.parseDouble(jsCompanyInfoData.getJqSumPremium())));
|
|
|
- sumCompanyInfoData.setSySumPremium(String.format("%.2f",Double.parseDouble(djCompanyInfoData.getSySumPremium()) + Double.parseDouble(jsCompanyInfoData.getSySumPremium())));
|
|
|
+ sumCompanyInfoData.setTaxSumPremium(String.format("%.2f",
|
|
|
+ Double.parseDouble(djCompanyInfoData.getTaxSumPremium()) + Double.parseDouble(jsCompanyInfoData.getTaxSumPremium())));
|
|
|
+ sumCompanyInfoData.setJqSumPremium(String.format("%.2f",
|
|
|
+ Double.parseDouble(djCompanyInfoData.getJqSumPremium()) + Double.parseDouble(jsCompanyInfoData.getJqSumPremium())));
|
|
|
+ sumCompanyInfoData.setSySumPremium(String.format("%.2f",
|
|
|
+ Double.parseDouble(djCompanyInfoData.getSySumPremium()) + Double.parseDouble(jsCompanyInfoData.getSySumPremium())));
|
|
|
sumCompanyInfoData.setRatio(
|
|
|
String.format("%.2f%%",
|
|
|
Double.parseDouble(sumCompanyInfoData.getTaxSumPremium()) / Double.parseDouble(sumCompanyInfoData.getJqSumPremium()) * 100)
|
|
|
@@ -298,4 +298,79 @@ public class DataController {
|
|
|
return HttpResult.ok(companySumData);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ @PostMapping("listData")
|
|
|
+ public HttpResult listData(@RequestBody DataQuery dataQuery) {
|
|
|
+
|
|
|
+ if ((dataQuery.getStartDate() == null || "".equals(dataQuery.getStartDate())) && (dataQuery.getEndDate() == null || "".equals(dataQuery.getEndDate()))) {
|
|
|
+ // 获取当前日期
|
|
|
+ LocalDate currentDate = LocalDate.now();
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
+ dataQuery.setStartDate(currentDate.format(formatter) + " 00:00:00");
|
|
|
+ dataQuery.setEndDate(currentDate.format(formatter) + " 23:59:59");
|
|
|
+ }
|
|
|
+
|
|
|
+ List<CompanyData> sumData = dataService.getCompanyOrderStatusData(dataQuery);
|
|
|
+ List<ListData> listDatas = new ArrayList<>();
|
|
|
+
|
|
|
+ sumData.forEach(item -> {
|
|
|
+ ListData listData = new ListData();
|
|
|
+ listData.setInsuranceCompany(item.getCompanyName());
|
|
|
+ listData.setInsuranceCompanyId(item.getCompanyId());
|
|
|
+ Optional<OrderStatusData> first =
|
|
|
+ item.getOrderStatusData().stream().filter(x -> x.getOrderStatusCode().equals("3")).findFirst();
|
|
|
+ if (!first.isPresent()) {
|
|
|
+ listData.setJqPremium("0");
|
|
|
+ listData.setSyPremium("0");
|
|
|
+ listData.setTaxPremium("0");
|
|
|
+ listData.setSumPremium("0");
|
|
|
+ } else {
|
|
|
+ listData.setJqPremium(first.get().getJqPremium());
|
|
|
+ listData.setSyPremium(first.get().getSyPremium());
|
|
|
+ listData.setTaxPremium(first.get().getTaxPremium());
|
|
|
+ listData.setSumPremium(first.get().getSumPremium());
|
|
|
+ }
|
|
|
+
|
|
|
+ Optional<OrderStatusData> first1 =
|
|
|
+ item.getOrderStatusData().stream().filter(x -> x.getOrderStatusCode().equals("0")).findFirst();
|
|
|
+ if (!first1.isPresent()) {
|
|
|
+ listData.setQuoting("0");
|
|
|
+ } else {
|
|
|
+ listData.setQuoting(first1.get().getSumOrderNum().toString());
|
|
|
+ }
|
|
|
+ Optional<OrderStatusData> first2 =
|
|
|
+ item.getOrderStatusData().stream().filter(x -> x.getOrderStatusCode().equals("1")).findFirst();
|
|
|
+ if (!first2.isPresent()) {
|
|
|
+ listData.setUninsured("0");
|
|
|
+ } else {
|
|
|
+ listData.setUninsured(first2.get().getSumOrderNum().toString());
|
|
|
+ }
|
|
|
+ Optional<OrderStatusData> first3 =
|
|
|
+ item.getOrderStatusData().stream().filter(x -> x.getOrderStatusCode().equals("2")).findFirst();
|
|
|
+ if (!first3.isPresent()) {
|
|
|
+ listData.setUnderwrited("0");
|
|
|
+ } else {
|
|
|
+ listData.setUnderwrited(first3.get().getSumOrderNum().toString());
|
|
|
+ }
|
|
|
+ Optional<OrderStatusData> first4 =
|
|
|
+ item.getOrderStatusData().stream().filter(x -> x.getOrderStatusCode().equals("3")).findFirst();
|
|
|
+ if (!first4.isPresent()) {
|
|
|
+ listData.setInsured("0");
|
|
|
+ } else {
|
|
|
+ listData.setInsured(first4.get().getSumOrderNum().toString());
|
|
|
+ }
|
|
|
+ Optional<OrderStatusData> first5 =
|
|
|
+ item.getOrderStatusData().stream().filter(x -> x.getOrderStatusCode().equals("4")).findFirst();
|
|
|
+ if (!first5.isPresent()) {
|
|
|
+ listData.setUnderwriteReturn("0");
|
|
|
+ } else {
|
|
|
+ listData.setUnderwriteReturn(first5.get().getSumOrderNum().toString());
|
|
|
+ }
|
|
|
+ listDatas.add(listData);
|
|
|
+ });
|
|
|
+
|
|
|
+ return HttpResult.ok(listDatas);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|