schangxiang@126.com
2025-09-17 e8e8a06fc68a6a645ce32be2cc9c3aaa67a97d68
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
@@ -28,29 +30,41 @@
        public ActionResult syncMaterialInfo()
        {
            var responseMessage = new ApiResponse<List<PlaceMaterialViewEntity>>();
            var msg = "";
            var datalist = PlaceMaterialViewService.GetInstance().GetPlacePreview(out msg);
            if (!string.IsNullOrEmpty(msg))
            try
            {
                var msg = "";
                var datalist = PlaceMaterialViewService.GetInstance().GetPlacePreview(out msg);
                if (!string.IsNullOrEmpty(msg))
                {
                    responseMessage = new ApiResponse<List<PlaceMaterialViewEntity>>()
                    {
                        Code = 500,
                        Success = false,
                        Message = "获取异常:" + msg,
                        Data = null,
                    };
                }
                else
                {
                    responseMessage = new ApiResponse<List<PlaceMaterialViewEntity>>()
                    {
                        Code = 200,
                        Success = true,
                        Message = "成功",
                        Data = datalist,
                    };
                }
            }
            catch (Exception ex)
            {
                responseMessage = new ApiResponse<List<PlaceMaterialViewEntity>>()
                {
                    Code = 500,
                    Success = false,
                    Message = "异常:" + msg,
                    Message = "异常:" + ex.Message,
                    Data = null,
                };
            }
            else
            {
                responseMessage = new ApiResponse<List<PlaceMaterialViewEntity>>()
                {
                    Code = 200,
                    Success = true,
                    Message = "成功",
                    Data = datalist,
                };
            }
            //将对象转化为json格式
            var responseStr = JsonConvert.SerializeObject(responseMessage);
            LogTextHelper.WriteLine(Resources.LogDir, "WIPAPI:{0},{1}, {2}", "syncMaterialInfo", "请求参数:" + "", "响应信息;" + responseStr);
@@ -68,47 +82,98 @@
            var responseMessage = new ApiResponse<string>();
            var msg = "";
            #region 业务处理
            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
            //第一步:先新增到物料基础表
            List<MaterialViewEntity> materials = new List<MaterialViewEntity>();
            materials = ClassHelper.RotationMapping<List<MaterialViewEntity>, List<MaterialViewForMesEntity>>(importMaterials);
            MaterialViewService.GetInstance().ImportExcelFromMes(materials, out msg);
                #region 业务处理
            Thread.Sleep(400);//注意:休眠毫秒,用于数据库事务提交
                //第一步:先新增到物料基础表
                List<MaterialViewEntity> materials = new List<MaterialViewEntity>();
            string typeName = "入库";
            List<InputMaterialEntity> inputmaterials = new List<InputMaterialEntity>();
            inputmaterials = ClassHelper.RotationMapping<List<InputMaterialEntity>, List<MaterialViewForMesEntity>>(importMaterials);
            handler_importOutOrder(typeName, inputmaterials, out msg);
                materials = ClassHelper.RotationMapping_Json<List<MaterialViewEntity>, List<MaterialViewForMesEntity>>(importMaterials);
            #endregion
            if (!string.IsNullOrEmpty(msg))
                MaterialViewService.GetInstance().ImportExcelFromMes(materials, out msg);
                if (!string.IsNullOrEmpty(msg))
                {
                    responseMessage = new ApiResponse<string>()
                    {
                        Code = 500,
                        Success = false,
                        Message = "新增到物料基础表异常:" + msg,
                        Data = null,
                    };
                }
                else
                {
                    Thread.Sleep(400);//注意:休眠毫秒,用于数据库事务提交
                    string typeName = "入库";
                    List<InputMaterialEntity> inputmaterials = new List<InputMaterialEntity>();
                    inputmaterials = ClassHelper.RotationMapping_Json<List<InputMaterialEntity>, List<MaterialViewForMesEntity>>(importMaterials);
                    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 = "异常:" + msg,
                    Data = null,
                };
            }
            else
            {
                responseMessage = new ApiResponse<string>()
                {
                    Code = 200,
                    Success = true,
                    Message = "成功",
                    Message = "异常:" + ex.Message,
                    Data = null,
                };
            }
            //将对象转化为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", "");
        }
@@ -121,40 +186,76 @@
        public ActionResult importOutOrder(List<InputMaterialEntity> inputmaterials)
        {
            var responseMessage = new ApiResponse<string>();
            var msg = "";
            try
            {
                var msg = "";
            #region 业务处理
                #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
            string typeName = "出库";
            handler_importOutOrder(typeName, inputmaterials, out msg);
                #region 业务处理
            #endregion
                string typeName = "出库";
                handler_importOutOrder(typeName, inputmaterials, out msg);
            if (!string.IsNullOrEmpty(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 = "异常:" + msg,
                    Data = null,
                };
            }
            else
            {
                responseMessage = new ApiResponse<string>()
                {
                    Code = 200,
                    Success = true,
                    Message = "成功",
                    Message = "异常:" + ex.Message,
                    Data = null,
                };
            }
            //将对象转化为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", "");
        }