wuhp 2 лет назад
Родитель
Сommit
72e3113667

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

@@ -96,4 +96,14 @@ public class TaskStatisticsDto {
 
     @ApiModelProperty(value = "天数")
     private String days;
+
+    @ApiModelProperty(value = "父级部门id")
+    private String deptId;
+
+    @ApiModelProperty(value = "市级部门名称")
+    private String cityName;
+
+    @ApiModelProperty(value = "区级部门名称")
+    private String districtName;
+
 }

+ 54 - 0
src/main/java/com/ydtech/modules/admin/service/impl/TaskStatisticsServiceImpl.java

@@ -7,8 +7,10 @@ import com.github.pagehelper.PageInfo;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.core.page.PageRequest;
 import com.ydtech.modules.admin.dao.SysAmountAuditingMapper;
+import com.ydtech.modules.admin.model.SysDept;
 import com.ydtech.modules.admin.model.dto.TaskStatisticsDto;
 import com.ydtech.modules.admin.model.vo.TaskStatisticsVo;
+import com.ydtech.modules.admin.service.SysDeptService;
 import com.ydtech.modules.admin.service.TaskStatisticsService;
 import com.ydtech.modules.base.model.vo.PageVo;
 import com.ydtech.modules.fnc.entity.InsPlyIncome;
@@ -17,11 +19,13 @@ import com.ydtech.modules.order.dao.InsOrdersMapper;
 import com.ydtech.modules.order.entity.BasePageResult;
 import com.ydtech.modules.order.entity.InsAreaCompany;
 import org.apache.commons.lang3.ObjectUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -40,6 +44,9 @@ public class TaskStatisticsServiceImpl  implements TaskStatisticsService {
     @Autowired
     private InsOrdersMapper insOrdersMapper;
 
+    @Autowired
+    private SysDeptService sysDeptService;
+
 
     /**
      * @description:   渠道任务统计查询
@@ -54,6 +61,29 @@ public class TaskStatisticsServiceImpl  implements TaskStatisticsService {
         pageVo.setPageNum(taskStatisticsVo.getPageNum());
         pageVo.setPageSize(taskStatisticsVo.getPageSize());
         IPage<TaskStatisticsDto> list = this.insAreaCompanyMapper.queryPageTaskStatistics(page,taskStatisticsVo);
+        if (list != null && !list.getRecords().isEmpty()) {
+            List<TaskStatisticsDto> records = list.getRecords();
+            for (TaskStatisticsDto record : records) {
+                String deptId = record.getDeptId();
+                if (StringUtils.isNotEmpty(deptId)) {
+                    int length = deptId.length();
+                    if (length > 0) {
+                        if (length > 10) {
+                            String substring = deptId.substring(0, 6);
+                            String substring1 = deptId.substring(0, 8);
+                            SysDept cityName = sysDeptService.getById(substring);
+                            SysDept districtName = sysDeptService.getById(substring1);
+                            record.setCityName(cityName.getName());
+                            record.setDistrictName(districtName.getName());
+                        } else if (length > 6) {
+                            String substring = deptId.substring(0, 6);
+                            SysDept cityName = sysDeptService.getById(substring);
+                            record.setCityName(cityName.getName());
+                        }
+                    }
+                }
+            }
+        }
         Long  total  = this.insAreaCompanyMapper.queryPageTaskStatisticsTotal(taskStatisticsVo);
         list.setTotal(total);
         return list;
@@ -82,6 +112,7 @@ public class TaskStatisticsServiceImpl  implements TaskStatisticsService {
      **/
     @Override
     public IPage<TaskStatisticsDto> agentStatisticsQueryPage(TaskStatisticsVo taskStatisticsVo) {
+
         PageVo<TaskStatisticsVo> pageVo = new PageVo<>();
         Page page = new Page(taskStatisticsVo.getPageNum(), taskStatisticsVo.getPageSize());
         pageVo.setPageNum(taskStatisticsVo.getPageNum());
@@ -90,6 +121,29 @@ public class TaskStatisticsServiceImpl  implements TaskStatisticsService {
 
         IPage<TaskStatisticsDto> list = this.insAreaCompanyMapper.agentStatisticsQueryPage(page,taskStatisticsVo);
         Long total = this.insAreaCompanyMapper.agentStatisticsQueryPageTotal(taskStatisticsVo);
+        if (list != null && !list.getRecords().isEmpty()) {
+            List<TaskStatisticsDto> records = list.getRecords();
+            for (TaskStatisticsDto record : records) {
+                String deptId = record.getDeptId();
+                if (StringUtils.isNotEmpty(deptId)) {
+                    int length = deptId.length();
+                    if (length > 0) {
+                        if (length > 10) {
+                            String substring = deptId.substring(0, 6);
+                            String substring1 = deptId.substring(0, 8);
+                            SysDept cityName = sysDeptService.getById(substring);
+                            SysDept districtName = sysDeptService.getById(substring1);
+                            record.setCityName(cityName.getName());
+                            record.setDistrictName(districtName.getName());
+                        } else if (length > 6) {
+                            String substring = deptId.substring(0, 6);
+                            SysDept cityName = sysDeptService.getById(substring);
+                            record.setCityName(cityName.getName());
+                        }
+                    }
+                }
+            }
+        }
         list.setTotal(total);
         return list;
     }

+ 1 - 1
src/main/java/com/ydtech/modules/admin/service/impl/UserReportServiceImpl.java

@@ -656,7 +656,7 @@ public class UserReportServiceImpl implements UserReportService {
                             dto.setTotalPremium("0");
                         }else{
                             dto.setOrderNumber(taskStatisticsDto.getOrderNumber()==null?"0":taskStatisticsDto.getOrderNumber());
-                            dto.setUnderwritingCount(taskStatisticsDto.getUnderwritingCount()==null ?"0":taskStatisticsDto.getOrderNumber().toString());
+                            dto.setUnderwritingCount(taskStatisticsDto.getUnderwritingCount()==null ?"0":taskStatisticsDto.getUnderwritingCount().toString());
                             dto.setQutationInsureCount(taskStatisticsDto.getQutationInsureCount()==null?new BigDecimal("0"):taskStatisticsDto.getQutationInsureCount());
                             dto.setTotalPremium(taskStatisticsDto.getTotalPremium()==null ?"0" :taskStatisticsDto.getTotalPremium());
                         }

+ 14 - 12
src/main/java/com/ydtech/modules/fnc/service/impl/InsPlyIncomeServiceImpl.java

@@ -3441,19 +3441,21 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
         financialReceivablesQueryVo.setEndDate(SliceUpDateUtil.getEndOfMonth(year, month));
         //查询总数
         FinancialReceivablesAllMonthVo vo = baseMapper.queryDateByTypeByMonth(financialReceivablesQueryVo);
-//      第二层数据
-        List<FinancialReceivablesMonthSignleVo> resultData = vo.getList();
-        vo.setYearAndMonth(yearAndMonth);
-
-        HashMap<String, BigDecimal> amountMap;
-        if ("2".equals(financialReceivablesQueryVo.getType())) {
-             amountMap = this.privateSett(resultData, financialReceivablesQueryVo);
-        } else {
-             amountMap = this.platformSett(resultData, financialReceivablesQueryVo);
+        if(vo!= null){
+            //      第二层数据
+            List<FinancialReceivablesMonthSignleVo> resultData = vo.getList();
+            vo.setYearAndMonth(yearAndMonth);
+
+            HashMap<String, BigDecimal> amountMap;
+            if ("2".equals(financialReceivablesQueryVo.getType())) {
+                amountMap = this.privateSett(resultData, financialReceivablesQueryVo);
+            } else {
+                amountMap = this.platformSett(resultData, financialReceivablesQueryVo);
+            }
+            vo.setYisSumAmount(amountMap.get("yishouAmount").toString());
+            vo.setYsSumAmount(amountMap.get("yinshouAmount").toString());
+            vo.setWsSumAmount(amountMap.get("weishouAmount").toString());
         }
-        vo.setYisSumAmount(amountMap.get("yishouAmount").toString());
-        vo.setYsSumAmount(amountMap.get("yinshouAmount").toString());
-        vo.setWsSumAmount(amountMap.get("weishouAmount").toString());
         return vo;
     }
 

+ 17 - 6
src/main/resources/mapper/modules/order/InsAreaCompanyMapper.xml

@@ -979,6 +979,7 @@
         SELECT
         sd.NAME AS "deptName",
         io.userid AS "userId",
+        sd.parent_id as "deptId",
         COUNT( CASE WHEN iac.orderstatus = 0 THEN 1 END ) AS qutationCount,
         COUNT( CASE WHEN iac.orderstatus = 2 THEN 1 END ) AS underwritingCount,
         COUNT( CASE WHEN iac.orderstatus = 3 THEN 1 END ) AS qutationInsureCount,
@@ -1035,7 +1036,8 @@
         </where>
         GROUP BY
         io.userid,
-        sd.NAME
+        sd.NAME,
+        sd.id
         ) a
     </select>
     <select id="queryPageTaskStatisticsTotal"  resultType="java.lang.Long">
@@ -1062,8 +1064,13 @@
             </if>
 
             <if test="taskStatisticsVo.createtimeStart !=null and taskStatisticsVo.createtimeStart != '' and taskStatisticsVo.createtimeEnd !=null and taskStatisticsVo.createtimeEnd != ''">
-                AND DATE_FORMAT( io.createtime, '%Y-%m-%d') BETWEEN #{taskStatisticsVo.createtimeStart} AND
-                #{taskStatisticsVo.createtimeEnd}
+                AND   DATE_FORMAT( io.createtime, '%Y-%m-%d')   BETWEEN #{taskStatisticsVo.createtimeStart} AND #{taskStatisticsVo.createtimeEnd}
+            </if>
+            <if test="taskStatisticsVo.beginDate !=null and taskStatisticsVo.beginDate != '' and taskStatisticsVo.endDate !=null and taskStatisticsVo.endDate != ''">
+                AND   DATE_FORMAT( iac.createtime, '%Y-%m-%d')   BETWEEN  DATE_FORMAT( #{taskStatisticsVo.beginDate}, '%Y-%m-%d') AND  DATE_FORMAT( #{taskStatisticsVo.endDate}, '%Y-%m-%d')
+            </if>
+            <if test="taskStatisticsVo.days !=null  and taskStatisticsVo.days !='' ">
+                and iac.createtime >= DATE_SUB(NOW(), INTERVAL #{taskStatisticsVo.days} DAY)
             </if>
 
             <if test="taskStatisticsVo.days !=null  and taskStatisticsVo.days !='' ">
@@ -1196,6 +1203,7 @@
         sd.name as "deptName",
         su.name as "userName",
         io.userid as "userId",
+        sd.id as "deptId",
         COUNT( CASE WHEN iac.orderstatus = 0 THEN 1 END ) AS qutationCount,
         COUNT( CASE WHEN iac.orderstatus = 2 THEN 1 END ) AS underwritingCount,
         COUNT( CASE WHEN iac.orderstatus = 3 THEN 1 END ) AS qutationInsureCount,
@@ -1337,7 +1345,7 @@
             </if>
 
             <if test="taskStatisticsVo.beginDate !=null and taskStatisticsVo.beginDate != '' and taskStatisticsVo.endDate !=null and taskStatisticsVo.endDate != ''">
-                AND   DATE_FORMAT( iac.signing_time, '%Y-%m-%d')   BETWEEN  DATE_FORMAT( #{taskStatisticsVo.beginDate}, '%Y-%m-%d')   AND  DATE_FORMAT( #{taskStatisticsVo.endDate}, '%Y-%m-%d')
+                AND   DATE_FORMAT( iac.createtime, '%Y-%m-%d')   BETWEEN  DATE_FORMAT( #{taskStatisticsVo.beginDate}, '%Y-%m-%d')   AND  DATE_FORMAT( #{taskStatisticsVo.endDate}, '%Y-%m-%d')
             </if>
 
             <if test="taskStatisticsVo.days !=null  and taskStatisticsVo.days !='' ">
@@ -1583,7 +1591,7 @@
         <if test="vo.createtimeStart  != null  and  vo.createtimeStart!=''  and vo.createtimeEnd  != null  and  vo.createtimeEnd!=''">
             AND   DATE_FORMAT( iac.createtime, '%Y-%m-%d')   BETWEEN DATE_FORMAT( #{vo.createtimeStart}, '%Y-%m-%d')  AND DATE_FORMAT( #{vo.createtimeEnd}, '%Y-%m-%d')
         </if>
-        <if test="vo.days !=null  and vo.days !='' ">
+        <if test="vo.days !=null  and vo.days !=''  and vo.days != 0 ">
             and iac.createtime >= DATE_SUB(NOW(), INTERVAL #{vo.days} DAY)
         </if>
         <if test="vo.provinceId != null and vo.provinceId != '' and  vo.cityId == null and vo.countyId == null  and vo.houseId == null ">
@@ -1646,7 +1654,10 @@
             and agree.partner_companies_id = #{vo.parterCompanyId}
         </if>
         <if test="vo.createtimeStart  != null  and  vo.createtimeStart!=''  and vo.createtimeEnd  != null  and  vo.createtimeEnd!=''">
-            AND iac.createtime BETWEEN #{vo.createtimeStart} AND #{vo.createtimeStart}
+            AND   DATE_FORMAT( iac.createtime, '%Y-%m-%d')   BETWEEN DATE_FORMAT( #{vo.createtimeStart}, '%Y-%m-%d')  AND DATE_FORMAT( #{vo.createtimeEnd}, '%Y-%m-%d')
+        </if>
+        <if test="vo.days !=null  and vo.days !=''  and vo.days != 0 ">
+            and iac.createtime >= DATE_SUB(NOW(), INTERVAL #{vo.days} DAY)
         </if>
         <if test="vo.provinceId != null and vo.provinceId != ''">
             and io.deptid like "${vo.provinceId}%"