Example #1
0
 /// <summary>
 /// 方法说明:新增物料卡片关联记录
 /// 作    者:jason.tang
 /// 完成时间:2013-03-26
 /// </summary>
 /// <param name="materialCardRelation">物料卡片关联实体</param>
 /// <returns></returns>
 public static Guid AddMaterialCardRelationData(MaterialCardRelation materialCardRelation)
 {
     try
     {
         Guid id = MaterialCardRelationDAL.AddMaterialCardRelationData(materialCardRelation);
         return(id);
     }
     catch
     {
         throw;
     }
 }
Example #2
0
        /// <summary>
        /// 方法说明:新增物料卡片关联记录
        /// 作    者:jason.tang
        /// 完成时间:2013-03-26
        /// </summary>
        /// <param name="materialCardRelation">物料卡片关联实体</param>
        /// <returns></returns>
        public static Guid AddMaterialCardRelationData(MaterialCardRelation materialCardRelation)
        {
            try
            {
                string strsql = @"
                                INSERT INTO [dbo].[MaterialCardRelation]
                                   ([MaterialCardRelationId]
                                   ,[MaterialId]
                                   ,[ProcessCardId]
                                   ,[CardSort]
                                   ,[Type])
                             VALUES
                                   (@MaterialCardRelationId
                                   ,@MaterialId
                                   ,@ProcessCardId                                
                                   ,@CardSort
                                   ,@Type);";

                int cardSort = GetMaxCardSort(materialCardRelation.MaterialId);

                using (DbCommand cmd = db.GetSqlStringCommand(strsql))
                {
                    db.AddInParameter(cmd, "@MaterialCardRelationId", DbType.Guid, materialCardRelation.MaterialCardRelationId);
                    db.AddInParameter(cmd, "@MaterialId", DbType.Guid, materialCardRelation.MaterialId);
                    db.AddInParameter(cmd, "@ProcessCardId", DbType.Guid, materialCardRelation.ProcessCardId);
                    db.AddInParameter(cmd, "@CardSort", DbType.Int32, cardSort);
                    db.AddInParameter(cmd, "@Type", DbType.Int32, materialCardRelation.Type);
                    db.ExecuteScalar(cmd);
                    return(materialCardRelation.MaterialCardRelationId);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #3
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;
        }
        /// <summary>
        /// 方法说明:新建卡片
        /// 作    者:jason.tang
        /// 完成时间:2013-03-05
        /// </summary>
        private void NewCard()
        {
            using (CardModuleChooseFrm chooseFrm = new CardModuleChooseFrm())
            {
                if (chooseFrm.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    ProcessCardFrm frm = new ProcessCardFrm();
                    frm.ProcessFolderId = chooseFrm.ProcessFolderId;

                    if (tcDesignView.SelectedTab == tbMaterial)
                    {
                        frm.Name = string.Format("ProcessCardFrm-{0}-NAVG", Guid.NewGuid().ToString());
                    }
                    else
                    {
                        frm.Name = string.Format("ProcessCardFrm-{0}-NAVP", Guid.NewGuid().ToString());
                    }

                    if (!string.IsNullOrEmpty(chooseFrm.ProcessCardId))
                    {
                        //frm.TabText = chooseFrm.ProcessCardName;
                        //MainFrm.mainFrm.OpenModule(frm);
                        //bool result = frm.OpenCard(null, chooseFrm.ProcessCardId, true);
                        //if (!result)
                        //{
                        //    MainFrm.mainFrm.CloseModule(frm);
                        //}
                        //添加节点
                        ProcessCardBLL bll    = new ProcessCardBLL();
                        ProcessCard    card   = bll.GetProcessCard(new Guid(chooseFrm.ProcessCardId));
                        string         baseid = AddNodeInMaterial(card, frm.ProcessFolderId);
                        if (string.IsNullOrEmpty(baseid))
                        {
                            MessageBox.Show("该物料下已包含相同的卡片", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return;
                        }
                        MaterialCardRelation materialCardRelation = new MaterialCardRelation();
                        materialCardRelation.MaterialCardRelationId = Guid.NewGuid();
                        materialCardRelation.MaterialId             = new Guid(baseid);
                        materialCardRelation.ProcessCardId          = card.ID;
                        if (tcDesignView.SelectedTab == tbMaterial)
                        {
                            materialCardRelation.Type = 1;
                        }
                        else
                        {
                            materialCardRelation.Type = 2;
                        }
                        Kingdee.CAPP.BLL.MaterialCardRelationBLL.AddMaterialCardRelationData(materialCardRelation);

                        return;
                    }

                    #region 设置新增卡片Tab的TabText及Name

                    int        tag       = 1;
                    int        index     = 1;
                    List <int> listIndex = new List <int>();
                    foreach (DockContent form in this.MdiChildren)
                    {
                        if (form.Name.StartsWith("ProcessCardFrm") &&
                            form.TabText.StartsWith(chooseFrm.ModuleName))
                        {
                            tag = int.Parse(form.TabText.Substring(form.TabText.IndexOf("-") + 1));
                            listIndex.Add(tag);
                        }
                    }
                    listIndex.Sort();
                    foreach (var i in listIndex)
                    {
                        if (i > 1 && index == 1)
                        {
                            index = 1;
                            break;
                        }

                        if (index > 1)
                        {
                            if (i - listIndex[index - 2] > 1)
                            {
                                index = listIndex[index - 2] + 1;
                                break;
                            }
                        }
                        index++;
                    }
                    frm.TabText = string.Format("{0}-{1}", chooseFrm.ModuleName, index);


                    #endregion

                    frm.ModuleId   = chooseFrm.ModuleId;
                    frm.ModuleName = chooseFrm.ModuleName;
                    if (tcDesignView.SelectedTab == tbMaterial)
                    {
                        frm.ModuleObject = tvMaterialDesign.SelectedNode.Tag;
                        frm.PBomID       = string.Empty;
                    }
                    else
                    {
                        frm.ModuleObject = tvMaterialPBom.SelectedNode.Tag;
                        frm.PBomID       = tvMaterialPBom.SelectedNode.Name;
                    }
                    MainFrm.mainFrm.OpenModule(frm);
                }
            }
        }