예제 #1
0
        public Task <int> SubmitForm <TDto>(OrdersEntity entity, TDto dto) where TDto : class
        {
            var userId = _usersService.GetCurrentUserId();

            if (!string.IsNullOrEmpty(entity.F_Id))
            {
                entity.Modify(entity.F_Id);
                entity.F_LastModifyUserId = userId;
                return(_service.UpdateAsync(entity, dto));
            }
            else
            {
                entity.Create();
                entity.F_CreatorUserId = userId;
                return(_service.InsertAsync(entity));
            }
        }
예제 #2
0
        public async Task <IActionResult> SubmitDrugOrder([FromBody] SubmitDrugOrderInput input)
        {
            var patient = await _patientApp.GetForm(input.Pid);

            var drug = await _drugsApp.GetForm(input.Items.First().OrderCode);

            var user = await _usersService.GetCurrentUserAsync();

            var list        = new List <OrdersEntity>();
            var firstEntity = new OrdersEntity
            {
                F_Pid                 = patient.F_Id,
                F_SubIndex            = 0,
                F_DialysisNo          = patient.F_DialysisNo,
                F_RecordNo            = patient.F_RecordNo,
                F_OrderType           = "药疗",
                F_OrderStartTime      = input.OrderStartTime?.ToDate() ?? DateTime.Now,
                F_OrderCode           = drug.F_Id,
                F_OrderText           = drug.F_DrugName,
                F_OrderSpec           = drug.F_DrugSpec,
                F_OrderUnitAmount     = drug.F_DrugMiniAmount.ToFloat(2).ToString(CultureInfo.InvariantCulture),
                F_OrderUnitSpec       = drug.F_DrugMiniSpec,
                F_OrderAmount         = input.Items.First().OrderAmount,
                F_OrderFrequency      = input.OrderFrequency,
                F_OrderAdministration = input.OrderAdministration,
                F_IsTemporary         = input.IsTemporary,
                F_Doctor              = user.F_RealName,
                F_DoctorOrderTime     = DateTime.Now,
                F_OrderStatus         = 0,
                F_EnabledMark         = true
            };

            firstEntity.Create();
            list.Add(firstEntity);
            for (int i = 1; i < input.Items.Count; i++)
            {
                drug = await _drugsApp.GetForm(input.Items[i].OrderCode);

                var entity = new OrdersEntity
                {
                    F_Pid                 = patient.F_Id,
                    F_ParentId            = firstEntity.F_Id,
                    F_SubIndex            = i,
                    F_DialysisNo          = patient.F_DialysisNo,
                    F_RecordNo            = patient.F_RecordNo,
                    F_OrderType           = "药疗",
                    F_OrderStartTime      = input.OrderStartTime?.ToDate() ?? DateTime.Now,
                    F_OrderCode           = drug.F_Id,
                    F_OrderText           = drug.F_DrugName,
                    F_OrderSpec           = drug.F_DrugSpec,
                    F_OrderUnitAmount     = drug.F_DrugMiniAmount.ToFloat(2).ToString(),
                    F_OrderUnitSpec       = drug.F_DrugMiniSpec,
                    F_OrderAmount         = input.Items[i].OrderAmount,
                    F_OrderFrequency      = input.OrderFrequency,
                    F_OrderAdministration = input.OrderAdministration,
                    F_IsTemporary         = input.IsTemporary,
                    F_Doctor              = user.F_RealName,
                    F_DoctorOrderTime     = firstEntity.F_DoctorOrderTime,
                    F_OrderStatus         = 0,
                    F_EnabledMark         = true
                };
                entity.Create();
                list.Add(entity);
            }
            await _ordersApp.InsertBatch(list);

            return(Success("操作成功。"));
        }