schangxiang@126.com
2025-09-29 682eba0aaf922e69dfafe05fb6c1bbdbf3a0e04a
DEmon/WebWIPAPI/Controllers/MesIntegrController.cs
@@ -1,4 +1,5 @@
using iWareCommon.Common.Entity;
using AutoMapper;
using iWareCommon.Common.Entity;
using iWareCommon.Utils;
using iWareDataCore.BASE.Entity;
using iWareDataCore.BASE.Service;
@@ -10,6 +11,7 @@
using System.Web.Mvc;
using WebWIPAPI.Models;
using WebWIPAPI.Properties;
using WebWIPAPI.Utils;
using LogTextHelper = WebWIPAPI.Utils.LogTextHelper;
namespace WebWIPAPI.Controllers
@@ -32,6 +34,7 @@
            {
                var msg = "";
                var datalist = PlaceMaterialViewService.GetInstance().GetPlacePreview(out msg);
                datalist = datalist.Where(x => !string.IsNullOrEmpty(x.MaterialCode)).ToList();
                if (!string.IsNullOrEmpty(msg))
                {
                    responseMessage = new ApiResponse<List<PlaceMaterialViewEntity>>()
@@ -82,11 +85,39 @@
            try
            {
                #region 验证
                if (importMaterials?.Count() == 0)
                {
                    responseMessage = new ApiResponse<string>()
                    {
                        Code = 500,
                        Success = false,
                        Message = "数据条数为0",
                        Data = null,
                    };
                    return ApiResponseHelper.ReturnApiResponse(responseMessage, "importInOrder", "");
                }
                if (importMaterials.Select(x => x.ListNo).Distinct().Count() != 1)
                {
                    responseMessage = new ApiResponse<string>()
                    {
                        Code = 500,
                        Success = false,
                        Message = "本次请求单号必须为同一值",
                        Data = null,
                    };
                    return ApiResponseHelper.ReturnApiResponse(responseMessage, "importInOrder", "");
                }
                #endregion
                #region 业务处理
                //第一步:先新增到物料基础表
                List<MaterialViewEntity> materials = new List<MaterialViewEntity>();
                materials = ClassHelper.RotationMapping<List<MaterialViewEntity>, List<MaterialViewForMesEntity>>(importMaterials);
                materials = ClassHelper.RotationMapping_Json<List<MaterialViewEntity>, List<MaterialViewForMesEntity>>(importMaterials);
                MaterialViewService.GetInstance().ImportExcelFromMes(materials, out msg);
                if (!string.IsNullOrEmpty(msg))
                {
@@ -104,7 +135,7 @@
                    string typeName = "入库";
                    List<InputMaterialEntity> inputmaterials = new List<InputMaterialEntity>();
                    inputmaterials = ClassHelper.RotationMapping<List<InputMaterialEntity>, List<MaterialViewForMesEntity>>(importMaterials);
                    inputmaterials = ClassHelper.RotationMapping_Json<List<InputMaterialEntity>, List<MaterialViewForMesEntity>>(importMaterials);
                    handler_importOutOrder(typeName, inputmaterials, out msg);
                    #endregion
@@ -143,16 +174,94 @@
                };
            }
            //将对象转化为json格式
            var responseStr = JsonConvert.SerializeObject(responseMessage);
            LogTextHelper.WriteLine(Resources.LogDir, "WIPAPI:{0},{1}, {2}", "importInOrder", "请求参数:" + "", "响应信息;" + responseStr);
            return Json(responseMessage, JsonRequestBehavior.DenyGet);
            return ApiResponseHelper.ReturnApiResponse(responseMessage, "importInOrder", "");
        }
        ///// <summary>
        ///// 导入出库单-版本1
        ///// </summary>
        ///// <param name="inputmaterials"></param>
        ///// <returns></returns>
        //[HttpPost]
        //public ActionResult importOutOrder(List<InputMaterialEntity> inputmaterials)
        //{
        //    var responseMessage = new ApiResponse<string>();
        //    try
        //    {
        //        var msg = "";
        //        #region 验证
        //        if (inputmaterials?.Count() == 0)
        //        {
        //            responseMessage = new ApiResponse<string>()
        //            {
        //                Code = 500,
        //                Success = false,
        //                Message = "数据条数为0",
        //                Data = null,
        //            };
        //            return ApiResponseHelper.ReturnApiResponse(responseMessage, "importOutOrder", "");
        //        }
        //        if (inputmaterials.Select(x => x.ListNo).Distinct().Count() != 1)
        //        {
        //            responseMessage = new ApiResponse<string>()
        //            {
        //                Code = 500,
        //                Success = false,
        //                Message = "本次请求单号必须为同一值",
        //                Data = null,
        //            };
        //            return ApiResponseHelper.ReturnApiResponse(responseMessage, "importOutOrder", "");
        //        }
        //        #endregion
        //        #region 业务处理
        //        string typeName = "出库";
        //        handler_importOutOrder(typeName, inputmaterials, out msg);
        //        #endregion
        //        if (!string.IsNullOrEmpty(msg))
        //        {
        //            responseMessage = new ApiResponse<string>()
        //            {
        //                Code = 500,
        //                Success = false,
        //                Message = "生成出库任务异常:" + msg,
        //                Data = null,
        //            };
        //        }
        //        else
        //        {
        //            responseMessage = new ApiResponse<string>()
        //            {
        //                Code = 200,
        //                Success = true,
        //                Message = "成功",
        //                Data = null,
        //            };
        //        }
        //    }
        //    catch (Exception ex)
        //    {
        //        responseMessage = new ApiResponse<string>()
        //        {
        //            Code = 500,
        //            Success = false,
        //            Message = "异常:" + ex.Message,
        //            Data = null,
        //        };
        //    }
        //    return ApiResponseHelper.ReturnApiResponse(responseMessage, "importOutOrder", "");
        //}
        /// <summary>
        /// 导入出库单
        /// 导入出库单-版本2
        /// </summary>
        /// <param name="inputmaterials"></param>
        /// <returns></returns>
@@ -163,6 +272,31 @@
            try
            {
                var msg = "";
                #region 验证
                if (inputmaterials?.Count() == 0)
                {
                    responseMessage = new ApiResponse<string>()
                    {
                        Code = 500,
                        Success = false,
                        Message = "数据条数为0",
                        Data = null,
                    };
                    return ApiResponseHelper.ReturnApiResponse(responseMessage, "importOutOrder", "");
                }
                if (inputmaterials.Select(x => x.ListNo).Distinct().Count() != 1)
                {
                    responseMessage = new ApiResponse<string>()
                    {
                        Code = 500,
                        Success = false,
                        Message = "本次请求单号必须为同一值",
                        Data = null,
                    };
                    return ApiResponseHelper.ReturnApiResponse(responseMessage, "importOutOrder", "");
                }
                #endregion
                #region 业务处理
@@ -204,12 +338,8 @@
                };
            }
            //将对象转化为json格式
            var responseStr = JsonConvert.SerializeObject(responseMessage);
            LogTextHelper.WriteLine(Resources.LogDir, "WIPAPI:{0},{1}, {2}", "importOutOrder", "请求参数:" + "", "响应信息;" + responseStr);
            return Json(responseMessage, JsonRequestBehavior.DenyGet);
            return ApiResponseHelper.ReturnApiResponse(responseMessage, "importOutOrder", "");
        }
        /// <summary>
        /// 公共导入 入库单或出库单
@@ -234,6 +364,11 @@
                    List<int> ids = new List<int>();
                    var materials = InputMaterialService.GetInstance().GetIds(codes);
                    List<InOutListDetailEntity> detail = new List<InOutListDetailEntity>();
                    if (materials?.Count == 0)
                    {
                        msg = ("物料明细查询为空!");
                        return;
                    }
                    for (int i = 0; i < materials.Count; i++)
                    {
                        if (typeName == "入库")