cc0cd6efe8502cdcd91a7653c25577f2300d73a8.svn-base 26 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160
  1. package cn.com.goldenwater.dcproj.utils.export;
  2. import cn.com.goldenwater.dcproj.utils.impexcel.format.BaseFieldFormatImp;
  3. import org.apache.commons.lang.StringUtils;
  4. import java.util.regex.Matcher;
  5. import java.util.regex.Pattern;
  6. import static cn.com.goldenwater.dcproj.utils.impexcel.ImpUtil.checkIsDate;
  7. import static java.util.regex.Pattern.compile;
  8. /**
  9. * <p>
  10. * 导入时格式化字段值
  11. * </p>
  12. *
  13. * @author liyz
  14. * @date 2019/4/17 9:03
  15. **/
  16. public class FieldFormatSkImp {
  17. /* 福建水库新增字段开始 */
  18. /**
  19. * 是否有管护人员
  20. * @param value
  21. * @return
  22. */
  23. private static String formatIsHasMangPers(String value) {
  24. return isShiFou(value);
  25. }
  26. /**
  27. * 是否鉴定为三类坝的水库
  28. * @param value
  29. * @return
  30. */
  31. private static String formatIfFsltdz(String value) {
  32. return isShiFou(value);
  33. }
  34. /**
  35. * 是否采取限制运用措施
  36. * @param value
  37. * @return
  38. */
  39. private static String formatIfFsltdzRun(String value) {
  40. return isShiFou(value);
  41. }
  42. /**
  43. * 限制/超汛运行
  44. * @param value
  45. * @return
  46. */
  47. private static String formatIfFsltdzNo(String value) {
  48. if (StringUtils.isBlank(value)) {
  49. return "";
  50. }
  51. switch (value) {
  52. case "严格执行汛限水位":
  53. return "1";
  54. case "超汛限水位运行":
  55. return "2";
  56. }
  57. return "";
  58. }
  59. /**
  60. * 未发挥效益原因
  61. * @param value
  62. * @return
  63. */
  64. private static String formatEffvCas(String value) {
  65. if (StringUtils.isBlank(value)) {
  66. return "";
  67. }
  68. switch (value) {
  69. case "水源问题":
  70. return "1";
  71. case "工程缺陷":
  72. return "2";
  73. case "规划需求变化":
  74. return "3";
  75. case "其他原因":
  76. return "4";
  77. }
  78. return "";
  79. }
  80. /**
  81. * 除险加固
  82. * @param value
  83. * @return
  84. */
  85. private static String formatIfReinForce(String value) {
  86. if (StringUtils.isBlank(value)) {
  87. return "";
  88. }
  89. switch (value) {
  90. case "进行过除险加固":
  91. return "1";
  92. case "正在实施水库情况":
  93. return "2";
  94. case "水库建成未实施除险加固":
  95. return "3";
  96. case "鉴定为三类坝应实施未实施":
  97. return "4";
  98. }
  99. return "";
  100. }
  101. /**
  102. *按规定是否需要开展
  103. * @param value
  104. * @return
  105. */
  106. private static String formatIfDamSafe(String value) {
  107. return isShiFou(value);
  108. }
  109. /**
  110. *是否按要求开展
  111. * @param value
  112. * @return
  113. */
  114. private static String formatIfDamSafeReq(String value) {
  115. return isShiFou(value);
  116. }
  117. /**
  118. * 鉴定报告内容是否合规
  119. * @param value
  120. * @return
  121. */
  122. private static String formatIfDamSafeRul(String value) {
  123. return isShiFou(value);
  124. }
  125. /**
  126. * 鉴定单位资质是否符合规定
  127. * @param value
  128. * @return
  129. */
  130. private static String formatIfDamSafeDepRul(String value) {
  131. return isShiFou(value);
  132. }
  133. /**
  134. * 是否被鉴定为三类坝
  135. * @param value
  136. * @return
  137. */
  138. private static String formatIfDamSafeThr(String value) {
  139. return isShiFou(value);
  140. }
  141. /**
  142. * 按批复内容实施
  143. * @param value
  144. * @return
  145. */
  146. private static String formatReinForceRun(String value) {
  147. return isShiFou(value);
  148. }
  149. /**
  150. * 实施后是否仍有隐患
  151. * @param value
  152. * @return
  153. */
  154. private static String formatReinForceRun2(String value) {
  155. return isShiFou(value);
  156. }
  157. /**
  158. * 是否蓄水验收
  159. * @param value
  160. * @return
  161. */
  162. private static String formatReinForceRun3(String value) {
  163. return isShiFou(value);
  164. }
  165. /**
  166. * 正在实施水库是否按批复内容实施
  167. * @param value
  168. * @return
  169. */
  170. private static String formatIfReinImpGve(String value) {
  171. return isShiFou(value);
  172. }
  173. /**
  174. * 正在实施施工是否按期进行
  175. * @param value
  176. * @return
  177. */
  178. private static String formatIfReinImpPlan(String value) {
  179. return isShiFou(value);
  180. }
  181. /* 福建水库新增字段结束 */
  182. /**
  183. * 1是 0否
  184. */
  185. private static String isShiFou(String value) {
  186. return BaseFieldFormatImp.isWhether(value);
  187. }
  188. /**
  189. * 1较强 2一般 3较差
  190. */
  191. private static String isPlanSameSpeed(String value) {
  192. if (value == null) {
  193. return "";
  194. }
  195. switch (value) {
  196. case "较强":
  197. value = "1";
  198. break;
  199. case "一般":
  200. value = "2";
  201. break;
  202. case "较差":
  203. value = "3";
  204. break;
  205. case "":
  206. value = "0";
  207. break;
  208. default:
  209. value = value + "$E$";
  210. break;
  211. }
  212. return value;
  213. }
  214. /**
  215. * 运行情况 1正常运行 2有缺陷能运行 3不能运行
  216. */
  217. private static String isRunInfo(String value) {
  218. if (value == null) {
  219. return "";
  220. }
  221. switch (value) {
  222. case "正常运行":
  223. value = "1";
  224. break;
  225. case "有缺陷能运行":
  226. value = "2";
  227. break;
  228. case "不能运行":
  229. value = "3";
  230. break;
  231. case "":
  232. value = "0";
  233. break;
  234. default:
  235. value = value + "$E$";
  236. break;
  237. }
  238. return value;
  239. }
  240. /**
  241. * 履职情况
  242. */
  243. private static String workSituation(String value) {
  244. if (value == null) {
  245. return "";
  246. }
  247. switch (value) {
  248. case "好":
  249. value = "1";
  250. break;
  251. case "基本到位":
  252. value = "2";
  253. break;
  254. case "差":
  255. value = "3";
  256. break;
  257. case "":
  258. value = "0";
  259. break;
  260. default:
  261. value = value + "$E$";
  262. break;
  263. }
  264. return value;
  265. }
  266. /**
  267. * 电话号码 11位数字
  268. */
  269. private static String isPersTel(String value) {
  270. if (value == null) {
  271. return "";
  272. }
  273. Pattern pattern = compile("[0-9]*");
  274. Matcher isNum = pattern.matcher(value);
  275. if (value.length() > 11 || !isNum.matches()) {
  276. return value + "$E$";
  277. }
  278. return value;
  279. }
  280. /*
  281. "三个责任人"落实情况
  282. */
  283. // 行政责任人信息
  284. /**
  285. * 是否有行政责任人
  286. */
  287. public static String formatHasWiunWaoLegPers(String value) {
  288. return isShiFou(value);
  289. }
  290. /**
  291. * 行政责任人姓名 <30
  292. */
  293. public static String formatWiunWaoLegPers(String value) {
  294. if (value == null) {
  295. return "";
  296. }
  297. if (value.length() >= 30) {
  298. return value + "$E$";
  299. }
  300. return value;
  301. }
  302. /**
  303. * 行政责任人电话 数字11位
  304. */
  305. public static String formatWiunWaoLegPersTel(String value) {
  306. return isPersTel(value);
  307. }
  308. /**
  309. * 行政责任人职务 <256
  310. */
  311. public static String formatWiunWaoLegPersDuty(String value) {
  312. if (value == null) {
  313. return "";
  314. }
  315. if (value.length() > 256) {
  316. return value + "$E$";
  317. }
  318. return value;
  319. }
  320. /**
  321. * 是否接受过岗位培训
  322. */
  323. public static String formatWiunWaoLegPersTrain(String value) {
  324. return isShiFou(value);
  325. }
  326. /**
  327. * 是否明确规范性履职标准
  328. */
  329. public static String formatWiunWaoLegPersCnps(String value) {
  330. return isShiFou(value);
  331. }
  332. /**
  333. * 履职情况
  334. */
  335. public static String formatWiunWaoLegPersResu(String value) {
  336. return workSituation(value);
  337. }
  338. // 技术责任人情况
  339. /**
  340. * 是否有技术责任人
  341. */
  342. public static String formatHasTechPers(String value) {
  343. return isShiFou(value);
  344. }
  345. /**
  346. * 技术责任人姓名 <30
  347. */
  348. public static String formatTechPers(String value) {
  349. if (value == null) {
  350. return "";
  351. }
  352. if (value.length() >= 30) {
  353. return value + "$E$";
  354. }
  355. return value;
  356. }
  357. /**
  358. * 技术责任人电话 数字11位
  359. */
  360. public static String formatTechPersTel(String value) {
  361. return isPersTel(value);
  362. }
  363. /**
  364. * 技术责任人职务 <256
  365. */
  366. public static String formatTechPersDuty(String value) {
  367. if (value == null) {
  368. return "";
  369. }
  370. if (value.length() > 256) {
  371. return value + "$E$";
  372. }
  373. return value;
  374. }
  375. /**
  376. * 是否接受过岗位培训
  377. */
  378. public static String formatTechPersTrain(String value) {
  379. return isShiFou(value);
  380. }
  381. /**
  382. * 是否明确规范性履职标准
  383. */
  384. public static String formatTechPersCnps(String value) {
  385. return isShiFou(value);
  386. }
  387. /**
  388. * 履职情况
  389. */
  390. public static String formatTechPersResu(String value) {
  391. return workSituation(value);
  392. }
  393. // 巡查责任人情况
  394. /**
  395. * 是否有巡查责任人
  396. */
  397. public static String formatHasPatrolPers(String value) {
  398. return isShiFou(value);
  399. }
  400. /**
  401. * 巡查责任人姓名 <30
  402. */
  403. public static String formatPatrolPers(String value) {
  404. if (value == null) {
  405. return "";
  406. }
  407. if (value.length() >= 30) {
  408. return value + "$E$";
  409. }
  410. return value;
  411. }
  412. /**
  413. * 巡查责任人电话 数字11位
  414. */
  415. public static String formatPatrolPersTel(String value) {
  416. return isPersTel(value);
  417. }
  418. /**
  419. * 是否接受过岗位培训
  420. */
  421. public static String formatPatrolPersTrain(String value) {
  422. return isShiFou(value);
  423. }
  424. /**
  425. * 是否明确规范性履职标准
  426. */
  427. public static String formatPatrolPersCnps(String value) {
  428. return isShiFou(value);
  429. }
  430. /**
  431. * 履职情况
  432. */
  433. public static String formatPatrolPersResu(String value) {
  434. return workSituation(value);
  435. }
  436. /*
  437. "三个重点环节"落实情况
  438. */
  439. // 预测预报能力
  440. /**
  441. * 是否能自主预测预报水雨情
  442. */
  443. public static String formatRainForc(String value) {
  444. return isShiFou(value);
  445. }
  446. /**
  447. * 有其他方法及时了解水雨情
  448. */
  449. public static String formatRainForcNote(String value) {
  450. return isShiFou(value);
  451. }
  452. // 水库调度运用方案
  453. /**
  454. * 是否有水库调度运用方案
  455. */
  456. public static String formatSchPlanSameExta(String value) {
  457. return isShiFou(value);
  458. }
  459. /**
  460. * 是否获得批复
  461. */
  462. public static String formatSchPlanSameAppr(String value) {
  463. return isShiFou(value);
  464. }
  465. /**
  466. * 是否进行演练
  467. */
  468. public static String formatSchPlanSameEme(String value) {
  469. return isShiFou(value);
  470. }
  471. /**
  472. * 可操作性
  473. */
  474. public static String formatSchPlanSameSpeed(String value) {
  475. return isPlanSameSpeed(value);
  476. }
  477. // 安全管理(防汛)应急预案
  478. /**
  479. * 是否有安全管理(防汛)应急方案
  480. */
  481. public static String formatEmerPlanSameExta(String value) {
  482. return isShiFou(value);
  483. }
  484. /**
  485. * 是否获得批复或备案
  486. */
  487. public static String formatEmerPlanSameAppr(String value) {
  488. return isShiFou(value);
  489. }
  490. /**
  491. * 是否进行演练
  492. */
  493. public static String formatEmerPlanSameEme(String value) {
  494. return isShiFou(value);
  495. }
  496. /**
  497. * 可操作性
  498. */
  499. public static String formatEmerPlanSameSpeed(String value) {
  500. return isPlanSameSpeed(value);
  501. }
  502. /*
  503. 4.水库工程实体
  504. */
  505. /**
  506. * 水库所属流域编码
  507. */
  508. public static String formatReverOrg(String value) {
  509. if (value == null) {
  510. return "";
  511. }
  512. switch (value) {
  513. case "长江流域":
  514. value = "001009";
  515. break;
  516. case "黄河流域":
  517. value = "001010";
  518. break;
  519. case "淮河流域":
  520. value = "001011";
  521. break;
  522. case "海河流域":
  523. value = "001012";
  524. break;
  525. case "珠江流域":
  526. value = "001013";
  527. break;
  528. case "松花江流域":
  529. value = "001014";
  530. break;
  531. case "太湖流域":
  532. value = "001015";
  533. break;
  534. case "":
  535. break;
  536. default:
  537. value = value + "$E$";
  538. break;
  539. }
  540. return value;
  541. }
  542. /**
  543. * 水库所属流域 <100
  544. */
  545. public static String formatReverOrgName(String value) {
  546. if (value == null) {
  547. return "";
  548. }
  549. if (value.length() >= 100) {
  550. return value + "$E$";
  551. }
  552. return value;
  553. }
  554. /**
  555. * 所在县是否为贫困县
  556. */
  557. public static String formatPoorCountry(String value) {
  558. return isShiFou(value);
  559. }
  560. /**
  561. * 蓄水运行情况
  562. */
  563. public static String formatWaterRunInfo(String value) {
  564. if (value == null) {
  565. return "";
  566. }
  567. switch (value) {
  568. case "能正常运行":
  569. value = "1";
  570. break;
  571. case "有缺陷基本能正常蓄水运行":
  572. value = "2";
  573. break;
  574. case "不具备正常蓄水运行条件但仍高水位运行":
  575. value = "3";
  576. break;
  577. case "已采取措施限制水位运行":
  578. value = "4";
  579. break;
  580. case "已空库运行":
  581. value = "5";
  582. break;
  583. case "":
  584. value = "0";
  585. break;
  586. default:
  587. value = value + "$E$";
  588. break;
  589. }
  590. return value;
  591. }
  592. /**
  593. * 执行汛限水位情况
  594. */
  595. public static String formatFsltdzInfo(String value) {
  596. if (value == null) {
  597. return "";
  598. }
  599. switch (value) {
  600. case "严格按汛限水位要求运行":
  601. value = "1";
  602. break;
  603. case "超汛限水位运行":
  604. value = "2";
  605. break;
  606. case "采取限制运用措施":
  607. value = "3";
  608. break;
  609. case "未采取限制运用措施":
  610. value = "4";
  611. break;
  612. case "":
  613. value = "0";
  614. break;
  615. default:
  616. value = value + "$E$";
  617. break;
  618. }
  619. return value;
  620. }
  621. // 挡水建筑物运行情况
  622. /**
  623. * 是否正常运行
  624. */
  625. public static String formatDiskRunInfo(String value) {
  626. return isRunInfo(value);
  627. }
  628. // 泄洪建筑物运行情况
  629. /**
  630. * 是否设置泄洪建筑物
  631. */
  632. public static String formatHasSetMainFl(String value) {
  633. return isShiFou(value);
  634. }
  635. /**
  636. * 运行情况
  637. */
  638. public static String formatIsMainFlNormal(String value) {
  639. return isRunInfo(value);
  640. }
  641. // 放水建筑物运行情况
  642. /**
  643. * 是否设置放水建筑物
  644. */
  645. public static String formatHasSetPourFl(String value) {
  646. return isShiFou(value);
  647. }
  648. /**
  649. * 运行情况
  650. */
  651. public static String formatPourFyIsNormal(String value) {
  652. return isRunInfo(value);
  653. }
  654. // 大坝安全鉴定
  655. /**
  656. * 按规定是否需要开展
  657. */
  658. public static String formatHasExtDamSafeAppr(String value) {
  659. return isShiFou(value);
  660. }
  661. /**
  662. * 开展情况
  663. */
  664. public static String formatExtDamSafeAppr(String value) {
  665. if (value == null) {
  666. return "";
  667. }
  668. switch (value) {
  669. case "已按要求开展":
  670. value = "1";
  671. break;
  672. case "未按要求开展":
  673. value = "2";
  674. break;
  675. case "安全鉴定被鉴定为三类坝":
  676. value = "3";
  677. break;
  678. case "":
  679. value = "0";
  680. break;
  681. default:
  682. value = value + "$E$";
  683. break;
  684. }
  685. return value;
  686. }
  687. // 水库除险加固
  688. // /**
  689. // * 是否实施
  690. // */
  691. // public static String formatIfReinForce(String value) {
  692. // return isShiFou(value);
  693. // }
  694. //
  695. // /**
  696. // * 实施情况
  697. // */
  698. // public static String formatReinForceRun(String value) {
  699. // if (value == null) {
  700. // return "";
  701. // }
  702. // switch (value) {
  703. // case "已按批复内容实施":
  704. // value = "1";
  705. // break;
  706. // case "未按批复内容实施":
  707. // value = "2";
  708. // break;
  709. // case "实施后仍有隐患":
  710. // value = "3";
  711. // break;
  712. // case "已蓄水验收":
  713. // value = "4";
  714. // break;
  715. // case "":
  716. // value = "0";
  717. // break;
  718. // default:
  719. // value = value + "$E$";
  720. // break;
  721. // }
  722. // return value;
  723. // }
  724. /**
  725. * 是否应实施却未实施
  726. */
  727. public static String formatNotReinForce(String value) {
  728. return isShiFou(value);
  729. }
  730. /*
  731. 运行管理情况
  732. */
  733. // 管理机构及经费情况
  734. /**
  735. * 是否有管理机构
  736. */
  737. public static String formatHasSpeManage(String value) {
  738. return isShiFou(value);
  739. }
  740. /**
  741. * 是否有稳定经济来源
  742. */
  743. public static String formatHasWdEmnic(String value) {
  744. return isShiFou(value);
  745. }
  746. // 注册登记情况
  747. /**
  748. * 是否注册登记
  749. */
  750. public static String formatIfManageReg(String value) {
  751. return isShiFou(value);
  752. }
  753. /**
  754. * 注册登记信息准确情况
  755. */
  756. public static String formatIfManageRegRel(String value) {
  757. if (value == null) {
  758. return "";
  759. }
  760. switch (value) {
  761. case "信息准确":
  762. value = "1";
  763. break;
  764. case "存在错误或虚假信息":
  765. value = "2";
  766. break;
  767. case "":
  768. value = "0";
  769. break;
  770. default:
  771. value = value + "$E$";
  772. break;
  773. }
  774. return value;
  775. }
  776. // 公示情况
  777. /**
  778. * 是否设置水库公示牌
  779. */
  780. public static String formatIfDamWarnLogo(String value) {
  781. if (value == null) {
  782. return "";
  783. }
  784. switch (value) {
  785. case "已设置水库公示牌":
  786. value = "1";
  787. break;
  788. case "未设置水库公示牌":
  789. value = "2";
  790. break;
  791. case "":
  792. value = "0";
  793. break;
  794. default:
  795. value = value + "$E$";
  796. break;
  797. }
  798. return value;
  799. }
  800. // 安全运行总体评价
  801. /**
  802. * 安全评价
  803. */
  804. public static String formatSafeComment(String value) {
  805. if (value == null) {
  806. return "";
  807. }
  808. switch (value) {
  809. case "正常安全运行":
  810. value = "1";
  811. break;
  812. case "存在一定安全隐患但能正常运行":
  813. value = "2";
  814. break;
  815. case "存在重大安全隐患不能安全运行":
  816. value = "3";
  817. break;
  818. case "":
  819. value = "0";
  820. break;
  821. default:
  822. value = value + "$E$";
  823. break;
  824. }
  825. return value;
  826. }
  827. /*
  828. 5.走访情况
  829. */
  830. /**
  831. * 走访人员名称 <30
  832. */
  833. public static String formatViewPreName(String value) {
  834. if (value == null) {
  835. return "";
  836. }
  837. if (value.length() >= 30) {
  838. return value + "$E$";
  839. }
  840. return value;
  841. }
  842. /**
  843. * 是否知晓水库管护人员
  844. */
  845. public static String formatKnowResManager(String value) {
  846. return isShiFou(value);
  847. }
  848. /**
  849. * 对管护责任人的评价
  850. */
  851. public static String formatManagerComment(String value) {
  852. if (value == null) {
  853. return "";
  854. }
  855. switch (value) {
  856. case "满意":
  857. value = "1";
  858. break;
  859. case "一般":
  860. value = "2";
  861. break;
  862. case "不满意":
  863. value = "3";
  864. break;
  865. case "":
  866. value = "0";
  867. break;
  868. default:
  869. value = value + "$E$";
  870. break;
  871. }
  872. return value;
  873. }
  874. /**
  875. * 备注 <255
  876. */
  877. public static String formatNote(String value) {
  878. if (value == null) {
  879. return "";
  880. }
  881. if (value.length() >= 255) {
  882. return value + "$E$";
  883. }
  884. return value;
  885. }
  886. /*
  887. 6 效益发挥情况
  888. */
  889. /**
  890. * 是否发挥效益
  891. **/
  892. public static String formatIfEffective(String value) {
  893. return isShiFou(value);
  894. }
  895. /**
  896. * 是否为饮用水源
  897. **/
  898. public static String formatIfWaterS(String value) {
  899. return isShiFou(value);
  900. }
  901. /**
  902. * 饮用水供水量 12345.123
  903. **/
  904. public static String formatWsfdws(String value) {
  905. return checkDecimals(value, 15, 3);
  906. }
  907. /**
  908. * 是否有灌溉任务
  909. **/
  910. public static String formatDiskRunInfo2(String value) {
  911. return isShiFou(value);
  912. }
  913. /**
  914. * 灌溉面积 18位字符串
  915. **/
  916. public static String formatHasSetMainFl2(String value) {
  917. return checkStrLength(value, 18);
  918. }
  919. /*
  920. 7 基础信息纠错
  921. */
  922. /**
  923. * 1)管理机构 105 来自数据库限制大小
  924. */
  925. public static String formatRsAdmName(String value) {
  926. return checkStrLength(value, 105);
  927. }
  928. /**
  929. * 2)行政区划 105 来自数据库限制大小
  930. */
  931. public static String formatAdFullName(String value) {
  932. return checkStrLength(value, 105);
  933. }
  934. public static String formatLocation(String value) {
  935. return checkStrLength(value, 100);
  936. }
  937. /**
  938. * 3)所在地点 100 来自数据库限制大小
  939. */
  940. public static String formatRsLoc(String value) {
  941. return checkStrLength(value, 100);
  942. }
  943. /**
  944. * 4)建成时间 时间格式
  945. */
  946. public static String formatCompDate(String value) {
  947. if (value == null || "".equals(value)) {
  948. return "";
  949. }
  950. if (!checkIsDate(value)) {
  951. return value + "$E$";
  952. }
  953. return value;
  954. }
  955. public static String formatCompDateStr(String value) {
  956. return checkStrLength(value, 40);
  957. }
  958. /**
  959. * 5)工程规模
  960. */
  961. public static String formatEngScal(String value) {
  962. if (value == null) {
  963. return "";
  964. }
  965. switch (value) {
  966. case "小(1)型":
  967. value = "4";
  968. break;
  969. case "小(2)型":
  970. value = "5";
  971. break;
  972. default:
  973. value = value + "$E$";
  974. break;
  975. }
  976. return value;
  977. }
  978. /**
  979. * 5)总库容(万m3)
  980. */
  981. public static String formatTotCap(String value) {
  982. return checkDecimals(value, 17, 2);
  983. }
  984. /**
  985. * 5)最大坝高(万m3)
  986. */
  987. public static String formatDamSizeHig(String value) {
  988. return checkDecimals(value, 16, 2);
  989. }
  990. /**
  991. * 6) 注册登记号
  992. */
  993. public static String formatRegCode(String value) {
  994. return checkStrLength(value, 100);
  995. }
  996. /**
  997. * 7) 经度
  998. */
  999. public static String formatCenterXGd(String value) {
  1000. return checkDecimals(value, 3, 17);
  1001. }
  1002. /**
  1003. * 7) 纬度
  1004. */
  1005. public static String formatCenterYGd(String value) {
  1006. return checkDecimals(value, 3, 17);
  1007. }
  1008. /**
  1009. * 检查小数
  1010. *
  1011. * @param value 原值
  1012. * @param arg1 整数位
  1013. * @param arg2 小数位
  1014. * @return 检查之后的值
  1015. */
  1016. public static String checkDecimals(String value, int arg1, int arg2) {
  1017. if (value == null) {
  1018. return "";
  1019. }
  1020. Pattern pattern = compile("[0-9.]*");
  1021. Matcher isNum = pattern.matcher(value);
  1022. // 如果有小数点
  1023. String point = ".";
  1024. if (value.contains(point)) {
  1025. // split 分割 . 需要转义
  1026. String[] values = value.split("\\" + point);
  1027. if (values[0].length() > arg1 || values[1].length() > arg2 || !isNum.matches()) {
  1028. return value + "$E$";
  1029. }
  1030. } else if (value.length() > arg1 || !isNum.matches()) {
  1031. return value + "$E$";
  1032. }
  1033. return value;
  1034. }
  1035. /**
  1036. * 检查字符串的长度
  1037. *
  1038. * @param value 原字符串
  1039. * @param length 限制长度
  1040. * @return 检查后的值
  1041. */
  1042. public static String checkStrLength(String value, int length) {
  1043. if (value == null) {
  1044. return "";
  1045. }
  1046. if (value.length() >= length) {
  1047. return value + "$E$";
  1048. }
  1049. return value;
  1050. }
  1051. }