zs
2025-05-12 743c2748dd4e3c2c2a84c7ae930a9cf287453a84
出入库
已添加7个文件
已修改28个文件
2299 ■■■■■ 文件已修改
HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Views/Pages/WmsInOutStockOrder/WmsInOutStockOrder.tsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Views/Pages/WmsInOutStockOrderDetail/Config.ts 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/hiawms_web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/Config.ts 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/Config.ts 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/project/Wms.cmsproj 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/CommonDto/CallMaterialOutput.cs 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/CommonDto/LMesCallMaterialInput.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/OutStockDto/CallMaterialInput.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordDto.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/GetWmsTaskInput.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskCreateOrUpdateDtoBase.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskDto.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskExportModel.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/ILMesOperateAppService.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsOutStockAppService.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/LMesOperateAppService.cs 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsBindInStockAppService.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsInOutStockOrderAppService.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsInOutStockRecordAutoMapperProfile.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsTask/IWmsTaskRepository.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsTask/WmsTask.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsTask.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsInOutStockRecordRepository.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsTaskRepository.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250512042203_InitialCreate15.Designer.cs 1792 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250512042203_InitialCreate15.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Scripts/UpdateMigrations.bat 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms/Controller/LMesOperateController.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsInsStockController.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsOutStockController.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Views/Pages/WmsInOutStockOrder/WmsInOutStockOrder.tsx
@@ -352,7 +352,7 @@
                æ·»åŠ 
              </IconButton>
              <el-divider direction="vertical" />
              <IconButton
              {/* <IconButton
                v-permission="wmsInOutStockOrder-add"
                icon="add-p"
                onClick={openCallMaterialDialog}
@@ -360,7 +360,7 @@
              >
                å«æ–™
              </IconButton>
              <el-divider direction="vertical" />
              <el-divider direction="vertical" /> */}
              {/* <el-upload
                v-permission="wmsInOutStockOrder-import"
                name="file"
HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Views/Pages/WmsInOutStockOrderDetail/Config.ts
@@ -24,10 +24,10 @@
    field: 'materialName',
    title: '物料名称',
  },
  {
    field: 'containerNo',
    title: '容器编号',
  },
  // {
  //   field: 'containerNo',
  //   title: '容器编号',
  // },
  {
    field: 'materialModel',
    title: '型号',
HIAWms/hiawms_web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/Config.ts
@@ -5,6 +5,10 @@
    title: '序号',
  },
  {
    field: 'taskNo',
    title: '任务号',
  },
  {
    field: 'orderNo',
    title: '单据编号',
  },
@@ -16,14 +20,10 @@
    field: 'materialNo',
    title: '物料件号',
  },
  {
    field: 'materialId',
    title: '物料ID',
  },
  {
    field: 'taskNo',
    title: '任务号',
  },
  // {
  //   field: 'materialId',
  //   title: '物料ID',
  // },
  {
    field: 'sourcePlace',
    title: '起始库位',
@@ -36,10 +36,10 @@
    field: 'stockTypeDesc',
    title: '操作类型',
  },
  {
    field: 'containerNo',
    title: '容器编号',
  },
  // {
  //   field: 'containerNo',
  //   title: '容器编号',
  // },
  {
    field: 'materialModel',
    title: '型号',
HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/Config.ts
@@ -33,6 +33,10 @@
    title: '目标库位',
  },
  {
    field: 'plcTaskId',
    title: 'Plc任务号',
  },
  {
    field: 'aisle',
    title: '巷道',
  },
HIAWms/project/Wms.cmsproj
Binary files differ
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/CommonDto/CallMaterialOutput.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,73 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Domain.Entities;
namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.CommonDto
{
    /// <summary>
    /// å«æ–™è¿”回
    /// </summary>
    public class CallMaterialOutput : ExtensibleEntityDto<Guid>, IHasConcurrencyStamp
    {
        public string MaterialNo { get; set; }
        /// <summary>
        /// ç¼–号
        /// </summary>
        public virtual string MaterialId { get; set; }
        /// <summary>
        /// åç§°
        /// </summary>
        public virtual string MaterialName { get; set; }
        /// <summary>
        /// å®¹å™¨ç¼–号
        /// </summary>
        public string ContainerNo { get; set; }
        /// <summary>
        /// ç‰©æ–™æ‰¹æ¬¡
        /// </summary>
        public string MaterialBatch { get; set; }
        /// <summary>
        /// åž‹å·
        /// </summary>
        public string MaterialModel { get; set; }
        /// <summary>
        /// åº“位编号
        /// </summary>
        public string PlaceNo { get; set; }
        /// <summary>
        /// å…¥åº“æ—¶é—´
        /// </summary>
        public DateTime? InStockTime { get; set; }
        /// <summary>
        /// ä»»åŠ¡å·
        /// </summary>
        public string TaskNo { get; set; }
        /// <summary>
        /// æ¥æºå•据号
        /// </summary>
        public string? SourceOrderNo { get; set; }
        /// <summary>
        /// PLC任务号
        /// </summary>
        public int PlcTaskId { get; set; }
        public string ConcurrencyStamp
        {
            get
            ;
            set;
        }
    }
}
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/CommonDto/LMesCallMaterialInput.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.CommonDto
{
    /// <summary>
    /// LMES叫料参数
    /// </summary>
    public class LMesCallMaterialInput
    {
        /// <summary>
        /// å«æ–™æ•°é‡
        /// </summary>
        public int Quantity { get; set; }
        /// <summary>
        /// åŽŸæ–™æ ‡è¯†
        /// </summary>
        public string DataIdentifier { get; set; }
        /// <summary>
        /// åŽŸæ–™åž‹å·
        /// </summary>
        public string? MaterialMode { get; set; }
    }
}
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/OutStockDto/CallMaterialInput.cs
@@ -46,5 +46,10 @@
        /// å«æ–™æ•°é‡
        /// </summary>
        public int MaterialNumber { get; set; }
        /// <summary>
        /// åŽŸæ–™æ ‡è¯†
        /// </summary>
        public string DataIdentifier { get; set; }
    }
}
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordDto.cs
@@ -28,6 +28,11 @@
    public string MaterialNo { get; set; }
    /// <summary>
    /// ç‰©æ–™æ‰¹æ¬¡
    /// </summary>
    public string? MaterialBatch { get; set; }
    /// <summary>
    /// æ“ä½œç±»åž‹
    /// </summary>
    public StockTypeEnum StockType { get; set; }
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/GetWmsTaskInput.cs
@@ -49,6 +49,11 @@
        public string TaskNo { get; set; }
        /// <summary>
    /// PLC任务号
    /// </summary>
    public int PlcTaskId { get; set; }
    /// <summary>
        /// ä»»åŠ¡å·-查询关系运算符 
        /// </summary>
        public SearchFilterModeEnum TaskNo_FilterMode { get; set; }= SearchFilterModeEnum.模糊查询;
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskCreateOrUpdateDtoBase.cs
@@ -35,6 +35,11 @@
        public string? ContainerNo { get; set; }
        /// <summary>
    /// PLC任务号
    /// </summary>
    public int PlcTaskId { get; set; }
    /// <summary>
        /// èµ·å§‹åº“位
        /// </summary>
        public string? SourcePlace { get; set; }
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskDto.cs
@@ -67,6 +67,12 @@
    /// </summary>
    public string? ToPlace { get; set; }
    /// <summary>
    /// PLC任务号
    /// </summary>
    public int PlcTaskId { get; set; }
    /// <summary>
    /// å··é“
    /// </summary>
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskExportModel.cs
@@ -53,6 +53,12 @@
        public string ToPlace { get; set; }
        /// <summary>
    /// PLC任务号
    /// </summary>
    [ExcelColumn(Name = "PLC任务号", Width = 25)]
    public int PlcTaskId { get; set; }
    /// <summary>
        /// å··é“
        /// </summary>
        [ExcelColumn(Name = "巷道", Width = 25)]
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/ILMesOperateAppService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.CommonDto;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CMS.Plugin.HIAWms.Application.Contracts.Services
{
    public interface ILMesOperateAppService
    {
        /// <summary>
        /// LMES叫料参数
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<List<CallMaterialOutput>> LMesCallMaterialAsync(List<LMesCallMaterialInput> input);
    }
}
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsOutStockAppService.cs
@@ -1,4 +1,5 @@
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.OutStockDto;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.CommonDto;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.OutStockDto;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -14,6 +15,6 @@
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task CallMaterialAsync(List<CallMaterialInput> input);
        Task<List<CallMaterialOutput>> CallMaterialAsync(List<CallMaterialInput> input);
    }
}
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/LMesOperateAppService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,114 @@
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.CommonDto;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.OutStockDto;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockOrder;
using CMS.Plugin.HIAWms.Application.Contracts.Services;
using CMS.Plugin.HIAWms.Domain.WmsMaterials;
using CMS.Plugin.HIAWms.Domain.WmsTask;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Uow;
namespace CMS.Plugin.HIAWms.Application.Implements
{
    /// <summary>
    /// LMES操作服务
    /// </summary>
    public class LMesOperateAppService : CMSPluginAppService, ILMesOperateAppService
    {
        private readonly IWmsTaskRepository _wmsTaskRepository;
        private readonly IWmsMaterialRepository _wmsMaterialRepository;
        private readonly IWmsInOutStockOrderAppService _wmsInOutStockOrderAppService;
        private readonly IWmsOutStockAppService _wmsOutStockOrderAppService;
        private readonly IServiceProvider _serviceProvider;
        public LMesOperateAppService(IWmsTaskRepository wmsTaskRepository,
            IWmsMaterialRepository wmsMaterialRepository,
            IWmsInOutStockOrderAppService wmsInOutStockOrderAppService,
            IWmsOutStockAppService wmsOutStockOrderAppService
,
            IServiceProvider serviceProvider)
        {
            _wmsTaskRepository = wmsTaskRepository;
            _wmsMaterialRepository = wmsMaterialRepository;
            _wmsInOutStockOrderAppService = wmsInOutStockOrderAppService;
            _wmsOutStockOrderAppService = wmsOutStockOrderAppService;
            _serviceProvider = serviceProvider;
        }
        /// <summary>
        /// lmes叫料.
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        /// <exception cref="UserFriendlyException"></exception>
        public async Task<List<CallMaterialOutput>> LMesCallMaterialAsync(List<LMesCallMaterialInput> input)
        {
            if (input == null || input.Count == 0)
            {
                throw new UserFriendlyException("叫料参数错误");
            }
            //using var scope = _serviceProvider.CreateScope();
            //var unitOfWorkManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>();
            //using var uow = unitOfWorkManager.Begin(requiresNew: true);
            var result = new List<CallMaterialOutput>();
            foreach (var item in input)
            {
                if (string.IsNullOrEmpty(item.MaterialMode))
                {
                    throw new UserFriendlyException("叫料型号不能为空");
                }
                var task = await _wmsTaskRepository.QueryWmsTaskByDataIdentifierAasync(item.DataIdentifier);
                if (task != null)
                {
                    throw new UserFriendlyException($"原料标识{item.DataIdentifier}已生成任务,任务号{task.TaskNo},无需重复操作");
                }
                // ç”Ÿæˆå‡ºåº“单
                var materiaL = await _wmsMaterialRepository.FindByModelAsync(item.MaterialMode);
                if (materiaL == null)
                {
                    throw new UserFriendlyException("该型号物料信息不存在");
                }
                var createOrderInput = new WmsInOutStockOrderCreateDto
                {
                    OrderType = Domain.Shared.Enums.OrderTypeEnum.PRODUCTCALL,
                    MaterialNo = materiaL.MaterialNo,
                    MaterialName = materiaL.MaterialName,
                    MaterialModel = item.MaterialMode,
                    MaterialNumber = 1,
                    MaterialBatch = item.MaterialMode
                };
                var createResult = await _wmsInOutStockOrderAppService.CreateAsync(createOrderInput);
                // å«æ–™
                var callInput = new List<CallMaterialInput>
                {
                    new CallMaterialInput
                    {
                        OrderNo = createResult.OrderNo,
                        MaterialModel = item.MaterialMode,
                        MaterialNumber = 1,
                        MaterialNo = materiaL.MaterialNo,
                        MaterialName = materiaL.MaterialName,
                        DataIdentifier = item.DataIdentifier,
                    },
                };
                var callresult = await _wmsOutStockOrderAppService.CallMaterialAsync(callInput);
                result.AddRange(callresult);
            }
            //await uow.SaveChangesAsync();
            return result;
        }
    }
}
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsBindInStockAppService.cs
@@ -165,7 +165,7 @@
            await BindMaterialContaienrAsync(input);
            // ç”Ÿæˆä»»åŠ¡
            var plactDict = await _wmsCommonAppService.FindAvailablePlacesAsync(input.MaterialNo, input.StockNumber);
            var plactDict = await _wmsCommonAppService.FindAvailablePlacesAsync(input.MaterialModel, input.StockNumber);
            var taskList = new List<WmsTask>();
            foreach (var kvp in plactDict)
            {
@@ -186,9 +186,11 @@
                        TaskLevel = 999,
                        Aisle = 1,
                        DodeviceId = 0,
                        Dodevicetype = DodevicetypeEnum.Srm,
                        TaskDodeviceStatus = TaskDodeviceStatus.SrmNoStart,
                        IsNextTask = (int)YesNoEnum.Y,
                        IsRead = true,
                        PlcTaskId = new Random(Guid.NewGuid().GetHashCode()).Next(101, 99999),
                        MutableParam1 = input.MaterialModel,
                    };
                    taskList.Add(task);
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs
@@ -45,9 +45,10 @@
        public async Task<Dictionary<WmsPlaceDto, int>> FindAvailablePlacesAsync(string materialModel,int requiredNum, string materialNo="" )
        {
            // 1. èŽ·å–æ‰€æœ‰åº“å­˜å’Œåº“ä½ä¿¡æ¯
            var stockList = await _wmsMaterialStockRepository.GetListAsync(new WmsMaterialStock());
            var stockList = await _wmsMaterialStockRepository.GetListAsync(new WmsMaterialStock { StorageTypeNo = Domain.Shared.Enums.PlaceTypeEnum.YUANLIAOKUWEI});
            var allPlaceList = ObjectMapper.Map<List<WmsPlace>, List<WmsPlaceDto>>(await _wmsPlaceRepository.GetListAsync(new WmsPlace()));
            var placeList = await _wmsPlaceRepository.GetListAsync(new WmsPlace { StorageTypeNo = Domain.Shared.Enums.PlaceTypeEnum.YUANLIAOKUWEI});
            var allPlaceList = ObjectMapper.Map<List<WmsPlace>, List<WmsPlaceDto>>(placeList);
            // 2. æŸ¥æ‰¾ç›¸åŒç‰©æ–™åž‹å·å’Œç¼–号的库存(按库存量降序)
            var sameModelStocks = stockList
@@ -114,6 +115,7 @@
            // 1. èŽ·å–æ‰€æœ‰åº“å­˜ï¼ˆæŽ’é™¤é”å®šåº“å­˜ï¼‰
            var stockList = (await _wmsMaterialStockRepository.GetListAsync(new WmsMaterialStock()))
                .Where(x => x.IsLock == Domain.Shared.Enums.YesNoEnum.N)
                .Where(x=>x.StorageTypeNo == Domain.Shared.Enums.PlaceTypeEnum.YUANLIAOKUWEI)
                .ToList();
            // 2. ç­›é€‰åŒ¹é…ç‰©æ–™
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsInOutStockOrderAppService.cs
@@ -132,7 +132,7 @@
            type = "CK-";
            insertObj.StockType = Domain.Shared.Enums.StockTypeEnum.OutBound;
        }
        insertObj.OrderNo = type + DateTime.Now.ToString("yyyyMMddHHmmssfff");
        insertObj.OrderNo = string.IsNullOrEmpty(input.OrderNo) ? type + DateTime.Now.ToString("yyyyMMddHHmmssfff") : input.OrderNo;
        insertObj.Sort = sort;
        insertObj.Priority = priority;
        input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None);
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs
@@ -1,4 +1,6 @@
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.OutStockDto;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.CommonDto;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.OutStockDto;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks;
using CMS.Plugin.HIAWms.Application.Contracts.Services;
using CMS.Plugin.HIAWms.Domain.Shared.Enums;
using CMS.Plugin.HIAWms.Domain.WmsInOutStockOrder;
@@ -37,7 +39,7 @@
            _serviceProvider = serviceProvider;
        }
        public async Task CallMaterialAsync(List<CallMaterialInput> input)
        public async Task<List<CallMaterialOutput>>CallMaterialAsync(List<CallMaterialInput> input)
        {
            using var scope = _serviceProvider.CreateScope();
            var unitOfWorkManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>();
@@ -48,6 +50,7 @@
            {
                throw new UserFriendlyException("一次叫料只能针对同一型号的物料!");
            }
            var callOutput = new List<CallMaterialOutput>();
            foreach (var inputItem in input)
            {
                var order = await _wmsInOutStockOrderRepository.FindByNameAsync(inputItem.OrderNo);
@@ -55,16 +58,25 @@
                {
                    throw new UserFriendlyException("出库单据不存在");
                }
                if(order.OrderType == OrderTypeEnum.SelfMadeParts || order.OrderType == OrderTypeEnum.PERSONIN)
                {
                    throw new UserFriendlyException("入库单不允许叫料");
                }
                if (inputItem.MaterialNumber <= 0)
                {
                    throw new UserFriendlyException("叫料数量必须大于0");
                }
                if (order.MaterialNumber < inputItem.MaterialNumber)
                if(order.OrderStatus == OrderStatusEnum.Finish)
                {
                    throw new UserFriendlyException("已完成单据不允许叫料");
                }
                if (order.MaterialNumber < inputItem.MaterialNumber+order.DistributeNumber)
                {
                    throw new UserFriendlyException("叫料数量不能大于单据数量");
                }
                order.OrderStatus = OrderStatusEnum.Executing;
                order.DistributeNumber = inputItem.MaterialNumber;
                order.OperateTime = DateTime.Now;
                await _wmsInOutStockOrderRepository.UpdateAsync(order);
@@ -93,13 +105,22 @@
                            TaskLevel = order.Priority,
                            Aisle = 1,
                            DodeviceId = 0,
                            Dodevicetype = DodevicetypeEnum.Srm,
                            TaskDodeviceStatus = TaskDodeviceStatus.SrmNoStart,
                            IsNextTask = (int)YesNoEnum.Y,
                            IsRead = true,
                            PlcTaskId = new Random(Guid.NewGuid().GetHashCode()).Next(101, 99999),
                            SourceOrderNo = inputItem.OrderNo,
                            MutableParam1 = inputItem.MaterialModel,
                            MutableParam2 = inputItem.DataIdentifier
                        };
                        taskList.Add(task);
                        var output = ObjectMapper.Map<WmsMaterialStockDto, CallMaterialOutput>(stock);
                        output.TaskNo = task.TaskNo;
                        output.PlcTaskId = task.PlcTaskId;
                        output.SourceOrderNo = task.SourceOrderNo;
                        callOutput.Add(output);
                    }
                }
                await _wmsTaskRepository.InsertManyAsync(taskList);
@@ -107,6 +128,8 @@
            await uow.SaveChangesAsync();
            await uow.CompleteAsync();
            return callOutput;
        }
    }
}
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs
@@ -167,6 +167,7 @@
        var insertObj = ObjectMapper.Map<WmsTaskCreateDto, WmsTask>(input);
        insertObj.Sort = sort;
        input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None);
        insertObj.PlcTaskId = new Random(Guid.NewGuid().GetHashCode()).Next(101, 99999);
        await wmsTaskRepository.InsertAsync(insertObj);
HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsInOutStockRecordAutoMapperProfile.cs
@@ -1,5 +1,7 @@
using AutoMapper; 
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.CommonDto;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockRecord; 
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks;
using CMS.Plugin.HIAWms.Domain.WmsInOutStockRecord; 
using Volo.Abp.ObjectExtending; 
 
@@ -22,5 +24,6 @@
        CreateMap<WmsInOutStockRecord, WmsInOutStockRecordDto>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None); 
        CreateMap<WmsInOutStockRecordCreateDto, WmsInOutStockRecord>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None); 
        CreateMap<GetWmsInOutStockRecordInput, WmsInOutStockRecord>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None); 
        CreateMap<WmsMaterialStockDto, CallMaterialOutput>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
    } 
HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsTask/IWmsTaskRepository.cs
@@ -50,4 +50,12 @@
    /// <param name="cancellationToken"></param> 
    /// <returns></returns> 
    Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsTask, bool>>> whereConditions, CancellationToken cancellationToken = default); 
    /// <summary>
    /// æ ¹æ®åŽŸæ–™æ ‡è¯†æŸ¥è¯¢ä»»åŠ¡
    /// </summary>
    /// <param name="dataIdentifier"></param>
    /// <param name="cancellationToken"></param>
    /// <returns></returns>
    Task<WmsTask> QueryWmsTaskByDataIdentifierAasync(string dataIdentifier, CancellationToken cancellationToken = default);
HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsTask/WmsTask.cs
@@ -90,6 +90,11 @@
        public int? IsNextTask { get; set; }
        /// <summary>
        /// PLC任务号
        /// </summary>
        public int PlcTaskId { get; set; }
        /// <summary>
        /// å¯å˜å˜é‡1
        /// </summary>
        public string? MutableParam1 { get; set; }
HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsTask.cs
@@ -83,6 +83,10 @@
                    .IsRequired(false)
                    .HasComment("目标库位");
                b.Property(x => x.PlcTaskId)
                .HasDefaultValue(0)
                   .HasComment("任务状态");
                b.Property(x => x.Aisle)
                    .IsRequired(false)
                    .HasComment("巷道");
HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsInOutStockRecordRepository.cs
@@ -84,7 +84,7 @@
            .IncludeDetails(includeDetails) 
            .WhereIf(whereConditions != null, whereConditions.data) 
            .Where(x => !x.IsDeleted) 
            .OrderBy(sorting.IsNullOrEmpty() ? nameof(WmsInOutStockRecord.Sort) : sorting)
            .OrderByDescending(x => x.CreationTime)
            .PageBy(skipCount, maxResultCount) 
            .ToListAsync(GetCancellationToken(cancellationToken)); 
    } 
HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs
@@ -88,7 +88,7 @@
        .WhereIf(stock?.ContainerType > 0, u => u.ContainerType == stock.ContainerType)
        .WhereIf(!string.IsNullOrEmpty(stock?.MaterialBatch), u => u.MaterialBatch == stock.MaterialBatch)
        .WhereIf(!string.IsNullOrEmpty(stock?.SupplierCode), u => u.SupplierCode == stock.SupplierCode)
        .WhereIf(!string.IsNullOrEmpty(stock?.MaterialModel), u => u.MaterialModel.Contains(stock.MaterialModel))
        .WhereIf(!string.IsNullOrEmpty(stock?.MaterialModel), u => u.MaterialModel==stock.MaterialModel)
        .WhereIf(!string.IsNullOrEmpty(stock?.PlaceNo), u => u.PlaceNo == stock.PlaceNo)
        .WhereIf(stock.PlaceStatus > 0, u => u.PlaceStatus == stock.PlaceStatus)
        .WhereIf(stock?.StorageTypeNo > 0, u => u.StorageTypeNo == stock.StorageTypeNo)
@@ -123,7 +123,7 @@
        .ToListAsync(GetCancellationToken(cancellationToken));
        var groupedData = materialList
       .GroupBy(x => new { x.MaterialNo, x.PlaceNo, x.ContainerNo})
       .GroupBy(x => new { x.MaterialNo, x.PlaceNo, x.ContainerNo,x.MaterialModel})
       .Select(g => new WmsMaterialStock
       {
           MaterialNo = g.Key.MaterialNo,
@@ -134,7 +134,7 @@
           PlaceStatus = g.First().PlaceStatus,
           StorageTypeNo = g.First().StorageTypeNo,
           MaterialBatch = g.First().MaterialBatch,
           MaterialModel = g.First().MaterialModel,
           MaterialModel = g.Key.MaterialModel,
           AreaCode = g.First().AreaCode,
           AreaName = g.First().AreaName,
           CheckStatus = g.First().CheckStatus,
HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsTaskRepository.cs
@@ -84,7 +84,7 @@
            .IncludeDetails(includeDetails) 
            .WhereIf(whereConditions != null, whereConditions.data) 
            .Where(x => !x.IsDeleted) 
            .OrderBy(sorting.IsNullOrEmpty() ? nameof(WmsTask.Sort) : sorting)
            .OrderByDescending(x=>x.CreationTime)
            .PageBy(skipCount, maxResultCount) 
            .ToListAsync(GetCancellationToken(cancellationToken)); 
    } 
@@ -110,4 +110,19 @@
        return (await GetQueryableAsync()) 
            .Where(x => !x.IsDeleted).IncludeDetails(); 
    } 
    /// <summary>
    /// æ ¹æ®åŽŸæ–™æ ‡è¯†æŸ¥è¯¢ä»»åŠ¡
    /// </summary>
    /// <param name="dataIdentifier"></param>
    /// <param name="cancellationToken"></param>
    /// <returns></returns>
    public async Task<WmsTask> QueryWmsTaskByDataIdentifierAasync(string dataIdentifier, CancellationToken cancellationToken = default)
    {
        return await (await GetDbSetAsync())
           .IncludeDetails()
           .Where(x => !x.IsDeleted)
           .OrderByDescending(x=>x.CreationTime)
           .FirstOrDefaultAsync(t => t.MutableParam2 == dataIdentifier, GetCancellationToken(cancellationToken));
    }
HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250512042203_InitialCreate15.Designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,1792 @@
// <auto-generated />
using System;
using CMS.Plugin.HIAWms.MySQL;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Volo.Abp.EntityFrameworkCore;
#nullable disable
namespace CMS.Plugin.HIAWms.MySQL.Migrations
{
    [DbContext(typeof(CMSPluginDbContext))]
    [Migration("20250512042203_InitialCreate15")]
    partial class InitialCreate15
    {
        protected override void BuildTargetModel(ModelBuilder modelBuilder)
        {
#pragma warning disable 612, 618
            modelBuilder
                .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.MySql)
                .HasAnnotation("ProductVersion", "6.0.16")
                .HasAnnotation("Relational:MaxIdentifierLength", 64);
            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsAreas.WmsArea", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");
                    b.Property<string>("AreaDesc")
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasComment("描述");
                    b.Property<string>("AreaName")
                        .IsRequired()
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("库区名称");
                    b.Property<string>("AreaNo")
                        .IsRequired()
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("库区编号");
                    b.Property<int>("AreaStatus")
                        .HasColumnType("int")
                        .HasComment("库区状态");
                    b.Property<int>("AreaType")
                        .HasColumnType("int")
                        .HasComment("库区类型");
                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnName("ConcurrencyStamp");
                    b.Property<DateTime>("CreationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("CreationTime");
                    b.Property<Guid?>("CreatorId")
                        .HasColumnType("char(36)")
                        .HasColumnName("CreatorId");
                    b.Property<Guid?>("DeleterId")
                        .HasColumnType("char(36)")
                        .HasColumnName("DeleterId");
                    b.Property<DateTime?>("DeletionTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("DeletionTime");
                    b.Property<string>("ExtraProperties")
                        .HasColumnType("longtext")
                        .HasColumnName("ExtraProperties");
                    b.Property<bool>("IsDeleted")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasColumnName("IsDeleted");
                    b.Property<bool?>("IsDisabled")
                        .HasColumnType("tinyint(1)")
                        .HasComment("是否禁用");
                    b.Property<DateTime?>("LastModificationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("LastModificationTime");
                    b.Property<Guid?>("LastModifierId")
                        .HasColumnType("char(36)")
                        .HasColumnName("LastModifierId");
                    b.Property<string>("RedundantField1")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("冗余字段1 - é¢„留扩展用途");
                    b.Property<string>("RedundantField2")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("冗余字段2 - é¢„留扩展用途");
                    b.Property<string>("RedundantField3")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("冗余字段3 - é¢„留扩展用途");
                    b.Property<string>("Remark")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("StoreCode")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("仓库代码");
                    b.Property<string>("StoreName")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("仓库名称");
                    b.HasKey("Id");
                    b.HasIndex("AreaName");
                    b.ToTable("scms_wmsareas", (string)null);
                    b.HasComment("库区表");
                });
            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsContainerPlace.WmsContainerPlace", b =>
                {
                    b.Property<string>("PlaceNo")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("库位编码");
                    b.Property<string>("ContainerNo")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("托盘编号");
                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnName("ConcurrencyStamp")
                        .HasComment("并发戳");
                    b.Property<DateTime>("CreationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("CreationTime")
                        .HasComment("创建时间");
                    b.Property<Guid?>("CreatorId")
                        .HasMaxLength(36)
                        .HasColumnType("char(36)")
                        .HasColumnName("CreatorId")
                        .HasComment("创建人ID");
                    b.Property<string>("CreatorName")
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("创建人");
                    b.Property<string>("DeleteRemark")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("删除备注");
                    b.Property<Guid?>("DeleterId")
                        .HasMaxLength(36)
                        .HasColumnType("char(36)")
                        .HasColumnName("DeleterId")
                        .HasComment("删除人ID");
                    b.Property<DateTime?>("DeletionTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("DeletionTime")
                        .HasComment("删除时间");
                    b.Property<string>("ExtraField1")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("扩展字段1");
                    b.Property<string>("ExtraField2")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("扩展字段2");
                    b.Property<string>("ExtraField3")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("扩展字段3");
                    b.Property<string>("ExtraProperties")
                        .HasColumnType("longtext")
                        .HasColumnName("ExtraProperties")
                        .HasComment("扩展属性");
                    b.Property<Guid>("Id")
                        .HasColumnType("char(36)");
                    b.Property<bool>("IsDeleted")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasColumnName("IsDeleted")
                        .HasComment("是否删除");
                    b.Property<bool?>("IsDisabled")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasComment("是否禁用");
                    b.Property<DateTime?>("LastModificationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("LastModificationTime")
                        .HasComment("修改时间");
                    b.Property<Guid?>("LastModifierId")
                        .HasMaxLength(36)
                        .HasColumnType("char(36)")
                        .HasColumnName("LastModifierId")
                        .HasComment("修改人ID");
                    b.Property<string>("LastModifierName")
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("修改人");
                    b.Property<string>("OperationRemark")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("操作备注");
                    b.Property<string>("Remark")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .HasDefaultValue(0)
                        .HasComment("排序");
                    b.HasKey("PlaceNo", "ContainerNo");
                    b.HasIndex("ContainerNo");
                    b.HasIndex("PlaceNo");
                    b.ToTable("scms_wmscontainerplaces", (string)null);
                    b.HasComment("容器库位关系表");
                });
            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsContainers.WmsContainer", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");
                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnName("ConcurrencyStamp");
                    b.Property<string>("ContainerNo")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("托盘编号");
                    b.Property<int>("ContainerStatus")
                        .HasColumnType("int")
                        .HasComment("托盘状态");
                    b.Property<int>("ContainerType")
                        .HasColumnType("int")
                        .HasComment("托盘类型");
                    b.Property<DateTime>("CreationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("CreationTime");
                    b.Property<Guid?>("CreatorId")
                        .HasColumnType("char(36)")
                        .HasColumnName("CreatorId");
                    b.Property<Guid?>("DeleterId")
                        .HasColumnType("char(36)")
                        .HasColumnName("DeleterId");
                    b.Property<DateTime?>("DeletionTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("DeletionTime");
                    b.Property<int?>("ExceptionNumber")
                        .HasColumnType("int")
                        .HasComment("异常数量");
                    b.Property<string>("ExtraProperties")
                        .HasColumnType("longtext")
                        .HasColumnName("ExtraProperties");
                    b.Property<bool>("IsDeleted")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasColumnName("IsDeleted");
                    b.Property<bool?>("IsDisabled")
                        .HasColumnType("tinyint(1)")
                        .HasComment("是否禁用");
                    b.Property<DateTime?>("LastModificationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("LastModificationTime");
                    b.Property<Guid?>("LastModifierId")
                        .HasColumnType("char(36)")
                        .HasColumnName("LastModifierId");
                    b.Property<decimal?>("LimitHeight")
                        .HasPrecision(18, 2)
                        .HasColumnType("decimal(18,2)")
                        .HasComment("限高");
                    b.Property<decimal?>("LimitLength")
                        .HasPrecision(18, 2)
                        .HasColumnType("decimal(18,2)")
                        .HasComment("限长");
                    b.Property<decimal?>("LimitWidth")
                        .HasPrecision(18, 2)
                        .HasColumnType("decimal(18,2)")
                        .HasComment("限宽");
                    b.Property<int?>("MaterialNumber")
                        .HasColumnType("int")
                        .HasComment("物料数量");
                    b.Property<decimal?>("MaxWeight")
                        .HasPrecision(18, 2)
                        .HasColumnType("decimal(18,2)")
                        .HasComment("载重上限");
                    b.Property<string>("RedundantField1")
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasComment("冗余字段1 - é¢„留扩展用途");
                    b.Property<string>("RedundantField2")
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasComment("冗余字段2 - é¢„留扩展用途");
                    b.Property<string>("RedundantField3")
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasComment("冗余字段3 - é¢„留扩展用途");
                    b.Property<string>("Remark")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<decimal?>("SpecHeight")
                        .HasPrecision(18, 2)
                        .HasColumnType("decimal(18,2)")
                        .HasComment("高度");
                    b.Property<decimal?>("SpecLength")
                        .HasPrecision(18, 2)
                        .HasColumnType("decimal(18,2)")
                        .HasComment("长度");
                    b.Property<decimal?>("SpecWidth")
                        .HasPrecision(18, 2)
                        .HasColumnType("decimal(18,2)")
                        .HasComment("宽度");
                    b.HasKey("Id");
                    b.HasIndex("ContainerNo")
                        .IsUnique();
                    b.HasIndex("ContainerStatus");
                    b.HasIndex("ContainerType");
                    b.ToTable("scms_wmscontainers", (string)null);
                    b.HasComment("托盘信息表");
                });
            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsInOutStockOrder.WmsInOutStockOrder", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");
                    b.Property<int>("CompleteNumber")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .HasDefaultValue(0)
                        .HasComment("完成数量");
                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnName("ConcurrencyStamp");
                    b.Property<DateTime>("CreationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("CreationTime");
                    b.Property<Guid?>("CreatorId")
                        .HasColumnType("char(36)")
                        .HasColumnName("CreatorId");
                    b.Property<Guid?>("DeleterId")
                        .HasColumnType("char(36)")
                        .HasColumnName("DeleterId");
                    b.Property<DateTime?>("DeletionTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("DeletionTime");
                    b.Property<int>("DistributeNumber")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .HasDefaultValue(0)
                        .HasComment("下发数量");
                    b.Property<string>("ExtraProperties")
                        .HasColumnType("longtext")
                        .HasColumnName("ExtraProperties");
                    b.Property<bool>("IsDeleted")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasColumnName("IsDeleted");
                    b.Property<bool?>("IsDisabled")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasComment("是否禁用");
                    b.Property<DateTime?>("LastModificationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("LastModificationTime");
                    b.Property<Guid?>("LastModifierId")
                        .HasColumnType("char(36)")
                        .HasColumnName("LastModifierId");
                    b.Property<string>("MaterialBatch")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("批次号");
                    b.Property<string>("MaterialModel")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("型号");
                    b.Property<string>("MaterialName")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("物料名称");
                    b.Property<string>("MaterialNo")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("物料件号");
                    b.Property<int>("MaterialNumber")
                        .HasColumnType("int")
                        .HasComment("单据数量");
                    b.Property<DateTime?>("OperateTime")
                        .HasColumnType("datetime(6)")
                        .HasComment("操作时间");
                    b.Property<string>("OrderNo")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("单据编号");
                    b.Property<int>("OrderStatus")
                        .HasColumnType("int")
                        .HasComment("单据状态");
                    b.Property<int>("OrderType")
                        .HasColumnType("int")
                        .HasComment("单据类型");
                    b.Property<string>("PlanNo")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("关联计划编号");
                    b.Property<int>("Priority")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .HasDefaultValue(1)
                        .HasComment("优先级");
                    b.Property<string>("Remark")
                        .HasMaxLength(500)
                        .HasColumnType("varchar(500)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .HasDefaultValue(0)
                        .HasComment("排序");
                    b.Property<int>("StockType")
                        .HasColumnType("int")
                        .HasComment("操作类型(枚举值)");
                    b.HasKey("Id");
                    b.HasIndex("MaterialBatch");
                    b.HasIndex("MaterialNo");
                    b.HasIndex("OperateTime");
                    b.HasIndex("OrderNo")
                        .IsUnique();
                    b.HasIndex("PlanNo");
                    b.ToTable("scms_wmsinoutstockorder", (string)null);
                    b.HasComment("出入库单据表");
                });
            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsInOutStockOrderDetail.WmsInOutStockOrderDetail", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");
                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnName("ConcurrencyStamp");
                    b.Property<string>("ContainerNo")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("容器编号");
                    b.Property<DateTime>("CreationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("CreationTime");
                    b.Property<Guid?>("CreatorId")
                        .HasColumnType("char(36)")
                        .HasColumnName("CreatorId");
                    b.Property<Guid?>("DeleterId")
                        .HasColumnType("char(36)")
                        .HasColumnName("DeleterId");
                    b.Property<DateTime?>("DeletionTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("DeletionTime");
                    b.Property<string>("ExtraProperties")
                        .HasColumnType("longtext")
                        .HasColumnName("ExtraProperties");
                    b.Property<bool>("IsDeleted")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasColumnName("IsDeleted");
                    b.Property<bool?>("IsDisabled")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasComment("是否禁用");
                    b.Property<DateTime?>("LastModificationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("LastModificationTime");
                    b.Property<Guid?>("LastModifierId")
                        .HasColumnType("char(36)")
                        .HasColumnName("LastModifierId");
                    b.Property<string>("MaterialBatch")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("物料批次");
                    b.Property<string>("MaterialId")
                        .IsRequired()
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("物料唯一码");
                    b.Property<string>("MaterialModel")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("机型");
                    b.Property<string>("MaterialName")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("物料名称");
                    b.Property<string>("MaterialNo")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("物料件号");
                    b.Property<string>("OrderNo")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("单据编号");
                    b.Property<int>("OrderType")
                        .HasColumnType("int")
                        .HasComment("单据类型(枚举值)");
                    b.Property<string>("Remark")
                        .HasMaxLength(500)
                        .HasColumnType("varchar(500)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .HasDefaultValue(0)
                        .HasComment("排序");
                    b.HasKey("Id");
                    b.HasIndex("ContainerNo");
                    b.HasIndex("MaterialId");
                    b.HasIndex("MaterialNo");
                    b.HasIndex("OrderNo");
                    b.HasIndex("OrderNo", "OrderType");
                    b.ToTable("scms_wmsinoutstockorderdetail", (string)null);
                    b.HasComment("出入库单据明细表");
                });
            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsInOutStockRecord.WmsInOutStockRecord", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");
                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnName("ConcurrencyStamp");
                    b.Property<string>("ContainerNo")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("容器编号");
                    b.Property<DateTime>("CreationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("CreationTime");
                    b.Property<Guid?>("CreatorId")
                        .HasColumnType("char(36)")
                        .HasColumnName("CreatorId");
                    b.Property<Guid?>("DeleterId")
                        .HasColumnType("char(36)")
                        .HasColumnName("DeleterId");
                    b.Property<DateTime?>("DeletionTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("DeletionTime");
                    b.Property<string>("ExtraProperties")
                        .HasColumnType("longtext")
                        .HasColumnName("ExtraProperties");
                    b.Property<bool>("IsDeleted")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasColumnName("IsDeleted");
                    b.Property<bool?>("IsDisabled")
                        .HasColumnType("tinyint(1)")
                        .HasComment("是否禁用");
                    b.Property<DateTime?>("LastModificationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("LastModificationTime");
                    b.Property<Guid?>("LastModifierId")
                        .HasColumnType("char(36)")
                        .HasColumnName("LastModifierId");
                    b.Property<string>("MaterialBatch")
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("物料批次");
                    b.Property<string>("MaterialId")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("物料ID");
                    b.Property<string>("MaterialModel")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("机型");
                    b.Property<string>("MaterialName")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("物料名称");
                    b.Property<string>("MaterialNo")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("物料件号");
                    b.Property<DateTime?>("OperateTime")
                        .HasColumnType("datetime(6)")
                        .HasComment("操作时间");
                    b.Property<string>("OrderNo")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("单据编号");
                    b.Property<string>("Remark")
                        .HasMaxLength(500)
                        .HasColumnType("varchar(500)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("SourcePlace")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("起始库位");
                    b.Property<int>("StockType")
                        .HasColumnType("int")
                        .HasComment("操作类型");
                    b.Property<string>("TaskNo")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("任务号");
                    b.Property<string>("ToPlace")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("目标库位");
                    b.HasKey("Id");
                    b.HasIndex("ContainerNo");
                    b.HasIndex("MaterialId");
                    b.HasIndex("MaterialNo");
                    b.HasIndex("OperateTime");
                    b.HasIndex("OrderNo");
                    b.HasIndex("StockType");
                    b.HasIndex("TaskNo");
                    b.ToTable("scms_wmsinoutstockrecords", (string)null);
                    b.HasComment("出入库记录表");
                });
            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterialContainer.WmsMaterialContainer", b =>
                {
                    b.Property<string>("MaterialId")
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("物料ID");
                    b.Property<string>("ContainerNo")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("托盘编号");
                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnName("ConcurrencyStamp");
                    b.Property<DateTime>("CreationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("CreationTime");
                    b.Property<Guid?>("CreatorId")
                        .HasColumnType("char(36)")
                        .HasColumnName("CreatorId");
                    b.Property<Guid?>("DeleterId")
                        .HasColumnType("char(36)")
                        .HasColumnName("DeleterId");
                    b.Property<DateTime?>("DeletionTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("DeletionTime");
                    b.Property<string>("ExtraProperties")
                        .HasColumnType("longtext")
                        .HasColumnName("ExtraProperties");
                    b.Property<Guid>("Id")
                        .HasColumnType("char(36)");
                    b.Property<bool>("IsDeleted")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasColumnName("IsDeleted");
                    b.Property<bool?>("IsDisabled")
                        .HasColumnType("tinyint(1)");
                    b.Property<DateTime?>("LastModificationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("LastModificationTime");
                    b.Property<Guid?>("LastModifierId")
                        .HasColumnType("char(36)")
                        .HasColumnName("LastModifierId");
                    b.Property<int>("Sort")
                        .HasColumnType("int");
                    b.HasKey("MaterialId", "ContainerNo");
                    b.HasIndex("ContainerNo");
                    b.HasIndex("MaterialId");
                    b.ToTable("scms_wmsmaterialcontainer", (string)null);
                    b.HasComment("物料容器关系表");
                });
            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterialInfos.WmsMaterialInfo", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");
                    b.Property<int?>("CheckStatus")
                        .HasColumnType("int")
                        .HasComment("检验状态(0:未检验,1:检验通过,2:检验不通过)");
                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnName("ConcurrencyStamp");
                    b.Property<DateTime>("CreationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("CreationTime");
                    b.Property<Guid?>("CreatorId")
                        .HasColumnType("char(36)")
                        .HasColumnName("CreatorId");
                    b.Property<Guid?>("DeleterId")
                        .HasColumnType("char(36)")
                        .HasColumnName("DeleterId");
                    b.Property<DateTime?>("DeletionTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("DeletionTime");
                    b.Property<string>("ExtraProperties")
                        .HasColumnType("longtext")
                        .HasColumnName("ExtraProperties");
                    b.Property<bool>("IsDeleted")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasColumnName("IsDeleted");
                    b.Property<bool?>("IsDisabled")
                        .HasColumnType("tinyint(1)")
                        .HasComment("是否禁用");
                    b.Property<DateTime?>("LastModificationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("LastModificationTime");
                    b.Property<Guid?>("LastModifierId")
                        .HasColumnType("char(36)")
                        .HasColumnName("LastModifierId");
                    b.Property<string>("MaterialBatch")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("物料批号");
                    b.Property<string>("MaterialId")
                        .IsRequired()
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("物料唯一码");
                    b.Property<string>("MaterialModel")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("机型/规格");
                    b.Property<string>("MaterialName")
                        .IsRequired()
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("物料名称");
                    b.Property<string>("MaterialNo")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("物料代号");
                    b.Property<string>("RedundantField1")
                        .HasMaxLength(255)
                        .HasColumnType("varchar(255)")
                        .HasComment("冗余字段1");
                    b.Property<string>("RedundantField2")
                        .HasMaxLength(255)
                        .HasColumnType("varchar(255)")
                        .HasComment("冗余字段2");
                    b.Property<string>("RedundantField3")
                        .HasMaxLength(255)
                        .HasColumnType("varchar(255)")
                        .HasComment("冗余字段3");
                    b.Property<string>("Remark")
                        .HasMaxLength(500)
                        .HasColumnType("varchar(500)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .HasDefaultValue(0)
                        .HasComment("排序");
                    b.Property<int?>("StockNumber")
                        .HasColumnType("int")
                        .HasComment("库存数量");
                    b.Property<string>("SupplierCode")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("供应商编号");
                    b.HasKey("Id");
                    b.HasIndex("CheckStatus");
                    b.HasIndex("MaterialBatch");
                    b.HasIndex("MaterialId")
                        .IsUnique();
                    b.HasIndex("MaterialName");
                    b.HasIndex("MaterialNo")
                        .IsUnique();
                    b.HasIndex("SupplierCode");
                    b.ToTable("scms_wmsmaterialinfos", (string)null);
                    b.HasComment("WMS物料信息表");
                });
            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterials.WmsMaterial", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");
                    b.Property<string>("Certification")
                        .HasMaxLength(128)
                        .HasColumnType("varchar(128)")
                        .HasComment("证书编号");
                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnName("ConcurrencyStamp");
                    b.Property<DateTime>("CreationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("CreationTime");
                    b.Property<Guid?>("CreatorId")
                        .HasColumnType("char(36)")
                        .HasColumnName("CreatorId");
                    b.Property<Guid?>("DeleterId")
                        .HasColumnType("char(36)")
                        .HasColumnName("DeleterId");
                    b.Property<DateTime?>("DeletionTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("DeletionTime");
                    b.Property<string>("ExtraProperties")
                        .HasColumnType("longtext")
                        .HasColumnName("ExtraProperties");
                    b.Property<string>("Factory")
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("生产工厂");
                    b.Property<bool>("IsDeleted")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasColumnName("IsDeleted");
                    b.Property<bool?>("IsDisabled")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasComment("是否禁用");
                    b.Property<int>("IsMainBranch")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .HasDefaultValue(0)
                        .HasComment("是否为主支管");
                    b.Property<DateTime?>("LastModificationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("LastModificationTime");
                    b.Property<Guid?>("LastModifierId")
                        .HasColumnType("char(36)")
                        .HasColumnName("LastModifierId");
                    b.Property<decimal>("Length")
                        .HasColumnType("decimal(18,2)")
                        .HasComment("长度(单位:m)");
                    b.Property<string>("MaterialModel")
                        .HasMaxLength(128)
                        .HasColumnType("varchar(128)")
                        .HasComment("型号");
                    b.Property<string>("MaterialName")
                        .IsRequired()
                        .HasMaxLength(128)
                        .HasColumnType("varchar(128)")
                        .HasComment("物料名称");
                    b.Property<string>("MaterialNo")
                        .IsRequired()
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("物料编码(唯一标识)");
                    b.Property<string>("MaterialQuality")
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("材质(如:304不锈钢)");
                    b.Property<int>("MaterialType")
                        .HasColumnType("int")
                        .HasComment("物料类型(枚举值)");
                    b.Property<decimal>("OuterDiameter")
                        .HasColumnType("decimal(18,2)")
                        .HasComment("外径(单位:mm)");
                    b.Property<string>("PrimaryUnit")
                        .HasMaxLength(20)
                        .HasColumnType("varchar(20)")
                        .HasComment("主单位(如:kg、m、个)");
                    b.Property<int>("PurchaseType")
                        .HasColumnType("int")
                        .HasComment("采购类型(枚举值)");
                    b.Property<string>("RedundantField1")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("冗余字段1 - é¢„留扩展用途");
                    b.Property<string>("RedundantField2")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("冗余字段2 - é¢„留扩展用途");
                    b.Property<string>("RedundantField3")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("冗余字段3 - é¢„留扩展用途");
                    b.Property<string>("Remark")
                        .HasMaxLength(500)
                        .HasColumnType("varchar(500)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .HasDefaultValue(0)
                        .HasComment("排序");
                    b.Property<string>("Standard")
                        .HasMaxLength(128)
                        .HasColumnType("varchar(128)")
                        .HasComment("规格/标准(如:GB/T 8163-2018)");
                    b.Property<decimal>("WallThickness")
                        .HasColumnType("decimal(18,2)")
                        .HasComment("壁厚(单位:mm)");
                    b.HasKey("Id");
                    b.HasIndex("MaterialName");
                    b.HasIndex("MaterialNo")
                        .IsUnique();
                    b.HasIndex("MaterialType");
                    b.HasIndex("PurchaseType");
                    b.ToTable("scms_wmsmaterials", (string)null);
                    b.HasComment("物料基础信息表");
                });
            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterialStocks.WmsMaterialStock", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");
                    b.Property<string>("AreaCode")
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("区域编号");
                    b.Property<string>("AreaName")
                        .HasMaxLength(128)
                        .HasColumnType("varchar(128)")
                        .HasComment("库区名称");
                    b.Property<int?>("CheckStatus")
                        .HasColumnType("int")
                        .HasComment("检验状态(1:未检验,2:检验通过,3:检验不通过)");
                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnName("ConcurrencyStamp");
                    b.Property<string>("ContainerNo")
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("容器编号");
                    b.Property<int>("ContainerStatus")
                        .HasColumnType("int")
                        .HasComment("容器状态");
                    b.Property<int>("ContainerType")
                        .HasColumnType("int")
                        .HasComment("容器类型");
                    b.Property<DateTime>("CreationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("CreationTime");
                    b.Property<Guid?>("CreatorId")
                        .HasColumnType("char(36)")
                        .HasColumnName("CreatorId");
                    b.Property<Guid?>("DeleterId")
                        .HasColumnType("char(36)")
                        .HasColumnName("DeleterId");
                    b.Property<DateTime?>("DeletionTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("DeletionTime");
                    b.Property<int>("EmptyContainer")
                        .HasColumnType("int")
                        .HasComment("是否空托(2:否,1:是)");
                    b.Property<string>("ExtraProperties")
                        .HasColumnType("longtext")
                        .HasColumnName("ExtraProperties");
                    b.Property<DateTime?>("InStockTime")
                        .HasColumnType("datetime(6)")
                        .HasComment("入库时间");
                    b.Property<bool>("IsDeleted")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasColumnName("IsDeleted");
                    b.Property<bool?>("IsDisabled")
                        .HasColumnType("tinyint(1)")
                        .HasComment("是否禁用");
                    b.Property<int>("IsLock")
                        .HasColumnType("int")
                        .HasComment("是否锁定(2:未锁定,1:已锁定)");
                    b.Property<DateTime?>("LastModificationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("LastModificationTime");
                    b.Property<Guid?>("LastModifierId")
                        .HasColumnType("char(36)")
                        .HasColumnName("LastModifierId");
                    b.Property<string>("MaterialBatch")
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("物料批次");
                    b.Property<string>("MaterialId")
                        .IsRequired()
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("物料ID");
                    b.Property<string>("MaterialModel")
                        .HasMaxLength(128)
                        .HasColumnType("varchar(128)")
                        .HasComment("机型/规格");
                    b.Property<string>("MaterialName")
                        .IsRequired()
                        .HasMaxLength(128)
                        .HasColumnType("varchar(128)")
                        .HasComment("物料名称");
                    b.Property<string>("MaterialNo")
                        .IsRequired()
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("物料编号");
                    b.Property<string>("PlaceNo")
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("库位编号");
                    b.Property<int>("PlaceStatus")
                        .HasColumnType("int")
                        .HasComment("库位状态;");
                    b.Property<string>("RedundantField1")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("冗余字段1 - é¢„留扩展用途");
                    b.Property<string>("RedundantField2")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("冗余字段2 - é¢„留扩展用途");
                    b.Property<string>("RedundantField3")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("冗余字段3 - é¢„留扩展用途");
                    b.Property<string>("Remark")
                        .HasMaxLength(500)
                        .HasColumnType("varchar(500)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .HasDefaultValue(0)
                        .HasComment("排序");
                    b.Property<int>("StockNumber")
                        .HasColumnType("int")
                        .HasComment("库存数量");
                    b.Property<int>("StorageTypeNo")
                        .HasColumnType("int")
                        .HasComment("库位类型");
                    b.Property<string>("SupplierCode")
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("供应商编号");
                    b.HasKey("Id");
                    b.HasIndex("AreaCode");
                    b.HasIndex("ContainerNo");
                    b.HasIndex("MaterialName");
                    b.HasIndex("MaterialNo");
                    b.HasIndex("PlaceNo");
                    b.HasIndex("MaterialBatch", "SupplierCode");
                    b.ToTable("scms_wmsmaterialstocks", (string)null);
                    b.HasComment("WMS物料库存表");
                });
            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsPlaces.WmsPlace", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");
                    b.Property<int>("Aisle")
                        .HasColumnType("int")
                        .HasComment("巷道");
                    b.Property<string>("AreaCode")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("所在库区");
                    b.Property<int>("ColumnNo")
                        .HasColumnType("int")
                        .HasComment("列");
                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnName("ConcurrencyStamp");
                    b.Property<DateTime>("CreationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("CreationTime");
                    b.Property<Guid?>("CreatorId")
                        .HasColumnType("char(36)")
                        .HasColumnName("CreatorId");
                    b.Property<Guid?>("DeleterId")
                        .HasColumnType("char(36)")
                        .HasColumnName("DeleterId");
                    b.Property<DateTime?>("DeletionTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("DeletionTime");
                    b.Property<int>("EmptyContainer")
                        .HasColumnType("int")
                        .HasComment("是否空托");
                    b.Property<string>("ExtraProperties")
                        .HasColumnType("longtext")
                        .HasColumnName("ExtraProperties");
                    b.Property<bool>("IsDeleted")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasColumnName("IsDeleted");
                    b.Property<bool?>("IsDisabled")
                        .HasColumnType("tinyint(1)")
                        .HasComment("是否禁用");
                    b.Property<int>("Islock")
                        .HasColumnType("int")
                        .HasComment("是否锁定");
                    b.Property<DateTime?>("LastModificationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("LastModificationTime");
                    b.Property<Guid?>("LastModifierId")
                        .HasColumnType("char(36)")
                        .HasColumnName("LastModifierId");
                    b.Property<int>("LayerNo")
                        .HasColumnType("int")
                        .HasComment("层");
                    b.Property<int>("MaxStockNumber")
                        .HasColumnType("int")
                        .HasComment("最大库存量");
                    b.Property<string>("PlaceNo")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("编号");
                    b.Property<int>("PlaceStatus")
                        .HasColumnType("int")
                        .HasComment("货位状态");
                    b.Property<string>("RedundantField1")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("冗余字段1 - é¢„留扩展用途");
                    b.Property<string>("RedundantField2")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("冗余字段2 - é¢„留扩展用途");
                    b.Property<string>("RedundantField3")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("冗余字段3 - é¢„留扩展用途");
                    b.Property<string>("Remark")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("备注");
                    b.Property<int>("RowNo")
                        .HasColumnType("int")
                        .HasComment("排");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<int>("StorageTypeNo")
                        .HasColumnType("int")
                        .HasComment("货位类型");
                    b.HasKey("Id");
                    b.HasIndex("AreaCode");
                    b.HasIndex("PlaceNo")
                        .IsUnique();
                    b.HasIndex("PlaceStatus");
                    b.HasIndex("StorageTypeNo");
                    b.ToTable("scms_wmsplaces", (string)null);
                    b.HasComment("库位表");
                });
            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsStores.WmsStore", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");
                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnName("ConcurrencyStamp");
                    b.Property<DateTime>("CreationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("CreationTime");
                    b.Property<Guid?>("CreatorId")
                        .HasColumnType("char(36)")
                        .HasColumnName("CreatorId");
                    b.Property<Guid?>("DeleterId")
                        .HasColumnType("char(36)")
                        .HasColumnName("DeleterId");
                    b.Property<DateTime?>("DeletionTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("DeletionTime");
                    b.Property<string>("ExtraProperties")
                        .HasColumnType("longtext")
                        .HasColumnName("ExtraProperties");
                    b.Property<bool>("IsDeleted")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasColumnName("IsDeleted");
                    b.Property<bool?>("IsDisabled")
                        .HasColumnType("tinyint(1)")
                        .HasComment("是否禁用");
                    b.Property<DateTime?>("LastModificationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("LastModificationTime");
                    b.Property<Guid?>("LastModifierId")
                        .HasColumnType("char(36)")
                        .HasColumnName("LastModifierId");
                    b.Property<string>("RedundantField1")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("冗余字段1 - é¢„留扩展用途");
                    b.Property<string>("RedundantField2")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("冗余字段2 - é¢„留扩展用途");
                    b.Property<string>("RedundantField3")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("冗余字段3 - é¢„留扩展用途");
                    b.Property<string>("Remark")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("StoreCode")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("仓库代码");
                    b.Property<string>("StoreName")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("仓库名称");
                    b.HasKey("Id");
                    b.HasIndex("StoreName");
                    b.ToTable("scms_wmsstores", (string)null);
                    b.HasComment("仓库信息表");
                });
            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsTask.WmsTask", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");
                    b.Property<int?>("Aisle")
                        .HasColumnType("int")
                        .HasComment("巷道");
                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnName("ConcurrencyStamp");
                    b.Property<string>("ContainerNo")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("托盘编号");
                    b.Property<DateTime>("CreationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("CreationTime");
                    b.Property<Guid?>("CreatorId")
                        .HasColumnType("char(36)")
                        .HasColumnName("CreatorId");
                    b.Property<Guid?>("DeleterId")
                        .HasColumnType("char(36)")
                        .HasColumnName("DeleterId");
                    b.Property<DateTime?>("DeletionTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("DeletionTime");
                    b.Property<int?>("DodeviceId")
                        .HasColumnType("int")
                        .HasComment("堆垛机ID");
                    b.Property<int>("Dodevicetype")
                        .HasColumnType("int")
                        .HasComment("设备类型");
                    b.Property<string>("ExtraProperties")
                        .HasColumnType("longtext")
                        .HasColumnName("ExtraProperties");
                    b.Property<bool>("IsDeleted")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasColumnName("IsDeleted");
                    b.Property<bool?>("IsDisabled")
                        .HasColumnType("tinyint(1)")
                        .HasComment("是否禁用");
                    b.Property<int?>("IsNextTask")
                        .HasColumnType("int")
                        .HasComment("下个任务是否生成成功");
                    b.Property<bool>("IsRead")
                        .HasColumnType("tinyint(1)")
                        .HasComment("WCS是否可以读取");
                    b.Property<DateTime?>("LastModificationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("LastModificationTime");
                    b.Property<Guid?>("LastModifierId")
                        .HasColumnType("char(36)")
                        .HasColumnName("LastModifierId");
                    b.Property<string>("MutableParam1")
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasComment("可变变量1");
                    b.Property<string>("MutableParam2")
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasComment("可变变量2");
                    b.Property<string>("MutableParam3")
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasComment("可变变量3");
                    b.Property<int>("PlcTaskId")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .HasDefaultValue(0)
                        .HasComment("任务状态");
                    b.Property<int?>("SonTaskType")
                        .HasColumnType("int")
                        .HasComment("子任务类型");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("SourceOrderNo")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("来源单据号");
                    b.Property<string>("SourcePlace")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("起始库位");
                    b.Property<int>("TaskDodeviceStatus")
                        .HasColumnType("int")
                        .HasComment("设备任务状态");
                    b.Property<int>("TaskLevel")
                        .HasColumnType("int")
                        .HasComment("任务等级");
                    b.Property<string>("TaskNo")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("任务号");
                    b.Property<int>("TaskStatus")
                        .HasColumnType("int")
                        .HasComment("任务状态");
                    b.Property<int>("TaskType")
                        .HasColumnType("int")
                        .HasComment("任务类型");
                    b.Property<string>("ToPlace")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("目标库位");
                    b.HasKey("Id");
                    b.HasIndex("ContainerNo");
                    b.HasIndex("DodeviceId");
                    b.HasIndex("IsRead");
                    b.HasIndex("Sort");
                    b.HasIndex("SourceOrderNo");
                    b.HasIndex("SourcePlace");
                    b.HasIndex("TaskNo")
                        .IsUnique();
                    b.HasIndex("TaskStatus");
                    b.HasIndex("TaskType");
                    b.HasIndex("ToPlace");
                    b.ToTable("scms_wmstasks", (string)null);
                    b.HasComment("任务表");
                });
#pragma warning restore 612, 618
        }
    }
}
HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250512042203_InitialCreate15.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace CMS.Plugin.HIAWms.MySQL.Migrations
{
    public partial class InitialCreate15 : Migration
    {
        protected override void Up(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.AddColumn<int>(
                name: "PlcTaskId",
                table: "scms_wmstasks",
                type: "int",
                nullable: false,
                defaultValue: 0,
                comment: "任务状态");
        }
        protected override void Down(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.DropColumn(
                name: "PlcTaskId",
                table: "scms_wmstasks");
        }
    }
}
HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs
@@ -1706,6 +1706,12 @@
                        .HasColumnType("varchar(200)")
                        .HasComment("可变变量3");
                    b.Property<int>("PlcTaskId")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .HasDefaultValue(0)
                        .HasComment("任务状态");
                    b.Property<int?>("SonTaskType")
                        .HasColumnType("int")
                        .HasComment("子任务类型");
HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Scripts/UpdateMigrations.bat
@@ -1,5 +1,5 @@
cd ../
dotnet ef migrations add InitialCreate14 -c CMSPluginDbContext -o Migrations
dotnet ef migrations add InitialCreate15 -c CMSPluginDbContext -o Migrations
::dotnet ef migrations add Update1 -c CMSPluginDbContext -o Migrations
::dotnet ef migrations add Update2 -c CMSPluginDbContext -o Migrations
::dotnet ef migrations add Update3 -c CMSPluginDbContext -o Migrations
HIAWms/server/src/CMS.Plugin.HIAWms/Controller/LMesOperateController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,40 @@
using CMS.Extensions.Abp.AspNetCore.Mvc.Filters;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.CommonDto;
using CMS.Plugin.HIAWms.Application.Contracts.Services;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CMS.Plugin.HIAWms.Controller
{
    [ApiController]
    [TypeFilter(typeof(CMSLanguageFilter))]
    [TypeFilter(typeof(CMSUowActionFilter))]
    [TypeFilter(typeof(CMSAuditActionFilter))]
    [TypeFilter(typeof(CMSExceptionFilter))]
    [Route("api/v{version:apiVersion}/HIAWms/[controller]")]
    public class LMesOperateController : ControllerBase
    {
        private readonly ILMesOperateAppService _mesOperateAppService;
        public LMesOperateController(ILMesOperateAppService mesOperateAppService)
        {
            _mesOperateAppService = mesOperateAppService;
        }
        /// <summary>
        /// LMes叫料
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("LMesCallMaterial")]
        public async Task<List<CallMaterialOutput>> LMesCallMaterialAsync(List<LMesCallMaterialInput> input)
        {
            return await _mesOperateAppService.LMesCallMaterialAsync(input);
        }
    }
}
HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsInsStockController.cs
@@ -1,6 +1,8 @@
using CMS.Extensions.Abp.AspNetCore.Mvc.Filters;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.BindInstockDto;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsPlaces;
using CMS.Plugin.HIAWms.Application.Contracts.Services;
using CMS.Plugin.MaterialManagement.Abstractions.Models;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
@@ -22,10 +24,12 @@
    public class WmsInsStockController
    {
        private readonly IWmsBindInStockAppService _wmsBindInStockAppService;
        private readonly IWmsCommonAppService _wmsCommonAppService;
        public WmsInsStockController(IWmsBindInStockAppService wmsBindInStockAppService)
        public WmsInsStockController(IWmsBindInStockAppService wmsBindInStockAppService, IWmsCommonAppService wmsCommonAppService)
        {
            _wmsBindInStockAppService = wmsBindInStockAppService;
            _wmsCommonAppService = wmsCommonAppService;
        }
        /// <summary>
@@ -51,5 +55,27 @@
        {
            await _wmsBindInStockAppService.BindInStockAsync(input);
        }
        /// <summary>
        /// æŸ¥æ‰¾ç©ºåº“位
        /// </summary>
        /// <param name="materialModel"></param>
        /// <param name="requiredNum"></param>
        /// <param name="materialNo"></param>
        /// <returns></returns>
        [HttpGet]
        [Route("FindEmptyPlace")]
        public async Task<List<string>> FindEmptyPlaceAsync(string materialModel, int requiredNum, string materialNo = "")
        {
            var result = await _wmsCommonAppService.FindAvailablePlacesAsync(materialModel, requiredNum, materialNo = "");
            List<string> placeList = new List<string>();
            foreach (var place in result)
            {
                string v = $"Key={place.Key},Value={place.Value}";
                var str = v;
                placeList.Add(str);
            }
            return placeList;
        }
    }
}
HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsOutStockController.cs
@@ -1,4 +1,5 @@
using CMS.Extensions.Abp.AspNetCore.Mvc.Filters;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.CommonDto;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.OutStockDto;
using CMS.Plugin.HIAWms.Application.Contracts.Services;
using Microsoft.AspNetCore.Mvc;
@@ -35,9 +36,9 @@
        /// <returns></returns>
        [HttpPost]
        [Route("CallMaterial")]
        public async Task CallMaterialAsync(List<CallMaterialInput> input)
        public async Task<List<CallMaterialOutput>> CallMaterialAsync(List<CallMaterialInput> input)
        {
            await _wmsOutStockAppService.CallMaterialAsync(input);
            return await _wmsOutStockAppService.CallMaterialAsync(input);
        }
    }
}