コード例 #1
0
        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);
        }
コード例 #2
0
        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));
        }