| | |
| | | [DisplayName("任务强制结批")] |
| | | public async Task CloseTaskForPLC(CloseTaskPLCInput input) |
| | | { |
| | | if (PLCTaskAction.boDemo) |
| | | { |
| | | //演示模式 |
| | | var checkTaskList2 = await _wcsCheckTaskRep.Context.Queryable<WcsCheckTask>().FirstAsync(w => w.Port == "208"); |
| | | // 注释:演示模式不绑定分道。liudl 2024-10-30 |
| | | //if (PLCTaskAction.boDemo) |
| | | //{ |
| | | // //演示模式 |
| | | // var checkTaskList2 = await _wcsCheckTaskRep.Context.Queryable<WcsCheckTask>().FirstAsync(w => w.Port == "208"); |
| | | |
| | | var deviceInfo = await _wcsDeviceRep.Context.Queryable<WcsDevice>().FirstAsync(w => w.StationNum == "208"); |
| | | if (deviceInfo == null) |
| | | { |
| | | throw Oops.Bah($"找不到工位号:208的码垛工位信息"); |
| | | } |
| | | var modPlc = await _wcsDeviceRep.Context.Queryable<WcsPlc>().FirstAsync(s => s.Id == deviceInfo.PlcId); |
| | | if (modPlc == null) |
| | | { |
| | | throw Oops.Bah($"找不到工位号:208的设备信息"); |
| | | } |
| | | PLCUtil modUtil = new PLCUtil(modPlc); |
| | | // var deviceInfo = await _wcsDeviceRep.Context.Queryable<WcsDevice>().FirstAsync(w => w.StationNum == "208"); |
| | | // if (deviceInfo == null) |
| | | // { |
| | | // throw Oops.Bah($"找不到工位号:208的码垛工位信息"); |
| | | // } |
| | | // var modPlc = await _wcsDeviceRep.Context.Queryable<WcsPlc>().FirstAsync(s => s.Id == deviceInfo.PlcId); |
| | | // if (modPlc == null) |
| | | // { |
| | | // throw Oops.Bah($"找不到工位号:208的设备信息"); |
| | | // } |
| | | // PLCUtil modUtil = new PLCUtil(modPlc); |
| | | |
| | | var ret = modUtil.SetPlcDBValue(checkTaskList2.PosTypeLot, checkTaskList2.DbNumber, checkTaskList2.PosLot, "1"); |
| | | return; |
| | | } |
| | | // var ret = modUtil.SetPlcDBValue(checkTaskList2.PosTypeLot, checkTaskList2.DbNumber, checkTaskList2.PosLot, "1"); |
| | | // return; |
| | | //} |
| | | |
| | | // 正常模式 |
| | | if (string.IsNullOrWhiteSpace(input.lotNo)) |
| | |
| | | PLCUtil modUtil = new PLCUtil(modPlc); |
| | | if (modUtil.Connected) |
| | | { |
| | | var ret = modUtil.SetPlcDBValue(item.PosTypeLot, item.DbNumber, item.PosLot, "1"); |
| | | var ret = modUtil.SetPlcDBValue(item.PosTypeLot, item.DbNumber, item.PosLot, "0"); // 解绑分道 |
| | | if (ret.IsSucceed) |
| | | { |
| | | //写入流程字成功后更新分拣任务 |