示例#1
0
        /// <summary>
        /// 打开卡片
        /// </summary>
        private void tvProcessProcedure_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            TreeNode node = e.Node;

            if (node.ImageKey != "planning")
            {
                return;
            }

            WeifenLuo.WinFormsUI.Docking.DockContent content = MainFrm.mainFrm.CheckContentIsOpened(e.Node.Tag.ToString());
            if (content != null)
            {
                MainFrm.mainFrm.OpenModule(content);
                return;
            }

            Guid planningId = new Guid(e.Node.Tag.ToString());
            List <ProcessCard> listProcessCard
                = PlanningCardRelationBLL.GetProcessCardListByProcessPlanningId(planningId);

            if (listProcessCard.Count > 0)
            {
                ProcessPlanningDetailFrm form = new ProcessPlanningDetailFrm();
                form.FormText             = string.Format("{0}-{1}", e.Node.Text, e.Node.Tag.ToString());
                form.ProcessPlanningCards = listProcessCard;
                MainFrm.mainFrm.OpenPlanningModule(form);
            }
        }
示例#2
0
        /// <summary>
        /// set current node new add process card
        /// </summary>
        /// <param name="processCardModuleList"></param>
        public void SetCurrentNodeNewAddProcessCard(List <ProcessCardModule> processCardModuleList)
        {
            TreeNode selectedNode      = tvProcessProcedure.GetNodeAt(p);
            Guid     processPlanningId = (Guid)selectedNode.Tag;

            ProcessCardModuleBLL processCardModuleBLL = new ProcessCardModuleBLL();
            ProcessCardBLL       processCardBLL       = new ProcessCardBLL();

            try
            {
                int i = selectedNode.Nodes.Count + 1;
                /// 增加卡片
                foreach (var pcm in processCardModuleList)
                {
                    string name = string.Format(pcm.Name + "-{0}", i);

                    ProcessCard processCard = new ProcessCard();
                    processCard.ID           = Guid.NewGuid();
                    processCard.Name         = name; //Guid.NewGuid().ToString();
                    processCard.CardModuleId = pcm.Id;
                    processCard.Card         = processCardModuleBLL.GetCardModule(pcm.Id);
                    processCard.CreateTime   = DateTime.Now;
                    processCard.IsCheckOut   = false;
                    processCard.IsDelete     = 0;
                    processCard.UpdateTime   = DateTime.Now;

                    Guid id = processCardBLL.InsertProcessCard(processCard);

                    ///保存工艺规程和卡片映射
                    PlanningCardRelationBLL.AddProcesPlanningData(
                        new PlanningCardRelation()
                    {
                        ProcessPlanningId      = processPlanningId,
                        PlanningCardRelationId = Guid.NewGuid(),
                        ProcessCardId          = id,
                        CardSort = 0
                    });

                    TreeNode newNode = new TreeNode();
                    newNode.Tag      = string.Format("{0}@{1}", id, pcm.Id);
                    newNode.Name     = i.ToString(); // id.ToString();
                    newNode.Text     = name;
                    newNode.ImageKey = "card";
                    newNode.Collapse();

                    selectedNode.Nodes.Add(newNode);

                    i++;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            tvProcessProcedure.Refresh();

            //tvProcessProcedure.TreeViewNodeSorter = new Kingdee.CAPP.UI.Common.NodeSorter();
        }
        /// <summary>
        /// 保存工艺规程和卡片
        /// </summary>
        /// <param name="?"></param>
        /// <param name="processPlanning"></param>
        public void SaveProcessPlanning(
            List <ProcessCardModule> processCardModules,
            ProcessPlanning processPlanning)
        {
            ProcessCardModuleBLL processCardModuleBLL = new ProcessCardModuleBLL();

            try
            {
                /// 保存工艺规程
                ProcessPlanningBLL.AddProcesPlanning(processPlanning);

                //保存文件夹
                ProcessVersion version = new ProcessVersion();
                version.FolderId   = tvProcessCard.SelectedNode.Tag.ToString();
                version.BaseId     = processPlanning.ProcessPlanningId.ToString();
                version.Name       = processPlanning.Name;
                version.CategoryId = "A9FE1F2B-730A-4DA7-8323-557C664B9734";
                Kingdee.CAPP.BLL.ProcessCardBLL.InsertProcessVersion(version, null);

                /// 保存工艺卡片
                ProcessCardBLL processCardBLL = new ProcessCardBLL();
                ProcessCard = new List <Model.ProcessCard>();

                int i = 1;
                foreach (var pcm in processCardModules)
                {
                    ProcessCard processCard = new ProcessCard();
                    //processCard.ID = Guid.NewGuid();
                    processCard.Name         = string.Format(processPlanning.Name + "-{0}", i); //Guid.NewGuid().ToString();
                    processCard.CardModuleId = pcm.Id;
                    processCard.Card         = processCardModuleBLL.GetCardModule(pcm.Id);
                    processCard.CreateTime   = DateTime.Now;
                    processCard.IsCheckOut   = false;
                    processCard.IsDelete     = 0;
                    processCard.UpdateTime   = DateTime.Now;

                    Guid id = processCardBLL.InsertProcessCard(processCard);
                    processCard.ID = id;
                    ProcessCard.Add(processCard);

                    ///保存工艺规程和卡片映射
                    PlanningCardRelationBLL.AddProcesPlanningData(
                        new PlanningCardRelation()
                    {
                        ProcessPlanningId      = processPlanning.ProcessPlanningId,
                        PlanningCardRelationId = Guid.NewGuid(),
                        ProcessCardId          = id,
                        CardSort = 0
                    });
                    i++;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
示例#4
0
        /// <summary>
        /// Show process card module by process planning Id
        /// 根据工艺规程Id,显示卡片
        /// </summary>
        /// <param name="processPlanningId"></param>
        public void ShowProcessCardByProcessPlanningId(Guid processPlanningId, TreeNode node)
        {
            List <ProcessCard> processCardModules
                = PlanningCardRelationBLL.GetProcessCardListByProcessPlanningId(processPlanningId);

            foreach (var pc in processCardModules)
            {
                TreeNode processCardNode = new TreeNode();
                processCardNode.Text     = pc.Name;
                processCardNode.Tag      = string.Format("{0}@{1}", pc.ID, pc.CardModuleId);
                processCardNode.ImageKey = "card";
                processCardNode.Name     = pc.CardSort.ToString();
                processCardNode.Collapse();

                node.Nodes.Add(processCardNode);
            }
        }
示例#5
0
        /// <summary>
        /// 方法说明:根据BusinessId删除模版或文件夹
        /// 作      者:jason.tang
        /// 完成时间:2013-07-24
        /// </summary>
        /// <param name="Id">业务ID</param>
        private void RemoveTreeNode(TreeNode currentNode)
        {
            if (currentNode == null)
            {
                return;
            }

            bool result = false;

            if (currentNode.ImageKey == "planning")
            {
                Guid planningId = new Guid(currentNode.Tag.ToString());
                result = ProcessPlanningBLL.DeletePlanningById(planningId);
                ProcessCardBLL.DeleteProcessVersion(planningId.ToString(), currentNode.Parent.Tag.ToString());
            }
            else
            {
                int  splitIndex = currentNode.Tag.ToString().IndexOf("@");
                Guid cardid     = new Guid(currentNode.Tag.ToString().Substring(0, splitIndex));
                Guid planningId = new Guid(currentNode.Parent.Tag.ToString());
                result = PlanningCardRelationBLL.DeleteRelationByCardId(cardid, planningId);
            }

            if (result)
            {
                if (currentNode.Parent != null && !string.IsNullOrEmpty(currentNode.Parent.ImageKey))
                {
                    tvProcessProcedure.SelectedNode     = currentNode.Parent;
                    tvProcessProcedure.SelectedImageKey = currentNode.Parent.ImageKey;
                }
                else
                {
                    tvProcessProcedure.SelectedNode = tvProcessProcedure.Nodes[0];
                    ///  如果选中的节点为空,默认为卡片
                    tvProcessProcedure.SelectedImageKey = tvProcessProcedure.Nodes[0].ImageKey;
                }

                //Remove treeview
                tvProcessProcedure.Nodes.Remove(currentNode);
                tvProcessProcedure.SelectedNode.Expand();
            }
        }
示例#6
0
        private void btnConfirm_Click(object sender, EventArgs e)
        {
            if (tvProcessProcedure.SelectedNode.SelectedImageKey == "card")
            {
                string tag = tvProcessProcedure.SelectedNode.Parent.Tag.ToString();
                string processPlanningId = tag.Substring(0, tag.IndexOf("@"));
                string foderId           = tag.Substring(tag.IndexOf("@") + 1);

                List <ProcessCard> processCards
                    = PlanningCardRelationBLL.GetProcessCardListByProcessPlanningId(new Guid(processPlanningId));

                string cardId = tvProcessProcedure.SelectedNode.Tag.ToString().Substring(0, tvProcessProcedure.SelectedNode.Tag.ToString().IndexOf("@"));

                ProcessCard card = processCards.FirstOrDefault(c => c.ID == new Guid(cardId));

                if (card != null)
                {
                    //添加节点
                    string baseid = MaterialStructureNavigate.materialNavigateFrm.AddNodeInMaterial(card, foderId);
                    if (string.IsNullOrEmpty(baseid))
                    {
                        return;
                    }
                    MaterialCardRelation materialCardRelation = new MaterialCardRelation();
                    materialCardRelation.MaterialCardRelationId = Guid.NewGuid();
                    materialCardRelation.MaterialId             = new Guid(baseid);
                    materialCardRelation.ProcessCardId          = card.ID;
                    materialCardRelation.Type = ViewType;
                    Kingdee.CAPP.BLL.MaterialCardRelationBLL.AddMaterialCardRelationData(materialCardRelation);
                }
            }
            else if (tvProcessProcedure.SelectedNode.SelectedImageKey == "planning")
            {
                string tag = tvProcessProcedure.SelectedNode.Tag.ToString();
                string processPlanningId = tag.Substring(0, tag.IndexOf("@"));
                string foderId           = tag.Substring(tag.IndexOf("@") + 1);

                List <ProcessCard> processCards
                    = PlanningCardRelationBLL.GetProcessCardListByProcessPlanningId(new Guid(processPlanningId));

                if (processCards.Count > 0)
                {
                    foreach (ProcessCard card in processCards)
                    {
                        //添加节点
                        string baseid = MaterialStructureNavigate.materialNavigateFrm.AddNodeInMaterial(card, foderId);
                        if (string.IsNullOrEmpty(baseid))
                        {
                            continue;
                        }
                        MaterialCardRelation materialCardRelation = new MaterialCardRelation();
                        materialCardRelation.MaterialCardRelationId = Guid.NewGuid();
                        materialCardRelation.MaterialId             = new Guid(baseid);
                        materialCardRelation.ProcessCardId          = card.ID;
                        materialCardRelation.Type = ViewType;
                        Kingdee.CAPP.BLL.MaterialCardRelationBLL.AddMaterialCardRelationData(materialCardRelation);
                    }
                }
            }

            this.DialogResult = System.Windows.Forms.DialogResult.OK;
        }
示例#7
0
 private void UpdateCardRelation(object planningid, object prevPlanningid, object cardid)
 {
     PlanningCardRelationBLL.UpdateProcessPlanningData(planningid, prevPlanningid, cardid);
 }
示例#8
0
        private void tvProcessProcedure_DragDrop(object sender, DragEventArgs e)
        {
            //获得拖放中的节点
            TreeNode moveNode   = (TreeNode)e.Data.GetData("System.Windows.Forms.TreeNode");
            TreeNode parentNode = moveNode.Parent;

            ///如果该节点时规程,则不允许进行拖动
            if (moveNode.SelectedImageKey == "planning")
            {
                return;
            }

            //根据鼠标坐标确定要移动到的目标节点
            Point    pt;
            TreeNode targeNode;

            pt        = ((TreeView)(sender)).PointToClient(new Point(e.X, e.Y));
            targeNode = this.tvProcessProcedure.GetNodeAt(pt);
            TreeNode targeParent = targeNode.Parent;

            //如果目标节点无子节点则添加为同级节点,反之添加到下级节点的未端
            TreeNode NewMoveNode = (TreeNode)moveNode.Clone();

            if (targeNode.Parent == moveNode.Parent)
            {
                tvProcessProcedure.BeginUpdate();
                PlanningCardRelationBLL.ChangeTwoCardSortOrder(moveNode.Tag, moveNode.Name, targeNode.Tag, targeNode.Name, parentNode.Tag.ToString());
                parentNode.Nodes.Clear();
                ShowProcessCardByProcessPlanningId(new Guid(parentNode.Tag.ToString()), parentNode);
                //tvProcessProcedure.TreeViewNodeSorter = new Kingdee.CAPP.UI.Common.NodeSorter();
                tvProcessProcedure.EndUpdate();

                tvProcessProcedure.Focus();
                tvProcessProcedure.SelectedNode = targeParent;
                if (tvProcessProcedure.SelectedNode != null)
                {
                    tvProcessProcedure.SelectedNode.EnsureVisible();
                }

                return;
            }

            object planningid     = null;
            object prevPlanningid = moveNode.Parent.Tag;

            if (targeNode.Nodes.Count == 0)
            {
                if (targeNode.ImageKey == "card")
                {
                    targeNode.Parent.Nodes.Insert(targeNode.Index, NewMoveNode);
                    planningid = targeNode.Parent.Tag;
                }
                else if (targeNode.ImageKey == "planning")
                {
                    targeNode.Nodes.Insert(targeNode.Index, NewMoveNode);
                    planningid = targeNode.Tag;
                    targeNode.Expand();
                }
            }
            else
            {
                targeNode.Nodes.Insert(targeNode.Nodes.Count, NewMoveNode);
                planningid = targeNode.Tag;
            }

            int    splitIndex = NewMoveNode.Tag.ToString().IndexOf("@");
            string cardid     = NewMoveNode.Tag.ToString().Substring(0, splitIndex);

            //更新数据库内节点的从属关系
            //UpdateCardRelation(planningid, prevPlanningid, NewMoveNode.Tag);
            UpdateCardRelation(planningid, prevPlanningid, cardid);

            tvProcessProcedure.SelectedNode = NewMoveNode;
            //展开目标节点,便于显示拖放效果
            targeNode.Expand();
            //移除拖放的节点
            moveNode.Remove();

            // tvProcessProcedure.TreeViewNodeSorter = new Kingdee.CAPP.UI.Common.NodeSorter();

            tvProcessProcedure.Focus();
            tvProcessProcedure.SelectedNode = targeParent;
            if (tvProcessProcedure.SelectedNode != null)
            {
                tvProcessProcedure.SelectedNode.EnsureVisible();
            }
        }