SPMNR037.xjs 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/*
  3. 간호일지타입II_부서별SET 조회 (SMMNR03700.xfm - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. */
  7. var gReturnGrupcd = "";
  8. var gGrupFlag="";
  9. var cbk_TRMNR00701_flag = 0;
  10. var cbk_TRMNR03703_flag = 0;
  11. var tmp_grid_color = 0; //Nursing 선택시 컬러변경
  12. /**
  13. * @group :
  14. * @ver : 2007.06.20
  15. * @by : 이은영
  16. * @---------------------------------------------------
  17. * @type : function
  18. * @access : public
  19. * @desc : 화면 초기화
  20. * @param :
  21. * @return :
  22. * @---------------------------------------------------
  23. */
  24. function fInitialize(){
  25. // grd_nursingd.fixedcellcheckbox(0, grd_nursingd.colRef("check")) = true;
  26. // grd_data.fixedcellcheckbox(0, grd_data.colRef("check")) = true;
  27. // grd_action.fixedcellcheckbox(0, grd_action.colRef("check")) = true;
  28. // grd_result.fixedcellcheckbox(0, grd_result.colRef("check")) = true;
  29. //그리드 색상
  30. grd_data.setCellProperty("body",11,"color","expr:attrcnt>0?'#6600ff':''");
  31. grd_data.setCellProperty("body",11,"color2","expr:attrcnt>0?'#6600ff':''");
  32. grd_data.setCellProperty("body",11,"selectcolor","expr:attrcnt>0?'#6600ff':''");
  33. grd_action.setCellProperty("body",11,"color","expr:attrcnt>0?'#6600ff':''");
  34. grd_action.setCellProperty("body",11,"color2","expr:attrcnt>0?'#6600ff':''");
  35. grd_action.setCellProperty("body",11,"selectcolor","expr:attrcnt>0?'#6600ff':''");
  36. grd_result.setCellProperty("body",11,"color","expr:attrcnt>0?'#6600ff':''");
  37. grd_result.setCellProperty("body",11,"color2","expr:attrcnt>0?'#6600ff':''");
  38. grd_result.setCellProperty("body",11,"selectcolor","expr:attrcnt>0?'#6600ff':''");
  39. //그리드 전체 체크박스
  40. grdf_setAllCheck(grd_nursingd);
  41. grdf_setAllCheck(grd_data);
  42. grdf_setAllCheck(grd_action);
  43. grdf_setAllCheck(grd_result);
  44. var sDeptcd = opener.frmf_getParameter("SPMNR03700_Param"); // 부서코드
  45. opener.frmf_setParameter("SPMNR03700_Return","");
  46. // model.makeValue("/root/send/deptcd", sDeptcd); // 부서코드
  47. // model.makeValue("/root/send/grupflag", "1"); // 그룹구분
  48. ds_cond.setColumn(0,"deptcd",sDeptcd);
  49. ds_cond.setColumn(0,"grupflag","1");
  50. //model.removenodeset(xStmtSetListPath);
  51. //model.removenodeset(xSelectedStmtListPath);
  52. fSettingLrgMdlSml("A",grd_lrg); // SET 그룹 정보 조회
  53. }
  54. /**
  55. * @group :
  56. * @ver : 2007.06.20
  57. * @by : 이은영
  58. * @---------------------------------------------------
  59. * @type : function
  60. * @access : public
  61. * @desc : SET별 진술문 정보를 선택
  62. * @param :
  63. * @return :
  64. * @---------------------------------------------------
  65. */
  66. function fClickedGridRow(pObj, pListPath, pRow, pCol){
  67. var iRow = pRow;
  68. var iCol = pCol;
  69. if(iRow < 0 || iRow > pObj.rowcount) return;
  70. if(iCol != pObj.getBindCellIndex("body","chk")) {
  71. if(eval(pListPath).getColumn(iRow, "chk") == "true"){
  72. eval(pListPath).setColumn(iRow, "chk","false");
  73. }else{
  74. eval(pListPath).setColumn(iRow, "chk","true");
  75. }
  76. }
  77. if( pObj == grd_nursingd ){
  78. fSettingGridBackColorNew(pRow);
  79. }
  80. }
  81. /**
  82. * @group :
  83. * @ver : 2007.06.20
  84. * @by : 이은영
  85. * @---------------------------------------------------
  86. * @type : function
  87. * @access : public
  88. * @desc : 진술문 보내기
  89. * @param :
  90. * @return :
  91. * @---------------------------------------------------
  92. */
  93. function fSendStmtInfo(){
  94. var sStmtCnt = ds_grid_grd_stmtinfo.rowcount;
  95. var sAttrCnt = 0;
  96. var sSelectedAttrCnt = 0;
  97. var sAttrInfo = "";
  98. //var sStmtInfo = "grupcd▦grupnm▦stmtcd▦stmtcnts▦attrinfo1▦attrinfo2▦attressnyn▦dnarflag▦attrcnt▦diagstmtcd▩";
  99. var sStmtInfo = "";
  100. //model.removenode("/root/send");
  101. //model.makeNode("/root/send/attrinfo");
  102. ds_cond.setColumn(0,"attrinfo","");
  103. for(var i=0; i<sStmtCnt; i++){
  104. //sAttrInfo = model.getValue(xSelectedStmtListPath+"["+i+"]/attrinfo1").split("⊙");
  105. if(!utlf_isNull(ds_grid_grd_stmtinfo.getColumn(i,"attrinfo1")))
  106. sAttrInfo = ds_grid_grd_stmtinfo.getColumn(i,"attrinfo1").split("⊙");
  107. sStmtInfo += //model.getValue(xSelectedStmtListPath+"["+i+"]/grupcd") + "▦"
  108. ds_grid_grd_stmtinfo.getColumn(i,"grupcd") + "▦"
  109. //+ model.getValue(xSelectedStmtListPath+"["+i+"]/grupnm") + "▦"
  110. + ds_grid_grd_stmtinfo.getColumn(i,"grupnm") + "▦"
  111. //+ model.getValue(xSelectedStmtListPath+"["+i+"]/stmtcd") + "▦"
  112. + ds_grid_grd_stmtinfo.getColumn(i,"stmtcd") + "▦"
  113. //+ model.getValue(xSelectedStmtListPath+"["+i+"]/stmtcnts") + "▦"
  114. + ds_grid_grd_stmtinfo.getColumn(i,"stmtcnts") + "▦"
  115. //+ model.getValue(xSelectedStmtListPath+"["+i+"]/attrinfo1") + "▦"
  116. + ds_grid_grd_stmtinfo.getColumn(i,"attrinfo1") + "▦"
  117. //+ model.getValue(xSelectedStmtListPath+"["+i+"]/attrinfo2") + "▦"
  118. + ds_grid_grd_stmtinfo.getColumn(i,"attrinfo2") + "▦"
  119. //+ model.getValue(xSelectedStmtListPath+"["+i+"]/attressnyn") + "▦"
  120. + ds_grid_grd_stmtinfo.getColumn(i,"attressnyn") + "▦"
  121. //+ model.getValue(xSelectedStmtListPath+"["+i+"]/dnarflag") + "▦"
  122. + ds_grid_grd_stmtinfo.getColumn(i,"dnarflag") + "▦"
  123. //+ model.getValue(xSelectedStmtListPath+"["+i+"]/attrcnt") + "▦"
  124. + ds_grid_grd_stmtinfo.getColumn(i,"attrcnt") + "▦"
  125. //+ model.getValue(xSelectedStmtListPath+"["+i+"]/diagstmtcd") + "▩";
  126. + ds_grid_grd_stmtinfo.getColumn(i,"diagstmtcd") + "▩";
  127. // 문장 내의 속성 가져오기
  128. for(var j=0; j<sAttrInfo.length-1; j++){
  129. // 간호일지타입II에 속성이 존재하는지 유무를 체크
  130. //if(opener.model.getValue(xAttrInfo+"[attrcd = '"+sAttrInfo[j]+"']/attrcd") != "") continue;
  131. opener.ds_data_attrinfo.filter("attrcd=='"+sAttrInfo[j]+"'");
  132. if(!utlf_isNull(opener.ds_data_attrinfo.getColumn(0,"attrcd"))) continue;
  133. opener.ds_data_attrinfo.filter("");
  134. if(fExistAttrCd(sAttrInfo[j]) == "Y") continue;
  135. sSendData = ds_cond.getColumn(0,"attrinfo");
  136. if(!utlf_isNull(sSendData)) sSendData += ",";
  137. sSendData += sAttrInfo[j];
  138. //model.setValue("/root/send/attrinfo", sSendData);
  139. ds_cond.setColumn(0,"attrinfo",sSendData);
  140. }
  141. }
  142. if(!utlf_isNull(ds_cond.getColumn(0,"attrinfo"))){
  143. var ds_temp = dsf_createDsRow("ds_temp", [{col: "attrinfo", val:ds_cond.getColumn(0,"attrinfo") }]);
  144. tranf_submit({
  145. id: "TRMNR03703"
  146. , service: "carerecapp.NursingRecord"
  147. , method: "reqGetAttrList"
  148. , inds: "refCond="+ds_temp
  149. , outds: "ds_data_attrinfo=attrinfo"
  150. , async: false
  151. , callback: "cbk_TRMNR03703"
  152. });
  153. if(cbk_TRMNR03703_flag == 1){
  154. //sAttrCnt = getNodesetCnt(opener.model,xAttrInfo)+1;
  155. sAttrCnt = opener.ds_data_attrinfo.rowcount;
  156. //sSelectedAttrCnt = getNodesetCnt(model, xSelectedAttrInfo);
  157. sSelectedAttrCnt = ds_data_attrinfo.rowcount;
  158. for(var iRow = 0; iRow < sSelectedAttrCnt; iRow++){
  159. opener.ds_data_attrinfo.addRow();
  160. opener.ds_data_attrinfo.setColumn(sAttrCnt,"attrcd",ds_data_attrinfo.getColumn(iRow,"attrcd"));
  161. opener.ds_data_attrinfo.setColumn(sAttrCnt,"attrnm",ds_data_attrinfo.getColumn(iRow,"attrnm"));
  162. opener.ds_data_attrinfo.setColumn(sAttrCnt,"attrflag",ds_data_attrinfo.getColumn(iRow,"attrflag"));
  163. opener.ds_data_attrinfo.setColumn(sAttrCnt,"supcd",ds_data_attrinfo.getColumn(iRow,"supcd"));
  164. opener.ds_data_attrinfo.setColumn(sAttrCnt,"unitnm",ds_data_attrinfo.getColumn(iRow,"unitnm"));
  165. opener.ds_data_attrinfo.setColumn(sAttrCnt,"plnumchoiyn",ds_data_attrinfo.getColumn(iRow,"plnumchoiyn"));
  166. sAttrCnt++;
  167. // opener.model.makeValue(xAttrInfo+"["+sAttrCnt+"]/attrcd", model.getValue(xSelectedAttrInfo+"["+iRow+"]/attrcd"));
  168. // opener.model.makeValue(xAttrInfo+"["+sAttrCnt+"]/attrnm", model.getValue(xSelectedAttrInfo+"["+iRow+"]/attrnm"));
  169. // opener.model.makeValue(xAttrInfo+"["+sAttrCnt+"]/attrflag", model.getValue(xSelectedAttrInfo+"["+iRow+"]/attrflag"));
  170. // opener.model.makeValue(xAttrInfo+"["+sAttrCnt+"]/supcd", model.getValue(xSelectedAttrInfo+"["+iRow+"]/supcd"));
  171. // opener.model.makeValue(xAttrInfo+"["+sAttrCnt+"]/unitnm", model.getValue(xSelectedAttrInfo+"["+iRow+"]/unitnm"));
  172. // opener.model.makeValue(xAttrInfo+"["+sAttrCnt+"]/plnumchoiyn", model.getValue(xSelectedAttrInfo+"["+iRow+"]/plnumchoiyn"));
  173. }
  174. }
  175. cbk_TRMNR03703_flag = 0;
  176. }
  177. opener.frmf_setParameter("SPMNR03700_Return", sStmtInfo);
  178. this.close();
  179. }
  180. function cbk_TRMNR03703(sScvId, nErrorCode, sErrorMsg){
  181. if(nErrorCode == 0){//성공하였을때
  182. cbk_TRMNR03703_flag = 1;
  183. }else{
  184. sysf_messageBox(sErrorMsg, "E");
  185. }
  186. }
  187. /**
  188. * @group :
  189. * @ver : 2007.04.25
  190. * @by : 이은영
  191. * @---------------------------------------------------
  192. * @type : function
  193. * @access : public
  194. * @desc : 가져올 데이터의 속성 코드 존재 유무 check
  195. * @param :
  196. * @return :
  197. * @---------------------------------------------------
  198. */
  199. function fExistAttrCd(pAttrCD){
  200. //var sAttrInfo = model.getValue("/root/send/attrinfo").split(",");
  201. if(!utlf_isNull(ds_cond.getColumn(0,"attrinfo"))){
  202. var sAttrInfo = ds_cond.getColumn(0,"attrinfo").split(",");
  203. for(var i=0; i<sAttrInfo.length; i++){
  204. if(sAttrInfo[i] == pAttrCD){
  205. return "Y";
  206. }
  207. }
  208. }
  209. return "N";
  210. }
  211. /**
  212. * @group :
  213. * @ver : 2007.04.30
  214. * @by : 이은영
  215. * @---------------------------------------------------
  216. * @type : function
  217. * @access : public
  218. * @desc : 진술문 존재 여부 체크
  219. * @param :
  220. * @return :
  221. * @---------------------------------------------------
  222. */
  223. function fExistStmtCd(pStmtCD, pStmtlist, pGrupCD){
  224. var sStmtList = pStmtlist.split("▩");
  225. // var sStmtInfo; // (20140206) 사용하지 않는 변수 주석처리함
  226. // var iRtnMsg = 0; // (20140206) 사용하지 않는 변수 주석처리함
  227. var sStmtCnts = "";
  228. sStmtCnts = model.getValue(xSaveSetInfoPath+"[stmtcd='"+pStmtCD+"']/stmtcnts");
  229. //간호진단내역의 진단코드의 그룹코드와 set조회에서 선택한 진단의 그룹코드가 같을때만...
  230. //선택한 간호진술문이 간호진단과는 연결되어 있지 않을경우는 그냥 저장. 간호진단과 연결된경우 메시지박스
  231. // var nodeList = instance1.selectNodes(xCareDiagListPath + "[stmtcd = '"+ pStmtCD +"' and grupcd4='"+pGrupCD+"'and todt ='']/recverno");
  232. //
  233. // if(nodeList != null && nodeList.length > 0 ){
  234. // iRtnMsg = messageBox("동일 간호과정 Set 분류에서 선택된 동일 진단이 존재합니다. 기록될 번호는\" "+nodeList.item(0).value+"\"","I009");
  235. //
  236. // return "Y";
  237. // }
  238. //
  239. // if(model.getValue(xNursingRecordListPath+"[recdd='"+sRecDD+"' and rectm='"+sRecTM+"' and stmtcd='"+pStmtCD+"']/stmtcd") != ""){
  240. // iRtnMsg = messageBox("동일 시간 때에 \""+sStmtCnts+"\" 문장이 존재합니다. 등록을","Q003");
  241. // if(iRtnMsg != "6"){
  242. // return "Y";
  243. // }
  244. // }
  245. for(var i=0; i<sStmtList.length; i++){
  246. if(getArrayData(pStmtlist,i,4)== pStmtCD){
  247. return "Y";
  248. }
  249. }
  250. return "N";
  251. }
  252. /**
  253. * @group :
  254. * @ver : 2007.06.22
  255. * @by : 이은영
  256. * @---------------------------------------------------
  257. * @type : function
  258. * @access : public
  259. * @desc : 전송할 진술문 선택
  260. * @param :
  261. * @return :
  262. * @---------------------------------------------------
  263. */
  264. function fSelectStmtInfo(){
  265. var sGrupCD = "";
  266. var iSelectStmtRow = 0;
  267. var sGrupCdPath = "";
  268. //상황별1/질환별2/계통별3/분류체계4/부서별5/부서별(용도별)6
  269. if ( gGrupFlag == 3 ) {
  270. sGrupCdPath = ds_grid_grd_sml2;
  271. } else {
  272. sGrupCdPath = ds_grid_grd_sml;
  273. }
  274. //--------(20120808)
  275. ds_temp_dssum.clearData();
  276. dsf_copyDs(ds_temp_dssum, ds_grid_grd_nursingd, "replace");
  277. dsf_copyDs(ds_temp_dssum, ds_grid_grd_data, "after");
  278. dsf_copyDs(ds_temp_dssum, ds_grid_grd_action, "after");
  279. dsf_copyDs(ds_temp_dssum, ds_grid_grd_result, "after");
  280. sGrupCD = gReturnGrupcd;
  281. for(var iRow=0; iRow<ds_temp_dssum.rowcount; iRow++){
  282. //sDNARFlag = model.getValue(xStmtSetListPath+"["+iRow+"]/dnarflag");
  283. sDNARFlag = ds_temp_dssum.getColumn(iRow,"dnarflag");
  284. if(ds_temp_dssum.getColumn(iRow,"chk") == "true"){
  285. //sStmtCd = model.getValue(xStmtSetListPath+"["+iRow+"]/stmtcd");
  286. sStmtCd = ds_temp_dssum.getColumn(iRow,"stmtcd");
  287. //cnt = model.getValue(xStmtSetListPath+"["+iRow+"]/cnt");
  288. cnt = ds_temp_dssum.getColumn(iRow,"cnt");
  289. if(cnt < 1 || utlf_isNull(cnt) ){
  290. //grd_stmtinfo.addRow(false);
  291. ds_grid_grd_stmtinfo.addRow();
  292. //iSelectStmtRow = grd_stmtinfo.rows - grd_stmtinfo.fixedrows;
  293. iSelectStmtRow = ds_grid_grd_stmtinfo.rowcount-1;
  294. sGrupCdPath.filter("grupcd=='"+sGrupCD+"'");
  295. ds_grid_grd_stmtinfo.setColumn(iSelectStmtRow,"grupnm",sGrupCdPath.getColumn(0,"hngnm"));
  296. sGrupCdPath.filter("");
  297. ds_grid_grd_stmtinfo.setColumn(iSelectStmtRow,"dnarflag",ds_temp_dssum.getColumn(iRow,"dnarflag"));
  298. ds_grid_grd_stmtinfo.setColumn(iSelectStmtRow,"stmtcnts",ds_temp_dssum.getColumn(iRow,"stmtcnts"));
  299. ds_grid_grd_stmtinfo.setColumn(iSelectStmtRow,"stmtcd",sStmtCd);
  300. ds_grid_grd_stmtinfo.setColumn(iSelectStmtRow,"attrcnt",ds_temp_dssum.getColumn(iRow,"attrcnt"));
  301. ds_grid_grd_stmtinfo.setColumn(iSelectStmtRow,"grupcd",sGrupCD);
  302. ds_grid_grd_stmtinfo.setColumn(iSelectStmtRow,"attrinfo1",ds_temp_dssum.getColumn(iRow,"attrinfo1"));
  303. ds_grid_grd_stmtinfo.setColumn(iSelectStmtRow,"attrinfo2",ds_temp_dssum.getColumn(iRow,"attrinfo2"));
  304. ds_grid_grd_stmtinfo.setColumn(iSelectStmtRow,"attressnyn",ds_temp_dssum.getColumn(iRow,"attressnyn"));
  305. if(sDNARFlag == "2N" ){
  306. //model.setValue(xSelectedStmtListPath+"["+iSelectStmtRow+"]/diagstmtcd",sStmtCd);
  307. ds_grid_grd_stmtinfo.setColumn(iSelectStmtRow,"diagstmtcd",sStmtCd);
  308. }else {
  309. //model.setValue(xSelectedStmtListPath+"["+iSelectStmtRow+"]/diagstmtcd","");
  310. ds_grid_grd_stmtinfo.setColumn(iSelectStmtRow,"diagstmtcd","");
  311. }
  312. }else{
  313. //분류별 진단 코드 생성(추가이유 : 현재 분류별 진단코드를 생성하기 위함)
  314. var sChkStmtCd = fCreatDiag(sStmtCd);
  315. var sDiagStmtCd = sChkStmtCd.split("▦");
  316. for(i = 0; i < cnt ; i++){
  317. //grd_stmtinfo.addRow(false);
  318. ds_grid_grd_stmtinfo.addRow();
  319. //iSelectStmtRow = grd_stmtinfo.rows - grd_stmtinfo.fixedrows;
  320. iSelectStmtRow = ds_grid_grd_stmtinfo.rowcount-1;
  321. sGrupCD = gReturnGrupcd;
  322. sGrupCdPath.filter("grupcd=='"+sGrupCD+"'");
  323. ds_grid_grd_stmtinfo.setColumn(iSelectStmtRow,"grupnm",sGrupCdPath.getColumn(0,"hngnm"));
  324. sGrupCdPath.filter("");
  325. ds_grid_grd_stmtinfo.setColumn(iSelectStmtRow,"dnarflag",ds_temp_dssum.getColumn(iRow,"dnarflag"));
  326. ds_grid_grd_stmtinfo.setColumn(iSelectStmtRow,"stmtcnts",ds_temp_dssum.getColumn(iRow,"stmtcnts"));
  327. ds_grid_grd_stmtinfo.setColumn(iSelectStmtRow,"stmtcd",sStmtCd);
  328. ds_grid_grd_stmtinfo.setColumn(iSelectStmtRow,"attrcnt",ds_temp_dssum.getColumn(iRow,"attrcnt"));
  329. ds_grid_grd_stmtinfo.setColumn(iSelectStmtRow,"grupcd",sGrupCD);
  330. ds_grid_grd_stmtinfo.setColumn(iSelectStmtRow,"attrinfo1",ds_temp_dssum.getColumn(iRow,"attrinfo1"));
  331. ds_grid_grd_stmtinfo.setColumn(iSelectStmtRow,"attrinfo2",ds_temp_dssum.getColumn(iRow,"attrinfo2"));
  332. ds_grid_grd_stmtinfo.setColumn(iSelectStmtRow,"attressnyn",ds_temp_dssum.getColumn(iRow,"attressnyn"));
  333. //model.setValue(xSelectedStmtListPath+"["+iSelectStmtRow+"]/diagstmtcd",sDiagStmtCd[i]);
  334. ds_grid_grd_stmtinfo.setColumn(iSelectStmtRow,"diagstmtcd",sDiagStmtCd[i]);
  335. }
  336. }
  337. }
  338. }
  339. // model.removenodeset(xNStmtSetListPath);
  340. // model.removenodeset(xDStmtSetListPath);
  341. // model.removenodeset(xAStmtSetListPath);
  342. // model.removenodeset(xRStmtSetListPath);
  343. ds_grid_grd_nursingd.clearData();
  344. ds_grid_grd_data.clearData();
  345. ds_grid_grd_action.clearData();
  346. ds_grid_grd_result.clearData();
  347. // grd_stmtinfo.mergecells = "bycol";
  348. // grd_stmtinfo.mergecol(3) = false;
  349. // grd_stmtinfo.refresh();
  350. //
  351. // grp_dnarset.refresh();
  352. // grp_dnarset.visible = false;
  353. btn_selstmtinfo.visible = false;
  354. button1.visible = false;
  355. grd_nursingd.visible = false;
  356. grd_data.visible = false;
  357. grd_action.visible = false;
  358. grd_result.visible = false;
  359. }
  360. /**
  361. * @group :
  362. * @ver : 2007.09.14
  363. * @by : 양천덕
  364. * @---------------------------------------------------
  365. * @type : function
  366. * @access : public
  367. * @desc : 진술문 코드별 진단 코드 생성
  368. * @param : pStmtCd : 진술문코드
  369. * @return :
  370. * @---------------------------------------------------
  371. */
  372. function fCreatDiag(pStmtCd){
  373. var pSetDiagCd ="";
  374. for(var iRow=0; iRow<ds_temp_dssum.rowcount; iRow++){
  375. if( ds_temp_dssum.getColumn(iRow,"dnarflag") == "2N"
  376. && ds_temp_dssum.getColumn(iRow,"chk") == "true" ){
  377. //var sLnkStmt = model.getValue(xStmtSetListPath+"["+iRow+"]/lnkstmt");
  378. var sLnkStmt = ds_temp_dssum.getColumn(iRow,"lnkstmt");
  379. var sStmtCD = sLnkStmt.split(",");
  380. for(var iStmt=0; iStmt < sStmtCD.length; iStmt++){
  381. if(pStmtCd == sStmtCD[iStmt]){
  382. pSetDiagCd += ds_temp_dssum.getColumn(iRow,"stmtcd")+"▦" ;
  383. }
  384. }
  385. }
  386. }
  387. return pSetDiagCd;
  388. }
  389. /**
  390. * @group :
  391. * @ver : 2007.06.22
  392. * @by : 이은영
  393. * @---------------------------------------------------
  394. * @type : function
  395. * @access : public
  396. * @desc : 전송할 진술문 삭제
  397. * @param :
  398. * @return :
  399. * @---------------------------------------------------
  400. */
  401. function fDelSelectedStmtInfo(){
  402. //멀티삭제로 수정 20080702 김홍점
  403. // var iRow = grd_stmtinfo.row;
  404. //
  405. // if( iRow < 1) return;
  406. //
  407. // grd_stmtinfo.deleteRow(iRow);
  408. // deleteSelectedRows(grd_stmtinfo,false);
  409. // grd_stmtinfo.rebuild();
  410. ds_grid_grd_stmtinfo.deleteSelectedRows();
  411. }
  412. function fSettingLrgMdlSml(pFlag,pCntlObj,pGrupFlag){
  413. var sSupCd = "";
  414. // var sDepth = 0; // (20140206) 사용하지 않는 변수 주석처리함
  415. sGrupFlag = pGrupFlag;
  416. gGrupFlag = pGrupFlag;
  417. if ( pFlag == "A"){
  418. sSupCd = "********";
  419. dsf_createDsRow("ds_temp", [{col: "grupflag", val:"-" }
  420. ,{col: "supcd", val:sSupCd }
  421. ,{col: "flag", val:"Y" }]);
  422. var oParam = {};
  423. oParam.id = "TRMNR00701";
  424. oParam.service = "carerecapp.NursingRecord";
  425. oParam.method = "reqGetSetGrupList";
  426. oParam.inds = "refCond=ds_temp";
  427. oParam.outds = "ds_temp_grid=gruplist";
  428. oParam.async = false;
  429. oParam.callback = "cf_TRMNR00701";
  430. tranf_submit(oParam);
  431. if(arErrorCode.pop("TRMNR00701") > -1){
  432. if (ds_temp_grid.rowcount > 0){
  433. ds_grid_grd_lrg.copyData(ds_temp_grid); }
  434. }
  435. ds_grid_grd_lrg.rowposition = -1;
  436. }else if( pFlag == "L" && pCntlObj.currentrow >= 0){
  437. sSupCd = ds_grid_grd_lrg.getColumn(pCntlObj.currentrow,"grupcd");
  438. var ds_temp = dsf_createDsRow("ds_temp", [{col: "grupflag", val:"-" }
  439. ,{col: "supcd", val:sSupCd }
  440. ,{col: "flag", val:"Y" }]);
  441. if(sGrupFlag == 3){ // 부서별은 자기의 부서만 조회
  442. grd_sml2.visible = true;
  443. grd_mdl.setCellProperty("Head",0,"text","부서");
  444. grd_sml.setCellProperty("Head",0,"text","중분류");
  445. grd_sml2.setCellProperty("Head",0,"text","소분류");
  446. }else{
  447. grd_sml2.visible = false;
  448. grd_mdl.setCellProperty("Head",0,"text","중분류");
  449. grd_sml.setCellProperty("Head",0,"text","소분류");
  450. }
  451. var oParam = {};
  452. oParam.id = "TRMNR00701";
  453. oParam.service = "carerecapp.NursingRecord";
  454. oParam.method = "reqGetSetGrupList";
  455. oParam.inds = "refCond=ds_temp";
  456. oParam.outds = "ds_temp_grid=gruplist";
  457. oParam.async = false;
  458. oParam.callback = "cf_TRMNR00701";
  459. tranf_submit(oParam);
  460. if(arErrorCode.pop("TRMNR00701") > -1){
  461. if (ds_temp_grid.rowcount > 0){
  462. ds_grid_grd_mdl.copyData(ds_temp_grid);
  463. }
  464. }
  465. ds_grid_grd_mdl.rowposition = -1;
  466. }else if( pFlag == "M" && pCntlObj.rowcount > 0){
  467. sSupCd = ds_grid_grd_mdl.getColumn(pCntlObj.currentrow,"grupcd");
  468. dsf_createDsRow("ds_temp", [{col: "grupflag", val:"-" }
  469. ,{col: "supcd", val:sSupCd }
  470. ,{col: "flag", val:"Y" }]);
  471. var oParam = {};
  472. oParam.id = "TRMNR00701";
  473. oParam.service = "carerecapp.NursingRecord";
  474. oParam.method = "reqGetSetGrupList";
  475. oParam.inds = "refCond=ds_temp";
  476. oParam.outds = "ds_temp_grid=gruplist";
  477. oParam.async = false;
  478. oParam.callback = "cf_TRMNR00701";
  479. tranf_submit(oParam);
  480. if(arErrorCode.pop("TRMNR00701") > -1){
  481. if (ds_temp_grid.rowcount > 0){
  482. ds_grid_grd_sml.copyData(ds_temp_grid);
  483. }
  484. }
  485. ds_grid_grd_sml.rowposition = -1;
  486. }else if( pFlag == "S" && pCntlObj.rowcount > 0){
  487. sSupCd = ds_grid_grd_sml.getColumn(pCntlObj.currentrow,"grupcd");
  488. //-------(20120808)
  489. //원본
  490. if( sGrupFlag == 3){
  491. dsf_createDsRow("ds_temp",[{col: "grupflag", val:"-" }
  492. ,{col: "supcd", val:sSupCd }
  493. ,{col: "flag", val:"Y" }]);
  494. var oParam = {};
  495. oParam.id = "TRMNR00701";
  496. oParam.service = "carerecapp.NursingRecord";
  497. oParam.method = "reqGetSetGrupList";
  498. oParam.inds = "refCond=ds_temp";
  499. oParam.outds = "ds_temp_grid=gruplist";
  500. oParam.async = false;
  501. oParam.callback = "cf_TRMNR00701";
  502. tranf_submit(oParam);
  503. if(arErrorCode.pop("TRMNR00701") > -1){
  504. if (ds_temp_grid.rowcount > 0){
  505. //model.makeNode(xLrgGrupInfoPath);
  506. //copyNodesetType(xLrgGrupInfoPath, xHiddenGrupInfoPath, "replace", model, model);
  507. ds_grid_grd_sml2.copyData(ds_temp_grid);
  508. }
  509. }
  510. ds_grid_grd_sml2.rowposition = -1;
  511. }else{
  512. gReturnGrupcd = sSupCd;
  513. fSearchSrchTool("StmtSet",pCntlObj.currentrow, sSupCd ); //여기부터
  514. }
  515. }else if( pFlag == "S2" && pCntlObj.rowcount > 0){
  516. //sSupCd = model.getValue(xSmlGrupInfoPath2+"["+ pCntlObj.row +"]/grupcd");
  517. sSupCd = ds_grid_grd_sml2.getColumn(pCntlObj.currentrow,"grupcd");
  518. gReturnGrupcd = sSupCd;
  519. fSearchSrchTool("StmtSet",pCntlObj.row, sSupCd );
  520. }
  521. }
  522. function cf_TRMNR00701(sSvcId, nErrorCode, sErrorMsg) {
  523. arErrorCode.push(sSvcId, nErrorCode);
  524. }
  525. function fSearchSrchTool(pFlag,pRow,pGrupCd){
  526. var sGrupCd = pGrupCd;
  527. // var sGrupRow = pRow; // (20140206) 사용하지 않는 변수 주석처리함
  528. //grp_dnarset.visible = true;
  529. btn_selstmtinfo.visible = true;
  530. button1.visible = true;
  531. grd_nursingd.visible = true;
  532. grd_data.visible = true;
  533. grd_action.visible = true;
  534. grd_result.visible = true;
  535. dsf_createDsRow("ds_temp",[{col: "grupcd", val:sGrupCd }
  536. ,{col: "dnarflag", val:"%" }]);
  537. //model.makeValue("/root/send/dnarflag",model.getValue(xSrchToolCondPath+"/dnarflag"));20080624 김홍점
  538. var oParam = {};
  539. oParam.id = "TRMNR00702";
  540. oParam.service = "carerecapp.NursingRecord";
  541. oParam.method = "reqGetStmtSetList";
  542. oParam.inds = "refCond=ds_temp";
  543. oParam.outds = "ds_grid_grd_nursingd=nstmtsetlist ds_grid_grd_data=dstmtsetlist ds_grid_grd_action=astmtsetlist ds_grid_grd_result=rstmtsetlist";
  544. oParam.async = false;
  545. //oParam.callback = "cf_TRMNR00702";
  546. tranf_submit(oParam);
  547. ds_grid_grd_nursingd.rowposition = -1;
  548. ds_grid_grd_data.rowposition = -1;
  549. ds_grid_grd_action.rowposition = -1;
  550. ds_grid_grd_result.rowposition = -1;
  551. }
  552. /**
  553. * @group :
  554. * @ver : 2008.06.23
  555. * @by : 김홍점
  556. * @---------------------------------------------------
  557. * @type : function
  558. * @access : public
  559. * @desc : 선택된 진술문 별로 표준간호과정 등록된 진술문에 바탕색을 변경
  560. * @param :
  561. * @return :
  562. * @---------------------------------------------------
  563. */
  564. function fSettingGridBackColorNew(pRow){
  565. var iRow = pRow;//grd_nursingd.selectedRow;
  566. var sDNARFlag = ds_grid_grd_nursingd.getColumn(iRow, "dnarflag");
  567. var sCheck = ds_grid_grd_nursingd.getColumn(iRow, "chk");
  568. var iTgStmtRow = 0;
  569. var sLnkStmt = ds_grid_grd_nursingd.getColumn(iRow, "lnkstmt");
  570. if( utlf_isNull(sLnkStmt) ) return;
  571. var sStmtCD = sLnkStmt.split(",");
  572. //var sExprColor = "EXPR(";
  573. //var sExprColor2 = "EXPR(";
  574. //var sExprColor3 = "EXPR(";
  575. ds_grid_grd_data.addColumn("stmtcntsbg","string");
  576. ds_grid_grd_data.addColumn("chkbg","string");
  577. for(var datacount = 0; datacount < ds_grid_grd_data.rowcount; datacount++){
  578. ds_grid_grd_data.setColumn(datacount, "stmtcntsbg", "");
  579. ds_grid_grd_data.setColumn(datacount, "chkbg", "");
  580. }
  581. for(var iStmt=0; iStmt < sStmtCD.length; iStmt++){
  582. iTgStmtRow = ds_grid_grd_data.findRow("stmtcd",sStmtCD[iStmt],0);
  583. if(iTgStmtRow < 0){
  584. // 셋에 묶인 진단이 없을 경우 pass
  585. } else {
  586. chkcnt = ds_grid_grd_data.getColumn(iTgStmtRow, "cnt");
  587. if(sCheck == "true"){
  588. chkcnt ++;
  589. }else{
  590. chkcnt --;
  591. }
  592. ds_grid_grd_data.setColumn(iTgStmtRow, "cnt", chkcnt);
  593. if(ds_grid_grd_data.getColumn(iTgStmtRow, "cnt") > 0 ){
  594. ds_grid_grd_data.setColumn(iTgStmtRow, "stmtcntsbg", "#efd3e7");
  595. ds_grid_grd_data.setColumn(iTgStmtRow, "chkbg", "#efd3e7");
  596. //sExprColor += "currow == "+iTgStmtRow+" ? '#efd3e7' : ";
  597. //grd_data.rowstyle(iTgStmtRow,"data","background-color") = "#efd3e7";
  598. }else {
  599. ds_grid_grd_data.setColumn(iTgStmtRow, "stmtcntsbg", "#FFFFFF");
  600. ds_grid_grd_data.setColumn(iTgStmtRow, "chkbg", "#FFFFFF");
  601. //sExprColor += "currow == "+iTgStmtRow+" ? '#FFFFFF' : ";
  602. //grd_data.rowstyle(iTgStmtRow,"data","background-color") = "#FFFFFF";
  603. }
  604. }
  605. }
  606. // sExprColor += "'')";
  607. //for(var expnum = 0; expnum <grd_data.getCellCount("Body"); expnum++){
  608. // grd_data.setCellProperty("Body", expnum, "background", sExprColor);
  609. // grd_data.setCellProperty("Body", expnum, "background2", sExprColor);
  610. //}
  611. ds_grid_grd_action.addColumn("stmtcntsbg","string");
  612. ds_grid_grd_action.addColumn("chkbg","string");
  613. for(var actioncount = 0; actioncount < ds_grid_grd_action.rowcount; actioncount++){
  614. ds_grid_grd_action.setColumn(actioncount, "stmtcntsbg", "");
  615. ds_grid_grd_action.setColumn(actioncount, "chkbg", "");
  616. }
  617. for(var iStmt=0; iStmt < sStmtCD.length; iStmt++){
  618. iTgStmtRow = ds_grid_grd_action.findRow("stmtcd",sStmtCD[iStmt],0);
  619. if(iTgStmtRow < 0){
  620. // 셋에 묶인 진단이 없을 경우 pass
  621. } else {
  622. chkcnt = ds_grid_grd_action.getColumn(iTgStmtRow, "cnt");
  623. if(sCheck == "true"){
  624. chkcnt ++;
  625. }else{
  626. chkcnt --;
  627. }
  628. ds_grid_grd_action.setColumn(iTgStmtRow, "cnt", chkcnt);
  629. if(ds_grid_grd_action.getColumn(iTgStmtRow, "cnt") > 0 ){
  630. ds_grid_grd_action.setColumn(iTgStmtRow, "stmtcntsbg", "#efd3e7");
  631. ds_grid_grd_action.setColumn(iTgStmtRow, "chkbg", "#efd3e7");
  632. //sExprColor2 += "currow == "+iTgStmtRow+" ? '#efd3e7' : ";
  633. //grd_action.rowstyle(iTgStmtRow,"data","background-color") = "#efd3e7";
  634. }else {
  635. ds_grid_grd_action.setColumn(iTgStmtRow, "stmtcntsbg", "#FFFFFF");
  636. ds_grid_grd_action.setColumn(iTgStmtRow, "chkbg", "#FFFFFF");
  637. //sExprColor2 += "currow == "+iTgStmtRow+" ? '#FFFFFF' : ";
  638. //grd_action.rowstyle(iTgStmtRow,"data","background-color") = "#FFFFFF";
  639. }
  640. }
  641. }
  642. //sExprColor2 += "'')";
  643. //for(var expnum2 = 0; expnum2 <grd_action.getCellCount("Body"); expnum2++){
  644. // grd_action.setCellProperty("Body", expnum2, "background", sExprColor2);
  645. // grd_action.setCellProperty("Body", expnum2, "background2", sExprColor2);
  646. //}
  647. ds_grid_grd_result.addColumn("stmtcntsbg","string");
  648. ds_grid_grd_result.addColumn("chkbg","string");
  649. for(var resultcount = 0; resultcount < ds_grid_grd_result.rowcount; resultcount++){
  650. ds_grid_grd_result.setColumn(resultcount, "stmtcntsbg", "");
  651. ds_grid_grd_result.setColumn(resultcount, "chkbg", "");
  652. }
  653. for(var iStmt=0; iStmt < sStmtCD.length; iStmt++){
  654. iTgStmtRow = ds_grid_grd_result.findRow("stmtcd",sStmtCD[iStmt],0);
  655. if(iTgStmtRow < 0){
  656. // 셋에 묶인 진단이 없을 경우 pass
  657. } else {
  658. chkcnt = ds_grid_grd_result.getColumn(iTgStmtRow, "cnt");
  659. if(sCheck == "true"){
  660. chkcnt ++;
  661. }else{
  662. chkcnt --;
  663. }
  664. ds_grid_grd_result.setColumn(iTgStmtRow, "cnt", chkcnt);
  665. if(ds_grid_grd_result.getColumn(iTgStmtRow, "cnt") > 0 ){
  666. ds_grid_grd_result.setColumn(iTgStmtRow, "stmtcntsbg", "#efd3e7");
  667. ds_grid_grd_result.setColumn(iTgStmtRow, "chkbg", "#efd3e7");
  668. //sExprColor3 += "currow == "+iTgStmtRow+" ? '#efd3e7' : ";
  669. //grd_result.rowstyle(iTgStmtRow,"data","background-color") = "#efd3e7";
  670. }else {
  671. ds_grid_grd_result.setColumn(iTgStmtRow, "stmtcntsbg", "#FFFFFF");
  672. ds_grid_grd_result.setColumn(iTgStmtRow, "chkbg", "#FFFFFF");
  673. //sExprColor3 += "currow == "+iTgStmtRow+" ? '#FFFFFF' : ";
  674. //grd_result.rowstyle(iTgStmtRow,"data","background-color") = "#FFFFFF";
  675. }
  676. }
  677. }
  678. //sExprColor3 += "'')";
  679. //for(var expnum3 = 0; expnum3 <grd_action.getCellCount("Body"); expnum3++){
  680. // grd_result.setCellProperty("Body", expnum3, "background", sExprColor3);
  681. // grd_result.setCellProperty("Body", expnum3, "background2", sExprColor3);
  682. //}
  683. }
  684. ]]></Script>