SVN r1154

SVN-Revision: r1154
This commit is contained in:
tdx
2026-04-20 07:13:50 +00:00
parent 3f689d58b6
commit 98b76c89be
2 changed files with 226 additions and 29 deletions
@@ -837,9 +837,9 @@ namespace Lskj.QueryEssentialInfo
headerDic.Add("Authorization", $"{GetAuthorization(date, host, x_htjs_nonce, x_htjs_ua)}");
JObject pmsJObject = new JObject();
pmsJObject.Add("qysh", mainRow["qysh"] + "");
pmsJObject.Add("operator", mainRow["qysh"] + "");
pmsJObject.Add("skssqQ", mainRow["qysh"] + "");
pmsJObject.Add("skssqZ", mainRow["qysh"] + "");
pmsJObject.Add("operator", mainRow["operator"] + "");
pmsJObject.Add("skssqQ", mainRow["skssqQ"] + "");
pmsJObject.Add("skssqZ", mainRow["skssqZ"] + "");
JArray bizDataListJArry = new JArray();
JArray incomeDataListJArry = new JArray();
var groupedRows = detailTab.AsEnumerable().Where(row => (row["p_emp_addTag"] + "") == "1").GroupBy(row => row["incomeTypeCode"] + "");
@@ -875,6 +875,7 @@ namespace Lskj.QueryEssentialInfo
{
}
incomeDataJObject.Add("externFields", externFieldsJObject);
incomeDataListJArry.Add(incomeDataJObject);
}
bizDataJObject.Add("incomeTypeCode", typeCode);
@@ -903,7 +904,7 @@ namespace Lskj.QueryEssentialInfo
/// <param name="resultRead"></param>
/// <param name="resultMsg"></param>
/// <returns></returns>
public static string GetBatch(out string resultRead, string incomeTypeCode, out string resultMsg)
public static string GetBatch(out string resultRead, string nsrlxdm, string incomeTypeCode, out string resultMsg)
{
string code = "-9999";
resultRead = "";
@@ -926,7 +927,7 @@ namespace Lskj.QueryEssentialInfo
JObject pmsJObject = new JObject();
pmsJObject.Add("qysh", mainRow["qysh"] + "");
pmsJObject.Add("ysyf", mainRow["ysyf"] + "");
pmsJObject.Add("nsrlxdm", mainRow["nsrlxdm"] + "");
pmsJObject.Add("nsrlxdm", nsrlxdm);
pmsJObject.Add("incomeTypeCode", incomeTypeCode);
HttpWebResponse webResponse = HttpTools.Post(url, JsonConvert.SerializeObject(pmsJObject), null, headerDic, HttpTools.Method.POST);
resultRead = new StreamReader(webResponse.GetResponseStream(), Encoding.UTF8).ReadToEnd();
@@ -944,20 +945,68 @@ namespace Lskj.QueryEssentialInfo
return code;
}
/// <summary>
/// 计算税款
/// </summary>
/// <param name="resultRead"></param>
/// <param name="nsrlxdm"></param>
/// <param name="resultMsg"></param>
/// <returns></returns>
public static string GetCompute(out string resultRead, string nsrlxdm, out string resultMsg)
{
string code = "-9999";
resultRead = "";
resultMsg = "";
try
{
string url = $"{urlStart}/web/sbmk/personal-tax/api/v1/compute";
HttpTools.setting("application/json", null, null, HttpTools.Encode.UTF8);
Dictionary<string, string> headerDic = new Dictionary<string, string>();
DateTime utcNow = DateTime.UtcNow;
string date = utcNow.ToString("r", CultureInfo.InvariantCulture);
string host = "api.baiwangjs.com";
string x_htjs_nonce = Guid.NewGuid().ToString().ToLower();
string x_htjs_ua = "1.8.0_181 64 bit, sdk-ver=1.0.0";
headerDic.Add("Date", DateTime.UtcNow.ToString());
headerDic.Add("host", host);
headerDic.Add("x-htjs-nonce", x_htjs_nonce);
headerDic.Add("x-htjs-ua", x_htjs_ua);
headerDic.Add("Authorization", $"{GetAuthorization(date, host, x_htjs_nonce, x_htjs_ua)}");
JObject pmsJObject = new JObject();
pmsJObject.Add("qysh", mainRow["qysh"] + "");
pmsJObject.Add("operator", mainRow["operator"] + "");
pmsJObject.Add("skssqQ", mainRow["skssqQ"] + "");
pmsJObject.Add("skssqZ", mainRow["skssqZ"] + "");
pmsJObject.Add("nsrlxDm", nsrlxdm);
HttpWebResponse webResponse = HttpTools.Post(url, JsonConvert.SerializeObject(pmsJObject), null, headerDic, HttpTools.Method.POST);
resultRead = new StreamReader(webResponse.GetResponseStream(), Encoding.UTF8).ReadToEnd();
if (webResponse != null && !string.IsNullOrEmpty(resultRead))
{
JObject resultJObject = (JObject)JsonConvert.DeserializeObject(resultRead);
code = resultJObject["code"] + "";
resultMsg = resultJObject["msg"] + "";
}
}
catch (Exception)
{
throw;
}
return code;
}
/// <summary>
/// 获取计算结果
/// </summary>
/// <param name="resultRead"></param>
/// <param name="incomeTypeCode"></param>
/// <param name="resultMsg"></param>
/// <returns></returns>
public static string GetResult(out string resultRead, string incomeTypeCode, out string resultMsg)
public static string GetResult(out string resultRead, string nsrlxdm, out string resultMsg)
{
string code = "-9999";
resultRead = "";
resultMsg = "";
try
{
string url = $"{urlStart}/web/sbmk/personal-tax/api/v1/acquire/compute/result";
string url = $"{urlStart}/web/sbmk/personal-tax/api/v1/compute/query";
HttpTools.setting("application/json", null, null, HttpTools.Encode.UTF8);
Dictionary<string, string> headerDic = new Dictionary<string, string>();
DateTime utcNow = DateTime.UtcNow;
@@ -974,7 +1023,7 @@ namespace Lskj.QueryEssentialInfo
pmsJObject.Add("qysh", mainRow["qysh"] + "");
pmsJObject.Add("skssqQ", mainRow["skssqQ"] + "");
pmsJObject.Add("skssqZ", mainRow["skssqZ"] + "");
pmsJObject.Add("incomeTypeCode", incomeTypeCode);
pmsJObject.Add("nsrlxDm", nsrlxdm);
HttpWebResponse webResponse = HttpTools.Post(url, JsonConvert.SerializeObject(pmsJObject), null, headerDic, HttpTools.Method.POST);
resultRead = new StreamReader(webResponse.GetResponseStream(), Encoding.UTF8).ReadToEnd();
if (webResponse != null && !string.IsNullOrEmpty(resultRead))