CgjqController.java 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871
  1. package com.ghsc.partybuild.controller;
  2. import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
  3. import com.fasterxml.jackson.core.type.TypeReference;
  4. import com.fasterxml.jackson.databind.ObjectMapper;
  5. import com.github.pagehelper.PageInfo;
  6. import com.ghsc.partybuild.controller.jsonmodel.RequsetData;
  7. import com.ghsc.partybuild.model.*;
  8. import com.ghsc.partybuild.service.*;
  9. import com.ghsc.partybuild.util.*;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.web.bind.annotation.*;
  12. import javax.servlet.http.HttpServletResponse;
  13. import java.math.BigDecimal;
  14. import java.util.*;
  15. /**
  16. * 创岗建区
  17. *
  18. * @author pj
  19. */
  20. @RestController
  21. @RequestMapping(value = "/api/cgjq")
  22. public class CgjqController {
  23. @Autowired
  24. private CgjqService cgjqService;
  25. @Autowired
  26. private StringUtils stringUtils;
  27. @Autowired
  28. private UserService userService;
  29. @Autowired
  30. private DictionaryService dictionaryService;
  31. @Autowired
  32. private PartyService partyService;
  33. @Autowired
  34. private WordUtil wordUtil;
  35. @Autowired
  36. private FileService fileService;
  37. @Autowired
  38. private FileUtils fileUtils;
  39. @Autowired
  40. private PartyUserService partyUserService;
  41. //岗区配置、评分模板配置功能
  42. @ResponseBody
  43. @GetMapping("/getSettingPostareaList")
  44. public RequsetData<PageInfo<HashMap<String, Object>>> getSettingPostareaList(@RequestParam("pageindex") int pageIndex, @RequestParam("pagesize") int pageSize, @RequestParam(required = false) Integer cgjqType, @RequestParam(required = false) String partyCode,
  45. @RequestParam(required = false) String userId, @RequestParam(required = false) String name,
  46. @RequestParam(required = false) String headUserName, @RequestParam(required = false) Integer zzfbType) {
  47. RequsetData<PageInfo<HashMap<String, Object>>> result = new RequsetData<>();
  48. result.setItem(cgjqService.getSettingPostareaList(pageIndex, pageSize, cgjqType, partyCode, userId, name, headUserName, zzfbType));
  49. return result;
  50. }
  51. @ResponseBody
  52. @GetMapping("/getSettingPostareaUserList")
  53. public RequsetData<PageInfo<HashMap<String, Object>>> getSettingPostareaUserList(@RequestParam("pageindex") int pageIndex, @RequestParam("pagesize") int pageSize, @RequestParam(required = false) String seetingPostareaId, @RequestParam(required = false) Integer dutyUserType) {
  54. RequsetData<PageInfo<HashMap<String, Object>>> result = new RequsetData<>();
  55. result.setItem(cgjqService.getSettingPostareaUserList(pageIndex, pageSize, seetingPostareaId, dutyUserType));
  56. return result;
  57. }
  58. @ResponseBody
  59. @GetMapping("/getSettingScoreProjectList")
  60. public List<HashMap<String, Object>> getSettingScoreProjectList(@RequestParam(required = false) String partyCode, @RequestParam(required = true) Integer cgjqType, @RequestParam(required = false) Integer zzfbType) {
  61. List<HashMap<String, Object>> list = new ArrayList<>();
  62. list = cgjqService.getSettingScoreProjectList(partyCode, cgjqType, zzfbType);
  63. if (list.size() <= 0) {
  64. List<CfDictionary> dicProjectname = new ArrayList<>();
  65. //String[] projectname = new String[]{};
  66. if (cgjqType == 1) {
  67. dicProjectname = dictionaryService.getDictionaryListByDicTypeKey("cgjqProjectNameOfPost");
  68. //projectname = new String[]{"政治素质", "岗位技能", "工作业绩", "引领带动", "积分奖励", "积分清零"};
  69. } else {
  70. dicProjectname = dictionaryService.getDictionaryListByDicTypeKey("cgjqProjectNameOfArea");
  71. //projectname = new String[]{"团队协作", "技术业务", "尊章守纪", "队伍稳定", "积分奖励", "积分清零"};
  72. }
  73. for (int i = 0; i < dicProjectname.size(); i++) {
  74. HashMap<String, Object> item = new HashMap<>();
  75. item.put("PROJECTNAME", dicProjectname.get(i).getDicvalue());
  76. item.put("SORT", i + 1);
  77. list.add(item);
  78. }
  79. }
  80. return list;
  81. }
  82. @ResponseBody
  83. @GetMapping("/getSettingScoreProjectListOfScore")
  84. public List<HashMap<String, Object>> getSettingScoreProjectListOfScore(@RequestParam(required = false) String partyCode, @RequestParam(required = true) Integer cgjqType, @RequestParam(required = false) Integer zzfbType) {
  85. List<HashMap<String, Object>> list = new ArrayList<>();
  86. list = cgjqService.getSettingScoreProjectList(partyCode, cgjqType, zzfbType);
  87. return list;
  88. }
  89. @ResponseBody
  90. @RequestMapping("/getPostareaById")
  91. public RequsetData<CgjqSettingPostarea> getPostareaById(@RequestParam("id") String id, @RequestParam(required = false) String dzzdm, @RequestParam(required = false) Integer cgjqType) {
  92. //返回信息
  93. RequsetData<CgjqSettingPostarea> res = new RequsetData<>();
  94. //扩展信息
  95. HashMap<String, Object> extData = new HashMap<String, Object>();
  96. String message = "";
  97. try {
  98. //定义变量
  99. //岗区信息
  100. CgjqSettingPostarea model = cgjqService.getPostareaById(id);
  101. if (model == null || (model != null && stringUtils.IsNullOrEmpty(model.getSeetingpostareaid()))) {
  102. if (partyService.isPartyZb(dzzdm) == 0) {
  103. throw new Exception("请选择党支部或党小组");
  104. }
  105. UUID uuid = UUID.randomUUID();
  106. model = new CgjqSettingPostarea();
  107. model.setSeetingpostareaid(uuid.toString());
  108. model.setCgjqtype(cgjqType);
  109. model.setCreateuserid(userService.getLoginUser().getUserid());
  110. model.setCreateusername(userService.getUserInfobyId(userService.getLoginUser().getUserid()).getName());
  111. model.setCreatetime(new Date());
  112. model.setPartycode(dzzdm);
  113. }
  114. if (!stringUtils.IsNullOrEmpty(model.getPartycode())) {
  115. ZzZzqkxx zzZzqkxx = partyService.getPartyByDm(model.getPartycode());
  116. if (zzZzqkxx != null && !stringUtils.IsNullOrEmpty(zzZzqkxx.getDzzdm())) {
  117. model.setPartyname(zzZzqkxx.getDzzmc());
  118. }
  119. }
  120. res.setItem(model);
  121. } catch (Exception e) {
  122. e.printStackTrace();
  123. message = e.getMessage();
  124. res.setSuccess(false);
  125. }
  126. res.setMsg(message);
  127. res.setExtdata(extData);
  128. return res;
  129. }
  130. /**
  131. * @Description //TODO 保存岗区配置信息
  132. * @Date 9:53 2019/9/20
  133. * @Param [reqMap]
  134. **/
  135. @ResponseBody
  136. @RequestMapping("/savePostarea")
  137. public RequsetData<String> savePostarea(@RequestBody Map<String, Object> reqMap) {
  138. RequsetData<String> res = new RequsetData<String>();
  139. int count = 0;
  140. String message = "";
  141. ObjectMapper mapper = new ObjectMapper();
  142. try {
  143. CgjqSettingPostarea dataModel = mapper.readValue(mapper.writeValueAsString(reqMap.get("dataModel")).toString(), CgjqSettingPostarea.class);
  144. List<PostareaUserJsonData> userJsonList = JsonMapper.jsonToObject(reqMap.get("userList").toString(), new TypeReference<List<PostareaUserJsonData>>() {
  145. });
  146. List<CgjqSettingPostareaUser> userList = new ArrayList<>();
  147. if (userJsonList.size() > 0) {
  148. for (PostareaUserJsonData user : userJsonList) {
  149. CgjqSettingPostareaUser umodel = new CgjqSettingPostareaUser();
  150. umodel.setSeetingpostareauserid(UUID.randomUUID().toString());
  151. umodel.setSeetingpostareaid(dataModel.getSeetingpostareaid());
  152. umodel.setUserid(user.getRybm());
  153. umodel.setUsername(user.getXm());
  154. umodel.setCreatetime(new Date());
  155. umodel.setXb(user.getXb());
  156. umodel.setMobile(user.getMobile());
  157. umodel.setDutyusertype(user.getDutyusertype());
  158. umodel.setPost(user.getPost());
  159. userList.add(umodel);
  160. }
  161. }
  162. count = cgjqService.savePostarea(dataModel, userList);
  163. } catch (Exception e) {
  164. e.printStackTrace();
  165. message = e.getMessage();
  166. }
  167. if (count > 0) {
  168. res.setSuccess(true);
  169. res.setMsg("操作成功!");
  170. } else {
  171. res.setSuccess(false);
  172. res.setMsg("操作失败!" + message);
  173. }
  174. return res;
  175. }
  176. @ResponseBody
  177. @RequestMapping("/addPost")
  178. public RequsetData<String> addPost(@RequestBody Map<String, Object> reqMap) {
  179. RequsetData<String> res = new RequsetData<String>();
  180. int count = 0;
  181. String message = "";
  182. ObjectMapper mapper = new ObjectMapper();
  183. try {
  184. CgjqSettingPostarea dataModel = mapper.readValue(mapper.writeValueAsString(reqMap.get("dataModel")).toString(), CgjqSettingPostarea.class);
  185. List<PostareaUserJsonData> userJsonList = JsonMapper.jsonToObject(reqMap.get("userList").toString(), new TypeReference<List<PostareaUserJsonData>>() {
  186. });
  187. List<CgjqSettingPostarea> userList = new ArrayList<>();
  188. if (userJsonList.size() > 0) {
  189. for (PostareaUserJsonData user : userJsonList) {
  190. CgjqSettingPostarea umodel = new CgjqSettingPostarea();
  191. umodel.setSeetingpostareaid(UUID.randomUUID().toString());
  192. umodel.setName(dataModel.getName());
  193. umodel.setPartycode(dataModel.getPartycode());
  194. umodel.setPartyname(dataModel.getPartyname());
  195. umodel.setCgjqtype(dataModel.getCgjqtype());
  196. umodel.setHeaduserid(user.getRybm());
  197. umodel.setHeadusername(user.getXm());
  198. umodel.setCreateuserid(userService.getLoginUser().getUserid());
  199. umodel.setCreateusername(userService.getUserInfobyId(userService.getLoginUser().getUserid()).getName());
  200. umodel.setCreatetime(new Date());
  201. userList.add(umodel);
  202. }
  203. }
  204. count = cgjqService.addPost(userList);
  205. } catch (Exception e) {
  206. e.printStackTrace();
  207. message = e.getMessage();
  208. }
  209. if (count > 0) {
  210. res.setSuccess(true);
  211. res.setMsg("操作成功!");
  212. } else {
  213. res.setSuccess(false);
  214. res.setMsg("操作失败!" + message);
  215. }
  216. return res;
  217. }
  218. @ResponseBody
  219. @RequestMapping("/deletePostareaById")
  220. public RequsetData<String> deletePostareaById(@RequestParam("id") String id) {
  221. RequsetData<String> res = new RequsetData<>();
  222. int count = cgjqService.delPostarea(id);
  223. if (count > 0) {
  224. res.setSuccess(true);
  225. res.setMsg("删除成功!");
  226. } else {
  227. res.setSuccess(false);
  228. res.setMsg("删除失败!");
  229. }
  230. return res;
  231. }
  232. /**
  233. * @Description //TODO 保存岗区配置信息
  234. * @Date 9:53 2019/9/20
  235. * @Param [reqMap]
  236. **/
  237. @ResponseBody
  238. @RequestMapping("/saveScoreProject")
  239. public RequsetData<String> saveScoreProject(@RequestBody Map<String, Object> reqMap) {
  240. RequsetData<String> res = new RequsetData<String>();
  241. int count = 0;
  242. String message = "";
  243. try {
  244. if (reqMap.get("dzzdm") == null) {
  245. throw new Exception("归属部门为空,请选择支部!");
  246. }
  247. List<ScoreProjectJsonData> projectJsonList = JsonMapper.jsonToObject(reqMap.get("projectList").toString(), new TypeReference<List<ScoreProjectJsonData>>() {
  248. });
  249. Integer cgjqType = Integer.parseInt(reqMap.get("cgjqType").toString());
  250. String dzzdm = reqMap.get("dzzdm").toString();
  251. String dzzmc = "";
  252. ZzZzqkxx zzZzqkxx = partyService.getPartyByDm(dzzdm);
  253. dzzmc = zzZzqkxx.getDzzmc();
  254. List<CgjqSeetingScoreproject> projectList = new ArrayList<>();
  255. if (projectJsonList.size() > 0) {
  256. for (ScoreProjectJsonData item : projectJsonList) {
  257. CgjqSeetingScoreproject model = new CgjqSeetingScoreproject();
  258. model.setSeetingprojectid(stringUtils.IsNullOrEmpty(item.getSeetingprojectid()) ? UUID.randomUUID().toString() : item.getSeetingprojectid());
  259. model.setProjectname(item.getProjectname());
  260. model.setContent(item.getContent());
  261. model.setScorerefer(item.getScorerefer());
  262. model.setSort(item.getSort());
  263. model.setPartycode(dzzdm);
  264. model.setPartyname(dzzmc);
  265. model.setCgjqtype(cgjqType);
  266. projectList.add(model);
  267. }
  268. }
  269. count = cgjqService.saveScoreProject(projectList, userService.getLoginUser().getUserid(), userService.getUserInfobyId(userService.getLoginUser().getUserid()).getName());
  270. } catch (Exception e) {
  271. e.printStackTrace();
  272. message = e.getMessage();
  273. }
  274. if (count > 0) {
  275. res.setSuccess(true);
  276. res.setMsg("操作成功!");
  277. } else {
  278. res.setSuccess(false);
  279. res.setMsg("操作失败!" + message);
  280. }
  281. return res;
  282. }
  283. //岗区评分功能
  284. @ResponseBody
  285. @GetMapping("/getPostareaScoreList")
  286. public RequsetData<PageInfo<HashMap<String, Object>>> getPostareaScoreList(@RequestParam("pageindex") int pageIndex, @RequestParam("pagesize") int pageSize, @RequestParam(required = false) Integer cgjqType
  287. , @RequestParam(required = false) Integer year, @RequestParam(required = false) Integer quarter,
  288. @RequestParam(required = false) String partyCode,
  289. @RequestParam(required = false) String userId, @RequestParam(required = false) String name,
  290. @RequestParam(required = false) String headUserName, @RequestParam(required = false) Integer zzfbType, @RequestParam(required = false) Integer gqtype) {
  291. RequsetData<PageInfo<HashMap<String, Object>>> result = new RequsetData<>();
  292. result.setItem(cgjqService.getPostareaScoreList(pageIndex, pageSize, cgjqType, year, quarter, partyCode, userId, name, headUserName, zzfbType, gqtype,null));
  293. return result;
  294. }
  295. @RequestMapping(value = "/exportPostareaScore", method = RequestMethod.GET)
  296. public void exportPostareaScore(HttpServletResponse response,
  297. @RequestParam(required = false) Integer cgjqType
  298. , @RequestParam(required = false) Integer year, @RequestParam(required = false) Integer quarter,
  299. @RequestParam(required = false) String partyCode,
  300. @RequestParam(required = false) String userId, @RequestParam(required = false) String name,
  301. @RequestParam(required = false) String headUserName, @RequestParam(required = false) Integer zzfbType, @RequestParam(required = false) Integer gqtype) throws Exception {
  302. /**查询数据**/
  303. List<HashMap<String, Object>> dataList = cgjqService.getPostareaScoreList(1, 100000, cgjqType, year, quarter, partyCode, userId, name, headUserName, zzfbType, gqtype,null).getList();
  304. ExcelHelper excelHelper = new ExcelHelper();
  305. ExcelHelper.ExcelData data = excelHelper.new ExcelData();
  306. //列名
  307. data.setName("创岗建区季度评分信息");
  308. List<String> titles = new ArrayList();
  309. if (cgjqType == 1) {
  310. titles.add("岗位名称");
  311. titles.add("岗位人员");
  312. titles.add("所在党支部");
  313. titles.add("年度");
  314. titles.add("季度");
  315. titles.add("总分数");
  316. titles.add("是否党员先锋岗");
  317. } else {
  318. titles.add("责任区名称");
  319. titles.add("负责人");
  320. titles.add("所在党支部");
  321. titles.add("年度");
  322. titles.add("季度");
  323. titles.add("总分数");
  324. titles.add("是否红旗责任区");
  325. }
  326. data.setTitles(titles);
  327. //数据
  328. List<List<Object>> rows = new ArrayList();
  329. for (HashMap<String, Object> item : dataList) {
  330. List<Object> row = new ArrayList();
  331. row.add(item.get("NAME"));
  332. row.add(item.get("HEADUSERNAME"));
  333. row.add(item.get("PARTYNAME"));
  334. row.add(item.get("YEAR"));
  335. row.add(item.get("QUARTER"));
  336. row.add(item.get("SCORE"));
  337. row.add(item.get("GQTYPE") != null ? (item.get("GQTYPE").toString().equals("1") ? "是" : "否") : "");
  338. rows.add(row);
  339. }
  340. data.setRows(rows);
  341. excelHelper.exportExcel(response, "创岗建区季度评分信息.xlsx", data);
  342. }
  343. @ResponseBody
  344. @GetMapping("/getPostareaScoreUserList")
  345. public RequsetData<PageInfo<HashMap<String, Object>>> getPostareaScoreUserList(@RequestParam("pageindex") int pageIndex, @RequestParam("pagesize") int pageSize, @RequestParam("postAreaScoreId") String postAreaScoreId, @RequestParam(required = false) Integer dutyUserType) {
  346. RequsetData<PageInfo<HashMap<String, Object>>> result = new RequsetData<>();
  347. result.setItem(cgjqService.getPostareaScoreUserList(pageIndex, pageSize, postAreaScoreId, dutyUserType));
  348. return result;
  349. }
  350. @ResponseBody
  351. @GetMapping("/getPostareaScoreProjectList")
  352. public List<HashMap<String, Object>> getPostareaScoreProjectList(@RequestParam("postAreaScoreId") String postAreaScoreId) {
  353. return cgjqService.getPostareaScoreProjectList(postAreaScoreId);
  354. }
  355. @ResponseBody
  356. @RequestMapping("/getPostareaScoreById")
  357. public RequsetData<CgjqPostareaScore> getPostareaScoreById(@RequestParam("id") String id, @RequestParam(required = false) Integer cgjqType) {
  358. //返回信息
  359. RequsetData<CgjqPostareaScore> res = new RequsetData<>();
  360. //扩展信息
  361. HashMap<String, Object> extData = new HashMap<String, Object>();
  362. String message = "";
  363. try {
  364. //定义变量
  365. //岗区评分信息
  366. CgjqPostareaScore model = cgjqService.getPostareaScoreById(id);
  367. if (model == null || (model != null && stringUtils.IsNullOrEmpty(model.getSeetingpostareaid()))) {
  368. UUID uuid = UUID.randomUUID();
  369. model = new CgjqPostareaScore();
  370. model.setPostareascoreid(uuid.toString());
  371. model.setCgjqtype(cgjqType);
  372. model.setGqtype(0);
  373. model.setCreateuserid(userService.getLoginUser().getUserid());
  374. model.setCreateusername(userService.getUserInfobyId(userService.getLoginUser().getUserid()).getName());
  375. model.setCreatetime(new Date());
  376. }
  377. model.setPartyname(partyService.getPartyName(model.getPartycode()));
  378. res.setItem(model);
  379. } catch (Exception e) {
  380. e.printStackTrace();
  381. message = e.getMessage();
  382. res.setSuccess(false);
  383. }
  384. res.setMsg(message);
  385. res.setExtdata(extData);
  386. return res;
  387. }
  388. /**
  389. * @Description //TODO 保存岗区评分信息
  390. * @Date 9:53 2019/9/20
  391. * @Param [reqMap]
  392. **/
  393. @ResponseBody
  394. @RequestMapping("/savePostareaScore")
  395. public RequsetData<String> savePostareaScore(@RequestBody Map<String, Object> reqMap) {
  396. RequsetData<String> res = new RequsetData<String>();
  397. int count = 0;
  398. String message = "";
  399. ObjectMapper mapper = new ObjectMapper();
  400. try {
  401. CgjqPostareaScore dataModel = mapper.readValue(mapper.writeValueAsString(reqMap.get("dataModel")).toString(), CgjqPostareaScore.class);
  402. List<ScoreProjectJsonData> projectJsonList = JsonMapper.jsonToObject(reqMap.get("projectList").toString(), new TypeReference<List<ScoreProjectJsonData>>() {
  403. });
  404. //验证数据
  405. CgjqPostareaScore dbModel = cgjqService.getPostareaScoreByQuarter(dataModel.getSeetingpostareaid(), dataModel.getYear(), dataModel.getQuarter());
  406. if (dbModel != null && !stringUtils.IsNullOrEmpty(dbModel.getPostareascoreid()) && !dataModel.getPostareascoreid().equals(dbModel.getPostareascoreid())) {
  407. throw new Exception("该岗位已有" + dataModel.getYear() + "年" + dataModel.getQuarter() + "季度评分!");
  408. }
  409. List<CgjqPostareaScoreUser> userList = new ArrayList<>();
  410. List<CgjqPostareaScoreProject> projectList = new ArrayList<>();
  411. List<HashMap<String, Object>> dbUser = cgjqService.getSettingPostareaUserList(1, 10000, dataModel.getSeetingpostareaid(), null).getList();
  412. for (HashMap<String, Object> item : dbUser) {
  413. CgjqPostareaScoreUser umodel = new CgjqPostareaScoreUser();
  414. umodel.setScoreuserid(UUID.randomUUID().toString());
  415. umodel.setPostareascoreid(dataModel.getPostareascoreid());
  416. umodel.setUserid(item.get("USERID") != null ? item.get("USERID").toString() : "");
  417. umodel.setUsername(item.get("USERNAME") != null ? item.get("USERNAME").toString() : "");
  418. umodel.setXb(item.get("XB") != null ? item.get("XB").toString() : "");
  419. umodel.setMobile(item.get("MOBILE") != null ? item.get("MOBILE").toString() : "");
  420. umodel.setDutyusertype(Integer.parseInt(item.get("DUTYUSERTYPE").toString()));
  421. umodel.setPost(item.get("POST") != null ? item.get("POST").toString() : "");
  422. umodel.setCreatetime(new Date());
  423. userList.add(umodel);
  424. }
  425. if (projectJsonList.size() > 0) {
  426. for (ScoreProjectJsonData item : projectJsonList) {
  427. CgjqPostareaScoreProject model = new CgjqPostareaScoreProject();
  428. model.setScoreprojectid(stringUtils.IsNullOrEmpty(item.getScoreprojectid()) ? UUID.randomUUID().toString() : item.getScoreprojectid());
  429. model.setPostareascoreid(dataModel.getPostareascoreid());
  430. model.setSeetingprojectid(dataModel.getSeetingpostareaid());
  431. model.setProjectname(item.getProjectname());
  432. model.setContent(item.getContent());
  433. model.setScorerefer(item.getScorerefer());
  434. model.setSort(item.getSort());
  435. model.setReason(item.getReason());
  436. model.setInitialscore(item.getInitialscore().intValue());
  437. model.setCgjqscorechecktype(item.getCgjqscorechecktype());
  438. model.setScore(item.getScore().intValue());
  439. projectList.add(model);
  440. }
  441. }
  442. count = cgjqService.savePostareaScore(dataModel, userList, projectList, userService.getLoginUser().getUserid(), userService.getUserInfobyId(userService.getLoginUser().getUserid()).getName());
  443. } catch (Exception e) {
  444. e.printStackTrace();
  445. message = e.getMessage();
  446. }
  447. if (count > 0) {
  448. res.setSuccess(true);
  449. res.setMsg("操作成功!");
  450. } else {
  451. res.setSuccess(false);
  452. res.setMsg("操作失败!" + message);
  453. }
  454. return res;
  455. }
  456. @ResponseBody
  457. @GetMapping("/getPostareaScoreOrderList")
  458. public List<HashMap<String, Object>> getPostareaScoreOrderList(@RequestParam("partyCode") String partyCode, @RequestParam("cgjqType") Integer cgjqType, @RequestParam("year") Integer year, @RequestParam("quarter") Integer quarter, @RequestParam(required = false) Integer zzfbType) {
  459. return cgjqService.getPostareaScoreOrderList(partyCode, cgjqType, year, quarter, zzfbType);
  460. }
  461. @ResponseBody
  462. @RequestMapping("/updateScoreLevel")
  463. public RequsetData<String> updateScoreLevel(@RequestBody Map<String, Object> reqMap) {
  464. RequsetData<String> res = new RequsetData<String>();
  465. int count = 0;
  466. String message = "";
  467. ObjectMapper mapper = new ObjectMapper();
  468. try {
  469. String postAreaScoreId = reqMap.get("postAreaScoreId").toString();
  470. Integer scoreLevel = Integer.parseInt(reqMap.get("scoreLevel").toString());
  471. String userId = userService.getLoginUser().getUserid();
  472. CgjqPostareaScore model = cgjqService.getPostareaScoreById(postAreaScoreId);
  473. model.setScorelevel(scoreLevel);
  474. count = cgjqService.updatePostareaScore(model, userId, userService.getUserInfobyId(userId).getName());
  475. } catch (Exception e) {
  476. e.printStackTrace();
  477. message = e.getMessage();
  478. }
  479. if (count > 0) {
  480. res.setSuccess(true);
  481. res.setMsg("操作成功!");
  482. } else {
  483. res.setSuccess(false);
  484. res.setMsg("操作失败!" + message);
  485. }
  486. return res;
  487. }
  488. @RequestMapping(value = "/exportPostareaScoreOrder", method = RequestMethod.GET)
  489. public void exportPostareaScoreOrder(HttpServletResponse response,
  490. @RequestParam("partyCode") String partyCode, @RequestParam("cgjqType") Integer cgjqType, @RequestParam("year") Integer year, @RequestParam("quarter") Integer quarter, @RequestParam(required = false) Integer zzfbType) throws Exception {
  491. /**查询数据**/
  492. List<HashMap<String, Object>> dataList = cgjqService.getPostareaScoreOrderList(partyCode, cgjqType, year, quarter, zzfbType);
  493. ExcelHelper excelHelper = new ExcelHelper();
  494. ExcelHelper.ExcelData data = excelHelper.new ExcelData();
  495. //列名
  496. data.setName("季度评分信息");
  497. List<String> titles = new ArrayList();
  498. if (cgjqType == 1) {
  499. titles.add("责任岗名称");
  500. titles.add("岗位成员");
  501. } else {
  502. titles.add("责任区名称");
  503. titles.add("负责人");
  504. }
  505. titles.add("所在党支部");
  506. titles.add("年度");
  507. titles.add("季度");
  508. titles.add("季度积分");
  509. titles.add("排名");
  510. titles.add("评定等级");
  511. data.setTitles(titles);
  512. //数据
  513. List<List<Object>> rows = new ArrayList();
  514. for (HashMap<String, Object> item : dataList) {
  515. List<Object> row = new ArrayList();
  516. row.add(item.get("NAME"));
  517. row.add(item.get("HEADUSERNAME"));
  518. row.add(item.get("PARTYNAME"));
  519. row.add(item.get("YEAR"));
  520. row.add(item.get("QUARTER"));
  521. row.add(item.get("SCORE"));
  522. row.add(item.get("ORDERID"));
  523. row.add(item.get("SCORELEVELNAME"));
  524. rows.add(row);
  525. }
  526. data.setRows(rows);
  527. excelHelper.exportExcel(response, "季度评分信息.xlsx", data);
  528. }
  529. @ResponseBody
  530. @GetMapping("/getSettingPostareaOfScoreList")
  531. public RequsetData<PageInfo<HashMap<String, Object>>> getSettingPostareaOfScoreList(@RequestParam("pageindex") int pageIndex, @RequestParam("pagesize") int pageSize,
  532. @RequestParam("year") Integer year, @RequestParam("quarter") Integer quarter,
  533. @RequestParam(required = false) Integer cgjqType, @RequestParam(required = false) String partyCode,
  534. @RequestParam(required = false) String userId, @RequestParam(required = false) String name,
  535. @RequestParam(required = false) String headUserName) {
  536. RequsetData<PageInfo<HashMap<String, Object>>> result = new RequsetData<>();
  537. result.setItem(cgjqService.getSettingPostareaOfScoreList(pageIndex, pageSize, year, quarter, cgjqType, partyCode, userId, name, headUserName));
  538. return result;
  539. }
  540. @ResponseBody
  541. @RequestMapping("/deletePostareaScoreById")
  542. public RequsetData<String> deletePostareaScoreById(@RequestParam("id") String id) {
  543. RequsetData<String> res = new RequsetData<>();
  544. int count = cgjqService.deletePostareaScore(id);
  545. if (count > 0) {
  546. res.setSuccess(true);
  547. res.setMsg("删除成功!");
  548. } else {
  549. res.setSuccess(false);
  550. res.setMsg("删除失败!");
  551. }
  552. return res;
  553. }
  554. /**
  555. * @Description //TODO 生成word文档
  556. * @Date 9:30 2019/10/8
  557. * @Param [id]
  558. **/
  559. @RequestMapping(value = "/createWord", method = RequestMethod.GET)
  560. public void createWord(HttpServletResponse response, @RequestParam("id") String id) {
  561. try {
  562. //岗区评分信息
  563. CgjqPostareaScore model = cgjqService.getPostareaScoreById(id);
  564. HashMap<String, Object> userMap = partyUserService.getPartyUserInfoByRybm(model.getHeaduserid());
  565. List<HashMap<String, Object>> userList = cgjqService.getPostareaScoreUserList(1, 100000, id, null).getList();
  566. List<CfDictionary> dicScoreLevel = dictionaryService.getDictionaryListByDicTypeKey("scoreLevel");
  567. CfDictionary cfDictionary = dictionaryService.getDicByKey(model.getScorelevel(), dicScoreLevel);
  568. //评定级别名称
  569. String scoreLevelName = cfDictionary != null ? cfDictionary.getDicvalue() : "";
  570. /** 用于组装word页面需要的数据 */
  571. Map<String, Object> dataMap = new HashMap<String, Object>();
  572. // 组装数据
  573. dataMap.put("quarter", model.getQuarter());
  574. dataMap.put("partyName", model.getPartyname());
  575. dataMap.put("postareaName", model.getName());
  576. dataMap.put("headUserName", model.getHeadusername());
  577. dataMap.put("score", model.getScore());
  578. dataMap.put("scoreLevelName", scoreLevelName);
  579. //职务名称
  580. dataMap.put("zwmc", (userMap != null && userMap.get("DNZWMC") != null) ? userMap.get("DNZWMC").toString() : "");
  581. //党员数量
  582. dataMap.put("dysl", userList.stream().filter(it -> "1".equals(it.get("DUTYUSERTYPE").toString())).count());
  583. //群众数量
  584. dataMap.put("qzsl", userList.stream().filter(it -> "2".equals(it.get("DUTYUSERTYPE").toString())).count());
  585. /** 生成word */
  586. //文件名称
  587. String fileName = model.getCgjqtype() == 1 ? "党员先锋岗评比申报表" : "红旗责任区评比申报表";
  588. wordUtil.createWord(response, dataMap, fileName, fileName);
  589. } catch (Exception e) {
  590. e.printStackTrace();
  591. }
  592. }
  593. }
  594. @JsonIgnoreProperties(ignoreUnknown = true)
  595. class PostareaUserJsonData {
  596. private String rybm;
  597. private String xm;
  598. private String szdzbdm;
  599. private String dzzmc;
  600. private String xb;
  601. private String mobile;
  602. private Integer dutyusertype;
  603. private String post;
  604. public String getRybm() {
  605. return rybm;
  606. }
  607. public void setRybm(String rybm) {
  608. this.rybm = rybm;
  609. }
  610. public String getXm() {
  611. return xm;
  612. }
  613. public void setXm(String xm) {
  614. this.xm = xm;
  615. }
  616. public String getSzdzbdm() {
  617. return szdzbdm;
  618. }
  619. public void setSzdzbdm(String szdzbdm) {
  620. this.szdzbdm = szdzbdm;
  621. }
  622. public String getDzzmc() {
  623. return dzzmc;
  624. }
  625. public void setDzzmc(String dzzmc) {
  626. this.dzzmc = dzzmc;
  627. }
  628. public String getXb() {
  629. return xb;
  630. }
  631. public void setXb(String xb) {
  632. this.xb = xb;
  633. }
  634. public String getMobile() {
  635. return mobile;
  636. }
  637. public void setMobile(String mobile) {
  638. this.mobile = mobile;
  639. }
  640. public Integer getDutyusertype() {
  641. return dutyusertype;
  642. }
  643. public void setDutyusertype(Integer dutyusertype) {
  644. this.dutyusertype = dutyusertype;
  645. }
  646. public String getPost() {
  647. return post;
  648. }
  649. public void setPost(String post) {
  650. this.post = post;
  651. }
  652. }
  653. @JsonIgnoreProperties(ignoreUnknown = true)
  654. class ScoreProjectJsonData {
  655. private String seetingprojectid;
  656. private String projectname;
  657. private String content;
  658. private String scorerefer;
  659. private Integer sort;
  660. private BigDecimal score;
  661. private String reason;
  662. private BigDecimal initialscore;
  663. private Integer cgjqscorechecktype;
  664. private String scoreprojectid;
  665. public String getSeetingprojectid() {
  666. return seetingprojectid;
  667. }
  668. public void setSeetingprojectid(String seetingprojectid) {
  669. this.seetingprojectid = seetingprojectid;
  670. }
  671. public String getProjectname() {
  672. return projectname;
  673. }
  674. public void setProjectname(String projectname) {
  675. this.projectname = projectname;
  676. }
  677. public String getContent() {
  678. return content;
  679. }
  680. public void setContent(String content) {
  681. this.content = content;
  682. }
  683. public String getScorerefer() {
  684. return scorerefer;
  685. }
  686. public void setScorerefer(String scorerefer) {
  687. this.scorerefer = scorerefer;
  688. }
  689. public Integer getSort() {
  690. return sort;
  691. }
  692. public void setSort(Integer sort) {
  693. this.sort = sort;
  694. }
  695. public BigDecimal getScore() {
  696. return score;
  697. }
  698. public void setScore(BigDecimal score) {
  699. this.score = score;
  700. }
  701. public String getReason() {
  702. return reason;
  703. }
  704. public void setReason(String reason) {
  705. this.reason = reason;
  706. }
  707. public BigDecimal getInitialscore() {
  708. return initialscore;
  709. }
  710. public void setInitialscore(BigDecimal initialscore) {
  711. this.initialscore = initialscore;
  712. }
  713. public Integer getCgjqscorechecktype() {
  714. return cgjqscorechecktype;
  715. }
  716. public void setCgjqscorechecktype(Integer cgjqscorechecktype) {
  717. this.cgjqscorechecktype = cgjqscorechecktype;
  718. }
  719. public String getScoreprojectid() {
  720. return scoreprojectid;
  721. }
  722. public void setScoreprojectid(String scoreprojectid) {
  723. this.scoreprojectid = scoreprojectid;
  724. }
  725. }