Ver código fonte

1.控制台任务渠道 添加app pc 报价

wuhp 2 anos atrás
pai
commit
c258e25f9f

+ 15 - 0
src/main/java/com/ydtech/modules/admin/controller/taskStatistics/TaskStatisticsController.java

@@ -222,5 +222,20 @@ public class TaskStatisticsController {
         }
     }
 
+    /**
+     *
+     * @param taskStatisticsVo
+     * @return  控制台任务统计 渠道代理人详情
+     */
+    @PostMapping("channelAgentDetails")
+    @ApiOperation(value = "控制台任务统计 渠道代理人详情")
+    public HttpResult<IPage<TaskStatisticsDto>> channelAgentDetails(@RequestBody TaskStatisticsVo taskStatisticsVo) {
+        try{
+            IPage<TaskStatisticsDto> result = taskStatisticsService.channelAgentDetails(taskStatisticsVo);
+            return HttpResult.ok("查询数据成功", result);
+        }catch (Exception e){
+            return HttpResult.error("查询错误"+e.getMessage());
+        }
+    }
 
 }

+ 6 - 0
src/main/java/com/ydtech/modules/admin/dao/TaskStatisticsMapper.java

@@ -32,6 +32,12 @@ public interface TaskStatisticsMapper extends BaseMapper<TaskStatisticsDto> {
     IPage<BusinessAgentData> getBusinessAgentDataDetails(@Param("page") Page page,@Param("vo") TaskStatisticsVo taskStatisticsVo);
 
     Long getBusinessAgentDataDetailsAdd(@Param("vo") TaskStatisticsVo taskStatisticsVo);
+    /**
+     *
+     * @param taskStatisticsVo
+     * @return  控制台任务统计 渠道代理人详情
+     */
 
+    IPage<TaskStatisticsDto> channelAgentDetails(Page page, TaskStatisticsVo taskStatisticsVo);
 
 }

+ 13 - 0
src/main/java/com/ydtech/modules/admin/model/dto/AgreeReportQueryDto.java

@@ -53,4 +53,17 @@ public class AgreeReportQueryDto {
     private int pageNum;
 
 
+    @ApiModelProperty(value = "省机构id")
+    private String provinceId;
+
+    @ApiModelProperty(value = "市机构id")
+    private String cityId;
+
+    @ApiModelProperty(value = "县机构id")
+    private String countyId;
+
+    @ApiModelProperty(value = "门店机构id")
+    private String houseId;
+
+
 }

+ 9 - 0
src/main/java/com/ydtech/modules/admin/model/dto/TaskStatisticsDto.java

@@ -124,4 +124,13 @@ public class TaskStatisticsDto {
     @ApiModelProperty(value = "协议类型")
     private String agreementType;
 
+    @ApiModelProperty(value = "是否app,pc报价")
+    private String orderSource;
+
+    @ApiModelProperty(value = "pc报价")
+    private String pcOrderSource;
+
+    @ApiModelProperty(value = "app报价")
+    private String appOrderSource;
+
 }

+ 3 - 0
src/main/java/com/ydtech/modules/admin/model/vo/TaskStatisticsVo.java

@@ -94,6 +94,9 @@ public class TaskStatisticsVo implements Serializable {
     @ApiModelProperty(value = "用户ids")
     private List<String> userIds;
 
+    @ApiModelProperty(value = "是否app,pc报价")
+    private String orderSource;
+
 
 
 

+ 7 - 0
src/main/java/com/ydtech/modules/admin/service/TaskStatisticsService.java

@@ -91,4 +91,11 @@ public interface TaskStatisticsService {
      **/
     IPage<BusinessAgentData> getBusinessAgentDataDetails(TaskStatisticsVo taskStatisticsVo);
 
+    /**
+     *
+     * @param taskStatisticsVo
+     * @return  控制台任务统计 渠道代理人详情
+     */
+
+    IPage<TaskStatisticsDto> channelAgentDetails(TaskStatisticsVo taskStatisticsVo);
 }

+ 20 - 4
src/main/java/com/ydtech/modules/admin/service/impl/TaskStatisticsServiceImpl.java

@@ -521,13 +521,9 @@ public class TaskStatisticsServiceImpl  implements TaskStatisticsService {
             if(!userIds.isEmpty()){
                 taskStatisticsVo.setUserIds(userIds);
             }
-
         }
-
         BusinessAgentData result = this.taskStatisticsMapper.getBusinessAgentDataTotalAdd(taskStatisticsVo);
-
         BusinessAgentData allsumPremium = this.taskStatisticsMapper.getAllsumPremium(taskStatisticsVo);
-
         if (ObjectUtils.isNotEmpty(allsumPremium) && ObjectUtils.isNotEmpty(result)) {
             BigDecimal sumPremium = allsumPremium.getSumPremium().compareTo(BigDecimal.ZERO) > 0 ? allsumPremium.getSumPremium() : BigDecimal.ZERO;
             BigDecimal resultSumPremium = result.getSumPremium().compareTo(BigDecimal.ZERO) > 0 ? result.getSumPremium() : BigDecimal.ZERO;
@@ -590,4 +586,24 @@ public class TaskStatisticsServiceImpl  implements TaskStatisticsService {
         list.setTotal(total);
         return list;
     }
+    /**
+     *
+     * @param taskStatisticsVo
+     * @return  控制台任务统计 渠道代理人详情
+     */
+    @Override
+    public IPage<TaskStatisticsDto> channelAgentDetails(TaskStatisticsVo taskStatisticsVo) {
+
+        PageVo<TaskStatisticsVo> pageVo = new PageVo<>();
+        Page page = new Page(taskStatisticsVo.getPageNum(), taskStatisticsVo.getPageSize());
+        pageVo.setPageNum(taskStatisticsVo.getPageNum());
+        pageVo.setPageSize(taskStatisticsVo.getPageSize());
+
+
+        HashMap<String, String> dateMapByType = getDateMapByType(taskStatisticsVo.getDateType(), taskStatisticsVo.getCreatetimeStart(), taskStatisticsVo.getCreatetimeEnd());
+        taskStatisticsVo.setCreatetimeStart(dateMapByType.get("startDate"));
+        taskStatisticsVo.setCreatetimeEnd(dateMapByType.get("endDate"));
+        IPage<TaskStatisticsDto> list = this.taskStatisticsMapper.channelAgentDetails(page,taskStatisticsVo);
+        return list;
+    }
 }

+ 5 - 0
src/main/resources/mapper/modules/admin/TaskStatisticsMapper.xml

@@ -261,6 +261,11 @@
               group by pa.insurance_company, pa.partner_companies_id) a
     </select>
 
+    <select id="channelAgentDetails" resultType="com.ydtech.modules.admin.model.dto.TaskStatisticsDto">
+
+
+    </select>
+
 
 
 </mapper>

+ 2 - 0
src/main/resources/mapper/modules/order/InsAreaCompanyMapper.xml

@@ -997,6 +997,8 @@
         COUNT( CASE WHEN iac.orderstatus = 3 THEN 1 END ) /  COUNT( iac.orderstatus ) AS "closeRate",
         (COUNT( CASE WHEN iac.orderstatus = 3 THEN 1 END )  +  COUNT( CASE WHEN iac.orderstatus = 2 THEN 1 END ))/ COUNT( iac.orderstatus ) AS "contributionRate",
         COUNT( CASE WHEN iac.orderstatus = 0 THEN 1 END ) / COUNT( iac.orderstatus ) AS "quotationRate",
+        COUNT(CASE WHEN io.order_source = 0  and iac.orderstatus = 0 THEN 1 END) as "pcOrderSource",
+        COUNT(CASE WHEN io.order_source = 1  and iac.orderstatus = 0 THEN 1 END) as "appOrderSource",
         COUNT( CASE WHEN iac.orderstatus = 1 THEN 1 END ) AS "auditOrder"
         FROM
         ins_area_company iac

+ 48 - 35
src/main/resources/mapper/modules/protocol/PtlAgreementMapper.xml

@@ -188,42 +188,55 @@
         esm_ins_company AS eic
         LEFT JOIN ptl_agreement AS pa ON pa.insurance_company_id = eic.id
         LEFT JOIN esm_ins_company eic_hz ON pa.partner_companies_id = eic_hz.id
-        left join sys_area area on  RPAD(SUBSTRING( pa.partner_companies_id, 6, 4 ),6,0)= area.area_code
+        left join sys_area area on RPAD(SUBSTRING( pa.partner_companies_id, 6, 4 ),6,0)= area.area_code
         <where>
-           1=1
-           and  pa.id  is  not  null
-        <if test="vo.deptId  !=null  and   vo.deptId  !=''" >
-            AND pa.id IN ( SELECT DISTINCT agreement_id FROM ptl_agreement_dept WHERE dept_id LIKE concat(#{vo.deptId},'%') )
-        </if>
-        <if test="vo.warningDay  !=null  and   vo.warningDay  !=''" >
-            <choose>
-                <when test="warningDay==1">
-                    DATEDIFF(pa.end_date,NOW()) &lt;= 30
-                </when>
-                <when test="warningDay==2">
-                    DATEDIFF(pa.end_date,NOW()) &lt;= 60
-                </when>
-            </choose>
-        </if>
-        <if test="vo.warningStatus  !=null  and   vo.warningStatus  !=''" >
-            <choose>
-                <when test="warningStatus==1">
-                    DATEDIFF(pa.end_date,NOW()) &lt;=  30
-                </when>
-                <when test="warningStatus==2">
-                    DATEDIFF(pa.end_date,NOW()) &gt;  30
-                </when>
-            </choose>
-        </if>
-        <if test="vo.areaId  !=null  and   vo.areaId  !=''" >
-             AND ( pa.companies_type = 1 AND  RPAD(SUBSTRING( pa.partner_companies_id, 6, 4 ),6,0) = #{vo.areaId})
-        </if>
-        <if test="vo.partnerCompaniesId  !=null  and   vo.partnerCompaniesId  !=''" >
-            and   pa.partner_companies_id =#{vo.partnerCompaniesId}
-        </if>
-        <if test="vo.insuranceCompanyId  !=null  and   vo.insuranceCompanyId  !=''" >
-            and   pa.insurance_company_id =#{vo.insuranceCompanyId}
-        </if>
+            1=1
+            and pa.id is not null
+            <if test="vo.deptId  !=null  and   vo.deptId  !=''">
+                AND pa.id IN ( SELECT DISTINCT agreement_id FROM ptl_agreement_dept WHERE dept_id LIKE
+                concat(#{vo.deptId},'%') )
+            </if>
+            <if test="vo.warningDay  !=null  and   vo.warningDay  !=''">
+                <choose>
+                    <when test="warningDay==1">
+                        DATEDIFF(pa.end_date,NOW()) &lt;= 30
+                    </when>
+                    <when test="warningDay==2">
+                        DATEDIFF(pa.end_date,NOW()) &lt;= 60
+                    </when>
+                </choose>
+            </if>
+            <if test="vo.warningStatus  !=null  and   vo.warningStatus  !=''">
+                <choose>
+                    <when test="warningStatus==1">
+                        DATEDIFF(pa.end_date,NOW()) &lt;= 30
+                    </when>
+                    <when test="warningStatus==2">
+                        DATEDIFF(pa.end_date,NOW()) &gt; 30
+                    </when>
+                </choose>
+            </if>
+            <if test="vo.areaId  !=null  and   vo.areaId  !=''">
+                AND ( pa.companies_type = 1 AND RPAD(SUBSTRING( pa.partner_companies_id, 6, 4 ),6,0) = #{vo.areaId})
+            </if>
+            <if test="vo.partnerCompaniesId  !=null  and   vo.partnerCompaniesId  !=''">
+                and pa.partner_companies_id =#{vo.partnerCompaniesId}
+            </if>
+            <if test="vo.insuranceCompanyId  !=null  and   vo.insuranceCompanyId  !=''">
+                and pa.insurance_company_id =#{vo.insuranceCompanyId}
+            </if>
+            <if test="vo.provinceId != null and vo.provinceId != ''">
+                and pa.dept_id like concat('%',#{vo.provinceId},'%')
+            </if>
+            <if test="vo.cityId != null and vo.cityId != ''">
+                and pa.dept_id like concat('%',#{vo.cityId},'%')
+            </if>
+            <if test="vo.countyId != null and vo.countyId != ''">
+                and pa.dept_id like concat('%',#{vo.countyId},'%')
+            </if>
+            <if test="vo.houseId != null and vo.houseId != ''">
+                and pa.dept_id like concat('%',#{vo.houseId},'%')
+            </if>
         </where>
         ORDER BY
         pa.serial_number