瀏覽代碼

Merge remote-tracking branch 'origin/test' into test

dongxin 1 年之前
父節點
當前提交
fc303c79a9

+ 1 - 1
src/main/java/com/ydtech/modules/admin/model/report/company/CompanyQutationCountDataDto.java

@@ -78,7 +78,7 @@ public class CompanyQutationCountDataDto {
     private BigDecimal contributionRate;
 
     /***
-     *  承保数/核保书=缴费率
+     *  失败数
      */
     @ApiModelProperty("失败数")
     private BigDecimal areaCompanyErrNumber;

+ 19 - 19
src/main/java/com/ydtech/modules/admin/service/impl/CompanyDataReportServiceImpl.java

@@ -86,25 +86,25 @@ public class CompanyDataReportServiceImpl implements CompanyDataReportService {
         Page<CompanyQutationCountDataDto> resultSubOrder = insAreaCompanyMapper.queryCompanyQutationCountDataPage(companyQutationCountDataQueryDto, page);
         Long total = this.insAreaCompanyMapper.queryCompanyQutationCountDataPageTotal(companyQutationCountDataQueryDto);
 
-        List<CompanyQutationCountDataDto> records = resultSubOrder.getRecords();
-        for (CompanyQutationCountDataDto  item :records){
-            String companyId = item.getCompanyId();
-            String parterCompanyId = item.getParterCompanyId();
-
-            companyQutationCountDataQueryDto.setCompanyId(companyId);
-            companyQutationCountDataQueryDto.setParterCompanyId(parterCompanyId);
-            CompanyQutationCountDataDto   errItem=  insAreaCompanyMapper.getInsAreaCompanyError(companyQutationCountDataQueryDto);
-            if(ObjectUtils.isNotEmpty(errItem)){
-                BigDecimal areaCompanyErrNumber = errItem.getAreaCompanyErrNumber();  //失败报价数
-                BigDecimal orderSuccessNumber = item.getOrderSuccessNumber();//成功报价数
-                BigDecimal allNumber = this.calculateTotal(areaCompanyErrNumber, orderSuccessNumber, null);
-                item.setAllNumber(allNumber);
-                item.setAreaCompanyErrNumber(areaCompanyErrNumber);
-                int scale = 2;
-                RoundingMode roundingMode = RoundingMode.HALF_UP; // 四舍五入
-                item.setOrderSuccessNumberRate(item.getOrderSuccessNumber().divide(allNumber, scale, roundingMode));
-            }
-        }
+//        List<CompanyQutationCountDataDto> records = resultSubOrder.getRecords();
+//        for (CompanyQutationCountDataDto  item :records){
+//            String companyId = item.getCompanyId();
+//            String parterCompanyId = item.getParterCompanyId();
+//
+//            companyQutationCountDataQueryDto.setCompanyId(companyId);
+//            companyQutationCountDataQueryDto.setParterCompanyId(parterCompanyId);
+//            CompanyQutationCountDataDto   errItem=  insAreaCompanyMapper.getInsAreaCompanyError(companyQutationCountDataQueryDto);
+//            if(ObjectUtils.isNotEmpty(errItem)){
+//                BigDecimal areaCompanyErrNumber = errItem.getAreaCompanyErrNumber();  //失败报价数
+//                BigDecimal orderSuccessNumber = item.getOrderSuccessNumber();//成功报价数
+//                BigDecimal allNumber = this.calculateTotal(areaCompanyErrNumber, orderSuccessNumber, null);
+//                item.setAllNumber(allNumber);
+//                item.setAreaCompanyErrNumber(areaCompanyErrNumber);
+//                int scale = 2;
+//                RoundingMode roundingMode = RoundingMode.HALF_UP; // 四舍五入
+//                item.setOrderSuccessNumberRate(item.getOrderSuccessNumber().divide(allNumber, scale, roundingMode));
+//            }
+//        }
         resultSubOrder.setTotal(total);
         return new BasePageResult<>(companyQutationCountDataQueryDto.getPageNum(), page.getSize(), resultSubOrder.getTotal(), page.getPages(),
                 resultSubOrder.getRecords());

+ 15 - 8
src/main/resources/mapper/modules/order/InsAreaCompanyMapper.xml

@@ -871,18 +871,20 @@
         FROM
         (
         SELECT
-        count(agree.partner_companies_id) as "orderSuccessNumber",
         agree.insurance_company AS companyName,
         agree.partner_companies_id AS parterCompanyId,
         iac.company_id as "companyId",
         count( iac.orderstatus ) AS qutationCount,
-        count( iac.id ) AS orderSuccessNumberRate,
-        COUNT( CASE WHEN iac.orderstatus = 2 THEN 1 END ) +  COUNT( CASE WHEN iac.orderstatus = 3 THEN 1 END )  AS underwritingCount,
-        COUNT( CASE WHEN iac.orderstatus = 3 THEN 1 END ) AS qutationInsureCount,
-        (COUNT( CASE WHEN iac.orderstatus = 2 THEN 1 END ) +  COUNT( CASE WHEN iac.orderstatus = 3 THEN 1 END )) / count( iac.orderstatus ) AS passRate,
-        COUNT( CASE WHEN iac.orderstatus = 3 THEN 1 END ) /   (COUNT( CASE WHEN iac.orderstatus = 2 THEN 1 END ) +  COUNT( CASE WHEN iac.orderstatus = 3 THEN 1 END )) AS closeRate,
-        COUNT( CASE WHEN iac.orderstatus = 3 THEN 1 END )/ count( iac.orderstatus ) AS contributionRate,
-        COUNT(CASE WHEN  agree.audit_type =1 and ifa.auditstatus =1 and iac.orderstatus =3 THEN 1 END) as "numberManual"
+        count( iac.id ) AS allNumber,
+        count( CASE WHEN iac.orderstatus != '10' THEN 1 END ) AS orderSuccessNumber,
+        count( CASE WHEN iac.orderstatus != '10' THEN 1 END )  / count( iac.id ) as "orderSuccessNumberRate",
+        count( CASE WHEN iac.orderstatus = '10' THEN 1 END ) AS areaCompanyErrNumber,
+        COUNT( CASE WHEN iac.orderstatus = '2' THEN 1 END ) +  COUNT( CASE WHEN iac.orderstatus = 3 THEN 1 END )  AS underwritingCount,
+        COUNT( CASE WHEN iac.orderstatus = '3' THEN 1 END ) AS qutationInsureCount,
+        (COUNT( CASE WHEN iac.orderstatus = '2' THEN 1 END ) +  COUNT( CASE WHEN iac.orderstatus = 3 THEN 1 END )) / count( iac.orderstatus ) AS passRate,
+        COUNT( CASE WHEN iac.orderstatus = '3' THEN 1 END ) /   (COUNT( CASE WHEN iac.orderstatus = 2 THEN 1 END ) +  COUNT( CASE WHEN iac.orderstatus = 3 THEN 1 END )) AS closeRate,
+        COUNT( CASE WHEN iac.orderstatus = '3' THEN 1 END ) / count( iac.orderstatus ) AS contributionRate,
+        COUNT(CASE WHEN  agree.audit_type ='1' and ifa.auditstatus =1 and iac.orderstatus =3 THEN 1 END) as "numberManual"
         FROM
         ins_area_company iac
         LEFT JOIN ptl_agreement agree ON iac.agreement_id = agree.id
@@ -956,6 +958,11 @@
                     #{item}
                 </foreach>
             </if>
+
+            <if test="vo.deptId  != null  and vo.deptId !=''">
+                AND  iace.dept_id  like concat('%',#{vo.deptId},'%')
+            </if>
+
             <if test="vo.userIds != null and vo.userIds != '' and vo.userIds.size() > 0">
                 AND iace.user_id  in
                 <foreach collection="taskStatisticsVo.userIds" item="item" open="(" separator="," close=")">