SVN-Revision: r289
This commit is contained in:
tdx
2025-02-25 08:22:01 +00:00
parent 01bb3359c1
commit d505d86cc0
+18 -42
View File
@@ -112,17 +112,17 @@ namespace Lskj.PubInvoiceOut
token = SqlHelper.ExecuteScalar("select invoiceToken from p_systemtab") + "";
}
ResultModel makeModel = new ResultModel();
if (MakeInvoice(makeModel, ref token) || makeModel.Message.Contains("开票中") || makeModel.Message.Contains("编号重复")|| makeModel.Message.Contains("编号重复") || makeModel.Message.Contains("手动重推") || makeModel.Message.Contains("开票完成"))
if (MakeInvoice(ref makeModel, ref token) || makeModel.Message.Contains("开票中") || makeModel.Message.Contains("编号重复") || makeModel.Message.Contains("编号重复") || makeModel.Message.Contains("手动重推") || makeModel.Message.Contains("开票完成"))
{
bool isMake = false;
if (makeModel.Message.Contains("开票中") || makeModel.Message.Contains("编号重复") || makeModel.Message.Contains("手动重推"))
{
ResultModel refreshModel = new ResultModel();
RefreshInvoiceResponse(refreshModel, ref token, true);
RefreshInvoiceResponse(ref refreshModel, ref token, true);
if (refreshModel.State.Equals("22"))
{
ResultModel retryModel = new ResultModel();
RetryInvoice(retryModel, ref token, true);
RetryInvoice(ref retryModel, ref token, true);
if (retryModel.Code.Equals("9999"))
{
@@ -166,7 +166,7 @@ namespace Lskj.PubInvoiceOut
while (true)
{
ResultModel refreshModel = new ResultModel();
RefreshInvoiceResponse(refreshModel, ref token);
RefreshInvoiceResponse(ref refreshModel, ref token);
if (refreshModel.Code.Equals("0000") && !refreshModel.State.Equals("2") && refreshModel.Message.Equals("获取成功") && refreshModel.Result.Contains("发票未生成"))
{
if (isMake)
@@ -637,7 +637,7 @@ namespace Lskj.PubInvoiceOut
/// 蓝字发票开具
/// </summary>
/// <returns></returns>
private bool MakeInvoice(ResultModel resultModel, ref string token, bool isNext = true)
private bool MakeInvoice(ref ResultModel resultModel, ref string token, bool isNext = true)
{
bool isLogin = false;
try
@@ -765,7 +765,7 @@ namespace Lskj.PubInvoiceOut
if (isNext)
{
resultModel = new ResultModel();
isLogin = MakeInvoice(resultModel, ref token, false);
isLogin = MakeInvoice(ref resultModel, ref token, false);
}
}
}
@@ -782,7 +782,7 @@ namespace Lskj.PubInvoiceOut
}
return isLogin;
}
private bool RefreshInvoiceResponse(ResultModel resultModel, ref string token, bool isInvoice = false, bool isNext = true)
private bool RefreshInvoiceResponse(ref ResultModel resultModel, ref string token, bool isInvoice = false, bool isNext = true)
{
if (resultModel == null)
{
@@ -837,7 +837,12 @@ namespace Lskj.PubInvoiceOut
resultModel.State = invoiceStatus;
if (resultModel.Code.Equals("0000"))
{
if (!invoiceStatus.Equals("0") && !invoiceStatus.Equals("4"))
if (invoiceStatus.Equals("20"))//正在开票中
{
resultModel = new ResultModel();
isLogin = RefreshInvoiceResponse(ref resultModel, ref token, isInvoice);
}
else if (!invoiceStatus.Equals("0") && !invoiceStatus.Equals("4"))
{
JObject resultObj = (JsonConvert.DeserializeObject(resultModel.JResult["result"] + "") as JArray)[0] as JObject;
if (isInvoice)
@@ -846,7 +851,7 @@ namespace Lskj.PubInvoiceOut
this.InvoiceId = id;
SqlHelper.ExecuteNonQuery(string.Format("update Acc_InvoiceMaintab set O_invoiceId = '{0}' where XMid = '{1}'", InvoiceId, PrimaryValue));
}
if (!invoiceStatus.Equals("22") && !invoiceStatus.Equals("24"))
if (invoiceStatus.Equals("2"))
{
isLogin = true;
string invoiceNr = resultObj["invoiceNr"] + "";
@@ -882,7 +887,7 @@ namespace Lskj.PubInvoiceOut
if (isNext)
{
resultModel = new ResultModel();
isLogin = RefreshInvoiceResponse(resultModel, ref token, isInvoice, false);
isLogin = RefreshInvoiceResponse(ref resultModel, ref token, isInvoice, false);
}
}
}
@@ -906,7 +911,7 @@ namespace Lskj.PubInvoiceOut
/// <param name="token"></param>
/// <param name="isNext"></param>
/// <returns></returns>
private bool RetryInvoice(ResultModel resultModel, ref string token, bool isNext = true)
private bool RetryInvoice(ref ResultModel resultModel, ref string token, bool isNext = true)
{
if (resultModel == null)
{
@@ -961,7 +966,7 @@ namespace Lskj.PubInvoiceOut
if (isNext)
{
resultModel = new ResultModel();
isLogin = RetryInvoice(resultModel, ref token, false);
isLogin = RetryInvoice(ref resultModel, ref token, false);
}
}
}
@@ -1215,33 +1220,4 @@ namespace Lskj.PubInvoiceOut
{
isLogin = true;
}
else if (resultModel.Code.Equals("500"))
{
resultModel.Message = resultJObject + "";
isLogin = false;
}
else if (resultModel.Code.Equals("1006") && resultModel.Message.Contains("token已失效"))
{
token = GetToken();
if (isNext)
{
resultModel = new ResultModel();
isLogin = MakeRedBill(resultModel, ref token, false);
}
}
}
}
else
{
isLogin = false;
}
}
catch (Exception ex)
{
resultModel.Message = ex.Message;
isLogin = false;
}
return isLogin;
}
}
}
else if (resultMode