| | |
| | | { |
| | | 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) |
| | |
| | | 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); |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 入库单新增 |
| | | /// 入库单新增以及修改 |
| | | /// </summary> |
| | | /// <param name="model">入库单</param> |
| | | /// <returns></returns> |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 出库单新增 |
| | | /// 出库单新增以及修改 |
| | | /// </summary> |
| | | /// <param name="model">入库单</param> |
| | | /// <param name="model">出库单</param> |
| | | /// <returns></returns> |
| | | public static Result GetOutboundOrder(OutOrder model) |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | /// <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> |