czw
2025-06-23 9342539a8bb75985797282556a29b64ea32210fc
转运
1个文件已修改
28 ■■■■ 已修改文件
HH.WCS.QingXiNongfu/core/Monitor.cs 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.QingXiNongfu/core/Monitor.cs
@@ -4026,10 +4026,10 @@
                var locS = LocationHelper.GetAreaNormalLocList(ODs.Key);
                foreach (var od in ODs)
                {
                    LogHelper.Info($"from{od.S_START_AREA} mid:{od.S_ZZ_AREA} to{od.S_END_AREA} 开始 》》》");
                    LogHelper.Info($"YWL_ZX_Turn from{od.S_START_AREA} mid:{od.S_ZZ_AREA} to{od.S_END_AREA} 开始 》》》");
                    if (string.IsNullOrEmpty(od.S_ZZ_AREA) || string.IsNullOrEmpty(od.S_END_AREA))
                    {
                        LogHelper.CError($"from{od.S_START_AREA} mid:{od.S_ZZ_AREA} to{od.S_END_AREA} 数据缺失。无法完成移库。");
                        LogHelper.CError($"YWL_ZX_Turn from{od.S_START_AREA} mid:{od.S_ZZ_AREA} to{od.S_END_AREA} 数据缺失。无法完成移库。");
                        continue;
                    }
                    var rows = locS.FindAll(x => x.N_ROW == od.N_START_ROW);
@@ -4046,13 +4046,23 @@
                            var lastful = rows.FindAll(x => x.N_CURRENT_NUM > 0).OrderBy(x => x.N_COL).LastOrDefault();
                            if (lastful != null)
                            {
                                LogHelper.Info($"from{od.S_START_AREA} mid:{od.S_ZZ_AREA} to{od.S_END_AREA} 找到移库起点》{lastful.S_LOC_CODE}。");
                                LogHelper.Info($"YWL_ZX_Turn from{od.S_START_AREA} mid:{od.S_ZZ_AREA} to{od.S_END_AREA} 找到移库起点》{lastful.S_LOC_CODE}。");
                                var crs = LocationHelper.GetLocCntrRel(lastful.S_LOC_CODE);
                                var cntritems = ContainerHelper.GetCntrItemRel(crs.FirstOrDefault()?.S_CNTR_CODE);
                                if (!cntritems.Any())
                                    continue;
                                LogHelper.Info($"from{od.S_START_AREA} mid:{od.S_ZZ_AREA} to{od.S_END_AREA} 找到移库起点》{lastful.S_LOC_CODE}。接驳是否被锁?:{InworkLock}");
                                LogHelper.Info($"YWL_ZX_Turn from{od.S_START_AREA} mid:{od.S_ZZ_AREA} to{od.S_END_AREA} 找到移库起点》{lastful.S_LOC_CODE}。接驳是否被锁?:{InworkLock}");
                                var cir1 = cntritems.First();
                                if (!string.IsNullOrEmpty(od.S_ITEM_CODE))
                                {
                                    ///给移库单 写上转运的物料数据。
                                    od.S_ITEM_CODE = cir1.S_ITEM_CODE;
                                    od.S_ITEM_NAME = cir1.S_ITEM_NAME;
                                    od.S_CJ_NAME = cir1.S_CJ_NAME;
                                    WCSHelper.Do(db => db.Updateable(od).UpdateColumns(it => new { it.S_ITEM_NAME, it.S_ITEM_CODE, it.S_CJ_NAME }).ExecuteCommand());
                                }
                                if (od.S_ZZ_AREA == "YWLWJJB")
                                {
                                    if (InworkLock)
@@ -4086,20 +4096,12 @@
                                        break;
                                    }
                                }
                                LogHelper.Info($"from{od.S_START_AREA} mid:{od.S_ZZ_AREA} to{od.S_END_AREA} 找到移库终点》{Endbit?.S_LOC_CODE}");
                                LogHelper.Info($"YWL_ZX_Turn from{od.S_START_AREA} mid:{od.S_ZZ_AREA} to{od.S_END_AREA} 找到移库终点》{Endbit?.S_LOC_CODE}");
                                if (Endbit != null)
                                {
                                    //生成接驳区任务,标记为终点库区。
                                    var b = TaskProcess.CreateTransport(od.S_ID, lastful.S_LOC_CODE, Endbit.S_LOC_CODE, "原物料搬运-纸箱", crs.Select(x => x.S_CNTR_CODE).ToList(), 1, 1, crs.Count, 50, nextarea == od.S_END_AREA ? "" : od.S_END_AREA);
                                    if (od.S_ZZ_AREA == "YWLWJJB") InworkLock = false;
                                    if (!string.IsNullOrEmpty(od.S_ITEM_CODE))
                                    {
                                        ///给移库单 写上转运的物料数据。
                                        od.S_ITEM_CODE = cir1.S_ITEM_CODE;
                                        od.S_ITEM_NAME = cir1.S_ITEM_NAME;
                                        od.S_CJ_NAME = cir1.S_CJ_NAME;
                                        WCSHelper.Do(db => db.Updateable(od).UpdateColumns(it => new { it.S_ITEM_NAME, it.S_ITEM_CODE, it.S_CJ_NAME }).ExecuteCommand());
                                    }
                                    break;
                                }
                                else if (od.S_ZZ_AREA == "YWLWJJB") InworkLock = false;