1
dengjunjie
2026-01-16 eafb28086a2954c590ac25a2c72ae8afcf1ea4db
1
已添加20个文件
已删除1个文件
已修改9个文件
712 ■■■■■ 文件已修改
.gitignore 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/TaskInfo/WMSTasksDTO.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/WIDESEAWCS_DTO.csproj 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_ApiInfo.cs 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_HKLocationInfo.cs 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_KLSLocationInfo.cs 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_RGVLocationInfo.cs 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_StationManger.cs 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/WIDESEAWCS_Model.csproj 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/KHAGVController.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/KLSAGVController.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/RGV/RGVController.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/WMS/WMSController.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server.csproj 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/KLSTaskMethods.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskHelpMethods.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/与上游系统接口清单/WMS接口对接文档_V1.1.5.docx 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/与上游系统接口清单/wms接口文档1-12.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/与上游系统接口清单/接口地址.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/与设备交互接口/一楼库内四向车接口/四向车沟通接口及问题点.txt 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/与设备交互接口/所需接口及问题点.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/与设备交互接口/海康AGV/厂内物流机器人控制系统 RCS-2000 V4.3 国标接口文档(1).doc 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/托盘编码规则.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/浙江高普智能仓项目整体进度计划—2025.12.05.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/项目图纸/四向车编号布局图.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/项目整体计划/浙江高普智能仓项目整体进度计划—2025.12.05.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
.gitignore
@@ -258,3 +258,7 @@
*.bin
*.2
*.2
/代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/config/applicationhost.config
/代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/WIDESEAWCS_BasicInfoRepository.csproj
/代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/WIDESEAWCS_BasicInfoService.csproj
/代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/WIDESEAWCS_Common.csproj
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs
@@ -7,6 +7,50 @@
namespace WIDESEAWCS_Common.TaskEnum
{
    public enum TaskTypeEnum
    {
        /// <summary>
        /// æˆå“å…¥åº“
        /// </summary>
        [Description("成品入库")]
        CPInbound = 1,
        /// <summary>
        /// æˆå“å‡ºåº“
        /// </summary>
        [Description("成品出库")]
        CPOutbound,
        /// <summary>
        /// é¢æ–™å…¥åº“
        /// </summary>
        [Description("面料入库")]
        MLInbound,
        /// <summary>
        /// é¢æ–™å‡ºåº“
        /// </summary>
        [Description("面料出库")]
        MLOutbound,
        /// <summary>
        /// è·¨æ¥¼å±‚运输
        /// </summary>
        [Description("跨楼层运输")]
        Carry,
        /// <summary>
        /// è£å‰ªé€è´§
        /// </summary>
        [Description("裁剪送货")]
        CJCarry,
        /// <summary>
        /// è£å‰ªå…¥åº“
        /// </summary>
        [Description("裁剪入库")]
        CJInbound,
        /// <summary>
        /// è£å‰ªå‡ºåº“
        /// </summary>
        [Description("裁剪出库")]
        CJOutbound,
    }
    public enum TaskInboundTypeEnum
    {
        /// <summary>
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/TaskInfo/WMSTasksDTO.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,64 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEAWCS_DTO.TaskInfo
{
    public class WMSTasksDTO
    {
        /// <summary>
        /// ä»»åŠ¡ç±»åž‹
        /// 1成品入库
        ///2成品出库
        ///3 é¢æ–™å…¥åº“
        ///4 é¢æ–™å‡ºåº“
        ///5跨楼层运输
        ///6 è£å‰ªé€è´§
        ///7裁剪入库
        ///8 è£å‰ªå‡ºåº“
        /// </summary>
        public int taskType { get; set; }
        /// <summary>
        /// ä»»åŠ¡ç»„å·
        /// </summary>
        public string taskGroupCode { get; set; }
        public string groupPriority { get; set; }
        public List<TaskDTO> tasks { get; set; }
    }
    public class TaskDTO
    {
        /// <summary>
        /// ä»»åŠ¡å·
        /// </summary>
        public string taskCode { get; set; }
        /// <summary>
        /// ä»»åŠ¡ç­‰çº§
        /// </summary>
        public int taskPriority { get; set; }
        /// <summary>
        /// æ–™ç®±å·
        /// </summary>
        public string containerCode { get; set;}
        /// <summary>
        /// æ–™ç®±ç±»åž‹
        /// </summary>
        public string containerType { get; set;}
        public string storageTag { get; set;}
        /// <summary>
        /// èµ·ç‚¹ä½ç½®
        /// </summary>
        public string fromLocationCode { get; set;}
        /// <summary>
        /// ç»ˆç‚¹åŒºåŸŸ
        /// </summary>
        public string toAreaCode { get; set;}
        /// <summary>
        /// ç»ˆç‚¹ä½ç½®
        /// </summary>
        public string toLocationCode { get; set;}
    }
}
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/WIDESEAWCS_DTO.csproj
@@ -12,6 +12,9 @@
    <ItemGroup>
      <Folder Include="BasicInfo\" />
      <Folder Include="WMS\" />
      <Folder Include="RGV\" />
      <Folder Include="AGV\" />
    </ItemGroup>
</Project>
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs
@@ -29,6 +29,7 @@
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core.BaseRepository;
using Microsoft.AspNetCore.Mvc;
namespace WIDESEAWCS_ITaskInfoService
{
@@ -59,6 +60,7 @@
        /// </summary>
        /// <param name="taskDTOs">WMS任务对象集合</param>
        /// <returns>返回处理结果</returns>
        WebResponseContent ReceiveWMSTask([FromBody] List<WMSTasksDTO> taskDTOs);
        WebResponseContent ReceiveWMSTask([NotNull] List<WMSTaskDTO> taskDTOs);
        /// <summary>
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_ApiInfo.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core.DB.Models;
namespace WIDESEAWCS_Model.Models
{
    [SugarTable(nameof(Dt_ApiInfo), "接口信息")]
    public class Dt_ApiInfo : BaseEntity
    {
        /// <summary>
        /// ä¸»é”®
        /// </summary>
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主键")]
        public int Id { get; set; }
        /// <summary>
        /// æŽ¥å£ç¼–号
        /// </summary>
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "接口编号")]
        public string ApiCode { get; set; }
        /// <summary>
        /// æŽ¥å£åç§°
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "接口名称")]
        public string ApiName { get; set; }
        /// <summary>
        /// æŽ¥å£åœ°å€
        /// </summary>
        [SugarColumn(IsNullable = false, Length = 200, ColumnDescription = "接口地址")]
        public string ApiAddress { get; set; }
        /// <summary>
        /// å¤‡æ³¨
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "备注")]
        public string Remark { get; set; }
    }
}
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_HKLocationInfo.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,95 @@
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core.DB.Models;
namespace WIDESEAWCS_Model.Models
{
    /// <summary>
    /// æµ·åº·è´§ä½ä¿¡æ¯
    /// </summary>
    [SugarTable(nameof(Dt_HKLocationInfo), "海康货位信息")]
    public class Dt_HKLocationInfo : BaseEntity
    {
        /// <summary>
        /// ä¸»é”®
        /// </summary>
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主键")]
        public int Id { get; set; }
        /// <summary>
        /// ä»“库编号
        /// </summary>
        [SugarColumn(IsNullable = false, ColumnDescription = "仓库编号")]
        public int WarehouseId { get; set; }
        /// <summary>
        /// è´§ä½ç¼–号
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 30, ColumnDescription = "货位编号")]
        public string LocationCode {  get; set; }
        /// <summary>
        /// è´§ä½åç§°
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "货位名称")]
        public string LocationName { get; set; }
        /// <summary>
        /// å··é“编号
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 20, ColumnDescription = "巷道编号")]
        public string RoadwayNo {  get; set; }
        /// <summary>
        /// è´§ä½è¡Œ
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDescription = "货位行")]
        public int Row {  get; set; }
        /// <summary>
        /// è´§ä½åˆ—
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDescription = "货位列")]
        public int Column { get; set; }
        /// <summary>
        /// è´§ä½å±‚
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDescription = "货位层")]
        public int Layer {  get; set; }
        /// <summary>
        /// è´§ä½æ·±åº¦
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDescription = "货位深度")]
        public int Depth {  get; set; }
        /// <summary>
        /// è´§ä½ç±»åž‹
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDescription = "货位类型")]
        public int LocationType {  get; set; }
        /// <summary>
        /// è´§ä½çŠ¶æ€
        /// </summary>
        [SugarColumn(IsNullable = true, DefaultValue = "0", ColumnDescription = "货位状态")]
        public int LocationStatus {  get; set; }
        /// <summary>
        /// ç¦ç”¨çŠ¶æ€
        /// </summary>
        [SugarColumn(IsNullable = true, DefaultValue = "0", ColumnDescription = "禁用状态")]
        public int EnableStatus { get; set; }
        /// <summary>
        /// å¤‡æ³¨
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "备注")]
        public string Remark {  get; set; }
    }
}
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_KLSLocationInfo.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,95 @@
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core.DB.Models;
namespace WIDESEAWCS_Model.Models
{
    /// <summary>
    /// å‡¯ä¹å£«è´§ä½ä¿¡æ¯
    /// </summary>
    [SugarTable(nameof(Dt_KLSLocationInfo), "凯乐士货位信息")]
    public class Dt_KLSLocationInfo : BaseEntity
    {
        /// <summary>
        /// ä¸»é”®
        /// </summary>
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主键")]
        public int Id { get; set; }
        /// <summary>
        /// ä»“库编号
        /// </summary>
        [SugarColumn(IsNullable = false, ColumnDescription = "仓库编号")]
        public int WarehouseId { get; set; }
        /// <summary>
        /// è´§ä½ç¼–号
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 30, ColumnDescription = "货位编号")]
        public string LocationCode {  get; set; }
        /// <summary>
        /// è´§ä½åç§°
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "货位名称")]
        public string LocationName { get; set; }
        /// <summary>
        /// å··é“编号
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 20, ColumnDescription = "巷道编号")]
        public string RoadwayNo {  get; set; }
        /// <summary>
        /// è´§ä½è¡Œ
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDescription = "货位行")]
        public int Row {  get; set; }
        /// <summary>
        /// è´§ä½åˆ—
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDescription = "货位列")]
        public int Column { get; set; }
        /// <summary>
        /// è´§ä½å±‚
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDescription = "货位层")]
        public int Layer {  get; set; }
        /// <summary>
        /// è´§ä½æ·±åº¦
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDescription = "货位深度")]
        public int Depth {  get; set; }
        /// <summary>
        /// è´§ä½ç±»åž‹
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDescription = "货位类型")]
        public int LocationType {  get; set; }
        /// <summary>
        /// è´§ä½çŠ¶æ€
        /// </summary>
        [SugarColumn(IsNullable = true, DefaultValue = "0", ColumnDescription = "货位状态")]
        public int LocationStatus {  get; set; }
        /// <summary>
        /// ç¦ç”¨çŠ¶æ€
        /// </summary>
        [SugarColumn(IsNullable = true, DefaultValue = "0", ColumnDescription = "禁用状态")]
        public int EnableStatus { get; set; }
        /// <summary>
        /// å¤‡æ³¨
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "备注")]
        public string Remark {  get; set; }
    }
}
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_RGVLocationInfo.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,95 @@
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core.DB.Models;
namespace WIDESEAWCS_Model.Models
{
    /// <summary>
    /// å››å‘穿梭车货位信息
    /// </summary>
    [SugarTable(nameof(Dt_RGVLocationInfo), "四向车货位信息")]
    public class Dt_RGVLocationInfo : BaseEntity
    {
        /// <summary>
        /// ä¸»é”®
        /// </summary>
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主键")]
        public int Id { get; set; }
        /// <summary>
        /// ä»“库编号
        /// </summary>
        [SugarColumn(IsNullable = false, ColumnDescription = "仓库编号")]
        public int WarehouseId { get; set; }
        /// <summary>
        /// è´§ä½ç¼–号
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 30, ColumnDescription = "货位编号")]
        public string LocationCode {  get; set; }
        /// <summary>
        /// è´§ä½åç§°
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "货位名称")]
        public string LocationName { get; set; }
        /// <summary>
        /// å··é“编号
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 20, ColumnDescription = "巷道编号")]
        public string RoadwayNo {  get; set; }
        /// <summary>
        /// è´§ä½è¡Œ
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDescription = "货位行")]
        public int Row {  get; set; }
        /// <summary>
        /// è´§ä½åˆ—
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDescription = "货位列")]
        public int Column { get; set; }
        /// <summary>
        /// è´§ä½å±‚
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDescription = "货位层")]
        public int Layer {  get; set; }
        /// <summary>
        /// è´§ä½æ·±åº¦
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDescription = "货位深度")]
        public int Depth {  get; set; }
        /// <summary>
        /// è´§ä½ç±»åž‹
        /// </summary>
        [SugarColumn(IsNullable = true, ColumnDescription = "货位类型")]
        public int LocationType {  get; set; }
        /// <summary>
        /// è´§ä½çŠ¶æ€
        /// </summary>
        [SugarColumn(IsNullable = true, DefaultValue = "0", ColumnDescription = "货位状态")]
        public int LocationStatus {  get; set; }
        /// <summary>
        /// ç¦ç”¨çŠ¶æ€
        /// </summary>
        [SugarColumn(IsNullable = true, DefaultValue = "0", ColumnDescription = "禁用状态")]
        public int EnableStatus { get; set; }
        /// <summary>
        /// å¤‡æ³¨
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "备注")]
        public string Remark {  get; set; }
    }
}
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_StationManger.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,77 @@
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core.DB.Models;
namespace WIDESEAWCS_Model.Models
{
    [SugarTable(nameof(Dt_StationManger), "站台表")]
    public class Dt_StationManger : BaseEntity
    {
        /// <summary>
        /// ä¸»é”®
        /// </summary>
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主键")]
        public int Id { get; set; }
        /// <summary>
        /// ç«™å°ç¼–号
        /// </summary>
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "站台编号")]
        public string StationCode { get; set; }
        /// <summary>
        /// ç«™å°åç§°
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "站台名称")]
        public string StationName { get; set; }
        /// <summary>
        /// ç«™å°ç±»åž‹ <br/>
        /// 1:只入 <br/>
        /// 2:只出 <br/>
        /// 3:可入可出
        /// </summary>
        [SugarColumn(IsNullable = false, ColumnDescription = "站台类型")]
        public int StationType {  get; set; }
        /// <summary>
        /// å¯¹åº”堆垛机排-列-层
        /// </summary>
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "对应堆垛机排-列-层")]
        public string StackerCraneStationCode { get; set; }
        /// <summary>
        /// ç«™å°è®¾å¤‡ç¼–号
        /// </summary>
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "站台设备编号")]
        public string StationDeviceCode { get; set; }
        /// <summary>
        /// å †åž›æœºç¼–号
        /// </summary>
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "堆垛机编号")]
        public string StackerCraneCode { get; set; }
        /// <summary>
        /// AGV站台编号
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "AGV站台编号")]
        public string? AGVStationCode { get; set; }
        /// <summary>
        /// ç«™å°æ˜¯å¦å¯ç”¨ <br/>
        /// 0:可用 <br/>
        /// 1:占用 <br/>
        /// </summary>
        [SugarColumn(IsNullable = false, ColumnDescription = "站台是否可用")]
        public int IsOccupied { get; set; }
        /// <summary>
        /// å¤‡æ³¨
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "备注")]
        public string Remark { get; set; }
    }
}
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs
@@ -46,6 +46,14 @@
        public int TaskNum { get; set; }
        /// <summary>
        /// WMS任务号
        /// </summary>
        [ImporterHeader(Name = "WMS任务号")]
        [ExporterHeader(DisplayName = "WMS任务号")]
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "WMS任务号")]
        public string WMSTaskNum { get; set; }
        /// <summary>
        /// æ‰˜ç›˜ç¼–号
        /// </summary>
        [ImporterHeader(Name = "托盘编号")]
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/WIDESEAWCS_Model.csproj
@@ -15,8 +15,4 @@
        <ProjectReference Include="..\WIDESEAWCS_Common\WIDESEAWCS_Common.csproj" />
    </ItemGroup>
    <ItemGroup>
      <Folder Include="Models\BasicInfo\" />
    </ItemGroup>
</Project>
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/KHAGVController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,11 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace WIDESEAWCS_Server.Controllers.AGV
{
    [Route("api/[controller]")]
    [ApiController]
    public class KHAGVController : ControllerBase
    {
    }
}
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/KLSAGVController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,11 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace WIDESEAWCS_Server.Controllers.AGV
{
    [Route("api/[controller]")]
    [ApiController]
    public class KLSAGVController : ControllerBase
    {
    }
}
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/RGV/RGVController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,11 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace WIDESEAWCS_Server.Controllers.RGV
{
    [Route("api/[controller]")]
    [ApiController]
    public class RGVController : ControllerBase
    {
    }
}
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/WMS/WMSController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
using Autofac.Core;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using WIDESEAWCS_Core;
using WIDESEAWCS_DTO.TaskInfo;
using WIDESEAWCS_ITaskInfoService;
namespace WIDESEAWCS_Server.Controllers.WMS
{
    [Route("api/[controller]")]
    [ApiController]
    public class WMSController : ControllerBase
    {
        private readonly ITaskService _taskService;
        public WMSController(ITaskService taskService)
        {
            _taskService = taskService;
        }
        /// <summary>
        /// WMS下发任务
        /// </summary>
        /// <param name="taskDTOs"></param>
        /// <returns></returns>
        [HttpPost, Route("ReceiveTask"), AllowAnonymous]
        public WebResponseContent ReceiveWMSTask([FromBody] List<WMSTasksDTO> taskDTOs)
        {
            return _taskService.ReceiveWMSTask(taskDTOs);
        }
    }
}
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server.csproj
@@ -74,10 +74,4 @@
        </Content>
    </ItemGroup>
    <ItemGroup>
      <Folder Include="Controllers\WMS\" />
      <Folder Include="Controllers\RGV\" />
      <Folder Include="Controllers\AGV\" />
    </ItemGroup>
</Project>
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/KLSTaskMethods.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_Core;
using WIDESEAWCS_DTO.TaskInfo;
namespace WIDESEAWCS_TaskInfoService
{
    public partial class TaskService
    {
        /// <summary>
        /// åˆ›å»ºå…¥åº“任务
        /// </summary>
        /// <param name="taskDTO"></param>
        /// <returns></returns>
        public WebResponseContent CreateNewInTask(TaskDTO taskDTO)
        {
            try
            {
                //获取货位信息
                //List<Dt_KLSLocationInfo> kLSLocationInfos=
                return WebResponseContent.Instance.OK();
            }
            catch (Exception ex)
            {
                return WebResponseContent.Instance.Error(ex.Message);
            }
        }
    }
}
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskHelpMethods.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_DTO.TaskInfo;
namespace WIDESEAWCS_TaskInfoService
{
    public class TaskHelpMethods
    {
        public static WebResponseContent isOkTaskInfo(TaskDTO taskDTO, bool isfrom, bool isType)
        {
            WebResponseContent content = new WebResponseContent().OK();
            try
            {
                if (taskDTO.containerCode.IsNullOrEmpty()) throw new Exception("料箱号不能为空");
                if (taskDTO.toAreaCode.IsNullOrEmpty() || taskDTO.toLocationCode.IsNullOrEmpty()) throw new Exception("终点区域或终点位置不能为空");
                if (isType) if (taskDTO.containerType.IsNullOrEmpty()) throw new Exception("料箱号不能为空");
                if (isfrom) if (taskDTO.fromLocationCode.IsNullOrEmpty()) throw new Exception("起点位置不能为空");
            }
            catch (Exception ex)
            {
                content.Error(ex.Message);
            }
            return content;
        }
    }
}
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -22,6 +22,7 @@
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_DTO.TaskInfo;
using WIDESEAWCS_ITaskInfoService;
using WIDESEAWCS_Model.Models;
@@ -30,7 +31,7 @@
namespace WIDESEAWCS_TaskInfoService
{
    public class TaskService : ServiceBase<Dt_Task, IRepository<Dt_Task>>, ITaskService
    public partial class TaskService : ServiceBase<Dt_Task, IRepository<Dt_Task>>, ITaskService
    {
        private readonly IRouterService _routerService;
        private readonly ITaskExecuteDetailService _taskExecuteDetailService;
@@ -61,7 +62,34 @@
            _taskExecuteDetailRepository = taskExecuteDetailRepository;
            _mapper = mapper;
        }
        public WebResponseContent ReceiveWMSTask([NotNull] List<WMSTasksDTO> taskDTOs)
        {
            WebResponseContent content = new WebResponseContent();
            try
            {
                foreach (var item in taskDTOs)
                {
                    if (item.taskType == TaskTypeEnum.MLInbound.ObjToInt())
                    {
                        foreach (var task in item.tasks)
                        {
                            content = TaskHelpMethods.isOkTaskInfo(task, true, true);
                            if (!content.Status) throw new Exception(content.Message);
                            if (BaseDal.QueryFirst(x => x.WMSTaskNum == task.taskCode || x.PalletCode == task.containerCode) != null)
                            {
                                continue;
                            }
                            CreateNewInTask(task);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                content.Error(ex.Message);
            }
            return content;
        }
        /// <summary>
        /// æŽ¥æ”¶WMS任务信息
        /// </summary>
ÏîÄ¿×ÊÁÏ/ÓëÉÏÓÎϵͳ½Ó¿ÚÇåµ¥/WMS½Ó¿Ú¶Ô½ÓÎĵµ_V1.1.5.docx
Binary files differ
ÏîÄ¿×ÊÁÏ/ÓëÉÏÓÎϵͳ½Ó¿ÚÇåµ¥/wms½Ó¿ÚÎĵµ1-12.xlsx
Binary files differ
ÏîÄ¿×ÊÁÏ/ÓëÉÏÓÎϵͳ½Ó¿ÚÇåµ¥/½Ó¿ÚµØÖ·.xlsx
Binary files differ
ÏîÄ¿×ÊÁÏ/ÓëÉ豸½»»¥½Ó¿Ú/һ¥¿âÄÚËÄÏò³µ½Ó¿Ú/ËÄÏò³µ¹µÍ¨½Ó¿Ú¼°ÎÊÌâµã.txt
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,11 @@
创建容器搬运任务(任务只能一个一个下发)
站点容器上架
站点容器释放
更新任务优先级
任务状态更新消息
储位状态更新
批量获取阻碍托盘关系(暂定)
四向车出库任务可能存在阻碍托盘,需要移库,如果指定库区没可放位置时就会移到其他库区去???
ÏîÄ¿×ÊÁÏ/ÓëÉ豸½»»¥½Ó¿Ú/ËùÐè½Ó¿Ú¼°ÎÊÌâµã.xlsx
Binary files differ
ÏîÄ¿×ÊÁÏ/ÓëÉ豸½»»¥½Ó¿Ú/º£¿µAGV/³§ÄÚÎïÁ÷»úÆ÷ÈË¿ØÖÆÏµÍ³ RCS-2000 V4.3 ¹ú±ê½Ó¿ÚÎĵµ(1).doc
Binary files differ
ÏîÄ¿×ÊÁÏ/ÍÐÅ̱àÂë¹æÔò.xlsx
Binary files differ
ÏîÄ¿×ÊÁÏ/Õã½­¸ßÆÕÖÇÄܲÖÏîÄ¿ÕûÌå½ø¶È¼Æ»®¡ª2025.12.05.xlsx
Binary files differ
ÏîÄ¿×ÊÁÏ/ÏîĿͼֽ/ËÄÏò³µ±àºÅ²¼¾Öͼ.xlsx
Binary files differ
ÏîÄ¿×ÊÁÏ/ÏîÄ¿ÕûÌ弯»®/Õã½­¸ßÆÕÖÇÄܲÖÏîÄ¿ÕûÌå½ø¶È¼Æ»®¡ª2025.12.05.xlsx
Binary files differ