202 lines
7.8 KiB
C#
202 lines
7.8 KiB
C#
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
|
|
{
|
|
/// <summary>
|
|
/// 票据管理(应收)
|
|
/// </summary>
|
|
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;
|
|
|
|
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<string, object>()
|
|
{
|
|
{"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<Dictionary<string, object>>();
|
|
|
|
var body = new Dictionary<string, object>()
|
|
{
|
|
{"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 = $"<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)
|
|
{
|
|
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<string>() { bSuccess = false, message = "保存失败", result = ex.Message };
|
|
}
|
|
}
|
|
}
|
|
}
|