From f782248da68c035aae12f902f29d828e9867abb0 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周一, 29 9月 2025 12:45:51 +0800
Subject: [PATCH] 222

---
 DEmon/WebWIPAPI/Controllers/MesIntegrController.cs |  235 ++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 171 insertions(+), 64 deletions(-)

diff --git a/DEmon/WebWIPAPI/Controllers/MesIntegrController.cs b/DEmon/WebWIPAPI/Controllers/MesIntegrController.cs
index 9cd7465..6ee0b86 100644
--- a/DEmon/WebWIPAPI/Controllers/MesIntegrController.cs
+++ b/DEmon/WebWIPAPI/Controllers/MesIntegrController.cs
@@ -1,4 +1,5 @@
-锘縰sing iWareCommon.Common.Entity;
+锘縰sing 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,42 @@
         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);
+                datalist = datalist.Where(x => !string.IsNullOrEmpty(x.MaterialCode)).ToList();
+                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 +83,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 +187,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", "");
         }
 
 
@@ -181,6 +283,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 == "鍏ュ簱")

--
Gitblit v1.9.3