mahao 1 year ago
parent
commit
7d88a0308f
  1. 1
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/_options.js
  2. 169
      code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/PendingDeductionService.cs

1
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/_options.js

@ -15,6 +15,7 @@ const stateOptions = [
{ value: 3, label: "财务已审核" },
{ value: 4, label: "客户已收票" },
{ value: 5, label: "已扣减" },
{ value: 6, label: "已提交扣减" },
];
const state = { title: "状态", type: "string", input: "select", options: stateOptions };
const state2 = Object.assign(Object.assign({}, state), { options: stateOptions.filter((a) => parseInt(a.value) > 0) });

169
code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/PendingDeductionService.cs

@ -137,10 +137,6 @@ public class PendingDeductionService : ApplicationService, ITransientDependency,
}
Sync(bjlist, EnumDeliverBjBmpBillType.4S备件, isout == "out" ? true : false);
}
}
}
else if (type == "JisHBPO" || type == "ZhiGongJianHBPO" || type == "MaiDanJianHBPO")
@ -177,24 +173,26 @@ public class PendingDeductionService : ApplicationService, ITransientDependency,
return id.ToString();
}
public List<T> GetPagedData<T>(List<T> dataList, int pageNumber, int pageSize)
{
int startIndex = (pageNumber - 1) * pageSize;
return dataList.Skip(startIndex).Take(pageSize).ToList();
}
public int CalculatePageCount(int totalCount, int pageSize)
{
int pageCount = totalCount / pageSize;
if (totalCount % pageSize != 0)
{
pageCount += 1;
}
return pageCount;
}
//public List<T> GetPagedData<T>(List<T> dataList, int pageNumber, int pageSize)
//{
// int startIndex = (pageNumber - 1) * pageSize;
// return dataList.Skip(startIndex).Take(pageSize).ToList();
//}
//public int CalculatePageCount(int totalCount, int pageSize)
//{
// int pageCount = totalCount / pageSize;
// if (totalCount % pageSize != 0)
// {
// pageCount += 1;
// }
// return pageCount;
//}
public void Sync<T>(List<T> p_ls, EnumDeliverBjBmpBillType bussinessType, bool flag=true) where T : PD_BASE,new()
{
var query = from itm in p_ls
select new VmiLog()
{
@ -218,8 +216,6 @@ public class PendingDeductionService : ApplicationService, ITransientDependency,
ErpToLoc = itm.Extend2, //寄售库
};
var ls = query.ToList();
foreach (var itm in ls)
{
itm.SetId(GuidGenerator.Create());
@ -232,11 +228,7 @@ public class PendingDeductionService : ApplicationService, ITransientDependency,
// 执行批量数据操作
if (ls != null && ls.Count > 0)
{
var messagelist = new List<VmiMessage>();
foreach (var item in ls)
{
var message = new VmiMessage
@ -245,41 +237,122 @@ public class PendingDeductionService : ApplicationService, ITransientDependency,
};
messagelist.Add(message);
}
_dbcontext.BulkInsert(messagelist);
_dbcontext.BulkInsert(ls, new BulkConfig() { });
var billList = p_ls.Select(p => p.BillNum).Distinct().ToList();
var pdList = _dbcontext.Set<PUB_PD>().Where(p => billList.Contains(p.BillNum)).ToList();
if (pdList.Count > 0)
{
foreach (var item in pdList)
{
if (flag == true)
{
item.State = SettleBillState.;
}
else
{
item.State = SettleBillState.;
}
_dbcontext.BulkInsert(messagelist);
_dbcontext.BulkInsert(ls,new BulkConfig() { });
//var count = CalculatePageCount(ls.Count, 2000);
//for (int pagenumber = 0; pagenumber < count; pagenumber++)
//{
// var lst = GetPagedData(ls, pagenumber++, 2000);
// var messagelist= new List<VmiMessage>();
// foreach (var item in lst)
// {
// var message = new VmiMessage
// {
// Message = System.Text.Json.JsonSerializer.Serialize(item),
// };
// messagelist.Add(message);
// }
// _dbcontext.BulkInsert(messagelist);
// _dbcontext.BulkInsert(lst,new BulkConfig() { });
// Task.Delay(500);
//}
}
_dbcontext.BulkUpdate(pdList);
}
var bbacList = _dbcontext.Set<BBAC_PD>().Where(p => billList.Contains(p.BillNum)).ToList();
if (bbacList.Count > 0)
{
foreach (var item in bbacList)
{
if (flag == true)
{
item.State = SettleBillState.;
}
else
{
item.State = SettleBillState.;
}
}
_dbcontext.BulkUpdate(bbacList);
}
var hbpoList = _dbcontext.Set<HBPO_PD>().Where(p => billList.Contains(p.BillNum)).ToList();
if (hbpoList.Count > 0)
{
foreach (var item in hbpoList)
{
if (flag == true)
{
item.State = SettleBillState.;
}
else
{
item.State = SettleBillState.;
}
}
_dbcontext.BulkUpdate(hbpoList);
}
}
// 提交事务
transaction.Commit();
}
catch (Exception)
{
var billList = p_ls.Select(p => p.BillNum).Distinct().ToList();
var pdList = _dbcontext.Set<PUB_PD>().Where(p => billList.Contains(p.BillNum)).ToList();
if (pdList.Count > 0)
{
foreach (var item in pdList)
{
if (flag == true)
{
item.State = SettleBillState.;
}
else
{
item.State = SettleBillState.;
}
}
_dbcontext.BulkUpdate(pdList);
}
var bbacList = _dbcontext.Set<BBAC_PD>().Where(p => billList.Contains(p.BillNum)).ToList();
if (bbacList.Count > 0)
{
foreach (var item in bbacList)
{
if (flag == true)
{
item.State = SettleBillState.;
}
else
{
item.State = SettleBillState.;
}
}
_dbcontext.BulkUpdate(bbacList);
}
var hbpoList = _dbcontext.Set<HBPO_PD>().Where(p => billList.Contains(p.BillNum)).ToList();
if (hbpoList.Count > 0)
{
foreach (var item in hbpoList)
{
if (flag == true)
{
item.State = SettleBillState.;
}
else
{
item.State = SettleBillState.;
}
}
_dbcontext.BulkUpdate(hbpoList);
}
// 回滚事务
transaction.Rollback();
throw;
}
}
}

Loading…
Cancel
Save