/** toArticleGroupDetailPage 组稿详情页 */ @RequestMapping(value = "/toArticleGroupDetailPageShow") public ModelAndView toArticleGroupDetailPageShow( @RequestParam("periodicalId") String periodicalId, @RequestParam("periodicalIssueNo") String periodicalIssueNo, @RequestParam("articleId") String articleId, @RequestParam("title") String title, HttpServletRequest request) { logger.info("组稿左右Page:[ " + periodicalId + "]&[" + periodicalIssueNo + "]"); ModelAndView mav = new ModelAndView("editor_articleGroupDetailPageShow"); List<EditorArticleDealRespDto> list = new ArrayList<EditorArticleDealRespDto>(); ArticleInfoQuery articleInfoQuery = new ArticleInfoQuery(); /** 取编辑处理完成(点击待刊按钮后)且专家是待刊的状态的稿件进行组刊 */ articleInfoQuery.setEditorState(ArticleStateEnums.END_ARTICLE.getCode()); articleInfoQuery.setExpertState(ArticleStateEnums.PUBLISH_ARTICLE.getCode()); articleInfoQuery.setArticleId(articleId); articleInfoQuery.setArticleCnTitle(title); articleInfoQuery.setExtends3("N"); List<ArticleInfo> articleInfos = articleInfoManager.queryListZuGao(articleInfoQuery); Iterator<ArticleInfo> iters = articleInfos.iterator(); while (iters.hasNext()) { EditorArticleDealRespDto editorArticleDealRespDto = new EditorArticleDealRespDto(); ArticleInfo articleInfo = iters.next(); AuthorInfoQuery authorInfoQuery = new AuthorInfoQuery(); authorInfoQuery.setArticleId(articleInfo.getArticleId()); List<AuthorInfo> authorInfos = authorInfoManager.queryList(authorInfoQuery); editorArticleDealRespDto.setArticleInfo(articleInfo); editorArticleDealRespDto.setAuthorInfos(authorInfos); // editorArticleDealRespDto.setArticleAttachmentInfo(articleAttachmentInfo); list.add(editorArticleDealRespDto); } mav.addObject("list", list); SectionInfoQuery query = new SectionInfoQuery(); query.setPeriodicalId(periodicalId); query.setPeriodicalIssueNo(periodicalIssueNo); query.setExtend1("N"); List<SectionInfo> sectionInfos = sectionInfoManager.queryListForGroupAticle(query); mav.addObject("sList", sectionInfos); mav.addObject("periodicalIssueNo", periodicalIssueNo); mav.addObject("periodicalId", periodicalId); mav.addObject("articleId", articleId); mav.addObject("title", title); return mav; }
/** toArticleGroup 组稿 */ @RequestMapping(value = "/toArticleGroup") public @ResponseBody Object toArticleGroup( @RequestParam("str") String str, @RequestParam("periodicalIssueNo") String periodicalIssueNo, String leftArray, String periodicalId, HttpServletRequest request, String type) { logger.info( "组稿左右提交进来的:leftArray:[" + leftArray + "]" + "&periodicalIssueNo:[" + periodicalIssueNo + "]" + "&str[" + str + "]&periodicalId:[" + periodicalId + "]"); UserInfo userInfo = getUserInfo(request); // ModelAndView mav = new ModelAndView("redirect:../editor/toGroupPage"); Map<String, Object> mapret = new HashMap<String, Object>(); try { mapret.put("periodicalId", periodicalId); /* * 每点击一次提交periodical_details,表中的数据会根据条件删除 * periodical_details根据periodicalId&periodicalIssueNo§ionId先删后插入 * */ PeriodicalDetailsQuery dQuery = new PeriodicalDetailsQuery(); dQuery.setPeriodicalId(periodicalId); dQuery.setPeriodicalIssueNo(periodicalIssueNo); dQuery.setType("0000"); logger.info("删除details表中已存在的数据......" + JSON.toJSONString(dQuery)); periodicalDetailsManager.deletePeriodicalDetails(dQuery); logger.info("删除details表中已存在的数据......"); JSONArray array = (JSONArray) JSONArray.parse(str); for (int i = 0; i < array.size(); i++) { System.out.println(array.getJSONObject(i)); PeriodicalDetails periodicalDetails = new PeriodicalDetails(); periodicalDetails.setPeriodicalId(periodicalId); periodicalDetails.setRefId(array.getJSONObject(i).getString("id")); periodicalDetails.setType("0000"); // 0000是稿件的意思 periodicalDetails.setCreateTime(new Date()); periodicalDetails.setPeriodicalIssueNo(periodicalIssueNo); periodicalDetails.setUserId(userInfo.getUserId()); periodicalDetails.setSectionId(array.getJSONObject(i).getString("id")); JSONArray jsonArray = array.getJSONObject(i).getJSONArray("data"); /** 页面如何将左边里存在的值传入后台,如果左边有值,需要将articleInfo.extend_3的状态变回N */ if (!"".equals(leftArray) && leftArray != null) { String[] leftStrs = leftArray.split(","); for (int l = 0; l < leftStrs.length; l++) { Map map = new HashMap(); map.put("articleId", leftStrs[l]); ArticleInfo a = articleInfoManager.qryInfoByArticleId(map); a.setId(a.getId()); a.setExtends3("N"); articleInfoManager.saveArticleInfo(a); } } for (int k = 0; k < jsonArray.size(); k++) { periodicalDetails.setArticleId(jsonArray.getString(k)); periodicalDetailsManager.savePeriodicalDetails(periodicalDetails); /** 将已经在栏目下的稿件artcileInfo.extend_3字段变更为Y 为了让左边不在查出这条数据 */ Map map = new HashMap(); map.put("articleId", jsonArray.getString(k)); ArticleInfo a = articleInfoManager.qryInfoByArticleId(map); a.setId(a.getId()); a.setExtends3("Y"); articleInfoManager.saveArticleInfo(a); } } PeriodicalQuery query = new PeriodicalQuery(); query.setPeriodicalId(periodicalId); query.setPeriodicalIssueNo(periodicalIssueNo); List<Periodical> pList = periodicalManager.queryList(query); Periodical p = pList.get(0); p.setId(p.getId()); if ("Y".equals(type)) { p.setPeriodicalState(PeriodicalStateEnums.ARTICLE_PART_OVER.getCode()); } else { p.setPeriodicalState(PeriodicalStateEnums.ARTICLE_PART_DEALING.getCode()); } periodicalManager.savePeriodical(p); mapret.put("message", "保存成功"); } catch (Exception e) { logger.error("组稿异常" + e); mapret.put("message", e.getMessage()); } return mapret; }