Files
zszq-trs/UnitTestProject/PluginTests/TestDongCai.cs
T
2024-05-09 14:06:26 +08:00

280 lines
14 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using Newtonsoft.Json.Linq;
using YLErp.Office.Converters;
namespace YLErp.PluginTests
{
[TestClass]
public class TestDongCai
{
[TestMethod("测试-到期结算单-结算书模板")]
public void TestExpireCloseConfirm()
{
var templatePath = Path.Combine(AppContext.BaseDirectory, "Resources\\PluginTests\\DongCai\\到期结算单\\结算书模板.docx");
var targetPath = Path.Combine("d:\\", "dongcai_到期结算单_结算书.docx");
var closeDate = DateTime.Now.AddDays(20);
var varDic = new JsonVarDic();
varDic.SetVar("合同编号", "HT-20220426-01-01");
varDic.SetVar("开始日", DateTime.Now.AddDays(-25).ToString("yyyy年MM月dd日"));
varDic.SetVar("结算日", closeDate.ToString("yyyy年MM月dd日"));
varDic.SetVar("兑付日", closeDate.ToString("yyyy年MM月dd日"));
varDic.SetVar("到期年", closeDate.Year);
varDic.SetVar("到期月", closeDate.Month);
varDic.SetVar("到期日", closeDate.Day);
varDic.SetVar("甲方", "客户A");
varDic.SetVar("乙方", "客户B");
varDic.SetVar("收益", "13%");
varDic.SetVar("收益金额", 60000);
varDic.SetVar("平仓", "部分平仓");
varDic.SetVar("固定费用", 600);
varDic.SetVar("支付", 600);
varDic.SetVar("到期盈亏", 66600);
OfficeFileConverter.ConvertByUsingDocTemplate(templatePath, targetPath, varDic);
}
[TestMethod("测试-平仓-结算书模板(平仓)")]
public void TestSellCloseConfirm()
{
var templatePath = Path.Combine(AppContext.BaseDirectory, "Resources\\PluginTests\\DongCai\\平仓\\结算书模板(平仓).docx");
var targetPath = Path.Combine("d:\\", "dongcai_平仓_结算书.docx");
var closeDate = DateTime.Now.AddDays(20);
var varDic = new JsonVarDic();
varDic.SetVar("客户名称", "客户A");
varDic.SetVar("公司名称", "公司甲");
varDic.SetVar("交易编号", "NO20220427001");
varDic.SetVar("收益", "13%");
varDic.SetVar("平仓", "部分平仓");
varDic.SetVar("收益金额", 60000);
varDic.SetVar("平仓费用", 600);
varDic.SetVar("支付方", "客户A");
varDic.SetVar("支付时间", DateTime.Now.AddDays(25).ToString("yyyy年MM月dd日"));
varDic.SetVar("支付金额大写", "陆万陆千陆百");
varDic.SetVar("支付金额", 66600);
varDic.SetVar("收款", "收款");
varDic.SetVar("收款方", "公司甲");
varDic.SetVar("户名", "公司账户A");
varDic.SetVar("账号", "6214830211707103");
varDic.SetVar("开户行", "招商银行");
varDic.SetVar("大额行号", "招商银行");
varDic.SetVar("公司名称", "公司甲");
varDic.SetVar("日期", DateTime.Now.ToString("yyyy年MM月dd日"));
OfficeFileConverter.ConvertByUsingDocTemplate(templatePath, targetPath, varDic);
}
[TestMethod("测试-平仓-收益互换平仓确认书")]
public void TestSellExchangeConfirm()
{
var templatePath = Path.Combine(AppContext.BaseDirectory, "Resources\\PluginTests\\DongCai\\平仓\\收益互换平仓确认书.docx");
var targetPath = Path.Combine("d:\\", "dongcai_平仓_收益互换平仓确认书.docx");
var closeDate = DateTime.Now.AddDays(20);
var varDic = new JsonVarDic();
varDic.SetVar("甲方", "客户A");
varDic.SetVar("乙方", "公司甲");
varDic.SetVar("合同编号", "HT20220427001");
varDic.SetVar("主协议", "中国证券交易协议");
varDic.SetVar("补充协议", "中国证券交易协议补充协议");
varDic.SetVar("交易编号", "NO20220427001");
varDic.SetVar("公司名称", "公司甲");
varDic.SetVar("平仓时间", DateTime.Now.AddDays(25).ToString("yyyy年MM月dd日"));
varDic.SetVar("平仓前名义本金额", 66600);
varDic.SetVar("平仓名义本金额", 66600);
varDic.SetVar("平仓后名义本金额", 0);
varDic.SetVar("平仓费用", 600);
varDic.SetVar("返还预付金", 10000);
varDic.SetVar("日期", DateTime.Now.ToString("yyyy年MM月dd日"));
varDic.SetVar("支付时间", DateTime.Now.AddDays(-5).ToString("yyyy年MM月dd日"));
OfficeFileConverter.ConvertByUsingDocTemplate(templatePath, targetPath, varDic);
}
[TestMethod("测试-交易确认书-单向鲨鱼鳍看涨交易确认书")]
public void TestSharkTradeConfirm()
{
var templatePath = Path.Combine(AppContext.BaseDirectory, "Resources\\PluginTests\\DongCai\\交易确认书\\单向鲨鱼鳍看涨交易确认书.docx");
var targetPath = Path.Combine("d:\\", "dongcai_交易确认书_单向鲨鱼鳍看涨交易确认书.docx");
var varDic = new JsonVarDic();
varDic.SetVar("合同编号", "HT-20220426-01-01");
varDic.SetVar("公司名称", "公司甲");
varDic.SetVar("甲方", "公司甲");
varDic.SetVar("甲方法人", "习大大");
varDic.SetVar("甲方营业执照", "上海市浦东新区新街道公司甲营业执照");
varDic.SetVar("甲方地址", "上海市浦东新区新街道公司甲");
varDic.SetVar("乙方", "公司乙");
varDic.SetVar("乙方法人", "法大大");
varDic.SetVar("乙方营业执照", "上海市浦东新区新街道公司甲营业执照");
varDic.SetVar("乙方地址", "上海市浦东新区新街道公司甲");
varDic.SetVar("主协议", "中国证券交易协议");
varDic.SetVar("补充协议", "鲨鱼鳍交易补充协议");
varDic.SetVar("名义本金", 60000);
varDic.SetVar("实际名义本金", 60000);
varDic.SetVar("标的名称", "平安银行");
varDic.SetVar("标的代码", "000001.SZ");
varDic.SetVar("天数", 30);
varDic.SetVar("开始日", DateTime.Now.ToString("yyyy年MM月dd日"));
varDic.SetVar("行权日", DateTime.Now.AddDays(30).ToString("yyyy年MM月dd日"));
varDic.SetVar("到期日", DateTime.Now.AddDays(30).ToString("yyyy年MM月dd日"));
varDic.SetVar("期权费率", 0.5);
varDic.SetVar("一级收益率", 10);
varDic.SetVar("甲方户名", "公司甲账户A");
varDic.SetVar("甲方账号", "6214830211707103");
varDic.SetVar("甲方开户行", "招商银行");
varDic.SetVar("甲方大额行号", "招商银行");
varDic.SetVar("乙方户名", "公司乙账户A");
varDic.SetVar("乙方账号", "6214830211707123");
varDic.SetVar("乙方开户行", "招商银行");
varDic.SetVar("乙方大额行号", "招商银行");
varDic.SetVar("甲方联系人", "张甲");
varDic.SetVar("甲方电话", "15326165960");
varDic.SetVar("甲方邮件", "2324@lk.com");
varDic.SetVar("甲方传真", "021-002332");
varDic.SetVar("乙方联系人", "张甲");
varDic.SetVar("乙方电话", "15226165960");
varDic.SetVar("乙方邮件", "2324@lk.com");
varDic.SetVar("乙方传真", "021-002331");
OfficeFileConverter.ConvertByUsingDocTemplate(templatePath, targetPath, varDic);
}
[TestMethod("测试-交易确认书-非保本雪球期权交易确认书模板")]
public void TestNoSnowBallTradeConfirm()
{
var templatePath = Path.Combine(AppContext.BaseDirectory, "Resources\\PluginTests\\DongCai\\交易确认书\\非保本雪球期权交易确认书模板.docx");
var targetPath = Path.Combine("d:\\", "dongcai_交易确认书_非保本雪球期权交易确认书.docx");
var closeDate = DateTime.Now.AddDays(20);
var startDate = DateTime.Now;
var varDic = new JsonVarDic();
varDic.SetVar("合同编号", "HT-20220426-01-01");
varDic.SetVar("甲方", "公司甲");
varDic.SetVar("乙方", "公司乙");
varDic.SetVar("标的名称", "平安银行");
varDic.SetVar("标的代码", "000001.SZ");
varDic.SetVar("名义本金", 60000);
varDic.SetVar("交易年", closeDate.Year);
varDic.SetVar("交易月", closeDate.Month);
varDic.SetVar("交易日dd", closeDate.Day);
varDic.SetVar("开始年", startDate.Year);
varDic.SetVar("开始月", startDate.Month);
varDic.SetVar("开始日dd", startDate.Day);
varDic.SetVar("到期年", closeDate.Year);
varDic.SetVar("到期月", closeDate.Month);
varDic.SetVar("买方", "买方A");
varDic.SetVar("卖方", "卖方B");
varDic.SetVar("敲入行权价", 3);
varDic.SetVar("敲出障碍价", 29.99);
varDic.SetVar("敲入障碍价", 3.01);
varDic.SetVar("期初价格", 3.05);
varDic.SetVar("初始预付金", 3.01 * 6000);
varDic.SetVar("初始预付金率", 30);
varDic.SetVar("期间预付金率", 30);
varDic.SetVar("期间预付金", 3.01 * 6000 * 0.3);
varDic.SetVar("期权费率", 0.5);
varDic.SetVar("票息率", 0.5);
varDic.SetVar("table1", "12022年4月28日");
varDic.SetVar("前端收益费率", 0.12);
varDic.SetVar("追保比例下限", 0.13);
varDic.SetVar("追保线", 0.14);
varDic.SetVar("甲方户名", "公司甲账户A");
varDic.SetVar("甲方账号", "6214830211707103");
varDic.SetVar("甲方开户行", "招商银行");
varDic.SetVar("甲方大额行号", "招商银行");
varDic.SetVar("乙方户名", "公司乙账户A");
varDic.SetVar("乙方账号", "6214830211707123");
varDic.SetVar("乙方开户行", "招商银行");
varDic.SetVar("乙方大额行号", "招商银行");
varDic.SetVar("甲方联系人", "张甲");
varDic.SetVar("甲方电话", "15326165960");
varDic.SetVar("甲方邮件", "2324@lk.com");
varDic.SetVar("甲方传真", "021-002332");
varDic.SetVar("乙方联系人", "张甲");
varDic.SetVar("乙方电话", "15226165960");
varDic.SetVar("乙方邮件", "2324@lk.com");
varDic.SetVar("乙方传真", "021-002331");
OfficeFileConverter.ConvertByUsingDocTemplate(templatePath, targetPath, varDic);
}
[TestMethod("测试-交易确认书-交易确认书安全气囊")]
public void TestSafeTradeConfirm()
{
var templatePath = Path.Combine(AppContext.BaseDirectory, "Resources\\PluginTests\\DongCai\\交易确认书\\交易确认书安全气囊.docx");
var targetPath = Path.Combine("d:\\", "dongcai_交易确认书_交易确认书安全气囊.docx");
var closeDate = DateTime.Now.AddDays(20);
var startDate = DateTime.Now;
var varDic = new JsonVarDic();
varDic.SetVar("合同编号", "HT-20220426-01-01");
varDic.SetVar("甲方", "公司甲");
varDic.SetVar("乙方", "公司乙");
varDic.SetVar("公司名称", "平安银行");
varDic.SetVar("甲方户名", "公司甲账户A");
varDic.SetVar("甲方账号", "6214830211707103");
varDic.SetVar("甲方开户行", "招商银行");
varDic.SetVar("甲方大额行号", "招商银行");
varDic.SetVar("乙方户名", "公司乙账户A");
varDic.SetVar("乙方账号", "6214830211707123");
varDic.SetVar("乙方开户行", "招商银行");
varDic.SetVar("乙方大额行号", "招商银行");
varDic.SetVar("甲方联系人", "张甲");
varDic.SetVar("甲方地址", "上海市浦东新区新街道公司甲");
varDic.SetVar("甲方电话", "15326165960");
varDic.SetVar("甲方邮件", "2324@lk.com");
varDic.SetVar("甲方传真", "021-002332");
varDic.SetVar("乙方联系人", "张甲");
varDic.SetVar("乙方地址", "上海市浦东新区新街道公司乙");
varDic.SetVar("乙方电话", "15226165960");
varDic.SetVar("乙方邮件", "2324@lk.com");
varDic.SetVar("乙方传真", "021-002331");
var random = new Random((int)DateTime.Now.Ticks);
var table1 = new JArray();
var spotPrice = 3655.5d;
for (var i = 1; i < 10; i++)
{
var notional = random.Next(100, 10000) / 100d;
var spot = spotPrice * (1 + (i / 100d));
var singlePrice = random.Next(50, 1000) / 10d;
var jobj = new JObject {
{"交易编号", "TradeNO-" + i },
{"买方", "Buy"+i },
{"交易达成日", DateTime.Now.AddDays(i*2).ToString("yyyy年MM月dd日") },
{"开始日期", DateTime.Now.AddDays(-i*2).ToString("yyyy年MM月dd日") },
{"到期日期", DateTime.Now.AddDays(i*2).ToString("yyyy年MM月dd日") },
{"名义本金", 3* random.Next()},
{"标的名称", "标名"+i },
{"标的代码", "00000"+i },
{"期初价格", spot},
{"执行价格", spot*0.95 },
{"封顶价格", spot*1.95 },
{"k", random.Next(1, 100) },
{"c", random.Next(1, 100) },
{"h", random.Next(1, 100) },
{"未敲入参与率", random.Next(1, 100) },
{"敲入价格}", singlePrice },
{"期权费率", 0.25 },
{"&", 0.15 },
{"初始合格保证品金额", notional }
};
table1.Add(jobj);
}
varDic.SetVar("table1", table1);
OfficeFileConverter.ConvertByUsingDocTemplate(templatePath, targetPath, varDic);
}
}
}