public static void RuntimeAddSpecialCategory(EasyUITreeNode RootNode, String ORGID)
        {
            //Ryan 20170328 This function may be a bit ugly, can be improved someday.


            String RootName = RootNode.text;

            // Add Category "Std Assembly,Functional Testing, SW inst (General)"
            EasyUITreeNode NodeStdAssembly = new EasyUITreeNode("CATEGORY_STDASSEMBLY", "CATEGORY_STDASSEMBLY", "Std Assembly,Functional Testing, SW inst (General)",
                                                                RootNode.hieid, "", "", 1, 99, 1, 1, 1, 0, 0);
            EasyUITreeNode NodeSYSA = new EasyUITreeNode("ComponentAGS-CTOS-SYS-B", "ComponentAGS-CTOS-SYS-B", "AGS-CTOS-SYS-B",
                                                         "", "", "Standard Assembly + Functional Testing + Software", 2, 1, 1, 0, 0, 1, 0);

            NodeStdAssembly.children.Add(NodeSYSA);
            RootNode.children.Add(NodeStdAssembly);

            // Add Extended Warranty
            EasyUITreeNode NodeExtendedWarranty = new EasyUITreeNode("CATEGORY_EW", "CATEGORY_EW", " Extended Warranty for " + RootName,
                                                                     RootNode.hieid, "", "", 1, 100, 0, 0, 0, 0, 0);

            String    str_getEW = String.Format(@"SELECT A.PART_NO, A.PRODUCT_DESC From SAP_PRODUCT A INNER JOIN SAP_PRODUCT_ORG B ON A.PART_NO=B.PART_NO  
                            WHERE  B.ORG_ID='{0}' and A.PART_NO in {1} order by A.PART_NO", ORGID, System.Configuration.ConfigurationManager.AppSettings["StdAGSEWPN"]);
            DataTable dtEW      = SqlProvider.dbGetDataTable("MY", str_getEW);

            if (dtEW != null && dtEW.Rows.Count > 0)
            {
                for (int i = 0; i < dtEW.Rows.Count; i++)
                {
                    EasyUITreeNode NodeEW = new EasyUITreeNode(dtEW.Rows[i]["PART_NO"].ToString(), dtEW.Rows[i]["PART_NO"].ToString(), dtEW.Rows[i]["PART_NO"].ToString(),
                                                               "", "", dtEW.Rows[i]["PRODUCT_DESC"].ToString(), 2, i, 1, 0, 0, 0, 0);
                    NodeExtendedWarranty.children.Add(NodeEW);
                }
                RootNode.children.Add(NodeExtendedWarranty);
            }
        }
Beispiel #2
0
 private static void LoadTreeNode(List <SYS_DEPTANDMEMBER> listMenus, List <EasyUITreeNode> listTreeNodes, string pid, bool isCheckAll)
 {
     foreach (SYS_DEPTANDMEMBER menu in listMenus)
     {
         if (menu.PARENT_CODE == pid)
         {
             EasyUITreeNode node = menu.TransformTreeNode(isCheckAll);
             listTreeNodes.Add(node);
             LoadTreeNode(listMenus, node.children, node.id, isCheckAll);
         }
     }
 }
Beispiel #3
0
 private static void LoadTreeNode(List <SYS_MENU> listMenus, List <EasyUITreeNode> listTreeNodes, string pid)
 {
     foreach (SYS_MENU menu in listMenus)
     {
         if (menu.PARENT_ID.ToString() == pid)
         {
             EasyUITreeNode node = menu.TransformTreeNode();
             //if (!string.IsNullOrEmpty(node.gisorder)) {
             //    node.text = "GIS监控";
             //}
             listTreeNodes.Add(node);
             LoadTreeNode(listMenus, node.children, node.id);
         }
     }
 }
        public static List <EasyUITreeNode> GetConfigRecord(String rootid, String sales_org, String cbom_org, int nodetype)
        {
            List <EasyUITreeNode> TreeNodes = new List <EasyUITreeNode>();

            try
            {
                CategoryTypes type = (CategoryTypes)Enum.ToObject(typeof(CategoryTypes), nodetype);
                if (type == CategoryTypes.SharedComponent)
                {
                    rootid = SqlProvider.dbExecuteScalar("CBOMV2", string.Format("select top 1 ISNULL(SHARED_CATEGORY_ID,'') AS [SID] from CBOM_CATALOG_CATEGORY_V2 where ID= '{0}' ", rootid.Trim())).ToString();
                    if (string.IsNullOrEmpty(rootid))
                    {
                        return(TreeNodes);
                    }
                }

                List <CBOM_CATEGORY_RECORD> CBOMCategoryRecords = GetCBOMCategoryRecordByRootId(rootid, cbom_org.Substring(0, 2));
                List <CBOM_CATEGORY_RECORD> RootRecord          = (from q in CBOMCategoryRecords where q.ID == rootid select q).ToList();

                if (RootRecord.Count == 1)
                {
                    CheckSharedCategory(new List <String>(), ref CBOMCategoryRecords);
                    EasyUITreeNode RootTreeNode = new EasyUITreeNode(RootRecord.First().ID, RootRecord.First().ID, RootRecord.First().CATEGORY_ID, "", RootRecord.First().HIE_ID, "", 0, 0, 1, 0, 0, 0, 0);
                    RootTreeNode.csstype = NodeCssType.Tree_Node_Root;

                    //Ryan 20171120 Check components orderable or not for ACN.
                    CBOMCategoryRecords.RemoveAll(item => (item.CATEGORY_TYPE == CategoryTypes.Component || item.CATEGORY_TYPE == CategoryTypes.SharedComponent) && !CheckItemOrdereable(item.CATEGORY_ID, sales_org));
                    //if (cbomorg.ToUpper().StartsWith("CN"))
                    //    CBOMCategoryRecords.RemoveAll(item => (item.CATEGORY_TYPE == CategoryTypes.Component || item.CATEGORY_TYPE == CategoryTypes.SharedComponent) && !CheckItemOrdereable(item.CATEGORY_ID, org));
                    //else if (cbomorg.ToUpper().StartsWith("DL"))
                    //    CBOMCategoryRecords.RemoveAll(item => (item.CATEGORY_TYPE == CategoryTypes.Component || item.CATEGORY_TYPE == CategoryTypes.SharedComponent) && !CheckItemOrdereable(item.CATEGORY_ID, "US01"));

                    CBOMCategoryRecordsToEasyUITreeNode(CBOMCategoryRecords, RootTreeNode);

                    // Only have to add Special category such as EW and STD assembly if node is BTOS-Parent
                    //if (RootTreeNode.type == (int)CategoryTypes.Root && RootTreeNode.text.Contains("-BTO"))
                    //    RuntimeAddSpecialCategory(RootTreeNode, orgid);

                    TreeNodes.Add(RootTreeNode);
                }
            }
            catch
            {
                //save error
            }
            return(TreeNodes);
        }
        public static void CBOMCategoryRecordsToEasyUITreeNode(List <CBOM_CATEGORY_RECORD> CBOMCategoryRecords, EasyUITreeNode CurrentNode)
        {
            String CurrentNodeHieId = CurrentNode.hieid;
            List <CBOM_CATEGORY_RECORD> SubRecord = (from q in CBOMCategoryRecords where q.PAR_HIE_ID == CurrentNodeHieId orderby q.SEQ_NO, q.CATEGORY_ID select q).ToList();

            if (SubRecord.Count == 0)
            {
                return;
            }

            foreach (CBOM_CATEGORY_RECORD SubRecord_loopVariable in SubRecord)
            {
                EasyUITreeNode SubTreeNode = new EasyUITreeNode(SubRecord_loopVariable.ID, SubRecord_loopVariable.VIRTUAL_ID, SubRecord_loopVariable.CATEGORY_ID, CurrentNode.id, SubRecord_loopVariable.HIE_ID, SubRecord_loopVariable.CATEGORY_NOTE, (int)SubRecord_loopVariable.CATEGORY_TYPE, SubRecord_loopVariable.SEQ_NO, SubRecord_loopVariable.QTY
                                                                , SubRecord_loopVariable.isExpand, SubRecord_loopVariable.isRequired, SubRecord_loopVariable.isDefault, SubRecord_loopVariable.CONFIGURATION_RULE);

                switch (SubRecord_loopVariable.CATEGORY_TYPE)
                {
                case CategoryTypes.Category:
                    SubTreeNode.csstype = NodeCssType.Tree_Node_Category;
                    break;

                case CategoryTypes.Component:
                    SubTreeNode.csstype = NodeCssType.Tree_Node_Component;
                    break;

                case CategoryTypes.SharedCategory:
                    SubTreeNode.csstype = NodeCssType.Tree_Node_Shared_Category;
                    break;

                case CategoryTypes.SharedComponent:
                    SubTreeNode.csstype = NodeCssType.Tree_Node_Shared_Component;
                    break;

                case CategoryTypes.Root:
                    SubTreeNode.csstype = NodeCssType.Tree_Node_Root;
                    break;

                default:
                    break;
                }

                CurrentNode.children.Add(SubTreeNode);
                CBOMCategoryRecordsToEasyUITreeNode(CBOMCategoryRecords, SubTreeNode);
            }
        }
        public static SRPBTO GetSRPConfigRecord(string rootid, string orgid)
        {
            SRPBTO srp = new SRPBTO(orgid);

            object count = SqlProvider.dbExecuteScalar("CBOMV2", string.Format(@"DECLARE @Child hierarchyid SELECT @Child = HIE_ID 
                FROM CBOM_CATALOG_CATEGORY_V2 WHERE ID = '{0}' SELECT COUNT(*) FROM CBOM_CATALOG_CATEGORY_V2 
                WHERE HIE_ID.GetAncestor(1) = @Child AND ID = '{1}' ", srp.Org.ToString(), rootid));

            if (count != null && Convert.ToInt32(count) == 1)
            {
                List <CBOM_CATEGORY_RECORD> CBOMCategoryRecords = CBOMV2_EditorDAL.GetCBOMCategoryTreeByRootId(rootid, orgid);
                CBOM_CATEGORY_RECORD        RootRecord          = (from q in CBOMCategoryRecords where q.ID == rootid select q).FirstOrDefault();

                if (RootRecord != null)
                {
                    srp.BTOSName   = RootRecord.CATEGORY_NOTE;
                    srp.RealPartNo = RootRecord.CATEGORY_ID;

                    List <CBOM_CATEGORY_RECORD> SubRecord = (from q in CBOMCategoryRecords
                                                             where q.PAR_HIE_ID == RootRecord.HIE_ID &&
                                                             q.CATEGORY_TYPE == CategoryTypes.Root
                                                             orderby q.SEQ_NO
                                                             select q).ToList();

                    foreach (var defaultoption in SubRecord)
                    {
                        EasyUITreeNode RootTreeNode = new EasyUITreeNode(defaultoption.ID, defaultoption.VIRTUAL_ID, defaultoption.CATEGORY_ID, "", defaultoption.HIE_ID, "", 0, 0, 1, 0, 0, 0, 0);
                        RootTreeNode.csstype = NodeCssType.Tree_Node_Root;
                        CBOMCategoryRecordsToEasyUITreeNode(CBOMCategoryRecords, RootTreeNode);

                        if (defaultoption.CATEGORY_ID.ToUpper().IndexOf("DEFAULT") > -1)
                        {
                            srp.DefaultPackage = RootTreeNode;
                        }
                        else if (defaultoption.CATEGORY_ID.ToUpper().IndexOf("OPTION") > -1)
                        {
                            srp.OptionPackage = RootTreeNode;
                        }
                    }
                }
            }
            return(srp);
        }
Beispiel #7
0
        public EasyUITreeNode TransformTreeNode()
        {
            //int menuCloseState =Convert.ToInt32(ConfigurationSettings.AppSettings["MenuCloseState"]);
            EasyUITreeNode easyUITreeNode = new EasyUITreeNode()
            {
                id            = this.MENU_ID,
                text          = this.MENU_NAME,
                state         = this.MENU_LEVEL == 3 ? "closed" : "open",           //只有存在下级才可设为closed,否则会循环查询
                iconCls       = this.C_ICO,
                Checked       = true,                                               //是否选中,
                area          = this.AREA,
                haspermission = string.Empty,                                       //用于平台子系统权限判断
                isdefu        = string.Empty,                                       //用于平台获取默认子系统
                isdefuopen    = string.Empty,                                       //用于打开默认二,三级菜单
                gisorder      = this.GIS_ORDER == null?string.Empty:this.GIS_ORDER, //用于加载二三级菜单
                attributes    = new { url = GetUrl(), menulevel = this.MENU_LEVEL },
                children      = new List <EasyUITreeNode>()
            };

            return(easyUITreeNode);
        }
Beispiel #8
0
        private EasyUITreeNode TransformTreeNode(bool isCheckAll)
        {
            string mytext = this.ORGRY_NAME;

            if (!string.IsNullOrEmpty(RYMOBILE))
            {
                mytext += "-" + RYMOBILE;
            }
            //string orgOpenState=ConfigurationSettings.AppSettings["OrgOpenState"];
            EasyUITreeNode easyUITreeNode = new EasyUITreeNode()
            {
                id         = this.ORGRY_CODE,
                text       = mytext,
                state      = this.STATE.Equals("1") ? "open" : "closed",//只有存在下级才可设为closed,否则会循环查询
                iconCls    = this.ICO,
                Checked    = isCheckAll?true:(this.STATE.Equals("C")?true:false),
                attributes = new { mobile = RYMOBILE, ico = ICO, phone = PHONE },
                children   = new List <EasyUITreeNode>()
            };

            return(easyUITreeNode);
        }