#pragma once
|
|
#include <wobject/xstring.hpp>
|
#include <wobject/xaserverarg.hpp>
|
#include <win32/win.hpp>
|
#include <vbusiness/vutil/publiccode.vutil.vbusiness.hpp>
|
#include <wobject/xurl.hpp>
|
#include <xcontrol/xdwgrid.hpp>
|
#include <xcontrol/xdwtable.hpp>
|
#include <wobject/xapp.hpp>
|
|
class ViewObject
|
{
|
public:
|
static int alert(HWND hWnd,string error)
|
{
|
return MessageBoxW(hWnd, error, L"Ìáʾ", 0);
|
}
|
|
static int alert(string error)
|
{
|
return alert(nullptr, error);
|
}
|
static int trace(string error)
|
{
|
return 1;
|
}
|
|
static xaserverarg MakeArg(string argName, string argValue)
|
{
|
xaserverarg arg;
|
arg.AddArg(argName, argValue);
|
return arg;
|
}
|
|
static xaserverarg MakeArg(string argName, string argValue, string argName1, string argValue1)
|
{
|
xaserverarg arg;
|
arg.AddArg(argName, argValue);
|
arg.AddArg(argName1, argValue1);
|
return arg;
|
}
|
|
static string GetGuid()
|
{
|
return publiccode::GetGuid();
|
}
|
|
//»ñÈ¡ÐÐÔªËØµÄÖµ
|
static xstring GetElementString(KXMLDOMElement e, xstring name)
|
{
|
if (name == L"") return L"";
|
if (e.selectSingleNode(name))
|
return e.selectSingleNode(name).text();
|
else
|
return L"";
|
}
|
|
static string GetElementString(KXMLDOMElement e, xstring name, bool isdisplay)
|
{
|
if (isdisplay) name += L"/@_displaystring";
|
return GetElementString(e, name);
|
}
|
|
static KXMLDOMDocument RetrieveData(string queryUrl)
|
{
|
return RetrieveData(xapp::GetServerUrl(), queryUrl);
|
}
|
|
static KXMLDOMDocument RetrieveData(string serverUrl,string queryUrl)
|
{
|
KXMLDOMDocument x;
|
if (xurl::get(serverUrl,queryUrl, L"", x) != 1)
|
{
|
string error = x.text();
|
trace(error);
|
return 0;
|
}
|
return x;
|
}
|
|
static KXMLDOMDocument RetrieveData( string queryUrl, string argName, string argValue)
|
{
|
return RetrieveData(xapp::GetServerUrl(), queryUrl, argName, argValue);
|
}
|
static KXMLDOMDocument RetrieveData(string serverUrl, string queryUrl, string argName, string argValue)
|
{
|
KXMLDOMDocument x;
|
xaserverarg arg;
|
arg.AddArg(argName, argValue);
|
if (xurl::get(serverUrl,queryUrl, arg.GetString(), x) != 1)
|
{
|
string error = x.text();
|
trace(error);
|
return 0;
|
}
|
return x;
|
}
|
|
static KXMLDOMDocument RetrieveData(string queryUrl, string argName, string argValue, string argName1, string argValue1)
|
{
|
return RetrieveData(xapp::GetServerUrl(), queryUrl, argName, argValue, argName1, argValue1);
|
}
|
static KXMLDOMDocument RetrieveData(string serverUrl, string queryUrl, string argName, string argValue, string argName1, string argValue1)
|
{
|
KXMLDOMDocument x;
|
xaserverarg arg;
|
arg.AddArg(argName, argValue);
|
arg.AddArg(argName1, argValue1);
|
if (xurl::get(serverUrl, queryUrl, arg.GetString(), x) != 1)
|
{
|
string error = x.text();
|
trace(error);
|
return 0;
|
}
|
return x;
|
}
|
|
static KXMLDOMDocument RetrieveData(string queryUrl, string argName, string argValue, string argName1, string argValue1, string argName2, string argValue2)
|
{
|
return RetrieveData(xapp::GetServerUrl(), queryUrl, argName, argValue, argName1, argValue1, argName2, argValue2);
|
}
|
|
static KXMLDOMDocument RetrieveData(string serverUrl, string queryUrl, string argName, string argValue, string argName1, string argValue1, string argName2, string argValue2)
|
{
|
KXMLDOMDocument x;
|
xaserverarg arg;
|
arg.AddArg(argName, argValue);
|
arg.AddArg(argName1, argValue1);
|
arg.AddArg(argName2, argValue2);
|
if (xurl::get(serverUrl, queryUrl, arg.GetString(), x) != 1)
|
{
|
string error = x.text();
|
trace(error);
|
return 0;
|
}
|
return x;
|
}
|
static KXMLDOMDocument RetrieveData(string queryUrl, string argName, string argValue, string argName1, string argValue1, string argName2, string argValue2, string argName3, string argValue3)
|
{
|
return RetrieveData(xapp::GetServerUrl(), queryUrl, argName, argValue, argName1, argValue1, argName2, argValue3, argName2, argValue3);
|
}
|
|
static KXMLDOMDocument RetrieveData(string serverUrl, string queryUrl, string argName, string argValue, string argName1, string argValue1, string argName2, string argValue2, string argName3, string argValue3)
|
{
|
KXMLDOMDocument x;
|
xaserverarg arg;
|
arg.AddArg(argName, argValue);
|
arg.AddArg(argName1, argValue1);
|
arg.AddArg(argName2, argValue2);
|
arg.AddArg(argName3, argValue3);
|
if (xurl::get(serverUrl, queryUrl, arg.GetString(), x) != 1)
|
{
|
string error = x.text();
|
trace(error);
|
return 0;
|
}
|
return x;
|
}
|
|
static KXMLDOMDocument FecthData(string pUrl, string argStr)
|
{
|
KXMLDOMDocument x;
|
if (xurl::get(xapp::GetApp()->GetServerUrl(), pUrl, argStr, x) != 1)
|
{
|
xstring error = x.text();
|
trace(L"\r\nError fetch data:" + error + L"\r\nurl:=" + pUrl);
|
}
|
return x;
|
}
|
|
static KXMLDOMDocument FecthData(string serverUrl,string pUrl, string argStr)
|
{
|
KXMLDOMDocument x;
|
if (xurl::get(serverUrl,pUrl, argStr, x) != 1)
|
{
|
xstring error = x.text();
|
trace(L"\r\nError fetch data:" + error + L"\r\nurl:=" + pUrl);
|
}
|
return x;
|
}
|
|
|
static xstring AskNo(string serverUrl,string typ)
|
{
|
KXMLDOMDocument x;
|
xaserverarg arg = MakeArg(L"type", typ);
|
if (xurl::get(serverUrl,L"/sale/data/Util/askno", arg.GetString(), x) != 1)
|
{
|
string error = x.text();
|
alert(error);
|
return L"";
|
}
|
string no = x.text();
|
return no;
|
}
|
|
static int TransData(string serverUrl,KXMLDOMNodeList nlist, xdwtable dwobj, int row, string column, string data)
|
{
|
int len = nlist.length();
|
for (int i = 0; i < len; i++)
|
{
|
KXMLDOMElement e = nlist.item(i);
|
string dataurl = e.getAttribute(L"dataurl");
|
xstring columns = e.getAttribute(L"columns");
|
string arg = e.getAttribute(L"arg");
|
KXMLDOMDocument x = RetrieveData(serverUrl,dataurl, arg, data);
|
if (!x) continue;
|
|
xstring it;
|
while (columns != L"")
|
{
|
if (columns.find(L",") > 0)
|
{
|
it = columns.left(columns.find(L","));
|
columns = columns.mid(columns.find(L",") + 1, 9999);
|
}
|
else
|
{
|
it = columns;
|
columns = L"";
|
}
|
KXMLDOMNode n = x.selectSingleNode(L"//" + it);
|
if (n)
|
{
|
dwobj.SetItemString(row, it.c_str(), xstring(n.text()).trim());
|
}
|
n = x.selectSingleNode(L"//" + it + L"/@_displaystring");
|
if (n)
|
{
|
dwobj.SetItemDisplayString(row, it.c_str(), xstring(n.text()).trim());
|
}
|
}
|
}
|
dwobj.Redraw();
|
return 1;
|
}
|
|
static int TransData(string serverUrl, KXMLDOMNodeList nlist, xdwgrid dwobj, int row, string column, string data)
|
{
|
int len = nlist.length();
|
for (int i = 0; i < len; i++)
|
{
|
KXMLDOMElement e = nlist.item(i);
|
string dataurl = e.getAttribute(L"dataurl");
|
xstring columns = e.getAttribute(L"columns");
|
string arg = e.getAttribute(L"arg");
|
KXMLDOMDocument x = RetrieveData(serverUrl, dataurl, arg, data);
|
if (!x) continue;
|
|
xstring it;
|
while (columns != L"")
|
{
|
if (columns.find(L",") > 0)
|
{
|
it = columns.left(columns.find(L","));
|
columns = columns.mid(columns.find(L",") + 1, 9999);
|
}
|
else
|
{
|
it = columns;
|
columns = L"";
|
}
|
KXMLDOMNode n = x.selectSingleNode(L"//" + it);
|
if (n)
|
{
|
dwobj.SetItemString(row, it.c_str(), xstring(n.text()).trim());
|
}
|
n = x.selectSingleNode(L"//" + it + L"/@_displaystring");
|
if (n)
|
{
|
dwobj.SetItemDisplayString(row, it.c_str(), xstring(n.text()).trim());
|
}
|
}
|
}
|
dwobj.Redraw();
|
}
|
|
int AddMessage(string serverUrl, string Category, string Reciever, string EntityNo, string EntityID, string Subject, string Content)
|
{
|
KXMLDOMDocument x;
|
xaserverarg arg;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg(L"EntityNo", EntityNo);
|
arg.AddArg(L"EntityID", EntityID);
|
arg.AddArg(L"Subject", Subject);
|
arg.AddArg(L"Category", Category);
|
arg.AddArg(L"Reciever", Reciever);
|
arg.AddArg(L"Content", Content);
|
if (xurl::get(serverUrl,L"/sale/data/business/message/add", arg.GetString(), x) != 1)
|
{
|
string error = x.text();
|
trace(error);
|
return 0;
|
}
|
return 1;
|
}
|
};
|