fe9304b799a982856e7d4a6530cafe22025c5617.svn-base 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272
  1. package cn.com.goldenwater.dcproj.service.impl.rectpro;
  2. import cn.com.goldenwater.dcproj.dao.*;
  3. import cn.com.goldenwater.dcproj.model.*;
  4. import cn.com.goldenwater.dcproj.param.BisInspRectLogProvinceParam;
  5. import cn.com.goldenwater.dcproj.param.BisInspRectProvinceParam;
  6. import cn.com.goldenwater.dcproj.param.RelOrgInspTypeParam;
  7. import cn.com.goldenwater.dcproj.service.BisInspRectLogProvinceService;
  8. import cn.com.goldenwater.dcproj.service.BisInspRectProvinceService;
  9. import cn.com.goldenwater.core.service.AbstractCrudService;
  10. import cn.com.goldenwater.dcproj.service.GwComFileService;
  11. import com.github.pagehelper.PageHelper;
  12. import com.github.pagehelper.PageInfo;
  13. import org.apache.commons.lang3.StringUtils;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.stereotype.Service;
  16. import org.springframework.transaction.annotation.Transactional;
  17. import cn.com.goldenwater.id.util.UuidUtil;
  18. import java.util.Calendar;
  19. import java.util.List;
  20. import java.util.Date;
  21. /**
  22. * @author lhc
  23. * @date 2020-4-8
  24. */
  25. @Service
  26. @Transactional
  27. public class BisInspRectProvinceServiceImpl extends AbstractCrudService<BisInspRectProvince, BisInspRectProvinceParam> implements BisInspRectProvinceService {
  28. @Autowired
  29. private BisInspRectProvinceDao bisInspRectProvinceDao;
  30. @Autowired
  31. private BisInspAllRlationPersDao bisInspAllRlationPersDao;
  32. @Autowired
  33. private BisInspRectLogProvinceService bisInspRectLogProvinceService;
  34. @Autowired
  35. private BisInspOrgDao bisInspOrgDao;
  36. @Autowired
  37. private RelOrgInspTypeDao relOrgInspTypeDao;
  38. @Autowired
  39. private BisInspPblmDao bisInspPblmDao;
  40. @Autowired
  41. private GwComFileService gwComFileService;
  42. public BisInspRectProvinceServiceImpl(BisInspRectProvinceDao bisInspRectProvinceDao) {
  43. super(bisInspRectProvinceDao);
  44. this.bisInspRectProvinceDao = bisInspRectProvinceDao;
  45. }
  46. @Override
  47. public int insert(BisInspRectProvince bisInspRectProvince) {
  48. String uuid = UuidUtil.uuid(); // 生成uuid
  49. bisInspRectProvince.setId(uuid);
  50. Calendar c = Calendar.getInstance();
  51. Date curDate = c.getTime();
  52. bisInspRectProvince.setRectTm(curDate);
  53. bisInspRectProvince.setIntm(curDate);
  54. bisInspRectProvince.setUptm(curDate);
  55. c.add(Calendar.DAY_OF_MONTH,3);
  56. bisInspRectProvince.setCrrtTm(c.getTime());
  57. bisInspRectProvince.setDataStat("0");
  58. bisInspRectProvince.setState("0");
  59. bisInspRectProvince.setSndOrgId(bisInspRectProvince.getOrgId());
  60. if(StringUtils.isNotBlank(bisInspRectProvince.getSndOrgId())){
  61. BisInspOrg bisInspOrg = bisInspOrgDao.get(bisInspRectProvince.getSndOrgId());
  62. if(null != bisInspOrg){
  63. bisInspRectProvince.setSndOrgName(bisInspOrg.getOrgNm());
  64. }
  65. }
  66. if(StringUtils.isBlank(bisInspRectProvince.getRectOrgName()) && StringUtils.isNotBlank(bisInspRectProvince.getRectOrgId())){
  67. BisInspOrg rectOrg = bisInspOrgDao.get(bisInspRectProvince.getRectOrgId());
  68. if(null != rectOrg){
  69. bisInspRectProvince.setRectOrgName(rectOrg.getOrgNm());
  70. }
  71. }
  72. //插入人员姓名及对应单位
  73. BisInspAllRlationPers bisInspAllRlationPers = bisInspAllRlationPersDao.get(bisInspRectProvince.getPersId());
  74. bisInspRectProvince.setPersName(bisInspAllRlationPers.getPersName());
  75. return this.bisInspRectProvinceDao.insert(bisInspRectProvince);
  76. }
  77. @Override
  78. public int update(BisInspRectProvince bisInspRectProvince) {
  79. bisInspRectProvince.setUptm(new Date());
  80. BisInspRectProvince bisInspRectProvinceTemp = this.bisInspRectProvinceDao.get(bisInspRectProvince.getId());
  81. //如果状态不为空的话,并且要改变状态 就插入日志记录
  82. if (StringUtils.isNotBlank(bisInspRectProvince.getState()) && !bisInspRectProvinceTemp.getState().equals(bisInspRectProvince.getState())) {
  83. String persId = bisInspRectProvince.getCurentPersId();
  84. String actionDesc = "";//操作描述
  85. switch (bisInspRectProvince.getState()) {
  86. case "0":
  87. actionDesc = "未提交监督处";
  88. break;
  89. case "1":
  90. actionDesc = "监督处审核";
  91. break;
  92. case "2":
  93. actionDesc = "监督处驳回";
  94. break;
  95. case "3":
  96. actionDesc = "监督处下发";
  97. break;
  98. case "4":
  99. actionDesc = "市提交";
  100. break;
  101. case "5":
  102. actionDesc = "业务处室驳回";
  103. break;
  104. case "6":
  105. actionDesc = "业务处室提交";
  106. break;
  107. case "7":
  108. actionDesc = "监督处归档";
  109. break;
  110. }
  111. BisInspRectLogProvince bisInspRectLogProvince = new BisInspRectLogProvince();
  112. BisInspAllRlationPers bisInspAllRlationPers = bisInspAllRlationPersDao.get(persId);
  113. bisInspRectLogProvince.setPersId(persId);
  114. bisInspRectLogProvince.setRectId(bisInspRectProvince.getId());
  115. bisInspRectLogProvince.setActionDes(actionDesc);
  116. bisInspRectLogProvince.setNote(bisInspRectProvince.getLogNote());
  117. bisInspRectLogProvince.setPersName(bisInspAllRlationPers.getPersName());
  118. bisInspRectLogProvince.setState(bisInspRectProvince.getState());
  119. bisInspRectLogProvince.setOrgId(bisInspRectProvince.getCurentPersIdOrgId());
  120. BisInspOrg bisInspOrg = bisInspOrgDao.get(bisInspRectProvince.getCurentPersIdOrgId());
  121. bisInspRectLogProvince.setOrgName(bisInspOrg.getOrgNm());
  122. bisInspRectLogProvinceService.insert(bisInspRectLogProvince);
  123. }
  124. //反馈人员的id 不为空插入对应的名字
  125. if (StringUtils.isNotBlank(bisInspRectProvince.getRectPersId())) {
  126. BisInspAllRlationPers bisInspAllRlationPers = bisInspAllRlationPersDao.get(bisInspRectProvince.getRectPersId());
  127. bisInspRectProvince.setRectPersName(bisInspAllRlationPers.getPersName());
  128. }
  129. //更新不更新插入人信息
  130. bisInspRectProvince.setPersName("");
  131. bisInspRectProvince.setPersId("");
  132. return this.bisInspRectProvinceDao.update(bisInspRectProvince);
  133. }
  134. @Override
  135. public Object getCommonSingle(String pblmId, String pType) {
  136. List<GwComFile> comFileList = gwComFileService.findFileByBiz(pblmId);
  137. if ("4".equals(pType) || "7".equals(pType)) {
  138. KeyRegPblm inspPblm = bisInspPblmDao.getOnePblm(pblmId, pType);
  139. inspPblm.setGwComFiles(comFileList);
  140. return inspPblm;
  141. }
  142. BisInspPblm pblm = bisInspPblmDao.getCommonSingle(pblmId, pType);
  143. pblm.setGwComFiles(comFileList);
  144. return pblm;
  145. }
  146. @Override
  147. public int setFileNull(String id) {
  148. return this.bisInspRectProvinceDao.setFileNull(id);
  149. }
  150. @Override
  151. public PageInfo<BisInspRectProvince> getPageInfo(BisInspRectProvinceParam bisInspRectProvinceParam) {
  152. //判断当前机构ID来处理条件
  153. BisInspOrg bisInspOrg = bisInspOrgDao.get(bisInspRectProvinceParam.getCurentPersIdOrgId());
  154. String state = "";//通知状态
  155. String sndOrg = "";
  156. String rectOrg = "";
  157. String satOrg = "";
  158. switch (bisInspOrg.getOrgType()) {
  159. case "1":
  160. state = StringUtils.isBlank(bisInspRectProvinceParam.getState()) ? "" : bisInspRectProvinceParam.getState();
  161. sndOrg = "";
  162. break;
  163. case "2":
  164. //省监督处
  165. state = StringUtils.isBlank(bisInspRectProvinceParam.getState()) ? "1,2,3,4,5,6,7" : bisInspRectProvinceParam.getState();
  166. sndOrg = "";
  167. break;
  168. case "3":
  169. //省和业务处室 可以看到所有
  170. state = StringUtils.isBlank(bisInspRectProvinceParam.getState()) ? "0,1,2,3,4,5,6,7" : bisInspRectProvinceParam.getState();
  171. sndOrg = bisInspRectProvinceParam.getCurentPersIdOrgId();
  172. break;
  173. case "4":
  174. //市
  175. state = StringUtils.isBlank(bisInspRectProvinceParam.getState()) ? "3,4,5,6,7" : bisInspRectProvinceParam.getState();
  176. rectOrg = bisInspRectProvinceParam.getCurentPersIdOrgId();
  177. break;
  178. case "5":
  179. //县
  180. state = StringUtils.isBlank(bisInspRectProvinceParam.getState()) ? "3,4,5,6,7" : bisInspRectProvinceParam.getState();
  181. satOrg = bisInspRectProvinceParam.getCurentPersIdOrgId();
  182. break;
  183. default:
  184. break;
  185. }
  186. bisInspRectProvinceParam.setOrgId(sndOrg);
  187. bisInspRectProvinceParam.setState(state);
  188. bisInspRectProvinceParam.setRectOrgId(rectOrg);
  189. PageHelper.startPage(bisInspRectProvinceParam.getPageNum(), bisInspRectProvinceParam.getPageSize());
  190. List<BisInspRectProvince> bisInspRects = bisInspRectProvinceDao.findList(bisInspRectProvinceParam);
  191. for (BisInspRectProvince bisInspRectProvince : bisInspRects) {
  192. String rectId = bisInspRectProvince.getId();
  193. BisInspRectLogProvinceParam bisInspRectLogProvinceParam = new BisInspRectLogProvinceParam();
  194. bisInspRectLogProvinceParam.setRectId(rectId);
  195. List<BisInspRectLogProvince> bisInspRectLogProvinces = bisInspRectLogProvinceService.findList(bisInspRectLogProvinceParam);
  196. bisInspRectProvince.setBisInspRectLogProvinces(bisInspRectLogProvinces);
  197. }
  198. return new PageInfo<BisInspRectProvince>(bisInspRects);
  199. }
  200. @Override
  201. public int delete(String id) {
  202. return this.bisInspRectProvinceDao.delete(id);
  203. }
  204. @Override
  205. public List<BisInspRectProvince> findList(BisInspRectProvinceParam bisInspRectProvinceParam) {
  206. //判断当前机构ID来处理条件
  207. BisInspOrg bisInspOrg = bisInspOrgDao.get(bisInspRectProvinceParam.getCurentPersIdOrgId());
  208. String state = bisInspRectProvinceParam.getState();
  209. //通知状态
  210. String sndOrg = "";
  211. String rectOrg = "";
  212. switch (bisInspOrg.getOrgType()) {
  213. case "1":
  214. case "3":
  215. //省和业务处室 可以看到所有
  216. if(StringUtils.isBlank(state)){
  217. state = "";
  218. }
  219. sndOrg = "";
  220. break;
  221. case "2":
  222. //省监督处
  223. if(StringUtils.isBlank(state)){
  224. state = "1,2,3,4,5,6,7";
  225. }
  226. sndOrg = "";
  227. break;
  228. case "4":
  229. //市
  230. if(StringUtils.isBlank(state)){
  231. state = "2,3,4,5,6,7";
  232. }
  233. rectOrg = bisInspRectProvinceParam.getCurentPersIdOrgId();
  234. break;
  235. case "5":
  236. //县
  237. if(StringUtils.isBlank(state)){
  238. state = "2,3,4,5,6,7";
  239. }
  240. rectOrg = bisInspRectProvinceParam.getCurentPersIdOrgId();
  241. break;
  242. default:
  243. break;
  244. }
  245. bisInspRectProvinceParam.setOrgId(sndOrg);
  246. bisInspRectProvinceParam.setState(state);
  247. bisInspRectProvinceParam.setRectOrgId(rectOrg);
  248. List<BisInspRectProvince> bisInspRectProvinces = this.bisInspRectProvinceDao.findList(bisInspRectProvinceParam);
  249. for (BisInspRectProvince bisInspRectProvince : bisInspRectProvinces) {
  250. String rectId = bisInspRectProvince.getId();
  251. BisInspRectLogProvinceParam bisInspRectLogProvinceParam = new BisInspRectLogProvinceParam();
  252. bisInspRectLogProvinceParam.setRectId(rectId);
  253. List<BisInspRectLogProvince> bisInspRectLogProvinces = bisInspRectLogProvinceService.findList(bisInspRectLogProvinceParam);
  254. bisInspRectProvince.setBisInspRectLogProvinces(bisInspRectLogProvinces);
  255. }
  256. return bisInspRectProvinces;
  257. }
  258. }