Commit c1d598fb authored by 徐俊's avatar 徐俊

xujun

parent 9d32ad11
......@@ -2,13 +2,24 @@ package com.yiboshi.science.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yiboshi.science.base.BaseDAO;
import com.yiboshi.science.entity.AssignCount;
import com.yiboshi.science.entity.ComTalentAssign;
import com.yiboshi.science.param.dto.ComTalentAssignDTO;
import com.yiboshi.science.param.dto.ComTalentGroupDTO;
import com.yiboshi.science.param.query.ComTalentAssignQueryVO;
import java.util.List;
/**
* 人才专家分配明细表
*/
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);
}
......@@ -3,12 +3,20 @@ package com.yiboshi.science.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yiboshi.science.base.BaseDAO;
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.query.ComTalentGroupAssignQueryVO;
import java.util.List;
/**
* 人才分组分配表
*/
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);
}
......@@ -3,11 +3,20 @@ package com.yiboshi.science.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yiboshi.science.base.BaseDAO;
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 org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 人才分组表
*/
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);
}
package com.yiboshi.science.dao;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
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.entity.ComTalentGroupDetail;
import com.yiboshi.science.param.dto.ComTalentGroupDetailDTO;
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> {
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);
}
......@@ -151,4 +151,20 @@ public class ComTalentApply extends BaseEntity {
/** 项目完成状态 */
@ApiModelProperty(value = "项目完成状态", position = 22)
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
......@@ -739,7 +739,8 @@ public class CommonEnum {
talentApplyComplete("talentApplyComplete", "人才申报完成填写"),
talentApplyReport("talentApplyReport", "人才申报信息上报"),
talentApplyAudit("talentApplyAudit", "人才申报信息审核"),
talentApplyDelete("talentApplyDelete", "人才申报信息删除");
talentApplyDelete("talentApplyDelete", "人才申报信息删除"),
talentAssign("talentAssign", "人才分配");
logType(String key, String description) {
this.key = key;
......
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;
......@@ -7,6 +8,9 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import java.math.BigDecimal;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper=true)
@ApiModel(description = "人才专家分配明细表DTO")
......@@ -31,7 +35,31 @@ public class ComTalentAssignDTO extends BaseDTO {
@Length(max=65535, message = "备注不能大于65535")
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 已提交) */
@ApiModelProperty(value = "审核状态(0 未评审 1 保存 2 已提交)", position = 11)
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;
}
......@@ -7,6 +7,8 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper=true)
@ApiModel(description = "人才分组分配表DTO")
......@@ -26,4 +28,12 @@ public class ComTalentGroupAssignDTO extends BaseDTO {
@ApiModelProperty(value = "备注", position = 3)
@Length(max=500, message = "备注不能大于500")
private String remark;
/** 评审专业 */
@ApiModelProperty(value = "评审专业", position = 13)
private List<ComExpertSpecDTO> specList;
/** 评审明细 */
@ApiModelProperty(value = "评审明细", position = 14)
private List<ComTalentAssignDTO> talentAssignList;
}
......@@ -7,6 +7,8 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper=true)
@ApiModel(description = "人才分组表DTO")
......@@ -36,4 +38,29 @@ public class ComTalentGroupDTO extends BaseDTO {
@ApiModelProperty(value = "备注", position = 7)
@Length(max=200, message = "备注不能大于200")
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;
}
......@@ -17,6 +17,11 @@ public class ComTalentGroupDetailDTO extends BaseDTO {
@Length(max=36, message = "人才分组Id不能大于36")
private String groupId;
/** 二级学科Id */
@ApiModelProperty(value = "二级学科Id", position = 1)
@Length(max=36, message = "二级学科Id不能大于36")
private String knowledgeId;
/** 人才Id */
@ApiModelProperty(value = "人才Id", position = 2)
@Length(max=36, message = "人才Id不能大于36")
......@@ -26,4 +31,31 @@ public class ComTalentGroupDetailDTO extends BaseDTO {
@ApiModelProperty(value = "备注", position = 3)
@Length(max=500, message = "备注不能大于500")
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;
}
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;
}
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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......@@ -7,6 +9,8 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import java.util.Date;
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "人才专家分配明细表VO")
......@@ -34,4 +38,50 @@ public class ComTalentAssignQueryVO extends PaginationVO {
/** 审核状态(0 未评审 1 保存 2 已提交) */
@ApiModelProperty(value = "审核状态(0 未评审 1 保存 2 已提交)", position = 11)
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;
}
......@@ -26,4 +26,21 @@ public class ComTalentGroupDetailQueryVO extends PaginationVO {
@ApiModelProperty(value = "备注", position = 3)
@Length(max=500, message = "备注不能大于500")
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;
}
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));
}
}
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));
}
}
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));
}
}
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);
}
}
package com.yiboshi.science.service;
import com.yiboshi.science.base.BaseService;
import com.yiboshi.science.entity.AssignCount;
import com.yiboshi.science.entity.ComTalentAssign;
import com.yiboshi.science.param.dto.ComTalentAssignDTO;
import com.yiboshi.science.param.dto.ComTalentGroupDTO;
import com.yiboshi.science.param.query.ComTalentAssignQueryVO;
import java.util.List;
import java.util.Map;
/**
* 人才专家分配明细表
*/
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);
}
......@@ -5,8 +5,14 @@ import com.yiboshi.science.entity.ComTalentGroupAssign;
import com.yiboshi.science.param.dto.ComTalentGroupAssignDTO;
import com.yiboshi.science.param.query.ComTalentGroupAssignQueryVO;
import java.util.List;
/**
* 人才分组分配表
*/
public interface ComTalentGroupAssignService extends BaseService<ComTalentGroupAssignQueryVO, ComTalentGroupAssignDTO, ComTalentGroupAssign> {
List<ComTalentGroupAssignDTO> getAssignExpertList(String groupId);
ComTalentGroupAssignDTO getAssignGroupExpertById(String Id);
}
package com.yiboshi.science.service;
import com.yiboshi.science.base.BaseService;
import com.yiboshi.science.base.Pagination;
import com.yiboshi.science.entity.ComTalentGroupDetail;
import com.yiboshi.science.param.dto.ComTalentGroupDetailDTO;
import com.yiboshi.science.param.query.ComTalentGroupDetailQueryVO;
import java.util.List;
/**
* 人才分组明细表
*/
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);
}
package com.yiboshi.science.service;
import com.yiboshi.science.base.BaseService;
import com.yiboshi.science.base.Pagination;
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.ComTalentKnowledgeStatisticDTO;
import com.yiboshi.science.param.query.ComProjectAuditQueryVO;
import com.yiboshi.science.param.query.ComProjectGroupQueryVO;
import com.yiboshi.science.param.query.ComTalentGroupQueryVO;
import java.util.List;
import java.util.Map;
/**
* 人才分组表
*/
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);
}
......@@ -4,13 +4,16 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yiboshi.science.base.BaseServiceImpl;
import com.yiboshi.science.dao.ComTalentGroupAssignDAO;
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.service.ComExpertSpecService;
import com.yiboshi.science.service.ComTalentGroupAssignService;
import lombok.AllArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 人才分组分配表 Service 实现类
*
......@@ -25,8 +28,33 @@ public class ComTalentGroupAssignServiceImpl extends BaseServiceImpl<ComTalentGr
@Autowired
private ComTalentGroupAssignDAO comTalentGroupAssignDAO;
@Autowired
private ComExpertSpecService comExpertSpecService;
@Override
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;
}
}
package com.yiboshi.science.service.impl;
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.Pagination;
import com.yiboshi.science.dao.ComTalentGroupDetailDAO;
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.ComTalentApplyQueryVO;
import com.yiboshi.science.param.query.ComTalentGroupDetailQueryVO;
import com.yiboshi.science.service.ComTalentGroupDetailService;
......@@ -12,6 +16,10 @@ import lombok.AllArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* 人才分组明细表 Service 实现类
*
......@@ -28,6 +36,54 @@ public class ComTalentGroupDetailServiceImpl extends BaseServiceImpl<ComTalentGr
@Override
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<>();
}
}
<?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>
<?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
<?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
<?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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment