SPPIJ00500_특정내역상세관리.xfdl 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPPIJ00500" position="absolute 0 0 597 619" titletext="특정내역 상세 관리" oninit="model1_oninit" onload="SPPIJ00500_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="Static02" class="sta_DA_box" position="absolute -1 50 595 382"/>
  8. <Static id="caption02" text="EDI코드" class="cell_1" position="absolute 0 53 74 77"/>
  9. <Edit id="opt_edicd01" taborder="10" readonly="false" position="absolute 77 55 177 75" enable="false"/>
  10. <Static id="caption04" text="특정코드" class="cell_1" position="absolute 180 53 239 77"/>
  11. <Combo id="cmb_spclcd01" taborder="11" class="combo_default" position="absolute 242 55 591 75" innerdataset="@ds_init_P0117" codecolumn="cdid" datacolumn="cdid_cdnm" onitemchanged="cmb_spclcd01_onitemchanged"/>
  12. <Static id="caption05" text="상세설명" class="cell_1" position="absolute 0 78 74 206"/>
  13. <TextArea id="textarea01" taborder="12" position="absolute 77 80 591 204" enable="false" scrollbars="autovert" wordwrap="word"/>
  14. <Static id="caption06" text="특정내역" class="cell_1" position="absolute 0 207 74 356"/>
  15. <TextArea id="tar_spclspec01" taborder="13" position="absolute 77 209 591 354" wordwrap="word"/>
  16. <Static id="caption08" text="기재형식" class="cell_1" position="absolute 0 357 74 381"/>
  17. <Edit id="opt_remfact01" taborder="14" readonly="true" position="absolute 77 359 591 379"/>
  18. <Button id="btn_rsltsrch" taborder="15" text="결과조회" onlbuttonup="btn_rsltsrch_onlbuttonup" class="btn2" position="absolute 219 27 287 49" positiontype="position" onclick="btn_rsltsrch_onclick"/>
  19. <Button id="btn_memohistory" taborder="16" text="줄단위메모" onlbuttonup="btn_memohistory_onlbuttonup" class="btn2" position="absolute 289 27 365 49" positiontype="position" onclick="btn_memohistory_onclick"/>
  20. <Button id="btn_memohistory_drug" taborder="17" text="약" class="btn2" position="absolute 367 27 411 49" positiontype="position" onclick="btn_memohistory_drug_onclick"/>
  21. <Button id="btn_memohistory_treat" taborder="18" text="처치" class="btn2" position="absolute 459 27 503 49" positiontype="position" onclick="btn_memohistory_treat_onclick"/>
  22. <Button id="btn_memohistory_exam" taborder="19" text="검사" class="btn2" position="absolute 505 27 549 49" positiontype="position" onclick="btn_memohistory_exam_onclick"/>
  23. <Button id="btn_memohistory_etc" taborder="20" text="기타" class="btn2" position="absolute 551 27 595 49" positiontype="position" onclick="btn_memohistory_etc_onclick"/>
  24. <Button id="btn_confirm" taborder="21" text="확인" onlbuttonup="btn_confirm_onlbuttonup" class="btn4" position="absolute 480 590 536 612" positiontype="position" onclick="btn_confirm_onclick"/>
  25. <Shape id="line4" linetype="horizontal" class="line_3" position="absolute -2 380 595 386"/>
  26. <Button id="btn_add" taborder="22" text="추가" class="btn2" position="absolute 508 385 550 407" onclick="btn_add_onclick"/>
  27. <Button id="btn_save" taborder="23" text="저장" class="btn2" visible="false" position="absolute 420 385 462 407" onclick="btn_save_onclick"/>
  28. <Button id="btn_delete" taborder="24" text="삭제" class="btn2" position="absolute 464 385 506 407" onclick="btn_delete_onclick"/>
  29. <Grid id="grd_clcjlist" taborder="25" binddataset="ds_grd_clcjlist" useinputpanel="false" position="absolute 0 412 594 585" oncellclick="grd_clcjlist_oncellclick" cellsizingtype="col" selecttype="multirow">
  30. <Formats>
  31. <Format id="default">
  32. <Columns>
  33. <Column size="21"/>
  34. <Column size="0"/>
  35. <Column size="0"/>
  36. <Column size="100"/>
  37. <Column size="90"/>
  38. <Column size="77"/>
  39. <Column size="288"/>
  40. <Column size="116"/>
  41. <Column size="0"/>
  42. <Column size="0"/>
  43. <Column size="0"/>
  44. <Column size="0"/>
  45. <Column size="0"/>
  46. </Columns>
  47. <Rows>
  48. <Row size="24" band="head"/>
  49. <Row size="24"/>
  50. </Rows>
  51. <Band id="head">
  52. <Cell/>
  53. <Cell col="1" text="flag"/>
  54. <Cell col="2" text="row"/>
  55. <Cell col="3" text="수가코드"/>
  56. <Cell col="4" text="EDI코드"/>
  57. <Cell col="5" text="특정코드"/>
  58. <Cell col="6" text="특정내역"/>
  59. <Cell col="7" text="기재형식"/>
  60. <Cell col="8" text="unitflag"/>
  61. <Cell col="9" text="상세설명"/>
  62. <Cell col="10" text="기존특정코드"/>
  63. <Cell col="11" text="기존특정내역"/>
  64. <Cell col="12" text="특정코드명"/>
  65. </Band>
  66. <Band id="body">
  67. <Cell celltype="head"/>
  68. <Cell col="1" text="bind:flag"/>
  69. <Cell col="2" text="bind:rownum"/>
  70. <Cell col="3" style="align:left middle;" text="bind:calcscorcd"/>
  71. <Cell col="4" style="align:left middle;" text="bind:edicd"/>
  72. <Cell col="5" style="align:left middle;" text="bind:spclcd"/>
  73. <Cell col="6" style="align:left middle;" text="bind:spclspec"/>
  74. <Cell col="7" style="align:left middle;" text="bind:remfact"/>
  75. <Cell col="8" text="bind:unitflag"/>
  76. <Cell col="9" text="bind:detldesc"/>
  77. <Cell col="10" text="bind:oldspclcd"/>
  78. <Cell col="11" text="bind:oldspclspec"/>
  79. <Cell col="12" text="bind:spclcdnm"/>
  80. </Band>
  81. </Format>
  82. </Formats>
  83. </Grid>
  84. <Static id="caption7" text="특정내역 상세" class="tit_2" position="absolute 0 391 221 407"/>
  85. <Shape id="line6" linetype="horizontal" class="line_10" position="absolute 0 407 594 413" style="strokepen:3 solid #33bbbbff;"/>
  86. <Button id="btn_modify" taborder="26" text="수정" class="btn2" position="absolute 552 385 594 407" onclick="btn_modify_onclick"/>
  87. <Button id="btn_cancel" taborder="27" text="취소" class="btn4" position="absolute 538 590 594 612" onclick="btn_cancel_onclick"/>
  88. <Button id="btn_memohistory_injection" taborder="28" text="주사" class="btn2" position="absolute 413 27 457 49" onclick="btn_memohistory_injection_onclick"/>
  89. <Static id="caption00" text="특정상세내역" class="tit_1" position="absolute 0 0 140 25"/>
  90. </Layout>
  91. </Layouts>
  92. <Objects>
  93. <Dataset id="ds_init_P0117" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  94. <ColumnInfo>
  95. <Column id="cdid" type="STRING" size="256"/>
  96. <Column id="cdnm" type="STRING" size="256"/>
  97. <Column id="detldesc" type="STRING" size="256"/>
  98. <Column id="dispseq" type="STRING" size="256"/>
  99. <Column id="cdval" type="STRING" size="256"/>
  100. <Column id="minval" type="STRING" size="256"/>
  101. <Column id="maxval" type="STRING" size="256"/>
  102. <Column id="cdengabbrnm" type="STRING" size="256"/>
  103. <Column id="minopercd" type="STRING" size="256"/>
  104. <Column id="cdid_cdnm" type="STRING" size="256"/>
  105. </ColumnInfo>
  106. </Dataset>
  107. <Dataset id="ds_temp_grd_clcjlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  108. <ColumnInfo>
  109. <Column id="flag" type="STRING" size="256"/>
  110. <Column id="calcscorcd" type="STRING" size="256"/>
  111. <Column id="edicd" type="STRING" size="256"/>
  112. <Column id="spclcd" type="STRING" size="256"/>
  113. <Column id="detldesc" type="STRING" size="256"/>
  114. <Column id="remfact" type="STRING" size="256"/>
  115. <Column id="spclspec" type="STRING" size="256"/>
  116. <Column id="rownum" type="STRING" size="256"/>
  117. <Column id="list" type="STRING" size="256"/>
  118. <Column id="spclcdnm" type="STRING" size="256"/>
  119. <Column id="pid" type="STRING" size="256"/>
  120. <Column id="indd" type="STRING" size="256"/>
  121. </ColumnInfo>
  122. <Rows>
  123. <Row>
  124. <Col id="flag"/>
  125. <Col id="calcscorcd"/>
  126. <Col id="edicd"/>
  127. <Col id="spclcd"/>
  128. <Col id="detldesc"/>
  129. <Col id="remfact"/>
  130. <Col id="spclspec"/>
  131. <Col id="rownum"/>
  132. <Col id="list"/>
  133. <Col id="spclcdnm"/>
  134. <Col id="pid"/>
  135. <Col id="indd"/>
  136. </Row>
  137. </Rows>
  138. </Dataset>
  139. <Dataset id="ds_temp_memolist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  140. <ColumnInfo>
  141. <Column id="memocd" type="STRING"/>
  142. <Column id="chk" type="STRING"/>
  143. <Column id="memo" type="STRING"/>
  144. </ColumnInfo>
  145. </Dataset>
  146. <Dataset id="ds_grd_clcjlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  147. </Objects>
  148. <Bind>
  149. <BindItem id="item0" compid="opt_edicd01" propid="value" datasetid="ds_temp_grd_clcjlist" columnid="edicd"/>
  150. <BindItem id="item2" compid="textarea01" propid="value" datasetid="ds_temp_grd_clcjlist" columnid="detldesc"/>
  151. <BindItem id="item3" compid="tar_spclspec01" propid="value" datasetid="ds_temp_grd_clcjlist" columnid="spclspec"/>
  152. <BindItem id="item4" compid="opt_remfact01" propid="value" datasetid="ds_temp_grd_clcjlist" columnid="remfact"/>
  153. <BindItem id="item1" compid="cmb_spclcd01" propid="value" datasetid="ds_temp_grd_clcjlist" columnid="spclcd"/>
  154. </Bind>
  155. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  156. * System Name :
  157. * Job Name :
  158. * Creator :
  159. * Make Date : 2015-05-01
  160. * Description :
  161. *---------------------------------------------------------------------------------------
  162. * Modify Date Modifier Modify Description
  163. *---------------------------------------------------------------------------------------
  164. * 2015-05-01 Live Converter TF->XP
  165. *
  166. *---------------------------------------------------------------------------------------
  167. ****************************************************************************************/
  168. include "com_commonxp::comm_main.xjs";
  169. function SPPIJ00500_onload(obj:Form, e:LoadEventInfo)
  170. {
  171. frmf_initForm(obj); // 화면공통
  172. grdf_initGrid(grd_clcjlist);
  173. grdf_setRowTypeIcon(grd_clcjlist,0);
  174. fInitialize();
  175. }
  176. function fInitialize()
  177. {
  178. if(frmf_checkOpener())
  179. {
  180. ds_temp_grd_clcjlist.copyData(objDs);
  181. ds_grd_clcjlist.copyData(objDslist);
  182. var findrow = ds_temp_grd_clcjlist.getColumn(0, "rownum");
  183. var row = ds_grd_clcjlist.findRow("rownum", findrow);
  184. ds_grd_clcjlist.rowposition = row;
  185. ds_grd_clcjlist.clearSelect();
  186. ds_grd_clcjlist.selectRow(row);
  187. var unitflag = ds_temp_grd_clcjlist.getColumn(0, "unitflag");
  188. }
  189. if(utlf_isNull(unitflag))
  190. {
  191. unitflag = "J";
  192. }
  193. var sInDs = dsf_createDsRow("ds_search", {col: "unitflag" , val: unitflag});
  194. var oParam = {};
  195. oParam.id = "TRPIZ00501";
  196. oParam.service = "insucomapp.SpclSpecDetl";
  197. oParam.method = "reqGetSpclCdList";
  198. oParam.inds = "req="+sInDs;
  199. oParam.outds = "ds_init_P0117=P0117";
  200. oParam.async = false;
  201. tranf_submit(oParam);
  202. ds_init_P0117.addColumn("cdid_cdnm", "STRING");
  203. var rowCnt = ds_init_P0117.rowcount;
  204. for(var i = 0 ; i < rowCnt ; i++)
  205. {
  206. if( !utlf_isNull(ds_init_P0117.getColumn(i, "cdid")))
  207. {
  208. ds_init_P0117.setColumn(i, "cdid_cdnm", ds_init_P0117.getColumn(i, "cdid")+" "+ds_init_P0117.getColumn(i, "cdnm"));
  209. }
  210. else
  211. {
  212. ds_init_P0117.setColumn(i, "cdid_cdnm", " ");
  213. }
  214. }
  215. if (frmf_checkOpener())
  216. {
  217. var unitflag = ds_temp_grd_clcjlist.getColumn(0,"unitflag");
  218. if( unitflag == "M" )
  219. {
  220. btn_memohistory.visible = false;
  221. }
  222. fSetDetldesc();
  223. }
  224. else
  225. {
  226. sysf_messageBox("상위화면이 변경되어 데이터를 초기화할 수", "I004"); //없습니다.
  227. }
  228. }
  229. function fSetDetldesc()
  230. {
  231. var spclcd = ds_temp_grd_clcjlist.getColumn(0, "spclcd");
  232. ds_temp_grd_clcjlist.setColumn(0, "detldesc", ds_init_P0117.lookup("cdid", spclcd, "detldesc"));
  233. }
  234. function fGetJudgComment(memocls)
  235. {
  236. var ordfildcd = "-";
  237. var insukind = "-";
  238. var ioflag = "-";
  239. var unitflag = ds_temp_grd_clcjlist.getColumn(0,"unitflag");
  240. var memoflag = "";
  241. if (unitflag == "M")
  242. {
  243. memoflag = "2";
  244. }
  245. else
  246. {
  247. memoflag = "3";
  248. }
  249. var objArg = new Object();
  250. objArg.sMemocls = memocls;
  251. objArg.sInsukind = "";
  252. objArg.sIoflag = "";
  253. objArg.sOrdfildcd = "";
  254. objArg.sJudgrid = "";
  255. objArg.sMemoflag = memoflag;
  256. objArg.sEdiitem1 = "";
  257. var rtn = frmf_modal("SPPIZ00700", "SPPIZ00700", objArg);
  258. var oldTxt = tar_spclspec01.value;
  259. if( !utlf_isNull(rtn) ) {
  260. ds_temp_memolist.copyData(rtn);
  261. var rowCnt = ds_temp_memolist.rowcount;
  262. for ( i = 0 ; i < rowCnt ; i++) {
  263. if( utlf_isNull( oldTxt ) ) {
  264. oldTxt = ds_temp_memolist.getColumn(i, "memo");
  265. }
  266. else {
  267. oldTxt = oldTxt + "\n" + ds_temp_memolist.getColumn(i, "memo");
  268. }
  269. }
  270. }
  271. tar_spclspec01.value = oldTxt;
  272. }
  273. function btn_memohistory_etc_onclick(obj:Button, e:ClickEventInfo)
  274. {
  275. fGetJudgComment("99"); //
  276. }
  277. function btn_memohistory_treat_onclick(obj:Button, e:ClickEventInfo)
  278. {
  279. fGetJudgComment("03"); // memocls - 메모분류(01:약, 02:주사, 03:처치, 04:검사, 99:기타)
  280. }
  281. function btn_memohistory_exam_onclick(obj:Button, e:ClickEventInfo)
  282. {
  283. fGetJudgComment("04"); // memocls - 메모분류(01:약, 02:주사, 03:처치, 04:검사, 99:기타)
  284. }
  285. function btn_memohistory_onclick(obj:Button, e:ClickEventInfo)
  286. {
  287. fGetJudgComment(""); // memocls - 메모분류(01:약, 02:주사, 03:처치, 04:검사, 99:기타)
  288. }
  289. function btn_memohistory_drug_onclick(obj:Button, e:ClickEventInfo)
  290. {
  291. fGetJudgComment("01"); // memocls - 메모분류(01:약, 02:주사, 03:처치, 04:검사, 99:기타)
  292. }
  293. function btn_rsltsrch_onclick(obj:Button, e:ClickEventInfo)
  294. {
  295. if (frmf_checkOpener())
  296. {
  297. var pid = ds_temp_grd_clcjlist.getColumn(0, "pid");
  298. var indd= ds_temp_grd_clcjlist.getColumn(0, "indd");
  299. dsf_createDsRow("ds_temp_param", [{col:"srchpid", type:"string", size:256, val:pid}], true);
  300. var objArg = new Object();
  301. objArg.arg_ds_send_singdata = ds_temp_param;
  302. frmf_modal("SMAER00800", "SMAER00800", objArg, null, null, null, null, null, null, null, null, null, "M");
  303. ds_temp_param.clearData();
  304. }
  305. }
  306. function btn_confirm_onclick(obj:Button, e:ClickEventInfo)
  307. {
  308. if(frmf_checkOpener())
  309. {
  310. var ttt = tar_spclspec01.text;
  311. if (ds_grd_clcjlist.rowposition > -1)
  312. {
  313. btn_modify_onclick();
  314. }
  315. else
  316. {
  317. var spclcd = ds_temp_grd_clcjlist.getColumn(0, "spclcd");
  318. var spclspec = ds_temp_grd_clcjlist.getColumn(0, "spclspec");
  319. if (!utlf_isNull(spclcd) && !utlf_isNull(spclspec))
  320. {
  321. btn_add_onclick();
  322. }
  323. }
  324. var rows = ds_grd_clcjlist.rowcount;
  325. fSetSpclspec();
  326. for (var i = 0; i < rows; i++)
  327. {
  328. var flag = ds_grd_clcjlist.getColumn(i,"flag");
  329. var calcscorcd = ds_grd_clcjlist.getColumn(i,"calcscorcd");
  330. var edicd = ds_grd_clcjlist.getColumn(i,"edicd");
  331. var spclcd = ds_grd_clcjlist.getColumn(i,"spclcd");
  332. var spclcdnm = ds_grd_clcjlist.getColumn(i,"spclcdnm");
  333. var detldesc = ds_grd_clcjlist.getColumn(i,"detldesc");
  334. var spclspec = String(ds_grd_clcjlist.getColumn(i,"spclspec")).getTrim();
  335. var remfact = ds_grd_clcjlist.getColumn(i,"remfact");
  336. var rownum = ds_grd_clcjlist.getColumn(i,"rownum");
  337. var oldspclcd = ds_grd_clcjlist.getColumn(i,"oldspclcd");
  338. var oldspclspec = ds_grd_clcjlist.getColumn(i,"oldspclspec");
  339. var detldesc = ds_grd_clcjlist.getColumn(i,"detldesc");
  340. var spclcdnm = ds_grd_clcjlist.getColumn(i,"spclcdnm");
  341. if (utlf_getStringLength(spclspec) > 1750 )
  342. {
  343. sysf_messageBox("특정내역 입력 제한길이(1750 Byte)를", "E003");
  344. return;
  345. }
  346. ds_grd_clcjlist.setColumn(i, "flag", flag);
  347. ds_grd_clcjlist.setColumn(i, "calcscorcd", calcscorcd);
  348. ds_grd_clcjlist.setColumn(i, "edicd", edicd);
  349. ds_grd_clcjlist.setColumn(i, "spclcd", spclcd);
  350. ds_grd_clcjlist.setColumn(i, "remfact", remfact);
  351. ds_grd_clcjlist.setColumn(i, "rownum", rownum);
  352. ds_grd_clcjlist.setColumn(i, "oldspclcd", oldspclcd);
  353. ds_grd_clcjlist.setColumn(i, "oldspclspec", oldspclspec);
  354. ds_grd_clcjlist.setColumn(i, "detldesc", detldesc);
  355. ds_grd_clcjlist.setColumn(i, "spclcdnm", spclcdnm);
  356. // 20191218 특정내역이 업데이트 되지 않는 건 수정
  357. ds_grd_clcjlist.setColumn(i, "spclspec", spclspec);
  358. if (flag=="I" && !utlf_isNull(ttt)) {
  359. ds_grd_clcjlist.setColumn(i, "spclspec", ttt);
  360. }
  361. }
  362. var rtnDs = new Dataset();
  363. rtnDs.copyData(ds_grd_clcjlist);
  364. this.close(rtnDs);
  365. }
  366. else
  367. {
  368. sysf_messageBox("상위화면이 변경되어 데이터를 전달할 수", "I004");
  369. this.close();
  370. }
  371. }
  372. function cmb_spclcd01_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  373. {
  374. obj.updateToDataset();
  375. var spclcd = obj.value;
  376. tar_spclspec01.value = "";
  377. opt_remfact01.value = ds_init_P0117.lookup("cdid", spclcd, "cdval");
  378. textarea01.value = ds_init_P0117.lookup("cdid", spclcd, "detldesc");
  379. ds_temp_grd_clcjlist.setColumn(0, "spclcdnm", ds_init_P0117.lookup("cdid", spclcd, "cdnm") );
  380. ds_grd_clcjlist.updatecontrol = false;
  381. var flag = "";
  382. for (var i = 0; i < ds_grd_clcjlist.rowcount; i++) {
  383. flag = ds_grd_clcjlist.getColumn(i, "flag");
  384. if (flag == "I") {
  385. ds_grd_clcjlist.setColumn(i, "spclcd", obj.value);
  386. }
  387. }
  388. ds_grd_clcjlist.updatecontrol = true;
  389. }
  390. function btn_cancel_onclick(obj:Button, e:ClickEventInfo)
  391. {
  392. this.close();
  393. }
  394. function btn_add_onclick(obj:Button, e:ClickEventInfo)
  395. {
  396. var rows = ds_grd_clcjlist.rowcount;
  397. var flag = ds_temp_grd_clcjlist.getColumn(0,"flag");
  398. var calcscorcd = ds_temp_grd_clcjlist.getColumn(0,"calcscorcd");
  399. var edicd = ds_temp_grd_clcjlist.getColumn(0,"edicd");
  400. var spclcd = ds_temp_grd_clcjlist.getColumn(0,"spclcd");
  401. var spclcdnm = ds_temp_grd_clcjlist.getColumn(0,"spclcdnm");
  402. var detldesc = ds_temp_grd_clcjlist.getColumn(0,"detldesc");
  403. var spclspec = ds_temp_grd_clcjlist.getColumn(0,"spclspec");
  404. var remfact = ds_temp_grd_clcjlist.getColumn(0,"remfact");
  405. remfact = String(remfact).substr(0,50);
  406. var grdspclcd = "";
  407. var rownum = "";
  408. var setrow = 0;
  409. if (utlf_isNull(spclcd))
  410. {
  411. sysf_messageBox("특정코드를", "C002");
  412. return;
  413. }
  414. for(var i = 0; i < rows; i++)
  415. {
  416. grdspclcd = ds_grd_clcjlist.getColumn(i, "spclcd");
  417. // 20191218 찾기 오류 수정
  418. var frow = ds_grd_clcjlist.findRowExpr("flag != 'D' && '"+ spclcd +"'=='"+grdspclcd+"'&&'"+grdspclcd+"'== 'JX999'", 0);
  419. if(frow != -1)
  420. {
  421. sysf_messageBox("특정코드 'JX999'가 존재하므로 'JX999'로 변경할 수", "I004");
  422. return;
  423. }
  424. else
  425. {
  426. rownum = ds_grd_clcjlist.getColumn(row, "rownum");
  427. }
  428. var frow = ds_grd_clcjlist.findRowExpr("flag != 'D' && '"+ spclcd +"'=='"+grdspclcd+"'&&'"+grdspclcd+"'== 'MT015'", 0);
  429. if(frow != -1)
  430. {
  431. sysf_messageBox("특정코드 'MT015'가 존재하므로 'MT015'로 변경할 수", "I004");
  432. return;
  433. }
  434. else
  435. {
  436. rownum = ds_grd_clcjlist.getColumn(row, "rownum");
  437. }
  438. var frow = ds_grd_clcjlist.findRowExpr("flag != 'D' && '"+ spclcd +"'=='"+grdspclcd+"'&&'"+grdspclcd+"'== 'MT016'", 0);
  439. if(frow != -1)
  440. {
  441. sysf_messageBox("특정코드 'MT016'가 존재하므로 'MT016'로 변경할 수", "I004");
  442. return;
  443. }
  444. else
  445. {
  446. rownum = ds_grd_clcjlist.getColumn(row, "rownum");
  447. }
  448. }
  449. var row = 0;
  450. if (setrow == 0)
  451. {
  452. var row = ds_grd_clcjlist.addRow()
  453. ds_grd_clcjlist.setColumn(row, "flag", "I");
  454. }
  455. else
  456. {
  457. row = setrow;
  458. }
  459. ds_grd_clcjlist.setColumn(row , "calcscorcd", calcscorcd);
  460. ds_grd_clcjlist.setColumn(row , "edicd", edicd);
  461. ds_grd_clcjlist.setColumn(row , "spclcd", spclcd);
  462. ds_grd_clcjlist.setColumn(row , "spclcdnm", spclcdnm);
  463. ds_grd_clcjlist.setColumn(row , "detldesc", detldesc);
  464. ds_grd_clcjlist.setColumn(row , "spclspec", spclspec);
  465. ds_grd_clcjlist.setColumn(row , "remfact", remfact);
  466. ds_grd_clcjlist.setColumn(row , "rownum", rownum);
  467. ds_temp_grd_clcjlist.setColumn(0,"spclcd","");
  468. ds_temp_grd_clcjlist.setColumn(0,"spclcdnm","");
  469. ds_temp_grd_clcjlist.setColumn(0,"detldesc","");
  470. ds_temp_grd_clcjlist.setColumn(0,"spclspec","");
  471. ds_temp_grd_clcjlist.setColumn(0,"remfact","");
  472. ds_grd_clcjlist.rowposition = -1;
  473. }
  474. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  475. {
  476. tar_spclspec01.updateToDataset();
  477. var flag = ds_temp_grd_clcjlist.getColumn(0, "flag");
  478. var calcscorcd = ds_temp_grd_clcjlist.getColumn(0, "calcscorcd");
  479. var edicd = ds_temp_grd_clcjlist.getColumn(0, "edicd");
  480. var spclcd = ds_temp_grd_clcjlist.getColumn(0, "spclcd");
  481. var spclcdnm = ds_temp_grd_clcjlist.getColumn(0, "spclcdnm");
  482. var detldesc = ds_temp_grd_clcjlist.getColumn(0, "detldesc");
  483. var spclspec = ds_temp_grd_clcjlist.getColumn(0, "spclspec");
  484. var remfact = ds_temp_grd_clcjlist.getColumn(0, "remfact");
  485. var rownum = ds_temp_grd_clcjlist.getColumn(0, "rownum");
  486. var row = ds_grd_clcjlist.rowposition;
  487. var rows = ds_grd_clcjlist.rowcount;
  488. if(row > -1)
  489. {
  490. for(var i = 0; i < rows; i++)
  491. {
  492. grdspclcd = ds_grd_clcjlist.getColumn(i, "spclcd");
  493. var frow = ds_grd_clcjlist.findRowExpr("flag != 'D' && '"+spclcd +"'=='"+grdspclcd+"'&&'"+grdspclcd+"'== 'JX999'", 0);
  494. if(frow != -1)
  495. {
  496. sysf_messageBox("특정코드 'JX999'가 존재하므로 'JX999'로 변경할 수", "I004");
  497. return;
  498. }
  499. else
  500. {
  501. rownum = ds_grd_clcjlist.getColumn(row, "rownum");
  502. }
  503. var frow = ds_grd_clcjlist.findRowExpr("flag != 'D' && '"+ spclcd +"'=='"+grdspclcd+"' &&'"+grdspclcd+"'== 'MT015'", 0);
  504. if(frow != -1)
  505. {
  506. sysf_messageBox("특정코드 'MT015'가 존재하므로 'MT015'로 변경할 수", "I004");
  507. return;
  508. }
  509. else
  510. {
  511. rownum = ds_grd_clcjlist.getColumn(row, "rownum");
  512. }
  513. var frow = ds_grd_clcjlist.findRowExpr("flag != 'D' && '"+ spclcd +"'=='"+grdspclcd+"' &&'"+grdspclcd+"'== 'MT016'", 0);
  514. if(frow != -1)
  515. {
  516. sysf_messageBox("특정코드 'MT016'가 존재하므로 'MT016'로 변경할 수", "I004");
  517. return;
  518. }
  519. else
  520. {
  521. rownum = ds_grd_clcjlist.getColumn(row, "rownum");
  522. }
  523. }
  524. ds_grd_clcjlist.setColumn(row, "flag", flag);
  525. ds_grd_clcjlist.setColumn(row, "calcscorcd", calcscorcd);
  526. ds_grd_clcjlist.setColumn(row, "edicd", edicd);
  527. ds_grd_clcjlist.setColumn(row, "spclcd", spclcd);
  528. ds_grd_clcjlist.setColumn(row, "spclcdnm", spclcdnm);
  529. ds_grd_clcjlist.setColumn(row, "detldesc", detldesc);
  530. ds_grd_clcjlist.setColumn(row, "spclspec", spclspec);
  531. ds_grd_clcjlist.setColumn(row, "remfact", remfact);
  532. ds_grd_clcjlist.setColumn(row, "rownum", rownum);
  533. }
  534. else
  535. {
  536. sysf_messageBox("저장할 수 있는 특정 내역이", "I004"); ///특정코드를 필수 입력
  537. return;
  538. }
  539. }
  540. function grd_clcjlist_oncellclick(obj:Grid, e:GridClickEventInfo)
  541. {
  542. var row = e.row;
  543. var flag = ds_grd_clcjlist.getColumn(row,"flag");
  544. var calcscorcd = ds_grd_clcjlist.getColumn(row,"calcscorcd");
  545. var edicd = ds_grd_clcjlist.getColumn(row,"edicd");
  546. var spclcd = ds_grd_clcjlist.getColumn(row,"spclcd");
  547. var spclcdnm = ds_grd_clcjlist.getColumn(row,"spclcdnm");
  548. var detldesc = ds_grd_clcjlist.getColumn(row,"detldesc");
  549. var spclspec = ds_grd_clcjlist.getColumn(row,"spclspec");
  550. var remfact = ds_grd_clcjlist.getColumn(row,"remfact");
  551. var rownum = ds_grd_clcjlist.getColumn(row,"rownum");
  552. var spclcdnm = ds_grd_clcjlist.getColumn(row,"spclcdnm");
  553. ds_temp_grd_clcjlist.setColumn(0,"flag",flag);
  554. ds_temp_grd_clcjlist.setColumn(0,"calcscorcd",calcscorcd);
  555. ds_temp_grd_clcjlist.setColumn(0,"edicd",edicd);
  556. ds_temp_grd_clcjlist.setColumn(0,"spclcd",spclcd);
  557. ds_temp_grd_clcjlist.setColumn(0,"detldesc",detldesc);
  558. ds_temp_grd_clcjlist.setColumn(0,"spclspec",spclspec);
  559. ds_temp_grd_clcjlist.setColumn(0,"remfact",remfact);
  560. ds_temp_grd_clcjlist.setColumn(0,"rownum",rownum);
  561. ds_temp_grd_clcjlist.setColumn(0,"spclcdnm",spclcdnm);
  562. }
  563. function btn_modify_onclick(obj:Button, e:ClickEventInfo)
  564. {
  565. var rows = ds_grd_clcjlist.rowcount;
  566. var spclcd = ds_temp_grd_clcjlist.getColumn(0,"spclcd");
  567. var calcscorcd = ds_temp_grd_clcjlist.getColumn(0,"calcscorcd");
  568. var spclspec = ds_temp_grd_clcjlist.getColumn(0,"spclspec");
  569. var remfact = ds_temp_grd_clcjlist.getColumn(0,"remfact");
  570. remfact = String(remfact).substring(0,50);
  571. if (utlf_isNull(spclcd))
  572. {
  573. sysf_messageBox("특정코드를", "C002");
  574. return;
  575. }
  576. ds_grd_clcjlist.setColumn(ds_grd_clcjlist.rowposition , "spclspec", spclspec);
  577. var frow = ds_grd_clcjlist.findRowExpr("calcscorcd=='"+calcscorcd+"'spclcd=='"+spclcd+"'", 0);
  578. while(frow > -1)
  579. {
  580. ds_grd_clcjlist.setColumn(frow, "spclspec", spclspec);
  581. frow = ds_grd_clcjlist.findRowExpr("spclcd=='"+spclcd+"'", frow+1);
  582. }
  583. ds_temp_grd_clcjlist.setColumn(0,"spclcd","");
  584. ds_temp_grd_clcjlist.setColumn(0,"spclcdnm","");
  585. ds_temp_grd_clcjlist.setColumn(0,"detldesc","");
  586. ds_temp_grd_clcjlist.setColumn(0,"spclspec","");
  587. ds_temp_grd_clcjlist.setColumn(0,"remfact","");
  588. ds_grd_clcjlist.rowposition = -1;
  589. }
  590. function btn_delete_onclick(obj:Button, e:ClickEventInfo)
  591. {
  592. var rows = grdf_getSelectedRows(grd_clcjlist);
  593. if (ds_grd_clcjlist.rowposition > -1 )
  594. {
  595. for (var i = 0; i < rows.length; i++)
  596. {
  597. var row = rows[i];
  598. ds_grd_clcjlist.setColumn(row, "flag", "D");
  599. ds_temp_grd_clcjlist.setColumn(0,"spclcd","");
  600. ds_temp_grd_clcjlist.setColumn(0,"spclcdnm","");
  601. ds_temp_grd_clcjlist.setColumn(0,"detldesc","");
  602. ds_temp_grd_clcjlist.setColumn(0,"spclspec","");
  603. ds_temp_grd_clcjlist.setColumn(0,"remfact","");
  604. }
  605. cmb_spclcd01_onitemchanged(cmb_spclcd01);
  606. ds_grd_clcjlist.rowposition = -1;
  607. }
  608. else
  609. {
  610. sysf_messageBox("삭제할 특정 내역을", "C002"); ///특정코드를 필수 입력
  611. }
  612. }
  613. function fSetSpclspec()
  614. {
  615. var spclcd = ds_temp_grd_clcjlist.getColumn(0, "spclcd");
  616. var spclspec = ds_temp_grd_clcjlist.getColumn(0, "spclspec");
  617. var detldesc = ds_temp_grd_clcjlist.getColumn(0, "detldesc");
  618. var remfact = ds_temp_grd_clcjlist.getColumn(0, "remfact");
  619. var unitflag = ds_search.getColumn(0,"unitflag");
  620. if(unitflag == "M")
  621. {
  622. }
  623. else
  624. {
  625. for(var i = 0; i < ds_grd_clcjlist.rowcount; i++)
  626. {
  627. var oldspclcd = ds_grd_clcjlist.getColumn(i,"spclcd");
  628. var oldspclspec = ds_grd_clcjlist.getColumn(i,"spclspec");
  629. if(oldspclcd == spclcd)
  630. {
  631. ds_grd_clcjlist.setColumn(i, "spclspec", spclspec);
  632. ds_grd_clcjlist.setColumn(i, "unitflag", unitflag);
  633. }
  634. }
  635. }
  636. }
  637. function btn_memohistory_injection_onclick(obj:Button, e:ClickEventInfo)
  638. {
  639. fGetJudgComment("02");
  640. }
  641. ]]></Script>
  642. </Form>
  643. </FDL>