服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
2024-09-29 3ca43609f47e555df4368ecff037794b7a167abf
Tiger.Business.MES/BIZ/BIZ_MES_WO.cs
@@ -135,6 +135,9 @@
                    return result;
                }
                WoContext.RemoveBatch(input.WoBatch.BATCH_NO);
                input.Wo.ACT_LINE = input.WoBatch.ACT_LINE;
                input.Wo.RELEASE_TIME = DateTime.Now;
                input.Wo.RELEASE_USER = input.WoBatch.UPDATE_USER;
                var _batchWos = await Biz.Db.Queryable<V_MES_WO_BATCH>().Where(x => x.ORDER_NO == input.WoBatch.ORDER_NO).ToListAsync();
                if (_batchWos.Count > 0)
@@ -234,11 +237,18 @@
                    {
                        WoContext.RemoveBatch(input.WoBatch);
                    }
                    if (input.Status == BIZ_MES_WO_BATCH.STATUSs.Release.GetValue() && Biz.Db.Queryable<BIZ_MES_WO_BATCH>().Any(x => x.ORDER_NO == input.WorkOrder && x.BATCH_NO != input.WoBatch && x.ACT_LINE == _woBatch.ACT_LINE && BIZ_MES_WO.STATUSs.Imported.GetValue() < x.STATUS && x.STATUS < BIZ_MES_WO.STATUSs.Closed.GetValue()))
                    //如果是下发
                    if (input.Status == BIZ_MES_WO_BATCH.STATUSs.Release.GetValue())
                    {
                        if (Biz.Db.Queryable<BIZ_MES_WO_BATCH>().Any(x => x.ORDER_NO == input.WorkOrder && x.BATCH_NO != input.WoBatch && x.ACT_LINE == input.ActLine && BIZ_MES_WO.STATUSs.Imported.GetValue() < x.STATUS && x.STATUS < BIZ_MES_WO.STATUSs.Closed.GetValue()))
                    {
                        result.IsSuccessed = false;
                        result.LocaleMsg = new($"工单存在未完成的工单批次,不能下发");
                        return result;
                        }
                        _woBatch.RELEASE_TIME = DateTime.Now;
                        _woBatch.RELEASE_USER = input.UserId;
                        _woBatch.ACT_LINE = input.ActLine;
                    }
                }
                else
@@ -251,7 +261,15 @@
                var db = Biz.Db;
                var dbTran = db.UseTran(() =>
                {
                    //如果是下发
                    if (input.Status == BIZ_MES_WO_BATCH.STATUSs.Release.GetValue())
                    {
                        db.Updateable(_woBatch, input.UserId).UpdateColumns(x => new { x.STATUS, x.RELEASE_USER, x.RELEASE_TIME, x.ACT_LINE }).ExecuteCommand();
                    }
                    else
                    {
                    db.Updateable(_woBatch, input.UserId).UpdateColumns(x => new { x.STATUS }).ExecuteCommand();
                    }
                });
                if (!dbTran.IsSuccess)
                {