9e611a055bdb70609d7b65d4f92caba171849468.svn-base 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. package cn.com.goldenwater.dcproj.service.impl.tac;
  2. import cn.com.goldenwater.core.service.AbstractCrudService;
  3. import cn.com.goldenwater.dcproj.dao.*;
  4. import cn.com.goldenwater.dcproj.model.*;
  5. import cn.com.goldenwater.dcproj.param.TacPblmRectOrgParam;
  6. import cn.com.goldenwater.dcproj.param.TacPblmRectParam;
  7. import cn.com.goldenwater.dcproj.param.TacPblmRectPblmParam;
  8. import cn.com.goldenwater.dcproj.param.TacPblmRectPrctParam;
  9. import cn.com.goldenwater.dcproj.service.TacPblmRectOrgService;
  10. import cn.com.goldenwater.dcproj.service.TacPblmRectPblmService;
  11. import cn.com.goldenwater.dcproj.service.TacPblmRectPrctService;
  12. import cn.com.goldenwater.dcproj.service.TacPblmRectService;
  13. import cn.com.goldenwater.id.util.UuidUtil;
  14. import org.apache.commons.lang3.StringUtils;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.beans.factory.annotation.Value;
  17. import org.springframework.stereotype.Service;
  18. import org.springframework.transaction.annotation.Transactional;
  19. import java.util.Date;
  20. import java.util.List;
  21. /**
  22. * @author lhc
  23. * @date 2019-12-20
  24. */
  25. @Service
  26. @Transactional
  27. public class TacPblmRectServiceImpl extends AbstractCrudService<TacPblmRect, TacPblmRectParam> implements TacPblmRectService {
  28. @Autowired
  29. private TacPblmRectDao tacPblmRectDao;
  30. @Autowired
  31. private BisInspOrgDao bisInspOrgDao;
  32. @Autowired
  33. private TacPblmRectOrgService tacPblmRectOrgService;
  34. @Autowired
  35. private TacPblmRectPrctService tacPblmRectPrctService;
  36. @Autowired
  37. private TacPblmRectPblmService tacPblmRectPblmService;
  38. @Autowired
  39. private BisInspAllRlationPersDao bisInspAllRlationPersDao;
  40. @Autowired
  41. private TacPawpRgstrDao tacPawpRgstrDao;
  42. @Autowired
  43. private TacPblmInfoDao tacPblmInfoDao;
  44. @Autowired
  45. private BisInspAllRlationPersDao rlationPersDao;
  46. @Autowired
  47. private TacPblmRectOrgDao tacPblmRectOrgDao;
  48. @Value("${adLength}")
  49. private String adLength;
  50. public TacPblmRectServiceImpl(TacPblmRectDao tacPblmRectDao) {
  51. super(tacPblmRectDao);
  52. this.tacPblmRectDao = tacPblmRectDao;
  53. }
  54. @Override
  55. public Boolean isExist(TacPblmRect tacPblmRect) {
  56. TacPblmRectParam tacPblmRectParam = new TacPblmRectParam();
  57. tacPblmRectParam.setYear(tacPblmRect.getYear());
  58. tacPblmRectParam.setBatch(tacPblmRect.getBatch());
  59. tacPblmRectParam.setDataStat("0");
  60. List<TacPblmRect> tacPblmRects = tacPblmRectDao.findList(tacPblmRectParam);
  61. if (tacPblmRects.size() > 0) {
  62. return true;
  63. } else {
  64. return false;
  65. }
  66. }
  67. @Override
  68. public int insert(TacPblmRect tacPblmRect) {
  69. String uuid = UuidUtil.uuid(); // 生成uuid
  70. tacPblmRect.setId(uuid);
  71. tacPblmRect.setIntm(new Date());
  72. tacPblmRect.setUptm(new Date());
  73. tacPblmRect.setDataStat("0");
  74. String state = "7";
  75. //根据年度 批次 插入每个省的通知信息
  76. List<BisInspOrg> bisInspOrgs = bisInspOrgDao.getOrgByTac(tacPblmRect.getYear(), tacPblmRect.getBatch(), state,adLength);
  77. //设置人员姓名
  78. BisInspAllRlationPers bisInspAllRlationPers = bisInspAllRlationPersDao.get(tacPblmRect.getPersId());
  79. tacPblmRect.setPersName(bisInspAllRlationPers.getPersName());
  80. Long rectPrjctSize = 0L;
  81. Long rectPblmSize = 0L;
  82. for (BisInspOrg bisInspOrg : bisInspOrgs
  83. ) {
  84. //插入整改单位
  85. TacPblmRectOrg tacPblmRectOrg = new TacPblmRectOrg();
  86. tacPblmRectOrg.setId(UuidUtil.uuid());
  87. tacPblmRectOrg.setRectId(uuid);
  88. tacPblmRectOrg.setYear(tacPblmRect.getYear());
  89. tacPblmRectOrg.setBatch(tacPblmRect.getBatch());
  90. tacPblmRectOrg.setRectOrgId(bisInspOrg.getOrgId());
  91. tacPblmRectOrg.setRectOrgNm(bisInspOrg.getOrgNm());
  92. tacPblmRectOrg.setPersId(tacPblmRect.getPersId());
  93. tacPblmRectOrg.setPersName(tacPblmRect.getPersName());
  94. tacPblmRectOrg.setState("0");
  95. //插入通知信息到省通知
  96. tacPblmRectOrg.setTitle(tacPblmRect.getTitle());
  97. tacPblmRectOrg.setNub(tacPblmRect.getNub());
  98. tacPblmRectOrg.setPrintTm(tacPblmRect.getPrintTm());
  99. tacPblmRectOrg.setCloseTm(tacPblmRect.getCloseTm());
  100. String orgId = bisInspOrg.getOrgId();
  101. String orgNm = bisInspOrg.getOrgNm();
  102. //插入工程总数
  103. Long prjctSize = insertProject(tacPblmRectOrg.getPersId(), tacPblmRectOrg.getPersName(), uuid, tacPblmRectOrg.getId(), tacPblmRect.getYear(), tacPblmRect.getBatch(), orgId, orgNm, state);
  104. rectPrjctSize = rectPrjctSize + prjctSize;
  105. tacPblmRectOrg.setPrjctSize(prjctSize);
  106. //插入问题总数
  107. Long pblmSize = insertPblm(tacPblmRectOrg.getPersId(), tacPblmRectOrg.getPersName(), uuid, tacPblmRectOrg.getId(), tacPblmRect.getYear(), tacPblmRect.getBatch(), orgId, orgNm, state);
  108. rectPblmSize = pblmSize + rectPblmSize;
  109. tacPblmRectOrg.setPblmSize(pblmSize);
  110. tacPblmRectOrgService.insert(tacPblmRectOrg);
  111. //插入工程
  112. //插入问题
  113. }
  114. tacPblmRect.setPrjctSize(rectPrjctSize);
  115. tacPblmRect.setPblmSize(rectPblmSize);
  116. return this.tacPblmRectDao.insert(tacPblmRect);
  117. }
  118. /**
  119. * 根据年度批次找出所有的工程 返回工程总数
  120. *
  121. * @param rectId 通知ID
  122. * @param orgId 通知单位ID
  123. * @param year 年
  124. * @param batch 批次
  125. * @param state 状态
  126. * @return
  127. */
  128. private Long insertProject(String persId, String perName, String rectId, String rectOrgId, Long year, Long batch, String orgId, String orgNm, String state) {
  129. //按年度和批次 提取状态为7的工程
  130. String adCode = orgId.substring(3);
  131. List<TacPawpRgstr> tacPawpRgstrs = tacPawpRgstrDao.getRgstrListByBatch(year, batch, adCode, state);
  132. for (TacPawpRgstr tacPawpRgstr : tacPawpRgstrs
  133. ) {
  134. TacPblmRectPrct tacPblmRectPrct = new TacPblmRectPrct();
  135. tacPblmRectPrct.setName(tacPawpRgstr.getName());
  136. tacPblmRectPrct.setRgstrId(tacPawpRgstr.getId());
  137. tacPblmRectPrct.setRectOrgId(rectOrgId);
  138. tacPblmRectPrct.setPersId(persId);
  139. tacPblmRectPrct.setPersName(perName);
  140. tacPblmRectPrct.setYear(year);
  141. tacPblmRectPrct.setBatch(batch);
  142. tacPblmRectPrct.setOrgId(orgId);
  143. tacPblmRectPrct.setOrgNm(orgNm);
  144. tacPblmRectPrct.setRectId(rectId);
  145. tacPblmRectPrctService.insert(tacPblmRectPrct);
  146. }
  147. return Long.parseLong(String.valueOf(tacPawpRgstrs.size()));
  148. }
  149. private Long insertPblm(String persId, String perName, String rectId, String rectOrgId, Long year, Long batch, String orgId, String orgNm, String state) {
  150. //按年度和批次 提取状态为7的问题
  151. String adCode = orgId.substring(3);
  152. List<TacPblmInfo> tacPblmInfos = tacPblmInfoDao.findListByYearBatch(state, year, batch, adCode);
  153. for (TacPblmInfo tacPblmInfo : tacPblmInfos
  154. ) {
  155. TacPblmRectPblm tacPblmRectPblm = new TacPblmRectPblm();
  156. tacPblmRectPblm.setRectId(rectId);
  157. tacPblmRectPblm.setRectOrgId(rectOrgId);
  158. tacPblmRectPblm.setObjId(tacPblmInfo.getObjId());
  159. tacPblmRectPblm.setRgstrId(tacPblmInfo.getRgstrId());
  160. tacPblmRectPblm.setName(tacPblmInfo.getName());
  161. tacPblmRectPblm.setPblmId(tacPblmInfo.getId());
  162. tacPblmRectPblm.setPblmNm(tacPblmInfo.getPblmNm());
  163. tacPblmRectPblm.setPblmPasi(tacPblmInfo.getPblmPasi());
  164. tacPblmRectPblm.setIfCasePblm(tacPblmRectPblm.getIfCasePblm());
  165. tacPblmRectPblm.setPblmDesc(tacPblmInfo.getPblmDesc());
  166. tacPblmRectPblm.setPblmReason(tacPblmInfo.getPblmReason());
  167. tacPblmRectPblm.setPblmstdId(tacPblmInfo.getPblmstdId());
  168. tacPblmRectPblm.setRectState("1");
  169. tacPblmRectPblm.setPersId(persId);
  170. tacPblmRectPblm.setPersName(perName);
  171. tacPblmRectPblm.setYear(year);
  172. tacPblmRectPblm.setBatch(batch);
  173. tacPblmRectPblm.setOrgId(orgId);
  174. tacPblmRectPblm.setOrgNm(orgNm);
  175. tacPblmRectPblm.setListType(tacPblmInfo.getListType());
  176. tacPblmRectPblmService.insert(tacPblmRectPblm);
  177. }
  178. return Long.parseLong(String.valueOf(tacPblmInfos.size()));
  179. }
  180. @Override
  181. public int update(TacPblmRect tacPblmRect) {
  182. tacPblmRect.setUptm(new Date());
  183. //更新冗余的省级相关信息
  184. if (StringUtils.isNotBlank(tacPblmRect.getTitle()) ||
  185. StringUtils.isNotBlank(tacPblmRect.getNub()) ||
  186. tacPblmRect.getCloseTm() != null ||
  187. tacPblmRect.getCloseTm() != null) {
  188. TacPblmRectOrg tacPblmRectOrg = new TacPblmRectOrg();
  189. tacPblmRectOrg.setRectId(tacPblmRect.getId());
  190. tacPblmRectOrg.setNub(tacPblmRect.getNub());
  191. tacPblmRectOrg.setTitle(tacPblmRect.getTitle());
  192. tacPblmRectOrg.setCloseTm(tacPblmRect.getCloseTm());
  193. tacPblmRectOrg.setPrintTm(tacPblmRect.getPrintTm());
  194. tacPblmRectOrgDao.updateBy(tacPblmRectOrg);
  195. }
  196. return this.tacPblmRectDao.update(tacPblmRect);
  197. }
  198. @Override
  199. public int delete(String id) {
  200. //删除问题
  201. TacPblmRectPblmParam tacPblmRectPblmParam = new TacPblmRectPblmParam();
  202. tacPblmRectPblmParam.setRectId(id);
  203. tacPblmRectPblmService.deleteBy(tacPblmRectPblmParam);
  204. //删除工程信息
  205. TacPblmRectPrctParam tacPblmRectPrctParam = new TacPblmRectPrctParam();
  206. tacPblmRectPrctParam.setRectId(id);
  207. tacPblmRectPrctService.deleteBy(tacPblmRectPrctParam);
  208. //删除通知单位
  209. TacPblmRectOrgParam tacPblmRectOrgParam = new TacPblmRectOrgParam();
  210. tacPblmRectOrgParam.setRectId(id);
  211. tacPblmRectOrgService.deleteBy(tacPblmRectOrgParam);
  212. return this.tacPblmRectDao.delete(id);
  213. }
  214. @Override
  215. public List<TacInspYear> getYear(String persId) {
  216. /* if (StringUtils.isNotBlank(persId)) {
  217. if ("1".equals(rlationPersDao.get(persId).getPersType())) {
  218. persId = "";
  219. }
  220. }*/
  221. persId = "";
  222. return tacPblmRectDao.getYear(persId);
  223. }
  224. @Override
  225. public List<TacInspBatch> getBatchByYearPersId(String persId, String year) {
  226. /* if (StringUtils.isNotBlank(persId)) {
  227. if ("1".equals(rlationPersDao.get(persId).getPersType())) {
  228. persId = "";
  229. }
  230. }*/
  231. persId = "";
  232. return tacPblmRectDao.getBatchByYearPersId(persId, year);
  233. }
  234. }