();
- var hasDefaultTerm = false;
-
+ var hasUnderFiveYear = false;
+
if (details != null)
{
foreach (var dto in details)
{
- // 默认期限(空字符串)必填
- if (string.IsNullOrEmpty(dto.bond_term))
+ // <5y期限必填
+ if (dto.bond_term == ConsMarginTerm.UnderFiveYear)
{
if (!dto.init_rate.HasValue || !dto.maintain_rate.HasValue)
{
- return JsonError("默认期限的初始保证金率和维持保证金率必须填写");
+ return JsonError("<5y期限的初始保证金率和维持保证金率必须填写");
}
- hasDefaultTerm = true;
-
+ hasUnderFiveYear = true;
+
detailEntities.Add(new client_margin_detail
{
- bond_term = "",
- init_rate = dto.init_rate.Value / 100, // 转换百分比
- maintain_rate = dto.maintain_rate.Value / 100, // 转换百分比
+ bond_term = ConsMarginTerm.UnderFiveYear,
+ init_rate = dto.init_rate.Value / 100,
+ maintain_rate = dto.maintain_rate.Value / 100,
swap_days = dto.swap_days ?? 0
});
}
@@ -139,35 +140,33 @@ namespace YLErp.Web.Controllers
// 其他期限非必填,但如果填写了任何字段就需要验证
if (dto.init_rate.HasValue || dto.maintain_rate.HasValue || dto.swap_days.HasValue)
{
- // 如果swap_days有值,则init_rate和maintain_rate必须有值
if (dto.swap_days.HasValue && (!dto.init_rate.HasValue || !dto.maintain_rate.HasValue))
{
return JsonError($"期限\"{dto.bond_term}\":当互换默认天数有值时,初始保证金率和维持保证金率必须填写");
}
-
+
detailEntities.Add(new client_margin_detail
{
bond_term = dto.bond_term,
- init_rate = (dto.init_rate ?? 0) / 100, // 转换百分比
- maintain_rate = (dto.maintain_rate ?? 0) / 100, // 转换百分比
+ init_rate = (dto.init_rate ?? 0) / 100,
+ maintain_rate = (dto.maintain_rate ?? 0) / 100,
swap_days = dto.swap_days ?? 0
});
}
}
}
}
-
- // 验证默认期限必须填写
- if (!hasDefaultTerm)
+
+ if (!hasUnderFiveYear)
{
- return JsonError("默认期限的保证金配置信息必须填写");
+ return JsonError("<5y期限的保证金配置信息必须填写");
}
new ClientMarginConfigService(CurUser).SaveMarginConfigWithDetails(marginConfig, detailEntities);
if (_cache != null)
{
// 删除缓存ClientMarginRate开头的key
- _cache.BatchDelete("ClientMarginRate:*");
+ _cache.BatchDelete("Otc:ClientMarginRate:*");
}
return JsonSuccess("已修改");
}
diff --git a/YLErpWeb/Views/ClientMarginConfig/ClientMarginConfigEdit.cshtml b/YLErpWeb/Views/ClientMarginConfig/ClientMarginConfigEdit.cshtml
index 6940667d..7754a8cf 100644
--- a/YLErpWeb/Views/ClientMarginConfig/ClientMarginConfigEdit.cshtml
+++ b/YLErpWeb/Views/ClientMarginConfig/ClientMarginConfigEdit.cshtml
@@ -43,15 +43,15 @@
var initRateInput = row.querySelector('input[name*="init_rate"]');
var maintainRateInput = row.querySelector('input[name*="maintain_rate"]');
var swapDaysInput = row.querySelector('input[name*="swap_days"]');
-
+
var initRateValue = initRateInput.value.trim();
var maintainRateValue = maintainRateInput.value.trim();
var swapDaysValue = swapDaysInput.value.trim();
-
+
var initRate = initRateValue === '' ? null : parseFloat(initRateValue);
var maintainRate = maintainRateValue === '' ? null : parseFloat(maintainRateValue);
var swapDays = swapDaysValue === '' ? null : parseInt(swapDaysValue);
-
+
// 验证数值不能为负数
if (initRate !== null && initRate < 0) {
hasError = true;
@@ -68,12 +68,12 @@
errorMessage = "互换天数不能为负数";
return;
}
-
- // 默认数据(第一条,bond_term为空)的所有字段都必填
- if (bondTerm === "") {
+
+ // <5y期限的所有字段都必填
+ if (bondTerm === "<5y") {
if (initRate === null || maintainRate === null || swapDays === null) {
hasError = true;
- errorMessage = "默认配置的所有字段都必须填写";
+ errorMessage = "<5y期限配置的所有字段都必须填写";
return;
}
details.push({
@@ -89,7 +89,7 @@
errorMessage = "当保证金率有值时,互换天数必须填写";
return;
}
-
+
// 当保证金率与互换天数都为空时,不加到details里
if (initRate !== null || maintainRate !== null || swapDays !== null) {
details.push({
diff --git a/YLErpWeb/Views/underlying_manager/underlying_managerEdit.cshtml b/YLErpWeb/Views/underlying_manager/underlying_managerEdit.cshtml
index db4e13a7..6ea28715 100644
--- a/YLErpWeb/Views/underlying_manager/underlying_managerEdit.cshtml
+++ b/YLErpWeb/Views/underlying_manager/underlying_managerEdit.cshtml
@@ -302,6 +302,17 @@
+
+
+
+
+
diff --git a/YLErpWeb/Views/underlying_manager/underlying_managerView.cshtml b/YLErpWeb/Views/underlying_manager/underlying_managerView.cshtml
index f22e7837..731c26d4 100644
--- a/YLErpWeb/Views/underlying_manager/underlying_managerView.cshtml
+++ b/YLErpWeb/Views/underlying_manager/underlying_managerView.cshtml
@@ -169,6 +169,12 @@
@(bond.IssueSize.OtcFormatMoney()) |
@Html.MyDisplayFor(m => m.Price)
+
+ | 债券期限 |
+ @(bond.BondTerm) |
+ |
+ |
+
}