Esempio n. 1
0
        /// <summary>
        /// 用户登录
        /// </summary>
        /// <param name="ctx"></param>
        /// <param name="client"></param>
        /// <returns></returns>
        public static bool Login(Context ctx, K3CloudApiClient client)
        {
            K3LoginInfo.DbId = ctx.DBId;

            DataBaseConst.K3CloudContext = ctx;
            K3LoginInfo.UserName         = DataBaseConst.K3CloudUserName;
            K3LoginInfo.Password         = DataBaseConst.K3CloudPwd;
            K3LoginInfo.LanguageType     = DataBaseConst.K3CloudLanType;

            try
            {
                if (client != null)
                {
                    if (client.Login(K3LoginInfo.DbId, K3LoginInfo.UserName, K3LoginInfo.Password, K3LoginInfo.LanguageType))
                    {
                        return(true);
                    }
                    else
                    {
                        LogUtils.WriteSynchroLog(ctx, SynchroDataType.UserLoin, "系统用户没有登录成功!!!");
                        return(false);
                    }
                }
            }
            catch (Exception ex)
            {
                LogUtils.WriteSynchroLog(ctx, SynchroDataType.UserLoin, "系统用户出现异常,异常信息:" + ex.Message + System.Environment.NewLine + ex.StackTrace);
            }

            return(false);
        }
Esempio n. 2
0
        /// <summary>
        /// 单据批量保存
        /// </summary>
        /// <param name="ctx"></param>
        /// <param name="dataType"></param>
        /// <param name="formId"></param>
        /// <param name="json"></param>
        /// <returns></returns>
        public static HttpResponseResult InvokeBatchSave(Context ctx, SynchroDataType dataType, string formId, string json)
        {
            HttpResponseResult response = default(HttpResponseResult);
            string             ret      = default(string);
            K3CloudApiClient   client   = null;

            DataBaseConst.K3CloudContext = ctx;

            lock (SaveLock)
            {
                client = new K3CloudApiClient(DataBaseConst.CurrentK3CloudURL);

                if (Login(ctx, client))
                {
                    ret = client.BatchSave(formId, json);
                }
                else
                {
                    response         = new HttpResponseResult();
                    response.Success = false;
                    response.Message = "登陆账号或密码错误!";
                }
                if (!string.IsNullOrEmpty(ret))
                {
                    response = Response(ctx, dataType, SynOperationType.SAVE, ret, json);
                }
            }

            return(response);
        }
Esempio n. 3
0
        public string Login(string url, string dbid, string user, string pwd)
        {
            string           loginResult;
            K3CloudApiClient client;

            try
            {
                client      = new K3CloudApiClient(url);
                loginResult = client.ValidateLogin(dbid, user, pwd, 2052);
            }
            catch (Exception ex)
            {
                WebException webException = new WebException();
                webException.LoginResultType = -1;
                webException.Message         = ex.Message;
                if (_mode != 0)
                {
                    return(JsonToXml(JsonConvert.SerializeObject(webException)));
                }
                return(JsonConvert.SerializeObject(webException));
            }
            var resultType = JObject.Parse(loginResult)["LoginResultType"].Value <int>();

            if (resultType == 1)
            {
                _client  = client;
                _isLogin = true;
            }
            if (_mode != 0)
            {
                return(JsonToXml(loginResult));
            }
            return(loginResult);
        }
Esempio n. 4
0
        /// <summary>
        /// 单据批量作废
        /// </summary>
        /// <param name="ctx"></param>
        /// <param name="dataType"></param>
        /// <param name="formId"></param>
        /// <param name="numbers"></param>
        /// <param name="pkIds"></param>
        /// <returns></returns>
        public static HttpResponseResult InvokeBatchCancel(Context ctx, SynchroDataType dataType, string formId, IEnumerable <string> numbers = null, IEnumerable <int> pkIds = null)
        {
            HttpResponseResult response = default(HttpResponseResult);
            string             ret      = default(string);

            K3CloudApiClient client = null;

            DataBaseConst.K3CloudContext = ctx;

            client = new K3CloudApiClient(DataBaseConst.CurrentK3CloudURL);

            // 登陆成功
            if (Login(ctx, client))
            {
                if (numbers != null && numbers.Count() > 0)
                {
                    ret = client.ExcuteOperation(formId, "Cancel", "{\"CreateOrgId\":\"0\",\"Numbers\":[" + FormatFNumber(numbers) + "],\"Ids\":\"\"}");
                }
                if (pkIds != null && pkIds.Count() > 0)
                {
                    ret = client.ExcuteOperation(formId, "Cancel", "{\"CreateOrgId\":\"0\",\"Numbers\":[],\"Ids\":\"" + FormatFNumber(pkIds) + "\"}");
                }
                if (!string.IsNullOrEmpty(ret))
                {
                    response = Response(ctx, dataType, SynOperationType.DELETE, ret);
                }
            }

            return(response);
        }
Esempio n. 5
0
        /// <summary>
        /// 调用ExportedToQIS操作
        /// </summary>
        /// <param name="Numbers">需要被操作的单据</param>
        public static bool ExportedToQIS(K3CloudApiClient client, StringBuilder Numbers)
        {
            log.Info("正在修改单据已导出QIS状态:" + Numbers);

            string sContent = "{\"Numbers\":[" + Numbers + "]}";
            //string responseStatus = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExportedToQIS", new object[] { FormID, sContent });
            string  responseStatus     = client.ExcuteOperation("PUR_ReceiveBill", "ExportedToQIS", sContent);
            JObject jsonResponseStatus = (JObject)JsonConvert.DeserializeObject(responseStatus);

            if (Convert.ToBoolean(jsonResponseStatus["Result"]["ResponseStatus"]["IsSuccess"].ToString()))
            {
                log.Info("修改单据已导出QIS状态成功!");
                return(true);
            }
            else
            {
                StringBuilder sb = new StringBuilder();
                sb.AppendLine(" 修改单据已导出QIS状态失败!");
                List <string> errorsFIDIndex = new List <string>();
                JArray        errorsJson     = JArray.Parse(Convert.ToString(jsonResponseStatus["Result"]["ResponseStatus"]["Errors"]));
                for (int i = 0; i < errorsJson.Count; i++)
                {
                    string Message   = errorsJson[i]["Message"].ToString();   //错误信息
                    string FieldName = errorsJson[i]["FieldName"].ToString(); //出错的字段

                    if (!"".Equals(FieldName))
                    {
                        sb.Append(" 出错字段:").Append(FieldName);
                    }
                    sb.Append(" 错误信息:").AppendLine(Message);
                }
                log.Error(sb);
                return(false);
            }
        }
Esempio n. 6
0
        /// <summary>
        /// 批量下推
        /// </summary>
        /// <param name="ctx"></param>
        /// <param name="dataType"></param>
        /// <param name="formId"></param>
        /// <param name="numbers"></param>
        /// <param name="pkIds"></param>
        /// <returns></returns>
        public static HttpResponseResult InvokeBatchPush(Context ctx, SynchroDataType dataType, string formId, IEnumerable <string> numbers = null, IEnumerable <int> pkIds = null)
        {
            HttpResponseResult response = default(HttpResponseResult);
            string             ret      = default(string);

            K3CloudApiClient client = null;

            DataBaseConst.K3CloudContext = ctx;

            client = new K3CloudApiClient(DataBaseConst.CurrentK3CloudURL);

            // 登陆成功
            if (Login(ctx, client))
            {
                if (numbers != null && numbers.Count() > 0)
                {
                    ret = client.Push("SAL_BATCHADJUSTPRICE", "{\"Ids\":\"\",\"Numbers\":[],\"EntryIds\":\"\",\"RuleId\":\"\",\"TargetBillTypeId\":\"\",\"TargetOrgId\":0,\"TargetFormId\":\"\",\"IsEnableDefaultRule\":\"false\",\"IsDraftWhenSaveFail\":\"false\",\"CustomParams\":{}}");
                }
                if (pkIds != null && pkIds.Count() > 0)
                {
                    ret = client.ExcuteOperation(formId, "Cancel", "{\"CreateOrgId\":\"0\",\"Numbers\":[],\"Ids\":\"" + FormatFNumber(pkIds) + "\"}");
                }
                if (!string.IsNullOrEmpty(ret))
                {
                    response = Response(ctx, dataType, SynOperationType.DELETE, ret);
                }
            }

            return(response);
        }
Esempio n. 7
0
        public string APPtest(string parameter)
        {
            string  s          = System.Web.HttpContext.Current.Request.Form["Data"];
            JObject Jo         = (JObject)JsonConvert.DeserializeObject(s);
            string  DBID       = Jo["DBID"].ToString();
            string  UserName   = Jo["UserName"].ToString();
            string  PassWord   = Jo["PassWord"].ToString();
            int     BillId     = Convert.ToInt32(Jo["BillId"].ToString());
            string  LostReason = Jo["LostReason"].ToString();

            string reason   = "";
            string sContent = "";

            Context ctx = getContext(UserName, PassWord, 2052, DBID, "http://localhost/K3Cloud/");

            K3CloudApiClient client = new K3CloudApiClient("http://localhost/K3Cloud/");
            var ret    = client.ValidateLogin(DBID, UserName, PassWord, 2052);
            var result = JObject.Parse(ret)["LoginResultType"].Value <int>();

            if (result == 1)//登录成功
            {
                string strSql = string.Format(@"/*dialect*/update T_CRM_Opportunity set FWinReason={1}  where FID='{0}'", BillId, LostReason);
                DBUtils.Execute(ctx, strSql);
                reason = "填写输赢原因成功";
            }
            else
            {
                reason = "登录失败";
            }

            JObject jsonRoot       = new JObject();
            JObject Result         = new JObject();
            JObject ResponseStatus = new JObject();
            JArray  Errors         = new JArray();
            JObject basedata       = new JObject();


            basedata.Add("FieldName", "");
            Errors.Add(basedata);
            basedata = new JObject();
            basedata.Add("Message", reason);
            Errors.Add(basedata);
            basedata = new JObject();
            basedata.Add("DIndex", "0");
            Errors.Add(basedata);

            ResponseStatus.Add("IsSuccess", "true");
            ResponseStatus.Add("Errors", Errors);

            Result.Add("ResponseStatus", ResponseStatus);

            jsonRoot.Add("Result", Result);

            sContent = JsonConvert.SerializeObject(jsonRoot);



            return(sContent);
        }
Esempio n. 8
0
        public void Test()
        {
            K3CloudApiClient client = new K3CloudApiClient("http://fin.puruiit.cn:58888/K3Cloud/");
            var loginResult         = client.ValidateLogin("5def4fed400b95", "倚和测试", "123456", 2052);

            Console.WriteLine(loginResult);
            client.Logout();
        }
Esempio n. 9
0
        public override string transform()
        {
            string           result = "审核操作结果:";
            K3CloudApiClient client = getOperateClient();

            result += client.Audit(formId, targetJson);
            return(result);
        }
Esempio n. 10
0
        //保存
        public bool save(K3CloudApiClient client, dynamic body)
        {
            JToken jItem = ((JArray)body).First;

            saveStr = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"Model\":{\"FSupplierId\":0,\"FCreateOrgId\":{\"FNumber\":\"01\"},\"FUseOrgId\":{\"FNumber\":\"01\"},\"FName\":\"" + jItem["name_org"] + "\",\"FSupplierGroup\":\"1\",\"FWLS\":false,\"FIsAllot\":false,\"F_SFKD_IsAgreeSupplier\":false,\"F_SFKD_IsFundPool\":false,\"FBaseInfo\":{\"FCountry\":{\"FNumber\":\"China\"},\"FProvincial\":{\"FNumber\":\"06\"},\"FSOCIALCRECODE\":\"" + jItem["taxnum"] + "\",\"FSupplyClassify\":\"CG\"},\"FBusinessInfo\":{\"FVmiBusiness\":false,\"FEnableSL\":false},\"FFinanceInfo\":{\"FPayCurrencyId\":{\"FNumber\":\"PRE001\"},\"FTaxType\":{\"FNumber\":\"SFL02_SYS\"},\"FInvoiceType\":\"1\",\"FTaxRateId\":{\"FNumber\":\"SL02_SYS\"}},\"FBankInfo\":[{\"FBankCountry\":{\"FNumber\":\"" + jItem["banks"] + "\"},\"FOpenBankName\":\"" + jItem["banka"] + "\",\"FBankCode\":\"" + jItem["zbankn"] + "\",\"FBankHolder\":\"关印测试供应商001\",\"FSwiftCode\":\"666\",\"FBankIsDefault\":false}]}}";
            string result = client.Save(FormId, saveStr);

            return(judgeIsSuccess(result));
        }
        private int LogIn()
        {
            client = new K3CloudApiClient(GetCurApplicationUrl() + "/");
            var loginResult = client.LoginByAppSecret(this.Context.DBId, "Administrator",
                                                      "210740_6+5NTbGL5OH5QaSu767O66UEQMTaRAmI",
                                                      "86b093564ef4489095a24de6300fcb46", 2052);
            //var loginResult = client.ValidateLogin(this.Context.DBId, "Administrator", "888888", 2052);
            var resultType = JObject.Parse(loginResult)["LoginResultType"].Value <int>();

            return(resultType);
        }
Esempio n. 12
0
        static void Main(string[] args)
        {
            K3CloudApiClient client = new K3CloudApiClient("http://218.90.239.228:9000/k3cloud/");
            string           ret    = client.ValidateLogin("5a52e5b35fcac8", "Administrator", "888888", 2052);

            Console.WriteLine(ret + "\n");
            var result = JObject.Parse(ret)["LoginResultType"].Value <int>();

            Console.WriteLine("结果为:" + result);
            Console.ReadKey();
        }
Esempio n. 13
0
        public bool Login()
        {
            log.Info("登录中...");
            try
            {
                ServicePointManager.SecurityProtocol = (SecurityProtocolType)SecurityProtocolTypeEnum.Ssl3 | (SecurityProtocolType)SecurityProtocolTypeEnum.Tls | (System.Net.SecurityProtocolType)SecurityProtocolTypeEnum.Tls11 | (SecurityProtocolType)SecurityProtocolTypeEnum.Tls12;

                string result;
                string sSERVER    = ConfigurationManager.ConnectionStrings["SERVER"].ToString().Trim();
                string sDBID      = ConfigurationManager.ConnectionStrings["DBID"].ToString().Trim();
                string sUserName  = ConfigurationManager.ConnectionStrings["UID"].ToString().Trim();
                string sAppId     = ConfigurationManager.ConnectionStrings["AppId"].ToString().Trim();
                string sAppSecret = ConfigurationManager.ConnectionStrings["AppSecret"].ToString().Trim();
                if (!sSERVER.Equals("") && !sDBID.Equals("") && !sUserName.Equals(""))
                {
                    client = new K3CloudApiClient(sSERVER);
                    var ret = client.LoginByAppSecret(sDBID, sUserName, sAppId, sAppSecret, 2052);
                    //var ret = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.AuthService.ValidateUser", _objInfo);
                    result = JObject.Parse(ret)["LoginResultType"].Value <string>();

                    switch (result)
                    {
                    case "0":
                        log.Info("登录失败,请检查与站点地址、数据中心Id,用户名及密码!");
                        //textBox_log.AppendText(Utils.getNowTime() + " 登录失败,请检查与站点地址、数据中心Id,用户名及密码!\r\n");
                        break;

                    case "1":
                        JObject jsonRoot       = new JObject();
                        string  DataCenterName = JObject.Parse(ret)["Context"]["DataCenterName"].Value <string>();
                        log.Info("登录成功!账套名称:" + DataCenterName);
                        //textBox_log.AppendText(Utils.getNowTime() + " 登录成功!\r\n");
                        return(true);

                    case "-1":
                        log.Info("登录失败!");
                        log.Info(JObject.Parse(ret)["Message"].Value <string>());
                        //textBox_log.AppendText(Utils.getNowTime() + " 登录失败!\r\n");
                        break;
                    }
                }
            }
            catch (Exception exp)
            {
                StringBuilder sb = new StringBuilder();
                sb.AppendLine("程序运行遇到了未知的错误:");
                sb.Append("错误提示:").AppendLine(exp.Message);
                sb.Append("错误堆栈:").AppendLine(exp.StackTrace);
                //textBox_log.AppendText(Utils.getNowTime() + sb + " \r\n");
                log.Error(sb);
            }
            return(false);
        }
Esempio n. 14
0
        /// </summary>
        /// <param name="parameter"></param>
        /// <returns></returns>
        public JSONObject Post(string parameter)
        {
            Helper.WriteLog(string.Format("{0} INFO {1}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), parameter));
            //CHUtils.isCloudSSO(context);
            JObject jo = (JObject)JsonConvert.DeserializeObject(parameter);
            dynamic header = jo["header"];
            string  msgid = "0", interid = "0", sender = "", receiver = "";

            try {
                //如何获取当前服务器的URL
                K3CloudApiClient client = new K3CloudApiClient(Constants.CLIENT_URL);
                ParseHeader(header, Constants.DBID, out msgid, out interid, out sender, out receiver);
                bool bLogin = client.Login(Constants.DBID, Constants.USERNAME, Constants.PASSWORD, Constants.ICID);
                if (!bLogin)
                {
                    throw new Exception("登录失败");
                }
                IApiHandler handler;
                switch (interid)
                {
                case "gys":    //供应商
                    handler = new SupplierPlugIn();
                    break;

                case "kh":    //客户
                    handler = new CustomerPlugIn();
                    break;

                default:
                    throw new Exception("未知的interid:" + interid);
                }
                string msg       = "";
                bool   isSuccess = handler.save(client, jo["body"]);
                if (isSuccess)
                {
                    if (handler.submit(client))         //提交
                    {
                        handler.audit(client, out msg); //审核
                    }
                }
                Helper.WriteLog(string.Format("{0} INFO interid:{1} msgid:{2} result:{3} msg:{4}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), interid, msgid, isSuccess, msg));

                return(GetReturnObject(msgid, interid, sender, receiver, msg, "P", isSuccess ? "S" : "E"));
            }
            catch (Exception ex) {
                Helper.WriteLog(string.Format("{0} ERR msg:{1} stackTrace:{2}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), ex.Message, ex.StackTrace));
                return(GetReturnObject(msgid, interid, sender, receiver, ex.Message, "T", "E"));
            }
        }
Esempio n. 15
0
        /// <summary>
        /// 测试账号连接登陆
        /// </summary>
        /// <param name="apiServerInfo"></param>
        /// <returns></returns>
        public bool CheckConnect(ApiServerInfo apiServerInfo)
        {
            var result      = new K3CloudApiClient(apiServerInfo);
            var loginResult = result.ValidateUser(apiServerInfo.Dbid, apiServerInfo.UserName, apiServerInfo.Password, apiServerInfo.Lcid);
            var resultType  = JObject.Parse(loginResult)["LoginResultType"].Value <int>();

            if (resultType != 1)
            {
                log.Error(loginResult);
                return(false);
            }
            else
            {
                return(true);
            }
        }
Esempio n. 16
0
        //审核
        public bool audit(K3CloudApiClient client, out string msg)
        {
            bool    flag   = false;
            string  result = client.Audit(FormId, auditStr);
            JObject jo     = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(result);

            if (Convert.ToString(jo["Result"]["ResponseStatus"]["IsSuccess"]) == "True")
            {
                msg  = Convert.ToString(jo["Result"]["ResponseStatus"]["SuccessMessages"]);
                flag = true;
            }
            else
            {
                msg = Convert.ToString(jo["Result"]["ResponseStatus"]["Errors"]);
            }
            return(flag);
        }
Esempio n. 17
0
        public static K3CloudApiClient getOperateClient()
        {
            K3CloudApiClient client = null;

            if (client == null)
            {
                client = new K3CloudApiClient(Constants.CLIENT_URL);
                var ret    = client.ValidateLogin(Constants.DBID, Constants.USERNAME, Constants.PASSWORD, 2052);//登录校验
                var result = JObject.Parse(ret)["LoginResultType"].Value <int>();
                // 登录成功
                if (result == 1)
                {
                    return(client);
                }
            }
            return(client);
        }
Esempio n. 18
0
        //其实我不想加注释的, 这段写的实在是估计以后我自己也看不懂,所以还是加上吧
        //通过传入的参数 function 反射获取类 K3CloudApiClient的方法,然后直接调用
        //其中new string[] { JsonExtension.ToJSON(t) } 是调用方法的参数 参见 方法 public object Invoke(object obj, object[] parameters);
        // JsonExtension.ToJSON(t) 是把传入的对象转化为Json字符串
        //然后 调用后 进行强制类型转化为string
        //最后调用Json字符串转对象来实现调用
        public static InvokeResult InvokeFunction(string inputObjectString, K3CloudApiClient client, string formID, string function, string functionName)
        {
            InvokeResult invokeResult = new InvokeResult();

            try {
                Assembly   asmb       = Assembly.LoadFrom("C:\\Program Files (x86)\\Kingdee\\K3Cloud\\WebSite\\Bin\\Kingdee.BOS.WebApi.Client.dll");
                Type       type       = asmb.GetType("Kingdee.BOS.WebApi.Client.K3CloudApiClient");
                MethodInfo method     = type.GetMethod(function, new Type[] { typeof(string), typeof(string) });
                object[]   parameters = new object[] { formID, inputObjectString };
                return(JsonExtension.FromJSON <InvokeResult>((string)method.Invoke(client, parameters)));
            }
            catch (Exception e) {
                SystemLog.WriteSystemLog("☆☆☆☆☆☆☆☆☆ -- 系统级别错误! --☆☆☆☆☆☆☆☆☆");
                SystemLog.WriteSystemLog("☆☆☆☆☆☆☆☆☆ -- 调用API核心出错! -- ☆☆☆☆☆☆☆☆☆");
                SystemLog.WriteSystemLog("错误模块=" + functionName + "错误操作=" + function + "错误原因=" + e);
                SystemLog.WriteSystemLog("☆☆☆☆☆☆☆☆☆ --打印核心错误结束 -- ☆☆☆☆☆☆☆☆☆");
                client.Logout();
                return(null);
            }
        }
Esempio n. 19
0
        public static LoginResult Login(string functionName)
        {
            K3CloudApiClient client = new K3CloudApiClient(InvokeLoginInfo.URL);
            string           ret    = client.ValidateLogin(InvokeLoginInfo.DBID, InvokeLoginInfo.USERNAME, InvokeLoginInfo.PASSWORD, InvokeLoginInfo.LANGUAGE);
            var         result      = JObject.Parse(ret)["LoginResultType"].Value <int>();
            LoginResult loginResult = null;

            if (result != 1)
            {
                loginResult = JsonExtension.FromJSON <LoginResult>(ret);
                BussnessLog.WriteBussnessLog(loginResult, functionName, "登录远程Cloud系统API失败!");
            }
            else
            {
                BussnessLog.WriteBussnessLog("", functionName, "登录远程Cloud系统API成功!");
                loginResult                 = new LoginResult();
                loginResult.client          = client;
                loginResult.LoginResultType = 1;
            }
            return(loginResult);
        }
Esempio n. 20
0
        /// <summary>
        /// 单据批量分配
        /// </summary>
        /// <param name="ctx"></param>
        /// <param name="dataType"></param>
        /// <param name="formId"></param>
        /// <param name="pkIds"></param>
        /// <returns></returns>
        public static HttpResponseResult InvokeBatchAllot(Context ctx, SynchroDataType dataType, string formId, IEnumerable <int> pkIds)
        {
            HttpResponseResult response = default(HttpResponseResult);
            string             ret      = default(string);
            K3CloudApiClient   client   = null;

            DataBaseConst.K3CloudContext = ctx;


            client = new K3CloudApiClient(DataBaseConst.CurrentK3CloudURL);

            if (Login(ctx, client))
            {
                ret = client.Allocate(formId, "{\"PkIds\":\"" + FormatFNumber(pkIds) + "\",\"TOrgIds\":" + ORGID + ",\"IsAutoSubmitAndAudit\":\"true\"}");
            }

            if (!string.IsNullOrEmpty(ret))
            {
                response = Response(ctx, dataType, SynOperationType.ALLOT, ret);
            }

            return(response);
        }
Esempio n. 21
0
        /// <summary>
        /// 生成倒冲领料单
        ///
        /// 根据生产入库单号,
        /// 生产对应的倒冲领料单进行领料。
        /// 入库单对应的用料清单的发料方式必须为“直接倒冲”才能领料。
        /// </summary>
        /// <param name="pBillNO">入库单编号</param>
        /// <returns>领料单</returns>
        public string PickMtl(string pBillNO)
        {
            string    strPMBillNO;
            DataTable dt           = null;
            DataRow   dr           = null;
            bool      bAddFirstRow = true;

            if (pBillNO.Trim().Length == 0)
            {
                return("");
            }

            _SQL  = string.Format("SELECT DISTINCT NVL(ORG.FNUMBER,'HN02') FPRDORGID,NVL(ORG2.FNUMBER,ORG.FNUMBER) FSUPPLYORG,NVL(DEP.FNUMBER, ' ') FWORKSHOPID,NVL(STK.FNUMBER,' ') FINSTOCKID,NVL(STS.FNUMBER,'KCZT01_SYS') FSTOCKSTATUSID ");
            _SQL += string.Format(" ,MTLH.FNUMBER FMATERIALID, ROUND((PBE.FNEEDQTY-PBQ.FSELPICKEDQTY),4) FNEEDQTY,ROUND((PBE.FMUSTQTY*AE.FREALQTY/MO.FQTY),4) FMUSTQTY,NVL(UNT.FNUMBER,' ') FUNITID,NVL(ORG3.FNUMBER,ORG.FNUMBER) FOWNERID ");
            _SQL += string.Format(" ,A.FBILLNO INSTOCKBILLNO,A.FID INSTOCKFID,AE.FENTRYID INSTOCKFENTRYID,AE.FSEQ INSTOCKSEQ ");
            _SQL += string.Format(" , AE.FMOBILLNO MOBILLNO,MO.FID MOFID,MO.FENTRYID MOFENTRYID,MO.FSEQ MOSEQ ");
            _SQL += string.Format(" , PB.FBILLNO PPBILLNO,PBE.FID PPFID,PBE.FENTRYID PPFENTRYID,PBE.FSEQ PPFSEQ ");
            _SQL += string.Format(" , A.FFORMID,PBE.FOPERID,A.FDATE,NVL(ORG4.FNUMBER,ORG.FNUMBER) FPARENTOWNERID,MTLC.FNUMBER FPARENTMATERIALID ");
            _SQL += string.Format(" FROM T_PRD_INSTOCK A ");
            _SQL += string.Format(" INNER JOIN T_PRD_INSTOCKENTRY AE ON A.FID = AE.FID ");
            _SQL += string.Format(" INNER JOIN T_PRD_MOENTRY MO ON AE.FMOENTRYID = MO.FENTRYID ");
            _SQL += string.Format(" INNER JOIN T_PRD_PPBOM PB ON AE.FMOENTRYID = PB.FMOENTRYID ");
            _SQL += string.Format(" INNER JOIN T_PRD_PPBOMENTRY PBE ON PB.FID = PBE.FID ");
            _SQL += string.Format(" INNER JOIN T_PRD_PPBOMENTRY_C PBC ON PBE.FENTRYID = PBC.FENTRYID ");
            _SQL += string.Format(" INNER JOIN T_PRD_PPBOMENTRY_Q PBQ ON PBE.FENTRYID = PBQ.FENTRYID ");
            _SQL += string.Format(" INNER JOIN T_BD_MATERIAL MTLH ON PBE.FMATERIALID = MTLH.FMATERIALID ");
            _SQL += string.Format(" INNER JOIN T_BD_MATERIAL MTLC ON PB.FMATERIALID = MTLC.FMATERIALID ");
            _SQL += string.Format(" LEFT JOIN T_ORG_ORGANIZATIONS ORG ON PB.FPRDORGID = ORG.FORGID ");
            _SQL += string.Format(" LEFT JOIN T_ORG_ORGANIZATIONS ORG2 ON PBC.FSUPPLYORG = ORG2.FORGID ");
            _SQL += string.Format(" LEFT JOIN T_ORG_ORGANIZATIONS ORG3 ON PBC.FOWNERID = ORG3.FORGID ");
            _SQL += string.Format(" LEFT JOIN T_ORG_ORGANIZATIONS ORG4 ON PBC.FENTRUSTPICKORGID = ORG4.FORGID ");
            _SQL += string.Format(" LEFT JOIN T_BD_DEPARTMENT DEP ON PB.FWORKSHOPID = DEP.FDEPTID ");
            _SQL += string.Format(" LEFT JOIN T_BD_STOCK STK ON DEP.FINSTOCKID = STK.FSTOCKID ");
            _SQL += string.Format(" LEFT JOIN T_BD_UNIT UNT ON PBE.FUNITID = UNT.FUNITID ");
            _SQL += string.Format(" LEFT JOIN T_BD_STOCKSTATUS STS ON PBC.FSTOCKSTATUSID = STS.FSTOCKSTATUSID ");
            _SQL += string.Format(" LEFT JOIN T_PRD_PICKMTRLDATA_A PICA ON AE.FENTRYID = PICA.FSRCBIZENTRYID ");
            _SQL += string.Format(" WHERE A.FBILLNO = '{0}' AND PICA.FSRCBIZBILLNO IS NULL AND PBC.FISSUETYPE = 2 ", pBillNO);//用料清单的发料方式为直接倒冲。1、直接领料;2、直接倒冲;3、调拨领料;4、调拨倒冲;7、不发料。

            dt = new DataTable();
            dt.Columns.Add("FPRDORGID");
            dt.Columns.Add("FSUPPLYORG");
            dt.Columns.Add("FWORKSHOPID");
            dt.Columns.Add("FINSTOCKID");
            dt.Columns.Add("FSTOCKSTATUSID");

            dt.Columns.Add("FMATERIALID");
            dt.Columns.Add("FNEEDQTY");
            dt.Columns.Add("FMUSTQTY");
            dt.Columns.Add("FUNITID");
            dt.Columns.Add("FOWNERID");

            dt.Columns.Add("INSTOCKBILLNO");
            dt.Columns.Add("INSTOCKFID");
            dt.Columns.Add("INSTOCKFENTRYID");
            dt.Columns.Add("INSTOCKSEQ");

            dt.Columns.Add("MOBILLNO");
            dt.Columns.Add("MOFID");
            dt.Columns.Add("MOFENTRYID");
            dt.Columns.Add("MOSEQ");

            dt.Columns.Add("PPBILLNO");
            dt.Columns.Add("PPFID");
            dt.Columns.Add("PPFENTRYID");
            dt.Columns.Add("PPFSEQ");
            dt.Columns.Add("FFORMID");

            dt.Columns.Add("FOPERID");
            dt.Columns.Add("FDATE");
            dt.Columns.Add("FPARENTOWNERID");
            dt.Columns.Add("FPARENTMATERIALID");

            dt.TableName = "PickMtrlInfo";

            OracleConnection OrclConn = new OracleConnection(GlobalParameter.K3Inf.C_ORCLADDRESS);

            try
            {
                OrclConn.Open();
                OracleCommand cmd = OrclConn.CreateCommand();
                cmd.CommandText = _SQL;

                using (OracleDataReader rdr = cmd.ExecuteReader())
                {
                    while (rdr.Read())
                    {
                        if (bAddFirstRow)
                        {
                            dr = dt.NewRow();
                            dr["FPRDORGID"]      = rdr.GetString(0);
                            dr["FSUPPLYORG"]     = rdr.GetString(1);
                            dr["FWORKSHOPID"]    = rdr.GetString(2);
                            dr["FINSTOCKID"]     = rdr.GetString(3);
                            dr["FSTOCKSTATUSID"] = rdr.GetString(4);

                            dr["FMATERIALID"] = "5120170530001";
                            dr["FNEEDQTY"]    = 0;
                            dr["FMUSTQTY"]    = 0;
                            dr["FUNITID"]     = rdr.GetString(8);
                            dr["FOWNERID"]    = rdr.GetString(9);

                            dr["INSTOCKBILLNO"]   = rdr.GetString(10);
                            dr["INSTOCKFID"]      = rdr.GetInt32(11);
                            dr["INSTOCKFENTRYID"] = rdr.GetInt32(12);
                            dr["INSTOCKSEQ"]      = rdr.GetInt32(13);

                            dr["MOBILLNO"]   = rdr.GetString(14);
                            dr["MOFID"]      = rdr.GetInt32(15);
                            dr["MOFENTRYID"] = rdr.GetInt32(16);
                            dr["MOSEQ"]      = rdr.GetInt32(17);

                            dr["PPBILLNO"]   = rdr.GetString(18);
                            dr["PPFID"]      = rdr.GetInt32(19);
                            dr["PPFENTRYID"] = rdr.GetInt32(20);
                            dr["PPFSEQ"]     = rdr.GetInt32(21);
                            dr["FFORMID"]    = rdr.GetString(22);

                            dr["FOPERID"]           = rdr.GetInt32(23);
                            dr["FDATE"]             = rdr.GetDateTime(24);
                            dr["FPARENTOWNERID"]    = rdr.GetString(25);
                            dr["FPARENTMATERIALID"] = rdr.GetString(26);
                            dt.Rows.Add(dr);
                            bAddFirstRow = false;
                        }
                        dr = dt.NewRow();
                        dr["FPRDORGID"]      = rdr.GetString(0);
                        dr["FSUPPLYORG"]     = rdr.GetString(1);
                        dr["FWORKSHOPID"]    = rdr.GetString(2);
                        dr["FINSTOCKID"]     = rdr.GetString(3);
                        dr["FSTOCKSTATUSID"] = rdr.GetString(4);

                        dr["FMATERIALID"] = rdr.GetString(5);
                        dr["FNEEDQTY"]    = rdr.GetDecimal(6) < 0 ? 0 : rdr.GetDecimal(6);
                        dr["FMUSTQTY"]    = rdr.GetDecimal(7) < 0 ? 0 : rdr.GetDecimal(7);
                        dr["FUNITID"]     = rdr.GetString(8);
                        dr["FOWNERID"]    = rdr.GetString(9);

                        dr["INSTOCKBILLNO"]   = rdr.GetString(10);
                        dr["INSTOCKFID"]      = rdr.GetInt32(11);
                        dr["INSTOCKFENTRYID"] = rdr.GetInt32(12);
                        dr["INSTOCKSEQ"]      = rdr.GetInt32(13);

                        dr["MOBILLNO"]   = rdr.GetString(14);
                        dr["MOFID"]      = rdr.GetInt32(15);
                        dr["MOFENTRYID"] = rdr.GetInt32(16);
                        dr["MOSEQ"]      = rdr.GetInt32(17);

                        dr["PPBILLNO"]   = rdr.GetString(18);
                        dr["PPFID"]      = rdr.GetInt32(19);
                        dr["PPFENTRYID"] = rdr.GetInt32(20);
                        dr["PPFSEQ"]     = rdr.GetInt32(21);
                        dr["FFORMID"]    = rdr.GetString(22);

                        dr["FOPERID"]           = rdr.GetInt32(23);
                        dr["FDATE"]             = rdr.GetDateTime(24);
                        dr["FPARENTOWNERID"]    = rdr.GetString(25);
                        dr["FPARENTMATERIALID"] = rdr.GetString(26);
                        dt.Rows.Add(dr);
                    }
                    rdr.Close();
                }
            }
            catch (Exception ex)
            {
                return("[" + pBillNO + "]生成失败,错误:" + ex.Message);
            }
            finally
            {
                OrclConn.Close();
            }

            if (dt.Rows.Count < 1)
            {
                return("[" + pBillNO + "]生成失败,错误:在数据库找不到数据,或者领过料");
            }

            int iStar = 0, iEnd = 0, iIndex; string strMtlNumber = string.Empty, strMessTmep;

            K3CloudApiClient client = new K3CloudApiClient(GlobalParameter.K3Inf.C_ERPADDRESS);
            var bLogin = client.Login(GlobalParameter.K3Inf.C_ZTID, GlobalParameter.K3Inf.UserName, GlobalParameter.K3Inf.UserPWD, 2052);

            if (bLogin)
            {
                JObject jsonRoot = new JObject();
                jsonRoot.Add("Creator", "MANUAL");
                jsonRoot.Add("NeedUpDateFields", new JArray(""));

                JObject model = new JObject();
                jsonRoot.Add("Model", model);
                model.Add("FID", 0);

                JObject basedata = new JObject();
                basedata.Add("FNumber", "SCLLD02_SYS");
                model.Add("FBillType", basedata);

                basedata = new JObject();
                basedata.Add("FNumber", dt.Rows[0]["FSUPPLYORG"].ToString());
                model.Add("FStockOrgId", basedata);

                basedata = new JObject();
                basedata.Add("FNumber", dt.Rows[0]["FPRDORGID"].ToString());
                model.Add("FPrdOrgId", basedata);

                basedata = new JObject();
                basedata.Add("FNumber", dt.Rows[0]["FOWNERID"].ToString());
                model.Add("FOwnerId0", basedata);

                model.Add("FDate", dt.Rows[0]["FDATE"].ToString());
                model.Add("FOwnerTypeId0", "BD_OwnerOrg");

                JArray entryRows = new JArray();
                string entityKey = "FEntity";
                model.Add(entityKey, entryRows);
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    JObject entryRow = new JObject();
                    entryRows.Add(entryRow);
                    entryRow.Add("FEntryID", 0);

                    basedata = new JObject();
                    basedata.Add("FNumber", dt.Rows[i]["FMATERIALID"].ToString());
                    entryRow.Add("FMaterialId", basedata);

                    entryRow.Add("FAppQty", dt.Rows[i]["FNEEDQTY"].ToString());
                    entryRow.Add("FActualQty", dt.Rows[i]["FMUSTQTY"].ToString());

                    basedata = new JObject();
                    basedata.Add("FNumber", dt.Rows[i]["FUNITID"].ToString());
                    entryRow.Add("FUnitID", basedata);
                    basedata = new JObject();
                    basedata.Add("FNumber", dt.Rows[i]["FUNITID"].ToString());
                    entryRow.Add("FStockUnitId", basedata);
                    basedata = new JObject();
                    basedata.Add("FNumber", dt.Rows[i]["FUNITID"].ToString());
                    entryRow.Add("FBaseUnitId", basedata);

                    basedata = new JObject();
                    basedata.Add("FNumber", dt.Rows[i]["FINSTOCKID"].ToString());
                    entryRow.Add("FStockId", basedata);
                    basedata = new JObject();
                    basedata.Add("FNumber", dt.Rows[i]["FSTOCKSTATUSID"].ToString());
                    entryRow.Add("FStockStatusId", basedata);

                    entryRow.Add("FOwnerTypeId", "BD_OwnerOrg");
                    basedata = new JObject();
                    basedata.Add("FNumber", dt.Rows[i]["FOWNERID"].ToString());
                    entryRow.Add("FOwnerId", basedata);

                    entryRow.Add("FParentOwnerTypeId", "BD_OwnerOrg");
                    basedata = new JObject();
                    basedata.Add("FNumber", dt.Rows[i]["FPARENTOWNERID"].ToString());
                    entryRow.Add("FPARENTOWNERID", basedata);
                    basedata = new JObject();
                    basedata.Add("FNumber", dt.Rows[i]["FPARENTMATERIALID"].ToString());
                    entryRow.Add("FPARENTMATERIALID", basedata);

                    entryRow.Add("FKeeperTypeId", "BD_KeeperOrg");
                    basedata = new JObject();
                    basedata.Add("FNumber", dt.Rows[i]["FPRDORGID"].ToString());
                    entryRow.Add("FKeeperId", basedata);

                    //单据类型
                    entryRow.Add("FSrcBillType", "PRD_PPBOM");

                    entryRow.Add("FSRCBIZBILLNO", dt.Rows[i]["INSTOCKBILLNO"].ToString());
                    entryRow.Add("FSRCBIZINTERID", dt.Rows[i]["INSTOCKFID"].ToString());
                    entryRow.Add("FSRCBIZENTRYID", dt.Rows[i]["INSTOCKFENTRYID"].ToString());
                    entryRow.Add("FSRCBIZENTRYSEQ", dt.Rows[i]["INSTOCKSEQ"].ToString());

                    entryRow.Add("FMoBillNo", dt.Rows[i]["MOBILLNO"].ToString());
                    entryRow.Add("FMoId", dt.Rows[i]["MOFID"].ToString());
                    entryRow.Add("FMoEntryId", dt.Rows[i]["MOFENTRYID"].ToString());
                    entryRow.Add("FMoEntrySeq", dt.Rows[i]["MOSEQ"].ToString());

                    entryRow.Add("FSrcBillNo", dt.Rows[i]["PPBILLNO"].ToString());
                    entryRow.Add("FEntrySrcInterId", dt.Rows[i]["PPFID"].ToString());
                    entryRow.Add("FEntrySrcEnteryId", dt.Rows[i]["PPFENTRYID"].ToString());
                    entryRow.Add("FEntrySrcEntrySeq", dt.Rows[i]["PPFSEQ"].ToString());

                    entryRow.Add("FPPBomBillNo", dt.Rows[i]["PPBILLNO"].ToString());
                    entryRow.Add("FPPBOMENTRYID", dt.Rows[i]["PPFENTRYID"].ToString());

                    basedata = new JObject();
                    basedata.Add("FNumber", dt.Rows[i]["FWORKSHOPID"].ToString());
                    entryRow.Add("FEntryWorkShopId", basedata);

                    entryRow.Add("FOPERID", dt.Rows[i]["FOPERID"].ToString());

                    //创建与源单之间的关联关系,以支持上查与反写源单
                    entryRow.Add("FSrcBillTypeId", "PRD_PPBOM");
                    JArray linkRows      = new JArray();
                    string linkEntityKey = string.Format("{0}_Link", entityKey);
                    entryRow.Add(linkEntityKey, linkRows);
                    JObject linkRow = new JObject();
                    linkRows.Add(linkRow);

                    //FFlowId : 业务流程图,可选
                    string fldFlowIdKey = string.Format("{0}_FFlowId", linkEntityKey);
                    linkRow.Add(fldFlowIdKey, "");
                    //FFlowLineId :业务流程图路线,可选
                    string fldFlowLineIdKey = string.Format("{0}_FFlowLineId", linkEntityKey);
                    linkRow.Add(fldFlowLineIdKey, "");

                    string fldRuleIdKey = string.Format("{0}_FRuleId", linkEntityKey);
                    linkRow.Add(fldRuleIdKey, "PRD_PPBOM-PRD_PICKMTRL");
                    string fldSTableNameKey = string.Format("{0}_FSTableName", linkEntityKey);
                    linkRow.Add(fldSTableNameKey, "T_PRD_PPBOMENTRY");

                    string fldSBillIdKey = string.Format("{0}_FSBillId", linkEntityKey);
                    linkRow.Add(fldSBillIdKey, int.Parse(dt.Rows[i]["PPFID"].ToString()));
                    string fldSIdKey = string.Format("{0}_FSId", linkEntityKey);
                    linkRow.Add(fldSIdKey, int.Parse(dt.Rows[i]["PPFENTRYID"].ToString()));
                }
                //调用Web API接口服务,保存领料单
                strPMBillNO = client.Save("PRD_PickMtrl", jsonRoot.ToString());
                JObject jo = JObject.Parse(strPMBillNO);

                if (!jo["Result"]["ResponseStatus"]["IsSuccess"].Value <bool>())
                {
                    strPMBillNO = "[" + pBillNO + "]生成失败,错误:";
                    for (int i = 0; i < ((IList)jo["Result"]["ResponseStatus"]["Errors"]).Count; i++)
                    {
                        strMessTmep = jo["Result"]["ResponseStatus"]["Errors"][i]["Message"].Value <string>();
                        iStar       = jo["Result"]["ResponseStatus"]["Errors"][i]["Message"].Value <string>().IndexOf("第");
                        iEnd        = jo["Result"]["ResponseStatus"]["Errors"][i]["Message"].Value <string>().IndexOf("行字段");

                        if (iStar > 0)//获取出错物料编码
                        {
                            try
                            {
                                iIndex       = int.Parse(strMessTmep.Substring(iStar + 1, iEnd - iStar - 1)) - 1;
                                strMtlNumber = dt.Rows[iIndex]["FMATERIALID"].ToString();
                            }
                            catch { strMtlNumber = string.Empty; }
                        }
                        else
                        {
                            strMtlNumber = string.Empty;
                        }

                        strPMBillNO += strMessTmep + (strMtlNumber.Equals(string.Empty) ? "" : "[" + strMtlNumber + "]") + "\r\n";//保存不成功返错误信息
                    }
                    //strPMBillNO += jo["Result"]["ResponseStatus"]["Errors"][i]["Message"].Value<string>() + "\r\n";//保存不成功返错误信息
                }
                else
                {
                    strPMBillNO = jo["Result"]["Number"].Value <string>();//保存成功返回单据编号FBILLNO
                }
            }
            else
            {
                strPMBillNO = "ERP登录失败";
            }

            return(strPMBillNO);
        }
Esempio n. 22
0
        //提交
        public bool submit(K3CloudApiClient client)
        {
            string result = client.Submit(FormId, submitStr);

            return(judgeIsSuccess(result));
        }
Esempio n. 23
0
        public string APPtest(string parameter)
        {
            string  s         = System.Web.HttpContext.Current.Request.Form["Data"];
            JObject Jo        = (JObject)JsonConvert.DeserializeObject(s);
            string  DBID      = Jo["DBID"].ToString();
            string  UserName  = Jo["UserName"].ToString();
            string  PassWord  = Jo["PassWord"].ToString();
            string  BillId    = Jo["BillId"].ToString();
            string  WinOrLose = Jo["WinOrLose"].ToString();

            string           reason          = "";
            string           sContent        = "";
            IOperationResult operationResult = new OperationResult();

            Context ctx = getContext(UserName, PassWord, 2052, DBID, "http://localhost/K3Cloud/");

            K3CloudApiClient client = new K3CloudApiClient("http://localhost/K3Cloud/");
            var ret    = client.ValidateLogin(DBID, UserName, PassWord, 2052);
            var result = JObject.Parse(ret)["LoginResultType"].Value <int>();

            if (result == 1)//登录成功
            {
                if (WinOrLose.Equals("0"))
                {
                    operationResult = WinOPP(ctx, BillId);
                    reason          = operationResult.OperateResult[0].Message;
                }
                else if (WinOrLose.Equals("1"))
                {
                    operationResult = UnWinOPP(ctx, BillId);
                    reason          = operationResult.OperateResult[0].Message;
                }
                else if (WinOrLose.Equals("2"))
                {
                    operationResult = LoseOPP(ctx, BillId);
                    reason          = operationResult.OperateResult[0].Message;
                }
                else if (WinOrLose.Equals("3"))
                {
                    operationResult = UnLoseOPP(ctx, BillId);
                    reason          = operationResult.OperateResult[0].Message;
                }
            }
            else
            {
                reason = "登录失败";
            }
            if (reason.Equals(""))
            {
                reason = "未传入正确WinOrLose参数";
            }

            JObject jsonRoot       = new JObject();
            JObject Result         = new JObject();
            JObject ResponseStatus = new JObject();
            JArray  Errors         = new JArray();
            JObject basedata       = new JObject();


            basedata.Add("FieldName", "");
            Errors.Add(basedata);
            basedata = new JObject();
            basedata.Add("Message", reason);
            Errors.Add(basedata);
            basedata = new JObject();
            basedata.Add("DIndex", "0");
            Errors.Add(basedata);

            ResponseStatus.Add("IsSuccess", "true");
            ResponseStatus.Add("Errors", Errors);

            Result.Add("ResponseStatus", ResponseStatus);

            jsonRoot.Add("Result", Result);

            sContent = JsonConvert.SerializeObject(jsonRoot);


            return(sContent);
        }
Esempio n. 24
0
        /// <summary>
        /// 登录
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void UserLogin(object sender, EventArgs e)
        {
            bool   login = false;//登陆状态
            int    userId, departmentId;
            string RIDS, MIDS, departmentNumber, departmentName, phone, userName = ((TextBox)pl1.Controls.Find("txtUser", true)[0]).Text.Trim(), PWD = ((TextBox)pl1.Controls.Find("txtPWD", true)[0]).Text.Trim();

            if (string.IsNullOrEmpty(userName))
            {
                MessageBox.Show("用户名不能为空!", "错误提示");
                return;
            }

            if (string.IsNullOrEmpty(PWD))
            {
                MessageBox.Show("密码不能为空!", "错误提示");
                return;
            }

            #region 配置信息
            //K3Inf
            string C_ERPADDRESS, C_DBUSER, C_PWD, C_ZTID, C_ORCLADDRESS, C_USERNAME, C_PASSWORD;
            C_ERPADDRESS  = ConfigurationManager.AppSettings["K3_URL"];
            C_DBUSER      = ConfigurationManager.AppSettings["K3_User"];
            C_PWD         = DMData.Code.DataEncoder.DecryptData(ConfigurationManager.AppSettings["K3_Orcl_PWD"]);
            C_ZTID        = ConfigurationManager.AppSettings["K3_ZTID"];
            C_ORCLADDRESS = "Data Source=" + ConfigurationManager.AppSettings["K3_Orcl_IP"] + ";User Id=" + C_DBUSER + ";Password="******"K3_USERNAME"];
            C_PASSWORD    = DMData.Code.DataEncoder.DecryptData(ConfigurationManager.AppSettings["K3_PASSWORD"]);
            //SQLInf
            string IP, Port, UserName, Password, Catalog;
            IP       = ConfigurationManager.AppSettings["SQL_IP"];
            Port     = ConfigurationManager.AppSettings["SQL_Port"];
            UserName = ConfigurationManager.AppSettings["SQL_User"];
            Password = DMData.Code.DataEncoder.DecryptData(ConfigurationManager.AppSettings["SQL_PWD"]);
            Catalog  = ConfigurationManager.AppSettings["SQL_Catalog"];
            #endregion

            #region 调用服务方法验证用户登录
            K3CloudApiClient client = new K3CloudApiClient(C_ERPADDRESS);
            try
            {
                login = client.Login(C_ZTID, userName, PWD, 2052);
            }
            catch
            {
                MessageBox.Show("ERP链接失败", "网络链接错误");
                return;
            }

            if (!login)
            {
                MessageBox.Show("用户名或密码错误", "登录失败");
                return;
            }

            //数据库连接检验
            string strDBStatus = DALFactory.K3Cloud.DALCreator.CommFunction.ConnectionCheck_ORA(C_ORCLADDRESS);
            if (strDBStatus != "连接成功")
            {
                MessageBox.Show(strDBStatus);
                return;
            }
            #endregion

            #region 判断程序是否启用
            int iFlag = DALFactory.K3Cloud.DALCreator.CommFunction.ApplicationFlag(C_ORCLADDRESS, "ERPSupport.SupForm");
            switch (iFlag)
            {
            case -1:
            {
                MessageBox.Show("程序未注册,请联系管理员。");
                return;
            }

            case 0:
            {
                MessageBox.Show("程序未启用,请联系管理员。");
                return;
            }

            case 1:    //程序启用
            {
                break;
            }

            default:
            {
                MessageBox.Show("该程序已经下架。");
                return;
            }
            }
            #endregion

            #region 判断MAC是否已注册使用  -  未开发 <> Administrator
            #endregion

            #region 设置信息
            DataTable dtTempUser = DALFactory.K3Cloud.DALCreator.CommFunction.GetUserInfoByName(C_ORCLADDRESS, userName);

            if (dtTempUser == null || dtTempUser.Rows.Count == 0)
            {
                MessageBox.Show("用户不存在");
                return;
            }

            userId           = int.Parse(dtTempUser.Rows[0]["FUSERID"].ToString()); //获取登陆用户内码
            RIDS             = dtTempUser.Rows[0]["RIDS"].ToString();               //获取登陆用户角色ID
            MIDS             = dtTempUser.Rows[0]["MIDS"].ToString();               //获取登陆用户功能ID
            departmentId     = int.Parse(dtTempUser.Rows[0]["FDEPTID"].ToString()); //部门ID
            departmentNumber = dtTempUser.Rows[0]["FDEPTNUMBER"].ToString();        //部门编码
            departmentName   = dtTempUser.Rows[0]["FDEPTNAME"].ToString();          //部门名称
            phone            = dtTempUser.Rows[0]["FPHONE"].ToString();             //电话

            //全局参数
            new GlobalParameter(new K3Setting(C_ERPADDRESS, C_DBUSER, C_ZTID, C_USERNAME, C_PASSWORD, C_ORCLADDRESS, userId, userName, PWD, DateTime.Now, RIDS, MIDS, departmentId, departmentNumber, departmentName, phone), new SQLConfig(IP, Port, UserName, Password, Catalog));
            GlobalParameter.Tmp_Params          = ConfigurationManager.AppSettings["DIR_DirType"];
            GlobalParameter.IsJournal           = ConfigurationManager.AppSettings["GLO_IsJournal"] == "1" ? true : false;//是否记录操作日志
            GlobalParameter.Dir_DPQtyPZ         = int.Parse(ConfigurationManager.AppSettings["DIR_DPQtyPZ"]);
            GlobalParameter.Dir_MinQtyPZ        = int.Parse(ConfigurationManager.AppSettings["DIR_MinQtyPZ"]);
            GlobalParameter.Dir_CPDB_Department = ConfigurationManager.AppSettings["DIR_CPDB_Department"];
            GlobalParameter.Dir_CPDB_Stock      = ConfigurationManager.AppSettings["DIR_CPDB_Stock"];
            #endregion

            string IsRemember = chbRemenber.Checked ? "1" : "0";
            UserClass.AppConfig.WriteValue("LOG_Remember", IsRemember);
            if (chbRemenber.Checked)
            {
                UserClass.AppConfig.WriteValue("LOG_Users", userName);
                UserClass.AppConfig.WriteValue("LOG_Passwords", PWD);
            }
            else
            {
                UserClass.AppConfig.WriteValue("LOG_Users", "");
                UserClass.AppConfig.WriteValue("LOG_Passwords", "");
            }

            //主窗体
            frmMain fMain = new frmMain();
            try
            {
                Visible = false;
                fMain.ShowDialog();
            }
            catch (Exception ex)
            {
                Text = ex.Message;
            }
            finally
            {
                fMain.Dispose();
                if (fMain.DialogResult == DialogResult.None)//注销
                {
                    Visible = true;
                }
                else//退出
                {
                    Close();
                    Application.Exit();
                }
            }
        }
Esempio n. 25
0
        public static void InsertK3Bill(string strSalesOutBillCode, string strSalesInBillCode, string strOutBillDate, string strCustomerID,
                                        string strCarNum, string strItemID, decimal decTotalWeight, decimal decCarTare, decimal decSuttleWeight,
                                        decimal decPrice, decimal decAmount)
        {
            string str     = "the third is \"c\" ! ";
            string strJson = @"
{
    \""Creator\"": \""\"",
    \""NeedUpDateFields\"": [],
    \""NeedReturnFields\"": [],
    \""IsDeleteEntry\"": \""True\"",
    \""SubSystemId\"": \""\"",
    \""IsVerifyBaseDataField\"": \""false\"",
    \""IsEntryBatchFill\"": \""True\"",
    \""Model\"": {
        \""FID\"": \""0\"",
        \""FBillTypeID\"": {
            \""FNumber\"": \""XSCKD01_SYS\""
        },
        \""FBillNo\"": \""" + strSalesOutBillCode + @"\"",
        \""FDate\"": \""" + DateTime.Now.ToString("yyyy-MM-dd") + @"\"",
        \""FSaleOrgId\"": {
            \""FNumber\"": \""10\""
        },
        \""FCustomerID\"": {
            \""FNumber\"": \""1122-1\""
        },
        \""FStockOrgId\"": {
            \""FNumber\"": \""10\""
        },

        \""FNote\"": \""\"",
        \""FReceiverID\"": {
            \""FNumber\"": \""1122-1\""
        },
        \""FSettleID\"": {
            \""FNumber\"": \""1122-1\""
        },

        \""FPayerID\"": {
            \""FNumber\"": \""1122-1\""
        },
        \""FOwnerTypeIdHead\"": \""BD_OwnerOrg\"",
        \""FOwnerIdHead\"": {
            \""FNumber\"": \""\""
        },
        \""FCDateOffsetValue\"": 0,
        \""FIsTotalServiceOrCost\"": false,
        \""F_PAEZ_CCNum\"": \""" + strSalesInBillCode + @"\"",
        \""F_PAEZ_RCNum\"": \""" + strSalesOutBillCode + @"\"",
        \""SubHeadEntity\"": {
            \""FSettleCurrID\"": {
                \""FNumber\"": \""PRE001\""
            },
            \""FThirdBillNo\"": \""\"",
            \""FThirdBillId\"": \""\"",
            \""FThirdSrcType\"": \"" \"",
            \""FSettleOrgID\"": {
                \""FNumber\"": \""10\""
            },
            \""FSettleTypeID\"": {
                \""FNumber\"": \""\""
            },
            \""FReceiptConditionID\"": {
                \""FNumber\"": \""\""
            },
            \""FPriceListId\"": {
                \""FNumber\"": \""\""
            },
            \""FDiscountListId\"": {
                \""FNumber\"": \""\""
            },
            \""FIsIncludedTax\"": true,
            \""FLocalCurrID\"": {
                \""FNumber\"": \""PRE001\""
            },
            \""FExchangeTypeID\"": {
                \""FNumber\"": \""HLTX01_SYS\""
            },
            \""FExchangeRate\"": 1,
            \""FIsPriceExcludeTax\"": true
        },
        \""FEntity\"": [
            {
                \""FENTRYID\"": 0,
                \""FRowType\"": \""Standard\"",
                \""FMaterialID\"": {
                    \""FNumber\"": \""2.01.0001.0001\""
                },
                \""FUnitID\"": {
                    \""FNumber\"": \""ton\""
                },
                \""FInventoryQty\"": 0,
                \""FParentMatId\"": {
                    \""FNumber\"": \""\""
                },
                \""FRealQty\"": 1,
                \""FDisPriceQty\"": 0,
                \""FPrice\"": " + decPrice + @",
                \""FTaxPrice\"": 0,
                \""FIsFree\"": false,
                \""FBomID\"": {
                    \""FNumber\"": \""\""
                },
                \""FProduceDate\"": null,
                \""FOwnerTypeID\"": \""BD_OwnerOrg\"",
                \""FOwnerID\"": {
                    \""FNumber\"": \""10\""
                },
                \""FEntryTaxRate\"": 17,
                \""FAuxUnitQty\"": 0,
                \""FExtAuxUnitId\"": {
                    \""FNumber\"": \""\""
                },
                \""FExtAuxUnitQty\"": 0,
                \""FStockID\"": {
                    \""FNumber\"": \""10-CK100\""
                },
                \""FStockStatusID\"": {
                    \""FNumber\"": \""KCZT01_SYS\""
                },
                \""FQualifyType\"": \""\"",
                \""FMtoNo\"": null,
                \""FEntrynote\"": null,
                \""FDiscountRate\"": 0,
                \""FActQty\"": 0,
                \""FSalUnitID\"": {
                    \""FNumber\"": \""ton\""
                },
                \""FSALUNITQTY\"": " + decSuttleWeight + @",
                \""FSALBASEQTY\"": " + decSuttleWeight + @",
                \""FPRICEBASEQTY\"": " + decSuttleWeight + @",
                \""FOUTCONTROL\"": false,
                \""FARNOTJOINQTY\"": " + decSuttleWeight + @",
                \""FQmEntryID\"": 0,
                \""FConvertEntryID\"": 0,
                \""FSOEntryId\"": 0,
                \""F_PAEZ_CheHao\"": \""" + strCarNum + @"\"",
                \""F_PAEZ_Qty\"": " + decTotalWeight + @",
                \""FThirdEntryId\"": null,
                \""F_PAEZ_PiZhong\"": " + decCarTare + @",
                \""F_PAEZ_JingZHong\"": " + decSuttleWeight + @",
                \""FBeforeDisPriceQty\"": 0,
                \""F_PAEZ_JingZhongDun\"": " + (decSuttleWeight / 1000) + @",
                \""F_PAEZ_ShiJie\"": 0,
                \""F_PAEZ_YunFei\"": 0,
                \""FSignQty\"": 0,
                \""F_PAEZ_ShuiJin\"": 0,
                \""F_PAEZ_YongJin\"": 0,
                \""F_PAEZ_SKFangShi\"": \""预付\""
            }
        ]
    }
}";
            //K3CloudApiClient client = new K3CloudApiClient("http://jr1099.ik3cloud.com/K3Cloud/");//正式地址
            K3CloudApiClient client = new K3CloudApiClient("http://jr1099.test.ik3cloud.com/K3cloud/");//测试地址
            var ret    = client.ValidateLogin("20180424162627", "005", "jr1099!@", 2052);
            var result = JObject.Parse(ret)["LoginResultType"].Value <int>();

            // 登陆成功
            if (result == 1)
            {
                strJson = strJson.Replace("\r\n", "").Replace(" ", "").Replace("\\", "");
                var    test   = JObject.Parse(strJson);
                string strOut = client.Save("SAL_OUTSTOCK", strJson);
                //throw new Exception(strOut);
            }
            else
            {
            }
        }
Esempio n. 26
0
        public string APPtest(string parameter)
        {
            string  s             = System.Web.HttpContext.Current.Request.Form["Data"];
            JObject Jo            = (JObject)JsonConvert.DeserializeObject(s);
            string  DBID          = Jo["DBID"].ToString();
            string  UserName      = Jo["UserName"].ToString();
            string  PassWord      = Jo["PassWord"].ToString();
            string  Fobjecttypeid = Jo["Fobjecttypeid"].ToString();
            string  Fkeyvalue     = Jo["Fkeyvalue"].ToString();
            string  isApprove     = Jo["isApprove"].ToString();
            string  disposition   = Jo["disposition"].ToString();
            string  actionName    = "打回发起人";

            string reason   = "";
            string sContent = "";

            Context ctx = getContext(UserName, PassWord, 2052, DBID, "http://localhost/K3Cloud/");

            K3CloudApiClient client = new K3CloudApiClient("http://localhost/K3Cloud/");
            var ret    = client.ValidateLogin(DBID, UserName, PassWord, 2052);
            var result = JObject.Parse(ret)["LoginResultType"].Value <int>();

            if (result == 1)//登录成功
            {
                if (isApprove.Equals("0"))
                {
                    reason = ApproveBill(ctx, Fobjecttypeid, Fkeyvalue, UserName, disposition);
                }
                else if (isApprove.Equals("1"))
                {
                    reason = RejectBill(ctx, Fobjecttypeid, Fkeyvalue, UserName, disposition, false, actionName);
                }
            }
            else
            {
                reason = "登录失败";
            }
            if (reason.Equals(""))
            {
                JObject jsonRoot       = new JObject();
                JObject Result         = new JObject();
                JObject ResponseStatus = new JObject();
                JArray  Errors         = new JArray();
                JObject basedata       = new JObject();


                basedata.Add("FieldName", "");
                Errors.Add(basedata);
                basedata = new JObject();
                basedata.Add("Message", reason);
                Errors.Add(basedata);
                basedata = new JObject();
                basedata.Add("DIndex", "0");
                Errors.Add(basedata);

                ResponseStatus.Add("IsSuccess", "true");
                ResponseStatus.Add("Errors", Errors);

                Result.Add("ResponseStatus", ResponseStatus);

                jsonRoot.Add("Result", Result);

                sContent = JsonConvert.SerializeObject(jsonRoot);
            }
            else
            {
                JObject jsonRoot       = new JObject();
                JObject Result         = new JObject();
                JObject ResponseStatus = new JObject();
                JArray  Errors         = new JArray();
                JObject basedata       = new JObject();


                basedata.Add("FieldName", "");
                Errors.Add(basedata);
                basedata = new JObject();
                basedata.Add("Message", reason);
                Errors.Add(basedata);
                basedata = new JObject();
                basedata.Add("DIndex", "0");
                Errors.Add(basedata);

                ResponseStatus.Add("IsSuccess", "false");
                ResponseStatus.Add("Errors", Errors);

                Result.Add("ResponseStatus", ResponseStatus);

                jsonRoot.Add("Result", Result);

                sContent = JsonConvert.SerializeObject(jsonRoot);
            }

            return(sContent);
        }
        public string APPtest([FromBody] JObject parameter)
        {
            string  s           = System.Web.HttpContext.Current.Request.Form["Data"];
            JObject Jo          = (JObject)JsonConvert.DeserializeObject(s);
            string  DBID        = Jo["DBID"].ToString();
            string  UserName    = Jo["UserName"].ToString();
            string  PassWord    = Jo["PassWord"].ToString();
            string  SearchType  = Jo["SearchType"].ToString();
            string  FRECEIVERID = Jo["FRECEIVERID"].ToString();

            string sContent = "";

            JObject jsonRoot = new JObject();
            JObject basedata = new JObject();

            Context ctx = getContext(UserName, PassWord, 2052, DBID, "http://localhost/K3Cloud/");

            K3CloudApiClient client = new K3CloudApiClient("http://localhost/K3Cloud/");
            var ret    = client.ValidateLogin(DBID, UserName, PassWord, 2052);
            var result = JObject.Parse(ret)["LoginResultType"].Value <int>();

            if (result == 1)//登录成功
            {
                if (SearchType.Equals("0"))
                {
                    string strSql = string.Format(@"/*dialect*/SELECT t_WF_PiBiMap.FPROCINSTID,
	   t_WF_PiBiMap.FKEYVALUE,t_WF_PiBiMap.FOBJECTTYPEID,
	   T_SEC_USER1.FNAME,t_WF_Receiver.FTITLE,
	   t_WF_ApprovalAssign.FDEALTIME,T_WF_PROCDEF_L.FDISPLAYNAME   
  FROM t_WF_PiBiMap 
INNER JOIN t_WF_ProcInst ON (t_WF_ProcInst.FProcInstId = t_WF_PiBiMap.FProcInstId)
INNER JOIN t_WF_ActInst on (t_WF_ActInst.FProcInstId = t_WF_ProcInst.FProcInstId)
INNER JOIN t_WF_Assign on (t_WF_Assign.FActInstId = t_WF_ActInst.FActInstId)
INNER JOIN t_WF_Receiver on (t_WF_Receiver.FAssignId = t_WF_Assign.FAssignId)
INNER JOIN t_SEC_User ON (t_SEC_User.FUserId = t_WF_Receiver.FReceiverId)
INNER JOIN t_WF_ApprovalAssign on (t_WF_Assign.FAssignId = t_WF_ApprovalAssign.FAssignId)
  LEFT JOIN t_WF_ApprovalItem on (t_WF_ApprovalItem.FApprovalAssignId = t_WF_ApprovalAssign.FApprovalAssignId 
                                  AND t_WF_ApprovalItem.FReceiverId = t_WF_Receiver.FReceiverId)
left join T_SEC_USER T_SEC_USER1 on T_SEC_USER1.FUSERID=t_WF_ProcInst.FORIGINATORID 
left join T_WF_PROCDEF_L on T_WF_PROCDEF_L.FPROCDEFID=t_WF_ProcInst.FPROCDEFID
								  where t_WF_Assign.FSTATUS=0 and  t_WF_Receiver.FReceiverId='{0}'"                                , FRECEIVERID);
                    DynamicObjectCollection items = DBUtils.ExecuteDynamicObject(ctx, strSql);
                    for (int i = 0; i < items.Count(); i++)
                    {
                        basedata = new JObject();
                        basedata.Add("FPROCINSTID", Convert.ToString(items[i]["FPROCINSTID"]));
                        basedata.Add("FKEYVALUE", Convert.ToString(items[i]["FKEYVALUE"]));
                        basedata.Add("FOBJECTTYPEID", Convert.ToString(items[i]["FOBJECTTYPEID"]));
                        basedata.Add("FNAME", Convert.ToString(items[i]["FNAME"]));
                        basedata.Add("FTITLE", Convert.ToString(items[i]["FTITLE"]));
                        basedata.Add("FDEALTIME", Convert.ToString(items[i]["FDEALTIME"]));
                        basedata.Add("FDISPLAYNAME", Convert.ToString(items[i]["FDISPLAYNAME"]));
                        jsonRoot.Add(Convert.ToString(i), basedata);
                    }
                }
                if (SearchType.Equals("1"))
                {
                    string strSql = string.Format(@"/*dialect*/select T_BAS_WARNMERGEMESSAGE.FSTATUS,t_SEC_User.FNAME,
T_BAS_WARNMERGEMESSAGE.FMERGETITLE,T_BAS_WARNMERGEMESSAGE.FCREATETIME 
from T_BAS_WARNMERGEMESSAGE 
left join t_SEC_User ON t_SEC_User.FUserId = T_BAS_WARNMERGEMESSAGE.FSENDERID
 where FRECEIVERID='{0}'", FRECEIVERID);
                    DynamicObjectCollection items = DBUtils.ExecuteDynamicObject(ctx, strSql);
                    for (int i = 0; i < items.Count(); i++)
                    {
                        basedata = new JObject();
                        basedata.Add("FSTATUS", Convert.ToString(items[i]["FSTATUS"]));
                        basedata.Add("FNAME", Convert.ToString(items[i]["FNAME"]));
                        basedata.Add("FMERGETITLE", Convert.ToString(items[i]["FMERGETITLE"]));
                        basedata.Add("FCREATETIME", Convert.ToString(items[i]["FCREATETIME"]));
                        jsonRoot.Add(Convert.ToString(i), basedata);
                    }
                }
                if (SearchType.Equals("2"))
                {
                    string strSql = string.Format(@"/*dialect*/select T_WF_MESSAGE.FSTATUS,t_SEC_User.FNAME,
T_META_OBJECTTYPE_L.FNAME OBJECTNAME,T_WF_MESSAGE.FTITLE,T_WF_MESSAGE.FCREATETIME
 from T_WF_MESSAGE
left join t_SEC_User ON t_SEC_User.FUserId = T_WF_MESSAGE.FSENDERID
left join T_META_OBJECTTYPE_L on T_WF_MESSAGE.FOBJECTTYPEID=T_META_OBJECTTYPE_L.FID and T_META_OBJECTTYPE_L.FLOCALEID='2052'
 where T_WF_MESSAGE.FTYPE=0 and FRECEIVERID='{0}'", FRECEIVERID);
                    DynamicObjectCollection items = DBUtils.ExecuteDynamicObject(ctx, strSql);

                    for (int i = 0; i < items.Count(); i++)
                    {
                        basedata = new JObject();
                        basedata.Add("FSTATUS", Convert.ToString(items[i]["FSTATUS"]));
                        basedata.Add("FNAME", Convert.ToString(items[i]["FNAME"]));
                        basedata.Add("OBJECTNAME", Convert.ToString(items[i]["OBJECTNAME"]));
                        basedata.Add("FTITLE", Convert.ToString(items[i]["FTITLE"]));
                        basedata.Add("FCREATETIME", Convert.ToString(items[i]["FCREATETIME"]));
                        jsonRoot.Add(Convert.ToString(i), basedata);
                    }
                }
                if (SearchType.Equals("3"))
                {
                    string strSql = string.Format(@"/*dialect*/SELECT t_WF_PiBiMap.FPROCINSTID,
	   t_WF_PiBiMap.FKEYVALUE,t_WF_PiBiMap.FOBJECTTYPEID,
	   T_SEC_USER1.FNAME,t_WF_Receiver.FTITLE,
	   t_WF_ApprovalAssign.FDEALTIME,T_WF_PROCDEF_L.FDISPLAYNAME   
  FROM t_WF_PiBiMap 
INNER JOIN t_WF_ProcInst ON (t_WF_ProcInst.FProcInstId = t_WF_PiBiMap.FProcInstId)
INNER JOIN t_WF_ActInst on (t_WF_ActInst.FProcInstId = t_WF_ProcInst.FProcInstId)
INNER JOIN t_WF_Assign on (t_WF_Assign.FActInstId = t_WF_ActInst.FActInstId)
INNER JOIN t_WF_Receiver on (t_WF_Receiver.FAssignId = t_WF_Assign.FAssignId)
INNER JOIN t_SEC_User ON (t_SEC_User.FUserId = t_WF_Receiver.FReceiverId)
INNER JOIN t_WF_ApprovalAssign on (t_WF_Assign.FAssignId = t_WF_ApprovalAssign.FAssignId)
  LEFT JOIN t_WF_ApprovalItem on (t_WF_ApprovalItem.FApprovalAssignId = t_WF_ApprovalAssign.FApprovalAssignId 
                                  AND t_WF_ApprovalItem.FReceiverId = t_WF_Receiver.FReceiverId)
left join T_SEC_USER T_SEC_USER1 on T_SEC_USER1.FUSERID=t_WF_ProcInst.FORIGINATORID 
left join T_WF_PROCDEF_L on T_WF_PROCDEF_L.FPROCDEFID=t_WF_ProcInst.FPROCDEFID
								  where t_WF_Assign.FSTATUS=0 and  t_WF_Receiver.FReceiverId='{0}'"                                , FRECEIVERID);
                    DynamicObjectCollection items0 = DBUtils.ExecuteDynamicObject(ctx, strSql);
                    strSql = string.Format(@"/*dialect*/select T_BAS_WARNMERGEMESSAGE.FSTATUS,t_SEC_User.FNAME,
T_BAS_WARNMERGEMESSAGE.FMERGETITLE,T_BAS_WARNMERGEMESSAGE.FCREATETIME 
from T_BAS_WARNMERGEMESSAGE 
left join t_SEC_User ON t_SEC_User.FUserId = T_BAS_WARNMERGEMESSAGE.FSENDERID
 where T_BAS_WARNMERGEMESSAGE.FSTATUS=0 and  FRECEIVERID='{0}'", FRECEIVERID);
                    DynamicObjectCollection items1 = DBUtils.ExecuteDynamicObject(ctx, strSql);
                    strSql = string.Format(@"/*dialect*/select T_WF_MESSAGE.FSTATUS,t_SEC_User.FNAME,
T_META_OBJECTTYPE_L.FNAME OBJECTNAME,T_WF_MESSAGE.FTITLE,T_WF_MESSAGE.FCREATETIME
 from T_WF_MESSAGE
left join t_SEC_User ON t_SEC_User.FUserId = T_WF_MESSAGE.FSENDERID
left join T_META_OBJECTTYPE_L on T_WF_MESSAGE.FOBJECTTYPEID=T_META_OBJECTTYPE_L.FID and T_META_OBJECTTYPE_L.FLOCALEID='2052'
 where T_WF_MESSAGE.FTYPE=0 and T_WF_MESSAGE.FSTATUS=0 and FRECEIVERID='{0}'", FRECEIVERID);
                    DynamicObjectCollection items2 = DBUtils.ExecuteDynamicObject(ctx, strSql);

                    basedata = new JObject();
                    basedata.Add("count0", Convert.ToString(items0.Count()));
                    basedata.Add("count1", Convert.ToString(items1.Count()));
                    basedata.Add("count2", Convert.ToString(items2.Count()));

                    jsonRoot.Add("result", basedata);
                }
            }
            else
            {
            }



            sContent = JsonConvert.SerializeObject(jsonRoot);



            return(sContent);
        }
Esempio n. 28
0
        public string APPtest(string parameter)
        {
            string  s          = System.Web.HttpContext.Current.Request.Form["Data"];
            JObject Jo         = (JObject)JsonConvert.DeserializeObject(s);
            string  DBID       = Jo["DBID"].ToString();
            string  UserName   = Jo["UserName"].ToString();
            string  PassWord   = Jo["PassWord"].ToString();
            string  SearchType = Jo["SearchType"].ToString();
            string  PersonId   = Jo["PersonId"].ToString();

            string sContent = "";

            JObject jsonRoot = new JObject();
            JArray  Arr      = new JArray();
            JObject basedata = new JObject();

            KEEPER.K3.App.CRMService crm = new KEEPER.K3.App.CRMService();
            List <long> ids = new List <long>();

            Context ctx = getContext(UserName, PassWord, 2052, DBID, "http://localhost/K3Cloud/");

            K3CloudApiClient client = new K3CloudApiClient("http://localhost/K3Cloud/");
            var ret    = client.ValidateLogin(DBID, UserName, PassWord, 2052);
            var result = JObject.Parse(ret)["LoginResultType"].Value <int>();

            if (result == 1)//登录成功
            {
                if (SearchType.Equals("0"))
                {
                    ids = crm.getSalerPersonids(ctx, Convert.ToInt64(PersonId));
                    jsonRoot.Add("IsSuccess", "true");
                    jsonRoot.Add("Reason", "");
                }
                else if (SearchType.Equals("1"))
                {
                    ids = crm.getProjectIds(ctx, Convert.ToInt64(PersonId));
                    jsonRoot.Add("IsSuccess", "true");
                    jsonRoot.Add("Reason", "");
                }
                else
                {
                    jsonRoot.Add("IsSuccess", "false");
                    jsonRoot.Add("Reason", "请传入正确的参数");
                }
            }
            else
            {
                jsonRoot.Add("IsSuccess", "false");
                jsonRoot.Add("Reason", "登录失败");
            }
            if (ids != null)
            {
                Arr.Add(ids.ToArray());
            }

            jsonRoot.Add("Ids", Arr);

            sContent = JsonConvert.SerializeObject(jsonRoot);

            return(sContent);
        }