Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
Y
yn-health-science
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
徐俊
yn-health-science
Commits
c1d598fb
Commit
c1d598fb
authored
Jul 24, 2025
by
徐俊
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
xujun
parent
9d32ad11
Show whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
1603 additions
and
7 deletions
+1603
-7
ComTalentAssignDAO.java
...main/java/com/yiboshi/science/dao/ComTalentAssignDAO.java
+11
-0
ComTalentGroupAssignDAO.java
...java/com/yiboshi/science/dao/ComTalentGroupAssignDAO.java
+8
-0
ComTalentGroupDAO.java
.../main/java/com/yiboshi/science/dao/ComTalentGroupDAO.java
+10
-1
ComTalentGroupDetailDAO.java
...java/com/yiboshi/science/dao/ComTalentGroupDetailDAO.java
+15
-0
ComTalentApply.java
.../main/java/com/yiboshi/science/entity/ComTalentApply.java
+17
-0
CommonEnum.java
...main/java/com/yiboshi/science/enumeration/CommonEnum.java
+2
-1
ComTalentAssignDTO.java
...ava/com/yiboshi/science/param/dto/ComTalentAssignDTO.java
+28
-0
ComTalentGroupAssignDTO.java
...om/yiboshi/science/param/dto/ComTalentGroupAssignDTO.java
+10
-0
ComTalentGroupDTO.java
...java/com/yiboshi/science/param/dto/ComTalentGroupDTO.java
+27
-0
ComTalentGroupDetailDTO.java
...om/yiboshi/science/param/dto/ComTalentGroupDetailDTO.java
+32
-0
ComTalentKnowledgeStatisticDTO.java
...shi/science/param/dto/ComTalentKnowledgeStatisticDTO.java
+36
-0
ComTalentAssignQueryVO.java
...m/yiboshi/science/param/query/ComTalentAssignQueryVO.java
+50
-0
ComTalentGroupDetailQueryVO.java
...oshi/science/param/query/ComTalentGroupDetailQueryVO.java
+17
-0
ComTalentAssignController.java
...om/yiboshi/science/rest/v1/ComTalentAssignController.java
+92
-0
ComTalentGroupAssignController.java
...boshi/science/rest/v1/ComTalentGroupAssignController.java
+50
-0
ComTalentGroupController.java
...com/yiboshi/science/rest/v1/ComTalentGroupController.java
+138
-0
ComTalentGroupDetailController.java
...boshi/science/rest/v1/ComTalentGroupDetailController.java
+55
-0
ComTalentAssignService.java
...a/com/yiboshi/science/service/ComTalentAssignService.java
+61
-0
ComTalentGroupAssignService.java
.../yiboshi/science/service/ComTalentGroupAssignService.java
+6
-0
ComTalentGroupDetailService.java
.../yiboshi/science/service/ComTalentGroupDetailService.java
+14
-0
ComTalentGroupService.java
...va/com/yiboshi/science/service/ComTalentGroupService.java
+37
-0
ComTalentAssignServiceImpl.java
...oshi/science/service/impl/ComTalentAssignServiceImpl.java
+236
-1
ComTalentGroupAssignServiceImpl.java
...science/service/impl/ComTalentGroupAssignServiceImpl.java
+29
-1
ComTalentGroupDetailServiceImpl.java
...science/service/impl/ComTalentGroupDetailServiceImpl.java
+56
-0
ComTalentGroupServiceImpl.java
...boshi/science/service/impl/ComTalentGroupServiceImpl.java
+331
-3
ComTalentAssignDAO.xml
...ce-admin/src/main/resources/mapper/ComTalentAssignDAO.xml
+75
-0
ComTalentGroupAssignDAO.xml
...min/src/main/resources/mapper/ComTalentGroupAssignDAO.xml
+49
-0
ComTalentGroupDAO.xml
...nce-admin/src/main/resources/mapper/ComTalentGroupDAO.xml
+48
-0
ComTalentGroupDetailDAO.xml
...min/src/main/resources/mapper/ComTalentGroupDetailDAO.xml
+63
-0
No files found.
science-admin/src/main/java/com/yiboshi/science/dao/ComTalentAssignDAO.java
View file @
c1d598fb
...
@@ -2,13 +2,24 @@ package com.yiboshi.science.dao;
...
@@ -2,13 +2,24 @@ package com.yiboshi.science.dao;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yiboshi.science.base.BaseDAO
;
import
com.yiboshi.science.base.BaseDAO
;
import
com.yiboshi.science.entity.AssignCount
;
import
com.yiboshi.science.entity.ComTalentAssign
;
import
com.yiboshi.science.entity.ComTalentAssign
;
import
com.yiboshi.science.param.dto.ComTalentAssignDTO
;
import
com.yiboshi.science.param.dto.ComTalentAssignDTO
;
import
com.yiboshi.science.param.dto.ComTalentGroupDTO
;
import
com.yiboshi.science.param.query.ComTalentAssignQueryVO
;
import
com.yiboshi.science.param.query.ComTalentAssignQueryVO
;
import
java.util.List
;
/**
/**
* 人才专家分配明细表
* 人才专家分配明细表
*/
*/
public
interface
ComTalentAssignDAO
extends
BaseMapper
<
ComTalentAssign
>,
BaseDAO
<
ComTalentAssignQueryVO
,
ComTalentAssignDTO
,
ComTalentAssign
>
{
public
interface
ComTalentAssignDAO
extends
BaseMapper
<
ComTalentAssign
>,
BaseDAO
<
ComTalentAssignQueryVO
,
ComTalentAssignDTO
,
ComTalentAssign
>
{
List
<
ComTalentAssignDTO
>
getAssignExpertList
(
String
projectId
);
ComTalentAssignDTO
getAssignExpertById
(
String
id
);
List
<
AssignCount
>
getAssignCount
(
String
expertId
);
List
<
ComTalentGroupDTO
>
getTalentGroupAssignById
(
String
id
,
String
expertId
);
}
}
science-admin/src/main/java/com/yiboshi/science/dao/ComTalentGroupAssignDAO.java
View file @
c1d598fb
...
@@ -3,12 +3,20 @@ package com.yiboshi.science.dao;
...
@@ -3,12 +3,20 @@ package com.yiboshi.science.dao;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yiboshi.science.base.BaseDAO
;
import
com.yiboshi.science.base.BaseDAO
;
import
com.yiboshi.science.entity.ComTalentGroupAssign
;
import
com.yiboshi.science.entity.ComTalentGroupAssign
;
import
com.yiboshi.science.param.dto.ComTalentAssignDTO
;
import
com.yiboshi.science.param.dto.ComTalentGroupAssignDTO
;
import
com.yiboshi.science.param.dto.ComTalentGroupAssignDTO
;
import
com.yiboshi.science.param.query.ComTalentGroupAssignQueryVO
;
import
com.yiboshi.science.param.query.ComTalentGroupAssignQueryVO
;
import
java.util.List
;
/**
/**
* 人才分组分配表
* 人才分组分配表
*/
*/
public
interface
ComTalentGroupAssignDAO
extends
BaseMapper
<
ComTalentGroupAssign
>,
BaseDAO
<
ComTalentGroupAssignQueryVO
,
ComTalentGroupAssignDTO
,
ComTalentGroupAssign
>
{
public
interface
ComTalentGroupAssignDAO
extends
BaseMapper
<
ComTalentGroupAssign
>,
BaseDAO
<
ComTalentGroupAssignQueryVO
,
ComTalentGroupAssignDTO
,
ComTalentGroupAssign
>
{
List
<
ComTalentGroupAssignDTO
>
getAssignExpertList
(
String
groupId
);
ComTalentGroupAssignDTO
getAssignGroupExpertById
(
String
Id
);
List
<
ComTalentAssignDTO
>
getTalentAssignByGroupIdExpertId
(
String
groupId
,
String
expertId
);
}
}
science-admin/src/main/java/com/yiboshi/science/dao/ComTalentGroupDAO.java
View file @
c1d598fb
...
@@ -3,11 +3,20 @@ package com.yiboshi.science.dao;
...
@@ -3,11 +3,20 @@ package com.yiboshi.science.dao;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yiboshi.science.base.BaseDAO
;
import
com.yiboshi.science.base.BaseDAO
;
import
com.yiboshi.science.entity.ComTalentGroup
;
import
com.yiboshi.science.entity.ComTalentGroup
;
import
com.yiboshi.science.param.dto.
ComTalentGroupDTO
;
import
com.yiboshi.science.param.dto.
*
;
import
com.yiboshi.science.param.query.ComTalentGroupQueryVO
;
import
com.yiboshi.science.param.query.ComTalentGroupQueryVO
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
/**
* 人才分组表
* 人才分组表
*/
*/
public
interface
ComTalentGroupDAO
extends
BaseMapper
<
ComTalentGroup
>,
BaseDAO
<
ComTalentGroupQueryVO
,
ComTalentGroupDTO
,
ComTalentGroup
>
{
public
interface
ComTalentGroupDAO
extends
BaseMapper
<
ComTalentGroup
>,
BaseDAO
<
ComTalentGroupQueryVO
,
ComTalentGroupDTO
,
ComTalentGroup
>
{
ComTalentGroupDTO
getTalentGroupByKnowLedgeIDYear
(
@Param
(
"groupYear"
)
Integer
name
);
List
<
ComTalentAssignDTO
>
getAssignExpertList
(
String
talentId
);
List
<
ComTalentKnowledgeStatisticDTO
>
getTalentKnowledgeStatisticByGroupId
(
String
groupId
);
}
}
science-admin/src/main/java/com/yiboshi/science/dao/ComTalentGroupDetailDAO.java
View file @
c1d598fb
package
com
.
yiboshi
.
science
.
dao
;
package
com
.
yiboshi
.
science
.
dao
;
import
com.baomidou.mybatisplus.core.conditions.Wrapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yiboshi.science.base.BaseDAO
;
import
com.yiboshi.science.base.BaseDAO
;
import
com.yiboshi.science.entity.ComTalentGroupDetail
;
import
com.yiboshi.science.entity.ComTalentGroupDetail
;
import
com.yiboshi.science.param.dto.ComTalentGroupDetailDTO
;
import
com.yiboshi.science.param.dto.ComTalentGroupDetailDTO
;
import
com.yiboshi.science.param.query.ComTalentGroupDetailQueryVO
;
import
com.yiboshi.science.param.query.ComTalentGroupDetailQueryVO
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
/**
* 人才分组明细表
* 人才分组明细表
*/
*/
public
interface
ComTalentGroupDetailDAO
extends
BaseMapper
<
ComTalentGroupDetail
>,
BaseDAO
<
ComTalentGroupDetailQueryVO
,
ComTalentGroupDetailDTO
,
ComTalentGroupDetail
>
{
public
interface
ComTalentGroupDetailDAO
extends
BaseMapper
<
ComTalentGroupDetail
>,
BaseDAO
<
ComTalentGroupDetailQueryVO
,
ComTalentGroupDetailDTO
,
ComTalentGroupDetail
>
{
ComTalentGroupDetailDTO
getTalentGroupDetailByGP
(
@Param
(
"groupId"
)
String
groupId
,
@Param
(
"talentId"
)
String
talentId
);
List
<
ComTalentGroupDetailDTO
>
getTalentDetailList
(
String
groupId
);
List
<
ComTalentGroupDetailDTO
>
getTalentDetailList2
(
String
groupId
);
Page
<
ComTalentGroupDetailDTO
>
getTalentDetailListbyPage
(
Page
<
ComTalentGroupDetailQueryVO
>
page
,
@Param
(
"ew"
)
Wrapper
<
ComTalentGroupDetailQueryVO
>
queryWrapper
);
List
<
ComTalentGroupDetailDTO
>
getTalentListByGroupIds
(
@Param
(
"groupIds"
)
List
<
String
>
groupList
);
List
<
ComTalentGroupDetailDTO
>
getMembersListByGroupIds
(
@Param
(
"groupIds"
)
List
<
String
>
groupList
);
}
}
science-admin/src/main/java/com/yiboshi/science/entity/ComTalentApply.java
View file @
c1d598fb
...
@@ -151,4 +151,20 @@ public class ComTalentApply extends BaseEntity {
...
@@ -151,4 +151,20 @@ public class ComTalentApply extends BaseEntity {
/** 项目完成状态 */
/** 项目完成状态 */
@ApiModelProperty
(
value
=
"项目完成状态"
,
position
=
22
)
@ApiModelProperty
(
value
=
"项目完成状态"
,
position
=
22
)
private
String
completeStatus
;
private
String
completeStatus
;
/** 专家/专家组是否评审完成 0否 1是 */
@ApiModelProperty
(
value
=
"是否评审完成"
,
position
=
6
)
private
Integer
completed
;
/** 分配状态 0未分配 1已分配 */
@ApiModelProperty
(
value
=
"分配状态"
,
position
=
6
)
private
Integer
assignState
;
/** 总分 */
@ApiModelProperty
(
value
=
"总分"
,
position
=
4
)
private
BigDecimal
totalScore
;
/** 平均分 */
@ApiModelProperty
(
value
=
"平均分"
,
position
=
4
)
private
BigDecimal
averageScore
;
}
}
\ No newline at end of file
science-admin/src/main/java/com/yiboshi/science/enumeration/CommonEnum.java
View file @
c1d598fb
...
@@ -739,7 +739,8 @@ public class CommonEnum {
...
@@ -739,7 +739,8 @@ public class CommonEnum {
talentApplyComplete
(
"talentApplyComplete"
,
"人才申报完成填写"
),
talentApplyComplete
(
"talentApplyComplete"
,
"人才申报完成填写"
),
talentApplyReport
(
"talentApplyReport"
,
"人才申报信息上报"
),
talentApplyReport
(
"talentApplyReport"
,
"人才申报信息上报"
),
talentApplyAudit
(
"talentApplyAudit"
,
"人才申报信息审核"
),
talentApplyAudit
(
"talentApplyAudit"
,
"人才申报信息审核"
),
talentApplyDelete
(
"talentApplyDelete"
,
"人才申报信息删除"
);
talentApplyDelete
(
"talentApplyDelete"
,
"人才申报信息删除"
),
talentAssign
(
"talentAssign"
,
"人才分配"
);
logType
(
String
key
,
String
description
)
{
logType
(
String
key
,
String
description
)
{
this
.
key
=
key
;
this
.
key
=
key
;
...
...
science-admin/src/main/java/com/yiboshi/science/param/dto/ComTalentAssignDTO.java
View file @
c1d598fb
package
com
.
yiboshi
.
science
.
param
.
dto
;
package
com
.
yiboshi
.
science
.
param
.
dto
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.yiboshi.science.base.BaseDTO
;
import
com.yiboshi.science.base.BaseDTO
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
...
@@ -7,6 +8,9 @@ import lombok.Data;
...
@@ -7,6 +8,9 @@ import lombok.Data;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
import
org.hibernate.validator.constraints.Length
;
import
org.hibernate.validator.constraints.Length
;
import
java.math.BigDecimal
;
import
java.util.List
;
@Data
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
description
=
"人才专家分配明细表DTO"
)
@ApiModel
(
description
=
"人才专家分配明细表DTO"
)
...
@@ -31,7 +35,31 @@ public class ComTalentAssignDTO extends BaseDTO {
...
@@ -31,7 +35,31 @@ public class ComTalentAssignDTO extends BaseDTO {
@Length
(
max
=
65535
,
message
=
"备注不能大于65535"
)
@Length
(
max
=
65535
,
message
=
"备注不能大于65535"
)
private
String
remark
;
private
String
remark
;
/** 证件号 */
@ExcelProperty
(
"证件号"
)
@ApiModelProperty
(
value
=
"证件号"
,
position
=
1
)
private
String
certId
;
/** 姓名 */
@ExcelProperty
(
"姓名"
)
@ApiModelProperty
(
value
=
"姓名"
,
position
=
3
)
private
String
personName
;
/** 电话号码 */
@ApiModelProperty
(
value
=
"电话号码"
,
position
=
10
)
private
String
mobile
;
/** 审核状态(0 未评审 1 保存 2 已提交) */
/** 审核状态(0 未评审 1 保存 2 已提交) */
@ApiModelProperty
(
value
=
"审核状态(0 未评审 1 保存 2 已提交)"
,
position
=
11
)
@ApiModelProperty
(
value
=
"审核状态(0 未评审 1 保存 2 已提交)"
,
position
=
11
)
private
Integer
auditState
;
private
Integer
auditState
;
/** 总分 */
@ApiModelProperty
(
value
=
"总分"
,
position
=
9
)
private
BigDecimal
totalScore
;
/** 评审状态 */
@ApiModelProperty
(
value
=
"评审状态"
,
position
=
10
)
private
String
stateName
;
/** 评审专业 */
@ApiModelProperty
(
value
=
"评审专业"
,
position
=
13
)
private
List
<
ComExpertSpecDTO
>
specList
;
}
}
science-admin/src/main/java/com/yiboshi/science/param/dto/ComTalentGroupAssignDTO.java
View file @
c1d598fb
...
@@ -7,6 +7,8 @@ import lombok.Data;
...
@@ -7,6 +7,8 @@ import lombok.Data;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
import
org.hibernate.validator.constraints.Length
;
import
org.hibernate.validator.constraints.Length
;
import
java.util.List
;
@Data
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
description
=
"人才分组分配表DTO"
)
@ApiModel
(
description
=
"人才分组分配表DTO"
)
...
@@ -26,4 +28,12 @@ public class ComTalentGroupAssignDTO extends BaseDTO {
...
@@ -26,4 +28,12 @@ public class ComTalentGroupAssignDTO extends BaseDTO {
@ApiModelProperty
(
value
=
"备注"
,
position
=
3
)
@ApiModelProperty
(
value
=
"备注"
,
position
=
3
)
@Length
(
max
=
500
,
message
=
"备注不能大于500"
)
@Length
(
max
=
500
,
message
=
"备注不能大于500"
)
private
String
remark
;
private
String
remark
;
/** 评审专业 */
@ApiModelProperty
(
value
=
"评审专业"
,
position
=
13
)
private
List
<
ComExpertSpecDTO
>
specList
;
/** 评审明细 */
@ApiModelProperty
(
value
=
"评审明细"
,
position
=
14
)
private
List
<
ComTalentAssignDTO
>
talentAssignList
;
}
}
science-admin/src/main/java/com/yiboshi/science/param/dto/ComTalentGroupDTO.java
View file @
c1d598fb
...
@@ -7,6 +7,8 @@ import lombok.Data;
...
@@ -7,6 +7,8 @@ import lombok.Data;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
import
org.hibernate.validator.constraints.Length
;
import
org.hibernate.validator.constraints.Length
;
import
java.util.List
;
@Data
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
description
=
"人才分组表DTO"
)
@ApiModel
(
description
=
"人才分组表DTO"
)
...
@@ -36,4 +38,29 @@ public class ComTalentGroupDTO extends BaseDTO {
...
@@ -36,4 +38,29 @@ public class ComTalentGroupDTO extends BaseDTO {
@ApiModelProperty
(
value
=
"备注"
,
position
=
7
)
@ApiModelProperty
(
value
=
"备注"
,
position
=
7
)
@Length
(
max
=
200
,
message
=
"备注不能大于200"
)
@Length
(
max
=
200
,
message
=
"备注不能大于200"
)
private
String
remark
;
private
String
remark
;
@ApiModelProperty
(
value
=
"学科名称"
,
position
=
8
)
@Length
(
max
=
100
,
message
=
"学科名称不能大于100"
)
private
String
knowledgeName
;
/** 专家Id */
@ApiModelProperty
(
value
=
"专家Id"
,
position
=
9
)
@Length
(
max
=
36
,
message
=
"专家Id不能大于36"
)
private
String
expertId
;
/** 项目Id */
@ApiModelProperty
(
value
=
"项目Id"
,
position
=
10
)
@Length
(
max
=
36
,
message
=
"项目Id不能大于36"
)
private
String
projId
;
/** 项目分配Id */
@ApiModelProperty
(
value
=
"项目分配Id"
,
position
=
11
)
@Length
(
max
=
36
,
message
=
"项目分配Id不能大于36"
)
private
String
assignId
;
/** 人才分组分配专家列表 */
List
<
ComTalentGroupAssignDTO
>
expertList
;
/** 人才分组人才明细 */
List
<
ComTalentGroupDetailDTO
>
talentList
;
}
}
science-admin/src/main/java/com/yiboshi/science/param/dto/ComTalentGroupDetailDTO.java
View file @
c1d598fb
...
@@ -17,6 +17,11 @@ public class ComTalentGroupDetailDTO extends BaseDTO {
...
@@ -17,6 +17,11 @@ public class ComTalentGroupDetailDTO extends BaseDTO {
@Length
(
max
=
36
,
message
=
"人才分组Id不能大于36"
)
@Length
(
max
=
36
,
message
=
"人才分组Id不能大于36"
)
private
String
groupId
;
private
String
groupId
;
/** 二级学科Id */
@ApiModelProperty
(
value
=
"二级学科Id"
,
position
=
1
)
@Length
(
max
=
36
,
message
=
"二级学科Id不能大于36"
)
private
String
knowledgeId
;
/** 人才Id */
/** 人才Id */
@ApiModelProperty
(
value
=
"人才Id"
,
position
=
2
)
@ApiModelProperty
(
value
=
"人才Id"
,
position
=
2
)
@Length
(
max
=
36
,
message
=
"人才Id不能大于36"
)
@Length
(
max
=
36
,
message
=
"人才Id不能大于36"
)
...
@@ -26,4 +31,31 @@ public class ComTalentGroupDetailDTO extends BaseDTO {
...
@@ -26,4 +31,31 @@ public class ComTalentGroupDetailDTO extends BaseDTO {
@ApiModelProperty
(
value
=
"备注"
,
position
=
3
)
@ApiModelProperty
(
value
=
"备注"
,
position
=
3
)
@Length
(
max
=
500
,
message
=
"备注不能大于500"
)
@Length
(
max
=
500
,
message
=
"备注不能大于500"
)
private
String
remark
;
private
String
remark
;
/** 申报人Id */
@ApiModelProperty
(
value
=
"申报人Id"
,
position
=
5
)
private
String
appPersonId
;
/** 姓名 */
@ApiModelProperty
(
value
=
"姓名"
,
position
=
4
)
private
String
personName
;
/** 证件号 */
@ApiModelProperty
(
value
=
"证件号"
,
position
=
2
)
private
String
certId
;
/** 申报单位Id */
@ApiModelProperty
(
value
=
"申报单位Id"
,
position
=
6
)
private
String
appUnitId
;
/** 申报单位名称 */
@ApiModelProperty
(
value
=
"申报单位名称"
,
position
=
7
)
private
String
appUnitName
;
private
String
key
;
private
String
title
;
private
String
description
;
private
String
pkey
;
private
String
ppkey
;
}
}
science-admin/src/main/java/com/yiboshi/science/param/dto/ComTalentKnowledgeStatisticDTO.java
0 → 100644
View file @
c1d598fb
package
com
.
yiboshi
.
science
.
param
.
dto
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.yiboshi.science.base.BaseDTO
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.hibernate.validator.constraints.Length
;
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
description
=
"人才二级学科统计DTO"
)
public
class
ComTalentKnowledgeStatisticDTO
extends
BaseDTO
{
/** 项目组Id */
@ApiModelProperty
(
value
=
"项目组Id"
,
position
=
1
)
@Length
(
max
=
36
,
message
=
"项目组Id不能大于36"
)
private
String
groupId
;
/** 二级学科Id */
@ApiModelProperty
(
value
=
"二级学科Id"
,
position
=
1
)
@Length
(
max
=
36
,
message
=
"二级学科Id不能大于36"
)
private
String
knowledgeId
;
/** 二级学科名称 */
@ExcelProperty
(
"二级学科名称"
)
@ApiModelProperty
(
value
=
"二级学科名称"
,
position
=
2
)
private
String
knowledgeName
;
/** 排序号 */
@ExcelProperty
(
"排序号"
)
@ApiModelProperty
(
value
=
"排序号"
,
position
=
3
)
private
Integer
displayOrder
;
/** 项目数 */
@ExcelProperty
(
"项目数"
)
@ApiModelProperty
(
value
=
"项目数"
,
position
=
4
)
private
Integer
projCount
;
}
science-admin/src/main/java/com/yiboshi/science/param/query/ComTalentAssignQueryVO.java
View file @
c1d598fb
package
com
.
yiboshi
.
science
.
param
.
query
;
package
com
.
yiboshi
.
science
.
param
.
query
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.yiboshi.science.base.PaginationVO
;
import
com.yiboshi.science.base.PaginationVO
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
...
@@ -7,6 +9,8 @@ import lombok.Data;
...
@@ -7,6 +9,8 @@ import lombok.Data;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
import
org.hibernate.validator.constraints.Length
;
import
org.hibernate.validator.constraints.Length
;
import
java.util.Date
;
@Data
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
description
=
"人才专家分配明细表VO"
)
@ApiModel
(
description
=
"人才专家分配明细表VO"
)
...
@@ -34,4 +38,50 @@ public class ComTalentAssignQueryVO extends PaginationVO {
...
@@ -34,4 +38,50 @@ public class ComTalentAssignQueryVO extends PaginationVO {
/** 审核状态(0 未评审 1 保存 2 已提交) */
/** 审核状态(0 未评审 1 保存 2 已提交) */
@ApiModelProperty
(
value
=
"审核状态(0 未评审 1 保存 2 已提交)"
,
position
=
11
)
@ApiModelProperty
(
value
=
"审核状态(0 未评审 1 保存 2 已提交)"
,
position
=
11
)
private
Integer
auditState
;
private
Integer
auditState
;
/** 证件号 */
@ExcelProperty
(
"证件号"
)
@ApiModelProperty
(
value
=
"证件号"
,
position
=
1
)
private
String
certId
;
/** 姓名 */
@ExcelProperty
(
"姓名"
)
@ApiModelProperty
(
value
=
"姓名"
,
position
=
3
)
private
String
personName
;
/** 性别 */
@ExcelProperty
(
"性别"
)
@ApiModelProperty
(
value
=
"性别"
,
position
=
4
)
private
String
sex
;
/** 出生日期 */
@ApiModelProperty
(
value
=
"出生日期"
,
position
=
5
)
@JsonFormat
(
timezone
=
"GMT+8"
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
birthday
;
/** 职称 */
@ApiModelProperty
(
value
=
"职称"
,
position
=
7
)
private
String
title
;
/** 学位 */
@ApiModelProperty
(
value
=
"学位"
,
position
=
8
)
private
String
degree
;
/** 邮箱 */
@ApiModelProperty
(
value
=
"邮箱"
,
position
=
9
)
private
String
email
;
/** 电话号码 */
@ApiModelProperty
(
value
=
"电话号码"
,
position
=
10
)
private
String
mobile
;
/** 单位 */
@ApiModelProperty
(
value
=
"单位"
,
position
=
13
)
private
String
unitName
;
/** 工作单位 */
@ApiModelProperty
(
value
=
"工作单位"
,
position
=
13
)
private
String
workUnit
;
/** 姓名 */
@ExcelProperty
(
"姓名"
)
@ApiModelProperty
(
value
=
"姓名"
,
position
=
3
)
private
String
appUnitName
;
/** 项目负责人 */
@ApiModelProperty
(
value
=
"项目负责人"
,
position
=
6
)
private
String
appPersonName
;
/** 项目组Id */
@ApiModelProperty
(
value
=
"项目组Id"
,
position
=
6
)
private
String
groupId
;
}
}
science-admin/src/main/java/com/yiboshi/science/param/query/ComTalentGroupDetailQueryVO.java
View file @
c1d598fb
...
@@ -26,4 +26,21 @@ public class ComTalentGroupDetailQueryVO extends PaginationVO {
...
@@ -26,4 +26,21 @@ public class ComTalentGroupDetailQueryVO extends PaginationVO {
@ApiModelProperty
(
value
=
"备注"
,
position
=
3
)
@ApiModelProperty
(
value
=
"备注"
,
position
=
3
)
@Length
(
max
=
500
,
message
=
"备注不能大于500"
)
@Length
(
max
=
500
,
message
=
"备注不能大于500"
)
private
String
remark
;
private
String
remark
;
/** 姓名 */
@ApiModelProperty
(
value
=
"姓名"
,
position
=
3
)
private
String
personName
;
/** 证件号 */
@ApiModelProperty
(
value
=
"证件号"
,
position
=
3
)
private
String
certId
;
/** 二级学科Id */
@ApiModelProperty
(
value
=
"二级学科Id"
,
position
=
6
)
private
String
knowledgeParentId
;
/** 学科Id */
@ApiModelProperty
(
value
=
"学科Id"
,
position
=
7
)
@Length
(
max
=
36
,
message
=
"学科Id不能大于36"
)
private
String
knowledgeId
;
}
}
science-admin/src/main/java/com/yiboshi/science/rest/v1/ComTalentAssignController.java
0 → 100644
View file @
c1d598fb
package
com
.
yiboshi
.
science
.
rest
.
v1
;
import
com.yiboshi.arch.base.ResponseDataModel
;
import
com.yiboshi.science.base.Pagination
;
import
com.yiboshi.science.config.annotation.Logs
;
import
com.yiboshi.science.config.security.SecurityUserHolder
;
import
com.yiboshi.science.entity.ComTalentAssign
;
import
com.yiboshi.science.enumeration.CommonEnum
;
import
com.yiboshi.science.param.dto.ComTalentAssignDTO
;
import
com.yiboshi.science.param.query.ComTalentAssignQueryVO
;
import
com.yiboshi.science.rest.BaseController
;
import
com.yiboshi.science.service.ComTalentAssignService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.BindingResult
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.Map
;
import
static
com
.
yiboshi
.
science
.
utils
.
StringUtil
.
hideAllIdCardNum
;
import
static
com
.
yiboshi
.
science
.
utils
.
StringUtil
.
hideAllPhoneNum
;
@Api
(
tags
=
"com-talent-assign"
,
description
=
"人才分配表"
)
@RestController
@RequestMapping
(
"/v1/science-admin/com-talent-assign"
)
public
class
ComTalentAssignController
extends
BaseController
<
ComTalentAssignService
,
ComTalentAssignQueryVO
,
ComTalentAssignDTO
,
ComTalentAssign
>
{
@Autowired
private
ComTalentAssignService
comTalentAssignService
;
@ApiOperation
(
value
=
"1.02 分页查询"
,
httpMethod
=
"GET"
,
notes
=
"1.02 根据参数获取列表"
)
@GetMapping
@RequestMapping
(
"/getListByPage"
)
public
ResponseDataModel
<
Pagination
<
ComTalentAssignDTO
>>
getListByPage
(
@Validated
ComTalentAssignQueryVO
vo
,
BindingResult
bindingResult
)
{
return
getPaginationResponseDataModel
(
vo
);
}
private
ResponseDataModel
<
Pagination
<
ComTalentAssignDTO
>>
getPaginationResponseDataModel
(
@Validated
ComTalentAssignQueryVO
vo
)
{
Pagination
<
ComTalentAssignDTO
>
page
=
comTalentAssignService
.
getListByPage
(
vo
);
if
(
null
!=
page
&&
null
!=
page
.
getDataList
()
&&
page
.
getDataList
().
size
()
!=
0
)
{
page
.
getDataList
().
forEach
((
e
)
->
{
e
.
setCertId
(
hideAllIdCardNum
(
e
.
getCertId
()));
e
.
setStateName
(
e
.
getAuditState
().
equals
(
2
)
?
"已评审"
:
e
.
getAuditState
().
equals
(
1
)
?
"未提交"
:
"未评审"
);
});
}
return
ResponseDataModel
.
ok
(
page
);
}
@ApiOperation
(
value
=
"1.02 分页查询"
,
httpMethod
=
"GET"
,
notes
=
"1.02 根据参数获取列表"
)
@GetMapping
@RequestMapping
(
"/getAuditListByPage"
)
public
ResponseDataModel
<
Pagination
<
ComTalentAssignDTO
>>
getAuditListByPage
(
@Validated
ComTalentAssignQueryVO
vo
,
BindingResult
bindingResult
)
{
vo
.
setExpertId
(
SecurityUserHolder
.
getExpertId
());
return
getPaginationResponseDataModel
(
vo
);
}
@ApiOperation
(
value
=
"1.02"
,
httpMethod
=
"POST"
,
notes
=
"项目分配"
)
@RequestMapping
(
"/assignTalent"
)
@PostMapping
@Logs
(
value
=
CommonEnum
.
logType
.
talentAssign
)
public
ResponseDataModel
<
String
>
assignTalent
(
@RequestBody
Map
<
String
,
Object
>
map
)
{
return
ResponseDataModel
.
ok
(
comTalentAssignService
.
assignTalent
(
map
));
}
@ApiOperation
(
value
=
"根据Id专家评分信息"
,
httpMethod
=
"GET"
,
notes
=
"根据Id专家评分信息"
)
@GetMapping
@RequestMapping
(
"/getAssignExpertById"
)
public
ResponseDataModel
<
ComTalentAssignDTO
>
getAssignExpertById
(
String
id
)
{
ComTalentAssignDTO
dto
=
comTalentAssignService
.
getAssignExpertById
(
id
);
if
(
null
!=
dto
)
{
dto
.
setCertId
(
hideAllIdCardNum
(
dto
.
getCertId
()));
dto
.
setMobile
(
hideAllPhoneNum
(
dto
.
getMobile
()));
}
return
ResponseDataModel
.
ok
(
dto
);
}
@ApiOperation
(
value
=
"更新专家评分记录"
,
httpMethod
=
"POST"
,
notes
=
"更新专家评分记录"
)
@RequestMapping
(
"/expertEvaluation"
)
@PostMapping
public
ResponseDataModel
<
String
>
expertEvaluation
(
@Validated
@RequestBody
ComTalentAssignDTO
dto
)
{
return
ResponseDataModel
.
ok
(
comTalentAssignService
.
expertEvaluation
(
dto
));
}
@ApiOperation
(
value
=
"删除评分记录"
,
httpMethod
=
"DELETE"
,
notes
=
"删除评分记录"
)
@DeleteMapping
(
value
=
"deleteAssignExpert/{id}"
)
@Logs
(
value
=
CommonEnum
.
logType
.
assignDelete
)
public
ResponseDataModel
<
String
>
deleteAssignExpert
(
@PathVariable
String
id
)
{
return
ResponseDataModel
.
ok
(
comTalentAssignService
.
deleteAssignExpert
(
id
));
}
}
science-admin/src/main/java/com/yiboshi/science/rest/v1/ComTalentGroupAssignController.java
0 → 100644
View file @
c1d598fb
package
com
.
yiboshi
.
science
.
rest
.
v1
;
import
com.yiboshi.arch.base.ResponseDataModel
;
import
com.yiboshi.science.base.Pagination
;
import
com.yiboshi.science.entity.ComTalentGroupAssign
;
import
com.yiboshi.science.param.dto.ComTalentGroupAssignDTO
;
import
com.yiboshi.science.param.query.ComTalentGroupAssignQueryVO
;
import
com.yiboshi.science.rest.BaseController
;
import
com.yiboshi.science.service.ComTalentGroupAssignService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.BindingResult
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
@Api
(
tags
=
"com-talent-group-assign"
,
description
=
"人才分组分配表"
)
@RestController
@RequestMapping
(
"/v1/science-admin/com-talent-group-assign"
)
public
class
ComTalentGroupAssignController
extends
BaseController
<
ComTalentGroupAssignService
,
ComTalentGroupAssignQueryVO
,
ComTalentGroupAssignDTO
,
ComTalentGroupAssign
>
{
@Autowired
private
ComTalentGroupAssignService
comTalentGroupAssignService
;
@ApiOperation
(
value
=
"1.02 分页查询"
,
httpMethod
=
"GET"
,
notes
=
"1.02 根据参数获取列表"
)
@GetMapping
@RequestMapping
(
"/getListByPage"
)
public
ResponseDataModel
<
Pagination
<
ComTalentGroupAssignDTO
>>
getListByPage
(
@Validated
ComTalentGroupAssignQueryVO
vo
,
BindingResult
bindingResult
)
{
Pagination
<
ComTalentGroupAssignDTO
>
page
=
comTalentGroupAssignService
.
getListByPage
(
vo
);
return
ResponseDataModel
.
ok
(
page
);
}
@ApiOperation
(
value
=
"根据人才分组Id获取专家明细"
,
httpMethod
=
"GET"
,
notes
=
"根据人才分组Id获取专家明细"
)
@GetMapping
@RequestMapping
(
"/getAssignExpertList"
)
public
ResponseDataModel
<
List
<
ComTalentGroupAssignDTO
>>
getAssignExpertList
(
String
groupId
)
{
return
ResponseDataModel
.
ok
(
comTalentGroupAssignService
.
getAssignExpertList
(
groupId
));
}
@ApiOperation
(
value
=
"1.02 分页查询"
,
httpMethod
=
"GET"
,
notes
=
"1.02 根据参数获取列表"
)
@GetMapping
@RequestMapping
(
"/getAssignGroupExpertById"
)
public
ResponseDataModel
<
ComTalentGroupAssignDTO
>
getAssignGroupExpertById
(
String
id
)
{
return
ResponseDataModel
.
ok
(
comTalentGroupAssignService
.
getAssignGroupExpertById
(
id
));
}
}
science-admin/src/main/java/com/yiboshi/science/rest/v1/ComTalentGroupController.java
0 → 100644
View file @
c1d598fb
package
com
.
yiboshi
.
science
.
rest
.
v1
;
import
com.yiboshi.arch.base.ResponseDataModel
;
import
com.yiboshi.science.base.Pagination
;
import
com.yiboshi.science.entity.ComTalentGroup
;
import
com.yiboshi.science.param.dto.ComTalentGroupDTO
;
import
com.yiboshi.science.param.dto.ComTalentKnowledgeStatisticDTO
;
import
com.yiboshi.science.param.query.ComTalentGroupQueryVO
;
import
com.yiboshi.science.rest.BaseController
;
import
com.yiboshi.science.service.ComTalentGroupService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.MediaType
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.validation.BindingResult
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Map
;
@Api
(
tags
=
"com-talent-group"
,
description
=
"人才分组表"
)
@RestController
@RequestMapping
(
"/v1/science-admin/com-talent-group"
)
public
class
ComTalentGroupController
extends
BaseController
<
ComTalentGroupService
,
ComTalentGroupQueryVO
,
ComTalentGroupDTO
,
ComTalentGroup
>
{
@Autowired
private
ComTalentGroupService
comTalentGroupService
;
@ApiOperation
(
value
=
"1.02 分页查询"
,
httpMethod
=
"GET"
,
notes
=
"1.02 根据参数获取列表"
)
@GetMapping
@RequestMapping
(
"/getTalentGroupListByPage"
)
public
ResponseDataModel
<
Pagination
<
ComTalentGroupDTO
>>
getTalentGroupListByPage
(
@Validated
ComTalentGroupQueryVO
vo
,
BindingResult
bindingResult
)
{
Pagination
<
ComTalentGroupDTO
>
page
=
comTalentGroupService
.
getTalentGroupListByPage
(
vo
);
return
ResponseDataModel
.
ok
(
page
);
}
@ApiOperation
(
value
=
"根据id获取人才分组"
,
httpMethod
=
"GET"
,
notes
=
"根据id获取人才分组"
)
@GetMapping
@RequestMapping
(
"/getGroupById"
)
public
ResponseDataModel
<
ComTalentGroupDTO
>
getGroupById
(
@Validated
String
id
)
{
return
ResponseDataModel
.
ok
(
comTalentGroupService
.
getGroupById
(
id
));
}
@ApiOperation
(
value
=
"新增人才分组"
,
httpMethod
=
"POST"
,
notes
=
"新增人才分组"
,
consumes
=
MediaType
.
APPLICATION_JSON_VALUE
)
@PostMapping
@RequestMapping
(
"/addGroup"
)
public
ResponseDataModel
<
String
>
addGroup
(
@Validated
@RequestBody
ComTalentGroupDTO
E
)
{
return
ResponseDataModel
.
ok
(
comTalentGroupService
.
save
(
E
));
}
@ApiOperation
(
value
=
"修改人才分组"
,
httpMethod
=
"PUT"
,
notes
=
"2.02 修改数据"
,
consumes
=
MediaType
.
APPLICATION_JSON_VALUE
)
@ApiImplicitParam
(
dataType
=
"string"
,
name
=
"id"
,
value
=
"主键"
,
example
=
"1"
,
type
=
"path"
)
@PutMapping
(
value
=
"/updateGroup"
)
public
ResponseDataModel
<
String
>
updateGroup
(
@Validated
@RequestBody
ComTalentGroupDTO
D
)
{
return
ResponseDataModel
.
ok
(
comTalentGroupService
.
save
(
D
));
}
@ApiOperation
(
value
=
"删除人才分组"
,
httpMethod
=
"DELETE"
,
notes
=
"删除人才分组"
)
@DeleteMapping
@RequestMapping
(
value
=
"deleteByGroupId/{id}"
)
public
ResponseDataModel
<
String
>
deleteByGroupId
(
@Validated
@PathVariable
String
id
)
{
return
ResponseDataModel
.
ok
(
comTalentGroupService
.
deleteByGroupId
(
id
));
}
@ApiOperation
(
value
=
"人才分组明细调整"
,
httpMethod
=
"GET"
,
notes
=
"人才分组明细调整"
)
@GetMapping
@RequestMapping
(
"/updataTalentGroupAdjust"
)
public
ResponseDataModel
<
String
>
updataTalentGroupAdjust
(
@RequestParam
String
Ids
,
@RequestParam
String
groupId
)
{
String
[]
split
=
Ids
.
split
(
","
);
List
<
String
>
IdList
=
Arrays
.
asList
(
split
);
if
(
comTalentGroupService
.
updataTalentGroupAdjust
(
IdList
,
groupId
))
return
ResponseDataModel
.
ok
(
"数据保存成功!"
);
else
return
ResponseDataModel
.
ok
(
"人才分组已经分配有专家,不能进行人才分组调整!"
);
}
@ApiOperation
(
value
=
"人才分组专家分配"
,
httpMethod
=
"GET"
,
notes
=
"人才分组专家分配"
)
@GetMapping
@RequestMapping
(
"/assignTalentGroup"
)
public
ResponseDataModel
<
String
>
assignTalentGroup
(
@RequestParam
int
systemType
,
@RequestParam
String
groupIds
,
@RequestParam
String
expertIds
)
{
String
[]
split
=
groupIds
.
split
(
","
);
List
<
String
>
GroupList
=
Arrays
.
asList
(
split
);
split
=
expertIds
.
split
(
","
);
List
<
String
>
ExpertList
=
Arrays
.
asList
(
split
);
return
ResponseDataModel
.
ok
(
comTalentGroupService
.
assignTalentGroup
(
systemType
,
GroupList
,
ExpertList
));
}
@ApiOperation
(
value
=
"删除分配人才分组专家及专家关系"
,
httpMethod
=
"DELETE"
,
notes
=
"删除分配人才分组专家及专家关系"
)
@DeleteMapping
(
value
=
"deleteAssignGroupExpert/{id}"
)
public
ResponseDataModel
<
String
>
deleteAssignGroupExpert
(
@PathVariable
String
id
)
{
return
ResponseDataModel
.
ok
(
comTalentGroupService
.
deleteAssignGroupExpert
(
id
));
}
@ApiOperation
(
value
=
"人次插入分组"
,
httpMethod
=
"GET"
,
notes
=
"人才插入分组"
)
@GetMapping
@RequestMapping
(
"/InsertTalentGroup"
)
public
ResponseDataModel
<
String
>
InsertTalentGroup
(
@RequestParam
String
Ids
,
@RequestParam
String
groupId
)
{
String
[]
split
=
Ids
.
split
(
","
);
List
<
String
>
IdList
=
Arrays
.
asList
(
split
);
if
(
comTalentGroupService
.
InsertTalentGroup
(
IdList
,
groupId
))
return
ResponseDataModel
.
ok
(
"人才分组成功!"
);
else
return
ResponseDataModel
.
ok
(
"人才分组失败,请检查人才分组是否存在!"
);
}
@ApiOperation
(
value
=
"人才分组移除人才"
,
httpMethod
=
"GET"
,
notes
=
"人才分组删除人才"
)
@GetMapping
@RequestMapping
(
"/deleteGroupTalentExpert"
)
public
ResponseDataModel
<
String
>
deleteGroupTalentExpert
(
@RequestParam
String
groupId
,
@RequestParam
String
talentId
)
{
if
(
comTalentGroupService
.
deleteGroupTalentExpert
(
groupId
,
talentId
))
return
ResponseDataModel
.
ok
(
"人才分组移除人才成功!"
);
else
return
ResponseDataModel
.
ok
(
"人才分组移除人才失败,请检查人才是否分配了评审专家!"
);
}
@ApiOperation
(
value
=
"人才二级学科统计"
,
httpMethod
=
"GET"
,
notes
=
"人才二级学科统计"
)
@GetMapping
@RequestMapping
(
"/getTalentKnowledgeStatisticByGroupId"
)
public
ResponseDataModel
<
List
<
ComTalentKnowledgeStatisticDTO
>>
getTalentKnowledgeStatisticByGroupId
(
@RequestParam
String
groupId
)
{
List
<
ComTalentKnowledgeStatisticDTO
>
list
=
comTalentGroupService
.
getTalentKnowledgeStatisticByGroupId
(
groupId
);
return
ResponseDataModel
.
ok
(
list
);
}
@ApiOperation
(
value
=
"人才信息"
,
httpMethod
=
"GET"
,
notes
=
"人才信息"
)
@GetMapping
@RequestMapping
(
"/getGroupTalentInfo"
)
public
ResponseDataModel
<
Map
<
String
,
Object
>>
getGroupTalentInfo
(
@RequestParam
String
groupIds
)
{
String
[]
split
=
groupIds
.
split
(
","
);
List
<
String
>
groupList
=
Arrays
.
asList
(
split
);
return
ResponseDataModel
.
ok
(
comTalentGroupService
.
getGroupTalentInfo
(
groupList
));
}
}
science-admin/src/main/java/com/yiboshi/science/rest/v1/ComTalentGroupDetailController.java
0 → 100644
View file @
c1d598fb
package
com
.
yiboshi
.
science
.
rest
.
v1
;
import
com.yiboshi.arch.base.ResponseDataModel
;
import
com.yiboshi.science.base.Pagination
;
import
com.yiboshi.science.entity.ComTalentGroupDetail
;
import
com.yiboshi.science.param.dto.ComProjectGroupDetailDTO
;
import
com.yiboshi.science.param.dto.ComTalentGroupDetailDTO
;
import
com.yiboshi.science.param.query.ComProjectGroupDetailQueryVO
;
import
com.yiboshi.science.param.query.ComTalentGroupDetailQueryVO
;
import
com.yiboshi.science.rest.BaseController
;
import
com.yiboshi.science.service.ComTalentGroupDetailService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.BindingResult
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.Arrays
;
import
java.util.List
;
@Api
(
tags
=
"com-talent-group-detail"
,
description
=
"人才分组明细表"
)
@RestController
@RequestMapping
(
"/v1/science-admin/com-talent-group-detail"
)
public
class
ComTalentGroupDetailController
extends
BaseController
<
ComTalentGroupDetailService
,
ComTalentGroupDetailQueryVO
,
ComTalentGroupDetailDTO
,
ComTalentGroupDetail
>
{
@Autowired
private
ComTalentGroupDetailService
comTalentGroupDetailService
;
@ApiOperation
(
value
=
"1.02 分页查询"
,
httpMethod
=
"GET"
,
notes
=
"1.02 根据参数获取列表"
)
@GetMapping
@RequestMapping
(
"/getTalentDetailListbyPage"
)
public
ResponseDataModel
<
Pagination
<
ComTalentGroupDetailDTO
>>
getTalentDetailListbyPage
(
@Validated
ComTalentGroupDetailQueryVO
vo
,
BindingResult
bindingResult
)
{
Pagination
<
ComTalentGroupDetailDTO
>
page
=
comTalentGroupDetailService
.
getTalentDetailListbyPage
(
vo
);
return
ResponseDataModel
.
ok
(
page
);
}
@ApiOperation
(
value
=
"根据类型参数列表"
,
httpMethod
=
"GET"
,
notes
=
"根据类型参数列表"
)
@GetMapping
@RequestMapping
(
"/getTalentListByGroupIds"
)
public
ResponseDataModel
<
List
<
ComTalentGroupDetailDTO
>>
getTalentListByGroupIds
(
@RequestParam
String
groupIds
)
{
String
[]
split
=
groupIds
.
split
(
","
);
List
<
String
>
GroupList
=
Arrays
.
asList
(
split
);
List
<
ComTalentGroupDetailDTO
>
list
=
comTalentGroupDetailService
.
getTalentListByGroupIds
(
GroupList
);
list
.
forEach
(
e
->
{
e
.
setKey
(
e
.
getId
());
// e.setTitle(e.getProjNo());
// e.setDescription(e.getProjName());
});
return
ResponseDataModel
.
ok
(
list
);
}
}
science-admin/src/main/java/com/yiboshi/science/service/ComTalentAssignService.java
View file @
c1d598fb
package
com
.
yiboshi
.
science
.
service
;
package
com
.
yiboshi
.
science
.
service
;
import
com.yiboshi.science.base.BaseService
;
import
com.yiboshi.science.base.BaseService
;
import
com.yiboshi.science.entity.AssignCount
;
import
com.yiboshi.science.entity.ComTalentAssign
;
import
com.yiboshi.science.entity.ComTalentAssign
;
import
com.yiboshi.science.param.dto.ComTalentAssignDTO
;
import
com.yiboshi.science.param.dto.ComTalentAssignDTO
;
import
com.yiboshi.science.param.dto.ComTalentGroupDTO
;
import
com.yiboshi.science.param.query.ComTalentAssignQueryVO
;
import
com.yiboshi.science.param.query.ComTalentAssignQueryVO
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* 人才专家分配明细表
* 人才专家分配明细表
*/
*/
public
interface
ComTalentAssignService
extends
BaseService
<
ComTalentAssignQueryVO
,
ComTalentAssignDTO
,
ComTalentAssign
>
{
public
interface
ComTalentAssignService
extends
BaseService
<
ComTalentAssignQueryVO
,
ComTalentAssignDTO
,
ComTalentAssign
>
{
/**
* 分配项目
*
* @return
*/
String
assignTalent
(
Map
<
String
,
Object
>
map
);
/**
* 根据Id获取分配专家信息
*
* @return
*/
ComTalentAssignDTO
getAssignExpertById
(
String
id
);
/**
* 获取分配专家列表
*
* @return
*/
List
<
ComTalentAssignDTO
>
getAssignExpertList
(
String
talentId
);
/**
* 删除分配专家
*
* @return
*/
String
deleteAssignExpert
(
String
id
);
/**
* 专家评分
*
* @return
*/
String
expertEvaluation
(
ComTalentAssignDTO
dto
);
/**
* 获取分配专家人数
*
* @return
*/
List
<
AssignCount
>
getAssignCount
(
String
expertId
);
/**
* 分配专家
*
* @return
*/
String
assignTalent
(
Integer
year
,
List
<
String
>
talents
,
List
<
String
>
experts
);
/**
* 更新分配状态
*
* @return
*/
void
updateAssignState
(
String
talentId
);
/**
* 更新分配状态
*
* @return
*/
List
<
ComTalentGroupDTO
>
getTalentGroupAssignById
(
String
id
,
String
expertId
);
}
}
science-admin/src/main/java/com/yiboshi/science/service/ComTalentGroupAssignService.java
View file @
c1d598fb
...
@@ -5,8 +5,14 @@ import com.yiboshi.science.entity.ComTalentGroupAssign;
...
@@ -5,8 +5,14 @@ import com.yiboshi.science.entity.ComTalentGroupAssign;
import
com.yiboshi.science.param.dto.ComTalentGroupAssignDTO
;
import
com.yiboshi.science.param.dto.ComTalentGroupAssignDTO
;
import
com.yiboshi.science.param.query.ComTalentGroupAssignQueryVO
;
import
com.yiboshi.science.param.query.ComTalentGroupAssignQueryVO
;
import
java.util.List
;
/**
/**
* 人才分组分配表
* 人才分组分配表
*/
*/
public
interface
ComTalentGroupAssignService
extends
BaseService
<
ComTalentGroupAssignQueryVO
,
ComTalentGroupAssignDTO
,
ComTalentGroupAssign
>
{
public
interface
ComTalentGroupAssignService
extends
BaseService
<
ComTalentGroupAssignQueryVO
,
ComTalentGroupAssignDTO
,
ComTalentGroupAssign
>
{
List
<
ComTalentGroupAssignDTO
>
getAssignExpertList
(
String
groupId
);
ComTalentGroupAssignDTO
getAssignGroupExpertById
(
String
Id
);
}
}
science-admin/src/main/java/com/yiboshi/science/service/ComTalentGroupDetailService.java
View file @
c1d598fb
package
com
.
yiboshi
.
science
.
service
;
package
com
.
yiboshi
.
science
.
service
;
import
com.yiboshi.science.base.BaseService
;
import
com.yiboshi.science.base.BaseService
;
import
com.yiboshi.science.base.Pagination
;
import
com.yiboshi.science.entity.ComTalentGroupDetail
;
import
com.yiboshi.science.entity.ComTalentGroupDetail
;
import
com.yiboshi.science.param.dto.ComTalentGroupDetailDTO
;
import
com.yiboshi.science.param.dto.ComTalentGroupDetailDTO
;
import
com.yiboshi.science.param.query.ComTalentGroupDetailQueryVO
;
import
com.yiboshi.science.param.query.ComTalentGroupDetailQueryVO
;
import
java.util.List
;
/**
/**
* 人才分组明细表
* 人才分组明细表
*/
*/
public
interface
ComTalentGroupDetailService
extends
BaseService
<
ComTalentGroupDetailQueryVO
,
ComTalentGroupDetailDTO
,
ComTalentGroupDetail
>
{
public
interface
ComTalentGroupDetailService
extends
BaseService
<
ComTalentGroupDetailQueryVO
,
ComTalentGroupDetailDTO
,
ComTalentGroupDetail
>
{
ComTalentGroupDetailDTO
getTalentGroupDetailByGP
(
String
groupId
,
String
talentId
);
List
<
ComTalentGroupDetailDTO
>
getTalentDetailList
(
String
groupId
);
List
<
ComTalentGroupDetailDTO
>
getTalentDetailList2
(
String
groupId
);
Pagination
<
ComTalentGroupDetailDTO
>
getTalentDetailListbyPage
(
ComTalentGroupDetailQueryVO
vo
);
List
<
ComTalentGroupDetailDTO
>
getTalentListByGroupIds
(
List
<
String
>
groupIds
);
List
<
ComTalentGroupDetailDTO
>
getMembersListByGroupIds
(
List
<
String
>
groupIds
);
}
}
science-admin/src/main/java/com/yiboshi/science/service/ComTalentGroupService.java
View file @
c1d598fb
package
com
.
yiboshi
.
science
.
service
;
package
com
.
yiboshi
.
science
.
service
;
import
com.yiboshi.science.base.BaseService
;
import
com.yiboshi.science.base.BaseService
;
import
com.yiboshi.science.base.Pagination
;
import
com.yiboshi.science.entity.ComTalentGroup
;
import
com.yiboshi.science.entity.ComTalentGroup
;
import
com.yiboshi.science.param.dto.ComProjectGroupDTO
;
import
com.yiboshi.science.param.dto.ComProjectKnowledgeStatisticDTO
;
import
com.yiboshi.science.param.dto.ComTalentGroupDTO
;
import
com.yiboshi.science.param.dto.ComTalentGroupDTO
;
import
com.yiboshi.science.param.dto.ComTalentKnowledgeStatisticDTO
;
import
com.yiboshi.science.param.query.ComProjectAuditQueryVO
;
import
com.yiboshi.science.param.query.ComProjectGroupQueryVO
;
import
com.yiboshi.science.param.query.ComTalentGroupQueryVO
;
import
com.yiboshi.science.param.query.ComTalentGroupQueryVO
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* 人才分组表
* 人才分组表
*/
*/
public
interface
ComTalentGroupService
extends
BaseService
<
ComTalentGroupQueryVO
,
ComTalentGroupDTO
,
ComTalentGroup
>
{
public
interface
ComTalentGroupService
extends
BaseService
<
ComTalentGroupQueryVO
,
ComTalentGroupDTO
,
ComTalentGroup
>
{
Pagination
<
ComTalentGroupDTO
>
getTalentGroupListByPage
(
ComTalentGroupQueryVO
vo
);
ComTalentGroupDTO
getGroupById
(
String
id
);
String
save
(
ComTalentGroupDTO
group
);
String
deleteByGroupId
(
String
id
);
void
CalculateGroupTalentCount
(
String
groupId
);
void
CalculateGroupExpertCount
(
String
groupId
);
String
assignTalentGroup
(
int
systemType
,
List
<
String
>
GroupList
,
List
<
String
>
ExpertList
);
String
deleteAssignGroupExpert
(
String
id
);
boolean
InsertTalentGroup
(
List
<
String
>
IdList
,
String
groupId
);
boolean
updataTalentGroupAdjust
(
List
<
String
>
IdList
,
String
groupId
);
void
processGroupTalentExpert
(
String
groupId
);
boolean
deleteGroupTalentExpert
(
String
groupId
,
String
projId
);
List
<
ComTalentKnowledgeStatisticDTO
>
getTalentKnowledgeStatisticByGroupId
(
String
groupId
);
Map
<
String
,
Object
>
getGroupTalentInfo
(
List
<
String
>
groupIds
);
}
}
science-admin/src/main/java/com/yiboshi/science/service/impl/ComTalentAssignServiceImpl.java
View file @
c1d598fb
package
com
.
yiboshi
.
science
.
service
.
impl
;
package
com
.
yiboshi
.
science
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yiboshi.arch.exception.BusinessException
;
import
com.yiboshi.science.base.BaseServiceImpl
;
import
com.yiboshi.science.base.BaseServiceImpl
;
import
com.yiboshi.science.base.Pagination
;
import
com.yiboshi.science.dao.ComTalentAssignDAO
;
import
com.yiboshi.science.dao.ComTalentAssignDAO
;
import
com.yiboshi.science.entity.ComTalentAssign
;
import
com.yiboshi.science.entity.*
;
import
com.yiboshi.science.enumeration.CommonEnum
;
import
com.yiboshi.science.param.dto.ComTalentAssignDTO
;
import
com.yiboshi.science.param.dto.ComTalentAssignDTO
;
import
com.yiboshi.science.param.dto.ComTalentGroupDTO
;
import
com.yiboshi.science.param.query.ComTalentAssignQueryVO
;
import
com.yiboshi.science.param.query.ComTalentAssignQueryVO
;
import
com.yiboshi.science.service.ComBatchService
;
import
com.yiboshi.science.service.ComExpertSpecService
;
import
com.yiboshi.science.service.ComTalentApplyService
;
import
com.yiboshi.science.service.ComTalentAssignService
;
import
com.yiboshi.science.service.ComTalentAssignService
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.text.DecimalFormat
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.concurrent.atomic.AtomicInteger
;
/**
/**
* 人才专家分配明细表 Service 实现类
* 人才专家分配明细表 Service 实现类
...
@@ -24,9 +42,226 @@ public class ComTalentAssignServiceImpl extends BaseServiceImpl<ComTalentAssignD
...
@@ -24,9 +42,226 @@ public class ComTalentAssignServiceImpl extends BaseServiceImpl<ComTalentAssignD
@Autowired
@Autowired
private
ComTalentAssignDAO
comTalentAssignDAO
;
private
ComTalentAssignDAO
comTalentAssignDAO
;
@Autowired
private
ComBatchService
comBatchService
;
@Autowired
private
ComExpertSpecService
comExpertSpecService
;
@Autowired
private
ComTalentApplyService
comTalentApplyService
;
@Override
@Override
protected
void
setCriteriaForQuery
(
ComTalentAssignQueryVO
vo
,
QueryWrapper
<
ComTalentAssignQueryVO
>
criteria
)
{
protected
void
setCriteriaForQuery
(
ComTalentAssignQueryVO
vo
,
QueryWrapper
<
ComTalentAssignQueryVO
>
criteria
)
{
if
(
Objects
.
nonNull
(
vo
.
getExpertId
()))
{
criteria
.
eq
(
"a.expert_id"
,
vo
.
getExpertId
());
}
if
(
Objects
.
nonNull
(
vo
.
getTalentId
()))
{
criteria
.
eq
(
"a.talent_id"
,
vo
.
getTalentId
());
}
if
(
Objects
.
nonNull
(
vo
.
getGroupId
()))
{
criteria
.
eq
(
"k.id"
,
vo
.
getGroupId
());
}
if
(
Objects
.
nonNull
(
vo
.
getAssignYear
()))
{
criteria
.
eq
(
"assign_year"
,
vo
.
getAssignYear
());
}
// if (Objects.nonNull(vo.getTotalScore())) {
// criteria.eq("total_score", vo.getTotalScore());
// }
if
(
Objects
.
nonNull
(
vo
.
getAuditState
()))
{
criteria
.
eq
(
"a.audit_state"
,
vo
.
getAuditState
());
}
if
(
Objects
.
nonNull
(
vo
.
getCertId
()))
{
criteria
.
like
(
"c.cert_id"
,
vo
.
getCertId
());
}
if
(
Objects
.
nonNull
(
vo
.
getPersonName
()))
{
criteria
.
like
(
"c.person_name"
,
vo
.
getPersonName
());
}
if
(
Objects
.
nonNull
(
vo
.
getSex
()))
{
criteria
.
eq
(
"c.sex"
,
vo
.
getSex
());
}
// if (Objects.nonNull(vo.getProjName())) {
// criteria.like("f.proj_name", vo.getProjName());
// }
// if (Objects.nonNull(vo.getSystemType())) {
// criteria.eq("f.system_type", vo.getSystemType());
// }
// if (Objects.nonNull(vo.getProjNo())) {
// criteria.like("f.proj_no", vo.getProjNo());
// }
if
(
Objects
.
nonNull
(
vo
.
getAppUnitName
()))
{
criteria
.
like
(
"i.unit_name"
,
vo
.
getAppUnitName
());
}
// if (Objects.nonNull(vo.getIsShow())) {
// criteria.eq("a.is_show", vo.getIsShow());
// }
}
@Override
public
Pagination
<
ComTalentAssignDTO
>
getListByPage
(
ComTalentAssignQueryVO
vo
)
{
QueryWrapper
criteria
=
new
QueryWrapper
();
setCriteriaForQuery
(
vo
,
criteria
);
Page
<
ComTalentAssignQueryVO
>
page
=
new
Page
<>(
vo
.
getPageIndex
(),
vo
.
getPageSize
());
List
<
ComTalentAssignDTO
>
dtoList
=
comTalentAssignDAO
.
getListByPage
(
page
,
criteria
).
getRecords
();
dtoList
.
forEach
(
e
->
{
e
.
setSpecList
(
comExpertSpecService
.
getListByExpertId
(
e
.
getExpertId
()));
});
return
new
Pagination
<>(
dtoList
,
page
.
getTotal
(),
vo
.
getPageSize
());
}
@Transactional
public
String
assignTalent
(
Map
<
String
,
Object
>
map
)
{
List
<
String
>
talents
=
null
;
List
<
String
>
experts
=
null
;
if
(!
map
.
containsKey
(
"type"
))
throw
new
BusinessException
(
"参数错误"
);
if
(!
map
.
containsKey
(
"talents"
))
throw
new
BusinessException
(
"参数错误"
);
if
(!
map
.
containsKey
(
"systemType"
))
throw
new
BusinessException
(
"参数错误"
);
Integer
systemType
=
CommonEnum
.
systemType
.
num
.
getCode
();
if
(
map
.
containsKey
(
"systemType"
))
{
systemType
=
(
int
)
map
.
get
(
"systemType"
);
}
experts
=
(
List
<
String
>)
map
.
get
(
"experts"
);
talents
=
(
List
<
String
>)
map
.
get
(
"talents"
);
Integer
reportYear
=
comBatchService
.
getReportYear
(
systemType
,
null
);
if
(
null
==
talents
||
talents
.
size
()
==
0
||
null
==
experts
||
experts
.
size
()
==
0
)
throw
new
BusinessException
(
"参数错误"
);
return
this
.
assignTalent
(
reportYear
,
talents
,
experts
);
}
public
String
assignTalent
(
Integer
year
,
List
<
String
>
talents
,
List
<
String
>
experts
)
{
AtomicInteger
allCount
=
new
AtomicInteger
(
0
);
talents
.
forEach
(
e
->
{
AtomicInteger
assignCount
=
new
AtomicInteger
(
0
);
experts
.
forEach
(
f
->
{
if
(!
isDistribute
(
e
,
f
))
{
ComTalentAssign
assign
=
new
ComTalentAssign
();
assign
.
setTalentId
(
e
);
assign
.
setExpertId
(
f
);
//assign.setExpertType(comExpertSpecService.getExpertTypeByExpertId(f));
assign
.
setAssignYear
(
year
);
this
.
insert
(
assign
);
assignCount
.
incrementAndGet
();
allCount
.
incrementAndGet
();
}
});
if
(
assignCount
.
get
()
>
0
)
updateAssignState
(
e
);
});
if
(
allCount
.
get
()
==
0
)
throw
new
BusinessException
(
"人才分配失败或专家已分配,请检查!"
);
return
allCount
.
getAndIncrement
()
+
""
;
}
public
String
deleteAssignExpert
(
String
id
)
{
ComTalentAssign
comTalentAssign
=
this
.
getById
(
id
);
if
(
null
==
comTalentAssign
)
throw
new
BusinessException
(
"分配记录已删除!"
);
if
(
Objects
.
nonNull
(
comTalentAssign
.
getAuditState
())
||
!
comTalentAssign
.
getAuditState
().
equals
(
0
))
throw
new
BusinessException
(
"专家已评审,不允许删除!"
);
this
.
deleteById
(
id
);
this
.
updateAssignState
(
comTalentAssign
.
getTalentId
());
return
id
;
}
public
boolean
isAssignByExpertId
(
String
expertId
)
{
ComTalentAssign
model
=
new
ComTalentAssign
();
model
.
setExpertId
(
expertId
);
List
<
ComTalentAssign
>
list
=
this
.
entityList
(
model
);
if
(
null
!=
list
&&
list
.
size
()
>
0
)
{
return
true
;
}
else
return
false
;
}
@Transactional
public
String
expertEvaluation
(
ComTalentAssignDTO
dto
)
{
ComTalentAssign
comTalentAssign
=
this
.
getById
(
dto
.
getId
());
if
(
null
==
comTalentAssign
)
throw
new
BusinessException
(
"分配记录不存在或已删除!"
);
ComTalentAssign
entity
=
convert2Entity
(
dto
);
this
.
update
(
entity
);
if
(
Objects
.
nonNull
(
dto
.
getAuditState
())
&&
dto
.
getAuditState
().
equals
(
2
))
{
this
.
updateAssignState
(
entity
.
getTalentId
());
}
return
entity
.
getId
();
}
public
ComTalentAssignDTO
getAssignExpertById
(
String
id
)
{
ComTalentAssignDTO
dto
=
comTalentAssignDAO
.
getAssignExpertById
(
id
);
if
(
null
!=
dto
)
{
dto
.
setSpecList
(
comExpertSpecService
.
getListByExpertId
(
dto
.
getExpertId
()));
}
return
dto
;
}
public
List
<
AssignCount
>
getAssignCount
(
String
expertId
)
{
return
comTalentAssignDAO
.
getAssignCount
(
expertId
);
}
public
List
<
ComTalentAssignDTO
>
getAssignExpertList
(
String
talentId
)
{
return
comTalentAssignDAO
.
getAssignExpertList
(
talentId
);
}
private
boolean
isDistribute
(
String
talentId
,
String
expertId
)
{
ComTalentAssign
comTalentAssign
=
new
ComTalentAssign
();
comTalentAssign
.
setTalentId
(
talentId
);
comTalentAssign
.
setExpertId
(
expertId
);
comTalentAssign
=
this
.
getEntity
(
comTalentAssign
);
if
(
comTalentAssign
!=
null
)
return
true
;
else
return
false
;
}
public
void
updateAssignState
(
String
talentId
)
{
Integer
assignState
;
Integer
completed
;
BigDecimal
totalScore
=
new
BigDecimal
(
0
);
BigDecimal
averageScore
=
new
BigDecimal
(
0
);
List
<
ComTalentAssignDTO
>
list
=
this
.
getAssignExpertList
(
talentId
);
if
(
null
==
list
||
list
.
size
()
==
0
)
{
completed
=
0
;
assignState
=
0
;
}
else
{
int
personCount
=
0
;
for
(
ComTalentAssignDTO
obj
:
list
)
{
if
(
Objects
.
nonNull
(
obj
.
getAuditState
())
&&
obj
.
getAuditState
().
equals
(
2
))
{
personCount
++;
totalScore
.
add
(
obj
.
getTotalScore
());
}
}
DecimalFormat
df1
=
new
DecimalFormat
(
"0.00"
);
BigDecimal
personCountBD
=
BigDecimal
.
valueOf
(
personCount
);
averageScore
=
totalScore
.
divide
(
personCountBD
,
2
,
RoundingMode
.
HALF_UP
);
if
(
list
.
size
()
>
personCount
)
completed
=
0
;
else
completed
=
1
;
assignState
=
1
;
}
this
.
updateAssignState
(
talentId
,
assignState
,
completed
,
totalScore
,
averageScore
);
}
public
void
updateAssignState
(
String
talentId
,
Integer
assignState
,
Integer
completed
,
BigDecimal
totalScore
,
BigDecimal
averageScore
)
{
ComTalentApply
comTalentApply
=
new
ComTalentApply
();
comTalentApply
.
setId
(
talentId
);
comTalentApply
.
setAssignState
(
assignState
);
comTalentApply
.
setCompleted
(
completed
);
comTalentApply
.
setTotalScore
(
totalScore
);
comTalentApply
.
setAverageScore
(
averageScore
);
// comTalentApply.setTechnologyScore(technologyScore);
// comTalentApply.setTechnologyAverageScore(technologyAverageScore);
// comTalentApply.setEconomyScore(economyScore);
// comTalentApply.setEconomyAverageScore(economyAverageScore);
// comTalentApply.setCalculateScore(calculateScore);
comTalentApply
.
setUpdated
(
new
Date
());
comTalentApplyService
.
update
(
comTalentApply
);
}
public
List
<
ComTalentGroupDTO
>
getTalentGroupAssignById
(
String
id
,
String
expertId
)
{
return
comTalentAssignDAO
.
getTalentGroupAssignById
(
id
,
expertId
);
}
}
}
}
science-admin/src/main/java/com/yiboshi/science/service/impl/ComTalentGroupAssignServiceImpl.java
View file @
c1d598fb
...
@@ -4,13 +4,16 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
...
@@ -4,13 +4,16 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import
com.yiboshi.science.base.BaseServiceImpl
;
import
com.yiboshi.science.base.BaseServiceImpl
;
import
com.yiboshi.science.dao.ComTalentGroupAssignDAO
;
import
com.yiboshi.science.dao.ComTalentGroupAssignDAO
;
import
com.yiboshi.science.entity.ComTalentGroupAssign
;
import
com.yiboshi.science.entity.ComTalentGroupAssign
;
import
com.yiboshi.science.param.dto.
ComTalentGroupAssignDTO
;
import
com.yiboshi.science.param.dto.
*
;
import
com.yiboshi.science.param.query.ComTalentGroupAssignQueryVO
;
import
com.yiboshi.science.param.query.ComTalentGroupAssignQueryVO
;
import
com.yiboshi.science.service.ComExpertSpecService
;
import
com.yiboshi.science.service.ComTalentGroupAssignService
;
import
com.yiboshi.science.service.ComTalentGroupAssignService
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
/**
* 人才分组分配表 Service 实现类
* 人才分组分配表 Service 实现类
*
*
...
@@ -25,8 +28,33 @@ public class ComTalentGroupAssignServiceImpl extends BaseServiceImpl<ComTalentGr
...
@@ -25,8 +28,33 @@ public class ComTalentGroupAssignServiceImpl extends BaseServiceImpl<ComTalentGr
@Autowired
@Autowired
private
ComTalentGroupAssignDAO
comTalentGroupAssignDAO
;
private
ComTalentGroupAssignDAO
comTalentGroupAssignDAO
;
@Autowired
private
ComExpertSpecService
comExpertSpecService
;
@Override
@Override
protected
void
setCriteriaForQuery
(
ComTalentGroupAssignQueryVO
vo
,
QueryWrapper
<
ComTalentGroupAssignQueryVO
>
criteria
)
{
protected
void
setCriteriaForQuery
(
ComTalentGroupAssignQueryVO
vo
,
QueryWrapper
<
ComTalentGroupAssignQueryVO
>
criteria
)
{
}
}
public
List
<
ComTalentGroupAssignDTO
>
getAssignExpertList
(
String
groupId
)
{
List
<
ComTalentGroupAssignDTO
>
groupAssignList
=
comTalentGroupAssignDAO
.
getAssignExpertList
(
groupId
);
groupAssignList
.
forEach
(
e
->
{
//e.setExpertType(comExpertSpecService.getExpertTypeByExpertId(e.getExpertId()));
e
.
setSpecList
(
comExpertSpecService
.
getListByExpertId
(
e
.
getExpertId
()));
});
return
groupAssignList
;
}
public
ComTalentGroupAssignDTO
getAssignGroupExpertById
(
String
Id
)
{
ComTalentGroupAssignDTO
dto
=
comTalentGroupAssignDAO
.
getAssignGroupExpertById
(
Id
);
List
<
ComExpertSpecDTO
>
list
=
comExpertSpecService
.
getListByExpertId
(
dto
.
getExpertId
());
if
(
null
!=
list
&&
list
.
size
()
>
0
)
dto
.
setSpecList
(
list
);
List
<
ComTalentAssignDTO
>
assignList
=
comTalentGroupAssignDAO
.
getTalentAssignByGroupIdExpertId
(
dto
.
getGroupId
(),
dto
.
getExpertId
());
if
(
null
!=
assignList
&&
assignList
.
size
()
>
0
)
dto
.
setTalentAssignList
(
assignList
);
return
dto
;
}
}
}
science-admin/src/main/java/com/yiboshi/science/service/impl/ComTalentGroupDetailServiceImpl.java
View file @
c1d598fb
package
com
.
yiboshi
.
science
.
service
.
impl
;
package
com
.
yiboshi
.
science
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yiboshi.science.base.BaseServiceImpl
;
import
com.yiboshi.science.base.BaseServiceImpl
;
import
com.yiboshi.science.base.Pagination
;
import
com.yiboshi.science.dao.ComTalentGroupDetailDAO
;
import
com.yiboshi.science.dao.ComTalentGroupDetailDAO
;
import
com.yiboshi.science.entity.ComTalentGroupDetail
;
import
com.yiboshi.science.entity.ComTalentGroupDetail
;
import
com.yiboshi.science.param.dto.ComProjectGroupDetailDTO
;
import
com.yiboshi.science.param.dto.ComTalentGroupDetailDTO
;
import
com.yiboshi.science.param.dto.ComTalentGroupDetailDTO
;
import
com.yiboshi.science.param.query.ComProjectGroupDetailQueryVO
;
import
com.yiboshi.science.param.query.ComTalentApplyQueryVO
;
import
com.yiboshi.science.param.query.ComTalentApplyQueryVO
;
import
com.yiboshi.science.param.query.ComTalentGroupDetailQueryVO
;
import
com.yiboshi.science.param.query.ComTalentGroupDetailQueryVO
;
import
com.yiboshi.science.service.ComTalentGroupDetailService
;
import
com.yiboshi.science.service.ComTalentGroupDetailService
;
...
@@ -12,6 +16,10 @@ import lombok.AllArgsConstructor;
...
@@ -12,6 +16,10 @@ import lombok.AllArgsConstructor;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
/**
/**
* 人才分组明细表 Service 实现类
* 人才分组明细表 Service 实现类
*
*
...
@@ -28,6 +36,54 @@ public class ComTalentGroupDetailServiceImpl extends BaseServiceImpl<ComTalentGr
...
@@ -28,6 +36,54 @@ public class ComTalentGroupDetailServiceImpl extends BaseServiceImpl<ComTalentGr
@Override
@Override
protected
void
setCriteriaForQuery
(
ComTalentGroupDetailQueryVO
vo
,
QueryWrapper
<
ComTalentGroupDetailQueryVO
>
criteria
)
{
protected
void
setCriteriaForQuery
(
ComTalentGroupDetailQueryVO
vo
,
QueryWrapper
<
ComTalentGroupDetailQueryVO
>
criteria
)
{
if
(
Objects
.
nonNull
(
vo
.
getGroupId
()))
{
criteria
.
eq
(
"a.group_id"
,
vo
.
getGroupId
());
}
if
(
Objects
.
nonNull
(
vo
.
getPersonName
()))
{
criteria
.
like
(
"b.person_name"
,
vo
.
getPersonName
());
}
if
(
Objects
.
nonNull
(
vo
.
getCertId
()))
{
criteria
.
like
(
"b.cert_id"
,
vo
.
getCertId
());
}
if
(
Objects
.
nonNull
(
vo
.
getKnowledgeId
()))
{
criteria
.
eq
(
"d.knowledge_id"
,
vo
.
getKnowledgeId
());
}
if
(
Objects
.
nonNull
(
vo
.
getKnowledgeParentId
()))
{
criteria
.
eq
(
"e.id"
,
vo
.
getKnowledgeParentId
());
}
}
public
ComTalentGroupDetailDTO
getTalentGroupDetailByGP
(
String
groupId
,
String
talentId
)
{
return
comTalentGroupDetailDAO
.
getTalentGroupDetailByGP
(
groupId
,
talentId
);
}
public
List
<
ComTalentGroupDetailDTO
>
getTalentDetailList
(
String
groupId
)
{
return
comTalentGroupDetailDAO
.
getTalentDetailList
(
groupId
);
}
public
List
<
ComTalentGroupDetailDTO
>
getTalentDetailList2
(
String
groupId
)
{
return
comTalentGroupDetailDAO
.
getTalentDetailList2
(
groupId
);
}
public
Pagination
<
ComTalentGroupDetailDTO
>
getTalentDetailListbyPage
(
ComTalentGroupDetailQueryVO
vo
)
{
QueryWrapper
criteria
=
new
QueryWrapper
();
setCriteriaForQuery
(
vo
,
criteria
);
Page
<
ComTalentGroupDetailQueryVO
>
page
=
new
Page
<>(
vo
.
getPageIndex
(),
vo
.
getPageSize
());
List
<
ComTalentGroupDetailDTO
>
dtoList
=
comTalentGroupDetailDAO
.
getTalentDetailListbyPage
(
page
,
criteria
).
getRecords
();
return
new
Pagination
<>(
dtoList
,
page
.
getTotal
(),
vo
.
getPageSize
());
}
public
List
<
ComTalentGroupDetailDTO
>
getTalentListByGroupIds
(
List
<
String
>
groupIds
)
{
if
(
groupIds
!=
null
&&
groupIds
.
size
()
>
0
)
return
comTalentGroupDetailDAO
.
getTalentListByGroupIds
(
groupIds
);
else
return
new
ArrayList
<>();
}
public
List
<
ComTalentGroupDetailDTO
>
getMembersListByGroupIds
(
List
<
String
>
groupIds
)
{
if
(
groupIds
!=
null
&&
groupIds
.
size
()
>
0
)
return
comTalentGroupDetailDAO
.
getMembersListByGroupIds
(
groupIds
);
else
return
new
ArrayList
<>();
}
}
}
}
science-admin/src/main/java/com/yiboshi/science/service/impl/ComTalentGroupServiceImpl.java
View file @
c1d598fb
package
com
.
yiboshi
.
science
.
service
.
impl
;
package
com
.
yiboshi
.
science
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yiboshi.arch.exception.BusinessException
;
import
com.yiboshi.science.base.BaseServiceImpl
;
import
com.yiboshi.science.base.BaseServiceImpl
;
import
com.yiboshi.science.base.Pagination
;
import
com.yiboshi.science.dao.ComTalentApplyDAO
;
import
com.yiboshi.science.dao.ComTalentGroupDAO
;
import
com.yiboshi.science.dao.ComTalentGroupDAO
;
import
com.yiboshi.science.entity.
ComTalentGroup
;
import
com.yiboshi.science.entity.
*
;
import
com.yiboshi.science.param.dto.
ComTalentGroupDTO
;
import
com.yiboshi.science.param.dto.
*
;
import
com.yiboshi.science.param.query.ComTalentGroupQueryVO
;
import
com.yiboshi.science.param.query.ComTalentGroupQueryVO
;
import
com.yiboshi.science.service.
ComTalentGroupService
;
import
com.yiboshi.science.service.
*
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.*
;
/**
/**
* 人才分组表 Service 实现类
* 人才分组表 Service 实现类
...
@@ -25,8 +32,329 @@ public class ComTalentGroupServiceImpl extends BaseServiceImpl<ComTalentGroupDAO
...
@@ -25,8 +32,329 @@ public class ComTalentGroupServiceImpl extends BaseServiceImpl<ComTalentGroupDAO
@Autowired
@Autowired
private
ComTalentGroupDAO
comTalentGroupDAO
;
private
ComTalentGroupDAO
comTalentGroupDAO
;
@Autowired
private
ComTalentApplyDAO
comTalentApplyDAO
;
@Autowired
private
ComTalentGroupAssignService
comTalentGroupAssignService
;
@Autowired
private
ComTalentGroupDetailService
comTalentGroupDetailService
;
@Autowired
private
ComTalentAssignService
comTalentAssignService
;
@Autowired
private
ComBatchService
comBatchService
;
@Override
@Override
protected
void
setCriteriaForQuery
(
ComTalentGroupQueryVO
vo
,
QueryWrapper
<
ComTalentGroupQueryVO
>
criteria
)
{
protected
void
setCriteriaForQuery
(
ComTalentGroupQueryVO
vo
,
QueryWrapper
<
ComTalentGroupQueryVO
>
criteria
)
{
if
(
Objects
.
nonNull
(
vo
.
getGroupYear
()))
{
criteria
.
eq
(
"group_year"
,
vo
.
getGroupYear
());
}
if
(
Objects
.
nonNull
(
vo
.
getGroupName
()))
{
criteria
.
like
(
"group_name"
,
vo
.
getGroupName
());
}
if
(
Objects
.
nonNull
(
vo
.
getAssignState
()))
{
criteria
.
eq
(
"assign_state"
,
vo
.
getAssignState
());
}
}
public
Pagination
<
ComTalentGroupDTO
>
getTalentGroupListByPage
(
ComTalentGroupQueryVO
vo
)
{
QueryWrapper
criteria
=
new
QueryWrapper
();
setCriteriaForQuery
(
vo
,
criteria
);
Page
<
ComTalentGroupQueryVO
>
page
=
new
Page
<>(
vo
.
getPageIndex
(),
vo
.
getPageSize
());
List
<
ComTalentGroupDTO
>
dtoList
=
comTalentGroupDAO
.
getListByPage
(
page
,
criteria
).
getRecords
();
if
(
null
!=
dtoList
&&
dtoList
.
size
()
!=
0
)
{
dtoList
.
forEach
((
e
)
->
{
e
.
setExpertList
(
comTalentGroupAssignService
.
getAssignExpertList
(
e
.
getId
()));
e
.
setTalentList
(
comTalentGroupDetailService
.
getTalentDetailList
(
e
.
getId
()));
});
}
return
new
Pagination
<>(
dtoList
,
page
.
getTotal
(),
vo
.
getPageSize
());
}
private
String
InsertTalentGroup
(
int
ReportYear
,
int
TalentCount
,
String
TalentGroupName
,
String
Remark
)
{
ComTalentGroup
entity
=
new
ComTalentGroup
();
entity
.
setGroupYear
(
ReportYear
);
entity
.
setGroupName
(
TalentGroupName
);
entity
.
setTalentCount
(
TalentCount
);
entity
.
setExpertCount
(
0
);
entity
.
setRemark
(
Remark
);
entity
.
setAssignState
(
0
);
return
this
.
insert
(
entity
);
}
private
void
JoinTalentGroup
(
String
groupId
,
String
talentId
)
{
ComTalentGroupDetailDTO
dto
=
comTalentGroupDetailService
.
getTalentGroupDetailByGP
(
groupId
,
talentId
);
if
(
null
==
dto
)
{
ComTalentGroupDetail
detailEntity
=
new
ComTalentGroupDetail
();
detailEntity
.
setGroupId
(
groupId
);
detailEntity
.
setTalentId
(
talentId
);
comTalentGroupDetailService
.
insert
(
detailEntity
);
}
}
public
void
CalculateGroupTalentCount
(
String
groupId
)
{
List
<
ComTalentGroupDetailDTO
>
list
=
comTalentGroupDetailService
.
getTalentDetailList
(
groupId
);
ComTalentGroup
model
=
new
ComTalentGroup
();
model
.
setId
(
groupId
);
if
(
null
==
list
||
list
.
size
()
==
0
)
model
.
setTalentCount
(
0
);
else
model
.
setTalentCount
(
list
.
size
());
this
.
update
(
model
);
}
public
void
CalculateGroupExpertCount
(
String
groupId
)
{
List
<
ComTalentGroupAssignDTO
>
list
=
comTalentGroupAssignService
.
getAssignExpertList
(
groupId
);
ComTalentGroup
model
=
new
ComTalentGroup
();
model
.
setId
(
groupId
);
if
(
null
==
list
||
list
.
size
()
==
0
)
{
model
.
setExpertCount
(
0
);
model
.
setAssignState
(
0
);
}
else
{
model
.
setExpertCount
(
list
.
size
());
model
.
setAssignState
(
1
);
}
this
.
update
(
model
);
}
@Transactional
public
boolean
InsertTalentGroup
(
List
<
String
>
IdList
,
String
groupId
)
{
ComTalentGroupDTO
dto
=
this
.
getGroupById
(
groupId
);
if
(
null
==
dto
)
return
false
;
IdList
.
forEach
(
e
->
{
ComTalentGroupDetail
model
=
new
ComTalentGroupDetail
();
model
.
setTalentId
(
e
);
model
.
setGroupId
(
groupId
);
comTalentGroupDetailService
.
insert
(
model
);
});
processGroupTalentExpert
(
groupId
);
CalculateGroupTalentCount
(
groupId
);
return
true
;
}
@Transactional
public
boolean
updataTalentGroupAdjust
(
List
<
String
>
IdList
,
String
groupId
)
{
ComTalentGroupDetail
entity
=
comTalentGroupDetailService
.
entityById
(
IdList
.
get
(
0
));
String
oldGroupId
=
entity
.
getGroupId
();
ComTalentGroupDTO
dto
=
this
.
getGroupById
(
oldGroupId
);
if
(
null
!=
dto
.
getExpertCount
()
&&
dto
.
getExpertCount
()
>
0
)
return
false
;
dto
=
this
.
getGroupById
(
groupId
);
if
(
null
!=
dto
.
getExpertCount
()
&&
dto
.
getExpertCount
()
>
0
)
return
false
;
IdList
.
forEach
(
e
->
{
ComTalentGroupDetail
model
=
new
ComTalentGroupDetail
();
model
.
setId
(
e
);
model
.
setGroupId
(
groupId
);
comTalentGroupDetailService
.
update
(
model
);
});
CalculateGroupTalentCount
(
oldGroupId
);
CalculateGroupTalentCount
(
groupId
);
CalculateGroupExpertCount
(
oldGroupId
);
CalculateGroupExpertCount
(
groupId
);
return
true
;
}
public
ComTalentGroupDTO
getGroupById
(
String
id
)
{
ComTalentGroup
model
=
this
.
entityById
(
id
);
ComTalentGroupDTO
dto
=
convert2DTO
(
model
);
dto
.
setExpertList
(
comTalentGroupAssignService
.
getAssignExpertList
(
dto
.
getId
()));
return
dto
;
}
@Transactional
public
String
save
(
ComTalentGroupDTO
group
)
{
if
(
null
==
group
.
getId
())
{
return
insertGroup
(
group
);
}
else
{
return
updateGroup
(
group
);
}
}
public
String
insertGroup
(
ComTalentGroupDTO
group
)
{
ComTalentGroup
model
=
this
.
convert2Entity
(
group
);
return
this
.
insert
(
model
);
}
public
String
updateGroup
(
ComTalentGroupDTO
group
)
{
ComTalentGroup
model
=
this
.
convert2Entity
(
group
);
return
this
.
update
(
model
);
}
public
String
deleteByGroupId
(
String
id
)
{
this
.
deleteById
(
id
);
return
id
;
}
/**
* 项目专家分配
*
* @param groupId
* @return
*/
@Transactional
public
void
processGroupTalentExpert
(
String
groupId
)
{
ComTalentGroupDTO
dto
=
getGroupById
(
groupId
);
if
(
null
==
dto
)
return
;
List
<
ComTalentGroupDetailDTO
>
talentDetailList
=
comTalentGroupDetailService
.
getTalentDetailList
(
groupId
);
List
<
ComTalentGroupAssignDTO
>
expertDetailList
=
comTalentGroupAssignService
.
getAssignExpertList
(
groupId
);
if
(
null
==
talentDetailList
||
talentDetailList
.
size
()
==
0
)
return
;
if
(
null
==
expertDetailList
||
expertDetailList
.
size
()
==
0
)
return
;
talentDetailList
.
forEach
(
e
->
{
expertDetailList
.
forEach
(
p
->
{
ComTalentAssign
entity
=
new
ComTalentAssign
();
entity
.
setTalentId
(
e
.
getTalentId
());
entity
.
setExpertId
(
p
.
getExpertId
());
List
<
ComTalentAssign
>
list
=
comTalentAssignService
.
entityList
(
entity
);
if
(
null
==
list
||
list
.
size
()
==
0
)
{
ComTalentAssign
assign
=
new
ComTalentAssign
();
assign
.
setTalentId
(
e
.
getTalentId
());
assign
.
setExpertId
(
p
.
getExpertId
());
assign
.
setAssignYear
(
dto
.
getGroupYear
());
comTalentAssignService
.
insert
(
assign
);
comTalentAssignService
.
updateAssignState
(
e
.
getTalentId
());
}
});
});
}
@Transactional
public
String
assignTalentGroup
(
int
systemType
,
List
<
String
>
GroupList
,
List
<
String
>
ExpertList
)
{
GroupList
.
forEach
(
g
->
{
ExpertList
.
forEach
(
e
->
{
ComTalentGroupAssign
entity
=
new
ComTalentGroupAssign
();
entity
.
setGroupId
(
g
);
entity
.
setExpertId
(
e
);
if
(
null
==
comTalentGroupAssignService
.
getEntity
(
entity
))
{
entity
=
new
ComTalentGroupAssign
();
entity
.
setGroupId
(
g
);
entity
.
setExpertId
(
e
);
comTalentGroupAssignService
.
insert
(
entity
);
}
});
});
List
<
ComTalentGroupDetailDTO
>
TalentInfoList
=
comTalentGroupDetailService
.
getTalentListByGroupIds
(
GroupList
);
Integer
reportYear
=
comBatchService
.
getReportYear
(
systemType
,
null
);
List
<
String
>
TalentList
=
new
ArrayList
<>();
TalentInfoList
.
forEach
(
p
->
{
TalentList
.
add
(
p
.
getTalentId
());
});
String
strContent
=
comTalentAssignService
.
assignTalent
(
reportYear
,
TalentList
,
ExpertList
);
GroupList
.
forEach
(
g
->
{
this
.
CalculateGroupExpertCount
(
g
);
});
return
strContent
;
}
@Transactional
public
String
deleteAssignGroupExpert
(
String
id
)
{
ComTalentGroupAssign
comTalentGroupAssign
=
comTalentGroupAssignService
.
getById
(
id
);
if
(
null
==
comTalentGroupAssign
)
throw
new
BusinessException
(
"分配记录已删除!"
);
List
<
ComTalentGroupDetailDTO
>
talentDetailList
=
comTalentGroupDetailService
.
getTalentDetailList
(
comTalentGroupAssign
.
getGroupId
());
talentDetailList
.
forEach
(
e
->
{
ComTalentAssign
entity
=
new
ComTalentAssign
();
entity
.
setTalentId
(
e
.
getTalentId
());
entity
.
setExpertId
(
comTalentGroupAssign
.
getExpertId
());
comTalentAssignService
.
delete
(
entity
);
comTalentAssignService
.
updateAssignState
(
e
.
getTalentId
());
});
List
<
ComTalentGroupDTO
>
list
=
comTalentAssignService
.
getTalentGroupAssignById
(
comTalentGroupAssign
.
getGroupId
(),
comTalentGroupAssign
.
getExpertId
());
if
(
null
!=
list
&&
list
.
size
()
>
0
)
{
list
.
forEach
(
e
->
{
this
.
deleteById
(
e
.
getAssignId
());
});
}
comTalentGroupAssignService
.
deleteById
(
id
);
this
.
CalculateGroupExpertCount
(
comTalentGroupAssign
.
getGroupId
());
return
id
;
}
@Transactional
public
boolean
deleteGroupTalentExpert
(
String
groupId
,
String
talentId
)
{
ComTalentGroupDTO
dto
=
getGroupById
(
groupId
);
if
(
null
==
dto
)
return
false
;
List
<
ComTalentGroupDetailDTO
>
talentDetailList
=
comTalentGroupDetailService
.
getTalentDetailList
(
groupId
);
List
<
ComTalentGroupAssignDTO
>
expertDetailList
=
comTalentGroupAssignService
.
getAssignExpertList
(
groupId
);
if
(
null
==
talentDetailList
||
talentDetailList
.
size
()
==
0
)
return
false
;
//判断是否分配了专家(分配了专家的项目不能移除)
if
(
null
!=
expertDetailList
&&
expertDetailList
.
size
()
>
0
)
return
false
;
talentDetailList
.
forEach
(
e
->
{
if
(
e
.
getGroupId
().
equals
(
groupId
)
&&
e
.
getTalentId
().
equals
(
talentId
))
{
comTalentGroupDetailService
.
deleteById
(
e
.
getId
());
comTalentAssignService
.
updateAssignState
(
talentId
);
}
});
expertDetailList
.
forEach
(
e
->
{
ComTalentAssign
entity
=
new
ComTalentAssign
();
entity
.
setExpertId
(
e
.
getExpertId
());
entity
.
setTalentId
(
talentId
);
comTalentAssignService
.
delete
(
entity
);
});
this
.
CalculateGroupTalentCount
(
groupId
);
this
.
CalculateGroupExpertCount
(
groupId
);
return
true
;
}
/**
* 项目二级学科统计
*
* @param groupId
* @return
*/
public
List
<
ComTalentKnowledgeStatisticDTO
>
getTalentKnowledgeStatisticByGroupId
(
String
groupId
)
{
List
<
ComTalentKnowledgeStatisticDTO
>
list
=
comTalentGroupDAO
.
getTalentKnowledgeStatisticByGroupId
(
groupId
);
return
list
;
}
@Transactional
public
Map
<
String
,
Object
>
getGroupTalentInfo
(
List
<
String
>
groupIds
)
{
List
<
ComTalentGroupDetailDTO
>
talent
=
comTalentGroupDetailService
.
getTalentListByGroupIds
(
groupIds
);
List
<
String
>
expanded
=
new
ArrayList
<>();
List
<
String
>
specs
=
new
ArrayList
<>();
talent
.
forEach
(
e
->
{
if
(!
expanded
.
contains
(
e
.
getPpkey
()))
expanded
.
add
(
e
.
getPpkey
());
if
(!
expanded
.
contains
(
e
.
getPkey
()))
expanded
.
add
(
e
.
getPkey
());
if
(!
specs
.
contains
(
e
.
getKnowledgeId
()))
specs
.
add
(
e
.
getKnowledgeId
());
});
Map
<
String
,
Object
>
projInfo
=
new
HashMap
<
String
,
Object
>(
4
)
{
{
put
(
"expanded"
,
expanded
);
put
(
"spec"
,
specs
);
}
};
return
projInfo
;
}
}
}
}
science-admin/src/main/resources/mapper/ComTalentAssignDAO.xml
0 → 100644
View file @
c1d598fb
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yiboshi.science.dao.ComTalentAssignDAO"
>
<sql
id=
"allColumns"
>
t.id as id, t.expert_id as expertId, t.talent_id as talentId, t.assign_year as assignYear, t.total_score as gradeScore, t.remark as remark, t.created as created, t.updated as updated
</sql>
<select
id=
"getListByPage"
resultType=
"com.yiboshi.science.param.dto.ComTalentAssignDTO"
>
SELECT a.*, c.person_name,c.cert_id,c.sex,c.birthday,c.mobile,c.email,c.education,c.title,c.work_unit,g.unit_name,d.name education_name,
e.name title_name,i.unit_name as app_unit_name,k.group_name, l.cert_id as appCertId,l.person_name as app_person_name, m.name as knowledge_name
FROM com_talent_assign a
LEFT JOIN com_expert b ON a.expert_id = b.id
LEFT JOIN com_person c ON b.person_id = c.id
LEFT JOIN com_unit g ON c.unit_id = g.id
left join system_parameter d on c.education=d.id and d.type_id=8
left join system_parameter e on c.title=e.id and e.type_id=7
left join com_talent_apply f on a.talent_id=f.id
left join com_unit i on f.app_unit_id = i.id
left join com_talent_group_detail j on f.id = j.talent_id
left join com_talent_group k on j.group_id = k.id
left join com_person l ON f.person_id = l.id
left join system_parameter m on l.knowledge_id=m.id and m.type_id=68
<where>
${ew.sqlSegment}
</where>
ORDER BY f.id,a.created ASC
</select>
<select
id=
"getAssignExpertListByTalentId"
resultType=
"com.yiboshi.science.param.dto.ComTalentAssignDTO"
>
SELECT a.*, c.person_name,c.cert_id,c.sex,c.birthday,c.mobile,c.email,c.education,c.title,g.unit_name
,d.name education_name,e.name title_name
FROM com_talent_assign a
LEFT JOIN com_expert b ON a.expert_id = b.id
LEFT JOIN com_person c ON b.person_id = c.id
LEFT JOIN com_unit g ON c.unit_id = g.id
left join system_parameter d on c.education=d.id and d.type_id=8
left join system_parameter e on c.title=e.id and e.type_id=7
where a.talent_id = #{talentId}
</select>
<select
id=
"getAssignExpertList"
resultType=
"com.yiboshi.science.param.dto.ComTalentAssignDTO"
>
SELECT a.*, c.person_name as personName,c.work_unit
FROM com_talent_assign a
LEFT JOIN com_expert b ON a.expert_id = b.id
LEFT JOIN com_person c ON b.person_id = c.id
where a.talent_id = #{talentId} order by a.expert_type asc,a.total_score desc,c.person_name asc
</select>
<select
id=
"getAssignExpertById"
parameterType=
"java.lang.String"
resultType=
"com.yiboshi.science.param.dto.ComTalentAssignDTO"
>
SELECT a.*, c.person_name,c.cert_id,c.sex,c.birthday,c.mobile,c.email,c.education,c.title,g.unit_name
,d.name education_name,e.name title_name,f.cert_id as appCertId,f.person_name as appPersonName
FROM com_talent_assign a
LEFT JOIN com_expert b ON a.expert_id = b.id
LEFT JOIN com_person c ON b.person_id = c.id
LEFT JOIN com_unit g ON c.unit_id = g.id
left join system_parameter d on c.education=d.id and d.type_id=8
left join system_parameter e on c.title=e.id and e.type_id=7
left join com_talent_apply f on a.talent_id=f.id
left join com_person h on g.person_id = h.id
where a.id = #{id}
</select>
<select
id=
"getAssignCount"
parameterType=
"java.lang.String"
resultType=
"com.yiboshi.science.entity.AssignCount"
>
SELECT assign_year year,count(*) assignCount
FROM com_talent_assign a
where expert_id=#{expertId}
group by assign_year
</select>
<select
id=
"getTalentGroupAssignById"
resultType=
"com.yiboshi.science.param.dto.ComTalentGroupDTO"
>
select a.*, b.talent_id, c.expert_id, d.id as assign_id from com_talent_group a
left join com_talent_group_detail b on a.id = b.group_id
left join com_talent_group_assign c on a.id = c.group_id
left join com_talent_assign d on b.talent_id = d.talent_id and c.expert_id = d.expert_id
where a.id = #{id} and c.expert_id = #{expertId} and d.id is not null
</select>
</mapper>
science-admin/src/main/resources/mapper/ComTalentGroupAssignDAO.xml
0 → 100644
View file @
c1d598fb
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yiboshi.science.dao.ComTalentGroupAssignDAO"
>
<select
id=
"getListByPage"
resultType=
"com.yiboshi.science.param.dto.ComTalentGroupAssignDTO"
>
SELECT a.*, c.person_name,c.cert_id,c.sex,c.birthday,c.mobile,c.email,c.education,c.title,
g.unit_name,e.name title_name
FROM com_talent_group_assign a
LEFT JOIN com_expert b ON a.expert_id = b.id
LEFT JOIN com_person c ON b.person_id = c.id
LEFT JOIN com_unit g ON c.unit_id = g.id
left join system_parameter e on c.title=e.id
<where>
${ew.sqlSegment}
</where>
ORDER BY a.created ASC
</select>
<select
id=
"getAssignExpertList"
resultType=
"com.yiboshi.science.param.dto.ComTalentGroupAssignDTO"
>
select a.*, c.person_name, c.cert_id, c.sex, c.work_unit, c.mobile, c.email from com_talent_group_assign a
LEFT JOIN com_expert b ON a.expert_id = b.id
LEFT JOIN com_person c ON b.person_id = c.id
where a.group_id = #{groupId} order by created
</select>
<select
id=
"getAssignGroupExpertById"
parameterType=
"java.lang.String"
resultType=
"com.yiboshi.science.param.dto.ComTalentGroupAssignDTO"
>
SELECT a.*, c.person_name,c.cert_id,c.sex,c.birthday,c.mobile,c.email,c.education,c.title,
g.unit_name,d.name education_name,e.name title_name,f.group_name
FROM com_talent_group_assign a
LEFT JOIN com_expert b ON a.expert_id = b.id
LEFT JOIN com_person c ON b.person_id = c.id
LEFT JOIN com_unit g ON c.unit_id = g.id
left join system_parameter d on c.education=d.id and d.type_id=8
left join system_parameter e on c.title=e.id and e.type_id=7
left join com_project_group f on a.group_id=f.id
where a.id = #{id}
</select>
<select
id=
"getTalentAssignByGroupIdExpertId"
resultType=
"com.yiboshi.science.param.dto.ComTalentAssignDTO"
>
select a.id as group_id, d.*, e.cert_id, e.person_name, f.talent_category, f.app_unit_id from com_talent_group a
left join com_talent_group_detail b on a.id = b.group_id
left join com_talent_group_assign c on a.id = c.group_id
left join com_talent_assign d on b.talent_id = d.talent_id and c.expert_id = d.expert_id
left join com_talent_apply f on f.id = d.talent_id
left join com_person e on f.person_id = e.id
where a.id = #{groupId} and c.expert_id = #{expertId} and d.id is not null
</select>
</mapper>
\ No newline at end of file
science-admin/src/main/resources/mapper/ComTalentGroupDAO.xml
0 → 100644
View file @
c1d598fb
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yiboshi.science.dao.ComTalentGroupDAO"
>
<sql
id=
"allColumns"
>
t.id as id, t.group_name as group_name, t.group_year as group_year, t.knowledge_id as knowledge_id, t.proj_count as proj_count,
t.assign_state as assign_state, t.remark as remark, t.created as created, t.updated as updated
</sql>
<select
id=
"getTalentGroupByKnowLedgeIDYear"
resultType=
"com.yiboshi.science.param.dto.ComTalentGroupDTO"
>
select * from com_talent_group where group_year = #{groupYear} order by created desc limit 1
</select>
<select
id=
"getListByPage"
resultType=
"com.yiboshi.science.param.dto.ComTalentGroupDTO"
>
select a.*
from com_talent_group a
<where>
${ew.sqlSegment}
</where>
order by a.display_order asc
</select>
<select
id=
"getAssignExpertList"
resultType=
"com.yiboshi.science.param.dto.ComTalentAssignDTO"
>
select a.*, c.person_name as personName from com_talent_assign a
left join com_expert b on a.expert_id = b.id
left join com_person c on b.person_id = c.id
where a.talent_id = #{talentId}
</select>
<select
id=
"getTalentAssignByGroupIdExpertId"
resultType=
"com.yiboshi.science.param.dto.ComTalentAssignDTO"
>
select a.id as group_id, d.*, e.proj_no, e.app_no, e.proj_class, e.proj_name from com_talent_group a
left join com_talent_group_detail b on a.id = b.group_id
left join com_talent_group_assign c on a.id = c.group_id
left join com_talent_assign d on b.talent_id = d.talent_id and c.expert_id = d.expert_id
left join com_talent_apply e on d.talent_id = e.id
where a.id = #{groupId} and c.expert_id = #{expertId} and d.id is not null
</select>
<select
id=
"getTalentKnowledgeStatisticByGroupId"
resultType=
"com.yiboshi.science.param.dto.ComTalentKnowledgeStatisticDTO"
>
select a.id as group_id, d.id as knowledge_id, d.`name` as knowledge_name, d.display_order, count(*) as talent_count from com_talent_group a
left join com_talent_group_detail b on a.id = b.group_id
left join com_talent_apply c on b.talent_id = c.id
left join com_person e on c.person_id = e.id
left join system_parameter d on e.spec = d.id
where a.id = #{groupId} and d.`name` is not null
group by a.id, d.`name`, d.display_order order by d.display_order
</select>
</mapper>
\ No newline at end of file
science-admin/src/main/resources/mapper/ComTalentGroupDetailDAO.xml
0 → 100644
View file @
c1d598fb
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yiboshi.science.dao.ComTalentGroupDetailDAO"
>
<sql
id=
"allColumns"
>
t.id as id, t.group_id as group_id, t.proj_id as proj_id
</sql>
<select
id=
"getTalentGroupDetailByGP"
resultType=
"com.yiboshi.science.param.dto.ComTalentGroupDetailDTO"
>
select * from com_talent_group_detail where group_id = #{groupId} and talent_id = #{talentId}
</select>
<select
id=
"getTalentDetailList"
resultType=
"com.yiboshi.science.param.dto.ComTalentGroupDetailDTO"
>
select * from com_talent_group_detail where group_id = #{groupId} order by created
</select>
<select
id=
"getTalentDetailList2"
resultType=
"com.yiboshi.science.param.dto.Talent"
>
select a.id, a.group_id, a.talent_id, a.remark, a.created, a.updated, b.cert_id, b.person_name, b.talent_category
from com_talent_group_detail a left join com_talent_apply b on a.talent_id = b.id
left join com_person c on b.person_id = c.id
where group_id = #{groupId} order by created
</select>
<select
id=
"getTalentDetailListbyPage"
resultType=
"com.yiboshi.science.param.dto.ComTalentGroupDetailDTO"
>
select a.*, b.app_unit_id, f.unit_name as app_unit_name, b.proj_no, b.app_no, b.proj_class, b.proj_name, d.name as knowledge_name, c.cert_id, c.person_name
from com_talent_group_detail a
left join com_talent_apply b on a.talent_id = b.id
left join com_person c on b.person_id = c.id
left join system_parameter d on b.knowledge_id = d.id
left join system_parameter e on d.parent_id = e.id
left join com_unit f on b.app_unit_id = f.id
<where>
${ew.sqlSegment}
</where>
</select>
<select
id=
"getTalentListByGroupIds"
resultType=
"com.yiboshi.science.param.dto.ComTalentGroupDetailDTO"
>
select a.id, a.group_id, a.proj_id, a.remark, a.created, a.updated,
g.unit_name app_unit_name,h.person_name person_name,h.cert_id,
b.knowledge_id, b.proj_no, b.proj_name,b.app_unit_id,b.app_person_id, d.name as knowledge_name,
e.id pkey,e.parent_id ppkey
from com_talent_group_detail a
left join com_talent_apply b on a.talent_id = b.id
left join com_unit g on b.app_unit_id=g.id
left join com_person h on b.person_id=h.id
left join system_parameter d on b.knowledge_id = d.id
left join system_parameter e on e.id=d.parent_id
where a.group_id in
<foreach
collection=
"groupIds"
index=
"index"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
</select>
<select
id=
"getMembersListByGroupIds"
resultType=
"com.yiboshi.science.param.dto.ComTalentGroupDetailDTO"
>
SELECT b.name personName,b.work_unit appUnitName,b.proj_work
from com_talent_group_detail a
left join com_talent_members b on a.talent_id = b.talent_id
where a.group_id in
<foreach
collection=
"groupIds"
index=
"index"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
</select>
</mapper>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment