SPMMO05000.js 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641
  1. /**
  2. * @desc : 공지사항 화면 초기화
  3. * @
  4. * @param :
  5. * @return :
  6. * @author :
  7. * @---------------------------------------------------
  8. */
  9. function fInitialize_SMMMO05000(){
  10. //조회된 조건 초기화
  11. ipt_titl.value = "";
  12. ipt_att.value = "";
  13. ipt_cnts.value = "";
  14. //현재날짜 받아옴
  15. var getdate = getCurrentDate();
  16. model.makeValue("/root/main/listinfo/listinfo/fromdd", getdate);
  17. //한달을 기준으로 한달안에 보내진 공지사항만 보여줌
  18. var todd = ((getCurrentDate().toDate()).getAddDate(30)).getDateFormat();
  19. model.makeValue("/root/main/listinfo/listinfo/todd",todd);
  20. model.refresh();
  21. //구분과 대상을 기본으로 나두기
  22. cmb_flag.select(0);
  23. cmb_trgtcmd.select(0);
  24. //대상이 전체라는 것을 나타냄
  25. model.makeValue("/root/main/listinfo/listinfo/trgtnm",'-');
  26. //공지사항등록그리드를 초기화
  27. model.removeNodeset("/root/main/noticeinfo");
  28. model.removeNodeset("/root/main/delivetrgt");
  29. model.removeNodeset("/root/main/choideptinfo");
  30. model.removeNodeset("/root/main/choiuserinfo");
  31. //대상을 조회(전체, 진료과, 진료의사별) - 부모창에서 받아온
  32. model.copyNode("/root/send/reqdata","/root/main/cond");
  33. submit("TRMMO04903");
  34. //대상을 가지고 대상에 해당하는 공지사항을 조회
  35. model.copyNode("/root/send/reqdata","/root/main/delivetrgt/delivetrgt");
  36. model.copyNode("/root/send/savedata","/root/main/delivetrgt/delivedepttrgt");
  37. model.copyNode("/root/send/save2data","/root/main/delivetrgt/delivedrtrgt");
  38. submit("TRMMO04901");
  39. grd_notice.colSort(16) = "desc";
  40. //긴급 공지인 경우 글자색 변경
  41. var gridrows = grd_notice.rows - grd_notice.fixedRows;
  42. for(var i = 1; i <= gridrows ; i++){
  43. var deliveflag = model.getValue("/root/main/noticeinfo/noticelist[" + i + "]/deliveflag");
  44. if(deliveflag == '1'){
  45. grd_notice.rowstyle(i, "data", "color") = "#c0000ff";
  46. }
  47. }
  48. model.refresh();
  49. }
  50. /**
  51. * @desc : 파일 다운로드 버튼 클릭시 이벤트
  52. * @
  53. * @param :
  54. * @return :
  55. * @author :
  56. * @---------------------------------------------------
  57. */
  58. function fFileDown() {
  59. //파일명를 받아옴
  60. var getfilenm = model.getValue("/root/main/listinfo/listinfo/attfilenm");
  61. //파일명이 있는 경우 다운로드
  62. if(getfilenm != ""){
  63. //파일명을 받아옴
  64. var filenm = model.getValue("/root/main/listinfo/listinfo/attfilenm");
  65. //파일명의 확장자만 받아옴
  66. var fileext = filenm.lastIndexOf(".");
  67. var ext = filenm.substring(fileext +1);
  68. //파일을 다운로드 하기 위해 저장할 창을 띄움
  69. var filesave = window.fileDialog("save","|",false,filenm,ext,"All Files(*.*)|*.*");
  70. //키값을 받아옴
  71. var getno = model.getValue("/root/main/listinfo/listinfo/genrno");
  72. var getdd = model.getValue("/root/main/listinfo/listinfo/genrdd");
  73. //키값을 가지고 DB에 저장된 데이타를 조회하러 간다
  74. if (filesave != "") {
  75. model.download(getActionURL("TRMMO04904")+"&genrno="+getno+"&genrdd="+getdd ,filesave);
  76. }
  77. }
  78. }
  79. /**
  80. * @desc : 공지사항이 보여질 사용자 선택
  81. * @
  82. * @param :
  83. * @return :
  84. * @author :
  85. * @---------------------------------------------------
  86. */
  87. function fSchToUserPart() {
  88. model.removeNodeset("/root/properties/parameters");
  89. //팝업창을 띄워 선택한 id,명을 저장하기 위한 변수를 선언한다.
  90. var sdeptnm ='';
  91. var susernm = '';
  92. var suserid = '';
  93. var sdeptcd = '';
  94. //대상의 종류를 받아온다.
  95. var gettrgtcmd = model.getValue("/root/main/listinfo/listinfo/trgtcmd");
  96. //현재 대상이 몇개인지 확인
  97. var getrows = model.getValue("/root/main/trgtinfo/count");
  98. if(gettrgtcmd == 0){
  99. //전체의 경우 전체의 기본값을 보낸다.
  100. model.makeValue("/root/main/listinfo/listinfo/trgtint", '00000000');
  101. model.makeValue("/root/main/listinfo/listinfo/trgtnm",'-');
  102. }else if(gettrgtcmd == 1){
  103. //부모창에서 자식창으로 전달할 data를 보냄
  104. var cmd = model.getValue("/root/main/trgtinfo/cmd");
  105. if(gettrgtcmd == cmd){
  106. for(var i = 1; i <= getrows; i++){
  107. setParameter("count", model.getValue("/root/main/trgtinfo/count"));
  108. if( i == 1 ){
  109. setParameter("cd", model.getValue("/root/main/trgtinfo/trgtlist[" + i + "]/cd"));
  110. setParameter("nm", model.getValue("/root/main/trgtinfo/trgtlist[" + i + "]/nm"));
  111. }else{
  112. addParameter("cd", model.getValue("/root/main/trgtinfo/trgtlist[" + i + "]/cd"));
  113. addParameter("nm", model.getValue("/root/main/trgtinfo/trgtlist[" + i + "]/nm"));
  114. }
  115. }
  116. }
  117. //model.removeNodeset("/root/main/trgtinfo");
  118. modal("SPMMB08200", "1","150", "150", "SPMMB08200", "", "");
  119. //팝업창에서 확인버튼을 부르면 실행
  120. var useyn = model.getValue("/root/properties/parameters/useyn/useynvalue");
  121. if(useyn == 'Y'){
  122. model.copyNode("/root/main/trgtinfo","");
  123. //팝업창에서 선택한 사용자의 개수를 받아온다.
  124. var getrows = model.getValue("/root/properties/parameters/count/countvalue");
  125. model.makeNode("/root/main/trgtinfo/count");
  126. model.makeNode("/root/main/trgtinfo/cmd");
  127. model.makeValue("/root/main/trgtinfo/count" , getrows);
  128. model.makeValue("/root/main/trgtinfo/cmd" , gettrgtcmd);
  129. //선택한 사용자 개수만큰 포문을 돌려 사용자id, 사용자명을 임의의 변수에 저장한다.
  130. for(var i = 1 ; i <= getrows ; i++){
  131. suserid = suserid + getParameter("cd" , i);
  132. susernm = susernm + getParameter("nm" , i);
  133. //저장하면서 콤마로 구분한다.
  134. if(i != getrows){
  135. susernm = susernm + ", ";
  136. }
  137. model.makeNode("/root/main/trgtinfo/trgtlist[" + i + "]/cd");
  138. model.makeNode("/root/main/trgtinfo/trgtlist[" + i + "]/nm");
  139. model.makeValue("/root/main/trgtinfo/trgtlist[" + i + "]/cd" , getParameter("cd" , i));
  140. model.makeValue("/root/main/trgtinfo/trgtlist[" + i + "]/nm" , getParameter("nm" , i));
  141. }
  142. //임의의 변수에 저한해둔 값을 인스턴스에 넣는다.
  143. model.makeValue("/root/main/listinfo/listinfo/trgtnm", susernm);
  144. model.makeValue("/root/main/listinfo/listinfo/trgtint", suserid);
  145. }else{
  146. var count = model.getValue("/root/main/trgtinfo/count");
  147. var cmd = model.getValue("/root/main/trgtinfo/cmd");
  148. for(var i = 1 ; i <= count ; i++){
  149. suserid = suserid + model.getValue("/root/main/trgtinfo/trgtlist[" + i + "]/cd");
  150. susernm = susernm + model.getValue("/root/main/trgtinfo/trgtlist[" + i + "]/nm");
  151. //저장하면서 콤마로 구분한다.
  152. if(i != count){
  153. susernm = susernm + ", ";
  154. }
  155. }
  156. //임의의 변수에 저한해둔 값을 인스턴스에 넣는다.
  157. model.makeValue("/root/main/listinfo/listinfo/trgtnm", susernm);
  158. model.makeValue("/root/main/listinfo/listinfo/trgtint", suserid);
  159. model.makeValue("/root/main/listinfo/listinfo/trgtcmd",cmd);
  160. }
  161. }else if(gettrgtcmd == 2){
  162. var cmd = model.getValue("/root/main/trgtinfo/cmd");
  163. if(gettrgtcmd == cmd){
  164. //부모창에서 자식창으로 전달할 data를 보냄
  165. for(var i = 1; i <= getrows; i++){
  166. setParameter("count", model.getValue("/root/main/trgtinfo/count"));
  167. if( i == 1 ){
  168. setParameter("cd", model.getValue("/root/main/trgtinfo/trgtlist[" + i + "]/cd"));
  169. setParameter("nm", model.getValue("/root/main/trgtinfo/trgtlist[" + i + "]/nm"));
  170. }else{
  171. addParameter("cd", model.getValue("/root/main/trgtinfo/trgtlist[" + i + "]/cd"));
  172. addParameter("nm", model.getValue("/root/main/trgtinfo/trgtlist[" + i + "]/nm"));
  173. }
  174. }
  175. }
  176. //model.removeNodeset("/root/main/trgtinfo");
  177. modal("SPMMB08100", "1","150", "150", "SPMMB08100", "", "");
  178. //팝업창에서 확인버튼을 부르면 실행
  179. var useyn = model.getValue("/root/properties/parameters/useyn/useynvalue");
  180. if(useyn == 'Y'){
  181. model.removeNodeset("/root/main/trgtinfo");
  182. //팝업창에서 선택한 사용자의 개수를 받아온다.
  183. var getrows = model.getValue("/root/properties/parameters/count/countvalue");
  184. model.makeNode("/root/main/trgtinfo/count");
  185. model.makeNode("/root/main/trgtinfo/cmd");
  186. model.makeValue("/root/main/trgtinfo/count" , getrows);
  187. model.makeValue("/root/main/trgtinfo/cmd" , gettrgtcmd);
  188. //선택한 사용자 개수만큰 포문을 돌려 부서id, 부서명을 임의의 변수에 저장한다.
  189. for(var i = 1 ; i <= getrows ; i++){
  190. sdeptcd = sdeptcd + getParameter("cd" , i);
  191. sdeptnm = sdeptnm + getParameter("nm" , i);
  192. //저장하면서 콤마로 구분한다.
  193. if(i != getrows){
  194. sdeptnm = sdeptnm + ", ";
  195. }
  196. model.makeNode("/root/main/trgtinfo/trgtlist[" + i + "]/cd");
  197. model.makeNode("/root/main/trgtinfo/trgtlist[" + i + "]/nm");
  198. model.makeValue("/root/main/trgtinfo/trgtlist[" + i + "]/cd" , getParameter("cd" , i));
  199. model.makeValue("/root/main/trgtinfo/trgtlist[" + i + "]/nm" , getParameter("nm" , i));
  200. }
  201. //임의의 변수에 저한해둔 값을 인스턴스에 넣는다.
  202. model.makeValue("/root/main/listinfo/listinfo/trgtnm", sdeptnm);
  203. model.makeValue("/root/main/listinfo/listinfo/trgtint", sdeptcd);
  204. } else{
  205. var count = model.getValue("/root/main/trgtinfo/count");
  206. var cmd = model.getValue("/root/main/trgtinfo/cmd");
  207. for(var i = 1 ; i <= count ; i++){
  208. sdeptcd = sdeptcd + model.getValue("/root/main/trgtinfo/trgtlist[" + i + "]/cd");
  209. sdeptnm = sdeptnm + model.getValue("/root/main/trgtinfo/trgtlist[" + i + "]/nm");
  210. //저장하면서 콤마로 구분한다.
  211. if(i != count){
  212. sdeptnm = sdeptnm + ", ";
  213. }
  214. }
  215. //임의의 변수에 저한해둔 값을 인스턴스에 넣는다.
  216. model.makeValue("/root/main/listinfo/listinfo/trgtnm", sdeptnm);
  217. model.makeValue("/root/main/listinfo/listinfo/trgtint", sdeptcd);
  218. model.makeValue("/root/main/listinfo/listinfo/trgtcmd",cmd);
  219. }
  220. }
  221. model.refresh();
  222. }
  223. /**
  224. * @desc : 파일첨부버튼 클릭시 이벤트
  225. * @
  226. * @param :
  227. * @return :
  228. * @author :
  229. * @---------------------------------------------------
  230. */
  231. function fFileAdd() {
  232. //******파일을 첨부하기 위해 파일열기가 open 되게 한다.
  233. //파일의 크기를 측정한다.
  234. var maxsize = upload1.attribute("filesize");
  235. var name = model.getValue("/root/main/listinfo/listinfo/attfilenm");
  236. if(name != '' || name == '-'){
  237. var fileupdata = messageBox(name + " 파일 수정을" , "S001");
  238. if(fileupdata == '6'){
  239. //파일 삭제
  240. //input박스에 나타난 명을 제거
  241. ipt_att.value = "";
  242. //파일 저장
  243. //파일을 받아오기 위해 파일열기 팝업창을 띄운다.
  244. var fileopen = window.fileDialog("open","|","false");
  245. //파일 경로가 아닌 이름만 input박스에 넣기 위한 처리
  246. model.makeValue("/root/main/listinfo/listinfo/attfilenm", fileopen);
  247. var name = model.getValue("/root/main/listinfo/listinfo/attfilenm");
  248. //lastIndexOf함수는 \\이것을 뒤어세 검색하여 나오면 앞에 것은 지운다.
  249. var filename = name.lastIndexOf("\\");
  250. //open 파일명를 input박스에 넣는다.
  251. ipt_att.value = fileopen.substring(filename + 1);
  252. //선택한 파일이 저장버튼을 눌렀을때 저장이 되게 하기 위해 파일 저장 인스턴스에 파일주소를 저장해 둔다.
  253. model.makeValue("/root/send/file/filename", name);
  254. model.refresh();
  255. //파일 크기가 너무 큰경우 메세지를 띄운다.
  256. if (!checkFileSize(upload1)){
  257. ipt_att.value = "";
  258. messageBox("파일 크기가 최대치("+maxsize+"Byte)를", "E003");
  259. }
  260. model.makeValue("/root/main/listinfo/listinfo/fileyn", 'Y');
  261. }else if(fileupdata == '7'){
  262. messageBox(name + " 파일 수정을 하지", "E007");
  263. model.makeValue("/root/main/listinfo/listinfo/fileyn", 'N');
  264. }else{
  265. }
  266. }else{
  267. //파일을 받아오기 위해 파일열기 팝업창을 띄운다.
  268. var fileopen = window.fileDialog("open","|","false");
  269. //파일 경로가 아닌 이름만 input박스에 넣기 위한 처리
  270. model.makeValue("/root/main/listinfo/listinfo/attfilenm", fileopen);
  271. var name = model.getValue("/root/main/listinfo/listinfo/attfilenm");
  272. //lastIndexOf함수는 \\이것을 뒤어세 검색하여 나오면 앞에 것은 지운다.
  273. var filename = name.lastIndexOf("\\");
  274. //open 파일명를 input박스에 넣는다.
  275. ipt_att.value = fileopen.substring(filename + 1);
  276. //선택한 파일이 저장버튼을 눌렀을때 저장이 되게 하기 위해 파일 저장 인스턴스에 파일주소를 저장해 둔다.
  277. model.makeValue("/root/send/file/filename", name);
  278. model.refresh();
  279. //파일 크기가 너무 큰경우 메세지를 띄운다.
  280. if (!checkFileSize(upload1)){
  281. ipt_att.value = "";
  282. messageBox("파일 크기가 최대치("+maxsize+"Byte)를", "E003");
  283. }
  284. model.makeValue("/root/main/listinfo/listinfo/fileyn", 'Y');
  285. }
  286. }
  287. /**
  288. * @desc : 삭제시 발생하는 이벤트
  289. * @
  290. * @param :
  291. * @return :
  292. * @author :
  293. * @---------------------------------------------------
  294. */
  295. function fFileDel() {
  296. //등록된 파일을 삭제하기 위해 상태값을 삭제로 만든다.
  297. model.makeValue("/root/main/listinfo/listinfo/status",'d');
  298. var name = model.getValue("/root/main/listinfo/listinfo/attfilenm");
  299. if((name != '')){
  300. var fileupdata = messageBox(name + " 파일 삭제를" , "S001");
  301. if(fileupdata == '6'){
  302. //파일 삭제
  303. //input박스에 나타난 명을 제거
  304. ipt_att.value = "";
  305. }
  306. }
  307. //기존 상태값으로 변경한다.
  308. model.makeValue("/root/main/listinfo/listinfo/status",'u');
  309. model.refresh();
  310. }
  311. /**
  312. * @desc : 공지사항 내용 상세 조회
  313. * @
  314. * @param :
  315. * @return :
  316. * @author :
  317. * @---------------------------------------------------
  318. */
  319. function fNoticeDetlReq() {
  320. //선택한 그리스row값을 받아 row값을 저장해 둔다.
  321. var gridrow = grd_notice.row;
  322. var rows = grd_notice.rows;
  323. var getnm = '';
  324. //그리드의 대상명을 받아옴
  325. var trgtnm = model.getValue("/root/main/noticeinfo/noticelist[" + gridrow +"]/trgtnm");
  326. //그리드 대상명이 존재하는 경우 화면에 보여줌
  327. if(trgtnm != ''){
  328. model.makeValue("/root/main/listinfo/listinfo/trgtnm", trgtnm);
  329. }else{
  330. //대상명이 존재하지 않는 경우
  331. //********************대상이 여러대상일 경우 대상을 모두 받아온다.
  332. //대상종류를 받아옴
  333. var getcmd = model.getValue("/root/main/noticeinfo/noticelist[" + gridrow +"]/trgtcmd");
  334. //공지사항에 해당하는 대상을 조회(대상의코드를 받아옴)
  335. model.copyNode("/root/send/reqdata","/root/main/noticeinfo/noticelist[" + gridrow +"]");
  336. submit("TRMMO04902");
  337. //대상이 전체인 경우
  338. if(getcmd == 0){
  339. model.makeValue("/root/main/listinfo/listinfo/trgtint",'00000000');
  340. //******************대상이 개인인 경우
  341. }else if(getcmd == 1){
  342. //대상 개인의 id 조건을 가지고 대상 개인명을 조회
  343. model.copyNode("/root/send/savedata","/root/main/delivetrgt");
  344. submit("TRMMB08203");
  345. //대상 조회에 ","구분하여 연결하여 개인명을 나타내기 위해 변수에 연결하여 저장
  346. var count = getNodesetCnt(model, "/root/main/choiuserinfo/choiuserlist");
  347. for(var i = 1 ; i <= count ; i++){
  348. getnm = getnm + model.getValue("/root/main/choiuserinfo/choiuserlist[" + i + "]/usernm");
  349. //대상 조회에 ","구분
  350. if(i != count){
  351. getnm = getnm + ", ";
  352. }
  353. }
  354. model.removeNodeset("/root/main/choideptinfo");
  355. model.removeNodeset("/root/main/choiuserinfo");
  356. //************대상이 부서인 경우
  357. }else if(getcmd == 2){
  358. //대상 부서의 cd 조건을 가지고 대상 부서명을 조회
  359. model.copyNode("/root/send/savedata","/root/main/delivetrgt");
  360. submit("TRMMB08102");
  361. //대상 조회에 ","구분하여 연결하상여 부서명을 나타내기 위해 변수에 연결하여 저장
  362. var count = getNodesetCnt(model, "/root/main/choideptinfo/choideptlist");
  363. for(var i = 1 ; i <= count ; i++){
  364. getnm = getnm + model.getValue("/root/main/choideptinfo/choideptlist[" + i + "]/deptnm");
  365. //대상 조회에 ","구분
  366. if(i != count){
  367. getnm = getnm + ", ";
  368. }
  369. }
  370. model.removeNodeset("/root/main/choideptinfo");
  371. model.removeNodeset("/root/main/choiuserinfo");
  372. }
  373. if(getcmd == 0){
  374. model.makeValue("/root/main/listinfo/listinfo/trgtnm",'-');
  375. }else{
  376. model.makeValue("/root/main/listinfo/listinfo/trgtnm",getnm);
  377. }
  378. model.makeValue("/root/main/listinfo/listinfo/trgtcmd",getcmd);
  379. model.makeValue("/root/main/noticeinfo/noticelist[" + gridrow + "]/trgtcmd",getcmd);
  380. if(getcmd == 0){
  381. model.makeValue("/root/main/noticeinfo/noticelist[" + gridrow + "]/trgtnm",'-');
  382. }else{
  383. model.makeValue("/root/main/noticeinfo/noticelist[" + gridrow + "]/trgtnm",getnm);
  384. }
  385. }
  386. //선택한 그리드 값을 오르쪽에 뿌려준다.
  387. var getdelivetitl = model.getValue("/root/main/noticeinfo/noticelist[" + gridrow + "]/delivetitl");
  388. var getdeliveflag = model.getValue("/root/main/noticeinfo/noticelist[" + gridrow + "]/deliveflag");
  389. var getattfilenm = model.getValue("/root/main/noticeinfo/noticelist[" + gridrow + "]/attfilenm");
  390. var getdelivecnts = model.getValue("/root/main/noticeinfo/noticelist[" + gridrow + "]/delivecnts");
  391. var getgenrno = model.getValue("/root/main/noticeinfo/noticelist[" + gridrow + "]/genrno");
  392. var getgenrdd = model.getValue("/root/main/noticeinfo/noticelist[" + gridrow + "]/genrdd");
  393. var getuserid = model.getValue("/root/main/noticeinfo/noticelist[" + gridrow + "]/updtrid");
  394. var getfromdd = model.getValue("/root/main/noticeinfo/noticelist[" + gridrow + "]/fromdd");
  395. var gettodd = model.getValue("/root/main/noticeinfo/noticelist[" + gridrow + "]/todd");
  396. var getnm = model.getValue("/root/main/noticeinfo/noticelist[" + gridrow + "]/trgtnm");
  397. var getcmd = model.getValue("/root/main/noticeinfo/noticelist[" + gridrow + "]/trgtcmd");
  398. model.makeValue("/root/main/listinfo/listinfo/delivetitl", getdelivetitl);
  399. model.makeValue("/root/main/listinfo/listinfo/deliveflag", getdeliveflag);
  400. model.makeValue("/root/main/listinfo/listinfo/delivecnts", getdelivecnts);
  401. model.makeValue("/root/main/listinfo/listinfo/genrno", getgenrno);
  402. model.makeValue("/root/main/listinfo/listinfo/genrdd", getgenrdd);
  403. model.makeValue("/root/main/listinfo/listinfo/updtrid", getuserid);
  404. model.makeValue("/root/main/listinfo/listinfo/fromdd", getfromdd);
  405. model.makeValue("/root/main/listinfo/listinfo/todd", gettodd);
  406. model.makeValue("/root/main/listinfo/listinfo/trgtnm", getnm);
  407. model.makeValue("/root/main/listinfo/listinfo/trgtcmd", getcmd);
  408. if(getattfilenm == ''){
  409. model.makeValue("/root/main/listinfo/listinfo/attfilenm", '-');
  410. }else{
  411. model.makeValue("/root/main/listinfo/listinfo/attfilenm", getattfilenm);
  412. }
  413. model.refresh();
  414. }
  415. /**
  416. * @desc : 공지사항 내용 삭제
  417. * @
  418. * @param :
  419. * @return :
  420. * @author :
  421. * @---------------------------------------------------
  422. */
  423. function fNoticeDel() {
  424. //상태값을 삭제로 인스턴스에 넣는다.
  425. model.makeValue("/root/main/listinfo/listinfo/status","d");
  426. //조건의 값들을 가지고 삭제하러 간다.
  427. model.makeValue("/root/main/listinfo/listinfo/orddrid",model.getValue("/root/main/cond/orddrid"));
  428. var username = getUserName();
  429. var name = model.getValue("/root/main/listinfo/listinfo/updtrid");
  430. model.makeValue("/root/main/listinfo/listinfo/orddeptcd",model.getValue("/root/main/cond/orddeptcd"));
  431. model.copyNode("/root/send/savedata","/root/main/listinfo/listinfo");
  432. if (username == name) {
  433. submit("TXMMO04901");
  434. } else {
  435. messageBox("작성자만 삭제 ","I006");
  436. return;
  437. }
  438. //조회된 조건 초기화
  439. ipt_titl.value = "";
  440. ipt_att.value = "";
  441. ipt_cnts.value = "";
  442. ipt_trgtnm.value = "";
  443. //현재날짜 받아옴
  444. var getdate = getCurrentDate();
  445. model.makeValue("/root/main/listinfo/listinfo/fromdd", getdate);
  446. //한달을 기준으로 한달안에 보내진 공지사항만 보여줌
  447. var todd = ((getCurrentDate().toDate()).getAddDate(30)).getDateFormat();
  448. model.makeValue("/root/main/listinfo/listinfo/todd",todd);
  449. model.refresh();
  450. //구분과 대상을 기본으로 나두기
  451. cmb_flag.select(0);
  452. cmb_trgtcmd.select(0);
  453. model.makeValue("/root/main/listinfo/listinfo/trgtnm",'-');
  454. ipt_trgtnm.value = "-";
  455. model.refresh();
  456. }
  457. /**
  458. * @desc : 공지사항 신규 /수정 후 저장
  459. * @
  460. * @param :
  461. * @return :
  462. * @author :
  463. * @---------------------------------------------------
  464. */
  465. function fExeSvae() {
  466. var status = model.getValue("/root/main/listinfo/listinfo/status");
  467. if (status =="i") {
  468. model.copyNode("/root/send/savedata","/root/main/listinfo/listinfo");
  469. submit("TXMMO04901");
  470. //키값을 부여 받은것을 다른 대상과 첨부파일 저장시에도 같은 키값으로 저장되도록 값을 보낸다.
  471. //발생번호, 발생날짜를 대상,첨부파일 저장시에도 키값을 가져가도록 키값을 넘겨줌
  472. var getDD = model.getValue("/root/main/keyinfo/keylist/genrdd");
  473. var getNO = model.getValue("/root/main/keyinfo/keylist/genrno");
  474. model.makeValue("/root/main/listinfo/listinfo/genrdd", getDD);
  475. model.makeValue("/root/main/listinfo/listinfo/genrno", getNO);
  476. var gettrgtcmd = model.getValue("/root/main/listinfo/listinfo/Trgtcmd");
  477. if(gettrgtcmd == 0){
  478. //전체인 경우 기본 전체값을 가지고 저장하러 간다.
  479. model.makeValue("/root/main/listinfo/listinfo/trgtint",'00000000');
  480. model.copyNode("/root/send/savedata","/root/main/listinfo/listinfo");
  481. submit("TXMMO04902");
  482. }else{
  483. var gettrgtrow = model.getValue("/root/properties/parameters/count/countvalue");
  484. for(var i = 1 ; i <= gettrgtrow ; i++){
  485. var getid = model.getValue("/root/properties/parameters/cd/cdvalue[" + i + "]");
  486. model.makeValue("/root/main/listinfo/listinfo/trgtint", getid);
  487. model.copyNode("/root/send/savedata","/root/main/listinfo/listinfo");
  488. submit("TXMMO04902");
  489. }
  490. }
  491. // 수정일 때 로직 추가
  492. } else if (status=="u") {
  493. model.copyNode("/root/send/savedata","/root/main/listinfo/listinfo");
  494. model.makeValue("/root/send/savedata/delivecnts", model.getValue("/root/main/listinfo/listinfo/delivecnts"));
  495. model.makeValue("/root/send/savedata/delivetitl", model.getValue("/root/main/listinfo/listinfo/delivetitl"));
  496. model.makeValue("/root/send/savedata/fromdd", model.getValue("/root/main/listinfo/listinfo/fromdd"));
  497. model.makeValue("/root/send/savedata/todd", model.getValue("/root/main/listinfo/listinfo/todd"));
  498. model.makeValue("/root/send/savedata/trgtcmd", model.getValue("/root/main/listinfo/listinfo/trgtcmd"));
  499. submit("TXMMO04901");
  500. var getDD = model.getValue("/root/main/listinfo/listinfo/genrdd");
  501. var getNo = model.getValue("/root/main/listinfo/listinfo/genrno");
  502. var getTrgtCmd = model.getValue("/root/main/listinfo/listinfo/trgtcmd");
  503. if (getTrgtCmd == 0 || getTrgtCmd == null || getTrgtCmd =="") {
  504. model.makeValue("/root/main/listinfo/listinfo/trgtint",'00000000');
  505. model.copyNode("/root/send/savedata","/root/main/listinfo/listinfo");
  506. submit("TXMMO04902");
  507. } else {
  508. var gettrgtrow = model.getValue("/root/properties/parameters/count/countvalue");
  509. for(var i = 1 ; i <= gettrgtrow ; i++){
  510. var getid = model.getValue("/root/properties/parameters/cd/cdvalue[" + i + "]");
  511. model.makeValue("/root/main/listinfo/listinfo/trgtint", getid);
  512. model.copyNode("/root/send/savedata","/root/main/listinfo/listinfo");
  513. submit("TXMMO04902");
  514. }
  515. }
  516. }
  517. //model.copyNode("/root/main/delivetrgt","");
  518. var fileyn = model.getValue("/root/main/listinfo/listinfo/fileyn");
  519. //신규 등록이거나 파일을 삭제하였고 첨부파일 명이 있는경우
  520. if((fileyn == 'Y')){
  521. //**********첨부파일을 BLOB 형태로 DB에 올림
  522. //선택한 파일의 첨부파일을 선택하기 위해 키를 가지고 간다.
  523. var getno = model.getValue("/root/main/listinfo/listinfo/genrno");
  524. var getdd = model.getValue("/root/main/listinfo/listinfo/genrdd");
  525. model.makeValue("/root/send/file/genrno", getno);
  526. model.makeValue("/root/send/file/genrdd", getdd);
  527. model.makeValue("/root/send/file/orddrid",model.getValue("/root/main/cond/orddrid"));
  528. model.makeValue("/root/send/file/orddeptcd",model.getValue("/root/main/cond/orddeptcd"));
  529. // 파일을 DB에 올린다.
  530. submit("TXMMO04903");
  531. }
  532. fInitialize_SMMMO05000();
  533. grd_notice.refresh();
  534. }
  535. function fNewNotice() {
  536. //**********초기화
  537. //제목, 대상, 첨부, 내용에 data 제거
  538. ipt_titl.value = "";
  539. ipt_att.value = "";
  540. ipt_cnts.value = "";
  541. //기간을 초기화
  542. var getdate = getCurrentDate();
  543. model.makeValue("/root/main/listinfo/listinfo/fromdd", getdate);
  544. var todd = ((getCurrentDate().toDate()).getAddDate(30)).getDateFormat();
  545. model.makeValue("/root/main/listinfo/listinfo/todd",todd);
  546. model.refresh();
  547. //콤보박스를 초기화
  548. cmb_flag.select(0);
  549. cmb_trgtcmd.select(0);
  550. //대상이 전체로 초기화 되므로 전체로 대상내용에 나타나게 한다
  551. model.makeValue("/root/main/listinfo/listinfo/trgtnm",'-');
  552. //진료과와 진료의사 값을 받아온다.
  553. model.makeValue("/root/main/listinfo/listinfo/orddrid",model.getValue("/root/main/cond/orddrid"));
  554. model.makeValue("/root/main/listinfo/listinfo/orddeptcd",model.getValue("/root/main/cond/orddeptcd"));
  555. model.removeNodeset("/root/main/trgtinfo");
  556. model.removeNodeset("/root/main/keyinfo/keylist");
  557. model.refresh();
  558. }