From 521cecc989fc01e5db50dfee6f6da8688960aad1 Mon Sep 17 00:00:00 2001 From: fumeiai Date: Wed, 20 May 2020 10:51:42 +0800 Subject: [PATCH] add graphics statistical --- .idea/workspace.xml | 14 +-- .../app/controller/StaffController.java | 17 +++- .../java/com/lz/modules/app/dao/StaffDao.java | 8 +- .../lz/modules/app/service/StaffService.java | 7 ++ .../app/service/impl/StaffServiceImpl.java | 46 ++++++++- .../resources/mapper/generator/StaffDao.xml | 89 ++++++++++++++++-- .../app/controller/StaffController.class | Bin 8531 -> 9008 bytes .../com/lz/modules/app/dao/StaffDao.class | Bin 2019 -> 2338 bytes .../lz/modules/app/service/StaffService.class | Bin 1825 -> 1984 bytes .../app/service/impl/StaffServiceImpl.class | Bin 7644 -> 9048 bytes target/classes/mapper/generator/StaffDao.xml | 89 ++++++++++++++++-- 11 files changed, 234 insertions(+), 36 deletions(-) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 40ab6262..3c563aa3 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,14 +2,11 @@ - - - @@ -163,7 +160,7 @@ - + @@ -218,7 +215,7 @@ file://$PROJECT_DIR$/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java - 82 + 83 @@ -233,14 +230,9 @@ file://$PROJECT_DIR$/src/main/java/com/lz/modules/app/controller/StaffController.java - 176 + 191 - - file://$PROJECT_DIR$/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java - 118 - diff --git a/src/main/java/com/lz/modules/app/controller/StaffController.java b/src/main/java/com/lz/modules/app/controller/StaffController.java index ffd7860d..b85648e3 100644 --- a/src/main/java/com/lz/modules/app/controller/StaffController.java +++ b/src/main/java/com/lz/modules/app/controller/StaffController.java @@ -169,11 +169,26 @@ public class StaffController { data.put("departmentName", departmentName); List genderRows = staffService.getGenderData(departmentId, beginDate, endDate); - GraphicsDto genderDistribution = new GraphicsDto(); genderDistribution.setRows(genderRows); data.put("genderDistribution", genderDistribution); + List ageRows = staffService.getAgeData(departmentId, beginDate, endDate); + GraphicsDto ageDistribution = new GraphicsDto(); + ageDistribution.setRows(ageRows); + data.put("ageDistribution", ageDistribution); + + List jobSeniorityRows = staffService.getJobSeniorityData(departmentId, beginDate, endDate); + GraphicsDto jobSeniorityDistribution = new GraphicsDto(); + jobSeniorityDistribution.setRows(jobSeniorityRows); + data.put("jobSeniorityDistribution", jobSeniorityDistribution); + + List educationRows = staffService.getEducationData(departmentId, beginDate, endDate); + GraphicsDto educationDistribution = new GraphicsDto(); + educationDistribution.setRows(educationRows); + data.put("educationDistribution", educationDistribution); + + R ret = R.ok(); ret.put("data", data); return ret; diff --git a/src/main/java/com/lz/modules/app/dao/StaffDao.java b/src/main/java/com/lz/modules/app/dao/StaffDao.java index 9d9bbbb6..e3571850 100644 --- a/src/main/java/com/lz/modules/app/dao/StaffDao.java +++ b/src/main/java/com/lz/modules/app/dao/StaffDao.java @@ -37,6 +37,12 @@ public interface StaffDao extends BaseMapper { StaffStatisticalDto getStatisticalData(@Param("departmentId") String departmentId, @Param("beginDate") String beginDate, @Param("endDate") String endDate); - List getGenderData(String departmentId, String beginDate, String endDate); + List getGenderData(@Param("departmentId") String departmentId, @Param("beginDate") String beginDate, @Param("endDate") String endDate); + + List getAgeData(@Param("departmentId") String departmentId, @Param("beginDate") String beginDate, @Param("endDate") String endDate); + + List getJobSeniorityData(@Param("departmentId") String departmentId, @Param("beginDate") String beginDate, @Param("endDate") String endDate); + + List getEducationData(@Param("departmentId") String departmentId, @Param("beginDate") String beginDate, @Param("endDate") String endDate); } diff --git a/src/main/java/com/lz/modules/app/service/StaffService.java b/src/main/java/com/lz/modules/app/service/StaffService.java index 909e083c..5f03d655 100644 --- a/src/main/java/com/lz/modules/app/service/StaffService.java +++ b/src/main/java/com/lz/modules/app/service/StaffService.java @@ -40,5 +40,12 @@ public interface StaffService extends IService { List getGenderData(String departmentId, String beginDate, String endDate); + List getAgeData(String departmentId, String beginDate, String endDate); + + List getJobSeniorityData(String departmentId, String beginDate, String endDate); + + List getEducationData(String departmentId, String beginDate, String endDate); + + } diff --git a/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java b/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java index f0c164c7..eabb0cd2 100644 --- a/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java +++ b/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java @@ -19,6 +19,7 @@ import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.List; import java.util.Map; @@ -111,12 +112,51 @@ public class StaffServiceImpl extends ServiceImpl impleme @Override public List getGenderData(String departmentId, String beginDate, String endDate) { List graphicsStatisticals = staffDao.getGenderData(departmentId, beginDate, endDate); - int totalCount = 0; + BigDecimal totalCount = BigDecimal.ZERO; for (GraphicsStatisticalDto graphicsStatisticalDto : graphicsStatisticals) { - totalCount = totalCount + graphicsStatisticalDto.getNumber(); + totalCount = totalCount.add(new BigDecimal(graphicsStatisticalDto.getNumber())); } for (GraphicsStatisticalDto graphicsStatisticalDto : graphicsStatisticals) { - graphicsStatisticalDto.setRate(NumberUtil.round(graphicsStatisticalDto.getNumber() / totalCount * 100, 2) + "%"); + graphicsStatisticalDto.setRate(new BigDecimal(graphicsStatisticalDto.getNumber() * 100).divide(totalCount, 2, BigDecimal.ROUND_HALF_UP) + "%"); + } + return graphicsStatisticals; + } + + @Override + public List getAgeData(String departmentId, String beginDate, String endDate) { + List graphicsStatisticals = staffDao.getAgeData(departmentId, beginDate, endDate); + BigDecimal totalCount = BigDecimal.ZERO; + for (GraphicsStatisticalDto graphicsStatisticalDto : graphicsStatisticals) { + totalCount = totalCount.add(new BigDecimal(graphicsStatisticalDto.getNumber())); + } + for (GraphicsStatisticalDto graphicsStatisticalDto : graphicsStatisticals) { + graphicsStatisticalDto.setRate(new BigDecimal(graphicsStatisticalDto.getNumber() * 100).divide(totalCount, 2, BigDecimal.ROUND_HALF_UP) + "%"); + } + return graphicsStatisticals; + } + + @Override + public List getJobSeniorityData(String departmentId, String beginDate, String endDate) { + List graphicsStatisticals = staffDao.getJobSeniorityData(departmentId, beginDate, endDate); + BigDecimal totalCount = BigDecimal.ZERO; + for (GraphicsStatisticalDto graphicsStatisticalDto : graphicsStatisticals) { + totalCount = totalCount.add(new BigDecimal(graphicsStatisticalDto.getNumber())); + } + for (GraphicsStatisticalDto graphicsStatisticalDto : graphicsStatisticals) { + graphicsStatisticalDto.setRate(new BigDecimal(graphicsStatisticalDto.getNumber() * 100).divide(totalCount, 2, BigDecimal.ROUND_HALF_UP) + "%"); + } + return graphicsStatisticals; + } + + @Override + public List getEducationData(String departmentId, String beginDate, String endDate) { + List graphicsStatisticals = staffDao.getEducationData(departmentId, beginDate, endDate); + BigDecimal totalCount = BigDecimal.ZERO; + for (GraphicsStatisticalDto graphicsStatisticalDto : graphicsStatisticals) { + totalCount = totalCount.add(new BigDecimal(graphicsStatisticalDto.getNumber())); + } + for (GraphicsStatisticalDto graphicsStatisticalDto : graphicsStatisticals) { + graphicsStatisticalDto.setRate(new BigDecimal(graphicsStatisticalDto.getNumber() * 100).divide(totalCount, 2, BigDecimal.ROUND_HALF_UP) + "%"); } return graphicsStatisticals; } diff --git a/src/main/resources/mapper/generator/StaffDao.xml b/src/main/resources/mapper/generator/StaffDao.xml index 95be5a81..f6b01a2b 100644 --- a/src/main/resources/mapper/generator/StaffDao.xml +++ b/src/main/resources/mapper/generator/StaffDao.xml @@ -110,7 +110,7 @@ and ls.name=#{name} - limit #{startIndex}, #{pageLimit} + limit #{startIndex}, #{pageLimit} select - case gender when 1 then '男' - when 2 then '女' - else '未知' - end category, - count(gender) number - from lz_staff group by gender + case gender when 1 then '男' + when 2 then '女' + else '未知' + end category, + count(gender) number + from lz_staff + where id in (select so.staff_id from lz_staff_occupation so where date(so.resignation_time)>=#{endDate} or + so.resignation_time is null) + + and id in (select dsr.staff_id from lz_departments_staff_relate dsr,lz_departments ld where + dsr.department_id=ld.department_id and find_in_set(ld.department_id, getChildList(#{departmentId}))) + + group by gender + + + + + + + diff --git a/target/classes/com/lz/modules/app/controller/StaffController.class b/target/classes/com/lz/modules/app/controller/StaffController.class index 9a04d1bf2ff6dd3fdb16be7a2839a22d0786898c..0a35ac0a24f18065ccfed6775fd2dddea1aa7e95 100644 GIT binary patch delta 2692 zcmbVNcYG985dP+p%iHX|yGt%YSUM4Z`w%5 zTjsD+VV8}AjL%iZ&2D4%wz>6A0Po^GBfTFB-~)VU#E$~_7@q|2DL%9DIleHuF9Y}r zUz_7M7QVIcorOIXR#^Dn!Vflj;75g@Ec|T5Uo6~a;dT?`R~x_KcZEO9{-<&Dm%`sR z`WY<$nEhXcy#awpffApM0g`0lR$i54C4L(Nv5kwQSh(9Lm4*AvZdq7k_EZaN&2F0| zV2hTZkwQwsO44eMlCoqw%CahOCOCwOjgoYOFub6V+u}Ga-^1{PB?nv&zR z43wj_952TTtfFW|abDTXaskP3M+fth2FYM|RWK)ehz!*-Ool7T)iOfzXwitt!!uG& z&=`*if&p%RsGFM=>YS7>z1+M|ztmA$M#~sM4|j(z!(C)6cW7#QP|H|D#5gGsWVun5 zNg@MGc|6g{1S!xm(JYg=;6X!Pp|n*pS<4hTQOi`B=I#i$be~FUU6UP-S$$>|R}Nwa zL@T3$3?4={DSlj=M(wcrA{&)^Z|0)dC=Mo&0-vb{1mnDupn$v2WYkPY!kg*HdovyB zZ>A&b`|9$bs9?`3Z`OF=k{%L2btK_Cf8%4fXdAWuHD zWAv4{oG!aDzbkMhgY;wWSHUGa^|{9VUftmLnnbFd;M>b#EQ;q^#dH;}Rk%*!dW9Q+ zKgnMr-Q`4Vnr`1TZ}igCCe54pEUv&RZmZ*^29jnIPC9e0s^LdPV%;|&=p;LSC#4QU zlF{GZih)x$;rRXmC*at%7}PT|)CtrfGYN%FZHLiT*V_i2prbw8;ZCr*Z7yv?^|oOr z?1Vhq5l*-+%X7RLY5mijv`Ckpwa6%R(yEzNGG=gHjV^A7_Jy%E*nVkyblS!U|5WydewbX?PU2|Sy zl}Phir!QN`V4evxCGlYEU?oDVV~Dupb#xqew~qZ`X6R5P?`0n*X2|QS_z;;D$jtm3 z#fsn$I7?mk@3Qs#57UFFF~j6u*&!pA=R+Y&YO3h-s%UcuULfn+y&8DKj&MEmlr~@^ z^GU?sKx5O`t$D3+erv%GTVj?sH-@jHp%{}{G5!SK-j z7#`-w&HJ8UBw{`<<%k)X9-DDO9r6zh=tGw0<0gP24WvZyC>ynblt&Lp%HvG{J<$YE WXIlI4q_;lhks0CnX`UMieda%MLi8p8 delta 2172 zcma)62Xs_b5WVxayqEvqX2}NA$Pxoc2~{K(P>_~T1Ob&8f=ZAWnn;Zb;)06UuzdxQ zq9|fSkg|vbFk+)=G*T2}Z&*;Vfrv<)_jgku@f^?D|K7a$Z)Wb?xqsJY?d=iTeR6Xt zfKJrkL?3LC*lOZsluEo}p(D2GAw#7Fp8`#!Po zDL&K3&n3Q)_)_94iMbMAOMGLZH4X}VEAgE+zn54nu|ya7!Nei_DDacsf7Xc(3;bdt zQ)Bs6@4pHBZs89c=`3*6L>K%iu}Fs=6Zp$SH*C?%afxNx`L|w9nD_@LwN)tyf+#$Q zCb&&-89|01S9quAnBj8^@(A(@5`tv7Ob#XLZii$`dxT%w+s$~230IgYMph24Bybv+ zB9knFdt!cJfg(jdMX}^p)PUj?1t?yjFZu~;sOStzP?ShXf|3=bP$NRno)lP>47t~TwE6QM?ids_} z#;m90)PXV-olWiRoxb7Tj&x2{#jdeQ8J#Fo(YbVzSbqnryY8?D^&~X0}M2#Hdp;(AQr$TE((fvcIA#Pt$5FG5bS$y_WFI)y{0 z^2^5XRH7|}z%+p(B7qy7-%UVrVqy?C^BoT{PGCAe24*9y&EVRSz+=G|V$KejA8(?WQJ4-PKcXBd` z`IyT*83=OXyKpzBY=vpK2lsN3Oy=W0%wu+{dX410zdG*&(N@!8RPqo$jb3Q*ar(gkZk3~k!+zewlJYWih%Y#J0O=!^B zOf~~8+H6F8PO`a{6S|?5GXah4$!R&E)i{h7a1?8Zu#UV~Pkw|QJxymtZR2DM@wlds z0#&TA714|&Gs=p^LtDi9aKTTmsAl3(iN%g)f;fUDYXBipqB-p4a1a(5$LKvzl)b&*#6;^r|1t4o0)wB&4A>bA*%^#B3a@1`;Yv>}aZFEjNi0cZWDo{&yz-NR zQ}Z(Oi!w_pA)*36QP-5x+S=g2`GBQtI#V#|snq7-kgF%e} m!P7+HX(92{v+ b83cg}nHV$}G{LkMgEo+6V_;;^VPF6N$4m{6 diff --git a/target/classes/com/lz/modules/app/service/StaffService.class b/target/classes/com/lz/modules/app/service/StaffService.class index eb5b3a7c8bd17cb4fda3618196113b5628554a0b..d18d69880fd275f933af48e57b9591afec6bb045 100644 GIT binary patch delta 129 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 Q`-|tJ)Ghqo+JxKw0houS7ytkO diff --git a/target/classes/mapper/generator/StaffDao.xml b/target/classes/mapper/generator/StaffDao.xml index 95be5a81..f6b01a2b 100644 --- a/target/classes/mapper/generator/StaffDao.xml +++ b/target/classes/mapper/generator/StaffDao.xml @@ -110,7 +110,7 @@ and ls.name=#{name} - limit #{startIndex}, #{pageLimit} + limit #{startIndex}, #{pageLimit} select - case gender when 1 then '男' - when 2 then '女' - else '未知' - end category, - count(gender) number - from lz_staff group by gender + case gender when 1 then '男' + when 2 then '女' + else '未知' + end category, + count(gender) number + from lz_staff + where id in (select so.staff_id from lz_staff_occupation so where date(so.resignation_time)>=#{endDate} or + so.resignation_time is null) + + and id in (select dsr.staff_id from lz_departments_staff_relate dsr,lz_departments ld where + dsr.department_id=ld.department_id and find_in_set(ld.department_id, getChildList(#{departmentId}))) + + group by gender + + + + + + +