Search in sources :

Example 1 with MaterialNoticeAttachment

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

the class MaterialNoticeAttachmentServiceTest method testDeleteMaterialNoticeAttachmentById.

@Test
@Rollback(Const.ISROLLBACK)
public void testDeleteMaterialNoticeAttachmentById() {
    MaterialNoticeAttachment materialNoticeAttachment = new MaterialNoticeAttachment();
    materialNoticeAttachment.setMaterialExtraId(2L);
    materialNoticeAttachment.setAttachment("--");
    materialNoticeAttachment.setAttachmentName("---");
    materialNoticeAttachment.setDownload(1L);
    materialNoticeAttachment = materialNoticeAttachmentService.addMaterialNoticeAttachment(materialNoticeAttachment);
    // 删除
    Integer res = materialNoticeAttachmentService.deleteMaterialNoticeAttachmentById(materialNoticeAttachment.getId());
    Assert.assertTrue("deleteMaterialNoticeAttachmentsById删除失败", res > 0);
    // 删除
    res = materialNoticeAttachmentService.deleteMaterialNoticeAttachmentById(r.nextLong());
    Assert.assertTrue("deleteMaterialNoticeAttachmentsById删除失败", res >= 0);
}
Also used : MaterialNoticeAttachment(com.bc.pmpheep.back.po.MaterialNoticeAttachment) Test(org.junit.Test) BaseTest(com.bc.pmpheep.test.BaseTest) Rollback(org.springframework.test.annotation.Rollback)

Example 2 with MaterialNoticeAttachment

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

the class MaterialExtraServiceImpl method updateMaterialExtraAndNoticeFile.

/**
 * <pre>
 * 功能描述:编辑通知详情
 * 使用示范:
 *
 * &#64;param materialExtraVO MaterialExtraVO
 * &#64;return Map<String, Object>集合
 * &#64;throws CheckedServiceException
 * </pre>
 */
@Override
public Integer updateMaterialExtraAndNoticeFile(MaterialExtraVO materialExtraVO) throws CheckedServiceException, IOException {
    // 教材ID
    Long materialId = materialExtraVO.getMaterialId();
    if (ObjectUtil.isNull(materialId)) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL_EXTRA, CheckedExceptionResult.NULL_PARAM, "教材ID为空");
    }
    String materialName = materialExtraVO.getMaterialName();
    if (StringUtil.isEmpty(materialName)) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL_EXTRA, CheckedExceptionResult.NULL_PARAM, "教材名称为空");
    }
    String content = materialExtraVO.getContent();
    if (StringUtil.isEmpty(content)) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL_EXTRA, CheckedExceptionResult.NULL_PARAM, "教材通知为空");
    }
    // MongoDB 内容插入
    Content contentObj = contentService.add(new Content(content));
    if (ObjectUtil.isNull(contentObj)) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL_EXTRA, CheckedExceptionResult.OBJECT_NOT_FOUND, "教材通知保存失败");
    }
    Material material = materialService.getMaterialById(materialId);
    if (StringUtil.isEmpty(materialExtraVO.getContent())) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL_EXTRA, CheckedExceptionResult.NULL_PARAM, "教材通知内容为空");
    }
    // 内容ID
    Long cmsContentId = null;
    CmsContent cmsContent = cmsContentService.getCmsContentByMaterialId(materialId);
    if (ObjectUtil.notNull(cmsContent)) {
        cmsContentId = cmsContent.getId();
        String mid = null;
        if (StringUtil.notEmpty(cmsContent.getMid())) {
            mid = cmsContent.getMid();
        }
        // 存在就更新
        Integer count = cmsContentService.updateCmsContent(new CmsContent(cmsContent.getId(), contentObj.getId(), DateUtil.formatTimeStamp("yyyy-MM-dd HH:mm:ss", DateUtil.getCurrentTime())));
        if (count > 0) {
            // 删除之前教材通知内容
            contentService.delete(mid);
        }
    } else {
        // 保存CMSContent内容
        CmsContent cmsContentObj = cmsContentService.addCmsContent(new CmsContent(0L, "0", contentObj.getId(), materialName, Const.CMS_AUTHOR_TYPE_0, false, true, material.getFounderId(), DateUtil.formatTimeStamp("yyyy-MM-dd HH:mm:ss", DateUtil.getCurrentTime()), materialId, Const.CMS_CATEGORY_ID_3, Const.TRUE, "DEFAULT"));
        if (ObjectUtil.isNull(cmsContentObj.getId())) {
            throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL_EXTRA, CheckedExceptionResult.NULL_PARAM, "创建教材通知公告失败");
        }
        cmsContentId = cmsContentObj.getId();
    }
    // 先删除教材通知附件
    List<CmsExtra> cmsExtras = cmsExtraService.getCmsExtraByContentId(cmsContentId);
    if (CollectionUtil.isNotEmpty(cmsExtras)) {
        List<Long> cmsExtraIds = new ArrayList<Long>();
        for (CmsExtra cmsExtra : cmsExtras) {
            cmsExtraIds.add(cmsExtra.getId());
        }
        cmsExtraService.deleteCmsExtraByIds(cmsExtraIds);
    }
    // 教材通知附件
    List<MaterialNoticeAttachment> materialNoticeAttachments = null;
    // 教材备注附件
    List<MaterialNoteAttachment> materialNoteAttachments = null;
    // 教材通知备注
    MaterialExtra materialExtra = this.getMaterialExtraByMaterialId(materialId);
    if (ObjectUtil.notNull(materialExtra)) {
        Long materialExtraId = materialExtra.getId();
        if (ObjectUtil.notNull(materialExtraId)) {
            // 教材通知附件
            materialNoticeAttachments = materialNoticeAttachmentService.getMaterialNoticeAttachmentsByMaterialExtraId(materialExtraId);
            // 教材备注附件
            materialNoteAttachments = materialNoteAttachmentService.getMaterialNoteAttachmentByMaterialExtraId(materialExtraId);
            // 教材通知附件保存到CMS附件表中
            for (MaterialNoticeAttachment mna : materialNoticeAttachments) {
                cmsExtraService.addCmsExtra(new CmsExtra(cmsContentId, mna.getAttachment(), mna.getAttachmentName(), 0L));
            }
            for (MaterialNoteAttachment ma : materialNoteAttachments) {
                cmsExtraService.addCmsExtra(new CmsExtra(cmsContentId, ma.getAttachment(), ma.getAttachmentName(), 0L));
            }
        }
    }
    // 教材通知附件
    // String[] noticeFiles = materialExtraVO.getNoticeFiles();
    // if (ArrayUtil.isNotEmpty(noticeFiles)) {
    // this.saveFileToMongoDB(noticeFiles, materialExtraId, NOTICE);
    // }
    // 教材通知附件MongoDB对应ID
    String[] noticeAttachments = materialExtraVO.getNoticeAttachments();
    if (ArrayUtil.isNotEmpty(noticeAttachments)) {
        // 删除MaterialNoticeAttachment 表
        materialNoticeAttachmentService.deleteMaterialNoticeAttachmentByAttachments(noticeAttachments);
        // 删除MongoDB对应的文件
        for (int i = 0; i < noticeAttachments.length; i++) {
            fileService.remove(noticeAttachments[i]);
        }
    }
    // 教材备注附件
    // String[] noteFiles = materialExtraVO.getNoteFiles();
    // if (ArrayUtil.isNotEmpty(noteFiles)) {
    // this.saveFileToMongoDB(noteFiles, materialExtraId, NOTE);
    // }
    // 教材备注附件MongoDB对应ID
    String[] noteAttachments = materialExtraVO.getNoteAttachments();
    if (ArrayUtil.isNotEmpty(noteAttachments)) {
        // 删除MaterialNoteAttachment 表
        materialNoteAttachmentService.deleteMaterialNoteAttachmentByAttachments(noteAttachments);
        // 删除MongoDB对应的文件
        for (int i = 0; i < noteAttachments.length; i++) {
            fileService.remove(noteAttachments[i]);
        }
    }
    return 1;
}
Also used : CmsContent(com.bc.pmpheep.back.po.CmsContent) MaterialNoticeAttachment(com.bc.pmpheep.back.po.MaterialNoticeAttachment) MaterialNoteAttachment(com.bc.pmpheep.back.po.MaterialNoteAttachment) ArrayList(java.util.ArrayList) CheckedServiceException(com.bc.pmpheep.service.exception.CheckedServiceException) Material(com.bc.pmpheep.back.po.Material) CmsExtra(com.bc.pmpheep.back.po.CmsExtra) CmsContent(com.bc.pmpheep.back.po.CmsContent) Content(com.bc.pmpheep.general.po.Content) MaterialExtra(com.bc.pmpheep.back.po.MaterialExtra)

Example 3 with MaterialNoticeAttachment

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

the class MaterialServiceImpl method addOrUpdateMaterial.

@Override
public Long addOrUpdateMaterial(HttpServletRequest request, MaterialVO materialVO, // MultipartFile[] noteFiles,
boolean isUpdate) throws CheckedServiceException, IOException {
    if (null == request.getSession(false)) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.NULL_PARAM, "会话过期");
    }
    // 获取当前用户
    String sessionId = CookiesUtil.getSessionId(request);
    PmphUser pmphUser = SessionUtil.getPmphUserBySessionId(sessionId);
    if (null == pmphUser) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.NULL_PARAM, "请求用户不存在");
    }
    Material material = materialVO.getMaterial();
    // 如果是更新教材,判断主键
    if (isUpdate && (null == material.getId())) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.NULL_PARAM, "教材更新时主键为空");
    }
    // 教材名称的验证
    if (StringUtil.isEmpty(material.getMaterialName())) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.NULL_PARAM, "教材名称为空");
    }
    if (material.getMaterialName().length() > 50) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.ILLEGAL_PARAM, "教材名称过长");
    }
    // 教材轮次验证
    if (null == material.getMaterialRound()) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.NULL_PARAM, "教材轮次为空");
    }
    // 显示报名截止时间
    if (null == material.getDeadline()) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.NULL_PARAM, "显示报名截止时间为空");
    }
    // 如果是新建教材,显示报名截止时间必须大于当前时间
    if (!isUpdate && material.getDeadline().getTime() <= new Date().getTime()) {
    // throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL,
    // CheckedExceptionResult.ILLEGAL_PARAM,
    // "显示报名截止时间必须大于当前时间");
    }
    // 实际报名截止日期
    if (null == material.getActualDeadline()) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.NULL_PARAM, "实际报名截止日期为空");
    }
    // 如果是新建教材,实际报名截止日期必须大于当前时间
    if (!isUpdate && material.getActualDeadline().getTime() <= new Date().getTime()) {
    // throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL,
    // CheckedExceptionResult.ILLEGAL_PARAM,
    // "实际报名截止日期必须大于当前时间");
    }
    // 实际报名截止日期和显示报名截止时间比较
    if (material.getActualDeadline().getTime() < material.getDeadline().getTime()) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.ILLEGAL_PARAM, "实际报名截止日期不能小于显示报名截止时间");
    }
    // 年龄计算截止日期
    if (null == material.getAgeDeadline()) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.ILLEGAL_PARAM, "年龄计算截止日期为空");
    }
    // 邮寄地址验证
    if (StringUtil.isEmpty(material.getMailAddress())) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.NULL_PARAM, "邮寄地址为空");
    }
    if (material.getMailAddress().length() > 100) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.ILLEGAL_PARAM, "邮寄地址过长");
    }
    // 教材类型验证
    String materialType = materialVO.getMaterialType();
    if (StringUtil.isEmpty(materialType) || "[]".equals(materialType.replace(" ", "")) || "[NaN]".equals(materialType.replace(" ", ""))) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.NULL_PARAM, "教材类型为空");
    }
    if (null == material.getDirector()) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.NULL_PARAM, "教材主任为空");
    }
    // 教材通知备注内容验证
    MaterialExtra materialExtra = materialVO.getMaterialExtra();
    if (StringUtil.isEmpty(materialExtra.getNotice())) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.NULL_PARAM, "教材通知内容为空");
    }
    if (materialExtra.getNotice().length() > 2000) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.ILLEGAL_PARAM, "教材通知内容过长");
    }
    // }
    if ("null".equals(materialExtra.getNote()) || "[]".equals(materialExtra.getNote())) {
        materialExtra.setNote("");
    }
    if (null != materialExtra.getNote() && materialExtra.getNote().length() > 2000) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.ILLEGAL_PARAM, "教材备注内容过长");
    }
    Gson gson = new Gson();
    // 获取主任
    PmphUser director = pmphUserService.get(material.getDirector());
    if (null == director) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.ILLEGAL_PARAM, "找不到对应的主任");
    } else if (null == director.getDepartmentId()) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.ILLEGAL_PARAM, "主任对应的机构为空");
    }
    // //给主任添加角色
    // String roleName="主任";//通过roleName查询roleid
    // List<PmphRole> pmphRoles=pmphRoleService.getList(roleName);
    // if (ObjectUtil.isNull(material.getDirector()) ||
    // ObjectUtil.isNull(pmphRoles.get(0).getId())) {
    // throw new CheckedServiceException(CheckedExceptionBusiness.ROLE_MANAGEMENT,
    // CheckedExceptionResult.NULL_PARAM, "角色ID或主任ID为空时禁止新增");
    // }
    // //先查看该主任是否已有主任角色 没有则新加
    // List<PmphUserRole>
    // pmphUserRoles=pmphRoleService.getUserRoleList(material.getDirector(),pmphRoles.get(0).getId());
    // if(ObjectUtil.isNull(pmphUserRoles)&&pmphUserRoles.size() == 0){
    // pmphRoleService.addUserRole(material.getDirector(),
    // pmphRoles.get(0).getId());
    // }
    // 教材所属部门
    material.setDepartmentId(director.getDepartmentId());
    // 修改人
    material.setMenderId(pmphUser.getId());
    // 教材类型
    List<Long> materialTypeList = gson.fromJson(materialType, new TypeToken<ArrayList<Long>>() {
    }.getType());
    material.setMaterialType(materialTypeList.get(materialTypeList.size() - 1));
    // 设置权限
    material.setPlanPermission(Integer.valueOf(materialVO.getCehuaPowers(), 2));
    material.setProjectPermission(Integer.valueOf(materialVO.getProjectEditorPowers(), 2));
    // 保存或者更新教材
    if (isUpdate) {
        materialDao.updateMaterial(material);
    } else {
        // 创建人
        material.setFounderId(pmphUser.getId());
        materialDao.addMaterial(material);
    }
    Long materialId = material.getId();
    // 扩展项转换
    List<MaterialExtension> oldMaterialExtensionlist = materialExtensionService.getMaterialExtensionByMaterialId(materialId);
    String newMaterialExtensionIds = ",";
    String materialExtensions = materialVO.getMaterialExtensions();
    if (!StringUtil.isEmpty(materialExtensions)) {
        List<MaterialExtension> materialExtensionlist = gson.fromJson(materialExtensions, new TypeToken<ArrayList<MaterialExtension>>() {
        }.getType());
        for (MaterialExtension materialExtension : materialExtensionlist) {
            if (null == materialExtension) {
                throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.NULL_PARAM, "扩展项对象为空");
            }
            if (StringUtil.isEmpty(materialExtension.getExtensionName())) {
                throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.NULL_PARAM, "扩展项名称为空");
            }
            if (materialExtension.getExtensionName().length() > 100) {
                throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.NULL_PARAM, "扩展项名称太长");
            }
            materialExtension.setMaterialId(materialId);
            if (null == materialExtension.getId()) {
                // 保存或者修改扩展项
                materialExtensionService.addMaterialExtension(materialExtension);
            } else {
                materialExtensionService.updateMaterialExtension(materialExtension);
            }
            newMaterialExtensionIds += materialExtension.getId() + ",";
        }
    }
    for (MaterialExtension oldMaterialExtension : oldMaterialExtensionlist) {
        // 删除删除的MaterialExtension
        if (!newMaterialExtensionIds.contains("," + oldMaterialExtension.getId() + ",")) {
            // 不包含
            // 删除扩展项
            materialExtensionService.deleteMaterialExtensionById(oldMaterialExtension.getId());
            // 删除扩展值
            decExtensionService.deleteDecExtensionByExtensionId(oldMaterialExtension.getId());
        }
    }
    // 联系人转换
    String materialContacts = materialVO.getMaterialContacts();
    // 删除已经有的联系人
    materialContactService.deleteMaterialContactsByMaterialId(materialId);
    if (StringUtil.isEmpty(materialContacts)) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.ILLEGAL_PARAM, "教材联系人参数有误");
    }
    List<MaterialContact> materialContactlist = gson.fromJson(materialContacts, new TypeToken<ArrayList<MaterialContact>>() {
    }.getType());
    if (null == materialContactlist || materialContactlist.size() == 0) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.NULL_PARAM, "教材联系人为空");
    }
    for (MaterialContact materialContact : materialContactlist) {
        if (null == materialContact) {
            throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.NULL_PARAM, "教材联系人对象为空");
        }
        if (null == materialContact.getContactUserId()) {
            throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.NULL_PARAM, "联系人为空");
        }
        if (StringUtil.isEmpty(materialContact.getContactUserName())) {
            throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.NULL_PARAM, "联系人姓名为空");
        }
        if (materialContact.getContactUserName().length() > 20) {
            throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.NULL_PARAM, "联系人姓名太长");
        }
        if (StringUtil.isEmpty(materialContact.getContactPhone())) {
            throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.NULL_PARAM, "联系电话为空");
        }
        if (materialContact.getContactPhone().length() > 25) {
            throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.NULL_PARAM, "联系电话太长");
        }
        if (StringUtil.isEmpty(materialContact.getContactEmail())) {
            throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.NULL_PARAM, "联系邮箱为空");
        }
        if (materialContact.getContactEmail().length() > 40) {
            throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.NULL_PARAM, "联系邮箱太长");
        }
        if (null == materialContact.getSort()) {
            materialContact.setSort(999);
        }
        materialContact.setMaterialId(materialId);
        // 保存联系人
        materialContactService.addMaterialContact(materialContact);
    }
    // 项目编辑转换
    // 先删除该教材下的项目编辑
    materialProjectEditorService.deleteMaterialProjectEditorByMaterialId(materialId);
    String materialProjectEditors = materialVO.getMaterialProjectEditors();
    if (StringUtil.isEmpty(materialProjectEditors)) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.ILLEGAL_PARAM, "教材项目编辑参数有误");
    }
    List<MaterialProjectEditorVO> materialProjectEditorVOlist = gson.fromJson(materialProjectEditors, new TypeToken<ArrayList<MaterialProjectEditorVO>>() {
    }.getType());
    for (MaterialProjectEditorVO materialProjectEditorVO : materialProjectEditorVOlist) {
        if (null == materialProjectEditorVO || null == materialProjectEditorVO.getEditorId()) {
            throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.NULL_PARAM, "项目编辑为空");
        }
        MaterialProjectEditor materialProjectEditor = new MaterialProjectEditor();
        materialProjectEditor.setEditorId(materialProjectEditorVO.getEditorId());
        materialProjectEditor.setMaterialId(materialId);
        // 保存项目编辑
        materialProjectEditorService.addMaterialProjectEditor(materialProjectEditor);
    // // 项目编辑绑定角色
    // String rolename="项目编辑";//通过roleName查询roleid
    // List<PmphRole> pmphRoleList=pmphRoleService.getList(rolename);
    // if (ObjectUtil.isNull(materialId) ||
    // ObjectUtil.isNull(pmphRoleList.get(0).getId())) {
    // throw new CheckedServiceException(CheckedExceptionBusiness.ROLE_MANAGEMENT,
    // CheckedExceptionResult.NULL_PARAM, "角色ID或项目编辑ID为空时禁止新增");
    // }
    // //判断该用户是否有项目编辑角色 若没有则新加
    // List<PmphUserRole> pmphUserRoles2=pmphRoleService.getUserRoleList(materialId,
    // pmphRoleList.get(0).getId());
    // if(ObjectUtil.isNull(pmphUserRoles2) && pmphUserRoles2.size() == 0){
    // roleDao.addUserRole(materialId, pmphRoleList.get(0).getId());//给项目编辑绑定角色
    // }
    }
    // 保存教材通知备注
    materialExtra.setMaterialId(materialId);
    if (null == materialExtra.getId()) {
        materialExtraService.addMaterialExtra(materialExtra);
    } else {
        materialExtraService.updateMaterialExtra(materialExtra);
    }
    // 保存通知附件
    String materialNoticeAttachments = materialVO.getMaterialNoticeAttachments();
    if (StringUtil.isEmpty(materialNoticeAttachments)) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.NULL_PARAM, "教材通知附件为空");
    }
    List<MaterialNoticeAttachment> materialNoticeAttachmentlist = gson.fromJson(materialNoticeAttachments, new TypeToken<ArrayList<MaterialNoticeAttachment>>() {
    }.getType());
    // 原来有的通知附件
    List<MaterialNoticeAttachment> oldMaterialNoticeAttachmentlist = materialNoticeAttachmentService.getMaterialNoticeAttachmentsByMaterialExtraId(materialExtra.getId());
    String newTempNoticeFileIds = ",";
    for (MaterialNoticeAttachment materialNoticeAttachment : materialNoticeAttachmentlist) {
        if (null == materialNoticeAttachment.getId()) {
            String tempFileId = materialNoticeAttachment.getAttachment();
            byte[] fileByte = (byte[]) request.getSession(false).getAttribute(tempFileId);
            String fileName = (String) request.getSession(false).getAttribute("fileName_" + tempFileId);
            materialNoticeAttachment.setAttachment(String.valueOf(new Date().getTime()));
            materialNoticeAttachment.setAttachmentName(fileName);
            materialNoticeAttachment.setDownload(0L);
            materialNoticeAttachment.setMaterialExtraId(materialExtra.getId());
            // 保存通知
            materialNoticeAttachmentService.addMaterialNoticeAttachment(materialNoticeAttachment);
            String noticeId;
            // 保存通知文件
            InputStream sbs = new ByteArrayInputStream(fileByte);
            noticeId = fileService.save(sbs, fileName, FileType.MATERIAL_NOTICE_ATTACHMENT, materialNoticeAttachment.getId());
            materialNoticeAttachment.setAttachment(noticeId);
            // 更新通知
            materialNoticeAttachmentService.updateMaterialNoticeAttachment(materialNoticeAttachment);
        // 移除session的文件
        // request.getSession(false).removeAttribute(tempFileId);
        // request.getSession(false).removeAttribute("fileName_" + tempFileId);
        } else {
            newTempNoticeFileIds += materialNoticeAttachment.getId() + ",";
        }
    }
    for (MaterialNoticeAttachment materialNoticeAttachment : oldMaterialNoticeAttachmentlist) {
        if (!newTempNoticeFileIds.contains("," + materialNoticeAttachment.getId() + ",")) {
            // 不包含
            // 删除文件
            fileService.remove(materialNoticeAttachment.getAttachment());
            materialNoticeAttachmentService.deleteMaterialNoticeAttachmentById(materialNoticeAttachment.getId());
        }
    }
    // 备注附件保存
    String materialNoteAttachments = materialVO.getMaterialNoteAttachments();
    if (StringUtil.isEmpty(materialNoteAttachments)) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.NULL_PARAM, "教材备注附件为空");
    }
    List<MaterialNoteAttachment> materialNoteAttachmentList = gson.fromJson(materialNoteAttachments, new TypeToken<ArrayList<MaterialNoteAttachment>>() {
    }.getType());
    // 原来的备注文件
    List<MaterialNoteAttachment> oldMaterialNoteAttachmentlist = materialNoteAttachmentService.getMaterialNoteAttachmentByMaterialExtraId(materialExtra.getId());
    String newTempNoteFileIds = ",";
    for (MaterialNoteAttachment materialNoteAttachment : materialNoteAttachmentList) {
        if (null == materialNoteAttachment.getId()) {
            String tempFileId = materialNoteAttachment.getAttachment();
            byte[] file = (byte[]) request.getSession(false).getAttribute(tempFileId);
            String fileName = (String) request.getSession(false).getAttribute("fileName_" + tempFileId);
            materialNoteAttachment.setAttachment(String.valueOf(new Date().getTime()));
            materialNoteAttachment.setAttachmentName(fileName);
            materialNoteAttachment.setDownload(0L);
            materialNoteAttachment.setMaterialExtraId(materialExtra.getId());
            // 保存备注
            materialNoteAttachmentService.addMaterialNoteAttachment(materialNoteAttachment);
            String noticeId;
            InputStream sbs = new ByteArrayInputStream(file);
            // 保存备注文件
            noticeId = fileService.save(sbs, fileName, FileType.MATERIAL_NOTICE_ATTACHMENT, materialNoteAttachment.getId());
            materialNoteAttachment.setAttachment(noticeId);
            // 更新备注
            materialNoteAttachmentService.updateMaterialNoteAttachment(materialNoteAttachment);
        // 移除session的文件
        // request.getSession().removeAttribute(tempFileId);
        // request.getSession().removeAttribute("fileName_" + tempFileId);
        } else {
            newTempNoteFileIds += materialNoteAttachment.getId() + ",";
        }
    }
    for (MaterialNoteAttachment materialNoteAttachment : oldMaterialNoteAttachmentlist) {
        if (!newTempNoteFileIds.contains("," + materialNoteAttachment.getId() + ",")) {
            // 不包含
            // 删除文件
            fileService.remove(materialNoteAttachment.getAttachment());
            materialNoteAttachmentService.deleteMaterialNoteAttachmentById(materialNoteAttachment.getId());
        }
    }
    CmsContent cmsContent = cmsContentService.getCmsContentByMaterialId(materialId);
    String title = material.getMaterialName();
    if (null != cmsContent && null != cmsContent.getTitle() && !title.equals(cmsContent.getTitle())) {
        cmsContent.setTitle(title);
        cmsContentService.updateCmsContent(cmsContent);
    }
    /**
     * // 判断教材备注附件和教材通知附件 List<MaterialNoticeAttachment>
     * materialNoticeAttachmentlist = new ArrayList<MaterialNoticeAttachment>(5);
     * String materialNoticeAttachments=materialVO.getMaterialNoticeAttachments();
     * if (!StringUtil.isEmpty(materialNoticeAttachments)) {
     * materialNoticeAttachmentlist = gson.fromJson(materialNoticeAttachments, new
     * TypeToken<ArrayList<MaterialNoticeAttachment>>() { }.getType()); } if (null
     * != noticeFiles && noticeFiles.length > 0) { for (MultipartFile notice :
     * noticeFiles) { if (null == notice || !(notice instanceof MultipartFile)) {
     * throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL,
     * CheckedExceptionResult.NULL_PARAM, "教材通知附件为空"); } if
     * (notice.getName().length() > 80) { throw new
     * CheckedServiceException(CheckedExceptionBusiness.MATERIAL,
     * CheckedExceptionResult.ILLEGAL_PARAM, "教材通知附件文件名过长"); } } } if ((null ==
     * noticeFiles && materialNoticeAttachmentlist.size() == 0) ||
     * (materialNoticeAttachmentlist.size() + noticeFiles.length == 0)) {//
     * 已有的数量加上新增的数量 throw new
     * CheckedServiceException(CheckedExceptionBusiness.MATERIAL,
     * CheckedExceptionResult.NULL_PARAM, "教材通知附件为空"); }
     * List<MaterialNoteAttachment> materialNoteAttachmentList = new
     * ArrayList<MaterialNoteAttachment>(5); String materialNoteAttachments =
     * materialVO.getMaterialNoteAttachments(); if
     * (!StringUtil.isEmpty(materialNoteAttachments)) { materialNoteAttachmentList =
     * gson.fromJson(materialNoteAttachments, new
     * TypeToken<ArrayList<MaterialNoteAttachment>>() { }.getType()); } if (null !=
     * noteFiles && noteFiles.length > 0) { for (MultipartFile note : noteFiles) {
     * if (null == note || !(note instanceof MultipartFile)) { throw new
     * CheckedServiceException(CheckedExceptionBusiness.MATERIAL,
     * CheckedExceptionResult.NULL_PARAM, "教材备注附件为空"); } if (note.getName().length()
     * > 80) { throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL,
     * CheckedExceptionResult.ILLEGAL_PARAM, "教材备注附件文件名过长"); } } } if ((null ==
     * noteFiles && materialNoteAttachmentList.size() == 0) ||
     * (materialNoteAttachmentList.size() + noteFiles.length == 0)) {// 已有的数量加上新增的数量
     * throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL,
     * CheckedExceptionResult.NULL_PARAM, "教材备注附件为空"); } // 保存教材通知附件
     * List<MaterialNoticeAttachment> oldMaterialNoticeAttachmentlist =
     * materialNoticeAttachmentService
     * .getMaterialNoticeAttachmentsByMaterialExtraId(materialExtra.getId()); String
     * newMaterialNoticeAttachmentIds = ","; for (MaterialNoticeAttachment
     * materialNoticeAttachment : materialNoticeAttachmentlist) { if (null ==
     * materialNoticeAttachment.getId()) { throw new
     * CheckedServiceException(CheckedExceptionBusiness.MATERIAL,
     * CheckedExceptionResult.NULL_PARAM, "教材通知id为空"); }
     * newMaterialNoticeAttachmentIds += materialNoticeAttachment.getId() + ","; }
     * if (null != noticeFiles && noticeFiles.length > 0) { for (MultipartFile
     * notice : noticeFiles) { MaterialNoticeAttachment materialNoticeAttachment =
     * new MaterialNoticeAttachment();
     * materialNoticeAttachment.setAttachment("---------");
     * materialNoticeAttachment.setAttachmentName(notice.getOriginalFilename());
     * materialNoticeAttachment.setDownload(0L);
     * materialNoticeAttachment.setMaterialExtraId(materialExtra.getId()); // 保存通知
     * materialNoticeAttachmentService.addMaterialNoticeAttachment(materialNoticeAttachment);
     * String noticeId; // 保存通知文件 noticeId = fileService.save(notice,
     * FileType.MATERIAL_NOTICE_ATTACHMENT, materialNoticeAttachment.getId());
     *
     * materialNoticeAttachment.setAttachment(noticeId); // 更新通知
     * materialNoticeAttachmentService.updateMaterialNoticeAttachment(materialNoticeAttachment);
     * newMaterialNoticeAttachmentIds += materialNoticeAttachment.getId() + ","; } }
     * for (MaterialNoticeAttachment materialNoticeAttachment :
     * oldMaterialNoticeAttachmentlist) { if
     * (!newMaterialNoticeAttachmentIds.contains("," +
     * materialNoticeAttachment.getId() + ",")) {// 不包含
     * fileService.remove(materialNoticeAttachment.getAttachment()); // 删除文件
     * materialNoticeAttachmentService
     * .deleteMaterialNoticeAttachmentById(materialNoticeAttachment.getId()); } } //
     * 保存教材备注附件 List<MaterialNoteAttachment> oldMaterialNoteAttachmentlist =
     * materialNoteAttachmentService
     * .getMaterialNoteAttachmentByMaterialExtraId(materialExtra.getId()); String
     * newMaterialNoteAttachmentIds = ","; for (MaterialNoteAttachment
     * materialNoteAttachment : materialNoteAttachmentList) { if (null ==
     * materialNoteAttachment.getId()) { throw new
     * CheckedServiceException(CheckedExceptionBusiness.MATERIAL,
     * CheckedExceptionResult.NULL_PARAM, "教材备注id为空"); }
     * newMaterialNoteAttachmentIds += materialNoteAttachment.getId() + ","; } if
     * (null != noteFiles && noteFiles.length > 0) { for (MultipartFile note :
     * noteFiles) { MaterialNoteAttachment materialNoteAttachment = new
     * MaterialNoteAttachment(); materialNoteAttachment.setAttachment("---------");
     * materialNoteAttachment.setAttachmentName(note.getOriginalFilename());
     * materialNoteAttachment.setDownload(0L);
     * materialNoteAttachment.setMaterialExtraId(materialExtra.getId()); // 保存备注
     * materialNoteAttachmentService.addMaterialNoteAttachment(materialNoteAttachment);
     * String noticeId; // 保存备注文件 noticeId = fileService.save(note,
     * FileType.MATERIAL_NOTICE_ATTACHMENT, materialNoteAttachment.getId());
     * materialNoteAttachment.setAttachment(noticeId); // 更新备注
     * materialNoteAttachmentService.updateMaterialNoteAttachment(materialNoteAttachment);
     * newMaterialNoteAttachmentIds += materialNoteAttachment.getId() + ","; } } for
     * (MaterialNoteAttachment materialNoteAttachment :
     * oldMaterialNoteAttachmentlist) { if
     * (!newMaterialNoteAttachmentIds.contains("," + materialNoteAttachment.getId()
     * + ",")) {// 不包含 fileService.remove(materialNoteAttachment.getAttachment());
     * // 删除文件 materialNoteAttachmentService
     * .deleteMaterialNoteAttachmentById(materialNoteAttachment.getId()); } }
     */
    return material.getId();
}
Also used : MaterialNoteAttachment(com.bc.pmpheep.back.po.MaterialNoteAttachment) MaterialContact(com.bc.pmpheep.back.po.MaterialContact) Gson(com.google.gson.Gson) MaterialProjectEditorVO(com.bc.pmpheep.back.vo.MaterialProjectEditorVO) MaterialNoticeAttachment(com.bc.pmpheep.back.po.MaterialNoticeAttachment) CmsContent(com.bc.pmpheep.back.po.CmsContent) MaterialProjectEditor(com.bc.pmpheep.back.po.MaterialProjectEditor) PmphUser(com.bc.pmpheep.back.po.PmphUser) ByteArrayInputStream(java.io.ByteArrayInputStream) InputStream(java.io.InputStream) MaterialExtension(com.bc.pmpheep.back.po.MaterialExtension) CheckedServiceException(com.bc.pmpheep.service.exception.CheckedServiceException) Material(com.bc.pmpheep.back.po.Material) Date(java.util.Date) ByteArrayInputStream(java.io.ByteArrayInputStream) TypeToken(com.google.gson.reflect.TypeToken) MaterialExtra(com.bc.pmpheep.back.po.MaterialExtra)

Example 4 with MaterialNoticeAttachment

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

the class MaterialServiceImpl method getMaterialVO.

@Override
public MaterialVO getMaterialVO(Long id) throws CheckedServiceException {
    if (null == id) {
        throw new CheckedServiceException(CheckedExceptionBusiness.MATERIAL, CheckedExceptionResult.NULL_PARAM, "教材主键为空");
    }
    // 教材主要信息
    Material material = materialDao.getMaterialById(id);
    // 教材主任
    PmphUser director = pmphUserService.get(material.getDirector());
    // 教材类型字符串
    MaterialType materialType = materialTypeService.getMaterialTypeById(material.getMaterialType());
    String mtype = "[]";
    if (null != materialType) {
        mtype = "[" + materialType.getPath().replace("-", ",") + "," + material.getMaterialType() + "]";
        // 去掉 0
        mtype = mtype.replace("[0,", "[").replace("[0", "[");
    }
    // 教材通知备注表
    MaterialExtra materialExtra = materialExtraService.getMaterialExtraByMaterialId(id);
    Gson gson = new Gson();
    // 联系人
    List<MaterialContact> materialContactList = materialContactService.listMaterialContactByMaterialId(id);
    String materialContacts = gson.toJson(materialContactList);
    // 扩展项
    List<MaterialExtension> materialExtensionList = materialExtensionService.getMaterialExtensionByMaterialId(id);
    String materialExtensions = gson.toJson(materialExtensionList);
    // 项目编辑
    List<MaterialProjectEditorVO> materialProjectEditorVOList = materialProjectEditorService.listMaterialProjectEditors(id);
    String materialProjectEditorVOs = gson.toJson(materialProjectEditorVOList);
    // 通知附件信息
    List<MaterialNoticeAttachment> materialNoticeAttachmentList = new ArrayList<MaterialNoticeAttachment>(5);
    if (null != materialExtra) {
        materialNoticeAttachmentList = materialNoticeAttachmentService.getMaterialNoticeAttachmentsByMaterialExtraId(materialExtra.getId());
    }
    String materialNoticeAttachments = gson.toJson(materialNoticeAttachmentList);
    // 通知备注附件信息
    List<MaterialNoteAttachment> materialNoteAttachmentList = new ArrayList<MaterialNoteAttachment>(5);
    if (null != materialExtra) {
        materialNoteAttachmentList = materialNoteAttachmentService.getMaterialNoteAttachmentByMaterialExtraId(materialExtra.getId());
    }
    String materialNoteAttachments = gson.toJson(materialNoteAttachmentList);
    return new MaterialVO(material, director == null ? null : director.getRealname(), mtype, materialExtra, materialContacts, materialExtensions, materialProjectEditorVOs, materialNoticeAttachments, materialNoteAttachments, StringUtil.tentToBinary(material.getPlanPermission()), StringUtil.tentToBinary(material.getProjectPermission()));
}
Also used : MaterialVO(com.bc.pmpheep.back.vo.MaterialVO) MaterialNoticeAttachment(com.bc.pmpheep.back.po.MaterialNoticeAttachment) PmphUser(com.bc.pmpheep.back.po.PmphUser) MaterialNoteAttachment(com.bc.pmpheep.back.po.MaterialNoteAttachment) MaterialContact(com.bc.pmpheep.back.po.MaterialContact) ArrayList(java.util.ArrayList) Gson(com.google.gson.Gson) MaterialExtension(com.bc.pmpheep.back.po.MaterialExtension) CheckedServiceException(com.bc.pmpheep.service.exception.CheckedServiceException) Material(com.bc.pmpheep.back.po.Material) MaterialProjectEditorVO(com.bc.pmpheep.back.vo.MaterialProjectEditorVO) MaterialType(com.bc.pmpheep.back.po.MaterialType) MaterialExtra(com.bc.pmpheep.back.po.MaterialExtra)

Example 5 with MaterialNoticeAttachment

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

the class MigrationStageFour method transferMaterialNoticeAttachment.

protected void transferMaterialNoticeAttachment() {
    String sql = "select " + "a.new_pk, " + "b.filedir, " + "b.filename, " + "1 " + "from teach_material a " + "LEFT JOIN pub_addfileinfo b on b.tablekeyid = a.materid " + "where   b.childsystemname='notice_introduction' and tablename='TEACH_MATERIAL_INTRODUCTION' ";
    List<Map<String, Object>> materialNoticeAttachmentList = JdbcHelper.getJdbcTemplate().queryForList(sql);
    List<Map<String, Object>> excel = new LinkedList<>();
    Map<String, Object> result = new LinkedHashMap<>();
    int count = 0;
    // 统计正常数据的数量
    int correctCount = 0;
    // 判断该数据是否有相应异常状况的标识
    int[] state = { 0, 0, 0, 0 };
    StringBuilder reason = new StringBuilder();
    StringBuilder dealWith = new StringBuilder();
    // 模块名称
    excptionList.add(new Object[] { "教材通知附件" });
    // 模块标题
    excptionList.add(new Object[] { "所属教材名称", "通知附件名称", "问题", "原因分析", "处理方式" });
    int excptionListOldSize = excptionList.size();
    for (Map<String, Object> map : materialNoticeAttachmentList) {
        StringBuilder exception = new StringBuilder();
        Long newMaterid = (Long) map.get("new_pk");
        String matername = (newMaterid == null ? "" : materialService.getMaterialNameById(newMaterid));
        if (ObjectUtil.isNull(newMaterid)) {
            map.put(SQLParameters.EXCEL_EX_HEADER, exception.append("教材id为空。"));
            excel.add(map);
            excptionList.add(new Object[] { matername, (String) map.get("filename"), "找不到对应教材", "新建的教材被删除", "不导入该条信息" });
            if (state[0] == 0) {
                reason.append("找不到教材的唯一标识。");
                dealWith.append("放弃迁移。");
                state[0] = 1;
            }
            continue;
        }
        // 文件名
        String fileName = (String) map.get("filename");
        if (StringUtil.isEmpty(fileName)) {
            map.put(SQLParameters.EXCEL_EX_HEADER, exception.append("文件名称为空。"));
            excel.add(map);
            fileName = "-";
            excptionList.add(new Object[] { matername, fileName, "文件名称为空", "", "设置为'-'导入新库表" });
            if (state[1] == 0) {
                reason.append("找不到相应文件名称。");
                dealWith.append("设为默认值迁入数据库。");
                state[1] = 1;
            }
        }
        Long materialExtraId = mps.get(newMaterid);
        if (ObjectUtil.isNull(materialExtraId)) {
            map.put(SQLParameters.EXCEL_EX_HEADER, exception.append("教材通知备注id。"));
            excptionList.add(new Object[] { matername, fileName, "找不到关联的通知", "新建的教材被删除", "不导入该条信息" });
            excel.add(map);
            if (state[2] == 0) {
                reason.append("找不到教材通知备注的唯一标识。");
                dealWith.append("放弃迁移。");
                state[2] = 1;
            }
            continue;
        }
        MaterialNoticeAttachment materialNoticeAttachment = new MaterialNoticeAttachment();
        materialNoticeAttachment.setMaterialExtraId(materialExtraId);
        // 先用一个临时的"-"占位,不然会报错;
        materialNoticeAttachment.setAttachment("-");
        materialNoticeAttachment.setAttachmentName(fileName);
        materialNoticeAttachment.setDownload(1L);
        materialNoticeAttachment = materialNoticeAttachmentService.addMaterialNoticeAttachment(materialNoticeAttachment);
        if (ObjectUtil.notNull(materialNoticeAttachment.getId())) {
            String mongoId = null;
            try {
                mongoId = fileService.migrateFile((String) map.get("filedir"), FileType.MATERIAL_NOTICE_ATTACHMENT, materialNoticeAttachment.getId());
            } catch (IOException ex) {
                logger.error("文件读取异常,路径<{}>,异常信息:{}", (String) map.get("filedir"), ex.getMessage());
                map.put(SQLParameters.EXCEL_EX_HEADER, "文件读取异常。");
                excel.add(map);
                if (state[3] == 0) {
                    reason.append("找不到通知文件。");
                    dealWith.append("放弃迁移。");
                    state[3] = 1;
                }
            }
            if (null != mongoId) {
                materialNoticeAttachment.setAttachment(mongoId);
                materialNoticeAttachmentService.updateMaterialNoticeAttachment(materialNoticeAttachment);
                count++;
            } else {
                materialNoticeAttachmentService.deleteMaterialNoticeAttachmentById(materialNoticeAttachment.getId());
                excptionList.add(new Object[] { matername, fileName, "找不到通知文件", "文件丢失", "不导入该条信息" });
            }
        }
        if (null == map.get("exception")) {
            correctCount++;
        }
    }
    // 没有错误数据
    if (excptionList.size() == excptionListOldSize) {
        excptionList.remove(excptionList.size() - 1);
        excptionList.remove(excptionList.size() - 1);
    } else {
        // 插入一个空行
        excptionList.add(new String[] { "" });
    }
    if (excel.size() > 0) {
        try {
            excelHelper.exportFromMaps(excel, "教材通知附件表", "material_notice_attachment");
        } catch (IOException ex) {
            logger.error("异常数据导出到Excel失败", ex);
        }
    }
    if (correctCount != materialNoticeAttachmentList.size()) {
        result.put(SQLParameters.EXCEL_HEADER_TABLENAME, "material_notice_attachment");
        result.put(SQLParameters.EXCEL_HEADER_DESCRIPTION, "教材通知附件表");
        result.put(SQLParameters.EXCEL_HEADER_SUM_DATA, materialNoticeAttachmentList.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, materialNoticeAttachmentList.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("教材通知附件表迁移了{}条数据", count);
    // 记录信息
    Map<String, Object> msg = new HashMap<String, Object>();
    msg.put("result", "教材通知附件  表迁移完成" + count + "/" + materialNoticeAttachmentList.size());
    SQLParameters.STATISTICS.add(msg);
}
Also used : MaterialNoticeAttachment(com.bc.pmpheep.back.po.MaterialNoticeAttachment) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) IOException(java.io.IOException) LinkedList(java.util.LinkedList) LinkedHashMap(java.util.LinkedHashMap) Map(java.util.Map) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap)

Aggregations

MaterialNoticeAttachment (com.bc.pmpheep.back.po.MaterialNoticeAttachment)11 MaterialNoteAttachment (com.bc.pmpheep.back.po.MaterialNoteAttachment)5 CheckedServiceException (com.bc.pmpheep.service.exception.CheckedServiceException)5 BaseTest (com.bc.pmpheep.test.BaseTest)5 Test (org.junit.Test)5 Rollback (org.springframework.test.annotation.Rollback)5 Material (com.bc.pmpheep.back.po.Material)4 MaterialExtra (com.bc.pmpheep.back.po.MaterialExtra)4 CmsContent (com.bc.pmpheep.back.po.CmsContent)3 MaterialContact (com.bc.pmpheep.back.po.MaterialContact)3 MaterialExtension (com.bc.pmpheep.back.po.MaterialExtension)2 PmphUser (com.bc.pmpheep.back.po.PmphUser)2 MaterialProjectEditorVO (com.bc.pmpheep.back.vo.MaterialProjectEditorVO)2 Content (com.bc.pmpheep.general.po.Content)2 Gson (com.google.gson.Gson)2 ArrayList (java.util.ArrayList)2 HashMap (java.util.HashMap)2 CmsExtra (com.bc.pmpheep.back.po.CmsExtra)1 MaterialProjectEditor (com.bc.pmpheep.back.po.MaterialProjectEditor)1 MaterialType (com.bc.pmpheep.back.po.MaterialType)1