using System; using System.Collections.Generic; using System.Linq; using System.Text; using QMAPP.FJC.TRACING.DAInterface; namespace QMAPP.FJC.TRACING.DataValidators { /// /// FIS断号验证 /// public class FISBreakValidator : IDataValidator { public ValidateResult Validate(DAObject data, Entity.QT.DAIValidation validOption) { DAL.ProductionPlan.WorkOrderDAL workorderdal = new DAL.ProductionPlan.WorkOrderDAL(); //获取当前工序优先级最高的工单 var workorder = workorderdal.GetMatchOrders(data.WorkLocState.WORKCELL_CODE); if (workorder.Count > 0) { if (string.Equals(workorder[0].ORDER_TYPE, "0")) //如果为FIS工单 { //获取前一个FIS计划顺序号 var lastseqstr = workorderdal.GetLastFISSEQ(workorder[0].PLAN_DATE, workorder[0].WORKCENTER_CODE); if (!string.IsNullOrEmpty(lastseqstr)) { int maxseq=1999; int minseq = 1; int lastseq = int.Parse(lastseqstr); int currentseq = int.Parse(workorder[0].SEQ); if (lastseq < maxseq) { if (currentseq - lastseq > 1) { return new ValidateResult(false, string.Format("当前FIS计划顺序号({0})发生断号,请确认FIS计划!", workorder[0].SEQ)); } } else { if (currentseq != minseq) { return new ValidateResult(false, string.Format("当前FIS计划顺序号({0})发生断号,请确认FIS计划!", workorder[0].SEQ)); } } } } } return new ValidateResult(true, ""); } } }