/// <summary> /// 通过已保存的诊断主表设置DIDTO中主表属性 /// </summary> /// <param name="item"></param> /// <param name="didto"></param> private void setCiDiagDOProperty(CiDiagDO cidiagDO, DIDTO didto) { //didto.Id_ditp = cidiagDO.Id_ditp; // 诊断类型 诊断过程状态_自定义档案 //didto.Sd_ditp = cidiagDO.Sd_ditp;// 诊断类型编码 //didto.Id_ditp_name = cidiagDO.Id_ditp_name; // 诊断类型名称 didto.Id_di = cidiagDO.Id_di; // 诊断主表id didto.Id_emp_create = cidiagDO.Id_emp_create; // 开立医生 诊断医生 取当前登录人 didto.Id_emp_create_name = cidiagDO.Empname; // 开立医生姓名 医生姓名 取当前登录人 didto.Dt_di = CommonExtentions.NowTime(this);; // 诊断时间 当前时间 didto.Id_dep_create = cidiagDO.Id_dep_create; // 开立科室 didto.Id_dep_create_name = cidiagDO.Name_dep_create; // 开立科室名称 didto.Dt_create = cidiagDO.Dt_create; // 开立时间 //didto.Id_dep = ""; // 诊断科室 didto.Id_en = cidiagDO.Id_en; // 就诊id didto.Id_pat = cidiagDO.Id_pat; // 患者id didto.Id_entp = cidiagDO.Id_entp; // 就诊类型 didto.Code_entp = cidiagDO.Code_entp; // 就诊类型编码 didto.Id_emp_sign = cidiagDO.Id_emp_sign; // 签署人 didto.Name_emp_sign = cidiagDO.Signname; // 签署人名称 didto.Id_dep_sign = cidiagDO.Id_dep_sign; // 签署科室 didto.Dt_sign = cidiagDO.Dt_sign; // 签署时间 didto.Fg_sign = FBoolean.True; // 签署标志 }
/// <summary> /// *******************************************保存******************************************* /// </summary> /// <returns></returns> public bool SaveConsRpt() { CiOrdConsRptDO consRptDo; if (this.rptArray.Count() != 0) { consRptDo = this.rptArray[0]; consRptDo.Status = DOStatus.UPDATED; } else { consRptDo = new CiOrdConsRptDO(); } if (consDTO == null) { this.ShowInfo("会诊申请不存在,无法保存!"); return(false); } //consRptDo.id_rptcons = //主键 SINGLE String id consRptDo.Id_apcons = consDTO.Id_emsconsitem; //会诊申请单id consRptDo.Dt_actual = consDTO.Dt_plan; //实际会诊时间 SINGLE FD consRptDo.Advice = consDTO.Advice; //会诊意见 SINGLE 备注 consRptDo.Id_emp_rpt = UserManager.getInstance().CurrentUser.Id_user; //报告人 REF 用户 id consRptDo.Id_dep_rpt = UserManager.getInstance().CurrentDept.Id_dep; //报告科室 REF 部门 id consRptDo.Dt_rpt = CommonExtentions.NowTime(this); //报告时间 SINGLE FDateT consRptDo.Id_emp_host = consDTO.Id_emp_host; //会诊主持 REF 用户 id consRptDo.Id_place_actual = consDTO.Id_place; //实际会诊地点 REF 地点 consRptDo.Sd_su_rpt = CiDictCodeConst.SD_SU_RPT_OPEN; //会诊记录状态编码 SINGLE consRptDo.Id_su_rpt = CiDictCodeConst.SD_SU_RPT_ID_OPEN; //会诊记录状态id REF St consRptDo.Name_place = consDTO.Name_place; this.consrptService.save(new CiOrdConsRptDO[] { consRptDo }); return(true); }
/// <summary> /// /// </summary> /// <param name="didto"></param> /// <param name="item"></param> /// <param name="ditp_code"></param> private void FillDiItemInfo(DIDTO didto, Cidixy item, string ditp_code) { didto.Id_diitm = null; didto.Id_didef = item.Id_didef; didto.Didef_code = item.Id_didef_code; didto.Didef_name = item.Id_didef_name; didto.Id_ditp = this.HeadDiDiagDO.Id_ditp; didto.Sd_ditp = this.HeadDiDiagDO.Sd_ditp; didto.Id_ditp_name = item.Id_ditp_name; didto.Supplement = item.Supplement; didto.Id_disys = item.Id_disys; didto.Sd_disys = item.Sd_disys; didto.Id_disys_name = item.Id_disys_name; didto.Di_standard = item.Di_standard; didto.Di_standard_name = item.Di_standard_name; didto.Fg_suspdi = item.Fg_suspdi; didto.Fg_ur = item.Fg_ur; didto.Id_infectiontp = item.Id_infectiontp; didto.Sd_infectiontp = item.Sd_infectiontp; didto.Fg_majdi = (ditp_code == CiDictCodeConst.SD_SUPPLY ? false : item.Fg_majdi); didto.Dt_di = CommonExtentions.NowTime(this); didto.Supplement = item.Supplement; didto.Fg_chronic = item.Fg_chronic; didto.Fg_special = item.Fg_special; didto.Id_disys_name = "西医诊断"; }
/// <summary> /// 通过Ent4BannerDTO设置DIDTO中主表属性 /// <para>该方法为未保存过诊断时调用</para> /// /// </summary> /// <param name="bannerDTO">banner数据</param> /// <param name="didto"></param> private void setCiDiagDOProperty(Ent4BannerDTO bannerDTO, DIDTO didto) { DeptDO dept = context.Dept; PsnInfo psnInfo = context.PsnInfo; DateTime dataTime = CommonExtentions.NowTime(this); didto.Id_emp_create = psnInfo.Id_psndoc; // 开立医生 诊断医生 取当前登录人 didto.Id_emp_create_name = psnInfo.Name; // 开立医生姓名 医生姓名 取当前登录人 didto.Dt_di = dataTime; // 诊断时间 (诊断时间与开立时间 Dt_create 重复,暂且都赋值) didto.Id_dep_create = dept.Id_dep; // 开立科室 didto.Id_dep_create_name = dept.Name; // 开立科室名称 didto.Dt_create = dataTime; // 开立时间 didto.Id_dep = dept.Id_dep; // 诊断科室 是否还有用? didto.Id_en = bannerDTO.Id_ent; // 就诊id didto.Id_pat = bannerDTO.Id_pat; // 患者id didto.Id_entp = bannerDTO.Id_entp; // 就诊类型 didto.Code_entp = bannerDTO.Code_entp; // 就诊类型编码 didto.Id_emp_sign = psnInfo.Id_psndoc; // 签署人 didto.Name_emp_sign = psnInfo.Name; // 签署人名称 didto.Id_dep_sign = dept.Id_dep; // 签署科室 didto.Dt_sign = dataTime; // 签署时间 didto.Fg_sign = FBoolean.True; // 签署标志 }
protected override void OnXapFormControl_ModelFilled(object sender, EventArgs e) { base.OnXapFormControl_ModelFilled(sender, e); this.ResetColumnsInfo(this.GetGridControl()); if (GetViewModel() == null) { return; } GetGridControl().DataTable.DataSource = GetViewModel().GetTableDataSource(); OnRefreshData(); SetIndicatorControl(); var dtAge = new DateTime(CommonExtentions.NowTime(this).Subtract(DateTime.Parse(this.GetViewModel().GetEnt4BannerDTO().Dt_birth)).Ticks); var nAge = dtAge.Year; try { int[] ages = CalcAgeArray.getAgeArray(DateTime.Parse(this.GetViewModel().GetEnt4BannerDTO().Dt_birth)); if (ages != null) { nAge = ages[0]; } } catch //(Exception exc) { this.SetStatusMsg("年龄使用默认值"); } var pregnat_num = AssXapFormUtils.GetUserRender(this.GetXapFormControl(), "preblood.pregnat_num") as XLabelBaseUserRender; if (null != pregnat_num && this.allowEdit) { // 1,男性; 2, 女 pregnat_num.NullFlag = this.GetViewModel().GetEnt4BannerDTO().Sd_sex == "1" || (nAge < 18 && this.GetViewModel().GetEnt4BannerDTO().Sd_sex == "2"); pregnat_num.Enabled = !(this.GetViewModel().GetEnt4BannerDTO().Sd_sex == "1"); } var parturition_cnt = AssXapFormUtils.GetUserRender(this.GetXapFormControl(), "preblood.parturition_cnt") as XLabelBaseUserRender; if (null != parturition_cnt && this.allowEdit) { parturition_cnt.NullFlag = this.GetViewModel().GetEnt4BannerDTO().Sd_sex == "1" || (nAge < 18 && this.GetViewModel().GetEnt4BannerDTO().Sd_sex == "2"); parturition_cnt.Enabled = !(this.GetViewModel().GetEnt4BannerDTO().Sd_sex == "1"); } var ur = AssXapFormUtils.GetUserRender(this.GetXapFormControl(), "preblood.no_db"); ur.Enabled = checkbox.Checked; (ur as XLabelBaseUserRender).NullFlag = !ur.Enabled; if (!ur.Enabled) { (this.GetViewModel().GetEmsUIDTO() as EmsUIDTO).Emsapbt.No_db = null; } AdjustLayout(); this.SetFocus(); }
public void GetInviteCons(string id_invite) { inviteList.Clear(); EmsItemInCons[] invites = inviteVM.GetInviteCons(id_invite); invites.ToList().ForEach(p => { p.Dt_response = CommonExtentions.NowTime(this); inviteList.Add(p); }); }
//诊断过程 类型 public void setditp(Ent4BannerDTO patientsDTO, string ciditype) { if (patientsDTO != null) { this.xyCidiList.Clear();//清空集合 this.zyCidiList.Clear(); UdidocDO[] udidocs = qrySerice.getDiType(patientsDTO.Id_ent, ciditype); if (udidocs != null && udidocs.Count() > 0) { DidtoAggDTO agg = new DidtoAggDTO(); this.CidixyAggDto.AggDO.getParentDO().Id_ditp = udidocs[0].Id_udidoc; this.CidixyAggDto.AggDO.getParentDO().Id_ditp_code = udidocs[0].Code; this.CidixyAggDto.AggDO.getParentDO().Id_ditp_name = udidocs[0].Name; this.CidixyAggDto.AggDO.getParentDO().Id_emp_create = UserManager.getInstance().CurrentPsnInfo.Id_psndoc; this.CidixyAggDto.AggDO.getParentDO().Id_emp_create_name = UserManager.getInstance().CurrentPsnInfo.Name; this.CidixyAggDto.AggDO.getParentDO().Dt_di = CommonExtentions.NowTime(this); // this.cidixyList.AggDO.setCididtozy(new Cididtozy[]{new Cididtozy(), }); //this.cidixyList.AggDO.setCidixy(null); // 补充诊断 if (udidocs[0].Code == CiDictCodeConst.SD_SUPPLY) { this.xyCidiList.Clear();//清空集合 this.zyCidiList.Clear(); } else { CidiagAggDO[] ciagg = qrySerice.getLastCiDiags(patientsDTO.Id_ent); if (ciagg != null) { ciagg[0].getParentDO().Id_ditp = udidocs[0].Id_udidoc; ciagg[0].getParentDO().Sd_ditp = udidocs[0].Code; ciagg[0].getParentDO().Name_ditp = udidocs[0].Name; ciagg[0].getParentDO().Id_emp_create = UserManager.getInstance().CurrentPsnInfo.Id_psndoc; ciagg[0].getParentDO().Empname = UserManager.getInstance().CurrentPsnInfo.Name; ciagg[0].getParentDO().Dt_di = CommonExtentions.NowTime(this); ciagg[0].getParentDO().Fg_sign = FBoolean.False; getCiDiDtoList(ciagg[0]); } else { // this.CidixyAggDto.AggDO.setCidixy(new Cidixy[] {new Cidixy()}); //this.CidixyAggDto.AggDO.setCididtozy(new Cididtozy[] { new Cididtozy() }); this.CidixyAggDto.AggDO.ChildrenList.Clear(); // agg.setCidixy(new Cidixy[]{new Cidixy()}); // this.CidixyAggDto = new XapAggDO<DidtoAggDTO>(qrySerice, agg); } } } } }
private CidiagAggDO CreateCidiagAggDO(Ent4BannerDTO e) { var aggdo = new CidiagAggDO(); var pdo = new CiDiagDO { Code_dep_create = UserManager.getInstance().CurrentDept.Code, Code_ditp = CiDictCodeConst.SD_OPDI, Code_entp = e.Code_entp, Createdby = UserManager.getInstance().CurrentPsnInfo.Id_psndoc, Createdtime = CommonExtentions.NowTime(this), //Des_di //Ds Dt_create = CommonExtentions.NowTime(this), Dt_di = CommonExtentions.NowTime(this), Dt_sign = CommonExtentions.NowTime(this), Empcode = UserManager.getInstance().CurrentPsnInfo.Code, Empname = UserManager.getInstance().CurrentPsnInfo.Name, Fg_sign = true, Id_dep = UserManager.getInstance().CurrentDept.Id_dep, Id_dep_create = UserManager.getInstance().CurrentDept.Id_dep, Id_dep_sign = UserManager.getInstance().CurrentDept.Id_dep, //Id_di Id_ditp = CiDictCodeConst.ID_OPDI, Id_emp_create = UserManager.getInstance().CurrentPsnInfo.Id_psndoc, Id_emp_sign = UserManager.getInstance().CurrentPsnInfo.Id_psndoc, Id_en = e.Id_ent, Id_entp = e.Id_entp, Id_grp = UserManager.getInstance().CurrentGroup.Id_grp, Id_org = UserManager.getInstance().CurrentOrg.Id_org, Id_pat = e.Id_pat, //Modifiedby //Modifiedtime Name = "门诊诊断", Name_dep_create = UserManager.getInstance().CurrentDept.Name, Name_dep_sign = UserManager.getInstance().CurrentDept.Name, Name_ditp = "门诊诊断", Sd_ditp = CiDictCodeConst.SD_OPDI //Signcode //Signname }; aggdo.setParentDO(pdo); aggdo.setCiDiagItemDO(new CiDiagItemDO[] { new CiDiagItemDO { Id_disys = CiDictCodeConst.ID_CI_DISYS_XYZDTX }, new CiDiagItemDO { Id_disys = CiDictCodeConst.ID_CI_DISYS_ZYZDTX } }); return(aggdo); }
public static DIDTO DIDTOWith(MkrMsDiDO o, Ent4BannerDTO e = null, BaseContext c = null) { return(new DIDTO() { Code_entp = (e != null ? e.Code_entp : ""), Des_di = "", Di_disease = "", Di_standard = "", Di_standard_code = "", Di_standard_name = "", Didef_code = o.Didef_code, Didef_name = o.Didef_name, Dt_create = CommonExtentions.NowTime(o), Dt_di = CommonExtentions.NowTime(o), Dt_sign = CommonExtentions.NowTime(o), Fg_infedi = false, Fg_majdi = o.Fg_majdi, Fg_med = false, Fg_sign = true, Fg_suspdi = o.Fg_majdi != true, Id_dep = "", Id_dep_create = "", Id_dep_create_name = "", Id_dep_sign = (c != null ? c.Dept.Id_dep : ""), Id_di = null, Id_didef = o.Id_didef, // Id_didef_syn { get; set; } // Id_didef_syn_code { get; set; } // Id_didef_syn_name { get; set; } // Id_diitm = "", // Id_disease_code { get; set; } // Id_disease_name { get; set; } Id_disys = o.Id_cdsys, Id_disys_name = o.Cdsys_name, // Id_ditp { get; set; } // Id_ditp_name { get; set; } Id_emp_create = (c != null ? c.PsnInfo.Id_psndoc : ""), Id_emp_create_name = (c != null ? c.PsnInfo.Name : ""), Id_emp_sign = (c != null ? c.PsnInfo.Id_psndoc : ""), Id_en = (e != null ? e.Id_ent : ""), Id_entp = (e != null ? e.Id_entp : ""), Id_par = o.Id_par, Id_pat = (e != null ? e.Id_pat : ""), Name_emp_sign = (c != null ? c.PsnInfo.Name : ""), // Sd_disys { get; set; } // Sd_ditp { get; set; } Sortno = null, Supplement = o.Supplement }); }
public void Reload(String id_en) { HeadDiDiagDO = null; this.xyCidiList.Clear(); this.zyCidiList.Clear(); if (id_en != null) { string sql = string.Format("a0.id_en='{0}'", id_en); CidiagAggDO[] szCidiagAggDO = cidiagCrud.find(sql, "a0.createdtime ", false); if (szCidiagAggDO.Length > 0) { CidiagAggDO diAggDo = szCidiagAggDO.LastOrDefault(); initCiDiDtoModel(diAggDo); } } else { CiLog4OpStation.WriteLog("错误:在加载诊断数据时候,患者就诊id为空"); } if (this.HeadDiDiagDO == null) { HeadDiDiagDO = new CiDiagDO(); HeadDiDiagDO.Id_ditp = CiDictCodeConst.ID_OPDI; HeadDiDiagDO.Sd_ditp = CiDictCodeConst.SD_OPDI; HeadDiDiagDO.Des_di = ""; HeadDiDiagDO.Id_emp_create = UserManager.getInstance().CurrentPsnInfo.Id_psndoc; HeadDiDiagDO.Dt_di = CommonExtentions.NowTime(this); } if (this.xyCidiList.Count == 0) { this.xyCidiList.Add(new Cidixy()); this.xyCidiList.Add(new Cidixy()); this.xyCidiList.Add(new Cidixy()); this.xyCidiList.Add(new Cidixy()); } if (this.zyCidiList.Count == 0) { this.zyCidiList.Add(new Cididtozy()); this.zyCidiList.Add(new Cididtozy()); this.zyCidiList.Add(new Cididtozy()); this.zyCidiList.Add(new Cididtozy()); } }
/// <summary> /// 查询就诊医嘱 /// </summary> public void Reload() { if (string.IsNullOrEmpty(this.id_en) || string.IsNullOrEmpty(this.code_entp)) { if (this.xapList != null) { this.xapList.Clear(); } return; } // 获取服务类型显示名称 if (sdSrvtpDic.Count == 0) { sdSrvtpDic = this.GetSdSrvtpDic(); } CiOrderDO[] ciOrders = this.orderItemMService.find(getSearchSql(), " a0.createdtime " + OrderSequenceModel, FBoolean.False); ciOrders.ToList().ForEach(p => { p.Str_long = p.Fg_long.Value == true ? "长期" : "临时"; if (p.Emp_stop_name == null || p.Emp_stop_name == "") { p.Dt_end = null; } //如果没有停止医生 则医嘱列表停止时间 不显示 王琦需求 if (!p.Fg_long.Value) { p.Emp_stop_name = null; } if (!string.IsNullOrEmpty(p.Id_emp_sign) && !p.Id_emp_sign.Equals(p.Id_emp_or)) { p.Emp_sign_name = p.Emp_sign_name + "/" + p.Emp_phy_name; } else { p.Emp_sign_name = p.Emp_phy_name; } }); xapList = new XapDataList <CiOrderDO>(orderItemMService, ciOrders); //设定医嘱状态 bool isOp = this.code_entp.Equals("00") ? true : false; logic.setOrderDisplayStatus(xapList, isOp); this.stoptime = CommonExtentions.NowTime(this); }
public void UpdateApConsInvite(string id_invite) { if (inviteList.Count == 0) { return; } EmsItemInCons itemInCons = this.inviteList[0]; CiordInviteConsDO con = inviteCons.GetInviteConsById(id_invite); con.Dt_response = CommonExtentions.NowTime(this); //应答时间 SINGLE FDateTime 19 con.Fg_response = true; //应答标志 SINGLE FBoolean 1 con.Id_emp_response = UserManager.getInstance().CurrentUser.Id_psn; //应答人id REF 用户 20 con.Id_emp = itemInCons.Id_emp_doctor; con.Id_emp_title = itemInCons.Id_emp_title; con.Sd_emp_title = itemInCons.Sd_emp_title; cons.SetUpdated(); inviteCons.Save(new CiordInviteConsDO[] { con }); }
/// <summary> /// 设置诊断与当前环境相关的属性 /// </summary> /// <returns></returns> private DIDTO SetEnvironmentVariable(DIDTO diDTO) { // @@ 诊断映射可以统一优化 DeptDO dept = this.context.Dept; PsnInfo user = this.context.PsnInfo; PsnInfo psnInfo = UserManager.getInstance().CurrentPsnInfo; //.Id_psndoc; diDTO.Id_en = this.ent4BannerDTO.Id_ent; //就诊id diDTO.Id_pat = this.ent4BannerDTO.Id_pat; //患者id diDTO.Id_entp = this.ent4BannerDTO.Id_entp; //就诊类型 diDTO.Code_entp = this.ent4BannerDTO.Code_entp; //就诊类型编码 diDTO.Id_ditp = CiDictCodeConst.ID_OPDI; //诊断类型 诊断过程状态 门诊、初步、入院、补充、修正、出院、死亡 diDTO.Sd_ditp = CiDictCodeConst.SD_OPDI; //诊断类型编码 diDTO.Id_ditp_name = "门诊诊断"; //诊断类型名称 diDTO.Id_emp_create = user.Id_psndoc; //诊断医生 diDTO.Id_emp_create_name = user.Name; //医生姓名 diDTO.Id_dep = dept.Id_dep; //诊断科室 diDTO.Dt_di = CommonExtentions.NowTime(this); //诊断时间 diDTO.Id_emp_sign = user.Id_psndoc; //签署人 diDTO.Name_emp_sign = user.Name; //签署人名称 diDTO.Fg_sign = FBoolean.True; //签署标识 diDTO.Id_dep_sign = dept.Id_dep; //签署科室 diDTO.Dt_sign = CommonExtentions.NowTime(this); //签署时间 diDTO.Id_dep_create = dept.Id_dep; //开立科室 diDTO.Id_dep_create_name = dept.Name; //开立科室名称 diDTO.Dt_create = CommonExtentions.NowTime(this); //开立时间 // 根据诊断体系确定是中医诊断还是西医诊断,目前不是西医诊断都认为是中医诊断,蒙医、手术后续有调整是在判断 // 西医标志 根据诊断体系判断,如果是西医诊断,设置为true,否则设置为false if (CiDictCodeConst.ID_CI_DISYS_XYZDTX.Equals(diDTO.Id_disys)) { diDTO.Fg_med = FBoolean.True; } else { diDTO.Fg_med = FBoolean.False; } return(diDTO); }
public void SetCiORSrv(CiorderAggDO agg, EmsUIDTO emsHeadDO, List <OrdSrvDO> srvList) { int i = 1; //emsHeadDO.Emsaplab.EmsOrObsList emsHeadDO.Emsaplab.EmsOrObsList.ToList().ForEach(p => { //把检查的项目 对照成服务 OrdSrvDO srv = new OrdSrvDO(); if (emsHeadDO.Status == DOStatus.UPDATED) { //srv = agg.getOrdSrvDO()[emsHeadDO.Emsdrugs.EmsOrDrugList.IndexOf(p)]; //srv = agg.getOrdSrvDO().First(x => x.Id_orsrv == p.Id_orsrv);//找到数据库已经存在的 if (srv == null)//数据库找不到 可能是修改时候 新增了 药品 { srv = new OrdSrvDO(); } } srv.Id_pat = emsHeadDO.PatInfo.Id_pat; //患者 srv.Id_entp = emsHeadDO.PatInfo.Id_entp; //就诊类型 srv.Code_entp = emsHeadDO.PatInfo.Code_entp; //就诊类型编码 srv.Id_en = emsHeadDO.PatInfo.Id_ent; //就诊 srv.Sortno = i; //TODO: 顺序应该是机制生成的 srv.Id_srvtp = emsHeadDO.MedSrvDO.Id_srvtp; // 服务类型 srv.Sd_srvtp = emsHeadDO.MedSrvDO.Sd_srvtp; //服务类型编码 srv.Id_srv = emsHeadDO.MedSrvDO.Id_srv; //服务项目 srv.Name = emsHeadDO.Emsaplab.Name_srv; //服务项目名称 srv.Name = p.Name_srv; //agg.getParentDO().Content_or = LogicEx.GetInstance().GetOrDes(emsHeadDO); agg.getParentDO().Dt_entry = emsHeadDO.Emsaplab.Dt_plan;//每条检查 不同的属性再进行独立赋值 srv.Name = p.Name_srv; agg.getParentDO().Dt_entry = emsHeadDO.Emsaplab.Dt_plan; agg.getParentDO().Dt_stop = CommonExtentions.NowTime(this); agg.getParentDO().Dt_effe = CommonExtentions.NowTime(this); //agg.getParentDO().Content_or = emsHeadDO.Emsaplab.Name_samptp; //待完善 srvList.Add(srv); i++; }); }
private void FromEnt4BannerDTO(Ent4BannerDTO e) { medReferralDO.Id_grp = context.Group.Id_grp; medReferralDO.Id_org = context.Org.Id_org; medReferralDO.Id_pat = e.Id_pat; medReferralDO.Name_pat = e.Name_pat; medReferralDO.Id_ent = e.Id_ent; medReferralDO.Code_ent = e.Code_ent; medReferralDO.Code_entp = e.Code_entp; //medReferralDO.Id_di //medReferralDO.Name_di //medReferralDO.Id_diitm //medReferralDO.Str_code_di medReferralDO.Str_name_di = getDiInfo(e.Id_ent); medReferralDO.Id_sex = e.Sd_sex.Equals(PiDictCodeConst.SD_SEX_MALE) ? PiDictCodeConst.ID_SEX_MALE : (e.Sd_sex.Equals(PiDictCodeConst.SD_SEX_FEMALE) ? PiDictCodeConst.ID_SEX_FEMALE : PiDictCodeConst.ID_SEX_UNEXPLAIN); medReferralDO.Sd_sex = e.Name_sex; //int nAge = FromAgeString(e.Age); //medReferralDO.Age = (-1 != nAge ? nAge : 0); medReferralDO.Age = e.Age; medReferralDO.Ido = e.Id_code; medReferralDO.Id_dep = e.Id_dep_phy; medReferralDO.Name_dep = e.Name_dep_phy; medReferralDO.Dt_acpt = e.Dt_acpt; medReferralDO.Dt_end = e.Dt_end; //medReferralDO.Code_org_referral2 //medReferralDO.Name_org_referral2 //medReferralDO.Reason_referral //medReferralDO.Des_initialdiag //medReferralDO.Des_question //medReferralDO.Diagtreatment //medReferralDO.Id_referraltp //medReferralDO.Sd_referraltp medReferralDO.Dt_referralperiodbegin = CommonExtentions.NowTime(this); medReferralDO.Dt_referralperiodend = CommonExtentions.NowTime(this).AddDays(1); medReferralDO.Id_emp = e.Id_emp_phy; medReferralDO.Name_emp = e.Name_emp_phy; medReferralDO.Dt_open = CommonExtentions.NowTime(this); medReferralDO.Times_print = 0; medReferralDO.Fg_seal = FBoolean.False; medReferralDO.Address = e.Address; }
/// <summary> /// 优化前方法 /// </summary> /// <param name="emsCreateParameter"></param> /// <param name="pos"></param> /// <returns></returns> private bool Old_LoadMedSrv(EmsCreatedParameter emsCreateParameter, int pos) { base.LoadMedSrv(emsCreateParameter, pos); MedSrvDO med = emsCreateParameter.getMedSrvDO(); med = XapServiceMgr.find <IMedsrvMDOCrudService>().findById(med.Id_srv); this.uiEmsDTO.MedSrvDO = med; orDataBing.AddBtDataBing(this.uiEmsDTO, med); var ub = GetCustomParam() as CiordubDTO; this.uiEmsDTO.CiordubDTO = ub; this.uiEmsDTO.CiordubDTO.Dt_bu_pl_ub = CommonExtentions.NowTime(this); tableDatasource = new XapDataList <CiordubDTO>(); //执行科室 OrWfDeptInfoDTO wf = new GetDeptMpImp().GetDept_mp_ids(this.uiEmsDTO.PatInfo.Code_entp, this.uiEmsDTO.PatInfo.Id_entp, this.uiEmsDTO.MedSrvDO.Sd_srvtp, this.uiEmsDTO.MedSrvDO.Id_srvca, this.uiEmsDTO.MedSrvDO.Id_srv, this.uiEmsDTO.MedSrvDO.Id_route, "", this.uiEmsDTO.PatInfo.Id_dep_nur, this.uiEmsDTO.PatInfo.Id_dep_phy); if (wf != null) { uiEmsDTO.CiordubDTO.Id_mp_dep = wf.Firstid_mp_dept; uiEmsDTO.CiordubDTO.Name_mp_dep = wf.Firstname_mp_dept; } this.uiEmsDTO.CiordubDTO.Dt_bu_pl_ub = this.uiEmsDTO.CiordubDTO.Dt_begin_ui = this.uiEmsDTO.CiordubDTO.Dt_bu_pl_ub == null?this.NowTime() : this.uiEmsDTO.CiordubDTO.Dt_bu_pl_ub; this.uiEmsDTO.CiordubDTO.Use_days = 1; this.uiEmsDTO.CiordubDTO.Dt_end_ui = ((DateTime)this.uiEmsDTO.CiordubDTO.Dt_begin_ui).AddDays((int)this.uiEmsDTO.CiordubDTO.Use_days); this.uiEmsDTO.CiordubDTO.Times_cur = CalQuantumUtil.GetInstance().getTotalTimes(med.Id_freq, this.uiEmsDTO.CiordubDTO.Use_days); tableDatasource.Add(this.uiEmsDTO.CiordubDTO); //*/ // ++ return(true); }
/// <summary> /// DIDTO /// </summary> /// <param name="didto"></param> /// <param name="patientsDTO"></param> /// <param name="isSigned"></param> private void FillDiInfo(DIDTO didto, Ent4BannerDTO patientsDTO, bool isSigned = true) { didto.Id_di = null; didto.Id_pat = patientsDTO.Id_pat; didto.Id_en = patientsDTO.Id_ent; didto.Id_entp = patientsDTO.Id_entp; didto.Code_entp = patientsDTO.Code_entp; didto.Id_dep_create = UserManager.getInstance().CurrentDept.Id_dep; didto.Id_dep_create_name = UserManager.getInstance().CurrentDept.Name; didto.Id_emp_create = UserManager.getInstance().CurrentPsnInfo.Id_psndoc; didto.Id_emp_create_name = UserManager.getInstance().CurrentPsnInfo.Name; didto.Dt_create = CommonExtentions.NowTime(this); didto.Fg_sign = isSigned; if (isSigned) { didto.Id_dep_sign = UserManager.getInstance().CurrentDept.Id_dep; didto.Id_emp_sign = UserManager.getInstance().CurrentPsnInfo.Id_psndoc; didto.Dt_sign = CommonExtentions.NowTime(this); } }
/// <summary> /// 中医 集合 /// </summary> /// <param name="type"></param> /// <param name="patientsDTO"></param> /// <param name="listDto"></param> /// <param name="list"></param> private string collectDidtoListFromzyList(string ditp_code, Ent4BannerDTO patientsDTO, List <DIDTO> lstDIDTOs, XapDataList <Cididtozy> lstCididtozy, string zy) { string str = zy; foreach (Cididtozy item in lstCididtozy) { if (IsEmpty(item)) { continue; } // 判断是 新增 还是修改 DIDTO didto = new DIDTO(); didto.Id_diitm = null; didto.Id_di = null; didto.Id_didef = item.Di_disease; didto.Didef_code = item.Id_disease_code; didto.Didef_name = item.Id_disease_name; didto.Id_didef_syn = item.Id_syndrome; didto.Id_didef_syn_code = item.Id_syndrome_code; didto.Id_didef_syn_name = item.Id_syndrome_name; didto.Di_disease = item.Di_disease; didto.Id_disease_code = item.Id_disease_code; didto.Id_disease_name = item.Id_disease_name; didto.Id_disys = item.Id_disys; didto.Sd_disys = item.Sd_disys; didto.Id_disys_name = item.Id_disys_name; didto.Di_standard = item.Di_standard; didto.Di_standard_name = item.Di_standard_name; didto.Fg_suspdi = item.Fg_suspdi; didto.Fg_ur = item.Fg_ur; didto.Id_infectiontp = item.Id_infectiontp; didto.Sd_infectiontp = item.Sd_infectiontp; didto.Fg_chronic = item.Fg_chronic; didto.Fg_special = item.Fg_special; didto.Fg_majdi = (ditp_code == CiDictCodeConst.SD_SUPPLY ? false : item.Fg_majdi); didto.Dt_di = CommonExtentions.NowTime(this); //this.ciagg.getParentDO().Dt_di; didto.Id_disys_name = zy; //item.Id_disys_name; didto.Id_ditp = this.HeadDiDiagDO.Id_ditp; didto.Sd_ditp = this.HeadDiDiagDO.Sd_ditp; didto.Id_ditp_name = this.HeadDiDiagDO.Name_ditp; didto.Id_en = patientsDTO.Id_ent; didto.Id_pat = patientsDTO.Id_pat; didto.Id_dep_create = UserManager.getInstance().CurrentDept.Id_dep; didto.Id_dep_create_name = UserManager.getInstance().CurrentDept.Name; didto.Id_emp_create = UserManager.getInstance().CurrentUser.Id_user; didto.Id_emp_create_name = UserManager.getInstance().CurrentUser.Name; didto.Fg_sign = true; didto.Id_dep_sign = UserManager.getInstance().CurrentDept.Id_dep; didto.Id_emp_sign = UserManager.getInstance().CurrentPsnInfo.Id_psndoc; didto.Dt_sign = CommonExtentions.NowTime(this); str += ((item.Fg_suspdi != null && (bool)item.Fg_suspdi) ? " ? \n" : " \n"); lstDIDTOs.Add(didto); } return(str); }
void xapFormControl1_DataChanged(object sender, DataChangedEventArgs e) { switch (e.PropName)//计算结束日期 { case "Dt_begin_ui": DateTime adm = CommonExtentions.NowTime(this); //TODO: 入院时间 string info = cof.CompareWithAdmission(this.EmsHeadDO.PatInfo.Id_ent, this.EmsHeadDO.Emsdrugs.Dt_begin_ui); if (info != "") { this.ShowInfo(info); return; } DateTime dtb = (DateTime)this.EmsHeadDO.Emsdrugs.Dt_begin_ui; int?useDay = cof.GetUseDays(dtb, this.EmsHeadDO.Emsdrugs.Dt_end_ui); if (this.EmsHeadDO.Emsdrugs.Use_days != useDay) { this.EmsHeadDO.Emsdrugs.Use_days = useDay; } if (this.EmsHeadDO.Emsdrugs.Dt_fail != null) { //失效时间 this.EmsHeadDO.Emsdrugs.Dt_fail = cof.GetSpareEndTime(this.EmsHeadDO.Emsdrugs.Dt_begin_ui.Value); dt_fail.MinDate = this.EmsHeadDO.Emsdrugs.Dt_begin_ui.Value.AddDays(-1); dt_fail.MaxDate = this.EmsHeadDO.Emsdrugs.Dt_begin_ui.Value.AddHours(this.Context.GetOrgParam <int>(ICiOrdNSysParamConst.SYS_PARAM_TemporaryPrnOrValidTime)); } if (this.EmsHeadDO.Emsdrugs.Dt_end_ui == null) { return; } DateTime dte = (DateTime)this.EmsHeadDO.Emsdrugs.Dt_end_ui; if (dtb.CompareTo(dte) > 0) { // e.Cancel = true; this.EmsHeadDO.Emsdrugs.Dt_begin_ui = dte; this.ShowInfo(OrdParam.MESSAGE_TIEMCHECK); return; } break; case "Use_days": //医嘱天数 if (this.EmsHeadDO.Emsdrugs.Use_days == -1) { this.EmsHeadDO.Emsdrugs.Dt_end_ui = null; this.EmsHeadDO.Emsdrugs.Use_days = null; } else if (this.EmsHeadDO.Emsdrugs.Use_days == 0) { if (this.EmsHeadDO.Emsdrugs.Dt_end_ui != this.EmsHeadDO.Emsdrugs.Dt_begin_ui) { this.EmsHeadDO.Emsdrugs.Dt_end_ui = this.EmsHeadDO.Emsdrugs.Dt_begin_ui; } } else if (this.EmsHeadDO.Emsdrugs.Use_days != null) { DateTime?temDateTime = cof.GetEndTime(this.EmsHeadDO.Emsdrugs.Dt_begin_ui, this.EmsHeadDO.Emsdrugs.Use_days.Value); if (this.EmsHeadDO.Emsdrugs.Dt_end_ui != temDateTime) { this.EmsHeadDO.Emsdrugs.Dt_end_ui = temDateTime; } } if (cof.getControlByName(xapFormControl1, "drugsUse", "fg_outp").ValueText == "true") { cof.GetDrugTotal(this.EmsHeadDO); } //取模 int?m = this.EmsHeadDO.Emsdrugs.Use_days % 7; if ((this.EmsHeadDO.Emsdrugs.Name_freq.IndexOf("周") > 0 || this.EmsHeadDO.Emsdrugs.Name_freq.IndexOf("星期") > 0) && m % 7 != 0) { if (m == 0 || m == 6) { //减的 int?uu = this.EmsHeadDO.Emsdrugs.Use_days / 7; this.EmsHeadDO.Emsdrugs.Use_days = uu * 7; } else { int?uu = this.EmsHeadDO.Emsdrugs.Use_days / 7; this.EmsHeadDO.Emsdrugs.Use_days = (uu + 1) * 7; } } break; case "Dt_end_ui": //计算医嘱天数 dtb = (DateTime)this.EmsHeadDO.Emsdrugs.Dt_begin_ui; if (this.EmsHeadDO.Emsdrugs.Dt_end_ui == null) { return; } dte = (DateTime)this.EmsHeadDO.Emsdrugs.Dt_end_ui; if (dtb.CompareTo(dte) > 0) { this.EmsHeadDO.Emsdrugs.Dt_end_ui = dtb; this.ShowInfo(OrdParam.MESSAGE_TIEMCHECK); return; } useDay = cof.GetUseDays(dtb, this.EmsHeadDO.Emsdrugs.Dt_end_ui); if (this.EmsHeadDO.Emsdrugs.Use_days != useDay) { this.EmsHeadDO.Emsdrugs.Use_days = useDay; } if (cof.getControlByName(xapFormControl1, "drugsUse", "fg_outp").ValueText == "true") { drug.Quan_cur = cof.GetDrugUseTotalCount(this.EmsHeadDO); cof.GetDrugTotal(this.EmsHeadDO); } break; case "Name_freq": //计算执行时刻1 if (e.Input != null && e.Input.ToString().Contains("日")) { cof.getControlByName(xapFormControl1, "drugsUse", "quan_firday_mp").Enabled = true; cof.getControlByName(xapFormControl1, "drugsUse", "work_time").Enabled = false; } else if (e.Input != null && (e.Input.ToString().Contains("周") || e.Input.ToString().Contains("星期"))) { //取模 m = this.EmsHeadDO.Emsdrugs.Use_days % 7; if (m == 0 || m == 6) { //减的 int?uu = this.EmsHeadDO.Emsdrugs.Use_days / 7; this.EmsHeadDO.Emsdrugs.Use_days = uu * 7; } else { int?uu = this.EmsHeadDO.Emsdrugs.Use_days / 7; this.EmsHeadDO.Emsdrugs.Use_days = (uu + 1) * 7; } } else { cof.getControlByName(xapFormControl1, "drugsUse", "quan_firday_mp").Enabled = false; cof.getControlByName(xapFormControl1, "drugsUse", "work_time").Enabled = false; } GetMpTimes(this.EmsHeadDO.Emsdrugs.Id_freq); cof.setFreqctMaxMin(this.EmsHeadDO, xapFormControl1); // 先于 OnRefResult(object sender, RefResultEventArgs e)执行,会出现 这个地方获取的id 是上次的 而不是最新的 break; case "Id_freq": //计算执行时刻1 // 先于 OnRefResult(object sender, RefResultEventArgs e)执行,会出现 这个地方获取的id 是上次的 而不是最新的 break; case "Fg_long": if (e.Input.ToString() == "false") { cof.getControlByName(xapFormControl1, "drugsUse", "Use_days").Enabled = false; //临时 医嘱天数 不可输入 } else { cof.getControlByName(xapFormControl1, "drugsUse", "Use_days").Enabled = true; } break; case "Fg_self": if (this.EmsHeadDO.Emsdrugs.Fg_self == true) { this.EmsHeadDO.Emsdrugs.Fg_outp = !this.EmsHeadDO.Emsdrugs.Fg_self; } break; case "Fg_outp": if (this.EmsHeadDO.Emsdrugs.Fg_outp == true) { this.EmsHeadDO.Emsdrugs.Fg_self = !this.EmsHeadDO.Emsdrugs.Fg_outp; //ctlTotal.Enabled = true; gv.DataTable.Columns["Quan_cur"].ReadOnly = false; if (cof.getControlByName(xapFormControl1, "drugsUse", "fg_outp").ValueText == "true") { cof.GetDrugTotal(this.EmsHeadDO); } gv.DataTable.Columns["Quan_cur"].ReadOnly = false; gv.DataTable.Columns["Name_unit_sale"].ReadOnly = false; manageUnitName("out"); } else { gv.DataTable.Columns["Quan_cur"].ReadOnly = true; foreach (EmsOrDrug itemDrug in this.EmsHeadDO.Emsdrugs.EmsOrDrugList) { itemDrug.Quan_cur = null; } gv.DataTable.Columns["Quan_cur"].ReadOnly = true; gv.DataTable.Columns["Name_unit_sale"].ReadOnly = true; manageUnitName("in"); //ctlTotal.Enabled = false; } break; case "Fg_treat": this.EmsHeadDO.Emsdrugs.Fg_propc = !this.EmsHeadDO.Emsdrugs.Fg_treat; break; case "Fg_propc": this.EmsHeadDO.Emsdrugs.Fg_treat = !this.EmsHeadDO.Emsdrugs.Fg_propc; break; case "Quan_med": if (cof.getControlByName(xapFormControl1, "drugsUse", "fg_outp").ValueText == "true") { cof.GetDrugTotal(this.EmsHeadDO); } break; case "Quan_firday_mp": cof.getWorkTime(this.xapFormControl1, exctimes); if (cof.getControlByName(xapFormControl1, "drugsUse", "fg_outp").ValueText == "true") { cof.GetDrugTotal(this.EmsHeadDO); } break; case "Name_unit_sale": this.manageUnitName(""); //保存所有单位名称到缓存 break; case "Quan_cur": GetStockReqDTO reqDto = new GetStockReqDTO(); if (gv.GetFocusedRow <EmsOrDrug>() != null) { string id_mm = gv.GetFocusedRow <EmsOrDrug>().Id_mm; string id_dep_phy = this.EmsHeadDO.Emsdrugs.Id_dep; reqDto.Id_dep = id_dep_phy; reqDto.Id_mm = id_mm; reqDto.Req_unit_id = this.EmsHeadDO.Emsdrugs.EmsOrDrugList[0].Id_unit_sale; GetStockReqDTO[] reqDtoArr = new GetStockReqDTO[1]; reqDtoArr[0] = reqDto; try { MaterialStockDTO[] materialArr = cof.getMaterialStocksCount(reqDtoArr); if (materialArr != null && materialArr.Length > 0) { MaterialStockDTO material = materialArr[0]; if (material == null || material.Quan_stock < gv.GetFocusedRow <EmsOrDrug>().Quan_cur) { this.ShowInfo(this.EmsHeadDO.Emsdrugs.EmsOrDrugList[0].Name_mm + "数量已超过库存量,无法开立!"); return; } } } catch //(Exception ex) { } } break; default: break; } }
void xapFormControl1_ModelFilled(object sender, EventArgs e) { UserRender dt_out = xapFormControl1.GetUserRender("ordout", "dt_out"); dt_out.Focus(); //if (this.EmsHeadDO.Emsapout.IsNEW) //{ // (this.xapFormControl1.GetUserRender("ordout", "des_again31") as XLabelBaseUserRender).Enabled = false; //} //else //{ // (this.xapFormControl1.GetUserRender("ordout", "des_again31") as XLabelBaseUserRender).Enabled =(bool)this.EmsHeadDO.Emsapout.Fg_again31; //} xapFormControl1.SetEditPolicy(!IsReadOnly); //限制开始时间的时间范围,入院日期,最大提前日期 TimerComboBoxMaxAndMin.GetInstance().setMaxMinTime(xapFormControl1, this.Context, "ordout", "dt_out", EmsHeadDO.PatInfo.Id_ent); TimerComboBoxMaxAndMin.GetInstance().setMaxTime(xapFormControl1, this.Context, "ordout", "dt_out", CommonExtentions.NowTime(this)); }
/// <summary> /// 保存费用清单数据 /// </summary> /// <returns></returns> public bool Save() { bool rtn = true; this.errorMsgString = ""; // 从表格数据源获取 List <CiEmsSrvDTO> updateSrvList = new List <CiEmsSrvDTO>(); this.tableDatasource.ToList().ForEach(srv => { if (srv.IsNEW && idor2EmsDTOMap.ContainsKey(srv.Id_or)) { /** * 新增场景:通过 Id_or 找到对应的医疗单,然后,拿到医疗单的服务列表对象,将表格中补录的费用对象。转化为医疗单服务对象,追加到医疗单列表中; * 并设置医疗单为更新状态 **/ CiEmsDTO ems = idor2EmsDTOMap[srv.Id_or]; CiEmsSrvDTO addSrv = new CiEmsSrvDTO(); addSrv.deSerializeJson(srv.serializeJson()); addSrv.Id_srv_src = ems.Id_srv; //addSrv.Id_or = null; addSrv.Fg_set = false; addSrv.Dt_create_srv = CommonExtentions.NowTime(this); addSrv.Price_cur = addSrv.Amt_total; addSrv.Amt_total = null; addSrv.Sortno = ems.Emssrvs.Cast <CiEmsSrvDTO>().Count(p => !p.IsDELETED) + 1; updateSrvList.Add(addSrv); } else if (srv.IsDELETED && idor2EmsDTOMap.ContainsKey(srv.Id_or)) { /** * 删除场景:找到医疗单中需要删除的 服务项目 ,然后设置 status 状态为 Deleted; * 如果在医疗单的服务项目中没有找到,列表选择的 服务项目 ,则应该是出现了异常情况,不应该发生; **/ CiEmsDTO ems = idor2EmsDTOMap[srv.Id_or]; // id_orsrv 不为空,则进行数据库数据删除 if (!string.IsNullOrEmpty(srv.Id_orsrv)) { CiEmsSrvDTO delSrv = ems.Emssrvs.Cast <CiEmsSrvDTO>().FirstOrDefault(p => p.Id_orsrv.Equals(srv.Id_orsrv)); if (delSrv != null) { delSrv.Status = DOStatus.DELETED; updateSrvList.Add(delSrv); } } // 非数据库中记录数据,则直接从列表中删除 else { this.tableDatasource.Remove(srv); } } else if (srv.IsUPDATED && idor2EmsDTOMap.ContainsKey(srv.Id_or)) { /** * 更新场景:找到医疗单中需要更新的 服务项目 ,然后设置 status 状态为 Update; * 如果在医疗单的服务项目中没有找到,列表选择的 服务项目 ,则应该是出现了异常情况,不应该发生; **/ CiEmsDTO ems = idor2EmsDTOMap[srv.Id_or]; CiEmsSrvDTO updateSrv = ems.Emssrvs.Cast <CiEmsSrvDTO>().FirstOrDefault(p => srv.Id_orsrv.Equals(p.Id_orsrv)); if (updateSrv != null) { ems.Status = DOStatus.UPDATED; updateSrv.deSerializeJson(srv.serializeJson()); updateSrvList.Add(updateSrv); } else { this.errorMsgString = "需要更新的费用项目,并没有在后台查到相关记录"; rtn = false; } } //else if (srv.IsUNCHANGED && idor2EmsDTOMap.ContainsKey(srv.Id_or)) //{ // // 将没有改变的 // CiEmsDTO ems = idor2EmsDTOMap[srv.Id_or]; // CiEmsSrvDTO unChangedSrv = ems.Emssrvs.Cast<CiEmsSrvDTO>().FirstOrDefault(p => srv.Id_orsrv.Equals(p.Id_orsrv)); // unChangedSrv.Status = DOStatus.UNCHANGED; // updateSrvList.Add(unChangedSrv); //} }); if (updateSrvList.Count > 0) { try { CiEnContextDTO ctx = CiEnContextUtil.GetCiEnContext(this.GetEnt4BannerDTO(), this.context); CiEmsSrvDTO[] rtSrvs = XapServiceMgr.find <ICiOrdMaintainService>().saveOrdFeeBill(updateSrvList.ToArray(), ctx); } catch (XapServiceException e) { this.errorMsgString = e.ErrorMsg != null?e.ErrorMsg.Message:e.Message; rtn = false; } catch (Exception e) { this.errorMsgString = e.Message; rtn = false; } } return(rtn); }
/// <summary> /// 将UI模型中的EmsOrDrug对象转化为CiEmsSrvDTO对象 /// </summary> /// <param name="p"></param> /// <param name="fg_set"></param> /// <param name="srv"></param> /// <returns></returns> protected virtual CiEmsSrvDTO ConvertOf(EmsOrDrug p, bool fg_set = false, CiEmsSrvDTO srv = null) { CiEmsSrvDTO srvdto = (srv ?? new CiEmsSrvDTO()); // srvdto.Eu_sourcemd = p.Eu_sourcemd; //医疗单项目数据来源 srvdto.Id_orsrv = p.Id_orsrv; //医疗单项目主键标识 //srvdto.Id_or = //医疗单 SINGLE F srvdto.Sortno = p.Sortno; //序号 SINGLE I srvdto.Id_srv = p.Id_srv; //医疗服务 REF srvdto.Id_srv_src = (srv == null ? p.Id_srv_src : srv.Id_srv_src); // 所属服务来源 bl //srvdto.Id_srv_set = (fg_set ? srvdto.Id_srv_src : null); srvdto.Id_unit_med = p.Id_unit_med; //医疗单位 REF srvdto.Name_unit_med = p.Name_unit_med; //医疗单位编码 SINGL srvdto.Quan_med = p.Quan_med; //剂量 SINGLE F srvdto.Price = p.Price; //参考价格 SINGL srvdto.Id_freq = p.Id_freq; //医嘱频次 REF srvdto.Name_freq = p.Name_freq; //医嘱频次名称 SINGL srvdto.Freqct = p.Freqct; srvdto.Sd_frequnitct = p.Sd_frequnitct; srvdto.Id_route = p.Id_route; //用法标识 REF srvdto.Name_route = p.Name_route; //用法 SINGLE S srvdto.Id_routedes = (srv == null ? p.Id_routedes : srv.Id_route); // p.Id_routedes; //用法要求标识 REF srvdto.Name_routedes = (srv == null ? p.Name_routedes : srv.Name_routedes); //p.Name_routedes; //用法要求 SINGL srvdto.Id_boil = (srv == null ? p.Id_boil : srv.Id_boil); //p.Id_boil; //煎法标识 REF srvdto.Name_boil = (srv == null ? p.Name_boil : srv.Name_boil); //p.Name_boil; //煎法 SINGLE S srvdto.Id_boildes = p.Id_boildes; //煎法要求标识 REF srvdto.Name_boildes = p.Name_boildes; //煎法要求 SINGL srvdto.Fg_dose_anoma = p.Fg_dose_anoma; //变动用药标识 SINGL srvdto.Des_srv = p.Des; //备注 SINGLE // srvdto.Fg_outp = (srv == null ? null : srv.Fg_outp);//p.Fg_outp; //出院带药标识 SINGL ---- 已经弃用!!! srvdto.Fg_bl = p.Fg_bl; // //srvdto.Id_org_srv //开立机构 SINGL //srvdto.Id_dep_srv //开立科室 SINGL //srvdto.Id_ward_srv //开立病区 SINGL //srvdto.Id_emp_srv //开立人员 SINGL srvdto.Dt_create_srv = (srv == null ? CommonExtentions.NowTime(this) : srv.Dt_create_srv);//CommonExtentions.NowTime(this); //开立时间 SINGL //srvdto.Dt_last_bl //最近生成日期 SINGL //srvdto.Eu_blmd = p.Eu_blmd; //划价方式 SINGL //srvdto.Id_orsrvmm = p.Id_emsordrug; //服务项目物品 SINGL srvdto.Id_mm = p.Id_mm; //物品 SINGLE srvdto.Code_mm = p.Code_mm; //物品编码 SINGL srvdto.Name_mm = p.Name_mm; //物品名称 SINGL //srvdto.Spec_mm //规格 SINGLE S srvdto.Id_unit_sale = p.Id_unit_sale; //零售单位 REF srvdto.Name_unit_sale = p.Name_unit_sale; //零售单位名称 SINGL srvdto.Id_unit_base = p.Id_unit_base; //基本单位 REF srvdto.Name_unit_base = p.Name_unit_base; //基本单位名称 SINGL //srvdto.Quan_num_base = p.Quan_base; //单次数量_分子 S srvdto.Quan_den_base = 1; //单次数量_分母 S srvdto.Price_cur = p.Price; //参考价当前 SINGL srvdto.Quan_cur = p.Quan_cur; //总量_当前 SINGL srvdto.Quan_base = p.Quan_base; //总量_基本 SINGL srvdto.Quan_bed_medu = 0; //床边量_医学 SINGL srvdto.Quan_total_medu = p.Quan_cur; srvdto.Factor_cb = p.Factor_cb; //当前基本换算系数 S srvdto.Factor_mb = (p.Factor_mb == null || p.Factor_mb == 0) ? 1 : p.Factor_mb; //医疗基本换算系数 S srvdto.Id_dosage = p.Id_dosage; //药品剂型 SINGL srvdto.Sd_dosage = p.Sd_dosage; //药品剂型编码 SINGL srvdto.Id_pharm = p.Id_pharm; //药理分类 SINGL srvdto.Sd_pharm = p.Sd_pharm; //药理分类编码 SINGL srvdto.Id_pois = p.Id_pois; //毒麻分类 SINGL srvdto.Sd_pois = p.Sd_pois; //毒麻分类编码 SINGL srvdto.Id_anti = p.Id_anti; //抗菌药分类 SINGL srvdto.Sd_anti = p.Sd_anti; //抗菌药分类编码 S srvdto.Id_mmtp = p.Id_mmtp; //物品类型 SINGL srvdto.Sd_mmtp = p.Sd_mmtp; //物品类型编码 SINGL srvdto.Id_val = p.Id_val; //价值分类 SINGL srvdto.Sd_val = p.Sd_val; //价值分类编码 SINGL srvdto.Fg_self = p.Fg_self; //自备药标识 SINGL srvdto.Fg_propc = p.Fg_propc; //预防用药标识 SINGL srvdto.Fg_indic = p.Fg_treat; //治疗用药标识 SINGL srvdto.Id_dep = p.Id_mp_dep; //执行科室 REF srvdto.Name_dep = p.Name_mp_dep; //执行科室 REF srvdto.Des_srv = p.Note_or; //皮试内容 srvdto.Fg_skintest = p.Fg_skintest; srvdto.Id_skintest_skip_reason = p.Id_skintest_skip_reason; srvdto.Sd_reltp = p.Sd_reltp; srvdto.Id_or_rel = p.Id_or_rel; srvdto.Fg_mm = p.Fg_mm; srvdto.Fg_selfsrv = p.Fg_ctm; srvdto.Fg_selfpay = p.Fg_selfpay; // 自费标志 srvdto.Name_srv = p.Name_srv; srvdto.Id_dep_wh = p.Id_dep_wh; //库房id 2016-08-03 zwq srvdto.Id_srvtp = p.Id_srvtp; //服务类型 REF srvdto.Sd_srvtp = p.Sd_srvtp; //服务类型编码 SINGL srvdto.Code_srv = p.Code_srv; //医疗服务编码 SINGL srvdto.Name_srv = p.Name_srv; //医疗服务名称 SINGL srvdto.Id_srvca = p.Id_srvca; //服务项目基本分类 S srvdto.Fg_mm = p.Fg_mm; //物品标识 SINGL srvdto.Fg_set = (srv == null ? false : srv.Fg_set); //服务套标识 SINGL bl srvdto.Fg_or = (srv == null ? p.Fg_or : srv.Fg_or); //医嘱标识 SINGL srvdto.Innercode_srvca = (srv == null ? p.Innercode_srvca : srvdto.Innercode_srvca); //服务分类内部编码 bl //srvdto.Id_srv_set //所属服务套 SINGL srvdto.Id_hp = p.Id_hp; //医保计划id zwq 2016-07-12 srvdto.Id_hpsrvtp = p.Id_hpsrvtp; //医保目录类型 zwq 2016-07-12 srvdto.Sd_hpsrvtp = p.Sd_hpsrvtp; //医保目录类型编码 zwq 2016-07-12 srvdto.Fg_hpindicjudged = p.Fg_hpindicjudged; //医生是否已判断过标识 srvdto.Eu_blmd = (srv == null ? p.Eu_blmd : srvdto.Eu_blmd); //划价方式 bl srvdto.Emsagentinfo = p.Agentinfolist; //毒麻药品时核对的患者信息 srvdto.Priby = p.Priby; srvdto.Id_primd = p.Id_pri; srvdto.Status = (srv == null ? p.Status : srv.Status); return(srvdto); }
public void CreatPres(string id_pat) { //TODO:执行之前 只针对未设置处方的,只生成新的处方,不进行修改,暂时只是按照 分类进行分方,并没有对每个方子里的条数 进行限制 OrdSrvDO[] orderSrvs = modelSrv.GetSrvs(id_pat);//代表已经获取该患者的所有医嘱服务 参数 患者id //分组 医嘱服务 var v = from c in orderSrvs group c by new { SD_SRVTP = c.Sd_srvtp } into s select new { SD_SRVTP = s.Select(p => p.Sd_srvtp).First(), ordSrvCount = s.Select(p => p.Sd_srvtp).Count() }; v.ToList().ForEach(p => { OrdSrvDO srvtem = orderSrvs.First(t => t.Sd_srvtp == p.SD_SRVTP); string ci_code = "PRES" + CommonExtentions.NowTime(this).Year + CommonExtentions.NowTime(this).Month + CommonExtentions.NowTime(this).Day + CommonExtentions.NowTime(this).Hour + CommonExtentions.NowTime(this).Minute + CommonExtentions.NowTime(this).Second + CommonExtentions.NowTime(this).Millisecond + ran.Next(0, 100);//code 生成机制 CiPresDO ci = new CiPresDO() { //-此为处方所有字段,用到那个 解开注释加哪个 Id_pati = srvtem.Id_pat, Id_entp = srvtem.Id_entp, // "0001AA10000000004O80",//TODO: 临时数据, Code_entp = srvtem.Code_entp, // "01", Id_en = srvtem.Id_en, //"0001AA1000000001OM3N",//TODO: 临时数据, Id_di = "患者的诊断", //患者诊断, //Id_diitm, //Str_id_di, //Str_name_di, Id_srvtp = srvtem.Id_srvtp, Sd_srvtp = p.SD_SRVTP, //服务类型编码, Id_prestp = "01", //TODO:处方类型 后面改正 Sd_prestp = p.SD_SRVTP, Code = ci_code, Name = srvtem.Id_pat + "处方", Id_dep_or = UserManager.getInstance().CurrentDept.Id_dep, //开立科室 Id_emp_or = UserManager.getInstance().CurrentUser.Id_user, //开立医生 Dt_entry = CommonExtentions.NowTime(this), //开立日期 //Fg_bb, //No_bb, //Id_bb, Id_route = srvtem.Id_route,//用法, Id_routedes = srvtem.Id_routedes, //Id_boil, //Id_boildes, //Fg_charge, Fg_dispense = false,//发药标识, //Id_backtp, //Sd_backtp, //Fg_back, //Id_emp, //Fg_prn, //Fg_prn_add, //Id_pres_rel_add, Id_su_bl = "1", //TODO:记账状态 先假数据 Sd_su_bl = "1", //记账状态, //Fg_makeup, Createdby = UserManager.getInstance().CurrentUser.Createdby, Createdtime = UserManager.getInstance().CurrentUser.Createdtime, Modifiedby = UserManager.getInstance().CurrentUser.Modifiedby, Modifiedtime = UserManager.getInstance().CurrentUser.Modifiedtime, //Ds, //Sv }; string id_pres = Save(ci)[0].Id_pres; orderSrvs.ToList().ForEach(x => { if (x.Sd_srvtp == p.SD_SRVTP) { x.Id_pres = id_pres; x.Status = DOStatus.UPDATED; } }); }); //所有的医嘱单已经生成完毕 更新srv modelSrv.Save(orderSrvs); }
public void Save(OrdConsDTO dto, string type, string idUser, string idDept) { CiorappconsultAggDO consAggDo = consAggService.findById(dto.Id_apcons); if (type == CiDictCodeConst.CONS_RESPONSE) { if (consAggDo.getCiordInviteConsDO() == null) { return; } bool flag = true; foreach (CiordInviteConsDO inviteConsDo in consAggDo.getCiordInviteConsDO()) { if (inviteConsDo.Id_dep == idDept) { inviteConsDo.Id_emp = dto.Id_emp; inviteConsDo.Fg_response = true; inviteConsDo.Id_emp_response = idUser; inviteConsDo.Dt_response = new DateTime().NowTime(); inviteConsDo.Status = DOStatus.UPDATED; } if (inviteConsDo.Fg_response == false) { flag = false; } } if (flag) { consAggDo.getParentDO().Id_su_cons = CiDictCodeConst.ID_CIDI_KSYYD; consAggDo.getParentDO().Sd_su_cons = CiDictCodeConst.SD_CIDI_KSYYD; } else { consAggDo.getParentDO().Id_su_cons = CiDictCodeConst.ID_CIDI_KSBFYD; consAggDo.getParentDO().Sd_su_cons = CiDictCodeConst.SD_CIDI_KSBFYD; } } else { OrConsApAuditDO reviewDO = new OrConsApAuditDO(); reviewDO.Id_apcons = dto.Id_apcons; reviewDO.Id_emp = idUser; reviewDO.Id_dep = idDept; reviewDO.Dt_review = CommonExtentions.NowTime(this); reviewDO.Fg_audit = dto.Fg_audit; reviewDO.Des_review = dto.Des_review; List <OrConsApAuditDO> dolist = new List <OrConsApAuditDO>(); if (consAggDo.getOrConsApAuditDO() != null) { dolist = consAggDo.getOrConsApAuditDO().ToList(); } dolist.Add(reviewDO); consAggDo.setOrConsApAuditDO(dolist.ToArray()); if (type == CiDictCodeConst.CONS_DEPREVIEW) { if (reviewDO.Fg_audit == true) { if (consAggDo.getParentDO().Fg_audit_admdep == true) { consAggDo.getParentDO().Id_su_cons = CiDictCodeConst.ID_CIDI_DYWSP; consAggDo.getParentDO().Sd_su_cons = CiDictCodeConst.SD_CIDI_DYWSP; } else { consAggDo.getParentDO().Id_su_cons = CiDictCodeConst.ID_CIDI_DKSYD; consAggDo.getParentDO().Sd_su_cons = CiDictCodeConst.SD_CIDI_DKSYD; } } else { consAggDo.getParentDO().Id_su_cons = CiDictCodeConst.ID_CIDI_KSBH; consAggDo.getParentDO().Sd_su_cons = CiDictCodeConst.SD_CIDI_KSBH; } } else { if (reviewDO.Fg_audit == true) { consAggDo.getParentDO().Id_su_cons = CiDictCodeConst.ID_CIDI_DKSYD; consAggDo.getParentDO().Sd_su_cons = CiDictCodeConst.SD_CIDI_DKSYD; } else { consAggDo.getParentDO().Id_su_cons = CiDictCodeConst.ID_CIDI_YWBH; consAggDo.getParentDO().Sd_su_cons = CiDictCodeConst.SD_CIDI_YWBH; } } } consAggDo.Status = DOStatus.UPDATED; consAggDo.getParentDO().Status = DOStatus.UPDATED; saveService.SaveOrAppConsultAggDO(new CiorappconsultAggDO[] { consAggDo }, type); }
/// <summary> /// 中医 集合 /// </summary> /// <param name="type"></param> /// <param name="patientsDTO"></param> /// <param name="listDto"></param> /// <param name="list"></param> private string getzyList(bool type, string ditp_code, Ent4BannerDTO patientsDTO, string id_di, List <DIDTO> listDto, XapDataList <Cididtozy> listzy, string zy) { string str = zy; int i = 1; foreach (Cididtozy item in listzy) { // 判断是 新增 还是修改 DIDTO didto = new DIDTO(); if (id_di != null) { didto.Id_diitm = item.Id_diitm; } else { didto.Id_diitm = null; } didto.Id_di = id_di; didto.Id_didef = item.Di_disease; didto.Didef_code = item.Id_disease_code; didto.Didef_name = item.Id_disease_name; didto.Id_ditp = this.CidixyAggDto.AggDO.getParentDO().Id_ditp; didto.Sd_ditp = this.CidixyAggDto.AggDO.getParentDO().Id_ditp_code; didto.Id_ditp_name = item.Id_ditp_name; didto.Id_didef_syn = item.Id_syndrome; didto.Id_didef_syn_code = item.Id_syndrome_code; didto.Id_didef_syn_name = item.Id_syndrome_name; didto.Di_disease = item.Di_disease; didto.Id_disease_code = item.Id_disease_code; didto.Id_disease_name = item.Id_disease_name; didto.Id_disys = item.Id_disys; didto.Sd_disys = item.Sd_disys; didto.Id_disys_name = item.Id_disys_name; didto.Di_standard = item.Di_standard; didto.Di_standard_name = item.Di_standard_name; didto.Fg_suspdi = item.Fg_suspdi; if (ditp_code == CiDictCodeConst.SD_SUPPLY) { didto.Fg_majdi = FBoolean.False; } else { didto.Fg_majdi = item.Fg_majdi; } didto.Dt_di = CidixyAggDto.AggDO.getParentDO().Dt_di; //didto.Id_disys = CiDictCodeConst.ID_CI_DISYS_ZYZDTX;//item.Id_disys; didto.Id_disys_name = zy;//item.Id_disys_name; //didto.Sd_disys = CiDictCodeConst.SD_CI_DISYS_ZYZDTX; didto.Id_en = patientsDTO.Id_ent; didto.Id_pat = patientsDTO.Id_pat; //didto.Id_entp = patientsDTO.Id_entp; //didto.Code_entp = patientsDTO.Code_entp; didto.Id_dep_create = item.Id_dep_create; didto.Id_dep_create_name = UserManager.getInstance().CurrentUser.Name; didto.Id_emp_create = UserManager.getInstance().CurrentUser.Id_user; didto.Id_emp_create_name = UserManager.getInstance().CurrentUser.Name; str += " " + i + "," + item.Id_disease_name + "——" + item.Id_syndrome_name + ""; if (item.Fg_suspdi != null && (bool)item.Fg_suspdi) { str += " ? \n"; } else { str += " \n"; } if (type) { didto.Id_dep_sign = UserManager.getInstance().CurrentDept.Id_dep; didto.Id_emp_sign = UserManager.getInstance().CurrentPsnInfo.Id_psndoc; didto.Dt_sign = CommonExtentions.NowTime(this); } didto.Fg_sign = type; listDto.Add(didto); i++; } return(str); }
/// <summary> /// 西医 集合 /// </summary> /// <param name="type"></param> /// <param name="patientsDTO"></param> /// <param name="listDto"></param> /// <param name="list"></param> private string getxyList(bool type, string ditp_code, Ent4BannerDTO patientsDTO, string id_di, List <DIDTO> listDto, XapDataList <Cidixy> list, string xy) { string str = xy; int i = 1; foreach (Cidixy item in list) { DIDTO didto = new DIDTO(); // 判断是 新增 还是修改 if (id_di != null) { didto.Id_diitm = item.Id_diitm; } else { didto.Id_diitm = null; } didto.Id_di = id_di; didto.Id_didef = item.Id_didef; didto.Didef_code = item.Id_didef_code; didto.Didef_name = item.Id_didef_name; didto.Id_ditp = this.CidixyAggDto.AggDO.getParentDO().Id_ditp; didto.Sd_ditp = this.CidixyAggDto.AggDO.getParentDO().Id_ditp_code; didto.Id_ditp_name = item.Id_ditp_name; didto.Supplement = item.Supplement; didto.Id_disys = item.Id_disys; didto.Sd_disys = item.Sd_disys; didto.Id_disys_name = item.Id_disys_name; didto.Di_standard = item.Di_standard; didto.Di_standard_name = item.Di_standard_name; didto.Fg_suspdi = item.Fg_suspdi; if (ditp_code == CiDictCodeConst.SD_SUPPLY) { didto.Fg_majdi = FBoolean.False; } else { didto.Fg_majdi = item.Fg_majdi; } didto.Dt_di = CidixyAggDto.AggDO.getParentDO().Dt_di; didto.Supplement = item.Supplement; didto.Id_disys_name = xy;//item.Id_disys_name; str += " " + i + "," + item.Id_didef_name; if (item.Supplement != null && item.Supplement != "") { str += "——" + item.Supplement + ""; } if (item.Fg_suspdi != null && (bool)item.Fg_suspdi) { str += " ? \n"; } else { str += "\n"; } didto.Id_en = patientsDTO.Id_ent; didto.Code_entp = patientsDTO.Code_entp; didto.Id_pat = patientsDTO.Id_pat; didto.Id_entp = patientsDTO.Id_entp; didto.Id_dep_create = item.Id_dep_create; didto.Id_dep_create_name = item.Id_dep_creat_name; didto.Id_emp_create = UserManager.getInstance().CurrentPsnInfo.Id_psndoc; didto.Id_emp_create_name = UserManager.getInstance().CurrentPsnInfo.Name; if (type) { didto.Id_dep_sign = UserManager.getInstance().CurrentDept.Id_dep; didto.Id_emp_sign = UserManager.getInstance().CurrentPsnInfo.Id_psndoc; didto.Dt_sign = CommonExtentions.NowTime(this); } didto.Fg_sign = type; i++; listDto.Add(didto); } return(str); }