123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745 |
- using ConsoleApp1.Controller.Sql_controller;
- using ConsoleApp1.Controller.Ykb_API;
- using ConsoleApp1.Model;
- using H3.BizBus;
- using Newtonsoft.Json;
- using Newtonsoft.Json.Linq;
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace ConsoleApp1.Controller.CY_API
- {
- /// <summary>
- /// NC同步基础资料到氚云
- /// </summary>
- public class CY_NC_Api
- {
- //private Ding_YP_Public ding_YP_Public = new Ding_YP_Public();
- private Ykb_APIServer ykb_API = new Ykb_APIServer();
- public void NC_CY()
- {
- string ykbToken = ykb_API.dttoken();
- string dates = (DateTime.Now.AddDays(-5)).ToString("yyyy-MM-dd"); //获取当前年月日
- //string dates = "2021-02-22";
- IBDdocQuer.BDdocQueyPortTypeClient cs = new IBDdocQuer.BDdocQueyPortTypeClient();
- //string css1 = CY_API_Server.LoadBizObjects("LoadBizObjects", "D116604ab3e5ca3a3f944b2bb2db76b67780a2a", this.Filter("张涛"));
- int i = 0, j = 0; string mun = "", codes = null;
- #region NC 业务单元
- do
- {
- i = i + 1;
- var json = cs.bdDocQuey("{\"data\": {\"billfalg\": \"业务单元\",\"currentPage\":" + i + ",\"linesize\":\"200\",\"creationtime\":\"creationtime >= '" + dates + "'\"}}");//,\"code\":\"G00070\",\"ts\": \"ts>='"+ dates + "'\,\"ts\": \"ts\">='2021-02-22'\",\"currentPage\":" + i + ",\"linesize\":\"200\", ,\"ts\":\"ts >= '" + dates + "'\"
- JObject ResultJson = JsonConvert.DeserializeObject<JObject>(json.ToString());
- mun = ResultJson["msg"].ToString();
- if (ResultJson["code"].ToString() == "Y")
- {
- foreach (var item in ResultJson["returndata"])
- {
- ///调用查询方法判断该表中是否存在该条Code的值
- string css = CY_API_Server.LoadBizObjects("LoadBizObjects", "D116604Szkzflihsy7yhpiqs3v99ysio4", this.Filter(item["code"].ToString()));
- JObject jObject = JsonConvert.DeserializeObject<JObject>(css);
- if (jObject["Successful"].ToString().ToLower() == "true" && !string.IsNullOrEmpty(jObject["ReturnData"].ToString())) //表示已经存在
- {
- //ykb_API.InsertDAN(ykbToken, item["code"].ToString(), "gCEbY44UmM4Q00:法人实体", item["name"].ToString());
- string setData = ykb_API.setDAN(ykbToken, item["code"].ToString());
- int man = Convert.ToInt32(setData);
- if (man < 1)
- {
- ykb_API.InsertDAN(ykbToken, item["name"].ToString(), "gCEbY44UmM4Q00:法人实体", item["code"].ToString());
- }
- DataTable dt1 = BizObjectId(jObject);
- dt1.PrimaryKey = new DataColumn[] { dt1.Columns["Code"] };
- DataRow rows = dt1.Rows.Find(item["code"]);
- string ObjectId = string.Format(rows["ObjectId"].ToString());
- BusinessUnit businessUnit = new BusinessUnit()
- {
- F0000001 = item["code"].ToString(),
- F0000002 = item["name"].ToString()
- };
- Dictionary<string, string> dic = new Dictionary<string, string>();
- dic.Add("BizObject", JsonConvert.SerializeObject(businessUnit));
- //调用修改方法进行修改
- CY_API_Server.UpdateBizObject("UpdateBizObject", "D116604Szkzflihsy7yhpiqs3v99ysio4", ObjectId, dic);
- }
- else
- {
- string setData = ykb_API.setDAN(ykbToken, item["code"].ToString());
- int man = Convert.ToInt32(setData);
- if (man < 1)
- {
- ykb_API.InsertDAN(ykbToken, item["name"].ToString(), "gCEbY44UmM4Q00:法人实体", item["code"].ToString());
- }
- //氚云接口(1.需要实体类 2.数据集合 3.IsSubmit)
- BusinessUnit businessUnit = new BusinessUnit()
- {
- F0000001 = item["code"].ToString(),
- F0000002 = item["name"].ToString()
- };
- Dictionary<string, string> dic = new Dictionary<string, string>();
- dic.Add("BizObject", JsonConvert.SerializeObject(businessUnit));
- dic.Add("SchemaCode", "D116604Szkzflihsy7yhpiqs3v99ysio4");
- dic.Add("IsSubmit", "true");
- bool success = false;
- ///新增方法
- CY_API_Server.H3YunApi("CreateBizObject", dic, out success);
- if (success)
- {
- j++;
- codes += "&" + item["code"].ToString();
- }
- else
- {
- //_Controller.Synchronous_Log("氚云同步失败", "错误原因:氚云错误!");
- }
- }
- }
- if (j > 0)
- {
- //ding_YP_Public.send_to_conversation(null, "text", "业务单元新增" + j + "条数据,数据为:" + codes, false, "1951251420023804");
- }
- Sql_Controller.Synchronous_Log("业务单元同步成功","0", "成功信息:" + ResultJson["msg"].ToString());
- }
- else
- {
- Sql_Controller.Synchronous_Log("业务单元同步失败","1", "错误原因:" + ResultJson["msg"].ToString());
- }
- } while (mun == "查询到200条数据");
- i = 0; j = 0; codes = null;
- #endregion
- #region NC 项目档案
- do
- {
- i = i + 1;
- var json1 = cs.bdDocQuey("{\"data\": {\"billfalg\": \"项目档案\",\"currentPage\":" + i + ",\"linesize\":\"200\",\"creationtime\":\"creationtime >= '" + dates + "'\"}}");//,\"code\":\"XX00096\",\"currentPage\":" + i + ",\"linesize\":\"200\"
- JObject ResultJson1 = JsonConvert.DeserializeObject<JObject>(json1.ToString());
- mun = ResultJson1["msg"].ToString();
- if (ResultJson1["code"].ToString() == "Y")
- {
-
- foreach (var item2 in ResultJson1["returndata"])
- {
- ///调用批量查询接口
- string css = CY_API_Server.LoadBizObjects("LoadBizObjects", "D11660428ef6c76643f493daaa976d0909157cd", this.Filter(item2["project_code"].ToString()));
- JObject jObject = JsonConvert.DeserializeObject<JObject>(css);
- if (jObject["Successful"].ToString().ToLower() == "true" && !string.IsNullOrEmpty(jObject["ReturnData"].ToString())) //表示已经存在
- {
- //ykb_API.InsertDAN(ykbToken, item2["project_code"].ToString(), "gCEbY44UmM4Q00:项目", item2["project_name"].ToString());
- string setData = ykb_API.setDAN(ykbToken, item2["project_code"].ToString());
- if (Convert.ToInt32(setData) < 1)
- {
- ykb_API.InsertDAN(ykbToken, item2["project_name"].ToString(), "gCEbY44UmM4Q00:项目", item2["project_code"].ToString());
- }
- DataTable dt = BizObjectId(jObject);
- dt.PrimaryKey = new DataColumn[] { dt.Columns["Code"] };
- DataRow rows = dt.Rows.Find(item2["project_code"]);
- string ObjectId = string.Format(rows["ObjectId"].ToString());
- ProjectFiles businessUnit = new ProjectFiles()
- {
- F0000001 = item2["project_code"].ToString(),
- F0000002 = item2["project_name"].ToString(),
- F0000003 = item2["orgcode"].ToString(),
- F0000004 = item2["orgname"].ToString()
- };
- Dictionary<string, string> dic = new Dictionary<string, string>();
- dic.Add("BizObject", JsonConvert.SerializeObject(businessUnit));
- //调用修改方法进行修改
- CY_API_Server.UpdateBizObject("UpdateBizObject", "D11660428ef6c76643f493daaa976d0909157cd", ObjectId, dic);
- }
- else //无数据则新增进去
- {
- string setData = ykb_API.setDAN(ykbToken,item2["project_code"].ToString());
- if (Convert.ToInt32(setData) < 1)
- {
- ykb_API.InsertDAN(ykbToken, item2["project_name"].ToString(), "gCEbY44UmM4Q00:项目", item2["project_code"].ToString());
- }
- //氚云接口(1.需要实体类 2.数据集合 3.IsSubmit)
- ProjectFiles project = new ProjectFiles()
- {
- F0000001 = item2["project_code"].ToString(),
- F0000002 = item2["project_name"].ToString(),
- F0000003 = item2["orgcode"].ToString(),
- F0000004 = item2["orgname"].ToString()
- };
- Dictionary<string, string> dic = new Dictionary<string, string>();
- dic.Add("BizObject", JsonConvert.SerializeObject(project));
- dic.Add("SchemaCode", "D11660428ef6c76643f493daaa976d0909157cd");
- dic.Add("IsSubmit", "true");
- bool success = false;
- CY_API_Server.H3YunApi("CreateBizObject", dic, out success);
- if (success)
- {
- j++;
- codes += "&" + item2["project_code"].ToString();
- }
- else
- {
- //_Controller.Synchronous_Log("氚云同步失败", "错误原因:氚云错误!");
- }
- }
- }
- if (j > 0)
- {
- //ding_YP_Public.send_to_conversation(null, "text", "项目档案新增" + j + "条数据,数据为:" + codes, false, "1951251420023804");
- }
- Sql_Controller.Synchronous_Log("项目档案同步成功", "0","成功信息:" + ResultJson1["msg"].ToString());
- }
- else
- {
- Sql_Controller.Synchronous_Log("项目档案同步失败","1", "错误原因:" + ResultJson1["msg"].ToString());
- }
- } while (mun == "查询到200条数据");
- i = 0; j = 0;
- #endregion
- #region 客商档案
- do
- {
- i = i + 1;
- var json3 = cs.bdDocQuey("{\"data\": {\"billfalg\": \"客商\",\"currentPage\":" + i + ",\"linesize\":\"200\",\"creationtime\":\"creationtime >= '" + dates + "'\"}}");//,\"code\":\"W09999\"\"currentPage\":" + i + ",\"linesize\":\"200\",\"creationtime\": \"creationtime >= '" + dates + "'\"
- JObject ResultJson3 = JsonConvert.DeserializeObject<JObject>(json3.ToString());
- mun = ResultJson3["msg"].ToString();
- if (ResultJson3["code"].ToString() == "Y")
- {
- foreach (var item4 in ResultJson3["returndata"])
- {
-
- string css = CY_API_Server.LoadBizObjects("LoadBizObjects", "D1166047df1ad979abe4335b41ec9b070b6d20f", this.Filter(item4["head"]["code"].ToString()));
- JObject jObject = JsonConvert.DeserializeObject<JObject>(css);
- if (jObject["Successful"].ToString().ToLower() == "true" && !string.IsNullOrEmpty(jObject["ReturnData"].ToString())) //表示已经存在
- {
- //ykb_API.InsertDAN(ykbToken, item4["head"]["name"].ToString(), "gCEbY44UmM4Q00:客商档案", item4["head"]["code"].ToString());
- string setData = ykb_API.setDAN(ykbToken, item4["head"]["code"].ToString());
- if (Convert.ToInt32(setData) < 1)
- {
- ykb_API.InsertDAN(ykbToken, item4["head"]["name"].ToString(), "gCEbY44UmM4Q00:供应商档案", item4["head"]["code"].ToString());
- }
- DataTable dt4 = BizObjectId(jObject);
- dt4.PrimaryKey = new DataColumn[] { dt4.Columns["Code"] };
- DataRow rows = dt4.Rows.Find(item4["head"]["code"]);
- string ObjectId = string.Format(rows["ObjectId"].ToString());
- merchantsUnit businessUnit = new merchantsUnit()
- {
- F0000001 = item4["head"]["code"].ToString(),
- F0000002 = item4["head"]["name"].ToString()
- };
- Dictionary<string, string> dic = new Dictionary<string, string>();
- dic.Add("BizObject", JsonConvert.SerializeObject(businessUnit));
- //调用修改方法进行修改
- CY_API_Server.UpdateBizObject("UpdateBizObject", "D1166047df1ad979abe4335b41ec9b070b6d20f", ObjectId, dic);
- }
- else
- {
- string setData = ykb_API.setDAN(ykbToken, item4["head"]["code"].ToString());
- if (Convert.ToInt32(setData) < 1)
- {
- ykb_API.InsertDAN(ykbToken, item4["head"]["name"].ToString(), "gCEbY44UmM4Q00:供应商档案", item4["head"]["code"].ToString());
- }
- merchantsUnit dapa = new merchantsUnit()
- {
- F0000001 = item4["head"]["code"].ToString(),
- F0000002 = item4["head"]["name"].ToString()
- };
- Dictionary<string, string> dic = new Dictionary<string, string>();
- dic.Add("BizObject", JsonConvert.SerializeObject(dapa));
- dic.Add("SchemaCode", "D1166047df1ad979abe4335b41ec9b070b6d20f");
- dic.Add("IsSubmit", "true");
- bool success = false;
- CY_API_Server.H3YunApi("CreateBizObject", dic, out success);
- if (success)
- {
- j++;
- codes += "&" + item4["head"]["code"].ToString();
- }
- else
- {
- //_Controller.Synchronous_Log("氚云同步失败", "错误原因:氚云错误!");
- }
- }
- }
- if (j > 0)
- {
- //ding_YP_Public.send_to_conversation(null, "text", "客商档案新增" + j + "条数据,数据为:" + codes, false, "1951251420023804");//
- }
- Sql_Controller.Synchronous_Log("客商档案同步成功","0" ,"成功信息:" + ResultJson3["msg"].ToString());
- }
- else
- {
- Sql_Controller.Synchronous_Log("客商档案同步失败","1", "错误原因:" + ResultJson3["msg"].ToString());
- }
- } while (mun == "查询到200条数据");
- i = 0; j = 0;
- #endregion
- #region 预算组织
- do
- {
- i = i + 1;
- var json4 = cs.bdDocQuey("{\"data\": {\"billfalg\": \"预算组织\",\"currentPage\":" + i + ",\"linesize\":\"200\",\"creationtime\":\"creationtime >= '" + dates + "'\"}}"); //\"currentPage\":" + i + ",\"linesize\":\"200\",
- JObject ResultJson4 = JsonConvert.DeserializeObject<JObject>(json4.ToString());
- mun = ResultJson4["msg"].ToString();
- if (ResultJson4["code"].ToString() == "Y")
- {
- foreach (var item5 in ResultJson4["returndata"])
- {
- string css = CY_API_Server.LoadBizObjects("LoadBizObjects", "D116604Sq74oibupd5yckiaxh8209f1q5", this.Filter1(item5["code"].ToString()));
- JObject jObject = JsonConvert.DeserializeObject<JObject>(css);
- if (jObject["Successful"].ToString().ToLower() == "true" && !string.IsNullOrEmpty(jObject["ReturnData"].ToString())) //表示已经存在
- {
- string setData = ykb_API.setDAN(ykbToken, item5["code"].ToString());
- if (Convert.ToInt32(setData) < 1)
- {
- ykb_API.InsertDAN(ykbToken, item5["name"].ToString(), "gCEbY44UmM4Q00:预算组织", item5["code"].ToString());
- }
- DataTable dt5 = BizObjectId2(jObject);
- dt5.PrimaryKey = new DataColumn[] { dt5.Columns["Code"] };
- DataRow rows = dt5.Rows.Find(item5["code"]);
- string ObjectId = string.Format(rows["ObjectId"].ToString());
- merchantsUnit businessUnit = new merchantsUnit()
- {
- F0000002 = item5["code"].ToString(),
- F0000001 = item5["name"].ToString()
- };
- Dictionary<string, string> dic = new Dictionary<string, string>();
- dic.Add("BizObject", JsonConvert.SerializeObject(businessUnit));
- //调用修改方法进行修改
- CY_API_Server.UpdateBizObject("UpdateBizObject", "D116604Sq74oibupd5yckiaxh8209f1q5", ObjectId, dic);
- }
- else
- {
- string setData = ykb_API.setDAN(ykbToken, item5["code"].ToString());
- if (Convert.ToInt32(setData) < 1)
- {
- ykb_API.InsertDAN(ykbToken, item5["name"].ToString(), "gCEbY44UmM4Q00:预算组织", item5["code"].ToString());
- }
- TheBudget Yv = new TheBudget()
- {
- F0000002 = item5["code"].ToString(),
- F0000001 = item5["name"].ToString()
- };
- Dictionary<string, string> dic = new Dictionary<string, string>();
- dic.Add("BizObject", JsonConvert.SerializeObject(Yv));
- dic.Add("SchemaCode", "D116604Sq74oibupd5yckiaxh8209f1q5");
- dic.Add("IsSubmit", "true");
- bool success = false;
- CY_API_Server.H3YunApi("CreateBizObject", dic, out success);
- if (success)
- {
- j++;
- codes += "&" + item5["code"].ToString();
- }
- else
- {
- //_Controller.Synchronous_Log("氚云同步失败", "错误原因:氚云错误!");
- }
- }
- }
- if (j > 0)
- {
- //ding_YP_Public.send_to_conversation(null, "text", "预算组织新增" + j + "条数据,数据为:" + codes, false, "1951251420023804");
- }
- Sql_Controller.Synchronous_Log("客商档案同步成功","0","成功信息:" + ResultJson4["msg"].ToString());
- }
- else
- {
- Sql_Controller.Synchronous_Log("客商档案同步失败","1", "错误原因:" + ResultJson4["msg"].ToString());
- }
- } while (mun == "查询到200条数据");
- i = 0; j = 0;
- #endregion
- #region NC 部门档案
- do
- {
- i = i + 1;
- var json2 = cs.bdDocQuey("{\"data\": {\"billfalg\": \"部门\",\"currentPage\":" + i + ",\"linesize\":\"200\",\"creationtime\":\"creationtime >= '" + dates + "'\"}}"); //,\"code\":\"0046\"\"currentPage\":" + i + ",\"linesize\":\"200\",
- JObject ResultJson2 = JsonConvert.DeserializeObject<JObject>(json2.ToString());
- mun = ResultJson2["msg"].ToString();
- if (ResultJson2["code"].ToString() == "Y")
- {
- foreach (var item3 in ResultJson2["returndata"])
- {
- string css = CY_API_Server.LoadBizObjects("LoadBizObjects", "D11660434d73096fca14c20acffdfa2dfcfb5ac", this.Filter(item3["code"].ToString()));
- JObject jObject = JsonConvert.DeserializeObject<JObject>(css);
- if (jObject["Successful"].ToString().ToLower() == "true" && !string.IsNullOrEmpty(jObject["ReturnData"].ToString())) //表示已经存在
- {
- string setData = ykb_API.setDAN(ykbToken, item3["code"].ToString());
- if (Convert.ToInt32(setData) < 1)
- {
- ykb_API.InsertDAN(ykbToken, item3["name"].ToString(), "gCEbY44UmM4Q00:部门档案", item3["code"].ToString());
- }
- DataTable dt3 = BizObjectId(jObject);
- dt3.PrimaryKey = new DataColumn[] { dt3.Columns["Code"] };
- DataRow rows = dt3.Rows.Find(item3["code"]);
- string ObjectId = string.Format(rows["ObjectId"].ToString());
- departmentUnit businessUnit = new departmentUnit()
- {
- F0000001 = item3["code"].ToString(),
- F0000002 = item3["name"].ToString(),
- F0000003 = item3["projectcode"].ToString(),
- F0000004 = item3["projectname"].ToString()
- };
- Dictionary<string, string> dic = new Dictionary<string, string>();
- dic.Add("BizObject", JsonConvert.SerializeObject(businessUnit));
- //调用修改方法进行修改
- CY_API_Server.UpdateBizObject("UpdateBizObject", "D11660434d73096fca14c20acffdfa2dfcfb5ac", ObjectId, dic);
- }
- else
- {
- string setData = ykb_API.setDAN(ykbToken, item3["code"].ToString());
- if (Convert.ToInt32(setData) < 1)
- {
- ykb_API.InsertDAN(ykbToken, item3["name"].ToString(), "gCEbY44UmM4Q00:部门档案", item3["code"].ToString());
- }
- //氚云接口(1.需要实体类 2.数据集合 3.IsSubmit)
- departmentUnit depa = new departmentUnit()
- {
- F0000001 = item3["code"].ToString(),
- F0000002 = item3["name"].ToString(),
- F0000003 = item3["projectcode"].ToString(),
- F0000004 = item3["projectname"].ToString()
- };
- Dictionary<string, string> dic = new Dictionary<string, string>();
- dic.Add("BizObject", JsonConvert.SerializeObject(depa));
- dic.Add("SchemaCode", "D11660434d73096fca14c20acffdfa2dfcfb5ac");
- dic.Add("IsSubmit", "true");
- bool success = false;
- CY_API_Server.H3YunApi("CreateBizObject", dic, out success);
- if (success)
- {
- j++;
- codes += "&" + item3["code"].ToString();
- }
- else
- {
- //_Controller.Synchronous_Log("氚云同步失败", "错误原因:氚云错误!");
- }
- }
- }
- if (j > 0)
- {
- //ding_YP_Public.send_to_conversation(null, "text", "部门档案新增" + j + "条数据,数据为:" + codes, false, "1951251420023804");
- }
- Sql_Controller.Synchronous_Log("部门档案同步成功", "0","成功信息:" + ResultJson2["msg"].ToString());
- }
- else
- {
- Sql_Controller.Synchronous_Log("部门档案同步失败","1", "错误原因:" + ResultJson2["msg"].ToString());
- }
- } while (mun == "查询到200条数据");
- i = 0;
- #endregion
- }
- #region 钉钉-氚云
- /// <summary>
- /// 钉钉写入氚云
- /// </summary>
- /// <param name="json2"></param>
- public void Basic(JObject json2)
- {
- try
- {
- string value = json2["userid"].ToString();
- ///调用查询方法判断该表中是否存在该条Code的值
- string css = CY_API_Server.LoadBizObjects("LoadBizObjects", "D116604ab3e5ca3a3f944b2bb2db76b67780a2a", this.Filter(value, ""));
- JObject jObject = JsonConvert.DeserializeObject<JObject>(css);
- if (jObject["Successful"].ToString().ToLower() == "true" && !string.IsNullOrEmpty(jObject["ReturnData"].ToString())) //表示已经存在
- {
- DataTable dt1 = BizObjectId(jObject);
- DataTable dt2 = BizObjectId2(json2, value, dt1.Rows[0]["ObjectId"].ToString());
- dt2.PrimaryKey = new DataColumn[] { dt2.Columns["userid"] };
- //DataRow rows = dt1.Rows.Find(item["code"]);
- DataRow rows = dt2.Rows.Find(value);
- string ObjectId = string.Format(rows["ObjectId"].ToString());
- BasicData businessUnit = new BasicData()
- {
- F0000009 = value, //员工ID
- F0000001 = dt2.Rows[0]["sys00-name"].ToString().Trim(), //姓名 sys00-name
- F0000010 = dt2.Rows[0]["sys00-mainDeptId"].ToString().Trim(), //部门ID
- F0000002 = dt2.Rows[0]["sys00-mainDept"].ToString().Trim(), //部门
- F0000003 = dt2.Rows[0]["145d3425-9dea-42a6-88ae-1e4e3590046c"].ToString().Trim(), //所属公司 145d3425-9dea-42a6-88ae-1e4e3590046c
- F0000006 = dt2.Rows[0]["sys00-position"].ToString().Trim(), //岗位 sys00-position
- F0000007 = dt2.Rows[0]["sys00-confirmJoinTime"].ToString().Trim(), //入职时间
- F0000008 = dt2.Rows[0]["sys01-positionLevel"].ToString().Trim(), //职级 sys01-positionLevel
- F0000004 = dt2.Rows[0]["sys05-nowContractStartTime"].ToString().Trim(), //原合同开始时间
- F0000005 = dt2.Rows[0]["sys05-nowContractEndTime"].ToString().Trim(), //原合同结束时间
- F0000012 = dt2.Rows[0]["sys05-contractPeriodType"].ToString().Trim(), //续签期限 sys05-contractPeriodType
- F0000013 = dt2.Rows[0]["sys05-contractRenewCount"].ToString().Trim() //续签次数 sys05-contractRenewCount
- };
- Dictionary<string, string> dic = new Dictionary<string, string>();
- dic.Add("BizObject", JsonConvert.SerializeObject(businessUnit));
- ////调用修改方法进行修改
- CY_API_Server.UpdateBizObject("UpdateBizObject", "D116604ab3e5ca3a3f944b2bb2db76b67780a2a", ObjectId, dic);
- }
- else
- {
- DataTable dt2 = BizObjectId2(json2, value, "");
- //dt2.PrimaryKey = new DataColumn[] { dt2.Columns["Code"]};
- //DataRow rows = dt2.Rows.Find(dt2.Columns["field_list"]);
- //string ObjectId = string.Format(rows["ObjectId"].ToString());
- //氚云接口(1.需要实体类 2.数据集合 3.IsSubmit)
- BasicData businessUnit = new BasicData()
- {
- F0000009 = value, //员工ID
- F0000001 = dt2.Rows[0]["sys00-name"].ToString(), //姓名 sys00-name
- F0000010 = dt2.Rows[0]["sys00-mainDeptId"].ToString(), //部门ID
- F0000002 = dt2.Rows[0]["sys00-mainDept"].ToString(), //部门
- F0000003 = dt2.Rows[0]["145d3425-9dea-42a6-88ae-1e4e3590046c"].ToString(), //所属公司 145d3425-9dea-42a6-88ae-1e4e3590046c
- F0000006 = dt2.Rows[0]["sys00-position"].ToString(), //岗位 sys00-position
- F0000007 = dt2.Rows[0]["sys00-confirmJoinTime"].ToString(), //入职时间
- F0000008 = dt2.Rows[0]["sys01-positionLevel"].ToString(), //职级 sys01-positionLevel
- F0000004 = dt2.Rows[0]["sys05-nowContractStartTime"].ToString(), //原合同开始时间
- F0000005 = dt2.Rows[0]["sys05-nowContractEndTime"].ToString(), //原合同结束时间
- F0000012 = dt2.Rows[0]["sys05-contractPeriodType"].ToString(), //续签期限 sys05-contractPeriodType
- F0000013 = dt2.Rows[0]["sys05-contractRenewCount"].ToString() //续签次数 sys05-contractRenewCount
- };
- Dictionary<string, string> dic = new Dictionary<string, string>();
- dic.Add("BizObject", JsonConvert.SerializeObject(businessUnit));
- dic.Add("SchemaCode", "D116604ab3e5ca3a3f944b2bb2db76b67780a2a");
- dic.Add("IsSubmit", "true");
- bool success = false;
- ///新增方法
- CY_API_Server.H3YunApi("CreateBizObject", dic, out success);
- if (success)
- {
- }
- else
- {
- //_Controller.Synchronous_Log("氚云同步失败", "错误原因:氚云错误!");
- }
- }
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- /// <summary>
- /// 钉钉写入氚云-基础资料-人员基础信息
- /// </summary>
- /// <param name="json3"></param>
- public void employee(JObject json3)
- {
- try
- {
- string value = json3["userid"].ToString();
- ///调用查询方法判断该表中是否存在该条Code的值
- string css = CY_API_Server.LoadBizObjects("LoadBizObjects", "D116604d621ec6c5f904694941a255b98aca91b", this.Filter(value, ""));
- JObject jObject = JsonConvert.DeserializeObject<JObject>(css);
- if (jObject["Successful"].ToString().ToLower() == "true" && !string.IsNullOrEmpty(jObject["ReturnData"].ToString())) //表示已经存在
- {
- DataTable dt3 = BizObjectId(jObject);
- DataTable dt4 = BizObjectId2(json3, value, dt3.Rows[0]["ObjectId"].ToString());
- dt4.PrimaryKey = new DataColumn[] { dt4.Columns["userid"] };
- //DataRow rows = dt3.Rows.Find(item["code"]);
- DataRow rows = dt4.Rows.Find(value);
- string ObjectId = string.Format(rows["ObjectId"].ToString());
- BasicData businessUnit = new BasicData()
- {
- F0000009 = value, //员工ID
- F0000001 = dt4.Rows[0]["sys00-name"].ToString(), //姓名 sys00-name
- F0000005 = dt4.Rows[0]["a66a51a7-dcaa-47da-b056-ccebe6fca72d"].ToString(),
- F0000002 = dt4.Rows[0]["145d3425-9dea-42a6-88ae-1e4e3590046c"].ToString(),
- F0000003 = dt4.Rows[0]["473f9667-d220-426f-8431-56be1e8a027d"].ToString(),
- F0000004 = dt4.Rows[0]["395840c1-2cbe-4f36-b3fb-249d7ddf42f2"].ToString()
- };
- Dictionary<string, string> dic = new Dictionary<string, string>();
- dic.Add("BizObject", JsonConvert.SerializeObject(businessUnit));
- ////调用修改方法进行修改
- CY_API_Server.UpdateBizObject("UpdateBizObject", "D116604d621ec6c5f904694941a255b98aca91b", ObjectId, dic);
- }
- else
- {
- DataTable dt4 = BizObjectId2(json3, value, "");
- BasicPersonnelInformation businessUnit = new BasicPersonnelInformation()
- {
- F0000009 = value, //员工ID
- F0000001 = dt4.Rows[0]["sys00-name"].ToString(), //姓名 sys00-name
- F0000005 = dt4.Rows[0]["a66a51a7-dcaa-47da-b056-ccebe6fca72d"].ToString(),
- F0000002 = dt4.Rows[0]["145d3425-9dea-42a6-88ae-1e4e3590046c"].ToString(),
- F0000003 = dt4.Rows[0]["473f9667-d220-426f-8431-56be1e8a027d"].ToString(),
- F0000004 = dt4.Rows[0]["395840c1-2cbe-4f36-b3fb-249d7ddf42f2"].ToString()
- };
- Dictionary<string, string> dic = new Dictionary<string, string>();
- dic.Add("BizObject", JsonConvert.SerializeObject(businessUnit));
- dic.Add("SchemaCode", "D116604d621ec6c5f904694941a255b98aca91b");
- dic.Add("IsSubmit", "true");
- bool success = false;
- ///新增方法
- CY_API_Server.H3YunApi("CreateBizObject", dic, out success);
- if (success)
- {
- }
- else
- {
- //_Controller.Synchronous_Log("氚云同步失败", "错误原因:氚云错误!");
- }
- }
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- #endregion
- #region 过滤器
- public string Filter(string code)
- {
- // return "{\"FromRowNum\": -1,\"RequireCount\": 5000,\"ReturnItems\": [], \"SortByCollection\": [],\"ToRowNum\": 5000, \"Matcher\": { \"Type\": \"And\", \"Matchers\": [{\"Name\":\"F0000001\",\"Operator\":2,\"Value\":\""+code+ "\"}]}}";
- Filter filter = new Filter(); //构建过滤器
- And andMatcher = new And(); //构造And匹配器
- andMatcher.Add(new ItemMatcher("F0000001", ComparisonOperatorType.Equal, code)); //添加查询条件
- //andMatcher.Add(new ItemMatcher("ZT", ComparisonOperatorType.Equal, qJ.ZT)); //添加查询条件
- filter.Matcher = andMatcher;
- filter.ToRowNum = 500;
- return H3.BizBus.BizStructureUtility.FilterToJson(filter);
- }
- public string Filter1(string code)
- {
- // return "{\"FromRowNum\": -1,\"RequireCount\": 5000,\"ReturnItems\": [], \"SortByCollection\": [],\"ToRowNum\": 5000, \"Matcher\": { \"Type\": \"And\", \"Matchers\": [{\"Name\":\"F0000001\",\"Operator\":2,\"Value\":\""+code+ "\"}]}}";
- Filter filter = new Filter(); //构建过滤器
- And andMatcher = new And(); //构造And匹配器
- andMatcher.Add(new ItemMatcher("F0000002", ComparisonOperatorType.Equal, code)); //添加查询条件
- //andMatcher.Add(new ItemMatcher("ZT", ComparisonOperatorType.Equal, qJ.ZT)); //添加查询条件
- filter.Matcher = andMatcher;
- filter.ToRowNum = 500;
- return H3.BizBus.BizStructureUtility.FilterToJson(filter);
- }
- /// <summary>
- /// 过滤器
- /// </summary>
- /// <param name="code"></param>
- /// <returns></returns>
- public string Filter(string code, string organization)
- {
- // return "{\"FromRowNum\": -1,\"RequireCount\": 5000,\"ReturnItems\": [], \"SortByCollection\": [],\"ToRowNum\": 5000, \"Matcher\": { \"Type\": \"And\", \"Matchers\": [{\"Name\":\"F0000001\",\"Operator\":2,\"Value\":\""+code+ "\"}]}}";
- Filter filter = new Filter(); //构建过滤器
- And andMatcher = new And(); //构造And匹配器
- andMatcher.Add(new ItemMatcher("F0000009", ComparisonOperatorType.Equal, code)); //添加查询条件
- //andMatcher.Add(new ItemMatcher("F0000010", ComparisonOperatorType.Equal, organization)); //添加查询条件
- filter.Matcher = andMatcher;
- filter.ToRowNum = 500;
- return H3.BizBus.BizStructureUtility.FilterToJson(filter);
- }
- public DataTable BizObjectId(JObject ResultJson)
- {
- DataTable dt = new DataTable();
- dt.Columns.Add("ObjectId", typeof(string));
- dt.Columns.Add("Code", typeof(string));
- foreach (var item in ResultJson["ReturnData"]["BizObjectArray"])
- {
- DataRow dr = dt.NewRow();
- dr["ObjectId"] = item["ObjectId"].ToString();
- dr["Code"] = item["F0000001"].ToString();
- dt.Rows.Add(dr);
- }
- return dt;
- }
- public DataTable BizObjectId2(JObject ResultJson)
- {
- DataTable dt = new DataTable();
- dt.Columns.Add("ObjectId", typeof(string));
- dt.Columns.Add("Code", typeof(string));
- foreach (var item in ResultJson["ReturnData"]["BizObjectArray"])
- {
- DataRow dr = dt.NewRow();
- dr["ObjectId"] = item["ObjectId"].ToString();
- dr["Code"] = item["F0000002"].ToString();
- dt.Rows.Add(dr);
- }
- return dt;
- }
- public DataTable BizObjectId1(JObject ResultJson)
- {
- DataTable dt = new DataTable();
- dt.Columns.Add("ObjectId", typeof(string));
- dt.Columns.Add("orgcode", typeof(string));
- foreach (var item in ResultJson["ReturnData"]["BizObjectArray"])
- {
- DataRow dr = dt.NewRow();
- dr["ObjectId"] = item["ObjectId"].ToString();
- dr["orgcode"] = item["F0000001"].ToString();
- dt.Rows.Add(dr);
- }
- return dt;
- }
- public DataTable BizObjectId2(JObject ResultJson, string value, string ObjectId)
- {
- DataTable dt = new DataTable();
- dt.Columns.Add("ObjectId", typeof(string));
- foreach (var items in ResultJson["field_list"])
- {
- if (!dt.Columns.Contains(items["field_code"].ToString()))
- dt.Columns.Add(items["field_code"].ToString(), typeof(string));
- }
- dt.Columns.Add("userid", typeof(string));
- DataRow dr = dt.NewRow();
- int i = 0;
- dr["ObjectId"] = ObjectId;
- foreach (var item in ResultJson["field_list"])
- {
- long mun = ResultJson["field_list"][i].LongCount();
- if (mun < 4)
- {
- dr[item["field_code"].ToString()] = null;
- }
- else
- {
- dr[item["field_code"].ToString()] = item["label"].ToString();
- }
- i++;
- }
- dr["userid"] = value;
- dt.Rows.Add(dr);
- return dt;
- }
- #endregion
- }
- }
|