pengmn
2025-06-23 f398a14e78be869dbe96746bada7be3fc2b0b223
HH.WCS.Mobox3.HangYang/process/TaskProcess.cs
@@ -385,44 +385,25 @@
            {
                if (model == null)
                {
                    result.errMsg = "入库单不可为空值!";
                    result.errMsg = "物料主数据不可为空值!";
                    return result;
                }
                var materialList = new List<TN_Material>();
                //foreach (var item in model.InOrderDetail)
                //{
                //    var itemType = WMSHelper.GetItemType(item.S_ITEM_CODE);
                //    if (itemType == null)
                //    {
                //        result.errMsg = $"未查询到物料{item.S_ITEM_CODE}的物料属性!";
                //        return result;
                //    }
                //    item.S_EXT_ATTR1 = itemType.S_ITEM_TYPE;
                //}
                //var groupedInOrders = model.InOrderDetail
                //                      .GroupBy(detail => detail.S_EXT_ATTR1) // 按物料属性分组
                //                      .Select((group, index) => new InOrder
                //                      {
                //                          S_NO = $"{model.S_BS_NO}_{index + 1}", // 拼接来源单号
                //                          S_BS_NO = model.S_BS_NO,
                //                          S_OP_TYPE = model.S_OP_TYPE,
                //                          S_BS_TYPE = model.S_BS_TYPE,
                //                          S_NOTE = model.S_NOTE,
                //                          InOrderDetail = group.Select(detail =>
                //                          {
                //                              // 修改 group 中的 S_IO_NO 字段为 S_NO 的值
                //                              detail.S_IO_NO = $"{model.S_BS_NO}_{index + 1}";
                //                              detail.S_BS_NO = model.S_BS_NO;
                //                              return detail;
                //                          }).ToList() // 分组后的明细
                //                      })
                //                      .ToList();
                //var res = WMSHelper.CreateOrderIn(groupedInOrders);
                //if (res)
                //{
                //    result.success = true;
                //}
                foreach (var item in model)
                {
                    materialList.Add(new TN_Material
                    {
                        S_ITEM_CODE = item.S_ITEM_CODE,
                        S_ITEM_NAME = item.S_ITEM_NAME,
                        S_ITEM_TYPE = item.S_AREA_CODE,
                        S_ITEM_SPEC = item.S_MATERIAL_SPEC,
                        S_MATERIAL = item.S_MATERIAL,
                        S_UOM = item.S_UOM,
                        C_CLEAN = item.C_CLEAN,
                    });
                }
                WMSHelper.CreateMaterialData(materialList);
                return result;
            }
            catch (Exception ex)
@@ -433,7 +414,7 @@
                var frame = st.GetFrame(0); // 获取第一个堆栈帧
                if (frame != null)
                {
                    LogHelper.Error($"GetInboundOrder入库单新增出现错误!!", ex);
                    LogHelper.Error($"GetMaterialData物料主数据新增出现错误!!", ex);
                    LogHelper.Error($"文件名: {frame.GetFileName()}", ex);
                    LogHelper.Error($"行号: {frame.GetFileLineNumber()}", ex);
                    LogHelper.Error($"列号: {frame.GetFileColumnNumber()}", ex);
@@ -444,7 +425,7 @@
        }
        /// <summary>
        /// 入库单新增
        /// 入库单新增以及修改
        /// </summary>
        /// <param name="model">入库单</param>
        /// <returns></returns>
@@ -518,9 +499,9 @@
        }
        /// <summary>
        /// 出库单新增
        /// 出库单新增以及修改
        /// </summary>
        /// <param name="model">入库单</param>
        /// <param name="model">出库单</param>
        /// <returns></returns>
        public static Result GetOutboundOrder(OutOrder model)
        {
@@ -600,6 +581,85 @@
            }
        }
        /// <summary>
        /// 入库单取消
        /// </summary>
        /// <param name="model">入库单</param>
        /// <returns></returns>
        public static Result CancelInboundOrder(InOrder model)
        {
            Result result = new Result() { success = false, };
            try
            {
                if (model == null || !model.OrderDetail.Any())
                {
                    result.errMsg = "入库单取消不可为空值!";
                    return result;
                }
                var res = WMSHelper.CancelOrderIn(model);
                if (res)
                {
                    result.success = true;
                }
                return result;
            }
            catch (Exception ex)
            {
                result.success = false;
                result.errMsg = ex.Message;
                var st = new System.Diagnostics.StackTrace(ex, true);
                var frame = st.GetFrame(0); // 获取第一个堆栈帧
                if (frame != null)
                {
                    LogHelper.Error($"CancelInboundOrder入库单取消出现错误!!", ex);
                    LogHelper.Error($"文件名: {frame.GetFileName()}", ex);
                    LogHelper.Error($"行号: {frame.GetFileLineNumber()}", ex);
                    LogHelper.Error($"列号: {frame.GetFileColumnNumber()}", ex);
                }
                return result;
            }
        }
        /// <summary>
        /// 出库单取消
        /// </summary>
        /// <param name="model">出库单</param>
        /// <returns></returns>
        public static Result CancelOutboundOrder(OutOrder model)
        {
            Result result = new Result() { success = false };
            try
            {
                if (model == null || !model.OrderDetail.Any())
                {
                    result.errMsg = "出库单不可为空值!";
                    return result;
                }
                var res = WMSHelper.CancelOrderOut(model);
                if (res)
                {
                    result.success = true;
                }
                return result;
            }
            catch (Exception ex)
            {
                result.success = false;
                result.errMsg = ex.Message;
                var st = new System.Diagnostics.StackTrace(ex, true);
                var frame = st.GetFrame(0);
                if (frame != null)
                {
                    LogHelper.Error($"CancelOutboundOrder出库单取消出现错误!", ex);
                    LogHelper.Error($"文件名: {frame.GetFileName()}", ex);
                    LogHelper.Error($"行号: {frame.GetFileLineNumber()}", ex);
                    LogHelper.Error($"列号: {frame.GetFileColumnNumber()}", ex);
                }
                return result;
            }
        }
        ///// <summary>
        ///// 获取作业创建入库任务
        ///// </summary>