入库确认费用
parent
f2a33a90e5
commit
3110e299b0
@ -0,0 +1,503 @@
|
|||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace DS.WMS.Core.FeeModule.Entity;
|
||||||
|
|
||||||
|
[SugarTable("ch_fee")]
|
||||||
|
public class Fee
|
||||||
|
{
|
||||||
|
[SugarColumn(IsPrimaryKey = true)]
|
||||||
|
public string GID { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string BSNO { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:0
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public int? FEETYPE { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string FEENAME { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string FEEDESCRIPTION { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string CUSTOMERTYPE { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string CUSTOMERNAME { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string UNIT { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:0
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public decimal? UNITPRICE { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:0
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public decimal? QUANTITY { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:0
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public decimal? AMOUNT { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string CURRENCY { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:0
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public decimal? EXCHANGERATE { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string REASON { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string REMARK { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:0
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public decimal? COMMISSIONRATE { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:0
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public decimal? SETTLEMENT { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:0
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public decimal? INVOICE { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:0
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public decimal? ORDERAMOUNT { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:0
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public decimal? ORDERINVOICE { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? SUBMITDATE { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string AUDITOPERATOR { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? AUDITDATE { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string ENTEROPERATOR { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:DateTime.Now
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? ENTERDATE { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string DEBITNO { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:0
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public bool? ISDEBIT { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:0
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public bool? ISOPEN { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:0
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public bool? ISADVANCEDPAY { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public int? SORT { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:0
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public bool? ISINVOICE { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:1
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public int? FEESTATUS { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string FEEFRT { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:0
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public bool? ISCRMORDERFEE { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:0
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public int? AUDITSTATUS { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string INVOICENUM { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string CHEQUENUM { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string WMSOUTBSNO { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:0
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public int? LINENUM { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public decimal? TAXRATE { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public decimal? NOTAXAMOUNT { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public decimal? ACCTAXRATE { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:0
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public bool? ISVOU { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string VOUCHERNO { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string ACCDATE { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string BXGID { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public decimal? TAX { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string F_NO { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public decimal? ORDERSETTLEMENT { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public decimal? TAXUNITPRICE { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public decimal? ORDERINVSETTLEMENT { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string MODIFIEDUSER { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? MODIFIEDTIME { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string VOUALLNO { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string SALESNO { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string CARGO_GID { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string JKGID { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public decimal? PREAMOUNT { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string INPUTMODE { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string DELIVERYNO { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string LOCALCURR { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string MANAGER { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string MBSNO { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public bool? ISACC { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string PaymentGID { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string STATEMENTNO { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public string SALECORP { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public bool? CUSTDUI { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:
|
||||||
|
/// Default:0
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public bool? ISDJY { get; set; }
|
||||||
|
|
||||||
|
public void setTax(ref Fee ch_fee) {
|
||||||
|
var taxrateb = 1 + ch_fee.TAXRATE / 100;
|
||||||
|
ch_fee.NOTAXAMOUNT = ch_fee.AMOUNT / taxrateb;
|
||||||
|
ch_fee.TAX = ch_fee.AMOUNT - ch_fee.NOTAXAMOUNT;
|
||||||
|
if (ch_fee.QUANTITY > 0)
|
||||||
|
{
|
||||||
|
ch_fee.UNITPRICE = ch_fee.NOTAXAMOUNT / ch_fee.QUANTITY;
|
||||||
|
ch_fee.TAXUNITPRICE = ch_fee.AMOUNT / ch_fee.QUANTITY;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ch_fee.UNITPRICE = ch_fee.NOTAXAMOUNT;
|
||||||
|
ch_fee.TAXUNITPRICE = ch_fee.AMOUNT;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,35 @@
|
|||||||
|
using DS.Module.Core;
|
||||||
|
using DS.WMS.Core.FeeModule.Entity;
|
||||||
|
using DS.WMS.Core.WmsModule.Entity;
|
||||||
|
|
||||||
|
namespace DS.WMS.Core.FeeModule.Interface;
|
||||||
|
|
||||||
|
public interface IWmsFeeComonService
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 初始化库存费率
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="wmsId"></param>
|
||||||
|
/// <param name="doFees"></param>
|
||||||
|
/// <param name="feeTypeGid"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public DataResult<List<OP_WMS_FEERATE_STORE_DETAIL>> InitOpWmsStoreRate (Guid wmsId,List<OP_WMS_FEERATE_DO_DETAIL> doFees, Guid? feeTypeGid);
|
||||||
|
/// <summary>
|
||||||
|
/// 获取费用记录表
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="inDo"></param>
|
||||||
|
/// <param name="wms"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public DataResult<OP_WMS_FEEPAYINFO> InitOpWmsPayInfo (OP_WMS_IN_DO inDo, OP_WMS wms);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 入库现结费用
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="doFees"></param>
|
||||||
|
/// <param name="details"></param>
|
||||||
|
/// <param name="inDo"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public DataResult<List<Fee>> InitOpWmsFee(List<OP_WMS_FEERATE_DO_DETAIL> doFees,
|
||||||
|
List<OP_WMS_IN_DO_GOODS> details, OP_WMS_IN_DO inDo, List<CodeFee> codeFees);
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,158 @@
|
|||||||
|
using DS.Module.Core;
|
||||||
|
using DS.Module.Core.Extensions;
|
||||||
|
using DS.Module.UserModule;
|
||||||
|
using DS.WMS.Core.FeeModule.Entity;
|
||||||
|
using DS.WMS.Core.FeeModule.Interface;
|
||||||
|
using DS.WMS.Core.WmsModule.Entity;
|
||||||
|
using Mapster;
|
||||||
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace DS.WMS.Core.FeeModule.Method;
|
||||||
|
/// <summary>
|
||||||
|
/// 费用公共方法
|
||||||
|
/// </summary>
|
||||||
|
public class WmsFeeComonService:IWmsFeeComonService
|
||||||
|
{
|
||||||
|
private readonly IServiceProvider _serviceProvider;
|
||||||
|
private readonly ISqlSugarClient db;
|
||||||
|
private readonly IUser user;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 构造函数
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="serviceProvider"></param>
|
||||||
|
public WmsFeeComonService(IServiceProvider serviceProvider)
|
||||||
|
{
|
||||||
|
_serviceProvider = serviceProvider;
|
||||||
|
db = _serviceProvider.GetRequiredService<ISqlSugarClient>();
|
||||||
|
user = _serviceProvider.GetRequiredService<IUser>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public DataResult<List<OP_WMS_FEERATE_STORE_DETAIL>> InitOpWmsStoreRate(Guid wmsId, List<OP_WMS_FEERATE_DO_DETAIL> doFees, Guid? feeTypeGid)
|
||||||
|
{
|
||||||
|
var res = new List<OP_WMS_FEERATE_STORE_DETAIL>();
|
||||||
|
if (feeTypeGid.IsNull())
|
||||||
|
{
|
||||||
|
feeTypeGid = doFees.Where(x => x.GoodsFeeTypeGID.IsNotNull()).First().GoodsFeeTypeGID;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var item in doFees)
|
||||||
|
{
|
||||||
|
if (item.GOODSFEETYPE.IsNullOrEmpty() || item.GoodsFeeTypeGID == feeTypeGid)
|
||||||
|
{
|
||||||
|
var newfeerate = item.Adapt<OP_WMS_FEERATE_STORE_DETAIL>();
|
||||||
|
newfeerate.PID = wmsId;
|
||||||
|
res.Add(newfeerate);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return DataResult<List<OP_WMS_FEERATE_STORE_DETAIL>>.Success(res);
|
||||||
|
}
|
||||||
|
|
||||||
|
public DataResult<OP_WMS_FEEPAYINFO> InitOpWmsPayInfo(OP_WMS_IN_DO inDo, OP_WMS wms)
|
||||||
|
{
|
||||||
|
var res = new OP_WMS_FEEPAYINFO();
|
||||||
|
|
||||||
|
// res.GID = Guid.NewGuid();
|
||||||
|
res.WMSID = wms.WMSID;
|
||||||
|
res.WMSBASEID = wms.WMSBASEID==null?Guid.Empty: (Guid)wms.WMSBASEID;
|
||||||
|
res.FEESTARTDATE = (DateTime)wms.FEESTARTDATE;
|
||||||
|
|
||||||
|
res.ARCLIENTWMSOUT = wms.ARCLIENTWMSOUT;
|
||||||
|
res.ARCLIENTWMSIN = wms.ARCLIENTWMSOUT;
|
||||||
|
res.ARCLIENTWMS_OUTDO = wms.ARCLIENTWMSOUT;
|
||||||
|
|
||||||
|
res.APCLIENTWMSOUT = inDo.APCLIENTWMSOUT;
|
||||||
|
res.APCLIENTWMSIN = inDo.APCLIENTWMSOUT;
|
||||||
|
res.APCLIENTWMS_OUTDO = inDo.APCLIENTWMSOUT;
|
||||||
|
|
||||||
|
res.STORAGEUNITCOUNT = wms.STORAGEUNITCOUNT;
|
||||||
|
|
||||||
|
res.FEERATEWMSID = wms.WMSID;
|
||||||
|
res.SOURCEDOID = wms.WMSID;
|
||||||
|
return DataResult<OP_WMS_FEEPAYINFO>.Success(res);
|
||||||
|
}
|
||||||
|
|
||||||
|
public DataResult<List<Fee>> InitOpWmsFee(List<OP_WMS_FEERATE_DO_DETAIL> doFees, List<OP_WMS_IN_DO_GOODS> details, OP_WMS_IN_DO inDo,List<CodeFee> codeFees)
|
||||||
|
{
|
||||||
|
var res = new List<Fee>();
|
||||||
|
foreach (var item in doFees)
|
||||||
|
{
|
||||||
|
if (item.FEEMAKETYPE=="入库现结")
|
||||||
|
{
|
||||||
|
decimal num = 0.0m;
|
||||||
|
if (item.DEFAULTUNIT == "计费单位")
|
||||||
|
{
|
||||||
|
foreach (var detail in details)
|
||||||
|
{
|
||||||
|
num += (decimal)(detail.STORAGEUNITCOUNT);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
if (item.DEFAULTUNIT == "单票") num = 1;
|
||||||
|
if (item.DEFAULTUNIT == "单柜")
|
||||||
|
{
|
||||||
|
//遍历入库执行明细 看看有几个箱号
|
||||||
|
var cntrnolist = new List<string>();
|
||||||
|
foreach (var detail in details)
|
||||||
|
{
|
||||||
|
if (!cntrnolist.Exists(x => x == detail.CNTRNO))
|
||||||
|
{
|
||||||
|
cntrnolist.Add(detail.CNTRNO);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
num = cntrnolist.Count();
|
||||||
|
};
|
||||||
|
decimal amount = num * item.FEEPRICE.ToDecimal();
|
||||||
|
if (amount != 0)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (res.Count == 0 || !res.Any(e => e.FEENAME == item.FEENAME))
|
||||||
|
{
|
||||||
|
var codefee = codeFees.First(x => x.NAME == item.FEENAME);
|
||||||
|
//给列表增加一条费用
|
||||||
|
var newfee = new Fee()
|
||||||
|
{
|
||||||
|
GID = Guid.NewGuid().ToString(),
|
||||||
|
SETTLEMENT = 0,
|
||||||
|
ORDERAMOUNT = 0,
|
||||||
|
ORDERINVOICE = 0,
|
||||||
|
ORDERINVSETTLEMENT = 0,
|
||||||
|
INVOICE = 0,
|
||||||
|
CURRENCY = "RMB",
|
||||||
|
EXCHANGERATE = 1,
|
||||||
|
ENTERDATE = DateTime.Now,
|
||||||
|
ENTEROPERATOR = user.GetUserGID(),
|
||||||
|
FEESTATUS = 1,
|
||||||
|
TAXRATE = 0,
|
||||||
|
ISADVANCEDPAY = false,
|
||||||
|
ISINVOICE = false,
|
||||||
|
ISCRMORDERFEE = false,
|
||||||
|
INPUTMODE = "月结",
|
||||||
|
};
|
||||||
|
newfee.BSNO = inDo.WMSDOID.ToString().ToUpper();
|
||||||
|
//newfee.SetCreateDefaultVal();
|
||||||
|
//newfee.FEENAME = 入库计划费率.FEENAME;
|
||||||
|
newfee.UNITPRICE = item.FEEPRICE;
|
||||||
|
newfee.QUANTITY = num;
|
||||||
|
newfee.AMOUNT = amount;
|
||||||
|
newfee.CUSTOMERNAME = inDo.CUSTOMERNAME;
|
||||||
|
newfee.FEETYPE = item.FEETYPE;
|
||||||
|
newfee.setTax(ref newfee);
|
||||||
|
res.Add(newfee);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var fee = res.First(e => e.FEENAME == item.FEENAME);
|
||||||
|
var index = res.IndexOf(fee);
|
||||||
|
fee.QUANTITY = fee.QUANTITY + num;
|
||||||
|
fee.AMOUNT = fee.AMOUNT + amount;
|
||||||
|
fee.setTax(ref fee);
|
||||||
|
res[index] = fee;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return DataResult<List<Fee>>.Success(res);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue