7c62f4e3536ad9663d14ee05e64b28512fcf224d.svn-base 55 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052
  1. package cn.com.goldenwater.dcproj.controller.index;
  2. import cn.com.goldenwater.core.web.BaseController;
  3. import cn.com.goldenwater.core.web.BaseResponse;
  4. import cn.com.goldenwater.dcproj.vo.PblmObj;
  5. import cn.com.goldenwater.dcproj.vo.RsvrObj;
  6. import cn.com.goldenwater.dcproj.dto.ExcelInspPersDto;
  7. import cn.com.goldenwater.dcproj.model.*;
  8. import cn.com.goldenwater.dcproj.param.*;
  9. import cn.com.goldenwater.dcproj.service.*;
  10. import cn.com.goldenwater.dcproj.utils.LoadExcel;
  11. import cn.com.goldenwater.id.util.UuidUtil;
  12. import org.apache.commons.lang3.StringUtils;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.web.bind.annotation.GetMapping;
  15. import org.springframework.web.bind.annotation.PathVariable;
  16. import org.springframework.web.bind.annotation.RequestMapping;
  17. import org.springframework.web.bind.annotation.RestController;
  18. import java.text.SimpleDateFormat;
  19. import java.util.*;
  20. /**
  21. * 只作为excel数据定制化业务处理
  22. */
  23. @RestController
  24. @RequestMapping("/excel")
  25. public class ImportExcelController extends BaseController {
  26. @Autowired
  27. private BisInspRsvrRgstrService rsvrRgstrService;
  28. @Autowired
  29. private BisInspAllObjService objService;
  30. @Autowired
  31. private AttRsBaseService attRsBaseService;
  32. @Autowired
  33. private BisInspRsvrProjectService rsvrProjectService;
  34. @Autowired
  35. private BisInspAllService inspAllService;
  36. @Autowired
  37. private AttAdXBaseService attAdXBaseService;
  38. @Autowired
  39. private BisInspSelAreaService bisInspSelAreaService;
  40. @Autowired
  41. private BisInspAllRlationPersService bisInspAllRlationPersService;
  42. @Autowired
  43. private BisInspAllRlationService bisInspAllRlationService;
  44. @GetMapping("/getExcelPers/{month}")
  45. public BaseResponse getExcelPers(@PathVariable String month) throws Exception {
  46. String filePath = "D:\\data\\" + month + "月小水库附表1-6.xlsx";
  47. List<RsvrObj> rsBaseParamList = new ArrayList<>();
  48. Map<String, Object> params = new HashMap<>();
  49. List<ExcelInspPersDto> inspPersDtos = LoadExcel.getExcelPers(filePath);
  50. String iOrgId = "";
  51. String iSheng = "";
  52. String iShengCode = "";
  53. String iPersName = "";
  54. String iPersId = "";
  55. String iGroupId = "";
  56. for (ExcelInspPersDto pers : inspPersDtos) {
  57. String sheng = pers.getGroName();
  58. String shengCode = getAdCd(sheng, "", "");
  59. String orgId = pers.getOrgId();
  60. String persName = pers.getHeadman();
  61. String persId = "";
  62. //把人员进行数据库匹配,如果匹配不上则新增,返回每个人员的id
  63. Map<String, String> map = this.addPers(pers);
  64. persId = map.get("one");
  65. BisInspAllParam bisInspAllParam = new BisInspAllParam();
  66. BisInspAll bisInspAll;
  67. bisInspAllParam.setInspYear("2019");
  68. bisInspAllParam.setInspMnth("0" + month);
  69. String pid = "001" + orgId;//6位
  70. //如果是Excel中该机构第一条数据,则把该机构下本月所有批次和所有的组删除
  71. if (!iOrgId.equals(orgId)) {
  72. iOrgId = orgId;
  73. bisInspAllParam.setId(pid + "0");
  74. //inspAllService.deleteBy(bisInspAllParam);
  75. }
  76. bisInspAllParam.setId("");
  77. bisInspAllParam.setPid(pid);
  78. //查询该机构本月批次,因为之前已经把该机构下所有批次及组都删除了,只新增了一个批次,所以可以用getBy获取单个批次
  79. BisInspAll bisInspAlls = inspAllService.getBy(bisInspAllParam);
  80. //如果该机构本月下有批次,则新建督查组并记录组id
  81. String groupId = "";
  82. if (bisInspAlls != null) {
  83. pid = bisInspAlls.getId();//9位
  84. bisInspAllParam.setPid(pid);
  85. //查找批次下的督查组的最大ID
  86. String maxId = inspAllService.selectMax(bisInspAllParam);
  87. if (StringUtils.isBlank(maxId)) {
  88. maxId = pid + "001";
  89. } else {
  90. maxId = "00" + (Integer.parseInt(maxId) + 1);
  91. }
  92. groupId = maxId;
  93. //查找批次下该省份的督查组数量
  94. bisInspAllParam.setPnm(sheng);
  95. int count = inspAllService.selectCount(bisInspAllParam);
  96. //督查组名称为省份加顺序号
  97. String pNm = sheng + (count + 1) + "组";
  98. bisInspAll = new BisInspAll();
  99. bisInspAll.setId(maxId);
  100. bisInspAll.setPid(pid);
  101. bisInspAll.setPnm(pNm);
  102. Date date = new SimpleDateFormat("yyyy/MM/dd").parse("2019/0" + month + "/30");
  103. bisInspAll.setEntm(date);
  104. date = new SimpleDateFormat("yyyy/MM/dd").parse("2019/0" + month + "/01");
  105. bisInspAll.setSttm(date);
  106. bisInspAll.setInspYear("2019");
  107. bisInspAll.setInspMnth("0" + month);
  108. bisInspAll.setInspTask(shengCode);
  109. inspAllService.insert(bisInspAll);
  110. System.out.println("新增bis_insp_all p&c" + pNm);
  111. }
  112. //如果没有有对应批次则新建批次和督查组
  113. else {
  114. bisInspAll = new BisInspAll();
  115. Date date = new SimpleDateFormat("yyyy/MM/dd").parse("2019/0" + month + "/30");
  116. bisInspAll.setEntm(date);
  117. date = new SimpleDateFormat("yyyy/MM/dd").parse("2019/0" + month + "/01");
  118. bisInspAll.setSttm(date);
  119. BisInspAllParam newInspAllParam = new BisInspAllParam();
  120. newInspAllParam.setInspYear("2019");
  121. newInspAllParam.setInspMnth("");
  122. newInspAllParam.setPid(pid);
  123. String maxId = inspAllService.selectMax(newInspAllParam);
  124. if (StringUtils.isBlank(maxId)) {
  125. maxId = pid + "001";
  126. } else {
  127. maxId = "00" + (Integer.parseInt(maxId) + 1);
  128. }
  129. groupId = maxId;
  130. bisInspAll.setId(maxId);
  131. bisInspAll.setPid(pid);
  132. bisInspAll.setInspYear("2019");
  133. bisInspAll.setInspMnth("0" + month);
  134. bisInspAll.setPnm("2019年" + month + "月督查工作");
  135. inspAllService.insert(bisInspAll);
  136. String litter = maxId + "001";
  137. bisInspAll.setId(litter);
  138. bisInspAll.setPid(maxId);
  139. bisInspAll.setPnm(sheng + "1组");
  140. bisInspAll.setInspTask(shengCode);
  141. inspAllService.insert(bisInspAll);
  142. System.out.println("新增bis_insp_all p&c" + sheng + "1组");
  143. }
  144. //把督查组与省份关联起来
  145. BisInspSelAreaParam selAreaParam = new BisInspSelAreaParam();
  146. selAreaParam.setAdCode(shengCode);
  147. selAreaParam.setId(groupId);
  148. //首先查询督查组与该省份是否已经关联
  149. List<BisInspSelArea> selAreas = bisInspSelAreaService.findList(selAreaParam);
  150. if (selAreas == null || selAreas.size() == 0) {
  151. BisInspSelArea selArea = new BisInspSelArea();
  152. selArea.setId(groupId);
  153. selArea.setAdName(sheng);
  154. selArea.setAdCode(shengCode);
  155. bisInspSelAreaService.insert(selArea);
  156. }
  157. //把人员与督查组关联起来,首先清空该组下的人员关系
  158. BisInspAllRlationParam rlationParam = new BisInspAllRlationParam();
  159. rlationParam.setId(groupId);
  160. bisInspAllRlationService.deleteBy(rlationParam);
  161. BisInspAllRlation rlation = new BisInspAllRlation();
  162. rlation.setId(groupId);
  163. rlation.setPersid(map.get("one"));
  164. rlation.setPertype("1");
  165. bisInspAllRlationService.insert(rlation);
  166. rlation.setPersid(map.get("two"));
  167. rlation.setPertype("2");
  168. bisInspAllRlationService.insert(rlation);
  169. rlation.setPersid(map.get("three"));
  170. rlation.setPertype("3");
  171. bisInspAllRlationService.insert(rlation);
  172. }
  173. List<RsvrObj> rsvrObjList = LoadExcel.getRsvrObjList(filePath);
  174. int count = 0;
  175. for (RsvrObj obj : rsvrObjList) {
  176. String rsCode = "";
  177. String country = obj.getCountry();
  178. obj.setRsvrNm(obj.getRsvrNm().replace("水库水库", "水库"));
  179. String localtion = obj.getProvince() + "-" + obj.getCity() + "-" + country;
  180. if (!obj.getProvince().contains("省")) {
  181. if (!obj.getCity().endsWith("市")) {
  182. localtion = obj.getProvince() + "省-" + obj.getCity() + "市-" + country;
  183. } else {
  184. localtion = obj.getProvince() + "省-" + obj.getCity() + "-" + country;
  185. }
  186. }
  187. String adCd = getAdCd(obj.getProvince(), obj.getCity(), country);
  188. String rsName = obj.getRsvrNm();
  189. String guiMo = obj.getGuimo();
  190. AttRsBaseParam rsBaseParam = new AttRsBaseParam();
  191. rsBaseParam.setAdmDiv(adCd);
  192. rsBaseParam.setRsName(rsName);
  193. List<AttRsBase> rsBaseList = attRsBaseService.findRsList(rsBaseParam);
  194. BisInspRsvrRgstrParam bisInspRsvrRgstrParam = new BisInspRsvrRgstrParam();
  195. bisInspRsvrRgstrParam.setAdCode(adCd);
  196. bisInspRsvrRgstrParam.setRsvrNm(rsName);
  197. List<BisInspRsvrRgstr> rsvrRgstrs = rsvrRgstrService.findList(bisInspRsvrRgstrParam);
  198. if (rsBaseList == null || rsBaseList.isEmpty()) {
  199. if (rsvrRgstrs == null || rsvrRgstrs.isEmpty()) {
  200. rsBaseParam.setAdmDiv(adCd.substring(0, 4));
  201. rsBaseParam.setLocation(localtion);
  202. rsBaseList = attRsBaseService.findRsList(rsBaseParam);
  203. if (rsBaseList == null || rsBaseList.isEmpty()) {
  204. bisInspRsvrRgstrParam.setAdCode(adCd.substring(0, 4));
  205. bisInspRsvrRgstrParam.setLocation(localtion);
  206. rsvrRgstrs = rsvrRgstrService.findList(bisInspRsvrRgstrParam);
  207. if (rsvrRgstrs == null || rsvrRgstrs.isEmpty()) {
  208. rsBaseParam.setAdmDiv(adCd.substring(0, 2));
  209. rsBaseParam.setLocation("");
  210. rsBaseList = attRsBaseService.findRsList(rsBaseParam);
  211. if (rsBaseList == null || rsBaseList.isEmpty()) {
  212. bisInspRsvrRgstrParam.setAdCode(adCd.substring(0, 2));
  213. bisInspRsvrRgstrParam.setLocation("");
  214. rsvrRgstrs = rsvrRgstrService.findList(bisInspRsvrRgstrParam);
  215. if (rsvrRgstrs == null || rsvrRgstrs.isEmpty()) {
  216. System.out.println("缺失:" + obj.toString());
  217. } else {
  218. if (rsvrRgstrs.size() > 0) {
  219. System.out.println("查询出多条水库:" + rsvrRgstrs.toString());
  220. }
  221. rsCode = rsvrRgstrs.get(0).getRsCode();
  222. }
  223. } else {
  224. if (rsBaseList.size() > 0) {
  225. System.out.println("查询出多条水库:" + rsBaseList.toString());
  226. }
  227. rsCode = rsBaseList.get(0).getRsCode();
  228. }
  229. } else {
  230. if (rsvrRgstrs.size() > 0) {
  231. System.out.println("查询出多条水库:" + rsvrRgstrs.toString());
  232. }
  233. rsCode = rsvrRgstrs.get(0).getRsCode();
  234. }
  235. } else {
  236. if (rsBaseList.size() > 0) {
  237. System.out.println("查询出多条水库:" + rsBaseList.toString());
  238. }
  239. rsCode = rsBaseList.get(0).getRsCode();
  240. }
  241. } else {
  242. if (rsvrRgstrs.size() > 0) {
  243. System.out.println("查询出多条水库:" + rsvrRgstrs.toString());
  244. }
  245. rsCode = rsvrRgstrs.get(0).getRsCode();
  246. }
  247. } else {
  248. if (rsBaseList.size() > 0) {
  249. System.out.println("查询出多条水库:" + rsBaseList.toString());
  250. rsBaseParam.setEngScal(guiMo);
  251. rsBaseList = attRsBaseService.findRsList(rsBaseParam);
  252. }
  253. rsCode = rsBaseList.get(0).getRsCode();
  254. }
  255. if (rsBaseList == null || rsBaseList.isEmpty()) {
  256. if (rsvrRgstrs == null || rsvrRgstrs.isEmpty()) {
  257. System.out.println("缺失:" + obj.toString());
  258. } else {
  259. }
  260. }
  261. }
  262. params.put("count", rsBaseParamList.size());
  263. params.put("data", rsBaseParamList);
  264. return buildSuccessResponse(params);
  265. }
  266. @GetMapping("/get/{month}")
  267. public BaseResponse getExcel(@PathVariable String month) throws Exception {
  268. String filePath = "D:\\data\\" + month + "月小水库附表1-6.xlsx";
  269. List<RsvrObj> rsBaseParamList = new ArrayList<>();
  270. Map<String, Object> params = new HashMap<>();
  271. String result = "";
  272. List<RsvrObj> rsvrObjList = LoadExcel.getRsvrObjList(filePath);
  273. int count = 0;
  274. for (RsvrObj obj : rsvrObjList) {
  275. String rsCode = "";
  276. String regId = "";
  277. String country = obj.getCountry();
  278. obj.setRsvrNm(obj.getRsvrNm().replace("水库水库", "水库"));
  279. String localtion = obj.getProvince() + "-" + obj.getCity() + "-" + country;
  280. if (!obj.getProvince().contains("省")) {
  281. if (!obj.getCity().endsWith("市")) {
  282. localtion = obj.getProvince() + "省-" + obj.getCity() + "市-" + country;
  283. } else {
  284. localtion = obj.getProvince() + "省-" + obj.getCity() + "-" + country;
  285. }
  286. }
  287. String adCd = getAdCd(obj.getProvince(), obj.getCity(), country);
  288. Map<String, String> ads = getAdCds(obj.getProvince(), obj.getCity(), country);
  289. obj.setProvinceCode(ads.get("sheng"));
  290. obj.setCityCode(ads.get("shi"));
  291. obj.setCountryCode(ads.get("xian"));
  292. if (ads.get("xian") != null) {
  293. adCd = ads.get("xian");
  294. }
  295. String rsName = obj.getRsvrNm();
  296. if (!rsName.contains("水库") && !rsName.contains("库")) {
  297. rsName += "水库";
  298. }
  299. String guiMo = obj.getGuimo();
  300. AttRsBaseParam rsBaseParam = new AttRsBaseParam();
  301. rsBaseParam.setAdmDiv(adCd);
  302. rsBaseParam.setRsName(rsName);
  303. List<AttRsBase> rsBaseList = attRsBaseService.findRsList(rsBaseParam);
  304. BisInspRsvrRgstrParam bisInspRsvrRgstrParam = new BisInspRsvrRgstrParam();
  305. bisInspRsvrRgstrParam.setAdCode(adCd);
  306. bisInspRsvrRgstrParam.setRsvrNm(rsName);
  307. List<BisInspRsvrRgstr> rsvrRgstrs = rsvrRgstrService.findList(bisInspRsvrRgstrParam);
  308. if (rsBaseList == null || rsBaseList.isEmpty()) {
  309. if (rsvrRgstrs == null || rsvrRgstrs.isEmpty()) {
  310. rsBaseParam.setAdmDiv(adCd.substring(0, 4));
  311. rsBaseParam.setLocation(localtion);
  312. rsBaseList = attRsBaseService.findRsList(rsBaseParam);
  313. if (rsBaseList == null || rsBaseList.isEmpty()) {
  314. bisInspRsvrRgstrParam.setAdCode(adCd.substring(0, 4));
  315. bisInspRsvrRgstrParam.setLocation(localtion);
  316. rsvrRgstrs = rsvrRgstrService.findList(bisInspRsvrRgstrParam);
  317. if (rsvrRgstrs == null || rsvrRgstrs.isEmpty()) {
  318. rsBaseParam.setAdmDiv(adCd.substring(0, 2));
  319. rsBaseParam.setLocation("");
  320. rsBaseList = attRsBaseService.findRsList(rsBaseParam);
  321. if (rsBaseList == null || rsBaseList.isEmpty()) {
  322. bisInspRsvrRgstrParam.setAdCode(adCd.substring(0, 2));
  323. bisInspRsvrRgstrParam.setLocation("");
  324. rsvrRgstrs = rsvrRgstrService.findList(bisInspRsvrRgstrParam);
  325. if (rsvrRgstrs == null || rsvrRgstrs.isEmpty()) {
  326. System.out.println("缺失:" + obj.toString());
  327. result += "缺失:" + obj.toString() + "\n";
  328. } else {
  329. if (rsvrRgstrs.size() > 1) {
  330. for (BisInspRsvrRgstr rsvrRgstr : rsvrRgstrs) {
  331. if (rsName.equals(rsvrRgstr.getRsvrNm())) {
  332. rsCode = rsvrRgstr.getRsCode();
  333. break;
  334. }
  335. }
  336. if (StringUtils.isBlank(rsCode)) {
  337. System.out.println("登记表查询出多条水库并未匹配上:" + rsBaseList.toString());
  338. result += "登记表查询出多条水库并未匹配上:" + obj.toString() + "\n";
  339. }
  340. }
  341. }
  342. } else {
  343. if (rsBaseList.size() > 1) {
  344. for (AttRsBase attRsBase : rsBaseList) {
  345. if (rsName.equals(attRsBase.getRsName())) {
  346. rsCode = attRsBase.getRsCode();
  347. break;
  348. }
  349. }
  350. if (StringUtils.isBlank(rsCode)) {
  351. bisInspRsvrRgstrParam.setAdCode(adCd.substring(0, 2));
  352. bisInspRsvrRgstrParam.setLocation(localtion);
  353. rsvrRgstrs = rsvrRgstrService.findList(bisInspRsvrRgstrParam);
  354. if (rsvrRgstrs == null || rsvrRgstrs.isEmpty()) {
  355. result += "基础表查出多条数据并无法匹配,登记表未查出数据:" + obj.toString() + "\n";
  356. } else {
  357. if (rsvrRgstrs.size() > 1) {
  358. for (BisInspRsvrRgstr rsvrRgstr : rsvrRgstrs) {
  359. if (rsName.equals(rsvrRgstr.getRsvrNm())) {
  360. rsCode = rsvrRgstr.getRsCode();
  361. break;
  362. }
  363. }
  364. if (StringUtils.isBlank(rsCode)) {
  365. result += "基础表查出多条数据并无法匹配,登记表查出多条数据并无法匹配:" + obj.toString() + "\n";
  366. }
  367. } else {
  368. BisInspRsvrRgstr rsvrRgstr = rsvrRgstrs.get(0);
  369. regId = rsvrRgstr.getRgstrId();
  370. rsCode = rsvrRgstr.getRsCode();
  371. }
  372. }
  373. } else {
  374. bisInspRsvrRgstrParam.setAdCode("");
  375. bisInspRsvrRgstrParam.setRsvrNm("");
  376. bisInspRsvrRgstrParam.setRsCode(rsCode);
  377. if (rsvrRgstrs == null || rsvrRgstrs.isEmpty()) {
  378. System.out.println("基础表查询出水库但在登记表无记录:" + rsBaseList.toString());
  379. } else {
  380. if (rsvrRgstrs.size() == 1) {
  381. BisInspRsvrRgstr rsvrRgstr = rsvrRgstrs.get(0);
  382. regId = rsvrRgstr.getRgstrId();
  383. rsCode = rsvrRgstr.getRsCode();
  384. } else {
  385. for (BisInspRsvrRgstr rsvrRgstr : rsvrRgstrs) {
  386. if (rsName.equals(rsvrRgstr.getRsvrNm())) {
  387. regId = rsvrRgstr.getRgstrId();
  388. rsCode = rsvrRgstr.getRsCode();
  389. }
  390. }
  391. }
  392. }
  393. }
  394. } else {
  395. rsCode = rsBaseList.get(0).getRsCode();
  396. bisInspRsvrRgstrParam.setAdCode("");
  397. bisInspRsvrRgstrParam.setRsvrNm("");
  398. bisInspRsvrRgstrParam.setRsCode(rsCode);
  399. if (rsvrRgstrs == null || rsvrRgstrs.isEmpty()) {
  400. System.out.println("基础表查询出水库但在登记表无记录:" + rsBaseList.toString());
  401. } else {
  402. if (rsvrRgstrs.size() == 1) {
  403. BisInspRsvrRgstr rsvrRgstr = rsvrRgstrs.get(0);
  404. regId = rsvrRgstr.getRgstrId();
  405. rsCode = rsvrRgstr.getRsCode();
  406. } else {
  407. for (BisInspRsvrRgstr rsvrRgstr : rsvrRgstrs) {
  408. if (rsName.equals(rsvrRgstr.getRsvrNm())) {
  409. regId = rsvrRgstr.getRgstrId();
  410. rsCode = rsvrRgstr.getRsCode();
  411. break;
  412. }
  413. }
  414. if (StringUtils.isBlank(regId)) {
  415. result += "基础表有匹配数据,登记表查出多条并无法匹配:" + obj.toString() + "\n";
  416. }
  417. }
  418. }
  419. }
  420. }
  421. } else {
  422. if (rsvrRgstrs.size() > 1) {
  423. for (BisInspRsvrRgstr rsvrRgstr : rsvrRgstrs) {
  424. if (rsName.equals(rsvrRgstr.getRsvrNm())) {
  425. rsCode = rsvrRgstr.getRsCode();
  426. regId = rsvrRgstr.getRgstrId();
  427. break;
  428. }
  429. }
  430. if (StringUtils.isBlank(regId)) {
  431. System.out.println("登记表查询出多条水库并未匹配上:" + rsBaseList.toString());
  432. result += "基础表无匹配,登记表查询出多条水库并未匹配上:" + obj.toString() + "\n";
  433. }
  434. } else {
  435. BisInspRsvrRgstr rsvrRgstr = rsvrRgstrs.get(0);
  436. regId = rsvrRgstr.getRgstrId();
  437. rsCode = rsvrRgstr.getRsCode();
  438. }
  439. }
  440. } else {
  441. if (rsBaseList.size() > 1) {
  442. for (AttRsBase attRsBase : rsBaseList) {
  443. if (rsName.equals(attRsBase.getRsName())) {
  444. rsCode = attRsBase.getRsCode();
  445. break;
  446. }
  447. }
  448. if (StringUtils.isBlank(rsCode)) {
  449. bisInspRsvrRgstrParam.setAdCode(adCd.substring(0, 4));
  450. bisInspRsvrRgstrParam.setLocation(localtion);
  451. rsvrRgstrs = rsvrRgstrService.findList(bisInspRsvrRgstrParam);
  452. if (rsvrRgstrs == null || rsvrRgstrs.isEmpty()) {
  453. result += "基础表查出多条数据并无法匹配,登记表未查出数据:" + obj.toString() + "\n";
  454. } else {
  455. if (rsvrRgstrs.size() > 1) {
  456. for (BisInspRsvrRgstr rsvrRgstr : rsvrRgstrs) {
  457. if (rsName.equals(rsvrRgstr.getRsvrNm())) {
  458. rsCode = rsvrRgstr.getRsCode();
  459. break;
  460. }
  461. }
  462. if (StringUtils.isBlank(rsCode)) {
  463. result += "基础表查出多条数据并无法匹配,登记表查出多条数据并无法匹配:" + obj.toString() + "\n";
  464. }
  465. } else {
  466. BisInspRsvrRgstr rsvrRgstr = rsvrRgstrs.get(0);
  467. regId = rsvrRgstr.getRgstrId();
  468. rsCode = rsvrRgstr.getRsCode();
  469. }
  470. }
  471. } else {
  472. bisInspRsvrRgstrParam.setAdCode("");
  473. bisInspRsvrRgstrParam.setRsvrNm("");
  474. bisInspRsvrRgstrParam.setRsCode(rsCode);
  475. if (rsvrRgstrs == null || rsvrRgstrs.isEmpty()) {
  476. System.out.println("基础表查询出水库但在登记表无记录:" + rsBaseList.toString());
  477. } else {
  478. if (rsvrRgstrs.size() == 1) {
  479. BisInspRsvrRgstr rsvrRgstr = rsvrRgstrs.get(0);
  480. regId = rsvrRgstr.getRgstrId();
  481. rsCode = rsvrRgstr.getRsCode();
  482. } else {
  483. for (BisInspRsvrRgstr rsvrRgstr : rsvrRgstrs) {
  484. if (rsName.equals(rsvrRgstr.getRsvrNm())) {
  485. regId = rsvrRgstr.getRgstrId();
  486. rsCode = rsvrRgstr.getRsCode();
  487. }
  488. }
  489. }
  490. }
  491. }
  492. } else {
  493. rsCode = rsBaseList.get(0).getRsCode();
  494. bisInspRsvrRgstrParam.setAdCode("");
  495. bisInspRsvrRgstrParam.setRsvrNm("");
  496. bisInspRsvrRgstrParam.setRsCode(rsCode);
  497. if (rsvrRgstrs == null || rsvrRgstrs.isEmpty()) {
  498. System.out.println("基础表查询出水库但在登记表无记录:" + rsBaseList.toString());
  499. } else {
  500. if (rsvrRgstrs.size() == 1) {
  501. BisInspRsvrRgstr rsvrRgstr = rsvrRgstrs.get(0);
  502. regId = rsvrRgstr.getRgstrId();
  503. rsCode = rsvrRgstr.getRsCode();
  504. } else {
  505. for (BisInspRsvrRgstr rsvrRgstr : rsvrRgstrs) {
  506. if (rsName.equals(rsvrRgstr.getRsvrNm())) {
  507. regId = rsvrRgstr.getRgstrId();
  508. rsCode = rsvrRgstr.getRsCode();
  509. break;
  510. }
  511. }
  512. if (StringUtils.isBlank(regId)) {
  513. result += "基础表有匹配数据,登记表查出多条并无法匹配:" + obj.toString() + "\n";
  514. }
  515. }
  516. }
  517. }
  518. }
  519. } else {
  520. if (rsvrRgstrs.size() > 1) {
  521. for (BisInspRsvrRgstr rsvrRgstr : rsvrRgstrs) {
  522. if (rsName.equals(rsvrRgstr.getRsvrNm())) {
  523. rsCode = rsvrRgstr.getRsCode();
  524. regId = rsvrRgstr.getRgstrId();
  525. break;
  526. }
  527. }
  528. if (StringUtils.isBlank(regId)) {
  529. System.out.println("登记表查询出多条水库并未匹配上:" + rsBaseList.toString());
  530. result += "基础表无匹配,登记表查询出多条水库并未匹配上:" + obj.toString() + "\n";
  531. }
  532. } else {
  533. BisInspRsvrRgstr rsvrRgstr = rsvrRgstrs.get(0);
  534. regId = rsvrRgstr.getRgstrId();
  535. rsCode = rsvrRgstr.getRsCode();
  536. }
  537. }
  538. } else {
  539. if (rsBaseList.size() == 1) {
  540. rsCode = rsBaseList.get(0).getRsCode();
  541. bisInspRsvrRgstrParam.setAdCode("");
  542. bisInspRsvrRgstrParam.setRsvrNm("");
  543. bisInspRsvrRgstrParam.setRsCode(rsCode);
  544. if (rsvrRgstrs == null || rsvrRgstrs.isEmpty()) {
  545. System.out.println("基础表查询出水库但在登记表无记录:" + rsBaseList.toString());
  546. } else {
  547. if (rsvrRgstrs.size() == 1) {
  548. BisInspRsvrRgstr rsvrRgstr = rsvrRgstrs.get(0);
  549. regId = rsvrRgstr.getRgstrId();
  550. rsCode = rsvrRgstr.getRsCode();
  551. } else {
  552. for (BisInspRsvrRgstr rsvrRgstr : rsvrRgstrs) {
  553. if (rsName.equals(rsvrRgstr.getRsvrNm())) {
  554. regId = rsvrRgstr.getRgstrId();
  555. rsCode = rsvrRgstr.getRsCode();
  556. break;
  557. }
  558. }
  559. if (StringUtils.isBlank(regId)) {
  560. result += "基础表有匹配数据,登记表查出多条并无法匹配:" + obj.toString() + "\n";
  561. }
  562. }
  563. }
  564. } else {
  565. for (AttRsBase attRsBase : rsBaseList) {
  566. if (rsName.equals(attRsBase.getRsName())) {
  567. rsCode = attRsBase.getRsCode();
  568. break;
  569. }
  570. }
  571. if (StringUtils.isBlank(rsCode)) {
  572. System.out.println("查询出多条水库并未匹配上:" + rsBaseList.toString());
  573. result += "查询出多条水库并未匹配上:" + obj.toString() + "\n";
  574. } else {
  575. bisInspRsvrRgstrParam.setAdCode("");
  576. bisInspRsvrRgstrParam.setRsvrNm("");
  577. bisInspRsvrRgstrParam.setRsCode(rsCode);
  578. if (rsvrRgstrs == null || rsvrRgstrs.isEmpty()) {
  579. System.out.println("基础表查询出水库但在登记表无记录:" + rsBaseList.toString());
  580. } else {
  581. if (rsvrRgstrs.size() == 1) {
  582. BisInspRsvrRgstr rsvrRgstr = rsvrRgstrs.get(0);
  583. regId = rsvrRgstr.getRgstrId();
  584. rsCode = rsvrRgstr.getRsCode();
  585. } else {
  586. for (BisInspRsvrRgstr rsvrRgstr : rsvrRgstrs) {
  587. if (rsName.equals(rsvrRgstr.getRsvrNm())) {
  588. regId = rsvrRgstr.getRgstrId();
  589. rsCode = rsvrRgstr.getRsCode();
  590. }
  591. }
  592. }
  593. }
  594. }
  595. }
  596. }
  597. if (StringUtils.isNotBlank(rsCode) && StringUtils.isNotBlank(regId)) {
  598. System.out.println("正常获取到水库编码和登记表id");
  599. } else {
  600. if (StringUtils.isBlank(rsCode) && StringUtils.isBlank(regId)) {
  601. System.out.println("未获取到水库编码和登记表id-" + obj.toString());
  602. result += "-未获取到水库编码和登记表id-" + obj.toString() + "--";
  603. } else if (StringUtils.isBlank(rsCode)) {
  604. System.out.println("未获取到水库编码-" + obj.toString());
  605. result += "-未获取到水库编码-" + obj.toString() + "--";
  606. } else if (StringUtils.isBlank(regId)) {
  607. System.out.println("未获取到登记表id-" + obj.toString());
  608. result += "-未获取到登记表id-" + obj.toString() + "--";
  609. }
  610. }
  611. // BisInspAll bisInspAll=new BisInspAll();
  612. // for (AttRsBase rsBase : rsBaseList) {
  613. // rsCode = rsBase.getRsCode();
  614. // BisInspAllObjParam allObjParam = new BisInspAllObjParam();
  615. // allObjParam.setCode(rsCode);
  616. // allObjParam.setPtype("1");
  617. // allObjParam.setId(bisInspAll.getId());
  618. // allObjParam.setNm(rsBase.getRsName());
  619. // List<BisInspAllObj> allObjList=objService.findList(allObjParam);
  620. // BisInspAllObj allObj=null;
  621. // for(BisInspAllObj bisInspAllObj:allObjList){
  622. // if(bisInspAllObj.getId().contains(bisInspAll.getId())){
  623. // allObj=bisInspAllObj;
  624. // break;
  625. // }
  626. // }
  627. // if (allObj != null) {
  628. // addRsvr(allObj, obj, rsBase);
  629. // } else {
  630. // allObj = new BisInspAllObj();
  631. // allObj.setId(allObjParam.getId());
  632. // allObj.setCode(rsCode);
  633. // if (StringUtils.isNotBlank(rsBase.getCenterXGd())) {
  634. // allObj.setLgtd(Double.parseDouble(rsBase.getCenterXGd()));
  635. // }
  636. // if (StringUtils.isNotBlank(rsBase.getCenterYGd())) {
  637. // allObj.setLttd(Double.parseDouble(rsBase.getCenterYGd()));
  638. // }
  639. // if (StringUtils.isNotBlank(rsBase.getCenterX())){
  640. // allObj.setLgtdpc(Double.parseDouble(rsBase.getCenterX()));
  641. // }
  642. // if(StringUtils.isNotBlank(rsBase.getCenterY())) {
  643. // allObj.setLttdpc(Double.parseDouble(rsBase.getCenterY()));
  644. // }
  645. // allObj.setObjId(UuidUtil.uuid());
  646. // allObj.setNm(rsBase.getRsName());
  647. // allObj.setPtype("1");
  648. // objService.insert(allObj);
  649. // System.out.println("无督查任务水库:" + rsName);
  650. // addRsvr(allObj, obj, rsBase);
  651. //
  652. // }
  653. // }
  654. }
  655. params.put("count", rsBaseParamList.size());
  656. params.put("data", rsBaseParamList);
  657. return buildSuccessResponse(result);
  658. }
  659. private void addRsvr(BisInspAllObj allObj, RsvrObj obj, AttRsBase rsBase) {
  660. BisInspRsvrRgstrParam inspRsvrRgstrParam = new BisInspRsvrRgstrParam();
  661. inspRsvrRgstrParam.setObjId(allObj.getObjId());
  662. inspRsvrRgstrParam.setRsvrNm(allObj.getNm());
  663. inspRsvrRgstrParam.setRsCode(allObj.getCode());
  664. BisInspRsvrRgstr inspRsvrRgstr = rsvrRgstrService.getBy(inspRsvrRgstrParam);
  665. if (inspRsvrRgstr != null) {
  666. inspRsvrRgstr.setNote(obj.getNote());
  667. if (StringUtils.isNotBlank(obj.getTop())) {
  668. inspRsvrRgstr.setTotCap(Double.parseDouble(obj.getTop()));
  669. }
  670. inspRsvrRgstr.setEngScal(obj.getGuimo());
  671. BisInspRsvrProjectParam rsvrProjectParam = new BisInspRsvrProjectParam();
  672. rsvrProjectParam.setRgstrId(inspRsvrRgstr.getRgstrId());
  673. BisInspRsvrProject inspRsvrProject = rsvrProjectService.getBy(rsvrProjectParam);
  674. if (inspRsvrProject != null) {
  675. inspRsvrProject.setPoorCountry(obj.getPoor());
  676. rsvrProjectService.update(inspRsvrProject);
  677. } else {
  678. inspRsvrProject = new BisInspRsvrProject();
  679. inspRsvrProject.setId(UuidUtil.uuid());
  680. inspRsvrProject.setPoorCountry(obj.getPoor());
  681. inspRsvrProject.setRgstrId(inspRsvrRgstr.getRgstrId());
  682. rsvrProjectService.insert(inspRsvrProject);
  683. }
  684. inspRsvrRgstr.setReverStat("2");
  685. inspRsvrProject.setStatus("2");
  686. rsvrRgstrService.update(inspRsvrRgstr);
  687. } else {
  688. String rgstrId = UuidUtil.uuid();
  689. inspRsvrRgstr = new BisInspRsvrRgstr();
  690. inspRsvrRgstr.setEngScal(obj.getGuimo());
  691. inspRsvrRgstr.setRgstrId(rgstrId);
  692. inspRsvrRgstr.setReverStat("2");
  693. inspRsvrRgstr.setObjId(allObj.getObjId());
  694. inspRsvrRgstr.setNote(obj.getNote());
  695. inspRsvrRgstr.setRsvrAdmName(rsBase.getRsAdmName());
  696. if (StringUtils.isNotBlank(obj.getTop())) {
  697. inspRsvrRgstr.setTotCap(Double.parseDouble(obj.getTop()));
  698. }
  699. inspRsvrRgstr.setRsCode(rsBase.getRsCode());
  700. inspRsvrRgstr.setIntm(new Date());
  701. inspRsvrRgstr.setUptm(new Date());
  702. inspRsvrRgstr.setLocation(rsBase.getLocation());
  703. inspRsvrRgstr.setDamType(rsBase.getDamType());
  704. inspRsvrRgstr.setAdCode(rsBase.getAdmDiv());
  705. inspRsvrRgstr.setState("2");
  706. inspRsvrRgstr.setCompDateStr(rsBase.getCompDateStr());
  707. inspRsvrRgstr.setHystSite(rsBase.getRsLoc());
  708. if (StringUtils.isNotBlank(rsBase.getCenterYGd())) {
  709. inspRsvrRgstr.setRsvrLat(Double.parseDouble(rsBase.getCenterYGd()));
  710. }
  711. if (StringUtils.isNotBlank(rsBase.getCenterXGd())) {
  712. inspRsvrRgstr.setRsvrLong(Double.parseDouble(rsBase.getCenterXGd()));
  713. }
  714. inspRsvrRgstr.setRsvrNm(rsBase.getRsName());
  715. rsvrRgstrService.insert(inspRsvrRgstr);
  716. BisInspRsvrProject inspRsvrProject = new BisInspRsvrProject();
  717. inspRsvrProject.setId(UuidUtil.uuid());
  718. inspRsvrProject.setPoorCountry(obj.getPoor());
  719. inspRsvrProject.setRgstrId(inspRsvrRgstr.getRgstrId());
  720. rsvrProjectService.insert(inspRsvrProject);
  721. }
  722. }
  723. @Autowired
  724. private BisInspPblmService inspPblmService;
  725. @Autowired
  726. private ObjInspPblmsService inspPblmsService;
  727. @GetMapping("/getPblm/{month}")
  728. public BaseResponse getPblm(@PathVariable String month) throws Exception {
  729. Map<String, Object> objectMap = new HashMap<>();
  730. String filePath = "D:\\data\\" + month + "月小水库附表1-6.xlsx";
  731. List<PblmObj> rsvrObjList1 = new ArrayList<>();
  732. List<PblmObj> rsvrObjList = LoadExcel.getPblmObjList(filePath);
  733. List<AttRsBaseParam> rsBaseParams = new ArrayList<>();
  734. for (PblmObj pblmObj : rsvrObjList) {
  735. BisInspAllParam inspAllParam = new BisInspAllParam();
  736. inspAllParam.setPnm(pblmObj.getProvince() + "组");
  737. inspAllParam.setId("001");
  738. inspAllParam.setInspMnth("0" + month);
  739. inspAllParam.setInspYear("2019");
  740. inspAllParam.setNm(pblmObj.getRsvrNm());
  741. BisInspAll bisInspAll = inspAllService.getOne(inspAllParam);
  742. AttRsBaseParam rsBaseParam = new AttRsBaseParam();
  743. rsBaseParam.setAdmDivName(pblmObj.getCountry());
  744. rsBaseParam.setRsName(pblmObj.getRsvrNm());
  745. rsBaseParam.setEngScal(pblmObj.getGuimo());
  746. rsBaseParam.setLocation(pblmObj.getProvince());
  747. String rsAdmName = pblmObj.getOrgNm();
  748. if ("黑圈水库".equals(pblmObj.getRsvrNm())) {
  749. System.out.println("停一下");
  750. }
  751. if (rsAdmName.contains(pblmObj.getCountry())) {
  752. rsAdmName = rsAdmName.replace(pblmObj.getCountry(), "");
  753. }
  754. rsBaseParam.setRsAdmName(rsAdmName);
  755. List<AttRsBase> rsBases = attRsBaseService.findRsList(rsBaseParam);
  756. if (rsBases == null && rsBases.isEmpty()) {
  757. rsBaseParam.setRsAdmName("");
  758. rsBases = attRsBaseService.findRsList(rsBaseParam);
  759. }
  760. if (rsBases == null && rsBases.isEmpty()) {
  761. rsBaseParams.add(rsBaseParam);
  762. rsvrObjList1.add(pblmObj);
  763. continue;
  764. }
  765. for (AttRsBase rsBase : rsBases) {
  766. BisInspAllObjParam inspAllObjParam = new BisInspAllObjParam();
  767. inspAllObjParam.setCode(rsBase.getRsCode());
  768. inspAllObjParam.setId(bisInspAll.getId());
  769. BisInspAllObj allObj = objService.getBy(inspAllObjParam);
  770. if (allObj == null) {
  771. allObj = new BisInspAllObj();
  772. allObj.setId(bisInspAll.getId());
  773. allObj.setCode(rsBase.getRsCode());
  774. allObj.setLgtd(Double.parseDouble(rsBase.getCenterXGd()));
  775. allObj.setLttd(Double.parseDouble(rsBase.getCenterYGd()));
  776. allObj.setLgtdpc(Double.parseDouble(rsBase.getCenterX()));
  777. allObj.setLttdpc(Double.parseDouble(rsBase.getCenterY()));
  778. allObj.setObjId(UuidUtil.uuid());
  779. allObj.setNm(rsBase.getRsName());
  780. allObj.setPtype("1");
  781. objService.insert(allObj);
  782. String rgstrId = UuidUtil.uuid();
  783. BisInspRsvrRgstr inspRsvrRgstr = new BisInspRsvrRgstr();
  784. inspRsvrRgstr.setEngScal(rsBase.getEngScal());
  785. inspRsvrRgstr.setRgstrId(rgstrId);
  786. inspRsvrRgstr.setReverStat("2");
  787. inspRsvrRgstr.setObjId(allObj.getObjId());
  788. inspRsvrRgstr.setRsvrAdmName(rsBase.getRsAdmName());
  789. inspRsvrRgstr.setTotCap(rsBase.getTotCap());
  790. inspRsvrRgstr.setRsCode(rsBase.getRsCode());
  791. inspRsvrRgstr.setIntm(new Date());
  792. inspRsvrRgstr.setUptm(new Date());
  793. inspRsvrRgstr.setLocation(rsBase.getLocation());
  794. inspRsvrRgstr.setDamType(rsBase.getDamType());
  795. inspRsvrRgstr.setAdCode(rsBase.getAdmDiv());
  796. inspRsvrRgstr.setState("2");
  797. inspRsvrRgstr.setCompDateStr(rsBase.getCompDateStr());
  798. inspRsvrRgstr.setHystSite(rsBase.getRsLoc());
  799. inspRsvrRgstr.setRsvrLat(Double.parseDouble(rsBase.getCenterYGd()));
  800. inspRsvrRgstr.setRsvrLong(Double.parseDouble(rsBase.getCenterXGd()));
  801. inspRsvrRgstr.setRsvrNm(rsBase.getRsName());
  802. rsvrRgstrService.insert(inspRsvrRgstr);
  803. }
  804. BisInspRsvrRgstrParam inspRsvrRgstrParam = new BisInspRsvrRgstrParam();
  805. inspRsvrRgstrParam.setObjId(allObj.getObjId());
  806. inspRsvrRgstrParam.setRsCode(rsBase.getRsCode());
  807. BisInspRsvrRgstr bisInspRsvrRgstr = rsvrRgstrService.getBy(inspRsvrRgstrParam);
  808. ObjInspPblmsParam inspPblmsParam = new ObjInspPblmsParam();
  809. String snNum = pblmObj.getSnNum();
  810. if (snNum.contains(".")) {
  811. snNum = pblmObj.getSnNum().substring(0, pblmObj.getSnNum().indexOf("."));
  812. }
  813. inspPblmsParam.setSnNum(snNum);
  814. String attach = pblmObj.getAttach().replace("附件", "");
  815. inspPblmsParam.setAttach(attach);
  816. inspPblmsParam.setInspPblmCate(pblmObj.getPblmCate());
  817. inspPblmsParam.setType(allObj.getPtype());
  818. //金结构机电设备
  819. String checkPoint = pblmObj.getCheckPoint().replaceAll("[\\t\\n\\r]", "");
  820. if ("工程维修".equals(checkPoint)) {
  821. checkPoint = "工程维护";
  822. }
  823. if ("金结构机电设备".equals(checkPoint)) {
  824. checkPoint = "金结机电设备";
  825. }
  826. inspPblmsParam.setCheckPoint(checkPoint);
  827. ObjInspPblms objInspPblms = inspPblmsService.getBy(inspPblmsParam);
  828. if (objInspPblms == null) {
  829. System.out.println(objInspPblms.getInspPblmsName());
  830. continue;
  831. }
  832. BisInspPblm bisInspPblm = new BisInspPblm();
  833. bisInspPblm.setPblmId(UuidUtil.uuid());
  834. bisInspPblm.setObjId(allObj.getObjId());
  835. bisInspPblm.setRegid(bisInspRsvrRgstr.getRgstrId());
  836. bisInspPblm.setObjType("1");
  837. bisInspPblm.setVillType("0");
  838. bisInspPblm.setPblmsTypeId(objInspPblms.getGuid());
  839. bisInspPblm.setInspPblmCate(pblmObj.getPblmCate());
  840. bisInspPblm.setInspPblmName(pblmObj.getPblmName());
  841. bisInspPblm.setInspPblmDesc(pblmObj.getPblmDesc());
  842. bisInspPblm.setInspPblmCode(pblmObj.getSnNum());
  843. bisInspPblm.setCollTime(bisInspRsvrRgstr.getIntm());
  844. // inspPblmService.insert(bisInspPblm);
  845. }
  846. }
  847. objectMap.put("count", rsvrObjList1.size());
  848. objectMap.put("data", rsvrObjList1);
  849. return buildSuccessResponse(objectMap);
  850. }
  851. public String getAdCd(String sheng, String shi, String xian) {
  852. String adCd = "";
  853. AttAdXBaseParam attAdXBaseParam = new AttAdXBaseParam();
  854. AttAdXBase attAdXBase;
  855. if (StringUtils.isNotBlank(sheng)) {
  856. attAdXBaseParam.setAdName(sheng);
  857. attAdXBaseParam.setAdGrad("2");
  858. attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
  859. if (attAdXBase != null) {
  860. String shengCode = attAdXBase.getAdCode();
  861. attAdXBaseParam.setAdFcode(shengCode);
  862. adCd = shengCode;
  863. } else {
  864. attAdXBaseParam.setAdName("");
  865. attAdXBaseParam.setAdFullName(sheng);
  866. attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
  867. if (attAdXBase != null) {
  868. String shengCode = attAdXBase.getAdCode();
  869. attAdXBaseParam.setAdFcode(shengCode);
  870. adCd = shengCode;
  871. }
  872. }
  873. }
  874. if (StringUtils.isNotBlank(shi)) {
  875. attAdXBaseParam.setAdName(shi);
  876. attAdXBaseParam.setAdGrad("3");
  877. attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
  878. if (attAdXBase != null) {
  879. String shiCode = attAdXBase.getAdCode();
  880. attAdXBaseParam.setAdFcode(shiCode);
  881. adCd = shiCode;
  882. } else {
  883. attAdXBaseParam.setAdName("");
  884. attAdXBaseParam.setAdFullName(shi);
  885. attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
  886. if (attAdXBase != null) {
  887. String shiCode = attAdXBase.getAdCode();
  888. attAdXBaseParam.setAdFcode(shiCode);
  889. adCd = shiCode;
  890. }
  891. }
  892. }
  893. if (StringUtils.isNotBlank(xian)) {
  894. attAdXBaseParam.setAdName(xian);
  895. attAdXBaseParam.setAdGrad("4");
  896. attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
  897. if (attAdXBase != null) {
  898. adCd = attAdXBase.getAdCode();
  899. } else {
  900. attAdXBaseParam.setAdName("");
  901. attAdXBaseParam.setAdFullName(xian);
  902. attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
  903. if (attAdXBase != null) {
  904. adCd = attAdXBase.getAdCode();
  905. }
  906. }
  907. }
  908. return adCd;
  909. }
  910. public Map<String, String> getAdCds(String sheng, String shi, String xian) {
  911. Map<String, String> map = new HashMap<>();
  912. String adCd = "";
  913. AttAdXBaseParam attAdXBaseParam = new AttAdXBaseParam();
  914. attAdXBaseParam.setAdName(sheng);
  915. attAdXBaseParam.setAdGrad("2");
  916. AttAdXBase attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
  917. if (attAdXBase != null) {
  918. String shengCode = attAdXBase.getAdCode();
  919. attAdXBaseParam.setAdFcode(shengCode);
  920. adCd = shengCode;
  921. map.put("sheng", shengCode);
  922. } else {
  923. attAdXBaseParam.setAdName("");
  924. attAdXBaseParam.setAdFullName(sheng);
  925. attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
  926. if (attAdXBase != null) {
  927. String shengCode = attAdXBase.getAdCode();
  928. attAdXBaseParam.setAdFcode(shengCode);
  929. adCd = shengCode;
  930. map.put("sheng", shengCode);
  931. }
  932. }
  933. if (StringUtils.isBlank(shi)) {
  934. shi = "市辖区";
  935. }
  936. if (StringUtils.isNotBlank(shi)) {
  937. attAdXBaseParam.setAdName(shi);
  938. attAdXBaseParam.setAdGrad("3");
  939. attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
  940. if (attAdXBase != null) {
  941. String shiCode = attAdXBase.getAdCode();
  942. attAdXBaseParam.setAdFcode(shiCode);
  943. adCd = shiCode;
  944. map.put("shi", shiCode);
  945. } else {
  946. attAdXBaseParam.setAdName("");
  947. attAdXBaseParam.setAdFullName(shi);
  948. attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
  949. if (attAdXBase != null) {
  950. String shiCode = attAdXBase.getAdCode();
  951. attAdXBaseParam.setAdFcode(shiCode);
  952. adCd = shiCode;
  953. map.put("shi", shiCode);
  954. }
  955. }
  956. }
  957. if (StringUtils.isNotBlank(xian)) {
  958. attAdXBaseParam.setAdName(xian);
  959. attAdXBaseParam.setAdGrad("4");
  960. attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
  961. if (attAdXBase != null) {
  962. adCd = attAdXBase.getAdCode();
  963. map.put("xian", adCd);
  964. } else {
  965. attAdXBaseParam.setAdName("");
  966. attAdXBaseParam.setAdFullName(xian);
  967. attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
  968. if (attAdXBase != null) {
  969. adCd = attAdXBase.getAdCode();
  970. map.put("xian", adCd);
  971. }
  972. }
  973. }
  974. return map;
  975. }
  976. public Map<String, String> addPers(ExcelInspPersDto persDto) {
  977. Map<String, String> map = new HashMap<>();
  978. String sheng = persDto.getGroName();
  979. String shengCode = getAdCd(sheng, "", "");
  980. String orgId = persDto.getOrgId();
  981. String persName = persDto.getHeadman();
  982. String persId = "";
  983. String headerNm = persDto.getHeadNm();
  984. String memeber = persDto.getMembers();
  985. String memNm = persDto.getMemNm();
  986. String comPer = persDto.getConPers();
  987. String comNm = persDto.getConNm();
  988. persId = this.addOnePers(orgId, persName, headerNm);
  989. map.put("one", persId);
  990. persId = this.addOnePers(orgId, memeber, memNm);
  991. map.put("two", persId);
  992. persId = this.addOnePers(orgId, comPer, comNm);
  993. map.put("three", persId);
  994. return map;
  995. }
  996. public String addOnePers(String orgId, String persName, String dpp) {
  997. String persId = "";
  998. BisInspAllRlationPersParam persParam = new BisInspAllRlationPersParam();
  999. persParam.setOrgId(orgId);
  1000. persParam.setPersName(persName);
  1001. List<BisInspAllRlationPers> rlationPers = bisInspAllRlationPersService.findList(persParam);
  1002. if (rlationPers != null && rlationPers.size() > 0) {
  1003. BisInspAllRlationPers rlationPer = rlationPers.get(0);
  1004. persId = rlationPer.getGuid();
  1005. } else {
  1006. persId = UuidUtil.uuid();
  1007. BisInspAllRlationPers rlationPer = new BisInspAllRlationPers();
  1008. rlationPer.setGuid(persId);
  1009. rlationPer.setOrgId(orgId);
  1010. rlationPer.setPersName(persName);
  1011. if (dpp.contains("/")) {
  1012. String[] strs = dpp.split("/");
  1013. for (int i = 0; i < strs.length; i++) {
  1014. if (i == 0) {
  1015. rlationPer.setDpnm(strs[0]);
  1016. } else if (i == 1) {
  1017. rlationPer.setDppost(strs[1]);
  1018. }
  1019. }
  1020. } else {
  1021. rlationPer.setDppost(dpp);
  1022. }
  1023. persParam.setPersName("");
  1024. int count = bisInspAllRlationPersService.selectCount(persParam);
  1025. String phone = orgId + String.format("%08", count + 1);//其中0表示补零而不是补空格,6表示至少6位
  1026. rlationPer.setMobilenumb(phone);
  1027. bisInspAllRlationPersService.insert(rlationPer);
  1028. }
  1029. return persId;
  1030. }
  1031. }