SPMRF05200.xjs 84 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[var delayTime = "";
  3. var saveCnt = "";
  4. var saveState = "";
  5. var lgv_Foldernm = system.convertRealPath("%MYDOCUMENT%") + "\KU20\\grthimage";
  6. var lgv_Auth = false;
  7. function fInitialize(){
  8. saveCnt = "0";
  9. ds_grth.clearData();
  10. ds_labor.clearData();
  11. //20110808
  12. lf_getHardCDList("N", 5555, 0 , ds_init_dept_hardcd); //성장곡선관련 진료과
  13. //20110808
  14. group6.group5.cboIoflag.index = 0;
  15. frmf_inputEnterKey("group6.group5.cboIoflag", "onitemchanged", new ItemChangeEventInfo);
  16. var sPamInfo = sysf_getGlobalVariable("paminfo");
  17. dsf_setCSVToDs("ds_pamlist", sPamInfo);
  18. var sPID = ds_pamlist.getColumn(0,"pid");
  19. var hngnm = ds_pamlist.getColumn(0,"hngnm");
  20. var brthdd = ds_pamlist.getColumnInfo("brthdd") == null ? '' : ds_pamlist.getColumn(0,"brthdd");
  21. var rrgstno1 = utlf_transNullToEmpty(ds_pamlist.getColumn(0,"rrgstno1"));
  22. if(utlf_isNull(brthdd)){
  23. if(!utlf_isNull(sPID)){
  24. var temp = rrgstno1.substr(0,2);
  25. if(parseInt(temp) > 50){
  26. brthdd = "19"+rrgstno1;
  27. }
  28. else{
  29. brthdd = "20"+rrgstno1;
  30. }
  31. }
  32. }
  33. var sex = ds_pamlist.getColumn(0,"sex");
  34. var orddeptcd = ds_pamlist.getColumn(0,"orddeptcd");
  35. ds_send.setColumn(0,"pid", sPID);
  36. ds_cond.setColumn(0,"hngnm", hngnm);
  37. ds_cond.setColumn(0,"sex", sex);
  38. if(!utlf_isNull(sPID)){
  39. ds_cond.setColumn(0,"rrgstno1", rrgstno1+"-*******");
  40. }
  41. ds_send.setColumn(0,"orgbrthdd", brthdd);
  42. var userid = sysf_getUserInfo("userid");
  43. var userDept = sysf_getUserInfo("dutplcecd");
  44. //2012/02/20 Start 칠곡 내분비대사센터에서 소아청소년과의 성장곡선을 오픈시 과코드를 변경
  45. if(sysf_getUserInfo("dutplceinstcd")=="032" && sysf_getUserInfo("dutplcecd")=="2363400000"){ //<-- 칠곡이면서 내분비대사센터로 로그인시
  46. userDept="2110000000"; //<-- 소아청소년과
  47. }
  48. //2012/02/20 End
  49. //2013/05/13 Start 칠곡 어린이병원 외래센터에서 소아청소년과의 성장곡선을 오픈시 과코드를 변경
  50. if(sysf_getUserInfo("dutplceinstcd")=="032" && sysf_getUserInfo("dutplcecd")=="2880000000"){ //<-- 칠곡이면서 어린이병원외래센터로 로그인시
  51. userDept="2110000000"; //<-- 소아청소년과
  52. }
  53. //2013/05/13 End
  54. //2014/03/06 Start 칠곡 발달재활센터에서 로그인시 과코드를 변경
  55. if(sysf_getUserInfo("dutplceinstcd")=="032" && sysf_getUserInfo("dutplcecd")=="2990000000"){ //<-- 칠곡이면서 어린이병원외래센터로 로그인시
  56. userDept="2110000000"; //<-- 소아청소년과
  57. }
  58. //2014/04/01 Start
  59. /*
  60. 소아청소년 내분비 2112300000
  61. 소아청소년 소화기영양 2112400000
  62. 소아청소년 신경 2112500000
  63. 신생아 2110500000
  64. 소아청소년 신장 2112600000
  65. 소아청소년 심장 2112700000
  66. 소아 알레르기 호흡기 2112800000
  67. 소아청소년 혈액종양 2112900000
  68. */
  69. if(sysf_getUserInfo("dutplceinstcd")=="032" && (sysf_getUserInfo("dutplcecd")=="2112300000" || sysf_getUserInfo("dutplcecd")=="2112400000" || sysf_getUserInfo("dutplcecd")=="2112500000" || sysf_getUserInfo("dutplcecd")=="2110500000" ||
  70. sysf_getUserInfo("dutplcecd")=="2112600000" || sysf_getUserInfo("dutplcecd")=="2112700000" || sysf_getUserInfo("dutplcecd")=="2112800000" || sysf_getUserInfo("dutplcecd")=="2112900000")){
  71. userDept="2110000000"; //<-- 소아청소년과
  72. }
  73. // 저장 버튼 권한관리
  74. /*
  75. 2110000000 소아청소년과
  76. 2030000000 정신건강의학과
  77. 2070000000 흉부외과
  78. 3050146000 302 병동
  79. 2100000000 산부인과
  80. 2120000000 안과
  81. 2220000000 재활의학과 (20180529)
  82. */
  83. switch(userDept){
  84. case "2110000000":
  85. case "2030000000":
  86. case "2070000000":
  87. case "3050146000":
  88. case "2220000000":
  89. case "2110201000":
  90. group6.switch1.case_grth.button7.enable = true;
  91. group6.switch1.case_grth.button8.enable = true;
  92. lf_setTabPageVisble(group6.switch1, "case_labor", false);
  93. lgv_Auth = true;
  94. break;
  95. // case "2100000000":
  96. // group6.switch1.case_labor.button13.disabled = false;
  97. // group6.switch1.case_labor.button15.disabled = false;
  98. // lf_setTabPageVisble(group6.switch1, "case_grth", false);
  99. // break;
  100. default:
  101. lf_setTabPageVisble(group6.switch1, "case_labor", false);
  102. break;
  103. }
  104. if(userDept=="3050146000"){
  105. ds_send.setColumn(0,"orddeptcd", "2030000000");
  106. }else if(userDept=="2070000000"){
  107. ds_send.setColumn(0,"orddeptcd", "2070000000");
  108. }else{
  109. ds_send.setColumn(0,"orddeptcd", userDept);
  110. }
  111. // 미비 Popup시 화면 설정
  112. var unprepflag = opener.frmf_getParameter("unprepflag");
  113. if(unprepflag == "Y"){
  114. ds_send.setColumn(0,"orddeptcd", "2100000000");
  115. }
  116. // 성장도표, Labor note, 100 Hue test 선택
  117. orddeptcd = ds_send.getColumn(0,"orddeptcd");
  118. switch(orddeptcd){
  119. case "2110000000":
  120. case "2030000000":
  121. case "2070000000":
  122. case "2220000000":
  123. case "2110201000":
  124. ds_send.setColumn(0,"flag", "1");
  125. //group6.switch2.removeTabpage(4);
  126. group6.switch2.enableredraw = false;
  127. lf_setTabPageVisble(group6.switch2, "case5", false);
  128. group6.switch2.enableredraw = true;
  129. break;
  130. // case "2100000000":
  131. // ds_send.setColumn(0,"flag", "2");
  132. // group6.switch2.enableredraw = false;
  133. // lf_setTabPageVisble(group6.switch2, "case4", false);
  134. // lf_setTabPageVisble(group6.switch2, "case3", false);
  135. // lf_setTabPageVisble(group6.switch2, "case2", false);
  136. // lf_setTabPageVisble(group6.switch2, "case1", false);
  137. // group6.switch2.enableredraw = true;
  138. // break;
  139. default:
  140. group6.switch2.enableredraw = false;
  141. lf_setTabPageVisble(group6.switch2, "case4", false);
  142. lf_setTabPageVisble(group6.switch2, "case3", false);
  143. lf_setTabPageVisble(group6.switch2, "case2", false);
  144. lf_setTabPageVisble(group6.switch2, "case1", false);
  145. group6.switch2.enableredraw = true;
  146. break;
  147. }
  148. //model.setValue("/root/rec/send/formflag", model.getValue("/root/send/flag"));
  149. if(utlf_isNull(sPID) && userid == "DEVB08"){
  150. ds_send.setColumn(0,"pid", "18942082");
  151. }
  152. //model.setValue("/root/rec/send/fromdd", getDateAddc(getCurrentDate(), -365));
  153. //model.setValue("/root/rec/send/todd", getCurrentDate());
  154. ds_init_orddd.clearData();
  155. var oParam = {};
  156. oParam.id = "TRMRF05201";
  157. oParam.service = "formmngtapp.GrphMngt";
  158. oParam.method = "reqGetOrddd";
  159. oParam.inds = "req=ds_send";
  160. oParam.outds = "ds_init_orddd=orddd";
  161. oParam.async = false;
  162. tranf_submit(oParam);
  163. var nodeCnt = ds_init_orddd.rowcount;
  164. // 상단정보 받았을때 진료일자 선택 부분
  165. if(nodeCnt > 0){
  166. var ioflag = ds_pamlist.getColumn(0,"ioflag");
  167. var orddd;
  168. if(ioflag == "I"){
  169. orddd = ds_pamlist.getColumn(0,"indd");
  170. }
  171. else if(ioflag == "O"){
  172. orddd =ds_pamlist.getColumn(0,"orddd");
  173. }
  174. var rowcnt = "";
  175. for( i = 0; i < nodeCnt; i++ ){
  176. var ordtype = ds_init_orddd.getColumn(i,"ordtype");
  177. var dd = ds_init_orddd.getColumn(i,"orddd");
  178. if( ioflag == ordtype && orddd == dd){
  179. rowcnt = ds_init_orddd.getColumn(i,"rowcnt");
  180. }
  181. }
  182. if(!utlf_isNull(rowcnt)){
  183. ds_send.setColumn(0,"ordd", rowcnt);
  184. }else {
  185. //group6.group5.cboOrddd.index = 0;
  186. group6.group5.cboOrddd.value = ds_init_orddd.getColumn(0, "orddd");
  187. frmf_inputEnterKey("group6.group5.cboOrddd", "onitemchanged", new ItemChangeEventInfo);
  188. }
  189. }
  190. fCalcAge();
  191. // 그래프 선택
  192. fSelectGraph();
  193. //if(orddeptcd == "2110000000" || orddeptcd == "2030000000" || orddeptcd == "2070000000"){
  194. if( lgv_Auth == true ){
  195. fGetGrphData();
  196. ds_grth.enableevent = false;
  197. // 행추가
  198. var cur_row = ds_grth.addRow();
  199. var curDate = utlf_getCurrentDate();
  200. //var maskDate = curDate.substr(0, 4) + "-" + curDate.substr(4, 2) + "-" + curDate.substr(6, 2);
  201. ds_grth.setColumn(cur_row,"recdd", curDate);
  202. //20110811
  203. var time=utlf_getCurrentTime();
  204. ds_grth.setColumn(cur_row,"rectime", time.substring(0, 4));
  205. //20110811
  206. ds_grth.setColumn(cur_row,"seq", parseInt(cur_row) + 1);
  207. fCalcGrid();
  208. ds_grth.enableevent = true;
  209. // 출생 예정일
  210. var saveflag = "";
  211. saveflag = ds_send.getColumn(0,"saveflag");
  212. var year = ds_cond.getColumn(0,"year");
  213. var month = ds_cond.getColumn(0,"month");
  214. if (utlf_isNull(saveflag))
  215. {
  216. var result = -1;
  217. }
  218. else
  219. {
  220. var result = saveflag.indexOf("7");
  221. }
  222. if(result == "-1"){
  223. ds_send.setColumn(0,"brthschedd", "");
  224. group6.switch1.case_grth.input21.enable = false;
  225. }
  226. else {
  227. group6.switch1.case_grth.input21.enable = true;
  228. }
  229. if(utlf_isNull(saveflag)){
  230. // 25개월 이상 이면 2~18세 그래프 선택
  231. var sMonth = parseInt(year)*12 + parseInt(month);
  232. if(sMonth >24){
  233. ds_cond.setColumn(0,"chart", "2");
  234. //ds_cond.setColumn(0,"saveflag", "2");
  235. group6.switch1.case_grth.group1.checkbox1.setCheckAll(false);
  236. group6.switch1.case_grth.group1.checkbox1.setData(["2"]);
  237. group6.switch2.tabindex = 1;
  238. }
  239. else{
  240. ds_cond.setColumn(0,"chart", "1");
  241. //ds_cond.setColumn(0,"saveflag", "1");
  242. group6.switch1.case_grth.group1.checkbox1.setCheckAll(false);
  243. group6.switch1.case_grth.group1.checkbox1.setData(["1"]);
  244. group6.switch2.tabindex = 0;
  245. }
  246. }
  247. else{
  248. var vResult = saveflag.indexOf("1");
  249. var rslt = saveflag.indexOf("2");
  250. if(rslt != "-1"){
  251. ds_cond.setColumn(0,"chart", "2");
  252. group6.switch2.tabindex = 1;
  253. }else if(vResult != "-1"){
  254. ds_cond.setColumn(0,"chart", "1");
  255. group6.switch2.tabindex = 0;
  256. }
  257. }
  258. //var index = group6.group5.cboOrddd.index;
  259. var index = ds_init_orddd.getColumn(ds_init_orddd.rowposition, "rowcnt");
  260. if(!utlf_isNull(sPID) && nodeCnt > 0){
  261. var orddd = ds_init_orddd.getColumn(index-1,"orddd");
  262. var cretno = ds_init_orddd.getColumn(index-1,"cretno");
  263. var orddeptcd = ds_init_orddd.getColumn(index-1,"orddeptcd");
  264. var orddrid = ds_init_orddd.getColumn(index-1,"orddrid");
  265. var ordtype = ds_init_orddd.getColumn(index-1,"ordtype");
  266. ds_send.setColumn(0,"orddd", orddd);
  267. ds_send.setColumn(0,"cretno", cretno);
  268. ds_send.setColumn(0,"orddeptcd", orddeptcd);
  269. ds_send.setColumn(0,"orddrid", orddrid);
  270. ds_send.setColumn(0,"signgenrflag", ordtype);
  271. }
  272. fMakeChart();
  273. }else if(orddeptcd == "2100000000"){
  274. // fGetLaborData();
  275. // fMakeLaborGraph();
  276. }
  277. //2014/04/01 Start
  278. /*
  279. 소아청소년 내분비 2112300000
  280. 소아청소년 소화기영양 2112400000
  281. 소아청소년 신경 2112500000
  282. 신생아 2110500000
  283. 소아청소년 신장 2112600000
  284. 소아청소년 심장 2112700000
  285. 소아 알레르기 호흡기 2112800000
  286. 소아청소년 혈액종양 2112900000
  287. */
  288. if(sysf_getUserInfo("dutplceinstcd")=="032" && (sysf_getUserInfo("dutplcecd")=="2112300000" || sysf_getUserInfo("dutplcecd")=="2112400000" || sysf_getUserInfo("dutplcecd")=="2112500000" || sysf_getUserInfo("dutplcecd")=="2110500000" ||
  289. sysf_getUserInfo("dutplcecd")=="2112600000" || sysf_getUserInfo("dutplcecd")=="2112700000" || sysf_getUserInfo("dutplcecd")=="2112800000" || sysf_getUserInfo("dutplcecd")=="2112900000")){
  290. ds_send.setColumn(0,"orddeptcd", sysf_getUserInfo("dutplcecd"));
  291. }
  292. //2014/04/01 End
  293. zesf_InitSign();
  294. }
  295. function fMakeChart(){
  296. group6.TChart1.visible = false;
  297. inff_clearTChart(group6.TChart1);
  298. group6.TChart1.Axis.RemoveAllCustom();
  299. //TChart1.ClearChart();
  300. var graph = ds_cond.getColumn(0,"chart");
  301. var sex = ds_cond.getColumn(0,"sex");
  302. //margin 값 정하기
  303. group6.TChart1.Panel.MarginTop = 2;
  304. group6.TChart1.Panel.MarginLeft = 5;
  305. group6.TChart1.Panel.MarginRight = 7;
  306. group6.TChart1.Panel.MarginBottom = 3;
  307. // TChart1.Axis.Bottom.TickLength = 1010;
  308. //20110711 이정택 수정
  309. if(graph=="3" && sex=="M"){
  310. group6.TChart1.Panel.MarginTop = 2.8;
  311. group6.TChart1.Panel.MarginLeft = 6;
  312. group6.TChart1.Panel.MarginRight = 7;
  313. group6.TChart1.Panel.MarginBottom = 7.5;
  314. }else if(graph=="3" && sex=="F"){
  315. group6.TChart1.Panel.MarginTop = 2.5;
  316. group6.TChart1.Panel.MarginLeft = 6;
  317. group6.TChart1.Panel.MarginRight = 7.2;
  318. group6.TChart1.Panel.MarginBottom = 10;
  319. }else if(graph=="3" && utlf_isNull(sex)){
  320. group6.TChart1.Panel.MarginTop = 2.5;
  321. group6.TChart1.Panel.MarginLeft = 6;
  322. group6.TChart1.Panel.MarginRight = 7.2;
  323. group6.TChart1.Panel.MarginBottom = 10;
  324. }
  325. if(graph=="4" && sex=="M"){
  326. group6.TChart1.Panel.MarginTop = 2.8;
  327. group6.TChart1.Panel.MarginLeft = 6;
  328. group6.TChart1.Panel.MarginRight = 10.6;
  329. group6.TChart1.Panel.MarginBottom = 7;
  330. }else if(graph=="4" && sex=="F"){
  331. group6.TChart1.Panel.MarginTop = 2.5;
  332. group6.TChart1.Panel.MarginLeft = 5.9;
  333. group6.TChart1.Panel.MarginRight = 10.6;
  334. group6.TChart1.Panel.MarginBottom = 8;
  335. }else if(graph=="4" && utlf_isNull(sex)){
  336. group6.TChart1.Panel.MarginTop = 2.5;
  337. group6.TChart1.Panel.MarginLeft = 5.9;
  338. group6.TChart1.Panel.MarginRight = 10.6;
  339. group6.TChart1.Panel.MarginBottom = 8;
  340. }
  341. //20110711 이정택 수정
  342. //하단축 칸 수 정하기와 눈금 없애기
  343. if(graph == "2" || graph == "3" || graph == "5"){
  344. group6.TChart1.Axis.Bottom.SetMinMax (2, 18.5); //7일 동안 좌표를 표현 (하루는 DivPerDay만큼 나눠짐)
  345. group6.TChart1.Axis.Bottom.Increment = 1;
  346. }
  347. else if (graph == "1" || graph == "4"){
  348. group6.TChart1.Axis.Bottom.SetMinMax (0, 36); //7일 동안 좌표를 표현 (하루는 DivPerDay만큼 나눠짐)
  349. group6.TChart1.Axis.Bottom.Increment = 3;
  350. }
  351. group6.TChart1.Axis.Bottom.MinorTickCount = 1;
  352. //TChart1.Axis.Bottom.Title.Caption = "개월";
  353. group6.TChart1.Axis.Bottom.AxisPen.Color = 0x000000;
  354. //TChart1.Axis.Bottom.GridPen.Color = 0x000000; //축 점선의 색 설정
  355. group6.TChart1.Axis.Bottom.Labels.Font.Color = 0x000000; //하단 축 눈금 명칭 색
  356. group6.TChart1.Header.Visible = false;
  357. //TChart1.Header.Text(0)="성장도표"; //헤더제목넣기
  358. group6.TChart1.Header.Font.Bold = true; //헤더 굵게
  359. group6.TChart1.Header.Font.Size = 5; //헤더 사이즈
  360. group6.TChart1.Aspect.View3D = 0; //2d 로 표현하기
  361. //TChart1.Aspect.Chart3DPercent = 2;
  362. group6.TChart1.Zoom.Enable = false; // zoom 사용하지 않기
  363. group6.TChart1.Scroll.Enable = false; // scroll 사용하지 않기
  364. group6.TChart1.Legend.Visible = false; // 그래프 참조 박스 띄우지 않기
  365. group6.TChart1.Environment.MouseWheelScroll = false;
  366. //TChart1.Panel.Gradient.Visible = true; // 페널에 그라디언트 적용
  367. var cus_axis1 = group6.TChart1.Axis.AddCustom(false); // 신장축(2-18)
  368. group6.TChart1.Axis.get_Custom(0).Visible= false;
  369. group6.TChart1.Axis.get_Custom(0).AxisPen.Color = 0x147814;
  370. group6.TChart1.Axis.get_Custom(0).Title.Visible = false;
  371. group6.TChart1.Axis.get_Custom(0).Title.Caption = "신장"
  372. group6.TChart1.Axis.get_Custom(0).Title.Font.Size = 8;
  373. group6.TChart1.Axis.get_Custom(0).Title.Angle = 90;
  374. group6.TChart1.Axis.get_Custom(0).PositionPercent = 0;
  375. group6.TChart1.Axis.get_Custom(0).StartPosition = 0;
  376. group6.TChart1.Axis.get_Custom(0).EndPosition = 100;
  377. group6.TChart1.Axis.get_Custom(0).Automatic = false;
  378. group6.TChart1.Axis.get_Custom(0).Maximum = 190;
  379. group6.TChart1.Axis.get_Custom(0).Minimum = 60;
  380. group6.TChart1.Axis.get_Custom(0).Increment = 5;
  381. var cus_axis2 = group6.TChart1.Axis.AddCustom(false); // 체중축(2-18)
  382. group6.TChart1.Axis.get_Custom(1).Visible = false;
  383. group6.TChart1.Axis.get_Custom(1).AxisPen.Color = 0x00ff00;
  384. group6.TChart1.Axis.get_Custom(1).Title.Visible = false;
  385. group6.TChart1.Axis.get_Custom(1).Title.Caption = "체중";
  386. group6.TChart1.Axis.get_Custom(1).Title.Font.Size = 8;
  387. // TChart1.Axis.Custom(1).Title.Font.Bold = true;
  388. group6.TChart1.Axis.get_Custom(1).Title.Angle = 90;
  389. group6.TChart1.Axis.get_Custom(1).PositionPercent = 106;
  390. group6.TChart1.Axis.get_Custom(1).Automatic = false;
  391. group6.TChart1.Axis.get_Custom(1).Maximum = 135;
  392. group6.TChart1.Axis.get_Custom(1).Minimum = 5;
  393. group6.TChart1.Axis.get_Custom(1).Increment = 5;
  394. var cus_axis3 = group6.TChart1.Axis.AddCustom(false); // 신장축(0-36)
  395. group6.TChart1.Axis.get_Custom(2).Visible = false;
  396. group6.TChart1.Axis.get_Custom(2).AxisPen.Color = 0x147814;
  397. group6.TChart1.Axis.get_Custom(2).Title.Visible = false;
  398. group6.TChart1.Axis.get_Custom(2).Title.Caption = "신장";
  399. group6.TChart1.Axis.get_Custom(2).Title.Font.Size = 8;
  400. // TChart1.Axis.Custom(1).Title.Font.Bold = true;
  401. group6.TChart1.Axis.get_Custom(2).Title.Angle = 90;
  402. group6.TChart1.Axis.get_Custom(2).PositionPercent = 0;
  403. group6.TChart1.Axis.get_Custom(2).Automatic = false;
  404. group6.TChart1.Axis.get_Custom(2).Maximum = 105;
  405. group6.TChart1.Axis.get_Custom(2).Minimum = -10;
  406. group6.TChart1.Axis.get_Custom(2).Increment = 5;
  407. var cus_axis4 = group6.TChart1.Axis.AddCustom(false); // 체중축(0-36)
  408. group6.TChart1.Axis.get_Custom(3).Visible = false;
  409. group6.TChart1.Axis.get_Custom(3).AxisPen.Color = 0x00ff00;
  410. group6.TChart1.Axis.get_Custom(3).Title.Visible = false
  411. group6.TChart1.Axis.get_Custom(3).Title.Caption = "체중";
  412. group6.TChart1.Axis.get_Custom(3).Title.Font.Size = 8;
  413. // TChart1.Axis.Custom(1).Title.Font.Bold = true;
  414. group6.TChart1.Axis.get_Custom(3).Title.Angle = 90;
  415. group6.TChart1.Axis.get_Custom(3).PositionPercent = 100;
  416. group6.TChart1.Axis.get_Custom(3).Automatic = false;
  417. group6.TChart1.Axis.get_Custom(3).Maximum = 25;
  418. group6.TChart1.Axis.get_Custom(3).Minimum = 2;
  419. group6.TChart1.Axis.get_Custom(3).Increment = 1;
  420. var cus_axis5 = group6.TChart1.Axis.AddCustom(false); // 체질량축(2-18)
  421. group6.TChart1.Axis.get_Custom(4).AxisPen.Color = 0x00ff00;
  422. group6.TChart1.Axis.get_Custom(4).Title.Visible = false;
  423. group6.TChart1.Axis.get_Custom(4).Title.Caption = "체질량";
  424. group6.TChart1.Axis.get_Custom(4).Title.Font.Size = 8;
  425. // TChart1.Axis.Custom(1).Title.Font.Bold = true;
  426. group6.TChart1.Axis.get_Custom(4).Title.Angle = 90;
  427. group6.TChart1.Axis.get_Custom(4).PositionPercent = 0;
  428. group6.TChart1.Axis.get_Custom(4).Automatic = false;
  429. group6.TChart1.Axis.get_Custom(4).Maximum = 32;
  430. group6.TChart1.Axis.get_Custom(4).Minimum = 10;
  431. group6.TChart1.Axis.get_Custom(4).Increment = 2;
  432. var cus_axis6 = group6.TChart1.Axis.AddCustom(false); // 머리둘레축(0-36)
  433. group6.TChart1.Axis.get_Custom(5).AxisPen.Color = 0x00ff00;
  434. group6.TChart1.Axis.get_Custom(5).Title.Visible = false
  435. group6.TChart1.Axis.get_Custom(5).Title.Caption = "머리둘레";
  436. group6.TChart1.Axis.get_Custom(5).Title.Font.Size = 8;
  437. // TChart1.Axis.Custom(1).Title.Font.Bold = true;
  438. group6.TChart1.Axis.get_Custom(5).Title.Angle = 90;
  439. group6.TChart1.Axis.get_Custom(5).PositionPercent = 0;
  440. group6.TChart1.Axis.get_Custom(5).Automatic = false;
  441. group6.TChart1.Axis.get_Custom(5).Maximum = 58;
  442. group6.TChart1.Axis.get_Custom(5).Minimum = 30;
  443. group6.TChart1.Axis.get_Custom(5).Increment = 2;
  444. var cus_axis7 = group6.TChart1.Axis.AddCustom(false); // 흉부둘레축
  445. group6.TChart1.Axis.get_Custom(6).AxisPen.Color = 0x00ff00;
  446. group6.TChart1.Axis.get_Custom(6).Title.Visible = false;
  447. group6.TChart1.Axis.get_Custom(6).Title.Caption = "머리둘레";
  448. group6.TChart1.Axis.get_Custom(6).Title.Font.Size = 8;
  449. // TChart1.Axis.Custom(1).Title.Font.Bold = true;
  450. group6.TChart1.Axis.get_Custom(6).Title.Angle = 90;
  451. group6.TChart1.Axis.get_Custom(6).PositionPercent = 0;
  452. group6.TChart1.Axis.get_Custom(6).Automatic = false;
  453. group6.TChart1.Axis.get_Custom(6).Maximum = 66;
  454. group6.TChart1.Axis.get_Custom(6).Minimum = 25;
  455. group6.TChart1.Axis.get_Custom(6).Increment = 1;
  456. group6.TChart1.AddSeries (4);
  457. if(graph == "1"){
  458. group6.TChart1.AddSeries (4);
  459. }
  460. else if(graph == "2"){
  461. group6.TChart1.AddSeries (4);
  462. group6.TChart1.AddSeries (4);
  463. group6.TChart1.AddSeries (4);
  464. group6.TChart1.AddSeries (4);
  465. }
  466. if(graph == "1"){
  467. group6.TChart1.Series(0).VerticalAxisCustom = cus_axis3;
  468. group6.TChart1.Series(1).VerticalAxisCustom = cus_axis4;
  469. }else if(graph == "2"){
  470. group6.TChart1.Series(0).VerticalAxisCustom = cus_axis1;
  471. group6.TChart1.Series(1).VerticalAxisCustom = cus_axis2;
  472. group6.TChart1.Series(2).VerticalAxisCustom = cus_axis1;
  473. group6.TChart1.Series(3).VerticalAxisCustom = cus_axis1;
  474. group6.TChart1.Series(4).VerticalAxisCustom = cus_axis1;
  475. group6.TChart1.Axis.Left.Automatic = false;
  476. group6.TChart1.Axis.Left.Labels.Visible = false;
  477. }else if(graph == "3"){
  478. group6.TChart1.Series(0).VerticalAxisCustom = cus_axis5;
  479. }else if(graph == "4" || graph == "5"){
  480. group6.TChart1.Series(0).VerticalAxisCustom = cus_axis6;
  481. }else if(graph == "6"){
  482. group6.TChart1.Series(0).VerticalAxisCustom = cus_axis7;
  483. }
  484. //라인의 굵기를 정해준다.
  485. if(graph == "1"){
  486. group6.TChart1.Series(0).Color = 0x147814;
  487. group6.TChart1.Series(1).Color = 0x00ff00;
  488. }else if(graph == "2"){
  489. group6.TChart1.Series(0).Color = 0x147814;
  490. group6.TChart1.Series(1).Color = 0x00ff00;
  491. group6.TChart1.Series(2).Color = 0x0000ff;
  492. group6.TChart1.Series(3).Color = 0xff0000;
  493. group6.TChart1.Series(4).Color = 0x000000;
  494. }
  495. group6.TChart1.Series(0).asPoint.Pointer.Visible = true;
  496. group6.TChart1.Series(0).asPoint.Pointer.Style = 1;
  497. group6.TChart1.Series(0).asPoint.Pointer.VerticalSize = 3;
  498. group6.TChart1.Series(0).asPoint.Pointer.HorizontalSize = 3;
  499. group6.TChart1.Series(0).Marks.Visible = false;
  500. group6.TChart1.Series(0).Marks.Style = 0;
  501. group6.TChart1.Series(0).Marks.ArrowLength = 10;
  502. group6.TChart1.Series(0).Marks.Arrow.Style = 0;
  503. group6.TChart1.Series(0).Marks.Arrow.Color = 0x147814;
  504. if(graph == "1"){
  505. group6.TChart1.Series(1).asPoint.Pointer.Visible = true;
  506. group6.TChart1.Series(1).asPoint.Pointer.Style = 1;
  507. group6.TChart1.Series(1).asPoint.Pointer.VerticalSize = 3;
  508. group6.TChart1.Series(1).asPoint.Pointer.HorizontalSize = 3;
  509. group6.TChart1.Series(1).Marks.Visible = false;
  510. group6.TChart1.Series(1).Marks.Style = 0;
  511. group6.TChart1.Series(1).Marks.ArrowLength = 10;
  512. group6.TChart1.Series(1).Marks.Arrow.Style = 0;
  513. group6.TChart1.Series(1).Marks.Arrow.Color = 0x00ff00;
  514. }
  515. else if(graph == "2"){
  516. group6.TChart1.Series(1).asPoint.Pointer.Visible = true;
  517. group6.TChart1.Series(1).asPoint.Pointer.Style = 1;
  518. group6.TChart1.Series(1).asPoint.Pointer.VerticalSize = 3;
  519. group6.TChart1.Series(1).asPoint.Pointer.HorizontalSize = 3;
  520. group6.TChart1.Series(1).Marks.Visible = false;
  521. group6.TChart1.Series(1).Marks.Style = 0;
  522. group6.TChart1.Series(1).Marks.ArrowLength = 10;
  523. group6.TChart1.Series(1).Marks.Arrow.Style = 0;
  524. group6.TChart1.Series(1).Marks.Arrow.Color = 0x00ff00;
  525. group6.TChart1.Series(2).asPoint.Pointer.Visible = true;
  526. group6.TChart1.Series(2).asPoint.Pointer.Style = 10;
  527. group6.TChart1.Series(2).asPoint.Pointer.VerticalSize = 5;
  528. group6.TChart1.Series(2).asPoint.Pointer.HorizontalSize = 5;
  529. group6.TChart1.Series(2).Marks.Visible = false;
  530. group6.TChart1.Series(2).Marks.Style = 0;
  531. group6.TChart1.Series(2).Marks.ArrowLength = -40;
  532. group6.TChart1.Series(2).Marks.Arrow.Style = 0;
  533. group6.TChart1.Series(2).Marks.Arrow.Color = 0xff0000;
  534. group6.TChart1.Series(3).asPoint.Pointer.Visible = true;
  535. group6.TChart1.Series(3).asPoint.Pointer.Style = 10;
  536. group6.TChart1.Series(3).asPoint.Pointer.VerticalSize = 5;
  537. group6.TChart1.Series(3).asPoint.Pointer.HorizontalSize = 5;
  538. group6.TChart1.Series(3).Marks.Visible = false;
  539. group6.TChart1.Series(3).Marks.Style = 0;
  540. group6.TChart1.Series(3).Marks.ArrowLength = 40;
  541. group6.TChart1.Series(3).Marks.Arrow.Style = 0;
  542. group6.TChart1.Series(3).Marks.Arrow.Color = 0xff0000;
  543. group6.TChart1.Series(4).asPoint.Pointer.Visible = true;
  544. group6.TChart1.Series(4).asPoint.Pointer.Style = 10;
  545. group6.TChart1.Series(4).asPoint.Pointer.VerticalSize = 5;
  546. group6.TChart1.Series(4).asPoint.Pointer.HorizontalSize = 5;
  547. group6.TChart1.Series(4).Marks.Visible = false;
  548. group6.TChart1.Series(4).Marks.Style = 0;
  549. group6.TChart1.Series(4).Marks.ArrowLength = 20;
  550. group6.TChart1.Series(4).Marks.Arrow.Style = 0;
  551. group6.TChart1.Series(4).Marks.Arrow.Color = 0xff0000;
  552. }
  553. //var imgCd = "D:\\CMCOracle\\application\\webapps\\emr\\formmngtweb\\images\\filemenu_bg.jpg";
  554. switch(graph){
  555. case "1":
  556. if(sex == "M"){
  557. var imgCd = inff_getTChartBackgroundImage("boyheight1");
  558. }
  559. else{
  560. var imgCd = inff_getTChartBackgroundImage("girlheight1");
  561. }
  562. break;
  563. case "2":
  564. if(sex == "M"){
  565. var imgCd = inff_getTChartBackgroundImage("boyheight2");
  566. }
  567. else{
  568. var imgCd = inff_getTChartBackgroundImage("girlheight2");
  569. }
  570. break;
  571. case "3":
  572. if(sex == "M"){
  573. var imgCd = inff_getTChartBackgroundImage("boybmi");
  574. }
  575. else{
  576. var imgCd = inff_getTChartBackgroundImage("girlbmi");
  577. }
  578. break;
  579. case "4":
  580. if(sex == "M"){
  581. var imgCd = inff_getTChartBackgroundImage("boyhead1");
  582. }
  583. else{
  584. var imgCd = inff_getTChartBackgroundImage("girlhead1");
  585. }
  586. break;
  587. case "5":
  588. if(sex == "M"){
  589. var imgCd = inff_getTChartBackgroundImage("boyhead2");
  590. }
  591. else{
  592. var imgCd = inff_getTChartBackgroundImage("girlhead2");
  593. }
  594. break;
  595. case "6":
  596. if(sex == "M"){
  597. var imgCd = inff_getTChartBackgroundImage("boychst");
  598. }
  599. else{
  600. var imgCd = inff_getTChartBackgroundImage("girlchst");
  601. }
  602. break;
  603. }
  604. //setBackImageLoad(TChart1, imgCd);
  605. group6.TChart1.Panel.BackImageLoad(imgCd);
  606. //TChart1.Export.SaveToBitmapFile(getTChartBackgroundImage("boyheight1"));
  607. var x,y1,y2, y3, y4, y5, y6, temp;
  608. // 부모님신장 표시
  609. if(graph == "2"){
  610. group6.TChart1.Axis.Left.Title.Visible = false;
  611. group6.TChart1.Axis.Left.Automatic = false;
  612. var mh = ds_send.getColumn(0,"mht");
  613. var fh = ds_send.getColumn(0,"fht");
  614. var mph = ds_send.getColumn(0,"mpht");
  615. if(sex == "M"){
  616. mh = parseInt(parseFloat(mh) + 13);
  617. }
  618. else if(sex == "F"){
  619. fh = parseInt(parseFloat(fh) - 13);
  620. }
  621. if(!utlf_isNull(mh)){
  622. group6.TChart1.Series(2).AddXY (18, mh, "", group6.TChart1.Series(2).Color);
  623. //group6.TChart1.Series(2).Add (mh,18, group6.TChart1.Series(2).Color);
  624. }
  625. if(!utlf_isNull(fh)){
  626. group6.TChart1.Series(3).AddXY (18, fh, "", group6.TChart1.Series(3).Color);
  627. //group6.TChart1.Series(3).Add (fh, 18, group6.TChart1.Series(3).Color);
  628. }
  629. if(!utlf_isNull(mph)){
  630. group6.TChart1.Series(4).AddXY (18, mph, "", group6.TChart1.Series(4).Color);
  631. //group6.TChart1.Series(4).Add (mph, 18, group6.TChart1.Series(4).Color);
  632. group6.TChart1.Tools.Add(10);
  633. group6.TChart1.Tools.get_Items(0).asAnnotation.Text = mph;
  634. group6.TChart1.Tools.get_Items(0).asAnnotation.Shape.Top = 953-5*mph;
  635. group6.TChart1.Tools.get_Items(0).asAnnotation.Shape.Left = 517;
  636. var textRow = 1;
  637. }else if(utlf_isNull(mph)){
  638. var textRow = 0;
  639. }
  640. }
  641. var nodeCnt =ds_grth.rowcount;
  642. for( i = 0; i < nodeCnt; i++){
  643. if(graph == "1"){
  644. x = ds_grth.getColumn(i,"month"); //월령
  645. y1 = ds_grth.getColumn(i,"bdht"); // 신장
  646. y2 = ds_grth.getColumn(i,"bdwt"); // 체중
  647. if(x == 0){
  648. x = 0.3
  649. }
  650. if(!utlf_isNull(x) && !utlf_isNull(y1)){
  651. if(i==0){
  652. var f1=utlf_getDateInterval(ds_send.getColumn(0,"orgbrthdd"),ds_grth.getColumn(i,"recdd"), "dd");
  653. group6.TChart1.Series(0).AddXY (parseFloat(f1/(365*3)*36), y1, "", group6.TChart1.Series(0).Color);
  654. //group6.TChart1.Series(0).Add (y1,parseInt(parseFloat(f1/(365*3)*36)), group6.TChart1.Series(0).Color);
  655. }else{
  656. var f1=utlf_getDateInterval(ds_send.getColumn(0,"orgbrthdd"),ds_grth.getColumn(i,"recdd"), "dd");
  657. group6.TChart1.Series(0).AddXY (parseFloat(f1/(365*3)*36), y1, "", group6.TChart1.Series(0).Color);
  658. //group6.TChart1.Series(0).Add (y1,parseInt(parseFloat(f1/(365*3)*36)), group6.TChart1.Series(0).Color);
  659. }
  660. }
  661. if(!utlf_isNull(x) && !utlf_isNull(y2)){
  662. if(i==2){
  663. var f2=utlf_getDateInterval(ds_send.getColumn(0,"orgbrthdd"),ds_grth.getColumn(i,"recdd"), "dd");
  664. group6.TChart1.Series(1).AddXY (parseFloat(f2/(365*3)*36), y2, "", group6.TChart1.Series(1).Color);
  665. //group6.TChart1.Series(1).Add (y2, parseInt(parseFloat(f2/(365*3)*36)), group6.TChart1.Series(1).Color);
  666. }else{
  667. var f2=utlf_getDateInterval(ds_send.getColumn(0,"orgbrthdd"),ds_grth.getColumn(i,"recdd"), "dd");
  668. group6.TChart1.Series(1).AddXY (parseFloat(f2/(365*3)*36), y2, "", group6.TChart1.Series(1).Color);
  669. //group6.TChart1.Series(1).Add (y2, parseInt(parseFloat(f2/(365*3)*36)), group6.TChart1.Series(1).Color);
  670. }
  671. }
  672. }
  673. else if(graph == "2"){
  674. group6.TChart1.Axis.Left.Title.Visible = false;
  675. group6.TChart1.Axis.Left.Automatic = false;
  676. x = ds_grth.getColumn(i,"year") ; // 연령
  677. temp = ds_grth.getColumn(i,"month") ; // 월령
  678. temp = parseInt((temp % 12)/12*10);
  679. x = x+"."+temp;
  680. y1 = ds_grth.getColumn(i,"bdht") ; // 신장
  681. y2 = ds_grth.getColumn(i,"bdwt") ; // 체중
  682. var text = ds_grth.getColumn(i,"remark") ; // 비고
  683. if(!utlf_isNull(x) && !utlf_isNull(y1)){
  684. var s1=utlf_getDateInterval(ds_send.getColumn(0,"orgbrthdd"),ds_grth.getColumn(i,"recdd"), "dd");
  685. group6.TChart1.Series(0).AddXY (parseFloat(s1/(18*365)*18), y1, "", group6.TChart1.Series(0).Color);
  686. //group6.TChart1.Series(0).Add (y1, parseInt(parseFloat(s1/(18*365)*18)), group6.TChart1.Series(0).Color);
  687. }
  688. if(!utlf_isNull(x) && !utlf_isNull(y2)){
  689. var s2=utlf_getDateInterval(ds_send.getColumn(0,"orgbrthdd"),ds_grth.getColumn(i,"recdd"), "dd");
  690. group6.TChart1.Series(1).AddXY (parseFloat(s2/(18*365)*18), y2, "", group6.TChart1.Series(1).Color);
  691. }
  692. if(!utlf_isNull(text) && x>=2){
  693. group6.TChart1.Tools.Add(10);
  694. group6.TChart1.Tools.get_Items(textRow).asAnnotation.Text = text;
  695. group6.TChart1.Tools.get_Items(textRow).asAnnotation.Shape.Top = 900-y1*4;
  696. group6.TChart1.Tools.get_Items(textRow).asAnnotation.Shape.Left = x*29.2 -30;
  697. textRow++;
  698. }
  699. }
  700. //20110804
  701. if(graph == "3"){
  702. x = ds_grth.getColumn(i,"year"); //연령
  703. temp = ds_grth.getColumn(i,"month"); // 월령
  704. temp = parseInt((temp % 12)/12*10);
  705. x = x+"."+temp;
  706. y3 = ds_grth.getColumn(i,"bmi") ; // 체질량
  707. var f3=utlf_getDateInterval(ds_send.getColumn(0,"orgbrthdd"),ds_grth.getColumn(i,"recdd"), "dd");
  708. if(!utlf_isNull(x) && !utlf_isNull(y3)){
  709. group6.TChart1.Series(0).AddXY (parseFloat(f3/(18*365)*18), y3, "", group6.TChart1.Series(0).Color);
  710. }
  711. }
  712. //20110804
  713. if(graph == "4"){
  714. x = ds_grth.getColumn(i,"month"); //월령
  715. y4 = ds_grth.getColumn(i,"headgirth") ; // 머리둘레(0-36)
  716. var f4=utlf_getDateInterval(ds_send.getColumn(0,"orgbrthdd"),ds_grth.getColumn(i,"recdd"), "dd");
  717. if(!utlf_isNull(x) && !utlf_isNull(y4)){
  718. group6.TChart1.Series(0).AddXY (parseFloat(f4/(365*3)*36), y4, "", group6.TChart1.Series(0).Color);
  719. }
  720. }
  721. if(graph == "5"){
  722. x = ds_grth.getColumn(i,"year"); //연령
  723. temp = ds_grth.getColumn(i,"month"); // 월령
  724. temp = parseInt((temp % 12)/12*10);
  725. x = x+"."+temp;
  726. y5 = ds_grth.getColumn(i,"headgirth") ; // 머리둘레()
  727. if(!utlf_isNull(x) && !utlf_isNull(y5)){
  728. group6.TChart1.Series(0).AddXY (x, y5, "", group6.TChart1.Series(0).Color);
  729. }
  730. }
  731. if(graph == "6"){
  732. x = ds_grth.getColumn(i,"year"); //연령
  733. temp = ds_grth.getColumn(i,"month"); // 월령
  734. temp = parseInt((temp % 12)/12*10);
  735. x = x+"."+temp;
  736. y6 = ds_grth.getColumn(i,"chstgirth"); // 흉부둘레
  737. if(!utlf_isNull(x) && !utlf_isNull(y6)){
  738. group6.TChart1.Series(0).AddXY (x, y6, "", group6.TChart1.Series(0).Color);
  739. }
  740. }
  741. }
  742. group6.TChart2.visible = false;
  743. group6.TChart1.visible = true;
  744. //TChart1.Export.SaveToBitmapFile(getTChartBackgroundImage("boyheight2"));
  745. }
  746. function fCalcAge(){
  747. var orgdd = utlf_transNullToEmpty(ds_send.getColumn(0,"orgbrthdd"));
  748. var maskDate = orgdd.substr(0, 4) + "-" + orgdd.substr(4, 2) + "-" + orgdd.substr(6, 2);
  749. ds_send.setColumn(0,"maskbrth", maskDate);
  750. var schedd = ds_send.getColumn(0,"brthschedd");
  751. var diff = utlf_getDateInterval(orgdd, utlf_getCurrentDate());
  752. var diffSche = utlf_getDateInterval(utlf_getCurrentDate(), schedd);
  753. diffSche = 280 - parseInt(diffSche);
  754. var year = parseInt(parseInt(diff) / 365);
  755. var month = parseInt(diff) % 365;
  756. var week = parseInt(parseInt(diffSche) / 7);
  757. var day = parseInt(diffSche) % 7;
  758. if(month > 334){
  759. month = 11;
  760. }
  761. else if(month > 304){
  762. month = 10;
  763. }
  764. else if(month > 273){
  765. month = 9;
  766. }
  767. else if(month > 243){
  768. month = 8;
  769. }
  770. else if(month > 212){
  771. month = 7;
  772. }
  773. else if(month > 181){
  774. month = 6;
  775. }
  776. else if(month > 151){
  777. month = 5;
  778. }
  779. else if(month > 120){
  780. month = 4;
  781. }
  782. else if(month > 90){
  783. month = 3;
  784. }
  785. else if(month > 59){
  786. month = 2;
  787. }
  788. else if(month > 31){
  789. month = 1;
  790. }
  791. else{
  792. month=0;
  793. }
  794. if(!utlf_isNull(orgdd)){
  795. ds_cond.setColumn(0,"year", year);
  796. ds_cond.setColumn(0,"month", month);
  797. if(year>0){
  798. var age = year+"년 "+month+"개월";
  799. }else{
  800. var age = month+"개월";
  801. }
  802. ds_send.setColumn(0,"age", age);
  803. }
  804. if(!utlf_isNull(schedd)){
  805. ds_cond.setColumn(0,"week", week);
  806. ds_cond.setColumn(0,"day", day);
  807. }
  808. var year = ds_cond.getColumn(0,"year");
  809. var month = ds_cond.getColumn(0,"month");
  810. var saveflag = "";
  811. saveflag = ds_send.getColumn(0,"saveflag");
  812. if(utlf_isNull(saveflag)){
  813. // 24개월 이상 이면 2~18세 그래프 선택
  814. if((year >= 2 && month >=1) || year >2){
  815. ds_cond.setColumn(0,"chart", "2");
  816. ds_send.setColumn(0,"saveflag", "2");
  817. if( group6.switch1.components["case_grth"] != null ){
  818. group6.switch1.case_grth.group1.checkbox1.setCheckAll(false);
  819. group6.switch1.case_grth.group1.checkbox1.setData(["2"]);
  820. group6.switch2.tabindex = 1;
  821. }
  822. }
  823. else{
  824. ds_cond.setColumn(0,"chart", "1");
  825. ds_send.setColumn(0,"saveflag", "1");
  826. if( group6.switch1.components["case_grth"] != null ){
  827. group6.switch1.case_grth.group1.checkbox1.setCheckAll(false);
  828. group6.switch1.case_grth.group1.checkbox1.setData(["1"]);
  829. group6.switch2.tabindex = 0;
  830. }
  831. }
  832. }
  833. else{
  834. var result = saveflag.indexOf("1");
  835. var rslt = saveflag.indexOf("2");
  836. if(rslt != "-1"){
  837. ds_cond.setColumn(0,"chart", "2");
  838. group6.switch2.tabindex = 1;
  839. }else if(result != "-1"){
  840. ds_cond.setColumn(0,"chart", "1");
  841. group6.switch2.tabindex = 0;
  842. }
  843. }
  844. }
  845. function fSelectGraph(){
  846. var selIdx = group6.group5.cboOrddd.index;
  847. ds_init_orddd.clearData();
  848. var oParam = {};
  849. oParam.id = "TRMRF05201";
  850. oParam.service = "formmngtapp.GrphMngt";
  851. oParam.method = "reqGetOrddd";
  852. oParam.inds = "req=ds_send";
  853. oParam.outds = "ds_init_orddd=orddd";
  854. oParam.async = false;
  855. tranf_submit(oParam);
  856. var rowcnt = "";
  857. var nodeCnt = ds_init_orddd.rowcount;
  858. if(nodeCnt > 0){
  859. for( i = 0; i < nodeCnt; i++ ){
  860. var ordtype = ds_init_orddd.getColumn(i,"dschdd");
  861. var dschdd = ds_init_orddd.getColumn(i,"dschdd");
  862. if( dschdd == "재원중"){
  863. rowcnt = ds_init_orddd.getColumn(i,"rowcnt") ;
  864. }
  865. }
  866. if(!utlf_isNull(rowcnt)){
  867. ds_send.setColumn(0,"ordd", rowcnt);
  868. ds_send.setColumn(0,"orddd", ds_init_orddd.getColumn(rowcnt-1,"orddd"));
  869. ds_send.setColumn(0,"cretno", ds_init_orddd.getColumn(rowcnt-1,"cretno"));
  870. ds_send.setColumn(0,"orddrid", ds_init_orddd.getColumn(rowcnt-1,"orddrid"));
  871. ds_send.setColumn(0,"signgenrflag", ds_init_orddd.getColumn(rowcnt-1,"ordtype"));
  872. }
  873. else {
  874. if( selIdx != -1 ){
  875. group6.group5.cboOrddd.index = selIdx;
  876. }
  877. // group6.group5.cboOrddd.index = 0;
  878. // frmf_inputEnterKey("group6.group5.cboOrddd", "onitemchanged", new ItemChangeEventInfo);
  879. //combo2.select(0);
  880. }
  881. }
  882. var dept = ds_send.getColumn(0,"orddeptcd");
  883. //if(dept == "2110000000" || dept == "2030000000" || dept == "2070000000"){
  884. if(lgv_Auth == true || (dept == "2110000000" || dept == "2030000000" || dept == "2070000000")){
  885. //this.group6.switch1.removeTabpage(1);
  886. lf_setTabPageVisble(group6.switch1, "case_grth", true);
  887. lf_setTabPageVisble(group6.switch1, "case_labor", false);
  888. this.group6.switch1.tabindex = 0;
  889. group6.switch2.enableredraw = false;
  890. lf_setTabPageVisble(group6.switch2, "case1", true);
  891. lf_setTabPageVisble(group6.switch2, "case2", true);
  892. lf_setTabPageVisble(group6.switch2, "case3", true);
  893. lf_setTabPageVisble(group6.switch2, "case4", true);
  894. lf_setTabPageVisble(group6.switch2, "case5", false);
  895. group6.switch2.enableredraw = true;
  896. var graph = ds_cond.getColumn(0,"chart");
  897. switch(graph){
  898. case "1":
  899. this.group6.switch2.tabindex = 0;
  900. break;
  901. case "2":
  902. this.group6.switch2.tabindex = 1;
  903. break;
  904. case "3":
  905. this.group6.switch2.tabindex = 2;
  906. break;
  907. case "4":
  908. this.group6.switch2.tabindex = 3;
  909. break;
  910. }
  911. //fMakeChart();
  912. ds_send.setColumn(0,"flag", "1");
  913. }
  914. }
  915. function fGetGrphData(){
  916. var oParam = {};
  917. oParam.id = "TRMRF05202";
  918. oParam.service = "formmngtapp.GrphMngt";
  919. oParam.method = "reqGetGrthData";
  920. oParam.inds = "req=ds_send";
  921. oParam.outds = "ds_grth=grth ds_data_sign=sign";
  922. oParam.callback = "cf_TRMRF05202";
  923. oParam.async = false;
  924. tranf_submit(oParam);
  925. dsf_copyDs(ds_main_sign,ds_grth,"replace");
  926. //model.copyNode("/root/main/sign", "/root/main/grthlist/list");
  927. //model.removeNodeset("/root/main/grthlist/list/sign");
  928. var mh = ds_grth.getColumn(0,"mht");
  929. var fh = ds_grth.getColumn(0,"fht");
  930. var mph = ds_grth.getColumn(0,"mpht");
  931. var orgbrth = ds_grth.getColumn(0,"orgbrthdd");
  932. var brthschedd = ds_grth.getColumn(0,"brthschedd");
  933. var saveflag = ds_grth.getColumn(0,"saveflag");
  934. var fstrgstrnm = ds_grth.getColumn(0,"fstrgstrnm");
  935. var lastupdtrnm = ds_grth.getColumn(0,"lastupdtrnm");
  936. var signSave = ds_grth.getColumn(0,"signyn");
  937. saveState = signSave;
  938. if(signSave == "Y"){
  939. group6.switch1.case_grth.output1.value = "현재는 인증저장 상태입니다";
  940. }else if(!utlf_isNull(saveflag)){
  941. group6.switch1.case_grth.output1.value = "현재는 임시저장 상태입니다";
  942. }
  943. ds_send.setColumn(0,"mht", mh);
  944. ds_send.setColumn(0,"fht", fh);
  945. ds_send.setColumn(0,"mpht", mph);
  946. ds_send.setColumn(0,"fstrgstrnm", fstrgstrnm);
  947. ds_send.setColumn(0,"lastupdtrnm", lastupdtrnm);
  948. if(!utlf_isNull(orgbrth)){
  949. ds_send.setColumn(0,"orgbrthdd", orgbrth);
  950. var maskDate = orgbrth.substr(0, 4) + "-" + orgbrth.substr(4, 2) + "-" + orgbrth.substr(6, 2);
  951. ds_send.setColumn(0,"maskbrth", maskDate);
  952. var diff = utlf_getDateInterval(orgbrth, utlf_getCurrentDate());
  953. var year = parseInt(parseInt(diff) / 365);
  954. var month = parseInt(diff) % 365;
  955. if(month > 334){
  956. month = 11;
  957. }
  958. else if(month > 304){
  959. month = 10;
  960. }
  961. else if(month > 273){
  962. month = 9;
  963. }
  964. else if(month > 243){
  965. month = 8;
  966. }
  967. else if(month > 212){
  968. month = 7;
  969. }
  970. else if(month > 181){
  971. month = 6;
  972. }
  973. else if(month > 151){
  974. month = 5;
  975. }
  976. else if(month > 120){
  977. month = 4;
  978. }
  979. else if(month > 90){
  980. month = 3;
  981. }
  982. else if(month > 59){
  983. month = 2;
  984. }
  985. else if(month > 31){
  986. month = 1;
  987. }
  988. else{
  989. month=0;
  990. }
  991. ds_cond.setColumn(0,"year", year);
  992. ds_cond.setColumn(0,"month", month);
  993. if(year>0){
  994. var age = year+"년 "+month+"개월";
  995. }else{
  996. var age = month+"개월";
  997. }
  998. ds_send.setColumn(0,"age", age);
  999. }
  1000. if(!utlf_isNull(brthschedd)){
  1001. ds_send.setColumn(0,"brthschedd", brthschedd);
  1002. }
  1003. //if(saveflag != ""){
  1004. // ds_send.setColumn(0,"saveflag", saveflag);
  1005. //checkBox1 Init
  1006. group6.switch1.case_grth.group1.checkbox1.setCheckAll(false);
  1007. group6.switch1.case_grth.group1.checkbox1.setData(utlf_transNullToEmpty(saveflag).split(" "));
  1008. //}
  1009. }
  1010. function cf_TRMRF05202(sSvcId, nErrorCode, sErrorMsg) {
  1011. arErrorCode.push(sSvcId, nErrorCode);
  1012. ds_grth.enableevent = false;
  1013. for(var i=0; i< ds_grth.rowcount; i++)
  1014. {
  1015. var recdd = ds_grth.getColumn(i,"recdd");
  1016. ds_grth.setColumn(i,"recdd",recdd.replace("-",""));
  1017. }
  1018. ds_grth.enableevent = true;
  1019. }
  1020. function fSetPopupPat(){
  1021. ds_send.setColumn(0,"pid", utlf_transNullToEmpty(ds_patinfolist.getColumn(0,"pid")));
  1022. ds_cond.setColumn(0,"hngnm", utlf_transNullToEmpty(ds_patinfolist.getColumn(0,"hngnm")));
  1023. var rrgstno1 = utlf_transNullToEmpty(ds_patinfolist.getColumn(0,"rrgstno1"));
  1024. var rrgstno2 = utlf_transNullToEmpty(ds_patinfolist.getColumn(0,"rrgstno2"));
  1025. rrgstno1 = rrgstno1 +"-"+ rrgstno2.substr(0, 1) +"******";
  1026. ds_cond.setColumn(0,"rrgstno1", rrgstno1);
  1027. ds_cond.setColumn(0,"sex", utlf_transNullToEmpty(ds_patinfolist.getColumn(0,"sex")));
  1028. ds_send.setColumn(0,"orgbrthdd", utlf_transNullToEmpty(ds_patinfolist.getColumn(0,"brthdd")));
  1029. //model.setValue("/root/send/orddeptcd", model.getValue("/root/main/patinfo/patinfolist/lastorddeptcd"));
  1030. }
  1031. function fSetPopGraph(){
  1032. if( lgv_Expand == true ){
  1033. group6.switch1.case_grth.btn_grdsize.click();
  1034. }
  1035. popupflag = true;
  1036. fSetPopupPat();
  1037. saveCnt = "0";
  1038. ds_init_orddd.clearData();
  1039. var oParam = {};
  1040. oParam.id = "TRMRF05201";
  1041. oParam.service = "formmngtapp.GrphMngt";
  1042. oParam.method = "reqGetOrddd";
  1043. oParam.inds = "req=ds_send";
  1044. oParam.outds = "ds_init_orddd=orddd";
  1045. oParam.async = false;
  1046. tranf_submit(oParam);
  1047. var rowcnt = "", cnt="";
  1048. var nodeCnt = ds_init_orddd.rowcount;
  1049. if(nodeCnt > 0){
  1050. for( i = 0; i < nodeCnt; i++ ){
  1051. var ordtype = ds_init_orddd.getColumn(i,"dschdd");
  1052. var dschdd = ds_init_orddd.getColumn(i,"dschdd");
  1053. if( dschdd == "재원중"){
  1054. rowcnt = ds_init_orddd.getColumn(i,"rowcnt");
  1055. }
  1056. }
  1057. if(!utlf_isNull(rowcnt)){
  1058. ds_send.setColumn(0,"ordd", rowcnt);
  1059. ds_send.setColumn(0,"orddd", ds_init_orddd.getColumn(rowcnt-1,"orddd"));
  1060. ds_send.setColumn(0,"cretno", ds_init_orddd.getColumn(rowcnt-1,"cretno"));
  1061. //model.setValue("/root/send/orddeptcd", model.getValue("/root/init/orddd["+rowcnt+"]/orddeptcd"));
  1062. ds_send.setColumn(0,"orddrid", ds_init_orddd.getColumn(rowcnt-1,"orddrid"));
  1063. ds_send.setColumn(0,"signgenrflag", ds_init_orddd.getColumn(rowcnt-1,"ordtype"));
  1064. }else {
  1065. var lastdd = ds_patinfolist.getColumn(0,"lastorddd");
  1066. var lastdept = ds_patinfolist.getColumn(0,"lastorddeptcd");
  1067. var orddept = ds_send.getColumn(0,"orddeptcd");
  1068. for( i = 0; i < nodeCnt; i++ ){
  1069. var torddd = ds_init_orddd.getColumn(i,"orddd");
  1070. if( torddd == lastdd && lastdept == orddept){
  1071. cnt = ds_init_orddd.getColumn(i,"rowcnt");
  1072. }
  1073. }
  1074. if( !utlf_isNull(cnt) ){
  1075. ds_send.setColumn(0,"ordd", cnt);
  1076. ds_send.setColumn(0,"orddd", ds_init_orddd.getColumn(cnt-1,"orddd"));
  1077. ds_send.setColumn(0,"cretno", ds_init_orddd.getColumn(cnt-1,"cretno"));
  1078. ds_send.setColumn(0,"orddrid", ds_init_orddd.getColumn(cnt-1,"orddrid"));
  1079. ds_send.setColumn(0,"signgenrflag", ds_init_orddd.getColumn(cnt-1,"ordtype"));
  1080. } else {
  1081. group6.group5.cboOrddd.index = 0;
  1082. //group6.group5.cboOrddd.value = ds_init_orddd.getColumn(0, "orddd");
  1083. frmf_inputEnterKey("group6.group5.cboOrddd", "onitemchanged", new ItemChangeEventInfo);
  1084. ds_send.setColumn(0,"ordd", 1);
  1085. ds_send.setColumn(0,"orddd", ds_init_orddd.getColumn(0,"orddd"));
  1086. ds_send.setColumn(0,"cretno", ds_init_orddd.getColumn(0,"cretno"));
  1087. ds_send.setColumn(0,"orddrid", ds_init_orddd.getColumn(0,"orddrid"));
  1088. ds_send.setColumn(0,"signgenrflag", ds_init_orddd.getColumn(0,"ordtype"));
  1089. }
  1090. }
  1091. }
  1092. var tDept = ds_send.getColumn(0,"orddeptcd");
  1093. //if(tDept == "2110000000" || tDept == "2030000000" || tDept == "2070000000"){
  1094. if( lgv_Auth == true || (tDept == "2110000000" || tDept == "2030000000" || tDept == "2070000000")){
  1095. fGetGrphData();
  1096. fSelectGraph();
  1097. fCalcAge();
  1098. // 행추가
  1099. ds_grth.enableevent = false;
  1100. var cur_row = ds_grth.addRow();
  1101. var curDate =utlf_getCurrentDate();
  1102. //var maskDate = curDate.substr(0, 4) + "-" + curDate.substr(4, 2) + "-" + curDate.substr(6, 2);
  1103. ds_grth.setColumn(cur_row, "recdd", curDate);
  1104. ds_grth.setColumn(cur_row, "seq", parseInt(cur_row) + 1);
  1105. var time=utlf_getCurrentTime();
  1106. ds_grth.setColumn(cur_row,"rectime", time.substring(0, 4));
  1107. ds_grth.enableevent = true;
  1108. //20110811
  1109. fCalcGrid();
  1110. fMakeChart();
  1111. } else if(tDept == "2100000000"){
  1112. // fGetLaborData();
  1113. // fMakeLaborGraph();
  1114. }
  1115. popupflag = false;
  1116. }
  1117. function fCalcGrid(){
  1118. var cur_row = ds_grth.rowposition;
  1119. var recdd = ds_grth.getColumn(cur_row,"recdd");
  1120. //recdd = curDate.substr(0, 4) + "-" + curDate.substr(4, 2) + "-" + recdd.substr(6, 2);
  1121. var ht = ds_grth.getColumn(cur_row,"bdht");
  1122. var wt = ds_grth.getColumn(cur_row,"bdwt");
  1123. var orgdd = ds_send.getColumn(0,"orgbrthdd");
  1124. var schedd = ds_send.getColumn(0,"brthschedd");
  1125. var diff = utlf_getDateInterval(orgdd, recdd);
  1126. var diffSche = utlf_getDateInterval(utlf_getCurrentDate(), schedd);
  1127. var year = parseInt(parseInt(diff) / 365);
  1128. var month = parseInt(diff) % 365;
  1129. var week = parseInt(parseInt(diffSche) / 7);
  1130. var day = parseInt(diffSche) % 7;
  1131. if(month > 334){
  1132. month = 11;
  1133. }
  1134. else if(month > 304){
  1135. month = 10;
  1136. }
  1137. else if(month > 273){
  1138. month = 9;
  1139. }
  1140. else if(month > 243){
  1141. month = 8;
  1142. }
  1143. else if(month > 212){
  1144. month = 7;
  1145. }
  1146. else if(month > 181){
  1147. month = 6;
  1148. }
  1149. else if(month > 151){
  1150. month = 5;
  1151. }
  1152. else if(month > 120){
  1153. month = 4;
  1154. }
  1155. else if(month > 90){
  1156. month = 3;
  1157. }
  1158. else if(month > 59){
  1159. month = 2;
  1160. }
  1161. else if(month > 31){
  1162. month = 1;
  1163. }
  1164. else{
  1165. month=0;
  1166. }
  1167. var temp = parseFloat(wt)/((parseFloat(ht)*(parseFloat(ht)*0.0001)));
  1168. var temp2 = Math.pow(( parseFloat(wt) * parseFloat(ht)) / 3600, 0.5 );
  1169. if(!utlf_isNull(ht) && !utlf_isNull(wt)){
  1170. ds_grth.setColumn(cur_row, "bmi", parseFloat(temp).toFixed(2));
  1171. ds_grth.setColumn(cur_row, "bsa", parseFloat(temp2).toFixed(2));
  1172. }
  1173. ds_grth.setColumn(cur_row, "year", year);
  1174. ds_grth.setColumn(cur_row, "month", parseInt(year)*12+parseInt(month));
  1175. if(year>0){
  1176. year = year+"년 "+month+"개월";
  1177. }else{
  1178. year = month+"개월";
  1179. }
  1180. ds_grth.setColumn(cur_row, "yearmonth", year);
  1181. if(!utlf_isNull(schedd)){
  1182. ds_grth.setColumn(cur_row, "week", week);
  1183. var gatext = week + "주" + day + "일";
  1184. ds_grth.setColumn(cur_row, "gatext", gatext);
  1185. }
  1186. }
  1187. function fCalcMph(){
  1188. var mh = parseInt(ds_send.getColumn(0,"mht"));
  1189. var fh = parseInt(ds_send.getColumn(0,"fht"));
  1190. var sex = ds_cond.getColumn(0,"sex");
  1191. if(mh != mh || fh != fh){
  1192. }else{
  1193. if(sex == "M"){
  1194. ds_send.setColumn(0,"mpht", (mh+fh+13)/2);
  1195. }
  1196. if(sex == "F"){
  1197. ds_send.setColumn(0,"mpht", (mh+fh-13)/2);
  1198. }
  1199. }
  1200. }
  1201. function getDateAddc(inputday,addend){
  1202. var backDate ="";
  1203. var rt = 0;
  1204. var yyyy = inputday.substring(0,4) +"";
  1205. var mm = inputday.substring(4,6) +"";
  1206. var dd = inputday.substring(6,8) +"";
  1207. var startDate = new Date(yyyy,(eval(mm)-1),dd);
  1208. startDate.setTime(startDate.getTime()+(86400000*addend));
  1209. NowYear = startDate.getYear();// 년
  1210. NowMonth = startDate.getMonth()+1;// 월
  1211. NowDay = startDate.getDate(); // 일
  1212. backDate += NowYear ; //년도
  1213. if (NowMonth < 10 ) backDate += "0" + NowMonth ;
  1214. else backDate += (startDate.getMonth() + 1);
  1215. if (NowDay < 10 ) backDate += "0" + NowDay ;
  1216. else backDate += (startDate.getDate());
  1217. return backDate ;
  1218. }
  1219. function fCalcGa(){
  1220. var edc = ds_labor_send.getColumn(0,"edc");
  1221. var admission = utlf_transNullToEmpty(ds_labor_send.getColumn(0,"admission"));
  1222. admission = admission.substr(0,4) + admission.substr(5,2) + admission.substr(8,2);
  1223. var index = group6.group5.cboOrddd.index;
  1224. if(!utlf_isNull(index) && !utlf_isNull(edc)){
  1225. if(!utlf_isNull(admission)){
  1226. var orddd = admission;
  1227. }else {
  1228. var orddd = ds_init_orddd.getColumn(index,"orddd");
  1229. }
  1230. var tempGa = 280 - utlf_getDateInterval(orddd, edc);
  1231. var week = parseInt(tempGa / 7);
  1232. var day = tempGa % 7;
  1233. var ga = week + "+" + day;
  1234. if(week > 43){
  1235. ds_labor_send.setColumn(0,"ga", "");
  1236. }
  1237. else{
  1238. ds_labor_send.setColumn(0,"ga", ga);
  1239. }
  1240. }
  1241. }
  1242. function fMakeLaborGraph(){
  1243. group6.TChart1.visible = false;
  1244. group6.TChart2.visible = true;
  1245. group6.TChart2.ClearChart();
  1246. group6.TChart2.RemoveAllSeries();
  1247. group6.TChart2.Axis.RemoveAllCustom();
  1248. //margin 값 정하기
  1249. group6.TChart2.Panel.MarginTop = 10;
  1250. group6.TChart2.Panel.MarginLeft = 5;
  1251. group6.TChart2.Panel.MarginRight = 5;
  1252. group6.TChart2.Panel.MarginBottom = 10;
  1253. group6.TChart2.Panel.Color = 0xffffff;
  1254. //하단축 칸 수 정하기와 눈금 없애기
  1255. group6.TChart2.Axis.Bottom.SetMinMax (0, 15);
  1256. group6.TChart2.Axis.Bottom.Increment = 1;
  1257. group6.TChart2.Axis.Bottom.MinorTickCount = 0.5;
  1258. group6.TChart2.Axis.Bottom.Title.Caption = "Time";
  1259. group6.TChart2.Axis.Bottom.Title.Font.Bold = true;
  1260. group6.TChart2.Axis.Bottom.AxisPen.Color = 0x000000;
  1261. //group6.TChart2.Axis.Bottom.GridPen.Color = 0x000000; //축 점선의 색 설정
  1262. group6.TChart2.Axis.Bottom.Labels.Font.Color = 0xffffff; //하단 축 눈금 명칭 색
  1263. group6.TChart2.Header.Visible = false;
  1264. //group6.TChart2.Header.Text(0)="성장도표"; //헤더제목넣기
  1265. group6.TChart2.Header.Font.Bold = true; //헤더 굵게
  1266. group6.TChart2.Header.Font.Size = 5; //헤더 사이즈
  1267. group6.TChart2.Aspect.View3D = 0; //2d 로 표현하기
  1268. //group6.TChart2.Aspect.Chart3DPercent = 2;
  1269. group6.TChart2.Zoom.Enable = false; // zoom 사용하지 않기
  1270. group6.TChart2.Scroll.Enable = false; // scroll 사용하지 않기
  1271. group6.TChart2.Legend.Visible = false; // 그래프 참조 박스 띄우지 않기
  1272. group6.TChart2.Environment.MouseWheelScroll = false;
  1273. //group6.TChart2.Panel.Gradient.Visible = true; // 페널에 그라디언트 적용
  1274. var cus_axis1 = group6.TChart2.Axis.AddCustom(false); // CxDilat
  1275. group6.TChart2.Axis.get_Custom(0).Visible = true;
  1276. group6.TChart2.Axis.get_Custom(0).AxisPen.Color = 0xff0000;
  1277. group6.TChart2.Axis.get_Custom(0).Title.Visible = false;
  1278. group6.TChart2.Axis.get_Custom(0).Title.Caption = "CxDilat"
  1279. group6.TChart2.Axis.get_Custom(0).Title.Font.Size = 9;
  1280. group6.TChart2.Axis.get_Custom(0).Title.Font.Bold = true;
  1281. group6.TChart2.Axis.get_Custom(0).Title.Angle = 270;
  1282. group6.TChart2.Axis.get_Custom(0).PositionPercent = 0;
  1283. group6.TChart2.Axis.get_Custom(0).StartPosition = 0;
  1284. group6.TChart2.Axis.get_Custom(0).EndPosition = 100;
  1285. group6.TChart2.Axis.get_Custom(0).Automatic = false;
  1286. group6.TChart2.Axis.get_Custom(0).Maximum = 10;
  1287. group6.TChart2.Axis.get_Custom(0).Minimum = 0;
  1288. group6.TChart2.Axis.get_Custom(0).Increment = 1;
  1289. var cus_axis2 = group6.TChart2.Axis.AddCustom(false); // Station
  1290. group6.TChart2.Axis.get_Custom(1).Visible = false;
  1291. group6.TChart2.Axis.get_Custom(1).AxisPen.Color = 0x00ff00;
  1292. group6.TChart2.Axis.get_Custom(1).Title.Visible = false
  1293. group6.TChart2.Axis.get_Custom(1).Title.Caption = "Station";
  1294. group6.TChart2.Axis.get_Custom(1).Title.Font.Size = 9;
  1295. //group6.TChart2.Axis.Custom(1).Title.Font.Bold = true;
  1296. group6.TChart2.Axis.get_Custom(1).Title.Angle = 270;
  1297. group6.TChart2.Axis.get_Custom(1).PositionPercent = 100;
  1298. group6.TChart2.Axis.get_Custom(1).Automatic = false;
  1299. group6.TChart2.Axis.get_Custom(1).Maximum = 2.5;
  1300. group6.TChart2.Axis.get_Custom(1).Minimum = -2.5;
  1301. group6.TChart2.Axis.get_Custom(1).Increment = 1;
  1302. group6.TChart2.AddSeries (0);
  1303. group6.TChart2.AddSeries (0);
  1304. group6.TChart2.Series(0).VerticalAxisCustom = cus_axis1;
  1305. group6.TChart2.Series(1).VerticalAxisCustom = cus_axis2;
  1306. //라인의 굵기를 정해준다.
  1307. group6.TChart2.Series(0).Color = 0xff0000;
  1308. group6.TChart2.Series(1).Color = 0x00ff00;
  1309. group6.TChart2.Series(0).asLine.Pointer.Visible = true;
  1310. group6.TChart2.Series(0).asLine.Pointer.Style = 5;
  1311. group6.TChart2.Series(0).asLine.Pointer.VerticalSize = 5;
  1312. group6.TChart2.Series(0).asLine.Pointer.HorizontalSize = 5;
  1313. group6.TChart2.Series(0).asLine.LinePen.Width = 2;
  1314. group6.TChart2.Series(0).Marks.Visible = false;
  1315. group6.TChart2.Series(1).asLine.Pointer.Visible = true;
  1316. group6.TChart2.Series(1).asLine.Pointer.Style = 7;
  1317. group6.TChart2.Series(1).asLine.Pointer.VerticalSize = 5;
  1318. group6.TChart2.Series(1).asLine.Pointer.HorizontalSize = 5;
  1319. group6.TChart2.Series(1).asLine.LinePen.Width = 2;
  1320. group6.TChart2.Series(1).Marks.Visible = false;
  1321. var imgCd = inff_getTChartBackgroundImage("labor");
  1322. group6.TChart2.Panel.BackImageLoad(imgCd);
  1323. var laborNodeCnt = ds_labor.rowcount;
  1324. var x, y1, y2, stage;
  1325. var textRow = 0;
  1326. /*
  1327. if(laborNodeCnt <= 15){
  1328. btn_labor1.visible = false;
  1329. btn_labor2.visible = false;
  1330. btn_labor3.visible = false;
  1331. btn_labor4.visible = false;
  1332. btn_labor5.visible = false;
  1333. } else if(laborNodeCnt > 15 && laborNodeCnt <= 30){
  1334. btn_labor1.visible = true;
  1335. btn_labor2.visible = true;
  1336. btn_labor3.visible = false;
  1337. btn_labor4.visible = false;
  1338. btn_labor5.visible = false;
  1339. } else if(laborNodeCnt > 30 && laborNodeCnt <= 45){
  1340. btn_labor1.visible = true;
  1341. btn_labor2.visible = true;
  1342. btn_labor3.visible = true;
  1343. btn_labor4.visible = false;
  1344. btn_labor5.visible = false;
  1345. } else if(laborNodeCnt > 45 && laborNodeCnt <= 60){
  1346. btn_labor1.visible = true;
  1347. btn_labor2.visible = true;
  1348. btn_labor3.visible = true;
  1349. btn_labor4.visible = true;
  1350. btn_labor5.visible = false;
  1351. } else if(laborNodeCnt > 60 && laborNodeCnt <= 75){
  1352. btn_labor1.visible = true;
  1353. btn_labor2.visible = true;
  1354. btn_labor3.visible = true;
  1355. btn_labor4.visible = true;
  1356. btn_labor5.visible = true;
  1357. }
  1358. */
  1359. var startRow = ds_labor_send.getColumn(0,"startRow");
  1360. var tempX = 2;
  1361. for( i = startRow; i < parseInt(laborNodeCnt); i++ ){
  1362. x = ds_labor.getColumn(i,"seq"); //grd_labor.valueMatrix(i, 9);
  1363. y1 = ds_labor.getColumn(i,"os"); //grd_labor.valueMatrix(i, 3); // OS
  1364. y2 = ds_labor.getColumn(i,"station"); //grd_labor.valueMatrix(i, 6); // Station
  1365. stage = ds_labor.getColumn(i,"stage"); //grd_labor.valueMatrix(i, 7); // Stage
  1366. var text = ds_labor.getColumn(i,"rectm"); //grd_labor.valueMatrix(i, 1); // time
  1367. if(y2 == 3){
  1368. y2 = 2.5;
  1369. }
  1370. if(y2 == -3){
  1371. y2 = -2.5;
  1372. }
  1373. if(y2 != 0){
  1374. y2 = -y2;
  1375. }
  1376. if(!utlf_isNull(y1)){
  1377. group6.TChart2.Series(0).AddXY (tempX-1, y1, "", group6.TChart2.Series(0).Color);
  1378. //group6.TChart2.Series(0).Add (y1,tempX-1, group6.TChart2.Series(0).Color);
  1379. }
  1380. if(!utlf_isNull(y2)){
  1381. group6.TChart2.Series(1).AddXY (tempX-1, y2, "", group6.TChart2.Series(1).Color);
  1382. //group6.TChart2.Series(1).Add (y2, tempX-1, group6.TChart2.Series(1).Color);
  1383. }
  1384. if(!utlf_isNull(text)){
  1385. group6.TChart2.Tools.Add(10);
  1386. group6.TChart2.Tools.Items(textRow).asAnnotation.Text = text.substr(0,5);
  1387. group6.TChart2.Tools.Items(textRow).asAnnotation.Shape.Transparent = true;
  1388. group6.TChart2.Tools.Items(textRow).asAnnotation.Shape.Top = 330;
  1389. group6.TChart2.Tools.Items(textRow).asAnnotation.Shape.Left = tempX*39.7-22;
  1390. textRow++;
  1391. }
  1392. if(!utlf_isNull(stage)){
  1393. if(stage == "1" || stage == "2"){
  1394. group6.TChart2.Tools.Add(10);
  1395. if(stage == "1"){
  1396. group6.TChart2.Tools.Items(textRow).asAnnotation.Text = "1st start";
  1397. }
  1398. if(stage == "2"){
  1399. group6.TChart2.Tools.Items(textRow).asAnnotation.Text = "2nd start";
  1400. }
  1401. //group6.TChart2.Tools.Items(textRow).asAnnotation.Shape.Transparent = true;
  1402. group6.TChart2.Tools.Items(textRow).asAnnotation.Shape.Top = 340 - y1*29;
  1403. group6.TChart2.Tools.Items(textRow).asAnnotation.Shape.Left = tempX*39.7-22;
  1404. textRow++;
  1405. }
  1406. if(stage == "3" || stage == "4"){
  1407. group6.TChart2.AddSeries (1);
  1408. group6.TChart2.Series(2).VerticalAxisCustom = cus_axis1;
  1409. //group6.TChart2.Series(2).asCandle.CandleStyle = 2;
  1410. group6.TChart2.Series(2).asBar.BarWidth = 3;
  1411. var margin = group6.TChart2.Series(2).asBar.BarMargin;
  1412. group6.TChart2.Series(2).Marks.visible = false;
  1413. group6.TChart2.Series(2).Color = 0x0000ff;
  1414. group6.TChart2.Series(2).AddXY (tempX-1, 10, "", group6.TChart2.Series(2).Color);
  1415. //group6.TChart2.Series(2).Add (10,tempX-1, group6.TChart2.Series(2).Color);
  1416. group6.TChart2.Tools.Add(10);
  1417. if(stage == "3"){
  1418. group6.TChart2.Tools.Items(textRow).asAnnotation.Text = "End";
  1419. }
  1420. if(stage == "4"){
  1421. group6.TChart2.Tools.Items(textRow).asAnnotation.Text = "Delivery";
  1422. }
  1423. group6.TChart2.Tools.Items(textRow).asAnnotation.Shape.Transparent = true;
  1424. group6.TChart2.Tools.Items(textRow).asAnnotation.Shape.Top = 350;
  1425. group6.TChart2.Tools.Items(textRow).asAnnotation.Shape.Left = tempX*39.7-17;
  1426. textRow++;
  1427. }
  1428. }
  1429. tempX++;
  1430. }
  1431. }
  1432. function fGetLaborData(){
  1433. if(!utlf_isNull(group6.group5.cboOrddd.value) ){
  1434. var ordIndex = group6.group5.cboOrddd.index;
  1435. var orddd = ds_init_orddd.getColumn(ordIndex,"orddd");
  1436. var cretno = ds_init_orddd.getColumn(ordIndex,"cretno");
  1437. var ordtype = ds_init_orddd.getColumn(ordIndex,"ordtype");
  1438. var pid = ds_send.getColumn(0,"pid");
  1439. }
  1440. ds_labor_send.setColumn(0,"orddd", orddd);
  1441. ds_labor_send.setColumn(0,"cretno", cretno);
  1442. ds_labor_send.setColumn(0,"signgenrflag", ordtype);
  1443. ds_labor_send.setColumn(0,"pid", pid);
  1444. var oParam = {};
  1445. oParam.id = "TRMRF05206";
  1446. oParam.service = "formmngtapp.GrphMngt";
  1447. oParam.method = "reqGetGrthData";
  1448. oParam.inds = "req=ds_labor_send";
  1449. oParam.outds = "ds_labor=grth ds_labor_sign=sign ds_base=base";
  1450. oParam.async = false;
  1451. tranf_submit(oParam);
  1452. dsf_copyDs(ds_laborsign,ds_labor,"replace");
  1453. ds_labor_sign.clearData();
  1454. var labrCnt = ds_labor.rowcount;
  1455. if(labrCnt == 0){
  1456. var parity = ds_labor_base.getColumn(0,"parity");
  1457. var nsd = ds_labor_base.getColumn(0,"nsd");
  1458. var cs = ds_labor_base.getColumn(0,"cs");
  1459. var edc = ds_labor_base.getColumn(0,"edc");
  1460. var admission = ds_labor_base.getColumn(0,"admission");
  1461. ds_labor_send.setColumn(0,"parity", parity);
  1462. ds_labor_send.setColumn(0,"nsd", nsd);
  1463. ds_labor_send.setColumn(0,"cs", cs);
  1464. ds_labor_send.setColumn(0,"edc", edc);
  1465. ds_labor_send.setColumn(0,"admission", admission);
  1466. }else{
  1467. var parity = ds_labor.getColumn(0,"parity");
  1468. var nsd = ds_labor.getColumn(0,"nsd");
  1469. var cs = ds_labor.getColumn(0,"cs");
  1470. var edc = ds_labor.getColumn(0,"edc");
  1471. var ga = ds_labor.getColumn(0,"ga");
  1472. var admission = ds_labor.getColumn(0,"admission");
  1473. var cc = ds_labor.getColumn(0,"cc");
  1474. var pain = ds_labor.getColumn(0,"pain");
  1475. var prom = ds_labor.getColumn(0,"prom");
  1476. var afl = ds_labor.getColumn(0,"afl");
  1477. var induction = ds_labor.getColumn(0,"induction");
  1478. var oc = ds_labor.getColumn(0,"oc");
  1479. var cd = ds_labor.getColumn(0,"cd");
  1480. var fststage = ds_labor.getColumn(0,"fststage");
  1481. var scndstage = ds_labor.getColumn(0,"scndstage");
  1482. var total = ds_labor.getColumn(0,"total");
  1483. var delivery = ds_labor.getColumn(0,"delivery");
  1484. var other = ds_labor.getColumn(0,"other");
  1485. var fstrgstrnm = ds_labor.getColumn(0,"fstrgstrnm");
  1486. var lastupdtrnm = ds_labor.getColumn(0,"lastupdtrnm");
  1487. var signSave = ds_labor.getColumn(0,"signyn");
  1488. saveState = signSave;
  1489. if(signSave == "Y"){
  1490. group6.switch1.case_labor.output2.value = "현재는 인증저장 상태입니다";
  1491. }else if(!utlf_isNull(fstrgstrnm)){
  1492. group6.switch1.case_labor.output2.value = "현재는 임시저장 상태입니다";
  1493. }
  1494. ds_labor_send.setColumn(0,"parity", parity);
  1495. ds_labor_send.setColumn(0,"nsd", nsd);
  1496. ds_labor_send.setColumn(0,"cs", cs);
  1497. ds_labor_send.setColumn(0,"edc", edc);
  1498. ds_labor_send.setColumn(0,"ga", ga);
  1499. ds_labor_send.setColumn(0,"admission", admission);
  1500. ds_labor_send.setColumn(0,"cc", cc);
  1501. ds_labor_send.setColumn(0,"pain", pain);
  1502. ds_labor_send.setColumn(0,"prom", prom);
  1503. ds_labor_send.setColumn(0,"afl", afl);
  1504. ds_labor_send.setColumn(0,"induction", induction);
  1505. ds_labor_send.setColumn(0,"oc", oc);
  1506. ds_labor_send.setColumn(0,"cd", cd);
  1507. ds_labor_send.setColumn(0,"other", other);
  1508. ds_labor_send.setColumn(0,"fststage", fststage);
  1509. ds_labor_send.setColumn(0,"scndstage", scndstage);
  1510. ds_labor_send.setColumn(0,"total", total);
  1511. ds_labor_send.setColumn(0,"delivery", delivery);
  1512. ds_labor_send.setColumn(0,"fstrgstrnm", fstrgstrnm);
  1513. ds_labor_send.setColumn(0,"lastupdtrnm", lastupdtrnm);
  1514. }
  1515. fCalcGa();
  1516. }
  1517. function fSentence(){
  1518. frmf_setParameter("comn_chosflag", "C") // C : 상용구
  1519. frmf_setParameter("comn_formprogflag", "B") // A: Summary, B : 주호소
  1520. frmf_setParameter("openmode", "select");
  1521. frmf_modal("SPMRF04900","SPMRF04900","","","","","","","","","","","M");
  1522. var rtn =frmf_getParameter("comncnts"); //내용
  1523. frmf_setParameter("comncnts", "");
  1524. ds_labor.setColumn(ds_labor.rowposition,"remark", rtn);
  1525. }
  1526. function fLaborAddRow(){
  1527. var cur_row = ds_labor.addRow();
  1528. var chkCC = ds_labor_send.getColumn(0,"cc");
  1529. var rslt = chkCC.indexOf("2");
  1530. // Membrane 값 - 첫째줄이면 C/C 의 PROM 체크여부에 따라 둘째줄부터는 윗줄 값을 선택
  1531. if(cur_row == "1"){
  1532. if(rslt == "-1"){
  1533. ds_labor.setColumn(cur_row,"memb", "+");
  1534. }else{
  1535. ds_labor.setColumn(cur_row,"memb", "-");
  1536. }
  1537. }else {
  1538. ds_labor.setColumn(cur_row,"memb", ds_labor.getColumn(cur_row - 1,"memb"));
  1539. }
  1540. var curDate = utlf_getCurrentDate();
  1541. var curTime = utlf_getCurrentTime();
  1542. //var maskDate = curDate.substr(0, 4) + "-" + curDate.substr(4, 2) + "-" + curDate.substr(6, 2);
  1543. //var maskTime = curTime.substr(0, 2) + ":" + curTime.substr(2, 4);
  1544. ds_labor.setColumn(cur_row,"recdd", curDate);
  1545. ds_labor.setColumn(cur_row,"rectm", curTime);
  1546. ds_labor.setColumn(cur_row,"seq", grd_labor.row-1);
  1547. ds_labor.setColumn(cur_row,"position", ds_labor.getColumn(cur_row - 1,"position"));
  1548. }
  1549. function fTempMessage(){
  1550. if(saveState == "Y"){
  1551. }else if(saveCnt > 0){
  1552. var closeYn = sysf_messageBox("임시저장 상태입니다. 종료", "S003", "인증저장");
  1553. if(closeYn == 6){
  1554. }else if(closeYn == 7){
  1555. var selectedDept = ds_send.getColumn(0,"orddeptcd");
  1556. if(selectedDept == "2110000000" || selectedDept == "2030000000" || selectedDept == "2070000000"){
  1557. fGrthSignSave();
  1558. }else if(selectedDept == "2100000000"){
  1559. // fLaborSignSave();
  1560. }
  1561. }else{
  1562. return false;
  1563. }
  1564. }
  1565. return true;
  1566. }
  1567. function fGrthSignSave(){
  1568. saveCnt = parseInt(saveCnt) + 1;
  1569. // 인증저장 데이터 인스턴스 정리
  1570. var ordIndex = group6.group5.cboOrddd.index;
  1571. var tempOrddd = ds_init_orddd.getColumn(ordIndex, "orddd");
  1572. var cretno = ds_init_orddd.getColumn(ordIndex, "cretno");
  1573. var ordtype = ds_init_orddd.getColumn(ordIndex, "ordtype");
  1574. ds_send.setColumn(0,"orddd", tempOrddd);
  1575. ds_send.setColumn(0,"cretno", cretno);
  1576. ds_send.setColumn(0,"signgenrflag", ordtype);
  1577. ds_send.setColumn(0,"deptnm", group6.group5.cboDept.text); // 진료과 인증데이터 넘김
  1578. var tOrddd = utlf_transNullToEmpty(ds_send.getColumn(0,"orddd"));
  1579. var maskord = tOrddd.substr(0, 4) + "-" + tOrddd.substr(4, 2) + "-" + tOrddd.substr(6, 2);
  1580. ds_send.setColumn(0,"orddate", maskord); // 진료일자 인증데이터 넘김
  1581. var tempY = ds_cond.getColumn(0,"year");
  1582. var tempM = ds_cond.getColumn(0,"month");
  1583. var tempMonth = parseInt(tempY)*12 + parseInt(tempM);
  1584. tempMonth = tempMonth + "개월";
  1585. ds_send.setColumn(0,"age2", tempMonth);
  1586. var fstnm = ds_send.getColumn(0,"fstrgstrnm");
  1587. if(utlf_isNull(fstnm)){
  1588. ds_send.setColumn(0,"fstrgstrnm", sysf_getUserInfo("usernm"));
  1589. }
  1590. ds_send.setColumn(0,"lastupdtrnm", sysf_getUserInfo("usernm"));
  1591. var pid = ds_send.getColumn(0,"pid");
  1592. var wrtedd = utlf_getCurrentDate();
  1593. var wrtetm = utlf_getCurrentTime();
  1594. ds_send.setColumn(0,"wrtedd", wrtedd);
  1595. ds_send.setColumn(0,"wrtetm", wrtetm);
  1596. ds_send.setColumn(0,"recdd", wrtedd);
  1597. ds_send.setColumn(0,"rectm", wrtetm);
  1598. var ht="", wt="", hd="", chst="";
  1599. dsf_createDs("ds_temp_grth");
  1600. ds_temp_grth.assign(ds_grth);
  1601. ds_temp_grth.clearData();
  1602. ds_temp_grth.applyChange();
  1603. for(var i=(ds_grth.rowcount -1); i>=0; i--)
  1604. {
  1605. ds_grth.setColumn(i,"seq",i+1);
  1606. ht = ds_grth.getColumn(i,"bdht"); // 신장
  1607. wt = ds_grth.getColumn(i,"bdwt"); // 체중
  1608. hd = ds_grth.getColumn(i,"headgirth"); // 머리둘레
  1609. chst = ds_grth.getColumn(i,"chstgirth"); // 흉부둘레
  1610. bt = ds_grth.getColumn(i,"bt");
  1611. sbp = ds_grth.getColumn(i,"sbp");
  1612. dbp = ds_grth.getColumn(i,"dbp");
  1613. pr = ds_grth.getColumn(i,"pr");
  1614. if( utlf_isNull(ht) && utlf_isNull(wt)
  1615. && utlf_isNull(hd) && utlf_isNull(chst)
  1616. && utlf_isNull(bt) && utlf_isNull(sbp)
  1617. && utlf_isNull(dbp) && utlf_isNull(pr) ){
  1618. ds_grth.deleteRow(i);
  1619. }else{
  1620. ds_grth.setRowType(i,Dataset.ROWTYPE_INSERT); //추가상태
  1621. var nArow = ds_temp_grth.addRow();
  1622. ds_temp_grth.copyRow(nArow,ds_grth,i);
  1623. if(ds_temp_grth.getColumnInfo("pid") == null) ds_temp_grth.addColumn("pid","STRING", 256);
  1624. ds_temp_grth.setColumn(nArow, "pid", pid);
  1625. if(ds_temp_grth.getColumnInfo("wrtedd") == null) ds_temp_grth.addColumn("wrtedd","STRING", 256);
  1626. ds_temp_grth.setColumn(nArow, "wrtedd", wrtedd);
  1627. if(ds_temp_grth.getColumnInfo("wrtetm") == null) ds_temp_grth.addColumn("wrtetm","STRING", 256);
  1628. ds_temp_grth.setColumn(nArow, "wrtetm", wrtetm);
  1629. var nRecdd = ds_temp_grth.getColumn(nArow, "recdd");
  1630. if( !utlf_isNull(nRecdd) && nRecdd.length == 8 && nRecdd.indexOf("-") == -1 ){
  1631. ds_temp_grth.setColumn(nArow, "recdd", utlf_getFormat(nRecdd, "@@@@-@@-@@") );
  1632. }
  1633. }
  1634. }
  1635. if(ds_temp_grth.rowcount > 0)
  1636. {
  1637. ds_temp_grth.keystring = "";
  1638. ds_temp_grth.keystring = "S:recdd";
  1639. }
  1640. var signrecinfo = lf_makeSignData();
  1641. dsf_makeValue(ds_send,"cond","string", dsf_getDsCSV(ds_temp_grth));
  1642. var savef = ds_send.getColumn(0,"saveflag");
  1643. if( savef.length != 10){
  1644. var len = savef.length/2 +1.5;
  1645. var formcd = "0000001766 0000001651 0000003157 0000001448 0000003174 0000002722";
  1646. for(var i=1; i<len; i++){
  1647. var form = savef.substr(2*i-2, 1);
  1648. ds_cond.setColumn(0,"chart", form); //그래프 설정
  1649. var code = formcd.substr(11*form-11, 10);
  1650. ds_send.setColumn(0,"formcd"+i, code); //서식코드 설정
  1651. var nodeCnt = ds_data_sign.rowcount; //getNodesetCount("/root/main/sign/sign");
  1652. var signno = "";
  1653. var odd = ds_send.getColumn(0,"orddd");
  1654. for(var j = 0; j < nodeCnt; j++ ){
  1655. var vFormcd = ds_data_sign.getColumn(j,"formcd");
  1656. var signOrddd = ds_data_sign.getColumn(j,"orddd");
  1657. if( vFormcd == code && signOrddd == odd){
  1658. signno = ds_data_sign.getColumn(j,"signno");
  1659. }
  1660. }
  1661. if(!utlf_isNull(signno)){
  1662. dsf_makeValue(ds_send,"signno"+i, "string", signno);
  1663. }else{
  1664. dsf_makeValue(ds_send,"signno"+i, "string", "0");
  1665. }
  1666. fMakeChart();
  1667. //그래프 이미지 특정 폴더에 저장
  1668. var fso, fldr;
  1669. fladr = lgv_Foldernm;
  1670. // HttpObject
  1671. var vFileDown = new VirtualFile();
  1672. var bSucc = vFileDown.createDirectory(fladr, true);
  1673. group6.TChart1.Export.SaveToJPEGFile(fladr+"/" + pid + "_" + wrtedd + "_" + wrtetm + "_" + i + ".jpeg", false, 0, 100, 560, 696 );
  1674. var file = fladr+"/" + pid + "_" + wrtedd + "_" + wrtetm + "_" + i + ".jpeg";
  1675. var pos = file.lastIndexOf("\\");
  1676. var localFileName= file.substring(pos+1, file.length);
  1677. group6.img_tmp.image = "";
  1678. group6.img_tmp.image = file;
  1679. var objImage = group6.img_tmp.image.getImage();
  1680. var objBin = objImage.getBinary();
  1681. // var bufObj = new Buffer(objBin);
  1682. // var uExtObj = new ExtCommon();
  1683. // var ldata = uExtObj.encodeBase64(bufObj.data);
  1684. if(ds_send.getColumnInfo("imgdata" + i) == null) ds_send.addColumn("imgdata" + i,"BLOB", 256);
  1685. ds_send.setColumn(0,"imgdata"+i, objBin);
  1686. group6.img_tmp.image = "";
  1687. }
  1688. } else{
  1689. fMakeChart();
  1690. //그래프 이미지 특정 폴더에 저장
  1691. var fso, fldr;
  1692. fladr = lgv_Foldernm;
  1693. // HttpObject
  1694. var vFileDown = new VirtualFile();
  1695. var bSucc = vFileDown.createDirectory(fladr, true);
  1696. group6.TChart1.Export.SaveToJPEGFile(fladr+"/" + pid + "_" + wrtedd + "_" + wrtetm + ".jpeg", false, 0, 100, 560, 696 );
  1697. var file = fladr+"/" + pid + "_" + wrtedd + "_" + wrtetm + ".jpeg";
  1698. var pos = file.lastIndexOf("\\");
  1699. var localFileName= file.substring(pos+1, file.length);
  1700. group6.img_tmp.image = "";
  1701. group6.img_tmp.image = file;
  1702. var objImage = group6.img_tmp.image.getImage();
  1703. var objBin = objImage.getBinary();
  1704. // var bufObj = new Buffer(objBin);
  1705. // var uExtObj = new ExtCommon();
  1706. // var ldata = uExtObj.encodeBase64(bufObj.data);
  1707. ds_send.setColumn(0,"imgdata", objBin);
  1708. group6.img_tmp.image = "";
  1709. var nodeCnt = ds_data_sign.rowcount;
  1710. var signno = "";
  1711. var orddd = ds_send.getColumn(0,"orddd");
  1712. var code = ds_send.getColumn(0,"formcd");
  1713. for( i = 0; i < nodeCnt; i++ ){
  1714. var formcd = ds_data_sign.getColumn(i,"formcd");
  1715. var signOrddd = ds_data_sign.getColumn(i,"orddd");
  1716. if( formcd == code && signOrddd == orddd){
  1717. signno = ds_data_sign.getColumn(i,"signno");
  1718. }
  1719. }
  1720. if(!utlf_isNull(signno)){
  1721. ds_send.setColumn(0,"signno", signno);
  1722. ds_send.setColumn(0,"recsaveflag", "Y");
  1723. }else{
  1724. ds_send.setColumn(0,"signno", "0");
  1725. ds_send.setColumn(0,"recsaveflag", "N");
  1726. }
  1727. }
  1728. var sUserID = sysf_getUserInfo("userid");
  1729. var rowcnt = group6.group5.cboOrddd.index;
  1730. var ordtype = ds_init_orddd.getColumn(rowcnt,"ordtype");
  1731. // 입원 또는 응급일 경우 // 20111201 knuh 최원돈
  1732. // 기록/처방 직전 인증저장이 정해진 시간(분 단위, 하드코드 401) 이내이면 인증서를 띄우지 않음(1/3)
  1733. // SMMMO00100.js, MMR01300.js, MMR00100.js, SPMRF05200.js
  1734. // 하드코드 값 가져오기 로직
  1735. var ls_emrinptsavetime = lf_getHardCDList("Y", 401, 3);
  1736. var ll_emrinptsavetime = utlf_isNull(ls_emrinptsavetime) ? 0 : parseInt(ls_emrinptsavetime) * -1;
  1737. // 인증서 매번 띄우기 위해 주석
  1738. if(ordtype == "O"){
  1739. var signedrecinfo = zesf_SignData(signrecinfo, sUserID, false); //외래환자일경우 한번만 인증서 띄움
  1740. }
  1741. // 입원 또는 응급일 경우 // 20111201 knuh 최원돈
  1742. // 기록/처방 직전 인증저장이 정해진 시간(분 단위, 하드코드 401) 이내이면 인증서를 띄우지 않음(2/3)
  1743. // SMMMO00100.js, MMR01300.js, MMR00100.js, SPMRF05200.js
  1744. // 띄우지 않는 로직
  1745. else if ( (ordtype == "I" || ordtype == "E")
  1746. && ll_emrinptsavetime < 0
  1747. && sysf_getGlobalVariable("emrinptsavetime") >= utlf_getCurrentDateTime().toDate("YYYYMMDD hhmmss").getAddDate(ll_emrinptsavetime, "m").getDateFormat("YYYYMMDD hhmmss"))
  1748. {
  1749. var signedrecinfo = zesf_SignData(signrecinfo, sUserID, false); //외래환자일경우 한번만 인증서 띄움
  1750. }else{
  1751. var signedrecinfo = zesf_SignData(signrecinfo, sUserID, true);
  1752. }
  1753. //var signedrecinfo = zesfSignData(signrecinfo, sUserID, true);
  1754. if (!utlf_isNull(signedrecinfo)){
  1755. dsf_makeValue(ds_send,"signaftcnts","string", signedrecinfo);
  1756. dsf_makeValue(ds_send,"signbfcnts", "string", signrecinfo);
  1757. ds_send.setColumn(0,"status", "U");
  1758. var oParam = {};
  1759. oParam.id = "TXMRF05202";
  1760. oParam.service = "formmngtapp.GrphMngt";
  1761. oParam.method = "reqExeGrthSign";
  1762. oParam.inds = "req=ds_send detail=ds_temp_grth";//ds_send_grid
  1763. oParam.outds = "ds_rsltmsg=rsltmsg";
  1764. oParam.async = false;
  1765. oParam.callback = "cf_TXMRF05202";
  1766. tranf_submit(oParam);
  1767. var errCode = arErrorCode.pop("TXMRF05202");
  1768. if(errCode >= 0) {
  1769. ds_send.updatecontrol = false;
  1770. for(var i=1; i<8; i++){
  1771. if(ds_send.getColumnInfo("imgdata"+i) != null)
  1772. ds_send.deleteColumn("imgdata"+i);
  1773. }
  1774. ds_send.deleteColumn("signaftcnts");
  1775. ds_send.deleteColumn("signbfcnts");
  1776. ds_send.deleteColumn("cond");
  1777. // ds_send.setColumn(0, "signaftcnts", "");
  1778. // ds_send.setColumn(0, "signbfcnts", "");
  1779. // ds_send.setColumn(0, "cond", "");
  1780. ds_send.updatecontrol = true;
  1781. ds_send.setColumn(0,"wrtedd", "");
  1782. ds_send.setColumn(0,"wrtetm", "");
  1783. // 입원 또는 응급일 경우 // 20111201 knuh 최원돈
  1784. // 기록/처방 직전 인증저장이 정해진 시간(분 단위, 하드코드 401) 이내이면 인증서를 띄우지 않음(3/3)
  1785. // SMMMO00100.js, MMR01300.js, MMR00100.js, SPMRF05200.js
  1786. // 인증저장된 시간을 저장.
  1787. if (ordtype == "I" || ordtype == "E") {
  1788. sysf_setGlobalVariable("emrinptsavetime", utlf_getCurrentDateTime());
  1789. }
  1790. }
  1791. }else if (utlf_isNull(signedrecinfo)){
  1792. ds_send.updatecontrol = false;
  1793. for(var i=1; i<8; i++){
  1794. if(ds_send.getColumnInfo("imgdata"+i) != null)
  1795. ds_send.deleteColumn("imgdata"+i);
  1796. }
  1797. ds_send.deleteColumn("signaftcnts");
  1798. ds_send.deleteColumn("signbfcnts");
  1799. ds_send.deleteColumn("cond");
  1800. ds_send.updatecontrol = true;
  1801. ds_send.setColumn(0,"wrtedd", "");
  1802. ds_send.setColumn(0,"wrtetm", "");
  1803. }
  1804. }
  1805. function cf_TXMRF05202(sSvcId, nErrorCode, sErrorMsg) {
  1806. arErrorCode.push(sSvcId, nErrorCode);
  1807. }
  1808. function fLaborSignSave(){
  1809. saveCnt = parseInt(saveCnt) + 1;
  1810. var ordIndex = group6.group5.cboOrddd.index;
  1811. var orddd = ds_init_orddd.getColumn(ordIndex,"orddd");
  1812. var cretno = ds_init_orddd.getColumn(ordIndex,"cretno");
  1813. var ordtype = ds_init_orddd.getColumn(ordIndex,"ordtype");
  1814. var pid = ds_send.getColumn(0,"pid");
  1815. ds_labor_send.setColumn(0,"orddd", orddd);
  1816. ds_labor_send.setColumn(0,"cretno", cretno);
  1817. ds_labor_send.setColumn(0,"signgenrflag", ordtype);
  1818. ds_labor_send.setColumn(0,"pid", pid);
  1819. ds_labor_send.setColumn(0,"formcd", "0900004436");
  1820. ds_labor_send.setColumn(0,"deptnm", group6.group5.cboDept.text); // 진료과 인증데이터 넘김
  1821. var tOrddd = ds_labor_send.getColumn(0,"orddd");
  1822. var maskord = tOrddd.substr(0, 4) + "-" + tOrddd.substr(4, 2) + "-" + tOrddd.substr(6, 2);
  1823. ds_labor_send.setColumn(0,"orddate", maskord); // 진료일자 인증데이터 넘김
  1824. var fstnm = ds_labor_send.getColumn(0,"fstrgstrnm");
  1825. if(utlf_isNull(fstnm)){
  1826. ds_labor_send.setColumn(0,"fstrgstrnm", sysf_getUserInfo("usernm"));
  1827. }
  1828. ds_labor_send.setColumn(0,"lastupdtrnm", sysf_getUserInfo("usernm"));
  1829. var wrtedd = sysf_getCurrentDate();
  1830. var wrtetm = sysf_getCurrentTime();
  1831. ds_labor_send.setColumn(0,"wrtedd", wrtedd);
  1832. ds_labor_send.setColumn(0,"wrtetm", wrtetm);
  1833. ds_labor_send.setColumn(0,"recdd", wrtedd);
  1834. ds_labor_send.setColumn(0,"rectm", wrtetm);
  1835. ds_labor_send.setColumn(0,"flag", "2");
  1836. var os="", st="";
  1837. for (i=0; i<ds_labor.rowcount; i++)
  1838. {
  1839. ds_labor.setColumn(i,"seq",i);
  1840. os = ds_labor.getColumn(i,"os"); // OS
  1841. st = ds_labor.getColumn(i,"station"); // Station
  1842. if(utlf_isNull(os) && utlf_isNull(st)){
  1843. ds_labor.deleteRow(i);
  1844. //grd_labor.deleteitem(i);
  1845. //grd_labor.rowStatus(i) = 4;
  1846. }else{
  1847. //grd_labor.rowStatus(i) = 1;
  1848. }
  1849. }
  1850. var csvLabor = grdf_getGridUpdateData(group6.switch1.case_labor.grd_labor, "insert");
  1851. dsf_copyDs(ds_labor_send_grid,csvLabor,"replace");
  1852. ds_labor_send_grid.keystring = "S:recdd";
  1853. //setCSVToNode("/root/labor/send/grid", csvLabor, "list");
  1854. //sortNodeList("/root/labor/send/grid/list", "recdd", "asc"); // 그리드 인스턴스 정렬
  1855. var lGridCnt = ds_labor_send_grid.rowcount;
  1856. for( i = 0; i < lGridCnt; i++ ){
  1857. var rectm = ds_labor_send_grid.getColumn(i,"rectm");
  1858. var stage = ds_labor_send_grid.getColumn(i,"stage");
  1859. rectm = rectm.substr(0,5);
  1860. ds_labor_send_grid.setColumn(i,"rectm", rectm);
  1861. if(stage == "1"){
  1862. ds_labor_send_grid.setColumn(i,"stage", "1st Start");
  1863. }else if (stage == "2"){
  1864. ds_labor_send_grid.setColumn(i,"stage", "2nd Start");
  1865. }else if (stage == "3"){
  1866. ds_labor_send_grid.setColumn(i,"stage", "End");
  1867. }else if (stage == "4"){
  1868. ds_labor_send_grid.setColumn(i,"stage", "Delivery");
  1869. }
  1870. }
  1871. var laborNodeCnt = ds_labor.rowcount;
  1872. if(laborNodeCnt <= 15){
  1873. var imgCnt = 1;
  1874. ds_labor_send.setColumn(0,"imgcnt", "1");
  1875. } else if(laborNodeCnt > 15 && laborNodeCnt <= 30){
  1876. var imgCnt = 2;
  1877. ds_labor_send.setColumn(0,"imgcnt", "2");
  1878. } else if(laborNodeCnt > 30 && laborNodeCnt <= 45){
  1879. var imgCnt = 3;
  1880. ds_labor_send.setColumn(0,"imgcnt", "3");
  1881. } else if(laborNodeCnt > 45 && laborNodeCnt <= 60){
  1882. var imgCnt = 4;
  1883. ds_labor_send.setColumn(0,"imgcnt", "4");
  1884. } else if(laborNodeCnt > 60 && laborNodeCnt <= 75){
  1885. var imgCnt = 5;
  1886. ds_labor_send.setColumn(0,"imgcnt", "5");
  1887. }
  1888. for(i=1; i<= imgCnt; i++){
  1889. dsf_makeValue(ds_labor_send,"seqno", "string", i, i-1);
  1890. }
  1891. var chkCC =ds_labor_send.getColumn(0,"cc");
  1892. var rdInd = ds_labor_send.getColumn(0,"induction");
  1893. var chkCD = ds_labor_send.getColumn(0,"cd");
  1894. if(chkCC.indexOf("1") != "-1"){
  1895. ds_labor_send.setColumn(0,"chpa", "1");
  1896. }else{
  1897. ds_labor_send.setColumn(0,"chpa", "");
  1898. }
  1899. if(chkCC.indexOf("2") != "-1"){
  1900. ds_labor_send.setColumn(0,"chpr", "1");
  1901. }else{
  1902. ds_labor_send.setColumn(0,"chpr", "");
  1903. }
  1904. if(chkCC.indexOf("3") != "-1"){
  1905. ds_labor_send.setColumn(0,"chaf", "1");
  1906. }else{
  1907. ds_labor_send.setColumn(0,"chaf", "");
  1908. }
  1909. if(chkCC.indexOf("4") != "-1"){
  1910. ds_labor_send.setColumn(0,"chfo", "1");
  1911. }else{
  1912. ds_labor_send.setColumn(0,"chfo", "");
  1913. }
  1914. if(rdInd.indexOf("1") != "-1"){
  1915. ds_labor_send.setColumn(0,"rdpo", "1");
  1916. }else{
  1917. ds_labor_send.setColumn(0,"rdpo", "");
  1918. }
  1919. if(rdInd.indexOf("2") != "-1"){
  1920. ds_labor_send.setColumn(0,"rdob", "1");
  1921. }else{
  1922. ds_labor_send.setColumn(0,"rdob", "");
  1923. }
  1924. if(chkCD.indexOf("1") != "-1"){
  1925. ds_labor_send.setColumn(0,"chpi", "1");
  1926. }else{
  1927. ds_labor_send.setColumn(0,"chpi", "");
  1928. }
  1929. if(chkCD.indexOf("2") != "-1"){
  1930. ds_labor_send.setColumn(0,"chpr", "1");
  1931. }else{
  1932. ds_labor_send.setColumn(0,"chpr", "");
  1933. }
  1934. if(chkCD.indexOf("3") != "-1"){
  1935. ds_labor_send.setColumn(0,"chol", "1");
  1936. }else{
  1937. ds_labor_send.setColumn(0,"chol", "");
  1938. }
  1939. if(chkCD.indexOf("4") != "-1"){
  1940. ds_labor_send.setColumn(0,"chiu", "1");
  1941. }else{
  1942. ds_labor_send.setColumn(0,"chiu", "");
  1943. }
  1944. if(chkCD.indexOf("5") != "-1"){
  1945. ds_labor_send.setColumn(0,"chof", "1");
  1946. }else{
  1947. ds_labor_send.setColumn(0,"chof", "");
  1948. }
  1949. var signrecinfo = ds_labor_send.saveXML();
  1950. //var signrecinfo = "test";
  1951. dsf_makeValue(ds_labor_send,"list","string",dsf_getDsCSV(csvLabor));
  1952. //model.removeNodeset("/root/labor/send/grid");
  1953. //model.makeNode("/root/labor/send/grid");
  1954. for(i=1; i<= imgCnt; i++){
  1955. ds_labor_send.setColumn(0,"startRow", i*15-13);
  1956. fMakeLaborGraph();
  1957. //그래프 이미지 특정 폴더에 저장
  1958. var fso, fldr;
  1959. fladr = "C:/Program Files/himed/laborimage";
  1960. fso = new ActiveX("Scripting.FileSystemObject");
  1961. if (fso.FolderExists(fladr)) {
  1962. group6.TChart2.Export.SaveToJPEGFile(fladr+"/tchart.jpeg", false, 0, 100, 658, 400 );
  1963. //sChartNum++;
  1964. } else {
  1965. fldr = fso.CreateFolder(fladr);
  1966. group6.TChart2.Export.SaveToJPEGFile(fladr+"/tchart.jpeg", false, 0, 100, 658, 400 );
  1967. //sChartNum++;
  1968. }
  1969. var file = fladr+"/tchart.jpeg";
  1970. var pos = file.lastIndexOf("\\");
  1971. var localFileName= file.substring(pos+1, file.length);
  1972. group6.img_tmp.src = "";
  1973. group6.img_tmp.src = file;
  1974. var ldata = group6.img_tmp.getbase64data();
  1975. dsf_makeValue(ds_labor_send,"imgdata"+i, "byte",ldata);
  1976. }
  1977. var nodeCnt = ds_labor_sign.rowcount;
  1978. var signno = "";
  1979. var orddd = ds_labor_send.getColumn(0,"orddd");
  1980. var code = ds_labor_send.getColumn(0,"formcd");
  1981. for( i = 0; i < nodeCnt; i++ ){
  1982. var formcd = ds_labor_sign.getColumn(i,"formcd");
  1983. var signOrddd = ds_labor_sign.getColumn(i,"orddd");
  1984. if( formcd == code && signOrddd == orddd){
  1985. ds_labor_sign.getColumn(i,"signno");
  1986. }
  1987. }
  1988. if(!utlf_isNull(signno)){
  1989. ds_labor_send.setColumn(0,"signno", signno);
  1990. ds_labor_send.setColumn(0,"recsaveflag", "Y");
  1991. }else{
  1992. ds_labor_send.setColumn(0,"signno", "0");
  1993. ds_labor_send.setColumn(0,"recsaveflag", "N");
  1994. }
  1995. var sUserID = sysf_getUserInfo("userid");
  1996. var rowcnt = group6.group5.cboOrddd.index;
  1997. var ordtype = ds_init_orddd.getColumn(rowcnt,"ordtype");
  1998. // 인증서 매번 띄우기 위해 주석
  1999. if(ordtype == "O"){
  2000. var signedrecinfo = zesf_SignData(signrecinfo, sUserID, false); //외래환자일경우 한번만 인증서 띄움
  2001. }
  2002. else{
  2003. var signedrecinfo = zesf_SignData(signrecinfo, sUserID, true);
  2004. }
  2005. //var signedrecinfo = zesfSignData(signrecinfo, sUserID, true);
  2006. if (!utlf_isNull(signedrecinfo)){
  2007. dsf_makeValue(ds_labor_send,"signaftcnts","string", signedrecinfo);
  2008. dsf_makeValue(ds_labor_send,"signbfcnts","string", signrecinfo);
  2009. ds_labor_send.setColumn(0,"status", "U");
  2010. if(submit("TXMRF05204")){
  2011. for(var i=1; i<8; i++){
  2012. ds_labor_send.deleteColumn("imgdata" + i);
  2013. }
  2014. ds_labor_send.deleteColumn("signaftcnts");
  2015. ds_labor_send.deleteColumn("signbfcnts");
  2016. ds_labor_send.deleteColumn("list");
  2017. ds_labor_send.deleteColumn("imginfo");
  2018. ds_labor_send.setColumn(0,"wrtedd", "");
  2019. ds_labor_send.setColumn(0,"wrtetm", "");
  2020. }
  2021. }
  2022. else {
  2023. for(var i=1; i<8; i++){
  2024. //model.removenode("/root/labor/send/imgdata"+i);
  2025. ds_labor_send.deleteColumn("imgdata" + i);
  2026. }
  2027. // model.removenode("/root/labor/send/signaftcnts");
  2028. // model.removenode("/root/labor/send/signbfcnts");
  2029. // model.removenode("/root/labor/send/cond");
  2030. // model.removeNodeset("/root/labor/send/imginfo");
  2031. ds_labor_send.deleteColumn("signaftcnts");
  2032. ds_labor_send.deleteColumn("signbfcnts");
  2033. ds_labor_send.deleteColumn("cond");
  2034. ds_labor_send.deleteColumn("imginfo");
  2035. ds_labor_send.setColumn(0,"wrtedd", "");
  2036. ds_labor_send.setColumn(0,"wrtetm", "");
  2037. }
  2038. }
  2039. /**
  2040. * 기록지에서 엔터키 쳤을시에 오른쪽으로 이동하는 이벤트
  2041. */
  2042. function fMoveFocus(){
  2043. //group6.switch1.case_grth.grd_grth.col=group6.switch1.case_grth.grd_grth.col+1;
  2044. group6.switch1.case_grth.grd_grth.moveToNextCell();
  2045. if(group6.switch1.case_grth.grd_grth.currentCol==4){
  2046. group6.switch1.case_grth.grd_grth.moveToNextCell();
  2047. }
  2048. group6.switch1.case_grth.grd_grth.showEditor(true);
  2049. }
  2050. /**
  2051. * 임시저장 / 인증저장시 환자의 과코드를 다시 확인
  2052. * @return
  2053. */
  2054. function fDeptCheck(){
  2055. if( lgv_Expand == true ){
  2056. group6.switch1.case_grth.btn_grdsize.click();
  2057. form.updateWindow();
  2058. }
  2059. var patorddeptcd1 = ds_send.getColumn(0,"orddeptcd");
  2060. var patorddeptcd2 = ds_pamlist.getColumn(0,"orddeptcd");
  2061. if(patorddeptcd1!=patorddeptcd2){
  2062. sysf_messageBox("환자의 진료과와 진료일자를 정확하게 선택하여 주시기 바랍니다.", "E");
  2063. return false;
  2064. }else{
  2065. return true;
  2066. }
  2067. }
  2068. function lf_makeSignData()
  2069. {
  2070. if(ds_send.rowcount == 0 || ds_temp_grth.rowcount == 0)
  2071. return "";
  2072. var arrRows = new Array();
  2073. var nRow = -1;
  2074. var indx = 0;
  2075. //헤더 생성
  2076. var sign_data = "<send>\n";
  2077. var ColId = "";
  2078. for(var i = 0; i < ds_send.colcount; i++)
  2079. {
  2080. ColId = ds_send.getColID(i);
  2081. if(utlf_isNull(ds_send.getColumn(0, ColId)))
  2082. sign_data += " <" + ColId + "/>\n"
  2083. else
  2084. sign_data += " <" + ColId + "><![CDATA[" + ds_send.getColumn(0, ColId) + "]]]]><![CDATA[></" + ColId + ">\n";
  2085. }
  2086. //grid data 헤더 생성
  2087. sign_data += " <grid>\n";
  2088. //ds_temp_grth part 생성
  2089. for (var i = 0; i < ds_temp_grth.rowcount; i++)
  2090. {
  2091. sign_data += " <list>\n";
  2092. for(var j = 0; j < ds_temp_grth.colcount; j++)
  2093. {
  2094. ColId = ds_temp_grth.getColID(j);
  2095. if(utlf_isNull(ds_temp_grth.getColumn(i, ColId)))
  2096. {
  2097. sign_data += " <" + ColId + "/>\n";
  2098. }
  2099. else
  2100. {
  2101. sign_data += " <" + ColId + "><![CDATA[" + ds_temp_grth.getColumn(i, ColId) + "]]]]><![CDATA[></" + ColId + ">\n";
  2102. }
  2103. }
  2104. sign_data += " </list>\n";
  2105. }
  2106. sign_data += " </grid>\n";
  2107. sign_data += "</send>\n";
  2108. return sign_data;
  2109. }
  2110. ]]></Script>