Files
zszq-trs/Framework/YLErp.Core/Configuration/Abstract/IErpConfig.cs
T
tengyufan e5a1ca1f68 fix: 收益互换OA移动审批改为内部定时轮询
- 复用 HostedTaskService 定时器轮询待处理的 OA 移动审批状态
- 增加单实例防重入控制,避免同一进程内重复同步
- 新增 Erp.TradeApprovalOaSyncIntervalSeconds 配置,默认 30 秒
- 支持在 Admin 全局配置页修改查询间隔,保存后立即生效,无需重启
- 补充 AppConfig 初始化 SQL,不再依赖 PowerJob 或 XXL-JOB 外部调度
2026-08-21 16:48:37 +08:00

740 lines
22 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 YLErp.Configuration.Enums;
using static YLErp.DBModels.Consts.ConsReport;
namespace YLErp.Configuration
{
public interface IErpConfig
{
/// <summary>
///
/// </summary>
CompanyEnum Company { get; }
/// <summary>
/// 公司名称缩写,如GTJA
/// </summary>
string CompanyAbbreviation { get; }
/// <summary>
/// 公司名称
/// </summary>
string CompanyName { get; }
/// <summary>
/// 公司英文名称
/// </summary>
string CompanyEnName { get; }
/// <summary>
/// 公司简称,如:国泰君安
/// </summary>
string CompanyShortName { get; }
/// <summary>
/// 公司全名
/// </summary>
string CompanyFullName { get; }
/// <summary>
/// 波动率模式
/// </summary>
VolModeEnum VolMode { get; }
/// <summary>
/// 是否检查密码符合监管要求
/// </summary>
bool CheckPassword { get; }
/// <summary>
/// 是否在风险对冲页面采用自动对冲策略
/// </summary>
bool IsUseHedgingRule { get; }
/// <summary>
/// 自动生成交易确认书、结算单、提前终止确认书等
/// </summary>
bool IsAutoGenerateContracts { get; }
/// <summary>
/// 是否支持简洁版的出入金导入
/// </summary>
bool SupportEntryExitSimpleVersion { get; }
/// <summary>
/// RealTime相关信息通知的角色
/// </summary>
string RealTimeServiceNotifyRoles { get; }
/// <summary>
/// 是否显示RealTime相关信息通知
/// </summary>
bool ShowRealTimeServiceNotify { get; }
/// <summary>
/// 资金记录页面是否显示和客户的其他资金往来记录
/// </summary>
bool IsShowOtherClientCash { get; }
/// <summary>
/// 部署组件版本
/// </summary>
ComponentVersion ComponentVersion { get; }
/// <summary>
/// 默认True需要设置限制的交易品种, 如果为false,新增授信页不限制交易品种,不用显示“是否限制交易品种”选项
/// </summary>
bool CanSelectCreditVariety { get; }
/// <summary>
/// 银行账户只能在下拉中选择
/// </summary>
bool IsBankOnlyDropDown { get; }
/// <summary>
/// 授信控制
/// </summary>
bool IsCreditLimit { get; }
/// <summary>
///
/// </summary>
bool IsEodSendMaturityEmail { get; }
/// <summary>
/// 交易审核是否显示交易信息
/// </summary>
bool IsTradeCheckInfo { get; }
/// <summary>
/// 持仓市值(Pv)计算是否包含保底收益
/// </summary>
bool IsPVIncludePrincipal { get; }
/// <summary>
/// 是否用权利金单价计算
/// </summary>
bool IsTradeSinglePriceCalcu { get; }
/// <summary>
///
/// </summary>
bool UseOldGenerateBook { get; }
/// <summary>
///
/// </summary>
bool ShowAccruedTotalPnL { get; }
/// <summary>
///
/// </summary>
bool IsExportEntryexit { get; }
/// <summary>
///
/// </summary>
bool UseSingleLogin { get; }
bool UseDisplayNotional { get; }
/// <summary>
/// 已经弃用的配置,看到就可以删掉了
/// </summary>
bool IsShowCompanyCash { get; }
/// <summary>
/// 是否在盯市报告资金状态里面显示总盈亏
/// </summary>
bool TradeMarketShowTotalNetSettlement { get; }
/// <summary>
///
/// </summary>
bool IsAmendableAfterConfirm { get; }
/// <summary>
/// 是否是在确认书生成后才能执行
/// </summary>
bool ExecuteAfterGeneratedConfirmDoc { get; }
/// <summary>
/// 美式提前行权是否和到期行权用相同的结算单模板),默认值为True
/// </summary>
bool IsSingleExecutionTemplate { get; }
/// <summary>
/// GenerateAmendDoc如果为true,在保存修改信息时,生成一个交易变更确认书文档并下载
/// </summary>
bool IsGenerateAmendDoc { get; }
/// <summary>
/// 持仓市值是否进行四舍五入处理
/// </summary>
bool IsPVRounded { get; }
/// <summary>
/// 自定义交易收盘时是否跳过验证自定义风险指标
/// </summary>
bool IsMustRiskManual { get; }
/// <summary>
/// 确认成交,是否进行“资金状况”提示
/// </summary>
bool IsAvailableForClient { get; }
/// <summary>
/// 收盘时交易是否自动延期结算
/// </summary>
bool IsAutoDelaySettlement { get; }
/// <summary>
/// 持仓使用固定预付金比例计算是否使用期初价格
/// </summary>
bool EodFixedMarginUseSpotPrice { get; }
/// <summary>
/// 模板或者其他相关文件的路径
/// </summary>
string DocPath { get; }
/// <summary>
/// 追保通知里是否加上额外追保
/// </summary>
bool NeedAdditionalMargin { get; }
/// <summary>
/// 在收盘时使用老的EodPnLExplainer方法
/// </summary>
bool UseOldEodPnLExplainer { get; }
/// <summary>
/// 平值期权报价,当到期日是非交易日时,是否向前移;如果false,则向后移
/// </summary>
bool AtmQuotePreviousBizDayAdjust { get; }
/// <summary>
/// 是否采用SkewMap的方法构造波动率,目前只有光大光子采用此模式
/// </summary>
bool SkewMapVolConstruction { get; }
/// <summary>
/// 在报价中,TTM是否精确到分钟级别
/// </summary>
bool PrecisionOfMinuteInQuote { get; }
/// <summary>
/// 波动率曲面上的日期节点的shift规则
/// </summary>
VolSurfaceKeyDateShiftEnum VolSurfaceKeyDateShift { get; }
/// <summary>
/// 波动率曲面的期限,是否不包含截止日期
/// 例如,估值日为2019-04-091M期限:
/// 当VolSurfaceTermExcludeEndDate为true,则到期日为2019-05-08
/// 当VolSurfaceTermExcludeEndDate为false,则到期日为2019-05-09
/// </summary>
bool VolSurfaceTermExcludeEndDate { get; }
/// <summary>
/// 双向预付金
/// </summary>
bool TwoSideMargin { get; }
/// <summary>
/// 是否展示计算维持预付金的Spv
/// </summary>
bool NeedShowSpv { get; }
/// <summary>
/// 是否是权益类预付金算法
/// </summary>
bool IsStockMargin { get; }
/// <summary>
/// 结算报告是否显示持仓预付金
/// </summary>
bool PositionDetialShowMargin { get; }
/// <summary>
/// TapConsoleWebServer
/// </summary>
string TapConsoleWebServer { get; }
/// <summary>
/// Web Base Url
/// </summary>
string YLErpWebUrl { get; }
/// <summary>
/// 是否使用更加精确的波动率
/// </summary>
bool VolMoreAccurate { get; }
/// <summary>
/// 是否包含客户端
/// </summary>
bool HasClientSide { get; }
/// <summary>
/// 客户端是否可以注册
/// </summary>
bool HasClientSign { get; }
/// <summary>
/// 公司ID(由镒链分配)
/// </summary>
string CompanyID { get; }
/// <summary>
/// 客户上传文件审核是否启用
/// </summary>
bool ClientFileAudit { get; }
/// <summary>
/// 客户上传文件审核记录
/// </summary>
string ClientFileAuditItems { get; }
/// <summary>
/// Qdp计算的并行度,小于等于1时代表不并行;该数字不要超过机器的CPU核数
/// </summary>
int QdpParallelDegree { get; }
/// <summary>
/// 外部定价引擎服务的Url地址
/// </summary>
string ExternalPricingServiceUrl { get; }
/// <summary>
/// 确认书用印记录
/// </summary>
bool ConfirmBookStampStatus { get; }
/// <summary>
/// 板块性质别名配置
/// </summary>
string UnderlyingBlockConfig { get; set; }
/// <summary>
/// 交易编号必须大写
/// </summary>
bool UpperTradeNumber { get; }
/// <summary>
/// 交易编号是否允许修改
/// </summary>
bool CanEditTradeNumber { get; }
/// <summary>
/// 能否设置和导出成交溢价和了结溢价
/// </summary>
bool CanSetTradePremium { get; set; }
/// <summary>
/// 场内期权是否使用行情价收盘
/// </summary>
bool ExchangeOptionSettleByPrice { get; }
/// <summary>
/// 多标的组合交易时使用单标的最大名义本金
/// </summary>
bool UseStockEqvNotionalMax { get; }
/// <summary>
/// 是否在实时风险中计算凤凰和雪球的所有greeks
/// </summary>
bool CalcAutocallGreeksInRisk { get; }
/// <summary>
/// 券商环境
/// </summary>
bool SecuritiesEnvironment { get; }
/// <summary>
/// 证券业报送定期报告最大可报告月
/// </summary>
int ReportMaxMonth { get; }
/// <summary>
/// 只使用结算确认书页面
/// </summary>
bool SettlementPageV2 { get; }
bool SAC_FtpUsePassive { get; }
/// <summary>
/// 远程地址
/// </summary>
string SAC_RemotePath { get; set; }
/// <summary>
/// 发件箱远程地址
/// </summary>
string SAC_RemotePath_Outbox { get; }
/// <summary>
/// FTP是否启用SSL
/// </summary>
bool SAC_EnableSsl { get; }
/// <summary>
/// 登录远程地址的用户名
/// </summary>
string SAC_RemoteUser { get; set; }
/// <summary>
/// 登录远程地址的密码
/// </summary>
string SAC_RemotePassword { get; set; }
/// <summary>
/// 金仕达视图附件FTP远程地址
/// </summary>
string KingstarView_RemotePath { get; set; }
/// <summary>
/// 金仕达视图附件FTP是否启用SSL
/// </summary>
bool KingstarView_EnableSsl { get; }
/// <summary>
/// 金仕达视图附件FTP登录远程地址的用户名
/// </summary>
string KingstarView_RemoteUser { get; set; }
/// <summary>
/// 金仕达视图附件FTP登录远程地址的密码
/// </summary>
string KingstarView_RemotePassword { get; set; }
/// <summary>
/// 金仕达视图附件FTP连接方式是否为被动模式
/// </summary>
bool KingstarView_FtpUsePassive { get; set; }
/// <summary>
/// 金仕达视图附件本地存放目录
/// </summary>
string KingstarView_LocalViewAttDir { get; set; }
/// <summary>
/// 金仕达视图附件FTP远程文件服务器存放根路径
/// </summary>
string KingstarView_RemoteFileRootPath { get; set; }
/// <summary>
/// FDEP收件箱目录
/// </summary>
string SAC_FDEPInboxPath { get; }
/// <summary>
/// FDEP发件箱目录
/// </summary>
string SAC_FDEPOutboxPath { get; }
/// <summary>
/// 子系统发件箱目录
/// <para>只支持本地系统</para>
/// </summary>
string SAC_SubSystemOutboxPath { get; }
/// <summary>
/// 子系统收件箱目录
/// <para>只支持本地系统</para>
/// </summary>
string SAC_SubSystemInboxPath { get; }
/// <summary>
/// 证券业报送中定期报告取值模式
/// <para>1=Db;</para>
/// <para>2=Excel模板;</para>
/// <para>3=Db+Excel模板(该方式中涉及百分比汇总计算时仍使用模板中数据)</para>
/// <para>4=金仕达视图(该方式只涉及互换确认书及存续期的数据)</para>
/// <para>5=Db+金仕达视图</para>
/// <para>6=Excel+金仕达视图</para>
/// <para>7=Db+Excel+金仕达视图</para>
/// </summary>
SAC_ReportDataSourceEnum SAC_ReportDataSource { get; }
/// <summary>
/// 金仕达视图链接字符串
/// </summary>
string KingstarViewConnectionString { get; }
/// <summary>
/// 金仕达视图链接名
/// </summary>
string KingstarViewTableSchema { get; }
/// <summary>
/// 是否隔离报备信息
/// </summary>
bool NeedIsolateSACInfo { get; }
/// <summary>
/// 严格的权限验证
/// </summary>
bool StrictAuthorize { get; }
/// <summary>
/// 禁用账号密码登录(仅允许SSO)
/// </summary>
bool DisablePasswordLogin { get; }
/// <summary>
/// 风险对冲累积总盈亏是否统计已过期的场内交易
/// </summary>
bool RiskAccPnl_SumExpiredExchangeTrades { get; }
/// <summary>
/// 收盘配置
/// </summary>
string SettlementConfig { get; }
/// <summary>
/// 用友科目编码
/// </summary>
string YongYouKeMuCode { get; }
/// <summary>
/// 成交首日结算波动率扣除比例
/// </summary>
string TradeOpenVolOff { get; }
/// <summary>
/// 接口审批
/// <para>0:不开启接口审批</para>
/// <para>1:仅使用接口审批</para>
/// <para>2:使用接口审批和系统审批(目前仅控制客户开户管理页面是否显示审批按钮)</para>
/// </summary>
int InterfaceApprovalMode { get; }
/// <summary>
/// 收盘时是否执行数据采集相关逻辑
/// </summary>
bool UseSettleDataAcquisition { get; }
/// <summary>
/// EodVar中百分比的默认值;
/// </summary>
double EodVarPvPercent { get; }
/// <summary>
/// 文件上传允许的文件类型(多个类型用'|'分隔),样例:.xlsx|.docx
/// </summary>
string UploadFileAccepts { get; }
/// <summary>
/// 交易定价要素配置(querystring格式)
/// </summary>
string TradePricingCfg { get; }
/// <summary>
/// 是否限制客户名义本金规模
/// </summary>
bool UseClientStockEqvNotional { get; }
/// <summary>
/// 平滑过渡日历处理模式
/// </summary>
SmoothingDaycountMode SmoothingDaycountMode { get; }
/// <summary>
/// 销售模式
/// </summary>
SaleMode SaleMode { get; }
/// <summary>
/// 累计转远期:远期多空和买卖方向赋值配置
/// </summary>
OptionTypeAndBuySell OptionTypeAndBuySell { get; }
/// <summary>
/// 远期开仓是否补偿远期价值
/// </summary>
ForwardValueIsSupplyOrPay ForwardValueIsSupplyOrPay { get; }
/// <summary>
/// 标的资产信息缓存配置
/// </summary>
string UnderlyingCacheCfg { get; }
/// <summary>
/// 是否禁止匿名访问文件(比如App_Docs文件夹中的文件)
/// </summary>
bool DisableAnonymousAccessFiles { get; }
/// <summary>
/// 远期交易价格模式
/// </summary>
ForwardTradePriceModel ForwardTradePriceModel { get; }
/// <summary>
/// (累计期权)使用'杠杆倍数
/// </summary>
bool AccumulatorShowMultiplier1 { get; }
/// <summary>
/// 实时风险-跳过特定交易类型的计算
/// </summary>
string RealtimeRisk_SkipTradeTypes { get; }
string SalesCommissionCalculation { get; }
/// <summary>
/// 启用外部API
/// </summary>
bool ExternalAPIForCustomCalcEnable { get; set; }
/// <summary>
/// 计算自定义交易的api地址
/// <para>目前仅有自定义结构变更和自定义交易计算时会用到</para>
/// <para>接口文档参考&lt;广期自定义交易结算API对接&gt;文件应该在腾讯文档上</para>
/// </summary>
string ExternalAPIForCustomCalc { get; set; }
/// <summary>
/// 调用外部Api计算自定义交易时的超时时间(秒)
/// <para>目前仅有自定义结构变更和自定义交易计算时会用到</para>
/// <para>接口文档参考&lt;广期自定义交易结算API对接&gt;文件应该在腾讯文档上</para>
/// </summary>
int ExternalAPIForCustomCalcTimeOut { get; set; }
/// <summary>
/// 收益互换 OA 移动审批状态查询间隔(秒)。
/// </summary>
int TradeApprovalOaSyncIntervalSeconds { get; set; }
bool IsForwardTradeToBuy { get; set; }
/// <summary>
/// 是否需要计算实时预警
/// </summary>
bool IsCalcRealtimeWarning { get; set; }
/// <summary>
/// 是否允许远程访问admin
/// </summary>
bool AdminEnableRemote { get; }
/// <summary>
/// 文件上传大小限制(单位KB)
/// </summary>
int UploadFileSizeLimit { get; }
/// <summary>
/// 对冲交易接口网址
/// </summary>
string HedgingTradeUrl { get; }
/// <summary>
/// 自定义报送结构类型
/// </summary>
string CustomStructureTypeSm { get; }
/// <summary>
/// 亚式期权观察日是否包含起算日
/// </summary>
bool AsianOptionObDatesIncludeStartDate { get; }
/// <summary>
/// 客户资金表是否要统计其他资金
/// </summary>
bool IsSumOthersOnClientCash { get; }
/// <summary>
/// 限制用户每分钟可以发送的最大邮件数量,如每分钟内发送的量超过限制,
/// 邮件将停留在发件箱,邮件被延迟到下一分钟,并最终被发送成功
/// </summary>
int MailMessageRateLimit { get; }
/// <summary>
/// 是否支持多币种結算
/// </summary>
bool SupportMultiCurrency { get; }
/// <summary>
/// 是否支持多日历
/// </summary>
bool SupportMultiCalendar { get; }
/// <summary>
/// 监管报告-场外业务持仓表-配置
/// </summary>
string Supervise_Position { get; }
/// <summary>
/// 日终结算时,到期的场内期权持仓自动执行平仓操作
/// </summary>
bool AutoCloseExpiriedExchangeOptionPosition { get; }
/// <summary>
/// 支持专业版雪球
/// </summary>
bool SuppotSnowballSpecialist { get; }
/// <summary>
/// 结算报告累计期权每观察日的了结数量是否包含乘数
/// </summary>
bool IsSettlementReportAccOptionContainMultiplier { get; }
/// <summary>
/// 结算报告配置(querystring格式)
/// </summary>
string TradeMarketReportCfg { get; }
/// <summary>
/// 场内期权波动率类型(Normal:跟随系统波动率模式,ImpliedVol:隐含波动率)
/// </summary>
ExchangeOptionVolType ExchangeOptionVolType { get; }
/// <summary>
/// 是否使用电子章系统对确认书进行自动用印并上传用印文件
/// </summary>
bool IsAutoSealAndUploadFiles { get; }
/// <summary>
/// 电子用印接口地址
/// </summary>
string SealApi { get; }
/// <summary>
/// 电子章用印关键字
/// </summary>
string SealKeyWord { get; }
/// <summary>
/// 确认书生成时是否自动用印
/// </summary>
bool IsAutoSealAfterGeneratedBook { get; }
/// <summary>
/// 收益互换浮动收益端默认为我方收取,并隐藏收支方向
/// </summary>
bool SwapFloatingIncomeReceiveOnlyMode { get; }
/// <summary>
/// 衡泰内证账号
/// </summary>
public string HTAccount { get; }
/// <summary>
/// 报送文件开始编号
/// </summary>
int ReportFileBeginNumber { get; }
/// <summary>
/// 登录Token过期时间(秒)
/// </summary>
int LoginTokenExpireSeconds { get; }
/// <summary>
/// 密码错误次数限制
/// </summary>
int PasswordErrorLimit { get; }
/// <summary>
/// 密码错误锁定时间(分钟)
/// </summary>
int PasswordErrorLockMinutes { get; }
/// <summary>
/// 收盘回调地址
/// </summary>
string EodExecCallbackUrl { get; }
}
}