From 2fdf959ac739edd6de84aa8053b8b9683dce8e8b Mon Sep 17 00:00:00 2001
From: zhao
Date: 星期三, 07 七月 2021 14:53:24 +0800
Subject: [PATCH] 中策下任务接口

---
 HH.WMS.BLL/Pda/ZCBLL.cs | 1135 ++++++++++++++++++++++++++++++-----------------------------
 1 files changed, 581 insertions(+), 554 deletions(-)

diff --git a/HH.WMS.BLL/Pda/ZCBLL.cs b/HH.WMS.BLL/Pda/ZCBLL.cs
index 16613d1..b22554d 100644
--- a/HH.WMS.BLL/Pda/ZCBLL.cs
+++ b/HH.WMS.BLL/Pda/ZCBLL.cs
@@ -242,20 +242,6 @@
         /// <param name="transportReqs"></param>
         public List<OperateResult> ExecTransferTask(List<TN_MES_TASK> transportReqs)
         {
-            var mapStr = JsonHelper.GetValue("workFlowTransType");
-            if (string.IsNullOrEmpty(mapStr))
-                throw new Exception("鏈壘鍒伴厤缃細workFlowTransType");
-
-            var isEnableAms = new ZCTransferDto();
-            var _isEnableAmsStr = JsonHelper.GetValue("isSendAms");
-            if (!string.IsNullOrEmpty(_isEnableAmsStr))
-            {
-                isEnableAms = JsonConvert.DeserializeObject<ZCTransferDto>(_isEnableAmsStr);
-                isEnableAms = isEnableAms ?? new ZCTransferDto();
-            }
-
-            var workFlowTransType = JsonConvert.DeserializeObject<List<ZCTransferDto>>(mapStr);
-
             List<OperateResult> ors = new List<OperateResult>();
             if (transportReqs.Any())
             {
@@ -265,214 +251,209 @@
                     string endBit = req.Location_To;
 
                     string startArea = string.Empty, endArea = string.Empty;
-                    //鏍¢獙璧风偣
-                    if (!string.IsNullOrEmpty(startBit))
-                    {
-                        var _location = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
-                        {
-                            CN_S_LOCATION_CODE = startBit
-                        });
-                        if (_location == null)
-                        {
-                            ors.Add(OperateResult.Error("鏈壘鍒拌捣濮嬭揣浣嶏細" + startBit, req));
-                            continue;
-                        }
-                        startArea = Util.ToString(_location.CN_S_AREA_CODE).Trim();
-                    }
-                    //鏍¢獙缁堢偣
-                    if (!string.IsNullOrEmpty(endBit))
-                    {
-                        var _location = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
-                        {
-                            CN_S_LOCATION_CODE = endBit
-                        });
-                        if (_location == null)
-                        {
-                            ors.Add(OperateResult.Error("鏈壘鍒扮粓鐐硅揣浣嶏細" + endBit, req));
-                            continue;
-                        }
-                        endArea = Util.ToString(_location.CN_S_AREA_CODE).Trim();
-                    }
-                    if (string.IsNullOrEmpty(startArea) && string.IsNullOrEmpty(endArea))
-                    {
-                        ors.Add(OperateResult.Error("璧风偣缁堢偣涓嶅彲鍚屾椂涓虹┖"));
-                        continue;
-                    }
-                    //鎵句綔涓氳矾寰�-                    //var workRoute = BLLCreator.Create<TN_AB_B_WORK_AREA_PROBLL>().GetSingleRoute(startArea, endArea);
-                    //if (workRoute == null)
-                    //{
-                    //    ors.Add(OperateResult.Error("鏈壘鍒颁綔涓氳矾寰�, req));
-                    //    continue;
-                    //}
 
-                    var workRoute = new TN_AB_B_WORK_AREA_PROEntity();
-                    var workRoutes = BLLCreator.Create<TN_AB_B_WORK_AREA_PROBLL>().GetRoute("", startArea, endArea);
-                    if (!workRoutes.Any())
+                    try
                     {
-                        ors.Add(OperateResult.Error("鏈壘鍒颁綔涓氳矾寰�, req));
-                        continue;
-                    }
-                    else
-                    {
-                        workRoute = workRoutes[0];
-                        if (workRoutes.Count > 1)
+                        InWorkAreaEntity inModel = new InWorkAreaEntity();
+                        inModel.itemCode = req.PROD_NO;
+                        inModel.trayCode = req.TurnCardNum;
+                        inModel.priority = req.Priority;
+                        inModel.startBit = req.Location_From;
+                        inModel.endBit = req.Location_To;
+                        inModel.remark = "涓氬姟绫诲瀷锛� + req.BUSI_TYPE;
+
+                        OutWorkAreaEntity outModel = new OutWorkAreaEntity();
+                        outModel.itemCode = req.PROD_NO;
+                        outModel.trayCode = req.TurnCardNum;
+                        outModel.priority = req.Priority;
+                        outModel.startBit = req.Location_From;
+                        outModel.endBit = req.Location_To;
+                        outModel.remark = "涓氬姟绫诲瀷锛� + req.BUSI_TYPE;
+
+                        // 涓嬩竴姝ヨ鎵ц鐨勯樁娈�+                        string section = NextSection(req);
+                        bool needCreateTask = true;
+                        string direction = "";
+
+                        if (section == TaskSectionConstants.ERROR)
                         {
-                            if (workRoutes.Exists(e => Util.ToString(e.CN_S_TYPE_CODE) == "X6" || Util.ToString(e.CN_S_TYPE_CODE) == "X7"))
+                            // "鎵ц澶辫触锛孧ES浠诲姟涓氬姟绫诲瀷鎴栭樁娈典笉姝g‘"
+                            needCreateTask = false;
+                        }
+                        else if (string.IsNullOrEmpty(section))
+                        {
+                            needCreateTask = false;
+                        }
+                        else if (section == TaskSectionConstants.BCP_KTCK)
+                        {
+                            direction = Constants.Out;
+                        }
+                        else if (section == TaskSectionConstants.BCP_MTRK)
+                        {
+                            direction = Constants.In;
+                        }
+                        else if (section == TaskSectionConstants.CXJ_BCPHK)
+                        {
+                            direction = Constants.In;
+                        }
+                        else if (section == TaskSectionConstants.CXJ_KTHK_RECORD)
+                        {
+                            needCreateTask = false;
+                        }
+                        else if (section == TaskSectionConstants.CXJ_MTCK)
+                        {
+                            direction = Constants.Out;
+                        }
+                        else if (section == TaskSectionConstants.CXJ_KTHK_KTRK)
+                        {
+                            direction = Constants.In;
+                        }
+                        else if (section == TaskSectionConstants.DS_BCPKTHK)
+                        {
+                            direction = Constants.In;
+                        }
+                        else if (section == TaskSectionConstants.DS_MTCK)
+                        {
+                            direction = Constants.Out;
+                        }
+                        // 鏇存柊MES浠诲姟闃舵
+                        req.SECTION = section;
+
+                        var externalRes = new ExternalResponse();
+                        string taskNo = "";
+
+                        if (needCreateTask)
+                        {
+                            if (direction == Constants.In)
                             {
-                                if (string.IsNullOrEmpty(req.PROD_NO))
+                                //浼犻�鍙傛暟
+                                List<InWorkAreaEntity> inWorkAreaEntitys = new List<InWorkAreaEntity>();
+                                inWorkAreaEntitys.Add(inModel);
+
+                                try
                                 {
-                                    workRoute = workRoutes.Find(f => f.CN_S_TYPE_CODE == "X6");
+                                    Log.Info("鍏ヤ綔涓氬尯寮�锛屼紶鍙傦細", JsonConvert.SerializeObject(inWorkAreaEntitys));
+                                    externalRes = BLLCreator.Create<WmsApiBaseBLL>().InWorkArea(inWorkAreaEntitys);
+                                    taskNo = inModel.taskNo;
                                 }
-                                else
+                                catch (Exception ex)
                                 {
-                                    workRoute = workRoutes.Find(f => f.CN_S_TYPE_CODE == "X7");
+                                    Log.Error("鍏ヤ綔涓氬尯澶辫触锛屼紶鍙傦細", JsonConvert.SerializeObject(inWorkAreaEntitys) + ex.ToString());
+                                    ors.Add(OperateResult.Error("鍏ヤ綔涓氬尯澶辫触锛� + ex.Message, req));
+                                    continue;
                                 }
                             }
-                        }
-                        if (workRoute == null)
-                        {
-                            ors.Add(OperateResult.Error("鏈壘鍒颁綔涓氳矾寰�, req));
-                            continue;
-                        }
-                    }
+                            else if (direction == Constants.Out)
+                            {
+                                //浼犻�鍙傛暟
+                                List<OutWorkAreaEntity> outWorkAreaEntitys = new List<OutWorkAreaEntity>();
+                                outWorkAreaEntitys.Add(outModel);
 
-
-                    var existsWorkFlow = workFlowTransType.Find(f => f.workFlowCode == workRoute.CN_S_TYPE_CODE);
-                    if (existsWorkFlow == null)
-                    {
-                        ors.Add(OperateResult.Error("鏈壘鍒颁綔涓氭柟鍚�, req));
-                        continue;
-                    }
-
-                    TN_WM_B_MAKE_TASKEntity makeReq = new TN_WM_B_MAKE_TASKEntity()
-                    {
-                        CN_S_ITEM_CODE = req.PROD_NO,
-                        CN_S_ITEM_NAME = "",
-                        CN_S_START_BIT = req.Location_From,
-                        CN_S_START_AREA = workRoute.CN_S_START_AREA_CODE,
-                        CN_S_END_BIT = req.Location_To,
-                        CN_S_END_AREA = workRoute.CN_S_END_AREA_CODE,
-                        CN_S_TRAY_CODE = req.TurnCardNum,
-                        CN_S_PRIORITY = req.Priority.ToString(),
-                        CN_S_WORKFLOW_NAME = WorkFlowName.FlowNameList[existsWorkFlow.workFlowCode],
-                        CN_F_QUANTITY = Convert.ToDecimal(req.CURRENT_AMOUNT),
-                        CN_S_NEED_AMS = isEnableAms.transferEnableAms,
-                        CN_S_ISTRANSPORT = existsWorkFlow.isTransport
-                    };
-
-                    var externalRes = new ExternalResponse();
-                    if (existsWorkFlow.transType == "In")
-                    {
-                        try
-                        {
-                            var res = BLLCreator.Create<ZCBLL>().GLInWorkArea(makeReq);
-                            externalRes = JsonConvert.DeserializeObject<ExternalResponse>(res);
-                        }
-                        catch (Exception ex)
-                        {
-                            ors.Add(OperateResult.Error("鍏ヤ綔涓氬尯澶辫触锛� + ex.Message, req));
-                            continue;
-                        }
-                    }
-                    else
-                    {
-                        try
-                        {
-                            var res = BLLCreator.Create<ZCBLL>().GLOutWorkArea(makeReq);
-                            externalRes = JsonConvert.DeserializeObject<ExternalResponse>(res);
-                        }
-                        catch (Exception ex)
-                        {
-                            ors.Add(OperateResult.Error("鍑轰綔涓氬尯澶辫触锛� + ex.Message, req));
-                            continue;
-                        }
-                    }
-
-                    var _serviceExec = BLLCreator.CreateDapper<TN_WM_SERVICE_EXECEntity>().GetSingleEntity(new
-                    {
-                        CN_S_TASK_NO = req.task_no
-                    });
-                    if (_serviceExec != null)
-                    {
-                        _serviceExec.Update = true;
-                    }
-                    else
-                    {
-                        _serviceExec = new TN_WM_SERVICE_EXECEntity()
-                        {
-                            CN_S_TASK_NO = req.task_no,
-                            CN_S_ITEM_CODE = req.PROD_NO,
-                            CN_S_ITEM_NAME = "",
-                            CN_S_TASK_TYPE = "绉婚�",
-                            CN_S_TRANS_TYPE = WorkFlowName.FlowNameList[existsWorkFlow.workFlowCode],
-                            CN_S_TRAY_CODE = req.TurnCardNum,
-                            CN_N_PRIORITY = req.Priority,
-                            CN_S_START_LOCATION = req.Location_From,
-                            CN_S_END_LOCATION = req.Location_To,
-                            CN_T_CREATE = DateTime.Now,
-                            CN_C_COMPLETE = Constants.N,
-                            CN_C_SEND_MES = Constants.N,
-                            CN_F_QUANTITY = Convert.ToDecimal(req.CURRENT_AMOUNT),
-                            CN_N_REQUEST_TYPE = 0,//req.RequestType,
-                            CN_S_TRAY_TYPE = "0"//req.LoadType
-                        };
-                    }
-
-                    if (!externalRes.success)
-                    {
-                        //鍐欎换鍔℃墽琛岃〃锛屽苟鍥炴姤mes
-                        if (externalRes.errCode == "7" || externalRes.errCode == "8")
-                        {
-
-                            _serviceExec.CN_C_COMPLETE = Constants.Y;
-                            _serviceExec.CN_C_SEND_MES = Constants.Y;
-                            _serviceExec.CN_S_MSG = externalRes.errMsg;
+                                try
+                                {
+                                    Log.Info("鍑轰綔涓氬尯寮�锛屼紶鍙傦細", JsonConvert.SerializeObject(outWorkAreaEntitys));
+                                    externalRes = BLLCreator.Create<WmsApiBaseBLL>().OutWorkArea(outWorkAreaEntitys);
+                                    taskNo = outModel.taskNo;
+                                }
+                                catch (Exception ex)
+                                {
+                                    Log.Error("鍑轰綔涓氬尯澶辫触锛屼紶鍙傦細", JsonConvert.SerializeObject(outWorkAreaEntitys) + ex.ToString());
+                                    ors.Add(OperateResult.Error("鍑轰綔涓氬尯澶辫触锛� + ex.Message, req));
+                                    continue;
+                                }
+                            }
+                            else
+                            {
+                                ors.Add(OperateResult.Error("鏈煡鐨勫嚭鍏ュ簱绫诲瀷锛� + direction, req));
+                                continue;
+                            }
                         }
                         else
+                        {
+                            // 涓嶉渶瑕佸垱寤簑ms浠诲姟鐨勬墽琛屾祦绋嬶紝鏍囪瘑涓烘垚鍔�+                            externalRes.success = true;
+                        }
+
+                        var _serviceExec = BLLCreator.CreateDapper<TN_WM_SERVICE_EXECEntity>().GetSingleEntity(new
+                        {
+                            CN_S_TASK_NO = req.task_no
+                        });
+                        if (_serviceExec != null)
+                        {
+                            _serviceExec.Update = true;
+                        }
+                        else
+                        {
+                            _serviceExec = new TN_WM_SERVICE_EXECEntity()
+                            {
+                                CN_S_TASK_NO = req.task_no,
+                                CN_S_ITEM_CODE = req.PROD_NO,
+                                CN_S_ITEM_NAME = "",
+                                CN_S_TASK_TYPE = "绉婚�",
+                                CN_S_TRANS_TYPE = req.BUSI_TYPE_NAME,
+                                CN_S_TRAY_CODE = req.TurnCardNum,
+                                CN_N_PRIORITY = req.Priority,
+                                CN_S_START_LOCATION = req.Location_From,
+                                CN_S_END_LOCATION = req.Location_To,
+                                CN_T_CREATE = DateTime.Now,
+                                CN_C_COMPLETE = Constants.N,
+                                CN_C_SEND_MES = Constants.N,
+                                CN_F_QUANTITY = Convert.ToDecimal(req.CURRENT_AMOUNT),
+                                CN_N_REQUEST_TYPE = null,
+                                CN_S_TRAY_TYPE = ""
+                            };
+                        }
+
+                        if (!externalRes.success)
                         {
                             _serviceExec.CN_C_COMPLETE = Constants.N;
                             _serviceExec.CN_C_SEND_MES = Constants.N;
                             _serviceExec.CN_S_MSG = externalRes.errMsg;
-                        }
 
-                        var _or = TransportSuccess(_serviceExec);
+                            var _or = BLLCreator.Create<ZCMiddleOperateBll>().TransportSuccess(req, _serviceExec, taskNo);
 
-                        if (!_or.Success)
-                        {
-                            Log.DomainInfo("TransportSuccess error", _or.Msg);
-                            Log.DomainInfo("externalRes Error锛�" + externalRes.errMsg, JsonConvert.SerializeObject(req));
-
-                            ors.Add(OperateResult.Error("TransportSuccess error", _or.Msg));
-                        }
-                        else
-                        {
-                            if (externalRes.errCode == "7" || externalRes.errCode == "8")
+                            if (!_or.Success)
                             {
-                                ors.Add(OperateResult.Warning("宸插弽棣堣嚦mes锛屾秷鎭細 " + externalRes.errMsg, req));
+                                Log.DomainInfo("TransportSuccess error", _or.Msg);
+                                Log.DomainInfo("externalRes Error锛�" + externalRes.errMsg, JsonConvert.SerializeObject(req));
+
+                                ors.Add(OperateResult.Error("TransportSuccess error", _or.Msg));
                             }
                             else
                             {
                                 ors.Add(OperateResult.Error("externalRes Error锛�" + externalRes.errMsg, req));
                             }
                         }
-                    }
-                    else//鎴愬姛鐨勮瘽鍐欑Щ閫佷换鍔℃棩蹇�-                    {
-                        var ok = externalRes.okList[0];
-
-                        _serviceExec.CN_S_START_LOCATION = ok.startBit;
-                        _serviceExec.CN_S_END_LOCATION = ok.endBit;
-                        _serviceExec.CN_C_COMPLETE = Constants.Y;
-                        _serviceExec.CN_C_SEND_MES = Constants.Y;
-                        _serviceExec.CN_S_MSG = "涓嬭揪鎴愬姛";
-                        var _or = TransportSuccess(_serviceExec);
-                        if (!_or.Success)
+                        else
                         {
-                            ors.Add(OperateResult.Warning("涓嬭揪鎴愬姛,鏇存柊绉婚�浠诲姟鏃ュ織澶辫触锛� + _or.Msg, req));
-                            continue;
+                            var ok = externalRes.okList[0];
+
+                            _serviceExec.CN_S_START_LOCATION = ok.startBit;
+                            _serviceExec.CN_S_END_LOCATION = ok.endBit;
+                            _serviceExec.CN_C_COMPLETE = Constants.Y;
+                            _serviceExec.CN_C_SEND_MES = Constants.Y;
+                            _serviceExec.CN_S_MSG = "涓嬭揪鎴愬姛";
+
+                            req.Data_status = req.SECTION == TaskSectionConstants.COMPLETE ? 2 : 1;
+                            req.NeedTrig = Constants.N;
+                            req.SECTION = section;
+
+                            var _or = BLLCreator.Create<ZCMiddleOperateBll>().TransportSuccess(req, _serviceExec, taskNo);
+
+                            if (!_or.Success)
+                            {
+                                ors.Add(OperateResult.Warning("涓嬭揪鎴愬姛,鏇存柊绉婚�浠诲姟鏃ュ織澶辫触锛� + _or.Msg, req));
+                                continue;
+                            }
+                            ors.Add(OperateResult.Succeed("涓嬭揪鎴愬姛", req));
                         }
-                        ors.Add(OperateResult.Succeed("涓嬭揪鎴愬姛", req));
+
+                        Log.DomainInfo("绉婚�浠诲姟 缁撴灉", JsonConvert.SerializeObject(ors));
+                    }
+                    catch (Exception ex)
+                    {
+                        ors.Add(OperateResult.Error("绉婚�浠诲姟澶辫触锛� + ex.Message, req));
+                        continue;
                     }
                 }
                 Log.DomainInfo("绉婚�浠诲姟 缁撴灉", JsonConvert.SerializeObject(ors));
@@ -480,6 +461,72 @@
             return ors;
         }
         #endregion
+
+        public string NextSection(TN_MES_TASK task)
+        {
+            if (task.BUSI_TYPE == "1")
+            {
+                if (string.IsNullOrEmpty(task.SECTION))
+                    return TaskSectionConstants.BCP_KTCK;
+                else if (task.SECTION == TaskSectionConstants.BCP_KTCK)
+                    return TaskSectionConstants.BCP_MTRK;
+                else if (task.SECTION == TaskSectionConstants.BCP_MTRK)
+                    return TaskSectionConstants.COMPLETE;
+                else
+                    return TaskSectionConstants.ERROR;
+            }
+            else if (task.BUSI_TYPE == "2")
+            {
+                if (string.IsNullOrEmpty(task.SECTION))
+                    return TaskSectionConstants.CXJ_BCPHK;
+                else if (task.SECTION == TaskSectionConstants.CXJ_BCPHK)
+                    return TaskSectionConstants.COMPLETE;
+                else
+                    return TaskSectionConstants.ERROR;
+            }
+            else if (task.BUSI_TYPE == "3")
+            {
+                if (string.IsNullOrEmpty(task.SECTION))
+                    return TaskSectionConstants.CXJ_KTHK_RECORD;
+                else if (task.SECTION == TaskSectionConstants.CXJ_KTHK_RECORD)
+                    return TaskSectionConstants.COMPLETE;
+                else
+                    return TaskSectionConstants.ERROR;
+            }
+            else if (task.BUSI_TYPE == "4")
+            {
+                if (string.IsNullOrEmpty(task.SECTION))
+                    return TaskSectionConstants.CXJ_MTCK;
+                else if (task.SECTION == TaskSectionConstants.CXJ_MTCK)
+                    return TaskSectionConstants.CXJ_KTHK_KTRK;
+                else if (task.SECTION == TaskSectionConstants.CXJ_KTHK_KTRK)
+                    return TaskSectionConstants.COMPLETE;
+                else
+                    return TaskSectionConstants.ERROR;
+            }
+            else if (task.BUSI_TYPE == "5")
+            {
+                if (string.IsNullOrEmpty(task.SECTION))
+                    return TaskSectionConstants.DS_BCPKTHK;
+                else if (task.SECTION == TaskSectionConstants.DS_BCPKTHK)
+                    return TaskSectionConstants.COMPLETE;
+                else
+                    return TaskSectionConstants.ERROR;
+            }
+            else if (task.BUSI_TYPE == "6")
+            {
+                if (string.IsNullOrEmpty(task.SECTION))
+                    return TaskSectionConstants.DS_MTCK;
+                else if (task.SECTION == TaskSectionConstants.DS_MTCK)
+                    return TaskSectionConstants.COMPLETE;
+                else
+                    return TaskSectionConstants.ERROR;
+            }
+            else
+            {
+                return TaskSectionConstants.ERROR;
+            }
+        }
 
         #region 鍒ゆ柇鏄惁鍦ㄥ伐浣滄椂闂�         /// <summary>
@@ -524,9 +571,6 @@
 
                 //浼犻�鍙傛暟
                 List<InWorkAreaEntity> inWorkAreaEntitys = new List<InWorkAreaEntity>();
-
-
-
 
 
                 InWorkAreaEntity model = new InWorkAreaEntity();
@@ -783,267 +827,364 @@
         {
             try
             {
-                //鍙栨湭鎵ц銆佸畬鎴愪竴鍗娿�瀹屾垚閮ㄥ垎鐨勮嚜绠′换鍔�+                //鍙栨湭鎵ц鐨勮嚜绠′换鍔�                 var tasks = BLLCreator.CreateDapper<TN_WM_TASKEntity>().GetList(new
                 {
                     CN_S_TASK_FLAG = Constants.TaskFlag_ZG,
-                    CN_S_STATE = new List<string>() { Constants.TaskState_NoExecuted, Constants.TaskState_CompleteHalf, Constants.TaskState_CompletePart }
+                    CN_S_STATE = new List<string>() { Constants.TaskState_NoExecuted, Constants.TaskState_CompleteHalf }
                 });
 
-                // 鎺ラ┏浣嶉厤缃�+                var mes_tasks = BLLCreator.CreateDapper<TN_MES_TASK>().GetList(new
+                {
+                    task_no = tasks.ConvertAll(t => t.CN_S_EXT1).ToList()
+                });
+
                 var connectBitStr = JsonHelper.GetValue("connectBit");
                 if (string.IsNullOrEmpty(connectBitStr))
                     throw new Exception("鏈壘鍒伴厤缃細connectBit");
+
+                var connectBits = JsonConvert.DeserializeObject<List<ConnectBitDto>>(connectBitStr);
 
                 List<OperateResult> ors = new List<OperateResult>();
                 foreach (var task in tasks)
                 {
                     try
                     {
-                        var connectBits = JsonConvert.DeserializeObject<List<ConnectBitDto>>(connectBitStr);
-
-                        OperateResult or = OperateResult.Error("鏈煡閿欒");
-
-                        #region 鍗婃垚鍝�-
-                        #region 绌烘墭鍑哄簱
-
-                        if (task.CN_S_EXT3 == TaskSectionConstants.BCP_KTCK)
+                        var mes_task = mes_tasks.FirstOrDefault(t => t.task_no == task.CN_S_EXT1);
+                        if (mes_task == null)
                         {
-                            // 绌烘墭鍑哄簱鐨勬帴椹充綅
-                            var connectBit = connectBits.Find(f => f.tasktype == ConnectBitConstants.KTCK);
-                            if (task.CN_S_EXT2 == TaskFlagConstants.ROOT)
+                            ors.Add(OperateResult.Error("浠嶵N_MES_TASK琛ㄤ腑鏈壘鍒版浠诲姟鐨勬潵婧怣ES浠诲姟锛屼换鍔$紪鍙凤細" + task.CN_S_TASK_NO));
+                            continue;
+                        }
+                        // 鍑哄簱涓讳换鍔℃槸鍚屾椂涓嬩袱鏉″瓙浠诲姟
+                        if (mes_task.SECTION == TaskSectionConstants.BCP_KTCK ||
+                            mes_task.SECTION == TaskSectionConstants.CXJ_MTCK ||
+                            mes_task.SECTION == TaskSectionConstants.DS_MTCK)
+                        {
+                            string tasktype = mes_task.SECTION == TaskSectionConstants.BCP_KTCK ? ConnectBitConstants.KTCK : mes_task.SECTION == TaskSectionConstants.CXJ_MTCK ? ConnectBitConstants.MTCK : mes_task.SECTION == TaskSectionConstants.DS_MTCK ? ConnectBitConstants.DSCK : "";
+                            //绔嬪簱璐т綅
+                            string lkBit = task.CN_S_START_BIT;
+
+                            var locationBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
                             {
-                                // 鍒涘缓涓ゆ潯骞惰瀛愪换鍔�-                                or = ExecBCP_KTCK_Add(task, connectBit);
+                                CN_S_LOCATION_CODE = lkBit
+                            });
+                            if (locationBit == null)
+                                throw new Exception("鏈壘鍒扮珛搴撹揣浣嶏細" + lkBit);
+                            var _bit = connectBits.Find(f => f.tasktype == tasktype);
+                            if (_bit == null)
+                                throw new Exception("鏈壘鍒伴厤缃被鍨嬩负锛� + tasktype + "鐨勬帴椹充綅");
+
+                            var connectBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
+                            {
+                                CN_S_LOCATION_CODE = _bit.bit
+                            });
+                            if (connectBit == null)
+                                throw new Exception("鏈壘鍒版帴椹充綅璐т綅锛� + _bit.bit);
+                            if (connectBit.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
+                                throw new Exception("鎺ラ┏浣嶏細" + _bit.bit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�);
+
+                            var readytBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
+                            {
+                                CN_S_LOCATION_CODE = _bit.readybit
+                            });
+                            if (readytBit == null)
+                                throw new Exception("鏈壘鍒板噯澶囩偣璐т綅锛� + _bit.bit);
+                            if (readytBit.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
+                                throw new Exception("鍑嗗鐐癸細" + _bit.bit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�);
+
+                            //璧嬪�鎺ラ┏浣�+                            task.CN_S_CONNECT_BIT = _bit.bit;
+                            task.CN_S_EXT2 = _bit.readybit;
+
+                            string taskNo1 = task.CN_S_TASK_NO + "_1";
+                            //鍒涘缓绗竴涓换鍔�+                            TN_WM_TASKEntity taskEntity1 = new TN_WM_TASKEntity()
+                            {
+                                CN_S_TASK_NO = taskNo1,
+                                CN_S_TRAY_CODE = task.CN_S_TRAY_CODE,
+                                CN_S_START_BIT = task.CN_S_START_BIT,
+                                CN_S_END_BIT = task.CN_S_CONNECT_BIT,
+                                CN_S_STATE = Constants.TaskState_NoExecuted,
+                                CN_S_BF_TASK_NO = "",
+                                CN_S_AF_TASK_NO = "",
+                                CN_S_STOCK_CODE = task.CN_S_STOCK_CODE,
+                                CN_S_START_AREA = task.CN_S_START_AREA,
+                                CN_S_END_AREA = connectBit.CN_S_AREA_CODE,
+                                CN_N_PRIORITY = 1,
+                                CN_S_CREATOR = "sys",
+                                CN_S_CREATOR_BY = "sys",
+                                CN_T_CREATE = DateTime.Now,
+                                CN_T_MODIFY = DateTime.Now,
+                                CN_S_REMARK = "",
+                                CN_S_TASK_FLAG = Constants.TaskFlag_LG,
+                                CN_S_TASK_TYPE = "杞繍"
+                            };
+                            string taskNo2 = task.CN_S_TASK_NO + "_2";
+                            //鍒涘缓绗簩涓换鍔�+                            TN_WM_TASKEntity taskEntity2 = new TN_WM_TASKEntity()
+                            {
+                                CN_S_TASK_NO = taskNo2,
+                                CN_S_TRAY_CODE = task.CN_S_TRAY_CODE,
+                                CN_S_START_BIT = task.CN_S_CONNECT_BIT,
+                                CN_S_END_BIT = task.CN_S_END_BIT,
+                                CN_S_STATE = Constants.TaskState_NoExecuted,
+                                CN_S_BF_TASK_NO = "",
+                                CN_S_AF_TASK_NO = "",
+                                CN_S_STOCK_CODE = task.CN_S_STOCK_CODE,
+                                CN_S_START_AREA = connectBit.CN_S_AREA_CODE,
+                                CN_S_END_AREA = task.CN_S_END_AREA,
+                                CN_N_PRIORITY = 1,
+                                CN_S_CREATOR = "sys",
+                                CN_S_CREATOR_BY = "sys",
+                                CN_T_CREATE = DateTime.Now,
+                                CN_T_MODIFY = DateTime.Now,
+                                CN_S_REMARK = "",
+                                CN_S_TASK_FLAG = Constants.TaskFlag_AGV,
+                                CN_S_TASK_TYPE = "杞繍"
+                            };
+                            var or = UseTransaction(trans =>
+                            {
+                                //澧炲姞瀛愪换鍔�+                                CreateDapperDAL<TN_WM_TASKEntity>().Add(taskEntity1, trans);
+                                //鏇存柊鎺ラ┏浣嶇姸鎬�+                                CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                                {
+                                    CN_S_LOCATION_STATE = Constants.Location_State_InLock
+                                }, new
+                                {
+                                    CN_S_LOCATION_CODE = taskEntity1.CN_S_END_BIT
+                                }, trans);
+                                // 鏇存柊涓讳换鍔℃帴椹充綅 鐘舵�缃负鎵ц涓�璁板綍鎺ラ┏浣嶅拰鍑嗗鐐�+                                CreateDapperDAL<TN_WM_TASKEntity>().Update(new
+                                {
+                                    CN_S_CONNECT_BIT = task.CN_S_CONNECT_BIT,
+                                    CN_S_EXT1 = task.CN_S_EXT1,
+                                    CN_S_STATE = Constants.TaskState_Executing
+                                }, new
+                                {
+                                    CN_S_TASK_NO = task.CN_S_TASK_NO
+                                }, trans);
+                                //绔嬪簱浠诲姟  闇�璋冪敤wcs鎺ュ彛
+                                // 鍙戦�Wcs浠诲姟
+                                Log.Detail(LogType.LogPara("璋冪敤WCS鎺ュ彛鎵ц浠诲姟"), "浠诲姟淇℃伅锛� + JsonConvert.SerializeObject(taskEntity1));
+                                OperateResult re = BLLCreator.Create<OtherSysApi>().SendWcsCreateTask(taskEntity1);
+                                Log.Detail(LogType.LogPara("璋冪敤WCS鎺ュ彛鎵ц浠诲姟"), "鎵ц缁撴灉锛� + JsonConvert.SerializeObject(re));
+                                if (!re.Success)
+                                {
+                                    throw new Exception(re.Msg);
+                                }
+
+                                //澧炲姞瀛愪换鍔�+                                CreateDapperDAL<TN_WM_TASKEntity>().Add(taskEntity2, trans);
+                                //鏇存柊鍑嗗鐐圭姸鎬�+                                CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                                {
+                                    CN_S_LOCATION_STATE = Constants.Location_State_OutLock
+                                }, new
+                                {
+                                    CN_S_LOCATION_CODE = taskEntity2.CN_S_START_BIT
+                                }, trans);
+
+                                //agv浠诲姟
+                                re = new OtherSysApi().SendAmsCreateTask(taskEntity2);
+                                if (!re.Success)
+                                {
+                                    throw new Exception(re.Msg);
+                                }
+                            });
+                            if (!or.Success) throw new Exception(or.Msg);
+                        }
+                        else
+                        {
+                            //鏈墽琛岃〃绀虹涓�釜浠诲姟
+                            if (task.CN_S_STATE == Constants.TaskState_NoExecuted)
+                            {
+                                //绔嬪簱璐т綅
+                                string lkBit = string.Empty;
+                                //鏍规嵁浠诲姟绫诲瀷鍒ゆ柇绔嬪簱璐т綅
+                                if (task.CN_S_TASK_TYPE == Constants.Out)
+                                {
+                                    lkBit = task.CN_S_START_BIT;
+                                }
+                                else if (task.CN_S_TASK_TYPE == Constants.In)
+                                {
+                                    lkBit = task.CN_S_END_BIT;
+                                }
+                                else
+                                {
+                                    throw new Exception("鑷浠诲姟浠诲姟绫诲瀷涓嶆纭�);
+                                }
+
+                                var locationBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
+                                {
+                                    CN_S_LOCATION_CODE = lkBit
+                                });
+                                if (locationBit == null)
+                                    throw new Exception("鏈壘鍒扮珛搴撹揣浣嶏細" + lkBit);
+                                var _bit = connectBits.Find(f => f.tunnel == Util.ToString(locationBit.CN_S_ROADWAY).Trim());
+                                if (_bit == null)
+                                    throw new Exception("鏈壘鍒伴厤缃贩閬擄細" + locationBit.CN_S_ROADWAY + "鐨勬帴椹充綅");
+
+                                var connectBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
+                                {
+                                    CN_S_LOCATION_CODE = _bit.bit
+                                });
+                                if (connectBit == null)
+                                    throw new Exception("鏈壘鍒版帴椹充綅璐т綅锛� + _bit.bit);
+                                if (connectBit.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
+                                    throw new Exception("鎺ラ┏浣嶏細" + _bit.bit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�);
+
+                                //璧嬪�鎺ラ┏浣�+                                task.CN_S_CONNECT_BIT = _bit.bit;
+
+                                string taskNo = task.CN_S_TASK_NO + "_1";
+                                //鍒涘缓绗竴涓换鍔�+                                TN_WM_TASKEntity taskEntity = new TN_WM_TASKEntity()
+                                {
+                                    CN_S_TASK_NO = taskNo,
+                                    CN_S_TRAY_CODE = task.CN_S_TRAY_CODE,
+                                    CN_S_START_BIT = task.CN_S_START_BIT,
+                                    CN_S_END_BIT = task.CN_S_CONNECT_BIT,
+                                    CN_S_STATE = Constants.TaskState_NoExecuted,
+                                    CN_S_BF_TASK_NO = "",
+                                    CN_S_AF_TASK_NO = "",
+                                    CN_S_STOCK_CODE = task.CN_S_STOCK_CODE,
+                                    CN_S_START_AREA = task.CN_S_START_AREA,
+                                    CN_S_END_AREA = connectBit.CN_S_AREA_CODE,
+                                    CN_N_PRIORITY = 1,
+                                    CN_S_CREATOR = "sys",
+                                    CN_S_CREATOR_BY = "sys",
+                                    CN_T_CREATE = DateTime.Now,
+                                    CN_T_MODIFY = DateTime.Now,
+                                    CN_S_REMARK = "",
+                                    CN_S_TASK_FLAG = task.CN_S_TASK_TYPE == Constants.Out ? Constants.TaskFlag_LG : Constants.TaskFlag_AGV,
+                                    CN_S_TASK_TYPE = "杞繍"
+                                };
+                                var or = UseTransaction(trans =>
+                                {
+                                    //澧炲姞瀛愪换鍔�+                                    CreateDapperDAL<TN_WM_TASKEntity>().Add(taskEntity, trans);
+                                    //鏇存柊鎺ラ┏浣嶇姸鎬�+                                    CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                                    {
+                                        CN_S_LOCATION_STATE = Constants.Location_State_InLock
+                                    }, new
+                                    {
+                                        CN_S_LOCATION_CODE = taskEntity.CN_S_END_BIT
+                                    }, trans);
+                                    // 鏇存柊涓讳换鍔℃帴椹充綅 鐘舵�缃负鎵ц涓�+                                    CreateDapperDAL<TN_WM_TASKEntity>().Update(new
+                                    {
+                                        CN_S_CONNECT_BIT = task.CN_S_CONNECT_BIT,
+                                        CN_S_STATE = Constants.TaskState_Executing
+                                    }, new
+                                    {
+                                        CN_S_TASK_NO = task.CN_S_TASK_NO
+                                    }, trans);
+                                    //绔嬪簱浠诲姟  闇�璋冪敤wcs鎺ュ彛
+                                    if (taskEntity.CN_S_TASK_FLAG == Constants.TaskFlag_LG)
+                                    {
+                                        //to do...
+                                        #region 寰呮祴璇�+                                        //OperateResult re = new OtherSysApi().SendWcsCreateTask(taskEntity, _bit);
+                                        //if (!re.Success)
+                                        //{
+                                        //    throw new Exception(re.Msg);
+                                        //}
+                                        #endregion
+                                    }
+                                    else//agv浠诲姟
+                                    {
+                                        //OperateResult re = new OtherSysApi().SendAmsCreateTask(taskEntity);
+                                        //if (!re.Success)
+                                        //{
+                                        //    throw new Exception(re.Msg);
+                                        //}
+                                    }
+                                });
+                                if (!or.Success) throw new Exception(or.Msg);
                             }
-                            else if (task.CN_S_EXT2 == TaskFlagConstants.BCP_KTCK_SUB_1)
+                            else//鎵ц涓�崐鐨勪换鍔★紝寮�鍒涘缓绗簩涓换鍔�                             {
-                                // 鎵ц绗竴鏉″瓙浠诲姟
-                                or = ExecBCP_KTCK_Sub1(task, connectBit);
-                            }
-                            else if (task.CN_S_EXT2 == TaskFlagConstants.BCP_KTCK_SUB_2)
-                            {
-                                // 鎵ц绗簩鏉′换鍔�-                                or = ExecBCP_KTCK_Sub2(task, connectBit);
+                                string taskNo = task.CN_S_TASK_NO + "_2";
+                                var connectBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
+                                {
+                                    CN_S_LOCATION_CODE = task.CN_S_CONNECT_BIT
+                                });
+                                var _bit = connectBits.Find(f => f.tunnel == Util.ToString(connectBit.CN_S_ROADWAY).Trim());
+                                if (_bit == null)
+                                    throw new Exception("鏈壘鍒伴厤缃贩閬擄細" + connectBit.CN_S_ROADWAY + "鐨勬帴椹充綅");
+                                //鍒涘缓绗簩涓换鍔�+                                TN_WM_TASKEntity taskEntity = new TN_WM_TASKEntity()
+                                {
+                                    CN_S_TASK_NO = taskNo,
+                                    CN_S_TRAY_CODE = task.CN_S_TRAY_CODE,
+                                    CN_S_START_BIT = task.CN_S_CONNECT_BIT,
+                                    CN_S_END_BIT = task.CN_S_END_BIT,
+                                    CN_S_STATE = Constants.TaskState_NoExecuted,
+                                    CN_S_BF_TASK_NO = "",
+                                    CN_S_AF_TASK_NO = "",
+                                    CN_S_STOCK_CODE = task.CN_S_STOCK_CODE,
+                                    CN_S_START_AREA = connectBit.CN_S_AREA_CODE,
+                                    CN_S_END_AREA = task.CN_S_END_AREA,
+                                    CN_N_PRIORITY = 1,
+                                    CN_S_CREATOR = "sys",
+                                    CN_S_CREATOR_BY = "sys",
+                                    CN_T_CREATE = DateTime.Now,
+                                    CN_T_MODIFY = DateTime.Now,
+                                    CN_S_REMARK = "",
+                                    CN_S_TASK_FLAG = task.CN_S_TASK_TYPE == Constants.Out ? Constants.TaskFlag_AGV : Constants.TaskFlag_LG,
+                                    CN_S_TASK_TYPE = "杞繍"
+                                };
+
+                                var or = UseTransaction(trans =>
+                                {
+                                    //澧炲姞瀛愪换鍔�+                                    CreateDapperDAL<TN_WM_TASKEntity>().Add(taskEntity, trans);
+                                    //鏇存柊鎺ラ┏浣嶇姸鎬�+                                    CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                                    {
+                                        CN_S_LOCATION_STATE = Constants.Location_State_OutLock
+                                    }, new
+                                    {
+                                        CN_S_LOCATION_CODE = taskEntity.CN_S_START_BIT
+                                    }, trans);
+                                    // 鏇存柊涓讳换鍔℃帴椹充綅 鐘舵�缃负鎵ц涓�+                                    CreateDapperDAL<TN_WM_TASKEntity>().Update(new
+                                    {
+                                        CN_S_STATE = Constants.TaskState_Executing
+                                    }, new
+                                    {
+                                        CN_S_TASK_NO = task.CN_S_TASK_NO
+                                    }, trans);
+
+                                    //绔嬪簱浠诲姟  闇�璋冪敤wcs鎺ュ彛
+                                    if (taskEntity.CN_S_TASK_FLAG == Constants.TaskFlag_LG)
+                                    {
+                                        //to do...
+                                        #region 寰呮祴璇�+                                        //OperateResult re = new OtherSysApi().SendWcsCreateTask(taskEntity, _bit);
+                                        //if (!re.Success)
+                                        //{
+                                        //    throw new Exception(re.Msg);
+                                        //}
+                                        #endregion
+                                    }
+                                    else//agv浠诲姟
+                                    {
+                                        //OperateResult re = new OtherSysApi().SendAmsCreateTask(taskEntity);
+                                        //if (!re.Success)
+                                        //{
+                                        //    throw new Exception(re.Msg);
+                                        //}
+                                    }
+                                });
+                                if (!or.Success) throw new Exception(or.Msg);
                             }
                         }
 
-                        #endregion
-
-                        #region 婊℃墭鍏ュ簱
-
-                        else if (task.CN_S_EXT3 == TaskSectionConstants.BCP_MTRK)
-                        {
-                            // 婊℃墭鍏ュ簱鐨勬帴椹充綅
-                            var connectBit = connectBits.Find(f => f.tasktype == ConnectBitConstants.MTRK);
-                            if (task.CN_S_EXT2 == TaskFlagConstants.ROOT)
-                            {
-                                // 鍒涘缓绗竴鏉″瓙浠诲姟
-                                or = ExecBCP_MTRK_AddSub1(task, connectBit);
-                            }
-                            else if (task.CN_S_EXT2 == TaskFlagConstants.BCP_MTRK_SUB_1)
-                            {
-                                // 鎵ц绗竴鏉″瓙浠诲姟
-                                or = ExecBCP_MTRK_Sub1(task, connectBit);
-                            }
-                            else if (task.CN_S_EXT2 == TaskFlagConstants.BCP_MTRK_SUB_2)
-                            {
-                                // 鎵ц绗簩鏉″瓙浠诲姟
-                                or = ExecBCP_MTRK_Sub2(task, connectBit);
-                            }
-                        }
-                        else if (task.CN_S_EXT3 == TaskSectionConstants.BCP_MTRK_SECOND)
-                        {
-                            // 婊℃墭鍏ュ簱鐨勬帴椹充綅
-                            var connectBit = connectBits.Find(f => f.tasktype == ConnectBitConstants.MTRK);
-                            if (task.CN_S_EXT2 == TaskFlagConstants.ROOT)
-                            {
-                                // 鍒涘缓绗簩鏉″瓙浠诲姟
-                                or = ExecBCP_MTRK_AddSub2(task, connectBit);
-                            }
-                        }
-
-                        #endregion
-
-                        #endregion
-
-                        #region 鎴愬瀷鏈�-
-                        #region 鍗婃垚鍝佸洖搴�-
-                        else if (task.CN_S_EXT3 == TaskSectionConstants.CXJ_BCPHK)
-                        {
-                            // 婊℃墭鍏ュ簱鐨勬帴椹充綅
-                            var connectBit = connectBits.Find(f => f.tasktype == ConnectBitConstants.MTRK);
-                            if (task.CN_S_EXT2 == TaskFlagConstants.ROOT)
-                            {
-                                // 鍒涘缓绗竴鏉″瓙浠诲姟
-                                ExecCXJ_BCPHK_AddSub1(task, connectBit);
-                            }
-                            else if (task.CN_S_EXT2 == TaskFlagConstants.CXJ_BCPHK_SUB_1)
-                            {
-                                // 鎵ц绗竴鏉″瓙浠诲姟
-                                ExecCXJ_BCPHK_Sub1(task, connectBit);
-                            }
-                            else if (task.CN_S_EXT2 == TaskFlagConstants.CXJ_BCPHK_SUB_2)
-                            {
-                                // 鎵ц绗簩鏉″瓙浠诲姟
-                                ExecCXJ_BCPHK_Sub2(task, connectBit);
-                            }
-                        }
-                        else if (task.CN_S_EXT3 == TaskSectionConstants.CXJ_BCPHK_SECOND)
-                        {
-                            // 婊℃墭鍏ュ簱鐨勬帴椹充綅
-                            var connectBit = connectBits.Find(f => f.tasktype == ConnectBitConstants.MTRK);
-                            if (task.CN_S_EXT2 == TaskFlagConstants.ROOT)
-                            {
-                                // 鍒涘缓绗簩鏉″瓙浠诲姟
-                                ExecCXJ_BCPHK_AddSub2(task, connectBit);
-                            }
-                        }
-
-                        #endregion
-
-                        #region 绌烘墭鍥炲簱
-
-                        #region 璁板綍
-
-                        else if (task.CN_S_EXT3 == TaskSectionConstants.CXJ_KTHK_RECORD)
-                        {
-                            // 鍙敤浜庤褰�-                            // 鍦ㄥ悓涓�嚎杈硅揣浣嶇殑婊℃墭鍑哄簱浠诲姟瀹屾垚鍚庢墽琛�-                        }
-
-                        #endregion
-
-                        #region 绌烘墭鍏ュ簱
-
-                        else if (task.CN_S_EXT3 == TaskSectionConstants.CXJ_KTHK_KTRK)
-                        {
-                            // 绌烘墭鍏ュ簱鐨勬帴椹充綅
-                            var connectBit = connectBits.Find(f => f.tasktype == ConnectBitConstants.KTRK);
-                            if (task.CN_S_EXT2 == TaskFlagConstants.ROOT)
-                            {
-                                // 鍒涘缓绗竴鏉″瓙浠诲姟
-                                ExecCXJ_KTHK_KTRK_AddSub1(task, connectBit);
-                            }
-                            else if (task.CN_S_EXT2 == TaskFlagConstants.CXJ_BCPHK_SUB_1)
-                            {
-                                // 鎵ц绗竴鏉″瓙浠诲姟
-                                ExecCXJ_KTHK_KTRK_Sub1(task, connectBit);
-                            }
-                            else if (task.CN_S_EXT2 == TaskFlagConstants.CXJ_BCPHK_SUB_2)
-                            {
-                                // 鎵ц绗簩鏉″瓙浠诲姟
-                                ExecCXJ_KTHK_KTRK_Sub2(task, connectBit);
-                            }
-                        }
-                        else if (task.CN_S_EXT3 == TaskSectionConstants.CXJ_KTHK_KTRK_SECOND)
-                        {
-                            // 绌烘墭鍏ュ簱鐨勬帴椹充綅
-                            var connectBit = connectBits.Find(f => f.tasktype == ConnectBitConstants.KTRK);
-                            if (task.CN_S_EXT2 == TaskFlagConstants.ROOT)
-                            {
-                                // 鍒涘缓绗簩鏉″瓙浠诲姟
-                                ExecCXJ_KTHK_KTRK_AddSub2(task, connectBit);
-                            }
-                        }
-
-                        #endregion
-
-                        #endregion
-
-                        #region 婊℃墭鍑哄簱
-
-                        else if (task.CN_S_EXT3 == TaskSectionConstants.CXJ_MTCK)
-                        {
-                            // 婊℃墭鍑哄簱鐨勬帴椹充綅
-                            var connectBit = connectBits.Find(f => f.tasktype == ConnectBitConstants.MTCK);
-                            if (task.CN_S_EXT2 == TaskFlagConstants.ROOT)
-                            {
-                                // 鍒涘缓涓ゆ潯骞惰瀛愪换鍔�-                                or = ExecCXJ_MTCK_Add(task, connectBit);
-                            }
-                            else if (task.CN_S_EXT2 == TaskFlagConstants.CXJ_MTCK_SUB_1)
-                            {
-                                // 鎵ц绗竴鏉″瓙浠诲姟
-                                or = ExecCXJ_MTCK_Sub1(task, connectBit);
-                            }
-                            else if (task.CN_S_EXT2 == TaskFlagConstants.CXJ_MTCK_SUB_2)
-                            {
-                                // 鎵ц绗簩鏉′换鍔�-                                or = ExecCXJ_MTCK_Sub2(task, connectBit);
-                            }
-                        }
-
-                        #endregion
-
-                        #endregion
-
-                        #region 甯︽潫
-
-                        #region 鍗婃垚鍝�绌烘墭鍥炲簱
-
-                        else if (task.CN_S_EXT3 == TaskSectionConstants.DS_BCPKTHK)
-                        {
-                            // 甯︽潫鍏ュ簱鐨勬帴椹充綅
-                            var connectBit = connectBits.Find(f => f.tasktype == ConnectBitConstants.DSRK);
-                            if (task.CN_S_EXT2 == TaskFlagConstants.ROOT)
-                            {
-                                // 鍒涘缓绗竴鏉″瓙浠诲姟
-                                ExecDS_BCPKTHK_AddSub1(task, connectBit);
-                            }
-                            else if (task.CN_S_EXT2 == TaskFlagConstants.CXJ_BCPHK_SUB_1)
-                            {
-                                // 鎵ц绗竴鏉″瓙浠诲姟
-                                ExecDS_BCPKTHK_Sub1(task, connectBit);
-                            }
-                            else if (task.CN_S_EXT2 == TaskFlagConstants.CXJ_BCPHK_SUB_2)
-                            {
-                                // 鎵ц绗簩鏉″瓙浠诲姟
-                                ExecDS_BCPKTHK_Sub2(task, connectBit);
-                            }
-                        }
-                        else if (task.CN_S_EXT3 == TaskSectionConstants.DS_BCPKTHK_SECOND)
-                        {
-                            // 甯︽潫鍏ュ簱鐨勬帴椹充綅
-                            var connectBit = connectBits.Find(f => f.tasktype == ConnectBitConstants.DSRK);
-                            if (task.CN_S_EXT2 == TaskFlagConstants.ROOT)
-                            {
-                                // 鍒涘缓绗簩鏉″瓙浠诲姟
-                                ExecDS_BCPKTHK_AddSub2(task, connectBit);
-                            }
-                        }
-
-                        #endregion
-
-                        #region 婊℃墭鍑哄簱
-
-                        else if (task.CN_S_EXT3 == TaskSectionConstants.DS_MTCK)
-                        {
-                            // 甯︽潫鍑哄簱鐨勬帴椹充綅
-                            var connectBit = connectBits.Find(f => f.tasktype == ConnectBitConstants.DSCK);
-                            if (task.CN_S_EXT2 == TaskFlagConstants.ROOT)
-                            {
-                                // 鍒涘缓涓ゆ潯骞惰瀛愪换鍔�-                                or = ExecCXJ_MTCK_Add(task, connectBit);
-                            }
-                            else if (task.CN_S_EXT2 == TaskFlagConstants.DS_MTCK_SUB_1)
-                            {
-                                // 鎵ц绗竴鏉″瓙浠诲姟
-                                or = ExecCXJ_MTCK_Sub1(task, connectBit);
-                            }
-                            else if (task.CN_S_EXT2 == TaskFlagConstants.DS_MTCK_SUB_2)
-                            {
-                                // 鎵ц绗簩鏉′换鍔�-                                or = ExecCXJ_MTCK_Sub2(task, connectBit);
-                            }
-                        }
-
-                        #endregion
-
-                        #endregion
+                        ors.Add(OperateResult.Succeed("鐢熸垚鎴愬姛"));
                     }
                     catch (Exception ex)
                     {
@@ -1055,100 +1196,6 @@
             catch (Exception ex)
             {
                 Log.DomainInfo("SelfManageTask Error", ex.Message);
-            }
-        }
-
-        /// <summary>
-        /// 閬嶅巻涓棿琛紝鏍规嵁涓氬姟绫诲瀷鍒涘缓WMS浠诲姟
-        /// </summary>
-        public void ExecTransferTask()
-        {
-            // 宸叉帴鏀跺緟澶勭悊浠诲姟
-            var receiveTasks = BLLCreator.CreateDapper<TN_MES_TASK>().GetList(new TN_MES_TASK
-            {
-                NeedTrig = "Y"
-            }).OrderBy(t => t.CreateDate).ToList();
-
-            List<OperateResult> ors = new List<OperateResult>();
-
-            foreach (var task in receiveTasks)
-            {
-                try
-                {
-                    // 浠巑ongo涓幏鍙栬揣浣嶇浉鍏崇殑淇℃伅 - 璧峰璐т綅
-                    AutoBomLocationEntity start_location = CreateDAL<TN_AB_STOCK_LOCATIONDAL>().GetModel(task.Location_From);
-                    // 浠巑ongo涓幏鍙栬揣浣嶇浉鍏崇殑淇℃伅 - 缁堢偣璐т綅
-                    AutoBomLocationEntity end_location = CreateDAL<TN_AB_STOCK_LOCATIONDAL>().GetModel(task.Location_To);
-
-                    // 涓讳换鍔℃墽琛屾祦绋嬩腑鐨勮捣濮嬮樁娈�-                    string section = "";
-                    switch (task.BUSI_TYPE)
-                    {
-                        case "1":
-                            section = TaskSectionConstants.BCP_KTCK;
-                            break;
-                        case "2":
-                            section = TaskSectionConstants.CXJ_BCPHK;
-                            break;
-                        case "3":
-                            section = TaskSectionConstants.CXJ_KTHK_RECORD;
-                            break;
-                        case "4":
-                            section = TaskSectionConstants.CXJ_MTCK;
-                            break;
-                        case "5":
-                            section = TaskSectionConstants.DS_BCPKTHK;
-                            break;
-                        case "6":
-                            section = TaskSectionConstants.DS_MTCK;
-                            break;
-                    }
-                    // 鍒涘缓WMS涓讳换鍔�-                    TN_WM_TASKEntity taskEntity = new TN_WM_TASKEntity()
-                    {
-                        CN_S_TASK_NO = task.task_no,
-                        CN_S_TRAY_CODE = task.TurnCardNum,
-                        CN_S_STATE = Constants.TaskState_NoExecuted,
-                        CN_S_BF_TASK_NO = "",
-                        CN_S_AF_TASK_NO = "",
-                        CN_S_STOCK_CODE = start_location.CN_S_STOCK_CODE,
-                        CN_S_START_AREA = start_location.CN_S_AREA_CODE,
-                        CN_S_START_BIT = start_location.CN_S_LOCATION_CODE,
-                        CN_S_END_AREA = end_location.CN_S_AREA_CODE,
-                        CN_S_END_BIT = end_location.CN_S_LOCATION_CODE,
-                        CN_N_PRIORITY = 1,
-                        CN_S_CREATOR = "sys",
-                        CN_S_CREATOR_BY = "sys",
-                        CN_T_CREATE = DateTime.Now,
-                        CN_T_MODIFY = DateTime.Now,
-                        CN_S_REMARK = "",
-                        CN_S_TASK_FLAG = Constants.TaskFlag_ZG,
-                        CN_S_EXT1 = "",
-                        CN_S_EXT2 = TaskFlagConstants.ROOT,
-                        CN_S_EXT3 = section
-                    };
-                    UseTransaction(trans =>
-                    {
-                        // 澧炲姞WMS涓讳换鍔�-                        OperateResult re = CreateDapperDAL<TN_WM_TASKEntity>().Add(taskEntity);
-                        if (!re.Success)
-                            throw new Exception(re.Msg);
-                        // 鏇存柊TN_MES_TASK鐘舵�
-                        CreateDapperDAL<TN_MES_TASK>().Update(new
-                        {
-                            NeedTrig = "N"
-                        }, new { task_no = task.task_no }, trans);
-                        if (!re.Success)
-                            throw new Exception(re.Msg);
-                    });
-
-                    ors.Add(OperateResult.Succeed("鐢熸垚鎴愬姛"));
-                }
-                catch (Exception ex)
-                {
-                    ors.Add(OperateResult.Error(ex.Message));
-                }
-                Log.DomainInfo("ExecTransferTask", JsonConvert.SerializeObject(ors));
             }
         }
 
@@ -2866,21 +2913,18 @@
         /// 浠诲姟瀹屾垚
         /// </summary>
         public static string COMPLETE = "浠诲姟瀹屾垚";
+        public static string ERROR = "鎵ц澶辫触";
 
         #region 鍗婃垚鍝� 
         /// <summary>
         /// 鍗婃垚鍝�绌烘墭鍑哄簱
         /// </summary>
-        public static string BCP_KTCK = "绌烘墭鍑哄簱";
+        public static string BCP_KTCK = "鍗婃垚鍝�绌烘墭鍑哄簱";
         /// <summary>
         /// 鍗婃垚鍝�婊℃墭鍏ュ簱
         /// </summary>
         public static string BCP_MTRK = "鍗婃垚鍝�婊℃墭鍏ュ簱";
-        /// <summary>
-        /// 鍗婃垚鍝�婊℃墭鍏ュ簱-绗簩闃舵
-        /// </summary>
-        public static string BCP_MTRK_SECOND = "鍗婃垚鍝�婊℃墭鍏ュ簱-绗簩闃舵";
 
         #endregion
 
@@ -2890,11 +2934,6 @@
         /// 鎴愬瀷鏈�鍗婃垚鍝佸洖搴�         /// </summary>
         public static string CXJ_BCPHK = "鎴愬瀷鏈�鍗婃垚鍝佸洖搴�;
-
-        /// <summary>
-        /// 鎴愬瀷鏈�鍗婃垚鍝佸洖搴�绗簩闃舵
-        /// </summary>
-        public static string CXJ_BCPHK_SECOND = "鎴愬瀷鏈�鍗婃垚鍝佸洖搴�绗簩闃舵";
         /// <summary>
         /// 鎴愬瀷鏈�绌烘墭鍥炲簱-璁板綍闃舵
         /// </summary>
@@ -2904,17 +2943,9 @@
         /// </summary>
         public static string CXJ_KTHK_KTRK = "鎴愬瀷鏈�绌烘墭鍥炲簱-鍏ュ簱闃舵";
         /// <summary>
-        /// 鎴愬瀷鏈�绌烘墭鍥炲簱-鍏ュ簱闃舵-绗簩闃舵
-        /// </summary>
-        public static string CXJ_KTHK_KTRK_SECOND = "鎴愬瀷鏈�绌烘墭鍥炲簱-鍏ュ簱闃舵-绗簩闃舵";
-        /// <summary>
         /// 鎴愬瀷鏈�婊℃墭鍑哄簱
         /// </summary>
         public static string CXJ_MTCK = "鎴愬瀷鏈�婊℃墭鍑哄簱";
-        /// <summary>
-        /// 鎴愬瀷鏈�绌烘墭鍏ュ簱
-        /// </summary>
-        public static string CXJ_KTRK = "鎴愬瀷鏈�绌烘墭鍏ュ簱";
 
         #endregion
 
@@ -2924,10 +2955,6 @@
         /// 甯︽潫-鍗婃垚鍝�绌烘墭鍥炲簱
         /// </summary>
         public static string DS_BCPKTHK = "鎴愬瀷鏈哄甫鏉�鍗婃垚鍝�绌烘墭鍥炲簱";
-        /// <summary>
-        /// 甯︽潫-鍗婃垚鍝�绌烘墭鍥炲簱-绗簩闃舵
-        /// </summary>
-        public static string DS_BCPKTHK_SECOND = "鎴愬瀷鏈哄甫鏉�鍗婃垚鍝�绌烘墭鍥炲簱-绗簩闃舵";
         /// <summary>
         /// 甯︽潫-婊℃墭鍑哄簱
         /// </summary>

--
Gitblit v1.9.1