ef4bf6cae4a17f6497d7f4d4d11a9178955b96fe.svn-base 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258
  1. package cn.com.goldenwater.dcproj.service.impl.importex;
  2. import cn.com.goldenwater.dcproj.dao.*;
  3. import cn.com.goldenwater.dcproj.model.*;
  4. import cn.com.goldenwater.dcproj.param.BisInspPblmParam;
  5. import cn.com.goldenwater.dcproj.param.ImpPblmInfoParam;
  6. import cn.com.goldenwater.dcproj.param.ImpRsInfoParam;
  7. import cn.com.goldenwater.dcproj.param.ObjInspPblmsParam;
  8. import cn.com.goldenwater.dcproj.service.ImpPblmInfoService;
  9. import cn.com.goldenwater.core.service.AbstractCrudService;
  10. import cn.com.goldenwater.id.util.UuidUtil;
  11. import com.github.pagehelper.PageHelper;
  12. import org.apache.commons.lang3.StringUtils;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.stereotype.Service;
  15. import org.springframework.transaction.annotation.Transactional;
  16. import java.util.List;
  17. /**
  18. * @author lune
  19. * @date 2019-7-23
  20. */
  21. @Service
  22. @Transactional(rollbackFor = Exception.class)
  23. public class ImpPblmInfoServiceImpl extends AbstractCrudService<ImpPblmInfo, ImpPblmInfoParam> implements ImpPblmInfoService {
  24. @Autowired
  25. private ImpPblmInfoDao impPblmInfoDao;
  26. @Autowired
  27. private ImpRsInfoDao impRsInfoDao;
  28. @Autowired
  29. private ObjInspPblmsDao objInspPblmsDao;
  30. @Autowired
  31. private BisInspPblmDao bisInspPblmDao;
  32. @Autowired
  33. private AttRsBaseDao attRsBaseDao;
  34. public ImpPblmInfoServiceImpl(ImpPblmInfoDao impPblmInfoDao) {
  35. super(impPblmInfoDao);
  36. this.impPblmInfoDao = impPblmInfoDao;
  37. }
  38. @Override
  39. public String insertList(List<ImpPblmInfo> list, String mnth) {
  40. int i = 1;
  41. for (ImpPblmInfo impPblmInfo:list) {
  42. impPblmInfo.setSn(i+"");
  43. i++;
  44. impPblmInfo.setId(UuidUtil.uuid());
  45. String proName = impPblmInfo.getProName();
  46. String cityName = impPblmInfo.getCityName();
  47. String countyName = impPblmInfo.getCountyName();
  48. String rsName = impPblmInfo.getRsName();
  49. String pblmDesc = impPblmInfo.getPblmDesc();
  50. String pblmLevl = impPblmInfo.getPblmLevl();
  51. String attach = impPblmInfo.getAttach();
  52. String snNum = impPblmInfo.getPblmSn();
  53. if(snNum.contains(".")){
  54. snNum = snNum.substring(0,snNum.indexOf("."));
  55. impPblmInfo.setPblmSn(snNum);
  56. }
  57. impPblmInfo.setMnth(mnth);
  58. ImpRsInfoParam rsInfoParam = new ImpRsInfoParam();
  59. rsInfoParam.setProName(proName);
  60. rsInfoParam.setCityName(cityName);
  61. rsInfoParam.setCountyName(countyName);
  62. if("重庆".equals(proName)){
  63. rsInfoParam.setCityName("");
  64. rsInfoParam.setCountyName(cityName);
  65. }
  66. rsInfoParam.setRsName(rsName);
  67. rsInfoParam.setMnth(mnth);
  68. int count = impRsInfoDao.selectCount(rsInfoParam);
  69. ImpRsInfo rsInfo;
  70. List<ImpRsInfo> impRsInfoList;
  71. if(count>1){
  72. impRsInfoList = impRsInfoDao.findList(rsInfoParam);
  73. rsInfo = impRsInfoList.get(0);
  74. }else {
  75. rsInfo = impRsInfoDao.getBy(rsInfoParam);
  76. }
  77. if(rsInfo==null){
  78. rsInfoParam.setCountyName("");
  79. count = impRsInfoDao.selectCount(rsInfoParam);
  80. if(count>1){
  81. impRsInfoList = impRsInfoDao.findList(rsInfoParam);
  82. for (ImpRsInfo impRs:impRsInfoList) {
  83. if(rsName.equals(impRs.getRsName())){
  84. rsInfo = impRs;
  85. break;
  86. }
  87. }
  88. }else{
  89. rsInfo = impRsInfoDao.getBy(rsInfoParam);
  90. if(rsInfo==null){
  91. rsInfoParam.setCityName("");
  92. count = impRsInfoDao.selectCount(rsInfoParam);
  93. if(count>1){
  94. impRsInfoList = impRsInfoDao.findList(rsInfoParam);
  95. for (ImpRsInfo impRs:impRsInfoList) {
  96. if(rsName.equals(impRs.getRsName())){
  97. rsInfo = impRs;
  98. break;
  99. }
  100. }
  101. }else {
  102. rsInfo = impRsInfoDao.getBy(rsInfoParam);
  103. if(rsInfo==null){
  104. rsInfoParam.setProName("");
  105. count = impRsInfoDao.selectCount(rsInfoParam);
  106. if(count>1){
  107. impRsInfoList = impRsInfoDao.findList(rsInfoParam);
  108. for (ImpRsInfo impRs:impRsInfoList) {
  109. if(rsName.equals(impRs.getRsName())){
  110. rsInfo = impRs;
  111. break;
  112. }
  113. }
  114. }else {
  115. rsInfo = impRsInfoDao.getBy(rsInfoParam);
  116. if(rsInfo==null){
  117. if(rsName.contains("水库")){
  118. String name = rsName.replaceAll("水库","");
  119. rsInfoParam.setRsName(name);
  120. count = impRsInfoDao.selectCount(rsInfoParam);
  121. if(count>1){
  122. impRsInfoList = impRsInfoDao.findList(rsInfoParam);
  123. for (ImpRsInfo impRs:impRsInfoList) {
  124. if(rsName.equals(impRs.getRsName())){
  125. rsInfo = impRs;
  126. break;
  127. }
  128. }
  129. }else {
  130. rsInfo = impRsInfoDao.getBy(rsInfoParam);
  131. }
  132. }
  133. }
  134. }
  135. }
  136. }
  137. }
  138. }
  139. }
  140. if(rsInfo!=null){
  141. impPblmInfo.setProCode(rsInfo.getProCode());
  142. impPblmInfo.setCityCode(rsInfo.getCityCode());
  143. impPblmInfo.setCountyCode(rsInfo.getCountyCode());
  144. impPblmInfo.setRsCode(rsInfo.getRsCode());
  145. impPblmInfo.setOrgId(rsInfo.getOrgId());
  146. impPblmInfo.setOrgNm(rsInfo.getOrgNm());
  147. impPblmInfo.setOldGroupId(rsInfo.getOldGroupId());
  148. impPblmInfo.setGroupId(rsInfo.getGroupId());
  149. impPblmInfo.setGroupNm(rsInfo.getGroupNm());
  150. impPblmInfo.setRegId(rsInfo.getRegId());
  151. impPblmInfo.setObjId(rsInfo.getObjId());
  152. }
  153. if(attach.contains("附件")){
  154. attach = attach.substring(attach.indexOf("附件")+2);
  155. }
  156. ObjInspPblmsParam objInspPblmsParam = new ObjInspPblmsParam();
  157. objInspPblmsParam.setType("1");
  158. objInspPblmsParam.setAttach(attach);
  159. objInspPblmsParam.setSheet("1");
  160. objInspPblmsParam.setSnNum(snNum);
  161. objInspPblmsParam.setInspPblmCate(pblmLevl);
  162. ObjInspPblms objInspPblms = new ObjInspPblms();
  163. if(StringUtils.isNotBlank(attach)&&StringUtils.isNotBlank(snNum)){
  164. objInspPblms = objInspPblmsDao.getBy(objInspPblmsParam);
  165. if(objInspPblms==null){
  166. objInspPblmsParam.setInspPblmCate("");
  167. count = objInspPblmsDao.selectCount(objInspPblmsParam);
  168. if(count>1){
  169. List<ObjInspPblms> objInspPblmsList = objInspPblmsDao.findList(objInspPblmsParam);
  170. objInspPblms = objInspPblmsList.get(0);
  171. }else {
  172. objInspPblms = objInspPblmsDao.getBy(objInspPblmsParam);
  173. }
  174. }
  175. }
  176. if(objInspPblms!=null){
  177. impPblmInfo.setPblmTypeId(objInspPblms.getGuid());
  178. }
  179. if(StringUtils.isNotBlank(impPblmInfo.getObjId())){
  180. BisInspPblmParam bisInspPblmParam = new BisInspPblmParam();
  181. bisInspPblmParam.setObjType("1");
  182. bisInspPblmParam.setObjId(impPblmInfo.getObjId());
  183. if(pblmDesc.contains(".")){
  184. pblmDesc = pblmDesc.substring(pblmDesc.indexOf(".")+1);
  185. }
  186. bisInspPblmParam.setInspPblmDesc(pblmDesc);
  187. List<BisInspPblm> bisInspPblms = bisInspPblmDao.findList(bisInspPblmParam);
  188. if(bisInspPblms!=null&&bisInspPblms.size()>0){
  189. if(bisInspPblms.size()>1){
  190. bisInspPblmParam.setInspPblmCate(pblmLevl);
  191. bisInspPblms = bisInspPblmDao.findList(bisInspPblmParam);
  192. if(bisInspPblms!=null&&bisInspPblms.size()>0){
  193. String ids = "";
  194. if(bisInspPblms.size()>1){
  195. for (BisInspPblm bisInspPblm:bisInspPblms) {
  196. ids += bisInspPblm.getPblmId()+",";
  197. }
  198. ids = ids.substring(0,ids.length()-1);
  199. }else {
  200. BisInspPblm bisInspPblm = bisInspPblms.get(0);
  201. ids = bisInspPblm.getPblmId();
  202. }
  203. impPblmInfo.setPblmId(ids);
  204. }
  205. }else {
  206. BisInspPblm bisInspPblm = bisInspPblms.get(0);
  207. impPblmInfo.setPblmId(bisInspPblm.getPblmId());
  208. }
  209. }
  210. }
  211. impPblmInfoDao.insert(impPblmInfo);
  212. }
  213. return null;
  214. }
  215. @Override
  216. public String handleRsData(String mnth, String orgId) {
  217. ImpPblmInfoParam impPblmInfoParam = new ImpPblmInfoParam();
  218. impPblmInfoParam.setMnth(mnth);
  219. impPblmInfoParam.setOrgId(orgId);
  220. List<ImpPblmInfo> list = impPblmInfoDao.findList(impPblmInfoParam);
  221. for (ImpPblmInfo impPblmInfo:list) {
  222. String objId = impPblmInfo.getObjId();
  223. String rsCode = impPblmInfo.getRsCode();
  224. String unit = impPblmInfo.getUnit();
  225. if(StringUtils.isNotBlank(rsCode)){
  226. AttRsBase attRsBase = new AttRsBase();
  227. attRsBase.setRsCode(rsCode);
  228. attRsBase.setRsAdmName(unit);
  229. attRsBaseDao.update(attRsBase);
  230. }
  231. String pblmId = impPblmInfo.getPblmId();
  232. String pblmDesc = impPblmInfo.getPblmDesc();
  233. BisInspPblm bisInspPblm = new BisInspPblm();
  234. bisInspPblm.setPblmId(pblmId);
  235. bisInspPblm.setInspPblmDesc(pblmDesc);
  236. if(StringUtils.isNotBlank(pblmId)){
  237. bisInspPblmDao.update(bisInspPblm);
  238. }else {
  239. bisInspPblm.setPblmId(UuidUtil.uuid());
  240. bisInspPblm.setObjId(objId);
  241. bisInspPblm.setObjType("1");
  242. bisInspPblm.setInspGroupId(impPblmInfo.getGroupId());
  243. bisInspPblmDao.insert(bisInspPblm);
  244. }
  245. }
  246. return null;
  247. }
  248. }