protected override ciordems.d.EmsOrDrug[] Convert2Drugs(iih.ci.ord.dto.d.CiOrAggAndRelInfo info, object viewModel) { if (viewModel == null || !(viewModel is XapDataList <EmsOpitemDO>)) { return(null); } XapDataList <EmsOpitemDO> drugList = viewModel as XapDataList <EmsOpitemDO>; CiOrderDO ord = info.OrAggDO.getParentDO(); FMap orSrvMmMap = info.OrSrvMmMap; List <EmsOrDrug> szDrugs = new List <EmsOrDrug>(); Dictionary <String, object> tmpCacheSrv = new Dictionary <string, object>(); // 处理医嘱带过来的信息 EmsOpitemDO opItemDO = null; if (drugList.Count > 0) { opItemDO = drugList[0]; tmpCacheSrv.Add(opItemDO.Id_srv, opItemDO); } // 处理附加项 szDrugs.AddRange(ToEmsOrDrugs(info.OrAggDO, tmpCacheSrv, info.OrSrvMmMap, info.BlSrvMap)); return(szDrugs.ToArray()); }
/// <summary> /// 读取附加术信息 /// </summary> private void OpexInfo2OpAppendItem() { // {{ 精简代码逻辑 -- 2016-11-30 -- wangqzh EmsOpitemDO opItemDO = uiEmsDTO.Emsapop; if (opItemDO.Code_opex_srvs != null) { string[] code_srvs = opItemDO.Code_opex_srvs.Split(','); string[] id_srvs = opItemDO.Id_opex_srvs.Split(','); string[] name_srvs = opItemDO.Name_opex_srvs.Split(','); // 0.设置附加时候的初始状态,如果含有附加手术,保存前先设置deleted逻辑删除状态 opItemDO.OpAppendOpItem.ToList().ForEach(p => { p.Status = DOStatus.DELETED; }); // 1. 循环参照选出的附加手术服务id for (int index = 0; index < code_srvs.Length; ++index) { // 2. 找到附加手术参照列表中的一项服务与附加手术列表中的相同项目,如果找到,则设置状态为 updated 状态 EmsItemInOp iteminop = opItemDO.OpAppendOpItem.FirstOrDefault(p => p.Id_srv.Equals(id_srvs[index])); if (null != iteminop) { iteminop.Status = DOStatus.UPDATED; // iteminop.Id_orsrv = ciEmsDTO.Id_or; } // 3. 没有找到,则认为是新增 else { iteminop = new EmsItemInOp() { Code_srv = code_srvs[index], Id_srv = id_srvs[index], Name_srv = name_srvs[index], Status = DOStatus.NEW }; opItemDO.OpAppendOpItem.Add(iteminop); } } } else { opItemDO.OpAppendOpItem.ToList().ForEach(p => { p.Status = DOStatus.DELETED; }); } // }} }
protected override void OnXapFormControl_DataDisplay(object sender, XDataDisplayEventArgs e) { XDataRow row = sender as XDataRow; EmsOpitemDO opItemDO = e.Object as EmsOpitemDO; if (row != null && row.ColumnCellDict.ContainsKey("customercolumn_optime_limit")) { string value = ""; if (opItemDO.Fg_xq_sug != null && opItemDO.Fg_xq_sug.Value) { value = "1";// "限期"; } else if (opItemDO.Fg_er_sug != null && opItemDO.Fg_er_sug.Value) { value = "2";// "急症"; } else { opItemDO.Fg_zq_sug = true; value = "0";// "择期"; } row.ColumnCellDict["customercolumn_optime_limit"].SetValue(value); } }
private void XapFormControl_DataChanged(object sender, DataChangedEventArgs e) { if (dataChanging) { return; } EmsOpitemDO item = e.Data as EmsOpitemDO; if (item == null) { return; } dataChanging = true; dynamic check = item.getAttrVal(e.PropName); if (check is xap.mw.coreitf.d.FBoolean) { if (!check && Fg_sugs.Contains(e.PropName)) { item.setAttrVal <bool?>(e.PropName, true); dataChanging = false; return; } switch (e.PropName) { case "Fg_er_sug": item.Fg_xq_sug = false; item.Fg_zq_sug = false; //setDateTimeLabel(e.PropName); break; case "Fg_xq_sug": item.Fg_er_sug = false; item.Fg_zq_sug = false; // setDateTimeLabel(e.PropName); break; case "Fg_zq_sug": item.Fg_er_sug = false; item.Fg_xq_sug = false; // setDateTimeLabel(e.PropName); break; } } else { var opitem = EmsHeadDO.Emsapop.OpEmpItem; switch (e.PropName) { case "Id_emp_operator": var empop = opitem.FirstOrDefault(t => t.Id_role == CiDictCodeConst.ID_OP_ROLE_ZDYS); if (empop != null) { empop.Id_emp_op = item.Id_emp_operator; empop.Name_emp_op = item.Name_emp_operator; } break; case "Id_emp_help1": var help1 = opitem.FirstOrDefault(t => t.Id_role == CiDictCodeConst.ID_OP_ROLE_DYZS); if (help1 != null) { help1.Id_emp_op = item.Id_emp_help1; help1.Name_emp_op = item.Name_emp_help1; } break; case "Name_sugbodycod": this.setSpecialdesText(); break; case "Specialreq": this.setSpecialdesText(); break; case "Specialinstrument": this.setSpecialdesText(); break; case "Dt_plan": EmsHeadDO.Dt_begin_ui = EmsHeadDO.Emsapop.Dt_plan; //同步开始时间 break; } } dataChanging = false; }