262ba0c266df0749852cd4bbcc55fdf51225a620.svn-base 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306
  1. package cn.com.goldenwater.dcproj.service.impl.ducha;
  2. import cn.com.goldenwater.dcproj.constValue.SplitValue;
  3. import cn.com.goldenwater.dcproj.dao.*;
  4. import cn.com.goldenwater.dcproj.dto.BisInsNtfctnDto;
  5. import cn.com.goldenwater.dcproj.dto.NtfctnAndDvdwkDto;
  6. import cn.com.goldenwater.dcproj.dto.NtfctnDvdwkDto;
  7. import cn.com.goldenwater.dcproj.model.*;
  8. import cn.com.goldenwater.dcproj.param.*;
  9. import cn.com.goldenwater.dcproj.service.BisInsNtfctnService;
  10. import cn.com.goldenwater.core.service.AbstractCrudService;
  11. import cn.com.goldenwater.dcproj.service.OlBisInspOrgService;
  12. import cn.com.goldenwater.id.util.UuidUtil;
  13. import com.github.pagehelper.PageHelper;
  14. import com.github.pagehelper.PageInfo;
  15. import org.apache.commons.lang3.StringUtils;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.stereotype.Service;
  18. import org.springframework.transaction.annotation.Transactional;
  19. import java.util.Date;
  20. import java.util.HashMap;
  21. import java.util.List;
  22. import java.util.Map;
  23. /**
  24. * @author lhc
  25. * @date 2019-4-30
  26. */
  27. @Service
  28. @Transactional(rollbackFor = Exception.class)
  29. public class BisInsNtfctnServiceImpl extends AbstractCrudService<BisInsNtfctn, BisInsNtfctnParam> implements BisInsNtfctnService {
  30. @Autowired
  31. private BisInsNtfctnDao bisInsNtfctnDao;
  32. @Autowired
  33. private BisInspAllRlationPersDao bisInspAllRlationPersDao;
  34. @Autowired
  35. private BisInspRecvUnitDao bisInspRecvUnitDao;
  36. @Autowired
  37. private GwComFileDao gwComFileDao;
  38. @Autowired
  39. private BisInspDvdwkDao bisInspDvdwkDao;
  40. @Autowired
  41. private BisInspAllDao bisInspAllDao;
  42. @Autowired
  43. private AttInspTypeDao attInspTypeDao;
  44. @Autowired
  45. private BisInspOrgDao bisInspOrgDao;
  46. @Autowired
  47. private OlBisInspOrgService olBisInspOrgService;
  48. public BisInsNtfctnServiceImpl(BisInsNtfctnDao bisInsNtfctnDao) {
  49. super(bisInsNtfctnDao);
  50. this.bisInsNtfctnDao = bisInsNtfctnDao;
  51. }
  52. @Override
  53. public BisInsNtfctn add(BisInsNtfctn bisInsNtfctn) {
  54. String uuid = UuidUtil.uuid(); // 生成uuid
  55. bisInsNtfctn.setId(uuid);
  56. bisInsNtfctn.setFlagValid(SplitValue.Flag_Valid);
  57. bisInsNtfctn.setIntm(new Date());
  58. if (bisInsNtfctn.getPesrid() != null) {//获取人员的机构id
  59. BisInspAllRlationPers bisInspAllRlationPers = bisInspAllRlationPersDao.get(bisInsNtfctn.getPesrid());
  60. bisInsNtfctn.setOrgId(bisInspAllRlationPers.getOrgId());
  61. }
  62. bisInsNtfctnDao.insert(bisInsNtfctn);//添加督查通知
  63. if (StringUtils.isNotBlank(bisInsNtfctn.getRecvOrgId())) {
  64. if (bisInsNtfctn.getRecvOrgId().contains(SplitValue.DOUHAO_SPLIT)) {
  65. String[] split = bisInsNtfctn.getRecvOrgId().split(SplitValue.DOUHAO_SPLIT);
  66. for (String s : split) {
  67. BisInspRecvUnit bisInspRecvUnit = new BisInspRecvUnit();
  68. bisInspRecvUnit.setId(UuidUtil.uuid());
  69. bisInspRecvUnit.setOrgId(s);
  70. bisInspRecvUnit.setFlagChk("0");
  71. bisInspRecvUnit.setRecvType("RECV");
  72. bisInspRecvUnit.setNtfctnId(uuid);
  73. bisInspRecvUnit.setFlagValid(SplitValue.Flag_Valid);
  74. bisInspRecvUnitDao.insert(bisInspRecvUnit);
  75. }
  76. } else {
  77. BisInspRecvUnit bisInspRecvUnit = new BisInspRecvUnit();
  78. bisInspRecvUnit.setId(UuidUtil.uuid());
  79. bisInspRecvUnit.setOrgId(bisInsNtfctn.getRecvOrgId());
  80. bisInspRecvUnit.setFlagChk("0");
  81. bisInspRecvUnit.setRecvType("RECV");
  82. bisInspRecvUnit.setNtfctnId(uuid);
  83. bisInspRecvUnit.setFlagValid(SplitValue.Flag_Valid);
  84. bisInspRecvUnitDao.insert(bisInspRecvUnit);
  85. }
  86. }
  87. if (StringUtils.isNotBlank(bisInsNtfctn.getCopyOrgId())) {
  88. if (bisInsNtfctn.getCopyOrgId().contains(SplitValue.DOUHAO_SPLIT)) {
  89. String[] split = bisInsNtfctn.getCopyOrgId().split(SplitValue.DOUHAO_SPLIT);
  90. for (String s : split) {
  91. BisInspRecvUnit bisInspRecvUnit = new BisInspRecvUnit();
  92. bisInspRecvUnit.setId(UuidUtil.uuid());
  93. bisInspRecvUnit.setOrgId(s);
  94. bisInspRecvUnit.setFlagChk("0");
  95. bisInspRecvUnit.setRecvType("COPY");
  96. bisInspRecvUnit.setNtfctnId(uuid);
  97. bisInspRecvUnit.setFlagValid(SplitValue.Flag_Valid);
  98. bisInspRecvUnitDao.insert(bisInspRecvUnit);
  99. }
  100. } else {
  101. BisInspRecvUnit bisInspRecvUnit = new BisInspRecvUnit();
  102. bisInspRecvUnit.setId(UuidUtil.uuid());
  103. bisInspRecvUnit.setOrgId(bisInsNtfctn.getCopyOrgId());
  104. bisInspRecvUnit.setFlagChk("0");
  105. bisInspRecvUnit.setRecvType("COPY");
  106. bisInspRecvUnit.setNtfctnId(uuid);
  107. bisInspRecvUnit.setFlagValid("1");
  108. bisInspRecvUnitDao.insert(bisInspRecvUnit);
  109. }
  110. }
  111. return bisInsNtfctn;
  112. }
  113. @Override
  114. public List<BisInsNtfctnDto> queryNtfctn(BisInsNtfctnParam bisInsNtfctnParam) {
  115. List<BisInsNtfctnDto> bisInsNtfctnDtoList = bisInsNtfctnDao.queryNtfctn(bisInsNtfctnParam);
  116. if (bisInsNtfctnDtoList.size() > 0) {
  117. //获取接收单位
  118. for (BisInsNtfctnDto bisInsNtfctnDto : bisInsNtfctnDtoList) {
  119. List<BisInspRecvUnit> bisInspRecvUnitList = bisInspRecvUnitDao.findListByNtfctnId(bisInsNtfctnDto.getId(),bisInsNtfctnParam.getOrgId());
  120. bisInsNtfctnDto.setBisInspRecvUnitList(bisInspRecvUnitList);
  121. List<GwComFile> gwComFileList = gwComFileDao.findFileByBiz(bisInsNtfctnDto.getId());
  122. bisInsNtfctnDto.setGwComFileList(gwComFileList);
  123. }
  124. }
  125. return bisInsNtfctnDtoList;
  126. }
  127. @Override
  128. public int updateNtfctnAndRecv(BisInsNtfctn bisInsNtfctn) {
  129. this.bisInsNtfctnDao.update(bisInsNtfctn);
  130. bisInsNtfctn = bisInsNtfctnDao.get(bisInsNtfctn.getId());
  131. String groupId = bisInsNtfctn.getInspType();
  132. String year = String.valueOf(bisInsNtfctn.getPlanYr());
  133. if(SplitValue.Flag_Valid.equals(bisInsNtfctn.getSendState())){
  134. String orgIds = "027,029,041,042";
  135. this.setGroupAndSysUsers(groupId,year,orgIds);
  136. }
  137. if (StringUtils.isBlank(bisInsNtfctn.getRecvOrgId())) {
  138. String recvUnit = bisInspRecvUnitDao.getRecvUnit("RECV",bisInsNtfctn.getId());
  139. bisInsNtfctn.setRecvOrgId(recvUnit);
  140. }
  141. if (StringUtils.isBlank(bisInsNtfctn.getCopyOrgId())) {
  142. String recvUnit = bisInspRecvUnitDao.getRecvUnit("COPY",bisInsNtfctn.getId());
  143. bisInsNtfctn.setCopyOrgId(recvUnit);
  144. }
  145. if (StringUtils.isNotBlank(bisInsNtfctn.getRecvOrgId())) {
  146. BisInspRecvUnitParam bisInspRecvUnitParam = new BisInspRecvUnitParam();
  147. bisInspRecvUnitParam.setNtfctnId(bisInsNtfctn.getId());
  148. bisInspRecvUnitParam.setRecvType("RECV");
  149. this.bisInspRecvUnitDao.deleteBy(bisInspRecvUnitParam);
  150. if (bisInsNtfctn.getRecvOrgId().contains(",")) {
  151. String[] split = bisInsNtfctn.getRecvOrgId().split(",");
  152. for (String s : split) {
  153. BisInspRecvUnit bisInspRecvUnit = new BisInspRecvUnit();
  154. bisInspRecvUnit.setId(UuidUtil.uuid());
  155. bisInspRecvUnit.setOrgId(s);
  156. bisInspRecvUnit.setFlagChk("0");
  157. bisInspRecvUnit.setRecvType("RECV");
  158. bisInspRecvUnit.setNtfctnId(bisInsNtfctn.getId());
  159. bisInspRecvUnit.setFlagValid(SplitValue.Flag_Valid);
  160. bisInspRecvUnitDao.insert(bisInspRecvUnit);
  161. groupId = bisInsNtfctn.getInspType() + s;
  162. String orgIds = s;
  163. this.setGroupAndSysUsers(groupId,year,orgIds);
  164. }
  165. } else {
  166. BisInspRecvUnit bisInspRecvUnit = new BisInspRecvUnit();
  167. bisInspRecvUnit.setId(UuidUtil.uuid());
  168. bisInspRecvUnit.setOrgId(bisInsNtfctn.getRecvOrgId());
  169. bisInspRecvUnit.setFlagChk("0");
  170. bisInspRecvUnit.setRecvType("RECV");
  171. bisInspRecvUnit.setNtfctnId(bisInsNtfctn.getId());
  172. bisInspRecvUnit.setFlagValid(SplitValue.Flag_Valid);
  173. bisInspRecvUnitDao.insert(bisInspRecvUnit);
  174. groupId = bisInsNtfctn.getInspType() + bisInsNtfctn.getRecvOrgId();
  175. String orgIds = bisInsNtfctn.getRecvOrgId();
  176. this.setGroupAndSysUsers(groupId,year,orgIds);
  177. }
  178. }
  179. if (StringUtils.isNotBlank(bisInsNtfctn.getCopyOrgId())) {
  180. BisInspRecvUnitParam bisInspRecvUnitParam = new BisInspRecvUnitParam();
  181. bisInspRecvUnitParam.setNtfctnId(bisInsNtfctn.getId());
  182. bisInspRecvUnitParam.setRecvType("COPY");
  183. this.bisInspRecvUnitDao.deleteBy(bisInspRecvUnitParam);
  184. if (bisInsNtfctn.getCopyOrgId().contains(SplitValue.DOUHAO_SPLIT)) {
  185. String[] split = bisInsNtfctn.getCopyOrgId().split(SplitValue.DOUHAO_SPLIT);
  186. for (String s : split) {
  187. BisInspRecvUnit bisInspRecvUnit = new BisInspRecvUnit();
  188. bisInspRecvUnit.setId(UuidUtil.uuid());
  189. bisInspRecvUnit.setOrgId(s);
  190. bisInspRecvUnit.setFlagChk("0");
  191. bisInspRecvUnit.setRecvType("COPY");
  192. bisInspRecvUnit.setNtfctnId(bisInsNtfctn.getId());
  193. bisInspRecvUnit.setFlagValid("1");
  194. bisInspRecvUnitDao.insert(bisInspRecvUnit);
  195. }
  196. } else {
  197. BisInspRecvUnit bisInspRecvUnit = new BisInspRecvUnit();
  198. bisInspRecvUnit.setId(UuidUtil.uuid());
  199. bisInspRecvUnit.setOrgId(bisInsNtfctn.getCopyOrgId());
  200. bisInspRecvUnit.setFlagChk("0");
  201. bisInspRecvUnit.setRecvType("COPY");
  202. bisInspRecvUnit.setNtfctnId(bisInsNtfctn.getId());
  203. bisInspRecvUnit.setFlagValid("1");
  204. bisInspRecvUnitDao.insert(bisInspRecvUnit);
  205. }
  206. }
  207. return 0;
  208. }
  209. @Override
  210. public NtfctnAndDvdwkDto queryNtfctnById(String id, String orgId) {
  211. NtfctnAndDvdwkDto ntfctnAndDvdwkDto = this.bisInsNtfctnDao.getNtfcById(id);
  212. BisInspDvdwkParam bisInspDvdwkParam = new BisInspDvdwkParam();
  213. bisInspDvdwkParam.setSchmId(id);
  214. //获取工作方案分工
  215. List<BisInspDvdwk> bisInspDvdwkList = this.bisInspDvdwkDao.findList(bisInspDvdwkParam);
  216. if(bisInspDvdwkList.size()>0) {
  217. ntfctnAndDvdwkDto.setBisInspDvdwkList(bisInspDvdwkList);
  218. }
  219. //获取接收单位
  220. List<BisInspRecvUnit> bisInspRecvUnitList = bisInspRecvUnitDao.findListByNtfctnId(id,orgId);
  221. if(bisInspRecvUnitList.size()>0){
  222. ntfctnAndDvdwkDto.setBisInspRecvUnitList(bisInspRecvUnitList);
  223. }
  224. List<GwComFile> gwComFileList = gwComFileDao.findFileByBiz(id);
  225. if(gwComFileList.size()>0) {
  226. ntfctnAndDvdwkDto.setGwComFileList(gwComFileList);
  227. }
  228. return ntfctnAndDvdwkDto;
  229. }
  230. @Override
  231. public PageInfo<NtfctnDvdwkDto> queryNtfctnAndDvdwk(BisInsNtfctnParam bisInsNtfctnParam) {
  232. PageHelper.startPage(bisInsNtfctnParam);
  233. List<NtfctnDvdwkDto> list = this.bisInsNtfctnDao.queryNtfctnAndDvdwk(bisInsNtfctnParam);
  234. PageInfo<NtfctnDvdwkDto> pageInfo = new PageInfo(list);
  235. return pageInfo;
  236. }
  237. public void setGroupAndSysUsers(String groupId,String year, String orgIds){
  238. BisInspAll bisInspAll = bisInspAllDao.get(groupId);
  239. if(bisInspAll==null){
  240. bisInspAll = new BisInspAll();
  241. if(groupId.length()==3){
  242. bisInspAll.setId(groupId);
  243. bisInspAll.setPid("0");
  244. AttInspType attInspType = attInspTypeDao.get(groupId);
  245. bisInspAll.setPnm(attInspType.getName());
  246. bisInspAll.setInspYear(year);
  247. bisInspAllDao.insert(bisInspAll);
  248. }else if(groupId.length()==6){
  249. if(orgIds.contains(SplitValue.DOUHAO_SPLIT)){
  250. String[] orgIdList = orgIds.split(SplitValue.DOUHAO_SPLIT);
  251. for (String orgId:orgIdList) {
  252. BisInspOrg bisInspOrg = bisInspOrgDao.get(orgId);
  253. bisInspAll = new BisInspAll();
  254. bisInspAll.setId(groupId);
  255. bisInspAll.setPid("0");
  256. if(bisInspOrg!=null){
  257. bisInspAll.setPnm(bisInspOrg.getOrgNm());
  258. }
  259. bisInspAll.setInspYear(year);
  260. bisInspAllDao.insert(bisInspAll);
  261. }
  262. }else {
  263. BisInspOrg bisInspOrg = bisInspOrgDao.get(orgIds);
  264. bisInspAll = new BisInspAll();
  265. bisInspAll.setId(groupId);
  266. bisInspAll.setPid("0");
  267. if(bisInspOrg!=null){
  268. bisInspAll.setPnm(bisInspOrg.getOrgNm());
  269. }
  270. bisInspAll.setInspYear(year);
  271. bisInspAllDao.insert(bisInspAll);
  272. }
  273. }
  274. }
  275. Map<String, Object> bisInspAllRlationPersParam = new HashMap<>(10);
  276. bisInspAllRlationPersParam.put("orgIds",orgIds);
  277. bisInspAllRlationPersParam.put("persTypes","1,2");
  278. List<Map<String, Object>> list = bisInspAllRlationPersDao.getSysUsers(bisInspAllRlationPersParam);
  279. for (Map<String, Object> pers:list) {
  280. String persId = String.valueOf(pers.get("GUID"));
  281. String orgId=String.valueOf(pers.get("ORG_ID"));
  282. //查询是否已经建立关系
  283. String adCode=olBisInspOrgService.getProvince(orgId);
  284. BisInspAllRlation bisInspAllRlation = bisInspAllRlationPersDao.getRelationData(persId, groupId,orgId,adCode);
  285. if (bisInspAllRlation == null) {
  286. String type=Integer.parseInt(groupId.substring(0,3))+"";
  287. bisInspAllRlationPersDao.insertRelation(persId, groupId,orgId,adCode,type);
  288. }
  289. }
  290. }
  291. }