package cn.com.taiji.zhongxiao.web; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStreamWriter; import java.io.Writer; import java.math.BigDecimal; import java.net.URLEncoder; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Vector; import javax.inject.Inject; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.poi.ss.usermodel.Cell; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import cn.com.taiji.sys.domain.Dept; import cn.com.taiji.sys.domain.Role; import cn.com.taiji.sys.domain.User; import cn.com.taiji.sys.dto.CodeDto; import cn.com.taiji.util.Constants; import cn.com.taiji.util.EasyPoiUtil; import cn.com.taiji.util.IKSegmenterUtil; import cn.com.taiji.util.Pagination; import cn.com.taiji.util.StrUtils; import cn.com.taiji.util.ToolUtil; import cn.com.taiji.zhongxiao.domain.CommonAduitrecord; import cn.com.taiji.zhongxiao.domain.TcodeSet; import cn.com.taiji.zhongxiao.domain.TcodeSetDetail; import cn.com.taiji.zhongxiao.domain.TcodeSetNoList; import cn.com.taiji.zhongxiao.dto.ReturnMassage; import cn.com.taiji.zhongxiao.dto.TcodeImpTemplate; import cn.com.taiji.zhongxiao.dto.TcodeSetDto; import cn.com.taiji.zhongxiao.dto.UploadDto; import cn.com.taiji.zhongxiao.service.CommonAduitrecordService; import cn.com.taiji.zhongxiao.service.DbdcCodeService; import cn.com.taiji.zhongxiao.service.LoginfoService; import cn.com.taiji.zhongxiao.service.SysDeptService; import cn.com.taiji.zhongxiao.service.TcodeSetService; import cn.com.taiji.zhongxiao.service.UploadService; import freemarker.template.Configuration; import freemarker.template.Template; import freemarker.template.TemplateException; @Controller @RequestMapping(value="/tcodeSet") public class TcodeSetController extends BaseAction{ @Inject TcodeSetService tcodeSetService; @Inject LoginfoService loginfoService; @Inject DbdcCodeService ddbcCodeService; @Inject UploadService uploadService; @Value("${save_path}") private String save_path; @Inject SysDeptService sysDeptService; @Inject CommonAduitrecordService commonAduitrecordService; public static int PAGESIZE = 10; private static String modelType = "代码集注册"; /** * 代码集注册列表 * @param model * @param request * @param response * @param dto * @return */ @RequestMapping(value="/tcodeSet_list") String tcodeSetlist(Model model,HttpServletRequest request,HttpServletResponse response,TcodeSetDto dto){ Map searchParameters = new HashMap(); HttpSession session = request.getSession(); User userInfo = (User) session.getAttribute("user"); dto.setCreator(userInfo.getUserId()); model.addAttribute("dto",dto); List list=ddbcCodeService.findCodeByCodeType("cybz"); model.addAttribute("codeS",list); loginfoService.logDealInfo("3", modelType,"代码集信息列表", "t_codeset", "", ToolUtil.getIpAddr(request), request.getRequestURI(),userInfo); return "thymeleaf/tcodeset/tcodeset_list"; } @ResponseBody @RequestMapping(value="/tcodeSet_list_json") Object tcodeSetlistJson(Model model,HttpServletRequest request,HttpServletResponse response,TcodeSetDto dto){ Map searchParameters = new HashMap(); HttpSession session = request.getSession(); User userInfo = (User) session.getAttribute("user"); dto.setCreator(userInfo.getUserId()); //翻页 String currentPageStr = request.getParameter("pagecurrentnum"); String pagesize = request.getParameter("selectlimitnum"); if(pagesize==null){ pagesize="10"; } searchParameters.put("field", request.getParameter("field")); searchParameters.put("order", request.getParameter("order")); int pageSize=Integer.parseInt(pagesize); if(dto.getState() == null || "".equals(dto.getState())){ dto.setState("1,7,8");//保存和退回修改 } else { dto.setQjstate(dto.getState()); dto.setState("1,7,8");//保存和退回修改 } Pagination page = newPagination(currentPageStr,pageSize); page = tcodeSetService.findtcodeSetlist(dto, page,false,userInfo, searchParameters); // page = tcodeSetService.findAlllist(dto, page,false,userInfo, searchParameters); // model.addAttribute("list", page.getPageResult()); // model.addAttribute("pagevar", page); // model.addAttribute("dto",dto); // List list=ddbcCodeService.findCodeByCodeType("cybz"); // model.addAttribute("code",list); searchParameters.put("code", 0); searchParameters.put("msg", 0); searchParameters.put("pagevar", page); // loginfoService.logDealInfo("3", modelType,"代码集信息列表", "t_codeset", "", ToolUtil.getIpAddr(request), request.getRequestURI(),userInfo); return searchParameters; } //新增页面 @RequestMapping(value="/tcodeSet_new") String tcodeSetnew(Model model,HttpServletResponse response,HttpServletRequest request){ HttpSession session = request.getSession(); User userInfo = (User) session.getAttribute("user"); List list=ddbcCodeService.findCodeByCodeType("cybz");//采用标准 TcodeSetDto dto=new TcodeSetDto(); model.addAttribute("deptlist",userInfo.getDepts()); model.addAttribute("list",list); model.addAttribute("dto",dto); model.addAttribute("num","0"); return "thymeleaf/tcodeset/tcodeset_new"; } //保存代码集数据以及代码集详情表 保存分为"1:保存"和"2:提交" @RequestMapping(value="/tcodeSet_save") String tcodeSetSave(Model model,HttpServletResponse response,HttpServletRequest request,TcodeSetDto dto){ HttpSession session = request.getSession(); User userInfo = (User) session.getAttribute("user"); String num=request.getParameter("num"); num=num==""?"0":num; CodeDto codeDto=ddbcCodeService.findCodeById(dto.getLevelId()); dto.setLevelName(codeDto.getCodeName()); Dept dept = sysDeptService.findDeptInfoById(dto.getUpdatorOrg()); if(dto.getId()==null || "".equals(dto.getId())){ dto.setCreator(userInfo.getUserId()); dto.setCreatorName(userInfo.getUserName()); dto.setCreatorOrg(dto.getUpdatorOrg()); dto.setCreatorOrgname(dto.getUpdateOrgName()); dto.setCreatedate(StrUtils.DateFormatString(new Date(),"yyyy-MM-dd HH:mm:ss")); dto.setXzqhcode(dept.getXzqhcode()); }else{ dto.setUpdator(userInfo.getUserId());//修改人ID dto.setUpdatorName(userInfo.getUserName());//修改者姓名 dto.setUpdatetime(StrUtils.DateFormatString(new Date(),"yyyy-MM-dd HH:mm:ss"));//修改时间 } List detailList=new ArrayList(); for(int i=1;i<=Integer.parseInt(num);i++){ TcodeSetDetail tcodeSetDetail=new TcodeSetDetail(); String codenum=request.getParameter("codenum"+i); String codename=request.getParameter("codename"+i); String description=request.getParameter("description"+i); tcodeSetDetail.setCodenum(codenum); tcodeSetDetail.setCodename(codename); tcodeSetDetail.setDescription(description); tcodeSetDetail.setId(getUUID()); tcodeSetDetail.setCodeIndex(i); detailList.add(tcodeSetDetail); } dto.setDetailList(detailList); TcodeSet info = tcodeSetService.tcodeSetSave(dto); if(ToolUtil.isNull(dto.getId())){ loginfoService.logDealInfo("1", modelType,"代码集信息新增", "t_codeset", info.getId(), ToolUtil.getIpAddr(request), request.getRequestURI(),userInfo); } else{ loginfoService.logDealInfo("2", modelType,"代码集信息更新", "t_codeset", info.getId(), ToolUtil.getIpAddr(request), request.getRequestURI(),userInfo); } return "thymeleaf/tcodeset/success"; } //删除 @RequestMapping(value="/tcodeSet_delete") @ResponseBody public Object tcodeSetDelete(Model model,HttpServletRequest request,HttpServletResponse response,@RequestParam(value = "id", required = false) String id){ HttpSession session = request.getSession(); User userInfo = (User) session.getAttribute("user"); for(String temp:id.split(";")) { loginfoService.logDealInfo("4", modelType,"代码集信息删除", "t_codeset", temp, ToolUtil.getIpAddr(request), request.getRequestURI(),userInfo); try { tcodeSetService.tcodeSetDelete(temp); } catch (Exception e) { return new ReturnMassage(Constants.MSG_FAIL); } } return new ReturnMassage(Constants.MSG_SUCESS); } //提交 @RequestMapping(value="/tcodeSet_tijiao") @ResponseBody public Object tcodeSettijiao(Model model,HttpServletRequest request,HttpServletResponse response,@RequestParam(value = "id", required = false) String id){ try { TcodeSetDto dto = tcodeSetService.getOne(id); HttpSession session = request.getSession(); User userInfo = (User) session.getAttribute("user"); String rolename=""; for(Role role:userInfo.getRoles()) { rolename=rolename+role.getRoleName()+";"; } CommonAduitrecord record = new CommonAduitrecord(); record.setId(ToolUtil.getUUID()); record.setAduitdate(ToolUtil.date2Str(new Date(), "yyyy-MM-dd HH:mm:ss")); record.setAduitopinion("提交审核"); record.setAduitdeptid(dto.getCreatorOrg()); record.setAduitdeptname(dto.getCreatorOrgname()); record.setAduitrole(rolename); record.setAduitman(userInfo.getUserName()); record.setAduitid(userInfo.getUserId()); record.setTaskname("提交审核"); record.setBusid(id); record.setBustable("t_codeset"); commonAduitrecordService.saveCommonAduitrecord(record); tcodeSetService.tcodeSettijiao(id); return new ReturnMassage(Constants.MSG_SUCESS); } catch (Exception e) { return new ReturnMassage(Constants.MSG_FAIL); } } //修改 @RequestMapping(value="/tcodeSet_update") public String tcodeSetupdate(Model model,HttpServletRequest request,HttpServletResponse response,@RequestParam(value = "id", required = false) String id, @RequestParam(value = "stat", required = false) String stat){ HttpSession session = request.getSession(); User userInfo = (User) session.getAttribute("user"); String url=Integer.parseInt(stat)==1?"thymeleaf/tcodeset/tcodeset_new":"thymeleaf/tcodeset/tcaodeset_look"; List list=ddbcCodeService.findCodeByCodeType("cybz"); TcodeSetDto dto=tcodeSetService.getOne(id); model.addAttribute("deptlist",userInfo.getDepts()); model.addAttribute("list",list); model.addAttribute("dto",dto); model.addAttribute("num", dto.getDetailList().size()); List recordlist = commonAduitrecordService.findCommonAduitrecordByBusidAndBusTable(id, "t_codeset"); model.addAttribute("recordlist", recordlist); loginfoService.logDealInfo("3", modelType,"代码集信息查看", "t_codeset", id, ToolUtil.getIpAddr(request), request.getRequestURI(),userInfo); return url; } //代码集审核 @RequestMapping(value="/tcodeSet_shlist") String tcodeSetshlist(Model model,HttpServletRequest request,HttpServletResponse response,TcodeSetDto dto){ Map searchParameters = new HashMap(); // //翻页 // String currentPageStr = request.getParameter("pagecurrentnum"); // String pagesize = request.getParameter("selectlimitnum"); // if(pagesize==null){ // pagesize="10"; // } HttpSession session = request.getSession(); User userInfo = (User) session.getAttribute("user"); // int pageSize=Integer.parseInt(pagesize); // dto.setState("2"); // String deptid=""; // for(Dept dept:userInfo.getDepts()){ // deptid=deptid+dept.getDeptId()+";"; // } // dto.setCreatorOrg(deptid); // Pagination page = newPagination(currentPageStr,pageSize); // page = tcodeSetService.findtcodeSetlist(dto, page,false,userInfo, searchParameters); // model.addAttribute("list", page.getPageResult()); // model.addAttribute("pagevar", page); model.addAttribute("dto",dto); List list=ddbcCodeService.findCodeByCodeType("cybz"); model.addAttribute("codeS",list); loginfoService.logDealInfo("3", modelType,"代码集信息审核信息列表", "t_codeset", "", ToolUtil.getIpAddr(request), request.getRequestURI(),userInfo); return "thymeleaf/tcodeset/tcodeset_sh"; } //代码集审核 @ResponseBody @RequestMapping(value="/tcodeSet_shlist_json") Object tcodeSetshlistJson(Model model,HttpServletRequest request,HttpServletResponse response,TcodeSetDto dto){ Map searchParameters = new HashMap(); //翻页 String currentPageStr = request.getParameter("pagecurrentnum"); String pagesize = request.getParameter("selectlimitnum"); if(pagesize==null){ pagesize="10"; } HttpSession session = request.getSession(); User userInfo = (User) session.getAttribute("user"); int pageSize=Integer.parseInt(pagesize); dto.setState("2,6"); String deptid=""; for(Dept dept:userInfo.getDepts()){ deptid=deptid+dept.getDeptId()+";"; } dto.setCreatorOrg(deptid); Pagination page = newPagination(currentPageStr,pageSize); searchParameters.put("field", request.getParameter("field")); searchParameters.put("order", request.getParameter("order")); page = tcodeSetService.findtcodeSetlist(dto, page,false,userInfo, searchParameters); searchParameters = new HashMap(); searchParameters.put("code", 0); searchParameters.put("msg", 0); searchParameters.put("pagevar", page); return searchParameters; } @RequestMapping(value="/check_loading") String check_loading(Model model,HttpServletRequest request,HttpServletResponse response,TcodeSetDto dto){ HttpSession session = request.getSession(); User userInfo = (User) session.getAttribute("user"); model.addAttribute("userInfo",userInfo); return "thymeleaf/tcodeset/check_loading"; } //审核 @RequestMapping(value="/tcodeSet_sh") @ResponseBody public Object tcodeSetsh(Model model,HttpServletRequest request,HttpServletResponse response,@RequestParam(value = "ids", required = false) String ids, @RequestParam(value="stat",required=false) String stat,@RequestParam(value="aduitopinion",required=false) String aduitopinion, @RequestParam(value="aduitdeptid",required=false) String aduitdeptid, @RequestParam(value="aduitrole",required=false) String aduitrole, @RequestParam(value="aduitdeptname",required=false) String aduitdeptname){ HttpSession session = request.getSession(); User userInfo = (User) session.getAttribute("user"); CommonAduitrecord record = new CommonAduitrecord(); record.setAduitdate(ToolUtil.date2Str(new Date(), "yyyy-MM-dd HH:mm:ss")); record.setAduitopinion(aduitopinion); record.setAduitdeptid(aduitdeptid); record.setAduitdeptname(aduitdeptname); record.setAduitrole(aduitrole); record.setAduitman(userInfo.getUserName()); record.setAduitid(userInfo.getUserId()); try { String[] is=ids.split(","); List id=Arrays.asList(is); tcodeSetService.tcodeSetsh(id,stat,record); return new ReturnMassage(Constants.MSG_SUCESS); } catch (Exception e) { return new ReturnMassage(Constants.MSG_FAIL); } } //代码集启用/禁用 @RequestMapping(value="/tcodeSet_qjlist") String tcodeSetqjlist(Model model,HttpServletRequest request,HttpServletResponse response,TcodeSetDto dto){ Map searchParameters = new HashMap(); //翻页 // String currentPageStr = request.getParameter("pagecurrentnum"); // String pagesize = request.getParameter("selectlimitnum"); // if(pagesize==null){ // pagesize="10"; // } // int pageSize=Integer.parseInt(pagesize); // dto.setState("3,4,5"); // String deptid=""; HttpSession session = request.getSession(); User userInfo = (User) session.getAttribute("user"); // for(Dept dept:userInfo.getDepts()){ // deptid=deptid+dept.getDeptId()+";"; // } // dto.setCreatorOrg(deptid); // Pagination page = newPagination(currentPageStr,pageSize); // page = tcodeSetService.findtcodeSetlist(dto, page,false,userInfo, searchParameters); // model.addAttribute("list", page.getPageResult()); // model.addAttribute("pagevar", page); model.addAttribute("dto",dto); List list=ddbcCodeService.findCodeByCodeType("cybz"); model.addAttribute("codeS",list); loginfoService.logDealInfo("3", modelType,"代码集起停信息列表", "t_codeset", "", ToolUtil.getIpAddr(request), request.getRequestURI(),userInfo); return "thymeleaf/tcodeset/tcaodeset_qj"; } //代码集启用/禁用 @ResponseBody @RequestMapping(value="/tcodeSet_qjlist_json") Object tcodeSetqjlistJson(Model model,HttpServletRequest request,HttpServletResponse response,TcodeSetDto dto){ Map searchParameters = new HashMap(); //翻页 String currentPageStr = request.getParameter("pagecurrentnum"); String pagesize = request.getParameter("selectlimitnum"); if(pagesize==null){ pagesize="10"; } int pageSize=Integer.parseInt(pagesize); if(dto.getState() == null || "".equals(dto.getState())){ dto.setState("3,4,5"); } else { dto.setQjstate(dto.getState()); dto.setState("3,4,5"); } String deptid=""; HttpSession session = request.getSession(); User userInfo = (User) session.getAttribute("user"); for(Dept dept:userInfo.getDepts()){ deptid=deptid+dept.getDeptId()+";"; } dto.setCreatorOrg(deptid); Pagination page = newPagination(currentPageStr,pageSize); searchParameters.put("field", request.getParameter("field")); searchParameters.put("order", request.getParameter("order")); page = tcodeSetService.findtcodeSetlist(dto, page,false,userInfo, searchParameters); model.addAttribute("list", page.getPageResult()); searchParameters = new HashMap(); searchParameters.put("code", 0); searchParameters.put("msg", 0); searchParameters.put("pagevar", page); return searchParameters; } //代码集信息 我的代码集 @RequestMapping(value="/tcodeSet_xxlist") String tcodeSetxxlist(Model model,HttpServletRequest request,HttpServletResponse response,TcodeSetDto dto){ Map searchParameters = new HashMap(); HttpSession session = request.getSession(); User userInfo = (User) session.getAttribute("user"); dto.setCreator(userInfo.getUserId()); model.addAttribute("dto",dto); List list=ddbcCodeService.findCodeByCodeType("cybz"); model.addAttribute("code",list); loginfoService.logDealInfo("3", modelType,"代码集信息列表", "t_codeset", "", ToolUtil.getIpAddr(request), request.getRequestURI(),userInfo); return "thymeleaf/tcodeset/tcodeset_xxlist"; } @ResponseBody @RequestMapping(value="/tcodeSet_xxlist_json") Object tcodeSetxxlistJson(Model model,HttpServletRequest request,HttpServletResponse response,TcodeSetDto dto){ Map searchParameters = new HashMap(); HttpSession session = request.getSession(); User userInfo = (User) session.getAttribute("user"); dto.setCreator(userInfo.getUserId()); //翻页 String currentPageStr = request.getParameter("pagecurrentnum"); String pagesize = request.getParameter("selectlimitnum"); if(pagesize==null){ pagesize="10"; } if(dto.getState() == null || "".equals(dto.getState())){ dto.setState("2,3,4,5,6,7,8"); } else { dto.setQjstate(dto.getState()); dto.setState("2,3,4,5,6,7,8"); } int pageSize=Integer.parseInt(pagesize); Pagination page = newPagination(currentPageStr,pageSize); searchParameters.put("field", request.getParameter("field")); searchParameters.put("order", request.getParameter("order")); page = tcodeSetService.findtcodeSetlist(dto, page,false,userInfo, searchParameters); model.addAttribute("list", page.getPageResult()); model.addAttribute("pagevar", page); model.addAttribute("dto",dto); List list=ddbcCodeService.findCodeByCodeType("cybz"); model.addAttribute("code",list); loginfoService.logDealInfo("3", modelType,"代码集信息列表", "t_codeset", "", ToolUtil.getIpAddr(request), request.getRequestURI(),userInfo); searchParameters = new HashMap(); searchParameters.put("code", 0); searchParameters.put("msg", 0); searchParameters.put("pagevar", page); return searchParameters; } //资源查询-代码集查询 @RequestMapping(value="/tcodeSet_zycx") String tcodeSetzycx(Model model,HttpServletRequest request,HttpServletResponse response,TcodeSetDto dto){ Map searchParameters = new HashMap(); HttpSession session = request.getSession(); User userInfo = (User) session.getAttribute("user"); //翻页 String currentPageStr = request.getParameter("pagecurrentnum"); String pagesize = request.getParameter("selectlimitnum"); if(pagesize==null){ pagesize="10"; } int pageSize=Integer.parseInt(pagesize); if(dto.getState() == null || "".equals(dto.getState())){ dto.setState("4"); } else { dto.setQjstate(dto.getState()); dto.setState("4"); } model.addAttribute("dto",dto); List list=ddbcCodeService.findCodeByCodeType("cybz"); model.addAttribute("codeS",list); loginfoService.logDealInfo("3", modelType,"代码集信息列表", "t_codeset", "", ToolUtil.getIpAddr(request), request.getRequestURI(),userInfo); //弹窗状态处理 String dmjcx = request.getParameter("dmjcx"); if(dmjcx!=null && "1".equals(dmjcx)){ model.addAttribute("dmjcx",1); }else{ model.addAttribute("dmjcx",0); } return "thymeleaf/tcodeset/tcodeset_zycx"; } //资源查询-代码集查询 @ResponseBody @RequestMapping(value="/tcodeSet_zycx_json") Object tcodeSetzycxJson(Model model,HttpServletRequest request,HttpServletResponse response,TcodeSetDto dto){ Map searchParameters = new HashMap(); HttpSession session = request.getSession(); User userInfo = (User) session.getAttribute("user"); //翻页 String currentPageStr = request.getParameter("pagecurrentnum"); String pagesize = request.getParameter("selectlimitnum"); if(pagesize==null){ pagesize="10"; } int pageSize=Integer.parseInt(pagesize); if(dto.getState() == null || "".equals(dto.getState())){ dto.setState("4"); } else { dto.setQjstate(dto.getState()); dto.setState("4"); } Pagination page = newPagination(currentPageStr,pageSize); searchParameters.put("field", request.getParameter("field")); searchParameters.put("order", request.getParameter("order")); page = tcodeSetService.findtcodeSetlist(dto, page,false,userInfo, searchParameters); searchParameters = new HashMap(); searchParameters.put("code", 0); searchParameters.put("msg", 0); searchParameters.put("pagevar", page); return searchParameters; } @RequestMapping(value="/exportExcel{type}") void tcodeSetExport(@PathVariable("type")String type,TcodeSetDto dto,Model model,HttpServletRequest request,HttpServletResponse response){ Pagination page = newPagination("1",10); HttpSession session = request.getSession(); User userInfo = (User) session.getAttribute("user"); if("1".equals(type)){//我的代码集 dto.setCreator(userInfo.getUserId()); if(dto.getState() == null || "".equals(dto.getState())){ dto.setState("2,3,4,5,6,7,8"); } else { dto.setQjstate(dto.getState()); dto.setState("2,3,4,5,6,7,8"); } } else if("2".equals(type)){//我的代码集 dto.setCreator(userInfo.getUserId()); if(dto.getState() == null || "".equals(dto.getState())){ dto.setState("1,7,8");//保存和退回修改 } else { dto.setQjstate(dto.getState()); dto.setState("1,7,8");//保存和退回修改 } } else if("3".equals(type)){//代码集审核 if(dto.getState() == null || "".equals(dto.getState())){ dto.setState("2,6"); } else { dto.setQjstate(dto.getState()); dto.setState("2,6"); } String deptid=""; for(Dept dept:userInfo.getDepts()){ deptid=deptid+dept.getDeptId()+";"; } dto.setCreatorOrg(deptid); } else if("4".equals(type)){ //代码集停启 if(dto.getState() == null || "".equals(dto.getState())){ dto.setState("3,4,5"); } else { dto.setQjstate(dto.getState()); dto.setState("3,4,5"); } String deptid=""; for(Dept dept:userInfo.getDepts()){ deptid=deptid+dept.getDeptId()+";"; } dto.setCreatorOrg(deptid); } else if("5".equals(type)){//代码集综合查询 if(dto.getState() == null || "".equals(dto.getState())){ dto.setState("4"); } else { dto.setQjstate(dto.getState()); dto.setState("4"); } } Map searchParameters = new HashMap(); page= tcodeSetService.findtcodeSetlist(dto, page,true,userInfo, searchParameters); EasyPoiUtil.exportExcel(page.getPageResult(), "代码集信息", "代码集信息", TcodeSet.class, "代码集信息.xls", response); } //代码集导入 @RequestMapping(value="/file-import") String tcodeSetimport(Model model,HttpServletRequest request,HttpServletResponse response){ HttpSession session = request.getSession(); User userInfo = (User) session.getAttribute("user"); model.addAttribute("deptlist",userInfo.getDepts()); return "thymeleaf/tcodeset/tcodeset_import"; } @RequestMapping(value="/importdata") @ResponseBody Map importdata(Model model,HttpServletRequest request,HttpServletResponse response,@RequestParam(value="ids",required = false) String ids, @RequestParam(value="deptid",required = false) String deptid,String deptname){ Map map=new HashMap(); map.put("message", "success"); String deptId = request.getParameter("deptid"); HttpSession session = request.getSession(); User userInfo = (User) session.getAttribute("user"); String[] id=ids.split(","); for(int i=0;i infolist=EasyPoiUtil.importExcel(fileName, 0, 2, TcodeImpTemplate.class); String message="success"; List list=new ArrayList(); int i=0; for(TcodeImpTemplate info:infolist){ i=i+1; TcodeSetDto dto=new TcodeSetDto(); if(!ToolUtil.isNull(info.getCodename())) { dto.setCodesetName(info.getCodename());} else { return "第"+i+"行代码集名称不能为空"; } dto.setCodesetDetail(info.getCodeDes()); dto.setState("1"); if(!ToolUtil.isNull(info.getCodeCode())) { String[] codeCodes=info.getCodeCode().split("-"); dto.setLevelType(codeCodes[0]); String levelName=""; String levelId=""; switch(codeCodes[0]){ case "0": levelName= "国家标准"; levelId=tcodeSetService.getCodeId("cybz","0"); break; case "1": levelName= "省级标准"; levelId=tcodeSetService.getCodeId("cybz","1"); break; case "2": levelName= "地市标准"; levelId=tcodeSetService.getCodeId("cybz","2"); break; case "3": levelName= "行业标准"; levelId=tcodeSetService.getCodeId("cybz","3"); break; case "4": levelName= "其他标准"; levelId=tcodeSetService.getCodeId("cybz","4"); break; } dto.setLevelName(levelName); dto.setLevelId(levelId); } else { return "第"+i+"行代码集类别不能为空"; } dto.setCreator(userInfo.getUserId()); dto.setCreatorName(userInfo.getUserName()); dto.setCreatorOrg(deptid); //部门id dto.setCreatorOrgname(deptname);//部门名称 dto.setUpdatorOrg(deptid); dto.setUpdateOrgName(deptname); dto.setCreatedate(StrUtils.DateFormatString(new Date(),"yyyy-MM-dd HH:mm:ss")); dto.setUpdatetime(StrUtils.DateFormatString(new Date(),"yyyy-MM-dd HH:mm:ss")); dto.setUpdator(userInfo.getUserId()); dto.setUpdatorName(userInfo.getUserName()); Dept dept = sysDeptService.findDeptInfoById(deptid); dto.setXzqhcode(dept.getXzqhcode()); List detailList=new ArrayList(); int j=0; for(TcodeSetDetail codevalue:info.getTcodeSetDetailList()){ codevalue.setId(getUUID()); codevalue.setCodeIndex(1); if(codevalue.getCodename()!=null) { if(codevalue.getCodename().length() > 200 || codevalue.getCodename().length()==0){ message="代码值名称输入有误,长度必须小于200且必填"; return message; } } if(codevalue.getCodenum()!=null) { if(codevalue.getCodenum().length() > 200 || codevalue.getCodenum().length() == 0){ message="代码值编号输入有误,长度必须小于200且必填"; return message; } } detailList.add(codevalue); } dto.setDetailList(detailList); if(dto.getCodesetName()!=null) { if(dto.getCodesetName().length() > 200 || dto.getCodesetName().length() == 0){ message="代码集名称输入有误,长度必须小于200且必填"; return message; } } if(dto.getCodesetDetail()!=null) { if(dto.getCodesetDetail().length() >400){ message="代码集说明输入有误,长度必须小于400且必填"; return message; } } if("".equals(dto.getLevelId())){ message="代码集类别输入有误,请选择0-4"; return message; } list.add(dto); } for(TcodeSetDto dto:list){ tcodeSetService.tcodeSetSave(dto);} return message; } public Object getCellValue(Cell cell){ Object value = null; DecimalFormat df = new DecimalFormat("0"); //格式化number String字符 SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd"); //日期格式化 DecimalFormat df2 = new DecimalFormat("0.00"); //格式化数字 switch (cell.getCellType()) { case Cell.CELL_TYPE_STRING: value = cell.getRichStringCellValue().getString(); break; case Cell.CELL_TYPE_NUMERIC: if("General".equals(cell.getCellStyle().getDataFormatString())){ value = df.format(cell.getNumericCellValue()); }else if("m/d/yy".equals(cell.getCellStyle().getDataFormatString())){ value = sdf.format(cell.getDateCellValue()); }else{ value = df2.format(cell.getNumericCellValue()); } break; case Cell.CELL_TYPE_BOOLEAN: value = cell.getBooleanCellValue(); break; case Cell.CELL_TYPE_BLANK: value = ""; break; default: break; } return value; } //word导出 @RequestMapping(value="/exportWord") void exportSimpleWord(Model model,HttpServletRequest request,HttpServletResponse response,@RequestParam(value="ids",required = false) String ids) throws IOException{ Map dataMap=tcodeSetService.getData(ids); Configuration configuration = new Configuration(); configuration.setDefaultEncoding("utf-8"); configuration.setClassForTemplateLoading(this.getClass(), "/templates/mailTemplate"); //FTL文件所存在的位置 InputStream fin=null; ServletOutputStream o=null; File outFile = null; File file = new File(save_path); if (!file.exists()) { file.mkdirs(); } try { Template t = configuration.getTemplate("tcodeSet.ftl"); //文件名 outFile = new File(save_path+File.separator+new Date().getTime()+".doc"); Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile),"UTF-8")); t.process(dataMap, out); out.close(); fin = new FileInputStream(outFile); response.setCharacterEncoding("utf-8"); response.setContentType("application/msword"); response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode("代码集信息列表.doc", "UTF-8")); o = response.getOutputStream(); byte[] buffer = new byte[1024]; // 缓冲区 int bytesToRead = 0; while ((bytesToRead = fin.read(buffer))>0) { o.write(buffer, 0, bytesToRead); } } catch (FileNotFoundException e1) { e1.printStackTrace(); } catch (TemplateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (fin != null) fin.close(); if (o != null) o.close(); if (outFile != null) outFile.delete(); // 删除临时文件 } } @RequestMapping(value="/tcodeSet_simHash") String tcodeSetSimHash(Model model,HttpServletRequest request,HttpServletResponse response,TcodeSetDto dto){ //翻页 String currentPageStr = request.getParameter("pagecurrentnum"); String pagesize = request.getParameter("selectlimitnum"); String id = request.getParameter("id"); if(pagesize==null){ pagesize="10"; } int pageSize=Integer.parseInt(pagesize); if(dto.getState() == null || "".equals(dto.getState())){ dto.setState("4"); } else { dto.setQjstate(dto.getState()); dto.setState("4"); } TcodeSetDto info=tcodeSetService.getOne(id); DecimalFormat df = new DecimalFormat("#.00"); Vector v1=IKSegmenterUtil.participle(info.getCodesetName()); long l3 = System.currentTimeMillis(); BigDecimal data1 = new BigDecimal(75); List infolist=new ArrayList<>(); for(TcodeSetDto codeinfo:tcodeSetService.getAll(v1,id)){ if(codeinfo.getCodesetName()!=null){ Vector v2=IKSegmenterUtil.participle(codeinfo.getCodesetName()); BigDecimal data2 = new BigDecimal(IKSegmenterUtil.getSimilarity(v1, v2)*100); if(data1.compareTo(data2)==-1){ codeinfo.setSimvalue(df.format(data2)+"%"); infolist.add(codeinfo); } } } long l4 = System.currentTimeMillis(); System.out.println(l4-l3); model.addAttribute("list", infolist); return "thymeleaf/tcodeset/tcodeset_simHash"; } }