41 lines
1.5 KiB
C#
41 lines
1.5 KiB
C#
using NPOI.SS.Formula.Functions;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using YLErp.BLL;
|
|
using YLErp.Modules;
|
|
|
|
namespace YLErp.CustomizedBizLogic
|
|
{
|
|
/// <summary>
|
|
/// 广发商贸编码规则
|
|
/// </summary>
|
|
public class BizLogicGFSM : BizLogicDefault
|
|
{
|
|
/// <summary>
|
|
/// 交易编号
|
|
/// </summary>
|
|
/// <param name="reqModel"></param>
|
|
/// <param name="db"></param>
|
|
/// <returns></returns>
|
|
public override string GenerateTradeNumberBeforeConfirm(TradeNumberReqModel reqModel, YLContext db)
|
|
{
|
|
var client = DataCacheProvider.GetClientDataSource().GetData(reqModel.clientId);
|
|
var tradeNumbers = new List<string>();
|
|
var tradeDate = reqModel.trade.TradeDate ?? reqModel.trade.StartDate;
|
|
tradeNumbers = db.trade.Where(x => x.ParentTradeId == 0 && x.ValidState != "InValid" && x.TradeDate == tradeDate).Select(x => x.TradeNumber).ToList();
|
|
var count = tradeNumbers.Count + 1;
|
|
var tradeNumber = client.Number + "-" + tradeDate.Value.ToString("yyyyMMdd") + count.ToString().PadLeft(3, '0');
|
|
return tradeNumber;
|
|
}
|
|
|
|
public override string GenerateSubTradeNumberBeforeConfirm(trade curLeg, trade masterTrade, int legIndex, YLContext db)
|
|
{
|
|
string tradeNumber = masterTrade.TradeNumber + "-" + legIndex.ToString();
|
|
return tradeNumber;
|
|
}
|
|
}
|
|
}
|