Exemple #1
0
 private ArrayList GetChildMID(Guid g_mid, string strSBLTAB, string strRelName)
 {
     ArrayList list = new ArrayList();
     ArrayList masterOids = new ArrayList(1);
     ArrayList revNums = new ArrayList(1);
     masterOids.Add(g_mid);
     revNums.Add(0);
     Guid curView = ClientData.UserGlobalOption.CurView;
     foreach (DEBusinessItem item in PLItem.Agent.GetBizItemsByMasters(masterOids, revNums, curView, ClientData.LogonUser.Oid, BizItemMode.BizItem))
     {
         if (item.Iteration.LinkRelationSet.GetRelationBizItemList(strRelName) == null)
         {
             DERelationList list5 = PLItem.Agent.GetLinkRelations(item.IterOid, strSBLTAB, strRelName, ClientData.LogonUser.Oid);
             item.Iteration.LinkRelationSet.RelationBizItemLists[strRelName] = list5;
             if (list5.Count > 0)
             {
                 for (int i = 0; i < list5.Count; i++)
                 {
                     DERelation2 relation = new DERelation2();
                     relation = (DERelation2) list5[i];
                     list.Add(relation.RightObj);
                 }
             }
         }
     }
     return list;
 }
Exemple #2
0
        /// <summary>
        /// 获取数据
        /// </summary>
        /// <param name="bomItem"></param>
        /// <returns></returns>
        private DataTable GetComponentOptDt(DEBusinessItem bomItem, DERelation2 relation, int seq)
        {
            if (bomItem == null)
            {
                return(null);
            }
            var dt  = BuildComponentOptDt();
            var row = dt.NewRow();

            foreach (DataColumn col in dt.Columns)
            {
                var val    = bomItem.GetAttrValue(bomItem.ClassName, col.ColumnName.ToUpper());
                var rltVal = relation.GetAttrValue(col.ColumnName.ToUpper());
                switch (col.ColumnName)
                {
                default:
                    row[col] = rltVal == null ? DBNull.Value : rltVal;
                    break;

                case "OptionsId":
                    row[col] = seq * 10;
                    break;

                case "Offset":
                    row[col] = rltVal == null ? 0 : rltVal;
                    break;

                case "WIPType":
                    row[col] = rltVal == null ? 4 : rltVal;
                    break;

                case "AccuCostFlag":
                    row[col] = rltVal == null ? true : rltVal;
                    break;

                case "OptionalFlag":
                    row[col] = rltVal == null ? false : rltVal;
                    break;

                case "MutexRule":
                    row[col] = rltVal == null ? 2 : rltVal;
                    break;

                case "PlanFactor":
                    row[col] = rltVal == null ? 100.00m : rltVal;
                    break;
                }
            }
            dt.Rows.Add(row);
            return(dt);
        }
Exemple #3
0
        /// <summary>
        /// 获取数据
        /// </summary>
        /// <param name="dEBusinessItem"></param>
        /// <returns></returns>
        private DataTable GetComponentLocDt(DEBusinessItem dEBusinessItem, DERelation2 relation)
        {
            if (dEBusinessItem == null)
            {
                return(null);
            }
            var dt  = BuildVersionDt();
            var row = dt.NewRow();

            foreach (DataColumn col in dt.Columns)
            {
                var val = dEBusinessItem.GetAttrValue(dEBusinessItem.ClassName, col.ColumnName.ToUpper());
                row[col] = val == null ? DBNull.Value : val;
            }
            dt.Rows.Add(row);
            return(dt);
        }
Exemple #4
0
        /// <summary>
        /// 获取数据
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        private DataTable GetBodyDt(DEBusinessItem baseItem, DEBusinessItem item, DERelation2 relation)
        {
            if (item == null)
            {
                return(null);
            }
            var dt  = BuildBodyDt();
            var row = dt.NewRow();

            foreach (DataColumn col in dt.Columns)
            {
                var val    = baseItem.GetAttrValue(baseItem.ClassName, col.ColumnName.ToUpper());
                var rltVal = relation.GetAttrValue(col.ColumnName.ToUpper());
                switch (col.ColumnName)
                {
                default:
                    row[col] = rltVal == null ? DBNull.Value : rltVal;
                    break;

                case "ResId":
                    row[col] = val == null ? DBNull.Value : val;
                    break;

                case "Qty":
                    row[col] = rltVal == null ? 1.00m : rltVal;
                    break;

                case "KeyFlag":
                case "FiniteScheduleRel":
                    row[col] = rltVal == null ? 0 : rltVal;
                    break;

                case "CrpFlag":
                    row[col] = rltVal == null ? 1 : rltVal;
                    break;

                case "UseRate":
                case "EfficiencyRate":
                case "OverRate":
                    row[col] = rltVal == null ? 100.00m : rltVal;
                    break;
                }
            }
            dt.Rows.Add(row);
            return(dt);
        }
Exemple #5
0
        private void InitObject()
        {
            this.csb2sbs = new DECusRelationLst();
            this.al_master.Clear();
            this.al_sbl.Clear();
            ArrayList itemMasters = PLItem.Agent.GetItemMasters(this.strSBLTAB, ClientData.LogonUser.Oid);
            ArrayList masterOids  = new ArrayList(itemMasters.Count);
            ArrayList revNums     = new ArrayList(itemMasters.Count);

            foreach (DEItemMaster2 master in itemMasters)
            {
                masterOids.Add(master.Oid);
                revNums.Add(0);
            }
            Guid curView = ClientData.UserGlobalOption.CurView;

            foreach (DEBusinessItem item in PLItem.Agent.GetBizItemsByMasters(masterOids, revNums, curView, ClientData.LogonUser.Oid, BizItemMode.BizItem))
            {
                if (item.Iteration.LinkRelationSet.GetRelationBizItemList(this.strRelName) == null)
                {
                    DERelationList list5 = PLItem.Agent.GetLinkRelations(item.IterOid, this.strSBLTAB, this.strRelName, ClientData.LogonUser.Oid);
                    item.Iteration.LinkRelationSet.RelationBizItemLists[this.strRelName] = list5;
                    this.al_master.Add(item.MasterOid);
                    this.al_sbl.Add(item.Iteration.Oid);
                    this.al_name.Add(item.Name);
                    if (list5.Count > 0)
                    {
                        for (int i = 0; i < list5.Count; i++)
                        {
                            DERelation2   relation  = new DERelation2();
                            DECusRelation relation2 = new DECusRelation();
                            relation = (DERelation2)list5[i];
                            relation2.PLM_LEFTOBJ  = item.IterOid;
                            relation2.PLM_RIGHTOBJ = relation.RightObj;
                            this.csb2sbs.Add(relation2);
                        }
                    }
                }
            }
        }
Exemple #6
0
        /// <summary>
        /// 获取OperationRes数据
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        private DataTable GetOperationResDt(DEBusinessItem baseItem, DEBusinessItem item, DERelation2 relation)
        {
            if (item == null)
            {
                return(null);
            }

            var dt  = BuildOperationResDt();
            var row = dt.NewRow();

            foreach (DataColumn col in dt.Columns)
            {
                var val    = item.GetAttrValue(item.ClassName, col.ColumnName.ToUpper());
                var rltVal = relation.GetAttrValue(col.ColumnName.ToUpper());
                switch (col.ColumnName)
                {
                default:
                    row[col] = rltVal == null ? DBNull.Value : rltVal;
                    break;

                case "OperationId":
                    val      = baseItem.GetAttrValue(baseItem.ClassName, col.ColumnName.ToUpper());
                    row[col] = val == null ? DBNull.Value : val;
                    break;

                case "BaseType":
                    row[col] = val == null ? 1 : val;
                    break;

                case "EfficientRate":
                    row[col] = val == null ? 100 : val;
                    break;
                }
            }
            dt.Rows.Add(row);
            return(dt);
        }
 public static DERelationBizItem AddNewRelation(DEBusinessItem item, string relName, DEBusinessItem cItem)
 {
     DERelation2 relation = new DERelation2 {
         LeftClass = item.Master.ClassName,
         LeftObj = item.Iteration.Oid,
         RelationName = relName,
         RightClass = cItem.Master.ClassName,
         RightObj = cItem.Master.Oid,
         RightObjRev = 0,
         CreatorName = ClientData.LogonUser.Name,
         CreateTime = DateTime.Now,
         View = PSStart.GetLinkView(item.Master, relName, ClientData.UserGlobalOption, ClientData.LogonUser.Oid)
     };
     DERelationBizItemList relationBizItemList = item.Iteration.LinkRelationSet.GetRelationBizItemList(relName);
     if (relationBizItemList == null)
     {
         try
         {
             relationBizItemList = PLItem.Agent.GetLinkRelationItems(item.Iteration.Oid, item.Master.ClassName, relName, ClientData.LogonUser.Oid, ClientData.UserGlobalOption);
             item.Iteration.LinkRelationSet.AddRelationList(relName, relationBizItemList);
         }
         catch
         {
         }
     }
     if (relationBizItemList != null)
     {
         relation.Order = GetPossibleOrder(relationBizItemList);
         item.Iteration.LinkRelationSet.GetRelationBizItemList(relName).AddLinkRelationItem(relation, cItem, RevOccurrenceType.Effective);
     }
     ArrayList relationBizItems = item.Iteration.LinkRelationSet.GetRelationBizItemList(relName).RelationBizItems;
     foreach (DERelationBizItem item2 in relationBizItems)
     {
         if (item2.Id == cItem.Id)
         {
             return item2;
         }
     }
     return null;
 }
Exemple #8
0
        /// <summary>
        /// 获取数据
        /// </summary>
        /// <param name="bomItem"></param>
        /// <returns></returns>
        private DataTable GetComponentDt(DEBusinessItem baseItem, DERelation2 relation, DEBusinessItem bomItem, ref int seqNo)
        {
            if (bomItem == null)
            {
                return(null);
            }
            var dt  = BuildComponentDt();
            var row = dt.NewRow();

            seqNo++;
            foreach (DataColumn col in dt.Columns)
            {
                var val    = bomItem.GetAttrValue(bomItem.ClassName, col.ColumnName.ToUpper());
                var rltVal = relation.GetAttrValue(col.ColumnName.ToUpper());
                switch (col.ColumnName)
                {
                default:
                    row[col] = val == null ? DBNull.Value : val;
                    break;

                case "BomId":
                    val      = baseItem.GetAttrValue(baseItem.ClassName, "BOMID");
                    row[col] = val == null ? DBNull.Value : val;
                    break;

                case "InvCode":
                    val      = bomItem.GetAttrValue(bomItem.ClassName, "CODE");
                    row[col] = val == null ? DBNull.Value : val;
                    break;

                case "SortSeq":
                case "OptionsId":
                case "OpComponentId":
                    row[col] = (seqNo * 10);
                    break;

                case "OpSeq":
                    row[col] = 0000;    //工序不启用,默认为0000
                    break;

                case "EffBegDate":
                    row[col] = rltVal == null?DateTime.Parse("2000-01-01") : rltVal;

                    break;

                case "EffEndDate":
                    row[col] = rltVal == null?DateTime.Parse("2099-12-31") : rltVal;

                    break;

                case "FVFlag":
                case "ProductType":
                    row[col] = rltVal == null ? 1 : rltVal;
                    break;

                case "BaseQtyN":
                    val      = relation.GetAttrValue("NUMBER");
                    row[col] = val == null ? 1m : val;
                    break;

                case "BaseQtyD":
                    row[col] = rltVal == null ? 1m : rltVal;
                    break;

                case "CompScrap":
                    row[col] = rltVal == null ? 0.000m : rltVal;
                    break;

                case "ByproductFlag":
                    row[col] = val == null ? false : val;
                    break;
                }
            }
            dt.Rows.Add(row);
            return(dt);
        }
Exemple #9
0
        /// <summary>
        /// 获取数据
        /// </summary>
        /// <param name="dEBusinessItem"></param>
        /// <returns></returns>
        private DataTable GetRoutingResDt(DEBusinessItem baseItem, DEBusinessItem item, DERelation2 relation)
        {
            if (item == null)
            {
                return(null);
            }
            var dt  = BuildRoutingInspDt();
            var row = dt.NewRow();

            foreach (DataColumn col in dt.Columns)
            {
                var val = item.GetAttrValue(item.ClassName, col.ColumnName.ToUpper());
                row[col] = val == null ? DBNull.Value : val;
            }
            dt.Rows.Add(row);
            return(dt);
        }
Exemple #10
0
        /// <summary>
        /// 获取数据
        /// </summary>
        /// <param name="dEBusinessItem"></param>
        /// <returns></returns>
        private DataTable GetRoutingInspDt(DEBusinessItem baseItem, DEBusinessItem item, DERelation2 relation)
        {
            if (item == null)
            {
                return(null);
            }
            var dt  = BuildRoutingInspDt();
            var row = dt.NewRow();

            foreach (DataColumn col in dt.Columns)
            {
                var val    = item.GetAttrValue(item.ClassName, col.ColumnName.ToUpper());
                var rltVal = relation.GetAttrValue(col.ColumnName);
                switch (col.ColumnName)
                {
                default:
                    row[col] = val == null ? DBNull.Value : val;
                    break;

                case "PRoutinginspId":
                    val = item.GetAttrValue(item.ClassName, "OPERATIONINSPID");
                    if (val == null)
                    {
                        return(null);
                    }
                    row[col] = val;
                    break;

                case "OpTransType":    //工序转移默认“手动”
                case "QtMethod":
                case "ItestRule":
                    row[col] = val == null ? 1 : val;
                    break;
                }
            }
            dt.Rows.Add(row);
            return(dt);
        }
Exemple #11
0
        /// <summary>
        /// 获取数据
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        private DataTable GetRoutingDetailDt(DEBusinessItem baseItem, DEBusinessItem item, DERelation2 relation)
        {
            if (item == null)
            {
                return(null);
            }
            var dt  = BuildRoutingDetailDt();
            var row = dt.NewRow();

            foreach (DataColumn col in dt.Columns)
            {
                var val    = item.GetAttrValue(item.ClassName, col.ColumnName.ToUpper());
                var rltVal = relation.GetAttrValue(col.ColumnName.ToUpper());
                switch (col.ColumnName)
                {
                default:
                    row[col] = val == null ? DBNull.Value : val;
                    break;

                case "PRoutingId":
                    val      = baseItem.GetAttrValue(baseItem.ClassName, col.ColumnName.ToUpper());
                    row[col] = val == null ? DBNull.Value : val;
                    break;

                case "PRoutingDId":
                    val      = item.GetAttrValue(item.ClassName, "OPERATIONID");
                    row[col] = val == null ? DBNull.Value : val;

                    break;

                case "OperationCode":
                    val      = item.GetAttrValue(item.ClassName, "OPCODE");
                    row[col] = val == null ? DBNull.Value : val;
                    break;

                case "PRoutinginspId":
                    val      = item.GetAttrValue(item.ClassName, "OPERATIONINSPID");
                    row[col] = val == null ? DBNull.Value : val;
                    break;

                case "Description":
                    row[col] = item.Name;
                    break;

                case "WcCode":
                case "EffBegDate":
                case "EffEndDate":
                case "OpSeq":
                    row[col] = rltVal == null ? DBNull.Value : rltVal;
                    break;

                case "SubFlag":
                case "RltOptionFlag":
                case "BFFlag":
                case "FeeFlag":
                case "PlanSubFlag":
                    row[col] = rltVal == null ? false : val;
                    break;

                case "DeliveryDays":
                case "LtPercent":
                    row[col] = rltVal == null ? 0 : val;
                    break;

                case "ReportFlag":
                    row[col] = rltVal == null ? true : val;
                    break;
                }
            }
            dt.Rows.Add(row);
            return(dt);
        }
Exemple #12
0
        public void Run(string box, List<string> draws, int number, string comment, string order)
        {
            box = box + ElecVersion;
            //if (!base.isInTrans) base.dbParam.Open();
            QRItem qritem = new QRItem(base.dbParam);
            PRItem pritem = new PRItem(base.dbParam);
            var meifen = 0;
            DEItemMaster2 dossmasterIterOid;
            dossmasterIterOid = qritem.GetItemMaster(box, "DQDOSSIERPRINT", userOid);
            DEBusinessItem dossmaster;
            if (dossmasterIterOid == null)
                dossmaster = CreateDossier(Guid.NewGuid(), box, comment, order);
            else
            {
                if (dossmasterIterOid.State == ItemState.Release)
                {
                    pritem.NewRelease(dossmasterIterOid.Oid, "DQDOSSIERPRINT", null, userOid, true);

                }
                else if (dossmasterIterOid.State == ItemState.CheckIn)
                {
                    pritem.CheckOut(dossmasterIterOid.Oid, "DQDOSSIERPRINT", userOid, true);
                }
                dossmaster = qritem.GetBizItem(dossmasterIterOid.Oid, 0, 0, Guid.Empty, userOid, BizItemMode.BizItem) as DEBusinessItem;
                dossmaster = qritem.GetBizItem(dossmasterIterOid.Oid, 0, 0, Guid.Empty, userOid, BizItemMode.BizItem) as DEBusinessItem;
                dossmaster.Iteration.SetAttrValue("TSSTATUS", "未发打印");
                dossmaster.Iteration.SetAttrValue("TWDMC", "外供图");
                dossmaster.Iteration.SetAttrValue("WKFLINFO", comment + "(" + order + ")");
                dossmaster.Iteration.SetAttrValue("DOCCODE", box);
                dossmaster.Iteration.SetAttrValue("YCT", "其它");
                dossmaster.Iteration.SetAttrValue("NAME", "外供图:" + box);
                dossmaster.Iteration.SetAttrValue("ZDHQMXBYDOC", false);
                dossmaster.Iteration.SetAttrValue("ZDHQMX", false);
                dossmaster.Iteration.SetAttrValue("CJLXMX", false);
                dossmaster.Iteration.SetAttrValue("YQWCSJ", DateTime.Now.AddDays(1));
            }
            dossmasterIterOid = qritem.GetItemMaster(box, "DQDOSSIERPRINT", userOid);
            var masteritem = qritem.GetBizItem(dossmasterIterOid.Oid, 0, 0, Guid.Empty, userOid, BizItemMode.BizItem) as DEBusinessItem;
            var itpLinkList = qritem.GetLinkRelations(masteritem.IterOid, "DQDOSSIERPRINT", "DOSSIRPRINTTODOC", userOid);
            foreach (DERelation2 r in itpLinkList)
            {
                itpLinkList.DeleteLinkRelation(r.RightObj);
            }
            foreach (var draw in draws)
            {
                var drawid = DWGMaster.GetMasterId(draw);
                if (drawid == Guid.Empty) continue;
                IBizItem itemalq = qritem.GetBizItem(drawid, 0, 0, Guid.Empty, userOid, BizItemMode.BizItem);
                var mtzs = Convert.ToInt32(itemalq.GetAttrValue("I", "GZ"));
                if (mtzs < 1) mtzs = 1;
                meifen += mtzs;

                //var itpPartRel = itpLinkList.GetLinkRelation(draw);
                var rel = itpLinkList.GetLinkRelation(itemalq.MasterOid);
                if (rel != null)
                {
                    itpLinkList.DeleteLinkRelation(itemalq.MasterOid);
                }

                var relation = new DERelation2(masteritem.IterOid, "DQDOSSIERPRINT", drawid, itemalq.ClassName, 0,
                              "system", Guid.Empty, "DOSSIRPRINTTODOC");
                relation.SetAttrValue("DOCCODE", draw);
                relation.SetAttrValue("DOCNAME", itemalq.Name);
                relation.SetAttrValue("FS", number);
                relation.SetAttrValue("JSDW", "21储运中心(" + number + ")");
                relation.SetAttrValue("MTZS", mtzs);
                relation.SetAttrValue("ZS", number * mtzs);
                relation.SetAttrValue("DOCREV", itemalq.RevLabel);
                //relation.SetAttrValue("", "");
                itpLinkList.AddLinkRelation(relation
                         );
            }
            pritem.UpdateLinkRelationsDirectly(masteritem.MasterOid, itpLinkList, userOid, null);
            dossmaster.Iteration.SetAttrValue("MTZS", meifen);
            dossmaster.Iteration.SetAttrValue("FS", number);
            dossmaster.Iteration.SetAttrValue("ZS", meifen * number);
            pritem.UpdateItemIteration(dossmaster.Iteration, userOid, null);
            //if (!base.isInTrans) dbParam.Commit();
            //if (!base.isInTrans) dbParam.Close();
        }