Browse Source

成员统计完成

master
ccsens_zhengzhichuan 3 months ago
parent
commit
f4301388a5
  1. 4
      research-admin/src/main/java/com/research/web/controller/client/project/GroupController.java
  2. 32
      research-system/src/main/java/com/research/system/domain/vo/ClientPrjProjInfoVo.java
  3. 34
      research-system/src/main/java/com/research/system/domain/vo/GroupVO.java
  4. 6
      research-system/src/main/java/com/research/system/persist/dao/KtsGroupDao.java
  5. 2
      research-system/src/main/java/com/research/system/service/KtsGroupService.java
  6. 13
      research-system/src/main/java/com/research/system/service/impl/KtsGroupServiceImpl.java
  7. 40
      research-system/src/main/resources/mapper/dao/KtsGroupDao.xml

4
research-admin/src/main/java/com/research/web/controller/client/project/GroupController.java

@ -165,6 +165,10 @@ public class GroupController {
return JsonResponse.ok(ktsGroupService.detailAdd(dto));
}
@PostMapping("/statistics")
public JsonResponse<GroupVO.Statistics> statistics(){
return JsonResponse.ok(ktsGroupService.statistics());
}
private void aduit(Long memberId) throws Exception {
//1.流程初始化表单

32
research-system/src/main/java/com/research/system/domain/vo/ClientPrjProjInfoVo.java

@ -162,14 +162,14 @@ public class ClientPrjProjInfoVo {
@Data
public static class Jdtj {
private Integer lwTotal;//论文应发表数量
private Integer lwNum;//论文已发表
private Integer zlTotal;//专利应发表数量
private Integer zlNum;//专利已发表
private Integer gccTotal;//高层次科技人才应数量
private Integer gccNum;//高层次人才已发表
private Integer rcTotal;//人才数量
private Integer rcNum;//已培养数量
private int lwTotal;//论文应发表数量
private int lwNum;//论文已发表
private int zlTotal;//专利应发表数量
private int zlNum;//专利已发表
private int gccTotal;//高层次科技人才应数量
private int gccNum;//高层次人才已发表
private int rcTotal;//人才数量
private int rcNum;//已培养数量
private List<JdtjStatistics> jdtjList;
}
@ -178,14 +178,14 @@ public class ClientPrjProjInfoVo {
private Long id;
private String ktGroupName;
private String orgName;
private Integer lwTotal;//论文应发表数量
private Integer lwNum;//论文已发表
private Integer zlTotal;//专利应发表数量
private Integer zlNum;//专利已发表
private Integer gccTotal;//高层次科技人才应数量
private Integer gccNum;//高层次人才已发表
private Integer rcTotal;//人才数量
private Integer rcNum;//已培养数量
private int lwTotal;//论文应发表数量
private int lwNum;//论文已发表
private int zlTotal;//专利应发表数量
private int zlNum;//专利已发表
private int gccTotal;//高层次科技人才应数量
private int gccNum;//高层次人才已发表
private int rcTotal;//人才数量
private int rcNum;//已培养数量
}
@Data

34
research-system/src/main/java/com/research/system/domain/vo/GroupVO.java

@ -221,4 +221,38 @@ public class GroupVO {
}
}
@Data
public static class Statistics {
private Integer total;
private List<Member> memberList;
private List<Zc> zcList;
private List<Xl> xlList;
@Data
public static class Member{
private Long orgId;
private String orgName;
private Integer num;
}
@Data
public static class Zc{
private Long orgId;
private String orgName;
private Integer js;//教授
private Integer fjs;//副教授
private Integer zgjs;//主管技师
}
@Data
public static class Xl{
private Long orgId;
private String orgName;
private Integer bsh;//博士后
private Integer bs;//博士
private Integer ss;//硕士
}
}
}

6
research-system/src/main/java/com/research/system/persist/dao/KtsGroupDao.java

@ -24,4 +24,10 @@ public interface KtsGroupDao {
List<GroupVO.Num1> jhzt();
List<GroupVO.Num2> kzzt();
List<GroupVO.Statistics.Member> queryMemberStatistics();
List<GroupVO.Statistics.Zc> queryZcStatistics();
List<GroupVO.Statistics.Xl> queryXlStatistics();
}

2
research-system/src/main/java/com/research/system/service/KtsGroupService.java

@ -55,4 +55,6 @@ public interface KtsGroupService {
Integer detailAdd(GroupDto.DetailAdd dto);
GroupVO.Statistics statistics();
}

13
research-system/src/main/java/com/research/system/service/impl/KtsGroupServiceImpl.java

@ -433,5 +433,18 @@ public class KtsGroupServiceImpl implements KtsGroupService {
return null;
}
@Override
public GroupVO.Statistics statistics() {
GroupVO.Statistics statistics = new GroupVO.Statistics();
List<GroupVO.Statistics.Member> members = ktsGroupDao.queryMemberStatistics();
statistics.setMemberList(members);
statistics.setZcList(ktsGroupDao.queryZcStatistics());
statistics.setXlList(ktsGroupDao.queryXlStatistics());
if (CollUtil.isNotEmpty(members)) {
statistics.setTotal(members.stream().map(GroupVO.Statistics.Member::getNum).mapToInt(Integer::intValue).sum());
}
return statistics;
}
}

40
research-system/src/main/resources/mapper/dao/KtsGroupDao.xml

@ -144,4 +144,44 @@
where o.del_flag = 0
group by o.id
</select>
<select id="queryMemberStatistics" resultType="com.research.system.domain.vo.GroupVO$Statistics$Member">
select o.id as orgId,
o.org_name as orgName,
COUNT(m.id) as num
from prj_proj_org o
left join
kts_kt_group g on g.proj_org_id = o.id and g.del_flag = 0
LEFT JOIN kts_kt_group_member m on m.kt_group_id = g.id
where o.del_flag = 0
group by o.id
</select>
<select id="queryZcStatistics" resultType="com.research.system.domain.vo.GroupVO$Statistics$Zc">
select o.id as orgId,
o.org_name as orgName,
SUM(CASE WHEN m.title = '0' THEN 1 ELSE 0 END) AS js,
SUM(CASE WHEN m.title = '1' THEN 1 ELSE 0 END) AS fjs,
SUM(CASE WHEN m.title = '2' THEN 1 ELSE 0 END) AS zgjs
from prj_proj_org o
left join
kts_kt_group g on g.proj_org_id = o.id and g.del_flag = 0
LEFT JOIN kts_kt_group_member m on m.kt_group_id = g.id
where o.del_flag = 0
group by o.id,title
</select>
<select id="queryXlStatistics" resultType="com.research.system.domain.vo.GroupVO$Statistics$Xl">
select o.id as orgId,
o.org_name as orgName,
SUM(CASE WHEN m.qualification = '0' THEN 1 ELSE 0 END) AS bsh,
SUM(CASE WHEN m.qualification = '1' THEN 1 ELSE 0 END) AS bs,
SUM(CASE WHEN m.qualification = '2' THEN 1 ELSE 0 END) AS zgjs
from prj_proj_org o
left join
kts_kt_group g on g.proj_org_id = o.id and g.del_flag = 0
LEFT JOIN kts_kt_group_member m on m.kt_group_id = g.id
where o.del_flag = 0
group by o.id,title
</select>
</mapper>

Loading…
Cancel
Save