Răsfoiți Sursa

1.费用校验 可以加个总合计以及 保险公司 险种 审核人员 审核时间 筛选框

wuhp 1 an în urmă
părinte
comite
71b8faddf4

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

@@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -144,6 +145,31 @@ public class TaskStatisticsController {
         }
     }
 
+    /**
+     * @description:   财务中心-费用校验-合计
+     * @author: whp
+     * @date: 2024/9/28
+     **/
+    @PostMapping("costCenterTotal")
+    @ApiOperation(value = "财务中心-费用校验-合计")
+    public HttpResult<HashMap<String,Object>> costCenterTotal(@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());
+                }
+            }
+            HashMap<String,Object> result = taskStatisticsService.costCenterTotal(taskStatisticsVo);
+            return HttpResult.ok("查询数据成功", result);
+        }catch (Exception e){
+            return HttpResult.error("查询错误"+e.getMessage());
+        }
+    }
+
     /**
      * @description:   保险公司统计总报价
      * @author: whp

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

@@ -1,12 +1,14 @@
 package com.ydtech.modules.admin.model.vo;
 
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import javax.validation.constraints.Min;
 import java.io.Serializable;
+import java.time.LocalDateTime;
 import java.util.List;
 
 /**
@@ -121,5 +123,10 @@ public class TaskStatisticsVo implements Serializable {
     @ApiModelProperty(value = "用户ids")
     private List<String> proportionUserIds;
 
+    @ApiModelProperty(value = "审核人")
+    private String reviewer;
+
+    @ApiModelProperty("审核时间")
+    private String audittime;
 
 }

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

@@ -7,6 +7,7 @@ import com.ydtech.modules.admin.model.vo.BusinessAgentData;
 import com.ydtech.modules.admin.model.vo.TaskStatisticsVo;
 import com.ydtech.modules.order.entity.BasePageResult;
 
+import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -97,4 +98,10 @@ public interface TaskStatisticsService {
      * @return  控制台任务统计 渠道代理人详情
      */
     IPage<TaskStatisticsDto> channelAgentDetails(TaskStatisticsVo taskStatisticsVo);
+    /**
+     * @description:   财务中心-费用校验-合计
+     * @author: whp
+     * @date: 2024/9/28
+     **/
+    HashMap<String, Object> costCenterTotal(TaskStatisticsVo taskStatisticsVo);
 }

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

@@ -639,6 +639,32 @@ public class TaskStatisticsServiceImpl  implements TaskStatisticsService {
         IPage<TaskStatisticsDto> list = this.taskStatisticsMapper.channelAgentDetails(page,taskStatisticsVo);
         return list;
     }
+    /**
+     * @description:   财务中心-费用校验-合计
+     * @author: whp
+     * @date: 2024/9/28
+     **/
+    @Override
+    public HashMap<String, Object> costCenterTotal(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());
+        HashMap<String,Object> list = this.insAreaCompanyMapper.costCenterTotal(taskStatisticsVo);
+        return list;
+    }
+
     private void appendName(BusinessAgentData user) {
         StringBuilder stringBuilder = new StringBuilder();
         String deptId = user.getDeptId();

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

@@ -323,6 +323,12 @@ public interface InsAreaCompanyMapper extends BaseMapper<InsAreaCompany> {
      * @return  查询已审核的外部订单
      */
     Page<InsAreaCompany> orderCheckPage(Page page, @Param("userId") String userId, @Param("vo") RejectPageQueryVo rejectPageQueryVo);
+    /**
+     * @description:   财务中心-费用校验-合计
+     * @author: whp
+     * @date: 2024/9/28
+     **/
+    HashMap<String, Object> costCenterTotal(@Param("taskStatisticsVo") TaskStatisticsVo taskStatisticsVo);
 }
 
 

+ 87 - 32
src/main/resources/mapper/modules/order/InsAreaCompanyMapper.xml

@@ -1537,6 +1537,20 @@
             1=1
             and iac.id = ifa.ins_order_no
             AND iac.orderstatus = 3
+
+
+            <if test="taskStatisticsVo.reviewer !=null  and  taskStatisticsVo.reviewer !=''">
+                and ifa.audituser =#{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 ifa.company_id =#{taskStatisticsVo.companyId}
+            </if>
+
             <if test="taskStatisticsVo.createtimeStart !=null and taskStatisticsVo.createtimeStart != '' and taskStatisticsVo.createtimeEnd !=null and taskStatisticsVo.createtimeEnd != ''">
                 AND   DATE_FORMAT( ifa.audittime, '%Y-%m-%d')  BETWEEN  DATE_FORMAT( #{taskStatisticsVo.createtimeStart}, '%Y-%m-%d')   AND  DATE_FORMAT( #{taskStatisticsVo.createtimeEnd}, '%Y-%m-%d')
             </if>
@@ -2381,15 +2395,12 @@
     </select>
 
     <select id="querOrdersDataListExcel" resultType="com.ydtech.modules.admin.model.dto.OrdersDataExcel">
-       select a.*,
-       IFNULL(b.orderNumber,0)/IFNULL(a.orderNumber  ,0)
-       from (
         SELECT
         count( 0 ) AS "orderNumber",
         b.licenseno as "licenseno",
+        b.frameno as "frameno",
         b.modelCode as "modelCode",
-        b.modelcname as "modelcname",
-        b.frameno as "frameno"
+        b.modelcname as "modelcname"
         FROM
         (
         SELECT
@@ -2432,6 +2443,19 @@
             <if test="vo.year  != null  and  vo.year!='' ">
                 AND DATE_FORMAT( io.createtime, '%Y') =#{vo.year}
             </if>
+            <if test="vo.deptIds != null and vo.deptIds != '' and vo.deptIds.size() > 0">
+                AND io.deptid  in
+                <foreach collection="vo.deptIds" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+
+            <if test="vo.userIds != null and vo.userIds != '' and vo.userIds.size() > 0">
+                AND io.userid  in
+                <foreach collection="vo.userIds" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
         </where>
         ) b
         GROUP  BY
@@ -2439,33 +2463,6 @@
         b.frameno,
         b.modelCode,
         b.modelcname
-                     ) a
-       left  join (
-        select count(0) as "orderNumber",
-        GROUP_CONCAT(inscompany ORDER BY inscompany SEPARATOR ',') as "namesimple",
-        io.licenseno as "licenseno"
-        from ins_area_company iac
-        left join ins_orders io on io.orderno = iac.orderno
-        <where>
-            1=1
-            and  iac.orderstatus ='3'
-            and io.orderstatus ='3'
-            <if test="vo.licenseno !=null  and vo.licenseno!=''">
-                AND io.licenseno =#{vo.licenseno}
-            </if>
-            <if test="vo.frameno !=null  and vo.frameno!=''">
-                AND io.frameno =#{vo.frameno}
-            </if>
-            <if test="vo.beginDate  != null  and  vo.beginDate!=''  and vo.endDate  != null  and  vo.endDate!=''">
-                AND io.createtime BETWEEN #{vo.beginDate} AND #{vo.endDate}
-            </if>
-            <if test="vo.year  != null  and  vo.year!='' ">
-                AND DATE_FORMAT( io.createtime, '%Y') =#{vo.year}
-            </if>
-        </where>
-        group  by
-        io.licenseno
-        )  b  on b.licenseno  =a.licenseno
     </select>
 
     <select id="orderCheckPage" resultType="com.ydtech.modules.order.entity.InsAreaCompany">
@@ -2502,4 +2499,62 @@
         </if>
     </select>
 
+    <select id="costCenterTotal" resultType="java.util.HashMap">
+        SELECT
+        COUNT( CASE WHEN ifa.auditstatus = 1 THEN 1 END ) AS "allAuditstatusOrders",
+        COUNT( CASE WHEN ifa.auditstatus = 0 THEN 1 END ) AS "allAuditOrder",
+        COUNT( CASE WHEN ifa.auditstatus = 1 and   ifa.audituser != '自动审核' THEN 1 END ) AS "allPersionAudit",
+        COUNT( CASE WHEN ifa.audituser = '自动审核'  THEN 1 END ) AS "allAutomaticAudit"
+        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
+        AND iac.orderstatus = 3
+        LEFT JOIN ptl_agreement pa ON pa.id = iac.agreement_id
+        LEFT JOIN esm_ins_company eic ON eic.id = pa.partner_companies_id
+        <where>
+            1=1
+            and iac.id = ifa.ins_order_no
+            AND iac.orderstatus = 3
+            <if test="taskStatisticsVo.reviewer !=null  and  taskStatisticsVo.reviewer !=''">
+                and ifa.audituser =#{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 ifa.company_id =#{taskStatisticsVo.companyId}
+            </if>
+
+            <if test="taskStatisticsVo.createtimeStart !=null and taskStatisticsVo.createtimeStart != '' and taskStatisticsVo.createtimeEnd !=null and taskStatisticsVo.createtimeEnd != ''">
+                AND   DATE_FORMAT( ifa.audittime, '%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( ifa.audittime, '%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">
+                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>
+    </select>
+
+
 </mapper>