예제 #1
0
        /// <summary>
        /// 设置医嘱打印中医嘱内容 content_or_prn
        /// </summary>
        /// <param name="ordDataDTO">医嘱数据对象</param>
        private void setOrdPrintContent(OrdPrintDataDTO ordDataDTO, bool isSubOr)
        {
            // 获取当前打印数据对应的格式化字符串
            string format = cfgViewModel.GetRenderStr(ordDataDTO.Fg_long, ordDataDTO.Sd_srvtp);

            // 将OrdPrintDataDTO中属性按照格式化字符串进行数据转换
            string renderResult = RenderUtil.Render(format, ordDataDTO);

            ordDataDTO.Content_or_prn = (isSubOr ? "---" : "") + renderResult;
        }
예제 #2
0
        /// <summary>
        /// 获取重整标记行对应的OrdPrintDO对象
        /// </summary>
        /// <param name="ordPrintDataDTO">第一条待打印数据,用来完善重整标记行数据</param>
        /// <returns></returns>
        private OrdPrintDO getOrdPrintDOReset(OrdPrintDataDTO ordPrintDataDTO)
        {
            OrdPrintDO ordPrintDO = new OrdPrintDO();

            BeanUtils.CopyProerties(ordPrintDataDTO, ordPrintDO, propertiesReset);

            ordPrintDO.Fg_reformrow   = true;
            ordPrintDO.Content_or_prn = cfgViewModel.GetResetRowContent(true);
            return(ordPrintDO);
        }
예제 #3
0
        /// <summary>
        /// 将医嘱待打印数据对象转换为医嘱打印的数据对象
        /// </summary>
        /// <param name="ordDataDTO">医嘱待打印数据对象</param>
        /// <returns>医嘱打印的数据对象</returns>
        private OrdPrintDO convertOrdPrintData(OrdPrintDataDTO ordDataDTO, bool isSubOr)
        {
            OrdPrintDO ordPrintDO = new OrdPrintDO();

            // 格式好医嘱内容
            this.setOrdPrintContent(ordDataDTO, isSubOr);

            // 属性复制是先排除医生、核对护士签字
            // 进行属性拷贝
            string[] properties = new string[propertiesSign.Length + propertiesSignStop.Length];
            propertiesSign.CopyTo(properties, 0);
            propertiesSignStop.CopyTo(properties, propertiesSign.Length);
            BeanUtils.CopyProerties(ordDataDTO, ordPrintDO, properties);

            // 设置生效日期,停止日期,医生护士签字
            this.setOrdPrintDatetime(ordDataDTO, ordPrintDO);

            return(ordPrintDO);
        }
예제 #4
0
        /// <summary>
        /// 设置医嘱生效时间、停止时间
        /// </summary>
        /// <param name="ordDataDTO"></param>
        /// <param name="ordPrintDO"></param>
        private void setOrdPrintDatetime(OrdPrintDataDTO ordDataDTO, OrdPrintDO ordPrintDO)
        {
            // 设置医嘱的生效时间
            FDateTime dtEffe = ordPrintDO.Dt_effe;

            if (dtEffe != null)
            {
                DateTime dateTime = dtEffe.ToTarget;
                ordPrintDO.Dt_effe_m = dateTime.Month.ToString();
                ordPrintDO.Dt_effe_d = dateTime.Day.ToString();
                ordPrintDO.Dt_effe_t = dateTime.TimeOfDay.ToString();
            }

            // 判断是否需要打印签字人(签署医生、核对护士)
            if (cfgViewModel.IsPrintSignatory())
            {
                BeanUtils.SetProerties(ordDataDTO, ordPrintDO, propertiesSign);
            }

            // 当停止核对结束后打印停止时间
            if (ordPrintDO.Fg_chk_stop == FBoolean.True)
            {
                // 设置医嘱的停止时间
                ordPrintDO.Dt_end = ordDataDTO.Dt_end;
                FDateTime dtEnd    = ordPrintDO.Dt_end;
                DateTime  dateTime = dtEnd.ToTarget;

                ordPrintDO.Dt_end_m = dateTime.Month.ToString();
                ordPrintDO.Dt_end_d = dateTime.Day.ToString();
                ordPrintDO.Dt_end_t = dateTime.TimeOfDay.ToString();

                // 判断是否需要打印签字人(停止医生、停止核对护士)
                if (cfgViewModel.IsPrintSignatory())
                {
                    BeanUtils.SetProerties(ordDataDTO, ordPrintDO, propertiesSignStop);
                }
            }
        }