wks 2 rokov pred
rodič
commit
3ccef718c0

+ 7 - 1
src/main/java/com/ydtech/modules/largescreen/dao/AgreementDataMapper.java

@@ -1,7 +1,7 @@
 package com.ydtech.modules.largescreen.dao;
 
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ydtech.modules.largescreen.model.*;
+import com.ydtech.modules.largescreen.model.dto.PtlInsuranceCompanyDTO;
 import com.ydtech.modules.largescreen.model.query.*;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -14,6 +14,12 @@ public interface AgreementDataMapper{
 
     List<AgreementData> getCompanySumData(DataQuery dataQuery);
 
+    /**
+     * 获取协议配置的保险公司
+     * @return 返回协议配置的保险公司
+     */
+    List<PtlInsuranceCompanyDTO> getPtlInsuranceCompany();
+
     List<OrderStatusData> getOrderStatusData(DataQuery dataQuery);
 
     List<MapData> getMapData(DataQuery dataQuery);

+ 16 - 2
src/main/java/com/ydtech/modules/largescreen/model/AgreementData.java

@@ -2,18 +2,22 @@ package com.ydtech.modules.largescreen.model;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.ydtech.modules.largescreen.model.dto.PtlInsuranceCompanyDTO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
 
 @Data
 @ApiModel(value = "大屏 综合数据")
+@AllArgsConstructor
+@NoArgsConstructor
 public class AgreementData implements Serializable {
-    private static final long serialVersionUID = 6098565535096545432L;
-
 
+    private static final long serialVersionUID = 6098565535096545432L;
 
     @ApiModelProperty(value = "保险公司id")
     public String insuranceCompanyId;
@@ -38,4 +42,14 @@ public class AgreementData implements Serializable {
 
     @ApiModelProperty(value = "日期")
     public String date;
+
+    public AgreementData(PtlInsuranceCompanyDTO ptlInsuranceCompanyDTO) {
+        this.insuranceCompanyId = ptlInsuranceCompanyDTO.getInsuranceCompanyId();
+        this.insuranceCompany = ptlInsuranceCompanyDTO.getInsuranceCompany();
+        this.sumOrderNum = 0;
+        this.sumPremium = "0";
+        this.jqPremium = "0";
+        this.syPremium = "0";
+        this.taxPremium = "0";
+    }
 }

+ 21 - 0
src/main/java/com/ydtech/modules/largescreen/model/dto/PtlInsuranceCompanyDTO.java

@@ -0,0 +1,21 @@
+package com.ydtech.modules.largescreen.model.dto;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class PtlInsuranceCompanyDTO  implements Serializable {
+
+    private static final long serialVersionUID = 6767537247337194115L;
+
+    private String insuranceCompanyId;
+
+    private String insuranceCompany;
+
+}

+ 42 - 26
src/main/java/com/ydtech/modules/largescreen/service/impl/AgreementDataService.java

@@ -6,12 +6,14 @@ import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
 import com.ydtech.modules.largescreen.dao.AgreementDataMapper;
 import com.ydtech.modules.largescreen.dao.InvInsuranceCompanySettlementsMapper;
 import com.ydtech.modules.largescreen.model.*;
+import com.ydtech.modules.largescreen.model.dto.PtlInsuranceCompanyDTO;
 import com.ydtech.modules.largescreen.model.query.*;
 import com.ydtech.modules.largescreen.service.IAgreementDataService;
 import com.ydtech.utils.idgen.IdGenerate;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
 import org.springframework.web.bind.annotation.RequestBody;
 
 import java.time.LocalDate;
@@ -20,7 +22,10 @@ import java.time.YearMonth;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoUnit;
 import java.util.ArrayList;
+import java.util.Comparator;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 @Service
 public class AgreementDataService implements IAgreementDataService {
@@ -32,7 +37,17 @@ public class AgreementDataService implements IAgreementDataService {
 
     @Override
     public List<AgreementData> getCompanySumData(DataQuery dataQuery) {
-        return agreementDataMapper.getCompanySumData(dataQuery);
+        List<AgreementData> companySumData = agreementDataMapper.getCompanySumData(dataQuery);
+        Map<String, AgreementData> collect = companySumData.stream().collect(Collectors.toMap(AgreementData::getInsuranceCompanyId, x -> x));
+        List<PtlInsuranceCompanyDTO> ptlInsuranceCompany = agreementDataMapper.getPtlInsuranceCompany();
+        return ptlInsuranceCompany.stream().map(x -> {
+                    AgreementData agreementData = collect.get(x.getInsuranceCompanyId());
+                    if (ObjectUtils.isEmpty(agreementData)) {
+                        return new AgreementData(x);
+                    }
+                    return agreementData;
+                }).sorted(((o1, o2) -> o2.getSumOrderNum() - o1.getSumOrderNum()))
+                .collect(Collectors.toList());
     }
 
     @Override
@@ -54,7 +69,7 @@ public class AgreementDataService implements IAgreementDataService {
     public List<CompanyData> getCompanyOrderStatusData(DataQuery dataQuery) {
         //获取有协议的保险公司
         List<CompanyData> companys = agreementDataMapper.getCompanys();
-        companys.forEach(item->{
+        companys.forEach(item -> {
             dataQuery.setCompanyId(item.getCompanyId());
             List<OrderStatusData> orderStatusData = agreementDataMapper.getOrderStatusData(dataQuery);
             List<OrderStatusData> newOrderStatusData = new ArrayList<>();
@@ -83,6 +98,7 @@ public class AgreementDataService implements IAgreementDataService {
 
     /**
      * 获取一周内的数据
+     *
      * @return
      */
     @Override
@@ -96,13 +112,13 @@ public class AgreementDataService implements IAgreementDataService {
             dataQuery.setEndDate(date + " 23:59:59");
             dataQuery.setOrderStatus("3");
             List<OrderStatusData> orderStatusData = agreementDataMapper.getOrderStatusData(dataQuery);
-            if(orderStatusData.isEmpty()){
+            if (orderStatusData.isEmpty()) {
                 OrderStatusData orderStatusData1 = new OrderStatusData();
                 orderStatusData1.setOrderStatusName("已完成");
                 orderStatusData1.setOrderStatusCode("3");
                 orderStatusData1.setDate(date);
                 orderStatusData.add(orderStatusData1);
-            }else{
+            } else {
                 orderStatusData.get(0).setDate(date);
             }
             resultList.addAll(orderStatusData);
@@ -120,13 +136,13 @@ public class AgreementDataService implements IAgreementDataService {
             dataQuery.setEndDate(date + " 23:59:59");
             dataQuery.setOrderStatus("3");
             List<OrderStatusData> orderStatusData = agreementDataMapper.getOrderStatusData(dataQuery);
-            if(orderStatusData.isEmpty()){
+            if (orderStatusData.isEmpty()) {
                 OrderStatusData orderStatusData1 = new OrderStatusData();
                 orderStatusData1.setOrderStatusName("已完成");
                 orderStatusData1.setOrderStatusCode("3");
                 orderStatusData1.setDate(date);
                 orderStatusData.add(orderStatusData1);
-            }else{
+            } else {
                 orderStatusData.get(0).setDate(date);
             }
             resultList.addAll(orderStatusData);
@@ -142,16 +158,16 @@ public class AgreementDataService implements IAgreementDataService {
             DataQuery dataQuery = new DataQuery();
             dataQuery.setStartDate(date + "-01 00:00:00");
             YearMonth yearMonth = YearMonth.parse(date, DateTimeFormatter.ofPattern("yyyy-MM"));
-            dataQuery.setEndDate(date + "-" + yearMonth.lengthOfMonth() +" 23:59:59");
+            dataQuery.setEndDate(date + "-" + yearMonth.lengthOfMonth() + " 23:59:59");
             dataQuery.setOrderStatus("3");
             List<OrderStatusData> orderStatusData = agreementDataMapper.getOrderStatusData(dataQuery);
-            if(orderStatusData.isEmpty()){
+            if (orderStatusData.isEmpty()) {
                 OrderStatusData orderStatusData1 = new OrderStatusData();
                 orderStatusData1.setOrderStatusName("已完成");
                 orderStatusData1.setOrderStatusCode("3");
                 orderStatusData1.setDate(date);
                 orderStatusData.add(orderStatusData1);
-            }else{
+            } else {
                 orderStatusData.get(0).setDate(date);
                 orderStatusData.get(0).setOrderStatusName(date);
             }
@@ -183,7 +199,7 @@ public class AgreementDataService implements IAgreementDataService {
 
 
     //获取一周内的日期
-    public static List<String> getWeekDate(){
+    public static List<String> getWeekDate() {
         List<String> list = new ArrayList<>();
         //获取一周内的起始日期
         // 获取当前日期
@@ -205,7 +221,7 @@ public class AgreementDataService implements IAgreementDataService {
     }
 
     //获取一个月内的日期
-    public static List<String> getMonthDate(){
+    public static List<String> getMonthDate() {
         List<String> list = new ArrayList<>();
         //获取一周内的起始日期
         //获取当前日期
@@ -228,7 +244,7 @@ public class AgreementDataService implements IAgreementDataService {
     }
 
     //获取一年内的日期
-    public static List<String> getYearDate(){
+    public static List<String> getYearDate() {
         List<String> list = new ArrayList<>();
         //获取一周内的起始日期
         //获取当前日期
@@ -256,10 +272,10 @@ public class AgreementDataService implements IAgreementDataService {
         LocalDateTime currentDateTime = LocalDateTime.now();
         String dateFormat = "yyyy-dd-MM";
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern(dateFormat);
-        if(insuranceCompanyBusinessSituationQuery.getSignStartTime() == null || "".equals(insuranceCompanyBusinessSituationQuery.getSignStartTime())){
+        if (insuranceCompanyBusinessSituationQuery.getSignStartTime() == null || "".equals(insuranceCompanyBusinessSituationQuery.getSignStartTime())) {
             insuranceCompanyBusinessSituationQuery.setSignStartTime(currentDateTime.format(formatter) + " 00:00:00");
         }
-        if(insuranceCompanyBusinessSituationQuery.getSignEndTime() == null || "".equals(insuranceCompanyBusinessSituationQuery.getSignEndTime())){
+        if (insuranceCompanyBusinessSituationQuery.getSignEndTime() == null || "".equals(insuranceCompanyBusinessSituationQuery.getSignEndTime())) {
             insuranceCompanyBusinessSituationQuery.setSignEndTime(currentDateTime.format(formatter) + " 23:59:59");
         }
         return agreementDataMapper.insuranceCompanyBusinessSituation(insuranceCompanyBusinessSituationQuery);
@@ -270,10 +286,10 @@ public class AgreementDataService implements IAgreementDataService {
         LocalDateTime currentDateTime = LocalDateTime.now();
         String dateFormat = "yyyy-dd-MM";
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern(dateFormat);
-        if(insuranceCompanyBusinessSituationQuery.getSignStartTime() == null || "".equals(insuranceCompanyBusinessSituationQuery.getSignStartTime())){
+        if (insuranceCompanyBusinessSituationQuery.getSignStartTime() == null || "".equals(insuranceCompanyBusinessSituationQuery.getSignStartTime())) {
             insuranceCompanyBusinessSituationQuery.setSignStartTime(currentDateTime.format(formatter) + " 00:00:00");
         }
-        if(insuranceCompanyBusinessSituationQuery.getSignEndTime() == null || "".equals(insuranceCompanyBusinessSituationQuery.getSignEndTime())){
+        if (insuranceCompanyBusinessSituationQuery.getSignEndTime() == null || "".equals(insuranceCompanyBusinessSituationQuery.getSignEndTime())) {
             insuranceCompanyBusinessSituationQuery.setSignEndTime(currentDateTime.format(formatter) + " 23:59:59");
         }
         return agreementDataMapper.channelBusinessSituation(insuranceCompanyBusinessSituationQuery);
@@ -288,7 +304,7 @@ public class AgreementDataService implements IAgreementDataService {
     @Override
     @Transactional
     public List<InvInsuranceCompanySettlements> insuranceCompanySettlement(InvInsuranceCompanySettlementsQuery invInsuranceCompanySettlementsQuery) {
-        if(invInsuranceCompanySettlementsQuery.getDate() == null || invInsuranceCompanySettlementsQuery.getDate() == ""){
+        if (invInsuranceCompanySettlementsQuery.getDate() == null || invInsuranceCompanySettlementsQuery.getDate() == "") {
             invInsuranceCompanySettlementsQuery.setDate(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM")));
         }
         YearMonth yearMonth = YearMonth.parse(invInsuranceCompanySettlementsQuery.getDate());
@@ -303,14 +319,14 @@ public class AgreementDataService implements IAgreementDataService {
 
         List<InvInsuranceCompanySettlements> exist = invInsuranceCompanySettlementsService.isExist(invInsuranceCompanySettlements);
         //将总数放到invInsuranceCompanySettlements 表中
-        totalReceivableAmount.forEach(amount->{
+        totalReceivableAmount.forEach(amount -> {
             amount.setDate(invInsuranceCompanySettlementsQuery.getDate());
             long count = exist.stream().filter(x -> x.getInsuranceId().equals(amount.getInsuranceId()) && x.getInsuranceDept().equals(amount.getInsuranceDept()) && x.getDate().equals(amount.getDate())).count();
-            if(count > 0){
+            if (count > 0) {
                 InvInsuranceCompanySettlements invInsuranceCompanySettlement = exist.stream().filter(x -> x.getInsuranceId().equals(amount.getInsuranceId()) && x.getInsuranceDept().equals(amount.getInsuranceDept()) && x.getDate().equals(amount.getDate())).findFirst().get();
                 invInsuranceCompanySettlement.setAmountReceivable(amount.getAmountReceivable());
                 invInsuranceCompanySettlementsService.updateById(invInsuranceCompanySettlement);
-            }else{
+            } else {
                 amount.setId(IdGenerate.nextId());
                 invInsuranceCompanySettlementsService.save(amount);
             }
@@ -318,14 +334,14 @@ public class AgreementDataService implements IAgreementDataService {
 
         //从 invInsuranceCompanySettlements 中查询数据
         LambdaQueryWrapper<InvInsuranceCompanySettlements> queryWrapper = new LambdaQueryWrapper<InvInsuranceCompanySettlements>();
-        if(invInsuranceCompanySettlementsQuery.getInsuranceId() != null && invInsuranceCompanySettlementsQuery.getInsuranceId() != ""){
-            queryWrapper.eq(InvInsuranceCompanySettlements::getInsuranceId,invInsuranceCompanySettlementsQuery.getInsuranceId());
+        if (invInsuranceCompanySettlementsQuery.getInsuranceId() != null && invInsuranceCompanySettlementsQuery.getInsuranceId() != "") {
+            queryWrapper.eq(InvInsuranceCompanySettlements::getInsuranceId, invInsuranceCompanySettlementsQuery.getInsuranceId());
         }
-        if(invInsuranceCompanySettlementsQuery.getInsuranceDept() != null && invInsuranceCompanySettlementsQuery.getInsuranceDept() != ""){
-            queryWrapper.eq(InvInsuranceCompanySettlements::getInsuranceDept,invInsuranceCompanySettlementsQuery.getInsuranceDept());
+        if (invInsuranceCompanySettlementsQuery.getInsuranceDept() != null && invInsuranceCompanySettlementsQuery.getInsuranceDept() != "") {
+            queryWrapper.eq(InvInsuranceCompanySettlements::getInsuranceDept, invInsuranceCompanySettlementsQuery.getInsuranceDept());
         }
-        if(invInsuranceCompanySettlementsQuery.getDate() != null && invInsuranceCompanySettlementsQuery.getDate() != ""){
-            queryWrapper.eq(InvInsuranceCompanySettlements::getDate,invInsuranceCompanySettlementsQuery.getDate());
+        if (invInsuranceCompanySettlementsQuery.getDate() != null && invInsuranceCompanySettlementsQuery.getDate() != "") {
+            queryWrapper.eq(InvInsuranceCompanySettlements::getDate, invInsuranceCompanySettlementsQuery.getDate());
         }
         List<InvInsuranceCompanySettlements> list = invInsuranceCompanySettlementsService.list(queryWrapper);
         return list;

+ 193 - 172
src/main/resources/mapper/modules/largescreen/AgreementDataMapper.xml

@@ -2,44 +2,54 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ydtech.modules.largescreen.dao.AgreementDataMapper">
 
-    <select id="getCompanySumData" parameterType="com.ydtech.modules.largescreen.model.query.DataQuery" resultType="com.ydtech.modules.largescreen.model.AgreementData">
+    <select id="getCompanySumData" parameterType="com.ydtech.modules.largescreen.model.query.DataQuery"
+            resultType="com.ydtech.modules.largescreen.model.AgreementData">
         SELECT
-            pa.insurance_company_id,
-            pa.insurance_company,
-            COALESCE(SUM(jqpremium), 0) AS jqPremium,
-            COALESCE(SUM(sypremium), 0) AS syPremium,
-            COALESCE(SUM(taxamount), 0) AS taxPremium,
-            COALESCE(SUM(jqpremium) + SUM(sypremium), 0) AS sumPremium,
-            COALESCE(COUNT(iac.id), 0) as sumOrderNum
+        pa.insurance_company_id,
+        pa.insurance_company,
+        COALESCE(SUM(jqpremium), 0) AS jqPremium,
+        COALESCE(SUM(sypremium), 0) AS syPremium,
+        COALESCE(SUM(taxamount), 0) AS taxPremium,
+        COALESCE(SUM(jqpremium) + SUM(sypremium), 0) AS sumPremium,
+        COALESCE(COUNT(iac.id), 0) as sumOrderNum
         FROM
-            ptl_agreement pa
-                LEFT JOIN
-            ins_area_company iac on iac.agreement_id = pa.id
-<!--            <if test="orderStatus != null and orderStatus != ''">-->
-<!--                and iac.orderstatus = #{orderStatus}-->
-<!--            </if>-->
-            where iac.orderstatus = 3
-            <if test="startDate != null and startDate != ''">
-                and iac.createtime BETWEEN #{startDate} and #{endDate}
-            </if>
+        ptl_agreement pa
+        LEFT JOIN
+        ins_area_company iac on iac.agreement_id = pa.id
+        <!--            <if test="orderStatus != null and orderStatus != ''">-->
+        <!--                and iac.orderstatus = #{orderStatus}-->
+        <!--            </if>-->
+        where iac.orderstatus = 3
+        <if test="startDate != null and startDate != ''">
+            and iac.createtime BETWEEN #{startDate} and #{endDate}
+        </if>
         GROUP BY
-            pa.insurance_company_id, pa.insurance_company
+        pa.insurance_company_id, pa.insurance_company
         order by
-            sumPremium desc
+        sumPremium desc
+    </select>
+
+    <select id="getPtlInsuranceCompany" resultType="com.ydtech.modules.largescreen.model.dto.PtlInsuranceCompanyDTO">
+        SELECT insurance_company_id as insuranceCompanyId,
+               insurance_company as insuranceCompany
+        FROM ptl_agreement
+        GROUP BY insurance_company_id, insurance_company;
     </select>
 
-    <select id="getOrderStatusData" parameterType="com.ydtech.modules.largescreen.model.query.DataQuery" resultType="com.ydtech.modules.largescreen.model.OrderStatusData">
+
+    <select id="getOrderStatusData" parameterType="com.ydtech.modules.largescreen.model.query.DataQuery"
+            resultType="com.ydtech.modules.largescreen.model.OrderStatusData">
         SELECT
-            iac.orderstatus as orderStatusCode,
-            COALESCE(SUM(jqpremium), 0) AS jqPremium,
-            COALESCE(SUM(sypremium), 0) AS syPremium,
-            COALESCE(SUM(taxamount), 0) AS taxPremium,
-            COALESCE(SUM(jqpremium) + SUM(sypremium), 0) AS sumPremium,
-            COALESCE(COUNT(iac.id), 0) as sumOrderNum
+        iac.orderstatus as orderStatusCode,
+        COALESCE(SUM(jqpremium), 0) AS jqPremium,
+        COALESCE(SUM(sypremium), 0) AS syPremium,
+        COALESCE(SUM(taxamount), 0) AS taxPremium,
+        COALESCE(SUM(jqpremium) + SUM(sypremium), 0) AS sumPremium,
+        COALESCE(COUNT(iac.id), 0) as sumOrderNum
         FROM
-            ins_area_company iac
+        ins_area_company iac
         WHERE
-            1=1
+        1=1
         <if test="orderStatus != null and orderStatus != ''">
             and iac.orderstatus = #{orderStatus}
         </if>
@@ -50,48 +60,50 @@
             and iac.company_id = #{companyId}
         </if>
         GROUP BY
-            iac.orderstatus
+        iac.orderstatus
         order by
-            sumPremium desc
+        sumPremium desc
     </select>
 
-    <select id="getMapData" parameterType="com.ydtech.modules.largescreen.model.query.DataQuery" resultType="com.ydtech.modules.largescreen.model.MapData">
+    <select id="getMapData" parameterType="com.ydtech.modules.largescreen.model.query.DataQuery"
+            resultType="com.ydtech.modules.largescreen.model.MapData">
         SELECT
-            sd.id as deptId,
-            sd.NAME as deptName,
-            sd.city as areaId,
-            COALESCE(SUM(jqpremium), 0) AS jqPremium,
-            COALESCE(SUM(sypremium), 0) AS syPremium,
-            COALESCE(SUM(taxamount), 0) AS taxPremium,
-            COALESCE(SUM(jqpremium) + SUM(sypremium), 0) AS sumPremium,
-            COALESCE(COUNT(iac.id), 0) as sumOrderNum
+        sd.id as deptId,
+        sd.NAME as deptName,
+        sd.city as areaId,
+        COALESCE(SUM(jqpremium), 0) AS jqPremium,
+        COALESCE(SUM(sypremium), 0) AS syPremium,
+        COALESCE(SUM(taxamount), 0) AS taxPremium,
+        COALESCE(SUM(jqpremium) + SUM(sypremium), 0) AS sumPremium,
+        COALESCE(COUNT(iac.id), 0) as sumOrderNum
         FROM
-            sys_dept sd
-                LEFT JOIN
-            ins_orders io on (io.userid like CONCAT(sd.id,'%') or io.operatorid = CONCAT(sd.id,'%')) and orderstatus = 3
-                LEFT JOIN
-            ins_area_company iac on iac.orderno = io.orderno and iac.orderstatus = 3
+        sys_dept sd
+        LEFT JOIN
+        ins_orders io on (io.userid like CONCAT(sd.id,'%') or io.operatorid = CONCAT(sd.id,'%')) and orderstatus = 3
+        LEFT JOIN
+        ins_area_company iac on iac.orderno = io.orderno and iac.orderstatus = 3
         WHERE
-            sd.comlevel = 3
-            <if test="startDate != null and startDate != ''">
-                and iac.createtime BETWEEN #{startDate} and #{endDate}
-            </if>
+        sd.comlevel = 3
+        <if test="startDate != null and startDate != ''">
+            and iac.createtime BETWEEN #{startDate} and #{endDate}
+        </if>
         AND
-            sd.id != 9991401
+        sd.id != 9991401
         group by
-            sd.id
+        sd.id
         order by
-            sumPremium desc
+        sumPremium desc
     </select>
 
 
-    <select id="getOrderNumber" parameterType="com.ydtech.modules.largescreen.model.query.DataQuery" resultType="Integer">
+    <select id="getOrderNumber" parameterType="com.ydtech.modules.largescreen.model.query.DataQuery"
+            resultType="Integer">
         SELECT
-            count( orderno )
+        count( orderno )
         FROM
         ins_orders
         WHERE
-            1=1
+        1=1
         <if test="startDate != null and startDate != ''">
             and createtime BETWEEN #{startDate} and #{endDate}
         </if>
@@ -99,100 +111,98 @@
 
 
     <select id="getCompanys" resultType="com.ydtech.modules.largescreen.model.CompanyData">
-        SELECT
-            insurance_company_id AS company_id,
-            insurance_company AS company_name
-        FROM
-            ptl_agreement
-        GROUP BY
-            insurance_company_id,
-            insurance_company
+        SELECT insurance_company_id AS company_id,
+               insurance_company    AS company_name
+        FROM ptl_agreement
+        GROUP BY insurance_company_id,
+                 insurance_company
     </select>
 
     <select id="getAgreements" resultType="com.ydtech.modules.largescreen.model.Agreement">
-        SELECT
-            id,
-            insurance_company_id as company_id,
-            agreement_code,
-            agreement_name
-        FROM
-            ptl_agreement
+        SELECT id,
+               insurance_company_id as company_id,
+               agreement_code,
+               agreement_name
+        FROM ptl_agreement
     </select>
 
     <select id="getCompanyDataById" resultType="com.ydtech.modules.largescreen.model.CompanyInfoData">
         SELECT
-            jqpremium,
-            COALESCE ( COUNT( iac.id ), 0 ) AS sumOrderNum ,
-            COALESCE ( SUM( jqpremium ), 0 ) AS jqSumPremium,
-            COALESCE ( SUM( sypremium ), 0 ) AS sySumPremium,
-            COALESCE ( SUM( taxamount ), 0 ) AS taxSumPremium
+        jqpremium,
+        COALESCE ( COUNT( iac.id ), 0 ) AS sumOrderNum ,
+        COALESCE ( SUM( jqpremium ), 0 ) AS jqSumPremium,
+        COALESCE ( SUM( sypremium ), 0 ) AS sySumPremium,
+        COALESCE ( SUM( taxamount ), 0 ) AS taxSumPremium
 
         FROM
-            ins_orders io
-                left join
-            ins_area_company iac on iac.orderno = io.orderno and iac.orderstatus = 3
-            <if test="startDate != null and startDate != ''">
-                and iac.createtime BETWEEN #{startDate} and #{endDate}
-            </if>
+        ins_orders io
+        left join
+        ins_area_company iac on iac.orderno = io.orderno and iac.orderstatus = 3
+        <if test="startDate != null and startDate != ''">
+            and iac.createtime BETWEEN #{startDate} and #{endDate}
+        </if>
         WHERE
-            io.company_id = #{companyId}
-          AND
-            productid= #{productId}
+        io.company_id = #{companyId}
+        AND
+        productid= #{productId}
         GROUP BY
-            jqpremium
+        jqpremium
         ORDER BY
-            jqpremium desc
+        jqpremium desc
     </select>
 
-    <select id="insuranceCompanyBusinessSituation" resultType="com.ydtech.modules.largescreen.model.InsuranceCompanyBusinessSituation">
+    <select id="insuranceCompanyBusinessSituation"
+            resultType="com.ydtech.modules.largescreen.model.InsuranceCompanyBusinessSituation">
         SELECT
-            ivs.insurance_id,
-            ivs.insurance_name,
-            ivs.insurance_dept,
-            SUM(ivs.jq_premium) AS jq_premium,
-            SUM(ivs.sy_premium) AS sy_premium,
-            SUM(ivs.non_car_premium) AS non_car_premium,
-            SUM(ivs.jq_premium * ivs.jq_premium_ratio) AS jq_commission,
-            SUM(ivs.sy_premium * ivs.sy_premium_ratio) AS sy_commission,
-            SUM(ivs.non_car_premium * ivs.non_car_premium_ratio) AS non_car_commission,
-            SUM(ivs.jq_premium * ivs.jq_receivable_ratio) AS jq_receivable_commission,
-            SUM(ivs.sy_premium * ivs.sy_receivable_ratio) AS sy_receivable_commission,
-            SUM(ivs.non_car_premium * ivs.non_car_receivable_ratio) AS non_car_receivable_commission,
-            SUM(COALESCE(iss.subsidy_amount, 0)) as subsidy_amount,
-            SUM(ivs.jq_premium * iss.compulsory_export_ratio) AS jq_compulsory_premium,
-            SUM(ivs.sy_premium * iss.commercial_export_ratio) AS sy_compulsory_premium,
-            SUM(ivs.non_car_premium * iss.non_vehicle_export_ratio) AS non_car_compulsory_premium,
-            SUM(ivs.jq_premium * ivs.jq_receivable_ratio - ivs.jq_premium * iss.compulsory_export_ratio) AS jq_profit,
-            SUM(ivs.sy_premium * ivs.sy_receivable_ratio - ivs.sy_premium * iss.commercial_export_ratio) AS sy_profit,
-            SUM(ivs.non_car_premium * ivs.non_car_receivable_ratio - ivs.non_car_premium * iss.non_vehicle_export_ratio) AS non_car_profit,
-            SUM(
-                        (ivs.jq_premium * ivs.jq_receivable_ratio - ivs.jq_premium * iss.compulsory_export_ratio) +
-                        (ivs.sy_premium * ivs.sy_receivable_ratio - ivs.sy_premium * iss.commercial_export_ratio) +
-                        (ivs.non_car_premium * ivs.non_car_receivable_ratio - ivs.non_car_premium * iss.non_vehicle_export_ratio) +
-                        iss.subsidy_amount
-            ) AS profit
+        ivs.insurance_id,
+        ivs.insurance_name,
+        ivs.insurance_dept,
+        SUM(ivs.jq_premium) AS jq_premium,
+        SUM(ivs.sy_premium) AS sy_premium,
+        SUM(ivs.non_car_premium) AS non_car_premium,
+        SUM(ivs.jq_premium * ivs.jq_premium_ratio) AS jq_commission,
+        SUM(ivs.sy_premium * ivs.sy_premium_ratio) AS sy_commission,
+        SUM(ivs.non_car_premium * ivs.non_car_premium_ratio) AS non_car_commission,
+        SUM(ivs.jq_premium * ivs.jq_receivable_ratio) AS jq_receivable_commission,
+        SUM(ivs.sy_premium * ivs.sy_receivable_ratio) AS sy_receivable_commission,
+        SUM(ivs.non_car_premium * ivs.non_car_receivable_ratio) AS non_car_receivable_commission,
+        SUM(COALESCE(iss.subsidy_amount, 0)) as subsidy_amount,
+        SUM(ivs.jq_premium * iss.compulsory_export_ratio) AS jq_compulsory_premium,
+        SUM(ivs.sy_premium * iss.commercial_export_ratio) AS sy_compulsory_premium,
+        SUM(ivs.non_car_premium * iss.non_vehicle_export_ratio) AS non_car_compulsory_premium,
+        SUM(ivs.jq_premium * ivs.jq_receivable_ratio - ivs.jq_premium * iss.compulsory_export_ratio) AS jq_profit,
+        SUM(ivs.sy_premium * ivs.sy_receivable_ratio - ivs.sy_premium * iss.commercial_export_ratio) AS sy_profit,
+        SUM(ivs.non_car_premium * ivs.non_car_receivable_ratio - ivs.non_car_premium * iss.non_vehicle_export_ratio) AS
+        non_car_profit,
+        SUM(
+        (ivs.jq_premium * ivs.jq_receivable_ratio - ivs.jq_premium * iss.compulsory_export_ratio) +
+        (ivs.sy_premium * ivs.sy_receivable_ratio - ivs.sy_premium * iss.commercial_export_ratio) +
+        (ivs.non_car_premium * ivs.non_car_receivable_ratio - ivs.non_car_premium * iss.non_vehicle_export_ratio) +
+        iss.subsidy_amount
+        ) AS profit
         FROM
-            inv_source ivs
-                LEFT JOIN
-            inv_settlement_source iss ON iss.licenseno = ivs.licenseno
+        inv_source ivs
+        LEFT JOIN
+        inv_settlement_source iss ON iss.licenseno = ivs.licenseno
         WHERE
-            1=1
-            <if test="insuranceDept != null and insuranceDept != ''">
-                AND ivs.insurance_dept like ('%${insuranceDept}%')
-            </if>
-            <if test="signStartTime != null and signEndTime != ''">
-                and ivs.signing_time BETWEEN #{signStartTime} and #{signEndTime}
-            </if>
-            <if test="insuranceId != null and insuranceId != ''">
-                AND ivs.insurance_id = #{insuranceId}
-            </if>
+        1=1
+        <if test="insuranceDept != null and insuranceDept != ''">
+            AND ivs.insurance_dept like ('%${insuranceDept}%')
+        </if>
+        <if test="signStartTime != null and signEndTime != ''">
+            and ivs.signing_time BETWEEN #{signStartTime} and #{signEndTime}
+        </if>
+        <if test="insuranceId != null and insuranceId != ''">
+            AND ivs.insurance_id = #{insuranceId}
+        </if>
         GROUP BY
-            ivs.insurance_id,
-            ivs.insurance_name,
-            ivs.insurance_dept
+        ivs.insurance_id,
+        ivs.insurance_name,
+        ivs.insurance_dept
     </select>
 
-    <select id="channelBusinessSituation" resultType="com.ydtech.modules.largescreen.model.InsuranceCompanyBusinessSituation">
+    <select id="channelBusinessSituation"
+            resultType="com.ydtech.modules.largescreen.model.InsuranceCompanyBusinessSituation">
         SELECT
         ivs.insurance_id,
         ivs.insurance_name,
@@ -213,7 +223,8 @@
         SUM(ivs.non_car_premium * iss.non_vehicle_export_ratio) AS non_car_compulsory_premium,
         SUM(ivs.jq_premium * ivs.jq_receivable_ratio - ivs.jq_premium * iss.compulsory_export_ratio) AS jq_profit,
         SUM(ivs.sy_premium * ivs.sy_receivable_ratio - ivs.sy_premium * iss.commercial_export_ratio) AS sy_profit,
-        SUM(ivs.non_car_premium * ivs.non_car_receivable_ratio - ivs.non_car_premium * iss.non_vehicle_export_ratio) AS non_car_profit,
+        SUM(ivs.non_car_premium * ivs.non_car_receivable_ratio - ivs.non_car_premium * iss.non_vehicle_export_ratio) AS
+        non_car_profit,
         SUM(
         (ivs.jq_premium * ivs.jq_receivable_ratio - ivs.jq_premium * iss.compulsory_export_ratio) +
         (ivs.sy_premium * ivs.sy_receivable_ratio - ivs.sy_premium * iss.commercial_export_ratio) +
@@ -248,53 +259,63 @@
 
     <select id="channelSettlement" resultType="com.ydtech.modules.largescreen.model.ChannelSettlements">
         SELECT
-            ivs.insurance_id,
-            insurance_name,
-            insurance_dept,
-            SUM( CASE WHEN clearing_state_over = 0 OR clearing_state_over = 1 OR clearing_state_over = 2 THEN jq_premium * max_jq_receivable_ratio ELSE 0 END ) AS jq_receivable_commission,
-            SUM( CASE WHEN clearing_state_over = 0 OR clearing_state_over = 1 OR clearing_state_over = 2 THEN sy_premium * max_sy_receivable_ratio ELSE 0 END ) AS sy_receivable_commission,
-            SUM( CASE WHEN clearing_state_over = 0 OR clearing_state_over = 1 OR clearing_state_over = 2 THEN non_car_premium * max_non_car_receivable_ratio ELSE 0 END ) AS non_car_receivable_commission,
-            SUM( CASE WHEN clearing_state_over = 1 THEN ivs.jq_premium * iss.compulsory_export_ratio ELSE 0 END ) AS jq_compulsory_premium,
-            SUM( CASE WHEN clearing_state_over = 1 THEN ivs.sy_premium * iss.commercial_export_ratio ELSE 0 END ) AS sy_compulsory_premium,
-            SUM( CASE WHEN clearing_state_over = 1 THEN ivs.non_car_premium * iss.non_vehicle_export_ratio ELSE 0 END ) AS non_car_compulsory_premium,
-            SUM( CASE WHEN clearing_state_over = 0 THEN ivs.jq_premium * ivs.max_jq_receivable_ratio ELSE 0 END ) AS jq_profit,
-            SUM( CASE WHEN clearing_state_over = 0 THEN ivs.sy_premium * ivs.max_sy_receivable_ratio ELSE 0 END ) AS sy_profit,
-            SUM( CASE WHEN clearing_state_over = 0 THEN ivs.non_car_premium * ivs.max_non_car_receivable_ratio ELSE 0 END ) AS non_car_profit,
-            SUM( CASE WHEN clearing_state_over = 2 THEN ivs.jq_premium * ivs.max_jq_receivable_ratio ELSE 0 END ) AS jq_orphan_profit,
-            SUM( CASE WHEN clearing_state_over = 2 THEN ivs.sy_premium * ivs.max_sy_receivable_ratio ELSE 0 END ) AS sy_orphan_profit,
-            SUM( CASE WHEN clearing_state_over = 2 THEN ivs.non_car_premium * ivs.max_non_car_receivable_ratio ELSE 0 END ) AS non_car_orphan_profit
+        ivs.insurance_id,
+        insurance_name,
+        insurance_dept,
+        SUM( CASE WHEN clearing_state_over = 0 OR clearing_state_over = 1 OR clearing_state_over = 2 THEN jq_premium *
+        max_jq_receivable_ratio ELSE 0 END ) AS jq_receivable_commission,
+        SUM( CASE WHEN clearing_state_over = 0 OR clearing_state_over = 1 OR clearing_state_over = 2 THEN sy_premium *
+        max_sy_receivable_ratio ELSE 0 END ) AS sy_receivable_commission,
+        SUM( CASE WHEN clearing_state_over = 0 OR clearing_state_over = 1 OR clearing_state_over = 2 THEN
+        non_car_premium * max_non_car_receivable_ratio ELSE 0 END ) AS non_car_receivable_commission,
+        SUM( CASE WHEN clearing_state_over = 1 THEN ivs.jq_premium * iss.compulsory_export_ratio ELSE 0 END ) AS
+        jq_compulsory_premium,
+        SUM( CASE WHEN clearing_state_over = 1 THEN ivs.sy_premium * iss.commercial_export_ratio ELSE 0 END ) AS
+        sy_compulsory_premium,
+        SUM( CASE WHEN clearing_state_over = 1 THEN ivs.non_car_premium * iss.non_vehicle_export_ratio ELSE 0 END ) AS
+        non_car_compulsory_premium,
+        SUM( CASE WHEN clearing_state_over = 0 THEN ivs.jq_premium * ivs.max_jq_receivable_ratio ELSE 0 END ) AS
+        jq_profit,
+        SUM( CASE WHEN clearing_state_over = 0 THEN ivs.sy_premium * ivs.max_sy_receivable_ratio ELSE 0 END ) AS
+        sy_profit,
+        SUM( CASE WHEN clearing_state_over = 0 THEN ivs.non_car_premium * ivs.max_non_car_receivable_ratio ELSE 0 END )
+        AS non_car_profit,
+        SUM( CASE WHEN clearing_state_over = 2 THEN ivs.jq_premium * ivs.max_jq_receivable_ratio ELSE 0 END ) AS
+        jq_orphan_profit,
+        SUM( CASE WHEN clearing_state_over = 2 THEN ivs.sy_premium * ivs.max_sy_receivable_ratio ELSE 0 END ) AS
+        sy_orphan_profit,
+        SUM( CASE WHEN clearing_state_over = 2 THEN ivs.non_car_premium * ivs.max_non_car_receivable_ratio ELSE 0 END )
+        AS non_car_orphan_profit
         FROM
-            ( SELECT *, CASE WHEN DATEDIFF( NOW(), signing_time ) > 90 THEN 2 ELSE inv_source.clearing_state END AS clearing_state_over FROM inv_source ) ivs
-                LEFT JOIN inv_settlement_source iss ON ivs.licenseno = iss.licenseno
+        ( SELECT *, CASE WHEN DATEDIFF( NOW(), signing_time ) > 90 THEN 2 ELSE inv_source.clearing_state END AS
+        clearing_state_over FROM inv_source ) ivs
+        LEFT JOIN inv_settlement_source iss ON ivs.licenseno = iss.licenseno
         WHERE
-            1=1
-            <if test="insuranceDept != null and insuranceDept != ''">
-                AND ivs.insurance_dept like ('%${insuranceDept}%')
-            </if>
-            <if test="signStartTime != null and signEndTime != ''">
-                and ivs.signing_time BETWEEN #{signStartTime} and #{signEndTime}
-            </if>
-            <if test="insuranceId != null and insuranceId != ''">
-                AND ivs.insurance_id = #{insuranceId}
-            </if>
+        1=1
+        <if test="insuranceDept != null and insuranceDept != ''">
+            AND ivs.insurance_dept like ('%${insuranceDept}%')
+        </if>
+        <if test="signStartTime != null and signEndTime != ''">
+            and ivs.signing_time BETWEEN #{signStartTime} and #{signEndTime}
+        </if>
+        <if test="insuranceId != null and insuranceId != ''">
+            AND ivs.insurance_id = #{insuranceId}
+        </if>
         group by ivs.insurance_id,insurance_name,insurance_dept
     </select>
 
-    <select id="getTotalReceivableAmount" resultType="com.ydtech.modules.largescreen.model.InvInsuranceCompanySettlements">
-        SELECT
-            insurance_id,
-            insurance_name,
-            insurance_dept,
-            sum( total_receivable_amount ) AS amount_receivable
-        FROM
-            inv_source
-        WHERE
-            signing_time BETWEEN #{startTime}
-                AND #{endTime}
-        GROUP BY
-            insurance_id,
-            insurance_name,
-            insurance_dept
+    <select id="getTotalReceivableAmount"
+            resultType="com.ydtech.modules.largescreen.model.InvInsuranceCompanySettlements">
+        SELECT insurance_id,
+               insurance_name,
+               insurance_dept,
+               sum(total_receivable_amount) AS amount_receivable
+        FROM inv_source
+        WHERE signing_time BETWEEN #{startTime}
+                  AND #{endTime}
+        GROUP BY insurance_id,
+                 insurance_name,
+                 insurance_dept
     </select>
 
 </mapper>