72 lines
2.6 KiB
C#
72 lines
2.6 KiB
C#
using YLErp.BLL;
|
|
using YLErp.Model;
|
|
|
|
namespace YLErp.Modules.TradeModule.DealModule
|
|
{
|
|
/// <summary>
|
|
/// 交易流程服务
|
|
/// </summary>
|
|
public class TradeProcessService : TradeServiceBase
|
|
{
|
|
public TradeProcessService(YLBaseService baseService) : base(baseService)
|
|
{
|
|
}
|
|
|
|
public TradeProcessService(OptUserInfo userInfo) : base(userInfo)
|
|
{
|
|
}
|
|
|
|
/// <summary>
|
|
/// from trade_cashcontroller.DenyReCheck
|
|
/// </summary>
|
|
public void DenyReCheck(TradeCashReq req)
|
|
{
|
|
var td = DbContext.trade.Find(req.TradeId);
|
|
if (td == null || (td.TradeStatus != ConsTrade.行权待复核 && td.TradeStatus != ConsTrade.平仓待复核 && td.TradeStatus != ConsTrade.互换待复核))
|
|
{
|
|
throw new ServiceException("拒绝失败,找不到要平仓的主交易,该交易不处于待复核状态,不能被拒绝!");
|
|
}
|
|
var delTradeCashes = DbContext.trade_cash.Where(O => O.TradeId == req.TradeId && O.ValidState == "InValid" && !O.IsDeleted);
|
|
DbContext.trade_cash.RemoveRange(delTradeCashes);
|
|
DbContext.SaveChanges();
|
|
|
|
//存在审批流程时,审批流程也进入拒绝状态
|
|
if (valuedateBLL.SystemDate.CloseReApprove == 1 && HasTradeProcess())
|
|
{
|
|
var result = new TradeOpenService(this).UpdateTradeProcessLog(new TradeOpenReqModel
|
|
{
|
|
tradeId = td.id,
|
|
status = "reject",
|
|
comments = "提前终止拒绝成功"
|
|
});
|
|
if (result.RetCode != TradeOpenRetCode.Success && !string.IsNullOrWhiteSpace(result.ErrorMsg))
|
|
{
|
|
throw new ServiceException("提前终止拒绝失败");
|
|
}
|
|
return;
|
|
}
|
|
|
|
td.TradeStatus = ConsTrade.提前终止拒绝;
|
|
td.IsApproval = false;
|
|
AddTradeOperationHistoryAndSetParentTradeInfo(false, td, "提前终止拒绝");
|
|
|
|
DbContext.SaveChanges();
|
|
}
|
|
/// <summary>
|
|
/// 分组了结 主交易复核拒绝
|
|
/// </summary>
|
|
/// <param name="parentTradeId"></param>
|
|
public void DenyReCheckByParent(int parentTradeId)
|
|
{
|
|
var result = new TradeOpenService(OptUser).UpdateParentTradeProcessLog(new TradeOpenReqModel
|
|
{
|
|
tradeId = parentTradeId,
|
|
status = "reject",
|
|
comments = "",
|
|
ignoreMoneyCheck = false
|
|
});
|
|
|
|
}
|
|
}
|
|
}
|