diff --git a/research-admin/src/main/java/com/research/web/controller/client/achievement/OutcomeController.java b/research-admin/src/main/java/com/research/web/controller/client/achievement/OutcomeController.java index a4bb1e72..d0f0e249 100644 --- a/research-admin/src/main/java/com/research/web/controller/client/achievement/OutcomeController.java +++ b/research-admin/src/main/java/com/research/web/controller/client/achievement/OutcomeController.java @@ -73,4 +73,9 @@ public class OutcomeController { outcomeService.delCategory(dto); return JsonResponse.ok(); } + + @PostMapping("/queryStatistics") + public JsonResponse> queryStatistics(@RequestBody @Validated OutcomeDto.Statistics dto){ + return JsonResponse.ok(outcomeService.queryStatistics(dto.getCategoryId())); + } } diff --git a/research-admin/src/main/java/com/research/web/controller/client/project/GroupController.java b/research-admin/src/main/java/com/research/web/controller/client/project/GroupController.java index 1a48a65d..7bca028a 100644 --- a/research-admin/src/main/java/com/research/web/controller/client/project/GroupController.java +++ b/research-admin/src/main/java/com/research/web/controller/client/project/GroupController.java @@ -135,6 +135,12 @@ public class GroupController { return JsonResponse.ok(); } + @PostMapping("/queryMemberGroup") + public JsonResponse> queryMemberGroup(@RequestBody @Validated CommonDto.PhoneDto dto){ + return JsonResponse.ok(ktsGroupService.queryMemberGroup(dto.getPhone())); + } + + @PostMapping("/config/add") public JsonResponse configAdd(@RequestBody @Validated GroupDto.ConfigAdd dto) { return JsonResponse.ok(ktsGroupService.configAdd(dto)); diff --git a/research-flowable/src/main/java/com/research/flowable/service/impl/FlowTaskServiceImpl.java b/research-flowable/src/main/java/com/research/flowable/service/impl/FlowTaskServiceImpl.java index 84f29330..de42df30 100644 --- a/research-flowable/src/main/java/com/research/flowable/service/impl/FlowTaskServiceImpl.java +++ b/research-flowable/src/main/java/com/research/flowable/service/impl/FlowTaskServiceImpl.java @@ -111,6 +111,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask return AjaxResult.success(); } + /** * 驳回任务 * diff --git a/research-system/src/main/java/com/research/system/domain/dto/CommonDto.java b/research-system/src/main/java/com/research/system/domain/dto/CommonDto.java index a489c898..c57c6700 100644 --- a/research-system/src/main/java/com/research/system/domain/dto/CommonDto.java +++ b/research-system/src/main/java/com/research/system/domain/dto/CommonDto.java @@ -27,6 +27,12 @@ public class CommonDto { private List idList; } + @Data + public static class PhoneDto{ + @NotNull(message = "手机号不能为空") + private String phone; + } + @Data public static class StatusDto{ @ApiModelProperty("状态") diff --git a/research-system/src/main/java/com/research/system/domain/dto/OutcomeDto.java b/research-system/src/main/java/com/research/system/domain/dto/OutcomeDto.java index d2c302f3..d70cf62f 100644 --- a/research-system/src/main/java/com/research/system/domain/dto/OutcomeDto.java +++ b/research-system/src/main/java/com/research/system/domain/dto/OutcomeDto.java @@ -30,6 +30,11 @@ public class OutcomeDto { private Byte achType; } + @Data + public static class Statistics { + private Long categoryId; + } + @Data public static class QueryCategory { private String categoryName; diff --git a/research-system/src/main/java/com/research/system/domain/dto/ShsSyffCategoryDto.java b/research-system/src/main/java/com/research/system/domain/dto/ShsSyffCategoryDto.java index 5e47bbad..b7cff98e 100644 --- a/research-system/src/main/java/com/research/system/domain/dto/ShsSyffCategoryDto.java +++ b/research-system/src/main/java/com/research/system/domain/dto/ShsSyffCategoryDto.java @@ -22,6 +22,8 @@ public class ShsSyffCategoryDto { private String categoryCode; private String categoryName; + + private Long categoryId; } @Data diff --git a/research-system/src/main/java/com/research/system/domain/vo/GroupVO.java b/research-system/src/main/java/com/research/system/domain/vo/GroupVO.java index c840fce1..7ef4c71c 100644 --- a/research-system/src/main/java/com/research/system/domain/vo/GroupVO.java +++ b/research-system/src/main/java/com/research/system/domain/vo/GroupVO.java @@ -73,13 +73,13 @@ public class GroupVO { private List childrenList; - private Integer planTotal; + private int planTotal; - private Long planIng; + private long planIng; - private Integer cgTotal; + private int cgTotal; - private Long cgIng; + private long cgIng; } @@ -316,12 +316,12 @@ public class GroupVO { private Long orgId; private String orgName; private int total; - private int bk;//本科 - private int bs;//博士 private int ss;//硕士 + private int bs;//博士 + private int bsh;//博士后 public int getTotal() { - return bk + bs + ss; + return bsh + bs + ss; } } } diff --git a/research-system/src/main/java/com/research/system/domain/vo/HomeVo.java b/research-system/src/main/java/com/research/system/domain/vo/HomeVo.java index 1b9d0100..f03f4bb5 100644 --- a/research-system/src/main/java/com/research/system/domain/vo/HomeVo.java +++ b/research-system/src/main/java/com/research/system/domain/vo/HomeVo.java @@ -48,6 +48,7 @@ public class HomeVo { private Long id; private String ktGroupName; private String orgName; + private Long orgId; private String completionPercentage = "0"; private List groupList; } diff --git a/research-system/src/main/java/com/research/system/domain/vo/OutcomeVo.java b/research-system/src/main/java/com/research/system/domain/vo/OutcomeVo.java index b28b0531..33cbb62a 100644 --- a/research-system/src/main/java/com/research/system/domain/vo/OutcomeVo.java +++ b/research-system/src/main/java/com/research/system/domain/vo/OutcomeVo.java @@ -128,4 +128,19 @@ public class OutcomeVo { private String name; private Byte type; } + + @Data + public static class Statistics{ + @ApiModelProperty("组织ID") + private Long orgId; + @ApiModelProperty("组织名称") + private String orgName; + @ApiModelProperty("一级数量") + private int num; + @ApiModelProperty("二级数量") + private int num1; + private int num2; + private int num3; + private int num4; + } } diff --git a/research-system/src/main/java/com/research/system/domain/vo/ShsCkwxVo.java b/research-system/src/main/java/com/research/system/domain/vo/ShsCkwxVo.java index 014bcb99..e3b56098 100644 --- a/research-system/src/main/java/com/research/system/domain/vo/ShsCkwxVo.java +++ b/research-system/src/main/java/com/research/system/domain/vo/ShsCkwxVo.java @@ -78,6 +78,8 @@ public class ShsCkwxVo { private String createBy; private Date createTime; + + private int num; } } diff --git a/research-system/src/main/java/com/research/system/domain/vo/ShsSyffCategoryVo.java b/research-system/src/main/java/com/research/system/domain/vo/ShsSyffCategoryVo.java index 47b32c99..b1d921f9 100644 --- a/research-system/src/main/java/com/research/system/domain/vo/ShsSyffCategoryVo.java +++ b/research-system/src/main/java/com/research/system/domain/vo/ShsSyffCategoryVo.java @@ -82,6 +82,8 @@ public class ShsSyffCategoryVo { @ApiModelProperty("") private Date createTime; private String parentCategoryName; + + private int num; } } diff --git a/research-system/src/main/java/com/research/system/persist/dao/OutcomeDao.java b/research-system/src/main/java/com/research/system/persist/dao/OutcomeDao.java index aa725cec..76e99831 100644 --- a/research-system/src/main/java/com/research/system/persist/dao/OutcomeDao.java +++ b/research-system/src/main/java/com/research/system/persist/dao/OutcomeDao.java @@ -20,4 +20,6 @@ public interface OutcomeDao { List queryCategoryList(@Param("dto") OutcomeDto.QueryCategory dto); int selectNumByCategoryId(@Param("categoryId") Long categoryId, @Param("parentId") Long parentId); + + List queryStatistics(@Param("categoryId") Long categoryId); } diff --git a/research-system/src/main/java/com/research/system/service/KtsGroupService.java b/research-system/src/main/java/com/research/system/service/KtsGroupService.java index f6b4d121..07ae4263 100644 --- a/research-system/src/main/java/com/research/system/service/KtsGroupService.java +++ b/research-system/src/main/java/com/research/system/service/KtsGroupService.java @@ -43,7 +43,7 @@ public interface KtsGroupService { void aduitMember(Long memberId, Byte status); - List queryMemberGroup(); + List queryMemberGroup(String phone); Integer configAdd(GroupDto.ConfigAdd dto); diff --git a/research-system/src/main/java/com/research/system/service/OutcomeService.java b/research-system/src/main/java/com/research/system/service/OutcomeService.java index dc001564..6893d412 100644 --- a/research-system/src/main/java/com/research/system/service/OutcomeService.java +++ b/research-system/src/main/java/com/research/system/service/OutcomeService.java @@ -25,4 +25,7 @@ public interface OutcomeService { void addCategory(OutcomeDto.AddCategory dto); void delCategory(CommonDto.DelDto dto); + + List queryStatistics(Long categoryId); + } diff --git a/research-system/src/main/java/com/research/system/service/impl/HomeServiceImpl.java b/research-system/src/main/java/com/research/system/service/impl/HomeServiceImpl.java index 9bd17833..34eb5501 100644 --- a/research-system/src/main/java/com/research/system/service/impl/HomeServiceImpl.java +++ b/research-system/src/main/java/com/research/system/service/impl/HomeServiceImpl.java @@ -64,7 +64,7 @@ public class HomeServiceImpl implements HomeService { } //查询子课题组 KtsKtGroupExample ktsKtGroupExample = new KtsKtGroupExample(); - ktsKtGroupExample.createCriteria().andParentKtIdEqualTo(groupResult.getId()).andDelFlagEqualTo((byte) 0); + ktsKtGroupExample.createCriteria().andParentKtIdEqualTo(0L).andProjOrgIdEqualTo(groupResult.getOrgId()).andDelFlagEqualTo((byte) 0); List ktsKtGroups = ktsKtGroupMapper.selectByExample(ktsKtGroupExample); if (CollUtil.isNotEmpty(ktsKtGroups)) { List results = BeanUtil.copyToList(ktsKtGroups, GroupVO.Result.class); diff --git a/research-system/src/main/java/com/research/system/service/impl/KtsGroupServiceImpl.java b/research-system/src/main/java/com/research/system/service/impl/KtsGroupServiceImpl.java index 9a064fec..de2c95ca 100644 --- a/research-system/src/main/java/com/research/system/service/impl/KtsGroupServiceImpl.java +++ b/research-system/src/main/java/com/research/system/service/impl/KtsGroupServiceImpl.java @@ -95,7 +95,20 @@ public class KtsGroupServiceImpl implements KtsGroupService { public List childList(GroupDto.Query query) { List groupList = queryGroupList(query); if (CollUtil.isNotEmpty(groupList)) { - return buildTree(groupList); + List results = buildTree(groupList); + if (CollUtil.isNotEmpty(results)) { + for (GroupVO.Result result : results) { + List childrenList = result.getChildrenList(); + result.setPlanTotal(childrenList.stream().mapToInt(GroupVO.Result::getPlanTotal).sum()); + result.setPlanIng(childrenList.stream().mapToLong(GroupVO.Result::getPlanIng).sum()); + int i = 1; + for (GroupVO.Result result1 : childrenList) { + result1.setSort(i); + i++; + } + } + } + return results; } return new ArrayList<>(); } @@ -374,11 +387,18 @@ public class KtsGroupServiceImpl implements KtsGroupService { } @Override - public List queryMemberGroup() { + public List queryMemberGroup(String phone) { //根据手机号查询用户课题组 KtsKtGroupMemberExample ktsKtGroupMemberExample = new KtsKtGroupMemberExample(); - ktsKtGroupMemberExample.createCriteria().andMemberPhoneEqualTo(SecurityUtils.getLoginUser().getUsername()); + ktsKtGroupMemberExample.createCriteria().andMemberPhoneEqualTo(phone).andDelFlagEqualTo((byte) 0); List ktsKtGroupMembers = ktsKtGroupMemberMapper.selectByExample(ktsKtGroupMemberExample); + if (CollUtil.isNotEmpty(ktsKtGroupMembers)) { + List collect = ktsKtGroupMembers.stream().map(KtsKtGroupMember::getKtGroupId).collect(Collectors.toList()); + KtsKtGroupExample ktsKtGroupExample = new KtsKtGroupExample(); + ktsKtGroupExample.createCriteria().andIdIn(collect).andDelFlagEqualTo((byte) 0); + List ktsKtGroups = ktsKtGroupMapper.selectByExample(ktsKtGroupExample); + return BeanUtil.copyToList(ktsKtGroups, GroupVO.Result.class); + } return null; } diff --git a/research-system/src/main/java/com/research/system/service/impl/OutcomeServiceImpl.java b/research-system/src/main/java/com/research/system/service/impl/OutcomeServiceImpl.java index 7813c49f..4463c48b 100644 --- a/research-system/src/main/java/com/research/system/service/impl/OutcomeServiceImpl.java +++ b/research-system/src/main/java/com/research/system/service/impl/OutcomeServiceImpl.java @@ -143,4 +143,9 @@ public class OutcomeServiceImpl implements OutcomeService { achAchievementCategory.setDelFlag((byte) 1); achAchievementCategoryMapper.updateByExampleSelective(achAchievementCategory, achAchievementCategoryExample); } + + @Override + public List queryStatistics(Long categoryId) { + return outcomeDao.queryStatistics(categoryId); + } } diff --git a/research-system/src/main/resources/mapper/dao/HomeDao.xml b/research-system/src/main/resources/mapper/dao/HomeDao.xml index 4244f6e2..bfb709c3 100644 --- a/research-system/src/main/resources/mapper/dao/HomeDao.xml +++ b/research-system/src/main/resources/mapper/dao/HomeDao.xml @@ -21,7 +21,8 @@ select o.id as orgId, o.org_name as orgName, - SUM(CASE WHEN m.qualification = '5' THEN 1 ELSE 0 END) AS bk, - SUM(CASE WHEN m.qualification = '6' THEN 1 ELSE 0 END) AS ss, - SUM(CASE WHEN m.qualification = '7' THEN 1 ELSE 0 END) AS bs + SUM(CASE WHEN m.qualification = '5' THEN 1 ELSE 0 END) AS ss, + SUM(CASE WHEN m.qualification = '6' THEN 1 ELSE 0 END) AS bs, + SUM(CASE WHEN m.qualification = '7' THEN 1 ELSE 0 END) AS bsh from prj_proj_org o left join kts_kt_group g on g.proj_org_id = o.id and g.del_flag = 0 @@ -207,9 +207,9 @@ + + diff --git a/research-system/src/main/resources/mapper/dao/ShsCkwxDao.xml b/research-system/src/main/resources/mapper/dao/ShsCkwxDao.xml index 3126a2f9..2230ff2d 100644 --- a/research-system/src/main/resources/mapper/dao/ShsCkwxDao.xml +++ b/research-system/src/main/resources/mapper/dao/ShsCkwxDao.xml @@ -46,24 +46,31 @@ diff --git a/research-system/src/main/resources/mapper/dao/ShsSyffDao.xml b/research-system/src/main/resources/mapper/dao/ShsSyffDao.xml index d72ed19f..66e10cbe 100644 --- a/research-system/src/main/resources/mapper/dao/ShsSyffDao.xml +++ b/research-system/src/main/resources/mapper/dao/ShsSyffDao.xml @@ -37,6 +37,9 @@ and c.category_name like concat('%',#{dto.categoryName},'%') + + and c.id = #{dto.categoryId} +