PartyTwoServiceImpl.java 45 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163
  1. package com.ghsc.partybuild.service.impl;
  2. import com.ghsc.partybuild.vo.partyLife.PartyLifeMeetingVo;
  3. import com.github.pagehelper.PageHelper;
  4. import com.github.pagehelper.PageInfo;
  5. import com.ghsc.partybuild.controller.jsonmodel.RequsetData;
  6. import com.ghsc.partybuild.mapper.*;
  7. import com.ghsc.partybuild.model.*;
  8. import com.ghsc.partybuild.service.*;
  9. import com.ghsc.partybuild.util.DateUtils;
  10. import com.ghsc.partybuild.util.MapUtils;
  11. import org.apache.commons.lang3.StringUtils;
  12. import com.ghsc.partybuild.vo.*;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.stereotype.Service;
  15. import org.springframework.transaction.annotation.Propagation;
  16. import org.springframework.transaction.annotation.Transactional;
  17. import java.math.BigDecimal;
  18. import java.util.*;
  19. import java.util.regex.Pattern;
  20. @Service("partyTwoService")
  21. public class PartyTwoServiceImpl implements PartyTwoService {
  22. @Autowired
  23. private PartyUserCQuery partyUserCquery;
  24. @Autowired
  25. private DjDnpxxxMapper dnpxxxMapper;
  26. @Autowired
  27. private DjDnpxryMapper dnpxryMapper;
  28. @Autowired
  29. private PartyTwoCQuery partyTwoCquery;
  30. @Autowired
  31. private UserService userService;
  32. @Autowired
  33. private DictionaryService dictionaryService;
  34. @Autowired
  35. private MapUtils mapUtils;
  36. @Autowired
  37. private DateUtils dateUtils;
  38. @Autowired
  39. private DjDnghbfMapper dnghbfMapper;
  40. @Autowired
  41. private DjDnghbfmxMapper dnghbfmxMapper;
  42. @Autowired
  43. private DjZtdrxxMapper ztdrxxMapper;
  44. @Autowired
  45. private DjZzsrMapper zzsrMapper;
  46. @Autowired
  47. private DjDjkpxxMapper djkpxxMapper;
  48. @Autowired
  49. private DjJlcfxxMapper jlcfxxMapper;
  50. @Autowired
  51. private DjTaskMapper djTaskMapper;
  52. @Autowired
  53. private DjTaskusersMapper djTaskusersMapper;
  54. @Autowired
  55. private DjFundsbudgetMapper djFundsbudgetMapper;
  56. @Autowired
  57. private QtTaskpubcolumnMapper taskpubcolumnMapper;
  58. @Autowired
  59. private ZzMzpyxxMapper zzMzpyxxMapper;
  60. @Autowired
  61. private PartyUserService partyUserService;
  62. @Autowired
  63. private PartyService partyService;
  64. @Autowired
  65. private com.ghsc.partybuild.util.StringUtils stringUtils;
  66. @Autowired
  67. private PfPartylifemeetingPersonnelMapper pfPartylifemeetingPersonnelMapper;
  68. @Autowired
  69. private PartyLifeMeetingCQuery partyLifeMeetingCQuery;
  70. @Override
  71. public DjDnpxxx getDnpxxx(String id) {
  72. return dnpxxxMapper.selectByPrimaryKey(id);
  73. }
  74. @Override
  75. public List<DjDnpxry> getDnpxryList(String dnpxid) {
  76. DjDnpxryExample example = new DjDnpxryExample();
  77. example.or().andDnpxidEqualTo(dnpxid);
  78. List<DjDnpxry> list = dnpxryMapper.selectByExample(example);
  79. return list;
  80. }
  81. @Override
  82. @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
  83. public RequsetData<String> saveDnpxxx(DjDnpxxx model, UserItemVo[] userList) {
  84. RequsetData<String> res = new RequsetData<String>();
  85. int result;
  86. //同步数据
  87. model.setOperatestate("A");
  88. model.setOperatetime(new Date());
  89. model.setSyncstate("N");
  90. if (dnpxxxMapper.selectByPrimaryKey(model.getId()) == null) {
  91. result = dnpxxxMapper.insert(model);
  92. } else {
  93. result = dnpxxxMapper.updateByPrimaryKey(model);
  94. //清空人员
  95. DjDnpxryExample example = new DjDnpxryExample();
  96. example.or().andDnpxidEqualTo(model.getId());
  97. dnpxryMapper.deleteByExample(example);
  98. }
  99. //如果类型为人员
  100. String rylx = "1";
  101. if (rylx.equals(model.getPxlx()) && userList != null) {
  102. for (UserItemVo user : userList) {
  103. DjDnpxry ry = new DjDnpxry();
  104. ry.setId(UUID.randomUUID().toString());
  105. ry.setDnpxid(model.getId());
  106. ry.setUserid(user.getRybm());
  107. ry.setUsername(user.getXm());
  108. dnpxryMapper.insert(ry);
  109. }
  110. }
  111. if (result > 0) {
  112. res.setSuccess(true);
  113. res.setMsg("提交成功!");
  114. } else {
  115. res.setSuccess(false);
  116. res.setMsg("提交失败");
  117. }
  118. return res;
  119. }
  120. @Override
  121. public int delDnpxxx(String id, String userid) {
  122. //如果是人员评先,先删除关联人员记录
  123. //在判断是否最后一个人,最后一个人员则把评先记录也一同删除
  124. int count = 0;
  125. if (StringUtils.isNotBlank(userid)) {
  126. DjDnpxryExample example = new DjDnpxryExample();
  127. example.or().andDnpxidEqualTo(id).andUseridEqualTo(userid);
  128. count = dnpxryMapper.deleteByExample(example);
  129. }
  130. DjDnpxryExample example = new DjDnpxryExample();
  131. example.or().andDnpxidEqualTo(id);
  132. int num = dnpxryMapper.selectByExample(example).size();
  133. if (num == 0) {
  134. count = dnpxxxMapper.deleteByPrimaryKey(id);
  135. }
  136. return count;
  137. }
  138. @Override
  139. public PageInfo<HashMap<String, Object>> getDnpxxxList(int page, int rows, String dzzdm, String dzzmc, String username, String userid, Integer honourLevel, String honourName, String beginTime, String endTime, Integer zzfbType, Integer pxlx, String ssdzzdm, Integer honourType) {
  140. PageHelper.startPage(page, rows);
  141. List<HashMap<String, Object>> list = partyTwoCquery.selectDnpxxxList(dzzdm, dzzmc, username, userid, honourLevel, honourName, beginTime, endTime, zzfbType, pxlx, ssdzzdm, honourType);
  142. PageInfo<HashMap<String, Object>> result = new PageInfo(list);
  143. return result;
  144. }
  145. @Override
  146. public PageInfo<HashMap<String, Object>> getDnghbfList(int page, int rows, String dzzdm, String dzzmc, String username, String rybm, Integer careType, Integer zzfbType, String beginTime, String endTime, Integer helpformType) {
  147. PageHelper.startPage(page, rows);
  148. List<HashMap<String, Object>> list = partyTwoCquery.selectDnghbfList(dzzdm, dzzmc, username, rybm, careType, zzfbType, beginTime, endTime, helpformType);
  149. PageInfo<HashMap<String, Object>> result = new PageInfo(list);
  150. return result;
  151. }
  152. @Override
  153. public PageInfo<HashMap<String, Object>> getDnghbfDetailsList(int page, int rows, String dzzdm, String dzzmc, String username, String rybm, Integer careType, Integer zzfbType) {
  154. PageHelper.startPage(page, rows);
  155. List<HashMap<String, Object>> list = partyTwoCquery.selectDnghbfDetailsList(null, dzzdm, dzzmc, username, rybm, careType, zzfbType);
  156. PageInfo<HashMap<String, Object>> result = new PageInfo(list);
  157. return result;
  158. }
  159. @Override
  160. public DjDnghbf getDnghbf(String id) {
  161. return dnghbfMapper.selectByPrimaryKey(id);
  162. }
  163. @Override
  164. public int saveDnghbf(DjDnghbf model, List<DjDnghbfmx> recordList, String userId, String userName) {
  165. int result;
  166. DjDnghbf dbModel = dnghbfMapper.selectByPrimaryKey(model.getId());
  167. if (dbModel == null) {
  168. model.setCreateuserid(userId);
  169. model.setCreateusername(userName);
  170. //同步数据
  171. model.setOperatestate("A");
  172. model.setOperatetime(new Date());
  173. model.setSyncstate("N");
  174. result = dnghbfMapper.insert(model);
  175. } else {
  176. model.setUpdatetime(new Date());
  177. model.setUpdateuserid(userId);
  178. model.setUpdateusername(userName);
  179. //同步数据
  180. model.setOperatestate("M");
  181. model.setOperatetime(new Date());
  182. model.setSyncstate("N");
  183. result = dnghbfMapper.updateByPrimaryKey(model);
  184. }
  185. DjDnghbfmxExample example = new DjDnghbfmxExample();
  186. example.or().andDnghbfidEqualTo(model.getId());
  187. dnghbfmxMapper.deleteByExample(example);
  188. for (DjDnghbfmx item : recordList) {
  189. DjDnghbfmx uModel = dnghbfmxMapper.selectByPrimaryKey(item.getId());
  190. if (uModel == null) {
  191. item.setId(UUID.randomUUID().toString());
  192. item.setDnghbfid(model.getId());
  193. dnghbfmxMapper.insert(item);
  194. } else {
  195. dnghbfmxMapper.updateByPrimaryKeySelective(item);
  196. }
  197. }
  198. return result;
  199. }
  200. @Override
  201. public int saveDnghbfmx(DjDnghbfmx bfmx) {
  202. int count = 0;
  203. DjDnghbfmx item = dnghbfmxMapper.selectByPrimaryKey(bfmx.getId());
  204. if (item == null) {
  205. bfmx.setId(UUID.randomUUID().toString());
  206. count = dnghbfmxMapper.insert(bfmx);
  207. } else {
  208. count = dnghbfmxMapper.updateByPrimaryKeySelective(bfmx);
  209. }
  210. return count;
  211. }
  212. @Override
  213. public PageInfo<HashMap<String, Object>> getDnghbfmxList(int page, int rows, String dnghbId) {
  214. PageHelper.startPage(page, rows);
  215. List<HashMap<String, Object>> list = partyTwoCquery.selectDnghbfDetailsList(dnghbId, null, null, null, null, null, null);
  216. List<DjDnghbfmxVo> resultList = new ArrayList<>();
  217. for (HashMap<String, Object> item : list) {
  218. DjDnghbfmxVo model = new DjDnghbfmxVo();
  219. model.setId(item.get("ID").toString());
  220. model.setAmount(new BigDecimal(item.get("AMOUNT").toString()));
  221. model.setCarecontent(item.get("CARECONTENT").toString());
  222. model.setDnghbfid(item.get("DNGHBFID").toString());
  223. model.setHelpform(item.get("HELPFORM") == null ? "" : item.get("HELPFORM").toString());
  224. model.setCaredate(dateUtils.StrToDate(item.get("CAREDATE").toString()));
  225. model.setHelpformtype(item.get("HELPFORMTYPE") == null ? null : Integer.parseInt(item.get("HELPFORMTYPE").toString()));
  226. model.setHelpformtypename(item.get("HELPFORMTYPENAME") == null ? "" : item.get("HELPFORMTYPENAME").toString());
  227. DjDnghbfmxVo d = mapUtils.mapToObject(item, DjDnghbfmxVo.class);
  228. resultList.add(model);
  229. }
  230. PageInfo<HashMap<String, Object>> result = new PageInfo(resultList);
  231. return result;
  232. }
  233. @Override
  234. public Map<String, Object> getDnghbfDetails(String dnghbfid) {
  235. HashMap<String, Object> map = partyTwoCquery.getDnghbfDetails(dnghbfid);
  236. return map;
  237. }
  238. @Override
  239. @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
  240. public int delDnghbf(String id, String ghmxid) {
  241. int count = 0;
  242. DjDnghbfmxExample example = new DjDnghbfmxExample();
  243. example.or().andDnghbfidEqualTo(id).andIdEqualTo(ghmxid);
  244. count = dnghbfmxMapper.deleteByExample(example);
  245. example = new DjDnghbfmxExample();
  246. example.or().andDnghbfidEqualTo(id);
  247. int num = dnghbfmxMapper.selectByExample(example).size();
  248. if (num == 0) {
  249. count = dnghbfMapper.deleteByPrimaryKey(id);
  250. }
  251. return count;
  252. }
  253. @Override
  254. public List<Map<String, Object>> importDnghbf(List<Map<String, Object>> dnghbflist) throws Exception {
  255. List<Map<String, Object>> errorList = new ArrayList<>();
  256. dnghbflist.forEach(x -> {
  257. Object dzzmc = x.get("dzzmc");
  258. Object username = x.get("username");
  259. Object caredate = x.get("caredate");
  260. Object carecontent = x.get("carecontent");
  261. Object helpformtype = x.get("helpformtype");
  262. Object amount = x.get("amount");
  263. String errorMsg = "";
  264. if (dzzmc == null || dzzmc == "") {
  265. errorMsg += "所在组织不能为空。";
  266. }
  267. if (username == null || username == "") {
  268. errorMsg += "人员不能为空。";
  269. }
  270. if (caredate == null || caredate == "") {
  271. errorMsg += "帮扶时间不能为空。";
  272. }
  273. if (amount == null || amount == "") {
  274. errorMsg += "慰问金额不能为空。";
  275. } else {
  276. Pattern degreePattern = Pattern.compile("^[\\d]*(.[\\d]{1,2})?$");
  277. if (!degreePattern.matcher(amount.toString()).matches()) {
  278. errorMsg += "慰问金额格式不正确,应为数字格式,小数点后最多保留2位。";
  279. }
  280. }
  281. if (helpformtype == null || helpformtype == "") {
  282. errorMsg += "帮扶形式不能为空。";
  283. }
  284. if (carecontent == null || carecontent == "") {
  285. errorMsg += "帮扶内容不能为空。";
  286. }
  287. if (!errorMsg.equals("")) {
  288. Map<String, Object> errorItem = new HashMap<>(x);
  289. errorItem.put("errorInfo", errorMsg);
  290. errorList.add(errorItem);
  291. return;
  292. }
  293. CfUsersinfo user = userService.getUserByParams(null, dzzmc.toString(), username.toString()).stream().findFirst().orElse(null);
  294. ;
  295. if (user == null) {
  296. errorMsg += "人员不存在或者不属于该组织。";
  297. Map<String, Object> errorItem = new HashMap<>(x);
  298. errorItem.put("errorInfo", errorMsg);
  299. errorList.add(errorItem);
  300. return;
  301. }
  302. CfDictionary dictionary = dictionaryService.getDictionaryListByDicTypeKey("helpformType").stream().filter(q -> q.getDicvalue().equals(helpformtype)).findFirst().orElse(null);
  303. if (dictionary == null) {
  304. errorMsg += "帮扶形式不存在。";
  305. Map<String, Object> errorItem = new HashMap<>(x);
  306. errorItem.put("errorInfo", errorMsg);
  307. errorList.add(errorItem);
  308. return;
  309. }
  310. x.put("dzzdm", user.getDpid());
  311. x.put("userid", user.getDguserid());
  312. x.put("helpformTypeid", dictionary.getDickey());
  313. });
  314. DjDnghbfExample exp = new DjDnghbfExample();
  315. exp.or().andUseridIsNotNull();
  316. List<DjDnghbf> dnghbfRecords = dnghbfMapper.selectByExample(exp);
  317. List<DjDnghbf> dnghbfAdd = new ArrayList<>();
  318. List<DjDnghbfmx> dnghbfmxAdd = new ArrayList<>();
  319. if (errorList.size() == 0) {
  320. dnghbflist.forEach(x -> {
  321. DjDnghbf add = dnghbfAdd.stream().filter(q -> q.getUserid().equals(x.get("userid").toString())).findFirst().orElse(null);
  322. if (add == null) {
  323. DjDnghbf record = dnghbfRecords.stream().filter(q -> q.getUserid().equals(x.get("userid").toString())).findFirst().orElse(null);
  324. if (record == null) {
  325. add = new DjDnghbf();
  326. add.setDzzdm(x.get("dzzdm").toString());
  327. add.setDzzmc(x.get("dzzmc").toString());
  328. add.setUserid(x.get("userid").toString());
  329. add.setUsername(x.get("username").toString());
  330. add.setCreateuserid(userService.getLoginUser().getUserid());
  331. add.setCreateusername(userService.getLoginUser().getUsername());
  332. add.setId(UUID.randomUUID().toString());
  333. add.setUpdatetime(new Date());
  334. add.setUpdateuserid(userService.getLoginUser().getUserid());
  335. add.setUpdateusername(userService.getLoginUser().getUsername());
  336. //同步数据
  337. add.setOperatestate("M");
  338. add.setOperatetime(new Date());
  339. add.setSyncstate("N");
  340. dnghbfAdd.add(add);
  341. } else {
  342. add = record;
  343. }
  344. }
  345. DjDnghbfmx mx = new DjDnghbfmx();
  346. mx.setId(UUID.randomUUID().toString());
  347. mx.setDnghbfid(add.getId());
  348. mx.setAmount(Integer.parseInt(x.get("amount").toString()));
  349. mx.setCarecontent(x.get("carecontent").toString());
  350. mx.setHelpformtype(new Integer(x.get("helpformTypeid").toString()));
  351. mx.setCaredate(dateUtils.StrToDate(x.get("caredate").toString(), "yyyy-MM-dd"));
  352. dnghbfmxAdd.add(mx);
  353. });
  354. if (dnghbfAdd.size() > 0) {
  355. partyTwoCquery.batchInsertDnghbf(dnghbfAdd);
  356. }
  357. if (dnghbfmxAdd.size() > 0) {
  358. partyTwoCquery.batchInsertDnghbfmx(dnghbfmxAdd);
  359. }
  360. }
  361. return errorList;
  362. }
  363. @Override
  364. public RequsetData<String> saveZtdrxx(DjZtdrxxVo data) {
  365. RequsetData<String> res = new RequsetData<String>();
  366. int result;
  367. DjZtdrxx model = ztdrxxMapper.selectByPrimaryKey(data.getId());
  368. boolean isSave = model == null;
  369. if (model == null) {
  370. model = new DjZtdrxx();
  371. model.setId(data.getId());
  372. }
  373. //同步数据
  374. model.setOperatestate("A");
  375. model.setOperatetime(new Date());
  376. model.setSyncstate("N");
  377. // 从Vo类中同步字段
  378. model.setDzzdm(data.getDzzdm());
  379. model.setDzzmc(data.getDzzmc());
  380. model.setTitle(data.getTitle());
  381. model.setActivitytime(data.getActivitytime());
  382. model.setLocation(data.getLocation());
  383. model.setSubjecttype(data.getSubjecttype());
  384. model.setSubjectcontent(data.getSubjectcontent());
  385. if (isSave) {
  386. result = ztdrxxMapper.insert(model);
  387. } else {
  388. result = ztdrxxMapper.updateByPrimaryKeyWithBLOBs(model);
  389. }
  390. //出席人员
  391. PfPartylifemeetingPersonnelExample perExp = new PfPartylifemeetingPersonnelExample();
  392. perExp.or().andPartylifemeetingidEqualTo(data.getId());
  393. pfPartylifemeetingPersonnelMapper.deleteByExample(perExp);
  394. if(data.getPersonnellist().size() > 0){
  395. data.getPersonnellist().forEach(item -> {
  396. PfPartylifemeetingPersonnel perModel = new PfPartylifemeetingPersonnel();
  397. perModel.setId(UUID.randomUUID().toString());
  398. perModel.setRybm(item.getRybm());
  399. perModel.setPartylifemeetingid(data.getId());
  400. perModel.setIsabsenteeism(item.getIsabsenteeism());
  401. perModel.setAbsenteeismcause(item.getAbsenteeismcause());
  402. perModel.setCreatetime(new Date());
  403. pfPartylifemeetingPersonnelMapper.insert(perModel);
  404. });
  405. }
  406. if (result > 0) {
  407. res.setSuccess(true);
  408. res.setMsg("提交成功!");
  409. } else {
  410. res.setSuccess(false);
  411. res.setMsg("提交失败");
  412. }
  413. return res;
  414. }
  415. @Override
  416. public int delZtdrxx(String id) {
  417. return ztdrxxMapper.deleteByPrimaryKey(id);
  418. }
  419. @Override
  420. public PageInfo<DjZtdrxxVo> getZtdrxxList(int page, int rows, String dzzdm, String dzzmc, String title, Integer subjectType, String location, String beginTime, String endTime, Integer zzfbType) {
  421. PageHelper.startPage(page, rows);
  422. List<DjZtdrxxVo> list = partyTwoCquery.selectZtdrxxList(dzzdm, dzzmc, title, location, subjectType, beginTime, endTime, zzfbType, null);
  423. PageInfo<DjZtdrxxVo> result = new PageInfo(list);
  424. return result;
  425. }
  426. @Override
  427. public DjZtdrxxVo getZtdrxx(String id) {
  428. if (stringUtils.IsNullOrEmpty(id))
  429. return null;
  430. List<DjZtdrxxVo> list = partyTwoCquery.selectZtdrxxList(null, null, null, null, null, null, null, null, null);
  431. DjZtdrxxVo data = list.size() > 0 ? list.get(0) : null;
  432. if(data != null){
  433. // 查询出席人员列表
  434. data.setPersonnellist(partyLifeMeetingCQuery.selectMeetingPersonnelList(data.getId()));
  435. }
  436. return data;
  437. }
  438. @Override
  439. public RequsetData<String> saveZzsr(DjZzsr model) {
  440. RequsetData<String> res = new RequsetData<String>();
  441. int result;
  442. //同步数据
  443. model.setOperatestate("A");
  444. model.setOperatetime(new Date());
  445. model.setSyncstate("N");
  446. if (zzsrMapper.selectByPrimaryKey(model.getId()) == null) {
  447. result = zzsrMapper.insert(model);
  448. } else {
  449. result = zzsrMapper.updateByPrimaryKeyWithBLOBs(model);
  450. }
  451. if (result > 0) {
  452. res.setSuccess(true);
  453. res.setMsg("提交成功!");
  454. } else {
  455. res.setSuccess(false);
  456. res.setMsg("提交失败");
  457. }
  458. return res;
  459. }
  460. @Override
  461. public int delZzsr(String id) {
  462. return zzsrMapper.deleteByPrimaryKey(id);
  463. }
  464. @Override
  465. public PageInfo<DjZzsrVo> getZzsrList(int page, int rows, String dzzdm, String dzzmc, String title, Integer subjectType, String location, String beginTime, String endTime, Integer zzfbType) {
  466. PageHelper.startPage(page, rows);
  467. List<DjZzsrVo> list = partyTwoCquery.selectZzsrList(dzzdm, dzzmc, title, location, subjectType, beginTime, endTime, zzfbType);
  468. PageInfo<DjZzsrVo> result = new PageInfo(list);
  469. return result;
  470. }
  471. @Override
  472. public DjZzsr getZzsr(String id) {
  473. return zzsrMapper.selectByPrimaryKey(id);
  474. }
  475. @Override
  476. public DjDjkpxx getDjkpxx(String id) {
  477. return djkpxxMapper.selectByPrimaryKey(id);
  478. }
  479. @Override
  480. public int saveDjkpxxByList(List<DjDjkpxx> dataList, String userId, String userName) {
  481. int result = 0;
  482. for (DjDjkpxx item : dataList) {
  483. //检测是否已经新增当前年度的记录
  484. DjDjkpxxExample example = new DjDjkpxxExample();
  485. example.or().andDzzdmEqualTo(item.getDzzdm()).andYearEqualTo(item.getYear());
  486. List<DjDjkpxx> list = djkpxxMapper.selectByExample(example);
  487. if (list.size() > 0) {
  488. DjDjkpxx model = list.get(0);
  489. model.setQuarter1(item.getQuarter1());
  490. model.setQuarter2(item.getQuarter2());
  491. model.setQuarter3(item.getQuarter3());
  492. model.setQuarter4(item.getQuarter4());
  493. model.setJudgelevel(item.getJudgelevel());
  494. result = djkpxxMapper.updateByPrimaryKey(model);
  495. } else {
  496. item.setOperatestate("A");
  497. item.setOperatetime(new Date());
  498. item.setSyncstate("N");
  499. item.setId(UUID.randomUUID().toString());
  500. item.setCreateuserid(userId);
  501. item.setCreateusername(userName);
  502. result = djkpxxMapper.insert(item);
  503. }
  504. }
  505. return result;
  506. }
  507. @Override
  508. public RequsetData<String> saveDjkpxx(DjDjkpxx model) {
  509. RequsetData<String> res = new RequsetData<String>();
  510. int result;
  511. //同步数据
  512. model.setOperatestate("A");
  513. model.setOperatetime(new Date());
  514. model.setSyncstate("N");
  515. //检测是否已经新增当前年度的记录
  516. DjDjkpxxExample example = new DjDjkpxxExample();
  517. example.or().andDzzdmEqualTo(model.getDzzdm()).andYearEqualTo(model.getYear()).andIdNotEqualTo(model.getId());
  518. List<DjDjkpxx> list = djkpxxMapper.selectByExample(example);
  519. if (list.size() > 0) {
  520. res.setSuccess(false);
  521. res.setMsg("当前组织选择年份已录入,请重新选择");
  522. return res;
  523. }
  524. if (djkpxxMapper.selectByPrimaryKey(model.getId()) == null) {
  525. result = djkpxxMapper.insert(model);
  526. } else {
  527. result = djkpxxMapper.updateByPrimaryKey(model);
  528. }
  529. if (result > 0) {
  530. res.setSuccess(true);
  531. res.setMsg("提交成功!");
  532. } else {
  533. res.setSuccess(false);
  534. res.setMsg("提交失败");
  535. }
  536. return res;
  537. }
  538. @Override
  539. public int delDjkpxx(String id) {
  540. return djkpxxMapper.deleteByPrimaryKey(id);
  541. }
  542. @Override
  543. public PageInfo<HashMap<String, Object>> getDjkpxxList(int page, int rows, String dzzdm, String dzzmc, Integer judgeLevel, Integer year, Integer zzfbType, String ssdzzdm, Integer showdw) {
  544. PageHelper.startPage(page, rows);
  545. List<HashMap<String, Object>> list = partyTwoCquery.selectDjkpxxList(dzzdm, dzzmc, judgeLevel, year, zzfbType, ssdzzdm, showdw);
  546. PageInfo<HashMap<String, Object>> result = new PageInfo(list);
  547. return result;
  548. }
  549. @Override
  550. public PageInfo<HashMap<String, Object>> getParyDjkpList(int page, int rows, String dzzdm, String dzzmc, Integer showdxz, Integer year, Integer showdw, Integer showdzb, List<String> selectdzzdmList) {
  551. PageHelper.startPage(page, rows);
  552. List<HashMap<String, Object>> list = partyTwoCquery.selectParyDjkpList(dzzdm, dzzmc, showdxz, year, showdw, showdzb, selectdzzdmList);
  553. PageInfo<HashMap<String, Object>> result = new PageInfo(list);
  554. return result;
  555. }
  556. @Override
  557. public DjJlcfxx getJlcfxx(String id) {
  558. return jlcfxxMapper.selectByPrimaryKey(id);
  559. }
  560. @Override
  561. public RequsetData<String> saveJlcfxx(DjJlcfxx model) {
  562. RequsetData<String> res = new RequsetData<String>();
  563. int result;
  564. //同步数据
  565. model.setOperatestate("A");
  566. model.setOperatetime(new Date());
  567. model.setSyncstate("N");
  568. if (jlcfxxMapper.selectByPrimaryKey(model.getId()) == null) {
  569. result = jlcfxxMapper.insert(model);
  570. } else {
  571. result = jlcfxxMapper.updateByPrimaryKeyWithBLOBs(model);
  572. }
  573. if (result > 0) {
  574. res.setSuccess(true);
  575. res.setMsg("提交成功!");
  576. } else {
  577. res.setSuccess(false);
  578. res.setMsg("提交失败");
  579. }
  580. return res;
  581. }
  582. @Override
  583. public int delJlcfxx(String id) {
  584. return jlcfxxMapper.deleteByPrimaryKey(id);
  585. }
  586. @Override
  587. public PageInfo<DjJlcfxxVo> getJlcfxxList(int page, int rows, String dzzdm, String dzzmc, String username, String rybm, Integer offenceType, Integer punishType, String beginTime, String endTime, Integer zzfbType) {
  588. PageHelper.startPage(page, rows);
  589. List<DjJlcfxxVo> list = partyTwoCquery.selectJlcfxxList(dzzdm, dzzmc, username, rybm, offenceType, punishType, beginTime, endTime, zzfbType);
  590. PageInfo<DjJlcfxxVo> result = new PageInfo(list);
  591. return result;
  592. }
  593. @Override
  594. public PageInfo<HashMap<String, Object>> getTaskList(int page, int rows, String username, String taskuserid, String taskName, String beginTime, String endTime, String day, String userid, Integer isreceive) {
  595. PageHelper.startPage(page, rows);
  596. List<HashMap<String, Object>> list = partyTwoCquery.selectTask(username, taskuserid, taskName, beginTime, endTime, day, userid, isreceive);
  597. PageInfo<HashMap<String, Object>> result = new PageInfo(list);
  598. return result;
  599. }
  600. @Override
  601. public List<DjTaskusers> getTaskUserList(String taskid) {
  602. DjTaskusersExample example = new DjTaskusersExample();
  603. example.or().andTaskidEqualTo(taskid);
  604. List<DjTaskusers> users = djTaskusersMapper.selectByExample(example);
  605. return users;
  606. }
  607. @Override
  608. public DjTask getTask(String id) {
  609. return djTaskMapper.selectByPrimaryKey(id);
  610. }
  611. @Override
  612. public int receiveTask(String id, String userId) {
  613. DjTaskusersExample example = new DjTaskusersExample();
  614. example.or().andTaskidEqualTo(id).andUseridEqualTo(userId);
  615. List<DjTaskusers> list = djTaskusersMapper.selectByExample(example);
  616. if (list.size() == 0) {
  617. return 0;
  618. }
  619. Integer receivenum = list.get(0).getReceivenum();
  620. DjTaskusers record = new DjTaskusers();
  621. record.setIsreceive(1);
  622. record.setReceivetime(new Date());
  623. record.setReceivenum((receivenum == null ? 0 : receivenum) + 1);
  624. return djTaskusersMapper.updateByExampleSelective(record, example);
  625. }
  626. @Override
  627. public int resetSubmit(String id) {
  628. DjTaskusers record = new DjTaskusers();
  629. record.setId(id);
  630. record.setIsreceive(0);
  631. return djTaskusersMapper.updateByPrimaryKeySelective(record);
  632. }
  633. @Override
  634. public int isReceiveTask(String id, String userId) {
  635. DjTaskusersExample example = new DjTaskusersExample();
  636. example.or().andTaskidEqualTo(id).andUseridEqualTo(userId).andIsreceiveEqualTo(1);
  637. return djTaskusersMapper.selectByExample(example).size();
  638. }
  639. @Override
  640. public int delTask(String id) {
  641. DjTaskusersExample example = new DjTaskusersExample();
  642. example.or().andTaskidEqualTo(id);
  643. djTaskusersMapper.deleteByExample(example);
  644. return djTaskMapper.deleteByPrimaryKey(id);
  645. }
  646. @Override
  647. public int terminateTask(String id) {
  648. DjTask record = new DjTask();
  649. record.setId(id);
  650. record.setIsterminate(1);
  651. return djTaskMapper.updateByPrimaryKeySelective(record);
  652. }
  653. @Override
  654. public int saveTask(DjTask model, List<DjTaskusers> userList, List<QtTaskpubcolumn> columnList, String userId, String userName) {
  655. int result = 0;
  656. DjTask dbModel = djTaskMapper.selectByPrimaryKey(model.getId());
  657. if (dbModel == null) {
  658. model.setIsterminate(0);
  659. model.setUpdatetime(new Date());
  660. model.setUpdateuserid(userId);
  661. model.setUpdateusername(userName);
  662. //同步数据
  663. model.setOperatestate("A");
  664. model.setOperatetime(new Date());
  665. model.setSyncstate("N");
  666. result = djTaskMapper.insert(model);
  667. } else {
  668. model.setUpdatetime(new Date());
  669. model.setUpdateuserid(userId);
  670. model.setUpdateusername(userName);
  671. //同步数据
  672. model.setOperatestate("M");
  673. model.setOperatetime(new Date());
  674. model.setSyncstate("N");
  675. result = djTaskMapper.updateByPrimaryKey(model);
  676. }
  677. DjTaskusersExample example = new DjTaskusersExample();
  678. example.or().andTaskidEqualTo(model.getId());
  679. djTaskusersMapper.deleteByExample(example);
  680. for (DjTaskusers item : userList) {
  681. DjTaskusers uModel = djTaskusersMapper.selectByPrimaryKey(item.getId());
  682. item.setId(UUID.randomUUID().toString());
  683. item.setTaskid(model.getId());
  684. item.setReceivenum(0);
  685. djTaskusersMapper.insert(item);
  686. }
  687. QtTaskpubcolumnExample exp = new QtTaskpubcolumnExample();
  688. exp.or().andTaskpubidEqualTo(model.getId());
  689. taskpubcolumnMapper.deleteByExample(exp);
  690. int i = 0;
  691. for (QtTaskpubcolumn item : columnList) {
  692. item.setTaskpubcolid(UUID.randomUUID().toString());
  693. item.setTaskpubid(model.getId());
  694. item.setOrderby(i++);
  695. taskpubcolumnMapper.insert(item);
  696. }
  697. return result;
  698. }
  699. @Override
  700. public HashMap<String, Object> getPartyTotalInfo(String dzzdm, String yearMonth, String year) {
  701. List<HashMap<String, Object>> list = partyTwoCquery.selectPartyTotalInfo(dzzdm, yearMonth, year);
  702. if (list.size() > 0) {
  703. return list.get(0);
  704. }
  705. return new HashMap<>(0);
  706. }
  707. @Override
  708. public DjFundsbudget getfundsBudget(String id) {
  709. return djFundsbudgetMapper.selectByPrimaryKey(id);
  710. }
  711. @Override
  712. public RequsetData<String> savefundsBudget(DjFundsbudget model,String userId, String userName) {
  713. RequsetData<String> res = new RequsetData<String>();
  714. int result;
  715. //同步数据
  716. model.setOperatestate("A");
  717. model.setOperatetime(new Date());
  718. model.setSyncstate("N");
  719. //检测是否已经新增当前年度的记录
  720. DjFundsbudgetExample example = new DjFundsbudgetExample();
  721. example.or().andPartycodeEqualTo(model.getPartycode()).andYearEqualTo(model.getYear()).andFundsbudgetidNotEqualTo(model.getFundsbudgetid());
  722. List<DjFundsbudget> list = djFundsbudgetMapper.selectByExample(example);
  723. if (list.size() > 0) {
  724. res.setSuccess(false);
  725. res.setMsg("当前组织选择年份已录入,请重新选择");
  726. return res;
  727. }
  728. if (djFundsbudgetMapper.selectByPrimaryKey(model.getFundsbudgetid()) == null) {
  729. model.setCreateuserid(userId);
  730. model.setCreateusername(userName);
  731. model.setCreatetime(new Date());
  732. result = djFundsbudgetMapper.insert(model);
  733. } else {
  734. model.setUpdateuserid(userId);
  735. model.setUpdateusername(userName);
  736. model.setUpdatetime(new Date());
  737. result = djFundsbudgetMapper.updateByPrimaryKey(model);
  738. }
  739. if (result > 0) {
  740. res.setSuccess(true);
  741. res.setMsg("提交成功!");
  742. } else {
  743. res.setSuccess(false);
  744. res.setMsg("提交失败");
  745. }
  746. return res;
  747. }
  748. @Override
  749. public int delfundsBudget(String id) {
  750. return djFundsbudgetMapper.deleteByPrimaryKey(id);
  751. }
  752. @Override
  753. public PageInfo<HashMap<String, Object>> getfundsBudgetList(int page, int rows, String dzzdm, String dzzmc, Integer year) {
  754. PageHelper.startPage(page, rows);
  755. List<HashMap<String, Object>> list = partyTwoCquery.selectfundsBudgetList(dzzdm, dzzmc, year);
  756. PageInfo<HashMap<String, Object>> result = new PageInfo(list);
  757. return result;
  758. }
  759. @Override
  760. public PageInfo<HashMap<String, Object>> getZtdrSummary(int page, int rows, String partyCode, Integer year) {
  761. PageHelper.startPage(page, rows);
  762. List<HashMap<String, Object>> list = partyTwoCquery.selectZtdrSummary(partyCode, year);
  763. PageInfo<HashMap<String, Object>> result = new PageInfo(list);
  764. return result;
  765. }
  766. @Override
  767. public PageInfo<HashMap<String, Object>> getMzpyxxList(int page, int rows, String username, String rybm, String dzzdm, String beginTime, String endTime, String pyjg) {
  768. PageHelper.startPage(page, rows);
  769. List<HashMap<String, Object>> list = partyTwoCquery.selectMzpyxxList(username, rybm, dzzdm, beginTime, endTime, pyjg);
  770. PageInfo<HashMap<String, Object>> result = new PageInfo(list);
  771. return result;
  772. }
  773. @Override
  774. public List<HashMap<String, Object>> getMzpyjgList() {
  775. List<HashMap<String, Object>> list = partyTwoCquery.selectMzpyjgList();
  776. return list;
  777. }
  778. @Override
  779. public List<HashMap<String, Object>> getMzpybhgclqkList() {
  780. List<HashMap<String, Object>> list = partyTwoCquery.selectMzpybhgclqkList();
  781. return list;
  782. }
  783. public ZzMzpyxxVo getMzpyById(String id) {
  784. if (!StringUtils.isNotBlank(id))
  785. return null;
  786. ZzMzpyxxVo result = new ZzMzpyxxVo();
  787. ZzMzpyxxExample exp = new ZzMzpyxxExample();
  788. exp.or().andMzpyxxbsEqualTo(id);
  789. ZzMzpyxx dbModel = zzMzpyxxMapper.selectByExample(exp).stream().findFirst().orElse(null);
  790. if (dbModel != null) {
  791. try {
  792. result = mapUtils.map2Obj(mapUtils.objectToMap(dbModel), ZzMzpyxxVo.class);
  793. if (StringUtils.isNotBlank(result.getRybm())) {
  794. HashMap<String, Object> userinfo = partyUserService.getPartyUserInfoByRybm(result.getRybm());
  795. if (userinfo != null && userinfo.get("XM") != null) {
  796. result.setUserName(userinfo.get("XM").toString());
  797. }
  798. /*if (userinfo != null && userinfo.get("DZZMC") != null) {
  799. result.setPartyName(userinfo.get("DZZMC").toString());
  800. }*/
  801. }
  802. if (StringUtils.isNotBlank(result.getSzdzbdm())) {
  803. ZzZzqkxx zzZzqkxx = partyService.getPartyByDm(result.getSzdzbdm());
  804. result.setPartyName(zzZzqkxx != null ? zzZzqkxx.getDzzmc() : "");
  805. }
  806. } catch (Exception ex) {
  807. }
  808. }
  809. return result;
  810. }
  811. public int saveMzpy(ZzMzpyxxVo data) {
  812. int result = 0;
  813. ZzMzpyxxVo dbData = getMzpyById(data.getMzpyxxbs());
  814. boolean isExist = dbData != null && StringUtils.isNotBlank(dbData.getMzpyxxbs());
  815. if (!isExist) {
  816. result = zzMzpyxxMapper.insert(data);
  817. } else {
  818. ZzMzpyxxExample exp = new ZzMzpyxxExample();
  819. exp.or().andMzpyxxbsEqualTo(data.getMzpyxxbs());
  820. result = zzMzpyxxMapper.updateByExample(data, exp);
  821. }
  822. return result;
  823. }
  824. public int deleteMzpyById(String id) {
  825. ZzMzpyxxExample exp = new ZzMzpyxxExample();
  826. exp.or().andMzpyxxbsEqualTo(id);
  827. return zzMzpyxxMapper.deleteByExample(exp);
  828. }
  829. @Override
  830. public List<ZzMzpyxxVo> importMzpy(List<ZzMzpyxxVo> dataList) throws Exception {
  831. if (dataList.size() <= 0) {
  832. throw new Exception("请添加导入数据");
  833. }
  834. List<ZzMzpyxxVo> errorList = new ArrayList<>();
  835. List<HashMap<String, Object>> mzpyjgList = getMzpyjgList(); // 民主评议结果字典
  836. List<HashMap<String, Object>> mzpybhgclqkList = getMzpybhgclqkList(); // 民主评议不合格处理情况字典
  837. for (int i = 0; i < dataList.size(); i++) {
  838. String errorInfo = "";
  839. HashMap<String, Object> pyjg = null;
  840. HashMap<String, Object> pyjcqk = null;
  841. HashMap<String, Object> partyUserInfo = new HashMap<>();
  842. int finalI = i;
  843. if (stringUtils.IsNullOrEmpty(dataList.get(i).getUserName())) {
  844. errorInfo += "请填写党员姓名!";
  845. } else {
  846. partyUserInfo = partyUserService.getPartyUserExtByName(dataList.get(i).getUserName()); // 按名字查询出党员信息
  847. if (partyUserInfo == null || partyUserInfo.isEmpty()) {
  848. errorInfo += "该党员不存在!";
  849. }
  850. }
  851. if (stringUtils.IsNullOrEmpty(dataList.get(i).getKzpyrq())) {
  852. errorInfo += "请填写评议开始日期!";
  853. }
  854. if (stringUtils.IsNullOrEmpty(dataList.get(i).getJspyrq())) {
  855. errorInfo += "请填写评议结束日期!";
  856. }
  857. if (stringUtils.IsNullOrEmpty(dataList.get(i).getPyjg())) {
  858. errorInfo += "请填写评议结果!";
  859. } else {
  860. pyjg = mzpyjgList.stream().filter(it -> it.get("HZMC").equals(dataList.get(finalI).getPyjg())).findFirst().orElse(null);
  861. if (pyjg == null) {
  862. errorInfo += "评议结果不存在!";
  863. } else {
  864. dataList.get(i).setPyjg((String) pyjg.get("BM"));
  865. }
  866. }
  867. if (!stringUtils.IsNullOrEmpty(dataList.get(i).getPyjcqk())) {
  868. pyjcqk = mzpybhgclqkList.stream().filter(it -> it.get("HZMC").equals(dataList.get(finalI).getPyjcqk())).findFirst().orElse(null);
  869. if (pyjcqk == null) {
  870. errorInfo += "不合格处理情况不存在!";
  871. } else {
  872. dataList.get(i).setPyjcqk((String) pyjcqk.get("BM"));
  873. }
  874. }
  875. if (stringUtils.IsNullOrEmpty(errorInfo)) {
  876. // 初始化数据
  877. dataList.get(i).setRybm((String) partyUserInfo.get("RYBM"));
  878. dataList.get(i).setSzdzbdm((String) partyUserInfo.get("SZDZBDM"));
  879. dataList.get(i).setKzpyrq(dateUtils.strFormat_short(dataList.get(i).getKzpyrq()));
  880. dataList.get(i).setJspyrq(dateUtils.strFormat_short(dataList.get(i).getJspyrq()));
  881. dataList.get(i).setMzpyxxbs(UUID.randomUUID().toString());
  882. } else {
  883. dataList.get(i).setErrorInfo(errorInfo);
  884. errorList.add(dataList.get(i));
  885. }
  886. }
  887. if (errorList.isEmpty()) {
  888. for (ZzMzpyxxVo zzMzpyxxVo : dataList) {
  889. saveMzpy(zzMzpyxxVo);
  890. }
  891. }
  892. return errorList;
  893. }
  894. @Override
  895. public List<HashMap<String, Object>> getMzpyTotalList(String dzzdm) {
  896. // 查询计数统计
  897. List<HashMap<String, Object>> hashMaps = partyTwoCquery.selectMzpyjgCountList(dzzdm);
  898. HashMap<String, Object> countMap = new HashMap<>();
  899. // 初始化 countMap 中的累加字段
  900. if (!hashMaps.isEmpty()) {
  901. // 初始化countMap的字段,假设所有map中的字段名是一致的
  902. hashMaps.get(0).forEach((key, value) -> {
  903. if (value instanceof Number) {
  904. countMap.put(key, 0); // 初始化为0
  905. }
  906. });
  907. countMap.put("DZZMC", "合计");
  908. }
  909. // 计算合计数据
  910. hashMaps.forEach(map -> {
  911. map.forEach((key, value) -> {
  912. if (value instanceof Number) {
  913. // 获取countMap中当前累加的值
  914. int currentCount = (int) countMap.getOrDefault(key, 0);
  915. // 将当前值累加到countMap中
  916. countMap.put(key, currentCount + ((Number) value).intValue());
  917. }
  918. });
  919. });
  920. hashMaps.add(countMap);
  921. return hashMaps;
  922. }
  923. @Override
  924. public PageInfo<HashMap<String, Object>> getleaderUserList(int page, int rows, String username, Integer usertype) {
  925. PageHelper.startPage(page, rows);
  926. List<HashMap<String, Object>> list = partyTwoCquery.selectleaderUserList(username, usertype);
  927. PageInfo<HashMap<String, Object>> result = new PageInfo(list);
  928. return result;
  929. }
  930. @Override
  931. public List<Map<String, Object>> importDnpxxx(List<Map<String, Object>> dataList) throws Exception {
  932. if (dataList.size() <= 0) {
  933. throw new Exception("请添加导入数据");
  934. }
  935. List<Map<String, Object>> resultList = new ArrayList<>();
  936. List<Map<String, Object>> errorList = new ArrayList<>();
  937. List<CfDictionary> positionLevelList = dictionaryService.getDictionaryListByDicTypeKey("positionLevel");
  938. List<CfDictionary> honourTypeList = dictionaryService.getDictionaryListByDicTypeKey("honourType");
  939. for (int i = 0; i < dataList.size(); i++) {
  940. String errorInfo = "";
  941. Integer honourlevel = null;
  942. Integer honourtype = null;
  943. HashMap<String, Object> partyUserInfo = new HashMap<>();
  944. int finalI = i;
  945. if (stringUtils.IsNullOrEmpty((String) dataList.get(i).get("userName"))) {
  946. errorInfo += "请填写党员姓名!";
  947. } else {
  948. partyUserInfo = partyUserService.getPartyUserExtByName((String) dataList.get(i).get("userName")); // 按名字查询出党员信息
  949. if (partyUserInfo == null || partyUserInfo.isEmpty()) {
  950. errorInfo += "该党员不存在!";
  951. }
  952. }
  953. if (stringUtils.IsNullOrEmpty((String) dataList.get(i).get("honourname"))) {
  954. errorInfo += "请填写荣誉名称!";
  955. }
  956. if (stringUtils.IsNullOrEmpty((String) dataList.get(i).get("honourlevel"))) {
  957. errorInfo += "请填写荣誉等级!";
  958. } else {
  959. honourlevel = positionLevelList.stream().filter(it -> it.getDicvalue().equals(dataList.get(finalI).get("honourlevel"))).findFirst().orElse(new CfDictionary()).getDickey();
  960. if (honourlevel == null) {
  961. errorInfo += "荣誉等级不存在!";
  962. }
  963. }
  964. if (stringUtils.IsNullOrEmpty((String) dataList.get(i).get("honourtime"))) {
  965. errorInfo += "请填写获得荣誉时间!";
  966. }
  967. if (stringUtils.IsNullOrEmpty((String) dataList.get(i).get("honourtype"))) {
  968. errorInfo += "请填写荣誉类型!";
  969. } else {
  970. honourtype = honourTypeList.stream().filter(it -> it.getDicvalue().equals(dataList.get(finalI).get("honourtype"))).findFirst().orElse(new CfDictionary()).getDickey();
  971. if (honourtype == null) {
  972. errorInfo += "荣誉等级不存在!";
  973. }
  974. }
  975. if (stringUtils.IsNullOrEmpty(errorInfo)) {
  976. // 处理数据
  977. // 创建实体类
  978. DjDnpxxx model = new DjDnpxxx();
  979. model.setId(UUID.randomUUID().toString());
  980. model.setDzzdm((String) partyUserInfo.get("DZZDM"));
  981. model.setDzzmc((String) partyUserInfo.get("DZZMC"));
  982. model.setHonourlevel(honourlevel);
  983. model.setHonourtype(honourtype);
  984. model.setHonourname((String) dataList.get(i).get("honourname"));
  985. model.setHonourtime(dateUtils.strToDateExt((String) dataList.get(i).get("honourtime")));
  986. model.setPxlx("1");
  987. UserItemVo userItem = new UserItemVo();
  988. userItem.setRybm((String) partyUserInfo.get("RYBM"));
  989. userItem.setXm((String) partyUserInfo.get("XM"));
  990. UserItemVo[] vos = new UserItemVo[]{userItem};
  991. Map<String, Object> result = new HashMap<>();
  992. result.put("model", model);
  993. result.put("userItemVo", vos);
  994. resultList.add(result);
  995. } else {
  996. dataList.get(i).put("errorInfo", errorInfo);
  997. errorList.add(dataList.get(i));
  998. }
  999. }
  1000. if (errorList.isEmpty()) {
  1001. resultList.forEach(item -> {
  1002. RequsetData<String> stringRequsetData = saveDnpxxx((DjDnpxxx) item.get("model"), (UserItemVo[]) item.get("userItemVo"));
  1003. });
  1004. }
  1005. return errorList;
  1006. }
  1007. }