#pragma once #include #include 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""; } }