private bool CheckQuestion(string QuId, string QueName, decimal?QU_SN, string bgNo, ref string msg)
        {
            List <CrmQpaperQu> result;

            if (string.IsNullOrEmpty(QuId))
            {
                result = _crmQpaperQuRepository.GetAllList(m => m.QU_SN == QU_SN && m.DEL_FLAG == 1 && m.BG_NO == bgNo);
            }
            else
            {
                result = _crmQpaperQuRepository.GetAllList(m => m.Id != QuId && m.QU_SN == QU_SN && m.DEL_FLAG == 1 && m.BG_NO == bgNo);
            }
            if (result != null && result.Count > 0)
            {
                msg = "该题号已存在";
                return(false);
            }

            if (string.IsNullOrEmpty(QuId))
            {
                result = _crmQpaperQuRepository.GetAllList(m => m.QU_NAME == QueName && m.DEL_FLAG == 1 && m.BG_NO == bgNo);
            }
            else
            {
                result = _crmQpaperQuRepository.GetAllList(m => m.Id != QuId && m.QU_NAME == QueName && m.DEL_FLAG == 1 && m.BG_NO == bgNo);
            }
            if (result != null && result.Count > 0)
            {
                msg = "该题目名称已存在";
                return(false);
            }

            return(true);
        }
        /// <summary>
        /// 创建套卷
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public CrmQpaperMstr CreateQpaper(CrmQpaperMstrDto dto)
        {
            try
            {
                if (CheckPaperName(dto.Id, dto.PAPER_NAME, dto.PAPER_TYPE, AbpSession.ORG_NO))
                {
                    var strList = dto.INCLUDE_QUESTION_IDS.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList();
                    var list    = _crmQpaperQuRepository.GetAllList(c => c.DEL_FLAG == 1).Where(c => strList.Contains(c.Id)).ToList();
                    //将选择的题目设置为启用
                    foreach (var item in list)
                    {
                        item.QU_ENABLED = 1;
                        _crmQpaperQuRepository.Update(item);
                    }

                    if (string.IsNullOrEmpty(dto.Id))
                    {
                        dto.Id = Guid.NewGuid().ToString("N");
                        _initHelper.InitAdd(dto, AbpSession.USR_ID, AbpSession.ORG_NO, AbpSession.BG_NO);

                        return(_crmQpaperMstrRepository.Insert(dto.ToEntity()));
                    }
                    else
                    {
                        _initHelper.InitUpdate(dto, AbpSession.USR_ID);
                        return(_crmQpaperMstrRepository.Update(dto.ToEntity()));
                    }
                }
                return(null);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// 更新预约单状态为已完成并推送服务评价
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public CrmAptMstr UpdateStatusToComplete(string id)
        {
            var msg        = "";
            var aptInfo    = _crmAptMstrRepository.Get(id);
            var evaluation = _crmQpaperQuRepository.GetAllList(m => m.PAPER_TYPE == 3);

            if (evaluation != null)
            {
                //var isOK = ServiceEvaluationToCustomer(aptInfo.OPENID, aptInfo.CUS_NO, aptInfo.APT_BU_NO, aptInfo.BG_NO, "", "", aptInfo.APT_CLASS, ref msg);

                aptInfo.APT_STATUS   = "已完成";
                aptInfo.SERVICE_DESK = AbpSession.USR_NAME;
                aptInfo.UPDATE_DATE  = DateTime.Now;
                aptInfo.UPDATE_PSN   = AbpSession.USR_ID;

                _crmAptMstrRepository.Update(aptInfo);
            }
            return(null);
        }