9811fb5c924eba41a9d36ede5768a3dbd7bf3162.svn-base 63 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395
  1. package cn.com.goldenwater.dcproj.service.impl.importex;
  2. import cn.com.goldenwater.dcproj.dao.*;
  3. import cn.com.goldenwater.dcproj.dto.ExcelInspRsDto;
  4. import cn.com.goldenwater.dcproj.model.*;
  5. import cn.com.goldenwater.dcproj.param.AttAdXBaseParam;
  6. import cn.com.goldenwater.dcproj.param.AttRsBaseParam;
  7. import cn.com.goldenwater.dcproj.param.BisInspRsvrRgstrParam;
  8. import cn.com.goldenwater.dcproj.param.ImpRsInfoParam;
  9. import cn.com.goldenwater.dcproj.service.AttAdXBaseService;
  10. import cn.com.goldenwater.dcproj.service.AttRsBaseService;
  11. import cn.com.goldenwater.dcproj.service.BisInspRsvrRgstrService;
  12. import cn.com.goldenwater.dcproj.service.ImpRsInfoService;
  13. import cn.com.goldenwater.core.service.AbstractCrudService;
  14. import cn.com.goldenwater.dcproj.utils.GeoUtil;
  15. import cn.com.goldenwater.id.util.UuidUtil;
  16. import com.github.pagehelper.PageHelper;
  17. import org.apache.commons.lang3.StringUtils;
  18. import org.apache.poi.xssf.usermodel.XSSFRow;
  19. import org.apache.poi.xssf.usermodel.XSSFSheet;
  20. import org.apache.poi.xssf.usermodel.XSSFWorkbook;
  21. import org.springframework.beans.factory.annotation.Autowired;
  22. import org.springframework.stereotype.Service;
  23. import org.springframework.transaction.annotation.Transactional;
  24. import org.springframework.web.multipart.MultipartFile;
  25. import java.io.IOException;
  26. import java.io.InputStream;
  27. import java.util.*;
  28. /**
  29. * @author lune
  30. * @date 2019-7-23
  31. */
  32. @Service
  33. @Transactional
  34. public class ImpRsInfoServiceImpl extends AbstractCrudService<ImpRsInfo, ImpRsInfoParam> implements ImpRsInfoService {
  35. @Autowired
  36. private ImpRsInfoDao impRsInfoDao;
  37. @Autowired
  38. private ImpPersInfoDao impPersInfoDao;
  39. @Autowired
  40. private AttAdXBaseService attAdXBaseService;
  41. @Autowired
  42. private AttRsBaseService attRsBaseService;
  43. @Autowired
  44. private BisInspRsvrRgstrService rsvrRgstrService;
  45. @Autowired
  46. private BisInspAllObjDao bisInspAllObjDao;
  47. @Autowired
  48. private AttRsBaseDao attRsBaseDao;
  49. @Autowired
  50. private AttJskejianFlkdisBaseDao jskejianFlkdisBaseDao;
  51. @Autowired
  52. private AttJskejianWaterBaseDao jskejianWaterBaseDao;
  53. @Autowired
  54. private AttJskejianEcofrdBaseDao jskejianEcofrdBaseDao;
  55. public ImpRsInfoServiceImpl(ImpRsInfoDao impRsInfoDao) {
  56. super(impRsInfoDao);
  57. this.impRsInfoDao = impRsInfoDao;
  58. }
  59. @Override
  60. public String insertList(List<ExcelInspRsDto> list, String mnth) {
  61. ImpRsInfo rsInfo = new ImpRsInfo();
  62. int i = 1;
  63. for (ExcelInspRsDto excelInspRs:list) {
  64. String province = excelInspRs.getProvince();
  65. String provinceCode;
  66. String city = excelInspRs.getCity();
  67. String cityCode;
  68. String country = excelInspRs.getCountry();
  69. String countryCode;
  70. String rsvrNm = excelInspRs.getRsvrNm();
  71. if(rsvrNm.contains("水库水库")){
  72. rsvrNm = rsvrNm.replaceAll("水库水库","水库");
  73. }else if(rsvrNm.contains("小二型")){
  74. rsvrNm = rsvrNm.replaceAll("小二型","");
  75. }
  76. String guimo = excelInspRs.getGuimo();
  77. String top = excelInspRs.getTop();
  78. String poor = excelInspRs.getPoor();
  79. String repeat = excelInspRs.getRepeat();
  80. String note = excelInspRs.getNote();
  81. String orgNm = excelInspRs.getOrgNm();
  82. String adCd="";
  83. Map<String, String> ads = getAdCds(province,city,country);
  84. provinceCode = ads.get("sheng");
  85. cityCode = ads.get("shi");
  86. countryCode = ads.get("xian");
  87. if(StringUtils.isNotBlank(countryCode)){
  88. adCd = countryCode;
  89. }else if(StringUtils.isNotBlank(cityCode)){
  90. adCd = cityCode;
  91. }else if(StringUtils.isNotBlank(provinceCode)){
  92. adCd = provinceCode;
  93. }
  94. ImpRsInfo impRsInfo = new ImpRsInfo();
  95. impRsInfo.setId(UuidUtil.uuid());
  96. impRsInfo.setSn(i+"");
  97. impRsInfo.setProCode(provinceCode);
  98. impRsInfo.setProName(province);
  99. impRsInfo.setCityCode(cityCode);
  100. impRsInfo.setCityName(city);
  101. impRsInfo.setCountyCode(countryCode);
  102. impRsInfo.setCountyName(country);
  103. Map<String, String> map = checkRsNm(rsvrNm, adCd);
  104. impRsInfo.setRsCode(map.get("rsCode"));
  105. impRsInfo.setRegId(map.get("regId"));
  106. impRsInfo.setObjId(map.get("objId"));
  107. impRsInfo.setRsName(rsvrNm);
  108. impRsInfo.setEngScal(guimo);
  109. impRsInfo.setIsPoor(poor);
  110. impRsInfo.setIsCheck(repeat);
  111. impRsInfo.setNote(note);
  112. impRsInfo.setTotCap(top);
  113. impRsInfo.setOrgId(getOrgId(orgNm));
  114. impRsInfo.setOrgNm(orgNm);
  115. impRsInfo.setMnth(mnth);
  116. if(StringUtils.isNotBlank(impRsInfo.getRegId())){
  117. Map<String, Object> param = new HashMap<>();
  118. param.put("regId",impRsInfo.getRegId());
  119. List<Map<String, Object>> groupList = impRsInfoDao.getRegGroupList(param);
  120. if(groupList!=null&&groupList.size()>0){
  121. Map<String, Object> group = groupList.get(0);
  122. impRsInfo.setOldGroupId(String.valueOf(group.get("ID")));
  123. }
  124. }
  125. impRsInfoDao.insert(impRsInfo);
  126. i++;
  127. }
  128. return null;
  129. }
  130. @Override
  131. public String handleRsData(String mnth, String orgId) {
  132. ImpRsInfoParam impRsInfoParam = new ImpRsInfoParam();
  133. impRsInfoParam.setMnth(mnth);
  134. impRsInfoParam.setOrgId(orgId);
  135. List<ImpRsInfo> impRsInfos = impRsInfoDao.findList(impRsInfoParam);
  136. for (ImpRsInfo rsInfo:impRsInfos) {
  137. String orgIds = rsInfo.getOrgId();
  138. if(StringUtils.isBlank(orgId)){
  139. orgId = orgIds;
  140. }
  141. String proCode = rsInfo.getProCode();
  142. String cityCode = rsInfo.getCityCode();
  143. if(StringUtils.isNotBlank(cityCode)){
  144. cityCode = cityCode.substring(0,4);
  145. }
  146. String rsCode = rsInfo.getRsCode();
  147. String rsName = rsInfo.getRsName();
  148. String oldGroupId = rsInfo.getOldGroupId();
  149. String regId = rsInfo.getRegId();
  150. String objId = rsInfo.getObjId();
  151. if(StringUtils.isNotBlank(oldGroupId)){
  152. Map<String, Object> param = new HashMap<>();
  153. param.put("id",oldGroupId);
  154. List<Map<String, Object>> oldGroups = impPersInfoDao.getOldGroups(param);
  155. String persIds = "";
  156. for (Map<String, Object> oldGroup:oldGroups) {
  157. String persId = String.valueOf(oldGroup.get("PERSID"));
  158. persIds += persId+",";
  159. }
  160. if(StringUtils.isNotBlank(persIds)){
  161. persIds = persIds.substring(0,persIds.length()-1);
  162. }
  163. param.put("id","001"+orgId);
  164. param.put("mnth",mnth);
  165. param.put("persIds",persIds);
  166. param.put("adCd",proCode);
  167. List<Map<String, Object>> newGroups = impPersInfoDao.getNewGroups(param);
  168. if(newGroups!=null&&newGroups.size()>0){
  169. if(newGroups.size()==1){
  170. Map<String, Object> newGroup = newGroups.get(0);
  171. String newGroupId = String.valueOf(newGroup.get("ID"));
  172. String newGroupNm = String.valueOf(newGroup.get("PNM"));
  173. rsInfo.setGroupId(newGroupId);
  174. rsInfo.setGroupNm(newGroupNm);
  175. impRsInfoDao.update(rsInfo);
  176. if(!oldGroupId.equals(newGroupId)){
  177. BisInspAllObj bisInspAllObj = new BisInspAllObj();
  178. bisInspAllObj.setId(newGroupId);
  179. bisInspAllObj.setObjId(objId);
  180. bisInspAllObjDao.update(bisInspAllObj);
  181. }
  182. }else {
  183. param.put("regId",regId);
  184. List<Map<String, Object>> newGroupsIds = impPersInfoDao.getNewGroups(param);
  185. if(newGroupsIds!=null&&newGroupsIds.size()>0){
  186. newGroups = newGroupsIds;
  187. }
  188. if(newGroups.size()==1){
  189. Map<String, Object> newGroup = newGroups.get(0);
  190. String newGroupId = String.valueOf(newGroup.get("ID"));
  191. String newGroupNm = String.valueOf(newGroup.get("PNM"));
  192. rsInfo.setGroupId(newGroupId);
  193. rsInfo.setGroupNm(newGroupNm);
  194. impRsInfoDao.update(rsInfo);
  195. if(!oldGroupId.equals(newGroupId)){
  196. BisInspAllObj bisInspAllObj = new BisInspAllObj();
  197. bisInspAllObj.setId(newGroupId);
  198. bisInspAllObj.setObjId(objId);
  199. bisInspAllObjDao.update(bisInspAllObj);
  200. }
  201. }else {
  202. String newGroupIds = "";
  203. String newGroupNms = "";
  204. boolean isHas = false;
  205. for (Map<String, Object> newGroup:newGroups) {
  206. String newGroupId = String.valueOf(newGroup.get("ID"));
  207. String newGroupNm = String.valueOf(newGroup.get("PNM"));
  208. if(oldGroupId.equals(newGroupId)){
  209. isHas = true;
  210. newGroupIds = newGroupId;
  211. newGroupNms = newGroupNm;
  212. break;
  213. }
  214. newGroupIds += newGroupId+",";
  215. newGroupNms += newGroupNm+",";
  216. }
  217. if(isHas){
  218. rsInfo.setGroupId(newGroupIds);
  219. rsInfo.setGroupNm(newGroupNms);
  220. impRsInfoDao.update(rsInfo);
  221. }else{
  222. if(StringUtils.isNotBlank(newGroupIds)){
  223. newGroupIds = newGroupIds.substring(0,newGroupIds.length()-1);
  224. }
  225. if(StringUtils.isNotBlank(newGroupNms)){
  226. newGroupNms = newGroupNms.substring(0,newGroupNms.length()-1);
  227. }
  228. rsInfo.setGroupId(newGroupIds);
  229. rsInfo.setGroupNm(newGroupNms);
  230. impRsInfoDao.update(rsInfo);
  231. System.out.println("查询出多个督查组:"+newGroupIds+"---"+newGroupNms);
  232. }
  233. }
  234. }
  235. }else{
  236. param.put("persIds","");
  237. newGroups = impPersInfoDao.getNewGroups(param);
  238. if(newGroups!=null&&newGroups.size()>0){
  239. if(newGroups.size()==1){
  240. Map<String, Object> newGroup = newGroups.get(0);
  241. String newGroupId = String.valueOf(newGroup.get("ID"));
  242. String newGroupNm = String.valueOf(newGroup.get("PNM"));
  243. rsInfo.setGroupId(newGroupId);
  244. rsInfo.setGroupNm(newGroupNm);
  245. impRsInfoDao.update(rsInfo);
  246. if(!oldGroupId.equals(newGroupId)){
  247. BisInspAllObj bisInspAllObj = new BisInspAllObj();
  248. bisInspAllObj.setId(newGroupId);
  249. bisInspAllObj.setObjId(objId);
  250. bisInspAllObjDao.update(bisInspAllObj);
  251. }
  252. }else{
  253. param.put("adCd",cityCode);
  254. newGroups = impPersInfoDao.getNewGroups(param);
  255. if(newGroups!=null&&newGroups.size()>0){
  256. if(newGroups.size()==1){
  257. Map<String, Object> newGroup = newGroups.get(0);
  258. String newGroupId = String.valueOf(newGroup.get("ID"));
  259. String newGroupNm = String.valueOf(newGroup.get("PNM"));
  260. rsInfo.setGroupId(newGroupId);
  261. rsInfo.setGroupNm(newGroupNm);
  262. impRsInfoDao.update(rsInfo);
  263. if(!oldGroupId.equals(newGroupId)){
  264. BisInspAllObj bisInspAllObj = new BisInspAllObj();
  265. bisInspAllObj.setId(newGroupId);
  266. bisInspAllObj.setObjId(objId);
  267. bisInspAllObjDao.update(bisInspAllObj);
  268. }
  269. }else {
  270. for (Map<String, Object> newGroup:newGroups) {
  271. }
  272. }
  273. }else{
  274. }
  275. }
  276. }else {
  277. System.out.println("原督查组未与现有督查组人员匹配上");
  278. }
  279. }
  280. }else{
  281. Map<String, Object> param = new HashMap<>();
  282. param.put("id","001"+orgId);
  283. param.put("mnth",mnth);
  284. param.put("adCd",proCode);
  285. List<Map<String, Object>> newGroups = impPersInfoDao.getNewGroups(param);
  286. String newGroupId;
  287. String newGroupNm;
  288. if(newGroups!=null&&newGroups.size()>0){
  289. newGroupId = String.valueOf(newGroups.get(0).get("ID"));
  290. newGroupNm = String.valueOf(newGroups.get(0).get("PNM"));
  291. BisInspAllObj bisInspAllObj = new BisInspAllObj();
  292. AttRsBaseParam baseParam = new AttRsBaseParam();
  293. baseParam.setRsCode(rsCode);
  294. AttRsBase attRsBase = attRsBaseDao.getBy(baseParam);
  295. BisInspRsvrRgstr b = new BisInspRsvrRgstr();
  296. regId = UuidUtil.uuid();
  297. b.setRgstrId(regId);
  298. b.setObjId(newGroupId);
  299. b.setRsCode(attRsBase.getRsCode());
  300. b.setRsvrNm(newGroupNm);
  301. b.setAdCode(attRsBase.getAdmDiv());
  302. b.setRsvrAdmName(attRsBase.getRsAdmName());
  303. if(attRsBase.getDamSizeHig()==null){
  304. b.setDamMaxHigh(null);
  305. }else {
  306. b.setDamMaxHigh(Double.toString(attRsBase.getDamSizeHig()));
  307. }
  308. b.setEngScal(attRsBase.getEngScal());
  309. if(StringUtils.isNotBlank(attRsBase.getLocation())){
  310. b.setHystSite(attRsBase.getLocation());
  311. }else {
  312. b.setHystSite(attRsBase.getRsLoc());
  313. }
  314. if(attRsBase.getCenterYGd()!=null){
  315. bisInspAllObj.setLttd(Double.parseDouble(attRsBase.getCenterYGd()));
  316. b.setRsvrLat(Double.parseDouble(attRsBase.getCenterYGd()));
  317. }
  318. if(attRsBase.getCenterXGd()!=null){
  319. bisInspAllObj.setLgtd(Double.parseDouble(attRsBase.getCenterXGd()));
  320. b.setRsvrLong(Double.parseDouble(attRsBase.getCenterXGd()));
  321. }
  322. if(attRsBase.getCenterX()!=null){
  323. bisInspAllObj.setLgtdpc(Double.parseDouble(attRsBase.getCenterX()));
  324. }
  325. if(attRsBase.getCenterY()!=null){
  326. bisInspAllObj.setLttdpc(Double.parseDouble(attRsBase.getCenterY()));
  327. }
  328. b.setResCreateTime(attRsBase.getCompDate());
  329. b.setTotCap(attRsBase.getTotCap());
  330. b.setDamRegCode(attRsBase.getRegCode());
  331. b.setDamType(attRsBase.getDamType());
  332. b.setHasDamRegCode("1");
  333. b.setState("0");
  334. b.setCompDateStr(attRsBase.getCompDateStr());
  335. b.setPresStat("0");
  336. b.setBaseStat("0");
  337. b.setResRunStat("0");
  338. b.setViewStat("0");
  339. b.setDataStat("0");
  340. Date date = new Date();
  341. b.setIntm(date);
  342. b.setUptm(date);
  343. rsvrRgstrService.insert(b);
  344. objId = UuidUtil.uuid();
  345. bisInspAllObj.setPtype("1");
  346. bisInspAllObj.setId(newGroupId);
  347. bisInspAllObj.setObjId(objId);
  348. bisInspAllObj.setCode(rsCode);
  349. bisInspAllObj.setNm(rsName);
  350. bisInspAllObjDao.insert(bisInspAllObj);
  351. rsInfo.setGroupId(newGroupId);
  352. rsInfo.setGroupNm(newGroupNm);
  353. rsInfo.setRegId(regId);
  354. rsInfo.setObjId(objId);
  355. impRsInfoDao.update(rsInfo);
  356. }else{
  357. }
  358. }
  359. }
  360. return null;
  361. }
  362. @Override
  363. public String insertFlkdisList(MultipartFile file) {
  364. List<ExcelInspRsDto> rsvrObjList=new ArrayList<>();
  365. InputStream is = null;
  366. try {
  367. is = file.getInputStream();
  368. // 构造 XSSFWorkbook 对象,strPath 传入文件路径
  369. XSSFWorkbook xwb = new XSSFWorkbook(is);
  370. // 读取第一章表格内容
  371. XSSFSheet sheet = xwb.getSheetAt(1);
  372. // 定义 row、cell
  373. XSSFRow row;
  374. String cell;
  375. for (int i = sheet.getFirstRowNum()+3; i < sheet.getPhysicalNumberOfRows(); i++) {
  376. row = sheet.getRow(i);
  377. ExcelInspRsDto rsvrObj = new ExcelInspRsDto();
  378. int total = row.getPhysicalNumberOfCells();
  379. AttJskejianFlkdisBase jskejianFlkdisBase = new AttJskejianFlkdisBase();
  380. String shi="";
  381. String xian="";
  382. String lkName="";
  383. String cun="";
  384. String jdu="";
  385. String jfen="";
  386. String jm="";
  387. String wdu="";
  388. String wfen="";
  389. String wm="";
  390. String xianz="";
  391. String xiangz="";
  392. String cunz="";
  393. String pblmdesc="";
  394. String pblmType="";
  395. String zhan="";
  396. String cai="";
  397. String dui="";
  398. String jian="";
  399. String qita="";
  400. String xiao="";
  401. for (int j = row.getFirstCellNum(); j < total; j++) {
  402. if(row.getCell(j)==null){
  403. continue;
  404. }
  405. cell = row.getCell(j).toString();
  406. cell = cell.trim();
  407. if(j==1){
  408. shi = cell;
  409. }else if(j==2){
  410. xian = cell;
  411. }else if(j==3){
  412. lkName = cell;
  413. }else if(j==4){
  414. cun = cell;
  415. }else if(j==5){
  416. jdu = cell;
  417. }else if(j==6){
  418. jfen = cell;
  419. }else if(j==7){
  420. jm = cell;
  421. }else if(j==8){
  422. wdu = cell;
  423. }else if(j==9){
  424. wfen = cell;
  425. }else if(j==10){
  426. wm = cell;
  427. }else if(j==11){
  428. xianz = cell;
  429. }else if(j==12){
  430. xiangz = cell;
  431. }else if(j==13){
  432. cunz = cell;
  433. }else if(j==14){
  434. pblmdesc = cell;
  435. }else if(j==15){
  436. zhan = cell;
  437. if(StringUtils.isNotBlank(cell)) {
  438. pblmType="1";
  439. }
  440. }else if(j==16){
  441. cai = cell;
  442. if(StringUtils.isNotBlank(cell)) {
  443. pblmType="2";
  444. }
  445. }else if(j==17){
  446. dui = cell;
  447. if(StringUtils.isNotBlank(cell)) {
  448. pblmType="3";
  449. }
  450. }else if(j==18){
  451. jian = cell;
  452. if(StringUtils.isNotBlank(cell)) {
  453. pblmType="4";
  454. }
  455. }else if(j==19){
  456. qita = cell;
  457. if(StringUtils.isNotBlank(cell)) {
  458. pblmType="5";
  459. }
  460. }else if(j==20){
  461. xiao = cell;
  462. if(xiao.contains(".")){
  463. xiao = xiao.substring(0,xiao.indexOf("."));
  464. }
  465. }
  466. }
  467. jskejianFlkdisBase.setId(UuidUtil.uuid());
  468. String name = lkName + "("+shi+xian+cun+")";
  469. jskejianFlkdisBase.setName(name);
  470. String adCode = getAdCd("福建省",shi,xian);
  471. jskejianFlkdisBase.setAdCode(adCode);
  472. jskejianFlkdisBase.setAdName(xian);
  473. jskejianFlkdisBase.setRvReaLkName(lkName);
  474. jskejianFlkdisBase.setLocation(cun);
  475. jskejianFlkdisBase.setContRvonNameDuty(xianz);
  476. jskejianFlkdisBase.setTownRvonNameDuty(xiangz);
  477. jskejianFlkdisBase.setVilgRvonNameDuty(cunz);
  478. jskejianFlkdisBase.setPblmDesc(pblmdesc);
  479. jskejianFlkdisBase.setPblmType(pblmType);
  480. jskejianFlkdisBase.setRectConc(xiao);
  481. double d = 0.0;
  482. double f = 0.0;
  483. double m = 0.0;
  484. if(StringUtils.isNotBlank(jdu)) {
  485. d = Double.parseDouble(jdu);
  486. }
  487. if(StringUtils.isNotBlank(jfen)) {
  488. f = Double.parseDouble(jfen);
  489. }
  490. if(StringUtils.isNotBlank(jm)) {
  491. m = Double.parseDouble(jm);
  492. }
  493. double fen = f + (m / 60);
  494. double du = (fen / 60) + Math.abs(d);
  495. if (d < 0) {
  496. du = -du;
  497. }
  498. jskejianFlkdisBase.setCenterX(Double.parseDouble(String.format("%.8f", du)));
  499. d = 0.0;
  500. f = 0.0;
  501. m = 0.0;
  502. if(StringUtils.isNotBlank(wdu)) {
  503. d = Double.parseDouble(wdu);
  504. }
  505. if(StringUtils.isNotBlank(wfen)) {
  506. f = Double.parseDouble(wfen);
  507. }
  508. if(StringUtils.isNotBlank(wm)) {
  509. m = Double.parseDouble(wm);
  510. }
  511. fen = f + (m / 60);
  512. du = (fen / 60) + Math.abs(d);
  513. if (d < 0) {
  514. du = -du;
  515. }
  516. jskejianFlkdisBase.setCenterY(Double.parseDouble(String.format("%.8f", du)));
  517. Map<String, Double> map = GeoUtil.wgs84togcj02(jskejianFlkdisBase.getCenterX(),jskejianFlkdisBase.getCenterY());
  518. jskejianFlkdisBase.setGdX(map.get("lon"));
  519. jskejianFlkdisBase.setGdY(map.get("lat"));
  520. jskejianFlkdisBaseDao.insert(jskejianFlkdisBase);
  521. }
  522. } catch (Exception e) {
  523. e.printStackTrace();
  524. }
  525. return null;
  526. }
  527. @Override
  528. public String insertWaterList(MultipartFile file) {
  529. InputStream is = null;
  530. try {
  531. is = file.getInputStream();
  532. // 构造 XSSFWorkbook 对象,strPath 传入文件路径
  533. XSSFWorkbook xwb = new XSSFWorkbook(is);
  534. // 读取第一章表格内容
  535. XSSFSheet sheet = xwb.getSheetAt(0);
  536. // 定义 row、cell
  537. XSSFRow row;
  538. String cell;
  539. for (int i = sheet.getFirstRowNum()+3; i < sheet.getPhysicalNumberOfRows(); i++) {
  540. row = sheet.getRow(i);
  541. int total = row.getPhysicalNumberOfCells();
  542. AttJskejianWaterBase jskejianWaterBase = new AttJskejianWaterBase();
  543. String shi="";
  544. String xian="";
  545. String lkName="";
  546. String xiang = "";
  547. String cun="";
  548. String jdfm="";
  549. String wdfm="";
  550. String pblmdesc="";
  551. String pblmType="";
  552. for (int j = row.getFirstCellNum(); j < total; j++) {
  553. if(row.getCell(j)==null){
  554. continue;
  555. }
  556. cell = row.getCell(j).toString();
  557. cell = cell.trim();
  558. if(j==1){
  559. shi = cell;
  560. }else if(j==2){
  561. xian = cell;
  562. }else if(j==3){
  563. lkName = cell;
  564. }else if(j==4){
  565. xiang = cell;
  566. }else if(j==5){
  567. cun = cell;
  568. }else if(j==6){
  569. jdfm = cell;
  570. }else if(j==7){
  571. wdfm = cell;
  572. }else if(j==8){
  573. pblmType = cell;
  574. }else if(j==9){
  575. pblmdesc = cell;
  576. }
  577. }
  578. jskejianWaterBase.setId(UuidUtil.uuid());
  579. String name = lkName + "("+shi+xian+xiang+cun+")";
  580. jskejianWaterBase.setName(name);
  581. String adCode = getAdCd("福建省",shi,xian);
  582. jskejianWaterBase.setAdCode(adCode);
  583. jskejianWaterBase.setAdName(xian);
  584. jskejianWaterBase.setRvReaLkName(lkName);
  585. jskejianWaterBase.setLocation(shi+xian+xiang+cun);
  586. jskejianWaterBase.setAerialPoint(cun);
  587. jskejianWaterBase.setPblmDesc(pblmdesc);
  588. jskejianWaterBase.setPblmType(pblmType);
  589. jskejianWaterBase.setRectConc("1");
  590. Double x = changeToDu(jdfm);
  591. jskejianWaterBase.setCenterX(Double.parseDouble(String.format("%.8f", x)));
  592. Double y = changeToDu(wdfm);
  593. jskejianWaterBase.setCenterY(Double.parseDouble(String.format("%.8f", y)));
  594. Map<String, Double> map = GeoUtil.wgs84togcj02(jskejianWaterBase.getCenterX(),jskejianWaterBase.getCenterY());
  595. jskejianWaterBase.setGdX(map.get("lon"));
  596. jskejianWaterBase.setGdY(map.get("lat"));
  597. jskejianWaterBaseDao.insert(jskejianWaterBase);
  598. }
  599. } catch (Exception e) {
  600. e.printStackTrace();
  601. }
  602. return null;
  603. }
  604. @Override
  605. public String insertEcofrdList(MultipartFile file) {
  606. InputStream is = null;
  607. try {
  608. is = file.getInputStream();
  609. // 构造 XSSFWorkbook 对象,strPath 传入文件路径
  610. XSSFWorkbook xwb = new XSSFWorkbook(is);
  611. // 读取第一章表格内容
  612. XSSFSheet sheet = xwb.getSheetAt(0);
  613. // 定义 row、cell
  614. XSSFRow row;
  615. String cell;
  616. for (int i = sheet.getFirstRowNum()+1; i < sheet.getPhysicalNumberOfRows(); i++) {
  617. row = sheet.getRow(i);
  618. int total = row.getPhysicalNumberOfCells();
  619. AttJskejianEcofrdBase jskejianEcofrdBase = new AttJskejianEcofrdBase();
  620. String shi="";
  621. String xian="";
  622. for (int j = row.getFirstCellNum(); j < total; j++) {
  623. if(row.getCell(j)==null){
  624. continue;
  625. }
  626. cell = row.getCell(j).toString();
  627. if(StringUtils.isNotBlank(cell)){
  628. cell = cell.replaceAll(" ","");
  629. cell=cell.replaceAll("[\\t\\n\\r]", "");//将内容区域的回车换行去除
  630. }
  631. if(j==1){
  632. shi = cell;
  633. }else if(j==2){
  634. xian = cell;
  635. }else if(j==3){
  636. jskejianEcofrdBase.setAccepNum(cell);
  637. }else if(j==4){
  638. jskejianEcofrdBase.setAssignNum(cell);
  639. }else if(j==5){
  640. jskejianEcofrdBase.setReportContent(cell);
  641. }else if(j==6){
  642. jskejianEcofrdBase.setBiz(cell);
  643. }else if(j==7){
  644. }else if(j==8){
  645. jskejianEcofrdBase.setHostUnit(cell);
  646. }else if(j==9){
  647. jskejianEcofrdBase.setSptUnit(cell);
  648. }else if(j==10){
  649. }else if(j==11){
  650. jskejianEcofrdBase.setIsOver(cell);
  651. }else if(j==12){
  652. }else if(j==13){
  653. jskejianEcofrdBase.setInvstVfctn(cell);
  654. }else if(j==14){
  655. jskejianEcofrdBase.setTrtmtRctftn(cell);
  656. }else if(j==15){
  657. jskejianEcofrdBase.setOpinion(cell);
  658. }else if(j==16){
  659. jskejianEcofrdBase.setOffice(cell);
  660. }
  661. }
  662. jskejianEcofrdBase.setId(UuidUtil.uuid());
  663. String adCode = getAdCd("福建省",shi,xian);
  664. jskejianEcofrdBase.setAdCode(adCode);
  665. jskejianEcofrdBase.setAdName(xian);
  666. jskejianEcofrdBase.setLocation("福建省"+shi+xian);
  667. jskejianEcofrdBaseDao.insert(jskejianEcofrdBase);
  668. }
  669. } catch (Exception e) {
  670. e.printStackTrace();
  671. }
  672. return null;
  673. }
  674. /**
  675. * 度分秒转经纬度
  676. * @param dms 116°25'7.85"
  677. * @return 116.418847
  678. */
  679. public static double changeToDu(String dms) {
  680. if (dms == null) {
  681. return 0;
  682. }
  683. try {
  684. dms = dms.replace(" ", "");
  685. String[] str2 = dms.split("°");
  686. if (str2.length < 2) {
  687. return 0;
  688. }
  689. int d = Integer.parseInt(str2[0]);
  690. String[] str3 = str2[1].split("\'");
  691. if (str3.length < 2) {
  692. return 0;
  693. }
  694. int f = Integer.parseInt(str3[0]);
  695. String str4 = str3[1].substring(0, str3[1].length() - 1);
  696. double m = Double.parseDouble(str4);
  697. double fen = f + (m / 60);
  698. double du = (fen / 60) + Math.abs(d);
  699. if (d < 0) {
  700. du = -du;
  701. }
  702. return du;
  703. } catch (Exception e) {
  704. e.printStackTrace();
  705. }
  706. return 0;
  707. }
  708. public String getAdCd(String sheng,String shi, String xian){
  709. String adCd = "";
  710. AttAdXBaseParam attAdXBaseParam = new AttAdXBaseParam();
  711. AttAdXBase attAdXBase;
  712. if(StringUtils.isNotBlank(sheng)){
  713. attAdXBaseParam.setAdName(sheng);
  714. attAdXBaseParam.setAdGrad("2");
  715. attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
  716. if(attAdXBase!=null){
  717. String shengCode = attAdXBase.getAdCode();
  718. attAdXBaseParam.setAdFcode(shengCode);
  719. adCd = shengCode;
  720. }else {
  721. attAdXBaseParam.setAdName("");
  722. attAdXBaseParam.setAdFullName(sheng);
  723. attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
  724. if(attAdXBase!=null){
  725. String shengCode = attAdXBase.getAdCode();
  726. attAdXBaseParam.setAdFcode(shengCode);
  727. adCd = shengCode;
  728. }
  729. }
  730. }
  731. if(StringUtils.isNotBlank(shi)){
  732. attAdXBaseParam.setAdName(shi);
  733. attAdXBaseParam.setAdGrad("3");
  734. attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
  735. if(attAdXBase!=null){
  736. String shiCode = attAdXBase.getAdCode();
  737. attAdXBaseParam.setAdFcode(shiCode);
  738. adCd = shiCode;
  739. }else {
  740. attAdXBaseParam.setAdName("");
  741. attAdXBaseParam.setAdFullName(shi);
  742. attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
  743. if(attAdXBase!=null){
  744. String shiCode = attAdXBase.getAdCode();
  745. attAdXBaseParam.setAdFcode(shiCode);
  746. adCd = shiCode;
  747. }
  748. }
  749. }
  750. if(StringUtils.isNotBlank(xian)){
  751. attAdXBaseParam.setAdName(xian);
  752. attAdXBaseParam.setAdGrad("4");
  753. attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
  754. if(attAdXBase!=null){
  755. adCd = attAdXBase.getAdCode();
  756. }else{
  757. attAdXBaseParam.setAdName("");
  758. attAdXBaseParam.setAdFullName(xian);
  759. attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
  760. if(attAdXBase!=null){
  761. adCd = attAdXBase.getAdCode();
  762. }
  763. }
  764. }
  765. return adCd;
  766. }
  767. public Map<String, String> getAdCds(String sheng, String shi, String xian){
  768. Map<String, String> map = new HashMap<>();
  769. AttAdXBaseParam attAdXBaseParam = new AttAdXBaseParam();
  770. attAdXBaseParam.setAdName(sheng);
  771. attAdXBaseParam.setAdGrad("2");
  772. AttAdXBase attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
  773. if(attAdXBase!=null){
  774. String shengCode = attAdXBase.getAdCode();
  775. attAdXBaseParam.setAdFcode(shengCode);
  776. map.put("sheng",shengCode);
  777. }else {
  778. attAdXBaseParam.setAdName("");
  779. attAdXBaseParam.setAdFullName(sheng);
  780. attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
  781. if(attAdXBase!=null){
  782. String shengCode = attAdXBase.getAdCode();
  783. attAdXBaseParam.setAdFcode(shengCode);
  784. map.put("sheng",shengCode);
  785. }
  786. }
  787. if(StringUtils.isNotBlank(shi)){
  788. attAdXBaseParam.setAdName(shi);
  789. attAdXBaseParam.setAdGrad("3");
  790. attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
  791. if(attAdXBase!=null){
  792. String shiCode = attAdXBase.getAdCode();
  793. attAdXBaseParam.setAdFcode(shiCode);
  794. map.put("shi",shiCode);
  795. }else {
  796. attAdXBaseParam.setAdName("");
  797. attAdXBaseParam.setAdFullName(shi);
  798. attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
  799. if(attAdXBase!=null){
  800. String shiCode = attAdXBase.getAdCode();
  801. attAdXBaseParam.setAdFcode(shiCode);
  802. map.put("shi",shiCode);
  803. }else {
  804. attAdXBaseParam.setAdFcode("");
  805. attAdXBaseParam.setAdCode(map.get("sheng").substring(0,2));
  806. }
  807. }
  808. }else{
  809. attAdXBaseParam.setAdFcode("");
  810. attAdXBaseParam.setAdCode(map.get("sheng").substring(0,2));
  811. }
  812. if(StringUtils.isNotBlank(xian)){
  813. attAdXBaseParam.setAdName(xian);
  814. attAdXBaseParam.setAdGrad("4");
  815. attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
  816. if(attAdXBase!=null){
  817. String xianCode = attAdXBase.getAdCode();
  818. map.put("xian",xianCode);
  819. if (StringUtils.isBlank(map.get("shi"))){
  820. map.put("shi",attAdXBase.getAdFcode());
  821. }
  822. }else{
  823. attAdXBaseParam.setAdName("");
  824. attAdXBaseParam.setAdFullName(xian);
  825. attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
  826. if(attAdXBase!=null){
  827. String xianCode = attAdXBase.getAdCode();
  828. map.put("xian",xianCode);
  829. if (StringUtils.isBlank(map.get("shi"))){
  830. map.put("shi",attAdXBase.getAdFcode());
  831. }
  832. }else{
  833. if(xian.endsWith("县")||xian.endsWith("区")){
  834. xian = xian.substring(0,xian.length()-1);
  835. }
  836. attAdXBaseParam.setAdName(xian);
  837. attAdXBaseParam.setAdGrad("4");
  838. attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
  839. if(attAdXBase!=null){
  840. String xianCode = attAdXBase.getAdCode();
  841. map.put("xian",xianCode);
  842. if (StringUtils.isBlank(map.get("shi"))){
  843. map.put("shi",attAdXBase.getAdFcode());
  844. }
  845. }
  846. }
  847. }
  848. }
  849. return map;
  850. }
  851. public String getOrgId(String orgNm){
  852. String orgId = "";
  853. if("长江委".equals(orgNm)){
  854. orgId= "020";
  855. }else if("黄委".equals(orgNm)){
  856. orgId= "021";
  857. }else if("淮委".equals(orgNm)){
  858. orgId= "022";
  859. }else if("海委".equals(orgNm)){
  860. orgId= "023";
  861. }else if("珠江委".equals(orgNm)){
  862. orgId= "024";
  863. }else if("松辽委".equals(orgNm)){
  864. orgId= "025";
  865. }else if("太湖局".equals(orgNm)){
  866. orgId= "026";
  867. }else if("部督查办".equals(orgNm)){
  868. orgId= "027";
  869. }
  870. return orgId;
  871. }
  872. public Map<String, String> checkRsNm(String rsvrNm, String adCd){
  873. Map<String, String> map;
  874. map = checkRgstrs(rsvrNm, adCd);
  875. if(StringUtils.isBlank(map.get("rsCode"))){
  876. map = checkRsBase(rsvrNm, adCd);
  877. }
  878. return map;
  879. }
  880. public Map<String, String> checkRgstrs(String rsvrNm, String adCd){
  881. Map<String, String> map = new HashMap<>();
  882. BisInspRsvrRgstrParam bisInspRsvrRgstrParam = new BisInspRsvrRgstrParam();
  883. bisInspRsvrRgstrParam.setAdCode(adCd);
  884. bisInspRsvrRgstrParam.setRsvrNm(rsvrNm);
  885. List<BisInspRsvrRgstr> rsvrRgstrs = rsvrRgstrService.findList(bisInspRsvrRgstrParam);
  886. if(rsvrRgstrs!=null&&rsvrRgstrs.size()>0){
  887. if(rsvrRgstrs.size()>1){
  888. for (BisInspRsvrRgstr rsvrRgstr:rsvrRgstrs) {
  889. String name = rsvrRgstr.getRsvrNm();
  890. if(rsvrNm.equals(name)){
  891. map.put("rsCode",rsvrRgstr.getRsCode());
  892. map.put("rsName",rsvrRgstr.getRsvrNm());
  893. map.put("regId",rsvrRgstr.getRgstrId());
  894. map.put("objId",rsvrRgstr.getObjId());
  895. }
  896. }
  897. }else{
  898. BisInspRsvrRgstr rsvrRgstr = rsvrRgstrs.get(0);
  899. map.put("rsCode",rsvrRgstr.getRsCode());
  900. map.put("rsName",rsvrRgstr.getRsvrNm());
  901. map.put("regId",rsvrRgstr.getRgstrId());
  902. map.put("objId",rsvrRgstr.getObjId());
  903. }
  904. if(StringUtils.isBlank(map.get("rsCode"))){
  905. bisInspRsvrRgstrParam.setAdCode(adCd.substring(0,4));
  906. rsvrRgstrs = rsvrRgstrService.findList(bisInspRsvrRgstrParam);
  907. if(rsvrRgstrs!=null&&rsvrRgstrs.size()>0){
  908. if(rsvrRgstrs.size()>1){
  909. for (BisInspRsvrRgstr rsvrRgstr:rsvrRgstrs) {
  910. String name = rsvrRgstr.getRsvrNm();
  911. if(rsvrNm.equals(name)){
  912. map.put("rsCode",rsvrRgstr.getRsCode());
  913. map.put("rsName",rsvrRgstr.getRsvrNm());
  914. map.put("regId",rsvrRgstr.getRgstrId());
  915. map.put("objId",rsvrRgstr.getObjId());
  916. }
  917. }
  918. }else{
  919. BisInspRsvrRgstr rsvrRgstr = rsvrRgstrs.get(0);
  920. map.put("rsCode",rsvrRgstr.getRsCode());
  921. map.put("rsName",rsvrRgstr.getRsvrNm());
  922. map.put("regId",rsvrRgstr.getRgstrId());
  923. map.put("objId",rsvrRgstr.getObjId());
  924. }
  925. if(StringUtils.isBlank(map.get("rsCode"))){
  926. bisInspRsvrRgstrParam.setAdCode(adCd.substring(0,2));
  927. rsvrRgstrs = rsvrRgstrService.findList(bisInspRsvrRgstrParam);
  928. if(rsvrRgstrs!=null&&rsvrRgstrs.size()>0){
  929. if(rsvrRgstrs.size()>1){
  930. for (BisInspRsvrRgstr rsvrRgstr:rsvrRgstrs) {
  931. String name = rsvrRgstr.getRsvrNm();
  932. if(rsvrNm.equals(name)){
  933. map.put("rsCode",rsvrRgstr.getRsCode());
  934. map.put("rsName",rsvrRgstr.getRsvrNm());
  935. map.put("regId",rsvrRgstr.getRgstrId());
  936. map.put("objId",rsvrRgstr.getObjId());
  937. }
  938. }
  939. }else{
  940. BisInspRsvrRgstr rsvrRgstr = rsvrRgstrs.get(0);
  941. map.put("rsCode",rsvrRgstr.getRsCode());
  942. map.put("rsName",rsvrRgstr.getRsvrNm());
  943. map.put("regId",rsvrRgstr.getRgstrId());
  944. map.put("objId",rsvrRgstr.getObjId());
  945. }
  946. }
  947. }
  948. }
  949. }
  950. }else{
  951. bisInspRsvrRgstrParam.setRsvrNm(rsvrNm.replaceAll("水库",""));
  952. rsvrRgstrs = rsvrRgstrService.findList(bisInspRsvrRgstrParam);
  953. if(rsvrRgstrs!=null&&rsvrRgstrs.size()>0){
  954. if(rsvrRgstrs.size()>1){
  955. for (BisInspRsvrRgstr rsvrRgstr:rsvrRgstrs) {
  956. String name = rsvrRgstr.getRsvrNm();
  957. if(rsvrNm.equals(name)){
  958. map.put("rsCode",rsvrRgstr.getRsCode());
  959. map.put("rsName",rsvrRgstr.getRsvrNm());
  960. map.put("regId",rsvrRgstr.getRgstrId());
  961. map.put("objId",rsvrRgstr.getObjId());
  962. }
  963. }
  964. }else{
  965. BisInspRsvrRgstr rsvrRgstr = rsvrRgstrs.get(0);
  966. map.put("rsCode",rsvrRgstr.getRsCode());
  967. map.put("rsName",rsvrRgstr.getRsvrNm());
  968. map.put("regId",rsvrRgstr.getRgstrId());
  969. map.put("objId",rsvrRgstr.getObjId());
  970. }
  971. if(StringUtils.isBlank(map.get("rsCode"))){
  972. bisInspRsvrRgstrParam.setAdCode(adCd.substring(0,4));
  973. rsvrRgstrs = rsvrRgstrService.findList(bisInspRsvrRgstrParam);
  974. if(rsvrRgstrs!=null&&rsvrRgstrs.size()>0){
  975. if(rsvrRgstrs.size()>1){
  976. for (BisInspRsvrRgstr rsvrRgstr:rsvrRgstrs) {
  977. String name = rsvrRgstr.getRsvrNm();
  978. if(rsvrNm.equals(name)){
  979. map.put("rsCode",rsvrRgstr.getRsCode());
  980. map.put("rsName",rsvrRgstr.getRsvrNm());
  981. map.put("regId",rsvrRgstr.getRgstrId());
  982. map.put("objId",rsvrRgstr.getObjId());
  983. }
  984. }
  985. }else{
  986. BisInspRsvrRgstr rsvrRgstr = rsvrRgstrs.get(0);
  987. map.put("rsCode",rsvrRgstr.getRsCode());
  988. map.put("rsName",rsvrRgstr.getRsvrNm());
  989. map.put("regId",rsvrRgstr.getRgstrId());
  990. map.put("objId",rsvrRgstr.getObjId());
  991. }
  992. if(StringUtils.isBlank(map.get("rsCode"))){
  993. bisInspRsvrRgstrParam.setAdCode(adCd.substring(0,2));
  994. rsvrRgstrs = rsvrRgstrService.findList(bisInspRsvrRgstrParam);
  995. if(rsvrRgstrs!=null&&rsvrRgstrs.size()>0){
  996. if(rsvrRgstrs.size()>1){
  997. for (BisInspRsvrRgstr rsvrRgstr:rsvrRgstrs) {
  998. String name = rsvrRgstr.getRsvrNm();
  999. if(rsvrNm.equals(name)){
  1000. map.put("rsCode",rsvrRgstr.getRsCode());
  1001. map.put("rsName",rsvrRgstr.getRsvrNm());
  1002. map.put("regId",rsvrRgstr.getRgstrId());
  1003. map.put("objId",rsvrRgstr.getObjId());
  1004. }
  1005. }
  1006. }else{
  1007. BisInspRsvrRgstr rsvrRgstr = rsvrRgstrs.get(0);
  1008. map.put("rsCode",rsvrRgstr.getRsCode());
  1009. map.put("rsName",rsvrRgstr.getRsvrNm());
  1010. map.put("regId",rsvrRgstr.getRgstrId());
  1011. map.put("objId",rsvrRgstr.getObjId());
  1012. }
  1013. }
  1014. }
  1015. }else{
  1016. bisInspRsvrRgstrParam.setAdCode(adCd.substring(0,2));
  1017. rsvrRgstrs = rsvrRgstrService.findList(bisInspRsvrRgstrParam);
  1018. if(rsvrRgstrs!=null&&rsvrRgstrs.size()>0){
  1019. if(rsvrRgstrs.size()>1){
  1020. for (BisInspRsvrRgstr rsvrRgstr:rsvrRgstrs) {
  1021. String name = rsvrRgstr.getRsvrNm();
  1022. if(rsvrNm.equals(name)){
  1023. map.put("rsCode",rsvrRgstr.getRsCode());
  1024. map.put("rsName",rsvrRgstr.getRsvrNm());
  1025. map.put("regId",rsvrRgstr.getRgstrId());
  1026. map.put("objId",rsvrRgstr.getObjId());
  1027. }
  1028. }
  1029. }else{
  1030. BisInspRsvrRgstr rsvrRgstr = rsvrRgstrs.get(0);
  1031. map.put("rsCode",rsvrRgstr.getRsCode());
  1032. map.put("rsName",rsvrRgstr.getRsvrNm());
  1033. map.put("regId",rsvrRgstr.getRgstrId());
  1034. map.put("objId",rsvrRgstr.getObjId());
  1035. }
  1036. }
  1037. }
  1038. }
  1039. }else{
  1040. bisInspRsvrRgstrParam.setAdCode(adCd.substring(0,4));
  1041. rsvrRgstrs = rsvrRgstrService.findList(bisInspRsvrRgstrParam);
  1042. if(rsvrRgstrs!=null&&rsvrRgstrs.size()>0){
  1043. if(rsvrRgstrs.size()>1){
  1044. for (BisInspRsvrRgstr rsvrRgstr:rsvrRgstrs) {
  1045. String name = rsvrRgstr.getRsvrNm();
  1046. if(rsvrNm.equals(name)){
  1047. map.put("rsCode",rsvrRgstr.getRsCode());
  1048. map.put("rsName",rsvrRgstr.getRsvrNm());
  1049. map.put("regId",rsvrRgstr.getRgstrId());
  1050. map.put("objId",rsvrRgstr.getObjId());
  1051. }
  1052. }
  1053. }else{
  1054. BisInspRsvrRgstr rsvrRgstr = rsvrRgstrs.get(0);
  1055. map.put("rsCode",rsvrRgstr.getRsCode());
  1056. map.put("rsName",rsvrRgstr.getRsvrNm());
  1057. map.put("regId",rsvrRgstr.getRgstrId());
  1058. map.put("objId",rsvrRgstr.getObjId());
  1059. }
  1060. if(StringUtils.isBlank(map.get("rsCode"))){
  1061. bisInspRsvrRgstrParam.setAdCode(adCd.substring(0,2));
  1062. rsvrRgstrs = rsvrRgstrService.findList(bisInspRsvrRgstrParam);
  1063. if(rsvrRgstrs!=null&&rsvrRgstrs.size()>0){
  1064. if(rsvrRgstrs.size()>1){
  1065. for (BisInspRsvrRgstr rsvrRgstr:rsvrRgstrs) {
  1066. String name = rsvrRgstr.getRsvrNm();
  1067. if(rsvrNm.equals(name)){
  1068. map.put("rsCode",rsvrRgstr.getRsCode());
  1069. map.put("rsName",rsvrRgstr.getRsvrNm());
  1070. map.put("regId",rsvrRgstr.getRgstrId());
  1071. map.put("objId",rsvrRgstr.getObjId());
  1072. }
  1073. }
  1074. }else{
  1075. BisInspRsvrRgstr rsvrRgstr = rsvrRgstrs.get(0);
  1076. map.put("rsCode",rsvrRgstr.getRsCode());
  1077. map.put("rsName",rsvrRgstr.getRsvrNm());
  1078. map.put("regId",rsvrRgstr.getRgstrId());
  1079. map.put("objId",rsvrRgstr.getObjId());
  1080. }
  1081. }
  1082. }
  1083. }else{
  1084. bisInspRsvrRgstrParam.setAdCode(adCd.substring(0,2));
  1085. rsvrRgstrs = rsvrRgstrService.findList(bisInspRsvrRgstrParam);
  1086. if(rsvrRgstrs!=null&&rsvrRgstrs.size()>0){
  1087. if(rsvrRgstrs.size()>1){
  1088. for (BisInspRsvrRgstr rsvrRgstr:rsvrRgstrs) {
  1089. String name = rsvrRgstr.getRsvrNm();
  1090. if(rsvrNm.equals(name)){
  1091. map.put("rsCode",rsvrRgstr.getRsCode());
  1092. map.put("rsName",rsvrRgstr.getRsvrNm());
  1093. map.put("regId",rsvrRgstr.getRgstrId());
  1094. map.put("objId",rsvrRgstr.getObjId());
  1095. }
  1096. }
  1097. }else{
  1098. BisInspRsvrRgstr rsvrRgstr = rsvrRgstrs.get(0);
  1099. map.put("rsCode",rsvrRgstr.getRsCode());
  1100. map.put("rsName",rsvrRgstr.getRsvrNm());
  1101. map.put("regId",rsvrRgstr.getRgstrId());
  1102. map.put("objId",rsvrRgstr.getObjId());
  1103. }
  1104. }
  1105. }
  1106. }
  1107. }
  1108. return map;
  1109. }
  1110. public Map<String, String> checkRsBase(String rsvrNm, String adCd){
  1111. Map<String, String> map = new HashMap<>();
  1112. AttRsBaseParam rsBaseParam = new AttRsBaseParam();
  1113. rsBaseParam.setAdmDiv(adCd);
  1114. rsBaseParam.setRsName(rsvrNm);
  1115. List<AttRsBase> rsBaseList = attRsBaseService.findRsList(rsBaseParam);
  1116. if(rsBaseList!=null&&rsBaseList.size()>0){
  1117. if(rsBaseList.size()>1){
  1118. for (AttRsBase attRs:rsBaseList) {
  1119. String name = attRs.getRsName();
  1120. if(rsvrNm.equals(name)){
  1121. map.put("rsCode",attRs.getRsCode());
  1122. }
  1123. }
  1124. }else{
  1125. AttRsBase attRs = rsBaseList.get(0);
  1126. map.put("rsCode",attRs.getRsCode());
  1127. }
  1128. if(StringUtils.isBlank(map.get("rsCode"))){
  1129. rsBaseParam.setAdmDiv(adCd.substring(0,4));
  1130. rsBaseParam.setRsName(rsvrNm);
  1131. rsBaseList = attRsBaseService.findRsList(rsBaseParam);
  1132. if(rsBaseList!=null&&rsBaseList.size()>0){
  1133. if(rsBaseList.size()>1){
  1134. for (AttRsBase attRs:rsBaseList) {
  1135. String name = attRs.getRsName();
  1136. if(rsvrNm.equals(name)){
  1137. map.put("rsCode",attRs.getRsCode());
  1138. }
  1139. }
  1140. }else{
  1141. AttRsBase attRs = rsBaseList.get(0);
  1142. map.put("rsCode",attRs.getRsCode());
  1143. }
  1144. if(StringUtils.isBlank(map.get("rsCode"))){
  1145. rsBaseParam.setAdmDiv(adCd.substring(0,2));
  1146. rsBaseParam.setRsName(rsvrNm);
  1147. rsBaseList = attRsBaseService.findRsList(rsBaseParam);
  1148. if(rsBaseList!=null&&rsBaseList.size()>0){
  1149. if(rsBaseList.size()>1){
  1150. for (AttRsBase attRs:rsBaseList) {
  1151. String name = attRs.getRsName();
  1152. if(rsvrNm.equals(name)){
  1153. map.put("rsCode",attRs.getRsCode());
  1154. }
  1155. }
  1156. }else{
  1157. AttRsBase attRs = rsBaseList.get(0);
  1158. map.put("rsCode",attRs.getRsCode());
  1159. }
  1160. }
  1161. }
  1162. }
  1163. }
  1164. }else{
  1165. rsBaseParam.setRsName(rsvrNm.replaceAll("水库",""));
  1166. rsBaseList = attRsBaseService.findRsList(rsBaseParam);
  1167. if(rsBaseList!=null&&rsBaseList.size()>0){
  1168. if(rsBaseList.size()>1){
  1169. for (AttRsBase attRs:rsBaseList) {
  1170. String name = attRs.getRsName();
  1171. if(rsvrNm.equals(name)){
  1172. map.put("rsCode",attRs.getRsCode());
  1173. }
  1174. }
  1175. }else{
  1176. AttRsBase attRs = rsBaseList.get(0);
  1177. map.put("rsCode",attRs.getRsCode());
  1178. }
  1179. if(StringUtils.isBlank(map.get("rsCode"))){
  1180. rsBaseParam.setAdmDiv(adCd.substring(0,4));
  1181. rsBaseList = attRsBaseService.findRsList(rsBaseParam);
  1182. if(rsBaseList!=null&&rsBaseList.size()>0){
  1183. if(rsBaseList.size()>1){
  1184. for (AttRsBase attRs:rsBaseList) {
  1185. String name = attRs.getRsName();
  1186. if(rsvrNm.equals(name)){
  1187. map.put("rsCode",attRs.getRsCode());
  1188. }
  1189. }
  1190. }else{
  1191. AttRsBase attRs = rsBaseList.get(0);
  1192. map.put("rsCode",attRs.getRsCode());
  1193. }
  1194. if(StringUtils.isBlank(map.get("rsCode"))){
  1195. rsBaseParam.setAdmDiv(adCd.substring(0,2));
  1196. rsBaseList = attRsBaseService.findRsList(rsBaseParam);
  1197. if(rsBaseList!=null&&rsBaseList.size()>0){
  1198. if(rsBaseList.size()>1){
  1199. for (AttRsBase attRs:rsBaseList) {
  1200. String name = attRs.getRsName();
  1201. if(rsvrNm.equals(name)){
  1202. map.put("rsCode",attRs.getRsCode());
  1203. }
  1204. }
  1205. }else{
  1206. AttRsBase attRs = rsBaseList.get(0);
  1207. map.put("rsCode",attRs.getRsCode());
  1208. }
  1209. }
  1210. }
  1211. }else{
  1212. rsBaseParam.setAdmDiv(adCd.substring(0,2));
  1213. rsBaseList = attRsBaseService.findRsList(rsBaseParam);
  1214. if(rsBaseList!=null&&rsBaseList.size()>0){
  1215. if(rsBaseList.size()>1){
  1216. for (AttRsBase attRs:rsBaseList) {
  1217. String name = attRs.getRsName();
  1218. if(rsvrNm.equals(name)){
  1219. map.put("rsCode",attRs.getRsCode());
  1220. }
  1221. }
  1222. }else{
  1223. AttRsBase attRs = rsBaseList.get(0);
  1224. map.put("rsCode",attRs.getRsCode());
  1225. }
  1226. }
  1227. }
  1228. }
  1229. }else{
  1230. rsBaseParam.setAdmDiv(adCd.substring(0,4));
  1231. rsBaseList = attRsBaseService.findRsList(rsBaseParam);
  1232. if(rsBaseList!=null&&rsBaseList.size()>0){
  1233. if(rsBaseList.size()>1){
  1234. for (AttRsBase attRs:rsBaseList) {
  1235. String name = attRs.getRsName();
  1236. if(rsvrNm.equals(name)){
  1237. map.put("rsCode",attRs.getRsCode());
  1238. }
  1239. }
  1240. }else{
  1241. AttRsBase attRs = rsBaseList.get(0);
  1242. map.put("rsCode",attRs.getRsCode());
  1243. }
  1244. if(StringUtils.isBlank(map.get("rsCode"))){
  1245. rsBaseParam.setAdmDiv(adCd.substring(0,2));
  1246. rsBaseList = attRsBaseService.findRsList(rsBaseParam);
  1247. if(rsBaseList!=null&&rsBaseList.size()>0){
  1248. if(rsBaseList.size()>1){
  1249. for (AttRsBase attRs:rsBaseList) {
  1250. String name = attRs.getRsName();
  1251. if(rsvrNm.equals(name)){
  1252. map.put("rsCode",attRs.getRsCode());
  1253. }
  1254. }
  1255. }else{
  1256. AttRsBase attRs = rsBaseList.get(0);
  1257. map.put("rsCode",attRs.getRsCode());
  1258. }
  1259. }
  1260. }
  1261. }else{
  1262. rsBaseParam.setAdmDiv(adCd.substring(0,2));
  1263. rsBaseList = attRsBaseService.findRsList(rsBaseParam);
  1264. if(rsBaseList!=null&&rsBaseList.size()>0){
  1265. if(rsBaseList.size()>1){
  1266. for (AttRsBase attRs:rsBaseList) {
  1267. String name = attRs.getRsName();
  1268. if(rsvrNm.equals(name)){
  1269. map.put("rsCode",attRs.getRsCode());
  1270. }
  1271. }
  1272. }else{
  1273. AttRsBase attRs = rsBaseList.get(0);
  1274. map.put("rsCode",attRs.getRsCode());
  1275. }
  1276. }
  1277. }
  1278. }
  1279. }
  1280. return map;
  1281. }
  1282. public static List<ExcelInspRsDto> getRsvrObjListByFile(MultipartFile file){
  1283. List<ExcelInspRsDto> rsvrObjList=new ArrayList<>();
  1284. try{
  1285. InputStream is = file.getInputStream();
  1286. // 构造 XSSFWorkbook 对象,strPath 传入文件路径
  1287. XSSFWorkbook xwb = new XSSFWorkbook(is);
  1288. // 读取第一章表格内容
  1289. XSSFSheet sheet = xwb.getSheetAt(1);
  1290. // 定义 row、cell
  1291. XSSFRow row;
  1292. String cell;
  1293. // 循环输出表格中的内容
  1294. for (int i = sheet.getFirstRowNum()+3; i < sheet.getPhysicalNumberOfRows(); i++) {
  1295. row = sheet.getRow(i);
  1296. ExcelInspRsDto rsvrObj = new ExcelInspRsDto();
  1297. int total = row.getPhysicalNumberOfCells();
  1298. for (int j = row.getFirstCellNum(); j < total; j++) {
  1299. cell = row.getCell(j).toString();
  1300. cell = cell.trim();
  1301. if(j==1){
  1302. rsvrObj.setProvince(cell);
  1303. }
  1304. if(j==2){
  1305. if(cell.contains("市辖区")){
  1306. rsvrObj.setProvince(rsvrObj.getProvince()+"");
  1307. }else{
  1308. if(rsvrObj.getProvince().contains("省")) {
  1309. rsvrObj.setProvince(rsvrObj.getProvince());
  1310. }else {
  1311. rsvrObj.setProvince(rsvrObj.getProvince() );
  1312. }
  1313. }
  1314. rsvrObj.setCity(cell);
  1315. }
  1316. if(j==3){
  1317. rsvrObj.setCountry(cell);
  1318. }
  1319. if(j==4){
  1320. rsvrObj.setRsvrNm(cell);
  1321. }
  1322. if(j==5){
  1323. rsvrObj.setGuimo(encagl(cell));
  1324. }
  1325. if(j==6){
  1326. rsvrObj.setTop(cell);
  1327. }
  1328. if(j==7){
  1329. rsvrObj.setPoor(isPoor(cell));
  1330. }
  1331. if(j==8){
  1332. rsvrObj.setRepeat(isPoor(cell));
  1333. }
  1334. if(j==9){
  1335. rsvrObj.setNote(cell);
  1336. }
  1337. if(j==10){
  1338. rsvrObj.setOrgNm(cell);
  1339. if("长委".equals(cell)){
  1340. rsvrObj.setOrgNm("长江委");
  1341. }
  1342. }
  1343. }
  1344. rsvrObjList.add(rsvrObj);
  1345. }
  1346. }catch (Exception e){
  1347. e.printStackTrace();
  1348. }
  1349. return rsvrObjList;
  1350. }
  1351. private static String isPoor(String cell) {
  1352. if (StringUtils.isBlank(cell) && "否".equals(cell)) {
  1353. return "2";
  1354. }
  1355. return "1";
  1356. }
  1357. private static String encagl(String desc) {
  1358. if ("小Ⅱ".equals(desc)) {
  1359. return "5";
  1360. }
  1361. if ("小Ⅰ".equals(desc)) {
  1362. return "4";
  1363. }
  1364. return "";
  1365. }
  1366. }