| | |
| | | //当工步列表为空,则执行当前工序的必要逻辑当作第一个工序节点,完成后按需求创建后续的工步列表 |
| | | if (Steps.IsNullOrEmpty()) |
| | | { |
| | | var curNode = CurBatch.GetNode(PostCode); |
| | | |
| | | //绑定条码到工单 |
| | | if (!CurBatch.WoSNs.Any(q => q.SN == input.SN)) |
| | | { |
| | |
| | | WORK_ORDER = CurBatch.Batch.ORDER_NO, |
| | | SN = input.SN, |
| | | STATUS = BIZ_MES_WO_SN.STATUSs.NotInput.GetValue(), |
| | | BATCH_NO = CurBatch.Batch.BATCH_NO, |
| | | }); |
| | | } |
| | | var woSN = CurBatch.WoSNs.FirstOrDefault(q => q.SN == input.SN); |
| | | var curNode = CurBatch.GetNode(PostCode); |
| | | woSN.AUTH_ORG = CurBatch.WO.AUTH_ORG; |
| | | woSN.AUTH_PROD = CurLine.LINE_CODE; |
| | | woSN.BATCH_NO = CurBatch.Batch.BATCH_NO; |
| | | |
| | | //条码过站 |
| | | var wipSN = Biz.Db.Queryable<MES_WIP_DATA>().First(q => q.SN == input.SN && q.BATCH_NO == CurBatch.Batch.BATCH_NO) ?? new MES_WIP_DATA() |
| | |
| | | DFT_FLAG = "N", |
| | | DFT_COUNT = 0, |
| | | }; |
| | | wipSN.AUTH_ORG = CurBatch.WO.AUTH_ORG; |
| | | wipSN.AUTH_PROD = CurLine.LINE_CODE; |
| | | wipSN.STATUS = wipSN.STATUS > 0 ? MES_WIP_DATA.STATUSs.OK.GetValue() : wipSN.STATUS; |
| | | wipSN.ROT_CODE = CurBatch.WO.ROUTE_CODE; |
| | |
| | | public string UserCode { get; set; } |
| | | public long UserId { get; set; } |
| | | public string OrgCode { get; set; } |
| | | public string CurrSmtCode { get; set; } |
| | | public string CurSmtCode { get; set; } |
| | | public string CurrSlotNo { get; set; } |
| | | /// <summary> |
| | | /// 步骤类型 |
| | |
| | | //当工步列表为空,则执行当前工序的必要逻辑当作第一个工序节点,完成后按需求创建后续的工步列表 |
| | | if (Steps.IsNullOrEmpty()) |
| | | { |
| | | var curNode = CurBatch.GetNode(PostCode); |
| | | |
| | | //绑定条码到工单 |
| | | if (!CurBatch.WoSNs.Any(q => q.SN == input.SN)) |
| | | { |
| | |
| | | WORK_ORDER = CurBatch.Batch.ORDER_NO, |
| | | SN = input.SN, |
| | | STATUS = BIZ_MES_WO_SN.STATUSs.NotInput.GetValue(), |
| | | BATCH_NO = CurBatch.Batch.BATCH_NO, |
| | | }); |
| | | } |
| | | var woSN = CurBatch.WoSNs.FirstOrDefault(q => q.SN == input.SN); |
| | | var curNode = CurBatch.GetNode(PostCode); |
| | | woSN.AUTH_ORG = CurBatch.WO.AUTH_ORG; |
| | | woSN.AUTH_PROD = CurLine.LINE_CODE; |
| | | woSN.BATCH_NO = CurBatch.Batch.BATCH_NO; |
| | | |
| | | //条码过站 |
| | | var wipSN = Biz.Db.Queryable<MES_WIP_DATA>().First(q => q.SN == input.SN && q.BATCH_NO == CurBatch.Batch.BATCH_NO) ?? new MES_WIP_DATA() |
| | |
| | | DFT_FLAG = "N", |
| | | DFT_COUNT = 0, |
| | | }; |
| | | wipSN.AUTH_ORG = CurBatch.WO.AUTH_ORG; |
| | | wipSN.AUTH_PROD = CurLine.LINE_CODE; |
| | | wipSN.STATUS = wipSN.STATUS > 0 ? MES_WIP_DATA.STATUSs.OK.GetValue() : wipSN.STATUS; |
| | | wipSN.ROT_CODE = CurBatch.WO.ROUTE_CODE; |
| | |
| | | //当工步列表为空,则执行当前工序的必要逻辑当作第一个工序节点,完成后按需求创建后续的工步列表 |
| | | if (Steps.IsNullOrEmpty()) |
| | | { |
| | | var curNode = CurBatch.GetNode(PostCode); |
| | | |
| | | //绑定条码到工单 |
| | | if (!CurBatch.WoSNs.Any(q => q.SN == input.SN)) |
| | | { |
| | |
| | | WORK_ORDER = CurBatch.Batch.ORDER_NO, |
| | | SN = input.SN, |
| | | STATUS = BIZ_MES_WO_SN.STATUSs.NotInput.GetValue(), |
| | | BATCH_NO = CurBatch.Batch.BATCH_NO, |
| | | }); |
| | | } |
| | | var woSN = CurBatch.WoSNs.FirstOrDefault(q => q.SN == input.SN); |
| | | var curNode = CurBatch.GetNode(PostCode); |
| | | woSN.AUTH_ORG = CurBatch.WO.AUTH_ORG; |
| | | woSN.AUTH_PROD = CurLine.LINE_CODE; |
| | | woSN.BATCH_NO = CurBatch.Batch.BATCH_NO; |
| | | |
| | | //条码过站 |
| | | var wipSN = Biz.Db.Queryable<MES_WIP_DATA>().First(q => q.SN == input.SN && q.BATCH_NO == CurBatch.Batch.BATCH_NO) ?? new MES_WIP_DATA() |
| | |
| | | DFT_FLAG = "N", |
| | | DFT_COUNT = 0, |
| | | }; |
| | | wipSN.AUTH_ORG = CurBatch.WO.AUTH_ORG; |
| | | wipSN.AUTH_PROD = CurLine.LINE_CODE; |
| | | wipSN.STATUS = wipSN.STATUS > 0 ? MES_WIP_DATA.STATUSs.OK.GetValue() : wipSN.STATUS; |
| | | wipSN.ROT_CODE = CurBatch.WO.ROUTE_CODE; |
| | |
| | | //记录行为操作记录 |
| | | var wipAct = new MES_WIP_ACT() |
| | | { |
| | | AUTH_ORG = CurPosition.WorkBatch.WO.AUTH_ORG, |
| | | AUTH_PROD = CurPosition.CurLine.LINE_CODE, |
| | | HIS_ID = CurPosition.CurWipSNHis.ID, |
| | | SN = CurPosition.CurWipSN.SN, |
| | | STATUS = CurPosition.CurWipSN.STATUS, |
| | |
| | | //记录行为操作记录 |
| | | var wipAct = new MES_WIP_ACT() |
| | | { |
| | | AUTH_ORG = CurPosition.WorkBatch.WO.AUTH_ORG, |
| | | AUTH_PROD = CurPosition.CurLine.LINE_CODE, |
| | | HIS_ID = CurPosition.CurWipSNHis.ID, |
| | | SN = CurPosition.CurWipSN.SN, |
| | | STATUS = CurPosition.CurWipSN.STATUS, |
| | |
| | | case "GetSN": |
| | | return CurPosition.CurWipSN.SN; |
| | | case "GetBAS_ITEM": |
| | | return Biz.Db.Queryable<BAS_ITEM>().Where(q => q.ITEM_CODE == CurPosition.CurWipSN.ITEM_CODE).First()?.ToJson(); |
| | | return CurPosition.WorkBatch.Product.ToJson(); |
| | | case "GetCustomer": |
| | | return CurPosition.WorkBatch.Batch.ToJson(); |
| | | default: |
| | |
| | | #region Propertys & Variables |
| | | public string OrderNo { get; set; } |
| | | public BIZ_MES_WO WO { get; set; } |
| | | public BAS_ITEM Product { get; set; } |
| | | public BIZ_MES_WO_BATCH Batch { get; set; } |
| | | public BAS_CUSTOMER Customer { get; set; } |
| | | public List<BIZ_MES_WO_SN> WoSNs { get; set; } |
| | |
| | | public WorkBatch Init(string lineCode) |
| | | { |
| | | WO = Biz.Db.Queryable<BIZ_MES_WO>().Where(q => q.ORDER_NO == OrderNo).First(); |
| | | Product = Biz.Db.Queryable<BAS_ITEM>().Where(q => q.ITEM_CODE == WO.ITEM_CODE && q.AUTH_ORG == WO.AUTH_ORG).First(); |
| | | Batch = Biz.Db.Queryable<BIZ_MES_WO_BATCH>().Where(q => q.ORDER_NO == OrderNo && q.ACT_LINE == lineCode |
| | | && (q.STATUS == BIZ_MES_WO_BATCH.STATUSs.Release.GetValue() || q.STATUS == BIZ_MES_WO_BATCH.STATUSs.Working.GetValue())).First(); |
| | | Customer = Biz.Db.Queryable<BAS_CUSTOMER>().Where(q => q.CUST_CODE == WO.CUST_CODE).First(); |
| | |
| | | { |
| | | public string OrderNo { get; set; } |
| | | public BIZ_MES_WO WO { get; set; } |
| | | public BAS_ITEM Product { get; set; } |
| | | public BIZ_MES_WO_BATCH Batch { get; set; } |
| | | public BAS_CUSTOMER Customer { get; set; } |
| | | public List<BIZ_MES_WO_SN> WoSNs { get; set; } |