| | |
| | | var result = new ApiAction(); |
| | | try |
| | | { |
| | | WoContext.RemoveBatch(input.WoBatch.BATCH_NO); |
| | | //保存前的判断,并生成批次号 |
| | | var _wo = await Biz.Db.Queryable<BIZ_MES_WO>().Where(x => x.ORDER_NO == input.Wo.ORDER_NO).FirstAsync(); |
| | | //if (_wo.STATUS > (int)BIZ_MES_WO.STATUSs.Init) |
| | |
| | | result.LocaleMsg = new($"工单下发的数量超过工单计划数量,不能下发!"); |
| | | return result; |
| | | } |
| | | if (!Biz.Db.Queryable<BIZ_MES_WO_BATCH>().Any(x => x.ORDER_NO == input.Wo.ORDER_NO && x.ACT_LINE == input.WoBatch.ACT_LINE && x.STATUS==(int)BIZ_MES_WO_BATCH.STATUSs.Closed)) |
| | | { |
| | | result.IsSuccessed = false; |
| | | result.LocaleMsg = new($"工单在线体[{input.WoBatch.ACT_LINE}]有没完工的工单批次,不能下发!"); |
| | | return result; |
| | | } |
| | | WoContext.RemoveBatch(input.WoBatch.BATCH_NO); |
| | | |
| | | var _batchWos = await Biz.Db.Queryable<V_MES_WO_BATCH>().Where(x => x.ORDER_NO == input.WoBatch.ORDER_NO).ToListAsync(); |
| | | if (_batchWos.Count > 0) |
| | | { |
| | |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 更新工单批次状态 |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | | /// <exception cref="NotImplementedException"></exception> |
| | | public async Task<ApiAction> UpdateWoBatchStatus(BizMesWoInput input) |
| | | { |
| | | var result = new ApiAction(); |
| | | try |
| | | { |
| | | //保存前的判断,并生成批次号 |
| | | var _wo = await Biz.Db.Queryable<BIZ_MES_WO_BATCH>().Where(x => x.BATCH_NO == input.WoBatch).FirstAsync(); |
| | | if (_wo != null) |
| | | { |
| | | _wo.STATUS = input.Status < 0 ? _wo.STATUS : input.Status; |
| | | if (input.Status == (int) BIZ_MES_WO_BATCH.STATUSs.Paused) { |
| | | WoContext.RemoveBatch(input.WoBatch); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | result.IsSuccessed = false; |
| | | result.LocaleMsg = new($"工单批次[{input.WoBatch}]不存在"); |
| | | return result; |
| | | } |
| | | |
| | | var db = Biz.Db; |
| | | var dbTran = db.UseTran(() => |
| | | { |
| | | db.Updateable(_wo, input.UserId).ExecuteCommand(); |
| | | }); |
| | | if (!dbTran.IsSuccess) |
| | | { |
| | | result.IsSuccessed = false; |
| | | result.LocaleMsg = new($"更新工单批次状态异常"); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | result.CatchExceptionWithLog(ex, "更新工单批次状态异常"); |
| | | } |
| | | return result; |
| | | } |
| | | } |
| | | } |