SPMMO08600_관심슬립관리.xfdl 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMMO08600" position="absolute 0 0 1202 805" titletext="관심슬립관리" onload="SPMMO08600_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static text="관심슬립" position="absolute 0 0 124 25" id="caption1" class="tit_1"/>
  8. <Static text="관심슬립 등록" position="absolute 0 26 175 47" align="align:left middle;" id="caption6" class="tit_2"/>
  9. <Shape position="absolute 0 37 460 43" linetype="vertical" id="line3" class="line_1"/>
  10. <Static text="슬립명" position="absolute 0 45 70 68" align="align:center middle;" id="caption2" class="cell_1"/>
  11. <Edit position="absolute 72 47 340 66" id="ipt_slipnm" class="input_search"/>
  12. <Static text="관심슬립 리스트" position="absolute 0 104 175 117" align="align:left middle;" id="caption3" class="tit_2"/>
  13. <Shape position="absolute 0 117 460 123" linetype="vertical" id="line2" class="line_1"/>
  14. <Grid position="absolute 0 125 460 777" id="grd_concslip" binddataset="ds_grd_concsliplist" oncellclick="grd_concslip_oncellclick">
  15. <Formats>
  16. <Format id="default">
  17. <Columns>
  18. <Column size="23" band="left"/>
  19. <Column size="370"/>
  20. <Column size="0"/>
  21. <Column size="60"/>
  22. </Columns>
  23. <Rows>
  24. <Row size="24" band="head"/>
  25. <Row size="24"/>
  26. </Rows>
  27. <Band id="head">
  28. <Cell/>
  29. <Cell col="1" text="슬립명"/>
  30. <Cell col="2" text="슬립번호"/>
  31. <Cell col="3" text="사용여부"/>
  32. </Band>
  33. <Band id="body">
  34. <Cell celltype="head" expr="expr:currow+1"/>
  35. <Cell col="1" text="bind:slipnm"/>
  36. <Cell col="2" text="bind:slipno"/>
  37. <Cell col="3" text="bind:useyn"/>
  38. </Band>
  39. </Format>
  40. </Formats>
  41. </Grid>
  42. <Static text="검사항목" position="absolute 469 22 619 43" align="align:left middle;" id="caption4" class="tit_2"/>
  43. <Shape position="absolute 464 37 1191 43" linetype="vertical" id="line1" class="line_1"/>
  44. <Grid position="absolute 464 40 1191 777" id="grd_testitemnvalrslt" binddataset="ds_grd_testitemlist" autosizemergetype="nomerge" selecttype="multirow">
  45. <Formats>
  46. <Format id="default">
  47. <Columns>
  48. <Column size="25"/>
  49. <Column size="0"/>
  50. <Column size="250"/>
  51. <Column size="0"/>
  52. <Column size="0"/>
  53. <Column size="0"/>
  54. <Column size="250"/>
  55. <Column size="30"/>
  56. <Column size="50"/>
  57. <Column size="30"/>
  58. <Column size="50"/>
  59. <Column size="50"/>
  60. <Column size="0"/>
  61. <Column size="0"/>
  62. </Columns>
  63. <Rows>
  64. <Row size="24" band="head"/>
  65. <Row size="24"/>
  66. </Rows>
  67. <Band id="head">
  68. <Cell/>
  69. <Cell col="1" text="caption1"/>
  70. <Cell col="2" text="검사명"/>
  71. <Cell col="3" text="슬립번호"/>
  72. <Cell col="4" text="검사코드"/>
  73. <Cell col="5" text="상태검사코드"/>
  74. <Cell col="6" text="상태검사명"/>
  75. <Cell col="7" colspan="2" text="상한값" taborder="undefined"/>
  76. <Cell col="9" colspan="2" text="하한값" taborder="undefined"/>
  77. <Cell col="11" text="단위"/>
  78. <Cell col="12" text="슬립이력번호"/>
  79. <Cell col="13" text="알람구분"/>
  80. </Band>
  81. <Band id="body">
  82. <Cell celltype="head"/>
  83. <Cell col="1" text="bind:userid"/>
  84. <Cell col="2" text="bind:testnm" suppress="1"/>
  85. <Cell col="3" text="bind:slipno"/>
  86. <Cell col="4" text="bind:testcd"/>
  87. <Cell col="5" text="bind:testitemcd"/>
  88. <Cell col="6" text="bind:testitemnm" suppress="0"/>
  89. <Cell col="7" displaytype="checkbox" edittype="checkbox" text="bind:hvalappflag"/>
  90. <Cell col="8" displaytype="text" edittype="text" style="align:center middle;" text="bind:refhval"/>
  91. <Cell col="9" displaytype="checkbox" edittype="checkbox" text="bind:lvalappflag"/>
  92. <Cell col="10" displaytype="text" edittype="text" style="align:center middle;" text="bind:reflval"/>
  93. <Cell col="11" text="bind:rsltunit"/>
  94. <Cell col="12" text="bind:sliphistno"/>
  95. <Cell col="13" text="bind:alertcdflag"/>
  96. </Band>
  97. </Format>
  98. </Formats>
  99. </Grid>
  100. <Button position="absolute 346 17 402 39" id="button1" class="btn4" text="신규" onclick="button1_onclick"/>
  101. <Button position="absolute 404 17 460 39" id="button3" class="btn4" text="저장" onclick="button3_onclick"/>
  102. <Button position="absolute 419 102 461 121" id="button2" class="btn2_letter2" text="삭제" onclick="button2_onclick"/>
  103. <Button position="absolute 1058 18 1100 37" id="button7" class="btn2_letter2" text="신규" onclick="button7_onclick"/>
  104. <Button position="absolute 1103 18 1145 37" id="button8" class="btn2_letter2" text="삭제" onclick="button8_onclick"/>
  105. <Button position="absolute 1149 18 1191 37" id="button9" class="btn5" text="저장" onclick="button9_onclick"/>
  106. <Static text="사용여부" position="absolute 345 45 415 68" align="align:center middle;" id="caption5" class="cell_1"/>
  107. <CheckBox position="absolute 431 45 453 65" id="bol_useyn" style="buttonalign:left middle;"/>
  108. <Static text="분류구분" position="absolute 0 70 70 93" align="align:center middle;" id="caption7" class="cell_1"/>
  109. <Radio position="absolute 74 70 224 93" id="rdo_kindflag" columncount="2" codecolumn="codecolumn" datacolumn="datacolumn" style="font:돋움,9,bold;" onitemchanged="rdo_kindflag_onitemchanged">
  110. <Dataset id="innerdataset">
  111. <ColumnInfo>
  112. <Column id="codecolumn"/>
  113. <Column id="datacolumn"/>
  114. </ColumnInfo>
  115. <Rows>
  116. <Row>
  117. <Col id="codecolumn">P</Col>
  118. <Col id="datacolumn">개인</Col>
  119. </Row>
  120. <Row>
  121. <Col id="codecolumn">D</Col>
  122. <Col id="datacolumn">과</Col>
  123. </Row>
  124. </Rows>
  125. </Dataset>
  126. </Radio>
  127. <Shape id="Shape00" position="absolute 0 86 460 110" onclick="Shape00_onclick"/>
  128. </Layout>
  129. </Layouts>
  130. <Objects>
  131. <Dataset id="ds_grd_concsliplist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  132. <ColumnInfo>
  133. <Column id="slipnm" type="STRING"/>
  134. <Column id="slipno" type="STRING"/>
  135. <Column id="useyn" type="STRING"/>
  136. </ColumnInfo>
  137. </Dataset>
  138. <Dataset id="ds_grd_testitemlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  139. <ColumnInfo>
  140. <Column id="userid" type="STRING"/>
  141. <Column id="testnm" type="STRING"/>
  142. <Column id="slipno" type="STRING"/>
  143. <Column id="testcd" type="STRING"/>
  144. <Column id="testitemcd" type="STRING"/>
  145. <Column id="testitemnm" type="STRING"/>
  146. <Column id="hvalappflag" type="STRING"/>
  147. <Column id="refhval" type="STRING"/>
  148. <Column id="lvalappflag" type="STRING"/>
  149. <Column id="reflval" type="STRING"/>
  150. <Column id="rsltunit" type="STRING"/>
  151. <Column id="sliphistno" type="STRING"/>
  152. <Column id="alertcdflag" type="STRING"/>
  153. </ColumnInfo>
  154. </Dataset>
  155. <Dataset id="ds_cond" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  156. <ColumnInfo>
  157. <Column id="slipnm" type="STRING" size="256"/>
  158. <Column id="useyn" type="STRING" size="256"/>
  159. <Column id="status" type="STRING" size="256"/>
  160. <Column id="slipno" type="STRING" size="256"/>
  161. <Column id="sliphistno" type="STRING" size="256"/>
  162. <Column id="sliptypecd" type="STRING" size="256"/>
  163. <Column id="slipkindcd" type="STRING" size="256"/>
  164. <Column id="userid" type="STRING" size="256"/>
  165. <Column id="alertcdflag" type="STRING" size="256"/>
  166. <Column id="alertgrde" type="STRING" size="256"/>
  167. </ColumnInfo>
  168. <Rows>
  169. <Row>
  170. <Col id="sliptypecd">C</Col>
  171. <Col id="slipkindcd">P</Col>
  172. <Col id="alertcdflag">01</Col>
  173. </Row>
  174. </Rows>
  175. </Dataset>
  176. <Dataset id="ds_alertgrdelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  177. <Dataset id="ds_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  178. <Dataset id="ds_savedata" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  179. <Dataset id="ds_hidden_testiteminfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  180. <Dataset id="ds_hidden_testitemlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  181. </Objects>
  182. <Bind>
  183. <BindItem id="item2" compid="ipt_slipnm" propid="value" datasetid="ds_cond" columnid="slipnm"/>
  184. <BindItem id="item3" compid="bol_useyn" propid="value" datasetid="ds_cond" columnid="useyn"/>
  185. <BindItem id="item4" compid="rdo_kindflag" propid="value" datasetid="ds_cond" columnid="slipkindcd"/>
  186. </Bind>
  187. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  188. * System Name :
  189. * Job Name :
  190. * Creator :
  191. * Make Date : 2014-08-29
  192. * Description :
  193. *---------------------------------------------------------------------------------------
  194. * Modify Date Modifier Modify Description
  195. *---------------------------------------------------------------------------------------
  196. * 2014-08-29 Live Converter TF->XP
  197. *
  198. *---------------------------------------------------------------------------------------
  199. ****************************************************************************************/
  200. include "com_commonxp::comm_main.xjs";
  201. include "emr_commonxp::EMRCommon.xjs";
  202. function SPMMO08600_onload(obj:Form, e:LoadEventInfo)
  203. {
  204. frmf_initForm(obj);
  205. // 공통코드를 조회한다.
  206. //zbcfGetCodeList( new Array("M0517"), new Array( "/root/init/alertgrdelist") );
  207. var arrParam = [{dsNm: "ds_alertgrdelist", cdGrpId: "M0517"}]
  208. appf_getCodeList(arrParam);
  209. ds_cond.setColumn(0,"alertgrde", "M04"); //알람방법:조회
  210. ds_cond.setColumn(0,"alertcdflag", "01"); //알람구분:진단검사
  211. //그리드 초기화
  212. ds_grd_concsliplist.clearData();
  213. ds_grd_testitemlist.clearData();
  214. //슬립명 입력창을 비활성화
  215. ipt_slipnm.enable = false;
  216. //관심슬립을 조회
  217. if (ds_cond.getColumn(0,"slipkindcd") == "P" ){
  218. ds_cond.setColumn(0,"userid", sysf_getUserInfo("userid"));
  219. } else if ( ds_cond.getColumn(0,"slipkindcd") == "D" ) {
  220. ds_cond.setColumn(0,"userid", sysf_getUserInfo("dutplcecd"));
  221. }
  222. dsf_copyDs(ds_reqdata,ds_cond,"replace");
  223. var oParam = {};
  224. oParam.id = "TRMMO08601";
  225. oParam.service = "prcpbaseapp.EnvInfoMngt";
  226. oParam.method = "reqGetConcSlipList";
  227. oParam.inds = "req=ds_reqdata";
  228. oParam.outds = "ds_grd_concsliplist=concsliplist";
  229. oParam.async = false;
  230. oParam.callback = "cf_TRMMO08601";
  231. tranf_submit(oParam);
  232. //model.copyNode("/root/send/reqdata","/root/main/info/concslipinfo/concsliplist[" + 1 + "]");
  233. ds_reqdata.clear();
  234. dsf_copyColInfo(ds_reqdata,ds_cond);
  235. ds_reqdata.addRow();
  236. ds_reqdata.copyRow(0,ds_grd_concsliplist,0);
  237. if (ds_cond.getColumn(0,"slipkindcd") == "P" ){
  238. ds_cond.setColumn(0,"userid", sysf_getUserInfo("userid"));
  239. } else if ( ds_cond.getColumn(0,"slipkindcd") == "D" ) {
  240. ds_cond.setColumn(0,"userid", sysf_getUserInfo("dutplcecd"));
  241. }
  242. ds_reqdata.copyRow(0,ds_cond,0,"userid=userid,alertcdflag = alertcdflag ");
  243. var oParam1 = {};
  244. oParam1.id = "TRMMO08602";
  245. oParam1.service = "prcpbaseapp.EnvInfoMngt";
  246. oParam1.method = "reqGetTestItemList";
  247. oParam1.inds = "req=ds_reqdata";
  248. oParam1.outds = "ds_grd_testitemlist=testitemlist";
  249. oParam1.async = false;
  250. oParam1.callback = "cf_TRMMO08602";
  251. tranf_submit(oParam1);
  252. var slipnm = ds_grd_concsliplist.getColumn(0,"slipnm");
  253. var slipno = ds_grd_concsliplist.getColumn(0,"slipno");
  254. var sliphistno = ds_grd_concsliplist.getColumn(0,"sliphistno"); //2008.12.16
  255. var useyn = ds_grd_concsliplist.getColumn(0,"useyn");
  256. //첫 시작시 슬립이 선택된 상태에서 시작하게 하기
  257. ds_grd_concsliplist.rowposition = 0;
  258. ds_cond.setColumn(0,"slipno",slipno);
  259. ds_cond.setColumn(0,"sliphistno",sliphistno);
  260. if(useyn == 'Y'){
  261. bol_useyn.value = true;
  262. }else{
  263. bol_useyn = false;
  264. }
  265. //입력창을 비활성화하고 값을 세팅한다
  266. ipt_slipnm.enable = false;
  267. ipt_slipnm.value = slipnm;
  268. }
  269. function cf_TRMMO08601(sSvcId, nErrorCode, sErrorMsg) {
  270. if(nErrorCode < 0) return;
  271. }
  272. function cf_TRMMO08602(sSvcId, nErrorCode, sErrorMsg) {
  273. if(nErrorCode < 0) return;
  274. }
  275. function grd_concslip_oncellclick(obj:Grid, e:GridClickEventInfo)
  276. {
  277. ///수정를 원하는 로우를 얻어온다.
  278. var gridrow = ds_grd_concsliplist.rowposition;
  279. //선택된 로우 값들을 받아옴
  280. var slipno = ds_grd_concsliplist.getColumn(gridrow,"slipno");
  281. var sliphistno = ds_grd_concsliplist.getColumn(gridrow,"sliphistno"); //2008.12.16
  282. var slipnm = ds_grd_concsliplist.getColumn(gridrow,"slipnm");
  283. var useyn = ds_grd_concsliplist.getColumn(gridrow,"useyn");
  284. var alertgrde = ds_grd_concsliplist.getColumn(gridrow,"alertgrde");
  285. //선택한 로우값을 입력창에 보여줌
  286. ds_cond.setColumn(0,"slipnm",slipnm);
  287. ds_cond.setColumn(0,"slipno",slipno);
  288. ds_cond.setColumn(0,"sliphistno",sliphistno);
  289. ds_cond.setColumn(0,"alertgrde",alertgrde);
  290. if(useyn == "Y"){
  291. ds_cond.setColumn(0,"useyn","true");
  292. }else{
  293. ds_cond.setColumn(0,"useyn","false");
  294. }
  295. //수정가능하게 활성화
  296. ipt_slipnm.enable = true;
  297. //코드값을 가지고 검사항목을 조회하러 간다
  298. //model.copyNode("/root/send/reqdata","/root/main/info/concslipinfo/concsliplist[" + gridrow + "]");
  299. ds_reqdata.clear();
  300. dsf_copyColInfo(ds_reqdata,ds_cond);
  301. ds_reqdata.addRow();
  302. ds_reqdata.copyRow(0,ds_grd_concsliplist,gridrow);
  303. if (ds_cond.getColumn(0,"slipkindcd") == "P" ){
  304. ds_cond.setColumn(0,"userid", sysf_getUserInfo("userid"));
  305. }
  306. else if ( ds_cond.getColumn(0,slipkindcd) == "D" ) {
  307. ds_cond.setColumn(0,"userid", sysf_getUserInfo("dutplcecd"));
  308. }
  309. ds_reqdata.copyRow(0,ds_cond,0,"userid=userid,alertcdflag = alertcdflag ");
  310. var oParam1 = {};
  311. oParam1.id = "TRMMO08602";
  312. oParam1.service = "prcpbaseapp.EnvInfoMngt";
  313. oParam1.method = "reqGetTestItemList";
  314. oParam1.inds = "req=ds_reqdata";
  315. oParam1.outds = "ds_grd_testitemlist=testitemlist";
  316. oParam1.async = false;
  317. oParam1.callback = "cf_TRMMO08602";
  318. tranf_submit(oParam1);
  319. ds_reqdata.clearData();
  320. }
  321. function button1_onclick(obj:Button, e:ClickEventInfo)
  322. {
  323. //관심슬립 그리드의 선택이 해제되게 하기
  324. ds_grd_concsliplist.rowposition=-1;
  325. //입력가능하게 입력값을 지우고 활성화
  326. ipt_slipnm.value = "";
  327. bol_useyn.value = false;
  328. ipt_slipnm.enable = true;
  329. //상태값을 등록으로 만든다.
  330. ds_cond.setColumn(0,"status", "i");
  331. ds_cond.setColumn(0,"slipno", "");
  332. ds_cond.setColumn(0,"slipnm", "");
  333. ds_cond.setColumn(0,"useyn", "false");
  334. ds_cond.setColumn(0,"alertgrde", "M04");
  335. //바로 입력가능 하게 포커스를 옮김
  336. ipt_slipnm.setFocus();
  337. //그리드를 지움
  338. ds_grd_testitemlist.clearData();
  339. }
  340. function button3_onclick(obj:Button, e:ClickEventInfo)
  341. {
  342. //현재 상태값을 받아옴
  343. var status = ds_cond.getColumn(0,"status");
  344. //삭제나 신규가 아닌 경우는 수정이므로 상태값을 입력
  345. if((status != "i") && (status != "d")){
  346. ds_cond.setColumn(0,"status", "u");
  347. }
  348. var useyn = ds_cond.getColumn(0,"useyn");
  349. if(useyn == "true"){
  350. ds_cond.setColumn(0,"useyn","Y");
  351. }else{
  352. ds_cond.setColumn(0,"useyn","N");
  353. }
  354. //관심슬립 등록, 수정
  355. ds_savedata.clearData();
  356. if (ds_cond.getColumn(0,"slipkindcd") == "P" ){
  357. ds_cond.setColumn(0,"userid", sysf_getUserInfo("userid"));
  358. } else if ( ds_cond.getColumn(0,"slipkindcd") == "D" ) {
  359. ds_cond.setColumn(0,"userid", sysf_getUserInfo("dutplcecd"));
  360. }
  361. dsf_copyDs(ds_reqdata,ds_cond);
  362. var oParam = {};
  363. oParam.id = "TXMMO08601";
  364. oParam.service = "prcpbaseapp.EnvInfoMngt";
  365. oParam.method = "reqExeSaveConcSlipList";
  366. oParam.inds = "save=ds_savedata req=ds_reqdata";
  367. oParam.outds = "ds_grd_concsliplist=concsliplist ds_grd_testitemlist=testitemlist";
  368. oParam.async = false;
  369. oParam.callback = "cf_TXMMO08601";
  370. tranf_submit(oParam);
  371. //다시 초기화
  372. ds_cond.setColumn(0,"status", '');
  373. ipt_slipnm.enable = false;
  374. ipt_slipnm.value = "";
  375. }
  376. function button2_onclick(obj:Button, e:ClickEventInfo)
  377. {
  378. //멀티로 삭제를 원하는 로우를 얻어온다.
  379. var selectedRows = grdf_getSelectedRows(grd_concslip);
  380. //선택한 로우의 슬립명을 받아옴
  381. var slipno = new Array();
  382. //선택한 삭제로우행을 받아오기 위해 배열지정
  383. var row = new Array();
  384. //멀티로 선택한 로우행값,슬립번호을 받아옴
  385. for (var i= selectedRows.length -1 ; i >= 0 ; i--){
  386. row[i] = selectedRows[i];
  387. slipno[i] = ds_grd_concsliplist.getColumn(selectedRows[i],"slipno");
  388. }
  389. xPath = "/root/main/info/concslipinfo/concsliplist";
  390. var savedata ="status▦slipnm▦useyn▦slipno▦sliphistno▦userid▩";
  391. for (var i= selectedRows.length-1 ; i >= 0 ; i--){
  392. ds_cond.setColumn(0,"slipno",slipno[i]);
  393. //삭제를 원하는 로우를 얻어온다.
  394. var no = slipno[i]
  395. //슬립번호가 비어있는 경우 메세지
  396. if(utlf_isNull(no)){
  397. sysf_messageBox("삭제할 관심슬립을 ", "C002");
  398. }else{
  399. savedata += 'd' + "▦";
  400. savedata += ds_grd_concsliplist.getColumn(row[i],"slipnm") + "▦";
  401. savedata += ds_grd_concsliplist.getColumn(row[i],"useyn") + "▦";
  402. savedata += ds_grd_concsliplist.getColumn(row[i],"slipno") + "▦";
  403. savedata += ds_grd_concsliplist.getColumn(row[i],"sliphistno") + "▦";
  404. if (ds_cond.getColumn(0,"slipkindcd") == "P" ){
  405. var userid = sysf_getUserInfo("userid");
  406. savedata += userid+ "▩";
  407. } else if ( ds_cond.getColumn(0,"slipkindcd") == "D" ) {
  408. var deptcd = sysf_getUserInfo("dutplcecd");
  409. savedata += deptcd+ "▩";
  410. }
  411. }
  412. }
  413. dsf_setCSVToDs("ds_savedata",savedata);
  414. //model.setValue("/root/send/savedata",savedata);
  415. ds_reqdata.clearData();
  416. //관심슬립 삭제(검사항목까지 같이 삭제)
  417. var oParam = {};
  418. oParam.id = "TXMMO08601";
  419. oParam.service = "prcpbaseapp.EnvInfoMngt";
  420. oParam.method = "reqExeSaveConcSlipList";
  421. oParam.inds = "save=ds_savedata req=ds_reqdata";
  422. oParam.outds = "ds_grd_concsliplist=concsliplist ds_grd_testitemlist=testitemlist";
  423. oParam.async = false;
  424. oParam.callback = "cf_TXMMO08601";
  425. tranf_submit(oParam);
  426. ipt_slipnm.enable = false;
  427. ipt_slipnm.value = "";
  428. }
  429. function cf_TXMMO08601(sSvcId, nErrorCode, sErrorMsg) {
  430. if(nErrorCode < 0) return;
  431. }
  432. function button7_onclick(obj:Button, e:ClickEventInfo)
  433. {
  434. //검사항목리스트의 총 개수
  435. var rows = this.ds_grd_testitemlist.rowcount;
  436. //수치검사항목 팝업으로 총개수를 넘겨줌
  437. frmf_setParameter("count", rows);
  438. //수치검사항목 팝업으로 코드 값을 넘겨주기 위해 코드 값을 받아옴
  439. for(var i = 0 ; i < rows ; i++){
  440. var testitemcd = ds_grd_testitemlist.getColumn(i,"testitemcd");
  441. if(i == 0){
  442. frmf_setParameter("cd", testitemcd);
  443. }else{
  444. frmf_addParameter("cd", testitemcd);
  445. }
  446. }
  447. //관심슬립 리스트에 선택된 로우값을 받아옴
  448. var row = this.ds_grd_concsliplist.rowposition;
  449. //현재 관심슬립의 슬립번호를 받아옴
  450. var no = ds_cond.getColumn(0,"slipno");
  451. var histno = ds_cond.getColumn(0,"sliphistno");
  452. var alertcdflag = ds_cond.getColumn(0,"alertcdflag");
  453. //검사항목 총개수에서 하나씩 추가할 로우개수
  454. var usercount = 0;
  455. //관심슬립번호가 존재하지 않거나 현재 선택된 관심슬립이 없는경우 메세지
  456. if((row == -1) || (no == '')){
  457. sysf_messageBox("관심슬립을","C002");
  458. }else{
  459. //수치검사항목 팝업을 띠움
  460. //수정전 팝업
  461. //modal("SPMMB01500", "1","150", "150", "SPMMB01500", "", "");
  462. frmf_modal("SPMMB01500", "SPMMB01500", "", "", "", 150, 150, "", "", "", "", "", "M")
  463. //검사항목 총 개수
  464. var gridrows = ds_grd_testitemlist.rowcount;
  465. //수치검사항목 팝업에서 넘겨받은 신규로 등록한 개수
  466. var count = ds_hidden_testiteminfo.getColumn(0,"count");
  467. //수치검사항목에서 넘겨받은 데이타의 사용여부
  468. var useyn = ds_hidden_testiteminfo.getColumn(0,"useyn");
  469. //수치검사항목에서 넘겨받은 데이타의 사용여부가 yes인경우 (확인)
  470. if(useyn == "Y"){
  471. //신규로 등록한 개수 대로 나타내기
  472. for(var i=0; i<count ; i++){
  473. //중복여부 변수
  474. var dupl = 0;
  475. //검사항목 총개수
  476. var rows = ds_grd_testitemlist.rowcount;
  477. //검사항목 총개수에서 로우를 증가를 위한 값
  478. usercount = rows ;
  479. //수치검사항목 팝업창에서 받아옴 데이타를 하나씩 받아옴
  480. var testcd = ds_hidden_testitemlist.getColumn(i,"testcd");
  481. var testitemcd = ds_hidden_testitemlist.getColumn(i,"testitemcd");
  482. var testnm = ds_hidden_testitemlist.getColumn(i,"testnm");
  483. var testitemnm = ds_hidden_testitemlist.getColumn(i,"testitemnm");
  484. var rsltunit = ds_hidden_testitemlist.getColumn(i,"rsltunit");
  485. //신규로 받아온 데이타의 검사코드와 현재 있는 검사코드가 같은 경우가 있는지 확인
  486. for(var j= 0 ; j<rows ; j++){
  487. var usertestcd = ds_grd_testitemlist.getColumn(j,"testitemcd");
  488. //var usertestnm = model.getValue("/root/main/info/testiteminfo/testitemlist[" + j + "]/testitemnm");
  489. //중복된 코드가 잇는 경우 메세지 출력
  490. if(testitemcd == usertestcd){
  491. //messageBox(usertestnm + " 검사명이","E006");
  492. dupl = dupl + 1;
  493. }
  494. }
  495. //중복된 코드가 없는 경우 그리드에 신규로 추가
  496. if(dupl == 0){
  497. //grd_testitemnvalrslt.addRow(false);
  498. this.ds_grd_testitemlist.addRow();
  499. ds_grd_testitemlist.setColumn(usercount,"testcd",testcd);
  500. ds_grd_testitemlist.setColumn(usercount,"testitemcd",testitemcd);
  501. ds_grd_testitemlist.setColumn(usercount,"testnm",testnm);
  502. ds_grd_testitemlist.setColumn(usercount,"testitemnm",testitemnm);
  503. ds_grd_testitemlist.setColumn(usercount,"slipno",no);
  504. ds_grd_testitemlist.setColumn(usercount,"sliphistno",histno);
  505. ds_grd_testitemlist.setColumn(usercount,"refhval","0");
  506. ds_grd_testitemlist.setColumn(usercount,"reflval","0");
  507. ds_grd_testitemlist.setColumn(usercount,"hvalappflag","Y");
  508. ds_grd_testitemlist.setColumn(usercount,"lvalappflag","Y");
  509. ds_grd_testitemlist.setColumn(usercount,"rsltunit",rsltunit); //2008.12.16 JJE
  510. ds_grd_testitemlist.setColumn(usercount,"alertcdflag",alertcdflag); //2008.12.16 JJE
  511. }
  512. }
  513. }
  514. }
  515. }
  516. function button8_onclick(obj:Button, e:ClickEventInfo)
  517. {
  518. //삭제를 원하는 로우를 얻어온다.
  519. var selectedRows = grdf_getSelectedRows(grd_testitemnvalrslt);
  520. //선택한 삭제로우행을 받아오기 위해 배열지정
  521. var row = new Array();
  522. //멀티로 선택한 로우행값을 받아옴
  523. for (i= selectedRows.length -1; i >= 0; i--){
  524. row[i] = selectedRows[i];
  525. }
  526. //선택한 로우가 없는 경우 메세지
  527. if(selectedRows.length == 0){
  528. sysf_messageBox("삭제할검사항목을 ", "C002");
  529. }else{
  530. xPath = "/root/main/info/testiteminfo/testitemlist";
  531. var savedata ="userid▦status▦testnm▦testitemnm▦refhval▦reflval▦testcd▦slipno▦sliphistno▦testitemcd▦hvalappflag▦lvalappflag▦rsltunit▩";
  532. for (i= selectedRows.length-1; i >= 0; i--){
  533. if (ds_cond.getColumn(0,"slipkindcd") == "P" ){
  534. var userid = sysf_getUserInfo("userid");
  535. savedata += userid+ "▦";
  536. } else if ( ds_cond.getColumn(0,"slipkindcd") == "D" ) {
  537. var deptcd = sysf_getUserInfo("dutplcecd");
  538. savedata += deptcd+ "▦";
  539. }
  540. savedata += 'd' + "▦";
  541. savedata += this.ds_grd_testitemlist.getColumn(row[i],"testnm") + "▦";
  542. savedata += this.ds_grd_testitemlist.getColumn(row[i],"testitemnm" ) + "▦";
  543. savedata += this.ds_grd_testitemlist.getColumn(row[i],"refhval" ) + "▦";
  544. savedata += this.ds_grd_testitemlist.getColumn(row[i],"reflval" ) + "▦";
  545. savedata += this.ds_grd_testitemlist.getColumn(row[i],"testcd" ) + "▦";
  546. savedata += this.ds_grd_testitemlist.getColumn(row[i],"slipno" ) + "▦";
  547. savedata += this.ds_grd_testitemlist.getColumn(row[i],"sliphistno" ) + "▦";
  548. savedata += this.ds_grd_testitemlist.getColumn(row[i],"testitemcd" ) + "▦";
  549. savedata += this.ds_grd_testitemlist.getColumn(row[i],"hvalappflag" ) + "▦";
  550. savedata += this.ds_grd_testitemlist.getColumn(row[i],"lvalappflag" ) + "▦";
  551. savedata += this.ds_grd_testitemlist.getColumn(row[i],"rsltunit" ) + "▩";
  552. }
  553. //멀티로 원한 데이타를 가지고 삭제하러 간다
  554. //model.copyNode("/root/send/reqdata","");
  555. //model.setValue("/root/send/savedata",savedata);
  556. dsf_setCSVToDs("ds_savedata",savedata);
  557. //검사항목을 삭제
  558. var oParam = {};
  559. oParam.id = "TXMMO08602";
  560. oParam.service = "prcpbaseapp.EnvInfoMngt";
  561. oParam.method = "reqExeSaveNvalRsltList";
  562. oParam.inds = "req=ds_reqdata save=ds_savedata";
  563. oParam.outds = "ds_grd_testitemlist=testitemlist";
  564. oParam.async = false;
  565. oParam.callback = "cf_TXMMO08602";
  566. tranf_submit(oParam);
  567. }
  568. }
  569. function button9_onclick(obj:Button, e:ClickEventInfo)
  570. {
  571. //검사항목 등록이나, 수정인경우 저장하러 간다~
  572. var grd_concslip_row = this.ds_grd_concsliplist.rowposition;
  573. var userid = sysf_getUserInfo("userid");
  574. var deptcd = sysf_getUserInfo("dutplcecd");
  575. if( ! grdf_getGridUpdateData(grd_testitemnvalrslt,"status") ){
  576. sysf_messageBox("입력","E013"); // 그리드에 데이터가 업데이트 되지 않으면 "입력된 데이터가 없습니다."는 메시지 출력
  577. return ;
  578. }
  579. for (var i=0; i < this.ds_grd_testitemlist.rowcount; i++){
  580. //
  581. if (ds_cond.getColumn(0,"slipkindcd") == "P" ){
  582. //grd_testitemnvalrslt.textmatrix(i,1) = userid;
  583. ds_grd_testitemlist.setColumn(i,"userid",userid);
  584. } else if ( ds_cond.getColumn(0,"slipkindcd") == "D" ) {
  585. // grd_testitemnvalrslt.textmatrix(i,1) = deptcd;
  586. ds_grd_testitemlist.setColumn(i,"userid",deptcd);
  587. }
  588. }
  589. grdf_setStatusColumn(ds_grd_testitemlist,"status");
  590. dsf_copyDs(ds_savedata,grdf_getGridUpdateData(grd_testitemnvalrslt),"replace");
  591. dsf_copyDs(ds_reqdata,ds_cond,"replace");
  592. var oParam = {};
  593. oParam.id = "TXMMO08602";
  594. oParam.service = "prcpbaseapp.EnvInfoMngt";
  595. oParam.method = "reqExeSaveNvalRsltList";
  596. oParam.inds = "req=ds_reqdata save=ds_savedata";
  597. oParam.outds = "ds_grd_concsliplist=concsliplist ds_grd_testitemlist=testitemlist";
  598. oParam.async = false;
  599. oParam.callback = "cf_TXMMO08602";
  600. tranf_submit(oParam);
  601. ds_grd_concsliplist.rowposition = grd_concslip_row;
  602. var ev = new GridClickEventInfo;
  603. frmf_inputEnterKey("grd_concslip", "oncellclick", ev );
  604. //model.refresh();
  605. }
  606. function rdo_kindflag_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  607. {
  608. if (ds_cond.getColumn(0,"slipkindcd") == "P" ){
  609. ds_cond.setColumn(0,"userid", sysf_getUserInfo("userid"));
  610. } else if ( ds_cond.getColumn(0,"slipkindcd") == "D" ) {
  611. ds_cond.setColumn(0,"userid", sysf_getUserInfo("dutplcecd"));
  612. }
  613. dsf_copyDs(ds_reqdata,ds_cond,"replace");
  614. ds_grd_concsliplist.clearData();
  615. ds_grd_testitemlist.clearData();
  616. ds_cond.setColumn(0,"slipnm", "");
  617. ds_cond.setColumn(0,"useyn", "false");
  618. //슬립명 입력창을 비활성화
  619. ipt_slipnm.enable= false;
  620. //관심슬립을 조회
  621. var oParam = {};
  622. oParam.id = "TRMMO08601";
  623. oParam.service = "prcpbaseapp.EnvInfoMngt";
  624. oParam.method = "reqGetConcSlipList";
  625. oParam.inds = "req=ds_reqdata";
  626. oParam.outds = "ds_grd_concsliplist=concsliplist";
  627. oParam.async = false;
  628. oParam.callback = "cf_TRMMO08601";
  629. tranf_submit(oParam);
  630. }
  631. function cf_TXMMO08602(sSvcId, nErrorCode, sErrorMsg) {
  632. if(nErrorCode < 0) return;
  633. }
  634. function Shape00_onclick(obj:Shape, e:ClickEventInfo)
  635. {
  636. }
  637. ]]></Script>
  638. </Form>
  639. </FDL>