SMMNG04700_장비정기점검일지.xrw 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  3. <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">
  4. <xhtml:head>
  5. <xhtml:title>장비정기점검일지</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <cond>
  11. <workmm/>
  12. </cond>
  13. <chkinfo>
  14. <chklist/>
  15. <chklist2/>
  16. </chkinfo>
  17. </main>
  18. <send>
  19. <instcd/>
  20. <useyn/>
  21. </send>
  22. <init>
  23. </init>
  24. <code>
  25. <codeinfo>
  26. <codelist/>
  27. </codeinfo>
  28. </code>
  29. <temp>
  30. <titleinfo/>
  31. <chkinfo>
  32. <chklist/>
  33. </chkinfo>
  34. </temp>
  35. </root>
  36. </instance>
  37. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  38. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  39. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  40. <script type="javascript" ev:event="xforms-ready">
  41. <![CDATA[
  42. fInitialize();
  43. ]]>
  44. </script>
  45. <submission id="TRMNG04701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/temp/titleinfo"/>
  46. <submission id="TRMNG04702" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/temp/chkinfo"/>
  47. <submission id="TRMNG04703" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/chkinfo"/>
  48. <submission id="TXMNG04701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata" resultref="/root/tmp"/>
  49. <submission id="TRMNW00001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/code/codeinfo"/>
  50. </model>
  51. <script type="javascript">
  52. <![CDATA[
  53. // 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
  54. function fInitialize() {
  55. var curdd = getCurrentDate();
  56. model.setValue(ipt_workmm.attribute("ref"), curdd.substr(0,6));
  57. ipt_workmm.refresh();
  58. submit("TRMNG04701", false);
  59. var caption = model.getValue("/root/temp/titleinfo/titlelist/caption");
  60. grd_chklist.caption = caption;
  61. grd_chklist.rowHeight(1) = "40";
  62. model.makeValue("/root/send/reqdata/srchdd", curdd);
  63. model.makeValue("/root/send/reqdata/cdgrupid", "'U12'");
  64. model.makeValue("/root/send/reqdata/flag", "1");
  65. submit("TRMNW00001");
  66. fSearch();
  67. }
  68. function fSearch(){
  69. model.makeValue("/root/send/reqdata/workmm", model.getValue(ipt_workmm.attribute("ref")));
  70. submit("TRMNG04702", "false");
  71. model.copyNode("/root/main/chkinfo", "/root/temp/chkinfo");
  72. grd_chklist.refresh();
  73. grd_chklist2.refresh();
  74. var rows = grd_chklist.rows;
  75. var height = rows *23 + 19;
  76. grd_chklist.attribute("height") = height;
  77. var chkdivsnm;
  78. var chkdivsnm2;
  79. for(var i = grd_chklist.fixedRows; i < grd_chklist.rows; i++) {
  80. if(i == grd_chklist.fixedRows) {
  81. chkdivsnm = grd_chklist.valueMatrix(i, grd_chklist.colRef("chkdivsnm"));
  82. chkdivsnm2 = grd_chklist.valueMatrix(i, grd_chklist.colRef("chkdivsnm"));
  83. } else {
  84. chkdivsnm = grd_chklist.valueMatrix(i-1, grd_chklist.colRef("chkdivsnm"));
  85. chkdivsnm2 = grd_chklist.valueMatrix(i, grd_chklist.colRef("chkdivsnm"));
  86. }
  87. if(chkdivsnm != chkdivsnm2) {
  88. model.makeValue(grd_chklist.nodeset + "["+ (i-2) + "]/chkflag", "1");
  89. model.makeValue("/root/temp/chkinfo/chklist[" + (i-2) + "]/chkflag", "1");
  90. grd_chklist.rowStyle(i-1, "all", "border-bottom-color") = "#0000ff";
  91. grd_chklist.rowStyle(i-1, "all", "border-top-width") = "3";
  92. } else {
  93. model.makeValue(grd_chklist.nodeset + "["+ (i-1) + "]/chkflag", "0");
  94. model.makeValue("/root/temp/chkinfo/chklist[" + (i-1) + "]/chkflag", "0");
  95. }
  96. }
  97. var stat;
  98. for(var i = grd_chklist2.fixedRows; i < grd_chklist2.rows; i++) {
  99. stat = grd_chklist2.valueMatrix(i, grd_chklist2.colRef("stat"));
  100. if(stat=="1") {
  101. grd_chklist2.rowStatus(i) = "1";
  102. } else {
  103. grd_chklist2.rowStatus(i) = "0";
  104. }
  105. }
  106. model.refresh();
  107. }
  108. function fSearch2(){
  109. model.makeValue("/root/send/reqdata/workmm", model.getValue(ipt_workmm.attribute("ref")));
  110. submit("TRMNG04703", "false");
  111. }
  112. function fSave() {
  113. var tempPath = "/root/temp/chkinfo/chklist";
  114. var mainPath = "/root/main/chkinfo/chklist";
  115. var nodecnt = grd_chklist.rows - grd_chklist.fixedRows;
  116. var updtheader="workmm▦fixasetcd▦chkid▦chkyn▩";
  117. var updtdata = "";
  118. var tempval;
  119. var mainval;
  120. for(var i = 1; i <= nodecnt; i++) {
  121. for(var j = 1; j <=11; j++) {
  122. tempval = model.getValue(tempPath + "[" + i + "]/eq" + j);
  123. mainval = model.getValue(mainPath + "[" + i + "]/eq" + j);
  124. if(tempval != mainval) {
  125. updtdata += model.getValue(mainPath + "[" + i + "]/workmm") + "▦"
  126. + model.getValue(mainPath + "[" + i + "]/eqcd" + j) + "▦"
  127. + model.getValue(mainPath + "[" + i + "]/chkid") + "▦"
  128. + model.getValue(mainPath + "[" + i + "]/eq" + j) + "▩"
  129. }
  130. }
  131. }
  132. var updtdata2 = getGridUpdateData(grd_chklist2);
  133. if(updtdata == "" && (updtdata2 == "" || updtdata2 == null)) {
  134. messageBox("저장할 데이터가 존재하지 않습니다.", "E");
  135. return;
  136. }
  137. model.makeValue("/root/send/savedata/chklist", updtheader + updtdata);
  138. model.makeValue("/root/send/savedata/chklist2", updtdata2);
  139. submit("TXMNG04701");
  140. messageBox("저장하였습니다.", "E");
  141. fSearch();
  142. }
  143. function fPrint() {
  144. var arr = grd_chklist.caption.split("|");
  145. var head = arr[0].split("^");
  146. var head2 = arr[1].split("^");
  147. for(var i = 0; i < head.length; i++) {
  148. model.makeValue("/root/temp/title/title" + i, head[i]);
  149. }
  150. for(var i = 0; i < head2.length; i++) {
  151. model.makeValue("/root/temp/title2/title" + i, head2[i]);
  152. }
  153. var colCnt = grd_chklist2.colRef("certnm2") - grd_chklist2.colRef("statyn");
  154. var idx = grd_chklist2.colRef("statyn");
  155. var cnt = 0;
  156. var fixasetcd ="";
  157. var fixasetcd2 = "";
  158. var grupdetldesc = "";
  159. var grupdetldesc2 = "";
  160. var str="";
  161. var cmt = "";
  162. var idx= 0;
  163. for(var i = grd_chklist2.fixedRows; i < grd_chklist2.rows; i++) {
  164. cmt = grd_chklist2.valueMatrix(i, grd_chklist2.colRef("cmt"));
  165. if(i == grd_chklist2.fixedRows) {
  166. fixasetcd = grd_chklist2.valueMatrix(i, grd_chklist2.colRef("fixasetcd"));
  167. fixasetcd2 = grd_chklist2.valueMatrix(i, grd_chklist2.colRef("fixasetcd"));
  168. } else {
  169. fixasetcd = grd_chklist2.valueMatrix(i-1, grd_chklist2.colRef("fixasetcd"));
  170. fixasetcd2 = grd_chklist2.valueMatrix(i, grd_chklist2.colRef("fixasetcd"));
  171. }
  172. grupdetldesc = model.getValue("/root/code/codeinfo/codelist[cdid='" + fixasetcd + "']/grupdetldesc");
  173. grupdetldesc2 = model.getValue("/root/code/codeinfo/codelist[cdid='" + fixasetcd2 + "']/grupdetldesc");
  174. if(grupdetldesc != grupdetldesc2) {
  175. model.makeValue("/root/printinfo/cmtinfo/cmt" + cnt, str);
  176. str = cmt;
  177. cnt++;
  178. if(i == grd_chklist2.rows -1) {
  179. model.makeValue("/root/printinfo/cmtinfo/cmt" + cnt, str);
  180. }
  181. } else {
  182. if(cmt != "" ) {
  183. if(idx == 0) {
  184. str += cmt;
  185. idx++;
  186. } else {
  187. str += ", " + cmt;
  188. }
  189. }
  190. }
  191. for(var j = idx; j <= idx + colCnt; j++) {
  192. model.makeValue("/root/printinfo/statinfo/stat" + i, grd_chklist2.valueMatrix(i, grd_chklist2.colRef("statyn")));
  193. model.makeValue("/root/printinfo/chkddinfo/chkdd" + i, grd_chklist2.valueMatrix(i, grd_chklist2.colRef("chkdd")));
  194. model.makeValue("/root/printinfo/chknminfo/chknm" + i, grd_chklist2.valueMatrix(i, grd_chklist2.colRef("chknm")) + "/" + grd_chklist2.valueMatrix(i, grd_chklist2.colRef("certnm")));
  195. model.makeValue("/root/printinfo/certnm2info/certnm2" + i, grd_chklist2.valueMatrix(i, grd_chklist2.colRef("certnm2")));
  196. }
  197. }
  198. exeReportPreview("RPMNG04700", "XMLSTR");
  199. // var Header[0] = arr[0].split("^");
  200. // var Header[1] = arr[1].split("^");
  201. // var Header[2] = arr[2].split("^");
  202. //
  203. }
  204. ]]>
  205. </script>
  206. </xhtml:head>
  207. <xhtml:body guideline="2,769;">
  208. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
  209. <caption id="cap_title" class="tit_1" style="left:0px; top:0px; width:220px; height:15px; ">장비 정기점검일지</caption>
  210. </group>
  211. <group id="grp_biz" scroll="auto" style="left:0px; top:13px; width:1195px; height:752px; ">
  212. <group id="grp_sea" style="left:0px; top:5px; width:1186px; height:35px; vertical-align:top; ">
  213. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1185px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  214. <caption id="caption9" class="search_name" style="left:10px; top:7px; width:89px; height:17px; ">업무년월 :</caption>
  215. <button id="button2" class="btn1_letter2" navindex="7" style="left:990px; top:5px; width:56px; height:22px; text-align:left; background-image:../../../com/commonweb/images/btn1_letter2.gif; ">
  216. <caption>조회</caption>
  217. <script type="javascript" ev:event="DOMActivate">
  218. <![CDATA[
  219. fSearch();
  220. ]]>
  221. </script>
  222. </button>
  223. <input id="ipt_workmm" ref="/root/main/cond/workmm" class="input_s_essential" inputtype="date" maxlength="6" format="yyyy-mm" style="left:100px; top:8px; width:85px; height:19px; text-align:center; ">
  224. <script type="javascript" ev:event="xforms-value-changed">
  225. <![CDATA[
  226. ipt_workmm.value = model.getValue(ipt_workmm.attribute("ref")).substr(0,6);
  227. ]]>
  228. </script>
  229. </input>
  230. <button id="button1" class="btn4_letter2" navindex="7" style="left:1055px; top:5px; width:56px; height:22px; text-align:left; background-image:../../../com/commonweb/images/btn1_letter2.gif; ">
  231. <caption>저장</caption>
  232. <script type="javascript" ev:event="DOMActivate">
  233. <![CDATA[
  234. fSave();
  235. ]]>
  236. </script>
  237. </button>
  238. <button id="button5" class="btn1_letter2" navindex="7" style="left:1115px; top:5px; width:56px; height:22px; text-align:left; background-image:../../../com/commonweb/images/btn1_letter2.gif; ">
  239. <caption>출력</caption>
  240. <script type="javascript" ev:event="DOMActivate">
  241. <![CDATA[
  242. fPrint();
  243. ]]>
  244. </script>
  245. </button>
  246. </group>
  247. <button id="button3" class="btn_sw" group="tab1" selected="true" style="left:5px; top:50px; width:100px; height:20px; ">
  248. <caption>체크리스트</caption>
  249. <script type="javascript" ev:event="DOMActivate">
  250. <![CDATA[
  251. model.toggle("case1");
  252. ]]>
  253. </script>
  254. </button>
  255. <button id="button4" class="btn_sw" group="tab1" style="left:105px; top:50px; width:100px; height:22px; ">
  256. <caption>점검일지</caption>
  257. <script type="javascript" ev:event="DOMActivate">
  258. <![CDATA[
  259. model.toggle("case2");
  260. ]]>
  261. </script>
  262. </button>
  263. <switch id="switch1" style="left:0px; top:75px; width:1195px; height:670px; ">
  264. <case id="case1" selected="true">
  265. <datagrid id="grd_chklist" nodeset="/root/main/chkinfo/chklist" caption="표준^Check List^고압증기 멸균기^고압증기 멸균기^고압증기 멸균기^고압증기 멸균기^고압증기 멸균기^고압증기 멸균기^E.O Gas 멸균기^E.O Gas 멸균기^E.O Gas 멸균기^E.O Gas 멸균기^세척기|표준^Check List^caption7^caption11^caption10^caption9^caption8^caption6^caption5^caption4^caption3^caption2^caption1" colsep="^" colwidth="63, 212, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80" dataheight="25" ellipsis="true" explorerbar="sortshow" frozencols="2" mergecellsfixedrows="bycolrec" rowheight="25" rowsep="|" tooltip="true" style="left:0px; top:28px; width:1193px; height:638px; font-weight:bold; ">
  266. <col ref="chkdivsnm" style="text-align:center; "/>
  267. <col ref="chknm"/>
  268. <col checkvalue="Y,N" ref="eq1" type="checkbox" style="text-align:center; "/>
  269. <col checkvalue="Y,N" ref="eq2" type="checkbox" style="text-align:center; "/>
  270. <col checkvalue="Y,N" ref="eq3" type="checkbox" style="text-align:center; "/>
  271. <col checkvalue="Y,N" ref="eq4" type="checkbox" style="text-align:center; "/>
  272. <col checkvalue="Y,N" ref="eq5" type="checkbox" style="text-align:center; "/>
  273. <col checkvalue="Y,N" ref="eq6" type="checkbox" style="text-align:center; "/>
  274. <col checkvalue="Y,N" ref="eq7" type="checkbox" style="text-align:center; "/>
  275. <col checkvalue="Y,N" ref="eq8" type="checkbox" style="text-align:center; "/>
  276. <col checkvalue="Y,N" ref="eq9" type="checkbox" style="text-align:center; "/>
  277. <col checkvalue="Y,N" ref="eq10" type="checkbox" style="text-align:center; "/>
  278. <col checkvalue="Y,N" ref="eq11" type="checkbox" style="text-align:center; "/>
  279. <script type="javascript" ev:event="onaftersort">
  280. <![CDATA[
  281. grd_chklist.gridToInstance();
  282. ]]>
  283. </script>
  284. </datagrid>
  285. <caption id="caption1" class="tit_2" style="left:5px; top:5px; width:100px; height:13px; ">체크리스트</caption>
  286. <line id="line1" class="line_1" style="x1:0px; y1:25px; x2:1193px; y2:24px; "/>
  287. </case>
  288. <case id="case2">
  289. <datagrid id="grd_chklist2" nodeset="/root/main/chkinfo/chklist2" class="datagrid2" caption="상태^workmm^장비명^점검후상태&#xA;(양호여부)^점검일자^점검자^멸균팀확인자^수리요구 계획 : 특이사항^의공학팀&#xA;확인자^멸균팀확인자ID^의공학팀&#xA;확인자" colsep="^" colwidth="1, 0, 100, 89, 100, 100, 100, 322, 100, 0, 0" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:0px; top:28px; width:1190px; height:637px; ">
  290. <col ref="stat" visibility="hidden"/>
  291. <col ref="workmm" visibility="hidden"/>
  292. <col ref="fixasetcd" type="combo">
  293. <choices>
  294. <itemset nodeset="/root/code/codeinfo/codelist">
  295. <label ref="cdnm"/>
  296. <value ref="cdid"/>
  297. </itemset>
  298. </choices>
  299. </col>
  300. <col checkvalue="Y,N" ref="statyn" type="checkbox"/>
  301. <col ref="chkdd" type="inputdate" style="left:210px; top:32px; width:100px; height:23px; "/>
  302. <col ref="chknm" type="input"/>
  303. <col ref="certnm" type="inputbutton"/>
  304. <col ref="cmt" type="input"/>
  305. <col ref="certnm2" type="inputbutton"/>
  306. <col ref="certid"/>
  307. <col ref="certid2"/>
  308. <script type="javascript" ev:event="onbuttonclick">
  309. <![CDATA[
  310. var iCol = grd_chklist2.col;
  311. var iRow = grd_chklist2.row;
  312. if(iCol == grd_chklist2.colRef("certnm")) {
  313. grd_chklist2.valueMatrix(iRow, grd_chklist2.colRef("certnm")) = getUserInfo("usernm");
  314. grd_chklist2.valueMatrix(iRow, grd_chklist2.colRef("certid")) = getUserInfo("userid");
  315. }
  316. if(iCol == grd_chklist2.colRef("certnm2")) {
  317. grd_chklist2.valueMatrix(iRow, grd_chklist2.colRef("certnm2")) = getUserInfo("usernm");
  318. grd_chklist2.valueMatrix(iRow, grd_chklist2.colRef("certid2")) = getUserInfo("userid");
  319. }
  320. if(grd_chklist2.rowStatus(iRow) == "0" ) {
  321. grd_chklist2.rowStatus(iRow) = "2";
  322. }
  323. ]]>
  324. </script>
  325. </datagrid>
  326. <caption id="caption2" class="tit_2" style="left:5px; top:9px; width:100px; height:13px; ">체크리스트</caption>
  327. <line id="line2" class="line_1" style="x1:0px; y1:25px; x2:1193px; y2:24px; "/>
  328. </case>
  329. </switch>
  330. </group>
  331. </xhtml:body>
  332. </xhtml:html>