TcodeSetController.java 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954
  1. package cn.com.taiji.zhongxiao.web;
  2. import java.io.BufferedWriter;
  3. import java.io.File;
  4. import java.io.FileInputStream;
  5. import java.io.FileNotFoundException;
  6. import java.io.FileOutputStream;
  7. import java.io.IOException;
  8. import java.io.InputStream;
  9. import java.io.OutputStreamWriter;
  10. import java.io.Writer;
  11. import java.math.BigDecimal;
  12. import java.net.URLEncoder;
  13. import java.text.DecimalFormat;
  14. import java.text.SimpleDateFormat;
  15. import java.util.ArrayList;
  16. import java.util.Arrays;
  17. import java.util.Date;
  18. import java.util.HashMap;
  19. import java.util.List;
  20. import java.util.Map;
  21. import java.util.Vector;
  22. import javax.inject.Inject;
  23. import javax.servlet.ServletOutputStream;
  24. import javax.servlet.http.HttpServletRequest;
  25. import javax.servlet.http.HttpServletResponse;
  26. import javax.servlet.http.HttpSession;
  27. import org.apache.poi.ss.usermodel.Cell;
  28. import org.springframework.beans.factory.annotation.Value;
  29. import org.springframework.stereotype.Controller;
  30. import org.springframework.ui.Model;
  31. import org.springframework.web.bind.annotation.PathVariable;
  32. import org.springframework.web.bind.annotation.RequestMapping;
  33. import org.springframework.web.bind.annotation.RequestParam;
  34. import org.springframework.web.bind.annotation.ResponseBody;
  35. import cn.com.taiji.sys.domain.Dept;
  36. import cn.com.taiji.sys.domain.Role;
  37. import cn.com.taiji.sys.domain.User;
  38. import cn.com.taiji.sys.dto.CodeDto;
  39. import cn.com.taiji.util.Constants;
  40. import cn.com.taiji.util.EasyPoiUtil;
  41. import cn.com.taiji.util.IKSegmenterUtil;
  42. import cn.com.taiji.util.Pagination;
  43. import cn.com.taiji.util.StrUtils;
  44. import cn.com.taiji.util.ToolUtil;
  45. import cn.com.taiji.zhongxiao.domain.CommonAduitrecord;
  46. import cn.com.taiji.zhongxiao.domain.TcodeSet;
  47. import cn.com.taiji.zhongxiao.domain.TcodeSetDetail;
  48. import cn.com.taiji.zhongxiao.domain.TcodeSetNoList;
  49. import cn.com.taiji.zhongxiao.dto.ReturnMassage;
  50. import cn.com.taiji.zhongxiao.dto.TcodeImpTemplate;
  51. import cn.com.taiji.zhongxiao.dto.TcodeSetDto;
  52. import cn.com.taiji.zhongxiao.dto.UploadDto;
  53. import cn.com.taiji.zhongxiao.service.CommonAduitrecordService;
  54. import cn.com.taiji.zhongxiao.service.DbdcCodeService;
  55. import cn.com.taiji.zhongxiao.service.LoginfoService;
  56. import cn.com.taiji.zhongxiao.service.SysDeptService;
  57. import cn.com.taiji.zhongxiao.service.TcodeSetService;
  58. import cn.com.taiji.zhongxiao.service.UploadService;
  59. import freemarker.template.Configuration;
  60. import freemarker.template.Template;
  61. import freemarker.template.TemplateException;
  62. @Controller
  63. @RequestMapping(value="/tcodeSet")
  64. public class TcodeSetController extends BaseAction{
  65. @Inject
  66. TcodeSetService tcodeSetService;
  67. @Inject
  68. LoginfoService loginfoService;
  69. @Inject
  70. DbdcCodeService ddbcCodeService;
  71. @Inject
  72. UploadService uploadService;
  73. @Value("${save_path}")
  74. private String save_path;
  75. @Inject
  76. SysDeptService sysDeptService;
  77. @Inject
  78. CommonAduitrecordService commonAduitrecordService;
  79. public static int PAGESIZE = 10;
  80. private static String modelType = "代码集注册";
  81. /**
  82. * 代码集注册列表
  83. * @param model
  84. * @param request
  85. * @param response
  86. * @param dto
  87. * @return
  88. */
  89. @RequestMapping(value="/tcodeSet_list")
  90. String tcodeSetlist(Model model,HttpServletRequest request,HttpServletResponse response,TcodeSetDto dto){
  91. Map<String, Object> searchParameters = new HashMap<String, Object>();
  92. HttpSession session = request.getSession();
  93. User userInfo = (User) session.getAttribute("user");
  94. dto.setCreator(userInfo.getUserId());
  95. model.addAttribute("dto",dto);
  96. List<CodeDto> list=ddbcCodeService.findCodeByCodeType("cybz");
  97. model.addAttribute("codeS",list);
  98. loginfoService.logDealInfo("3", modelType,"代码集信息列表", "t_codeset", "", ToolUtil.getIpAddr(request), request.getRequestURI(),userInfo);
  99. return "thymeleaf/tcodeset/tcodeset_list";
  100. }
  101. @ResponseBody
  102. @RequestMapping(value="/tcodeSet_list_json")
  103. Object tcodeSetlistJson(Model model,HttpServletRequest request,HttpServletResponse response,TcodeSetDto dto){
  104. Map<String, Object> searchParameters = new HashMap<String, Object>();
  105. HttpSession session = request.getSession();
  106. User userInfo = (User) session.getAttribute("user");
  107. dto.setCreator(userInfo.getUserId());
  108. //翻页
  109. String currentPageStr = request.getParameter("pagecurrentnum");
  110. String pagesize = request.getParameter("selectlimitnum");
  111. if(pagesize==null){
  112. pagesize="10";
  113. }
  114. searchParameters.put("field", request.getParameter("field"));
  115. searchParameters.put("order", request.getParameter("order"));
  116. int pageSize=Integer.parseInt(pagesize);
  117. if(dto.getState() == null || "".equals(dto.getState())){
  118. dto.setState("1,7,8");//保存和退回修改
  119. }
  120. else {
  121. dto.setQjstate(dto.getState());
  122. dto.setState("1,7,8");//保存和退回修改
  123. }
  124. Pagination<TcodeSetNoList> page = newPagination(currentPageStr,pageSize);
  125. page = tcodeSetService.findtcodeSetlist(dto, page,false,userInfo, searchParameters);
  126. // page = tcodeSetService.findAlllist(dto, page,false,userInfo, searchParameters);
  127. // model.addAttribute("list", page.getPageResult());
  128. // model.addAttribute("pagevar", page);
  129. // model.addAttribute("dto",dto);
  130. // List<CodeDto> list=ddbcCodeService.findCodeByCodeType("cybz");
  131. // model.addAttribute("code",list);
  132. searchParameters.put("code", 0);
  133. searchParameters.put("msg", 0);
  134. searchParameters.put("pagevar", page);
  135. // loginfoService.logDealInfo("3", modelType,"代码集信息列表", "t_codeset", "", ToolUtil.getIpAddr(request), request.getRequestURI(),userInfo);
  136. return searchParameters;
  137. }
  138. //新增页面
  139. @RequestMapping(value="/tcodeSet_new")
  140. String tcodeSetnew(Model model,HttpServletResponse response,HttpServletRequest request){
  141. HttpSession session = request.getSession();
  142. User userInfo = (User) session.getAttribute("user");
  143. List<CodeDto> list=ddbcCodeService.findCodeByCodeType("cybz");//采用标准
  144. TcodeSetDto dto=new TcodeSetDto();
  145. model.addAttribute("deptlist",userInfo.getDepts());
  146. model.addAttribute("list",list);
  147. model.addAttribute("dto",dto);
  148. model.addAttribute("num","0");
  149. return "thymeleaf/tcodeset/tcodeset_new";
  150. }
  151. //保存代码集数据以及代码集详情表 保存分为"1:保存"和"2:提交"
  152. @RequestMapping(value="/tcodeSet_save")
  153. String tcodeSetSave(Model model,HttpServletResponse response,HttpServletRequest request,TcodeSetDto dto){
  154. HttpSession session = request.getSession();
  155. User userInfo = (User) session.getAttribute("user");
  156. String num=request.getParameter("num");
  157. num=num==""?"0":num;
  158. CodeDto codeDto=ddbcCodeService.findCodeById(dto.getLevelId());
  159. dto.setLevelName(codeDto.getCodeName());
  160. Dept dept = sysDeptService.findDeptInfoById(dto.getUpdatorOrg());
  161. if(dto.getId()==null || "".equals(dto.getId())){
  162. dto.setCreator(userInfo.getUserId());
  163. dto.setCreatorName(userInfo.getUserName());
  164. dto.setCreatorOrg(dto.getUpdatorOrg());
  165. dto.setCreatorOrgname(dto.getUpdateOrgName());
  166. dto.setCreatedate(StrUtils.DateFormatString(new Date(),"yyyy-MM-dd HH:mm:ss"));
  167. dto.setXzqhcode(dept.getXzqhcode());
  168. }else{
  169. dto.setUpdator(userInfo.getUserId());//修改人ID
  170. dto.setUpdatorName(userInfo.getUserName());//修改者姓名
  171. dto.setUpdatetime(StrUtils.DateFormatString(new Date(),"yyyy-MM-dd HH:mm:ss"));//修改时间
  172. }
  173. List<TcodeSetDetail> detailList=new ArrayList<TcodeSetDetail>();
  174. for(int i=1;i<=Integer.parseInt(num);i++){
  175. TcodeSetDetail tcodeSetDetail=new TcodeSetDetail();
  176. String codenum=request.getParameter("codenum"+i);
  177. String codename=request.getParameter("codename"+i);
  178. String description=request.getParameter("description"+i);
  179. tcodeSetDetail.setCodenum(codenum);
  180. tcodeSetDetail.setCodename(codename);
  181. tcodeSetDetail.setDescription(description);
  182. tcodeSetDetail.setId(getUUID());
  183. tcodeSetDetail.setCodeIndex(i);
  184. detailList.add(tcodeSetDetail);
  185. }
  186. dto.setDetailList(detailList);
  187. TcodeSet info = tcodeSetService.tcodeSetSave(dto);
  188. if(ToolUtil.isNull(dto.getId())){
  189. loginfoService.logDealInfo("1", modelType,"代码集信息新增", "t_codeset", info.getId(), ToolUtil.getIpAddr(request), request.getRequestURI(),userInfo);
  190. }
  191. else{
  192. loginfoService.logDealInfo("2", modelType,"代码集信息更新", "t_codeset", info.getId(), ToolUtil.getIpAddr(request), request.getRequestURI(),userInfo);
  193. }
  194. return "thymeleaf/tcodeset/success";
  195. }
  196. //删除
  197. @RequestMapping(value="/tcodeSet_delete")
  198. @ResponseBody
  199. public Object tcodeSetDelete(Model model,HttpServletRequest request,HttpServletResponse response,@RequestParam(value = "id", required = false) String id){
  200. HttpSession session = request.getSession();
  201. User userInfo = (User) session.getAttribute("user");
  202. for(String temp:id.split(";")) {
  203. loginfoService.logDealInfo("4", modelType,"代码集信息删除", "t_codeset", temp, ToolUtil.getIpAddr(request), request.getRequestURI(),userInfo);
  204. try {
  205. tcodeSetService.tcodeSetDelete(temp);
  206. } catch (Exception e) {
  207. return new ReturnMassage(Constants.MSG_FAIL);
  208. }
  209. }
  210. return new ReturnMassage(Constants.MSG_SUCESS);
  211. }
  212. //提交
  213. @RequestMapping(value="/tcodeSet_tijiao")
  214. @ResponseBody
  215. public Object tcodeSettijiao(Model model,HttpServletRequest request,HttpServletResponse response,@RequestParam(value = "id", required = false) String id){
  216. try {
  217. TcodeSetDto dto = tcodeSetService.getOne(id);
  218. HttpSession session = request.getSession();
  219. User userInfo = (User) session.getAttribute("user");
  220. String rolename="";
  221. for(Role role:userInfo.getRoles()) {
  222. rolename=rolename+role.getRoleName()+";";
  223. }
  224. CommonAduitrecord record = new CommonAduitrecord();
  225. record.setId(ToolUtil.getUUID());
  226. record.setAduitdate(ToolUtil.date2Str(new Date(), "yyyy-MM-dd HH:mm:ss"));
  227. record.setAduitopinion("提交审核");
  228. record.setAduitdeptid(dto.getCreatorOrg());
  229. record.setAduitdeptname(dto.getCreatorOrgname());
  230. record.setAduitrole(rolename);
  231. record.setAduitman(userInfo.getUserName());
  232. record.setAduitid(userInfo.getUserId());
  233. record.setTaskname("提交审核");
  234. record.setBusid(id);
  235. record.setBustable("t_codeset");
  236. commonAduitrecordService.saveCommonAduitrecord(record);
  237. tcodeSetService.tcodeSettijiao(id);
  238. return new ReturnMassage(Constants.MSG_SUCESS);
  239. } catch (Exception e) {
  240. return new ReturnMassage(Constants.MSG_FAIL);
  241. }
  242. }
  243. //修改
  244. @RequestMapping(value="/tcodeSet_update")
  245. public String tcodeSetupdate(Model model,HttpServletRequest request,HttpServletResponse response,@RequestParam(value = "id", required = false) String id,
  246. @RequestParam(value = "stat", required = false) String stat){
  247. HttpSession session = request.getSession();
  248. User userInfo = (User) session.getAttribute("user");
  249. String url=Integer.parseInt(stat)==1?"thymeleaf/tcodeset/tcodeset_new":"thymeleaf/tcodeset/tcaodeset_look";
  250. List<CodeDto> list=ddbcCodeService.findCodeByCodeType("cybz");
  251. TcodeSetDto dto=tcodeSetService.getOne(id);
  252. model.addAttribute("deptlist",userInfo.getDepts());
  253. model.addAttribute("list",list);
  254. model.addAttribute("dto",dto);
  255. model.addAttribute("num", dto.getDetailList().size());
  256. List<CommonAduitrecord> recordlist = commonAduitrecordService.findCommonAduitrecordByBusidAndBusTable(id, "t_codeset");
  257. model.addAttribute("recordlist", recordlist);
  258. loginfoService.logDealInfo("3", modelType,"代码集信息查看", "t_codeset", id, ToolUtil.getIpAddr(request), request.getRequestURI(),userInfo);
  259. return url;
  260. }
  261. //代码集审核
  262. @RequestMapping(value="/tcodeSet_shlist")
  263. String tcodeSetshlist(Model model,HttpServletRequest request,HttpServletResponse response,TcodeSetDto dto){
  264. Map<String, Object> searchParameters = new HashMap<String, Object>();
  265. // //翻页
  266. // String currentPageStr = request.getParameter("pagecurrentnum");
  267. // String pagesize = request.getParameter("selectlimitnum");
  268. // if(pagesize==null){
  269. // pagesize="10";
  270. // }
  271. HttpSession session = request.getSession();
  272. User userInfo = (User) session.getAttribute("user");
  273. // int pageSize=Integer.parseInt(pagesize);
  274. // dto.setState("2");
  275. // String deptid="";
  276. // for(Dept dept:userInfo.getDepts()){
  277. // deptid=deptid+dept.getDeptId()+";";
  278. // }
  279. // dto.setCreatorOrg(deptid);
  280. // Pagination<TcodeSet> page = newPagination(currentPageStr,pageSize);
  281. // page = tcodeSetService.findtcodeSetlist(dto, page,false,userInfo, searchParameters);
  282. // model.addAttribute("list", page.getPageResult());
  283. // model.addAttribute("pagevar", page);
  284. model.addAttribute("dto",dto);
  285. List<CodeDto> list=ddbcCodeService.findCodeByCodeType("cybz");
  286. model.addAttribute("codeS",list);
  287. loginfoService.logDealInfo("3", modelType,"代码集信息审核信息列表", "t_codeset", "", ToolUtil.getIpAddr(request), request.getRequestURI(),userInfo);
  288. return "thymeleaf/tcodeset/tcodeset_sh";
  289. }
  290. //代码集审核
  291. @ResponseBody
  292. @RequestMapping(value="/tcodeSet_shlist_json")
  293. Object tcodeSetshlistJson(Model model,HttpServletRequest request,HttpServletResponse response,TcodeSetDto dto){
  294. Map<String, Object> searchParameters = new HashMap<String, Object>();
  295. //翻页
  296. String currentPageStr = request.getParameter("pagecurrentnum");
  297. String pagesize = request.getParameter("selectlimitnum");
  298. if(pagesize==null){
  299. pagesize="10";
  300. }
  301. HttpSession session = request.getSession();
  302. User userInfo = (User) session.getAttribute("user");
  303. int pageSize=Integer.parseInt(pagesize);
  304. dto.setState("2,6");
  305. String deptid="";
  306. for(Dept dept:userInfo.getDepts()){
  307. deptid=deptid+dept.getDeptId()+";";
  308. }
  309. dto.setCreatorOrg(deptid);
  310. Pagination<TcodeSet> page = newPagination(currentPageStr,pageSize);
  311. searchParameters.put("field", request.getParameter("field"));
  312. searchParameters.put("order", request.getParameter("order"));
  313. page = tcodeSetService.findtcodeSetlist(dto, page,false,userInfo, searchParameters);
  314. searchParameters = new HashMap<String, Object>();
  315. searchParameters.put("code", 0);
  316. searchParameters.put("msg", 0);
  317. searchParameters.put("pagevar", page);
  318. return searchParameters;
  319. }
  320. @RequestMapping(value="/check_loading")
  321. String check_loading(Model model,HttpServletRequest request,HttpServletResponse response,TcodeSetDto dto){
  322. HttpSession session = request.getSession();
  323. User userInfo = (User) session.getAttribute("user");
  324. model.addAttribute("userInfo",userInfo);
  325. return "thymeleaf/tcodeset/check_loading";
  326. }
  327. //审核
  328. @RequestMapping(value="/tcodeSet_sh")
  329. @ResponseBody
  330. public Object tcodeSetsh(Model model,HttpServletRequest request,HttpServletResponse response,@RequestParam(value = "ids", required = false) String ids,
  331. @RequestParam(value="stat",required=false) String stat,@RequestParam(value="aduitopinion",required=false) String aduitopinion,
  332. @RequestParam(value="aduitdeptid",required=false) String aduitdeptid,
  333. @RequestParam(value="aduitrole",required=false) String aduitrole,
  334. @RequestParam(value="aduitdeptname",required=false) String aduitdeptname){
  335. HttpSession session = request.getSession();
  336. User userInfo = (User) session.getAttribute("user");
  337. CommonAduitrecord record = new CommonAduitrecord();
  338. record.setAduitdate(ToolUtil.date2Str(new Date(), "yyyy-MM-dd HH:mm:ss"));
  339. record.setAduitopinion(aduitopinion);
  340. record.setAduitdeptid(aduitdeptid);
  341. record.setAduitdeptname(aduitdeptname);
  342. record.setAduitrole(aduitrole);
  343. record.setAduitman(userInfo.getUserName());
  344. record.setAduitid(userInfo.getUserId());
  345. try {
  346. String[] is=ids.split(",");
  347. List<String> id=Arrays.asList(is);
  348. tcodeSetService.tcodeSetsh(id,stat,record);
  349. return new ReturnMassage(Constants.MSG_SUCESS);
  350. } catch (Exception e) {
  351. return new ReturnMassage(Constants.MSG_FAIL);
  352. }
  353. }
  354. //代码集启用/禁用
  355. @RequestMapping(value="/tcodeSet_qjlist")
  356. String tcodeSetqjlist(Model model,HttpServletRequest request,HttpServletResponse response,TcodeSetDto dto){
  357. Map<String, Object> searchParameters = new HashMap<String, Object>();
  358. //翻页
  359. // String currentPageStr = request.getParameter("pagecurrentnum");
  360. // String pagesize = request.getParameter("selectlimitnum");
  361. // if(pagesize==null){
  362. // pagesize="10";
  363. // }
  364. // int pageSize=Integer.parseInt(pagesize);
  365. // dto.setState("3,4,5");
  366. // String deptid="";
  367. HttpSession session = request.getSession();
  368. User userInfo = (User) session.getAttribute("user");
  369. // for(Dept dept:userInfo.getDepts()){
  370. // deptid=deptid+dept.getDeptId()+";";
  371. // }
  372. // dto.setCreatorOrg(deptid);
  373. // Pagination<TcodeSet> page = newPagination(currentPageStr,pageSize);
  374. // page = tcodeSetService.findtcodeSetlist(dto, page,false,userInfo, searchParameters);
  375. // model.addAttribute("list", page.getPageResult());
  376. // model.addAttribute("pagevar", page);
  377. model.addAttribute("dto",dto);
  378. List<CodeDto> list=ddbcCodeService.findCodeByCodeType("cybz");
  379. model.addAttribute("codeS",list);
  380. loginfoService.logDealInfo("3", modelType,"代码集起停信息列表", "t_codeset", "", ToolUtil.getIpAddr(request), request.getRequestURI(),userInfo);
  381. return "thymeleaf/tcodeset/tcaodeset_qj";
  382. }
  383. //代码集启用/禁用
  384. @ResponseBody
  385. @RequestMapping(value="/tcodeSet_qjlist_json")
  386. Object tcodeSetqjlistJson(Model model,HttpServletRequest request,HttpServletResponse response,TcodeSetDto dto){
  387. Map<String, Object> searchParameters = new HashMap<String, Object>();
  388. //翻页
  389. String currentPageStr = request.getParameter("pagecurrentnum");
  390. String pagesize = request.getParameter("selectlimitnum");
  391. if(pagesize==null){
  392. pagesize="10";
  393. }
  394. int pageSize=Integer.parseInt(pagesize);
  395. if(dto.getState() == null || "".equals(dto.getState())){
  396. dto.setState("3,4,5");
  397. }
  398. else {
  399. dto.setQjstate(dto.getState());
  400. dto.setState("3,4,5");
  401. }
  402. String deptid="";
  403. HttpSession session = request.getSession();
  404. User userInfo = (User) session.getAttribute("user");
  405. for(Dept dept:userInfo.getDepts()){
  406. deptid=deptid+dept.getDeptId()+";";
  407. }
  408. dto.setCreatorOrg(deptid);
  409. Pagination<TcodeSet> page = newPagination(currentPageStr,pageSize);
  410. searchParameters.put("field", request.getParameter("field"));
  411. searchParameters.put("order", request.getParameter("order"));
  412. page = tcodeSetService.findtcodeSetlist(dto, page,false,userInfo, searchParameters);
  413. model.addAttribute("list", page.getPageResult());
  414. searchParameters = new HashMap<String, Object>();
  415. searchParameters.put("code", 0);
  416. searchParameters.put("msg", 0);
  417. searchParameters.put("pagevar", page);
  418. return searchParameters;
  419. }
  420. //代码集信息 我的代码集
  421. @RequestMapping(value="/tcodeSet_xxlist")
  422. String tcodeSetxxlist(Model model,HttpServletRequest request,HttpServletResponse response,TcodeSetDto dto){
  423. Map<String, Object> searchParameters = new HashMap<String, Object>();
  424. HttpSession session = request.getSession();
  425. User userInfo = (User) session.getAttribute("user");
  426. dto.setCreator(userInfo.getUserId());
  427. model.addAttribute("dto",dto);
  428. List<CodeDto> list=ddbcCodeService.findCodeByCodeType("cybz");
  429. model.addAttribute("code",list);
  430. loginfoService.logDealInfo("3", modelType,"代码集信息列表", "t_codeset", "", ToolUtil.getIpAddr(request), request.getRequestURI(),userInfo);
  431. return "thymeleaf/tcodeset/tcodeset_xxlist";
  432. }
  433. @ResponseBody
  434. @RequestMapping(value="/tcodeSet_xxlist_json")
  435. Object tcodeSetxxlistJson(Model model,HttpServletRequest request,HttpServletResponse response,TcodeSetDto dto){
  436. Map<String, Object> searchParameters = new HashMap<String, Object>();
  437. HttpSession session = request.getSession();
  438. User userInfo = (User) session.getAttribute("user");
  439. dto.setCreator(userInfo.getUserId());
  440. //翻页
  441. String currentPageStr = request.getParameter("pagecurrentnum");
  442. String pagesize = request.getParameter("selectlimitnum");
  443. if(pagesize==null){
  444. pagesize="10";
  445. }
  446. if(dto.getState() == null || "".equals(dto.getState())){
  447. dto.setState("2,3,4,5,6,7,8");
  448. }
  449. else {
  450. dto.setQjstate(dto.getState());
  451. dto.setState("2,3,4,5,6,7,8");
  452. }
  453. int pageSize=Integer.parseInt(pagesize);
  454. Pagination<TcodeSet> page = newPagination(currentPageStr,pageSize);
  455. searchParameters.put("field", request.getParameter("field"));
  456. searchParameters.put("order", request.getParameter("order"));
  457. page = tcodeSetService.findtcodeSetlist(dto, page,false,userInfo, searchParameters);
  458. model.addAttribute("list", page.getPageResult());
  459. model.addAttribute("pagevar", page);
  460. model.addAttribute("dto",dto);
  461. List<CodeDto> list=ddbcCodeService.findCodeByCodeType("cybz");
  462. model.addAttribute("code",list);
  463. loginfoService.logDealInfo("3", modelType,"代码集信息列表", "t_codeset", "", ToolUtil.getIpAddr(request), request.getRequestURI(),userInfo);
  464. searchParameters = new HashMap<String, Object>();
  465. searchParameters.put("code", 0);
  466. searchParameters.put("msg", 0);
  467. searchParameters.put("pagevar", page);
  468. return searchParameters;
  469. }
  470. //资源查询-代码集查询
  471. @RequestMapping(value="/tcodeSet_zycx")
  472. String tcodeSetzycx(Model model,HttpServletRequest request,HttpServletResponse response,TcodeSetDto dto){
  473. Map<String, Object> searchParameters = new HashMap<String, Object>();
  474. HttpSession session = request.getSession();
  475. User userInfo = (User) session.getAttribute("user");
  476. //翻页
  477. String currentPageStr = request.getParameter("pagecurrentnum");
  478. String pagesize = request.getParameter("selectlimitnum");
  479. if(pagesize==null){
  480. pagesize="10";
  481. }
  482. int pageSize=Integer.parseInt(pagesize);
  483. if(dto.getState() == null || "".equals(dto.getState())){
  484. dto.setState("4");
  485. }
  486. else {
  487. dto.setQjstate(dto.getState());
  488. dto.setState("4");
  489. }
  490. model.addAttribute("dto",dto);
  491. List<CodeDto> list=ddbcCodeService.findCodeByCodeType("cybz");
  492. model.addAttribute("codeS",list);
  493. loginfoService.logDealInfo("3", modelType,"代码集信息列表", "t_codeset", "", ToolUtil.getIpAddr(request), request.getRequestURI(),userInfo);
  494. //弹窗状态处理
  495. String dmjcx = request.getParameter("dmjcx");
  496. if(dmjcx!=null && "1".equals(dmjcx)){
  497. model.addAttribute("dmjcx",1);
  498. }else{
  499. model.addAttribute("dmjcx",0);
  500. }
  501. return "thymeleaf/tcodeset/tcodeset_zycx";
  502. }
  503. //资源查询-代码集查询
  504. @ResponseBody
  505. @RequestMapping(value="/tcodeSet_zycx_json")
  506. Object tcodeSetzycxJson(Model model,HttpServletRequest request,HttpServletResponse response,TcodeSetDto dto){
  507. Map<String, Object> searchParameters = new HashMap<String, Object>();
  508. HttpSession session = request.getSession();
  509. User userInfo = (User) session.getAttribute("user");
  510. //翻页
  511. String currentPageStr = request.getParameter("pagecurrentnum");
  512. String pagesize = request.getParameter("selectlimitnum");
  513. if(pagesize==null){
  514. pagesize="10";
  515. }
  516. int pageSize=Integer.parseInt(pagesize);
  517. if(dto.getState() == null || "".equals(dto.getState())){
  518. dto.setState("4");
  519. }
  520. else {
  521. dto.setQjstate(dto.getState());
  522. dto.setState("4");
  523. }
  524. Pagination<TcodeSet> page = newPagination(currentPageStr,pageSize);
  525. searchParameters.put("field", request.getParameter("field"));
  526. searchParameters.put("order", request.getParameter("order"));
  527. page = tcodeSetService.findtcodeSetlist(dto, page,false,userInfo, searchParameters);
  528. searchParameters = new HashMap<String, Object>();
  529. searchParameters.put("code", 0);
  530. searchParameters.put("msg", 0);
  531. searchParameters.put("pagevar", page);
  532. return searchParameters;
  533. }
  534. @RequestMapping(value="/exportExcel{type}")
  535. void tcodeSetExport(@PathVariable("type")String type,TcodeSetDto dto,Model model,HttpServletRequest request,HttpServletResponse response){
  536. Pagination<TcodeSet> page = newPagination("1",10);
  537. HttpSession session = request.getSession();
  538. User userInfo = (User) session.getAttribute("user");
  539. if("1".equals(type)){//我的代码集
  540. dto.setCreator(userInfo.getUserId());
  541. if(dto.getState() == null || "".equals(dto.getState())){
  542. dto.setState("2,3,4,5,6,7,8");
  543. }
  544. else {
  545. dto.setQjstate(dto.getState());
  546. dto.setState("2,3,4,5,6,7,8");
  547. }
  548. }
  549. else if("2".equals(type)){//我的代码集
  550. dto.setCreator(userInfo.getUserId());
  551. if(dto.getState() == null || "".equals(dto.getState())){
  552. dto.setState("1,7,8");//保存和退回修改
  553. }
  554. else {
  555. dto.setQjstate(dto.getState());
  556. dto.setState("1,7,8");//保存和退回修改
  557. }
  558. }
  559. else if("3".equals(type)){//代码集审核
  560. if(dto.getState() == null || "".equals(dto.getState())){
  561. dto.setState("2,6");
  562. }
  563. else {
  564. dto.setQjstate(dto.getState());
  565. dto.setState("2,6");
  566. }
  567. String deptid="";
  568. for(Dept dept:userInfo.getDepts()){
  569. deptid=deptid+dept.getDeptId()+";";
  570. }
  571. dto.setCreatorOrg(deptid);
  572. }
  573. else if("4".equals(type)){
  574. //代码集停启
  575. if(dto.getState() == null || "".equals(dto.getState())){
  576. dto.setState("3,4,5");
  577. }
  578. else {
  579. dto.setQjstate(dto.getState());
  580. dto.setState("3,4,5");
  581. }
  582. String deptid="";
  583. for(Dept dept:userInfo.getDepts()){
  584. deptid=deptid+dept.getDeptId()+";";
  585. }
  586. dto.setCreatorOrg(deptid);
  587. }
  588. else if("5".equals(type)){//代码集综合查询
  589. if(dto.getState() == null || "".equals(dto.getState())){
  590. dto.setState("4");
  591. }
  592. else {
  593. dto.setQjstate(dto.getState());
  594. dto.setState("4");
  595. }
  596. }
  597. Map<String, Object> searchParameters = new HashMap<String, Object>();
  598. page= tcodeSetService.findtcodeSetlist(dto, page,true,userInfo, searchParameters);
  599. EasyPoiUtil.exportExcel(page.getPageResult(), "代码集信息", "代码集信息", TcodeSet.class, "代码集信息.xls", response);
  600. }
  601. //代码集导入
  602. @RequestMapping(value="/file-import")
  603. String tcodeSetimport(Model model,HttpServletRequest request,HttpServletResponse response){
  604. HttpSession session = request.getSession();
  605. User userInfo = (User) session.getAttribute("user");
  606. model.addAttribute("deptlist",userInfo.getDepts());
  607. return "thymeleaf/tcodeset/tcodeset_import";
  608. }
  609. @RequestMapping(value="/importdata")
  610. @ResponseBody
  611. Map importdata(Model model,HttpServletRequest request,HttpServletResponse response,@RequestParam(value="ids",required = false) String ids,
  612. @RequestParam(value="deptid",required = false) String deptid,String deptname){
  613. Map map=new HashMap();
  614. map.put("message", "success");
  615. String deptId = request.getParameter("deptid");
  616. HttpSession session = request.getSession();
  617. User userInfo = (User) session.getAttribute("user");
  618. String[] id=ids.split(",");
  619. for(int i=0;i<id.length;i++){
  620. UploadDto dto=uploadService.getByone(id[i]);
  621. String message=importing(dto.getFile_save_path()+dto.getFile_save_name()+"."+dto.getFile_type(),userInfo,deptid,deptname);
  622. if(!message.equals("success")){
  623. message=dto.getFile_name()+message;
  624. map.put("message", message);
  625. return map;
  626. }
  627. }
  628. return map;
  629. }
  630. @SuppressWarnings("unused")
  631. @RequestMapping(value="/importing")
  632. String importing(String fileName,User userInfo,String deptid,String deptname){
  633. List<TcodeImpTemplate> infolist=EasyPoiUtil.importExcel(fileName, 0, 2, TcodeImpTemplate.class);
  634. String message="success";
  635. List<TcodeSetDto> list=new ArrayList<TcodeSetDto>();
  636. int i=0;
  637. for(TcodeImpTemplate info:infolist){
  638. i=i+1;
  639. TcodeSetDto dto=new TcodeSetDto();
  640. if(!ToolUtil.isNull(info.getCodename())) {
  641. dto.setCodesetName(info.getCodename());}
  642. else {
  643. return "第"+i+"行代码集名称不能为空";
  644. }
  645. dto.setCodesetDetail(info.getCodeDes());
  646. dto.setState("1");
  647. if(!ToolUtil.isNull(info.getCodeCode())) {
  648. String[] codeCodes=info.getCodeCode().split("-");
  649. dto.setLevelType(codeCodes[0]);
  650. String levelName="";
  651. String levelId="";
  652. switch(codeCodes[0]){
  653. case "0":
  654. levelName= "国家标准";
  655. levelId=tcodeSetService.getCodeId("cybz","0");
  656. break;
  657. case "1":
  658. levelName= "省级标准";
  659. levelId=tcodeSetService.getCodeId("cybz","1");
  660. break;
  661. case "2":
  662. levelName= "地市标准";
  663. levelId=tcodeSetService.getCodeId("cybz","2");
  664. break;
  665. case "3":
  666. levelName= "行业标准";
  667. levelId=tcodeSetService.getCodeId("cybz","3");
  668. break;
  669. case "4":
  670. levelName= "其他标准";
  671. levelId=tcodeSetService.getCodeId("cybz","4");
  672. break;
  673. }
  674. dto.setLevelName(levelName);
  675. dto.setLevelId(levelId);
  676. }
  677. else {
  678. return "第"+i+"行代码集类别不能为空";
  679. }
  680. dto.setCreator(userInfo.getUserId());
  681. dto.setCreatorName(userInfo.getUserName());
  682. dto.setCreatorOrg(deptid); //部门id
  683. dto.setCreatorOrgname(deptname);//部门名称
  684. dto.setUpdatorOrg(deptid);
  685. dto.setUpdateOrgName(deptname);
  686. dto.setCreatedate(StrUtils.DateFormatString(new Date(),"yyyy-MM-dd HH:mm:ss"));
  687. dto.setUpdatetime(StrUtils.DateFormatString(new Date(),"yyyy-MM-dd HH:mm:ss"));
  688. dto.setUpdator(userInfo.getUserId());
  689. dto.setUpdatorName(userInfo.getUserName());
  690. Dept dept = sysDeptService.findDeptInfoById(deptid);
  691. dto.setXzqhcode(dept.getXzqhcode());
  692. List<TcodeSetDetail> detailList=new ArrayList<TcodeSetDetail>();
  693. int j=0;
  694. for(TcodeSetDetail codevalue:info.getTcodeSetDetailList()){
  695. codevalue.setId(getUUID());
  696. codevalue.setCodeIndex(1);
  697. if(codevalue.getCodename()!=null) {
  698. if(codevalue.getCodename().length() > 200 || codevalue.getCodename().length()==0){
  699. message="代码值名称输入有误,长度必须小于200且必填";
  700. return message;
  701. }
  702. }
  703. if(codevalue.getCodenum()!=null) {
  704. if(codevalue.getCodenum().length() > 200 || codevalue.getCodenum().length() == 0){
  705. message="代码值编号输入有误,长度必须小于200且必填";
  706. return message;
  707. }
  708. }
  709. detailList.add(codevalue);
  710. }
  711. dto.setDetailList(detailList);
  712. if(dto.getCodesetName()!=null) {
  713. if(dto.getCodesetName().length() > 200 || dto.getCodesetName().length() == 0){
  714. message="代码集名称输入有误,长度必须小于200且必填";
  715. return message;
  716. }
  717. }
  718. if(dto.getCodesetDetail()!=null) {
  719. if(dto.getCodesetDetail().length() >400){
  720. message="代码集说明输入有误,长度必须小于400且必填";
  721. return message;
  722. }
  723. }
  724. if("".equals(dto.getLevelId())){
  725. message="代码集类别输入有误,请选择0-4";
  726. return message;
  727. }
  728. list.add(dto);
  729. }
  730. for(TcodeSetDto dto:list){
  731. tcodeSetService.tcodeSetSave(dto);}
  732. return message;
  733. }
  734. public Object getCellValue(Cell cell){
  735. Object value = null;
  736. DecimalFormat df = new DecimalFormat("0"); //格式化number String字符
  737. SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd"); //日期格式化
  738. DecimalFormat df2 = new DecimalFormat("0.00"); //格式化数字
  739. switch (cell.getCellType()) {
  740. case Cell.CELL_TYPE_STRING:
  741. value = cell.getRichStringCellValue().getString();
  742. break;
  743. case Cell.CELL_TYPE_NUMERIC:
  744. if("General".equals(cell.getCellStyle().getDataFormatString())){
  745. value = df.format(cell.getNumericCellValue());
  746. }else if("m/d/yy".equals(cell.getCellStyle().getDataFormatString())){
  747. value = sdf.format(cell.getDateCellValue());
  748. }else{
  749. value = df2.format(cell.getNumericCellValue());
  750. }
  751. break;
  752. case Cell.CELL_TYPE_BOOLEAN:
  753. value = cell.getBooleanCellValue();
  754. break;
  755. case Cell.CELL_TYPE_BLANK:
  756. value = "";
  757. break;
  758. default:
  759. break;
  760. }
  761. return value;
  762. }
  763. //word导出
  764. @RequestMapping(value="/exportWord")
  765. void exportSimpleWord(Model model,HttpServletRequest request,HttpServletResponse response,@RequestParam(value="ids",required = false) String ids) throws IOException{
  766. Map dataMap=tcodeSetService.getData(ids);
  767. Configuration configuration = new Configuration();
  768. configuration.setDefaultEncoding("utf-8");
  769. configuration.setClassForTemplateLoading(this.getClass(), "/templates/mailTemplate"); //FTL文件所存在的位置
  770. InputStream fin=null;
  771. ServletOutputStream o=null;
  772. File outFile = null;
  773. File file = new File(save_path);
  774. if (!file.exists()) {
  775. file.mkdirs();
  776. }
  777. try {
  778. Template t = configuration.getTemplate("tcodeSet.ftl"); //文件名
  779. outFile = new File(save_path+File.separator+new Date().getTime()+".doc");
  780. Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile),"UTF-8"));
  781. t.process(dataMap, out);
  782. out.close();
  783. fin = new FileInputStream(outFile);
  784. response.setCharacterEncoding("utf-8");
  785. response.setContentType("application/msword");
  786. response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode("代码集信息列表.doc", "UTF-8"));
  787. o = response.getOutputStream();
  788. byte[] buffer = new byte[1024]; // 缓冲区
  789. int bytesToRead = 0;
  790. while ((bytesToRead = fin.read(buffer))>0) {
  791. o.write(buffer, 0, bytesToRead);
  792. }
  793. } catch (FileNotFoundException e1) {
  794. e1.printStackTrace();
  795. } catch (TemplateException e) {
  796. e.printStackTrace();
  797. } catch (IOException e) {
  798. e.printStackTrace();
  799. } finally {
  800. if (fin != null)
  801. fin.close();
  802. if (o != null)
  803. o.close();
  804. if (outFile != null)
  805. outFile.delete(); // 删除临时文件
  806. }
  807. }
  808. @RequestMapping(value="/tcodeSet_simHash")
  809. String tcodeSetSimHash(Model model,HttpServletRequest request,HttpServletResponse response,TcodeSetDto dto){
  810. //翻页
  811. String currentPageStr = request.getParameter("pagecurrentnum");
  812. String pagesize = request.getParameter("selectlimitnum");
  813. String id = request.getParameter("id");
  814. if(pagesize==null){
  815. pagesize="10";
  816. }
  817. int pageSize=Integer.parseInt(pagesize);
  818. if(dto.getState() == null || "".equals(dto.getState())){
  819. dto.setState("4");
  820. }
  821. else {
  822. dto.setQjstate(dto.getState());
  823. dto.setState("4");
  824. }
  825. TcodeSetDto info=tcodeSetService.getOne(id);
  826. DecimalFormat df = new DecimalFormat("#.00");
  827. Vector<String> v1=IKSegmenterUtil.participle(info.getCodesetName());
  828. long l3 = System.currentTimeMillis();
  829. BigDecimal data1 = new BigDecimal(75);
  830. List<TcodeSetDto> infolist=new ArrayList<>();
  831. for(TcodeSetDto codeinfo:tcodeSetService.getAll(v1,id)){
  832. if(codeinfo.getCodesetName()!=null){
  833. Vector<String> v2=IKSegmenterUtil.participle(codeinfo.getCodesetName());
  834. BigDecimal data2 = new BigDecimal(IKSegmenterUtil.getSimilarity(v1, v2)*100);
  835. if(data1.compareTo(data2)==-1){
  836. codeinfo.setSimvalue(df.format(data2)+"%");
  837. infolist.add(codeinfo);
  838. }
  839. }
  840. }
  841. long l4 = System.currentTimeMillis();
  842. System.out.println(l4-l3);
  843. model.addAttribute("list", infolist);
  844. return "thymeleaf/tcodeset/tcodeset_simHash";
  845. }
  846. }