😎产品管理物料同步到SAP

This commit is contained in:
bairubing 2024-09-23 11:34:19 +08:00
parent 0681284ec2
commit 8886aff1d6
12 changed files with 3158 additions and 2 deletions

View File

@ -28,54 +28,96 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Admin.NET.Plugin.ApprovalFl
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Admin.NET.Plugin.K3Cloud", "Plugins\Admin.NET.Plugin.K3Cloud\Admin.NET.Plugin.K3Cloud.csproj", "{9EB9C39E-E14F-443E-9AA3-EE417ABCBC1D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Vistar.Application", "Vistar.Application\Vistar.Application.csproj", "{9D980420-C364-47D5-9226-62E28DF315E7}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Vistar.Application", "Vistar.Application\Vistar.Application.csproj", "{9D980420-C364-47D5-9226-62E28DF315E7}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{C3F5AEC5-ACEE-4109-94E3-3F981DC18268}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C3F5AEC5-ACEE-4109-94E3-3F981DC18268}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C3F5AEC5-ACEE-4109-94E3-3F981DC18268}.Debug|x64.ActiveCfg = Debug|x64
{C3F5AEC5-ACEE-4109-94E3-3F981DC18268}.Debug|x64.Build.0 = Debug|x64
{C3F5AEC5-ACEE-4109-94E3-3F981DC18268}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C3F5AEC5-ACEE-4109-94E3-3F981DC18268}.Release|Any CPU.Build.0 = Release|Any CPU
{C3F5AEC5-ACEE-4109-94E3-3F981DC18268}.Release|x64.ActiveCfg = Release|x64
{C3F5AEC5-ACEE-4109-94E3-3F981DC18268}.Release|x64.Build.0 = Release|x64
{3AD1A3ED-ED11-479D-BE32-6589D98A9ADC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3AD1A3ED-ED11-479D-BE32-6589D98A9ADC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3AD1A3ED-ED11-479D-BE32-6589D98A9ADC}.Debug|x64.ActiveCfg = Debug|x64
{3AD1A3ED-ED11-479D-BE32-6589D98A9ADC}.Debug|x64.Build.0 = Debug|x64
{3AD1A3ED-ED11-479D-BE32-6589D98A9ADC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3AD1A3ED-ED11-479D-BE32-6589D98A9ADC}.Release|Any CPU.Build.0 = Release|Any CPU
{3AD1A3ED-ED11-479D-BE32-6589D98A9ADC}.Release|x64.ActiveCfg = Release|x64
{3AD1A3ED-ED11-479D-BE32-6589D98A9ADC}.Release|x64.Build.0 = Release|x64
{8A42A864-A69E-40F7-975E-F2FA36E7DFEE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8A42A864-A69E-40F7-975E-F2FA36E7DFEE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8A42A864-A69E-40F7-975E-F2FA36E7DFEE}.Debug|x64.ActiveCfg = Debug|x64
{8A42A864-A69E-40F7-975E-F2FA36E7DFEE}.Debug|x64.Build.0 = Debug|x64
{8A42A864-A69E-40F7-975E-F2FA36E7DFEE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8A42A864-A69E-40F7-975E-F2FA36E7DFEE}.Release|Any CPU.Build.0 = Release|Any CPU
{8A42A864-A69E-40F7-975E-F2FA36E7DFEE}.Release|x64.ActiveCfg = Release|x64
{8A42A864-A69E-40F7-975E-F2FA36E7DFEE}.Release|x64.Build.0 = Release|x64
{11EA630B-4600-4236-A117-CE6C6CD67586}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{11EA630B-4600-4236-A117-CE6C6CD67586}.Debug|Any CPU.Build.0 = Debug|Any CPU
{11EA630B-4600-4236-A117-CE6C6CD67586}.Debug|x64.ActiveCfg = Debug|x64
{11EA630B-4600-4236-A117-CE6C6CD67586}.Debug|x64.Build.0 = Debug|x64
{11EA630B-4600-4236-A117-CE6C6CD67586}.Release|Any CPU.ActiveCfg = Release|Any CPU
{11EA630B-4600-4236-A117-CE6C6CD67586}.Release|Any CPU.Build.0 = Release|Any CPU
{11EA630B-4600-4236-A117-CE6C6CD67586}.Release|x64.ActiveCfg = Release|x64
{11EA630B-4600-4236-A117-CE6C6CD67586}.Release|x64.Build.0 = Release|x64
{C4A288D5-0FAA-4F43-9072-B97635D7871D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C4A288D5-0FAA-4F43-9072-B97635D7871D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C4A288D5-0FAA-4F43-9072-B97635D7871D}.Debug|x64.ActiveCfg = Debug|x64
{C4A288D5-0FAA-4F43-9072-B97635D7871D}.Debug|x64.Build.0 = Debug|x64
{C4A288D5-0FAA-4F43-9072-B97635D7871D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C4A288D5-0FAA-4F43-9072-B97635D7871D}.Release|Any CPU.Build.0 = Release|Any CPU
{C4A288D5-0FAA-4F43-9072-B97635D7871D}.Release|x64.ActiveCfg = Release|x64
{C4A288D5-0FAA-4F43-9072-B97635D7871D}.Release|x64.Build.0 = Release|x64
{F6A002AD-CF7F-4771-8597-F12A50A93DAA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F6A002AD-CF7F-4771-8597-F12A50A93DAA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F6A002AD-CF7F-4771-8597-F12A50A93DAA}.Debug|x64.ActiveCfg = Debug|x64
{F6A002AD-CF7F-4771-8597-F12A50A93DAA}.Debug|x64.Build.0 = Debug|x64
{F6A002AD-CF7F-4771-8597-F12A50A93DAA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F6A002AD-CF7F-4771-8597-F12A50A93DAA}.Release|Any CPU.Build.0 = Release|Any CPU
{F6A002AD-CF7F-4771-8597-F12A50A93DAA}.Release|x64.ActiveCfg = Release|x64
{F6A002AD-CF7F-4771-8597-F12A50A93DAA}.Release|x64.Build.0 = Release|x64
{04AB2E76-DE8B-4EFD-9F48-F8D4C0993106}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{04AB2E76-DE8B-4EFD-9F48-F8D4C0993106}.Debug|Any CPU.Build.0 = Debug|Any CPU
{04AB2E76-DE8B-4EFD-9F48-F8D4C0993106}.Debug|x64.ActiveCfg = Debug|x64
{04AB2E76-DE8B-4EFD-9F48-F8D4C0993106}.Debug|x64.Build.0 = Debug|x64
{04AB2E76-DE8B-4EFD-9F48-F8D4C0993106}.Release|Any CPU.ActiveCfg = Release|Any CPU
{04AB2E76-DE8B-4EFD-9F48-F8D4C0993106}.Release|Any CPU.Build.0 = Release|Any CPU
{04AB2E76-DE8B-4EFD-9F48-F8D4C0993106}.Release|x64.ActiveCfg = Release|x64
{04AB2E76-DE8B-4EFD-9F48-F8D4C0993106}.Release|x64.Build.0 = Release|x64
{4124E31B-EA94-4EE3-9EC6-A565F1420AEA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4124E31B-EA94-4EE3-9EC6-A565F1420AEA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4124E31B-EA94-4EE3-9EC6-A565F1420AEA}.Debug|x64.ActiveCfg = Debug|x64
{4124E31B-EA94-4EE3-9EC6-A565F1420AEA}.Debug|x64.Build.0 = Debug|x64
{4124E31B-EA94-4EE3-9EC6-A565F1420AEA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4124E31B-EA94-4EE3-9EC6-A565F1420AEA}.Release|Any CPU.Build.0 = Release|Any CPU
{4124E31B-EA94-4EE3-9EC6-A565F1420AEA}.Release|x64.ActiveCfg = Release|x64
{4124E31B-EA94-4EE3-9EC6-A565F1420AEA}.Release|x64.Build.0 = Release|x64
{9EB9C39E-E14F-443E-9AA3-EE417ABCBC1D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9EB9C39E-E14F-443E-9AA3-EE417ABCBC1D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9EB9C39E-E14F-443E-9AA3-EE417ABCBC1D}.Debug|x64.ActiveCfg = Debug|x64
{9EB9C39E-E14F-443E-9AA3-EE417ABCBC1D}.Debug|x64.Build.0 = Debug|x64
{9EB9C39E-E14F-443E-9AA3-EE417ABCBC1D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9EB9C39E-E14F-443E-9AA3-EE417ABCBC1D}.Release|Any CPU.Build.0 = Release|Any CPU
{9EB9C39E-E14F-443E-9AA3-EE417ABCBC1D}.Release|x64.ActiveCfg = Release|x64
{9EB9C39E-E14F-443E-9AA3-EE417ABCBC1D}.Release|x64.Build.0 = Release|x64
{9D980420-C364-47D5-9226-62E28DF315E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9D980420-C364-47D5-9226-62E28DF315E7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9D980420-C364-47D5-9226-62E28DF315E7}.Debug|x64.ActiveCfg = Debug|x64
{9D980420-C364-47D5-9226-62E28DF315E7}.Debug|x64.Build.0 = Debug|x64
{9D980420-C364-47D5-9226-62E28DF315E7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9D980420-C364-47D5-9226-62E28DF315E7}.Release|Any CPU.Build.0 = Release|Any CPU
{9D980420-C364-47D5-9226-62E28DF315E7}.Release|x64.ActiveCfg = Release|x64
{9D980420-C364-47D5-9226-62E28DF315E7}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@ -0,0 +1,549 @@
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
//
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
//
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
using Admin.NET.Core;
using SqlSugar;
using System.ComponentModel.DataAnnotations;
namespace Vistar.Application.Entity;
/// <summary>
///
/// </summary>
[SugarTable("ConfigurationData","")]
[Tenant("启威星 1.94.4.74")]
public class ConfigurationData : EntityBase
{
/// <summary>
///
/// </summary>
[Required]
[SugarColumn(ColumnName = "ParentGuid", ColumnDescription = "", Length = 50)]
public string ParentGuid { get; set; }
/// <summary>
///
/// </summary>
[Required]
[SugarColumn(ColumnName = "ChildGuid", ColumnDescription = "", Length = 50)]
public string ChildGuid { get; set; }
/// <summary>
///
/// </summary>
[Required]
[SugarColumn(ColumnName = "ChildObjID", ColumnDescription = "")]
public long ChildObjID { get; set; }
/// <summary>
///
/// </summary>
[Required]
[SugarColumn(ColumnName = "ConfigId", ColumnDescription = "")]
public long ConfigId { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "childVersion", ColumnDescription = "")]
public int? childVersion { get; set; }
/// <summary>
///
/// </summary>
[Required]
[SugarColumn(ColumnName = "ParentVersion", ColumnDescription = "")]
public int ParentVersion { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "isDeleted", ColumnDescription = "")]
public bool? isDeleted { get; set; }
/// <summary>
///
/// </summary>
[Required]
[SugarColumn(ColumnName = "ConfigInstanceID", IsIdentity = true, ColumnDescription = "", IsPrimaryKey = true)]
public long ConfigInstanceID { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "ChildConfigID", ColumnDescription = "")]
public long? ChildConfigID { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "CreatedUserID", ColumnDescription = "")]
public long? CreatedUserID { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "ModifiedUserID", ColumnDescription = "")]
public long? ModifiedUserID { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "CreatedDate", ColumnDescription = "")]
public DateTime? CreatedDate { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "ModifiedDate", ColumnDescription = "")]
public DateTime? ModifiedDate { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "Quantity", ColumnDescription = "")]
public double? Quantity { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "Description", ColumnDescription = "", Length = -1)]
public string? Description { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "EffectiveFrom", ColumnDescription = "")]
public DateTime? EffectiveFrom { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "EffectiveTo", ColumnDescription = "")]
public DateTime? EffectiveTo { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "Revision", ColumnDescription = "", Length = 50)]
public string? Revision { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "Marker", ColumnDescription = "", Length = 50)]
public string? Marker { get; set; }
/// <summary>
///
/// </summary>
[Required]
[SugarColumn(ColumnName = "Type", ColumnDescription = "", Length = 50)]
public string Type { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "ConfigParent", ColumnDescription = "")]
public long? ConfigParent { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "OrderIndex", ColumnDescription = "")]
public long? OrderIndex { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "PartNumber", ColumnDescription = "", Length = 255)]
public string? PartNumber { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "_conf_24_tralala", ColumnDescription = "", Length = 255)]
public string? _conf_24_tralala { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "_conf_28_hello", ColumnDescription = "", Length = 255)]
public string? _conf_28_hello { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "_conf_28_sss", ColumnDescription = "", Length = 255)]
public string? _conf_28_sss { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "conf_29_sss", ColumnDescription = "", Length = 1000)]
public string? conf_29_sss { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "RecordImage", ColumnDescription = "")]
public byte[]? RecordImage { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "Folder", ColumnDescription = "", Length = 255)]
public string? Folder { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "CheckedStatus", ColumnDescription = "")]
public int? CheckedStatus { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "_TestConfigurimi_tralala", ColumnDescription = "", Length = 255)]
public string? _TestConfigurimi_tralala { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "_TestConfigurimi_asfasd", ColumnDescription = "", Length = 255)]
public string? _TestConfigurimi_asfasd { get; set; }
/// <summary>
///
/// </summary>
[Required]
[SugarColumn(ColumnName = "ParentObjectID", ColumnDescription = "")]
public long ParentObjectID { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "conf_30_somefields", ColumnDescription = "", Length = 1000)]
public string? conf_30_somefields { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "conf_30_TestNBS", ColumnDescription = "", Length = -1)]
public string? conf_30_TestNBS { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "conf_30_testDate", ColumnDescription = "")]
public DateTime? conf_30_testDate { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "conf_30_testNumber", ColumnDescription = "")]
public long? conf_30_testNumber { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "conf_30_TestList", ColumnDescription = "", Length = -1)]
public string? conf_30_TestList { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "conf_30_testListNo", ColumnDescription = "")]
public long? conf_30_testListNo { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "conf_30_testListdecimal", ColumnDescription = "")]
public double? conf_30_testListdecimal { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "conf_33_Comments", ColumnDescription = "", Length = 300)]
public string? conf_33_Comments { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "conf_33_SerialNo.", ColumnDescription = "", Length = -1)]
//public string? conf_33_SerialNo. { get; set; }
public string? conf_33_SerialNo { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "conf_33_TestContacts2", ColumnDescription = "")]
public long? conf_33_TestContacts2 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "conf_33_TestContacts2_Rec", ColumnDescription = "")]
public long? conf_33_TestContacts2_Rec { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "conf_6_Comments", ColumnDescription = "", Length = 300)]
public string? conf_6_Comments { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "conf_6_SerialNumber", ColumnDescription = "", Length = -1)]
public string? conf_6_SerialNumber { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "ChildSwFileType", ColumnDescription = "")]
public int? ChildSwFileType { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "ParentSwFileType", ColumnDescription = "")]
public int? ParentSwFileType { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "conf_19_Serial", ColumnDescription = "", Length = -1)]
public string? conf_19_Serial { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "conf_19_Comments", ColumnDescription = "", Length = 1000)]
public string? conf_19_Comments { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "conf_21_Comments", ColumnDescription = "", Length = 1000)]
public string? conf_21_Comments { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "conf_19_testList", ColumnDescription = "", Length = -1)]
public string? conf_19_testList { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "conf_21_BuyStage", ColumnDescription = "", Length = -1)]
public string? conf_21_BuyStage { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "conf_19_testconfigfieldnbs", ColumnDescription = "", Length = -1)]
public string? conf_19_testconfigfieldnbs { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "conf_32_Comments", ColumnDescription = "", Length = 1000)]
public string? conf_32_Comments { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "isSuppressed", ColumnDescription = "")]
public bool? isSuppressed { get; set; }
/// <summary>
///
/// </summary>
[Required]
[SugarColumn(ColumnName = "isAddedFromSW", ColumnDescription = "")]
public bool isAddedFromSW { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "QtyManual", ColumnDescription = "")]
public double? QtyManual { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "SWPDMXrefId", ColumnDescription = "")]
public long? SWPDMXrefId { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "SwConfiguration", ColumnDescription = "", Length = 250)]
public string? SwConfiguration { get; set; }
/// <summary>
///
/// </summary>
[Required]
[SugarColumn(ColumnName = "inContext", ColumnDescription = "")]
public bool inContext { get; set; }
/// <summary>
///
/// </summary>
[Required]
[SugarColumn(ColumnName = "PrimaryFile", ColumnDescription = "", Length = 250)]
public string PrimaryFile { get; set; }
/// <summary>
///
/// </summary>
[Required]
[SugarColumn(ColumnName = "bKeepQuantityInSync", ColumnDescription = "")]
public bool bKeepQuantityInSync { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "BOMGuid", ColumnDescription = "", Length = 40)]
public string? BOMGuid { get; set; }
/// <summary>
///
/// </summary>
[Required]
[SugarColumn(ColumnName = "IsPDMReference", ColumnDescription = "")]
public bool IsPDMReference { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "BOMGuidCopiedFrom", ColumnDescription = "", Length = 40)]
public string? BOMGuidCopiedFrom { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "SWPDMXRefConfigurationID", ColumnDescription = "")]
public int? SWPDMXRefConfigurationID { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "SWPDMXRefConfigurationName", ColumnDescription = "", Length = 255)]
public string? SWPDMXRefConfigurationName { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004492", ColumnDescription = "", Length = -1)]
public string? fld004492 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004670", ColumnDescription = "", Length = -1)]
public string? fld004670 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004671", ColumnDescription = "", Length = -1)]
public string? fld004671 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004691", ColumnDescription = "", Length = -1)]
public string? fld004691 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004936", ColumnDescription = "", Length = -1)]
public string? fld004936 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004937", ColumnDescription = "", Length = -1)]
public string? fld004937 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004938", ColumnDescription = "", Length = -1)]
public string? fld004938 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004939", ColumnDescription = "", Length = -1)]
public string? fld004939 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004940", ColumnDescription = "", Length = -1)]
public string? fld004940 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004941", ColumnDescription = "", Length = -1)]
public string? fld004941 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004994", ColumnDescription = "")]
public double? fld004994 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004995", ColumnDescription = "", Length = -1)]
public string? fld004995 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004996", ColumnDescription = "", Length = -1)]
public string? fld004996 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004997", ColumnDescription = "", Length = -1)]
public string? fld004997 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld005017", ColumnDescription = "")]
public double? fld005017 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld005018", ColumnDescription = "", Length = -1)]
public string? fld005018 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld005019", ColumnDescription = "", Length = -1)]
public string? fld005019 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld005020", ColumnDescription = "", Length = -1)]
public string? fld005020 { get; set; }
}

View File

@ -0,0 +1,129 @@
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
//
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
//
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
using Admin.NET.Core;
using SqlSugar;
using System.ComponentModel.DataAnnotations;
namespace Vistar.Application.Entity;
/// <summary>
///
/// </summary>
[SugarTable("Configurations","")]
[Tenant("启威星 1.94.4.74")]
public class Configurations
{
/// <summary>
///
/// </summary>
[Required]
[SugarColumn(ColumnName = "ConfigID", IsIdentity = true, ColumnDescription = "", IsPrimaryKey = true)]
public long ConfigID { get; set; }
/// <summary>
///
/// </summary>
[Required]
[SugarColumn(ColumnName = "ConfigSystemName", ColumnDescription = "", Length = 50)]
public string ConfigSystemName { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "ConfigLabel", ColumnDescription = "", Length = 50)]
public string? ConfigLabel { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "ListOrder", ColumnDescription = "")]
public Int16? ListOrder { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "IsEnabled", ColumnDescription = "")]
public bool? IsEnabled { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "ObjectId", ColumnDescription = "")]
public int? ObjectId { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "isDefault", ColumnDescription = "")]
public bool? isDefault { get; set; }
/// <summary>
///
/// </summary>
[Required]
[SugarColumn(ColumnName = "EnableBOMTemplates", ColumnDescription = "")]
public bool EnableBOMTemplates { get; set; }
/// <summary>
///
/// </summary>
[Required]
[SugarColumn(ColumnName = "IsTemplateAnchored", ColumnDescription = "")]
public bool IsTemplateAnchored { get; set; }
/// <summary>
///
/// </summary>
[Required]
[SugarColumn(ColumnName = "AnchorPosition", ColumnDescription = "")]
public int AnchorPosition { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "MarkerStart", ColumnDescription = "")]
public int? MarkerStart { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "MarkerLength", ColumnDescription = "")]
public int? MarkerLength { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "MarkerIncrement", ColumnDescription = "")]
public int? MarkerIncrement { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "AllowDuplicatePartNumbers", ColumnDescription = "")]
public bool? AllowDuplicatePartNumbers { get; set; }
/// <summary>
///
/// </summary>
[Required]
[SugarColumn(ColumnName = "bSyncQuantityDefault", ColumnDescription = "")]
public bool bSyncQuantityDefault { get; set; }
/// <summary>
///
/// </summary>
[Required]
[SugarColumn(ColumnName = "GenerateMarkerWhenCopyingItems", ColumnDescription = "")]
public bool GenerateMarkerWhenCopyingItems { get; set; }
/// <summary>
///
/// </summary>
[Required]
[SugarColumn(ColumnName = "UseRichTextDescription", ColumnDescription = "")]
public bool UseRichTextDescription { get; set; }
}

View File

@ -0,0 +1,713 @@
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
//
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
//
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
using Admin.NET.Core;
using SqlSugar;
using System.ComponentModel.DataAnnotations;
namespace Vistar.Application.Entity;
/// <summary>
/// 产品管理
/// </summary>
[SugarTable("OBJ110","产品管理")]
[Tenant("启威星 1.94.4.74")]
public class Obj110 : EntityBase
{
/// <summary>
///
/// </summary>
[Required]
[SugarColumn(ColumnName = "idRecord", IsIdentity = true, ColumnDescription = "", IsPrimaryKey = true)]
public long idRecord { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "CheckedStatus", ColumnDescription = "")]
public bool? CheckedStatus { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "VersionIndex", ColumnDescription = "")]
public int? VersionIndex { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "IsLatestVersion", ColumnDescription = "")]
public bool? IsLatestVersion { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "CreatedDate", ColumnDescription = "")]
public DateTime? CreatedDate { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "VersionCreatedDate", ColumnDescription = "")]
public DateTime? VersionCreatedDate { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "dateModified", ColumnDescription = "")]
public DateTime? dateModified { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "UserCreatedId", ColumnDescription = "")]
public long? UserCreatedId { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "VersionUserCreatedId", ColumnDescription = "")]
public long? VersionUserCreatedId { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "UserModifiedId", ColumnDescription = "")]
public long? UserModifiedId { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "RecordGuid", ColumnDescription = "", Length = 40)]
public string? RecordGuid { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "isVisibilityNormal", ColumnDescription = "")]
public bool? isVisibilityNormal { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "deleted", ColumnDescription = "")]
public bool? deleted { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "SubObjectGuid", ColumnDescription = "", Length = 40)]
public string? SubObjectGuid { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "PreviousStatus", ColumnDescription = "")]
public bool? PreviousStatus { get; set; }
/// <summary>
/// 修订版
/// </summary>
[SugarColumn(ColumnName = "revision", ColumnDescription = "修订版", Length = 10)]
public string? revision { get; set; }
/// <summary>
/// 图片小
/// </summary>
[SugarColumn(ColumnName = "Record_image160_160", ColumnDescription = "图片小")]
public byte[]? Record_image160_160 { get; set; }
/// <summary>
/// 图片大
/// </summary>
[SugarColumn(ColumnName = "Record_Image320_240", ColumnDescription = "图片大")]
public byte[]? Record_Image320_240 { get; set; }
/// <summary>
/// 图片最大
/// </summary>
[SugarColumn(ColumnName = "Record_ImageMax", ColumnDescription = "图片最大")]
public byte[]? Record_ImageMax { get; set; }
/// <summary>
/// 物料编码
/// </summary>
[SugarColumn(ColumnName = "_System_objNBS", ColumnDescription = "物料编码", Length = 100)]
public string? _System_objNBS { get; set; }
/// <summary>
/// 名称
/// </summary>
[SugarColumn(ColumnName = "_System_ObjDescription", ColumnDescription = "名称", Length = 200)]
public string? _System_ObjDescription { get; set; }
/// <summary>
/// 生效日期
/// </summary>
[SugarColumn(ColumnName = "_System_Effectivity_Begin", ColumnDescription = "生效日期")]
public DateTime? _System_Effectivity_Begin { get; set; }
/// <summary>
/// 失效日期
/// </summary>
[SugarColumn(ColumnName = "_System_Effectivity_End", ColumnDescription = "失效日期")]
public DateTime? _System_Effectivity_End { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "CheckedOutPc", ColumnDescription = "", Length = 255)]
public string? CheckedOutPc { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "GroupObjId", ColumnDescription = "")]
public long? GroupObjId { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "_CheckOutInProgress", ColumnDescription = "")]
public bool? _CheckOutInProgress { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "EnableNotifications", ColumnDescription = "")]
public bool? EnableNotifications { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "_system_objConfigurationName", ColumnDescription = "", Length = 255)]
public string? _system_objConfigurationName { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "_system_objConfigurationType", ColumnDescription = "")]
public bool? _system_objConfigurationType { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "_system_objConfigurationGuid", ColumnDescription = "", Length = 40)]
public string? _system_objConfigurationGuid { get; set; }
/// <summary>
///
/// </summary>
[Required]
[SugarColumn(ColumnName = "ShowBomFromConfiguration", ColumnDescription = "", Length = 250)]
public string ShowBomFromConfiguration { get; set; }
/// <summary>
///
/// </summary>
[Required]
[SugarColumn(ColumnName = "_System_ObjNbsAuto", ColumnDescription = "", Length = 50)]
public string _System_ObjNbsAuto { get; set; }
/// <summary>
/// 创建自
/// </summary>
[SugarColumn(ColumnName = "_System_DerivedFrom", ColumnDescription = "创建自", Length = 50)]
public string? _System_DerivedFrom { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "_System_DerivedFrom_RecordGuid", ColumnDescription = "", Length = 50)]
public string? _System_DerivedFrom_RecordGuid { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "_system_objLinkedCompare", ColumnDescription = "")]
public bool? _system_objLinkedCompare { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "isReleasedVersion", ColumnDescription = "")]
public bool? isReleasedVersion { get; set; }
/// <summary>
/// Web 链接
/// </summary>
[SugarColumn(ColumnName = "_System_WebLink", ColumnDescription = "Web 链接", Length = 500)]
public string? _System_WebLink { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "LinkDrw", ColumnDescription = "")]
public bool? LinkDrw { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "ParentRecordGuid", ColumnDescription = "", Length = -1)]
public string? ParentRecordGuid { get; set; }
/// <summary>
/// 一级分类
/// </summary>
[SugarColumn(ColumnName = "fld004283", ColumnDescription = "一级分类", Length = -1)]
public string? fld004283 { get; set; }
/// <summary>
/// 二级分类
/// </summary>
[SugarColumn(ColumnName = "fld004284", ColumnDescription = "二级分类", Length = -1)]
public string? fld004284 { get; set; }
/// <summary>
/// 三级分类
/// </summary>
[SugarColumn(ColumnName = "fld004285", ColumnDescription = "三级分类", Length = -1)]
public string? fld004285 { get; set; }
/// <summary>
/// 四级分类
/// </summary>
[SugarColumn(ColumnName = "fld004286", ColumnDescription = "四级分类", Length = -1)]
public string? fld004286 { get; set; }
/// <summary>
/// 项目编码(设计)
/// </summary>
[SugarColumn(ColumnName = "fld004287", ColumnDescription = "项目编码(设计)")]
public long? fld004287 { get; set; }
/// <summary>
/// 项目编码(设计)ID
/// </summary>
[SugarColumn(ColumnName = "fld004287_Rec", ColumnDescription = "项目编码(设计)ID", Length = -1)]
public string? fld004287_Rec { get; set; }
/// <summary>
/// 模块编码
/// </summary>
[SugarColumn(ColumnName = "fld004288", ColumnDescription = "模块编码", Length = -1)]
public string? fld004288 { get; set; }
/// <summary>
/// 中类
/// </summary>
[SugarColumn(ColumnName = "fld004289", ColumnDescription = "中类", Length = -1)]
public string? fld004289 { get; set; }
/// <summary>
/// 版本
/// </summary>
[SugarColumn(ColumnName = "fld004290", ColumnDescription = "版本", Length = -1)]
public string? fld004290 { get; set; }
/// <summary>
/// 项目描述
/// </summary>
[SugarColumn(ColumnName = "fld004291", ColumnDescription = "项目描述", Length = -1)]
public string? fld004291 { get; set; }
/// <summary>
/// 物料同步状态
/// </summary>
[SugarColumn(ColumnName = "fld004311", ColumnDescription = "物料同步状态", Length = -1)]
public string? fld004311 { get; set; }
/// <summary>
/// 物料同步标识
///A新增 M修改 D停用 N已处理
/// </summary>
[SugarColumn(ColumnName = "fld004312", ColumnDescription = "物料同步标识 A新增 M修改 D停用 N已处理", Length = -1)]
public string? fld004312 { get; set; }
/// <summary>
/// 物料同步信息
/// </summary>
[SugarColumn(ColumnName = "fld004313", ColumnDescription = "物料同步信息", Length = -1)]
public string? fld004313 { get; set; }
/// <summary>
/// 物料同步时间
/// </summary>
[SugarColumn(ColumnName = "fld004314", ColumnDescription = "物料同步时间", Length = -1)]
public string? fld004314 { get; set; }
/// <summary>
/// BOM 同步状态
/// </summary>
[SugarColumn(ColumnName = "fld004315", ColumnDescription = "BOM 同步状态", Length = -1)]
public string? fld004315 { get; set; }
/// <summary>
/// BOM同步标识 A新增 M修改 D停用 N已处理
/// </summary>
[SugarColumn(ColumnName = "fld004316", ColumnDescription = "BOM同步标识 A新增 M修改 D停用 N已处理", Length = -1)]
public string? fld004316 { get; set; }
/// <summary>
/// BOM 同步信息
/// </summary>
[SugarColumn(ColumnName = "fld004317", ColumnDescription = "BOM 同步信息", Length = -1)]
public string? fld004317 { get; set; }
/// <summary>
/// BOM 同步时间
/// </summary>
[SugarColumn(ColumnName = "fld004318", ColumnDescription = "BOM 同步时间", Length = -1)]
public string? fld004318 { get; set; }
/// <summary>
/// 工艺同步状态
/// </summary>
[SugarColumn(ColumnName = "fld004319", ColumnDescription = "工艺同步状态", Length = -1)]
public string? fld004319 { get; set; }
/// <summary>
/// 工艺同步标识 A新增 M修改 D停用 N已处理
/// </summary>
[SugarColumn(ColumnName = "fld004320", ColumnDescription = "工艺同步标识 A新增 M修改 D停用 N已处理", Length = -1)]
public string? fld004320 { get; set; }
/// <summary>
/// 工艺同步信息
/// </summary>
[SugarColumn(ColumnName = "fld004321", ColumnDescription = "工艺同步信息", Length = -1)]
public string? fld004321 { get; set; }
/// <summary>
/// 工艺同步时间
/// </summary>
[SugarColumn(ColumnName = "fld004322", ColumnDescription = "工艺同步时间", Length = -1)]
public string? fld004322 { get; set; }
/// <summary>
/// 行业领域
/// </summary>
[SugarColumn(ColumnName = "fld004323", ColumnDescription = "行业领域", Length = -1)]
public string? fld004323 { get; set; }
/// <summary>
/// 物料类型
/// </summary>
[SugarColumn(ColumnName = "fld004324", ColumnDescription = "物料类型", Length = -1)]
public string? fld004324 { get; set; }
/// <summary>
/// 工厂
/// </summary>
[SugarColumn(ColumnName = "fld004325", ColumnDescription = "工厂", Length = -1)]
public string? fld004325 { get; set; }
/// <summary>
/// 单位
/// </summary>
[SugarColumn(ColumnName = "fld004326", ColumnDescription = "单位")]
public long? fld004326 { get; set; }
/// <summary>
/// 单位ID
/// </summary>
[SugarColumn(ColumnName = "fld004326_Rec", ColumnDescription = "单位ID", Length = -1)]
public string? fld004326_Rec { get; set; }
/// <summary>
/// 备用4
/// </summary>
[SugarColumn(ColumnName = "fld004327", ColumnDescription = "备用4", Length = -1)]
public string? fld004327 { get; set; }
/// <summary>
/// 物料描述
/// </summary>
[SugarColumn(ColumnName = "fld004484", ColumnDescription = "物料描述", Length = -1)]
public string? fld004484 { get; set; }
/// <summary>
/// 物料组
/// </summary>
[SugarColumn(ColumnName = "fld004485", ColumnDescription = "物料组", Length = -1)]
public string? fld004485 { get; set; }
/// <summary>
/// 毛重
/// </summary>
[SugarColumn(ColumnName = "fld004486", ColumnDescription = "毛重")]
public double? fld004486 { get; set; }
/// <summary>
/// 重量单位
/// </summary>
[SugarColumn(ColumnName = "fld004487", ColumnDescription = "重量单位", Length = -1)]
public string? fld004487 { get; set; }
/// <summary>
/// 体积
/// </summary>
[SugarColumn(ColumnName = "fld004488", ColumnDescription = "体积")]
public double? fld004488 { get; set; }
/// <summary>
/// 体积单位
/// </summary>
[SugarColumn(ColumnName = "fld004489", ColumnDescription = "体积单位", Length = -1)]
public string? fld004489 { get; set; }
/// <summary>
/// 采购类型
/// </summary>
[SugarColumn(ColumnName = "fld004490", ColumnDescription = "采购类型", Length = -1)]
public string? fld004490 { get; set; }
/// <summary>
/// 特殊采购
/// </summary>
[SugarColumn(ColumnName = "fld004491", ColumnDescription = "特殊采购", Length = -1)]
public string? fld004491 { get; set; }
/// <summary>
/// 创建人员
/// </summary>
[SugarColumn(ColumnName = "fld004493", ColumnDescription = "创建人员")]
public long? fld004493 { get; set; }
/// <summary>
/// 创建人员ID
/// </summary>
[SugarColumn(ColumnName = "fld004493_Rec", ColumnDescription = "创建人员ID", Length = -1)]
public string? fld004493_Rec { get; set; }
/// <summary>
/// 创建日期
/// </summary>
[SugarColumn(ColumnName = "fld004494", ColumnDescription = "创建日期")]
public DateTime? fld004494 { get; set; }
/// <summary>
/// 审核人员
/// </summary>
[SugarColumn(ColumnName = "fld004495", ColumnDescription = "审核人员")]
public long? fld004495 { get; set; }
/// <summary>
/// 审核人员ID
/// </summary>
[SugarColumn(ColumnName = "fld004495_Rec", ColumnDescription = "审核人员ID", Length = -1)]
public string? fld004495_Rec { get; set; }
/// <summary>
/// 审核日期
/// </summary>
[SugarColumn(ColumnName = "fld004496", ColumnDescription = "审核日期")]
public DateTime? fld004496 { get; set; }
/// <summary>
/// 变更人员
/// </summary>
[SugarColumn(ColumnName = "fld004497", ColumnDescription = "变更人员")]
public long? fld004497 { get; set; }
/// <summary>
/// 变更人员ID
/// </summary>
[SugarColumn(ColumnName = "fld004497_Rec", ColumnDescription = "变更人员ID", Length = -1)]
public string? fld004497_Rec { get; set; }
/// <summary>
/// 审核信息
/// </summary>
[SugarColumn(ColumnName = "fld004498", ColumnDescription = "审核信息", Length = -1)]
public string? fld004498 { get; set; }
/// <summary>
/// 变更日期
/// </summary>
[SugarColumn(ColumnName = "fld004499", ColumnDescription = "变更日期")]
public DateTime? fld004499 { get; set; }
/// <summary>
/// ECN 编号
/// </summary>
[SugarColumn(ColumnName = "fld004500", ColumnDescription = "ECN 编号")]
public long? fld004500 { get; set; }
/// <summary>
/// ECN 编号ID
/// </summary>
[SugarColumn(ColumnName = "fld004500_Rec", ColumnDescription = "ECN 编号ID", Length = -1)]
public string? fld004500_Rec { get; set; }
/// <summary>
/// 模块类型
/// </summary>
[SugarColumn(ColumnName = "fld004501", ColumnDescription = "模块类型", Length = -1)]
public string? fld004501 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004629", ColumnDescription = "")]
public DateTime? fld004629 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004630", ColumnDescription = "", Length = -1)]
public string? fld004630 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004631", ColumnDescription = "")]
public DateTime? fld004631 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004632", ColumnDescription = "")]
public DateTime? fld004632 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004698", ColumnDescription = "", Length = -1)]
public string? fld004698 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004699", ColumnDescription = "", Length = -1)]
public string? fld004699 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004700", ColumnDescription = "", Length = -1)]
public string? fld004700 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004859", ColumnDescription = "")]
public long? fld004859 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004859_Rec", ColumnDescription = "", Length = -1)]
public string? fld004859_Rec { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004860", ColumnDescription = "")]
public long? fld004860 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004860_Rec", ColumnDescription = "", Length = -1)]
public string? fld004860_Rec { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004861", ColumnDescription = "", Length = -1)]
public string? fld004861 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004862", ColumnDescription = "")]
public DateTime? fld004862 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004863", ColumnDescription = "")]
public DateTime? fld004863 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004864", ColumnDescription = "")]
public long? fld004864 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004864_Rec", ColumnDescription = "", Length = -1)]
public string? fld004864_Rec { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004865", ColumnDescription = "")]
public DateTime? fld004865 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004872", ColumnDescription = "", Length = -1)]
public string? fld004872 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004873", ColumnDescription = "", Length = -1)]
public string? fld004873 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004876", ColumnDescription = "")]
public double? fld004876 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004877", ColumnDescription = "", Length = -1)]
public string? fld004877 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004878", ColumnDescription = "", Length = -1)]
public string? fld004878 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004879", ColumnDescription = "", Length = -1)]
public string? fld004879 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004880", ColumnDescription = "", Length = -1)]
public string? fld004880 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004881", ColumnDescription = "", Length = -1)]
public string? fld004881 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004882", ColumnDescription = "", Length = -1)]
public string? fld004882 { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName = "fld004887", ColumnDescription = "", Length = -1)]
public string? fld004887 { get; set; }
}

View File

@ -0,0 +1,22 @@
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
//
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
//
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Vistar.Application.Service.MaterialManagement.Dto;
public class ProductManagementBomOutput
{
}
public class ProductManagementBomTypeOutput
{
public long Id { get; set; }
public string Name { get; set; }
}

View File

@ -0,0 +1,548 @@
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
//
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
//
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
using Admin.NET.Core;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Vistar.Application.Service.MaterialManagement.Dto;
/// <summary>
/// 产品管理基础输入参数
/// </summary>
public class ProductManagementBaseInput
{
/// <summary>
///
/// </summary>
public virtual bool? CheckedStatus { get; set; }
/// <summary>
///
/// </summary>
public virtual int? VersionIndex { get; set; }
/// <summary>
///
/// </summary>
public virtual bool? IsLatestVersion { get; set; }
/// <summary>
///
/// </summary>
public virtual DateTime? CreatedDate { get; set; }
/// <summary>
///
/// </summary>
public virtual DateTime? VersionCreatedDate { get; set; }
/// <summary>
///
/// </summary>
public virtual DateTime? dateModified { get; set; }
/// <summary>
///
/// </summary>
public virtual long? UserCreatedId { get; set; }
/// <summary>
///
/// </summary>
public virtual long? VersionUserCreatedId { get; set; }
/// <summary>
///
/// </summary>
public virtual long? UserModifiedId { get; set; }
/// <summary>
///
/// </summary>
public virtual string? RecordGuid { get; set; }
/// <summary>
///
/// </summary>
public virtual bool? isVisibilityNormal { get; set; }
/// <summary>
///
/// </summary>
public virtual bool? deleted { get; set; }
/// <summary>
///
/// </summary>
public virtual string? SubObjectGuid { get; set; }
/// <summary>
///
/// </summary>
public virtual bool? PreviousStatus { get; set; }
/// <summary>
///
/// </summary>
public virtual string? revision { get; set; }
/// <summary>
///
/// </summary>
public virtual byte[]? Record_image160_160 { get; set; }
/// <summary>
///
/// </summary>
public virtual byte[]? Record_Image320_240 { get; set; }
/// <summary>
///
/// </summary>
public virtual byte[]? Record_ImageMax { get; set; }
/// <summary>
/// 物料编码
/// </summary>
public virtual string? _System_objNBS { get; set; }
/// <summary>
/// 名称
/// </summary>
public virtual string? _System_ObjDescription { get; set; }
/// <summary>
///
/// </summary>
public virtual DateTime? _System_Effectivity_Begin { get; set; }
/// <summary>
///
/// </summary>
public virtual DateTime? _System_Effectivity_End { get; set; }
/// <summary>
///
/// </summary>
public virtual string? CheckedOutPc { get; set; }
/// <summary>
///
/// </summary>
public virtual long? GroupObjId { get; set; }
/// <summary>
///
/// </summary>
public virtual bool? _CheckOutInProgress { get; set; }
/// <summary>
///
/// </summary>
public virtual bool? EnableNotifications { get; set; }
/// <summary>
///
/// </summary>
public virtual string? _system_objConfigurationName { get; set; }
/// <summary>
///
/// </summary>
public virtual bool? _system_objConfigurationType { get; set; }
/// <summary>
///
/// </summary>
public virtual string? _system_objConfigurationGuid { get; set; }
/// <summary>
///
/// </summary>
public virtual string ShowBomFromConfiguration { get; set; }
/// <summary>
///
/// </summary>
public virtual string _System_ObjNbsAuto { get; set; }
/// <summary>
///
/// </summary>
public virtual string? _System_DerivedFrom { get; set; }
/// <summary>
///
/// </summary>
public virtual string? _System_DerivedFrom_RecordGuid { get; set; }
/// <summary>
///
/// </summary>
public virtual bool? _system_objLinkedCompare { get; set; }
/// <summary>
///
/// </summary>
public virtual bool? isReleasedVersion { get; set; }
/// <summary>
///
/// </summary>
public virtual string? _System_WebLink { get; set; }
/// <summary>
///
/// </summary>
public virtual bool? LinkDrw { get; set; }
/// <summary>
///
/// </summary>
public virtual string? ParentRecordGuid { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004283 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004284 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004285 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004286 { get; set; }
/// <summary>
///
/// </summary>
public virtual long? fld004287 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004287_Rec { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004288 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004289 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004290 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004291 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004311 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004312 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004313 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004314 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004315 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004316 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004317 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004318 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004319 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004320 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004321 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004322 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004323 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004324 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004325 { get; set; }
/// <summary>
///
/// </summary>
public virtual long? fld004326 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004326_Rec { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004327 { get; set; }
/// <summary>
/// 物料描述
/// </summary>
public virtual string? fld004484 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004485 { get; set; }
/// <summary>
///
/// </summary>
public virtual double? fld004486 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004487 { get; set; }
/// <summary>
///
/// </summary>
public virtual double? fld004488 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004489 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004490 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004491 { get; set; }
/// <summary>
///
/// </summary>
public virtual long? fld004493 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004493_Rec { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public virtual DateTime? fld004494 { get; set; }
/// <summary>
///
/// </summary>
public virtual long? fld004495 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004495_Rec { get; set; }
/// <summary>
///
/// </summary>
public virtual DateTime? fld004496 { get; set; }
/// <summary>
///
/// </summary>
public virtual long? fld004497 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004497_Rec { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004498 { get; set; }
/// <summary>
///
/// </summary>
public virtual DateTime? fld004499 { get; set; }
/// <summary>
///
/// </summary>
public virtual long? fld004500 { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004500_Rec { get; set; }
/// <summary>
///
/// </summary>
public virtual string? fld004501 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004879 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004880 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004887 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004882 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004881 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004895 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004873 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004872 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004698 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004861 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004876 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004877 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004699 { get; set; }
public long idRecord { get; set; }
}
/// <summary>
/// 产品管理分页查询输入参数
/// </summary>
public class PageProductManagementInput : BasePageInput
{
/// <summary>
/// 物料编码
/// </summary>
public string? _System_objNBS { get; set; }
/// <summary>
/// 物料描述
/// </summary>
public string? fld004484 { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime? fld004494 { get; set; }
/// <summary>
/// 创建时间范围
/// </summary>
public DateTime?[] fld004494Range { get; set; }
}

View File

@ -0,0 +1,514 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Vistar.Application.Service.MaterialManagement.Dto;
/// <summary>
/// 产品管理输出参数
/// </summary>
public class ProductManagementOutput
{
public long idRecord { get; set; }
/// <summary>
///
/// </summary>
public bool? CheckedStatus { get; set; }
/// <summary>
///
/// </summary>
public int? VersionIndex { get; set; }
/// <summary>
///
/// </summary>
public bool? IsLatestVersion { get; set; }
/// <summary>
///
/// </summary>
public DateTime? CreatedDate { get; set; }
/// <summary>
///
/// </summary>
public DateTime? VersionCreatedDate { get; set; }
/// <summary>
///
/// </summary>
public DateTime? dateModified { get; set; }
/// <summary>
///
/// </summary>
public long? UserCreatedId { get; set; }
/// <summary>
///
/// </summary>
public long? VersionUserCreatedId { get; set; }
/// <summary>
///
/// </summary>
public long? UserModifiedId { get; set; }
/// <summary>
///
/// </summary>
public string? RecordGuid { get; set; }
/// <summary>
///
/// </summary>
public bool? isVisibilityNormal { get; set; }
/// <summary>
///
/// </summary>
public bool? deleted { get; set; }
/// <summary>
///
/// </summary>
public string? SubObjectGuid { get; set; }
/// <summary>
///
/// </summary>
public bool? PreviousStatus { get; set; }
/// <summary>
///
/// </summary>
public string? revision { get; set; }
/// <summary>
///
/// </summary>
public byte[]? Record_image160_160 { get; set; }
/// <summary>
///
/// </summary>
public byte[]? Record_Image320_240 { get; set; }
/// <summary>
///
/// </summary>
public byte[]? Record_ImageMax { get; set; }
/// <summary>
/// 物料编码
/// </summary>
public string? _System_objNBS { get; set; }
/// <summary>
/// 名称
/// </summary>
public string? _System_ObjDescription { get; set; }
/// <summary>
///
/// </summary>
public DateTime? _System_Effectivity_Begin { get; set; }
/// <summary>
///
/// </summary>
public DateTime? _System_Effectivity_End { get; set; }
/// <summary>
///
/// </summary>
public string? CheckedOutPc { get; set; }
/// <summary>
///
/// </summary>
public long? GroupObjId { get; set; }
/// <summary>
///
/// </summary>
public bool? _CheckOutInProgress { get; set; }
/// <summary>
///
/// </summary>
public bool? EnableNotifications { get; set; }
/// <summary>
///
/// </summary>
public string? _system_objConfigurationName { get; set; }
/// <summary>
///
/// </summary>
public bool? _system_objConfigurationType { get; set; }
/// <summary>
///
/// </summary>
public string? _system_objConfigurationGuid { get; set; }
/// <summary>
///
/// </summary>
public string ShowBomFromConfiguration { get; set; }
/// <summary>
///
/// </summary>
public string _System_ObjNbsAuto { get; set; }
/// <summary>
///
/// </summary>
public string? _System_DerivedFrom { get; set; }
/// <summary>
///
/// </summary>
public string? _System_DerivedFrom_RecordGuid { get; set; }
/// <summary>
///
/// </summary>
public bool? _system_objLinkedCompare { get; set; }
/// <summary>
///
/// </summary>
public bool? isReleasedVersion { get; set; }
/// <summary>
///
/// </summary>
public string? _System_WebLink { get; set; }
/// <summary>
///
/// </summary>
public bool? LinkDrw { get; set; }
/// <summary>
///
/// </summary>
public string? ParentRecordGuid { get; set; }
/// <summary>
///
/// </summary>
public string? fld004283 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004284 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004285 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004286 { get; set; }
/// <summary>
///
/// </summary>
public long? fld004287 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004287_Rec { get; set; }
/// <summary>
///
/// </summary>
public string? fld004288 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004289 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004290 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004291 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004311 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004312 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004313 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004314 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004315 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004316 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004317 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004318 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004319 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004320 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004321 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004322 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004323 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004324 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004325 { get; set; }
/// <summary>
///
/// </summary>
public long? fld004326 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004326_Rec { get; set; }
/// <summary>
///
/// </summary>
public string? fld004327 { get; set; }
/// <summary>
/// 物料描述
/// </summary>
public string? fld004484 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004485 { get; set; }
/// <summary>
///
/// </summary>
public double? fld004486 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004487 { get; set; }
/// <summary>
///
/// </summary>
public double? fld004488 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004489 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004490 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004491 { get; set; }
/// <summary>
///
/// </summary>
public long? fld004493 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004493_Rec { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime? fld004494 { get; set; }
/// <summary>
///
/// </summary>
public long? fld004495 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004495_Rec { get; set; }
/// <summary>
///
/// </summary>
public DateTime? fld004496 { get; set; }
/// <summary>
///
/// </summary>
public long? fld004497 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004497_Rec { get; set; }
/// <summary>
///
/// </summary>
public string? fld004498 { get; set; }
/// <summary>
///
/// </summary>
public DateTime? fld004499 { get; set; }
/// <summary>
///
/// </summary>
public long? fld004500 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004500_Rec { get; set; }
/// <summary>
///
/// </summary>
public string? fld004501 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004879 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004880 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004887 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004882 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004881 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004895 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004873 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004872 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004698 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004861 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004876 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004877 { get; set; }
/// <summary>
///
/// </summary>
public string? fld004699 { get; set; }
}

View File

@ -0,0 +1,270 @@
using Admin.NET.Core;
using COSXML.Model.Tag;
using DocumentFormat.OpenXml.Drawing.Diagrams;
using Elastic.Clients.Elasticsearch;
using Furion.DependencyInjection;
using Furion.DynamicApiController;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using NewLife.Remoting;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Net;
using System.Net.Http.Headers;
using System.Security.Cryptography.X509Certificates;
using System.ServiceModel;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;
using Vistar.Application.Const;
using Vistar.Application.Entity;
using Vistar.Application.Service.MaterialManagement.Dto;
using System.Net.Security;
using Org.BouncyCastle.Ocsp;
using System.Net.Http;
using NewLife.Configuration;
using Furion;
using Admin.NET.Core.Service;
using Vistar.Application.Util;
namespace Vistar.Application.Service.MaterialManagement;
/// <summary>
/// 产品管理服务
/// </summary>
[ApiDescriptionSettings(ApplicationConst.GroupName, Name = "ProductManagement", Order = 100)]
public class ProductManagementService : IDynamicApiController, ITransient
{
private readonly SqlSugarRepository<Obj110> _obj110Rep;
private readonly SqlSugarRepository<Configurations> _configurationsRep;
private readonly SysConfigService _sysConfigService;
private readonly SqlSugarRepository<ConfigurationData> _configurationDataRep;
public ProductManagementService(
SqlSugarRepository<Obj110> obj110Rep,
SqlSugarRepository<Configurations> configurationsRep,
SysConfigService sysConfigService,
SqlSugarRepository<ConfigurationData> configurationDataRep)
{
_obj110Rep = obj110Rep;
_configurationsRep = configurationsRep;
_sysConfigService = sysConfigService;
_configurationDataRep = configurationDataRep;
}
/// <summary>
/// 分页查询产品管理
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[ApiDescriptionSettings(Name = "page", Description = "分页查询", Order = 1000), HttpPost]
[DisplayName("分页查询产品管理")]
//[Authorize(AuthenticationSchemes = SignatureAuthenticationDefaults.AuthenticationScheme)]
public async Task<SqlSugarPagedList<ProductManagementOutput>> Page(PageProductManagementInput input)
{
var query = _obj110Rep.AsQueryable()
.Where(x => x.CheckedStatus == false && x.deleted == false && x.IsLatestVersion == true)
.WhereIF(!string.IsNullOrWhiteSpace(input._System_objNBS), u => u._System_objNBS.Contains(input._System_objNBS.Trim()))
.WhereIF(!string.IsNullOrWhiteSpace(input.fld004484), u => u.fld004484.Contains(input.fld004484.Trim()))
.WhereIF(input.fld004494Range != null && input.fld004494Range.Length == 2, u => u.fld004494 >= input.fld004494Range[0] && u.fld004494 <= input.fld004494Range[1])
.Select<ProductManagementOutput>();
return await query.ToPagedListAsync(input.Page, input.PageSize);
}
/// <summary>
/// 获取BOM类型
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<List<ProductManagementBomTypeOutput>> BomType()
{
var BomType = await _configurationsRep.AsQueryable().Where(x => x.ObjectId == 110).ToListAsync();
var BomTypeData = new List<ProductManagementBomTypeOutput>();
for (int i = 0; i < BomType.Count; i++)
{
var data = new ProductManagementBomTypeOutput()
{
Id = BomType[i].ConfigID,
Name = BomType[i].ConfigLabel
};
BomTypeData.Add(data);
}
return BomTypeData;
}
/// <summary>
/// 产品管理-同步到 SAP
/// </summary>
/// <returns></returns>
[ApiDescriptionSettings(Name = "syncToSAP"), HttpPost]
[DisplayName("产品管理-同步到 SAP")]
public async Task<SapMaterialOutput> SyncToSAP(ProductManagementBaseInput input)
{
const string lengthError = "物料编码长度大于40请检查";
// 验证物料描述长度
if (input.fld004484.Length > 40)
{
await _obj110Rep.AsUpdateable()
.SetColumns(it => new Obj110
{
fld004629 = DateTime.Now,
fld004312 = "N",
fld004313 = lengthError
})
.Where(it => it.idRecord == input.idRecord)
.ExecuteCommandAsync().ConfigureAwait(false);
return new SapMaterialOutput
{
code = "失败",
msg = lengthError,
result = lengthError
};
}
try
{
var httpClientHandler = new HttpClientHandler
{
ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) => true,
ClientCertificateOptions = ClientCertificateOption.Manual
};
// 使用 HttpClientHandler 创建 HttpClient
using (var httpClient = new HttpClient(httpClientHandler))
{
// 设置基本身份验证信息
var username = await _sysConfigService.GetConfigValueByCode<string>(ConfigConst.SapUserName);
var password = await _sysConfigService.GetConfigValueByCode<string>(ConfigConst.SapPassword);
var credentials = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}"));
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", credentials);
// 定义命名空间
XNamespace soapenv = "http://schemas.xmlsoap.org/soap/envelope/";
XNamespace urn = "urn:sap-com:document:sap:soap:functions:mc-style";
//获取时间戳精确到毫秒sap要求每次调用生成不重复guid
string millisecondTimestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString();
// 创建 SOAP 请求的 XML 内容
XElement envelope = new XElement(soapenv + "Envelope",
new XElement(soapenv + "Header"),
new XElement(soapenv + "Body",
new XElement(urn + "Zmmfm012",
new XElement("IsReq",
new XElement("Reqkeyid"),
new XElement("Businessid"),
new XElement("Messageid"),
new XElement("Sndprn", "plm"),
new XElement("Rcvprn", "sap"),
new XElement("Requser", "111"),
new XElement("Note1"),
new XElement("Note2"),
new XElement("Note3")
),
new XElement("ItData",
new XElement("item",
new XElement("Zwbid", millisecondTimestamp),
new XElement("Matnr", input._System_objNBS),
new XElement("Mbrsh", input.fld004323),
new XElement("Mtart", input.fld004324),
new XElement("Maktx", input.fld004484),
new XElement("Meins", input.fld004861),
new XElement("Matkl", input.fld004485),
new XElement("Bismt", input.fld004880),
new XElement("Groes", input.fld004879),
new XElement("Normt", input.fld004887),
new XElement("Ferth", input.fld004882),
new XElement("Zeinr", input.fld004881),
new XElement("Mstae", input.fld004699),
new XElement("Raube", input.fld004877),
new XElement("Mhdrz", input.fld004876),
new XElement("Mhdhb", input.fld004895),
new XElement("PlantView",
new XElement("item",
new XElement("Werks", input.fld004325),
new XElement("Beskz", input.fld004490),
new XElement("Sobsl", input.fld004491),
new XElement("Schgt", input.fld004873),
new XElement("Rgekz", input.fld004872),
new XElement("Zbom", input.fld004698)
)
)
)
)
)
)
);
// 将 XML 内容转换为字符串并设置请求内容类型为 text/xml
var content = new StringContent(envelope.ToString(), Encoding.UTF8, "text/xml");
content.Headers.ContentType = new MediaTypeHeaderValue("text/xml");
// 设置 SAP Web 服务的 URL
var url = "https://vhjqeds4ci.sap.vistar-eq.com:44300/sap/bc/srt/rfc/sap/zmmfm012/120/zmmfm012/zmmfm012";
// 发起 POST 请求到 SAP Web 服务
var response = await httpClient.PostAsync(url, content);
// 处理响应结果
if (response.IsSuccessStatusCode)
{
var result = await response.Content.ReadAsStringAsync();
XDocument doc = XDocument.Parse(result);
var item = doc.Descendants("item").FirstOrDefault();
var zwbid = item?.Element("Zwbid")?.Value;
var matnr = item?.Element("Matnr")?.Value;
var code = item?.Element("Code")?.Value;
var msg = item?.Element("Msg")?.Value;
string codeVal = code == "S" ? "成功" : "失败";
await _obj110Rep.AsUpdateable()
.SetColumns(it => new Obj110
{
fld004629 = DateTime.Now,
fld004311 = codeVal,
fld004312 = "N",
fld004313 = msg
})
.Where(it => it.idRecord == input.idRecord)
.ExecuteCommandAsync();
var output = new SapMaterialOutput()
{
code = codeVal,
msg = msg,
result = result
};
return output;
}
else
{
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine("调用失败,状态码: " + response.StatusCode);
var output = new SapMaterialOutput()
{
code = "失败",
msg="",
result = result
};
return output;
}
}
}
catch (Exception ex)
{
// 记录错误日志
Console.WriteLine("发生错误: " + ex.Message);
var output = new SapMaterialOutput()
{
code = "失败",
msg = "发生错误",
result = "发生错误"
};
return output;
}
}
}

View File

@ -0,0 +1,22 @@
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
//
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
//
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Vistar.Application.Util;
/// <summary>
/// 同步物料输出参数
/// </summary>
public class SapMaterialOutput
{
public string code { get; set; }
public string msg { get; set; }
public string result { get; set; }
}

View File

@ -32,7 +32,6 @@
<ItemGroup>
<Folder Include="Entity\" />
<Folder Include="Service\" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,32 @@
import request from '/@/utils/request';
enum Api {
PageProductManagement = '/api/productManagement/page',
BomTypeProductManagement = '/api/productManagement/bomType',
SyncToSAPProductManagement = '/api/productManagement/SyncToSAP',
}
// 分页查询产品管理
export const PageProductManagement = (params?: any) =>
request({
url: Api.PageProductManagement,
method: 'post',
data: params,
});
// BOM类型
export const BomTypeProductManagement = () =>
request({
url: Api.BomTypeProductManagement,
method: 'get',
data: {},
});
// 同步到SAP
export const SyncToSAPProductManagement = (params?: any) =>
request({
url: Api.SyncToSAPProductManagement,
method: 'post',
data: params,
});

View File

@ -0,0 +1,316 @@
<template>
<div class="productManagement-container">
<el-card shadow="hover"
:body-style="{ padding: '20px 20px 16px 10px', display: 'flex', width: '100%', height: '100%', alignItems: 'start' }">
<el-form :model="state.queryParams" ref="queryForm" :show-message="false" :inlineMessage="true"
label-width="auto" style="flex: 1 1 0%" @submit.prevent="handleQuery">
<el-row :gutter="10">
<el-col :xs="24" :sm="12" :md="8" :lg="5" :xl="6" class="mb5">
<el-form-item label="物料编码" prop="_System_objNBS">
<el-input v-model="state.queryParams._System_objNBS" placeholder="物料编码" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="8" :lg="5" :xl="6" class="mb5">
<el-form-item label="物料描述" prop="fld004484">
<el-input v-model="state.queryParams.fld004484" placeholder="物料描述" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="8" :lg="5" :xl="6" class="mb5">
<el-form-item label="创建时间" prop="fld004494">
<el-date-picker type="daterange" v-model="state.queryParams.fld004494Range"
value-format="YYYY-MM-DD HH:mm:ss" start-placeholder="开始日期" end-placeholder="结束日期"
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]" unlink-panels />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="mb5">
<el-button type="primary" icon="ele-Search" @click="handleQuery"
v-auth="'productManagement/page'" :loading="options.loading"> 查询 </el-button>
<el-button icon="ele-Refresh" @click="resetQuery" :loading="options.loading"> 重置 </el-button>
</el-col>
</el-row>
</el-form>
</el-card>
<el-card class="full-table" shadow="hover" style="margin-top: 5px">
<vxe-grid ref="xGrid" class="xGrid-style" v-bind="options" v-on="gridEvents">
<template #toolbar_tools>
<el-button style="position: absolute; left: 0" icon="ele-Promotion" size="small" text=""
type="success" @click="" v-auth="'productManagement/syncToSAP'"> 批量同步到SAP
</el-button>
</template>
<!-- <template #empty>
<el-empty :image-size="200" />
</template>
<template #row_record="{ row }">
<ModifyRecord :data="row" />
</template> -->
<template #row_buttons="{ row }">
<el-tooltip content="查看BOM" placement="top">
<el-button icon="ele-MessageBox" size="small" text="" type="primary" @click="showBomDrawer(row)">
查看BOM </el-button>
</el-tooltip>
<el-tooltip content="工艺路线" placement="top">
<el-button icon="ele-MessageBox" size="small" text="" type="primary" @click="showBomDrawer">
工艺路线 </el-button>
</el-tooltip>
<el-tooltip content="同步到ERP" placement="top">
<el-button icon="ele-Promotion" size="small" text="" type="success" @click="syncToSAP(row)"
v-auth="'productManagement/syncToSAP'"> 同步到SAP </el-button>
</el-tooltip>
</template>
</vxe-grid>
</el-card>
<!-- 添加 drawer 抽屉 -->
<el-drawer v-model="showBom" title="BOM 详情" :direction="'rtl'" :visible.sync="false" size="50%">
<!-- 这里可以放置 BOM 的具体内容 -->
<el-card shadow="hover"
:body-style="{ padding: '20px 20px 16px 10px', display: 'flex', width: '100%', height: '100%', alignItems: 'start' }">
<el-form :model="state.queryParams" ref="queryForm" :show-message="false" :inlineMessage="true"
label-width="auto" style="flex: 1 1 0%" @submit.prevent="handleQuery">
<el-row :gutter="10">
<el-col :xs="24" :sm="12" :md="8" :lg="5" :xl="6" class="mb5">
<el-form-item label="BOM类型">
<el-select v-model="state.queryParams._System_objNBS" placeholder="请选择">
<el-option v-for="item in bomTypeList" :key="item.name" :label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="mb5">
<el-button type="primary" icon="ele-Search" @click="handleQuery"
v-auth="'productManagement/page'" :loading="options.loading"> 查询 </el-button>
<el-button icon="ele-Refresh" @click="resetQuery" :loading="options.loading"> 重置
</el-button>
</el-col>
</el-row>
</el-form>
</el-card>
<el-card class="full-table" shadow="hover" style="margin-top: 5px;height: 90%;" >
<vxe-grid ref="xGrid" class="xGrid-style" v-bind="options" v-on="gridEvents">
<template #toolbar_tools>
<el-button style="position: absolute; left: 0" icon="ele-Promotion" size="small" text=""
type="success" @click="" v-auth="'productManagement/syncToSAP'"> 批量同步到SAP
</el-button>
</template>
<!-- <template #empty>
<el-empty :image-size="200" />
</template>
<template #row_record="{ row }">
<ModifyRecord :data="row" />
</template> -->
<template #row_buttons="{ row }">
<el-tooltip content="查看BOM" placement="top">
<el-button icon="ele-MessageBox" size="small" text="" type="primary" @click="showBomDrawer">
查看BOM </el-button>
</el-tooltip>
<el-tooltip content="工艺路线" placement="top">
<el-button icon="ele-MessageBox" size="small" text="" type="primary" @click="showBomDrawer">
工艺路线 </el-button>
</el-tooltip>
<el-tooltip content="同步到ERP" placement="top">
<el-button icon="ele-Promotion" size="small" text="" type="success" @click="syncToSAP(row)"
v-auth="'productManagement/syncToSAP'"> 同步到SAP </el-button>
</el-tooltip>
</template>
</vxe-grid>
</el-card>
</el-drawer>
</div>
</template>
<script lang="ts" setup name="productManagement">
import { onMounted, reactive, ref } from 'vue';
import { ElMessageBox, ElMessage } from "element-plus";
import { auth } from '/@/utils/authFunction';
import { VxeGridInstance, VxeGridListeners, VxeGridPropTypes } from 'vxe-table';
import { useVxeTable } from '/@/hooks/useVxeTableOptionsHook';
import { Local } from '/@/utils/storage';
import { formatDate } from '/@/utils/formatTime';
import { PageProductManagement, BomTypeProductManagement, SyncToSAPProductManagement } from '/@/api/materialManagement/productManagement';
//
const xGrid = ref<VxeGridInstance>();
const editDialogRef = ref();
let bomTypeList: any;
//
const state = reactive({
showAdvanceQueryUI: false,
queryParams: {
searchKey: undefined,
_System_objNBS: undefined,
fld004484: undefined,
fld004494: undefined,
fld004494Range: undefined,
},
localPageParam: {
pageSize: 50 as number,
defaultSort: { field: 'createTime', order: 'asc', descStr: 'desc' },
},
visible: false,
title: '',
});
//
const localPageParamKey = 'localPageParam:productManagement';
//
const changeAdvanceQueryUI = () => {
state.showAdvanceQueryUI = !state.showAdvanceQueryUI;
};
//
const options = useVxeTable(
{
id: 'productManagement',
name: '产品管理',
columns: [
{ type: 'checkbox', title: '', width: 60 },
{ type: 'seq', title: '序号', width: 60 },
{ field: '_System_objNBS', title: '物料编码', minWidth: 100, showOverflow: 'tooltip', sortable: false },
{ field: '_System_ObjDescription', title: '名称', minWidth: 100, showOverflow: 'tooltip', sortable: false },
{ field: 'revision', title: '修订版', minWidth: 80, showOverflow: 'tooltip', sortable: false },
{ field: 'fld004494', title: '创建时间', minWidth: 100, showOverflow: 'tooltip', sortable: false },
{ field: 'fld004311', title: '物料同步状态', minWidth: 100, showOverflow: 'tooltip', sortable: false },
{ field: 'fld004629', title: '物料同步时间', minWidth: 100, showOverflow: 'tooltip', sortable: false },
{ field: 'fld004312', title: '物料同步标识', minWidth: 100, showOverflow: 'tooltip', sortable: false },
{ field: 'fld004313', title: '物料同步信息', minWidth: 100, showOverflow: 'tooltip', sortable: false },
{ field: 'fld004315', title: 'BOM同步状态', minWidth: 100, showOverflow: 'tooltip', sortable: false },
{ field: 'fld004631', title: 'BOM同步时间', minWidth: 100, showOverflow: 'tooltip', sortable: false },
{ field: 'fld004316', title: 'BOM同步标识', minWidth: 100, showOverflow: 'tooltip', sortable: false },
{ field: 'fld004317', title: 'BOM同步信息', minWidth: 100, showOverflow: 'tooltip', sortable: false },
{ field: 'fld004319', title: '工艺同步状态', minWidth: 100, showOverflow: 'tooltip', sortable: false },
{ field: 'fld004632', title: '工艺同步时间', minWidth: 100, showOverflow: 'tooltip', sortable: false },
{ field: 'fld004320', title: '工艺同步标识', minWidth: 100, showOverflow: 'tooltip', sortable: false },
{ field: 'fld004321', title: '工艺同步信息', minWidth: 100, showOverflow: 'tooltip', sortable: false },
{ title: '操作', fixed: 'right', width: 300, showOverflow: true, slots: { default: 'row_buttons' } },
],
},
// vxeGrid()vxe-table
{
//
proxyConfig: { autoLoad: true, ajax: { query: ({ page, sort }) => handleQueryApi(page, sort) } },
//
sortConfig: { defaultSort: Local.get(localPageParamKey)?.defaultSort || state.localPageParam.defaultSort },
//
pagerConfig: { pageSize: Local.get(localPageParamKey)?.pageSize || state.localPageParam.pageSize },
//
toolbarConfig: { export: false },
//
// rowConfig: { height: 80 },
}
);
//
onMounted(() => {
});
// api
const handleQueryApi = async (page: VxeGridPropTypes.ProxyAjaxQueryPageParams, sort: VxeGridPropTypes.ProxyAjaxQuerySortCheckedParams) => {
const params = Object.assign(state.queryParams, { page: page.currentPage, pageSize: page.pageSize, field: sort.field, order: sort.order, descStr: 'desc' });
return PageProductManagement(params);
};
//
const handleQuery = async (reset = false) => {
options.loading = true;
await xGrid.value?.commitProxy('query');
options.loading = false;
};
//
const resetQuery = async () => {
state.queryParams.searchKey = undefined,
state.queryParams._System_objNBS = undefined,
state.queryParams.fld004484 = undefined,
state.queryParams.fld004494 = undefined,
await xGrid.value?.commitProxy('reload');
};
//
const handlePrint = async (row: any) => {
state.title = '打印产品管理';
};
//
const gridEvents: VxeGridListeners = {
// pager-config
async pageChange({ pageSize }) {
state.localPageParam.pageSize = pageSize;
Local.set(localPageParamKey, state.localPageParam);
},
//
async sortChange({ field, order }) {
state.localPageParam.defaultSort = { field: field, order: order!, descStr: 'desc' };
Local.set(localPageParamKey, state.localPageParam);
},
};
// SAP
const syncToSAP = async (row: any) => {
options.loading = true;
ElMessageBox.confirm(`确定要同步物料吗?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(async () => {
var data = await SyncToSAPProductManagement(row);
await handleQuery();
if (data.data.result.code == "成功") {
ElMessage.success("同步成功");
} else {
ElMessage.error("同步失败");
}
})
.catch(() => { });
options.loading = false;
};
// BOM
const showBomDrawer = async (row: any) => {
showBom.value = true;
console.log("Bomrow",row.recordGuid)
try {
const response = await BomTypeProductManagement();
bomTypeList = response.data.result;
console.log('sss', response);
} catch (error) {
console.error('Error fetching data:', error);
}
};
const showBom = ref(false);
</script>
<style lang="scss" scoped>
:deep(.el-input),
:deep(.el-select),
:deep(.el-input-number) {
width: 100%;
}
</style>