Commit a65a7c05 authored by wangxl's avatar wangxl

Merge remote-tracking branch 'origin/master'

parents e0f18764 85e5c6a0
......@@ -52,4 +52,6 @@ public interface ComProjectAuditDAO extends BaseMapper<ComProjectAudit>, BaseDAO
List<ProjectGroupScoreOrderDTO> getProjectGroupScoreOrder(Integer reportYear);
List<TalentEvaluationStatisticDTO> getTalentEvaluationStatistic(Integer reportYear);
List<TalentGroupScoreOrderDTO> getTalentGroupScoreOrder(Integer reportYear);
}
......@@ -10,5 +10,7 @@ public class TalentEvaluationExportExcelDTO implements Serializable {
public List<TalentEvaluationStatisticDTO> evaluationList;
public List<TalentGroupScoreOrderDTO> groupScoreList;
public List<String> mergeList;
}
package com.yiboshi.science.param.dto;
import lombok.Data;
import java.io.Serializable;
@Data
public class TalentGroupScoreOrderDTO implements Serializable {
/** 人才分组Id */
private String groupId;
/** 人才分组名称 */
private String groupName;
/** 人才分组序号 */
private Integer displayOrder;
/** 人才分组排序 */
private Integer orderNo;
/** 人才Id */
private String talentId;
/** 人才证件号 */
private String certId;
/** 人才姓名 */
private String personName;
/** 一级学科 */
private String parentName;
/** 二级学科 */
private String knowledgeName;
/** 申报单位 */
private String appUnitName;
/** 财务专家评分 */
private String totalScore;
/** 最终得分 */
private String averageScore;
}
......@@ -289,4 +289,15 @@ public class StatisticalController {
return ResponseDataModel.ok(comProjectAuditService.getTalentEvaluationStatistic(reportYear, startRow, rowMarkList));
}
@ApiOperation(value = "导出excel数据列表", httpMethod = "GET", notes = "导出excel数据列表")
@GetMapping
@RequestMapping("/getTalentGroupScoreOrder")
@PreAuthorize("hasAnyRole('GOV')")
public ResponseDataModel<TalentEvaluationExportExcelDTO> getTalentGroupScoreOrder(Integer reportYear, Integer startRow, String rowMarks) {
String[] split = rowMarks.split(",");
List<String> rowMarkList = Arrays.asList(split);
return ResponseDataModel.ok(comProjectAuditService.getTalentGroupScoreOrder(reportYear, startRow, rowMarkList));
}
}
......@@ -221,4 +221,13 @@ public interface ComProjectAuditService extends BaseService<ComProjectAuditQuery
* @return
*/
TalentEvaluationExportExcelDTO getTalentEvaluationStatistic(Integer reportYear, Integer startRow, List<String> rowMarkList);
/**
* 导出excel数据列表
* @param reportYear
* @param startRow
* @param rowMarkList
* @return
*/
TalentEvaluationExportExcelDTO getTalentGroupScoreOrder(Integer reportYear, Integer startRow, List<String> rowMarkList);
}
......@@ -731,4 +731,37 @@ public class ComProjectAuditServiceImpl extends BaseServiceImpl<ComProjectAuditD
return dto;
}
public TalentEvaluationExportExcelDTO getTalentGroupScoreOrder(Integer reportYear, Integer startRow, List<String> rowMarkList) {
List<TalentGroupScoreOrderDTO> list = comProjectAuditDAO.getTalentGroupScoreOrder(reportYear);
Map<String, List<TalentGroupScoreOrderDTO>> groupScoreMap1 = list.stream()
.collect(Collectors.groupingBy(TalentGroupScoreOrderDTO::getGroupId));
AtomicInteger orderNo = new AtomicInteger(1);
List<String> mergeList = new ArrayList<>();
groupScoreMap1.forEach((k, v) -> {
v.forEach(e -> {
e.setOrderNo(orderNo.get());
orderNo.incrementAndGet();
});
orderNo.set(1);
});
Map<Integer, List<TalentGroupScoreOrderDTO>> groupScoreMap2 = list.stream()
.collect(Collectors.groupingBy(TalentGroupScoreOrderDTO::getDisplayOrder));
AtomicInteger rowCount = new AtomicInteger(startRow);
groupScoreMap2.forEach((k, v) -> {
rowMarkList.forEach(e -> {
mergeList.add(e + rowCount.get() + ":" + e + (rowCount.get() + v.size() - 1));
});
rowCount.set(rowCount.get() + v.size());
});
TalentEvaluationExportExcelDTO dto = new TalentEvaluationExportExcelDTO();
dto.setGroupScoreList(list);
dto.setMergeList(mergeList);
return dto;
}
}
......@@ -373,4 +373,15 @@
where b.assign_year = #{reportYear}
order by c.cert_id, c.person_name
</select>
<select id="getTalentGroupScoreOrder" resultType="com.yiboshi.science.param.dto.TalentGroupScoreOrderDTO">
select a.id as group_id, a.group_name, a.display_order, b.talent_id, d.cert_id, d.person_name, f.name as specName, i.name as parent_name, e.unit_name as app_unit_name,
c.total_score, c.average_score
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 d on c.person_id = d.id
left join com_unit e on c.app_unit_id = e.id
left join system_parameter f on d.spec = f.id
left join system_parameter i on f.parent_id = i.id
where a.group_year = #{reportYear} order by a.display_order, a.group_name, c.total_score desc
</select>
</mapper>
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