From 06a8b6963d6d4f229d4e196b4b09ce57e2cbf2dd Mon Sep 17 00:00:00 2001
From: 杨前锦 <1010338399@qq.com>
Date: 星期四, 24 七月 2025 17:21:40 +0800
Subject: [PATCH] 印尼佳通-GT服务开发

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_BZP/api/ApiHelper.cs |  858 +++++++++++++++++++-------------------------------------
 1 files changed, 290 insertions(+), 568 deletions(-)

diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_BZP/api/ApiHelper.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_BZP/api/ApiHelper.cs
index cb0e21e..fce8014 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_BZP/api/ApiHelper.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_BZP/api/ApiHelper.cs
@@ -28,6 +28,7 @@
 
         }
 
+
         /// <summary>
         /// 1.鍒涘缓鍏ュ簱浠诲姟
         /// </summary>
@@ -36,7 +37,7 @@
             ReturnResult result = new ReturnResult();
             try
             {
-                if (model.taskType == "鏈哄彴鍗婂埗鍝佸叆搴� || model.taskType == "鎴愬瀷鏈轰綑鏂欏洖搴�) 
+                if (model.taskType.Contains("鏈哄彴鍗婂埗鍝佸叆搴�) || model.taskType.Contains("鎴愬瀷鏈轰綑鏂欏叆搴�) || model.taskType.Contains("鍗婂埗鍝佹娊妫�叆搴�)) 
                 {
                     var itemInfos = model.itemInfo;
                     if (itemInfos == null || itemInfos.Count == 0)
@@ -44,27 +45,6 @@
                         result.ResultCode = 1;
                         result.ResultMsg = "鐗╂枡淇℃伅涓嶈兘涓虹┖";
                         return result;
-                    }
-                    else 
-                    {
-                        foreach (var item in itemInfos)
-                        {
-                            var overage = WMSHelper.getOverage(item.bc_entried);
-                            if (overage != null)
-                            {
-                                DateTime txndate = DateTime.Parse(item.txndate);
-                                DateTime minTime = txndate.AddHours(overage.MINHOUR);
-                                DateTime maxTime = txndate.AddDays(overage.OVERAGE);
-                                item.effective_time = minTime.ToString("yyyy-MM-dd HH:mm:ss");
-                                item.expiration_time = maxTime.ToString("yyyy-MM-dd HH:mm:ss");
-                            }
-                            else 
-                            {
-                                result.ResultCode = 1;
-                                result.ResultMsg = $"鏈煡璇㈠埌鐗╂枡瀛樻斁鏃堕棿閰嶇疆淇℃伅锛屾潯褰㈢爜锛歿item.bc_entried}";
-                                return result;
-                            }
-                        }
                     }
                 }
 
@@ -120,6 +100,7 @@
                         S_END_AREA = endLoc.S_AREA_CODE,
                         S_TYPE = model.taskType,
                         S_OP_DEF_CODE = model.taskNo,
+                        S_OP_DEF_NAME = "鍗婂埗鍝�浣欐枡/绌烘墭涓嬪彂鍏ュ簱浠诲姟",
                         N_PRIORITY = model.priority,
                         T_START_TIME = DateTime.Now,
                     };
@@ -182,95 +163,14 @@
             ReturnResult result = new ReturnResult();
             try
             {
-                Location startLoc = WMSHelper.GetEmptyTrayStartLoc(model.trayType);
-                Location middleLoc = null;
-                string cntrCode = "";
-                string descCntrCode = "";
-                if (startLoc != null) 
+                EmptyTrayBuffer buffer = new EmptyTrayBuffer() 
                 {
-                    // 鏌ヨ璐т綅瀹瑰櫒缂栫爜 銆佺洰鏍囧鍣ㄧ紪鐮�-                    var locCntrRels = LocationHelper.GetLocCntrRel(startLoc.S_CODE);
-                    if (locCntrRels.Count > 0)
-                    {
-                        foreach (var item in locCntrRels)
-                        {
-                            var container = ContainerHelper.GetCntr(item.S_CNTR_CODE);
-                            if (model.trayType == container.N_TYPE) 
-                            {
-                                descCntrCode = item.S_CNTR_CODE;
-                            }
-                            cntrCode = cntrCode + "," + item.S_CNTR_CODE;
-                        }
-                        cntrCode = cntrCode.Substring(1, cntrCode.Length - 1);
-                    }
-
-                    var locCodes = Settings.getAgvJBLocList(1, startLoc.N_ROADWAY, 2);
-                    if (locCodes.Count > 0) 
-                    {
-                        middleLoc = LocationHelper.GetLoc(locCodes[0]); 
-                    }
-                }
-                
-                Location endLoc = LocationHelper.GetLoc(model.endLoc);
-                if (endLoc == null) 
-                {
-                    result.ResultCode = 1;
-                    result.ResultMsg = "WMS绯荤粺娌℃湁璇ヨ揣浣嶏紝璇锋鏌ョ粓鐐硅揣浣嶇紪鐮佹槸鍚︽纭�;
-                    return result;
-                }
-
-                if (startLoc != null)
-                {
-                    var wmsTask = new WMSTask()
-                    {
-                        S_CNTR_CODE = descCntrCode,
-                        S_CODE = WMSHelper.GenerateTaskNo(),
-                        S_START_LOC = startLoc.S_CODE,
-                        S_START_AREA = startLoc.S_AREA_CODE,
-                        S_END_LOC = endLoc.S_CODE,
-                        S_END_AREA = endLoc.S_AREA_CODE,
-                        S_TYPE = "绌烘墭鍑哄簱浠诲姟",
-                        S_OP_DEF_CODE = model.taskNo,
-                        N_PRIORITY = model.priority,
-                        T_START_TIME = DateTime.Now,
-                    };
-
-                    if (WMSHelper.CreateWmsTask(wmsTask))
-                    {
-                        // 鍒涘缓涓�鍑哄簱浠诲姟
-                        WCSTask wcsTask = new WCSTask()
-                        {
-                            S_OP_NAME = wmsTask.S_OP_DEF_NAME,
-                            S_OP_CODE = wmsTask.S_CODE,
-                            S_CODE = WCSHelper.GenerateTaskNo(),
-                            S_CNTR_CODE = cntrCode,
-                            S_TYPE = wmsTask.S_TYPE + "-1",
-                            S_START_LOC = startLoc.S_CODE,
-                            S_START_AREA = startLoc.S_AREA_CODE,
-                            S_END_LOC = middleLoc.S_CODE,
-                            S_END_AREA = middleLoc.S_AREA_CODE,
-                            S_SCHEDULE_TYPE = "WCS",
-                            N_PRIORITY = 1,
-                            T_START_TIME = DateTime.Now,
-                        };
-
-                        if (WCSHelper.CreateTask(wcsTask) )
-                        {
-                            // 璧风偣銆佹帴椹崇偣銆佺粓鐐瑰姞閿�-                            LocationHelper.LockLoc(wcsTask.S_START_LOC, 2);
-                            LocationHelper.LockLoc(wcsTask.S_END_LOC, 1);
-
-                            // 鏇存柊浣滀笟浠诲姟鐘舵�
-                            wmsTask.N_B_STATE = 1;
-                            WMSHelper.UpdateTaskState(wmsTask);
-                        }
-                    }
-                }
-                else
-                {
-                    result.ResultCode = 1;
-                    result.ResultMsg = "搴撳唴娌℃湁鏌ュ埌绌烘墭鐩�;
-                }
+                    TASK_NO = model.taskNo,
+                    TRAY_TYPE = model.trayType,
+                    END_LOC = model.endLoc,
+                    PRIORITY = model.priority,
+                };
+                WMSHelper.addEmptyTrayBuffer(buffer);
             }
             catch (Exception ex)
             {
@@ -291,89 +191,125 @@
             ReturnResult result = new ReturnResult();
             try
             {
-                Location startLoc = WMSHelper.GetoutStockStartLoc(model.itemCode);
-                Location middleLoc = null;
-                string descCntrCode = "";
-                string cntrCode = "";
-                if (startLoc != null)
+                Location endLoc = LocationHelper.GetLoc(model.endLoc);
+                if (endLoc.N_CURRENT_NUM == 0)
                 {
-                    // 鏌ヨ鎺ラ┏浣�-                    var locCodes = Settings.getAgvJBLocList(1, startLoc.N_ROADWAY, 2);
-                    if (locCodes.Count > 0)
+                    int taskNum = 0;
+                    for (int i = 0; i < endLoc.N_CAPACITY; i++)
                     {
-                        middleLoc = LocationHelper.GetLoc(locCodes[0]);
+                        Location startLoc = WMSHelper.GetoutStockStartLoc(model.itemCode);
+                        Location middleLoc = null;
+                        string descCntrCode = "";
+                        string cntrCode = "";
+                        if (startLoc != null)
+                        {
+                            // 鏌ヨ璐т綅瀹瑰櫒缂栫爜 銆佺洰鏍囧鍣ㄧ紪鐮�+                            var locCntrRels = LocationHelper.GetLocCntrRel(startLoc.S_CODE);
+                            if (locCntrRels.Count > 0)
+                            {
+                                foreach (var item in locCntrRels)
+                                {
+                                    var cntrItemRels = ContainerHelper.GetCntrItemRel(item.S_CNTR_CODE);
+                                    if (cntrItemRels.Count > 0)
+                                    {
+                                        descCntrCode = cntrItemRels[0].S_CNTR_CODE;
+                                    }
+                                    cntrCode = cntrCode + "," + item.S_CNTR_CODE;
+                                }
+                                cntrCode = cntrCode.Substring(1, cntrCode.Length - 1);
+                            }
+                        }
+                        else
+                        {
+                            LogHelper.Info($"搴撳唴娌℃湁鐗╂枡:{model.itemCode}", "WMS");
+                            break;
+                        }
+                       
+                        var container = ContainerHelper.GetCntr(descCntrCode);
+                        if (container != null)
+                        {
+                            int isExistBaseTray = 2;
+                            if (container.N_TYPE == 4)
+                            {
+                                isExistBaseTray = 1;
+                            }
+
+                            // 鏌ヨ鎺ラ┏浣�+                            middleLoc = WMSHelper.getAgvJBLoc(startLoc.N_ROADWAY, 2, isExistBaseTray, 2);
+
+                            if (endLoc != null)
+                            {
+                                string taskType = "鎴愬瀷鏈哄彨鏂欏嚭搴撲换鍔�;
+                                if (model.taskType == 2)
+                                {
+                                    taskType = "鎶芥鍙枡鍑哄簱浠诲姟";
+                                }
+
+                                var wmsTask = new WMSTask()
+                                {
+                                    S_CNTR_CODE = descCntrCode,
+                                    S_CODE = WMSHelper.GenerateTaskNo(),
+                                    S_START_LOC = startLoc.S_CODE,
+                                    S_START_AREA = startLoc.S_AREA_CODE,
+                                    S_END_LOC = endLoc.S_CODE,
+                                    S_END_AREA = endLoc.S_AREA_CODE,
+                                    S_TYPE = taskType,
+                                    S_OP_DEF_CODE = model.taskNo,
+                                    S_OP_DEF_NAME = "鍙枡鍑哄簱浠诲姟",
+                                    N_PRIORITY = model.priority,
+                                    T_START_TIME = DateTime.Now,
+                                };
+
+                                if (WMSHelper.CreateWmsTask(wmsTask))
+                                {
+                                    // 鍒涘缓涓�鍑哄簱浠诲姟
+                                    WCSTask wcsTask = new WCSTask()
+                                    {
+                                        S_OP_NAME = wmsTask.S_OP_DEF_NAME,
+                                        S_OP_CODE = wmsTask.S_CODE,
+                                        S_CODE = WCSHelper.GenerateTaskNo(),
+                                        S_CNTR_CODE = cntrCode,
+                                        S_TYPE = wmsTask.S_TYPE + "-1",
+                                        S_START_LOC = startLoc.S_CODE,
+                                        S_START_AREA = startLoc.S_AREA_CODE,
+                                        S_END_LOC = middleLoc.S_CODE,
+                                        S_END_AREA = middleLoc.S_AREA_CODE,
+                                        S_SCHEDULE_TYPE = "WCS",
+                                        N_PRIORITY = 1,
+                                        T_START_TIME = DateTime.Now,
+                                    };
+
+                                    if (WCSHelper.CreateTask(wcsTask))
+                                    {
+                                        // 璧风偣銆佹帴椹崇偣鍔犻攣
+                                        LocationHelper.LockLoc(wcsTask.S_START_LOC, 2);
+                                        LocationHelper.LockLoc(wcsTask.S_END_LOC, 1);
+
+                                        // 鏇存柊浣滀笟浠诲姟鐘舵�
+                                        wmsTask.N_B_STATE = 1;
+                                        WMSHelper.UpdateTaskState(wmsTask);
+                                        taskNum++;
+                                    }
+                                }
+                            }
+                        }
+                        else 
+                        {
+                            result.ResultCode = 1;
+                            result.ResultMsg = $"瀹瑰櫒锛歿cntrCode}涓嶅瓨鍦�;
+                        }
                     }
 
-                    // 鏌ヨ璐т綅瀹瑰櫒缂栫爜 銆佺洰鏍囧鍣ㄧ紪鐮�-                    var locCntrRels = LocationHelper.GetLocCntrRel(startLoc.S_CODE);
-                    if (locCntrRels.Count > 0)
+                    if (taskNum < endLoc.N_CAPACITY) 
                     {
-                        foreach (var item in locCntrRels)
-                        {
-                            var cntrItemRels = ContainerHelper.GetCntrItemRel(item.S_CNTR_CODE);
-                            if (cntrItemRels.Count > 0)
-                            {
-                                descCntrCode = cntrItemRels[0].S_CNTR_CODE;
-                            }
-                            cntrCode = cntrCode + "," + item.S_CNTR_CODE;
-                        }
-                        cntrCode = cntrCode.Substring(1, cntrCode.Length - 1);
+                        result.ResultCode = 1;
+                        result.ResultMsg = $"搴撳唴鐗╂枡涓嶈冻锛屽凡鐢熸垚鍑哄簱浠诲姟鏁�{taskNum}";
                     }
                 }
                 else 
                 {
                     result.ResultCode = 1;
-                    result.ResultMsg = "搴撳唴娌℃湁鏌ュ埌姝ょ墿鏂�;
-                    return result;
-                }
-
-                Location endLoc = LocationHelper.GetLoc(model.endLoc);
-                if (endLoc != null) 
-                {
-                    var wmsTask = new WMSTask()
-                    {
-                        S_CNTR_CODE = descCntrCode,
-                        S_CODE = WMSHelper.GenerateTaskNo(),
-                        S_START_LOC = startLoc.S_CODE,
-                        S_START_AREA = startLoc.S_AREA_CODE,
-                        S_END_LOC = endLoc.S_CODE,
-                        S_END_AREA = endLoc.S_AREA_CODE,
-                        S_TYPE = "鎴愬瀷鏈哄彨鏂欏嚭搴撲换鍔�,
-                        S_OP_DEF_CODE = model.taskNo,
-                        N_PRIORITY = model.priority,
-                        T_START_TIME = DateTime.Now,
-                    };
-
-                    if (WMSHelper.CreateWmsTask(wmsTask))
-                    {
-                        // 鍒涘缓涓�鍑哄簱浠诲姟
-                        WCSTask wcsTask = new WCSTask()
-                        {
-                            S_OP_NAME = wmsTask.S_OP_DEF_NAME,
-                            S_OP_CODE = wmsTask.S_CODE,
-                            S_CODE = WCSHelper.GenerateTaskNo(),
-                            S_CNTR_CODE = cntrCode,
-                            S_TYPE = wmsTask.S_TYPE + "-1",
-                            S_START_LOC = startLoc.S_CODE,
-                            S_START_AREA = startLoc.S_AREA_CODE,
-                            S_END_LOC = middleLoc.S_CODE,
-                            S_END_AREA = middleLoc.S_AREA_CODE,
-                            S_SCHEDULE_TYPE = "WCS",
-                            N_PRIORITY = 1,
-                            T_START_TIME = DateTime.Now,
-                        };
-
-                        if (WCSHelper.CreateTask(wcsTask))
-                        {
-                            // 璧风偣銆佹帴椹崇偣鍔犻攣
-                            LocationHelper.LockLoc(wcsTask.S_START_LOC, 2);
-                            LocationHelper.LockLoc(wcsTask.S_END_LOC, 1);
-
-                            // 鏇存柊浣滀笟浠诲姟鐘舵�
-                            wmsTask.N_B_STATE = 1;
-                            WMSHelper.UpdateTaskState(wmsTask);
-                        }
-                    }
+                    result.ResultMsg = "缁堢偣璐т綅褰撳墠瀹归噺涓嶄负0锛屾棤娉曞彨鏂�;
                 }
             }
             catch (Exception ex)
@@ -395,36 +331,14 @@
             ReturnResult result = new ReturnResult();
             try
             {
-                if(model.itemInfo != null && model.itemInfo.Count > 0)
-                {
-                    foreach (var item in model.itemInfo)
-                    {
-                        var overage = WMSHelper.getOverage(item.bc_entried);
-                        if (overage != null)
-                        {
-                            DateTime txndate = DateTime.Parse(item.txndate);
-                            DateTime minTime = txndate.AddHours(overage.MINHOUR);
-                            DateTime maxTime = txndate.AddDays(overage.OVERAGE);
-                            item.effective_time = minTime.ToString("yyyy-MM-dd HH:mm:ss");
-                            item.expiration_time = maxTime.ToString("yyyy-MM-dd HH:mm:ss");
-                        }
-                        else
-                        {
-                            result.ResultCode = 1;
-                            result.ResultMsg = $"鏈煡璇㈠埌鐗╂枡瀛樻斁鏃堕棿閰嶇疆淇℃伅锛屾潯褰㈢爜锛歿item.bc_entried}";
-                            return result;
-                        }
-                    }
-                }
-
                 var container = ContainerHelper.GetCntr(model.trayCode);
-                if (container != null) 
+                if (container != null)
                 {
                     Location startLoc = LocationHelper.GetLoc(model.startLoc);
-                    Location endLoc = WMSHelper.GetInstockEndLoc(container.N_TYPE, model.startLoc, 2);
-
-                    if (endLoc != null)
+                    var instockEndLocResult = WMSHelper.GetInstockEndLoc( 0, container.N_TYPE, 0, null, model.startLoc);
+                    if (instockEndLocResult.endLoc != null && instockEndLocResult.agvLoc != null)
                     {
+                        var endLoc = instockEndLocResult.endLoc;
                         string cntrCode = model.trayCode;
                         var locCntrRels = LocationHelper.GetLocCntr(model.startLoc);
                         if (locCntrRels.Count > 0)
@@ -442,6 +356,7 @@
                             S_END_AREA = endLoc.S_AREA_CODE,
                             S_TYPE = "浜哄伐鍏ュ簱浠诲姟",
                             S_OP_DEF_CODE = model.taskNo,
+                            S_OP_DEF_NAME = "浜哄伐鍏ュ簱浠诲姟",
                             N_PRIORITY = model.priority,
                             T_START_TIME = DateTime.Now,
                         };
@@ -483,8 +398,13 @@
                     else
                     {
                         result.ResultCode = 1;
-                        result.ResultMsg = "娌℃湁绌轰綑鐨勮揣浣�;
+                        result.ResultMsg = "绔嬪簱娌℃湁绌轰綑鐨勮揣浣�;
                     }
+                }
+                else 
+                {
+                    result.ResultCode = 1;
+                    result.ResultMsg = "WMS绯荤粺涓病鏈夎瀹瑰櫒";
                 }
             }
             catch (Exception ex)
@@ -538,6 +458,7 @@
                         S_END_AREA = endLoc.S_AREA_CODE,
                         S_TYPE = "浜哄伐鍑哄簱浠诲姟",
                         S_OP_DEF_CODE = model.taskNo,
+                        S_OP_DEF_NAME = "浜哄伐鍑哄簱浠诲姟",
                         N_PRIORITY = model.priority,
                         T_START_TIME = DateTime.Now,
                     };
@@ -576,7 +497,7 @@
                 else
                 {
                     result.ResultCode = 1;
-                    result.ResultMsg = "搴撳唴娌℃湁姝ょ墿鏂�;
+                    result.ResultMsg = "搴撳唴娌℃湁婊¤冻鏉′欢鐨勭墿鏂�;
                 }
             }
             catch (Exception ex)
@@ -601,111 +522,19 @@
             try
             {
                 Location startLoc = LocationHelper.GetLoc(loc);
-                Location endLoc = WMSHelper.GetInstockEndLoc(0, loc, 2);
-
-                if (endLoc != null && startLoc != null)
-                {
-                    string trayCode = null;
-                    var locCntrRels = LocationHelper.GetLocCntrRel(loc);
-                    if (locCntrRels.Count > 0)
-                    {
-                       var container = ContainerHelper.GetCntr(locCntrRels[0].S_CNTR_CODE);
-                        if (container.N_TYPE == 0) 
-                        {
-                            trayCode = container.S_CODE;
-                        }
-                    }
-                    else 
-                    {
-                        trayCode = ContainerHelper.GenerateCntrNo();
-                        ContainerHelper.AddCntr(trayCode, 0);
-                    }
-
-                    if (trayCode != null) 
-                    {
-                        var wmsTask = new WMSTask()
-                        {
-                            S_CNTR_CODE = trayCode,
-                            S_CODE = WMSHelper.GenerateTaskNo(),
-                            S_START_LOC = startLoc.S_CODE,
-                            S_START_AREA = startLoc.S_AREA_CODE,
-                            S_END_LOC = endLoc.S_CODE,
-                            S_END_AREA = endLoc.S_AREA_CODE,
-                            S_TYPE = "姣嶆嫋鍏ュ簱浠诲姟",
-                            S_OP_DEF_CODE = taskNo,
-                            N_PRIORITY = 1,
-                            T_START_TIME = DateTime.Now,
-                        };
-                        if (WMSHelper.CreateWmsTask(wmsTask))
-                        {
-                            // 鍒涘缓涓�鍏ュ簱浠诲姟
-                            WCSTask wcsTask = new WCSTask()
-                            {
-                                S_OP_NAME = wmsTask.S_OP_DEF_NAME,
-                                S_OP_CODE = wmsTask.S_CODE,
-                                S_CODE = WCSHelper.GenerateTaskNo(),
-                                S_CNTR_CODE = wmsTask.S_CNTR_CODE,
-                                S_TYPE = wmsTask.S_TYPE + "-1",
-                                S_START_LOC = startLoc.S_CODE,
-                                S_START_AREA = startLoc.S_AREA_CODE,
-                                S_END_LOC = endLoc.S_CODE,
-                                S_END_AREA = endLoc.S_AREA_CODE,
-                                S_SCHEDULE_TYPE = "WCS",
-                                N_PRIORITY = 1,
-                                T_START_TIME = DateTime.Now,
-                            };
-
-                            if (WCSHelper.CreateTask(wcsTask))
-                            {
-                                // 璧风偣銆佹帴椹崇偣銆佺粓鐐瑰姞閿�-                                LocationHelper.LockLoc(wcsTask.S_START_LOC, 2);
-                                LocationHelper.LockLoc(wcsTask.S_END_LOC, 1);
-
-                                // 鏇存柊浣滀笟浠诲姟鐘舵�
-                                wmsTask.N_B_STATE = 1;
-                                WMSHelper.UpdateTaskState(wmsTask);
-                            }
-                        }
-                    }
-                }
-                else
+                if (startLoc == null) 
                 {
                     result.ResultCode = 1;
-                    result.ResultMsg = "娌℃湁绌轰綑鐨勮揣浣�;
+                    result.ResultMsg = "寮�璐т綅涓嶅瓨鍦紒";
+                    return result;
                 }
-            }
-            catch (Exception ex)
-            {
-                result.ResultCode = 1;
-                result.ResultMsg = "WMS鍐呴儴閿欒锛岃鑱旂郴寮�彂浜哄憳鎺掓煡";
-                LogHelper.Info($"WMS鍐呴儴閿欒锛岄敊璇師鍥狅細{ex.Message}", "WMS");
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 6.1.姣嶆嫋鍏ュ簱浠诲姟
-        /// </summary>
-        /// <param name="loc"></param>
-        /// <param name="wmsTaskNo"></param>
-        /// <returns></returns>
-        public static ReturnResult baseTrayInStockAgv(string loc, string wmsTaskNo)
-        {
-            ReturnResult result = new ReturnResult();
-            try
-            {
-                var mst = WMSHelper.GetWmsTask(wmsTaskNo);
-                if (mst != null && mst.N_B_STATE < 2) 
+                var cst = WCSHelper.GetTaskByStart(loc);
+                if (cst == null)
                 {
-                    Location startLoc = LocationHelper.GetLoc(loc);
-                    Location endLoc = LocationHelper.GetLoc(Settings.baseTrayInBufferLoc);
-                    if (!(endLoc != null && endLoc.N_CURRENT_NUM == 0)) 
+                    var instockEndLocResult = WMSHelper.GetInstockEndLoc(0, 0, 0, null, loc);
+                    if (instockEndLocResult.endLoc != null && instockEndLocResult.agvLoc != null)
                     {
-                        endLoc = WMSHelper.GetInstockEndLoc(0, loc, 2);
-                    } 
-
-                    if (endLoc != null && startLoc != null)
-                    {
+                        var endLoc = instockEndLocResult.endLoc;
                         string trayCode = null;
                         var locCntrRels = LocationHelper.GetLocCntrRel(loc);
                         if (locCntrRels.Count > 0)
@@ -724,28 +553,49 @@
 
                         if (trayCode != null)
                         {
-                            // 鍒涘缓涓�鍏ュ簱浠诲姟
-                            WCSTask wcsTask = new WCSTask()
+                            var wmsTask = new WMSTask()
                             {
-                                S_OP_NAME = mst.S_OP_DEF_NAME,
-                                S_OP_CODE = mst.S_CODE,
-                                S_CODE = WCSHelper.GenerateTaskNo(),
                                 S_CNTR_CODE = trayCode,
-                                S_TYPE = "姣嶆嫋鍏ュ簱浠诲姟",
+                                S_CODE = WMSHelper.GenerateTaskNo(),
                                 S_START_LOC = startLoc.S_CODE,
                                 S_START_AREA = startLoc.S_AREA_CODE,
                                 S_END_LOC = endLoc.S_CODE,
                                 S_END_AREA = endLoc.S_AREA_CODE,
-                                S_SCHEDULE_TYPE = "WCS",
+                                S_TYPE = "姣嶆嫋鍏ュ簱浠诲姟",
+                                S_OP_DEF_CODE = taskNo,
+                                S_OP_DEF_NAME = "姣嶆嫋鍏ュ簱浠诲姟",
                                 N_PRIORITY = 1,
                                 T_START_TIME = DateTime.Now,
                             };
-
-                            if (WCSHelper.CreateTask(wcsTask))
+                            if (WMSHelper.CreateWmsTask(wmsTask))
                             {
-                                // 璧风偣銆佺粓鐐瑰姞閿�-                                LocationHelper.LockLoc(wcsTask.S_START_LOC, 2);
-                                LocationHelper.LockLoc(wcsTask.S_END_LOC, 1);
+                                // 鍒涘缓涓�鍏ュ簱浠诲姟
+                                WCSTask wcsTask = new WCSTask()
+                                {
+                                    S_OP_NAME = wmsTask.S_OP_DEF_NAME,
+                                    S_OP_CODE = wmsTask.S_CODE,
+                                    S_CODE = WCSHelper.GenerateTaskNo(),
+                                    S_CNTR_CODE = wmsTask.S_CNTR_CODE,
+                                    S_TYPE = wmsTask.S_TYPE + "-1",
+                                    S_START_LOC = startLoc.S_CODE,
+                                    S_START_AREA = startLoc.S_AREA_CODE,
+                                    S_END_LOC = endLoc.S_CODE,
+                                    S_END_AREA = endLoc.S_AREA_CODE,
+                                    S_SCHEDULE_TYPE = "WCS",
+                                    N_PRIORITY = 1,
+                                    T_START_TIME = DateTime.Now,
+                                };
+
+                                if (WCSHelper.CreateTask(wcsTask))
+                                {
+                                    // 璧风偣銆佹帴椹崇偣銆佺粓鐐瑰姞閿�+                                    LocationHelper.LockLoc(wcsTask.S_START_LOC, 2);
+                                    LocationHelper.LockLoc(wcsTask.S_END_LOC, 1);
+
+                                    // 鏇存柊浣滀笟浠诲姟鐘舵�
+                                    wmsTask.N_B_STATE = 1;
+                                    WMSHelper.UpdateTaskState(wmsTask);
+                                }
                             }
                         }
                     }
@@ -755,6 +605,7 @@
                         result.ResultMsg = "娌℃湁绌轰綑鐨勮揣浣�;
                     }
                 }
+                
             }
             catch (Exception ex)
             {
@@ -777,99 +628,11 @@
             ReturnResult result = new ReturnResult();
             try
             {
-                Location startLoc = WMSHelper.GetEmptyTrayStartLoc(0, 1);
-                Location endLoc = LocationHelper.GetLoc(loc);
-                var agvJBLoc = Settings.getAgvJBLoc(loc);
-
-                if (startLoc != null)
+                var cst = WCSHelper.GetTaskByEnd(loc);
+                if (cst == null)
                 {
-                    string trayCode = null;
-                    var locCntrRels = LocationHelper.GetLocCntr(startLoc.S_CODE);
-                    if (locCntrRels.Count == 1) 
-                    {
-                        trayCode = locCntrRels[0].S_CNTR_CODE;
-                    }
-                    if (trayCode != null) 
-                    {
-                        var wmsTask = new WMSTask()
-                        {
-                            S_CNTR_CODE = trayCode,
-                            S_CODE = WMSHelper.GenerateTaskNo(),
-                            S_START_LOC = startLoc.S_CODE,
-                            S_START_AREA = startLoc.S_AREA_CODE,
-                            S_END_LOC = endLoc.S_CODE,
-                            S_END_AREA = endLoc.S_AREA_CODE,
-                            S_TYPE = "姣嶆嫋鍑哄簱浠诲姟",
-                            S_OP_DEF_CODE = taskNo,
-                            N_PRIORITY = 1,
-                            T_START_TIME = DateTime.Now,
-                        };
-
-                        if (WMSHelper.CreateWmsTask(wmsTask))
-                        {
-                            // 鍒涘缓涓�鍏ュ簱浠诲姟
-                            WCSTask wcsTask = new WCSTask()
-                            {
-                                S_OP_NAME = wmsTask.S_OP_DEF_NAME,
-                                S_OP_CODE = wmsTask.S_CODE,
-                                S_CODE = WCSHelper.GenerateTaskNo(),
-                                S_CNTR_CODE = wmsTask.S_CNTR_CODE,
-                                S_TYPE = wmsTask.S_TYPE + "-1",
-                                S_START_LOC = startLoc.S_CODE,
-                                S_START_AREA = startLoc.S_AREA_CODE,
-                                S_END_LOC = endLoc.S_CODE,
-                                S_END_AREA = endLoc.S_AREA_CODE,
-                                S_SCHEDULE_TYPE = "WCS",
-                                N_PRIORITY = 1,
-                                T_START_TIME = DateTime.Now,
-                            };
-
-                            if (WCSHelper.CreateTask(wcsTask))
-                            {
-                                // 璧风偣銆佹帴椹崇偣銆佺粓鐐瑰姞閿�-                                LocationHelper.LockLoc(wcsTask.S_START_LOC, 2);
-                                LocationHelper.LockLoc(wcsTask.S_END_LOC, 1);
-
-                                // 鏇存柊浣滀笟浠诲姟鐘舵�
-                                wmsTask.N_B_STATE = 1;
-                                WMSHelper.UpdateTaskState(wmsTask);
-                            }
-                        }
-                    }
-                }
-                else
-                {
-                    result.ResultCode = 1;
-                    result.ResultMsg = "娌℃湁绌轰綑鐨勬瘝鎷�;
-                    LogHelper.Info("銆愭瘝鎷栧嚭搴撲换鍔°�搴撳唴娌℃湁绌轰綑鐨勬瘝鎷�, "WMS");
-                }
-            }
-            catch (Exception ex)
-            {
-                result.ResultCode = 1;
-                result.ResultMsg = "WMS鍐呴儴閿欒锛岃鑱旂郴寮�彂浜哄憳鎺掓煡";
-                LogHelper.Info($"WMS鍐呴儴閿欒锛岄敊璇師鍥狅細{ex.Message}", "WMS");
-            }
-            return result;
-        }
-
-        /// <summary>
-        /// 7.1.姣嶆嫋鍑哄簱浠诲姟锛圓GV锛�-        /// </summary>
-        /// <param name="loc"></param>
-        /// <param name="wmsTaskNo"></param>
-        /// <returns></returns>
-        public static ReturnResult baseTrayOutStockAgv(string loc, string wmsTaskNo)
-        {
-            ReturnResult result = new ReturnResult();
-            try
-            {
-                var mst = WMSHelper.GetWmsTask(wmsTaskNo);
-                if (mst != null && mst.N_B_STATE < 2) 
-                {
-                    Location startLoc = WMSHelper.GetEmptyTrayStartLoc(0,0);
+                    Location startLoc = WMSHelper.GetEmptyTrayStartLoc(0);
                     Location endLoc = LocationHelper.GetLoc(loc);
-
                     if (startLoc != null)
                     {
                         string trayCode = null;
@@ -878,31 +641,52 @@
                         {
                             trayCode = locCntrRels[0].S_CNTR_CODE;
                         }
-
                         if (trayCode != null)
                         {
-                            // 鍒涘缓鍏ュ簱浠诲姟
-                            WCSTask wcsTask = new WCSTask()
+                            var wmsTask = new WMSTask()
                             {
-                                S_OP_NAME = mst.S_OP_DEF_NAME,
-                                S_OP_CODE = mst.S_CODE,
-                                S_CODE = WCSHelper.GenerateTaskNo(),
                                 S_CNTR_CODE = trayCode,
-                                S_TYPE = "姣嶆嫋鍑哄簱浠诲姟",
+                                S_CODE = WMSHelper.GenerateTaskNo(),
                                 S_START_LOC = startLoc.S_CODE,
                                 S_START_AREA = startLoc.S_AREA_CODE,
                                 S_END_LOC = endLoc.S_CODE,
                                 S_END_AREA = endLoc.S_AREA_CODE,
-                                S_SCHEDULE_TYPE = "WCS",
+                                S_TYPE = "姣嶆嫋鍑哄簱浠诲姟",
+                                S_OP_DEF_CODE = taskNo,
+                                S_OP_DEF_NAME = "姣嶆嫋鍑哄簱浠诲姟",
                                 N_PRIORITY = 1,
                                 T_START_TIME = DateTime.Now,
                             };
 
-                            if (WCSHelper.CreateTask(wcsTask))
+                            if (WMSHelper.CreateWmsTask(wmsTask))
                             {
-                                // 璧风偣銆佹帴椹崇偣銆佺粓鐐瑰姞閿�-                                LocationHelper.LockLoc(wcsTask.S_START_LOC, 2);
-                                LocationHelper.LockLoc(wcsTask.S_END_LOC, 1);
+                                // 鍒涘缓涓�鍏ュ簱浠诲姟
+                                WCSTask wcsTask = new WCSTask()
+                                {
+                                    S_OP_NAME = wmsTask.S_OP_DEF_NAME,
+                                    S_OP_CODE = wmsTask.S_CODE,
+                                    S_CODE = WCSHelper.GenerateTaskNo(),
+                                    S_CNTR_CODE = wmsTask.S_CNTR_CODE,
+                                    S_TYPE = wmsTask.S_TYPE + "-1",
+                                    S_START_LOC = startLoc.S_CODE,
+                                    S_START_AREA = startLoc.S_AREA_CODE,
+                                    S_END_LOC = endLoc.S_CODE,
+                                    S_END_AREA = endLoc.S_AREA_CODE,
+                                    S_SCHEDULE_TYPE = "WCS",
+                                    N_PRIORITY = 1,
+                                    T_START_TIME = DateTime.Now,
+                                };
+
+                                if (WCSHelper.CreateTask(wcsTask))
+                                {
+                                    // 璧风偣銆佹帴椹崇偣銆佺粓鐐瑰姞閿�+                                    LocationHelper.LockLoc(wcsTask.S_START_LOC, 2);
+                                    LocationHelper.LockLoc(wcsTask.S_END_LOC, 1);
+
+                                    // 鏇存柊浣滀笟浠诲姟鐘舵�
+                                    wmsTask.N_B_STATE = 1;
+                                    WMSHelper.UpdateTaskState(wmsTask);
+                                }
                             }
                         }
                     }
@@ -910,8 +694,9 @@
                     {
                         result.ResultCode = 1;
                         result.ResultMsg = "娌℃湁绌轰綑鐨勬瘝鎷�;
+                        LogHelper.Info("銆愭瘝鎷栧嚭搴撲换鍔°�搴撳唴娌℃湁绌轰綑鐨勬瘝鎷�, "WMS");
                     }
-                }
+                }  
             }
             catch (Exception ex)
             {
@@ -966,10 +751,9 @@
                                 TaskProcess.OperateStatus(cst, 6);
                                 break;
                             case 7:
-                                WCSHelper.UpdateStatus(cst, "寮傚父鍙栨秷");
+                                WCSHelper.Cancel(cst);
+                                WCSHelper.UpdateStatus(cst, "鍙栨秷");
                                 TaskProcess.OperateStatus(cst, 7);
-                                mst.N_B_STATE = 3;
-                                WMSHelper.UpdateTaskState(mst);
                                 break;
                             case 8:
                                 WCSHelper.UpdateStatus(cst, "寮哄埗瀹屾垚");
@@ -1000,81 +784,32 @@
         }
 
         /// <summary>
-        /// 璇荤爜鍙嶉
+        /// 璐т綅鐘舵�鍙嶉
         /// </summary>
         /// <param name="model"></param>
         /// <returns></returns>
-        public static ReturnResult readCodeFeedback(ReadCodeFeedbackModel model)
+        public static bool locStateFeedBack(LocStateFeedBackModel model)
         {
-            ReturnResult responseResult = new ReturnResult();
-            var locCntrRels = LocationHelper.GetLocCntr(model.locCode);
-            if (locCntrRels.Count > 0) 
+            bool result = false;
+            var task = WCSHelper.GetTask(model.req_no);
+            if (task != null)
             {
-                foreach (var locCntr in locCntrRels)
+                TaskAction taskAction = null;
+                if (model.type == "1")
                 {
-                    var container = ContainerHelper.GetCntr(locCntr.S_CNTR_CODE);
-                    if (container != null && container.N_TYPE != 0) 
-                    {
-                        var mst = WMSHelper.GetWmsTaskByCntr(locCntr.S_CNTR_CODE);
-                        if (mst != null)
-                        {
-                            int actType = 1;
-                            if (locCntr.S_CNTR_CODE == model.trayCode)
-                            {
-                                if (mst.S_END_LOC == "铏氭嫙璐т綅") 
-                                {
-                                    // 鑾峰彇鍏ュ簱缁堢偣
-                                    var endLoc = WMSHelper.GetInstockEndLoc(container.N_TYPE, model.locCode, 1);
-                                    if (endLoc != null)
-                                    {
-                                        mst.S_END_LOC = endLoc.S_CODE;
-                                        mst.S_END_AREA = endLoc.S_AREA_CODE;
-                                    }
-                                    else
-                                    {
-                                        LogHelper.Info("銆怶CS璇荤爜鍙嶉銆戯紝娌℃湁鑾峰彇鍒扮粓鐐硅揣浣嶏紝鍙兘绔嬪簱娌℃湁绌轰綑璐т綅", "WMS");
-                                        responseResult.ResultCode = 1;
-                                        responseResult.ResultMsg = "娌℃湁鑾峰彇鍒扮粓鐐硅揣浣嶏紝鍙兘绔嬪簱娌℃湁绌轰綑璐т綅";
-                                        return responseResult;
-                                    }
-                                }
-                            }
-                            else
-                            {
-                                LogHelper.Info($"銆怶CS璇荤爜鍙嶉銆戯紝鎵樼洏鐮佸尮閰嶅け璐ワ紝鍙嶉鎵樼洏鐮侊細{model.trayCode} ,璐т綅{model.locCode}鎵樼洏鐮侊細{locCntr.S_CNTR_CODE}", "WMS");
-                                // 鑾峰彇鍏ュ簱缁堢偣
-                                var endLoc = WMSHelper.getErrorBufferAreaLoc();
-                                if (endLoc != null)
-                                {
-                                    actType = 2;
-                                    LocationHelper.UnLockLoc(mst.S_END_LOC);
-                                    mst.S_END_LOC = endLoc.S_CODE;
-                                    mst.S_END_AREA = endLoc.S_AREA_CODE;
-                                }
-                                else
-                                {
-                                    LogHelper.Info("銆怶CS璇荤爜鍙嶉銆戯紝娌℃湁鑾峰彇鍒扮紦瀛樿揣浣�, "WMS");
-                                    responseResult.ResultCode = 1;
-                                    responseResult.ResultMsg = "娌℃湁鑾峰彇鍒扮紦瀛樿揣浣�;
-                                    return responseResult;
-                                }
-                            }
-
-                            // 鍒涘缓涓嬩釜浠诲姟
-                            if (mst.S_END_LOC != "铏氭嫙璐т綅")
-                            {
-                                WMSHelper.UpdateTaskEnd(mst);
-                                WCSCore.createLastTask(model.locCode, mst, actType);
-                            }
-                        }
-                        else
-                        {
-                            LogHelper.Info($"銆怶CS璇荤爜鍙嶉銆戯紝瀹瑰櫒:{model.trayCode}娌℃湁鏌ヨ鍒版墽琛屼腑浠诲姟", "WMS");
-                        }
-                    }
+                    taskAction = WCSHelper.getActionRecord(task.S_CODE, 1101);
+                }
+                if (model.type == "2")
+                {
+                    taskAction = WCSHelper.getActionRecord(task.S_CODE, 1103);
+                }
+                if (taskAction != null)
+                {
+                    taskAction.N_S_STATUS = 1;
+                    result = WCSHelper.updateActionRecord(taskAction);
                 }
             }
-            return responseResult;
+            return result;
         }
 
         /// <summary>
@@ -1091,25 +826,19 @@
             {
                 ItemBarcodeInfo itemBarcodeInfo = new ItemBarcodeInfo() 
                 {
+                    N_RECID = matl.recid,
                     S_ITEM = matl.item,
-                    S_BC_ENTRIED = matl.bc_entried,
+                    S_BC_ENTRIED = matl.barcode,
+                    S_TOOLING_CODE = matl.toolineCode,
                     S_MCN = matl.mcn,
-                    S_OPR = matl.opr,
                     TXNDATE = DateTime.Parse(matl.txndate, enGB) ,
                     S_SHIFT = matl.shift,
                     N_QTY = matl.qty,
-                    N_STOCK = matl.stock,
-                    S_LOKASI = matl.lokasi,
-                    S_SARANA = matl.sarana,
-                    BOM1 = matl.bom1,
-                    BOM2 = matl.bom2,
-                    BOM3 = matl.bom3,
-                    S_FOVRAGE = matl.fovrage,
                     S_JDGE = matl.jdge,
-                    S_WMS_JDGE = matl.WMS_jdge,
-                    EFFECTIVE_TIME = matl.effective_time,
-                    EXPIRATION_TIME = matl.expiration_time,
-                    LAST_MODIFY_TIME = matl.last_modify_time
+                    N_OVERAGE = matl.overagv,
+                    N_MINHOUR = matl.minhour,
+                    N_PRODUCT_TYPE_CODE = matl.productTypeCode,
+                    LAST_MODIFY_TIME = matl.last_modify_time,
                 };
                 itemBarcodeInfos.Add(itemBarcodeInfo);
             }
@@ -1118,95 +847,88 @@
             if (!bo) 
             {
                 responseResult.ResultCode = 1;
-                responseResult.ResultMsg = "鍚屾鐗╂枡鏉$爜淇℃伅澶辫触";
+                responseResult.ResultMsg = "鍚屾GT鏉$爜鐗╂枡淇℃伅澶辫触";
             }
             return responseResult;
         }
 
         /// <summary>
-        /// 鍚屾鐗╂枡鐘舵�淇℃伅
+        /// 鍚屾鏉$爜鐘舵�淇℃伅
         /// </summary>
         /// <param name="updateMatlStatuses"></param>
         /// <returns></returns>
-        public static ReturnResult synUpdateMatlStatus(List<UpdateMatlStatus> updateMatlStatuses)
+        public static ReturnResult synBarcodeStatus(List<UpdateMatlStatus> updateMatlStatuses)
         {
             ReturnResult responseResult = new ReturnResult();
-            var bo = WMSHelper.batchUpdateItemStatus(updateMatlStatuses);
-            if (!bo)
+            List<IwmsSemiBldBcstatus> list = new List<IwmsSemiBldBcstatus> ();
+            if (updateMatlStatuses.Count > 0) 
             {
-                responseResult.ResultCode = 1;
-                responseResult.ResultMsg = "鍚屾鐗╂枡鐘舵�淇℃伅澶辫触";
-            }
-            return responseResult;
-        }
-
-        /// <summary>
-        /// 鍚屾鏇存柊鐗╂枡瀛樻斁鏃堕棿閰嶇疆淇℃伅
-        /// </summary>
-        /// <param name="overages"></param>
-        /// <returns></returns>
-        public static ReturnResult synUpdateMatlTimeConfig(List<MatlOverage> overages)
-        {
-            ReturnResult responseResult = new ReturnResult();
-            if (overages != null && overages.Count > 0) 
-            {
-                List<Overage> overageList = new List<Overage>();
-
-                foreach (var item in overages)
+                foreach (var item in updateMatlStatuses)
                 {
-                    Overage overage = new Overage
+                    IwmsSemiBldBcstatus bCstatus = new IwmsSemiBldBcstatus() 
                     {
-                        MCNGRP = item.mcngrp,
-                        ITEMPATT = item.itempatt,
-                        OVERAGE = item.overage,
-                        MINHOUR = int.Parse(item.minhour.ToString()) ,
-                        FLAG_STS = item.flag_sts,
+                        N_RECID = item.recid,
+                        S_BC_ENTRIED = item.barcode,
+                        S_MCNGRP = item.mcngrp,
+                        S_JDGE = item.jdge,
+                        LAST_MODIFY_TIME = item.last_modify_time
                     };
-                    overageList.Add(overage);
+                    list.Add(bCstatus);
                 }
-                var bo = WMSHelper.batchUpdateMatlTimeConfig(overageList);
+
+                var bo = WMSHelper.synBarcodeStatus(list);
                 if (!bo)
                 {
                     responseResult.ResultCode = 1;
-                    responseResult.ResultMsg = "鍚屾鐗╂枡鐘舵�淇℃伅澶辫触";
+                    responseResult.ResultMsg = "鍚屾鏉$爜鐘舵�淇℃伅澶辫触";
                 }
             }
             return responseResult;
         }
 
         /// <summary>
-        /// 璁板綍鏁版嵁鍚屾鏃堕棿
+        /// 鍚屾鏉$爜鐘舵�淇℃伅
         /// </summary>
-        /// <param name="model"></param>
+        /// <param name="updateMatlStatuses"></param>
         /// <returns></returns>
-        public static ReturnResult recordDataSynTime(RecordDataSynTimeModel model)
+        public static ReturnResult synSampleStatus(List<UpdateMatlStatus> updateMatlStatuses)
         {
             ReturnResult responseResult = new ReturnResult();
-            SynDataTimeRecord record = new SynDataTimeRecord() 
+            List<IwmsSemiBldBcsample> list = new List<IwmsSemiBldBcsample>();
+            if (updateMatlStatuses.Count > 0)
             {
-                S_SYN_TIME = model.sysTime,
-                N_SYN_NUM = model.synNum,
-                RECORD_TABLE = model.recordTable
-            }; 
-            var bo = WMSHelper.addSynDataTimeReord(record);
-            if (!bo)
-            {
-                responseResult.ResultCode = 1;
-                responseResult.ResultMsg = "鍚屾鐗╂枡鐘舵�淇℃伅澶辫触";
+                foreach (var item in updateMatlStatuses)
+                {
+                    IwmsSemiBldBcsample bCstatus = new IwmsSemiBldBcsample()
+                    {
+                        N_RECID= item.recid,
+                        S_BC_ENTRIED = item.barcode,
+                        S_MCNGRP = item.mcngrp,
+                        S_JDGE = item.jdge,
+                        LAST_MODIFY_TIME = item.last_modify_time
+                    };
+                    list.Add(bCstatus);
+                }
+
+                var bo = WMSHelper.synSamplingStatus(list);
+                if (!bo)
+                {
+                    responseResult.ResultCode = 1;
+                    responseResult.ResultMsg = "鍚屾鏉$爜鐘舵�淇℃伅澶辫触";
+                }
             }
             return responseResult;
         }
-
 
         /// <summary>
         /// 鏌ヨ涓婁竴娆$殑鏁版嵁鍚屾鏃堕棿
         /// </summary>
-        /// <param name="recordTable"></param>
+        /// <param name="tableType"></param>
         /// <returns></returns>
-        public static ReturnResult findLastDataSynTime(string recordTable)
+        public static ReturnResult findDataLastSynTime(int tableType)
         {
             ReturnResult responseResult = new ReturnResult();
-            var synDataTime = WMSHelper.getLastDataSynTime(recordTable);
+            var synDataTime = WMSHelper.getDataLastSynTime(tableType);
             responseResult.data = synDataTime;
             return responseResult;
         }
@@ -1272,10 +994,11 @@
         public class CreateOutOrderModel
         {
             public string taskNo { get; set; } // 浠诲姟鍙�-            public string trayCode { get; set; } // 浠诲姟鍙�+            public string trayCode { get; set; } // 鎵樼洏鍙�             public string itemCode { get; set; } // 鐗╂枡缂栫爜
             public string endLoc { get; set; } // 缁堢偣璐т綅
             public int priority { get; set; } = 0; // 浼樺厛绾�榛樿0
+            public int taskType { get; set; } = 1; // 1.鎴愬瀷鏈哄彨鏂欎换鍔�2.鎶芥鍑哄簱浠诲姟
         }
 
         public class EmptyTrayOutOrderModel
@@ -1290,7 +1013,7 @@
         {
             public string taskNo { get; set; } // 浠诲姟鍙�             public string startLoc { get; set; } // 璧风偣璐т綅
-            public string taskType { get; set; } // 浠诲姟绫诲瀷 鍏ュ簱鍥炲簱绫诲瀷锛�锛氭満鍙板崐鍒跺搧鍏ュ簱锛�锛氭垚鍨嬫満浣欐枡鍥炲簱锛�锛氭垚鍨嬫満绌烘墭鍥炲簱
+            public string taskType { get; set; } // 浠诲姟绫诲瀷 鍏ュ簱鍥炲簱绫诲瀷锛�锛氭満鍙板崐鍒跺搧鍏ュ簱锛�锛氭垚鍨嬫満浣欐枡鍏ュ簱锛�锛氭垚鍨嬫満绌烘墭鍏ュ簱锛�锛氬崐鍒跺搧鎶芥鍏ュ簱
             public string trayCode { get; set; } // 鎵樼洏鍙�             public int priority { get; set; } = 0;// 浼樺厛绾�榛樿浼�
             public List<GTItemInfo> itemInfo { get; set; }
@@ -1300,16 +1023,15 @@
         {
             public string item { get; set; } // 鐗╁搧浠g爜
             public string bc_entried { get; set; } // 鏉″舰鐮佺紪鍙�+            public string toolineCode { get; set; } // 宸ヨ鏉$爜
             public string mcn { get; set; } // 鏈哄櫒浠g爜缂栧彿
-            public string opr { get; set; } // 鎿嶄綔鍛�             public string txndate { get; set; } // 鐢熶骇鏃堕棿
             public string shift { get; set; } // 宸ヤ綔鐝
             public int qty { get; set; } // 浜у搧鏁伴噺
-            public string sarana { get; set; } // 浜у搧鏉愭枡鐨勬墭鐩�鐩�鎺ㄨ溅/璐ц溅ID
-            public string fovrage { get; set; } // 鏄惁杩囨湡鐨勭姸鎬�Y=杩囨湡锛孨=鏈繃鏈�-            public string jdge { get; set; } // 璐ㄩ噺鐘舵� OK=浜у搧鍚堟牸锛孨G=浜у搧涓嶅悎鏍硷紝HLM=浜у搧寰呭畾
-            public string effective_time { get; set; } // 鐢熸晥鏃堕棿 (yyyy-MM-dd HH:mm:ss)
-            public string expiration_time { get; set; } // 澶辨晥鏃堕棿 (yyyy-MM-dd HH:mm:ss)
+            public string jdge { get; set; } // 璐ㄩ噺鐘舵� OK=浜у搧鍚堟牸锛孒OLD = 浜у搧寰呭畾
+            public int overage { get; set; } // 鐢熸晥鏃堕棿 (yyyy-MM-dd HH:mm:ss)
+            public int minhour { get; set; } // 澶辨晥鏃堕棿 (yyyy-MM-dd HH:mm:ss)
+            public int productTypeCode { get; set; } // 澶辨晥鏃堕棿 (yyyy-MM-dd HH:mm:ss)
         }
 
         

--
Gitblit v1.9.1