123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- using Kingdee.CDP.WebApi.SDK;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
- using Newtonsoft.Json;
- using Newtonsoft.Json.Linq;
- using System;
- using System.Collections.Generic;
- using System.Text;
- namespace Kingdee.BOS.WebApi.SDK.Test
- {
- [TestClass]
- public class OperateExample
- {
- /// <summary>
- /// 付款申请单
- /// </summary>
- [TestMethod]
- public string Test_EmpInfo(object ydapidata)
- {
- string jsonsZTab = "";
- //List<string> dic = new List<string>();
- JObject array = JsonConvert.DeserializeObject<JObject>(ydapidata.ToString());
- foreach (var item in array["tableField_leqinlq8"])
- {
- JObject itemarray = JsonConvert.DeserializeObject<JObject>(item.ToString());
- DateTime dqr = GetDateTime(itemarray["dateField_lewl78sg"].ToString());
- DateTime yfr = GetDateTime(itemarray["dateField_lewl78sh"].ToString());
- jsonsZTab +="{\"FCOSTID\":{\"FNUMBER\": \"FYXM10_SYS\"},\"FEXPENSEDEPTID\": {\"FNUMBER\": \""+array["textField_leqinlpz"].ToString() +"\"},\"FSETTLETYPEID\": {\"FNumber\": \"JSFS04_SYS\"},\"FPAYPURPOSEID\": {\"FNumber\": \"SFKYT08_SYS\"},\"FENDDATE\": \"" + dqr + "\",\"FEXPECTPAYDATE\": \"" + yfr + "\",\"FAPPLYAMOUNTFOR\": " + itemarray["numberField_leqinlqa"].ToString() + ",\"FBankDetail\": {\"FNUMBER\": \"" + itemarray["textField_lfw71las"].ToString() + "\"},\"FEACHBANKACCOUNT\": \"TEST01\",\"FEACHCCOUNTNAME\": \"" + itemarray["textField_lfw71lar"].ToString() + "\",\"FEACHBANKNAME\": \"" + itemarray["textField_lfw71las"].ToString() + "\",\"FSwiftCode\": \"" + itemarray["textField_lfw71lar"].ToString() + "\",\"FDescription\": \"" + itemarray["textField_leqinlqb"].ToString() + "\" },";
-
- }
- //初始化
- var clienter = new K3CloudApi();
- StringBuilder error = new StringBuilder();
- //测试连接
- RepoResult reporesult = clienter.CheckAuthInfo();
- Assert.IsTrue(reporesult.ResponseStatus.IsSuccess);
- if (reporesult.ResponseStatus.IsSuccess)
- {
-
- string jsons = "{\"NeedUpDateFields\": [],\"NeedReturnFields\": [],\"IsDeleteEntry\": \"true\",\"SubSystemId\": \"\",\"IsVerifyBaseDataField\": \"false\",\"IsEntryBatchFill\": \"true\",\"ValidateFlag\": \"true\",\"NumberSearch\": \"true\",\"IsAutoAdjustField\": \"false\",\"InterationFlags\": \"\",\"IgnoreInterationFlag\": \"\"," +
- "\"Model\": {\"FID\": 0," +
- "\"FBILLTYPEID\": { \"FNUMBER\": \"FKSQ001_SYS\"}," +
- "\"FDATE\": \"2023-04-13 00:00:00\",\"FCONTACTUNITTYPE\": \""+array["selectField_lexydxa5"].ToString() +"\"," +
- "\"FCONTACTUNIT\": {\"FNumber\": \""+array["selectField_lexydxa5_id"].ToString() +"\"}," +
- "\"FRECTUNITTYPE\": \"BD_Supplier\"," +
- "\"FRECTUNIT\": {\"FNumber\": \"00111\"}," +
- "\"FCURRENCYID\": {\"FNumber\": \"PRE001\"}," +
- "\"FPAYORGID\": {\"FNumber\": \""+array["radioField_leqinlq7_id"].ToString() == null? "101": array["textField_lewk1q3x"].ToString() + "\"}," +
- "\"FSETTLEORGID\": {\"FNumber\": \"100\"}," +
- "\"FPURCHASEORGID\": { \"FNumber\": \"100\"}," +
- "\"FDOCUMENTSTATUS\": \"Z\",\"FCANCELSTATUS\": \"A\",\"FIsCredit\": false," +
- "\"FAPPLYORGID\": {\"FNumber\": \"100\"}," +
- "\"FSETTLECUR\": {\"FNUMBER\": \"PRE001\"}," +
- "\"FISCARRYRATE\": false,\"FMoreReceive\": false,\"F_BQB_Combo\": \"对公付款\"," +
- "\"F_BQB_GYS\": {\"FNUMBER\": \"00111\"}," +
- "\"F_BQB_FKDQ\": \""+ array["radioField_leqinlq7"].ToString() + "付款\", " +
- "\"FPAYAPPLYENTRY\":[" + jsonsZTab.Substring(0, jsonsZTab.Length - 1) + "]}}";
- //保存接口的请求参数的规定格式
- var requestJObject = JObject.Parse(jsons);
- //调用保存接口
- var resultJson = clienter.Save("CN_PAYAPPLY", JsonConvert.SerializeObject(requestJObject));
- JObject resJson = JsonConvert.DeserializeObject<JObject>(resultJson);
- //根据不同业务单据拼接不同的字段和数值
- var number = resJson["Result"]["Number"].ToString();
- //对返回结果进行解析和校验,这里使用的是JsonPatch
- var isSuccess = ValidateResponse(resultJson);
- Assert.IsTrue(isSuccess);
- Assert.IsTrue(Test_EmpInfo_Submit(clienter, number));
- Assert.IsTrue(Test_EmpInfo_Audit(clienter, number));
- return resultJson.ToString();
- }
- else
- {
- return error.AppendLine("User authentication information is wrong, please check again!").ToString();
- }
- }
- #region
- /// <summary>
- /// 付款-查询
- /// </summary>
- /// <param name="clienter"></param>
- /// <param name="number"></param>
- /// <returns></returns>
- public bool Test_EmpInfo_View(K3CloudApi clienter, string number)
- {
- //查询的请求参数
- var param = JObject.Parse("{\"CreateOrgId\":0,\"Number\":\"" +
- number +
- "\",\"Id\":\"\"}");
- //调用查询接口
- var resultJson = clienter.View("CN_PAYAPPLY", JsonConvert.SerializeObject(param));
- return ValidateResponse(resultJson);
- }
- /// <summary>
- /// 付款-提交
- /// </summary>
- /// <param name="clienter"></param>
- /// <param name="number"></param>
- /// <returns></returns>
- public bool Test_EmpInfo_Submit(K3CloudApi clienter, string number)
- {
- //查询的请求参数
- var param = JObject.Parse("{\"CreateOrgId\": 0,"+
- "\"Numbers\": [\"" +number +"\"]," +
- "\"Ids\": \"\","+
- "\"SelectedPostId\": 0,"+
- "\"NetworkCtrl\": \"\","+
- "\"IgnoreInterationFlag\": \"\"}");
- //调用查询接口
- var resultJson = clienter.Submit("CN_PAYAPPLY", JsonConvert.SerializeObject(param));
- return ValidateResponse(resultJson);
- }
- /// <summary>
- /// 付款-审核
- /// </summary>
- /// <param name="clienter"></param>
- /// <param name="number"></param>
- /// <returns></returns>
- public bool Test_EmpInfo_Audit(K3CloudApi clienter, string number)
- {
- //查询的请求参数
- var param = JObject.Parse("{\"CreateOrgId\":0,\"Numbers\":[\"" +
- number +
- "\"],\"Ids\":\"\",\"InterationFlags\":\"\",\"NetworkCtrl\":\"\",\"IsVerifyProcInst\":\"\",\"IgnoreInterationFlag\":\"\"}");
- //调用查询接口
- var resultJson = clienter.Audit("CN_PAYAPPLY", JsonConvert.SerializeObject(param));
- return ValidateResponse(resultJson);
- }
- #endregion
- public bool ValidateResponse(string resultJson)
- {
- //对返回结果进行解析和校验,这里使用的是JsonPatch
- var resultJObject = JObject.Parse(resultJson);
- var queryNode = resultJObject.SelectToken("$..IsSuccess");
- if (queryNode == null)
- {
- return true;
- }
- var isSuccess = queryNode.Value<Boolean>();
- return isSuccess;
- }
- public DateTime GetDateTime(string timeStamp)
- {
- var posixTime = DateTime.SpecifyKind(new DateTime(1970, 1, 1), DateTimeKind.Utc);
- var time = posixTime.AddMilliseconds(Convert.ToDouble(timeStamp));
- return time;
- }
- }
- }
|