示例#1
0
        private static EqpArrangeSet ImportEqpArrangeSet(string key, string eqpID, FabEqp targetEqp, string stepID,
                                                         string productID, string productVer, FabStdStep stdStep, bool isFixedProductVer, bool isSubEqp)
        {
            //SubEqp의 경우는 defaultArrange 미지정
            string defaultArrange = isSubEqp ? null : stdStep.DefaultArrange;

            EqpArrangeSet setInfo = new EqpArrangeSet
            {
                Key                  = key,
                EqpID                = eqpID,
                TargetEqp            = targetEqp,
                StepID               = stepID,
                ProductID            = productID,
                ProductVer           = productVer,
                StdStep              = stdStep,
                DefaultArrange       = defaultArrange,
                DefaultLimitTypeList = LcdHelper.ParseLimitType(defaultArrange),
                IsFixedProductVer    = isFixedProductVer,
                IsSubEqp             = isSubEqp
            };

            var list = GetEqpArrangeInfo(eqpID);

            if (list == null || list.Count() == 0)
            {
                return(setInfo);
            }

            foreach (var arr in list)
            {
                if (arr.ActivateType == ActivateType.NONE)
                {
                    continue;
                }

                //MainRunStep이 등록된 설비의 경우, 타 Step의 M은 무시(2019.06.16 - by.liujian(유건))
                if (arr.ActivateType == ActivateType.M)
                {
                    var mainRunStep = targetEqp.MainRunSteps;
                    if (mainRunStep != null && mainRunStep.Count > 0)
                    {
                        if (mainRunStep.Find(t => t.StepID == stepID) == null)
                        {
                            continue;
                        }
                    }
                }

                if (arr.IsMatched(stepID, productID, productVer, isFixedProductVer))
                {
                    setInfo.AddItem(arr);
                }
            }

            return(setInfo);
        }