SMLAF00600_검사별장비관리.xrw 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SMLAF00100_검사별 장비관리.xrw
  4. * 설 명 : 검사별 장비관리 상세설명 화면
  5. * 설 계 자 : 유동철
  6. * 작 성 자 : 유동철
  7. * 작 성 일 : 200.05.19
  8. * 수정이력 :
  9. * 기 타 :
  10. -->
  11. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/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. <tclsinfo>
  20. <tclscdlist>
  21. <choi/>
  22. <tclscd/>
  23. <dummy1/>
  24. <tclsnm/>
  25. <goodcd/>
  26. <dummy2/>
  27. <goodnm/>
  28. <eqmtcd/>
  29. <dummy3/>
  30. <eqmtnm/>
  31. <fromdd/>
  32. <todd/>
  33. <useunit/>
  34. <useqty/>
  35. <posdeptcd/>
  36. <dutdeptcd/>
  37. <instcd/>
  38. <existyn/>
  39. </tclscdlist>
  40. </tclsinfo>
  41. </main>
  42. <send>
  43. </send>
  44. <init>
  45. <seamthdcd/>
  46. <seaval/>
  47. <dutdept>
  48. <appdeptcd>
  49. <cd/>
  50. <nm/>
  51. </appdeptcd>
  52. </dutdept>
  53. <eqmtinfo>
  54. <eqmtlist>
  55. <choi/>
  56. <eqmtcd/>
  57. <eqmtnm/>
  58. <tclscd/>
  59. <fromdd/>
  60. <todd/>
  61. </eqmtlist>
  62. </eqmtinfo>
  63. <tclscd>
  64. <tclscdlist>
  65. <choi/>
  66. <tclscd/>
  67. <tclsnm/>
  68. <fromdd/>
  69. <todd/>
  70. </tclscdlist>
  71. </tclscd>
  72. <dutdept>
  73. <appdeptcd>
  74. <cd/>
  75. <nm/>
  76. </appdeptcd>
  77. </dutdept>
  78. <appdeptcd/>
  79. <popflagcd/>
  80. </init>
  81. <hidden>
  82. </hidden>
  83. </root>
  84. </instance>
  85. <script type="javascript" ev:event="xforms-ready">
  86. <![CDATA[
  87. fExeInitialize();
  88. ]]>
  89. </script>
  90. <submission id="TRLAF00402" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/deptinfo"/>
  91. <submission id="TRLAA00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/appdeptcd"/>
  92. <submission id="TRLAF00601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/tclsinfo/tclscdlist"/>
  93. <submission id="TXLAF00601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/message"/>
  94. </model>
  95. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  96. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  97. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  98. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  99. <script type="javascript">
  100. <![CDATA[
  101. /* @group : 검사별 장비관리
  102. * @ver : 2008.05.20 (CMCDEV-0001)
  103. * @by : 유동철
  104. * @-----------------------------------
  105. * @type : function
  106. * @access : public
  107. * @desc : 화면 초기화
  108. */
  109. function fExeInitialize() {
  110. //현재날짜
  111. var toDay = getCurrentDate();
  112. //--------------------------------
  113. model.removeNodeset("/root/send");
  114. model.removeNodeset("/root/main/tclsinfo/tclscdlist");
  115. //--------------------------------------------------------------------
  116. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  117. model.makeValue("/root/send/userid", getUserInfo("userid"));
  118. submit("TRLAF00402", false); // 사용자가 속한 과코드 조회
  119. model.makeValue("/root/send/posdeptcd", model.getValue("/root/init/deptinfo/cd"));
  120. submit("TRLAA00103"); // 부서코드 목록
  121. //-------------------------------------------
  122. model.makeValue("/root/init/seamthdcd", "0"); // 0:검사코드, 1:물품코드, 2:장비코드
  123. model.makeValue("/root/init/seaval", "");
  124. model.makeValue("/root/init/appdeptcd", "");
  125. //------------------
  126. // 부서코드 기본선택
  127. if (cbo_appdeptcd.length > 0) {
  128. cbo_appdeptcd.select(0);
  129. }
  130. //--------------
  131. model.refresh();
  132. }
  133. /* @group : 검사별 장비관리
  134. * @ver : 2008.05.20 (CMCDEV-0001)
  135. * @by : 유동철
  136. * @-----------------------------------
  137. * @type : function
  138. * @access : public
  139. * @desc : 그리드 클릭 처리 Function
  140. */
  141. function fExeGridClick() {
  142. //------------------------------------------------------------------------------------------------
  143. if (grd_tclseqmtlist.isCell(event.target) && grd_tclseqmtlist.row >= grd_tclseqmtlist.fixedRows) {
  144. //-----------------------------
  145. switch (grd_tclseqmtlist.col) {
  146. case 3 :
  147. case 6 :
  148. case 9 : break;
  149. default : return false;
  150. }
  151. //-----------------------------------------------------------------
  152. setParameter("SMLAF00600_instcd", getUserInfo("dutplceinstcd"));
  153. setParameter("SMLAF00600_posdeptcd", model.getValue("/root/init/deptinfo/cd"));
  154. setParameter("SMLAF00600_cd", "");
  155. setParameter("SMLAF00600_nm", "");
  156. setParameter("SMLAF00600_flagcd", grd_tclseqmtlist.col);
  157. //setParameter("SMLAF00600_dutdeptcd", model.getValue("/root/init/appdeptcd"));
  158. setParameter("SMLAF00600_dutdeptcd", "");
  159. //------------------
  160. // 팝업창 호출
  161. modal("SPLAF00700_코드팝업");
  162. //----------------------------------------
  163. if (getParameter("SMLAF00600_cd") != "") {
  164. //-----------------------------
  165. switch (grd_tclseqmtlist.col) {
  166. case 3 : model.setValue("/root/main/tclsinfo/tclscdlist["+grd_tclseqmtlist.row+"]/tclscd", getParameter("SMLAF00600_cd"));
  167. model.setValue("/root/main/tclsinfo/tclscdlist["+grd_tclseqmtlist.row+"]/tclsnm", getParameter("SMLAF00600_nm"));
  168. break;
  169. case 6 : model.setValue("/root/main/tclsinfo/tclscdlist["+grd_tclseqmtlist.row+"]/goodcd", getParameter("SMLAF00600_cd"));
  170. model.setValue("/root/main/tclsinfo/tclscdlist["+grd_tclseqmtlist.row+"]/goodnm", getParameter("SMLAF00600_nm"));
  171. break;
  172. case 9 : model.setValue("/root/main/tclsinfo/tclscdlist["+grd_tclseqmtlist.row+"]/eqmtcd", getParameter("SMLAF00600_cd"));
  173. model.setValue("/root/main/tclsinfo/tclscdlist["+grd_tclseqmtlist.row+"]/eqmtnm", getParameter("SMLAF00600_nm"));
  174. break;
  175. }
  176. }
  177. }
  178. //-------------------------
  179. grd_tclseqmtlist.refresh();
  180. }
  181. /* @group : 검사별 장비관리
  182. * @ver : 2008.05.20 (CMCDEV-0001)
  183. * @by : 유동철
  184. * @-----------------------------------
  185. * @type : function
  186. * @access : public
  187. * @desc : Row 삭제
  188. */
  189. function fExeDeleteRow() {
  190. if (model.getValue("/root/main/tclsinfo/tclscdlist["+grd_tclseqmtlist.row+"]/existyn") == "N") {
  191. grd_tclseqmtlist.deleteRow(grd_tclseqmtlist.row);
  192. }
  193. //-------------------------
  194. grd_tclseqmtlist.refresh();
  195. }
  196. /* @group : 검사별 장비관리
  197. * @ver : 2008.05.20 (CMCDEV-0001)
  198. * @by : 유동철
  199. * @-----------------------------------
  200. * @type : function
  201. * @access : public
  202. * @desc : Row 추가
  203. */
  204. function fExeInsertRow() {
  205. if (model.getValue("/root/init/appdeptcd") == "") {
  206. messageBox("부서코드를 선택하여 주십시오! 행추가를 ", "E001");
  207. return false;
  208. }
  209. //------------------------
  210. grd_tclseqmtlist.addRow();
  211. grd_tclseqmtlist.refresh();
  212. model.makeValue("/root/main/tclsinfo/tclscdlist["+grd_tclseqmtlist.row+"]/existyn", "N");
  213. model.makeValue("/root/main/tclsinfo/tclscdlist["+grd_tclseqmtlist.row+"]/dummy1", "I");
  214. model.makeValue("/root/main/tclsinfo/tclscdlist["+grd_tclseqmtlist.row+"]/posdeptcd", model.getValue("/root/init/deptinfo/cd"));
  215. model.makeValue("/root/main/tclsinfo/tclscdlist["+grd_tclseqmtlist.row+"]/dutdeptcd", model.getValue("/root/init/appdeptcd"));
  216. }
  217. /* @group : 검사별 장비관리
  218. * @ver : 2008.05.20 (CMCDEV-0001)
  219. * @by : 유동철
  220. * @-----------------------------------
  221. * @type : function
  222. * @access : public
  223. * @desc : 검사, 물품, 장비목록을 조회한다.
  224. */
  225. function fGetCdEqList() {
  226. //--------------------------------
  227. model.removeNodeset("/root/send");
  228. model.removeNodeset("/root/main/tclsinfo/tclscdlist");
  229. //-----------------------------------------------------------------
  230. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  231. model.makeValue("/root/send/posdeptcd", model.getValue("/root/init/deptinfo/cd"));
  232. model.makeValue("/root/send/dutdeptcd", model.getValue("/root/init/appdeptcd"));
  233. model.makeValue("/root/send/seamthdcd", model.getValue("/root/init/seamthdcd"));
  234. model.makeValue("/root/send/seaval", model.getValue("/root/init/seaval"));
  235. //-------------------
  236. submit("TRLAF00601");
  237. }
  238. /* @group : 검사별 장비관리
  239. * @ver : 2008.05.20 (CMCDEV-0001)
  240. * @by : 유동철
  241. * @-----------------------------------
  242. * @type : function
  243. * @access : public
  244. * @desc : 검사, 물품, 장비목록을 저장한다.
  245. */
  246. function fExeCdEqmtSave() {
  247. var iFindNo = 0;
  248. var sNode = "/root/main/tclsinfo/tclscdlist";
  249. //-----------------------------------------------------------
  250. iFindNo = grd_tclseqmtlist.findRow("true", 1, 1, true, true);
  251. if (Number(iFindNo) <= 0) {
  252. messageBox("저장할 목록을 선택하지 않았습니다! ", "I007");
  253. return false;
  254. }
  255. //-----------------------------
  256. grd_tclseqmtlist.clearStatus();
  257. for (var iNo=1; iNo <= getNodesetCount(sNode); iNo++) {
  258. if (model.getValue(sNode+"["+iNo+"]/choi") == "true") {
  259. //-----------------------
  260. // 검사코드 선택여부 검사
  261. if (model.getValue(sNode+"["+iNo+"]/tclscd") == "") {
  262. messageBox("검사를 선택하지 않았습니다! ", "I007");
  263. return false;
  264. }
  265. //-----------------------
  266. // 물품코드 선택여부 검사
  267. if (model.getValue(sNode+"["+iNo+"]/goodcd") == "") {
  268. messageBox("물품을 선택하지 않았습니다! ", "I007");
  269. return false;
  270. }
  271. //-----------------------
  272. // 시작일자 입력여부 검사
  273. if (model.getValue(sNode+"["+iNo+"]/fromdd") == "") {
  274. messageBox("시작일자를 입력하지 않았습니다! ", "I007");
  275. return false;
  276. }
  277. //-----------------------
  278. // 종료일자 입력여부 검사
  279. if (model.getValue(sNode+"["+iNo+"]/todd") == "") {
  280. messageBox("종료일자를 입력하지 않았습니다! ", "I007");
  281. return false;
  282. }
  283. //-----------------------
  284. // 사용단위 입력여부 검사
  285. if (model.getValue(sNode+"["+iNo+"]/useunit") == "") {
  286. messageBox("사용단위를 입력하지 않았습니다! ", "I007");
  287. return false;
  288. }
  289. //-----------------------
  290. // 사용수량 입력여부 검사
  291. if (model.getValue(sNode+"["+iNo+"]/useqty") == "" || Number(model.getValue(sNode+"["+iNo+"]/useqty")) <= 0) {
  292. messageBox("사용수량를 입력하지 않았습니다! ", "I007");
  293. return false;
  294. }
  295. //----------------------------------------
  296. grd_tclseqmtlist.addStatus(iNo, "insert");
  297. }
  298. }
  299. //--------------------------------
  300. model.removeNodeset("/root/send");
  301. model.makeValue("/root/send/tclscdlist", grd_tclseqmtlist.getUpdateData());
  302. //-----------
  303. setAlertOn();
  304. if (submit("TXLAF00601")) {
  305. fGetCdEqList();
  306. }
  307. }
  308. ]]>
  309. </script>
  310. </xhtml:head>
  311. <xhtml:body guideline="1,1192;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  312. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  313. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">검사별 장비관리</caption>
  314. </group>
  315. <group id="grp_biz" scroll="auto" style="left:0px; top:35px; width:1195px; height:744px; ">
  316. <group id="group2" style="left:0px; top:10px; width:1194; height:35; vertical-align:top; ">
  317. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1194; height:35; "/>
  318. <caption id="caption1" class="search_name" style="left:15px; top:9px; width:75px; height:17px; ">검색값 :</caption>
  319. <caption id="caption7" class="search_name" style="left:872px; top:9px; width:86px; height:17px; ">검색부서 :</caption>
  320. <button id="button1" class="btn1_letter2" navindex="4" style="left:1123; top:7; width:56px; height:22px; ">
  321. <caption>조회</caption>
  322. <script type="javascript" ev:event="DOMActivate">
  323. <![CDATA[
  324. fGetCdEqList();
  325. ]]>
  326. </script>
  327. </button>
  328. <line id="line1" class="line_4" style="x1:1108; y1:7px; x2:1108; y2:29; "/>
  329. <input id="ipt_seaval" ref="/root/init/seaval" class="input_search" navindex="2" style="left:180px; top:8px; width:140px; height:19px; "/>
  330. <select1 id="combo1" ref="/root/init/seamthdcd" navindex="1" appearance="minimal" style="left:93px; top:8px; width:85px; height:19px; ">
  331. <choices>
  332. <item>
  333. <label>검사코드</label>
  334. <value>0</value>
  335. </item>
  336. <item>
  337. <label>물품코드</label>
  338. <value>1</value>
  339. </item>
  340. <item>
  341. <label>장비코드</label>
  342. <value>2</value>
  343. </item>
  344. </choices>
  345. </select1>
  346. <select1 id="cbo_appdeptcd" ref="/root/init/appdeptcd" navindex="3" appearance="minimal" style="left:964px; top:8px; width:130px; height:19px; ">
  347. <choices>
  348. <itemset nodeset="/root/init/appdeptcd">
  349. <label ref="nm"/>
  350. <value ref="cd"/>
  351. </itemset>
  352. </choices>
  353. </select1>
  354. </group>
  355. <line id="line12" class="line_1" style="x1:0px; y1:71px; x2:1192px; y2:71px; "/>
  356. <caption id="caption3" class="tit_2" style="left:5px; top:55px; width:113px; height:14px; ">검사별 장비목록</caption>
  357. <datagrid id="grd_tclseqmtlist" nodeset="/root/main/tclsinfo/tclscdlist" class="datagrid2" scroll="auto" caption="선택^검사코드^^검사명^물품코드^^물품명^장비코드^^장비명^시작일자^종료일자^사용&#xA;단위^사용&#xA;수량^posdeptcd^dutdeptcd^instcd^existyn" colsep="^" colwidth="40, 80, 20, 150, 70, 20, 220, 70, 20, 150, 90, 90, 60, 70, 0, 0, 0, 0" dataheight="23" ellipsis="true" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" navindex="9" style="left:0px; top:76px; width:1192px; height:666px; ">
  358. <col ref="choi" type="checkbox"/>
  359. <col class="text_center" ref="tclscd"/>
  360. <col class="icon_search" ref="dummy1"/>
  361. <col ref="tclsnm"/>
  362. <col class="text_center" ref="goodcd"/>
  363. <col class="icon_search" ref="dummy2"/>
  364. <col ref="goodnm"/>
  365. <col class="text_center" ref="eqmtcd"/>
  366. <col class="icon_search" ref="dummy3"/>
  367. <col ref="eqmtnm"/>
  368. <col ref="fromdd" type="inputdate"/>
  369. <col ref="todd" type="inputdate"/>
  370. <col class="text_center" ref="useunit" type="combo">
  371. <choices>
  372. <item>
  373. <label>청구</label>
  374. <value>0</value>
  375. </item>
  376. <item>
  377. <label>TEST</label>
  378. <value>1</value>
  379. </item>
  380. </choices>
  381. </col>
  382. <col class="text_right" ref="useqty" type="input" format="#,###" mask="exclude" maxlength="4" showmask="true"/>
  383. <col ref="posdeptcd"/>
  384. <col ref="dutdeptcd"/>
  385. <col ref="instcd"/>
  386. <col ref="existyn"/>
  387. <script type="javascript" ev:event="onclick">
  388. <![CDATA[
  389. fExeGridClick();
  390. ]]>
  391. </script>
  392. </datagrid>
  393. <button id="btn_insrow" class="btn2_letter3" navindex="6" style="left:1082px; top:51px; width:53px; height:19px; ">
  394. <caption>행추가</caption>
  395. <script type="javascript" ev:event="DOMActivate">
  396. <![CDATA[
  397. fExeInsertRow();
  398. ]]>
  399. </script>
  400. </button>
  401. <button id="btn_delrow" class="btn2_letter3" navindex="6" style="left:1138px; top:51px; width:53px; height:19px; ">
  402. <caption>행삭제</caption>
  403. <script type="javascript" ev:event="DOMActivate">
  404. <![CDATA[
  405. fExeDeleteRow();
  406. ]]>
  407. </script>
  408. </button>
  409. </group>
  410. <group id="grp_btn" scroll="auto" style="left:0px; top:13px; width:1195px; height:27px; ">
  411. <line id="line32" class="line_6" style="x1:0px; y1:25px; x2:1194px; y2:25px; "/>
  412. <button id="btn_save" class="btn4_letter2" navindex="7" style="left:1138px; top:3px; width:56px; height:22px; ">
  413. <caption>저장</caption>
  414. <script type="javascript" ev:event="DOMActivate">
  415. <![CDATA[
  416. fExeCdEqmtSave();
  417. ]]>
  418. </script>
  419. </button>
  420. <button id="btn_prntexcel" class="btn3_letter5" navindex="8" style="left:0px; top:3px; width:80; height:22px; ">
  421. <caption>Excel출력</caption>
  422. </button>
  423. </group>
  424. </xhtml:body>
  425. </xhtml:html>