服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
2024-10-27 6f3b05c06125b457d0c78e259f3befe4910881cf
Tiger.Business.MES/Common/WoContext.cs
@@ -31,11 +31,11 @@
        /// <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;
        }
@@ -45,10 +45,13 @@
        /// </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));
        }
        /// 从工单批次字典中删除一个工单批次对象