123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294 |
- /* ---------------------------------------------------------------------
- 물품분류체계등록(SMMNP04300.xfm - JScript )
- - Version :
- 1) : Ver.1.00.01
- : Create By kim bo sung
- : 2007.09.19
- ---------------------------------------------------------------------- */
- var xPathData = "/root/main/gubnlist" ; //
- var xSendReqData = "/root/send/reqdata"; //보내는값
- var xSendSaveData = "/root/send/savedata"; //받은 리스트 갯수값
- var xCondData = "/root/main/cond"; //조건항목들
- var xErrMsg = "/root/properties/error/msg";
- // --------------------------------------------------
- // 화면 초기화
- // --------------------------------------------------
- function fInit(){
- grd_lrglist.fixedcellcheckbox(0,1) = true; //그리드 헤더에 체크버튼 추가
- grd_mdllist.fixedcellcheckbox(0,1) = true; //그리드 헤더에 체크버튼 추가
- grd_smllist.fixedcellcheckbox(0,1) = true; //그리드 헤더에 체크버튼 추가
- model.removeNodeset("/root/init/mdllists/mdllist");
- model.removeNodeset("/root/init/smllists/smllist");
- flrgComboCall();//대분류콤보 자료 추출
- //fGubnList_Read();//물품분류리스트조회
- }
- // --------------------------------------------------
- // 대분류콤보 자료 추출
- // --------------------------------------------------
- function flrgComboCall(){
- //대분류코드 조회
- model.copyNode("/root/send/reqdata", "/root/main/cond");
- submit("TRMNP04301");
- }
- // --------------------------------------------------
- // 중분류콤보 자료 추출
- // --------------------------------------------------
- function fmdlComboCall() {
- var lrgcd = model.getValue("/root/init/lrglists/lrglist[" + grd_lrglist.row + "]/lrgcd");//대분류
- if(lrgcd == null || lrgcd == ""){
- return;
- }else{
- model.setValue("/root/main/cond/lrgcd", lrgcd);
- model.removeNodeset("/root/init/mdllists/mdllist");
- model.removenode("/root/send");
- model.makeValue("/root/send/reqdata/lrgcd", lrgcd);
- submit("TRMNP04302");
- }
- }
- // --------------------------------------------------
- // 소분류콤보 자료 추출
- // --------------------------------------------------
- function fsmlComboCall() {
- var mdlcd = model.getValue("/root/init/mdllists/mdllist[" + grd_mdllist.row + "]/mdlcd");//중분류
- if( mdlcd == null || mdlcd == "" ){
- return;
- }else{
- model.setValue("/root/main/cond/mdlcd", mdlcd);
- model.removeNodeset("/root/init/smllists/smllist");
- model.removenode("/root/send");
- model.makeValue("/root/send/reqdata/lrgcd", model.getValue("/root/main/cond/lrgcd"));
- model.makeValue("/root/send/reqdata/mdlcd", mdlcd);
- submit("TRMNP04304");
- }
- }
- // --------------------------------------------------
- // 대중소분류구분 찾기
- // --------------------------------------------------
- function fGetClsflag(){
- var clsflag; // 대,중,소 분류 구분 clsflag = 1, 2, 3
- var lrgcd = model.getValue('/root/main/cond/lrgcd');//대분류
- if(lrgcd == null || lrgcd ==''){
- model.setValue('/root/main/cond/mdlcd', '')
- model.refresh();
- }
- var mdlcd = model.getValue('/root/main/cond/mdlcd');//중분류
- //아무것도 선택되지 않음 --> 대분류테이블 조회
- if((lrgcd == null || lrgcd =='') && (mdlcd == null || mdlcd == '')){
- clsflag = '1';
- }
- //대분류 선택됨 -->중분류테이블 조회
- if(lrgcd != null && lrgcd != ''){
- clsflag = '2';
- }
- //중분류 선택됨-> 소분류테이블 조회
- if(mdlcd != null && mdlcd != ''){
- clsflag = '3';
- }
- return clsflag;
- }
- // --------------------------------------------------
- // 그리드 조회
- // --------------------------------------------------
- function fGubnList_Read() {
- var clsflag = fGetClsflag();//대,중,소 분류 조회구분
- model.setValue('/root/main/cond/clsflag', clsflag);
- model.copyNode(xSendReqData, xCondData);//(1:대분류,2:중분류,3:소분류)
- if(!submit("TRMNP04304")){
- messageBox('물품분류조회를', 'E009');
- return false;
- }else{
- var refMsg = model.getValue(xErrMsg);
- var refMsgCnt = refMsg.substring(0, 1);
- if( refMsgCnt == "0" ) {
- messageBox("조회된 결과가", "I004");
- }else{
- //대,중,소 테이블조회에 따라 그리드에 대분류명, 소분류명 추가한다.
- //전체조회일때는 대분류, 소분류명 hidden
- if(clsflag == '1'){
- grd_lrglist.colHidden(1) = true;
- grd_lrglist.colHidden(2) = true;
- }
- //대분류명 조회일때는 대분류 display , 소분류 hidden
- else if(clsflag == '2'){
- grd_lrglist.colHidden(1) = false;
- grd_lrglist.colHidden(2) = true;
- }
- //소분류명 조회일때는 대분류, 소분류 display
- else if(clsflag = '3'){
- grd_lrglist.colHidden(1) = false;
- grd_lrglist.colHidden(2) = false;
- }
- }
- }
- }
- // --------------------------------------------------
- // 행추가시 체크기능
- // --------------------------------------------------
- function finsertCheck(clsflag) {
- switch (clsflag) {
- case "1":
- break;
- case "2"://중분류를 클릭하면 대분류콤보를 재조회한다.
- if (cmb_lrglist.value == "") {
- messageBox("대분류를 ", "C002");
- return false;
- }
- break;
- case "3"://소분류를 클릭하면 중분류콤보를 재조회한다.
- if (cmb_lrglist.value == "") {
- messageBox("대분류를 ", "C002");
- return false;
- }
- if (cmb_mdllist.value == "") {
- messageBox("중분류를 ", "C002");
- return false;
- }
- fmdlComboCall();
- break;
- }
- return true;
- }
- // --------------------------------------------------
- // 저장(신규/수정)
- // --------------------------------------------------
- function fSave(pGrd){
- var iRows = -1;
- var clscd, clsflag, lrgcd, mdlcd, clsnm, updtflag, sortseq;
- var SendData = "m▦clscd▦clsflag▦lrgcd▦mdlcd▦clsnm▦uedt▦sortseq";
- //체크
- var clsflag = fGetClsflag(); //대중소 분류코드 가져옴
- var sinsertChk = finsertCheck(clsflag); //조회조건 콤보박스 선택여부 체크
- if(sinsertChk == false )
- return;
- iRows = pGrd.rows;
- for( var row = 0; row < iRows; row++ ) {
- clscd = model.getValue(xPathData + "[" + row + "]/clscd");
- clsflag = model.getValue("/root/main/cond/clsflag");
- lrgcd = model.getValue("/root/main/cond/lrgcd");
- mdlcd = model.getValue("/root/main/cond/mdlcd");
- updtflag = model.getValue(xPathData + "[" + row + "]/updtflag");
- clsnm = model.getValue(xPathData + "[" + row + "]/clsnm");
- uedt = model.getValue(xPathData + "[" + row + "]/uedt");
- sortseq = model.getValue(xPathData + "[" + row + "]/sortseq");
- SendData = SendData + "▩" + updtflag + "▦" + clscd + "▦" + clsflag + "▦" + lrgcd + "▦" + mdlcd + "▦" + clsnm + "▦" + uedt + "▦" + sortseq;
- }
- model.setValue(xSendSaveData, SendData);
- model.copyNode(xSendReqData, xCondData);
- //node에 해당하는 노드 하나만 남기고, 같은 node Name 을 갖는 노드들은 삭제시켜준다.
- //다른 노드들을 삭제시키고 남겨진 노드의 속성이나 value 값은공백으로 세팅이 된다
- model.resetInstanceNode(xPathData);
- if(submit("TXMNP04307")){ //저장(신규,수정)
- fGubnList_Read();
- }else{
- messageBox('저장을', 'E009');
- }
- }
- // --------------------------------------------------
- // 행추가
- // --------------------------------------------------
- function fAddRow(pGrd) {
- var clsflag = fGetClsflag();
- var sinsertChk = finsertCheck(clsflag);
- if ( sinsertChk == false ) return;
- pGrd.addRow();
- //코드값 자동생성 시작
- var iRow = pGrd.row;
- var iClscd = '00';
- var iClsTempcd = '00';
- for (var row=pGrd.fixedRows;row<pGrd.rows-1;row++) {
- if (row != iRow ) {
- iClsTempcd = model.getValue(xPathData+"["+row+"]/clscd");
- if (iClsTempcd != 99 && iClscd < iClsTempcd ) {
- iClscd = iClsTempcd ;
- }
- }
- }
- iClscd=Number(iClscd)+1 ; //자동증가(문자로 인식하여 숫자로 형변환한다.)
- if (iClscd.toString().length == 1) {
- iClscd = "0" + iClscd.toString(); //문자열로변환
- }
- //코드값 자동생성 종료
- model.setValue(xPathData+"["+iRow+"]/clscd", iClscd); // 분류코드
- model.setValue(xPathData+"["+iRow+"]/uedt", "Y"); // 사용여부
- model.setValue(xPathData+"["+iRow+"]/updtflag", "i"); // 수정구분
- }
- // --------------------------------------------------
- // 사용여부 라디오 버튼 변경시
- // --------------------------------------------------
- function frdo_uedtflagChanged() {
- var uedtflag = rdo_uedtflag.value;
- btn_addrow.visible = true;
- btn_query.visible = true;
- btn_save.visible = true;
- if (uedtflag == "N") {
- btn_query.visible = false;
- }
- fGubnList_Read(); //조회
- }
- // --------------------------------------------------
- // 그리드의 cell 포커스시
- // --------------------------------------------------
- function fgrd_onentercell() {
- var pGrd = grd_lrglist;
- var row = pGrd.row;
- var col = pGrd.col;
- var colclsnm = pGrd.colAttribute(col,"ref");
- var suedt = model1.getValue("/root/main/gubnlist[" + row + "]/uedt");
- switch (colclsnm) {
- case "clsnm":
- if (suedt != "Y") {
- pGrd.colDisabled(col) = true; //uedt가 'N'이면 clsnm은 입력불가
- } else {
- pGrd.colDisabled(col) = false; //모두입력가능
- }
- break;
- }
- }
- /* ------------------------------------------------- */
- /* ------End Of List ------------------------------- */
- /* -------------------------------------------------- */
|