From e62fac2c0b345eb40097cf55188f57a17f65af89 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Mon, 06 Dec 2021 11:08:07 +0800
Subject: [PATCH] 保安员统计修改
---
src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml | 233 ++++++++++++----------------------------------
src/main/java/org/springblade/modules/information/controller/InformationsController.java | 12 +-
src/main/java/org/springblade/modules/information/mapper/InformationMapper.java | 9 +
src/main/java/org/springblade/modules/information/service/impl/InformationServiceImpl.java | 26 ++++
src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.xml | 2
5 files changed, 103 insertions(+), 179 deletions(-)
diff --git a/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.xml b/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.xml
index 9e2ecd0..8e890e5 100644
--- a/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.xml
+++ b/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.xml
@@ -35,6 +35,8 @@
on
bd.id = bu.dept_id
where 1=1
+ and bu.status =1
+ and bu.is_deleted = 0
<if test="dispatcher.dispatcherUnitId!=null">
and sd.dispatcher_unit_id = #{dispatcher.dispatcherUnitId}
</if>
diff --git a/src/main/java/org/springblade/modules/information/controller/InformationsController.java b/src/main/java/org/springblade/modules/information/controller/InformationsController.java
index 6a4ec1b..987eaca 100644
--- a/src/main/java/org/springblade/modules/information/controller/InformationsController.java
+++ b/src/main/java/org/springblade/modules/information/controller/InformationsController.java
@@ -182,7 +182,7 @@
for (ResponseVo responseVo : performanceGroupCountList) {
//辖区id相同则数量相加
if (responseVo.getId().equals(id)){
- count += performanceGroupCountList.get(i).getNum();
+ count += responseVo.getNum();
}
}
@@ -192,7 +192,7 @@
for (ResponseVo responseVo : examinationGroupCountList) {
//辖区id相同则数量相加
if (responseVo.getId().equals(id)){
- count += examinationGroupCountList.get(i).getNum();
+ count += responseVo.getNum();
}
}
@@ -201,7 +201,7 @@
for (ResponseVo responseVo : examPassingGroupCountList) {
//辖区id相同则数量相加
if (responseVo.getId().equals(id)){
- count += examPassingGroupCountList.get(i).getNum();
+ count += responseVo.getNum();
}
}
@@ -210,7 +210,7 @@
for (ResponseVo responseVo : holdGroupCountList) {
//辖区id相同则数量相加
if (responseVo.getId().equals(id)){
- count += holdGroupCountList.get(i).getNum();
+ count += responseVo.getNum();
}
}
@@ -219,7 +219,7 @@
for (ResponseVo responseVo : soidGroupCountList) {
//辖区id相同则数量相加
if (responseVo.getId().equals(id)){
- count += soidGroupCountList.get(i).getNum();
+ count += responseVo.getNum();
}
}
@@ -228,7 +228,7 @@
for (ResponseVo responseVo : dispatchGroupCountList) {
//辖区id相同则数量相加
if (responseVo.getId().equals(id)){
- count += dispatchGroupCountList.get(i).getNum();
+ count += responseVo.getNum();
}
}
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 d66e6c4..7aba3d4 100644
--- a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.java
+++ b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.java
@@ -188,7 +188,7 @@
* @param informationStatisticsVO
* @return
*/
- List<Dept> getDeptHashChildren(@Param("information") InformationStatisticsVO informationStatisticsVO);
+ List<Dept> getDeptHashChildrens(@Param("information") InformationStatisticsVO informationStatisticsVO);
/**
@@ -225,4 +225,11 @@
* @return
*/
Integer selectInformationUnitExpireNumCount(@Param("dept")Dept dept);
+
+ /**
+ * 查询当前单位是否有子级单位
+ * @param informationVO
+ * @return
+ */
+ List<Dept> getDeptHashChildren(@Param("information") InformationVO informationVO);
}
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 7f53bb9..d5bf2de 100644
--- a/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
+++ b/src/main/java/org/springblade/modules/information/mapper/InformationMapper.xml
@@ -40,83 +40,55 @@
<select id="selectInformationPage" resultMap="informationResultMap">
SELECT
i.*,
- IFNULL( A.znum, 0 ) AS znum,
- IFNULL( B.cnum, 0 ) AS cnum,
- IFNULL( C.pnum, 0 ) AS pnum,
- sj.dept_name jurisdictionName
+ IFNULL(A.znum ,0) as znum,
+ IFNULL(B.cnum ,0) as cnum,
+ IFNULL(C.pnum ,0) as pnum
FROM
sys_information i
- LEFT JOIN sys_jurisdiction sj ON sj.id = i.jurisdiction
- LEFT JOIN (
- SELECT
- J.znum + J.fznum AS znum,
- J.dept_id
- FROM
+ LEFT JOIN
(
- SELECT
- A.znum,
- IFNULL( B.znum, 0 ) AS fznum,
- A.dept_id
- FROM
- (
- 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
+ SELECT COUNT( * ) AS znum, dept_id FROM blade_user
+ WHERE 1=1
+ and role_id = '1412226235153731586'
+ and is_deleted = 0
+ AND status=1
+ GROUP BY dept_id
) A
- LEFT JOIN (
- SELECT
- IFNULL( COUNT( * ), 0 ) AS znum,
- bd.parent_id
- FROM
- blade_user bu
- LEFT JOIN blade_dept bd ON bu.dept_id = bd.id
- WHERE
- bu.`status` = 1
- AND bu.is_deleted = 0
- AND bu.role_id = '1412226235153731586'
- GROUP BY
- bd.parent_id
- ) B ON B.parent_id = A.dept_id
- ) J
- ) A ON A.dept_id = i.departmentid
- LEFT JOIN (
- SELECT
- COUNT( * ) AS cnum,
- dept_id
- FROM
- blade_user
- WHERE
- role_id = '1412226235153731586'
- AND STATUS = 1
- AND hold = 1
- AND is_deleted = 0
- GROUP BY
- dept_id
- ) B ON B.dept_id = i.departmentid
- LEFT JOIN (
- SELECT
- COUNT( * ) AS pnum,
- dept_id
- FROM
- blade_user
- WHERE
- role_id = '1412226235153731586'
- AND STATUS = 1
- AND dispatch = 0
- AND is_deleted = 0
- GROUP BY
- dept_id
- ) C ON C.dept_id = i.departmentid
- WHERE
- 1 =1
+ ON A.dept_id = i.departmentid
+ LEFT JOIN
+ (
+ SELECT COUNT( * ) AS cnum, dept_id FROM blade_user
+ WHERE 1=1
+ and role_id = '1412226235153731586'
+ and is_deleted = 0
+ AND status=1
+ AND hold=1
+ GROUP BY dept_id
+ ) B
+ ON B.dept_id = i.departmentid
+ LEFT JOIN
+ (
+ SELECT COUNT( * ) AS pnum, dept_id FROM blade_user
+ WHERE 1=1
+ and is_deleted = 0
+ and role_id = '1412226235153731586'
+ AND status=1
+ AND dispatch=0
+ GROUP BY dept_id
+ ) C
+ ON C.dept_id = i.departmentid
+ left join
+ sys_jurisdiction sj
+ on
+ sj.id = i.jurisdiction
+ left join
+ blade_dept bd
+ on
+ bd.id = i.departmentid
+ where 1=1
+ <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
+ and (sj.id=#{information.jurisdiction} or sj.parent_id=#{information.jurisdiction})
+ </if>
<if test="information.enterprisename!=null and information.enterprisename!=''">
and i.enterpriseName like concat(concat('%', #{information.enterprisename}),'%')
</if>
@@ -124,10 +96,7 @@
and i.representative like concat(concat('%', #{information.representative}),'%')
</if>
<if test="information.stats!=null and information.stats!=''">
- and i.stats=#{information.stats}
- </if>
- <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'">
- and i.jurisdiction=#{information.jurisdiction}
+ and i.stats=#{information.stats} and bd.dept_category = 1
</if>
<if test="information.departmentid!=null and information.departmentid!=''">
and i.departmentid=#{information.departmentid}
@@ -1260,21 +1229,10 @@
A.stats,
j.dept_name AS jurname
FROM
- ( SELECT jurisdiction, departmentid,enterpriseName,stats,create_time FROM sys_information where stats !=1) A
+ ( SELECT jurisdiction, departmentid, enterpriseName, stats, create_time FROM sys_information WHERE stats != 1 ) A
LEFT JOIN (
SELECT
- J.znum+J.fznum as num,
- J.dept_id
- FROM
- (
- SELECT
- A.znum,
- IFNULL( B.znum, 0 ) AS fznum,
- A.dept_id
- FROM
- (
- SELECT
- COUNT( * ) AS znum,
+ COUNT( * ) AS num,
bu.dept_id
FROM
blade_user bu
@@ -1284,22 +1242,6 @@
AND bu.role_id = '1412226235153731586'
GROUP BY
bu.dept_id
- ) A
- LEFT JOIN (
- SELECT
- IFNULL( COUNT( * ), 0 ) AS znum,
- bd.parent_id
- FROM
- blade_user bu
- LEFT JOIN blade_dept bd ON bu.dept_id = bd.id
- WHERE
- bu.`status` = 1
- AND bu.is_deleted = 0
- AND bu.role_id = '1412226235153731586'
- GROUP BY
- bd.parent_id
- ) B ON B.parent_id = A.dept_id
- ) J
) V ON V.dept_id = A.departmentid
LEFT JOIN (
SELECT
@@ -1317,18 +1259,7 @@
) B ON A.departmentid = B.dept_id
LEFT JOIN (
SELECT
- L.znum+L.fznum as num,
- L.dept_id
- FROM
- (
- SELECT
- A.znum,
- IFNULL( B.znum, 0 ) AS fznum,
- A.dept_id
- FROM
- (
- SELECT
- COUNT( * ) AS znum,
+ COUNT( * ) AS num,
bu.dept_id
FROM
blade_user bu
@@ -1339,38 +1270,10 @@
AND bu.dispatch = 0
GROUP BY
bu.dept_id
- ) A
- LEFT JOIN (
- SELECT
- IFNULL( COUNT( * ), 0 ) AS znum,
- bd.parent_id
- FROM
- blade_user bu
- LEFT JOIN blade_dept bd ON bu.dept_id = bd.id
- WHERE
- bu.`status` = 1
- AND bu.is_deleted = 0
- AND bu.role_id = '1412226235153731586'
- AND bu.dispatch = 0
- GROUP BY
- bd.parent_id
- ) B ON B.parent_id = A.dept_id
- ) L
) C ON C.dept_id = A.departmentid
LEFT JOIN (
SELECT
- K.znum+K.fznum as num,
- K.dept_id
- FROM
- (
- SELECT
- A.znum,
- IFNULL( B.znum, 0 ) AS fznum,
- A.dept_id
- FROM
- (
- SELECT
- COUNT( * ) AS znum,
+ COUNT( * ) AS num,
bu.dept_id
FROM
blade_user bu
@@ -1381,23 +1284,6 @@
AND bu.dispatch = 1
GROUP BY
bu.dept_id
- ) A
- LEFT JOIN (
- SELECT
- IFNULL( COUNT( * ), 0 ) AS znum,
- bd.parent_id
- FROM
- blade_user bu
- LEFT JOIN blade_dept bd ON bu.dept_id = bd.id
- WHERE
- bu.`status` = 1
- AND bu.is_deleted = 0
- AND bu.role_id = '1412226235153731586'
- AND bu.dispatch = 1
- GROUP BY
- bd.parent_id
- ) B ON B.parent_id = A.dept_id
- ) K
) D ON D.dept_id = A.departmentid
LEFT JOIN ( SELECT COUNT( * ) AS sbnum, deptid FROM sys_socil GROUP BY deptid ) E ON E.deptid = A.departmentid
LEFT JOIN (
@@ -1410,7 +1296,7 @@
role_id = '1412226235153731586'
AND STATUS = 1
AND is_deleted = 0
- AND photo = 1
+ AND (avatar is null or avatar = "")
GROUP BY
dept_id
) F ON F.dept_id = A.departmentid
@@ -1424,7 +1310,7 @@
role_id = '1412226235153731586'
AND STATUS = 1
AND is_deleted = 0
- AND photo = 0
+ AND avatar is not null and avatar!=""
GROUP BY
dept_id
) H ON H.dept_id = A.departmentid
@@ -1438,7 +1324,7 @@
role_id = '1412226235153731586'
AND STATUS = 1
AND is_deleted = 0
- AND fingerprint = 0
+ AND fingerprint is not null and fingerprint!=""
GROUP BY
dept_id
) I ON I.dept_id = A.departmentid
@@ -1452,13 +1338,15 @@
role_id = '1412226235153731586'
AND STATUS = 1
AND is_deleted = 0
- AND examination_mx = 1
+ 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
+ WHERE
+ 1 = 1
+ AND d.dept_category = 1
<if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
</if>
@@ -1756,6 +1644,7 @@
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="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
and (j.id = #{jurisdiction} or j.parent_id = #{jurisdiction})
</if>
@@ -3183,9 +3072,13 @@
</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="getDeptHashChildren" resultType="org.springblade.modules.system.entity.Dept">
select * from blade_dept where is_deleted = 0 and parent_id = #{information.departmentid}
- and dept_category !=2
</select>
<!--查询单位的人数-->
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 53cdf8b..7f8fed9 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
@@ -42,7 +42,29 @@
@Override
public IPage<InformationVO> selectInformationPage(IPage<InformationVO> page, InformationVO information) {
- return page.setRecords(baseMapper.selectInformationPage(page, information));
+ List<InformationVO> informationVOS = baseMapper.selectInformationPage(page, information);
+ //遍历
+ if (informationVOS.size()>0){
+ //判断有无子级
+ for (InformationVO informationVO : informationVOS) {
+ List<Dept> deptList = baseMapper.getDeptHashChildren(informationVO);
+ //有子级
+ if (deptList.size()>0){
+ Dept dept = new Dept();
+ dept.setId(Long.parseLong(informationVO.getDepartmentid()));
+ //查询当前子单位的人数
+ Integer z = baseMapper.selectInformationUserNumCount(dept) + Integer.parseInt(informationVO.getZnum());
+ informationVO.setZnum(z.toString());
+ //已派遣人数
+ Integer p = baseMapper.selectInformationDispatcherNumCount(dept) + Integer.parseInt(informationVO.getPnum());
+ informationVO.setPnum(p.toString());
+ //持证人数
+ Integer c = baseMapper.selectInformationHoldNumCount(dept) + Integer.parseInt(informationVO.getCnum());
+ informationVO.setCnum(c.toString());
+ }
+ }
+ }
+ return page.setRecords(informationVOS);
}
@Override
@@ -230,7 +252,7 @@
if (list.size()>0) {
//遍历
for (InformationStatisticsVO informationStatisticsVO : list) {
- List<Dept> deptList = baseMapper.getDeptHashChildren(informationStatisticsVO);
+ List<Dept> deptList = baseMapper.getDeptHashChildrens(informationStatisticsVO);
//有子级
if (deptList.size()>0){
Dept dept = new Dept();
--
Gitblit v1.9.3