예제 #1
0
        public string Z9EARS(int DocEntry, string U_ARH, string U_ARD, string U_ARQ, decimal U_ARM, string U_ARS)
        {
            var json   = string.Empty;
            var result = new StandardResult();

            logger.Info("");
            logger.Info("");
            logger.Info("-----------------------------------调用开始------------------------------------");
            logger.Info("请求函数:Z9EARS");
            logger.Info("请求时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
            logger.Info("请求参数:");
            logger.Info("DocEntry:" + DocEntry);
            logger.Info("U_ARH:" + U_ARH);
            logger.Info("U_ARD:" + U_ARD);
            logger.Info("U_ARQ:" + U_ARQ);
            logger.Info("U_ARM:" + U_ARM);
            logger.Info("U_ARS:" + U_ARS);

            if (DocEntry <= 0)
            {
                result.Code = "N";
                result.Msg  = "DocEntry参数不能为空";
            }
            if (string.IsNullOrWhiteSpace(U_ARH))
            {
                result.Code = "N";
                result.Msg  = "U_ARH参数不能为空";
            }
            if (string.IsNullOrWhiteSpace(U_ARS))
            {
                result.Code = "N";
                result.Msg  = "U_ARS参数不能为空";
            }
            if (result.Code == "N")
            {
                json = Newtonsoft.Json.JsonConvert.SerializeObject(result);
                logger.Info("返回结果:" + json);
                logger.Info("-----------------------------------调用结束------------------------------------");
                return(json);
            }

            try
            {
                U_ARS  = U_ARS.Replace("0", "作废").Replace("1", "正常").Replace("2", "冲红");
                result = Z9EARS_DLL(DocEntry, U_ARH, U_ARD, U_ARQ, U_ARM, U_ARS);
            }
            catch (Exception ex)
            {
                result.Code = "N";
                result.Msg  = ex.Message;
            }
            json = Newtonsoft.Json.JsonConvert.SerializeObject(result);
            logger.Info("返回结果:" + json);
            logger.Info("-----------------------------------调用结束------------------------------------");
            return(json);
        }
예제 #2
0
        private StandardResult Z9EARS_DLL(int DocEntry, string U_ARH, string U_ARD, string U_ARQ, decimal U_ARM, string U_ARS)
        {
            var result     = new StandardResult();
            var connstring = GetDllConnectionString();

            using (Sap.Data.Hana.HanaConnection connection = new Sap.Data.Hana.HanaConnection(connstring)) //创建connection连接对象
            {
                connection.Open();                                                                         //打开链接
                var sql = new System.Text.StringBuilder();

                //SQL拼接,无参数化
                sql.Append("UPDATE \"" + GetDbName() + "\".\"OINV\" SET ");
                sql.AppendFormat("\"OINV\".\"U_ARH\" =\'{0}\',", U_ARH);
                sql.AppendFormat("\"OINV\".\"U_ARD\" =\'{0}\',", U_ARD);
                sql.AppendFormat("\"OINV\".\"U_ARQ\" =\'{0}\',", U_ARQ);
                sql.AppendFormat("\"OINV\".\"U_ARM\" =\'{0}\',", U_ARM);
                sql.AppendFormat("\"OINV\".\"U_ARS\" =\'{0}\'", U_ARS);
                sql.AppendFormat(" where \"OINV\".\"DocEntry\"={0}", DocEntry);

                //参数化
                //sql.Append("UPDATE \"BS_SBO_1970_AR\".\"OINV\" SET ");
                //sql.AppendFormat("\"OINV\".\"U_ARH\" =:U_ARH,", U_ARH);
                //sql.AppendFormat("\"OINV\".\"U_ARD\" =:U_ARD,", U_ARD);
                //sql.AppendFormat("\"OINV\".\"U_ARQ\" =:U_ARQ,", U_ARQ);
                //sql.AppendFormat("\"OINV\".\"U_ARE\" =:U_ARE,", U_ARE);
                //sql.AppendFormat("\"OINV\".\"U_ARS\" =:U_ARS", U_ARS);
                //sql.AppendFormat(" where \"OINV\".\"DocEntry\"=:DocEntry", DocEntry);

                var strSql = sql.ToString();

                using (Sap.Data.Hana.HanaCommand command = new Sap.Data.Hana.HanaCommand(strSql))//command  对象
                {
                    command.Connection = connection;
                    command.Parameters.Add(new Sap.Data.Hana.HanaParameter()
                    {
                        ParameterName = ":DocEntry", HanaDbType = Sap.Data.Hana.HanaDbType.Integer, Value = DocEntry
                    });
                    command.Parameters.Add(new Sap.Data.Hana.HanaParameter()
                    {
                        ParameterName = ":U_ARH", HanaDbType = Sap.Data.Hana.HanaDbType.VarChar, Value = U_ARH
                    });
                    command.Parameters.Add(new Sap.Data.Hana.HanaParameter()
                    {
                        ParameterName = ":U_ARD", HanaDbType = Sap.Data.Hana.HanaDbType.VarChar, Value = U_ARD
                    });
                    command.Parameters.Add(new Sap.Data.Hana.HanaParameter()
                    {
                        ParameterName = ":U_ARQ", HanaDbType = Sap.Data.Hana.HanaDbType.VarChar, Value = U_ARQ
                    });
                    command.Parameters.Add(new Sap.Data.Hana.HanaParameter()
                    {
                        ParameterName = ":U_ARM", HanaDbType = Sap.Data.Hana.HanaDbType.Decimal, Value = U_ARM
                    });

                    command.Parameters.Add(new Sap.Data.Hana.HanaParameter()
                    {
                        ParameterName = ":U_ARS", HanaDbType = Sap.Data.Hana.HanaDbType.VarChar, Value = U_ARS
                    });


                    if (command.ExecuteNonQuery() > 0)
                    {
                        result.Code = "Y";
                        result.Msg  = "成功";
                    }
                    else
                    {
                        result.Code = "N";
                        result.Msg  = "失败,更新影响行数为0";
                    }
                }
            }
            return(result);
        }