采购接口功能全部完成
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace UFIDA.U8.Framework.Api.ControlObject.AP.Entity
|
||||
{
|
||||
public class VoucherData
|
||||
{
|
||||
public long Auto_ID { get; set; }
|
||||
public bool bMidifyMainItem { get; set; }
|
||||
public bool bSecurityDeposit { get; set; }
|
||||
public string CBill { get; set; }
|
||||
public string cCancelNo { get; set; }
|
||||
public string cCancelNo_R { get; set; }
|
||||
public string cChanger { get; set; }
|
||||
public string cChangerName { get; set; }
|
||||
public object cDefine1 { get; set; }
|
||||
public object cDefine2 { get; set; }
|
||||
public object cDefine3 { get; set; }
|
||||
public object cDefine4 { get; set; }
|
||||
public object cDefine5 { get; set; }
|
||||
public object cDefine6 { get; set; }
|
||||
public object cDefine7 { get; set; }
|
||||
public object cDefine8 { get; set; }
|
||||
public object cDefine9 { get; set; }
|
||||
public object cDefine10 { get; set; }
|
||||
public object cDefine11 { get; set; }
|
||||
public object cDefine12 { get; set; }
|
||||
public object cDefine13 { get; set; }
|
||||
public object cDefine14 { get; set; }
|
||||
public object cDefine15 { get; set; }
|
||||
public object cDefine16 { get; set; }
|
||||
public string cDeptCode { get; set; }
|
||||
public string cDigest { get; set; }
|
||||
public string cDwCode { get; set; }
|
||||
public string cDwName { get; set; }
|
||||
public string cEndorser { get; set; }
|
||||
public string cEndorserName { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.Common;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.Entity;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.U8M;
|
||||
|
||||
namespace UFIDA.U8.Framework.Api.ControlObject.AP
|
||||
{
|
||||
public class NoteManageAP
|
||||
{
|
||||
/// <summary>
|
||||
/// 保存票据
|
||||
/// </summary>
|
||||
/// <param name="login"></param>
|
||||
/// <param name="input"></param>
|
||||
/// <param name="bNeedBillClosed"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<BaseResult<string>> NoteSave(BaseLogin login,Dictionary<string,object> input,bool bNeedBillClosed)
|
||||
{
|
||||
try
|
||||
{
|
||||
var clsSysInterface = $"UfHeronReport.clsSysInterface".GetComObject();
|
||||
var clsReportManager = $"UfHeronReport.clsReportManager".GetComObject();
|
||||
var voucherData = $"NoteManageAR.VoucherData".GetComObject();
|
||||
var voucher = $"NoteManageAR.Voucher".GetComObject();
|
||||
|
||||
clsSysInterface.InitInterFace("AP", objLogin: login._vbLogin);
|
||||
|
||||
voucherData = CommonHelper.ToVoucherData(input,voucherData);
|
||||
|
||||
voucher.Init(login._vbLogin, clsReportManager, clsSysInterface);
|
||||
|
||||
var res = new BaseResult<string>();
|
||||
var errMsg = "";
|
||||
|
||||
res.bSuccess = voucher.NoteSave(voucherData, ref errMsg);
|
||||
|
||||
if (!res.bSuccess)
|
||||
{
|
||||
res.message = "保存失败";
|
||||
res.result = errMsg;
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
res.message = "保存成功";
|
||||
res.voucherCode = $"{voucherData.CVouchId}";
|
||||
res.voucherId = $"{voucherData.CVouchId}";
|
||||
|
||||
return res;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
await Task.Delay(1);
|
||||
|
||||
return new BaseResult<string>() { bSuccess = false, message = "保存失败", result = ex.Message };
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,193 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using ADODB;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.Common;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.Entity;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.U8M;
|
||||
|
||||
namespace UFIDA.U8.Framework.Api.ControlObject.AP
|
||||
{
|
||||
public class NoteManageAR
|
||||
{
|
||||
/// <summary>
|
||||
/// 保存票据
|
||||
/// </summary>
|
||||
/// <param name="login"></param>
|
||||
/// <param name="input"></param>
|
||||
/// <param name="bNeedBillClosed"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<BaseResult<string>> NoteSave(BaseLogin login, Dictionary<string, object> input,bool bNeedBillClosed)
|
||||
{
|
||||
try
|
||||
{
|
||||
//var clsSysInterface = $"UfHeronReport.clsSysInterface".GetComObject();
|
||||
//var clsReportManager = $"UfHeronReport.clsReportManager".GetComObject();
|
||||
|
||||
//var clsCloseBil = $"UFAPBO.clsCloseBil".GetComObject();
|
||||
var clsApNote = $"UFAPBO.clsApNote".GetComObject();
|
||||
var voucherData = $"NoteManageAR.VoucherData".GetComObject();
|
||||
var voucher = $"NoteManageAR.Voucher".GetComObject();
|
||||
var clsPub = $"NoteManageAR.clsPub".GetComObject();
|
||||
//var rpPub = $"UFRPPub.clsPub".GetComObject();
|
||||
|
||||
//clsSysInterface.InitInterFace("AP", adoConn:login.Connection, objLogin: login._vbLogin);
|
||||
|
||||
//var clsReportManager = clsSysInterface.GetReportEngine();
|
||||
|
||||
clsPub.main(login._vbLogin);
|
||||
|
||||
clsPub.bNeedZD = true;
|
||||
|
||||
voucherData = CommonHelper.ToVoucherData(input, voucherData);
|
||||
|
||||
voucherData.FillData(ref voucherData, ref clsPub, true);
|
||||
|
||||
//rpPub.oLogin = login._vbLogin;
|
||||
//rpPub.DBConn = login.Connection;
|
||||
|
||||
//rpPub.InitPubs(login._vbLogin.DataSource, login._vbLogin.get_cAcc_Id(), login._vbLogin.cIYear, $"{login._vbLogin.CurDate:yyyy-MM-dd}");
|
||||
|
||||
|
||||
|
||||
voucher.Init(login._vbLogin,clsPub.RepManager,clsPub.RepSys);
|
||||
|
||||
string pSubId = "AR";
|
||||
object ssDate =$"{login._vbLogin.CurDate:yyyy-MM-dd}" ;
|
||||
|
||||
login._vbLogin.LoginEx(pSubId, ssDate);
|
||||
|
||||
clsApNote.Init(login._vbLogin, clsPub.Conn);
|
||||
|
||||
var res = new BaseResult<string>();
|
||||
var errMsg = "";
|
||||
|
||||
voucher.bNeedBillClosed = bNeedBillClosed;
|
||||
|
||||
Trace.WriteLine($"{clsPub.bNeedZD}");
|
||||
Trace.WriteLine($"{clsPub.cNoteCancelNo}");
|
||||
Trace.WriteLine($"{Microsoft.VisualBasic.Information.TypeName(clsPub.objARAPProxy)}");
|
||||
//voucher.m_bStartFlag = false;
|
||||
//voucher.OneVoucherData = voucherData;
|
||||
//voucher.objPub = clsPub;
|
||||
|
||||
clsPub.Conn.BeginTrans();
|
||||
|
||||
res.bSuccess = voucher.NoteCheck(voucherData, ref errMsg);
|
||||
//res.bSuccess = voucher.VoucherHeadCheck(voucherData,true, ref errMsg);
|
||||
|
||||
if (!res.bSuccess)
|
||||
{
|
||||
clsPub.Conn.RollbackTrans();
|
||||
//login.Connection.RollbackTrans();
|
||||
res.message = "保存失败";
|
||||
res.result = errMsg;
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
res.bSuccess = voucher.NoteSave(ref voucherData, ref errMsg);
|
||||
|
||||
if (!res.bSuccess)
|
||||
{
|
||||
clsPub.Conn.RollbackTrans();
|
||||
//login.Connection.RollbackTrans();
|
||||
res.message = "保存失败";
|
||||
res.result = errMsg;
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
var clsVouchFacade = new clsVouchFacade();
|
||||
|
||||
var newInput = new Dictionary<string, object>()
|
||||
{
|
||||
{ "dVouchDate", $"{login._vbLogin.CurDate:yyyy-MM-dd}" },
|
||||
{ "cSSName", voucherData.cVouchTypeName },
|
||||
{ "cexch_name", voucherData.cExch_Name },
|
||||
{ "iAmount_f", voucherData.iAmount },
|
||||
{ "iAmount", voucherData.iAmount_Local },
|
||||
{ "cBank", voucherData.cPayBillBank },
|
||||
{ "cBankAccount", voucherData.cPayBillAccount },
|
||||
{ "cNoteNo", voucherData.CVouchId },
|
||||
{ "cDepCode", voucherData.cDeptCode },
|
||||
{ "cDwCode", voucherData.cDwCode },
|
||||
{ "cOperator", voucherData.CBill },
|
||||
{ "cDigest", voucherData.cDigest },
|
||||
{ "bStartFlag", voucher.m_bStartFlag },
|
||||
{ "cVouchType", "48" },
|
||||
{ "cCoVouchType", voucherData.cVouchType },
|
||||
{ "cCoVouchID", voucherData.CVouchId },
|
||||
{ "cFlag", voucherData.cFlag },
|
||||
{ "cSSCode", voucherData.cSettleCode },
|
||||
{ "cPerson", voucherData.cPerson },
|
||||
{ "cNatBank", voucherData.cReceiveBank },
|
||||
{ "cNatBankAccount", voucherData.cReceiveAccount },
|
||||
{ "cCode", voucher.getNoteKm(voucherData.cVouchType) }
|
||||
};
|
||||
|
||||
var bodys = new List<Dictionary<string, object>>();
|
||||
|
||||
var body = new Dictionary<string, object>()
|
||||
{
|
||||
{"editprop","A"},
|
||||
{"cMemo",voucherData.cDigest},
|
||||
{"cCusVen",voucherData.cDwCode},
|
||||
{"iAmt_f",voucherData.iAmount},
|
||||
{"iAmt",voucherData.iAmount_Local},
|
||||
{"cKm",voucher.getNoteKm(voucherData.cVouchType)},
|
||||
{"iRAmt_f",voucherData.iAmount},
|
||||
{"iRAmt",voucherData.iAmount_Local},
|
||||
{"cDepCode",voucherData.cDeptCode},
|
||||
{"cPersonCode",voucherData.cPerson},
|
||||
};
|
||||
|
||||
newInput["body"] = bodys;
|
||||
|
||||
bodys.Add(body);
|
||||
|
||||
var res2=await clsVouchFacade.SaveVouch(login, newInput, "收款单", true, "cVouchID");
|
||||
|
||||
|
||||
|
||||
//var condition = $"<condition cProcStyle=\"48\" cLink=\"{voucherData.cLink}\" cVouchType=\"{voucherData.cVouchType}\" cVouchID=\"{voucherData.CVouchId}\" bFirst=\"False\"/>";
|
||||
|
||||
//res.bSuccess = clsApNote.Sign(condition, ref errMsg);
|
||||
////res.bSuccess = pz_Proc.AP_ZD_One("48", "", $"{voucherData.CVouchId}");
|
||||
////login.Connection.BeginTrans();
|
||||
|
||||
////res.bSuccess = voucher.VoucherHeadSave(voucherData, true, ref errMsg);
|
||||
//Trace.WriteLine($"{voucher.m_strVoucherDirect}");
|
||||
//Trace.WriteLine($"{voucherData.cProcStyle}");
|
||||
|
||||
if (!res2.bSuccess)
|
||||
{
|
||||
clsPub.Conn.RollbackTrans();
|
||||
//login.Connection.RollbackTrans();
|
||||
res.message = "保存失败";
|
||||
res.result = res2.message;
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
clsPub.Conn.CommitTrans();
|
||||
//login.Connection.CommitTrans();
|
||||
res.message = "保存成功";
|
||||
res.voucherCode = $"{voucherData.CVouchId}";
|
||||
res.voucherId = $"{voucherData.CVouchId}";
|
||||
|
||||
return res;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
await Task.Delay(1);
|
||||
|
||||
return new BaseResult<string>() { bSuccess = false, message = "保存失败", result = ex.Message };
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,7 @@ using MSXML2;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.Common;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.Entity;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.U8M;
|
||||
using System.Collections;
|
||||
|
||||
// ReSharper disable IdentifierTypo
|
||||
// ReSharper disable InconsistentNaming
|
||||
@@ -27,7 +28,7 @@ namespace UFIDA.U8.Framework.Api.ControlObject.AP
|
||||
/// <param name="bFirst">是否期初</param>
|
||||
/// <param name="bodyKey">表体数据字段</param>
|
||||
/// <returns></returns>
|
||||
public BaseResult<dynamic> CloseBillSave(BaseLogin baseLogin,Dictionary<string,object> dictionary,string cSubId,bool isAdd=true, bool bFirst=false,string bodyKey="body")
|
||||
public BaseResult<string> CloseBillSave(BaseLogin baseLogin,Dictionary<string,object> dictionary,string cSubId,bool isAdd=true, bool bFirst=false,string bodyKey="body")
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -66,13 +67,13 @@ namespace UFIDA.U8.Framework.Api.ControlObject.AP
|
||||
if (!saveFlag)
|
||||
throw new Exception(errorMessage);
|
||||
|
||||
return new BaseResult<dynamic> { bSuccess = true, message = "保存成功", result = "保存成功" };
|
||||
return new BaseResult<string> { bSuccess = true, message = "保存成功", result = "保存成功" };
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logInfo.Error(ex.Message, ex);
|
||||
|
||||
return new BaseResult<dynamic> { bSuccess = false, message = "保存失败", result = ex.Message };
|
||||
return new BaseResult<string> { bSuccess = false, message = "保存失败", result = ex.Message };
|
||||
}
|
||||
}
|
||||
|
||||
@@ -140,7 +141,7 @@ namespace UFIDA.U8.Framework.Api.ControlObject.AP
|
||||
/// <param name="isAdd">是否新增</param>
|
||||
/// <param name="bFirst"></param>
|
||||
/// <returns></returns>
|
||||
public BaseResult<dynamic> ApNoteSave(BaseLogin baseLogin, Dictionary<string, object> dictionary, string cSubId, bool isAdd = true, bool bFirst = false)
|
||||
public BaseResult<dynamic> ApNote_SaveVouch(BaseLogin baseLogin, Dictionary<string, object> dictionary, string cSubId, bool isAdd = true, bool bFirst = false)
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -148,103 +149,6 @@ namespace UFIDA.U8.Framework.Api.ControlObject.AP
|
||||
|
||||
var domHead = dictionary.ToDocument2();
|
||||
|
||||
#region 弃用
|
||||
|
||||
|
||||
|
||||
|
||||
//if (cSubId == "AR")
|
||||
//{
|
||||
// //var pub = "NoteManageAR.clsPub".GetComObject();
|
||||
|
||||
// //pub.main(m_Login);
|
||||
|
||||
// //var ar = "NoteManageAR.Voucher".GetComObject();
|
||||
|
||||
// //ar.Init(m_Login, pub.RepSys, pub.RepManager);
|
||||
|
||||
// //var da = new VoucherDataClass();
|
||||
|
||||
// //var apar = new APARHelper(da);
|
||||
|
||||
|
||||
|
||||
// //ar.m_bStartFlag = false;
|
||||
// //ar.bLastYearBill = false;
|
||||
// //ar.m_strCardNum = "RP02";
|
||||
// //ar.m_strVoucherType = "50";
|
||||
// //ar.m_strVoucherDirect = pub.strNoteDirect;
|
||||
|
||||
|
||||
// ////ar.bUpdateiAmount = true;
|
||||
// ////ar.NotExec = true;
|
||||
// ////ar.NotExec = true;
|
||||
// //ar.objPub = pub;
|
||||
|
||||
|
||||
|
||||
// //apar.SetValue(dictionary);
|
||||
|
||||
// //ar.m_strVoucherID = da.CVouchId;
|
||||
// //ar.m_VoucherHead = domHead;
|
||||
// //ar.OneVoucherData = da;
|
||||
|
||||
// //ar.bNeedBillClosed = true;
|
||||
|
||||
// //da.cVouchTypeName = "银行承兑汇票";
|
||||
// //da.cPayBillBank = "华夏银行股份有限公司深圳分行营业部";
|
||||
|
||||
// var msg = "";
|
||||
|
||||
// //logInfo.Debug($"da:{da.ToJson()}");
|
||||
|
||||
// //if (!ar.VoucherHeadCheck(da, true, ref msg))
|
||||
// //{
|
||||
// // throw new Exception(msg);
|
||||
// //}
|
||||
|
||||
// //msg = "";
|
||||
|
||||
// //if (!ar.NoteCheck(da, ref msg))
|
||||
// //{
|
||||
// // throw new Exception(msg);
|
||||
// //}
|
||||
// //msg = "";
|
||||
|
||||
// //if (!ar.NoteSave(da, ref msg))
|
||||
// //{
|
||||
// // throw new Exception(msg);
|
||||
// //}
|
||||
|
||||
// ////ar.re
|
||||
|
||||
|
||||
// ////var bo = "UFAPBO.clsApNote".GetComObject();
|
||||
// //var apPub = "NoteManageAR.PZ_Proc".GetComObject();
|
||||
|
||||
// //apPub.objPub = pub;
|
||||
|
||||
// //var aa=apPub.ProcSign("9A");
|
||||
|
||||
// //var bb = pub.cNoteCancelNo;
|
||||
|
||||
// //var m_conn = new Connection();
|
||||
|
||||
// //m_conn.Open(m_Login.UfDbName);
|
||||
|
||||
// //bo.Init(m_Login, m_conn);
|
||||
|
||||
// //var errorMessage = "";
|
||||
|
||||
// //var saveFlag = bo.Sign($"<condition type=\"1\" cLink=\"AR{da.CVouchId}\" cVouchType=\"{da.cVouchType}\" cVouchID=\"{da.CVouchId}\" />", ref errorMessage);
|
||||
|
||||
// //if (!saveFlag)
|
||||
// // throw new Exception(errorMessage);
|
||||
|
||||
// return new BaseResult<dynamic> { bSuccess = true, message = "保存成功", result = "保存成功" };
|
||||
//}
|
||||
#endregion
|
||||
|
||||
var ap = "UFAPBO.clsAccount_AP".GetComObject();
|
||||
|
||||
var bo = "UFAPBO.clsApNote".GetComObject();
|
||||
@@ -289,24 +193,93 @@ namespace UFIDA.U8.Framework.Api.ControlObject.AP
|
||||
boResult = bo.Init(m_Login, m_conn);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//logInfo.Debug($"ap.Init:{a}");
|
||||
|
||||
//var b=ap.InitSubOption2(cSubId);
|
||||
//logInfo.Debug($"ap.InitSubOption2:{b}");
|
||||
//var c=ap.ARAPStart(cSubId);
|
||||
//logInfo.Debug($"ap.ARAPStart:{c}");
|
||||
|
||||
|
||||
|
||||
//var d=bo.Init(m_Login);
|
||||
|
||||
//logInfo.Debug($"bo.Init:{d}");
|
||||
|
||||
var errorMessage = "";
|
||||
|
||||
var saveFlag = bo.SaveVouch(domHead, ref errorMessage);
|
||||
bool saveFlag = bo.SaveVouch(domHead, ref errorMessage);
|
||||
|
||||
if (!saveFlag)
|
||||
{
|
||||
throw new Exception(errorMessage);
|
||||
}
|
||||
|
||||
return new BaseResult<dynamic> { bSuccess = true, message = "保存成功", result = "保存成功" };
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logInfo.Error(ex.Message, ex);
|
||||
|
||||
return new BaseResult<dynamic> { bSuccess = false, message = "保存失败", result = ex.Message };
|
||||
}
|
||||
}
|
||||
|
||||
public BaseResult<dynamic> ApNote_Sign(BaseLogin baseLogin, string cLink, string cSubId, bool isAdd = true, bool bFirst = false)
|
||||
{
|
||||
try
|
||||
{
|
||||
var m_Login = baseLogin._vbLogin;
|
||||
|
||||
var ap = "UFAPBO.clsAccount_AP".GetComObject();
|
||||
|
||||
var bo = "UFAPBO.clsApNote".GetComObject();
|
||||
|
||||
bool initResult = ap.Init(m_Login, cSubId);
|
||||
|
||||
if (!initResult)
|
||||
{
|
||||
logInfo.Debug($"1-----初始化参数失败,正在重新初始化");
|
||||
|
||||
initResult = ap.Init(m_Login);
|
||||
|
||||
if (!initResult)
|
||||
{
|
||||
logInfo.Debug($"2-----初始化参数失败");
|
||||
}
|
||||
}
|
||||
|
||||
var m_conn = new Connection();
|
||||
|
||||
m_conn.Open(m_Login.UfDbName);
|
||||
|
||||
|
||||
if (initResult)
|
||||
{
|
||||
bool b = ap.InitSubOption2(cSubId);
|
||||
|
||||
if (!b)
|
||||
{
|
||||
logInfo.Debug($"初始化参数2失败");
|
||||
}
|
||||
|
||||
logInfo.Debug($"调用初始化方法1");
|
||||
|
||||
bo.Init(m_Login, m_conn, ap);
|
||||
}
|
||||
else
|
||||
{
|
||||
logInfo.Debug($"调用初始化方法2");
|
||||
|
||||
bo.Init(m_Login, m_conn);
|
||||
}
|
||||
|
||||
|
||||
var xmlCondition = $"<condition type=\"1\" cLink=\"AR123414125132\" cVouchType=\"50\" cVouchID=\"{123414125132}\" bFirst=\"{bFirst}\"/>";
|
||||
var errorMessage = "";
|
||||
|
||||
bool saveFlag = bo.Sign(xmlCondition, ref errorMessage);
|
||||
|
||||
|
||||
if (!saveFlag)
|
||||
{
|
||||
throw new Exception(errorMessage);
|
||||
}
|
||||
|
||||
//if (saveFlag)
|
||||
//{
|
||||
// saveFlag = bo.Sign($"<condition type=\"1\" cLink=\"AR{da.CVouchId}\" cVouchType=\"{da.cVouchType}\" cVouchID=\"{da.CVouchId}\" />", ref errorMessage);
|
||||
//}
|
||||
|
||||
|
||||
|
||||
|
||||
//logInfo.Debug($"bo.SaveVouch:{errorMessage}");
|
||||
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.Common;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.Entity;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.U8M;
|
||||
|
||||
namespace UFIDA.U8.Framework.Api.ControlObject.AP
|
||||
{
|
||||
public class clsCloseBil
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,125 @@
|
||||
using ADODB;
|
||||
using log4net;
|
||||
using MSXML2;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web.UI.WebControls;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.Common;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.Entity;
|
||||
using UFIDA.U8.Framework.Api.ControlObject.U8M;
|
||||
|
||||
namespace UFIDA.U8.Framework.Api.ControlObject.AP
|
||||
{
|
||||
public class clsVouchFacade
|
||||
{
|
||||
protected readonly ILog logInfo = LogManager.GetLogger("logInfo");
|
||||
|
||||
public async Task<BaseResult<string>> SaveVouch(BaseLogin login, Dictionary<string, object> input,string VouchClass,bool bGetCode=false,string codeKey="",bool bPrintDom=false)
|
||||
{
|
||||
try
|
||||
{
|
||||
var clsVouchFacade = $"UFAPBO.clsVouchFacade".GetComObject();
|
||||
|
||||
clsVouchFacade.Init(VouchClass, login._vbLogin, login.Connection);
|
||||
|
||||
IXMLDOMDocument2 domHead = new DOMDocument();
|
||||
IXMLDOMDocument2 domBody = new DOMDocument();
|
||||
|
||||
var errMsg = "";
|
||||
|
||||
//if (!clsVouchFacade.GetVouchData("0", ref domHead, ref domBody, ref errMsg))
|
||||
//{
|
||||
// throw new Exception(errMsg);
|
||||
//}
|
||||
|
||||
domHead = input.ToDocument2(domHead);
|
||||
|
||||
if (!input.TryGetValue("body", out var bodys))
|
||||
{
|
||||
await Task.Delay(1);
|
||||
throw new Exception("无法获取表体数据");
|
||||
}
|
||||
|
||||
if (!(bodys is List<Dictionary<string, object>> dictionarys) || dictionarys.Count <= 0)
|
||||
{
|
||||
throw new Exception("无法获取表体数据");
|
||||
}
|
||||
|
||||
if (bGetCode)
|
||||
{
|
||||
var cardNum = "";
|
||||
|
||||
switch (VouchClass)
|
||||
{
|
||||
case "收款单":
|
||||
cardNum = "AR48";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
var clsBillComponent = "UFBillComponent.clsBillComponent".GetComObject();
|
||||
|
||||
if (!clsBillComponent.InitBill(login._vbLogin.UfDbName, cardNum))
|
||||
{
|
||||
throw new Exception("初始化单据编号组件失败");
|
||||
}
|
||||
|
||||
var newCode = clsBillComponent.GetNumber(clsBillComponent.GetBillFormat());
|
||||
|
||||
logInfo.Debug($"获取新单号:{newCode}");
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(newCode))
|
||||
{
|
||||
CommonHelper.SetDomKeyValue(domHead, codeKey, newCode);
|
||||
}
|
||||
|
||||
input[codeKey] = newCode;
|
||||
}
|
||||
|
||||
logInfo.Debug("填充表体DOM...");
|
||||
domBody = dictionarys.ToDocument2(domBody);
|
||||
|
||||
if (bPrintDom)
|
||||
{
|
||||
logInfo.Debug("开始输入DOM...");
|
||||
|
||||
logInfo.Debug(domHead.xml);
|
||||
|
||||
logInfo.Debug(domBody.xml);
|
||||
}
|
||||
|
||||
var res = new BaseResult<string>();
|
||||
|
||||
clsVouchFacade.bOutTrans = true;
|
||||
|
||||
res.bSuccess = clsVouchFacade.SaveVouch(domHead, domBody, ref errMsg);
|
||||
|
||||
if (!res.bSuccess)
|
||||
{
|
||||
throw new Exception(errMsg);
|
||||
}
|
||||
|
||||
res.message = "保存成功";
|
||||
res.voucherCode = "";
|
||||
res.voucherId = "";
|
||||
|
||||
return res;
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
await Task.Delay(1);
|
||||
|
||||
logInfo.Error(ex.Message, ex);
|
||||
|
||||
return new BaseResult<string> { bSuccess = false, message = "保存失败", result = ex.Message };
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user