public async Task <ResultEntity> AddReceiveLetter(ReceiveLetterEditDto receiveLetter) { var result = new ResultEntity(); var sendDepartmentCode = TextHelper.RepairZeroRight(await _departmentManager.GetDepartmentCode(receiveLetter.SendDepartmentId), 11); var receiveDepartmentCode = TextHelper.RepairZeroRight(await _departmentManager.GetDepartmentCode(receiveLetter.ReceiveDepartmentId), 11); var serialNumber = await _serialNumberManager.GetSerialNumber(receiveLetter.SendDepartmentId, EnumSerialNumberType.内部交换); var barcodeNo = _barcodeManager.MakeBarcodeLength33(sendDepartmentCode, receiveDepartmentCode, (EnumSecretLevel)receiveLetter.SecretLevel, (EnumUrgentLevel)receiveLetter.UrgencyLevel, serialNumber); if (barcodeNo == "") { result.Message = "条码生成失败"; return(result); } receiveLetter.BarcodeNo = barcodeNo; receiveLetter.LetterNo = barcodeNo.Substring(15, 7); var letter = Mapper.Map <Letter>(receiveLetter); await _letterRepository.AddAsync(letter); var barcode = new Barcode { BarcodeNo = barcodeNo, Entity = EnumBarcodeEntity.信件, Souce = EnumBarcodeSouce.本系统, Status = EnumBarcodeStatus.已就绪, SubStatus = EnumBarcodeSubStatus.正常, CreateTime = DateTime.Now, CreateBy = receiveLetter.CreateBy }; barcode.BarcodeType = barcode.AnalysisBarcodeType(barcodeNo); await _barcodeRepository.AddAsync(barcode); var baroceLog = new BarcodeLog { BarcodeNumber = barcodeNo, BarcodeStatus = EnumBarcodeStatus.已就绪, DepartmentId = letter.SendDepartmentId, OperationTime = DateTime.Now, OperatorId = receiveLetter.CreateBy, }; await _barcodeLogRepository.AddAsync(baroceLog); result.Success = true; await _unitOfWork.CommitAsync(); result.Data = letter.Id; return(result); }
public async Task <IActionResult> Receive(ReceiveLetterEditDto receiveLetter) { var result = new ResultEntity(); if (ModelState.IsValid) { receiveLetter.SetCreateOrUpdateInfo(CurrentUser.UserId); receiveLetter.LetterType = EnumLetterType.收信; receiveLetter.SendDepartmentId = CurrentUser.DepartmentId; result = await _letterAppService.AddReceiveLetter(receiveLetter); } else { result.Message = ModelState.Values .FirstOrDefault(a => a.ValidationState == ModelValidationState.Invalid)?.Errors.FirstOrDefault() ?.ErrorMessage; } return(Json(result)); }