Explorar o código

1.控制台 财务中心 费用校验 审核人员
2.【任务统计-代理人】正式环境,查询有27条数据,导出只有6条

wuhp hai 1 ano
pai
achega
62ef76de31

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

@@ -207,6 +207,31 @@ public class TaskStatisticsController {
             return HttpResult.error("查询错误"+e.getMessage());
         }
     }
+
+    /**
+     * @description:   财务中心-费用校验 -人员查询
+     * @author: whp
+     **/
+    @PostMapping("costReviewer")
+    @ApiOperation(value = "控制台-财务中心-费用校验")
+    public HttpResult<IPage<TaskStatisticsDto>> costReviewer(@RequestBody TaskStatisticsVo taskStatisticsVo, HttpServletRequest httpServerRequest) {
+        try{
+            KztGetDeptUtils kztGetDeptUtils = new KztGetDeptUtils();
+            KztGetDeptUtilsDto kztGetDeptUtilsDto = kztGetDeptUtils.KztGetDeptIds(httpServerRequest.getRequestURL().toString());
+            if(ObjectUtils.isNotEmpty(kztGetDeptUtilsDto)){
+                if("1".equals(kztGetDeptUtilsDto.getType())){
+                    taskStatisticsVo.setDeptIds(kztGetDeptUtilsDto.getIds());
+                } else if ("2".equals(kztGetDeptUtilsDto.getType())) {
+                    taskStatisticsVo.setUserIds(kztGetDeptUtilsDto.getIds());
+                }
+            }
+            IPage<TaskStatisticsDto> result = taskStatisticsService.costReviewer(taskStatisticsVo);
+            return HttpResult.ok("查询数据成功", result);
+        }catch (Exception e){
+            return HttpResult.error("查询错误"+e.getMessage());
+        }
+    }
+
     /**
      * @description:   财务中心-费用校验-明细
      * @author: whp

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

@@ -195,4 +195,10 @@ public interface TaskStatisticsService {
      */
     HttpResult ordersDetailsExcel(TaskStatisticsVo taskStatisticsVo);
 
+    /**
+     * @description:   财务中心-费用校验 -人员查询
+     * @author: whp
+     **/
+    IPage<TaskStatisticsDto> costReviewer(TaskStatisticsVo taskStatisticsVo);
+
 }

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

@@ -724,6 +724,34 @@ public class TaskStatisticsServiceImpl  implements TaskStatisticsService {
     }
 
     private HttpResult getHttpResult(TaskStatisticsVo taskStatisticsVo) {
+        String leaderId = taskStatisticsVo.getLeaderId();
+        if(com.ydtech.utils.StringUtils.isNotEmpty(leaderId)){
+            //获取领导人下级所有
+            List<String> ids = new ArrayList<>();
+            List<String> userList = this.getUserTreeHx(leaderId, ids);
+            userList.add(leaderId);
+            if(userList.size()>0){
+                taskStatisticsVo.setLeaderIds(userList);
+            }
+        }
+
+        PageVo<TaskStatisticsVo> pageVo = new PageVo<>();
+        Page page = new Page(taskStatisticsVo.getPageNum(), taskStatisticsVo.getPageSize());
+        pageVo.setPageNum(taskStatisticsVo.getPageNum());
+        pageVo.setPageSize(taskStatisticsVo.getPageSize());
+        page.setSearchCount(false).setOptimizeCountSql(false);//关闭count查询
+
+        if(StringUtils.isNotEmpty(taskStatisticsVo.getDays())){
+            if("7".equals(taskStatisticsVo.getDays())){
+                taskStatisticsVo.setDays("2");
+            } else if ("30".equals(taskStatisticsVo.getDays())) {
+                taskStatisticsVo.setDays("3");
+            }
+        }
+        HashMap<String, String> dateMapByType = getDateMapByTypeNew(taskStatisticsVo.getDays(), taskStatisticsVo.getBeginDate(), taskStatisticsVo.getEndDate());
+        taskStatisticsVo.setBeginDate(dateMapByType.get("startDate"));
+        taskStatisticsVo.setEndDate(dateMapByType.get("endDate"));
+
         List<TaskStatisticsExcel> list = this.insAreaCompanyMapper.channelExcel(taskStatisticsVo);
         if (list != null && !list.isEmpty()) {
             for (TaskStatisticsExcel record : list) {
@@ -749,7 +777,7 @@ public class TaskStatisticsServiceImpl  implements TaskStatisticsService {
 
 
             }
-        }
+         }
         String uploadPath = this.uploadPath + "/excel/";
         Path path = Paths.get(uploadPath);
         if (!Files.exists(path)) {
@@ -1513,4 +1541,29 @@ public class TaskStatisticsServiceImpl  implements TaskStatisticsService {
         }
     }
 
+    /**
+     * @description:   财务中心 - 费用校验 - 人员查询
+     * @author: whp
+     **/
+    @Override
+    public IPage<TaskStatisticsDto> costReviewer(TaskStatisticsVo taskStatisticsVo) {
+        if(StringUtils.isNotEmpty(taskStatisticsVo.getDays())){
+            if("7".equals(taskStatisticsVo.getDays())){
+                taskStatisticsVo.setDays("2");
+            } else if ("30".equals(taskStatisticsVo.getDays())) {
+                taskStatisticsVo.setDays("3");
+            }
+        }
+        HashMap<String, String> dateMapByType = getDateMapByTypeNew(taskStatisticsVo.getDays(), taskStatisticsVo.getCreatetimeStart(), taskStatisticsVo.getCreatetimeEnd());
+        taskStatisticsVo.setCreatetimeStart(dateMapByType.get("startDate"));
+        taskStatisticsVo.setCreatetimeEnd(dateMapByType.get("endDate"));
+
+        PageVo<TaskStatisticsVo> pageVo = new PageVo<>();
+        Page page = new Page(taskStatisticsVo.getPageNum(), taskStatisticsVo.getPageSize());
+        pageVo.setPageNum(taskStatisticsVo.getPageNum());
+        pageVo.setPageSize(taskStatisticsVo.getPageSize());
+        IPage<TaskStatisticsDto> list = this.insAreaCompanyMapper.costReviewer(page,taskStatisticsVo);
+        return list;
+    }
+
 }

+ 5 - 0
src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyMapper.java

@@ -433,6 +433,11 @@ public interface InsAreaCompanyMapper extends BaseMapper<InsAreaCompany> {
      * @author: whp
      **/
     List<QuotationDetailsExcel> quotationDetailsExcel(@Param("vo") CompanyQutationCountDataQueryDto companyQutationCountDataQueryDto);
+    /**
+     * @description:   财务中心 - 费用校验 - 人员查询
+     * @author: whp
+     **/
+    IPage<TaskStatisticsDto> costReviewer(@Param("page") Page page,@Param("vo") TaskStatisticsVo taskStatisticsVo);
 
 }
 

+ 69 - 1
src/main/resources/mapper/modules/order/InsAreaCompanyMapper.xml

@@ -3009,8 +3009,9 @@
             <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}
             </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.deptIds != null and taskStatisticsVo.deptIds != '' and taskStatisticsVo.deptIds.size() > 0">
@@ -3876,4 +3877,71 @@
         ) a
         group by   a.companyId,a.insuranceCompanyName,a.parterCompanyId,a.partnerCompaniesName,a.logo,a.dockingPerson,a.dockingPhone,a.agreementType
     </select>
+
+    <select id="costReviewer" resultType="com.ydtech.modules.admin.model.dto.TaskStatisticsDto">
+        SELECT
+        ifa.audituser as "audituser",
+        su.name as  "audituserName",
+        COUNT( CASE WHEN ifa.auditstatus = 1 THEN 1 END ) AS "auditstatusOrders",
+        COUNT( CASE WHEN ifa.auditstatus = 0 THEN 1 END ) AS "auditOrder",
+        COUNT( CASE WHEN ifa.auditstatus = 1 and   ifa.audituser != '自动审核' THEN 1 END ) AS "persionAudit",
+        COUNT( CASE WHEN ifa.audituser = '自动审核'  THEN 1 END ) AS "automaticAudit"
+        FROM
+        ins_fee_audit ifa
+        LEFT JOIN ins_orders io ON io.orderno = ifa.orderno
+        LEFT JOIN ins_area_company iac ON iac.orderno = io.orderno
+        LEFT JOIN ptl_agreement pa ON pa.id = iac.agreement_id
+        LEFT JOIN esm_ins_company eic ON eic.id = pa.partner_companies_id
+        left join sys_user  su  on su.id =ifa.audituser
+        <where>
+            1=1
+            and iac.id = ifa.ins_order_no
+            and iac.orderstatus = 3
+            and (iac.del_flag = '1' or io.del_flag IS NULL or io.del_flag = 1)
+            <if test="taskStatisticsVo.reviewer !=null  and  taskStatisticsVo.reviewer !=''">
+                and su.name =#{taskStatisticsVo.reviewer}
+            </if>
+
+            <if test="taskStatisticsVo.audittime !=null  and  taskStatisticsVo.audittime !=''">
+                and ifa.audittime =#{taskStatisticsVo.audittime}
+            </if>
+
+            <if test="taskStatisticsVo.companyId !=null  and  taskStatisticsVo.companyId !=''">
+                and iac.company_id =#{taskStatisticsVo.companyId}
+            </if>
+
+            <if test="taskStatisticsVo.createtimeStart !=null and taskStatisticsVo.createtimeStart != '' and taskStatisticsVo.createtimeEnd !=null and taskStatisticsVo.createtimeEnd != ''">
+                AND   DATE_FORMAT( iac.signing_time, '%Y-%m-%d')  BETWEEN  DATE_FORMAT( #{taskStatisticsVo.createtimeStart}, '%Y-%m-%d')   AND  DATE_FORMAT( #{taskStatisticsVo.createtimeEnd}, '%Y-%m-%d')
+            </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')
+            </if>
+
+            <if test="taskStatisticsVo.auditTimeStart !=null and taskStatisticsVo.auditTimeEnd != '' and taskStatisticsVo.auditTimeStart !=null and taskStatisticsVo.auditTimeEnd != ''">
+                AND   DATE_FORMAT( ifa.audittime, '%Y-%m-%d')   BETWEEN  DATE_FORMAT( #{taskStatisticsVo.auditTimeStart}, '%Y-%m-%d')   AND  DATE_FORMAT( #{taskStatisticsVo.auditTimeEnd}, '%Y-%m-%d')
+            </if>
+
+            <if test="taskStatisticsVo.deptIds != null and taskStatisticsVo.deptIds != '' and taskStatisticsVo.deptIds.size() > 0">
+                AND io.deptid  in
+                <foreach collection="taskStatisticsVo.deptIds" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+
+            <if test="taskStatisticsVo.userIds != null and taskStatisticsVo.userIds != '' and taskStatisticsVo.userIds.size() > 0">
+                AND su.id  in
+                <foreach collection="taskStatisticsVo.userIds" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <choose>
+                <when test="taskStatisticsVo.riskCode != null and taskStatisticsVo.riskCode != '' and  taskStatisticsVo.riskCode != 'all' ">
+                    and iac.product = #{taskStatisticsVo.riskCode}
+                </when>
+            </choose>
+        </where>
+        GROUP BY
+        ifa.audituser
+    </select>
 </mapper>