#include <wobject/xstring.hpp> 
 | 
#include <xcontrol/xtreeview.hpp> 
 | 
#include <xcontrol/xdwgrid.hpp> 
 | 
  
 | 
#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp" 
 | 
#include "viewobject/view.base.hpp" 
 | 
  
 | 
using xml = KXMLDOMDocument; 
 | 
    class __declspec(dllexport) ListVATInvoice :  public xframe 
 | 
    { 
 | 
    public: 
 | 
        xdwgrid    dw_list; 
 | 
        xcombobox cbx_type; 
 | 
        xdwtable dw_arg; 
 | 
        xnode    m_agentNode;    //Agent Condition 
 | 
     
 | 
        xstring DatePicker; 
 | 
    public: 
 | 
        ListVATInvoice(void* implPtr, HWND hWnd) :xframe(implPtr, hWnd) {} 
 | 
    public: 
 | 
        static ListVATInvoice* CreateInstance(void* implPtr, void* hWnd) 
 | 
        { 
 | 
            ListVATInvoice* pWin = new ListVATInvoice(implPtr, (HWND)hWnd); 
 | 
            return pWin; 
 | 
        } 
 | 
        int SetAgent() 
 | 
        { 
 | 
            xstring xfNodeAgentArea  = L"agentarea"; 
 | 
            xnode anode = GetAgentNode(xfNodeAgentArea); 
 | 
            if(m_agentNode) 
 | 
            { 
 | 
                SetAgentNode (anode,m_agentNode); 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                KXMLDOMElement xframeElement =  GetElement(); 
 | 
                KXMLDOMElement agent = xframeElement.selectSingleNode(L"agent/"+xfNodeAgentArea+L"[1]/*"); 
 | 
                if(agent) 
 | 
                { 
 | 
                    xstring s = agent.xml(); 
 | 
                    m_agentNode =  SetAgentNode (anode,s); 
 | 
                } 
 | 
            } 
 | 
            return 1; 
 | 
        } 
 | 
  
 | 
        //½¹µã¼¤»î´¦Àíº¯Êý 
 | 
        int OnSetFocus(TEvent* evt, LPARAM param) 
 | 
        { 
 | 
            //ÖØÖù¤¾ßÌõ 
 | 
            SetAgent(); 
 | 
            return 1; 
 | 
        } 
 | 
         
 | 
        xstring GetEntityName(LPARAM pr) 
 | 
        { 
 | 
            return L"VATInvoice3"; 
 | 
        } 
 | 
         
 | 
        xstring GetEntityIDName(LPARAM /*param*/ pr) 
 | 
        { 
 | 
            return L"VTAInvoiceID"; 
 | 
        } 
 | 
         
 | 
        xstring GetEntityID(LPARAM /*param*/ pr) 
 | 
        { 
 | 
            return dw_list.GetItemString(dw_list.GetRow(),L"VATInvoiceID"); 
 | 
        } 
 | 
         
 | 
        int ViewUpdate(LPARAM pr,xstring updateItem,xaserverarg  arg) 
 | 
        { 
 | 
            if(    updateItem==L"del") 
 | 
            { 
 | 
                int DelRow = dw_list.GetRow(); 
 | 
                dw_list.DeleteRow(DelRow); 
 | 
                return 1; 
 | 
            } 
 | 
            return 1; 
 | 
        } 
 | 
         
 | 
        int  OnAnalysis() 
 | 
        { 
 | 
            HCURSOR hCursor = xutil::SetCursorWait(); 
 | 
            xstring str = dw_list.DataAnalysis(L""); 
 | 
            xaserverarg arg; 
 | 
                                 
 | 
            arg.AddArg(L"html", str); 
 | 
             
 | 
            OpenWindow(L"dev:xpage[data.vanalysis.vx]",arg); 
 | 
            xutil::RestoreCursor(hCursor); 
 | 
            return 1; 
 | 
        } 
 | 
              
 | 
        int OnCombboChanged(TEvent* evt, int p) 
 | 
        { 
 | 
            xstring id = L""; 
 | 
            xstring name = L""; 
 | 
            int h = xcombobox::GetCurSel(evt->command.hCtrl); 
 | 
            if(h > -1)  
 | 
            { 
 | 
                xstring txt = (string)xcombobox::GetLBText(evt->command.hCtrl, h); 
 | 
                if(txt==L"Ôöֵ˰Ʊ") 
 | 
                { 
 | 
                    dw_list.openUrl(L"/sale/view/VATNotify/template/VATInvoice/list"); 
 | 
                    dw_list.SetColumnState(L"VATInvoiceID",false); 
 | 
                    dw_list.SetColumnState(L"GRNDate",false); 
 | 
                    OnRetrieve(DatePicker); 
 | 
                } 
 | 
                else if(txt==L"먦Ôöֵ˰Ʊ") 
 | 
                { 
 | 
                    dw_list.openUrl(L"/sale/view/VATNotify/template/VATNotify/ListNoVATInvoice"); 
 | 
                    OnRetrieveEx(); 
 | 
                } 
 | 
                else if(txt==L"Ôöֵ˰ƱÉÌÆ·") 
 | 
                { 
 | 
                    dw_list.openUrl(L"/sale/view/VATNotify/template/VATInvoice/list1"); 
 | 
                    dw_list.SetColumnState(L"VATInvoiceID",false); 
 | 
                    OnRetrieveEx1(); 
 | 
                } 
 | 
            } 
 | 
            return 1; 
 | 
        } 
 | 
                 
 | 
        int OnDoubleClicked(TEvent* evt, int p) 
 | 
        { 
 | 
            return OnCmdDispatch(L"xmModifyRow"); 
 | 
        } 
 | 
         
 | 
        //ÃüÁî·¢²¼º¯Êý 
 | 
        int OnCmdDispatch(xstring comdid) 
 | 
        { 
 | 
            if(comdid==L"xmAnalysis") return OnAnalysis(); 
 | 
            if(comdid==L"xmAddRow") 
 | 
            { 
 | 
                OpenWindow(L"dev:xpage[VATInvoiceNew.vx]"); 
 | 
                return 1; 
 | 
            } 
 | 
            else if(comdid==L"xmModifyRow" ) 
 | 
            { 
 | 
                if(xcontrol(GetControl(L"cbx_type")).GetText() ==L"먦Ôöֵ˰Ʊ" ) return 1; 
 | 
                int row = dw_list.GetRow(); 
 | 
                xaserverarg arg; 
 | 
                xstring VATInvoiceID = dw_list.GetItemString(row,L"VATInvoiceID"); 
 | 
                arg.AddArg(L"VATInvoiceID", VATInvoiceID); 
 | 
                 
 | 
                OpenWindow(L"dev:xpage[maint.vatinvoice.vx]", arg); 
 | 
                return 1; 
 | 
            } 
 | 
            else if(comdid==L"xmSaveAs") 
 | 
            { 
 | 
                dw_list.SaveAs(L""); 
 | 
                return 1; 
 | 
            } 
 | 
            else if(comdid==L"xmRetrieve" || comdid==L"xmSearch" ) 
 | 
            { 
 | 
                if(xcontrol(GetControl(L"cbx_type")).GetText() ==L"먦Ôöֵ˰Ʊ") 
 | 
                { 
 | 
                    OnRetrieveEx(); 
 | 
                } 
 | 
                else if(xcontrol(GetControl(L"cbx_type")).GetText() ==L"Ôöֵ˰ƱÉÌÆ·") 
 | 
                { 
 | 
                    OnRetrieveEx1(); 
 | 
                } 
 | 
                else 
 | 
                    OnRetrieve(DatePicker); 
 | 
                return 1; 
 | 
            } 
 | 
            else if(comdid.find(L"action:",0)>=0) 
 | 
            { 
 | 
                ProcessFlowAction(comdid,1); 
 | 
            } 
 | 
            else    if(comdid==L"DeletedOne") 
 | 
            { 
 | 
                OpenWindow(L"dev:xpage[del.vatinvoice.vx]"); 
 | 
                return 1; 
 | 
            } 
 | 
             
 | 
  
 | 
            return 0; 
 | 
        } 
 | 
         
 | 
        //ÃüÁî´¦Àíʼþ 
 | 
        int OnXCommand(TEvent* evt, LPARAM param) 
 | 
        { 
 | 
            return OnCmdDispatch(evt->xcommand.pStrID); 
 | 
        } 
 | 
         
 | 
        int OnAttachEvent() 
 | 
        { 
 | 
            //°ó¶¨¹¤¾ßÌõµã»÷ʼþ 
 | 
            AttachEvent(L"WM_XCOMMAND", (FEvent)&ListVATInvoice::OnXCommand); 
 | 
            //»ñÈ¡½¹µãʼþ£¬ÓÃÓÚÖØÖù¤¾ßÌõ 
 | 
            AttachEvent(L"WM_SETFOCUS", (FEvent)&ListVATInvoice::OnSetFocus); 
 | 
            AttachEvent(L"dw_list",L"DWV_DOUBLECLICKED", (FEvent)&ListVATInvoice::OnDoubleClicked);//ÐÐË«»÷ 
 | 
            AttachEvent(L"cbx_type",L"CBN_SELCHANGE", (FEvent)&ListVATInvoice::OnCombboChanged);//ÊôÐÔ×éÇл»listÖÐÁеÄÊýÁ¿±ä»¯ 
 | 
            AttachEvent(L"cbx_state",L"CBN_SELCHANGE", (FEvent)&ListVATInvoice::OnDatePicker); 
 | 
            return 1; 
 | 
        } 
 | 
         
 | 
        int OnDatePicker(TEvent* evt, int lParam) 
 | 
        { 
 | 
             
 | 
            int h = xcombobox::GetCurSel(evt->command.hCtrl); 
 | 
            if(h > -1)  
 | 
            { 
 | 
                xstring txt = (string)xcombobox::GetLBText(evt->command.hCtrl, h); 
 | 
                if(txt==L"³öÔËÈÕÆÚ") 
 | 
                { 
 | 
                 
 | 
                    DatePicker=L"ETD"; 
 | 
                    OnRetrieve(DatePicker); 
 | 
                } 
 | 
                else if(txt==L"¿ªÆ±ÈÕÆÚ") 
 | 
                { 
 | 
                         
 | 
                    DatePicker=L"VATDate"; 
 | 
                    OnRetrieve(DatePicker); 
 | 
                } 
 | 
            } 
 | 
            return 1; 
 | 
        } 
 | 
                 
 | 
        int  OnRetrieveEx1() 
 | 
        { 
 | 
            HCURSOR  hCursor = xutil::SetCursorWait(); 
 | 
            xml x ; 
 | 
             
 | 
            xaserverarg arg ; 
 | 
             
 | 
            arg.AddArg(L"QueryTxt",xcontrol(GetControl(L"sle_search")).GetText()); 
 | 
            arg.AddArg(L"QueryArg",GetQueryArg()); 
 | 
            if (getUrl(L"/sale/data/VATNotify/list/novatinvoice1",arg.GetString(),x)!=1) 
 | 
            { 
 | 
                 
 | 
                xutil::RestoreCursor(hCursor); 
 | 
                return -1; 
 | 
            }else     
 | 
            { 
 | 
                dw_list.Retrieve(x); 
 | 
                dw_list.Redraw(); 
 | 
            } 
 | 
            dw_list.SetReadOnly(true); 
 | 
            xutil::RestoreCursor(hCursor); 
 | 
            return 1; 
 | 
        } 
 | 
         
 | 
        int  OnRetrieveEx() 
 | 
        { 
 | 
            HCURSOR  hCursor = xutil::SetCursorWait(); 
 | 
            xml x ; 
 | 
             
 | 
            xaserverarg arg ; 
 | 
             
 | 
            arg.AddArg(L"QueryTxt",xcontrol(GetControl(L"sle_search")).GetText()); 
 | 
            arg.AddArg(L"QueryArg",GetQueryArg()); 
 | 
            if (getUrl(L"/sale/data/VATNotify/list/novatinvoice",arg.GetString(),x)!=1) 
 | 
            { 
 | 
                 
 | 
                xutil::RestoreCursor(hCursor); 
 | 
                return -1; 
 | 
            }else     
 | 
            { 
 | 
                dw_list.Retrieve(x); 
 | 
                dw_list.Redraw(); 
 | 
            } 
 | 
            dw_list.SetReadOnly(true); 
 | 
            xutil::RestoreCursor(hCursor); 
 | 
            return 1; 
 | 
        } 
 | 
             
 | 
        xstring GetQueryArg() 
 | 
        { 
 | 
            dw_arg.AcceptText(); 
 | 
            xml x ; 
 | 
             
 | 
            dw_arg.DwUpdateAllTo(x); 
 | 
            return x.xml(); 
 | 
        }     
 | 
             
 | 
        int  OnRetrieve(xstring DatePicker) 
 | 
        { 
 | 
            HCURSOR  hCursor = xutil::SetCursorWait(); 
 | 
            xml x ; 
 | 
             
 | 
            xaserverarg arg ; 
 | 
             
 | 
            arg.AddArg(L"QueryTxt",xcontrol(GetControl(L"sle_search")).GetText()); 
 | 
            arg.AddArg(L"QueryArg",GetQueryArg()); 
 | 
            arg.AddArg(L"DatePicker",DatePicker); 
 | 
            //alert(arg.GetString()); 
 | 
            if (getUrl(L"/sale/data/VATNotify/list/vatinvoice",arg.GetString(),x)!=1) 
 | 
            { 
 | 
             
 | 
                xutil::RestoreCursor(hCursor); 
 | 
                return -1; 
 | 
            }else     
 | 
            { 
 | 
                dw_list.Retrieve(x); 
 | 
                dw_list.Redraw(); 
 | 
            } 
 | 
            xutil::RestoreCursor(hCursor); 
 | 
            return 1; 
 | 
        } 
 | 
         
 | 
         
 | 
        int onload() 
 | 
        { 
 | 
            dw_list = GetControl(L"dw_list"); 
 | 
            dw_list.openUrl(L"/sale/view/VATNotify/template/VATInvoice/list"); 
 | 
            dw_list.SetColumnState(L"VATInvoiceID",false); 
 | 
            dw_list.SetColumnState(L"GRNDate",false); 
 | 
            dw_arg = GetControl(L"dw_arg"); 
 | 
            dw_arg.openUrl(L"/sale/view/AR/template/queryarg"); 
 | 
            dw_arg.SetColHeaderHeight(0); 
 | 
            dw_arg.SetRowSelectorWidth(0); 
 | 
            dw_arg.SetHScrollState(false); 
 | 
            dw_arg.SetVScrollState(false); 
 | 
             
 | 
            dw_arg.SetItemString(1,L"DateType",L"±¾ÔÂ"); 
 | 
            OnAttachEvent();     
 | 
            OnRetrieve(DatePicker); 
 | 
            return 1; 
 | 
        } 
 | 
         
 | 
        int onloaded() 
 | 
        { 
 | 
            SetAgent();             
 | 
             
 | 
            return 1; 
 | 
        }         
 | 
    }; 
 |