280 lines
14 KiB
C#
280 lines
14 KiB
C#
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", "1,2022年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);
|
||
}
|
||
}
|
||
}
|