1
pulg
2025-06-11 4e2242741688e1da1399166b1ada9874f472b819
1
3个文件已修改
71 ■■■■ 已修改文件
HH.WCS.QingXiNongfu/core/Monitor.cs 56 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.QingXiNongfu/settings.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.QingXiNongfu/wms/TaskHelper.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.QingXiNongfu/core/Monitor.cs
@@ -3513,6 +3513,8 @@
        }
        public static void AutoRun13TSJ()
        {
            var list = new List<string>() { "YWLAQWJ", "YWLBQWJ", "YWLCQSX", "YWLDQWJ" };
            var WorkOrder = new List<YWLWorkOrder>();
            foreach (var PLC in Settings.GetDeviceInfoList().FindAll(X => X.deviceType == 13 && X.enable == 1))
            {
                string pline = PLC.deviceName;
@@ -3531,10 +3533,39 @@
                    if (locs.Find(x => x.N_CURRENT_NUM > 0) != null) //拆垛有货 不判断
                        continue;
                    can = true;
                    foreach (var item in list)
                    {
                        YWLWorkOrder source = new YWLWorkOrder();
                        var source1 = orkOrd.FirstOrDefault();
                        source.SQL_PLineNo = source1.SQL_PLineNo;
                        source.FuLe_PLine_No = source1.FuLe_PLine_No;
                        source.SQL_LinkLineNO = source1.SQL_LinkLineNO;
                        source.SQL_Area = source1.SQL_Area;
                        source.SQL_UsingNow = source1.SQL_UsingNow;
                        source.SQL_State = source1.SQL_State;
                        source.SQL_WorkNo = source1.SQL_WorkNo;
                        source.SQL_ItemCode = source1.SQL_ItemCode;
                        source.SQL_ItemName = source1.SQL_ItemName;
                        source.SQL_charge = source1.SQL_charge;
                        source.SQL_Total = source1.SQL_Total;
                        source.SQL_PLAN_END = source1.SQL_PLAN_END;
                        source.SQL_Modify_TIme = source1.SQL_Modify_TIme;
                        source.OutNum = source1.OutNum;
                        source.WorkType = source1.WorkType;
                        source.MidArea = source1.MidArea;
                        source.TagOver = source1.TagOver;
                        source.TagOverTime = source1.TagOverTime;
                        source.S_BQ_TRAY_TYPE = source1.S_BQ_TRAY_TYPE;
                        source.S_CJ_NAME = source1.S_CJ_NAME;
                        source.S_ROW = item;
                        WorkOrder.Add(source);
                    }
                }
                ReadCCK = can;
                if (orkOrd.Any())
                    foreach (var od in orkOrd.OrderByDescending(x => x.OutNum))
                    //  foreach (var od in orkOrd.OrderByDescending(x => x.OutNum))
                    foreach (var od in WorkOrder)
                    {
                        ///汇总仓库里最大层是几层。
                        Dictitems Lart = null;
@@ -3572,12 +3603,15 @@
                                    _clrel = LocationHelper.GetLocCntrRel(rl.S_LOC_CODE);
                                    //板型相同
                                    var _clrel0 = _clrel.OrderByDescending(xx => xx.T_CREATE).First();
                                    LogHelper.Info(rl.S_LOC_CODE + "识别托盘类型。");
                                    LogHelper.Info(rl.S_LOC_CODE + "识别托盘类型。" + JsonConvert.SerializeObject(_clrel0));
                                    var _clcntitem = ContainerHelper.GetCntrItemRel(_clrel0.S_CNTR_CODE.Trim()).FirstOrDefault();
                                    LogHelper.Info(rl.S_LOC_CODE + "识别托盘上的物料信息。" + JsonConvert.SerializeObject(_clcntitem));
                                    if (_clcntitem != null)
                                    {
                                        LogHelper.Info("相互是否匹配 _clcntitem S_ITEM_CODE:" + _clcntitem.S_ITEM_CODE + " od" + od.SQL_ItemCode + " _clcntitem S_ITEM_NAME:" + _clcntitem.S_ITEM_NAME + "od: " + od.SQL_ItemName);
                                        if (_clcntitem.S_ITEM_CODE == od.SQL_ItemCode && _clcntitem.S_ITEM_NAME == od.SQL_ItemName)
                                        {
                                            StartBit = rl;
                                            break;
                                        }
@@ -3608,7 +3642,11 @@
                                var EndBit = Endbit.S_LOC_CODE;
                                if (od.S_ROW == "YWLCQSX" || od.S_ROW == "YWLDQWJ")
                                {
                                    EndBit = "YWLWJJB";
                                    var locs1 = LocationHelper.GetList<Location>(x => x.S_AREA_CODE == "YWLWJJB" && x.S_LOCK_STATE != "报废" && x.S_LOCK_STATE == "无" && x.N_CURRENT_NUM == 0).ToList();
                                    if (locs1.Count() > 0)
                                    {
                                        EndBit = locs1.FirstOrDefault().S_LOC_CODE;
                                    }
                                }
                                var b = TaskProcess.CreateTransport(od.SQL_WorkNo, StartBit.S_LOC_CODE, EndBit, "原物料搬运-纸箱", crs, StartBit.N_CURRENT_NUM - crs.Count + 1, 1, crs.Count, PLC.taskPri, Endbit.S_LOC_CODE);
                                if (b)
@@ -3658,10 +3696,14 @@
                    pline = "T2提升机-纸箱";
                var orkOrd = LocationHelper.GetList<YWLWorkOrder>(x => x.SQL_PLineNo == pline && x.WorkType == 6 && x.SQL_State == "执行中");
                if (orkOrd.Any())
                    foreach (var ork in orkOrd)
                    {
                        list = list.Concat(ork.S_ROW.Split('$')).ToList();
                    }
                {
                    list = new List<string>() { "YWLAQWJ", "YWLBQWJ", "YWLCQSX", "YWLDQWJ" };
                    //foreach (var ork in orkOrd)
                    //{
                    //    list = list.Concat(ork.S_ROW.Split('$')).ToList();
                    //}
                }
            }
            foreach (var area in list.Distinct())
            {
HH.WCS.QingXiNongfu/settings.xml
@@ -75,7 +75,7 @@
    
    {"address":"10.140.3.155","deviceName":"一楼搬2楼","deviceNo":[],"location":["踢踢踢"],"deviceType":11,"enable":1},
    {"address":"10.140.3.196","deviceName":"门plc12","deviceNo":["6"],"location":[""],"deviceType":1,"enable":1},
    {"address":"192.168.10.86","deviceName":"T1提升机","deviceNo":[""],"location":["YWLT1TSJ"],"areaPriy":["YWLT1TSJCD"],"deviceType":13,"enable":1},
    {"address":"192.168.1.142","deviceName":"T1提升机","deviceNo":[""],"location":["YWLT1TSJ"],"areaPriy":["YWLT1TSJCD"],"deviceType":13,"enable":1},
    {"address":"192.168.10.86","deviceName":"T2提升机","deviceNo":[""],"location":["YWLSXBQTSJ"],"areaPriy":[],"deviceType":13,"enable":1},
    
    ]]]>
HH.WCS.QingXiNongfu/wms/TaskHelper.cs
@@ -104,10 +104,13 @@
                    LogHelper.Info($"CreateTransport-  CreateTask Error" + $"起点或终点货位数据null");
                    return false;
                }
                if (fromLoc.S_LOCK_STATE.Trim() != "无" || endLoc.S_LOCK_STATE.Trim() != "无")
                if (fromLoc.S_AREA_CODE != "YWLWJJB")
                {
                    LogHelper.Info($"CreateTransport-  CreateTask Error" + $"起点 {fromLoc.S_LOCK_STATE}或终点{endLoc.S_LOCK_STATE}状态不为 无 ");
                    return false;
                    if (fromLoc.S_LOCK_STATE.Trim() != "无" || endLoc.S_LOCK_STATE.Trim() != "无")
                    {
                        LogHelper.Info($"CreateTransport-  CreateTask Error" + $"起点 {fromLoc.S_LOCK_STATE}或终点{endLoc.S_LOCK_STATE}状态不为 无 ");
                        return false;
                    }
                }
            }
            WMSTask wmsTask = new WMSTask()
@@ -218,7 +221,7 @@
                task.T_END_TIME = DateTime.Now;
                db.Updateable(task).UpdateColumns(it => new { it.S_B_STATE, it.T_END_TIME }).ExecuteCommand();
            }
            if (task.S_END_LOC == "YWLWJJB")
            if (task.S_END_LAREA == "YWLWJJB")
            {
                var b = TaskProcess.CreateTransport(task.S_SRC_NO, task.S_END_LOC, task.S_NOTE, "原物料搬运-纸箱", task.S_CNTRS.Split(',').ToList(), task.N_START_LAYER, 1, task.N_CNTR_COUNT, task.N_PRIORITY);
            }
@@ -269,7 +272,7 @@
                    LogHelper.Info(wmsTask.S_START_LOC + "LockLoc:锁结果" + res);
                    model = db.Queryable<Location>().Where(a => a.S_LOC_CODE == wmsTask.S_END_LOC).First();
                    if (wmsTask.S_START_LOC != "YWLWJJB")
                    if (wmsTask.S_START_LAREA != "YWLWJJB")
                    {
                        model.S_LOCK_STATE = "入库锁";
                        res = db.Updateable(model).UpdateColumns(it => new { it.S_LOCK_STATE }).ExecuteCommand() > 0;