采购接口功能全部完成
This commit is contained in:
@@ -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 };
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user