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 |  110 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 107 insertions(+), 3 deletions(-)

diff --git a/HH.WMS.WebApi/Controllers/WmsApiController.cs b/HH.WMS.WebApi/Controllers/WmsApiController.cs
index b1c87ec..9f29ff0 100644
--- a/HH.WMS.WebApi/Controllers/WmsApiController.cs
+++ b/HH.WMS.WebApi/Controllers/WmsApiController.cs
@@ -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))
@@ -1090,7 +1194,7 @@
 
             ZCReceiveTaskEntity sendTaskEntity = JsonConvert.DeserializeObject<ZCReceiveTaskEntity>(jsonData.ToString());
 
-            if(string.IsNullOrEmpty(sendTaskEntity.BUSI_TYPE))
+            if (string.IsNullOrEmpty(sendTaskEntity.BUSI_TYPE))
             {
                 Log.Detail(logPara, "ZCSendTask浠诲姟涓嬪彂澶辫触锛岀己灏戝弬鏁癇USI_TYPE銆� + jsonData.ToString());
                 return new

--
Gitblit v1.9.1