优化“收益互换”确认书查询与编号生成逻辑
This commit is contained in:
@@ -186,6 +186,74 @@ namespace YLErp.Web.Controllers
|
||||
return Json(sList);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 互换确认书查询(只查询收益互换)
|
||||
/// </summary>
|
||||
public JsonResult SwapQuery(TradeReq req)
|
||||
{
|
||||
req.AssetIdList = AssetUnitModel.IntersectAssetUnits(req.AssetIdGroupList, req.AssetIdList).ToList();
|
||||
req.UserAssets = CurUser.GetAssetUnitIds();
|
||||
req.UserClients = CurUser.GetClientIdsByCurUser(CurUser.交易管理_查看所有交易);
|
||||
req.CurUserTradeIds = CurUser.GetTradeIdsByCurUser();
|
||||
// 只查询收益互换
|
||||
req.TradeTypes = "收益互换";
|
||||
var sList = new tradeBLL().SearchListForTradeConfirm(req);
|
||||
var rowList = sList.rows;
|
||||
// 增加交易确认书编号
|
||||
if (rowList != null && rowList.Any())
|
||||
{
|
||||
var tradeIds = rowList.Select(x => x.id).ToList();
|
||||
var tradeContractCodeList = (from tradeContractR in yldb.trade_contract_r
|
||||
join tradeContractDoc in (from tradeContractDocTemp in yldb.trade_contract_document where ContractTypeEnum.Trade == tradeContractDocTemp.Type select tradeContractDocTemp)
|
||||
on tradeContractR.ContractCode equals tradeContractDoc.Code into tradeContractDoc1
|
||||
from tradeContractDoc2 in tradeContractDoc1.DefaultIfEmpty()
|
||||
where tradeIds.Contains(tradeContractR.TradeId) && ContractTypeEnum.Trade == tradeContractR.Type && tradeContractR.Type == tradeContractDoc2.Type && tradeContractR.IsValid
|
||||
select new
|
||||
{
|
||||
tradeContractR.id,
|
||||
tradeContractR.TradeId,
|
||||
tradeContractR.ContractCode,
|
||||
tradeContractR.send_email_result,
|
||||
tradeContractDoc = tradeContractDoc2
|
||||
}).ToList();
|
||||
|
||||
foreach (var trade in rowList)
|
||||
{
|
||||
if (trade.TradeType == "合成价差期权")
|
||||
{
|
||||
trade.SyntheticUnderlyingTipsInfo = synthetic_underlyingBLL.GetUnderlyingTipsInfo(trade.UnderlyingCode);
|
||||
}
|
||||
var tradeContractinfo = tradeContractCodeList.FirstOrDefault(t => t.TradeId == trade.id);
|
||||
trade.MetaDic["send_email_result"] = "";
|
||||
if (tradeContractinfo != null)
|
||||
{
|
||||
trade.ContractCode = tradeContractinfo.ContractCode;
|
||||
if (null != tradeContractinfo.tradeContractDoc)
|
||||
{
|
||||
trade.MetaDic["ContractEncryptId"] = tradeContractinfo.tradeContractDoc.EncryptId;
|
||||
trade.MetaDic["ContractRId"] = tradeContractinfo.id.ToString();
|
||||
trade.MetaDic["ContractDocUrl"] = tradeContractinfo.tradeContractDoc.RelativePath;
|
||||
trade.MetaDic["HasGeneratedConfirmBook"] = "True";
|
||||
trade.MetaDic["send_email_result"] = tradeContractinfo.send_email_result;
|
||||
}
|
||||
else
|
||||
{
|
||||
trade.MetaDic["ContractEncryptId"] = "";
|
||||
trade.MetaDic["ContractRId"] = tradeContractinfo.id.ToString();
|
||||
trade.MetaDic["HasGeneratedConfirmBook"] = "False";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
trade.MetaDic["ContractEncryptId"] = "";
|
||||
trade.MetaDic["ContractRId"] = "";
|
||||
trade.MetaDic["HasGeneratedConfirmBook"] = "False";
|
||||
}
|
||||
}
|
||||
}
|
||||
return Json(sList);
|
||||
}
|
||||
|
||||
public async Task<ActionResult> SentMail(string enid, List<string> reciver)
|
||||
{
|
||||
var result = await DoSendMailSywg(enid, reciver);
|
||||
|
||||
Reference in New Issue
Block a user