/// <summary> /// 根据资产类别编号返回资产类别信息 /// </summary> /// <param name="ID"></param> /// <returns></returns> public AssetsType GetByID(string ID) { AssetsType at = _AssetsTypeRepository.GetByID(ID).AsNoTracking().FirstOrDefault(); return(at); }
/// <summary> /// 根据资产类别编号返回资产类别信息 /// </summary> /// <param name="ID"></param> /// <returns></returns> public cmdb_assettype GetByID(int ID) { cmdb_assettype at = _AssetsTypeRepository.GetByID(ID).AsNoTracking().FirstOrDefault(); return(at); }
/// <summary> /// 获取资产使用情况 /// </summary> /// <param name="Mode"></param> /// <param name="Level1"></param> /// <returns></returns> public List <AssProRecordOutputDto> GetUseAnalyse(string Mode) { var list = _AssProcessRecordRepository.GetUserData(Mode).AsNoTracking(); var resultFirst = from AssPR in list join Ass in SMOWMSDbContext.Assetss on AssPR.ASSID equals Ass.ASSID join AssType in SMOWMSDbContext.AssetsTypes on Ass.TYPEID equals AssType.TYPEID select new AssProRecordOutputDto() { TYPEID = Ass.TYPEID, TYPENAME = AssType.NAME, QUANTITY = AssPR.QUANTITY, CREATEDATE = AssPR.CREATEDATE, TLEVEL = (int)AssType.TLEVEL, Level1 = GetLevel1TypeID(AssType.TYPEID) }; Dictionary <String, List <BarChartOutputDto> > AssetsData = new Dictionary <string, List <BarChartOutputDto> >(); foreach (AssProRecordOutputDto Row in resultFirst) { var result = from AssPR in list from Ass in SMOWMSDbContext.Assetss from AssType in SMOWMSDbContext.AssetsTypes where AssPR.ASSID == Ass.ASSID && Ass.TYPEID == AssType.TYPEID select new AssProRecordOutputDto() { TYPEID = Ass.TYPEID, TYPENAME = AssType.NAME, QUANTITY = AssPR.QUANTITY, CREATEDATE = AssPR.CREATEDATE }; var Data = Mapper.Map <List <AssProRecordOutputDto>, List <AssProcessRecord> >(result.ToList()); if (result.Count() > 0) //数据超过一条,则进行数据缩减 { Data = ReduceData(Mode, Data); //同一天的行项数据归并为一条 } List <BarChartOutputDto> ChartData = new List <BarChartOutputDto>(); foreach (AssProcessRecord NowRow in Data) { BarChartOutputDto NewRow = new BarChartOutputDto(); NewRow.QUANTITY = NowRow.QUANTITY; NewRow.CREATEDATE = NowRow.CREATEDATE; ChartData.Add(NewRow); } String TypeName = _AssetsTypeRepository.GetByID(Row.Level1).FirstOrDefault().NAME; if (AssetsData.ContainsKey(TypeName) == false) { AssetsData.Add(TypeName, ChartData); } } List <int> xData = new List <int>(); List <List <decimal> > Assetss = new List <List <decimal> >(); DateTime date = DateTime.Now; int year = date.Year; int month = date.Month; int day = date.Day; switch (Mode) { case "OM": for (int i = 0; i < day; i++) { xData.Add(i + 1); } for (int j = 0; j < AssetsData.Count; j++) { List <decimal> Assets = new List <decimal>(); for (int i = 0; i < day; i++) { Boolean isAdd = false; foreach (String key in AssetsData.Keys) { foreach (BarChartOutputDto Row in AssetsData[key]) { int DayThat = Row.CREATEDATE.Day; if (i + 1 == DayThat) { Assets[i] = Row.QUANTITY; isAdd = true; } } if (isAdd == false) { Assets[i] = 0; } } } Assetss[j] = Assets; } break; case "TM": for (int i = 0; i < 12; i++) { } break; case "OY": break; } return(resultFirst.AsNoTracking().ToList()); }
/// <summary> /// 添加资产 /// </summary> /// <param name="entity"></param> /// <returns></returns> public ReturnInfo AddAssets(AssetsInputDto entity, string dealman) { ReturnInfo RInfo = new ReturnInfo(); StringBuilder sb = new StringBuilder(); //if (entity.id == 0) //{ // int MaxId = _AssetsRepository.GetMaxID(); // int id = MaxId + 1; // //string AssId = Helper.GenerateID("ASS", MaxId); // //产生资产编号 // entity.id = id; //} string ValidateInfo = Helper.ValidateAssets(entity).ToString(); sb.Append(ValidateInfo); if (sb.Length == 0) { try { cmdb_asset assets = Mapper.Map <AssetsInputDto, cmdb_asset>(entity); //Console.WriteLine(assets.IP); //Console.WriteLine(assets.asset_number); //Console.WriteLine(assets.sn); //Console.WriteLine(assets.position); //Console.WriteLine(assets.status); //Console.WriteLine(assets.give_time); //Console.WriteLine(assets.return_time); //Console.WriteLine(assets.remark); //Console.WriteLine(assets.asset_type_id); //Console.WriteLine(assets.brand_id); //Console.WriteLine(assets.machine_room_id); //Console.WriteLine(assets.pay_man_id); //Console.WriteLine(assets.project_id); //Console.WriteLine(assets.role_id); //Console.WriteLine(assets.use_man_id); //Console.WriteLine(assets.team_id); //Console.WriteLine(assets.modify_date); //assets.status = (int)status.闲置; //assets.MODIFYDATE=DateTime.Now; _unitOfWork.RegisterNew(assets); cmdb_assettype type = _assetsTypeRepository.GetByID(entity.asset_type_id).AsNoTracking().FirstOrDefault(); string type_name = type.name; var pr = new cmdb_modityhistory { username = dealman, m_time = DateTime.Now, content = "添加--> 资产-->" + type_name + "--> 唯一号:" + assets.uuid, }; _unitOfWork.RegisterNew(pr); bool result = _unitOfWork.Commit(); RInfo.IsSuccess = result; RInfo.ErrorInfo = entity.uuid; return(RInfo); } catch (Exception ex) { _unitOfWork.Rollback(); sb.Append(ex.Message); RInfo.IsSuccess = false; RInfo.ErrorInfo = sb.ToString(); return(RInfo); } } else { RInfo.IsSuccess = false; RInfo.ErrorInfo = sb.ToString(); return(RInfo); } }