杨张扬
2025-06-06 0926aaf5b0272133bb5a3d139040fa8867405de3
core/Monitor.cs
@@ -133,7 +133,10 @@
                                            else
                                            {
                                                var endLoc = db.Queryable<TN_Location>().
                                                                           Where(c => c.S_AREA_CODE == Settings.Areas[1] && c.S_LOCK_STATE == "无" && c.N_LOCK_STATE == 0 && c.N_CURRENT_NUM == 0 && c.C_ENABLE == "Y").
                                                                           Where(c => c.S_AREA_CODE == Settings.Areas[1] && c.S_LOCK_STATE == "无"
                                                                           && c.N_LOCK_STATE == 0 && c.N_CURRENT_NUM == 0
                                                                           && SqlFunc.Subqueryable<TN_Loc_Container>().Where(b => b.S_LOC_CODE == c.S_CODE).NotAny()//不能有货
                                                                           && c.C_ENABLE == "Y").
                                                                           OrderBy(o => o.T_MODIFY, OrderByType.Asc).First();//查询合适的终点货位,直接判断当前数量为0即可
                                                if (endLoc != null)
@@ -179,7 +182,7 @@
                                                    endLoc.N_LOCK_STATE = 1;
                                                    endLoc.S_LOCK_STATE = "入库锁";
                                                    startLoc.T_MODIFY = System.DateTime.Now;
                                                    endLoc.T_MODIFY = System.DateTime.Now;
                                                    using (var tran = db.Ado.UseTran())
                                                    {
@@ -278,7 +281,7 @@
                            return;
                        }
                        var endLoc = db.Queryable<TN_Location>().
                        var endLoc = db.Queryable<TN_Location>().//空托上线的终点不校验是否有货
                        First(a => a.S_CODE == endPoint.PointIn && a.S_LOCK_STATE == "无" && a.N_LOCK_STATE == 0 && a.C_ENABLE == "Y");
                        if (endLoc == null)
@@ -366,8 +369,9 @@
                if (startLoc_1 != null)
                {
                    var endLoc_1 = db.Queryable<TN_Location>()
                        .First(o => o.S_AREA_CODE == Settings.Areas[12] &&
                        o.N_CURRENT_NUM == 0 && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "无");
                        .Where(o => o.S_AREA_CODE == Settings.Areas[12]
                         && SqlFunc.Subqueryable<TN_Loc_Container>().Where(b => b.S_LOC_CODE == o.S_CODE).NotAny()//不能有货
                        && o.N_CURRENT_NUM == 0 && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "无").First();
                    if (endLoc_1 != null)
                    {
@@ -399,8 +403,9 @@
                if (startLoc_2 != null)
                {
                    var endLoc_2 = db.Queryable<TN_Location>()
                     .First(o => o.S_AREA_CODE == Settings.Areas[2] &&
                     o.N_CURRENT_NUM == 0 && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "无");
                     .Where(o => o.S_AREA_CODE == Settings.Areas[2]
                      && SqlFunc.Subqueryable<TN_Loc_Container>().Where(b => b.S_LOC_CODE == o.S_CODE).NotAny()//不能有货
                     && o.N_CURRENT_NUM == 0 && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "无").First();
                    if (endLoc_2 != null)
                    {
@@ -443,8 +448,9 @@
                if (startLoc_3 != null)
                {
                    var endLoc_3 = db.Queryable<TN_Location>()
                     .First(o => o.S_AREA_CODE == Settings.Areas[11] &&
                     o.N_CURRENT_NUM == 0 && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "无");
                     .Where(o => o.S_AREA_CODE == Settings.Areas[11]
                     && SqlFunc.Subqueryable<TN_Loc_Container>().Where(b => b.S_LOC_CODE == o.S_CODE).NotAny()//不能有货
                     && o.N_CURRENT_NUM == 0 && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "无").First();
                    if (endLoc_3 != null)
                    {
@@ -797,7 +803,11 @@
                }
                var endLoc = db.Queryable<TN_Location>().First(a => a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "无" && a.S_AREA_CODE == Settings.Areas[7]);
                var endLoc = db.Queryable<TN_Location>()
                    .Where(a => a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "无"
                    && SqlFunc.Subqueryable<TN_Loc_Container>().Where(b => b.S_LOC_CODE == a.S_CODE).NotAny()//不能有货
                    && a.S_AREA_CODE == Settings.Areas[7]).First();
                if (endLoc == null)
                {
                    LogHelper.Info($"未找到合适的终点货位,要求a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == 无 && a.S_AREA_CODE == Settings.Areas[7]");
@@ -858,7 +868,10 @@
                }
                var endLoc = db.Queryable<TN_Location>().
                    Where(a => a.S_AREA_CODE == Settings.Areas[4] && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "无" && a.C_ENABLE == "Y" && a.N_CURRENT_NUM == 0).
                    Where(a => a.S_AREA_CODE == Settings.Areas[4] && a.N_LOCK_STATE == 0
                    && a.S_LOCK_STATE == "无" && a.C_ENABLE == "Y" && a.N_CURRENT_NUM == 0
                    && SqlFunc.Subqueryable<TN_Loc_Container>().Where(b => b.S_LOC_CODE == a.S_CODE).NotAny()
                    ).
                    OrderBy(a => a.N_CURRENT_NUM, OrderByType.Asc).
                    First();