采购接口功能全部完成

This commit is contained in:
qmj
2025-04-24 01:49:44 +08:00
parent cb3269ae8b
commit 46c20e2895
32 changed files with 3538 additions and 291 deletions
@@ -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 };
}
}
}
}