123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828 |
- <?xml version="1.0" encoding="EUC-KR"?>
- <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
- <xhtml:html xmlns:ex="http://www.comsquare.co.kr/xforms/excel" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:my="http://www.comsquare.co.kr/example" xmlns:ms="urn:schemas-microsoft-com:xslt" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:cs="http://www.comsquare.co.kr/xforms">
- <xhtml:head>
- <xhtml:title>약국이송출고관리</xhtml:title>
- <model id="model1">
- <instance id="instance1">
- <root xmlns="">
- <main>
- <list>
- <gooddelive>
- <gooddelivelist>
- <deliveseqno/>
- <goodlrgnm/>
- <goodcd/>
- <oldcd/>
- <goodnm/>
- <goodspec/>
- <stocqty/>
- <winpackqty/>
- <delivedeptqty/>
- <reqpackconcat/>
- <winpackcntperunit/>
- <deliveunit/>
- <winpackunit/>
- <targetdeliveqty/>
- <targetstocqty/>
- <targetbaseqty/>
- <deliveamt/>
- <trantretdd/>
- <trantrettm/>
- <reqno/>
- <iokindcd/>
- <delivedeptcd/>
- <delivepsn/>
- <windeptcd/>
- <reqflag/>
- <reqdd/>
- <reqseqno/>
- <prcpstatspk/>
- <instcd/>
- <goodflag/>
- <delivedd/>
- <deliveno/>
- <predelivedeptqty/>
- <minexch/>
- <predeliveprcsflag/>
- <savedeliveprcsflag/>
- <predeliveqty/>
- </gooddelivelist>
- <goodmaxdeliveno/>
- </gooddelive>
- <gooddelivereq>
- <gooddelivelist/>
- <goodmaxdeliveno/>
- </gooddelivereq>
- </list>
- <item/>
- </main>
- <send>
- <save>
- <gooddelivelist/>
- </save>
- <gooddelive>
- <instcd/>
- <goodflag/>
- <delivedd/>
- <deliveno/>
- <delivedeptcd/>
- <delivedeptnm/>
- <iokindcd/>
- <windeptcd/>
- <windeptnm/>
- <delivepsn/>
- <delivepsnnm/>
- <trantretdd/>
- <trantrettm/>
- <lrgcd/>
- <mdlcd/>
- <smlcd/>
- <goodcd/>
- <oldcd/>
- <mngtcls/>
- <deflag/>
- </gooddelive>
- </send>
- <init>
- <deliveqty/>
- <deliveamt/>
- <deliveflag>A</deliveflag>
- </init>
- <hidden/>
- <temp/>
- <copynode/>
- </root>
- </instance>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- fInitialize();
- ]]>
- </script>
- <submission id="TRRSO00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/gooddelive" resultref="/root/main/list/gooddelive"/>
- <submission id="TRRSO00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/gooddelive" resultref="/root/main/list/gooddelive"/>
- <submission id="TXRSO00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/hidden/temp">"</submission>
- <bind id="bind_reqpackconcat" ref="/root/main/list/gooddelive/gooddelivelist/reqpackconcat" calculate="concat(../winpackcntperunit, ' ', ../deliveunit, '/', ../winpackunit)"/>
- <submission id="TRRSO00104" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/gooddelive" resultref="/root/main/list/gooddelive"/>
- </model>
- <script type="javascript" src="../../../com/commonweb/js/common.js"/>
- <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
- <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
- <script type="javascript" src="../../../mis/miscommonweb/js/RSZ001.js"/>
- <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
- <script type="javascript">
- <![CDATA[
- /**
- * @ver : 2011-01-04
- * @desc : 폼 초기화
- * @param :
- * @return :
- * @----------------------------------------
- */
- function fInitialize() {
- rszfComboStockArthDeptcdList(cmb_delivedeptcd,getUserInfo("dutplceinstcd"),"PH" );
- misfComboComCdList("030M0003",cmb_mngtcls,"Y");
- misfGridInit(grd_gooddelive);
-
- misfMsterDetailSet(grd_gooddelive,null, "TRRSO00101" ,"Y");
-
- model.setValue(ipt_instcd.attribute("ref") , getUserInfo("dutplceinstcd"));
- model.setValue(ipt_delivedd.attribute("ref") , getCurrentDate());
- model.setValue(ipt_sumdeliveqty.attribute("ref"),0);
- model.setValue(opt_sumdeliveamt.attribute("ref"),0);
-
- model.setValue(ipt_delivepsn.attribute("ref") , getUserInfo("userid"));
- model.setValue(opt_delivepsnnm.attribute("ref") , getUserInfo("usernm"));
-
-
-
- model.setValue(cmb_goodflag.attribute("ref") , "PH");
- // 이송출고 코드 = >2B
- model.setValue(cmb_iokindcd.attribute("ref") , "2B");
- // 이송시간 설정
- model.setValue(cmb_delivedeptcd.attribute("ref"),getUserInfo("dutplcecd"));
- model.setValue(ipt_trantretdd.attribute("ref") ,getCurrentDate());
- model.setValue(ipt_trantrettm.attribute("ref") ,getCurrentTime());
-
-
- grd_gooddelive.selectionmode = "free";
- model.refresh();
- }
-
- function fCheckRetrieveData(pmsg)
- {
- if(model.getValue(ipt_instcd.attribute("ref")).length== 0 )
- {
- if(pmsg == true)
- {
- messageBox("기관코드를 " ,"C002");
- model.setFocus("ipt_instcd");
- }
- return false;
- }
-
- if(model.getValue(ipt_delivedd.attribute("ref")).length== 0 )
- {
- if(pmsg == true)
- {
- messageBox("출고일자를 " ,"C001");
- model.setFocus("ipt_delivedd");
- }
- return false;
- }
- if(model.getValue(cmb_delivedeptcd.attribute("ref")).length== 0 )
- {
- if(pmsg == true)
- {
- messageBox("출고부서를 " ,"C001");
- model.setFocus("cmb_delivedeptcd");
- }
- return false;
- }
- if(model.getValue(cmb_windeptcd.attribute("ref")).length== 0 )
- {
- if(pmsg == true)
- {
- messageBox("입고부서를 " ,"C001");
- model.setFocus("cmb_windeptcd");
- }
- return false;
- }
-
- return true;
- }
- function fDefaultSetting(prow)
- {
- model.setValue(grd_gooddelive.nodeset+"["+prow+"]/instcd",model.getValue(ipt_instcd.attribute("ref")));
- model.setValue(grd_gooddelive.nodeset+"["+prow+"]/goodflag",model.getValue(cmb_goodflag.attribute("ref")));
- model.setValue(grd_gooddelive.nodeset+"["+prow+"]/delivedd",model.getValue(ipt_delivedd.attribute("ref")));
- model.setValue(grd_gooddelive.nodeset+"["+prow+"]/delivedeptcd",model.getValue(cmb_delivedeptcd.attribute("ref")));
- model.setValue(grd_gooddelive.nodeset+"["+prow+"]/windeptcd",model.getValue(cmb_windeptcd.attribute("ref")));
- model.setValue(grd_gooddelive.nodeset+"["+prow+"]/iokindcd",model.getValue(cmb_iokindcd.attribute("ref")));
- model.setValue(grd_gooddelive.nodeset+"["+prow+"]/delivepsn",model.getValue(ipt_delivepsn.attribute("ref")));
- model.setValue(grd_gooddelive.nodeset+"["+prow+"]/deliveseqno",fGetMaxDeliveSeqNo());
- model.setValue(grd_gooddelive.nodeset+"["+prow+"]/delivedeptqty",0);
- model.setValue(grd_gooddelive.nodeset+"["+prow+"]/deliveamt",0);
-
- model.setValue(grd_gooddelive.nodeset+"["+prow+"]/trantretdd", model.getValue(ipt_trantretdd.attribute("ref")));
- model.setValue(grd_gooddelive.nodeset+"["+prow+"]/trantrettm", model.getValue(ipt_trantrettm.attribute("ref")));
- }
-
-
- function fDefaultSetting2(flag)
- {
- grd_gooddelive.rebuildStyle();
- for( cnt = grd_gooddelive.fixedRows; cnt < grd_gooddelive.rows; cnt++) {
- grd_gooddelive.valueMatrix( cnt, grd_gooddelive.colRef("trantretdd")) = ipt_trantretdd.value;
- grd_gooddelive.valueMatrix( cnt, grd_gooddelive.colRef("trantrettm")) = ipt_trantrettm.value;
- grd_gooddelive.rowStatus( cnt ) = "1";
- var deliveflag = model.getValue("/root/init/deliveflag");
- if(deliveflag=="B"){
- grd_gooddelive.cellstyle("background-color", cnt, grd_gooddelive.colRef("delivedeptqty"), cnt, grd_gooddelive.colRef("delivedeptqty") ) = "yellow";
- grd_gooddelive.cellstyle("background-color", cnt, grd_gooddelive.colRef("delivepackdeptqty"), cnt, grd_gooddelive.colRef("delivepackdeptqty") ) = "transparent";
- grd_gooddelive.isReadOnly(cnt,grd_gooddelive.colRef("delivedeptqty")) = false;
- grd_gooddelive.isReadOnly(cnt,grd_gooddelive.colRef("delivepackdeptqty")) = true;
- }else{
- grd_gooddelive.cellstyle("background-color", cnt, grd_gooddelive.colRef("delivedeptqty"), cnt, grd_gooddelive.colRef("delivedeptqty") ) = "transparent";
- grd_gooddelive.cellstyle("background-color", cnt, grd_gooddelive.colRef("delivepackdeptqty"), cnt, grd_gooddelive.colRef("delivepackdeptqty") ) = "yellow";
- grd_gooddelive.isReadOnly(cnt,grd_gooddelive.colRef("delivedeptqty")) = true;
- grd_gooddelive.isReadOnly(cnt,grd_gooddelive.colRef("delivepackdeptqty")) = false;
- }
- if(flag=="1"){
-
- var seqno;
- if(cnt < 10){
- seqno ="00"+cnt;
- }else if(cnt >=10){
- seqno ="0"+cnt;
- }else if(cnt >=100){
- seqno =cnt;
- }
- grd_gooddelive.valueMatrix( cnt, grd_gooddelive.colRef("deliveseqno")) = seqno;
- }
- }
-
- }
-
- function fGetMaxDeliveSeqNo()
- {
- var maxDeliveSeqNo = "";
- /*for(var currow = grd_gooddelive.fixedRows ; currow < grd_gooddelive.rows; currow++)
- {
- alert("maxDeliveSeqNo======"+maxDeliveSeqNo);
- alert("22222222222======"+grd_gooddelive.valueMatrix(currow , grd_gooddelive.colRef("deliveseqno")));
- if(maxDeliveSeqNo < grd_gooddelive.valueMatrix(currow , grd_gooddelive.colRef("deliveseqno")))
- maxDeliveSeqNo = grd_gooddelive.valueMatrix(currow , grd_gooddelive.colRef("deliveseqno"));
- }*/
- for(var i = grd_gooddelive.rows-1; i > 0;i--){
-
- if(i==1){
- maxDeliveSeqNo="001";
- }else{
- maxDeliveSeqNo= grd_gooddelive.valueMatrix(i-1,grd_gooddelive.colRef("deliveseqno"));
-
- if(parseFloat(maxDeliveSeqNo) < 9){
- maxDeliveSeqNo = "00"+(parseFloat(maxDeliveSeqNo) + 1);
- }else if((parseFloat(maxDeliveSeqNo) >=9)&&(parseFloat(maxDeliveSeqNo) < 99)){
- maxDeliveSeqNo = "0"+(parseFloat(maxDeliveSeqNo) + 1);
- }else{
- maxDeliveSeqNo = (parseFloat(maxDeliveSeqNo) + 1);
- }
- }
- break;
- }
- return maxDeliveSeqNo;//maxDeliveSeqNo.getLeftPad(3,"0");
- }
-
- function fCheckSaveData()
- {
- if(model.getValue(ipt_instcd.attribute("ref")).length== 0 )
- {
- messageBox("기관코드를 " ,"C002");
- model.setFocus("ipt_instcd");
- return false;
- }
- if(model.getValue(cmb_goodflag.attribute("ref")).length== 0 )
- {
- messageBox("물품구분을 " ,"C002");
- model.setFocus("cmb_goodflag");
- return false;
- }
- if(model.getValue(ipt_delivedd.attribute("ref")).length== 0 )
- {
- messageBox("출고일자를 " ,"C001");
- model.setFocus("ipt_delivedd");
- return false;
- }
- if(model.getValue(cmb_delivedeptcd.attribute("ref")).length== 0 )
- {
- messageBox("출고부서를 " ,"C001");
- model.setFocus("cmb_delivedeptcd");
- return false;
- }
- if(model.getValue(cmb_iokindcd.attribute("ref")).length== 0 )
- {
- messageBox("출고유형을 " ,"C001");
- model.setFocus("cmb_iokindcd");
- return false;
- }
- if(model.getValue(cmb_windeptcd.attribute("ref")).length== 0 )
- {
- messageBox("입고부서를 " ,"C001");
- model.setFocus("cmb_windeptcd");
- return false;
- }
- if(model.getValue(ipt_delivepsn.attribute("ref")).length== 0 )
- {
- messageBox("출고담당자를 " ,"C001");
- model.setFocus("ipt_delivepsn");
- return false;
- }
- for(var currow = grd_gooddelive.fixedRows ; currow < grd_gooddelive.rows ; currow++)
- {
- if(grd_gooddelive.valueMatrix(currow , grd_gooddelive.colRef("goodcd")).length == 0)
- {
- messageBox((currow -1)+ " 번째 물품코드를 " ,"C001");
- grd_gooddelive.row = currow;
- grd_gooddelive.endEditCell();
- grd_gooddelive.col= grd_gooddelive.colRef("goodcd");
- grd_gooddelive.editCell();
- return false;
- }
- else
- {
- if(grd_gooddelive.rowStatus(currow)!="0"){ // 20130125_약품이송내역 삭제 시 체크 로직 변경
- for(srcrow = currow + 1 ; srcrow < grd_gooddelive.rows ; srcrow++)
- {
- if(grd_gooddelive.rowStatus(srcrow)!="4"){
-
- if(grd_gooddelive.valueMatrix(currow , grd_gooddelive.colRef("goodcd")) == grd_gooddelive.valueMatrix(srcrow , grd_gooddelive.colRef("goodcd")))
- {
- messageBox("동일 물품코드가 [" + currow + "," +srcrow + "->" + grd_gooddelive.valueMatrix(currow , grd_gooddelive.colRef("goodcd")) + "] 존재하여 저장 " ,"E001");
- return false;
- }
- }
- }
- }
- }
- if(grd_gooddelive.valueMatrix(currow , grd_gooddelive.colRef("delivedeptqty")).length == 0)
- {
- messageBox((currow -1)+ " 번째 출고수량을 " ,"C001");
- grd_gooddelive.row = currow;
- grd_gooddelive.endEditCell();
- grd_gooddelive.col= grd_gooddelive.colRef("delivedeptqty");
- grd_gooddelive.editCell();
- return false;
- }
- }
- return true;
- }
- function fAfterRetrieve()
- {
- var delivedeptqty = 0;
- var deliveamt = 0;
-
- for(var currow = grd_gooddelive.fixedRows ; currow < grd_gooddelive.rows ; currow++)
- {
- var deliveflag = model.getValue("/root/init/deliveflag");
- if(deliveflag=="B"){
- grd_gooddelive.cellstyle("background-color", currow, grd_gooddelive.colRef("delivedeptqty"), currow, grd_gooddelive.colRef("delivedeptqty") ) = "yellow";
- grd_gooddelive.cellstyle("background-color", currow, grd_gooddelive.colRef("delivepackdeptqty"), currow, grd_gooddelive.colRef("delivepackdeptqty") ) = "transparent";
- grd_gooddelive.isReadOnly(currow,grd_gooddelive.colRef("delivedeptqty")) = false;
- grd_gooddelive.isReadOnly(currow,grd_gooddelive.colRef("delivepackdeptqty")) = true;
- }else{
- grd_gooddelive.cellstyle("background-color",currow, grd_gooddelive.colRef("delivedeptqty"), currow, grd_gooddelive.colRef("delivedeptqty") ) = "transparent";
- grd_gooddelive.cellstyle("background-color", currow, grd_gooddelive.colRef("delivepackdeptqty"), currow, grd_gooddelive.colRef("delivepackdeptqty") ) = "yellow";
- grd_gooddelive.isReadOnly(currow,grd_gooddelive.colRef("delivedeptqty")) = true;
- grd_gooddelive.isReadOnly(currow,grd_gooddelive.colRef("delivepackdeptqty")) = false;
- }
- delivedeptqty = delivedeptqty + parseFloat( grd_gooddelive.valueMatrix(currow , grd_gooddelive.colRef("delivedeptqty")));
- if(grd_gooddelive.valueMatrix(currow , grd_gooddelive.colRef("deliveamt")).length>0)
- deliveamt = deliveamt + 0 + parseFloat(grd_gooddelive.valueMatrix(currow , grd_gooddelive.colRef("deliveamt")));
- }
-
- model.setValue(ipt_sumdeliveqty.attribute("ref"),delivedeptqty);
- model.setValue(opt_sumdeliveamt.attribute("ref"),deliveamt);
- model.setValue(ipt_deliveno.attribute("ref"),model.getValue("/root/main/list/gooddelive/goodmaxdeliveno/deliveno"));
- model.refresh();
- }
-
- function fCalcAmt()
- {
- var pdelivedeptqty = grd_gooddelive.valueMatrix(grd_gooddelive.row, grd_gooddelive.colRef("delivedeptqty"));
- var pwinpackcntperunit = grd_gooddelive.valueMatrix(grd_gooddelive.row, grd_gooddelive.colRef("winpackcntperunit"));
- var pwinpackqty = parseInt(pdelivedeptqty) / parseInt(pwinpackcntperunit);
-
- model.setValue(grd_gooddelive.nodeset + "[" + (grd_gooddelive.row - grd_gooddelive.fixedRows + 1) + "]/winpackqty" ,pwinpackqty);
- }
-
- /**
- * @ver : 2011-01-29
- * @desc : Popup창에서 해당정보 받기
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetDrugGoodReqInfo(getRCVS){
- var params = getRCVS.split("▩");
- var duplFlag = false;
- for(var i = 1; i <(params.length-1); i++){
-
- var sGoodcdEngnm = params[i].split("▦")[0]; //물품영문명
- var sReqpackunit = params[i].split("▦")[4]; //발주단위
- var sReqpackperunitqty = params[i].split("▦")[5]; //포장단위당갯수
- var sDelivepackqty = params[i].split("▦")[8]; //이송량(포장)
- var sGoodcd = params[i].split("▦")[9]; //물품코드
- var sReqdeptcd = params[i].split("▦")[10]; //청구부서
- var sReqdd = params[i].split("▦")[11]; //청구일자
- var sReqno = params[i].split("▦")[12]; //청구순번
- var sReqseqno = params[i].split("▦")[13]; //청구일련번호
- var sReqfla = params[i].split("▦")[15]; //청구금액
- var sReqflag = params[i].split("▦")[19]; //청구구분
- var sDeliveqty = params[i].split("▦")[24]; //이송량(낱개)
-
-
- var orgDelivedeptQty; //이전 낱개수량
- var orgDelivepackdeptQty; //이전 포장수량
- var orgDeliveamt; //이전 낱개금액
- var compGoodcd; //이전 약품코드
- var compWindeptcd; //이전 요구부서
- var orgStocqty; // 재고
- var k;
-
- for( k =grd_gooddelive.fixedRows;k <grd_gooddelive.rows;k++){
- compGoodcd = grd_gooddelive.valueMatrix(k,grd_gooddelive.colRef("goodcd"));
- compWindeptcd = model.getValue("/root/send/gooddelive/windeptcd");
- orgDelivedeptQty = grd_gooddelive.valueMatrix(k,grd_gooddelive.colRef("delivedeptqty"));
- orgDelivepackdeptQty = grd_gooddelive.valueMatrix(k,grd_gooddelive.colRef("delivepackdeptqty"));
- orgDeliveamt = grd_gooddelive.valueMatrix(k,grd_gooddelive.colRef("deliveamt"));
- orgStocqty = grd_gooddelive.valueMatrix(k,grd_gooddelive.colRef("stocqty"));
- if((sGoodcd == compGoodcd)&&(sReqdeptcd==compWindeptcd)){
- duplFlag = true;
- break;
- }else{
- duplFlag = false;
- }
- }
- if(duplFlag == true){
-
- model.setValue("/root/main/list/gooddelive/gooddelivelist[goodcd='"+compGoodcd+"' and windeptcd='"+compWindeptcd+"']/delivepackdeptqty" ,Number(orgDelivepackdeptQty)+Number(sDelivepackqty));
- model.setValue("/root/main/list/gooddelive/gooddelivelist[goodcd='"+compGoodcd+"' and windeptcd='"+compWindeptcd+"']/delivedeptqty" ,Number(orgDelivedeptQty)+Number(sDeliveqty));
- model.setValue("/root/main/list/gooddelive/gooddelivelist[goodcd='"+compGoodcd+"' and windeptcd='"+compWindeptcd+"']/deliveamt" ,Number(orgDeliveamt)+Number(sReqfla));
- model.setValue("/root/main/list/gooddelive/gooddelivelist["+k+"]/reqdd" ,sReqdd);
- model.setValue("/root/main/list/gooddelive/gooddelivelist["+k+"]/reqno" ,sReqno);
- model.setValue("/root/main/list/gooddelive/gooddelivelist["+k+"]/reqseqno" ,sReqseqno);
- model.setValue("/root/main/list/gooddelive/gooddelivelist["+k+"]/reqdeptcd" ,sReqdeptcd);
- model.setValue("/root/main/list/gooddelive/gooddelivelist["+k+"]/reqflag" ,sReqflag);
- if(Number(orgStocqty) < Number(sDeliveqty)){
- messageBox(compGoodcd+"코드의 마약청구량이 재고량보다 많습니다","I007");
- grd_gooddelive.cellstyle("background-color", k, grd_gooddelive.colRef("delivedeptqty"), k, grd_gooddelive.colRef("delivedeptqty") ) = "#ff9900";
- grd_gooddelive.cellstyle("background-color", k, grd_gooddelive.colRef("stocqty"), k, grd_gooddelive.colRef("stocqty") ) = "#ff9900";
- }
- if(grd_gooddelive.rowStatus(k)!="1"){
- grd_gooddelive.rowStatus(k)="2";
- }
- }else{
- /*grd_gooddelive.addRow(false);
-
- model.makeValue("/root/main/list/gooddelive/gooddelivelist["+grd_gooddelive.row+"]/goodcd" ,sGoodcd);
- model.makeValue("/root/main/list/gooddelive/gooddelivelist["+grd_gooddelive.row+"]/goodengnm" ,sGoodcdEngnm);
- model.makeValue("/root/main/list/gooddelive/gooddelivelist["+grd_gooddelive.row+"]/reqqty" ,sPlceordqty);
- model.makeValue("/root/main/list/gooddelive/gooddelivelist["+grd_gooddelive.row+"]/goodunitcost" ,sGoodunitcost);
- model.makeValue("/root/main/list/gooddelive/gooddelivelist["+grd_gooddelive.row+"]/reqfla" ,sReqfla);
- model.makeValue("/root/main/list/gooddelive/gooddelivelist["+grd_gooddelive.row+"]/reqpackfla" ,sReqPackfla);
- model.makeValue("/root/main/list/gooddelive/gooddelivelist["+grd_gooddelive.row+"]/reqdd" ,sReqdd);
- model.makeValue("/root/main/list/gooddelive/gooddelivelist["+grd_gooddelive.row+"]/reqdeptcd" ,sReqdeptcd);
- model.makeValue("/root/main/list/gooddelive/gooddelivelist["+grd_gooddelive.row+"]/reqno" ,sReqno);
- model.makeValue("/root/main/list/gooddelive/gooddelivelist["+grd_gooddelive.row+"]/reqseqno" ,sReqseqno);
- model.makeValue("/root/main/list/gooddelive/gooddelivelist["+grd_gooddelive.row+"]/requnit" ,sRequnit);
- model.makeValue("/root/main/list/gooddelive/gooddelivelist["+grd_gooddelive.row+"]/reqpackcntperunit" ,sReqpackperunitqty);
- model.makeValue("/root/main/list/gooddelive/gooddelivelist["+grd_gooddelive.row+"]/reqpackunit" ,sReqpackunit);
- model.makeValue("/root/main/list/gooddelive/gooddelivelist["+grd_gooddelive.row+"]/reqpackcnt" ,sReqpackqty);
- model.makeValue("/root/main/list/gooddelive/gooddelivelist["+grd_gooddelive.row+"]/goodpurccost" ,sGoodpurccost);
- model.makeValue("/root/main/list/gooddelive/gooddelivelist["+grd_gooddelive.row+"]/reqflag" ,sReqflag);
- */
- messageBox("마약청구부서랑 마약입고할 부서랑 불일치합니다","I007");
- return;
- }
- }
- grd_gooddelive.refresh();
- }
-
-
- /**
- * @ver : 2011-01-31
- * @desc : 포장,낱개이송에 따른 컬럼 isReadOnly
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fChgDeliveFlag(){
- var deliveflag = model.getValue("/root/init/deliveflag");
- grd_gooddelive.rebuildStyle();
- if(deliveflag=="B"){
- for(var currow = grd_gooddelive.fixedRows ; currow < grd_gooddelive.rows ; currow++){
- grd_gooddelive.cellstyle("background-color", currow, grd_gooddelive.colRef("delivedeptqty"), currow, grd_gooddelive.colRef("delivedeptqty") ) = "yellow";
- grd_gooddelive.cellstyle("background-color", currow, grd_gooddelive.colRef("delivepackdeptqty"), currow, grd_gooddelive.colRef("delivepackdeptqty") ) = "transparent";
- grd_gooddelive.isReadOnly(currow,grd_gooddelive.colRef("delivedeptqty")) = false;
- grd_gooddelive.isReadOnly(currow,grd_gooddelive.colRef("delivepackdeptqty")) = true;
- }
- }else{
- for(var currow = grd_gooddelive.fixedRows ; currow < grd_gooddelive.rows ; currow++){
- grd_gooddelive.cellstyle("background-color", currow, grd_gooddelive.colRef("delivedeptqty"), currow, grd_gooddelive.colRef("delivedeptqty") ) = "transparent";
- grd_gooddelive.cellstyle("background-color", currow, grd_gooddelive.colRef("delivepackdeptqty"), currow, grd_gooddelive.colRef("delivepackdeptqty") ) = "yellow";
- grd_gooddelive.isReadOnly(currow,grd_gooddelive.colRef("delivedeptqty")) = true;
- grd_gooddelive.isReadOnly(currow,grd_gooddelive.colRef("delivepackdeptqty")) = false;
- }
- }
- grd_gooddelive.refresh();
-
- }
- ]]>
- </script>
- </xhtml:head>
- <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
- <group id="grp_biz" scroll="auto" style="left:0px; top:38px; width:1195; height:744px; ">
- <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:10px; width:1195px; height:85px; background-color:#fffbf2; border-color:#ffd799; "/>
- <line id="line1" class="line_1" style="x1:0px; y1:135px; x2:1195px; y2:135px; "/>
- <datagrid id="grd_gooddelive" nodeset="/root/main/list/gooddelive/gooddelivelist" class="datagrid2" caption="순번^약품코드^약품명^재고량^입고량^포장이송량^낱개이송량^포장^포장^포장^포장^금월사용량^이송부서재고량^이송부서기준량^이송금액^이송일자^이송시간^청구번호^이전출고수량^caption1^caption2^caption3^caption4" colsep="^" colwidth="35, 100, 301, 70, 50, 73, 75, 100, 23, 22, 21, 80, 100, 90, 80, 90, 75, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" dataheight="25" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" style="left:0px; top:140px; width:1195px; height:594px; ">
- <col ref="deliveseqno" visibility="hidden" style="text-align:center; "/>
- <col ref="goodcd" type="output" _chartype="upper" _key="true"/>
- <col ref="goodnm"/>
- <col ref="stocqty" style="text-align:right; "/>
- <col ref="winpackqty" visibility="hidden" format="#,###" style="text-align:right; "/>
- <col ref="delivepackdeptqty" type="input" format="#,###" maxlength="9" style="text-align:right; "/>
- <col ref="delivedeptqty" type="input" format="#,###" maxlength="9" style="text-align:right; "/>
- <col ref="reqpackconcat" style="text-align:left; "/>
- <col ref="winpackcntperunit" visibility="hidden" style="text-align:right; "/>
- <col ref="deliveunit" visibility="hidden"/>
- <col ref="winpackunit" visibility="hidden"/>
- <col ref="targetdeliveqty" visibility="hidden" style="text-align:right; "/>
- <col ref="targetstocqty" visibility="hidden" style="text-align:right; "/>
- <col ref="targetbaseqty" visibility="hidden" style="text-align:right; "/>
- <col ref="deliveamt" format="#,###.##" style="text-align:right; "/>
- <col ref="trantretdd" type="inputdate" format="yyyy-mm-dd"/>
- <col ref="trantrettm" type="input" format="hh:nn:ss"/>
- <col ref="reqno" visibility="hidden"/>
- <col ref="iokindcd" visibility="hidden" style="text-align:right; "/>
- <col ref="delivedeptcd" visibility="hidden"/>
- <col ref="delivepsn" visibility="hidden"/>
- <col ref="windeptcd" visibility="hidden"/>
- <col ref="reqdeptcd" visibility="hidden"/>
- <col ref="reqflag" visibility="hidden"/>
- <col ref="reqdd" visibility="hidden"/>
- <col ref="reqseqno" visibility="hidden"/>
- <col ref="prcpstatspk" visibility="hidden"/>
- <col ref="instcd" visibility="hidden"/>
- <col ref="goodflag" visibility="hidden"/>
- <col ref="delivedd" visibility="hidden"/>
- <col ref="deliveno" visibility="hidden"/>
- <col ref="predelivedeptqty" visibility="hidden"/>
- <col ref="minexch" visibility="hidden"/>
- <col ref="predeliveprcsflag" visibility="hidden"/>
- <col ref="savedeliveprcsflag" visibility="hidden"/>
- <col ref="predeliveqty" visibility="hidden"/>
- <col ref="addflag" visibility="hidden"/>
- <col ref="goodunitcost" visibility="hidden"/>
- <script type="javascript" ev:event="onendedit">
- <![CDATA[
- var pRow = grd_gooddelive.row - grd_gooddelive.fixedRows + 1;
- var delivepackdeptqty = parseFloat(grd_gooddelive.valueMatrix(pRow , grd_gooddelive.colRef("delivepackdeptqty")));
- var winpackcntperunit = parseFloat(grd_gooddelive.valueMatrix(pRow , grd_gooddelive.colRef("winpackcntperunit")));
- var goodunitcost = parseFloat(grd_gooddelive.valueMatrix(pRow , grd_gooddelive.colRef("goodunitcost")));
- if(grd_gooddelive.col == grd_gooddelive.colRef("delivepackdeptqty")){
- model.setValue(grd_gooddelive.nodeset+"["+pRow+"]/delivedeptqty" ,delivepackdeptqty*winpackcntperunit);
- model.setValue(grd_gooddelive.nodeset+"["+pRow+"]/deliveamt" ,(delivepackdeptqty*winpackcntperunit)*goodunitcost);
-
- if(grd_gooddelive.row < grd_gooddelive.rows - grd_gooddelive.fixedRows){
- grd_gooddelive.row = grd_gooddelive.row + 1;
- grd_gooddelive.select(grd_gooddelive.row, grd_gooddelive.colRef("delivepackdeptqty")) = true;
- }
- }else if(grd_gooddelive.col == grd_gooddelive.colRef("delivedeptqty")){
- var delivedeptqty = parseFloat(grd_gooddelive.valueMatrix(pRow , grd_gooddelive.colRef("delivedeptqty")));
- model.setValue(grd_gooddelive.nodeset+"["+pRow+"]/deliveamt" ,delivedeptqty*goodunitcost);
- if(grd_gooddelive.row < grd_gooddelive.rows - grd_gooddelive.fixedRows){
- grd_gooddelive.row = grd_gooddelive.row + 1;
- grd_gooddelive.select(grd_gooddelive.row, grd_gooddelive.colRef("delivedeptqty")) = true;
- }
- }
- grd_gooddelive.refresh();
- ]]>
- </script>
- </datagrid>
- <input id="ipt_delivedd" ref="/root/send/gooddelive/delivedd" class="input_s_essential" inputtype="date" style="left:100px; top:19px; width:152px; height:19px; text-align:center; ">
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- btn_search.dispatch("DOMActivate");
- ]]>
- </script>
- </input>
- <select1 id="cmb_goodflag" ref="/root/send/gooddelive/goodflag" class="combo_default" visibility="hidden" appearance="minimal" style="left:1066px; top:20px; width:29px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/goodflag">
- <label ref="cdnm"/>
- <value ref="cdid"/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- btn_search.dispatch("DOMActivate");
- ]]>
- </script>
- </select1>
- <caption id="caption3" class="tit_2" style="left:5px; top:120px; width:118px; height:14px; ">약품 이송내역</caption>
- <input id="ipt_deliveno" ref="/root/send/gooddelive/deliveno" class="input_default" visibility="hidden" editable="false" style="left:285px; top:20px; width:57px; height:19px; ">
- <script type="javascript" ev:event="onkeyup">
- <![CDATA[
- inputEnterKey("btn_search", "DOMActivate");
- ]]>
- </script>
- </input>
- <button id="btn_choidel" class="btn2_letter3" visibility="visible" style="left:1091px; top:115px; width:53px; height:19px; ">
- <caption>행삭제</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var iSelectedCnt = grd_gooddelive.selectedCells.length;
-
- for(var i=0; i<iSelectedCnt; i++){
- var iRowIdx = grd_gooddelive.selectedCells.item(i).row;
-
- if((grd_gooddelive.rowstatus(iRowIdx)=="1")||(grd_gooddelive.rowstatus(iRowIdx)=="3")){
- grd_gooddelive.deleteRow(grd_gooddelive.row,false);
-
- }else{
- grd_gooddelive.rowstatus(iRowIdx)=4;
- }
- }
-
- model.refresh();
- //misfGridIUD(grd_gooddelive, "D");
- ]]>
- </script>
- </button>
- <output id="ipt_sumdeliveqty" ref="/root/init/deliveqty" class="output_default" format="#,###.##" style="left:578px; top:114px; width:70px; height:19px; font-weight:bold; text-align:center; "/>
- <caption id="caption25" style="left:520px; top:114px; width:74px; height:20px; vertical-align:middle; ">이송건수 :</caption>
- <output id="opt_sumdeliveamt" ref="/root/init/deliveamt" class="output_default" format="#,###.##" style="left:383px; top:114px; width:105px; height:19px; font-weight:bold; text-align:right; "/>
- <caption id="caption4" style="left:325px; top:115px; width:58px; height:20px; vertical-align:middle; ">이송합계 :</caption>
- <select1 id="cmb_iokindcd" ref="/root/send/gooddelive/iokindcd" class="combo_default" visibility="hidden" appearance="minimal" style="left:1067px; top:20px; width:28px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/ioflag">
- <label ref="cdnm"/>
- <value ref="cdid"/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- btn_search.dispatch("DOMActivate");
- ]]>
- </script>
- </select1>
- <input id="ipt_delivepsn" ref="/root/send/gooddelive/delivepsn" class="input_default" visibility="hidden" appearance="input" style="left:1072px; top:20px; width:23px; height:19px; "/>
- <output id="opt_delivepsnnm" ref="/root/send/gooddelive/delivepsnnm" class="output_fix" appearance="output" style="left:463px; top:19px; width:146px; height:17px; text-align:center; "/>
- <button id="btn_search" class="btn1_letter2" navindex="7" style="left:1124px; top:39px; width:56px; height:22px; text-align:left; ">
- <caption>조회</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- if(fCheckRetrieveData(true) == false)return;
- misfGridInit(grd_gooddelive);
- misfMsterDetailRetrieve();
- fAfterRetrieve();
- ]]>
- </script>
- </button>
- <select1 id="cmb_delivedeptcd" ref="/root/send/gooddelive/delivedeptcd" class="combo_s_essential" disabled="true" appearance="minimal" style="left:100px; top:55px; width:152px; height:19px; text-align:center; ">
- <choices>
- <itemset>
- <label/>
- <value/>
- </itemset>
- </choices>
- </select1>
- <select1 id="cmb_windeptcd" ref="/root/send/gooddelive/windeptcd" class="combo_s_essential" appearance="minimal" style="left:463px; top:56px; width:146px; height:19px; text-align:center; ">
- <choices>
- <itemset nodeset="/root/init/dept/deptcdlist">
- <label ref="deptnm"/>
- <value ref="deptcd"/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- var delivedeptcd = model.getValue("/root/send/gooddelive/delivedeptcd");
- var windeptcd = model.getValue("/root/send/gooddelive/windeptcd");
- if(delivedeptcd==windeptcd){
- messageBox("같은 부서끼리는 이송을","E001");
- return;
- }
- ]]>
- </script>
- </select1>
- <caption id="caption15" class="search_name" style="left:15px; top:56px; width:86px; height:17px; ">출고부서 :</caption>
- <line id="line2" class="line_4" style="x1:1110px; y1:23px; x2:1110px; y2:80px; border-color:#ffe4bb; border-left-style:solid; "/>
- <caption id="caption12" class="search_name" style="left:15px; top:19px; width:87px; height:17px; ">이송일자 :</caption>
- <caption id="caption13" class="search_name" style="left:360px; top:56px; width:105px; height:17px; ">입 고 부 서 :</caption>
- <caption id="caption16" class="search_name" style="left:360px; top:19px; width:105px; height:17px; ">이송담당자 :</caption>
- <input id="ipt_instcd" ref="/root/send/gooddelive/instcd" visibility="hidden" style="left:1065px; top:20px; width:30px; height:19px; "/>
- <caption id="caption1" class="search_name" style="left:695px; top:19px; width:105px; height:17px; ">이송시간 :</caption>
- <input id="ipt_trantretdd" ref="/root/send/gooddelive/trantretdd" inputtype="date" format="yyyy-mm-dd" style="left:785px; top:19px; width:90px; height:17px; text-align:center; "/>
- <input id="ipt_trantrettm" ref="/root/send/gooddelive/trantrettm" format="hh:nn:ss" style="left:885px; top:19px; width:65px; height:17px; text-align:center; "/>
- <button id="button1" class="btn2_letter6" style="left:1000px; top:115px; width:86px; height:19px; ">
- <caption>재고가져오기</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- if(fCheckRetrieveData(true) == false)return;
- // 20120202_laboru_약국 이송등록화면에서 재고가져오기 실행여부
- model.makeValue("/root/send/gooddelive/deflag","Y");
-
- if(submit("TRRSO00104")){
- ipt_sumdeliveqty.value= "0"; //출고 건수 초기화
- if(grd_gooddelive.rows - grd_gooddelive.fixedRows > 0) fDefaultSetting2("1");
- }
-
- ]]>
- </script>
- </button>
- <button id="btn_excel" class="btn2_letter2" style="left:1150px; top:115px; width:42px; height:19px; ">
- <caption>엑셀</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var fileName = window.fileDialog("save", ",", false, "Excel", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
-
- if (fileName != "")
- {
- grd_gooddelive.saveExcel(fileName, "Excel",false);
- }
- ]]>
- </script>
- </button>
- <button id="button2" class="btn2_letter6" style="left:910px; top:115px; width:86px; height:19px; ">
- <caption>마약이송청구</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- if(fCheckRetrieveData(true) == false)return;
-
- var sMngtCls = model.getValue("/root/send/gooddelive/mngtcls");
- var node = instance1.selectNodes("/root/main/list/gooddelive/gooddelivelist");
- if(sMngtCls =="09"){
- if(node.length > 0 ){
- modal("SPRSO10000");
- }else{
- messageBox("마약재고 가져오기부터","I008");
- return;
- }
- }else{
- messageBox("마약만 이송청구가능합니다","E");
- return;
- }
-
- ]]>
- </script>
- </button>
- <select1 id="cmb_mngtcls" ref="/root/send/gooddelive/mngtcls" class="combo_s_essential" appearance="minimal" style="left:785px; top:55px; width:146px; height:19px; text-align:center; ">
- <choices>
- <itemset>
- <label/>
- <value/>
- </itemset>
- </choices>
- </select1>
- <caption id="caption21" class="search_name" style="left:695px; top:56px; width:88px; height:17px; ">관리분류 :</caption>
- <select1 id="rdo_deliveflag" ref="/root/init/deliveflag" appearance="full" cols="2" overflow="visible" style="left:755px; top:115px; width:140px; height:20px; border-style:none; ">
- <choices>
- <item>
- <label>포장이송</label>
- <value>A</value>
- </item>
- <item>
- <label>낱개이송</label>
- <value>B</value>
- </item>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- fChgDeliveFlag();
- ]]>
- </script>
- </select1>
- </group>
- <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
- <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:243px; height:14px; ">약국 이송등록</caption>
- </group>
- <group id="group1" style="left:0px; top:12; width:1195px; height:27px; ">
- <button id="btn_save" class="btn4_letter2" style="left:1070px; top:3px; width:56px; height:22px; ">
- <caption>저장</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- if(fCheckSaveData() == false)return;
- for(var currow = grd_gooddelive.fixedRows ; currow < grd_gooddelive.rows ; currow++)
- {
- var delivepackdeptqty = grd_gooddelive.valueMatrix(currow,grd_gooddelive.colRef("delivepackdeptqty"));
- var delivedeptqty = grd_gooddelive.valueMatrix(currow,grd_gooddelive.colRef("delivedeptqty"));
- if((delivepackdeptqty == 0)&&(delivedeptqty==0)){
- grd_gooddelive.rowStatus(currow)=0;
- }
- }
-
- misfSave("TXRSO00101");
- if (model.getValue(gvErrorMsgPath + "/type") != "error")btn_search.dispatch("DOMActivate");
- ]]>
- </script>
- </button>
- <button id="btn_init" class="btn4_letter3" style="left:1127px; top:3px; width:68px; height:22px; ">
- <caption>초기화</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fInitialize();
- ]]>
- </script>
- </button>
- <line id="line17" class="line_6" style="x1:0px; y1:25; x2:1195px; y2:25px; "/>
- </group>
- </xhtml:body>
- </xhtml:html>
|