コード例 #1
0
        /// <summary>
        /// 根据资产类别编号返回资产类别信息
        /// </summary>
        /// <param name="ID"></param>
        /// <returns></returns>
        public AssetsType GetByID(string ID)
        {
            AssetsType at = _AssetsTypeRepository.GetByID(ID).AsNoTracking().FirstOrDefault();

            return(at);
        }
コード例 #2
0
ファイル: AssTypeService.cs プロジェクト: wanghx12/asset
        /// <summary>
        /// 根据资产类别编号返回资产类别信息
        /// </summary>
        /// <param name="ID"></param>
        /// <returns></returns>
        public cmdb_assettype GetByID(int ID)
        {
            cmdb_assettype at = _AssetsTypeRepository.GetByID(ID).AsNoTracking().FirstOrDefault();

            return(at);
        }
コード例 #3
0
ファイル: OrderCommonService.cs プロジェクト: yexinw/SmoWMS
        /// <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());
        }
コード例 #4
0
        /// <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);
            }
        }