Example #1
0
        private CWGLReimbursementLogDto GetChangeModel(CWGLReimbursement model)
        {
            var ret = model.MapTo <CWGLReimbursementLogDto>();

            ret.Mode_Name = Enum.GetName(typeof(MoneyMode), model.Mode);
            return(ret);
        }
Example #2
0
        public async Task <InitWorkFlowOutput> Create(CreateCWGLReimbursementInput input)
        {
            var service      = AbpBootstrapper.Create <Abp.Modules.AbpModule>().IocManager.IocContainer.Resolve <IWorkFlowOrganizationUnitsAppService>();
            var userOrgModel = await service.GetUserPostInfo(new NullableIdDto <long>() { Id = AbpSession.UserId.Value, }, new NullableIdDto <long>() { Id = null });

            var id       = Guid.NewGuid();
            var newmodel = new CWGLReimbursement()
            {
                Id            = id,
                UserId        = AbpSession.UserId.Value,
                OrgId         = userOrgModel.OrgId,
                Money         = input.Money,
                Mode          = input.Mode,
                BankName      = input.BankName,
                CardNumber    = input.CardNumber,
                BankOpenName  = input.BankOpenName,
                Note          = input.Note,
                Nummber       = input.Nummber,
                BorrowMoneyId = input.BorrowMoneyId
            };

            newmodel.Status = 0;
            await _repository.InsertAsync(newmodel);

            if (input.FileList != null)
            {
                var fileList = new List <AbpFileListInput>();
                foreach (var item in input.FileList)
                {
                    fileList.Add(new AbpFileListInput()
                    {
                        Id = item.Id, Sort = item.Sort
                    });
                }
                await _abpFileRelationAppService.CreateAsync(new CreateFileRelationsInput()
                {
                    BusinessId   = id.ToString(),
                    BusinessType = (int)AbpFileBusinessType.报销,
                    Files        = fileList
                });
            }
            return(new InitWorkFlowOutput()
            {
                InStanceId = newmodel.Id.ToString()
            });
        }
Example #3
0
        public async Task Update(UpdateCWGLReimbursementInput input)
        {
            if (input.Id != Guid.Empty)
            {
                var dbmodel = await _repository.FirstOrDefaultAsync(x => x.Id == input.Id);

                if (dbmodel == null)
                {
                    throw new UserFriendlyException((int)ErrorCode.DataAccessErr, "该数据不存在。");
                }
                var logModel = new CWGLReimbursement();
                if (input.IsUpdateForChange)
                {
                    logModel = dbmodel.DeepClone <CWGLReimbursement>();
                }
                dbmodel.Money            = input.Money;
                dbmodel.Mode             = input.Mode;
                dbmodel.BankName         = input.BankName;
                dbmodel.CardNumber       = input.CardNumber;
                dbmodel.BankOpenName     = input.BankOpenName;
                dbmodel.Note             = input.Note;
                dbmodel.Nummber          = input.Nummber;
                dbmodel.BorrowMoneyId    = input.BorrowMoneyId;
                input.FACData.BusinessId = input.Id.ToString();
                await _repository.UpdateAsync(dbmodel);

                var fileList = new List <AbpFileListInput>();
                if (input.FileList != null)
                {
                    foreach (var item in input.FileList)
                    {
                        fileList.Add(new AbpFileListInput()
                        {
                            Id = item.Id, Sort = item.Sort
                        });
                    }
                }
                await _abpFileRelationAppService.UpdateAsync(new CreateFileRelationsInput()
                {
                    BusinessId   = input.Id.ToString(),
                    BusinessType = (int)AbpFileBusinessType.报销,
                    Files        = fileList
                });

                var groupId = Guid.NewGuid();
                input.FACData.GroupId = groupId;
                if (input.IsUpdateForChange)
                {
                    var flowModel = _workFlowCacheManager.GetWorkFlowModelFromCache(input.FlowId);
                    if (flowModel == null)
                    {
                        throw new UserFriendlyException((int)ErrorCode.DataAccessErr, "流程不存在");
                    }
                    var logs = GetChangeModel(logModel).GetColumnAllLogs(GetChangeModel(dbmodel));
                    await _projectAuditManager.InsertAsync(logs, input.Id.ToString(), flowModel.TitleField.Table, groupId);
                }
            }
            else
            {
                throw new UserFriendlyException((int)ErrorCode.DataAccessErr, "该数据不存在。");
            }
        }