|
|
@ -19,6 +19,19 @@ using Win.Sfs.Shared.RepositoryBase; |
|
|
|
|
|
|
|
namespace Win.Sfs.SettleAccount.Entities.BQ.Managers |
|
|
|
{ |
|
|
|
|
|
|
|
public class tempAmt1 |
|
|
|
{ |
|
|
|
public decimal Amt { set; get; } |
|
|
|
public decimal TaxAmt { set; get; } |
|
|
|
|
|
|
|
public decimal Tax { set; get; } |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public partial class INV_MNG : DomainService |
|
|
|
{ |
|
|
|
//private readonly INormalEfCoreRepository<TCAN_SA, Guid> _canRepository;
|
|
|
@ -521,7 +534,6 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers |
|
|
|
await _repository.DbContext.BulkUpdateAsync(invList).ConfigureAwait(false); |
|
|
|
return true; |
|
|
|
} |
|
|
|
|
|
|
|
else if (inv.BusinessType == EnumBusinessType.JisHBPO || inv.BusinessType == EnumBusinessType.MaiDanJianHBPO) |
|
|
|
{ |
|
|
|
var pdlist = _pdhbpoRepository.Where(p => p_invs.Contains(p.BillNum)).ToList();//包含发票号的代扣减单
|
|
|
@ -545,7 +557,6 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers |
|
|
|
oldlist = pdoldlist.Select(p => p.BillNum).ToList();//已经存在扣减记录,的发票号
|
|
|
|
} |
|
|
|
newlist = p_invs.Where(p => !oldlist.Contains(p)).ToList();//不存在扣减记录的发票号
|
|
|
|
|
|
|
|
List<HBPO_CAN_SA_DETAIL> entityList = new List<HBPO_CAN_SA_DETAIL>();//结算明细
|
|
|
|
var namelist = invList.Select(p => p.InvbillNum).ToList(); |
|
|
|
if (oldlist.Count > 0) |
|
|
@ -1092,18 +1103,28 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers |
|
|
|
{ |
|
|
|
detailList.AddRange(_entityDetailList); |
|
|
|
} |
|
|
|
decimal amt = detailList.Sum(k => k.Amt);//金额
|
|
|
|
decimal txtAmt = detailList.Sum(k => k.Amt) + Math.Round(detailList.Sum(k => k.Amt) * 0.13m, 2);//税后金额
|
|
|
|
decimal readAmt = Math.Round(detailList.Sum(k => k.Amt) * 0.13m, 2);//税额
|
|
|
|
|
|
|
|
//decimal amt = detailList.Sum(k => k.Amt);
|
|
|
|
//decimal txtAmt = Math.Round(detailList.Sum(k => k.Amt), 2);
|
|
|
|
List<tempAmt1> amtList = new List<tempAmt1>(); |
|
|
|
foreach (var itm in detailList) |
|
|
|
{ |
|
|
|
amtList.Add(new tempAmt1() |
|
|
|
{ |
|
|
|
Amt = itm.Amt, |
|
|
|
Tax = Math.Round(itm.Amt * 0.13m, 2), |
|
|
|
TaxAmt = itm.Amt + Math.Round(itm.Amt * 0.13m, 2) |
|
|
|
}); |
|
|
|
} |
|
|
|
decimal amt = amtList.Sum(k => k.Amt);//金额
|
|
|
|
decimal txtAmt = amtList.Sum(k => k.TaxAmt);//税后金额
|
|
|
|
decimal readAmt = amtList.Sum(k => k.Tax);//税额
|
|
|
|
|
|
|
|
//decimal amt = detailList.Sum(k => k.Amt);//金额
|
|
|
|
//decimal txtAmt = detailList.Sum(k => k.Amt) + Math.Round(detailList.Sum(k => k.Amt) * 0.13m, 2);//税后金额
|
|
|
|
//decimal readAmt = Math.Round(detailList.Sum(k => k.Amt) * 0.13m, 2);//税额
|
|
|
|
|
|
|
|
var contractList = ls.Select(p => p.ContractDocID).Distinct(); |
|
|
|
var _groupList = dtos.Where(p => contractList.Contains(p.ContractDocID)).GroupBy(p => new { p.GroupNum }) |
|
|
|
.Select(p => new { GroupNum = p.Key.GroupNum, Amt = p.Sum(itm => itm.Amt) }).Distinct(); |
|
|
|
//var _groupList = dtos.GroupBy(p => new { p.GroupNum })
|
|
|
|
// .Select(p => new { GroupNum = p.Key.GroupNum, Amt = p.Sum(itm => itm.Amt) }).Distinct();
|
|
|
|
List<INVOICE_MAP_GROUP> group1 = new List<INVOICE_MAP_GROUP>(); |
|
|
|
|
|
|
|
foreach (var en in _groupList) |
|
|
@ -1317,13 +1338,16 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers |
|
|
|
ContactDocID = itm.Key.ContractDocID, |
|
|
|
Price = itm.Key.Price, |
|
|
|
Amt = Math.Round(itm.Sum(k => k.Qty) * itm.Key.Price, 2), |
|
|
|
Tax = Math.Round(Math.Round(itm.Sum(k => k.Qty) * itm.Key.Price, 2) * 0.13m, 2),//税
|
|
|
|
TaxAmt = Math.Round(Math.Round(itm.Sum(k => k.Qty) * itm.Key.Price, 2) * 0.13m, 2) + Math.Round(itm.Sum(k => k.Qty) * itm.Key.Price, 2),//税后进
|
|
|
|
|
|
|
|
Qty = itm.Sum(k => k.Qty), |
|
|
|
BeginDate = itm.Key.BeginDate, |
|
|
|
EndDate = itm.Key.EndDate |
|
|
|
}).ToList(); |
|
|
|
decimal amt = detailDtos.Sum(k => k.Amt);//金额
|
|
|
|
decimal txtAmt = detailDtos.Sum(k => k.Amt) + Math.Round(detailDtos.Sum(k => k.Amt) * 0.13m, 2);//税后金额
|
|
|
|
decimal realAmt = Math.Round(detailDtos.Sum(k => k.Amt) * 0.13m, 2);//税额
|
|
|
|
decimal txtAmt = detailDtos.Sum(k => k.TaxAmt);//税后金额
|
|
|
|
decimal realAmt = detailDtos.Sum(k => k.Tax);//税额
|
|
|
|
|
|
|
|
var mapList = new List<INVOICE_MAP_GROUP>(); |
|
|
|
foreach (var groupnum in ls) |
|
|
@ -1770,9 +1794,21 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
decimal amt = detailList.Sum(k => k.Amt);//金额
|
|
|
|
decimal txtAmt = detailList.Sum(k => k.Amt) + Math.Round(detailList.Sum(k => k.Amt) * 0.13m, 2);//税后金额
|
|
|
|
decimal realAmt = Math.Round(detailList.Sum(k => k.Amt) * 0.13m, 2);//税额
|
|
|
|
List<tempAmt1> templs = new List<tempAmt1>(); |
|
|
|
foreach (var itm in _entityDetailList) |
|
|
|
{ |
|
|
|
templs.Add(new tempAmt1() |
|
|
|
{ |
|
|
|
Amt = itm.Amt, |
|
|
|
Tax = Math.Round(itm.Amt * 0.13m, 2), |
|
|
|
TaxAmt = itm.Amt + Math.Round(itm.Amt * 0.13m, 2) |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
decimal amt = templs.Sum(k => k.Amt);//金额
|
|
|
|
decimal txtAmt = templs.Sum(k => k.TaxAmt);//税后金额
|
|
|
|
decimal realAmt = templs.Sum(k => k.Tax); |
|
|
|
|
|
|
|
var invbill = new INVOICE_GRP |
|
|
|
(guid: GuidGenerator.Create(), |
|
|
|
realnvBillNum: string.Empty, |
|
|
@ -1918,14 +1954,16 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers |
|
|
|
ContactDocID = itm.Key.ContractDocID, |
|
|
|
Price = itm.Key.Price, |
|
|
|
Amt = Math.Round(itm.Sum(k => k.Qty) * itm.Key.Price, 2), |
|
|
|
Tax = Math.Round(Math.Round(itm.Sum(k => k.Qty) * itm.Key.Price, 2) * 0.13m, 2),//税
|
|
|
|
TaxAmt = Math.Round(Math.Round(itm.Sum(k => k.Qty) * itm.Key.Price, 2) * 0.13m, 2) + Math.Round(itm.Sum(k => k.Qty) * itm.Key.Price, 2),//税后进
|
|
|
|
Qty = itm.Sum(k => k.Qty), |
|
|
|
BeginDate = itm.Key.BeginDate, |
|
|
|
EndDate = itm.Key.EndDate |
|
|
|
}) |
|
|
|
.ToList(); |
|
|
|
decimal amt = detailDtos.Sum(k => k.Amt);//金额
|
|
|
|
decimal txtAmt = detailDtos.Sum(k => k.Amt) + Math.Round(detailDtos.Sum(k => k.Amt) * 0.13m, 2);//税后金额
|
|
|
|
decimal realAmt = Math.Round(detailDtos.Sum(k => k.Amt) * 0.13m, 2);//税额
|
|
|
|
decimal txtAmt = detailDtos.Sum(k => k.TaxAmt) ;//税后金额
|
|
|
|
decimal realAmt = detailDtos.Sum(k => k.Tax);//税额
|
|
|
|
var mapList = new List<INVOICE_MAP_GROUP>(); |
|
|
|
foreach (var groupnum in ls) |
|
|
|
{ |
|
|
@ -2212,7 +2250,9 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers |
|
|
|
LU = itm.Key.PartCode, |
|
|
|
ContactDocID = itm.Key.ContractDocID, |
|
|
|
Price = itm.Key.Price, |
|
|
|
Amt = Math.Round(itm.Sum(k => k.Qty) * itm.Key.Price, 2), |
|
|
|
Amt = Math.Round(itm.Sum(k => k.Qty) * itm.Key.Price, 2),//税前
|
|
|
|
Tax = Math.Round(Math.Round(itm.Sum(k => k.Qty) * itm.Key.Price, 2) * 0.13m, 2),//税
|
|
|
|
TaxAmt = Math.Round(Math.Round(itm.Sum(k => k.Qty) * itm.Key.Price, 2) * 0.13m, 2) + Math.Round(itm.Sum(k => k.Qty) * itm.Key.Price, 2),//税后
|
|
|
|
Qty = itm.Sum(k => k.Qty), |
|
|
|
BeginDate = itm.Key.BeginDate, |
|
|
|
EndDate = itm.Key.EndDate |
|
|
@ -2254,8 +2294,8 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers |
|
|
|
}; |
|
|
|
|
|
|
|
decimal amt = detailDtos.Sum(k => k.Amt);//金额
|
|
|
|
decimal txtAmt = detailDtos.Sum(k => k.Amt) + Math.Round(detailDtos.Sum(k => k.Amt) * 0.13m, 2);//税后金额
|
|
|
|
decimal readAmt = Math.Round(detailDtos.Sum(k => k.Amt) * 0.13m, 2);//税额
|
|
|
|
decimal txtAmt = detailDtos.Sum(k => k.TaxAmt);//税后金额
|
|
|
|
decimal realAmt = detailDtos.Sum(k => k.Tax);//税额
|
|
|
|
|
|
|
|
var mapList = new List<INVOICE_MAP_GROUP>(); |
|
|
|
foreach (var groupnum in ls) |
|
|
@ -2323,12 +2363,12 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers |
|
|
|
invGroupNum: p_InvGroupNum, |
|
|
|
state: SettleBillState.已开票, |
|
|
|
invoiceBillState: InvoiceBillState.正常, |
|
|
|
tax: 0.13m, |
|
|
|
parent: !string.IsNullOrEmpty(p_parentInvBillNum) ? p_parentInvBillNum : string.Empty, |
|
|
|
preTaxDiff: 0, |
|
|
|
tax: 0.13m, |
|
|
|
parent: !string.IsNullOrEmpty(p_parentInvBillNum) ? p_parentInvBillNum : string.Empty, |
|
|
|
preTaxDiff: 0, |
|
|
|
taxDiff: 0, |
|
|
|
clientCode: string.Empty, |
|
|
|
realAmt: readAmt |
|
|
|
realAmt: realAmt |
|
|
|
); |
|
|
|
invbill.Site = "1049"; |
|
|
|
invbill.CreationTime = DateTime.Now; |
|
|
|