1
wangxinhui
2025-01-16 5ab6b36c0c4bd80a31dcdd9f15cc835b7352c4e7
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/MesOutboundOrderService.cs
@@ -20,6 +20,8 @@
using WIDESEA_IBasicService;
using WIDESEA_Common.LocationEnum;
using WIDESEA_IRecordService;
using WIDESEA_Common.StockEnum;
using WIDESEA_Common.TaskEnum;
namespace WIDESEA_OutboundService
{
@@ -104,6 +106,9 @@
        {
            try
            {
                stockInfos.ForEach(x => {
                    x.StockStatus = StockStatusEmun.出库锁定.ObjToInt();
                });
                _stockService.StockInfoService.Repository.UpdateData(stockInfos);
                List<Dt_StockInfoDetail> stockInfoDetails = new List<Dt_StockInfoDetail>();
                foreach (var item in stockInfos)
@@ -140,5 +145,54 @@
                return WebResponseContent.Instance.Error(ex.Message);
            }
        }
        public WebResponseContent AddMesOrder(SubstrateOutModel substrateOutModel)
        {
            try
            {
                Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA57.ToString());
                if (warehouse == null)
                {
                    return WebResponseContent.Instance.Error($"仓库基础信息未配置");
                }
                Dt_MaterielInfo materielInfo = _basicRepository.MaterielInfoRepository.QueryFirst(x => x.MaterielCode == substrateOutModel.MaterialCode);
                if (materielInfo == null)
                {
                    return WebResponseContent.Instance.Error($"未找到该物料信息");
                }
                int orderType = 0;
                if(substrateOutModel.Line == "1011")
                {
                    orderType = MesOutboundOrderTypeEnum.HandSubstrateOutPick.ObjToInt();
                }
                else
                {
                    orderType = MesOutboundOrderTypeEnum.HandSubstrateOut.ObjToInt();
                }
                Dt_MesOutboundOrder mesOutboundOrder = new Dt_MesOutboundOrder()
                {
                    CreateType = OrderCreateTypeEnum.CreateInSystem.ObjToInt(),
                    Line = substrateOutModel.Line,
                    MaterialCode = substrateOutModel.MaterialCode,
                    MaterialName = materielInfo.MaterielName,
                    OrderQuantity = substrateOutModel.RequiredQuantity,
                    TaskNo = DateTime.Now.ToString("yyyyMMddHHmmss"),
                    Unit = substrateOutModel.Unit,
                    OrderType = orderType,
                    OrderStatus = OutOrderStatusEnum.未开始.ObjToInt(),
                    WarehouseId = warehouse.WarehouseId
                };
                AddData(mesOutboundOrder);
                return WebResponseContent.Instance.OK();
            }
            catch (Exception ex)
            {
                return WebResponseContent.Instance.Error(ex.Message);
            }
        }
    }
}