コード例 #1
0
        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());
        }
コード例 #2
0
        /// <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; });
            }
            // }}
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
        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;
        }