2 Komitmen 4d652b5938 ... 1105ec3dbe

Pembuat SHA1 Pesan Tanggal
  wdl 1105ec3dbe first commit 11 bulan lalu
  wudonglin 4d652b5938 Initial commit 11 bulan lalu
100 mengubah file dengan 14500 tambahan dan 14 penghapusan
  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. TEMPAT SAMPAH
      .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. TEMPAT SAMPAH
      .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. TEMPAT SAMPAH
      .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. TEMPAT SAMPAH
      .svn/pristine/01/016d0bc512222f1253ee6b64d389c84e22f697f0.svn-base
  35. 43 0
      .svn/pristine/01/01725b1932a0109dc28c4718759a69f0271f3603.svn-base
  36. TEMPAT SAMPAH
      .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. TEMPAT SAMPAH
      .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. TEMPAT SAMPAH
      .svn/pristine/02/0275734c02dbf88b905e5ff61ca60ef5afc2988a.svn-base
  49. TEMPAT SAMPAH
      .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. TEMPAT SAMPAH
      .svn/pristine/02/02a2cb7a0ae4ee5de122a0ea19258d722f34fbe8.svn-base
  55. TEMPAT SAMPAH
      .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. TEMPAT SAMPAH
      .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. TEMPAT SAMPAH
      .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. TEMPAT SAMPAH
      .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. TEMPAT SAMPAH
      .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. TEMPAT SAMPAH
      .svn/pristine/03/03dffc5bc1847f49e9908727c657129e52ec5a80.svn-base
  79. TEMPAT SAMPAH
      .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. TEMPAT SAMPAH
      .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. TEMPAT SAMPAH
      .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. TEMPAT SAMPAH
      .svn/pristine/04/049e14e6cc338928fda86e453e9f2245da0e6bda.svn-base
  92. 64 0
      .svn/pristine/04/04bd60243c38300b39e45e6d26a418e22695c05e.svn-base
  93. TEMPAT SAMPAH
      .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. TEMPAT SAMPAH
      .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;
+	}
+
+}

TEMPAT SAMPAH
.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;
+	}
+}

TEMPAT SAMPAH
.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>

TEMPAT SAMPAH
.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;
+	}
+
+}

TEMPAT SAMPAH
.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>
+

TEMPAT SAMPAH
.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>

TEMPAT SAMPAH
.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>

TEMPAT SAMPAH
.svn/pristine/02/0275734c02dbf88b905e5ff61ca60ef5afc2988a.svn-base


TEMPAT SAMPAH
.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>
+

TEMPAT SAMPAH
.svn/pristine/02/02a2cb7a0ae4ee5de122a0ea19258d722f34fbe8.svn-base


TEMPAT SAMPAH
.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;
+	}
+}

TEMPAT SAMPAH
.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>

TEMPAT SAMPAH
.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;
+		
+	}	
+}
+

TEMPAT SAMPAH
.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);
+				 	 
+	}
+}

TEMPAT SAMPAH
.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>

TEMPAT SAMPAH
.svn/pristine/03/03dffc5bc1847f49e9908727c657129e52ec5a80.svn-base


TEMPAT SAMPAH
.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>

TEMPAT SAMPAH
.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>
+

TEMPAT SAMPAH
.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>

TEMPAT SAMPAH
.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>

TEMPAT SAMPAH
.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>

TEMPAT SAMPAH
.svn/pristine/05/05710048ec764baba26541b740a89cfa63264311.svn-base


Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini