SMLPT00100_조직은행보관등록.xrw 44 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SMLPT00100_조직은행관리
  4. * 설 명 : 조직은행관리
  5. * 설 계 자 : (주)에이씨케이 - 유동철
  6. * 작 성 자 : (주)에이씨케이 - 유동철
  7. * 작 성 일 : 2007.09.21
  8. * 수정이력 :
  9. * 기 타 :
  10. -->
  11. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  12. <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">
  13. <xhtml:head>
  14. <xhtml:title>조직은행 보관관리</xhtml:title>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root xmlns="">
  18. <main>
  19. <acptspc>
  20. <acptspclist>
  21. <choi/>
  22. <ptno/>
  23. <dispptno/>
  24. <spcnm/>
  25. <pid/>
  26. <patnm/>
  27. <keepflagcd/>
  28. <tbno/>
  29. <disptbno/>
  30. </acptspclist>
  31. </acptspc>
  32. <cellinfo>
  33. <cellinfolist>
  34. <cell01 ptno=""/>
  35. <cell02 ptno=""/>
  36. <cell03 ptno=""/>
  37. <cell04 ptno=""/>
  38. <cell05 ptno=""/>
  39. <cell06 ptno=""/>
  40. <cell07 ptno=""/>
  41. <cell08 ptno=""/>
  42. <cell09 ptno=""/>
  43. <cell10 ptno=""/>
  44. <cell11 ptno=""/>
  45. <cell12 ptno=""/>
  46. <cell13 ptno=""/>
  47. <cell14 ptno=""/>
  48. <cell15 ptno=""/>
  49. <cell16 ptno=""/>
  50. <cell17 ptno=""/>
  51. <cell18 ptno=""/>
  52. <cell19 ptno=""/>
  53. <cell20 ptno=""/>
  54. </cellinfolist>
  55. </cellinfo>
  56. </main>
  57. <send/>
  58. <init>
  59. <acptfromdd/>
  60. <acpttodd/>
  61. <ptnocode/>
  62. <fromyear/>
  63. <fromptno/>
  64. <toyear/>
  65. <toptno/>
  66. <pid/>
  67. <reqdrid/>
  68. <sysdt>
  69. <sysdtinfo>
  70. <sysdd/>
  71. <systm/>
  72. </sysdtinfo>
  73. </sysdt>
  74. <ptnocd>
  75. <ptnocdlist>
  76. <instcd/>
  77. <ptnocd/>
  78. <ptnonm/>
  79. </ptnocdlist>
  80. </ptnocd>
  81. <popupmenu>
  82. <item>
  83. <nm>상세정보조회</nm>
  84. <funt>fExeKeepPopup</funt>
  85. </item>
  86. </popupmenu>
  87. <tissbank>
  88. <eqmtlist>
  89. <instcd/>
  90. <eqmtcd/>
  91. <eqmtnm/>
  92. <sectcnt/>
  93. <rackcnt/>
  94. <boxcnt/>
  95. <tissflagcd/>
  96. </eqmtlist>
  97. </tissbank>
  98. <sectinfo>
  99. <sectlist>
  100. <value/>
  101. <name/>
  102. </sectlist>
  103. </sectinfo>
  104. <rackinfo>
  105. <racklist>
  106. <value/>
  107. <name/>
  108. </racklist>
  109. </rackinfo>
  110. <boxinfo>
  111. <boxlist>
  112. <value/>
  113. <name/>
  114. </boxlist>
  115. </boxinfo>
  116. <eqmtdetl>
  117. <eqmtdetlinfo>
  118. <instcd/>
  119. <eqmtcd/>
  120. <sectno/>
  121. <rackno/>
  122. <boxno/>
  123. <horicnt/>
  124. <vertcnt/>
  125. <keepcnt/>
  126. </eqmtdetlinfo>
  127. <celllist>
  128. <posno/>
  129. </celllist>
  130. </eqmtdetl>
  131. <userinfo>
  132. <userinfolist>
  133. <userid/>
  134. <usernm/>
  135. <jobkindcd/>
  136. </userinfolist>
  137. </userinfo>
  138. <hospenv>
  139. <hospenvinfo>
  140. <instcd/>
  141. <lendrtnterm/>
  142. <recvqualmthdcd/>
  143. <plgydeptcd/>
  144. <plgyteamcd/>
  145. <doctjobgradcd/>
  146. <teamjobgradcd/>
  147. </hospenvinfo>
  148. </hospenv>
  149. <tbnolist>
  150. <tbnolistinfo>
  151. <instcd/>
  152. <pid/>
  153. <tbno/>
  154. <disptbno/>
  155. </tbnolistinfo>
  156. </tbnolist>
  157. </init>
  158. <hidden>
  159. <eqcd/>
  160. <sectno/>
  161. <boxno/>
  162. <hcnt/>
  163. <vcnt/>
  164. <cnfmflag/>
  165. <rackno/>
  166. </hidden>
  167. <temp>
  168. <tbnolist>
  169. <tbnolistinfo>
  170. <instcd/>
  171. <pid/>
  172. <tbno/>
  173. <disptbno/>
  174. </tbnolistinfo>
  175. </tbnolist>
  176. </temp>
  177. </root>
  178. </instance>
  179. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  180. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  181. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  182. <script type="javascript" src="../../../lis/commonweb/js/LPZ001.js"/>
  183. <script type="javascript" ev:event="xforms-ready">
  184. <![CDATA[
  185. fExeInitialize();
  186. ]]>
  187. </script>
  188. <submission id="TRLPZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/hospenv/hospenvinfo"/>
  189. <submission id="TRLPZ00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/sysdt/sysdtinfo"/>
  190. <submission id="TRLPZ00105" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/userinfo/userinfolist"/>
  191. <submission id="TRLPZ00109" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/ptnocd/ptnocdlist"/>
  192. <submission id="TRLPT00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/tissbank/eqmtlist"/>
  193. <submission id="TRLPT00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/eqmtdetl/eqmtdetlinfo"/>
  194. <submission id="TXLPT00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/message"/>
  195. <submission id="TRLPT00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/acptspc/acptspclist"/>
  196. <submission id="TXLPT00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/message"/>
  197. <submission id="TRLPT00104" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/tbnolist/tbnolistinfo"/>
  198. </model>
  199. <script type="javascript">
  200. <![CDATA[
  201. /* @group :조직은행보관등록
  202. * @ver : 2006.12.23 (CMCDEV-0001)
  203. * @by : 유동철(ACK)
  204. * @-----------------------------------
  205. * @type : function
  206. * @access : public
  207. * @desc : 초기화 Function
  208. */
  209. function fExeInitialize() {
  210. var sCurDate = "";
  211. //---------------------------------------------------
  212. model.removeNodeset("/root/main/acptspc/acptspclist");
  213. //---------------
  214. // 시스템일시 조회
  215. model.removeNodeset("/root/send");
  216. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  217. submit("TRLPZ00101", false);
  218. submit("TRLPZ00102", false);
  219. submit("TRLPZ00109", false);
  220. submit("TRLPT00101", false);
  221. //---------------------------------------------------------
  222. // 병원환경정보를 취득하여 병리과와 병리팀 코드를 편집한다.
  223. lpzfUserDeptCd("/root/init/hospenv/hospenvinfo", "/root/hidden");
  224. //-------------------------------------------------------------------------------------
  225. model.makeValue("/root/send/userdeptcd", model.getValue("/root/hidden/userdeptcd"));
  226. model.makeValue("/root/send/doctjobgradcd", model.getValue("/root/init/hospenv/hospenvinfo/doctjobgradcd"));
  227. model.makeValue("/root/send/teamjobgradcd", model.getValue("/root/init/hospenv/hospenvinfo/teamjobgradcd"));
  228. submit("TRLPZ00105");
  229. //------------------------------------------------------------
  230. sCurDate = model.getValue("/root/init/sysdt/sysdtinfo/sysdd");
  231. model.makeValue("/root/init/acptfromdd", model.getValue("/root/init/sysdt/sysdtinfo/sysdd"));
  232. model.makeValue("/root/init/acpttodd", model.getValue("/root/init/sysdt/sysdtinfo/sysdd"));
  233. model.makeValue("/root/init/ptnocode", "");
  234. model.makeValue("/root/init/fromyear", sCurDate.substr(2,2));
  235. model.makeValue("/root/init/toyear", sCurDate.substr(2,2));
  236. model.makeValue("/root/init/fromptno", "");
  237. model.makeValue("/root/init/toptno", "");
  238. //-----------------------------
  239. grd_celllist.dataheight = 52;
  240. fExeCellTitleChange();
  241. //------------------------------------
  242. // 10개 이후의 컬럼은 기본적으로 숨긴다.
  243. for (iColNo=10; iColNo <= (grd_celllist.cols - 1); iColNo++) {
  244. grd_celllist.colHidden(iColNo) = true;
  245. }
  246. }
  247. /* @group :조직은행보관등록
  248. * @ver : 2006.12.23 (CMCDEV-0001)
  249. * @by : 유동철(ACK)
  250. * @-----------------------------------
  251. * @type : function
  252. * @access : public
  253. * @desc : Cell List 검색 Function
  254. */
  255. function fGetCellList() {
  256. var iColNo = 0;
  257. var iRowNo = 0;
  258. var re = /▨/g; // i:1회실행, g:모두실행, gi:전역실행(대소문자 안가림)
  259. var sColNo = "";
  260. var sPtNoList = "";
  261. var sCellNode = "/root/main/cellinfo/cellinfolist";
  262. var sSrcNode = "/root/init/eqmtdetl/celllist";
  263. //-----------------
  264. // Cell List를 검색
  265. model.removeNodeset("/root/send");
  266. model.removeNodeset("/root/init/eqmtdetl/eqmtdetlinfo");
  267. model.removeNodeset("/root/init/eqmtdetl/celllist");
  268. model.removeNodeset("/root/main/cellinfo/cellinfolist");
  269. //------------------------------------------------------------
  270. if (model.getValue("/root/hidden/sectno") == "") return false;
  271. if (model.getValue("/root/hidden/rackno") == "") return false;
  272. if (model.getValue("/root/hidden/boxno") == "") return false;
  273. //-----------------------------------------------------------------
  274. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  275. model.makeValue("/root/send/eqmtcd", model.getValue("/root/hidden/eqcd"));
  276. model.makeValue("/root/send/sectno", model.getValue("/root/hidden/sectno"));
  277. model.makeValue("/root/send/rackno", model.getValue("/root/hidden/rackno"));
  278. model.makeValue("/root/send/boxno", model.getValue("/root/hidden/boxno"));
  279. submit("TRLPT00102");
  280. //------------------------------------------------------------
  281. if (getNodesetCount("/root/init/eqmtdetl/eqmtdetlinfo") > 0) {
  282. model.setValue("/root/hidden/cnfmflag", "확정");
  283. model.setValue("/root/hidden/hcnt", model.getValue("/root/init/eqmtdetl/eqmtdetlinfo/horicnt"));
  284. model.setValue("/root/hidden/vcnt", model.getValue("/root/init/eqmtdetl/eqmtdetlinfo/vertcnt"));
  285. fExeCellChange();
  286. //-----------------------------------
  287. if (getNodesetCount(sSrcNode) > 0) {
  288. for (var iNo=1; iNo <= getNodesetCount(sSrcNode); iNo++) {
  289. //------------------------------------------------------------------------------------------------------------------
  290. iRowNo = parseInt(Number(model.getValue(sSrcNode+"["+iNo+"]/posno")) / (Number(model.getValue("/root/hidden/hcnt"))));
  291. iColNo = Number(model.getValue(sSrcNode+"["+iNo+"]/posno")) % (Number(model.getValue("/root/hidden/hcnt")));
  292. //---------------
  293. if (iRowNo > 0) {
  294. if (iColNo == 0) {
  295. iRowNo -= 1;
  296. iColNo = model.getValue("/root/hidden/hcnt");
  297. }
  298. }
  299. //--------------------------------------------
  300. sColNo = iColNo.toString().getLeftPad(2, "0");
  301. sPtNoList = model.getValue(sSrcNode+"["+iNo+"]/ptnolist");
  302. sPtNoList = sPtNoList.replace(re, "\n");
  303. //-----------------------
  304. // 조직은행 병리번호 추가
  305. sPtNoList = "["+model.getValue(sSrcNode+"["+iNo+"]/dispptno") + "]\n" + sPtNoList;
  306. model.makeValue(sCellNode+"["+Number(iRowNo+1)+"]/cell"+sColNo, sPtNoList);
  307. model.makeValue(sCellNode+"["+Number(iRowNo+1)+"]/cell"+sColNo+"/@ptno", model.getValue(sSrcNode+"["+iNo+"]/ptno"));
  308. }
  309. }
  310. } else {
  311. model.setValue("/root/hidden/cnfmflag", "미확정");
  312. model.setValue("/root/hidden/hcnt", "0");
  313. model.setValue("/root/hidden/vcnt", "0");
  314. }
  315. //--------------
  316. model.refresh();
  317. }
  318. /* @group :조직은행보관등록
  319. * @ver : 2006.12.23 (CMCDEV-0001)
  320. * @by : 유동철(ACK)
  321. * @-----------------------------------
  322. * @type : function
  323. * @access : public
  324. * @desc : Cell List 검색 Function
  325. */
  326. function fExeCellTitleChange() {
  327. var iColWidth = 0;
  328. var iRowHeight = 0;
  329. //---------------------------------------------------------------
  330. grd_celllist.caption = "A^B^C^D^E^F^G^H^I^J^K^L^M^N^O^P^Q^R^S^U";
  331. //--------------------------------------------------------------------------------------------
  332. if (model.getValue("/root/hidden/hcnt") == "" || model.getValue("/root/hidden/hcnt") == "0") {
  333. iColWidth = 74;
  334. iRowHeight = 52;
  335. } else {
  336. iColWidth = parseInt(740 / Number(model.getValue("/root/hidden/hcnt")));
  337. iRowHeight = parseInt(550 / Number(model.getValue("/root/hidden/vcnt")));
  338. }
  339. //--------------------------------------------------
  340. for (var iNo=1; iNo <= grd_celllist.cols-1; iNo++) {
  341. grd_celllist.colWidth(iNo) = iColWidth;
  342. }
  343. //-----------------------------------
  344. grd_celllist.dataheight = iRowHeight;
  345. model.refresh();
  346. }
  347. /* @group :조직은행보관등록
  348. * @ver : 2007.01.27 (CMCDEV-0001)
  349. * @by : 유동철(ACK)
  350. * @-----------------------------------
  351. * @type : function
  352. * @access : public
  353. * @desc : 그리드 Cell 수 변경처리 Function
  354. */
  355. function fExeCellChange() {
  356. var sColNo = "";
  357. var iMaxCol = model.getValue("/root/hidden/hcnt");
  358. //---------------------------
  359. // 수평, 수직값의 입력여부 검사
  360. if (model.getValue("/root/hidden/hcnt") == "" || model.getValue("/root/hidden/vcnt") == "") {
  361. model.alert("수평/수직 Cell수를 확인바랍니다. 갯수가 입력되어야 합니다");
  362. return false;
  363. }
  364. if (parseInt(model.getValue("/root/hidden/hcnt")) == 0 || parseInt(model.getValue("/root/hidden/vcnt")) == 0) {
  365. model.alert("수평/수직 Cell수를 확인바랍니다. 0보다 큰 수 가 입력되어야 합니다");
  366. return false;
  367. }
  368. //---------------------------------------------------------
  369. // 최대 20개의 컬럼중 지정된 컬럼을 제외한 나머지를 숨긴다.
  370. for (iColNo=1; iColNo <= (grd_celllist.cols - 1); iColNo++) {
  371. //---------------------
  372. if (iColNo > iMaxCol) {
  373. grd_celllist.colHidden(iColNo) = true;
  374. }
  375. else {
  376. grd_celllist.colHidden(iColNo) = false;
  377. }
  378. }
  379. //---------------------------------
  380. // 지정된 로우 수 만큼 재 생성한다.
  381. for (iRowNo=1; iRowNo <= parseInt(model.getValue("/root/hidden/vcnt")); iRowNo++) {
  382. if (iRowNo >= grd_celllist.rows) {
  383. grd_celllist.addRow();
  384. }
  385. //---------------------------------
  386. for (var iNo=1; iNo <= 20; iNo++) {
  387. sColNo = iNo.toString().getLeftPad(2, "0");
  388. model.makeValue("/root/main/cellinfo/cellinfolist["+iRowNo+"]/cell"+sColNo+"/@ptno", "");
  389. }
  390. }
  391. //-------------------------------------------------
  392. // 지정된 로루 수 보다 많은 그리드 로우를 삭제한다.
  393. for (iRowNo=(grd_celllist.rows-1); iRowNo > parseInt(model.getValue("/root/hidden/vcnt")); iRowNo--) {
  394. grd_celllist.deleteRow(iRowNo);
  395. }
  396. //--------------------
  397. fExeCellTitleChange();
  398. }
  399. /* @group :조직은행보관등록
  400. * @ver : 2007.09.29 (CMCDEV-0001)
  401. * @by : 유동철(ACK)
  402. * @-----------------------------------
  403. * @type : function
  404. * @access : public
  405. * @desc : 장비코드 변경 처리 Function
  406. */
  407. function fExeEqmtChng() {
  408. var sNode = "/root/init/tissbank/eqmtlist";
  409. var iSectCnt = model.getValue(sNode+"[instcd='"+getUserInfo("dutplceinstcd")+"' and eqmtcd='"+model.getValue("/root/hidden/eqcd")+"']/sectcnt");
  410. var iRackCnt = model.getValue(sNode+"[instcd='"+getUserInfo("dutplceinstcd")+"' and eqmtcd='"+model.getValue("/root/hidden/eqcd")+"']/rackcnt");
  411. var iBoxCnt = model.getValue(sNode+"[instcd='"+getUserInfo("dutplceinstcd")+"' and eqmtcd='"+model.getValue("/root/hidden/eqcd")+"']/boxcnt");
  412. //-------------------------------------------
  413. model.makeValue("/root/hidden/sectno", "");
  414. model.makeValue("/root/hidden/rackno", "");
  415. model.makeValue("/root/hidden/boxno", "");
  416. model.makeValue("/root/hidden/hcnt", "0");
  417. model.makeValue("/root/hidden/vcnt", "0");
  418. model.makeValue("/root/hidden/cnfmflag", "");
  419. //--------------------------------------------------
  420. model.removeNodeset("/root/init/sectinfo/sectlist");
  421. model.removeNodeset("/root/init/rackinfo/racklist");
  422. model.removeNodeset("/root/init/boxinfo/boxlist");
  423. model.removeNodeset("/root/init/eqmtdetl/eqmtdetlinfo");
  424. //------------------------
  425. // Section(섹션) 노드 생성
  426. for (var iNo=1; iNo <= iSectCnt; iNo++) {
  427. model.makeNode("/root/init/sectinfo/sectlist["+iNo+"]");
  428. model.makeValue("/root/init/sectinfo/sectlist["+iNo+"]/value", iNo);
  429. model.makeValue("/root/init/sectinfo/sectlist["+iNo+"]/name", iNo);
  430. }
  431. //-------------------
  432. // Rack(렉) 노드 생성
  433. for (var iNo=1; iNo <= iRackCnt; iNo++) {
  434. model.makeNode("/root/init/rackinfo/racklist["+iNo+"]");
  435. model.makeValue("/root/init/rackinfo/racklist["+iNo+"]/value", iNo);
  436. model.makeValue("/root/init/rackinfo/racklist["+iNo+"]/name", iNo);
  437. }
  438. //-------------------
  439. // Box(박스) 노드 생성
  440. for (var iNo=1; iNo <= iBoxCnt; iNo++) {
  441. model.makeNode("/root/init/boxinfo/boxlist["+iNo+"]");
  442. model.makeValue("/root/init/boxinfo/boxlist["+iNo+"]/value", iNo);
  443. model.makeValue("/root/init/boxinfo/boxlist["+iNo+"]/name", iNo);
  444. }
  445. //--------------
  446. model.refresh();
  447. }
  448. /* @group :조직은행보관등록
  449. * @ver : 2007.09.29 (CMCDEV-0001)
  450. * @by : 유동철(ACK)
  451. * @-----------------------------------
  452. * @type : function
  453. * @access : public
  454. * @desc : 장비 Cell정보 저장 처리 Function
  455. */
  456. function fExeEqmtDetlSave(pBizFlagCd) {
  457. //-------------------------------------------------------------------------------------------------------------
  458. if (!isRequiredControls("ipt_vertcnt", "ipt_horicnt", "cmb_boxno", "cmb_rackno", "cmb_sectno", "cmb_eqmtcd")) {
  459. return false;
  460. } else if (model.getValue("/root/hidden/hcnt") == "0") {
  461. messageBox("수평Cell수를 ", "C001");
  462. return false;
  463. } else if (model.getValue("/root/hidden/vcnt") == "0") {
  464. messageBox("수직Cell수를 ", "C001");
  465. return false;
  466. }
  467. //----------------------
  468. if (pBizFlagCd == "C") {
  469. if (model.getValue("/root/hidden/cnfmflag") == "확정") {
  470. messageBox("확정된 Cell정보를 재확정 ", "E001");
  471. return false;
  472. }
  473. } else {
  474. if (model.getValue("/root/hidden/cnfmflag") != "확정") {
  475. messageBox("미확정된 Cell정보를 취소 ", "E001");
  476. return false;
  477. } else if (Number(model.getValue("/root/init/eqmtdetl/eqmtdetlinfo/keepcnt")) > 0) {
  478. messageBox("보관중인 Cell은 취소 ", "E001");
  479. return false;
  480. }
  481. }
  482. //-----------------
  483. // Cell List를 검색
  484. model.removeNodeset("/root/send");
  485. //--------------------------------------------------------------------
  486. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  487. model.makeValue("/root/send/eqmtcd", model.getValue("/root/hidden/eqcd"));
  488. model.makeValue("/root/send/sectno", model.getValue("/root/hidden/sectno"));
  489. model.makeValue("/root/send/rackno", model.getValue("/root/hidden/rackno"));
  490. model.makeValue("/root/send/boxno", model.getValue("/root/hidden/boxno"));
  491. model.makeValue("/root/send/horicnt", model.getValue("/root/hidden/hcnt"));
  492. model.makeValue("/root/send/vertcnt", model.getValue("/root/hidden/vcnt"));
  493. model.makeValue("/root/send/bizflagcd", pBizFlagCd);
  494. if (submit("TXLPT00101")) {
  495. fGetCellList();
  496. }
  497. }
  498. /* @group :조직은행보관등록
  499. * @ver : 2007.09.29 (CMCDEV-0001)
  500. * @by : 유동철(ACK)
  501. * @-----------------------------------
  502. * @type : function
  503. * @access : public
  504. * @desc : 접수 병리번호 목록 조회 처리 Function
  505. */
  506. function fGetAcptSpcList() {
  507. var sTemp = "";
  508. var sFromDD = model.getValue("/root/init/acptfromdd");
  509. var sToDD = model.getValue("/root/init/acpttodd");
  510. //------------------------------------------------
  511. if (model.getValue("/root/init/ptnocode") != "") {
  512. //------------------------------------------------
  513. if (model.getValue("/root/init/fromyear") == "") {
  514. model.makeValue("/root/init/fromyear", sFromDD.substr(2,2));
  515. } else {
  516. sTemp = model.getValue("/root/init/fromyear");
  517. model.makeValue("/root/init/fromyear", sTemp.getLeftPad(2, "0"));
  518. }
  519. //----------------------------------------------
  520. if (model.getValue("/root/init/toyear") == "") {
  521. model.makeValue("/root/init/toyear", sToDD.substr(2,2));
  522. } else {
  523. sTemp = model.getValue("/root/init/toyear");
  524. model.makeValue("/root/init/toyear", sTemp.getLeftPad(2, "0"));
  525. }
  526. //------------------------------------------------
  527. if (model.getValue("/root/init/fromptno") == "") {
  528. model.makeValue("/root/init/fromptno", "000000");
  529. } else {
  530. sTemp = model.getValue("/root/init/fromptno");
  531. model.makeValue("/root/init/fromptno", sTemp.getLeftPad(6, "0"));
  532. }
  533. //----------------------------------------------
  534. if (model.getValue("/root/init/toptno") == "") {
  535. model.makeValue("/root/init/toptno", "999999");
  536. } else {
  537. sTemp = model.getValue("/root/init/toptno");
  538. model.makeValue("/root/init/toptno", sTemp.getLeftPad(6, "0"));
  539. }
  540. }
  541. //--------------------------------------------
  542. sTemp = model.getValue("/root/init/ptnocode");
  543. //--------------------------------
  544. model.removeNodeset("/root/send");
  545. model.removeNodeset("/root/main/spclist/spclisttbl");
  546. //-----------------------------------------------------------------
  547. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd")); // 기관코드
  548. model.makeValue("/root/send/acptfromdd", model.getValue("/root/init/acptfromdd")); // 접수시작일자
  549. model.makeValue("/root/send/acpttodd", model.getValue("/root/init/acpttodd")); // 접수종료일자
  550. model.makeValue("/root/send/ptnocode", sTemp.replace("-", ""));
  551. model.makeValue("/root/send/fromyear", model.getValue("/root/init/fromyear"));
  552. model.makeValue("/root/send/fromptno", model.getValue("/root/init/fromptno"));
  553. model.makeValue("/root/send/toyear", model.getValue("/root/init/toyear"));
  554. model.makeValue("/root/send/toptno", model.getValue("/root/init/toptno"));
  555. model.makeValue("/root/send/ptnocase", model.getValue("/root/init/ptnocase"));
  556. model.makeValue("/root/send/pid", model.getValue("/root/init/pid"));
  557. submit("TRLPT00103");
  558. }
  559. /* @group :조직은행보관등록
  560. * @ver : 2007.09.29 (CMCDEV-0001)
  561. * @by : 유동철(ACK)
  562. * @-----------------------------------
  563. * @type : function
  564. * @access : public
  565. * @desc : 등록번호 Enter Key 입력 처리 Function
  566. */
  567. function fExePidKeyInpt() {
  568. if(event.keyCode == 13) {
  569. model.setValue("/root/init/pid", ipt_pid.currentText);
  570. ipt_pid.refresh();
  571. //----------------
  572. fGetAcptSpcList();
  573. }
  574. }
  575. /* @group :조직은행보관등록
  576. * @ver : 2007.09.30 (CMCDEV-0001)
  577. * @by : 유동철(ACK)
  578. * @-----------------------------------
  579. * @type : function
  580. * @access : public
  581. * @desc : 병리번호 Drop 처리 Function
  582. */
  583. function fExeSpcDrop() {
  584. var iColNo = grd_celllist.mouseCol;
  585. var sPtNoList = event.dropData.split("▨");
  586. var sPtNo = "";
  587. var sPrevPtNo = "";
  588. var aPrevPtNo = "";
  589. var sNode = "/root/main/cellinfo/cellinfolist";
  590. var recvmsg = 7;
  591. //------------------------------------------------------
  592. if (model.getValue("/root/hidden/cnfmflag") != "확정") {
  593. messageBox("확정되지 않은 Cell에는 보관", "E001");
  594. return false;
  595. }
  596. //-------------------------------------------
  597. iColNo = iColNo.toString().getLeftPad(2,"0");
  598. //---------------------------------
  599. // 기존 보관내역에 추가여부를 결정
  600. if (model.getValue(sNode+"["+grd_celllist.mouseRow+"]/cell"+iColNo) != "") {
  601. recvmsg = messageBox("기존 보관내역에 ", "Q008");
  602. }
  603. //----------------------------------------------
  604. for (var iNo=0; iNo < sPtNoList.length; iNo++) {
  605. if (sPtNoList[iNo] != "") {
  606. sPtNo += sPtNoList[iNo] + "\n";
  607. }
  608. }
  609. //----------------------
  610. // 추가 보관일 경우 처리
  611. if (recvmsg == 6) {
  612. sPtNo = model.getValue(sNode+"["+grd_celllist.mouseRow+"]/cell"+iColNo) + sPtNo;
  613. } else {
  614. if (model.getValue(sNode+"["+grd_celllist.mouseRow+"]/cell"+iColNo+"/@ptno") != "") {
  615. sPrevPtNo = model.getValue(sNode+"["+grd_celllist.mouseRow+"]/cell"+iColNo);
  616. aPrevPtNo = sPrevPtNo.split("\n");
  617. sPtNo = aPrevPtNo[0]+"\n"+ sPtNo;
  618. }
  619. }
  620. //---------------------------------------------------------------------
  621. model.setValue(sNode+"["+grd_celllist.mouseRow+"]/cell"+iColNo, sPtNo);
  622. model.refresh();
  623. }
  624. /* @group :조직은행보관등록
  625. * @ver : 2007.09.30 (CMCDEV-0001)
  626. * @by : 유동철(ACK)
  627. * @-----------------------------------
  628. * @type : function
  629. * @access : public
  630. * @desc : 병리번호 Drop 처리 Function
  631. */
  632. function fExeSpcDrag() {
  633. var iRowNo = 0;
  634. var sPtNo = "";
  635. //-------------------------------------------------------
  636. for (var iNo=0; iNo < grd_ptnolist.selectedRows;iNo++) {
  637. iRowNo = grd_ptnolist.selectedRow(iNo);
  638. sPtNo += model.getValue("/root/main/acptspc/acptspclist["+iRowNo+"]/dispptno") + "▨";
  639. }
  640. //---------------------
  641. event.dropData = sPtNo;
  642. }
  643. /* @group :조직은행보관등록
  644. * @ver : 2007.09.30 (CMCDEV-0001)
  645. * @by : 유동철(ACK)
  646. * @-----------------------------------
  647. * @type : function
  648. * @access : public
  649. * @desc : 검체보관 처리 Function
  650. */
  651. function fExeSpcKeep() {
  652. var bState = false;
  653. var sBizFlagCd = "";
  654. var sSrcNode = "/root/main/cellinfo/cellinfolist";
  655. //------------------------------------------------------
  656. if (model.getValue("/root/hidden/cnfmflag") != "확정") {
  657. messageBox("확정되지 않은 Cell은 저장", "E001");
  658. return false;
  659. }
  660. //----------------------------------------------------------------------------------------------------------------------------
  661. if (!isRequiredControls("ipt_vertcnt", "ipt_horicnt", "cmb_boxno", "cmb_rackno", "cmb_sectno", "cmb_eqmtcd", "cmb_reqdrid")) {
  662. return false;
  663. } else if (model.getValue("/root/hidden/hcnt") == "0") {
  664. messageBox("수평Cell수를 ", "C001");
  665. return false;
  666. } else if (model.getValue("/root/hidden/vcnt") == "0") {
  667. messageBox("수직Cell수를 ", "C001");
  668. return false;
  669. }
  670. //-------------------------
  671. grd_celllist.clearStatus();
  672. for (var iyNo=1; iyNo <= getNodesetCount(sSrcNode); iyNo++) {
  673. for (var ixNo=1; ixNo <= 20; ixNo++) {
  674. if (model.getValue(sSrcNode+"["+iyNo+"]/cell"+ixNo.toString().getLeftPad(2, "0")) != "") {
  675. grd_celllist.addStatus(iyNo, "insert");
  676. if (model.getValue(sSrcNode+"["+iyNo+"]/cell"+ixNo.toString().getLeftPad(2, "0")+"/@ptno") == "") {
  677. sBizFlagCd = "I";
  678. }
  679. }
  680. }
  681. }
  682. //--------------------------------
  683. model.removeNodeset("/root/send");
  684. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  685. model.makeValue("/root/send/eqmtcd", model.getValue("/root/hidden/eqcd"));
  686. model.makeValue("/root/send/sectno", model.getValue("/root/hidden/sectno"));
  687. model.makeValue("/root/send/rackno", model.getValue("/root/hidden/rackno"));
  688. model.makeValue("/root/send/boxno", model.getValue("/root/hidden/boxno"));
  689. model.makeValue("/root/send/horicnt", model.getValue("/root/hidden/hcnt"));
  690. model.makeValue("/root/send/vertcnt", model.getValue("/root/hidden/vcnt"));
  691. model.makeValue("/root/send/reqdrid", model.getValue("/root/init/reqdrid"));
  692. model.makeValue("/root/send/ptnocd", "T");
  693. model.makeValue("/root/send/bizflagcd", sBizFlagCd);
  694. model.makeValue("/root/send/celllist", grd_celllist.getUpdateDataAll("insert"));
  695. //-----------
  696. setAlertOn();
  697. if (submit("TXLPT00102")) {
  698. fGetCellList();
  699. }
  700. }
  701. function fExeKeepPopup() {
  702. var iPosNo = (Number(grd_celllist.row)-1) * Number(model.getValue("/root/hidden/hcnt")) + grd_celllist.col;
  703. //----------------------------------------------------------------
  704. model.makeValue("/root/init/eqmtdetl/eqmtdetlinfo/posno", iPosNo);
  705. modal("SPLPT00200", "", "", "", "SPLPT00200", "/root/init/eqmtdetl/eqmtdetlinfo", "/root/init");
  706. fGetCellList();
  707. }
  708. /* @group :조직은행보관등록
  709. * @ver : 2008.08.22 (CMCDEV-0001)
  710. * @by : 한음미(평화IS)
  711. * @-----------------------------------
  712. * @type : function
  713. * @access : public
  714. * @desc : TB번호 조회처리 Function
  715. */
  716. function fExePopUpChange(pRowNo){
  717. var strPopupNode = "/root/temp/popupmenu/item";
  718. var strDescNode = "/root/main/acptspc/acptspclist";
  719. var strSrcNode ="/root/init/tbnolist/tbnolistinfo";
  720. if (grd_ptnolist.col == 8){
  721. if (model.getValue(strDescNode+"["+pRowNo+"]/tbno")==""||
  722. model.getValue(strDescNode+"["+pRowNo+"]/spcnm")==""){
  723. fExeTbNoTestNmSet(model.getValue(strDescNode+"["+pRowNo+"]/ptno"), strSrcNode, strPopupNode);
  724. }
  725. }
  726. model.refresh();
  727. }
  728. /* @group :조직은행보관등록
  729. * @ver : 2008.08.22 (CMCDEV-0001)
  730. * @by : 한음미(평화IS)
  731. * @-----------------------------------
  732. * @type : function
  733. * @access : public
  734. * @desc : TB번호 조회처리 Function
  735. */
  736. function fExeTbNoTestNmSet(sPtNo, pSrcNode, pPopupNode){
  737. var sTemp = model.getValue("/root/init/ptnocode");
  738. model.removeNodeset(pSrcNode);
  739. model.makeNode(pSrcNode);
  740. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd")); // 기관코드
  741. model.makeValue("/root/send/acptfromdd", model.getValue("/root/init/acptfromdd")); // 접수시작일자
  742. model.makeValue("/root/send/acpttodd", model.getValue("/root/init/acpttodd")); // 접수종료일자
  743. model.makeValue("/root/send/ptnocode", sTemp.replace("-", ""));
  744. model.makeValue("/root/send/fromyear", model.getValue("/root/init/fromyear"));
  745. model.makeValue("/root/send/fromptno", model.getValue("/root/init/fromptno"));
  746. model.makeValue("/root/send/toyear", model.getValue("/root/init/toyear"));
  747. model.makeValue("/root/send/toptno", model.getValue("/root/init/toptno"));
  748. model.makeValue("/root/send/ptnocase", model.getValue("/root/init/ptnocase"));
  749. model.makeValue("/root/send/pid", model.getValue("/root/init/pid"));
  750. submit("TRLPT00104");
  751. model.removeNodeset("/root/temp/tbnolist/tbnolistinfo");
  752. model.removeNodeset("/root/temp/popupmenu/item");
  753. model.makeNode("/root/temp/tbnolist/tbnolistinfo");
  754. copyNodesetType("/root/temp/tbnolist/tbnolistinfo", pSrcNode);
  755. for (var iRowNo=1; iRowNo <= getNodesetCount("/root/temp/tbnolist/tbnolistinfo"); iRowNo++) {
  756. model.makeValue(pPopupNode + "[" + iRowNo + "]/nm", model.getValue("/root/temp/tbnolist/tbnolistinfo[" + iRowNo + "]/disptbno"));
  757. model.makeValue(pPopupNode + "[" + iRowNo + "]/funt", iRowNo);
  758. }
  759. }
  760. /* @group :조직은행보관등록
  761. * @ver : 2008.08.22 (CMCDEV-0001)
  762. * @by : 한음미(평화IS)
  763. * @-----------------------------------
  764. * @type : function
  765. * @access : public
  766. * @desc : 팝업 선택 처리 Function
  767. */
  768. function fExePopupClick(pRowNo) {
  769. var iRowNo = grd_ptnolist.row;
  770. var sSrcNode = "/root/temp/tbnolist/tbnolistinfo";
  771. var sDescNode = "/root/main/acptspc/acptspclist";
  772. model.makeValue(sDescNode+"["+iRowNo+"]/disptbno", model.getValue(sSrcNode+"["+ pRowNo+"]/disptbno"));
  773. model.makeValue(sDescNode+"["+iRowNo+"]/tbno", model.getValue(sSrcNode+"["+ pRowNo+"]/tbno"));
  774. grd_ptnolist.refresh();
  775. }
  776. ]]>
  777. </script>
  778. </xhtml:head>
  779. <xhtml:body guideline="1,1195;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  780. <script type="javascript" ev:event="onmenu">
  781. <![CDATA[
  782. fExePopupClick(event.description);
  783. ]]>
  784. </script>
  785. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
  786. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:150px; height:14px; ">조직은행 보관등록</caption>
  787. </group>
  788. <group id="grp_biz" scroll="auto" style="left:0px; top:40; width:1195px; height:744px; ">
  789. <group id="grp_sea" style="left:0px; top:10px; width:1194px; height:35px; vertical-align:top; ">
  790. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1194px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  791. <caption id="caption2" class="search_name" style="left:16px; top:9px; width:86px; height:17px; ">접수일자 :</caption>
  792. <caption id="caption5" class="search_no_b" style="left:202px; top:8px; width:12px; height:17px; ">~</caption>
  793. <line id="line13" class="line_4" style="x1:1107px; y1:7px; x2:1107px; y2:29px; "/>
  794. <input id="ipt_acptddfrom" ref="/root/init/acptfromdd" class="input_s_essential" navindex="1" inputtype="date" style="left:105px; top:8px; width:94; height:19px; "/>
  795. <input id="ipt_acptddto" ref="/root/init/acpttodd" class="input_s_essential" navindex="2" inputtype="date" style="left:217px; top:8px; width:94px; height:19px; "/>
  796. <button id="btn_sea" class="btn1_letter2" navindex="9" style="left:1123px; top:7px; width:56px; height:22px; ">
  797. <caption>조회</caption>
  798. <script type="javascript" ev:event="DOMActivate">
  799. <![CDATA[
  800. fGetAcptSpcList();
  801. ]]>
  802. </script>
  803. </button>
  804. <select1 id="cbo_ptnocd" ref="/root/init/ptnocode" navindex="3" appearance="minimal" editmode="search" style="left:549px; top:8px; width:51px; height:19px; ">
  805. <choices>
  806. <itemset nodeset="/root/init/ptnocd/ptnocdlist">
  807. <label ref="ptnocd"/>
  808. <value ref="ptnocd"/>
  809. </itemset>
  810. </choices>
  811. </select1>
  812. <caption id="caption4" class="search_name" autoresize="true" style="left:921px; top:9px; width:86px; height:17px; ">등록번호 :</caption>
  813. <input id="ipt_fromptno" ref="/root/init/fromptno" class="text_center" navindex="5" maxlength="6" style="left:633px; top:8px; width:50px; height:19px; "/>
  814. <caption id="caption15" class="search_name" style="left:460px; top:9px; width:90px; height:17px; ">병리번호 :</caption>
  815. <caption id="caption16" class="search_no_b" style="left:686px; top:8px; width:12px; height:17px; ">~</caption>
  816. <input id="input3" ref="/root/init/toptno" class="text_center" navindex="7" maxlength="6" style="left:731px; top:8px; width:50px; height:19px; "/>
  817. <input id="input4" ref="/root/init/toyear" class="text_center" navindex="6" maxlength="2" style="left:701px; top:8px; width:27px; height:19px; "/>
  818. <input id="ipt_fromyear" ref="/root/init/fromyear" class="text_center" navindex="4" maxlength="2" style="left:603px; top:8px; width:27px; height:19px; "/>
  819. <input id="ipt_pid" ref="/root/init/pid" navindex="8" style="left:1012px; top:8px; width:80px; height:19px; ">
  820. <script type="javascript" ev:event="onkeypress">
  821. <![CDATA[
  822. fExePidKeyInpt();
  823. ]]>
  824. </script>
  825. </input>
  826. </group>
  827. <line id="line1" class="line_1" style="x1:0px; y1:69px; x2:432px; y2:69px; "/>
  828. <caption id="caption3" class="tit_2" style="left:5px; top:54px; width:139px; height:14px; ">검체 리스트</caption>
  829. <datagrid id="grd_ptnolist" nodeset="/root/main/acptspc/acptspclist" class="datagrid2" dragmode="true" caption="선&#xA;택^병리번호^병리번호^검체명^등록번호^환자&#xA;성명^보관&#xA;여부^TB번호^TB 번호" colsep="^" colwidth="20, 0, 70, 95, 60, 65, 45, 0, 70" dataheight="23" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheight="32" rowsep="|" selectionmode="byrow" navindex="10" style="left:0px; top:74px; width:432px; height:653; ">
  830. <col ref="choi" type="checkbox"/>
  831. <col ref="ptno"/>
  832. <col ref="dispptno"/>
  833. <col ref="spcnm"/>
  834. <col ref="pid"/>
  835. <col ref="patnm"/>
  836. <col disabled="true" ref="keepflagcd" type="combo">
  837. <choices>
  838. <item>
  839. <label>미보관</label>
  840. <value>0</value>
  841. </item>
  842. <item>
  843. <label>보관</label>
  844. <value>1</value>
  845. </item>
  846. </choices>
  847. </col>
  848. <col ref="tbno"/>
  849. <col ref="disptbno" type="output"/>
  850. <script type="javascript" ev:event="onaftersort">
  851. <![CDATA[
  852. grd_ptnolist.gridToInstance();
  853. ]]>
  854. </script>
  855. <script type="javascript" ev:event="ondragstart">
  856. <![CDATA[
  857. fExeSpcDrag();
  858. ]]>
  859. </script>
  860. <script type="javascript" ev:event="DOMFocusOut">
  861. <![CDATA[
  862. initPopupMenu();
  863. ]]>
  864. </script>
  865. <script type="javascript" ev:event="onmousedown">
  866. <![CDATA[
  867. setPopupMenu("grd_ptnolist", true, "/root/temp/popupmenu/item", "nm", "funt");
  868. ]]>
  869. </script>
  870. <script type="javascript" ev:event="onclick">
  871. <![CDATA[
  872. fExePopUpChange(grd_ptnolist.row);
  873. ]]>
  874. </script>
  875. </datagrid>
  876. <caption id="caption7" class="tit_2" style="left:439px; top:130px; width:139px; height:14px; ">보관목록</caption>
  877. <line id="line2" class="line_1" style="x1:436px; y1:145; x2:1194px; y2:145; "/>
  878. <line id="line3" class="line_1" style="x1:436px; y1:69px; x2:1194px; y2:69px; "/>
  879. <caption id="caption8" class="tit_2" style="left:439px; top:54px; width:162px; height:14px; ">장비(TissueBank) 정보</caption>
  880. <datagrid id="grd_celllist" nodeset="/root/main/cellinfo/cellinfolist" dropmode="true" caption="caption1^caption2^caption3^caption4^caption5^caption6^caption7^caption8^caption9^caption10^caption11^caption12^caption13^caption14^caption15^caption16^caption17^caption18^caption19^caption20" colsep="^" colwidth="74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" dataheight="75" ellipsis="true" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" selectionmode="free" navindex="17" style="left:436px; top:150px; width:758px; height:577px; ">
  881. <col class="text_center" ref="cell01"/>
  882. <col class="text_center" ref="cell02"/>
  883. <col class="text_center" ref="cell03"/>
  884. <col class="text_center" ref="cell04"/>
  885. <col class="text_center" ref="cell05"/>
  886. <col class="text_center" ref="cell06"/>
  887. <col class="text_center" ref="cell07"/>
  888. <col class="text_center" ref="cell08"/>
  889. <col class="text_center" ref="cell09"/>
  890. <col class="text_center" ref="cell10"/>
  891. <col ref="cell11"/>
  892. <col ref="cell12"/>
  893. <col ref="cell13"/>
  894. <col ref="cell14"/>
  895. <col ref="cell15"/>
  896. <col ref="cell16"/>
  897. <col ref="cell17"/>
  898. <col ref="cell18"/>
  899. <col ref="cell19"/>
  900. <col ref="cell20"/>
  901. <script type="javascript" ev:event="ondrop">
  902. <![CDATA[
  903. fExeSpcDrop();
  904. ]]>
  905. </script>
  906. <script type="javascript" ev:event="onmousedown">
  907. <![CDATA[
  908. setPopupMenu("grd_celllist", false, "/root/init/popupmenu/item", "nm", "funt");
  909. ]]>
  910. </script>
  911. <script type="javascript" ev:event="DOMFocusOut">
  912. <![CDATA[
  913. initPopupMenu();
  914. ]]>
  915. </script>
  916. </datagrid>
  917. <caption id="caption14" ref="/root/hidden/cnfmflag" class="cell_1" style="left:942px; top:98px; width:80px; height:23px; font-family:돋움; vertical-align:middle; ">재고수</caption>
  918. <line id="line5" class="line_3" style="x1:436px; y1:120px; x2:1194px; y2:120px; "/>
  919. <select1 id="cmb_eqmtcd" ref="/root/hidden/eqcd" class="combo_essential" navindex="11" appearance="minimal" style="left:529px; top:75px; width:141px; height:19px; ">
  920. <choices>
  921. <itemset nodeset="/root/init/tissbank/eqmtlist">
  922. <label ref="eqmtnm"/>
  923. <value ref="eqmtcd"/>
  924. </itemset>
  925. </choices>
  926. <script type="javascript" ev:event="xforms-value-changed">
  927. <![CDATA[
  928. fExeEqmtChng();
  929. ]]>
  930. </script>
  931. </select1>
  932. <select1 id="cmb_sectno" ref="/root/hidden/sectno" class="combo_essential" navindex="12" appearance="minimal" style="left:766px; top:75px; width:80; height:19px; ">
  933. <choices>
  934. <itemset nodeset="/root/init/sectinfo/sectlist">
  935. <label ref="name"/>
  936. <value ref="value"/>
  937. </itemset>
  938. </choices>
  939. <script type="javascript" ev:event="xforms-value-changed">
  940. <![CDATA[
  941. fGetCellList();
  942. ]]>
  943. </script>
  944. </select1>
  945. <select1 id="cmb_rackno" ref="/root/hidden/rackno" class="combo_essential" navindex="13" appearance="minimal" style="left:942px; top:75px; width:80px; height:19px; ">
  946. <choices>
  947. <itemset nodeset="/root/init/rackinfo/racklist">
  948. <label ref="name"/>
  949. <value ref="value"/>
  950. </itemset>
  951. </choices>
  952. <script type="javascript" ev:event="xforms-value-changed">
  953. <![CDATA[
  954. fGetCellList();
  955. ]]>
  956. </script>
  957. </select1>
  958. <select1 id="cmb_boxno" ref="/root/hidden/boxno" class="combo_essential" navindex="13" appearance="minimal" style="left:1113px; top:75px; width:80px; height:19px; ">
  959. <choices>
  960. <itemset nodeset="/root/init/boxinfo/boxlist">
  961. <label ref="name"/>
  962. <value ref="value"/>
  963. </itemset>
  964. </choices>
  965. <script type="javascript" ev:event="xforms-value-changed">
  966. <![CDATA[
  967. fGetCellList();
  968. ]]>
  969. </script>
  970. </select1>
  971. <input id="ipt_horicnt" ref="/root/hidden/hcnt" class="input_default" navindex="14" format="#,###" mask="exclude" showmask="true" style="left:529px; top:99px; width:141px; height:20px; "/>
  972. <input id="ipt_vertcnt" ref="/root/hidden/vcnt" class="input_default" navindex="15" format="#,###" mask="exclude" showmask="true" style="left:766px; top:99px; width:173px; height:19px; "/>
  973. <output id="opt_cnfmflag" ref="/root/hidden/cnfmflag" appearance="output" style="left:1025px; top:99px; width:80px; height:19px; "/>
  974. <button id="btn_cnfm" class="btn2_letter2" navindex="16" style="left:1107px; top:99px; width:42px; height:19px; ">
  975. <caption>확정</caption>
  976. <script type="javascript" ev:event="DOMActivate">
  977. <![CDATA[
  978. fExeEqmtDetlSave("C");
  979. ]]>
  980. </script>
  981. </button>
  982. <button id="btn_cncl" class="btn2_letter2" navindex="16" style="left:1151px; top:99px; width:42px; height:19px; ">
  983. <caption>취소</caption>
  984. <script type="javascript" ev:event="DOMActivate">
  985. <![CDATA[
  986. fExeEqmtDetlSave("D");
  987. ]]>
  988. </script>
  989. </button>
  990. <line id="line4" class="line_2" style="x1:436px; y1:96px; x2:1194px; y2:96px; "/>
  991. <caption id="cap_eqmtcd" class="cell_1" style="left:436px; top:74px; width:90; height:23px; font-family:돋움; vertical-align:middle; ">장비코드</caption>
  992. <caption id="cap_sectno" class="cell_1" style="left:673px; top:74px; width:90px; height:23px; font-family:돋움; vertical-align:middle; ">섹션(Section)</caption>
  993. <caption id="cap_rackno" class="cell_1" style="left:849px; top:74px; width:90px; height:23px; font-family:돋움; vertical-align:middle; ">렉(Rack)</caption>
  994. <caption id="cap_boxno" class="cell_1" style="left:1025px; top:74px; width:85px; height:23px; font-family:돋움; vertical-align:middle; ">박스(Box)</caption>
  995. <caption id="cap_horicnt" class="cell_1" style="left:436px; top:98px; width:90px; height:23px; font-family:돋움; vertical-align:middle; ">수평Cell수</caption>
  996. <caption id="cap_vertcnt" class="cell_1" style="left:673px; top:98px; width:90px; height:23px; font-family:돋움; vertical-align:middle; ">수직Cell수</caption>
  997. <select1 id="cmb_reqdrid" ref="/root/init/reqdrid" appearance="minimal" style="left:1094px; top:125px; width:100px; height:19px; ">
  998. <choices>
  999. <itemset nodeset="/root/init/userinfo/userinfolist[jobkindcd='1']">
  1000. <label ref="usernm"/>
  1001. <value ref="userid"/>
  1002. </itemset>
  1003. </choices>
  1004. </select1>
  1005. <caption id="cap_reqdrid" style="left:1050px; top:127px; width:45px; height:14px; ">신청자</caption>
  1006. </group>
  1007. <group id="grp_btn" style="left:0px; top:13; width:1195px; height:27px; ">
  1008. <button id="btn_save" class="btn4_letter2" navindex="18" style="left:1138px; top:3; width:56px; height:22px; ">
  1009. <caption>저장</caption>
  1010. <script type="javascript" ev:event="DOMActivate">
  1011. <![CDATA[
  1012. fExeSpcKeep();
  1013. ]]>
  1014. </script>
  1015. </button>
  1016. <line id="line17" class="line_6" style="x1:0px; y1:25; x2:1194px; y2:25; "/>
  1017. </group>
  1018. </xhtml:body>
  1019. </xhtml:html>