海波 张
4 天以前 265fbfa342cc03991c79934b162f26c0a6699f95
process/TaskProcess.cs
@@ -1015,6 +1015,27 @@
                    return result;
                }
                if (work.S_B_STATE == "等待")
                {
                    work.N_B_STATE = 7;
                    work.S_B_STATE = "取消";
                    work.T_MODIFY = DateTime.Now;
                    work.T_END_TIME = DateTime.Now;
                    var db = new SqlHelper<object>().GetInstance();
                    db.Updateable(work).UpdateColumns(it => new { it.N_B_STATE, it.S_B_STATE, it.T_MODIFY, it.T_END_TIME }).ExecuteCommand();
                    LocationHelper.UnLockLoc(work.S_START_LOC);
                    LocationHelper.UnLockLoc(work.S_END_LOC);
                    if (!string.IsNullOrEmpty(work.CONNECTION))
                    {
                        LocationHelper.UnLockLoc(work.CONNECTION);
                    }
                    result.errCode = 0;
                    result.errMsg = "取消成功";
                    result.success = true;
                    return result;
                }
                //作业没有接驳位,一段任务取消
                if (string.IsNullOrEmpty(work.CONNECTION)) {
                    if (task != null)
@@ -1086,23 +1107,18 @@
                {
                    //二段任务取消
                    if (task.S_TYPE.Contains("出库"))
                    {
                        if (wcsTask != null)
                        {
                            LogHelper.Info($"cancelTask1取消Wcs任务{wcsTask.S_CODE}", "取消");
                            if (wcsTask.S_B_STATE.Trim() == "未执行" && task.S_B_STATE.Trim() == "未执行")
                            if (wcsTask.S_B_STATE.Trim() == "未执行")
                            {
                                //未执行直接修改状态为取消
                                TaskHelper.opMesTask(task, 3);
                                TaskHelper.Fail(task);
                                TaskProcess.OperateStatus(task,7);
                                TaskHelper.Fail(wcsTask);
                                TaskProcess.OperateStatus(wcsTask, 7);
                                result.errCode = 0;
                                result.errMsg = "取消成功";
                                result.success = true;
                                return result;
                            }
                            else
                            {
@@ -1113,9 +1129,8 @@
                                return result;
                            }
                        }
                    }
                    else
                    {
                        if (task.S_B_STATE.Trim() == "未执行")
                        {
                            //未执行直接修改状态为取消
@@ -1164,8 +1179,7 @@
                            result.errCode = 1;
                            result.errMsg = "任务已经结束";
                            result.success = false;
                        }
                    }
                        }
                }
            }
            catch (Exception ex)
@@ -1521,9 +1535,7 @@
                  var   workFlow = TaskHelper.selectWorkFlowByType(model.BUSI_TYPE);
                     var workFlow = TaskHelper.selectWorkFlowByType(model.BUSI_TYPE);
                    if (workFlow == null)
@@ -1533,7 +1545,7 @@
                    }
                    else
                    {
                        LogHelper.Info($"作业流程信息" + JsonConvert.SerializeObject(workFlow), "Mes任务下发");
                        LogHelper.Info($"出库作业流程信息" + JsonConvert.SerializeObject(workFlow), "Mes任务下发");
                    }
                    //出库任务
@@ -1855,7 +1867,10 @@
                    }
                    workFlow = TaskHelper.selectWorkFlowByEndArea(model.BUSI_TYPE, end.S_AREA_CODE);
                    TOOLSTYPE = workFlow.TOOLSTYPE;
                    if (workFlow != null)
                    {
                        TOOLSTYPE = workFlow.TOOLSTYPE;
                    }
                }
                LogHelper.Info($"作业{model.task_no},工装类型{TOOLSTYPE}", "Mes任务下发");
@@ -1939,7 +1954,7 @@
                                if (TOOLSTYPE == "25" || TOOLSTYPE == "35")
                                {
                                    LogHelper.Info($"ZCSendTask入库任务工装是二合一库,需要物料均衡", "Mes任务下发");
                                    balanceLocList = LocationHelper.RoadWayBalance1ByItem(balanceLocList, model.PROD_NO);
                                    balanceLocList = LocationHelper.RoadWayBalance1ByItem(endList, model.PROD_NO);
                                }
                                else {
                                    balanceLocList = LocationHelper.FindBalanceEndLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY);
@@ -2121,7 +2136,7 @@
                    cntr1.S_CODE = cntrCode;
                    cntr1.C_ENABLE = "Y";
                    cntr1.N_DETAIL_COUNT = cntrCount;
                    cntr1.S_TYPE = "";
                    cntr1.S_TYPE = TOOLSTYPE;
                    LogHelper.Info($"添加容器信息" + JsonConvert.SerializeObject(cntr1), "Mes任务下发");
                    if (ContainerHelper.CreateCntr(cntr1))
@@ -2169,7 +2184,7 @@
                        S_START_AREA_NAME = start.S_AREA_Name,
                        //起点库区名称
                        S_END_AREA_NAME = end.S_AREA_Name,
                        //起点库区名称
                        //接驳库区名称
                        CONNECTION_AREA = connectionArea,
                    };
@@ -2224,6 +2239,8 @@
                    }
                    //LogHelper.Info($"ZCSendTask出库任务判断终点货位是否可以无限制下任务开始", "Mes任务下发");
                    var unlimitedLocation = TaskHelper.GetMesKtLoc();
                    //标记终点货位是否可以无限制下任务
@@ -2239,17 +2256,20 @@
                        }
                    }
                    //LogHelper.Info($"ZCSendTask出库任务判断终点货位是否可以无限制下任务endLocFlag信息{endLocFlag}", "Mes任务下发");
                    if (endLocFlag)
                    {
                        var endTask = TaskHelper.GetTaskByEndLoc(model.Location_To);
                        //LogHelper.Info($"ZCSendTask出库任务判断终点货位是否可以无限制下任务endTask信息"+JsonConvert.SerializeObject(endTask), "Mes任务下发");
                        if (endTask != null)
                        {
                            LogHelper.Info($"ZCSendTask出库任务下发失败,终点:{model.Location_To}有任务执行中,任务号:{endTask.S_CODE}", "Mes任务下发");
                            throw new Exception($"终点:{model.Location_To}有任务执行中,任务号:{endTask.S_CODE}");
                        }
                    }
                   // LogHelper.Info($"ZCSendTask出库任务判断终点货位是否可以无限制下任务完成", "Mes任务下发");
                    //查找起点
                    List<Location> strrtList;
@@ -2264,9 +2284,10 @@
                    else
                    {
                        strrtList = LocationHelper.GetAllLocList2(workFlow.STARTAREA);
                    }
                    //LogHelper.Info($"CSendTask出库任务获取起点货位集合完成", "Mes任务下发");
                    if (workFlow.FLOWCODE == "9" || workFlow.FLOWCODE == "4" || workFlow.FLOWCODE == "6")
                    {
@@ -2278,6 +2299,8 @@
                        else
                        {
                            //根据制品编号寻找立库区对应物料托盘
                            LogHelper.Info($"CSendTask出库任务根据制品编号寻找立库区对应物料托盘", "Mes任务下发");
                            start = LocationHelper.FindStartcolByLoclistAndItem(strrtList, model.PROD_NO, workFlow.STARTAREA, workFlow.ROADWAY,workFlow.CONNECTION);
                            if (start == null)
                            {
@@ -2467,7 +2490,7 @@
                        S_START_AREA_NAME = start.S_AREA_Name,
                        //起点库区名称
                        S_END_AREA_NAME = end.S_AREA_Name,
                        //起点库区名称
                        //接驳库区名称
                        CONNECTION_AREA = connectionArea
                    };