Esempio n. 1
1
 /// <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);
 }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
        /// <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);
        }
Esempio n. 4
0
        /// <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);
        }
Esempio n. 5
0
        /// <summary>
        /// 执行SQL
        /// </summary>
        private void SqlExecute()
        {
            string token = UFPlatformContext.Current.Token;

            U8Login.clsLogin login = new U8Login.clsLogin();
            login.ConstructLogin(token);

            string conn = login.UFDataConnstringForNet;
        }
Esempio n. 6
0
        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);
            }
        }
Esempio n. 7
0
File: APIOp.cs Progetto: sky-tc/U8
        /// <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);
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        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;
            }
        }
Esempio n. 10
0
        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);
        }
Esempio n. 11
0
        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);
        }
Esempio n. 12
0
        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));
        }
Esempio n. 13
0
        /// <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);
        }
Esempio n. 14
0
        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);
        }
Esempio n. 15
0
        /// <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);
        }
Esempio n. 16
0
File: SfcOp.cs Progetto: sky-tc/U8
        /// <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);
        }
Esempio n. 17
0
        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;
        }
Esempio n. 18
0
File: APIOp.cs Progetto: sky-tc/U8
        /// <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);
        }
Esempio n. 19
0
File: APIOp.cs Progetto: sky-tc/U8
 public Model.DealResult GetU8Login(Model.APIData bd, U8Login.clsLogin u8Login)
 {
     return(GetU8LoginNew(bd, null, u8Login));
 }
Esempio n. 20
0
        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;
            }
        }
Esempio n. 21
0
        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;
        }
Esempio n. 22
0
        /// <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);
        }
Esempio n. 23
0
        /// <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);
        }
Esempio n. 24
0
File: APIOp.cs Progetto: sky-tc/U8
        /// <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);
        }
Esempio n. 25
0
 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>";
 }
Esempio n. 26
0
        /// <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);
        }
Esempio n. 27
0
        /// <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);
        }
Esempio n. 28
0
File: SaleOp.cs Progetto: sky-tc/U8
        /// <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);
        }
Esempio n. 29
0
        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;
            }
        }
Esempio n. 30
0
        //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);
        }
Esempio n. 31
0
        //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);
        }
Esempio n. 32
0
 public static void InitU8Date(U8Login.clsLogin u8Login)
 {
     //    UFSoft.U8.Framework.Login.UI.clsLogin cl = new UFSoft.U8.Framework.Login.UI.clsLogin();
 }