123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346 |
- /* ---------------------------------------------------------------------
-
- SMRSD02202_처방 전달 물품 All Size 청구.xrw (SMRSD02202.xfm - JScript )
- - Version :
- 1) : Ver.1.00.01
- : Create By Francis Choi
- : 2015.05.02
- ---------------------------------------------------------------------- */
-
- var xAuth = !(checkAuth("X"));
- var pAuth = !(checkAuth("P"));
- //
- var DataRows = 0;
- var AllSizeRows = 0;
- var SizePath = "/root/main/CodeLists/codelist"; // All Size Grid
- var DataPath = "/root/main/list/searchgood/searchgoodlist"; // 처장전달 물품내역
- // --------------------------------------------------
- // Tree정보 가져오기
- // --------------------------------------------------
- function fInit() {
-
- // 화면 Control을 초기화한다
- fInitialize();
-
- return;
- }
-
- // --------------------------------------------------------------
- // 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
- // --------------------------------------------------------------
- function fInitialize() {
-
- // 처방내역 그리드 초기화
- misfGridInit(grd_allsize);
- misfGridInit(grd_searchgood);
- misfGridInit(grd_rsihopmasum);
- model.setValue(opt_instcd.attribute("ref") , getUserInfo("dutplceinstcd"));
- model.setValue(opt_instcdnm.attribute("ref") , getUserInfo("dutplceinstnm"));
-
- model.setValue(ipt_prcpdeptcd.attribute("ref"), getUserInfo("dutplcecd"));
- model.setValue(ipt_prcpdeptnm.attribute("ref") , getUserInfo("dutplcenm"));
- // ----------------------------------
- // model.setValue(ipt_prcpdeptcd.attribute("ref"), '2370101000');
- // model.setValue(ipt_prcpdeptnm.attribute("ref") , '건진외래' );
- // ----------------------------------
- var curdate = getCurrentDate();
- var cvtdate = curdate.toDate("YYYYMMDD");
-
- model.setValue(ipt_prcpdd.attribute("ref") , curdate);
- model.setValue(ipt_prcpdd2.attribute("ref"), curdate);
-
- // AllCheck 구분
- grd_searchgood.fixedcellcheckbox(0,1) = true;
-
- model.refresh();
- }
-
- // 처방 전달 물품 All Size 청구 물품별 건수
-
- function fRsihopmaSumList() {
- if ((ipt_prcpdeptcd.value == "")||
- (ipt_prcpdeptnm.value == "") ) {
-
- alert("부서코드를 확인하십시요!!");
- return;
- }
- misfGridInit(grd_allsize);
- misfGridInit(grd_searchgood);
- misfGridInit(grd_rsihopmasum);
-
- opt_totqty.value = "0";
- opt_allsizeselcnt.value = "0";
-
- submit("TRRSD02206");
- }
- // --------------------------------------------------
- // All Size 읽어오는 함수
- // --------------------------------------------------
- function fAllSizeRead(pRow) {
- var rPath = "/root/send/SearchTree";
- var dPath = "/root/send/allsize";
-
- misfGridInit(grd_allsize);
- model.setValue("/root/init/goodreqcnt", grd_rsihopmasum.valueMatrix(pRow, grd_rsihopmasum.colRef("goodqty"))); // All Size 수량
-
- model.setValue(dPath+"/instcd" , model.getValue(rPath + "/instcd" ));
- model.setValue(dPath+"/rgstdd" , grd_rsihopmasum.valueMatrix(pRow, grd_rsihopmasum.colRef("rgstdd")));
- model.setValue(dPath+"/goodcd" , grd_rsihopmasum.valueMatrix(pRow, grd_rsihopmasum.colRef("goodcd")));
- model.setValue(dPath+"/prcpdeptcd" , grd_rsihopmasum.valueMatrix(pRow, grd_rsihopmasum.colRef("prcpdeptcd")));
- model.setValue(dPath+"/mainmngtdeptcd", grd_rsihopmasum.valueMatrix(pRow, grd_rsihopmasum.colRef("mainmngtdeptcd")));
-
- submit("TRRSD02207");
-
- grd_allsize.refresh();
-
- // 첫번째 Row 선택
- grd_allsize.row = 1;
-
- AllSizeRows = (grd_allsize.rows - grd_allsize.fixedrows) + 1;
-
- fAllSizeQtySum();
- }
-
-
- // 처방전달물품내역조회
- function fDataSearchDetail(pIdx)
- {
- var rPath = "/root/send/SearchTree";
- var dPath = "/root/send/searchgood";
- var tPath = "/root/main/RsihopmaSumLists/rsihopmasumlist";
-
- var Idx = pIdx; // + 1;
- var vGoodCd = model.getValue(tPath +"["+Idx+"]/goodcd" );
-
- misfGridInit(grd_searchgood);
-
- if (vGoodCd == "") return; // 선택물품이 없슴.
- model.setValue(dPath + "/instcd" , model.getValue(rPath + "/instcd" )); // 01 기관코드
- model.setValue(dPath + "/prcpdd" , model.getValue(tPath +"["+Idx+"]/rgstdd" )); // 02 처방일자
- model.setValue(dPath + "/prcpdd2" , model.getValue(tPath +"["+Idx+"]/rgstdd" )); // 03 처방일자
- model.setValue(dPath + "/sumflag" , "" ); // 04 집계여부
- model.setValue(dPath + "/reqflag" , "" ); // 05 청구구분
- model.setValue(dPath + "/reqdeptcd" , "" ); // 06 처방부서
- model.setValue(dPath + "/reqprid" , "" ); // 07 청구주기
- model.setValue(dPath + "/prcpdeptcd", model.getValue(tPath +"["+Idx+"]/prcpdeptcd")); // 08 시행부서
- model.setValue(dPath + "/goodcd" , model.getValue(tPath +"["+Idx+"]/goodcd" )); // 09 물품코드
- model.setValue(dPath + "/ioflag" , "" ); // 10 입외구분
- model.setValue(dPath + "/deptgr" , "" ); // 11 부서그룹
- submit("TRRSD02203");
-
- DataRows = (grd_searchgood.rows - grd_searchgood.fixedrows) + 1;
- }
-
- //
- // 해당 All Size를 Check하고 수량을 Sum한다.
- //
- function fAllSizeQtySum() {
-
- // 처장전달 물품내역
- var vRows = "/root/main/CodeLists/codelist"; // All Size Grid
- //선택 All Size
- var vSizeCnt = 0;
- var vAllSizeCnt = 0;
-
- bbt_tSave.disabled = false;
- cpt_remk.text = "";
- for (var i=1; i < AllSizeRows; i++) {
- vSizeCnt = parseFloat(model.getValue(vRows + "[" + i +"]/aftqty"));
- vAllSizeCnt += vSizeCnt;
- if (model.getValue(vRows + "[" + i +"]/sumflag")=="Y") {
- bbt_tSave.disabled = true;
- cpt_remk.text = " :: 이미 구매팀 집계 완료 되었습니다 !!";
- }
- }
-
- cpt_remk.refresh();
-
- opt_allsizeselcnt.value = vAllSizeCnt;
- opt_allsizeselcnt.refresh();
- }
- //
- // 해당 All Size를 Check하고 수량을 Sum한다.
- //
- function fAllSizeSelCheck() {
-
- fAllSizeGridClear(); // All Size 수량을 Clear 한다.
-
- // 처장전달 물품내역
- var vRows = DataRows;
- var vPath = DataPath; // 처장전달 물품내역
-
- var vRows = "/root/main/CodeLists/codelist"; // All Size Grid
- //선택 All Size
- var vAllSize = model.getValue(SizePath + "[" + grd_allsize.row +"]/allsizespecid");
- var AllSizeCnt = 0;
- var vAllSizeCnt = 0;
- var vSizeCnt1 = 0;
- var vSizeCnt2 = 0;
- for (var i=1; i < DataRows; i++) {
- if (model.getValue(DataPath + "[" + i +"]/chk") == "true") {
- vSizeCnt2 = parseFloat(model.getValue(DataPath + "[" + i +"]/totqty"));
-
- if (model.getValue(DataPath + "[" + i +"]/allsizespecid") == "-") {
- vAllSize = model.getValue(SizePath + "[" + grd_allsize.row +"]/allsizespecid" );
- vSizeCnt1 = parseFloat(model.getValue(SizePath + "[" + grd_allsize.row +"]/totqty"));
-
- vAllSizeCnt = vSizeCnt1 + vSizeCnt2;
- model.setValue(SizePath + "[" + grd_allsize.row +"]/totqty" , vAllSizeCnt);
- model.setValue(DataPath + "[" + i +"]/allsizespecid", vAllSize );
-
- } else {
- vAllSize = model.getValue(DataPath + "[" + i +"]/allsizespecid");
- vSizeCnt1 = parseFloat(model.getValue(SizePath + "[allsizespecid='" + vAllSize +"']/totqty"));
-
- vAllSizeCnt = vSizeCnt1 + vSizeCnt2;
-
- model.setValue(SizePath + "[allsizespecid='" + vAllSize +"']/totqty", vAllSizeCnt);
- }
-
- AllSizeCnt += vSizeCnt2;
- } else {
- if (model.getValue(DataPath + "[" + i +"]/allsizespecid") != "-") {
- model.setValue(DataPath + "[" + i +"]/allsizespecid" , "-" );
- }
-
- }
- }
-
- opt_allsizeselcnt.value = AllSizeCnt;
-
- opt_allsizeselcnt.refresh();
-
- grd_searchgood.refresh();
- grd_allsize.refresh();
- }
- // All Size 수량을 Clear 한다.
- function fAllSizeGridClear(){
-
- for (var i=1; i < AllSizeRows; i++) {
- model.setValue(SizePath + "[" + i +"]/totqty", 0);
- }
-
- grd_allsize.refresh();
- }
-
-
- // --------------------------------------------------
- // 진료재료 처방 All Size 정산내역을 저장한다.
- // --------------------------------------------------
-
- function fDataSave()
- {
-
- var cPath = "/root/init/CopyGoodList";
- var sPath = "/root/main/ExcelLists/ExcelList";
- var tPath = "/root/CopyData/CopyGoodLists/CopyGoodList";
- var mPath = "/root/init/CopySizeList";
- var aPath = "/root/CopyData/CopySizeLists/CopySizeList";
- var oPath = "/root/init/CopyMapList";
- var nPath = "/root/CopyData/CopyMapLists/CopyMapList";
- var vReqCnt = parseFloat(model.getValue("/root/init/goodreqcnt" )); // 대상 수량
- var vAllSizeCnt = parseFloat(model.getValue("/root/init/allsizeselcnt")); // 선택 수량
-
- if (vReqCnt != vAllSizeCnt) {
- messageBox("대상수량("+vReqCnt+")과 선택수량("+vAllSizeCnt+")이 일치하지 않아 저장 " ,"E001");
- return false;
- }
- var HeaderData = "prcpdd" + "▦" // 01 시행일자
- + "instcd" + "▦" // 02 기관코드
- + "prcpdeptcd" + "▦" // 03 시행부서
- + "goodcd" + "▦" // 04 물품코드
- + "allsizespecid" + "▦" // 05 All SizeID
- + "genrno" + "▦" // 06 생성순번
- + "mainmngtdeptcd" + "▦" // 07 주관리부서
- + "demdkey" + "▦" // 08 청구 NO
- + "sumflag" + "▦" // 09 집계여부
- + "totqty" + "▦" // 10 이전수량
- + "jobcls" + "▩"; // 11 작업구분
- var vData = "";
- var sPath = "/root/main/CodeLists/codelist";
-
- var vJobCls = "";
- for (var i=1; i<= AllSizeRows; i++) {
-
- vJobCls = "";
- if (model.getValue(sPath + "[" + i + "]/aftqty") == "0") {
- if (model.getValue(sPath + "[" + i + "]/befqty") != "0") {
- vJobCls = "D";
- }
- } else {
- if (model.getValue(sPath + "[" + i + "]/befqty") == "0") {
- vJobCls = "I";
- } else {
- if (model.getValue(sPath + "[" + i + "]/aftqty") !=
- model.getValue(sPath + "[" + i + "]/befqty") ) {
- vJobCls = "U";
- }
- }
- }
- //
- if (vJobCls != "") {
- vData += model.getValue(sPath + "[" + i + "]/prcpdd" ) + "▦" // 01 시행일자
- + model.getValue(sPath + "[" + i + "]/instcd" ) + "▦" // 02 기관코드
- + model.getValue(sPath + "[" + i + "]/prcpdeptcd" ) + "▦" // 03 시행부서
- + model.getValue(sPath + "[" + i + "]/goodcd" ) + "▦" // 04 물품코드
- + model.getValue(sPath + "[" + i + "]/allsizespecid" ) + "▦" // 05 All SizeID
- + model.getValue(sPath + "[" + i + "]/genrno" ) + "▦" // 06 생성순번
- + model.getValue(sPath + "[" + i + "]/mainmngtdeptcd" ) + "▦" // 07 주관리부서
- + "" + "▦" // 08 청구 NO
- + model.getValue(sPath + "[" + i + "]/sumflag" ) + "▦" // 09 집계여부
- + model.getValue(sPath + "[" + i + "]/aftqty" ) + "▦" // 10 조정수량
- + vJobCls + "▩"; // 11 작업구분
-
- }
- }
-
- if (vData == "") {
- alert("수정된 자료가 없습니다!!");
- return;
- }
-
- //
- model.removenode("/root/send/save" ); //
- model.makeValue("/root/send/save/rsihallsizelist", HeaderData + vData); // 물품규격내역
- submit("TXRSD02201");
-
- if (model.getValue(gvErrorMsgPath + "/type") != "error")
- {
- fAllSizeRead(grd_rsihopmasum.row);
- grd_rsihopmasum.valueMatrix(grd_rsihopmasum.row, grd_rsihopmasum.colRef("sizeqty") ) = vAllSizeCnt; // All Size 수량
- grd_rsihopmasum.refresh();
- }
- }
-
- /* ------------------------------------------------- */
- /* ------End Of List ------------------------------- */
- /* -------------------------------------------------- */
|