SMMNR08600.xjs 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[
  3. /*
  4. 환자별IO조회(SMMNR08600_환자별IO조회.xrw - JScript )
  5. - Version :
  6. 1) : Ver.1.00.01
  7. */
  8. var xPathMemoInfo = "/root/main/memoinfo/memolist";
  9. var xPathCondInfo = "/root/main/cond";
  10. /**
  11. * @group :
  12. * @ver : 2008.07.02
  13. * @by : 양천덕
  14. * @---------------------------------------------------
  15. * @type : function
  16. * @access : public
  17. * @desc : 화면 초기화
  18. * @param :
  19. * @return :
  20. * @---------------------------------------------------
  21. */
  22. function fInitialize(){
  23. for(var i = grd_patlist.getBindCellIndex("body","ioyn"); i <= grd_patlist.getBindCellIndex("body","acyn"); i++) {
  24. grd_patlist.setRealColSize(i, 0, false);
  25. }
  26. if( utlf_isNull(ds_main_cond.getColumn(0, "seardd")) ){
  27. ipt_seardd.value = utlf_getCurrentDate();
  28. }
  29. // 간호환경설정 테이블 조회_20110215
  30. var pCode = "'002'"; // 조회할 CdGrupID 코드정보
  31. var pDate = utlf_getCurrentDate(); //조회기준일자
  32. fGetNursHardCdInfo(pCode, pDate);
  33. dsf_makeValue(ds_send_reqdata,"flag" , "string", "Y");
  34. //부서콤보 조회
  35. var oParam = {};
  36. oParam.id = "TRMNW11001";
  37. oParam.service = "wardorderapp.NursPrcpMngt";
  38. oParam.method = "reqGetDeptListInfo";
  39. oParam.inds = "req=ds_send_reqdata";
  40. oParam.outds = "ds_init_deptinfo_deptlist=deptlist";
  41. oParam.async = false;
  42. tranf_submit(oParam);
  43. //설정된 상단정보를 불러옴
  44. ds_main_paminfo.clearData();
  45. var node = sysf_getGlobalVariable("paminfo");
  46. dsf_setCSVToDs("ds_main_paminfo", node);
  47. //로그인한 부서로 자동setting한다.
  48. ds_main_cond.setColumn(0, "wardcd", sysf_getUserInfo("dutplcecd"));
  49. dsf_makeValue(ds_main_cond,"wardnm", "string",grp_inpatinfo.cmb_wardlist.text);
  50. ds_send_reqdata.clearData();
  51. dsf_makeValue(ds_send_reqdata,"wardcd", "string", ds_main_cond.getColumn(0, "wardcd"));
  52. var oParam = {};
  53. oParam.id = "TRMNW10902";
  54. oParam.service = "wardorderapp.NursPrcpMngt";
  55. oParam.method = "reqGetWardRoomInfo";
  56. oParam.inds = "reqCond=ds_send_reqdata";
  57. oParam.outds = "ds_init_roominfo_room=room";
  58. oParam.async = false;
  59. tranf_submit(oParam);
  60. if ( !utlf_isNull(ds_main_paminfo.getColumn(0, "pid")) ) {//상단정보에 환자가 셋팅되어 있을 경우
  61. dsf_makeValue(ds_main_cond,"upinfoyn", "string", "Y");
  62. ////20110828_KNUH_Start 내환자setting정보 조회.
  63. ds_main_cond.setColumn(0, "wardcd", ds_main_paminfo.getColumn(0, "wardcd"));
  64. fGetSettringInfoRef();
  65. //내환자셋팅정보가 있으면 set,없으면 그냥 null
  66. settingnurid = ds_init_settinginfo_settingrn.lookup("settingrnid", sysf_getUserInfo("userid"), "settingrnid");
  67. if( utlf_isNull(settingnurid) ) {
  68. ds_main_cond.setColumn(0, "roomcd", '-');
  69. ds_main_cond.setColumn(0, "settingrnid", '');
  70. } else {
  71. ds_main_cond.setColumn(0, "roomcd", '-');
  72. ds_main_cond.setColumn(0, "settingrnid", sysf_getUserInfo("userid"));
  73. }
  74. //20110828_KNUH_End
  75. } else {
  76. ds_main_cond.setColumn(0, "wardcd", sysf_getUserInfo("dutplcecd")); //상단정보가 없을 경우 간호사 소속부서
  77. //20110828_KNUH_Start 환자setting정보 조회
  78. fGetSettringInfoRef();
  79. settingnurid = ds_init_settinginfo_settingrn.lookup("settingrnid", sysf_getUserInfo("userid"), "settingrnid");
  80. //내환자셋팅정보가 있으면 set,없으면 그냥 null
  81. if( utlf_isNull(settingnurid) ) {
  82. ds_main_cond.setColumn(0, "roomcd", '-');
  83. ds_main_cond.setColumn(0, "settingrnid", '');
  84. } else {
  85. ds_main_cond.setColumn(0, "roomcd", '-');
  86. ds_main_cond.setColumn(0, "settingrnid", sysf_getUserInfo("userid"));
  87. }
  88. //20110828_KNUH_End
  89. }
  90. //20110215 이선경 : 경북대 - 응급실일 경우 구역정보를 조회
  91. fGetZoneList();
  92. fnZoneDisp();
  93. //fSearIOInfo();
  94. fPatInfoRef("I");
  95. }
  96. //20110828_KNUH_Start
  97. function fGetPatInfo() {
  98. var settingnurid = ds_main_cond.getColumn(0, "settingrnid");
  99. if( utlf_isNull(settingnurid) ) {
  100. grp_inpatinfo.cmb_room.enable = true;
  101. } else {
  102. grp_inpatinfo.cmb_room.enable = false;
  103. }
  104. ds_send_reqdata.clearData();
  105. dsf_makeValue(ds_send_reqdata,"wardcd","string", ds_main_cond.getColumn(0, "wardcd"));
  106. dsf_makeValue(ds_send_reqdata,"settingrnid","string", ds_main_cond.getColumn(0, "settingrnid"));
  107. var oParam = {};
  108. oParam.id = "TRMNW10902";
  109. oParam.service = "wardorderapp.NursPrcpMngt";
  110. oParam.method = "reqGetWardRoomInfo";
  111. oParam.inds = "reqCond=ds_send_reqdata";
  112. oParam.outds = "ds_init_roominfo_room=room";
  113. oParam.async = false;
  114. tranf_submit(oParam);
  115. ds_main_cond.setColumn(0, "roomcd", "-"); //해당 병실 셋팅
  116. //해당 병실의 환자 조회
  117. ds_send_reqdata.clearData();
  118. dsf_makeValue(ds_send_reqdata,"orddd","string", ds_main_cond.getColumn(0, "seardd"));
  119. dsf_makeValue(ds_send_reqdata,"wardcd","string", ds_main_cond.getColumn(0, "wardcd"));
  120. dsf_makeValue(ds_send_reqdata,"roomcd","string", ds_main_cond.getColumn(0, "roomcd"));
  121. dsf_makeValue(ds_send_reqdata,"refflag","string", "room");
  122. dsf_makeValue(ds_send_reqdata,"ordtype","string", "I");
  123. dsf_makeValue(ds_send_reqdata,"settingrnid","string", ds_main_cond.getColumn(0, "settingrnid"));
  124. dsf_makeValue(ds_send_reqdata,"barflag","string", "Y");
  125. dsf_makeValue(ds_send_reqdata,"typeflag","string", ds_main_cond.getColumn(0, "typeflag"));
  126. var oParam = {};
  127. oParam.id = "TRMNW10903";
  128. oParam.service = "wardorderapp.NursPrcpMngt";
  129. oParam.method = "reqGetRoomPatList";
  130. oParam.inds = "reqCond=ds_send_reqdata";
  131. oParam.outds = "ds_init_patinfo_patlist=patlist";
  132. oParam.async = false;
  133. tranf_submit(oParam);
  134. if( !utlf_isNull(ds_init_patinfo_patlist.getColumnInfo("acptseqno")) && !utlf_isNull(ds_init_patinfo_patlist.getColumnInfo("cretno")) ){
  135. dsf_setTypeFormat(ds_init_patinfo_patlist, "acptseqno:INT^cretno:INT");
  136. }
  137. }
  138. //20110828_KNUH_End
  139. /**
  140. * @desc : 부서조건에 따른 병실 조회
  141. * @
  142. * @param :initflag ="init" 초기화
  143. * @return :
  144. * @author : 성미연
  145. * @---------------------------------------------------
  146. */
  147. function fRoomInfoRef(initflag) {
  148. ds_init_roominfo_room.updatecontrol = false;
  149. ds_init_roominfo_room.deleteColumn("roomcd");
  150. ds_init_roominfo_room.updatecontrol = true;
  151. ds_main_cond.setColumn(0, "patnm", "");
  152. ds_main_cond.setColumn(0, "pid", "");
  153. var settingrnid = ds_main_cond.getColumn(0, "settingrnid");
  154. grp_inpatinfo.cmb_room.enable = true;
  155. ds_send_reqdata.clearData();
  156. dsf_makeValue(ds_send_reqdata,"wardcd","string", ds_main_cond.getColumn(0, "wardcd") );
  157. dsf_makeValue(ds_send_reqdata,"settingrnid","string", ds_main_cond.getColumn(0, "settingrnid") );
  158. var oParam = {};
  159. oParam.id = "TRMNW10902";
  160. oParam.service = "wardorderapp.NursPrcpMngt";
  161. oParam.method = "reqGetWardRoomInfo";
  162. oParam.inds = "reqCond=ds_send_reqdata";
  163. oParam.outds = "ds_init_roominfo_room=room";
  164. oParam.async = false;
  165. oParam.callback = "cf_TRMNW10902";
  166. tranf_submit(oParam);
  167. if(arErrorCode.pop("TRMNW10902") > -1){
  168. if (ds_main_cond.getColumn(0, "upinfoyn") == "Y") { //상단정보에 환자가 셋팅되어 있을 경우
  169. //20110828_KNUH_Start
  170. if( utlf_isNull(settingrnid) ) {
  171. ds_main_cond.setColumn(0, "roomcd", ds_main_paminfo.getColumn(0, "roomcd"));
  172. } else {
  173. ds_main_cond.setColumn(0, "roomcd", "");
  174. }
  175. //20110828_KNUH_End
  176. fPatInfoRef("I",initflag);
  177. } else {
  178. ds_main_cond.setColumn(0, "roomcd", "-");
  179. ds_init_patinfo_patlist.clearData();
  180. }
  181. }
  182. }
  183. function fnZoneDisp() {
  184. //응급의료센터(2280200000)인 경우
  185. //병동정보대신에 구역정보가 보임)(20080620)
  186. if ( !utlf_isNull(ds_codelist.getColumn(ds_codelist.findRowExpr("cdgrupid == '002' && cdid == '"+grp_inpatinfo.cmb_wardlist.value+"'"), "cdid")) ) {
  187. grp_inpatinfo.caption15.visible = false;
  188. grp_inpatinfo.cmb_room.visible = false;
  189. grp_inpatinfo.cap_Zone.visible = true;
  190. grp_inpatinfo.cmb_Zone.visible = true;
  191. //20110830_KNUH_Start
  192. grp_inpatinfo.cmb_settingrn.visible = false;
  193. grp_inpatinfo.cap_settingrn.visible = false;
  194. //20110830_KNUH_End
  195. grp_inpatinfo.cmb_room.value = "-";
  196. var zonecd = ds_main_paminfo.getColumn(0, "sectioncd");
  197. if( !utlf_isNull(zonecd) && zonecd != "-" ){
  198. grp_inpatinfo.cmb_Zone.value = ds_main_paminfo.getColumn(0, "sectioncd");
  199. } else {
  200. grp_inpatinfo.cmb_Zone.value = "-";
  201. }
  202. grp_inpatinfo.cmb_settingrn.visible = false;
  203. } else {
  204. grp_inpatinfo.caption15.visible = true;
  205. grp_inpatinfo.cmb_room.visible = true;
  206. grp_inpatinfo.cmb_settingrn.visible = true;
  207. grp_inpatinfo.cap_Zone.visible = false;
  208. grp_inpatinfo.cmb_Zone.visible = false;
  209. grp_inpatinfo.cmb_Zone.value = "";
  210. //20110830_KNUH_Start
  211. grp_inpatinfo.cmb_settingrn.visible = true;
  212. grp_inpatinfo.cap_settingrn.visible = true;
  213. //20110830_KNUH_End
  214. }
  215. }
  216. /**
  217. * @desc : 병실별 환자리스트 조회, 부서별 환자리스트 조회
  218. * @
  219. * @param :
  220. * @return :
  221. * @author : 성미연
  222. * @---------------------------------------------------
  223. */
  224. function fPatInfoRef(deptflag, initflag) {
  225. var settingnurid="";
  226. settingnurid = ds_main_cond.getColumn(0, "settingrnid");
  227. ds_send_reqdata.clearData();
  228. dsf_makeValue(ds_send_reqdata,"orddd","string", ds_main_cond.getColumn(0, "seardd"));
  229. dsf_makeValue(ds_send_reqdata,"wardcd","string", ds_main_cond.getColumn(0, "wardcd"));
  230. dsf_makeValue(ds_send_reqdata,"settingrnid","string", ds_main_cond.getColumn(0, "settingrnid"));
  231. //20110828_KNUH_Start
  232. if( utlf_isNull(settingnurid) ) {
  233. dsf_makeValue(ds_send_reqdata,"roomcd","string", ds_main_cond.getColumn(0, "roomcd"));
  234. } else {
  235. dsf_makeValue(ds_send_reqdata,"roomcd","string", "-");
  236. }
  237. //20110828_KNUH_End
  238. dsf_makeValue(ds_send_reqdata,"refflag","string", "room");
  239. dsf_makeValue(ds_send_reqdata,"ordtype","string", "I");
  240. dsf_makeValue(ds_send_reqdata,"zonecd","string", ds_main_cond.getColumn(0, "zonecd"));
  241. dsf_makeValue(ds_send_reqdata,"settingrnid","string", ds_main_cond.getColumn(0, "settingrnid"));
  242. dsf_makeValue(ds_send_reqdata,"barflag","string", "Y");
  243. dsf_makeValue(ds_send_reqdata,"typeflag","string", ds_main_cond.getColumn(0, "typeflag"));
  244. var oParam = {};
  245. oParam.id = "TRMNW10903";
  246. oParam.service = "wardorderapp.NursPrcpMngt";
  247. oParam.method = "reqGetRoomPatList";
  248. oParam.inds = "reqCond=ds_send_reqdata";
  249. oParam.outds = "ds_init_patinfo_patlist=patlist";
  250. oParam.async = false;
  251. tranf_submit(oParam);
  252. if( !utlf_isNull(ds_init_patinfo_patlist.getColumnInfo("acptseqno")) && !utlf_isNull(ds_init_patinfo_patlist.getColumnInfo("cretno")) ){
  253. dsf_setTypeFormat(ds_init_patinfo_patlist, "acptseqno:INT^cretno:INT");
  254. }
  255. }
  256. //20110828_KNUH_Start 환자setting정보 조회
  257. function fGetSettringInfoRef() {
  258. dsf_makeValue(ds_send_reqdata,"wardcd" ,"string", ds_main_cond.getColumn(0, "wardcd"));
  259. var oParam = {};
  260. oParam.id = "TRMNW10910";
  261. oParam.service = "wardcareapp.WardCareMngt";
  262. oParam.method = "reqGetSettingRnList";
  263. oParam.inds = "req=ds_send_reqdata";
  264. oParam.outds = "ds_init_settinginfo_settingrn=settingrn";
  265. oParam.async = false;
  266. tranf_submit(oParam);
  267. if( utlf_isNull(ds_init_settinginfo_settingrn.getColumn(0, "settingrnid")) ){
  268. ds_init_settinginfo_settingrn.setColumn(0, "settingrnid", "");
  269. }
  270. dsf_makeValue(ds_main_cond,"settingrnid","string", ds_init_settinginfo_settingrn.getColumn(0, "settingrnid"));
  271. }
  272. /**
  273. * @group :
  274. * @ver : 2008.07.02
  275. * @by : 양천덕
  276. * @---------------------------------------------------
  277. * @type : function
  278. * @access : public
  279. * @desc : IO정보 조회
  280. * @param :
  281. * @return :
  282. * @---------------------------------------------------
  283. */
  284. function fSearIOInfo(){
  285. ds_main_ioinfo_iolist.clearData();
  286. ds_send.copyData(ds_main_cond);
  287. ds_main_cond.setColumn(0, "seartodd", getDateCalc(String(ipt_seardd.value), 1, "+"));
  288. dsf_makeValue(ds_send,"pid" ,"string", ds_main_cond.getColumn(0, "pid"));
  289. dsf_makeValue(ds_send,"cretno" ,"string", ds_main_cond.getColumn(0, "cretno"));
  290. dsf_makeValue(ds_send,"indd" ,"string", ds_main_cond.getColumn(0, "orddd"));
  291. dsf_makeValue(ds_send,"seardd" ,"string", ds_main_cond.getColumn(0, "seardd"));
  292. dsf_makeValue(ds_send,"wardcd" ,"string", ds_main_cond.getColumn(0, "wardcd"));
  293. dsf_makeValue(ds_send,"seartodd" ,"string", ds_main_cond.getColumn(0, "seartodd"));
  294. dsf_makeValue(ds_send,"memoitemflag","string", "08");
  295. dsf_createDs("ds_main_ioinfo_iolist", [{col: "itemnm", type:"string", size:256}
  296. , {col: "setyn", type:"string", size:256}
  297. , {col: "lnkbizcd", type:"string", size:256}
  298. , {col: "dayrslt", type:"string", size:256}
  299. , {col: "evnrslt", type:"string", size:256}
  300. , {col: "ngtrslt", type:"string", size:256}
  301. , {col: "daycnt", type:"string", size:256}
  302. , {col: "evncnt", type:"string", size:256}
  303. , {col: "ngtcnt", type:"string", size:256}
  304. , {col: "total", type:"string", size:256}
  305. , {col: "lnkrecflag", type:"string", size:256}], true);
  306. var oParam = {};
  307. oParam.id = "TRMNR05801_SJH";
  308. oParam.service = "flowchartapp.FlowChartRecMngt";
  309. oParam.method = "reqGetIntakeOutputInfo";
  310. oParam.inds = "req=ds_send";
  311. oParam.outds = "ds_main_ioinfo_dietprcplist=dietprcplist ds_main_ioinfo_iolist=iolist ds_main_memoinfo_memolist=memolist ds_main_patinfo_patinfo=patinfo";
  312. oParam.async = false;
  313. tranf_submit(oParam);
  314. if( !utlf_isNull(ds_main_memoinfo_memolist.getColumnInfo("seqno")) ){
  315. dsf_setTypeFormat(ds_main_memoinfo_memolist, "seqno:INT");
  316. }
  317. if( utlf_isNull(ds_main_ioinfo_iolist.getColumnInfo("d_lnkrecflag")) ){
  318. ds_main_ioinfo_iolist.addColumn("d_lnkrecflag", "string");
  319. }
  320. if( utlf_isNull(ds_main_ioinfo_iolist.getColumnInfo("e_lnkrecflag")) ){
  321. ds_main_ioinfo_iolist.addColumn("e_lnkrecflag", "string");
  322. }
  323. if( utlf_isNull(ds_main_ioinfo_iolist.getColumnInfo("n_lnkrecflag")) ){
  324. ds_main_ioinfo_iolist.addColumn("n_lnkrecflag", "string");
  325. }
  326. if( utlf_isNull(ds_main_ioinfo_iolist.getColumnInfo("subtotal")) ){
  327. ds_main_ioinfo_iolist.addColumn("subtotal", "string");
  328. }
  329. for(var i =0; i < ds_main_ioinfo_iolist.rowcount; i++ ){
  330. ds_main_ioinfo_iolist.setColumn(i, "d_lnkrecflag" , ds_main_ioinfo_iolist.getColumn(i, "lnkrecflag"));
  331. ds_main_ioinfo_iolist.setColumn(i, "e_lnkrecflag" , ds_main_ioinfo_iolist.getColumn(i, "lnkrecflag"));
  332. ds_main_ioinfo_iolist.setColumn(i, "n_lnkrecflag" , ds_main_ioinfo_iolist.getColumn(i, "lnkrecflag"));
  333. ds_main_ioinfo_iolist.setColumn(i, "subtotal" , ds_main_ioinfo_iolist.getColumn(i, "total"));
  334. }
  335. fSettingIOlnfo();
  336. }
  337. /**
  338. * @group :
  339. * @ver : 2008.07.02
  340. * @by : 양천덕
  341. * @---------------------------------------------------
  342. * @type : function
  343. * @access : public
  344. * @desc : 조회 정보 Setting
  345. * @param :
  346. * @return :
  347. * @---------------------------------------------------
  348. */
  349. function fSettingIOlnfo(){
  350. grdf_initGridStyle(grd_ioinfo);
  351. var tRow = ds_main_ioinfo_iolist.rowcount;
  352. var OralSum = 0;
  353. var DrugSum = 0;
  354. var BloodSum = 0 ;
  355. var EtcSum = 0;
  356. var OutPutSum = 0;
  357. var IntakeTotalSum = 0;
  358. var OutputTotalSum = 0;
  359. var SpecSum = 0;
  360. var StartFlag = "";
  361. var sAddIntakeRow = "";
  362. var IntakeLastRow = -1;
  363. OralSum = ds_main_ioinfo_iolist.getColumn(ds_main_ioinfo_iolist.findRowExpr("lnkbizcd == '01' && utlf_isNull(itemnm)"), "total");
  364. DrugSum = ds_main_ioinfo_iolist.getColumn(ds_main_ioinfo_iolist.findRowExpr("lnkbizcd == '02' && utlf_isNull(itemnm)"), "total");
  365. BloodSum = ds_main_ioinfo_iolist.getColumn(ds_main_ioinfo_iolist.findRowExpr("lnkbizcd == '03' && utlf_isNull(itemnm)"), "total");
  366. EtcSum = ds_main_ioinfo_iolist.getColumn(ds_main_ioinfo_iolist.findRowExpr("lnkbizcd == '04' && utlf_isNull(itemnm)"), "total");
  367. OutPutSum = ds_main_ioinfo_iolist.getColumn(ds_main_ioinfo_iolist.findRowExpr("lnkbizcd == '07' && utlf_isNull(itemnm)"), "total");
  368. var DayOralSum = ds_main_ioinfo_iolist.getColumn(ds_main_ioinfo_iolist.findRowExpr("lnkbizcd == '01' && itemnm == '경구입력'"), "dayrslt");
  369. var EvnOralSum = ds_main_ioinfo_iolist.getColumn(ds_main_ioinfo_iolist.findRowExpr("lnkbizcd == '01' && itemnm == '경구입력'"), "evnrslt");
  370. var NgtOralSum = ds_main_ioinfo_iolist.getColumn(ds_main_ioinfo_iolist.findRowExpr("lnkbizcd == '01' && itemnm == '경구입력'"), "ngtrslt");
  371. var totalOralSum = ds_main_ioinfo_iolist.getColumn(ds_main_ioinfo_iolist.findRowExpr("lnkbizcd == '01' && itemnm == '경구입력'"), "subtotal");
  372. var DaySum1 = ds_main_ioinfo_iolist.getColumn(ds_main_ioinfo_iolist.findRowExpr("lnkbizcd == '01' && utlf_isNull(itemnm)"), "dayrslt");
  373. var DaySum2 = ds_main_ioinfo_iolist.getColumn(ds_main_ioinfo_iolist.findRowExpr("lnkbizcd == '02' && utlf_isNull(itemnm)"), "dayrslt");
  374. var DaySum3 = ds_main_ioinfo_iolist.getColumn(ds_main_ioinfo_iolist.findRowExpr("lnkbizcd == '03' && utlf_isNull(itemnm)"), "dayrslt");
  375. var DaySum4 = ds_main_ioinfo_iolist.getColumn(ds_main_ioinfo_iolist.findRowExpr("lnkbizcd == '04' && utlf_isNull(itemnm)"), "dayrslt");
  376. var EvnSum1 = ds_main_ioinfo_iolist.getColumn(ds_main_ioinfo_iolist.findRowExpr("lnkbizcd == '01' && utlf_isNull(itemnm)"), "evnrslt");
  377. var EvnSum2 = ds_main_ioinfo_iolist.getColumn(ds_main_ioinfo_iolist.findRowExpr("lnkbizcd == '02' && utlf_isNull(itemnm)"), "evnrslt");
  378. var EvnSum3 = ds_main_ioinfo_iolist.getColumn(ds_main_ioinfo_iolist.findRowExpr("lnkbizcd == '03' && utlf_isNull(itemnm)"), "evnrslt");
  379. var EvnSum4 = ds_main_ioinfo_iolist.getColumn(ds_main_ioinfo_iolist.findRowExpr("lnkbizcd == '04' && utlf_isNull(itemnm)"), "evnrslt");
  380. var NgtSum1 = ds_main_ioinfo_iolist.getColumn(ds_main_ioinfo_iolist.findRowExpr("lnkbizcd == '01' && utlf_isNull(itemnm)"), "ngtrslt");
  381. var NgtSum2 = ds_main_ioinfo_iolist.getColumn(ds_main_ioinfo_iolist.findRowExpr("lnkbizcd == '02' && utlf_isNull(itemnm)"), "ngtrslt");
  382. var NgtSum3 = ds_main_ioinfo_iolist.getColumn(ds_main_ioinfo_iolist.findRowExpr("lnkbizcd == '03' && utlf_isNull(itemnm)"), "ngtrslt");
  383. var NgtSum4 = ds_main_ioinfo_iolist.getColumn(ds_main_ioinfo_iolist.findRowExpr("lnkbizcd == '04' && utlf_isNull(itemnm)"), "ngtrslt");
  384. var SubTotal1 = ds_main_ioinfo_iolist.getColumn(ds_main_ioinfo_iolist.findRowExpr("lnkbizcd == '01' && utlf_isNull(itemnm)"), "subtotal");
  385. if( utlf_isNull(DaySum1) )DaySum1=0;
  386. if( utlf_isNull(DaySum2) )DaySum2=0;
  387. if( utlf_isNull(DaySum3) )DaySum3=0;
  388. if( utlf_isNull(DaySum4) )DaySum4=0;
  389. if( utlf_isNull(EvnSum1) )EvnSum1=0;
  390. if( utlf_isNull(EvnSum2) )EvnSum2=0;
  391. if( utlf_isNull(EvnSum3) )EvnSum3=0;
  392. if( utlf_isNull(EvnSum4) )EvnSum4=0;
  393. if( utlf_isNull(NgtSum1) )NgtSum1=0;
  394. if( utlf_isNull(NgtSum2) )NgtSum2=0;
  395. if( utlf_isNull(NgtSum3) )NgtSum3=0;
  396. if( utlf_isNull(NgtSum4) )NgtSum4=0;
  397. for(var i=0; i < ds_main_ioinfo_iolist.rowcount; i++) {
  398. lnkbizcd = grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","lnkbizcd"));
  399. itemnm = grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","itemnm"));
  400. if(lnkbizcd == "01" && utlf_isNull(itemnm) ) {
  401. ds_main_ioinfo_iolist.setColumn(i, "dayrslt" , parseFloat(DaySum1) + parseFloat(DayOralSum));
  402. ds_main_ioinfo_iolist.setColumn(i, "evnrslt" , parseFloat(EvnSum1) + parseFloat(EvnOralSum));
  403. ds_main_ioinfo_iolist.setColumn(i, "ngtrslt" , parseFloat(NgtSum1) + parseFloat(NgtOralSum));
  404. ds_main_ioinfo_iolist.setColumn(i, "subtotal" , parseFloat(SubTotal1) + parseFloat(totalOralSum));
  405. ds_main_ioinfo_iolist.setColumn(i, "total" , parseFloat(SubTotal1) + parseFloat(totalOralSum));
  406. }
  407. }
  408. if(tRow > -1){
  409. var sExprColor = "EXPR(";
  410. var sExprSize = "EXPR(";
  411. for(var i = 0; i < ds_main_ioinfo_iolist.rowcount; i++){
  412. if(grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","setyn")) == "1"){
  413. IntakeLastRow = i;
  414. }
  415. var param = grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","lnkbizcd"));
  416. //수치가 0인 항목 삭제 및 항목명 입력
  417. if(param == "01"){
  418. if( utlf_isNull( grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","d_lnkrecflag")) ) && !utlf_isNull( grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","itemnm")) ) ){
  419. ds_main_ioinfo_iolist.setColumn(i, "d_lnkrecflag", grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","itemnm")));
  420. }
  421. if( utlf_isNull( grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","e_lnkrecflag")) ) && !utlf_isNull( grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","itemnm")) ) ){
  422. ds_main_ioinfo_iolist.setColumn(i, "e_lnkrecflag", grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","itemnm")));
  423. }
  424. if( utlf_isNull( grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","n_lnkrecflag")) ) && !utlf_isNull( grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","itemnm")) ) ){
  425. ds_main_ioinfo_iolist.setColumn(i, "n_lnkrecflag", grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","itemnm")));
  426. }
  427. }else{
  428. if( utlf_isNull( grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","d_lnkrecflag")) ) ){
  429. ds_main_ioinfo_iolist.setColumn(i, "d_lnkrecflag", utlf_transNullToEmpty(grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","itemnm")))+
  430. ( param == "03"
  431. && grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","daycnt")) != "0"
  432. && !utlf_isNull(grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","itemnm")))
  433. ? " ("+ utlf_transNullToEmpty(grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","daycnt"))) + ")" : "") );
  434. }else if( !utlf_isNull(grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","itemnm"))) ){
  435. ds_main_ioinfo_iolist.setColumn(i, "dayrslt", "");
  436. }
  437. if( utlf_isNull(grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","e_lnkrecflag"))) ){
  438. ds_main_ioinfo_iolist.setColumn(i, "e_lnkrecflag", utlf_transNullToEmpty(grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","itemnm")))+
  439. ( param == "03"
  440. && grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","evncnt")) != "0"
  441. && !utlf_isNull(grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","itemnm")))
  442. ? " ("+ utlf_transNullToEmpty(grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","evncnt"))) + ")" : "") );
  443. }else if( !utlf_isNull(grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","itemnm"))) ){
  444. ds_main_ioinfo_iolist.setColumn(i, "evnrslt", "");
  445. }
  446. if( utlf_isNull( grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","n_lnkrecflag")) ) ){
  447. ds_main_ioinfo_iolist.setColumn(i, "n_lnkrecflag", utlf_transNullToEmpty(grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","itemnm")))+
  448. ( param == "03"
  449. && grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","ngtcnt")) != "0"
  450. && !utlf_isNull(grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","itemnm")))
  451. ? " ("+ utlf_transNullToEmpty(grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","ngtcnt"))) + ")" : "") );
  452. }else if( !utlf_isNull(grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","itemnm"))) ){
  453. ds_main_ioinfo_iolist.setColumn(i, "ngtrslt", "");
  454. }
  455. }
  456. var fRow = ds_main_ioinfo_iolist.findRow("lnkbizcd", ds_main_ioinfo_iolist.getColumn(i, "lnkbizcd"));
  457. //구분별 합계 입력(Merge 작업을 하기위하여 머지할 행 데이터 일치시키기 위함)
  458. switch(param){
  459. case "01" :
  460. ds_main_ioinfo_iolist.setColumn(i, "total", " " + OralSum);
  461. break;
  462. case "02" :
  463. ds_main_ioinfo_iolist.setColumn(i, "total", " " + DrugSum);
  464. break;
  465. case "03" :
  466. ds_main_ioinfo_iolist.setColumn(i, "total", " " + BloodSum);
  467. break;
  468. case "04" :
  469. ds_main_ioinfo_iolist.setColumn(i, "total", " " + EtcSum);
  470. break;
  471. case "05" :
  472. ds_main_ioinfo_iolist.setColumn(i, "total", " " + OutPutSum);
  473. break;
  474. }
  475. //구분필드 색상 변경
  476. sExprColor += "currow == "+i+" && (self.col == "+(grd_ioinfo.getBindCellIndex("body","setyn")) +") ? '#ccccff' : ";
  477. sExprColor += "currow == "+i+" && (self.col == "+(grd_ioinfo.getBindCellIndex("body","lnkbizcd"))+") ? '#ccccff' : ";
  478. sExprSize += "currow == "+i+" && (self.col == "+(grd_ioinfo.getBindCellIndex("body","setyn")) +") ? 'Dotum,9,bold' : ";
  479. sExprSize += "currow == "+i+" && (self.col == "+(grd_ioinfo.getBindCellIndex("body","lnkbizcd")) +") ? 'Dotum,9,bold' : ";
  480. //SubTotal Row 색상 변경
  481. if( utlf_isNull(ds_main_ioinfo_iolist.getColumn(i, "itemnm")) ){
  482. for(var stcol = grd_ioinfo.getBindCellIndex("body","d_lnkrecflag") ; stcol <= grd_ioinfo.getBindCellIndex("body","subtotal"); stcol++){
  483. sExprColor += "currow == "+i+" && (self.col == "+stcol+") ? '#ffff99' : ";
  484. }
  485. }
  486. //Total Output Row 색상변경
  487. if( ds_main_ioinfo_iolist.getColumn(i, "lnkbizcd") == "07"){
  488. for(var tocol = grd_ioinfo.getBindCellIndex("body","setyn"); tocol <= grd_ioinfo.getBindCellIndex("body","total"); tocol++){
  489. sExprColor = sExprColor.replace("currow == "+i+" && (self.col == "+tocol+") ? '#ccccff' : ", "currow == "+i+" && (self.col == "+tocol+") ? '#ffff00' : ");
  490. sExprColor = sExprColor.replace("currow == "+i+" && (self.col == "+tocol+") ? '#ffff99' : ", "currow == "+i+" && (self.col == "+tocol+") ? '#ffff00' : ");
  491. sExprSize += "currow == "+i+" && (self.col == "+tocol+") ? 'Dotum,9,bold' : ";
  492. }
  493. }
  494. }
  495. //Intake 합계 Row 추가
  496. var intaketotalsetrow = -1;
  497. if(IntakeLastRow > -1){
  498. ds_main_ioinfo_iolist.insertRow(IntakeLastRow + 1);
  499. for(var itr = ds_main_ioinfo_iolist.rowcount-2; itr > IntakeLastRow; itr--){
  500. sExprColor = sExprColor.replace("currow == "+itr+"", "currow == "+(itr+1)+"");
  501. sExprSize = sExprSize.replace("currow == "+itr+"", "currow == "+(itr+1)+"");
  502. }
  503. intaketotalsetrow = IntakeLastRow + 1;
  504. }
  505. if(intaketotalsetrow > -1){
  506. ds_main_ioinfo_iolist.setColumn(intaketotalsetrow, "setyn" , "06");
  507. ds_main_ioinfo_iolist.setColumn(intaketotalsetrow, "lnkbizcd" , "06");
  508. ds_main_ioinfo_iolist.setColumn(intaketotalsetrow, "dayrslt" , eval(DayOralSum) + eval(DaySum1) + eval(DaySum2) + eval(DaySum3)+ eval(DaySum4));
  509. ds_main_ioinfo_iolist.setColumn(intaketotalsetrow, "evnrslt" , eval(EvnOralSum) + eval(EvnSum1) + eval(EvnSum2) + eval(EvnSum3)+ eval(EvnSum4));
  510. ds_main_ioinfo_iolist.setColumn(intaketotalsetrow, "ngtrslt" , eval(NgtOralSum) + eval(NgtSum1) + eval(NgtSum2) + eval(NgtSum3)+ eval(NgtSum4));
  511. for(var itcol = grd_ioinfo.getBindCellIndex("body","setyn"); itcol <= grd_ioinfo.getBindCellIndex("body","total"); itcol++){
  512. sExprColor = sExprColor.replace("currow == "+intaketotalsetrow+" && (self.col == "+itcol+") ? '#ccccff' : ", "currow == "+intaketotalsetrow+" && (self.col == "+itcol+") ? '#ffff00' : ");
  513. sExprColor += "currow == "+intaketotalsetrow+" && (self.col == "+itcol+") ? '#ffff00' : ";
  514. sExprSize += "currow == "+intaketotalsetrow+" && (self.col == "+itcol+") ? 'Dotum,9,bold' : ";
  515. }
  516. }
  517. // 비고 Row 추가및 계산 정보 입력
  518. var insertRow = -1 ;
  519. var specRow = -1;
  520. var outputtotalsetrow = ds_main_ioinfo_iolist.findRow("setyn", "07");
  521. if(intaketotalsetrow > -1 && outputtotalsetrow > -1){
  522. ds_main_ioinfo_iolist.insertRow(outputtotalsetrow + 1);
  523. for(var qlrhr = ds_main_ioinfo_iolist.rowcount-2; qlrhr > outputtotalsetrow; qlrhr--){
  524. sExprColor = sExprColor.replace("currow == "+qlrhr+"", "currow == "+(qlrhr+1)+"");
  525. sExprSize = sExprSize.replace("currow == "+qlrhr+"", "currow == "+(qlrhr+1)+"");
  526. }
  527. specRow = outputtotalsetrow+1;
  528. }
  529. if(specRow > -1 ){
  530. var sExprColor2 = "EXPR(";
  531. var d_spec = eval(ds_main_ioinfo_iolist.getColumn(intaketotalsetrow, "dayrslt")) - eval(ds_main_ioinfo_iolist.getColumn(outputtotalsetrow, "dayrslt"));
  532. var e_spec = eval(ds_main_ioinfo_iolist.getColumn(intaketotalsetrow, "evnrslt")) - eval(ds_main_ioinfo_iolist.getColumn(outputtotalsetrow, "evnrslt"));
  533. var n_spec = eval(ds_main_ioinfo_iolist.getColumn(intaketotalsetrow, "ngtrslt")) - eval(ds_main_ioinfo_iolist.getColumn(outputtotalsetrow, "ngtrslt"));
  534. var t_spec = eval(d_spec) + eval(e_spec) + eval(n_spec);
  535. d_spec = Math.round(d_spec * Math.pow(10, (-4)*(-1)-1)) / Math.pow(10, (-4)*(-1)-1);
  536. e_spec = Math.round(e_spec * Math.pow(10, (-4)*(-1)-1)) / Math.pow(10, (-4)*(-1)-1);
  537. n_spec = Math.round(n_spec * Math.pow(10, (-4)*(-1)-1)) / Math.pow(10, (-4)*(-1)-1);
  538. t_spec = Math.round(t_spec * Math.pow(10, (-4)*(-1)-1)) / Math.pow(10, (-4)*(-1)-1);
  539. ds_main_ioinfo_iolist.setColumn(specRow, "setyn" , "08");
  540. ds_main_ioinfo_iolist.setColumn(specRow, "lnkbizcd" , "08");
  541. if(d_spec > 0){
  542. ds_main_ioinfo_iolist.setColumn(specRow, "dayrslt", "+" + d_spec);
  543. sExprColor2 += "currow == "+specRow+" && (self.col == "+grd_ioinfo.getBindCellIndex("body","dayrslt")+") ? '#ff0000' : ";
  544. }else if(d_spec == 0){
  545. ds_main_ioinfo_iolist.setColumn(specRow, "dayrslt", d_spec);
  546. }else{
  547. ds_main_ioinfo_iolist.setColumn(specRow, "dayrslt", d_spec);
  548. sExprColor2 += "currow == "+specRow+" && (self.col == "+grd_ioinfo.getBindCellIndex("body","dayrslt")+") ? '#0000ff' : ";
  549. }
  550. if(e_spec > 0){
  551. ds_main_ioinfo_iolist.setColumn(specRow, "evnrslt", "+" + e_spec);
  552. sExprColor2 += "currow == "+specRow+" && (self.col == "+grd_ioinfo.getBindCellIndex("body","evnrslt")+") ? '#ff0000' : ";
  553. }else if(e_spec == 0){
  554. ds_main_ioinfo_iolist.setColumn(specRow, "evnrslt", e_spec);
  555. }else{
  556. ds_main_ioinfo_iolist.setColumn(specRow, "evnrslt", e_spec);
  557. sExprColor2 += "currow == "+specRow+" && (self.col == "+grd_ioinfo.getBindCellIndex("body","evnrslt")+") ? '#0000ff' : ";
  558. }
  559. if(n_spec > 0){
  560. ds_main_ioinfo_iolist.setColumn(specRow, "ngtrslt", "+" + n_spec);
  561. sExprColor2 += "currow == "+specRow+" && (self.col == "+grd_ioinfo.getBindCellIndex("body","ngtrslt")+") ? '#ff0000' : ";
  562. }else if(n_spec == 0){
  563. ds_main_ioinfo_iolist.setColumn(specRow, "ngtrslt", n_spec);
  564. }else{
  565. ds_main_ioinfo_iolist.setColumn(specRow, "ngtrslt", n_spec);
  566. sExprColor2 += "currow == "+specRow+" && (self.col == "+grd_ioinfo.getBindCellIndex("body","ngtrslt")+") ? '#0000ff' : ";
  567. }
  568. if(t_spec > 0){
  569. ds_main_ioinfo_iolist.setColumn(specRow, "subtotal", "+" + t_spec);
  570. ds_main_ioinfo_iolist.setColumn(specRow, "total", "+" + t_spec);
  571. sExprColor2 += "currow == "+specRow+" && (self.col == "+(grd_ioinfo.getBindCellIndex("body","subtotal")) +") ? '#ff0000' : ";
  572. sExprColor2 += "currow == "+specRow+" && (self.col == "+(grd_ioinfo.getBindCellIndex("body","total")) +") ? '#ff0000' : ";
  573. }else if(t_spec == 0){
  574. ds_main_ioinfo_iolist.setColumn(specRow, "subtotal", t_spec);
  575. ds_main_ioinfo_iolist.setColumn(specRow, "total", t_spec);
  576. }else{
  577. ds_main_ioinfo_iolist.setColumn(specRow, "subtotal", t_spec);
  578. ds_main_ioinfo_iolist.setColumn(specRow, "total", t_spec);
  579. sExprColor2 += "currow == "+specRow+" && (self.col == "+(grd_ioinfo.getBindCellIndex("body","subtotal")) +") ? '#0000ff' : ";
  580. sExprColor2 += "currow == "+specRow+" && (self.col == "+(grd_ioinfo.getBindCellIndex("body","total")) +") ? '#0000ff' : ";
  581. }
  582. for(var qlrh = grd_ioinfo.getBindCellIndex("body","setyn"); qlrh <= grd_ioinfo.getBindCellIndex("body","total"); qlrh++){
  583. sExprColor = sExprColor.replace("currow == "+specRow+" && (self.col == "+qlrh+") ? '#ccccff' : ", "currow == "+specRow+" && (self.col == "+qlrh+") ? '#ffcc99' : ");
  584. sExprColor += "currow == "+specRow+" && (self.col == "+qlrh+") ? '#ffcc99' : ";
  585. sExprSize += "currow == "+specRow+" && (self.col == "+qlrh+") ? 'Dotum,9,bold' : ";
  586. }
  587. sExprColor2 += "'')";
  588. }
  589. sExprColor += "'')";
  590. for(var expnum = 0; expnum <grd_ioinfo.getCellCount("Body"); expnum++){
  591. grd_ioinfo.setCellProperty("Body", expnum, "background", sExprColor);
  592. grd_ioinfo.setCellProperty("Body", expnum, "background2", sExprColor);
  593. grd_ioinfo.setCellProperty("Body", expnum, "color", sExprColor2);
  594. }
  595. sExprSize += "'Dotum,9')";
  596. for(var expnum2 = 0; expnum2 <grd_ioinfo.getCellCount("Body"); expnum2++){
  597. grd_ioinfo.setCellProperty("Body", expnum2, "font", sExprSize);
  598. }
  599. //그리드 선택 제어 부분
  600. grp_inpatinfo.btn_close.setFocus();
  601. ds_main_ioinfo_iolist.rowposition = -1;
  602. grd_ioinfo.readonly = true;
  603. //그리드 머지 작업
  604. /*
  605. grd_ioinfo.mergecells = "bycolrec"; // byrestriccol byrestricrow
  606. grd_ioinfo.mergecol(0) = true;
  607. grd_ioinfo.mergecol(1) = true;
  608. grd_ioinfo.mergecol(2) = false;
  609. grd_ioinfo.mergecol(3) = false;
  610. grd_ioinfo.mergecol(4) = false;
  611. grd_ioinfo.mergecol(5) = false;
  612. grd_ioinfo.mergecol(6) = false;
  613. grd_ioinfo.mergecol(7) = false;
  614. grd_ioinfo.mergecol(8) = false;
  615. grd_ioinfo.mergecol(9) = true;
  616. */
  617. //Total Intake 합계 데이터 입력(Merge로 인하여 제일 하단에 추가)
  618. if(intaketotalsetrow > -1){
  619. ds_main_ioinfo_iolist.setColumn(intaketotalsetrow, "subtotal" , " " + Math.round((eval(DaySum1) + eval(DaySum2) + eval(DaySum3)+ eval(DaySum4) + eval(EvnSum1) + eval(EvnSum2) + eval(EvnSum3)+ eval(EvnSum4) + eval(NgtSum1) + eval(NgtSum2) + eval(NgtSum3)+ eval(NgtSum4)) * Math.pow(10, (-4)*(-1)-1)) / Math.pow(10, (-4)*(-1)-1));
  620. ds_main_ioinfo_iolist.setColumn(intaketotalsetrow, "total" , " " + Math.round((eval(DaySum1) + eval(DaySum2) + eval(DaySum3)+ eval(DaySum4) + eval(EvnSum1) + eval(EvnSum2) + eval(EvnSum3)+ eval(EvnSum4) + eval(NgtSum1) + eval(NgtSum2) + eval(NgtSum3)+ eval(NgtSum4)) * Math.pow(10, (-4)*(-1)-1)) / Math.pow(10, (-4)*(-1)-1));
  621. }
  622. }
  623. for(var i = 0; i < ds_main_ioinfo_iolist.rowcount; i ++){
  624. if( utlf_isNull(grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","dayrslt"))) ){
  625. ds_main_ioinfo_iolist.setColumn(i, "d_lnkrecflag", "");
  626. }
  627. if( utlf_isNull(grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","evnrslt"))) ){
  628. ds_main_ioinfo_iolist.setColumn(i, "e_lnkrecflag", "");
  629. }
  630. if( utlf_isNull(grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","ngtrslt"))) ){
  631. ds_main_ioinfo_iolist.setColumn(i, "n_lnkrecflag", "");
  632. }
  633. }
  634. //수치량이 존재하지 않는 Row 삭제
  635. for(var i = 0; i < ds_main_ioinfo_iolist.rowcount; i++){
  636. if( grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","dayrslt")) == "07"){
  637. //grd_ioinfo.mergerow(i) = true;
  638. }
  639. if(utlf_isNull(grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","dayrslt"))) &&
  640. utlf_isNull(grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","evnrslt"))) &&
  641. utlf_isNull(grd_ioinfo.getCellValue(i, grd_ioinfo.getBindCellIndex("body","ngtrslt"))) ){
  642. ds_main_ioinfo_iolist.deleteRow(i);
  643. i = i-1;
  644. }
  645. }
  646. var sExprdpValue = "EXPR(";
  647. var sExpredValue = "EXPR(";
  648. for(var exva = 0; exva < ds_main_ioinfo_iolist.rowcount; exva++){
  649. for(var cds = 0; cds < ds_temp_lnkrecinfo_lnkreclist.rowcount; cds++){
  650. if(ds_temp_lnkrecinfo_lnkreclist.getColumn(cds, "cd") == ds_main_ioinfo_iolist.getColumn(exva, "d_lnkrecflag")){
  651. sExprdpValue += "currow == "+exva+" && (self.col == "+(grd_ioinfo.getBindCellIndex("body","d_lnkrecflag")) +") ? 'combo' : ";
  652. sExpredValue += "currow == "+exva+" && (self.col == "+(grd_ioinfo.getBindCellIndex("body","d_lnkrecflag")) +") ? 'combo' : ";
  653. }
  654. if(ds_temp_lnkrecinfo_lnkreclist.getColumn(cds, "cd") == ds_main_ioinfo_iolist.getColumn(exva, "e_lnkrecflag")){
  655. sExprdpValue += "currow == "+exva+" && (self.col == "+(grd_ioinfo.getBindCellIndex("body","e_lnkrecflag")) +") ? 'combo' : ";
  656. sExpredValue += "currow == "+exva+" && (self.col == "+(grd_ioinfo.getBindCellIndex("body","e_lnkrecflag")) +") ? 'combo' : ";
  657. }
  658. if(ds_temp_lnkrecinfo_lnkreclist.getColumn(cds, "cd") == ds_main_ioinfo_iolist.getColumn(exva, "n_lnkrecflag")){
  659. sExprdpValue += "currow == "+exva+" && (self.col == "+(grd_ioinfo.getBindCellIndex("body","n_lnkrecflag")) +") ? 'combo' : ";
  660. sExpredValue += "currow == "+exva+" && (self.col == "+(grd_ioinfo.getBindCellIndex("body","n_lnkrecflag")) +") ? 'combo' : ";
  661. }
  662. }
  663. }
  664. sExprdpValue += "'normal')";
  665. sExpredValue += "'none')";
  666. grd_ioinfo.setCellProperty("Body", grd_ioinfo.getBindCellIndex("body","d_lnkrecflag"), "displaytype", sExprdpValue);
  667. grd_ioinfo.setCellProperty("Body", grd_ioinfo.getBindCellIndex("body","d_lnkrecflag"), "edittype", sExpredValue);
  668. grd_ioinfo.setCellProperty("Body", grd_ioinfo.getBindCellIndex("body","e_lnkrecflag"), "displaytype", sExprdpValue);
  669. grd_ioinfo.setCellProperty("Body", grd_ioinfo.getBindCellIndex("body","e_lnkrecflag"), "edittype", sExpredValue);
  670. grd_ioinfo.setCellProperty("Body", grd_ioinfo.getBindCellIndex("body","n_lnkrecflag"), "displaytype", sExprdpValue);
  671. grd_ioinfo.setCellProperty("Body", grd_ioinfo.getBindCellIndex("body","n_lnkrecflag"), "edittype", sExpredValue);
  672. }
  673. /**
  674. * @group :
  675. * @ver : 2009.07.01
  676. * @by : 김홍점
  677. * @---------------------------------------------------
  678. * @type : function
  679. * @access : public
  680. * @desc : 메모저장, 메모삭제
  681. * @param :PFlag : D - 메모삭제 , S - 저장
  682. * @return :
  683. * @---------------------------------------------------
  684. */
  685. function fMedrMomoSave(pFlag){
  686. alert("메모저장 안쓰는것 같음");return;
  687. /*
  688. var saveHearder = "m▦memocnts▦pid▦memoitemflag▦seqno▦recdd_b▦rectm_b▦recdd▦rectm▦indd▦cretno▩";
  689. var saveData = "";
  690. var status = "";
  691. if ( utlf_isNull(ds_main_cond.getColumn(0, "pid")) ) {
  692. sysf_messageBox("해당 환자가 선택되지", "E007");
  693. return;
  694. } else {
  695. model.removeNodeset("/root/send/savedata");
  696. model.makeNode("/root/send/savedata");
  697. model.makeValue("/root/send/savedata/condinfo/wardcd", model.getValue(xPathCondInfo + "/wardcd"));
  698. model.makeValue("/root/send/savedata/condinfo/pid", model.getValue(xPathCondInfo + "/pid"));
  699. model.makeValue("/root/send/savedata/condinfo/indd", model.getValue(xPathCondInfo + "/orddd"));
  700. model.makeValue("/root/send/savedata/condinfo/cretno", model.getValue(xPathCondInfo + "/cretno"));
  701. model.makeValue("/root/send/savedata/condinfo/orddd", model.getValue(xPathCondInfo + "/seardd"));
  702. model.makeValue("/root/send/savedata/condinfo/seardd", model.getValue(xPathCondInfo + "/seardd"));
  703. model.makeValue("/root/send/savedata/condinfo/memoitemflag", "08");
  704. if( pFlag =="D"){
  705. saveData = "d" + "▦"
  706. + "" + "▦"
  707. + model.getValue(xPathCondInfo + "/pid") + "▦"
  708. + "08" + "▦"
  709. + model.getValue(xPathMemoInfo + "/seqno") + "▦"
  710. + model.getValue(xPathMemoInfo + "/recdd_b") + "▦"
  711. + model.getValue(xPathMemoInfo + "/rectm_b") + "▦"
  712. + model.getValue(xPathMemoInfo + "/recdd_b") + "▦"
  713. + model.getValue(xPathMemoInfo + "/rectm_b") + "▦"
  714. + model.getValue(xPathCondInfo + "/orddd") + "▦"
  715. + model.getValue(xPathCondInfo + "/cretno") + "▩";
  716. model.makeValue("/root/send/savedata/memoinfo",saveHearder+saveData);
  717. model.resetInstanceNode(xPathMemoInfo);
  718. if(submit("TXMNR05801","false")){
  719. messageBox("성공적으로", "I001");
  720. }
  721. }else{
  722. if ( isNull(model.getValue(xPathMemoInfo + "/memocnts")) ){
  723. messageBox("저장할 메모를", "C001");//" 입력하십시오."
  724. return;
  725. }
  726. if(isNull(model.getValue(xPathMemoInfo+"/status"))){
  727. status="i";
  728. saveData = status + "▦"
  729. + model.getValue(xPathMemoInfo+"/memocnts") + "▦"
  730. + model.getValue(xPathCondInfo + "/pid") + "▦"
  731. + "08" + "▦"
  732. + model.getValue(xPathMemoInfo + "/seqno") + "▦"
  733. + model.getValue(xPathMemoInfo + "/recdd_b") + "▦"
  734. + model.getValue(xPathMemoInfo + "/rectm_b") + "▦"
  735. + model.getValue(xPathCondInfo + "/seardd") + "▦"
  736. + "0000▦"
  737. + model.getValue(xPathCondInfo + "/orddd") + "▦"
  738. + model.getValue(xPathCondInfo + "/cretno") + "▩";
  739. }else{
  740. status="u";
  741. saveData = status + "▦"
  742. + model.getValue(xPathMemoInfo+"/memocnts") + "▦"
  743. + model.getValue(xPathCondInfo + "/pid") + "▦"
  744. + "08" + "▦"
  745. + model.getValue(xPathMemoInfo + "/seqno") + "▦"
  746. + model.getValue(xPathMemoInfo + "/recdd_b") + "▦"
  747. + model.getValue(xPathMemoInfo + "/rectm_b") + "▦"
  748. + model.getValue(xPathMemoInfo + "/recdd_b") + "▦"
  749. + model.getValue(xPathMemoInfo + "/rectm_b") + "▦"
  750. + model.getValue(xPathCondInfo + "/orddd") + "▦"
  751. + model.getValue(xPathCondInfo + "/cretno") + "▩";
  752. }
  753. model.makeValue("/root/send/savedata/memoinfo",saveHearder+saveData);
  754. model.resetInstanceNode(xPathMemoInfo);
  755. if(submit("TXMNR05801","false")){
  756. messageBox("성공적으로", "I001");
  757. }
  758. }
  759. }
  760. */
  761. }
  762. ]]></Script>