예제 #1
0
 /// <summary>
 ///  统计戒毒人员一栏数据
 /// </summary>
 /// <param name="param"></param>
 /// <returns></returns>
 public int GetGetBaneDataCount(BaneListParams param)
 {
     sb?.Clear();
     sb.Append(string.Format(@"SELECT COUNT(*) FROM  
     (SELECT user_sex,user_identify,user_type,user_phone FROM Bane_User 
     WHERE 1=1  "));
     if (!string.IsNullOrEmpty(param.baneName))
     {
         sb.Append(string.Format(" AND  user_name LIKE '%{0}%' ", param.baneName));
     }
     if (!string.IsNullOrEmpty(param.baneType))
     {
         sb.Append(string.Format(" AND  user_type='{0}' ", param.baneType));
     }
     //判断是否为父节点
     if (param.isParent)
     {
         sb.Append(string.Format(" AND org_id IN(SELECT folder_id FROM dbo.T_OrgFolder WHERE folder_path<>'{0}' AND folder_path LIKE '{0}%')  AND user_id IN(SELECT person_id FROM dbo.T_UserUnitPersonRelation WHERE user_id={1}) ", param.folder_path, param.user_id));
     }
     else
     {
         sb.Append(string.Format(" AND org_id={0} AND user_id IN(SELECT person_id FROM dbo.T_UserUnitPersonRelation WHERE user_id={1})", param.orgId, param.user_id));
     }
     sb.Append(@") users LEFT JOIN
     (SELECT ROW_NUMBER() OVER(PARTITION BY user_identify ORDER BY start_date DESC) rank,user_identify AS a0177 FROM Bane_RecoveryInfo
     WHERE 1=1 ");
     if (!string.IsNullOrEmpty(param.baneEnd))
     {
         sb.Append(string.Format(" AND  end_reason='{0}' ", param.baneEnd));
     }
     sb.Append(@") info ON users.user_identify=info.a0177 WHERE info.rank=1;");
     return(HCQ2_Common.Helper.ToInt(HCQ2_Common.SQL.SqlHelper.ExecuteScalar(sb.ToString())));
 }
예제 #2
0
 /// <summary>
 ///  统计定期尿检人员数量
 /// </summary>
 /// <param name="param"></param>
 /// <returns></returns>
 public int GetBaneProDataCount(BaneListParams param)
 {
     if (null == param)
     {
         return(0);
     }
     return(DBSession.IBane_UserDAL.GetBaneProDataCount(param));
 }
예제 #3
0
 /// <summary>
 ///  获取定期尿检记录数据
 /// </summary>
 /// <param name="param"></param>
 /// <returns></returns>
 public List <BaneProModel> GetBaneProData(BaneListParams param)
 {
     if (null == param)
     {
         return(null);
     }
     return(DBSession.IBane_UserDAL.GetBaneProData(param));
 }
예제 #4
0
 /// <summary>
 ///  统计定期尿检人员数量
 /// </summary>
 /// <param name="param"></param>
 /// <returns></returns>
 public int GetBaneProDataCount(BaneListParams param)
 {
     if (null == param)
     {
         return(0);
     }
     return(DBSession.IBane_UserDAL.GetBaneProDataCount(param, GetPermissions(param.user_id), HCQ2UI_Helper.Session.SysPermissSession.isAreaManager));
 }
예제 #5
0
 /// <summary>
 ///  获取定期尿检记录数据
 /// </summary>
 /// <param name="param"></param>
 /// <returns></returns>
 public List <BaneProModel> GetBaneProData(BaneListParams param)
 {
     if (null == param)
     {
         return(null);
     }
     return(DBSession.IBane_UserDAL.GetBaneProData(param, GetPermissions(param.user_id), HCQ2UI_Helper.Session.SysPermissSession.isAreaManager));
 }
예제 #6
0
        /// <summary>
        ///  获取戒毒人员一栏数据
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public List <BaneListModel> GetBaneData(BaneListParams param, List <int> perList, bool isManager)
        {
            sb?.Clear();
            sb.Append(string.Format(@"SELECT TOP {0} * FROM  
            (SELECT ROW_NUMBER() OVER(ORDER BY user_id ASC) rowNumber,user_name,user_sex,user_identify,user_type,user_phone,DATEDIFF(yy,CONVERT(varchar,user_birth,101),GETDATE())AS user_age,
            (CASE WHEN LEN(user_identify)=18 THEN LEFT(user_identify,6)+REPLICATE('*',8)+RIGHT(user_identify,4) 
            WHEN LEN(user_identify)=15 THEN LEFT(user_identify,6)+REPLICATE('*',6)+RIGHT(user_identify,3) ELSE REPLICATE('*',LEN(user_identify)) END) AS hiden_identify FROM Bane_User 
            WHERE 1=1 ", param.rows));
            if (!string.IsNullOrEmpty(param.baneName))
            {
                sb.Append(string.Format(" AND  user_name LIKE '%{0}%' ", param.baneName));
            }
            if (!string.IsNullOrEmpty(param.baneType))
            {
                sb.Append(string.Format(" AND  user_type='{0}' ", param.baneType));
            }
            //判断是否为父节点
            if (param.isParent)
            {
                if (isManager)
                {
                    sb.AppendFormat(@" AND org_id IN(SELECT folder_id FROM dbo.T_OrgFolder WHERE folder_path<>'{0}' AND folder_path LIKE '{0}%') AND org_id IN(
	                SELECT unit_id FROM dbo.T_UserUnitRelation WHERE user_id={1} 
	                UNION
	                SELECT area_code AS unit_id FROM dbo.T_AreaPermissRelation WHERE per_id IN({2}))  "    , param.folder_path, param.user_id, string.Join(",", perList));
                }
                else
                {
                    sb.Append(string.Format(" AND org_id IN(SELECT folder_id FROM dbo.T_OrgFolder WHERE folder_path<>'{0}' AND folder_path LIKE '{0}%') AND (user_id IN(SELECT person_id FROM dbo.T_UserUnitPersonRelation WHERE user_id={1}) OR user_id IN(SELECT user_id FROM Bane_UserPermissRelation WHERE per_id in({2})))", param.folder_path, param.user_id, string.Join(",", perList)));
                }
            }
            else
            if (isManager)
            {
                sb.AppendFormat(@" AND org_id={0} ", param.orgId);
            }
            else
            {
                sb.Append(string.Format(" AND org_id={0} AND (user_id IN(SELECT person_id FROM dbo.T_UserUnitPersonRelation WHERE user_id={1}) OR user_id IN(SELECT user_id FROM Bane_UserPermissRelation WHERE per_id IN({2})))", param.orgId, param.user_id, string.Join(",", perList)));
            }
            sb.Append(string.Format(@") users LEFT JOIN
(SELECT ROW_NUMBER() OVER(PARTITION BY user_identify ORDER BY start_date DESC) rank,CONVERT(varchar(100),start_date,23) AS start_date,
CONVERT(varchar(100),end_date,23) AS end_date,end_reason,user_identify AS a0177 FROM Bane_RecoveryInfo
WHERE 1=1 "));
            if (!string.IsNullOrEmpty(param.baneEnd))
            {
                sb.Append(string.Format(" AND  end_reason='{0}' ", param.baneEnd));
            }
            sb.Append(string.Format(@") info ON users.user_identify=info.a0177 WHERE info.rank=1 AND users.rowNumber>{0};", (param.page - 1) * param.rows));
            DataTable dt = HCQ2_Common.SQL.SqlHelper.ExecuteDataTable(sb.ToString(), CommandType.Text);

            return(HCQ2_Common.Data.DataTableHelper.DataTableToIList <BaneListModel>(dt));
        }
예제 #7
0
        /// <summary>
        ///  获取定期尿检记录数据
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public List <BaneProModel> GetBaneProData(BaneListParams param)
        {
            sb?.Clear();
            sb.Append(string.Format(@"SELECT TOP {0} ur_id,user_name,user_sex,user_age,user_identify,user_type,this_date,next_date,ISNULL(approve_status,2) AS approve_status,hiden_name,hiden_identify FROM 
            (SELECT ROW_NUMBER() OVER(ORDER BY user_id ASC) rowNumber,ur_next_date,user_name,user_sex,DATEDIFF(yy,CONVERT(varchar,user_birth,101),GETDATE())AS user_age,user_identify,user_type,CONVERT(varchar(100),ur_next_date,20) AS next_date,LEFT(user_name,1)+REPLICATE('*',LEN(user_name)-1) AS hiden_name,(CASE WHEN LEN(user_identify)=18 THEN LEFT(user_identify,6)+REPLICATE('*',8)+RIGHT(user_identify,4) WHEN LEN(user_identify)=15 THEN LEFT(user_identify,6)+REPLICATE('*',6)+RIGHT(user_identify,3) ELSE REPLICATE('*',LEN(user_identify)) END) AS hiden_identify FROM dbo.Bane_User WHERE 1=1 ", param.rows));
            if (param.isParent)
            {
                sb.Append(string.Format(@" AND org_id in(SELECT folder_id FROM dbo.T_OrgFolder WHERE folder_path <> '{0}' AND folder_path LIKE '{0}%')  AND user_id IN(SELECT person_id FROM dbo.T_UserUnitPersonRelation WHERE user_id={1}) ", param.folder_path, param.user_id));
            }
            else
            {
                sb.Append(string.Format(" AND org_id={0} AND user_id IN(SELECT person_id FROM dbo.T_UserUnitPersonRelation WHERE user_id={1}) ", param.orgId, param.user_id));
            }
            if (!string.IsNullOrEmpty(param.baneName))
            {
                sb.Append(string.Format(" AND  user_name LIKE '%{0}%' ", param.baneName));
            }
            if (!string.IsNullOrEmpty(param.baneType))
            {
                sb.Append(string.Format(" AND  user_type='{0}' ", param.baneType));
            }
            //定期尿检页面
            if (param.baneTask == "0")
            {
                sb.Append(@")users LEFT JOIN (SELECT * FROM(
                    SELECT ROW_NUMBER() OVER(PARTITION BY user_identify ORDER BY ur_id DESC) number, ur_id, user_identify AS a0177,approve_status,
                    CONVERT(varchar(100), ur_reality_date, 20) AS this_date,ur_reality_date FROM dbo.Bane_UrinalysisRecord) uRecord WHERE uRecord.number = 1)");
            }
            else
            {
                sb.Append(")users INNER JOIN (SELECT ur_id,user_identify AS a0177,approve_status,CONVERT(varchar(100),ur_reality_date,20) AS this_date,ur_reality_date FROM dbo.Bane_UrinalysisRecord WHERE approve_status=0)");
            }
            sb.Append(string.Format(@" record ON record.a0177 = users.user_identify WHERE users.rowNumber>{0} ", (param.page - 1) * param.rows));
            switch (param.banedays)
            {
            //已过检测
            case "0": sb.AppendFormat(" AND DATEDIFF(dd,CONVERT(varchar,users.ur_next_date,101),GETDATE())>{0}", param.banedays); break;

            //一周内
            case "-7": sb.AppendFormat(" AND DATEDIFF(dd,CONVERT(varchar,users.ur_next_date,101),GETDATE()) BETWEEN -7 AND 0"); break;

            //本月应检
            case "30": sb.AppendFormat(" AND MONTH(ur_next_date)=MONTH(GETDATE()) "); break;

            //本月已检
            case "-30": sb.AppendFormat(" AND LEFT(CONVERT(varchar(100),GETDATE(),23),7)=LEFT(CONVERT(varchar(100),record.ur_reality_date,23),7) "); break;
            }
            DataTable dt = HCQ2_Common.SQL.SqlHelper.ExecuteDataTable(sb.ToString(), CommandType.Text);

            return(HCQ2_Common.Data.DataTableHelper.DataTableToIList <BaneProModel>(dt));
        }
예제 #8
0
        /// <summary>
        ///  统计定期尿检人员数量
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public int GetBaneProDataCount(BaneListParams param)
        {
            sb?.Clear();
            sb.Append(string.Format(@"SELECT COUNT(*) FROM 
(SELECT ur_next_date,user_name,user_identify,user_type FROM dbo.Bane_User WHERE 1=1 "));
            if (param.isParent)
            {
                sb.Append(string.Format(@" AND org_id in(SELECT folder_id FROM dbo.T_OrgFolder WHERE folder_path <> '{0}' AND folder_path LIKE '{0}%') AND user_id IN(SELECT person_id FROM dbo.T_UserUnitPersonRelation WHERE user_id={1}) ", param.folder_path, param.user_id));
            }
            else
            {
                sb.Append(string.Format(" AND org_id={0} AND user_id IN(SELECT person_id FROM dbo.T_UserUnitPersonRelation WHERE user_id={1}) ", param.orgId, param.user_id));
            }
            if (!string.IsNullOrEmpty(param.baneName))
            {
                sb.Append(string.Format(" AND  user_name LIKE '%{0}%' ", param.baneName));
            }
            if (!string.IsNullOrEmpty(param.baneType))
            {
                sb.Append(string.Format(" AND  user_type='{0}' ", param.baneType));
            }
            if (param.baneTask == "0")
            {
                sb.Append(@")users LEFT JOIN (SELECT * FROM(
                    SELECT ROW_NUMBER() OVER(PARTITION BY user_identify ORDER BY ur_id ASC) number, ur_id, user_identify AS a0177, approve_status,
                    CONVERT(varchar(100), ur_reality_date, 23) AS this_date,ur_reality_date FROM dbo.Bane_UrinalysisRecord) uRecord WHERE uRecord.number = 1) record ON record.a0177 = users.user_identify ");
            }
            else
            {
                sb.Append(")users INNER JOIN (SELECT ur_id,user_identify AS a0177,ur_reality_date FROM dbo.Bane_UrinalysisRecord WHERE approve_status=0) record ON record.a0177 = users.user_identify ");
            }
            switch (param.banedays)
            {
            //已过检测
            case "0": sb.AppendFormat(" WHERE DATEDIFF(dd,CONVERT(varchar,users.ur_next_date,101),GETDATE())>{0}", param.banedays); break;

            //一周内
            case "-7": sb.AppendFormat(" WHERE DATEDIFF(dd,CONVERT(varchar,users.ur_next_date,101),GETDATE()) BETWEEN -7 AND 0"); break;

            //本月应检
            case "30": sb.AppendFormat(" WHERE MONTH(ur_next_date)=MONTH(GETDATE()) "); break;

            //本月已检
            case "-30": sb.AppendFormat(" AND LEFT(CONVERT(varchar(100),GETDATE(),23),7)=LEFT(CONVERT(varchar(100),record.ur_reality_date,23),7) "); break;
            }
            return(HCQ2_Common.Helper.ToInt(HCQ2_Common.SQL.SqlHelper.ExecuteScalar(sb.ToString())));
        }
예제 #9
0
        public ActionResult GetBaneUserData()
        {
            string keyword     = RequestHelper.GetDeStrByName("baneName"), //用户名
                   baneType    = RequestHelper.GetDeStrByName("baneType"), //人员类别,戒毒,康复
                   baneEnd     = RequestHelper.GetDeStrByName("baneEnd"),  //结束监管原因
                   folder_path = RequestHelper.GetStrByName("folder_path");
            int page           = Helper.ToInt(Request["page"]),
                rows           = Helper.ToInt(Request["rows"]),
                orgId          = RequestHelper.GetIntByName("orgId"),//组织机构ID
                isParent       = RequestHelper.GetIntByName("isParent");

            keyword = (!string.IsNullOrEmpty(keyword)) ? HttpUtility.UrlDecode(keyword) : keyword;
            BaneListParams       param  = new BaneListParams(operateContext.Usr.user_id, keyword, baneType, baneEnd, folder_path, (isParent > 0?true:false), orgId, page, rows, "", "");
            List <BaneListModel> bane   = base.operateContext.bllSession.Bane_User.GetBaneData(param);
            TableModel           tModel = new TableModel()
            {
                total = operateContext.bllSession.Bane_User.GetGetBaneDataCount(param),
                rows  = bane
            };

            return(Json(tModel, JsonRequestBehavior.AllowGet));
        }