/// <summary> /// 发送铺线任务 /// </summary> /// <returns></returns> public bool SendInitDistributeTask() { bool isSuccess = false; try { using (GeelyPtlEntities dbContext = new GeelyPtlEntities()) { List <DST_DistributeTask> distributeTasks = null; DistributeReqTypes distributeReqType = DistributeReqTypes.PickAreaInit; //获取未响应的铺线任务 if (distributeReqType == DistributeReqTypes.PickAreaInit) //拣料区铺线 { distributeTasks = dbContext.DST_DistributeTasks. Where(t => !t.isResponse && t.DistributeReqTypes == DistributeReqTypes.PickAreaInit && t.sendErrorCount < 5). OrderBy(t => t.reqTime).ToList(); } //if (distributeTasks.Count == 0) //{ // distributeReqType = DistributeReqTypes.ProductAreaInit; // if (distributeReqType == DistributeReqTypes.ProductAreaInit) //生产线边铺线 // { // distributeTasks = dbContext.DST_DistributeTasks. // Where(t => !t.isResponse && t.DistributeReqTypes == DistributeReqTypes.ProductAreaInit && t.sendErrorCount < 5). // OrderBy(t => t.reqTime).ToList(); // } //} if (distributeTasks.Count == 0) { return(false); } //已经设置成运输开始的寻车任务ID集合 //List<long> listNeedBlinkFndTask = new List<long>(); //发送信息 string sendInfo = ""; //AGV服务地址 string sURL = ptlToAgvServiceUrl + "/genAgvSchedulingTask"; //HTTP响应结果 string result = ""; foreach (DST_DistributeTask distributeTask in distributeTasks) { //绑定配送任务 DST_DistributeTaskDto distributeTaskDto = new DST_DistributeTaskDto(); distributeTaskDto.reqCode = distributeTask.reqCode; distributeTaskDto.reqTime = distributeTask.reqTime.ToString("yyyy-MM-dd HH:mm:ss"); distributeTaskDto.clientCode = distributeTask.clientCode; distributeTaskDto.tokenCode = distributeTask.tokenCode; distributeTaskDto.taskTyp = distributeTask.taskTyp; distributeTaskDto.userCallCode = distributeTask.userCallCode; distributeTaskDto.userCallCodePath = new List <string>(); distributeTaskDto.userCallCodePath.AddRange(new string[] { distributeTask.startPosition, distributeTask.endPosition }); distributeTaskDto.podCode = distributeTask.podCode; distributeTaskDto.robotCode = distributeTask.robotCode; distributeTaskDto.taskCode = distributeTask.taskCode; distributeTaskDto.data = distributeTask.data; //发送信息 sendInfo = JsonConvert.SerializeObject(distributeTaskDto); //发送HTTP请求,并返回响应结果 result = HttpService.HttpPost(sURL, sendInfo); if (string.IsNullOrEmpty(result)) { isSuccess = false; distributeTask.sendErrorCount = distributeTask.sendErrorCount + 1; } else { //实例化HTTP响应结果 DST_DistributeTaskResultDto distributeTaskResultDto = JsonConvert.DeserializeObject <DST_DistributeTaskResultDto>(result); if (distributeTaskResultDto == null) { isSuccess = false; distributeTask.sendErrorCount = distributeTask.sendErrorCount + 1; } else { //新增配送任务结果 DST_DistributeTaskResult distributeTaskResult = new DST_DistributeTaskResult(); distributeTaskResult.code = distributeTaskResultDto.code; distributeTaskResult.message = distributeTaskResultDto.message; distributeTaskResult.reqCode = distributeTaskResultDto.reqCode; distributeTaskResult.data = distributeTaskResultDto.data; distributeTaskResult.receiveTime = DateTime.Now; dbContext.DST_DistributeTaskResults.Add(distributeTaskResult); //更新配送任务响应值 if (distributeTaskResultDto.code.Equals("0")) { distributeTask.isResponse = true; //if (distributeTask.DistributeReqTypes == DistributeReqTypes.ProductAreaInit) //{ // string sWorkStationCode = distributeTask.startPosition; // FND_Task fndTask = dbContext.FND_Tasks.Where(t => t.CFG_WorkStation.Code.Equals(sWorkStationCode) // && (t.FindingStatus == FindingStatus.New || t.FindingStatus == FindingStatus.NeedDisplay || t.FindingStatus == FindingStatus.Displaying) // && (t.CFG_Cart.CartStatus == CartStatus.NeedToWorkStation || t.CFG_Cart.CartStatus == CartStatus.WaitingToWorkStation) // && !listNeedBlinkFndTask.Contains(t.Id)). // OrderBy(t => t.BatchCode).ThenByDescending(t => t.FindingStatus).FirstOrDefault(); // if (fndTask != null) // { // if (fndTask.FindingStatus == FindingStatus.New) // { // fndTask.CFG_EmployeeId = 1; // fndTask.DisplayTime = DateTime.Now; // fndTask.CFG_Cart.CartStatus = CartStatus.WaitingToWorkStation; // } // fndTask.FindingStatus = FindingStatus.NeedBlink; // fndTask.CFG_Cart.CartStatus = CartStatus.InCarriageToWorkStation; // listNeedBlinkFndTask.Add(fndTask.Id); // } //} } else { distributeTask.sendErrorCount = distributeTask.sendErrorCount + 1; } } } } //更新数据库 isSuccess = dbContext.SaveChanges() > 0 ? true : false; } } catch (Exception) { isSuccess = false; } return(isSuccess); }
/// <summary> /// 发送拣料区配送任务 /// </summary> /// <returns></returns> private bool SendPickAreaDistributeTask() { bool isSuccess = false; try { using (GeelyPtlEntities dbContext = new GeelyPtlEntities()) { #region 注释 ////获取物料超市已满4辆车的工位 //List<string> NoDistributeWorkStationCode = new List<string>(); //Hashtable htWorkStation = new Hashtable(); //List<CFG_Cart> cfgCarts = dbContext.CFG_Carts.Where(t => (t.CartStatus == CartStatus.ArrivedAtBufferArea // || t.CartStatus == CartStatus.NeedToWorkStation // || t.CartStatus == CartStatus.WaitingToWorkStation) // && t.FND_Tasks.FirstOrDefault(f => f.FindingStatus == FindingStatus.New // || f.FindingStatus == FindingStatus.NeedDisplay // || f.FindingStatus == FindingStatus.Displaying) != null).ToList(); //foreach (CFG_Cart cfgCart in cfgCarts) //{ // CFG_CartCurrentMaterial firstNotEmptyCfgCartCurrentMaterial = cfgCart.CFG_CartCurrentMaterials // .FirstOrDefault(ccm => ccm.AST_CartTaskItemId != null); // if (firstNotEmptyCfgCartCurrentMaterial != null) // { // string sWorkStationCode = firstNotEmptyCfgCartCurrentMaterial.CFG_WorkStation.Code; // if (!htWorkStation.Contains(sWorkStationCode)) // { // htWorkStation.Add(sWorkStationCode, 1); // } // else // { // htWorkStation[sWorkStationCode] = Convert.ToInt32(htWorkStation[sWorkStationCode]) + 1; // if (Convert.ToInt32(htWorkStation[sWorkStationCode]) > 2) // { // NoDistributeWorkStationCode.Add(sWorkStationCode); // } // } // } //} //获取未响应的配送任务 //List<DST_DistributeTask> distributeTasks = dbContext.DST_DistributeTasks. // Where(t => !t.isResponse && // (t.DistributeReqTypes == DistributeReqTypes.PickAreaDistribute // || t.DistributeReqTypes == DistributeReqTypes.NullCartAreaDistribute) // && !NoDistributeWorkStationCode.Contains(t.endPosition) // && t.sendErrorCount < 5). // OrderBy(t => t.reqTime).ToList(); #endregion List <DST_DistributeTask> distributeTasks = dbContext.DST_DistributeTasks. Where(t => !t.isResponse && (t.DistributeReqTypes == DistributeReqTypes.PickAreaDistribute || t.DistributeReqTypes == DistributeReqTypes.NullCartAreaDistribute || t.DistributeReqTypes == DistributeReqTypes.PointToPointDistribute) && t.sendErrorCount < 5). OrderBy(t => t.reqTime).ToList(); if (distributeTasks.Count == 0) { return(false); } //发送信息 string sendInfo = ""; //AGV服务地址 string sURL = ptlToAgvServiceUrl + "/genAgvSchedulingTask"; //HTTP响应结果 string result = ""; ArrayList arrChannel = new ArrayList(); foreach (DST_DistributeTask distributeTask in distributeTasks) { if (distributeTask.DistributeReqTypes == DistributeReqTypes.PickAreaDistribute) //拣料区配送 { //查询巷道对应一侧的物料超市停靠的车辆信息 string[] arrPosition = distributeTask.startPosition.Replace("H", "").Replace("P", ",").Split(','); int nChannelId = Convert.ToInt32(arrPosition[0]); //巷道 int nPosition = Convert.ToInt32(arrPosition[1]); //车位 if (arrChannel.Contains(nChannelId)) { continue; } arrChannel.Add(nChannelId); int nMaxPosition = 0; int nMinPosition = 0; if (nPosition <= 2) { nMinPosition = 1; nMaxPosition = 2; } else { nMinPosition = 3; nMaxPosition = 4; } string sWorkStationCode = distributeTask.endPosition; CFG_CartCurrentMaterial firstCurDisCartCurrentMaterial = dbContext.CFG_CartCurrentMaterials.FirstOrDefault(t => t.CFG_Cart.Code.Equals(distributeTask.podCode) && t.AST_CartTaskItemId != null); if (firstCurDisCartCurrentMaterial != null) { //查询拣料区正在往物料超市配送的料架的批次跟需配送的巷道的料架的批次是否一致 List <string> arrPodCodes = new List <string>(); List <DST_DistributeTask> pickDistributeTasks = dbContext.DST_DistributeTasks.Where(t => t.DistributeReqTypes == DistributeReqTypes.PickAreaDistribute && t.isResponse && t.sendErrorCount < 5 && t.arriveTime == null && !t.reqCode.Equals(distributeTask.reqCode) && t.endPosition.Equals(sWorkStationCode)).ToList(); int nPickStartPosition = 0; foreach (DST_DistributeTask pickDistributeTask in pickDistributeTasks) { nPickStartPosition = Convert.ToInt32(pickDistributeTask.startPosition.Split('P')[1]); if (nPickStartPosition >= nMinPosition && nPickStartPosition <= nMaxPosition) { arrPodCodes.Add(pickDistributeTask.podCode); } } if (dbContext.CFG_CartCurrentMaterials.Any(t => arrPodCodes.Contains(t.CFG_Cart.Code) && t.AST_CartTaskItemId != null && t.BatchCode != firstCurDisCartCurrentMaterial.BatchCode)) { continue; } } List <MarketZone> marketZones = dbContext.MarketZones.Where(t => t.AreaId.Equals(sWorkStationCode) && t.CFG_CartId != null && t.Position >= nMinPosition && t.Position <= nMaxPosition).ToList(); //string sWorkStationCode = distributeTask.endPosition; //List<MarketZone> marketZones = dbContext.MarketZones.Where(t => t.AreaId.Equals(sWorkStationCode) // && t.CFG_CartId != null).ToList(); if (marketZones.Count > 0) { //物料超市对应一侧已停满 if (marketZones.Count >= 2) { continue; } //物料超市停靠的车+正在配送的车>=2时,拣料区对应工位相应一侧不再配送 string sql = string.Format(@"select count(*) from DST_DistributeTask a inner join DST_DistributeTaskResult b on a.reqCode=b.reqCode where a.DistributeReqTypes=3 and a.isResponse=1 and a.sendErrorCount<5 and a.arriveTime is null and b.data not in(select taskCode from DST_DistributeArriveTask where method='OutFromBin') and ((a.startPosition='{0}'+'L' and {1}<=2) or (a.startPosition='{0}'+'R' and {1}>2))", sWorkStationCode, nPosition); int nNoCompleteDistributeCount = dbContext.Database.SqlQuery <int>(sql).FirstOrDefault(); if (marketZones.Count + nNoCompleteDistributeCount >= 2) { continue; } //查询需配送的巷道的料架和物料超市的料架批次是否一致 if (firstCurDisCartCurrentMaterial != null) { int nFirstMarketCartId = Convert.ToInt32(marketZones[0].CFG_CartId); CFG_CartCurrentMaterial firstDockCartCurrentMaterial = dbContext.CFG_CartCurrentMaterials.FirstOrDefault(t => t.CFG_CartId == nFirstMarketCartId && t.AST_CartTaskItemId != null); if (firstDockCartCurrentMaterial != null) { if (!firstCurDisCartCurrentMaterial.BatchCode.Equals(firstDockCartCurrentMaterial.BatchCode)) { continue; } } } //if (marketZones.Count >= 4) //{ // continue; //} //CFG_CartCurrentMaterial firstCurDisCartCurrentMaterial = dbContext.CFG_CartCurrentMaterials.FirstOrDefault(t => t.CFG_Cart.Code.Equals(distributeTask.podCode) && t.AST_CartTaskItemId != null); //if (firstCurDisCartCurrentMaterial != null) //{ // List<int?> ListCartId = new List<int?>(); // foreach (MarketZone marketZone in marketZones) // { // ListCartId.Add(marketZone.CFG_CartId); // } // CFG_CartCurrentMaterial firstDockCartCurrentMaterial = dbContext.CFG_CartCurrentMaterials.FirstOrDefault(t => ListCartId.Contains(t.CFG_CartId) // && t.AST_CartTaskItemId != null // && !t.BatchCode.Equals(firstCurDisCartCurrentMaterial.BatchCode)); // if (firstDockCartCurrentMaterial != null) // { // continue; // } //} } } else if (distributeTask.DistributeReqTypes == DistributeReqTypes.NullCartAreaDistribute) //空料架缓冲区配送 { string[] arrPosition = distributeTask.endPosition.Replace("H", "").Replace("P", ",").Split(','); int nChannelId = Convert.ToInt32(arrPosition[0]); //巷道 int nPosition = Convert.ToInt32(arrPosition[1]); //车位 //如果对应巷道车位上停靠了料架,则先不补空料架 CFG_ChannelCurrentCart cfgChannelCurrentCart = dbContext.CFG_ChannelCurrentCarts.FirstOrDefault(ccc => ccc.CFG_ChannelId == nChannelId && ccc.Position == nPosition && ccc.CFG_CartId != null); if (cfgChannelCurrentCart != null) { continue; } } //绑定配送任务 DST_DistributeTaskDto distributeTaskDto = new DST_DistributeTaskDto(); distributeTaskDto.reqCode = distributeTask.reqCode; distributeTaskDto.reqTime = distributeTask.reqTime.ToString("yyyy-MM-dd HH:mm:ss"); distributeTaskDto.clientCode = distributeTask.clientCode; distributeTaskDto.tokenCode = distributeTask.tokenCode; distributeTaskDto.taskTyp = distributeTask.taskTyp; distributeTaskDto.userCallCode = distributeTask.userCallCode; distributeTaskDto.userCallCodePath = new List <string>(); distributeTaskDto.userCallCodePath.AddRange(new string[] { distributeTask.startPosition, distributeTask.endPosition }); distributeTaskDto.podCode = distributeTask.podCode; distributeTaskDto.robotCode = distributeTask.robotCode; distributeTaskDto.taskCode = distributeTask.taskCode; distributeTaskDto.data = distributeTask.data; //发送信息 sendInfo = JsonConvert.SerializeObject(distributeTaskDto); //发送HTTP请求,并返回响应结果 result = HttpService.HttpPost(sURL, sendInfo); if (!string.IsNullOrEmpty(result)) { //实例化HTTP响应结果 DST_DistributeTaskResultDto distributeTaskResultDto = JsonConvert.DeserializeObject <DST_DistributeTaskResultDto>(result); if (distributeTaskResultDto != null) { //新增配送任务结果 DST_DistributeTaskResult distributeTaskResult = new DST_DistributeTaskResult(); distributeTaskResult.code = distributeTaskResultDto.code; distributeTaskResult.message = distributeTaskResultDto.message; distributeTaskResult.reqCode = distributeTaskResultDto.reqCode; distributeTaskResult.data = distributeTaskResultDto.data; distributeTaskResult.receiveTime = DateTime.Now; dbContext.DST_DistributeTaskResults.Add(distributeTaskResult); //更新配送任务响应值 if (distributeTaskResultDto.code.Equals("0")) { distributeTask.isResponse = true; if (distributeTask.DistributeReqTypes == DistributeReqTypes.PickAreaDistribute) //拣料区配送 { //解绑巷道停靠 CFG_ChannelCurrentCart cfgChannelCurrentCart = dbContext.CFG_ChannelCurrentCarts.FirstOrDefault(ccc => ccc.CFG_Cart.Code.Equals(distributeTask.podCode)); if (cfgChannelCurrentCart != null) { cfgChannelCurrentCart.CFG_CartId = null; cfgChannelCurrentCart.DockedTime = null; } } } else { distributeTask.sendErrorCount = distributeTask.sendErrorCount + 1; } } } } //更新数据库 isSuccess = dbContext.SaveChanges() > 0 ? true : false; } } catch (Exception) { isSuccess = false; } return(isSuccess); }
/// <summary> /// 发送生产线边配送任务 /// </summary> /// <returns></returns> private bool SendProductAreaDistributeTask() { bool isSuccess = false; try { ExeConfigurationFileMap map = new ExeConfigurationFileMap { ExeConfigFilename = @"服务控制台.exe.Config" }; Configuration configuration = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None); string StartMaterialMarketDistributeFlag = configuration.AppSettings.Settings["StartMaterialMarketDistribute"].Value; using (GeelyPtlEntities dbContext = new GeelyPtlEntities()) { //获取未响应的配送任务 List <DST_DistributeTask> distributeTasks = dbContext.DST_DistributeTasks. Where(t => !t.isResponse && (t.DistributeReqTypes == DistributeReqTypes.ProductCartSwitch || t.DistributeReqTypes == DistributeReqTypes.ProductNullCartBack || t.DistributeReqTypes == DistributeReqTypes.MaterialMarketDistribute || t.DistributeReqTypes == DistributeReqTypes.ProductOutToIn || t.DistributeReqTypes == DistributeReqTypes.ProductInToOut ) && t.sendErrorCount < 5). OrderBy(t => t.reqTime).ToList(); //List<DST_DistributeTask> distributeTasks = new List<DST_DistributeTask>(); if (distributeTasks.Count == 0) { return(false); } //已经设置成运输开始的寻车任务ID集合 //List<long> listNeedBlinkFndTask = new List<long>(); //发送信息 string sendInfo = ""; //AGV服务地址 string sURL = ptlToAgvServiceUrl + "/genAgvSchedulingTask"; //HTTP响应结果 string result = ""; foreach (DST_DistributeTask distributeTask in distributeTasks) { if (StartMaterialMarketDistributeFlag.Equals("no")) { if (distributeTask.DistributeReqTypes == DistributeReqTypes.MaterialMarketDistribute) { distributeTask.sendErrorCount = 5; continue; } } if (distributeTask.DistributeReqTypes == DistributeReqTypes.MaterialMarketDistribute) { Thread.Sleep(500); } //绑定配送任务 DST_DistributeTaskDto distributeTaskDto = new DST_DistributeTaskDto(); distributeTaskDto.reqCode = distributeTask.reqCode; distributeTaskDto.reqTime = distributeTask.reqTime.ToString("yyyy-MM-dd HH:mm:ss"); distributeTaskDto.clientCode = distributeTask.clientCode; distributeTaskDto.tokenCode = distributeTask.tokenCode; distributeTaskDto.taskTyp = distributeTask.taskTyp; distributeTaskDto.userCallCode = distributeTask.userCallCode; distributeTaskDto.userCallCodePath = new List <string>(); distributeTaskDto.userCallCodePath.AddRange(new string[] { distributeTask.startPosition, distributeTask.endPosition }); distributeTaskDto.podCode = distributeTask.podCode; distributeTaskDto.robotCode = distributeTask.robotCode; distributeTaskDto.taskCode = distributeTask.taskCode; distributeTaskDto.data = distributeTask.data; //发送信息 sendInfo = JsonConvert.SerializeObject(distributeTaskDto); //发送HTTP请求,并返回响应结果 result = HttpService.HttpPost(sURL, sendInfo); if (!string.IsNullOrEmpty(result)) { //实例化HTTP响应结果 DST_DistributeTaskResultDto distributeTaskResultDto = JsonConvert.DeserializeObject <DST_DistributeTaskResultDto>(result); if (distributeTaskResultDto != null) { //新增配送任务结果 DST_DistributeTaskResult distributeTaskResult = new DST_DistributeTaskResult(); distributeTaskResult.code = distributeTaskResultDto.code; distributeTaskResult.message = distributeTaskResultDto.message; distributeTaskResult.reqCode = distributeTaskResultDto.reqCode; distributeTaskResult.data = distributeTaskResultDto.data; distributeTaskResult.receiveTime = DateTime.Now; dbContext.DST_DistributeTaskResults.Add(distributeTaskResult); //更新配送任务响应值 if (distributeTaskResultDto.code.Equals("0")) { distributeTask.isResponse = true; //if (distributeTask.DistributeReqTypes == DistributeReqTypes.MaterialMarketDistribute) //{ // string sWorkStationCode = distributeTask.startPosition; // //string sWorkStationCode = distributeTask.endPosition.Split('-')[0]; // FND_Task fndTask = dbContext.FND_Tasks.Where(t => t.CFG_WorkStation.Code.Equals(sWorkStationCode) // && (t.FindingStatus == FindingStatus.New || t.FindingStatus == FindingStatus.NeedDisplay || t.FindingStatus == FindingStatus.Displaying) // && (t.CFG_Cart.CartStatus == CartStatus.NeedToWorkStation || t.CFG_Cart.CartStatus == CartStatus.WaitingToWorkStation) // && !listNeedBlinkFndTask.Contains(t.Id)). // OrderBy(t => t.BatchCode).ThenByDescending(t => t.FindingStatus).FirstOrDefault(); // if (fndTask != null) // { // if (fndTask.FindingStatus == FindingStatus.New) // { // fndTask.CFG_EmployeeId = 1; // fndTask.DisplayTime = DateTime.Now; // fndTask.CFG_Cart.CartStatus = CartStatus.WaitingToWorkStation; // } // fndTask.FindingStatus = FindingStatus.NeedBlink; // fndTask.CFG_Cart.CartStatus = CartStatus.InCarriageToWorkStation; // listNeedBlinkFndTask.Add(fndTask.Id); // } //} if (distributeTask.DistributeReqTypes == DistributeReqTypes.ProductCartSwitch || distributeTask.DistributeReqTypes == DistributeReqTypes.ProductNullCartBack || distributeTask.DistributeReqTypes == DistributeReqTypes.ProductOutToIn || distributeTask.DistributeReqTypes == DistributeReqTypes.ProductInToOut) { string[] arrStartPosition = distributeTask.startPosition.Split('-'); string sWorkStationCode = arrStartPosition[0]; int nPosition = Convert.ToInt32(arrStartPosition[1]); //解除线边停靠 CFG_WorkStationCurrentCart cfgWorkStationCurrentCart = dbContext.CFG_WorkStationCurrentCarts .FirstOrDefault(wscc => wscc.CFG_WorkStation.Code.Equals(sWorkStationCode) && wscc.Position == nPosition); if (cfgWorkStationCurrentCart != null) { if (distributeTask.DistributeReqTypes == DistributeReqTypes.ProductNullCartBack) { //清空小车上的物料 CFG_Cart cfgCart = cfgWorkStationCurrentCart.CFG_Cart; if (cfgCart != null) { List <CFG_CartCurrentMaterial> cfgCartCurrentMaterials = cfgCart.CFG_CartCurrentMaterials.Where(t => t.AST_CartTaskItemId != null).ToList(); foreach (CFG_CartCurrentMaterial cfgCartCurrentMaterial in cfgCartCurrentMaterials) { cfgCartCurrentMaterial.AST_CartTaskItemId = null; cfgCartCurrentMaterial.ProjectCode = null; cfgCartCurrentMaterial.WbsId = null; cfgCartCurrentMaterial.ProjectStep = null; cfgCartCurrentMaterial.CFG_WorkStationId = null; cfgCartCurrentMaterial.BatchCode = null; cfgCartCurrentMaterial.CFG_ChannelId = null; cfgCartCurrentMaterial.CFG_PalletId = null; cfgCartCurrentMaterial.BoxCode = null; cfgCartCurrentMaterial.FromPalletPosition = null; cfgCartCurrentMaterial.MaterialCode = null; cfgCartCurrentMaterial.MaterialName = null; cfgCartCurrentMaterial.MaterialBarcode = null; cfgCartCurrentMaterial.Quantity = null; cfgCartCurrentMaterial.AssortedTime = null; cfgCartCurrentMaterial.CFG_EmployeeId = null; if (cfgCartCurrentMaterial.Usability != CartPositionUsability.DisableByOffLineDevice) { cfgCartCurrentMaterial.Usability = CartPositionUsability.Enable; } } } } //解除线边位置停靠 cfgWorkStationCurrentCart.CFG_CartId = null; cfgWorkStationCurrentCart.DockedTime = null; } } } else { distributeTask.sendErrorCount = distributeTask.sendErrorCount + 1; } } } } //更新数据库 isSuccess = dbContext.SaveChanges() > 0 ? true : false; } } catch (Exception) { isSuccess = false; } return(isSuccess); }