#pragma once
|
|
#include <wobject/xwin.hpp>
|
#include <wobject/xurl.hpp>
|
|
struct PUser
|
{
|
string id;
|
string no;
|
string name;
|
string userid;
|
string personid;
|
string deptid;
|
string deptname;
|
string orgid;
|
string orgname;
|
string jobid;
|
string jobname;
|
string positionid;
|
string positionname;
|
string teamid;
|
string teamname;
|
string groupid;
|
string groupname;
|
string unitid;
|
string unitname;
|
string companyid;
|
string companyname;
|
string tel;
|
};
|
|
namespace publiccode
|
{
|
//È¡·þÎñÆ÷µ±Ç°Ê±¼ä
|
static string GetCurrentDate()
|
{
|
KXMLDOMDocument x;
|
string ls_date=L"";
|
if (xaserver::ExecXQuery(L"", L"[dev.GetDate]", L"", x) == 1)
|
{
|
KXMLDOMElement e = x.documentElement();
|
if (e)
|
ls_date = e.selectSingleNode(L"@date").text(); //e.getAttribute(L"date");
|
}
|
return ls_date;
|
}
|
|
//È¡µ±Ç°Óû§
|
static PUser GetUser(xstring id)
|
{
|
string userno = xaserver::GetUserNo();
|
//trace(userno);
|
KXMLDOMDocument x;
|
xaserverarg arg;
|
if (id != L"") arg.AddArg(L"userid", id, L"");
|
if (xaserver::ExecXQuery(L"", L"[GetUserInfomation.xq]", arg.GetString(), x) != 1)
|
{
|
//trace(x.GetXml());
|
//return "";//---return nil;
|
}
|
//trace(L"---%s",x.GetXml());
|
KXMLDOMElement e = x.documentElement();
|
PUser& p = *(new PUser);
|
if (e)
|
{
|
if (e.selectSingleNode(L"ÈÎÖ°")) p.id = e.selectSingleNode(L"ÈÎÖ°").text();
|
if (e.selectSingleNode(L"Óû§")) p.no = e.selectSingleNode(L"Óû§").text();
|
if (e.selectSingleNode(L"Ãû×Ö")) p.name = e.selectSingleNode(L"Ãû×Ö").text();
|
if (e.selectSingleNode(L"Ö°Ô±")) p.personid = e.selectSingleNode(L"Ö°Ô±").text();
|
if (e.selectSingleNode(L"񅧏")) p.userid = e.selectSingleNode(L"񅧏").text();
|
|
if (e.selectSingleNode(L"¹¤ÖÖ")) p.jobid = e.selectSingleNode(L"¹¤ÖÖ").text();
|
if (e.selectSingleNode(L"¸Úλ")) p.positionid = e.selectSingleNode(L"¸Úλ").text();
|
if (e.selectSingleNode(L"ÊÂÒµ²¿")) p.orgid = e.selectSingleNode(L"ÊÂÒµ²¿").text();
|
if (e.selectSingleNode(L"²¿ÃÅ")) p.deptid = e.selectSingleNode(L"²¿ÃÅ").text();
|
if (e.selectSingleNode(L"ÍŶÓ")) p.teamid = e.selectSingleNode(L"ÍŶÓ").text();
|
if (e.selectSingleNode(L"С×é")) p.groupid = e.selectSingleNode(L"С×é").text();
|
if (e.selectSingleNode(L"µ¥Ôª")) p.unitid = e.selectSingleNode(L"µ¥Ôª").text();
|
if (e.selectSingleNode(L"·¨ÈË")) p.companyid = e.selectSingleNode(L"·¨ÈË").text();
|
|
if (e.selectSingleNode(L"¹¤ÖÖÃû³Æ")) p.jobname = e.selectSingleNode(L"¹¤ÖÖÃû³Æ").text();
|
if (e.selectSingleNode(L"¸ÚλÃû³Æ")) p.positionname = e.selectSingleNode(L"¸ÚλÃû³Æ").text();
|
if (e.selectSingleNode(L"ÊÂÒµ²¿Ãû³Æ")) p.orgname = e.selectSingleNode(L"ÊÂÒµ²¿Ãû³Æ").text();
|
if (e.selectSingleNode(L"²¿ÃÅÃû³Æ")) p.deptname = e.selectSingleNode(L"²¿ÃÅÃû³Æ").text();
|
if (e.selectSingleNode(L"ÍŶÓÃû³Æ")) p.teamname = e.selectSingleNode(L"ÍŶÓÃû³Æ").text();
|
if (e.selectSingleNode(L"С×éÃû³Æ")) p.groupname = e.selectSingleNode(L"С×éÃû³Æ").text();
|
if (e.selectSingleNode(L"µ¥ÔªÃû³Æ")) p.unitname = e.selectSingleNode(L"µ¥ÔªÃû³Æ").text();
|
if (e.selectSingleNode(L"·¨ÈËÃû³Æ")) p.companyname = e.selectSingleNode(L"·¨ÈËÃû³Æ").text();
|
|
if (e.selectSingleNode(L"µç»°")) p.tel = e.selectSingleNode(L"µç»°").text();
|
}
|
return p;
|
}
|
static PUser GetUser()
|
{
|
return GetUser(L"");
|
}
|
|
//È¡¹«Ë¾·ÑÂÊ£¨¶¨¶î·ÑÂÊ£©-ÔÝʱûÓõ½
|
static string GetFixedChargeRate(string sOrgID)
|
{
|
/*
|
if (sOrgID == "") return "4.2";
|
xml
|
x.setNativePointer(xml::CreateInstance());
|
xaserverarg args=new xaserverarg;
|
args.setNativePointer(args.CreateInstance());
|
args.AddArg(L"orgid",sOrgID);
|
|
string ls_date;
|
if(xaserver::ExecXQuery(L"","[GetFixedChargeRate.xq]",args.GetString(),x)==1)
|
{
|
msxml::IXMLDOMElement e= x.GetXmlDoc().documentElement;
|
if(e)
|
if(e.selectSingleNode(L"FixedChargeRate"))
|
ls_date = e.selectSingleNode(L"FixedChargeRate").text();
|
}
|
|
return ls_date+"";*/
|
return L"";
|
}
|
|
//È¡»ãÂÊ
|
static xstring GetExchangeRate(xstring pcur, xstring pdate)
|
{
|
if (pcur.toUpper() == L"RMB") return L"1";
|
KXMLDOMDocument x;
|
xaserverarg args;
|
args.AddArg(L"currency", pcur, L"");
|
if (pdate != L"") args.AddArg(L"date", pcur, L"");
|
xstring ls_date;
|
if (xaserver::ExecXQuery(L"", L"[GetCurrencyExchangeRate.xq]", args.GetString(), x) == 1)
|
{
|
KXMLDOMElement e = x.documentElement();
|
if (e)
|
if (e.selectSingleNode(L"ExchangeRate"))
|
ls_date = e.selectSingleNode(L"ExchangeRate").text(); //e.getAttribute(L"date");
|
}
|
return ls_date + L"";
|
}
|
|
static xstring GetExchangeRate(string pcur)
|
{
|
return GetExchangeRate(pcur, L"");
|
}
|
|
static string GetExchangeRate()
|
{
|
return GetExchangeRate(L"USD");
|
}
|
|
//file Îļþ¸´ÖƹýÀ´
|
static int get(xstring aurl, xstring atype, KXMLDOMDocument x)
|
{
|
return xaserver::LoadUrl(L"", L"dev:" + atype + L"[" + aurl + L"]", L"", x);
|
}
|
|
static int get(xstring aurl, KXMLDOMDocument x)
|
{
|
if (aurl.find(L":", 0) > 0) {
|
xstring str = aurl.mid(aurl.find(L":", 0) + 1, aurl.length());
|
xstring t = str.mid(0, str.find(L"[", 0));
|
xstring n = str.mid(str.find(L"[", 0) + 1, str.find(L"]", 0));
|
return get(n, t, x);
|
}
|
else
|
return get(aurl, L"xml", x);
|
}
|
|
static xstring get(xstring aurl, xstring atype)
|
{
|
KXMLDOMDocument x;
|
int res = get(aurl, atype, x);
|
if (res == 1)
|
return x.xml();
|
else
|
return L"";
|
}
|
|
static xstring get(xstring aurl)
|
{
|
if (aurl.find(L":", 0) > 0) {
|
xstring str = aurl.mid(aurl.find(L":", 0) + 1, aurl.length());
|
xstring t = str.mid(0, str.find(L"[", 0));
|
xstring n = str.mid(str.find(L"[", 0) + 1, str.find(L"]", 0));
|
return get(n, t);
|
}
|
else
|
return get(aurl, (xstring)L"xml");
|
}
|
|
static xstring node(xstring aurl, xstring atype, xstring id)
|
{
|
KXMLDOMDocument config;
|
int res = get(aurl, atype, config);
|
KXMLDOMElement e = config.selectSingleNode(L"*/" + id);
|
if (e) {
|
return e.xml();
|
}
|
else {
|
return L"";
|
}
|
}
|
|
static xstring node(xstring aurl, xstring id)
|
{
|
return node(aurl, L"xml", id);
|
}
|
|
//ÐÂGuid
|
static xstring GetGuid()
|
{
|
KXMLDOMDocument x;
|
if (xaserver::ExecXQuery(L"", L"[GetGuid.xq]", L"", x) != 1)
|
{
|
//trace(x.GetXml());
|
return L"";
|
}
|
KXMLDOMElement e = x.documentElement();
|
return e.text();
|
}
|
|
//ȡOrgID
|
static xstring getOrgID(xstring sguid)
|
{
|
KXMLDOMDocument x;
|
xaserverarg arg ;
|
arg.AddArg(L"AssignmentID", sguid);
|
if (xaserver::ExecXQuery(L"", L"[getAssignment.xq]", arg.GetString(), x) == 1)
|
{
|
KXMLDOMElement e = x.documentElement();
|
}
|
return L"";
|
}
|
|
static KXMLDOMDocument getAssignment(string sguid, KXMLDOMDocument x)
|
{
|
//xml
|
//x.setNativePointer(xml::CreateInstance());
|
xaserverarg arg;
|
arg.setNativePointer(arg.CreateInstance());
|
arg.AddArg(L"AssignmentID", sguid);
|
if (xaserver::ExecXQuery(L"", L"[getAssignment.xq]", arg.GetString(), x) == 1)
|
{
|
KXMLDOMElement e = x.documentElement();
|
}
|
return x;
|
}
|
//ÈÕÆÚת»»
|
static xstring DateTransform(xaserverarg arg)
|
{
|
xstring ls_date;
|
KXMLDOMDocument x;
|
if (xaserver::ExecXQuery(L"", L"[DateTransform.xq]", arg.GetString(), x) == 1)
|
{
|
KXMLDOMElement e = x.documentElement();
|
if (e)
|
ls_date = e.text(); //e.getAttribute(L"date");
|
}
|
return ls_date + L"";
|
}
|
//ÍùÀ´µ¥Î»Éú³É±àºÅ
|
static xstring GetIdentityNo(string stype)
|
{
|
KXMLDOMDocument x;
|
xaserverarg arg;
|
arg.AddArg(L"sType", stype, L"");
|
if (xaserver::ExecXQuery(L"", L"[GetIdentityNo.xq]", arg.GetString(), x) != 1)
|
{
|
//trace(x.GetXml());
|
return L"";
|
}
|
KXMLDOMElement e = x.documentElement();
|
return e.text();
|
}
|
|
//ÍùÀ´µ¥Î»ÅжÏÖØ¸´
|
static bool IsRepeated(xaserverarg arg)
|
{
|
KXMLDOMDocument x;
|
if (xaserver::ExecXQuery(L"", L"[IsRepeated.xq]", arg.GetString(), x) != 1)
|
{
|
//trace(x.GetXml());
|
return false;
|
}
|
KXMLDOMElement e = x.documentElement();
|
xstring scnt = e.text();
|
if (scnt == L"0")
|
return false;
|
|
return true;
|
}
|
//È¡ÖÐÎļÆÁ¿µ¥Î» by cky
|
static xstring GetUnitCName(xstring unitcode)
|
{
|
KXMLDOMDocument x;
|
xaserverarg arg;
|
arg.AddArg(L"code", unitcode, L"");
|
if (xaserver::ExecXQuery(L"",L"[getUnitCName.xq]", arg.GetString(), x) != 1)
|
{
|
//trace(x.GetXml());
|
return L"";
|
}
|
KXMLDOMElement e = x.documentElement();
|
//trace(e.xml);
|
if (e)
|
{
|
xstring CName = e.text();
|
//trace(srate);
|
return CName;
|
}
|
return L"1";
|
}
|
|
//È¡¼ÆÁ¿µ¥Î»×ª»»ÂÊ
|
static string GetConversionRate(string ls_from_unit, string ls_to_unit)
|
{
|
/*
|
ls_from_unit Ôµ¥Î»
|
ls_to_unit Ä¿±êµ¥Î»
|
*/
|
KXMLDOMDocument x;
|
xaserverarg arg;
|
arg.AddArg(L"code1", ls_from_unit, L"");
|
arg.AddArg(L"code2", ls_to_unit, L"");
|
if (xaserver::ExecXQuery(L"", L"[getUomInfo.xq]", arg.GetString(), x) != 1)
|
{
|
//trace(x.GetXml());
|
return L"";
|
}
|
KXMLDOMElement e = x.documentElement();
|
//trace(e.xml);
|
if (e)
|
{
|
string srate = e.text();
|
//trace(srate);
|
return srate;
|
}
|
return L"1";
|
}
|
//¸ù¾Ý×°Ô˵ÄÀàÐÍÈ¡ÈÝ»ý
|
static double GetFreightMode(string ls_type)
|
{
|
KXMLDOMDocument x;
|
xaserverarg arg;
|
arg.AddArg(L"ModelNo", ls_type, L"");
|
if (xaserver::ExecXQuery(L"", L"[GetFreightMode.xq]", arg.GetString(), x) != 1)
|
{
|
return 0;
|
}
|
KXMLDOMElement e = x.documentElement();
|
if (e.selectSingleNode(L"Capacity"))
|
return xstring(e.selectSingleNode(L"Capacity").text()).toDouble();
|
else
|
return 1;
|
}
|
|
static xstring GetRANo(xstring stype, xstring suseid)
|
{
|
KXMLDOMDocument x;
|
xaserverarg arg;
|
arg.AddArg(L"runo", stype, L"");
|
arg.AddArg(L"useid", suseid, L"");
|
if (xaserver::ExecXQuery(L"", L"[GetRANo.xq]", arg.GetString(), x) != 1)
|
{
|
//trace(x.GetXml());
|
return L"";
|
}
|
KXMLDOMElement e = x.documentElement();
|
if (e.selectSingleNode(L"raa/@RANo"))
|
return e.selectSingleNode(L"raa/@RANo").text();
|
else
|
return L"";
|
}
|
}
|