2 Commits 4d652b5938 ... 1105ec3dbe

Tác giả SHA1 Thông báo Ngày
  wdl 1105ec3dbe first commit 6 tháng trước cách đây
  wudonglin 4d652b5938 Initial commit 6 tháng trước cách đây
100 tập tin đã thay đổi với 14500 bổ sung14 xóa
  1. 225 0
      .classpath
  2. 0 14
      .gitignore
  3. 13 0
      .mymetadata
  4. 64 0
      .project
  5. 11 0
      .settings/.jsdtscope
  6. 9 0
      .settings/com.genuitec.eclipse.migration.prefs
  7. 8 0
      .settings/org.eclipse.core.resources.prefs
  8. 12 0
      .settings/org.eclipse.jdt.core.prefs
  9. 3 0
      .settings/org.eclipse.ltk.core.refactoring.prefs
  10. 9 0
      .settings/org.eclipse.wst.common.component
  11. 7 0
      .settings/org.eclipse.wst.common.project.facet.core.prefs.xml
  12. 12 0
      .settings/org.eclipse.wst.common.project.facet.core.xml
  13. 1 0
      .settings/org.eclipse.wst.jsdt.ui.superType.container
  14. 1 0
      .settings/org.eclipse.wst.jsdt.ui.superType.name
  15. 1 0
      .svn/entries
  16. 1 0
      .svn/format
  17. 81 0
      .svn/pristine/00/00016842b99edf65377461d10602773745158b5a.svn-base
  18. BIN
      .svn/pristine/00/000cff1f38036c9198b39d84f93eedb680d78009.svn-base
  19. 2571 0
      .svn/pristine/00/0022774fa557d1043290a6bc831fd1b6cda7ba7e.svn-base
  20. 35 0
      .svn/pristine/00/005b13d02360582a2393861b4a145efc7ac8632c.svn-base
  21. 2189 0
      .svn/pristine/00/0064d77cb107c5d0b1af78eb939c4e677329bc1e.svn-base
  22. 106 0
      .svn/pristine/00/0069aa51e5566c6b4ff2362b8a87cb7be77e59d1.svn-base
  23. BIN
      .svn/pristine/00/006ca03e884c0a50061ad09b27ec89223ce7a7b8.svn-base
  24. 81 0
      .svn/pristine/00/00a60be5f8d9c6b5467d33b290b948bc3835bc83.svn-base
  25. 111 0
      .svn/pristine/00/00bc1953ed3c8dcf58eb7d0ae2797307a61741f9.svn-base
  26. 63 0
      .svn/pristine/00/00c44ac8c4b4eadd15531b1eff74d899e5fc651d.svn-base
  27. 23 0
      .svn/pristine/01/0108a652330b59d4ba9c245c22dfb2f466d93032.svn-base
  28. BIN
      .svn/pristine/01/0114d1a2d6f58103a313954169458d61d88ca15f.svn-base
  29. 52 0
      .svn/pristine/01/012924f67662a72af8fc521139f37b6aeefbd7e1.svn-base
  30. 764 0
      .svn/pristine/01/012d6687d7a13a357332b136247621147dfc3bbb.svn-base
  31. 211 0
      .svn/pristine/01/014ec52db8cf8ef33e8f345bda06a5b78153e2e9.svn-base
  32. 24 0
      .svn/pristine/01/014fa3eacf0e184606f2d6e715ead35f4046d1a2.svn-base
  33. 95 0
      .svn/pristine/01/0153373a1779a819ce95dabd0f6c78b09e10088c.svn-base
  34. BIN
      .svn/pristine/01/016d0bc512222f1253ee6b64d389c84e22f697f0.svn-base
  35. 43 0
      .svn/pristine/01/01725b1932a0109dc28c4718759a69f0271f3603.svn-base
  36. BIN
      .svn/pristine/01/018d5d156483a8b39c1088e6145280b538edb132.svn-base
  37. 12 0
      .svn/pristine/01/01a908555aa5f99c280011a2b96ebfa4cb45224f.svn-base
  38. 80 0
      .svn/pristine/01/01b7b1025c898523be20783e67bc03d77d134f22.svn-base
  39. 93 0
      .svn/pristine/01/01b7cb62d672912b610e83818f1754313eba407e.svn-base
  40. 90 0
      .svn/pristine/01/01c95160da8c7f20f983bd8c05d8a4d130d9c086.svn-base
  41. 53 0
      .svn/pristine/01/01fe9cb96cf427fd4eca19714f5d434b55cc1a6a.svn-base
  42. BIN
      .svn/pristine/02/020c7face5018d547fd9582ad0588a91e5db837f.svn-base
  43. 62 0
      .svn/pristine/02/0219ae6c35e6195e6af048d675fd69f1d9689134.svn-base
  44. 830 0
      .svn/pristine/02/021ffbfa6a7fcccc1bf31ec0050149280fdc69d9.svn-base
  45. 87 0
      .svn/pristine/02/023ec80f1ba5ec0f382030a5ddaa90058d9340e2.svn-base
  46. 9 0
      .svn/pristine/02/02445fc49d60e4532320384ea71bbeb4e722ac3b.svn-base
  47. 40 0
      .svn/pristine/02/026feff2048adbdc63ed38a891537c5d7abef526.svn-base
  48. BIN
      .svn/pristine/02/0275734c02dbf88b905e5ff61ca60ef5afc2988a.svn-base
  49. BIN
      .svn/pristine/02/02849ba7606266da11a2211ffe13845707cb991b.svn-base
  50. 28 0
      .svn/pristine/02/028d132326ee5bc6c89b8bf5982dae67da13f902.svn-base
  51. 88 0
      .svn/pristine/02/028d72e80995e31f308a12766ddecacb806fce87.svn-base
  52. 790 0
      .svn/pristine/02/028d99b1c5bc325b4233e421ad9e53005b96b961.svn-base
  53. 31 0
      .svn/pristine/02/02a1094373963cb26ef47111cb731372d1f2cb2e.svn-base
  54. BIN
      .svn/pristine/02/02a2cb7a0ae4ee5de122a0ea19258d722f34fbe8.svn-base
  55. BIN
      .svn/pristine/02/02e502e54cd96f7e8572441ec5c5783dc378100e.svn-base
  56. 416 0
      .svn/pristine/02/02e701c26568b08f6ff274146f933b8bb41d0a21.svn-base
  57. 45 0
      .svn/pristine/02/02f68c85425a7ba4ea1a187b61b580700b7a7301.svn-base
  58. 1125 0
      .svn/pristine/03/030495e95a8ae680c106ff9731fc3e3670f1d029.svn-base
  59. 579 0
      .svn/pristine/03/0305b7dd436f57e015874e4c3f2da26058f78e8c.svn-base
  60. BIN
      .svn/pristine/03/031d0277bef03091a5c3fe7115afe094e4ef38a7.svn-base
  61. 56 0
      .svn/pristine/03/0321a09f3ac068962c396ec76b7844ab41dcf2f0.svn-base
  62. 28 0
      .svn/pristine/03/032b9bc48f249ddfb159aaabf0a5b23990a38f93.svn-base
  63. BIN
      .svn/pristine/03/032ec1a300bdc5b9ebbebf5ad750b4e51b991ccb.svn-base
  64. 12 0
      .svn/pristine/03/033444e8a585285107d44212c41f6e889581e526.svn-base
  65. 61 0
      .svn/pristine/03/034163a11e82a6aced1c8a342418809b3abbb8a3.svn-base
  66. 41 0
      .svn/pristine/03/0345883dfe9329b5dec710a630dfe3480cff5e75.svn-base
  67. BIN
      .svn/pristine/03/034f7032827f7782bae4a85739876a1324711532.svn-base
  68. 49 0
      .svn/pristine/03/0350ca63be64f59e1510e65331976923a4e827de.svn-base
  69. 66 0
      .svn/pristine/03/03581775c1f134b46a8216656fe77cf677746549.svn-base
  70. 51 0
      .svn/pristine/03/035b8ebbb822b5e7bea46f1d00ce847376a52397.svn-base
  71. 117 0
      .svn/pristine/03/035c524acb551dc8d6561e28972538a3842e5c62.svn-base
  72. BIN
      .svn/pristine/03/03620f2710f858a76159009b0f24ef040a1d7c1e.svn-base
  73. 108 0
      .svn/pristine/03/038ccfbc83385e02bd0f13d149930f4e8ce48968.svn-base
  74. 15 0
      .svn/pristine/03/039149859e7a903356afdab4e045b8b5d4c4a277.svn-base
  75. 28 0
      .svn/pristine/03/03b81a05f31357163b940f6415368d86a33fafb3.svn-base
  76. 18 0
      .svn/pristine/03/03c5ef09c42d8cb8eb558042aa5d56d3d60a4301.svn-base
  77. 98 0
      .svn/pristine/03/03d2fa75334bfd150d2b5a903e0757c9ebaffc16.svn-base
  78. BIN
      .svn/pristine/03/03dffc5bc1847f49e9908727c657129e52ec5a80.svn-base
  79. BIN
      .svn/pristine/03/03e9e5e12b8d760895ee09923924b8ff53705d1c.svn-base
  80. 69 0
      .svn/pristine/03/03ee82a39281b1bb82e9226134c103f5a9ac3842.svn-base
  81. 453 0
      .svn/pristine/03/03f68b281f18b868e66f10b995fd2c2d8ff210be.svn-base
  82. BIN
      .svn/pristine/03/03fa544ab65a04f099c8178ea69674e1b22b21a6.svn-base
  83. 130 0
      .svn/pristine/04/04026bc5c41ba2e3dcbbee9c88a0f3007b3663cc.svn-base
  84. 104 0
      .svn/pristine/04/040897f00af23b87ffd9333ca210d2403d12afef.svn-base
  85. 435 0
      .svn/pristine/04/043cbb5cd82bbe32d11f91a032d09c20d43e6a28.svn-base
  86. 81 0
      .svn/pristine/04/044183479a9a6e327a0791932de9d36da7458421.svn-base
  87. 51 0
      .svn/pristine/04/04559b5e385e35dc3e833f36794dd1ec556c9972.svn-base
  88. BIN
      .svn/pristine/04/0459e1d5fbc9ff2aa79c1e9c0ad89527a11e22ae.svn-base
  89. 13 0
      .svn/pristine/04/046d2101f3e758512dd3ed07dcce923e8dd0c6a3.svn-base
  90. 80 0
      .svn/pristine/04/048da5595283eb027af74eb5e93c407a399470c0.svn-base
  91. BIN
      .svn/pristine/04/049e14e6cc338928fda86e453e9f2245da0e6bda.svn-base
  92. 64 0
      .svn/pristine/04/04bd60243c38300b39e45e6d26a418e22695c05e.svn-base
  93. BIN
      .svn/pristine/04/04c37d007c4650691de57762c0b22c97294c7ab4.svn-base
  94. 48 0
      .svn/pristine/04/04da9600c444d2a1660c39b26feff94b78030234.svn-base
  95. 244 0
      .svn/pristine/05/0501ceb0f01e4378dbc3826f3363370cc8b1a21a.svn-base
  96. 22 0
      .svn/pristine/05/054ebffe71a78aa3add40d32725ddc23917af686.svn-base
  97. 313 0
      .svn/pristine/05/055bc5e1c154a7e16b174af7f40eae426d528300.svn-base
  98. 92 0
      .svn/pristine/05/055ce305100f8ef2e363f56bf735c9ecc2a40685.svn-base
  99. 269 0
      .svn/pristine/05/05663d66c9c38fb52ae835a3f0a10a36fd00fed6.svn-base
  100. BIN
      .svn/pristine/05/05710048ec764baba26541b740a89cfa63264311.svn-base

+ 225 - 0
.classpath

@@ -0,0 +1,225 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry exported="true" kind="con" path="org.eclipse.jdt.USER_LIBRARY/GLUE_CORE">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry exported="true" kind="con" path="org.eclipse.jdt.USER_LIBRARY/GLUE_STD">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/acegi-security-1.0.0.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/classes12.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/commons-beanutils.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/commons-collections.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/commons-dbcp.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/commons-digester.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/commons-lang.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/commons-logging.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/commons-pool.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/concurrent.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/cos.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/glue.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/glue-globaltag.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/glue-security.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/glue-tag.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/glue-tester.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/glue-trustform.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/jcs-1.2.7.7.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/jxl.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/log4j-1.2.8.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/nls_charset12.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/oro-2.0.8.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/quartz-1.5.2.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/rfid_daemon.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/seadapter.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/spring.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/spring-web.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/spring-webmvc.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/ssomeslib.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/struts.jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="D:/WorkSpace/xgmes3/WebContents/WEB-INF/lib/xFormsXmlSaxLib(EUC-KR).jar">
+		<attributes>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="melibrary.com.genuitec.eclipse.j2eedt.core.MYECLIPSE_JAVAEE_5_CONTAINER"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/acegi-security-1.0.0.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/classes12.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/commons-beanutils.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/commons-collections.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/commons-dbcp.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/commons-digester.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/commons-lang.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/commons-logging.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/commons-pool.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/concurrent.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/cos.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/fastjson-1.1.41.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/glue-globaltag.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/glue-security.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/glue-tag.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/glue-tester.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/glue-trustform.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/glue.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/httpclient-4.4.1.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/httpcore-4.4.1.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/jcs-1.2.7.7.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/jxl.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/log4j-1.2.8.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/nls_charset12.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/oro-2.0.8.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/quartz-1.5.2.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/rfid_daemon.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/seadapter.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/spring-web.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/spring-webmvc.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/spring.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/ssomeslib.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/struts.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/xFormsXmlSaxLib(EUC-KR).jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/jsp-api.jar"/>
+	<classpathentry kind="lib" path="WebContents/WEB-INF/lib/servlet-api.jar"/>
+	<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
+	<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
+	<classpathentry kind="con" path="com.genuitec.runtime.library/com.genuitec.generic_5.0">
+		<attributes>
+			<attribute name="owner.project.facets" value="jst.web"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
+		<attributes>
+			<attribute name="owner.project.facets" value="java"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="com.genuitec.runtime.library/com.genuitec.jstl_1.2">
+		<attributes>
+			<attribute name="owner.project.facets" value="jst.web.jstl"/>
+			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="output" path="WebContents/WEB-INF/classes"/>
+</classpath>

+ 0 - 14
.gitignore

@@ -1,14 +0,0 @@
-# ---> Java
-*.class
-
-# Mobile Tools for Java (J2ME)
-.mtj.tmp/
-
-# Package Files #
-*.jar
-*.war
-*.ear
-
-# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
-hs_err_pid*
-

+ 13 - 0
.mymetadata

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-module
+  type="WEB"
+  name="xgmes3"
+  id="myeclipse.1458798594216"
+  context-root="/xgmes3"
+  j2ee-spec="5.0"
+  archive="xgmes3.war">
+  <attributes>
+    <attribute name="webrootdir" value="WebContents" />
+  </attributes>
+</project-module>
+

+ 64 - 0
.project

@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>xgmes3</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.common.project.facet.core.builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>com.genuitec.eclipse.j2eedt.core.WebClasspathBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>com.genuitec.eclipse.j2eedt.core.J2EEProjectValidator</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>com.genuitec.eclipse.j2eedt.core.DeploymentDescriptorValidator</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.wst.validation.validationbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>com.genuitec.eclipse.ast.deploy.core.DeploymentBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>com.genuitec.eclipse.springframework.springbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>com.genuitec.eclipse.springframework.springnature</nature>
+		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+		<nature>com.genuitec.eclipse.ast.deploy.core.deploymentnature</nature>
+		<nature>com.genuitec.eclipse.j2eedt.core.webnature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+	</natures>
+</projectDescription>

+ 11 - 0
.settings/.jsdtscope

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
+		<attributes>
+			<attribute name="hide" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
+	<classpathentry kind="output" path=""/>
+</classpath>

+ 9 - 0
.settings/com.genuitec.eclipse.migration.prefs

@@ -0,0 +1,9 @@
+eclipse.preferences.version=1
+performed.operation.install.java=1.0
+performed.operation.install.modulecore.nature=1.0
+performed.operation.me.create.deploymentAssembly=1.0
+performed.operation.me.create.deploymentAssembly.fixBuildPathEntries=1.0
+performed.operation.me.install.jstl=1.0
+performed.operation.me.install.springfacet=1.0
+performed.operation.me.migrate.webnature=1.0
+performed.operation.migrate.container.ids=1.0

+ 8 - 0
.settings/org.eclipse.core.resources.prefs

@@ -0,0 +1,8 @@
+#Wed Jan 09 18:44:16 CST 2019
+eclipse.preferences.version=1
+encoding//src/xin/glue/cargocnHttpClient=UTF-8
+encoding//src/xin/glue/ui/B/B01/SaveCustIngr.java=UTF-8
+encoding//src/xin/glue/ui/B/B01/SaveDesignKey.java=UTF-8
+encoding//src/xin/glue/ui/B/common/CallProcedure.java=UTF-8
+encoding//src/xin/glue/ui/H/H01/OuterExcelReport.java=UTF-8
+encoding//src/xin/glue/ui/common/OutExcelCommon.java=UTF-8

+ 12 - 0
.settings/org.eclipse.jdt.core.prefs

@@ -0,0 +1,12 @@
+#Mon Mar 25 14:32:30 CST 2013
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6

+ 3 - 0
.settings/org.eclipse.ltk.core.refactoring.prefs

@@ -0,0 +1,3 @@
+#Mon Mar 25 14:32:30 CST 2013
+eclipse.preferences.version=1
+org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false

+ 9 - 0
.settings/org.eclipse.wst.common.component

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
+    <wb-module deploy-name="xgmes3">
+        <wb-resource deploy-path="/" source-path="/WebContents" tag="defaultRootSource"/>
+        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
+        <property name="context-root" value="/xgmes3"/>
+        <property name="java-output-path" value="/xgmes3/WebContents/WEB-INF/classes"/>
+        <property name="me-merge-utility-modules" value="true"/>
+    </wb-module>
+</project-modules>

+ 7 - 0
.settings/org.eclipse.wst.common.project.facet.core.prefs.xml

@@ -0,0 +1,7 @@
+<root>
+  <facet id="me.spring">
+    <node name="libprov">
+      <attribute name="provider-id" value="spring-no-op-library-provider"/>
+    </node>
+  </facet>
+</root>

+ 12 - 0
.settings/org.eclipse.wst.common.project.facet.core.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+  <runtime name="com.genuitec.runtime.generic.jee50"/>
+  <fixed facet="wst.jsdt.web"/>
+  <fixed facet="jst.web"/>
+  <fixed facet="java"/>
+  <installed facet="java" version="1.6"/>
+  <installed facet="jst.web" version="2.5"/>
+  <installed facet="jst.web.jstl" version="1.2"/>
+  <installed facet="me.spring" version="1.2"/>
+  <installed facet="wst.jsdt.web" version="1.0"/>
+</faceted-project>

+ 1 - 0
.settings/org.eclipse.wst.jsdt.ui.superType.container

@@ -0,0 +1 @@
+org.eclipse.wst.jsdt.launching.baseBrowserLibrary

+ 1 - 0
.settings/org.eclipse.wst.jsdt.ui.superType.name

@@ -0,0 +1 @@
+Window

+ 1 - 0
.svn/entries

@@ -0,0 +1 @@
+12

+ 1 - 0
.svn/format

@@ -0,0 +1 @@
+12

+ 81 - 0
.svn/pristine/00/00016842b99edf65377461d10602773745158b5a.svn-base

@@ -0,0 +1,81 @@
+package xin.glue.ui.D.D01;
+
+import com.posdata.glue.biz.activity.PosActivity;
+import com.posdata.glue.biz.constants.PosBizControlConstants;
+import com.posdata.glue.context.PosContext;
+import com.posdata.glue.dao.vo.PosParameter;
+
+/**
+ * ±£´æÁ¬½½¸ÖÖÖ×é±ê×¼
+ * @author ÍõÀè
+ * @date 2008-11-11
+ */
+public class SaveFacStlGrade extends PosActivity
+{
+
+	public String runActivity(PosContext context)
+	{
+		String[]    sRowStatus1        	=    (String[])context.get("rowStatus1"   ) ; //TrustForm
+		
+		String[]    sDb_FacStlGrd       =    (String[])context.get("FAC_STL_GRD"  ) ; //FAC_STL_GRD
+		String[]    sDb_FacStlGrdnm     =    (String[])context.get("FAC_STL_GRDNM") ; //FAC_STL_GRDNM
+		String[]    sDb_RegId           =    (String[])context.get("REG_ID"       ) ; //REG_ID
+      //String[]    sDb_RegDtime        =    (String[])context.get("REG_DTIME"    ) ; //REG_DTIME
+		String[]    sDb_ModId           =    (String[])context.get("MOD_ID"       ) ; //MOD_ID
+      //String[]    sDb_ModDtime        =    (String[])context.get("MOD_DTIME"    ) ; //MOD_DTIME
+		String[]    sDb_FacStlGrp       =    (String[])context.get("FAC_STL_GRP"  ) ; //FAC_STL_GRP
+		String[]    sDb_CastSeq         =    (String[])context.get("CAST_SEQ"     ) ; //CAST_SEQ
+
+		int			iCnt1				=	0;
+        if (sRowStatus1 != null){
+        	iCnt1 = sRowStatus1.length;
+        }
+
+        PosParameter param = null;
+
+        for(int i=0 ; i < iCnt1; i++) {
+
+            param = new PosParameter();
+            sDb_FacStlGrdnm[i]	=	sDb_FacStlGrd[i];
+            
+            if ("i".equals(sRowStatus1[i])) {
+
+            	// insert operation
+                param.setValueParamter( 0, sDb_FacStlGrd[i]   )  ;
+                param.setValueParamter( 1, sDb_FacStlGrdnm[i] )  ;
+                param.setValueParamter( 2, sDb_RegId[i]       )  ;
+              //param.setValueParamter( *, sDb_RegDtime[i]    )  ;
+                param.setValueParamter( 3, sDb_ModId[i]       )  ;
+              //param.setValueParamter( *, sDb_ModDtime[i]    )  ;
+                param.setValueParamter( 4, sDb_FacStlGrp[i]   )  ;
+                param.setValueParamter( 5, sDb_CastSeq[i]     )  ;
+
+                getDao("mesdao").insert("SaveFacStlGrd.Insert", param);
+
+            } else if("u".equals(sRowStatus1[i])) {
+
+            	// update operation
+                param.setWhereClauseParameter( 0, sDb_FacStlGrdnm[i]  )  ;
+              //param.setWhereClauseParameter( *, sDb_RegId[i]        )  ;
+              //param.setWhereClauseParameter( *, sDb_RegDtime[i]     )  ;
+                param.setWhereClauseParameter( 1, sDb_ModId[i]        )  ;
+              //param.setWhereClauseParameter( *, sDb_ModDtime[i]     )  ;
+                param.setWhereClauseParameter( 2, sDb_FacStlGrp[i]    )  ;
+                param.setWhereClauseParameter( 3, sDb_CastSeq[i]      )  ;
+                param.setWhereClauseParameter( 4, sDb_FacStlGrd[i]    )  ;
+
+                getDao("mesdao").update("SaveFacStlGrd.Update", param);
+
+            } else if("d".equals(sRowStatus1[i])) {	// delete operation
+
+                param.setWhereClauseParameter( 0, sDb_FacStlGrd[i]    )  ;
+
+                getDao("mesdao").delete("SaveFacStlGrd.Delete", param);
+            }
+
+        }
+		
+		return PosBizControlConstants.SUCCESS;
+	}
+
+}

BIN
.svn/pristine/00/000cff1f38036c9198b39d84f93eedb680d78009.svn-base


+ 2571 - 0
.svn/pristine/00/0022774fa557d1043290a6bc831fd1b6cda7ba7e.svn-base

@@ -0,0 +1,2571 @@
+//var host =window.document.url;

+//var url = host.substring(0,host.lastIndexOf("/"))+"/";

+

+//var url = "http://localhost:8088/xgmes3/";
//var url = "http://172.16.0.172:8040/";
var url = "http://10.10.0.10:8040/";
//var url = "http://172.16.0.126:8040/xgmes3/";

+//http://10.10.0.10:8040/

+

+/***************************************************************************************************************/    

+/* 1. Setup Global variable & Event 글로벌 변수/ 이벤트 관련 설정 

+/***************************************************************************************************************/    		

+

+/* Setup Grid-Cell Style(Adding Grid, Deleting Grid, Initailizing Gird) : 그리드 셀 스타일 설정(그리드 추가, 그리드 삭제시, 그리드 초기화  */

+var insertRowStyle = "#FEFFCA";

+var deleteRowStyle = "#FFEFE4";

+var initCellStyle  = "#FFFFFF";

+

+function xforms_submit() {    }

+

+/*

+*  서브미션 종료후 이벤트 처리(error 및 msg 처리)

+*

+*/

+function xforms_submit_done(){

+	body.disabled = false;

+	if ( event.currentTarget != event.target ) return;

+    commMsgBox();

+}

+

+/***************************************************************************************************************/

+/* 2. TF관련 공통함수 (공통개발)

+/*

+/* 1)  commSubmit  		 : 서브미션 실행

+/* 2)  commSendReq 		 : "/root/reqData"에 노드값을 복사

+/* 3)  commCombo   		 : 공통코드 콤보값 호출

+/* 4)  commAddFile 		 : 파일추가 (작업중)

+/* 5)  commModifyFile  : 파일수정(작업중)

+/* 6)  commDelFile 		 : 파일삭제 (작업중)

+/* 7)  commDownLoad    : 파일다운로드

+/* 8)  commFwdPopClose : 팝업창을 닫으면서 부모창에 노드값을 넘겨준다

+/* 9)  commMsgCall     : 화면의 하단바에 메시지 생성(작업중)

+/* 10) commAppendData  : 파일복사기능

+/* 11) commMultiUpdate : 그리드 멀티업데이트 시 상태값에 따라 노드생성

+/* 12) commDetailView  : 그리드 - 폼방식 화면 상세보기

+/* 13) commFormSet:	   : 폼 - 폼 같은 인스턴스노드 복사

+/* 14) commGroupInit   : 그룹안 컨트롤 값 초기화(삭제)

+/* 15) commComfirmBox  : 확인경고창

+/* 16) commGridInit    : 그리드 셀 스타일 초기화

+/* 17) commAddRow      : 그리드 행 추가

+/* 18) commDelRow      : 그리드 행 삭제

+/* 19) commPagingList  : 그리드 페이지 처리(관련함수: goPage(),제약조건 그리드 조회시 total 값과 size값을 가져와야함)  

+/* 20) commMsgBox      : 메시지 알림창호출

+/* 21) commReqCheck    : 필수입력확인

+/*****************************************************************************************************************/					

+

+

+/**

+* @function : commSubmit

+* @param submitID, serviceTag, action, refresh,type 

+* @return 

+* @wirter : 

+* @write date : 

+* @modify datae : 07.08.13

+* @description 서브미션 실행

+*              submitID 		: 서브미션ID, 글루서비스아이디

+*              serviceTag		: 글루 서비스 테그

+* 			   action			: url 

+			   [refresh]        : 서브미션이후의 refresh 여부 default 값 true

+			   [type]           : 서브미션 타입지정 파일업로드시 'file' 적용 default post 

+*/

+

+function commSubmit(submitID, serviceTag, action, refresh, type) {

+	body.disabled = true;

+	var mediatype = "";

+	if(!body.isChild(submitID)) {

+		model.createChild("xforms:submission", "id:" + submitID + ";"); //서브미션 동적으로 생성

+	}

+

+	if(refresh == "" || refresh == null) {

+		refresh = true;	

+	} else if (refresh == 'file') {

+		mediatype = "file";

+		refresh = true;	

+	}

+

+	if(type == "" || type == null)  type = mediatype;

+

+	if(type == "file") {

+		document.all(submitID).attribute("method") = "form-data-post";

+		document.all(submitID).attribute("mediatype") = "multipart/form-data";

+	} else  {

+		document.all(submitID).attribute("method") = "post";

+		document.all(submitID).attribute("mediatype") = "application/x-www-form-urlencoded";

+	}

+

+	model.makeValue("/root/reqData/" + serviceTag, "1");

+	model.makeValue("/root/reqData/ServiceName", submitID);				

+

+	document.all(submitID).attribute("ref") = "/root/reqData";

+	document.all(submitID).attribute("resultref") = "/root/resData";	

+	document.all(submitID).attribute("action") = url + action;

+	document.all(submitID).attribute("encoding") = "utf-8";

+

+	model.send(submitID, refresh);		

+}

+		

+/**

+* @function : commSendReq

+* @param arguments

+* @return 

+* @wirter : 

+* @write date : 

+* @modify datae : 07.08.13

+* @description "/root/reqData에 노드값을 복사한다" 

+*              arguments        : 서비스에 담을 노드값

+*/		

+function commSendReq() 		{

+	try {

+		var length = arguments.length;

+

+		model.removeNodeset("/root/reqData");

+		model.makeNode("/root/reqData");

+

+		for(var j = 0; j < length; j++) {

+			var srcref = arguments[j];

+			var dup_node = instance1.selectSingleNode(srcref); //두번째로 보내고 싶은 노드를 선택

+			var dup_nodeList = dup_node.childNodes; //그 노드의 하위노드를 읽음

+			var cnt = 1;

+			for (var i = 0; i < dup_nodeList.length; i++) {

+				var copy_node = srcref + "/" + dup_nodeList.item(i).nodeName; //하위노드의 인스턴스를 읽어서 노드 조합

+				var nodeSetYn =  instance1.selectNodes(copy_node);

+				if(nodeSetYn.length>1) {

+					model.duplicate("/root/reqData", copy_node + "[" + cnt + "]"); // 노드셑인경우 같은 노드이름의 인덱스값으로 찾아서 복사한다

+					cnt++;

+				} else {

+					model.duplicate("/root/reqData", copy_node); 

+				}	

+			}

+		}

+	} catch (e) {

+		model.alert("Error", "해당노드의 선택이 잘못되었습니다");

+		return false;

+	}

+}	

+/**

+* @function : commCombo

+* @param arguments

+* @return 

+* @wirter : 

+* @write date : 

+* @modify datae : 07.08.13

+* @description 공통콤보 호출("코드값"+[|A: 전체 |S : 선택  | 없으면 기냥])

+*             commCombo("A001|A","A002|S","B002");

+*/	

+function commCombo() {

+											

+	var argCnt = arguments.length;

+	for(i=0; i<argCnt ; i++) {

+		var comboNode =""	

+			

+			if(arguments[i].indexOf("|")!=-1) {

+			

+			comboNode =arguments[i].substr(0,arguments[i].indexOf("|"));

+		

+			} else {

+			

+			comboNode =arguments[i]; 

+			

+			}

+		

+			model.makeValue("/root/reqData/commCombo["+(i+1)+"]",comboNode);

+			model.makeNode("/root/codeData/"+comboNode+"_VO");	

+		

+	}

+

+	commSubmit("comm-service","combo","glueAction.do"); 

+

+	for(i=0; i<argCnt ; i++) {

+	

+	var comboNode =""		

+			if(arguments[i].indexOf("|")!=-1) {

+	

+				comboNode =arguments[i].substr(0,arguments[i].indexOf("|"));

+				commAppendData("/root/codeData/"+comboNode+"_VO","/root/resData/"+comboNode+"_VO");	

+				var label =""

+				if(arguments[i].indexOf("|A")!=-1 || arguments[i].indexOf("|a")!=-1) {

+				

+					label = "=전체=";

+				} else if(arguments[i].indexOf("|S")!=-1 || arguments[i].indexOf("|s")!=-1) {

+				

+					label = "=선택=";

+				} else {

+				

+					label ="=전체=";

+				}	

+				

+					model.makeValue("/root/temp/"+comboNode+"_Row/COMM_DETL_CDNM",label);	

+				model.makeValue("/root/temp/"+comboNode+"_Row/COMM_DETL_CD","");

+				model.duplicate("/root/codeData/"+comboNode+"_VO","/root/temp/"+comboNode+"_Row","*[1]");

+				model.removenode("/root/temp"); 	

+											

+			}else {	comboNode =arguments[i]; 

+			

+				commAppendData("/root/codeData/"+comboNode+"_VO","/root/resData/"+comboNode+"_VO");

+				

+			}							

+		

+	}

+

+model.refresh();		

+

+}

+

+/**

+* @param : commAddFile[파일업로드이름], fileGridName[파일그리드]

+* @return 

+* @wirter : 

+* @write date : 2007-07-20

+* @description : 파일 선택해서 파일 그리드에 추가한다. 데이타가 넘어가는건 아님

+* 				

+*/

+    function commAddFile(fileUploadName, fileGridName ){

+       

+        var files = window.fileDialog("open", "|", true);

+

+        var filelist = files.split("|");

+        var numberOfFiles = filelist.length;

+        

+        if (numberOfFiles != 0 && filelist[0] != "") {

+            for(var i = 0 ; i < filelist.length ; i++ ) {

+              //  model.makeNode("/root/fileData/fileGrid[" + (fileGridName.rows + i) + "]/attach_file_name");

+                model.makeValue("/root/fileData/fileGrid[" + (fileGridName.rows + i) + "]/attach_file_name", filelist[i]);

+//                alert("File Size : " + fileUploadName.getFileSize(i));

+            }

+        }

+

+       fileGridName.refresh();

+

+        // 'upload' 버튼을 눌러 실제 업로드를 수행하기 이전에 upload1.revalidate() 를 통해 validation(유효성) 

+        // 체크를 수행한다. (여기에서 설정된 유효성은 확장자가 zip인 파일만을 업로드 할 수 있도록 하는 것이다.)

+        fileUploadName.revalidate();

+    }

+

+/**

+* @param : commModifyFile[파일업로드이름], fileGridName[파일그리드]

+* @return 

+* @wirter : 

+* @write date : 2007-07-20

+* @description : 선택된 파일그리드 상의 파일을 변경한다. 데이타가 넘어가는건 아님

+* 				

+*/

+    function commModifyFile(fileUploadName, fileGridName){

+        var files = window.fileDialog("open", "|", true);

+

+        var filelist = files.split("|");

+        var numberOfFiles = filelist.length;

+        

+        if (numberOfFiles != 0 && filelist[0] != "") {

+            for(var i = 0 ; i < filelist.length ; i++ ) {

+                if(i==0) {

+                    model.setValue("/root/fileData/fileGrid[" + (fileGridName.row) + "]/attach_file_name", filelist[0]);

+                    alert("File Size : " + fileUploadName.getFileSize(0));

+                } else {						

+                    model.makeNode("/root/fileData/fileGrid[" + (fileGridName.rows + (i-1)) + "]/attach_file_name");

+                    model.setValue("/root/fileData/fileGrid[" + (fileGridName.rows + (i-1)) + "]/attach_file_name", filelist[i]);

+//                    alert("File Size : " + fileUploadName.getFileSize(i));

+                }

+            }

+        }

+        fileUploadName.refresh();

+        // 'upload' 버튼을 눌러 실제 업로드를 수행하기 이전에 upload1.revalidate() 를 통해 validation(유효성) 

+        // 체크를 수행한다. (여기에서 설정된 유효성은 확장자가 zip인 파일만을 업로드 할 수 있도록 하는 것이다.)

+        fileUploadName.revalidate();		

+    }	

+

+/**

+* @param : commDelFile[파일그리드]

+* @return 

+* @wirter : 

+* @write date : 2007-07-20

+* @description : 선택된 파일그리드 상의 파일을 삭제한다. 기존 파일키는 임시 키로 저장한다.(테이블 삭제해주기 위해서)

+* (테이블의 정보를 삭제하기 위해서 키가 존재해야 하기 때문). 데이타가 넘어가는건 아님				

+*/

+    function commDelFile(fileGridName){

+        var fileKey = fileGridName.valueMatrix(fileGridName.row , fileGridName.colRef("file_id"));

+        if(fileKey != null &&  fileKey != "")  

+        {

+            model.makeNode("/root/fileData/v_file_key");

+            model.setValue("/root/fileData/v_file_key",fileKey);

+        }

+        

+        fileGridName.deleterow(fileGridName.row) ;

+        

+    }

+	

+

+

+/**

+* @param : commDownLoad[파일그리드]

+* @return 

+* @wirter : 

+* @write date : 2007-07-20

+* @description : 선택된 파일그리드상의 파일을 다운로드한다.				

+*/

+

+//    var downloadPosition = "c:/app/emis/fileupload";

+    var downloadPosition = url+"files/";

+

+function commDownLoad(fileGridName){

+    var currentTarget = event.target;

+    var isCell = fileGridName.isCell(currentTarget);

+    var clickedRowPos = fileGridName.row;

+    var clickedColPos = fileGridName.col;

+    var downloadFileName;

+    var completeDownloadPosition;

+    var filePath = fileGridName.valueMatrix(fileGridName.row,fileGridName.colRef("attach_file_name"));

+

+    if (isCell && clickedRowPos > 0) {

+        downloadFileName = fileGridName.labelMatrix(clickedRowPos, clickedColPos);

+        completeDownloadPosition = downloadPosition+downloadFileName;

+       

+        completeDownloadPosition = encodeURI(completeDownloadPosition);

+ 

+        var file = window.fileDialog("save","","",downloadFileName,"xls","엑셀 문서(*.xls)|*.xls|All Files (*.*)|*.*");

+        model.download(completeDownloadPosition,file,false);

+    }

+}

+

+

+/**

+* @param : fileName[파일명]

+* @return 

+* @wirter : 

+* @write date : 2007-08-07

+* @description : 파일을 다운로드한다.				

+*/

+    function fcDirectDownLoad(fileName){

+        var downloadFileName = fileName;

+        var completeDownloadPosition;

+

+        completeDownloadPosition = downloadPosition +"/"+ downloadFileName;

+        var file = window.fileDialog("save","","",downloadFileName,"xls","엑셀 문서(*.xls)|*.xls|All Files (*.*)|*.*");

+        model.download(completeDownloadPosition,file,false);

+

+    }

+

+

+/**

+* @param : fileGridName[파일그리드]

+* @return 

+* @wirter : 

+* @write date : 2007-07-20

+* @description : 파일을 업로드한후 파일그리드에 넣어준다.				

+*/

+    function fcCompleteFile(fileGridName){

+        model.resetInstanceNode("/root/fileData/fileGrid");

+        fileGridName.refresh();

+        var isError = model.getValue("/root/resultData/Err_Msg[1]");

+        if (isError != "") {

+            //공통메세지 처리

+			msgWrite(model.getValue("/root/res/Err_Msg[2]"));

+        }

+        

+      //  appendData("/root/fileData/fileGrid","/root/resultData/fileGrid");

+        model.refresh();

+    }

+

+

+

+/**

+* @function :   commFwdPopClose() 

+* @param : arguments 넘겨줄 인스턴스 노드값 (/root/fwdData/ 밑에 생성됨)	

+* @return 

+* @wirter : 

+* @write date : 2007-07-25

+* @description : 부모창 노드(/root/fwdData/reqData)으로 팝업창의 노드를 넘겨주고 팝업창을 닫는다.

+*/

+function commFwdPopClose()	{	

+	

+	try

+		{

+	var length = arguments.length;	

+	

+		opener.model.removenode("/root/fwdData/infoData");

+	  opener.model.makeNode("/root/fwdData/infoData");

+	  

+		

+			for(var j = 0; j<length; j++){					

+	

+					var node1 = instance1.selectSingleNode(arguments[j]);

+					opener.model.duplicate("/root/fwdData/infoData",node1.cloneNode(true));

+	

+			}

+							

+		}					

+		catch (e)

+		{

+			model.alert("Error", "해당노드의 선택이 잘못되었습니다");

+			return false;

+		}

+    

+    window.close()			

+}	

+/*

+/**

+* @function :   commMsgCall() 

+* @param : arguments 메시지코드, 인자값	

+* @return 

+* @wirter : 

+* @write date : 2007-07-25

+* @description : 메시지호출 테스트 하단 bar 에 Msg 설정

+*/

+function commMsgCall() {

+	

+	//실제화면작업시

+	//	htmlwindow.document.Script.msgCall(msg);		

+	//테스트 작업시 

+	var msg =""

+	var argLength = arguments.length;

+	

+	  if (argLength>1) {

+		

+			 var vTempArray;

+		   var vReturnString = "";

+		

+		   vTempArray = arguments[0].split("@");

+			

+			if(vTempArray.length!=(argLength)) {alert('인자값의 수가 다릅니다!');  return; }

+				

+			   for(var i=0; i<vTempArray.length-1; i++)

+				   {

+				      vReturnString += vTempArray[i] + arguments[(i+1)];

+				   }

+		

+			   vReturnString += vTempArray[vTempArray.length-1];

+

+  			 msg = vReturnString;	

+

+			} else {

+								

+	       msg = arguments[0];				

+			

+			}

+

+				try {

+					parent.capMsg.value= msg;

+				}catch(e) {

+					capMsg.value= msg;		

+		  	}

+

+		model.refresh();

+}

+/**

+ * @type   : function

+ * @access : public

+ * @desc   : 불리언값에 따라 옮길곳에 데이타를 날리고 옮길지, append시키고 날릴지를 판단한다.

+ * @sig    : trgXpath, srcXpath, pboolean

+ * @param  : trgXpath     - 맵핑을 시킬곳의 위치

+ * @param  : srcXpath     - 서버에서 내려온 데이타

+ * @param  : pboolean     - trgXpath의 노드를 살릴지 지울지 판단

+ * @return : 없음. 

+ */ 

+function commAppendData(trgXpath, srcXpath, pboolean) {

+	if (!pboolean || pboolean == "")

+		pboolean = "false"; // 모드가 안들어오면 default(single)로 만듬

+

+	switch (pboolean) {

+		case "true":	

+			var srcNode = instance1.selectSingleNode(srcXpath);

+			var trgNode = instance1.selectSingleNode(trgXpath);

+

+			var srNode_child = srcXpath.childNodes;	

+			var trNode_child = trgXpath.childNodes;

+			var spl = srcXpath.split("/");

+			var tot_path = "";

+			var LastNode = spl[spl.length-1];

+			for(var z = 1; z < spl.length-1; z++) {

+				tot_path += "/"+spl[z];

+			}

+			var src_sub = instance1.selectSingleNode(tot_path);

+			var src_sub_child = src_sub.childNodes;

+			var t_spl = trgXpath.split("/");

+			var t_tot_path = "";

+			var t_LastNode = t_spl[t_spl.length-1];

+			for(var h = 1; h < t_spl.length-1; h++) {

+				t_tot_path += "/" + t_spl[h];

+			}

+			var trg_sub = instance1.selectSingleNode(t_tot_path);

+			var trg_sub_child = trg_sub.childNodes;

+

+			model.makeNode("/root/srctmpNode");

+			model.copyNode("/root/srctmpNode", t_tot_path);

+

+			for(var u = 0; u<trg_sub_child.length; u ++){

+				if(trg_sub_child.item(u).tagname != t_LastNode){

+					model.removeNodeset("/root/srctmpNode/"+trg_sub_child.item(u).tagname);

+				}

+			}

+			var srctmpNode = instance1.selectSingleNode("/root/srctmpNode");

+			var srctmpNode_child = srctmpNode.childNodes;			

+

+			model.makeNode("/root/backupNode");

+			model.copyNode("/root/backupNode", tot_path);

+

+			for(var u = 0; u<src_sub_child.length; u ++){

+				if(src_sub_child.item(u).tagname != LastNode){

+					model.removenodeset("/root/backupNode/"+src_sub_child.item(u).tagname);

+				}

+			}

+			for(var i = srctmpNode_child.length; i>0; i --) {

+				model.duplicate("/root/backupNode", "/root/srctmpNode/"+LastNode+"["+i+"]","*[1]");

+			}

+			model.removeNodeset(trgXpath);

+			model.removeNodeset("/root/srctmpNode");

+			var bkNode = instance1.selectSingleNode("/root/backupNode");

+			var bkNode_child = bkNode.childNodes;

+			/*

+			for(var i = bkNode_child.length; i>0; i --) {

+				model.duplicate(t_tot_path, "/root/backupNode/"+LastNode+"["+i+"]","*[1]");

+			}*/

+			for(var i =1 ; i<=bkNode_child.length; i ++) {

+				model.duplicate(t_tot_path, "/root/backupNode/"+LastNode+"["+i+"]");

+			}

+			model.removeNodeset("/root/backupNode");

+			break;

+		case "false":

+			var srcNode = instance1.selectSingleNode(srcXpath);

+			var trgNode = instance1.selectSingleNode(trgXpath);

+

+			var srNode_child = srcXpath.childNodes;	

+			var trNode_child = trgXpath.childNodes;

+			var spl = srcXpath.split("/");

+			var tot_path = "";

+			var LastNode = spl[spl.length-1];

+			for(var z = 1; z<spl.length-1; z++) {

+				tot_path += "/"+spl[z];

+			}

+			var src_sub = instance1.selectSingleNode(tot_path);

+			var src_sub_child = src_sub.childNodes;

+			var t_spl = trgXpath.split("/");

+			var t_tot_path = "";

+			var t_LastNode = t_spl[t_spl.length-1];

+			for(var h = 1; h<t_spl.length-1; h++) {

+				t_tot_path += "/"+t_spl[h];

+			}

+			var trg_sub = instance1.selectSingleNode(t_tot_path);

+			var trg_sub_child = trg_sub.childNodes;

+

+			model.removenode(trgXpath);

+

+			model.makeNode("/root/backupNode");

+			model.copyNode("/root/backupNode", tot_path);

+

+			for(var u = 0; u<src_sub_child.length; u ++){

+				if(src_sub_child.item(u).tagname != LastNode){

+					model.removenodeset("/root/backupNode/"+src_sub_child.item(u).tagname);

+				}

+			}

+

+			var bkNode = instance1.selectSingleNode("/root/backupNode");

+			var bkNode_child = bkNode.childNodes;

+			for(var i =1 ; i<=(bkNode_child.length+1); i ++) {

+				model.duplicate(t_tot_path, "/root/backupNode/"+LastNode+"["+i+"]");

+			}

+			model.removeNodeset("/root/backupNode");

+			break;

+	}

+}

+

+

+/**

+ * @type   : function

+ * @access : public

+ * @desc   : 데이터그리드를 멀티업데이트할때 nodeset을 새로 구성한다.

+ *    <pre>

+ *         commMultiUpdate(gridID,"/root/dest","A",false,"rowStuts")

+ *    </pre>

+ * @sig    : gridID,newNodesetPath,multiFlag,bRebuild,newEleName

+ * @param  : gridID           - 해당 데이터그리드의 아이디 또는 데이터그리드 객체.

+ * @param  : newNodesetPath   - 업데이트 데이터가 저장될 노드패스 Xpath.

+ * @param  : multiFlag        - 업데이트모드(A:전체, I:인서트만, U:업데이트만,D:딜리트만)

+ * @param  : bRebuild         - 기존 nodeset을 새로구성:true, 기존 req에 각 row의 변경스트링만 추가.

+ * @param  : newEleName       - bRebuild->true : 연산플래그(i,u,d)를 저장할 노드명,

+ *                              bRebuild->flase: 변경된 각각의 ROW 업데이트스트링을 저장할 노드명

+ * @return : boolean

+ */

+function commMultiUpdate(gridID,newNodesetPath,multiFlag,bRebuild,newEleName) {

+	var oGrid = (typeof gridID == 'string')?document.controls(gridID):gridID;

+	var data = oGrid.getUpdateData();

+	var rowSep = (oGrid.attribute("rowsep")=='')?'|':oGrid.attribute('rowsep');

+	var colSep = (oGrid.attribute("colsep")=='')?'^':oGrid.attribute('colsep');

+	var up_data    = data.split(rowSep);

+	var nHeaderLen = 2;

+	var nodesetPath = oGrid.attribute("nodeset");

+	if(up_data.length <= nHeaderLen){

+	   return false;

+	}

+	

+	var insertFlag = 0;

+	var updateFlag = 0;

+	var deleteFlag = 0;

+		

+	var arrHeader = new Array();

+	var arrData   = new Array();

+	var oldNodeset = model.instances(0).selectSingleNode(nodesetPath);

+	var strNodesetName = nodesetPath.substring(nodesetPath.lastIndexOf("/")+1);

+	model.makeNode(newNodesetPath);

+        var parentNode = model.instances(0).selectSingleNode(newNodesetPath);

+

+	for(var i=0;i<up_data.length-1;i++){

+		var vRow = up_data[i].split(colSep);

+			

+		if(i==0) {

+			arrHeader = vRow;

+			continue;

+		}

+		var up_flag = vRow[0];

+		var bInsert = (up_flag == "i" && multiFlag=="I")?true:false;

+		var bUpdate = (up_flag == "u" && multiFlag=="U")?true:false;

+		var bDelete = (up_flag == "d" && multiFlag=="D")?true:false;

+		var bMulti  = (multiFlag=="A")?true:false;

+

+		if(bInsert){

+    		if(!bRebuild) {

+				var rowNode = model.instances(0).createElement(newEleName);

+				rowNode.nodeValue = up_data[i];

+				parentNode.appendChild(rowNode);

+			} else {			    

+				arrData[insertFlag++] = vRow;

+			}

+		} else if(bUpdate){

+			if(!bRebuild) {

+				var rowNode = model.instances(0).createElement(newEleName);

+				rowNode.nodeValue = up_data[i];

+				parentNode.appendChild(rowNode);

+			} else {   

+				arrData[updateFlag++] = vRow;

+			}

+		}else if(bDelete){

+			if(!bRebuild) {

+				var rowNode = model.instances(0).createElement(newEleName);

+				rowNode.nodeValue = up_data[i];

+				parentNode.appendChild(rowNode);

+			} else {   

+				arrData[deleteFlag++] = vRow;

+			}

+		}else if(bMulti){

+			if(!bRebuild) {

+				var rowNode = model.instances(0).createElement(newEleName);

+				rowNode.nodeValue = up_data[i];

+				parentNode.appendChild(rowNode);

+			} else { 

+				arrData[(i-1)] = vRow;

+			}

+		}

+	}

+

+	if(arrData.length < 1 && bRebuild) return false;

+    

+	if(bRebuild) {

+		for(var i=0; i<arrData.length; i++) {

+			var r = arrData[i];

+			var rowNode = model.instances(0).createElement(strNodesetName);

+			for(var j=0; j<arrHeader.length; j++) {

+				if(j==1)

+					continue;

+				var colName;

+				if(j==0) {

+					colName = newEleName;

+				} else {

+					colName = arrHeader[j];

+				}

+				var colNode = model.instances(0).createElement(colName);

+

+				colNode.nodeValue = r[j];

+				rowNode.appendChild(colNode);

+			}

+			parentNode.appendChild(rowNode);

+			var flagNode = model.instances(0).selectNodes(newNodesetPath+"/"+strNodesetName+"["+(i+1)+"]/"+newEleName);

+			if( flagNode.length > 1 ) {

+				for( var k = 2; k <= flagNode.length; k++ ) {

+					model.removeNode(newNodesetPath+"/"+strNodesetName+"["+(i+1)+"]/"+newEleName+"["+k+"]");

+				}

+			}

+		}

+	}

+	return true;

+}

+

+/**

+ * @function   :  commDetailView

+ * @access : public

+ * @desc   : 두개의 노드를 비교해서 같은 엘리먼트가 있으면 값을 복사한다.

+ * @sig    : datagridID, f_set

+ * @param  : f_set  - 복사될 곳의 위치

+ * @param  : datagridID  - 선택한 행의 그리드ID

+ * @return : 없음. 

+ */ 

+function commDetailView(datagridID,f_set) {

+

+	if( typeof datagridID == 'string' ) datagridID = document.controls(datagridID);

+	var f_get = datagridID.attribute("nodeset")+"["+(datagridID.row-datagridID.fixedRows+1)+"]";

+

+	var node = instance1.selectSingleNode(f_get);

+	if(node != null){

+		var nodeChild = node.childNodes;

+		var node_detail = instance1.selectSingleNode(f_set);

+		var nodeChild_detail = node_detail.childNodes;

+		var tag = "";

+		var tag_detail = "";

+		var get_value = "";

+		var lower_tag = "";

+		for(var i = 0; i < nodeChild.length; i ++) {

+			tag = nodeChild.item(i).tagname;

+			get_value = model.getValue(f_get+ "/"+ tag);

+			for(var y = 0 ; y < nodeChild_detail.length; y ++ ) {			

+				tag_detail = nodeChild_detail.item(y).tagname;

+				if(tag == tag_detail) { 

+					model.setValue(f_set+ "/"+ tag_detail, get_value);

+				}

+			}

+		}

+		model.refresh();

+	}

+}

+

+/**

+ * @function   :  commFormSet

+ * @access : public

+ * @desc   : 두개의 노드를 비교해서 같은 엘리먼트가 있으면 값을 복사한다.

+ * @sig    : f_get, f_set

+ * @param  : f_set  - 복사될 곳의 위치

+ * @param  : f_get  - 복사할곳의 위치D

+ * @return : 없음. 

+ */ 

+function commFormSet(f_set,f_get) {

+

+	

+	var node = instance1.selectSingleNode(f_get);

+	if(node != null){

+		var nodeChild = node.childNodes;

+		var node_detail = instance1.selectSingleNode(f_set);

+		var nodeChild_detail = node_detail.childNodes;

+		var tag = "";

+		var tag_detail = "";

+		var get_value = "";

+		var lower_tag = "";

+		for(var i = 0; i < nodeChild.length; i ++) {

+			tag = nodeChild.item(i).tagname;

+			get_value = model.getValue(f_get+ "/"+ tag);

+			for(var y = 0 ; y < nodeChild_detail.length; y ++ ) {			

+				tag_detail = nodeChild_detail.item(y).tagname;

+				if(tag == tag_detail) { 

+					model.setValue(f_set+ "/"+ tag_detail, get_value);

+				}

+			}

+		}

+		model.refresh();

+	}

+}

+

+

+/**

+ * @function   :  commGroupInit

+ * @access : public

+ * @desc   : 그룹하위 control 초기화

+ * @sig    :

+ * @param  :groupid

+ * @return : 없음. 

+ */ 

+function commGroupInit(groupid)

+{

+    var ctrCnt = groupid.children.length;

+

+	for(var j=0 ;  j < ctrCnt ; j++)

+	{

+	

+		var ctr = groupid.children.item( j );

+		

+		if(ctr.elementName == "xforms:input" ||  ctr.elementName == "xforms:output" || ctr.elementName =="xforms:select1") {

+			model.setValue(ctr.attribute("ref"),"");	

+		} else if(ctr.elementName == "xforms:datagrid" ) 

+		{

+			model.removeNodeset(ctr.attribute("nodeset"));

+		} 

+	}

+	groupid.refresh();

+}

+

+/**

+ * @function   :  commComfirmBox

+ * @access : public

+ * @desc   : 윈도우 comfirm 창

+ * @sig    : str, title

+ * @param  : str   - 나타낼 문자열

+ * @param  : title - 제목 

+ * @return : yes 1 , no 0

+ */ 

+function commComfirmBox(str, title) {

+	

+	var MyReturn = model.alert( str, title, 0x20 | 4 );   

+	if( MyReturn == 6) return 1;

+	else			   return 0;

+	return MyReturn;

+

+}

+

+/**

+ * @function   :  commGridInit

+ * @access : public

+ * @desc   : 그리드 셀 스타일과 디세이블 상태를 초기화 시켜준다

+ * @sig    : datagrid1

+ * @param  : datagrid1   - 그리드 id

+ * @return : 

+ */ 

+function commGridInit(datagrid1) {

+		if( typeof datagrid1 == 'string' ) datagrid1 = document.controls(datagrid1);

+		datagrid1.allStyle("data","background-color")= initCellStyle;

+		datagrid1.isReadOnly(0,0,(datagrid1.rows-1),(datagrid1.cols-1))=false;

+}

+

+/**

+ * @function   :  commAddRow

+ * @access : public

+ * @desc   : 그리드 행추가

+ * @sig    : datagrid1

+ * @param  : datagrid1   - 그리드 id

+ * @return : 

+ */ 

+function commAddRow(datagrid1) {

+	if( typeof datagrid1 == 'string' ) datagrid1 = document.controls(datagrid1);

+	datagrid1.addRow();

+	datagrid1.rowStyle(datagrid1.rows-1,"data","background-color") =insertRowStyle;

+	datagrid1.row=datagrid1.rows-1;

+	datagrid1.isSelected(datagrid1.rows)=true;

+}	

+

+/**

+ * @function   :  commDelRow

+ * @access : public

+ * @desc   : 그리드 행삭제

+ * @sig    : datagrid1

+ * @param  : datagrid1   - 그리드 id

+ * @return : 

+ */ 

+function commDelRow(datagrid1,chkRef) {

+					

+		for(var i=datagrid1.rows; i>(datagrid1.fixedRows-1) ; i--) {

+				

+				if(datagrid1.valueMatrix(i,datagrid1.colRef(chkRef))=='true') {

+					

+					if( datagrid1.rowStatus(i)==1 ||datagrid1.rowStatus(i)==3 ) 

+					{ 

+						datagrid1.deleteRow(i);	

+					}else if(datagrid1.rowStatus(i)==4 || datagrid1.rowStatus(i)==0) 

+					{

+						datagrid1.isReadOnly(i,0,i,(datagrid1.cols-1))=true;

+						datagrid1.rowStyle(i,"data","background-color") = deleteRowStyle; 

+						datagrid1.addStatus(i,"delete");

+					}

+					

+				} 	

+		}

+}

+

+

+

+

+/**

+*  @function : goPage 

+*  @ param : gridID - 페이징 처리할 gridID

+*  @ param : blockSize - 페이질 블럭 크기

+*  @ param : submissionID - 그리드를 조회하는 서브미션ID

+*  @ param : txCode - 그리드를 조회하는 txCode

+*  @ param : resGridNodeSet - resultRef 중 그리드의 Nodeset으로 복사될 Node

+*  @ param : page - 이동할 페이지	 	   

+*  desc    : 지정한 페이지로 이동. 

+*/

+

+function goPage (gridID,serviceName,serviceTag,action,page,pageSize, blockSize,resGridNodeSet,funcNm,importID) {

+       action = action+"&pageEvent=1";

+	commSubmit(serviceName,serviceTag,action);

+

+	if( typeof gridID == 'string' ) gridID = document.controls(gridID);

+	

+		var gridNode = gridID.attribute("nodeset");

+		var pageNode =gridNode.substr(0,gridNode.lastIndexOf("/"))

+		

+		commAppendData(pageNode,resGridNodeSet);   //<-- 가져온 값을 그리드 데이터에 붙인다

+		//var page

+		gridID.rebuild();

+		gridID.setSeqRowHeader((page-1)*pageSize+1-gridID.fixedRows);

+		model.makeValue("/root/pageInfo/currentPage",page);

+	

+		if(action.indexOf("?")!=-1) action = action.substr(0,action.indexOf("?"));

+			

+		commPagingList(gridID, blockSize, serviceName, serviceTag, action, resGridNodeSet, page, funcNm,importID) ;

+	

+		if ( funcNm != "" && funcNm != null ) {	

+			eval(funcNm + "();");

+		}

+	}

+	

+	

+/**

+	*  @ function :	commPagingList 

+	*  @ param : gridID - 페이징 처리할 gridID

+	*  @ param : blockSize - 페이질 블럭 크기

+	*  @ param : serviceName - 그리드를 조회하는 serviceName

+	*  @ param : serviceTag - 그리드를 조회하는 serviceTag

+	*  @ param : actionName - 그리드를 조회하는 actionName

+	*  @ param : resGridNodeSet - resultRef 중 그리드의 Nodeset으로 복사될 Node

+	*  @ param : page       - 호출할 현재페이지

+	*  @ param : funcNm     - 페이지 생성 후 

+	*  @ param : importID   - import가 여러개일경우 임포트 아이디를 지정해준다.

+	*  @ description : 페이징 블럭 생성 

+    

+ */

+function commPagingList(gridID, blockSize, serviceName, serviceTag, actionName, resGridNodeSet, page, funcNm ,importID) {

+			

+		

+		var gridId = gridID.attribute("id");

+		

+		if( typeof gridID == 'string' ) gridID = document.controls(gridID);

+		if (importID != "" && importID != null && importID !='undefined') {

+		   if( typeof importID == 'string' ) importID = document.controls(importID);	

+		} 

+		

+		var gridNode = gridID.attribute("nodeset");

+		

+		var pageNode =gridNode.substr(0,gridNode.lastIndexOf("/"))+"/PageSize";

+		var totSizeNode =gridNode.substr(0,gridNode.lastIndexOf("/"))+"/ToTal";	

+					

+		var pageSize = Number(model.getValue(pageNode));

+		var totSize =  Number(model.getValue(totSizeNode));

+		

+		if(instance1.selectSingleNode("/root/pageInfo/currentPage")!=null) page = Number(model.getValue("/root/pageInfo/currentPage")); 								

+							

+		var  currentPage = page;

+

+		var  totalPageCount = Number(Math.ceil(totSize/pageSize));

+		

+		var  totalItemCount  = totSize;    // 총 건수

+	

+

+		// 현재페이지 설정

+		if ( currentPage == 0  ) currentPage = 1 ;

+		// 페이징블럭 시작번호, 끝번호

+		var startPageNo = ((Math.ceil(currentPage/blockSize)-1) * blockSize) + 1;   // 페이징블럭 시작번호

+		

+		var endPageNo = Math.ceil(currentPage/blockSize) * blockSize;	             // 페이징블럭 끝번호    

+		if ( endPageNo > totalPageCount ) endPageNo = totalPageCount ;                // 끝번호는 최대가 총페이지수

+		

+		var prevStart = startPageNo - blockSize ;                                                   // 이전일 경우 시작할 페이지번호

+		if ( prevStart < 1 ) prevStart = 1;                                                                 // 이전 시작 페이지는 최소 1 

+		var nextStart = startPageNo + blockSize ;                                                   //  다음일 경우 시작할 페이지번호

+		var lastStart = (Math.ceil(totalPageCount/blockSize) - 1) * blockSize + 1 ;     // 맨끝일 경우 시작할 페이지번호

+		

+		// 버튼들의 시작 위치 정하기

+		var pageNoCnt = endPageNo - startPageNo + 1 ;                                        // 페이징블럭에 생길 페이지갯수

+		var q = 22 * pageNoCnt - 2 + 100 ; // 필요한 크기: 숫자당크기(숫자+숫자간간격) * 페이지숫자갯수 - 2(마지막 숫자간 간격) + 양옆버튼총크기(간격포함)

+		

+		var importSize = 0;

+		var importSize1;

+		

+		if(importID!='undefined' && importID!=null && importID!=""){ 

+			

+			importSize1 = importID.attribute("width");

+		    importSize = Number(importSize1.substr(0,importSize1.indexOf("px")));

+		} else {  

+			var ctrCnt = body.children.length;

+

+			for ( var i = 0 ; i < ctrCnt ; i++ ) {

+				var ctr = body.children.item(i);

+				if ( ctr.elementName == "xforms:import") {

+				importSize1 = ctr.attribute("width");

+				importSize = Number(importSize1.substr(0,importSize1.indexOf("px")));

+				}

+			}				

+		}	  

+		

+		var s = Math.ceil((importSize - q) / 2) ;  // 시작점 : ( 334(전체크기) - 필요한크기 ) / 2

+		

+		// 이전,맨앞 버튼 처리

+		btn_nav_first.attribute("left") = s ;

+		btn_nav_first.visible = true;							

+		s += 15 ;

+		

+		btn_nav_prev.attribute("left") = s ;

+		btn_nav_prev.visible = true;		

+		s += 35 ;

+					

+		if ( currentPage <= blockSize ) {

+			btn_nav_first.disabled =true;

+			btn_nav_prev.disabled = true;						

+		} else {

+

+			oFirstButton = grp_nav.children.item("btn_nav_first") ;

+			oFirstButton.attribute("onclick")  = "goPage('"+gridId+"','"+serviceName+"','"+serviceTag+"','"+actionName+"?curPageNum=1',"+1+","+pageSize+","+blockSize+",'"+resGridNodeSet+"','"+funcNm+"');"  ;

+

+			oPrevButton = grp_nav.children.item("btn_nav_prev") ;

+			oPrevButton.attribute("onclick") =  "goPage('"+gridId+"','"+serviceName+"','"+serviceTag+"','"+actionName+"?curPageNum="+prevStart+"',"+prevStart+","+pageSize+","+blockSize+",'"+resGridNodeSet+"','"+funcNm+"');"  ;

+			

+			btn_nav_first.disabled = false;

+			btn_nav_prev.disabled = false;

+		}

+

+		// 해당하는 페이지만큼 생성

+	

+		var j = 0;

+		for ( var i = startPageNo ; i <= endPageNo ; i++ ) {

+			j ++ ;

+			if ( grp_nav.children.item("caption_nav_"+ j ) != null) {

+	

+				oCaption =  grp_nav.children.item("caption_nav_"+j);

+				oCaption.attribute("visibility") = "visible" ;

+			} else {	

+						

+				var propText = "id:caption_nav_" + (j) + ";left:" + s + "px; top:5px; width:23px; height:15px;";

+				oCaption = grp_nav.createChild("xforms:caption", propText);

+			}

+			

+			if (i==currentPage) {

+				oCaption.attribute("font-weight") = "bold;";

+				oCaption.attribute("onclick") = "";

+			} else  {

+

+				oCaption.attribute("font-weight") ="normal;";

+				oCaption.attribute("onclick") =  "goPage('"+gridId+"','"+serviceName+"','"+serviceTag+"','"+actionName+"?curPageNum="+i+"',"+i+","+pageSize+","+blockSize+",'"+resGridNodeSet+"','"+funcNm+"');"  ;

+			}

+			

+			oCaption.attribute("text") = i;

+			oCaption.attribute("left") = s;

+			

+			s += 15 ; // 다음 숫자의 포지션 계산(숫자의 width(23) + 2

+		}

+

+		for ( var i = (endPageNo-startPageNo+2) ; i <= blockSize; i++ ) {

+

+			if ( grp_nav.children.item("caption_nav_"+ i ) != null) {

+				oCaption =  grp_nav.children.item("caption_nav_"+i);

+				oCaption.attribute("visibility") = "hidden" ;

+			}

+		}

+

+		// 다음,맨뒤 버튼 처리

+		s += 15;

+		btn_nav_next.attribute("left") = s ;

+		btn_nav_next.visible = true;	

+

+		s += 33 ;					

+		btn_nav_last.attribute("left") = s ;

+		btn_nav_last.visible = true;		

+		

+		if ( Math.ceil(currentPage/blockSize) == Math.ceil(totalPageCount/blockSize) ) {				

+			btn_nav_next.disabled = true;

+			btn_nav_last.disabled = true;

+		} else {

+			oNextButton = grp_nav.children.item("btn_nav_next") ;						

+			oNextButton.attribute("onclick") = "goPage('"+gridId+"','"+serviceName+"','"+serviceTag+"','"+actionName+"?curPageNum="+nextStart+"',"+nextStart+","+pageSize+","+blockSize+",'"+resGridNodeSet+"','"+funcNm+"');"  ;

+

+			oLastButton = grp_nav.children.item("btn_nav_last") ;

+			oLastButton.attribute("onclick")  = "goPage('"+gridId+"','"+serviceName+"','"+serviceTag+"','"+actionName+"?curPageNum="+lastStart+"',"+lastStart+","+pageSize+","+blockSize+",'"+resGridNodeSet+"','"+funcNm+"');"  ;

+			

+			btn_nav_next.disabled = false;

+			btn_nav_last.disabled = false;

+		}

+		

+		

+}

+

+/**

+ * @function   :  commMsgBox

+ * @access : public

+ * @desc   : 메시지 알림 창

+ * @sig    : str, title

+ * @param  : arguments - 메시지코드, 인자값

+ * @param  :  

+ * @return : 

+ */ 

+function commMsgBox() {

+	var argLength =	arguments.length;

+	if(argLength == 0) {

+		if(instance1.selectSingleNode("/root/resData/Message") != null) {

+			var msg = model.getValue("/root/resData/Message");

+			if (msg != "" && msg != null && msg.length > 0) {

+			      model.alert(msg, "알림");

+			}	

+		}

+	} else {

+		var msg = arguments[0];

+		var vTempArray = msg.split("@");

+		// vTempArray = arguments[0].split("@");

+		var vReturnString = "";

+

+		if(vTempArray.length != argLength) {

+			alert('인자값의 수가 다릅니다!');

+			return;

+		}

+

+		for(var i = 0; i < vTempArray.length-1 ; i++) {

+			vReturnString += vTempArray[i] + arguments[(i+1)];

+		}

+

+		vReturnString += vTempArray[vTempArray.length-1];

+		model.alert( vReturnString, "알림");   	

+	}

+}

+

+

+/**

+ * @function   :  commReqCheck

+ * @access : public

+ * @desc   : 필수입력 확인 

+ * @sig    : 

+ * @param  : group ID

+ * @param  :  

+ * @return : 

+ */ 

+	function commReqCheck(group1) {	

+		var chk =true;	

+		if( typeof group1 == 'string' ) group1 = document.controls(group1);			

+		var cnt = group1.children.length;

+		

+		for(i=0 ; i<cnt ; i++) {

+			var ctr = group1.children.item(i);

+			if(ctr.elementName=="xforms:input" || ctr.elementName=="xforms:select1") {

+				

+				if(ctr.attribute("class")=="req" && model.getValue(ctr.attribute("ref"))=="") {

+					model.setFocus(ctr.attribute("id"));	

+					commMsgBox(bz_common_reqConfirm);

+					chk =false;

+					break;

+				}	

+			}							

+		}

+	   return chk;

+	}				

+	

+/**

+ * @type   : function

+ * @access : public

+ * @desc   : Progress Bar와 관련된 함수이다.

+ */

+cf_progress_bar = new function() {

+	var N = -1;

+	var width  = 300;

+	var height = 15;

+	var left   = 0;

+	var top    = 0;

+	var bg_color = "white";

+	var bd_width = "1";

+	var bd_color = "#666699";

+	var block_color  = "#CC99FF";

+	var speed        = 100;

+	var block_count  = 17;

+	var scroll_count = 5;

+	var action       = "";

+	left =  Math.ceil((window.width - width)/2);

+	top  = Math.ceil((window.height - height)/2);

+

+    var oProgressBar, oOuterBlock, sProperty = 'id:grp_progress'+ N +';visibility:hidden;overflow:hidden;font-size:1px;border-style:solid;';

+	sProperty += "width:"  + width  +";";

+	sProperty += "height:" + height +";";

+	sProperty += "left:"   + left  +";";

+	sProperty += "top:"    + top  +";";

+	sProperty += "background-color:" +  bg_color +";";

+	sProperty += "border-width:"     +  bd_width +";";

+	sProperty += "border-color:"     +  bd_color +";";

+	oProgressBar = body.createChild("xforms:group", sProperty);

+       

+	sProperty = 'id:grp_outer_block'+ N +';visibility:visible;overflow:hidden;font-size:1px;';

+	sProperty += "background-color:" +  "white" +";";

+	sProperty += "left:-"   + (height*2+1)  +";";

+    sProperty += "top:"    + (0)  +";";		

+    sProperty += "width:"  + width  +";";

+	sProperty += "height:" + height +";";

+	oOuterBlock = oProgressBar.createChild("xforms:group", sProperty);

+	

+	for(i=0;i<block_count;i++){

+		sProperty = "id:cap_bar"+(i)+";visibility:visible;font-size:1px;";

+		sProperty += "background-color:" +  block_color +";";

+		sProperty += "width:"   + height +";";

+		sProperty += "height:"  + height +";";

+		sProperty += "left:"   + ((height*i)+i)  +";"; 

+		sProperty += "top:"     + 0  +";";

+		sProperty += "opacity:" +  (100-i*(100/block_count)) +";";

+		oOuterBlock.createChild("xforms:caption", sProperty);

+	}

+	

+	this.bar = oProgressBar;

+	this.block_count=block_count;

+	this.N=N;

+	this.left2=left;

+	this.top2=top;

+	this.w=width;

+	this.h=height;

+	this.speed=speed;

+	this.ctr=0;

+	this.count=scroll_count;

+	this.action=action;

+

+	this.startBar = function(bn){

+		if(oOuterBlock.currentStyle.left+oOuterBlock.currentStyle.height+1-(cf_progress_bar.block_count*oOuterBlock.currentStyle.height+cf_progress_bar.block_count)>oOuterBlock.currentStyle.width){

+			oOuterBlock.attribute("left") =-(oOuterBlock.currentStyle.height*2+1)+'px';

+			cf_progress_bar.ctr++;

+			if(cf_progress_bar.ctr>=cf_progress_bar.scroll_count){

+				eval(cf_progress_bar.action);

+				cf_progress_bar.ctr=0;

+		       }

+		} else oOuterBlock.attribute("left")=(parseInt(oOuterBlock.currentStyle.left)+oOuterBlock.currentStyle.height+1)+'px';

+	}

+

+	this.togglePause = function (){

+		if(cf_progress_bar.tid==0){

+			cf_progress_bar.tid=window.setInterval('cf_progress_bar.startBar('+cf_progress_bar.N+')',cf_progress_bar.speed);

+		} else {

+			window.clearInterval(cf_progress_bar.tid);

+			cf_progress_bar.tid=0;

+		}

+	}

+

+	this.showBar=function(){

+		cf_progress_bar.moveCenter(true);

+		cf_progress_bar.bar.attribute("visibility")="visible";

+	}

+

+	this.hideBar=function() {

+		cf_progress_bar.bar.attribute("visibility")="hidden";

+		cf_progress_bar.moveCenter(false);

+	}

+	

+	this.start = function() {

+		cf_progress_bar.showBar();

+		cf_progress_bar.tid=window.setInterval('cf_progress_bar.startBar('+N+')',cf_progress_bar.speed);

+	}

+		

+	this.finish = function() {

+		cf_progress_bar.togglePause();

+		cf_progress_bar.hideBar();

+	}		

+		

+	this.moveCenter = function(flag) {

+		if(!flag) {

+			cf_progress_bar.left2 = cf_progress_bar.bar.attribute("left");

+			cf_progress_bar.top2  = cf_progress_bar.bar.attribute("top");

+			cf_progress_bar.bar.attribute("left") = -cf_progress_bar.bar.attribute("width");

+			cf_progress_bar.bar.attribute("top")  = -cf_progress_bar.bar.attribute("height");

+		} else {

+			cf_progress_bar.bar.attribute("left") = cf_progress_bar.left2;

+		    cf_progress_bar.bar.attribute("top") = cf_progress_bar.top2;

+		}

+	}

+}

+

+

+/**

+ * @type   : function

+ * @access : public

+ * @desc   : progress bar를 표시한다.

+ *    <pre>

+ *        cf_progress('S')

+ *    </pre>

+ * @param  : mode - progress bar 시작('S') / 끝내기('E')

+ * @return : boolean - 성공/실패

+ */

+function commProgress(mode) {

+    try{

+       	var progressGroup = null;

+        if( mode == 'S' ) {

+            /* create group : 파일 저장 시에 화면의 컨트롤을 클릭하는 것 방지해 줌. */

+        	var width = 200, height = 18;

+        	

+        	sPropertyText = 'id:progressGroup; left:50%; top:50%; width:'+width+'px; height:'+height+'px; ';

+        

+        	progressGroup = body.createChild("xforms:group",sPropertyText);

+        	if( progressGroup == null ) {

+        		//model.alert("group 생성 실패");

+        		return false;

+        	}

+        	progressGroup.attribute('background-color') = 'transparent';

+        	cf_progress_bar.start(); progressGroup.attribute('width') = width; progressGroup.attribute('height') = height;

+        } else if( mode == 'E' ) {

+           	progressGroup = document.controls('progressGroup');

+           	if( progressGroup == null ) { return false; }

+            cf_progress_bar.finish(); progressGroup.attribute('width') = 0; progressGroup.attribute('height') = 0;

+        }

+    } catch(e) {}

+}

+	

+/***************************************************************************************************************/

+/* 3 . ProtoType 관련 함수 (String)

+/*

+/* 1)  String.prototype.ReplaceWord        : 문자열중의 특정 문자 또는 단어를 찾아 원하는 문자 또는 단어로 치환   

+/* 2)  String.prototype.CheckNum           : 저장된 값이 Number 형인지 점검

+/* 3)  String.prototype.CheckFloat         : 저장된 값이 Float 형인지 점검

+/* 4)  String.prototype.GetRound           : 저장된 값을 지정한 자리에서 올림/반올림/버림 처리 GetRound( pPoint, pMode )   

+/* 5)  String.prototype.GetTruncate        : 소수점 버리고 정수형 String으로 생성 (음수인경우에도 마찬가지 음수표시는 유효)   

+/* 6)  String.prototype.GetZeroString      : 저장된 숫자 값에 원하는 길이만큼 '0'을 붙여 표현 GetZeroString( pLen )  

+/* 7)  String.prototype.GetByteSize        : 파라미터 값의 Byte 크기를 리턴   

+/* 8)  String.prototype.Trim               : 문자열 앞뒤에있는 공백 제거   

+/* 9)  String.prototype.CheckByteSize      : 문자열의 Byte 크기가 제한값을 벗어나는지 체크 (벗어나면 false 리턴)   

+/* 10) String.prototype.CheckEmpty         : 값이 없는지 체크     

+/* 11) String.prototype.ReplaceString      : 문자열중의 특정 문자 또는 단어를 찾아 원하는 문자 또는 단어로 치환     

+/* 12) String.prototype.TrimLeft           : 문자열 앞에 있는 공백 제거     

+/* 13) String.prototype.TrimRight          : 문자열 뒤에 있는 공백 제거     

+/* 14) String.prototype.ToLower            : 문자열을 모두 소문자로 변환     

+/* 15) String.prototype.ToUpper            : 문자열을 모두 대문자로 변환     

+/* 16) String.prototype.GetLength          : 문자열의 길이를 구한다.     

+/* 17) String.prototype.IsNull             : 주어진 값이 null인지 확인한다.

+/* 18) String.prototype.AmtToHangleName    :  금액을 한글금액으로 변경 

+*****************************************************************************************************************/		

+

+

+String.prototype.ReplaceWord       = ReplaceWord;

+String.prototype.CheckNum          = CheckNum;

+String.prototype.CheckFloat        = CheckFloat;

+String.prototype.GetRound          = GetRound;

+String.prototype.GetTruncate       = GetTruncate;

+String.prototype.GetZeroString     = GetZeroString;

+String.prototype.GetByteSize       = GetByteSize;

+String.prototype.Trim              = Trim;

+String.prototype.CheckByteSize     = CheckByteSize;

+String.prototype.CheckEmpty        = CheckEmpty;

+String.prototype.ReplaceString     = ReplaceString;

+String.prototype.TrimLeft          = TrimLeft;

+String.prototype.TrimRight         = TrimRight;

+String.prototype.ToLower           = ToLower;

+String.prototype.ToUpper           = ToUpper;

+String.prototype.GetLength         = GetLength;

+String.prototype.IsNull            = IsNull;

+String.prototype.AmtToHangleName   = AmtToHangleName;

+

+/**

+ * @group  : String 확장

+ * @ver    : 2004.06.30 (KUHDEV-0001)

+ * @by     : je2kwan2.

+ * @---------------------------------------------------

+ * @type   : function

+ * @access : public

+ * @desc   : 문자열중의 특정 문자 또는 단어를 찾아 원하는 문자 또는 단어로 치환

+ * <pre>

+ *				1. 찾을 단어를 구분자로 분리한 문자열을 저장할 배열 변수지정

+ *				2. 치환하여 리턴할 내용을 담을 변수 지정

+ *				3. 원본 문자열을 찾을 단어를 구분자로 분리

+ *				4. 찾을 단어의 수만큼 loop

+ *					- 찾을 단어 대신 대체 단어를 붙이면서 누적

+ *				3. 마지막 찾을 단어의 뒷부분 내용 추가.

+ *					- 찾을 단어가 없었다면 원본 문자열 전체가 됨

+ * </pre>

+ * @param  : pFindWord    - 찾을 단어

+ * @param  : pReplaceWord - 대체 단어

+ * @return : String - 대체하고난 문자열

+ * @---------------------------------------------------

+ */

+function ReplaceWord( pFindWord, pReplaceWord )

+{

+   var vTempArray;

+   var vReturnString = "";

+

+   vTempArray = this.split(pFindWord);

+

+   for(var i=0; i<vTempArray.length-1; i++)

+   {

+   	vReturnString += vTempArray[i] + pReplaceWord;

+   }

+

+   vReturnString += vTempArray[vTempArray.length-1];

+

+   return vReturnString;

+}

+

+//numArray.max( sint,mint )  --- (X)

+//numArray.max( sint, mint ) --- (O)

+

+

+/**

+ * @group  : String 확장

+ * @ver    : 2004.06.30 (KUHDEV-0001)

+ * @by     : je2kwan2.

+ * @---------------------------------------------------

+ * @type   : function

+ * @access : public

+ * @desc   : 저장된 값이 Number 형인지 점검

+ * @param  : N/A

+ * @return : true/false

+ * @---------------------------------------------------

+ */

+function CheckNum()

+{

+	if( typeof( this ) == "undefined" ) return false;

+	if( this.length == 0 ) return false;

+

+	var vNumber = this.toString();

+	for( var i=0; i < vNumber.length; i++ )

+   {

+      var vTemp = vNumber.substring( i, i+1 );

+

+      // 숫자가 아니면 FALSE 리턴

+      if( isNaN( vTemp ) ) return false;

+

+      // 공백이면 FALSE 리턴

+      if( " " == vTemp ) return false;

+   }

+

+	return true;

+}

+

+/**

+ * @group  : String 확장

+ * @ver    : 2004.06.30 (KUHDEV-0001)

+ * @by     : je2kwan2.

+ * @---------------------------------------------------

+ * @type   : function

+ * @access : public

+ * @desc   : 저장된 값이 Float 형인지 점검

+ * @param  : N/A

+ * @return : true/false

+ * @---------------------------------------------------

+ */

+function CheckFloat()

+{

+	// 파라미터 값이 parseFloat()후에도 같으면 TRUE 리턴

+   if( this == parseFloat( this ) ) {

+   	return true;

+   } else {

+   	return false;

+   }

+}

+

+/**

+ * @group  : String 확장

+ * @ver    : 2004.06.30 (KUHDEV-0001)

+ * @by     : je2kwan2.

+ * @---------------------------------------------------

+ * @type   : function

+ * @access : public

+ * @desc   : 저장된 값을 지정한 자리에서 올림/반올림/버림 처리

+ * <pre>

+ *           1.

+ * </pre>

+ * @param  : pPoint - 올림/반올림/버림 할 위치(2:10자리, 1:1자리, -1:소수점이하 첫째자리)

+ * @param  : pMode  - 1:올림, 0:반올림, -1:버림

+ * @return : Number

+ * @---------------------------------------------------

+ */

+function GetRound( pPoint, pMode )

+{

+// 파라미터 값을 수치화 하여 변수에 저장

+   var vNumber    = eval(this);

+

+   // 소수점을 기준으로 숫자들만 취하여 배열 변수에 저장

+   var vTempArray = eval(this).toString().ReplaceWord("-", "").split(".");

+

+   // this 가 float 형이 아니면

+   if( !this.CheckFloat() )

+   {

+      //fAlertMessage(4, "파라미터");

+      return "";

+   }

+

+	// pPoint 가 float 형이 아니면

+   if( !pPoint.toString().CheckFloat() )

+   {

+      //fAlertMessage(4, "파라미터");

+      return "";

+   }

+

+   // 소수점 앞에서 처리하려면

+   if(0 < eval( pPoint ))

+   {

+      // 소수점 이상 자리수보다 크면

+      if( vTempArray[0].length < eval(pPoint) )

+      {

+         // 메시지 처리후 리턴

+         //fAlertMessage(1, "올림/반올림/버림 할 위치");

+         return "";

+      }

+   }

+   // 소수점 뒤에서 처리하려면

+   else if(0 > eval(pPoint))

+   {

+      // 소수점 이하값이 존재하지 않거나 자리수보다 크면

+      if(vTempArray.length != 2 || vTempArray[1].length < eval(pPoint)*(-1))

+      {

+         // 메시지 처리후 리턴

+//       fAlertMessage(1, "올림/반올림/버림 할 위치");

+//       return "";

+

+         return this;

+      }

+   }

+

+   // '올림'이고

+   if(1 == eval(pMode))

+   {

+      // 소수점 앞에서 처리하려면

+      if(0 < eval(pPoint))

+      {

+         // 해당 자리(pPoint)에서 올림 처리

+         vNumber = Math.ceil(vNumber / Math.pow(10, pPoint)) * Math.pow(10, pPoint);

+

+         return vNumber;

+      }

+      // 소수점 뒤에서 처리하려면

+      else if(0 > eval(pPoint))

+      {

+         // 해당 자리(pPoint)에서 올림 처리

+         vNumber = Math.ceil(vNumber * Math.pow(10, pPoint*(-1)-1)) / Math.pow(10, pPoint*(-1)-1);

+

+         return vNumber;

+      }

+      else

+      {

+         //fAlertMessage(4, "올림자리");

+         return "";

+      }

+   }

+   // '반올림'이고

+   else if(0 == eval(pMode))

+   {

+      // 소수점 앞에서 처리하려면

+      if(0 < eval(pPoint))

+      {

+         // 해당 자리(pPoint)에서 반올림 처리

+         vNumber = Math.round(vNumber / Math.pow(10, pPoint)) * Math.pow(10, pPoint);

+

+         return vNumber;

+      }

+      // 소수점 뒤에서 처리하려면

+      else if(0 > eval(pPoint))

+      {

+         // 해당 자리(pPoint)에서 반올림 처리

+         vNumber = Math.round(vNumber * Math.pow(10, pPoint*(-1)-1)) / Math.pow(10, pPoint*(-1)-1);

+

+         return vNumber;

+      }

+      else

+      {

+         //fAlertMessage(4, "올림자리");

+         return "";

+      }

+   }

+   // '버림'이고

+   else if(-1 == eval(pMode))

+   {

+      // 소수점 앞에서 처리하려면

+      if(0 < eval(pPoint))

+      {

+         // 해당 자리(pPoint)에서 내림 처리

+         vNumber = Math.floor(vNumber / Math.pow(10, pPoint)) * Math.pow(10, pPoint);

+

+         return vNumber;

+      }

+      // 소수점 뒤에서 처리하려면

+      else if(0 > eval(pPoint))

+      {

+         // 해당 자리(pPoint)에서 내림 처리

+         vNumber = Math.floor(vNumber * Math.pow(10, pPoint*(-1)-1)) / Math.pow(10, pPoint*(-1)-1);

+

+         return vNumber;

+      }

+      else

+      {

+         //fAlertMessage(4, "올림자리");

+         return "";

+      }

+   }

+   // 모두 아니면

+   else

+   {

+      // 메시지 처리후 리턴

+      //fAlertMessage(1, "모드('1'/'0'/'-1')");

+      return "";

+   }

+}

+

+/**

+ * @group  : String 확장

+ * @ver    : 2004.06.30 (KUHDEV-0001)

+ * @by     : je2kwan2.

+ * @---------------------------------------------------

+ * @type   : function

+ * @access : public

+ * @desc   : 소수점 버리고 정수형 String으로 생성 (음수인경우에도 마찬가지 음수표시는 유효)

+ * @param  : N/A

+ * @return : Number

+ * @---------------------------------------------------

+ */

+function GetTruncate()

+{

+	var TempArray = new Array();

+	TempArray = this.split(".");

+	return TempArray[0];

+}

+

+/**

+ * @group  : String 확장

+ * @ver    : 2004.06.30 (KUHDEV-0001)

+ * @by     : je2kwan2.

+ * @---------------------------------------------------

+ * @type   : function

+ * @access : public

+ * @desc   :  저장된 숫자 값에 원하는 길이만큼 '0'을 붙여 표현

+ * @param  : pLen - 돌려받을 최종문자의 길이

+ * @return : 지정길이보다 모자른경우 "0"값이 추가된 문자열

+ * @return : 지정길이보다 큰경우 원래 문자열을 반환

+ * @---------------------------------------------------

+ */

+function GetZeroString( pLen )

+{

+	var sTemp = eval(this);

+	if (this.length > pLen) return this;

+

+	for( var iCnt = this.length; iCnt < pLen; iCnt++){

+		sTemp = "0" + sTemp;

+	}

+

+	return sTemp;

+}

+

+

+

+

+

+/**

+ * @group  : String 확장

+ * @ver    : 2004.07.29 (KUHDEV-0002)

+ * @by     : LeeHJ.

+ * @---------------------------------------------------

+ * @type   : function

+ * @access : public

+ * @desc   : 파라미터 값의 Byte 크기를 리턴

+ * @param  : N/A

+ * @return : 파라미터 값의 Byte 크기

+ * @---------------------------------------------------

+ */

+function GetByteSize()

+{

+   // Byte 수를 저장할 변수

+   var vByteSize = 0;

+

+   // Value 값의 길이만큼 loop

+   for(var i=0; i<this.length; i++)

+   {

+      //한글이 들어오면 255보다 크다

+      if(this.charCodeAt(i) > 255) vByteSize += 2;

+      else vByteSize += 1;

+   }

+

+  return vByteSize;

+}

+

+

+/**

+ * @group  : String 확장

+ * @ver    : 2004.07.29 (KUHDEV-0002)

+ * @by     : LeeHJ.

+ * @---------------------------------------------------

+ * @type   : function

+ * @access : public

+ * @desc   : 문자열 앞뒤에있는 공백 제거

+ * @param  : N/A

+ * @return : 공백을 제거한 결과 문자열

+ * @---------------------------------------------------

+ */

+function Trim()

+{

+   var vStartPoint = 0;             // subString 하기 위한 시작 포인트

+   var vEndPoint   = this.length;   // subString 하기 위한 끝 포인트

+

+   //문자열앞에 공백문자가 들어 있는 Index 추출

+   while( (vStartPoint < vEndPoint) && (this.charCodeAt(vStartPoint) == 32) )

+   {

+      vStartPoint++;

+   }

+

+   //문자열뒤에 공백문자가 들어 있는 Index 추출

+   while( (vStartPoint < vEndPoint) && (this.charCodeAt(vEndPoint-1) == 32) )

+   {

+      vEndPoint--;

+   }

+   // 공백을 제거했으면 subString하여 결과문자열을 리턴하고 제거한 내용이 없으면 그대로 리턴

+   return ( (vStartPoint > 0) || (vEndPoint < this.length) ) ? this.substring(vStartPoint, vEndPoint) : this;

+}

+

+

+/**

+ * @group  : String 확장

+ * @ver    : 2004.07.29 (KUHDEV-0002)

+ * @by     : LeeHJ.

+ * @---------------------------------------------------

+ * @type   : function

+ * @access : public

+ * @desc   : 문자열의 Byte 크기가 제한값을 벗어나는지 체크 (벗어나면 false 리턴)

+ * @param  : pSize - 제한크기

+ * @return : TRUE or FALSE

+ * @---------------------------------------------------

+ */

+function CheckByteSize(pSize)

+{

+   if(this.GetByteSize() <= eval(pSize)) return true;

+   return false;

+}

+

+

+/**

+ * @group  : String 확장

+ * @ver    : 2004.07.29 (KUHDEV-0002)

+ * @by     : LeeHJ.

+ * @---------------------------------------------------

+ * @type   : function

+ * @access : public

+ * @desc   : 값이 없는지 체크

+ * @param  : N/A

+ * @return : TRUE or FALSE

+ * @---------------------------------------------------

+ */

+function CheckEmpty()

+{

+   if(this.Trim() == "")

+   {

+      return false;

+   }

+   return true;   // 공백이 아니라면

+

+}

+

+

+/**

+ * @group  : String 확장

+ * @ver    : 2004.07.29 (KUHDEV-0002)

+ * @by     : LeeHJ.

+ * @---------------------------------------------------

+ * @type   : function

+ * @access : public

+ * @desc   : 문자열중의 특정 문자 또는 단어를 찾아 원하는 문자 또는 단어로 치환

+ * @param  : pOldStr - 찾을 단어   pNewStr - 대체 단어

+ * @return : 대체하고난 문자열

+ * @---------------------------------------------------

+ */

+function ReplaceString(pOldStr, pNewStr)

+{

+   var vTempArray;

+   var vReturnString = "";

+

+   vTempArray = this.split(pOldStr);

+

+   for(var i=0; i<vTempArray.length-1; i++)

+   {

+      vReturnString += vTempArray[i] + pNewStr;

+   }

+

+   vReturnString += vTempArray[vTempArray.length-1];

+

+   return vReturnString;

+}

+

+

+/**

+ * @group  : String 확장

+ * @ver    : 2004.07.29 (KUHDEV-0002)

+ * @by     : LeeHJ.

+ * @---------------------------------------------------

+ * @type   : function

+ * @access : public

+ * @desc   : 문자열 앞에 있는 공백 제거

+ * @param  : N/A

+ * @return : 공백을 제거한 결과 문자열

+ * @---------------------------------------------------

+ */

+function TrimLeft()

+{

+   var i, j = 0;

+

+

+   for (i = 0; i < this.length; i++) {

+      if (this.charAt(i) == ' ') j = j + 1;

+      else break;

+   }

+

+   return this.substr(j, this.length - j + 1);

+}

+

+/**

+ * @group  : String 확장

+ * @ver    : 2004.07.29 (KUHDEV-0002)

+ * @by     : LeeHJ.

+ * @---------------------------------------------------

+ * @type   : function

+ * @access : public

+ * @desc   : 문자열 뒤에 있는 공백 제거

+ * @param  : N/A

+ * @return : 공백을 제거한 결과 문자열

+ * @---------------------------------------------------

+ */

+function TrimRight()

+{

+

+   var i, j = 0;

+

+   for (i = this.length - 1; i >= 0; i--) {

+      if (this.charAt(i) == ' ') j = j + 1;

+      else break;

+   }

+

+   return this.substr(0, this.length - j);

+}

+

+

+

+/**

+ * @group  : String 확장

+ * @ver    : 2004.07.29 (KUHDEV-0002)

+ * @by     : LeeHJ.

+ * @---------------------------------------------------

+ * @type   : function

+ * @access : public

+ * @desc   : 문자열을 모두 소문자로 변환

+ * @param  : N/A

+ * @return : 문자열

+ * @---------------------------------------------------

+ */

+function ToLower()

+{

+   return this.toLowerCase();

+}

+

+

+/**

+ * @group  : String 확장

+ * @ver    : 2004.07.29 (KUHDEV-0002)

+ * @by     : LeeHJ.

+ * @---------------------------------------------------

+ * @type   : function

+ * @access : public

+ * @desc   : 문자열을 모두 대문자로 변환

+ * @param  : N/A

+ * @return : 문자열

+ * @---------------------------------------------------

+ */

+function ToUpper()

+{

+   return this.toUpperCase();

+}

+

+/**

+ * @group  : String 확장

+ * @ver    : 2004.07.29 (KUHDEV-0002)

+ * @by     : LeeHJ.

+ * @---------------------------------------------------

+ * @type   : function

+ * @access : public

+ * @desc   : 문자열의 길이를 구한다.

+ * @param  : N/A

+ * @return : 문자열의 길이

+ * @---------------------------------------------------

+ */

+function GetLength()

+{

+   return this.length;

+}

+

+/**

+ * @type   : function

+ * @access : public

+ * @desc   : 주어진 값이 null인지 확인한다.

+ *    <pre>

+ *        IsNull();

+ *    </pre>

+ * @sig    : value

+ * @param  : value   - null 체크할 값  

+ * @return : boolean - true/false

+ */

+function IsNull() {

+	

+    if(this.indexOf("_") != -1) {

+    	return false;

+    }

+

+	var oMsg=null,bNull=true;

+		if(this.indexOf("_") == -1) 

+	    return false;

+

+	try {

+		oMsg = eval("window."+this);

+		bNull = (typeof oMsg == 'undefined')?true:false;

+	} catch(e) {

+		if(e =='[object Error]') {

+			try {

+				oMsg = eval(this);

+				if(oMsg != null) bNull = false;

+			} catch (e) {

+				bNull = true;

+			}

+	    } else

+	    	bNull = false;

+	}

+	

+	return bNull;

+}

+

+/*  

+ * @type   : function

+ * @access : public

+ * @desc   : 금액을 한글금액으로 변경

+ *    <pre>

+ *        var amtNm = commamtToHangleName(amt);

+ *    </pre>

+ * @sig    : amt

+ * @param  : amt    - 한글로 바꿀 금액 

+ * @return : string - 한글금액

+ */ 

+function AmtToHangleName() {

+	var amt = this;

+	var unitNm = ["천","백","십","조","천", "백","십","억","천","백","십","만","천","백","십","원"] ;

+	var numNm = ["","일","이","삼","사","오","육","칠","팔","구"];

+	var amtNm = "";

+	

+	for ( var i = 0 ; i < amt.length ; i++ ){

+		var num = numNm[amt.charAt(i)] ;

+		var idx = unitNm.length - amt.length + i ;

+		if ( num != "" || (idx+1)/4 == Math.ceil((idx+1)/4 )) {

+			amtNm += num + unitNm[idx] ;

+		}						

+	}					

+	return amtNm; //+ "정";

+}

+

+/***************************************************************************************************************/

+/* 4 . Validation 관련 함수 시작

+/*

+/* 1)   commIsValidMonth    :  유효한(존재하는) 월(月)인지 체크.                      

+/* 2)   commIsValidHour     :  유효한(존재하는) 시(時)인지 체크.                      

+/* 3)   commIsValidMin      :  유효한(존재하는) 분(分)인지 체크.                      

+/* 4)   commIsValidSecond   :  유효한(존재하는) 초(秒)인지 체크.                      

+/* 5)   commGhkCal          :  날짜를 입력받는 input 컨트롤의 유효성 검사.            

+/* 6)   commGhkMonth				: 	월을 입력받는 input 컨트롤의 유효성 검사              

+/* 7)   commGhkTerm         :  날짜를 입력받는 from~to input 컨트롤의 유효성 검사     

+/* 8)   commGhkDateHM       :  날짜형(일자와 시간, 분) input 컨트롤의 유효성 검사      

+/* 9)   commGhkDateHMS      :  날짜형(일자와 시간, 분, 초) input 컨트롤의 유효성 검사 

+/* 10)  commIsNull					:  주어진 값이 null인지 확인한다.                               

+/* 11)  commCheckRrnoVal 	  :  주민번호 유효성 체크                                    

+/* 12)  commCheckBrnoVal		:  사업자 등록번호 유효성 체크                           

+/* 13)  commCheckCrnoVal    :  법인번호 유효성 체크                                   

+/* 14)  commValidateTelNo   :  전화번호의 validation을 확인한다.                      

+/* 15)  commValidateEmail   :  이메일주소의 validation을 확인한다.                    

+/* 16)

+/* 17) 

+

+/************************************************************************************/	

+    

+

+/**

+ * @type   : function

+ * @access : public

+ * @desc   : 유효한(존재하는) 월(月)인지 체크.

+ *    <pre>

+ *        if (!commIsValidMonth("12"))

+ *    </pre>

+ * @sig    : mm

+ * @param  : mm - 체크할 월

+ * @return : boolean - 유효여부

+ */ 

+function commIsValidMonth(mm) {

+    var m = parseInt(mm,10);

+    return (m >= 1 && m <= 12);

+}

+

+

+

+/**

+ * @type   : function

+ * @access : public

+ * @desc   : 유효한(존재하는) 시(時)인지 체크.

+ *    <pre>

+ *        if (!commIsValidHour("12")) 

+ *    </pre> 

+ * @sig    : hh

+ * @param  : hh - 체크할 시

+ * @return : boolean  유효여부

+ */ 

+function commIsValidHour(hh) {

+    var h = parseInt(hh,10);

+    return (h >= 0 && h <= 23);

+}

+

+

+/**

+ * @type   : function

+ * @access : public

+ * @desc   : 유효한(존재하는) 분(分)인지 체크.

+ *    <pre>

+ *        if (!commIsValidMin("12")) 

+ *    </pre> 

+ * @sig    : mi

+ * @param  : mi      - 체크할 분  

+ * @return : boolean - 유효여부

+ */ 

+function commIsValidMin(mi) {

+    var m = parseInt(mi,10);

+    return (m >= 0 && m <= 59);

+}

+

+

+/**

+ * @type   : function

+ * @access : public

+ * @desc   : 유효한(존재하는) 초(秒)인지 체크.

+ *    <pre>

+ *        if (!commIsValidSecond("12")) 

+ *    </pre> 

+ * @sig    : ss

+ * @param  : ss      - 체크할 초

+ * @return : boolean - 유효여부

+ */

+function commIsValidSecond(ss) {

+    var m = parseInt(ss,10);

+    return (m >= 0 && m <= 59);

+}

+ 

+/**

+ * @type   : function

+ * @access : public

+ * @desc   : 날짜를 입력받는 input 컨트롤의 유효성 검사.

+ *    <pre>

+ *        if (!commGhkCal("/root/input_date")) 

+ *    </pre> 

+ * @sig    : chkRef

+ * @param  : chkRef  - 체크할 control의 ref

+ * @return : boolean - 유효여부

+ */ 

+function commGhkCal( chkRef ) {

+    var s = model.getValue(chkRef);

+    if ( s.length < 8 ) return false;

+    

+    var iYear = s.substr(0,4);

+    var iMonth = s.substr(4,2);

+    var iDay = s.substr(6,2);

+    var monthArr = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

+    

+    if( iMonth == 2 ) {

+    	if ( ( (iYear % 4 == 0) && (iYear % 100 != 0) ) || (iYear % 400 == 0) ) {

+    		monthArr[1] = "29";

+    	}

+    }

+    

+    if( iYear < 9999 && iYear > 0 && iMonth <= 12 && iMonth > 0 && iDay <= monthArr[iMonth-1] && iDay > 0 ) {

+    	return true;

+    }

+    

+    return false;

+}

+

+

+

+/**

+ * @type   : function

+ * @access : public

+ * @desc   : 월를 입력받는 input 컨트롤의 유효성 검사     

+ *    <pre>

+ *        if (!commchkMonth("/root/input_month")) 

+ *    </pre>

+ * @sig    : chkRef

+ * @param  : chkRef  - 체크할 input의 Ref  

+ * @return : boolean - 유효여부

+ */

+function commGhkMonth( chkRef ) {

+    var s = model.getValue(chkRef);

+    if ( s.length < 6 ) return false;

+    

+    var iYear = s.substr(0,4);

+    var iMonth = s.substr(4,2);

+    

+    if( iYear < 9999 && iYear > 0 && iMonth <= 12 && iMonth > 0 ) {

+    	return true;

+    }

+    

+    return false;

+}

+

+/**

+ * @type   : function

+ * @access : public

+ * @desc   : 날짜를 입력받는 from~to input 컨트롤의 유효성 검사    

+ *    <pre>

+ *        if (!commchkTerm( "/root/inputFrom", "/root/inputTo" )) 

+ *    </pre>

+ * @sig    : chkRefFrom, chkRefTo

+ * @param  : chkRefFrom  - 체크할 inputFrom의 Ref  

+ * @param  : chkRefTo    - 체크할 inputTo의 Ref  

+ * @return : boolean     - 유효여부

+ */

+function commGhkTerm( chkRefFrom, chkRefTo ) {

+

+	var rtnVal = false;

+	

+	if ( commGhkCal(chkRefFrom) && commGhkCal(chkRefTo) ) {

+		if ( model.getValue(chkRefFrom) <= model.getValue(chkRefTo) ) {

+			rtnVal = true;

+		}

+	}

+    return rtnVal;

+}

+

+

+

+/**

+ * @type   : function

+ * @access : public

+ * @desc   : 날짜형(일자와 시간, 분) input 컨트롤의 유효성 검사    

+ *    <pre>

+ *        if (!commchkDateHM("/root/inputDate")) 

+ *    </pre>

+ * @sig    : chkRef

+ * @param  : chkRef  - 체크할 inputFrom의 Ref  

+ * @return : boolean - 유효여부

+ */

+function commGhkDateHM( chkRef ) {

+	var rtnVal = false;

+    var s = model.getValue(chkRef);

+    if ( s.length < 12 ) return false;

+    

+	var iHour = s.substr(8,2); 

+	var iMin  = s.substr(10,2); 

+	

+	if ( commGhkCal( chkRef ) && commIsValidHour(iHour) && commIsValidMin(iMin) ) {

+		rtnVal = true ;

+	}

+	

+    return rtnVal;

+}

+

+/**

+ * @type   : function

+ * @access : public

+ * @desc   : 날짜형(일자와 시간, 분, 초) input 컨트롤의 유효성 검사    

+ *    <pre>

+ *        if (!commchkDateHMS("/root/inputDate")) 

+ *    </pre>

+ * @sig    : chkRef

+ * @param  : chkRef  - 체크할 inputFrom의 Ref  

+ * @return : boolean - 유효여부

+ */

+function commGhkDateHMS( chkRef ) {

+	var rtnVal = false;

+    var s = model.getValue(chkRef);

+    if ( s.length < 14 ) return false;

+    

+	var iHour = s.substr(8,2); 

+	var iMin  = s.substr(10,2); 

+	var iSec  = s.substr(12,2); 

+	

+	if ( commGhkCal( chkRef ) && commIsValidHour(iHour) && commIsValidMin(iMin) && commIsValidSecond(iSec) ) {

+		rtnVal = true ;

+	}

+	

+    return rtnVal;

+}

+

+

+

+/**

+ * @type   : function

+ * @access : public

+ * @desc   : 주민번호 유효성 체크 

+ *    <pre>

+ *        commcheckRrnoVal("6601011234567");

+ *    </pre>

+ * @sig    : val

+ * @param  : val     - 체크할 주민등록번호값

+ * @return : boolean - 유효여부

+ */

+function commCheckRrnoVal(val) {

+	if ( val.length < 13 ) {

+		alert("주민등록번호의 자릿수가 잘못 입력되었습니다.");

+		return false;

+	}

+	

+	var varCk1 = val.substring(0,6);

+	var varCk2 = val.substring(6);

+

+	var ckValue = new Array(13);

+	var ckLastid,ckMod,ckMinus,ckLast;

+

+	ckLastid    = parseFloat(varCk2.substring(6,7));

+	ckValue[0]  = parseFloat(varCk1.substring(0,1))  * 2;

+	ckValue[1]  = parseFloat(varCk1.substring(1,2))  * 3;

+	ckValue[2]  = parseFloat(varCk1.substring(2,3))  * 4;

+	ckValue[3]  = parseFloat(varCk1.substring(3,4))  * 5;

+	ckValue[4]  = parseFloat(varCk1.substring(4,5))  * 6;

+	ckValue[5]  = parseFloat(varCk1.substring(5,6))  * 7;

+	ckValue[6]  = parseFloat(varCk2.substring(0,1))  * 8;

+	ckValue[7]  = parseFloat(varCk2.substring(1,2))  * 9;

+	ckValue[8]  = parseFloat(varCk2.substring(2,3))  * 2;

+	ckValue[9]  = parseFloat(varCk2.substring(3,4))  * 3;

+	ckValue[10] = parseFloat(varCk2.substring(4,5))  * 4;

+	ckValue[11] = parseFloat(varCk2.substring(5,6))  * 5;

+	ckValue[12] = 0;

+

+	for (var i = 0; i<12;i++) {

+		ckValue[12] = ckValue[12] + ckValue[i];

+	}

+	ckMod   = ckValue[12] %11;

+	ckMinus = 11 - ckMod;

+	ckLast  = ckMinus % 10;

+	if (ckLast != ckLastid) {

+		alert ("잘못된 주민등록번호입니다. 다시 확인해 주십시오");

+		return false;

+	} else {

+		return true;

+	}

+}

+

+

+/**

+ * @type   : function

+ * @access : public

+ * @desc   : 사업자 등록번호 유효성 체크 

+ *    <pre>

+ *        commcheckBrnoVal("1231212345");

+ *    </pre>

+ * @sig    : val

+ * @param  : val     - 체크할 사업자 등록번호

+ * @return : boolean - 유효여부

+ */

+function commCheckBrnoVal(val) {

+	

+	if ( val.length < 10 ) {

+		alert("사업자등록번호의 자릿수가 잘못 입력되었습니다.");

+		return false;

+	}

+	

+	var varCk1 = val.substring(0,3);

+	var varCk2 = val.substring(3,5);

+	var varCk3 = val.substring(5);

+

+	var ckValue = new Array(10);

+	

+	ckValue[0] = ( parseFloat(varCk1.substring(0 ,1))  * 1 ) % 10;

+	ckValue[1] = ( parseFloat(varCk1.substring(1 ,2))  * 3 ) % 10;

+	ckValue[2] = ( parseFloat(varCk1.substring(2 ,3))  * 7 ) % 10;

+	ckValue[3] = ( parseFloat(varCk2.substring(0 ,1))  * 1 ) % 10;

+	ckValue[4] = ( parseFloat(varCk2.substring(1 ,2))  * 3 ) % 10;

+	ckValue[5] = ( parseFloat(varCk3.substring(0 ,1))  * 7 ) % 10;

+	ckValue[6] = ( parseFloat(varCk3.substring(1 ,2))  * 1 ) % 10;

+	ckValue[7] = ( parseFloat(varCk3.substring(2 ,3))  * 3 ) % 10;

+	ckTemp     = parseFloat(varCk3.substring(3 ,4))  * 5  + "0";

+	ckValue[8] = parseFloat(ckTemp.substring(0,1)) + parseFloat(ckTemp.substring(1,2));

+	ckValue[9] = parseFloat(varCk3.substring(4,5));

+	ckLastid = ( 10 - ( ( ckValue[0]+ckValue[1]+ckValue[2]+ckValue[3]+ckValue[4]+ckValue[5]+ckValue[6]+ckValue[7]+ckValue[8] ) % 10 ) ) % 10;

+	if (ckValue[9] != ckLastid) {

+		alert ("잘못된 사업자등록번호입니다. 다시 확인해 주십시오");

+		return false;

+	} else {

+		return true;

+	}

+}

+

+

+/**

+ * @type   : function

+ * @access : public

+ * @desc   : 법인번호 유효성 체크 

+ *    <pre>

+ *        commCheckCrnoVal("1231212345");

+ *    </pre>

+ * @sig    : varCk

+ * @param  : varCk   - 체크할 법인번호

+ * @return : boolean - 유효여부

+ */

+function commCheckCrnoVal(varCk) {

+	

+	if ( varCk.length < 13 ) {

+		alert("법인번호의 자릿수가 잘못 입력되었습니다.");

+		return false;

+	}

+

+	var checkNum = new Array("1","2","1","2","1","2","1","2","1","2","1","2");

+

+	//등기관서별 분류번호, 법인종류별 분류번호 및 일련번호를 차례로 연결한 12자리

+	//의 숫자를 만든다.

+	var newNum = new Array();

+	for(var i = 0; i < varCk.length -1; i++)

+		newNum[i] = varCk.charAt(i);

+

+	//각 숫자에 차례로 1과 2를 곱한 다.값을 모두 더하여 합을 구한다.

+	var multiNum = new Array();

+	for(var k = 0; k < newNum.length; k++)

+		multiNum[k] = checkNum[k] * newNum[k];

+

+	//alert("각 숫자에 차례로 1과 2를 곱한 다: "+ multiNum[11]);

+	//곱한 값을 모두 더하여 합을 구한다.

+	var addNum = 0;

+	for(var y = 0; y < multiNum.length; y++)

+		addNum = addNum + Number(multiNum[y]);

+

+	//alert("곱한 값을 모두 더하여 합을 구한다: "+ addNum);

+	//합을 10으로 나누어 몫과 나머지를 구한다.

+	var remainder;

+	var quota;

+	remainder = Number(addNum) % 10;

+	quota = Number(addNum) / 10;

+	//10에서 나머지를 뺀 값을 오류검색번호로 한다. 다만, 10에서 나머지를 뺀 값이

+	//10인 때에는 0을 오류검색번호로 한다.

+	var failCheckNum;

+	if( (10 - Number(remainder)) == 10 )

+	{

+		failCheckNum = 0;

+	}

+	else

+	{

+		failCheckNum = 10 - Number(remainder);

+	}

+	//alert("오류검색번호: "+ failCheckNum);

+	if(failCheckNum != varCk.charAt(12)) {

+		alert ("잘못된 법인번호입니다. 다시 확인해 주십시오");

+		return false;

+	}

+	return true;

+

+}

+

+

+

+/**

+ * @type   : function

+ * @access : public

+ * @desc   : 전화번호의 validation을 확인한다.

+ *    <pre>

+ *         commvalidateTelNo("12-232-2323");

+ *    </pre>

+ * @sig    : tel

+ * @param  : tel     - 전화번호

+ * @return : boolean - 유효?

+ */

+function commValidateTelNo(tel) {  

+    var re = new RegExp("^([0-9]{2,4})(-[0-9]{3,4})(-[0-9]{3,4})","g");

+    var resultFind = re.exec(tel);

+    return resultFind==null?false:true;

+}

+

+

+/**

+ * @type   : function

+ * @access : public

+ * @desc   : 이메일주소의 validation을 확인한다.

+ *    <pre>

+ *         commvalidateEmail("doog@moe.com");

+ *    </pre>

+ * @sig    : tel

+ * @param  : tel     - 전화번호

+ * @return : boolean - 유효?

+ */

+function commValidateEmail(email) {

+    var re = new RegExp("([\.a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(([a-zA-Z0-9_-])*\.([a-zA-Z0-9_-])+)+");

+    var resultFind = re.exec(email);

+    return resultFind==null?false:true;

+}

+

+

+

+

+/*******************************************************************************************/

+/* 5. 날짜관련 및 기타 함수  

+/* 

+/* 1)  commCurDate      :  현재날짜가져오기(( y-년, m-월, d-일  ym -년월 등)포맷지정가능

+/* 2)  commLastDay      :  해당년월의 마지막 날짜를 구해온다.예)199802->28일 , 200002->29일      

+/* 3)  commGetDay				:  yyyyMMdd 형식의 일자를 받아서 요일을 리턴해줌 

+/* 4)  commCurDTime     :  현재날짜 + 시간 가져오기

+/* 5)  commFirstDay			:  현재달의 첫번째 일을 가져오는 매소드

+/* 6)  commLateDate     :  현재날자로 부터 정해진 지난날 가져오는 매소드        

+/* 7)

+/* 8)

+/*******************************************************************************************/					

+

+

+/**

+ * @type   : function

+ * @access : public

+ * @desc   : getDate날짜 가져오기( y-년, m-월, d-일  ym -년월 등)

+ *    <pre>

+ *        if ( commgetStringLength(str) > lgth ) 

+ *    </pre>

+ * @sig    : str

+ * @param  : str     - 문자열

+ * @return : int     - 문자열의 byte수

+ */

+function commCurDate(optSetting){

+	  var dte, c_dte="",month;   // 화면의 Calendar 에 월초와  현재 날자를 Setting 한다

+	  var c_year,c_month,c_day

+	  dte = new Date();

+

+	  month = (dte.getMonth() + 1)+"" ;

+	  

+	  c_year = dte.getYear();

+

+	  if(month.length==1)

+	  {                         

+		c_month = "0"+(dte.getMonth() + 1 ); 

+	  }

+	  else 

+	  {

+		c_month  = (dte.getMonth() + 1 ); 

+	  }

+

+	  var d_ay = dte.getDate()+"";

+

+	  if(d_ay.length == 1)

+	  {                         

+		c_day= "0"+(dte.getDate()); 

+	  }

+	  else 

+	  {

+		c_day = (dte.getDate()); 

+	  }

+

+	  //년월일 구하기

+	  if(optSetting == "ymd" || optSetting == "" || optSetting == null)

+	  {

+		 c_dte =  c_year + "" +c_month +""+ c_day;

+	  }//<end> if(optSetting == "ymd")		

+	  else if(optSetting == "ym")

+	  {

+		 c_dte = c_year +""+ c_month;

+	  }//<end> else if(optSetting == "ym")		

+	  else if(optSetting == "y")

+	  {

+		  c_dte = c_year;

+	  }

+	  else if(optSetting == "m")

+	  {

+		  c_dte = c_month;

+	  }

+	  else if(optSetting == "d")

+	  {

+		  c_dte = c_day;

+	   }

+	  else

+	  {

+		  c_dte = false;

+	  }

+

+	  return c_dte;

+}

+

+//해당년월의 마지막 날짜를 구해온다.예)199802->28일 , 200002->29일

+function commLastDay(date){

+	

+	var ny = date.substring(0,4);

+	var nm = date.substring(4,6);

+	nm = eval(nm);

+									

+	var arr_d = new Array('31','28','31','30','31','30','31','31','30','31','30','31');

+

+	if(((ny % 4 == 0)&&(ny % 100 !=0)) || (ny % 400 == 0)){

+		arr_d[1] = 29;

+	}

+

+	return arr_d[nm-1];

+

+}

+

+/**

+ * @type   : function

+ * @access : public

+ * @desc   : yyyyMMdd 형식의 일자를 받아서 요일을 리턴해줌   

+ *    <pre>

+ *        var day = commgetDay("20061231");

+ *    </pre>

+ * @sig    : yyyyMMdd

+ * @param  : yyyyMMdd  - 요일로 변환할 일자

+ * @return : day       - 요일

+ */

+function commGetDay(yyyyMMdd)

+{

+	var week = new Array("일", "월", "화", "수", "목", "금", "토");

+	if ( yyyyMMdd.length != 8 ) return;

+	var year = yyyyMMdd.substring(0,4);

+	var month = yyyyMMdd.substring(4,6);

+	var date = yyyyMMdd.substring(6);

+	var day = new Date(parseInt(year),parseInt(month)-1,parseInt(date));

+	return week[day.getDay()];

+}


function commDiffDay(time1,time2)

{
	var 	t1 = Date.UTC(time1.substring(0,4), time1.substring(4,6), time1.substring(6));
	var 	t2 = Date.UTC(time2.substring(0,4), time2.substring(4,6), time2.substring(6));

	var d, r,   t3;
	var MinMilli = 1000 * 60
	var HrMilli = MinMilli * 60
	var DyMilli = HrMilli * 24
 
	t3 = t2 - t1;
	r = Math.round(t3 / DyMilli);

	return r;

}

+

+

+

+/*-----------------------------------------------------------------------------------

+ * NAME  : f_getDTime()

+ * DESC  : 현재날짜+시간을 가져오는 매소드               

+ * PARAM :     

+ * DATE  : 2006.05.10 11:38                          

+ * AUTH  : wooks

+ *----------------------------------------------------------------------------------*/

+function commCurDTime(){

+

+		 var now = new Date();

+		 var hour = now.getHours();

+		 var minute = now.getMinutes();

+		 var seconds = now.getSeconds();

+		 var ampm;

+		 now = null;

+		

+		 if (hour >= 12) { 

+		  hour = hour - 12;

+		  ampm = "오후";

+		 } 

+		 else 

+		  ampm = "오전";

+		

+		 hour = (hour == 0) ? 12 : hour;

+		

+		 if (minute < 10) 

+		  minute = "0" + minute;

+		 if (seconds < 10) 

+		  seconds = "0" + seconds;

+		   

+		  

+		return hour + ":" + minute + ":"+seconds;

+		// return ampm+" "+hour + ":" + minute + ":"+seconds;

+}

+

+/*-----------------------------------------------------------------------------------

+ * NAME  : commFirstDay()

+ * DESC  : 현재달의 첫번째 일을 가져오는 매소드

+ * PARAM :     

+ * DATE  : 2006.05.10 11:38                          

+ * AUTH  : 

+ *----------------------------------------------------------------------------------*/

+function commFirstDay(){

+	var curDate = "";

+	var d = new Date();

+	var monString = (d.getMonth() + 1)+"";

+	var dateString ="01";

+

+	if(monString.length == 1){

+		monString = "0" + monString;

+	}

+	

+	curDate += d.getYear();

+	curDate += monString;

+	curDate += dateString;

+

+	return curDate;

+}

+

+/*-----------------------------------------------------------------------------------

+ * NAME  : commLateDate()

+ * DESC  : 현재날자로 부터 정해진 지난날 가져오는 매소드               

+ * PARAM :     

+ * DATE  : 2006.05.10 11:38                          

+ * AUTH  : wooks

+ *----------------------------------------------------------------------------------*/

+	function commLateDate(ldate){

+		

+		ldate =(typeof ldate == 'string')? Number(ldate) : ldate;						

+		var curDate = "";

+		var d = new Date;

+		d.setDate(d.getDate( ) + ldate);

+		var monString = (d.getMonth() + 1)+"";

+		var dateString = d.getDate()+"";

+		if(monString.length == 1){

+			monString = "0" + monString;

+		}

+		if(dateString.length == 1){

+			dateString = "0"+ dateString;

+		}

+		curDate += d.getYear();

+		curDate += monString;

+		curDate += dateString;

+

+	return curDate;

+}


+ 35 - 0
.svn/pristine/00/005b13d02360582a2393861b4a145efc7ac8632c.svn-base

@@ -0,0 +1,35 @@
+package xin.glue.ui.D.D01;
+
+import com.posdata.glue.biz.activity.PosActivity;
+import com.posdata.glue.biz.constants.PosBizControlConstants;
+import com.posdata.glue.context.PosContext;
+import com.posdata.glue.dao.PosGenericDao;
+import com.posdata.glue.dao.vo.PosRowSet;
+
+/**
+ * 查询下拉列表的统一类
+ * 
+ * @author 王黎
+ * @date 2008-8-25
+ */
+public class FindDropDownInfo extends PosActivity
+{
+
+	public String runActivity(PosContext context)
+	{
+		// 从页面获取公共的sqlKey
+		String[] sqlKey = (String[]) context.get("SQLKEY");
+		PosGenericDao dao = this.getDao("mesdao");
+		PosRowSet rowSet = null;
+
+		// 不同的页面调用不同的SQL语句查询下拉列表中的信息
+		if (sqlKey != null)
+		{
+			rowSet = dao.find(sqlKey[0]);
+		}
+		context.put("DropDownRes", rowSet);
+		
+		return PosBizControlConstants.SUCCESS;
+	}
+
+}

+ 2189 - 0
.svn/pristine/00/0064d77cb107c5d0b1af78eb939c4e677329bc1e.svn-base

@@ -0,0 +1,2189 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="../../css/body.css" type="text/css" ?>
+<xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
+	<xhtml:head>
+		<xhtml:title>
+			<![CDATA[发货管理 > 发货处理 > 汽车排车及装车指示]]>
+		</xhtml:title>
+		<model id="model1">
+			<instance id="instance1">
+				<root xmlns="">
+					<initData/>
+					<resData/>
+					<reqData/>
+					<searchData>
+						<fromDate/>
+						<toDate/>
+						<SHIP_DIRNO/>
+						<DLIV_TP/>
+						<SHIP_COMP_NM/>
+						<SHIP_PROG_CD/>
+						<CUR_PROG_CD/>
+						<LANE_TP/>
+						<ENTERANCE_SEQ/>
+					</searchData>
+					<datagrid1/>
+					<datagrid2>
+						<SHIPDIR_VO>
+							<SHIPDIR_Row>
+								<CHK/>
+								<OLD_SAMPL_NO/>
+								<COIL_NO/>
+								<TOT_DEC_GRD/>
+								<COIL_WTH/>
+								<COIL_OUTDIA/>
+								<ACT_WGT/>
+								<CUR_LOAD_LOC/>
+								<ALLOC_SEQ/>
+								<DLIV_DIRNO/>
+								<SHIP_DIRNO/>
+							</SHIPDIR_Row>
+						</SHIPDIR_VO>
+					</datagrid2>
+					<SHIP_DIRNO/>
+					<ALLOC_SEQ/>
+					<bool1/>
+					<bool2/>
+					<init>
+						<DLIVTPData/>
+						<SHIPCOMPData/>
+						<TRAIN_STEP_NO/>
+					</init>
+					<bool/>
+					<COIL>
+						<ord_no/>
+						<ord_seq/>
+						<coil_no/>
+						<coil_back/>
+						<coil_back/>
+						<ACT_WGT/>
+						<COIL_THK/>
+						<COIL_WTH/>
+					</COIL>
+					<datagrid3>
+						<FHMX>
+							<ALLOC_SEQ/>
+							<DEST_PCD_DESC/>
+							<ORD_NM/>
+							<SPEC_STL_GRD/>
+							<OLD_SAMPL_NO/>
+							<T_W/>
+							<ACT_WGT/>
+							<TOT_DEC_GRD/>
+							<CUR_LOAD_LOC/>
+							<CAR_NO/>
+						</FHMX>
+					</datagrid3>
+					<dliv_dirno/>
+					<bool3/>
+					<datagrid4/>
+					<DLIV_DIRNO_JH/>
+				</root>
+			</instance>
+		</model>
+		<script type="javascript" src="../../js/boaMsg.js"/>
+		<script type="javascript" src="../../js/boaCommon.js"/>
+		<script type="javascript" src="../../js/dCommon.js"/>
+		<script type="javascript">
+			<![CDATA[
+				function Init(node) {
+					InitParams(node);
+					//增加datagrid2表格中的选择按钮
+					datagrid2.fixedcellcheckbox(0,datagrid2.colRef("CHK"))=true;
+					datagrid2.colStatus(0)=false; 
+					
+				    InitParamsEE();
+				}
+				//调用公共的初始化方法获得登录用户名
+				function InitParams(node) {
+					if (typeof node == "undefined" && typeof node != "object") return;
+					model.removenode("/root/initData/rcvInfo");
+					model.makeNode("/root/initData/rcvInfo");
+					var nodeList = node.childNodes;
+					node = model.instances(0).selectSingleNode("/root/initData/rcvInfo");
+					for (var i = 0; i < nodeList.length; i++)
+						node.appendChild(nodeList.item(i));
+				}
+				
+				function InitParamsEE(){
+					
+					commSubmit("UIJ010041-service","success","glueAction.do");
+					
+					//汽车运输直接给出汽车运输的标志,不需要进行选择
+					//commAppendData("/root/init/DLIVTPData/DLIVTPData_VO","/root/resData/DLIVTPData_VO");
+					commAppendData("/root/init/SHIPCOMPData/SHIPCOMPData_VO","/root/resData/SHIPCOMPData_VO");
+					
+					model.refresh();
+				}
+				
+				//查询方法
+				function find(){
+					//清空发送接点
+					model.removenode("/root/reqData");
+					model.makeNode("/root/reqData");
+					
+					//清空datagrid1
+					model.removenode("/root/datagrid1");
+					model.makeNode("/root/datagrid1");
+					
+					//清空datagrid2
+					model.removenode("/root/datagrid2");
+					model.makeNode("/root/datagrid2");
+					
+					//清空一次排车顺序接点,不然会接着上次的数字开始排
+					model.setValue("/root/ALLOC_SEQ","");
+					
+					//判断发货指示时间是否为空
+					var fromDate = model.getValue("/root/searchData/fromDate");
+					var toDate = model.getValue("/root/searchData/toDate");
+					
+					if(fromDate == ""){
+						alert(" 发货指示的开始时间不能为空,请选择相应的发货指示开始时间! ");
+						return;
+					}
+					if(toDate == ""){
+						alert(" 发货指示的结束时间不能为空,请选择相应的发货指示结束时间! ");
+						return;
+					}
+					
+					
+					//把相应的接点放入发送对象
+					//初始化页面,查询的发货指示状态为03排车待机和材料进度"SFA"
+					model.setValue("/root/searchData/SHIP_PROG_CD","03");
+					model.duplicate("/root/reqData","/root/searchData/SHIP_PROG_CD");
+					model.duplicate("/root/reqData","/root/searchData/fromDate");
+					model.duplicate("/root/reqData","/root/searchData/toDate");
+					model.duplicate("/root/reqData","/root/searchData/SHIP_DIRNO");
+					//这里物料进度为SFA
+					model.setValue("/root/searchData/CUR_PROG_CD","SFB");
+					//5
+					model.duplicate("/root/reqData","/root/searchData/CUR_PROG_CD");
+					model.duplicate("/root/reqData","/root/searchData/fromDate");
+					model.duplicate("/root/reqData","/root/searchData/toDate");
+					//汽车运输直接给出汽车运输的方式
+					model.setValue("/root/searchData/DLIV_TP","C");
+					model.duplicate("/root/reqData","/root/searchData/DLIV_TP");
+					model.setValue("/root/searchData/LANE_TP","");
+					model.duplicate("/root/reqData","/root/searchData/LANE_TP");
+					model.setValue("/root/searchData/ENTERANCE_SEQ","");
+					model.duplicate("/root/reqData","/root/searchData/ENTERANCE_SEQ");
+					//11
+					model.duplicate("/root/reqData","/root/searchData/SHIP_COMP_NM");
+					model.duplicate("/root/reqData","/root/searchData/DLIV_TP");
+					commSubmit("UIJ010041-service","find","glueAction.do");
+					
+					commAppendData("/root/datagrid1/DLIVDIR_VO","/root/resData/DLIVDIR_VO");
+					
+					color_status();
+					
+					model.refresh();
+				}
+					function color_status()
+			     {
+					for(var i = 2;i<=datagrid1.rows-1;i++){
+
+						var v_wgt= 		datagrid1.valueMatrix(i,datagrid1.colRef("WGT_DEC_RST"));      
+
+						if(v_wgt == "2" ) {
+								datagrid1.rowStyle(i , "data" , "color") = "#ff0000";//
+						}
+					}
+			     }
+				//保存方法
+				function getcar(){
+					//这里保存的作用是把车厢号和排车顺序号更新到钢卷公共表,
+					//并且改变TBJ01_SHIP_DIR的状态,从03-04,物料暂时不变SFB
+					//并且还需要改变tbh02_coil_cmm中的SHIP_PROG_CD
+					
+					//清空发送接点
+					model.removenode("/root/reqData");
+					model.makeNode("/root/reqData");
+					
+					//清空排车顺序节点
+					model.removenode("/root/init/TRAIN_STEP_NO");
+					model.makeNode("/root/init/TRAIN_STEP_NO");
+					
+					//把整个datagrid1中的数据发送到保存类中
+					//这里因为改变了行数据,所以不用设置行状态
+					commMultiUpdate(datagrid1,"/root/reqData","A",true,"rowStuts1");
+
+					//汽运的情况直接给出汽运的标识,不给出的话保存后无法看到钢卷信息
+					model.setValue("/root/searchData/DLIV_TP","C");
+					model.duplicate("/root/reqData","/root/searchData/DLIV_TP");
+					
+					commSubmit("UIJ010041-service","getcar","glueAction.do");
+					
+					commAppendData("/root/datagrid2/SHIPDIR_VO","/root/resData/SHIPDIR_VO");
+					
+					model.refresh();
+					
+					
+				}
+				function AutoGetcarNo(){
+					getcar();
+					var nodeSet1 = datagrid1.nodeset;
+					for(var i=1,j=1;i<datagrid1.rows-1;i++){
+						var chk = model.getValue(nodeSet1+"["+i+"]/CHK");
+						if(chk == "Y"){
+							if(model.getValue("root/resData/rs_VO/rs_Row["+j+"]")!="UNCHECK")
+							{
+								model.setValue(nodeSet1+"["+i+"]/TRANS_CAR_NO",model.getValue("root/resData/rs_VO/rs_Row["+j+"]"));
+							}
+							j++;
+						}
+					}
+					}
+				//保存方法
+				function save(){
+					//这里保存的作用是把车厢号和排车顺序号更新到钢卷公共表,
+					//并且改变TBJ01_SHIP_DIR的状态,从03-04,物料暂时不变SFB
+					//并且还需要改变tbh02_coil_cmm中的SHIP_PROG_CD
+					
+					
+					
+					//获取外部接口司机身份校验
+//					getcar();
+//					var nodeSet1 = datagrid1.nodeset;
+//					for(var i=1,j=1;i<datagrid1.rows-1;i++){
+//						var chk = model.getValue(nodeSet1+"["+i+"]/CHK");
+//						if(chk == "Y"){
+//							if(model.getValue("root/resData/rs_VO/rs_Row["+j+"]")!="UNCHECK")
+//							{
+//								model.setValue(nodeSet1+"["+i+"]/TRANS_CAR_NO",model.getValue("root/resData/rs_VO/rs_Row["+j+"]"));
+//							}
+//							j++;
+//						}
+//					}
+//					return;
+					
+//					if(model.getValue("root/resData/rs_VO/rs_Row")=="UNCHECK")
+//					{
+//						window.alert(" 司机身份未验证,无法排车! ");
+//						return;
+//					}
+					
+					//清空发送接点
+					model.removenode("/root/reqData");
+					model.makeNode("/root/reqData");
+					
+					//清空排车顺序节点
+					model.removenode("/root/init/TRAIN_STEP_NO");
+					model.makeNode("/root/init/TRAIN_STEP_NO");
+					//循环datagrid1,给出道次和次数为1的判断
+					var nodeSet = datagrid1.nodeset;
+					for(var j=1;j<datagrid1.rows-1;j++){
+						var chk = model.getValue(nodeSet+"["+j+"]/CHK");
+						
+						if(chk == "Y"){
+							
+							var WGT_DEC_RST=model.getValue(nodeSet+"["+j+"]/WGT_DEC_RST"); 
+							var DLIV_DIRNO=model.getValue(nodeSet+"["+j+"]/DLIV_DIRNO"); 
+							
+							if(WGT_DEC_RST=="2"){
+								alert("第"+j+"行的运输指示号为:"+DLIV_DIRNO+" 包含重量不合格卷!!");
+							
+							}
+							
+						}
+					}
+					//把整个datagrid1中的数据发送到保存类中
+					//这里因为改变了行数据,所以不用设置行状态
+					commMultiUpdate(datagrid1,"/root/reqData","A",true,"rowStuts1");
+
+					//汽运的情况直接给出汽运的标识,不给出的话保存后无法看到钢卷信息
+					model.setValue("/root/searchData/DLIV_TP","C");
+					model.duplicate("/root/reqData","/root/searchData/DLIV_TP");
+					
+					commSubmit("UIJ010041-service","save","glueAction.do");
+					
+					commAppendData("/root/datagrid2/SHIPDIR_VO","/root/resData/SHIPDIR_VO");
+					
+					model.refresh();
+					
+					//需要把datagrid1中的已经保存到表中的行改为灰色,不允许再次修改
+					var nodeSet1 = datagrid1.nodeset;
+					for(var i=1;i<datagrid1.rows-1;i++){
+						var chk = model.getValue(nodeSet1+"["+i+"]/CHK");
+						if(chk == "Y"){
+							//这里自加一行,因为datagrid1表头如果有两行的话会认为数据行从2开始
+							var row = i+1;
+							//把选中行的可输入位置改为灰色
+							//datagrid1.isReadOnly(row,datagrid1.colRef("TRANS_CAR_NO")) = true;
+							//datagrid1.isReadOnly(row,datagrid1.colRef("ALLOC_SEQ")) = true;
+							datagrid1.isReadOnly(row,datagrid1.colRef("CHK")) = true;
+							//datagrid1.isReadOnly(row,datagrid1.colRef("LANE_TP")) = true;
+							//datagrid1.isReadOnly(row,datagrid1.colRef("ENTERANCE_SEQ")) = true;
+						
+							//根据实际的排车顺序情况,把排车顺序号带到车厢字段中
+							model.makeNode("/root/init/TRAIN_STEP_NO["+i+"]/LABEL");
+							model.makeNode("/root/init/TRAIN_STEP_NO["+i+"]/VALUE");
+							
+							model.setValue("/root/init/TRAIN_STEP_NO["+i+"]/LABEL",model.getValue(nodeSet1+"["+i+"]/ALLOC_SEQ"));
+							model.setValue("/root/init/TRAIN_STEP_NO["+i+"]/VALUE",model.getValue(nodeSet1+"["+i+"]/ALLOC_SEQ"));
+							//model.refresh();
+						}
+					}
+					model.refresh();
+					
+				}
+				
+				//确认方法
+				function comfirm(){
+					//这里要把已经分好车的卷保存到表中,盖掉原来默认的排车顺序
+					//应该不存在一个车组分开多次保存的情况,所以先按整车组处理
+					//不同车组之间不能同时出现在datagrid2中,不然还要再次进行目的地判断
+					//暂时按照同一车组一次确定的情况处理,具体再定
+					
+					model.removenode("/root/reqData");
+					model.makeNode("/root/reqData");
+					
+					//确认的时候给出提示,是否需要完成排车操作
+					var isUse = commComfirmBox("是否排车完毕,确认后不能进行换卷操作?","提示");
+							
+					if(isUse == "0"){
+						//如果选择否的话,不进行相应操作
+						return;
+					}
+					
+					//超重的情况下是都继续执行的标志
+					var top_wgt = null;
+					//超重的车辆的总数
+					var num_car = 0;
+					
+					var nodeSet1 = datagrid1.nodeset;
+					//要判断datagrid1中是否存在超重的情况,存在的话要给予提示
+					for(var i=1;i<datagrid1.rows-1;i++){
+						var chk = model.getValue(nodeSet1+"["+i+"]/CHK");
+						//运输方式
+						var DLIV_TP = model.getValue(nodeSet1+"["+i+"]/DLIV_TP");
+						
+						//汽车应该不存在这种情况
+						if(DLIV_TP == "T" || DLIV_TP =="t"){
+							//判断选择好了的车组
+							if(chk == "Y"){
+								var wgt = model.getValue(nodeSet1+"["+i+"]/ACT_WGT");
+								
+							
+								
+								//如果重量大于60吨
+								if(Number(wgt) >= "60000"){
+									alert(" 第"+i+"车的重量超过最大载重量60吨,超重"+((Number(wgt)-60000)/1000)+"吨! ");
+									//每超重一辆车,num_car++
+									num_car = num_car+1;
+									var isUse = commComfirmBox("是否继续进行装车操作?","提示");
+									if(isUse=="0"){
+										//如果选择否的话,不进行相应操作
+										return;
+									}else{
+										//这里给出的是允许超重的标志
+										top_wgt = "Y";
+									}
+								}
+							}
+						}else if(DLIV_TP == "C" || DLIV_TP =="c"){
+							//汽车的处理方式另行添加,以汽车的载重量为准
+							//这里汽车不做相应的超重控制,以销售下的计划来装。不能换卷换车
+						}
+					}
+					
+					//如果不存在超重的车辆的情况下直接保存
+					if(num_car == 0){
+						//alert("num_car : "+num_car);
+						var nodeSet2 = datagrid2.nodeset;
+						//这里需要判断是否datagrid2的所有选项全部选上,没有的话给予提示不能提交
+						for(var j=1;j<datagrid2.rows-1;j++){
+							var chk_2 = model.getValue(nodeSet2+"["+j+"]/CHK");
+							var TRANS_CAR_NO= model.getValue(nodeSet2+"["+j+"]/TRANS_CAR_NO");
+							if(chk_2 != "Y"){
+								alert(" 第"+j+"行的选择项没有选择,做为同一批次的车不能出现为空的现象! ");
+								return;
+							}else{
+								//选中的行给予相关的行状态
+								//这里需要加一后才能包括所有的选择项目
+								if(TRANS_CAR_NO== ""){
+								alert("第"+j+"行的车辆号为空,不能点击保存按钮!!");
+								return;
+							     }
+								 
+								datagrid2.rowStatus(parseInt(j+1)) = 2;
+							}
+						}
+						
+						//提交datagrid2的全部数据,可能需要改变行状态
+						commMultiUpdate(datagrid2,"/root/reqData","A",true,"rowStuts2");
+						//这里如果同一目的地,同一客户的钢卷进行混装的情况,要怎么记录具体哪个卷
+						//上了哪个车,这里在表中没有相应的对应字段。是不是可以修改钢卷公共表的对应关系
+						//但是在程序中只改变了车厢号与卷的对应,并且也不能改变运输号与卷的对应关系。
+						//这里就是更新钢卷公共表中的对应关系
+						
+						//这里加入登录用户名,会不会与已有的initData冲突
+						model.makeValue("/root/reqData/REG_ID",model.getValue("/root/initData/rcvInfo/REG_ID"));
+						
+						//这里只处理同一发货指示号下的钢卷,不同发货指示号下钢卷混装的情况现在还不能处理
+						commSubmit("UIJ010041-service","comfirm","glueAction.do");
+						//errorMessage();
+						
+						model.refresh();
+						
+						//获取品质保证书的返回标志,如果品质保证书生成不成功给予提示
+						if(model.getValue("root/resData/rs_VO/rs_Row")=="sRETURN_CD")
+						{
+							window.alert(" 品质保证书生成失败,请联系管理员! ");
+							return;
+						}
+						
+						find();
+						
+						//这里流程走过了一遍searchSHIPDIR,希望能够清空datagrid2
+						commAppendData("/root/datagrid2/SHIPDIR_VO","/root/resData/SHIPDIR_VO");
+						
+						model.refresh();
+					}else{
+						//这里给出一个标志,在选择继续执行的情况下给予保存
+						if(top_wgt == "Y" && top_wgt != null){
+							//alert("top_wgt : "+top_wgt);
+							//alert("num_car : "+num_car);
+							var nodeSet2 = datagrid2.nodeset;
+							//这里需要判断是否datagrid2的所有选项全部选上,没有的话给予提示不能提交
+							for(var j=1;j<datagrid2.rows-1;j++){
+								var chk_2 = model.getValue(nodeSet2+"["+j+"]/CHK");
+								
+								if(chk_2 != "Y"){
+									alert(" 第"+j+"行的选择项没有选择,做为同一批次的车不能出现为空的现象! ");
+									return;
+								}else{
+									//选中的行给予相关的行状态
+									//这里需要加一后才能包括所有的选择项目
+									datagrid2.rowStatus(parseInt(j+1)) = 2;
+								}
+							}
+							
+							//提交datagrid2的全部数据,可能需要改变行状态
+							commMultiUpdate(datagrid2,"/root/reqData","A",true,"rowStuts2");
+							//这里如果同一目的地,同一客户的钢卷进行混装的情况,要怎么记录具体哪个卷
+							//上了哪个车,这里在表中没有相应的对应字段。是不是可以修改钢卷公共表的对应关系
+							//但是在程序中只改变了车厢号与卷的对应,并且也不能改变运输号与卷的对应关系。
+							//这里就是更新钢卷公共表中的对应关系
+							
+							//这里加入登录用户名,会不会与已有的initData冲突
+							model.makeValue("/root/reqData/REG_ID",model.getValue("/root/initData/rcvInfo/REG_ID"));
+							
+							//这里只处理同一发货指示号下的钢卷,不同发货指示号下钢卷混装的情况现在还不能处理
+							commSubmit("UIJ010041-service","comfirm","glueAction.do");
+							//errorMessage();
+							
+							model.refresh();
+						
+							//获取品质保证书的返回标志,如果品质保证书生成不成功给予提示
+							if(model.getValue("root/resData/rs_VO/rs_Row")=="sRETURN_CD")
+							{
+								window.alert(" 品质保证书生成失败,请联系管理员! ");
+								return;
+							}
+						
+							find();
+							
+							//这里流程走过了一遍searchSHIPDIR,希望能够清空datagrid2
+							commAppendData("/root/datagrid2/SHIPDIR_VO","/root/resData/SHIPDIR_VO");
+							
+							model.refresh();
+						}else{
+							alert(" 请确定是否有需要确定的钢卷信息! ");
+						}
+					}
+				}
+				
+				//在bool2为true的情况下,混编钢卷刷新datagrid1的情况
+				function Bool2_True(){
+					//这里定位到车厢的选择字段上面
+					if(datagrid2.col == datagrid2.colRef("ALLOC_SEQ")){
+						//这里每次改变车厢号信息,要颜色提示超重的运输号
+						//这里只能整体刷新datagrid1,暂不考虑效率问题。不清空datagrid1
+						//这里还必须区分,不同目的地的卷不能装到同一辆车上去
+						var nodeSet1 = datagrid1.nodeset;
+						var nodeSet2 = datagrid2.nodeset;
+						//统计个车钢卷个数的变量
+						var count1=0;
+						var count2=0;
+						var count3=0;
+						var count4=0;
+						var count5=0;
+						var count6=0;
+						var count7=0;
+						var count8=0;
+						
+						//这里可能为加入实际车的吨位,具体的情况待定
+						
+						//统计钢卷重量的变量
+						var wgt1=0;
+						var wgt2=0;
+						var wgt3=0;
+						var wgt4=0;
+						var wgt5=0;
+						var wgt6=0;
+						var wgt7=0;
+						var wgt8=0;
+						
+//						//来源车厢号
+//						var TRANS_CAR_NO_FROM = "";
+//						//去向车厢号
+//						var TRANS_CAR_NO_TO = "";
+//						//来源运输指示号
+//						var DLIV_DIRNO_FROM = "";
+//						//去向运输指示号
+//						var DLIV_DIRNO_TO = "";
+						
+						//这里是为了定位到选择到的行
+						//去向排车顺序号
+						var ALLOC_SEQ_TO_Y = 0;
+						//钢卷重量
+						var ACT_WGT_Y = 0;
+						//来源目的地
+						var DEST_PCD_FROM_Y = "";
+						//来源运输号
+						var DLIV_DIRNO_FROM_Y = "";
+						
+						//这里是为了求和运算
+						//去向排车顺序号
+						var ALLOC_SEQ_TO = 0;
+						//钢卷重量
+						var ACT_WGT = 0;
+						//来源目的地
+						var DEST_PCD_FROM = "";
+						//来源运输号
+						var DLIV_DIRNO_FROM = "";
+						//发货指使只在页面显示,不录入数据库
+						//这里需要定位到选择的具体哪一行,否则的话不能够获得实际的去向排车顺序号和来源运输号
+						for(var w=0;w<datagrid2.selectedRows;w++){
+							rw = datagrid2.selectedRow(w);
+							//把选中行的数字正确的显示
+							rw = parseInt(rw-1);
+							//这里的值用于判断等否累加,并且给出提示
+							ALLOC_SEQ_TO_Y = model.getValue(nodeSet2+"["+rw+"]/ALLOC_SEQ");
+							ACT_WGT_Y = model.getValue(nodeSet2+"["+rw+"]/ACT_WGT");
+							DEST_PCD_FROM_Y = model.getValue(nodeSet2+"["+rw+"]/DEST_PCD");
+							DLIV_DIRNO_FROM_Y = model.getValue(nodeSet2+"["+rw+"]/DLIV_DIRNO");
+						}
+						
+						for(var i=1;i<datagrid2.rows-1;i++){
+							ALLOC_SEQ_TO = model.getValue(nodeSet2+"["+i+"]/ALLOC_SEQ");
+							ACT_WGT = model.getValue(nodeSet2+"["+i+"]/ACT_WGT");
+							DEST_PCD_FROM = model.getValue(nodeSet2+"["+i+"]/DEST_PCD");
+							DLIV_DIRNO_FROM = model.getValue(nodeSet2+"["+i+"]/DLIV_DIRNO"); 
+							//循环datagrid1,找到与去向排车顺序号对应的目的地信息。
+							//如果两个目的地信息相等,就可以进行车内钢卷互换
+							for(var k=1;k<datagrid1.rows-1;k++){
+								//求出datagrid1中已有的排车顺序信息
+								var ALLOC_SEQ_TMP = model.getValue(nodeSet1+"["+k+"]/ALLOC_SEQ");
+								//求出datagrid1中已有运输指示号信息
+								var DLIV_DIRNO_TMP = model.getValue(nodeSet1+"["+k+"]/DLIV_DIRNO");
+								
+								//如果去向排车顺序号相等,取出相对应的目的地信息,以及去向车厢号信息
+								//这里使用的是选择特定行的数据
+								if(ALLOC_SEQ_TMP == ALLOC_SEQ_TO_Y){
+									var DEST_PCD_TO = model.getValue(nodeSet1+"["+k+"]/DEST_PCD"); 
+									
+									if(DEST_PCD_FROM_Y == DEST_PCD_TO){
+										//取出去向的车厢号,并且回填到来源的位置上
+										var TRANS_CAR_NO_TO = model.getValue(nodeSet1+"["+k+"]/TRANS_CAR_NO"); 
+										
+										//这里获取的车厢号必须回填到选择行上去
+										model.setValue(nodeSet2+"["+rw+"]/TRANS_CAR_NO",TRANS_CAR_NO_TO);
+										//进行相应的统计计算,并且改变颜色
+										//判断各个车厢号的情况,把相应的数量和重量加起来
+										//这里写死,最多也不会超过10辆车
+										if(ALLOC_SEQ_TO == "1"){
+											count1 = Number(++count1);
+											wgt1 = Number(wgt1) + Number(ACT_WGT);
+											
+										}else if(ALLOC_SEQ_TO == "2"){
+											count2 = Number(++count2);
+											wgt2 = Number(wgt2) + Number(ACT_WGT);
+											
+										}else if(ALLOC_SEQ_TO == "3"){
+											count3 = Number(++count3);
+											wgt3 = Number(wgt3) + Number(ACT_WGT);
+											
+										}else if(ALLOC_SEQ_TO == "4"){
+											count4 = Number(++count4);
+											wgt4 = Number(wgt4) + Number(ACT_WGT);
+											
+										}else if(ALLOC_SEQ_TO == "5"){
+											count5 = Number(++count5);
+											wgt5 = Number(wgt5) + Number(ACT_WGT);
+											
+										}else if(ALLOC_SEQ_TO == "6"){
+											count6 = Number(++count6);
+											wgt6 = Number(wgt6) + Number(ACT_WGT);
+										}else if(ALLOC_SEQ_TO == "7"){
+											count7= Number(++count7);
+											wgt7 = Number(wgt7) + Number(ACT_WGT);
+										}else if(ALLOC_SEQ_TO == "8"){
+											count8= Number(++count8);
+											wgt8 = Number(wgt8) + Number(ACT_WGT);
+										}else{
+											//先处理7个的情况,10个的以后统一加
+											alert("datagrid2 超过车辆的最大进库数!");
+										}
+										
+//										alert("count1 : "+count1);
+//										alert("count2 : "+count2);
+//										alert("count3 : "+count3);
+//										alert("count4 : "+count4);
+//										alert("count5 : "+count5);
+//										alert("count6 : "+count6);
+//										alert("count7 : "+count7);
+//										
+//										alert("wgt1 : "+wgt1);
+//										alert("wgt2 : "+wgt2);
+//										alert("wgt3 : "+wgt3);
+//										alert("wgt4 : "+wgt4);
+//										alert("wgt5 : "+wgt5);
+//										alert("wgt6 : "+wgt6);
+//										alert("wgt7 : "+wgt7);
+										
+										//把所有的计算结果放入datagrid1中的相应位置,如果超重要用红色表示
+										for(var j=1;j<datagrid1.rows-1;j++){
+											var ALLOC_SEQ_1 = model.getValue(nodeSet1+"["+j+"]/ALLOC_SEQ");
+											var chk_1 = model.getValue(nodeSet1+"["+j+"]/CHK");
+											
+											//求出特定字段对应的行数
+											var col_cnt = datagrid1.colRef("CNT");
+											var col_wgt = datagrid1.colRef("ACT_WGT");
+											
+											//判断车厢号,并且把相应的数据添入。给出颜色指示
+											if(ALLOC_SEQ_1 == "1"){
+												model.setValue(nodeSet1+"["+j+"]/CNT",count1);
+												model.setValue(nodeSet1+"["+j+"]/ACT_WGT",wgt1);
+												var row1 = parseInt(j+1);
+												
+												//这里还需要判断是否超过允许装载的最大重量,超过的话要改变颜色
+												if(wgt1 >= "60000"){
+													//超过重量的时候要变成红色
+													datagrid1.cellStyle("background-color",Number(row1),Number(col_cnt))="#ff0000";
+													datagrid1.cellStyle("background-color",Number(row1),Number(col_wgt))="#ff0000";
+												}else{
+													//还原回来后就要恢复原来的颜色
+													datagrid1.cellStyle("background-color",Number(row1),Number(col_cnt))="#ffffff";
+													datagrid1.cellStyle("background-color",Number(row1),Number(col_wgt))="#ffffff";
+												}
+											}else if(ALLOC_SEQ_1 == "2"){
+												model.setValue(nodeSet1+"["+j+"]/CNT",count2);
+												model.setValue(nodeSet1+"["+j+"]/ACT_WGT",wgt2);
+												var row2 = parseInt(j+1);
+												
+												//这里还需要判断是否超过允许装载的最大重量,超过的话要改变颜色
+												if(wgt2 >= "60000"){
+													//超重改变颜色
+													datagrid1.cellStyle("background-color",Number(row2),Number(col_cnt))="#ff0000";
+													datagrid1.cellStyle("background-color",Number(row2),Number(col_wgt))="#ff0000";
+												}else{
+													//不超重就还原
+													datagrid1.cellStyle("background-color",Number(row2),Number(col_cnt))="#ffffff";
+													datagrid1.cellStyle("background-color",Number(row2),Number(col_wgt))="#ffffff";
+												}
+											}else if(ALLOC_SEQ_1 == "3"){
+												model.setValue(nodeSet1+"["+j+"]/CNT",count3);
+												model.setValue(nodeSet1+"["+j+"]/ACT_WGT",wgt3);
+												var row3 = parseInt(j+1);
+												
+												//这里还需要判断是否超过允许装载的最大重量,超过的话要改变颜色
+												if(wgt3 >= "60000"){
+													//超重
+													datagrid1.cellStyle("background-color",Number(row3),Number(col_cnt))="#ff0000";
+													datagrid1.cellStyle("background-color",Number(row3),Number(col_wgt))="#ff0000";
+												}else{
+													datagrid1.cellStyle("background-color",Number(row3),Number(col_cnt))="#ffffff";
+													datagrid1.cellStyle("background-color",Number(row3),Number(col_wgt))="#ffffff";
+												}
+											}else if(ALLOC_SEQ_1 == "4"){
+												model.setValue(nodeSet1+"["+j+"]/CNT",count4);
+												model.setValue(nodeSet1+"["+j+"]/ACT_WGT",wgt4);
+												var row4 = parseInt(j+1);
+												
+												//这里还需要判断是否超过允许装载的最大重量,超过的话要改变颜色
+												if(wgt4 >= "60000"){
+													//超重
+													datagrid1.cellStyle("background-color",Number(row4),Number(col_cnt))="#ff0000";
+													datagrid1.cellStyle("background-color",Number(row4),Number(col_wgt))="#ff0000";
+												}else{
+													datagrid1.cellStyle("background-color",Number(row4),Number(col_cnt))="#ffffff";
+													datagrid1.cellStyle("background-color",Number(row4),Number(col_wgt))="#ffffff";
+												}
+											}else if(ALLOC_SEQ_1 == "5"){
+												model.setValue(nodeSet1+"["+j+"]/CNT",count5);
+												model.setValue(nodeSet1+"["+j+"]/ACT_WGT",wgt5);
+												var row5 = parseInt(j+1);
+												
+												//这里还需要判断是否超过允许装载的最大重量,超过的话要改变颜色
+												if(wgt5 >= "60000"){
+													//超重
+													datagrid1.cellStyle("background-color",Number(row5),Number(col_cnt))="#ff0000";
+													datagrid1.cellStyle("background-color",Number(row5),Number(col_wgt))="#ff0000";
+												}else{
+													datagrid1.cellStyle("background-color",Number(row5),Number(col_cnt))="#ffffff";
+													datagrid1.cellStyle("background-color",Number(row5),Number(col_wgt))="#ffffff";
+												}
+											}else if(ALLOC_SEQ_1 == "6"){
+												model.setValue(nodeSet1+"["+j+"]/CNT",count6);
+												model.setValue(nodeSet1+"["+j+"]/ACT_WGT",wgt6);
+												var row6 = parseInt(j+1);
+												
+												//这里还需要判断是否超过允许装载的最大重量,超过的话要改变颜色
+												if(wgt6 >= "60000"){
+													//超重
+													datagrid1.cellStyle("background-color",Number(row6),Number(col_cnt))="#ff0000";
+													datagrid1.cellStyle("background-color",Number(row6),Number(col_wgt))="#ff0000";
+												}else{
+													datagrid1.cellStyle("background-color",Number(row6),Number(col_cnt))="#ffffff";
+													datagrid1.cellStyle("background-color",Number(row6),Number(col_wgt))="#ffffff";
+												}
+											}else if(ALLOC_SEQ_1 == "7"){
+												model.setValue(nodeSet1+"["+j+"]/CNT",count7);
+												model.setValue(nodeSet1+"["+j+"]/ACT_WGT",wgt7);
+												var row7 = parseInt(j+1);
+												
+												//这里还需要判断是否超过允许装载的最大重量,超过的话要改变颜色
+												if(wgt7 >= "60000"){
+													//超重
+													datagrid1.cellStyle("background-color",Number(row7),Number(col_cnt))="#ff0000";
+													datagrid1.cellStyle("background-color",Number(row7),Number(col_wgt))="#ff0000";
+												}else{
+													datagrid1.cellStyle("background-color",Number(row7),Number(col_cnt))="#ffffff";
+													datagrid1.cellStyle("background-color",Number(row7),Number(col_wgt))="#ffffff";
+												}
+											}else if(ALLOC_SEQ_1 == "8"){
+												model.setValue(nodeSet1+"["+j+"]/CNT",count8);
+												model.setValue(nodeSet1+"["+j+"]/ACT_WGT",wgt8);
+												var row8 = parseInt(j+1);
+												
+												//这里还需要判断是否超过允许装载的最大重量,超过的话要改变颜色
+												if(wgt8 >= "60000"){
+													//超重
+													datagrid1.cellStyle("background-color",Number(row8),Number(col_cnt))="#ff0000";
+													datagrid1.cellStyle("background-color",Number(row8),Number(col_wgt))="#ff0000";
+												}else{
+													datagrid1.cellStyle("background-color",Number(row8),Number(col_cnt))="#ffffff";
+													datagrid1.cellStyle("background-color",Number(row8),Number(col_wgt))="#ffffff";
+												}
+											}else{
+												//提示错误信息
+												//alert(" datagrid1 超过最大车辆数!");
+											}
+										}
+									}else{
+										//这里需要把车厢号还原到改变以前
+										//如果出现两个或者两个以上的相同目的地信息,回填就会出错.使用运输号
+										for(var a=1;a<datagrid1.rows-1;a++){
+											var DLIV_DIRNO_TO = model.getValue(nodeSet1+"["+a+"]/DLIV_DIRNO");
+											
+											//通过原来的运输号信息获得原来的车辆顺序号
+											if(DLIV_DIRNO_TO == DLIV_DIRNO_FROM_Y){
+												var ALLOC_SEQ_FROM = model.getValue(nodeSet1+"["+a+"]/ALLOC_SEQ");
+												
+												//把车辆顺序号还原
+												model.setValue(nodeSet2+"["+rw+"]/ALLOC_SEQ",ALLOC_SEQ_FROM);
+												
+											}
+										}
+										alert(" 目的地不相同,不能进行钢卷混编车操作! ");
+										//这里需不需要重新查询一次,把默认值出去
+										return;
+									}
+								}
+							}
+						}
+					}
+				}
+				
+				//datagrid2 选择车厢的时候整车替换的情况
+				function Bool2_False(){
+					//不能选择到具体的钢卷,只能整运输号之间调整
+					//只在选择车辆号时触发事件
+					if(datagrid2.col == datagrid2.colRef("ALLOC_SEQ")){
+						var nodeSet2 = datagrid2.nodeset;
+						var nodeSet1 = datagrid1.nodeset;
+						var rw;
+						//获取选择位置的去向的车厢号
+						var ALLOC_SEQ_TO = null;
+						//获取选择位置的来源的运输指示号
+						var DLIV_DIRNO_FROM = null;
+						//获得去向车厢号对应的运输指示号
+						var DLIV_DIRNO_TO = null;
+						//获取来源运输指示号对应的车厢号
+						var ALLOC_SEQ_FROM = null;
+						
+						for(var i=0;i<datagrid2.selectedRows;i++){
+							rw = datagrid2.selectedRow(i);
+							//把选中行的数字正确的显示
+							rw = parseInt(rw-1);
+						
+							ALLOC_SEQ_TO = model.getValue(nodeSet2+"["+rw+"]/ALLOC_SEQ");
+							
+							DLIV_DIRNO_FROM = model.getValue(nodeSet2+"["+rw+"]/DLIV_DIRNO");
+						}
+						
+						//alert("ALLOC_SEQ_TO : "+ALLOC_SEQ_TO);
+						//alert("DLIV_DIRNO_FROM : "+DLIV_DIRNO_FROM);
+						
+						//发货指示号
+						var  SHIP_DIRNO_FROM;
+						//装车地点
+						var  GET_NO_PCD_FROM;
+						//专用线
+						var  EXLV_LINE_CD_FROM;
+						//卸车地点
+						var  GET_OFF_PCD_FROM;
+						//运输方式
+						var  DLIV_TP_NM_FROM;
+						//运输单位
+						var  SM_CFNM_FROM;
+						//铁路运输号
+						var  TRAIN_DLIVNO_FROM;
+						//数量
+						var  CNT_FROM;
+						//重量
+						var  ACT_WGT_FROM;
+						//目的地
+						var DEST_PCD_FROM;
+						//新增加车厢号
+						var TRANS_CAR_NO_FROM;
+						
+						//发货指示号
+						var  SHIP_DIRNO_TO;
+						//装车地点
+						var  GET_NO_PCD_TO;
+						//专用线
+						var  EXLV_LINE_CD_TO;
+						//卸车地点
+						var  GET_OFF_PCD_TO;
+						//运输方式
+						var  DLIV_TP_NM_TO;
+						//运输单位
+						var  SM_CFNM_TO;
+						//铁路运输号
+						var  TRAIN_DLIVNO_TO;
+						//数量
+						var  CNT_TO;
+						//重量
+						var  ACT_WGT_TO;
+						//目的地
+						var DEST_PCD_TO;
+						//新增加车厢号
+						var TRANS_CAR_NO_TO;
+						
+						//通过选择位置的去向车厢号和来源运输号找到相应的
+						//这里需要改变datagrid1中的运输号与排车顺序号的对应,否则再第二次选择的时候就对应不上了 
+						for(var k=1;k<datagrid1.rows-1;k++){
+							var  DLIV_DIRNO_TMP = model.getValue(nodeSet1+"["+k+"]/DLIV_DIRNO");
+							var  ALLOC_SEQ_TMP = model.getValue(nodeSet1+"["+k+"]/ALLOC_SEQ");
+							
+							//获得去向运输号
+							if(ALLOC_SEQ_TO == ALLOC_SEQ_TMP){
+								DLIV_DIRNO_TO = model.getValue(nodeSet1+"["+k+"]/DLIV_DIRNO");
+								
+								//alert("DLIV_DIRNO_TO : "+DLIV_DIRNO_TO);
+								
+								//把已经改变了车厢号的运输号对应到具体的车厢上去
+								SHIP_DIRNO_TO = model.getValue(nodeSet1+"["+k+"]/SHIP_DIRNO");
+								GET_NO_PCD_TO = model.getValue(nodeSet1+"["+k+"]/GET_NO_PCD");
+								EXLV_LINE_CD_TO = model.getValue(nodeSet1+"["+k+"]/EXLV_LINE_CD");
+								GET_OFF_PCD_TO = model.getValue(nodeSet1+"["+k+"]/GET_OFF_PCD");
+								DLIV_TP_NM_TO = model.getValue(nodeSet1+"["+k+"]/DLIV_TP_NM");
+								SM_CFNM_TO = model.getValue(nodeSet1+"["+k+"]/SM_CFNM");
+								TRAIN_DLIVNO_TO = model.getValue(nodeSet1+"["+k+"]/TRAIN_DLIVNO");
+								CNT_TO = model.getValue(nodeSet1+"["+k+"]/CNT");
+								ACT_WGT_TO = model.getValue(nodeSet1+"["+k+"]/ACT_WGT");
+								DEST_PCD_TO = model.getValue(nodeSet1+"["+k+"]/DEST_PCD");
+								TRANS_CAR_NO_TO = model.getValue(nodeSet1+"["+k+"]/TRANS_CAR_NO");
+								
+								model.refresh();
+							}
+							//获得来源排车顺序号
+							if(DLIV_DIRNO_FROM == DLIV_DIRNO_TMP){
+								ALLOC_SEQ_FROM = model.getValue(nodeSet1+"["+k+"]/ALLOC_SEQ");
+								
+								//alert("ALLOC_SEQ_FROM : "+ALLOC_SEQ_FROM);
+								
+								//把已经改变了车厢号的运输号对应到具体的车厢上去
+								SHIP_DIRNO_FROM = model.getValue(nodeSet1+"["+k+"]/SHIP_DIRNO");
+								GET_NO_PCD_FROM = model.getValue(nodeSet1+"["+k+"]/GET_NO_PCD");
+								EXLV_LINE_CD_FROM = model.getValue(nodeSet1+"["+k+"]/EXLV_LINE_CD");
+								GET_OFF_PCD_FROM = model.getValue(nodeSet1+"["+k+"]/GET_OFF_PCD");
+								DLIV_TP_NM_FROM = model.getValue(nodeSet1+"["+k+"]/DLIV_TP_NM");
+								SM_CFNM_FROM = model.getValue(nodeSet1+"["+k+"]/SM_CFNM");
+								TRAIN_DLIVNO_FROM = model.getValue(nodeSet1+"["+k+"]/TRAIN_DLIVNO");
+								CNT_FROM = model.getValue(nodeSet1+"["+k+"]/CNT");
+								ACT_WGT_FROM = model.getValue(nodeSet1+"["+k+"]/ACT_WGT");
+								DEST_PCD_FROM = model.getValue(nodeSet1+"["+k+"]/DEST_PCD");
+								TRANS_CAR_NO_FROM = model.getValue(nodeSet1+"["+k+"]/TRANS_CAR_NO");
+								
+								model.refresh();
+							}
+						}
+						
+						//这里需要再循环一次datagrid1才可以把值都赋予上去
+						//因为不知道到底哪一行是取出的哪一行是赋予的
+						for(var m=1;m<=datagrid1.rows-1;m++){
+							var  DLIV_DIRNO_M = model.getValue(nodeSet1+"["+m+"]/DLIV_DIRNO");
+							var  ALLOC_SEQ_M = model.getValue(nodeSet1+"["+m+"]/ALLOC_SEQ");
+						
+							if(ALLOC_SEQ_TO == ALLOC_SEQ_M){
+								
+								//alert("ALLOC_SEQ_M : "+ALLOC_SEQ_M+" MMMMMMMMMMMM "+m);
+								
+								//alert("SHIP_DIRNO_FROM : "+SHIP_DIRNO_FROM);
+								
+								//把来源的值换过来
+								datagrid1.valueMatrix(m+1,datagrid1.colRef("SHIP_DIRNO")) = SHIP_DIRNO_FROM;
+								datagrid1.valueMatrix(m+1,datagrid1.colRef("GET_NO_PCD")) = GET_NO_PCD_FROM;
+								datagrid1.valueMatrix(m+1,datagrid1.colRef("EXLV_LINE_CD")) = EXLV_LINE_CD_FROM;
+								datagrid1.valueMatrix(m+1,datagrid1.colRef("GET_OFF_PCD")) = GET_OFF_PCD_FROM;
+								datagrid1.valueMatrix(m+1,datagrid1.colRef("DLIV_TP_NM")) = DLIV_TP_NM_FROM;
+								datagrid1.valueMatrix(m+1,datagrid1.colRef("SM_CFNM")) = SM_CFNM_FROM;
+								datagrid1.valueMatrix(m+1,datagrid1.colRef("TRAIN_DLIVNO")) = TRAIN_DLIVNO_FROM;
+								datagrid1.valueMatrix(m+1,datagrid1.colRef("CNT")) = CNT_FROM;
+								datagrid1.valueMatrix(m+1,datagrid1.colRef("ACT_WGT")) = ACT_WGT_FROM;
+								datagrid1.valueMatrix(m+1,datagrid1.colRef("DLIV_DIRNO")) = DLIV_DIRNO_FROM;
+								datagrid1.valueMatrix(m+1,datagrid1.colRef("DEST_PCD")) = DEST_PCD_FROM;
+								
+								model.refresh();
+							}
+							
+							//获得来源排车顺序号
+							if(DLIV_DIRNO_FROM == DLIV_DIRNO_M){
+								
+								//alert("DLIV_DIRNO_M : "+DLIV_DIRNO_M+" AAAAAAAAAAA "+m);
+								//调试代码
+//								alert("SHIP_DIRNO_TO : "+SHIP_DIRNO_TO);
+//								alert("GET_NO_PCD_TO : "+GET_NO_PCD_TO);
+//								alert("EXLV_LINE_CD_TO : "+EXLV_LINE_CD_TO);
+//								alert("GET_OFF_PCD_TO : "+GET_OFF_PCD_TO);
+//								alert("DLIV_TP_NM_TO : "+DLIV_TP_NM_TO);
+//								alert("SM_CFNM_TO : "+SM_CFNM_TO);
+//								alert("TRAIN_DLIVNO_TO : "+TRAIN_DLIVNO_TO);
+//								alert("CNT_TO : "+CNT_TO);
+//								alert("ACT_WGT_TO : "+ACT_WGT_TO);
+//								alert("DLIV_DIRNO_TO : "+DLIV_DIRNO_TO);
+//								alert("DEST_PCD_TO : "+DEST_PCD_TO);
+								
+								
+								//把去向的值换过来
+								datagrid1.valueMatrix(m+1,datagrid1.colRef("SHIP_DIRNO")) = SHIP_DIRNO_TO;
+								datagrid1.valueMatrix(m+1,datagrid1.colRef("GET_NO_PCD")) = GET_NO_PCD_TO;
+								datagrid1.valueMatrix(m+1,datagrid1.colRef("EXLV_LINE_CD")) = EXLV_LINE_CD_TO;
+								datagrid1.valueMatrix(m+1,datagrid1.colRef("GET_OFF_PCD")) = GET_OFF_PCD_TO;
+								datagrid1.valueMatrix(m+1,datagrid1.colRef("DLIV_TP_NM")) = DLIV_TP_NM_TO;
+								datagrid1.valueMatrix(m+1,datagrid1.colRef("SM_CFNM")) = SM_CFNM_TO;
+								datagrid1.valueMatrix(m+1,datagrid1.colRef("TRAIN_DLIVNO")) = TRAIN_DLIVNO_TO;
+								datagrid1.valueMatrix(m+1,datagrid1.colRef("CNT")) = CNT_TO;
+								datagrid1.valueMatrix(m+1,datagrid1.colRef("ACT_WGT")) = ACT_WGT_TO;
+								datagrid1.valueMatrix(m+1,datagrid1.colRef("DLIV_DIRNO")) = DLIV_DIRNO_TO;
+								datagrid1.valueMatrix(m+1,datagrid1.colRef("DEST_PCD")) = DEST_PCD_TO;
+								
+								model.refresh();
+							}
+						}
+						
+						//把相应的车厢号对调,不能改变运输号对应的卷。
+						for(var j=1;j<datagrid2.rows-1;j++){
+							var DLIV_DIRNO1 = model.getValue(nodeSet2+"["+j+"]/DLIV_DIRNO");
+							
+							//alert("DLIV_DIRNO1 : "+DLIV_DIRNO1+" JJJJJJJJJJJJ "+j);
+							
+							//同一运输指示号下面的钢卷要一起变化,不能改变运输号
+							if(DLIV_DIRNO_FROM == DLIV_DIRNO1){
+								//改变运输号中来源的数据,车厢序号以及车厢号TRANS_CAR_NO_FROM
+								model.setValue(nodeSet2+"["+j+"]/ALLOC_SEQ",ALLOC_SEQ_TO);	
+								model.setValue(nodeSet2+"["+j+"]/TRANS_CAR_NO",TRANS_CAR_NO_TO);
+						
+							}else if(DLIV_DIRNO_TO == DLIV_DIRNO1){
+								//改变运输号中去向的数据,车厢序号以及车厢号
+								model.setValue(nodeSet2+"["+j+"]/ALLOC_SEQ",ALLOC_SEQ_FROM);
+								model.setValue(nodeSet2+"["+j+"]/TRANS_CAR_NO",TRANS_CAR_NO_FROM);
+							}
+						}
+					}
+				}
+				
+				//导出EXCEL方法
+				function saveExcelScript(sDGridName, sExcelSheetName, saveType) {
+
+						var sExcelName = window.fileDialog( "save", "", false, "SaveFileName", "xls", "Excel Files(*.xls)|*.xls" );
+						if ( sExcelName == "" ) {
+							return;
+						}
+
+						//var sCSVName = "C:\\TFSmartUpdater\\" + sExcelName.lastIndexOf(".") +".csv";
+						var sCSVName = sExcelName +".csv";
+						//alert("sExcelName = ["+ sExcelName +"]\nsCSVName = ["+ sCSVName + "]");
+
+						eval(sDGridName).saveText(sCSVName, "\n", ",", '\:', true);	//DataGrid? ??? CSV??? ??
+
+						ObjTFExcel.launchNewInstance(0);								//Execute EXCEL
+						ObjTFExcel.createWorkbook();									//Create new Workbook(for example:Sheet1,Sheet2,Sheet3) -- createWorkBook(Excel-TemplateFile)
+
+						ObjTFExcel.loadCSV(sCSVName);									//Loading Contents, from CSV to Excel
+
+						//Setting up EXCEL Layout.
+						var nRows = sDGridName.rows - sDGridName.fixedRows + 1;			//Keep Careful !!!
+						var nCols = sDGridName.cols;
+						
+						//Header
+						//Line 1 : Sheet Title
+						//行高的设置
+						
+						//All of the range
+						ObjTFExcel.fontcolor     (  01, 01, nRows, nCols           ) = "#000000"	;
+						ObjTFExcel.font          (  01, 01, nRows, nCols           ) = "SimSun"		;
+						//取消边框
+						ObjTFExcel.setBorderColor(  01, 01, nRows, nCols, "#000000")                ;
+						ObjTFExcel.bold          (  01, 01, nRows, nCols           ) = true	    	;
+						//改变字体大小
+						ObjTFExcel.fontsize	     (  01, 01, nRows, nCols           ) = 12		    ;
+						ObjTFExcel.underline     (  01, 01, nRows, nCols           ) = 0		    ;
+						ObjTFExcel.valign        (  01, 01, nRows, nCols           ) ="middle"	    ;
+						//字体居中
+						ObjTFExcel.halign        (  01, 01, nRows, nCols           ) ="center"	    ;
+						
+						//Query-Results Data
+						var iRow = 1;	// iRow = HeaderLine + 1;
+						//这里设置字体的行宽
+	//					for(var i = iRow; i <= nRows; i++ ) {
+	//						if( (i%5) == 1 ) {
+	//							ObjTFExcel.rowHeight( i ) = 60;
+	//							ObjTFExcel.mergeCell( i, 01, i, nCols );
+	//						} else if( (i%5) == 0 ) {
+	//							ObjTFExcel.rowHeight( i ) = 45;
+	//							ObjTFExcel.mergeCell( i, 01, i, nCols );
+	//						} else {
+	//							ObjTFExcel.rowHeight( i ) = 40;
+	//						}
+	//					}
+
+						
+						//改变文本格式的方法,未知
+						//ObjTFExcel.setformat(02,02,02,03,'@');
+						
+						//设置列的宽度
+						ObjTFExcel.colwidth (      01               ) = 5		;
+						ObjTFExcel.colwidth (      02               ) = 10		;
+						ObjTFExcel.colwidth (      03               ) = 20		;
+						ObjTFExcel.colwidth (      04               ) = 10		;
+						ObjTFExcel.colwidth (      05               ) = 15		;
+						ObjTFExcel.colwidth (      06               ) = 10		;
+						ObjTFExcel.colwidth (      07               ) = 10		;
+						ObjTFExcel.colwidth (      08               ) = 5		;
+						ObjTFExcel.colwidth (      09               ) = 5		;
+						ObjTFExcel.colwidth (      10               ) = 10		;
+						
+	//					ObjTFExcel.setFormat(iRow, 14, nRows,    14, "yyyy\"-\"mm\"-\"dd\"\" hh\":\"mm\":\"ss\"\";@");
+
+						ObjTFExcel.sheetName(1) = sExcelSheetName;
+
+						ObjTFExcel.save(sExcelName);									//Saving EXCEL
+
+						ObjTFExcel.close();							//Closing EXCEL. (You must be closed EXCEL !!!)
+
+						window.exec("EXCEL.EXE", sExcelName);		//Openning EXCEL
+
+					}
+			]]>
+		</script>
+	</xhtml:head>
+	<xhtml:body>
+		<caption id="caption5" class="cell" style="left:0px; top:0px; width:90px; height:20px; font-weight:bold; text-align:left; border-color:#000000; border-style:solid; ">发货指示时间</caption>
+		<input id="input1" ref="/root/searchData/fromDate" inputtype="date" format="yyyy-mm-dd" style="left:90px; top:0px; width:115px; height:20px; background-color:#ffff99; "/>
+		<input id="input2" ref="/root/searchData/toDate" inputtype="date" format="yyyy-mm-dd" style="left:235px; top:0px; width:115px; height:20px; background-color:#ffff99; "/>
+		<caption id="caption1" style="left:205px; top:0px; width:30px; height:20px; text-align:center; vertical-align:middle; ">--</caption>
+		<caption id="caption2" class="cell" style="left:380px; top:0px; width:75px; height:20px; font-weight:bold; text-align:center; border-color:#000000; border-style:solid; ">发货指示号</caption>
+		<input id="input6" ref="/root/searchData/SHIP_DIRNO" style="left:455px; top:0px; width:95px; height:20px; background-color:#ffff99; "/>
+		<select1 id="combo2" ref="/root/searchData/SHIP_COMP_NM" appearance="minimal" editmode="input" style="left:870px; top:0px; width:110px; height:20px; background-color:#ffff99; border-color:#000000; ">
+			<choices>
+				<itemset nodeset="/root/init/SHIPCOMPData/SHIPCOMPData_VO/SHIPCOMPData_Row">
+					<label ref="LABEL"/>
+					<value ref="VALUE"/>
+				</itemset>
+			</choices>
+		</select1>
+		<caption id="caption4" class="cell" style="left:775px; top:0px; width:95px; height:20px; font-weight:bold; text-align:center; border-color:#000000; border-style:solid; ">运输单位</caption>
+		<datagrid id="datagrid1" nodeset="/root/datagrid1/DLIVDIR_VO/DLIVDIR_Row" caption="选择^发货指示号^目的地^专用线^收货单位^合同单位^合同号^订单号^牌号^规格^重量判定^钢卷颜色^排车顺序^车辆号^运输单位^运输指示号^发货指示^发货指示^火车入库道次^装车次数^^^^^^|选择^发货指示号^目的地^专用线^收货单位^合同单位^合同号^订单号^牌号^规格^重量判定^钢卷颜色^排车顺序^车辆号^运输单位^运输指示号^数量^重量^火车入库道次^装车次数^^^^^^" colsep="^" colwidth="21, 88, 70, 70, 100, 100, 80, 50, 69, 68, 71, 73, 32, 100, 88, 88, 43, 43, 53, 68, 100, 100, 100, 100, 100, 100" defaultrows="12" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:20px; width:980px; height:250px; ">
+			<col checkvalue="Y,N" ref="CHK" type="checkbox"/>
+			<col ref="SHIP_DIRNO"/>
+			<col ref="DEST_PCD_DESC"/>
+			<col ref="EXLV_LINE_CD_DESC"/>
+			<col ref="CUST_NM"/>
+			<col ref="ORD_NM"/>
+			<col ref="ORD_NO"/>
+			<col ref="ORD_SEQ"/>
+			<col ref="SPEC_STL_GRD"/>
+			<col ref="T_W"/>
+			<col ref="WGT_DEC_RST"/>
+			<col ref="MK_COIL"/>
+			<col ref="ALLOC_SEQ" type="input" format="999999-9999999" maxlength="2" style="background-color:#ffff99; "/>
+			<col ref="TRANS_CAR_NO" type="input" maxlength="20" style="background-color:#ffff99; "/>
+			<col ref="SM_CFNM"/>
+			<col ref="DLIV_DIRNO"/>
+			<col ref="CNT"/>
+			<col ref="ACT_WGT"/>
+			<col ref="LANE_TP" type="combo" visibility="hidden" style="background-color:#ffff99; ">
+				<choices>
+					<item>
+						<label/>
+						<value/>
+					</item>
+					<item>
+						<label>A</label>
+						<value>A</value>
+					</item>
+					<item>
+						<label>B</label>
+						<value>B</value>
+					</item>
+				</choices>
+			</col>
+			<col ref="ENTERANCE_SEQ" type="input" visibility="hidden" style="background-color:#ffff99; "/>
+			<col ref="TRAIN_DLIVNO" visibility="hidden"/>
+			<col ref="DLIV_TP_NM" visibility="hidden"/>
+			<col ref="GET_NO_PCD" visibility="hidden"/>
+			<col ref="DEST_PCD" visibility="hidden"/>
+			<col ref="EXLV_LINE_CD" visibility="hidden"/>
+			<col ref="GET_OFF_PCD" visibility="hidden"/>
+			<script type="javascript" ev:event="xforms-value-changed">
+				<![CDATA[
+					//把事件定位在车辆号输入处,这里通过CHK为Y的情况增加排车顺序。
+					//只要是CHK为Y的情况让排车序号依次增加,只能整发货指示进行暂时不考虑分装的情况
+					//这里暂时不处理车辆道次和装车次数的自动处理情况,由业务确定后再增加
+					if(datagrid1.col == datagrid1.colRef("TRANS_CAR_NO")){
+						var nodeSet1 = datagrid1.nodeset;
+						var rw = 0;
+						var ALLOC_SEQ = model.getValue("/root/ALLOC_SEQ");
+						//获取选中的行,取出相应的信息
+						for(var i=0;i<datagrid1.selectedRows;i++){
+							rw = datagrid1.selectedRow(i);
+							//把选中行的数字正确的显示
+							rw = parseInt(rw-1);
+						}
+						
+						//这里是否需要先选择再输入车厢号,具体的控制由客户定。暂时不控制
+						var chk = model.getValue(nodeSet1+"["+rw+"]/CHK");
+						var TRANS_CAR_NO = model.getValue(nodeSet1+"["+rw+"]/TRANS_CAR_NO");
+						//datagrid1中选中行所在的排车顺序
+						var ALLOC_SEQ1 = model.getValue(nodeSet1+"["+rw+"]/ALLOC_SEQ");
+						//运输方式
+						var DLIV_TP = model.getValue(nodeSet1+"["+rw+"]/DLIV_TP");
+						
+						//汽运的时候,不对铁路运输做出处理
+						if(DLIV_TP == "T" || DLIV_TP == "t"){		
+							//这里需要通过车辆号和选择项来增加排车顺序
+							//并且只有铁路运输的方式才能生成排车需要,汽车运输是一辆一辆进厂的所以不用考虑
+							
+							if(ALLOC_SEQ1 == ""){
+								if(chk == "Y"){
+									if(TRANS_CAR_NO != ""){
+										//这里排车顺序号需要做相应的处理,具体的样子如A01,A02.....A12,B01
+//										ALLOC_SEQ = ++ALLOC_SEQ;
+//										model.setValue(nodeSet1+"["+rw+"]/ALLOC_SEQ",ALLOC_SEQ);
+//										model.setValue("/root/ALLOC_SEQ",ALLOC_SEQ);
+//										model.refresh();
+									}
+								}else{
+									//如果是没有选中的情况,给出提示并且不能输入
+//									alert(" 请先选择要发货的发货指示号,再输入相应的车厢号! ");
+//									model.setValue(nodeSet1+"["+rw+"]/TRANS_CAR_NO","");
+//									return;
+								}
+							}
+						}else if(DLIV_TP == "C" || DLIV_TP == "c"){
+							if(chk == "Y"){
+								//汽车运输的情况只能选一个,不使用ALLOC_SEQ接点数据信息
+								//model.setValue(nodeSet1+"["+rw+"]/ALLOC_SEQ","1");
+							}else{
+								//如果是没有选中的情况,给出提示并且不能输入
+								//alert(" 请先选择要发货的发货指示号,再输入相应的车厢号! ");
+								//model.setValue(nodeSet1+"["+rw+"]/TRANS_CAR_NO","");
+								//return;
+							}
+						}
+						
+					}
+				]]>
+			</script>
+			<script type="javascript" ev:event="onclick">
+				<![CDATA[
+					//这里需要实现根据运输指示号查询具体钢卷信息的功能,并且在datagrid2中显示
+					if(datagrid1.col == datagrid1.colRef("CHK")){
+						var nodeSet1 = datagrid1.nodeset;
+						//这里暂时不处理点击一个发货号,选中相同的发货指示号的情况 参见JS
+						
+						var rw = 0;
+						for(var i=0;i<datagrid1.selectedRows;i++){
+							rw  = datagrid1.selectedRow(i);
+							//把选中行的数字正确的显示
+							rw = parseInt(rw-1);
+						}
+						//运输方式代码
+						var DLIV_TP = model.getValue(nodeSet1+"["+rw+"]/DLIV_TP");
+						//求出选中行的发货指示号
+						var SHIP_DIRNO = model.getValue(nodeSet1+"["+rw+"]/SHIP_DIRNO");
+						//运输指示号
+						var DLIV_DIRNO = model.getValue(nodeSet1+"["+rw+"]/DLIV_DIRNO");
+						//车辆号
+						var TRANS_CAR_NO = model.getValue(nodeSet1+"["+rw+"]/TRANS_CAR_NO");
+						//选择
+						var chk = model.getValue(nodeSet1+"["+rw+"]/CHK");
+						
+						
+						//如果是火车运输的情况,不做处理
+						if(DLIV_TP == "T" || DLIV_TP == "t"){
+							//if(chk == "Y"){
+								//for(var j=1;j<=datagrid1.rows-2;j++){
+									//var  SHIP_DIRNO_j = model.getValue(nodeSet1+"["+j+"]/SHIP_DIRNO");
+    								//找到选中的哪一行,并且根据选中的发货指示号匹配datagrid1中的存在的发货指示号
+										//if(SHIP_DIRNO == SHIP_DIRNO_j){
+										//model.setValue(nodeSet1+"["+j+"]/CHK","Y");
+										//model.refresh();
+								//}
+							//}
+						//}
+						}else if(DLIV_TP == "C" || DLIV_TP == "c"){
+							//如果是公路运输的情况,只允许选择一个
+							//这里不做限制,想一次选择多个都可以
+//							for(var j=1;j<=datagrid1.rows-2;j++){
+//								//把不是选中行全部改为非选择
+//								if(rw != j){
+//									model.setValue(nodeSet1+"["+j+"]/CHK","N");
+//									model.refresh();
+//								}
+//							}
+						}
+						
+					}
+				]]>
+			</script>
+		</datagrid>
+		<datagrid id="datagrid2" nodeset="/root/datagrid2/SHIPDIR_VO/SHIPDIR_Row" scroll="both" caption="选择^钢卷号^等级^牌号^厚度^宽度^重量(磅重)^重量(理论)^堆放位置^收货单位^合同单位^外径^运输指示号(计划号)^目的地^车厢^车厢号^合同号^订单号^钢卷颜色备注^^^^|选择^钢卷号^等级^牌号^厚度^宽度^重量(磅重)^重量(理论)^堆放位置^收货单位^合同单位^外径^运输指示号(计划号)^目的地^车厢^车厢号^合同号^订单号^钢卷颜色备注^^^^" colsep="^" colwidth="45, 90, 41, 80, 48, 60, 52, 45, 90, 100, 100, 51, 100, 100, 83, 100, 100, 100, 100, 100, 100, 100, 100" explorerbar="sortshow" frozencols="9" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:305px; width:855px; height:315px; ">
+			<col checkvalue="Y,N" ref="CHK" type="checkbox"/>
+			<col editable="false" ref="OLD_SAMPL_NO" type="input" style="background-color:#ffffff; "/>
+			<col ref="TOT_DEC_GRD"/>
+			<col editable="false" ref="SPEC_STL_GRD" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="COIL_THK" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="COIL_WTH" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="ACT_WGT" type="input" format="#,###" style="background-color:#ffffff; "/>
+			<col editable="false" ref="CAL_WGT" type="input" format="#,###" style="background-color:#ffffff; "/>
+			<col editable="false" ref="CUR_LOAD_LOC" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="CUST_NM" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="ORD_NM" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="COIL_OUTDIA" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="DLIV_DIRNO" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="DEST_PCD_DESC" type="input" style="background-color:#ffffff; "/>
+			<col ref="ALLOC_SEQ" type="combo">
+				<choices>
+					<itemset nodeset="/root/init/TRAIN_STEP_NO">
+						<label ref="LABEL"/>
+						<value ref="VALUE"/>
+					</itemset>
+				</choices>
+			</col>
+			<col ref="TRANS_CAR_NO" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="ORD_NO" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="ORD_SEQ" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="HCOLOUR_REM" type="input" style="background-color:#ffffff; "/>
+			<col ref="MATRL_END_CAUSE_CD" visibility="hidden"/>
+			<col editable="false" ref="COIL_NO" type="input" visibility="hidden" style="background-color:#ffffff; "/>
+			<col editable="false" ref="SHIP_DIRNO" type="input" visibility="hidden" style="background-color:#ffffff; "/>
+			<col ref="DEST_PCD" visibility="hidden"/>
+			<script type="javascript" ev:event="xforms-select">
+				<![CDATA[
+					//汽车的情况,一次装一个并且不允许换车
+//					//这里给一个选择判断,如果没有选择上的不允许换车
+//					var nodeSet2 = datagrid2.nodeset;
+//					var nodeSet1 = datagrid1.nodeset;
+//					var rw = 0;
+//					
+//					//获取选中的行,取出相应的信息
+//					for(var i=0;i<datagrid2.selectedRows;i++){
+//						rw = datagrid2.selectedRow(i);
+//						//把选中行的数字正确的显示
+//						rw = parseInt(rw-1);
+//					}
+//					
+//					var chk = model.getValue(nodeSet2+"["+rw+"]/CHK");
+//					var DLIV_DIRNO_FROM = model.getValue(nodeSet2+"["+rw+"]/DLIV_DIRNO");
+//					
+//					if(chk == "Y"){
+//						//选择排车顺序号的方法
+//						if(bool2.value == "true" || bool2.value == "TRUE"){
+//							//可以选择到具体的钢卷,并且把不同发货指示号的钢卷混编
+//							//这里还需要判断混编后的钢卷是否超过了车载的最大重量
+//							//选择一次判断一次,颜色标识
+//							//Bool2_True();
+//						}else{
+//							//整车替换的情况,火车和汽车运输要分开了处理
+//							Bool2_False();
+//						}
+//					}else{
+//						if(rw !=0){
+//							for(var j=1;j<datagrid1.rows-1;j++){
+//								var DLIV_DIRNO_TO =  model.getValue(nodeSet1+"["+j+"]/DLIV_DIRNO");
+//								if(DLIV_DIRNO_FROM == DLIV_DIRNO_TO){
+//									//取出车厢号
+//									var ALLOC_SEQ = model.getValue(nodeSet1+"["+j+"]/ALLOC_SEQ");
+//								}
+//							}
+//							alert(" 没有选中的钢卷不能进行换车操作! ");
+//							
+//							model.setValue(nodeSet2+"["+rw+"]/ALLOC_SEQ",ALLOC_SEQ);
+//							model.refresh();
+//							return;
+//						}
+//					}
+				]]>
+			</script>
+			<script type="javascript" ev:event="onclick">
+				<![CDATA[
+				//这里先屏蔽掉,因为换卷后车厢号与运输号之间的对应关系被打乱了
+				//全部的卷要一起选择并且指定行车命令,暂时不能考虑打断流程插队的情况
+				//所以这里不做控制,给予行改变属性
+				var nodeSet1 = datagrid1.nodeset;
+				if(datagrid2.col == datagrid2.colRef("CHK")){
+					for(var i=1;i<datagrid1.rows-1;i++){
+						var chk = model.getValue(nodeSet1+"["+i+"]/CHK");
+						
+						if(chk == "Y"){
+							datagrid1.rowStatus(i) = 2;
+						}
+					}
+				}	
+				]]>
+			</script>
+			<script type="javascript" ev:event="ondblclick">
+				<![CDATA[
+					//双击,可以查看下计划时的钢卷信息
+					model.removenode("/root/reqData");
+					model.makeNode("/root/reqData");
+					
+					model.removenode("/root/datagrid4");
+					model.makeNode("/root/datagrid4");
+					
+					var nodeSet2 = datagrid2.nodeset;
+					var row;
+					for(var i=0;i<datagrid2.selectedRows;i++){
+						row = datagrid2.selectedRow(i);
+						//把选中行的数字正确的显示
+						row = parseInt(row-1);
+					}
+					
+					//获取运输号
+					var DLIV_DIRNO_JH = null;
+					DLIV_DIRNO_JH = model.getValue(nodeSet2+"["+row+"]/DLIV_DIRNO");
+					
+					model.setValue("/root/DLIV_DIRNO_JH",DLIV_DIRNO_JH);
+					model.refresh();
+					
+					model.duplicate("/root/reqData","/root/DLIV_DIRNO_JH");
+					
+					commSubmit("UIJ010040-service","DLIV_JH","glueAction.do");
+					
+					commAppendData("/root/datagrid4/DLIV_DIRNO_JH_RESULT_VO","/root/resData/DLIV_DIRNO_JH_RESULT_VO");
+					
+					model.refresh();
+				]]>
+			</script>
+		</datagrid>
+		<bool id="bool2" visibility="hidden" ref="/root/bool2" style="left:515px; top:285px; width:25px; height:20px; ">
+			<script type="javascript" ev:event="DOMActivate">
+				<![CDATA[
+					//这里钢卷选择的时候需要给予条件,如果是火车的情况没有问题。如是汽车的情况就不能选择
+					//暂时不做控制,能业务确定后再说
+					//现在主要考虑火车的情况,汽车的情况比较简单。用不到这些功能。
+				]]>
+			</script>
+		</bool>
+		<caption id="caption7" visibility="hidden" style="left:540px; top:285px; width:65px; height:20px; ">已钢卷选择</caption>
+		<button id="button3" style="left:755px; top:285px; width:89px; height:20px; background-image:../../images/btn_save.GIF; ">
+			<caption>待装车</caption>
+			<script type="javascript" ev:event="DOMActivate">
+				<![CDATA[
+					//清空发送接点
+					model.removenode("/root/reqData");
+					model.makeNode("/root/reqData");
+					
+					//清空datagrid1,datagrid2
+					model.removenode("/root/datagrid1");
+					model.makeNode("/root/datagrid1");
+					
+					//清空获得排车顺序的号的节点
+					model.removenode("/root/init/TRAIN_STEP_NO");
+					model.makeNode("/root/init/TRAIN_STEP_NO");
+					
+					//判断发货指示时间是否为空
+					var fromDate = model.getValue("/root/searchData/fromDate");
+					var toDate = model.getValue("/root/searchData/toDate");
+//					var LANE_TP = model.getValue("/root/searchData/LANE_TP");
+//					var ENTERANCE_SEQ = model.getValue("/root/searchData/ENTERANCE_SEQ");
+					
+					if(fromDate == ""){
+						alert(" 发货指示的开始时间不能为空,请选择相应的发货指示开始时间! ");
+						return;
+					}
+					if(toDate == ""){
+						alert(" 发货指示的结束时间不能为空,请选择相应的发货指示结束时间! ");
+						return;
+					}
+//					if(LANE_TP == ""){
+//						alert(" 火车入库道次不能为空,请选择相应的火车入库道次! ");
+//						return;
+//					}
+//					if(ENTERANCE_SEQ == ""){
+//						alert(" 装车次数不能为空,请输入相应的装车次数信息! ");
+//						return;
+//					}
+
+					//把相应的接点放入发送对象
+					//初始化页面,查询的发货指示状态为03排车待机和材料进度"SFA"
+					model.setValue("/root/searchData/SHIP_PROG_CD","04");
+					model.duplicate("/root/reqData","/root/searchData/SHIP_PROG_CD");
+					model.duplicate("/root/reqData","/root/searchData/fromDate");
+					model.duplicate("/root/reqData","/root/searchData/toDate");
+					model.duplicate("/root/reqData","/root/searchData/SHIP_DIRNO");
+					//这里物料进度SFB
+					model.setValue("/root/searchData/CUR_PROG_CD","SFB");
+					//5
+					model.duplicate("/root/reqData","/root/searchData/CUR_PROG_CD");
+					model.duplicate("/root/reqData","/root/searchData/fromDate");
+					model.duplicate("/root/reqData","/root/searchData/toDate");
+					//汽运的情况直接给出汽运的标识
+					model.setValue("/root/searchData/DLIV_TP","C");
+					model.duplicate("/root/reqData","/root/searchData/DLIV_TP");
+					//这里汽运的情况不存在入库道次和装车次数的情况
+					model.setValue("/root/searchData/LANE_TP","");
+					model.duplicate("/root/reqData","/root/searchData/LANE_TP");
+					model.setValue("/root/searchData/ENTERANCE_SEQ","");
+					model.duplicate("/root/reqData","/root/searchData/ENTERANCE_SEQ");
+					//11
+					model.duplicate("/root/reqData","/root/searchData/SHIP_COMP_NM");
+					model.duplicate("/root/reqData","/root/searchData/DLIV_TP");
+					
+					
+					//获得需要待装车的信息,也就是同一目的地同一客户的运输指示号对应的钢卷需要列出来
+					commSubmit("UIJ010041-service","findDlivDir","glueAction.do");
+					
+					commAppendData("/root/datagrid1/DLIVDIR_VO","/root/resData/DLIVDIR_VO");
+					commAppendData("/root/datagrid2/SHIPDIR_VO","/root/resData/SHIPDIR_VO");
+					
+					model.refresh();
+					
+					//这里查询出来的也是同一目的地,同一客户的待发货的运输指示号
+					//所以必须给出相应的排车顺序和琐定相应的选项,这里排车顺序暂时从上到下给出
+					//只能观看,不能进行相应的操作
+					//这里如果同一发货指示号下面的运输指示号没有全部发完的话,发货指示号的状态是不会改变的
+					//因此也就无法获得车厢数目,并且对汽车而言车厢顺序位置也是没有意义的
+					var nodeSet1 = datagrid1.nodeset;
+					for(var i=1;i<datagrid1.rows-1;i++){
+						//这里自加一行,因为datagrid1表头如果有两行的话会认为数据行从2开始
+						var row = i+1;
+						
+						//把选择项全部钩上,这里如果需要特殊的处理再修改
+						model.setValue(nodeSet1+"["+i+"]/CHK","Y");
+						//按从上到下的顺序给出排车顺序
+						//这里排车顺序可以从表里面读到
+						//model.setValue(nodeSet1+"["+i+"]/ALLOC_SEQ",i);
+						//model.refresh();
+						
+						//把选中行的可输入位置改为灰色
+						//datagrid1.isReadOnly(row,datagrid1.colRef("TRANS_CAR_NO")) = true;
+						//datagrid1.isReadOnly(row,datagrid1.colRef("ALLOC_SEQ")) = true;
+						datagrid1.isReadOnly(row,datagrid1.colRef("CHK")) = true;
+						//datagrid1.isReadOnly(row,datagrid1.colRef("LANE_TP")) = true;
+						//datagrid1.isReadOnly(row,datagrid1.colRef("ENTERANCE_SEQ")) = true;
+						
+						//根据实际的排车顺序情况,把排车顺序号带到车厢字段中
+						model.makeNode("/root/init/TRAIN_STEP_NO["+i+"]/LABEL");
+						model.makeNode("/root/init/TRAIN_STEP_NO["+i+"]/VALUE");
+						
+						model.setValue("/root/init/TRAIN_STEP_NO["+i+"]/LABEL",model.getValue(nodeSet1+"["+i+"]/ALLOC_SEQ"));
+						model.setValue("/root/init/TRAIN_STEP_NO["+i+"]/VALUE",model.getValue(nodeSet1+"["+i+"]/ALLOC_SEQ"));
+						//model.refresh();
+					}
+					model.refresh();
+					
+				]]>
+			</script>
+		</button>
+		<caption id="caption6" class="cell" visibility="hidden" style="left:460px; top:285px; width:90px; height:20px; font-weight:bold; text-align:center; border-color:#000000; border-style:solid; ">装车次数</caption>
+		<select1 id="combo4" ref="/root/searchData/LANE_TP" visibility="hidden" appearance="minimal" editmode="input" style="left:485px; top:285px; width:85px; height:20px; background-color:#ffff99; border-color:#000000; ">
+			<choices>
+				<item>
+					<label>A</label>
+					<value>A</value>
+				</item>
+				<item>
+					<label>B</label>
+					<value>B</value>
+				</item>
+			</choices>
+		</select1>
+		<caption id="caption8" class="cell" visibility="hidden" style="left:460px; top:285px; width:90px; height:20px; font-weight:bold; text-align:center; border-color:#000000; border-style:solid; ">入库道次</caption>
+		<input id="input3" ref="/root/searchData/ENTERANCE_SEQ" visibility="hidden" style="left:485px; top:285px; width:50px; height:20px; background-color:#ffff99; "/>
+		<button id="button5" style="left:630px; top:285px; width:105px; height:20px; background-image:../../images/btn_save.GIF; ">
+			<caption>待装车取消</caption>
+			<script type="javascript" ev:event="DOMActivate">
+				<![CDATA[
+					//清空发送接点
+					model.removenode("/root/reqData");
+					model.makeNode("/root/reqData");
+					
+					//判断发货指示时间是否为空
+					var fromDate = model.getValue("/root/searchData/fromDate");
+					var toDate = model.getValue("/root/searchData/toDate");
+					
+					
+					if(fromDate == ""){
+						alert(" 发货指示的开始时间不能为空,请选择相应的发货指示开始时间! ");
+						return;
+					}
+					if(toDate == ""){
+						alert(" 发货指示的结束时间不能为空,请选择相应的发货指示结束时间! ");
+						return;
+					}
+
+					//把相应的接点放入发送对象
+					//初始化页面,查询的发货指示状态为03排车待机和材料进度"SFA"
+					//这里取消待装车的操作与查询查询相同,不给出下面的钢卷明细信息
+					
+					var isUse = commComfirmBox("是否确认同一运输指示号(计划号)下的钢卷全部选择上?","提示");
+					
+					if(isUse == "0"){
+						//如果选择否的话,不进行相应操作
+						find();
+						return;
+					}
+					
+					var nodeSet2 = datagrid2.nodeset;
+					for(var i=0;i<=datagrid2.rows;i++){
+						datagrid2.rowStatus(i) = 3;
+					}
+					
+					commMultiUpdate(datagrid2,"/root/reqData","A",true,"rowStuts1");
+					
+					//获得需要待装车的信息,也就是同一目的地同一客户的运输指示号对应的钢卷需要列出来
+					commSubmit("UIJ010041-service","returnSHIPDIRCAR","glueAction.do");
+					
+					commAppendData("/root/datagrid1/DLIVDIR_VO","/root/resData/DLIVDIR_VO");
+					commAppendData("/root/datagrid2/SHIPDIR_VO","/root/resData/SHIPDIR_VO");
+					
+					model.refresh();
+					
+					find();
+					
+				]]>
+			</script>
+		</button>
+		<bool id="bool1" ref="/root/bool" style="left:5px; top:280px; width:25px; height:20px; ">
+			<script type="javascript" ev:event="onclick">
+				<![CDATA[
+					if(bool1.value == "false" || bool1.value == "FALSE"){
+						//这里选中的话,可以进行同合同号、同订单号下的钢卷的互换。
+						//这里必须确定要换的钢卷只选择了一个
+						var nodeSet2 = datagrid2.nodeset;
+						var ord_no = null;
+						var ord_seq = null;
+						var coil_no = null;
+						var coil_thk = null;
+						var coil_wth = null;
+						//同运送指示号下的钢卷不能选出,以免造成重复选择
+						var dliv_dirno = null;
+						
+						model.property("V_REG_ID") = "";
+						for(var i=0;i<datagrid2.rows;i++){
+							var chk = model.getValue(nodeSet2+"["+i+"]/CHK");
+							
+							while(chk == "Y"){
+								ord_no = model.getValue(nodeSet2+"["+i+"]/ORD_NO");
+								ord_seq = model.getValue(nodeSet2+"["+i+"]/ORD_SEQ");
+								coil_no = model.getValue(nodeSet2+"["+i+"]/OLD_SAMPL_NO");
+								dliv_dirno = model.getValue(nodeSet2+"["+i+"]/DLIV_DIRNO");
+								//这里取出钢卷重量,在换卷的时候给出对比
+								act_wgt = model.getValue(nodeSet2+"["+i+"]/ACT_WGT");
+								coil_thk = model.getValue(nodeSet2+"["+i+"]/COIL_THK");
+								coil_wth = model.getValue(nodeSet2+"["+i+"]/COIL_WTH");
+								
+								model.setValue("/root/COIL/ord_no",ord_no);
+								model.setValue("/root/COIL/ord_seq",ord_seq);
+								model.setValue("/root/COIL/coil_no",coil_no);
+								model.setValue("/root/dliv_dirno",dliv_dirno);
+								model.setValue("/root/COIL/ACT_WGT",act_wgt);
+								model.setValue("/root/COIL/COIL_THK",coil_thk);
+								model.setValue("/root/COIL/COIL_WTH",coil_wth);
+								
+								//需要获取用户信息,上传
+								model.property("V_REG_ID") = model.getValue("/root/initData/rcvInfo/REG_ID");
+								
+								var isUse = commComfirmBox("确认需要换卷的钢卷卷数唯一,并且与换上的卷具有相同的合同订单号?","提示");
+							
+								if(isUse == "0"){
+									//如果选择否的话,不进行相应操作
+									find();
+									bool1.value = "true";
+									return;
+								}
+								
+								window.load("UIJ_COIL_NO.xrw","modal","", "left:0; top:0; width:980; height:560; sysmenu:visible; min:visible; max:true; resize:true; caption:visible;");	
+								
+								//这里必须调一次待装车的方法
+								//清空发送接点
+								model.removenode("/root/reqData");
+								model.makeNode("/root/reqData");
+								
+								//清空datagrid1,datagrid2
+								model.removenode("/root/datagrid1");
+								model.makeNode("/root/datagrid1");
+								
+								//清空获得排车顺序的号的节点
+								model.removenode("/root/init/TRAIN_STEP_NO");
+								model.makeNode("/root/init/TRAIN_STEP_NO");
+								
+								//判断发货指示时间是否为空
+								var fromDate = model.getValue("/root/searchData/fromDate");
+								var toDate = model.getValue("/root/searchData/toDate");
+			//					var LANE_TP = model.getValue("/root/searchData/LANE_TP");
+			//					var ENTERANCE_SEQ = model.getValue("/root/searchData/ENTERANCE_SEQ");
+								
+								if(fromDate == ""){
+									//alert(" 发货指示的开始时间不能为空,请选择相应的发货指示开始时间! ");
+									return;
+								}
+								if(toDate == ""){
+									//alert(" 发货指示的结束时间不能为空,请选择相应的发货指示结束时间! ");
+									return;
+								}
+			//					if(LANE_TP == ""){
+			//						alert(" 火车入库道次不能为空,请选择相应的火车入库道次! ");
+			//						return;
+			//					}
+			//					if(ENTERANCE_SEQ == ""){
+			//						alert(" 装车次数不能为空,请输入相应的装车次数信息! ");
+			//						return;
+			//					}
+			
+								//把相应的接点放入发送对象
+								//初始化页面,查询的发货指示状态为03排车待机和材料进度"SFA"
+								model.setValue("/root/searchData/SHIP_PROG_CD","04");
+								model.duplicate("/root/reqData","/root/searchData/SHIP_PROG_CD");
+								model.duplicate("/root/reqData","/root/searchData/fromDate");
+								model.duplicate("/root/reqData","/root/searchData/toDate");
+								model.duplicate("/root/reqData","/root/searchData/SHIP_DIRNO");
+								//这里物料进度SFB
+								model.setValue("/root/searchData/CUR_PROG_CD","SFB");
+								//5
+								model.duplicate("/root/reqData","/root/searchData/CUR_PROG_CD");
+								model.duplicate("/root/reqData","/root/searchData/fromDate");
+								model.duplicate("/root/reqData","/root/searchData/toDate");
+								//汽运的情况直接给出汽运的标识
+								model.setValue("/root/searchData/DLIV_TP","C");
+								model.duplicate("/root/reqData","/root/searchData/DLIV_TP");
+								//这里汽运的情况不存在入库道次和装车次数的情况
+								model.setValue("/root/searchData/LANE_TP","");
+								model.duplicate("/root/reqData","/root/searchData/LANE_TP");
+								model.setValue("/root/searchData/ENTERANCE_SEQ","");
+								model.duplicate("/root/reqData","/root/searchData/ENTERANCE_SEQ");
+								//11
+								model.duplicate("/root/reqData","/root/searchData/SHIP_COMP_NM");
+								model.duplicate("/root/reqData","/root/searchData/DLIV_TP");
+								
+								
+								//获得需要待装车的信息,也就是同一目的地同一客户的运输指示号对应的钢卷需要列出来
+								commSubmit("UIJ010041-service","findDlivDir","glueAction.do");
+								
+								commAppendData("/root/datagrid1/DLIVDIR_VO","/root/resData/DLIVDIR_VO");
+								commAppendData("/root/datagrid2/SHIPDIR_VO","/root/resData/SHIPDIR_VO");
+								
+								model.refresh();
+								
+								//这里查询出来的也是同一目的地,同一客户的待发货的运输指示号
+								//所以必须给出相应的排车顺序和琐定相应的选项,这里排车顺序暂时从上到下给出
+								//只能观看,不能进行相应的操作
+								//这里如果同一发货指示号下面的运输指示号没有全部发完的话,发货指示号的状态是不会改变的
+								//因此也就无法获得车厢数目,并且对汽车而言车厢顺序位置也是没有意义的
+								var nodeSet1 = datagrid1.nodeset;
+								for(var i=1;i<datagrid1.rows-1;i++){
+									//这里自加一行,因为datagrid1表头如果有两行的话会认为数据行从2开始
+									var row = i+1;
+									
+									//把选择项全部钩上,这里如果需要特殊的处理再修改
+									model.setValue(nodeSet1+"["+i+"]/CHK","Y");
+									//按从上到下的顺序给出排车顺序
+									//这里排车顺序可以从表里面读到
+									//model.setValue(nodeSet1+"["+i+"]/ALLOC_SEQ",i);
+									//model.refresh();
+									
+									//把选中行的可输入位置改为灰色
+									//datagrid1.isReadOnly(row,datagrid1.colRef("TRANS_CAR_NO")) = true;
+									//datagrid1.isReadOnly(row,datagrid1.colRef("ALLOC_SEQ")) = true;
+									datagrid1.isReadOnly(row,datagrid1.colRef("CHK")) = true;
+									//datagrid1.isReadOnly(row,datagrid1.colRef("LANE_TP")) = true;
+									//datagrid1.isReadOnly(row,datagrid1.colRef("ENTERANCE_SEQ")) = true;
+									
+									//根据实际的排车顺序情况,把排车顺序号带到车厢字段中
+									model.makeNode("/root/init/TRAIN_STEP_NO["+i+"]/LABEL");
+									model.makeNode("/root/init/TRAIN_STEP_NO["+i+"]/VALUE");
+									
+									model.setValue("/root/init/TRAIN_STEP_NO["+i+"]/LABEL",model.getValue(nodeSet1+"["+i+"]/ALLOC_SEQ"));
+									model.setValue("/root/init/TRAIN_STEP_NO["+i+"]/VALUE",model.getValue(nodeSet1+"["+i+"]/ALLOC_SEQ"));
+									//model.refresh();
+								}
+								model.refresh();
+								//存在一个就跳出循环,只允许一个选中的钢卷进行替换
+								bool1.value = "true";
+								return;
+							}
+						}
+					}
+				]]>
+			</script>
+		</bool>
+		<caption id="caption3" style="left:35px; top:282px; width:125px; height:20px; ">同合同下的钢卷互换</caption>
+		<button id="button4" style="left:385px; top:285px; width:70px; height:20px; text-align:right; background-image:../../images/save.gif; ">
+			<caption>指定充当</caption>
+			<script type="javascript" ev:event="onclick">
+				<![CDATA[
+					//这里需要获取选中的行,来给出需要充当的合同
+					var nodeSet2 = datagrid2.nodeset;
+					var ord_no = null;
+					var ord_seq = null;
+					var coil_no = null;
+					var OLD_SAMPL_NO = null;
+					var SPEC_STL_GRD = null;
+					var COIL_THK = null;
+					var COIL_WTH = null;
+					var act_wgt = null;
+					
+					model.property("V_ORD_NO") = "";
+					model.property("V_ORD_SEQ") = "";
+					model.property("V_OLD_SAMPL_NO") = "";
+					model.property("V_SPEC_STL_GRD") = "";
+					model.property("V_COIL_THK") = "";
+					model.property("V_COIL_WTH") = "";
+					model.property("V_ACT_WGT") = "";
+					
+					//这里只取选中的第一行
+					for(var i=0;i<datagrid2.rows;i++){
+						var chk = model.getValue(nodeSet2+"["+i+"]/CHK");
+						
+						if(chk == "Y"){
+							ord_no = model.getValue(nodeSet2+"["+i+"]/ORD_NO");
+							ord_seq = model.getValue(nodeSet2+"["+i+"]/ORD_SEQ");
+							OLD_SAMPL_NO = model.getValue(nodeSet2+"["+i+"]/OLD_SAMPL_NO");
+							SPEC_STL_GRD = model.getValue(nodeSet2+"["+i+"]/SPEC_STL_GRD");
+							COIL_THK = model.getValue(nodeSet2+"["+i+"]/COIL_THK");
+							COIL_WTH = model.getValue(nodeSet2+"["+i+"]/COIL_WTH");
+							act_wgt = model.getValue(nodeSet2+"["+i+"]/ACT_WGT");
+							
+							model.property("V_ORD_NO") = ord_no;
+							model.property("V_ORD_SEQ") = ord_seq;
+							model.property("V_OLD_SAMPL_NO") = OLD_SAMPL_NO;
+							model.property("V_SPEC_STL_GRD") = SPEC_STL_GRD;
+							model.property("V_COIL_THK") = COIL_THK;
+							model.property("V_COIL_WTH") = COIL_WTH;
+							model.property("V_ACT_WGT") = act_wgt;
+							//需要获取用户信息,上传
+							model.property("V_REG_ID") = model.getValue("/root/initData/rcvInfo/REG_ID");
+							
+							model.refresh();		
+						}
+					}
+					
+					window.load("./UIJ031046.xrw","modal","", "left:228; top:120; width:700; height:450; sysmenu:visible; min:visible; max:true; resize:true; caption:visible;");				
+					
+					model.removenode("/root/reqData");
+					model.makeNode("/root/reqData");
+					
+					//清空datagrid1,datagrid2
+					model.removenode("/root/datagrid1");
+					model.makeNode("/root/datagrid1");
+					
+					//清空获得排车顺序的号的节点
+					model.removenode("/root/init/TRAIN_STEP_NO");
+					model.makeNode("/root/init/TRAIN_STEP_NO");
+					
+					//判断发货指示时间是否为空
+					var fromDate = model.getValue("/root/searchData/fromDate");
+					var toDate = model.getValue("/root/searchData/toDate");
+//					var LANE_TP = model.getValue("/root/searchData/LANE_TP");
+//					var ENTERANCE_SEQ = model.getValue("/root/searchData/ENTERANCE_SEQ");
+					
+					if(fromDate == ""){
+						//alert(" 发货指示的开始时间不能为空,请选择相应的发货指示开始时间! ");
+						return;
+					}
+					if(toDate == ""){
+						//alert(" 发货指示的结束时间不能为空,请选择相应的发货指示结束时间! ");
+						return;
+					}
+//					if(LANE_TP == ""){
+//						alert(" 火车入库道次不能为空,请选择相应的火车入库道次! ");
+//						return;
+//					}
+//					if(ENTERANCE_SEQ == ""){
+//						alert(" 装车次数不能为空,请输入相应的装车次数信息! ");
+//						return;
+//					}
+
+					//把相应的接点放入发送对象
+					//初始化页面,查询的发货指示状态为03排车待机和材料进度"SFA"
+					model.setValue("/root/searchData/SHIP_PROG_CD","04");
+					model.duplicate("/root/reqData","/root/searchData/SHIP_PROG_CD");
+					model.duplicate("/root/reqData","/root/searchData/fromDate");
+					model.duplicate("/root/reqData","/root/searchData/toDate");
+					model.duplicate("/root/reqData","/root/searchData/SHIP_DIRNO");
+					//这里物料进度SFB
+					model.setValue("/root/searchData/CUR_PROG_CD","SFB");
+					//5
+					model.duplicate("/root/reqData","/root/searchData/CUR_PROG_CD");
+					model.duplicate("/root/reqData","/root/searchData/fromDate");
+					model.duplicate("/root/reqData","/root/searchData/toDate");
+					//汽运的情况直接给出汽运的标识
+					model.setValue("/root/searchData/DLIV_TP","C");
+					model.duplicate("/root/reqData","/root/searchData/DLIV_TP");
+					//这里汽运的情况不存在入库道次和装车次数的情况
+					model.setValue("/root/searchData/LANE_TP","");
+					model.duplicate("/root/reqData","/root/searchData/LANE_TP");
+					model.setValue("/root/searchData/ENTERANCE_SEQ","");
+					model.duplicate("/root/reqData","/root/searchData/ENTERANCE_SEQ");
+					//11
+					model.duplicate("/root/reqData","/root/searchData/SHIP_COMP_NM");
+					model.duplicate("/root/reqData","/root/searchData/DLIV_TP");
+					
+					
+					//获得需要待装车的信息,也就是同一目的地同一客户的运输指示号对应的钢卷需要列出来
+					commSubmit("UIJ010041-service","findDlivDir","glueAction.do");
+					
+					commAppendData("/root/datagrid1/DLIVDIR_VO","/root/resData/DLIVDIR_VO");
+					commAppendData("/root/datagrid2/SHIPDIR_VO","/root/resData/SHIPDIR_VO");
+					
+					model.refresh();
+					
+					//这里查询出来的也是同一目的地,同一客户的待发货的运输指示号
+					//所以必须给出相应的排车顺序和琐定相应的选项,这里排车顺序暂时从上到下给出
+					//只能观看,不能进行相应的操作
+					//这里如果同一发货指示号下面的运输指示号没有全部发完的话,发货指示号的状态是不会改变的
+					//因此也就无法获得车厢数目,并且对汽车而言车厢顺序位置也是没有意义的
+					var nodeSet1 = datagrid1.nodeset;
+					for(var i=1;i<datagrid1.rows-1;i++){
+						//这里自加一行,因为datagrid1表头如果有两行的话会认为数据行从2开始
+						var row = i+1;
+						
+						//把选择项全部钩上,这里如果需要特殊的处理再修改
+						model.setValue(nodeSet1+"["+i+"]/CHK","Y");
+						//按从上到下的顺序给出排车顺序
+						//这里排车顺序可以从表里面读到
+						//model.setValue(nodeSet1+"["+i+"]/ALLOC_SEQ",i);
+						//model.refresh();
+						
+						//把选中行的可输入位置改为灰色
+						//datagrid1.isReadOnly(row,datagrid1.colRef("TRANS_CAR_NO")) = true;
+						//datagrid1.isReadOnly(row,datagrid1.colRef("ALLOC_SEQ")) = true;
+						datagrid1.isReadOnly(row,datagrid1.colRef("CHK")) = true;
+						//datagrid1.isReadOnly(row,datagrid1.colRef("LANE_TP")) = true;
+						//datagrid1.isReadOnly(row,datagrid1.colRef("ENTERANCE_SEQ")) = true;
+						
+						//根据实际的排车顺序情况,把排车顺序号带到车厢字段中
+						model.makeNode("/root/init/TRAIN_STEP_NO["+i+"]/LABEL");
+						model.makeNode("/root/init/TRAIN_STEP_NO["+i+"]/VALUE");
+						
+						model.setValue("/root/init/TRAIN_STEP_NO["+i+"]/LABEL",model.getValue(nodeSet1+"["+i+"]/ALLOC_SEQ"));
+						model.setValue("/root/init/TRAIN_STEP_NO["+i+"]/VALUE",model.getValue(nodeSet1+"["+i+"]/ALLOC_SEQ"));
+						//model.refresh();
+					}
+					model.refresh();
+					
+				]]>
+			</script>
+		</button>
+		<button id="button1" style="left:160px; top:280px; width:60px; height:25px; ">
+			<caption>排车计划</caption>
+			<script type="javascript" ev:event="onclick">
+				<![CDATA[
+					//到处于现场出库单一样的单据,便于找卷
+						var nodeSet2 = datagrid2.nodeset;
+						var ALLOC_SEQ = null;
+						var DEST_PCD_DESC = null;
+						var ORD_NM = null;
+						var ORD_NO = null;
+						var ORD_SEQ = null;
+						var OLD_SAMPL_NO = null;
+						var SPEC_STL_GRD = null;
+						var COIL_THK = null;
+						var COIL_WTH = null;
+						var ACT_WGT = null;
+						var TOT_DEC_GRD = null;
+						var CAR_NO = null;
+						var CUR_LOAD_LOC = null;
+						var rownum = 1;
+						for(var i=1;i<datagrid2.rows;i++){
+							var chk = model.getValue(nodeSet2+"["+i+"]/CHK");
+							
+							if(chk == "Y"){
+								rownum = rownum +1;
+								
+								model.makeNode("/root/datagrid3/FHMX["+rownum+"]/ALLOC_SEQ");
+								model.makeNode("/root/datagrid3/FHMX["+rownum+"]/DEST_PCD_DESC");
+								model.makeNode("/root/datagrid3/FHMX["+rownum+"]/ORD_NM");
+								model.makeNode("/root/datagrid3/FHMX["+rownum+"]/SPEC_STL_GRD");
+								model.makeNode("/root/datagrid3/FHMX["+rownum+"]/OLD_SAMPL_NO");
+								model.makeNode("/root/datagrid3/FHMX["+rownum+"]/T_W");
+								model.makeNode("/root/datagrid3/FHMX["+rownum+"]/ACT_WGT");
+								model.makeNode("/root/datagrid3/FHMX["+rownum+"]/TOT_DEC_GRD");
+								model.makeNode("/root/datagrid3/FHMX["+rownum+"]/CUR_LOAD_LOC");
+								model.makeNode("/root/datagrid3/FHMX["+rownum+"]/CAR_NO");
+								
+								ALLOC_SEQ = model.getValue(nodeSet2+"["+i+"]/ALLOC_SEQ");
+								DEST_PCD_DESC = model.getValue(nodeSet2+"["+i+"]/DEST_PCD_DESC");
+								ORD_NM    = model.getValue(nodeSet2+"["+i+"]/ORD_NM");
+								ORD_NO    = model.getValue(nodeSet2+"["+i+"]/ORD_NO");
+							    ORD_SEQ   = model.getValue(nodeSet2+"["+i+"]/ORD_SEQ");
+								OLD_SAMPL_NO = model.getValue(nodeSet2+"["+i+"]/OLD_SAMPL_NO");
+								SPEC_STL_GRD = model.getValue(nodeSet2+"["+i+"]/SPEC_STL_GRD");
+								COIL_THK   = model.getValue(nodeSet2+"["+i+"]/COIL_THK");
+								COIL_WTH   = model.getValue(nodeSet2+"["+i+"]/COIL_WTH");
+								ACT_WGT    = model.getValue(nodeSet2+"["+i+"]/ACT_WGT");
+								TOT_DEC_GRD = model.getValue(nodeSet2+"["+i+"]/TOT_DEC_GRD");
+								CAR_NO = model.getValue(nodeSet2+"["+i+"]/TRANS_CAR_NO");
+								CUR_LOAD_LOC = model.getValue(nodeSet2+"["+i+"]/CUR_LOAD_LOC");
+								
+								model.setValue("/root/datagrid3/FHMX["+rownum+"]/ALLOC_SEQ",ALLOC_SEQ);
+								model.setValue("/root/datagrid3/FHMX["+rownum+"]/DEST_PCD_DESC",DEST_PCD_DESC);
+								model.setValue("/root/datagrid3/FHMX["+rownum+"]/ORD_NM",ORD_NM);
+								model.setValue("/root/datagrid3/FHMX["+rownum+"]/SPEC_STL_GRD",SPEC_STL_GRD);
+								model.setValue("/root/datagrid3/FHMX["+rownum+"]/OLD_SAMPL_NO",OLD_SAMPL_NO);
+								model.setValue("/root/datagrid3/FHMX["+rownum+"]/T_W",COIL_THK+"*"+COIL_WTH);
+								model.setValue("/root/datagrid3/FHMX["+rownum+"]/ACT_WGT",Number(ACT_WGT/1000));
+								model.setValue("/root/datagrid3/FHMX["+rownum+"]/TOT_DEC_GRD",TOT_DEC_GRD);
+								model.setValue("/root/datagrid3/FHMX["+rownum+"]/CAR_NO",CAR_NO);
+								model.setValue("/root/datagrid3/FHMX["+rownum+"]/CUR_LOAD_LOC",CUR_LOAD_LOC);
+								
+								
+								
+								model.refresh();
+							}
+						}
+					model.setValue("/root/datagrid3/FHMX[1]/ALLOC_SEQ","序号");
+					model.setValue("/root/datagrid3/FHMX[1]/DEST_PCD_DESC","到站");
+					model.setValue("/root/datagrid3/FHMX[1]/ORD_NM","收货单位");
+					model.setValue("/root/datagrid3/FHMX[1]/SPEC_STL_GRD","钢种");
+					model.setValue("/root/datagrid3/FHMX[1]/OLD_SAMPL_NO","钢卷号");
+					model.setValue("/root/datagrid3/FHMX[1]/T_W","规格(厚*宽)MM");
+					model.setValue("/root/datagrid3/FHMX[1]/ACT_WGT","重量(T)");
+					model.setValue("/root/datagrid3/FHMX[1]/TOT_DEC_GRD","等级");
+					model.setValue("/root/datagrid3/FHMX[1]/CUR_LOAD_LOC","堆位");	
+					model.setValue("/root/datagrid3/FHMX[1]/CAR_NO","车号");
+					//导出EXCEL方法
+					saveExcelScript(datagrid3, "Sheet1");	
+					
+				]]>
+			</script>
+		</button>
+		<datagrid id="datagrid3" nodeset="/root/datagrid3/FHMX" visibility="hidden" caption="序号^到站^收货单位^钢种^钢卷号^规格^重量^等级^垛位^车号" colsep="^" colwidth="50, 70, 90, 90, 90, 76, 80, 66, 60, 90" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:200px; width:760px; height:180px; ">
+			<col ref="ALLOC_SEQ"/>
+			<col ref="DEST_PCD_DESC"/>
+			<col ref="ORD_NM"/>
+			<col ref="SPEC_STL_GRD"/>
+			<col ref="OLD_SAMPL_NO"/>
+			<col ref="T_W"/>
+			<col ref="ACT_WGT"/>
+			<col ref="TOT_DEC_GRD"/>
+			<col ref="CUR_LOAD_LOC"/>
+			<col ref="CAR_NO"/>
+		</datagrid>
+		<object id="ObjTFExcel" clsid="{fe8d1001-6a9d-424d-ae2a-301493bb12da}" style="left:655px; top:0px; width:120px; height:19px; "/>
+		<bool id="bool3" ref="/root/bool3" style="left:240px; top:280px; width:25px; height:20px; ">
+			<script type="javascript" ev:event="onclick">
+				<![CDATA[
+					if(bool3.value == "false" || bool3.value == "FALSE"){
+						//这里选中的话,可以进行同合同号、同订单号下的钢卷的互换。
+						//这里必须确定要换的钢卷只选择了一个
+						var nodeSet2 = datagrid2.nodeset;
+						var coil_no = null;
+						var spec_stl_grd = null;
+						
+						model.property("V_SPEC_STL_GRD") = "";
+						model.property("V_REG_ID") = "";
+						
+						for(var i=0;i<datagrid2.rows;i++){
+							var chk = model.getValue(nodeSet2+"["+i+"]/CHK");
+							
+							while(chk == "Y"){
+								coil_no = model.getValue(nodeSet2+"["+i+"]/OLD_SAMPL_NO");
+								spec_stl_grd = model.getValue(nodeSet2+"["+i+"]/SPEC_STL_GRD");
+								
+								model.setValue("/root/COIL/coil_no",coil_no);
+                              model.property("V_SPEC_STL_GRD") = spec_stl_grd;
+								
+								//需要获取用户信息,上传
+								model.property("V_REG_ID") = model.getValue("/root/initData/rcvInfo/REG_ID");
+								
+								var isUse = commComfirmBox("确认需要换卷的钢卷卷数唯一?","提示");
+							
+								if(isUse == "0"){
+									//如果选择否的话,不进行相应操作
+									bool3.value = "true";
+									return;
+								}
+								
+								window.load("UIJ_COIL_NO_HH.xrw","modal","", "left:0; top:0; width:650; height:500; sysmenu:visible; min:visible; max:true; resize:true; caption:visible;");	
+								
+								//这里必须调一次待装车的方法
+								//清空发送接点
+								model.removenode("/root/reqData");
+								model.makeNode("/root/reqData");
+								
+								//清空datagrid1,datagrid2
+								model.removenode("/root/datagrid1");
+								model.makeNode("/root/datagrid1");
+								
+								//清空获得排车顺序的号的节点
+								model.removenode("/root/init/TRAIN_STEP_NO");
+								model.makeNode("/root/init/TRAIN_STEP_NO");
+								
+								//判断发货指示时间是否为空
+								var fromDate = model.getValue("/root/searchData/fromDate");
+								var toDate = model.getValue("/root/searchData/toDate");
+			//					var LANE_TP = model.getValue("/root/searchData/LANE_TP");
+			//					var ENTERANCE_SEQ = model.getValue("/root/searchData/ENTERANCE_SEQ");
+								
+								if(fromDate == ""){
+									//alert(" 发货指示的开始时间不能为空,请选择相应的发货指示开始时间! ");
+									return;
+								}
+								if(toDate == ""){
+									//alert(" 发货指示的结束时间不能为空,请选择相应的发货指示结束时间! ");
+									return;
+								}
+			//					if(LANE_TP == ""){
+			//						alert(" 火车入库道次不能为空,请选择相应的火车入库道次! ");
+			//						return;
+			//					}
+			//					if(ENTERANCE_SEQ == ""){
+			//						alert(" 装车次数不能为空,请输入相应的装车次数信息! ");
+			//						return;
+			//					}
+			
+								//把相应的接点放入发送对象
+								//初始化页面,查询的发货指示状态为03排车待机和材料进度"SFA"
+								model.setValue("/root/searchData/SHIP_PROG_CD","04");
+								model.duplicate("/root/reqData","/root/searchData/SHIP_PROG_CD");
+								model.duplicate("/root/reqData","/root/searchData/fromDate");
+								model.duplicate("/root/reqData","/root/searchData/toDate");
+								model.duplicate("/root/reqData","/root/searchData/SHIP_DIRNO");
+								//这里物料进度SFB
+								model.setValue("/root/searchData/CUR_PROG_CD","SFB");
+								//5
+								model.duplicate("/root/reqData","/root/searchData/CUR_PROG_CD");
+								model.duplicate("/root/reqData","/root/searchData/fromDate");
+								model.duplicate("/root/reqData","/root/searchData/toDate");
+								//汽运的情况直接给出汽运的标识
+								model.setValue("/root/searchData/DLIV_TP","C");
+								model.duplicate("/root/reqData","/root/searchData/DLIV_TP");
+								//这里汽运的情况不存在入库道次和装车次数的情况
+								model.setValue("/root/searchData/LANE_TP","");
+								model.duplicate("/root/reqData","/root/searchData/LANE_TP");
+								model.setValue("/root/searchData/ENTERANCE_SEQ","");
+								model.duplicate("/root/reqData","/root/searchData/ENTERANCE_SEQ");
+								//11
+								model.duplicate("/root/reqData","/root/searchData/SHIP_COMP_NM");
+								model.duplicate("/root/reqData","/root/searchData/DLIV_TP");
+								
+								
+								//获得需要待装车的信息,也就是同一目的地同一客户的运输指示号对应的钢卷需要列出来
+								commSubmit("UIJ010041-service","findDlivDir","glueAction.do");
+								
+								commAppendData("/root/datagrid1/DLIVDIR_VO","/root/resData/DLIVDIR_VO");
+								commAppendData("/root/datagrid2/SHIPDIR_VO","/root/resData/SHIPDIR_VO");
+								
+								model.refresh();
+								
+								//这里查询出来的也是同一目的地,同一客户的待发货的运输指示号
+								//所以必须给出相应的排车顺序和琐定相应的选项,这里排车顺序暂时从上到下给出
+								//只能观看,不能进行相应的操作
+								//这里如果同一发货指示号下面的运输指示号没有全部发完的话,发货指示号的状态是不会改变的
+								//因此也就无法获得车厢数目,并且对汽车而言车厢顺序位置也是没有意义的
+								var nodeSet1 = datagrid1.nodeset;
+								for(var i=1;i<datagrid1.rows-1;i++){
+									//这里自加一行,因为datagrid1表头如果有两行的话会认为数据行从2开始
+									var row = i+1;
+									
+									//把选择项全部钩上,这里如果需要特殊的处理再修改
+									model.setValue(nodeSet1+"["+i+"]/CHK","Y");
+									//按从上到下的顺序给出排车顺序
+									//这里排车顺序可以从表里面读到
+									//model.setValue(nodeSet1+"["+i+"]/ALLOC_SEQ",i);
+									//model.refresh();
+									
+									//把选中行的可输入位置改为灰色
+									//datagrid1.isReadOnly(row,datagrid1.colRef("TRANS_CAR_NO")) = true;
+									//datagrid1.isReadOnly(row,datagrid1.colRef("ALLOC_SEQ")) = true;
+									datagrid1.isReadOnly(row,datagrid1.colRef("CHK")) = true;
+									//datagrid1.isReadOnly(row,datagrid1.colRef("LANE_TP")) = true;
+									//datagrid1.isReadOnly(row,datagrid1.colRef("ENTERANCE_SEQ")) = true;
+									
+									//根据实际的排车顺序情况,把排车顺序号带到车厢字段中
+									model.makeNode("/root/init/TRAIN_STEP_NO["+i+"]/LABEL");
+									model.makeNode("/root/init/TRAIN_STEP_NO["+i+"]/VALUE");
+									
+									model.setValue("/root/init/TRAIN_STEP_NO["+i+"]/LABEL",model.getValue(nodeSet1+"["+i+"]/ALLOC_SEQ"));
+									model.setValue("/root/init/TRAIN_STEP_NO["+i+"]/VALUE",model.getValue(nodeSet1+"["+i+"]/ALLOC_SEQ"));
+									//model.refresh();
+								}
+								model.refresh();
+								//存在一个就跳出循环,只允许一个选中的钢卷进行替换
+								bool1.value = "true";
+								return;
+							}
+						}
+					}
+				]]>
+			</script>
+		</bool>
+		<caption id="caption9" style="left:265px; top:275px; width:65px; height:32px; ">不同合同下钢卷互换</caption>
+		<datagrid id="datagrid4" nodeset="/root/datagrid4/DLIV_DIRNO_JH_RESULT_VO/DLIV_DIRNO_JH_RESULT_Row" caption="运输号^钢卷号^订单牌号^订单规格|运输号^钢卷号^订单牌号^订单规格" colsep="^" colwidth="51, 88, 100, 100" mergecellsfixedrows="bycolrec" rowsep="|" style="left:855px; top:305px; width:125px; height:315px; ">
+			<col ref="DLIV_NO"/>
+			<col ref="COIL_NO"/>
+			<col ref="COIL_STEEL"/>
+			<col ref="T_W"/>
+			<hint>
+				<![CDATA[这里是销售下车的原始卷信息,供排车计划员参考]]>
+			</hint>
+		</datagrid>
+		<caption id="caption10" class="cell" style="left:860px; top:285px; width:120px; height:20px; font-weight:bold; text-align:center; border-color:#000000; border-style:solid; ">
+			<![CDATA[下计划时候的钢卷]]>
+			<hint>
+				<![CDATA[通过双击钢卷信息框来获得销售下车的原始卷数据]]>
+			</hint>
+		</caption>
+		<button id="button2" visibility="hidden" style="left:560px; top:0px; width:25px; height:20px; ">
+			<caption>find</caption>
+			<script type="javascript" ev:event="onclick">
+				<![CDATA[
+				find();
+				]]>
+			</script>
+		</button>
+		<button id="button6" visibility="visible" style="left:585px; top:0px; width:65px; height:20px; font-weight:bold; text-align:center; background-color:#33cccc; border-color:#000000; border-style:solid; ">
+			<caption>获取车号</caption>
+			<script type="javascript" ev:event="onclick">
+				<![CDATA[
+				AutoGetcarNo();
+				]]>
+			</script>
+		</button>
+		<button id="button7" visibility="hidden" style="left:350px; top:0px; width:25px; height:20px; ">
+			<caption>SAVE</caption>
+			<script type="javascript" ev:event="onclick">
+				<![CDATA[
+				save();
+				]]>
+			</script>
+		</button>
+	</xhtml:body>
+</xhtml:html>

+ 106 - 0
.svn/pristine/00/0069aa51e5566c6b4ff2362b8a87cb7be77e59d1.svn-base

@@ -0,0 +1,106 @@
+package xin.glue.ui.B.B02;
+
+
+import java.sql.CallableStatement;
+
+import com.posdata.glue.biz.activity.PosActivity;
+import com.posdata.glue.biz.constants.PosBizControlConstants;
+import com.posdata.glue.context.PosContext;
+import com.posdata.glue.dao.PosGenericDao;
+import com.posdata.glue.dao.vo.PosParameter;
+
+
+/**
+ * 
+ * @Description  炉次号成分实绩修改或增加保存{界面ID:UIB020030}
+ * @author       梅贵平{meiguiping}
+ * @date         2009-1-5 下午09:37:38
+ * @JDK Version  jdk1.4.2
+ */
+public class SaveChargeAchievement extends PosActivity
+{
+
+	public String runActivity(PosContext context)
+	{
+		///ready
+		PosGenericDao	    dao	 =	this.getDao("mesdao");
+		CallableStatement	cstm =	null;
+		///获取请求参数
+		String[]REG_NM		=	(String[])context.get("REG_NM");
+
+		String[]CHARGE_NO	=	(String[])context.get("CHARGE_NO");//炉次号,插入时其作用
+		String[]PROC_CD		=	(String[])context.get("PROC_CD");//成分,插入时其作用
+		String[]CHEM_SEQ	=	(String[])context.get("CHEM_SEQ");//工序,插入时其作用
+		String[]CHEM_L2_PROC_CD=(String[])context.get("CHEM_L2_PROC_CD");//L2对应的工序代码
+		String[]MOD_RMK		=	(String[])context.get("MOD_RMK");//备注
+		
+		//表格2、3、4、5
+		String[]rowStuts2	=	(String[])context.get("rowStuts2");//对应表格2、3、4、5修改的信息
+		String[]CHEM_CD		=	(String[])context.get("CHEM_CD");//成分代码
+		String[]CHEM_VAL	=	(String[])context.get("CHEM_VAL");//实绩值
+		
+		String[]rowStuts1	=	(String[])context.get("rowStuts1");//针对datagrid1
+		String[]rowStatusD	=	(String[])context.get("rowStatusD");//删除
+		try
+		{
+			if(rowStuts2 != null)
+			{
+				int		len		=		rowStuts2.length;
+				cstm			=		dao.getCallableStatement("UIB020030_01.CALLSTATEMENT");
+				int		j		=		1;
+				
+				for(int i = 0; i < len; i++)
+				{
+					j	=	1;
+					cstm.setString(j++, CHARGE_NO[0]);
+					cstm.setString(j++, PROC_CD[0]);
+					cstm.setString(j++, CHEM_SEQ[0]);
+					cstm.setString(j++, CHEM_CD[i]);
+					cstm.setString(j++, CHEM_VAL[i]);
+					cstm.setString(j++, CHEM_L2_PROC_CD[0]);
+					cstm.setString(j++, REG_NM[0]);
+					cstm.setString(j++, MOD_RMK[0]);//备注
+					cstm.setString(j++, Integer.toString(i));
+					cstm.registerOutParameter(j++, java.sql.Types.VARCHAR);
+					cstm.execute();
+				}
+			}
+			else if(rowStatusD != null)
+			{
+				cstm			=		dao.getCallableStatement("UIB020030_02.CALLSTATEMENT");
+				cstm.setString(1, CHARGE_NO[0]);
+				cstm.setString(2, PROC_CD[0]);
+				cstm.setString(3, CHEM_SEQ[0]);
+				cstm.registerOutParameter(4, java.sql.Types.VARCHAR);
+				cstm.execute();
+			}
+			else if(rowStuts1 != null)
+			{
+//				if("u".equals(rowStuts1[0]))
+//				{
+//					PosParameter	param	=	new PosParameter();
+//					param.setWhereClauseParameter(0, CHEM_L2_PROC_CD)
+//				}
+			}
+		}catch(Exception ex)
+		{
+			ex.printStackTrace();
+		}
+		finally
+		{
+			try
+			{
+				if(cstm != null)
+				{
+					cstm.close();
+				}
+			}catch(Exception e)
+			{
+				e.printStackTrace();
+			}
+		}
+		
+		
+		return PosBizControlConstants.SUCCESS;
+	}
+}

BIN
.svn/pristine/00/006ca03e884c0a50061ad09b27ec89223ce7a7b8.svn-base


+ 81 - 0
.svn/pristine/00/00a60be5f8d9c6b5467d33b290b948bc3835bc83.svn-base

@@ -0,0 +1,81 @@
+package xin.glue.ui.J.J02;
+
+/*
+ * desc:为火运的与装车处理,垛位移到预装垛位。记录移垛历史信息
+ * author:唐亮 tangliang 
+ * date:2010-3-25
+ */
+
+import com.posdata.glue.biz.activity.PosActivity;
+import com.posdata.glue.biz.constants.PosBizControlConstants;
+import com.posdata.glue.context.PosContext;
+import com.posdata.glue.dao.vo.PosParameter;
+import com.posdata.glue.dao.vo.PosRow;
+import com.posdata.glue.dao.vo.PosRowSet;
+
+public class saveYZCoil extends PosActivity{
+	public String runActivity(PosContext context)
+	{
+		//获取行状态
+		String[] rowStatus = (String[]) context.get("rowStatus");
+		String[] CHK = (String[]) context.get("CHK");
+		//卷号
+		String[] OLD_SAMPL_NO = (String[]) context.get("OLD_SAMPL_NO");
+		//现在位置
+		String[] CUR_LOAD_LOC = (String[]) context.get("CUR_LOAD_LOC");
+		String[] REG_ID = (String[]) context.get("REG_ID");
+		
+		for (int i = 0; i < rowStatus.length; i++){
+			if(CHK[i] != null && CHK[i].equals("Y")){
+				//清除公共表信息,把正式垛位改为预装垛位
+				PosParameter param = new PosParameter();
+				param.setWhereClauseParameter(0,OLD_SAMPL_NO[i]);
+				
+				this.getDao("mesdao").update("FAHUO00_03.select", param);
+				
+				//清除垛位表信息 
+				PosParameter param1 = new PosParameter();
+				param1.setWhereClauseParameter(0,OLD_SAMPL_NO[i]);
+				
+				this.getDao("mesdao").update("FAHUO00_04.select", param1);
+				
+				Number SEQ = null;
+				int SEQ_1 = 0;
+//					记录库存移动的情况
+				PosParameter param11 = new PosParameter();
+				
+				PosRowSet rows11 = getDao("mesdao").find("UIH050700_05.select", param11);
+				
+				if(rows11.hasNext()){
+					PosRow row11 = rows11.next();
+					
+					SEQ = (Number) row11.getAttribute("ROLL_SEQ");
+					
+					if(null == SEQ){
+						SEQ_1 = 1;
+					}else{
+						SEQ_1 = SEQ.intValue()+1;
+					}
+					
+					//取出主键后,更新移动表
+					PosParameter param4 = new PosParameter();
+					
+					param4.setValueParamter(0, new Integer(SEQ_1));
+					param4.setValueParamter(1, CUR_LOAD_LOC[i]);
+					param4.setValueParamter(2, "YZ");
+					param4.setValueParamter(3, OLD_SAMPL_NO[i]);
+					param4.setValueParamter(4, "");
+					param4.setValueParamter(5, "");
+					param4.setValueParamter(6, "");
+					param4.setValueParamter(7, "");
+					param4.setValueParamter(8, REG_ID[0]);
+					
+					getDao("mesdao").insert("UIH050700_01.insert", param4);
+
+				}
+			}
+		}
+		return PosBizControlConstants.SUCCESS;
+	}
+
+}

+ 111 - 0
.svn/pristine/00/00bc1953ed3c8dcf58eb7d0ae2797307a61741f9.svn-base

@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding='UTF-8'?>
+<queryMap desc="STEEL MAKING QUERY ">
+	<query id="UIH052200_01.select" desc=" 查询已打印发货明细的卷 ">
+        <![CDATA[
+			SELECT A.OLD_SAMPL_NO
+       			   ,A.DLIV_DIRNO
+				   ,A.SHIP_DIRNO
+				   ,A.SHIP_INVNO
+				   ,A.CUR_PROG_CD
+				   ,A.COIL_STAT
+				   ,A.SHIP_PROG_CD
+				   ,A.TRNF_DTIME
+				   ,DECODE(C.DLIV_TP,'C','汽运','T','火运') DLIV_TP 
+				   ,A.TRANS_CAR_NO
+				   ,A.TRNF_REG
+				   ,A.ORD_NO
+				   ,A.ORD_SEQ
+				   ,DECODE(A.TRNF_SHIFT,'1','早','2','中','3','晚') TRNF_SHIFT
+				   ,DECODE(A.TRNF_GROUP,'A','甲','B','乙','C','丙','D','丁') TRNF_GROUP
+				   ,A.TRNF_USE_TIME
+				   ,(select CUST_NM FROM TBZ00_CUSTOMER WHERE CUST_CD = (SELECT CUST_CD FROM TBA01_ORD_COMM WHERE ORD_NO = A.ORD_NO) and REC_TP='01') CUST_NM  
+				   ,(select CUST_NM ORD_NM FROM TBZ00_CUSTOMER WHERE CUST_CD = C.ORD_CUST_CD and REC_TP='02') ORD_NM
+				   ,(SELECT A.SM_CFNM FROM TBZ00_COMMCD A WHERE A.LG_CD = 'A01009' AND A.SM_CD = C.DEST_PCD) DEST_PCD_DESC
+				   FROM TBH02_COIL_COMM A,TBJ01_DLIV_DIR C 
+				   WHERE A.DLIV_DIRNO = C.DLIV_DIRNO 
+						 AND A.DLIV_DIRNO = :1 
+						 AND A.COIL_STAT = '3' 
+						 AND A.CUR_PROG_CD = 'SFF'
+						 AND A.SHIP_PROG_CD = '08'
+						 AND A.TRNF_DTIME IS NOT NULL
+		]]>
+    </query>
+	<query id="UIH052200_02.select" desc=" 查询结算是否接收 ">
+        <![CDATA[
+			select A.ISCHANGEWGT from TBJ02_COIL_COMM A WHERE A.DLIV_DIRNO = :1
+		]]>
+    </query>
+	<query id="UIH052200_03.select" desc=" 查询没有车号的发货明细的卷 ">
+        <![CDATA[
+			SELECT A.OLD_SAMPL_NO
+       			   ,A.DLIV_DIRNO
+				   ,A.SHIP_DIRNO
+				   ,A.SHIP_INVNO
+				   ,A.CUR_PROG_CD
+				   ,A.COIL_STAT
+				   ,A.SHIP_PROG_CD
+				   ,A.TRNF_DTIME
+				   ,DECODE(C.DLIV_TP,'C','汽运','T','火运') DLIV_TP 
+				   ,A.TRANS_CAR_NO
+				   ,A.TRNF_REG
+				   ,A.ORD_NO
+				   ,A.ORD_SEQ
+				   ,DECODE(A.TRNF_SHIFT,'1','早','2','中','3','晚') TRNF_SHIFT
+				   ,DECODE(A.TRNF_GROUP,'A','甲','B','乙','C','丙','D','丁') TRNF_GROUP
+				   ,A.TRNF_USE_TIME
+				   ,(select CUST_NM FROM TBZ00_CUSTOMER WHERE CUST_CD = (SELECT CUST_CD FROM TBA01_ORD_COMM WHERE ORD_NO = A.ORD_NO) and REC_TP='01') CUST_NM  
+				   ,(select CUST_NM ORD_NM FROM TBZ00_CUSTOMER WHERE CUST_CD = C.ORD_CUST_CD and REC_TP='02') ORD_NM
+				   ,(SELECT A.SM_CFNM FROM TBZ00_COMMCD A WHERE A.LG_CD = 'A01009' AND A.SM_CD = C.DEST_PCD) DEST_PCD_DESC
+				   FROM TBH02_COIL_COMM A,TBJ01_DLIV_DIR C 
+				   WHERE A.DLIV_DIRNO = C.DLIV_DIRNO 
+						 AND A.DLIV_DIRNO = :1 
+						 AND A.COIL_STAT = '3' 
+						 AND A.CUR_PROG_CD = 'SFF'
+						 AND A.SHIP_PROG_CD = '03'
+						 AND A.TRNF_DTIME IS NOT NULL
+		]]>
+    </query>
+	<query id="UIH052200_COIL_COMM.UPDATE" desc=" 更新钢卷公共表 ">
+        <![CDATA[
+			UPDATE TBH02_COIL_COMM A SET 
+      			    A.COIL_STAT = '2'
+				   ,A.CUR_PROG_CD = 'SFB'
+				   ,A.SHIP_PROG_CD = '03'
+				   ,A.TRNF_DTIME = ''
+				   ,A.TRANS_CAR_NO = ''
+				   ,A.TRNF_REG = ''
+				   ,A.TRNF_SHIFT = ''
+				   ,A.TRNF_GROUP = ''
+				   ,A.TRNF_USE_TIME = ''
+				   ,A.BEF_SHIP_INVNO = A.SHIP_INVNO
+				   ,A.BEF_CRET_NO = A.CRET_NO
+				   ,A.RETURN_SHIP_REG = :1
+				   ,A.RETURN_SHIP_DTIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')
+				   
+				   WHERE A.DLIV_DIRNO = :2
+		]]>
+    </query>
+	<query id="UIH052200_DLIV_DIR.UPDATE" desc=" 更新发运表 ">
+        <![CDATA[
+			UPDATE TBJ01_DLIV_DIR A SET 
+         		   A.LANE_TP = ''
+				   ,A.ENTERANCE_SEQ = ''
+				   ,A.ALLOC_SEQ = ''
+				   ,a.TRANS_CAR_NO = ''
+				   WHERE A.DLIV_DIRNO = :1
+		]]>
+    </query>
+	<query id="UIH052200_SHIP_DIR.UPDATE" desc=" 更新运送表 ">
+        <![CDATA[
+			UPDATE TBJ01_SHIP_DIR A SET 
+       				A.SHIP_PROG_CD = '03'
+					   
+					WHERE A.SHIP_DIRNO = (SELECT T.SHIP_DIRNO FROM TBJ01_DLIV_DIR T WHERE T.DLIV_DIRNO = :1)
+		]]>
+    </query>
+	<query id="UIH052200_J02_COMM.UPDATE" desc=" 更新结算公共表 ">
+        <![CDATA[
+			DELETE TBJ02_COIL_COMM A WHERE A.DLIV_DIRNO = :1 AND A.ISCHANGEWGT = '1'
+		]]>
+    </query>
+</queryMap>

+ 63 - 0
.svn/pristine/00/00c44ac8c4b4eadd15531b1eff74d899e5fc651d.svn-base

@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Glue:GlueDiagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Glue="http://www.glueframework.com/activitydiagram/" id="2" location="20,20" size="100,100">
+  <child xsi:type="Glue:Activity" id="2241" location="156,54" size="295,-1" input="//@wire.0" output="//@wire.1" name="SetResultKeyList">
+    <property key="ResultKeyList" value="MESSAGES|SLAB_DETAIL_INFO|SLAB_NO_INIT_RES"/>
+    <property key="class" value="com.posdata.glue.biz.trustform.PosSetResultKeyList"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:RouterActivity" id="2246" location="40,124" size="713,-1" input="//@wire.1" output="//@wire.2 //@wire.4 //@wire.6 //@wire.8 //@wire.10" name="Router2246">
+    <property key="class" value="com.posdata.glue.biz.activity.PosDefaultRouter"/>
+  </child>
+  <child xsi:type="Glue:SearchActivity" id="2258" location="232,198" size="124,-1" input="//@wire.2" output="//@wire.3" name="SearchSlabInfo">
+    <property key="sqlkey" value="UIG040061_SLAB_INFO.select"/>
+    <property key="resultkey" value="SLAB_DETAIL_INFO"/>
+    <property key="dao" value="mesdao"/>
+    <property key="param0" value="SLAB_NO"/>
+    <property key="param1" value="A0_YN"/>
+    <property key="param2" value="C0_YN"/>
+    <property key="param3" value="SLAB_STAT"/>
+    <property key="param4" value="IGR_LAG_FROM_DTIME"/>
+    <property key="class" value="com.posdata.glue.biz.activity.PosSearch"/>
+    <property key="param5" value="IGR_LAG_TO_DTIME"/>
+    <property key="param6" value="CUT_LAG_FROM_DTIME"/>
+    <property key="param7" value="CUT_LAG_TO_DTIME"/>
+    <property key="param-count" value="8"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:InitialState" id="2263" location="281,23" size="-1,-1" output="//@wire.0"/>
+  <child xsi:type="Glue:FinalState" id="2266" location="282,295" size="-1,-1" input="//@wire.3 //@wire.5 //@wire.7 //@wire.9 //@wire.11"/>
+  <child xsi:type="Glue:Activity" id="2271" location="389,204" size="132,-1" input="//@wire.4" output="//@wire.5" name="ComplusMove">
+    <property key="class" value="xin.glue.ui.G.G04.XINComplusMove"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:SearchActivity" id="2272" location="89,203" size="87,-1" input="//@wire.6" output="//@wire.7" name="Search2272">
+    <property key="class" value="com.posdata.glue.biz.activity.PosSearch"/>
+    <property key="resultkey" value="SLAB_NO_INIT_RES"/>
+    <property key="dao" value="mesdao"/>
+    <property key="sqlkey" value="UIG040061_SLAB_NO_INIT.select"/>
+    <property key="param-count" value="0"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:Activity" id="2282" location="520,235" size="132,-1" input="//@wire.8" output="//@wire.9" name="SaveRemarks">
+    <property key="class" value="xin.glue.ui.G.G04.XINSaveRemarks"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:Activity" id="2284" location="664,280" size="128,-1" input="//@wire.10" output="//@wire.11" name="AskStockInfo">
+    <property key="class" value="xin.glue.ui.G.G04.XINSaveAskStock"/>
+    <property key="description" value=""/>
+  </child>
+  <property key="tx1" value="true"/>
+  <property key="description" value=""/>
+  <wire id="707" guardcondition="success" firstRelativePoint="295,41" lastRelativePoint="295,54"/>
+  <wire id="708" guardcondition="success" firstRelativePoint="289,84" lastRelativePoint="289,124"/>
+  <wire id="709" guardcondition="find" firstRelativePoint="292,228" lastRelativePoint="292,294"/>
+  <wire id="710" guardcondition="success" firstRelativePoint="292,228" lastRelativePoint="292,294"/>
+  <wire id="711" guardcondition="move" firstRelativePoint="404,234" lastRelativePoint="292,294"/>
+  <wire id="712" guardcondition="success" firstRelativePoint="404,234" lastRelativePoint="292,294"/>
+  <wire id="713" guardcondition="init" firstRelativePoint="161,233" lastRelativePoint="292,294"/>
+  <wire id="714" guardcondition="success" firstRelativePoint="161,233" lastRelativePoint="292,294"/>
+  <wire id="715" guardcondition="save" firstRelativePoint="523,259" lastRelativePoint="292,294"/>
+  <wire id="716" guardcondition="success" firstRelativePoint="523,259" lastRelativePoint="292,294"/>
+  <wire id="717" guardcondition="askstock" firstRelativePoint="738,154" lastRelativePoint="717,202"/>
+  <wire id="718" guardcondition="success" firstRelativePoint="665,299" lastRelativePoint="292,294"/>
+</Glue:GlueDiagram>

+ 23 - 0
.svn/pristine/01/0108a652330b59d4ba9c245c22dfb2f466d93032.svn-base

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding='UTF-8'?>
+<queryMap desc="STEEL MAKING QUERY ">
+	<query id="UIH090010_01.select" desc=" 成品出库班报表 " fetchSize="10">
+		<![CDATA[
+			select ROWNUM,
+       a.SHIP_INVNO,
+       a.TRANS_CAR_NO,
+       a.STL_GRD,
+       a.OLD_SAMPL_NO,
+       a.TOT_DEC_GRD,
+       a.COIL_THK||'*'||a.COIL_WTH COIL_SPEC,
+       a.ACT_WGT,
+       '' REG_ID,
+       '' REM
+          from tbh02_coil_comm a,tbj01_dliv_dir b
+       where a.DLIV_DIRNO = b.DLIV_DIRNO
+             and a.SHIP_PROG_CD = '08'
+			 --这里下面两个条件是否需要,收货单位、出库人、备注、出库班次、组、未定
+			 -- and a.CUR_PROG_CD = 'SFF'
+             --AND A.COIL_STAT = '3'
+		]]>
+	</query>
+</queryMap>

BIN
.svn/pristine/01/0114d1a2d6f58103a313954169458d61d88ca15f.svn-base


+ 52 - 0
.svn/pristine/01/012924f67662a72af8fc521139f37b6aeefbd7e1.svn-base

@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Glue:GlueDiagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Glue="http://www.glueframework.com/activitydiagram/" id="0" location="20,20" size="100,100">
+  <child xsi:type="Glue:InitialState" id="391" location="332,9" size="-1,-1" output="//@wire.0"/>
+  <child xsi:type="Glue:FinalState" id="392" location="332,427" size="-1,-1" input="//@wire.3 //@wire.5 //@wire.7"/>
+  <child xsi:type="Glue:Activity" id="393" location="210,55" size="270,-1" input="//@wire.0" output="//@wire.1" name="RESULTLIST">
+    <property key="ResultKeyList" value="QltyResult|QltyNM|SpecStlGrdResult"/>
+    <property key="class" value="com.posdata.glue.biz.trustform.PosSetResultKeyList"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:Activity" id="394" location="207,111" size="273,-1" input="//@wire.1" output="//@wire.2" name="INITPARAM">
+    <property key="sqlkey1" value="UIB010120_02.INITSELECT"/>
+    <property key="dao" value="mesdao"/>
+    <property key="param0" value="null"/>
+    <property key="param1" value="null"/>
+    <property key="class" value="xin.glue.ui.B.B01.InitParamManager"/>
+    <property key="initResult" value="CustCD|SpecAbbsym"/>
+    <property key="param-count" value="2"/>
+    <property key="sqlkey0" value="UIB010120_01.INITSELECT"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:RouterActivity" id="395" location="135,181" size="412,-1" input="//@wire.2" output="//@wire.3 //@wire.4 //@wire.6" name="ROUTER">
+    <property key="class" value="com.posdata.glue.biz.activity.PosDefaultRouter"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:Activity" id="403" location="258,276" size="162,-1" input="//@wire.4" output="//@wire.5" name="FIND_QLTY">
+    <property key="class" value="xin.glue.ui.B.B01.FindQltyState"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:SearchActivity" id="5062" location="445,272" size="72,-1" input="//@wire.6" output="//@wire.7" name="FINDSPECSTLGRD">
+    <property key="sqlkey" value="UIB010120_03.INITSELECT"/>
+    <property key="resultkey" value="SpecStlGrdResult"/>
+    <property key="dao" value="mesdao"/>
+    <property key="param0" value="spec"/>
+    <property key="class" value="com.posdata.glue.biz.activity.PosSearch"/>
+    <property key="param-count" value="1"/>
+    <property key="description" value=""/>
+  </child>
+  <property key="tx1" value="true"/>
+  <property key="description" value=""/>
+  <wire id="254" guardcondition="success" firstRelativePoint="342,28" lastRelativePoint="342,55">
+    <bendpoint weight="0.5" firstDimension="0,24" secondDimension="-3,-27"/>
+  </wire>
+  <wire id="306" guardcondition="success" firstRelativePoint="338,85" lastRelativePoint="338,111"/>
+  <wire id="307" guardcondition="success" firstRelativePoint="341,141" lastRelativePoint="341,170"/>
+  <wire id="352" guardcondition="success" firstRelativePoint="168,211" lastRelativePoint="331,436">
+    <bendpoint weight="0.5" firstDimension="-173,240" secondDimension="-174,-1"/>
+  </wire>
+  <wire id="355" guardcondition="find" firstRelativePoint="342,306" lastRelativePoint="342,426"/>
+  <wire id="356" guardcondition="success" firstRelativePoint="342,306" lastRelativePoint="342,426"/>
+  <wire id="818" guardcondition="findS" firstRelativePoint="460,302" lastRelativePoint="342,426"/>
+  <wire id="819" guardcondition="success" firstRelativePoint="460,302" lastRelativePoint="342,426"/>
+</Glue:GlueDiagram>

+ 764 - 0
.svn/pristine/01/012d6687d7a13a357332b136247621147dfc3bbb.svn-base

@@ -0,0 +1,764 @@
+<?xml version="1.0" encoding='UTF-8'?>
+<queryMap desc="STEEL MAKING PROGRESS MONITORING  ">
+  <query id="UIG040070_01.select" desc=" ">
+	   <![CDATA[
+	 SELECT '' CHK,SLAB_NO,STL_GRD,CORRECT_YN,CORRECT_RSLT_CD,SF_METHOD,SLAB_THK,SLAB_WTH,SLAB_LEN,SLAB_WGT
+       FROM TBG02_SLAB_COMM
+      WHERE CUR_LOAD_LOC LIKE 'L%'   /* 当前堆放位置*/
+       AND  CORRECT_RSLT_CD = '1'     /* 精整区分 */
+       AND  CORRECT_YN IS NULL 
+	   AND  MATRL_END_CAUSE_CD IS NULL
+	   
+        ]]> 
+  </query>
+  <query id="UIG040070_05.select" desc=" ">
+	   <![CDATA[
+	 SELECT '' CHK
+            ,SLAB_NO
+            ,STL_GRD
+            ,CORRECT_YN
+            ,CORRECT_RSLT_CD
+            ,SF_METHOD
+            ,SLAB_THK
+            ,SLAB_WTH
+            ,SLAB_LEN
+            ,SLAB_WGT
+            ,CUR_LOAD_LOC
+     FROM TBG02_SLAB_COMM A
+     WHERE A.SLAB_NO LIKE nvl(?,'J12-0')||'%'
+     AND A.SLAB_STAT = '2'
+     --AND A.CUR_PROG_CD = 'RAB'
+	   
+        ]]> 
+  </query>
+  <query id="UIG040070_06.select" desc=" ">
+	   <![CDATA[
+	 		SELECT '母坯' CLF
+			       ,T1.SLAB_NO
+			       ,T1.SLAB_THK
+			       ,T1.SLAB_WTH
+			       ,T1.SLAB_LEN
+			       ,T1.SLAB_WGT
+			       ,T1.SLAB_SIZE_DEC_GRD
+			       ,T1.CUR_LOAD_LOC
+			       ,(SELECT MAX(SUBSTR(T2.SLAB_NO,13,1)) FROM TBG02_SLAB_COMM T2 WHERE SUBSTR(T2.SLAB_NO,1,12) = SUBSTR(T1.SLAB_NO,1,12)) MAX_SEQ
+			FROM tbg02_slab_comm t1
+			WHERE T1.SLAB_NO = :1 
+        ]]> 
+  </query>
+  <query id="UIG040070_02.select" desc=" ">
+	   <![CDATA[
+   			SELECT '母坯' LBEL ,B.SLAB_NO,'00' SLAB_CUT_SEQ,B.SLAB_THK,B.SLAB_WTH,B.SLAB_LEN  
+		      FROM TBG02_SLAB_COMM B
+		    WHERE B.SLAB_NO = :1 
+		    AND   B.SLAB_RT = 'H'
+			UNION ALL
+			SELECT '子坯' LBEL ,B.SLAB_NO,A.SLAB_CUT_SEQ,A.SLAB_THK,A.SLAB_WTH,A.SLAB_LEN  
+			      FROM TBG02_SLAB_COMM_D A
+			           ,TBG02_SLAB_COMM B
+			    WHERE B.SLAB_NO = :2 
+			    AND   B.SUB_SLAB_NO = A.SLAB_NO
+			    AND   B.SLAB_RT = 'H'    
+			UNION ALL
+			
+			SELECT '母坯' LBEL ,T1.SLAB_NO,'00' SLAB_CUT_SEQ,T2.SLAB_THK,T2.SLAB_WTH,T2.SLAB_LEN
+			
+			FROM TBG02_SLAB_COMM T1
+			     ,TBD01_SLABDN_OBJ2 T2   
+			WHERE T1.DSN_SLAB_NO = T2.DSN_SLAB_NO
+			AND   T1.SLAB_RT IN ('Z','P')
+			AND   T1.SLAB_NO = :3
+			
+			
+			UNION ALL
+			
+			SELECT LBEL
+			       ,SUBSTR(SLAB_NO,1,12)||(SUBSTR(SLAB_NO,13,1)+SLAB_CUT_SEQ)
+			       ,LPAD(SLAB_CUT_SEQ,2,0) SLAB_CUT_SEQ
+			       ,SLAB_THK,SLAB_WTH,SLAB_LEN
+			FROM (       
+			  SELECT '子坯' LBEL 
+			         ,SUBSTR(T1.SLAB_NO,1,12)||(SELECT MAX(SUBSTR(SLAB_NO,13,1)) FROM TBG02_SLAB_COMM WHERE SUBSTR(SLAB_NO,1,12)  = SUBSTR(T1.SLAB_NO,1,12)) SLAB_NO
+			         ,DENSE_RANK() over (order by T3.SUB_DSN_SLAB_NO) SLAB_CUT_SEQ
+			         ,T3.SLAB_THK,T3.SLAB_WTH,T3.SLAB_LEN
+			
+			  FROM TBG02_SLAB_COMM T1
+			       ,TBD01_SLABDN_OBJ2 T2
+			       ,TBD01_SLABDN_OBJ2_DETAIL T3     
+			  WHERE T1.DSN_SLAB_NO = T2.DSN_SLAB_NO
+			  AND   T1.DSN_SLAB_NO = T3.DSN_SLAB_NO
+			  AND   T1.SLAB_RT IN ('Z','P')
+			  AND   T1.SLAB_NO = :4
+			)
+        ]]> 
+  </query>
+  <query id="UIG040070_03.select" desc=" ">
+	   <![CDATA[
+		SELECT '母坯' CLF ,B.SLAB_NO,'00' SLAB_CUT_SEQ,B.SLAB_THK,B.SLAB_WTH,B.SLAB_LEN,B.CUR_LOAD_LOC,B.SLAB_SIZE_DEC_GRD,B.SLAB_WGT,'' ORL_LOAD_LOC,'' DSN_SLAB_NO,'' SUB_DSN_SLAB_NO    
+	      FROM TBG02_SLAB_COMM B
+	    WHERE B.SLAB_NO = :1 
+	    AND   B.SLAB_RT = 'H'
+		UNION ALL
+		SELECT '子坯' CLF ,B.SLAB_NO,A.SLAB_CUT_SEQ,A.SLAB_THK,A.SLAB_WTH,A.SLAB_LEN,'' CUR_LOAD_LOC,'' SLAB_SIZE_DEC_GRD,0 SLAB_WGT,B.CUR_LOAD_LOC ORL_LOAD_LOC,'' DSN_SLAB_NO,'' SUB_DSN_SLAB_NO   
+		      FROM TBG02_SLAB_COMM_D A
+		           ,TBG02_SLAB_COMM B
+		    WHERE B.SLAB_NO = :2 
+		    AND   B.SUB_SLAB_NO = A.SLAB_NO
+		    AND   B.SLAB_RT = 'H'    
+		UNION ALL
+		
+		SELECT '母坯' CLF ,T1.SLAB_NO,'00' SLAB_CUT_SEQ,T2.SLAB_THK,T2.SLAB_WTH,T2.SLAB_LEN,T1.CUR_LOAD_LOC,T1.SLAB_SIZE_DEC_GRD,T1.SLAB_WGT,'' ORL_LOAD_LOC,t2.DSN_SLAB_NO,'' SUB_DSN_SLAB_NO
+		
+		FROM TBG02_SLAB_COMM T1
+		     ,TBD01_SLABDN_OBJ2 T2   
+		WHERE T1.DSN_SLAB_NO = T2.DSN_SLAB_NO
+		AND   T1.SLAB_RT IN ('Z','P')
+		AND   T1.SLAB_NO = :3
+		
+		
+		UNION ALL
+		
+		SELECT CLF
+		       ,SUBSTR(SLAB_NO,1,12)||(SUBSTR(SLAB_NO,13,1)+SLAB_CUT_SEQ)
+		       ,LPAD(SLAB_CUT_SEQ,2,0) SLAB_CUT_SEQ
+		       ,SLAB_THK,SLAB_WTH,SLAB_LEN,CUR_LOAD_LOC,SLAB_SIZE_DEC_GRD,SLAB_WGT,ORL_LOAD_LOC,DSN_SLAB_NO,SUB_DSN_SLAB_NO
+		FROM (       
+		  SELECT '子坯' CLF 
+		         ,SUBSTR(T1.SLAB_NO,1,12)||(SELECT MAX(SUBSTR(SLAB_NO,13,1)) FROM TBG02_SLAB_COMM WHERE SUBSTR(SLAB_NO,1,12)  = SUBSTR(T1.SLAB_NO,1,12)) SLAB_NO
+		         ,DENSE_RANK() over (order by T3.SUB_DSN_SLAB_NO) SLAB_CUT_SEQ
+		         ,T3.SLAB_THK,T3.SLAB_WTH,T3.SLAB_LEN,'' CUR_LOAD_LOC,'' SLAB_SIZE_DEC_GRD,0 SLAB_WGT,T1.CUR_LOAD_LOC ORL_LOAD_LOC,t3.DSN_SLAB_NO,t3.SUB_DSN_SLAB_NO
+		
+		  FROM TBG02_SLAB_COMM T1
+		       ,TBD01_SLABDN_OBJ2 T2
+		       ,TBD01_SLABDN_OBJ2_DETAIL T3     
+		  WHERE T1.DSN_SLAB_NO = T2.DSN_SLAB_NO
+		  AND   T1.DSN_SLAB_NO = T3.DSN_SLAB_NO
+		  AND   T1.SLAB_RT IN ('Z','P')
+		  AND   T1.SLAB_NO = :4
+		)
+        ]]> 
+  </query>
+   <query id="UIG040070_CORRECTED_SLAB_COMM.select" desc=" ">
+	   <![CDATA[
+	   SELECT SLAB_NO
+       		   ,SIZE_UPDT_BEF_THK
+			   ,SIZE_UPDT_BEF_WTH
+			   ,SIZE_UPDT_BEF_LEN
+			   ,SIZE_UPDT_BEF_WGT
+			   ,SIZE_UPDT_AFT_THK
+			   ,SIZE_UPDT_AFT_WTH
+			   ,SIZE_UPDT_AFT_LEN
+			   ,SIZE_UPDT_AFT_WGT
+			   ,SIZE_UPDT_CAUSE_CD
+			   ,ORD_FL
+			   ,STL_GRD
+			   ,SIZE_UPDT_EMP_NO
+			   ,SIZE_UPDT_WKGROUP
+			   ,SIZE_UPDT_WKSHIFT 
+		FROM TBG02_SLAB_COMM 
+		WHERE SLAB_NO LIKE ?||'%'
+		--and  MATRL_END_CAUSE_CD is not null
+        ]]> 
+  </query>
+  <query id="UIG040070_SLAB_END.update" desc=" " fetchSize="10">
+		<![CDATA[	
+		  UPDATE TBG02_SLAB_COMM SET
+			CORRECT_YN = 'Y'
+		   ,SLAB_STAT = '3'
+		   ,MATRL_END_CAUSE_CD = '4'
+		   ,MATRL_END_DTIME  = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS') 
+		  WHERE SLAB_NO = ?	 
+		]]>
+ </query>
+ <query id="UIG040070_SIZE_CORRECT_02.update" desc=" " fetchSize="10">
+		<![CDATA[	
+		  UPDATE TBG02_SLAB_COMM SET
+		      CORRECT_YN = 'Y'
+		       ,SIZE_UPDT_DTIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')
+		       ,SIZE_UPDT_CAUSE_CD = :1
+		       
+		       ,SIZE_UPDT_BEF_THK = SLAB_THK
+		       ,SIZE_UPDT_BEF_WTH = SLAB_WTH
+		       ,SIZE_UPDT_BEF_LEN = SLAB_LEN
+		       ,SIZE_UPDT_BEF_WGT = SLAB_WGT
+		       
+		       ,SLAB_THK = :2
+		       ,SLAB_WTH = :3
+		       ,SLAB_LEN = :4
+		       ,SLAB_WGT = :5 
+		      
+		       ,SIZE_UPDT_AFT_THK = :6
+		       ,SIZE_UPDT_AFT_WTH = :7
+		       ,SIZE_UPDT_AFT_LEN = :8
+		       ,SIZE_UPDT_AFT_WGT = :9 
+		      
+		       ,SIZE_UPDT_WKSHIFT = :10
+		       ,SIZE_UPDT_WKGROUP = :11
+		       ,SIZE_UPDT_EMP_NO  = :12
+		       ,SCRAP_WGT         = :13
+		       ,ORD_FL = '2'      
+		       ,NONORD_CAUSE_CD = :14
+		       ,NONORD_OCR_DTIME = :15
+		       ,CUR_PROG_CD      = :16
+		       ,SLAB_SIZE_DEC_GRD= :17
+		       ,CUR_PROG_CD_PGM  = 'UIG040070'
+		       ,CUR_PROG_CD_DTIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')
+		       ,BEF_PROG_CD       = CUR_PROG_CD
+		       ,BEF_PROG_CD_PGM   = CUR_PROG_CD_PGM
+		       ,BEF_PROG_CD_DTIME = CUR_PROG_CD_DTIME
+		     ,ORG_ORD_NO = ORD_NO
+		     ,ORG_ORD_SEQ = ORD_SEQ
+		     ,ORD_NO = ''
+		     ,ORD_SEQ = ''                     
+		      WHERE SLAB_NO = :18 
+		]]>
+ </query>
+ <query id="UIG040070_SIZE_CORRECT.update" desc=" " fetchSize="10">
+		<![CDATA[	
+		  UPDATE TBG02_SLAB_COMM SET
+			CORRECT_YN = 'Y'
+		   ,SIZE_UPDT_DTIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')
+		   ,SIZE_UPDT_CAUSE_CD = ?
+			
+		   ,SLAB_THK = ?
+		   ,SLAB_WTH = ?
+		   ,SLAB_LEN = ? 
+		   ,SLAB_WGT = ? 
+			
+		   ,SIZE_UPDT_BEF_THK = ?
+		   ,SIZE_UPDT_BEF_WTH = ?
+		   ,SIZE_UPDT_BEF_LEN = ?
+		   ,SIZE_UPDT_BEF_WGT = ?
+      
+       ,SIZE_UPDT_AFT_THK = ?
+       ,SIZE_UPDT_AFT_WTH = ?
+       ,SIZE_UPDT_AFT_LEN = ?
+       ,SIZE_UPDT_AFT_WGT = ? 
+      
+       ,SIZE_UPDT_WKSHIFT = ?
+       ,SIZE_UPDT_WKGROUP = ?
+       ,SIZE_UPDT_EMP_NO  = ?
+       ,SCRAP_WGT         = ?
+       ,ORD_FL = '2'      
+       ,NONORD_CAUSE_CD = ?
+       ,NONORD_OCR_DTIME = ?
+       ,CUR_PROG_CD      = ?
+       ,SLAB_SIZE_DEC_GRD= ?
+       ,CUR_PROG_CD_PGM  = 'UIG040070'
+       ,CUR_PROG_CD_DTIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')
+       ,BEF_PROG_CD       = CUR_PROG_CD
+       ,BEF_PROG_CD_PGM   = CUR_PROG_CD_PGM
+       ,BEF_PROG_CD_DTIME = CUR_PROG_CD_DTIME
+	   ,ORG_ORD_NO = ORD_NO
+	   ,ORG_ORD_SEQ = ORD_SEQ
+	   ,ORD_NO = ''
+	   ,ORD_SEQ = ''				             
+      WHERE SLAB_NO = ? 
+		]]>
+ </query>
+ <query id="UIG040070_SCRAP_COMM.update" desc=" " fetchSize="10">
+		<![CDATA[	
+		  UPDATE TBG02_SLAB_COMM SET
+		    SCRAP_WGT = ?
+		   ,ORD_FL = '2'
+		   ,ORG_ORD_NO = ORD_NO
+	       ,ORG_ORD_SEQ = ORD_SEQ
+	       ,ORD_NO = ''
+	       ,ORD_SEQ = ''	 
+		  WHERE SLAB_NO = ?	 
+		]]>
+ </query>
+ <query id="UIG040070_ALL_SCRAP_COMM.update" desc=" " fetchSize="10">
+		<![CDATA[	
+			/** UIG040070_ALL_SCRAP_COMM.update **/
+		  UPDATE TBG02_SLAB_COMM  SET
+        	SCRAP_WGT = ?
+		   ,ORD_FL = ?
+		   ,ORD_NO = ?
+		   ,ORD_SEQ = ?
+		   ,ORG_ORD_NO = ?
+		   ,ORG_ORD_SEQ = ?
+		   ,NONORD_CAUSE_CD = ?
+		   ,NONORD_OCR_DTIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')
+		   ,SLAB_STAT = '3'
+		   ,MATRL_END_CAUSE_CD = ? 
+		   ,MATRL_END_DTIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')
+		  WHERE SLAB_NO = ?   
+		]]>
+ </query>
+ <query id="UIG040070_ALL_SCRAP_YARD_ADDR.update" desc=" " fetchSize="10">
+		<![CDATA[	
+			/** IG040070_ALL_SCRAP_YARD_ADDR.update **/
+			UPDATE TBG04_SLAB_YARD 
+			SET SLAB_NO = ''
+				,BEF_STORE_LOC = '' 
+				,CR_NO = ''
+				,REG_ID = ''
+				,REG_DTIME = ''
+				,ORD_FLAG = ''
+			WHERE SLAB_NO = ?
+		]]>
+ </query>
+ <query id="UIG040070_SHR_COMMD_02.insert" desc=" " fetchSize="10">
+ 	INSERT INTO TBG02_SLAB_COMM_D (SLAB_NO,SLAB_CUT_SEQ,SLAB_THK,SLAB_WTH,SLAB_LEN,ORD_THK,ORD_WTH,ORD_LEN,ORD_WGT,COIL_INDIA,COIL_OUTDIA,ORD_NO,ORD_SEQ,
+	       ORD_FL)
+	SELECT SUBSTR(SLAB_NO,1,12)||SUBSTR(?,13,1)
+	       ,SLAB_CUT_SEQ
+	       ,SLAB_THK
+	       ,SLAB_WTH
+	       ,SLAB_LEN
+	       ,ORD_THK
+	       ,ORD_WTH
+	       ,ORD_LEN
+	       ,ORD_WGT
+	       ,COIL_INDIA
+	       ,COIL_OUTDIA
+	       ,ORD_NO
+	       ,ORD_SEQ
+	       ,ORD_FL
+	FROM TBG02_SLAB_COMM_D WHERE SLAB_NO = ?  
+ </query>
+ <query id="UIG040070_SHR_COMMD_03.insert" desc=" " fetchSize="10">
+ 	INSERT INTO TBG02_SLAB_COMM_D (SLAB_NO,SLAB_CUT_SEQ,SLAB_THK,SLAB_WTH,SLAB_LEN,ORD_THK,ORD_WTH,ORD_LEN,ORD_WGT,COIL_INDIA,COIL_OUTDIA,ORD_NO,ORD_SEQ,
+         ORD_FL)
+    SELECT 'J'||SUBSTR(B.SUB_SLAB_NO,2,11)||SUBSTR(:1,13,1)
+           ,A.SLAB_CUT_SEQ
+           ,A.SLAB_THK
+           ,A.SLAB_WTH
+           ,A.SLAB_LEN
+           ,A.ORD_THK
+           ,A.ORD_WTH
+           ,A.ORD_LEN
+           ,A.ORD_WGT
+           ,A.COIL_INDIA
+           ,A.COIL_OUTDIA
+           ,A.ORD_NO
+           ,A.ORD_SEQ
+           ,A.ORD_FL
+    FROM  TBG02_SLAB_COMM_D A
+          ,TBG02_SLAB_COMM B
+    WHERE B.SLAB_NO = :2
+    AND   A.SLAB_NO = B.SUB_SLAB_NO
+    AND   B.SLAB_RT  = 'H'
+    
+    UNION ALL
+    
+    SELECT 
+          'J'||SUBSTR(T3.SUB_SLAB_NO,2,11)||SUBSTR(:3,13,1)
+          ,:4 SLAB_CUT_SEQ
+          ,:5 SLAB_THK
+          ,:6 SLAB_WTH
+          ,:7 SLAB_LEN
+          ,T2.SLAB_THK
+          ,T2.SLAB_WTH
+          ,T2.SLAB_LEN
+          ,T2.SLAB_WGT
+          ,0 COIL_INDIA
+          ,0 COIL_OUTDIA
+          ,T2.ORD_NO
+          ,T2.ORD_SEQ
+          ,'1' ORD_FL
+    FROM TBD01_SLABDN_OBJ2 T1
+         ,TBD01_SLABDN_OBJ2_DETAIL T2
+         ,TBG02_SLAB_COMM T3
+    WHERE T1.DSN_SLAB_NO = T2.DSN_SLAB_NO
+    AND   T2.DSN_SLAB_NO = :8
+    and   t2.SUB_DSN_SLAB_NO = :9
+    AND   T3.SLAB_NO = :10
+ </query>
+ <query id="UIG040070_SHR.insert" desc=" " fetchSize="10">
+		<![CDATA[	
+   INSERT INTO TBG02_SLAB_COMM 
+   (
+      SLAB_NO
+     ,PLAN_SLAB_NO   
+               
+     ,PROC_CD
+     ,SLAB_STAT
+     ,MATRL_END_CAUSE_CD
+     ,MATRL_END_DTIME
+     ,CUR_PROG_CD
+     ,CUR_PROG_CD_PGM
+     ,CUR_PROG_CD_DTIME
+     ,BEF_PROG_CD
+     ,BEF_PROG_CD_PGM
+     ,BEF_PROG_CD_DTIME
+     ,ORG_ORD_NO
+     ,ORG_ORD_SEQ
+     ,ORD_NO
+     ,ORD_SEQ
+     ,ORD_FL
+     ,STL_GRD
+     ,BEF_STL_GRD
+     ,PRODNM_CD
+     ,CUST_CD
+     ,ORD_USE_CD
+     ,SPEC_ABBSYM 
+     ,INSTR_SLAB_THK
+     ,INSTR_SLAB_WTH
+     ,INSTR_SLAB_LEN
+     ,INSTR_SLAB_WGT
+     ,SLAB_THK
+     ,SLAB_WTH
+     ,SLAB_LEN
+     ,SLAB_WGT
+     ,SLAB_TEMP
+     ,SLAB_CUT_DTIME
+     ,SLAB_RT
+     ,SURPLMATL_YN
+     ,LAST_SLAB_YN
+     ,TAPER_SLAB_YN
+     ,TAPER_LEN
+ --    ,NONORD_CAUSE_CD
+ --    ,NONORD_OCR_DTIME
+     ,INSTR_HCR_CLF
+     ,HCR_CLF
+     ,BUY_MKR_NAME
+     ,BUY_CHARGE_NO
+     ,BUY_SLAB_NO
+     ,BUY_SLAB_RECEPT_DTIME
+ --    ,CUR_LOAD_LOC
+     ,CUR_LOAD_LOC_DTIME
+     ,RHF_SCH_YN
+     ,BEF_LOAD_LOC
+     ,BEF_LOAD_LOC_DTIME
+     ,MISSNO_CLF
+     ,MISSNO_CAUSE_CD
+     ,MISSNO_OCR_DTIME
+     ,MISSNO_EMP_ID
+     ,REHEATMATL_CLF
+     ,REHEATMATL_REG_ID
+     ,REHEATMATL_REGIST_DTIME
+     ,EXTSHAPE_GRD
+     ,CRK_CD1
+     ,CRK_CD1_LOC
+     ,CRK_CD2
+     ,CRK_CD2_LOC
+     ,CRK_CD3
+     ,CRK_CD3_LOC
+     ,CRK_CD4
+     ,CRK_CD4_LOC
+     ,CRK_CD5
+     ,CRK_CD5_LOC
+     ,CRK_CD6
+     ,CRK_CD6_LOC
+     ,CRK_CD7
+     ,CRK_CD7_LOC
+     ,CRK_CD8
+     ,CRK_CD8_LOC
+     ,CRK_CD9
+     ,CRK_CD9_LOC
+     ,CRK_CD10
+     ,CRK_CD10_LOC
+     ,CORRECT_DTIME
+     ,CORRECT_XIN_DATE
+     ,CORRECT_WKSHIFT
+     ,CORRECT_WKGROUP
+     ,CORRECT_EMPNO
+     ,CORRECT_YN
+     ,CORRECT_RSLT_CD
+     ,SF_METHOD
+     ,SIZE_UPDT_DTIME
+     ,SIZE_UPDT_CAUSE_CD 
+     ,SIZE_UPDT_BEF_THK
+     ,SIZE_UPDT_BEF_WTH
+     ,SIZE_UPDT_BEF_LEN
+     ,SIZE_UPDT_BEF_WGT
+     ,SIZE_UPDT_AFT_THK
+     ,SIZE_UPDT_AFT_WTH
+     ,SIZE_UPDT_AFT_LEN
+     ,SIZE_UPDT_AFT_WGT
+     ,SIZE_UPDT_WKSHIFT
+     ,SIZE_UPDT_WKGROUP
+     ,SIZE_UPDT_EMP_NO
+     ,SCRAP_THK
+     ,SCRAP_WTH
+     ,SCRAP_LEN
+     ,SCRAP_WGT
+     ,SLAB_REGEN_CLF
+     ,PLT_IND_TRS_CAR_NO
+     ,PLT_IND_INVOICE_NO
+     ,PLT_IND_ARRV_LOC
+     ,PLT_IND_TRS_DATE
+     ,PLT_TRS_CAR_NO
+     ,PLT_TRS_INVOICE_NO
+     ,PLT_TRS_DTIME
+     ,PLT_PLANT_ARRV_DTIME
+     ,PLT_PLANT_ARRV_LOC
+     ,PLT_TRS_WKSHIFT
+     ,PLT_TRS_WKGROUP
+     ,PLT_TRS_EMP_NO
+     ,CUT_WKSHIFT
+     ,CUT_WKGROUP
+     ,CUT_EMP_ID
+     ,ORDCUST_CD
+     ,SLAB_RHF_IN_DTIME
+     ,SLAB_RHF_OUT_DTIME
+     ,INSTR_COIL_THK
+     ,INSTR_COIL_WTH
+     ,INSTR_COIL_LEN
+     ,INSTR_COIL_INDIA
+     ,INSTR_COIL_OUTDIA
+     ,INSTR_COIL_WGT
+     ,RHF_CHARGING_STAT_CD
+     ,STRAND_NO
+     ,DIFF_STL_GRD_STA_END_YN
+     ,CAST_NO
+     ,SLAB_WAY
+	 ,SLAB_SIZE_DEC_GRD
+	 ,NONORD_CAUSE_CD
+	 ,NONORD_OCR_DTIME
+     ,CUR_LOAD_LOC
+	 ,SMS_YARD_ENT_DTIME
+	 ,SLAB_STOCK_ENT_DTIME
+	 ,SLAB_INGR_DEC_GRD
+	 ,TW_SLAB_YN
+	 ,YARD_LOCK_YN
+	 ,SLAB_STOCK_TYPE
+	 ,SMS_YARD_ENT_TYPE
+	 ,SLAB_STOCK_SHIFT
+	 ,SLAB_STOCK_GROUP
+	 ,SLAB_STOCK_REG_ID
+	 ,SMS_YARD_ENT_SHIFT
+	 ,SMS_YARD_ENT_GROUP
+	 ,SMS_YARD_ENT_REG_ID
+	 ,SLAB_DCS_DETAIL
+	 ,INGR_SHIFT
+	 ,INGR_GROUP
+	 ,SUB_SLAB_NO  
+	 ,CHARGE_NO
+ ) 
+  
+ SELECT   :1                                                        
+     ,PLAN_SLAB_NO                                                 
+     ,PROC_CD                                                      
+                                                                   
+     ,SLAB_STAT                                                    
+     ,MATRL_END_CAUSE_CD                                           
+     ,MATRL_END_DTIME                                              
+     ,:2                                                           
+     ,'UIG040070' CUR_PROG_CD_PGM                                  
+     ,TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS') CUR_PROG_CD_DTIME        
+     ,CUR_PROG_CD                                                  
+     ,CUR_PROG_CD_PGM                                              
+     ,CUR_PROG_CD_DTIME                                            
+     ,:3                                                           
+     ,:4                                                           
+     ,:5                                                           
+     ,:6                                                           
+     ,:7                                                           
+     ,STL_GRD                                                      
+     ,BEF_STL_GRD                                                  
+     ,PRODNM_CD                                                    
+     ,CUST_CD                                                      
+     ,ORD_USE_CD                                                   
+     ,SPEC_ABBSYM                                                  
+     ,INSTR_SLAB_THK                                               
+     ,INSTR_SLAB_WTH                                               
+     ,INSTR_SLAB_LEN                                               
+     ,INSTR_SLAB_WGT                                               
+     ,:8                                                           
+     ,:9                                                           
+     ,:10                                                          
+     ,:11                                                          
+     ,SLAB_TEMP                                                    
+     ,SLAB_CUT_DTIME                                               
+     ,SLAB_RT                                                      
+     ,SURPLMATL_YN                                                 
+     ,LAST_SLAB_YN                                                 
+     ,TAPER_SLAB_YN                                                
+     ,TAPER_LEN                                                    
+  --   ,NONORD_CAUSE_CD                                            
+  --   ,NONORD_OCR_DTIME                                           
+     ,INSTR_HCR_CLF                                                
+     ,HCR_CLF                                                      
+     ,BUY_MKR_NAME                                                 
+     ,BUY_CHARGE_NO                                                
+     ,BUY_SLAB_NO                                                  
+     ,BUY_SLAB_RECEPT_DTIME                                        
+   --  ,CUR_LOAD_LOC                                               
+     ,CUR_LOAD_LOC_DTIME                                           
+     ,RHF_SCH_YN                                                   
+     ,BEF_LOAD_LOC                                                 
+     ,BEF_LOAD_LOC_DTIME                                           
+     ,MISSNO_CLF                                                   
+     ,MISSNO_CAUSE_CD                                              
+     ,MISSNO_OCR_DTIME                                             
+     ,MISSNO_EMP_ID                                                
+     ,REHEATMATL_CLF                                               
+     ,REHEATMATL_REG_ID                                            
+     ,REHEATMATL_REGIST_DTIME                                      
+     ,EXTSHAPE_GRD                                                 
+     ,CRK_CD1                                                      
+     ,CRK_CD1_LOC                                                  
+     ,CRK_CD2                                                      
+     ,CRK_CD2_LOC                                                  
+     ,CRK_CD3                                                      
+     ,CRK_CD3_LOC                                                  
+     ,CRK_CD4                                                      
+     ,CRK_CD4_LOC                                                  
+     ,CRK_CD5                                                      
+     ,CRK_CD5_LOC                                                  
+     ,CRK_CD6                                                      
+     ,CRK_CD6_LOC                                                  
+     ,CRK_CD7                                                      
+     ,CRK_CD7_LOC                                                  
+     ,CRK_CD8                                                      
+     ,CRK_CD8_LOC                                                  
+     ,CRK_CD9                                                      
+     ,CRK_CD9_LOC                                                  
+     ,CRK_CD10                                                     
+     ,CRK_CD10_LOC                                                 
+     ,CORRECT_DTIME                                                
+     ,CORRECT_XIN_DATE                                             
+     ,CORRECT_WKSHIFT                                              
+     ,CORRECT_WKGROUP                                              
+     ,CORRECT_EMPNO                                                
+     ,'Y'                                                          
+     ,CORRECT_RSLT_CD                                              
+     ,SF_METHOD                                                    
+     ,TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')                          
+     ,:12                                                          
+     ,SLAB_THK                                                     
+     ,SLAB_WTH                                                     
+     ,SLAB_LEN                                                     
+     ,SLAB_WGT                                                     
+     ,:13                                                          
+     ,:14                                                          
+     ,:15                                                          
+     ,:16                                                          
+     ,:17                                                          
+     ,:18                                                          
+     ,:19                                                          
+     ,''                                                           
+     ,''                                                           
+     ,''                                                           
+     ,''                                                           
+     ,SLAB_REGEN_CLF                                               
+     ,PLT_IND_TRS_CAR_NO                                           
+     ,PLT_IND_INVOICE_NO                                           
+     ,PLT_IND_ARRV_LOC                                             
+     ,PLT_IND_TRS_DATE                                             
+     ,PLT_TRS_CAR_NO                                               
+     ,PLT_TRS_INVOICE_NO                                           
+     ,PLT_TRS_DTIME                                                
+     ,PLT_PLANT_ARRV_DTIME                                         
+     ,PLT_PLANT_ARRV_LOC                                           
+     ,PLT_TRS_WKSHIFT                                              
+     ,PLT_TRS_WKGROUP                                              
+     ,PLT_TRS_EMP_NO                                               
+     ,CUT_WKSHIFT                                                  
+     ,CUT_WKGROUP                                                  
+     ,CUT_EMP_ID                                                   
+     ,ORDCUST_CD                                                   
+     ,SLAB_RHF_IN_DTIME                                            
+     ,SLAB_RHF_OUT_DTIME                                           
+     ,INSTR_COIL_THK                                               
+     ,INSTR_COIL_WTH                                               
+     ,INSTR_COIL_LEN                                               
+     ,INSTR_COIL_INDIA                                             
+     ,INSTR_COIL_OUTDIA                                            
+     ,INSTR_COIL_WGT                                               
+     ,RHF_CHARGING_STAT_CD                                         
+     ,STRAND_NO                                                    
+     ,DIFF_STL_GRD_STA_END_YN                                      
+     ,CAST_NO                                                      
+     ,SLAB_WAY                                                     
+	    ,:20                                                         
+	 ,:21                                                            
+	 ,:22                                                            
+	 ,:23                                                            
+	 ,:24                                                            
+	 ,:25                                                            
+	 ,SLAB_INGR_DEC_GRD	                                             
+	 ,TW_SLAB_YN                                                     
+	 ,YARD_LOCK_YN                                                   
+	 ,SLAB_STOCK_TYPE                                                
+	 ,SMS_YARD_ENT_TYPE                                              
+	 ,SLAB_STOCK_SHIFT                                               
+	 ,SLAB_STOCK_GROUP                                               
+	 ,SLAB_STOCK_REG_ID                                              
+	 ,SMS_YARD_ENT_SHIFT                                             
+	 ,SMS_YARD_ENT_GROUP                                             
+	 ,SMS_YARD_ENT_REG_ID                                            
+	 ,SLAB_DCS_DETAIL                                                
+	 ,INGR_SHIFT                                                     
+	 ,INGR_GROUP                                                     
+	 ,'J'||SUBSTR(SUB_SLAB_NO,2,11)||SUBSTR(:26,13,1)                
+  ,CHARGE_NO                                                       
+    FROM TBG02_SLAB_COMM                                           
+    WHERE SLAB_NO = :27                                            
+                                                                   
+
+		]]>
+ </query>
+ <query id="UIG040070_SLAB_COMM_D_ORDFL.update" desc=" ">
+       <![CDATA[
+		   UPDATE TBG02_SLAB_COMM_D
+		   SET ORD_FL = ?
+		   WHERE SLAB_NO = ?
+        ]]> 
+  </query>	
+  <query id="UIG040070_SLAB_SIZE_DEC.select" desc=" ">
+       <![CDATA[
+		   SELECT PKG_UIG.FUN_SLAB_SIZE_DEC(:1,:2,:3,:4,:5) RES FROM DUAL
+        ]]> 
+  </query>	
+  <query id="UIG040070_SLAB_SIZE_DEC.update" desc=" ">
+       <![CDATA[
+		    UPDATE TBG02_SLAB_COMM T1
+			SET    T1.ORG_ORD_NO = T1.ORD_NO
+			       ,T1.ORG_ORD_SEQ = T1.ORD_SEQ
+			       ,T1.BEF_PROG_CD = T1.CUR_PROG_CD
+			       ,T1.BEF_PROG_CD_PGM = T1.CUR_PROG_CD_PGM
+			       ,T1.BEF_PROG_CD_DTIME = T1.CUR_PROG_CD_DTIME
+			       ,T1.ORD_FL = :1
+			       ,T1.ORD_NO = :2
+			       ,T1.ORD_SEQ = :3
+			       ,T1.NONORD_CAUSE_CD = :4
+			       ,T1.NONORD_OCR_DTIME = :5
+			       ,T1.CUR_PROG_CD = :6
+			       ,T1.CUR_PROG_CD_PGM = 'SLAB_SIZE_DEC'
+			       ,T1.CUR_PROG_CD_DTIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MMSS')
+			WHERE  T1.SLAB_NO = :7 
+        ]]> 
+  </query>
+ <query id="UIG040070_04.select" desc=" ">
+       <![CDATA[
+      
+   SELECT ORD_NO
+		 ,ORD_SEQ
+         ,CUR_PROG_CD 
+         , ORD_FL  
+		 ,SLAB_STOCK_ENT_DTIME
+		 ,SMS_YARD_ENT_DTIME 
+		 ,SLAB_RT
+  FROM TBG02_SLAB_COMM 
+    WHERE  SLAB_NO  = ? 
+        ]]> 
+  </query>	
+  <query id="UIG040070_SLAB_YARD.update" desc=" ">
+       <![CDATA[
+		  UPDATE TBG04_SLAB_YARD 
+			   SET  SLAB_NO = ?
+					,REG_ID = ?
+		            ,REG_DTIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')
+		       WHERE YARD_ADDR = ?
+		       AND   STORELAY = ?
+        ]]> 
+  </query> 
+  <query id="UIG040070_SLAB_COMM.update" desc=" ">
+	   <![CDATA[
+		UPDATE TBG04_SLAB_YARD SET SLAB_NO = '',BEF_STORE_LOC = '',CR_NO = '',REG_ID = '',REG_DTIME = ''
+		WHERE SLAB_NO = ?
+        ]]> 
+  </query> 
+  <query id="UIG040070_SLAB_COMM_D.update" desc="     " fetchSize="10">
+        <![CDATA[
+            UPDATE TBG02_SLAB_COMM_D SET 
+              ORD_FL = ?
+            WHERE SLAB_NO = (SELECT SUB_SLAB_NO FROM TBG02_SLAB_COMM WHERE SLAB_NO = ?)    
+        ]]>
+    </query>
+    
+</queryMap>

+ 211 - 0
.svn/pristine/01/014ec52db8cf8ef33e8f345bda06a5b78153e2e9.svn-base

@@ -0,0 +1,211 @@
+package xin.glue.nui.E.E03;
+
+import java.math.BigDecimal;
+import java.sql.CallableStatement;
+import java.sql.SQLException;
+import java.sql.Types;
+
+import com.posdata.glue.PosException;
+import com.posdata.glue.biz.activity.PosActivity;
+import com.posdata.glue.biz.constants.PosBizControlConstants;
+import com.posdata.glue.biz.control.PosBizProvider;
+import com.posdata.glue.context.PosContext;
+import com.posdata.glue.dao.vo.PosParameter;
+import com.posdata.glue.dao.vo.PosRow;
+import com.posdata.glue.dao.vo.PosRowSet;
+import com.posdata.glue.msg.PosMESMessageImpl;
+import com.posdata.glue.msg.PosMessage;
+
+public class RepSaveQZ extends PosActivity {
+
+	String P_RTN_MSG = "";
+
+	String V_MAT_TYPE = "";
+
+	public String runActivity(PosContext context) {
+
+		String[] rowStatus = (String[]) context.get("rowStatus");
+		String[] V_MAT_NO = (String[]) context.get("DSP_NO");
+
+		String[] P_REG_ID = (String[]) context.get("P_REG_ID");
+		String[] V_ORD_NO = (String[]) context.get("R_ORD_NO");
+		String[] V_ORD_SEQ = (String[]) context.get("R_ORD_SEQ");
+		String[] V_SIGN_STL = (String[]) context.get("SIGN_STL");
+		String[] V_SIGN_CHEN_FEN = (String[]) context.get("SIGN_CHEN_FEN");
+		String[] V_SING_CAIZHI = (String[]) context.get("SING_CAIZHI");
+		String[] V_SIGN_QIANGZHI = (String[]) context.get("SIGN_QIANGZHI");
+
+		P_REG_ID[0] = (P_REG_ID == null || "".equals(P_REG_ID[0])) ? " no user "
+				: P_REG_ID[0];
+
+		for (int i = 0; i < rowStatus.length; i++) {
+			CallableStatement cStmt = null;
+			PosRowSet MatVO = null;
+			cStmt = this.getDao("mesdao").getCallableStatement(
+					"callNIE03_SERVEAS");
+			try {
+				if (cStmt != null) {
+					cStmt.setString(1, V_MAT_NO[i]);
+					cStmt.setString(2, V_ORD_NO[0]);
+					cStmt.setString(3, V_ORD_SEQ[0]);
+					cStmt.setString(4, V_SIGN_STL[0]);
+					cStmt.setString(5, V_SIGN_CHEN_FEN[0]);
+					cStmt.setString(6, V_SING_CAIZHI[0]);
+					cStmt.setString(7, V_SIGN_QIANGZHI[0]);
+					cStmt.setString(8, P_REG_ID[0]);
+					cStmt.registerOutParameter(9, Types.VARCHAR);
+					cStmt.execute();
+
+					P_RTN_MSG = cStmt.getString(9);
+
+					// NIF024050_CALL(P_TYPE,P_ST,P_EN);
+				}
+			} catch (SQLException e) {
+				// e.printStackTrace();
+				logger.logError(e.getMessage());
+	     	    context.put("errorMsg", e.getMessage());
+	     	    return PosBizControlConstants.FAILURE;
+				//throw new PosException(e.getMessage());
+				//logger.logError(e);
+				//isSuccess = false;
+			} finally {
+				if (cStmt != null) {
+					try {
+						cStmt.close();
+					} catch (SQLException e) {
+						logger.logWarn(e.getMessage(), e);
+					}
+				}
+			}
+
+			if (P_RTN_MSG == null || "".equals(P_RTN_MSG)) {
+				;
+			} else {
+				logger.logError(P_RTN_MSG);
+	     	    context.put("errorMsg", P_RTN_MSG);
+	     	    return PosBizControlConstants.FAILURE;
+			}
+
+			PosParameter param = new PosParameter();
+			param.setWhereClauseParameter(0, V_MAT_NO[i]);
+
+			if ('J' == (V_MAT_NO[0].charAt(0))) {
+				V_MAT_TYPE = "TM";
+				MatVO = getDao("mesdao")
+						.find("UIF031046_SlabInf.select", param);
+
+			} else if ('R' == (V_MAT_NO[0].charAt(0))) {
+				V_MAT_TYPE = "AR";
+				MatVO = getDao("mesdao")
+						.find("UIF031046_CoilInf.select", param);
+			} else {
+
+			}
+			MatVO.reset();
+
+			while (MatVO.hasNext()) {
+
+				PosRow MatInfRow = MatVO.next();
+
+				String LV_MAT_NO = (String) MatInfRow.getAttribute("MAT_NO");
+				long LV_MAT_WGT = Long.parseLong((MatInfRow
+						.getAttribute("MAT_WGT") == null ? "0" : MatInfRow
+						.getAttribute("MAT_WGT")).toString());
+				String LV_BEF_ORD_NO = (String) MatInfRow
+						.getAttribute("ORG_ORD_NO") == null ? ""
+						: (String) MatInfRow.getAttribute("ORG_ORD_NO");
+				String LV_BEF_PROG_CD = (String) MatInfRow
+						.getAttribute("BEF_PROG_CD") == null ? ""
+						: (String) MatInfRow.getAttribute("BEF_PROG_CD");
+				String LV_BEF_ORD_SEQ = (String) MatInfRow
+						.getAttribute("ORG_ORD_SEQ") == null ? ""
+						: (String) MatInfRow.getAttribute("ORG_ORD_SEQ");
+				String LV_CUR_PROG_CD = (String) MatInfRow
+						.getAttribute("CUR_PROG_CD") == null ? ""
+						: (String) MatInfRow.getAttribute("CUR_PROG_CD");
+				// CALL NIE012070_SaveOrdSts
+				NIE012070_CALL(LV_MAT_NO, LV_MAT_WGT, V_ORD_NO[0],
+						V_ORD_SEQ[0], LV_BEF_ORD_NO, LV_BEF_ORD_SEQ,
+						LV_BEF_PROG_CD, LV_CUR_PROG_CD, V_MAT_TYPE, P_REG_ID[0]);
+
+			} // SlabInfVO while END
+
+		}
+
+		NIE012080_CALL();
+
+		if (new OrdChk(V_ORD_NO[0], V_ORD_SEQ[0]).isOver()) {
+			throw new PosException("¶©µ¥³¬Á¿...RepSaveQZ.OrdChk.isOver..."
+					+ V_ORD_NO[0] + " - " + V_ORD_SEQ[0]);
+		}
+		;
+		return PosBizControlConstants.SUCCESS;
+	}
+
+	public PosContext NIE012070_CALL(String P_MAT_NO, long V_WGT,
+			String V_ORD_NO, String V_ORD_SEQ, String P_BEF_ORD_NO,
+			String P_BEF_ORD_SEQ, String P_BEF_PROG_CD, String P_CUR_PROG_CD,
+			String P_MAT_TYPE, String V_REG_ID) {
+		PosContext context = new PosContext();
+		PosMessage message = new PosMESMessageImpl();
+
+		// SaveOrdSts
+		String TcId = "NIE012070";
+		message.setTCID(TcId);
+		message.setObject("MSG_ID", TcId);
+		message.setObject("BEF_ORD_NO", P_BEF_ORD_NO);
+		message.setObject("BEF_ORD_SEQ", P_BEF_ORD_SEQ);
+		message.setObject("ORD_NO", V_ORD_NO);
+		message.setObject("ORD_SEQ", V_ORD_SEQ);
+		message.setObject("BEF_PROG_CD", P_BEF_PROG_CD);
+		message.setObject("PROG_CD", P_CUR_PROG_CD);
+		message.setObject("MAT_TYPE", P_MAT_TYPE);
+		message.setObject("MAT_NO", P_MAT_NO);
+		message.setObject("WGT", new BigDecimal(V_WGT));
+		message.setObject("PGMID", "OrdRepSaveQZ");
+		message.setObject("REG_ID", V_REG_ID);
+		context.setMessage(message);
+		message.setTCID(TcId);
+
+		String SERVICE_POSTFIX = "-service";
+		context
+				.put(PosBizControlConstants.SERVICE_NAME, TcId
+						+ SERVICE_POSTFIX);
+		PosBizProvider.getController().doSubController(context, false);
+
+		String SERVICE_ERR_MSG = (String) context.get("SERVICE_ERR_MSG");
+
+		if (SERVICE_ERR_MSG != null) {
+			throw new PosException(SERVICE_ERR_MSG);
+		}
+
+		return context;
+	}
+
+	public PosContext NIE012080_CALL() {
+		PosContext context = new PosContext();
+		PosMessage message = new PosMESMessageImpl();
+
+		// OrdStsMain
+		String TcId = "NIE012080";
+		message.setTCID(TcId);
+		message.setObject("MSG_ID", TcId);
+		message.setObject("AA", "");
+		context.setMessage(message);
+		message.setTCID(TcId);
+
+		String SERVICE_POSTFIX = "-service";
+		context
+				.put(PosBizControlConstants.SERVICE_NAME, TcId
+						+ SERVICE_POSTFIX);
+		PosBizProvider.getController().doSubController(context, false);
+
+		String SERVICE_ERR_MSG = (String) context.get("SERVICE_ERR_MSG");
+
+		if (SERVICE_ERR_MSG != null) {
+			throw new PosException(SERVICE_ERR_MSG);
+		}
+
+		return context;
+	}
+}

+ 24 - 0
.svn/pristine/01/014fa3eacf0e184606f2d6e715ead35f4046d1a2.svn-base

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="EUC-KR"?>
+<service name="UIH051200-service" initial="Activity Label1297">
+  <activity name="Search1299" class="com.posdata.glue.biz.activity.PosSearch">
+    <transition name="success" value="end" />
+    <property name="sqlkey" value="UIH051200_01.select" />
+    <property name="resultkey" value="UIH051200_RESULT" />
+    <property name="dao" value="mesdao" />
+    <property name="param0" value="COIL_NO" />
+    <property name="param1" value="STL_GRD" />
+    <property name="param2" value="FROM_DATE" />
+    <property name="param3" value="TO_DATE" />
+    <property name="param4" value="ORD_NO" />
+    <property name="param-count" value="5" />
+  </activity>
+  <activity name="Router1295" class="com.posdata.glue.biz.activity.PosDefaultRouter">
+    <transition name="find" value="Search1299" />
+  </activity>
+  <transaction-manager id="tx1" commit="true" />
+  <activity name="Activity Label1297" class="com.posdata.glue.biz.trustform.PosSetResultKeyList">
+    <transition name="success" value="Router1295" />
+    <property name="ResultKeyList" value="UIH051200_RESULT" />
+  </activity>
+</service>
+

+ 95 - 0
.svn/pristine/01/0153373a1779a819ce95dabd0f6c78b09e10088c.svn-base

@@ -0,0 +1,95 @@
+package xin.glue.ui.H.H05;
+
+import com.posdata.glue.biz.activity.PosActivity;
+import com.posdata.glue.biz.constants.PosBizControlConstants;
+import com.posdata.glue.context.PosContext;
+import com.posdata.glue.dao.vo.PosParameter;
+import com.posdata.glue.dao.vo.PosRow;
+import com.posdata.glue.dao.vo.PosRowSet;
+
+public class TestYardMove extends PosActivity{
+	public String runActivity(PosContext context){
+//		从页面获取数据供插入和更新使用
+		String[] rowStatus = (String[]) context.get("rowStatus");
+		//步进梁
+		String[] WK_BEAM = (String[]) context.get("WK_BEAM");
+		//钢卷号
+		String[] OLD_SAMPL_NO = (String[]) context.get("OLD_SAMPL_NO");
+		//生产钢卷号
+		String[] COIL_NO = (String[]) context.get("COIL_NO");
+		//钢卷外径 
+		String[] COIL_OUTDIA = (String[]) context.get("COIL_OUTDIA");
+		//钢卷重量
+		String[] COIL_WGT = (String[]) context.get("COIL_WGT");
+		//钢号
+		String[] STL_GRD = (String[]) context.get("STL_GRD");
+		//来源位置
+		String[] FROM_ADDR = (String[]) context.get("FROM_ADDR");
+		//到放置位置  
+		String[] TO_ADDR = (String[]) context.get("TO_ADDR");
+		//行车编号 
+		String[] CR_NO = (String[]) context.get("CR_NO");
+		//钢卷外径 
+		String[] CHK = (String[]) context.get("CHK");
+		//序号
+		String[] ORD_SEQ = (String[]) context.get("ORD_SEQ");
+		//登录用户名
+		String[] REG_ID = (String[]) context.get("REG_ID");
+		
+		//行车命令制定序号
+		Number SEQ = null;
+		for(int i=0;i<rowStatus.length;i++){
+			if(CHK[i].equals("Y")){
+				//这里因为行车系统没有上的原因,手动将数据进入数据库
+				PosParameter param0 = new PosParameter();
+				//通过来源位置和去向位置找到相对应的行车命令是哪一条
+				param0.setWhereClauseParameter(0, FROM_ADDR[i]);
+				param0.setWhereClauseParameter(1, TO_ADDR[i]);
+				
+				PosRowSet rows = getDao("mesdao").find("UIH050050_CRANE_ORDER.select", param0);
+				
+				if(rows.hasNext()){
+					PosRow row = rows.next();
+					SEQ = (Number) row.getAttribute("ORD_SEQ");
+				}
+				
+				//得到相应的命令序号后,更新命令,并且把来源位置的钢卷放入去向位置
+				PosParameter param1 = new PosParameter();
+				param1.setWhereClauseParameter(0, SEQ);
+				
+				getDao("mesdao").update("UIH050050_CRANE_ORDER.update", param1);
+				
+				PosParameter param2 = new PosParameter();
+				
+				param2.setWhereClauseParameter(0, REG_ID[0]);
+				param2.setWhereClauseParameter(1, FROM_ADDR[i]);
+				
+				getDao("mesdao").update("UIH050050_CRANE_ORDER.update_F", param2);
+				
+				PosParameter param3 = new PosParameter();
+				
+				
+				//真实钢卷号
+				param3.setWhereClauseParameter(0, REG_ID[0]);
+				param3.setWhereClauseParameter(1, OLD_SAMPL_NO[i]);
+				param3.setWhereClauseParameter(2, TO_ADDR[i]);
+				
+				getDao("mesdao").update("UIH050050_CRANE_ORDER.update_T", param3);
+				
+				//这里还需要把去向位置的数据放入到钢卷公共表的位置字段
+				PosParameter param4 = new PosParameter();
+				
+				param4.setWhereClauseParameter(0,TO_ADDR[i]);
+				param4.setWhereClauseParameter(1,OLD_SAMPL_NO[i]);
+				
+				//这里使用行车命令执行的SQL
+				getDao("mesdao").update("UIH050030_COIL_COMM", param4);
+				
+			}
+			
+		}
+	
+		return PosBizControlConstants.SUCCESS;
+	}
+
+}

BIN
.svn/pristine/01/016d0bc512222f1253ee6b64d389c84e22f697f0.svn-base


+ 43 - 0
.svn/pristine/01/01725b1932a0109dc28c4718759a69f0271f3603.svn-base

@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="EUC-KR"?>
+<service name="UIB015060-service" initial="RESULTLIST">
+  <transaction-manager id="tx1" commit="true" />
+  <activity name="saveA" class="xin.glue.ui.common.PosGridSave">
+    <transition name="success" value="end" />
+    <property name="param-u" value="DEL_TOL_THK_MIN|DEL_TOL_THK_MAX|DEL_TOL_WTH_MIN|DEL_TOL_WTH_MAX|DEL_TOL_EVEN_MAX|DEL_TOL_ANGLE_MAX|DEL_TOL_CAMBER_MAX|no|seq" />
+    <property name="sqlkey-u" value="UIB015060_01.UPDATE" />
+  </activity>
+  <activity name="ROUTER" class="com.posdata.glue.biz.activity.PosDefaultRouter">
+    <transition name="findA" value="findA" />
+    <transition name="findB" value="findB" />
+    <transition name="saveA" value="saveA" />
+    <transition name="saveB" value="saveB" />
+  </activity>
+  <activity name="saveB" class="xin.glue.ui.common.PosGridSave">
+    <transition name="success" value="end" />
+    <property name="param-u" value="no|seq" />
+    <property name="sqlkey-u" value="UIB015060_02.UPDATE" />
+  </activity>
+  <activity name="findB" class="com.posdata.glue.biz.activity.PosSearch">
+    <transition name="success" value="end" />
+    <property name="sqlkey" value="UIB015060_02.SELECT" />
+    <property name="resultkey" value="ConditionResult" />
+    <property name="dao" value="mesdao" />
+    <property name="param0" value="no" />
+    <property name="param1" value="seq" />
+    <property name="param-count" value="2" />
+  </activity>
+  <activity name="findA" class="com.posdata.glue.biz.activity.PosSearch">
+    <transition name="success" value="end" />
+    <property name="sqlkey" value="UIB015060_01.SELECT" />
+    <property name="resultkey" value="ConditionResult" />
+    <property name="dao" value="mesdao" />
+    <property name="param0" value="no" />
+    <property name="param1" value="seq" />
+    <property name="param-count" value="2" />
+  </activity>
+  <activity name="RESULTLIST" class="com.posdata.glue.biz.trustform.PosSetResultKeyList">
+    <transition name="success" value="ROUTER" />
+    <property name="ResultKeyList" value="ConditionResult" />
+  </activity>
+</service>
+

BIN
.svn/pristine/01/018d5d156483a8b39c1088e6145280b538edb132.svn-base


+ 12 - 0
.svn/pristine/01/01a908555aa5f99c280011a2b96ebfa4cb45224f.svn-base

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="EUC-KR"?>
+<service name="NIB027080-service" initial="ParseMessage">
+  <transaction-manager id="tx1" commit="true" />
+  <activity name="ReceiveINGRResult" class="xin.glue.nui.B.B02.XinSaveL2INGR">
+    <transition name="success" value="end" />
+  </activity>
+  <activity name="ParseMessage" class="com.posdata.glue.biz.activity.PosReuseActivity">
+    <transition name="success" value="ReceiveINGRResult" />
+    <property name="method" value="parseMessage" />
+  </activity>
+</service>
+

+ 80 - 0
.svn/pristine/01/01b7b1025c898523be20783e67bc03d77d134f22.svn-base

@@ -0,0 +1,80 @@
+package xin.glue.ui.B.B02;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.SortedMap;
+
+import com.posdata.glue.biz.activity.PosActivity;
+import com.posdata.glue.biz.constants.PosBizControlConstants;
+import com.posdata.glue.context.PosContext;
+import com.posdata.glue.dao.PosGenericDao;
+import com.posdata.glue.dao.vo.PosParameter;
+import com.posdata.glue.dao.vo.PosRow;
+import com.posdata.glue.dao.vo.PosRowSet;
+/**
+ * 
+ * @Description  单一成分,炉次号判定实绩查询{界面ID:UIB020040}
+ * @author       梅贵平{meiguiping}
+ * @date         2009-1-6 下午07:45:51
+ * @JDK Version  jdk1.4.2
+ */
+public class FindJudgeChargeSingle extends PosActivity
+{
+
+	public String runActivity(PosContext context) 
+	{
+		///ready
+		PosGenericDao	dao		=	this.getDao("mesdao");
+		PosParameter  param 	= 	null;
+		PosRowSet	rowset		=	context.getRowSet("ListResult");//获取订单号和厂内钢号
+		
+		if(rowset.count() <= 0)
+		{
+			return PosBizControlConstants.SUCCESS;
+		}
+		///获得请求参数
+		PosRow[]	pp		=	rowset.getAllRow();
+		String	STL_GRD		=	pp[0].getAttribute("STL_GRD").toString();//厂内钢号
+		String[]CHARGE_NO	=	(String[])context.get("QQ");//炉次 号
+		String[]DORD		=	(String[])context.get("DORD");
+		String[]DSEQ		=	(String[])context.get("DSEQ");
+		
+		//LST_INGR_CD中存储的是工序+最后的次数 ,在品质部分,工序只会是JJ,即连铸
+		String   rocCount	=	pp[0].getAttribute("LST_INGR_CD")==null ? "XX" : pp[0].getAttribute("LST_INGR_CD").toString();//最后工序
+		
+		if("XX".equals(rocCount))
+			return PosBizControlConstants.SUCCESS;
+		if(null == DORD)
+		{
+			param	=	new PosParameter();
+			param.setWhereClauseParameter(0, STL_GRD);
+			param.setWhereClauseParameter(1, STL_GRD);
+			param.setWhereClauseParameter(2, CHARGE_NO[0]);
+			param.setWhereClauseParameter(3, rocCount);
+			param.setWhereClauseParameter(4, CHARGE_NO[0]);
+			param.setWhereClauseParameter(5, rocCount);
+			rowset = dao.find("UIB020040_CHARGE_02.SELECT", param);
+			context.put("CHEMINFO", rowset);
+		}
+		else
+		{
+			param		=	new PosParameter();
+			param.setWhereClauseParameter(0, DORD[0]);
+			param.setWhereClauseParameter(1, DSEQ[0]);
+			param.setWhereClauseParameter(2, DORD[0]);
+			param.setWhereClauseParameter(3, DSEQ[0]);
+			param.setWhereClauseParameter(4, DORD[0]);
+			param.setWhereClauseParameter(5, DSEQ[0]);
+			param.setWhereClauseParameter(6, STL_GRD);
+			param.setWhereClauseParameter(7, CHARGE_NO[0]);
+			param.setWhereClauseParameter(8, pp[0].getAttribute("LST_INGR_CD").toString());
+			param.setWhereClauseParameter(9, CHARGE_NO[0].subSequence(0, 10));
+			param.setWhereClauseParameter(10, pp[0].getAttribute("LST_INGR_CD").toString());
+			rowset		=	dao.find("UIB020040_SLAB_02.SELECT" , param);
+			context.put("CHEMINFO", rowset);
+		}
+		return PosBizControlConstants.SUCCESS;
+	}
+}

+ 93 - 0
.svn/pristine/01/01b7cb62d672912b610e83818f1754313eba407e.svn-base

@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="../../css/body.css" type="text/css" ?>
+<xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
+	<xhtml:head>
+		<xhtml:title>Untitle</xhtml:title>
+		<model id="model1">
+			<instance id="instance1">
+				<root xmlns="">
+					<datagrid1/>
+					<reqData>
+						<CUSTCD/>
+						<SSTLGRD/>
+						<FSTLGRD/>
+						<SelectedRadio/>
+					</reqData>
+				</root>
+			</instance>
+		</model>
+		<script type="javascript" src="../../js/boaCommon.js"/>
+		<script type="javascript" src="../../js/b01.js"/>
+		<script type="javascript">
+			<![CDATA[
+				function submit()
+				{		   
+					var length = arguments.length;
+					model.removenode("/root/reqData");
+					model.makeValue("/root/reqData/CUSTCD"  , arguments[0]); //获得客户参数号
+					model.makeValue("/root/reqData/SSTLGRD" , arguments[1]); // 获得标准钢号
+					model.makeValue("/root/reqData/FSTLGRD" , arguments[2]); //获得厂内标准号
+					model.makeValue("/root/reqData/SelectedRadio" , arguments[3]); //获得选择的radio
+					commSubmit("UIB010020-service", "find" , "glueAction.do");
+					
+					///还原表格到初始状态
+					var cols  = datagrid1.cols;
+					for(var i = (cols-1); i > 0; i--)
+					{
+						datagrid1.deleteColumn(i , false);
+					}
+					model.removenode("/root/datagrid1");
+					///生成列
+					datagrid1.addRow();//先有一行才能改变表格的宽度
+					GridDynamicChemCD(datagrid1 , "/root/resData/ChemNM_VO");
+					///copy
+					model.copyNode("/root/datagrid1" , "/root/resData/ChemResult_VO");
+					model.refresh();
+				}
+				
+				///表格的动态列生成
+				//ref为/root/resData/ChemNM_VO形式
+				function GridDynamicChemCD(grid , ref)
+				{
+					try
+					{
+						var node      =   instance1.selectSingleNode(ref);
+						var nodeList  =   node.childNodes;//.._VO的下级子节点
+						if(nodeList== null )
+						{
+							return;
+						}
+						var nNode;
+						var i = 1;
+						var tempCaption1 = "";
+						var tempCaption2 = "";
+						while(nNode = nodeList.nextNode())
+						{
+							grid.addColumn("ref:MIN"+i  , false);
+							grid.addColumn("ref:MAX"+i  , false);
+					   ///指定某一列的caption
+					        grid.colWidth(grid.colRef("MIN"+i))  = 40;
+					        grid.colWidth(grid.colRef("MAX"+i))  = 40;
+							tempCaption1 	= 	tempCaption1 +"^"+nNode.childNodes.item(1).nodeValue+"^"+nNode.childNodes.item(1).nodeValue;
+							tempCaption2   =   tempCaption2 + "^最小^最大"; 
+							i++;
+						}
+						var caption 	=	grid.caption;
+						grid.caption	=	caption.split("|")[0]+tempCaption1+"|"+caption.split("|")[1]+tempCaption2;
+					}catch(e)
+					{
+						window.alert("发生未知异常" , "警告");
+					}
+				}
+				
+
+			]]>
+		</script>
+	</xhtml:head>
+	<xhtml:body pagewidth="960" pageheight="480">
+		<datagrid id="datagrid1" nodeset="/root/datagrid1/ChemResult_Row" caption="客户参数号^客户名称|客户参数号^客户名称" colsep="^" colwidth="80, 139" explorerbar="sortshow" extendlastcol="false" frozencols="1" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:0px; top:0px; width:957px; height:477px; border-style:solid; ">
+			<col editable="false" ref="IDX" type="input" style="text-align:left; background-color:#ffffff; "/>
+			<col editable="false" ref="CUST_NM" type="input" style="text-align:left; background-color:#ffffff; "/>
+		</datagrid>
+	</xhtml:body>
+</xhtml:html>

+ 90 - 0
.svn/pristine/01/01c95160da8c7f20f983bd8c05d8a4d130d9c086.svn-base

@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="../../css/body.css" type="text/css" ?>
+<xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
+	<xhtml:head>
+		<xhtml:title>
+			<![CDATA[炼钢作业 >> 板坯库管理 >> 流程卡(UIG050010)]]>
+		</xhtml:title>
+		<model id="model1">
+			<instance id="instance1">
+				<root xmlns="">
+					<formData>
+						<ROLL_NO/>
+					</formData>
+					<gridData>
+						<grid1/>
+					</gridData>
+					<combData>
+						<ROLL_NO/>
+					</combData>
+				</root>
+			</instance>
+			<script type="javascript" ev:event="xforms-ready">
+				<![CDATA[
+					pageInit();
+				]]>
+			</script>
+		</model>
+		<script type="javascript" src="../../js/boaCommon.js"/>
+		<script type="javascript">
+			<![CDATA[
+				function find(){
+					commSendReq("/root/formData");
+					commSubmit("UIG050010-service","find","glueAction.do");
+					model.copyNode("/root/gridData/grid1","/root/resData/ZPH_RES_VO");
+					model.refresh();
+				}
+				
+				function save(){
+					if(model.getValue("/root/formData/ROLL_NO") == ""){
+						alert(" 轧辊单元号不能为空!");
+						return ;	
+					}
+					model.removenode("/root/reqData");
+					model.makeNode("/root/reqData");
+					commMultiUpdate(datagrid1,"/root/reqData","A",true,"rowStatus");
+					commSubmit("UIG050010-service","save","glueAction.do");
+					find();
+				}
+				
+				function pageInit() 
+				{
+					commSubmit("UIF025020-service","findRollManaNo","glueAction.do");  
+					model.copyNode("/root/combData/ROLL_NO","/root/resData/EmpListResult2_VO"); 	
+					model.refresh();
+					combo1.select(1);
+					model.refresh();
+				}
+			]]>
+		</script>
+	</xhtml:head>
+	<xhtml:body>
+		<datagrid id="datagrid1" nodeset="/root/gridData/grid1/ZPH_RES_Row" caption="选择^轧辊号^轧批号^产地^炉次号^钢种^块数^规格^重量(KG)^录入时间^板坯号|选择^轧辊号^轧批号^产地^炉次号^钢种^块数^规格^重量(KG)^录入时间^板坯号" colwidth="37, 100, 100, 100, 180, 150, 100, 150, 100, 100, 517" explorerbar="sort" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" colsep="^" style="left:0px; top:30px; width:980px; height:570px; ">
+			<col ref="CHK" type="checkbox" checkvalue="Y,N"/>
+			<col ref="ROLL_MANA_NO" type="input" editable="false"/>
+			<col ref="ROLL_BATCH_NO" type="input" editable="false"/>
+			<col ref="SLAB_FAC"/>
+			<col ref="CHARGE_NO" type="input" maxlength="13" editable="false"/>
+			<col ref="STL_GRD"/>
+			<col ref="SLAB_CNT"/>
+			<col ref="SLAB_SIZE"/>
+			<col ref="ROLL_BATCH_WGT" type="input" format="#,###" maxlength="9"/>
+			<col ref="REG_DTIME" format="yyyy-mm-dd hh:nn:ss"/>
+			<col ref="SLAB_NO"/>
+		</datagrid>
+		<caption id="caption3" class="cell" style="left:0px; top:5px; width:70px; height:20px; font-weight:bold; border-color:#000000; ">轧辊号</caption>
+		<select1 id="combo1" ref="/root/formData/ROLL_NO" appearance="minimal" style="left:70px; top:5px; width:85px; height:20px; ">
+			<choices>
+				<itemset nodeset="/root/combData/ROLL_NO/EmpListResult2_Row">
+					<label ref="ROLL_MANA_NO_2"/>
+					<value ref="ROLL_MANA_NO"/>
+				</itemset>
+			</choices>
+			<script type="javascript" ev:event="xforms-value-changed">
+				<![CDATA[
+					find();
+				]]>
+			</script>
+		</select1>
+	</xhtml:body>
+</xhtml:html>

+ 53 - 0
.svn/pristine/01/01fe9cb96cf427fd4eca19714f5d434b55cc1a6a.svn-base

@@ -0,0 +1,53 @@
+<?xml version="1.0"?>
+
+<project name="Bits"  default="AllCopy">
+    <property file="build.properties"/>
+
+    <target name="AllCopy" depends="war">
+		<echo>Start Copy from ${WebContent.dir} to ${target.WebContent.dir}</echo>
+		<copy todir="${target.WebContent.dir}">
+		    <fileset dir="${build.dir}">
+		      	<include name="*.war"/>
+		    </fileset>
+		</copy>
+		<echo>End Copy</echo>
+		<echo>Start delete</echo>
+		<delete dir="${target.WebContent.dir}/${WEB_NAME}" />
+		<echo>End delete</echo>
+    </target>
+	<target name="makeBuilDir">
+		<echo>Start make dir ${build.dir}</echo>
+		<mkdir dir="${build.dir}"/>
+	</target>
+	<target name="war" depends="makeBuilDir" description="Creates the WAR file">
+		<echo>Start Build WAR to ${build.dir} WAR Name is ${WEB_NAME}.war</echo>
+		<war destfile="${build.dir}/${WEB_NAME}.war" webxml="${WebContent.dir}/WEB-INF/web.xml">
+			<fileset dir="${WebContent.dir}">
+				<patternset>
+					<include name="*.jsp"/>
+					<include name="**"/>
+					<include name="META-INF/*"/>
+				</patternset>
+			</fileset>
+			<webinf dir="${WebContent.dir}/WEB-INF/" >
+				<patternset>
+					<include name="*.xml"/>
+					<include name="*.tld"/>					
+				</patternset>
+			</webinf>
+			<classes dir="${class.dir}">
+				<patternset>
+			    	<include name="**/*.class"/>
+			    	<include name="**/*.properties"/>
+			    	<include name="**/*.ccf"/>
+			    	<include name="**/*.xml"/>
+			    	<include name="templates/*.*"/>
+				</patternset>
+			</classes>
+			<lib dir="${WebContent.dir}/WEB-INF/lib">
+				<include name="*.jar"/>
+			</lib>
+		</war>
+		<echo>End war</echo>
+	</target>
+</project>

BIN
.svn/pristine/02/020c7face5018d547fd9582ad0588a91e5db837f.svn-base


+ 62 - 0
.svn/pristine/02/0219ae6c35e6195e6af048d675fd69f1d9689134.svn-base

@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding='UTF-8'?>
+<queryMap desc="自动选定充当对象物料">
+
+	<query id="UIE041010.Job.Select" desc="" fetchSize="10">
+		<![CDATA[
+			SELECT
+				PLT,				-- 工厂
+				MAIN_PGMID,			-- 主程序 ID
+				MAIN_PGMNAME,		-- 主程序名称
+				PRC_STS,			-- 进程状态
+				PRC_DESCRIPTION,	-- 主要处理内容
+				PRC_SDTIME,			-- 处理开始时间
+				PRC_EDTIME,			-- 处理完毕时间
+				PRC_NEED_ID			-- 申请处理人
+			FROM TBE05_JOB
+			WHERE PLT LIKE ?||'%'	-- 参数:工厂
+		]]>
+	</query> 
+	<query id="UIE041010.JobDet.Select" desc="" fetchSize="10">
+		<![CDATA[
+			SELECT
+				SEQ,				-- 顺序
+				SUB_PGMID,			-- 子程序 ID
+				SUB_PGMNAME,		-- 子程序名称
+				PRC_STS,			-- 进程状态
+				PRC_SDTIME,			-- 处理开始时间
+				PRC_EDTIME,			-- 处理完毕时间
+				ERR_DESCRIPTION		-- 错误内容
+			FROM TBE05_JOB_DET
+			WHERE PLT = ?			-- 参数:工厂
+			  AND MAIN_PGMID = ?	-- 参数:主程序 ID
+			ORDER BY SEQ
+		]]>
+	</query> 
+
+	<query id="UIE041010.Job.Update" desc="">
+		<![CDATA[
+			UPDATE TBE05_JOB SET
+				PRC_STS = ?			-- 进程状态
+			WHERE PLT = ?			-- 工厂
+			  AND MAIN_PGMID = ?	-- 主程序 ID
+		]]>
+	</query>
+	<query id="UIE041010.JobDet.Update" desc="">
+		<![CDATA[
+			UPDATE TBE05_JOB_DET SET
+				PRC_STS = ?			-- 进程状态
+			WHERE PLT = ?			-- 工厂
+			  AND MAIN_PGMID = ?	-- 主程序 ID
+			  AND SEQ = ?			-- 顺序
+		]]>
+	</query>    
+	<query id="UIE041010.RepOrd.Update" desc="">
+		<![CDATA[
+			UPDATE TBE04_REP_ORD SET
+				REP_REM_WGT = REP_REM_WGT + REP_WGT,	-- 充当余量产品重量
+				REP_WGT = 0								-- 充当产品重量
+			WHERE REP_WGT > 0
+		]]>
+	</query>    
+    
+</queryMap>

+ 830 - 0
.svn/pristine/02/021ffbfa6a7fcccc1bf31ec0050149280fdc69d9.svn-base

@@ -0,0 +1,830 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/css" href="../../css/body.css" ?>
+<xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
+	<xhtml:head>
+		<xhtml:title>
+			<![CDATA[品质判定>>成分判定>>炉次号成分实绩录入]]>
+		</xhtml:title>
+		<model id="model1">
+			<instance id="instance1">
+				<root xmlns="">
+					<formData>
+						<CHARGENO/>
+						<PROCCD>JJ</PROCCD>
+						<guolv>C</guolv>
+						<MOD_RMK/>
+					</formData>
+					<initChargeData/>
+					<grid>
+						<datagrid1/>
+						<datagrid2/>
+						<datagrid3/>
+						<datagrid4/>
+						<datagrid5/>
+					</grid>
+					<tempData>
+						<tempData1/>
+						<tempData2/>
+						<tempData3/>
+						<tempData4/>
+						<tempData5/>
+					</tempData>
+					<jisuanshi/>
+					<initProc>
+						<ProcCDResult_Row>
+							<LABEL/>
+							<VALUE/>
+						</ProcCDResult_Row>
+					</initProc>
+					<panding/>
+					<fwdData>
+						<UIB020030>
+							<URL/>
+						</UIB020030>
+					</fwdData>
+					<OtherInfo>
+						<StlGrdResult_Row>
+							<STL_GRD/>
+							<PRODNM_CD/>
+							<SLAB_RT/>
+							<CHARGE_INGR_DEC_EMP_ID/>
+							<REGID/>
+							<LST_INGR_REG_DTIME/>
+						</StlGrdResult_Row>
+					</OtherInfo>
+				</root>
+			</instance>
+			<script type="javascript" ev:event="xforms-ready">
+				<![CDATA[
+				    if(window.parent==null) Init();
+				]]>
+			</script>
+		</model>
+		<script type="javascript" src="../../js/boaCommon.js"/>
+		<script type="javascript" src="../../js/b01.js"/>
+		<script type="javascript">
+			<![CDATA[
+				function Init(node)
+				{
+					InitParams(node);
+					
+					input40.value	 =  document.readIniFile("session1" , "UIB020030_01" , "" , "c:\\WINDOWS\\xgmes3.ini");
+					radio1.value	 =  document.readIniFile("session1" , "UIB020030_03" , "" , "c:\\WINDOWS\\xgmes3.ini");
+					
+ 					datagrid1.colStatus(0)=false; //使表格1中“选择”列不对结果产生影响
+					//炉次号初始化
+					if(combo2.value=="C")
+					{
+						commSubmit("UIB020030-service", "guolv", "glueAction.do");
+					}
+					else
+					{
+						commSubmit("UIB020030-service", "success", "glueAction.do");
+					}
+					model.copyNode("/root/initChargeData" , "/root/resData/ChargeNOResult_VO");
+					model.copyNode("/root/initProc" , "/root/resData/ProcCDResult_VO");
+					model.refresh();
+				}
+				function find()
+				{
+					///获得请求参数
+					model.removenode("/root/reqData");
+					model.makeValue("/root/reqData/CHARGENO" , model.getValue("/root/formData/CHARGENO"));	
+					model.makeValue("/root/reqData/PROCCD"   , model.getValue("/root/formData/PROCCD"));			
+					///写入炉次号到文件中
+					document.writeIniFile("session1" , "UIB020030_01" , input40.value , "c:\\WINDOWS\\xgmes3.ini");
+					document.writeIniFile("session1" , "UIB020030_02" , combo2.value  , "c:\\WINDOWS\\xgmes3.ini");
+					document.writeIniFile("session1" , "UIB020030_03" , radio1.value  , "c:\\WINDOWS\\xgmes3.ini");
+					///submit
+				   commSubmit("UIB020030-service", "findChargeInfo", "glueAction.do");
+					model.copyNode("/root/OtherInfo" , "/root/resData/StlGrdResult_VO");
+				    ///copy to datagrid1
+				    model.copyNode("/root/grid/datagrid1" , "/root/resData/ChargeList_VO");
+				    removeGridData();//清除表2、3、4、5数据
+				    model.refresh();
+				    //恢复被改变的颜色
+				    datagrid2.rebuildStyle();
+				    datagrid3.rebuildStyle();
+				    datagrid4.rebuildStyle();
+				    datagrid5.rebuildStyle();
+				   datagrid1.clearStatus(); 
+					datagrid2.clearStatus();
+					datagrid3.clearStatus();
+					datagrid4.clearStatus();
+					datagrid5.clearStatus();
+				}
+				
+				var selectRow	=	0;//用于保存表1中查询的列
+				function save()
+				{
+					if(selectRow == 0)
+					{
+						window.alert("非法操作!请先查询" , "提示");
+						return;
+					}
+					if(commComfirmBox("确认保存?","提示")=="0") return;  
+					model.removenode("/root/reqData");
+					model.makeNode("/root/reqData");
+					model.removenode("/root/tempData");
+					model.makeNode("/root/tempData/tempData1");
+					model.makeNode("/root/tempData/tempData2");
+					model.makeNode("/root/tempData/tempData3");
+					model.makeNode("/root/tempData/tempData4");
+					model.makeNode("/root/tempData/tempData5");
+
+					///生成请求参数
+//					b01MultiUpdate(datagrid2,"/root/tempData/tempData1" ,"A",  true,   "rowStuts1");//表2
+					b01MultiUpdate(datagrid2,"/root/tempData/tempData2" ,"A",  true,   "rowStuts2");//表2
+					b01MultiUpdate(datagrid3,"/root/tempData/tempData3" ,"A",  true,   "rowStuts2");//表3
+					b01MultiUpdate(datagrid4,"/root/tempData/tempData4" ,"A",  true,   "rowStuts2");//表4
+					b01MultiUpdate(datagrid5,"/root/tempData/tempData5" ,"A",  true,   "rowStuts2");//表5
+					commSendReq("/root/grid/datagrid1/ChargeList_Row["+selectRow+"]" , 
+					            "/root/tempData/tempData2","/root/tempData/tempData3","/root/tempData/tempData4");
+					getLoggingInInfo();//获取登录人信息
+					model.makeValue("/root/reqData/MOD_RMK" , model.getValue("/root/formData/MOD_RMK"));
+					model.makeValue("/root/reqData/STL_GRD" , model.getValue("/root/OtherInfo/StlGrdResult_Row/STL_GRD"));
+					commSubmit("UIB020030-service", "save", "glueAction.do");
+					copyFixNode("/root/grid/datagrid2","/root/resData/SingleChem_VO/SingleChem_Row",1 , 13);//表2
+                 copyFixNode("/root/grid/datagrid3","/root/resData/SingleChem_VO/SingleChem_Row",14, 26);//表3
+                 copyFixNode("/root/grid/datagrid4","/root/resData/SingleChem_VO/SingleChem_Row",27,50);//表4
+                 model.copyNode("/root/grid/datagrid5" , "/root/resData/CompChem_VO");//表5
+					model.refresh();
+					selectRow		=	0;          
+					datagrid1.clearStatus();        
+					datagrid2.clearStatus();
+					datagrid3.clearStatus();
+					datagrid4.clearStatus();
+					datagrid5.clearStatus();
+				}
+				
+				//查询表格1时需要清除表2、3、4、5原来数据
+				function removeGridData()
+				{
+					model.removenode("/root/grid/datagrid2");
+					model.removenode("/root/grid/datagrid3");
+					model.removenode("/root/grid/datagrid4");
+					model.removenode("/root/grid/datagrid5");
+					model.makeNode("/root/grid/datagrid2");
+					model.makeNode("/root/grid/datagrid3");
+					model.makeNode("/root/grid/datagrid4");
+					model.makeNode("/root/grid/datagrid5");
+				}
+				
+				function XXX()
+				{
+					    ///若当前行等于最后一行,则表2、3、4、5的值允许修改;否则不允许修改                      
+                      if(datagrid1.row==(datagrid1.rows-1))//可改
+                      {
+                      		datagrid2.colAttribute(datagrid2.colRef("CHEM_VAL") , "editable") = "true";
+                      		datagrid3.colAttribute(datagrid3.colRef("CHEM_VAL") , "editable") = "true";
+                      		datagrid4.colAttribute(datagrid4.colRef("CHEM_VAL") , "editable") = "true";
+                      		datagrid5.colAttribute(datagrid5.colRef("CHEM_VAL") , "editable") = "true";
+                      }
+                      else //不可改s
+                      {	 
+                      		datagrid2.colAttribute(datagrid2.colRef("CHEM_VAL") , "editable") = "false";
+                      		datagrid3.colAttribute(datagrid3.colRef("CHEM_VAL") , "editable") = "false";
+                      		datagrid4.colAttribute(datagrid4.colRef("CHEM_VAL") , "editable") = "false";
+                      		datagrid5.colAttribute(datagrid5.colRef("CHEM_VAL") , "editable") = "false";
+                      }
+                      //Y表质保书已发,成分不可再修改
+                      if(datagrid1.valueMatrix(datagrid1.row , datagrid1.colRef("UPDATE_NO_TP")) == "Y")
+                      {
+                      		datagrid2.colAttribute(datagrid2.colRef("CHEM_VAL") , "editable") = "false";
+                      		datagrid3.colAttribute(datagrid3.colRef("CHEM_VAL") , "editable") = "false";
+                      		datagrid4.colAttribute(datagrid4.colRef("CHEM_VAL") , "editable") = "false";
+                      		datagrid5.colAttribute(datagrid5.colRef("CHEM_VAL") , "editable") = "false";
+                      }
+				}
+				
+				//不合格项变为红色
+				function changeColor(grid)
+				{
+					var valCol	=	grid.colRef("CHEM_VAL");//实绩值做在列
+					var minCol =   grid.colRef("CHEM_MIN");//最小值的列
+					var maxCol = 	grid.colRef("CHEM_MAX");//最大值的列
+					grid.colstyle(valCol, "data", "background-color") = "#ffff99";//恢复初始的黄色再染色
+					var min = "";
+					var max = "";
+					var val = "";
+					for(var i = 1; i < grid.rows; i++)
+					{
+						min	=	grid.valueMatrix(i , minCol);//成分最小
+						max	=	grid.valueMatrix(i , maxCol);//最大
+						val =   grid.valueMatrix(i , valCol);//实绩
+					 
+						if(val != "" && min !="" && parseFloat(min) > parseFloat(val) )//实绩值应大于等于指示最小值,否则不合格
+						{
+							
+							grid.cellStyle("background-color" , i , valCol) = "#ff0000";
+						}
+						if(val != "" && max != "" && parseFloat(max) < parseFloat(val))//实绩值应小于等于指示最大值,否则不合格
+						{
+							grid.cellStyle("background-color" , i , valCol) = "#ff0000";
+						}
+						if(val =="" && (max != "" || min !="") )
+						{
+							grid.cellStyle("background-color" , i , valCol) = "#cc99ff";
+						}
+					}
+				}
+				
+				var value;//用于保存最终的计算值
+				function  calculateChem(grid)
+				{
+					var storChem;//保存每一个元素
+					var chemCal =	datagrid5.valueMatrix(datagrid5.row , datagrid5.colRef("COMP_CAL"));//保存复合元素计算式	
+					var chemRow =	grid.colRef("CHEM_CD");//元素名所在列
+					var chemVal =	grid.colRef("CHEM_VAL"); //元素值所在列
+					for(var i = grid.fixedRows; i < grid.rows; i++)
+					{
+					   storChem    =	grid.valueMatrix(i , chemRow);
+                      chemCal     =  chemCal.replaceAll(storChem , grid.valueMatrix(i , chemVal)==""?0:grid.valueMatrix(i , chemVal));
+					}
+					value	=	eval(chemCal.replaceAll("=" , ""));
+				}
+				var count  = 0;//控制表格2、3、4最后一次的回车数,若值变为2则跳到下一个表格
+			]]>
+		</script>
+	</xhtml:head>
+	<xhtml:body accesskey="f2" pagewidth="980" pageheight="620" guideline="1,980;1,980;" style="text-align:center; ">
+		<datagrid id="datagrid1" nodeset="/root/grid/datagrid1/ChargeList_Row" caption="选择^炉次号^工序^次数^工序代码^是否已判定" colsep="^" colwidth="43, 87, 40, 18, 77, 44" defaultrows="35" mergecellsfixedrows="bycolrec" rowheight="30" rowsep="|" tooltip="label" style="left:0px; top:85px; width:271px; height:510px; ">
+			<col checkvalue="Y,N" ref="CHK" type="checkbox"/>
+			<col editable="false" ref="CHARGE_NO" style="font-weight:bold; text-align:left; background-color:#ffffff; "/>
+			<col disabled="true" ref="PROC_CD" type="combo" style="font-weight:bold; text-align:left; ">
+				<choices>
+					<item>
+						<label>脱硫</label>
+						<value>JA</value>
+					</item>
+					<item>
+						<label>转炉</label>
+						<value>JB</value>
+					</item>
+					<item>
+						<label>CAS前</label>
+						<value>J1</value>
+					</item>
+					<item>
+						<label>CAS后</label>
+						<value>J2</value>
+					</item>
+					<item>
+						<label>LF站</label>
+						<value>JL</value>
+					</item>
+					<item>
+						<label>RH站</label>
+						<value>JR</value>
+					</item>
+					<item>
+						<label>连铸</label>
+						<value>JJ</value>
+					</item>
+					<item>
+						<label/>
+						<value/>
+					</item>
+				</choices>
+			</col>
+			<col editable="false" ref="CHEM_SEQ" visibility="hidden" style="left:80px; top:20px; width:30px; height:20px; font-weight:bold; background-color:#ffffff; "/>
+			<col ref="CHEM_L2_PROC_CD" type="input" style="text-align:left; background-color:#ffff99; "/>
+			<col ref="DEC_YN" visibility="hidden"/>
+			<script type="javascript" ev:event="ondblclick">
+				<![CDATA[ 
+      				if(datagrid1.row > 0) //若双击的不是标题行               
+      				{
+                     selectRow	=	datagrid1.row;//selectRow为全局变量
+                     	///获得请求参数
+                     model.removenode("/root/reqData");
+	                  commSendReq("/root/grid/datagrid1/ChargeList_Row["+selectRow+"]"); //当前行的请求参数
+	                  model.makeValue("/root/reqData/STL_GRD" ,  input1.value);//厂内排号
+	                  model.makeValue("/root/reqData/PRODNM_CD", combo1.value);//板坯去向
+	                  ///submit
+	                  commSubmit("UIB020030-service", "findIngr", "glueAction.do");
+	                  copyFixNode("/root/grid/datagrid2","/root/resData/SingleChem_VO/SingleChem_Row",1 , 13);//表2
+	                  copyFixNode("/root/grid/datagrid3","/root/resData/SingleChem_VO/SingleChem_Row",14, 26);//表3
+	                  copyFixNode("/root/grid/datagrid4","/root/resData/SingleChem_VO/SingleChem_Row",27,50);//表4
+	                  model.copyNode("/root/grid/datagrid5" , "/root/resData/CompChem_VO");//表5
+	                  model.refresh();
+
+                     changeColor(datagrid2);
+                     changeColor(datagrid3);
+                     changeColor(datagrid4);
+                     changeColor(datagrid5);
+                      
+                     datagrid2.clearStatus();
+                     datagrid3.clearStatus();
+                     datagrid4.clearStatus();
+                     datagrid5.clearStatus();
+      				}
+				]]>
+			</script>
+			<script type="javascript" ev:event="onentercell">
+				<![CDATA[
+//					datagrid1.editCell();
+				]]>
+			</script>
+		</datagrid>
+		<datagrid id="datagrid2" nodeset="/root/grid/datagrid2/SingleChem_Row" caption="成分^最小^最大^实绩^EX" colsep="^" colwidth="45, 60, 60, 60, 42" defaultrows="14" mergecellsfixedrows="bycolrec" rowsep="|" selectionmode="free" tooltip="true" style="left:275px; top:65px; width:236px; height:296px; font-family:宋体; ">
+			<col ref="CHEM_CD" style="font-weight:bold; text-align:left; "/>
+			<col ref="CHEM_MIN" style="font-weight:bold; text-align:right; "/>
+			<col ref="CHEM_MAX" style="font-weight:bold; text-align:right; "/>
+			<col ref="CHEM_VAL" type="input" format="0.9999999" style="font-weight:bold; text-align:right; background-color:#ffff99; "/>
+			<col ref="EX" visibility="hidden"/>
+			<script type="javascript" ev:event="onclick">
+				<![CDATA[
+					datagrid2.editCell();
+				]]>
+			</script>
+			<script type="javascript" ev:event="onkeydown">
+				<![CDATA[
+					if(event.keyCode==13)//回车事件
+					{
+						datagrid2.row++;
+						if(datagrid2.row	==	datagrid2.rows-1)//到表格2最后一行时,焦点转移到表格3,并将表格2的焦点移动到第0行
+						{
+							count++;
+							if(count==2)
+							{
+								model.setFocus("datagrid3" , true);//设置焦点
+								datagrid3.col	=	datagrid3.colRef("CHEM_VAL");//设置表格3的焦点位置
+								datagrid3.row	=	1;		//设置表格3的焦点位置
+								datagrid2.row	=	0;	
+								count	=	0;//重新归0;为下一个表格准备				
+							}
+						}
+					}
+//					if(event.keyCode==109)//"-"事件
+//					{
+//						datagrid2.row--;
+//						datagrid2.endEditCell();
+//					}
+					if(event.keyCode==107)//"+"事件
+					{
+						datagrid2.row--;
+						datagrid2.endEditCell();
+					}
+				]]>
+			</script>
+			<script type="javascript" ev:event="xforms-value-changed">
+				<![CDATA[
+					changeColor(datagrid2);
+				]]>
+			</script>
+		</datagrid>
+		<datagrid id="datagrid3" nodeset="/root/grid/datagrid3/SingleChem_Row" caption="成分^最小^最大^实绩^EX" colsep="^" colwidth="45, 60, 60, 60, 41" defaultrows="14" mergecellsfixedrows="bycolrec" rowsep="|" selectionmode="free" style="left:517px; top:65px; width:227px; height:296px; ">
+			<col ref="CHEM_CD" style="font-weight:bold; text-align:left; "/>
+			<col ref="CHEM_MIN" style="font-weight:bold; text-align:right; "/>
+			<col ref="CHEM_MAX" style="font-weight:bold; text-align:right; "/>
+			<col ref="CHEM_VAL" type="input" format="0.9999999" style="font-weight:bold; text-align:right; background-color:#ffff99; "/>
+			<col ref="EX" visibility="hidden"/>
+			<script type="javascript" ev:event="onclick">
+				<![CDATA[
+					datagrid3.editCell();
+				]]>
+			</script>
+			<script type="javascript" ev:event="onkeydown">
+				<![CDATA[
+					if(event.keyCode==13)
+					{
+						datagrid3.row++;
+						if(datagrid3.row	==	datagrid3.rows-1)//到表格3最后一行时,焦点转移到表格4,并将表格2的焦点移动到第0行
+						{
+							count++;
+							if(count==2)
+							{
+								model.setFocus("datagrid4" , true);//设置焦点
+								datagrid4.col	=	datagrid4.colRef("CHEM_VAL");//设置表格4的焦点位置
+								datagrid4.row	=	1;		//设置表格4的焦点位置
+								datagrid3.row	=	0;			
+								count          =   0;//为下一个表格最准备		
+							}
+						}
+					}
+//					if(event.keyCode==109)//"-"事件
+//					{
+//						datagrid3.row--;
+//						datagrid3.endEditCell();
+//					}
+					if(event.keyCode==107)//"+"事件
+					{
+						datagrid3.row--;
+						datagrid3.endEditCell();
+					}
+				]]>
+			</script>
+			<script type="javascript" ev:event="xforms-value-changed">
+				<![CDATA[
+					changeColor(datagrid3);
+				]]>
+			</script>
+		</datagrid>
+		<datagrid id="datagrid4" nodeset="/root/grid/datagrid4/SingleChem_Row" caption="成分^最小^最大^实绩^EX" colsep="^" colwidth="45, 60, 60, 60, 41" defaultrows="14" mergecellsfixedrows="bycolrec" rowsep="|" selectionmode="free" style="left:750px; top:65px; width:227px; height:296px; ">
+			<col ref="CHEM_CD" style="font-weight:bold; text-align:left; "/>
+			<col ref="CHEM_MIN" style="font-weight:bold; text-align:right; "/>
+			<col ref="CHEM_MAX" style="font-weight:bold; text-align:right; "/>
+			<col ref="CHEM_VAL" type="input" format="0.9999999" style="font-weight:bold; text-align:right; background-color:#ffff99; "/>
+			<col ref="EX" visibility="hidden"/>
+			<script type="javascript" ev:event="onclick">
+				<![CDATA[
+					datagrid4.editCell();
+				]]>
+			</script>
+			<script type="javascript" ev:event="onkeydown">
+				<![CDATA[
+					if(event.keyCode==13)
+					{
+						datagrid4.row++;
+						if(datagrid4.rows-1 == datagrid4.row)
+						{
+							count++;
+							if(count==2)
+							{
+								model.setFocus("datagrid2" , true);//设置焦点
+								datagrid2.col	=	datagrid2.colRef("CHEM_VAL");//设置表格4的焦点位置
+								datagrid2.row	=	1;		//设置表格4的焦点位置
+								datagrid2.row	=	0;			
+								count = 0;//重新归0,避免会到表格2时出问题
+							}
+						}
+					}
+//					if(event.keyCode==109)//"-"事件
+//					{
+//						datagrid4.row--;
+//						datagrid4.editCell();
+//					}
+					if(event.keyCode==107)//"+"事件
+					{
+						datagrid4.row--;
+						datagrid4.editCell();
+					}
+				]]>
+			</script>
+			<script type="javascript" ev:event="xforms-value-changed">
+				<![CDATA[
+					changeColor(datagrid4);
+				]]>
+			</script>
+		</datagrid>
+		<datagrid id="datagrid5" nodeset="/root/grid/datagrid5/CompChem_Row" caption="元素标识^复合元素或计算式^最小^最大^实绩^EX^成分" colsep="^" colwidth="112, 382, 60, 60, 60, 28, 56" defaultrows="12" mergecellsfixedrows="bycolrec" rowsep="|" selectionmode="free" tooltip="true" style="left:275px; top:365px; width:701px; height:173px; font-weight:bold; ">
+			<col ref="COMP_DETAIL" style="font-weight:bold; text-align:left; "/>
+			<col ref="COMP_CAL" style="font-weight:bold; text-align:left; "/>
+			<col ref="CHEM_MIN" style="font-weight:bold; text-align:right; "/>
+			<col ref="CHEM_MAX" style="font-weight:bold; text-align:right; "/>
+			<col ref="CHEM_VAL" type="input" style="text-align:right; background-color:#ffff99; "/>
+			<col ref="EX" visibility="hidden"/>
+			<col ref="CHEM_CD" visibility="hidden"/>
+			<script type="javascript" ev:event="onclick">
+				<![CDATA[
+//					datagrid5.editCell();
+					if(datagrid5.row <= 0)	return;
+					try
+					{ 
+						var storChem;//保存每一个元素
+						var chemCal =	datagrid5.valueMatrix(datagrid5.row , datagrid5.colRef("COMP_CAL"));//保存复合元素计算式	
+						var chemRow =	0;//元素名所在列
+						var chemVal =	3; //元素值所在列
+						//在grid1、2、3中找到与复合计算式中相同的元素,并将对应元素的值替换到计算式中
+						for(var i = datagrid2.fixedRows; i < datagrid2.rows; i++)
+						{
+						   storChem    =	datagrid2.valueMatrix(i , chemRow);//元素名
+	                      chemCal     =  chemCal.replaceAll(storChem , datagrid2.valueMatrix(i , chemVal).Trim()==""?0:datagrid2.valueMatrix(i , chemVal));
+						}
+						for(var i = datagrid3.fixedRows; i < datagrid3.rows; i++)
+						{
+						   storChem    =	datagrid3.valueMatrix(i , chemRow);
+	                      chemCal     =  chemCal.replaceAll(storChem , datagrid3.valueMatrix(i , chemVal).Trim()==""?0:datagrid3.valueMatrix(i , chemVal));
+						}
+						for(var i = datagrid4.fixedRows; i < datagrid4.rows; i++)
+						{
+						   storChem    =	datagrid4.valueMatrix(i , chemRow);
+	                      chemCal     =  chemCal.replaceAll(storChem , datagrid4.valueMatrix(i , chemVal).Trim()==""?0:datagrid4.valueMatrix(i , chemVal));
+						}
+//						alert(chemCal);
+						input2.value	=	eval(chemCal.replace("=" , "")) + "";
+						model.refresh();
+						datagrid5.valueMatrix(datagrid5.row , datagrid5.colRef("CHEM_VAL")) = input2.value.toFixed(2);//四舍五入
+						datagrid5.addStatus(datagrid5.row , "update");
+						model.refresh();
+					}catch(e)
+					{
+						
+					}
+				]]>
+			</script>
+			<script type="javascript" ev:event="onkeydown">
+				<![CDATA[
+					if(event.keyCode==13)
+					{
+						datagrid5.row	=	datagrid5.row+1;
+					}
+				]]>
+			</script>
+			<script type="javascript" ev:event="xforms-value-changed">
+				<![CDATA[
+					changeColor(datagrid5);
+				]]>
+			</script>
+		</datagrid>
+		<caption id="caption3" class="cell" style="left:65px; top:35px; width:585px; height:20px; "/>
+		<caption id="caption8" class="cell" style="left:0px; top:35px; width:65px; height:20px; ">炼钢工序</caption>
+		<caption id="caption10" class="cell" style="left:0px; top:597px; width:105px; height:20px; ">厂内牌号</caption>
+		<select1 id="radio1" ref="/root/formData/PROCCD" appearance="full" cellspacing="13" cols="10" overflow="visible" style="left:65px; top:37px; width:575px; height:20px; border-style:none; ">
+			<choices>
+				<item>
+					<label>脱硫</label>
+					<value>JA</value>
+				</item>
+				<item>
+					<label>吹炼前</label>
+					<value>J5</value>
+				</item>
+				<item>
+					<label>吹炼后</label>
+					<value>J6</value>
+				</item>
+				<item>
+					<label>转炉</label>
+					<value>JB</value>
+				</item>
+				<item>
+					<label>CAS前</label>
+					<value>J1</value>
+				</item>
+				<item>
+					<label>CAS后</label>
+					<value>J2</value>
+				</item>
+				<item>
+					<label>RH</label>
+					<value>JR</value>
+				</item>
+				<item>
+					<label>LF</label>
+					<value>JL</value>
+				</item>
+				<item>
+					<label>连铸</label>
+					<value>JJ</value>
+				</item>
+				<item>
+					<label>VD炉</label>
+					<value>VD</value>
+				</item>
+			</choices>
+			<script type="javascript" ev:event="onclick">
+				<![CDATA[
+					find();
+				]]>
+			</script>
+		</select1>
+		<caption id="caption2" class="cell" style="left:0px; top:5px; width:80px; height:20px; ">炉次号</caption>
+		<input id="input1" ref="/root/OtherInfo/StlGrdResult_Row/STL_GRD" editable="false" style="left:105px; top:597px; width:165px; height:20px; text-align:left; "/>
+		<button id="button1" style="left:145px; top:65px; width:75px; height:20px; background-image:..\..\images\btn_add.gif; ">
+			<caption>增加</caption>
+			<script type="javascript" ev:event="DOMActivate">
+				<![CDATA[
+						if(beGridChanged(datagrid1 ,datagrid2 , datagrid3 , datagrid4 ,datagrid5)=="1")
+						{
+							window.alert("请先保存被修改的记录!", "警告");
+							return;
+						}
+											    
+					    model.removenode("/root/reqData"); 
+					  	datagrid1.addRow();
+					  	var currentRow	=	datagrid1.row; 
+						if(datagrid1.rows == 2)//若表格1中开始没有任何信息,增加一行后才变为2行
+						{
+							//赋值到新增的行中
+							datagrid1.valueMatrix(currentRow , datagrid1.colRef("CHARGE_NO"))=input40.value.Trim();
+							datagrid1.valueMatrix(currentRow , datagrid1.colRef("PROC_CD"))  = radio1.value;
+							datagrid1.valueMatrix(currentRow , datagrid1.colRef("CHEM_SEQ")) = "01";
+						}
+						else
+						{
+							///获得增加行的上一行的各个值
+							var	chargeNO	=	datagrid1.valueMatrix(currentRow-1 , datagrid1.colRef("CHARGE_NO"))	;//炉次号
+							var procCD		=	datagrid1.valueMatrix(currentRow-1 , datagrid1.colRef("PROC_CD"));  //工序
+							var chemSEQ		=	datagrid1.valueMatrix(currentRow-1 , datagrid1.colRef("CHEM_SEQ")); //次数
+							chemSEQ			=	eval(chemSEQ)+1; 
+							if(chemSEQ <= 9)
+							{
+								chemSEQ = "0"+chemSEQ;
+							}
+							///赋值到当前增加的行
+							datagrid1.valueMatrix(currentRow , datagrid1.colRef("CHARGE_NO"))= chargeNO;
+							datagrid1.valueMatrix(currentRow , datagrid1.colRef("PROC_CD"))  = procCD;
+							datagrid1.valueMatrix(currentRow , datagrid1.colRef("CHEM_SEQ")) = chemSEQ;
+						}
+						 selectRow	=	datagrid1.row;
+						 
+						 var iii	=	"N";//是否保留上一个被选中行的成分实绩
+						 for(var i = datagrid1.fixedRows; i < datagrid1.rows; i++)
+						 {
+						 	if(datagrid1.valueMatrix(i , 0) == "Y")
+						 	{
+						 		iii = "Y";
+						 		break;
+						 	}
+						 }
+						 if(iii == "Y")//表示需要进行insert的
+						 {
+						 	for(var i = datagrid2.fixedRows; i < datagrid2.rows; i++)
+						 	{
+						 		datagrid2.addStatus(i , "update");
+						 		datagrid2.valueMatrix(i , datagrid2.colRef("EX")) = "Y";
+						 	}
+						 	for(var i = datagrid3.fixedRows; i < datagrid3.rows; i++)
+						 	{
+						 		datagrid3.addStatus(i , "update");
+						 		datagrid3.valueMatrix(i , datagrid3.colRef("EX")) = "Y";
+						 	}
+						 	for(var i = datagrid4.fixedRows; i < datagrid4.rows; i++)
+						 	{
+						 		datagrid4.addStatus(i , "update");
+						 		datagrid4.valueMatrix(i , datagrid4.colRef("EX")) = "Y";
+						 	}
+						 	for(var i = datagrid5.fixedRows; i < datagrid5.rows; i++)
+						 	{
+						 		datagrid5.addStatus(i , "update");
+						 		datagrid5.valueMatrix(i , datagrid5.colRef("EX")) = "Y";
+						 	}
+						 }
+						 else
+						 {
+							//炉次号 
+	//						model.makeValue("/root/reqData/CHARGENO" , datagrid1.valueMatrix(currentRow , datagrid1.colRef("CHARGE_NO")));
+							model.makeValue("/root/reqData/ADDPARAM"  , input1.value+combo1.value);//厂内牌号+生产线
+							//将TBB01_FAC_INGR中的单一和复合元素放入后面2、3、4、5表格中,并清除原来存在的数据
+							removeGridData();
+							commSubmit("UIB020030-service", "addRow", "glueAction.do");
+							
+							///copy成分到2、3、4、5表格中,单一成分每个表为13个,最多容纳50个单一元素(表4可多于13个)
+							copyFixNode("/root/grid/datagrid2","/root/resData/SingleChem_VO/SingleChem_Row",1 , 13);//表2
+		                 copyFixNode("/root/grid/datagrid3","/root/resData/SingleChem_VO/SingleChem_Row",14, 26);//表3
+		                 copyFixNode("/root/grid/datagrid4","/root/resData/SingleChem_VO/SingleChem_Row",27,50);//表4
+		                 model.copyNode("/root/grid/datagrid5" , "/root/resData/CompChem_VO");//表5
+		                   
+							model.refresh();
+						 }
+						//必须先对 datagrid1中被选中的行清掉,否则后面的datagrid1.rebuild()操作后界面上没有被选择了,但实际上仍被选择,删除操作会出问题
+						for(var i = datagrid1.fixedRows; i < datagrid1.rows; i++)
+						{
+							datagrid1.valueMatrix(i , 0) = "N";
+						}
+						datagrid1.colAttribute(datagrid1.colRef("PROC_CD") , "disabled") = "true";
+						datagrid1.rebuild();
+						datagrid1.addStatus(selectRow , "insert");//因为被rebuild,所以需要重新增加插入状态
+	
+						datagrid1.refresh();
+				]]>
+			</script>
+		</button>
+		<button id="button2" style="left:210px; top:65px; width:73px; height:20px; background-image:..\..\images\btn_move.gif; ">
+			<caption>删除</caption>
+			<script type="javascript" ev:event="DOMActivate">
+				<![CDATA[
+				    //遍历寻找需要删除的行
+				   if(commComfirmBox("确认删除?","提示")=="0") return;  
+					for(var i = datagrid1.rows; i >= 1; i--)
+					{
+						if(datagrid1.valueMatrix(i , 0)=="Y")
+						{
+							datagrid1.deleteRow(i , false);
+						}
+					}
+
+					model.removenode("/root/reqData");
+					model.makeNode("/root/reqData");
+					b01MultiUpdate(datagrid1,"/root/reqData" ,"A",  true,   "rowStatusD");//获得表1中增加的记录	
+	 				commSubmit("UIB020030-service", "save", "glueAction.do");//delete row
+	 				removeGridData();//清除2\3\4原来的数据
+					
+					changeColor(datagrid2);
+                 changeColor(datagrid3);
+                 changeColor(datagrid4);
+                 changeColor(datagrid5);
+                   
+	 				datagrid1.clearStatus();//清除表格1被删除的状态记录
+	 				datagrid2.clearStatus();
+	 				datagrid3.clearStatus();
+	 				datagrid4.clearStatus();
+	 				datagrid5.clearStatus();
+	 				model.refresh();
+				]]>
+			</script>
+		</button>
+		<line id="line1" style="x1:0px; y1:30px; x2:978px; y2:30px; "/>
+		<line id="line2" style="x1:2px; y1:0px; x2:980px; y2:0px; "/>
+		<input id="input40" ref="/root/formData/CHARGENO" editable="false" style="left:80px; top:5px; width:100px; height:20px; "/>
+		<button id="button3" style="left:185px; top:5px; width:70px; height:20px; background-image:D:\Workspace\MESSpace\xgmes3\WebContents\images\btn_find.gif; ">
+			<caption>选择</caption>
+			<script type="javascript" ev:event="DOMActivate">
+				<![CDATA[
+window.load("./_0200CHARGENO.xrw", "modal", "modalWin", "left:400; top:40; width:620px; height:500px;sysmenu:visible; min:visible; max:hidden; resize:true;" , "/root/initChargeData" , "/root/RadioResult");					
+				]]>
+			</script>
+		</button>
+		<script type="javascript" ev:event="onaccesskey">
+			<![CDATA[
+				openWindow("UIB020030");
+			]]>
+		</script>
+		<caption id="caption5" class="cell" visibility="hidden" style="left:630px; top:5px; width:80px; height:20px; ">产线</caption>
+		<select1 id="combo1" ref="/root/OtherInfo/StlGrdResult_Row/SLAB_RT" disabled="true" visibility="hidden" appearance="minimal" style="left:710px; top:5px; width:85px; height:20px; ">
+			<choices>
+				<item>
+					<label>热轧厂</label>
+					<value>H</value>
+				</item>
+				<item>
+					<label>冷轧厂</label>
+					<value>C</value>
+				</item>
+				<item>
+					<label>厚板厂</label>
+					<value>P</value>
+				</item>
+				<item>
+					<label>中板厂</label>
+					<value>Z</value>
+				</item>
+				<item>
+					<label/>
+					<value/>
+				</item>
+			</choices>
+		</select1>
+		<script type="javascript" ev:event="onkeydown">
+			<![CDATA[
+				if(event.keyCode == 113)
+				{
+					window.load("../B03/UIB030203.xrw", "modal", "modalWin", "left:400; top:40; width:420px; height:420px;sysmenu:visible; min:visible; max:hidden; resize:false;");				
+				}		
+				if(event.keyCode==116)//按F5时刷新页面
+				{
+					model.removenode("/root/reqData");
+					combo2.value = document.readIniFile("session1" , "fr" , "" , "c:\\WINDOWS\\xgmes3.ini");
+					
+					datagrid1.colStatus(0)=false; //使表格1中“选择”列不对结果产生影响
+					//炉次号初始化
+					if(combo2.value=="Y")
+					{
+						commSubmit("UIB020030-service", "guolv", "glueAction.do");
+					}
+					else
+					{
+						commSubmit("UIB020030-service", "success", "glueAction.do");
+					}
+					model.copyNode("/root/initChargeData" , "/root/resData/ChargeNOResult_VO");
+					model.copyNode("/root/initProc" , "/root/resData/ProcCDResult_VO");
+					model.refresh();
+				}
+			]]>
+		</script>
+		<select1 id="combo2" ref="/root/formData/guolv" visibility="visible" appearance="minimal" style="left:270px; top:5px; width:100px; height:20px; text-align:left; ">
+			<choices>
+				<item>
+					<label>无连铸成分炉号</label>
+					<value>C</value>
+				</item>
+				<item>
+					<label>未判定炉号</label>
+					<value>B</value>
+				</item>
+			</choices>
+			<script type="javascript" ev:event="xforms-value-changed">
+				<![CDATA[
+					model.removenode("/root/reqData");
+					if(combo2.value=="C")
+					{
+						commSubmit("UIB020030-service", "guolv", "glueAction.do");
+//						alert("Y");
+					}
+					else
+					{
+//						alert("N");
+						commSubmit("UIB020030-service", "success", "glueAction.do");
+						model.copyNode("/root/initProc" , "/root/resData/ProcCDResult_VO");
+					}
+					model.copyNode("/root/initChargeData" , "/root/resData/ChargeNOResult_VO");
+					model.refresh();
+					document.writeIniFile("session1" , "fr" , combo2.value.Trim() , "c:\\WINDOWS\\xgmes3.ini");
+					
+				]]>
+			</script>
+		</select1>
+		<line id="line3" style="x1:2px; y1:60px; x2:980px; y2:60px; "/>
+		<caption id="caption1" class="cell" style="left:274px; top:541px; width:100px; height:20px; ">备注</caption>
+		<textarea id="textarea1" ref="/root/formData/MOD_RMK" scroll="autovscroll" style="left:274px; top:560px; width:701px; height:57px; text-align:left; vertical-align:top; "/>
+		<button id="button99" visibility="hidden" style="left:815px; top:5px; width:100px; height:20px; ">
+			<caption>FIND</caption>
+			<script type="javascript" ev:event="DOMActivate">
+				<![CDATA[
+				find();
+				]]>
+			</script>
+		</button>
+	</xhtml:body>
+</xhtml:html>

+ 87 - 0
.svn/pristine/02/023ec80f1ba5ec0f382030a5ddaa90058d9340e2.svn-base

@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding='UTF-8'?>
+<queryMap desc="材质(客户、标准)现状">
+    <query id="UIB010120_01.INITSELECT" desc="获取所有客户公司代码  CustCD ">  
+        <![CDATA[
+    	   SELECT DISTINCT 
+      	   T2.CUST_NM LABEL
+		   ,SUBSTR(CUST_SPEC_NO , 0 ,6) VALUE  
+		   FROM TBB01_CUST_QLTY T1 ,TBZ00_CUSTOMER T2
+		   WHERE SUBSTR(CUST_SPEC_NO , 0 ,6) = T2.CUST_CD(+)
+        ]]>   
+    </query> 
+	
+	<query id="UIB010120_02.INITSELECT" desc="获取所有标准号 SpecAbbsym">
+		SELECT  DISTINCT 
+		  SPEC_ABBSYM    LABEL 
+		, SPEC_ABBSYM    VALUE
+		FROM TBB01_SPEC_QLTY
+	</query>
+	
+	
+	<query id="UIB010120_03.INITSELECT" desc="根据标准号查钢号">
+		<![CDATA[
+			SELECT DISTINCT T.SPEC_STL_GRD LABEL
+			,T.SPEC_STL_GRD VALUE   
+			FROM TBB01_SPEC_QLTY T WHERE T.SPEC_ABBSYM = ?
+			ORDER BY SPEC_STL_GRD
+		 ]]>
+	</query>	
+	
+	<query id="UIB010120_01.SELECT" desc="查询出满足条件的所有客户材质代码">
+		SELECT    DISTINCT
+		          CQ.QLTY_CD
+		        , SQ.QLTY_CD_CFNM
+		FROM      TBB01_CUST_QLTY CQ
+		        , TBB01_SEQ_QLTY SQ
+		WHERE     CQ.QLTY_CD                      =   SQ.QLTY_CD
+		AND       substr(CQ.CUST_SPEC_NO , 1 , 6) LIKE   ?
+		AND      (   CQ.QLTY_MIN  IS NOT NULL
+    			  OR CQ.QLTY_MAX  IS NOT NULL
+				  OR CQ.QLTY_UNIT IS NOT NULL
+				  OR CQ.QLTY_TYPE IS NOT NULL)
+	</query>
+	
+	<query id="UIB010120_02.SELECT" desc="查询出满足条件的所有标准材质代码">
+		SELECT    DISTINCT
+		          SPE.QLTY_CD , SEQ.QLTY_CD_CFNM , SEQ.DISPLAY_SEQ     
+		FROM      TBB01_SPEC_QLTY SPE , TBB01_SEQ_QLTY SEQ
+	    WHERE     SPE.QLTY_CD      =  SEQ.QLTY_CD
+	    AND       SPE.SPEC_ABBSYM LIKE ?
+		AND       SPE.SPEC_STL_GRD LIKE ?
+	    AND      (   SPE.QLTY_MIN  IS NOT NULL
+			      OR SPE.QLTY_MAX  IS NOT NULL
+			      OR SPE.QLTY_UNIT IS NOT NULL
+			      OR SPE.QLTY_TYPE IS NOT NULL)
+		ORDER BY SEQ.DISPLAY_SEQ  	      
+	</query>
+	
+	<query id="UIB010120.MID" desc="SQL中需要动态生成的部分{0}用具体的材质代码替代,{1}用序号来代替">
+		, max(decode(QLTY_CD , '{0}' , QLTY_MIN , NULL))   QLTY_MIN{1} 
+		, max(decode(QLTY_CD , '{0}' , QLTY_MAX , NULL))   QLTY_MAX{1} 
+		, max(decode(QLTY_CD , '{0}' , QLTY_UNIT , NULL))  QLTY_UNIT{1} 
+		, max(decode(QLTY_CD , '{0}' , QLTY_TYPE , NULL))  QLTY_TYPE{1} 
+	</query>
+	
+	<query id="UIB010120_CUST.END" desc="客户材质信息查询">
+		FROM  TBB01_CUST_QLTY  WHERE  substr(CUST_SPEC_NO , 1 , 6) LIKE ?  GROUP BY CUST_SPEC_NO
+	</query>
+	
+	<query id="UIB010120_SPEC.START" desc="标准材质信息查询开始部分">
+		SELECT 
+		   PRDNM_CD 
+		,  PKG_QUALITY_COMM.FZ00_COMM('A01007' , ORD_USE_TP)  ORD_USE_TP 
+		,  SPEC_ABBSYM 
+		,  SPEC_STL_GRD
+		,  THK_MIN 
+		,  THK_MAX 
+		,  max(SMP_LOT_CD||SMP_LEN_LOC||SMP_TEST_DIR||SMP_FORM)   SAMPLING_CODE 
+	</query>
+	
+	<query id="UIB010120_SPEC.END" desc="标准材质信息查询结束部分">
+		FROM         TBB01_SPEC_QLTY   
+		WHERE        SPEC_ABBSYM LIKE ? 
+		AND          SPEC_STL_GRD LIKE ?   
+		GROUP BY     PRDNM_CD , ORD_USE_TP , SPEC_ABBSYM , SPEC_STL_GRD , THK_MIN  , THK_MAX
+		ORDER BY  SPEC_STL_GRD
+	</query>
+</queryMap>

+ 9 - 0
.svn/pristine/02/02445fc49d60e4532320384ea71bbeb4e722ac3b.svn-base

@@ -0,0 +1,9 @@
+package xin.glue.ui.common.blob;
+
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.List;
+
+public interface PosExcelInterface {
+	public void setData(List dataList, InputStream is, OutputStream os, int dataRow, int pageSize);
+}

+ 40 - 0
.svn/pristine/02/026feff2048adbdc63ed38a891537c5d7abef526.svn-base

@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Glue:GlueDiagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Glue="http://www.glueframework.com/activitydiagram/" id="6" location="20,20" size="100,100">
+  <child xsi:type="Glue:InitialState" id="2484" location="327,18" size="-1,-1" output="//@wire.0"/>
+  <child xsi:type="Glue:Activity" id="2485" location="242,61" size="173,-1" input="//@wire.0" output="//@wire.1" name="SetResultKeyList">
+    <property key="class" value="com.posdata.glue.biz.trustform.PosSetResultKeyList"/>
+    <property key="ResultKeyList" value="COILCOMM|RHFCOMM"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:RouterActivity" id="2486" location="172,123" size="312,-1" input="//@wire.1" output="//@wire.2" name="Router2486">
+    <property key="class" value="com.posdata.glue.biz.activity.PosDefaultRouter"/>
+  </child>
+  <child xsi:type="Glue:SearchActivity" id="2487" location="261,204" size="134,-1" input="//@wire.2" output="//@wire.3" name="SearchCOILCOMM">
+    <property key="sqlkey" value="UIH020035_01.select"/>
+    <property key="resultkey" value="COILCOMM"/>
+    <property key="dao" value="mesdao"/>
+    <property key="param0" value="COIL_NO"/>
+    <property key="class" value="com.posdata.glue.biz.activity.PosSearch"/>
+    <property key="param-count" value="1"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:SearchActivity" id="2488" location="266,269" size="133,-1" input="//@wire.3" output="//@wire.4" name="SearchRHFCOMM">
+    <property key="sqlkey" value="UIH020035_02.select"/>
+    <property key="resultkey" value="RHFCOMM"/>
+    <property key="dao" value="mesdao"/>
+    <property key="param0" value="COIL_NO"/>
+    <property key="class" value="com.posdata.glue.biz.activity.PosSearch"/>
+    <property key="param-count" value="1"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:FinalState" id="2489" location="330,346" size="-1,-1" input="//@wire.4"/>
+  <property key="tx1" value="true"/>
+  <property key="description" value=""/>
+  <wire id="681" guardcondition="success" firstRelativePoint="328,42" lastRelativePoint="328,61"/>
+  <wire id="682" guardcondition="success" firstRelativePoint="331,91" lastRelativePoint="331,123"/>
+  <wire id="683" guardcondition="find" firstRelativePoint="334,153" lastRelativePoint="334,210">
+    <bendpoint weight="0.5" firstDimension="6,43" secondDimension="-2,-44"/>
+  </wire>
+  <wire id="684" guardcondition="success" firstRelativePoint="335,213" lastRelativePoint="335,240"/>
+  <wire id="685" guardcondition="success" firstRelativePoint="340,270" lastRelativePoint="340,318"/>
+</Glue:GlueDiagram>

BIN
.svn/pristine/02/0275734c02dbf88b905e5ff61ca60ef5afc2988a.svn-base


BIN
.svn/pristine/02/02849ba7606266da11a2211ffe13845707cb991b.svn-base


+ 28 - 0
.svn/pristine/02/028d132326ee5bc6c89b8bf5982dae67da13f902.svn-base

@@ -0,0 +1,28 @@
+package xin.glue.ui.F.F02;
+
+import com.posdata.glue.biz.activity.PosActivity;
+import com.posdata.glue.biz.constants.PosBizControlConstants;
+import com.posdata.glue.context.PosContext;
+import com.posdata.glue.dao.PosGenericDao;
+import com.posdata.glue.dao.vo.PosRowSet;
+
+/**
+ * @author 孙佳旺(SunJiawang)
+ * @desc 查询宽度和厚度标准
+ * @return 
+ */
+public class FindRollWthThkGrp extends PosActivity
+{
+	public String runActivity(PosContext ctx)
+	{
+		PosRowSet rowSet = null;
+		String[] WF = (String[]) ctx.get("WF");
+		if("W".equals(WF[0])) {
+			rowSet = this.getDao("mesdao").find("UIF021010_1.find");//查宽度标准
+		}else {
+			rowSet = this.getDao("mesdao").find("UIF021010_2.find");//查厚度标准		
+		}
+		ctx.put("rs", rowSet);// 设置结果集的key为rs 并放入到PosContex对象中
+		return PosBizControlConstants.SUCCESS;
+	}
+}

+ 88 - 0
.svn/pristine/02/028d72e80995e31f308a12766ddecacb806fce87.svn-base

@@ -0,0 +1,88 @@
+package xin.glue.ui.J.J01;
+
+import xin.glue.ui.common.component.PosSiteLog;
+
+import com.posdata.glue.biz.activity.PosActivity;
+import com.posdata.glue.biz.constants.PosBizControlConstants;
+import com.posdata.glue.biz.control.PosBizControlIF;
+import com.posdata.glue.biz.control.PosBizProvider;
+import com.posdata.glue.component.PosConstants;
+import com.posdata.glue.context.PosContext;
+import com.posdata.glue.dao.vo.PosParameter;
+import com.posdata.glue.dao.vo.PosRow;
+import com.posdata.glue.dao.vo.PosRowSet;
+import com.posdata.glue.msg.PosMESMessageImpl;
+import com.posdata.glue.msg.PosMessage;
+
+/*
+ * desc:这里为保存完的发货指示号提供回退功能,便于成品在下车的时候出现有问题的卷或者车可以回退到保存以前。
+ * 让其它没有问题的车成功的发出去
+ * author:唐亮 tangliang 
+ * date:2009-7-21
+ */
+
+public class returnSHIPDIRCAR extends PosActivity{
+	public String runActivity(PosContext context)
+	{
+		
+//		行状态
+		String[] rowStuts1 = (String[])context.get("rowStuts1");
+		//选择标志
+		String[] CHK = (String[])context.get("CHK");
+		//发货指示
+		String[] SHIP_DIRNO = (String[])context.get("SHIP_DIRNO");
+		//运送指示
+		String[] DLIV_DIRNO = (String[])context.get("DLIV_DIRNO");
+//		排车顺序
+		String[] ALLOC_SEQ = (String[])context.get("ALLOC_SEQ");
+		//车辆号
+		String[] TRANS_CAR_NO = (String[])context.get("TRANS_CAR_NO");
+		//火车入库道次
+		String[] LANE_TP = (String[])context.get("LANE_TP");
+		//装车次数
+		String[] ENTERANCE_SEQ = (String[])context.get("ENTERANCE_SEQ");
+		//钢卷公共表中的ship_prog_cd
+		String ship_prog_cd = null;
+		
+		if(rowStuts1 != null){
+	//		这里循环行数,取出数据一行一行的更新
+			for(int i=0;i<rowStuts1.length;i++){
+				if(CHK[i].equals("Y")){
+					
+					PosParameter paramA = new PosParameter();
+					paramA.setWhereClauseParameter(0,DLIV_DIRNO[i]);					
+					PosRowSet rowsA = getDao("mesdao").find("UIJ010040_17.select", paramA);					
+					if(rowsA.hasNext()){
+						continue;
+						}
+					
+					
+	//				判断是否全部选择的标志位
+					boolean note = true;
+					
+					//如果是选中的项才可以执行更新操作,这里需要取消放入运输表的车厢号和排车顺序号,不能改变运输表的状态
+					PosParameter param0 = new PosParameter();
+					param0.setWhereClauseParameter(0, DLIV_DIRNO[i]);
+					
+					getDao("mesdao").update("UIJ010040_01.return", param0);
+					
+					//取消钢卷公共表中的车辆号,排车顺序号
+					PosParameter param1 = new PosParameter();
+					
+					param1.setWhereClauseParameter(0, DLIV_DIRNO[i]);
+					
+					getDao("mesdao").update("UIJ010040_04.return", param1);
+					
+					//不需要进行判断,一个发货指示对应一个运输指示
+					PosParameter param2 = new PosParameter();
+					param2.setWhereClauseParameter(0, SHIP_DIRNO[i]);
+					//可能还需要更新相应的时间信息,具体的等待确认
+					
+					getDao("mesdao").update("UIJ010040_03.return", param2);
+					
+				}
+			}
+		}
+		return PosBizControlConstants.SUCCESS;
+	}
+}

+ 790 - 0
.svn/pristine/02/028d99b1c5bc325b4233e421ad9e53005b96b961.svn-base

@@ -0,0 +1,790 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="../../css/body.css" type="text/css" ?>
+<xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
+	<xhtml:head>
+		<xhtml:title>
+			<![CDATA[微量元素查询]]>
+		</xhtml:title>
+		<model id="model1">
+			<instance id="instance1">
+				<root xmlns="">
+					<formData>
+						<CHARGENO/>
+						<PROCCD>JJ</PROCCD>
+						<guolv>B</guolv>
+					</formData>
+					<initChargeData/>
+					<grid>
+						<datagrid1/>
+						<datagrid2/>
+						<datagrid3/>
+						<datagrid4/>
+						<datagrid5/>
+					</grid>
+					<tempData>
+						<tempData1/>
+						<tempData2/>
+						<tempData3/>
+						<tempData4/>
+						<tempData5/>
+					</tempData>
+					<jisuanshi/>
+					<initProc>
+						<ProcCDResult_Row>
+							<LABEL/>
+							<VALUE/>
+						</ProcCDResult_Row>
+					</initProc>
+					<panding/>
+					<fwdData>
+						<UIB020030>
+							<URL/>
+						</UIB020030>
+					</fwdData>
+					<OtherInfo>
+						<StlGrdResult_Row>
+							<STL_GRD/>
+							<PRODNM_CD/>
+							<SLAB_RT/>
+							<CHARGE_INGR_DEC_EMP_ID/>
+							<REGID/>
+							<LST_INGR_REG_DTIME/>
+						</StlGrdResult_Row>
+					</OtherInfo>
+				</root>
+			</instance>
+			<script type="javascript" ev:event="xforms-ready">
+				<![CDATA[
+				    if(window.parent==null) Init();
+				    
+				    if(combo2.value=="C")
+					{
+						commSubmit("UIB020030-service", "guolv", "glueAction.do");
+					}
+					else
+					{
+						commSubmit("UIB020030-service", "success", "glueAction.do");
+					}
+					model.copyNode("/root/initChargeData" , "/root/resData/ChargeNOResult_VO");
+					model.copyNode("/root/initProc" , "/root/resData/ProcCDResult_VO");
+					
+					///读取上一次的结果到炉次号中
+					checkbox1.value = document.readIniFile("session1" , "key1" , "" , "c:\\WINDOWS\\xgmes3.ini");
+				//	input40.value	 = document.readIniFile("session1" , "UIB020030" , "" , "c:\\WINDOWS\\xgmes3.ini")	;
+					model.refresh();
+					 input40.value	=	charge;
+					 
+				]]>
+			</script>
+		</model>
+		<script type="javascript" src="../../js/boaCommon.js"/>
+		<script type="javascript" src="../../js/b01.js"/>
+		<script type="javascript">
+			<![CDATA[
+//				function load()
+//				{
+//					openWindow("UIB020030");
+//				}
+				var ope	=	 window.opener;
+  		      var charge	=	ope.datagrid1.valueMatrix(ope.datagrid1.row , ope.datagrid1.colRef("CHARGE_NO"));
+				
+				
+				function Init(node)
+				{
+					InitParams(node);
+					combo2.value = document.readIniFile("session1" , "fr" , "" , "c:\\WINDOWS\\xgmes3.ini");
+					
+					datagrid1.colStatus(0)=false; //使表格1中“选择”列不对结果产生影响
+					//炉次号初始化
+					if(combo2.value=="C")
+					{
+						commSubmit("UIB020030-service", "guolv", "glueAction.do");
+					}
+					else
+					{
+						commSubmit("UIB020030-service", "success", "glueAction.do");
+					}
+					model.copyNode("/root/initChargeData" , "/root/resData/ChargeNOResult_VO");
+					model.copyNode("/root/initProc" , "/root/resData/ProcCDResult_VO");
+					
+					///读取上一次的结果到炉次号中
+					checkbox1.value = document.readIniFile("session1" , "key1" , "" , "c:\\WINDOWS\\xgmes3.ini");
+					input40.value	 = document.readIniFile("session1" , "UIB020030" , "" , "c:\\WINDOWS\\xgmes3.ini")	;
+					model.refresh();
+				}
+				function find()
+				{
+					///获得请求参数
+					model.removenode("/root/reqData");
+					model.makeValue("/root/reqData/CHARGENO" , input40.value.Trim());//炉次号 
+					model.makeValue("/root/reqData/PROCCD"   , radio1.value);//工序
+					
+					///写入炉次号到文件中
+					document.writeIniFile("session1" , "key1" , checkbox1.value.Trim() , "c:\\WINDOWS\\xgmes3.ini");
+					document.writeIniFile("session1" , "UIB020030" , input40.value.Trim() , "c:\\WINDOWS\\xgmes3.ini");
+					
+					///submit
+				    commSubmit("UIB020030-service", "findChargeInfo", "glueAction.do");
+				    //厂内钢号
+//				    input1.value	=	model.getValue("/root/resData/StlGrdResult_VO/StlGrdResult_Row/STL_GRD");//厂内钢号
+//				    input3.value	=	model.getValue("/root/resData/StlGrdResult_VO/StlGrdResult_Row/PRODNM_CD");//交货状态
+//				    combo1.value	=	model.getValue("/root/resData/StlGrdResult_VO/StlGrdResult_Row/SLAB_RT");//生产线
+					model.copyNode("/root/OtherInfo" , "/root/resData/StlGrdResult_VO");
+				    ///copy to datagrid1
+				    model.copyNode("/root/grid/datagrid1" , "/root/resData/ChargeList_VO");
+				    removeGridData();//清除表2、3、4、5数据
+				    model.refresh();
+				    //恢复被改变的颜色
+				    datagrid2.rebuildStyle();
+				    datagrid3.rebuildStyle();
+				    datagrid4.rebuildStyle();
+				    datagrid5.rebuildStyle();
+				    
+				    for(var i = 1; i < datagrid1.rows; i++)
+				    {
+				    	//是否已判定
+				    	if(datagrid1.valueMatrix(i , datagrid1.colRef("DEC_YN")) != "")
+                      {
+                      		datagrid1.rowStyle(i , "data" , "background-color") = "#3366ff";
+                      }
+                      else
+                      {
+                      		datagrid1.rowStyle(i , "data" , "background-color") = "#ffffff";
+                      }
+				    }
+				    
+				    datagrid1.clearStatus();
+					datagrid2.clearStatus();
+					datagrid3.clearStatus();
+					datagrid4.clearStatus();
+					datagrid5.clearStatus();
+				}
+				
+				var selectRow	=	0;//用于保存表1中查询的列
+				function save()
+				{
+					if(checkbox1.value=="Y" && datagrid1.valueMatrix(1 , 2) =="JJ")
+					{
+						if(commComfirmBox("确认判定?","提示")=="0") return;  
+					}
+					else
+					{
+						if(commComfirmBox("确认保存?","提示")=="0") return;  
+					}
+					model.removenode("/root/reqData");
+					model.makeNode("/root/reqData");
+					model.removenode("/root/tempData");
+					model.makeNode("/root/tempData/tempData1");
+					model.makeNode("/root/tempData/tempData2");
+					model.makeNode("/root/tempData/tempData3");
+					model.makeNode("/root/tempData/tempData4");
+					model.makeNode("/root/tempData/tempData5");
+
+					///生成请求参数
+					b01MultiUpdate(datagrid1,"/root/tempData/tempData1" ,"A",  true,   "rowStuts1");//获得表1中增加的记录	
+					b01MultiUpdate(datagrid2,"/root/tempData/tempData2" ,"A",  true,   "rowStuts2");//表2
+					b01MultiUpdate(datagrid3,"/root/tempData/tempData3" ,"A",  true,   "rowStuts2");//表3
+					b01MultiUpdate(datagrid4,"/root/tempData/tempData4" ,"A",  true,   "rowStuts2");//表4
+					b01MultiUpdate(datagrid5,"/root/tempData/tempData5" ,"A",  true,   "rowStuts2");//表5
+					commSendReq("/root/tempData/tempData1","/root/tempData/tempData2","/root/tempData/tempData3","/root/tempData/tempData4","/root/tempData/tempData5");
+					//仅在表2、3、4、5被更新时其作用,成分判定时炉号也起作用;在更新或插入后的查询也起来作用
+					model.makeValue("/root/reqData/CHARGENO" , datagrid1.valueMatrix(selectRow , 1));//炉次号 
+					model.makeValue("/root/reqData/PROCCD"   , datagrid1.valueMatrix(selectRow , 2));//工序
+					model.makeValue("/root/reqData/SEQ"      , datagrid1.valueMatrix(selectRow , 3));//次数
+					model.makeValue("/root/reqData/CHEML2PROCCD",datagrid1.valueMatrix(selectRow , 4));
+					
+					model.makeValue("/root/reqData/STLGRD"  , input1.value);//厂内牌号
+//					model.makeValue("/root/reqData/PRODNMCD", input3.value);//品名
+					model.makeValue("/root/reqData/FACCODE" , combo1.value);//生产线
+					getLoggingInInfo();//获取登录人信息
+					
+					if(datagrid1.valueMatrix(1 , 2) =="JJ" && checkbox1.value=="Y")
+					{
+						model.makeValue("/root/reqData/XX"       , "UIB020030");//成分判定标识
+					}
+					
+					commSubmit("UIB020030-service", "save", "glueAction.do");
+					copyFixNode("/root/grid/datagrid2","/root/resData/SingleChem_VO/SingleChem_Row",1 , 13);//表2
+	               copyFixNode("/root/grid/datagrid3","/root/resData/SingleChem_VO/SingleChem_Row",14, 26);//表3
+	               copyFixNode("/root/grid/datagrid4","/root/resData/SingleChem_VO/SingleChem_Row",27,50);//表4
+	               model.copyNode("/root/grid/datagrid5" , "/root/resData/CompChem_VO");//表5
+					model.refresh();
+					
+					changeColor(datagrid2);
+                   changeColor(datagrid3);
+                   changeColor(datagrid4);
+                   changeColor(datagrid5);
+                   
+					datagrid1.clearStatus();
+					datagrid2.clearStatus();
+					datagrid3.clearStatus();
+					datagrid4.clearStatus();
+					datagrid5.clearStatus();
+					exceptionReport();
+					
+					//若已判定则改变该行颜色,否则不变
+					 for(var i = 1; i < datagrid1.rows; i++)
+				    {
+				    	//是否已判定
+				    	if(datagrid1.valueMatrix(i , datagrid1.colRef("DEC_YN")) != "")
+                      {
+                      		datagrid1.rowStyle(i , "data" , "background-color") = "#3366ff";
+                      }
+                      else
+                      {
+                      		datagrid1.rowStyle(i , "data" , "background-color") = "#ffffff";
+                      }
+				    }
+				}
+				
+				//查询表格1时需要清除表2、3、4、5原来数据
+				function removeGridData()
+				{
+//					model.resetInstanceNode("/root/grid/datagrid2");//清除表2数据
+//					model.resetInstanceNode("/root/grid/datagrid3");//清除表3数据
+//					model.resetInstanceNode("/root/grid/datagrid4");//清除表4数据
+//					model.resetInstanceNode("/root/grid/datagrid5");//清除表5数据
+					model.removenode("/root/grid/datagrid2");
+					model.removenode("/root/grid/datagrid3");
+					model.removenode("/root/grid/datagrid4");
+					model.removenode("/root/grid/datagrid5");
+					model.makeNode("/root/grid/datagrid2");
+					model.makeNode("/root/grid/datagrid3");
+					model.makeNode("/root/grid/datagrid4");
+					model.makeNode("/root/grid/datagrid5");
+				}
+				
+				function XXX()
+				{
+					    ///若当前行等于最后一行,则表2、3、4、5的值允许修改;否则不允许修改                      
+                      if(datagrid1.row==(datagrid1.rows-1))//可改
+                      {
+                      		datagrid2.colAttribute(datagrid2.colRef("CHEM_VAL") , "editable") = "true";
+                      		datagrid3.colAttribute(datagrid3.colRef("CHEM_VAL") , "editable") = "true";
+                      		datagrid4.colAttribute(datagrid4.colRef("CHEM_VAL") , "editable") = "true";
+                      		datagrid5.colAttribute(datagrid5.colRef("CHEM_VAL") , "editable") = "true";
+                      }
+                      else //不可改s
+                      {	 
+                      		datagrid2.colAttribute(datagrid2.colRef("CHEM_VAL") , "editable") = "false";
+                      		datagrid3.colAttribute(datagrid3.colRef("CHEM_VAL") , "editable") = "false";
+                      		datagrid4.colAttribute(datagrid4.colRef("CHEM_VAL") , "editable") = "false";
+                      		datagrid5.colAttribute(datagrid5.colRef("CHEM_VAL") , "editable") = "false";
+                      }
+                      //Y表质保书已发,成分不可再修改
+                      if(datagrid1.valueMatrix(datagrid1.row , datagrid1.colRef("UPDATE_NO_TP")) == "Y")
+                      {
+                      		datagrid2.colAttribute(datagrid2.colRef("CHEM_VAL") , "editable") = "false";
+                      		datagrid3.colAttribute(datagrid3.colRef("CHEM_VAL") , "editable") = "false";
+                      		datagrid4.colAttribute(datagrid4.colRef("CHEM_VAL") , "editable") = "false";
+                      		datagrid5.colAttribute(datagrid5.colRef("CHEM_VAL") , "editable") = "false";
+                      }
+				}
+				
+				//不合格项变为红色
+				function changeColor(grid)
+				{
+					var valCol	=	grid.colRef("CHEM_VAL");//实绩值做在列
+					var minCol =   grid.colRef("CHEM_MIN");//最小值的列
+					var maxCol = 	grid.colRef("CHEM_MAX");//最大值的列
+					grid.colstyle(valCol, "data", "background-color") = "#ffff99";//恢复初始的黄色再染色
+					var min = "";
+					var max = "";
+					var val = "";
+					for(var i = 1; i < grid.rows; i++)
+					{
+						min	=	grid.valueMatrix(i , minCol);//成分最小
+						max	=	grid.valueMatrix(i , maxCol);//最大
+						val =   grid.valueMatrix(i , valCol);//实绩
+					 
+						if(val != "" && min !="" && parseFloat(min) > parseFloat(val) )//实绩值应大于等于指示最小值,否则不合格
+						{
+							
+							grid.cellStyle("background-color" , i , valCol) = "#ff0000";
+						}
+						if(val != "" && max != "" && parseFloat(max) < parseFloat(val))//实绩值应小于等于指示最大值,否则不合格
+						{
+							grid.cellStyle("background-color" , i , valCol) = "#ff0000";
+						}
+						if(val =="" && (max != "" || min !="") )
+						{
+							grid.cellStyle("background-color" , i , valCol) = "#cc99ff";
+						}
+					}
+				}
+				
+				var value;//用于保存最终的计算值
+				function  calculateChem(grid)
+				{
+					var storChem;//保存每一个元素
+					var chemCal =	datagrid5.valueMatrix(datagrid5.row , datagrid5.colRef("COMP_CAL"));//保存复合元素计算式	
+					var chemRow =	grid.colRef("CHEM_CD");//元素名所在列
+					var chemVal =	grid.colRef("CHEM_VAL"); //元素值所在列
+					for(var i = grid.fixedRows; i < grid.rows; i++)
+					{
+					   storChem    =	grid.valueMatrix(i , chemRow);
+                      chemCal     =  chemCal.replaceAll(storChem , grid.valueMatrix(i , chemVal)==""?0:grid.valueMatrix(i , chemVal));
+					}
+					value	=	eval(chemCal.replaceAll("=" , ""));
+				}
+				var count  = 0;//控制表格2、3、4最后一次的回车数,若值变为2则跳到下一个表格
+			]]>
+		</script>
+	</xhtml:head>
+	<xhtml:body accesskey="f2" pagewidth="980" pageheight="620" guideline="1,980;1,980;" style="text-align:center; ">
+		<caption id="caption6" class="cell" visibility="hidden" style="left:615px; top:35px; width:75px; height:20px; ">判定</caption>
+		<datagrid id="datagrid1" nodeset="/root/grid/datagrid1/ChargeList_Row" caption="选择^炉次号^工序^次数^工序代码^是否已判定" colsep="^" colwidth="43, 100, 55, 45, 100, 44" defaultrows="35" mergecellsfixedrows="bycolrec" rowheight="30" rowsep="|" tooltip="label" style="left:5px; top:65px; width:265px; height:515px; ">
+			<col checkvalue="Y,N" ref="CHK" type="checkbox"/>
+			<col editable="false" ref="CHARGE_NO" style="font-weight:bold; background-color:#ffffff; "/>
+			<col disabled="true" ref="PROC_CD" type="combo" style="font-weight:bold; ">
+				<choices>
+					<item>
+						<label>脱硫</label>
+						<value>JA</value>
+					</item>
+					<item>
+						<label>转炉</label>
+						<value>JB</value>
+					</item>
+					<item>
+						<label>CAS前</label>
+						<value>J1</value>
+					</item>
+					<item>
+						<label>CAS后</label>
+						<value>J2</value>
+					</item>
+					<item>
+						<label>LF站</label>
+						<value>JL</value>
+					</item>
+					<item>
+						<label>RH站</label>
+						<value>JR</value>
+					</item>
+					<item>
+						<label>连铸</label>
+						<value>JJ</value>
+					</item>
+					<item>
+						<label/>
+						<value/>
+					</item>
+				</choices>
+			</col>
+			<col editable="false" ref="CHEM_SEQ" visibility="hidden" style="left:80px; top:20px; width:30px; height:20px; font-weight:bold; background-color:#ffffff; "/>
+			<col ref="CHEM_L2_PROC_CD" type="input" style="background-color:#ffff99; "/>
+			<col ref="DEC_YN" visibility="hidden"/>
+			<script type="javascript" ev:event="ondblclick">
+				<![CDATA[
+                   
+      				if(datagrid1.row > 0) //若双击的不是标题行               
+      				{
+                      selectRow	=	datagrid1.row;//selectRow为全局变量
+                     	///获得请求参数
+                      model.removenode("/root/reqData");
+	                  commSendReq("/root/grid/datagrid1/ChargeList_Row["+datagrid1.row+"]"); //当前行的请求参数
+	                  model.makeValue("/root/reqData/STL_GRD" ,  input1.value);//厂内排号
+	                  model.makeValue("/root/reqData/PRODNM_CD", combo1.value);//板坯去向
+//	                  model.makeValue("/root/reqData/CHEML2PROCCD",datagrid1.valueMatrix(selectRow , datagrid1.colRef("CHEM_L2_PROC_CD")));
+	                  ///submit
+	                  commSubmit("UIB020030-service", "findIngr", "glueAction.do");
+	                  copyFixNode("/root/grid/datagrid2","/root/resData/SingleChem_VO/SingleChem_Row",1 , 13);//表2
+	                  copyFixNode("/root/grid/datagrid3","/root/resData/SingleChem_VO/SingleChem_Row",14, 26);//表3
+	                  copyFixNode("/root/grid/datagrid4","/root/resData/SingleChem_VO/SingleChem_Row",27,50);//表4
+	                  model.copyNode("/root/grid/datagrid5" , "/root/resData/CompChem_VO");//表5
+	                  model.refresh();
+                     
+//                      XXX();
+                      changeColor(datagrid2);
+                      changeColor(datagrid3);
+                      changeColor(datagrid4);
+                      changeColor(datagrid5);
+                      
+      				}
+				]]>
+			</script>
+			<script type="javascript" ev:event="onentercell">
+				<![CDATA[
+//					datagrid1.editCell();
+				]]>
+			</script>
+		</datagrid>
+		<datagrid id="datagrid2" nodeset="/root/grid/datagrid2/SingleChem_Row" caption="成分^最小^最大^实绩^EX" colsep="^" colwidth="45, 60, 60, 60, 42" defaultrows="14" mergecellsfixedrows="bycolrec" rowsep="|" selectionmode="free" tooltip="true" style="left:275px; top:65px; width:236px; height:296px; font-family:宋体; ">
+			<col ref="CHEM_CD" style="font-weight:bold; "/>
+			<col ref="CHEM_MIN" style="font-weight:bold; "/>
+			<col ref="CHEM_MAX" style="font-weight:bold; "/>
+			<col ref="CHEM_VAL" type="input" format="0.9999999" style="font-weight:bold; background-color:#ffff99; "/>
+			<col ref="EX" visibility="hidden"/>
+			<script type="javascript" ev:event="onclick">
+				<![CDATA[
+					datagrid2.editCell();
+				]]>
+			</script>
+			<script type="javascript" ev:event="onkeydown">
+				<![CDATA[
+					if(event.keyCode==13)//回车事件
+					{
+						datagrid2.row++;
+						if(datagrid2.row	==	datagrid2.rows-1)//到表格2最后一行时,焦点转移到表格3,并将表格2的焦点移动到第0行
+						{
+							count++;
+							if(count==2)
+							{
+								model.setFocus("datagrid3" , true);//设置焦点
+								datagrid3.col	=	datagrid3.colRef("CHEM_VAL");//设置表格3的焦点位置
+								datagrid3.row	=	1;		//设置表格3的焦点位置
+								datagrid2.row	=	0;	
+								count	=	0;//重新归0;为下一个表格准备				
+							}
+						}
+					}
+//					if(event.keyCode==109)//"-"事件
+//					{
+//						datagrid2.row--;
+//						datagrid2.endEditCell();
+//					}
+					if(event.keyCode==107)//"+"事件
+					{
+						datagrid2.row--;
+						datagrid2.endEditCell();
+					}
+				]]>
+			</script>
+			<script type="javascript" ev:event="xforms-value-changed">
+				<![CDATA[
+					changeColor(datagrid2);
+				]]>
+			</script>
+		</datagrid>
+		<datagrid id="datagrid3" nodeset="/root/grid/datagrid3/SingleChem_Row" caption="成分^最小^最大^实绩^EX" colsep="^" colwidth="45, 60, 60, 60, 41" defaultrows="14" mergecellsfixedrows="bycolrec" rowsep="|" selectionmode="free" style="left:517px; top:65px; width:227px; height:296px; ">
+			<col ref="CHEM_CD" style="font-weight:bold; "/>
+			<col ref="CHEM_MIN" style="font-weight:bold; "/>
+			<col ref="CHEM_MAX" style="font-weight:bold; "/>
+			<col ref="CHEM_VAL" type="input" format="0.9999999" style="font-weight:bold; background-color:#ffff99; "/>
+			<col ref="EX" visibility="hidden"/>
+			<script type="javascript" ev:event="onclick">
+				<![CDATA[
+					datagrid3.editCell();
+				]]>
+			</script>
+			<script type="javascript" ev:event="onkeydown">
+				<![CDATA[
+					if(event.keyCode==13)
+					{
+						datagrid3.row++;
+						if(datagrid3.row	==	datagrid3.rows-1)//到表格3最后一行时,焦点转移到表格4,并将表格2的焦点移动到第0行
+						{
+							count++;
+							if(count==2)
+							{
+								model.setFocus("datagrid4" , true);//设置焦点
+								datagrid4.col	=	datagrid4.colRef("CHEM_VAL");//设置表格4的焦点位置
+								datagrid4.row	=	1;		//设置表格4的焦点位置
+								datagrid3.row	=	0;			
+								count          =   0;//为下一个表格最准备		
+							}
+						}
+					}
+//					if(event.keyCode==109)//"-"事件
+//					{
+//						datagrid3.row--;
+//						datagrid3.endEditCell();
+//					}
+					if(event.keyCode==107)//"+"事件
+					{
+						datagrid3.row--;
+						datagrid3.endEditCell();
+					}
+				]]>
+			</script>
+			<script type="javascript" ev:event="xforms-value-changed">
+				<![CDATA[
+					changeColor(datagrid3);
+				]]>
+			</script>
+		</datagrid>
+		<datagrid id="datagrid4" nodeset="/root/grid/datagrid4/SingleChem_Row" caption="成分^最小^最大^实绩^EX" colsep="^" colwidth="45, 60, 60, 60, 41" defaultrows="14" mergecellsfixedrows="bycolrec" rowsep="|" selectionmode="free" style="left:750px; top:65px; width:227px; height:296px; ">
+			<col ref="CHEM_CD" style="font-weight:bold; "/>
+			<col ref="CHEM_MIN" style="font-weight:bold; "/>
+			<col ref="CHEM_MAX" style="font-weight:bold; "/>
+			<col ref="CHEM_VAL" type="input" format="0.9999999" style="font-weight:bold; background-color:#ffff99; "/>
+			<col ref="EX" visibility="hidden"/>
+			<script type="javascript" ev:event="onclick">
+				<![CDATA[
+					datagrid4.editCell();
+				]]>
+			</script>
+			<script type="javascript" ev:event="onkeydown">
+				<![CDATA[
+					if(event.keyCode==13)
+					{
+						datagrid4.row++;
+						if(datagrid4.rows-1 == datagrid4.row)
+						{
+							count++;
+							if(count==2)
+							{
+								model.setFocus("datagrid2" , true);//设置焦点
+								datagrid2.col	=	datagrid2.colRef("CHEM_VAL");//设置表格4的焦点位置
+								datagrid2.row	=	1;		//设置表格4的焦点位置
+								datagrid2.row	=	0;			
+								count = 0;//重新归0,避免会到表格2时出问题
+							}
+						}
+					}
+//					if(event.keyCode==109)//"-"事件
+//					{
+//						datagrid4.row--;
+//						datagrid4.editCell();
+//					}
+					if(event.keyCode==107)//"+"事件
+					{
+						datagrid4.row--;
+						datagrid4.editCell();
+					}
+				]]>
+			</script>
+			<script type="javascript" ev:event="xforms-value-changed">
+				<![CDATA[
+					changeColor(datagrid4);
+				]]>
+			</script>
+		</datagrid>
+		<datagrid id="datagrid5" nodeset="/root/grid/datagrid5/CompChem_Row" caption="元素标识^复合元素或计算式^最小^最大^实绩^EX^成分" colsep="^" colwidth="112, 379, 60, 60, 60, 28, 56" defaultrows="12" mergecellsfixedrows="bycolrec" rowsep="|" selectionmode="free" tooltip="true" style="left:275px; top:365px; width:700px; height:190px; font-weight:bold; ">
+			<col ref="COMP_DETAIL" style="font-weight:bold; text-align:left; "/>
+			<col ref="COMP_CAL" style="font-weight:bold; text-align:left; "/>
+			<col ref="CHEM_MIN" style="font-weight:bold; "/>
+			<col ref="CHEM_MAX" style="font-weight:bold; "/>
+			<col ref="CHEM_VAL" type="input" style="background-color:#ffff99; "/>
+			<col ref="EX" visibility="hidden"/>
+			<col ref="CHEM_CD" visibility="hidden"/>
+			<script type="javascript" ev:event="onkeydown">
+				<![CDATA[
+					if(event.keyCode==13)
+					{
+						datagrid5.row	=	datagrid5.row+1;
+					}
+				]]>
+			</script>
+			<script type="javascript" ev:event="xforms-value-changed">
+				<![CDATA[
+					changeColor(datagrid5);
+				]]>
+			</script>
+		</datagrid>
+		<caption id="caption3" class="cell" style="left:65px; top:35px; width:536px; height:20px; "/>
+		<caption id="caption8" class="cell" style="left:0px; top:35px; width:65px; height:20px; ">炼钢工序</caption>
+		<caption id="caption10" class="cell" style="left:180px; top:595px; width:70px; height:20px; ">厂内钢号</caption>
+		<select1 id="radio1" ref="/root/formData/PROCCD" appearance="full" cellspacing="13" cols="10" overflow="visible" style="left:65px; top:37px; width:526px; height:20px; border-style:none; ">
+			<choices>
+				<item>
+					<label>脱硫</label>
+					<value>JA</value>
+				</item>
+				<item>
+					<label>吹炼前</label>
+					<value>J5</value>
+				</item>
+				<item>
+					<label>吹炼后</label>
+					<value>J6</value>
+				</item>
+				<item>
+					<label>转炉</label>
+					<value>JB</value>
+				</item>
+				<item>
+					<label>CAS前</label>
+					<value>J1</value>
+				</item>
+				<item>
+					<label>CAS后</label>
+					<value>J2</value>
+				</item>
+				<item>
+					<label>RH</label>
+					<value>JR</value>
+				</item>
+				<item>
+					<label>LF</label>
+					<value>JL</value>
+				</item>
+				<item>
+					<label>连铸</label>
+					<value>JJ</value>
+				</item>
+			</choices>
+			<script type="javascript" ev:event="onclick">
+				<![CDATA[
+					find();
+				]]>
+			</script>
+		</select1>
+		<caption id="caption2" class="cell" style="left:0px; top:5px; width:80px; height:20px; ">炉次号</caption>
+		<input id="input1" ref="/root/OtherInfo/StlGrdResult_Row/STL_GRD" editable="false" style="left:250px; top:595px; width:100px; height:20px; "/>
+		<line id="line1" style="x1:0px; y1:30px; x2:978px; y2:30px; "/>
+		<line id="line2" style="x1:2px; y1:0px; x2:980px; y2:0px; "/>
+		<input id="input2" ref="/root/jisuanshi" editable="false" style="left:410px; top:564px; width:170px; height:20px; "/>
+		<caption id="caption1" class="cell" style="left:275px; top:564px; width:136px; height:20px; ">复合元素的计算实绩为:</caption>
+		<caption id="caption4" class="cell" visibility="hidden" style="left:595px; top:565px; width:80px; height:20px; ">交货状态</caption>
+		<input id="input3" ref="/root/OtherInfo/StlGrdResult_Row/PRODNM_CD" visibility="hidden" editable="false" style="left:675px; top:565px; width:75px; height:20px; background-color:#ffcc99; "/>
+		<select id="checkbox1" ref="/root/panding" visibility="hidden" overflow="visible" appearance="full" style="left:615px; top:35px; width:40px; height:20px; font-family:宋体; font-size:14pt; font-weight:bold; ">
+			<choices>
+				<item>
+					<label/>
+					<value>Y</value>
+				</item>
+			</choices>
+			<hint>
+				<![CDATA[选择后可对该炉的连铸成分进行判定]]>
+			</hint>
+		</select>
+		<input id="input40" ref="/root/formData/CHARGENO" visibility="visible" style="left:80px; top:5px; width:100px; height:20px; "/>
+		<button id="button3" style="left:180px; top:5px; width:70px; height:20px; background-color:#ccffcc; border-style:solid; ">
+			<caption>选择</caption>
+			<script type="javascript" ev:event="DOMActivate">
+				<![CDATA[
+					
+window.load("../B02/_0200CHARGENO.xrw", "modal", "modalWin", "left:400; top:40; width:620px; height:500px;sysmenu:visible; min:visible; max:hidden; resize:true;" , "/root/initChargeData" , "/root/RadioResult");					
+				]]>
+			</script>
+		</button>
+		<script type="javascript" ev:event="onaccesskey">
+			<![CDATA[
+				openWindow("UIB020030");
+			]]>
+		</script>
+		<caption id="caption5" class="cell" style="left:0px; top:595px; width:80px; height:20px; ">产线</caption>
+		<select1 id="combo1" ref="/root/OtherInfo/StlGrdResult_Row/SLAB_RT" disabled="true" appearance="minimal" style="left:80px; top:595px; width:85px; height:20px; ">
+			<choices>
+				<item>
+					<label>热轧厂</label>
+					<value>H</value>
+				</item>
+				<item>
+					<label>冷轧厂</label>
+					<value>C</value>
+				</item>
+				<item>
+					<label>厚板厂</label>
+					<value>P</value>
+				</item>
+				<item>
+					<label>中板厂</label>
+					<value>Z</value>
+				</item>
+				<item>
+					<label/>
+					<value/>
+				</item>
+			</choices>
+		</select1>
+		<script type="javascript" ev:event="onkeydown">
+			<![CDATA[
+				if(event.keyCode == 113)
+				{
+					window.load("../B03/UIB030203.xrw", "modal", "modalWin", "left:400; top:40; width:420px; height:420px;sysmenu:visible; min:visible; max:hidden; resize:false;");				
+				}		
+				if(event.keyCode==116)//按F5时刷新页面
+				{
+					model.removenode("/root/reqData");
+					combo2.value = document.readIniFile("session1" , "fr" , "" , "c:\\WINDOWS\\xgmes3.ini");
+					
+					datagrid1.colStatus(0)=false; //使表格1中“选择”列不对结果产生影响
+					//炉次号初始化
+					if(combo2.value=="Y")
+					{
+						commSubmit("UIB020030-service", "guolv", "glueAction.do");
+					}
+					else
+					{
+						commSubmit("UIB020030-service", "success", "glueAction.do");
+					}
+					model.copyNode("/root/initChargeData" , "/root/resData/ChargeNOResult_VO");
+					model.copyNode("/root/initProc" , "/root/resData/ProcCDResult_VO");
+					model.refresh();
+				}
+			]]>
+		</script>
+		<button id="button99" visibility="hidden" style="left:10px; top:65px; width:55px; height:20px; ">
+			<caption>FIND</caption>
+			<script type="javascript" ev:event="DOMActivate">
+				<![CDATA[
+					find();
+				]]>
+			</script>
+		</button>
+		<select id="checkbox2" ref="/root/formData/guolv" visibility="hidden" overflow="visible" appearance="full" style="left:750px; top:10px; width:20px; height:20px; border-style:none; ">
+			<choices>
+				<item>
+					<label/>
+					<value>Y</value>
+				</item>
+			</choices>
+			<script type="javascript" ev:event="onclick">
+				<![CDATA[
+					model.removenode("/root/reqData");
+					if(checkbox2.value=="Y")
+					{
+						commSubmit("UIB020030-service", "guolv", "glueAction.do");
+//						alert("Y");
+					}
+					else
+					{
+//						alert("N");
+						commSubmit("UIB020030-service", "success", "glueAction.do");
+						model.copyNode("/root/initProc" , "/root/resData/ProcCDResult_VO");
+					}
+					model.copyNode("/root/initChargeData" , "/root/resData/ChargeNOResult_VO");
+					model.refresh();
+					document.writeIniFile("session1" , "fr" , checkbox2.value.Trim() , "c:\\WINDOWS\\xgmes3.ini");
+					
+				]]>
+			</script>
+			<hint>
+				<![CDATA[过滤连铸成分未录入炉号]]>
+			</hint>
+		</select>
+		<select1 id="combo2" ref="/root/formData/guolv" visibility="visible" appearance="minimal" style="left:255px; top:5px; width:100px; height:20px; text-align:left; ">
+			<choices>
+				<item>
+					<label>未判定炉号</label>
+					<value>B</value>
+				</item>
+				<item>
+					<label>无连铸成分炉号</label>
+					<value>C</value>
+				</item>
+			</choices>
+			<script type="javascript" ev:event="xforms-value-changed">
+				<![CDATA[
+					model.removenode("/root/reqData");
+					if(combo2.value=="C")
+					{
+						commSubmit("UIB020030-service", "guolv", "glueAction.do");
+//						alert("Y");
+					}
+					else
+					{
+//						alert("N");
+						commSubmit("UIB020030-service", "success", "glueAction.do");
+						model.copyNode("/root/initProc" , "/root/resData/ProcCDResult_VO");
+					}
+					model.copyNode("/root/initChargeData" , "/root/resData/ChargeNOResult_VO");
+					model.refresh();
+					document.writeIniFile("session1" , "fr" , combo2.value.Trim() , "c:\\WINDOWS\\xgmes3.ini");
+					
+				]]>
+			</script>
+		</select1>
+		<line id="line3" style="x1:2px; y1:60px; x2:980px; y2:60px; "/>
+		<input id="input4" ref="/root/OtherInfo/StlGrdResult_Row/CHARGE_INGR_DEC_EMP_ID" editable="false" style="left:635px; top:595px; width:100px; height:20px; "/>
+		<caption id="caption9" class="cell" style="left:370px; top:595px; width:75px; height:20px; ">检验人员</caption>
+		<input id="input5" ref="/root/OtherInfo/StlGrdResult_Row/REGID" editable="false" style="left:445px; top:595px; width:100px; height:20px; "/>
+		<caption id="caption7" class="cell" style="left:560px; top:595px; width:75px; height:20px; ">判定人员</caption>
+		<caption id="caption11" class="cell" style="left:750px; top:595px; width:75px; height:20px; ">判定时间</caption>
+		<input id="input6" ref="/root/OtherInfo/StlGrdResult_Row/LST_INGR_REG_DTIME" editable="false" style="left:825px; top:595px; width:125px; height:20px; "/>
+		<line id="line4" style="x1:2px; y1:590px; x2:980px; y2:590px; "/>
+	</xhtml:body>
+</xhtml:html>

+ 31 - 0
.svn/pristine/02/02a1094373963cb26ef47111cb731372d1f2cb2e.svn-base

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="EUC-KR"?>
+<service name="UIA030040-service" initial="SetResultKeyList">
+  <activity name="SearchDeliverGoodsResult" class="com.posdata.glue.biz.activity.PosSearch">
+    <transition name="success" value="end" />
+    <property name="sqlkey" value="DeliverGoodsResult.Select" />
+    <property name="resultkey" value="DeliverGoodsResult" />
+    <property name="dao" value="mesdao" />
+    <property name="param0" value="FrDate" />
+    <property name="param1" value="ToDate" />
+    <property name="param2" value="ShipProgCd" />
+    <property name="param3" value="ProdNmCd" />
+    <property name="param4" value="OrdStlGrd" />
+    <property name="param5" value="OrdUseType" />
+    <property name="param6" value="FrDate" />
+    <property name="param7" value="ToDate" />
+    <property name="param-count" value="8" />
+  </activity>
+  <activity name="EventRouter" class="com.posdata.glue.biz.activity.PosDefaultRouter">
+    <transition name="success" value="SearchDeliverGoodsResult" />
+    <transition name="find" value="SearchDeliverGoodsResult" />
+  </activity>
+  <activity name="SetResultKeyList" class="com.posdata.glue.biz.trustform.PosSetResultKeyList">
+    <transition name="success" value="CheckParameters" />
+    <property name="ResultKeyList" value="DeliverGoodsResult" />
+  </activity>
+  <activity name="CheckParameters" class="xin.glue.ui.A.CheckParameters">
+    <transition name="success" value="EventRouter" />
+  </activity>
+  <transaction-manager id="tx1" commit="true" />
+</service>
+

BIN
.svn/pristine/02/02a2cb7a0ae4ee5de122a0ea19258d722f34fbe8.svn-base


BIN
.svn/pristine/02/02e502e54cd96f7e8572441ec5c5783dc378100e.svn-base


+ 416 - 0
.svn/pristine/02/02e701c26568b08f6ff274146f933b8bb41d0a21.svn-base

@@ -0,0 +1,416 @@
+<?xml version="1.0" encoding='UTF-8'?>
+<queryMap desc="STEEL MAKING QUERY ">
+    <query id="UIG040021_INIT.select" desc="   " fetchSize="10">
+        <![CDATA[
+		 select yard_addr from tbg04_std_slab_yard where yard_addr like 'L%'
+        ]]>
+    </query> 
+    <query id="UIG040021_01.select" desc="板坯库中所有位置的板坯数" fetchSize="10">
+        <![CDATA[
+			SELECT   
+			L01A1,L01A2,L01A3,L01A4,L01A5,L01A6
+        ,L01B1,L01B2,L01B3,L01B4,L01B5,L01B6
+        ,L01C1,L01C2,L01C3,L01C4,L01C5,L01C6
+        ,L01D1,L01D2,L01D3,L01D4,L01D5,L01D6
+        ,L02A1,L02A2,L02A3,L02A4,L02A5,L02A6
+        ,L02B1,L02B2,L02B3,L02B4,L02B5,L02B6
+        ,L02C1,L02C2,L02C3,L02C4,L02C5,L02C6
+        ,L02D1,L02D2,L02D3,L02D4,L02D5,L02D6
+        ,L03A1,L03A2,L03A3,L03A4,L03A5,L03A6
+        ,L03B1,L03B2,L03B3,L03B4,L03B5,L03B6
+        ,L03C1
+        ,L03C2
+        ,L03C3
+        ,L03C4
+        ,L03C5
+        ,L03D6
+        ,L03D1
+        ,L03D2
+        ,L03D3
+        ,L03D4
+        ,L03D5
+        ,L03D6
+        ,L04A1
+        ,L04A2
+        ,L04A3
+        ,L04A4
+        ,L04A5
+        ,L04A6
+        ,L04B1
+        ,L04B2
+        ,L04B3
+        ,L04B4
+        ,L04B5
+        ,L04B6
+        ,L04C1
+        ,L04C2
+        ,L04C3
+        ,L04C4
+        ,L04C5
+        ,L04C6
+        ,L04D1
+        ,L04D2
+        ,L04D3
+        ,L04D4
+        ,L04D5
+        ,L04D6
+        ,L05A1
+        ,L05A2
+        ,L05A3
+        ,L05A4
+        ,L05A5
+        ,L05A6
+        ,L05B1
+        ,L05B2
+        ,L05B3
+        ,L05B4
+        ,L05B5
+        ,L05B6
+        ,L05C1
+        ,L05C2
+        ,L05C3
+        ,L05C4
+        ,L05C5
+        ,L05C6
+        ,L05D1
+        ,L05D2
+        ,L05D3
+        ,L05D4
+        ,L05D5
+        ,L05D6
+        ,L06A1
+        ,L06A2
+        ,L06A3
+        ,L06A4
+        ,L06A5
+        ,L06A6
+        ,L06B1
+        ,L06B2
+        ,L06B3
+        ,L06B4
+        ,L06B5
+        ,L06B6
+        ,L06C1
+        ,L06C2
+        ,L06C3
+        ,L06C4
+        ,L06C5
+        ,L06C6
+        ,L06D1
+        ,L06D2
+        ,L06D3
+        ,L06D4
+        ,L06D5
+        ,L06D6
+        ,L07A1
+        ,L07A2
+        ,L07A3
+        ,L07A4
+        ,L07A5
+        ,L07A6
+        ,L07B1
+        ,L07B2
+        ,L07B3
+        ,L07B4
+        ,L07B5
+        ,L07B6
+        ,L07C1
+        ,L07C2
+        ,L07C3
+        ,L07C4
+        ,L07C5
+        ,L07C6
+        ,L07D1
+        ,L07D2
+        ,L07D3
+        ,L07D4
+        ,L07D5
+        ,L07D6
+        ,L08A1
+        ,L08A2
+        ,L08A3
+        ,L08A4
+        ,L08A5
+        ,L08A6
+        ,L08B1
+        ,L08B2
+        ,L08B3
+        ,L08B4
+        ,L08B5
+        ,L08B6
+        ,L08C1
+        ,L08C2
+        ,L08C3
+        ,L08C4
+        ,L08C5
+        ,L08C6
+        ,L08D1
+        ,L08D2
+        ,L08D3
+        ,L08D4
+        ,L08D5
+        ,L08D6
+        ,L09A1
+        ,L09A2
+        ,L09A3
+        ,L09A4
+        ,L09A5
+        ,L09A6
+        ,L09A7
+
+       FROM
+            (SELECT COUNT(YARD_ADDR) L01A1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L01A1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L01A2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L01A2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L01A3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L01A3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L01A4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L01A4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L01A5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L01A5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L01A6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L01A6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L01B1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L01B1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L01B2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L01B2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L01B3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L01B3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L01B4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L01B4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L01B5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L01B5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L01B6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L01B6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L01C1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L01C1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L01C2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L01C2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L01C3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L01C3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L01C4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L01C4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L01C5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L01C5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L01C6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L01C6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L01D1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L01D1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L01D2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L01D2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L01D3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L01D3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L01D4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L01D4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L01D5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L01D5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L01D6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L01D6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L02A1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L02A1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L02A2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L02A2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L02A3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L02A3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L02A4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L02A4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L02A5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L02A5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L02A6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L02A6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L02B1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L02B1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L02B2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L02B2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L02B3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L02B3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L02B4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L02B4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L02B5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L02B5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L02B6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L02B6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L02C1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L02C1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L02C2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L02C2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L02C3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L02C3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L02C4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L02C4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L02C5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L02C5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L02C6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L02C6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L02D1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L02D1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L02D2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L02D2'  AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L02D3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L02D3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L02D4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L02D4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L02D5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L02D5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L02D6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L02D6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L03A1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L03A1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L03A2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L03A2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L03A3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L03A3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L03A4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L03A4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L03A5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L03A5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L03A6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L03A6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L03B1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L03B1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L03B2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L03B2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L03B3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L03B3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L03B4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L03B4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L03B5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L03B5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L03B6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L03B6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L03C1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L03C1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L03C2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L03C2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L03C3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L03C3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L03C4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L03C4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L03C5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L03C5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L03C6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L03D6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L03D1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L03D1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L03D2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L03D2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L03D3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L03D3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L03D4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L03D4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L03D5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L03D5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L03D6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L03D6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L04A1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L04A1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L04A2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L04A2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L04A3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L04A3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L04A4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L04A4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L04A5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L04A5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L04A6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L04A6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L04B1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L04B1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L04B2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L04B2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L04B3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L04B3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L04B4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L04B4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L04B5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L04B5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L04B6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L04B6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L04C1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L04C1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L04C2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L04C2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L04C3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L04C3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L04C4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L04C4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L04C5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L04C5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L04C6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L04C6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L04D1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L04D1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L04D2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L04D2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L04D3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L04D3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L04D4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L04D4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L04D5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L04D5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L04D6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L04D6' AND SLAB_NO IS NOT NULL) ,
+            (SELECT COUNT(YARD_ADDR) L05A1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L05A1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L05A2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L05A2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L05A3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L05A3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L05A4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L05A4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L05A5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L05A5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L05A6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L05A6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L05B1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L05B1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L05B2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L05B2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L05B3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L05B3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L05B4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L05B4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L05B5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L05B5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L05B6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L05B6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L05C1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L05C1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L05C2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L05C2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L05C3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L05C3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L05C4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L05C4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L05C5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L05C5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L05C6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L05C6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L05D1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L05D1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L05D2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L05D2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L05D3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L05D3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L05D4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L05D4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L05D5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L05D5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L05D6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L05D6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L06A1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L06A1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L06A2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L06A2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L06A3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L06A3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L06A4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L06A4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L06A5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L06A5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L06A6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L06A6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L06B1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L06B1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L06B2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L06B2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L06B3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L06B3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L06B4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L06B4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L06B5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L06B5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L06B6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L06B6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L06C1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L06C1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L06C2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L06C2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L06C3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L06C3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L06C4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L06C4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L06C5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L06C5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L06C6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L06C6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L06D1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L06D1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L06D2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L06D2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L06D3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L06D3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L06D4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L06D4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L06D5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L06D5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L06D6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L06D6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L07A1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L07A1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L07A2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L07A2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L07A3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L07A3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L07A4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L07A4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L07A5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L07A5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L07A6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L07A6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L07B1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L07B1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L07B2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L07B2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L07B3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L07B3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L07B4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L07B4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L07B5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L07B5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L07B6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L07B6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L07C1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L07C1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L07C2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L07C2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L07C3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L07C3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L07C4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L07C4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L07C5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L07C5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L07C6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L07C6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L07D1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L07D1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L07D2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L07D2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L07D3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L07D3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L07D4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L07D4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L07D5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L07D5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L07D6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L07D6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L08A1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L08A1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L08A2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L08A2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L08A3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L08A3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L08A4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L08A4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L08A5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L08A5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L08A6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L08A6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L08B1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L08B1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L08B2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L08B2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L08B3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L08B3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L08B4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L08B4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L08B5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L08B5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L08B6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L08B6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L08C1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L08C1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L08C2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L08C2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L08C3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L08C3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L08C4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L08C4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L08C5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L08C5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L08C6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L08C6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L08D1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L08D1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L08D2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L08D2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L08D3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L08D3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L08D4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L08D4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L08D5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L08D5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L08D6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L08D6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L09A1  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L09A1' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L09A2  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L09A2' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L09A3  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L09A3' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L09A4  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L09A4' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L09A5  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L09A5' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L09A6  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L09A6' AND SLAB_NO IS NOT NULL),
+            (SELECT COUNT(YARD_ADDR) L09A7  FROM TBG04_SLAB_YARD WHERE YARD_ADDR = 'L09A7' AND SLAB_NO IS NOT NULL) 
+        ]]>
+    </query>  
+    <query id="UIG040021_TOT.select" desc=" UIG040030 INTI_PARAM   ">
+        <![CDATA[
+       SELECT
+            ALL_T_CNT,PL_SLAB_CNT,CORR_DIR_SLAB_CNT,CORR_RST_SLAB_CNT,
+            ORD_SLAB_CNT,NONORD_SLAB_CNT
+       FROM 
+       ( 
+        SELECT  COUNT(slab_no) ALL_T_CNT
+ 	     FROM TBG04_SLAB_YARD  
+	     WHERE  YARD_ADDR like 'L%'
+	   ) a ,
+	   ( 
+         SELECT  count(a.SLAB_NO) PL_SLAB_CNT
+           FROM TBG04_SLAB_YARD a,
+                TBG02_SLAB_COMM b  
+		   WHERE SUBSTR(PRODNM_CD,1,1) = 'P'
+		     AND  a.SLAB_NO = b.SLAB_NO    
+		     AND  YARD_ADDR like 'L%'
+	   ) b,
+	   ( 
+         SELECT  count(a.SLAB_NO) CORR_DIR_SLAB_CNT
+           FROM TBG04_SLAB_YARD a,
+                TBG02_SLAB_COMM b  
+		   WHERE CORRECT_RSLT_CD = '1'
+		     AND  a.SLAB_NO = b.SLAB_NO    
+		     AND  YARD_ADDR like 'L%'
+	   ) c, 
+	   ( 
+         SELECT  count(a.SLAB_NO) CORR_RST_SLAB_CNT
+           FROM TBG04_SLAB_YARD a,
+                TBG02_SLAB_COMM b  
+		   WHERE CORRECT_RSLT_CD = '2'
+		     AND  a.SLAB_NO = b.SLAB_NO    
+		     AND  YARD_ADDR like 'L%'
+	   ) d ,
+	   ( 
+         SELECT  count(a.SLAB_NO) ORD_SLAB_CNT
+           FROM TBG04_SLAB_YARD a,
+                TBG02_SLAB_COMM b  
+		   WHERE ORD_FL = '1'
+		     AND  a.SLAB_NO = b.SLAB_NO    
+		     AND  YARD_ADDR like 'L%'
+	   ) e,
+	   ( 
+         SELECT  count(a.SLAB_NO) NONORD_SLAB_CNT
+           FROM TBG04_SLAB_YARD a,
+                TBG02_SLAB_COMM b  
+		   WHERE ORD_FL = '2'
+		     AND  a.SLAB_NO = b.SLAB_NO    
+		     AND  YARD_ADDR like 'L%'
+	   ) f     
+        ]]>
+    </query>
+</queryMap>

+ 45 - 0
.svn/pristine/02/02f68c85425a7ba4ea1a187b61b580700b7a7301.svn-base

@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Glue:GlueDiagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Glue="http://www.glueframework.com/activitydiagram/" id="0" location="20,20" size="100,100">
+  <child xsi:type="Glue:InitialState" id="0" location="305,40" size="-1,-1" output="//@wire.2"/>
+  <child xsi:type="Glue:FinalState" id="132" location="305,400" size="-1,-1" input="//@wire.1 //@wire.6"/>
+  <child xsi:type="Glue:Activity" id="348" location="255,240" size="160,-1" input="//@wire.3 //@wire.4" output="//@wire.0 //@wire.6" name="SaveRepSelect">
+    <property key="class" value="xin.glue.nui.E.E03.RepSelectSave"/>
+    <property key="param-i" value="PRODNM_CD|CUST_CD|STL_GRD|ORD_NO|ORD_SEQ|RCVORD_CLF|DEL_FR_DATE|DEL_TO_DATE|ORD_USEAGE_CD|SPEC_ABBSYM|ORD_THK_MIN|ORD_THK_MAX|ORD_WTH_MIN|ORD_WTH_MAX"/>
+    <property key="sqlkey-i" value="NIE031010.RepOrd.Insert"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:InsertActivity" id="1570" location="255,320" size="120,-1" input="//@wire.0" output="//@wire.1" name="SavePrcSts">
+    <property key="sqlkey-count" value="2"/>
+    <property key="sqlkey-u0" value="NIE031010.Job.Update"/>
+    <property key="param-u0" value="REG_ID"/>
+    <property key="sqlkey-u1" value="NIE031010.JobDet.Update"/>
+    <property key="class" value="xin.glue.ui.common.PosSingleSave"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:RouterActivity" id="2107" location="255,80" size="160,-1" input="//@wire.2" output="//@wire.4 //@wire.5" name="SelectBranch">
+    <property key="class" value="xin.glue.nui.E.E03.RepHandled"/>
+    <property key="step" value="1"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:Activity" id="2116" location="255,160" size="120,-1" input="//@wire.5" output="//@wire.3" name="RepDelete">
+    <property key="class" value="xin.glue.ui.common.PosSingleSave"/>
+    <property key="description" value=""/>
+    <property key="sqlkey-count" value="5"/>
+    <property key="sqlkey-d0" value="NIE031040.RepSlab.Delete"/>
+    <property key="sqlkey-d1" value="NIE031040.RepSlabD.Delete"/>
+    <property key="sqlkey-d2" value="NIE031040.RepCoil.Delete"/>
+    <property key="sqlkey-d3" value="NIE031040.RepCoilD.Delete"/>
+    <property key="sqlkey-d4" value="NIE031040.RepOrd.Delete"/>
+  </child>
+  <property key="tx1" value="true"/>
+  <property key="description" value=""/>
+  <wire id="581" guardcondition="success" firstRelativePoint="315,110" lastRelativePoint="315,160"/>
+  <wire id="582" guardcondition="success" firstRelativePoint="315,190" lastRelativePoint="315,239"/>
+  <wire id="595" guardcondition="success" firstRelativePoint="319,57" lastRelativePoint="319,80"/>
+  <wire id="597" guardcondition="success" firstRelativePoint="315,190" lastRelativePoint="315,240"/>
+  <wire id="598" guardcondition="success" firstRelativePoint="394,110" lastRelativePoint="394,240"/>
+  <wire id="608" guardcondition="F" firstRelativePoint="313,110" lastRelativePoint="313,160"/>
+  <wire id="613" guardcondition="F" firstRelativePoint="390,270" lastRelativePoint="325,409">
+    <bendpoint weight="0.5" firstDimension="55,154" secondDimension="75,-1"/>
+  </wire>
+</Glue:GlueDiagram>

+ 1125 - 0
.svn/pristine/03/030495e95a8ae680c106ff9731fc3e3670f1d029.svn-base

@@ -0,0 +1,1125 @@
+<?xml version="1.0" encoding='UTF-8'?>
+<queryMap desc="STEEL MAKING QUERY ">	
+    <query id="UIG020060_CHARGE_INFO.select" desc="炉次信息查询">
+        <![CDATA[
+		   	SELECT 
+		         A.PLAN_CHARGE_NO
+		         ,A.STL_GRD
+		         ,CAST_EDT_CHARGE_CNT || '-' ||CAST_CHARGE_SEQ CAST_SEQ
+		         ,A.CC_DEVNO
+		         ,A.LD_NO
+		         ,A.LT_ARRV_DTIME
+		         ,A.RCPT_TAP_QTY
+		         ,'' CUT_WKSHIFT
+		         ,'' CUT_WKGROUP
+		         ,'' CUT_EMP_ID
+		      FROM TBG02_CHARGE_COMM A
+		      WHERE CHARGE_NO = :1
+        ]]>
+    </query>
+	<query id="UIG020060_01.select" desc="板坯切割实绩查询">
+        <![CDATA[
+		   
+			
+    		SELECT 
+			 '' CHK  
+			   ,A.PLAN_CHARGE_NO
+			   ,A.STL_GRD
+			   ,A.CAST_SEQ
+			   ,A.CC_DEVNO
+			   ,A.LD_NO
+			   ,A.LT_ARRV_DTIME
+			   ,A.RCPT_TAP_QTY
+			   ,B.CUT_WKSHIFT
+			   ,B.PLAN_SLAB_NO
+			   ,B.CUT_WKGROUP
+			   ,B.SLAB_NO_SEQ SLAB_NO 
+			   ,B.SLAB_THK
+			   ,B.SLAB_WTH
+			   ,B.SLAB_LEN
+			   ,B.SLAB_WGT
+			   ,B.SLAB_TEMP
+			   ,B.HCR_CLF
+			   ,B.SLAB_RT
+			   ,B.SLAB_CUT_DTIME
+			   ,B.ORD_FL
+			   ,B.LAST_SLAB_YN
+			   ,B.DIFF_STL_GRD_STA_END_YN
+			   ,SLAB_STAT          
+			   ,CUT_EMP_ID   
+			   ,SURPLMATL_YN
+			 ,STRAND_NO
+			 ,SLAB_INGR_DEC_GRD
+			 ,SLAB_SIZE_DEC_GRD
+		  --   ,DIFF_STL_GRD_STA_END_YN
+			FROM 
+			(
+			 SELECT
+				CHARGE_NO
+			   ,PLAN_CHARGE_NO
+			   ,STL_GRD
+			   ,CAST_EDT_CHARGE_CNT || '-' ||CAST_CHARGE_SEQ CAST_SEQ
+			   ,CC_DEVNO
+			   ,LD_NO
+			   ,LT_ARRV_DTIME
+			   ,RCPT_TAP_QTY 
+				
+			 FROM TBG02_CHARGE_COMM
+			 WHERE CHARGE_NO = ?
+			) A ,
+			(
+			 SELECT
+				  CUT_WKSHIFT 
+				 ,SLAB_NO
+				 ,PLAN_SLAB_NO
+				 ,CUT_WKGROUP
+				 ,SUBSTR(SLAB_NO,11,12) SLAB_NO_SEQ 
+				 ,DECODE(SLAB_THK,NULL,INSTR_SLAB_THK,SLAB_THK) SLAB_THK
+				 ,DECODE(SLAB_WTH,NULL,INSTR_SLAB_WTH,SLAB_WTH) SLAB_WTH
+				 ,DECODE(SLAB_LEN,NULL,INSTR_SLAB_LEN,SLAB_LEN) SLAB_LEN 
+				 ,DECODE(SLAB_WGT,NULL,INSTR_SLAB_WGT,SLAB_WGT) SLAB_WGT
+				 ,SLAB_TEMP
+				 ,HCR_CLF
+				 ,SLAB_RT
+				 ,SLAB_CUT_DTIME
+				 ,ORD_FL
+				 ,LAST_SLAB_YN
+			   --  ,DIFF_STL_GRD_STA_END_YN
+				 ,SLAB_STAT         
+				 ,CUT_EMP_ID  
+				 ,SURPLMATL_YN
+			   ,STRAND_NO  
+			 ,DECODE(DIFF_STL_GRD_STA_END_YN,'2','Y','N') DIFF_STL_GRD_STA_END_YN
+			 ,SLAB_INGR_DEC_GRD
+			 ,SLAB_SIZE_DEC_GRD
+			 FROM TBG02_SLAB_COMM
+			 WHERE  SLAB_NO LIKE ?||'%' 
+			) B
+			WHERE B.SLAB_NO(+)  LIKE A.CHARGE_NO||'%'
+			ORDER BY PLAN_SLAB_NO ASC
+        ]]>
+    </query>
+    
+    <query id="UIG020060_SLAB1.select" desc="板坯切割实绩查询">
+        <![CDATA[
+		   SELECT B.SLAB_NO,
+			       b.CUT_WKSHIFT,
+			       b.PLAN_SLAB_NO,
+			       b.CUT_WKGROUP,
+			       b.SLAB_NO_SEQ SLAB_NO,
+			       b.SLAB_THK,
+			       b.SLAB_WTH,
+			       b.SLAB_LEN,
+			       b.SLAB_WGT,
+			       b.SLAB_TEMP,
+			       b.HCR_CLF,
+			       b.SLAB_RT,
+			       b.SLAB_CUT_DTIME,
+			       b.ORD_FL,
+			       b.LAST_SLAB_YN,
+			       b.DIFF_STL_GRD_STA_END_YN,
+			       SLAB_STAT,
+			       CUT_EMP_ID,
+			       SURPLMATL_YN,
+			       STRAND_NO
+			       --  ,DIFF_STL_GRD_STA_END_YN
+			      ,TW_SLAB_YN
+			  FROM (SELECT CUT_WKSHIFT,
+			               SLAB_NO,
+			               PLAN_SLAB_NO,
+			               SUB_SLAB_NO,
+			               CUT_WKGROUP,
+			               SUBSTR(SLAB_NO, 11, 12) SLAB_NO_SEQ,
+			               DECODE(SLAB_THK, NULL, INSTR_SLAB_THK, SLAB_THK) SLAB_THK,
+			               DECODE(SLAB_WTH, NULL, INSTR_SLAB_WTH, SLAB_WTH) SLAB_WTH,
+			               DECODE(SLAB_LEN, NULL, INSTR_SLAB_LEN, SLAB_LEN) SLAB_LEN,
+			               DECODE(SLAB_WGT, NULL, INSTR_SLAB_WGT, SLAB_WGT) SLAB_WGT,
+			               SLAB_TEMP,
+			               HCR_CLF,
+			               SLAB_RT,
+			               SLAB_CUT_DTIME,
+			               ORD_FL,
+			               LAST_SLAB_YN,
+			               DIFF_STL_GRD_STA_END_YN,
+			               SLAB_STAT,
+			               CUT_EMP_ID,
+			               SURPLMATL_YN,
+			               STRAND_NO
+			               --  ,DIFF_STL_GRD_STA_END_YN
+			              ,
+			               TW_SLAB_YN
+			          FROM tbg02_slab_comm
+			         WHERE STRAND_NO = '1'
+			           AND SUB_SLAB_NO like :1|| '%'
+			           AND slab_stat <> '1') b
+			 ORDER BY B.SLAB_NO
+		   
+        ]]>
+    </query>
+    
+    <query id="UIG020060_SLAB1.select_BAK" desc="板坯切割实绩查询">
+        <![CDATA[
+		   
+       SELECT 
+        a.PLAN_CHARGE_NO
+       ,B.SLAB_NO
+       ,a.STL_GRD
+       ,a.CAST_SEQ
+       ,a.CC_DEVNO
+       ,a.LD_NO
+       ,a.LT_ARRV_DTIME
+       ,a.RCPT_TAP_QTY
+       ,b.CUT_WKSHIFT
+       ,b.PLAN_SLAB_NO
+       ,b.CUT_WKGROUP
+       ,b.SLAB_NO_SEQ SLAB_NO 
+       ,b.SLAB_THK
+       ,b.SLAB_WTH
+       ,b.SLAB_LEN
+       ,b.SLAB_WGT
+       ,b.SLAB_TEMP
+       ,b.HCR_CLF
+       ,b.SLAB_RT
+       ,b.SLAB_CUT_DTIME
+       ,b.ORD_FL
+       ,b.LAST_SLAB_YN
+       ,b.DIFF_STL_GRD_STA_END_YN
+       ,SLAB_STAT          
+       ,CUT_EMP_ID   
+       ,SURPLMATL_YN
+	   ,STRAND_NO
+	 --  ,DIFF_STL_GRD_STA_END_YN
+	   ,TW_SLAB_YN		
+    FROM 
+    (
+     SELECT
+        CHARGE_NO
+       ,PLAN_CHARGE_NO
+       ,STL_GRD
+       ,CAST_EDT_CHARGE_CNT || '-' ||CAST_CHARGE_SEQ CAST_SEQ
+       ,CC_DEVNO
+       ,LD_NO
+       ,LT_ARRV_DTIME
+       ,RCPT_TAP_QTY 
+        
+     FROM TBG02_CHARGE_COMM
+     where CHARGE_NO = ?
+    ) a ,
+    (
+     SELECT
+          CUT_WKSHIFT 
+         ,SLAB_NO
+         ,PLAN_SLAB_NO
+         ,SUB_SLAB_NO
+         ,CUT_WKGROUP
+         ,SUBSTR(SLAB_NO,11,12) SLAB_NO_SEQ 
+         ,DECODE(SLAB_THK,NULL,INSTR_SLAB_THK,SLAB_THK) SLAB_THK
+         ,DECODE(SLAB_WTH,NULL,INSTR_SLAB_WTH,SLAB_WTH) SLAB_WTH
+         ,DECODE(SLAB_LEN,NULL,INSTR_SLAB_LEN,SLAB_LEN) SLAB_LEN 
+         ,DECODE(SLAB_WGT,NULL,INSTR_SLAB_WGT,SLAB_WGT) SLAB_WGT
+         ,SLAB_TEMP
+         ,HCR_CLF
+         ,SLAB_RT
+         ,SLAB_CUT_DTIME
+         ,ORD_FL
+         ,LAST_SLAB_YN
+         ,DIFF_STL_GRD_STA_END_YN
+         ,SLAB_STAT         
+         ,CUT_EMP_ID  
+         ,SURPLMATL_YN
+	     ,STRAND_NO  
+	--	 ,DIFF_STL_GRD_STA_END_YN
+		 ,TW_SLAB_YN	
+     FROM tbg02_slab_comm
+     WHERE  STRAND_NO = '1'
+       AND  SUB_SLAB_NO like ?||'%' 
+	   AND  slab_stat <> '1'
+    ) b
+    WHERE b.SUB_SLAB_NO(+)  like a.CHARGE_NO||'%'
+    ORDER BY B.SLAB_NO
+    
+        ]]>
+    </query>
+    
+    <query id="UIG020060_SLAB2.select" desc="板坯切割实绩查询">
+        <![CDATA[
+		   SELECT B.SLAB_NO,
+			       b.CUT_WKSHIFT,
+			       b.PLAN_SLAB_NO,
+			       b.CUT_WKGROUP,
+			       b.SLAB_NO_SEQ SLAB_NO,
+			       b.SLAB_THK,
+			       b.SLAB_WTH,
+			       b.SLAB_LEN,
+			       b.SLAB_WGT,
+			       b.SLAB_TEMP,
+			       b.HCR_CLF,
+			       b.SLAB_RT,
+			       b.SLAB_CUT_DTIME,
+			       b.ORD_FL,
+			       b.LAST_SLAB_YN,
+			       b.DIFF_STL_GRD_STA_END_YN,
+			       SLAB_STAT,
+			       CUT_EMP_ID,
+			       SURPLMATL_YN,
+			       STRAND_NO
+			       --   ,DIFF_STL_GRD_STA_END_YN
+			      ,TW_SLAB_YN
+			  FROM (SELECT CUT_WKSHIFT,
+			               SLAB_NO,
+			               PLAN_SLAB_NO,
+			               SUB_SLAB_NO,
+			               CUT_WKGROUP,
+			               SUBSTR(SLAB_NO, 11, 12) SLAB_NO_SEQ,
+			               DECODE(SLAB_THK, NULL, INSTR_SLAB_THK, SLAB_THK) SLAB_THK,
+			               DECODE(SLAB_WTH, NULL, INSTR_SLAB_WTH, SLAB_WTH) SLAB_WTH,
+			               DECODE(SLAB_LEN, NULL, INSTR_SLAB_LEN, SLAB_LEN) SLAB_LEN,
+			               DECODE(SLAB_WGT, NULL, INSTR_SLAB_WGT, SLAB_WGT) SLAB_WGT,
+			               SLAB_TEMP,
+			               HCR_CLF,
+			               SLAB_RT,
+			               SLAB_CUT_DTIME,
+			               ORD_FL,
+			               LAST_SLAB_YN
+			               --  ,DIFF_STL_GRD_STA_END_YN
+			              ,SLAB_STAT,
+			               CUT_EMP_ID,
+			               SURPLMATL_YN,
+			               STRAND_NO,
+			               DIFF_STL_GRD_STA_END_YN,
+			               TW_SLAB_YN
+			          FROM tbg02_slab_comm
+			         WHERE STRAND_NO = '2'
+			           AND SUB_SLAB_NO like :1|| '%'
+			           AND slab_stat <> '1') b
+			 ORDER BY B.SLAB_NO
+					   
+        ]]>
+    </query>
+    
+    <query id="UIG020060_SLAB2.select_BAK" desc="板坯切割实绩查询">
+        <![CDATA[
+		   
+       SELECT 
+        a.PLAN_CHARGE_NO
+       ,B.SLAB_NO
+       ,a.STL_GRD
+       ,a.CAST_SEQ
+       ,a.CC_DEVNO
+       ,a.LD_NO
+       ,a.LT_ARRV_DTIME
+       ,a.RCPT_TAP_QTY
+       ,b.CUT_WKSHIFT
+       ,b.PLAN_SLAB_NO
+       ,b.CUT_WKGROUP
+       ,b.SLAB_NO_SEQ SLAB_NO 
+       ,b.SLAB_THK
+       ,b.SLAB_WTH
+       ,b.SLAB_LEN
+       ,b.SLAB_WGT
+       ,b.SLAB_TEMP
+       ,b.HCR_CLF
+       ,b.SLAB_RT
+       ,b.SLAB_CUT_DTIME
+       ,b.ORD_FL
+       ,b.LAST_SLAB_YN
+       ,b.DIFF_STL_GRD_STA_END_YN
+       ,SLAB_STAT          
+       ,CUT_EMP_ID   
+       ,SURPLMATL_YN
+	   ,STRAND_NO
+	--   ,DIFF_STL_GRD_STA_END_YN
+	   ,TW_SLAB_YN	
+    FROM 
+    (
+     SELECT
+        CHARGE_NO
+       ,PLAN_CHARGE_NO
+       ,STL_GRD
+       ,CAST_EDT_CHARGE_CNT || '-' ||CAST_CHARGE_SEQ CAST_SEQ
+       ,CC_DEVNO
+       ,LD_NO
+       ,LT_ARRV_DTIME
+       ,RCPT_TAP_QTY 
+        
+     FROM TBG02_CHARGE_COMM
+     where CHARGE_NO = ?
+    ) a ,
+    (
+     SELECT
+          CUT_WKSHIFT 
+         ,SLAB_NO
+         ,PLAN_SLAB_NO
+         ,SUB_SLAB_NO
+         ,CUT_WKGROUP
+         ,SUBSTR(SLAB_NO,11,12) SLAB_NO_SEQ 
+         ,DECODE(SLAB_THK,NULL,INSTR_SLAB_THK,SLAB_THK) SLAB_THK
+         ,DECODE(SLAB_WTH,NULL,INSTR_SLAB_WTH,SLAB_WTH) SLAB_WTH
+         ,DECODE(SLAB_LEN,NULL,INSTR_SLAB_LEN,SLAB_LEN) SLAB_LEN 
+         ,DECODE(SLAB_WGT,NULL,INSTR_SLAB_WGT,SLAB_WGT) SLAB_WGT
+         ,SLAB_TEMP
+         ,HCR_CLF
+         ,SLAB_RT
+         ,SLAB_CUT_DTIME
+         ,ORD_FL
+         ,LAST_SLAB_YN
+       --  ,DIFF_STL_GRD_STA_END_YN
+         ,SLAB_STAT         
+         ,CUT_EMP_ID  
+         ,SURPLMATL_YN  
+		 ,STRAND_NO
+		 ,DIFF_STL_GRD_STA_END_YN
+		 ,TW_SLAB_YN	
+     FROM tbg02_slab_comm
+     WHERE  STRAND_NO = '2'
+       AND  SUB_SLAB_NO like ?||'%' 
+	   AND  slab_stat <> '1'
+    ) b
+    WHERE b.SUB_SLAB_NO(+)  like a.CHARGE_NO||'%'
+    ORDER BY B.SLAB_NO
+    
+        ]]>
+    </query>
+    
+	<query id="UIG020060_SLAB0.select" desc="板坯切割实绩查询">
+        <![CDATA[
+		SELECT '' CHK
+       
+			      ,
+			       B.CUT_WKSHIFT,
+			       B.PLAN_SLAB_NO,
+			       B.CUT_WKGROUP,
+			       B.SLAB_NO_SEQ SLAB_NO,
+			       B.SLAB_NO_SEQ2 SUB_SLAB_NO,
+			       B.SLAB_THK,
+			       B.SLAB_WTH,
+			       B.SLAB_LEN,
+			       B.SLAB_WGT,
+			       B.SLAB_TEMP,
+			       B.HCR_CLF,
+			       B.SLAB_RT,
+			       B.SLAB_CUT_DTIME,
+			       B.ORD_FL,
+			       B.LAST_SLAB_YN,
+			       B.DIFF_STL_GRD_STA_END_YN,
+			       SLAB_STAT,
+			       CUT_EMP_ID,
+			       SURPLMATL_YN,
+			       decode(STRAND_NO, 1, 'Y', 'N') STRAND_NO1,
+			       decode(STRAND_NO, 2, 'Y', 'N') STRAND_NO2,
+			       TW_SLAB_YN
+			       --   ,DIFF_STL_GRD_STA_END_YN
+			      ,
+			       SLAB_INGR_DEC_GRD,
+			       SLAB_SIZE_DEC_GRD,
+			       C.MILL_FL,
+			       C.ORD_NO || '-' || C.ORD_SEQ INS_ORD_NO,
+			       C.SLAB_THK || '*' || C.SLAB_WTH || '*' || C.SLAB_LEN INS_SLAB_SIZE
+			  FROM (SELECT CUT_WKSHIFT,
+			               SLAB_NO,
+			               SUB_SLAB_NO,
+			               PLAN_SLAB_NO,
+			               CUT_WKGROUP,
+			               SUBSTR(SLAB_NO, 11, 12) SLAB_NO_SEQ,
+			               SUBSTR(SUB_SLAB_NO, 11, 12) SLAB_NO_SEQ2,
+			               DECODE(SLAB_THK, NULL, INSTR_SLAB_THK, SLAB_THK) SLAB_THK,
+			               DECODE(SLAB_WTH, NULL, INSTR_SLAB_WTH, SLAB_WTH) SLAB_WTH,
+			               DECODE(SLAB_LEN, NULL, INSTR_SLAB_LEN, SLAB_LEN) SLAB_LEN,
+			               DECODE(SLAB_WGT, NULL, INSTR_SLAB_WGT, SLAB_WGT) SLAB_WGT,
+			               SLAB_TEMP,
+			               HCR_CLF,
+			               SLAB_RT,
+			               SLAB_CUT_DTIME,
+			               ORD_FL,
+			               LAST_SLAB_YN,
+			               TW_SLAB_YN
+			               --  ,DIFF_STL_GRD_STA_END_YN
+			              ,
+			               SLAB_STAT,
+			               CUT_EMP_ID,
+			               SURPLMATL_YN,
+			               STRAND_NO,
+			               DECODE(DIFF_STL_GRD_STA_END_YN, '2', 'Y', 'N') DIFF_STL_GRD_STA_END_YN,
+			               SLAB_INGR_DEC_GRD,
+			               SLAB_SIZE_DEC_GRD
+			          FROM TBG02_SLAB_COMM
+			         WHERE SUB_SLAB_NO LIKE :1|| '%') B,
+			       TBF01_SPEC_SLAB C
+			 WHERE '1' = '1'
+			   AND B.PLAN_SLAB_NO = C.SLAB_MANA_NO
+			 ORDER BY SUB_SLAB_NO
+
+        ]]>
+    </query>
+    <query id="UIG020060_SLAB0.select_BAK" desc="板坯切割实绩查询">
+        <![CDATA[
+		SELECT 
+	     '' CHK  
+	       ,A.PLAN_CHARGE_NO
+	       ,A.STL_GRD
+	       ,A.CAST_SEQ
+	       ,A.CC_DEVNO
+	       ,A.LD_NO
+	       ,A.LT_ARRV_DTIME
+	       ,A.RCPT_TAP_QTY
+	       ,B.CUT_WKSHIFT
+	       ,B.PLAN_SLAB_NO
+	       ,B.CUT_WKGROUP
+	       ,B.SLAB_NO_SEQ SLAB_NO
+	       ,B.SLAB_NO_SEQ2 SUB_SLAB_NO
+	       ,B.SLAB_THK
+	       ,B.SLAB_WTH
+	       ,B.SLAB_LEN
+	       ,B.SLAB_WGT
+	       ,B.SLAB_TEMP
+	       ,B.HCR_CLF
+	       ,B.SLAB_RT
+	       ,B.SLAB_CUT_DTIME
+	       ,B.ORD_FL
+	       ,B.LAST_SLAB_YN
+	       ,B.DIFF_STL_GRD_STA_END_YN
+	       ,SLAB_STAT          
+	       ,CUT_EMP_ID   
+	       ,SURPLMATL_YN
+	     ,decode(STRAND_NO,1,'Y','N') STRAND_NO1
+         ,decode(STRAND_NO,2,'Y','N') STRAND_NO2
+	     ,TW_SLAB_YN    
+	  --   ,DIFF_STL_GRD_STA_END_YN
+	     ,SLAB_INGR_DEC_GRD
+	     ,SLAB_SIZE_DEC_GRD
+	     ,C.MILL_FL   
+	     ,C.ORD_NO||'-'||C.ORD_SEQ INS_ORD_NO
+	     ,C.SLAB_THK||'*'||C.SLAB_WTH||'*'||C.SLAB_LEN INS_SLAB_SIZE   
+	    FROM 
+	    (
+	     SELECT
+	        CHARGE_NO
+	       ,PLAN_CHARGE_NO
+	       ,STL_GRD
+	       ,CAST_EDT_CHARGE_CNT || '-' ||CAST_CHARGE_SEQ CAST_SEQ
+	       ,CC_DEVNO
+	       ,LD_NO
+	       ,LT_ARRV_DTIME
+	       ,RCPT_TAP_QTY 
+	        
+	     FROM TBG02_CHARGE_COMM
+	     WHERE CHARGE_NO = ?
+	    ) A ,
+	    (
+	     SELECT
+	          CUT_WKSHIFT 
+	         ,SLAB_NO
+	         ,SUB_SLAB_NO
+	         ,PLAN_SLAB_NO
+	         ,CUT_WKGROUP
+	         ,SUBSTR(SLAB_NO,11,12) SLAB_NO_SEQ 
+	         ,SUBSTR(SUB_SLAB_NO,11,12) SLAB_NO_SEQ2
+	         ,DECODE(SLAB_THK,NULL,INSTR_SLAB_THK,SLAB_THK) SLAB_THK
+	         ,DECODE(SLAB_WTH,NULL,INSTR_SLAB_WTH,SLAB_WTH) SLAB_WTH
+	         ,DECODE(SLAB_LEN,NULL,INSTR_SLAB_LEN,SLAB_LEN) SLAB_LEN 
+	         ,DECODE(SLAB_WGT,NULL,INSTR_SLAB_WGT,SLAB_WGT) SLAB_WGT
+	         ,SLAB_TEMP
+	         ,HCR_CLF
+	         ,SLAB_RT
+	         ,SLAB_CUT_DTIME
+	         ,ORD_FL
+	         ,LAST_SLAB_YN
+	     ,TW_SLAB_YN  
+	       --  ,DIFF_STL_GRD_STA_END_YN
+	         ,SLAB_STAT         
+	         ,CUT_EMP_ID  
+	         ,SURPLMATL_YN
+	       ,STRAND_NO  
+	     ,DECODE(DIFF_STL_GRD_STA_END_YN,'2','Y','N') DIFF_STL_GRD_STA_END_YN
+	     ,SLAB_INGR_DEC_GRD
+	     ,SLAB_SIZE_DEC_GRD  
+	     FROM TBG02_SLAB_COMM
+	     WHERE  SUB_SLAB_NO LIKE ?||'%' 
+	    ) B,
+	  TBF01_SPEC_SLAB C    
+	    WHERE B.SUB_SLAB_NO(+)  LIKE A.CHARGE_NO||'%'
+	    AND   B.PLAN_SLAB_NO = C.SLAB_MANA_NO
+	  ORDER BY   SUB_SLAB_NO
+        ]]>
+    </query>
+	
+    <query id="UIG020060_02.select" desc="板坯切割实绩查询">
+        <![CDATA[
+		   
+     SELECT PLAN_CHARGE_NO,STL_GRD
+     FROM   TBG02_CHARGE_COMM 
+     WHERE CHARGE_NO = ? 
+    
+        ]]>
+    </query>
+    <query id="UIG020060_01.update" desc="This step query is update query   to TBG03_STLMAKE_PROG     ">
+        <![CDATA[
+		   update TBG02_SLAB_COMM set(
+              	 SLAB_STAT
+	             ,STL_GRD
+	             ,CUR_PROG_CD
+	             ,CUR_PROG_CD_PGM
+	             ,CUR_PROG_CD_DTIME
+	             ,BEF_PROG_CD
+	             ,BEF_PROG_CD_PGM
+	             ,BEF_PROG_CD_DTIME
+	             ,ORD_NO
+	             ,ORD_SEQ
+	             ,ORD_FL
+	             ,PRODNM_CD
+	             ,INSTR_SLAB_THK
+	             ,INSTR_SLAB_WTH
+	             ,INSTR_SLAB_LEN
+	             ,INSTR_SLAB_WGT
+	             ,INSTR_COIL_THK
+	             ,INSTR_COIL_WTH
+	             ,SLAB_THK
+	             ,SLAB_WTH
+	             ,SLAB_LEN
+	             ,SLAB_WGT
+	             ,HCR_CLF
+	             ,SLAB_WAY
+	             ,SLAB_RT
+	             ,LAST_SLAB_YN
+	             ,SLAB_CUT_DTIME
+	             ,CUT_WKSHIFT
+	             ,CUT_WKGROUP
+	             ,CUT_EMP_ID
+	             ,CUST_CD
+	             ,ORD_USE_CD
+	             ,SPEC_ABBSYM
+	             ,ORDCUST_CD
+	             ,SIZE_UPDT_BEF_THK
+	             ,SIZE_UPDT_BEF_WTH
+	             ,SIZE_UPDT_BEF_LEN
+	             ,SIZE_UPDT_BEF_WGT
+	             ,SURPLMATL_YN
+	             ,ORG_ORD_NO
+	             ,ORG_ORD_SEQ
+	             ,CUR_LOAD_LOC
+	             ,MILL_SCH_STAT
+	             ,SLAB_SIZE_DEC_GRD
+	             ,DIFF_STL_GRD_STA_END_YN
+	             ,CAST_NO
+	             ,CUR_LOAD_LOC_DTIME
+	             ,PROC_CD
+	             ,STRAND_NO
+	             /*,EXTSHAPE_GRD*/
+	             ,NONORD_CAUSE_CD
+	             ,NONORD_OCR_DTIME
+	             ,MATRL_END_DTIME
+	             ,MATRL_END_CAUSE_CD
+	             ,TW_SLAB_YN
+	             ,DSN_SLAB_NO
+	             ,LG_STL_GRD
+	             )=(SELECT '2' SLAB_STAT
+	                       ,a.STL_GRD
+	                       ,? CUR_PROG_CD
+	                       ,? CUR_PROG_CD_PGM
+	                       ,TO_CHAR(SYSDATE,'YYYYMMDDHH24MIDD') CUR_PROG_CD_DTIME
+	                       ,A.CUR_PROG_CD BEF_PROG_CD
+	                       ,DECODE(A.CUR_PROG_CD_PGM,'',?,A.CUR_PROG_CD_PGM)BEF_PROG_CD_PGM
+	                       ,A.CUR_PROG_CD_DTIME BEF_PROG_CD_DTIME
+	                       ,? ORD_NO      
+	                       ,? ORD_SEQ
+	                       
+	                       ,? ORD_FL
+	                       ,a.PRODNM_CD
+	                       ,B.SLAB_THK INSTR_SLAB_THK
+	                       ,B.SLAB_WTH INSTR_SLAB_WTH
+	                       ,B.SLAB_LEN INSTR_SLAB_LEN
+	                       ,B.SLAB_WGT INSTR_SLAB_WGT
+	                       ,B.ORD_THK  INSTR_COIL_THK
+	                       ,B.ORD_WTH  INSTR_COIL_WTH
+	                       ,? SLAB_THK
+	                       ,? SLAB_WTH
+	                       ,? SLAB_LEN
+	                       ,? SLAB_WGT
+	                       
+	                       ,? HCR_CLF
+	                       ,? SLAB_WAY
+	                       ,? SLAB_RT
+	                       ,? LAST_SLAB_YN
+	                       ,TO_CHAR(SYSDATE,'YYYYMMDDHH24MIDD') SLAB_CUT_DTIME
+	                       ,? CUT_WKSHIFT
+	                       
+	                       ,? CUT_WKGROUP
+	                       ,? CUT_EMP_ID
+	                       ,B.CUST_CD CUST_CD                       --
+	                       ,B.ORD_USEAGE_CD ORD_USE_CD              --
+	                       ,B.SPEC_ABBSYM SPEC_ABBSYM               --
+	                       ,B.ORDCUST_CD ORDCUST_CD                  --
+	                       ,A.SLAB_THK SIZE_UPDT_BEF_THK
+	                       ,A.SLAB_WTH SIZE_UPDT_BEF_WTH
+	                       ,A.SLAB_LEN SIZE_UPDT_BEF_LEN
+	                       ,A.SLAB_WGT SIZE_UPDT_BEF_WGT
+	                       ,? SURPLMATL_YN
+	                       ,A.ORD_NO ORG_ORD_NO
+	                       ,A.ORD_SEQ ORG_ORD_SEQ
+	                       ,? CUR_LOAD_LOC
+	                       ,'' MILL_SCH_STAT
+	                       ,? SLAB_SIZE_DEC_GRD
+	                       
+	                       ,? DIFF_STL_GRD_STA_END_YN
+	                       ,B.CAST_MANA_NO CAST_NO                    --
+	                       ,TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS') CUR_LOAD_LOC_DTIME
+	                       ,? PROC_CD
+	                       ,? STRAND_NO
+	                       /*,DECODE(B.HOT_ROLL_REQ_DATE,'JH','','1') EXTSHAPE_GRD*/
+	                       ,? NONORD_CAUSE_CD
+	                       ,TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS') NONORD_OCR_DTIME
+	                       ,'' MATRL_END_DTIME
+	                       ,'' MATRL_END_CAUSE_CD
+	                       ,? TW_SLAB_YN
+	                       ,'' DSN_SLAB_NO
+	                       ,A.STL_GRD LG_STL_GRD
+	                FROM TBG02_SLAB_COMM A
+	                     ,TBF01_SPEC_SLAB B
+	                WHERE '1' = '1'
+	                AND   A.PLAN_SLAB_NO = B.SLAB_MANA_NO
+	                AND   A.SLAB_NO = ?)
+	      WHERE SLAB_NO = ?
+        ]]>
+  </query> 
+  
+  <query id="UIG020060_01.insert" desc="This step query is update query   to TBG03_STLMAKE_PROG     ">
+        <![CDATA[
+   insert into  TBG02_SLAB_COMM
+  (  SLAB_NO                           
+    ,PLAN_SLAB_NO                      
+    ,SLAB_STAT                         
+    ,STL_GRD                           
+    ,CUR_PROG_CD                       
+    ,CUR_PROG_CD_PGM               
+    ,CUR_PROG_CD_DTIME             
+    ,BEF_PROG_CD                       
+    ,BEF_PROG_CD_PGM               
+    ,BEF_PROG_CD_DTIME             
+    ,ORD_NO                            
+    ,ORD_SEQ                           
+    ,ORD_FL                                  
+    ,PRODNM_CD                         
+    ,INSTR_SLAB_THK                    
+    ,INSTR_SLAB_WTH                    
+    ,INSTR_SLAB_LEN                    
+    ,INSTR_SLAB_WGT                    
+    ,SLAB_THK                          
+    ,SLAB_WTH                          
+    ,SLAB_LEN                          
+    ,SLAB_WGT                           
+    ,HCR_CLF                           
+    ,SLAB_WAY                          
+    ,SLAB_RT                           
+    ,LAST_SLAB_YN                    
+    ,SLAB_CUT_DTIME                                                        
+    ,DIFF_STL_GRD_STA_END_YN        
+    ,CUT_WKSHIFT           
+    ,CUT_WKGROUP           
+    ,CUT_EMP_ID      
+    ,CUST_CD               
+    ,ORD_USE_CD             
+    ,SPEC_ABBSYM            
+    ,ORDCUST_CD  
+    ,SIZE_UPDT_BEF_THK       
+    ,SIZE_UPDT_BEF_WTH      
+    ,SIZE_UPDT_BEF_LEN     
+    ,SIZE_UPDT_BEF_WGT 
+    ,SURPLMATL_YN 
+    ,CUR_LOAD_LOC
+    ,CUR_LOAD_LOC_DTIME     
+    ,MILL_SCH_STAT 
+    ,SLAB_SIZE_DEC_GRD  
+    ,CAST_NO
+    ,EXTSHAPE_GRD   
+    ,PROC_CD
+    ,STRAND_NO  
+    ,NONORD_CAUSE_CD   
+	,NONORD_OCR_DTIME		
+	,ORG_ORD_NO     
+	,ORG_ORD_SEQ    
+	,SLAB_INGR_DEC_GRD 
+	,SLAB_INGR_DEC_KIND 
+	,TW_SLAB_YN		
+  )    
+  values
+  (
+    
+      ?                                            
+     ,?                                            
+     ,'2'                                          
+     ,?                                            
+     ,?                                            
+     ,?                                                                                 
+     ,TO_CHAR(SYSDATE,'YYYYMMDDHH24MIDD')          
+     ,''                                        
+     ,?                                            
+     ,TO_CHAR(SYSDATE,'YYYYMMDDHH24MIDD')          
+     ,?                                            
+     ,?                                            
+     ,?                                            
+     ,?                                                                                 
+     ,?                                            
+     ,?                                             
+     ,?                                                                                 
+     ,?                                            
+     ,?                                            
+     ,?                                            
+     ,?                                            
+     ,?                                            
+     ,?                                            
+     ,?                                            
+     ,?                                            
+     ,?                                            
+     ,TO_CHAR(SYSDATE,'YYYYMMDDHH24MIDD')          
+     ,? 
+     ,?
+     ,?
+     ,? 
+     ,? 
+     ,?
+     ,?
+     ,? 
+     ,? 
+     ,?
+     ,?
+     ,?  
+     ,? 
+     ,?
+     ,TO_CHAR(SYSDATE,'YYYYMMDDHH24MIDD')       
+     ,?
+     ,?
+     ,? 
+     ,'1'
+     ,? 
+     ,? 
+     ,?  
+	 ,TO_CHAR(SYSDATE,'YYYYMMDDHH24MIDD')		
+	 ,? 
+     ,? 
+	 ,? 
+     ,?
+     ,?        
+    )                                                 
+        ]]>
+  </query> 
+  
+  <query id="UIG020060_report.insert" desc="This step query is update query   to TBG03_STLMAKE_PROG     ">
+        <![CDATA[
+    insert into  TBG02_SLAB_REPORT(
+              	 SLAB_STAT
+	             ,STL_GRD
+	             ,CUR_PROG_CD
+	             ,CUR_PROG_CD_PGM
+	             ,CUR_PROG_CD_DTIME
+	             ,BEF_PROG_CD
+	             ,BEF_PROG_CD_PGM
+	             ,BEF_PROG_CD_DTIME
+	             ,ORD_NO
+	             ,ORD_SEQ
+	             ,ORD_FL
+	             ,PRODNM_CD
+	             ,INSTR_SLAB_THK
+	             ,INSTR_SLAB_WTH
+	             ,INSTR_SLAB_LEN
+	             ,INSTR_SLAB_WGT
+	             ,INSTR_COIL_THK
+	             ,INSTR_COIL_WTH
+	             ,SLAB_THK
+	             ,SLAB_WTH
+	             ,SLAB_LEN
+	             ,SLAB_WGT
+	             ,HCR_CLF
+	             ,SLAB_WAY
+	             ,SLAB_RT
+	             ,LAST_SLAB_YN
+	             ,SLAB_CUT_DTIME
+	             ,CUT_WKSHIFT
+	             ,CUT_WKGROUP
+	             ,CUT_EMP_ID
+	             ,CUST_CD
+	             ,ORD_USE_CD
+	             ,SPEC_ABBSYM
+	             ,ORDCUST_CD
+	             ,SIZE_UPDT_BEF_THK
+	             ,SIZE_UPDT_BEF_WTH
+	             ,SIZE_UPDT_BEF_LEN
+	             ,SIZE_UPDT_BEF_WGT
+	             ,SURPLMATL_YN
+	             ,ORG_ORD_NO
+	             ,ORG_ORD_SEQ
+	             ,CUR_LOAD_LOC
+	             ,MILL_SCH_STAT
+	             ,SLAB_SIZE_DEC_GRD
+	             ,DIFF_STL_GRD_STA_END_YN
+	             ,CAST_NO
+	             ,CUR_LOAD_LOC_DTIME
+	             ,PROC_CD
+	             ,STRAND_NO
+	             ,EXTSHAPE_GRD
+	             ,NONORD_CAUSE_CD
+	             ,NONORD_OCR_DTIME
+	             ,MATRL_END_DTIME
+	             ,MATRL_END_CAUSE_CD
+	             ,TW_SLAB_YN
+	             ,DSN_SLAB_NO
+               ,SLAB_NO
+	             )(SELECT '2' SLAB_STAT
+	                       ,a.STL_GRD
+	                       ,? CUR_PROG_CD
+	                       ,? CUR_PROG_CD_PGM
+	                       ,TO_CHAR(SYSDATE,'YYYYMMDDHH24MIDD') CUR_PROG_CD_DTIME
+	                       ,A.CUR_PROG_CD BEF_PROG_CD
+	                       ,DECODE(A.CUR_PROG_CD_PGM,'',?,A.CUR_PROG_CD_PGM)BEF_PROG_CD_PGM
+	                       ,A.CUR_PROG_CD_DTIME BEF_PROG_CD_DTIME
+	                       ,? ORD_NO      
+	                       ,? ORD_SEQ
+	                       
+	                       ,? ORD_FL
+	                       ,a.PRODNM_CD
+	                       ,B.SLAB_THK INSTR_SLAB_THK
+	                       ,B.SLAB_WTH INSTR_SLAB_WTH
+	                       ,B.SLAB_LEN INSTR_SLAB_LEN
+	                       ,B.SLAB_WGT INSTR_SLAB_WGT
+	                       ,B.ORD_THK  INSTR_COIL_THK
+	                       ,B.ORD_WTH  INSTR_COIL_WTH
+	                       ,? SLAB_THK
+	                       ,? SLAB_WTH
+	                       ,? SLAB_LEN
+	                       ,? SLAB_WGT
+	                       
+	                       ,? HCR_CLF
+	                       ,? SLAB_WAY
+	                       ,? SLAB_RT
+	                       ,? LAST_SLAB_YN
+	                       ,TO_CHAR(SYSDATE,'YYYYMMDDHH24MIDD') SLAB_CUT_DTIME
+	                       ,? CUT_WKSHIFT
+	                       
+	                       ,? CUT_WKGROUP
+	                       ,? CUT_EMP_ID
+	                       ,B.CUST_CD CUST_CD                       --
+	                       ,B.ORD_USEAGE_CD ORD_USE_CD              --
+	                       ,B.SPEC_ABBSYM SPEC_ABBSYM               --
+	                       ,B.ORDCUST_CD ORDCUST_CD                  --
+	                       ,A.SLAB_THK SIZE_UPDT_BEF_THK
+	                       ,A.SLAB_WTH SIZE_UPDT_BEF_WTH
+	                       ,A.SLAB_LEN SIZE_UPDT_BEF_LEN
+	                       ,A.SLAB_WGT SIZE_UPDT_BEF_WGT
+	                       ,? SURPLMATL_YN
+	                       ,A.ORD_NO ORG_ORD_NO
+	                       ,A.ORD_SEQ ORG_ORD_SEQ
+	                       ,? CUR_LOAD_LOC
+	                       ,'' MILL_SCH_STAT
+	                       ,? SLAB_SIZE_DEC_GRD
+	                       
+	                       ,? DIFF_STL_GRD_STA_END_YN
+	                       ,B.CAST_MANA_NO CAST_NO                    --
+	                       ,TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS') CUR_LOAD_LOC_DTIME
+	                       ,? PROC_CD
+	                       ,? STRAND_NO
+	                       ,'1' EXTSHAPE_GRD
+	                       ,? NONORD_CAUSE_CD
+	                       ,TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS') NONORD_OCR_DTIME
+	                       ,'' MATRL_END_DTIME
+	                       ,'' MATRL_END_CAUSE_CD
+	                       ,? TW_SLAB_YN
+	                       ,'' DSN_SLAB_NO
+                         ,? SLAB_NO
+	                FROM TBG02_SLAB_COMM A
+	                     ,TBF01_SPEC_SLAB B
+	                WHERE '1' = '1'
+	                AND   A.PLAN_SLAB_NO = B.SLAB_MANA_NO
+	                AND   A.SLAB_NO = ?)
+	                                              
+        ]]>
+  </query> 
+  <query id="UIG020060_03.select" desc="it's selected query  from TBF01_SPEC_SLAB table   " fetchSize="10">
+        <![CDATA[
+      select 
+        SLAB_EDT_SEQ
+	   ,STATUS_CD	 
+       ,STL_GRD
+       ,ORD_NO    
+       ,ORD_SEQ     
+       ,PRODNM_CD
+       ,CUST_CD
+       ,ORD_USEAGE_CD
+       ,SPEC_ABBSYM
+       ,ORDCUST_CD
+       ,SLAB_THK 
+       ,SLAB_WTH  
+       ,SLAB_LEN 
+	   ,SLAB_WGT
+	   ,HCR_CLF
+	   ,SLAB_RT 
+	   ,ORD_FL
+	   ,SCARPING_PROC_YN    
+	   ,CAST_MANA_NO
+	   ,MILL_FL 
+	   ,DSN_SLAB_NO
+	   ,ORD_THK
+	   ,ORD_WTH
+      from  TBF01_SPEC_SLAB 
+      where  SLAB_MANA_NO=?
+        ]]>
+    </query> 
+	<query id="UIG020060_EMP.select" desc="查询板坯切割作业人信息,这里PROC_CD为JJS " fetchSize="10">
+		<![CDATA[
+		SELECT  EMP_NM  label  
+                ,EMP_NM  value  
+         FROM   TBZ01_FAC_EMP_GROUP   
+         WHERE  GROUP_CD = ? 
+          AND   PROC_CD  = 'JS' 
+          AND   FAC_CD = 'J'
+		]]>
+	</query> 
+	<query id="UIG020060_CH_COM.update" desc="  " fetchSize="10">
+		<![CDATA[
+		   UPDATE TBG02_CHARGE_COMM SET
+		     CC_DEVNO = ?
+		    ,CCM_PRC_LINE = ? 
+		    WHERE CHARGE_NO = ?  
+		]]>
+	</query> 
+	<query id="UIG020060_slab_comm_d.update" desc="  " fetchSize="10">
+		<![CDATA[
+			UPDATE TBG02_SLAB_COMM_D 
+			SET     SLAB_THK = ?
+					,SLAB_WTH = ?
+					,SLAB_LEN = ?
+					,ORD_LEN  = ?
+					,ORD_WGT = decode('Y','Y',ord_wgt,?)
+					,COIL_OUTDIA = ?
+			WHERE   SLAB_NO = ?
+			]]>
+	</query> 
+	<query id="UIG020060_SLAB_COMM_D_02.update" desc="     " fetchSize="10">
+        <![CDATA[
+            UPDATE TBG02_SLAB_COMM_D SET 
+              ORD_FL = ?
+              ,ORD_NO = ?
+              ,ORD_SEQ = ?
+            WHERE SLAB_NO = (SELECT SUB_SLAB_NO FROM TBG02_SLAB_COMM WHERE SLAB_NO =  ?)  
+        ]]>
+    </query>
+    <query id="UIG020060_SLAB_RECUT.update" desc="     " fetchSize="10">
+        <![CDATA[
+            UPDATE TBG02_SLAB_COMM A
+			SET A.STRAND_NO = ''
+			    ,A.SLAB_STAT = '1'
+			    ,A.CUR_PROG_CD = 'JJB'
+			    ,A.CUR_LOAD_LOC = ''
+			WHERE A.SLAB_NO LIKE ?||'%' 
+        ]]>
+    </query>
+    <query id="UIG020060_SLAB_RECUT.delete" desc="     " fetchSize="10">
+        <![CDATA[
+           delete from tbg02_slab_comm where substr(sub_slab_no,1,9) = substr(?,1,9)
+        ]]>
+    </query>
+    <query id="UIG020060_SLAB_RECUT_02.delete" desc="     " fetchSize="10">
+        <![CDATA[
+           delete from tbg02_slab_comm_d where substr(slab_no,1,9) = substr(?,1,9)
+        ]]>
+    </query>
+    <query id="UIG020060_SLAB_RECUT_03.delete" desc="     " fetchSize="10">
+        <![CDATA[
+           delete from tbg02_charge_comm where charge_no = ?
+        ]]>
+    </query>
+    <query id="UIG020060_SLAB_RECUT_04.delete" desc="     " fetchSize="10">
+        <![CDATA[
+           delete from tbg02_charge_comm_d where sub_charge_no = ?
+        ]]>
+    </query>
+    <query id="UIG020060_SLAB_RECUT.select" desc="     " fetchSize="10">
+        <![CDATA[
+            SELECT A.SLAB_MANA_NO FROM TBF01_SPEC_SLAB A
+		                 ,TBG02_CHARGE_COMM B
+		      WHERE SUBSTR(A.SLAB_MANA_NO,1,10) = B.PLAN_CHARGE_NO
+		      AND   B.CHARGE_NO = ?
+        ]]>
+    </query>
+    <query id="UIG020060_SLAB_RECUT_02.update" desc="     " fetchSize="10">
+        <![CDATA[
+            UPDATE TBG04_SLAB_YARD A
+      SET A.SLAB_NO = ''
+          ,A.BEF_STORE_LOC = ''
+          ,A.CR_NO = ''
+          ,A.REG_ID = ''
+          ,A.REG_DTIME = ''
+          ,A.ORD_FLAG = ''
+			WHERE A.SLAB_NO LIKE ?||'%' 
+        ]]>
+    </query>
+    <query id="UIG020060_SUBSLABN0_CREATE" desc="     " fetchSize="10">
+        <![CDATA[
+            UPDATE TBG02_SLAB_COMM T 
+			SET T.SLAB_NO = DECODE(?,'2',(
+				SELECT DECODE(MAX(T.SLAB_NO),'',?||'51'||'0',?||lpad((SUBSTR(MAX(T.SLAB_NO),11,2)+1),2,'0')||'0')
+				FROM TBG02_SLAB_COMM T 
+				WHERE T.STRAND_NO  = '2' 
+				AND T.SUB_SLAB_NO LIKE ?||'%' 
+				AND T.SLAB_NO <> T.SUB_SLAB_NO
+				AND SUBSTR(T.SLAB_NO,11,2) > '50'
+			),'1',(
+				SELECT DECODE(MAX(T.SLAB_NO),'',?||'01'||'0',?||lpad((SUBSTR(MAX(T.SLAB_NO),11,2)+1),2,'0')||'0')
+				FROM TBG02_SLAB_COMM T 
+				WHERE T.STRAND_NO  = '1' 
+				AND T.SUB_SLAB_NO LIKE ?||'%' 
+				--AND T.SUB_SLAB_NO <> T.SLAB_NO
+				AND SUBSTR(T.SLAB_NO,11,2) < '50'
+			))
+			WHERE T.PLAN_SLAB_NO = ?    
+			AND   T.SLAB_STAT = '1'
+        ]]>
+    </query>
+	<query id="UIG020060_proc_rate.select" desc="  " fetchSize="10">
+		<![CDATA[
+			 SELECT PROC_RATE FROM  TBE01_PROC_RATE  WHERE PROC_CD = 'R'
+			]]>
+	</query> 
+	<query id="UIG020060_SLAB_COMMD_ORD.select" desc="  " fetchSize="10">
+		<![CDATA[
+			 SELECT ORD_THK ,ORD_WTH,COIL_INDIA,SLAB_THK,SLAB_WTH FROM TBG02_SLAB_COMM_D WHERE SLAB_NO = ?
+			]]>
+	</query>
+	<query id="UIG020060_compulsory_end_charge_01.update" desc="  " fetchSize="10">
+		<![CDATA[
+			 update tbf01_spec_charge t set t.STATUS_CD = 'C' where t.CHARGE_MANA_NO like ?
+			]]>
+	</query>
+	<query id="UIG020060_compulsory_end_charge_02.update" desc="  " fetchSize="10">
+		<![CDATA[
+			 update tbf01_charge_idx t set t.STATUS_CD = 'C' where t.CHARGE_MANA_NO like ?
+			]]>
+	</query>
+	<query id="UIG020060_compulsory_end_charge_03.update" desc="  " fetchSize="10">
+		<![CDATA[
+			 update tbf01_spec_slab t set t.STATUS_CD = 'C' where t.SLAB_MANA_NO like ?
+			]]>
+	</query>
+	<query id="UIG020060_compulsory_end_charge_04.update" desc="  " fetchSize="10">
+		<![CDATA[
+			 update tbf01_spec_slab_d t set t.STATUS_CD = 'C' where t.SLAB_EDT_SEQ in 
+			 (select slab_edt_seq from tbf01_spec_slab where slab_mana_no like ?)
+			]]>
+	</query>
+	<query id="UIG020060_compulsory_end_charge_05.update" desc="  " fetchSize="10">
+		<![CDATA[
+			 update tbg02_charge_comm t set t.CHARGE_STAT = '3' where  t.CHARGE_NO like ?
+			]]>
+	</query>
+	
+	<query id="UIG020060_charge_ccdevno_06.update" desc="">
+	<![CDATA[
+		UPDATE    TBG06_L2_CHARGE_DEVNO     T 
+		SET       T.MSG_FLAG                =     'C' 
+		WHERE     T.MSG_FLAG                =     'N' 
+		AND       T.CHARGE_NO               =      ?
+			]]>
+	</query>
+	
+	<query id="HCR_SLABNO_UPD.CAL" desc="更新热装热送的轧制计划的板坯号" >
+    	{CALL HCR_SLABNO_UPD(?)}
+    </query>
+</queryMap>

+ 579 - 0
.svn/pristine/03/0305b7dd436f57e015874e4c3f2da26058f78e8c.svn-base

@@ -0,0 +1,579 @@
+package xin.glue.ui.H.H05;
+
+import java.math.BigDecimal;
+import java.sql.CallableStatement;
+import java.sql.SQLException;
+import java.sql.Types;
+
+import xin.glue.ui.common.ProduceFactory;
+import xin.glue.ui.common.component.PosSiteLog;
+
+import com.posdata.glue.PosException;
+import com.posdata.glue.biz.activity.PosActivity;
+import com.posdata.glue.biz.constants.PosBizControlConstants;
+import com.posdata.glue.biz.control.PosBizControlIF;
+import com.posdata.glue.biz.control.PosBizProvider;
+import com.posdata.glue.component.PosConstants;
+import com.posdata.glue.context.PosContext;
+import com.posdata.glue.dao.vo.PosParameter;
+import com.posdata.glue.dao.vo.PosRow;
+import com.posdata.glue.dao.vo.PosRowSet;
+import com.posdata.glue.msg.PosMESMessageImpl;
+import com.posdata.glue.msg.PosMessage;
+
+/*
+ * 冷轧移送处理
+ * @author siy
+ * @date 2010-08-24
+ */
+public class SEND_LZ extends PosActivity {
+	public String runActivity(PosContext context) {
+		// 钢卷号
+		String[] COIL_NOS = (String[]) context.get("COIL_NOS");
+		// 重量
+		String[] ACT_WGTS = (String[]) context.get("ACT_WGTS");
+		// 合同号
+		String[] ORD_NOS = (String[]) context.get("ORD_NOS");
+		// 订单号
+		String[] ORD_SEQS = (String[]) context.get("ORD_SEQS");
+		// 当前进程状态
+		String[] CUR_PROG_CDS = (String[]) context.get("CUR_PROG_CDS");
+		// 流水号
+		String[] LSHS = (String[]) context.get("LSHS");
+		// 移送顺序
+		String[] TRANSSEQS = (String[]) context.get("TRANSSEQS");
+		// 班次
+		String[] TRNF_SHIFT = (String[]) context.get("TRNF_SHIFT");
+		// 班组
+		String[] TRNF_GROUP = (String[]) context.get("TRNF_GROUP");
+		// 操作人
+		String[] TRNF_REG = (String[]) context.get("TRNF_REG");
+		// 操作时间
+		String[] TRNF_DTIME = (String[]) context.get("TRNF_DTIME");
+		// 移送方式
+		String[] TRANSFER_TYPE = (String[]) context.get("TRANSFER_TYPE");
+		// 步进梁号/车辆号
+		String[] TRANSFER_NO = (String[]) context.get("TRANSFER_NO");
+
+		if (null != COIL_NOS) {
+			String[] coilNos = COIL_NOS[0].split("\\|");
+			String[] actWgts = ACT_WGTS[0].split("\\|");
+			String[] ordNos = ORD_NOS[0].split("\\|");
+			String[] ordSeqs = ORD_SEQS[0].split("\\|");
+			String[] curProgCds = CUR_PROG_CDS[0].split("\\|");
+			String[] lshs = LSHS[0].split("\\|");
+			String[] transSeqs = TRANSSEQS[0].split("\\|");
+			String transFlag = "N";// 是否移送确认
+
+			for (int i = 0; i < coilNos.length; i++) {
+
+				if (null != coilNos[i] && !"".equals(coilNos[i])) {
+					String showJudge = "";
+					String sizeJudge = "";
+					PosParameter param1 = new PosParameter();
+					param1.setWhereClauseParameter(0, coilNos[i]);
+					PosRowSet rowSet = getDao("mesdao").find(
+							"UIH052400_08.select", param1);
+					while (rowSet.hasNext()) {
+						PosRow row = rowSet.next();
+						showJudge = row.getAttribute("EXTSHAPE_DEC_GRD")
+								.toString();
+						sizeJudge = row.getAttribute("SIZE_DEC_RST").toString();
+					}
+					if (showJudge.equals("1") && sizeJudge.equals("1")) {
+
+						// 无性能结果时不更新冷轧原料库
+						// if (!curProgCds[i].equals("SED")) {
+						// 更新冷轧原料库钢卷公共表
+						updateColdCoilComm(coilNos[i], TRANSFER_TYPE[0],
+								TRANSFER_NO[0], TRNF_DTIME[0], transSeqs[i]);
+						// 更新原料钢卷公共_D表
+						updateColdCoilCommD(coilNos[i]);
+						// 移送待机的钢卷不需要确认
+						transFlag = "Y";
+						// }
+					}
+				}
+
+				// 更新热轧库出库信息
+				updateHCoilTrnfInfo(TRNF_SHIFT[0], TRNF_GROUP[0], TRNF_REG[0],
+						TRNF_DTIME[0], TRANSFER_TYPE[0], TRANSFER_NO[0],
+						transSeqs[i], transFlag, coilNos[i]);
+
+				// 插入步进梁接口表
+				if ("B".equals(TRANSFER_TYPE[0])) {
+					PosParameter param = new PosParameter();
+					param.setValueParamter(0, String.valueOf(i + 1));
+					param.setValueParamter(1, coilNos[i]);
+					param.setValueParamter(2, TRANSFER_NO[0]);// 步进梁号
+					param.setValueParamter(3, "1");// 鞍座号
+					getDao("mesdao").insert("UIH052400_05.insert", param);
+				}
+
+				// 新增钢卷移送记录
+				addTransRecord(coilNos[i], TRNF_SHIFT[0], TRNF_GROUP[0],
+						TRNF_REG[0], TRNF_DTIME[0], TRANSFER_TYPE[0],
+						TRANSFER_NO[0], transSeqs[i]);
+
+				long coilWgt = 0;
+				try {
+					coilWgt = new Long(actWgts[i]).longValue();
+				} catch (Exception e) {
+					// TODO: handle exception
+				}
+				NIE012070_CALL(lshs[i], coilWgt, ordNos[i], ordSeqs[i], "", "",
+						curProgCds[i], "SGF", "AR", TRNF_REG[0]);
+			}
+
+			NIE012080_CALL();
+		}
+
+		return PosBizControlConstants.SUCCESS;
+	}
+
+	/**
+	 * 查询冷轧原料库是否包含钢卷信息
+	 * 
+	 * @param coilNo
+	 *            钢卷号
+	 * @return boolean
+	 */
+	private boolean hasCoilInTBK(String coilNo) {
+		boolean hasCoil = true;
+		int count = 0;
+		if (null != coilNo && !"".equals(coilNo)) {
+			PosParameter param = new PosParameter();
+			param.setWhereClauseParameter(0, coilNo);
+			PosRowSet rowSet = getDao("mesdao").find("UIH052400_02.select",
+					param);
+			if (rowSet.hasNext()) {
+				PosRow pRow = rowSet.next();
+				count = Integer.parseInt(pRow.getAttribute("COUNT").toString());
+			}
+
+			if (0 == count) {
+				hasCoil = false;
+			}
+
+			return hasCoil;
+		} else {
+			return hasCoil;
+		}
+	}
+
+	/**
+	 * 将热轧库钢卷信息转移到冷轧原料库
+	 * 
+	 * @param coilNo
+	 *            钢卷号
+	 * @param transType
+	 *            移送区分
+	 * @param transNo
+	 *            移送步进梁号/车辆号
+	 * @param transTime
+	 *            移送时间
+	 * @return boolean
+	 */
+	private boolean updateColdCoilComm(String coilNo, String transType,
+			String transNo, String transTime, String transSeq) {
+		boolean addRs = false;
+
+		if (null == coilNo || "".equals(coilNo)) {
+			return addRs;
+		}
+
+		// 如果冷轧原料公共表中不存在此钢卷信息
+		if (!hasCoilInTBK(coilNo)) {
+			PosParameter param = new PosParameter();
+			param.setValueParamter(0, transType);
+			param.setValueParamter(1, transNo);
+			param.setValueParamter(2, transTime);
+			param.setValueParamter(3, transSeq);
+			param.setValueParamter(4, coilNo);
+			param.setWhereClauseParameter(0, coilNo);
+			int count = getDao("mesdao").insert("UIH052400_01.insert", param);
+			//调用存货异动点存储过程
+			/*
+			ProduceFactory PD= new ProduceFactory();
+			PD.ErpDataCover("HCOIL",coilNo,"55A","1","O","蔡伟平","热轧转出");*/
+			
+			if (0 < count) {
+				addRs = true;
+				logger.logInfo("addColdCoil success ---SEND_LZ.java ");
+			}
+		} else {
+			// 更新冷轧库钢卷信息,更新热轧库出库信息
+			PosParameter param1 = new PosParameter();
+			param1.setWhereClauseParameter(0, coilNo);
+			PosRowSet rowSet = getDao("mesdao").find("UIH052400_07.select",
+					param1);
+			if (rowSet.hasNext()) {
+				PosRow posRow = rowSet.next();
+				PosParameter param2 = new PosParameter();
+				param2.setValueParamter(0, posRow.getAttribute("SLAB_NO"));
+				param2.setValueParamter(1, posRow.getAttribute("CUR_PROG_CD"));
+				param2.setValueParamter(2, posRow
+						.getAttribute("CUR_PROG_CD_DTIME"));
+				param2.setValueParamter(3, posRow
+						.getAttribute("CUR_PROG_CD_PGM"));
+				param2.setValueParamter(4, posRow
+						.getAttribute("INSTR_COIL_THK"));
+				param2.setValueParamter(5, posRow
+						.getAttribute("INSTR_COIL_WTH"));
+				param2.setValueParamter(6, posRow
+						.getAttribute("INSTR_COIL_LEN"));
+				param2.setValueParamter(7, posRow
+						.getAttribute("INSTR_COIL_INDIA"));
+				param2.setValueParamter(8, posRow
+						.getAttribute("INSTR_COIL_OUTDIA"));
+				param2.setValueParamter(9, posRow
+						.getAttribute("INSTR_COIL_WGT"));
+				param2
+						.setValueParamter(10, posRow
+								.getAttribute("DEVLMT_DTIME"));
+				param2.setValueParamter(11, posRow.getAttribute("DEST_CD"));
+				param2.setValueParamter(12, posRow.getAttribute("ORDCUST_CD"));
+				param2.setValueParamter(13, posRow.getAttribute("CUST_CD"));
+				param2.setValueParamter(14, posRow.getAttribute("COIL_LEN"));
+				param2.setValueParamter(15, posRow.getAttribute("COIL_INDIA"));
+				param2.setValueParamter(16, posRow.getAttribute("COIL_OUTDIA"));
+				param2.setValueParamter(17, posRow.getAttribute("COIL_THK"));
+				param2.setValueParamter(18, posRow.getAttribute("COIL_WTH"));
+				param2.setValueParamter(19, posRow.getAttribute("ACT_WGT"));
+				param2.setValueParamter(20, posRow.getAttribute("ORD_FL"));
+				param2.setValueParamter(21, posRow.getAttribute("ORD_NO"));
+				param2.setValueParamter(22, posRow.getAttribute("ORD_SEQ"));
+				param2.setValueParamter(23, posRow.getAttribute("PRODNM_CD"));
+				param2.setValueParamter(24, posRow.getAttribute("SPEC_ABBSYM"));
+				param2
+						.setValueParamter(25, posRow
+								.getAttribute("SPEC_STL_GRD"));
+				param2.setValueParamter(26, posRow.getAttribute("ORD_USE_CD"));
+				param2.setValueParamter(27, posRow.getAttribute("STL_GRD"));
+				param2
+						.setValueParamter(28, posRow
+								.getAttribute("PATH_MILL_CD"));
+				param2
+						.setValueParamter(29, posRow
+								.getAttribute("INGR_DEC_GRD"));
+				param2.setValueParamter(30, posRow
+						.getAttribute("EXTSHAPE_DEC_GRD"));
+				param2
+						.setValueParamter(31, posRow
+								.getAttribute("SIZE_DEC_RST"));
+				param2.setValueParamter(32, posRow.getAttribute("WGT_DEC_RST"));
+				param2
+						.setValueParamter(33, posRow
+								.getAttribute("PROC_DEC_RST"));
+				param2.setValueParamter(34, posRow
+						.getAttribute("MATLQLTY_DEC_GRD"));
+				param2.setValueParamter(35, posRow.getAttribute("TOT_DEC_GRD"));
+				param2.setValueParamter(36, posRow.getAttribute("MILL_DTIME"));
+				param2.setValueParamter(37, posRow.getAttribute("CRK_CD1"));
+				param2.setValueParamter(38, posRow.getAttribute("CRK_CD2"));
+				param2.setValueParamter(39, posRow.getAttribute("CRK_CD3"));
+				param2.setValueParamter(40, posRow.getAttribute("CRK_CD4"));
+				param2.setValueParamter(41, posRow.getAttribute("CRK_CD5"));
+				param2.setValueParamter(42, posRow.getAttribute("CAL_WGT"));
+				param2
+						.setValueParamter(43, posRow
+								.getAttribute("OLD_SAMPL_NO"));
+				param2.setValueParamter(44, transType);
+				param2.setValueParamter(45, transNo);
+				param2.setValueParamter(46, transTime);
+				param2.setValueParamter(47, posRow
+						.getAttribute("FM_EXT_STRIP_THK_AVG"));
+				param2.setValueParamter(48, posRow
+						.getAttribute("FM_EXT_STRIP_TEMP_AVG"));
+				param2.setValueParamter(49, posRow.getAttribute("DC_TEMP_AVG"));
+				param2.setValueParamter(50, posRow
+						.getAttribute("FM_EXT_STRIP_CROWN_AVG"));
+				param2.setValueParamter(51, posRow
+						.getAttribute("YARD_ENTRY_DTIME"));
+				param2.setValueParamter(52, posRow.getAttribute("SAMPL_NO"));
+				param2.setValueParamter(53, posRow
+						.getAttribute("SAMPL_CUT_LOC"));
+				param2.setValueParamter(54, posRow.getAttribute("ORD_FL"));// OLD_ORD_FL
+				param2.setValueParamter(55, posRow.getAttribute("ORD_NO"));// OLD_ORD_NO
+				param2.setValueParamter(56, posRow.getAttribute("ORD_SEQ"));// OLD_ORD_SEQ
+				param2.setValueParamter(57, transSeq);
+				param2.setWhereClauseParameter(0, coilNo);
+
+				int count = getDao("mesdao").update("UIH052400_02.update",
+						param2);
+				if (count > 0) {
+					addRs = true;
+					logger.logInfo("updColdCoil success ---SEND_LZ.java ");
+				}
+			}
+		}
+		return addRs;
+	}
+
+	private void updateColdCoilCommD(String coilNo) {
+		// 更新c_tbk02_comm_d表
+		PosParameter param1 = new PosParameter();
+		param1.setWhereClauseParameter(0, coilNo);
+		PosRowSet rowSet = getDao("mesdao").find("UIH052400_05.select", param1);
+
+		PosParameter param3 = new PosParameter();
+		param3.setWhereClauseParameter(0, coilNo);
+		PosRowSet rowSet3 = getDao("mesdao")
+				.find("UIH052400_09.select", param3);
+		String cutSeq = "";
+
+		PosParameter param2 = new PosParameter();
+		if (rowSet.hasNext() && rowSet3.hasNext()) {
+			PosRow pRowc = rowSet3.next();
+			cutSeq = pRowc.getAttribute("CUT_SEQ").toString();
+
+			PosRowSet rowSet2 = getDao("mesdao").find("UIH052400_06.select",
+					param1);
+
+			if (rowSet2.hasNext()) {
+				PosRow pRow = rowSet2.next();
+				// String cut_seq = pRow.getAttribute("CUT_SEQ") == null
+				// ?"":pRow.getAttribute("CUT_SEQ").toString();
+				String ord_thk = pRow.getAttribute("ORD_THK") == null ? ""
+						: pRow.getAttribute("ORD_THK").toString();
+				String ord_wth = pRow.getAttribute("ORD_WTH") == null ? ""
+						: pRow.getAttribute("ORD_WTH").toString();
+				String ord_len = pRow.getAttribute("ORD_LEN") == null ? ""
+						: pRow.getAttribute("ORD_LEN").toString();
+				String ord_wgt = pRow.getAttribute("ORD_WGT") == null ? ""
+						: pRow.getAttribute("ORD_WGT").toString();
+				String ord_wgt_min = pRow.getAttribute("ORD_WGT_MIN") == null ? ""
+						: pRow.getAttribute("ORD_WGT_MIN").toString();
+				String ord_wgt_max = pRow.getAttribute("ORD_WGT_MAX") == null ? ""
+						: pRow.getAttribute("ORD_WGT_MAX").toString();
+				String ord_india = pRow.getAttribute("ORD_INDIA") == null ? ""
+						: pRow.getAttribute("ORD_INDIA").toString();
+				String ord_outdia = pRow.getAttribute("ORD_OUTDIA") == null ? ""
+						: pRow.getAttribute("ORD_OUTDIA").toString();
+				String ord_no = pRow.getAttribute("ORD_NO") == null ? "" : pRow
+						.getAttribute("ORD_NO").toString();
+				String ord_seq = pRow.getAttribute("ORD_SEQ") == null ? ""
+						: pRow.getAttribute("ORD_SEQ").toString();
+				String ord_fl = pRow.getAttribute("ORD_FL") == null ? "" : pRow
+						.getAttribute("ORD_FL").toString();
+
+				// param2.setValueParamter(0, cut_seq);
+				param2.setValueParamter(0, ord_thk);
+				param2.setValueParamter(1, ord_wth);
+				param2.setValueParamter(2, ord_len);
+				param2.setValueParamter(3, ord_wgt);
+				param2.setValueParamter(4, ord_wgt_min);
+				param2.setValueParamter(5, ord_wgt_max);
+				param2.setValueParamter(6, ord_india);
+				param2.setValueParamter(7, ord_outdia);
+				param2.setValueParamter(8, ord_no);
+				param2.setValueParamter(9, ord_seq);
+				param2.setValueParamter(10, ord_fl);
+				param2.setWhereClauseParameter(0, coilNo);
+				param2.setWhereClauseParameter(1, cutSeq);
+				getDao("mesdao").update("UIH052400_01.update", param2);
+			}
+		} else {
+			param2.setValueParamter(0, coilNo);
+			getDao("mesdao").insert("UIH052400_02.insert", param2);
+		}
+	}
+
+	/**
+	 * 更新热轧库移送出库信息
+	 * 
+	 * @param trnfShift
+	 *            班次
+	 * @param trnfGroup
+	 *            班组
+	 * @param trnfReg
+	 *            操作人
+	 * @param trnfTime
+	 *            操作时间
+	 * @param transferType
+	 *            移送区分
+	 * @param transferNo
+	 *            移送步进梁号/车辆号
+	 * @param coilNo
+	 *            钢卷号
+	 * @return boolean
+	 */
+	private boolean updateHCoilTrnfInfo(String trnfShift, String trnfGroup,
+			String trnfReg, String trnfTime, String transferType,
+			String transferNo, String transSeq, String transFlag, String coilNo) {
+		try {
+			boolean updRs = false;
+			if (null != coilNo && !"".equals(coilNo)) {
+				PosParameter param = new PosParameter();
+				param.setValueParamter(0, trnfShift);
+				param.setValueParamter(1, trnfGroup);
+				param.setValueParamter(2, trnfReg);
+				param.setValueParamter(3, trnfTime);
+				param.setValueParamter(4, transferType);
+				param.setValueParamter(5, transferNo);
+				param.setValueParamter(6, trnfTime);
+				param.setValueParamter(7, transSeq);
+				param.setValueParamter(8, transFlag);
+				param.setWhereClauseParameter(0, coilNo);
+				int count = getDao("mesdao").update("UIH052400_03.update",
+						param);
+
+				if (0 < count) {
+					// 把钢卷信息清除垛位表
+					PosParameter param2 = new PosParameter();
+
+					param2.setWhereClauseParameter(0, coilNo);
+
+					getDao("mesdao").update("UIH052400_04.update", param2);
+					updRs = true;
+					logger
+							.logInfo("updateColdTrnfInfo success ---SEND_LZ.java ");
+				}
+				System.out.println(count + "---------------------");
+
+				return updRs;
+			} else {
+				return updRs;
+			}
+		} catch (Exception e) {
+			logger.logError(e.getMessage(), e);
+			// TODO: handle exception
+		}
+
+		return false;
+	}
+
+	/**
+	 * 新增移送记录
+	 * 
+	 * @param coilNo
+	 * @param yardAddr
+	 * @param regOrder
+	 * @param regGroup
+	 * @param regId
+	 * @param regDtime
+	 * @return
+	 */
+	private boolean addTransRecord(String coilNo, String regOrder,
+			String regGroup, String regId, String regDtime, String transClf,
+			String transNo, String transSeq) {
+		boolean flag = true;
+		try {
+			PosParameter param = new PosParameter();
+			param.setValueParamter(0, coilNo);
+			param.setValueParamter(1, coilNo);
+			param.setValueParamter(2, regId);
+			param.setValueParamter(3, regOrder);
+			param.setValueParamter(4, regGroup);
+			param.setValueParamter(5, regDtime);
+			param.setValueParamter(6, transClf);
+			param.setValueParamter(7, transNo);
+			param.setValueParamter(8, transSeq);
+			int count = getDao("mesdao").insert("UIH052400_03.insert", param);
+			if (count < 1) {
+				flag = false;
+			}
+		} catch (Exception e) {
+			// TODO: handle exception
+			logger.logError(e.getMessage(), e);
+		}
+		return flag;
+	}
+
+	/**
+	 * 订单进程标记
+	 * 
+	 * @param P_MAT_NO
+	 *            钢卷号
+	 * @param V_WGT
+	 *            重量
+	 * @param V_ORD_NO
+	 *            合同号
+	 * @param V_ORD_SEQ
+	 *            订单号
+	 * @param P_BEF_ORD_NO
+	 *            ''
+	 * @param P_BEF_ORD_SEQ
+	 *            ''
+	 * @param P_BEF_PROG_CD
+	 *            前进程状态
+	 * @param P_CUR_PROG_CD
+	 *            当前进程状态
+	 * @param P_MAT_TYPE
+	 *            'AR'
+	 * @param V_REG_ID
+	 *            用户ID
+	 * @return
+	 */
+	public PosContext NIE012070_CALL(String P_MAT_NO, long V_WGT,
+			String V_ORD_NO, String V_ORD_SEQ, String P_BEF_ORD_NO,
+			String P_BEF_ORD_SEQ, String P_BEF_PROG_CD, String P_CUR_PROG_CD,
+			String P_MAT_TYPE, String V_REG_ID) {
+		PosContext context = new PosContext();
+		PosMessage message = new PosMESMessageImpl();
+
+		// SaveOrdSts
+		String TcId = "NIE012070";
+		message.setTCID(TcId);
+		message.setObject("MSG_ID", TcId);
+		message.setObject("BEF_ORD_NO", P_BEF_ORD_NO);
+		message.setObject("BEF_ORD_SEQ", P_BEF_ORD_SEQ);
+		message.setObject("ORD_NO", V_ORD_NO);
+		message.setObject("ORD_SEQ", V_ORD_SEQ);
+		message.setObject("BEF_PROG_CD", P_BEF_PROG_CD);
+		message.setObject("PROG_CD", P_CUR_PROG_CD);
+		message.setObject("MAT_TYPE", P_MAT_TYPE);
+		message.setObject("MAT_NO", P_MAT_NO);
+		message.setObject("WGT", new BigDecimal(V_WGT));
+		message.setObject("PGMID", "saveOrdNoHH");
+		message.setObject("REG_ID", V_REG_ID);
+		context.setMessage(message);
+		message.setTCID(TcId);
+
+		String SERVICE_POSTFIX = "-service";
+		context
+				.put(PosBizControlConstants.SERVICE_NAME, TcId
+						+ SERVICE_POSTFIX);
+		PosBizProvider.getController().doSubController(context, false);
+
+		String SERVICE_ERR_MSG = (String) context.get("SERVICE_ERR_MSG");
+
+		if (SERVICE_ERR_MSG != null) {
+			throw new PosException(SERVICE_ERR_MSG);
+		}
+
+		return context;
+	}
+
+	/**
+	 * 订单进程整理
+	 * 
+	 * @return
+	 */
+	public PosContext NIE012080_CALL() {
+		PosContext context = new PosContext();
+		PosMessage message = new PosMESMessageImpl();
+
+		// OrdStsMain
+		String TcId = "NIE012080";
+		message.setTCID(TcId);
+		message.setObject("MSG_ID", TcId);
+		message.setObject("AA", "");
+		context.setMessage(message);
+		message.setTCID(TcId);
+
+		String SERVICE_POSTFIX = "-service";
+		context
+				.put(PosBizControlConstants.SERVICE_NAME, TcId
+						+ SERVICE_POSTFIX);
+		PosBizProvider.getController().doSubController(context, false);
+
+		String SERVICE_ERR_MSG = (String) context.get("SERVICE_ERR_MSG");
+
+		if (SERVICE_ERR_MSG != null) {
+			throw new PosException(SERVICE_ERR_MSG);
+		}
+
+		return context;
+	}
+}

BIN
.svn/pristine/03/031d0277bef03091a5c3fe7115afe094e4ef38a7.svn-base


+ 56 - 0
.svn/pristine/03/0321a09f3ac068962c396ec76b7844ab41dcf2f0.svn-base

@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="EUC-KR"?>
+<service name="UIE021020-service" initial="SetResultKeyList">
+  <transaction-manager id="tx1" commit="true" />
+  <activity name="SelectBranch" class="xin.glue.ui.common.PosSelectBranch">
+    <transition name="success" value="end" />
+    <transition name="AR" value="SelectBranchCoil" />
+    <transition name="TM" value="SearchSlab" />
+    <property name="values" value="TM|AR" />
+    <property name="param" value="MAT_TYPE" />
+  </activity>
+  <activity name="SearchSlab" class="xin.glue.ui.common.PosMultiSearch">
+    <transition name="success" value="end" />
+    <property name="param0" value="ORD_FL" />
+    <property name="resultkey" value="ListResult_0" />
+    <property name="sqlkey0" value="UIE021020.Slab.Select" />
+  </activity>
+  <activity name="eventRouter" class="com.posdata.glue.biz.activity.PosDefaultRouter">
+    <transition name="success" value="end" />
+    <transition name="replace" value="NIE031050" />
+    <transition name="find" value="SelectBranch" />
+  </activity>
+  <activity name="SearchCoibB" class="xin.glue.ui.common.PosMultiSearch">
+    <transition name="success" value="end" />
+    <property name="param0" value="ORD_FL" />
+    <property name="resultkey" value="ListResult_0" />
+    <property name="sqlkey0" value="UIE021020.CoilB.Select" />
+  </activity>
+  <activity name="SearchCoibA" class="xin.glue.ui.common.PosMultiSearch">
+    <transition name="success" value="end" />
+    <property name="param0" value="ORD_FL" />
+    <property name="resultkey" value="ListResult_0" />
+    <property name="sqlkey0" value="UIE021020.CoilA.Select" />
+  </activity>
+  <activity name="NIE031050" class="xin.glue.nui.E.E02.NIE021020">
+    <transition name="success" value="SelectBranch" />
+    <property name="transacion" value="false" />
+    <property name="ServiceName" value="NIE031050-service" />
+  </activity>
+  <activity name="SetResultKeyList" class="com.posdata.glue.biz.trustform.PosSetResultKeyList">
+    <transition name="success" value="InitParam" />
+    <property name="ResultKeyList" value="ListResult_0" />
+  </activity>
+  <activity name="InitParam" class="xin.glue.ui.common.PosInitParam">
+    <transition name="success" value="eventRouter" />
+    <property name="sqlkey0" value="SELECT.COMMCD" />
+    <property name="param0" value="LG_CD" />
+  </activity>
+  <activity name="SelectBranchCoil" class="xin.glue.ui.common.PosSelectBranch">
+    <transition name="success" value="end" />
+    <transition name="1A" value="SearchCoibA" />
+    <transition name="1B" value="SearchCoibB" />
+    <property name="values" value="1A|1B" />
+    <property name="param" value="EX_TYPE" />
+  </activity>
+</service>
+

+ 28 - 0
.svn/pristine/03/032b9bc48f249ddfb159aaabf0a5b23990a38f93.svn-base

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Glue:GlueDiagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Glue="http://www.glueframework.com/activitydiagram/" id="2" location="20,20" size="100,100">
+  <child xsi:type="Glue:Activity" id="1539" location="337,79" size="141,-1" input="//@wire.0" output="//@wire.1" name="SetResultKeyList">
+    <property key="class" value="com.posdata.glue.biz.trustform.PosSetResultKeyList"/>
+    <property key="ResultKeyList" value="slabCtIns"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:RouterActivity" id="1540" location="237,145" size="368,-1" input="//@wire.1" output="//@wire.2" name="Router1540">
+    <property key="class" value="com.posdata.glue.biz.activity.PosDefaultRouter"/>
+  </child>
+  <child xsi:type="Glue:InitialState" id="1541" location="393,22" size="-1,-1" output="//@wire.0"/>
+  <child xsi:type="Glue:FinalState" id="1542" location="393,291" size="-1,-1" input="//@wire.3"/>
+  <child xsi:type="Glue:SearchActivity" id="1547" location="319,217" size="189,-1" input="//@wire.2" output="//@wire.3" name="Search1547">
+    <property key="sqlkey" value="UIG010060_SLAB_CUT_INS.select"/>
+    <property key="resultkey" value="slabCtIns"/>
+    <property key="dao" value="mesdao"/>
+    <property key="param0" value="slabCutInsDate"/>
+    <property key="class" value="com.posdata.glue.biz.activity.PosSearch"/>
+    <property key="param-count" value="1"/>
+    <property key="description" value=""/>
+  </child>
+  <property key="tx1" value="true"/>
+  <property key="description" value=""/>
+  <wire id="661" guardcondition="success" firstRelativePoint="407,41" lastRelativePoint="407,79"/>
+  <wire id="662" guardcondition="success" firstRelativePoint="408,109" lastRelativePoint="408,145"/>
+  <wire id="663" guardcondition="find" firstRelativePoint="403,247" lastRelativePoint="403,290"/>
+  <wire id="664" guardcondition="success" firstRelativePoint="403,247" lastRelativePoint="403,290"/>
+</Glue:GlueDiagram>

BIN
.svn/pristine/03/032ec1a300bdc5b9ebbebf5ad750b4e51b991ccb.svn-base


+ 12 - 0
.svn/pristine/03/033444e8a585285107d44212c41f6e889581e526.svn-base

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<msgs>
+<msg id="NIG020110" name=" STEELMAKING EVENT ">
+  <attribute type="E" seq="1" id="MSG_ID"                        name="MSG_ID"                                datatype="STRING" length="9"  precision="" />            
+  <attribute type="E" seq="2" id="RSV_DATE"                      name=" RsvDtime"                             datatype="STRING" length="14"  precision="" />      
+   <attribute type="E" seq="5"  id="KR_CHARGE_NO"                   name="脱硫顺序号 "                             datatype="STRING" length="9"   precision="" />          
+   <attribute type="E" seq="7"  id="OCR_DTIME"                    name=" 发生时刻 "                             datatype="STRING" length="14" precision="" />           
+  <attribute type="E" seq="8"  id="KR_NO"                        name=" 预处理站号(站号编码需要双方确认)"         datatype="STRING" length="2"  precision="" />           
+  <attribute type="E" seq="9"  id="LD_NO"                        name=" 铁水包号 "                             datatype="STRING" length="3"  precision="" />           
+  <attribute type="E" seq="10" id="LD_ARRIV_DTIME"                name=" 铁水包到达时刻 "                         datatype="STRING" length="14" precision="" />           
+ </msg>
+</msgs>

+ 61 - 0
.svn/pristine/03/034163a11e82a6aced1c8a342418809b3abbb8a3.svn-base

@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding='UTF-8'?>
+<queryMap desc="充当对象钢卷选择">
+
+ 	<query id="NIE031022.RepCoil.Insert" desc="">
+		<![CDATA[
+			INSERT INTO TBE04_REP_COIL
+			( COIL_NO, PROG_CD, BEF_PROG_CD, ORD_FL, ORG_ORD_NO, 
+			  ORG_ORD_SEQ, PROD_DTIME, MLT_PROC_CD, WOO_RSN, LOC, 
+			  STL_GRD, PRODNM_CD, COIL_THK, COIL_WTH, COIL_LEN, 
+			  COIL_INDIA, COIL_OUTDIA, COIL_WGT, COIL_CAL_UNIT_WGT, UST_CD, 
+			  DGR, SPEC_ABBSYM, ORD_USEAGE_CD, SMP_PROC_YN, ORD_NO, 
+			  ORD_SEQ, FL, SAMPL_PICK_YN )
+			-- 钢卷号, 现进度, 前进度, 订单材/余材区分, 最初合同号, 
+			-- 最初订单号, 生产日期, 炼钢通过工序, 余材原因, 堆放位置, 
+			-- 钢号, 产品代码, 钢卷厚度, 钢卷宽度, 钢卷长度, 
+			-- 钢卷内径, 钢卷外径, 钢卷重量, 钢卷计算单重, UST区分, 
+			-- 等级, 标准号, 订单用途代码, 光整冷轧指定判断, 合同号, 
+			-- 订单号, 标示, 取样採取有无
+			SELECT
+				COIL_NO,			-- 钢卷号
+				CUR_PROG_CD,		-- 现进度(PROG_CD)
+				BEF_PROG_CD,		-- 前进度(BEF_PROG_CD)
+				ORD_FL,				-- 订单材/余材区分
+				ORG_ORD_NO,			-- 最初合同号(ORG_ORD_NO)
+				ORG_ORD_SEQ,		-- 最初订单号(ORG_ORD_SEQ)
+				COIL_CRE_DTIME,		-- 生产日期(PROD_DTIME)
+				'',					-- 炼钢通过工序(MLT_PROC_CD)
+				NONORD_CAUSE_CD,	-- 余材原因(WOO_RSN)
+				CUR_LOAD_LOC,		-- 堆放位置(LOC)
+				STL_GRD,			-- 钢号
+				PRODNM_CD,			-- 产品代码
+				COIL_THK,			-- 钢卷厚度(COIL_THK)
+				COIL_WTH,			-- 钢卷宽度(COIL_WTH)
+				COIL_LEN,			-- 钢卷长度(COIL_LEN)
+				COIL_INDIA,			-- 钢卷内径(COIL_INDIA)
+				COIL_OUTDIA,		-- 钢卷外径(COIL_OUTDIA)
+				ACT_WGT,			-- 钢卷重量(COIL_WGT)
+				CAL_WGT,			-- 钢卷计算单重(COIL_CAL_UNIT_WGT)
+				'',					-- UST区分(UST_CD)
+				TOT_DEC_GRD,		-- 等级(DGR)
+				'',					-- 标准号(SPEC_ABBSYM)
+				'',					-- 订单用途代码(ORD_USEAGE_CD)
+				SPM_YN,				-- 光整冷轧指定判断(SMP_PROC_YN)
+				'',					-- 合同号(ORD_NO)
+				'',					-- 订单号(ORD_SEQ)
+				'',					-- 标示(FL)
+				SAMPL_PICK_YN
+			FROM TBH02_COIL_COMM
+			WHERE ORD_FL = '2'
+			  AND COIL_STAT = '2'
+			  AND CUR_PROG_CD = 'SRC'
+			  AND ACT_WGT > 0
+			  AND STL_GRD||'&' LIKE ?||'%'			-- 钢号
+			  AND CUR_LOAD_LOC||'&' LIKE ?||'%'		-- 堆放位置
+			  AND NONORD_CAUSE_CD||'&' LIKE ?||'%'	-- 余材原因
+			  AND COIL_NO NOT IN (
+				SELECT COIL_NO FROM TBE04_REP_COIL)
+		]]>
+	</query>    
+    
+</queryMap>

+ 41 - 0
.svn/pristine/03/0345883dfe9329b5dec710a630dfe3480cff5e75.svn-base

@@ -0,0 +1,41 @@
+package xin.glue.ui.G.G04;
+
+import com.posdata.glue.PosException;
+import com.posdata.glue.biz.activity.PosActivity;
+import com.posdata.glue.biz.constants.PosBizControlConstants;
+import com.posdata.glue.context.PosContext;
+import com.posdata.glue.dao.PosDaoException;
+
+public class PosErrorHandler extends PosActivity
+{
+
+	public String runActivity(PosContext ctx)
+	{
+		logger.logDebug("XinHandleError  runActivity START...");
+		
+		String message = ""; 
+		Throwable th = ctx.getException();
+		
+		logger.logDebug("XinHandleError  th:"+th);
+		
+		if (th != null)
+		{
+			
+			if (th instanceof PosDaoException)
+			{
+				message = "DB connect ERROR ";
+			}
+			else if (th instanceof PosException)
+			{
+				message = " SYSTEM ERROR  ";
+			}
+			ctx.setException(new PosException(message));
+		}
+
+		logger.logDebug("XinHandleError message:"+message);
+		
+		return PosBizControlConstants.SUCCESS;
+		
+	}	
+}
+

BIN
.svn/pristine/03/034f7032827f7782bae4a85739876a1324711532.svn-base


+ 49 - 0
.svn/pristine/03/0350ca63be64f59e1510e65331976923a4e827de.svn-base

@@ -0,0 +1,49 @@
+package xin.glue.ui.G.G02;
+
+import java.math.BigDecimal;
+
+import xin.glue.ui.G.G01.XTBGCOMM;
+
+import com.posdata.glue.dao.PosGenericDao;
+import com.posdata.glue.dao.vo.PosParameter;
+import com.posdata.glue.dao.vo.PosRow;
+import com.posdata.glue.dao.vo.PosRowSet;
+
+public class steelChargingHandle {
+	private PosGenericDao dao;
+	
+	private PosParameter 	param;
+	private PosRowSet		rowSet;
+	private PosRow			row;
+	public steelChargingHandle(PosGenericDao dao){
+		this.dao = dao;
+	}
+	
+	//初始化炉次公共表,将炉次计划信息写入炉次公共表
+	public void initChargeComm(String planSlabNo,String chargeNo){
+		param = new PosParameter();
+		param.setWhereClauseParameter(0, planSlabNo);
+		rowSet = dao.find("UIG02COMM_SPEC_CHARGE.select", param);
+		
+		BigDecimal 	rCastChargeSeq = null;					 
+		BigDecimal 	rCastEdtChargeCnt = null;					 
+		String 		prodnmCd = "";								 
+		String 		stlGrd = "";									 
+		String 		lineProcCd = "";								 
+		String 		hcrClf = "";									 
+        String 		specAbbsym = "";								 
+        String 		castNo = "";	
+        String 		CH_SLAB_RT = "";	
+        Number 		prevChargeWgt = null;
+        
+		String existYN = "SELECT CHARGE_NO FROM TBG02_CHARGE_COMM WHERE CHARGE_NO = ?";
+		if(XTBGCOMM.chekRecord(dao, chargeNo, existYN)){
+			
+		}else{
+			
+		}
+		
+		
+		
+	}
+}

+ 66 - 0
.svn/pristine/03/03581775c1f134b46a8216656fe77cf677746549.svn-base

@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="EUC-KR"?>
+<service name="UIB010273-service" initial="RESULTLIST">
+  <transaction-manager id="tx1" commit="true" />
+  <activity name="FIND1" class="com.posdata.glue.biz.activity.PosSearch">
+    <transition name="failure" value="ERRORMANAGER" />
+    <transition name="success" value="end" />
+    <property name="resultkey" value="ToleranceResult" />
+    <property name="dao" value="mesdao" />
+    <property name="sqlkey" value="UIB010271_02.SELECT" />
+    <property name="param-count" value="1" />
+    <property name="param0" value="DEV_SPEC_CD" />
+  </activity>
+  <activity name="ROUTER" class="com.posdata.glue.biz.activity.PosDefaultRouter">
+    <transition name="save" value="SAVE" />
+    <transition name="onclick" value="FIND1" />
+    <transition name="find" value="FINDSMS" />
+    <transition name="success" value="end" />
+    <transition name="findS" value="FINDSPEC" />
+    <transition name="saveqy" value="SAVEQY" />
+  </activity>
+  <activity name="INITPARAM" class="xin.glue.ui.B.B01.InitParamManager">
+    <transition name="success" value="ROUTER" />
+    <property name="param-count" value="4" />
+    <property name="param0" value="null" />
+    <property name="param1" value="null" />
+    <property name="param2" value="null" />
+    <property name="initResult" value="InitSpecResult|Tolerance|DengJi|CopyDel" />
+    <property name="dao" value="mesdao" />
+    <property name="param3" value="null" />
+    <property name="sqlkey0" value="UIB010271_01.INITSELECT" />
+    <property name="sqlkey1" value="UIB010270_02.INITSELECT" />
+    <property name="sqlkey2" value="UIB010270_03.INITSELECT" />
+    <property name="sqlkey3" value="UIB010270_04.INITSELECT" />
+  </activity>
+  <activity name="SAVE" class="xin.glue.ui.B.B01.SaveSpecAddCut">
+    <transition name="failure" value="ERRORMANAGER" />
+    <transition name="success" value="end" />
+  </activity>
+  <activity name="SAVEQY" class="xin.glue.ui.B.B01.SaveSpecNoQlty">
+    <transition name="failure" value="ERRORMANAGER" />
+    <transition name="success" value="end" />
+  </activity>
+  <activity name="FINDSPEC" class="com.posdata.glue.biz.activity.PosSearch">
+    <transition name="success" value="end" />
+    <property name="resultkey" value="SpecResult" />
+    <property name="sqlkey" value="UIB010270_04.INITSELECT" />
+    <property name="dao" value="mesdao" />
+  </activity>
+  <activity name="RESULTLIST" class="com.posdata.glue.biz.trustform.PosSetResultKeyList">
+    <transition name="success" value="INITPARAM" />
+    <property name="ResultKeyList" value="DelSpecResult|ToleranceResult|SpecResult" />
+  </activity>
+  <activity name="FINDSMS" class="com.posdata.glue.biz.activity.PosSearch">
+    <transition name="success" value="end" />
+    <transition name="failure" value="ERRORMANAGER" />
+    <property name="sqlkey" value="UIB010273_01.SELECT" />
+    <property name="resultkey" value="DelSpecResult" />
+    <property name="dao" value="mesdao" />
+    <property name="param0" value="delSpec" />
+    <property name="param-count" value="1" />
+  </activity>
+  <activity name="ERRORMANAGER" class="xin.glue.user.common.PosErrorHandler">
+    <transition name="success" value="end" />
+  </activity>
+</service>
+

+ 51 - 0
.svn/pristine/03/035b8ebbb822b5e7bea46f1d00ce847376a52397.svn-base

@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="EUC-KR"?>
+<service name="UIH010040-service" initial="SetResultKeyList">
+  <activity name="SearchNH" class="com.posdata.glue.biz.activity.PosSearch">
+    <transition name="success" value="end" />
+    <property name="param1" value="searchGroup" />
+    <property name="param2" value="searchTime" />
+    <property name="dao" value="mesdao" />
+    <property name="param3" value="searchGroup" />
+    <property name="param4" value="searchTime" />
+    <property name="param5" value="searchGroup" />
+    <property name="param6" value="searchTime" />
+    <property name="param7" value="searchGroup" />
+    <property name="param8" value="searchTime" />
+    <property name="param9" value="searchGroup" />
+    <property name="sqlkey" value="UIH010040_01.select" />
+    <property name="param20" value="searchTime" />
+    <property name="param21" value="searchGroup" />
+    <property name="param22" value="searchTime" />
+    <property name="param23" value="searchGroup" />
+    <property name="param-count" value="28" />
+    <property name="param24" value="searchTime" />
+    <property name="param10" value="searchTime" />
+    <property name="param25" value="searchGroup" />
+    <property name="param11" value="searchGroup" />
+    <property name="param26" value="searchTime" />
+    <property name="resultkey" value="NHRESULT" />
+    <property name="param12" value="searchTime" />
+    <property name="param27" value="searchGroup" />
+    <property name="param13" value="searchGroup" />
+    <property name="param14" value="searchTime" />
+    <property name="param15" value="searchGroup" />
+    <property name="param16" value="searchTime" />
+    <property name="param17" value="searchGroup" />
+    <property name="param18" value="searchTime" />
+    <property name="param19" value="searchGroup" />
+    <property name="param0" value="searchTime" />
+  </activity>
+  <activity name="SetResultKeyList" class="com.posdata.glue.biz.trustform.PosSetResultKeyList">
+    <transition name="success" value="Router4465" />
+    <property name="ResultKeyList" value="NHRESULT" />
+  </activity>
+  <activity name="saveNH" class="xin.glue.ui.H.H01.saveNH">
+    <transition name="success" value="end" />
+  </activity>
+  <transaction-manager id="tx1" commit="true" />
+  <activity name="Router4465" class="com.posdata.glue.biz.activity.PosDefaultRouter">
+    <transition name="find" value="SearchNH" />
+    <transition name="save" value="saveNH" />
+  </activity>
+</service>
+

+ 117 - 0
.svn/pristine/03/035c524acb551dc8d6561e28972538a3842e5c62.svn-base

@@ -0,0 +1,117 @@
+package xin.glue.ui.G.G04;
+
+import com.posdata.glue.biz.activity.PosActivity;
+import com.posdata.glue.biz.constants.PosBizControlConstants;
+import com.posdata.glue.biz.control.PosBizControlIF;
+import com.posdata.glue.biz.control.PosBizProvider;
+import com.posdata.glue.component.PosConstants;
+import com.posdata.glue.context.PosContext;
+import com.posdata.glue.dao.vo.PosParameter;
+import com.posdata.glue.dao.vo.PosRow;
+import com.posdata.glue.dao.vo.PosRowSet;
+import com.posdata.glue.msg.PosMESMessageImpl;
+import com.posdata.glue.msg.PosMessage;
+
+/*
+ * 炼钢工序管理修改工序类
+ * @author 王小炎
+ * @date 2008.08.11
+ */
+public class PosSaveToSlabYard extends PosActivity
+{
+	public String runActivity(PosContext context)
+	{
+//		从页面获取参数数据,供更新页面使用
+		String[] status2 = (String[]) context.get("rowStuts2");
+		
+		String[] toSlabNo = (String[])context.get("TO_SLAB_NO");
+		String[] fromSlabNo = (String[])context.get("FROM_SLAB_NO");
+		String[] toSlabYardAddress = (String[])context.get("TO_YARD_ADDR");
+		String[] fromSlabYardAddress = (String[])context.get("FROM_YARD_ADDR");
+		String[] toStroelay = (String[])context.get("TO_STORELAY");
+		
+		int rowset = 0;
+		if (status2 != null)
+		{
+			 
+			
+			for (int i = 0; i < status2.length; i++)
+			{
+				PosParameter param0 = new PosParameter();
+				param0.setWhereClauseParameter(0, toSlabNo[i]);
+				param0.setWhereClauseParameter(1, toSlabYardAddress[i]);
+				param0.setWhereClauseParameter(2, toStroelay[i]);
+				
+//				从维护的公共表查出数据,供更新页面使用
+				rowset += getDao("mesdao").update("UIG040010_02.update", param0);
+				
+			// TABLE ID: TB02_SLAB_COMM -->   CUR_LOAD_LOC  UPDATE        	
+				PosParameter param1 = new PosParameter();
+				String slabAddr = null;
+				slabAddr = toSlabYardAddress[i]+toStroelay[i]; 
+				param1.setWhereClauseParameter(0, slabAddr);
+				param1.setWhereClauseParameter(1, toSlabNo[i]);
+				
+				getDao("mesdao").update("UIG040010_LOC.update",param1);
+				
+				// Mill Schedule delete request 
+				PosParameter param6 = new PosParameter(); 
+				param6.setWhereClauseParameter(0, toSlabNo[i]);
+				PosRowSet SpecSlabVO = getDao("mesdao").find("UIG040042_SPEC_SLAB.select", param6); 
+				if(SpecSlabVO.hasNext()) {
+				  PosRow  SpecSlabROW = SpecSlabVO.next();
+				  String MillFl = (String)SpecSlabROW.getAttribute("MILL_FL");
+					
+				  if(MillFl != null   && MillFl.equals("Y")) {
+			    	 SendProg_NIF024060( toSlabNo[i]);  
+			      }
+				}  
+				
+				
+			}
+			context.put("saveToSlabYardResult", String.valueOf(rowset));
+		}
+		return PosBizControlConstants.SUCCESS;
+
+	}
+	//Mill Schedule delete request service call
+		public void SendProg_NIF024060(String  SlabNo   )
+	{
+			   
+		     
+				        
+			 PosContext context = new PosContext();
+			 PosMessage message = new PosMESMessageImpl();
+				     
+			 String TcId = "NIF024060"; 
+
+			 message.setTCID(TcId);
+			 message.setObject("MSG_ID",TcId);  
+			 message.setObject("TYPE","S");
+			 message.setObject("FROM",SlabNo);
+			 message.setObject("TO",SlabNo);
+			 message.setObject("REG_ID","UIG040010");
+				 
+			 context.setMessage(message);
+			 this.processComponent(PosConstants.CREATE_MESSAGE, context);
+			 String transactionCode = context.getMessage().getTC();
+				 	 
+			 message.setTCID(TcId); 
+				 	
+			 String serviceName = "NIF024060"; 
+					
+			 String SERVICE_POSTFIX = "-service"; 
+					
+			 	 	 
+			 context.put(PosBizControlConstants.SERVICE_NAME, serviceName + SERVICE_POSTFIX);
+					 
+					
+			 context.setMessage(message);
+					
+					
+			 PosBizControlIF controller =  PosBizProvider.getController();
+					
+			 controller.doSubController(context,false);
+				 	 
+	}
+}

BIN
.svn/pristine/03/03620f2710f858a76159009b0f24ef040a1d7c1e.svn-base


+ 108 - 0
.svn/pristine/03/038ccfbc83385e02bd0f13d149930f4e8ce48968.svn-base

@@ -0,0 +1,108 @@
+package xin.glue.ui.common;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.posdata.glue.biz.constants.PosBizControlConstants;
+import com.posdata.glue.context.PosContext;
+
+public class PosMultiGridSave extends PosDBEngine {
+	public String runActivity(PosContext ctx) {
+/*
+ * grid-count:需要存贮的风格数目
+ * rowStatus :网格状态属性
+ * writeLog  :是否需要记录到日志
+ * dao       :所使用的 DAO
+ * 更新语句    :'sqlkey-u' + 序号,如 sqlkey-u0,sqlkey-u1,...
+ * 参数        :'param-u' + 序号,多个参数以竖线分隔,如 REG_ID|REG_DATE
+ * 插入语句    :'sqlkey-i' + 序号
+ * 参数        :'param-i' + 序号
+ * 删除语句    :'sqlkey-d' + 序号
+ * 参数        :'param-d' + 序号
+ */
+		int count = 2;
+		if (getProperty("grid-count") != null)
+			count = Integer.parseInt(getProperty("grid-count").trim());
+		if (count == 0) return PosBizControlConstants.SUCCESS;
+
+		List rowStatus = new ArrayList();
+		if (getProperty("rowStatus") == null) {
+			for (int i = 0; i < count; i++) {
+				String rsName = "rowStatus_" + String.valueOf(i);
+				rowStatus.add(ctx.get(rsName));
+			}
+		} else {
+			String[] rsStatus = getProperty("rowStatus").trim().split("\\|");
+			int len = rsStatus.length;
+			if (len == 0) return PosBizControlConstants.SUCCESS;
+			count = (len < count) ? len : count;
+			for (int i = 0; i < count; i++) {
+				String rsName = rsStatus[i].trim();
+				if ("".equals(rsName)) continue;
+				rowStatus.add(ctx.get(rsName));
+			}
+		}
+		if (rowStatus.size() == 0) return PosBizControlConstants.SUCCESS;
+
+		Initialize();
+		// 2. Get Parameter( 各语句参数名获取 )
+		for (int i = 0; i < count; i++) {
+			String[] rsStatus = (String[]) rowStatus.get(i);
+			if (rsStatus == null) continue;
+
+			int length = rsStatus.length;
+			setParamMap(ctx, "sqlkey-u" + i, "param-u" + i, length, true);
+			setParamMap(ctx, "sqlkey-i" + i, "param-i" + i, length);
+			setParamMap(ctx, "sqlkey-d" + i, "param-d" + i, length);
+		}
+		// 设定索引号
+		setParamIndex();
+
+		int startIdx = 0, endIdx = 0;
+		String lastUpdate = "";
+		String lastUpdateKey = "";
+		String lastInsert = "";
+		String lastInsertKey = "";
+		String lastDelete = "";
+		String lastDeleteKey = "";
+		int length = count;
+		for (int i = 0; i < length; i++) {
+			String[] rsStatus = (String[]) rowStatus.get(i);
+			if (rsStatus == null || rsStatus.length == 0) {
+				continue;
+			}
+			startIdx = endIdx;
+			count = rsStatus.length; // 该网格变动行数
+			endIdx += count;
+
+			String sqlkey = getProperty("sqlkey-u" + i);
+			if (sqlkey != null && !"".equals(sqlkey)) {
+				lastUpdate = "sqlkey-u" + i;
+				lastUpdateKey = "param-u" + i;
+			}
+			sqlkey = getProperty("sqlkey-i" + i);
+			if (sqlkey != null && !"".equals(sqlkey)) {
+				lastInsert = "sqlkey-i" + i;
+				lastInsertKey = "param-i" + i;
+			}
+			sqlkey = getProperty("sqlkey-d" + i);
+			if (sqlkey != null && !"".equals(sqlkey)) {
+				lastDelete = "sqlkey-d" + i;
+				lastDeleteKey = "param-d" + i;
+			}
+
+			for (int j = startIdx; j < endIdx; j++) {
+				if ("u".equals(rsStatus[j-startIdx]))
+					Execute(ctx,lastUpdate, lastUpdateKey, 'u');
+				else if ("i".equals(rsStatus[j-startIdx]))
+					Execute(ctx,lastInsert, lastInsertKey, 'i');
+				else if ("d".equals(rsStatus[j-startIdx]))
+					Execute(ctx,lastDelete, lastDeleteKey, 'd');
+
+				// 参数索引向上递增
+				adjustParamIndex();
+			}
+		}
+		return PosBizControlConstants.SUCCESS;
+	}
+}

+ 15 - 0
.svn/pristine/03/039149859e7a903356afdab4e045b8b5d4c4a277.svn-base

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="EUC-KR"?>
+<service name="UIH051100-service" initial="SetResultKeyList">
+  <activity name="SetResultKeyList" class="com.posdata.glue.biz.trustform.PosSetResultKeyList">
+    <transition name="success" value="Router1271" />
+    <property name="ResultKeyList" value="UIH051100_RESULT" />
+  </activity>
+  <activity name="Router1271" class="com.posdata.glue.biz.activity.PosDefaultRouter">
+    <transition name="find" value="Activity Label3105" />
+  </activity>
+  <transaction-manager id="tx1" commit="true" />
+  <activity name="Activity Label3105" class="xin.glue.ui.H.H05.SearchYardInfo">
+    <transition name="success" value="end" />
+  </activity>
+</service>
+

+ 28 - 0
.svn/pristine/03/03b81a05f31357163b940f6415368d86a33fafb3.svn-base

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="EUC-KR"?>
+<service name="UIG020600-service" initial="SetResultKeyList">
+  <transaction-manager id="tx1" commit="true" />
+  <activity name="Search2" class="com.posdata.glue.biz.activity.PosSearch">
+    <transition name="success" value="end" />
+    <property name="sqlkey" value="UIG020600_01.select" />
+    <property name="resultkey" value="UIG020600_ERSULT" />
+    <property name="dao" value="mesdao" />
+    <property name="param0" value="ordNo" />
+    <property name="param1" value="ordSeq" />
+    <property name="param2" value="FROM_DEL_TO_DATE" />
+    <property name="param3" value="FROM_DEL_TO_DATE" />
+    <property name="param4" value="TO_DEL_TO_DATE" />
+    <property name="param5" value="fromDate" />
+    <property name="param6" value="toDate" />
+    <property name="param7" value="insFromDate" />
+    <property name="param8" value="insToDate" />
+    <property name="param-count" value="9" />
+  </activity>
+  <activity name="Router1" class="com.posdata.glue.biz.activity.PosDefaultRouter">
+    <transition name="find" value="Search2" />
+  </activity>
+  <activity name="SetResultKeyList" class="com.posdata.glue.biz.trustform.PosSetResultKeyList">
+    <transition name="success" value="Router1" />
+    <property name="ResultKeyList" value="UIG020600_ERSULT" />
+  </activity>
+</service>
+

+ 18 - 0
.svn/pristine/03/03c5ef09c42d8cb8eb558042aa5d56d3d60a4301.svn-base

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="EUC-KR"?>
+<service name="NIE031051-service" initial="Save">
+  <transaction-manager id="tx1" commit="true" />
+  <activity name="Save" class="xin.glue.nui.E.E03.OrdRepSave">
+    <transition name="success" value="end" />
+    <property name="sqlkey1" value="NIE031051.SlabComm.Select" />
+    <property name="sqlkey2" value="NIE031051.OrdSts.Select" />
+    <property name="param1" value="MAT_NOS" />
+    <property name="param2" value="MAT_NO" />
+    <property name="param-u" value="NONORD_CAUSE_CD|REG_ID|MAT_NO" />
+    <property name="param-h" value="REG_ID|MAT_NO" />
+    <property name="sqlkey-u" value="NIE031051.SlabComm.Update" />
+    <property name="sqlkey-ud" value="NIE031051.SlabCommD.Update" />
+    <property name="sqlkey-h" value="NIE031051.RepHis.Insert" />
+    <property name="param-ud" value="MAT_NO" />
+  </activity>
+</service>
+

+ 98 - 0
.svn/pristine/03/03d2fa75334bfd150d2b5a903e0757c9ebaffc16.svn-base

@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Glue:GlueDiagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Glue="http://www.glueframework.com/activitydiagram/" id="8" location="20,20" size="100,100">
+  <child xsi:type="Glue:InitialState" id="262" location="632,36" size="-1,-1" output="//@wire.0"/>
+  <child xsi:type="Glue:FinalState" id="263" location="500,619" size="-1,-1" input="//@wire.8 //@wire.9 //@wire.13"/>
+  <child xsi:type="Glue:Activity" id="265" location="564,76" size="154,-1" input="//@wire.0" output="//@wire.10" name="SetResultKeyList">
+    <property key="ResultKeyList" value="ChemNM|JchmResult|CCMResult|CCMChemResult|InitDataResult|FIRST_INIT_RESULT|AAAAAA|ShiftResult|onclickResult|GroupResult|LDEMORS"/>
+    <property key="class" value="com.posdata.glue.biz.trustform.PosSetResultKeyList"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:SearchActivity" id="266" location="379,359" size="333,-1" input="//@wire.2 //@wire.3" output="//@wire.4" name="SearchCCMResult">
+    <property key="resultkey" value="CCMResult"/>
+    <property key="dao" value="mesdao"/>
+    <property key="class" value="com.posdata.glue.biz.activity.PosSearch"/>
+    <property key="sqlkey" value="UIG020070_01.select"/>
+    <property key="param-count" value="1"/>
+    <property key="param0" value="CHARGE_NO"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:RouterActivity" id="267" location="58,203" size="1152,-1" input="//@wire.10" output="//@wire.1 //@wire.3 //@wire.7 //@wire.11" name="CCMResultRouter">
+    <property key="class" value="com.posdata.glue.biz.activity.PosDefaultRouter"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:Activity" id="269" location="564,290" size="114,-1" input="//@wire.1" output="//@wire.2" name="SaveCCMResult">
+    <property key="class" value="xin.glue.ui.G.G02.PosSaveCCMResult"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:Activity" id="1069" location="423,528" size="243,-1" input="//@wire.6" output="//@wire.12" name="EditingChem">
+    <property key="resultkey" value="CCMChemResult"/>
+    <property key="class" value="xin.glue.ui.G.G02.XinChemEdit"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:SearchActivity" id="1472" location="386,417" size="324,-1" input="//@wire.4" output="//@wire.5" name="SearchShiftCd">
+    <property key="class" value="com.posdata.glue.biz.activity.PosSearch"/>
+    <property key="resultkey" value="ShiftResult"/>
+    <property key="dao" value="mesdao"/>
+    <property key="sqlkey" value="UIG020COMM_SHIFT.select"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:SearchActivity" id="1473" location="381,477" size="326,-1" input="//@wire.5" output="//@wire.6" name="SearchGropCd">
+    <property key="class" value="com.posdata.glue.biz.activity.PosSearch"/>
+    <property key="resultkey" value="GroupResult"/>
+    <property key="dao" value="mesdao"/>
+    <property key="sqlkey" value="UIG020COMM_GROUP.select"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:SearchActivity" id="1474" location="893,334" size="137,-1" input="//@wire.7" output="//@wire.8" name="SearchOnCLick">
+    <property key="sqlkey" value="UIG020070_EMP.select"/>
+    <property key="resultkey" value="onclickResult"/>
+    <property key="dao" value="mesdao"/>
+    <property key="param0" value="WK_GROUP"/>
+    <property key="class" value="com.posdata.glue.biz.activity.PosSearch"/>
+    <property key="param-count" value="1"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:SearchActivity" id="2990" location="78,437" size="213,-1" input="//@wire.11" output="//@wire.9" name="Search2990">
+    <property key="class" value="com.posdata.glue.biz.activity.PosSearch"/>
+    <property key="resultkey" value="InitDataResult"/>
+    <property key="dao" value="mesdao"/>
+    <property key="description" value=""/>
+    <property key="sqlkey" value="UIG030010.INIT_PARAM_02"/>
+    <property key="param-count" value="0"/>
+  </child>
+  <child xsi:type="Glue:SearchActivity" id="3093" location="429,573" size="232,-1" input="//@wire.12" output="//@wire.13" name="L2_DEMO_Search">
+    <property key="sqlkey" value="UIG020020_02_L2_DEMO"/>
+    <property key="resultkey" value="LDEMORS"/>
+    <property key="dao" value="mesdao"/>
+    <property key="param0" value="CHARGE_NO"/>
+    <property key="class" value="com.posdata.glue.biz.activity.PosSearch"/>
+    <property key="param-count" value="1"/>
+    <property key="description" value=""/>
+  </child>
+  <property key="tx1" value="true"/>
+  <property key="description" value=""/>
+  <wire id="174" guardcondition="success" firstRelativePoint="261,43" lastRelativePoint="261,74"/>
+  <wire id="177" guardcondition="save" firstRelativePoint="369,233" lastRelativePoint="369,279">
+    <bendpoint weight="0.5" firstDimension="41,36" secondDimension="0,-40"/>
+  </wire>
+  <wire id="178" guardcondition="success" firstRelativePoint="367,238" lastRelativePoint="367,277">
+    <bendpoint weight="0.5" firstDimension="-2,35" secondDimension="74,-34"/>
+  </wire>
+  <wire id="234" guardcondition="find" firstRelativePoint="197,233" lastRelativePoint="197,348"/>
+  <wire id="639" guardcondition="success" firstRelativePoint="302,378" lastRelativePoint="302,406"/>
+  <wire id="640" guardcondition="success" firstRelativePoint="296,436" lastRelativePoint="296,466"/>
+  <wire id="641" guardcondition="success" firstRelativePoint="297,496" lastRelativePoint="297,540"/>
+  <wire id="644" guardcondition="onclick" firstRelativePoint="964,233" lastRelativePoint="964,334">
+    <bendpoint weight="0.5" firstDimension="330,57" secondDimension="3,-74"/>
+  </wire>
+  <wire id="646" guardcondition="success" firstRelativePoint="729,356" lastRelativePoint="294,626">
+    <bendpoint weight="0.5" firstDimension="45,286" secondDimension="444,0"/>
+  </wire>
+  <wire id="742" guardcondition="success" firstRelativePoint="171,467" lastRelativePoint="499,628">
+    <bendpoint weight="0.5" firstDimension="-13,169" secondDimension="-339,-8"/>
+  </wire>
+  <wire id="743" guardcondition="success" firstRelativePoint="624,106" lastRelativePoint="624,203"/>
+  <wire id="747" guardcondition="init" firstRelativePoint="189,233" lastRelativePoint="189,437"/>
+  <wire id="768" guardcondition="success" firstRelativePoint="533,558" lastRelativePoint="533,573"/>
+  <wire id="769" guardcondition="success" firstRelativePoint="510,603" lastRelativePoint="510,618"/>
+</Glue:GlueDiagram>

BIN
.svn/pristine/03/03dffc5bc1847f49e9908727c657129e52ec5a80.svn-base


BIN
.svn/pristine/03/03e9e5e12b8d760895ee09923924b8ff53705d1c.svn-base


+ 69 - 0
.svn/pristine/03/03ee82a39281b1bb82e9226134c103f5a9ac3842.svn-base

@@ -0,0 +1,69 @@
+package xin.glue.ui.T.T04;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+import com.posdata.glue.PosException;
+import com.posdata.glue.biz.activity.PosActivity;
+import com.posdata.glue.biz.constants.PosBizControlConstants;
+import com.posdata.glue.context.PosContext;
+import com.posdata.glue.dao.vo.PosRow;
+import com.posdata.glue.dao.vo.PosRowSet;
+
+public class ConvertBlob extends PosActivity {
+
+	protected static final String alertMessage = "Do not exist blob value";
+
+	public String runActivity(PosContext ctx) {
+
+		String resultKey = getProperty("resultKey");
+		PosRowSet rows = (PosRowSet) ctx.get("BlobFileResult");
+		if (rows.hasNext()) {
+			PosRow row = rows.next();
+			
+			InputStream is = (InputStream) row.getAttribute("pic");	// Blob 항목은 InputStream 으로 얻는다.
+			if (is == null) {
+				logger.logWarn(alertMessage);
+				ctx.put(resultKey, alertMessage);
+			} else {
+				String convertedString = convertStreamToString(is);
+				ctx.put(resultKey, convertedString);
+			}
+		}
+
+		return PosBizControlConstants.SUCCESS;
+	}
+
+
+	public String convertStreamToString(InputStream is)
+	{
+		BufferedReader reader = new BufferedReader(new InputStreamReader(is));
+		StringBuffer sb = new StringBuffer();
+
+		String line = null;
+		try
+		{
+			while ((line = reader.readLine()) != null)
+			{
+				sb.append(line + "\n");
+			}
+		}
+		catch (IOException e)
+		{
+			throw new PosException(
+					"Cannot convert stream to string: " + e.getMessage());
+		}
+		finally
+		{
+			try
+			{
+				is.close();
+			}
+			catch (IOException e){}
+		}
+		return sb.toString();
+	}
+
+}

+ 453 - 0
.svn/pristine/03/03f68b281f18b868e66f10b995fd2c2d8ff210be.svn-base

@@ -0,0 +1,453 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="../../css/body.css" type="text/css" ?>
+<xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
+	<xhtml:head>
+		<xhtml:title>
+			<![CDATA[热轧作业>>热轧作业实绩>>平整分卷实绩登录与查询(UIH020080)]]>
+		</xhtml:title>
+		<model id="model1">
+			<instance id="instance1">
+				<root xmlns="">
+					<resData/>
+					<reqData/>
+					<datagrid1/>
+					<datagrid3/>
+					<datagrid2>
+						<LogonCoilNo_VO>
+							<LogonCoilNo_Row>
+								<OLD_SAMPL_NO/>
+								<COIL_NO/>
+								<CUT_NO/>
+								<COIL_THK/>
+								<COIL_WTH/>
+								<COIL_OUTDIA/>
+								<ACT_WGT/>
+								<SAMPL_PICK_YN/>
+								<CRK_CD1/>
+								<CRK_CD2/>
+								<CRK_CD3/>
+								<CRK_CD4/>
+								<ORD_FL/>
+								<CUR_LOAD_LOC/>
+							</LogonCoilNo_Row>
+						</LogonCoilNo_VO>
+					</datagrid2>
+					<COIL_NO/>
+					<datagrid4>
+						<Row>
+							<SPM_SHIFT/>
+							<SPM_GROUP/>
+							<SPM_EMP_ID/>
+						</Row>
+					</datagrid4>
+					<searchData>
+						<COIL_NO/>
+						<SPM_YN/>
+					</searchData>
+					<dblclickData>
+						<CRK_CD/>
+					</dblclickData>
+				</root>
+			</instance>
+		</model>
+		<script type="javascript">
+			<![CDATA[
+				function find(){
+					//清空发送接点
+					model.removenode("/root/reqData");
+					model.makeNode("/root/reqData");
+					//清空表单datagrid2
+					model.removenode("/root/datagrid2");
+					model.makeNode("/root/datagrid2");
+					//清空datagrid1
+					model.removenode("/root/datagrid1");
+					model.makeNode("/root/datagrid1");
+					
+					//获取输入的钢卷号信息,这里的钢卷号指的是批次号 OLD_SAMPL_NO
+					var COIL_NO = model.getValue("/root/searchData/COIL_NO");
+					
+					//判断钢卷号是否为空,如果不为空的话说明不是分卷钢卷带入钢卷好进行查询。
+					//如果为空的话,说明是分卷钢卷,SPM_YN标志为1
+					if(COIL_NO == ""){
+						//设置标志位为1
+						model.setValue("/root/searchData/SPM_YN","1");
+					}else{
+						model.setValue("/root/searchData/SPM_YN","");
+					}
+					
+					//把需要的参数放入reqData中
+					commSendReq("/root/searchData");
+					commSubmit("UIH020080-service","find","glueAction.do");
+					
+					commAppendData("/root/datagrid1/WaitCoilNo_VO","/root/resData/WaitCoilNo_VO");
+					commAppendData("/root/datagrid3/EndCoilNo_VO","/root/resData/EndCoilNo_VO");
+					
+					model.refresh();
+				}
+				
+				//保存方法
+				function save(){
+					//清空发送接点
+					model.removenode("/root/reqData");
+					model.makeNode("/root/reqData");
+					
+					//发送之前判断分卷作业实绩登录的信息是否被分割,也就是第二行是否存在值
+					var nodeSet2 = datagrid2.nodeset;
+					var COIL_NO2 = model.getValue(nodeSet2+"[2]/COIL_NO");
+					var OLD_SAMPL_NO2 = model.getValue(nodeSet2+"[2]/OLD_SAMPL_NO");
+					//这里还需要判断存放位置是否为空,如果为空的话也不能让他保存通过
+					var CUR_LOAD_LOC1 = model.getValue(nodeSet2+"[1]/CUR_LOAD_LOC");
+					var CUR_LOAD_LOC2 = model.getValue(nodeSet2+"[2]/CUR_LOAD_LOC");
+					
+					if(COIL_NO2 == ""){
+						alert( "分卷作业实绩登录中的钢卷号没有被分割,请确认后再点击保存按钮!" );
+						return;
+					}else if(OLD_SAMPL_NO2 == ""){
+						alert( "分卷作业实绩登录中的批次号没有被分割,请确认后再点击保存按钮!" );
+						return;
+					}else if(CUR_LOAD_LOC1 == ""){
+						alert( "分卷作业实绩登录中的子钢卷1没有存放地址,请输入相应的存放地址! " );
+						return;
+					}else if(CUR_LOAD_LOC2 == ""){
+						alert( "分卷作业实绩登录中的子钢卷2没有存放地址,请输入相应的存放地址! " );
+						return;
+					}
+					
+					//作业班组,班次,作业人信息不能为空。所以提示
+					var shift = model.getValue("/root/datagrid4/Row/SPM_SHIFT");
+					var group = model.getValue("/root/datagrid4/Row/SPM_GROUP");
+					var id = model.getValue("/root/datagrid4/Row/SPM_EMP_ID");
+					
+					if(shift == ""){
+						alert(" 班次信息不能为空,请选择相关的班次信息! ");
+						return;
+					}else if(group == ""){
+						alert(" 班组信息不能为空,请选择相关的班组信息! ");
+						return;
+					}else if(id == ""){
+						alert(" 作业者信息不能为空,请选择相关的作业者信息! ");
+						return;
+					}
+					
+					
+					//这里把分卷作业实绩登录的第二行信息和datagrid4的信息分别发送到后台
+					commMultiUpdate(datagrid2,"/root/reqData","A",true,"rowStuts2");
+					commMultiUpdate(datagrid4,"/root/reqData","A",true,"rowStuts4");
+					//model.refresh();
+										
+					commSubmit("UIH020080-service","save","glueAction.do");
+					
+					find();
+					
+					//清空班次,组作业人
+					model.setValue("/root/datagrid4/Row/SPM_SHIFT","");
+					model.setValue("/root/datagrid4/Row/SPM_GROUP","");
+					model.setValue("/root/datagrid4/Row/SPM_EMP_ID","");
+					
+					model.refresh();
+					
+				}
+			]]>
+		</script>
+		<script type="javascript" src="../../js/boaMsg.js"/>
+		<script type="javascript" src="../../js/boaCommon.js"/>
+	</xhtml:head>
+	<xhtml:body>
+		<caption id="caption1" class="cell" style="left:0px; top:275px; width:80px; height:20px; font-weight:bold; text-align:center; background-color:#ffff99; border-color:#000000; border-style:solid; "/>
+		<caption id="caption12" class="cell" style="left:0px; top:5px; width:90px; height:20px; font-weight:bold; text-align:center; border-color:#000000; border-style:solid; ">钢卷号</caption>
+		<input id="input6" ref="/root/searchData/COIL_NO" maxlength="13" style="left:92px; top:5px; width:110px; height:20px; background-color:#ffff99; "/>
+		<caption id="caption9" class="cell" style="left:0px; top:35px; width:115px; height:20px; font-weight:bold; text-align:center; border-color:#000000; border-style:solid; ">分卷作业对象登录</caption>
+		<datagrid id="datagrid1" nodeset="/root/datagrid1/WaitCoilNo_VO/WaitCoilNo_Row" caption="选择^钢卷号^生产流水号^合同号^产品代码^实重量^钢卷外径^交货期^钢号^标准号^余材区分^订单用途^外观判定等级^瑕疵代码1^瑕疵代码2^瑕疵代码3^瑕疵代码4^综合判定等级|选择^钢卷号^生产流水号^合同号^产品代码^实重量^钢卷外径^交货期^钢号^标准号^余材区分^订单用途^外观判定等级^瑕疵代码1^瑕疵代码2^瑕疵代码3^瑕疵代码4^综合判定等级" colsep="^" colwidth="30, 90, 90, 79, 40, 50, 40, 70, 79, 62, 35, 58, 47, 40, 40, 40, 40, 47" defaultrows="10" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:55px; width:980px; height:210px; ">
+			<col checkvalue="Y,N" ref="CHK" type="radio"/>
+			<col editable="false" ref="OLD_SAMPL_NO" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="COIL_NO" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="ORD_NO" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="PRODNM_CD" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="ACT_WGT" type="input" format="#,###" style="text-align:right; background-color:#ffffff; "/>
+			<col editable="false" ref="COIL_OUTDIA" type="input" style="text-align:right; background-color:#ffffff; "/>
+			<col editable="false" ref="DEVLMT_DTIME" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="STL_GRD" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="SPEC_ABBSYM" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="ORD_FL" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="ORD_USE_CD" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="EXTSHAPE_DEC_GRD" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="CRK_CD1" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="CRK_CD2" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="CRK_CD3" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="CRK_CD4" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="TOT_DEC_GRD" type="input" style="background-color:#ffffff; "/>
+			<script type="javascript" ev:event="xforms-value-changed">
+				<![CDATA[
+					//清空发送接点
+					model.removenode("/root/reqData");
+					model.makeNode("/root/reqData");
+					
+					//这里必须要刷新一次,好清空发送接点,否则的话查找后第一次点击没有效果
+					//这里是这个方法自身的问题,它会记住你上次选的那一行。如果你再选的话就不会有反映
+					//model.refresh();
+					
+					//接点路径
+					var nodeSet1 = datagrid1.nodeset;
+					//钢卷号,这里指批次号
+					var COIL_NO;
+					
+					//取出选中的哪一行
+					for(var i=1;i<datagrid1.rows;i++){
+						var CHK = model.getValue(nodeSet1+"["+i+"]/CHK");
+						if(CHK == "Y"){
+							//获得选中哪一行的值,把批次号带下来以便于进行查询
+							COIL_NO = model.getValue(nodeSet1+"["+i+"]/OLD_SAMPL_NO");
+							model.setValue("/root/COIL_NO",COIL_NO);
+							model.refresh();
+						}
+					}
+					
+					//commSendReq("/root/COIL_NO");
+					model.duplicate("/root/reqData","/root/COIL_NO");
+					
+					commSubmit("UIH020080-service","select","glueAction.do");
+					
+					commAppendData("/root/datagrid2/LogonCoilNo_VO","/root/resData/LogonCoilNo_VO");
+					
+					model.refresh();
+				]]>
+			</script>
+		</datagrid>
+		<button id="button1" style="left:0px; top:275px; width:80px; height:20px; ">
+			<caption>钢卷分割</caption>
+			<script type="javascript" ev:event="DOMActivate">
+				<![CDATA[
+					//把一条记录分成两条,并且把分割号默认为1,2
+					//这里要先增加一行
+					var rows = datagrid2.rows;
+
+					if(rows <=3){
+						datagrid2.addRow();
+						var nodeSet2 = datagrid2.nodeset;
+						//批次号,这里用批次号来替换钢卷号做分卷
+						var OLD_SAMPL_NO = model.getValue(nodeSet2+"[1]/OLD_SAMPL_NO");
+						var COIL_NO = model.getValue(nodeSet2+"[1]/COIL_NO");
+						var CUT_NO = model.getValue(nodeSet2+"[1]/CUT_NO");
+						var COIL_THK = model.getValue(nodeSet2+"[1]/COIL_THK");
+						var COIL_WTH = model.getValue(nodeSet2+"[1]/COIL_WTH");
+						var COIL_OUTDIA = model.getValue(nodeSet2+"[1]/COIL_OUTDIA");
+						var ACT_WGT = model.getValue(nodeSet2+"[1]/ACT_WGT");
+						var SAMPL_PICK_YN = model.getValue(nodeSet2+"[1]/SAMPL_PICK_YN");
+						var CRK_CD1 = model.getValue(nodeSet2+"[1]/CRK_CD1");
+						var CRK_CD2 = model.getValue(nodeSet2+"[1]/CRK_CD2");
+						var CRK_CD3 = model.getValue(nodeSet2+"[1]/CRK_CD3");
+						var CRK_CD4 = model.getValue(nodeSet2+"[1]/CRK_CD4");
+						var ORD_FL = model.getValue(nodeSet2+"[1]/ORD_FL");
+						
+						//把相应的值放入行2中,其中有些值必须平分为2
+						
+						model.setValue("/root/datagrid2/LogonCoilNo_VO/LogonCoilNo_Row[2]/OLD_SAMPL_NO",OLD_SAMPL_NO);
+						model.setValue("/root/datagrid2/LogonCoilNo_VO/LogonCoilNo_Row[2]/COIL_NO",COIL_NO);
+						model.setValue("/root/datagrid2/LogonCoilNo_VO/LogonCoilNo_Row[1]/CUT_NO","1");
+						model.setValue("/root/datagrid2/LogonCoilNo_VO/LogonCoilNo_Row[2]/CUT_NO","2");
+						model.setValue("/root/datagrid2/LogonCoilNo_VO/LogonCoilNo_Row[2]/COIL_THK",COIL_THK);
+						model.setValue("/root/datagrid2/LogonCoilNo_VO/LogonCoilNo_Row[2]/COIL_WTH",COIL_WTH);
+						model.setValue("/root/datagrid2/LogonCoilNo_VO/LogonCoilNo_Row[1]/COIL_OUTDIA",Number(COIL_OUTDIA)/2);
+						model.setValue("/root/datagrid2/LogonCoilNo_VO/LogonCoilNo_Row[2]/COIL_OUTDIA",Number(COIL_OUTDIA)/2);
+						model.setValue("/root/datagrid2/LogonCoilNo_VO/LogonCoilNo_Row[1]/ACT_WGT",Number(ACT_WGT)/2);
+						model.setValue("/root/datagrid2/LogonCoilNo_VO/LogonCoilNo_Row[2]/ACT_WGT",Number(ACT_WGT)/2);
+						model.setValue("/root/datagrid2/LogonCoilNo_VO/LogonCoilNo_Row[2]/SAMPL_PICK_YN",SAMPL_PICK_YN);
+						model.setValue("/root/datagrid2/LogonCoilNo_VO/LogonCoilNo_Row[2]/CRK_CD1",CRK_CD1);
+						model.setValue("/root/datagrid2/LogonCoilNo_VO/LogonCoilNo_Row[2]/CRK_CD2",CRK_CD2);
+						model.setValue("/root/datagrid2/LogonCoilNo_VO/LogonCoilNo_Row[2]/CRK_CD3",CRK_CD3);
+						model.setValue("/root/datagrid2/LogonCoilNo_VO/LogonCoilNo_Row[2]/CRK_CD4",CRK_CD4);
+						model.setValue("/root/datagrid2/LogonCoilNo_VO/LogonCoilNo_Row[2]/ORD_FL",ORD_FL);
+						
+						model.refresh();
+						
+					}else{
+						alert(" 已经完成分卷操作,如须继续分卷请保存后选择相应的卷号! ");
+					}
+				]]>
+			</script>
+		</button>
+		<datagrid id="datagrid2" nodeset="/root/datagrid2/LogonCoilNo_VO/LogonCoilNo_Row" caption="钢卷号^生产流水号^分割号^钢卷厚度^钢卷宽度^钢卷外径^实重量^取样採取有无^瑕疵代码1^瑕疵代码2^瑕疵代码3^瑕疵代码4^余材区分^现在堆放位置|钢卷号^生产流水号^分割号^钢卷厚度^钢卷宽度^钢卷外径^实重量^取样採取有无^瑕疵代码1^瑕疵代码2^瑕疵代码3^瑕疵代码4^余材区分^现在堆放位置" colsep="^" colwidth="90, 90, 45, 71, 71, 71, 80, 50, 70, 70, 70, 70, 40, 90" defaultrows="4" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:315px; width:980px; height:85px; ">
+			<col editable="false" ref="OLD_SAMPL_NO" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="COIL_NO" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="CUT_NO" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="COIL_THK" type="input" style="text-align:right; background-color:#ffffff; "/>
+			<col editable="false" ref="COIL_WTH" type="input" style="text-align:right; background-color:#ffffff; "/>
+			<col editable="false" ref="COIL_OUTDIA" type="input" style="text-align:right; background-color:#ffffff; "/>
+			<col editable="false" ref="ACT_WGT" type="input" format="#,###" style="text-align:right; background-color:#ffffff; "/>
+			<col ref="SAMPL_PICK_YN" type="combo" style="background-color:#ffff99; ">
+				<choices>
+					<item>
+						<label/>
+						<value/>
+					</item>
+					<item>
+						<label>Y</label>
+						<value>Y</value>
+					</item>
+					<item>
+						<label>N</label>
+						<value>N</value>
+					</item>
+				</choices>
+			</col>
+			<col ref="CRK_CD1" type="input" style="background-color:#ffff99; "/>
+			<col ref="CRK_CD2" type="input" style="background-color:#ffff99; "/>
+			<col ref="CRK_CD3" type="input" style="background-color:#ffff99; "/>
+			<col ref="CRK_CD4" type="input" style="background-color:#ffff99; "/>
+			<col ref="ORD_FL"/>
+			<col ref="CUR_LOAD_LOC" type="input" maxlength="10" style="background-color:#ffff99; "/>
+			<script type="javascript" ev:event="ondblclick">
+				<![CDATA[
+				if(datagrid2.isCell(event.target)&&datagrid2.row >= datagrid2.fixedRows){
+					//首先每次双击之前先清空瑕疵代码接点
+					model.setValue("/root/dblclickData/CRK_CD","");
+					model.refresh();
+					
+					//判断点击的位置是否是瑕疵代码的位置,并且判断是哪个瑕疵代码
+					var rw=0;
+					var nodeSet2 = datagrid2.nodeset;
+					for(var i=0;i<datagrid2.selectedRows;i++){
+						rw = datagrid2.selectedRow(i);
+						
+					}
+					//总列数
+					//var cols = datagrid2.cols;
+					//鼠标选中的列
+					var mouseCol = datagrid2.mouseCol;
+					
+					//这里希望判断选中的行是不是瑕疵代码,如果不是的话不让它弹出对话框
+					/*第一行的情况*/
+					if(rw == 2 && mouseCol == 8){
+						//这里所定位的是第一行瑕疵代码1
+						window.load("./UIH02_SELECT_CRK_CD.xrw", "modal", "modalWin", "left:400; top:100; width:400px; height:400px");
+						//瑕疵代码
+						var CRK_CD = model.getValue("/root/dblclickData/CRK_CD");
+						model.setValue(nodeSet2+"[1]/CRK_CD1",CRK_CD);
+						model.refresh();
+						
+					}else if(rw == 2 && mouseCol == 9){
+						//这里所定位的是第一行瑕疵代码2
+						window.load("./UIH02_SELECT_CRK_CD.xrw", "modal", "modalWin", "left:400; top:100; width:400px; height:400px");
+						//瑕疵代码
+						var CRK_CD = model.getValue("/root/dblclickData/CRK_CD");
+						model.setValue(nodeSet2+"[1]/CRK_CD2",CRK_CD);
+						model.refresh();
+						
+					}else if(rw == 2 && mouseCol == 10){
+						//这里所定位的是第一行瑕疵代码3
+						window.load("./UIH02_SELECT_CRK_CD.xrw", "modal", "modalWin", "left:400; top:100; width:400px; height:400px");
+						//瑕疵代码
+						var CRK_CD = model.getValue("/root/dblclickData/CRK_CD");
+						model.setValue(nodeSet2+"[1]/CRK_CD3",CRK_CD);
+						model.refresh();
+						
+					}else if(rw == 2 && mouseCol == 11){
+						//这里所定位的是第一行瑕疵代码4
+						window.load("./UIH02_SELECT_CRK_CD.xrw", "modal", "modalWin", "left:400; top:100; width:400px; height:400px");
+						//瑕疵代码
+						var CRK_CD = model.getValue("/root/dblclickData/CRK_CD");
+						model.setValue(nodeSet2+"[1]/CRK_CD4",CRK_CD);
+						model.refresh();
+						
+					}else if(rw == 3 && mouseCol == 8){
+						/*这里是第二行的情况*/
+						//这里所定位的是第二行瑕疵代码1
+						window.load("./UIH02_SELECT_CRK_CD.xrw", "modal", "modalWin", "left:400; top:100; width:400px; height:400px");
+						//瑕疵代码
+						var CRK_CD = model.getValue("/root/dblclickData/CRK_CD");
+						model.setValue(nodeSet2+"[2]/CRK_CD1",CRK_CD);
+						model.refresh();
+					}else if(rw == 3 && mouseCol == 9){
+						//这里所定位的是第二行瑕疵代码2
+						window.load("./UIH02_SELECT_CRK_CD.xrw", "modal", "modalWin", "left:400; top:100; width:400px; height:400px");
+						//瑕疵代码
+						var CRK_CD = model.getValue("/root/dblclickData/CRK_CD");
+						model.setValue(nodeSet2+"[2]/CRK_CD2",CRK_CD);
+						model.refresh();
+					}else if(rw == 3 && mouseCol == 10){
+						//这里所定位的是第二行瑕疵代码3
+						window.load("./UIH02_SELECT_CRK_CD.xrw", "modal", "modalWin", "left:400; top:100; width:400px; height:400px");
+						//瑕疵代码
+						var CRK_CD = model.getValue("/root/dblclickData/CRK_CD");
+						model.setValue(nodeSet2+"[2]/CRK_CD3",CRK_CD);
+						model.refresh();
+					}else if(rw == 3 && mouseCol == 11){
+						//这里所定位的是第二行瑕疵代码4
+						window.load("./UIH02_SELECT_CRK_CD.xrw", "modal", "modalWin", "left:400; top:100; width:400px; height:400px");
+						//瑕疵代码
+						var CRK_CD = model.getValue("/root/dblclickData/CRK_CD");
+						model.setValue(nodeSet2+"[2]/CRK_CD4",CRK_CD);
+						model.refresh();
+					}else if(rw == 3 && mouseCol == 13){
+						//现在堆放位置不做处理,可以直接输入
+					}else if(rw == 2 && mouseCol == 13){
+						//现在堆放位置不做处理,可以直接输入
+					}else{
+						alert( "选中的列不是瑕疵代码的,请选择瑕疵代码的列!" );
+					}
+					model.refresh();
+				}
+				]]>
+			</script>
+		</datagrid>
+		<caption id="caption2" class="cell" style="left:0px; top:295px; width:115px; height:20px; font-weight:bold; text-align:center; border-color:#000000; border-style:solid; ">分卷作业实绩登录</caption>
+		<caption id="caption3" class="cell" style="left:0px; top:410px; width:110px; height:20px; font-weight:bold; text-align:center; border-color:#000000; border-style:solid; ">分卷作业实绩查询</caption>
+		<datagrid id="datagrid3" nodeset="/root/datagrid3/EndCoilNo_VO/EndCoilNo_Row" caption="钢卷号^生产流水号^合同号^产品代码^实重量^钢卷外径^交货期^钢号^标准号^余材区分^订单用途^外观判定等级^瑕疵代码1^瑕疵代码2^瑕疵代码3^瑕疵代码4^取样採取有无|钢卷号^生产流水号^合同号^产品代码^实重量^钢卷外径^交货期^钢号^标准号^余材区分^订单用途^外观判定等级^瑕疵代码1^瑕疵代码2^瑕疵代码3^瑕疵代码4^取样採取有无" colsep="^" colwidth="90, 90, 90, 35, 42, 35, 85, 80, 75, 37, 65, 45, 39, 40, 40, 40, 50" defaultrows="10" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:429px; width:980px; height:166px; ">
+			<col editable="false" ref="OLD_SAMPL_NO" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="COIL_NO" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="ORD_NO" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="PRODNM_CD" type="input" style="left:193px; top:41px; width:74px; height:21px; background-color:#ffffff; "/>
+			<col editable="false" ref="ACT_WGT" type="input" format="#,###" style="text-align:right; background-color:#ffffff; "/>
+			<col editable="false" ref="COIL_OUTDIA" type="input" style="text-align:right; background-color:#ffffff; "/>
+			<col editable="false" ref="DEVLMT_DTIME" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="STL_GRD" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="SPEC_ABBSYM" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="ORD_FL" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="ORD_USE_CD" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="EXTSHAPE_DEC_GRD" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="SPM_CRK_CD1" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="SPM_CRK_CD2" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="SPM_CRK_CD3" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="SPM_CRK_CD4" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="SAMPL_PICK_YN" type="input" style="background-color:#ffffff; "/>
+		</datagrid>
+		<datagrid id="datagrid4" nodeset="/root/datagrid4/Row" allowuserresize="false" caption="班次^班组^作业者" colsep="^" colwidth="100, 99, 100" defaultrows="2" mergecellsfixedrows="bycolrec" rowsep="|" selectionmode="free" style="left:680px; top:270px; width:301px; height:44px; ">
+			<col ref="SPM_SHIFT" type="combo" style="background-color:#ffff99; ">
+				<choices>
+					<item>
+						<label>1</label>
+						<value>1</value>
+					</item>
+					<item>
+						<label>2</label>
+						<value>2</value>
+					</item>
+					<item>
+						<label>3</label>
+						<value>3</value>
+					</item>
+				</choices>
+			</col>
+			<col ref="SPM_GROUP" type="combo" style="background-color:#ffff99; ">
+				<choices>
+					<item>
+						<label>A</label>
+						<value>A</value>
+					</item>
+					<item>
+						<label>B</label>
+						<value>B</value>
+					</item>
+					<item>
+						<label>C</label>
+						<value>C</value>
+					</item>
+				</choices>
+			</col>
+			<col ref="SPM_EMP_ID" type="input" style="background-color:#ffff99; "/>
+		</datagrid>
+		<line id="line3" style="x1:0px; y1:405px; x2:980px; y2:405px; "/>
+		<line id="line1" style="x1:0px; y1:270px; x2:980px; y2:270px; "/>
+		<line id="line2" style="x1:0px; y1:30px; x2:980px; y2:30px; "/>
+	</xhtml:body>
+</xhtml:html>

BIN
.svn/pristine/03/03fa544ab65a04f099c8178ea69674e1b22b21a6.svn-base


+ 130 - 0
.svn/pristine/04/04026bc5c41ba2e3dcbbee9c88a0f3007b3663cc.svn-base

@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="../../css/body.css" type="text/css" ?>
+<xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
+	<xhtml:head>
+		<xhtml:title>
+			<![CDATA[公用管理 >> 代码管理 >> Glue 日志查看]]>
+		</xhtml:title>
+		<model id="model1" autocdata="false">
+			<instance id="instance1">
+				<root xmlns="">
+					<formData>
+						<searchInfo>
+							<DATE/>
+							<JVM>jvm1</JVM>
+							<LOG/>
+						</searchInfo>
+						<extInfo>
+							<NEXT/>
+							<PAGE/>
+						</extInfo>
+					</formData>
+					<gridData>
+					</gridData>
+				</root>
+			</instance>
+			<script type="javascript" ev:event="xforms-ready">
+				<![CDATA[
+					if (window.parent == null) Init();
+				]]>
+			</script>
+		</model>
+		<script type="javascript" src="../../js/boaCommon.js"/>
+		<script type="javascript" src="../../js/boaMsg.js"/>
+		<script type="javascript" src="../../js/mesCommon.js">
+			<![CDATA[
+				var submitID = "UIZ010050-service";
+				var isValid = true;
+				function Init(node) {
+//					InitParams(node);
+//					isValid = model.getValue("/root/initData/rcvInfo/ROOT_AMN_YN") == "Y";
+				}
+
+				function find() {
+					if (isValid == false) return;
+					exec("/root/formData/searchInfo", "", "find", "/root/gridData/ListResult_0_VO");
+					model.removenode("/root/reqData");	
+					model.removenode("/root/resData");	
+					model.refresh();
+					group3.visible = Number(model.getXPathValue("count(/root/gridData/ListResult_0_VO)")) > 0;
+				}
+
+				function find2() {
+					if (isValid == false) return;
+					exec("/root/formData", "", "find", "/root/gridData/ListResult_0_VO");
+					model.removenode("/root/reqData");	
+					model.removenode("/root/resData");	
+					model.refresh();
+				}
+			]]>
+		</script>
+	</xhtml:head>
+	<xhtml:body overflow="hidden" pagewidth="980" pageheight="620" style="font-family:宋体; ">
+		<group id="group1" overflow="hidden" ref="/root/formData/searchInfo" style="left:0px; top:0px; width:980px; height:30px; ">
+			<line id="line2" style="x1:0px; y1:29px; x2:980px; y2:29px; "/>
+			<caption id="caption3" class="cell" style="left:0px; top:5px; width:90px; height:20px; vertical-align:middle; ">日期时间</caption>
+			<input id="input1" ref="DATE" format="yyyy-mm-dd hh:nn:ss" mask="include" style="left:92px; top:5px; width:125px; height:20px; "/>
+			<caption id="caption1" class="cell" style="left:227px; top:5px; width:90px; height:20px; vertical-align:middle; ">虚拟机</caption>
+			<select1 id="combo1" ref="JVM" appearance="minimal" style="left:319px; top:5px; width:125px; height:20px; ">
+				<choices>
+					<item>
+						<label>TOMCAT 1</label>
+						<value>jvm1</value>
+					</item>
+					<item>
+						<label>TOMCAT 2</label>
+						<value>jvm2</value>
+					</item>
+					<item>
+						<label>TOMCAT 3</label>
+						<value>jvm3</value>
+					</item>
+				</choices>
+			</select1>
+			<caption id="caption6" class="cell" style="left:454px; top:5px; width:90px; height:20px; vertical-align:middle; ">日志文件号</caption>
+			<input id="input2" ref="DATE" format="#,###" mask="include" style="left:546px; top:5px; width:125px; height:20px; text-align:right; "/>
+			<group id="group3" visibility="hidden" overflow="hidden" ref="/root/formData/searchInfo" style="left:700px; top:0px; width:280px; height:25px; ">
+				<caption id="caption12" style="left:155px; top:5px; width:15px; height:20px; ">第</caption>
+				<caption id="caption13" style="left:245px; top:5px; width:15px; height:20px; ">条</caption>
+				<button id="button1" style="left:0px; top:5px; width:85px; height:20px; background-image:../../images/cal_pre_m.gif; ">
+					<caption>上一条</caption>
+					<script type="javascript" ev:event="onclick">
+						<![CDATA[
+						model.setValue("/root/formData/extInfo/NEXT", "-1");
+						find2();
+					]]>
+					</script>
+				</button>
+				<button id="button2" style="left:80px; top:5px; width:85px; height:20px; background-image:../../images/cal_next_m.gif; ">
+					<caption>下一条</caption>
+					<script type="javascript" ev:event="onclick">
+						<![CDATA[
+						model.setValue("/root/formData/extInfo/NEXT", "1");
+						find2();
+					]]>
+					</script>
+				</button>
+				<input id="input6" ref="/root/formData/extInfo/PAGE" format="#,###" mask="include" style="left:175px; top:5px; width:65px; height:20px; text-align:right; "/>
+				<button id="button3" style="left:260px; top:5px; width:20px; height:20px; background-image:../../images/cal_next_Y.gif; ">
+					<caption/>
+					<script type="javascript" ev:event="onclick">
+						<![CDATA[
+						if (model.getValue("/root/formData/extInfo/PAGE") != "") {
+							model.setValue("/root/formData/extInfo/NEXT", "0");
+							find2();
+						}
+					]]>
+					</script>
+				</button>
+			</group>
+		</group>
+		<group id="group2" overflow="hidden" ref="/root/gridData/ListResult_0_VO/ListResult_0_Row" style="left:0px; top:35px; width:980px; height:585px; ">
+			<caption id="caption2" class="cell" style="left:0px; top:0px; width:90px; height:20px; vertical-align:middle; ">语句体</caption>
+			<textarea id="textarea1" ref="sqlQuery" scroll="auto" editable="false" style="left:0px; top:25px; width:690px; height:560px; vertical-align:top; word-wrap:hard; "/>
+			<caption id="caption5" class="cell" style="left:100px; top:0px; width:90px; height:20px; vertical-align:middle; ">运行时间</caption>
+			<output id="output1" ref="dateTime" style="left:192px; top:0px; width:498px; height:20px; border-color:#c0c0c0; border-style:solid; "/>
+			<caption id="caption4" class="cell" style="left:700px; top:0px; width:90px; height:20px; vertical-align:middle; ">语句参数</caption>
+			<textarea id="textarea2" ref="params" scroll="auto" editable="false" style="left:700px; top:25px; width:280px; height:560px; vertical-align:top; "/>
+		</group>
+	</xhtml:body>
+</xhtml:html>

+ 104 - 0
.svn/pristine/04/040897f00af23b87ffd9333ca210d2403d12afef.svn-base

@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Glue:GlueDiagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Glue="http://www.glueframework.com/activitydiagram/" id="7" location="20,20" size="100,100">
+  <child xsi:type="Glue:InitialState" id="715" location="274,11" size="-1,-1" output="//@wire.0"/>
+  <child xsi:type="Glue:Activity" id="716" location="219,60" size="141,-1" input="//@wire.0" output="//@wire.1" name="SetResultKeyList">
+    <property key="class" value="com.posdata.glue.biz.trustform.PosSetResultKeyList"/>
+    <property key="ResultKeyList" value="LadelNoResult|REPResult|STATResult|LadelStatResult|ASDFASDF"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:RouterActivity" id="718" location="90,111" size="471,-1" input="//@wire.1" output="//@wire.2 //@wire.5 //@wire.6 //@wire.15" name="LADLENORouter">
+    <property key="class" value="com.posdata.glue.biz.activity.PosDefaultRouter"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:SearchActivity" id="719" location="238,366" size="167,-1" input="//@wire.6 //@wire.9" output="//@wire.8 //@wire.10" name="SearchLadleStatNo">
+    <property key="sqlkey" value="UIG010040_02_select"/>
+    <property key="resultkey" value="LadelStatResult"/>
+    <property key="dao" value="mesdao"/>
+    <property key="param0" value="ld_no"/>
+    <property key="class" value="com.posdata.glue.biz.activity.PosSearch"/>
+    <property key="param-count" value="1"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:Activity" id="720" location="289,314" size="95,-1" input="//@wire.5" output="//@wire.7 //@wire.9" name="SaveLadleStat">
+    <property key="class" value="xin.glue.ui.G.G01.PosSaveLadleNo"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:Activity" id="722" location="476,361" size="102,-1" input="//@wire.7 //@wire.8 //@wire.13" output="//@wire.11" name="ERROR">
+    <property key="class" value="xin.glue.ui.G.G01.ERROR"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:FinalState" id="723" location="288,454" size="-1,-1" input="//@wire.10 //@wire.11 //@wire.12 //@wire.16"/>
+  <child xsi:type="Glue:SearchActivity" id="733" location="112,175" size="86,-1" input="//@wire.2" output="//@wire.3" name="searchLadleNo">
+    <property key="resultkey" value="LadelNoResult"/>
+    <property key="dao" value="mesdao"/>
+    <property key="class" value="com.posdata.glue.biz.activity.PosSearch"/>
+    <property key="sqlkey" value="UIG010040_01_select"/>
+    <property key="param-count" value="1"/>
+    <property key="param0" value="ld_type"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:SearchActivity" id="748" location="107,232" size="91,-1" input="//@wire.3" output="//@wire.4" name="searchREP">
+    <property key="resultkey" value="REPResult"/>
+    <property key="class" value="com.posdata.glue.biz.activity.PosSearch"/>
+    <property key="dao" value="mesdao"/>
+    <property key="sqlkey" value="UIG010040_03_select"/>
+    <property key="param-count" value="0"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:SearchActivity" id="749" location="107,280" size="90,-1" input="//@wire.4" output="//@wire.14" name="searchStat">
+    <property key="resultkey" value="STATResult"/>
+    <property key="class" value="com.posdata.glue.biz.activity.PosSearch"/>
+    <property key="dao" value="mesdao"/>
+    <property key="sqlkey" value="UIG010040_04_select"/>
+    <property key="param-count" value="0"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:SearchActivity" id="1360" location="98,413" size="124,-1" input="//@wire.14" output="//@wire.12 //@wire.13" name="SearchLadleStatType">
+    <property key="sqlkey" value="UIG010040_05_select"/>
+    <property key="resultkey" value="LadelStatResult"/>
+    <property key="dao" value="mesdao"/>
+    <property key="param0" value="ld_type"/>
+    <property key="class" value="com.posdata.glue.biz.activity.PosSearch"/>
+    <property key="param-count" value="1"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:SearchActivity" id="1388" location="39,336" size="90,-1" input="//@wire.15" output="//@wire.16" name="Search1388">
+    <property key="class" value="com.posdata.glue.biz.activity.PosSearch"/>
+    <property key="resultkey" value="ASDFASDF"/>
+    <property key="dao" value="mesdao"/>
+    <property key="sqlkey" value="UIG010040_06.select"/>
+    <property key="param-count" value="0"/>
+    <property key="description" value=""/>
+  </child>
+  <property key="tx1" value="true"/>
+  <property key="description" value=""/>
+  <wire id="382" guardcondition="success" firstRelativePoint="284,30" lastRelativePoint="284,60"/>
+  <wire id="383" guardcondition="success" firstRelativePoint="284,90" lastRelativePoint="284,111"/>
+  <wire id="384" guardcondition="selectedss" firstRelativePoint="158,373" lastRelativePoint="158,413"/>
+  <wire id="396" guardcondition="success" firstRelativePoint="154,205" lastRelativePoint="154,232"/>
+  <wire id="397" guardcondition="success" firstRelativePoint="152,262" lastRelativePoint="152,280"/>
+  <wire id="409" guardcondition="save" firstRelativePoint="406,141" lastRelativePoint="406,366"/>
+  <wire id="411" guardcondition="find" firstRelativePoint="253,141" lastRelativePoint="253,366">
+    <bendpoint weight="0.5" firstDimension="-72,116" secondDimension="-68,-139"/>
+  </wire>
+  <wire id="415" guardcondition="failure" firstRelativePoint="196,289" lastRelativePoint="520,362">
+    <bendpoint weight="0.5" firstDimension="209,-4" secondDimension="-6,-51"/>
+  </wire>
+  <wire id="416" guardcondition="failure" firstRelativePoint="347,326" lastRelativePoint="509,362"/>
+  <wire id="417" guardcondition="success" firstRelativePoint="337,344" lastRelativePoint="337,366">
+    <bendpoint weight="0.5" firstDimension="1,26" secondDimension="16,-26"/>
+  </wire>
+  <wire id="418" guardcondition="success" firstRelativePoint="298,396" lastRelativePoint="298,453"/>
+  <wire id="419" guardcondition="success" firstRelativePoint="525,392" lastRelativePoint="308,463">
+    <bendpoint weight="0.5" firstDimension="10,86" secondDimension="227,-1"/>
+  </wire>
+  <wire id="583" guardcondition="success" firstRelativePoint="171,443" lastRelativePoint="287,463">
+    <bendpoint weight="0.5" firstDimension="11,36" secondDimension="-127,0"/>
+  </wire>
+  <wire id="584" guardcondition="failure" firstRelativePoint="218,438" lastRelativePoint="504,391">
+    <bendpoint weight="0.5" firstDimension="344,10" secondDimension="-23,62"/>
+  </wire>
+  <wire id="595" guardcondition="success" firstRelativePoint="151,310" lastRelativePoint="151,413"/>
+  <wire id="596" guardcondition="select2" firstRelativePoint="114,366" lastRelativePoint="298,453"/>
+  <wire id="597" guardcondition="success" firstRelativePoint="114,366" lastRelativePoint="298,453"/>
+</Glue:GlueDiagram>

+ 435 - 0
.svn/pristine/04/043cbb5cd82bbe32d11f91a032d09c20d43e6a28.svn-base

@@ -0,0 +1,435 @@
+<?xml version="1.0" encoding='UTF-8'?>
+<queryMap desc="STEEL MAKING QUERY ">
+	<query id="UIH052400_01.select" desc="冷轧转运量查询-订单材">
+        <![CDATA[
+			SELECT 'N' CHK,H.CUR_PROG_CD, H.OLD_SAMPL_NO,H.STL_GRD,H.ORD_NO,H.ORD_SEQ,H.COIL_WTH,
+     		 H.COIL_THK,H.COIL_LEN,H.ACT_WGT,H.CUR_LOAD_LOC,H.CR_PLANT_TRS_SEQ,H.COIL_NO
+			,DECODE(H.CUR_PROG_CD,'SGB','移送待机','SFA','发货指示待机','SED','综合判定待机','SRC','充当待机') CUR_PROG_CD_NM
+			,H.CUR_PROG_CD
+			 ,SUBSTR(H.SLAB_NO,1,10) CHARGE_NO,H.INSTR_COIL_THK,H.INSTR_COIL_WTH
+			,H.COIL_INDIA,H.COIL_OUTDIA,decode(H.EXTSHAPE_DEC_GRD,'1','合格','2','订单外合格','3','次品','4','废品') EXTSHAPE_DEC_GRD
+			  FROM TBH02_COIL_COMM H,TBA01_ORD_LINE A WHERE 
+			  A.ORD_NO = H.ORD_NO
+			  AND A.ORD_SEQ = H.ORD_SEQ
+			  AND H.COIL_STAT = '2'
+			  AND H.EXTSHAPE_DEC_GRD = '1'
+			  AND H.SIZE_DEC_RST = '1'
+			  AND NVL (H.FB_YN, 'N') = 'N' --封闭卷无法移送 20200720
+			  AND nvl(A.RZHQX,'N')<>'Z'  --常化卷屏蔽  20220909
+			  AND ((A.PROD_LINE IN ('C','L')
+			  AND H.CUR_PROG_CD = 'SGB')
+			  OR (H.CUR_PROG_CD in ('SED') AND SUBSTR(H.ORD_NO,0,1) IN ('4','5')) 
+			  OR (SUBSTR(H.ORD_NO, 0, 2) IN ('W4', 'W5')) OR
+       			(SUBSTR(H.ORD_NO, 0, 6) IN ('XGEC-L')))
+			  AND H.ORD_NO||'&' like ? || '%'
+			  AND H.ORD_SEQ||'&' like ? || '%'
+			  AND H.OLD_SAMPL_NO||'&' LIKE ? || '%'
+		]]>
+    </query>
+	<query id="UIH052400_11.select" desc="冷轧转运量查询-余材">
+        <![CDATA[
+			SELECT 'N' CHK,H.CUR_PROG_CD, H.OLD_SAMPL_NO,H.STL_GRD,H.ORD_NO,H.ORD_SEQ,H.COIL_WTH,
+			H.COIL_THK,H.COIL_LEN,H.ACT_WGT,H.CUR_LOAD_LOC,H.CR_PLANT_TRS_SEQ,H.COIL_NO
+			,DECODE(H.CUR_PROG_CD,'SGB','移送待机','SFA','发货指示待机','SED','综合判定待机','SRC','充当待机') CUR_PROG_CD_NM
+			,SUBSTR(H.SLAB_NO,1,10) CHARGE_NO,H.INSTR_COIL_THK,H.INSTR_COIL_WTH
+			,H.COIL_INDIA,H.COIL_OUTDIA,decode(H.EXTSHAPE_DEC_GRD,'1','合格','2','订单外合格','3','次品','4','废品') EXTSHAPE_DEC_GRD
+			FROM TBH02_COIL_COMM H WHERE 
+			H.COIL_STAT = '2'
+			AND H.CUR_PROG_CD = 'SRC'
+			 AND NVL (H.FB_YN, 'N') = 'N' --封闭卷无法移送 20200720
+			AND H.OLD_SAMPL_NO||'&' LIKE ?||'%'
+		]]>
+    </query>
+	<query id="UIH052400_02.select" desc="查询冷轧原料库是否已经存在转运的钢卷信息">
+		<![CDATA[
+			SELECT COUNT(1) COUNT FROM C_TBK02_COIL_COMM WHERE COIL_NO = ?
+		]]>
+	</query>
+	<query id="UIH052400_03.select" desc="查询热轧卷订单信息">
+		<![CDATA[
+			SELECT ORD_NO FROM TBH02_COIL_COMM WHERE OLD_SAMPL_NO = ?
+		]]>
+	</query>
+	<query id="UIH052400_04.select" desc="冷轧移送实绩查询">
+		<![CDATA[
+			select 'N' CHK, h.old_sampl_no,h.SPEC_STL_GRD stl_grd,h.ord_no,h.ord_seq,
+			 h.coil_wth,h.coil_thk,h.coil_len,h.act_wgt,
+			 DECODE(h.cr_plant_trs_clf,'B','冷轧厂','C','其他转运') cr_plant_trs_clf,
+			 h.cr_plant_trs_no,H.CR_PLANT_TRS_SEQ cr_plant_trs_cd,h.cur_load_loc,
+			 TO_CHAR(TO_DATE(h.cr_plant_trs_dtime,'YYYYMMDD'),'YYYY-MM-DD') AS cr_plant_trs_dtime,
+			 k.YARD_ENTRY_REG receive_reg,
+			 TO_CHAR(TO_DATE(k.YARD_ENTRY_DTIME,'YYYYMMDDHH24MISS'),'YYYY-MM-DD HH24:MI:SS') AS receive_time,
+			 k.trnf_reg,TO_CHAR(TO_DATE(k.trnf_dtime,'YYYYMMDDHH24MISS'),'YYYY-MM-DD HH24:MI:SS') AS trnf_dtime
+			 from tbh02_coil_comm h,c_tbk02_coil_comm k where h.old_sampl_no = k.coil_no(+)
+			 and h.coil_stat = '3' and h.cur_prog_cd = 'SGF' and (k.coil_stat = '1' or (k.coil_stat = 3 and k.out_yard_kind = 2))
+			 and h.cr_plant_trs_dtime like '%'||trim(?)||'%'
+			 and h.cr_plant_trs_no like '%'||trim(?)||'%' order by h.cr_plant_trs_dtime desc,H.CR_PLANT_TRS_SEQ desc
+		]]>
+	</query>
+	<query id="UIH052400_05.select" desc="判断c_tbk02_coil_comm_d是否存在冷轧订单信息">
+		 <![CDATA[
+			select coil_no from c_tbk02_coil_comm_d where coil_no = ?
+			 ]]>
+	</query>
+	
+	<query id="UIH052400_09.select" desc="判断c_tbk02_coil_comm_d是否存cut信息">
+		 <![CDATA[
+			select d.CUT_SEQ
+		     from tbh02_coil_comm_d d,tbh02_coil_comm h
+		    where d.coil_no = h.coil_no
+		      and h.old_sampl_no = ?
+			 ]]>
+	</query>
+	
+	<query id="UIH052400_06.select" desc="查询冷轧订单信息">
+		<![CDATA[
+			select d.c_ord_thk ord_thk
+			,d.c_ord_wth ord_wth,d.c_ord_len ord_len
+			,d.c_ord_wgt ord_wgt,d.c_ord_wgt_min ord_wgt_min
+			,d.c_ord_wgt_max ord_wgt_max,d.c_ord_india ord_india
+			,d.c_ord_outdia ord_outdia,d.ord_no ord_no
+			,d.ord_seq ord_seq,d.ord_fl ord_fl
+			from tbh02_coil_comm_d d 
+			where d.coil_no = (
+			select coil_no from tbh02_coil_comm where 
+			old_sampl_no = ?
+			)
+			]]>
+	</query>
+	<query id="UIH052400_07.select" desc="查询原料库钢卷信息">
+		<![CDATA[
+			SELECT H.SLAB_NO,H.CUR_PROG_CD,H.CUR_PROG_CD_DTIME,H.CUR_PROG_CD_PGM,H.INSTR_COIL_THK
+			,H.INSTR_COIL_WTH,H.INSTR_COIL_LEN,H.INSTR_COIL_INDIA,H.INSTR_COIL_OUTDIA,H.INSTR_COIL_WGT
+			,H.DEVLMT_DTIME,H.DEST_CD,H.ORDCUST_CD,H.CUST_CD,H.COIL_LEN,H.COIL_INDIA
+			--,(CASE WHEN(H.COIL_OUTDIA IS NOT NULL OR H.COIL_OUTDIA <> '' or H.COIL_OUTDIA <> 0)THEN H.COIL_OUTDIA ELSE C_PKG_UIF.F_FUN_GET_OUTSIDE(H.COIL_INDIA,H.ACT_WGT,H.COIL_WTH)end) COIL_OUTDIA
+			,H.COIL_OUTDIA
+			,H.COIL_THK,H.COIL_WTH,H.ACT_WGT,H.ORD_FL,H.ORD_NO,H.ORD_SEQ,P.C_PRODNM_CD PRODNM_CD,H.SPEC_ABBSYM
+			,P.C_SPEC_STL_GRD SPEC_STL_GRD,H.ORD_USE_CD,H.SPEC_STL_GRD STL_GRD,H.PATH_MILL_CD,H.INGR_DEC_GRD,H.EXTSHAPE_DEC_GRD
+			,H.SIZE_DEC_RST,H.WGT_DEC_RST,H.PROC_DEC_RST,H.MATLQLTY_DEC_GRD,H.TOT_DEC_GRD,H.MILL_DTIME
+			,H.CRK_CD1,H.CRK_CD2,H.CRK_CD3,H.CRK_CD4,H.CRK_CD5,H.CAL_WGT,H.OLD_SAMPL_NO
+			,H.YARD_ENTRY_DTIME
+			,H.SAMPL_NO,H.SAMPL_CUT_LOC
+			,R.FM_EXT_STRIP_THK_AVG ,R.FM_EXT_STRIP_TEMP_AVG,R.DC_TEMP_AVG,R.FM_EXT_STRIP_CROWN_AVG
+            FROM TBH02_COIL_COMM H,TBH02_MILL_RESULT R,TBE02_ORD_PRC P
+            WHERE H.COIL_NO = R.COIL_NO AND H.ORD_NO = P.ORD_NO(+) AND H.ORD_SEQ = P.ORD_SEQ(+)
+            AND H.OLD_SAMPL_NO = ?
+			]]>
+	</query>
+	<query id="UIH052400_01.insert" desc="冷轧原料钢卷基础信息插入">
+		<![CDATA[
+			INSERT INTO C_TBK02_COIL_COMM
+  (COIL_NO,
+   SLAB_NO,
+   COIL_STAT,
+   CUR_PROG_CD,
+   CUR_PROG_CD_DTIME,
+   CUR_PROG_CD_PGM,
+   BEF_PROG_CD,
+   BEF_PROG_CD_DTIME,
+   BEF_PROG_CD_PGM,
+   INSTR_COIL_THK,
+   INSTR_COIL_WTH,
+   INSTR_COIL_LEN,
+   INSTR_COIL_INDIA,
+   INSTR_COIL_OUTDIA,
+   INSTR_COIL_WGT,
+   DEVLMT_DTIME,
+   DEST_CD,
+   ORDCUST_CD,
+   CUST_CD,
+   COIL_LEN,
+   COIL_INDIA,
+   COIL_OUTDIA,
+   COIL_THK,
+   COIL_WTH,
+   ACT_WGT,
+   ORD_FL,
+   ORD_NO,
+   ORD_SEQ,
+   PRODNM_CD,
+   SPEC_ABBSYM,
+   SPEC_STL_GRD,
+   ORD_USE_CD,
+   STL_GRD,
+   PATH_MILL_CD,
+   INGR_DEC_GRD,
+   EXTSHAPE_DEC_GRD,
+   SIZE_DEC_RST,
+   WGT_DEC_RST,
+   PROC_DEC_RST,
+   MATLQLTY_DEC_GRD,
+   TOT_DEC_GRD,
+   MILL_DTIME,
+   CRK_CD1,
+   CRK_CD2,
+   CRK_CD3,
+   CRK_CD4,
+   CRK_CD5,
+   CAL_WGT,
+   OLD_SAMPL_NO,
+   CR_PLANT_TRS_CLF,
+   CR_PLANT_TRS_NO,
+   CR_PLANT_TRS_DTIME,
+   FM_EXT_STRIP_THK_AVG,
+   FM_EXT_STRIP_TEMP_AVG,
+   DC_TEMP_AVG,
+   FM_EXT_STRIP_CROWN_AVG,
+   RECEIVE_TIME,
+   SMP_NO,
+   SMP_CUT_LOC,
+   OLD_ORD_NO,
+   OLD_ORD_SEQ,
+   OLD_ORD_FL,
+   CR_PLANT_TRS_SEQ,
+   BEF_STL_GRD)
+  SELECT H.OLD_SAMPL_NO COIL_NO,
+         H.SLAB_NO,
+         '1' COIL_STAT,
+         'PAB' CUR_PROG_CD,
+         TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') CUR_PROG_CD_DTIME,
+         'UIH052400' CUR_PROG_CD_PGM,
+         CUR_PROG_CD BEF_PROG_CD,
+         CUR_PROG_CD_DTIME BEF_PROG_CD_DTIME,
+         CUR_PROG_CD_PGM BEF_PROG_CD_PGM,
+         H.INSTR_COIL_THK,
+         H.INSTR_COIL_WTH,
+         H.INSTR_COIL_LEN,
+         H.INSTR_COIL_INDIA,
+         H.INSTR_COIL_OUTDIA,
+         H.INSTR_COIL_WGT,
+         H.DEVLMT_DTIME,
+         H.DEST_CD,
+         H.ORDCUST_CD,
+         H.CUST_CD,
+         H.COIL_LEN,
+         H.COIL_INDIA
+         --,(CASE WHEN(H.COIL_OUTDIA IS NOT NULL OR H.COIL_OUTDIA <> '' or H.COIL_OUTDIA <> 0)THEN H.COIL_OUTDIA ELSE C_PKG_UIF.F_FUN_GET_OUTSIDE(H.COIL_INDIA,H.ACT_WGT,H.COIL_WTH)end) COIL_OUTDIA
+        ,
+         H.COIL_OUTDIA,
+         H.COIL_THK,
+         H.COIL_WTH,
+         H.ACT_WGT,
+         H.ORD_FL,
+         H.ORD_NO,
+         H.ORD_SEQ,
+         P.C_PRODNM_CD            PRODNM_CD,
+         H.SPEC_ABBSYM,
+         P.C_SPEC_STL_GRD         SPEC_STL_GRD,
+         H.ORD_USE_CD,
+         H.SPEC_STL_GRD           STL_GRD,
+         H.PATH_MILL_CD,
+         H.INGR_DEC_GRD,
+         H.EXTSHAPE_DEC_GRD,
+         H.SIZE_DEC_RST,
+         H.WGT_DEC_RST,
+         H.PROC_DEC_RST,
+         H.MATLQLTY_DEC_GRD,
+         H.TOT_DEC_GRD,
+         H.MILL_DTIME,
+         H.CRK_CD1,
+         H.CRK_CD2,
+         H.CRK_CD3,
+         H.CRK_CD4,
+         H.CRK_CD5,
+         H.CAL_WGT,
+         H.OLD_SAMPL_NO,
+         ?                        CR_PLANT_TRS_CLF,
+         ?                        CR_PLANT_TRS_NO,
+         ?                        CR_PLANT_TRS_DTIME,
+         R.FM_EXT_STRIP_THK_AVG,
+         R.FM_EXT_STRIP_TEMP_AVG,
+         R.DC_TEMP_AVG,
+         R.FM_EXT_STRIP_CROWN_AVG,
+         H.MILL_DTIME,
+         H.SAMPL_NO,
+         H.SAMPL_CUT_LOC,
+         H.ORD_NO,
+         H.ORD_SEQ,
+         H.ORD_FL,
+         ?                        CR_PLANT_TRS_SEQ,
+         H.SPEC_STL_GRD           BEF_STL_GRD
+    FROM TBH02_COIL_COMM H, TBH02_MILL_RESULT R, TBE02_ORD_PRC P
+   WHERE H.COIL_NO = R.COIL_NO
+     AND H.ORD_NO = P.ORD_NO(+)
+     AND H.ORD_SEQ = P.ORD_SEQ(+)
+     AND H.COIL_NO =
+         (SELECT COIL_NO FROM TBH02_COIL_COMM WHERE OLD_SAMPL_NO = ?)
+
+		]]>
+	</query>
+	<query id="UIH052400_02.insert" desc="插入c_tbk02_comm_d">
+		<![CDATA[
+			insert into c_tbk02_coil_comm_d
+			(coil_no,cut_seq,ord_thk
+			,ord_wth,ord_len,ord_wgt,ord_wgt_min,ord_wgt_max
+			  ,ord_india,ord_outdia,ord_no,ord_seq,ord_fl)
+			select h.old_sampl_no coil_no,d.cut_seq cut_seq,d.c_ord_thk ord_thk
+			,d.c_ord_wth ord_wth,d.c_ord_len ord_len
+			,d.ord_wgt ord_wgt,d.ord_wgt_min ord_wgt_min
+			,d.ord_wgt_max ord_wgt_max,d.c_ord_india ord_india
+			,d.c_ord_outdia ord_outdia,d.ord_no ord_no
+			,d.ord_seq ord_seq,d.ord_fl ord_fl
+			from tbh02_coil_comm_d d
+			,tbh02_coil_comm h
+			where d.coil_no = h.coil_no
+			and h.old_sampl_no = ?
+			]]>
+	</query>
+	<query id="UIH052400_03.insert" desc="新增移送记录">
+		<![CDATA[
+			insert into tbh02_coil_trans t 
+			(
+			t.TRANS_NO,t.COIL_NO,t.TRANS_FLAG,t.YARD_ADDR
+			,t.REG_ID,t.REG_ORDER,t.REG_GROUP,t.REG_DTIME,t.REG_USER_TIME
+			,t.cr_plant_trs_clf,t.cr_plant_trs_no,t.cr_plant_trs_seq
+			)
+			values
+			(
+			 (select nvl(max(t1.TRANS_NO),0)+1 from tbh02_coil_trans t1) 
+			 ,?,'0',(select max(h.BEF_LOAD_LOC) from tbh02_coil_comm h where h.OLD_SAMPL_NO = ?)
+			 ,?,?,?,?,to_char(sysdate,'YYYYMMDDHH24MISS')
+			 ,?,?,?
+			)
+			]]>
+	</query>
+	<query id="UIH052400_04.insert" desc="新增退回记录">
+		<![CDATA[
+			insert into tbh02_coil_trans t 
+			(
+			t.TRANS_NO,t.COIL_NO,t.TRANS_FLAG,t.YARD_ADDR
+			,t.REG_ID,t.REG_ORDER,t.REG_GROUP,t.REG_DTIME,t.REG_USER_TIME
+			)
+			values
+			(
+			 (select nvl(max(t1.TRANS_NO),0)+1 from tbh02_coil_trans t1) 
+			 ,?,'1',?
+			 ,?,?,?,?,to_char(sysdate,'YYYYMMDDHH24MISS')
+			)
+			]]>
+	</query>
+	<query id="UIH052400_05.insert" desc="插入步进梁接口表">
+		<![CDATA[
+			INSERT INTO TBS02_L3_IC_TAKE_COIL I(
+			SEQ_NO                 --记录顺序号
+			,COIL_NO               --钢卷号
+			,WB_NO                 --步进梁编号
+			,SADDLE_NO             --鞍座号
+			,DIRECT                --方向
+			,PROC_NAME             --进程名称
+			)
+			VALUES(?,?,nvl(?,'4'),nvl(?,'1'),'0','UIH052400')
+			]]>
+	</query>
+	<query id="UIH052400_01.update" desc="c_tbk02_comm_d订单信息修改">
+		<![CDATA[
+			update c_tbk02_coil_comm_d d set
+			 d.ord_thk = ?
+			,d.ord_wth = ?
+			,d.ord_len = ?
+			,d.ord_wgt = ?
+			,d.ord_wgt_min = ?
+			,d.ord_wgt_max = ?
+			,d.ord_india = ?
+			,d.ord_outdia = ?
+			,d.ord_no = ?
+			,d.ord_seq = ?
+			,d.ord_fl = ? 
+			where d.coil_no = ?
+			AND   d.CUT_SEQ = ?
+		]]>
+	</query>
+	<query id="UIH052400_02.update" desc="原料公共表转运更新">
+		<![CDATA[
+			UPDATE C_TBK02_COIL_COMM K set K.SLAB_NO = ?,K.COIL_STAT = '1',K.CUR_PROG_CD ='PAB'
+			,K.CUR_PROG_CD_DTIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'),K.CUR_PROG_CD_PGM = 'UIH052400'
+			,K.BEF_PROG_CD = ?,K.BEF_PROG_CD_DTIME= ?,K.BEF_PROG_CD_PGM= ?
+			,K.INSTR_COIL_THK = ?,K.INSTR_COIL_WTH = ?,K.INSTR_COIL_LEN = ?
+			,K.INSTR_COIL_INDIA = ?,K.INSTR_COIL_OUTDIA = ?,K.INSTR_COIL_WGT = ?
+			,K.DEVLMT_DTIME = ?,K.DEST_CD = ?,K.ORDCUST_CD = ?,K.CUST_CD = ?
+			,K.COIL_LEN = ?,K.COIL_INDIA = ?,K.COIL_OUTDIA = ?,K.COIL_THK = ?,
+			K.COIL_WTH = ?,K.ACT_WGT = ?,K.ORD_FL = ?,K.ORD_NO = ?,K.ORD_SEQ = ?
+			,K.PRODNM_CD = ?,K.SPEC_ABBSYM = ?,K.SPEC_STL_GRD = ?,K.ORD_USE_CD = ?
+			,K.STL_GRD = ?,K.PATH_MILL_CD = ?,K.INGR_DEC_GRD = ?,K.EXTSHAPE_DEC_GRD = ?
+			,K.SIZE_DEC_RST = ?,K.WGT_DEC_RST = ?,K.PROC_DEC_RST = ?,K.MATLQLTY_DEC_GRD = ?
+			,K.TOT_DEC_GRD = ?,K.MILL_DTIME = ?,K.CRK_CD1 = ?,K.CRK_CD2 = ?,K.CRK_CD3 = ?
+			,K.CRK_CD4 = ?,K.CRK_CD5 = ?,K.CAL_WGT = ?,K.OLD_SAMPL_NO = ?
+			,K.CR_PLANT_TRS_CLF = ?,K.CR_PLANT_TRS_NO = ?,K.CR_PLANT_TRS_DTIME = ?
+			,K.FM_EXT_STRIP_THK_AVG = ?,K.FM_EXT_STRIP_TEMP_AVG = ?,K.DC_TEMP_AVG = ?
+			,K.FM_EXT_STRIP_CROWN_AVG = ?
+			,K.RECEIVE_TIME = ?,K.SMP_NO = ?,K.SMP_CUT_LOC = ?
+			,k.OLD_ORD_FL = ?,k.OLD_ORD_NO = ?,k.OLD_ORD_SEQ = ?
+			,k.CR_PLANT_TRS_SEQ = ?
+			WHERE K.COIL_NO = ?		
+		]]>
+	</query>
+	<query id="UIH052400_03.update" desc="更新热轧库移送出库状态">
+		<![CDATA[
+			UPDATE TBH02_COIL_COMM H SET H.COIL_STAT = '3',H.BEF_PROG_CD = H.CUR_PROG_CD,
+			H.BEF_PROG_CD_DTIME = H.CUR_PROG_CD_DTIME,H.BEF_PROG_CD_PGM = H.CUR_PROG_CD_PGM,
+			H.CUR_PROG_CD = 'SGF', H.CUR_PROG_CD_DTIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'), 
+			H.CUR_PROG_CD_PGM = 'UIH052400',H.BEF_LOAD_LOC = H.CUR_LOAD_LOC,
+			 H.TRNF_SHIFT = ?, H.TRNF_GROUP = ?, H.TRNF_REG = ?,H.CUR_LOAD_LOC = 'L',
+			 H.TRNF_DTIME = ?, H.TRNF_USE_TIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'), 
+			 H.CR_PLANT_TRS_CLF = ?, H.CR_PLANT_TRS_NO = ?, H.CR_PLANT_TRS_DTIME = ?
+			 ,H.DLIV_TP = 'L',H.CR_PLANT_TRS_SEQ = ?,H.CR_PLANT_TRS_FLAG = ?
+			 WHERE H.OLD_SAMPL_NO = ?	
+		]]>
+	</query>
+	<query id="UIH052400_04.update" desc="更新热轧库存表  ">
+        <![CDATA[
+			UPDATE TBH05_COIL_YARD T SET 
+				   T.COIL_NO = '',
+				   T.REG_ID = '',
+				   T.REG_DTIME = '' 
+				   WHERE T.COIL_NO = ?
+		]]>
+    </query>
+	<query id="UIH052400_05.update" desc="更新热轧库退回状态">
+		<![CDATA[
+			UPDATE TBH02_COIL_COMM H SET H.COIL_STAT = '2',H.CUR_PROG_CD = decode(H.ORD_FL,'1','SGB','SRC'),H.CUR_PROG_CD_PGM = 'UIH052400',
+			 H.YARD_ENTRY_SHIFT = ?, H.YARD_ENTRY_GROUP = ?, H.YARD_ENTRY_REG = ?,H.CUR_LOAD_LOC = ?,
+			 H.YARD_ENTRY_DTIME = ?, H.YARD_ENTRY_USE_TIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')
+			 WHERE H.OLD_SAMPL_NO = ?	
+		]]>
+	</query>
+	<query id="UIH052400_06.update" desc="更新热轧库退回入库垛位">
+		<![CDATA[
+			UPDATE TBH05_COIL_YARD T SET 
+				   T.COIL_NO = ?,
+				   T.REG_ID = ?,
+				   T.REG_DTIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS') 
+                    where t.YARD_CLF = substr(?,0,5) 
+                    and t.STEP_CLF = substr(?,6,2)
+                    and t.STORELAY = substr(?,8,1)
+                    and t.STORE_SEQ = substr(?,9,1)  
+		]]>
+	</query>
+	<query id="UIH052401_01.select" desc="查询待判移送钢卷">
+		<![CDATA[
+			SELECT 'N' CHK, H.COIL_NO,H.OLD_SAMPL_NO,H.CR_PLANT_TRS_DTIME,H.CR_PLANT_TRS_SEQ
+			,decode(H.TOT_DEC_GRD,'1','合格','2','不合格','3','外观异常','4','废品') TOT_DEC_GRD
+			,H.SPEC_STL_GRD,TO_CHAR(H.COIL_THK,'FM990.099')||'*'||H.COIL_WTH T_W
+			,TO_CHAR(H.INSTR_COIL_THK,'FM990.099')||'*'||H.INSTR_COIL_WTH IT_IW
+			,H.ACT_WGT,H.ORD_NO,H.ORD_SEQ,H.CR_PLANT_TRS_CLF,H.CR_PLANT_TRS_NO
+			 FROM TBH02_COIL_COMM H WHERE H.CR_PLANT_TRS_FLAG = 'N'
+			ORDER BY H.CR_PLANT_TRS_DTIME,H.CR_PLANT_TRS_SEQ
+			]]>
+	</query>
+	<query id="UIH052401_01.update" desc="更改热轧成口移送确认状态">
+		<![CDATA[
+			UPDATE TBH02_COIL_COMM H SET H.CR_PLANT_TRS_FLAG = ? WHERE H.OLD_SAMPL_NO = ?
+			]]>
+	</query>
+	<query id="UIH052400_01.delete" desc="删除冷轧数据">
+		<![CDATA[
+			
+			delete from c_tbk02_coil_comm t where t.OLD_SAMPL_NO=? and t.COIL_STAT='1' and t.CUR_LOAD_LOC is null
+			]]>
+	</query>
+	
+	<query id="UIH052400_08.select" desc="查询移送钢卷,外观判定和尺寸判定">
+		<![CDATA[
+			select t.EXTSHAPE_DEC_GRD,t.SIZE_DEC_RST from tbh02_coil_comm t where t.OLD_SAMPL_NO  = ?
+		]]>
+	</query>
+</queryMap>

+ 81 - 0
.svn/pristine/04/044183479a9a6e327a0791932de9d36da7458421.svn-base

@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Glue:GlueDiagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Glue="http://www.glueframework.com/activitydiagram/" id="2" location="20,20" size="100,100">
+  <child xsi:type="Glue:InitialState" id="19" location="293,65" size="-1,-1" output="//@wire.0"/>
+  <child xsi:type="Glue:RouterActivity" id="20" location="79,221" size="495,-1" input="//@wire.5" output="//@wire.6 //@wire.9 //@wire.11 //@wire.14 //@wire.15" name="DefaultRouter">
+    <property key="class" value="com.posdata.glue.biz.activity.PosDefaultRouter"/>
+  </child>
+  <child xsi:type="Glue:Activity" id="23" location="229,109" size="154,-1" input="//@wire.0" output="//@wire.4" name="SetResultKeyList">
+    <property key="ResultKeyList" value="rs1|rs2|rs3|resultkey0|resultkey1"/>
+    <property key="class" value="com.posdata.glue.biz.trustform.PosSetResultKeyList"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:FinalState" id="160" location="293,450" size="-1,-1" input="//@wire.7 //@wire.8 //@wire.10 //@wire.14"/>
+  <child xsi:type="Glue:Activity" id="406" location="230,160" size="150,-1" input="//@wire.4" output="//@wire.5" name="InitParams">
+    <property key="class" value="xin.glue.ui.common.PosInitParam"/>
+    <property key="resultkey" value="resultkey0|resultkey1"/>
+    <property key="sqlkey0" value="UIF023100.FindChargeChart"/>
+    <property key="sqlkey1" value="UIF023100.findSlabChart"/>
+    <property key="sqlkey-count" value="2"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:SearchActivity" id="516" location="334,291" size="113,-1" input="//@wire.6" output="//@wire.7" name="FindSlabsInfo">
+    <property key="resultkey" value="rs1"/>
+    <property key="dao" value="mesdao"/>
+    <property key="class" value="com.posdata.glue.biz.activity.PosSearch"/>
+    <property key="sqlkey" value="UIF023100.findChargeInfoOnClick"/>
+    <property key="param-count" value="1"/>
+    <property key="param0" value="CHARGE_EDT_SEQ"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:SearchActivity" id="517" location="175,403" size="178,-1" input="//@wire.13 //@wire.15" output="//@wire.8" name="FindRollSpec">
+    <property key="class" value="com.posdata.glue.biz.activity.PosSearch"/>
+    <property key="resultkey" value="rs2"/>
+    <property key="dao" value="mesdao"/>
+    <property key="sqlkey" value="UIF023100.findRollSpec"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:SearchActivity" id="623" location="435,336" size="107,-1" input="//@wire.9" output="//@wire.10" name="FindMillSpec">
+    <property key="resultkey" value="rs3"/>
+    <property key="dao" value="mesdao"/>
+    <property key="class" value="com.posdata.glue.biz.activity.PosSearch"/>
+    <property key="sqlkey" value="UIF023100.findMillSpec"/>
+    <property key="param-count" value="1"/>
+    <property key="param0" value="ROLL_MANA_NO"/>
+    <property key="description" value=""/>
+  </child>
+  <child xsi:type="Glue:Activity" id="624" location="163,294" size="127,-1" input="//@wire.11" output="//@wire.13" name="HCREdit">
+    <property key="class" value="xin.glue.ui.F.F02.HCREdit"/>
+    <property key="description" value=""/>
+  </child>
+  <property key="tx1" value="true"/>
+  <property key="description" value=""/>
+  <wire id="16" guardcondition="success" firstRelativePoint="310,89" lastRelativePoint="310,139"/>
+  <wire id="25" guardcondition="success" firstRelativePoint="385,328" lastRelativePoint="385,328"/>
+  <wire id="33" guardcondition="success" firstRelativePoint="391,312" lastRelativePoint="349,312"/>
+  <wire id="84" guardcondition="success" firstRelativePoint="182,447" lastRelativePoint="326,434"/>
+  <wire id="155" guardcondition="success" firstRelativePoint="304,139" lastRelativePoint="304,160"/>
+  <wire id="156" guardcondition="success" firstRelativePoint="301,190" lastRelativePoint="301,221"/>
+  <wire id="180" guardcondition="onclick" firstRelativePoint="381,251" lastRelativePoint="381,291">
+    <bendpoint weight="0.5" firstDimension="41,37" secondDimension="0,-33"/>
+  </wire>
+  <wire id="182" guardcondition="success" firstRelativePoint="387,321" lastRelativePoint="312,459">
+    <bendpoint weight="0.5" firstDimension="6,152" secondDimension="84,-2"/>
+    <bendpoint weight="0.5" firstDimension="-58,162" secondDimension="63,-2"/>
+  </wire>
+  <wire id="184" guardcondition="success" firstRelativePoint="303,403" lastRelativePoint="303,449"/>
+  <wire id="195" guardcondition="findMillSpec" firstRelativePoint="496,251" lastRelativePoint="496,336">
+    <bendpoint weight="0.5" firstDimension="156,59" secondDimension="-7,-56"/>
+  </wire>
+  <wire id="197" guardcondition="success" firstRelativePoint="495,366" lastRelativePoint="313,459">
+    <bendpoint weight="0.5" firstDimension="-8,108" secondDimension="192,-1"/>
+  </wire>
+  <wire id="198" guardcondition="hcrEdit" firstRelativePoint="241,251" lastRelativePoint="241,294">
+    <bendpoint weight="0.5" firstDimension="-99,37" secondDimension="15,-36"/>
+  </wire>
+  <wire id="505" guardcondition="success" firstRelativePoint="307,109" lastRelativePoint="307,109"/>
+  <wire id="650" guardcondition="success" firstRelativePoint="236,324" lastRelativePoint="236,403"/>
+  <wire id="659" guardcondition="success" firstRelativePoint="140,251" lastRelativePoint="292,459">
+    <bendpoint weight="0.5" firstDimension="-200,223" secondDimension="-163,-1"/>
+  </wire>
+  <wire id="660" guardcondition="success" firstRelativePoint="302,251" lastRelativePoint="302,403"/>
+</Glue:GlueDiagram>

+ 51 - 0
.svn/pristine/04/04559b5e385e35dc3e833f36794dd1ec556c9972.svn-base

@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="EUC-KR"?>
+<service name="UIB030010-service" initial="SetResultKeyList">
+  <activity name="evenRouter" class="com.posdata.glue.biz.activity.PosDefaultRouter">
+    <transition name="success" value="Search4625" />
+    <transition name="find1" value="Search4658" />
+  </activity>
+  <activity name="Search4625" class="com.posdata.glue.biz.activity.PosSearch">
+    <transition name="success" value="end" />
+    <property name="param1" value="StDate" />
+    <property name="param2" value="DATETP" />
+    <property name="dao" value="mesdao" />
+    <property name="param3" value="EndDate" />
+    <property name="param4" value="StlGrd" />
+    <property name="param5" value="ZKL" />
+    <property name="param6" value="CHARGENO1" />
+    <property name="param7" value="CHARGENO2" />
+    <property name="param8" value="DATETP" />
+    <property name="param9" value="StDate" />
+    <property name="sqlkey" value="UIB030010.SELECT" />
+    <property name="param-count" value="16" />
+    <property name="param10" value="DATETP" />
+    <property name="param11" value="EndDate" />
+    <property name="resultkey" value="ListResult_0" />
+    <property name="param12" value="StlGrd" />
+    <property name="param13" value="ZKL" />
+    <property name="param14" value="CHARGENO1" />
+    <property name="param15" value="CHARGENO2" />
+    <property name="param0" value="DATETP" />
+  </activity>
+  <activity name="SetResultKeyList" class="com.posdata.glue.biz.trustform.PosSetResultKeyList">
+    <transition name="success" value="evenRouter" />
+    <property name="ResultKeyList" value="ListResult_0" />
+  </activity>
+  <activity name="Search4658" class="com.posdata.glue.biz.activity.PosSearch">
+    <transition name="success" value="end" />
+    <property name="param5" value="CHARGENO2" />
+    <property name="param6" value="StlGrd" />
+    <property name="param7" value="ZKL" />
+    <property name="resultkey" value="ListResult_0" />
+    <property name="param-count" value="8" />
+    <property name="dao" value="mesdao" />
+    <property name="sqlkey" value="UIB030010_02.SELECT" />
+    <property name="param0" value="CHARGENO1" />
+    <property name="param1" value="CHARGENO2" />
+    <property name="param2" value="StlGrd" />
+    <property name="param3" value="ZKL" />
+    <property name="param4" value="CHARGENO1" />
+  </activity>
+  <transaction-manager id="tx1" commit="true" />
+</service>
+

BIN
.svn/pristine/04/0459e1d5fbc9ff2aa79c1e9c0ad89527a11e22ae.svn-base


+ 13 - 0
.svn/pristine/04/046d2101f3e758512dd3ed07dcce923e8dd0c6a3.svn-base

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding='UTF-8'?>
+<queryMap desc="质检_炼钢报表">
+  
+     <query id="TESTCALL_SELECT" desc="" fetchSize="10">  
+        <![CDATA[
+		SELECT * FROM TBH02_COIL_COMM T WHERE T.SLAB_NO LIKE 'J91-00377A%'
+        ]]>   
+    </query> 
+	
+	<query id="TESTCALL_SELECT_01.CALL" desc="">
+		{call PKG_QUALITY_TEST.TEST_TABLE(?,?)}
+	</query>
+</queryMap>

+ 80 - 0
.svn/pristine/04/048da5595283eb027af74eb5e93c407a399470c0.svn-base

@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding='UTF-8'?>
+<queryMap desc="STEEL MAKING QUERY ">
+     
+    <query id="NIH020030_01.select" desc="init " fetchSize="10">
+		<![CDATA[
+			SELECT SLAB_NO
+			  FROM TBH02_RHF_MISSNO
+			 WHERE SLAB_NO = ? AND COIL_NO = ?       
+		]]>
+	</query> 
+     
+	<query id="NIH020030_COIL.update" desc="吊销的情况,钢卷状态为3 " fetchSize="10">
+		<![CDATA[
+			update TBH02_COIL_COMM set
+                             ROLL_UNIT = ?  
+                                ,MISSNO_CLF_CD = ?
+                                ,MISSNO_CAUSE_CD = ?
+                                ,MISSNO_DTIME = ?  
+                                ,COIL_STAT    = '3'                                                        
+      where                  COIL_NO = ?   
+		]]>
+	</query>
+	<query id="NIH020030_SLAB.update" desc="init " fetchSize="10">
+		<![CDATA[
+			update tbg02_slab_comm set
+                     			 MISSNO_CLF = ?
+								 ,MISSNO_CAUSE_CD = ?
+								 ,MISSNO_OCR_DTIME = ?  
+								 ,MISSNO_EMP_ID = ?  
+			where                SLAB_NO = ? 
+		]]>
+	</query>
+	<query id="NIH020030_REJ.update" desc="init " fetchSize="10">
+		<![CDATA[
+			UPDATE TBH02_RHF_MISSNO SET
+                 ROLL_UNIT_NO    = ?
+			    ,MISSNO_CLF      = ?
+			    ,MISSNO_CAUSE_CD = ?  
+			    ,MISSNO_DTIME    = ?  
+			    ,MOD_ID   = 'NIH020030'
+			    ,MOD_DTIME = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')
+			WHERE   SLAB_NO = ? 
+		]]>
+	</query>
+	<query id="NIH020030_REJ.insert" desc="init " fetchSize="10">
+		<![CDATA[
+		INSERT  INTO TBH02_RHF_MISSNO   
+             (   SLAB_NO
+                ,COIL_NO 
+                ,ROLL_UNIT_NO
+                ,MISSNO_CLF
+                ,MISSNO_CAUSE_CD
+                ,MISSNO_DTIME
+                ,MISSNO_WKSHIFT
+                ,MISSNO_WK_EMP_NO
+			    ,REG_ID
+			    ,REG_DTIME
+             ) 
+             VALUES
+             (
+                ?,?,?,?,?,?,?,?,'NIH020030',TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')
+             )
+			 
+		]]>
+	</query>
+	  <query id="NIH020030_SLAB.select" desc="init " fetchSize="10">
+        <![CDATA[
+            SELECT CUR_PROG_CD,BEF_PROG_CD,ORD_NO,ORD_SEQ,SLAB_WGT
+              FROM TBG02_SLAB_COMM
+             WHERE SLAB_NO = ?       
+        ]]>
+    </query> 
+	<query id="NIH020030_SLAB_END.update" desc="init " fetchSize="10">
+        <![CDATA[
+            update tbg02_slab_comm set
+                   SLAB_STAT = ?  
+            where  SLAB_NO = ? 
+        ]]>
+    </query>
+</queryMap>

BIN
.svn/pristine/04/049e14e6cc338928fda86e453e9f2245da0e6bda.svn-base


+ 64 - 0
.svn/pristine/04/04bd60243c38300b39e45e6d26a418e22695c05e.svn-base

@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding='UTF-8'?>
+<queryMap desc="STEEL MAKING QUERY ">
+
+	<query id="NIG020630_CHARGE_COM.select" desc="  " fetchSize="10">
+		<![CDATA[
+			  
+      SELECT   BEF_PROG_CD,CUR_PROG_CD  
+       FROM TBG02_CHARGE_COMM 
+      WHERE CHARGE_NO = ?  				  
+        ]]>
+	</query> 
+	
+   <query id="NIG020630_HCR_MILL_FL.select" desc="  " fetchSize="10">
+		<![CDATA[
+			  
+			SELECT D.SLAB_NO
+			  FROM TBG02_CHARGE_COMM   A
+				   ,TBF01_SPEC_CHARGE  B
+				   ,TBF01_SPEC_SLAB    C
+				   ,TBG02_SLAB_COMM    D
+			WHERE  A.PLAN_CHARGE_NO    = B.CHARGE_MANA_NO
+			  AND  B.CHARGE_EDT_SEQ    = C.CHARGE_EDT_SEQ
+			  AND  C.SLAB_MANA_NO      = D.PLAN_SLAB_NO
+			  AND  A.CHARGE_STAT       = '2'
+			  AND  A.HCR_CLF           = 'H'
+			  AND  A.CHARGE_NO         = ?
+			  AND  C.MILL_FL           = 'Y'
+						  
+        ]]>
+	</query> 
+	
+	<query id="NIG020630_CHARGE_COM.update" desc=" " fetchSize="10">
+		<![CDATA[	
+			update TBG02_CHARGE_COMM set 
+			   CHARGE_STAT = '3' 
+              ,MATRL_END_DTIME       = TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')
+			  ,RTN_CHARGE_OCR_DTIME  = ?  
+			  ,RTN_CHARGE_CAUSE_CD   = ?
+			  ,RTN_CHARGE_WGT        = ?
+			  ,RTN_CHARGE_OCR_PROC   = ?	
+			  ,RTN_CHARGE_CLF = 'Y'	 
+			where CHARGE_NO=?	
+		]]>
+	</query>  
+    <query id="NIG020630_SLAB_COMM.update" desc="     " fetchSize="10">
+        <![CDATA[
+            UPDATE TBG02_SLAB_COMM SET 
+              SLAB_STAT = '3'
+            WHERE SUBSTR(SLAB_NO,1,10) = ?    
+        ]]>
+    </query> 
+	<query id="NIG020630_CHARGE_NO_INIT" desc="     " fetchSize="10">
+        <![CDATA[
+            select t.CHARGE_NO,t.CHARGE_NO,t.RTN_CHARGE_CLF from tbg02_charge_comm  t where t.CHARGE_STAT = '2'  
+        ]]>
+    </query>
+	<query id="CALL_RTN_CHARGE_AUTO" desc="사원추가" fetchSize="1">
+        <![CDATA[
+						
+            {call RTN_CHARGE_AUTO.RTN_CHARGE_AUT0_SEND_F01(?,?,?)}
+			
+        ]]>
+    </query>
+</queryMap>

BIN
.svn/pristine/04/04c37d007c4650691de57762c0b22c97294c7ab4.svn-base


+ 48 - 0
.svn/pristine/04/04da9600c444d2a1660c39b26feff94b78030234.svn-base

@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="EUC-KR"?>
+<service name="UIF023100-service" initial="SetResultKeyList">
+  <activity name="InitParams" class="xin.glue.ui.common.PosInitParam">
+    <transition name="success" value="DefaultRouter" />
+    <property name="sqlkey-count" value="2" />
+    <property name="sqlkey0" value="UIF023100.FindChargeChart" />
+    <property name="resultkey" value="resultkey0|resultkey1" />
+    <property name="sqlkey1" value="UIF023100.findSlabChart" />
+  </activity>
+  <activity name="FindRollSpec" class="com.posdata.glue.biz.activity.PosSearch">
+    <transition name="success" value="end" />
+    <property name="resultkey" value="rs2" />
+    <property name="sqlkey" value="UIF023100.findRollSpec" />
+    <property name="dao" value="mesdao" />
+  </activity>
+  <activity name="FindSlabsInfo" class="com.posdata.glue.biz.activity.PosSearch">
+    <transition name="success" value="end" />
+    <property name="resultkey" value="rs1" />
+    <property name="dao" value="mesdao" />
+    <property name="sqlkey" value="UIF023100.findChargeInfoOnClick" />
+    <property name="param-count" value="1" />
+    <property name="param0" value="CHARGE_EDT_SEQ" />
+  </activity>
+  <activity name="FindMillSpec" class="com.posdata.glue.biz.activity.PosSearch">
+    <transition name="success" value="end" />
+    <property name="resultkey" value="rs3" />
+    <property name="dao" value="mesdao" />
+    <property name="sqlkey" value="UIF023100.findMillSpec" />
+    <property name="param-count" value="1" />
+    <property name="param0" value="ROLL_MANA_NO" />
+  </activity>
+  <activity name="SetResultKeyList" class="com.posdata.glue.biz.trustform.PosSetResultKeyList">
+    <transition name="success" value="InitParams" />
+    <property name="ResultKeyList" value="rs1|rs2|rs3|resultkey0|resultkey1" />
+  </activity>
+  <transaction-manager id="tx1" commit="true" />
+  <activity name="HCREdit" class="xin.glue.ui.F.F02.HCREdit">
+    <transition name="success" value="FindRollSpec" />
+  </activity>
+  <activity name="DefaultRouter" class="com.posdata.glue.biz.activity.PosDefaultRouter">
+    <transition name="onclick" value="FindSlabsInfo" />
+    <transition name="findMillSpec" value="FindMillSpec" />
+    <transition name="hcrEdit" value="HCREdit" />
+    <transition name="success" value="end" />
+    <transition name="success" value="FindRollSpec" />
+  </activity>
+</service>
+

+ 244 - 0
.svn/pristine/05/0501ceb0f01e4378dbc3826f3363370cc8b1a21a.svn-base

@@ -0,0 +1,244 @@
+package xin.glue.ui.G.G06;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import com.posdata.glue.biz.activity.PosActivity;
+import com.posdata.glue.biz.constants.PosBizControlConstants;
+import com.posdata.glue.biz.control.PosBizControlIF;
+import com.posdata.glue.biz.control.PosBizProvider;
+import com.posdata.glue.component.PosJobScheduler;
+import com.posdata.glue.component.layout.PosMessageLayoutIF;
+import com.posdata.glue.context.PosContext;
+import com.posdata.glue.dao.PosGenericDao;
+import com.posdata.glue.dao.vo.PosParameter;
+import com.posdata.glue.dao.vo.PosRow;
+import com.posdata.glue.dao.vo.PosRowSet;
+import com.posdata.glue.msg.PosMESMessageImpl;
+import com.posdata.glue.msg.PosMessage;
+import com.posdata.glue.msg.PosMessageAttributeDefinition;
+import com.posdata.glue.msg.PosMessageDefinition;
+import com.posdata.glue.util.log.PosLog;
+import com.posdata.glue.util.log.PosLogFactory;
+
+
+public class XinSaveDataLevel2 extends PosActivity {
+	private final PosLog log = PosLogFactory.getLogger(getClass());
+
+	public String runActivity(PosContext context) {
+		
+	  List MsgList = new ArrayList();
+		
+	  String[]  TC_ID      = (String[]) context.get("TC_ID");
+	  
+	  String[]  MAT_NO      = (String[]) context.get("MAT_NO");
+	  
+	  log.logInfo("======== XinSaveDataLevel2 start TC_ID:"+TC_ID[0] );
+		 
+	  
+	  if (TC_ID[0] != null) {
+		  String TC_HD = TC_ID[0].substring(0,3); 
+		 if (TC_HD.equals("NIG"))  {
+			 MsgList = SMS_SEND(TC_ID[0],MAT_NO[0]);
+		 } else {
+			 MsgList = MILL_SEND(TC_ID[0],MAT_NO[0]);
+		 }
+	     
+	  }		 
+      log.logInfo("======== XinSaveDataLevel2  context put :" );
+      
+      context.put("MessageEdit",MsgList);
+      
+	  return PosBizControlConstants.SUCCESS;
+	}
+	public List SMS_SEND(String   TcId ,String MatNo )
+	{	
+		PosContext context = new PosContext();
+		 List list = new ArrayList();	
+		
+		 String KEY_LEN = null ;
+		 String TC_HD =  TcId.substring(0,3) ;
+	     
+        
+         if (  (TC_HD.equals("NIG") && TcId.equals("NIG020610")) ) {
+       	  KEY_LEN = "13";  
+         }  else {
+       	  KEY_LEN = "10";
+         }
+        
+         
+     
+         PosParameter param1 = new PosParameter();	 
+	     param1.setWhereClauseParameter(0, KEY_LEN); 
+	     param1.setWhereClauseParameter(1, MatNo);
+	     param1.setWhereClauseParameter(2, TcId);
+	     PosRowSet msgVO = this.getDao("mesdao").find("UIG060010_L2_DATA_EDIT.select", param1);
+	
+     
+         if(msgVO.hasNext()) {
+   		 
+   	       PosRow msgROW = msgVO.next();
+   	  
+   	  
+   	  
+   	       BigDecimal MSG_LEN  = (BigDecimal)msgROW.getAttribute("MSG_LEN");
+   	  
+   	       String MSG_ID      = (String)msgROW.getAttribute("MSG_ID");
+   	       String MSG_DATA    = (String)msgROW.getAttribute("MSG_DATA");
+   	       String TRAN_DTIME  = (String)msgROW.getAttribute("TRAN_DTIME");
+   	  
+   	       
+   	       String sSeqNo     = null;
+   	       String sMsgid     = null;
+   	       String sMsgName   = null;
+   	       String sMsgType   = null; 
+   	       String sDataValue = null;
+   	       String EditData   = null;
+   	       String MsgData = MSG_ID+TRAN_DTIME+MSG_DATA;
+   	  
+   	       int tot_len = 0;
+   	       int init_len = 0;
+   	  
+   	       PosParameter param2 = new PosParameter();
+   	       param2.setWhereClauseParameter(0, MSG_ID); 
+           PosRowSet editVO = this.getDao("mesdao").find("UIG060010_MSG_EDIT.select", param2);
+           
+           
+             while(editVO.hasNext()) {
+       	       
+             
+               sDataValue	 = null; 
+               EditData      = null;
+            	 
+               PosRow editROW = editVO.next();
+               sSeqNo     = (String)editROW.getAttribute("SEQ_NO");
+               sMsgid     = (String)editROW.getAttribute("MSG_ID");
+               sMsgName   = (String)editROW.getAttribute("MSG_NAME");
+               sMsgType   = (String)editROW.getAttribute("DATA_TYPE");
+             
+               String sMsgLen    = (String)editROW.getAttribute("DATA_LEN");
+             
+               int Len = Integer.parseInt(sMsgLen);
+             
+               
+                 
+               tot_len = tot_len+Len;
+               
+               log.logInfo("======== XinSaveDataLevel2 MsgData["+MsgData+"] ,init_len["+init_len+"], tot_len["+tot_len+"]" );
+               
+               
+               EditData = MsgData.substring(init_len,tot_len);  
+               
+               	
+             
+               init_len = init_len+Len;
+              
+                 
+             
+               sDataValue = EditData;
+             
+              
+               HashMap  map =  new HashMap(50,6) ;
+               list.add(map);
+               map.put("SEQ_NO"    , sSeqNo    );
+               map.put("MSG_ID"    , sMsgid    );  
+               map.put("MSG_NAME"  , sMsgName  );
+               map.put("DATA_TYPE" , sMsgType  );
+               map.put("DATA_LEN"  , sMsgLen   );
+               map.put("DATA_VALUE", sDataValue);	
+              
+           } 
+         }   
+        
+       
+        return list; 
+         //context.put("MessageEdit",list);
+		
+	}	
+	public   List  MILL_SEND(String   TcId ,String MatNo )
+	{	
+		
+		PosContext context = new PosContext();
+		
+		List list = new ArrayList();	
+		
+		String KEY_LEN = null ;
+		   
+     
+        PosParameter param1 = new PosParameter();	 
+	    param1.setWhereClauseParameter(0, TcId);  
+	    PosRowSet msgVO = this.getDao("mesdao").find("NIH060100_L2_DATA_EDIT.select", param1);
+	    
+     
+        if(msgVO.hasNext()) {
+   		 
+   	      PosRow msgROW = msgVO.next();
+   	   
+   	      String MSG_ID      = (String)msgROW.getAttribute("MSG_ID");
+   	      String MSG_DATA    = (String)msgROW.getAttribute("MSG_DATA");
+   	      String TRAN_DTIME  = (String)msgROW.getAttribute("TRAN_DTIME");
+   	  
+   	      log.logInfo("======== XinSaveDataLevel2 MSG_ID["+MSG_ID+"]" );
+   	      log.logInfo("======== XinSaveDataLevel2 MSG_DATA["+MSG_DATA+"]" );
+   	  
+   	      String sSeqNo = null;
+   	      String sMsgid = null;
+   	      String sMsgName = null;
+   	      String sMsgType = null; 
+   	      String sDataValue = null;
+   	  
+   	      String MsgData = MSG_ID+TRAN_DTIME+MSG_DATA;
+   	  
+   	      int tot_len = 0;
+     	  int init_len = 0;
+   	  
+   	      PosParameter param2 = new PosParameter();
+   	      param2.setWhereClauseParameter(0, MSG_ID); 
+          PosRowSet editVO = this.getDao("mesdao").find("UIG060010_MSG_EDIT.select", param2);
+         
+          if ( editVO.hasNext() ) {
+            while(editVO.hasNext()) {
+       	  
+             PosRow editROW = editVO.next();
+             sSeqNo     = (String)editROW.getAttribute("SEQ_NO");
+             sMsgid     = (String)editROW.getAttribute("MSG_ID");
+             sMsgName   = (String)editROW.getAttribute("MSG_NAME");
+             sMsgType   = (String)editROW.getAttribute("DATA_TYPE"); 
+             String sMsgLen    = (String)editROW.getAttribute("DATA_LEN");
+             
+             int Len = Integer.parseInt(sMsgLen);
+             
+             
+             tot_len = tot_len+Len;
+             
+             String EditData = MsgData.substring(init_len,tot_len);  
+             
+             init_len = init_len+Len;
+              
+              
+             
+             sDataValue = EditData;
+             
+            
+             
+             HashMap  map =  new HashMap(50,6) ;
+             list.add(map);
+             map.put("SEQ_NO"    , sSeqNo    );
+             map.put("MSG_ID"    , sMsgid    );  
+             map.put("MSG_NAME"  , sMsgName  );
+             map.put("DATA_TYPE" , sMsgType  );
+             map.put("DATA_LEN"  , sMsgLen   );
+             map.put("DATA_VALUE", sDataValue);
+              
+           } 
+          }   
+        }
+        return list;
+       // context.put("MessageEdit",list);
+		
+	}	
+	 
+}

+ 22 - 0
.svn/pristine/05/054ebffe71a78aa3add40d32725ddc23917af686.svn-base

@@ -0,0 +1,22 @@
+package xin.glue.ui.G.G04;
+
+import com.posdata.glue.biz.activity.PosActivity;
+import com.posdata.glue.biz.constants.PosBizControlConstants;
+import com.posdata.glue.context.PosContext;
+
+public class PosRollerRouter extends PosActivity{ 
+	public String runActivity(PosContext context)  
+	{
+	  String[] WK_ROLLER_G = (String[]) context.get("WK_ROLLER_G"); 
+	
+	  String nextTrans = PosBizControlConstants.SUCCESS; 
+	  
+	  if(WK_ROLLER_G[0].equals("A")) {
+		  nextTrans = "A0"; 
+	  } else {
+		  nextTrans = "C0"; 
+	  }
+		
+	  return nextTrans;
+	}
+}

+ 313 - 0
.svn/pristine/05/055bc5e1c154a7e16b174af7f40eae426d528300.svn-base

@@ -0,0 +1,313 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet href="../../css/body.css" type="text/css" ?>
+<xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
+	<xhtml:head>
+		<xhtml:title>
+			<![CDATA[热轧作业>>钢卷库管理>>钢卷标识打印(UIJ020600)]]>
+		</xhtml:title>
+		<model id="model1">
+			<instance id="instance1">
+				<root xmlns="">
+					<reqData/>
+					<resData/>
+					<datagrid1>
+					</datagrid1>
+					<datagrid2>
+						<COILResult_VO/>
+					</datagrid2>
+					<searchData>
+						<DLIV_DIRNO/>
+					</searchData>
+				</root>
+			</instance>
+		</model>
+		<script type="javascript" src="../../js/boaMsg.js"/>
+		<script type="javascript" src="../../js/boaCommon.js"/>
+		<script type="javascript">
+			<![CDATA[
+				function InitParams(node) {
+					if (typeof node == "undefined" && typeof node != "object") return;
+					model.removenode("/root/initData/rcvInfo");
+					model.makeNode("/root/initData/rcvInfo");
+					var nodeList = node.childNodes;
+					node = model.instances(0).selectSingleNode("/root/initData/rcvInfo");
+					for (var i = 0; i < nodeList.length; i++)
+					node.appendChild(nodeList.item(i));
+				}
+				
+		 		function Init(node)
+				{
+					InitParams(node);
+				}
+				
+				function find(){
+					model.removenode("/root/reqData");
+					model.makeNode("/root/reqData");
+					
+					model.removenode("/root/datagrid1");
+					model.makeNode("/root/datagrid1");
+					
+					//不能为空
+					if(model.getValue("/root/searchData/DLIV_DIRNO") == ""){
+						alert(" 发货指示号不能为空!!!! ");
+						return;
+					}
+					if(model.getValue("/root/searchData/DLIV_DIRNO").length < 8){
+						alert(" 发运指示号长度不正确!!! ");
+						return;
+					}
+					
+					//不选择就查全部
+					model.duplicate("/root/reqData","/root/searchData/DLIV_DIRNO");
+					
+					commSubmit("UIJ020600-service", "find", "glueAction.do");
+					
+					commAppendData("/root/datagrid1/COILResult_VO","/root/resData/COILResult_VO");
+				
+					model.refresh();
+					
+				}
+				
+				function save(){
+					model.removenode("/root/reqData");
+					model.makeNode("/root/reqData");
+					
+					commMultiUpdate(datagrid1,"/root/reqData","A",true,"rowStuts");
+					//这里加入登录用户名,会不会与已有的initData冲突
+					model.makeValue("/root/reqData/REG_ID",model.getValue("/root/initData/rcvInfo/REG_ID"));
+					
+					commSubmit("UIJ020600-service", "save", "glueAction.do");
+					
+					model.refresh();
+					
+					if(model.getValue("/root/resData/rs_VO/rs_Row") == "ERRORC"){
+						alert("  钢卷没有打印出明细,不能进行标签打印操作 ");
+						return;
+					}
+					
+					if(model.getValue("/root/resData/rs_VO/rs_Row") == "ERRORT"){
+						alert("  钢卷没有排车,不能进行标签打印操作 ");
+						return;
+					}
+					
+					if(model.getValue("/root/resData/rs_VO/rs_Row") == "DLIV_TP"){
+						alert("  钢卷没有排车,请联系管理员 ");
+						return;
+					}
+					
+					alert(" 钢卷标志保存成功! ");
+					
+					//再查询一次
+					find();
+				}
+				
+				function saveExcelScript(sDGridName, sExcelSheetName, saveType) {
+					
+					
+					var sExcelName = window.fileDialog( "save", "", false, "SaveFileName", "xls", "Excel Files(*.xls)|*.xls" );
+					if ( sExcelName == "" ) {
+						return;
+					}
+
+//					var sCSVName = "C:\\TFSmartUpdater\\" + sExcelName.lastIndexOf(".") +".csv";
+					//这里先把数据放入csv文件,再从csv导入xls
+					var sCSVName = sExcelName +".csv";
+//					alert("sExcelName = ["+ sExcelName +"]\nsCSVName = ["+ sCSVName + "]");
+
+					eval(sDGridName).saveText(sCSVName, "\n", ",", '\:', true);	//DataGrid의 내용을 CSV파일로 생성
+					
+					ObjTFExcel.launchNewInstance(0);								//Execute EXCEL
+					ObjTFExcel.createWorkbook();									//Create new Workbook(for example:Sheet1,Sheet2,Sheet3) -- createWorkBook(Excel-TemplateFile)
+
+					ObjTFExcel.loadCSV(sCSVName);									//Loading Contents, from CSV to Excel
+
+					//Setting up EXCEL Layout.
+					//这里可以指定特定的行列不
+					var nRows = sDGridName.rows - sDGridName.fixedRows + 1;
+					
+					var nCols = sDGridName.cols;
+					
+					ObjTFExcel.fontcolor     (  01, 01, nRows, nCols           ) = "#000000"	;
+					ObjTFExcel.font          (  01, 01, nRows, nCols           ) = "SimSun"		;
+					//这里不需要加入边框信息
+					//ObjTFExcel.setBorderColor(  02, 02, nRows, nCols, "#000000")                ;
+					ObjTFExcel.bold          (  01, 01, nRows, nCols           ) = true	    	;
+					ObjTFExcel.fontsize	     (  01, 01, nRows, nCols           ) = 12		    ;
+					ObjTFExcel.underline     (  01, 01, nRows, nCols           ) = 0		    ;
+					ObjTFExcel.valign        (  01, 01, nRows, nCols           ) ="middle"	    ;
+					ObjTFExcel.halign        (  01, 02, nRows, nCols           ) ="left"	    ;
+
+					//Query-Results Data
+					var iRow = 1;	// iRow = HeaderLine + 1;
+
+					for(var i = iRow; i <= nRows; i++ ) {
+						if( (i%8) == 1 ) {
+							ObjTFExcel.rowHeight( i ) = 60;
+							ObjTFExcel.mergeCell( i, 01, i, nCols );
+						} else {
+							//这里设置标志主题的行宽
+							ObjTFExcel.rowHeight( i ) = 40;
+						}
+					}
+
+					ObjTFExcel.colwidth (      01               ) = 20		;
+					ObjTFExcel.colwidth (      02               ) = 20		;
+					ObjTFExcel.colwidth (      03               ) = 20		;
+					ObjTFExcel.colwidth (      04               ) = 20		;
+					
+					ObjTFExcel.sheetName(1) = sExcelSheetName;
+
+					ObjTFExcel.save(sExcelName);				//Saving EXCEL
+
+					ObjTFExcel.close();							//Closing EXCEL. (You must be closed EXCEL !!!)
+
+					window.exec("EXCEL.EXE", sExcelName);		//Openning EXCEL
+
+				}
+				
+			]]>
+		</script>
+	</xhtml:head>
+	<xhtml:body>
+		<caption id="caption1" class="cell" style="left:0px; top:10px; width:80px; height:20px; ">发货指示号</caption>
+		<object id="ObjTFExcel" clsid="{fe8d1001-6a9d-424d-ae2a-301493bb12da}" style="left:215px; top:10px; width:155px; height:25px; "/>
+		<datagrid id="datagrid1" nodeset="/root/datagrid1/COILResult_VO/COILResult_Row" scroll="both" caption="选择^钢卷号^生产流水号^炉号^原牌号^修改后牌号^合同号^重量^订单规格^生产日期^标准^打印页数^检验员^许可证号^许可证标识^备注^" colsep="^" colwidth="35, 90, 90, 80, 80, 100, 90, 80, 80, 90, 80, 100, 100, 100, 83, 200, 100" defaultrows="100" mergecellsfixedrows="bycolrec" rowheight="30" rowsep="|" style="left:0px; top:45px; width:980px; height:555px; ">
+			<col checkvalue="Y,N" ref="CHK" type="checkbox"/>
+			<col editable="false" ref="OLD_SAMPL_NO" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="COIL_NO" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="CHARE_NO" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="SPEC_STL_GRD" type="input" style="background-color:#ffffff; "/>
+			<col ref="CHANGE_SPEC_STL_GRD" type="input" maxlength="20" style="background-color:#ffff99; "/>
+			<col editable="false" ref="ORD_NO" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="ACT_WGT" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="THK_WTH" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="MILL_DTIME" type="input" style="background-color:#ffffff; "/>
+			<col editable="false" ref="SPEC_ABBSYM" type="input" style="background-color:#ffffff; "/>
+			<col ref="COIL_PAGES" type="combo" style="background-color:#ffff99; ">
+				<choices>
+					<item>
+						<label>1</label>
+						<value>1</value>
+					</item>
+					<item>
+						<label>2</label>
+						<value>2</value>
+					</item>
+					<item>
+						<label>3</label>
+						<value>3</value>
+					</item>
+				</choices>
+			</col>
+			<col ref="CHECKER_ID" type="input" maxlength="10" style="background-color:#ffff99; "/>
+			<col ref="LICENSE_NO" type="input" maxlength="20" style="background-color:#ffff99; "/>
+			<col ref="LICENSE_MARK" visibility="hidden"/>
+			<col ref="COIL_MARK_RESVER" type="input" maxlength="50" style="background-color:#ffff99; "/>
+			<col ref="DLIV_DIRNO" visibility="hidden"/>
+		</datagrid>
+		<button id="button2" visibility="visible" style="left:910px; top:20px; width:65px; height:25px; ">
+			<caption>导出excel</caption>
+			<script type="javascript" ev:event="DOMActivate">
+				<![CDATA[
+					model.removenode("/root/datagrid2");
+					model.makeNode("/root/datagrid2");
+					
+					model.refresh();
+					
+					var sCol_1 = "";
+					var sCol_2 = "";
+					var sCol_3 = "";
+					var sCol_4 = "";
+					var nRows2 = datagrid2.rows - datagrid2.fixedRows + 1;
+					
+					//alert("nRows2 : "+nRows2);
+					
+					//这里需要为导出方法准备数据,以键值对的形式
+					for(var i= datagrid1.fixedRows;i<datagrid1.rows;i++){
+						if(datagrid1.valueMatrix(i,datagrid1.colRef("CHK")) == "Y"){
+							//在这里按照需要打印的格式,拼成报表.这里nRows2 + 6代表的是总行数
+							for(var k=nRows2 ;k <= (nRows2 + 6); k++){
+								//这里使用套打格式的方法处理
+								if(((k%8) == 1) || ((k%8) == 0) ) {
+									sCol_1 = "";
+									sCol_2 = "";
+									sCol_3 = "";
+									sCol_4 = "";
+								}else if( (k%8) == 2 ) {
+									sCol_1 = " ";
+									sCol_2 =  model.getValue("/root/resData/COILResult_VO/COILResult_Row["+ i +"]/COIL_NO"   );
+									sCol_3 = " ";
+									sCol_4 =  model.getValue("/root/resData/COILResult_VO/COILResult_Row["+ i +"]/OLD_SAMPL_NO"   );
+								} else if( (k%8) == 3 ) {
+									sCol_1 = " ";
+									sCol_2 =  model.getValue("/root/resData/COILResult_VO/COILResult_Row["+ i +"]/CHARE_NO"   );
+									sCol_3 = " ";
+									sCol_4 =  model.getValue("/root/resData/COILResult_VO/COILResult_Row["+ i +"]/SPEC_STL_GRD" );
+								} else if( (k%8) == 4 ) {
+									sCol_1 = " ";
+									sCol_2 = model.getValue("/root/resData/COILResult_VO/COILResult_Row["+ i +"]/ORD_NO"  );
+									sCol_3 = " ";
+									sCol_4 =  model.getValue("/root/resData/COILResult_VO/COILResult_Row["+ i +"]/ACT_WGT" );
+								} else if( (k%8) == 5 ) {
+									sCol_1 = " ";
+									sCol_2 =  model.getValue("/root/resData/COILResult_VO/COILResult_Row["+ i +"]/THK_WTH"  );
+									sCol_3 = " ";
+									sCol_4 = model.getValue("/root/resData/COILResult_VO/COILResult_Row["+ i +"]/MILL_DTIME" );
+								}else if( (k%8) == 6 ) {
+									sCol_1 = " ";
+									sCol_2 =  model.getValue("/root/resData/COILResult_VO/COILResult_Row["+ i +"]/SPEC_ABBSYM"  );
+									sCol_3 = " ";
+									sCol_4 =  model.getValue("/root/resData/COILResult_VO/COILResult_Row["+ i +"]/CHECKER_ID" );
+								}else if( (k%8) == 7 ) {
+									sCol_1 = " ";
+									sCol_2 =  model.getValue("/root/resData/COILResult_VO/COILResult_Row["+ i +"]/LICENSE_NO"  );
+									sCol_3 = " ";
+									sCol_4 =  model.getValue("/root/resData/COILResult_VO/COILResult_Row["+ i +"]/LICENSE_MARK" );
+								}
+								
+								model.makeValue("/root/datagrid2/COILResult_VO/COILResult_Row["+ k +"]/COL_1" , sCol_1 );
+								model.makeValue("/root/datagrid2/COILResult_VO/COILResult_Row["+ k +"]/COL_2" , sCol_2 );
+								model.makeValue("/root/datagrid2/COILResult_VO/COILResult_Row["+ k +"]/COL_3" , sCol_3 );
+								model.makeValue("/root/datagrid2/COILResult_VO/COILResult_Row["+ k +"]/COL_4" , sCol_4 );
+								
+							}
+						}
+					}
+					
+					model.refresh();
+					
+					saveExcelScript(datagrid2, "Sheet1");
+					
+				]]>
+			</script>
+			<hint>
+				<![CDATA[导出的EXCEL文件请保存在C盘,
+			保存在桌面会提示相应的错误信息。
+]]>
+			</hint>
+		</button>
+		<datagrid id="datagrid2" nodeset="/root/datagrid2/COILResult_VO/COILResult_Row" visibility="hidden" caption="col1^col2^col3^col4" colsep="^" colwidth="100, 100, 100, 100" defaultrows="100" mergecellsfixedrows="bycolrec" rowsep="|" style="left:40px; top:105px; width:425px; height:460px; ">
+			<col ref="COL_1" type="output"/>
+			<col ref="COL_2"/>
+			<col ref="COL_3"/>
+			<col ref="COL_4"/>
+		</datagrid>
+		<input id="input1" ref="/root/searchData/DLIV_DIRNO" maxlength="12" style="left:80px; top:10px; width:115px; height:20px; "/>
+		<button id="button1" visibility="hidden" style="left:506px; top:15px; width:95px; height:15px; ">
+			<caption>button1</caption>
+			<script type="javascript" ev:event="onclick">
+				<![CDATA[
+				find();
+				]]>
+			</script>
+		</button>
+		<button id="button3" visibility="hidden" style="left:655px; top:10px; width:90px; height:20px; ">
+			<caption>button3</caption>
+			<script type="javascript" ev:event="onclick">
+				<![CDATA[
+				save();
+				]]>
+			</script>
+		</button>
+	</xhtml:body>
+</xhtml:html>

+ 92 - 0
.svn/pristine/05/055ce305100f8ef2e363f56bf735c9ecc2a40685.svn-base

@@ -0,0 +1,92 @@
+package xin.glue.ui.B.B01;
+
+import org.apache.commons.lang.StringUtils;
+
+import xin.glue.ui.B.common.SaveModifyHistory;
+
+import com.posdata.glue.biz.activity.PosActivity;
+import com.posdata.glue.biz.constants.PosBizControlConstants;
+import com.posdata.glue.context.PosContext;
+import com.posdata.glue.dao.PosGenericDao;
+import com.posdata.glue.dao.vo.PosParameter;
+
+/**
+ * @Description  {界面ID:UIB010071}
+ * @author       梅贵平{meiguiping}
+ * @date         20010-08-02 下午15:11:10
+ * @JDK Version  jdk1.4.2
+ */
+public class SaveIngrRound extends PosActivity 
+{
+
+	public String runActivity(PosContext context) 
+	{
+		
+		String	INFID			=	"UIB010071";//界面ID
+		PosParameter	param	=	null;
+		PosGenericDao	dao		=	this.getDao("mesdao");
+		
+		String[]	rowStatus	=	(String[])context.get("rowStatus");
+		String[]	REG_NM		=	(String[])context.get("REG_NM");//操作人
+		String[] 	CHEM_CD		=	(String[])context.get("CHEM_CD");//元素名
+		String[] 	CHEM_MIN	=	(String[])context.get("CHEM_MIN");//最小值
+		String[]	CHEM_MAX	=	(String[])context.get("CHEM_MAX");//最大值
+		String[]	DISPLAY_LEN	=	(String[])context.get("DISPLAY_LEN");//修约位数
+		String[]	ROND_STL_GRD	=	(String[])context.get("ROND_STL_GRD");//牌号
+		//下面三项只在更新时使用
+		String[]	CHEMCD		=	(String[])context.get("CHEMCD");
+		String[]	CHEMMIN		=	(String[])context.get("CHEMMIN");
+		String[]	CHEMMAX		=	(String[])context.get("CHEMMAX");
+		String[]	RONDSTLGRD	=	(String[])context.get("RONDSTLGRD");//牌号
+		
+		if(rowStatus != null)
+		{
+			int	len	=	rowStatus.length;
+			int	j	=	0;
+			for(int i = 0; i < len ; i++)
+			{
+				param	=	new PosParameter();
+				j		=	0;
+				if("".equals(CHEM_CD[i])&& "".equals(CHEM_MIN[i]) && "".equals(CHEM_MAX[i])  && StringUtils.isEmpty(ROND_STL_GRD[i]))
+					break;
+				else if("i".equals(rowStatus[i]))
+				{
+					param.setValueParamter(0, ROND_STL_GRD[i]);
+					param.setValueParamter(1, CHEM_CD[i]);
+					param.setValueParamter(2, CHEM_MIN[i]);
+					param.setValueParamter(3, CHEM_MAX[i]);
+					param.setValueParamter(4, DISPLAY_LEN[i]);
+					param.setValueParamter(5, REG_NM[0]);
+					dao.insert("UIB010171_01.INSERT", param);
+					SaveModifyHistory.writeLog(dao, INFID, "I", "UIB010171_01.INSERT", param.getValueParameters(), "", REG_NM[0]);
+				}
+				else if("u".equals(rowStatus[i]))
+				{
+					param.setWhereClauseParameter(j++, CHEM_CD[i]);
+					param.setWhereClauseParameter(j++, ROND_STL_GRD[i]);
+					param.setWhereClauseParameter(j++, CHEM_MIN[i]);
+					param.setWhereClauseParameter(j++, CHEM_MAX[i]);
+					param.setWhereClauseParameter(j++, DISPLAY_LEN[i]);
+					param.setWhereClauseParameter(j++, REG_NM[0]);
+					param.setWhereClauseParameter(j++, CHEMCD[i]);
+					param.setWhereClauseParameter(j++, CHEMMIN[i]);
+					param.setWhereClauseParameter(j++, CHEMMAX[i]);
+					param.setWhereClauseParameter(j++, RONDSTLGRD[i]);
+					dao.update("UIB010171_01.UPDATE", param);
+					SaveModifyHistory.writeLog(dao, INFID, "U", "UIB010171_01.UPDATE", param.getValueParameters(), "", REG_NM[0]);
+				}
+				else if("d".equals(rowStatus[i]))
+				{
+					param.setWhereClauseParameter(j++, CHEM_CD[i]);
+					param.setWhereClauseParameter(j++, CHEM_MIN[i]);
+					param.setWhereClauseParameter(j++, CHEM_MAX[i]);
+					param.setWhereClauseParameter(j++, ROND_STL_GRD[i]);
+					dao.delete("UIB010171_01.DELETE", param);
+					SaveModifyHistory.writeLog(dao, INFID, "D", "UIB010171_01.DELETE", param.getValueParameters(), "", REG_NM[0]);
+				}
+			}
+		}
+		return PosBizControlConstants.SUCCESS;
+	}
+
+}

+ 269 - 0
.svn/pristine/05/05663d66c9c38fb52ae835a3f0a10a36fd00fed6.svn-base

@@ -0,0 +1,269 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet " type="text/css" href="../../css/body.css" ?>
+<xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
+	<xhtml:head>
+		<xhtml:title>Untitle</xhtml:title>
+		<model id="model1">
+			<instance id="instance1">
+				<root xmlns="">
+					<reqData/>
+					<resData/>
+					<formData>
+						<gatherMethod>K</gatherMethod>
+						<SLAB_RT/>
+						<STL_GRD/>
+						<P_WTH/>
+						<P_THK/>
+						<P_CUR_PROG_CD/>
+					</formData>
+					<gridData>
+						<INSTR_COIL_THK/>
+						<SLAB_CNT750/>
+						<SLAB_CNT800/>
+						<SLAB_CNT850/>
+						<SLAB_CNT900/>
+						<SLAB_CNT950/>
+						<SLAB_CNT1000/>
+						<SLAB_CNT1050/>
+						<SLAB_CNT1100/>
+						<SLAB_CNT1150/>
+						<SLAB_CNT1200/>
+						<SLAB_CNT1250/>
+						<SLAB_CNT1300/>
+						<SLAB_CNT1350/>
+						<SLAB_CNT1400/>
+						<SLAB_CNT1450/>
+						<SUM_CNT>0</SUM_CNT>
+					</gridData>
+					<initResult/>
+					<g1Data/>
+				</root>
+			</instance>
+			<script type="javascript" ev:event="xforms-ready">
+				<![CDATA[
+					commSubmit("UIF022010-service","success","glueAction.do");  
+					model.duplicate("/root/initResult","/root/resData");//复制结点
+					//插入空串到第一个结点
+					//addAllOption("/root/initResult/resData/resultkey0_VO","/root/initResult/resData/resultkey0_VO/resultkey0_Row","FAC_STL_GRD","FAC_CODE","--全部--");
+					model.refresh();
+				]]>
+			</script>
+			<script type="javascript" src="../../js/boaMsg.js"/>
+			<script type="javascript" src="../../js/boaCommon.js"/>
+			<script type="javascript" src="../../js/dCommon.js"/>
+			<script type="javascript">
+				<![CDATA[
+				var m = 0;
+				//1、获取用户登录信息,只能在页面初始化函数中调用
+				function InitParams(node) 
+				{
+					if (typeof node == "undefined" && typeof node != "object") return;
+					model.removenode("/root/initData/rcvInfo");
+					model.makeNode("/root/initData/rcvInfo");
+					var nodeList = node.childNodes;
+					for (var i = 0; i < nodeList.length; i++)
+						model.instances(0).selectSingleNode("/root/initData/rcvInfo").appendChild(nodeList.item(i));
+				}
+				
+				//2. 页面初始化函数(必须)
+				function Init(node) 
+				{
+					InitParams(node); // 用于设置节点:/root/initData/rcvInfo,获取用户登录信息
+							  // 在程序中会重建该节点,最好不要重名
+							  // 函数 InitParams 在 mesCommon.js 中,仅在需要使用登录用户信息时调用
+					//...
+				}
+				
+				//3、页面标题
+				function setTitle() 
+				{
+					return "热轧管制 >> 作业进程现状 >> 各钢卷厚度板坯宽度物料分析现况"; // 如:return "进程管理 >> 订单进程现况查询";
+				}
+				
+				//4. 页面按键动作
+				// 查询按键
+				function find() 
+				{		
+					if(m != 0)
+				    {
+					    datagrid1.rowstyle(m, "data", "background-color") = "#ffffff";
+						datagrid1.rowstyle(m, "data", "color") = "#000000";	
+				    }			
+					model.removenode("/root/reqData");
+					model.makeNode("/root/reqData");
+					commSendReq("/root/formData");
+					if(combo3.value == 'K') {
+							datagrid1.nodeset = "/root/g1Data/rs1_VO/rs1_Row";
+							commSubmit("UIF022010-service","countMaterielCoilThkSlabWthByK","glueAction.do"); 
+							model.removenode("/root/g1Data");
+							model.makeNode("/root/g1Data");
+							commAppendData("/root/g1Data/rs1_VO","/root/resData/rs1_VO");
+						 
+					}
+					else {
+							datagrid1.nodeset = "/root/g1Data/rs2_VO/rs2_Row";
+							commSubmit("UIF022010-service","countMaterielCoilThkSlabWthByW","glueAction.do");
+							model.removenode("/root/g1Data");
+							model.makeNode("/root/g1Data");
+							commAppendData("/root/g1Data/rs2_VO","/root/resData/rs2_VO");
+					}	
+					model.refresh();
+					if(datagrid1.rows> 1) {
+						m= datagrid1.rows-1;
+						datagrid1.rowstyle(datagrid1.rows-1, "data", "background-color") = "#ffffcc";
+						datagrid1.rowstyle(datagrid1.rows-1, "data", "color") = "red";
+						datagrid1.colstyle(datagrid1.cols-1, "data", "background-color") = "#ffffcc";
+						datagrid1.colstyle(datagrid1.cols-1, "data", "color") = "red";
+					}				
+				}
+				//添加全部选项到combo头部
+				function addAllOption(srcpath,targetpath,lable,value,allvalue) {
+					     model.duplicate(srcpath,targetpath);
+					     model.setValue(targetpath + "/" +lable,allvalue);					
+						 model.setValue(targetpath + "/" +value,"");						
+				}	
+				]]>
+			</script>
+		</model>
+	</xhtml:head>
+	<xhtml:body pagewidth="980" pageheight="620" guideline="1,980;2,620;" style="font-family:宋体; ">
+		<line id="line3" style="x1:1px; y1:29px; x2:980px; y2:29px; border-color:#ff00ff; "/>
+		<datagrid id="datagrid1" nodeset="/root/g1Data/rs1_VO/rs1_Row" scroll="auto" backcoloralternate="#f7f9f9" caption="轧制厚度\板坏宽度^≤750^≤800^≤850^≤900^≤950^≤1000^≤1050^≤1100^≤1150^≤1200^≤1250^≤1300^≤1350^≤1400^≤1450^&gt;1450^合计|轧制厚度\板坏宽度^≤750^≤800^≤850^≤900^≤950^≤1000^≤1050^≤1100^≤1150^≤1200^≤1250^≤1300^≤1350^≤1400^≤1450^&gt;1450^合计" colsep="^" colwidth="84, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 94" defaultrows="0" extendlastcol="false" fixedcols="1" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:33px; width:980px; height:316px; ">
+			<col ref="INSTR_COIL_THK" format="#,##0"/>
+			<col ref="SLAB_CNT750" format="#,##0" style="text-decoration:underline; color:#0000ff; text-align:right; "/>
+			<col ref="SLAB_CNT800" format="#,##0" style="text-decoration:underline; color:#0000ff; text-align:right; "/>
+			<col ref="SLAB_CNT850" format="#,##0" style="text-decoration:underline; color:#0000ff; text-align:right; "/>
+			<col ref="SLAB_CNT900" format="#,##0" style="text-decoration:underline; color:#0000ff; text-align:right; "/>
+			<col ref="SLAB_CNT950" format="#,##0" style="text-decoration:underline; color:#0000ff; text-align:right; "/>
+			<col ref="SLAB_CNT1000" format="#,##0" style="text-decoration:underline; color:#0000ff; text-align:right; "/>
+			<col ref="SLAB_CNT1050" format="#,##0" style="text-decoration:underline; color:#0000ff; text-align:right; "/>
+			<col ref="SLAB_CNT1100" format="#,##0" style="text-decoration:underline; color:#0000ff; text-align:right; "/>
+			<col ref="SLAB_CNT1150" format="#,##0" style="text-decoration:underline; color:#0000ff; text-align:right; "/>
+			<col ref="SLAB_CNT1200" format="#,##0" style="text-decoration:underline; color:#0000ff; text-align:right; "/>
+			<col ref="SLAB_CNT1250" format="#,##0" style="text-decoration:underline; color:#0000ff; text-align:right; "/>
+			<col ref="SLAB_CNT1300" format="#,##0" style="text-decoration:underline; color:#0000ff; text-align:right; "/>
+			<col ref="SLAB_CNT1350" format="#,##0" style="text-decoration:underline; color:#0000ff; text-align:right; "/>
+			<col ref="SLAB_CNT1400" format="#,##0" style="text-decoration:underline; color:#0000ff; text-align:right; "/>
+			<col ref="SLAB_CNT1450" format="#,##0" style="text-decoration:underline; color:#0000ff; text-align:right; "/>
+			<col ref="SLAB_CNT_BIG1450" format="#,##0" style="text-decoration:underline; color:#0000ff; text-align:right; "/>
+			<col ref="SUM_CNT" format="#,##0" style="text-decoration:underline; color:#0000ff; text-align:right; "/>
+			<script type="javascript" ev:event="onclick">
+				<![CDATA[
+					if(datagrid1.col== 0) return;
+					if(datagrid1.row <= 1) return;
+					if (!datagrid1.isCell(event.target)) return;
+						var v_wth_title = "";
+				         var v_thk_title = "";				        
+				         v_wth_title = datagrid1.valueMatrix(0,datagrid1.col);
+				         v_thk_title = datagrid1.valueMatrix(datagrid1.row,0);	
+//				         alert( "v_wth_title:" + v_wth_title + "---v_thk_title:"+v_thk_title);		          	
+				         model.setValue("/root/formData/P_WTH",v_wth_title);
+				         model.setValue("/root/formData/P_THK",v_thk_title);
+				         model.removenode("/root/reqData");
+						model.makeNode("/root/reqData");
+						commSendReq("/root/formData");
+						commSubmit("UIF022010-service","onclick","glueAction.do");
+				]]>
+			</script>
+		</datagrid>
+		<caption id="caption2" class="cell" style="left:0px; top:5px; width:90px; height:20px; ">去向</caption>
+		<caption id="caption1" class="cell" style="left:212px; top:5px; width:90px; height:20px; ">钢号</caption>
+		<caption id="caption3" class="cell" style="left:561px; top:5px; width:90px; height:20px; ">集合方法</caption>
+		<select1 id="combo1" ref="/root/formData/SLAB_RT" scroll="auto" appearance="minimal" style="left:92px; top:5px; width:110px; height:20px; ">
+			<choices>
+				<item>
+					<label>--全部--</label>
+					<value/>
+				</item>
+				<item>
+					<label>热轧</label>
+					<value>H</value>
+				</item>
+				<item>
+					<label>冷轧</label>
+					<value>C</value>
+				</item>
+			</choices>
+		</select1>
+		<select1 id="combo2" ref="/root/formData/STL_GRD" appearance="minimal" editmode="inputsearch" style="left:304px; top:5px; width:248px; height:20px; ">
+			<choices>
+				<itemset nodeset="/root/initResult/resData/resultkey0_VO/resultkey0_Row">
+					<label ref="FAC_STL_GRD"/>
+					<value ref="FAC_CODE"/>
+				</itemset>
+			</choices>
+		</select1>
+		<select1 id="combo3" ref="/root/formData/gatherMethod" appearance="minimal" style="left:653px; top:5px; width:110px; height:20px; ">
+			<choices>
+				<item>
+					<label>块数</label>
+					<value>K</value>
+				</item>
+				<item>
+					<label>重量</label>
+					<value>W</value>
+				</item>
+			</choices>
+		</select1>
+		<line id="line1" style="x1:0px; y1:352px; x2:979px; y2:352px; border-color:#ff00ff; "/>
+		<datagrid id="datagrid2" nodeset="/root/resData/rs_VO/rs_Row" scroll="auto" backcoloralternate="#f7f9f9" caption="板坯号^板坯^板坯^板坯^板坯^订单^订单^轧制^轧制^轧制^轧制^轧制^轧制^轧制^轧制^进程^堆置位置^热送代号^合同号^订单号^钢号^标准号^订单用途^交货期^紧急材^去向^去向|板坯号^厚度^宽度^长度^重量^厚度^宽度^目标厚度^厚度下限^厚度上限^目标宽度^宽度下限^宽度上限^长度^重量^进程^堆置位置^热送代号^合同号^订单号^钢号^标准号^订单用途^交货期^紧急材^去向^去向" colsep="^" colwidth="100, 50, 50, 50, 50, 50, 50, 55, 55, 55, 55, 55, 55, 55, 55, 55, 37, 35, 67, 44, 54, 43, 110, 100, 42, 55" defaultrows="0" explorerbar="sortshowmove" extendlastcol="false" fixedcols="2" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:0px; top:356px; width:980px; height:264px; ">
+			<col editable="false" ref="SLAB_NO" type="input" style="left:336px; top:40px; width:285px; height:20px; text-align:center; "/>
+			<col ref="SLAB_THK" format="#,##0" style="text-align:right; "/>
+			<col ref="SLAB_WTH" format="#,##0" style="text-align:right; "/>
+			<col ref="SLAB_LEN" format="#,##0" style="text-align:right; "/>
+			<col ref="SLAB_WGT" format="#,##0" style="text-align:right; "/>
+			<col ref="ORD_THK" format="#.##0" style="text-align:right; "/>
+			<col ref="ORD_WTH" format="#,##0" style="text-align:right; "/>
+			<col editable="false" ref="HOT_THK_AIM" type="input" format="#.##0" style="text-align:right; "/>
+			<col ref="HOT_THK_MIN" format="#.##0" style="text-align:right; "/>
+			<col ref="HOT_THK_MAX" format="#.##0" style="text-align:right; "/>
+			<col editable="false" ref="WTH_AIM" type="input" format="#,##0" style="text-align:right; "/>
+			<col ref="WTH_MIN" format="#,##0" style="text-align:right; "/>
+			<col ref="WTH_MAX" format="#,##0" style="text-align:right; "/>
+			<col editable="false" ref="MILL_LEN" type="input" format="#,##0" style="text-align:right; "/>
+			<col ref="MILL_WGT" format="#,##0" style="text-align:right; "/>
+			<col ref="CUR_PROG_CD" style="text-align:left; "/>
+			<col editable="false" ref="CUR_LOAD_LOC" type="input" style="text-align:center; "/>
+			<col disabled="true" editmode="search" ref="HCR_CLF" style="text-align:center; "/>
+			<col editable="false" ref="ORD_NO" type="input" style="text-align:center; "/>
+			<col editable="false" ref="ORD_SEQ" type="input" style="text-align:center; "/>
+			<col editable="false" editmode="search" ref="STL_GRD" type="input" style="text-align:left; "/>
+			<col ref="SPEC_ABBSYM" style="text-align:left; "/>
+			<col disabled="true" editmode="search" ref="ORD_USEAGE_CD" style="text-align:left; "/>
+			<col ref="DEL_TO_DATE" format="yyyy-mm-dd" style="text-align:center; "/>
+			<col ref="EMGMTR_NMG_CLF"/>
+			<col disabled="true" editmode="search" ref="SLAB_RT" style="text-align:center; "/>
+			<script type="javascript" ev:event="onclick">
+				<![CDATA[
+					RollManaNo = datagrid1.valueMatrix(datagrid1.row,datagrid1.colRef("ROLL_MANA_NO"));
+					slab_no = datagrid1.valueMatrix(datagrid1.row,datagrid1.colRef("SLAB_NO"));
+				]]>
+			</script>
+		</datagrid>
+		<caption id="caption4" class="cell" style="left:772px; top:5px; width:90px; height:20px; ">进程状态</caption>
+		<select1 id="combo4" ref="/root/formData/P_CUR_PROG_CD" appearance="minimal" style="left:864px; top:5px; width:110px; height:20px; ">
+			<choices>
+				<item>
+					<label>全部</label>
+					<value/>
+				</item>
+				<item>
+					<label>轧制指示待机</label>
+					<value>RBA</value>
+				</item>
+				<item>
+					<label>加热炉入炉待机</label>
+					<value>RBB</value>
+				</item>
+				<item>
+					<label>精整作业待机</label>
+					<value>RAB</value>
+				</item>
+				<item>
+					<label>板坯充当待机</label>
+					<value>RRC</value>
+				</item>
+			</choices>
+		</select1>
+	</xhtml:body>
+</xhtml:html>

BIN
.svn/pristine/05/05710048ec764baba26541b740a89cfa63264311.svn-base


Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác