示例#1
0
        public ActionResult ApplyAdd(string astName, string astModel, string astSpec, string aplAmount, string reason)
        {
            //获取已登录用户所在部门
            string userId = HttpContext.Session["User"].ToString();
            string deptId = ManagerFactory.AssetApplyManager.GetUsersDeptId(userId);

            AssetApply astApply = new AssetApply();

            astApply.AplDeptID  = deptId;
            astApply.AssetName  = astName;
            astApply.AssetModel = astModel;
            astApply.AssetSpec  = astSpec;
            astApply.AplAmount  = Int32.Parse(aplAmount);
            astApply.AplReason  = reason;

            ResultDTO rdto = new ResultDTO();

            try
            {
                ManagerFactory.AssetApplyManager.DoApplyAdd(astApply);
                rdto.Result  = true;
                rdto.Message = "申请成功";
            }
            catch
            {
                rdto.Result  = false;
                rdto.Message = "申请失败";
            }
            return(this.Json(rdto));
        }
示例#2
0
        /// <summary>
        /// 资产新增申请处理
        /// </summary>
        /// <param name="ast">要进行申请的资产对象</param>
        /// <returns></returns>
        public int DoApplyAdd(AssetApply ast)
        {
            ast.AplType   = "0001"; //申请类型=新增
            ast.AplStatus = "0001"; //申请状态=已申请

            return(AssetApplyDao.SaveOne(ast));
        }
示例#3
0
        /// <summary>
        /// 为指定部门申请指定的资产
        /// </summary>
        /// <param name="deptId">部门ID</param>
        /// <param name="astIds">申请的资产ID</param>
        /// <param name="reason">申请原因</param>
        /// <returns></returns>
        public int DoApplyAddInBatch(string deptId, string[] astIds, string reason)
        {
            IList list        = AssetApplyDao.FindAssetsByIds(astIds);
            IList listForSave = new ArrayList();

            foreach (AssetApply_Asset o in list)
            {
                AssetApply asset = new AssetApply();

                asset.AplDeptID    = deptId;
                asset.AplType      = "0001"; //申请类型置为新增
                asset.AssetID      = o.AssetID;
                asset.AssetName    = o.AssetName;
                asset.AssetModel   = o.AssetModel;
                asset.AssetSpec    = o.AssetSpec;
                asset.AssetType    = o.AssetType;
                asset.AssetSubType = o.AssetSubtype;
                asset.AplAmount    = 1;
                asset.AplReason    = reason;
                asset.AplStatus    = "0001";//申请状态置为已申请

                listForSave.Add(asset);
            }

            return(AssetApplyDao.SaveSome(listForSave));
        }
示例#4
0
 public AssetApplyCreatedEvent(Guid aggregateId, AssetApply assetApply, string message)
 {
     AssetCategory        = assetApply.AssetCategoryThirdLevel;
     RequestOrgIdentifier = assetApply.RequestOrgIdentifier;
     TargetOrgIdentifier  = assetApply.TargetOrgIdentifier;
     Message     = message;
     AggregateId = aggregateId;
 }
        /// <summary>
        /// 创建一个资产申请
        /// </summary>
        /// <param name="user"></param>
        /// <param name="targetOrg"></param>
        /// <param name="assetCategoryId"></param>
        /// <param name="thirdLevelCategory"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        public async Task <AssetApply> CreateAssetApply(IUser user, Organization targetOrg, Guid assetCategoryId, string thirdLevelCategory, string message)
        {
            var assetApply = new AssetApply(user,
                                            targetOrg,
                                            assetCategoryId,
                                            thirdLevelCategory,
                                            message);

            return(await _assetApplyRepository.AddAsync(assetApply));
        }
示例#6
0
 public int SaveOne(AssetApply asset)
 {
     try
     {
         HibernateTemplate.Save(asset);
         return(1);
     }
     catch
     {
         return(0);
     }
 }
示例#7
0
 public int Update(AssetApply o)
 {
     try
     {
         HibernateTemplate.SaveOrUpdate(o);
         return(1);
     }
     catch
     {
         return(0);
     }
 }
        /// <summary>
        /// 处理资产申请
        /// </summary>
        /// <param name="asset"></param>
        /// <param name="apply"></param>
        /// <param name="handleMessage"></param>
        /// <returns></returns>
        public async Task HandleAssetApply(Asset asset, AssetApply apply, string handleMessage)
        {
            //资产状态变化
            asset.StatusChanged(AssetStatus.在用);
            asset.LastModifyDateTime  = DateTime.Now;
            asset.LatestDeployRecord  = $"从【{asset.StoredOrgIdentifier}】到【{apply.RequestOrgIdentifier}】";
            asset.AssetLocation       = "暂无";
            asset.StoredOrgIdentifier = apply.RequestOrgIdentifier;
            asset.StoredOrgName       = apply.RequestOrgNam;
            //申请状态变化
            apply.Complete(handleMessage);
            //产生一条新纪录
            var deploy = new AssetDeploy
            {
                Id = Guid.NewGuid(),
                AssetDeployCategory = AssetDeployCategory.资产申请,
                CreateDateTime      = DateTime.Now,
                AssetTagNumber      = asset.AssetTagNumber,
                AssetName           = asset.AssetName,
                AssetId             = asset.Id,
                AssetNo             = asset.AssetNo,
                Org2          = apply.Org2,
                ExportOrgInfo = new OrganizationInfo
                {
                    OrgId         = apply.TargetOrgId,
                    OrgIdentifier = apply.TargetOrgIdentifier,
                    OrgNam        = apply.TargetOrgNam
                },
                ImportOrgInfo = new OrganizationInfo
                {
                    OrgId         = apply.RequestOrgId,
                    OrgIdentifier = apply.RequestOrgIdentifier,
                    OrgNam        = apply.RequestOrgNam
                },
                AuthorizeOrgInfo = new OrganizationInfo
                {
                    OrgId         = apply.TargetOrgId,
                    OrgIdentifier = apply.TargetOrgIdentifier,
                    OrgNam        = apply.TargetOrgNam
                }
            };

            //保存到数据库
            _assetRepository.Update(asset);
            _assetApplyRepository.Update(apply);
            await _assetDeployRepository.AddAsync(deploy);
        }
示例#9
0
        /// <summary>
        /// Convert Model to DTO
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public static AssetApplyDTO MapToDTO(AssetApply model)
        {
            AssetApplyDTO dto = new AssetApplyDTO();

            IList statusList = ManagerFactory.AssetApplyManager.GetAplStatusList();

            foreach (MasterInfo s in statusList)
            {
                dto.StatusSet.Add(s.SubinfoCode, s.SubinfoName);
            }

            IList typeList = ManagerFactory.AssetApplyManager.GetAplTypeList();

            foreach (MasterInfo t in typeList)
            {
                dto.AplTypeSet.Add(t.SubinfoCode, t.SubinfoName);
            }

            IList deptList = ManagerFactory.AssetApplyManager.GetDeptList();

            foreach (Department d in deptList)
            {
                dto.DeptSet.Add(d.DepartmentID, d.DepartmentName);
            }

            dto.AplNo            = model.AplNo;
            dto.AplDeptID        = model.AplDeptID;
            dto.AplDeptName      = dto.DeptSet[dto.AplDeptID];
            dto.AplType          = model.AplType;
            dto.AplTypeName      = dto.AplTypeSet[dto.AplType];
            dto.AssetID          = model.AssetID;
            dto.AssetName        = model.AssetName;
            dto.AssetModel       = model.AssetModel;
            dto.AssetSpec        = model.AssetSpec;
            dto.AssetType        = model.AssetType;
            dto.AssetTypeName    = model.AssetType;
            dto.AssetSubType     = model.AssetSubType;
            dto.AssetSubTypeName = model.AssetSubType;
            dto.AplAmount        = model.AplAmount;
            dto.AplStatusCode    = model.AplStatus;
            dto.AplStatus        = dto.StatusSet[dto.AplStatusCode];
            dto.AplReason        = model.AplReason;

            return(dto);
        }
示例#10
0
        /// <summary>
        /// Convert DTO to Model
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public static AssetApply MapFromDTO(AssetApplyDTO dto)
        {
            AssetApply model = new AssetApply();

            model.AplNo        = dto.AplNo;
            model.AplDeptID    = dto.AplDeptID;
            model.AplType      = dto.AplType;
            model.AssetID      = dto.AssetID;
            model.AssetName    = dto.AssetName;
            model.AssetModel   = dto.AssetModel;
            model.AssetSpec    = dto.AssetSpec;
            model.AssetType    = dto.AssetType;
            model.AssetSubType = dto.AssetSubType;
            model.AplAmount    = dto.AplAmount;
            model.AplStatus    = dto.AplStatus;
            model.AplReason    = dto.AplReason;

            return(model);
        }
示例#11
0
        public ActionResult GetAssetApply(string aplNo)
        {
            AssetApply    apl = ManagerFactory.AssetAcceptManager.GetApplication(aplNo);
            AssetApplyDTO dto = AssetApplyDTOMapper.MapToDTO(apl);

            ResultDTO rdto = new ResultDTO();

            if (dto != null)
            {
                rdto.Result  = true;
                rdto.Data    = dto;
                rdto.Message = "获取申请信息成功";
            }
            else
            {
                rdto.Result  = false;
                rdto.Message = "获取申请信息失败";
            }
            return(this.Json(rdto));
        }
示例#12
0
        public int DoApplyDestroy(string id, string reason)
        {
            AssetApply_Asset ast = AssetApplyDao.FindAssetById(id);

            AssetApply target = new AssetApply();

            target.AssetID      = ast.AssetID;
            target.AssetName    = ast.AssetName;
            target.AssetModel   = ast.AssetModel;
            target.AssetSpec    = ast.AssetSpec;
            target.AssetType    = ast.AssetType;
            target.AssetSubType = ast.AssetSubtype;
            target.AplDeptID    = ast.BelongingDept;
            target.AplAmount    = 1;
            target.AplType      = "0004"; //申请报废
            target.AplStatus    = "0001"; //已申请
            target.AplReason    = reason;

            return(AssetApplyDao.SaveOne(target));
        }
 /// <summary>
 /// 删除资产申请
 /// </summary>
 /// <param name="apply"></param>
 public void RemoveAssetApply(AssetApply apply)
 {
     _assetApplyRepository.Remove(apply);
 }
 /// <summary>
 /// 撤销资产申请
 /// </summary>
 /// <param name="apply"></param>
 /// <param name="handleMessage"></param>
 public void RevokeAssetApply(AssetApply apply, string handleMessage)
 {
     apply.Revoke(handleMessage);
     _assetApplyRepository.Update(apply);
 }