From 1d51512c49e89a84c4042a9e3fa48fc4bf438056 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Tue, 14 Dec 2021 10:01:40 +0800
Subject: [PATCH] 1. 新增保安员统计查询,业务情况统计查询 2. 新增保安员统计导出,业务情况统计导出
---
src/main/java/org/springblade/modules/information/excel/ExportInformationSecurityStatistics.java | 94 +++
src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml | 734 ++++++++++++++++++++++++++++++
src/main/java/org/springblade/modules/information/vo/InformationStatisticsVO.java | 115 ++++
src/main/java/org/springblade/modules/information/service/IInformationService.java | 32 +
src/main/java/org/springblade/modules/information/controller/InformationController.java | 40 +
src/main/java/org/springblade/modules/information/vo/InformationVO.java | 15
src/main/java/org/springblade/modules/information/mapper/InformationMapper.java | 103 ++++
src/main/java/org/springblade/modules/information/excel/ExportInformationExcel.java | 78 +++
src/main/java/org/springblade/modules/information/service/impl/InformationServiceImpl.java | 177 +++++++
9 files changed, 1,388 insertions(+), 0 deletions(-)
diff --git a/src/main/java/org/springblade/modules/information/controller/InformationController.java b/src/main/java/org/springblade/modules/information/controller/InformationController.java
index c614b84..207518a 100644
--- a/src/main/java/org/springblade/modules/information/controller/InformationController.java
+++ b/src/main/java/org/springblade/modules/information/controller/InformationController.java
@@ -34,12 +34,15 @@
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.support.Kv;
+import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.DigestUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringUtil;
import org.springblade.modules.FTP.FtpUtil;
import org.springblade.modules.FTP.OutJson;
import org.springblade.modules.information.entity.Information;
+import org.springblade.modules.information.excel.ExportInformationExcel;
+import org.springblade.modules.information.excel.ExportInformationSecurityStatistics;
import org.springblade.modules.information.excel.InforExcel;
import org.springblade.modules.information.excel.InforImporter;
import org.springblade.modules.information.service.IInformationService;
@@ -54,6 +57,7 @@
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
+import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.*;
import java.text.DateFormat;
@@ -483,4 +487,40 @@
return sortedMap;
}
+ /**
+ * 业务统计情况
+ */
+ @GetMapping("/selectBusinessStatistics")
+ public R<IPage> selectBusinessStatistics(InformationVO information, Query query) {
+ IPage list = informationService.selectBusinessStatistics(Condition.getPage(query), information);
+ return R.data(list);
+ }
+
+ /**
+ * 保安员情况统计
+ */
+ @GetMapping("/selectSecurityStatistics")
+ public R<IPage> selectSecurityStatistics(InformationVO information, Query query) {
+ IPage list = informationService.selectSecurityStatistics(Condition.getPage(query), information);
+ return R.data(list);
+ }
+
+ /**
+ * 业务统计情况导出
+ */
+ @GetMapping("/export-business-statis")
+ public void exportBusinessStatis(HttpServletResponse response, InformationVO information) {
+ List<ExportInformationExcel> list= informationService.exportBusinessStatis(information);
+ ExcelUtil.export(response, "业务统计数据" + DateUtil.time(), "业务统计数据表", list, ExportInformationExcel.class);
+ }
+
+ /**
+ * 保安员情况统计导出
+ */
+ @GetMapping("/export-security-statis-info")
+ public void exportSecurityStatisInfo(HttpServletResponse response,InformationVO information) {
+ List<ExportInformationSecurityStatistics> list = informationService.exportSecurityStatisInfo(information);
+ ExcelUtil.export(response, "保安员统计数据" + DateUtil.time(), "保安员统计数据表", list, ExportInformationSecurityStatistics.class);
+ }
+
}
diff --git a/src/main/java/org/springblade/modules/information/excel/ExportInformationExcel.java b/src/main/java/org/springblade/modules/information/excel/ExportInformationExcel.java
new file mode 100644
index 0000000..3578528
--- /dev/null
+++ b/src/main/java/org/springblade/modules/information/excel/ExportInformationExcel.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.information.excel;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 业务统计导出
+ * @author zhongrj
+ * @since 2021-12-14
+ */
+@Data
+@ColumnWidth(25)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class ExportInformationExcel implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @ColumnWidth(35)
+ @ExcelProperty("企业名称")
+ private String enterpriseName;
+
+ /**
+ * 公司id(忽略不导出)
+ */
+ @ExcelIgnore
+ private String departmentid;
+
+ @ColumnWidth(15)
+ @ExcelProperty("企业类型")
+ private String stats;
+
+ @ColumnWidth(15)
+ @ExcelProperty("所属辖区")
+ private String jurname;
+
+ @ColumnWidth(15)
+ @ExcelProperty("保安员人数")
+ private Integer znum;
+
+ @ColumnWidth(15)
+ @ExcelProperty("持证人数")
+ private Integer cznum;
+
+ @ColumnWidth(15)
+ @ExcelProperty("派遣人数")
+ private Integer pqnum;
+
+ @ColumnWidth(15)
+ @ExcelProperty("服务对象数量")
+ private Integer fwnum;
+
+ @ColumnWidth(15)
+ @ExcelProperty("服务到期数量")
+ private Integer dqnum;
+
+}
diff --git a/src/main/java/org/springblade/modules/information/excel/ExportInformationSecurityStatistics.java b/src/main/java/org/springblade/modules/information/excel/ExportInformationSecurityStatistics.java
new file mode 100644
index 0000000..28836d7
--- /dev/null
+++ b/src/main/java/org/springblade/modules/information/excel/ExportInformationSecurityStatistics.java
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.information.excel;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 保安员统计
+ *
+ * @author zhongrj
+ * @since 2021-12-14
+ */
+@Data
+@ColumnWidth(25)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class ExportInformationSecurityStatistics implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @ColumnWidth(35)
+ @ExcelProperty("企业名称")
+ private String deptname;
+
+ /**
+ * 公司id(忽略不导出)
+ */
+ @ExcelIgnore
+ private String departmentid;
+
+ @ColumnWidth(15)
+ @ExcelProperty("企业类型")
+ private String stats;
+
+ @ColumnWidth(15)
+ @ExcelProperty("所属辖区")
+ private String jurname;
+
+ @ColumnWidth(15)
+ @ExcelProperty("保安员人数")
+ private Integer num;
+
+ @ColumnWidth(15)
+ @ExcelProperty("持证上岗人数")
+ private Integer cznum;
+
+ @ColumnWidth(15)
+ @ExcelProperty("未派遣人数")
+ private Integer wpqnum;
+
+ @ColumnWidth(15)
+ @ExcelProperty("派遣人数")
+ private Integer pqnum;
+
+ @ColumnWidth(15)
+ @ExcelProperty("已采集照片人数")
+ private Integer ycjzpnum;
+
+ @ColumnWidth(15)
+ @ExcelProperty("未采集照片人数")
+ private Integer wcjzpnum;
+
+ @ColumnWidth(15)
+ @ExcelProperty("已采集指纹人数")
+ private Integer ycjzwnum;
+
+ @ColumnWidth(15)
+ @ExcelProperty("资格审查异常人数")
+ private Integer scycnum;
+
+ @ColumnWidth(15)
+ @ExcelProperty("缴纳社保人数")
+ private Integer jnsbnum;
+}
diff --git a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.java b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.java
index eaa76f6..eccd163 100644
--- a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.java
+++ b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.java
@@ -20,6 +20,9 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.information.entity.Information;
+import org.springblade.modules.information.excel.ExportInformationExcel;
+import org.springblade.modules.information.excel.ExportInformationSecurityStatistics;
+import org.springblade.modules.information.vo.InformationStatisticsVO;
import org.springblade.modules.information.vo.InformationVO;
import org.springblade.modules.system.entity.Dept;
@@ -98,4 +101,104 @@
* @return
*/
int selectInformationHoldNumCount(@Param("dept")Dept dept);
+
+ /**
+ * 业务统计情况
+ * @param page
+ * @param information
+ * @return
+ */
+ List<InformationStatisticsVO> selectBusinessStatistics(@Param("page")IPage page,@Param("information") InformationVO information);
+
+ /**
+ * 查询当前单位是否有子级单位
+ * @param informationStatisticsVO
+ * @return
+ */
+ List<Dept> getDeptHashChildrens(@Param("information") InformationStatisticsVO informationStatisticsVO);
+
+ /**
+ * 服务单位数
+ * @param dept
+ * @return
+ */
+ Integer selectInformationUnitNumCount(@Param("dept")Dept dept);
+
+ /**
+ * 服务单位到期数
+ * @param dept
+ * @return
+ */
+ Integer selectInformationUnitExpireNumCount(@Param("dept")Dept dept);
+
+ /**
+ * 查询单位的未派遣人数
+ * @param dept
+ * @return
+ */
+ Integer selectInformationNotDispatcherNumCount(@Param("dept")Dept dept);
+
+ /**
+ * 查询单位的已采集照片人数
+ * @param dept
+ * @return
+ */
+ Integer selectInformationUnitAvatarNumCount(@Param("dept")Dept dept);
+
+ /**
+ * 查询单位的未采集照片人数
+ * @param dept
+ * @return
+ */
+ Integer selectInformationUnitNotAvatarNumCount(@Param("dept")Dept dept);
+
+ /**
+ * 已采集指纹
+ * @param dept
+ * @return
+ */
+ Integer selectInformationUnitZwNumCount(@Param("dept")Dept dept);
+
+ /**
+ * 审查异常
+ * @param dept
+ * @return
+ */
+ Integer selectInformationUnitYcNumCount(@Param("dept")Dept dept);
+
+ /**
+ * 缴纳社保
+ * @param dept
+ * @return
+ */
+ Integer selectInformationUnitJnsbNumCount(@Param("dept")Dept dept);
+
+ /**
+ * 保安员情况统计
+ * @param page
+ * @param information
+ * @return
+ */
+ List<InformationStatisticsVO> selectSecurityStatistics(@Param("page") IPage page, @Param("information") InformationVO information);
+
+ /**
+ * 查询部门信息
+ * @param departmentid
+ * @return
+ */
+ List<Dept> getDeptChildrens(String departmentid);
+
+ /**
+ * 保安员统计导出
+ * @param information
+ * @return
+ */
+ List<ExportInformationSecurityStatistics> exportSecurityStatisInfo(@Param("information") InformationVO information);
+
+ /**
+ * 业务情况统计导出
+ * @param information
+ * @return
+ */
+ List<ExportInformationExcel> exportBusinessStatis(@Param("information") InformationVO information);
}
diff --git a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
index 2bccbda..7437ddc 100644
--- a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
+++ b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -507,4 +507,738 @@
)
</select>
+ <!--业务统计情况-->
+ <select id="selectBusinessStatistics" resultType="org.springblade.modules.information.vo.InformationStatisticsVO">
+ SELECT
+ A.enterpriseName,
+ A.departmentid,
+ A.stats,
+ A.jurisdiction,
+ j.dept_name as jurname,
+ IFNULL( C.znum, 0 ) AS znum,
+ IFNULL( E.cznum, 0 ) AS cznum,
+ IFNULL( F.pqnum, 0 ) AS pqnum,
+ IFNULL( B.num, 0 ) AS fwnum,
+ IFNULL( D.dqnum, 0 ) AS dqnum
+ FROM
+ (
+ SELECT enterpriseName,jurisdiction, departmentid,stats,create_time FROM sys_information WHERE stats!=1 GROUP BY
+ enterpriseName,jurisdiction,departmentid,stats,create_time) A
+ LEFT JOIN
+ (
+ SELECT COUNT( * ) AS num, dept_id FROM sys_dispatcher_unit
+ where
+ start_time <= now() and end_time > now()
+ GROUP BY dept_id
+ ) B
+ ON A.departmentid = B.dept_id
+ LEFT JOIN
+ (
+ SELECT
+ COUNT( * ) AS znum,
+ bu.dept_id
+ FROM
+ blade_user bu
+ WHERE
+ bu.`status` = 1
+ AND bu.is_deleted = 0
+ AND bu.role_id = '1412226235153731586'
+ GROUP BY
+ bu.dept_id
+ ) C
+ ON A.departmentid = C.dept_id
+ LEFT JOIN
+ (
+ SELECT COUNT( * ) AS dqnum, dept_id FROM sys_dispatcher_unit where end_time < now() GROUP BY dept_id
+ ) D
+ ON A.departmentid = D.dept_id
+ LEFT JOIN
+ (
+ SELECT COUNT( * ) AS cznum, dept_id FROM blade_user where
+ hold = 1
+ and role_id = '1412226235153731586'
+ and status= 1
+ and is_deleted = 0
+ GROUP BY dept_id
+ ) E
+ ON A.departmentid = E.dept_id
+ LEFT JOIN
+ (
+ SELECT
+ count(*) AS pqnum,
+ dept_id
+ FROM
+ blade_user
+ where 1=1
+ and status = 1
+ and is_deleted = 0
+ and role_id = "1412226235153731586"
+ and dispatch = 0
+ GROUP BY
+ dept_id
+ ) F
+ ON A.departmentid = F.dept_id
+ LEFT JOIN blade_dept d ON A.departmentid = d.id
+ LEFT JOIN sys_jurisdiction j ON j.id = A.jurisdiction
+ WHERE 1 =1
+ and d.dept_category = 1
+ <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
+ and (j.id = #{information.jurisdiction} or j.parent_id = #{information.jurisdiction})
+ </if>
+ <if test="information.deptid!=null and information.deptid!=''">
+ and A.enterpriseName like concat('%', #{information.deptid},'%')
+ </if>
+ <if test="information.stats!=null and information.stats!=''">
+ and A.stats=#{information.stats}
+ </if>
+ <if test="information.startTime!=null and information.startTime!=''">
+ and A.create_time >= #{information.startTime}
+ </if>
+ <if test="information.endTime!=null and information.endTime!=''">
+ and A.create_time <= #{information.endTime}
+ </if>
+ </select>
+
+ <!--查询当前单位是否有子级单位-->
+ <select id="getDeptHashChildrens" resultType="org.springblade.modules.system.entity.Dept">
+ select * from blade_dept where is_deleted = 0 and parent_id = #{information.departmentid}
+ </select>
+
+ <!--查询服务单位数-->
+ <select id="selectInformationUnitNumCount" resultType="java.lang.Integer">
+ SELECT COUNT(*) FROM sys_dispatcher_unit
+ where
+ start_time <= now() and end_time > now()
+ and dept_id in
+ (
+ SELECT
+ id
+ FROM
+ (
+ SELECT
+ t1.id,t1.parent_id,t1.dept_name,
+ IF
+ ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+ FROM
+ ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+ ( SELECT @pids := #{dept.id} ) t2
+ ) t3
+ WHERE
+ ischild != 0
+ )
+ </select>
+
+ <!--查询服务单位到期数-->
+ <select id="selectInformationUnitExpireNumCount" resultType="java.lang.Integer">
+ SELECT COUNT(*) FROM sys_dispatcher_unit
+ where end_time < now()
+ and dept_id in
+ (
+ SELECT
+ id
+ FROM
+ (
+ SELECT
+ t1.id,t1.parent_id,t1.dept_name,
+ IF
+ ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+ FROM
+ ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+ ( SELECT @pids := #{dept.id} ) t2
+ ) t3
+ WHERE
+ ischild != 0
+ )
+ </select>
+
+ <!--查询单位的未派遣人数-->
+ <select id="selectInformationNotDispatcherNumCount" resultType="java.lang.Integer">
+ SELECT COUNT( * ) FROM blade_user
+ WHERE 1=1
+ and role_id = '1412226235153731586'
+ and is_deleted = 0
+ AND status=1
+ AND dispatch=1
+ and dept_id in
+ (
+ SELECT
+ id
+ FROM
+ (
+ SELECT
+ t1.id,t1.parent_id,t1.dept_name,
+ IF
+ ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+ FROM
+ ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+ ( SELECT @pids := #{dept.id} ) t2
+ ) t3
+ WHERE
+ ischild != 0
+ )
+ </select>
+
+ <!--查询单位的已采集照片人数-->
+ <select id="selectInformationUnitAvatarNumCount" resultType="java.lang.Integer">
+ SELECT COUNT(*) FROM blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND avatar is not null and avatar!=""
+ and dept_id in
+ (
+ SELECT
+ id
+ FROM
+ (
+ SELECT
+ t1.id,t1.parent_id,t1.dept_name,
+ IF
+ ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+ FROM
+ ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+ ( SELECT @pids := #{dept.id} ) t2
+ ) t3
+ WHERE
+ ischild != 0
+ )
+ </select>
+
+ <!--查询单位的未采集照片人数-->
+ <select id="selectInformationUnitNotAvatarNumCount" resultType="java.lang.Integer">
+ SELECT COUNT(*) FROM blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND (avatar is null or avatar = "")
+ and dept_id in
+ (
+ SELECT
+ id
+ FROM
+ (
+ SELECT
+ t1.id,t1.parent_id,t1.dept_name,
+ IF
+ ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+ FROM
+ ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+ ( SELECT @pids := #{dept.id} ) t2
+ ) t3
+ WHERE
+ ischild != 0
+ )
+ </select>
+
+ <!--查询单位的已采集指纹人数-->
+ <select id="selectInformationUnitZwNumCount" resultType="java.lang.Integer">
+ SELECT COUNT(*) FROM blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND fingerprint is not null and fingerprint!=""
+ and dept_id in
+ (
+ SELECT
+ id
+ FROM
+ (
+ SELECT
+ t1.id,t1.parent_id,t1.dept_name,
+ IF
+ ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+ FROM
+ ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+ ( SELECT @pids := #{dept.id} ) t2
+ ) t3
+ WHERE
+ ischild != 0
+ )
+ </select>
+
+
+ <!--查询单位的审查异常人数-->
+ <select id="selectInformationUnitYcNumCount" resultType="java.lang.Integer">
+ SELECT COUNT(*) FROM blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND examination_type = 1
+ and dept_id in
+ (
+ SELECT
+ id
+ FROM
+ (
+ SELECT
+ t1.id,t1.parent_id,t1.dept_name,
+ IF
+ ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+ FROM
+ ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+ ( SELECT @pids := #{dept.id} ) t2
+ ) t3
+ WHERE
+ ischild != 0
+ )
+ </select>
+
+ <!--查询单位的社保缴纳人数-->
+ <select id="selectInformationUnitJnsbNumCount" resultType="java.lang.Integer">
+ SELECT COUNT(*) FROM blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND soil = 0
+ and dept_id in
+ (
+ SELECT
+ id
+ FROM
+ (
+ SELECT
+ t1.id,t1.parent_id,t1.dept_name,
+ IF
+ ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+ FROM
+ ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+ ( SELECT @pids := #{dept.id} ) t2
+ ) t3
+ WHERE
+ ischild != 0
+ )
+ </select>
+
+ <!--保安员统计查询-->
+ <select id="selectSecurityStatistics" resultType="org.springblade.modules.information.vo.InformationStatisticsVO">
+ SELECT
+ IFNULL( V.num, 0 ) AS num,
+ IFNULL( B.cznum, 0 ) AS cznum,
+ IFNULL( D.num, 0 ) AS wpqnum,
+ IFNULL( C.num, 0 ) AS pqnum,
+ IFNULL( H.ycaijzpnum, 0 ) AS ycjzpnum,
+ IFNULL( F.wcaijnum, 0 ) AS wcjzpnum,
+ IFNULL( I.ycaijzwnum, 0 ) AS ycjzwnum,
+ IFNULL( G.yicnum, 0 ) AS scycnum,
+ IFNULL( E.sbnum, 0 ) AS jnsbnum,
+ A.departmentid,
+ A.enterpriseName AS deptname,
+ A.stats,
+ j.dept_name AS jurname
+ FROM
+ ( SELECT jurisdiction, departmentid, enterpriseName, stats, create_time FROM sys_information WHERE stats != 1 ) A
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS num,
+ bu.dept_id
+ FROM
+ blade_user bu
+ WHERE
+ bu.`status` = 1
+ AND bu.is_deleted = 0
+ AND bu.role_id = '1412226235153731586'
+ GROUP BY
+ bu.dept_id
+ ) V ON V.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS cznum,
+ dept_id
+ FROM
+ blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND hold = 1
+ GROUP BY
+ dept_id
+ ) B ON A.departmentid = B.dept_id
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS num,
+ bu.dept_id
+ FROM
+ blade_user bu
+ WHERE
+ bu.`status` = 1
+ AND bu.is_deleted = 0
+ AND bu.role_id = '1412226235153731586'
+ AND bu.dispatch = 0
+ GROUP BY
+ bu.dept_id
+ ) C ON C.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS num,
+ bu.dept_id
+ FROM
+ blade_user bu
+ WHERE
+ bu.`status` = 1
+ AND bu.is_deleted = 0
+ AND bu.role_id = '1412226235153731586'
+ AND bu.dispatch = 1
+ GROUP BY
+ bu.dept_id
+ ) D ON D.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT COUNT( * ) AS sbnum,dept_id FROM
+ blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND soil = 0
+ GROUP BY
+ dept_id
+ ) E ON E.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS wcaijnum,
+ dept_id
+ FROM
+ blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND (avatar is null or avatar = "")
+ GROUP BY
+ dept_id
+ ) F ON F.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS ycaijzpnum,
+ dept_id
+ FROM
+ blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND avatar is not null and avatar!=""
+ GROUP BY
+ dept_id
+ ) H ON H.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS ycaijzwnum,
+ dept_id
+ FROM
+ blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND fingerprint is not null and fingerprint!=""
+ GROUP BY
+ dept_id
+ ) I ON I.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS yicnum,
+ dept_id
+ FROM
+ blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND examination_type = 1
+ GROUP BY
+ dept_id
+ ) G ON G.dept_id = A.departmentid
+ LEFT JOIN blade_dept d ON A.departmentid = d.id
+ LEFT JOIN sys_jurisdiction j ON j.id = A.jurisdiction
+ WHERE
+ 1 = 1
+ AND d.dept_category = 1
+ <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
+ and (j.id = #{information.jurisdiction} or j.parent_id = #{information.jurisdiction})
+ </if>
+ <if test="information.deptid!=null and information.deptid!=''">
+ and A.enterpriseName like concat('%', #{information.deptid},'%')
+ </if>
+ <if test="information.stats!=null and information.stats!=''">
+ and A.stats=#{information.stats}
+ </if>
+ <if test="information.startTime!=null and information.startTime!=''">
+ and A.create_time >= #{information.startTime}
+ </if>
+ <if test="information.endTime!=null and information.endTime!=''">
+ and A.create_time <= #{information.endTime}
+ </if>
+ </select>
+
+ <!--查询当前单位是否有子级单位-->
+ <select id="getDeptChildrens" resultType="org.springblade.modules.system.entity.Dept">
+ select * from blade_dept where is_deleted = 0 and parent_id = #{param1}
+ </select>
+
+ <!--导出保安员统计查询-->
+ <select id="exportSecurityStatisInfo" resultType="org.springblade.modules.information.excel.ExportInformationSecurityStatistics">
+ SELECT
+ IFNULL( V.num, 0 ) AS num,
+ IFNULL( B.cznum, 0 ) AS cznum,
+ IFNULL( D.num, 0 ) AS wpqnum,
+ IFNULL( C.num, 0 ) AS pqnum,
+ IFNULL( H.ycaijzpnum, 0 ) AS ycjzpnum,
+ IFNULL( F.wcaijnum, 0 ) AS wcjzpnum,
+ IFNULL( I.ycaijzwnum, 0 ) AS ycjzwnum,
+ IFNULL( G.yicnum, 0 ) AS scycnum,
+ IFNULL( E.sbnum, 0 ) AS jnsbnum,
+ A.departmentid,
+ A.enterpriseName AS deptname,
+ case when A.stats=0 then '自招保安单位'
+ when A.stats=2 then '本市保安公司'
+ when A.stats=4 then '分公司'
+ else "其他" end as stats,
+ j.dept_name AS jurname
+ FROM
+ ( SELECT jurisdiction, departmentid, enterpriseName, stats, create_time FROM sys_information WHERE stats != 1 ) A
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS num,
+ bu.dept_id
+ FROM
+ blade_user bu
+ WHERE
+ bu.`status` = 1
+ AND bu.is_deleted = 0
+ AND bu.role_id = '1412226235153731586'
+ GROUP BY
+ bu.dept_id
+ ) V ON V.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS cznum,
+ dept_id
+ FROM
+ blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND hold = 1
+ GROUP BY
+ dept_id
+ ) B ON A.departmentid = B.dept_id
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS num,
+ bu.dept_id
+ FROM
+ blade_user bu
+ WHERE
+ bu.`status` = 1
+ AND bu.is_deleted = 0
+ AND bu.role_id = '1412226235153731586'
+ AND bu.dispatch = 0
+ GROUP BY
+ bu.dept_id
+ ) C ON C.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS num,
+ bu.dept_id
+ FROM
+ blade_user bu
+ WHERE
+ bu.`status` = 1
+ AND bu.is_deleted = 0
+ AND bu.role_id = '1412226235153731586'
+ AND bu.dispatch = 1
+ GROUP BY
+ bu.dept_id
+ ) D ON D.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT COUNT( * ) AS sbnum,dept_id FROM
+ blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND soil = 0
+ GROUP BY
+ dept_id
+ ) E ON E.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS wcaijnum,
+ dept_id
+ FROM
+ blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND (avatar is null or avatar = "")
+ GROUP BY
+ dept_id
+ ) F ON F.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS ycaijzpnum,
+ dept_id
+ FROM
+ blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND avatar is not null and avatar!=""
+ GROUP BY
+ dept_id
+ ) H ON H.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS ycaijzwnum,
+ dept_id
+ FROM
+ blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND fingerprint is not null and fingerprint!=""
+ GROUP BY
+ dept_id
+ ) I ON I.dept_id = A.departmentid
+ LEFT JOIN (
+ SELECT
+ COUNT( * ) AS yicnum,
+ dept_id
+ FROM
+ blade_user
+ WHERE
+ role_id = '1412226235153731586'
+ AND STATUS = 1
+ AND is_deleted = 0
+ AND examination_type = 1
+ GROUP BY
+ dept_id
+ ) G ON G.dept_id = A.departmentid
+ LEFT JOIN blade_dept d ON A.departmentid = d.id
+ LEFT JOIN sys_jurisdiction j ON j.id = A.jurisdiction
+ WHERE
+ 1 = 1
+ AND d.dept_category = 1
+ <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
+ and (j.id = #{information.jurisdiction} or j.parent_id = #{information.jurisdiction})
+ </if>
+ <if test="information.deptid!=null and information.deptid!=''">
+ and A.enterpriseName like concat('%', #{information.deptid},'%')
+ </if>
+ <if test="information.stats!=null and information.stats!=''">
+ and A.stats=#{information.stats}
+ </if>
+ <if test="information.startTime!=null and information.startTime!=''">
+ and A.create_time >= #{information.startTime}
+ </if>
+ <if test="information.endTime!=null and information.endTime!=''">
+ and A.create_time <= #{information.endTime}
+ </if>
+ </select>
+
+ <!--导出业务统计情况-->
+ <select id="exportBusinessStatis" resultType="org.springblade.modules.information.excel.ExportInformationExcel">
+ SELECT
+ A.enterpriseName,
+ A.departmentid,
+ case when A.stats=0 then '自招保安单位'
+ when A.stats=2 then '本市保安公司'
+ when A.stats=4 then '分公司'
+ else "其他" end as stats,
+ A.jurisdiction,
+ j.dept_name as jurname,
+ IFNULL( C.znum, 0 ) AS znum,
+ IFNULL( E.cznum, 0 ) AS cznum,
+ IFNULL( F.pqnum, 0 ) AS pqnum,
+ IFNULL( B.num, 0 ) AS fwnum,
+ IFNULL( D.dqnum, 0 ) AS dqnum
+ FROM
+ (
+ SELECT enterpriseName,jurisdiction, departmentid,stats,create_time FROM sys_information WHERE stats!=1 GROUP BY
+ enterpriseName,jurisdiction,departmentid,stats,create_time) A
+ LEFT JOIN
+ (
+ SELECT COUNT( * ) AS num, dept_id FROM sys_dispatcher_unit
+ where
+ start_time <= now() and end_time > now()
+ GROUP BY dept_id
+ ) B
+ ON A.departmentid = B.dept_id
+ LEFT JOIN
+ (
+ SELECT
+ COUNT( * ) AS znum,
+ bu.dept_id
+ FROM
+ blade_user bu
+ WHERE
+ bu.`status` = 1
+ AND bu.is_deleted = 0
+ AND bu.role_id = '1412226235153731586'
+ GROUP BY
+ bu.dept_id
+ ) C
+ ON A.departmentid = C.dept_id
+ LEFT JOIN
+ (
+ SELECT COUNT( * ) AS dqnum, dept_id FROM sys_dispatcher_unit where end_time < now() GROUP BY dept_id
+ ) D
+ ON A.departmentid = D.dept_id
+ LEFT JOIN
+ (
+ SELECT COUNT( * ) AS cznum, dept_id FROM blade_user where
+ hold = 1
+ and role_id = '1412226235153731586'
+ and status= 1
+ and is_deleted = 0
+ GROUP BY dept_id
+ ) E
+ ON A.departmentid = E.dept_id
+ LEFT JOIN
+ (
+ SELECT
+ count(*) AS pqnum,
+ dept_id
+ FROM
+ blade_user
+ where 1=1
+ and status = 1
+ and is_deleted = 0
+ and role_id = "1412226235153731586"
+ and dispatch = 0
+ GROUP BY
+ dept_id
+ ) F
+ ON A.departmentid = F.dept_id
+ LEFT JOIN blade_dept d ON A.departmentid = d.id
+ LEFT JOIN sys_jurisdiction j ON j.id = A.jurisdiction
+ WHERE 1 =1
+ and d.dept_category = 1
+ <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
+ and (j.id = #{information.jurisdiction} or j.parent_id = #{information.jurisdiction})
+ </if>
+ <if test="information.deptid!=null and information.deptid!=''">
+ and A.enterpriseName like concat('%', #{information.deptid},'%')
+ </if>
+ <if test="information.stats!=null and information.stats!=''">
+ and A.stats=#{information.stats}
+ </if>
+ <if test="information.startTime!=null and information.startTime!=''">
+ and A.create_time >= #{information.startTime}
+ </if>
+ <if test="information.endTime!=null and information.endTime!=''">
+ and A.create_time <= #{information.endTime}
+ </if>
+ </select>
+
</mapper>
diff --git a/src/main/java/org/springblade/modules/information/service/IInformationService.java b/src/main/java/org/springblade/modules/information/service/IInformationService.java
index 32e1a58..773ae4f 100644
--- a/src/main/java/org/springblade/modules/information/service/IInformationService.java
+++ b/src/main/java/org/springblade/modules/information/service/IInformationService.java
@@ -19,6 +19,8 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.modules.information.entity.Information;
+import org.springblade.modules.information.excel.ExportInformationExcel;
+import org.springblade.modules.information.excel.ExportInformationSecurityStatistics;
import org.springblade.modules.information.excel.InforExcel;
import org.springblade.modules.information.vo.InformationVO;
import org.springblade.modules.system.entity.User;
@@ -80,4 +82,34 @@
*/
void deleteUserByDeptId(String deptId);
String selJurchilder(String id);
+
+ /**
+ * 业务统计情况
+ * @param page
+ * @param information
+ * @return
+ */
+ IPage selectBusinessStatistics(IPage<List> page, InformationVO information);
+
+ /**
+ * 保安员情况统计
+ * @param page
+ * @param information
+ * @return
+ */
+ IPage selectSecurityStatistics(IPage<List> page, InformationVO information);
+
+ /**
+ * 业务统计导出
+ * @param information
+ * @return
+ */
+ List<ExportInformationExcel> exportBusinessStatis(InformationVO information);
+
+ /**
+ * 保安员统计导出
+ * @param information
+ * @return
+ */
+ List<ExportInformationSecurityStatistics> exportSecurityStatisInfo(InformationVO information);
}
diff --git a/src/main/java/org/springblade/modules/information/service/impl/InformationServiceImpl.java b/src/main/java/org/springblade/modules/information/service/impl/InformationServiceImpl.java
index 83de7b1..ef66d98 100644
--- a/src/main/java/org/springblade/modules/information/service/impl/InformationServiceImpl.java
+++ b/src/main/java/org/springblade/modules/information/service/impl/InformationServiceImpl.java
@@ -32,9 +32,12 @@
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringUtil;
import org.springblade.modules.information.entity.Information;
+import org.springblade.modules.information.excel.ExportInformationExcel;
+import org.springblade.modules.information.excel.ExportInformationSecurityStatistics;
import org.springblade.modules.information.excel.InforExcel;
import org.springblade.modules.information.mapper.InformationMapper;
import org.springblade.modules.information.service.IInformationService;
+import org.springblade.modules.information.vo.InformationStatisticsVO;
import org.springblade.modules.information.vo.InformationVO;
import org.springblade.modules.system.entity.Dept;
import org.springblade.modules.system.entity.Role;
@@ -213,4 +216,178 @@
public String selJurchilder(String id) {
return baseMapper.selJurchilder(id);
}
+
+ /**
+ * 业务统计情况
+ * @param page
+ * @param information
+ * @return
+ */
+ @Override
+ public IPage selectBusinessStatistics(IPage page, InformationVO information) {
+ List<InformationStatisticsVO> list = baseMapper.selectBusinessStatistics(page, information);
+ if (list.size()>0) {
+ //遍历
+ for (InformationStatisticsVO informationStatisticsVO : list) {
+ List<Dept> deptList = baseMapper.getDeptHashChildrens(informationStatisticsVO);
+ //有子级
+ if (deptList.size()>0){
+ Dept dept = new Dept();
+ dept.setId(Long.parseLong(informationStatisticsVO.getDepartmentid()));
+ //查询当前子单位的人数
+ Integer z = baseMapper.selectInformationUserNumCount(dept) + informationStatisticsVO.getZnum();
+ informationStatisticsVO.setZnum(z);
+ //已派遣人数
+ Integer p = baseMapper.selectInformationDispatcherNumCount(dept) + informationStatisticsVO.getPqnum();
+ informationStatisticsVO.setPqnum(p);
+ //持证人数
+ Integer c = baseMapper.selectInformationHoldNumCount(dept) + informationStatisticsVO.getCznum();
+ informationStatisticsVO.setCznum(c);
+ //服务单位数
+ Integer f = baseMapper.selectInformationUnitNumCount(dept) + informationStatisticsVO.getFwnum();
+ informationStatisticsVO.setFwnum(f);
+ //服务单位到期数
+ Integer d = baseMapper.selectInformationUnitExpireNumCount(dept) + informationStatisticsVO.getDqnum();
+ informationStatisticsVO.setDqnum(d);
+ }
+ }
+ }
+ return page.setRecords(list);
+ }
+
+ /**
+ * 保安员情况统计
+ * @param page
+ * @param information
+ * @return
+ */
+ @Override
+ public IPage selectSecurityStatistics(IPage page, InformationVO information) {
+ List<InformationStatisticsVO> list = baseMapper.selectSecurityStatistics(page,information);
+ if (list.size()>0) {
+ //遍历
+ for (InformationStatisticsVO informationStatisticsVO : list) {
+ List<Dept> deptList = baseMapper.getDeptHashChildrens(informationStatisticsVO);
+ //有子级
+ if (deptList.size()>0){
+ Dept dept = new Dept();
+ dept.setId(Long.parseLong(informationStatisticsVO.getDepartmentid()));
+ //查询当前子单位的人数
+ Integer z = baseMapper.selectInformationUserNumCount(dept) + informationStatisticsVO.getNum();
+ informationStatisticsVO.setNum(z);
+ //持证人数
+ Integer c = baseMapper.selectInformationHoldNumCount(dept) + informationStatisticsVO.getCznum();
+ informationStatisticsVO.setCznum(c);
+ //已派遣人数
+ Integer p = baseMapper.selectInformationDispatcherNumCount(dept) + informationStatisticsVO.getPqnum();
+ informationStatisticsVO.setPqnum(p);
+ //未派遣人数
+ Integer wpq = baseMapper.selectInformationNotDispatcherNumCount(dept) + informationStatisticsVO.getWpqnum();
+ informationStatisticsVO.setWpqnum(wpq);
+ //已采集照片数
+ Integer ycjzp = baseMapper.selectInformationUnitAvatarNumCount(dept) + informationStatisticsVO.getYcjzpnum();
+ informationStatisticsVO.setYcjzpnum(ycjzp);
+ //未采集照片数
+ Integer wcjzp = baseMapper.selectInformationUnitNotAvatarNumCount(dept) + informationStatisticsVO.getWcjzpnum();
+ informationStatisticsVO.setWcjzpnum(wcjzp);
+ //已采集指纹数
+ Integer ycjzw = baseMapper.selectInformationUnitZwNumCount(dept) + informationStatisticsVO.getYcjzwnum();
+ informationStatisticsVO.setYcjzwnum(ycjzw);
+ //审查异常数
+ Integer scyc = baseMapper.selectInformationUnitYcNumCount(dept) + informationStatisticsVO.getScycnum();
+ informationStatisticsVO.setScycnum(scyc);
+ //缴纳社保数
+ Integer jnsb = baseMapper.selectInformationUnitJnsbNumCount(dept) + informationStatisticsVO.getJnsbnum();
+ informationStatisticsVO.setJnsbnum(jnsb);
+ }
+ }
+ }
+ return page.setRecords(list);
+ }
+
+ /**
+ * 业务统计导出
+ * @param information
+ * @return
+ */
+ @Override
+ public List<ExportInformationExcel> exportBusinessStatis(InformationVO information) {
+ List<ExportInformationExcel> list = baseMapper.exportBusinessStatis(information);
+ if (list.size()>0) {
+ //遍历
+ for (ExportInformationExcel informationStatisticsVO : list) {
+ List<Dept> deptList = baseMapper.getDeptChildrens(informationStatisticsVO.getDepartmentid());
+ //有子级
+ if (deptList.size()>0){
+ Dept dept = new Dept();
+ dept.setId(Long.parseLong(informationStatisticsVO.getDepartmentid()));
+ //查询当前子单位的人数
+ Integer z = baseMapper.selectInformationUserNumCount(dept) + informationStatisticsVO.getZnum();
+ informationStatisticsVO.setZnum(z);
+ //已派遣人数
+ Integer p = baseMapper.selectInformationDispatcherNumCount(dept) + informationStatisticsVO.getPqnum();
+ informationStatisticsVO.setPqnum(p);
+ //持证人数
+ Integer c = baseMapper.selectInformationHoldNumCount(dept) + informationStatisticsVO.getCznum();
+ informationStatisticsVO.setCznum(c);
+ //服务单位数
+ Integer f = baseMapper.selectInformationUnitNumCount(dept) + informationStatisticsVO.getFwnum();
+ informationStatisticsVO.setFwnum(f);
+ //服务单位到期数
+ Integer d = baseMapper.selectInformationUnitExpireNumCount(dept) + informationStatisticsVO.getDqnum();
+ informationStatisticsVO.setDqnum(d);
+ }
+ }
+ }
+ return list;
+ }
+
+ /**
+ * 保安员统计导出
+ * @param information
+ * @return
+ */
+ @Override
+ public List<ExportInformationSecurityStatistics> exportSecurityStatisInfo(InformationVO information) {
+ List<ExportInformationSecurityStatistics> list = baseMapper.exportSecurityStatisInfo(information);
+ if (list.size()>0) {
+ //遍历
+ for (ExportInformationSecurityStatistics informationStatisticsVO : list) {
+ List<Dept> deptList = baseMapper.getDeptChildrens(informationStatisticsVO.getDepartmentid());
+ //有子级
+ if (deptList.size()>0){
+ Dept dept = new Dept();
+ dept.setId(Long.parseLong(informationStatisticsVO.getDepartmentid()));
+ //查询当前子单位的人数
+ Integer z = baseMapper.selectInformationUserNumCount(dept) + informationStatisticsVO.getNum();
+ informationStatisticsVO.setNum(z);
+ //持证人数
+ Integer c = baseMapper.selectInformationHoldNumCount(dept) + informationStatisticsVO.getCznum();
+ informationStatisticsVO.setCznum(c);
+ //已派遣人数
+ Integer p = baseMapper.selectInformationDispatcherNumCount(dept) + informationStatisticsVO.getPqnum();
+ informationStatisticsVO.setPqnum(p);
+ //未派遣人数
+ Integer wpq = baseMapper.selectInformationNotDispatcherNumCount(dept) + informationStatisticsVO.getWpqnum();
+ informationStatisticsVO.setWpqnum(wpq);
+ //已采集照片数
+ Integer ycjzp = baseMapper.selectInformationUnitAvatarNumCount(dept) + informationStatisticsVO.getYcjzpnum();
+ informationStatisticsVO.setYcjzpnum(ycjzp);
+ //未采集照片数
+ Integer wcjzp = baseMapper.selectInformationUnitNotAvatarNumCount(dept) + informationStatisticsVO.getWcjzpnum();
+ informationStatisticsVO.setWcjzpnum(wcjzp);
+ //已采集指纹数
+ Integer ycjzw = baseMapper.selectInformationUnitZwNumCount(dept) + informationStatisticsVO.getYcjzwnum();
+ informationStatisticsVO.setYcjzwnum(ycjzw);
+ //审查异常数
+ Integer scyc = baseMapper.selectInformationUnitYcNumCount(dept) + informationStatisticsVO.getScycnum();
+ informationStatisticsVO.setScycnum(scyc);
+ //缴纳社保数
+ Integer jnsb = baseMapper.selectInformationUnitJnsbNumCount(dept) + informationStatisticsVO.getJnsbnum();
+ informationStatisticsVO.setJnsbnum(jnsb);
+ }
+ }
+ }
+ return list;
+ }
}
diff --git a/src/main/java/org/springblade/modules/information/vo/InformationStatisticsVO.java b/src/main/java/org/springblade/modules/information/vo/InformationStatisticsVO.java
new file mode 100644
index 0000000..c06bd23
--- /dev/null
+++ b/src/main/java/org/springblade/modules/information/vo/InformationStatisticsVO.java
@@ -0,0 +1,115 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.information.vo;
+
+import lombok.Data;
+
+/**
+ * 视图实体类
+ *
+ * @author BladeX
+ * @since 2021-12-02
+ */
+@Data
+public class InformationStatisticsVO {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 公司名称
+ */
+ private String enterpriseName;
+
+ /**
+ * 公司名称
+ */
+ private String deptname;
+
+
+ /**
+ * 公司id
+ */
+ private String departmentid;
+
+ /**
+ * 公司类型
+ */
+ private String stats;
+
+ /**
+ * 辖区名称
+ */
+ private String jurname;
+
+
+ /**
+ * 保安员人数
+ */
+ private Integer num;
+
+ /**
+ * 总人数
+ */
+ private Integer znum;
+
+ /**
+ * 持证人数
+ */
+ private Integer cznum;
+
+ /**
+ * 派遣人数
+ */
+ private Integer pqnum;
+
+ /**
+ * 服务单位数
+ */
+ private Integer fwnum;
+
+ /**
+ * 到期单位数
+ */
+ private Integer dqnum;
+
+ /**
+ * 未派遣
+ */
+ private Integer wpqnum;
+
+ /**
+ * 已采集照片
+ */
+ private Integer ycjzpnum;
+
+ /**
+ * 未采集照片
+ */
+ private Integer wcjzpnum;
+
+ /**
+ * 已采集指纹
+ */
+ private Integer ycjzwnum;
+ /**
+ * 审查异常
+ */
+ private Integer scycnum;
+ /**
+ * 缴纳社保
+ */
+ private Integer jnsbnum;
+}
diff --git a/src/main/java/org/springblade/modules/information/vo/InformationVO.java b/src/main/java/org/springblade/modules/information/vo/InformationVO.java
index 6d29279..eda2676 100644
--- a/src/main/java/org/springblade/modules/information/vo/InformationVO.java
+++ b/src/main/java/org/springblade/modules/information/vo/InformationVO.java
@@ -47,6 +47,21 @@
*/
private String createDeptId;
+ /**
+ * 开始时间
+ */
+ private String startTime;
+
+ /**
+ * 结束时间
+ */
+ private String endTime;
+
+ /**
+ * 公司名稱
+ */
+ private String deptid;
+
}
--
Gitblit v1.9.3