diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/SettleAccount.HttpApi.Host.csproj b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/SettleAccount.HttpApi.Host.csproj
index ac327d65..c8e6c5ce 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/SettleAccount.HttpApi.Host.csproj
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/SettleAccount.HttpApi.Host.csproj
@@ -91,6 +91,9 @@
+
+ PreserveNewest
+
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/scripts/README.md b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/scripts/README.md
new file mode 100644
index 00000000..914aa600
--- /dev/null
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/scripts/README.md
@@ -0,0 +1,3 @@
+# 数据库存储过程和自定义函数说明
+
+
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/router/business.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/router/business.js
index b2bba542..0d4b7757 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/router/business.js
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/router/business.js
@@ -383,7 +383,7 @@ export default [
createButton(
"sync",
"title=同步到QAD&isTop=true",
- (_, q) => q.filters.some((o) => o.column === "state" && o.value === 4) && q.filters.some((o) => o.column === "invoiceState" && o.value === 1)
+ (_, q) => q.filters.some((o) => o.column === "state" && o.value === 5) && q.filters.some((o) => o.column === "invoiceState" && o.value === 1)
),
],
},
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/settle/inventory.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/settle/inventory.js
index ecbec75e..09e31965 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/settle/inventory.js
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/settle/inventory.js
@@ -26,7 +26,7 @@ export default {
: item.path === "reject"
? `确认退回选中的${rows.length}行数据吗?`
: `确认选中的${rows.length}行数据客户已收票吗?`;
- const data = rows.map((o) => o.invbillNum);
+ const data = rows.map((o) => o.billNum);
const url = config.edit.approvalUrl;
await appListRef.value.onClick(async () => await request(url, data, { method: "POST" }), message, true);
}
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/INVOICE_SERVICE.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/INVOICE_SERVICE.cs
index 89ecf60d..e783a4e1 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/INVOICE_SERVICE.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/INVOICE_SERVICE.cs
@@ -587,6 +587,11 @@ namespace Win.Sfs.SettleAccount.Entities.BQ
.GroupBy(p => new { p.LU, p.SettleGroupNum })
.Select(p => new JIT_UNSETTLED_DETAIL_DTO { LU = p.Key.LU, GroupNum = p.Key.SettleGroupNum, Qty = p.Sum(itm => itm.Qty.Value) });
entity.JIT_UNSETTLED_DETAIL = unsettledList.ToList().OrderBy(p => p.GroupNum).ThenBy(p => p.LU).ToList();
+
+ entity.INVOICE_MAP_GROUP =mdtos;
+
+
+
}
if (first.BusinessType == EnumBusinessType.JisHBPO || first.BusinessType == EnumBusinessType.JisBBAC || first.BusinessType == EnumBusinessType.ZhiGongJianHBPO)
{
@@ -750,6 +755,13 @@ namespace Win.Sfs.SettleAccount.Entities.BQ
{
_excel.Append(jitunsettle, "未结零件汇总");
}
+ if (m != null)
+ {
+ _excel.Append(m, "发票结算分组对应");
+ }
+
+
+
}
//jis业务,发票分组对应关系,未结数据,调整数据
if (first.BusinessType == EnumBusinessType.JisBBAC || first.BusinessType == EnumBusinessType.JisHBPO || first.BusinessType == EnumBusinessType.ZhiGongJianHBPO)
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/HBPO_CAN_SA_MNG.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/HBPO_CAN_SA_MNG.cs
index 54937ee1..f2d1ac8f 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/HBPO_CAN_SA_MNG.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/HBPO_CAN_SA_MNG.cs
@@ -2,6 +2,7 @@ using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
+using EFCore.BulkExtensions;
using Microsoft.EntityFrameworkCore;
using SettleAccount.Domain.BQ;
using Volo.Abp;
@@ -111,7 +112,9 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers
}
break;
}
- await _repository.UpdateAsync(p_entiy).ConfigureAwait(false);
+ //await _repository.UpdateAsync(p_entiy).ConfigureAwait(false);
+
+ await _repository.DbContext.BulkUpdateAsync(new List { p_entiy }).ConfigureAwait(false);
return true;
}
return false;
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/INV_MNG.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/INV_MNG.cs
index 37421fb3..5327e444 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/INV_MNG.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/INV_MNG.cs
@@ -4,6 +4,7 @@ using System.Linq;
using System.Threading.Tasks;
using EFCore.BulkExtensions;
using Microsoft.EntityFrameworkCore;
+using NPOI.SS.Formula.Functions;
using SettleAccount.Bases;
using SettleAccount.Domain.BQ;
using Volo.Abp;
@@ -1192,8 +1193,14 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers
{
dic.Add(itm.GroupNum, itm.Amt);
copyDic.Add(itm.GroupNum, itm.Amt);
+
}
+
+
+
+
Dictionary> invoiceMap = new Dictionary>();
+ var first=p_list.FirstOrDefault();
foreach (var itm in dic)
{
string invoiceBillNum = OrderNumberGenerator.GenerateOrderNumber("INV");
@@ -1203,31 +1210,71 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers
// List luList = dtos.Where(p => p.GroupNum == itm.Key).Select(p => p.LU).Distinct().ToList(); //初始LU种类
if (copyDic.ContainsKey(itm.Key) == true)//是否存在分组
{
- foreach (var _itm1 in copyDic)
+ if (first.BusinessType == EnumBusinessType.JisBBAC || first.BusinessType == EnumBusinessType.ZhiGongJianHBPO)
{
- if (itm.Key == _itm1.Key)//相同结算分组项不计算,已初始化
+ foreach (var _itm1 in copyDic)
{
- invoiceGroupNumList.Add(itm.Key);
- continue;
+ if (itm.Key == _itm1.Key)//相同结算分组项不计算,已初始化
+ {
+ invoiceGroupNumList.Add(itm.Key);
+ continue;
+ }
+ //var grouplist = dtos.Where(p => p.GroupNum == _itm1.Key).Select(p => p.LU).Distinct().ToList();//每项LU种类
+ //luList.AddRange(grouplist);
+ //luList = luList.Distinct().ToList();
+ //if (luList.Count > 20)//累加零件不超过20种
+ //{
+ // continue;
+ //}
+ sum += _itm1.Value;
+ if (sum > 10000000)
+ {
+ break;
+ }
+ invoiceGroupNumList.Add(_itm1.Key);//所有条件都满足添加发票和结算分组对应关系
}
- //var grouplist = dtos.Where(p => p.GroupNum == _itm1.Key).Select(p => p.LU).Distinct().ToList();//每项LU种类
- //luList.AddRange(grouplist);
- //luList = luList.Distinct().ToList();
- //if (luList.Count > 20)//累加零件不超过20种
- //{
- // continue;
- //}
- sum += _itm1.Value;
- if (sum > 10000000)
+ invoiceMap.Add(invoiceBillNum, invoiceGroupNumList);//记录发票对应关系
+ foreach (var rem in invoiceGroupNumList)//移除
{
- break;
+ copyDic.Remove(rem);
}
- invoiceGroupNumList.Add(_itm1.Key);//所有条件都满足添加发票和结算分组对应关系
}
- invoiceMap.Add(invoiceBillNum, invoiceGroupNumList);//记录发票对应关系
- foreach (var rem in invoiceGroupNumList)//移除
+ else
{
- copyDic.Remove(rem);
+ int count = 1;
+ foreach (var _itm1 in copyDic)
+ {
+ if (itm.Key == _itm1.Key)//相同结算分组项不计算,已初始化
+ {
+ invoiceGroupNumList.Add(itm.Key);
+ continue;
+ }
+
+ if (count > 14)
+ {
+ break;
+ }
+ //var grouplist = dtos.Where(p => p.GroupNum == _itm1.Key).Select(p => p.LU).Distinct().ToList();//每项LU种类
+ //luList.AddRange(grouplist);
+ //luList = luList.Distinct().ToList();
+ //if (luList.Count > 20)//累加零件不超过20种
+ //{
+ // continue;
+ //}
+ sum += _itm1.Value;
+ if (sum > 10000000)
+ {
+ break;
+ }
+ invoiceGroupNumList.Add(_itm1.Key);//所有条件都满足添加发票和结算分组对应关系
+ count++;
+
+ }
+ invoiceMap.Add(invoiceBillNum, invoiceGroupNumList);//记录发票对应关系
+ foreach (var rem in invoiceGroupNumList)//移除
+ {
+ copyDic.Remove(rem);
+ }
}
}
}
@@ -1452,8 +1499,6 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers
//}
_invls = invlist.Select(p => p.InvbillNum).ToList();
}
-
-
return _invls;
}