a5137eb120171b5a698cfe86d4b7d29c5480ac48.svn-base 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558
  1. package cn.com.goldenwater.dcproj.service.impl.tac;
  2. import cn.com.goldenwater.core.service.AbstractCrudService;
  3. import cn.com.goldenwater.dcproj.constValue.SplitValue;
  4. import cn.com.goldenwater.dcproj.dao.*;
  5. import cn.com.goldenwater.dcproj.dto.TacInspYearBatchObjDto;
  6. import cn.com.goldenwater.dcproj.dto.TacObjDto;
  7. import cn.com.goldenwater.dcproj.model.BisInspAllNode;
  8. import cn.com.goldenwater.dcproj.model.TacAttPawpBase;
  9. import cn.com.goldenwater.dcproj.model.TacInspYearBatch;
  10. import cn.com.goldenwater.dcproj.model.TacInspYearBatchArea;
  11. import cn.com.goldenwater.dcproj.model.TacInspYearBatchObj;
  12. import cn.com.goldenwater.dcproj.model.TacPawpBstocmCms;
  13. import cn.com.goldenwater.dcproj.model.TacPawpBstocmCpssInfo;
  14. import cn.com.goldenwater.dcproj.model.TacPawpBstocmTsopbfp;
  15. import cn.com.goldenwater.dcproj.model.TacPawpList;
  16. import cn.com.goldenwater.dcproj.model.TacPawpRgstr;
  17. import cn.com.goldenwater.dcproj.model.TacWorkerB;
  18. import cn.com.goldenwater.dcproj.param.*;
  19. import cn.com.goldenwater.dcproj.service.TacInspYearBatchObjService;
  20. import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
  21. import cn.com.goldenwater.dcproj.utils.BeanUtil;
  22. import cn.com.goldenwater.id.util.UuidUtil;
  23. import com.github.pagehelper.PageHelper;
  24. import com.github.pagehelper.PageInfo;
  25. import org.apache.commons.lang3.StringUtils;
  26. import org.springframework.beans.factory.annotation.Autowired;
  27. import org.springframework.stereotype.Service;
  28. import org.springframework.transaction.annotation.Transactional;
  29. import java.util.ArrayList;
  30. import java.util.Date;
  31. import java.util.LinkedHashMap;
  32. import java.util.List;
  33. import java.util.Map;
  34. /**
  35. * @author lune
  36. * @date 2019-9-6
  37. */
  38. @Service
  39. @Transactional
  40. public class TacInspYearBatchObjServiceImpl extends AbstractCrudService<TacInspYearBatchObj, TacInspYearBatchObjParam> implements TacInspYearBatchObjService {
  41. @Autowired
  42. private TacInspYearBatchObjDao tacInspYearBatchObjDao;
  43. @Autowired
  44. private TacInspYearBatchDao tacInspYearBatchDao;
  45. @Autowired
  46. private TacPawpRgstrDao rgstrDao;
  47. @Autowired
  48. private BisInspPblmDao bisInspPblmDao;
  49. @Autowired
  50. private TacPblmInfoDao tacPblmInfoDao;
  51. @Autowired
  52. private TacProvincePblmInfoDao tacProvincePblmInfoDao;
  53. @Autowired
  54. private TacPawpListDao tacPawpListDao;
  55. //查阅的资料目录
  56. @Autowired
  57. private TacPawpDrmDao tacPawpDrmDao;
  58. //前期与设计基本情况表
  59. @Autowired
  60. private TacPawpPdbstDao tacPawpPdbstDao;
  61. //建设管理基本情况表-项目法人责任制-TAC_PAWP_BSTOCM_PLPRS
  62. @Autowired
  63. private TacPawpBstocmPlprsDao tacPawpBstocmPlprsDao;
  64. //建设管理基本情况表-招标投标制-TAC_PAWP_BSTOCM_TSOPBFP
  65. @Autowired
  66. private TacPawpBstocmTsopbfpDao tacPawpBstocmTsopbfpDao;
  67. //建设管理基本情况表-招标投标制-标段-TAC_PAWP_BSTOCM_TSOPBFP_SCTN
  68. @Autowired
  69. private TacPawpBstocmTsopbfpSctnDao tacPawpBstocmTsopbfpSctnDao;
  70. //建设管理基本情况表-建设监理制-TAC_PAWP_BSTOCM_CPSS
  71. @Autowired
  72. private TacPawpBstocmCpssDao tacPawpBstocmCpssDao;
  73. //建设监理单位与标段关系表-TAC_PAWP_BSTOCM_SCTN
  74. @Autowired
  75. private TacPawpBstocmSctnDao tacPawpBstocmSctnDao;
  76. //建设管理基本情况表-合同管理制-TAC_PAWP_BSTOCM_CMS
  77. @Autowired
  78. private TacPawpBstocmCmsDao tacPawpBstocmCmsDao;
  79. //建设管理基本情况表-合同管理制-合同列表-TAC_PAWP_BSTOCM_CMS_PACT_LIST
  80. @Autowired
  81. private TacPawpBstocmCmsPactListDao tacPawpBstocmCmsPactListDao;
  82. //计划下达与执行基本情况表-TAC_PAWP_RAIOBIS
  83. @Autowired
  84. private TacPawpRaiobisDao tacPawpRaiobisDao;
  85. //资金使用与管理基本情况表-TAC_PAWP_BIOFUAM
  86. @Autowired
  87. private TacPawpBiofuamDao tacPawpBiofuamDao;
  88. //工程质量基本情况表--质量管理体制-TAC_PAWP_BITOPQ_QMS
  89. @Autowired
  90. private TacPawpBitopqQmsDao tacPawpBitopqQmsDao;
  91. //工程质量基本情况表--质量管理体制--体制列表-TAC_PAWP_BITOPQ_QMS_LIST
  92. //工程质量基本情况表--工程实体质量与验收-TAC_PAWP_BITOPQ_PEQAA
  93. @Autowired
  94. private TacPawpBitopqPeqaaDao tacPawpBitopqPeqaaDao;
  95. //工程安全基本情况表--项目法人-TAC_PAWP_BIOES_PE
  96. @Autowired
  97. private TacPawpBioesPeDao tacPawpBioesPeDao;
  98. //工程安全基本情况表--施工单位-TAC_PAWP_BIOES_RWUNIT
  99. @Autowired
  100. private TacPawpBioesRwunitDao tacPawpBioesRwunitDao;
  101. //稽察问题信息表-TAC_PBLM_INFO
  102. @Autowired
  103. private TacPawpBstocmCpssInfoDao tacPawpBstocmCpssInfoDao;
  104. @Autowired
  105. private TacInspYearBatchAreaDao areaDao;
  106. @Autowired
  107. private BisInspAllRlationPersDao rlationPersDao;
  108. @Autowired
  109. private TacWorkerBDao workerBDao;
  110. public TacInspYearBatchObjServiceImpl(TacInspYearBatchObjDao tacInspYearBatchObjDao) {
  111. super(tacInspYearBatchObjDao);
  112. this.tacInspYearBatchObjDao = tacInspYearBatchObjDao;
  113. }
  114. @Override
  115. public List<TacInspYearBatchObjDto> getObjListByNameAndYear(TacInspYearBatchObjParam param) {
  116. if (StringUtils.isNotBlank(param.getPersId())) {
  117. if("1".equals(rlationPersDao.get(param.getPersId()).getPersType())){
  118. param.setPersId("");
  119. }
  120. }
  121. List<TacInspYearBatchObjDto> list = tacInspYearBatchObjDao.getObjListByPersId(param);
  122. if (list.size() > 0) {
  123. list.forEach(dto -> {
  124. if (StringUtils.isNotBlank(dto.getGroupId())) {
  125. TacWorkerBParam bParam = new TacWorkerBParam();
  126. bParam.setPersId(param.getPersId());
  127. bParam.setGroupId(dto.getGroupId());
  128. List<TacWorkerB> bList = workerBDao.getWorkerbsListById(bParam);
  129. if (bList.size() > 0) {
  130. dto.setbList(bList);
  131. }
  132. }
  133. });
  134. }
  135. return list;
  136. }
  137. @Override
  138. public List<TacInspYearBatchObjDto> getObjList(TacInspYearBatchObjParam tacInspYearBatchObjParam) {
  139. if (StringUtils.isNotBlank(tacInspYearBatchObjParam.getPersId())) {
  140. if("1".equals(rlationPersDao.get(tacInspYearBatchObjParam.getPersId()).getPersType())){
  141. tacInspYearBatchObjParam.setPersId("");
  142. }
  143. }
  144. List<TacInspYearBatchObjDto> list = tacInspYearBatchObjDao.getObjList(tacInspYearBatchObjParam);
  145. return list;
  146. }
  147. @Override
  148. public List<TacInspYearBatchObjDto> objslistbybatch(TacInspYearBatchObjParam tacInspYearBatchObjParam) {
  149. List<TacInspYearBatchObjDto> list = tacInspYearBatchObjDao.objslistbybatch(tacInspYearBatchObjParam);
  150. return list;
  151. }
  152. @Override
  153. public int insertBatchObj(TacObjDto dto) {
  154. if (dto.getBaseList() == null) {
  155. return 0;
  156. }
  157. TacInspYearBatch batch = tacInspYearBatchDao.get(dto.getYearBatchId());
  158. dto.getBaseList().forEach(tacAttPawpBase -> {
  159. TacInspYearBatchObj obj = new TacInspYearBatchObj();
  160. obj.setId(UuidUtil.uuid());
  161. obj.setYearBatchId(batch.getId());
  162. obj.setYear(batch.getYear());
  163. obj.setBatch(batch.getBatch());
  164. obj.setGroupId(dto.getGroupId());
  165. obj.setGroupNm(dto.getGroupNm());
  166. obj.setOjbId(tacAttPawpBase.getId());
  167. obj.setOjbNm(tacAttPawpBase.getName());
  168. obj.setInTm(new Date());
  169. obj.setUpTm(new Date());
  170. obj.setProvince(dto.getProvince());
  171. obj.setPersId(dto.getPersId());
  172. obj.setDataStat("0");
  173. tacInspYearBatchObjDao.insert(obj);
  174. TacPawpRgstr rgstr = new TacPawpRgstr();
  175. BeanUtil.copyObject1(tacAttPawpBase,rgstr);
  176. rgstr.setGroupId(dto.getGroupId());
  177. rgstr.setId(UuidUtil.uuid());
  178. rgstr.setObjId(obj.getId());
  179. rgstr.setDataStat("0");
  180. rgstr.setIntm(new Date());
  181. rgstr.setUptm(new Date());
  182. rgstr.setProvince(dto.getProvince());
  183. rgstrDao.insert(rgstr);
  184. });
  185. return 0;
  186. }
  187. @Override
  188. public PageInfo<TacInspYearBatchObjDto> getObjPage(TacInspYearBatchObjParam tacInspYearBatchObjParam) {
  189. if (StringUtils.isNotBlank(tacInspYearBatchObjParam.getPersId())) {
  190. if("1".equals(rlationPersDao.get(tacInspYearBatchObjParam.getPersId()).getPersType())){
  191. tacInspYearBatchObjParam.setPersId("");
  192. }
  193. }
  194. PageHelper.startPage(tacInspYearBatchObjParam);
  195. List<TacInspYearBatchObjDto> list = tacInspYearBatchObjDao.getObjList(tacInspYearBatchObjParam);
  196. PageInfo<TacInspYearBatchObjDto> pageInfo = new PageInfo<>(list);
  197. return pageInfo;
  198. }
  199. @Override
  200. public int cleanObjById(TacInspYearBatchObjParam tacInspYearBatchObjParam) {
  201. tacInspYearBatchObjDao.delete(tacInspYearBatchObjParam.getId());
  202. TacPawpRgstrParam rgstrParam = new TacPawpRgstrParam();
  203. rgstrParam.setObjId(tacInspYearBatchObjParam.getId());
  204. List<TacPawpRgstr> list = rgstrDao.findList(rgstrParam);
  205. if (list.size() > 0) {
  206. String id = list.get(0).getId();
  207. BisInspPblmParam bisInspPblmParam = new BisInspPblmParam();
  208. bisInspPblmParam.setRegid(id);
  209. bisInspPblmParam.setObjType("8");
  210. this.bisInspPblmDao.deleteBy(bisInspPblmParam);
  211. // 删除 对象填报的问题
  212. TacPblmInfoParam tacPblmInfoParam = new TacPblmInfoParam();
  213. tacPblmInfoParam.setRgstrId(id);
  214. this.tacPblmInfoDao.deleteBy(tacPblmInfoParam);
  215. // 删除 对象填报提交的问题
  216. TacProvincePblmInfoParam provincePblmInfoParam = new TacProvincePblmInfoParam() ;
  217. provincePblmInfoParam.setRgstrId(id);
  218. this.tacProvincePblmInfoDao.deleteBy(provincePblmInfoParam);
  219. //删除专业稽察工作底稿
  220. TacPawpListParam listParam = new TacPawpListParam();
  221. listParam.setRgstrId(id);
  222. List<TacPawpList> l = tacPawpListDao.findList(listParam);
  223. for (TacPawpList t : l) {
  224. //删除查阅的资料目录
  225. TacPawpDrmParam drmParam = new TacPawpDrmParam();
  226. drmParam.setListId(t.getId());
  227. tacPawpDrmDao.deleteBy(drmParam);
  228. }
  229. tacPawpListDao.deleteBy(listParam);
  230. //删除前期与设计基本情况表
  231. TacPawpPdbstParam pdbstParam = new TacPawpPdbstParam();
  232. pdbstParam.setRgstrId(id);
  233. tacPawpPdbstDao.deleteBy(pdbstParam);
  234. //删除建设管理基本情况表-项目法人责任制-TAC_PAWP_BSTOCM_PLPRS
  235. TacPawpBstocmPlprsParam bstocmPlprsParam = new TacPawpBstocmPlprsParam();
  236. bstocmPlprsParam.setRgstrId(id);
  237. tacPawpBstocmPlprsDao.deleteBy(bstocmPlprsParam);
  238. //删除建设管理基本情况表-招标投标制-TAC_PAWP_BSTOCM_TSOPBFP
  239. TacPawpBstocmTsopbfpParam bstocmTsopbfpParam = new TacPawpBstocmTsopbfpParam();
  240. bstocmTsopbfpParam.setRgstrId(id);
  241. List<TacPawpBstocmTsopbfp> bstocmTsopbfps = tacPawpBstocmTsopbfpDao.findList(bstocmTsopbfpParam);
  242. for (TacPawpBstocmTsopbfp t : bstocmTsopbfps
  243. ) {
  244. //删除建设管理基本情况表-招标投标制-标段-TAC_PAWP_BSTOCM_TSOPBFP_SCTN
  245. TacPawpBstocmTsopbfpSctnParam bstocmTsopbfpSctnParam = new TacPawpBstocmTsopbfpSctnParam();
  246. bstocmTsopbfpSctnParam.setTsopbfpId(t.getId());
  247. tacPawpBstocmTsopbfpSctnDao.deleteBy(bstocmTsopbfpSctnParam);
  248. //删除建设监理单位与标段关系表-TAC_PAWP_BSTOCM_SCTN
  249. TacPawpBstocmSctnParam bstocmSctnParam = new TacPawpBstocmSctnParam();
  250. bstocmSctnParam.setSctnId(t.getId());
  251. tacPawpBstocmSctnDao.deleteBy(bstocmSctnParam);
  252. }
  253. tacPawpBstocmTsopbfpDao.deleteBy(bstocmTsopbfpParam);
  254. //删除建设管理基本情况表-建设监理制-TAC_PAWP_BSTOCM_CPSS
  255. TacPawpBstocmCpssInfoParam tacPawpBstocmCpssInfoParam = new TacPawpBstocmCpssInfoParam();
  256. tacPawpBstocmCpssInfoParam.setRgstrId(id);
  257. List<TacPawpBstocmCpssInfo> pawpBstocmCpsses = tacPawpBstocmCpssInfoDao.findList(tacPawpBstocmCpssInfoParam);
  258. for (TacPawpBstocmCpssInfo pawpBstocmCpssInfo : pawpBstocmCpsses) {
  259. TacPawpBstocmCpssParam bstocmCpssParam = new TacPawpBstocmCpssParam();
  260. bstocmCpssParam.setCpssId(pawpBstocmCpssInfo.getId());
  261. tacPawpBstocmCpssDao.deleteBy(bstocmCpssParam);
  262. }
  263. tacPawpBstocmCpssInfoDao.deleteBy(tacPawpBstocmCpssInfoParam);
  264. //删除建设管理基本情况表-合同管理制-TAC_PAWP_BSTOCM_CMS
  265. TacPawpBstocmCmsParam bstocmCmsParam = new TacPawpBstocmCmsParam();
  266. bstocmCmsParam.setRgstrId(id);
  267. List<TacPawpBstocmCms> bstocmCms = tacPawpBstocmCmsDao.findList(bstocmCmsParam);
  268. for (TacPawpBstocmCms t : bstocmCms
  269. ) {
  270. //删除建设管理基本情况表-合同管理制-合同列表-TAC_PAWP_BSTOCM_CMS_PACT_LIST
  271. TacPawpBstocmCmsPactListParam bstocmCmsPactListParam = new TacPawpBstocmCmsPactListParam();
  272. bstocmCmsPactListParam.setCmsId(t.getId());
  273. tacPawpBstocmCmsPactListDao.deleteBy(bstocmCmsPactListParam);
  274. }
  275. tacPawpBstocmCmsDao.deleteBy(bstocmCmsParam);
  276. //删除计划下达与执行基本情况表-TAC_PAWP_RAIOBIS
  277. TacPawpRaiobisParam raiobisParam = new TacPawpRaiobisParam();
  278. raiobisParam.setRgstrId(id);
  279. tacPawpRaiobisDao.deleteBy(raiobisParam);
  280. //删除资金使用与管理基本情况表-TAC_PAWP_BIOFUAM
  281. TacPawpBiofuamParam biofuamParam = new TacPawpBiofuamParam();
  282. biofuamParam.setRgstrId(id);
  283. tacPawpBiofuamDao.deleteBy(biofuamParam);
  284. //删除工程质量基本情况表--质量管理体制-TAC_PAWP_BITOPQ_QMS
  285. TacPawpBitopqQmsParam bitopqQmsParam = new TacPawpBitopqQmsParam();
  286. bitopqQmsParam.setRgstrId(id);
  287. tacPawpBitopqQmsDao.deleteBy(bitopqQmsParam);
  288. //删除工程质量基本情况表--工程实体质量与验收-TAC_PAWP_BITOPQ_PEQAA
  289. TacPawpBitopqPeqaaParam bitopqPeqaaParam = new TacPawpBitopqPeqaaParam();
  290. bitopqPeqaaParam.setRgstrId(id);
  291. tacPawpBitopqPeqaaDao.deleteBy(bitopqPeqaaParam);
  292. //删除工程安全基本情况表--项目法人-TAC_PAWP_BIOES_PE
  293. TacPawpBioesPeParam bioesPeParam = new TacPawpBioesPeParam();
  294. bioesPeParam.setRgstrId(id);
  295. tacPawpBioesPeDao.deleteBy(bioesPeParam);
  296. //删除工程安全基本情况表--施工单位-TAC_PAWP_BIOES_RWUNIT
  297. TacPawpBioesRwunitParam bioesRwunitParam = new TacPawpBioesRwunitParam();
  298. bioesRwunitParam.setRgstrId(id);
  299. tacPawpBioesRwunitDao.deleteBy(bioesRwunitParam);
  300. //删除稽察项目登记表
  301. rgstrDao.delete(id);
  302. }
  303. return 0;
  304. }
  305. @Override
  306. public List<TacAttPawpBase> getBaseNotInGroupByGroupId(TacInspYearBatchObjParam param) {
  307. if (StringUtils.isNotBlank(param.getAdCode())) {
  308. param.setAdCode(this.getAdCodeLike(param.getAdCode()));
  309. }
  310. List<TacAttPawpBase> list = tacInspYearBatchObjDao.getBaseNotInGroupByGroupId(param);
  311. return list;
  312. }
  313. public String getAdCodeLike(String ad) {
  314. String adCode = "";
  315. if (StringUtils.isNotBlank(ad)) {
  316. String eName = "AD_CODE";
  317. if (ad.contains(",")) {//如果有多个行政区划编码,要根据逗号分隔截取
  318. StringBuffer stringBuffer = new StringBuffer();
  319. String[] split = ad.split(",");
  320. for (String s : split) {//拼接sql,对多个截取后的行政区划进行模糊查询
  321. String subAd = AdLevelUtil.SubAd(s).get(SplitValue.SUBAD).toString();
  322. stringBuffer.append(subAd);
  323. stringBuffer.append("%");
  324. stringBuffer.append("' OR " + eName + " LIKE '");
  325. }
  326. //将最后的“ OR ADM_DIV LIKE ”截掉
  327. String substring = stringBuffer.substring(0, stringBuffer.length() - 18);
  328. substring = "(" + eName + " LIKE '" + substring + ")";
  329. adCode = substring;
  330. } else {
  331. String subAd = AdLevelUtil.SubAd(ad).get(SplitValue.SUBAD).toString();
  332. subAd = eName + " LIKE '" + subAd + "%'";
  333. adCode = subAd;
  334. }
  335. }
  336. return adCode;
  337. }
  338. @Override
  339. public PageInfo<TacAttPawpBase> getBaseNotInGroupPageByGroupId(TacInspYearBatchObjParam param) {
  340. if (StringUtils.isNotBlank(param.getAdCode())) {
  341. param.setAdCode(this.getAdCodeLike(param.getAdCode()));
  342. }
  343. PageHelper.startPage(param);
  344. List<TacAttPawpBase> list = tacInspYearBatchObjDao.getBaseNotInGroupByGroupId(param);
  345. PageInfo<TacAttPawpBase> pageInfo = new PageInfo<>(list);
  346. return pageInfo;
  347. }
  348. @Override
  349. public BisInspAllNode getObjTreeList(TacInspYearBatchObjParam param) {
  350. if (StringUtils.isNotBlank(param.getPersId())) {
  351. if("1".equals(rlationPersDao.get(param.getPersId()).getPersType())){
  352. param.setPersId("");
  353. }
  354. }
  355. List<TacInspYearBatchObj> list = tacInspYearBatchObjDao.getObjTreeList(param);
  356. if (list.size() > 0) {
  357. BisInspAllNode allNode = new BisInspAllNode();
  358. Map<String,BisInspAllNode> yearMap = new LinkedHashMap();
  359. Map<String, Map<String,BisInspAllNode>> batchMap = new LinkedHashMap();
  360. Map<String, Map<String,BisInspAllNode>> groupMap = new LinkedHashMap();
  361. list.forEach(obj -> {
  362. if (obj.getYear() != null) {
  363. if (!yearMap.containsKey(obj.getYear() +"年度")) {
  364. BisInspAllNode node = new BisInspAllNode();
  365. node.setPnm(obj.getYear() +"年度");
  366. node.setId(obj.getYear().toString());
  367. yearMap.put(String.valueOf(obj.getYear())+"年度", node);
  368. }
  369. }
  370. if (obj.getBatch() != null) {
  371. if (batchMap.containsKey(String.valueOf(obj.getYear())+"年度")) {
  372. Map<String, BisInspAllNode> bMap = batchMap.get(String.valueOf(obj.getYear()+"年度"));
  373. if (!bMap.containsKey(String.valueOf(obj.getBatch()))) {
  374. BisInspAllNode bNode = new BisInspAllNode();
  375. bNode.setPnm("第" + String.valueOf(obj.getBatch()) + "批次");
  376. bNode.setPid(String.valueOf(obj.getYear())+"年度");
  377. bNode.setId(obj.getBatch().toString());
  378. bMap.put("第" + String.valueOf(obj.getBatch()) + "批次", bNode);
  379. }
  380. } else {
  381. Map<String, BisInspAllNode> bMap = new LinkedHashMap();
  382. BisInspAllNode bNode = new BisInspAllNode();
  383. bNode.setPnm("第" + String.valueOf(obj.getBatch()) + "批次");
  384. bNode.setId(obj.getBatch().toString());
  385. bNode.setPid(String.valueOf(obj.getYear())+"年度");
  386. bMap.put("第" + String.valueOf(obj.getBatch()) + "批次", bNode);
  387. batchMap.put(bNode.getPid(), bMap);
  388. }
  389. }
  390. if (StringUtils.isNotBlank(obj.getGroupId())) {
  391. if (groupMap.containsKey((String.valueOf(obj.getYear())+"年度") + ("第" + String.valueOf(obj.getBatch()) + "批次"))) {
  392. Map<String, BisInspAllNode> gMap = groupMap.get((String.valueOf(obj.getYear())+"年度") + ("第" + String.valueOf(obj.getBatch()) + "批次"));
  393. BisInspAllNode childNode = new BisInspAllNode();
  394. childNode.setPid(obj.getGroupId());
  395. childNode.setPnm(obj.getOjbNm());
  396. childNode.setId(obj.getRgstrId());
  397. childNode.setObjId(obj.getId());
  398. childNode.setAdCode(obj.getAdCode());
  399. childNode.setState(obj.getState());
  400. if (gMap.containsKey(obj.getGroupId())) {
  401. BisInspAllNode gNode = gMap.get(obj.getGroupId());
  402. if (gNode.getChildren() == null) {
  403. List<BisInspAllNode> childrens = new ArrayList<>();
  404. childrens.add(childNode);
  405. gNode.setChildren(childrens);
  406. } else {
  407. gNode.getChildren().add(childNode);
  408. }
  409. } else {
  410. BisInspAllNode gNode = new BisInspAllNode();
  411. gNode.setId(obj.getGroupId());
  412. TacInspYearBatchAreaParam areaParam = new TacInspYearBatchAreaParam();
  413. areaParam.setGroupId(obj.getGroupId());
  414. areaParam.setProvince(param.getProvince());
  415. List<TacInspYearBatchArea> areaList = areaDao.findList(areaParam);
  416. StringBuffer pnm = new StringBuffer("");
  417. StringBuffer adCodes = new StringBuffer("");
  418. if (areaList.size() > 0) {
  419. areaList.forEach(area -> {
  420. pnm.append(area.getAdName()).append(",");
  421. adCodes.append(area.getAdCode()).append(",");
  422. });
  423. }
  424. if (pnm.length() > 2) {
  425. gNode.setPnm(pnm.substring(0, pnm.length()-1)+"组");
  426. } else {
  427. gNode.setPnm("第" + String.valueOf(obj.getGroupNm()) + "组");
  428. }
  429. if (adCodes.length() > 2) {
  430. gNode.setAdCode(adCodes.substring(0, adCodes.length()-1));
  431. } else {
  432. gNode.setAdCode(obj.getAdCode());
  433. }
  434. gNode.setPid("第" + String.valueOf(obj.getBatch()) + "批次");
  435. List<BisInspAllNode> childrens = new ArrayList<>();
  436. childNode.setAdCode(obj.getAdCode());
  437. childrens.add(childNode);
  438. gNode.setChildren(childrens);
  439. gMap.put(obj.getGroupId(),gNode);
  440. }
  441. } else {
  442. Map<String, BisInspAllNode> gMap = new LinkedHashMap();
  443. BisInspAllNode childNode = new BisInspAllNode();
  444. childNode.setPid(obj.getGroupId());
  445. childNode.setPnm(obj.getOjbNm());
  446. childNode.setId(obj.getRgstrId());
  447. childNode.setObjId(obj.getId());
  448. childNode.setState(obj.getState());
  449. childNode.setAdCode(obj.getAdCode());
  450. BisInspAllNode gNode = new BisInspAllNode();
  451. gNode.setId(obj.getGroupId());
  452. TacInspYearBatchAreaParam areaParam = new TacInspYearBatchAreaParam();
  453. areaParam.setGroupId(obj.getGroupId());
  454. areaParam.setProvince(param.getProvince());
  455. List<TacInspYearBatchArea> areaList = areaDao.findList(areaParam);
  456. StringBuffer pnm = new StringBuffer("");
  457. StringBuffer adCodes = new StringBuffer("");
  458. if (areaList.size() > 0) {
  459. areaList.forEach(area -> {
  460. pnm.append(area.getAdName()).append(",");
  461. adCodes.append(area.getAdCode()).append(",");
  462. });
  463. }
  464. if (pnm.length() > 2) {
  465. gNode.setPnm(pnm.substring(0, pnm.length()-1)+"组");
  466. } else {
  467. gNode.setPnm("第" + String.valueOf(obj.getGroupNm()) + "组");
  468. }
  469. if (adCodes.length() > 2) {
  470. gNode.setAdCode(adCodes.substring(0, adCodes.length()-1));
  471. } else {
  472. gNode.setAdCode(obj.getAdCode());
  473. }
  474. gNode.setPid(String.valueOf(obj.getBatch()));
  475. List<BisInspAllNode> childrens = new ArrayList<>();
  476. childrens.add(childNode);
  477. gNode.setChildren(childrens);
  478. gMap.put(obj.getGroupId(),gNode);
  479. groupMap.put((String.valueOf(obj.getYear())+"年度") + ("第" + String.valueOf(obj.getBatch()) + "批次"), gMap);
  480. }
  481. }
  482. });
  483. for (BisInspAllNode bisInspAllNode : yearMap.values()) {
  484. if (batchMap.get(bisInspAllNode.getPnm()) != null) {
  485. Map<String,BisInspAllNode> bMap = batchMap.get(bisInspAllNode.getPnm());
  486. for (BisInspAllNode inspAllNode : bMap.values()) {
  487. if (groupMap.get(inspAllNode.getPid() + inspAllNode.getPnm()) != null) {
  488. inspAllNode.setChildren(new ArrayList(groupMap.get(inspAllNode.getPid() + inspAllNode.getPnm()).values()));
  489. }
  490. }
  491. bisInspAllNode.setChildren(new ArrayList<>(bMap.values()));
  492. }
  493. }
  494. allNode.setChildren(new ArrayList<>(yearMap.values()));
  495. return allNode;
  496. }
  497. return new BisInspAllNode();
  498. }
  499. @Override
  500. public List<TacInspYearBatchObjDto> getObjListByPersId(TacInspYearBatchObjParam param) {
  501. if (StringUtils.isNotBlank(param.getPersId())) {
  502. if("1".equals(rlationPersDao.get(param.getPersId()).getPersType())){
  503. param.setPersId("");
  504. }
  505. }
  506. if (StringUtils.isNotBlank(param.getAdCode())) {
  507. param.setAdCode(String.valueOf(AdLevelUtil.SubAd(param.getAdCode()).get(SplitValue.SUBAD)));
  508. }
  509. List<TacInspYearBatchObjDto> list = tacInspYearBatchObjDao.getObjListByPersId(param);
  510. return list;
  511. }
  512. @Override
  513. public PageInfo<TacInspYearBatchObjDto> getObjPageByPersId(TacInspYearBatchObjParam param) {
  514. if (StringUtils.isNotBlank(param.getPersId())) {
  515. if("1".equals(rlationPersDao.get(param.getPersId()).getPersType())){
  516. param.setPersId("");
  517. }
  518. }
  519. if (StringUtils.isNotBlank(param.getAdCode())) {
  520. param.setAdCode(String.valueOf(AdLevelUtil.SubAd(param.getAdCode()).get(SplitValue.SUBAD)));
  521. }
  522. PageHelper.startPage(param);
  523. List<TacInspYearBatchObjDto> list = tacInspYearBatchObjDao.getObjListByPersId(param);
  524. PageInfo<TacInspYearBatchObjDto> pageInfo = new PageInfo<>(list);
  525. return pageInfo;
  526. }
  527. }