Search in sources :

Example 1 with DecLastPosition

use of com.bc.pmpheep.back.po.DecLastPosition in project pmph by BCSquad.

the class ExcelHelper method fillDecLastPositionData.

private ColumnProperties fillDecLastPositionData(List<DecLastPosition> decLastPositions, Row row, ColumnProperties properties) {
    int colCount = properties.getColCount();
    int[] maxLength = properties.getMaxLength();
    if (CollectionUtil.isEmpty(decLastPositions)) {
        for (int i = 0; i < 5; i++) {
            row.createCell(colCount++);
        }
    } else {
        String value;
        List<StringBuilder> builders = new ArrayList<>(6);
        for (int i = 0; i < 5; i++) {
            builders.add(new StringBuilder());
        }
        boolean isFirst = true;
        for (DecLastPosition decLastPosition : decLastPositions) {
            if (isFirst == false) {
                for (StringBuilder builder : builders) {
                    builder.append("\r\n");
                }
            } else {
                isFirst = false;
            }
            int index = 0;
            value = decLastPosition.getMaterialName();
            if (StringUtil.isEmpty(value)) {
                value = "";
            }
            builders.get(index++).append(value);
            if (value.length() > maxLength[colCount]) {
                maxLength[colCount] = value.length();
            }
            colCount++;
            value = "无";
            Integer position = decLastPosition.getPosition();
            if (ObjectUtil.isNull(position)) {
                position = 0;
            }
            switch(position) {
                case 1:
                    value = "主编";
                    break;
                case 2:
                    value = "副主编";
                    break;
                case 3:
                    value = "编委";
                    break;
                default:
                    break;
            }
            builders.get(index++).append(value);
            if (value.length() > maxLength[colCount]) {
                maxLength[colCount] = value.length();
            }
            colCount++;
            value = decLastPosition.getIsDigitalEditor() ? "是" : "否";
            builders.get(index++).append(value);
            if (value.length() > maxLength[colCount]) {
                maxLength[colCount] = value.length();
            }
            colCount++;
            value = decLastPosition.getPublisher();
            if (StringUtil.isEmpty(value)) {
                value = "";
            }
            builders.get(index++).append(value);
            if (value.length() > maxLength[colCount]) {
                maxLength[colCount] = value.length();
            }
            colCount++;
            value = "";
            if (ObjectUtil.notNull(decLastPosition.getPublishDate())) {
                value = DateUtil.date2Str(decLastPosition.getPublishDate());
            }
            builders.get(index++).append(value);
            if (value.length() > maxLength[colCount]) {
                maxLength[colCount] = value.length();
            }
            // 列数复位
            colCount = properties.getColCount();
        }
        for (int i = 0; i < 5; i++) {
            Cell cell = row.createCell(colCount++);
            value = builders.get(i).toString();
            cell.setCellValue(value);
        }
    }
    properties.setColCount(colCount);
    properties.setMaxLength(maxLength);
    return properties;
}
Also used : DecLastPosition(com.bc.pmpheep.back.po.DecLastPosition) ArrayList(java.util.ArrayList) Cell(org.apache.poi.ss.usermodel.Cell)

Example 2 with DecLastPosition

use of com.bc.pmpheep.back.po.DecLastPosition in project pmph by BCSquad.

the class DecLastPositionServiceTest method add.

private DecLastPosition add() {
    DecLastPosition decLastPosition = new DecLastPosition();
    decLastPosition.setDeclarationId(5L);
    decLastPosition.setMaterialName("心理诊断学");
    decLastPosition.setPosition(2);
    decLastPosition.setNote("研究人员");
    decLastPosition.setSort(25);
    decLastPositionService.addDecLastPosition(decLastPosition);
    DecLastPosition decLastPosition2 = new DecLastPosition(2L, "神经科学", 1, true, null, 12);
    decLastPositionService.addDecLastPosition(decLastPosition2);
    DecLastPosition decLastPosition3 = new DecLastPosition(5L, "人格心理学", 1, true, null, null);
    decLastPositionService.addDecLastPosition(decLastPosition3);
    return decLastPosition3;
}
Also used : DecLastPosition(com.bc.pmpheep.back.po.DecLastPosition)

Example 3 with DecLastPosition

use of com.bc.pmpheep.back.po.DecLastPosition in project pmph by BCSquad.

the class DecLastPositionServiceTest method testAddDecLastPosition.

@Test
@Rollback(Const.ISROLLBACK)
public void testAddDecLastPosition() {
    DecLastPosition decLastPosition = new DecLastPosition();
    decLastPosition.setDeclarationId(23L);
    decLastPosition.setMaterialName("管理心理学");
    decLastPosition.setPosition(1);
    decLastPosition.setNote("国家级教授");
    decLastPosition.setSort(37);
    decLastPosition = decLastPositionService.addDecLastPosition(decLastPosition);
    Assert.assertTrue("添加数据失败", decLastPosition.getId() > 0);
}
Also used : DecLastPosition(com.bc.pmpheep.back.po.DecLastPosition) Test(org.junit.Test) BaseTest(com.bc.pmpheep.test.BaseTest) Rollback(org.springframework.test.annotation.Rollback)

Example 4 with DecLastPosition

use of com.bc.pmpheep.back.po.DecLastPosition in project pmph by BCSquad.

the class MigrationStageSix method decLastPosition.

/**
 * 作家上套教材参编情况表
 */
protected void decLastPosition() {
    // 要迁移的旧库表名
    String tableName = "writer_materpat";
    // 增加new_pk字段
    JdbcHelper.addColumn(tableName);
    String sql = "select wm.materpatid,wm.writerid,wm.matername," + "case when wm.duties like '%1%' then 1 " + "when wm.duties like '%2%' then 2 " + "when wm.duties like '%3%' then 3 " + "else 0 end position,wm.remark,wd.new_pk id " + "from writer_materpat wm " + "left join writer_declaration wd on wd.writerid=wm.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("materpatid");
        // 申报表id
        Long declarationid = (Long) map.get("id");
        // 教材名称
        String materialName = (String) map.get("matername");
        // 编写职务
        Long positionJudge = (Long) map.get("position");
        DecLastPosition decLastPosition = new DecLastPosition();
        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;
        }
        decLastPosition.setDeclarationId(declarationid);
        decLastPosition.setMaterialName(materialName);
        Integer position = positionJudge.intValue();
        decLastPosition.setPosition(position);
        // 备注
        decLastPosition.setNote((String) map.get("remark"));
        // 显示顺序
        decLastPosition.setSort(999);
        // 出版社
        decLastPosition.setPublisher("人民卫生出版社");
        // 出版时间
        decLastPosition.setPublishDate(null);
        decLastPosition = decLastPositionService.addDecLastPosition(decLastPosition);
        long pk = decLastPosition.getId();
        JdbcHelper.updateNewPrimaryKey(tableName, pk, "materpatid", id);
        count++;
        if (null == map.get("exception")) {
            correctCount++;
        }
    }
    if (excel.size() > 0) {
        try {
            excelHelper.exportFromMaps(excel, "作家上套教材参编情况表", "dec_last_position");
        } catch (IOException ex) {
            logger.error("异常数据导出到Excel失败", ex);
        }
    }
    if (correctCount != maps.size()) {
        result.put(SQLParameters.EXCEL_HEADER_TABLENAME, "dec_last_position");
        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_materpat表迁移完成,异常条目数量:{}", 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);
}
Also used : HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) DecLastPosition(com.bc.pmpheep.back.po.DecLastPosition) IOException(java.io.IOException) LinkedList(java.util.LinkedList) LinkedHashMap(java.util.LinkedHashMap) Map(java.util.Map) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap)

Example 5 with DecLastPosition

use of com.bc.pmpheep.back.po.DecLastPosition 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;
}
Also used : DecTextbook(com.bc.pmpheep.back.po.DecTextbook) DecLastPosition(com.bc.pmpheep.back.po.DecLastPosition) ArrayList(java.util.ArrayList) DecAcade(com.bc.pmpheep.back.po.DecAcade) DecEduExp(com.bc.pmpheep.back.po.DecEduExp) DecCourseConstruction(com.bc.pmpheep.back.po.DecCourseConstruction) DeclarationEtcBO(com.bc.pmpheep.back.bo.DeclarationEtcBO) Declaration(com.bc.pmpheep.back.po.Declaration) DecTeachExp(com.bc.pmpheep.back.po.DecTeachExp) DecWorkExp(com.bc.pmpheep.back.po.DecWorkExp) DecResearch(com.bc.pmpheep.back.po.DecResearch) DecNationalPlan(com.bc.pmpheep.back.po.DecNationalPlan)

Aggregations

DecLastPosition (com.bc.pmpheep.back.po.DecLastPosition)12 DecAcade (com.bc.pmpheep.back.po.DecAcade)5 DecCourseConstruction (com.bc.pmpheep.back.po.DecCourseConstruction)5 DecEduExp (com.bc.pmpheep.back.po.DecEduExp)5 DecNationalPlan (com.bc.pmpheep.back.po.DecNationalPlan)5 DecResearch (com.bc.pmpheep.back.po.DecResearch)5 DecTeachExp (com.bc.pmpheep.back.po.DecTeachExp)5 DecTextbook (com.bc.pmpheep.back.po.DecTextbook)5 DecWorkExp (com.bc.pmpheep.back.po.DecWorkExp)5 ArrayList (java.util.ArrayList)5 DecAcadeReward (com.bc.pmpheep.back.po.DecAcadeReward)4 DecAchievement (com.bc.pmpheep.back.po.DecAchievement)4 DecClinicalReward (com.bc.pmpheep.back.po.DecClinicalReward)4 DecIntention (com.bc.pmpheep.back.po.DecIntention)4 DecMonograph (com.bc.pmpheep.back.po.DecMonograph)4 DecMoocDigital (com.bc.pmpheep.back.po.DecMoocDigital)4 DecPublishReward (com.bc.pmpheep.back.po.DecPublishReward)4 DecSci (com.bc.pmpheep.back.po.DecSci)4 DecTextbookPmph (com.bc.pmpheep.back.po.DecTextbookPmph)4 DecExtensionVO (com.bc.pmpheep.back.vo.DecExtensionVO)4