コード例 #1
0
 public void CreateDoctorPriceDetial(DoctorPriceDetial doctorPriceDetial)
 {
     if (FindDoctorPriceById(doctorPriceDetial.Id) == null)
     {
         _doctorPriceDetialRepository.Create(doctorPriceDetial);
         _doctorPriceDetialRepository.Commit();
     }
 }
コード例 #2
0
        private void dgvRadiationDoctorPriceDetial_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                DataGridView dataGridView = sender as DataGridView;
                if (dataGridView == null)
                {
                    return;
                }

                int rowIndex = e.RowIndex;

                DataGridViewRow dataGridViewRow = dataGridView.Rows[rowIndex];

                DoctorPriceDetial doctorPriceDetial = new DoctorPriceDetial();

                Guid guid;
                bool isSuccess = Guid.TryParse(dataGridViewRow.Cells[0].Value.ToString(), out guid);

                doctorPriceDetial.Id               = guid;
                doctorPriceDetial.No               = int.Parse(dataGridViewRow.Cells[1].Value.ToString());
                doctorPriceDetial.DoctorName       = dataGridViewRow.Cells[2].Value.ToString();
                doctorPriceDetial.CTDiagnosisPrice = dataGridViewRow.Cells[3].Value.ToString();
                doctorPriceDetial.MRDiagnosisPrice = dataGridViewRow.Cells[4].Value.ToString();
                doctorPriceDetial.DRDiagnosisPrice = dataGridViewRow.Cells[5].Value.ToString();
                doctorPriceDetial.CTAuditPrice     = dataGridViewRow.Cells[6].Value.ToString();
                doctorPriceDetial.MRAuditPrice     = dataGridViewRow.Cells[7].Value.ToString();
                doctorPriceDetial.Note             = dataGridViewRow.Cells[8].Value.ToString();

                if (_importFileService.FindDoctorPriceById(doctorPriceDetial.Id) != null)
                {
                    _importFileService.UpdteDoctorPriceDetial(doctorPriceDetial);
                }

                if (_importFileService.FindDoctorPriceById(doctorPriceDetial.Id) == null)
                {
                    _importFileService.CreateDoctorPriceDetial(doctorPriceDetial);
                }

                var findResult = _importFileService.FindDoctorPriceById(doctorPriceDetial.Id);
                if (findResult != null)
                {
                    if (dataGridViewRow.Cells[0].Value == null)
                    {
                        dataGridViewRow.Cells[0].Value = findResult.Id;
                    }
                    if (dataGridViewRow.Cells[0].Value.ToString() != findResult.Id.ToString())
                    {
                        dataGridViewRow.Cells[0].Value = findResult.Id;
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Logger.Info($"触发函数dgvRadiationDoctorPriceDetial_CellValueChanged失败!" + ex.Message);
            }
        }
コード例 #3
0
        public void InsertDoctorPriceDataIntoDatabase(List <DoctorPriceDetial> list)
        {
            for (int i = 0; i < list.Count; i++)
            {
                DoctorPriceDetial doctorPriceDetial = list[i];

                _doctorPriceDetialRepository.Create(doctorPriceDetial);

                if (i % 100 == 0)
                {
                    _doctorPriceDetialRepository.Commit();
                }
            }

            _doctorPriceDetialRepository.Commit();
        }
コード例 #4
0
        public void UpdteDoctorPriceDetial(DoctorPriceDetial doctorPriceDetial)
        {
            var result = FindDoctorPriceById(doctorPriceDetial.Id);

            if (result != null)
            {
                result.No = doctorPriceDetial.No;
                result.CTDiagnosisPrice = doctorPriceDetial.CTDiagnosisPrice;
                result.CTAuditPrice     = doctorPriceDetial.CTAuditPrice;
                result.MRDiagnosisPrice = doctorPriceDetial.MRDiagnosisPrice;
                result.MRAuditPrice     = doctorPriceDetial.MRAuditPrice;
                result.DRDiagnosisPrice = doctorPriceDetial.DRDiagnosisPrice;
                result.DoctorName       = doctorPriceDetial.DoctorName;
                result.Note             = doctorPriceDetial.Note;

                _doctorPriceDetialRepository.Update(result);
                _doctorPriceDetialRepository.Commit();
            }
        }
コード例 #5
0
        public List <DoctorPriceDetial> GetDoctorPriceDetialList(DataTable table)
        {
            var doctorPriceDetialList = new List <DoctorPriceDetial>();

            for (int i = 0; i < table.Rows.Count; i++)
            {
                DataRow row = table.Rows[i];

                try
                {
                    if (string.IsNullOrEmpty(ConvertDataRow(row["序号"])))
                    {
                        /// table.Rows.Remove(row);
                    }

                    DoctorPriceDetial doctorPriceDetial = new DoctorPriceDetial
                    {
                        No               = int.Parse(ConvertDataRow(row["序号"])),
                        DoctorName       = ConvertDataRow(row["医生"]),
                        CTDiagnosisPrice = ConvertDataRow(row["CT诊断(元/张)"]),
                        CTAuditPrice     = ConvertDataRow(row["CT核片(元/张)"]),
                        MRDiagnosisPrice = ConvertDataRow(row["MRI诊断(元/张)"]),
                        MRAuditPrice     = ConvertDataRow(row["MRI核片(元/张)"]),
                        DRDiagnosisPrice = ConvertDataRow(row["DR诊断(元/张)"]),
                        //DRAuditPrice = ConvertDataRow(row["DR核片(元/张)"]),
                        Note = ConvertDataRow(row["备注"])
                    };

                    doctorPriceDetialList.Add(doctorPriceDetial);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    Console.WriteLine(ex.StackTrace);
                    break;
                }
            }

            return(doctorPriceDetialList);
        }
コード例 #6
0
        private void btnRadiationDoctorReport_Click(object sender, EventArgs e)
        {
            DateTime startTime = dtpRadiationDoctorStartTime.Value.Date;
            DateTime endTime   = dtpRadiationDoctorEndTime.Value.Date.AddDays(1);

            Dictionary <string, List <DoctorStatistics> > dictionary = _importFileService.GetStoreDoctorDetialDic(startTime, endTime);

            List <DoctorStatistics> doctorStatisticsList = new List <DoctorStatistics>();

            dgvRadiationStoreDoctorPrice.Rows.Clear();
            dgvRadiationDoctorPrice.Rows.Clear();

            foreach (var item in dictionary)
            {
                string storeName = item.Key;

                List <DoctorStatistics> storeDoctorStatisticsList = dictionary[item.Key];
                foreach (var doctorStatistics in storeDoctorStatisticsList)
                {
                    StoreStatistics storeStatistics = new StoreStatistics();

                    storeStatistics.StoreName  = storeName;
                    storeStatistics.DoctorName = doctorStatistics.DoctorName;

                    storeStatistics.CTAuditCount     = doctorStatistics.CTAuditCount;
                    storeStatistics.CTDiagnosisCount = doctorStatistics.CTDiagnosisCount;
                    storeStatistics.CTCount          = doctorStatistics.CTCount;

                    storeStatistics.DRAuditCount     = doctorStatistics.DRAuditCount;
                    storeStatistics.DRDiagnosisCount = doctorStatistics.DRDiagnosisCount;
                    storeStatistics.DRCount          = doctorStatistics.DRCount;

                    storeStatistics.MRAuditCount     = doctorStatistics.MRAuditCount;
                    storeStatistics.MRDiagnosisCount = doctorStatistics.MRDiagnosisCount;
                    storeStatistics.MRCount          = doctorStatistics.MRCount;

                    string priceStr = "没有找到此医生对应的放射价格.";

                    DoctorPriceDetial doctorPriceDetial = _importFileService.GetDoctorPriceDetial(storeStatistics.DoctorName);
                    if (doctorPriceDetial != null)
                    {
                        string CTDiagnosisPriceStr = doctorPriceDetial.CTDiagnosisPrice;
                        if (string.IsNullOrEmpty(CTDiagnosisPriceStr))
                        {
                            CTDiagnosisPriceStr = "0";
                        }

                        string CTAuditPriceStr = doctorPriceDetial.CTAuditPrice;
                        if (string.IsNullOrEmpty(CTAuditPriceStr))
                        {
                            CTAuditPriceStr = "0";
                        }

                        string MRDiagnosisPriceStr = doctorPriceDetial.MRDiagnosisPrice;
                        if (string.IsNullOrEmpty(MRDiagnosisPriceStr))
                        {
                            MRDiagnosisPriceStr = "0";
                        }

                        string MRAuditPriceStr = doctorPriceDetial.MRAuditPrice;
                        if (string.IsNullOrEmpty(MRAuditPriceStr))
                        {
                            MRAuditPriceStr = "0";
                        }

                        string DRDiagnosisPriceStr = doctorPriceDetial.DRDiagnosisPrice;
                        if (string.IsNullOrEmpty(DRDiagnosisPriceStr))
                        {
                            DRDiagnosisPriceStr = "0";
                        }


                        decimal CTDiagnosisPrice = storeStatistics.CTDiagnosisCount * Convert.ToDecimal(CTDiagnosisPriceStr);
                        decimal CTAuditPrice     = storeStatistics.CTAuditCount * Convert.ToDecimal(CTAuditPriceStr);

                        decimal MRDiagnosisPrice = storeStatistics.MRDiagnosisCount * Convert.ToDecimal(MRDiagnosisPriceStr);
                        decimal MRAuditPrice     = storeStatistics.MRAuditCount * Convert.ToDecimal(MRAuditPriceStr);

                        decimal DRDiagnosisPrice = storeStatistics.DRDiagnosisCount * Convert.ToDecimal(DRDiagnosisPriceStr);
                        //decimal DRAuditPrice = storeStatistics.DRAuditCount * Convert.ToDecimal(doctorPriceDetial.DR); //TODO::这个暂时没有

                        doctorStatistics.Price = CTDiagnosisPrice + CTAuditPrice + MRDiagnosisPrice + MRAuditPrice + DRDiagnosisPrice;
                        storeStatistics.Price  = doctorStatistics.Price;

                        doctorStatistics.IsContainPrice = true;
                        storeStatistics.IsContainPrice  = true;

                        priceStr = storeStatistics.Price.ToString();
                    }

                    var findDoctorStatistics = doctorStatisticsList.Find(d => d.DoctorName.Equals(doctorStatistics.DoctorName));
                    if (findDoctorStatistics != null) //找到了此医生
                    {
                        findDoctorStatistics.CTDiagnosisCount += doctorStatistics.CTDiagnosisCount;
                        findDoctorStatistics.CTAuditCount     += doctorStatistics.CTAuditCount;
                        findDoctorStatistics.DRDiagnosisCount += doctorStatistics.DRDiagnosisCount;
                        findDoctorStatistics.DRAuditCount     += doctorStatistics.DRAuditCount;
                        findDoctorStatistics.MRDiagnosisCount += doctorStatistics.MRDiagnosisCount;
                        findDoctorStatistics.MRAuditCount     += doctorStatistics.MRAuditCount;

                        findDoctorStatistics.IsContainPrice = doctorStatistics.IsContainPrice;
                        findDoctorStatistics.Price         += doctorStatistics.Price;
                    }
                    else //没有找到此医生
                    {
                        DoctorStatistics currentDoctorStatistics = new DoctorStatistics();

                        currentDoctorStatistics.DoctorName       = doctorStatistics.DoctorName;
                        currentDoctorStatistics.CTDiagnosisCount = doctorStatistics.CTDiagnosisCount;
                        currentDoctorStatistics.CTAuditCount     = doctorStatistics.CTAuditCount;
                        currentDoctorStatistics.DRDiagnosisCount = doctorStatistics.DRDiagnosisCount;
                        currentDoctorStatistics.DRAuditCount     = doctorStatistics.DRAuditCount;
                        currentDoctorStatistics.MRDiagnosisCount = doctorStatistics.MRDiagnosisCount;
                        currentDoctorStatistics.MRAuditCount     = doctorStatistics.MRAuditCount;

                        currentDoctorStatistics.IsContainPrice = doctorStatistics.IsContainPrice;
                        currentDoctorStatistics.Price          = doctorStatistics.Price;

                        doctorStatisticsList.Add(currentDoctorStatistics);
                    }

                    dgvRadiationStoreDoctorPrice.Rows.Add(storeStatistics.StoreName, storeStatistics.DoctorName,
                                                          storeStatistics.CTDiagnosisCount, storeStatistics.CTAuditCount,
                                                          storeStatistics.MRDiagnosisCount, storeStatistics.MRAuditCount,
                                                          storeStatistics.DRDiagnosisCount, priceStr, string.Empty);
                }
            }

            foreach (var item in doctorStatisticsList)
            {
                dgvRadiationDoctorPrice.Rows.Add(item.DoctorName, item.CTDiagnosisCount, item.MRDiagnosisCount, item.CTAuditCount, item.MRAuditCount, item.IsContainPrice ? item.Price.ToString() : "没有找到此医生对应的放射价格.");
            }

            MessageBox.Show("生成报表成功!");
        }
コード例 #7
0
        public DoctorPriceDetial FindDoctorPriceById(Guid guid)
        {
            DoctorPriceDetial doctorPriceDetial = _doctorPriceDetialRepository.FindById(guid);

            return(doctorPriceDetial);
        }