|
|
@ -99,42 +99,93 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Syncs |
|
|
|
var bbac_not_list= query.Select(p => p.b).ToList(); |
|
|
|
if(bbac_can_list.Count>0) |
|
|
|
{ |
|
|
|
notlist.AddRange(bbac_not_list); |
|
|
|
var billNumber = OrderNumberGenerator.GenerateOrderNumber("N"); |
|
|
|
var entity = new BBAC_CAN_SA(); |
|
|
|
entity.SetId(Guid.NewGuid()); |
|
|
|
entity.BillNum = billNumber; |
|
|
|
entity.InvGroupNum = billNumber; |
|
|
|
entity.Version = int.Parse(DateTime.Now.ToString("yyyyMM")); |
|
|
|
entity.State = SettleBillState.未结状态; |
|
|
|
entity.SettleBillNum = string.Empty; |
|
|
|
entity.Site = "1040"; |
|
|
|
entity.BusinessType = EnumBusinessType.JisBBAC; |
|
|
|
billList.Add(entity); |
|
|
|
foreach (var itm in bbac_can_list) |
|
|
|
var t1 = bbac_can_list.GroupBy(p => p.LU).Select(p => new { LU = p.Key, Amt = p.Sum(itm => itm.Qty * itm.Price) }).OrderByDescending(p => p.Amt).ToList(); |
|
|
|
var part_group_big = t1.Where(p => p.Amt >= 10000000).ToList(); |
|
|
|
var part_group_small = t1.Where(p => p.Amt < 10000000).ToList(); |
|
|
|
|
|
|
|
if (part_group_big.Count > 0) |
|
|
|
{ |
|
|
|
var _detailEntity = new BBAC_CAN_SA_DETAIL( |
|
|
|
guid: GuidGenerator.Create(), |
|
|
|
keyCode: itm.KeyCode, |
|
|
|
version: itm.Version, |
|
|
|
billNum: billNumber, |
|
|
|
settleBillNum: itm.SettleBillNum, |
|
|
|
lU: itm.LU, |
|
|
|
pN: itm.PN, |
|
|
|
site: itm.Site, |
|
|
|
qty: itm.Qty, |
|
|
|
price: itm.Price, |
|
|
|
category: itm.BusinessType, |
|
|
|
isReturn: itm.IsReturn, |
|
|
|
settleDate: itm.SettleDate, |
|
|
|
groupNum: itm.GroupNum, |
|
|
|
invGroupNum: billNumber, |
|
|
|
contactid: itm.ContractDocID, |
|
|
|
invbillnum: string.Empty, |
|
|
|
partcode: itm.PartCode |
|
|
|
); |
|
|
|
_detailEntity.RealPartCode = itm.RealPartCode; |
|
|
|
billDetails.Add(_detailEntity); |
|
|
|
foreach (var itm in part_group_big) |
|
|
|
{ |
|
|
|
var ls = bbac_can_list.Where(p => p.LU == itm.LU).ToList(); |
|
|
|
var billNum = OrderNumberGenerator.GenerateOrderNumber("N"); |
|
|
|
var bbac_sa = new BBAC_CAN_SA(); |
|
|
|
bbac_sa.SetId(Guid.NewGuid()); |
|
|
|
bbac_sa.BillNum = billNum; |
|
|
|
bbac_sa.InvGroupNum = billNum; |
|
|
|
bbac_sa.Version = int.Parse(DateTime.Now.ToString("yyyyMM")); |
|
|
|
bbac_sa.State = SettleBillState.未结状态; |
|
|
|
bbac_sa.SettleBillNum = string.Empty; |
|
|
|
bbac_sa.Site = "1040"; |
|
|
|
bbac_sa.BusinessType = EnumBusinessType.JisBBAC; |
|
|
|
billList.Add(bbac_sa); |
|
|
|
foreach (var itm1 in ls) |
|
|
|
{ |
|
|
|
var _detailEntity = new BBAC_CAN_SA_DETAIL( |
|
|
|
guid: GuidGenerator.Create(), |
|
|
|
keyCode: itm1.KeyCode, |
|
|
|
version: itm1.Version, |
|
|
|
billNum: billNum, |
|
|
|
settleBillNum: itm1.SettleBillNum, |
|
|
|
lU: itm1.LU, |
|
|
|
pN: itm1.PN, |
|
|
|
site: itm1.Site, |
|
|
|
qty: itm1.Qty, |
|
|
|
price: itm1.Price, |
|
|
|
category: itm1.BusinessType, |
|
|
|
isReturn: itm1.IsReturn, |
|
|
|
settleDate: itm1.SettleDate, |
|
|
|
groupNum: itm1.GroupNum, |
|
|
|
invGroupNum: billNum, |
|
|
|
contactid: itm1.ContractDocID, |
|
|
|
invbillnum: string.Empty, |
|
|
|
partcode: itm1.PartCode |
|
|
|
); |
|
|
|
_detailEntity.RealPartCode = itm1.RealPartCode; |
|
|
|
billDetails.Add(_detailEntity); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if (part_group_small.Count > 0) |
|
|
|
{ |
|
|
|
var partlist = part_group_small.Select(p => p.LU).ToList(); |
|
|
|
var ls = bbac_can_list.Where(p => partlist.Contains(p.LU)).ToList(); |
|
|
|
var billNum = OrderNumberGenerator.GenerateOrderNumber("N"); |
|
|
|
var bbac_sa = new BBAC_CAN_SA(); |
|
|
|
bbac_sa.SetId(Guid.NewGuid()); |
|
|
|
bbac_sa.BillNum = billNum; |
|
|
|
bbac_sa.InvGroupNum = billNum; |
|
|
|
bbac_sa.Version = int.Parse(DateTime.Now.ToString("yyyyMM")); |
|
|
|
bbac_sa.State = SettleBillState.未结状态; |
|
|
|
bbac_sa.SettleBillNum = string.Empty; |
|
|
|
bbac_sa.Site = "1040"; |
|
|
|
bbac_sa.BusinessType = EnumBusinessType.JisBBAC; |
|
|
|
billList.Add(bbac_sa); |
|
|
|
foreach (var itm1 in ls) |
|
|
|
{ |
|
|
|
var _detailEntity = new BBAC_CAN_SA_DETAIL( |
|
|
|
guid: GuidGenerator.Create(), |
|
|
|
keyCode: itm1.KeyCode, |
|
|
|
version: itm1.Version, |
|
|
|
billNum: billNum, |
|
|
|
settleBillNum: itm1.SettleBillNum, |
|
|
|
lU: itm1.LU, |
|
|
|
pN: itm1.PN, |
|
|
|
site: itm1.Site, |
|
|
|
qty: itm1.Qty, |
|
|
|
price: itm1.Price, |
|
|
|
category: itm1.BusinessType, |
|
|
|
isReturn: itm1.IsReturn, |
|
|
|
settleDate: itm1.SettleDate, |
|
|
|
groupNum: itm1.GroupNum, |
|
|
|
invGroupNum: billNum, |
|
|
|
contactid: itm1.ContractDocID, |
|
|
|
invbillnum: string.Empty, |
|
|
|
partcode: itm1.PartCode |
|
|
|
); |
|
|
|
_detailEntity.RealPartCode = itm1.RealPartCode; |
|
|
|
billDetails.Add(_detailEntity); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -175,42 +226,92 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Syncs |
|
|
|
if (bbac_can_list.Count > 0) |
|
|
|
{ |
|
|
|
notlist.AddRange(bbac_not_list); |
|
|
|
var billNumber = OrderNumberGenerator.GenerateOrderNumber("N"); |
|
|
|
var entity = new BBAC_CAN_SA(); |
|
|
|
entity.SetId(Guid.NewGuid()); |
|
|
|
entity.BillNum = billNumber; |
|
|
|
entity.InvGroupNum = billNumber; |
|
|
|
entity.Version = int.Parse(DateTime.Now.ToString("yyyyMM")); |
|
|
|
entity.State = SettleBillState.未结状态; |
|
|
|
entity.SettleBillNum = string.Empty; |
|
|
|
entity.Site = "1046"; |
|
|
|
entity.BusinessType = EnumBusinessType.JisBBAC; |
|
|
|
billList.Add(entity); |
|
|
|
|
|
|
|
foreach (var itm in bbac_can_list) |
|
|
|
var t1 = bbac_can_list.GroupBy(p => p.LU).Select(p => new { LU = p.Key, Amt = p.Sum(itm => itm.Qty * itm.Price) }).OrderByDescending(p => p.Amt).ToList(); |
|
|
|
var part_group_big = t1.Where(p => p.Amt >= 10000000).ToList(); |
|
|
|
var part_group_small = t1.Where(p => p.Amt <10000000).ToList(); |
|
|
|
if (part_group_big.Count > 0) |
|
|
|
{ |
|
|
|
var _detailEntity = new BBAC_CAN_SA_DETAIL( |
|
|
|
guid: GuidGenerator.Create(), |
|
|
|
keyCode: itm.KeyCode, |
|
|
|
version: itm.Version, |
|
|
|
billNum: billNumber, |
|
|
|
settleBillNum: itm.SettleBillNum, |
|
|
|
lU: itm.LU, |
|
|
|
pN: itm.PN, |
|
|
|
site: itm.Site, |
|
|
|
qty: itm.Qty, |
|
|
|
price: itm.Price, |
|
|
|
category: itm.BusinessType, |
|
|
|
isReturn: itm.IsReturn, |
|
|
|
settleDate: itm.SettleDate, |
|
|
|
groupNum: itm.GroupNum, |
|
|
|
invGroupNum: billNumber, |
|
|
|
contactid: itm.ContractDocID, |
|
|
|
invbillnum: string.Empty, |
|
|
|
partcode: itm.PartCode |
|
|
|
); |
|
|
|
_detailEntity.RealPartCode = itm.RealPartCode; |
|
|
|
billDetails.Add(_detailEntity); |
|
|
|
foreach (var itm in part_group_big) |
|
|
|
{ |
|
|
|
var ls= bbac_can_list.Where(p=>p.LU==itm.LU).ToList(); |
|
|
|
var billNum = OrderNumberGenerator.GenerateOrderNumber("N"); |
|
|
|
var bbac_sa = new BBAC_CAN_SA(); |
|
|
|
bbac_sa.SetId(Guid.NewGuid()); |
|
|
|
bbac_sa.BillNum = billNum; |
|
|
|
bbac_sa.InvGroupNum = billNum; |
|
|
|
bbac_sa.Version = int.Parse(DateTime.Now.ToString("yyyyMM")); |
|
|
|
bbac_sa.State = SettleBillState.未结状态; |
|
|
|
bbac_sa.SettleBillNum = string.Empty; |
|
|
|
bbac_sa.Site = "1046"; |
|
|
|
bbac_sa.BusinessType = EnumBusinessType.JisBBAC; |
|
|
|
billList.Add(bbac_sa); |
|
|
|
foreach (var itm1 in ls) |
|
|
|
{ |
|
|
|
var _detailEntity = new BBAC_CAN_SA_DETAIL( |
|
|
|
guid: GuidGenerator.Create(), |
|
|
|
keyCode: itm1.KeyCode, |
|
|
|
version: itm1.Version, |
|
|
|
billNum: billNum, |
|
|
|
settleBillNum: itm1.SettleBillNum, |
|
|
|
lU: itm1.LU, |
|
|
|
pN: itm1.PN, |
|
|
|
site: itm1.Site, |
|
|
|
qty: itm1.Qty, |
|
|
|
price: itm1.Price, |
|
|
|
category: itm1.BusinessType, |
|
|
|
isReturn: itm1.IsReturn, |
|
|
|
settleDate: itm1.SettleDate, |
|
|
|
groupNum: itm1.GroupNum, |
|
|
|
invGroupNum: billNum, |
|
|
|
contactid: itm1.ContractDocID, |
|
|
|
invbillnum: string.Empty, |
|
|
|
partcode: itm1.PartCode |
|
|
|
); |
|
|
|
_detailEntity.RealPartCode = itm1.RealPartCode; |
|
|
|
billDetails.Add(_detailEntity); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if (part_group_small.Count > 0) |
|
|
|
{ |
|
|
|
var partlist = part_group_small.Select(p => p.LU).ToList(); |
|
|
|
var ls=bbac_can_list.Where(p => partlist.Contains(p.LU)).ToList(); |
|
|
|
var billNum = OrderNumberGenerator.GenerateOrderNumber("N"); |
|
|
|
var bbac_sa = new BBAC_CAN_SA(); |
|
|
|
bbac_sa.SetId(Guid.NewGuid()); |
|
|
|
bbac_sa.BillNum = billNum; |
|
|
|
bbac_sa.InvGroupNum = billNum; |
|
|
|
bbac_sa.Version = int.Parse(DateTime.Now.ToString("yyyyMM")); |
|
|
|
bbac_sa.State = SettleBillState.未结状态; |
|
|
|
bbac_sa.SettleBillNum = string.Empty; |
|
|
|
bbac_sa.Site = "1046"; |
|
|
|
bbac_sa.BusinessType = EnumBusinessType.JisBBAC; |
|
|
|
billList.Add(bbac_sa); |
|
|
|
foreach (var itm1 in ls) |
|
|
|
{ |
|
|
|
var _detailEntity = new BBAC_CAN_SA_DETAIL( |
|
|
|
guid: GuidGenerator.Create(), |
|
|
|
keyCode: itm1.KeyCode, |
|
|
|
version: itm1.Version, |
|
|
|
billNum: billNum, |
|
|
|
settleBillNum: itm1.SettleBillNum, |
|
|
|
lU: itm1.LU, |
|
|
|
pN: itm1.PN, |
|
|
|
site: itm1.Site, |
|
|
|
qty: itm1.Qty, |
|
|
|
price: itm1.Price, |
|
|
|
category: itm1.BusinessType, |
|
|
|
isReturn: itm1.IsReturn, |
|
|
|
settleDate: itm1.SettleDate, |
|
|
|
groupNum: itm1.GroupNum, |
|
|
|
invGroupNum: billNum, |
|
|
|
contactid: itm1.ContractDocID, |
|
|
|
invbillnum: string.Empty, |
|
|
|
partcode: itm1.PartCode |
|
|
|
); |
|
|
|
_detailEntity.RealPartCode = itm1.RealPartCode; |
|
|
|
billDetails.Add(_detailEntity); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -244,7 +345,6 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Syncs |
|
|
|
{ |
|
|
|
if (billDetails.Count > 0) |
|
|
|
{ |
|
|
|
|
|
|
|
var result = from a in _dbcontext.Set<BBAC_SA_DETAIL>() |
|
|
|
join b in _dbcontext.Set<BBAC_CAN_SA_DETAIL>() on new { a.KeyCode, a.BusinessType } equals new { b.KeyCode, b.BusinessType } |
|
|
|
where a.Price == 0 |
|
|
@ -326,40 +426,88 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Syncs |
|
|
|
var hbpo_not_list = query.Select(p => p.b).ToList(); |
|
|
|
if (hbpo_can_list.Count > 0) |
|
|
|
{ |
|
|
|
var billNumber = OrderNumberGenerator.GenerateOrderNumber("N"); |
|
|
|
var entity = new HBPO_CAN_SA(); |
|
|
|
entity.SetId(Guid.NewGuid()); |
|
|
|
entity.BillNum = billNumber; |
|
|
|
entity.InvGroupNum = billNumber; |
|
|
|
entity.Version = int.Parse(DateTime.Now.ToString("yyyyMM")); |
|
|
|
entity.State = SettleBillState.未结状态; |
|
|
|
entity.SettleBillNum = string.Empty; |
|
|
|
entity.Site = "104T"; |
|
|
|
entity.BusinessType =(businesstype== "JisHBPO")?EnumBusinessType.JisHBPO:EnumBusinessType.MaiDanJianHBPO ; |
|
|
|
billList.Add(entity); |
|
|
|
notlist.AddRange(hbpo_not_list); |
|
|
|
foreach (var itm in hbpo_can_list) |
|
|
|
var t1 = hbpo_can_list.GroupBy(p => p.LU).Select(p => new { LU = p.Key, Amt = p.Sum(itm => itm.Qty * itm.Price) }).OrderByDescending(p => p.Amt).ToList(); |
|
|
|
var part_group_big = t1.Where(p => p.Amt >= 10000000).ToList(); |
|
|
|
var part_group_small = t1.Where(p => p.Amt < 10000000).ToList(); |
|
|
|
if (part_group_big.Count > 0) |
|
|
|
{ |
|
|
|
foreach (var itm in part_group_big) |
|
|
|
{ |
|
|
|
var ls = hbpo_can_list.Where(p => p.LU == itm.LU).ToList(); |
|
|
|
var billNum = OrderNumberGenerator.GenerateOrderNumber("N"); |
|
|
|
var bbac_sa = new HBPO_CAN_SA(); |
|
|
|
bbac_sa.SetId(Guid.NewGuid()); |
|
|
|
bbac_sa.BillNum = billNum; |
|
|
|
bbac_sa.InvGroupNum = billNum; |
|
|
|
bbac_sa.Version = int.Parse(DateTime.Now.ToString("yyyyMM")); |
|
|
|
bbac_sa.State = SettleBillState.未结状态; |
|
|
|
bbac_sa.SettleBillNum = string.Empty; |
|
|
|
bbac_sa.Site = "1046"; |
|
|
|
bbac_sa.BusinessType = EnumBusinessType.JisBBAC; |
|
|
|
billList.Add(bbac_sa); |
|
|
|
foreach (var itm1 in ls) |
|
|
|
{ |
|
|
|
var _detailEntity = new HBPO_CAN_SA_DETAIL( |
|
|
|
guid: GuidGenerator.Create(), |
|
|
|
keyCode: itm1.KeyCode, |
|
|
|
version: itm1.Version, |
|
|
|
billNum: billNum, |
|
|
|
settleBillNum: itm1.SettleBillNum, |
|
|
|
lU: itm1.LU, |
|
|
|
pN: itm1.PN, |
|
|
|
site: itm1.Site, |
|
|
|
qty: itm1.Qty, |
|
|
|
price: itm1.Price, |
|
|
|
businessType: itm1.BusinessType, |
|
|
|
settleDate: itm1.SettleDate, |
|
|
|
groupNum: itm1.GroupNum, |
|
|
|
invGroupNum: billNum, |
|
|
|
invbillnum: string.Empty, |
|
|
|
partcode: itm1.PartCode |
|
|
|
); |
|
|
|
_detailEntity.RealPartCode = itm1.RealPartCode; |
|
|
|
billDetails.Add(_detailEntity); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if (part_group_small.Count > 0) |
|
|
|
{ |
|
|
|
var _detailEntity = new HBPO_CAN_SA_DETAIL( |
|
|
|
guid: GuidGenerator.Create(), |
|
|
|
keyCode: itm.KeyCode, |
|
|
|
version: itm.Version, |
|
|
|
billNum: billNumber, |
|
|
|
settleBillNum: itm.SettleBillNum, |
|
|
|
lU: itm.LU, |
|
|
|
pN: itm.PN, |
|
|
|
site: itm.Site, |
|
|
|
qty: itm.Qty, |
|
|
|
price: itm.Price, |
|
|
|
businessType: itm.BusinessType, |
|
|
|
settleDate: itm.SettleDate, |
|
|
|
groupNum: itm.GroupNum, |
|
|
|
invGroupNum: billNumber, |
|
|
|
invbillnum: string.Empty, |
|
|
|
partcode: itm.PartCode |
|
|
|
); |
|
|
|
_detailEntity.RealPartCode = itm.RealPartCode; |
|
|
|
billDetails.Add(_detailEntity); |
|
|
|
var partlist = part_group_small.Select(p => p.LU).ToList(); |
|
|
|
var ls = hbpo_can_list.Where(p => partlist.Contains(p.LU)).ToList(); |
|
|
|
var billNum = OrderNumberGenerator.GenerateOrderNumber("N"); |
|
|
|
var bbac_sa = new HBPO_CAN_SA(); |
|
|
|
bbac_sa.SetId(Guid.NewGuid()); |
|
|
|
bbac_sa.BillNum = billNum; |
|
|
|
bbac_sa.InvGroupNum = billNum; |
|
|
|
bbac_sa.Version = int.Parse(DateTime.Now.ToString("yyyyMM")); |
|
|
|
bbac_sa.State = SettleBillState.未结状态; |
|
|
|
bbac_sa.SettleBillNum = string.Empty; |
|
|
|
bbac_sa.Site = "1046"; |
|
|
|
bbac_sa.BusinessType = EnumBusinessType.JisBBAC; |
|
|
|
billList.Add(bbac_sa); |
|
|
|
foreach (var itm1 in ls) |
|
|
|
{ |
|
|
|
var _detailEntity = new HBPO_CAN_SA_DETAIL( |
|
|
|
guid: GuidGenerator.Create(), |
|
|
|
keyCode: itm1.KeyCode, |
|
|
|
version: itm1.Version, |
|
|
|
billNum: billNum, |
|
|
|
settleBillNum: itm1.SettleBillNum, |
|
|
|
lU: itm1.LU, |
|
|
|
pN: itm1.PN, |
|
|
|
site: itm1.Site, |
|
|
|
qty: itm1.Qty, |
|
|
|
price: itm1.Price, |
|
|
|
businessType: itm1.BusinessType, |
|
|
|
settleDate: itm1.SettleDate, |
|
|
|
groupNum: itm1.GroupNum, |
|
|
|
invGroupNum: billNum, |
|
|
|
invbillnum: string.Empty, |
|
|
|
partcode: itm1.PartCode |
|
|
|
); |
|
|
|
_detailEntity.RealPartCode = itm1.RealPartCode; |
|
|
|
billDetails.Add(_detailEntity); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|