SMPID20400.xjs 42 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[function lf_fInitialize()
  3. {
  4. // 조회조건 초기화
  5. ds_send.clearData();
  6. ds_send.addRow();
  7. // 공통코드를 조회한다.
  8. appf_getCodeList([{bizFlag: "Z", cdGrpId: "P0008", dsNm: "ds_init_P0008", sortField: "", sortMethod: ""}// 보험유형
  9. ,{bizFlag: "Z", cdGrpId: "P0010", dsNm: "ds_init_P0010", sortField: "", sortMethod: ""}// 보조유형
  10. ,{bizFlag: "Z", cdGrpId: "P0151", dsNm: "ds_init_P0151", sortField: "", sortMethod: ""}// 심사상태 / 심사완료여부
  11. ,{bizFlag: "Z", cdGrpId: "P0155", dsNm: "ds_init_P0155", sortField: "", sortMethod: ""}// 청구분야(진료분야)
  12. ,{bizFlag: "Z", cdGrpId: "P0291", dsNm: "ds_init_P0291", sortField: "", sortMethod: ""}// 특정기호
  13. ,{bizFlag: "Z", cdGrpId: "P0650", dsNm: "ds_init_P0650", sortField: "", sortMethod: ""}// 진료분야(자보용)
  14. ,{bizFlag: "Z", cdGrpId: "P0319", dsNm: "ds_init_P0319", sortField: "", sortMethod: ""}// 청구구분
  15. ,{bizFlag: "Z", cdGrpId: "P0430", dsNm: "ds_init_P0430", sortField: "", sortMethod: ""}// 청구완료여부(명세서상태)
  16. ,{bizFlag: "Z", cdGrpId: "P0486", dsNm: "ds_init_P0486", sortField: "", sortMethod: ""}// 필수심사
  17. ,{bizFlag: "Z", cdGrpId: "P0630", dsNm: "ds_init_P0630", sortField: "", sortMethod: ""}// 보험유형
  18. ,{bizFlag: "Z", cdGrpId: "P0631", dsNm: "ds_init_P0631", sortField: "", sortMethod: ""}]//오류체크
  19. , true // 최소 컬럼 조회여부
  20. , false // 비동기 여부
  21. ); // callBack 함수명
  22. // 보험공통코드 조회
  23. pamfGetCodeList([{cdGrpId: "P0201", dsNm: "ds_init_P0201", sortField: "", sortMethod: ""}
  24. ,{cdGrpId: "PK032", dsNm: "ds_init_PK032", sortField: "", sortMethod: "", showValue: true}], false); // 최소 컬럼 조회여부
  25. grdf_GetUuee("ds_send_listval_uuee", "ds_hidden_listval_uuee",frmf_getScreenID(), "cf_Uuee_"+frmf_getScreenID());
  26. // 동은관리번호 보험-0063 요구사항 상세: 3.3 분철과 : 전체, 내과, 외과, 산소, 안이, 피비, 치과, 보호정신과(의료급여일때만 표시)
  27. ds_init_P0291.filter("cdid != '7'");
  28. ds_init_P0291.insertRow(0);
  29. // 진료분야(자보) 전체 추가
  30. ds_init_P0650.insertRow(0);
  31. ds_init_P0650.setColumn(0, "cdid", "");
  32. ds_init_P0650.setColumn(0, "cdnm", "전체");
  33. // 특정기호
  34. ds_init_P0319.setColumn(0, "cdid", "");
  35. ds_init_P0319.setColumn(0, "cdnm", "전체");
  36. ds_send.setColumn(0, "spclmark", "");
  37. ds_init_P0008.insertRow(0);
  38. ds_init_P0008.setColumn(0, "cdid", "1");
  39. ds_init_P0008.setColumn(0, "cdnm", "보험+급여");
  40. ds_init_P0008.insertRow(1);
  41. ds_init_P0008.setColumn(1, "cdid", "2");
  42. ds_init_P0008.setColumn(1, "cdnm", "급여전체");
  43. ds_send.setColumn(0, "clamym", utlf_getCurrentDate().toDate().getAddDate(-1, "M").getDateFormat("YYYYMM"));
  44. ds_send.setColumn(0, "clamtoym", utlf_getCurrentDate().toDate().getAddDate(-1, "M").getDateFormat("YYYYMM"));
  45. ds_send.setColumn(0, "ioflag", "O");
  46. ds_send.setColumn(0, "judgrid", sysf_getUserId());
  47. // 심사자, 보조유형, 진료의사, 청구과, 진료과, 심사자유무정보 조회
  48. tranf_submit({
  49. id: "TRPID20201"
  50. , service: "aftjudgapp.InAftJudgTrgtMan"
  51. , method: "reqGetInitComCd"
  52. , inds : "req=ds_send"
  53. , outds: "ds_init_judgrid=judgrid ds_init_suppkind=suppkind ds_init_orddrid=orddrid ds_init_orddrid2=orddrid2 ds_init_clamdept=clamdept ds_init_orddeptcd=orddeptcd ds_init_orddeptcd2=orddeptcd2 ds_init_item3=item3 ds_init_aftjudgerlist=aftjudgerr"
  54. , async: false
  55. });
  56. var userid = sysf_getUserId();
  57. var usernm = sysf_getUserName();
  58. var frowCnt = ds_init_judgrid.findRow("judgrid",userid);
  59. if (frowCnt < 0) {
  60. var arow = ds_init_judgrid.addRow()
  61. ds_init_judgrid.setColumn(arow, "judgrid",userid);
  62. ds_init_judgrid.setColumn(arow, "judgrnm",usernm);
  63. }
  64. var patunitsrch1 = null;
  65. try {
  66. patunitsrch1 = args_ds_send.getColumn(0, "patunitsrch1");
  67. } catch(e) {
  68. }
  69. ds_init_suppkind.insertRow(0);
  70. ds_init_suppkind.setColumn(0, "up", "");
  71. ds_init_suppkind.setColumn(0, "cd", "");
  72. ds_init_suppkind.setColumn(0, "nm", "전체");
  73. // 데이터셋을 초기화한다.
  74. lf_fInitSrchData();
  75. ds_send.setColumn(0, "patunitsrch1", patunitsrch1);
  76. ds_data_clamflag.copyData(ds_init_P0155); // 그리드에서 보여줄 청구구분
  77. lf_showDsValue(ds_init_P0155, "cdid", "cdnm");
  78. lf_showDsValue(ds_init_P0151, "cdid", "cdnm");
  79. lf_showDsValue(ds_init_P0486, "cdid", "cdnm");
  80. // 사후심사 화면에서 등록번호를 입력하고 Enter 친 경우 해당 환자를 조회하여 보여준다.
  81. if ( !utlf_isNull(patunitsrch1))
  82. {
  83. // 대상자 화면을 취소하고 닫은 후 다시 열때 기존에 심사하던 환자 정보로 다시 조회하지 않도록
  84. lf_fSetPatUnitSrch1pidSrch(opener.ds_send_smpid00400,opener.ds_rslt_smpid20400);
  85. }
  86. // 청구차수조회위한 청구월, 내원구분셋팅
  87. grp_biz.grp_sea.cp_monthCal00.setData(utlf_getCurrentDate().toDate().getAddDate(-1, "M").getDateFormat("YYYYMM"));
  88. ds_send.setColumn(0, "clamym", utlf_getCurrentDate().toDate().getAddDate(-1, "M").getDateFormat("YYYYMM"));
  89. ds_send.setColumn(0, "ioflag", "O");
  90. fn_cp_monthCal00("grp_biz.grp_sea.cp_monthCal00");
  91. // 삭감처방 조회기준 초기화
  92. ds_send.setColumn(0, "cutviewyn", "Y");
  93. ds_send.setColumn(0, "cutprcpsel", "1");
  94. // 진료과 약어 표시: [약어]+진료과명
  95. // ds_init_orddeptcd.addColumn("cdid_cdnm", "STRING");
  96. // for(i = 0 ; i < ds_init_orddeptcd.rowcount ; i++ ){
  97. // ds_init_orddeptcd.setColumn(i, "cdid_cdnm", "["+ds_init_orddeptcd.getColumn(i, "cd")+"] "+ds_init_orddeptcd.getColumn(i, "nm"));
  98. // }
  99. // grp_biz.grp_sea.cmd_orddeptcd.datacolumn = "cdid_cdnm";
  100. grp_biz.grp_sea.cmd_orddeptcd.index = 0;
  101. appf_showValue(ds_init_PK032);
  102. }
  103. //=======================================================================================
  104. // Function
  105. //---------------------------------------------------------------------------------------
  106. /****************************************************************************************
  107. * Argument : 01.srchMode : 검색모드
  108. * Description : 조회조건 체크
  109. ****************************************************************************************/
  110. function lf_fCheckSrchCond(srchMode)
  111. {
  112. if (srchMode == "pidSrch")
  113. {
  114. var patunitsrch1 = utlf_transNullToEmpty(grp_biz.grp_sea.ipt_patunitsrch.value).getTrim(); // (stringHelper.js) 문자열 앞뒤 공백 제거
  115. var patmode = ds_send.getColumn(0,"patmode"); // 환자조회시 번호로 할것인지 성명으로 할것인지 결정 - 20090810 박창원
  116. ds_send.setColumn(0, "patunitsrch1", patunitsrch1);
  117. var clamym = ds_send.getColumn(0, "clamym");
  118. if (!utlf_isValidDateTime(clamym,"YYYYMM"))
  119. {
  120. sysf_messageBox("올바른 형식의 청구년월을 ", "C001"); ///올바른 형식의 청구년월을 입력하십시오.
  121. return false;
  122. }
  123. var clamtoym = ds_send.getColumn(0, "clamtoym");
  124. if (!utlf_isValidDateTime(clamtoym,"YYYYMM"))
  125. {
  126. sysf_messageBox("올바른 형식의 청구년월을 ", "C001"); ///올바른 형식의 청구년월을 입력하십시오.
  127. return false;
  128. }
  129. // 환자로 조회
  130. if (utlf_isNull(patunitsrch1))
  131. {
  132. ds_send.setColumn(0, "patunitsrch2", "");
  133. }
  134. else if (patmode == "1")
  135. { // 환자번호로 조회한다.
  136. ds_send.setColumn(0, "patunitsrch2", "pidSrch");
  137. }
  138. else
  139. {
  140. if (patunitsrch1.length > 1)
  141. {
  142. ds_send.setColumn(0, "patunitsrch2", "nmSrch");
  143. }
  144. else
  145. {
  146. sysf_messageBox("환자단위조회시 검색할 환자이름은 2글자 이상", "C001"); ///환자단위조회시 검색할 환자이름은 2글자 이상 입력하십시오.
  147. grp_biz.grp_sea.ipt_patunitsrch.setFocus();
  148. ds_send.setColumn(0, "patunitsrch2", "");
  149. return false;
  150. }
  151. }
  152. }
  153. else if (srchMode == "docuSrch")
  154. {
  155. // 명번호 범위를 확인한다.
  156. var docuseqno1 = grp_biz.grp_sea.ipt_docuseqno1.value;
  157. var docuseqno2 = grp_biz.grp_sea.ipt_docuseqno2.value;
  158. if (!utlf_isNull(docuseqno1) && !utlf_isNull(docuseqno2))
  159. {
  160. if (docuseqno1 > docuseqno2)
  161. {
  162. //명번호 검색 시작번호가 끝번호 보다 클 수 없습니다.
  163. sysf_messageBox("명번호 검색 시작번호가 끝번호 보다 클 수", "I004");
  164. return false;
  165. }
  166. ds_send.setColumn(0, "patunitsrch2", "docuSrch");
  167. return true;
  168. }
  169. else
  170. {
  171. //명번호를 입력하십시오!
  172. sysf_messageBox("명번호를", "C001");
  173. return false;
  174. }
  175. }
  176. // 환자단위조회를 하지 않는 경우
  177. else
  178. {
  179. ds_send.setColumn(0, "patunitsrch2", "");
  180. // 명번호 범위를 확인한다.
  181. var docuseqno1 = grp_biz.grp_sea.ipt_docuseqno1.value;
  182. var docuseqno2 = grp_biz.grp_sea.ipt_docuseqno2.value;
  183. if (!utlf_isNull(docuseqno1) && !utlf_isNull(docuseqno2))
  184. {
  185. if (docuseqno1 > docuseqno2)
  186. {
  187. // 명번호 검색 시작번호가 끝번호 보다 클 수 없습니다.
  188. sysf_messageBox("명번호 검색 시작번호가 끝번호 보다 클 수", "I004");
  189. return false;
  190. }
  191. }
  192. // 총진료비, 본인부담금 입력 범위를 확인한다.
  193. var totordamt = grp_biz.grp_sea.ipt_totordamt.value;
  194. if ( !utlf_isNull(totordamt) )
  195. {
  196. if ( totordamt > 2147483647 )
  197. {
  198. // 입력 가능한 총진료비 범위를 초과하였습니다.
  199. sysf_messageBox("입력 가능한 총진료비 범위를", "E003");
  200. return false;
  201. }
  202. }
  203. var ownbamt = grp_biz.grp_sea.ipt_ownbamt.value;
  204. if (ownbamt)
  205. {
  206. if (ownbamt > 2147483647)
  207. {
  208. // 입력 가능한 본인부담금 범위를 초과하였습니다.
  209. sysf_messageBox("입력 가능한 본인부담금 범위를", "E003");
  210. return false;
  211. }
  212. }
  213. // 선별심사대상을 설정한다.
  214. var choicdsrch2 = grp_biz.grp_sea.ipt_choicdsrch.value;
  215. if (!utlf_isNull(choicdsrch2))
  216. {
  217. var choicdsrch1 = ds_send.getColumn(0, "choicdsrch1");
  218. if (utlf_isNull(choicdsrch1))
  219. {
  220. //선별심사 조건을 명칭, 수가, EDI 중에 선택하십시오.
  221. sysf_messageBox("선별심사 조건을 명칭, 수가, EDI 중에", "C002");
  222. return false;
  223. }
  224. else if (choicdsrch1 == "1")
  225. {
  226. // 명칭인 경우
  227. for ( var i=0; i < choicdsrch2.length; i++ )
  228. {
  229. if (choicdsrch2.charCodeAt(i) > 255)
  230. {
  231. // 한글이 들어오면 255보다 크다.
  232. ds_send.setColumn(0, "choicdsrch1", "2"); // 2: 한글명
  233. }
  234. }
  235. }
  236. else
  237. {
  238. // 수가와 EDI 코드 검색의 경우 대문자로 조건값을 변환한다.
  239. ds_send.setColumn(0, "choicdsrch2", choicdsrch2.toUpperCase());
  240. }
  241. }
  242. }
  243. return true;
  244. }
  245. /****************************************************************************************
  246. * Argument :
  247. * Description : 데이터셋 초기화
  248. ****************************************************************************************/
  249. function lf_fInitSrchData()
  250. {
  251. // grid를 인스턴스에 mapping후 인스턴스에 해당하는 빈줄 1줄이 생기므로 grid 초기화
  252. ds_grid_grd_clbsmast.clearData();
  253. // 주치의 비활성화
  254. grp_biz.grp_sea.cmb_orddrid.enable = false;
  255. // 보조유형 전체
  256. frmf_addComboItem("grp_biz.grp_sea.cmb_suppkind", "전체", '');
  257. // 보험유형 전체
  258. frmf_addComboItem("grp_biz.grp_sea.cmb_insukind", "전체", '');
  259. // 청구구분 전체
  260. frmf_addComboItem("grp_biz.grp_sea.cmb_clamflagcd", "전체", '');
  261. // 심사상태 전체
  262. frmf_addComboItem("grp_biz.grp_sea.cmb_judgendyn", "전체", '');
  263. // 오류체크 전체
  264. frmf_addComboItem("grp_biz.grp_sea.cmb_chkflagcd", "전체", '');
  265. frmf_addComboItem("grp_biz.grp_sea.cmb_chkitemcd", "전체", '');
  266. //ds_send.setColumn(0, "judgrid", '');
  267. ds_send.setColumn(0, "clamflagcd", '');
  268. ds_send.setColumn(0, "judgendyn", 'ANB');
  269. ds_send.setColumn(0, "surecd", '');
  270. ds_send.setColumn(0, "ordfildcd", '');
  271. ds_send.setColumn(0, "clamdeptcd", '');
  272. ds_send.setColumn(0, "orddeptcd", '');
  273. ds_send.setColumn(0, "orddrid", '');
  274. ds_send.setColumn(0, "insukindcd", '1');
  275. ds_send.setColumn(0, "suppkindcd", '');
  276. ds_send.setColumn(0, "chkflagcd", '');
  277. ds_send.setColumn(0, "chkitemcd", '');
  278. ds_send.setColumn(0, "srchcnt", '500');
  279. var lastMonth = utlf_getCurrentDate().toDate().getAddDate(-1, "M").getDateFormat("YYYYMM");
  280. grp_biz.grp_sea.cp_monthCal01.setData(lastMonth);
  281. ds_send.setColumn(0, "clamym", lastMonth);
  282. ds_send.setColumn(0, "clamtoym", lastMonth);
  283. // 조회 조건을 초기화한다.
  284. ds_send.setColumn(0, "cmbtotordamt", "2"); // 3: 원이상
  285. ds_send.setColumn(0, "cmbownbamt", "3"); // 3: 원이상
  286. ds_send.setColumn(0, "choicdsrch1", "4"); // 4: EDI
  287. ds_send.setColumn(0, "patmode", "1"); // 3: 원이상
  288. }
  289. //=======================================================================================
  290. // Function
  291. //---------------------------------------------------------------------------------------
  292. /****************************************************************************************
  293. * Argument :
  294. * Description : 화면 권한을 설정
  295. ****************************************************************************************/
  296. function lf_fCheckAuth()
  297. {
  298. if (!frmf_isPopup())
  299. {
  300. // (common.js) 자신이 팝업인지 아닌지를 리턴한다.
  301. // (RXP)팝업이 아닌 경우 처리권한을 부여하지 않는다.
  302. ds_data_properties.setColumn(0, "auth", "10100000");
  303. }
  304. // 출력권한(보고서 출력, 엑셀 내려받기 등)
  305. var pAuth = !frmf_checkAuth("P");
  306. grp_biz.btn_excelsave.enable = pAuth;
  307. grp_biz.btn_print.enable = !pAuth;
  308. // 처리권한(입력, 수정, 삭제 등)
  309. var xAuth = !frmf_checkAuth("X");
  310. grp_biz.btn_confirm.disabled = xAuth;
  311. grp_biz.btn_cancel.disabled = xAuth;
  312. }
  313. /****************************************************************************************
  314. * Argument : 01.srchMode : 검색모드
  315. * Description : "조회" Btn 외래사후심사대상자 조회를 요청한다.
  316. ****************************************************************************************/
  317. function lf_fGetOutAftJudgTrgtManList(srchMode)
  318. {
  319. var allcntyn = ds_send.getColumn(0, "allcnt");
  320. // 총건수 보기일때는 judgcnt만 초기화
  321. if(allcntyn != 'Y')
  322. {
  323. ds_grid_grd_clbsmast.clearData();
  324. }
  325. if (lf_fCheckSrchCond(srchMode))
  326. {
  327. // 조회버튼으로 조회 시 offset은 "0"으로 설정하고 submit() 을 수행한다.
  328. ds_hidden_allclbs.setColumn(0, "allcnt" , "");
  329. ds_hidden_allclbs.setColumn(0, "allend" , "");
  330. ds_hidden_allclbs.setColumn(0, "allunjudg" , "");
  331. ds_hidden_allclbs.setColumn(0, "allreservation" , "");
  332. ds_hidden_allclbs.setColumn(0, "alldelete" , "");
  333. ds_hidden_allclbs.setColumn(0, "alljudgprcs" , "");
  334. ds_hidden_allclbs.setColumn(0, "autodelete" , "");
  335. ds_hidden_allclbs.setColumn(0, "beforeend" , "");
  336. ds_hidden_allclbs.setColumn(0, "batchend" , "");
  337. ds_send.setColumn(0, "lastclamym" , "");
  338. ds_send.setColumn(0, "lastclamdg" , "");
  339. ds_send.setColumn(0, "lastjudgno" , "");
  340. ds_send.setColumn(0, "lastpid" , "");
  341. ds_send.setColumn(0, "lastordcd" , "");
  342. ds_send.setColumn(0, "lastclamkey" , "");
  343. ds_send.setColumn(0, "lastedilnno" , "");
  344. ds_send.setColumn(0, "offset" , 0);
  345. ds_send.setColumn(0, "pagesize" , 500);
  346. // 특정기호 전체 선택시 값 셋팅
  347. // 총건수 보기일때는 총건수 산출작출 submit 호출
  348. if(allcntyn != "Y")
  349. {
  350. tranf_submit({id: "TRPID20402"
  351. , service: "aftjudgapp.OutAftJudgTrgtMan"
  352. , method : "reqGetOutAftJudgTrgtManList"
  353. , inds : "req=ds_send"
  354. , outds : "ds_grid_grd_clbsmast=clbs"
  355. , async : false});
  356. // 검색 결과를 표시한다.
  357. lf_fSetSrchJudgTrgtMan();
  358. } else {
  359. tranf_submit({id: "TRPID20408"
  360. , service: "aftjudgapp.OutAftJudgTrgtMan"
  361. , method : "reqGetOutAftJudgTrgtManListCnt"
  362. , inds : "req=ds_send"
  363. , outds : "ds_data_judgcnt=judgcnt"
  364. , async : false});
  365. }
  366. }
  367. grdf_clearSort(grp_biz.grd_clbsmast);
  368. var cutprcp = ds_send.getColumn(0, "cutprcp");
  369. var cutprcpyn = "";
  370. if(cutprcp == "Y")
  371. {
  372. // 선별심사 처방 색깔 구분
  373. for(var i = 0; i < grp_biz.grd_clbsmast.getCellCount("Body"); i++){
  374. grp_biz.grd_clbsmast.setCellProperty("body", i, "background", 'EXPR(cutprcpyn == "Y" ? "#99cc00" : "")');
  375. grp_biz.grd_clbsmast.setCellProperty("body", i, "background2", 'EXPR(cutprcpyn == "Y" ? "#99cc00" : "")');
  376. }
  377. }
  378. }
  379. //=======================================================================================
  380. // Function
  381. //---------------------------------------------------------------------------------------
  382. /****************************************************************************************
  383. * Argument : 01.selectedRow : 현재 선택된 row
  384. : 02. judgendyn : 심사완료여부
  385. * Description : 다음 대상자 조회
  386. ****************************************************************************************/
  387. function lf_fSrchNextJudgTrgtManSPEC1(selectedRow, judgendyn)
  388. {
  389. var judgendcheck = "";
  390. var nowjudgendyn = "";
  391. var nextclamym = "";
  392. var nextclamkey = "";
  393. var trgtmanclamkey = ds_grid_grd_clbsmast.getColumn(ds_grid_grd_clbsmast.rowposition, "clamym");
  394. var selectjudgendyn = ds_send.getColumn(0, "judgendyn");
  395. var userid = sysf_getUserId();
  396. for(var i = 0 ; i < ds_grid_grd_specclbs.rowcount; i++)
  397. {
  398. if(trgtmanclamkey == ds_grid_grd_clbsmast.getColumn(i, "clamkey"))
  399. {
  400. ds_grid_grd_clbsmast.setColumn(i, "judgendyn", judgendyn);
  401. ds_grid_grd_clbsmast.setColumn(i, "lastupdtrid", userid);
  402. }
  403. else if(i > selectedRow && utlf_isNull(nextclamkey)) // 현재 row 이후의 대상자 중 미심사 상태
  404. {
  405. // 조회조건이 심사완료, 통합완료, 일괄완료인경우는 바로 다음 대상자를 조회
  406. if(selectjudgendyn == "C" || selectjudgendyn == "E" || selectjudgendyn == "Z")
  407. {
  408. ds_grid_grd_clbsmast.clearSelect();
  409. ds_grid_grd_clbsmast.rowposition = i;
  410. nextclamkey = ds_grid_grd_clbsmast.getColumn(i, "clamkey");
  411. }
  412. // 나머지는 미심사, 보류, 심사중인 다음 대상자를 조회한다.
  413. else
  414. {
  415. nowjudgendyn = ds_grid_grd_clbsmast.getColumn(i, "judgendyn");
  416. if(nowjudgendyn == "A" || nowjudgendyn == "N" || nowjudgendyn == "B") {
  417. ds_grid_grd_clbsmast.clearSelect();
  418. ds_grid_grd_clbsmast.rowposition = i;
  419. nextclamkey = ds_grid_grd_clbsmast.getColumn(i, "clamkey");
  420. }
  421. }
  422. }
  423. }
  424. lf_fSetWorkStatCnt(); // 총건수와 기타 심사상태에 따른 cnt를 표시한다.
  425. return nextclamkey;
  426. }
  427. //=======================================================================================
  428. // Function
  429. //---------------------------------------------------------------------------------------
  430. /****************************************************************************************
  431. * Argument :
  432. * Description : 대상자 전체선택
  433. ****************************************************************************************/
  434. function lf_fsetAllClbslist()
  435. {
  436. for(var i = 0; i < ds_grid_grd_clbsmast.rowcount; i++) {
  437. ds_grid_grd_clbsmast.selectRow(i, true);
  438. }
  439. }
  440. //=======================================================================================
  441. // Function
  442. //---------------------------------------------------------------------------------------
  443. /****************************************************************************************
  444. * Argument :
  445. * Description : 청구차수를 구하기 위한 청구년월 달력 이벤트
  446. ****************************************************************************************/
  447. function fn_cp_monthCal00(r)
  448. {
  449. // 월달력으로 구현
  450. var clamym = grp_biz.grp_sea.cp_monthCal01.getData();
  451. if (r == "cp_monthCal01") {
  452. var clamtoym = clamym;
  453. grp_biz.grp_sea.cp_monthCal00.setData(clamym);
  454. } else {
  455. var clamtoym = grp_biz.grp_sea.cp_monthCal00.getData();
  456. }
  457. ds_send.setColumn(0,"clamym", clamym);
  458. ds_send.setColumn(0,"clamtoym", clamtoym);
  459. var sInDsName = dsf_createDsRow("ds_search"
  460. , [{col: "clamym", val: clamym}
  461. , {col: "clamtoym", val: clamtoym}
  462. , {col: "ioflag", val: "O"}
  463. //, {col: "insukind", val: grp_biz.grp_sea.cmb_insukind.value}
  464. ]);
  465. var oParam = {};
  466. oParam.id = "TRPID20407";
  467. oParam.service = "aftjudgapp.InAftJudgTrgtMan";
  468. oParam.method = "reqGetClamdg";
  469. oParam.inds = "req="+ sInDsName;
  470. oParam.outds = "ds_init_clamdg=clamdg";
  471. oParam.async = true;
  472. oParam.callback = "cf_TRPID20407";
  473. tranf_submit(oParam);
  474. }
  475. function cf_TRPID20407(sSvcId, nErrorCode, sErrorMsg) {
  476. if(nErrorCode < 0) return;
  477. frmf_addComboItem( "grp_biz.grp_sea.cmb_clamdg", "전체", "");
  478. if (ds_init_clamdg.findRowExpr("clamdgcd==1") > 0) {
  479. ds_send.setColumn(0, "clamdg", "1");
  480. } else {
  481. grp_biz.grp_sea.cmb_clamdg.index = 0;
  482. }
  483. }
  484. // 일괄완료/일괄보류
  485. function lf_fSetJudgEndYNAll(judgendyn){
  486. ds_send_list1_endclbs.clearData();
  487. // 대상자중 선택한 모든 대상자가 일괄완료/일괄보류 되도록 기능 부여
  488. if (judgendyn == "Z") {
  489. // 일괄완료
  490. if ( ds_grid_grd_clbsmast.rowcount > 0 ){
  491. // 조회된 모든 심사중 대상자를 해제한다.
  492. for ( var i = 0 ; i < ds_grid_grd_clbsmast.rowcount ; i++ ){
  493. if(ds_grid_grd_clbsmast.getSelect(i) == true){
  494. var clamym = ds_grid_grd_clbsmast.getColumn(i, "clamym");
  495. var clamdg = ds_grid_grd_clbsmast.getColumn(i, "clamdg");
  496. var pid = ds_grid_grd_clbsmast.getColumn(i, "pid");
  497. var pidsn = ds_grid_grd_clbsmast.getColumn(i, "pidsn");
  498. var lockyn = ds_grid_grd_clbsmast.getColumn(i, "lockyn");
  499. if ( lockyn == "N" ){
  500. cnt = ds_send_list1_endclbs.addRow();
  501. ds_send_list1_endclbs.setColumn(cnt, "clamym" , clamym);
  502. ds_send_list1_endclbs.setColumn(cnt, "clamdg" , clamdg);
  503. ds_send_list1_endclbs.setColumn(cnt, "pid" , pid);
  504. ds_send_list1_endclbs.setColumn(cnt, "pidsn" , pidsn);
  505. ds_send_list1_endclbs.setColumn(cnt, "judgendyn" , "C"); // C: 심사완료
  506. }
  507. }
  508. }
  509. if ( cnt > -1 ){
  510. tranf_submit({id : "TXPID20302"
  511. , service : "aftjudgapp.InAftJudg"
  512. , method : "reqSetPidmclbsJudgEndYNAll"
  513. , inds : "endclbs=ds_send_list1_endclbs"
  514. , callback : "cbf_TXPID20302"});
  515. } else {
  516. sysf_messageBox("일괄완료 할 대상자가 선택되지", "E007"); //일괄완료 할 대상자가 선택되지 않았습니다.
  517. return;
  518. }
  519. }
  520. } else if (judgendyn == "N") {
  521. // 일괄보류
  522. if ( ds_grid_grd_clbsmast.rowcount > 0 ){
  523. // 조회된 모든 심사중 대상자를 해제한다.
  524. for ( var i = 0 ; i < ds_grid_grd_clbsmast.rowcount ; i++ ){
  525. if(ds_grid_grd_clbsmast.getSelect(i) == true){
  526. var clamym = ds_grid_grd_clbsmast.getColumn(i, "clamym");
  527. var clamdg = ds_grid_grd_clbsmast.getColumn(i, "clamdg");
  528. var pid = ds_grid_grd_clbsmast.getColumn(i, "pid");
  529. var pidsn = ds_grid_grd_clbsmast.getColumn(i, "pidsn");
  530. var lockyn = ds_grid_grd_clbsmast.getColumn(i, "lockyn");
  531. if ( lockyn == "N" ){
  532. cnt = ds_send_list1_endclbs.addRow();
  533. ds_send_list1_endclbs.setColumn(cnt, "clamym" , clamym);
  534. ds_send_list1_endclbs.setColumn(cnt, "clamdg" , clamdg);
  535. ds_send_list1_endclbs.setColumn(cnt, "pid" , pid);
  536. ds_send_list1_endclbs.setColumn(cnt, "pidsn" , pidsn);
  537. ds_send_list1_endclbs.setColumn(cnt, "judgendyn" , "N"); // N: 보류
  538. }
  539. }
  540. }
  541. if ( cnt > -1 ){
  542. tranf_submit({id : "TXPID20302"
  543. , service : "aftjudgapp.InAftJudg"
  544. , method : "reqSetPidmclbsJudgEndYNAll"
  545. , inds : "endclbs=ds_send_list1_endclbs"
  546. , callback : "cbf_TXPID20302"});
  547. } else {
  548. sysf_messageBox("일괄보류 할 대상자가 선택되지", "E007"); //일괄완료 할 대상자가 선택되지 않았습니다.
  549. return;
  550. }
  551. }
  552. }
  553. }
  554. function cbf_TXPID20302(strSvcID, nErrorCode, strErrorMsg){
  555. //에러 처리
  556. if(nErrorCode == 0){
  557. sysf_messageBox("저장이 완료", "E005");
  558. btn_srch2_onclick(); // 재조회
  559. }else{
  560. }
  561. }
  562. // 기재점검 금액보정
  563. function lf_fSetCalcEdit(flagCd){
  564. for (var i=0; i < ds_grid_grd_clbsmast.rowcount; i++){
  565. if (ds_grid_grd_clbsmast.getColumn(i, "chkbox") == "true" ||
  566. ds_grid_grd_clbsmast.getColumn(i, "chkbox") == 1){
  567. var aRow = ds_calc_grd_clbsmast.addRow();
  568. ds_calc_grd_clbsmast.copyRow(aRow, ds_grid_grd_clbsmast, i);
  569. }
  570. }
  571. ds_calc_grd_clbsmast.deleteColumn("flagcd");
  572. ds_calc_grd_clbsmast.deleteColumn("ioflag");
  573. switch(flagCd){
  574. case "clamP": // 금액보정(청구 +10)
  575. ds_calc_grd_clbsmast.addConstColumn("flagcd", "clamP");
  576. break;
  577. case "clamM": // 금액보정(청구 -10)
  578. ds_calc_grd_clbsmast.addConstColumn("flagcd", "clamM");
  579. break;
  580. case "spclP": // 금액보정(선별 +10)
  581. ds_calc_grd_clbsmast.addConstColumn("flagcd", "spclP");
  582. break;
  583. case "spclM": // 금액보정(선별 -10)
  584. ds_calc_grd_clbsmast.addConstColumn("flagcd", "spclM");
  585. break;
  586. default:
  587. break;
  588. }
  589. ds_calc_grd_clbsmast.addConstColumn("ioflag", "O");
  590. tranf_submit({service : "aftjudgapp.InAftJudg"
  591. , method : "reqSetCalcEdit"
  592. , inds : "req=ds_calc_grd_clbsmast"
  593. , callback : "cbf_calcedit"
  594. , async : false
  595. });
  596. }
  597. // 금액보정 callback 함수
  598. function cbf_calcedit(strSvcID, nErrorCode, strErrorMsg){
  599. //에러 처리
  600. if(nErrorCode == 0){
  601. sysf_messageBox("금액보정이", "I002");
  602. return;
  603. }else{
  604. sysf_messageBox("금액보정을 할 수", "I004"); //금액보정을 할 수 없습니다.
  605. return;
  606. }
  607. }
  608. //일괄소명자료입력
  609. function lf_fsetAllClsplist()
  610. {
  611. var objArg = new Object();
  612. objArg.sOpenflag = "M";
  613. //objArg.sSpclcd = ds_grd_clcjlist.getColumn(ds_grd_clcjlist.rowposition, "spclcd");
  614. var rtn = frmf_modal("SPPIZ00200", "SPPIZ00200", objArg, "", "", "", "", "", "", "", "", "", "M");
  615. var clspcnt = ds_rslt_sppiz00200.rowcount;
  616. var spclmt015 = ds_rslt_sppiz00200.lookup("spclcd", "MT015", "spclspec");
  617. var spclmt016 = ds_rslt_sppiz00200.lookup("spclcd", "MT016", "spclspec");
  618. var totcnt = 0;
  619. var message = sysf_messageBox("소명자료를 일괄 저장하시겠습니까?","Q999","");
  620. if(message == 6)
  621. {
  622. for (var j = 0 ; j < clspcnt; j++ )
  623. {
  624. var spclspec = ds_rslt_sppiz00200.getColumn(j, "spclspec");
  625. var spclcd = ds_rslt_sppiz00200.getColumn(j, "spclcd");
  626. var unitflag = ds_rslt_sppiz00200.getColumn(j, "unitflag");
  627. if(!utlf_isNull(spclspec))
  628. {
  629. var rows = grdf_getSelectedRows(grp_biz.grd_clbsmast);
  630. for(var i = 0; i < rows.length; i++)
  631. {
  632. var row = rows[i];
  633. var pid = ds_grid_grd_clbsmast.getColumn(row, "pid");
  634. var pidsn = ds_grid_grd_clbsmast.getColumn(row, "pidsn");
  635. var clamym = ds_grid_grd_clbsmast.getColumn(row, "clamym");
  636. var clamdg = ds_grid_grd_clbsmast.getColumn(row, "clamdg");
  637. var lockyn = ds_grid_grd_clbsmast.getColumn(row, "lockyn");
  638. if(lockyn != "Y")
  639. {
  640. dsf_makeValue(ds_send_clsp, "pid", "string", pid, totcnt);
  641. dsf_makeValue(ds_send_clsp, "pidsn", "string", pidsn, totcnt);
  642. dsf_makeValue(ds_send_clsp, "clamym", "string", clamym, totcnt);
  643. dsf_makeValue(ds_send_clsp, "clamdg", "string", clamdg, totcnt);
  644. dsf_makeValue(ds_send_clsp, "workflag", "string", "12", totcnt);
  645. dsf_makeValue(ds_send_clsp, "unitflag", "string", unitflag, totcnt);
  646. dsf_makeValue(ds_send_clsp, "spclcd", "string", spclcd, totcnt);
  647. dsf_makeValue(ds_send_clsp, "spclspec", "string", spclspec, totcnt);
  648. dsf_makeValue(ds_send_clsp, "rowstat", "string", "U", totcnt);
  649. ds_grid_grd_clbsmast.setColumn(row, "prepdata", "Y");
  650. totcnt ++;
  651. }
  652. }
  653. }
  654. }
  655. if(!utlf_isNull(spclmt015) || !utlf_isNull(spclmt016))
  656. {
  657. var oParam = {};
  658. oParam.id = "TXPID20308";
  659. oParam.service = "aftjudgapp.InAftJudg";
  660. oParam.method = "reqSetPidmclspAll";
  661. oParam.inds = "req=ds_send_clsp";
  662. oParam.outds = "";
  663. oParam.async = false;
  664. //oParam.callback = "cf_TXPID20308";
  665. tranf_submit(oParam);
  666. }
  667. }
  668. }
  669. //일괄소명자료삭제
  670. function lf_fdelAllClsplist()
  671. {
  672. ds_send_clsp.clearData();
  673. var clspcnt = ds_rslt_sppiz00200.rowcount;
  674. var spclmt015 = ds_rslt_sppiz00200.lookup("spclcd", "MT015", "spclspec");
  675. var spclmt016 = ds_rslt_sppiz00200.lookup("spclcd", "MT016", "spclspec");
  676. var totcnt = 0;
  677. var message = sysf_messageBox("소명자료를 일괄 삭제하시겠습니까?","Q999","");
  678. if( message == 6 )
  679. {
  680. var rows = grdf_getSelectedRows(grp_biz.grd_clbsmast);
  681. for(var i = 0; i < rows.length; i++)
  682. {
  683. var row = rows[i];
  684. var pid = ds_grid_grd_clbsmast.getColumn(row, "pid");
  685. var pidsn = ds_grid_grd_clbsmast.getColumn(row, "pidsn");
  686. var clamym = ds_grid_grd_clbsmast.getColumn(row, "clamym");
  687. var clamdg = ds_grid_grd_clbsmast.getColumn(row, "clamdg");
  688. var lockyn = ds_grid_grd_clbsmast.getColumn(row, "lockyn");
  689. if (lockyn != "Y")
  690. {
  691. dsf_makeValue(ds_send_clsp, "pid", "string", pid, totcnt);
  692. dsf_makeValue(ds_send_clsp, "pidsn", "string", pidsn, totcnt);
  693. dsf_makeValue(ds_send_clsp, "clamym", "string", clamym, totcnt);
  694. dsf_makeValue(ds_send_clsp, "clamdg", "string", clamdg, totcnt);
  695. dsf_makeValue(ds_send_clsp, "workflag", "string", "12", totcnt);
  696. dsf_makeValue(ds_send_clsp, "rowstat", "string", "D", totcnt);
  697. ds_grid_grd_clbsmast.setColumn(row, "prepdata", "");
  698. totcnt ++;
  699. }
  700. }
  701. var oParam = {};
  702. oParam.id = "TXPID20308";
  703. oParam.service = "aftjudgapp.InAftJudg";
  704. oParam.method = "reqDelPidmclspAll";
  705. oParam.inds = "req=ds_send_clsp";
  706. oParam.outds = "";
  707. oParam.async = false;
  708. //oParam.callback = "cf_TXPID20308";
  709. tranf_submit(oParam);
  710. }
  711. }
  712. /****************************************************************************************
  713. * Argument : 01.judgendyn : 심사여부(A:미심사, C:심사완료)
  714. * Description : 일괄 심사완료 및 심사중해제
  715. ****************************************************************************************/
  716. function lf_fSetJudgEndYN(judgendyn)
  717. {
  718. var cnt = -1;
  719. var userid = sysf_getUserId();
  720. var errortype1 = "";
  721. var errortype2 = "";
  722. if (utlf_isNull(userid))
  723. {
  724. userid = "12345678";
  725. }
  726. ds_send_list1_endclbs.clearData();
  727. var sendjudgendyn = ds_send.getColumn(0, "judgendyn");
  728. var alertmsg = "심사중";
  729. if (judgendyn == "N" )
  730. {
  731. alertmsg = "일괄보류";
  732. }
  733. else if (judgendyn == "Z" )
  734. {
  735. alertmsg = "일괄완료";
  736. }
  737. // 심사상태 "심사중"을 조건으로 조회하여 "심사중 해제"를 요청한 경우에는
  738. // 대상자를 개별 선택할 필요가 없이 조회된 모든 대상자가 해제되도록 기능 부여
  739. if ((sendjudgendyn == "B" || sendjudgendyn == "N" ) && judgendyn == "A")
  740. {
  741. if ( ds_grid_grd_clbsmast.rowcount > 0 )
  742. {
  743. // 조회된 모든 심사중 대상자를 해제한다.
  744. for ( var i = 0 ; i < ds_grid_grd_clbsmast.rowcount ; i++ )
  745. {
  746. var clamym = ds_grid_grd_clbsmast.getColumn(i, "clamym");
  747. var clamdg = ds_grid_grd_clbsmast.getColumn(i, "clamdg");
  748. var pid = ds_grid_grd_clbsmast.getColumn(i, "pid");
  749. var pidsn = ds_grid_grd_clbsmast.getColumn(i, "pidsn");
  750. if ( ds_grid_grd_clbsmast.getColumn(i, "judgendyn") == "B" || ds_grid_grd_clbsmast.getColumn(i, "judgendyn") == "N")
  751. {
  752. cnt = ds_send_list1_endclbs.addRow();
  753. ds_send_list1_endclbs.setColumn(cnt, "clamym" , clamym);
  754. ds_send_list1_endclbs.setColumn(cnt, "clamdg" , clamdg);
  755. ds_send_list1_endclbs.setColumn(cnt, "pid" , pid);
  756. ds_send_list1_endclbs.setColumn(cnt, "pidsn" , pidsn);
  757. ds_send_list1_endclbs.setColumn(cnt, "judgendyn" , "A"); // A: 미심사
  758. }
  759. }
  760. if ( cnt > -1 )
  761. {
  762. var ans = sysf_messageBox("조회된 모든 "+alertmsg+"인 자료 " + (cnt+1) + "건을 해제", "S001"); // 조회된 모든 심사중 상태 *건을 해제 하시려면 예(Yes)\n아니면 아니오(No)
  763. if (ans == 6)
  764. {
  765. // return : yes=6, no=7
  766. var oParam = {};
  767. oParam.id = "TXPID20302";
  768. oParam.service = "aftjudgapp.InAftJudg";
  769. oParam.method = "reqSetPidmclbsJudgEndYNAll";
  770. oParam.inds = "endclbs=ds_send_list1_endclbs";
  771. oParam.async = false;
  772. if (!utlf_isNull(grp_biz.grp_sea.ipt_patunitsrch.value))
  773. {
  774. lf_fGetOutAftJudgTrgtManList("pidSrch");
  775. }
  776. else
  777. {
  778. lf_fGetOutAftJudgTrgtManList();
  779. }
  780. }
  781. }
  782. }
  783. else
  784. {
  785. // 심사중 해제 할 대상자를 조회 하십시오.
  786. sysf_messageBox("심사중 해제 할 대상자를 조회", "I008");
  787. }
  788. return;
  789. }
  790. else
  791. {
  792. if ( ds_grid_grd_clbsmast.rowposition < 0 )
  793. {
  794. // "심사중해제" 버튼을 누른경우
  795. if (judgendyn == "A")
  796. {
  797. sysf_messageBox("심사중해제할 대상자를", "C002");
  798. }
  799. // "일괄완료" 버튼을 누른경우
  800. // 20090921 박창원 일괄완료의 플레그 값을 변경
  801. else if (judgendyn == "Z")
  802. {
  803. sysf_messageBox("일괄완료할 대상자를", "C002");
  804. }
  805. // "일괄보류" 버튼을 누른경우
  806. // 20090921 박창원 일괄완료의 플레그 값을 변경
  807. else if (judgendyn == "N")
  808. {
  809. sysf_messageBox("일괄보류할 대상자를", "C002");
  810. }
  811. return;
  812. }
  813. var chk;
  814. ds_send_list1_endclbs.clearData();
  815. // 선택된 모든 대상자의 심사중 상태를 해제한다.
  816. for ( var i = 0; i < ds_grid_grd_clbsmast.rowcount; i++ )
  817. {
  818. if ( ds_grid_grd_clbsmast.getSelect(i) == true )
  819. {
  820. var row = i;
  821. var sel_clamym = ds_grid_grd_clbsmast.getColumn(row, "clamym");
  822. var sel_clamdg = ds_grid_grd_clbsmast.getColumn(row, "clamdg");
  823. var sel_pid = ds_grid_grd_clbsmast.getColumn(row, "pid");
  824. var sel_pidsn = ds_grid_grd_clbsmast.getColumn(row, "pidsn");
  825. var sel_judgendyn = ds_grid_grd_clbsmast.getColumn(row, "judgendyn");
  826. var sel_clamendyn = ds_grid_grd_clbsmast.getColumn(row, "clamendyn");
  827. var sel_lockyn = ds_grid_grd_clbsmast.getColumn(row, "lockyn");
  828. var sel_diagnm = ds_grid_grd_clbsmast.getColumn(row, "diagnm");
  829. var sel_payownbrate = ds_grid_grd_clbsmast.getColumn(row, "payownbrate");
  830. var sel_mt014 = ds_grid_grd_clbsmast.getColumn(row, "mt014");
  831. var sel_spclmark = ds_grid_grd_clbsmast.getColumn(row, "spclmark");
  832. chk = "false";
  833. // "일괄완료"할때는 미심사나 심사중인 경우만 가능
  834. // 20110207 경북대 일괄완료시 통합완료도 되게 추가요청
  835. if (judgendyn == "Z")
  836. {
  837. if (!utlf_isNull(sel_diagnm) && (sel_judgendyn == "A" || sel_judgendyn == "B" || sel_judgendyn == "E" || sel_judgendyn == "N")
  838. && (!((sel_payownbrate == 5 || sel_payownbrate == 10) && utlf_isNull(sel_mt014))|| sel_spclmark == "V103" ))
  839. {
  840. chk = "true"
  841. }
  842. }
  843. // "심사중해제"이면 심사중인 경우만 가능
  844. else if (judgendyn == "A")
  845. {
  846. if (sel_judgendyn == "B")
  847. {
  848. chk = "true";
  849. }
  850. }
  851. //"일괄완료"할때는 미심사나 심사중인 경우만 가능
  852. else if (judgendyn == "N")
  853. {
  854. if (sel_judgendyn == "A" || sel_judgendyn == "B")
  855. {
  856. chk = "true"
  857. }
  858. }
  859. if (chk == "true")
  860. {
  861. // 심사중 상태인 경우
  862. cnt = ds_send_list1_endclbs.addRow();
  863. ds_send_list1_endclbs.setColumn(cnt, "clamym" , sel_clamym);
  864. ds_send_list1_endclbs.setColumn(cnt, "clamdg" , sel_clamdg);
  865. ds_send_list1_endclbs.setColumn(cnt, "pid" , sel_pid);
  866. ds_send_list1_endclbs.setColumn(cnt, "pidsn" , sel_pidsn);
  867. ds_send_list1_endclbs.setColumn(cnt, "judgendyn" , judgendyn);
  868. }
  869. else
  870. {
  871. errortype1 = "청구된 자료";
  872. }
  873. }
  874. }
  875. if (cnt > -1)
  876. {
  877. if (judgendyn == "Z" || judgendyn == "N")
  878. {
  879. // 20090921 박창원 일괄완료의 플레그 값을 변경
  880. var ans = sysf_messageBox((ds_send_list1_endclbs.rowcount) + "건을 " + alertmsg, "S001"); /// *건을 일괄완료 하시려면 예(Yes)\n아니면 아니오(No)
  881. var frow = -1;
  882. if (ans == 6)
  883. { // return : yes=6, no=7
  884. var oParam = {};
  885. oParam.id = "TXPID20302";
  886. oParam.service = "aftjudgapp.InAftJudg";
  887. oParam.method = "reqSetPidmclbsJudgEndYNAll";
  888. oParam.inds = "endclbs=ds_send_list1_endclbs";
  889. oParam.outds = "";
  890. oParam.async = false;
  891. tranf_submit(oParam);
  892. var selectedRow = -1;
  893. for ( var i = 0; i < ds_send_list1_endclbs.rowcount; i++ )
  894. {
  895. var sel_clamym = ds_send_list1_endclbs.getColumn(i, "clamym" );
  896. var sel_clamdg = ds_send_list1_endclbs.getColumn(i, "clamdg" );
  897. var sel_pid = ds_send_list1_endclbs.getColumn(i, "pid" );
  898. var sel_pidsn = ds_send_list1_endclbs.getColumn(i, "pidsn" );
  899. var sel_judgendyn = ds_send_list1_endclbs.getColumn(i, "judgendyn" );
  900. frow = ds_grid_grd_clbsmast.findRowExpr("clamym=='"+sel_clamym+"' && clamdg=='" + sel_clamdg + "' && pid=='" +sel_pid + "' && pidsn=='" + sel_pidsn + "'");
  901. if (frow > -1)
  902. {
  903. ds_grid_grd_clbsmast.setColumn(frow,"judgendyn", sel_judgendyn);
  904. ds_grid_grd_clbsmast.setColumn(frow,"lastupdtrid", userid);
  905. }
  906. if (i==0){
  907. selectedRow = frow;
  908. }
  909. }
  910. // 일괄완료 후 다음 심사 대상자 가져오기
  911. if (selectedRow > -1)
  912. {
  913. var trgtmanlist = ds_grid_grd_clbsmast;
  914. if (ds_grid_grd_clbsmast.rowcount == 0)
  915. { // 조회된 대상자 목록이 없는 경우
  916. sysf_messageBox("조회된 심사대상자 목록이", "I004"); ///조회된 심사대상자 목록이 없습니다.
  917. }
  918. else
  919. {
  920. trgtmanlist = ds_grid_grd_clbsmast;
  921. var maxRow = trgtmanlist.rowcount;
  922. var nextclamkey = "";
  923. if (selectedRow < maxRow)
  924. {
  925. var srchmode = ds_hidden_clbs.getColumn(0, "srchmode");
  926. if (srchmode == "specclbs")
  927. { // 선별심사 모드인 경우
  928. // 다음대상자조회
  929. nextclamkey = lf_fSrchNextJudgTrgtManSPEC1(selectedRow, judgendyn);
  930. }
  931. else
  932. {
  933. trgtmanlist.setColumn(selectedRow, "judgendyn", judgendyn);
  934. trgtmanlist.setColumn(selectedRow, "lastupdtrid", userid);
  935. // 다음대상자조회
  936. nextclamkey = lf_fSrchNextJudgTrgtManCLBS1(selectedRow, judgendyn);
  937. }
  938. if (!utlf_isNull(nextclamkey))
  939. {
  940. var irow = trgtmanlist.findRowExpr("clamkey=='"+nextclamkey+"'")
  941. var clamym = trgtmanlist.getColumn(irow, "clamym");
  942. var clamdg = trgtmanlist.getColumn(irow, "clamdg");
  943. var pid = trgtmanlist.getColumn(irow, "pid");
  944. var pidsn = trgtmanlist.getColumn(irow, "pidsn");
  945. var gridjudgendyn = trgtmanlist.getColumn(irow, "judgendyn");
  946. var gridcutprcpyn = ds_send.getColumn(0, "cutprcpsel");
  947. var gridtootpopyn = grp_biz.checkbox10.value;
  948. ds_grid_grd_clbsmast.clearSelect();
  949. ds_grid_grd_clbsmast.rowposition = irow;
  950. ds_grid_grd_clbsmast.selectRow(irow);
  951. opener.ds_rslt_smpid20400.clearData();
  952. opener.ds_rslt_smpid20400.addRow();
  953. opener.ds_rslt_smpid20400.setColumn(0, "clamym" , clamym); // 선택된 대상자의 청구년월
  954. opener.ds_rslt_smpid20400.setColumn(0, "clamdg" , clamdg); // 선택된 대상자의 청구차수
  955. opener.ds_rslt_smpid20400.setColumn(0, "pid" , pid); // 선택된 대상자의 등록번호
  956. opener.ds_rslt_smpid20400.setColumn(0, "pidsn" , pidsn); // 선택된 대상자의 등록번호 순번
  957. opener.ds_rslt_smpid20400.setColumn(0, "judgendyn" , gridjudgendyn); // 선택된 대상자의 old등록번호
  958. opener.ds_rslt_smpid20400.setColumn(0, "cutprcpyn" , gridcutprcpyn);
  959. opener.ds_rslt_smpid20400.setColumn(0, "tootpopupyn" , gridtootpopyn);
  960. opener.ds_hidden.setColumn(0, "orgjudgendyn", judgendyn);
  961. opener.lf_fGetAftJudgMngt(opener.ds_rslt_smpid20400, "O");
  962. setPopupRefresh(pid);
  963. return;
  964. }
  965. else
  966. {
  967. sysf_messageBox("다음 심사 대상자의 정보가", "I004"); ///다음 심사 대상자의 정보가 없습니다.
  968. }
  969. }
  970. else
  971. {
  972. trgtmanlist.setColumn(selectedRow, "judgendyn", judgendyn);
  973. trgtmanlist.setColumn(selectedRow, "lastupdtrid", userid);
  974. lf_fSetWorkStatCnt(); // 총건수와 기타 심사상태에 따른 cnt를 표시한다.
  975. // 마지막 줄인 경우 이후 대상자가 없다.
  976. sysf_messageBox("조회된 마지막 심사대상자 입니다. 이후 심사 대상자가", "I004"); ///조회된 마지막 심사대상자 입니다. 이후 심사 대상자가 없습니다.
  977. }
  978. }
  979. }
  980. else
  981. {
  982. sysf_messageBox("화면이 변경되었으므로 다음 대상자를 다시", "C002"); ///화면이 변경되었으므로 다음 대상자를 다시 선택하십시오.
  983. }
  984. // 일괄완료 후 다음 대상자 가져오기 종료
  985. }
  986. }
  987. else if (judgendyn == "A")
  988. {
  989. var ans = sysf_messageBox((cnt+1) + "건을 심사중해제", "S001"); /// *건을 심사중해제 하시려면 예(Yes)\n아니면 아니오(No)
  990. if (ans == 6)
  991. { // return : yes=6, no=7
  992. var oParam = {};
  993. oParam.id = "TXPID20302";
  994. oParam.service = "aftjudgapp.InAftJudg";
  995. oParam.method = "reqSetPidmclbsJudgEndYNAll";
  996. oParam.inds = "endclbs=ds_send_list1_endclbs";
  997. oParam.async = false;
  998. tranf_submit(oParam);
  999. if (!utlf_isNull(grp_biz.grp_sea.ipt_patunitsrch.value))
  1000. {
  1001. lf_fGetOutAftJudgTrgtManList("pidSrch");
  1002. }
  1003. else
  1004. {
  1005. lf_fGetOutAftJudgTrgtManList();
  1006. }
  1007. }
  1008. }
  1009. }
  1010. }
  1011. }
  1012. function fGetPatinfo(srchcond)
  1013. {
  1014. ds_hidden_sppmc02500_cond.clearData();
  1015. ds_hidden_sppmc02500_cond.addRow();
  1016. var ipt_pid = grp_biz.grp_sea.ipt_patunitsrch.value;
  1017. if (ipt_pid)
  1018. {
  1019. ds_hidden_sppmc02500_cond.setColumn(0, "srchcond", srchcond);
  1020. if (srchcond == "1")
  1021. {
  1022. ds_hidden_sppmc02500_cond.setColumn(0, "pid", ipt_pid);
  1023. }
  1024. else if (srchcond == "2")
  1025. {
  1026. ds_hidden_sppmc02500_cond.setColumn(0, "hngnm", ipt_pid);
  1027. }
  1028. }
  1029. else
  1030. {
  1031. ds_hidden_sppmc02500_cond.clearData();
  1032. ds_hidden_sppmc02500_cond.addRow();
  1033. }
  1034. var objArg = new Object();
  1035. objArg.arg_ds_send= ds_hidden_sppmc02500_cond;
  1036. frmf_modal("SPPMC02500", "SPPMC02500", objArg, "", "", "", "", "", "", "", "", "", "M");
  1037. var srch_pid = ds_patinfolist.getColumn(0, "pid");
  1038. if (srch_pid)
  1039. {
  1040. ds_send.setColumn(0, "patunitsrch1", srch_pid);
  1041. }
  1042. else
  1043. {
  1044. ds_send.setColumn(0, "patunitsrch1", "");
  1045. }
  1046. }
  1047. ]]></Script>