wangxinhui
8 天以前 6861434f1445d1685b67a24897890c34f8c54f85
WCS&WMS代码更新
已复制1个文件
已添加8个文件
已重命名10个文件
已删除7个文件
已修改15个文件
5929 ■■■■■ 文件已修改
代码管理/WCS/WCSServers/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WCSServers/WIDESEAWCS_ITaskInfoService/ITaskService.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WCSServers/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WCSServers/WIDESEAWCS_Server/WIDESEAWCS_Server.csproj 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WCSServers/WIDESEAWCS_Server/wwwroot/WIDESEAWCS_DB.DBSeed.Json/Dt_Task.tsv 5651 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WCSServers/WIDESEAWCS_TaskInfoService/TaskService.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WCSServers/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneJob.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMSServices/WIDESEA_Common/StockEnum/StockStatusMenu.cs 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMSServices/WIDESEA_IStockRepository/IBlankStockInfo_HtyRepository.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMSServices/WIDESEA_IStockRepository/IStockInfoRepository.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMSServices/WIDESEA_IStockRepository/IStockInfo_HtyRepository.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMSServices/WIDESEA_IStockService/IStockInfoService.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMSServices/WIDESEA_IStockService/IStockInfo_HtyService.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMSServices/WIDESEA_Model/Models/Stock/Dt_StockInfo.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMSServices/WIDESEA_Model/Models/Stock/Dt_StockInfo_Hty.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMSServices/WIDESEA_StockRepository/BlankStockInfo_HtyRepository.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMSServices/WIDESEA_StockRepository/StockInfoRepository.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMSServices/WIDESEA_StockRepository/StockInfo_HtyRepository.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMSServices/WIDESEA_StockService/StockInfoService.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMSServices/WIDESEA_StockService/StockInfo_HtyService.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMSServices/WIDESEA_SystemService/Sys_DictionaryService.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMSServices/WIDESEA_TaskInfoService/TaskService.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMSServices/WIDESEA_WMSServer/Controllers/Stock/StockController.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMSServices/WIDESEA_WMSServer/Controllers/Stock/StockInfo_HtyController.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMSServices/WIDESEA_WMSServer/Program.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMSServices/WIDESEA_WMSServer/appsettings.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/流程资料/凤铝交流会议纪要20260115.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/瑞士格提供的调研模版/CFW_333_SW_Host Interfaces_凤铝项目V1.1.docx 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/通讯协议/Fenglv_Mould_Telegram specification SynQ-Pallet Conveyor.pdf 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/通讯协议/SIS报文格式报文样例V1.6(带备注).xlsx 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/通讯协议/凤铝堆垛机站台SIS编号20260311.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/项目图纸/FengLv_Mould_LogicalLayout_20260319.dwg 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/项目图纸/FengLv_Mould_LogicalLayout_20260326.dwg 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/项目图纸/新兴凤铝模具库设计方案- 20251202.dwl 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/项目图纸/新兴凤铝模具库设计方案- 20251202.dwl2 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/项目图纸/新兴凤铝模具库设计方案- 20251217A(含桥架、光电、电柜).dwg 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/项目图纸/新兴凤铝综合库设计方案-海力-10-17输送线布局图调整20251126LW.dwl 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/项目图纸/新兴凤铝综合库设计方案-海力-10-17输送线布局图调整20251126LW.dwl2 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/项目图纸/新兴凤铝综合库设计方案-海力-10-17输送线布局图调整20260303(含桥架光电布局).dwg 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/项目图纸/新兴凤铝综合库设计方案-海力-10-17输送线布局图调整20260303(含桥架光电布局).dwg.lck 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/项目整体计划/凤铝项目WMS和WCS软件 宽海进度表.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
´úÂë¹ÜÀí/WCS/WCSServers/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs
@@ -61,20 +61,11 @@
        /// åº“内移库
        /// </summary>
        [Description("库内移库")]
        Relocation = 300,
        Relocation = 900,
        /// <summary>
        /// åº“外移库
        /// </summary>
        [Description("库外移库")]
        RelocationIn = 301
    }
    public enum TaskOtherTypeEnum
    {
        /// <summary>
        /// æœºæ¢°æ‰‹ä»»åŠ¡
        /// </summary>
        [Description("机械手")]
        RobotToManual = 400,
        RelocationIn = 901
    }
}
´úÂë¹ÜÀí/WCS/WCSServers/WIDESEAWCS_ITaskInfoService/ITaskService.cs
@@ -134,5 +134,12 @@
        /// <param name="taskNum">任务号</param>
        /// <returns>返回处理结果</returns>
        WebResponseContent RollbackTaskStatusToLast(int taskNum);
        /// <summary>
        /// æ ¹æ®å †åž›æœºè®¾å¤‡ç¼–号/任务类型分类获取任务
        /// </summary>
        /// <param name="DeviceCode">设备号</param>
        /// <param name="taskTypeGroup">任务组</param>
        /// <returns></returns>
        Dt_Task QueryStackerTask(string DeviceCode, TaskTypeGroup? taskTypeGroup = null);
    }
}
´úÂë¹ÜÀí/WCS/WCSServers/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs
@@ -55,6 +55,14 @@
        public string PalletCode { get; set; }
        /// <summary>
        /// è®¾å¤‡
        /// </summary>
        [ImporterHeader(Name = "设备")]
        [ExporterHeader(DisplayName = "设备")]
        [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "设备")]
        public string DeviceCode { get; set; }
        /// <summary>
        /// å··é“号
        /// </summary>
        [ImporterHeader(Name = "巷道号")]
´úÂë¹ÜÀí/WCS/WCSServers/WIDESEAWCS_Server/WIDESEAWCS_Server.csproj
@@ -20,7 +20,6 @@
    </PropertyGroup>
    <ItemGroup>
        <Content Remove="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_Task.tsv" />
        <Content Remove="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_TaskExecuteDetail.tsv" />
        <Content Remove="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Sys_Dictionary.tsv" />
        <Content Remove="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Sys_DictionaryList.tsv" />
@@ -37,9 +36,6 @@
    <ItemGroup>
        <EmbeddedResource Include="index.html">
            <CopyToOutputDirectory>Always</CopyToOutputDirectory>
        </EmbeddedResource>
        <EmbeddedResource Include="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_Task.tsv">
          <CopyToOutputDirectory>Always</CopyToOutputDirectory>
        </EmbeddedResource>
        <EmbeddedResource Include="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_TaskExecuteDetail.tsv">
          <CopyToOutputDirectory>Always</CopyToOutputDirectory>
´úÂë¹ÜÀí/WCS/WCSServers/WIDESEAWCS_Server/wwwroot/WIDESEAWCS_DB.DBSeed.Json/Dt_Task.tsv
ÎļþÒÑɾ³ý
´úÂë¹ÜÀí/WCS/WCSServers/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -455,5 +455,23 @@
            BaseDal.DeleteAndMoveIntoHty(tasks, OperateTypeEnum.人工删除);
            return WebResponseContent.Instance.OK($"成功删除{tasks.Count}条数据");
        }
        /// <summary>
        /// æ ¹æ®å †åž›æœºè®¾å¤‡ç¼–号/任务类型分类获取任务
        /// </summary>
        /// <param name="DeviceCode"></param>
        /// <param name="taskTypeGroup"></param>
        /// <returns></returns>
        public Dt_Task QueryStackerTask(string DeviceCode, TaskTypeGroup? taskTypeGroup = null)
        {
            if (taskTypeGroup == null)
            {
                return BaseDal.QueryFirst(x => x.DeviceCode == DeviceCode && x.TaskState == (int)TaskStatusEnum.SC_Execute, TaskOrderBy);
            }
            else
            {
                return BaseDal.QueryFirst(x => x.DeviceCode == DeviceCode && x.TaskState == (int)TaskStatusEnum.SC_Execute && (taskTypeGroup == TaskTypeGroup.InboundGroup ? TaskInboundTypes.Contains(x.TaskType) : TaskOutboundTypes.Contains(x.TaskType)), TaskOrderBy);
            }
        }
    }
}
´úÂë¹ÜÀí/WCS/WCSServers/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneJob.cs
@@ -1,6 +1,7 @@
using Quartz;
using System.Collections.Concurrent;
using System.Net.Sockets;
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_ITaskInfoRepository;
using WIDESEAWCS_ITaskInfoService;
@@ -74,7 +75,7 @@
            }
            // èŽ·å–å½“å‰éœ€ä¸‹å‘ä»»åŠ¡å¹¶ç¼“å­˜åˆ°çŠ¶æ€ä¸­
            Dt_Task? task = GetTask(Crane);
            if (task != null && state.CurrentTask == null && state.StackerRunMode == (int)StackerModeEnum.Automatic && state.StackerError == (int)StackerErrorEnum.Normal && state.StackerTaskNum == 0)
            if (task != null && state.CurrentTask == null && state.StackerRunMode== && state.StackerTaskNum == 0)
            {
                SendStackerTask(task, state);
            }
@@ -127,9 +128,9 @@
            return _TcpSocket.SendToDeviceAsync(state.IPAddress, message).Result;
        }
        private Dt_Task? GetTask(StackerCraneDevice stackerCrane)
        private Dt_Task? GetTask(StackerCraneDevice stackerCrane, TaskTypeGroup? taskTypeGroup = null)
        {
            return null;
            return _taskService.QueryStackerTask(stackerCrane.DeviceCode,taskTypeGroup);
        }
    }
@@ -148,12 +149,17 @@
        public int? StackerTaskNum { get; set; }
        /// <summary>
        /// å †åž›æœºè¿è¡Œæ¨¡å¼
        /// å †åž›æœºè¿è¡Œæ¨¡å¼<br/>
        /// 1:自动模式<br/>
        /// 2:停止模式<br/>
        /// 3:手动模式或离线模式<br/>
        /// </summary>
        public int? StackerRunMode { get; set; }
        /// <summary>
        /// å †åž›æœºæ•…障状态
        /// å †åž›æœºæ•…障状态<br/>
        /// æ­£å¸¸<br/>
        /// æ•…éšœ<br/>
        /// </summary>
        public int? StackerError { get; set; }
´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_Common/StockEnum/StockStatusMenu.cs
@@ -23,8 +23,14 @@
        [Description("组盘暂存")]
        ç»„盘暂存 = 1,
        [Description("组盘撤销")]
        ç»„盘撤销 = 2,
        [Description("入库确认")]
        å…¥åº“确认 = 3,
        [Description("入库撤销")]
        å…¥åº“撤销 = 4,
        [Description("入库完成")]
        å…¥åº“完成 = 6,
@@ -36,51 +42,6 @@
        å‡ºåº“完成 = 8,
        [Description("移库锁定")]
        ç§»åº“锁定 = 9,
        [Description("老厂退料暂存")]
        è€åŽ‚é€€æ–™æš‚å­˜ = 10,
        [Description("博思通组盘暂存")]
        åšæ€é€šç»„盘暂存 = 11,
        [Description("手动组盘暂存")]
        æ‰‹åŠ¨ç»„ç›˜æš‚å­˜ = 12,
        [Description("手动组盘入库确认")]
        æ‰‹åŠ¨ç»„ç›˜å…¥åº“ç¡®è®¤ = 13,
        [Description("拣选完成")]
        æ‹£é€‰å®Œæˆ =14,
        [Description("老厂退库")]
        è€åŽ‚é€€åº“ = 15,
        [Description("MES余料退库")]
        MES余料退库 = 21,
        [Description("MES空托退库")]
        MES空托退库 = 22,
    }
    /// <summary>
    /// æˆå“åº“存属性:<br/>
    /// 1:成品<br/>
    /// 2:半成品<br/>
    /// 3:原材料<br/>
    /// 4:辅料备件<br/>
    /// 5:空托<br/>
    /// </summary>
    public enum ProStockAttributeEnum
    {
        [Description("成品")]
        æˆå“ =1,
        [Description("半成品")]
        åŠæˆå“ = 2,
        [Description("原材料")]
        åŽŸææ–™ = 3,
        [Description("辅料备件")]
        è¾…料备件 = 4,
        [Description("空托")]
        ç©ºæ‰˜ = 5,
        ç§»åº“锁定 = 9
    }
}
´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_IStockRepository/IBlankStockInfo_HtyRepository.cs
ÎļþÒÑɾ³ý
´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_IStockRepository/IStockInfoRepository.cs
ÎļþÃû´Ó ´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_IStockRepository/IBlankStockInfoRepository.cs ÐÞ¸Ä
@@ -8,7 +8,7 @@
namespace WIDESEA_IStockRepository
{
    public interface IBlankStockInfoRepository : IRepository<Dt_BlankStockInfo>
    public interface IStockInfoRepository : IRepository<Dt_StockInfo>
    {
    }
}
´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_IStockRepository/IStockInfo_HtyRepository.cs
copy from "\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMSServices/WIDESEA_IStockRepository/IBlankStockInfoRepository.cs" copy to "\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMSServices/WIDESEA_IStockRepository/IStockInfo_HtyRepository.cs"
Îļþ´Ó ´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_IStockRepository/IBlankStockInfoRepository.cs ¸´ÖÆ
@@ -8,7 +8,7 @@
namespace WIDESEA_IStockRepository
{
    public interface IBlankStockInfoRepository : IRepository<Dt_BlankStockInfo>
    public interface IStockInfo_HtyRepository : IRepository<Dt_StockInfo_Hty>
    {
    }
}
´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_IStockService/IStockInfoService.cs
ÎļþÃû´Ó ´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_IStockService/IBlankStockInfoService.cs ÐÞ¸Ä
@@ -8,7 +8,7 @@
namespace WIDESEA_IStockService
{
    public interface IBlankStockInfoService : IService<Dt_BlankStockInfo>
    public interface IStockInfoService : IService<Dt_StockInfo>
    {
    }
}
´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_IStockService/IStockInfo_HtyService.cs
ÎļþÃû´Ó ´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_IStockService/IBlankStockInfo_HtyService.cs ÐÞ¸Ä
@@ -9,8 +9,8 @@
namespace WIDESEA_IStockService
{
    public interface IBlankStockInfo_HtyService : IService<Dt_BlankStockInfo_Hty>
    public interface IStockInfo_HtyService : IService<Dt_StockInfo_Hty>
    {
        IBlankStockInfo_HtyRepository Repository { get; }
        IStockInfo_HtyRepository Repository { get; }
    }
}
´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_Model/Models/Stock/Dt_StockInfo.cs
ÎļþÃû´Ó ´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_Model/Models/Stock/Dt_BlankStockInfo.cs ÐÞ¸Ä
@@ -9,10 +9,10 @@
namespace WIDESEA_Model.Models
{
    /// <summary>
    /// å¯æ–™éš”热库存信息
    /// åº“存信息
    /// </summary>
    [SugarTable(nameof(Dt_BlankStockInfo), "坯料隔热库存信息")]
    public class Dt_BlankStockInfo : BaseEntity
    [SugarTable(nameof(Dt_StockInfo), "库存信息")]
    public class Dt_StockInfo : BaseEntity
    {
        /// <summary>
        /// ä¸»é”®
@@ -21,15 +21,15 @@
        public int Id { get; set; }
        /// <summary>
        /// æ¨¡å…·ç¼–号
        /// æ–™æ¡†ç¼–号
        /// </summary>
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "模具编号")]
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "料框编号")]
        public string ContainerCode { get; set; }
        /// <summary>
        /// è´§ä½ç¼–号
        /// </summary>
        [SugarColumn(IsNullable = false, Length = 30, ColumnDescription = "货位编号")]
        [SugarColumn(IsNullable = true, Length = 30, ColumnDescription = "货位编号")]
        public string LocationCode { get; set; }
        /// <summary>
@@ -51,15 +51,9 @@
        public int StockStatus { get; set; }
        /// <summary>
        /// æ˜¯å¦ç©ºæ¡†
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "是否空框")]
        public bool IsEmpty { get; set; }
        /// <summary>
        /// æ˜¯å¦æ»¡æ¡†
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "是否满框")]
        [SugarColumn(IsNullable = true, ColumnDescription = "是否满框")]
        public bool IsFill { get; set; }
        /// <summary>
´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_Model/Models/Stock/Dt_StockInfo_Hty.cs
ÎļþÃû´Ó ´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_Model/Models/Stock/Dt_BlankStockInfo_Hty.cs ÐÞ¸Ä
@@ -10,10 +10,10 @@
namespace WIDESEA_Model.Models
{
    /// <summary>
    /// å¯æ–™éš”热库存信息历史
    /// åº“存信息历史
    /// </summary>
    [SugarTable(nameof(Dt_BlankStockInfo_Hty), "库存信息")]
    public class Dt_BlankStockInfo_Hty : Dt_BlankStockInfo, IBaseHistoryEntity
    [SugarTable(nameof(Dt_StockInfo_Hty), "库存信息历史")]
    public class Dt_StockInfo_Hty : Dt_StockInfo, IBaseHistoryEntity
    {
        /// <summary>
        /// åŽŸè¡¨ä¸»é”®
´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_StockRepository/BlankStockInfo_HtyRepository.cs
ÎļþÒÑɾ³ý
´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_StockRepository/StockInfoRepository.cs
ÎļþÃû´Ó ´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_StockRepository/BlankStockInfoRepository.cs ÐÞ¸Ä
@@ -10,10 +10,10 @@
namespace WIDESEA_StockRepository
{
    public class BlankStockInfoRepository : RepositoryBase<Dt_BlankStockInfo>, IBlankStockInfoRepository
    public class StockInfoRepository : RepositoryBase<Dt_StockInfo>, IStockInfoRepository
    {
        private readonly IBasicRepository _basicRepository;
        public BlankStockInfoRepository(IUnitOfWorkManage unitOfWorkManage, IBasicRepository basicRepository) : base(unitOfWorkManage)
        public StockInfoRepository(IUnitOfWorkManage unitOfWorkManage, IBasicRepository basicRepository) : base(unitOfWorkManage)
        {
            _basicRepository = basicRepository;
        }
´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_StockRepository/StockInfo_HtyRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core.BaseRepository;
using WIDESEA_IStockRepository;
using WIDESEA_Model.Models;
namespace WIDESEA_StockRepository
{
    public class StockInfo_HtyRepository : RepositoryBase<Dt_StockInfo_Hty>, IStockInfo_HtyRepository
    {
        public StockInfo_HtyRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage)
        {
        }
    }
}
´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_StockService/StockInfoService.cs
ÎļþÃû´Ó ´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_StockService/BlankStockInfoService.cs ÐÞ¸Ä
@@ -10,10 +10,10 @@
namespace WIDESEA_StockService
{
    public partial class BlankStockInfoService : ServiceBase<Dt_BlankStockInfo, IRepository<Dt_BlankStockInfo>>, IBlankStockInfoService
    public partial class StockInfoService : ServiceBase<Dt_StockInfo, IRepository<Dt_StockInfo>>, IStockInfoService
    {
        private readonly IUnitOfWorkManage _unitOfWorkManage;
        public BlankStockInfoService(IRepository<Dt_BlankStockInfo> BaseDal, IUnitOfWorkManage unitOfWorkManage) : base(BaseDal)
        public StockInfoService(IRepository<Dt_StockInfo> BaseDal, IUnitOfWorkManage unitOfWorkManage) : base(BaseDal)
        {
            _unitOfWorkManage = unitOfWorkManage;
        }
´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_StockService/StockInfo_HtyService.cs
ÎļþÃû´Ó ´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_StockService/BlankStockInfo_HtyService.cs ÐÞ¸Ä
@@ -10,10 +10,10 @@
namespace WIDESEA_StockService
{
    public partial class BlankStockInfo_HtyService : ServiceBase<Dt_BlankStockInfo_Hty, IBlankStockInfo_HtyRepository>, IBlankStockInfo_HtyService
    public partial class StockInfo_HtyService : ServiceBase<Dt_StockInfo_Hty, IBlankStockInfo_HtyRepository>, IStockInfo_HtyService
    {
        public IBlankStockInfo_HtyRepository Repository => BaseDal;
        public BlankStockInfo_HtyService(IBlankStockInfo_HtyRepository BaseDal) : base(BaseDal)
        public StockInfo_HtyService(IBlankStockInfo_HtyRepository BaseDal) : base(BaseDal)
        {
        }
    }
´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_SystemService/Sys_DictionaryService.cs
@@ -555,33 +555,6 @@
                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
                        }
                        break;
                    case "proStockAttributeEnum":
                        {
                            List<object> data = new List<object>();
                            {
                                Type type = typeof(ProStockAttributeEnum);
                                List<int> enums = Enum.GetValues(typeof(ProStockAttributeEnum)).Cast<int>().ToList();
                                int index = 0;
                                foreach (var item in enums)
                                {
                                    FieldInfo? fieldInfo = typeof(ProStockAttributeEnum).GetField(((ProStockAttributeEnum)item).ToString());
                                    DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
                                    if (description != null)
                                    {
                                        data.Add(new { key = item.ToString(), value = description.Description });
                                    }
                                    else
                                    {
                                        data.Add(new { key = item.ToString(), value = item.ToString() });
                                    }
                                    index++;
                                }
                            }
                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
                        }
                        break;
                    case "materielTypeEnum":
                        {
                            List<object> data = new List<object>();
´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_TaskInfoService/TaskService.cs
@@ -42,7 +42,7 @@
        private readonly IBasicService _basicService;
        private readonly IInvokeERPService _invokeERPService;
        private readonly IInvokeMESService _invokeMESService;
        private readonly IRepository<Dt_BlankStockInfo> _blankStockInfoRepository;
        private readonly IRepository<Dt_StockInfo> _blankStockInfoRepository;
        private readonly IApiInfoRepository _apiInfoRepository;
        public ITaskRepository Repository => BaseDal;
@@ -56,7 +56,7 @@
        public List<int> TaskOutboundTypes => typeof(TaskTypeEnum).GetEnumIndexList().Where(x => x >= 100 && x < 500).ToList();
        public TaskService(ITaskRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IBasicService basicService, IBasicRepository basicRepository, IInvokeERPService invokeERPService, IInvokeMESService invokeMESService, IRepository<Dt_BlankStockInfo> blankStockInfoRepository, IApiInfoRepository _apiInfoRepository) : base(BaseDal)
        public TaskService(ITaskRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IBasicService basicService, IBasicRepository basicRepository, IInvokeERPService invokeERPService, IInvokeMESService invokeMESService, IRepository<Dt_StockInfo> blankStockInfoRepository, IApiInfoRepository _apiInfoRepository) : base(BaseDal)
        {
            _mapper = mapper;
            _unitOfWorkManage = unitOfWorkManage;
´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_WMSServer/Controllers/Stock/StockController.cs
ÎļþÃû´Ó ´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_WMSServer/Controllers/Stock/BlankStockController.cs ÐÞ¸Ä
@@ -10,9 +10,9 @@
    /// </summary>
    [Route("api/BlankStockInfo")]
    [ApiController]
    public class BlankStockController : ApiBaseController<IBlankStockInfoService, Dt_BlankStockInfo>
    public class BlankStockController : ApiBaseController<IStockInfoService, Dt_StockInfo>
    {
        public BlankStockController(IBlankStockInfoService service) : base(service)
        public BlankStockController(IStockInfoService service) : base(service)
        {
        }
´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_WMSServer/Controllers/Stock/StockInfo_HtyController.cs
ÎļþÃû´Ó ´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_WMSServer/Controllers/Stock/BlankStockInfo_HtyController.cs ÐÞ¸Ä
@@ -10,9 +10,9 @@
    /// </summary>
    [Route("api/BlankStockInfo_Hty")]
    [ApiController]
    public class BlankStockInfo_HtyController : ApiBaseController<IBlankStockInfo_HtyService, Dt_BlankStockInfo_Hty>
    public class StockInfo_HtyController : ApiBaseController<IStockInfo_HtyService, Dt_StockInfo_Hty>
    {
        public BlankStockInfo_HtyController(IBlankStockInfo_HtyService service) : base(service)
        public StockInfo_HtyController(IStockInfo_HtyService service) : base(service)
        {
        }
    }
´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_WMSServer/Program.cs
@@ -44,7 +44,7 @@
builder.Services.AddWebSocketSetup();
builder.Services.AddSqlsugarSetup();//SqlSugar å¯åŠ¨æœåŠ¡
builder.Services.AddDbSetup();//Db å¯åŠ¨æœåŠ¡
//builder.Services.AddInitializationHostServiceSetup();//应用初始化服务注入
builder.Services.AddInitializationHostServiceSetup();//应用初始化服务注入
builder.Services.AddHostedService<PermissionDataHostService>();//应用初始化服务注入
builder.Services.AddAutoMapperSetup();
´úÂë¹ÜÀí/WMS/WMSServices/WIDESEA_WMSServer/appsettings.json
@@ -13,7 +13,7 @@
  //连接字符串
  //"ConnectionString": "HTI6FB1H05Krd07mNm9yBCNhofW6edA5zLs9TY~MNthRYW3kn0qKbMIsGp~3yyPDF1YZUCPBQx8U0Jfk4PH~ajNFXVIwlH85M3F~v_qKYQ3CeAz3q1mLVDn8O5uWt1~3Ut2V3KRkEwYHvW2oMDN~QIDXPxDgXN0R2oTIhc9dNu7QNaLEknblqmHhjaNSSpERdDVZIgHnMKejU_SL49tralBkZmDNi0hmkbL~837j1NWe37u9fJKmv91QPb~16JsuI9uu0EvNZ06g6PuZfOSAeFH9GMMIZiketdcJG3tHelo=",
  //"ConnectionString": "Data Source=.;Initial Catalog=WIDESEAWMS_HUAIAN;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
"ConnectionString": "Data Source=.;Initial Catalog=WIDESEA_WMSFengLv;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
  "ConnectionString": "Data Source=.;Initial Catalog=FengLv_WMS;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
  //"ConnectionString": "Data Source=192.168.35.3;Initial Catalog=WIDESEA_WMSLLD;User ID=sa;Password=Sa123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
  //旧WMS数据库连接
  //"TeConnectionString": "Data Source=10.30.4.92;Initial Catalog=TeChuang;User ID=sa;Password=duo123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
ÏîÄ¿×ÊÁÏ/Á÷³Ì×ÊÁÏ/·ïÂÁ½»Á÷»áÒé¼ÍÒª20260115.xlsx
Binary files differ
ÏîÄ¿×ÊÁÏ/ÈðÊ¿¸ñÌṩµÄµ÷ÑÐÄ£°æ/CFW_333_SW_Host Interfaces_·ïÂÁÏîÄ¿V1.1.docx
Binary files differ
ÏîÄ¿×ÊÁÏ/ͨѶЭÒé/Fenglv_Mould_Telegram specification SynQ-Pallet Conveyor.pdf
Binary files differ
ÏîÄ¿×ÊÁÏ/ͨѶЭÒé/SIS±¨Îĸñʽ±¨ÎÄÑùÀýV1.6£¨´ø±¸×¢).xlsx
Binary files differ
ÏîÄ¿×ÊÁÏ/ͨѶЭÒé/·ïÂÁ¶Ñ¶â»úվ̨SIS±àºÅ20260311.xlsx
Binary files differ
ÏîÄ¿×ÊÁÏ/ÏîĿͼֽ/FengLv_Mould_LogicalLayout_20260319.dwg
Binary files differ
ÏîÄ¿×ÊÁÏ/ÏîĿͼֽ/FengLv_Mould_LogicalLayout_20260326.dwg
Binary files differ
ÏîÄ¿×ÊÁÏ/ÏîĿͼֽ/ÐÂÐË·ïÂÁÄ£¾ß¿âÉè¼Æ·½°¸- 20251202.dwl
ÎļþÒÑɾ³ý
ÏîÄ¿×ÊÁÏ/ÏîĿͼֽ/ÐÂÐË·ïÂÁÄ£¾ß¿âÉè¼Æ·½°¸- 20251202.dwl2
ÎļþÒÑɾ³ý
ÏîÄ¿×ÊÁÏ/ÏîĿͼֽ/ÐÂÐË·ïÂÁÄ£¾ß¿âÉè¼Æ·½°¸- 20251217A(º¬Çżܡ¢¹âµç¡¢µç¹ñ).dwg
Binary files differ
ÏîÄ¿×ÊÁÏ/ÏîĿͼֽ/ÐÂÐË·ïÂÁ×ۺϿâÉè¼Æ·½°¸-º£Á¦-10-17ÊäËÍÏß²¼¾Öͼµ÷Õû20251126LW.dwl
ÎļþÒÑɾ³ý
ÏîÄ¿×ÊÁÏ/ÏîĿͼֽ/ÐÂÐË·ïÂÁ×ۺϿâÉè¼Æ·½°¸-º£Á¦-10-17ÊäËÍÏß²¼¾Öͼµ÷Õû20251126LW.dwl2
ÎļþÒÑɾ³ý
ÏîÄ¿×ÊÁÏ/ÏîĿͼֽ/ÐÂÐË·ïÂÁ×ۺϿâÉè¼Æ·½°¸-º£Á¦-10-17ÊäËÍÏß²¼¾Öͼµ÷Õû20260303(º¬Çżܹâµç²¼¾Ö).dwg
Binary files differ
ÏîÄ¿×ÊÁÏ/ÏîĿͼֽ/ÐÂÐË·ïÂÁ×ۺϿâÉè¼Æ·½°¸-º£Á¦-10-17ÊäËÍÏß²¼¾Öͼµ÷Õû20260303(º¬Çżܹâµç²¼¾Ö).dwg.lck
ÏîÄ¿×ÊÁÏ/ÏîÄ¿ÕûÌ弯»®/·ïÂÁÏîÄ¿WMSºÍWCSÈí¼þ ¿íº£½ø¶È±í.xlsx
Binary files differ