/// <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); }
/// <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); }
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); }
/// <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); }
/// <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); } }
/// <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); }
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); }
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(); }
public override string transform() { string result = "审核操作结果:"; K3CloudApiClient client = getOperateClient(); result += client.Audit(formId, targetJson); return(result); }
//保存 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); }
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(); }
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); }
/// </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")); } }
/// <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); } }
//审核 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); }
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); }
//其实我不想加注释的, 这段写的实在是估计以后我自己也看不懂,所以还是加上吧 //通过传入的参数 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); } }
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); }
/// <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); }
/// <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); }
//提交 public bool submit(K3CloudApiClient client) { string result = client.Submit(FormId, submitStr); return(judgeIsSuccess(result)); }
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); }
/// <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(); } } }
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 { } }
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); }
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); }