use of com.bc.pmpheep.back.po.DecNationalPlan in project pmph by BCSquad.
the class DecNationalPlanServiceTest method testUpdateDecNationalPlan.
@Test
@Rollback(Const.ISROLLBACK)
public void testUpdateDecNationalPlan() {
DecNationalPlan decNationalPlan = add();
Integer count = decNationalPlanService.updateDecNationalPlan(decNationalPlan);
Assert.assertTrue("数据更新失败", count > 0);
}
use of com.bc.pmpheep.back.po.DecNationalPlan in project pmph by BCSquad.
the class MigrationStageSix method decNationalPlan.
/**
* 作家主编国家级规划教材情况表
*/
protected void decNationalPlan() {
// 要迁移的旧库表名
String tableName = "writer_editorbook ";
// 增加new_pk字段
JdbcHelper.addColumn(tableName);
String sql = "select wa.editorbookid,wa.writerid,wa.matername,wa.booknumber," + "case when materlevel like '%1%,%2%' then 3 " + "when materlevel like '%1%' then 1 " + "when materlevel like '%2%' then 2 " + "else 0 end rank,wa.remark,wd.new_pk id " + "from writer_editorbook wa " + "left join writer_declaration wd on wd.writerid=wa.writerid ";
List<Map<String, Object>> maps = JdbcHelper.getJdbcTemplate().queryForList(sql);
// 迁移成功的条目数
int count = 0;
int declarationidCount = 0;
List<Map<String, Object>> excel = new LinkedList<>();
Map<String, Object> result = new LinkedHashMap<>();
int correctCount = 0;
int[] state = { 0 };
StringBuilder reason = new StringBuilder();
StringBuilder dealWith = new StringBuilder();
/* 开始遍历查询结果 */
for (Map<String, Object> map : maps) {
StringBuilder sb = new StringBuilder();
// 旧表主键值
String id = (String) map.get("editorbookid");
// 申报表id
Long declarationid = (Long) map.get("id");
// 教材名称
String materialName = (String) map.get("matername");
// 标准书号
String isbn = (String) map.get("booknumber");
// 教材级别
Long rankJudge = (Long) map.get("rank");
DecNationalPlan decNationalPlan = new DecNationalPlan();
if (ObjectUtil.isNull(declarationid) || declarationid.intValue() == 0) {
map.put(SQLParameters.EXCEL_EX_HEADER, sb.append("未找到申报表对应的关联结果。"));
excel.add(map);
logger.debug("未找到申报表对应的关联结果,此结果将被记录在Excel中");
declarationidCount++;
if (state[0] == 0) {
reason.append("找不到对应的申报作家。");
dealWith.append("放弃迁移。");
state[0] = 1;
}
continue;
}
decNationalPlan.setDeclarationId(declarationid);
decNationalPlan.setMaterialName(materialName);
if (StringUtil.notEmpty(isbn)) {
isbn = isbn.trim();
isbn = isbn.replace("ISBN", "ISBN ").replace("isbn", "ISBN ").replace(":", "").replace(":", "").replace("、", "/").replace(".", "·").replace("*", "·").replace("•", "·");
}
decNationalPlan.setIsbn(isbn);
Integer rank = rankJudge.intValue();
decNationalPlan.setRank(rank);
// 教材级别(文字输入)0=无/1=教育部十二五/2=国家卫计委十二五/3=both
if (0 == rank) {
decNationalPlan.setRankText("无");
} else if (1 == rank) {
decNationalPlan.setRankText("教育部十二五");
} else if (2 == rank) {
decNationalPlan.setRankText("国家卫计委十二五");
} else if (3 == rank) {
decNationalPlan.setRankText("both");
}
// 备注
decNationalPlan.setNote((String) map.get("remark"));
// 显示顺序
decNationalPlan.setSort(999);
decNationalPlan = decNationalPlanService.addDecNationalPlan(decNationalPlan);
long pk = decNationalPlan.getId();
JdbcHelper.updateNewPrimaryKey(tableName, pk, "editorbookid", id);
count++;
if (null == map.get("exception")) {
correctCount++;
}
}
if (excel.size() > 0) {
try {
excelHelper.exportFromMaps(excel, "作家主编国家级规划教材情况表", "dec_national_plan");
} catch (IOException ex) {
logger.error("异常数据导出到Excel失败", ex);
}
}
if (correctCount != maps.size()) {
result.put(SQLParameters.EXCEL_HEADER_TABLENAME, "dec_national_plan");
result.put(SQLParameters.EXCEL_HEADER_DESCRIPTION, "作家主编国家级规划教材情况表");
result.put(SQLParameters.EXCEL_HEADER_SUM_DATA, maps.size());
result.put(SQLParameters.EXCEL_HEADER_MIGRATED_DATA, count);
result.put(SQLParameters.EXCEL_HEADER_CORECT_DATA, correctCount);
result.put(SQLParameters.EXCEL_HEADER_TRANSFERED_DATA, count - correctCount);
result.put(SQLParameters.EXCEL_HEADER_NO_MIGRATED_DATA, maps.size() - count);
result.put(SQLParameters.EXCEL_HEADER_EXCEPTION_REASON, reason.toString());
result.put(SQLParameters.EXCEL_HEADER_DEAL_WITH, dealWith.toString());
SQLParameters.STATISTICS_RESULT.add(result);
}
logger.info("未找到申报表对应的关联结果数量:{}", declarationidCount);
logger.info("writer_editorbook表迁移完成,异常条目数量:{}", excel.size());
logger.info("原数据库中共有{}条数据,迁移了{}条数据", maps.size(), count);
// 记录信息
Map<String, Object> msg = new HashMap<String, Object>();
msg.put("result", "" + tableName + " 表迁移完成" + count + "/" + maps.size());
SQLParameters.STATISTICS.add(msg);
}
use of com.bc.pmpheep.back.po.DecNationalPlan in project pmph by BCSquad.
the class ExcelHelper method fillDecNationalPlanData.
private ColumnProperties fillDecNationalPlanData(List<DecNationalPlan> decNationalPlans, Row row, ColumnProperties properties) {
int colCount = properties.getColCount();
int[] maxLength = properties.getMaxLength();
if (CollectionUtil.isEmpty(decNationalPlans)) {
for (int i = 0; i < 3; i++) {
row.createCell(colCount++);
}
} else {
String value;
List<StringBuilder> builders = new ArrayList<>(3);
for (int i = 0; i < 3; i++) {
builders.add(new StringBuilder());
}
boolean isFirst = true;
for (DecNationalPlan decNationalPlan : decNationalPlans) {
if (isFirst == false) {
for (StringBuilder builder : builders) {
builder.append("\r\n");
}
} else {
isFirst = false;
}
int index = 0;
value = decNationalPlan.getMaterialName();
if (StringUtil.isEmpty(value)) {
value = "";
}
builders.get(index++).append(value);
if (value.length() > maxLength[colCount]) {
maxLength[colCount] = value.length();
}
colCount++;
value = decNationalPlan.getIsbn();
if (StringUtil.isEmpty(value)) {
value = "";
}
builders.get(index++).append(value);
if (value.length() > maxLength[colCount]) {
maxLength[colCount] = value.length();
}
colCount++;
value = decNationalPlan.getRankText();
if (StringUtil.isEmpty(value)) {
value = "";
}
builders.get(index++).append(value);
if (value.length() > maxLength[colCount]) {
maxLength[colCount] = value.length();
}
// 列数复位
colCount = properties.getColCount();
}
for (int i = 0; i < 3; i++) {
Cell cell = row.createCell(colCount++);
value = builders.get(i).toString();
cell.setCellValue(value);
}
}
properties.setColCount(colCount);
properties.setMaxLength(maxLength);
return properties;
}
use of com.bc.pmpheep.back.po.DecNationalPlan in project pmph by BCSquad.
the class DeclarationServiceImpl method getDeclarationEtcBOs.
@Override
public List<DeclarationEtcBO> getDeclarationEtcBOs(Long materialId) {
List<DeclarationEtcBO> declarationEtcBOs = new ArrayList<>(20);
List<Declaration> declarations = declarationDao.getDeclarationByMaterialId(materialId);
if (CollectionUtil.isEmpty(declarations)) {
return null;
}
int count = 1;
for (Declaration declaration : declarations) {
// 学习经历
ArrayList<DecEduExp> decEduExps = (ArrayList<DecEduExp>) decEduExpDao.getListDecEduExpByDeclarationId(declaration.getId());
// 工作经历
ArrayList<DecWorkExp> decWorkExps = (ArrayList<DecWorkExp>) decWorkExpDao.getListDecWorkExpByDeclarationId(declaration.getId());
// 教学经历
ArrayList<DecTeachExp> decTeachExps = (ArrayList<DecTeachExp>) decTeachExpDao.getListDecTeachExpByDeclarationId(declaration.getId());
// 兼职学术
ArrayList<DecAcade> decAcades = (ArrayList<DecAcade>) decAcadeDao.getListDecAcadeByDeclarationId(declaration.getId());
// 上套教材
ArrayList<DecLastPosition> decLastPositions = (ArrayList<DecLastPosition>) decLastPositionDao.getListDecLastPositionByDeclarationId(declaration.getId());
// 精品课程建设情况
ArrayList<DecCourseConstruction> decCourseConstructions = (ArrayList<DecCourseConstruction>) decCourseConstructionDao.getDecCourseConstructionByDeclarationId(declaration.getId());
// 主编国家级规划
ArrayList<DecNationalPlan> decNationalPlans = (ArrayList<DecNationalPlan>) decNationalPlanDao.getListDecNationalPlanByDeclarationId(declaration.getId());
// 教材编写
ArrayList<DecTextbook> decTextbooks = (ArrayList<DecTextbook>) decTextbookDao.getListDecTextbookByDeclarationId(declaration.getId());
// 作家科研
ArrayList<DecResearch> decResearchs = (ArrayList<DecResearch>) decResearchDao.getListDecResearchByDeclarationId(declaration.getId());
/*
* ArrayList<DecAchievement> decAchievements = (ArrayList<DecAchievement>)
* decAchievementDao .getDecAchievementByDeclarationId(declaration.getId());
*/
DeclarationEtcBO declarationEtcBO = new DeclarationEtcBO();
declarationEtcBO.setRealname("欧阳望月".concat(String.valueOf(count)));
declarationEtcBO.setUsername("Smith");
// declarationEtcBO.setTextbookName("人体解剖学与组织胚胎学");
// declarationEtcBO.setPresetPosition("副主编");
declarationEtcBO.setChosenOrgName("人民卫生出版社");
declarationEtcBO.setSex("女");
declarationEtcBO.setBirthday("1975年11月22日");
declarationEtcBO.setAddress("浙江省金华市婺城区婺州街1188号");
declarationEtcBO.setExperience(23);
declarationEtcBO.setOrgName("金华职业技术学院医学院");
declarationEtcBO.setPosition("教师");
declarationEtcBO.setTitle("教授");
declarationEtcBO.setPostcode("321017");
declarationEtcBO.setHandphone("13857989881");
declarationEtcBO.setEmail("test10001test@163.com");
declarationEtcBO.setFax("01065930013");
declarationEtcBO.setTelephone("010-65930013");
declarationEtcBO.setDecEduExps(decEduExps);
declarationEtcBO.setDecWorkExps(decWorkExps);
declarationEtcBO.setDecTeachExps(decTeachExps);
declarationEtcBO.setDecAcades(decAcades);
declarationEtcBO.setDecLastPositions(decLastPositions);
declarationEtcBO.setDecCourseConstructions(decCourseConstructions);
declarationEtcBO.setDecNationalPlans(decNationalPlans);
declarationEtcBO.setDecTextbooks(decTextbooks);
declarationEtcBO.setDecResearchs(decResearchs);
// declarationEtcBO.setDecAchievement(decAchievements.get(0));
declarationEtcBOs.add(declarationEtcBO);
count++;
if (count > 21) {
break;
}
}
return declarationEtcBOs;
}
use of com.bc.pmpheep.back.po.DecNationalPlan in project pmph by BCSquad.
the class DeclarationServiceImpl method exportExcel.
@Override
public ApplicationVO exportExcel(Long declarationId) {
// 专家信息显示实体
ApplicationVO applicationVO = new ApplicationVO();
// 作家申报
List<DecPositionDisplayVO> decPositionList = decPositionDao.listDecPositionsOrBook(declarationId);
for (DecPositionDisplayVO decPositions : decPositionList) {
String syllabusId = decPositions.getSyllabusId();
if (StringUtil.notEmpty(syllabusId)) {
// 下载路径
String syllabusIds = RouteUtil.MONGODB_FILE + syllabusId;
decPositions.setSyllabusId(syllabusIds);
}
switch(decPositions.getPresetPosition()) {
case 1:
decPositions.setShowPosition("编委");
break;
case 2:
decPositions.setShowPosition("副主编");
break;
case 3:
decPositions.setShowPosition("副主编,编委");
break;
case 4:
decPositions.setShowPosition("主编");
break;
case 5:
decPositions.setShowPosition("主编,编委");
break;
case 6:
decPositions.setShowPosition("主编,副主编");
break;
case 7:
decPositions.setShowPosition("主编,副主编,编委");
break;
case 8:
decPositions.setShowPosition("数字编委");
break;
case 9:
decPositions.setShowPosition("编委,数字编委");
break;
case 10:
decPositions.setShowPosition("副主编,数字编委");
break;
case 11:
decPositions.setShowPosition("副主编,编委,数字编委");
break;
case 12:
decPositions.setShowPosition("主编,数字编委");
break;
case 13:
decPositions.setShowPosition("主编,编委,数字编委");
break;
case 14:
decPositions.setShowPosition("主编,副主编,数字编委");
break;
case 15:
decPositions.setShowPosition("主编,副主编,编委,数字编委");
break;
default:
break;
}
if (decPositions.getChosenPosition() != 0) {
switch(decPositions.getChosenPosition()) {
case 1:
decPositions.setShowChosenPosition("编委");
break;
case 2:
decPositions.setShowChosenPosition("副主编");
break;
case 3:
decPositions.setShowChosenPosition("副主编,编委");
break;
case 4:
decPositions.setShowChosenPosition("主编");
break;
case 5:
decPositions.setShowChosenPosition("主编,编委");
break;
case 6:
decPositions.setShowChosenPosition("主编,副主编");
break;
case 7:
decPositions.setShowChosenPosition("主编,副主编,编委");
break;
case 8:
decPositions.setShowChosenPosition("数字编委");
break;
case 9:
decPositions.setShowChosenPosition("编委,数字编委");
break;
case 10:
decPositions.setShowChosenPosition("副主编,数字编委");
break;
case 11:
decPositions.setShowChosenPosition("副主编,编委,数字编委");
break;
case 12:
decPositions.setShowChosenPosition("主编,数字编委");
break;
case 13:
decPositions.setShowChosenPosition("主编,编委,数字编委");
break;
case 14:
decPositions.setShowChosenPosition("主编,副主编,数字编委");
break;
case 15:
decPositions.setShowChosenPosition("主编,副主编,编委,数字编委");
break;
default:
break;
}
}
}
// 作家遴选
List<DecPositionPublishedVO> decPositionPublishedVOs = decPositionPublishedDao.listDecPositionDisplayOrPosition(declarationId);
for (DecPositionPublishedVO decPositionPublished : decPositionPublishedVOs) {
if (decPositionPublished.getChosenPosition() != 0) {
switch(decPositionPublished.getChosenPosition()) {
case 1:
decPositionPublished.setShowChosenPosition("编委");
break;
case 2:
decPositionPublished.setShowChosenPosition("副主编");
break;
case 3:
decPositionPublished.setShowChosenPosition("副主编,编委");
break;
case 4:
decPositionPublished.setShowChosenPosition("主编");
break;
case 5:
decPositionPublished.setShowChosenPosition("主编,编委");
break;
case 6:
decPositionPublished.setShowChosenPosition("主编,副主编");
break;
case 7:
decPositionPublished.setShowChosenPosition("主编,副主编,编委");
break;
case 8:
decPositionPublished.setShowChosenPosition("数字编委");
break;
case 9:
decPositionPublished.setShowChosenPosition("编委,数字编委");
break;
case 10:
decPositionPublished.setShowChosenPosition("副主编,数字编委");
break;
case 11:
decPositionPublished.setShowChosenPosition("副主编,编委,数字编委");
break;
case 12:
decPositionPublished.setShowChosenPosition("主编,数字编委");
break;
case 13:
decPositionPublished.setShowChosenPosition("主编,编委,数字编委");
break;
case 14:
decPositionPublished.setShowChosenPosition("主编,副主编,数字编委");
break;
case 15:
decPositionPublished.setShowChosenPosition("主编,副主编,编委,数字编委");
break;
default:
break;
}
}
}
// 作家申报表
DeclarationOrDisplayVO declaration = declarationDao.getDeclarationByIdOrOrgName(declarationId);
WriterUser user = writerUserService.get(declaration.getUserId());
if (user != null) {
declaration.setUsername(user.getUsername());
}
// 作家学习经历
List<DecEduExp> decEduExpList = decEduExpDao.getListDecEduExpByDeclarationId(declarationId);
// 作家工作经历
List<DecWorkExp> decWorkExpList = decWorkExpDao.getListDecWorkExpByDeclarationId(declarationId);
// 作家教学经历
List<DecTeachExp> decTeachExpList = decTeachExpDao.getListDecTeachExpByDeclarationId(declarationId);
// 作家个人成就
DecAchievement decAchievement = decAchievementDao.getDecAchievementByDeclarationId(declarationId);
// 作家兼职学术
List<DecAcade> decAcadeList = decAcadeDao.getListDecAcadeByDeclarationId(declarationId);
// 作家本套上版教材参编情况
List<DecLastPosition> decLastPositionList = decLastPositionDao.getListDecLastPositionByDeclarationId(declarationId);
// 作家主编国家级规划教材情况
List<DecNationalPlan> decNationalPlanList = decNationalPlanDao.getListDecNationalPlanByDeclarationId(declarationId);
// 人卫社教材编写情况表
List<DecTextbookPmph> decTextbookPmphList = decTextbookPmphDao.getListDecTextbookPmphByDeclarationId(declarationId);
// 其他社教材编写情况
List<DecTextbook> decTextbookList = decTextbookDao.getListDecTextbookByDeclarationId(declarationId);
// 参加人卫慕课、数字教材编写情况表
DecMoocDigital decMoocDigital = decMoocDigitalDao.getDecMoocDigitalByDeclarationId(declarationId);
// 作家精品课程建设情况
List<DecCourseConstruction> decCourseConstruction = decCourseConstructionDao.getDecCourseConstructionByDeclarationId(declarationId);
// 作家科研情况
List<DecResearch> decResearchList = decResearchDao.getListDecResearchByDeclarationId(declarationId);
// 主编学术专著情况
List<DecMonograph> decMonographList = decMonographDao.getListDecMonographByDeclarationId(declarationId);
// 出版行业获奖情况
List<DecPublishReward> decPublishRewardList = decPublishRewardDao.getListDecPublishRewardByDeclarationId(declarationId);
// SCI论文投稿及影响因子情况
List<DecSci> decSciList = decSciDao.getListDecSciByDeclarationId(declarationId);
// 临床医学获奖情况
List<DecClinicalReward> decClinicalRewardList = decClinicalRewardDao.getListDecClinicalRewardByDeclarationId(declarationId);
// 学术荣誉授予情况
List<DecAcadeReward> decAcadeRewardList = decAcadeRewardDao.getListDecAcadeRewardByDeclarationId(declarationId);
// 作家扩展项
List<DecExtensionVO> decExtensionList = decExtensionDao.getListDecExtensionByDeclarationId(declarationId);
// 编写内容意向表
DecIntention decIntention = decIntentionDao.getDecIntentionByDeclarationId(declarationId);
// 是否选择必填
Material material = materialService.getMaterialById(declaration.getMaterialId());
// 把查询出来的信息添加进applicationVO
applicationVO.setDecPositionList(decPositionList);
applicationVO.setDecPositionPublishedVOs(decPositionPublishedVOs);
applicationVO.setDeclaration(declaration);
applicationVO.setDecEduExpList(decEduExpList);
applicationVO.setDecWorkExpList(decWorkExpList);
applicationVO.setDecTeachExpList(decTeachExpList);
applicationVO.setDecAchievement(decAchievement);
applicationVO.setDecAcadeList(decAcadeList);
applicationVO.setDecLastPositionList(decLastPositionList);
applicationVO.setDecNationalPlanList(decNationalPlanList);
applicationVO.setDecTextbookPmphList(decTextbookPmphList);
applicationVO.setDecTextbookList(decTextbookList);
applicationVO.setDecMoocDigital(decMoocDigital);
applicationVO.setDecCourseConstruction(decCourseConstruction);
applicationVO.setDecResearchList(decResearchList);
applicationVO.setDecMonographList(decMonographList);
applicationVO.setDecPublishRewardList(decPublishRewardList);
applicationVO.setDecSciList(decSciList);
applicationVO.setDecClinicalRewardList(decClinicalRewardList);
applicationVO.setDecAcadeRewardList(decAcadeRewardList);
applicationVO.setDecExtensionList(decExtensionList);
applicationVO.setDecIntention(decIntention);
applicationVO.setMaterial(material);
return applicationVO;
}
Aggregations