SPZUM90300_메세지사유.xfdl 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPZUM90300" position="absolute 0 0 700 300" titletext="사유 리스트" oninit="SPZUM90300_oninit" onload="SPZUM90300_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static text="사유 리스트" position="absolute 0 0 171 20" id="caption1" class="tit_2"/>
  8. <Grid position="absolute 0 20 700 110" id="grd_sysmsglist" binddataset="ds_msglist" cellsizingtype="col" selecttype="row" autosizingtype="row" extendsizetype="row" autofittype="col" oncellclick="grd_sysmsglist_oncellclick" onexpandup="grd_sysmsglist_onexpandup">
  9. <Formats>
  10. <Format id="default">
  11. <Columns>
  12. <Column size="40"/>
  13. <Column size="50"/>
  14. <Column size="120"/>
  15. <Column size="390"/>
  16. <Column size="40"/>
  17. <Column size="60"/>
  18. </Columns>
  19. <Rows>
  20. <Row size="24" band="head"/>
  21. <Row size="24"/>
  22. </Rows>
  23. <Band id="head">
  24. <Cell text="업무"/>
  25. <Cell col="1" text="사유코드"/>
  26. <Cell col="2" text="요약"/>
  27. <Cell col="3" text="상세내용"/>
  28. <Cell col="4" text="코드"/>
  29. <Cell col="5" text="상세사유"/>
  30. </Band>
  31. <Band id="body">
  32. <Cell style="align:center middle;" text="bind:bizflag" suppress="1" suppressalign="middle,over"/>
  33. <Cell col="1" displaytype="text" style="align:center;padding:3 3 3 3;linespace:3;" text="bind:msgcode" wordwrap="word" suppress="1" suppressalign="middle,over"/>
  34. <Cell col="2" displaytype="text" style="align:left middle;" text="bind:msgnm" wordwrap="word" suppress="1" suppressalign="middle,over" autosizerow="limitmin"/>
  35. <Cell col="3" displaytype="text" edittype="none" style="align:left middle;padding:3 3 3 3;linespace:2;" text="bind:msgcnts" wordwrap="word" autosizerow="limitmin"/>
  36. <Cell col="4" style="align:center middle;" text="bind:cnfcd"/>
  37. <Cell col="5" style="align:left middle;" text="bind:cnfmsg"/>
  38. </Band>
  39. </Format>
  40. </Formats>
  41. </Grid>
  42. <Static id="caption2" text="* 사유 리스트에서 항목을 클릭하여 사유를 선택 하세요." position="absolute 127 278 499 298"/>
  43. <Static id="caption4" text="아래의 항목을 선택하면 사유구분에 맞는 사유 항목이 조회 됩니다." position="absolute 130 0 504 18"/>
  44. <Static id="caption6" text="사유선택" class="tit_2" position="absolute 0 117 75 137"/>
  45. <Static id="caption7" text="아래의 항목에서 사유를 선택 하세요. 동일한 메세지코드 한번에 적용" position="absolute 77 115 560 135"/>
  46. <Grid id="grd_resnlist" taborder="1" binddataset="ds_resnlist" scrollpixel="all" useinputpanel="false" extendsizetype="row" cellsizingtype="col" autofittype="col" autosizingtype="row" oncellclick="grd_resnlist_oncellclick" oncelldblclick="grd_resnlist_oncelldblclick" position="absolute 0 135 700 275">
  47. <Formats>
  48. <Format id="default">
  49. <Columns>
  50. <Column size="35"/>
  51. <Column size="60"/>
  52. <Column size="605"/>
  53. </Columns>
  54. <Rows>
  55. <Row size="24" band="head"/>
  56. <Row size="24"/>
  57. </Rows>
  58. <Band id="head">
  59. <Cell text="선택"/>
  60. <Cell col="1" text="사유코드"/>
  61. <Cell col="2" text="상세사유"/>
  62. </Band>
  63. <Band id="body">
  64. <Cell displaytype="checkbox" edittype="checkbox" text="bind:status" expr="expr:(status == &quot;Y&quot; || status == 1) ? 1 : 0"/>
  65. <Cell col="1" text="bind:cnfcd"/>
  66. <Cell col="2" displaytype="text" edittype="expr:(cnfcd != &quot;T&quot;) ? &quot;none&quot; : &quot;text&quot;" text="bind:cnfmsg" wordwrap="word" editautoselect="true" autosizerow="limitmin"/>
  67. </Band>
  68. </Format>
  69. </Formats>
  70. </Grid>
  71. <Static id="caption10" text="(멀티선택가능)" visible="false" position="absolute 279 115 363 135" style="color:blue;"/>
  72. <CheckBox id="bool_cond1" taborder="2" text="일괄적용" value="N" truevalue="Y" falsevalue="N" position="absolute 563 113 633 133"/>
  73. <Button id="button00" taborder="3" text="사유적용" class="btn2" position="absolute 636 113 700 133" onclick="button00_onclick"/>
  74. <Button id="button1" taborder="4" text="계속진행" onclick="button1_onclick" class="btn4" position="absolute 499 279 579 299"/>
  75. <Button id="btn_cncl" taborder="5" text="진행취소(닫기)" onclick="btn_cncl_onclick" class="btn4" position="absolute 584 279 700 299"/>
  76. </Layout>
  77. </Layouts>
  78. <Objects>
  79. <Dataset id="ds_arg_sys" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  80. <ColumnInfo>
  81. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  82. <Column id="msgdd" type="STRING" size="256" sumtext="메세지일자"/>
  83. <Column id="msgno" type="STRING" size="256" sumtext="메세지번호"/>
  84. <Column id="histno" type="STRING" size="256" sumtext="메세지이력번호"/>
  85. <Column id="msgcls" type="STRING" size="256" sumtext="메세지 구분(b:before open, f:after open, x:exception e:error r:reason, i:infomation)"/>
  86. <Column id="retranyn" type="STRING" size="256" sumtext="submit recall여부 (y/n)"/>
  87. <Column id="excpcnt" type="STRING" size="256" sumtext="예외 카운트"/>
  88. <Column id="errocnt" type="STRING" size="256" sumtext="오류 카운트"/>
  89. <Column id="resncnt" type="STRING" size="256" sumtext="사유 카운트"/>
  90. <Column id="infocnt" type="STRING" size="256" sumtext="정보 카운트"/>
  91. <Column id="bfopcnt" type="STRING" size="256" sumtext="전 오픈 카운트"/>
  92. <Column id="afopcnt" type="STRING" size="256" sumtext="후 오픈 카운트"/>
  93. <Column id="service" type="STRING" size="256" sumtext="호출 서비스"/>
  94. <Column id="method" type="STRING" size="256" sumtext="호출 메서드"/>
  95. <Column id="screenid" type="STRING" size="256" sumtext="호출 화면"/>
  96. <Column id="submitid" type="STRING" size="256" sumtext="submit 아이디"/>
  97. <Column id="async" type="STRING" size="256" sumtext="비동기여부"/>
  98. <Column id="transact" type="STRING" size="256" sumtext="DB transaction사용여부"/>
  99. <Column id="deptcd" type="STRING" size="256" sumtext="부서코드"/>
  100. <Column id="userid" type="STRING" size="256" sumtext="사용자id"/>
  101. <Column id="ipaddr" type="STRING" size="256" sumtext="호출 ip"/>
  102. <Column id="macaddr" type="STRING" size="256" sumtext="호출 mac"/>
  103. <Column id="param01" type="STRING" size="256" sumtext="사용자 설정 변수값01"/>
  104. <Column id="param02" type="STRING" size="256" sumtext="사용자 설정 변수값02"/>
  105. <Column id="param03" type="STRING" size="256" sumtext="사용자 설정 변수값03"/>
  106. <Column id="param04" type="STRING" size="256" sumtext="사용자 설정 변수값04"/>
  107. <Column id="param05" type="STRING" size="256" sumtext="사용자 설정 변수값05"/>
  108. <Column id="param06" type="STRING" size="256" sumtext="사용자 설정 변수값06"/>
  109. <Column id="param07" type="STRING" size="256" sumtext="사용자 설정 변수값07"/>
  110. <Column id="param08" type="STRING" size="256" sumtext="사용자 설정 변수값08"/>
  111. <Column id="param09" type="STRING" size="256" sumtext="사용자 설정 변수값09"/>
  112. <Column id="param10" type="STRING" size="256" sumtext="사용자 설정 변수값10"/>
  113. <Column id="param11" type="STRING" size="256" sumtext="사용자 설정 변수값11"/>
  114. <Column id="param12" type="STRING" size="256" sumtext="사용자 설정 변수값12"/>
  115. <Column id="param13" type="STRING" size="256" sumtext="사용자 설정 변수값13"/>
  116. <Column id="param14" type="STRING" size="256" sumtext="사용자 설정 변수값14"/>
  117. <Column id="param15" type="STRING" size="256" sumtext="사용자 설정 변수값15"/>
  118. <Column id="param16" type="STRING" size="256" sumtext="사용자 설정 변수값16"/>
  119. <Column id="param17" type="STRING" size="256" sumtext="사용자 설정 변수값17"/>
  120. <Column id="param18" type="STRING" size="256" sumtext="사용자 설정 변수값18"/>
  121. <Column id="param19" type="STRING" size="256" sumtext="사용자 설정 변수값19"/>
  122. <Column id="param20" type="STRING" size="256" sumtext="사용자 설정 변수값20"/>
  123. </ColumnInfo>
  124. </Dataset>
  125. <Dataset id="ds_msglist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  126. <ColumnInfo>
  127. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  128. <Column id="msgdd" type="STRING" size="256" sumtext="메세지일자"/>
  129. <Column id="msgno" type="STRING" size="256" sumtext="메세지번호"/>
  130. <Column id="histno" type="STRING" size="256" sumtext="메세지이력번호"/>
  131. <Column id="msgseq" type="STRING" size="256" sumtext="메세지상세번호"/>
  132. <Column id="bizflag" type="STRING" size="256" sumtext="업무구분 ast, com, emr, enr, lis, pam"/>
  133. <Column id="msgcls" type="STRING" size="256" sumtext="메세지 구분(b:before open, f:after open, x:exception e:error r:reason, i:infomation)"/>
  134. <Column id="msgcd" type="STRING" size="256" sumtext="메세지코드"/>
  135. <Column id="msgcode" type="STRING" size="256" sumtext="메세지 코드(cls+cd)"/>
  136. <Column id="msgnm" type="STRING" size="256" sumtext="메세지명"/>
  137. <Column id="msgcnts" type="STRING" size="256" sumtext="메세지 내용"/>
  138. <Column id="openscreen" type="STRING" size="256" sumtext="오픈화면코드"/>
  139. <Column id="resngrupid" type="STRING" size="256" sumtext="사유그룹코드 com.zbcmcode 참조"/>
  140. <Column id="multiyn" type="STRING" size="256" sumtext="사유 멀티선택여부"/>
  141. <Column id="cnfcd" type="STRING" size="256" sumtext="사유/확인 코드"/>
  142. <Column id="cnfmsg" type="STRING" size="256" sumtext="사유/상세 내용"/>
  143. <Column id="param01" type="STRING" size="256" sumtext="사용자 설정 변수값01"/>
  144. <Column id="param02" type="STRING" size="256" sumtext="사용자 설정 변수값02"/>
  145. <Column id="param03" type="STRING" size="256" sumtext="사용자 설정 변수값03"/>
  146. <Column id="param04" type="STRING" size="256" sumtext="사용자 설정 변수값04"/>
  147. <Column id="param05" type="STRING" size="256" sumtext="사용자 설정 변수값05"/>
  148. <Column id="param06" type="STRING" size="256" sumtext="사용자 설정 변수값06"/>
  149. <Column id="param07" type="STRING" size="256" sumtext="사용자 설정 변수값07"/>
  150. <Column id="param08" type="STRING" size="256" sumtext="사용자 설정 변수값08"/>
  151. <Column id="param09" type="STRING" size="256" sumtext="사용자 설정 변수값09"/>
  152. <Column id="param10" type="STRING" size="256" sumtext="사용자 설정 변수값10"/>
  153. <Column id="param11" type="STRING" size="256" sumtext="사용자 설정 변수값11"/>
  154. <Column id="param12" type="STRING" size="256" sumtext="사용자 설정 변수값12"/>
  155. <Column id="param13" type="STRING" size="256" sumtext="사용자 설정 변수값13"/>
  156. <Column id="param14" type="STRING" size="256" sumtext="사용자 설정 변수값14"/>
  157. <Column id="param15" type="STRING" size="256" sumtext="사용자 설정 변수값15"/>
  158. <Column id="param16" type="STRING" size="256" sumtext="사용자 설정 변수값16"/>
  159. <Column id="param17" type="STRING" size="256" sumtext="사용자 설정 변수값17"/>
  160. <Column id="param18" type="STRING" size="256" sumtext="사용자 설정 변수값18"/>
  161. <Column id="param19" type="STRING" size="256" sumtext="사용자 설정 변수값19"/>
  162. <Column id="param20" type="STRING" size="256" sumtext="사용자 설정 변수값20"/>
  163. </ColumnInfo>
  164. </Dataset>
  165. <Dataset id="ds_send_savedata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  166. <ColumnInfo>
  167. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  168. <Column id="msgdd" type="STRING" size="256" sumtext="메세지일자"/>
  169. <Column id="msgno" type="STRING" size="256" sumtext="메세지번호"/>
  170. <Column id="histno" type="STRING" size="256" sumtext="메세지이력번호"/>
  171. <Column id="msgseq" type="STRING" size="256" sumtext="메세지상세번호"/>
  172. <Column id="cnfcd" type="STRING" size="256" sumtext="사유/확인 코드"/>
  173. <Column id="cnfmsg" type="STRING" size="256" sumtext="사유/상세 내용"/>
  174. </ColumnInfo>
  175. </Dataset>
  176. <Dataset id="ds_resnlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_resnlist_oncolumnchanged">
  177. <ColumnInfo>
  178. <Column id="status" type="STRING" size="256" sumtext="상태값"/>
  179. <Column id="resngrupid" type="STRING" size="256" sumtext="사유그룹코드"/>
  180. <Column id="cnfcd" type="STRING" size="256" sumtext="사유코드"/>
  181. <Column id="cnfmsg" type="STRING" size="256" sumtext="사유상세"/>
  182. </ColumnInfo>
  183. </Dataset>
  184. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  185. <ColumnInfo>
  186. <Column id="resngrupid" type="STRING" size="256" sumtext="하드코드"/>
  187. </ColumnInfo>
  188. <Rows>
  189. <Row/>
  190. </Rows>
  191. </Dataset>
  192. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  193. <ColumnInfo>
  194. <Column id="cond1" type="STRING" size="256"/>
  195. </ColumnInfo>
  196. <Rows>
  197. <Row>
  198. <Col id="cond1">Y</Col>
  199. </Row>
  200. </Rows>
  201. </Dataset>
  202. </Objects>
  203. <Bind>
  204. <BindItem id="item0" compid="bool_cond1" propid="value" datasetid="ds_init" columnid="cond1"/>
  205. </Bind>
  206. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  207. * System Name :
  208. * Job Name :
  209. * Creator :
  210. * Make Date : 2014-08-29
  211. * Description :
  212. *---------------------------------------------------------------------------------------
  213. * Modify Date Modifier Modify Description
  214. *---------------------------------------------------------------------------------------
  215. * 2014-08-29 Live Converter TF->XP
  216. *
  217. *---------------------------------------------------------------------------------------
  218. ****************************************************************************************/
  219. include "com_commonxp::comm_main.xjs";
  220. function SPZUM90300_oninit(obj:Form, e:InitEventInfo)
  221. {
  222. frmf_initForm(obj);
  223. }
  224. function SPZUM90300_onload(obj:Form, e:LoadEventInfo)
  225. {
  226. ds_arg_sys.copyData(arg_sys);
  227. var msgno = ds_arg_sys.getColumn(0, "msgno");
  228. if(msgno == "0"){
  229. sysf_messageBox("메세지 정보가 정확하지 않습니다.", "E999");
  230. return;
  231. }
  232. ds_arg_sys.setColumn(0, "msgcls", "R");
  233. var oParam = {};
  234. oParam.id = "TRZUM90301";
  235. oParam.service = "hismainapp.HisMain";
  236. oParam.method = "reqTranMsgList";
  237. oParam.inds = "req=ds_arg_sys";
  238. oParam.outds = "ds_msglist=msglist";
  239. oParam.async = false;
  240. oParam.callback = "cf_TRZUM90301";
  241. tranf_submit(oParam);
  242. }
  243. function cf_TRZUM90301(sSvcId, nErrorCode, sErrorMsg) {
  244. if(nErrorCode < 0) return;
  245. ds_msglist.enableevent = false;
  246. for(var i=0; i< ds_msglist.rowcount; i++){
  247. var cnfmsg = ds_msglist.getColumn(i, "cnfmsg");
  248. if(!utlf_isNull(cnfmsg)){
  249. cnfmsg = cnfmsg.replace(/\r\n/g, "\n");
  250. cnfmsg = cnfmsg.replace(/\r/g, "\n");
  251. cnfmsg = cnfmsg.replace(/\n/g, "\r\n");
  252. ds_msglist.setColumn(i, "cnfmsg", cnfmsg);
  253. }
  254. }
  255. ds_msglist.enableevent = true;
  256. var sResnGrupId = ds_msglist.getColumn(ds_msglist.rowposition, "resngrupid");
  257. ds_send.setColumn(0, "resngrupid", sResnGrupId);
  258. var oParam = {};
  259. oParam.id = "TRZUM90302";
  260. oParam.service = "hismainapp.HisMain";
  261. oParam.method = "reqMsgResnList";
  262. oParam.inds = "req=ds_send";
  263. oParam.outds = "ds_resnlist=resnlist";
  264. oParam.async = true;
  265. tranf_submit(oParam);
  266. }
  267. function grd_sysmsglist_oncellclick(obj:Grid, e:GridClickEventInfo)
  268. {
  269. if(e.row < 0 || e.col < 0) return;
  270. var iRow = ds_msglist.rowposition;
  271. var sResnGrupId = ds_msglist.getColumn(iRow , "resngrupid"); // 사유입력시 사유리스트 공통코드
  272. var sMultiYn = ds_msglist.getColumn(iRow , "multiyn"); // 멀티선택 가능여부
  273. if(utlf_isNull(sResnGrupId) || sResnGrupId == "-") {
  274. alert("관련된 사유 정보가 존재 하지 않습니다.\n전산실로 문의 하세요.");
  275. return;
  276. }
  277. if(sMultiYn == "N") { // 단일선택이면
  278. caption10.visible = false;
  279. } else {
  280. caption10.visible = true;
  281. }
  282. ds_send.setColumn(0, "resngrupid", sResnGrupId);
  283. var oParam = {};
  284. oParam.id = "TRZUM90302";
  285. oParam.service = "hismainapp.HisMain";
  286. oParam.method = "reqMsgResnList";
  287. oParam.inds = "req=ds_send";
  288. oParam.outds = "ds_resnlist=resnlist";
  289. oParam.async = true;
  290. tranf_submit(oParam);
  291. }
  292. function button1_onclick(obj:Button, e:ClickEventInfo)
  293. {
  294. var checkLength = ds_msglist.rowcount;
  295. var resnCnt = 0;
  296. var sUserId = "";
  297. if ( checkLength > 0 ) {
  298. for ( var i = 0; i < checkLength; i++ ) {
  299. if ( utlf_isNull(ds_msglist.getColumn(i, "cnfcd"))
  300. || utlf_isNull(ds_msglist.getColumn(i, "cnfmsg"))
  301. || "-" == ds_msglist.getColumn(i, "cnfcd")
  302. || "-" == ds_msglist.getColumn(i, "cnfmsg") ) {
  303. resnCnt++;
  304. }
  305. }
  306. if (resnCnt > 0) {
  307. sysf_messageBox ( "처방사유 선택되지 않은 처방이", "I010" );
  308. return;
  309. }
  310. var oParam = {};
  311. oParam.id = "TXZUM90301";
  312. oParam.service = "hismainapp.HisMain";
  313. oParam.method = "reqSetTranMsgDetail";
  314. oParam.inds = "req=ds_msglist";
  315. oParam.async = false;
  316. oParam.callback = "cf_TXZUM90301";
  317. tranf_submit(oParam);
  318. }
  319. this.close();
  320. }
  321. function cf_TXZUM90301(sSvcId, nErrorCode, sErrorMsg) {
  322. if(nErrorCode < 0) return;
  323. opener.frmf_setParameter ( "SPZUM90300_rtn", "Y" );
  324. }
  325. function btn_cncl_onclick(obj:Button, e:ClickEventInfo)
  326. {
  327. this.close();
  328. }
  329. function grd_resnlist_oncellclick(obj:Grid, e:GridClickEventInfo)
  330. {
  331. if(e.row < 0 || e.col < 0) return;
  332. if ( obj.getCellPos() == obj.getBindCellIndex("body", "cnfmsg") ) {
  333. if ( ds_resnlist.getColumn(e.row, "cnfmsg") == "(이곳에 사유입력을 하세요)"
  334. || ds_resnlist.getColumn(e.row, "cnfmsg") == "기타사유 (직접입력)" ) {
  335. obj.setCellPos(e.col);
  336. obj.setCellProperty("body", e.col, "edittype", "text");
  337. obj.showEditor(true);
  338. } else {
  339. obj.setCellProperty("body", e.col, "edittype", "none");
  340. }
  341. }
  342. }
  343. function grd_resnlist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  344. {
  345. if(e.row < 0 || e.col < 0) return;
  346. fSelectResn();
  347. }
  348. function button00_onclick(obj:Button, e:ClickEventInfo)
  349. {
  350. if(ds_resnlist.rowposition > -1) {
  351. fSelectResn();
  352. }else{
  353. sysf_messageBox ( "선택된 사유가 없습니다." , "I" );
  354. }
  355. }
  356. function ds_resnlist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  357. {
  358. if(e.columnid == "status") {
  359. obj.setColumn(e.row, e.columnid, (e.newvalue == "Y" || e.newvalue == 1) ? "N" : "Y");
  360. fSelectResn();
  361. }
  362. if(grd_resnlist.getEditText() != undefined && e.eventid == "cnfmsg") {
  363. var currow = e.row;
  364. if ( obj.getColumn(currow, "cnfmsg") != "(이곳에 사유입력을 하세요)"
  365. && obj.getColumn(currow, "cnfmsg") != "기타사유 (직접입력)" ) {
  366. fSelectResn();
  367. }
  368. }
  369. }
  370. function fSelectResn() {
  371. var resnRow = ds_resnlist.rowposition;
  372. var msgRow = ds_msglist.rowposition;
  373. var sAllApply = ds_init.getColumn(0, "cond1");
  374. if (resnRow != -1 && msgRow != -1) {
  375. var sStatus = ds_resnlist.getColumn(resnRow, "status");
  376. //trace("sStatus : " + sStatus);
  377. var sCnfCd = ds_resnlist.getColumn(resnRow, "cnfcd");
  378. var sCnfMsg = ds_resnlist.getColumn(resnRow, "cnfmsg");
  379. if(sCnfMsg == "(이곳에 사유입력을 하세요)" || sCnfMsg == "기타사유 (직접입력)") {
  380. var col = grd_resnlist.getBindCellIndex("body", "cnfmsg");
  381. grd_resnlist.setCellPos(col);
  382. grd_resnlist.setCellProperty("body", col, "edittype", "text");
  383. grd_resnlist.showEditor(true);
  384. } else {
  385. var sMultiYn = ds_msglist.getColumn(msgRow, "multiyn");
  386. if(sMultiYn == "N") { // 단일 선택이면
  387. if(sStatus == "N") { // 현재 선택되지 않은 값이면 신규 선택
  388. var resnLength = ds_resnlist.rowcount;
  389. for ( var i = 0; i < resnLength; i++ ) { // 사유항목별
  390. if( resnRow == i) {
  391. ds_resnlist.setColumn(i, "status", "Y"); // 선택 체크
  392. } else {
  393. ds_resnlist.setColumn(i, "status", "N"); // 선택 해제
  394. }
  395. } // end of 사유항목별 for
  396. } else { // 현재 선택된 값이면 선택취소
  397. ds_resnlist.setColumn(resnRow, "status", "N"); // 선택 해제
  398. sCnfCd = "-"; // 선택코드 초기화
  399. sCnfMsg = "-"; // 선택사유 초기화
  400. }
  401. } else { // 멀티 선택이면
  402. if(sStatus == "N") { // 현재 선택되지 않은 값이면 신규 선택
  403. ds_resnlist.setColumn(resnRow, "status", "Y"); // 선택 체크
  404. } else { // 현재 선택된 값이면 선택취소
  405. ds_resnlist.setColumn(resnRow, "status", "N"); // 선택 해제
  406. }
  407. sCnfCd = "-"; // 선택코드 초기화
  408. sCnfMsg = "-"; // 선택사유 초기화
  409. var resnLength = ds_resnlist.rowcount;
  410. for ( var i = 0; i < resnLength; i++ ) { // 사유항목별 for
  411. if( ds_resnlist.getColumn(i, "status") == "Y" ) { // 선택되었으면
  412. if(sCnfCd == "-") { // 첫번째 선택의 경우
  413. sCnfCd = ds_resnlist.getColumn(i, "cnfcd"); // 선택된 사유 코드
  414. sCnfMsg = ds_resnlist.getColumn(i, "cnfmsg"); // 선택된 사유 상세
  415. } else { // 첫번째 선택이 아닌경우
  416. sCnfCd = sCnfCd + "|" + ds_resnlist.getColumn(i, "cnfcd"); // 선택된 사유 코드
  417. sCnfMsg = sCnfMsg + "|" + ds_resnlist.getColumn(i, "cnfmsg"); // 선택된 사유 상세
  418. }
  419. }
  420. } // end of 사유항목별 for
  421. }
  422. if(sAllApply == "Y") { // 일괄 적용이면
  423. var checkLength = ds_msglist.rowcount;
  424. var sSelMsgCd = ds_msglist.getColumn(msgRow, "msgcd");
  425. var sChkMsgCd = "";
  426. for ( var i = 0; i < checkLength; i++ ) {
  427. sChkMsgCd = ds_msglist.getColumn(i, "msgcd");
  428. if(sSelMsgCd == sChkMsgCd) {
  429. ds_msglist.setColumn(i, "cnfcd", sCnfCd);
  430. ds_msglist.setColumn(i, "cnfmsg", sCnfMsg);
  431. }
  432. }
  433. } else {
  434. ds_msglist.setColumn(msgRow, "cnfcd", sCnfCd);
  435. ds_msglist.setColumn(msgRow, "cnfmsg", sCnfMsg);
  436. }
  437. }
  438. }
  439. }
  440. ]]></Script>
  441. </Form>
  442. </FDL>