poi导出模板(我的备份)
/** * There are <a href="https://github.com/thinkgem/jeesite">JeeSite</a> code generation */ package com.bns.modules.cadre.selection.web; import java.awt.image.BufferedImage; import java.io.BufferedOutputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.lang.reflect.Method; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; import javax.imageio.ImageIO; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; import org.apache.commons.lang.StringUtils; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFClientAnchor; import org.apache.poi.hssf.usermodel.HSSFFont; import org.apache.poi.hssf.usermodel.HSSFPatriarch; import org.apache.poi.hssf.usermodel.HSSFRichTextString; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.util.CellRangeAddress; import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.hssf.util.Region; import org.apache.poi.ss.formula.functions.T; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Workbook; import org.jxls.common.Context; import org.jxls.util.JxlsHelper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.bns.component.export.ExcelExport; import com.bns.component.export.QRCodeUtils; import com.bns.modules.cadre.selection.service.DemocracyRecommendService; import com.bns.modules.cadre.selection.service.MotionService; import com.bns.modules.common.empUtils.service.EmpUtilsService; import com.bns.modules.common.utils.CommonUtil; import com.bns.modules.common.utils.StandardManage; import com.bns.utils.FormBean; import com.bns.utils.FormBeanUtils; import com.google.common.collect.Maps; import com.thinkgem.jeesite.common.config.Global; import com.thinkgem.jeesite.common.persistence.Page; import com.thinkgem.jeesite.common.utils.DateUtils; import com.thinkgem.jeesite.common.utils.excel.ImportExcel; import com.thinkgem.jeesite.common.web.BaseController; import com.thinkgem.jeesite.modules.sys.entity.Dict; import com.thinkgem.jeesite.modules.sys.entity.User; import com.thinkgem.jeesite.modules.sys.utils.DictUtils; import com.thinkgem.jeesite.modules.sys.utils.UserUtils; /** * 民主推荐Controller * * @author wzq * @version 2018-07-26 */ @Controller @RequestMapping(value = "${adminPath}/selection/democracyRecommend") public class DemocracyRecommendController extends BaseController { @Autowired private DemocracyRecommendService democracyRecommendService; @Autowired private MotionService motionService; /** * 民主推荐查询 * * @param formbean * @param request * @param response * @param model * @return * @author klx */ @RequestMapping(value = {"list", ""}) public String list(FormBean formbean, HttpServletRequest request, HttpServletResponse response, Model model) { FormBeanUtils.preDeal(formbean, request); Page<Map<String, Object>> page = democracyRecommendService.getDemocraticRecommendProcessPageList(new Page<Map<String, Object>>(request, response), formbean); model.addAttribute("map", formbean); model.addAttribute("page", page); return "modules/cadre/selection/democracyRecommendList"; } /** * 民主推荐保存 * * @param formbean * @param request * @param response * @return * @author klx */ @RequestMapping(value = "saveQuasiPersonList") public @ResponseBody Map<String, Object> saveQuasiPersonList(FormBean formbean, Model model,String tvNumId,String pid, RedirectAttributes redirectAttributes) { String result = StandardManage.OPERATE_SUCCESS; Map<String, Object> bean = formbean.getBean(); Date day=new Date(); //获取当前用户 User user = UserUtils.getUser(); String UPDATE_BY=""; if(user != null && null != user.getLoginName()){ UPDATE_BY=user.getLoginName(); } try { formbean.getBean().put("tvNumId", tvNumId.split(",")); formbean.getBean().put("pid", pid); //取得挺谈话推荐的人员集合 List<Map<String, Object>> list = democracyRecommendService.getDemocraticRecommendProcessNoPageList(FormBeanUtils.parse(bean)); if(list != null && list.size()>0){ for (Map<String, Object> m:list){ //根据人是编号判断是否拟任人中是否存在该人员,存在就不新增 String ZGH = m.get("ZGH").toString(); String PROCESS_ID =pid; Map<String, Object> zghMap = Maps.newHashMap(); zghMap.put("ZGH", ZGH); zghMap.put("PROCESS_ID", PROCESS_ID); //判断拟任人是否存在 List<Map<String, Object>> quasiPersonList = democracyRecommendService.getQuasiPersonList(zghMap,null); if(quasiPersonList != null && quasiPersonList.size()>0){ bean.put("result", "拟任人存在重复"); return bean; } } for (Map<String, Object> m:list){ Map<String, Object> insertQuasiPersonMap = Maps.newHashMap(); //根据人是编号判断是否拟任人中是否存在该人员,存在就不新增 insertQuasiPersonMap.put("NUM_ID", EmpUtilsService.getBeanId()); insertQuasiPersonMap.put("PROCESS_ID", pid); insertQuasiPersonMap.put("EMP_ID", m.get("ZGH")); insertQuasiPersonMap.put("BASE_INFO_ID",m.get("PER_NUM_ID")); insertQuasiPersonMap.put("NUMBER_ID",m.get("SFZJH")); insertQuasiPersonMap.put("PERSON_POST",m.get("EP_NUM_ID")); //1正常2淘汰,拟任人阶段码:正常/淘汰 insertQuasiPersonMap.put("QUASI_STAGE","1"); insertQuasiPersonMap.put("CREATE_BY",UPDATE_BY ); insertQuasiPersonMap.put("CREATE_DATE", day); insertQuasiPersonMap.put("UPDATE_BY", UPDATE_BY); insertQuasiPersonMap.put("UPDATE_DATE", day); insertQuasiPersonMap.put("DEL_FLAG","0" ); democracyRecommendService.insertQuasiPerson(insertQuasiPersonMap); } } bean.put("result", result); } catch (Exception e) { e.printStackTrace(); result = StandardManage.OPERATE_FAIL; bean.put("result", result); } return bean; } /** * 民主推荐查询 * * @param formbean * @param request * @param response * @param model * @return * @author klx * @throws ParseException */ @RequestMapping(value = "addQuasiPersonList") public String addQuasiPersonList(FormBean formbean, HttpServletRequest request, HttpServletResponse response, Model model) throws ParseException { FormBeanUtils.preDeal(formbean, request); String pid = request.getParameter("pid"); formbean.getBean().put("pid", pid); SimpleDateFormat format = new SimpleDateFormat("yyyy-M-dd"); Page<Map<String, Object>> page = democracyRecommendService.getThtjVotePersonPageList(new Page<Map<String, Object>>(request, response), formbean); if(page != null && page.getList() != null && page.getList().size()>0){ for (Map<String, Object> map:page.getList()){ if(map.containsKey("XB") && map.get("XB")!= null && !("").equals(map.get("XB").toString().trim())){ map.put("XB",DictUtils.getDictLabel(map.get("XB").toString(), "XB", "")); } else{ map.put("XB", ""); } if(map.containsKey("csrq") && map.get("csrq")!= null && !("").equals(map.get("csrq").toString().trim())){ map.put("csrq",DateUtils.formatDate(format.parse(map.get("csrq").toString()), "yyyy-MM-dd")); } else{ map.put("csrq", ""); } if(map.containsKey("zzmm") && map.get("zzmm")!= null && !("").equals(map.get("zzmm").toString().trim())){ map.put("zzmm",DictUtils.getDictLabel(map.get("zzmm").toString(), "ZZMM", "")); } else{ map.put("zzmm", ""); } } } model.addAttribute("map", formbean); model.addAttribute("page", page); model.addAttribute("pid", pid); return "modules/cadre/selection/democracyRecommendAddQuasiPersonList"; } /** * 民主推荐页面 * * @param id * @param formbean * @param request * @param response * @param model * @return * @author klx * @throws ParseException */ @RequestMapping(value = "form") public String form(String numid, String addFlag,String voteFlag,String hytjId,String did, String D_PRESERVE04,FormBean formbean, Model model,HttpServletRequest request, HttpServletResponse response) throws ParseException { User user = UserUtils.getUser(); Map<String, Object> idMap1 = Maps.newHashMap(); idMap1.put("NUM_ID", did); idMap1.put("oneRound", "oneRound"); Map<String, Object> idMap2 = Maps.newHashMap(); idMap2.put("NUM_ID", did); idMap2.put("secondRound", "secondRound"); List<Map<String, Object>> idList1 = democracyRecommendService.getMztjHytjId(idMap1); List<Map<String, Object>> idList2 = democracyRecommendService.getMztjHytjId(idMap2); String hytjId1 =""; String hytjId2 =""; String twoVoteFlag = "1"; if(idList1 != null && idList1.size()>0){ hytjId1 = idList1.get(0).get("NUM_ID").toString(); } if(idList2 != null && idList2.size()>0){ hytjId2 = idList2.get(0).get("NUM_ID").toString(); } //存的是认识表id,登录后用教职工号去取 Map<String, Object> bean = formbean.getBean(); if(null == bean){ bean = Maps.newHashMap(); } if (StringUtils.isNotEmpty(numid)) { bean.put("NUM_ID", numid); bean.put("addFlag", addFlag); } bean = democracyRecommendService.getDemocracyRecommendProcessEnty(bean); if(null != bean){ if(StringUtils.isNotEmpty(voteFlag)){ if(2== Integer.parseint(voteFlag)){ twoVoteFlag ="2"; hytjId = hytjId2; } else{ twoVoteFlag ="1"; hytjId = hytjId1; } } else{ if(null != bean.get("D_PRESERVE05")){ if( 6 > Integer.parseint(bean.get("D_PRESERVE05").toString()) && 0!=Integer.parseint(bean.get("D_PRESERVE05").toString())){ twoVoteFlag ="1"; hytjId = hytjId1; } else if( 6 <= Integer.parseint(bean.get("D_PRESERVE05").toString())){ twoVoteFlag ="2"; hytjId = hytjId2; } else if( 0 == Integer.parseint(bean.get("D_PRESERVE05").toString())){ twoVoteFlag ="2"; hytjId = hytjId2; } else{ twoVoteFlag ="1"; hytjId = hytjId1; } } else{ twoVoteFlag ="1"; hytjId = hytjId1; } } Map<String, Object> entity = Maps.newHashMap(); entity.put("LOGIN_NAME", user.getLoginName()); entity =motionService.getTMidRsPartyId(entity); if(null != entity){ String HANDLE_ID = entity.get("NUM_ID").toString(); String NAME = entity.get("XM").toString(); bean.put("HYTJ_HANDLE_ID_HID",HANDLE_ID); bean.put("HYTJ_NAME_HID", NAME); } else{ bean.put("HYTJ_HANDLE_ID_HID",""); bean.put("HYTJ_NAME_HID", ""); } Date finishDate = new Date(); bean.put("finishDate", finishDate); } Map<String, Object> obj = formbean.getBean(); obj.put("HYTJ_ID", hytjId); obj.put("voteFlag", twoVoteFlag); List<Map<String, Object>> democracyRecommendList = democracyRecommendService.gettCadreHytjHxmdList(obj); SimpleDateFormat format = new SimpleDateFormat("yyyy-M-dd"); int listSize = 0; String baseInfoId = ""; if(democracyRecommendList != null && democracyRecommendList.size()>0){ listSize = democracyRecommendList.size(); for (Map<String, Object> map:democracyRecommendList){ baseInfoId += map.get("PER_NUM_ID")+","; if(map.containsKey("XB") && map.get("XB")!= null && !("").equals(map.get("XB").toString().trim())){ map.put("XB",DictUtils.getDictLabel(map.get("XB").toString(), "XB", "")); } else{ map.put("XB", ""); } if(map.containsKey("csrq") && map.get("csrq")!= null && !("").equals(map.get("csrq").toString().trim())){ map.put("csrq",DateUtils.formatDate(format.parse(map.get("csrq").toString()), "yyyy-MM-dd")); } else{ map.put("csrq", ""); } if(map.containsKey("zzmm") && map.get("zzmm")!= null && !("").equals(map.get("zzmm").toString().trim())){ map.put("zzmm",DictUtils.getDictLabel(map.get("zzmm").toString(), "ZZMM", "")); } else{ map.put("zzmm", ""); } } } if(!("").equals(baseInfoId)){ baseInfoId = baseInfoId.substring(0,baseInfoId.length()-1); } Map<String, Object> map = Maps.newHashMap(); List<Map<String, Object>> hytjVotelist = null; map.put("HYTJ_ID", hytjId); map.put("voteFlag", twoVoteFlag); if(null != democracyRecommendService.gettCadreHytjVotelist(map) && democracyRecommendService.gettCadreHytjVotelist(map).size() >0){ hytjVotelist = democracyRecommendService.gettCadreHytjVotelist(map); } //取得谈话推荐的集合数据 Map<String, Object> thtjMap = Maps.newHashMap(); List<Map<String, Object>> thtjVotelist = null; thtjMap.put("NUM_ID", numid); if(null != democracyRecommendService.getmztjVoteList(thtjMap) && democracyRecommendService.getmztjVoteList(thtjMap).size() >0){ thtjVotelist = democracyRecommendService.getmztjVoteList(thtjMap); } //取得谈话信息 Map<String, Object> thtjInfo = democracyRecommendService.getTHTJInfo(thtjMap); Map<String, Object> zghMap = Maps.newHashMap(); zghMap.put("PROCESS_ID", numid); //取得你任人集合,确认拟任人 List<Map<String, Object>> quasiPersonList = democracyRecommendService.getQuasiPersonList(zghMap,null); if(quasiPersonList != null && quasiPersonList.size()>0){ for (Map<String, Object> quasiPersonMap:quasiPersonList){ if(quasiPersonMap.containsKey("XB") && quasiPersonMap.get("XB")!= null && !("").equals(quasiPersonMap.get("XB").toString().trim())){ quasiPersonMap.put("XB",DictUtils.getDictLabel(quasiPersonMap.get("XB").toString(), "XB", "")); } else{ quasiPersonMap.put("XB", ""); } if(quasiPersonMap.containsKey("csrq") && quasiPersonMap.get("csrq")!= null && !("").equals(quasiPersonMap.get("csrq").toString().trim())){ quasiPersonMap.put("csrq",DateUtils.formatDate(format.parse(quasiPersonMap.get("csrq").toString()), "yyyy-MM-dd")); } else{ quasiPersonMap.put("csrq", ""); } if(quasiPersonMap.containsKey("zzmm") && quasiPersonMap.get("zzmm")!= null && !("").equals(quasiPersonMap.get("zzmm").toString().trim())){ quasiPersonMap.put("zzmm",DictUtils.getDictLabel(quasiPersonMap.get("zzmm").toString(), "ZZMM", "")); } else{ quasiPersonMap.put("zzmm", ""); } } } //取得会议推荐的数据 Map<String, Object> hytjMap = Maps.newHashMap(); hytjMap.put("NUM_ID", numid); hytjMap.put("addFlag", addFlag); hytjMap.put("PRESERVE04", twoVoteFlag); Map<String, Object> hytjInfo = democracyRecommendService.getDemocracyRecommendHytjInfo(hytjMap); if(bean != null && hytjInfo !=null){ if(hytjInfo.containsKey("TPFS") && null != hytjInfo.get("TPFS")){ bean.put("TPFS", hytjInfo.get("TPFS")); } else{ bean.put("TPFS", ""); } } //取得综合评价信息 Map<String, Object> zhpjMap = Maps.newHashMap(); //会议id zhpjMap.put("THTJ_ID",hytjId); List<Map<String, Object>> zhpjList = democracyRecommendService.getZHPJVoteSumList(zhpjMap); //取得民主测评信息 Map<String, Object> mzcpMap = Maps.newHashMap(); //会议id mzcpMap.put("THTJ_ID",hytjId); mzcpMap = democracyRecommendService.getMZCPVoteSum(mzcpMap); model.addAttribute("zhpjList", zhpjList); model.addAttribute("mzcpMap", mzcpMap); model.addAttribute("addFlag", addFlag); model.addAttribute("twoVoteFlag", twoVoteFlag); model.addAttribute("quasiPersonList", quasiPersonList); model.addAttribute("thtjInfo", thtjInfo); model.addAttribute("hytjInfo", hytjInfo); model.addAttribute("D_PRESERVE04", D_PRESERVE04); model.addAttribute("thtjVotelist", thtjVotelist); model.addAttribute("hytjId1", hytjId1); model.addAttribute("hytjId2", hytjId2); model.addAttribute("hytjVotelist", hytjVotelist); model.addAttribute("empNameIdHid", baseInfoId); model.addAttribute("list", democracyRecommendList); model.addAttribute("listSize", listSize); model.addAttribute("map", new FormBean(bean)); return "modules/cadre/selection/democracyRecommendForm"; } /** * 民主推荐保存 * * @param formbean * @param request * @param response * @return * @author wzq */ @RequestMapping(value = "save") public @ResponseBody String save(FormBean formbean, Model model, RedirectAttributes redirectAttributes) { String result = StandardManage.OPERATE_SUCCESS; Map<String, Object> bean = formbean.getBean(); try { democracyRecommendService.saveDemocracyRecommend(FormBeanUtils.parse(bean)); } catch (Exception e) { e.printStackTrace(); result = StandardManage.OPERATE_FAIL; } return result; } /** * 民主推荐删除 * * @param request * @param response * @return * @author wzq * @throws IOException * @throws ServletException */ @RequestMapping(value = "deleteTalkPerson") public @ResponseBody Map<String, Object> deleteTalkPerson(String numid,String addFlag,String did,HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String msg = StandardManage.OPERATE_SUCCESS; Map<String, Object> result = Maps.newHashMap(); if (StringUtils.isEmpty(numid)) { msg = StandardManage.OPERATE_FAIL; } Map<String, Object> map = new HashMap<String, Object>(); map.put("NUM_ID", numid); try { democracyRecommendService.deletePartTimeApplication(map); } catch (Exception e) { e.printStackTrace(); msg = StandardManage.OPERATE_FAIL; } result.put("result", msg); return result; } /** * 拟任人删除 * * @param request * @param response * @return * @author * @throws IOException * @throws ServletException */ @RequestMapping(value = "deleteQuaisPerson") public @ResponseBody Map<String, Object> deleteQuaisPerson(String numid,String addFlag,String did,HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String msg = StandardManage.OPERATE_SUCCESS; Map<String, Object> result = Maps.newHashMap(); if (StringUtils.isEmpty(numid)) { msg = StandardManage.OPERATE_FAIL; } Map<String, Object> map = new HashMap<String, Object>(); map.put("NUM_ID", numid); try { democracyRecommendService.deleteQuasiPerson(map); } catch (Exception e) { e.printStackTrace(); msg = StandardManage.OPERATE_FAIL; } result.put("result", msg); return result; } /** * 候选人删除 * * @param request * @param response * @return * @author * @throws IOException * @throws ServletException */ @RequestMapping(value = "deleteCandidate") public @ResponseBody Map<String, Object> deleteCandidate (String numid,String addFlag,String did,HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String msg = StandardManage.OPERATE_SUCCESS; Map<String, Object> result = Maps.newHashMap(); if (StringUtils.isEmpty(numid)) { msg = StandardManage.OPERATE_FAIL; } Map<String, Object> map = new HashMap<String, Object>(); map.put("NUM_ID", numid); try { democracyRecommendService.deleteCandidate(map); } catch (Exception e) { e.printStackTrace(); msg = StandardManage.OPERATE_FAIL; } result.put("result", msg); return result; } /** * 民主推荐导出列表 * * @param formBean * @param request * @param response * @param redirectAttributes * @throws IOException * @author KLX * @throws ParseException */ @RequestMapping(value = "candidateExport") public String candidateExport(FormBean formBean,String PROCESS_ID,String hytjId,String voteFlag, HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) throws IOException, ParseException { Map<String, Object> bean = Maps.newHashMap(); SimpleDateFormat format = new SimpleDateFormat("yyyy-M-dd"); bean.put("HYTJ_ID", hytjId); bean.put("voteFlag", voteFlag); List<Map<String, Object>> list = democracyRecommendService.gettCadreHytjHxmdList(bean); int index = 0; if (list != null && list.size()>0) { for (Map<String, Object> map : list) { if(map != null && map.size() >0){ index++; map.put("INDEX", index); //姓名 if(map.containsKey("XM")){ map.put("XM",map.get("XM").toString()); } else{ map.put("XM",""); } //性别 if(map.containsKey("XB")){ map.put("XB",DictUtils.getDictLabel(map.get("XB").toString(), "XB", "")); } else{ map.put("XB",""); } //出生年月 if(map.containsKey("CSRQ")){ map.put("CSRQ",DateUtils.formatDate(format.parse(map.get("CSRQ").toString()), "yyyy-MM-dd")); } else{ map.put("CSRQ",""); } //政治面目 if(map.containsKey("ZZMM")){ map.put("ZZMM",DictUtils.getDictLabel(map.get("ZZMM").toString(), "ZZMM", "")); } else{ map.put("ZZMM",""); } //现任职务 if(map.containsKey("DUTIES")){ map.put("DUTIES",map.get("DUTIES")); } else{ map.put("DUTIES",""); } //任现职时间 if(map.containsKey("TENURE")){ map.put("TENURE",DateUtils.formatDate(format.parse(map.get("TENURE").toString()), "yyyy-MM-dd")); } else{ map.put("TENURE",""); } //任同职级时间 if(map.containsKey("LEVEL_TENURE")){ map.put("LEVEL_TENURE",DateUtils.formatDate(format.parse(map.get("LEVEL_TENURE").toString()), "yyyy-MM-dd")); } else{ map.put("LEVEL_TENURE",""); } } } } String filename = "民主推荐候选名单" + "(" + DateUtils.getDate("yyyyMMdd") + ").xlsx"; try { ExcelExport excelExport = new ExcelExport(request, filename, "MZTJCandidatesListExcel.xlsx"); excelExport.addData("list", list); excelExport.export(response); } catch (Exception e) { e.printStackTrace(); } return null; } /** * 民主推荐查询 * * @param formbean * @param request * @param response * @param model * @return * @author wzq */ @RequestMapping(value = "addPersonList") public String addPersonList(FormBean formbean, HttpServletRequest request, HttpServletResponse response, Model model) { FormBeanUtils.preDeal(formbean, request); Page<Map<String, Object>> page = democracyRecommendService.getDemocraticRecommendProcessPageList(new Page<Map<String, Object>>(request, response), formbean); model.addAttribute("map", formbean); model.addAttribute("page", page); return "modules/cadre/selection/democracyRecommendAddPersonList"; } /** * 民主推荐,班子换届 一轮投票 * * @param formbean * @param request * @param response * @param model * @return * @author klx */ @RequestMapping(value = "roundOfVote") public String roundOfVote(FormBean formbean, HttpServletRequest request, HttpServletResponse response, Model model) { FormBeanUtils.preDeal(formbean, request); Page<Map<String, Object>> page = democracyRecommendService.getDemocraticRecommendProcessPageList(new Page<Map<String, Object>>(request, response), formbean); model.addAttribute("map", formbean); model.addAttribute("page", page); return "modules/cadre/selection/democracyRecommendRoundOfVoting"; } /** * 民主推荐,其他投票 * * @param formbean * @param request * @param response * @param model * @return * @author klx */ @RequestMapping(value = "otherOfVote") public String otherOfVote(FormBean formbean, HttpServletRequest request, HttpServletResponse response, Model model) { FormBeanUtils.preDeal(formbean, request); Page<Map<String, Object>> page = democracyRecommendService.getDemocraticRecommendProcessPageList(new Page<Map<String, Object>>(request, response), formbean); model.addAttribute("map", formbean); model.addAttribute("page", page); return "modules/cadre/selection/democracyRecommendOtherOfVoting"; } /** * 选择人员列表(正式党员,预备党员)民主推荐,选择人员 * @author Changjielai * @param excIds 排除的人员id * @param formbean * @param request * @param response * @param model * @param orgId * @return klx */ @RequestMapping(value = "partyMzSelectList") public String partyMzSelectList(String excIds,String numIds,String roleId,String mid,String pid,FormBean formbean, HttpServletRequest request, HttpServletResponse response, Model model) { FormBeanUtils.preDeal(formbean, request); Page<Map<String, Object>> page = null; String twoVoteFlag = ""; Map<String, Object> bean = Maps.newHashMap(); if (StringUtils.isNotEmpty(pid)) { bean.put("NUM_ID", pid); bean.put("addFlag", "add"); } bean = democracyRecommendService.getDemocracyRecommendProcessEnty(bean); if(null != bean && null != bean.get("D_PRESERVE05")){ if( 6 > Integer.parseint(bean.get("D_PRESERVE05").toString()) && 0!=Integer.parseint(bean.get("D_PRESERVE05").toString())){ twoVoteFlag ="1"; } else if( 6 <= Integer.parseint(bean.get("D_PRESERVE05").toString())){ twoVoteFlag ="2"; } else if( 0 == Integer.parseint(bean.get("D_PRESERVE05").toString())){ twoVoteFlag ="2"; } else{ twoVoteFlag ="1"; } } else{ twoVoteFlag ="1"; } if("1".equals(twoVoteFlag)){ //1轮 if(StringUtils.isNotEmpty(roleId)){ //取得未选择的拟任人的参数 formbean.getBean().put("roleId", roleId.split(",")); } page = democracyRecommendService.candidateSelectPageList(new Page<Map<String, Object>>(request, response), formbean); } else if ("2".equals(twoVoteFlag)){ if(StringUtils.isNotEmpty(mid)){ Map<String, Object> idMap1 = Maps.newHashMap(); idMap1.put("NUM_ID", mid); idMap1.put("oneRound", "oneRound"); String hytjId = ""; List<Map<String, Object>> idList1 = democracyRecommendService.getMztjHytjId(idMap1); if(idList1 != null && idList1.size()>0){ hytjId = idList1.get(0).get("NUM_ID").toString(); } Map<String, Object> obj = formbean.getBean(); obj.put("HYTJ_ID", hytjId); obj.put("voteFlag", "1"); List<Map<String, Object>> democracyRecommendList = democracyRecommendService.gettCadreHytjHxmdList(obj); String baseInfoId = ""; if(democracyRecommendList != null && democracyRecommendList.size()>0){ for (Map<String, Object> map:democracyRecommendList){ baseInfoId += map.get("PER_NUM_ID")+","; } } if(!("").equals(baseInfoId)){ baseInfoId = baseInfoId.substring(0,baseInfoId.length()-1); } if(StringUtils.isNotEmpty(roleId)){ //取得未选择的拟任人的参数 formbean.getBean().put("roleId", roleId.split(",")); } //取得未选择的拟任人的参数 formbean.getBean().put("BASE_INFO_ID", baseInfoId.split(",")); } page = democracyRecommendService.candidateSelectPageList(new Page<Map<String, Object>>(request, response), formbean); } //2轮 FormBeanUtils.afterDeal(formbean, request); model.addAttribute("map", formbean); model.addAttribute("page", page); model.addAttribute("roleId", roleId); model.addAttribute("mid", mid); model.addAttribute("pid", pid); return "modules/common/empUtils/partyMzSelectList"; } /** * 选择人员列表(正式党员,预备党员)民主推荐,选择人员,参会名单 * @author Changjielai * @param excIds 排除的人员id * @param formbean * @param request * @param response * @param model * @param orgId * @return klx */ @RequestMapping(value = "partyMzMettingSelectList") public String partyMzMettingSelectList(String excIds,String numIds,String roleId,FormBean formbean, HttpServletRequest request, HttpServletResponse response, Model model) { FormBeanUtils.preDeal(formbean, request); /*formbean.getBean().put("TABLE", "T_CADRE_USER_INFO"); if(StringUtils.isNotEmpty(numIds)){ formbean.getBean().put("BASE_INFO_ID", numIds.split(",")); } */ Page<Map<String, Object>> page = democracyRecommendService.candidateSelectPageList(new Page<Map<String, Object>>(request, response), formbean); FormBeanUtils.afterDeal(formbean, request); model.addAttribute("map", formbean); model.addAttribute("page", page); model.addAttribute("roleId", roleId); return "modules/common/empUtils/partyMzMettingSelectList"; } /** * 添加候选名单,返回的回显函数 * * @param formbean * @param request * @param response * @param model * @return * @author klx */ @RequestMapping(value = "partyMzAjaxSelectList") public @ResponseBody Map<String, Object> partyMzAjaxSelectList(FormBean formbean, String numIds,String PROCESS_ID,String hytjId,String voteFlag,Model model,HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) { String result = StandardManage.OPERATE_SUCCESS; Map<String, Object> bean = Maps.newHashMap(); Map<String, Object> entity = Maps.newHashMap(); SimpleDateFormat format = new SimpleDateFormat("yyyy-M-dd"); //获取当前用户 User user = UserUtils.getUser(); String CREATE_BY=""; if(user != null && null != user.getLoginName()){ CREATE_BY=user.getLoginName(); } List<Map<String, Object>> page = null; try { if(StringUtils.isNotEmpty(numIds)){ bean.put("BASE_INFO_ID", numIds.split(",")); } page = democracyRecommendService.candidateSelectNoPageList(bean, formbean); if(page != null && page.size() >0){ for (Map<String, Object> map : page){ Date day=new Date(); map.put("NUM_ID",EmpUtilsService.getBeanId()); //民主推荐下会议推荐ID map.put("HYTJ_ID",hytjId); //教职工号 map.put("QUASI_ID",map.get("ZGH")); map.put("LS",voteFlag); map.put("PRESERVE01",voteFlag); map.put("CREATE_DATE",day); map.put("CREATE_BY",CREATE_BY); map.put("DEL_FLAG","0"); } entity.put("list", page); //將數據更新到數據庫 democracyRecommendService.inserttCadreHytjHxmdList(entity); } Map<String, Object> obj = Maps.newHashMap(); obj.put("HYTJ_ID", hytjId); obj.put("voteFlag", voteFlag); List<Map<String, Object>> listPage = democracyRecommendService.gettCadreHytjHxmdList(obj); String empNameIdAllHid = ""; if(listPage != null && listPage.size()>0){ for (Map<String, Object> map : listPage){ empNameIdAllHid += map.get("PER_NUM_ID")+","; //性别 if(map.containsKey("XB")){ map.put("XB",DictUtils.getDictLabel(map.get("XB").toString(), "XB", "")); } else{ map.put("XB",""); } if(map.containsKey("ZZMM") && map.get("ZZMM")!= null && !("").equals(map.get("ZZMM").toString().trim())){ map.put("ZZMM",DictUtils.getDictLabel(map.get("zzmm").toString(), "ZZMM", "")); } else{ map.put("ZZMM", ""); } //时间 if(map.containsKey("CSRQ")&& null!= map.get("CSRQ") && !("").equals(map.get("CSRQ").toString().trim())){ map.put("CSRQ",DateUtils.formatDate(format.parse(map.get("CSRQ").toString()), "yyyy-MM-dd")); } else{ map.put("CSRQ",""); } //时间 if(map.containsKey("DUTIES")&& null!= map.get("DUTIES") && !("").equals(map.get("DUTIES").toString().trim())){ } else{ map.put("DUTIES",""); } //zhiwu if(map.containsKey("TENURE")&& null!= map.get("TENURE") && !("").equals(map.get("TENURE").toString().trim())){ } else{ map.put("TENURE",""); } //时间 if(map.containsKey("LEVEL_TENURE")&& null!= map.get("LEVEL_TENURE") && !("").equals(map.get("LEVEL_TENURE").toString().trim())){ } else{ map.put("LEVEL_TENURE",""); } } bean.put("list", listPage); } if(!("").equals(empNameIdAllHid)){ empNameIdAllHid = empNameIdAllHid.substring(0,empNameIdAllHid.length()-1); } bean.put("result", result); bean.put("empNameIdAllHid", empNameIdAllHid); } catch (Exception e) { e.printStackTrace(); result = StandardManage.OPERATE_FAIL; bean.put("result", result); } return bean; } /** * 导入刷新候选名单数据,返回的回显函数 * * @param formbean * @param request * @param response * @param model * @return * @author klx */ @RequestMapping(value = "MzAjaxSelectPersonList") public @ResponseBody Map<String, Object> MzAjaxSelectPersonList(FormBean formbean, String numIds,String PROCESS_ID,String addFlag,String hytjId,String voteFlag,Model model,HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) { String result = StandardManage.OPERATE_SUCCESS; Map<String, Object> bean = formbean.getBean(); bean.put("HYTJ_ID", hytjId); bean.put("voteFlag", voteFlag); SimpleDateFormat format = new SimpleDateFormat("yyyy-M-dd"); try { List<Map<String, Object>> listPage = democracyRecommendService.gettCadreHytjHxmdList(bean); if(listPage != null && listPage.size()>0){ for (Map<String, Object> map : listPage){ //性别 if(map.containsKey("XB")){ map.put("XB",DictUtils.getDictLabel(map.get("XB").toString(), "XB", "")); } else{ map.put("XB",""); } if(map.containsKey("ZZMM") && map.get("ZZMM")!= null && !("").equals(map.get("ZZMM").toString().trim())){ map.put("ZZMM",DictUtils.getDictLabel(map.get("zzmm").toString(), "ZZMM", "")); } else{ map.put("ZZMM", ""); } //时间 if(map.containsKey("CSRQ")&& null!= map.get("CSRQ") && !("").equals(map.get("CSRQ").toString().trim())){ map.put("CSRQ",DateUtils.formatDate(format.parse(map.get("CSRQ").toString()), "yyyy-MM-dd")); } else{ map.put("CSRQ",""); } //时间 if(map.containsKey("DUTIES")&& null!= map.get("DUTIES") && !("").equals(map.get("DUTIES").toString().trim())){ } else{ map.put("DUTIES",""); } //zhiwu if(map.containsKey("TENURE")&& null!= map.get("TENURE") && !("").equals(map.get("TENURE").toString().trim())){ } else{ map.put("TENURE",""); } //时间 if(map.containsKey("LEVEL_TENURE")&& null!= map.get("LEVEL_TENURE") && !("").equals(map.get("LEVEL_TENURE").toString().trim())){ } else{ map.put("LEVEL_TENURE",""); } } } bean.put("list", listPage); bean.put("result", result); } catch (Exception e) { e.printStackTrace(); result = StandardManage.OPERATE_FAIL; bean.put("result", result); } return bean; } /* */ /** * 解析表头 * * @author Changjielai * @param exportInfo * @return */ /* private static Map<String, Object> getExportInfo(String exportInfo) { Map<String, Object> exportMap = Maps.newHashMap(); if (com.thinkgem.jeesite.common.utils.StringUtils.isNotEmpty(exportInfo)) { JSONArray exportInfoArray = JSONArray.fromObject(exportInfo); List<String> headerList = Lists.newArrayList(); List<String> codeList = Lists.newArrayList(); String[] columnName = new String[exportInfoArray.size()]; for (int i = 0; i < exportInfoArray.size(); i++) { JSONObject jsonObject = exportInfoArray.getJSONObject(i); columnName[i] = jsonObject.getString("column"); headerList.add(jsonObject.getString("name")); codeList.add(jsonObject.getString("code")); } exportMap.put("headerList", headerList); exportMap.put("codeList", codeList); exportMap.put("columnName", columnName); } return exportMap; }*/ //导出 @RequestMapping(value = "import", method = RequestMethod.POST) @ResponseBody public Object importFile(MultipartFile file,String paramID, String voteFlag,RedirectAttributes redirectAttributes) { Map<String, Object> result = new HashMap<>(); Date day=new Date(); Boolean falg = true; //获取当前用户 User user = UserUtils.getUser(); String CREATE_BY=""; if(user != null && null != user.getLoginName()){ CREATE_BY=user.getLoginName(); } try { List<String> list = new ArrayList<String>(); int successNum = 0; int failureNum = 0; StringBuilder failureMsg = new StringBuilder(); StringBuilder message = new StringBuilder("<br>"); ImportExcel ei = new ImportExcel(file, 1, 0); int len = ei.getLastDataRowNum(); for (int i = 2; i < len; i++) { Row row = ei.getRow(i); Object cell0 = getCellValue(row, 0).toString().trim(); Object cell1 = getCellValue(row, 1).toString().trim(); // 判断是否全部为空 if (StringUtils.isEmpty(cell0.toString())&&StringUtils.isEmpty(cell1.toString())) { continue; } // 验证 StringBuilder msg = new StringBuilder(); if (StringUtils.isEmpty(cell0.toString())) { msg.append("教职工号缺失,"); } else if (cell0.toString().length() > 30) { msg.append("教职工号输入过长,"); } if (StringUtils.isNotEmpty(cell0.toString())) { if (list.contains(cell0.toString())) { msg.append("教职工号重复,"); } else { // 判断数据库是否有相同拟任人数据 Map<String, Object> searchParams = new HashMap<>(); searchParams.put("ZGH", cell0); searchParams.put("HYTJ_ID", paramID); List<Map<String, Object>> remindList = democracyRecommendService.gettCadreHytjHxmdList(searchParams); if (CollectionUtils.isNotEmpty(remindList)) { falg = false; msg.append("教职工号重复,"); } else { list.add(cell0.toString()); } //判断人事表是否有该编号的人 List<Map<String, Object>> cadre = democracyRecommendService.candidateSelectListByOneZGH(searchParams); if(cadre == null || cadre.size() <=0){ falg = false; msg.append("人员在人事系统中不存在"); } if(falg){ List<Map<String, Object>> objList = new ArrayList<Map<String,Object>>(); Map<String, Object> m = Maps.newHashMap(); Map<String, Object> entity = Maps.newHashMap(); m.put("NUM_ID",EmpUtilsService.getBeanId()); //民主推荐下会议推荐ID m.put("HYTJ_ID",paramID); //教职工号 m.put("QUASI_ID",cadre.get(0).get("ZGH")); m.put("LS",voteFlag); m.put("PRESERVE01",voteFlag); m.put("CREATE_DATE",day); m.put("CREATE_BY",CREATE_BY); m.put("DEL_FLAG","0"); objList.add(m); entity.put("list", objList); democracyRecommendService.inserttCadreHytjHxmdList(entity); successNum++; } falg = true; } } if (msg.length() > 0) { msg.insert(0, "第" + (i + 1) + "行,"); msg.deleteCharAt(msg.length() - 1); msg.append(";<br>"); message.append(msg); failureNum++; continue; } } if (failureNum > 0) { failureMsg.insert(0, ",失败 " + failureNum + " 条记录。"); } result.put("error_code", 0); result.put("message", "已成功导入 " + successNum + " 条记录" + failureMsg + message); return result; // addMessage(redirectAttributes, "已成功导入 " + successNum + " 条记录" + failureMsg + message); } catch (Exception e) { result.put("error_code", 10000); result.put("message", "导入失败!失败信息:" + e.getMessage()); return result; // addMessage(redirectAttributes, "导入失败!失败信息:" + e.getMessage()); } } @RequestMapping(value = "reload", method = RequestMethod.POST) public String reload(HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) throws Exception { return "redirect:" + Global.getAdminPath() + "/selection/democracyRecommend/?repage"; } @RequestMapping(value = "import/template") public String importFileTemplate(HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) throws Exception { democracyRecommendService.exporTemplate(request, response); return null; } /** * 保存投票方案 * * @param formbean * @param request * @param response * @return * @author KLX * @throws IOExceptionE */ @RequestMapping(value = "insertTCadreMztjHytj") public @ResponseBody Map<String, Object> insertTCadreMztjHytj(FormBean formbean, Model model, HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) throws IOException { String result = StandardManage.OPERATE_SUCCESS; Map<String, Object> map = Maps.newHashMap(); Date day=new Date(); String voteFlag = request.getParameter("voteFlagHid"); String hytjid = request.getParameter("hytjIdHid"); //获取当前用户 User user = UserUtils.getUser(); String UPDATE_BY=""; if(user != null && null != user.getLoginName()){ UPDATE_BY=user.getLoginName(); } Map<String, Object> bean = formbean.getBean(); if(bean != null ){ bean.put("UPDATE_BY", UPDATE_BY); bean.put("UPDATE_DATE", day); bean.put("NUM_ID", hytjid); if(null != voteFlag && "2".equals(voteFlag)){ bean.put("voteFlag", "2"); } else{ bean.put("voteFlag", "1"); } } try { democracyRecommendService.updateTCadreMztjHytj(FormBeanUtils.parse(bean)); } catch (Exception e) { e.printStackTrace(); result = StandardManage.OPERATE_FAIL; } map.put("result", result); return map; } //生成二维码 @RequestMapping(value = "exportQR") public void exportImg(FormBean formBean,String isCanVoteFlag,String PROCESS_ID,String HYTJ_NUM_ID,String voteFlag,String transitionType, HttpServletRequest request, HttpServletResponse response) throws ParseException { ZipOutputStream zos = null; try { Map<String, Object> searchParams = Maps.newHashMap(); searchParams.put("NUM_ID", PROCESS_ID); Map<String, Object> result = democracyRecommendService.getDemocracyRecommendProcessEnty(searchParams); String fileName = ""; String year = ""; String name = ""; if(result != null ){ if(result.containsKey("PROCESS_NAME") && null != result.get("PROCESS_NAME")){ name = result.get("PROCESS_NAME").toString(); } if(result.containsKey("PROCESS_YEAR") && null != result.get("PROCESS_YEAR")){ year = result.get("PROCESS_YEAR").toString(); } fileName = name +"-民主推荐投票"; result.put("fileName", fileName); } response.setContentType("application/octet-stream"); // 指明response的返回对象是文件流 response.setHeader("Content-Disposition", "attachment;filename=" + java.net.URLEncoder.encode(fileName, "UTF-8") + ".zip"); // 设置在下载框默认显示的文件名 zos = new ZipOutputStream(response.getOutputStream()); String url = CommonUtil.getServerUrl(request); String code = ""; if(("0").equals(transitionType)){ //班子换届页面 code = url + "/mobile/selection/democracyRecommendRoundOfVoting/list?PROCESS_ID="+PROCESS_ID+"&HYTJ_NUM_ID="+HYTJ_NUM_ID+"&voteFlag="+voteFlag+"&isCanVoteFlag="+isCanVoteFlag; } else{ //其他投票页面 code = url + "/mobile/selection/democracyRecommendOtherOfVoting/list?PROCESS_ID="+PROCESS_ID+"&HYTJ_NUM_ID="+HYTJ_NUM_ID+"&voteFlag="+voteFlag+"&isCanVoteFlag="+isCanVoteFlag; } // 生成二维码 BufferedImage image = QRCodeUtils.createQRCode(code); image = QRCodeUtils.meetOtherVoit(image, result); zos.putNextEntry(new ZipEntry(fileName + ".png")); // 命名 ImageIO.write(image, "png",zos); zos.flush(); zos.close(); } catch (IOException e) { e.printStackTrace(); } finally { if (zos != null) { try { zos.flush(); zos.close(); } catch (IOException e) { e.printStackTrace(); } } } } /** * 结束投票,更新爷们民主推荐下谈话推荐投票数据,t_cadre_mztj_vote * * @param formbean * @param request * @param response * @return * @author KLX * @throws IOException */ @RequestMapping(value = "showTCadreMztjVote") public @ResponseBody Map<String, Object> showTCadreMztjVote(FormBean formbean, Model model,String HYTJ_ID,String voteFlag, HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) throws IOException { String result = StandardManage.OPERATE_SUCCESS; //取得1轮实投票数 Map<String, Object> voteSumBean = Maps.newHashMap(); voteSumBean.put("HYTJ_NUM_ID", HYTJ_ID); voteSumBean.put("voteFlag", voteFlag); //取得一轮投票的总票数 Map<String, Object> voteSumMap = democracyRecommendService.getvoteSum(voteSumBean); int voteSum = 0; if( null != voteSumMap && voteSumMap.get("voteSum") != null){ voteSum = Integer.parseint(voteSumMap.get("voteSum").toString()); } /* //更新会议推荐的实投票数 Map<String, Object> voteBean = Maps.newHashMap(); voteBean.put("NUM_ID", HYTJ_ID); voteBean.put("HYTJ_ACTUAL_NUM", (voteSum==0?"0":voteSum)); voteBean.put("voteFlag", voteFlag); democracyRecommendService.updateTCadreMztjHytj(voteBean);*/ Map<String, Object> map = Maps.newHashMap(); List<Map<String, Object>> list = null; map.put("HYTJ_ID", HYTJ_ID); map.put("voteFlag", voteFlag); try { if(null != democracyRecommendService.gettCadreHytjVotelist(map) && democracyRecommendService.gettCadreHytjVotelist(map).size() >0){ list = democracyRecommendService.gettCadreHytjVotelist(map); } } catch (Exception e) { e.printStackTrace(); result = StandardManage.OPERATE_FAIL; } map.put("result", result); map.put("voteSum", voteSum); map.put("list", list); return map; } /** * 二轮投票,把一轮投票的候选名单更新到二轮投票的候选名单中 * * @param formbean * @param request * @param response * @return * @author KLX * @throws IOException */ @RequestMapping(value = "updateHytjHxmdAjax") public @ResponseBody Map<String, Object> updateHytjHxmdAjax(FormBean formbean, Model model,String HYTJ_ID,String voteFlag, String HYTJ_NUM_ID,String did,HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) throws IOException { String result = StandardManage.OPERATE_SUCCESS; //取得会议推荐信息 Map<String, Object> hytjmap = Maps.newHashMap(); hytjmap.put("NUM_ID", HYTJ_NUM_ID); Map<String, Object> hytjInfo = democracyRecommendService.getMztjHytjInfo(hytjmap); String id = EmpUtilsService.getBeanId(); if(hytjInfo != null){ Map<String, Object> hytjObj = Maps.newHashMap(); hytjObj.put("NUM_ID", id); hytjObj.put("DEMOCRATIC_ID",hytjInfo.get("DEMOCRATIC_ID")); hytjObj.put("HYTJ_STATUS", hytjInfo.get("HYTJ_STATUS")); hytjObj.put("HANDLE_ID", hytjInfo.get("HANDLE_ID")); hytjObj.put("MOTION_COMPLETE", hytjInfo.get("MOTION_COMPLETE")); hytjObj.put("HYTJ_RANGE", hytjInfo.get("HYTJ_RANGE")); hytjObj.put("HYTJ_NAMELIST", hytjInfo.get("HYTJ_NAMELIST")); hytjObj.put("SHOULD_NUM", "0"); hytjObj.put("ACTUAL_NUM", "0"); hytjObj.put("CREATE_DATE", hytjInfo.get("CREATE_DATE")); hytjObj.put("CREATE_BY", hytjInfo.get("CREATE_BY")); hytjObj.put("PRESERVE03", hytjInfo.get("PRESERVE03")); hytjObj.put("DEL_FLAG", hytjInfo.get("DEL_FLAG")); hytjObj.put("TPFS", hytjInfo.get("TPFS")); //二轮会议推荐的标识 hytjObj.put("PRESERVE04", "2"); democracyRecommendService.insertMztjHytj(hytjObj); } Map<String, Object> map = Maps.newHashMap(); //获取当前用户 /* User user = UserUtils.getUser(); String CREATE_BY=""; if(user != null && null != user.getLoginName()){ CREATE_BY=user.getLoginName(); }*/ try { /* Map<String, Object> obj = formbean.getBean(); obj.put("HYTJ_ID", HYTJ_ID); obj.put("voteFlag", "1"); List<Map<String, Object>> hxmdList = democracyRecommendService.gettCadreHytjHxmdList(obj); Map<String, Object> listMap = formbean.getBean(); if(null != hxmdList && hxmdList.size()>0){ for(Map<String, Object> m:hxmdList){ Date day=new Date(); if(m.containsKey("PRESERVE01") && null != m.get("PRESERVE01")){ m.put("PRESERVE01", "2"); }else{ m.put("PRESERVE01", "2"); } if(m.containsKey("NUM_ID") && null != m.get("NUM_ID")){ m.put("NUM_ID", EmpUtilsService.getBeanId()); }else{ m.put("NUM_ID",EmpUtilsService.getBeanId()); } m.put("CREATE_BY",CREATE_BY); m.put("CREATE_DATE",day); m.put("LS","2"); m.put("HYTJ_ID",id); } listMap.put("list", hxmdList); democracyRecommendService.inserttCadreHytjHxmdList(listMap); }*/ Map<String, Object> idMap1 = Maps.newHashMap(); idMap1.put("NUM_ID", did); idMap1.put("oneRound", "oneRound"); Map<String, Object> idMap2 = Maps.newHashMap(); idMap2.put("NUM_ID", did); idMap2.put("secondRound", "secondRound"); List<Map<String, Object>> idList1 = democracyRecommendService.getMztjHytjId(idMap1); List<Map<String, Object>> idList2 = democracyRecommendService.getMztjHytjId(idMap2); String hytjId1 =""; String hytjId2 =""; if(idList1 != null && idList1.size()>0){ hytjId1 = idList1.get(0).get("NUM_ID").toString(); } if(idList2 != null && idList2.size()>0){ hytjId2 = idList2.get(0).get("NUM_ID").toString(); } map.put("hytjId1", hytjId1); map.put("hytjId2", hytjId2); map.put("result", result); } catch (Exception e) { e.printStackTrace(); map.put("hytjId1", ""); map.put("hytjId2", ""); result = StandardManage.OPERATE_FAIL; map.put("result", result); } return map; } /** * 完成投票方案 * * @param formbean * @param request * @param response * @return * @author KLX * @throws IOException */ @RequestMapping(value = "finishedCadreMztjHytj") public @ResponseBody Map<String, Object> finishedCadreMztjHytj(FormBean formbean, Model model,String voteFlag,String hytjid, String D_NUM_ID,String THTJ_NUM_ID,HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) throws IOException { String MOTION_COMPLETE_NEW = request .getParameter("MOTION_COMPLETE_NEW"); String HANDLE_ID = request.getParameter("HANDLE_ID"); String empName = request.getParameter("empNameHid"); String zgh =""; //根据id查出教职工号 Map<String, Object> zghMap = Maps.newHashMap(); zghMap.put("NUM_ID", HANDLE_ID); List<Map<String, Object>> zghList = democracyRecommendService.getRsPartyZghById(zghMap); if(zghList != null && zghList.size() >0){ zgh = zghList.get(0).get("ZGH").toString(); } String result = StandardManage.OPERATE_SUCCESS; Map<String, Object> map = Maps.newHashMap(); Date day=new Date(); //获取当前用户 User user = UserUtils.getUser(); String UPDATE_BY=""; if(user != null && null != user.getLoginName()){ UPDATE_BY=user.getLoginName(); } Map<String, Object> bean = formbean.getBean(); Map<String, Object> updaeMap = Maps.newHashMap(); String PRESERVE04Str = ""; try { if(null != bean){ //将会议投票的数据更新到谈话推荐 Map<String, Object> thtjMap = Maps.newHashMap(); Map<String, Object> talkMap = Maps.newHashMap(); List<Map<String, Object>> list= new ArrayList<Map<String,Object>>(); List<Map<String, Object>> hytjVotelist = null; thtjMap.put("HYTJ_ID", hytjid); thtjMap.put("voteFlag", voteFlag); if(null != democracyRecommendService.gettCadreHytjVotelist(thtjMap) && democracyRecommendService.gettCadreHytjVotelist(thtjMap).size() >0){ hytjVotelist = democracyRecommendService.gettCadreHytjVotelist(thtjMap); for (Map<String, Object> m : hytjVotelist){ Map<String, Object> talkParamterMap = Maps.newHashMap(); talkParamterMap.put("NUM_ID",EmpUtilsService.getBeanId()); talkParamterMap.put("DEL_FLAG","0"); talkParamterMap.put("QUASI_ID",m.get("QUASI_ID")); talkParamterMap.put("POST_ID",m.get("POST_ID")); talkParamterMap.put("EFFECTIVE_NUM",""); talkParamterMap.put("GET_NUM",""); talkParamterMap.put("THTJ_ID",THTJ_NUM_ID); talkParamterMap.put("LS",m.get("LS")); talkParamterMap.put("CREATE_BY",UPDATE_BY ); talkParamterMap.put("CREATE_DATE", day); talkParamterMap.put("UPDATE_BY", UPDATE_BY); talkParamterMap.put("UPDATE_DATE", day); list.add(talkParamterMap); } talkMap.put("list", list); democracyRecommendService.insertLisMztjVoteAddPerson(FormBeanUtils.parse(talkMap)); } //更新父节点里的子节点状态的状态 if(null != bean.get("DD_PRESERVE04") && bean.get("DD_PRESERVE04").toString().length() >0){ PRESERVE04Str = bean.get("DD_PRESERVE04").toString(); if(PRESERVE04Str.length() != (PRESERVE04Str.indexOf("-")+1)){ PRESERVE04Str = PRESERVE04Str.substring((PRESERVE04Str.indexOf("-")+1)) ; } else{ PRESERVE04Str =""; } } updaeMap.put("NUM_ID", D_NUM_ID); updaeMap.put("UPDATE_BY", UPDATE_BY); updaeMap.put("UPDATE_DATE", day); //更新子节点的字符拼接 updaeMap.put("PRESERVE04", PRESERVE04Str); democracyRecommendService.updateDemocraticRecommend(updaeMap); } if(null != voteFlag && "2".equals(voteFlag)){ if(bean != null ){ bean.put("UPDATE_BY", UPDATE_BY); bean.put("UPDATE_DATE", day); bean.put("NUM_ID", hytjid); bean.put("HYTJ_STATUS", "1"); bean.put("MOTION_COMPLETE", MOTION_COMPLETE_NEW); bean.put("HANDLE_ID", zgh); bean.put("PRESERVE05", empName); if(null != voteFlag && "2".equals(voteFlag)){ bean.put("voteFlag", "2"); } else{ bean.put("voteFlag", "1"); } } //更新二次投票的数据 democracyRecommendService.updateTCadreMztjHytj(FormBeanUtils.parse(bean)); ////更新第一次投票的数据 Map<String, Object> m = Maps.newHashMap(); m.put("HYTJ_STATUS", "1"); m.put("D_NUM_ID", D_NUM_ID); m.put("voteFlag", "1"); m.put("MOTION_COMPLETE", MOTION_COMPLETE_NEW); m.put("HANDLE_ID", HANDLE_ID); m.put("PRESERVE05", empName); democracyRecommendService.updateTCadreMztjHytj(FormBeanUtils.parse(m)); } if(null != voteFlag && "1".equals(voteFlag)){ if(bean != null ){ bean.put("UPDATE_BY", UPDATE_BY); bean.put("UPDATE_DATE", day); bean.put("NUM_ID", hytjid); bean.put("HYTJ_STATUS", "1"); bean.put("MOTION_COMPLETE", MOTION_COMPLETE_NEW); bean.put("HANDLE_ID", HANDLE_ID); bean.put("PRESERVE05", empName); if(null != voteFlag && "2".equals(voteFlag)){ bean.put("voteFlag", "2"); } else{ bean.put("voteFlag", "1"); } } democracyRecommendService.updateTCadreMztjHytj(FormBeanUtils.parse(bean)); } } catch (Exception e) { e.printStackTrace(); result = StandardManage.OPERATE_FAIL; } map.put("result", result); return map; } /** * 更新民主推荐子节点的阶段标识方案 * * @param formbean * @param request * @param response * @return * @author KLX * @throws IOException */ @RequestMapping(value = "updateDemocraticRecommend") public @ResponseBody Map<String, Object> updateDemocraticRecommend(FormBean formbean, Model model,String voteFlag,String D_PRESERVE05, String D_PRESERVE04,String D_NUM_ID,HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) throws IOException { String result = StandardManage.OPERATE_SUCCESS; Map<String, Object> map = Maps.newHashMap(); Map<String, Object> bean = formbean.getBean(); try { if(bean != null ){ //民主推荐的主键 bean.put("NUM_ID", D_NUM_ID); //民主推荐下各阶段的标识 bean.put("PRESERVE05", D_PRESERVE05); //更新二次投票的数据 democracyRecommendService.updateDemocraticRecommend(FormBeanUtils.parse(bean)); } } catch (Exception e) { e.printStackTrace(); result = StandardManage.OPERATE_FAIL; } map.put("result", result); return map; } /** * 初始化会议和民主c测评数据 * * @param formbean * @param request * @param response * @return * @author KLX * @throws IOException */ @RequestMapping(value = "meetingAndmzcpShow") public @ResponseBody Map<String, Object> meetingAndmzcpShow(FormBean formbean, Model model,String pid,String twoVoteFlag, String D_NUM_ID,HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) throws IOException { // 获取当前用户 User user = UserUtils.getUser(); String CREATE_BY = ""; if (user != null && null != user.getLoginName()) { CREATE_BY = user.getLoginName(); } Date day = new Date(); String result = StandardManage.OPERATE_SUCCESS; Map<String, Object> map = Maps.newHashMap(); Map<String, Object> idMap1 = Maps.newHashMap(); idMap1.put("NUM_ID", D_NUM_ID); idMap1.put("oneRound", "oneRound"); Map<String, Object> idMap2 = Maps.newHashMap(); idMap2.put("NUM_ID", D_NUM_ID); idMap2.put("secondRound", "secondRound"); List<Map<String, Object>> idList1 = democracyRecommendService.getMztjHytjId(idMap1); List<Map<String, Object>> idList2 = democracyRecommendService.getMztjHytjId(idMap2); String hytjId1 =""; String hytjId2 =""; String hytjId = ""; String voteFlag =""; if(idList1 != null && idList1.size()>0){ hytjId1 = idList1.get(0).get("NUM_ID").toString(); } if(idList2 != null && idList2.size()>0){ hytjId2 = idList2.get(0).get("NUM_ID").toString(); } if(null != twoVoteFlag && !("").equals(twoVoteFlag)){ if("1".equals(twoVoteFlag)){ hytjId = hytjId1; voteFlag ="1"; } else if("2".equals(twoVoteFlag)){ hytjId = hytjId2; voteFlag ="1"; } } else{ hytjId = hytjId1; voteFlag ="1"; } Map<String, Object> bean = Maps.newHashMap(); bean.put("PROCESS_ID", pid); // 现任任免表职务 List<Map<String, Object>> selectionList = democracyRecommendService .getSelectionList(bean, null); try { if(selectionList != null && selectionList.size() >0 ){ for (Map<String, Object> m:selectionList){ Map<String, Object> selectionMap = Maps.newHashMap(); selectionMap.put("NUM_ID", EmpUtilsService.getBeanId()); selectionMap.put("THTJ_ID", hytjId); selectionMap.put("BASE_INFO_ID",m.get("TMRP_NUM_ID") ); selectionMap.put("SELECTION_ID",m.get("TCS_NUM_ID")); selectionMap.put("ZHPJ_DUTIES", m.get("DUTIES")); selectionMap.put("DEL_FLAG", "0"); //selectionMap.put("PRESERVE01", ""); selectionMap.put("CREATE_BY", CREATE_BY); selectionMap.put("CREATE_DATE",day ); selectionMap.put("UPDATE_BY", CREATE_BY); selectionMap.put("UPDATE_DATE", day); democracyRecommendService.insertZhpj(selectionMap); } } } catch (Exception e) { e.printStackTrace(); result = StandardManage.OPERATE_FAIL; } map.put("result", result); return map; } /** * 民主推荐,添加人员页面 * * @param formbean * @param request * @param response * @param model * @return * @author klx */ @RequestMapping(value = "addDemocraticRecommendationPersonForm") public String addDemocraticRecommendationPersonForm(FormBean formbean,String processId,String thtjNumId,String twoVoteFlag, HttpServletRequest request, HttpServletResponse response, Model model) { FormBeanUtils.preDeal(formbean, request); Map<String, Object> bean = Maps.newHashMap(); bean.put("PROCESS_ID", processId); bean.put("thtjNumId", thtjNumId); bean.put("twoVoteFlag", twoVoteFlag); //职务集合 List<Dict> electivePostList = democracyRecommendService.getelectivePostDictListByProcessId(bean); model.addAttribute("postList", electivePostList); model.addAttribute("bean", bean); model.addAttribute("map", formbean); return "modules/cadre/selection/addDemocraticRecommendationPersonForm"; } /** * 民主推荐保存 * * @param formbean * @param request * @param response * @return * @author klx */ @RequestMapping(value = "insertLisMztjVoteAddPerson") public @ResponseBody String saveTalkAddPerson(FormBean formbean, Model model,RedirectAttributes redirectAttributes) { String result = StandardManage.OPERATE_SUCCESS; Map<String, Object> bean = formbean.getBean(); Date day=new Date(); //获取当前用户 User user = UserUtils.getUser(); String UPDATE_BY=""; if(user != null && null != user.getLoginName()){ UPDATE_BY=user.getLoginName(); } List<Map<String, Object>> list= new ArrayList<Map<String,Object>>(); try { if(bean != null ){ String zgh =""; //根据id查出教职工号 Map<String, Object> zghMap = Maps.newHashMap(); zghMap.put("NUM_ID", bean.get("QUASI_ID")); List<Map<String, Object>> zghList = democracyRecommendService.getRsPartyZghById(zghMap); if(zghList != null && zghList.size() >0){ zgh = zghList.get(0).get("ZGH").toString(); } //查询库里是否已有拟任人 Map<String, Object> map = Maps.newHashMap(); map.put("QUASI_ID", zgh); map.put("POST_ID", bean.get("POST_ID")); map.put("NUM_ID", bean.get("NUM_ID")); List<Map<String, Object>> mztjVotelist = democracyRecommendService.getmztjVoteList(map); if(mztjVotelist != null && mztjVotelist.size()>0){ result ="该人员已有相同的职务"; } else{ bean.put("NUM_ID",EmpUtilsService.getBeanId()); bean.put("DEL_FLAG","0"); bean.put("QUASI_ID",zgh); bean.put("POST_ID",bean.get("POST_ID")); bean.put("EFFECTIVE_NUM",bean.get("EFFECTIVE_NUM")); bean.put("GET_NUM",bean.get("GET_NUM")); bean.put("THTJ_ID",bean.get("thtjNumId")); bean.put("LS",bean.get("LS")); bean.put("CREATE_BY",UPDATE_BY ); bean.put("CREATE_DATE", day); bean.put("UPDATE_BY", UPDATE_BY); bean.put("UPDATE_DATE", day); list.add(bean); bean.put("list", list); democracyRecommendService.insertLisMztjVoteAddPerson(FormBeanUtils.parse(bean)); Map<String, Object> postMap = Maps.newHashMap(); postMap.put("POST_ID",bean.get("POST_ID")); postMap.put("EFFECTIVE_NUM",bean.get("EFFECTIVE_NUM")); postMap.put("THTJ_ID",bean.get("thtjNumId")); //更新通知我的有效票数 democracyRecommendService.updateMztjVoteAddPerson(FormBeanUtils.parse(postMap)); } } } catch (Exception e) { e.printStackTrace(); result = StandardManage.OPERATE_FAIL; } return result; } /** * 完成投票谈话推荐 * * @param formbean * @param request * @param response * @return * @author KLX * @throws IOException */ @RequestMapping(value = "finishedTalk") public @ResponseBody Map<String, Object> finishedTalk(FormBean formbean, Model model,String numid,String THTJ_NUM_ID,String twoVoteFlag,String D_NUM_ID, HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) throws IOException { String MOTION_COMPLETE_NEW = request .getParameter("MOTION_COMPLETE_NEW"); String HANDLE_ID = request.getParameter("HANDLE_ID"); String empName = request.getParameter("empName"); String zgh =""; //根据id查出教职工号 Map<String, Object> zghMap = Maps.newHashMap(); zghMap.put("NUM_ID", HANDLE_ID); List<Map<String, Object>> zghList = democracyRecommendService.getRsPartyZghById(zghMap); if(zghList != null && zghList.size() >0){ zgh = zghList.get(0).get("ZGH").toString(); } //取得谈话推荐的集合数据 Map<String, Object> thtjMap = Maps.newHashMap(); List<Map<String, Object>> thtjVotelist = null; thtjMap.put("NUM_ID", numid); thtjMap.put("LS", twoVoteFlag); if(null != democracyRecommendService.getmztjVoteList(thtjMap) && democracyRecommendService.getmztjVoteList(thtjMap).size() >0){ thtjVotelist = democracyRecommendService.getmztjVoteList(thtjMap); } String result = StandardManage.OPERATE_SUCCESS; Map<String, Object> mapEntity = Maps.newHashMap(); Map<String, Object> map = Maps.newHashMap(); List<Map<String, Object>> mapList = new ArrayList<Map<String,Object>>(); Date day=new Date(); //获取当前用户 User user = UserUtils.getUser(); String UPDATE_BY=""; if(user != null && null != user.getLoginName()){ UPDATE_BY=user.getLoginName(); } Map<String, Object> bean = formbean.getBean(); String PRESERVE04Str = ""; Map<String, Object> updaeMap = Maps.newHashMap(); try { if(bean != null ){ bean.put("UPDATE_BY", UPDATE_BY); bean.put("UPDATE_DATE", day); bean.put("HYTJ_STATUS", "1"); bean.put("MOTION_COMPLETE", MOTION_COMPLETE_NEW); bean.put("HANDLE_ID", zgh); bean.put("NUM_ID", THTJ_NUM_ID); bean.put("PRESERVE05", empName); //更新谈话推荐 democracyRecommendService.updateMztjThtjInfo(FormBeanUtils.parse(bean)); if(thtjVotelist != null && thtjVotelist.size()>0){ for (Map<String, Object> m:thtjVotelist){ Map<String, Object> mapMap = Maps.newHashMap(); mapMap.put("NUM_ID", MapUtils.getObject(bean, "NUM_ID" + m.get("NUM_ID"), null)); mapMap.put("EFFECTIVE_NUM", MapUtils.getObject(bean, "EFFECTIVE_NUM" + m.get("NUM_ID"), null)); mapMap.put("GET_NUM", MapUtils.getObject(bean, "GET_NUM" + m.get("NUM_ID"), null)); mapMap.put("PROBABILITY", MapUtils.getObject(bean, "PROBABILITY" + m.get("NUM_ID"), null)); mapMap.put("UPDATE_BY", UPDATE_BY); mapMap.put("UPDATE_DATE", day); if(mapMap.get("NUM_ID") != null ){ mapList.add(mapMap); } } } if(mapList != null && mapList.size()>0){ mapEntity.put("list", mapList); //更新谈话投票 democracyRecommendService.updateLisMztjVoteAddPerson(mapEntity); } //更新父节点里的子节点状态的状态 if(null != bean.get("TD_PRESERVE04") && bean.get("TD_PRESERVE04").toString().length() >0){ PRESERVE04Str = bean.get("TD_PRESERVE04").toString(); if(PRESERVE04Str.length() != (PRESERVE04Str.indexOf("-")+1)){ PRESERVE04Str = PRESERVE04Str.substring((PRESERVE04Str.indexOf("-")+1)) ; } else{ PRESERVE04Str = ""; } } updaeMap.put("NUM_ID", D_NUM_ID); updaeMap.put("UPDATE_BY", UPDATE_BY); updaeMap.put("UPDATE_DATE", day); //更新子节点的字符拼接 updaeMap.put("PRESERVE04", PRESERVE04Str); democracyRecommendService.updateDemocraticRecommend(updaeMap); } } catch (Exception e) { e.printStackTrace(); result = StandardManage.OPERATE_FAIL; } map.put("result", result); return map; } /** * 完成更新民主推荐父节点 * * @param formbean * @param request * @param response * @return * @author KLX * @throws IOException */ @RequestMapping(value = "finisheddemocracyRecommendForm") public @ResponseBody Map<String, Object> finisheddemocracyRecommendForm(FormBean formbean, Model model,String voteFlag,String hytjid, String D_NUM_ID,String pid,HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) throws IOException { String MOTION_COMPLETE_NEW = request .getParameter("MOTION_COMPLETE_NEW"); String HANDLE_ID = request.getParameter("HANDLE_ID"); String zgh =""; //根据id查出教职工号 Map<String, Object> zghMap = Maps.newHashMap(); zghMap.put("NUM_ID", HANDLE_ID); List<Map<String, Object>> zghList = democracyRecommendService.getRsPartyZghById(zghMap); if(zghList != null && zghList.size() >0){ zgh = zghList.get(0).get("ZGH").toString(); } String result = StandardManage.OPERATE_SUCCESS; Map<String, Object> map = Maps.newHashMap(); Date day=new Date(); //获取当前用户 User user = UserUtils.getUser(); String UPDATE_BY=""; if(user != null && null != user.getLoginName()){ UPDATE_BY=user.getLoginName(); } Map<String, Object> bean = formbean.getBean(); String PRESERVE01Str = ""; String PRESERVE04Str = ""; //如果是最后一个流程并且为归档,就更新主流程的状态为关闭3 String STATUS = ""; try { if(bean != null){ //如果是最后一个流程并且为归档,就更新主流程的状态为关闭3 if(null != bean.get("P_PRESERVE01") && bean.get("P_PRESERVE01").toString().length() >0){ PRESERVE01Str = bean.get("P_PRESERVE01").toString(); if(PRESERVE01Str.length() != (PRESERVE01Str.indexOf("-")+1)){ PRESERVE01Str = PRESERVE01Str.substring((PRESERVE01Str.indexOf("-")+1)) ; if(null == PRESERVE01Str || ("").equals(PRESERVE01Str.trim())){ STATUS = "3"; } else{ //主流程都完成了,没有归档有试用期,此时更新主流程状态为关闭3 if(PRESERVE01Str.indexOf("7-") == 0 ){ STATUS = "3"; } } } else{ PRESERVE01Str =""; STATUS = "3"; } } //更新父节点里的子节点状态的状态 if(null != bean.get("FD_PRESERVE04") && bean.get("FD_PRESERVE04").toString().length() >0){ PRESERVE04Str = bean.get("FD_PRESERVE04").toString(); if(PRESERVE04Str.length() != (PRESERVE04Str.indexOf("-")+1)){ PRESERVE04Str = PRESERVE04Str.substring((PRESERVE04Str.indexOf("-")+1)) ; } else{ PRESERVE04Str =""; } } bean.put("NUM_ID", D_NUM_ID); bean.put("MOTION_COMPLETE", MOTION_COMPLETE_NEW); bean.put("HANDLE_ID", zgh); bean.put("UPDATE_BY", UPDATE_BY); bean.put("UPDATE_DATE", day); bean.put("DEMOCRATIC_STATUS", "1"); //更新子节点的字符拼接 bean.put("PRESERVE04", PRESERVE04Str); democracyRecommendService.updateDemocraticRecommend(FormBeanUtils.parse(bean)); Map<String, Object> proMap = Maps.newHashMap(); proMap.put("NUM_ID", pid); proMap.put("UPDATE_BY", UPDATE_BY); proMap.put("UPDATE_DATE", day); proMap.put("STATUS", STATUS); //更新父节点的字符拼接 proMap.put("PRESERVE01", PRESERVE01Str); democracyRecommendService.updateSelectionProcess(proMap); } } catch (Exception e) { e.printStackTrace(); result = StandardManage.OPERATE_FAIL; } map.put("result", result); return map; } //候选名单选择人员,不能出现已经选择的人 @RequestMapping(value = "partyAllUserSelectList") public String partyAllUserSelectList(String excIds,String orgId,FormBean formbean, HttpServletRequest request, HttpServletResponse response, Model model) { FormBeanUtils.preDeal(formbean, request); formbean.getBean().put("TABLE",null); Page<Map<String, Object>> page = EmpUtilsService.partySelectList(new Page<Map<String, Object>>(request, response), formbean); FormBeanUtils.afterDeal(formbean, request); model.addAttribute("map", formbean); model.addAttribute("page", page); return "modules/common/empUtils/partyAllUserSelectList"; } /** * 民主推荐结果导出列表 * * @param formBean * @param request * @param response * @param redirectAttributes * @throws IOException * @author KLX * @throws ParseException */ @RequestMapping(value = "importExcelMztjjg") public String importExcelMztjjg(FormBean formBean,String PROCESS_ID, HttpServletRequest request, HttpServletResponse response, String PROCESS_TYPE,String D_NUM_ID, RedirectAttributes redirectAttributes) throws IOException, ParseException { Map<String, Object> idMap1 = Maps.newHashMap(); idMap1.put("NUM_ID", D_NUM_ID); idMap1.put("oneRound", "oneRound"); Map<String, Object> idMap2 = Maps.newHashMap(); idMap2.put("NUM_ID", D_NUM_ID); idMap2.put("secondRound", "secondRound"); List<Map<String, Object>> idList1 = democracyRecommendService.getMztjHytjId(idMap1); List<Map<String, Object>> idList2 = democracyRecommendService.getMztjHytjId(idMap2); String hytjId1 =""; String hytjId2 =""; if(idList1 != null && idList1.size()>0){ hytjId1 = idList1.get(0).get("NUM_ID").toString(); } if(idList2 != null && idList2.size()>0){ hytjId2 = idList2.get(0).get("NUM_ID").toString(); } Map<String, Object> zghMap = Maps.newHashMap(); zghMap.put("PROCESS_ID", PROCESS_ID); //取得会议推荐1轮 List<Map<String, Object>> hytjPersonList1 = null; //取得会议推荐2轮 List<Map<String, Object>> hytjPersonList2 = null; //取得谈话推荐的集合数据 Map<String, Object> thtjMap = Maps.newHashMap(); List<Map<String, Object>> thtjVotelist = null; thtjMap.put("NUM_ID", PROCESS_ID); if(null != democracyRecommendService.getmztjVoteList(thtjMap) && democracyRecommendService.getmztjVoteList(thtjMap).size() >0){ thtjVotelist = democracyRecommendService.getmztjVoteList(thtjMap); } //会议投票 Map<String, Object> map = Maps.newHashMap(); map.put("HYTJ_ID", hytjId1); map.put("voteFlag", "1"); if(null != democracyRecommendService.gettCadreHytjVotelist(map) && democracyRecommendService.gettCadreHytjVotelist(map).size() >0){ hytjPersonList1 = democracyRecommendService.gettCadreHytjVotelist(map); } //会议投票2 Map<String, Object> map2 = Maps.newHashMap(); map2.put("HYTJ_ID", hytjId2); map2.put("voteFlag", "2"); if(null != democracyRecommendService.gettCadreHytjVotelist(map) && democracyRecommendService.gettCadreHytjVotelist(map).size() >0){ if(StringUtils.isNotEmpty(hytjId2)){ hytjPersonList2 = democracyRecommendService.gettCadreHytjVotelist(map2); } } Map<String, Object> processEnty = Maps.newHashMap(); processEnty.put("NUM_ID", PROCESS_ID); processEnty = democracyRecommendService.getDemocracyRecommendProcessEnty(processEnty); String title = ""; // 职务集合 Map<String, Object> postMap = Maps.newHashMap(); postMap.put("PROCESS_ID", PROCESS_ID); List<Map<String, Object>> electivePostList = democracyRecommendService .getelectivePostListByProcessId(postMap); OutputStream fos = response.getOutputStream(); BufferedOutputStream bos = new BufferedOutputStream(fos); ZipOutputStream zos = new ZipOutputStream(bos); String excelPath = request.getSession().getServletContext().getRealPath("/WEB-INF/template/excel/MZTJTJJGOTHERExcel.xlsx"); File file = new File(excelPath); int index = 0; if(electivePostList != null && electivePostList.size()>0){ for (Map<String, Object> tempMap:electivePostList){ //民主推荐结果 Map<String, Object> mztjResultMap = Maps.newHashMap(); mztjResultMap.put("THTJ_ID",processEnty.get("THTJ_NUM_ID")); mztjResultMap.put("HYTJ_ID1",hytjId1); mztjResultMap.put("HYTJ_ID2",hytjId2); mztjResultMap.put("POST_ID",tempMap.get("EP_NUM_ID")); List<Map<String, Object>> mztjResultList = null; if(null !=democracyRecommendService.getMZTJJGlist(mztjResultMap) && democracyRecommendService.getMZTJJGlist(mztjResultMap).size()>0){ mztjResultList = democracyRecommendService.getMZTJJGlist(mztjResultMap); ++index; Map<String, Object>objMap = Maps.newHashMap(); objMap.put("TNUM", thtjVotelist != null ? ("("+thtjVotelist.size()+"人)"):""); objMap.put("MNUM1", hytjPersonList1 != null ? ("("+hytjPersonList1.size()+"人)"):""); objMap.put("MNUM2", hytjPersonList2 != null ? ("("+hytjPersonList2.size()+"人)"):""); InputStream input = new FileInputStream(file); //定义文件的输出流,但是这是作为zip流的一部分 ByteArrayOutputStream output = new ByteArrayOutputStream(); //用jxlsHelper来处理xlxs输出了流 JxlsHelper jxlsHelper = JxlsHelper.getInstance(); //将map数据放到context中 Context context = new Context(objMap); context.putVar("list", mztjResultList); //流文件 jxlsHelper.processTemplate(input, output, context); //命名文件 title = "("+DictUtils.getDictLabel(processEnty.get("PROCESS_TYPE").toString(), "LCLX", "")+")"+tempMap.get("EP_POST_NAME") +"岗位民主推荐情况汇总"; String filename = title; zos.putNextEntry(new ZipEntry(title+index+".xlsx")); response.setHeader("Content-disposition", "attachment;success=true;filename =" +new String(filename.getBytes("utf-8"),"iso-8859-1")+ ".zip"); //把xlsx输出流作为输入流输入到zip输出流中 zos.write(output.toByteArray()); zos.closeEntry(); output.close(); } } } zos.flush(); zos.close(); return null; } /* */ /** * 民主推荐结果导出列表,班子换届 * * @param formBean * @param request * @param response * @param redirectAttributes * @throws IOException * @author KLX * @throws ParseException importExcelMztjjgPoi */ /* @SuppressWarnings("deprecation") @RequestMapping(value = "importExcelMztjjgPoi11") public String importExcelMztjjgPoi(FormBean formBean,String PROCESS_ID, HttpServletRequest request, HttpServletResponse response, String PROCESS_TYPE,String D_NUM_ID) throws IOException { //创建HSSFWorkbook对象(excel的文档对象) HSSFWorkbook wb = new HSSFWorkbook(); //建立新的sheet对象(excel的表单) HSSFSheet sheet=wb.createSheet("成绩表"); //在sheet里创建第一行,参数为行索引(excel的行),可以是0~65535之间的任何一个 HSSFRow row1=sheet.createRow(0); //创建单元格(excel的单元格,参数为列索引,可以是0~255之间的任何一个 HSSFCellStyle cellStyle = wb.createCellStyle(); //设置居中: cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 居中 HSSFCell cell=row1.createCell(0); cell.setCellStyle(cellStyle); // 职务集合 Map<String, Object> postMap = Maps.newHashMap(); postMap.put("PROCESS_ID", PROCESS_ID); //会议推荐和谈话推荐合并单元格的数量 int titleMergeCell = 0; List<Map<String, Object>> electivePostList = democracyRecommendService .getelectivePostListByProcessId(postMap); if(null != electivePostList && electivePostList.size() >0){ titleMergeCell = electivePostList.size(); //设置单元格内容 cell.setCellValue("民主推荐结果"); //合并单元格CellRangeAddress构造参数依次表示起始行,截至行,起始列, 截至列 sheet.addMergedRegion(new CellRangeAddress(0,0,0,titleMergeCell+titleMergeCell+titleMergeCell)); //在sheet里创建第二行 HSSFRow row2=sheet.createRow(1); HSSFCell cell1=row2.createCell(0); HSSFCell cell2= row2.createCell(1); HSSFCell cell3=row2.createCell((1+titleMergeCell)); HSSFCell cell4=row2.createCell((1+titleMergeCell+titleMergeCell)); cell1.setCellStyle(cellStyle); cell2.setCellStyle(cellStyle); cell3.setCellStyle(cellStyle); cell4.setCellStyle(cellStyle); //创建单元格并设置单元格内容 row2.createCell(0).setCellValue("姓名"); row2.createCell(1).setCellValue("会议推荐(1人)"); row2.createCell((1+titleMergeCell)).setCellValue("谈话推荐(2人)"); row2.createCell((1+titleMergeCell+titleMergeCell)).setCellValue("合计票(3人)"); //上或者下从0开始会议推荐 sheet.addMergedRegion(new Region(1, (short) 1, 1, (short) (titleMergeCell))); //上或者下从0开始谈话推荐 sheet.addMergedRegion(new Region(1, (short) (1+titleMergeCell), 1, (short) (titleMergeCell+titleMergeCell))); //上或者下从0开始合计票 sheet.addMergedRegion(new Region(1, (short) (1+titleMergeCell+titleMergeCell), 1, (short) (titleMergeCell+titleMergeCell+titleMergeCell))); //在sheet里创建第三行 HSSFRow row3=sheet.createRow(2); row3.createCell(0).setCellValue("李明"); row3.createCell(1).setCellValue("As178"); row3.createCell(2).setCellValue(87); row3.createCell(3).setCellValue(78); row3.createCell(4).setCellValue(78); //.....省略部分代码 } //输出Excel文件 OutputStream output=response.getOutputStream(); response.reset(); response.setHeader("Content-disposition", "attachment; filename=details.xls"); response.setContentType("application/msexcel"); wb.write(output); output.close(); return null; }*/ /** * 民主推荐结果导出列表,班子换届 * * @param formBean * @param request * @param response * @param redirectAttributes * @throws IOException * @author KLX * @throws ParseException importExcelMztjjgPoi */ @SuppressWarnings("deprecation") @RequestMapping(value = "importExcelMztjjgPoi") public String importExcelMztjjgPoi1(FormBean formBean,String PROCESS_ID, HttpServletRequest request, HttpServletResponse response, String PROCESS_TYPE,String D_NUM_ID) throws IOException { OutputStream fos = response.getOutputStream(); BufferedOutputStream bos = new BufferedOutputStream(fos); ZipOutputStream zos = new ZipOutputStream(bos); //创建HSSFWorkbook对象(excel的文档对象) HSSFWorkbook wb = new HSSFWorkbook(); //建立新的sheet对象(excel的表单) HSSFSheet sheet=wb.createSheet("成绩表"); //在sheet里创建第一行,参数为行索引(excel的行),可以是0~65535之间的任何一个 HSSFRow row1=sheet.createRow(0); //创建单元格(excel的单元格,参数为列索引,可以是0~255之间的任何一个 HSSFCellStyle cellStyle = wb.createCellStyle(); //设置居中: cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 居中 HSSFCell cell=row1.createCell(0); cell.setCellStyle(cellStyle); // 职务集合 Map<String, Object> postMap = Maps.newHashMap(); postMap.put("PROCESS_ID", PROCESS_ID); //会议推荐和谈话推荐合并单元格的数量 int titleMergeCell = 0; List<Map<String, Object>> electivePostList = democracyRecommendService .getelectivePostListByProcessId(postMap); if(null != electivePostList && electivePostList.size() >0){ titleMergeCell = electivePostList.size(); //设置单元格内容 cell.setCellValue("民主推荐结果"); //合并单元格CellRangeAddress构造参数依次表示起始行,截至行,起始列, 截至列 sheet.addMergedRegion(new CellRangeAddress(0,0,0,titleMergeCell+titleMergeCell+titleMergeCell)); //在sheet里创建第二行 HSSFRow row2=sheet.createRow(1); HSSFCell cell1=row2.createCell(0); HSSFCell cell2= row2.createCell(1); HSSFCell cell3=row2.createCell((1+titleMergeCell)); HSSFCell cell4=row2.createCell((1+titleMergeCell+titleMergeCell)); cell1.setCellStyle(cellStyle); cell2.setCellStyle(cellStyle); cell3.setCellStyle(cellStyle); cell4.setCellStyle(cellStyle); //创建单元格并设置单元格内容 row2.createCell(0).setCellValue("姓名"); row2.createCell(1).setCellValue("会议推荐(1人)"); row2.createCell((1+titleMergeCell)).setCellValue("谈话推荐(2人)"); row2.createCell((1+titleMergeCell+titleMergeCell)).setCellValue("合计票(3人)"); //上或者下从0开始会议推荐 sheet.addMergedRegion(new Region(1, (short) 1, 1, (short) (titleMergeCell))); //上或者下从0开始谈话推荐 sheet.addMergedRegion(new Region(1, (short) (1+titleMergeCell), 1, (short) (titleMergeCell+titleMergeCell))); //上或者下从0开始合计票 sheet.addMergedRegion(new Region(1, (short) (1+titleMergeCell+titleMergeCell), 1, (short) (titleMergeCell+titleMergeCell+titleMergeCell))); /*//在sheet里创建第三行 HSSFRow row3=sheet.createRow(2); row3.createCell(0).setCellValue("李明"); row3.createCell(1).setCellValue("As178"); row3.createCell(2).setCellValue(87); row3.createCell(3).setCellValue(78); row3.createCell(4).setCellValue(78);*/ //.....省略部分代码 } //创建HSSFWorkbook对象(excel的文档对象) HSSFWorkbook wb1 = new HSSFWorkbook(); //建立新的sheet对象(excel的表单) HSSFSheet shee1t=wb1.createSheet("成绩表"); //在sheet里创建第一行,参数为行索引(excel的行),可以是0~65535之间的任何一个 HSSFRow r1=sheet.createRow(0); //创建单元格(excel的单元格,参数为列索引,可以是0~255之间的任何一个 HSSFCellStyle cellStyle1 = wb.createCellStyle(); //设置居中: cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 居中 HSSFCell cell1=r1.createCell(0); cell1.setCellStyle(cellStyle); // 职务集合 Map<String, Object> postMap1 = Maps.newHashMap(); postMap1.put("PROCESS_ID", PROCESS_ID); //会议推荐和谈话推荐合并单元格的数量 int titleMergeCell1 = 0; List<Map<String, Object>> electivePostList1 = democracyRecommendService .getelectivePostListByProcessId(postMap1); if(null != electivePostList1 && electivePostList1.size() >0){ titleMergeCell1 = electivePostList1.size(); //设置单元格内容 cell1.setCellValue("民主推荐结果"); //合并单元格CellRangeAddress构造参数依次表示起始行,截至行,起始列, 截至列 sheet.addMergedRegion(new CellRangeAddress(0,0,0,titleMergeCell+titleMergeCell+titleMergeCell)); //在sheet里创建第二行 HSSFRow r2=sheet.createRow(1); //创建单元格并设置单元格内容 r2.createCell(0).setCellValue("姓名1"); r2.createCell(1).setCellValue("会议推荐(11人)"); r2.createCell((1+titleMergeCell)).setCellValue("谈话推荐(21人)"); r2.createCell((1+titleMergeCell+titleMergeCell)).setCellValue("合计票(31人)"); //上或者下从0开始会议推荐 sheet.addMergedRegion(new Region(1, (short) 1, 1, (short) (titleMergeCell))); //上或者下从0开始谈话推荐 sheet.addMergedRegion(new Region(1, (short) (1+titleMergeCell), 1, (short) (titleMergeCell+titleMergeCell))); //上或者下从0开始合计票 sheet.addMergedRegion(new Region(1, (short) (1+titleMergeCell+titleMergeCell), 1, (short) (titleMergeCell+titleMergeCell+titleMergeCell))); /*//在sheet里创建第三行 HSSFRow row3=sheet.createRow(2); row3.createCell(0).setCellValue("李明"); row3.createCell(1).setCellValue("As178"); row3.createCell(2).setCellValue(87); row3.createCell(3).setCellValue(78); row3.createCell(4).setCellValue(78);*/ //.....省略部分代码 } //定义文件的输出流,但是这是作为zip流的一部分 ByteArrayOutputStream output = new ByteArrayOutputStream(); wb.write(output); wb1.write(output); //流文件 String filename = "konlgin"; //命名文件 zos.putNextEntry(new ZipEntry("f.xls")); zos.putNextEntry(new ZipEntry("f1.xls")); response.setHeader("Content-disposition", "attachment;success=true;filename =" +new String(filename.getBytes("utf-8"),"iso-8859-1")+ ".zip"); // response.setContentType("application/msexcel"); //把xlsx输出流作为输入流输入到zip输出流中 zos.write(output.toByteArray()); zos.closeEntry(); output.close(); zos.flush(); zos.close(); return null; /* //输出Excel文件 OutputStream output=response.getOutputStream(); response.reset(); response.setHeader("Content-disposition", "attachment; filename=details.xls"); response.setContentType("application/msexcel"); wb.write(output); output.close();*/ } }