| | |
| | | /// <param name="workorder"></param> |
| | | /// <param name="lineCode"></param> |
| | | /// <returns></returns> |
| | | public static WorkBatch GetBatch(string workorder, string lineCode) |
| | | public static WorkBatch GetBatch(string workorder, string lineCode, string batchNo = "") |
| | | { |
| | | if (ExistsBatch(workorder, lineCode)) |
| | | if (ExistsBatch(workorder, lineCode, batchNo)) |
| | | { |
| | | return WoBatchDic.FirstOrDefault(q => q.Value.Batch.ORDER_NO == workorder && q.Value.Batch.ACT_LINE == lineCode).Value; |
| | | return WoBatchDic.FirstOrDefault(q => !q.Value.Batch.IsNullOrEmpty() && q.Value.Batch.ORDER_NO == workorder && q.Value.Batch.ACT_LINE == lineCode && (batchNo.IsNullOrEmpty() || q.Value.Batch.BATCH_NO == batchNo)).Value; |
| | | } |
| | | return null; |
| | | } |
| | |
| | | /// </summary> |
| | | /// <param name="workorder"></param> |
| | | /// <param name="lineCode"></param> |
| | | /// <param name="batchNo"></param> |
| | | /// <param name="canDoWork"></param> |
| | | /// <returns></returns> |
| | | public static bool ExistsBatch(string workorder, string lineCode) |
| | | public static bool ExistsBatch(string workorder, string lineCode, string batchNo = "", bool canDoWork = false) |
| | | { |
| | | return WoBatchDic.Any(q => q.Value.Batch.ORDER_NO == workorder && q.Value.Batch.ACT_LINE == lineCode); |
| | | return WoBatchDic.WhereIF(canDoWork, q => !q.Value.Batch.IsNullOrEmpty() && (q.Value.Batch.STATUS == BIZ_MES_WO_BATCH.STATUSs.Release.GetValue() || q.Value.Batch.STATUS == BIZ_MES_WO_BATCH.STATUSs.Working.GetValue())) |
| | | .Any(q => q.Value.Batch.ORDER_NO == workorder && q.Value.Batch.ACT_LINE == lineCode && (batchNo.IsNullOrEmpty() || q.Value.Batch.BATCH_NO == batchNo)); |
| | | } |
| | | |
| | | /// 从工单批次字典中删除一个工单批次对象 |