/** * 保存节目信息和文件信息 根据用户选择节目录入类型, 对节目表和文件表进行操作. 1. 正常: 保存节目表信息, 文件表信息, 生成迁移任务. 完成 2. 无实体文件: 保存节目表信息, * 文件表信息, 节目表(注明节目状态为未导入)和<br> * 文件表(注明无实体文件标识), 不生成迁移任务. 完成 3. 补充实体文件: 修改节目表和文件表标识, 补充原文件名信息, 生成迁移任务. 完成 * * @param operatType 前台界面选择的节目录入类型[1: 正常, 2: 无实体文件, 3:补充实体文件] * @param programInfo 节目表对象 * @param programFiles 文件表对象 * @param inputManId 操作人员ID * @return Object[] object[0]: ProgramInfo object[1]: ProgramFiles * @throws Exception 如果节目录入不成功, 抛出节目录入不成功异常, 异常信息为: 节目录入不成功! 如果节目录入成功, 则不返回信息. */ public Object[] addProgFile( String operatType, ProgramInfo programInfo, ProgramFiles programFiles, String inputManId) throws Exception { programInfo.setDsflag(-1L); if (null == programInfo.getInputtime()) { programInfo.setInputtime(new Date()); } if (null == programFiles.getInputtime()) { programFiles.setInputtime(new Date()); } if (null == programInfo.getInputmanid()) { programInfo.setInputmanid(inputManId); } if (null == programFiles.getInputmanid()) { programFiles.setInputmanid(inputManId); } if ("Clip".equalsIgnoreCase(programFiles.getFilecode()) && 1 == programFiles.getProgrank()) { programFiles.setProgrank(0L); } if ((!"2".equals(operatType)) && (null == programFiles.getProcessinstid() || 0 == programFiles.getProcessinstid().trim().length())) { throw new NullPointerException(" 原文件名不能为空! "); } if (null != programFiles.getProgfileid()) { if ("H264".equals(programFiles.getFilecode())) { /** 修改文件名的扩展名由固定.ts为自适应, 录入时为.ts则修改后仍然为.ts HuangBo update by 2012年2月19日 20时23分 */ programFiles.setFilename( programFiles.getProgfileid() + programFiles .getProcessinstid() .substring(programFiles.getProcessinstid().lastIndexOf("."))); } else if ("RMZIP".equals(programFiles.getFilecode())) { programFiles.setFilename(programFiles.getProgfileid() + "/"); } } /** 读取序列设置ContentId的值 */ if (null == programFiles.getContentId()) { programFiles.setContentId(this.sequenceManager.getContentId()); } CmsResultDto cmsResultDto = this.programInfoModuleManager.savePrograminfoProgramfiles( operatType, programInfo, programFiles, inputManId); if (0 == cmsResultDto.getResultCode()) { return (Object[]) cmsResultDto.getResultObject(); } else { throw new Exception(cmsResultDto.getErrorMessage()); } }
/** * 修改原始文件名, 以及文件大小 * * @param operatType * @param programInfo * @param programFiles * @param inputManId * @return * @throws Exception */ public Object[] complementarityFile( String operatType, ProgramInfo programInfo, ProgramFiles programFiles, String inputManId) throws Exception { // CmsResultDto cmsResultDto = this.programInfoModuleManager.isExist( // programFiles.getProcessinstid(), programFiles.getFilecode()); // if (0 == cmsResultDto.getResultCode()) { // Object[] objects = (Object[]) cmsResultDto.getResultObject(); // if (!(Boolean) objects[0]) { // throw new Exception(" 文件不存在, 请检查路径是否正确! "); // } CmsResultDto cmsResultDto = this.programInfoModuleManager.updateProgramFileName( programFiles.getProgfileid(), programFiles.getProcessinstid(), programFiles.getContentfilesize()); if (0 == cmsResultDto.getResultCode()) { return new Object[] {programInfo, cmsResultDto.getResultObject()}; } // } throw new Exception(cmsResultDto.getErrorMessage()); }