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 { /// /// 保存票据 /// /// /// /// /// public async Task> NoteSave(BaseLogin login, Dictionary 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(); 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; res.bSuccess = voucher.NoteCheck(voucherData, ref errMsg); //res.bSuccess = voucher.VoucherHeadCheck(voucherData,true, ref errMsg); if (!res.bSuccess) { res.message = "保存失败"; res.result = errMsg; return res; } res.bSuccess = voucher.NoteSave(ref voucherData, ref errMsg); if (!res.bSuccess) { res.message = "保存失败"; res.result = errMsg; return res; } var clsVouchFacade = new clsVouchFacade(); var newInput = new Dictionary() { {"cVouchID","0000000001"}, { "dVouchDate", $"{login._vbLogin.CurDate:yyyy-MM-dd}" }, { "cTypeName", "收款单" }, { "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", "03006" }, { "iPayType", 0 }, { "cPayType", "货款" }, { "cDwCode", voucherData.cDwCode }, { "cOperator", voucherData.CBill }, { "cDigest", voucherData.cDigest }, { "bStartFlag", voucher.m_bStartFlag }, { "cVouchType", "48" }, { "cAuthID", "00000001" }, { "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) }, { "cCode", "" }, { "iPayForOther", 0 }, { "bFromBank", 0 }, { "bToBank", 0 }, { "bSure", 0 }, }; var bodys = new List>(); var body = new Dictionary() { {"editprop","A"}, {"cMemo",voucherData.cDigest}, {"cCusVen",voucherData.cDwCode}, //{"cCusVen","03006"}, {"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}, {"iType",0}, {"cType","应收款"}, }; newInput["body"] = bodys; bodys.Add(body); var res2=await clsVouchFacade.SaveVouch(login, newInput, "收款单", true,false /*"cVouchID"*/); //var condition = $""; //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) { res.message = "保存失败"; res.result = res2.result; res.voucherCode = $"{voucherData.CVouchId}"; res.voucherId = $"{voucherData.CVouchId}"; return res; } res.message = "保存成功"; res.voucherCode = $"{voucherData.CVouchId}"; res.voucherId = $"{voucherData.CVouchId}"; return res; } catch (Exception ex) { await Task.Delay(1); return new BaseResult() { bSuccess = false, message = "保存失败", result = ex.Message }; } } } }