CheckDataServiceImpl.java 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. package com.ghsc.partybuild.service.impl;
  2. import com.ghsc.partybuild.mapper.*;
  3. import com.ghsc.partybuild.mapper.cquery.*;
  4. import com.ghsc.partybuild.model.*;
  5. import com.ghsc.partybuild.service.CheckDataService;
  6. import com.github.pagehelper.PageHelper;
  7. import com.github.pagehelper.PageInfo;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.stereotype.Service;
  10. import org.springframework.transaction.annotation.Propagation;
  11. import org.springframework.transaction.annotation.Transactional;
  12. import java.util.*;
  13. import java.util.stream.Collectors;
  14. @Service("checkDataService")
  15. public class CheckDataServiceImpl implements CheckDataService {
  16. @Autowired
  17. PtCheckpartyMapper checkpartyMapper;
  18. @Autowired
  19. PtChecknamelistMapper checknamelistMapper;
  20. @Autowired
  21. PtCheckdataCQuery checkdataCQuery;
  22. @Autowired
  23. PtCheckdataMapper CheckdataMapper;
  24. @Autowired
  25. PtCheckscoreMapper checkscoreMapper;
  26. @Autowired
  27. PtCheckquestionMapper checkquestionMapper;
  28. @Override
  29. public PageInfo<HashMap<String, Object>> getCheckNameList(int pageIndex, int pageSize, Integer year, Integer quarter, String dzzdm, String checkUserName, String partyCode, Integer recordStatus) {
  30. PageHelper.startPage(pageIndex, pageSize);
  31. List<HashMap<String, Object>> list = checkdataCQuery.selectCheckNameList(year, quarter, dzzdm, checkUserName, partyCode, recordStatus);
  32. PageInfo<HashMap<String, Object>> result = new PageInfo(list);
  33. return result;
  34. }
  35. @Override
  36. public List<HashMap<String, Object>> getCheckPartyList(Integer year, Integer quarter) {
  37. List<HashMap<String, Object>> list = checkdataCQuery.selectCheckPartyList(year, quarter);
  38. return list;
  39. }
  40. @Override
  41. @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
  42. public int saveCheckNameList(PtChecknamelist item, List<PtCheckparty> checkPartyList) {
  43. PtChecknamelist dbItem = checknamelistMapper.selectByPrimaryKey(item.getNameid());
  44. if (dbItem == null) {
  45. item.setCreatetime(new Date());
  46. item.setRecordstatus(1);
  47. item.setNameid(UUID.randomUUID().toString());
  48. checknamelistMapper.insertSelective(item);
  49. } else {
  50. checknamelistMapper.updateByPrimaryKey(item);
  51. }
  52. PtCheckpartyExample example = new PtCheckpartyExample();
  53. example.or().andNameidEqualTo(item.getNameid());
  54. checkpartyMapper.deleteByExample(example);
  55. checkPartyList.forEach(it -> {
  56. it.setNameid(item.getNameid());
  57. it.setPartyid(UUID.randomUUID().toString());
  58. checkpartyMapper.insertSelective(it);
  59. });
  60. assetrCheckScore(item.getYear(),item.getQuarter(),item.getCheckuserid(),item.getCheckusername(),checkPartyList);
  61. return 1;
  62. }
  63. /**
  64. * 生成考核评分
  65. * @param year
  66. * @param quarter
  67. * @param checkUserId
  68. * @param checkUserName
  69. * @param checkPartyList
  70. */
  71. private void assetrCheckScore(Integer year, Integer quarter,String checkUserId,String checkUserName, List<PtCheckparty> checkPartyList) {
  72. List<String> partyCodes = checkPartyList.stream().map(x -> x.getPartycode()).collect(Collectors.toList());
  73. checkPartyList.forEach(party -> {
  74. PtCheckscoreExample example = new PtCheckscoreExample();
  75. example.or().andYearEqualTo(year).andQuarterEqualTo(quarter).andDzzdmEqualTo(party.getPartycode());
  76. PtCheckscore partyScore = checkscoreMapper.selectByExample(example).stream().findFirst().orElse(null);
  77. if (partyScore==null) {
  78. partyScore =new PtCheckscore();
  79. partyScore.setScoreid(UUID.randomUUID().toString());
  80. partyScore.setYear(year);
  81. partyScore.setQuarter(quarter);
  82. partyScore.setCheckuserid(checkUserId);
  83. partyScore.setDzzdm(party.getPartycode());
  84. partyScore.setCheckusername(checkUserName);
  85. partyScore.setRecordstatus(0);
  86. checkscoreMapper.insert(partyScore);
  87. }else{
  88. partyScore.setCheckuserid(UUID.randomUUID().toString());
  89. partyScore.setCheckuserid(checkUserId);
  90. checkscoreMapper.updateByPrimaryKeySelective(partyScore);
  91. }
  92. });
  93. }
  94. @Override
  95. @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
  96. public Integer deleteCheckNameList(List<String> nameIdList) {
  97. PtCheckpartyExample example = new PtCheckpartyExample();
  98. example.or().andNameidIn(nameIdList);
  99. checkpartyMapper.deleteByExample(example);
  100. PtChecknamelistExample ckExp = new PtChecknamelistExample();
  101. ckExp.or().andNameidIn(nameIdList);
  102. checknamelistMapper.deleteByExample(ckExp);
  103. return 1;
  104. }
  105. @Override
  106. public Integer changeCheckNameListStatus(List<String> nameIdList, Integer recordStatus) {
  107. PtChecknamelist record = new PtChecknamelist();
  108. record.setRecordstatus(recordStatus);
  109. PtChecknamelistExample ckExp = new PtChecknamelistExample();
  110. ckExp.or().andNameidIn(nameIdList);
  111. checknamelistMapper.updateByExampleSelective(record, ckExp);
  112. return 1;
  113. }
  114. @Override
  115. public HashMap<String, Object> getCheckName(String id) {
  116. List<HashMap<String, Object>> list = checkdataCQuery.selectCheckNameList(null, null, null, null, null, null);
  117. HashMap<String, Object> item = list.stream().filter(x -> x.get("nameid").toString().equals(id)).findFirst().orElse(null);
  118. return item;
  119. }
  120. @Override
  121. public PageInfo<HashMap<String, Object>> getCheckDataList(int pageIndex, int pageSize, Integer year, String dzzdm, String remark) {
  122. PageHelper.startPage(pageIndex, pageSize);
  123. List<HashMap<String, Object>> list = checkdataCQuery.selectCheckDataList(year, dzzdm, remark);
  124. PageInfo<HashMap<String, Object>> result = new PageInfo(list);
  125. return result;
  126. }
  127. @Override
  128. public List<HashMap<String, Object>> getCheckDataFleList(String year) {
  129. List<HashMap<String, Object>> list = checkdataCQuery.selectCheckDataFleList(year);
  130. return list;
  131. }
  132. @Override
  133. public int saveCheckdata(PtCheckdata item, String userid, String username) {
  134. PtCheckdata dbItem = CheckdataMapper.selectByPrimaryKey(item.getDataid());
  135. if (dbItem == null) {
  136. item.setCheckdatauserid(userid);
  137. item.setCheckdatausername(username);
  138. item.setRecordstatus(1);
  139. item.setCreatetime(new Date());
  140. item.setCreateuserid(userid);
  141. item.setCreateusername(username);
  142. return CheckdataMapper.insert(item);
  143. } else {
  144. item.setUpdatetime(new Date());
  145. item.setUpdateuserid(userid);
  146. item.setUpdateusername(username);
  147. return CheckdataMapper.updateByPrimaryKeySelective(item);
  148. }
  149. }
  150. @Override
  151. public PtCheckdata getCheckdata(String id) {
  152. return CheckdataMapper.selectByPrimaryKey(id);
  153. }
  154. @Override
  155. public PageInfo<HashMap<String, Object>> getCheckScoreList(int pageIndex, int pageSize, Integer year, Integer quarter, String dzzdm, String checkUserName, Float minScore,Float maxScore,Integer recordStatus,String checkuserid) {
  156. PageHelper.startPage(pageIndex, pageSize);
  157. List<HashMap<String, Object>> list = checkdataCQuery.selectCheckScoreList( year, quarter, dzzdm, checkUserName, minScore, maxScore, recordStatus,checkuserid);
  158. PageInfo<HashMap<String, Object>> result = new PageInfo(list);
  159. return result;
  160. }
  161. @Override
  162. @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
  163. public int saveCheckScore(PtCheckscore item ,List<PtCheckquestion> questionList) {
  164. PtCheckscore dbItem = checkscoreMapper.selectByPrimaryKey(item.getScoreid());
  165. dbItem.setScore(item.getScore());
  166. dbItem.setUpdatetime(new Date());
  167. dbItem.setUpdateuserid(item.getUpdateuserid());
  168. dbItem.setUpdateusername(item.getUpdateusername());
  169. dbItem.setRecordstatus(1);
  170. checkscoreMapper.updateByPrimaryKeySelective(dbItem);
  171. PtCheckquestionExample example=new PtCheckquestionExample();
  172. example.or().andScoreidEqualTo(item.getScoreid());
  173. checkquestionMapper.deleteByExample(example);
  174. questionList.forEach(x->{
  175. x.setQuestionid(UUID.randomUUID().toString());
  176. x.setScoreid(item.getScoreid());
  177. checkquestionMapper.insert(x);
  178. });
  179. return 1;
  180. }
  181. @Override
  182. public List<PtCheckquestion> getCheckquestionList(String scoreId) {
  183. PtCheckquestionExample example=new PtCheckquestionExample();
  184. example.or().andScoreidEqualTo(scoreId);
  185. return checkquestionMapper.selectByExample(example);
  186. }
  187. }