Browse Source

修改仪器平台 根据合作单位查询

master
ccsens_zhengzhichuan 2 months ago
parent
commit
7f543920c8
  1. 1
      research-system/src/main/java/com/research/system/domain/dto/MemberAduitDto.java
  2. 1
      research-system/src/main/java/com/research/system/domain/dto/ResPlatformDto.java
  3. 13
      research-system/src/main/java/com/research/system/domain/vo/HomeVo.java
  4. 49
      research-system/src/main/java/com/research/system/service/impl/HomeServiceImpl.java
  5. 10
      research-system/src/main/java/com/research/system/service/impl/MemberAduitServiceImpl.java
  6. 26
      research-system/src/main/resources/mapper/dao/HomeDao.xml
  7. 3
      research-system/src/main/resources/mapper/dao/ResPlatformDao.xml

1
research-system/src/main/java/com/research/system/domain/dto/MemberAduitDto.java

@ -44,6 +44,7 @@ public class MemberAduitDto {
@JsonFormat(pattern = "yyyy-MM-dd")
private Date memberBirth;
@ApiModelProperty("成员类型 0负责人 1参与者 2指导老师 3导师")
private List<String> type;
private Byte category;

1
research-system/src/main/java/com/research/system/domain/dto/ResPlatformDto.java

@ -13,6 +13,7 @@ public class ResPlatformDto {
@Data
public static class Query{
private Long projOrgId;
@ApiModelProperty("平台名称")
private String name;
@ApiModelProperty("管理员")

13
research-system/src/main/java/com/research/system/domain/vo/HomeVo.java

@ -131,7 +131,7 @@ public class HomeVo {
public static class ProjressMemberResult {
private List<OrgMemberResult> orgMemberList;
private List<TitleResult> titleList;
private List<TitleResult.Vo> titleList;
private List<XlResult> xlList;
@Data
@ -142,8 +142,15 @@ public class HomeVo {
@Data
public static class TitleResult {
private String title;
private Integer num;
private int gj;
private int zj;
private int cj;
@Data
public static class Vo{
private String title;
private int num;
}
}
@Data

49
research-system/src/main/java/com/research/system/service/impl/HomeServiceImpl.java

@ -7,6 +7,7 @@ import com.research.system.domain.po.*;
import com.research.system.domain.vo.GroupVO;
import com.research.system.domain.vo.HomeVo;
import com.research.system.persist.dao.HomeDao;
import com.research.system.persist.dao.KtsGroupDao;
import com.research.system.persist.mapper.KtsKtGroupMapper;
import com.research.system.persist.mapper.PrjProjOrgMapper;
import com.research.system.persist.mapper.ProProgressMapper;
@ -15,6 +16,7 @@ import com.research.system.service.HomeService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
@ -38,6 +40,8 @@ public class HomeServiceImpl implements HomeService {
private KtsKtGroupMapper ktsKtGroupMapper;
@Resource
private TaskDeliverableMapper taskDeliverableMapper;
@Resource
private KtsGroupDao ktsGroupDao;
@Override
public HomeVo.Result queryHomeInfo() {
@ -115,15 +119,48 @@ public class HomeServiceImpl implements HomeService {
public HomeVo.ProjressMemberResult queryProjressMemberList() {
HomeVo.ProjressMemberResult projressMemberResult = new HomeVo.ProjressMemberResult();
projressMemberResult.setOrgMemberList(homeDao.orgMemberList());
projressMemberResult.setXlList(homeDao.resultList());
//学历统计应该是工作人员学历和学生的在读状态相加
List<GroupVO.Statistics.Xl> xls = ktsGroupDao.queryZdXlStatistics();
GroupVO.Statistics.Xl xl = new GroupVO.Statistics.Xl();
if (CollUtil.isNotEmpty(xls)) {
xl.setBs(xls.stream().map(GroupVO.Statistics.Xl::getBs).mapToInt(Integer::intValue).sum());
xl.setSs(xls.stream().map(GroupVO.Statistics.Xl::getSs).mapToInt(Integer::intValue).sum());
xl.setBsh(xls.stream().map(GroupVO.Statistics.Xl::getBsh).mapToInt(Integer::intValue).sum());
}
List<HomeVo.ProjressMemberResult.XlResult> xlResults = homeDao.resultList();
if (CollUtil.isNotEmpty(xlResults)) {
for (HomeVo.ProjressMemberResult.XlResult xlResult : xlResults) {
if ("博士".equals(xlResult.getXl())) {
xlResult.setNum(xl.getBs() + xlResult.getNum());
}
if ("硕士".equals(xlResult.getXl())) {
xlResult.setNum(xl.getSs() + xlResult.getNum());
}
if ("博士后".equals(xlResult.getXl())) {
xlResult.setNum(xl.getBsh() + xlResult.getNum());
}
}
}
projressMemberResult.setXlList(xlResults);
List<HomeVo.ProjressMemberResult.TitleResult> titleResults = homeDao.titleList();
List<HomeVo.ProjressMemberResult.TitleResult.Vo> list = new ArrayList<>();
if (CollUtil.isNotEmpty(titleResults)) {
HomeVo.ProjressMemberResult.TitleResult titleResult = new HomeVo.ProjressMemberResult.TitleResult();
titleResult.setTitle("其他");
titleResult.setNum(projressMemberResult.getOrgMemberList().stream().mapToInt(HomeVo.ProjressMemberResult.OrgMemberResult::getNum).sum() - titleResults.stream().mapToInt(HomeVo.ProjressMemberResult.TitleResult::getNum).sum());
titleResults.add(titleResult);
HomeVo.ProjressMemberResult.TitleResult titleResult1 = titleResults.get(0);
HomeVo.ProjressMemberResult.TitleResult.Vo titleResult = new HomeVo.ProjressMemberResult.TitleResult.Vo();
titleResult.setTitle("高级");
titleResult.setNum(titleResult1.getGj());
list.add(titleResult);
HomeVo.ProjressMemberResult.TitleResult.Vo titleResult2 = new HomeVo.ProjressMemberResult.TitleResult.Vo();
titleResult2.setTitle("中级");
titleResult2.setNum(titleResult1.getZj());
list.add(titleResult2);
HomeVo.ProjressMemberResult.TitleResult.Vo titleResult3 = new HomeVo.ProjressMemberResult.TitleResult.Vo();
titleResult3.setTitle("初级");
titleResult3.setNum(titleResult1.getCj());
list.add(titleResult3);
}
projressMemberResult.setTitleList(titleResults);
projressMemberResult.setTitleList(list);
return projressMemberResult;
}

10
research-system/src/main/java/com/research/system/service/impl/MemberAduitServiceImpl.java

@ -80,7 +80,15 @@ public class MemberAduitServiceImpl implements MemberAduitService {
KtsKtGroupMemberAduit ktsKtGroupMemberAduit = BeanUtil.copyProperties(dto, KtsKtGroupMemberAduit.class);
ktsKtGroupMemberAduit.setId(IdUtil.getSnowflakeNextId());
ktsKtGroupMemberAduit.setStatus((byte) 0);
ktsKtGroupMemberAduit.setRoleIdList(dto.getRoleIdList().stream().map(String::valueOf).collect(Collectors.joining(",")));
if (CollUtil.isEmpty(dto.getRoleIdList())) {
if (dto.getType().contains("0")) {
ktsKtGroupMemberAduit.setRoleIdList("100");
}else {
ktsKtGroupMemberAduit.setRoleIdList("2");
}
}else {
ktsKtGroupMemberAduit.setRoleIdList(dto.getRoleIdList().stream().map(String::valueOf).collect(Collectors.joining(",")));
}
ktsKtGroupMemberAduit.setReviewer(reviewerList.stream().map(String::valueOf).collect(Collectors.joining(",")));
ktsKtGroupMemberAduitMapper.insertSelective(ktsKtGroupMemberAduit);

26
research-system/src/main/resources/mapper/dao/HomeDao.xml

@ -78,20 +78,18 @@
</select>
<select id="titleList" resultType="com.research.system.domain.vo.HomeVo$ProjressMemberResult$TitleResult">
SELECT
d.dict_label AS title,
COUNT(km.id) AS num
FROM
kts_kt_group_member km
LEFT JOIN
sys_dict_data d ON km.title = d.dict_value AND d.dict_type = 'sys_title'
WHERE
km.del_flag = 0
AND km.title IS NOT NULL
GROUP BY
km.title, d.dict_label
ORDER BY
num DESC
select o.id as orgId,
o.org_name as orgName,
SUM(CASE WHEN FIND_IN_SET('1', m.title) > 0 or FIND_IN_SET('2', m.title) > 0 or FIND_IN_SET('5', m.title) > 0 or FIND_IN_SET('6', m.title) > 0 or FIND_IN_SET('8', m.title) > 0 or FIND_IN_SET('9', m.title) > 0 or FIND_IN_SET('12', m.title) > 0 or FIND_IN_SET('13', m.title) > 0 THEN 1 ELSE 0 END) AS gj,
SUM(CASE WHEN FIND_IN_SET('3', m.title) > 0 or FIND_IN_SET('10', m.title) > 0 or FIND_IN_SET('14', m.title) > 0 THEN 1 ELSE 0 END) AS zj,
SUM(CASE WHEN FIND_IN_SET('4', m.title) > 0 or FIND_IN_SET('7', m.title) > 0 or FIND_IN_SET('11', m.title) > 0 or FIND_IN_SET('15', m.title) > 0 or FIND_IN_SET('16', m.title) > 0 THEN 1 ELSE 0 END) AS cj
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
</select>
<select id="resultList" resultType="com.research.system.domain.vo.HomeVo$ProjressMemberResult$XlResult">

3
research-system/src/main/resources/mapper/dao/ResPlatformDao.xml

@ -24,6 +24,9 @@
<if test="dto.administrators != null and dto.administrators != ''">
and d.administrators like concat('%',#{dto.administrators},'%')
</if>
<if test="dto.projOrgId != null">
and d.proj_org_id = #{dto.projOrgId}
</if>
order by
d.id desc
</select>

Loading…
Cancel
Save