kazelee
4 天以前 fbb7c2253c86d58583d7e3b0a8a44d0342c43c73
core/WCSCore.cs
@@ -153,10 +153,10 @@
                    return;
                }
                var cgDetail = db.Queryable<TN_CG_Detail>()
                    .Where(d => d.S_CNTR_CODE == tn_task.S_CNTR_CODE).First();
                var cgDetailList = db.Queryable<TN_CG_Detail>()
                    .Where(d => d.S_CNTR_CODE == tn_task.S_CNTR_CODE).ToList();
                if (cgDetail == null) {
                if (cgDetailList.Count == 0) {
                    LogHelper.Info("设置终点货位失败:当前任务的托盘号在物料表中不存在");
                    return;
                }
@@ -171,11 +171,11 @@
                    var weight_str = data[0].parameter_varchar200_up.Split(';')[1].Split('-')[1];
                    var weight = float.Parse(weight_str);
                    cgDetail.F_WEIGHT = weight;
                    cgDetailList.ForEach(d => d.F_WEIGHT = weight);
                    tn_task.F_WEIGHT = weight;
                    using (var tran = db.Ado.UseTran()) {
                        if (db.Updateable<TN_CG_Detail>(cgDetail).UpdateColumns(it => it.F_WEIGHT).ExecuteCommand() <= 0) {
                        if (db.Updateable<TN_CG_Detail>(cgDetailList).UpdateColumns(it => it.F_WEIGHT).ExecuteCommand() <= 0) {
                            tran.RollbackTran();
                            LogHelper.Info("修改物料表重量失败");
                            return;
@@ -210,7 +210,7 @@
                //row -= 100; // 111-118 => 1-8
                // 只当之前指定终点货架后,才尝试计算终点货位
                if (cgDetail.F_WEIGHT > 2000) {
                if (tn_task.F_WEIGHT > 2000) {
                    // 重量超过 2t 
                    endLoc = null;
                    LogHelper.Info("重量超过2t,不允许入库");
@@ -234,13 +234,13 @@
                    return; // 超重会自己return,如果国自agv没接受到也不需要提前return
                }
                else if (cgDetail.F_WEIGHT > 1500) {
                else if (tn_task.F_WEIGHT > 1500) {
                    // 重量超过1.5t,需要选择1-2层货架
                    endLoc = db.Queryable<TN_Location>()
                        .First(a => a.N_ROW == row && a.N_LAYER <= 2
                        && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "无" && a.C_ENABLE == "Y");
                }
                else if (cgDetail.F_WEIGHT > 0) {
                else if (tn_task.F_WEIGHT > 0) {
                    // 重量未超过1.5t,在指定货架随便选择1个
                    endLoc = db.Queryable<TN_Location>().Where(a => a.N_ROW == row
                        && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "无" && a.C_ENABLE == "Y")
@@ -249,7 +249,7 @@
                else {
                    // 没有接收到重量,或重量出错
                    endLoc = null;
                    LogHelper.Info($"错误的重量信息:{cgDetail.F_WEIGHT}");
                    LogHelper.Info($"错误的重量信息:{tn_task.F_WEIGHT}");
                    return;
                }
@@ -332,10 +332,10 @@
            try {
                var cgDetail = db.Queryable<TN_CG_Detail>()
                    .Where(d => d.S_CNTR_CODE == tn_task.S_CNTR_CODE).First();
                var cgDetailList = db.Queryable<TN_CG_Detail>()
                    .Where(d => d.S_CNTR_CODE == tn_task.S_CNTR_CODE).ToList();
                if (cgDetail == null) {
                if (cgDetailList == null) {
                    LogHelper.Info("更新物料重量失败:当前任务的托盘号在物料表中不存在");
                    return;
                }
@@ -349,9 +349,9 @@
                var weight_str = data[0].parameter_varchar200_up.Split(';')[1].Split('-')[1];
                var weight = float.Parse(weight_str);
                cgDetail.F_WEIGHT = weight;
                if (db.Updateable<TN_CG_Detail>(cgDetail).UpdateColumns(it => it.F_WEIGHT).ExecuteCommand() <= 0) {
                cgDetailList.ForEach(a => a.F_WEIGHT = weight);
                if (db.Updateable<TN_CG_Detail>(cgDetailList).UpdateColumns(it => it.F_WEIGHT).ExecuteCommand() <= 0) {
                    LogHelper.Info("修改物料表重量失败");
                    return;
                }