From 0821715ebc11d3934d0594a1cc2c39686d808906 Mon Sep 17 00:00:00 2001
From: zhao
Date: 星期五, 09 七月 2021 14:12:43 +0800
Subject: [PATCH] 增加ChageWay接口

---
 HH.WMS.WebApi/Controllers/WmsApiController.cs |  163 +++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 149 insertions(+), 14 deletions(-)

diff --git a/HH.WMS.WebApi/Controllers/WmsApiController.cs b/HH.WMS.WebApi/Controllers/WmsApiController.cs
index 9f33b68..9f29ff0 100644
--- a/HH.WMS.WebApi/Controllers/WmsApiController.cs
+++ b/HH.WMS.WebApi/Controllers/WmsApiController.cs
@@ -48,12 +48,12 @@
         /// </summary>
         /// <returns></returns>
         /// <history>[HanHe(zh)] CREATED 2018/5/3</history>
-        [HttpPost]
-        public string InWorkArea(List<InWorkAreaEntity> inWorkAreaEntitys)
-        {
-            var result =  WmsApiBLLRoute.InWorkArea(inWorkAreaEntitys);
-            return result;
-        }
+        //[HttpPost]
+        //public string InWorkArea(List<InWorkAreaEntity> inWorkAreaEntitys)
+        //{
+        //    var result =  WmsApiBLLRoute.InWorkArea(inWorkAreaEntitys);
+        //    return result;
+        //}
 
         [HttpPost]
         public string ReturnWorkArea(List<InWorkAreaEntity> inWorkAreaEntitys)
@@ -133,7 +133,7 @@
                     TN_WM_TASKEntity transportTask = DALCreator.Create<DapperDAL<TN_WM_TASKEntity>>().GetSingleEntity(new { CN_S_TASK_NO = data.taskNo });
 
                     WebServiceAgent jxAgent = new WebServiceAgent(jxWebUrl);
-                    object[] para = { clientKey1, clientKey2, transportTask.CN_S_REMARK, transportTask.CN_S_TRAY_CODE, transportTask.CN_S_END_BIT,  "80", "Y", "hh" };
+                    object[] para = { clientKey1, clientKey2, transportTask.CN_S_REMARK, transportTask.CN_S_TRAY_CODE, transportTask.CN_S_END_BIT, "80", "Y", "hh" };
 
                     object returnObject = jxAgent.Invoke("SetAGVJobStatus", para);
                     // HH.WMS.JX.JXWMSServices.WebServiceSoapClient jxServices = new JX.JXWMSServices.WebServiceSoapClient();
@@ -372,6 +372,110 @@
             }
             return JsonConvert.SerializeObject(result);
         }
+        #endregion
+
+        #region 涓瓥
+        /// <summary>
+        /// 鏀归亾
+        /// </summary>
+        /// <param name="param"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public string ChangeWay(dynamic param)
+        {
+            var logPara = new TOOLS.LOG.LogPara("鏀归亾");
+            logPara.Push("鎺ュ彛璇锋眰鍙傛暟锛� + JsonConvert.SerializeObject(param));
+
+            var result = new ChangeWayResult() { success = false, errCode = "200", location = "" };
+            try
+            {
+                //浠诲姟鍙�+                string taskNo = param.taskNo;
+                //鏀归亾绫诲瀷锛堣捣鐐�缁堢偣锛�+                string updateType = param.updateType;
+                //鏀归亾绫诲瀷瀵瑰簲鐨勫師鍥�+                string reasonCode = param.reasonCode;
+                if (string.IsNullOrEmpty(taskNo))
+                {
+                    result.errMsg = "浠诲姟鍙蜂笉鍙负绌�;
+                    result.errCode = "102";
+                }
+                if (string.IsNullOrEmpty(updateType) || !(updateType.Equals("璧风偣") || updateType.Equals("缁堢偣")))
+                {
+                    result.errMsg += " 鏀归亾绫诲瀷涓嶆纭�;
+                    result.errCode = "102";
+                }
+                if (taskNo.Split('_').Length <= 1)
+                {
+                    result.errMsg += " 涓讳换鍔℃棤娉曞彉鏇磋捣鐐�;
+                    result.errCode = "102";
+                }
+                string preTaskNo = taskNo.Split('_')[0] + "_1";
+                string navTaskNo = taskNo.Split('_')[1];
+                if (navTaskNo != "2")
+                {
+                    result.errMsg += " 褰撳墠浠诲姟鏃犲墠缃换鍔★紝涓嶆敮鎸佸彉鏇磋捣鐐�;
+                    result.errCode = "102";
+                }
+                var preTask = BLLCreator.Create<DapperBLL<TN_WM_TASKEntity>>().GetSingleEntity(new { CN_S_TASK_NO = preTaskNo });
+                if (preTask == null)
+                {
+                    result.errMsg += "鏈壘鍒版浠诲姟鐨勪富浠诲姟锛屼换鍔″彿锛� + taskNo;
+                    result.errCode = "102";
+                }
+                var currentTask = BLLCreator.Create<DapperBLL<TN_WM_TASKEntity>>().GetSingleEntity(new { CN_S_TASK_NO = taskNo });
+                if (currentTask == null)
+                {
+                    result.errMsg += "鏈壘鍒版浠诲姟锛屼换鍔″彿锛� + taskNo;
+                    result.errCode = "102";
+                }
+                // 涓讳换鍔$殑绔嬪簱鎺ラ┏浣�+                string connectBit = preTask.CN_S_END_BIT;
+                AutoBomLocationEntity locationModel = DALCreator.Create<TN_WMS_LOCATIONDAL>().GetModel(connectBit);
+                var locationArea = DALCreator.Create<TN_AB_STOCK_LOCATIONDAL>().GetAreaModelByLocation(connectBit);
+                if (locationModel == null)
+                {
+                    result.errMsg += "鏈壘鍒版帴椹充綅璐т綅锛� + connectBit;
+                    result.errCode = "102";
+                }
+                if (locationModel.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
+                {
+                    result.errMsg += "鎺ラ┏浣嶈揣浣嶏細" + connectBit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�;
+                    result.errCode = "102";
+                }
+
+                if (result.errCode == "200")
+                {
+                    var sqlResult = BLLCreator.Create<TN_WM_TASKBLL>().ChangeWay(currentTask, locationModel, locationArea,"start");
+
+                    if (!sqlResult.Success)
+                        result.errMsg = sqlResult.Msg;
+                    else
+                    {
+                        result.success = true;
+                        result.errCode = "100";
+                        result.location = connectBit;
+                    }
+                }
+
+                if (result.success)
+                {
+                    logPara.PushAndAdd("鏀归亾鎴愬姛锛�);
+                }
+                else
+                {
+                    logPara.PushAndAdd("鏀归亾澶辫触锛屽師鍥狅細" + result.errMsg);
+                }
+            }
+            catch (Exception ex)
+            {
+                result.errCode = "200";
+                result.errMsg = "ChangeWay鏂规硶寮傚父" + ex.Message + ex.StackTrace;
+                logPara.PushAndAdd(ex);
+            }
+            return JsonConvert.SerializeObject(result);
+        }
+
         #endregion
 
         #region 瀹囧 鍙枡
@@ -1002,7 +1106,7 @@
                 AutoBomLocationEntity locationEntity = DALCreator.Create<TN_WMS_LOCATIONDAL>().GetModel(entity.CN_S_START_BIT);
                 entity.CN_S_STOCK_CODE = locationEntity.CN_S_STOCK_CODE;
                 entity.CN_N_PRIORITY = 1;
-              //  entity.CN_S_END_BIT = GetEndBit(entity.CN_S_START_BIT);
+                //  entity.CN_S_END_BIT = GetEndBit(entity.CN_S_START_BIT);
                 string postData = "{\"appCode\":\"" + Constants.appCode + "\",\"ruleName\":\"" + Constants.Rule_TransTaskNo + "\",\"orgId\":\"\",\"orgFlag\":\"0\"}";
                 string taskNo = WebApiManager.HttpAutoBom_Post("api/BillRule/GenBillNo", postData);
                 if (string.IsNullOrEmpty(taskNo))
@@ -1084,12 +1188,47 @@
         /// <param name="jsonData"></param>
         /// <returns></returns>
         [HttpPost]
-        public object ReceiveTask(dynamic jsonData)
+        public object InWorkArea(dynamic jsonData)
         {
             var logPara = LogType.LogPara("浠诲姟涓嬪彂");
-            Log.Detail(logPara, "HCZCSendTask:浠诲姟涓嬪彂浼犻�鍙傛暟锛� + jsonData.ToString());
 
             ZCReceiveTaskEntity sendTaskEntity = JsonConvert.DeserializeObject<ZCReceiveTaskEntity>(jsonData.ToString());
+
+            if (string.IsNullOrEmpty(sendTaskEntity.BUSI_TYPE))
+            {
+                Log.Detail(logPara, "ZCSendTask浠诲姟涓嬪彂澶辫触锛岀己灏戝弬鏁癇USI_TYPE銆� + jsonData.ToString());
+                return new
+                {
+                    success = false,
+                    code = -1,
+                    lastTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
+                    message = "缂哄皯鍙傛暟BUSI_TYPE"
+                };
+            }
+            if (string.IsNullOrEmpty(sendTaskEntity.Location_From) && string.IsNullOrEmpty(sendTaskEntity.Location_To))
+            {
+                Log.Detail(logPara, "ZCSendTask浠诲姟涓嬪彂澶辫触锛岃捣鐐瑰拰缁堢偣鍚屾椂涓虹┖銆� + jsonData.ToString());
+                return new
+                {
+                    success = false,
+                    code = -1,
+                    lastTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
+                    message = "缂哄皯璧风偣Location_From鎴栫粓鐐筁ocation_To"
+                };
+            }
+            if (string.IsNullOrEmpty(sendTaskEntity.task_no))
+            {
+                Log.Detail(logPara, "ZCSendTask浠诲姟涓嬪彂澶辫触锛岀己灏戝弬鏁皌ask_no銆� + jsonData.ToString());
+                return new
+                {
+                    success = false,
+                    code = -1,
+                    lastTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
+                    message = "缂哄皯鍙傛暟task_no"
+                };
+            }
+
+            Log.Detail(logPara, "ZCSendTask浠诲姟涓嬪彂浼犻�鍙傛暟锛� + jsonData.ToString());
 
             //璋冪敤ReceiveTask鏂规硶淇濆瓨鑷充腑闂村簱
             var result = BLLCreator.Create<WmsApiBaseBLL>().ReceiveTask(sendTaskEntity);
@@ -1103,9 +1242,5 @@
         }
 
         #endregion
-
-
-
-
     }
 }

--
Gitblit v1.9.1