/// <summary> ///累加日计划面积 /// </summary> /// <param name="e"></param> public override void EndOperationTransaction(EndOperationTransactionArgs e) { base.EndOperationTransaction(e); if (selectedRows != null && selectedRows.Count() != 0) { IMetaDataService metadataService = Kingdee.BOS.App.ServiceHelper.GetService <IMetaDataService>(); //获取单据元数据 FormMetadata BilMetada = metadataService.Load(Context, "SZXY_LYJTRSCJH") as FormMetadata; foreach (DynamicObject dy in selectedRows) { string Id = Convert.ToString(dy["Id"]); string FormId = "SZXY_LYJTRSCJH"; if (dy["SZXY_XYLYEntry"] is DynamicObjectCollection entry) { decimal Area = 0; string RJHFid = string.Empty; string RJHRowId = string.Empty; foreach (var item in entry.Where(m => !Convert.ToString(m["F_SZXY_PlasticNo"]).IsNullOrEmptyOrWhiteSpace())) { RJHFid = Convert.ToString(item["F_SZXY_FID"]); Area = Convert.ToDecimal(item["F_SZXY_Area"]); RJHRowId = Convert.ToString(item["F_SZXY_FEntryID"]); if (Area != 0 && !RJHFid.IsNullOrEmptyOrWhiteSpace()) { DynamicObject RJHObejct = Utils.LoadFIDBillObject(this.Context, FormId, RJHFid); if (RJHObejct["SZXY_LYJTRSCJHEntry"] is DynamicObjectCollection SoureEntry) { var Row = from row in SoureEntry where Convert.ToString(row["id"]).EqualsIgnoreCase(RJHRowId) select row; foreach (DynamicObject SoureRow in SoureEntry.Where(p => Convert.ToString(p["id"]).EqualsIgnoreCase(RJHRowId))) { Area += Convert.ToDecimal(SoureRow["F_SZXY_ProductionArea"]); SoureRow["F_SZXY_ProductionArea"] = Area; } } var saveResult = BusinessDataServiceHelper.Save(Context, BilMetada.BusinessInfo, RJHObejct); } } } } } }
public override void EndOperationTransaction(EndOperationTransactionArgs e) { base.EndOperationTransaction(e); if (selectedRows != null && selectedRows.Count() != 0) { IMetaDataService metadataService = Kingdee.BOS.App.ServiceHelper.GetService <IMetaDataService>(); string SoureFormId = "SZXY_FHJTRSCJH"; //获取单据元数据 FormMetadata BilMetada = metadataService.Load(Context, SoureFormId) as FormMetadata; foreach (DynamicObject dy in selectedRows) { string Id = Convert.ToString(dy["Id"]); decimal Area = 0; string RJHFid = string.Empty; string RJHRowId = string.Empty; RJHFid = Convert.ToString(dy["F_SZXY_FIDH"]); Area = Convert.ToDecimal(dy["F_SZXY_InArea"]); RJHRowId = Convert.ToString(dy["F_SZXY_FEntryIDH"]); string F_SZXY_MotherVolume = Convert.ToString(dy["F_SZXY_MotherVolume"]); string F_SZXY_ligature = Convert.ToString(dy["F_SZXY_ligature"]); if (Area != 0 && !RJHFid.IsNullOrEmptyOrWhiteSpace()) { DynamicObject RJHObejct = Utils.LoadFIDBillObject(this.Context, SoureFormId, RJHFid); if (RJHObejct["SZXY_FHJTRSCJHEntry"] is DynamicObjectCollection SoureEntry) { //var Row = from row in SoureEntry // where Convert.ToString(row["id"]).EqualsIgnoreCase(RJHRowId) // select row; foreach (DynamicObject SoureRow in SoureEntry.Where(p => Convert.ToString(p["id"]).EqualsIgnoreCase(RJHRowId))) { decimal ResArea = Convert.ToDecimal(SoureRow["F_SZXY_ProductionArea"]) - Area; SoureRow["F_SZXY_ProductionArea"] = ResArea; } } var saveResult = BusinessDataServiceHelper.Save(Context, BilMetada.BusinessInfo, RJHObejct); } } } }