private void printBtn_Click(object sender, EventArgs e) { SaveIssuedMedicine(); Dictionary <string, string> values = new Dictionary <string, string>(); DdtIssuedMedicineList medList = service.GetDdtIssuedMedicineListService().GetById(issuedMedId); DdtHospital hospitalSession = service.GetDdtHospitalService().GetById(hospitalitySession.ObjectId); DdvDoctor doc = null; DdvDoctor nurse = null; DdvDoctor director = null; DdvDoctor pharma = null; DdvPatient patient = null; if (medList != null) { doc = service.GetDdvDoctorService().GetById(medList.Doctor); nurse = service.GetDdvDoctorService().GetById(medList.Nurse); director = service.GetDdvDoctorService().GetById(medList.Director); pharma = service.GetDdvDoctorService().GetById(medList.Pharmacologist); patient = service.GetDdvPatientService().GetById(medList.Patient); } values.Add(@"{doctor.who.short}", doc?.ShortName); values.Add(@"{patient.diagnosis}", diagnosisTxt.Text); values.Add(@"{patient.age}", patient != null? DateTime.Now.Year - patient.Birthdate.Year + "": ""); values.Add(@"{admission.date}", hospitalSession.AdmissionDate.ToShortDateString()); values.Add(@"{patient.historycard}", patient?.MedCode); values.Add(@"{patient.fullname}", patient?.FullName); values.Add(@"{kag}", kagBtn.Checked ? shortlyOperationTxt.Text : ""); values.Add(@"{nurse}", nurse?.ShortName); values.Add(@"{doctor.pharma}", pharma?.ShortName); values.Add(@"{doctor.director}", director?.ShortName); values.Add(@"{room}", hospitalitySession.RoomCell); values.Add(@"{cell}", ""); values.Add(@"{diet}", "НКД"); values.Add(@"{date}", DateTime.Now.ToShortDateString()); //todo переписать,когда будет время. Сделать добавление в таблицу строчек автоматом for (int i = 0; i < 19; i++) { string value = ""; if (i < medicineList.Count) { DdtCure cure = service.GetDdtCureService().GetById(medicineList[i].Cure); value = cure.Name; } values.Add(@"{issued_medicine_" + i + "}", value); } string templatePath = Directory.GetCurrentDirectory() + "\\Templates\\issued_medicine_template.doc"; TemplatesUtils.FillTemplateAndShow(templatePath, values, TemplatesUtils.getTempFileName("Назначения", patient.FullName)); }
private void InitIssuedCure() { DdtIssuedMedicineList medList = service.GetDdtIssuedMedicineListService().GetById(issuedMedId); InitDocBoxValue(clinicalPharmacologistBox, medList?.Pharmacologist); InitDocBoxValue(nurseBox, medList?.Nurse); InitDocBoxValue(cardioReanimBox, medList == null ? hospitalitySession.DutyDoctor : medList.Doctor); InitDocBoxValue(directorBox, medList?.Director); templateName = medList?.TemplateName; markTemplateBtn(templateName); InitIssuedMedList(medList); }
private void InitIssuedMedicine() { DdtIssuedMedicineList medList = service.GetDdtIssuedMedicineListService().GetListByParentId(anamnesis?.ObjectId); if (medList != null) { IList <DdtIssuedMedicine> list = DbDataService.GetInstance().GetDdtIssuedMedicineService().GetListByMedicineListId(medList.ObjectId); foreach (DdtIssuedMedicine med in list) { DdtCure cure = DbDataService.GetInstance().GetDdtCureService().GetById(med.Cure); AddIssuedMedicine(med, cure); } templateName = medList.TemplateName; } }
private void SaveIssuedMedicine(IDbDataService service) { DdtIssuedMedicineList medList = service.GetDdtIssuedMedicineListService().GetListByParentId(anamnesis.ObjectId); if (medList == null) { medList = new DdtIssuedMedicineList(); medList.Doctor = hospitalSession.DutyDoctor; medList.HospitalitySession = hospitalSession.ObjectId; medList.Patient = hospitalSession.Patient; medList.ParentType = "ddt_anamnesis"; medList.ParentId = anamnesis.ObjectId; medList.IssuingDate = DateTime.Now; } medList.TemplateName = templateName; service.GetDdtIssuedMedicineListService().Save(medList); IList <DdtIssuedMedicine> list = service.GetDdtIssuedMedicineService().GetListByMedicineListId(medList.ObjectId); //Добавляем текущий список foreach (DdtIssuedMedicine med in medicineList) { if (med.Cure != null) { med.MedList = medList.ObjectId; service.GetDdtIssuedMedicineService().Save(med); } } //Удаляем то, что было в списке, а сейчас нет foreach (DdtIssuedMedicine old in list) { bool found = false; foreach (DdtIssuedMedicine med in medicineList) { if (old.ObjectId == med.ObjectId) { found = true; break; } } if (!found) { service.GetDdtIssuedMedicineService().Delete(old.ObjectId); } } }
private void copyFirstMedicineBtn_Click(object sender, EventArgs e) { DdtIssuedMedicineList medList = service.GetDdtIssuedMedicineListService().GetListByHospitalIdAndParentType(DdtAnamnesis.NAME, hospitalitySession.ObjectId); if (medList != null) { IList <DdtCure> cures = service.GetDdtCureService().GetListByMedicineListId(medList.ObjectId); foreach (DdtCure cure in cures) { DdtIssuedMedicine med = new DdtIssuedMedicine { Cure = cure.ObjectId }; AddIssuedMedicine(med, cure); } } }
public DdtIssuedMedicineList GetListByParentId(string id) { if (id == null) { return(null); } using (dynamic connection = connectionFactory.GetConnection()) { String sql = String.Format("SELECT r_object_id, dss_has_kag, dsid_parent_id, dsid_pharmacologist, dss_diagnosis, r_creation_date, " + "dsid_director, dsid_doctor, dsid_patient, dsid_hospitality_session, dsid_nurse, r_modify_date, dss_parent_type, dss_template_name, " + "dsdt_issuing_date, dsb_skip_print FROM ddt_issued_medicine_list WHERE dsid_parent_id='{0}'", id); Logger.Debug(CultureInfo.CurrentCulture, "SQL: {0}", sql); Npgsql.NpgsqlCommand command = new Npgsql.NpgsqlCommand(sql, connection); using (DbDataReader reader = command.ExecuteReader()) { if (reader.Read()) { DdtIssuedMedicineList obj = new DdtIssuedMedicineList(); obj.ObjectId = reader.IsDBNull(0) ? null : reader.GetString(0); obj.HasKag = reader.IsDBNull(1) ? null : reader.GetString(1); obj.ParentId = reader.IsDBNull(2) ? null : reader.GetString(2); obj.Pharmacologist = reader.IsDBNull(3) ? null : reader.GetString(3); obj.Diagnosis = reader.IsDBNull(4) ? null : reader.GetString(4); obj.CreationDate = reader.IsDBNull(5) ? DateTime.MinValue : reader.GetDateTime(5); obj.Director = reader.IsDBNull(6) ? null : reader.GetString(6); obj.Doctor = reader.IsDBNull(7) ? null : reader.GetString(7); obj.Patient = reader.IsDBNull(8) ? null : reader.GetString(8); obj.HospitalitySession = reader.IsDBNull(9) ? null : reader.GetString(9); obj.Nurse = reader.IsDBNull(10) ? null : reader.GetString(10); obj.ModifyDate = reader.IsDBNull(11) ? DateTime.MinValue : reader.GetDateTime(11); obj.ParentType = reader.IsDBNull(12) ? null : reader.GetString(12); obj.TemplateName = reader.IsDBNull(13) ? null : reader.GetString(13); obj.IssuingDate = reader.IsDBNull(14) ? DateTime.MinValue : reader.GetDateTime(14); obj.SkipPrint = reader.GetBoolean(15); return(obj); } } } return(null); }
private void InitIssuedMedList(DdtIssuedMedicineList medList) { if (medList != null) { diagnosisTxt.Text = medList.Diagnosis; shortlyOperationTxt.Text = medList.HasKag; IList <DdtIssuedMedicine> list = DbDataService.GetInstance().GetDdtIssuedMedicineService().GetListByMedicineListId(medList.ObjectId); foreach (DdtIssuedMedicine med in list) { DdtCure cure = DbDataService.GetInstance().GetDdtCureService().GetById(med.Cure); AddIssuedMedicine(med, cure); } } else { copyFirstMedicineBtn_Click(null, null); } }
private void lastIssuedMedList_Click(object sender, EventArgs e) { IEnumerator it = hospitalPatientsTbl.SelectedRows.GetEnumerator(); if (it.MoveNext()) { DataGridViewRow row = (DataGridViewRow)it.Current; DataGridViewCell cell = row.Cells[0]; DdtIssuedMedicineList issuedMedicineList = service.GetDdtIssuedMedicineListService().GetLastMedList(cell.Value.ToString()); if (issuedMedicineList == null || string.IsNullOrEmpty(issuedMedicineList.ObjectId)) { MessageBox.Show("Для пациента еще не создано ни одного листа назначений", "Предупреждение", MessageBoxButtons.OK); } else { DdtHospital hospitalSession = service.GetDdtHospitalService().GetById(cell.Value.ToString()); IssuedMedicine form = new IssuedMedicine(this.service, hospitalSession, issuedMedicineList.ObjectId); form.ShowDialog(); } } }
public string processTemplate(IDbDataService service, string hospitalitySession, string objectId, Dictionary <string, string> aditionalValues) { Dictionary <string, string> values = null; if (aditionalValues != null) { values = new Dictionary <string, string>(aditionalValues); } else { values = new Dictionary <string, string>(); } DdtAnamnesis anamnesis = service.GetDdtAnamnesisService().GetById(objectId); values.Add("{allergy}", anamnesis.AnamnesisAllergy); values.Add("{complaints}", anamnesis.Complaints); values.Add("{anamnesis}", anamnesis.AnamnesisMorbi); values.Add("{chronicle}", anamnesis.AccompanyingIllnesses); values.Add("{epid}", anamnesis.AnamnesisEpid); values.Add("{alco}", anamnesis.DrugsIntoxication); values.Add("{st_presens}", anamnesis.StPresens); values.Add("{respiratory_system}", anamnesis.RespiratorySystem); values.Add("{cardiovascular}", anamnesis.CardiovascularSystem); values.Add("{digestive_system}", anamnesis.DigestiveSystem); values.Add("{urinary_system}", anamnesis.UrinarySystem); values.Add("{nervous_system}", anamnesis.NervousSystem); values.Add("{past_surgeries}", anamnesis.PastSurgeries); values.Add("{operation_cause}", anamnesis.OperationCause); values.Add("{diagnosis}", anamnesis.Diagnosis); values.Add("{justification}", anamnesis.DiagnosisJustification); DdvDoctor doc = service.GetDdvDoctorService().GetById(anamnesis.Doctor); values.Add("{cardio}", doc.ShortName); PutAnalysisData(values, service, anamnesis.ObjectId); StringBuilder builder = new StringBuilder(); DdtIssuedMedicineList medList = service.GetDdtIssuedMedicineListService().GetListByParentId(anamnesis?.ObjectId); if (medList != null) { IList <DdtIssuedMedicine> med = service.GetDdtIssuedMedicineService().GetListByMedicineListId(medList.ObjectId); for (int i = 0; i < med.Count; i++) { DdtCure cure = service.GetDdtCureService().GetById(med[i].Cure); if (cure != null) { builder.Append(cure.Name).Append('\n'); } } } values.Add("{issued_medicine}", builder.ToString()); StringBuilder actionsBuilder = new StringBuilder(); IList <DdtIssuedAction> actions = service.GetDdtIssuedActionService().GetListByParentId(objectId); for (int i = 0; i < actions.Count; i++) { actionsBuilder.Append(i + 1).Append(". "); actionsBuilder.Append(actions[i].Action).Append('\n'); } values.Add("{issued_actions}", actionsBuilder.ToString()); DdtHospital hospital = service.GetDdtHospitalService().GetById(hospitalitySession); values.Add("{date}", hospital.AdmissionDate.ToShortDateString() + " " + hospital.AdmissionDate.ToShortTimeString()); DdvPatient patient = service.GetDdvPatientService().GetById(hospital.Patient); string resultName = TemplatesUtils.getTempFileName("Первичный осмотр", patient.FullName); return(TemplatesUtils.FillTemplate(Directory.GetCurrentDirectory() + "\\Templates\\" + TEMPLATE_FILE_NAME, values, resultName)); }
private void SaveIssuedMedicine() { DdtIssuedMedicineList medList = service.GetDdtIssuedMedicineListService().GetById(issuedMedId); if (medList == null) { medList = new DdtIssuedMedicineList(); medList.HospitalitySession = hospitalitySession.ObjectId; medList.Patient = hospitalitySession.Patient; } DdvDoctor dir = (DdvDoctor)directorBox.SelectedItem; medList.Director = dir?.ObjectId; DdvDoctor pharm = (DdvDoctor)clinicalPharmacologistBox.SelectedItem; medList.Pharmacologist = pharm?.ObjectId; DdvDoctor nurse = (DdvDoctor)nurseBox.SelectedItem; medList.Nurse = nurse?.ObjectId; DdvDoctor doc = (DdvDoctor)cardioReanimBox.SelectedItem; medList.Doctor = doc == null ? hospitalitySession.DutyDoctor : doc.ObjectId; medList.Diagnosis = diagnosisTxt.Text; medList.TemplateName = templateName; medList.HasKag = shortlyOperationTxt.Text; medList.IssuingDate = createDateTxt.Value; service.GetDdtIssuedMedicineListService().Save(medList); IList <DdtIssuedMedicine> list = service.GetDdtIssuedMedicineService().GetListByMedicineListId(medList.ObjectId); //Добавляем текущий список foreach (DdtIssuedMedicine med in medicineList) { if (med.Cure != null) { med.MedList = medList.ObjectId; service.GetDdtIssuedMedicineService().Save(med); } } //Удаляем то, что было в списке, а сейчас нет foreach (DdtIssuedMedicine old in list) { bool found = false; foreach (DdtIssuedMedicine med in medicineList) { if (old.ObjectId == med.ObjectId) { found = true; break; } } if (!found) { service.GetDdtIssuedMedicineService().Delete(old.ObjectId); } } }
public string Save(DdtIssuedMedicineList obj) { using (dynamic connection = connectionFactory.GetConnection()) { if (GetById(obj.ObjectId) != null) { string sql = "UPDATE ddt_issued_medicine_list SET " + "dsid_doctor = @Doctor, " + "dsid_patient = @Patient, " + "dsid_hospitality_session = @HospitalitySession, " + "dsdt_issuing_date = @IssuingDate, " + "dsid_parent_id = @ParentId, " + "dss_parent_type = @ParentType, " + "dss_diagnosis = @Diagnosis, " + "dss_has_kag = @HasKag, " + "dsb_skip_print = @SkipPrint, " + "dsid_pharmacologist = @Pharmacologist, " + "dsid_nurse = @Nurse, " + "dsid_director = @Director, " + "dss_template_name = @TemplateName " + "WHERE r_object_id = @ObjectId"; Logger.Debug(CultureInfo.CurrentCulture, "SQL: {0}", sql); using (Npgsql.NpgsqlCommand cmd = new Npgsql.NpgsqlCommand(sql, connection)) { cmd.CommandType = CommandType.Text; cmd.Parameters.AddWithValue("@Doctor", obj.Doctor); cmd.Parameters.AddWithValue("@Patient", obj.Patient); cmd.Parameters.AddWithValue("@HospitalitySession", obj.HospitalitySession); cmd.Parameters.AddWithValue("@IssuingDate", obj.IssuingDate); cmd.Parameters.AddWithValue("@ParentId", obj.ParentId); cmd.Parameters.AddWithValue("@ParentType", obj.ParentType == null ? "" : obj.ParentType); cmd.Parameters.AddWithValue("@Diagnosis", obj.Diagnosis == null ? "" : obj.Diagnosis); cmd.Parameters.AddWithValue("@HasKag", obj.HasKag == null ? "" : obj.HasKag); cmd.Parameters.AddWithValue("@SkipPrint", obj.SkipPrint); cmd.Parameters.AddWithValue("@Pharmacologist", obj.Pharmacologist); cmd.Parameters.AddWithValue("@Nurse", obj.Nurse); cmd.Parameters.AddWithValue("@Director", obj.Director); cmd.Parameters.AddWithValue("@TemplateName", obj.TemplateName == null ? "" : obj.TemplateName); cmd.Parameters.AddWithValue("@ObjectId", obj.ObjectId); cmd.ExecuteNonQuery(); } return(obj.ObjectId); } else { string sql = "INSERT INTO ddt_issued_medicine_list(dsid_doctor,dsid_patient,dsid_hospitality_session,dsdt_issuing_date,dsid_parent_id," + "dss_parent_type, dss_diagnosis,dss_has_kag,dsb_skip_print,dsid_pharmacologist,dsid_nurse,dsid_director,dss_template_name) " + "VALUES(@Doctor,@Patient,@HospitalitySession,@IssuingDate,@ParentId,@ParentType," + "@Diagnosis,@HasKag,@SkipPrint,@Pharmacologist,@Nurse,@Director,@TemplateName) " + "RETURNING r_object_id"; Logger.Debug(CultureInfo.CurrentCulture, "SQL: {0}", sql); using (Npgsql.NpgsqlCommand cmd = new Npgsql.NpgsqlCommand(sql, connection)) { cmd.CommandType = CommandType.Text; cmd.Parameters.AddWithValue("@Doctor", obj.Doctor == null ? "" : obj.Doctor); cmd.Parameters.AddWithValue("@Patient", obj.Patient); cmd.Parameters.AddWithValue("@HospitalitySession", obj.HospitalitySession); cmd.Parameters.AddWithValue("@IssuingDate", obj.IssuingDate); cmd.Parameters.AddWithValue("@ParentId", obj.ParentId == null ? "" : obj.ParentId); cmd.Parameters.AddWithValue("@ParentType", obj.ParentType == null ? "" : obj.ParentType); cmd.Parameters.AddWithValue("@Diagnosis", obj.Diagnosis == null ? "" : obj.Diagnosis); cmd.Parameters.AddWithValue("@HasKag", obj.HasKag == null ? "" : obj.HasKag); cmd.Parameters.AddWithValue("@SkipPrint", obj.SkipPrint); cmd.Parameters.AddWithValue("@Pharmacologist", obj.Pharmacologist == null ? "" : obj.Pharmacologist); cmd.Parameters.AddWithValue("@Nurse", obj.Nurse == null ? "" : obj.Nurse); cmd.Parameters.AddWithValue("@Director", obj.Director == null ? "" : obj.Director); cmd.Parameters.AddWithValue("@TemplateName", obj.TemplateName == null ? "" : obj.TemplateName); obj.ObjectId = (string)cmd.ExecuteScalar(); return(obj.ObjectId); } } } }