/// <summary> /// 获取apibroker /// </summary> /// <param name="apidata"></param> /// <param name="u8Login"></param> /// <param name="broker"></param> /// <returns></returns> public Model.DealResult GetU8ApiBroker(Model.APIData apidata, U8Login.clsLogin u8Login, out U8ApiBroker broker, string op) { Model.DealResult dr = new Model.DealResult(); dr = base.GetU8ApiBroker(apidata, u8Login, out broker, op); apidata.SVouchType = SetVouchType(); return(dr); }
/// <summary> /// 删除 /// </summary> /// <param name="bd"></param> /// <param name="dt"></param> /// <returns></returns> public override Model.DealResult UndoMake(BaseData bd, Model.Synergismlogdt dt) { Model.DealResult dr = new Model.DealResult(); Model.APIData apidata = bd as Model.APIData; try { dr = CancelAudit(apidata, dt); } catch (Exception ex) { U8.Interface.Bus.Log.WriteWinLog("stockop_cancelaudit:" + ex.ToString()); dr.ResultNum = -1; dr.ResultMsg = ex.Message; return(dr); } string vouchid = GetCodeorID(dt.Cvoucherno, apidata, "id"); string auditaddress = SetApiAddressDelete(); U8Login.clsLogin u8Login = new U8Login.clsLogin(); GetU8Login(apidata, u8Login); U8ApiBroker broker = null; dr = GetU8ApiBroker(apidata, u8Login, out broker, "delete"); broker.AssignNormalValue("sVouchType", apidata.SVouchType); broker.AssignNormalValue("VouchId", vouchid); broker.AssignNormalValue("cnnFrom", null); broker.AssignNormalValue("TimeStamp", DAL.Common.GetUtfsByID(vouchid, SetTableName(), apidata.ConnectInfo.Constring)); MSXML2.IXMLDOMDocument2 domMsg = new MSXML2.DOMDocument(); broker.AssignNormalValue("domMsg", domMsg); broker.AssignNormalValue("bCheck", false); broker.AssignNormalValue("bBeforCheckStock", false); broker.AssignNormalValue("bList", null); dr = BrokerInvoker(broker); return(dr); }
/// <summary> /// 审核 /// </summary> /// <param name="bd"></param> /// <param name="vouchid"></param> /// <returns></returns> public override Model.DealResult MakeAudit(BaseData bd, Model.Synergismlogdt dt) { Model.DealResult dr = new Model.DealResult(); Model.APIData apidata = bd as Model.APIData; string vouchid = GetCodeorID(dt.Cvoucherno, apidata, "id"); string auditaddress = SetApiAddressAudit(); U8Login.clsLogin u8Login = new U8Login.clsLogin(); GetU8Login(apidata, u8Login); U8ApiBroker broker = null; dr = GetU8ApiBroker(apidata, u8Login, out broker, "audit"); broker.AssignNormalValue("sVouchType", apidata.SVouchType); broker.AssignNormalValue("VouchId", vouchid); broker.AssignNormalValue("cnnFrom", null); broker.AssignNormalValue("TimeStamp", DAL.Common.GetUtfsByID(vouchid, SetTableName(), apidata.ConnectInfo.Constring)); MSXML2.IXMLDOMDocument2 domMsg = new MSXML2.DOMDocument(); broker.AssignNormalValue("domMsg", domMsg); broker.AssignNormalValue("bCheck", false); broker.AssignNormalValue("bBeforCheckStock", false); broker.AssignNormalValue("bList", null); dr = BrokerInvoker(broker); if (!DAL.Common.SetVerifyDate(bd.ConnectInfo, dt)) { U8.Interface.Bus.Log.WriteWinLog("设置单据审核日期失败,Cvouchertype:" + dt.Cvouchertype + ";Cvoucherno:" + dt.Cvoucherno + "."); } return(dr); }
/// <summary> /// 弃审 /// </summary> /// <param name="bd"></param> /// <param name="dt"></param> /// <returns></returns> public override Model.DealResult CancelAudit(Model.APIData bd, Model.Synergismlogdt dt) { Model.DealResult dr = new Model.DealResult(); Model.APIData apidata = bd as Model.APIData; if (CheckAuditStatus(dt.Cvoucherno, apidata.ConnectInfo.Constring) == false) { return(dr); } string vouchid = GetCodeorID(dt.Cvoucherno, apidata, "id"); string auditaddress = SetApiAddressCancelAudit(); U8Login.clsLogin u8Login = new U8Login.clsLogin(); GetU8Login(apidata, u8Login); U8ApiBroker broker = null; dr = GetU8ApiBroker(apidata, u8Login, out broker, "cancelaudit"); broker.AssignNormalValue("sVouchType", apidata.SVouchType); broker.AssignNormalValue("VouchId", vouchid); broker.AssignNormalValue("cnnFrom", null); broker.AssignNormalValue("TimeStamp", DAL.Common.GetUtfsByID(vouchid, SetTableName(), apidata.ConnectInfo.Constring)); MSXML2.IXMLDOMDocument2 domMsg = new MSXML2.DOMDocument(); broker.AssignNormalValue("domMsg", domMsg); broker.AssignNormalValue("bCheck", false); broker.AssignNormalValue("bBeforCheckStock", false); broker.AssignNormalValue("bList", null); dr = BrokerInvoker(broker); return(dr); }
/// <summary> /// 执行SQL /// </summary> private void SqlExecute() { string token = UFPlatformContext.Current.Token; U8Login.clsLogin login = new U8Login.clsLogin(); login.ConstructLogin(token); string conn = login.UFDataConnstringForNet; }
private void btnLogin_Click(object sender, EventArgs e) { try { UFSoft.U8.Framework.LoginContext.UserData LoginInfo = new UFSoft.U8.Framework.LoginContext.UserData(); LoginInfo = u8_login.GetLoginInfo(); U8Login.clsLogin u8Login = new U8Login.clsLogin(); String sSubId = LoginInfo.cSubID; String sAccID = LoginInfo.AccID; String sYear = LoginInfo.iYear; String sUser_ID = txtUid.Text.Trim(); String sPassword = txtPwd.Text.Trim(); String sDate = sLogDate; String sServer = LoginInfo.RightServer; String sSerial = ""; if (u8Login.Login(ref sSubId, ref sAccID, ref sYear, ref sUser_ID, ref sPassword, ref sDate, ref sServer, ref sSerial)) { sUserID = sUser_ID; sUserName = LoginInfo.UserName; string sSQL = @" select a.cUser_Name ,b.cPsn_Name from [UFSystem].[dbo].[UA_User] a inner join hr_hi_person b on a.cUser_Id = b.cPsn_Num where a.cUser_Id = '{0}' "; sSQL = string.Format(sSQL, sUser_ID); DataTable dtPerson = DbHelperSQL.Query(sSQL); if (dtPerson == null || dtPerson.Rows.Count == 0 || dtPerson.Rows[0]["cPsn_Name"].ToString().Trim() == "") { throw new Exception(sUser_ID + " is not plater"); } txtUid.Enabled = false; txtPwd.Enabled = false; txtLotNo.Focus(); SetEnable(true); } else { MessageBox.Show("The user does not exists or is logged out ,maybe password is incorrect!"); txtPwd.Text = ""; txtUid.Focus(); SetEnable(false); } } catch (Exception ee) { SetEnable(false); MessageBox.Show(ee.Message); } }
/// <summary> /// 获取apibroker /// </summary> /// <param name="apidata"></param> /// <param name="u8Login"></param> /// <param name="broker"></param> /// <returns></returns> public Model.DealResult GetU8ApiBroker(Model.APIData apidata, U8Login.clsLogin u8Login, out U8ApiBroker broker, string op) { broker = null; Model.DealResult dr = new Model.DealResult(); switch (op) { case "add": apidata.ApiAddress = SetApiAddressAdd(); break; case "delete": apidata.ApiAddress = SetApiAddressDelete(); break; case "audit": apidata.ApiAddress = SetApiAddressAudit(); break; case "load": apidata.ApiAddress = SetApiAddressLoad(); break; case "cancelaudit": apidata.ApiAddress = SetApiAddressCancelAudit(); break; case "update": apidata.ApiAddress = SetApiAddressUpdate(); break; } try { U8EnvContext envContext = new U8EnvContext(); envContext.U8Login = u8Login; SetApiContext(envContext); U8ApiAddress myApiAddress = new U8ApiAddress(apidata.ApiAddress); broker = new U8ApiBroker(myApiAddress, envContext); } catch (Exception ex) { dr.ResultNum = -1; dr.ResultMsg = ex.ToString(); throw new Exception(dr.ResultMsg); } return(dr); }
public static void mWriteLog( string eventId, MSXML2.IXMLDOMDocument2 document1, MSXML2.IXMLDOMDocument2 document2, ADODB.Connection connection, U8Login.clsLogin login) { string logText = ""; logText = " EventId##" + eventId + "\r\n"; if (login != null) { logText = logText + " AccId|AccName##" + login.get_cAcc_Id() + "|" + login.cAccName + "\r\n" + " SubId##" + login.cSub_Id + "\r\n" + " UserId##" + login.cUserId + "\r\n" + " LanguageRegion##" + login.LanguageRegion + "\r\n" + " UfDbName##" + login.UfDbName + "\r\n"; } if (connection != null) { logText = logText + " ConnectionState##" + connection.State + "\r\n" + " ConnectionString##" + connection.ConnectionString + "\r\n"; } if (document1 != null) { logText = logText + " Document1##" + document1.xml + "\r\n"; } if (document2 != null) { logText = logText + " Document2##" + document2.xml + "\r\n"; } //Log.WriteLog("C:\\DotNetUAPEventSyncAdapterLog.txt", logText); }
private void button1_Click(object sender, EventArgs e) { u8Login = new U8Login.clsLogin(); String sSubId = "AS"; String sAccID = "(default)@001"; String sYear = "2018"; String sUserID = "demo"; String sPassword = "******"; String sDate = "2018-08-03"; String sServer = "u8vmtest"; String sSerial = ""; if (!u8Login.Login(ref sSubId, ref sAccID, ref sYear, ref sUserID, ref sPassword, ref sDate, ref sServer, ref sSerial)) { MessageBox.Show("登陆失败,原因:" + u8Login.ShareString); Marshal.FinalReleaseComObject(u8Login); return; } }
public static void ExcuteJoinQueryUAPVoucher(U8Login.clsLogin u8Login, string menuID, string menuName, string subID, string authID, string cardNumber, string pkFieldName, string pkFieldValue) { //"ID:PUM030101&&&Name:采¨¦购o管¨¹理¤¨ª&&&SubSysID:PU&&&AuthID:PU04100101&&&CMDLINE:27\t0000000005\tPUM030101\t\t001\t2008\t\t"; string cmdLine = ""; cmdLine = string.Format("<property cardnum=\"{0}\" type=\"voucher\"><voucherid key=\"{1}\" value=\"{2}\"/></property>", cardNumber, pkFieldName, pkFieldValue); IPortalCommandOperator portalCommandOperator = new PortalCommandOperator(); IPortalCommandArgs portalCommandArgs = new PortalCommandArgs(menuID, subID); portalCommandArgs.AuthId = authID; portalCommandArgs.DocId = string.Empty; portalCommandArgs.DocType = string.Empty; portalCommandArgs.ID = menuID; portalCommandArgs.Name = menuName; portalCommandArgs.SubFunction = string.Empty; portalCommandArgs.Extenision = string.Empty; portalCommandArgs.SubSysID = subID; portalCommandArgs.CmdLine = cmdLine; portalCommandArgs.FromUserClick = false; portalCommandArgs.ExtProperties.Add("recheck", "1"); portalCommandOperator.RunBusiness(portalCommandArgs); }
public static void ExcuteJoinQueryU8Voucher(U8Login.clsLogin u8Login, string menuID, string menuName, string subID, string authID, string cardNumber, string pkFieldValue) { string cmdLine = ""; cmdLine = "ID:{0}&&&Name:{1}&&&SubSysID:{2}&&&AuthID:{3}&&&CMDLINE:{4}\t{5}"; cmdLine = string.Format(cmdLine, menuID, menuName, subID, authID, cardNumber, pkFieldValue); IPortalCommandOperator portalCommandOperator = new PortalCommandOperator(); IPortalCommandArgs portalCommandArgs = new PortalCommandArgs(menuID, subID); portalCommandArgs.AuthId = authID; portalCommandArgs.DocId = string.Empty; portalCommandArgs.DocType = string.Empty; portalCommandArgs.ID = menuID; portalCommandArgs.Name = menuName; portalCommandArgs.SubFunction = string.Empty; portalCommandArgs.Extenision = string.Empty; portalCommandArgs.SubSysID = subID; portalCommandArgs.CmdLine = cmdLine; portalCommandArgs.FromUserClick = false; portalCommandArgs.ExtProperties.Add("recheck", "1"); portalCommandOperator.RunBusiness(portalCommandArgs); }
public int RFLogout(string taskID, string userCode, string connectionString) { Info baseinfo = new Info(); baseinfo.ERPService = "127.0.0.1"; baseinfo.subID = "CJ"; baseinfo.BarSubID = "CJ"; //baseinfo.ERPService = "127.0.0.1"; //baseinfo.subID = "ST"; //baseinfo.BarSubID = "ST"; UFSoft.U8.Framework.Login.UI.clsLogin netLogin = (UFSoft.U8.Framework.Login.UI.clsLogin)Application[taskID]; string taskIDBarKey = "Bar" + taskID; string taskIDConnKey = "Conn" + taskID; string taskIDLoginKey = "Login" + taskID; object AdodbConn = Application[taskIDConnKey]; U8Login.clsLogin login = Application[taskIDLoginKey] != null ? (U8Login.clsLogin)Application[taskIDLoginKey] : null; Application.Remove(taskIDBarKey); Application.Remove(taskIDConnKey); Application.Remove(taskIDLoginKey); return(CommonDAL.RFLogout(ref netLogin, AdodbConn, login, baseinfo, userCode, connectionString)); }
/// <summary> /// 加载 /// </summary> /// <param name="bd"></param> /// <param name="dt"></param> /// <param name="domHead"></param> /// <param name="domBody"></param> /// <returns></returns> public override Model.DealResult LoadVouch(Model.APIData bd, Model.Synergismlogdt dt, out BusinessObject domHead, out BusinessObject domBody) { domHead = null; domBody = null; Model.DealResult dr = new Model.DealResult(); Model.APIData apidata = bd as Model.APIData; string vouchid = GetCodeorID(dt.Cvoucherno, apidata, "id"); string auditaddress = SetApiAddressDelete(); U8Login.clsLogin u8Login = new U8Login.clsLogin(); GetU8Login(apidata, u8Login); U8ApiBroker broker = null; dr = GetU8ApiBroker(apidata, u8Login, out broker, "load"); broker.AssignNormalValue("strWhere", ""); broker.AssignNormalValue("varVoucherID", vouchid); broker.AssignNormalValue("strLocateWhere", ""); if (!broker.Invoke()) { //错误处理 Exception apiEx = broker.GetException(); if (apiEx != null) { if (apiEx is MomSysException) { MomSysException sysEx = apiEx as MomSysException; dr.ResultNum = -1; dr.ResultMsg = "系统异常:" + sysEx.Message; } else if (apiEx is MomBizException) { MomBizException bizEx = apiEx as MomBizException; dr.ResultNum = -1; dr.ResultMsg = "API异常:" + bizEx.Message; } String exReason = broker.GetExceptionString(); if (exReason.Length != 0) { dr.ResultNum = -1; dr.ResultMsg = " 异常原因:" + exReason; } } broker.Release(); return(dr); } System.String result = broker.GetReturnValue() as System.String; if (result != string.Empty) { domHead = broker.GetBoParam("domHead"); domBody = broker.GetBoParam("domBody"); domHead.NeedFieldsCheck = false; domBody.NeedFieldsCheck = false; } else { dr.ResultMsg = "API错误:" + result; dr.ResultNum = -1; broker.Release(); BLL.Common.ErrorMsg("", result); } broker.Release(); return(dr); }
public override Model.DealResult UndoMake(BaseData bd, Model.Synergismlogdt dt) { Model.DealResult dr = new Model.DealResult(); Model.APIData apidata = bd as Model.APIData; try { CancelAudit(apidata, dt); } catch (Exception ex) { Log.WriteWinLog("purchaseop_cancelaudit:" + ex.ToString()); dr.ResultNum = -1; dr.ResultMsg = ex.Message; return(dr); } BusinessObject domHead = null; BusinessObject domBody = null; LoadVouch(apidata, dt, out domHead, out domBody); string vouchid = GetCodeorID(dt.Cvoucherno, apidata, "id"); U8Login.clsLogin u8Login = new U8Login.clsLogin(); dr = GetU8Login(apidata, u8Login); if (dr.ResultNum < 0) { return(dr); } U8ApiBroker broker = null; dr = GetU8ApiBroker(apidata, u8Login, out broker, "delete"); if (dr.ResultNum < 0) { return(dr); } broker.SetBoParam("domHead", domHead); try { broker.SetBoParam("domBody", domBody); } catch { } MSXML2.IXMLDOMDocument2 CurDom = new MSXML2.DOMDocument(); broker.AssignNormalValue("CurDom", CurDom); if (!broker.Invoke()) { Exception apiEx = broker.GetException(); if (apiEx != null) { if (apiEx is MomSysException) { MomSysException sysEx = apiEx as MomSysException; dr.ResultNum = -1; dr.ResultMsg = "系统异常:" + sysEx.Message; } else if (apiEx is MomBizException) { MomBizException bizEx = apiEx as MomBizException; dr.ResultNum = -1; dr.ResultMsg = "API异常:" + bizEx.Message; } String exReason = broker.GetExceptionString(); if (exReason.Length != 0) { dr.ResultNum = -1; dr.ResultMsg = " 异常原因:" + exReason; } } broker.Release(); return(dr); } System.String result = broker.GetReturnValue() as System.String; if (result != null) { dr.ResultNum = -1; dr.ResultMsg = "API错误:" + result; throw new Exception("API错误:" + result); } broker.Release(); DAL.Regist registdal = new DAL.Regist(); Model.Regist regist = registdal.GetModel(dt.Accid); //acccode 转 accid return(dr); }
/// <summary> /// 审核 /// </summary> /// <param name="bd"></param> /// <param name="vouchid"></param> /// <returns></returns> public override Model.DealResult MakeAudit(BaseData bd, Model.Synergismlogdt dt) { Model.DealResult dr; Model.APIData apidata = bd as Model.APIData; BusinessObject domHead = null; BusinessObject domBody = null; LoadVouch(apidata, dt, out domHead, out domBody); domHead.NeedFieldsCheck = false; domBody.NeedFieldsCheck = false; string vouchid = GetCodeorID(dt.Cvoucherno, apidata, "id"); U8Login.clsLogin u8Login = new U8Login.clsLogin(); dr = GetU8Login(apidata, u8Login); if (dr.ResultNum < 0) { return(dr); } U8ApiBroker broker = null; dr = GetU8ApiBroker(apidata, u8Login, out broker, "audit"); if (dr.ResultNum < 0) { return(dr); } broker.SetBoParam("domHead", domHead); if (!broker.Invoke()) { Exception apiEx = broker.GetException(); if (apiEx != null) { if (apiEx is MomSysException) { MomSysException sysEx = apiEx as MomSysException; dr.ResultNum = -1; dr.ResultMsg = "系统异常:" + sysEx.Message; } else if (apiEx is MomBizException) { MomBizException bizEx = apiEx as MomBizException; dr.ResultNum = -1; dr.ResultMsg = "API异常:" + bizEx.Message; } String exReason = broker.GetExceptionString(); if (exReason.Length != 0) { dr.ResultNum = -1; dr.ResultMsg = " 异常原因:" + exReason; } } broker.Release(); return(dr); } System.String result = broker.GetReturnValue() as System.String; broker.Release(); if (!string.IsNullOrEmpty(result)) { dr.ResultNum = -1; dr.ResultMsg = "API错误:" + result; throw new Exception(dr.ResultMsg); } else { if (!DAL.Common.SetVerifyDate(bd.ConnectInfo, dt)) { Log.WriteWinLog("设置单据审核日期失败,Cvouchertype:" + dt.Cvouchertype + ";Cvoucherno:" + dt.Cvoucherno + "."); } } return(dr); }
/// <summary> /// 审核 /// </summary> /// <param name="bd"></param> /// <param name="dt"></param> /// <returns></returns> public override Model.DealResult MakeAudit(BaseData bd, Model.Synergismlogdt dt) { Model.DealResult dr = new Model.DealResult(); Model.APIData apidata = bd as Model.APIData; //string vouchid = GetCodeorID(dt.Cvoucherno, apidata, "id"); string auditaddress = SetApiAddressAudit(); U8Login.clsLogin u8Login = new U8Login.clsLogin(); GetU8Login(apidata, u8Login); U8ApiBroker broker = null; dr = GetU8ApiBroker(apidata, u8Login, out broker, "audit"); broker.AssignNormalValue("mocode", dt.Cvoucherno); //第六步:调用API if (!broker.Invoke()) { //错误处理 Exception apiEx = broker.GetException(); if (apiEx != null) { if (apiEx is MomSysException) { MomSysException sysEx = apiEx as MomSysException; Console.WriteLine("系统异常:" + sysEx.Message); //todo:异常处理 } else if (apiEx is MomBizException) { MomBizException bizEx = apiEx as MomBizException; Console.WriteLine("API异常:" + bizEx.Message); //todo:异常处理 } //异常原因 String exReason = broker.GetExceptionString(); if (exReason.Length != 0) { Console.WriteLine("异常原因:" + exReason); } } //结束本次调用,释放API资源 broker.Release(); return(dr); } //第七步:获取返回结果 //获取返回值 //获取普通返回值。此返回值数据类型为System.Boolean,此参数按值传递,表示返回值: true:成功, false: 失败 System.Boolean result = Convert.ToBoolean(broker.GetReturnValue()); //结束本次调用,释放API资源 broker.Release(); //dr = BrokerInvoker(broker); if (!DAL.Common.SetVerifyDate(bd.ConnectInfo, dt)) { U8.Interface.Bus.Log.WriteWinLog("设置单据审核日期失败,Cvouchertype:" + dt.Cvouchertype + ";Cvoucherno:" + dt.Cvoucherno + "."); } return(dr); }
public string InvokeU8Api(string method,string content) { string retstr = ""; try { string AccCode = ReadXmlData("Detail", "AccCode"); string User = ReadXmlData("Detail", "User"); string Password = ReadXmlData("Detail", "Password"); string Server = ReadXmlData("Detail", "Server"); ulogin = new U8Login.clsLogin(); U8Login.clsLogin u8Login = new U8Login.clsLogin(); // string taskid = clslogin.GetTaskID("DP"); String sSubId = "DP";//AS DP String sAccId = AccCode; String sYear = DateTime.Now.Year.ToString(); String sUserID = User; String sPassword = Password; String sDate = DateTime.Now.ToShortDateString(); String sServer = Server;//USER-20150630LA String sSerial = ""; if (u8Login.Login(ref sSubId, ref sAccId, ref sYear, ref sUserID, ref sPassword, ref sDate, ref sServer, ref sSerial)) { setConnStr(u8Login.UfDbName); //retstr = "login ok!"; } else { retstr = u8Login.ShareString; Marshal.FinalReleaseComObject(u8Login); return retstr; } string ServiceURL = ReadXmlData("Detail", "ServiceURL"); string ServiceName = ReadXmlData("Detail", "ServiceName"); if (method.Equals("InventoryQTY"))//对方来调 { DataTable dt = getSqlData("select cinvcode,cwhcode,iquantity,fAvaQuantity from currentstock where cinvcode='" + content + "'"); if (dt != null && dt.Rows.Count > 0) { StringBuilder sb = new StringBuilder(); sb.Append("<?xml version='1.0' encoding='UTF-8'?> <DATA> "); for (int i = 0; i < dt.Rows.Count; i++) { sb.Append("<RECORD>"); sb.Append("<CINVCODE>"); sb.Append(dt.Rows[i][0].ToString()); sb.Append("</CINVCODE>"); sb.Append("<CWHCODE>"); sb.Append(dt.Rows[i][1].ToString()); sb.Append("</CWHCODE>"); sb.Append("<IQUANTITY>"); sb.Append(dt.Rows[i][2].ToString()); sb.Append("</IQUANTITY>"); sb.Append("<FAVAQUANTITY>"); sb.Append(dt.Rows[i][3].ToString()); sb.Append("</FAVAQUANTITY>"); sb.Append("</RECORD>"); } sb.Append("</DATA>"); return sb.ToString(); } else return "查不到现存量信息"; } if (method.Equals("Inventory"))//U8触发器调用,再调用对方ws { DataTable dt = getSqlData("select cinvcode,cinvname,cinvstd,ccomunitcode,cinvccode,cbarcode,'0' as cisgift,'0' as gd_is_gift,iinvsalecost from inventory with(nolock) where cinvcode='" + content + "'"); DataRow dr = dt.Rows[0]; StringBuilder sb = new StringBuilder(); sb.Append("<DATA><RECORD>"); ConcatXml(sb, dr, "CINVCODE", "cinvcode"); ConcatXml(sb, dr, "CINVNAME", "cinvname"); ConcatXml(sb, dr, "CINVSTD", "cinvstd"); ConcatXml(sb, dr, "CINVCCODE", "cinvccode"); ConcatXml(sb, dr, "CCOMUNITCODE", "ccomunitcode"); ConcatXml(sb, dr, "CBARCODE", "cbarcode"); ConcatXml(sb, dr, "CISGIFT", "cisgift"); ConcatXml(sb, dr, "iInvSaleCost", "iInvSaleCost"); ConcatXml(sb, dr, "gd_is_gift", "gd_is_gift"); sb.Append("</RECORD>"); sb.Append("</DATA>"); ZSNS.ZhengShanWsIClient client = new ZSNS.ZhengShanWsIClient(ServiceName,ServiceURL); return client.inventory(sb.ToString()); //return sb.ToString(); //return "SUCC"; } if (method.Equals("InventoryClass"))//暂时 不使用 { DataTable dt = getSqlData("select CINVCCODE,CINVCNAME,(select cInvCCode from InventoryClass b with(nolock) where b.iInvCGrade+1=h.iInvCGrade and LEFT(h.cinvccode,LEN(b.cinvccode))=b.cinvccode) as CINVCCODE_F from inventoryclass h with(nolock)"); string str = ""; str += "<DATA>"; for (int i = 0; i < dt.Rows.Count; i++) { str += "<RECORD>"; str += GetXmlTag("CINVCCODE", dt.Rows[i]["CINVCCODE"].ToString()); str += GetXmlTag("CINVCNAME", dt.Rows[i]["CINVCCODE"].ToString()); str += GetXmlTag("CINVCCODE_F", dt.Rows[i]["CINVCCODE_F"].ToString()); str += "</RECORD>"; } str += "</DATA>"; ZSNS.ZhengShanWsIClient client = new ZSNS.ZhengShanWsIClient(ServiceName, ServiceURL); return client.InventoryClass(str); } if (method.Equals("ST_AppTransVouchAdd"))//本地U8调拨申请单审核时触发 { StringBuilder sql = new StringBuilder(); sql.AppendLine("select h.cTVCode as vouchid,h.dtvdate as vouchdate,ow.cwhname as owhname,"); sql.AppendLine("iw.cwhname as iwhname,p.cPersonname as Person,"); sql.AppendLine("b.cinvcode,i.cinvname,b.fSaleCost as unitprice,b.itvquantity as qty,b.cbmemo as memo "); sql.AppendLine("from ST_AppTransVouch h with(nolock) inner join ST_AppTransVouchs b with(nolock) on h.ID = b.ID"); sql.AppendLine("inner join Inventory i with(nolock) on i.cInvCode = b.cInvcode "); sql.AppendLine("inner join warehouse ow with(nolock) on ow.cwhcode = h.cOWhCode"); sql.AppendLine("inner join warehouse iw with(nolock) on iw.cwhcode = h.cIWhCode"); sql.AppendLine("left join person p with(nolock) on p.cPersoncode = h.cPersonCode "); sql.AppendLine("where h.cTVCode='"+content+"'"); DataTable dt = getSqlData(sql.ToString()); if (dt.Rows.Count == 0) return "无此调拨申请单号"+content; DataRow dr = dt.Rows[0]; StringBuilder sb = new StringBuilder(); sb.Append("<RECORD>"); sb.Append("<ORDER>"); sb.Append("<ORDERID>"); sb.Append("<HEADER>"); ConcatXml(sb, dr, "VOUCHID", "vouchid"); ConcatXml(sb, dr, "VOUCHDATE", "vouchdate"); ConcatXml(sb, dr, "OWHNAME", "owhname"); ConcatXml(sb, dr, "IWHNAME", "iwhname"); ConcatXml(sb, dr, "PERSON", "person"); sb.Append("</HEADER>"); for (int i = 0; i < dt.Rows.Count; i++) { sb.Append("<DETAIL>"); ConcatXml(sb, dt.Rows[i], "CINVCODE", "cinvcode"); ConcatXml(sb, dt.Rows[i], "CINVNAME", "cinvname"); ConcatXml(sb, dt.Rows[i], "UNITPRICE", "unitprice"); ConcatXml(sb, dt.Rows[i], "QTY", "qty"); ConcatXml(sb, dt.Rows[i], "MEMO", "memo"); sb.Append("</DETAIL>"); } sb.Append("</ORDERID>"); sb.Append("</ORDER>"); sb.Append("</RECORD>"); sb.Append("</DATA>"); ZSNS.ZhengShanWsIClient c = new ZSNS.ZhengShanWsIClient(ServiceName, ServiceURL); return c.ST_AppTransVouchAdd(sb.ToString()); } string api = ""; if (method.Equals("TransVouchAdd"))//调拨单生成 { api = "U8API/TransVouch/Add"; } else if (method.Equals("audit"))//调拨单审核 { api = "U8API/TransVouch/Delete"; } else if (method.Equals("load"))//调拨申请单查询,废弃 { api = "U8API/TransRequestVouch/Load"; }else if (method.Equals("OutboundOrderAdd")) api = "U8API/saleout/Add"; if (method.Equals("OutboundOrderDone")) api = "U8API/saleout/CancelAudit";//Delete U8EnvContext envContext = new U8EnvContext(); envContext.U8Login = u8Login; //string method = "audit"; U8ApiAddress myApiAddress = new U8ApiAddress(api); U8ApiBroker broker = new U8ApiBroker(myApiAddress, envContext); MSXML2.DOMDocument domMsg = new MSXML2.DOMDocument(); if (method.Equals("TransVouchAdd"))//基本完成 { broker.AssignNormalValue("sVouchType", "12"); BusinessObject DomHead = broker.GetBoParam("DomHead"); DomHead.RowCount = 1; XmlDocument xml = new XmlDocument(); //xml.LoadXml(content.Trim()); xml.Load("c:\\DATA.xml"); XmlNodeList xnList = xml.SelectNodes("/DATA/ORDER/ORDERID/DETAIL"); foreach (XmlNode xn in xnList) { retstr += "开始读取XML"; string VOUCHID = xn["VOUCHID"].InnerText; string VOUCHDATE = xn["VOUCHDATE"].InnerText; //DomHead[0]["id"] = "2"; //主关键字段,int类型 DomHead[0]["ctvcode"] = VOUCHID; //单据号,string类型 DomHead[0]["dtvdate"] = VOUCHDATE; //日期,DateTime类型 DataTable dt = getSqlData("select cwhcode from warehouse where cwhname='" + xn["OWHNAME"].InnerText+"'"); if (dt.Rows.Count > 0) DomHead[0]["cowhcode"] = dt.Rows[0][0].ToString(); dt = getSqlData("select cwhcode from warehouse where cwhname='" + xn["IWHNAME"].InnerText + "'"); if (dt.Rows.Count > 0) DomHead[0]["ciwhcode"] = dt.Rows[0][0].ToString(); DomHead[0]["cwhname"] = xn["OWHNAME"].InnerText; //转出仓库,string类型 DomHead[0]["cwhname_1"] = xn["IWHNAME"].InnerText; //转入仓库,string类型 //DomHead[0]["ciwhcode"] = "2";//转入仓库编码,string类型 //DomHead[0]["cowhcode"] = "1"; //转出仓库编码,string类型 //DomHead[0]["cordcode"] = "2"; //出库类别编码,string类型 //DomHead[0]["cirdcode"] = "1"; //入库类别编码,string类型 //DomHead[0]["crdname_1"] = "销售出库";//出库类别 //DomHead[0]["crdname"] = "采购入库";//入库类别 //DomHead[0]["cdepname_1"] = "采购部"; //DomHead[0]["cdepname"] = "销售部"; //DomHead[0]["codepcode"] = "1"; //DomHead[0]["cidepcode"] = "2"; //DomHead[0]["cpersoncode"] = "1"; DomHead[0]["cpersonname"] = xn["PERSON"].InnerText;//经手人 dt = getSqlData("select cPersonCode from Person where cPersonName='" + xn["PERSON"].InnerText + "'"); if (dt.Rows.Count > 0) DomHead[0]["cpersoncode"] = dt.Rows[0][0].ToString(); //DomHead[0]["iamount"] = "";//现存量 DomHead[0]["dnmaketime"] = DateTime.Now; DomHead[0]["ctvmemo"] = xn["MEMO"].InnerText; DomHead[0]["cinvname"] = xn["CINVNAME"].InnerText; //DomHead[0]["iavaquantity"] = "80"; 可用量 DomHead[0]["csource"] = "1"; //1 -- 库存 2 -- 零售 3 -- 预留 DomHead[0]["cmaker"] = User; DomHead[0]["csource"] = "1"; DomHead[0]["itransflag"] = "正向"; DomHead[0]["vt_id"] = 89; DomHead[0]["dnmaketime"] = DateTime.Now.ToLongDateString(); //DomHead[0]["ufts"] = " 275.5169"; DomHead[0]["btransflag"] = false; BusinessObject domBody = broker.GetBoParam("domBody"); domBody.RowCount = 1; //domBody[0]["autoid"] = "2"; //主关键字段,int类型 domBody[0]["cinvcode"] = xn["CINVCODE"].InnerText;//存货编码,string类型 domBody[0]["cinvname"] = xn["CINVNAME"].InnerText; //domBody[0]["cinvstd"] = ""; domBody[0]["itvquantity"] =getDouble(xn["QTY"].InnerText); //数量,double类型 DataTable dt3 = getSqlData("select cComUnitCode from inventory where cinvcode='" + xn["CINVCODE"].InnerText + "'"); //domBody[0]["itvnum"] = 0.1; domBody[0]["ctvbatch"] = ""; if (dt3.Rows.Count > 0) { domBody[0]["cinvm_unit"] = dt3.Rows[0][0].ToString(); //domBody[0]["cinva_unit"] = "4"; //domBody[0]["cassunit"] = "4"; } domBody[0]["iexpiratdatecalcu"] = 0; domBody[0]["issotype"] = 0; domBody[0]["idsotype"] = 0; domBody[0]["isoseq"] = ""; domBody[0]["idsoseq"] = ""; domBody[0]["issodid"] = ""; domBody[0]["idsodid"] = ""; domBody[0]["cinvaddcode"] = ""; domBody[0]["corufts"] = " "; domBody[0]["cdsocode"] = ""; domBody[0]["csocode"] = ""; domBody[0]["bcosting"] = "1"; domBody[0]["cposition"] = ""; //domBody[0]["iinvexchrate"] = 100; domBody[0]["ctvcode"] = VOUCHID; domBody[0]["fsalecost"] = getDouble(xn["UNITPRICE"].InnerText) * getDouble(xn["QTY"].InnerText); domBody[0]["fsaleprice"] = getDouble(xn["UNITPRICE"].InnerText); //domBody[0]["itvpcost"] = getDouble(xn["itvpcost"].InnerText); ; domBody[0]["itvaprice"] = 0; domBody[0]["itvpprice"] = 0; domBody[0]["itvacost"] = 0; //domBody[0]["igrossweight"] = "3"; //domBody[0]["inetweight"] = "1"; domBody[0]["editprop"] = "A"; retstr += "读取XML完成"; } broker.AssignNormalValue("domPosition", null); broker.AssignNormalValue("errMsg", ""); broker.AssignNormalValue("cnnFrom", null); broker.AssignNormalValue("VouchId", ""); broker.AssignNormalValue("domMsg", domMsg); broker.AssignNormalValue("bCheck", false); broker.AssignNormalValue("bBeforCheckStock", false); broker.AssignNormalValue("bIsRedVouch", false); broker.AssignNormalValue("sAddedState", ""); broker.AssignNormalValue("bReMote", false); } if (method.Equals("OutboundOrderAdd")) { broker.AssignNormalValue("sVouchType", "32");//新增0 修改1 broker.AssignNormalValue("vNewID", ""); } if (method.Equals("OutboundOrderDone"))//出库单审核 { DataTable dt = getSqlData("select CONVERT(money,ufts) as ufts from rdrecord32 where cCode='" + content + "'"); double ufts = 0; if (dt.Rows.Count > 0) ufts = double.Parse(dt.Rows[0][0].ToString()); else return "找不到此销售出库单号:" + content; broker.AssignNormalValue("sVouchType", "32"); broker.AssignNormalValue("VouchId", content);//单据号 broker.AssignNormalValue("errMsg", ""); broker.AssignNormalValue("cnnFrom", null); broker.AssignNormalValue("TimeStamp", String.Format("{0,30}", String.Format("{0:0.0000}", ufts)));// " 275.5210" broker.AssignNormalValue("domMsg", domMsg);//new MSXML2.DOMDocument() broker.AssignNormalValue("bCheck", false); broker.AssignNormalValue("bBeforCheckStock", false); broker.AssignNormalValue("bList", false); //删除单据不需要下面三个参数 //broker.AssignNormalValue("MakeWheres", null); //broker.AssignNormalValue("sWebXml", ""); //broker.AssignNormalValue("oGenVouchIds", null); } if (method.Equals("audit"))//调拨单审核,未解决 { DataTable dt = getSqlData("select CONVERT(money,ufts) as ufts from transvouch where cTVCode='" + content + "'"); double ufts = 0; //string ts = ""; if (dt.Rows.Count > 0) { //DataTable dt2 = getSqlData("select convert(timestamp,CONVERT(money," + String.Format("{0,30}", String.Format("{0:0.0000}", ufts)) + ")) as ufts "); ufts = double.Parse(dt.Rows[0][0].ToString()); //ts = dt2.Rows[0][0].ToString(); } else return "找不到此调拨单号:"+content; broker.AssignNormalValue("sVouchType", "12"); broker.AssignNormalValue("VouchId", content);//单据号 broker.AssignNormalValue("errMsg", ""); broker.AssignNormalValue("cnnFrom", null); broker.AssignNormalValue("TimeStamp", String.Format("{0,30}", String.Format("{0:0.0000}", ufts)));// " 275.5210" broker.AssignNormalValue("domMsg", domMsg);//new MSXML2.DOMDocument() broker.AssignNormalValue("bCheck", false); broker.AssignNormalValue("bBeforCheckStock", false); broker.AssignNormalValue("bList", false); //broker.AssignNormalValue("MakeWheres", null); //broker.AssignNormalValue("sWebXml", ""); //broker.AssignNormalValue("oGenVouchIds", null); } if (method.Equals("load"))//deprecated. not in use { broker.AssignNormalValue("sVouchType", "62"); broker.AssignNormalValue("sWhere", " VouchId='0000000001'"); broker.AssignNormalValue("bGetBlank", false); broker.AssignNormalValue("sBodyWhere_Order", "cInvcode"); broker.AssignNormalValue("errMsg", ""); broker.AssignNormalValue("domPos", domMsg); BusinessObject obj = broker.GetBoParam("domHead"); BusinessObject obj1 = broker.GetBoParam("domBody"); } retstr += "开始调用"; if (!broker.Invoke()) { retstr += "调用失败:"; //错误处理 Exception apiEx = broker.GetException(); if (apiEx != null) { if (apiEx is MomSysException) { MomSysException sysEx = apiEx as MomSysException; //Console.WriteLine("系统异常:" + sysEx.Message); retstr = sysEx.Message + "[MomSysException]"; //todo:异常处理 } else if (apiEx is MomBizException) { MomBizException bizEx = apiEx as MomBizException; //Console.WriteLine("API异常:" + bizEx.Message); retstr = bizEx.Message + "[MomBizException]"; //todo:异常处理 } } //结束本次调用,释放API资源 broker.Release(); //return; } else { retstr += "调用成功:"; if (method.Equals("load")) { System.String result = broker.GetReturnValue() as System.String; if (string.IsNullOrEmpty(result)) { retstr += "加载调拨申请单成功!"; //Console.WriteLine("加载销售订单成功!"); //获取out/inout参数值 //MSXML2.XMLDocument xmlResult = broker.GetResult("domHead") as MSXML2.XMLDocument; MSXML2.DOMDocumentClass xmlHead = broker.GetResult("DomHead") as MSXML2.DOMDocumentClass; xmlHead.save("TransRequestVouchHead.xml"); //out参数domBody为BO对象(表体),此BO对象的业务类型为销售订单。BO参数均按引用传递,具体请参考服务接口定义 //如果要取原始的XMLDOM对象结果,请使用GetResult() MSXML2.DOMDocumentClass xmlBody = broker.GetResult("domBody") as MSXML2.DOMDocumentClass; xmlBody.save("TransRequestVouchBody.xml"); } else { retstr += "加载调拨申请单失败!"; //Console.WriteLine("加载销售订单失败!"); } } else { DOMDocument doc = (DOMDocument)broker.GetResult("domMsg"); if (doc != null) retstr += doc.text + "|"; retstr += broker.GetResult("errMsg") + "|" + broker.GetResult("retval").ToString(); } } } catch (Exception e) { retstr += "异常:" + e.Message+"\n"+e.StackTrace; return retstr; //throw; } return retstr; }
/// <summary> /// 获取Login对象 /// </summary> /// <param name="bd"></param> /// <param name="u8Login"></param> /// <returns></returns> public Model.DealResult GetU8Login_bak(Model.APIData bd, U8Login.clsLogin u8Login) { System.Diagnostics.Trace.WriteLine(" begin GetU8Login "); Model.DealResult dr = new Model.DealResult(); #region 一次登录 //if (bd.TaskType != 1 && null != _login) //{ // u8Login = _login; // return dr; //} #endregion System.Diagnostics.Trace.WriteLine(" before GetU8Login 判断格式 "); #region 判断格式 登录 string strErr = ",请在[账套档案注册]模块中更新!"; if (string.IsNullOrEmpty(bd.ConnectInfo.UserId)) { dr.ResultMsg = "默认操作员不能为空" + strErr; dr.ResultNum = -1; Marshal.FinalReleaseComObject(u8Login); throw new Exception(dr.ResultMsg); } if (string.IsNullOrEmpty(bd.ConnectInfo.Source)) { dr.ResultMsg = "数据源不能为空" + strErr; dr.ResultNum = -1; Marshal.FinalReleaseComObject(u8Login); throw new Exception(dr.ResultMsg); } if (string.IsNullOrEmpty(bd.ConnectInfo.AccId)) { dr.ResultMsg = "账套号不能为空" + strErr; dr.ResultNum = -1; Marshal.FinalReleaseComObject(u8Login); throw new Exception(dr.ResultMsg); } if (string.IsNullOrEmpty(bd.ConnectInfo.Srv)) { dr.ResultMsg = "服务器地址不能为空" + strErr; dr.ResultNum = -1; Marshal.FinalReleaseComObject(u8Login); throw new Exception(dr.ResultMsg); } if (string.IsNullOrEmpty(bd.ConnectInfo.YearId)) { dr.ResultMsg = "登陆年度不能为空" + strErr; dr.ResultNum = -1; Marshal.FinalReleaseComObject(u8Login); throw new Exception(dr.ResultMsg); } else { try { int.Parse(bd.ConnectInfo.YearId); } catch { dr.ResultMsg = "登陆年度格式错误:" + bd.ConnectInfo.YearId + strErr; dr.ResultNum = -1; Marshal.FinalReleaseComObject(u8Login); throw new Exception(dr.ResultMsg); } } DbHelperSQLP dsp = new DbHelperSQLP(bd.ConnectInfo.Constring); string strSql = "SELECT 1 FROM UFSystem.dbo.UA_AccountDatabase A JOIN UFSystem.dbo.UA_Account B ON A.cAcc_Id=B.cAcc_Id WHERE A.cAcc_Id='" + bd.ConnectInfo.AccId + "' "; if (!dsp.Exists(strSql)) { dr.ResultMsg = "登陆失败,原因:账套 " + bd.ConnectInfo.AccId + " 在 " + bd.ConnectInfo.Srv + " 上不存在"; dr.ResultNum = -1; Marshal.FinalReleaseComObject(u8Login); throw new Exception(dr.ResultMsg); } #endregion System.Diagnostics.Trace.WriteLine(" after GetU8Login 判断格式 "); string subId = U8.Interface.Bus.SysInfo.subId; string userId = bd.ConnectInfo.UserId; string accId = bd.ConnectInfo.Source + "@" + bd.ConnectInfo.AccId; string yearId = bd.ConnectInfo.YearId; string password = bd.ConnectInfo.Password; string date = bd.ConnectInfo.Date; string srv = bd.ConnectInfo.sSrv; string serial = bd.ConnectInfo.Serial; #region 20140814 #endregion System.Diagnostics.Trace.WriteLine(" before GetU8Login u8Login.Login "); System.Diagnostics.Trace.WriteLine(" login parameter : " + subId + "----" + accId + "----" + yearId + "----" + userId + "----" + password + "----" + date + "----" + srv + "----" + serial); try { if (!u8Login.Login(ref subId, ref accId, ref yearId, ref userId, ref password, ref date, ref srv, ref serial)) { System.Diagnostics.Trace.WriteLine(" GetU8Login failed "); dr.ResultMsg = "登陆失败,原因:" + u8Login.ShareString; if (u8Login.ShareString.IndexOf("年度") > 0 || u8Login.ShareString.IndexOf("日期") > 0) { dr.ResultMsg += " - " + date; } dr.ResultNum = -1; Marshal.FinalReleaseComObject(u8Login); throw new Exception(dr.ResultMsg); } } catch (Exception ee) { if (dr.ResultNum == -1) { throw new Exception(dr.ResultMsg); } else { System.Diagnostics.Trace.WriteLine(" GetU8Login u8Login.Login Error : " + ee.StackTrace); dr.ResultNum = -1; throw new Exception(ee.Message); } } System.Diagnostics.Trace.WriteLine(" end GetU8Login u8Login.Login "); System.Diagnostics.Trace.WriteLine(" end GetU8Login "); //_login = u8Login; return(dr); }
public Model.DealResult GetU8Login(Model.APIData bd, U8Login.clsLogin u8Login) { return(GetU8LoginNew(bd, null, u8Login)); }
private void btnexport_Click(object sender, EventArgs e) { try { string strSQL = ""; string BWB = "人民币"; string JHDH = ""; string JHDH_old = ""; this.Cursor = Cursors.WaitCursor; U8Login.clsLogin u8Login = null; u8Login = APIinterface.GetU8Login(); if (u8Login == null) { MessageBox.Show("登陆错误:U8登陆失败,检查是否配置正确", "提示", MessageBoxButtons.OK); return; } cxdb.DefaultView.Sort = "JHDH ASC"; DataTable dt = cxdb.DefaultView.ToTable(); string strMsg = ""; string ddh = ""; string result = ""; int count = 0; string YYBM = ""; string pdbm = ""; string pdbm_O = ""; if (dt.Rows.Count > 0) { for (int j = 0; j < dt.Rows.Count; j++) { count = 0; //if (ClsSystem.gnvl(this.dgv2.Rows[j].Cells["check"].Value, "").ToUpper() == "TRUE") //{ JHDH = ClsSystem.gnvl(dt.Rows[j]["JHDH"], ""); YYBM = ClsSystem.gnvl(dt.Rows[j]["YYBM"], ""); pdbm = YYBM + "-" + JHDH; if (pdbm != pdbm_O) { count = Convert.ToInt16(SqlAccess.ExecuteScalar(" select count(ID) from so_somain with(nolock) where cdefine14 ='" + pdbm + "'", Program.ConnectionString)); if (count < 1) { strMsg = APIinterface.InSO(u8Login, BWB, dt, j); if (strMsg.IndexOf("错误") > 0) { MessageBox.Show(strMsg, "提示", MessageBoxButtons.OK); this.Cursor = Cursors.Default; return; } else { ddh = ClsSystem.gnvl(SqlAccess.ExecuteScalar("select csocode from SO_SOMain with(nolock) where ID =" + strMsg, Program.ConnectionString), ""); result = result + ddh + ","; } } //else //{ // MessageBox.Show("计划单号:" + JHDH + "已经生成销售订单", "提示", MessageBoxButtons.OK); // return; //} } // } pdbm_O = YYBM + "-" + JHDH; } } this.Cursor = Cursors.Default; if (result != "") { MessageBox.Show("生成销售订单成功:" + result, "提示", MessageBoxButtons.OK); return; } else { MessageBox.Show("无销售订单成功", "提示", MessageBoxButtons.OK); return; } } catch (Exception ex) { MessageBox.Show("生成失败", "提示", MessageBoxButtons.OK); this.Cursor = Cursors.Default; return; } }
public string InvokeU8Api(string method,string content) { string retstr = ""; try { string AccCode = ReadXmlData("Detail", "AccCode"); string User = ReadXmlData("Detail", "User"); string Password = ReadXmlData("Detail", "Password"); string Server = ReadXmlData("Detail", "Server"); string ServiceURL = ReadXmlData("Detail", "ServiceURL"); string ServiceName = "ZhengShanWsIPort";// ZhengShanWsIService ReadXmlData("Detail", "ServiceName"); ulogin = new U8Login.clsLogin(); U8Login.clsLogin u8Login = new U8Login.clsLogin(); // string taskid = clslogin.GetTaskID("DP"); String sSubId = "DP";//AS DP String sAccId = AccCode; String sYear = DateTime.Now.Year.ToString(); String sUserID = User; String sPassword = Password; String sDate = DateTime.Now.ToShortDateString(); String sServer = Server;//USER-20150630LA String sSerial = ""; if (u8Login.Login(ref sSubId, ref sAccId, ref sYear, ref sUserID, ref sPassword, ref sDate, ref sServer, ref sSerial)) { setConnStr(u8Login.UfDbName); //retstr = "login ok!"; } else { retstr = u8Login.ShareString; Marshal.FinalReleaseComObject(u8Login); return retstr; } if(method.Equals("secret")) return u8Login.UfDbName; string api = ""; if (method.Equals("TransVouchAdd"))//调拨单生成 { api = "U8API/TransVouch/Add"; } else if (method.Equals("audit"))//调拨单审核 { api = "U8API/TransVouch/Audit"; } else if (method.Equals("load"))//调拨申请单查询 { api = "U8API/TransRequestVouch/Load"; }else if (method.Equals("OutboundOrderAdd")) api = "U8API/saleout/Add"; if (method.Equals("InventoryQTY")) { DataTable dt = getSqlData("select cinvcode,cwhcode,iquantity,fAvaQuantity from currentstock where cinvcode='" + content + "'"); if (dt != null && dt.Rows.Count > 0) { StringBuilder sb = new StringBuilder(); sb.Append("<?xml version='1.0' encoding='UTF-8'?><DATA>"); for (int i = 0; i < dt.Rows.Count; i++) { sb.Append("<RECORD>"); sb.Append("<CINVCODE>"); sb.Append(dt.Rows[i][0].ToString()); sb.Append("</CINVCODE>"); sb.Append("<CWHCODE>"); sb.Append(dt.Rows[i][1].ToString()); sb.Append("</CWHCODE>"); sb.Append("<IQUANTITY>"); sb.Append(dt.Rows[i][2].ToString()); sb.Append("</IQUANTITY>"); sb.Append("<FAVAQUANTITY>"); sb.Append(dt.Rows[i][3].ToString()); sb.Append("</FAVAQUANTITY>"); sb.Append("</RECORD>"); } sb.Append("</DATA>"); //ZhengShanWsIClient c = new ZhengShanWsIClient(ServiceName, ServiceURL);//"http://192.168.1.122:8081/freshBeef/ws/zhengShanWs" //string result = c.inventory(sb.ToString()); return sb.ToString(); }else return "查不到现存量信息"; } if (method.Equals("Inventory")) { DataTable dt = getSqlData("select cinvcode,cinvname,cinvstd,cinvccode,cComunitcode,CBARCODE,null as CISGIFT,null as gd_is_gift,iInvSaleCost,null as GD_IS_GIFT from Inventory where cinvcode='" + content + "'"); if (dt != null && dt.Rows.Count > 0) { StringBuilder sb = new StringBuilder(); sb.Append("<DATA>");//<?xml version='1.0' encoding='UTF-8'?> for (int i = 0; i < dt.Rows.Count; i++) { sb.Append("<RECORD>"); sb.Append("<CINVCODE>"); sb.Append(dt.Rows[i][0].ToString()); sb.Append("</CINVCODE>"); sb.Append("<CINVNAME>"); sb.Append(dt.Rows[i][1].ToString()); sb.Append("</CINVNAME>"); sb.Append("<CINVSTD>"); sb.Append(dt.Rows[i][2].ToString()); sb.Append("</CINVSTD>"); sb.Append("<CINVCCODE>"); sb.Append(dt.Rows[i][3].ToString()); sb.Append("</CINVCCODE>"); sb.Append("<CCOMUNITCODE>"); sb.Append(dt.Rows[i][4].ToString()); sb.Append("</CCOMUNITCODE>"); sb.Append("<CBARCODE>"); sb.Append(dt.Rows[i][5].ToString()); sb.Append("</CBARCODE>"); sb.Append("<CISGIFT>"); sb.Append(dt.Rows[i][6].ToString()); sb.Append("</CISGIFT>"); sb.Append("<IINVSALECOST>"); sb.Append(dt.Rows[i][7].ToString()); sb.Append("</IINVSALECOST>"); sb.Append("<GD_IS_GIFT>"); sb.Append(dt.Rows[i][8].ToString()); sb.Append("</GD_IS_GIFT>"); sb.Append("</RECORD>"); } sb.Append("</DATA>"); //ZhengShanWsIClient c = new ZhengShanWsIClient(ServiceName, ServiceURL);//"http://192.168.1.122:8081/freshBeef/ws/zhengShanWs" //string result = c.inventory(sb.ToString()); return sb.ToString(); } else return "查不到存货信息"; } if (method.Equals("InventoryClass")) { DataTable dt = getSqlData("select CINVCCODE,CINVCNAME,(select cInvCCode from InventoryClass b where b.iInvCGrade+1=h.iInvCGrade and LEFT(h.cinvccode,LEN(b.cinvccode))=b.cinvccode) as CINVCCODE_F from inventoryclass h "); string str = ""; str += "<DATA>"; for (int i = 0; i < dt.Rows.Count; i++) { str += "<RECORD>"; str += GetXmlTag("CINVCCODE", dt.Rows[i]["CINVCCODE"].ToString()); str += GetXmlTag("CINVCNAME", dt.Rows[i]["CINVCCODE"].ToString()); str += GetXmlTag("CINVCCODE_F", dt.Rows[i]["CINVCCODE_F"].ToString()); str += "</RECORD>"; } str += "</DATA>"; //return PostData(null, content); ZhengShanWsIClient c = new ZhengShanWsIClient(content, ServiceURL);//"http://192.168.1.122:8081/freshBeef/ws/zhengShanWs" return c.InventoryClass(str); } U8EnvContext envContext = new U8EnvContext(); envContext.U8Login = u8Login; //string method = "audit"; U8ApiAddress myApiAddress = new U8ApiAddress(api); U8ApiBroker broker = new U8ApiBroker(myApiAddress, envContext); MSXML2.DOMDocument domMsg = new MSXML2.DOMDocument(); if (method.Equals("TransVouchAdd")) { broker.AssignNormalValue("sVouchType", "12"); BusinessObject DomHead = broker.GetBoParam("DomHead"); DomHead.RowCount = 1; XmlDocument xml = new XmlDocument(); //xml.LoadXml(content.Trim()); xml.Load("c:\\DATA.xml"); XmlNodeList xnList = xml.SelectNodes("/DATA/ORDER/ORDERID/DETAIL"); foreach (XmlNode xn in xnList) { retstr += "开始读取XML"; string VOUCHID = xn["VOUCHID"].InnerText; string VOUCHDATE = xn["VOUCHDATE"].InnerText; //DomHead[0]["id"] = "2"; //主关键字段,int类型 DomHead[0]["ctvcode"] = VOUCHID; //单据号,string类型 DomHead[0]["dtvdate"] = VOUCHDATE; //日期,DateTime类型 DataTable dt = getSqlData("select cwhcode from warehouse where cwhname='" + xn["OWHNAME"].InnerText+"'"); if (dt.Rows.Count > 0) DomHead[0]["cowhcode"] = dt.Rows[0][0].ToString(); dt = getSqlData("select cwhcode from warehouse where cwhname='" + xn["IWHNAME"].InnerText + "'"); if (dt.Rows.Count > 0) DomHead[0]["ciwhcode"] = dt.Rows[0][0].ToString(); DomHead[0]["cwhname"] = xn["OWHNAME"].InnerText; //转出仓库,string类型 DomHead[0]["cwhname_1"] = xn["IWHNAME"].InnerText; //转入仓库,string类型 //DomHead[0]["ciwhcode"] = "2";//转入仓库编码,string类型 //DomHead[0]["cowhcode"] = "1"; //转出仓库编码,string类型 //DomHead[0]["cordcode"] = "2"; //出库类别编码,string类型 //DomHead[0]["cirdcode"] = "1"; //入库类别编码,string类型 //DomHead[0]["crdname_1"] = "销售出库";//出库类别 //DomHead[0]["crdname"] = "采购入库";//入库类别 //DomHead[0]["cdepname_1"] = "采购部"; //DomHead[0]["cdepname"] = "销售部"; //DomHead[0]["codepcode"] = "1"; //DomHead[0]["cidepcode"] = "2"; //DomHead[0]["cpersoncode"] = "1"; DomHead[0]["cpersonname"] = xn["PERSON"].InnerText;//经手人 dt = getSqlData("select cPersonCode from Person where cPersonName='" + xn["PERSON"].InnerText + "'"); if (dt.Rows.Count > 0) DomHead[0]["cpersoncode"] = dt.Rows[0][0].ToString(); //DomHead[0]["iamount"] = "";//现存量 DomHead[0]["dnmaketime"] = DateTime.Now; DomHead[0]["ctvmemo"] = xn["MEMO"].InnerText; DomHead[0]["cinvname"] = xn["CINVNAME"].InnerText; //DomHead[0]["iavaquantity"] = "80"; 可用量 DomHead[0]["csource"] = "1"; //1 -- 库存 2 -- 零售 3 -- 预留 DomHead[0]["cmaker"] = User; DomHead[0]["csource"] = "1"; DomHead[0]["itransflag"] = "正向"; DomHead[0]["vt_id"] = 89; DomHead[0]["dnmaketime"] = DateTime.Now.ToLongDateString(); //DomHead[0]["ufts"] = " 275.5169"; DomHead[0]["btransflag"] = false; BusinessObject domBody = broker.GetBoParam("domBody"); domBody.RowCount = 1; //domBody[0]["autoid"] = "2"; //主关键字段,int类型 domBody[0]["cinvcode"] = xn["CINVCODE"].InnerText;//存货编码,string类型 domBody[0]["cinvname"] = xn["CINVNAME"].InnerText; //domBody[0]["cinvstd"] = ""; domBody[0]["itvquantity"] =getDouble(xn["QTY"].InnerText); //数量,double类型 DataTable dt3 = getSqlData("select cComUnitCode from inventory where cinvcode='" + xn["CINVCODE"].InnerText + "'"); //domBody[0]["itvnum"] = 0.1; domBody[0]["ctvbatch"] = ""; if (dt3.Rows.Count > 0) { domBody[0]["cinvm_unit"] = dt3.Rows[0][0].ToString(); //domBody[0]["cinva_unit"] = "4"; //domBody[0]["cassunit"] = "4"; } domBody[0]["iexpiratdatecalcu"] = 0; domBody[0]["issotype"] = 0; domBody[0]["idsotype"] = 0; domBody[0]["isoseq"] = ""; domBody[0]["idsoseq"] = ""; domBody[0]["issodid"] = ""; domBody[0]["idsodid"] = ""; domBody[0]["cinvaddcode"] = ""; domBody[0]["corufts"] = " "; domBody[0]["cdsocode"] = ""; domBody[0]["csocode"] = ""; domBody[0]["bcosting"] = "1"; domBody[0]["cposition"] = ""; //domBody[0]["iinvexchrate"] = 100; domBody[0]["ctvcode"] = VOUCHID; domBody[0]["fsalecost"] = getDouble(xn["UNITPRICE"].InnerText) * getDouble(xn["QTY"].InnerText); domBody[0]["fsaleprice"] = getDouble(xn["UNITPRICE"].InnerText); //domBody[0]["itvpcost"] = getDouble(xn["itvpcost"].InnerText); ; domBody[0]["itvaprice"] = 0; domBody[0]["itvpprice"] = 0; domBody[0]["itvacost"] = 0; //domBody[0]["igrossweight"] = "3"; //domBody[0]["inetweight"] = "1"; domBody[0]["editprop"] = "A"; retstr += "读取XML完成"; } broker.AssignNormalValue("domPosition", null); broker.AssignNormalValue("errMsg", ""); broker.AssignNormalValue("cnnFrom", null); broker.AssignNormalValue("VouchId", ""); broker.AssignNormalValue("domMsg", domMsg); broker.AssignNormalValue("bCheck", false); broker.AssignNormalValue("bBeforCheckStock", false); broker.AssignNormalValue("bIsRedVouch", false); broker.AssignNormalValue("sAddedState", ""); broker.AssignNormalValue("bReMote", false); } if (method.Equals("OutboundOrderAdd")) { broker.AssignNormalValue("sVouchType", "32");//新增0 修改1 broker.AssignNormalValue("domPosition", null); broker.AssignNormalValue("errMsg", ""); broker.AssignNormalValue("cnnFrom", null); broker.AssignNormalValue("VouchId", ""); broker.AssignNormalValue("domMsg", domMsg); broker.AssignNormalValue("bCheck", false); broker.AssignNormalValue("bBeforCheckStock", false); broker.AssignNormalValue("bIsRedVouch", false); broker.AssignNormalValue("sAddedState", ""); broker.AssignNormalValue("bReMote", false); BusinessObject DomHead = broker.GetBoParam("DomHead"); DomHead.RowCount = 1; XmlDocument xml = new XmlDocument(); xml.LoadXml(content.Trim()); XmlNodeList xnList = xml.SelectNodes("/DATA/ORDER/ORDERID/DETAIL"); foreach (XmlNode xn in xnList) { string VOUCHID = xn["VOUCHID"].InnerText; string VOUCHDATE = xn["VOUCHDATE"].InnerText; } BusinessObject domBody = broker.GetBoParam("domBody"); domBody.RowCount = 1; } if (method.Equals("audit"))//调拨单审核 { DataTable dt = getSqlData("select CONVERT(money,ufts) as ufts from transvouch where cTVCode='" + content + "'"); double ufts = 0; //string ts = ""; if (dt.Rows.Count > 0) { //DataTable dt2 = getSqlData("select convert(timestamp,CONVERT(money," + String.Format("{0,30}", String.Format("{0:0.0000}", ufts)) + ")) as ufts "); ufts = double.Parse(dt.Rows[0][0].ToString()); //ts = dt2.Rows[0][0].ToString(); } else return "找不到此调拨单号:"+content; broker.AssignNormalValue("sVouchType", "12"); broker.AssignNormalValue("VouchId", content);//单据号 broker.AssignNormalValue("errMsg", ""); broker.AssignNormalValue("cnnFrom", null); broker.AssignNormalValue("TimeStamp", String.Format("{0,30}", String.Format("{0:0.0000}", ufts)));// " 275.5210" broker.AssignNormalValue("domMsg", domMsg);//new MSXML2.DOMDocument() broker.AssignNormalValue("bCheck", false); broker.AssignNormalValue("bBeforCheckStock", false); broker.AssignNormalValue("bList", false); broker.AssignNormalValue("MakeWheres", null); broker.AssignNormalValue("sWebXml", ""); broker.AssignNormalValue("oGenVouchIds", null); } if (method.Equals("load")) { broker.AssignNormalValue("sVouchType", "62"); broker.AssignNormalValue("sWhere", " VouchId='0000000001'"); broker.AssignNormalValue("bGetBlank", false); broker.AssignNormalValue("sBodyWhere_Order", "cInvcode"); broker.AssignNormalValue("errMsg", ""); broker.AssignNormalValue("domPos", domMsg); BusinessObject obj = broker.GetBoParam("domHead"); BusinessObject obj1 = broker.GetBoParam("domBody"); } if (method.Equals("submitTransRequestBill")) { string sql = "select h.cTVCode AS VOUCHID,h.dTVDate AS VOUCHDATE,wo.cwhname as OWHNAME,wo.cwhname as IWHNAME,h.cMaker as PERSON,B.CINVCODE,i.CINVNAME,B.ITVQUANTITY AS QTY,B.iUnitCost AS UNITPRICE,B.cbMemo AS MEMO"; sql += "from ST_AppTransVouch h,ST_AppTransVouchs b,Inventory i,warehouse wi,warehouse wo"; sql += "where h.ID = b.ID and i.cinvcode = b.cinvcode and wi.cwhcode = h.cIWhCode and wo.cwhcode = h.cOWhCode "; sql += "and h.cTVCode='"+content+"'"; DataTable dt3 = getSqlData(sql); if (dt3.Rows.Count == 0) return "查不到调拨申请单:"+content; string xml = "<?xml version='1.0' encoding='UTF-8'?>\n"; xml += "<DATA>\n"; xml += "<ORDER>\n"; xml += "<ORDERID>\n"; xml += "<DETAIL>\n"; xml += GetXmlTag("VOUCHID", IsNull(dt3.Rows[0]["VOUCHID"])); xml += GetXmlTag("VOUCHDATE", IsNull(dt3.Rows[0]["VOUCHDATE"])); xml += GetXmlTag("OWHNAME", IsNull(dt3.Rows[0]["OWHNAME"])); xml += GetXmlTag("IWHNAME", IsNull(dt3.Rows[0]["IWHNAME"])); xml += GetXmlTag("PERSON", IsNull(dt3.Rows[0]["PERSON"])); xml += GetXmlTag("VOUCHID", IsNull(dt3.Rows[0]["VOUCHID"])); xml += GetXmlTag("CINVCODE", IsNull(dt3.Rows[0]["CINVCODE"])); xml += GetXmlTag("CINVNAME", IsNull(dt3.Rows[0]["CINVNAME"])); xml += GetXmlTag("QTY", IsNull(dt3.Rows[0]["QTY"])); xml += GetXmlTag("UNITPRICE", IsNull(dt3.Rows[0]["UNITPRICE"])); xml += GetXmlTag("MEMO", IsNull(dt3.Rows[0]["MEMO"])); xml += "\n</DETAIL>"; xml += "\n</ORDERID>"; xml += "\n</ORDER>"; xml += "\n</DATA>"; return PostData(null, content); //ZhengShanWsIClient c = new ZhengShanWsIClient(ServiceName, ServiceURL);//"http://192.168.1.122:8081/freshBeef/ws/zhengShanWs" //return c.ST_AppTransVouchAdd(xml); } retstr += "开始调用"; if (!broker.Invoke()) { retstr += "调用失败:"; //错误处理 Exception apiEx = broker.GetException(); if (apiEx != null) { if (apiEx is MomSysException) { MomSysException sysEx = apiEx as MomSysException; //Console.WriteLine("系统异常:" + sysEx.Message); retstr = sysEx.Message + "[MomSysException]"; //todo:异常处理 } else if (apiEx is MomBizException) { MomBizException bizEx = apiEx as MomBizException; //Console.WriteLine("API异常:" + bizEx.Message); retstr = bizEx.Message + "[MomBizException]"; //todo:异常处理 } } //结束本次调用,释放API资源 broker.Release(); //return; } else { retstr += "调用成功:"; if (method.Equals("load")) { System.String result = broker.GetReturnValue() as System.String; if (string.IsNullOrEmpty(result)) { retstr += "加载调拨申请单成功!"; //Console.WriteLine("加载销售订单成功!"); //获取out/inout参数值 //MSXML2.XMLDocument xmlResult = broker.GetResult("domHead") as MSXML2.XMLDocument; MSXML2.DOMDocumentClass xmlHead = broker.GetResult("DomHead") as MSXML2.DOMDocumentClass; xmlHead.save("TransRequestVouchHead.xml"); //out参数domBody为BO对象(表体),此BO对象的业务类型为销售订单。BO参数均按引用传递,具体请参考服务接口定义 //如果要取原始的XMLDOM对象结果,请使用GetResult() MSXML2.DOMDocumentClass xmlBody = broker.GetResult("domBody") as MSXML2.DOMDocumentClass; xmlBody.save("TransRequestVouchBody.xml"); } else { retstr += "加载调拨申请单失败!"; //Console.WriteLine("加载销售订单失败!"); } }else retstr+=broker.GetResult("errMsg"); } } catch (Exception e) { retstr += "异常:" + e.Message+"\n"+e.StackTrace; return retstr; //throw; } return retstr; }
/// <summary> /// 测试U8登录 /// source = "(default)" /// </summary> /// <returns></returns> public static int TestU8Login(string sqlconnection, string ServerName, string source, string accid, string userid, string pwd, string yearid, string date, out string errmsg) { Model.DealResult dr = new Model.DealResult(); U8Login.clsLogin u8Login = new U8Login.clsLogin(); #region 判断格式 登录 string strErr = ",请在[账套档案注册]模块中更新!"; if (string.IsNullOrEmpty(userid)) { dr.ResultMsg = "默认操作员不能为空" + strErr; dr.ResultNum = -1; Marshal.FinalReleaseComObject(u8Login); throw new Exception(dr.ResultMsg); } if (string.IsNullOrEmpty(source)) { dr.ResultMsg = "数据源不能为空" + strErr; dr.ResultNum = -1; Marshal.FinalReleaseComObject(u8Login); throw new Exception(dr.ResultMsg); } if (string.IsNullOrEmpty(accid)) { dr.ResultMsg = "账套号不能为空" + strErr; dr.ResultNum = -1; Marshal.FinalReleaseComObject(u8Login); throw new Exception(dr.ResultMsg); } if (string.IsNullOrEmpty(ServerName)) { dr.ResultMsg = "服务器地址不能为空" + strErr; dr.ResultNum = -1; Marshal.FinalReleaseComObject(u8Login); throw new Exception(dr.ResultMsg); } if (string.IsNullOrEmpty(yearid)) { dr.ResultMsg = "登陆年度不能为空" + strErr; dr.ResultNum = -1; Marshal.FinalReleaseComObject(u8Login); throw new Exception(dr.ResultMsg); } else { try { int.Parse(yearid); } catch { dr.ResultMsg = "登陆年度格式错误:" + yearid + strErr; dr.ResultNum = -1; Marshal.FinalReleaseComObject(u8Login); throw new Exception(dr.ResultMsg); } } if (!string.IsNullOrEmpty(sqlconnection)) { DbHelperSQLP dsp = new DbHelperSQLP(sqlconnection); string strSql = "SELECT 1 FROM UFSystem.dbo.UA_AccountDatabase A JOIN UFSystem.dbo.UA_Account B ON A.cAcc_Id=B.cAcc_Id WHERE A.cAcc_Id='" + accid + "' "; if (!dsp.Exists(strSql)) { dr.ResultMsg = "登陆失败,原因:账套 " + accid + " 在 " + ServerName + " 上不存在"; dr.ResultNum = -1; Marshal.FinalReleaseComObject(u8Login); errmsg = dr.ResultMsg; return(-1); } } #endregion string subId = U8.Interface.Bus.SysInfo.subId; string userId = userid; string accId = source + "@" + accid; string yearId = yearid; // DateTime.Now.ToString("yyyy"); // yearid; string password = pwd; string _date = date; // DateTime.Now.ToString("yyyy-MM-dd"); //bd.ConnectInfo.Date; string srv = ServerName; string serial = BLL.Common.GetSerial(); #region 20140814 #endregion if (!u8Login.Login(ref subId, ref accId, ref yearId, ref userId, ref password, ref _date, ref srv, ref serial)) { dr.ResultMsg = "登陆失败,原因:" + u8Login.ShareString; if (u8Login.ShareString.IndexOf("年度") > 0 || u8Login.ShareString.IndexOf("日期") > 0) { dr.ResultMsg += " - " + _date; } dr.ResultNum = -1; Marshal.FinalReleaseComObject(u8Login); errmsg = dr.ResultMsg; return(-1); } //清除站点 if (!string.IsNullOrEmpty(sqlconnection)) { DbHelperSQLP dsp = new DbHelperSQLP(sqlconnection); string sql = string.Format("DELETE UFSystem..ua_Task WHERE cStation='{0}' AND cUser_Id='{1}' AND cAcc_Id='{2}' ", ServerName, userId, accId); dsp.ExecuteSql(sql); } errmsg = null; return(1); }
/// <summary> /// 功能:注销登入 /// </summary> /// <param name="netLogin"></param> /// <param name="inf"></param> /// <param name="userCode"></param> /// <param name="connectionString"></param> /// <returns></returns> public static int RFLogout(ref UFSoft.U8.Framework.Login.UI.clsLogin netLogin, object AdodbConn, U8Login.clsLogin login, Info inf, string userCode, string connectionString) { int result = 0; try { //如果登录对象丢失 if (netLogin == null) { return(0); } netLogin.SubLogout("CJ"); //暂时占用CJ if (AdodbConn != null) { ((ADODB.Connection)AdodbConn).Close(); } if (login != null) { login.ShutDown(); } //CancelAllLock(userCode, connectionString); //接触该用户的所有锁定单据 //netLogin.SubLogout("SO"); } catch (Exception ex) { return(1); } return(result); }
/// <summary> /// 获取 vb login 和 .net login /// 可绕过login验证 /// </summary> /// <param name="bd"></param> /// <param name="oSysLogin"></param> /// <param name="u8Login"></param> /// <returns></returns> private Model.DealResult GetU8LoginNew(Model.APIData bd, UFSoft.U8.Framework.Login.UI.clsLogin oSysLogin, U8Login.clsLogin u8Login) { Model.DealResult dr = new Model.DealResult(); System.Diagnostics.Trace.WriteLine(" before GetU8Login 判断格式 "); #region 判断格式 登录 string strErr = ",请在[账套档案注册]模块中更新!"; if (string.IsNullOrEmpty(bd.ConnectInfo.UserId)) { dr.ResultMsg = "默认操作员不能为空" + strErr; dr.ResultNum = -1; Marshal.FinalReleaseComObject(u8Login); throw new Exception(dr.ResultMsg); } if (string.IsNullOrEmpty(bd.ConnectInfo.Source)) { dr.ResultMsg = "数据源不能为空" + strErr; dr.ResultNum = -1; Marshal.FinalReleaseComObject(u8Login); throw new Exception(dr.ResultMsg); } if (string.IsNullOrEmpty(bd.ConnectInfo.AccId)) { dr.ResultMsg = "账套号不能为空" + strErr; dr.ResultNum = -1; Marshal.FinalReleaseComObject(u8Login); throw new Exception(dr.ResultMsg); } if (string.IsNullOrEmpty(bd.ConnectInfo.Srv)) { dr.ResultMsg = "服务器地址不能为空" + strErr; dr.ResultNum = -1; Marshal.FinalReleaseComObject(u8Login); throw new Exception(dr.ResultMsg); } if (string.IsNullOrEmpty(bd.ConnectInfo.YearId)) { dr.ResultMsg = "登陆年度不能为空" + strErr; dr.ResultNum = -1; Marshal.FinalReleaseComObject(u8Login); throw new Exception(dr.ResultMsg); } else { try { int.Parse(bd.ConnectInfo.YearId); } catch { dr.ResultMsg = "登陆年度格式错误:" + bd.ConnectInfo.YearId + strErr; dr.ResultNum = -1; Marshal.FinalReleaseComObject(u8Login); throw new Exception(dr.ResultMsg); } } DbHelperSQLP dsp = new DbHelperSQLP(bd.ConnectInfo.Constring); string strSql = "SELECT 1 FROM UFSystem.dbo.UA_AccountDatabase A JOIN UFSystem.dbo.UA_Account B ON A.cAcc_Id=B.cAcc_Id WHERE A.cAcc_Id='" + bd.ConnectInfo.AccId + "' "; if (!dsp.Exists(strSql)) { dr.ResultMsg = "登陆失败,原因:账套 " + bd.ConnectInfo.AccId + " 在 " + bd.ConnectInfo.Srv + " 上不存在"; dr.ResultNum = -1; Marshal.FinalReleaseComObject(u8Login); throw new Exception(dr.ResultMsg); } #endregion System.Diagnostics.Trace.WriteLine(" after GetU8Login 判断格式 "); bool bLogined; string beginDate; oSysLogin = new UFSoft.U8.Framework.Login.UI.clsLogin(); beginDate = ""; //GetMonthBegindate(acc_ID, iYear, "12") //用12期间构造login,12期间必有 oSysLogin.LanguageID = "zh-CN"; // GetAccountLoginLocaleID(modUtility.GetDbName(acc_ID, iYear)) string subId = U8.Interface.Bus.SysInfo.subId; string userId = bd.ConnectInfo.UserId; string accId = bd.ConnectInfo.Source + "@" + bd.ConnectInfo.AccId; string yearId = bd.ConnectInfo.YearId; string password = bd.ConnectInfo.Password; string date = bd.ConnectInfo.Date; string srv = bd.ConnectInfo.sSrv; string serial = bd.ConnectInfo.Serial; bLogined = oSysLogin.login(subId, userId, password, srv, date, accId, serial); if (!bLogined) { strErr = oSysLogin.ErrDescript; //& g_fmtr.GetString("String.U8.AA.Admin.4671", g_args) //'strErr = oSysLogin.ErrDescript & "内置用户密码不正确!" //'Call WriteTransferLog(g_ologin.cAcc_ID, g_ologin.cAccName, g_ologin.cIyear, "", "准备年结环境时出现错误,错误描述:" & oSyslogin.ErrDescript & "内置用户密码不正确!") dr.ResultMsg = "登陆失败,原因:" + strErr; dr.ResultNum = -1; Marshal.FinalReleaseComObject(u8Login); throw new Exception(dr.ResultMsg); } UFSoft.U8.Framework.LoginContext.ProductContext oLoginContext; oLoginContext = new UFSoft.U8.Framework.LoginContext.ProductContext(); oLoginContext = oSysLogin.SubLogin(U8.Interface.Bus.SysInfo.subId); if (null == oLoginContext) { strErr = oSysLogin.ErrDescript; //'MsgBox oSyslogin.ErrDescript //'Call WriteTransferLog(g_ologin.cAcc_ID, g_ologin.cAccName, g_ologin.cIyear, "", "准备年结环境时出现错误,错误描述:" & oSyslogin.ErrDescript) dr.ResultMsg = "登陆失败,原因:" + strErr; dr.ResultNum = -1; Marshal.FinalReleaseComObject(u8Login); throw new Exception(dr.ResultMsg); } //u8Login = new U8Login.clsLogin(); if (!u8Login.ConstructLogin(oSysLogin.userToken)) { strErr = u8Login.ShareString; //'Call WriteTransferLog(g_ologin.cAcc_ID, g_ologin.cAccName, g_ologin.cIyear, "", "准备年结环境时出现错误,错误描述:" & oLogin.ShareString) dr.ResultMsg = "登陆失败,原因:" + strErr; dr.ResultNum = -1; Marshal.FinalReleaseComObject(u8Login); throw new Exception(dr.ResultMsg); } if (!u8Login.Login(ref subId, ref accId, ref yearId, ref userId, ref password, ref date, ref srv, ref serial)) { System.Diagnostics.Trace.WriteLine(" GetU8Login failed "); dr.ResultMsg = "登陆失败,原因:" + u8Login.ShareString; if (u8Login.ShareString.IndexOf("年度") > 0 || u8Login.ShareString.IndexOf("日期") > 0) { dr.ResultMsg += " - " + date; } dr.ResultNum = -1; Marshal.FinalReleaseComObject(u8Login); throw new Exception(dr.ResultMsg); } return(dr); }
public override void ReceiptLoading(U8Login.clsLogin login, string Cardnumber, DataSet ds, VoucherStateEnum state, ReceiptLoadingParas loadingParas) { loadingParas.DefaultCondition = "<filteritems><table name='test_0011_E001'><Item key='cNo' operator1='=' val1='1' /></table></filteritems>"; }
/// <summary> /// 生单 /// </summary> /// <param name="bd"></param> /// <returns></returns> public override Model.DealResult MakeVouch(BaseData bd) { System.Diagnostics.Trace.WriteLine(" begin MakeVouch "); Model.DealResult dr; Model.APIData apidata = bd as Model.APIData; U8Login.clsLogin u8Login = new U8Login.clsLogin(); System.Diagnostics.Trace.WriteLine(" before GetU8Login "); dr = GetU8Login(apidata, u8Login); System.Diagnostics.Trace.WriteLine(" after GetU8Login "); if (dr.ResultNum < 0) { return(dr); } U8ApiBroker broker = null; dr = GetU8ApiBroker(apidata, u8Login, out broker, "add"); //设置api表头数据 if (dr.ResultNum < 0) { return(dr); } dr = SetDomHead(apidata, broker); //设置api表体数据 if (dr.ResultNum < 0) { return(dr); } dr = SetDomBody(apidata, broker); //设置其它数据 if (dr.ResultNum < 0) { return(dr); } dr = AssignNormalValues(apidata, broker); if (dr.ResultNum < 0) { return(dr); } string strRow; { U8ApiBroker ubOrder = null; dr = GetU8ApiBroker(apidata, u8Login, out ubOrder, "add"); MSXML2.IXMLDOMDocument2 xmlHead = broker.GetBoParam("DomHead").ToRSDOM(); MSXML2.IXMLDOMDocument2 xmlBody = broker.GetBoParam("DomBody").ToRSDOM(); dr = AssignNormalValues(apidata, ubOrder); MSXML2.IXMLDOMNodeList lstx; MSXML2.IXMLDOMNode xmle; #region 行号 //行号赋值 lstx = xmlBody.getElementsByTagName("z:row"); switch (bd.Synergismlogdt.Cvouchertype) { case "27": //采购请购单 case "88": //采购订单 strRow = "ivouchrowno"; break; case "01": //发货、退货单 strRow = "iorderrowno"; break; case "03": //退货单 added by liuxzha 2014.11.27 strRow = "iorderrowno"; break; default: strRow = "irowno"; break; } for (int i = 0; i < lstx.length; i++) { xmle = lstx[i].attributes.getNamedItem(strRow); if (xmle == null) { xmle = xmlBody.createNode(System.Xml.XmlNodeType.Attribute, strRow, null); xmle.nodeValue = (i + 1).ToString(); lstx[i].attributes.setNamedItem(xmle); } else { xmle.nodeValue = (i + 1).ToString(); } } #endregion #region 可用量 //销售订单 if (bd.Synergismlogdt.Cvouchertype == "17") { //是否可用量检查 lstx = xmlHead.getElementsByTagName("z:row"); xmle = xmlHead.createNode(System.Xml.XmlNodeType.Attribute, "bcontinue", null); xmle.nodeValue = "0"; lstx[0].attributes.setNamedItem(xmle); } //销售发货单 else if (bd.Synergismlogdt.Cvouchertype == "01") { //是否可用量检查 lstx = xmlHead.getElementsByTagName("z:row"); xmle = xmlHead.createNode(System.Xml.XmlNodeType.Attribute, "saveafterok", null); xmle.nodeValue = "0"; // lstx[0].attributes.setNamedItem(xmle); } //销售退货单 added by liuxzha 2014.11.27 else if (bd.Synergismlogdt.Cvouchertype == "03") { //是否可用量检查 lstx = xmlHead.getElementsByTagName("z:row"); xmle = xmlHead.createNode(System.Xml.XmlNodeType.Attribute, "saveafterok", null); xmle.nodeValue = "0"; lstx[0].attributes.setNamedItem(xmle); } //销售出库单 else if (bd.Synergismlogdt.Cvouchertype == "0303") { //是否可用量检查 lstx = xmlHead.getElementsByTagName("z:row"); xmle = xmlHead.createNode(System.Xml.XmlNodeType.Attribute, "saveafterok", null); xmle.nodeValue = "0"; lstx[0].attributes.setNamedItem(xmle); } #endregion ubOrder.AssignNormalValue("domHead", xmlHead); ubOrder.AssignNormalValue("domBody", xmlBody); U8.Interface.Bus.Log.WriteFileWithName("DomHead.xml", xmlHead.xml); U8.Interface.Bus.Log.WriteFileWithName("DomBody.xml", xmlBody.xml); dr = BrokerInvoker(ubOrder); } System.Diagnostics.Trace.WriteLine(" before MakeVouch UpdateTeamworkField "); UpdateTeamworkField(bd, dr); System.Diagnostics.Trace.WriteLine(" end MakeVouch UpdateTeamworkField "); ClearUATask(bd); //if (!DAL.Common.SetCreateDate(bd, dr.VouchIdRet)) // U8.Interface.Bus.Log.WriteWinLog("设置单据制单时间失败,Cvouchertype:" + bd.Synergismlogdt.Cvouchertype + ";VouchIdRet:" + dr.VouchIdRet + "."); System.Diagnostics.Trace.WriteLine(" end MakeVouch "); return(dr); }
/// <summary> /// 弃审 /// </summary> /// <param name="bd"></param> /// <param name="dt"></param> /// <returns></returns> public override Model.DealResult CancelAudit(Model.APIData bd, Model.Synergismlogdt dt) { Model.DealResult dr = new Model.DealResult(); Model.APIData apidata = bd as Model.APIData; BusinessObject domHead = null; BusinessObject domBody = null; if (CheckAuditStatus(dt.Cvoucherno, apidata.ConnectInfo.Constring) == false) { return(dr); } LoadVouch(apidata, dt, out domHead, out domBody); string vouchid = GetCodeorID(dt.Cvoucherno, apidata, "id"); U8Login.clsLogin u8Login = new U8Login.clsLogin(); dr = GetU8Login(apidata, u8Login); if (dr.ResultNum < 0) { return(dr); } U8ApiBroker broker = null; dr = GetU8ApiBroker(apidata, u8Login, out broker, "cancelaudit"); if (dr.ResultNum < 0) { return(dr); } broker.SetBoParam("domHead", domHead); if (!broker.Invoke()) { Exception apiEx = broker.GetException(); if (apiEx != null) { if (apiEx is MomSysException) { MomSysException sysEx = apiEx as MomSysException; dr.ResultNum = -1; dr.ResultMsg = "系统异常:" + sysEx.Message; } else if (apiEx is MomBizException) { MomBizException bizEx = apiEx as MomBizException; dr.ResultNum = -1; dr.ResultMsg = "API异常:" + bizEx.Message; } String exReason = broker.GetExceptionString(); if (exReason.Length != 0) { dr.ResultNum = -1; dr.ResultMsg = " 异常原因:" + exReason; } } broker.Release(); return(dr); } System.String result = broker.GetReturnValue() as System.String; if (result != null) { dr.ResultNum = -1; dr.ResultMsg = "API错误:" + result; throw new Exception("API错误" + result); } broker.Release(); return(dr); }
/// <summary> /// 删除单据 /// </summary> /// <param name="bd"></param> /// <param name="dt"></param> /// <returns></returns> public override Model.DealResult UndoMake(BaseData bd, Model.Synergismlogdt dt) { Model.DealResult dr = new Model.DealResult(); Model.APIData apidata = bd as Model.APIData; BusinessObject domHead = null; BusinessObject domBody = null; string vouchid = GetCodeorID(dt.Cvoucherno, apidata, "id"); if (string.IsNullOrEmpty(vouchid)) { return(dr); } try { CancelAudit(apidata, dt); } catch (Exception ex) { Log.WriteWinLog("saleop_cancelaudit:" + ex.ToString()); dr.ResultNum = -1; dr.ResultMsg = ex.Message; return(dr); } LoadVouch(apidata, dt, out domHead, out domBody); domHead.NeedFieldsCheck = false; domBody.NeedFieldsCheck = false; U8Login.clsLogin u8Login = new U8Login.clsLogin(); dr = GetU8Login(apidata, u8Login); if (dr.ResultNum < 0) { return(dr); } U8ApiBroker broker = null; dr = GetU8ApiBroker(apidata, u8Login, out broker, "delete"); if (dr.ResultNum < 0) { return(dr); } broker.SetBoParam("domHead", domHead); try { broker.SetBoParam("dombodyforlog", domBody); } catch { } if (!broker.Invoke()) { Exception apiEx = broker.GetException(); if (apiEx != null) { if (apiEx is MomSysException) { MomSysException sysEx = apiEx as MomSysException; dr.ResultNum = -1; dr.ResultMsg = "系统异常:" + sysEx.Message; } else if (apiEx is MomBizException) { MomBizException bizEx = apiEx as MomBizException; dr.ResultNum = -1; dr.ResultMsg = "API异常:" + bizEx.Message; } String exReason = broker.GetExceptionString(); if (exReason.Length != 0) { dr.ResultNum = -1; dr.ResultMsg = " 异常原因:" + exReason; } } broker.Release(); return(dr); } System.String result = broker.GetReturnValue() as System.String; broker.Release(); if (result != null) { dr.ResultNum = -1; dr.ResultMsg = result; throw new Exception(result); } return(dr); }
private void btnexport_Click(object sender, EventArgs e) { try { string strSQL = ""; string BWB = "人民币"; this.Cursor = Cursors.WaitCursor; U8Login.clsLogin u8Login = null; u8Login = APIinterface.GetU8Login(); if (u8Login == null) { MessageBox.Show("登陆错误:U8登陆失败,检查是否配置正确", "提示", MessageBoxButtons.OK); return; } //cxdb.DefaultView.Sort = "JHDH ASC"; //DataTable dt = cxdb.DefaultView.ToTable(); string strMsg = ""; string ddh = ""; string result = ""; int count = 0; string YYBM = ""; string DDMXBH = ""; string PSDBM = ""; string sql = ""; string strrq = ""; string strsj = ""; string pdbm = ""; string pdbm_O = ""; string DDTJRQ = ""; DataTable dt = new DataTable(); dt = cxdb; if (dt.Rows.Count > 0) { dt.Columns.Add("Uflag"); for (int i = 0; i < dt.Rows.Count; i++) { if (ClsSystem.gnvl(this.dgv2.Rows[i].Cells["check"].Value, "").ToUpper() == "TRUE") { YYBM = ClsSystem.gnvl(dt.Rows[i]["YYBM"], ""); PSDBM = ClsSystem.gnvl(dt.Rows[i]["PSDBM"], ""); DDMXBH = ClsSystem.gnvl(dt.Rows[i]["DDMXBH"], ""); sql = @" select count(autoid) from SO_SODetails sd with(nolock) left join so_somain so with(nolock) on sd.id=so.id " + " where so.cdefine11='" + YYBM + "' and sd.cdefine32='" + PSDBM + "' and sd.cdefine29='" + DDMXBH + "'"; count = Convert.ToInt16(SqlAccess.ExecuteScalar(sql, Program.ConnectionString)); if (count < 1) { dt.Rows[i]["Uflag"] = "1"; } strrq = ClsSystem.gnvl(Public.GetInfo("/", ClsSystem.gnvl(dt.Rows[i]["DDTJRQ"], ""), 1), ""); strsj = ClsSystem.gnvl(Public.GetInfo("/", ClsSystem.gnvl(dt.Rows[i]["DDTJRQ"], ""), 2), ""); dt.Rows[i]["DDTJRQ"] = strrq + strsj; } } dt.DefaultView.Sort = "YYBM ASC,PSDBM ASC,DDTJRQ ASC"; DataTable db = dt.DefaultView.ToTable(); DataView rowfilter = new DataView(db); rowfilter.RowFilter = "Uflag= '1'"; rowfilter.RowStateFilter = DataViewRowState.CurrentRows; DataTable dts = rowfilter.ToTable(); for (int j = 0; j < dts.Rows.Count; j++) { YYBM = ClsSystem.gnvl(dts.Rows[j]["YYBM"], ""); PSDBM = ClsSystem.gnvl(dts.Rows[j]["PSDBM"], ""); DDTJRQ = ClsSystem.gnvl(dts.Rows[j]["DDTJRQ"], ""); pdbm = YYBM + "-" + PSDBM + "-" + DDTJRQ; if (pdbm != pdbm_O) { strMsg = APIinterface.InSO(u8Login, BWB, dts, j); if (strMsg.IndexOf("错误") > 0) { MessageBox.Show(strMsg, "提示", MessageBoxButtons.OK); this.Cursor = Cursors.Default; return; } else { ddh = ClsSystem.gnvl(SqlAccess.ExecuteScalar("select csocode from SO_SOMain with(nolock) where ID =" + strMsg, Program.ConnectionString), ""); result = result + ddh + ","; } } pdbm_O = YYBM + "-" + PSDBM + "-" + DDTJRQ; } } this.Cursor = Cursors.Default; if (result != "") { MessageBox.Show("生成销售订单成功:" + result, "提示", MessageBoxButtons.OK); return; } else { MessageBox.Show("无销售订单", "提示", MessageBoxButtons.OK); return; } } catch (Exception ex) { MessageBox.Show("生成失败", "提示", MessageBoxButtons.OK); this.Cursor = Cursors.Default; return; } }
//U8EnvContext envContext = new U8EnvContext(); public override object CallFunction(string cMenuId, string cMenuName, string cAuthId, string cCmdLine) { //canshu.uLogin = LoginObject; //赋值给公共变量 constr canshu.userName = LoginObject.GetLoginInfo().UserName; canshu.conStr = LoginObject.GetLoginInfo().ConnString; canshu.conStr = canshu.conStr.Substring(canshu.conStr.IndexOf("data"), canshu.conStr.IndexOf(";Conn") + 2); string userToken = LoginObject.userToken; //string accid = LoginObject.GetLoginInfo().AccID; //string iyear = LoginObject.GetLoginInfo().iYear; //string ztdb = "//ZT" + accid + "//" + iyear; canshu.acc = LoginObject.GetLoginInfo().AccID; U8Login.clsLogin u8Login = new U8Login.clsLogin(); String sSubId = "AS"; String sAccID = LoginObject.GetLoginInfo().AccID; String sYear = LoginObject.GetLoginInfo().iYear; String sUserID = LoginObject.GetLoginInfo().UserId; String sPassword = LoginObject.GetLoginInfo().Password; String sDate = LoginObject.GetLoginInfo().operDate; String sServer = LoginObject.GetLoginInfo().AppServer; //String sSerial = ""; if (!u8Login.Login(ref sSubId, ref sAccID, ref sYear, ref sUserID, ref sPassword, ref sDate, ref sServer)) //if (!uLogin.Login(ref sSubId, ref sAccID, ref sYear, ref sUserID, ref sPassword, ref sDate, ref sServer)) { MessageBox.Show("登陆失败,原因:" + u8Login.ShareString); Marshal.FinalReleaseComObject(u8Login); return("0"); } //canshu.conStr = u8Login.UFDataConnstringForNet; //U8Login.clsLogin u8Login = new U8Login.clsLoginClass(); //u8Login.ConstructLogin(userToken); ////u8Login.UfDbPath = ztdb; canshu.u8Login = u8Login; //MessageBox.Show(canshu.conStr); INetUserControl mycontrol = new MyNetUserControl(); mycontrol.Title = cMenuName; //mycontrol.Title = "色纱委外跟踪查询"; //canshu.smc = "染色"; base.ShowEmbedControl(mycontrol, cMenuId, true); //mycontrol.Title = "色纱委外跟踪查询"; //canshu.smc = "色纱委外跟踪查询"; return(null); }
//U8EnvContext envContext = new U8EnvContext(); public override object CallFunction(string cMenuId, string cMenuName, string cAuthId, string cCmdLine) { //canshu.uLogin = LoginObject; //赋值给公共变量 constr canshu.userName = LoginObject.GetLoginInfo().UserId; //canshu.conStr = LoginObject.GetLoginInfo().ConnString; //canshu.conStr = canshu.conStr.Substring(canshu.conStr.IndexOf("data"), canshu.conStr.IndexOf(";Conn") + 2); string userToken = LoginObject.userToken; //string accid = LoginObject.GetLoginInfo().AccID; //string iyear = LoginObject.GetLoginInfo().iYear; //string ztdb = "//ZT" + accid + "//" + iyear; canshu.acc = LoginObject.GetLoginInfo().AccID; U8Login.clsLogin u8Login = new U8Login.clsLogin(); String sSubId = "AS"; String sAccID = LoginObject.GetLoginInfo().AccID; String sYear = LoginObject.GetLoginInfo().iYear; String sUserID = LoginObject.GetLoginInfo().UserId; String sPassword = LoginObject.GetLoginInfo().Password; String sDate = LoginObject.GetLoginInfo().operDate; String sServer = LoginObject.GetLoginInfo().AppServer; //String sSerial = ""; if (!u8Login.Login(ref sSubId, ref sAccID, ref sYear, ref sUserID, ref sPassword, ref sDate, ref sServer)) //if (!uLogin.Login(ref sSubId, ref sAccID, ref sYear, ref sUserID, ref sPassword, ref sDate, ref sServer)) { MessageBox.Show("登陆失败,原因:" + u8Login.ShareString); Marshal.FinalReleaseComObject(u8Login); return("0"); } canshu.conStr = u8Login.UFDataConnstringForNet; string sql = "select cSysUserName from UA_User where cSysUserName is not null and cUser_Id='" + canshu.userName + "'"; DataTable dt = DbHelper.ExecuteTable(sql); if (dt.Rows.Count > 0) { canshu.cQx = DbHelper.GetDbString(dt.Rows[0]["cSysUserName"]); } else { canshu.cQx = "0"; } //U8Login.clsLogin u8Login = new U8Login.clsLoginClass(); //u8Login.ConstructLogin(userToken); ////u8Login.UfDbPath = ztdb; canshu.u8Login = u8Login; //MessageBox.Show(canshu.conStr); INetUserControl mycontrol = new MyNetUserControl(); mycontrol.Title = cMenuName; base.ShowEmbedControl(mycontrol, cMenuId, true); return(null); }
public static void InitU8Date(U8Login.clsLogin u8Login) { // UFSoft.U8.Framework.Login.UI.clsLogin cl = new UFSoft.U8.Framework.Login.UI.clsLogin(); }