Диплом: Автоматизация документооборота организации ОГБУЗ "Парфеньевская районная больница"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
117
foreach (List<SCHET_SLUCH> items in this.rlist.Values)
{
if (items.Count > 1)
{
items.Sort(new BaseObjectComparer(SCHET_SLUCH.siaDATE_2, false));
SCHET_SLUCH first = items[0];
SCHET_SLUCH last = items[items.Count - 1];
last.DATE_1.Value = first.DATE_1.Value;
for (int i = 0; i < items.Count - 1; i++)
{
SCHET_SLUCH item = items[i];
if (!item.ED_COL.IsNull)
{
if (last.ED_COL.IsNull)
{
last.ED_COL.Value = item.ED_COL.Value;
}
else
{
last.ED_COL.Value += item.ED_COL.Value;
}
}
foreach (SCHET_USL usl in item.SchetUsls)
{
last.SchetUsls.Add(usl);
}
foreach (SCHET_NAPR napr in item.SchetNaprs)
{
last.SchetNaprs.Add(napr);
}
item.SchetUsls.GetRealList().Clear();
item.SchetZap.SchetSluchs.Remove(item);
if (item.SchetZSl != null)
{
item.SchetZSl.SchetSluchs.Remove(item);
118
}
}
}
items.Clear();
}
this.rlist.Clear();
}
private void FillStomatUsl(StringBuilder errBilder, SCHET_SLUCH sluch, DOCTOR_VISIT
dv)
{
foreach (AMBULANCE_SURGICAL_OPERATION aso in dv.DoctorVisitServices)
{
SCHET_USL usl = this.SchetBuilder.FillUsl(sluch, SCHET_USL_44._Entity, dv,
this._builder);
//usl.DET.Value = sluch.DET.Value;
//usl.PODR.Value = dv.Post.Division.CodeMz.Value;
POST post = aso.PerformedServicePost;
if (post.V002Profile != null)
{
usl.PROFIL.Value = post.V002Profile.Id.Value;
}
if (post.V021Speciality != null)
{
usl.PRVS.Value = post.V021Speciality.Id.Value;
}
string snils = post.Worker.Snils.SnilsID.Value.Trim();
if (!String.IsNullOrEmpty(snils))
{
119
usl.CODE_MD.Value = snils;
if (!this.SchetBuilder.doctorsCollection.ContainsKey(snils))
{
this.SchetBuilder.doctorsCollection.Add(snils,
SchetReestrBuilder.GetDokt(usl.Apartment, post, snils));
}
}
//usl.LPU_1.Value = dv.Post.Division.Branch.TFomsCode.Value;
// код услуги
usl.CODE_USL.Value = aso.MedicalService.Code.Value;
// дата
if (!aso.TreatmentStartDate.IsNull)
{
usl.DATE_IN.Value = aso.TreatmentStartDate.Value;
usl.DATE_OUT.Value = usl.DATE_IN.Value;
}
// диагноз
if (!aso.MkbCode.IsEmpty)
{
usl.DS.Value = aso.MkbCode.Value;
}
if (!aso.ToothNumber.IsEmpty)
{
usl.COMENTU.Value = aso.ToothNumber.Value;
}
// кол-во (УЕТ) услуги
if (!aso.Uet.IsNull)
{
if (aso.Ratio.Value > 1)
{
usl.KOL_USL.Value = aso.Uet.Value / aso.Ratio.Value;
for (int i = 1; i < aso.Ratio.Value; i++)
{
120
SCHET_USL usl2 = this.SchetBuilder.FillUsl(sluch, SCHET_USL_44._Entity,
dv, this._builder);
usl2.CODE_USL.Value = usl.CODE_USL.Value;
usl2.KOL_USL.Value = usl.KOL_USL.Value;
if (!usl.DS.IsNull)
{
usl2.DS.Value = usl.DS.Value;
}
if (!usl.COMENTU.IsNull)
{
usl2.COMENTU.Value = usl.COMENTU.Value;
}
}
}
else
{
usl.KOL_USL.Value = aso.Uet.Value;
}
}
else
{
usl.KOL_USL.Value = aso.Ratio.Value;
}
}
}
private void fillOnkUsl(SCHET_ONK_USL schetOnkUsl, ONKO_SERVICE os)
{
if (!os.PR_CONS.IsNull)
{
schetOnkUsl.PR_CONS.Value = os.PR_CONS.Value;
}
if (os.N013OnkLech != null)
{
schetOnkUsl.USL_TIP.Value = os.N013OnkLech.ID_TLech.Value;
121
}
if (os.N014OnkHir != null)
{
schetOnkUsl.HIR_TIP.Value = os.N014OnkHir.ID_THir.Value;
}
if (os.N015OnkLekL != null)
{
schetOnkUsl.LEK_TIP_L.Value = os.N015OnkLekL.ID_TLek_L.Value;
}
if (os.N016OnkLekV != null)
{
schetOnkUsl.LEK_TIP_V.Value = os.N016OnkLekV.ID_TLek_V.Value;
}
if (os.N017OnkLuch != null)
{
schetOnkUsl.LUCH_TIP.Value = os.N017OnkLuch.ID_TLuch.Value;
}
if (os.PPTR.Value)
{
schetOnkUsl.PPTR.Value = 1;
}
foreach (LEK_PR pr in os.LekPrs)
{
SCHET_LEK_PR schetLekPr =
(SCHET_LEK_PR)schetOnkUsl.SchetLekPrs.AddNewChild();
if (pr.N020OnkLekp != null)
{
schetLekPr.REGNUM.Value = pr.N020OnkLekp.ID_LEKP.Value;
}
else if (pr.V011Drug != null)
{
schetLekPr.REGNUM.Value = pr.V011Drug.S_NUM_REG.Value;
}
if (pr.V024DoprKr != null)
122
{
schetLekPr.CODE_SH.Value = pr.V024DoprKr.IDDKK.Value;
}
StringBuilder dates = new StringBuilder();
foreach (LEK_PR_DATE_INJ_LINK plp in pr.LekPrDateInjLinks)
{
dates.AppendFormat("{0:yyyy-MM-dd};", plp.DATE_INJ.Value);
}
schetLekPr.DATE_INJ.Value = dates.ToString();
}
}
public override ILexem GetBillLexem(BaseObject bObj)
{
return new Criterion(new Path(DOCTOR_VISIT.siaVisitID), new
ConstOperand(bObj.PrimaryKeyAsString));
}
#region Usl classes
class DoctorVisitUslBuilder44 : SchetUslBuilder
{
internal DoctorVisitUslBuilder44(ISchetBuilder schetBuilder)
: base(schetBuilder)
{
}
#region ISchetUslBuilder Members
public override Path LpuPath { get { return new
Path(DOCTOR_VISIT.sipAmbulanceEvent, AMBULANCE_EVENT.sipAmbulanceCard,
AMBULANCE_CARD.sipCardLpu); } }
public override Path DivisionPath { get { return new Path(DOCTOR_VISIT.sipPost,
POST.sipDivision); } }
public override Path PostPath { get { return new Path(DOCTOR_VISIT.sipPost); } }
123
public override ILexem DateInPath { get { return new Path(DOCTOR_VISIT.siaVisitDate);
} }
public override ILexem DateOutPath { get { return new
Path(DOCTOR_VISIT.siaVisitDate); } }
public override ILexem DsPath { get { return new
Path(DOCTOR_VISIT.sipOutcomeRecord, OUTCOME_OF_INSPECTION.siaMKBCode); } }
public override ILexem CodeUslPath { get { return null; } }
public override void CollectRequiredAttributes(PathsCollection pc)
{
base.CollectRequiredAttributes(pc);
pc.Add(new Path(DOCTOR_VISIT.sipPost, POST.sipDivision, DIVISION.siaCode));
pc.Add(new Path(DOCTOR_VISIT.sipPost, POST.sipDivision, DIVISION.siaCodeMz));
pc.Add(new Path(DOCTOR_VISIT.sipPost, POST.sipDivision, DIVISION.sipBranch,
BRANCH.siaTFomsCode));
}
public override void FillCustom(SCHET_USL su, SCHET_SLUCH sluch, BaseObject bo,
StringBuilder errBuilder)
{
base.FillCustom(su, sluch, bo, errBuilder);
DOCTOR_VISIT visit = (DOCTOR_VISIT)bo;
SCHET_USL_44 su44 = (SCHET_USL_44)su;
su44.CODE_USL.Value = sluch.KodPgg.Value;
su44.DET.Value = sluch.DET.Value;
su44.PODR.Value = visit.Post.Division.CodeMz.Value;
su44.LPU_1.Value = visit.Post.Division.Branch.TFomsCode.Value;
}
#endregion
}

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)