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; }
/// <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); }
/// <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); }
/// <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); }
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); } } } } }
/// <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; }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
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(); }