public class K3CloudWebApi { #region 表单保存、提交、审核 /// <summary> /// 验证登陆 /// </summary> /// <param name="context"></param> /// <param name="DBCenterID"></param> /// <param name="F_AT_ServiceSettings"></param> /// <param name="F_AT_USERNAME"></param> /// <param name="F_AT_Password"></param> /// <returns></returns> public static KeyValuePair<bool, K3CloudApiClient> ValidateLogin(Context context, string DBCenterID, string F_AT_ServiceSettings, string F_AT_USERNAME, string F_AT_Password) { F_AT_ServiceSettings = F_AT_ServiceSettings + "/"; K3CloudApiClient client = new K3CloudApiClient(F_AT_ServiceSettings); var ret = client.ValidateLogin(DBCenterID, F_AT_USERNAME, F_AT_Password, 2052); var result = JObject.Parse(ret)["LoginResultType"].Value<int>(); if (result == 1) { return new KeyValuePair<bool, K3CloudApiClient>(true, client); } return new KeyValuePair<bool, K3CloudApiClient>(false, null); } /// <summary> /// 保存 /// </summary> /// <param name="client"></param> /// <param name="formId"></param> /// <param name="Entity"></param> /// <returns></returns> public static KeyValuePair<bool, string> FormSave<T>(K3CloudApiClient client, string formId, RequestBase<T> Entity) { var ret1 = client.Save(formId, JsonConvert.SerializeObject(Entity)); var result1 = JsonConvert.DeserializeObject<K3CloudResponse>(ret1); if (!result1.Result.ResponseStatus.IsSuccess) { string errMsg = "保存失败原因:"; foreach (var error in result1.Result.ResponseStatus.Errors) { errMsg += error.Message + ";"; } return new KeyValuePair<bool, string>(false, errMsg + " "); } else { string Number = ""; foreach (var entity in result1.Result.ResponseStatus.SuccessEntitys) { Number += entity.Number + ","; } return new KeyValuePair<bool, string>(true, Number.Trim(',')); } } /// <summary> /// 提交 /// </summary> /// <param name="client"></param> /// <param name="formId"></param> /// <param name="Numbers"></param> /// <returns></returns> public static KeyValuePair<bool, string> FormSubmit(K3CloudApiClient client, string formId, string[] Numbers) { //提交 var submitDate = new { CreateOrgId = 0, Numbers = Numbers, Ids = "", SelectedPostId = 0 }; var ret1 = client.Submit(formId, JsonConvert.SerializeObject(submitDate)); var result1 = JsonConvert.DeserializeObject<K3CloudResponse>(ret1); if (!result1.Result.ResponseStatus.IsSuccess) { string errMsg = "提交失败原因:"; foreach (var error in result1.Result.ResponseStatus.Errors) { errMsg += error.Message + ";"; } return new KeyValuePair<bool, string>(false, errMsg + " "); } else { string Number = ""; foreach (var entity in result1.Result.ResponseStatus.SuccessEntitys) { Number += entity.Number + ","; } return new KeyValuePair<bool, string>(true, Number.Trim(',')); } } /// <summary> /// 审核 /// </summary> /// <param name="client"></param> /// <param name="formId"></param> /// <param name="Numbers"></param> /// <returns></returns> public static KeyValuePair<bool, string> FormAudit(K3CloudApiClient client, string formId, string[] Numbers) { //审核 var auditDate = new { CreateOrgId = 0, Numbers = Numbers, Ids = "", InterationFlags = "" }; var ret1 = client.Audit(formId, JsonConvert.SerializeObject(auditDate)); var result1 = JsonConvert.DeserializeObject<K3CloudResponse>(ret1); if (!result1.Result.ResponseStatus.IsSuccess) { string errMsg = "审核失败原因:"; foreach (var error in result1.Result.ResponseStatus.Errors) { errMsg += error.Message + ";"; } return new KeyValuePair<bool, string>(false, errMsg + " "); } else { string Number = ""; foreach (var entity in result1.Result.ResponseStatus.SuccessEntitys) { Number += entity.Number + ","; } return new KeyValuePair<bool, string>(true, Number.Trim(',')); } } #endregion #region 查询 public static KeyValuePair<bool, List<List<object>>> ExecuteBillQuery(K3CloudApiClient client, string formId, string FieldKeys, string FilterString) { //查询 var date = new { FormId = formId, FieldKeys = FieldKeys,//"FID,FBILLNO,FEntity_FENTRYID,FEntity_FSeq,FMaterialID,FMaterialName,FMaterialID.FName,FMaterialID.FStockId", FilterString = FilterString,//"FBILLNO = 'XSCKD000001'", OrderString = "", TopRowCount = 0, StartRow = 0, Limit = 0 }; var result1 = client.ExecuteBillQuery(JsonConvert.SerializeObject(date)); if (result1.Any()) { return new KeyValuePair<bool, List<List<object>>>(true, result1); } return new KeyValuePair<bool, List<List<object>>>(false, null); } #endregion /// <summary> /// 新增--销售订单 /// </summary> /// <param name="client"></param> /// <param name="Entity"></param> /// <returns></returns> public static KeyValuePair<bool, string> InsertSalOrder(K3CloudApiClient client, RequestBase<SALORDER> Entity) { return FormSave(client, "SAL_SaleOrder", Entity); } /// <summary> /// 新增--客户 /// </summary> /// <param name="client"></param> /// <param name="Entity"></param> /// <returns></returns> public static KeyValuePair<bool, string> InsertSalCust(K3CloudApiClient client, RequestBase<BD_Customer> Entity) { var saveResult = FormSave(client, "BD_Customer", Entity); if (saveResult.Key) { string[] Numbers = { saveResult.Value }; var submitResult = FormSubmit(client, "BD_Customer", Numbers); if (submitResult.Key) { return FormAudit(client, "BD_Customer", Numbers); } return new KeyValuePair<bool, string>(false, submitResult.Value); } return new KeyValuePair<bool, string>(false, saveResult.Value); } /// <summary> /// 新增--计量单位 /// </summary> /// <param name="client"></param> /// <param name="Entity"></param> /// <returns></returns> public static KeyValuePair<bool, string> InsertSalUnit(K3CloudApiClient client, RequestBase<BD_UNIT> Entity) { var saveResult = FormSave(client, "BD_UNIT", Entity); if (saveResult.Key) { string[] Numbers = { saveResult.Value }; var submitResult = FormSubmit(client, "BD_UNIT", Numbers); if (submitResult.Key) { return FormAudit(client, "BD_UNIT", Numbers); } return new KeyValuePair<bool, string>(false, submitResult.Value); } return new KeyValuePair<bool, string>(false, saveResult.Value); } /// <summary> /// 新增--物料 /// </summary> /// <param name="client"></param> /// <param name="Entity"></param> /// <returns></returns> public static KeyValuePair<bool, string> InsertSalMaterial(K3CloudApiClient client, RequestBase<BD_MATERIAL> Entity) { var saveResult = FormSave(client, "BD_MATERIAL", Entity); if (saveResult.Key) { string[] Numbers = { saveResult.Value }; var submitResult = FormSubmit(client, "BD_MATERIAL", Numbers); if (submitResult.Key) { return FormAudit(client, "BD_MATERIAL", Numbers); } return new KeyValuePair<bool, string>(false, submitResult.Value); } return new KeyValuePair<bool, string>(false, saveResult.Value); } /// <summary> /// 新增--职员 /// </summary> /// <param name="client"></param> /// <param name="Entity"></param> /// <returns></returns> public static KeyValuePair<bool, string> InsertEmployee(K3CloudApiClient client, RequestBase<HR_EMPINFO> Entity) { var saveResult = FormSave(client, "HR_EMPINFO" ,Entity); if (saveResult.Key) { string[] Numbers = { saveResult.Value }; var submitResult = FormSubmit(client, "HR_EMPINFO", Numbers); if (submitResult.Key) { return FormAudit(client, "HR_EMPINFO", Numbers); } return new KeyValuePair<bool, string>(false, submitResult.Value); } return new KeyValuePair<bool, string>(false, saveResult.Value); } /// <summary> /// 新增--供应商 /// </summary> /// <param name="client"></param> /// <param name="Entity"></param> /// <returns></returns> public static KeyValuePair<bool, string> InsertSupplier(K3CloudApiClient client, RequestBase<BD_SUPPLIER> Entity) { var saveResult = FormSave(client, "BD_SUPPLIER",Entity); if (saveResult.Key) { string[] Numbers = { saveResult.Value }; var submitResult = FormSubmit(client, "BD_SUPPLIER", Numbers); if (submitResult.Key) { return FormAudit(client, "BD_SUPPLIER", Numbers); } return new KeyValuePair<bool, string>(false, submitResult.Value); } return new KeyValuePair<bool, string>(false, saveResult.Value); } }