diff --git a/admin.net.pro/Admin.NET/Vistar.Application/Configuration/Database.json b/admin.net.pro/Admin.NET/Vistar.Application/Configuration/Database.json
index a0bd3e5..2f35255 100644
--- a/admin.net.pro/Admin.NET/Vistar.Application/Configuration/Database.json
+++ b/admin.net.pro/Admin.NET/Vistar.Application/Configuration/Database.json
@@ -9,7 +9,8 @@
{
//"ConfigId": "1300000000001", // 默认库标识-禁止修改
"DbType": "SqlServer", // MySql、SqlServer、Sqlite、Oracle、PostgreSQL、Dm、Kdbndp、Oscar、MySqlConnector、Access、OpenGauss、QuestDB、HG、ClickHouse、GBase、Odbc、Custom
- "ConnectionString": "Data Source=192.168.10.101;Initial Catalog=VistarStarDataManage;User ID=sa;Password=Vistar2024.;MultipleActiveResultSets=true",
+ //"ConnectionString": "Data Source=192.168.10.101;Initial Catalog=VistarStarDataManage;User ID=sa;Password=Vistar2024.;MultipleActiveResultSets=true",
+ "ConnectionString": "Data Source=.;Initial Catalog=VistarStarDataManage;User ID=sa;Password=123456;MultipleActiveResultSets=true",
//"ConnectionString": "Data Source=192.168.10.74;Initial Catalog=VistarStarDataManage;User ID=sa;Password=Aa123456;MultipleActiveResultSets=true", // Sqlite 库连接字符串123456
//"ConnectionString": "PORT=5432;DATABASE=xxx;HOST=localhost;PASSWORD=xxx;USER ID=xxx", // PostgreSQL 库连接字符串
//"ConnectionString": "Server=localhost;Database=xxx;Uid=xxx;Pwd=xxx;SslMode=None;", // MySql 库连接字符串",
@@ -63,7 +64,8 @@
{
"ConfigId": "启威星 1.94.4.74", // 库标识
"DbType": "SqlServer", // 库类型
- "ConnectionString": "Data Source=192.168.10.101;Initial Catalog=SWManage_Vistar;User ID=sa;Password=Vistar2024.;MultipleActiveResultSets=true",
+ //"ConnectionString": "Data Source=192.168.10.101;Initial Catalog=SWManage_Vistar;User ID=sa;Password=Vistar2024.;MultipleActiveResultSets=true",
+ "ConnectionString": "Data Source=1.94.4.74;Initial Catalog=SWManage_Vistar;User ID=sa;Password=ASDzxc123.;MultipleActiveResultSets=true",
//"ConnectionString": "Data Source=192.168.10.74;Initial Catalog=SWManage_Vistar;User ID=sa;Password=Aa123456;MultipleActiveResultSets=true", // 库连接字符串ASDzxc123.
"DbSettings": {
"EnableInitDb": false, // 启用库初始化
diff --git a/admin.net.pro/Admin.NET/Vistar.Application/Service/StockInquiry/Dto/MaterialVersions.cs b/admin.net.pro/Admin.NET/Vistar.Application/Service/StockInquiry/Dto/MaterialVersions.cs
new file mode 100644
index 0000000..18d9721
--- /dev/null
+++ b/admin.net.pro/Admin.NET/Vistar.Application/Service/StockInquiry/Dto/MaterialVersions.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Vistar.Application.Service.StockInquiry.Dto
+{
+ public class MaterialVersions
+ {
+ public int? Version_index { get; set; }
+ public string Version { get; set; }
+ }
+}
diff --git a/admin.net.pro/Admin.NET/Vistar.Application/Service/StockInquiry/Dto/PdmMaterialBom.cs b/admin.net.pro/Admin.NET/Vistar.Application/Service/StockInquiry/Dto/PdmMaterialBom.cs
new file mode 100644
index 0000000..a517ecc
--- /dev/null
+++ b/admin.net.pro/Admin.NET/Vistar.Application/Service/StockInquiry/Dto/PdmMaterialBom.cs
@@ -0,0 +1,77 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Vistar.Application.Service.StockInquiry.Dto
+{
+ public class PdmMaterialBom
+ {
+ public long OrderIndex { get; set; }
+ ///
+ /// 物料编码
+ ///
+ public string PartNumber { get; set; }
+
+ ///
+ /// 名称 映射字段
+ ///
+ public string Description { get; set; }
+
+ ///
+ /// 数量
+ ///
+ public float QtyManual { get; set; }
+
+ ///
+ /// 代号 映射字段
+ ///
+ public string fld005747 { get; set; }
+
+ ///
+ /// 品牌 映射字段
+ ///
+ public string fld005590 { get; set; }
+
+ ///
+ /// 材质 映射字段
+ ///
+ public string fld005587 { get; set; }
+
+ ///
+ /// 表面处理 映射字段
+ ///
+ public string fld006325 { get; set; }
+
+ ///
+ /// 单位 映射字段
+ ///
+ public string fld005744 { get; set; }
+
+ ///
+ /// 版本+修订版 映射字段
+ ///
+ public string childVersion { get; set; }
+
+ ///
+ /// 库存 映射字段
+ ///
+ public string fld006928 { get; set; }
+
+ ///
+ /// 预留 映射字段
+ ///
+ public string fld006929 { get; set; }
+
+ ///
+ /// 未清采购申请数量 映射字段
+ ///
+ public string fld006930 { get; set; }
+
+ ///
+ /// 未清采购订单数量 映射字段
+ ///
+ public string fld006931 { get; set; }
+ }
+}
diff --git a/admin.net.pro/Admin.NET/Vistar.Application/Service/StockInquiry/StockInquiryService.cs b/admin.net.pro/Admin.NET/Vistar.Application/Service/StockInquiry/StockInquiryService.cs
index dcdce98..7dc5d72 100644
--- a/admin.net.pro/Admin.NET/Vistar.Application/Service/StockInquiry/StockInquiryService.cs
+++ b/admin.net.pro/Admin.NET/Vistar.Application/Service/StockInquiry/StockInquiryService.cs
@@ -20,6 +20,7 @@ using System.ComponentModel;
using System.Data.OscarClient;
using System.Linq;
using System.Text;
+using System.Text.RegularExpressions;
using System.Threading.Tasks;
using Vistar.Application.Common;
using Vistar.Application.Const;
@@ -27,6 +28,7 @@ using Vistar.Application.Entity;
using Vistar.Application.SapService.Dto;
using Vistar.Application.Service.StockInquiry.Dto;
using Vistar.Application.Util;
+using static SKIT.FlurlHttpClient.Wechat.Api.Models.ComponentTCBBatchCreateContainerServiceVersionRequest.Types;
namespace Vistar.Application.Service.StockInquiry;
@@ -481,7 +483,7 @@ public class StockInquiryService : IDynamicApiController, ITransient
UpdateableOutput.AddRange(bomStockInquiryOutput);
// 如果需要暂停或者处理频率,可以在此处插入适当的延迟。
- await Task.Delay(1000); // 如果需要等待1秒,可以启用此行代码。
+ await Task.Delay(1000); // 如果需要等待1秒,可以启用此行代码。
}
// var tasks = data.Select(async item =>
@@ -622,7 +624,8 @@ public class StockInquiryService : IDynamicApiController, ITransient
var Verpr = await _dataValidationService.ProcessNumber(apiOutput.Verpr.ToDecimal());
priceValue = Verpr == 0 ? "9999.99" : Verpr.ToString();
}
- else {
+ else
+ {
priceValue = "9999.99";
}
@@ -1069,7 +1072,7 @@ public class StockInquiryService : IDynamicApiController, ITransient
};
}
-
+
}).ToList();
var bomStockInquiryOutput = await Task.WhenAll(tasks); // 等待当前批次的所有任务完成
@@ -1212,4 +1215,97 @@ public class StockInquiryService : IDynamicApiController, ITransient
return UpdateableOutput.ToList();
}
+ ///
+ /// 获取物料版本
+ ///
+ ///
+ ///
+ [AllowAnonymous]
+ public async Task> GetPdmMaterialVersions(string materialCode)
+ {
+ var versionsLiat = await _obj137Rep.AsQueryable()
+ .Where(x => x._System_objNBS == materialCode && x.deleted == false && x._system_objConfigurationName == "默认")
+ .Select(x => new MaterialVersions { Version_index = x.VersionIndex, Version = x.revision })
+ .OrderByDescending(x => x.Version_index)
+ .ToListAsync();
+ return versionsLiat;
+ }
+
+ ///
+ /// 获取Bom
+ ///
+ ///
+ ///
+ ///
+ [ApiDescriptionSettings(Name = "GetPdmMaterialBom", Description = "获取Bom", Order = 1000), HttpGet]
+ [AllowAnonymous]
+ public async Task> GetPdmMaterialBom(string materialCode, string versions)
+ {
+ int versionsIndex = 0;
+ // 匹配一个或多个数字
+ Match match = Regex.Match(versions, @"\d+");
+ if (match.Success)
+ {
+ // 提取匹配的数字
+ string matchedNumber = match.Value;
+ versionsIndex = int.Parse(matchedNumber);
+ }
+
+ var materialData = await _obj137Rep.AsQueryable()
+ .Where(x => x._System_objNBS == materialCode && x.deleted == false && x.SWPDMConfigurationName == "默认" && x.VersionIndex == versionsIndex)
+ .OrderByDescending(x => x.idRecord)
+ .FirstAsync();
+
+ if (materialData == null)
+ {
+ return null;
+ }
+
+ var bom137List = await _configurationDataRep.AsQueryable().InnerJoin((x, y) => x.ChildGuid == y.RecordGuid && x.childVersion == y.VersionIndex)
+ .Where(x => x.ParentGuid == materialData.RecordGuid && x.ParentVersion == materialData.VersionIndex && x.isDeleted == false && x.ConfigId == 8 && (x.fld005577 != "不包含" || x.fld005577 == null) && x.isSuppressed == false && x.inContext == false && (!(x.ParentSwFileType == 1 && x.isAddedFromSW == false)))
+ .Select((x, y) => new PdmMaterialBom
+ {
+ OrderIndex = (long)x.OrderIndex,
+ PartNumber = x.PartNumber,
+ Description = y._System_ObjDescription,
+ QtyManual = (float)x.QtyManual,
+ fld005747 = y._SWPDM_125_SW___,
+ fld005590 = y._SWPDM_65_SW___,
+ fld005587 = y._SWPDM_62_SW___,
+ fld006325 = y._SWPDM_61_SW_____,
+ fld005744 = y._SWPDM_126_SW___,
+ childVersion = y.VersionIndex.ToString()+" "+y.revision,
+ fld006928 = y.fld005623,
+ fld006929 = y.fld006530,
+ fld006930 = y.fld006532,
+ fld006931 = y.fld006531
+ })
+ .ToListAsync();
+
+ var bom112List = await _configurationDataRep.AsQueryable().InnerJoin((x, y) => x.ChildGuid == y.RecordGuid && x.childVersion == y.VersionIndex)
+ .Where(x => x.ParentGuid == materialData.RecordGuid && x.ParentVersion == materialData.VersionIndex && x.isDeleted == false && x.ConfigId == 8 && (x.fld005577 != "不包含" || x.fld005577 == null) && x.isSuppressed == false && x.inContext == false && (!(x.ParentSwFileType == 1 && x.isAddedFromSW == false)))
+ .Select((x, y) => new PdmMaterialBom
+ {
+ OrderIndex = (long)x.OrderIndex,
+ PartNumber = x.PartNumber,
+ Description = y._System_ObjDescription,
+ QtyManual = (float)x.QtyManual,
+ fld005747 = y.fld005323,
+ fld005590 = y.fld004592,
+ fld005587 = y.fld004593,
+ fld006325 = y.fld004903,
+ fld005744 = y.fld004594,
+ childVersion = y.VersionIndex.ToString() + " " + y.revision,
+ fld006928 = y.fld006751,
+ fld006929 = y.fld006750,
+ fld006930 = y.fld006753,
+ fld006931 = y.fld006752
+ })
+ .ToListAsync();
+
+ // 合并两个列表
+ var combinedList = bom137List.Concat(bom112List).OrderBy(item => item.OrderIndex).ToList();
+
+ return combinedList;
+ }
}