using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; using dccdc.Models; using Dapper; using dccdc.Models.DTO; namespace dccdc.DAL { public class PersonalCheckDal { public List GetAllList(string filtrate) { try { using (IDbConnection conn = CommHelper.GetSqlConnection()) { string param = ""; if (filtrate != null && filtrate != "") { param += " and (name LIKE '%" + filtrate + "%' or unit LIKE '%" + filtrate + "%' or phone = '"+filtrate+"' or ident = '"+ filtrate + "' or u.nickname ='" + filtrate + "' )"; } string sql = "SELECT info.id AS id,info.name,info.phone,info.ident,info.type,u.nickname AS nickname,info.pass_time AS passTime,info.unit FROM infection_open_user_info info LEFT JOIN infection_open_user u ON u.id = info.pass_by WHERE 1 = 1 "; return conn.Query(sql + param, new { filtrate = filtrate }).ToList(); } } catch (Exception ex) { string s = ex.Message; return null; } } public PersonalCheckModel getOne(string id) { string sql = "SELECT info.id AS id, info.name,info.phone,info.ident,info.type,u.nickname AS nickname,info.pass_time AS passTime," + " info.unit FROM infection_open_user_info info LEFT JOIN infection_open_user u ON u.id = info.pass_by WHERE info.id = @id"; using (IDbConnection conn = CommHelper.GetSqlConnection()) { return conn.Query(sql, new { id = id }).First(); } } public object save(PersonalCheckModel model) { System.DateTime currentTime = new System.DateTime(); currentTime = System.DateTime.Now; model.create_time = currentTime.ToString(); string sql = ""; if (model.id == 0) { sql = @"INSERT INTO [dbo].[infection_open_user_info] ([name] ,[phone] ,[ident] ,[type] ,[unit] ,[user_id] ,[create_time] ) VALUES (@name ,@phone ,@ident ,0 ,@unit ,@user_id ,@create_time )"; } else { sql = @"UPDATE [dbo].[infection_open_user_info] SET [name] = @name ,[phone] = @phone ,[ident] = @ident ,[type] = @type ,[pass_time] = @passTime ,[unit] = @unit WHERE id=@id"; } using (IDbConnection conn = CommHelper.GetSqlConnection()) { try { int result = conn.Execute(sql, model); if (result > 0) return new { State = 1, Message = "保存成功!" }; else return new { State = 0, Message = "保存失败!" }; } catch (Exception ex) { return new { State = 0, Message = ex.Message }; } } } //修改审核状态 public object updateType(string id,string type) { string sql = @"UPDATE [dbo].[infection_open_user_info] SET [type] = @type WHERE id=@id"; using (IDbConnection conn = CommHelper.GetSqlConnection()) { try { int result = conn.Execute(sql, new { @id = id, @type = type}); if (result > 0) return new { State = 1, Message = "审核成功!" }; else return new { State = 0, Message = "审核失败!" }; } catch (Exception ex) { return new { State = 0, Message = ex.Message }; } } } public bool isExist(string num, int jgid) { //throw new NotImplementedException(); string sql = "select count(1) from professionalExam_register where physical_num=@num"; if (jgid != 49) { sql += " and jgid=" + jgid; } using (IDbConnection conn = CommHelper.GetSqlConnection()) { return (conn.ExecuteScalar(sql, new { num = num }) != 0 ? true : false); } } //; select SCOPE_IDENTITY() public int Add(PersonalCheckModel model) { string sql = @"INSERT INTO [dbo].[professionalExam_register] ([health_certificate_number] ,[physical_num] ,[physical_num_old] ,[person_name] ,[sex] ,[person_age] ,[birth] ,[card_number] ,[phone] ,[native_info_maintain_id] ,[home_address] ,[category] ,[trade_type_maintain_id] ,[work_category] ,[person_category] ,[person_type_maintain_id] ,[util_name] ,[enterprise_info_maintain_id] ,[area] ,[depart] ,[physical_category] ,[medical_scheme_maintain_id] ,[register_type] ,[physical_way] ,[physical_status] ,[register_date] ,[phone_path] ,[status] ,[prescription] ,[physial_expenses] ,[payment] ,[haemospasia] ,[stool] ,[urine] ,[image] ,[director_approval_status] ,[procedure_status] ,[main_review] ,[main_result] ,[result_status] ,[is_printed] ,[wait_print] ,[other] ,[printtimes] ,[exam_type_id] ,[exam_type] ,[main_user_id] ,[main_user_name] ,[main_review_date] ,[work_category_id] ,[check_date] ,[security_card_no] ,[flag] ,[physical_type] ,[special_health_certificate] ,[charging_time]) VALUES (@health_certificate_number ,@physical_num ,@physical_num_old ,@person_name ,@sex ,@person_age ,@birth ,@card_number ,@phone ,@native_info_maintain_id ,@home_address ;select SCOPE_IDENTITY()"; using (IDbConnection conn = CommHelper.GetSqlConnection()) { return conn.Query(sql, model).FirstOrDefault(); //return (conn.Query(sql, model).FirstOrDefault() != 0 ? true : false); } } public object Update2(PersonalCheckModel model) { // model.passTime = DateTime.Now.ToString("yyyy-MM-dd"); string sql = @"UPDATE [dbo].[professionalExam_register] SET [person_name] = @person_name ,[sex] = @sex ,[nation] =@nation ,[marry_status]=@marry_status ,[person_age] = @person_age ,[birth] = @birth ,[phone] = @phone ,[native_info_maintain_id] = @native_info_maintain_id ,[home_address] = @home_address ,[work_category] = @work_category WHERE id=@id"; using (IDbConnection conn = CommHelper.GetSqlConnection()) { try { int result = conn.Execute(sql, model); if (result > 0) return new { State = 1, Message = "保存成功!" }; else return new { State = 0, Message = "保存失败!" }; } catch (Exception ex) { return new { State = 0, Message = ex.Message }; } } } public List GetAllList(Criteria model) { string sql = ""; using (IDbConnection conn = CommHelper.GetSqlConnection()) { switch (model.result_status) { case "1": sql = @"select id,health_certificate_number,enterprise_info_maintain_id,physical_num,person_name,person_age,card_number,phone,category,work_category,util_name,area,register_type,hazard_ids,job_status_id from professionalExam_register where id not in(select distinct person_id from professionalExam_project_result where qualified like '不合格' or deficiency like '缺项') and procedure_status like '已录入检查结果' and register_type not like '复检登记' and freezing_and_thawing is null and register_date >= @startDate and register_date <= @endDate and physical_type like '%职业%'"; break; case "2": sql = @"select id,health_certificate_number,enterprise_info_maintain_id,physical_num,person_name,person_age,card_number,phone,category,work_category,util_name,area,register_type ,hazard_ids,job_status_id from professionalExam_register where id in(select distinct person_id from professionalExam_project_result where qualified like '不合格') and procedure_status like '已录入检查结果' and register_type not like '复检登记' and freezing_and_thawing is null and register_date >= @startDate and register_date <= @endDate and physical_type like '%职业%'"; break; case "3": sql = @"select id,health_certificate_number,enterprise_info_maintain_id,physical_num,person_name,person_age,card_number,phone,category,work_category,util_name,area,register_type ,hazard_ids,job_status_id from professionalExam_register where register_type like '复检登记' and procedure_status like '已录入检查结果' and freezing_and_thawing is null and register_date >= @startDate and register_date <= @endDate and physical_type like '%职业%'"; break; case "4": sql = @"select id,health_certificate_number,enterprise_info_maintain_id,physical_num,person_name,person_age,card_number,phone,category,work_category,util_name,area,register_type ,hazard_ids,job_status_id from professionalExam_register where procedure_status in('主检医生已审核','已打印健康证') and freezing_and_thawing is null and register_date >= @startDate and register_date <= @endDate and physical_type like '%职业%'"; break; } if (model.person_name != "") { sql += " and person_name like @person_name "; } if (model.physical_num != "") { sql += " and physical_num like @physical_num "; } if (model.check_type != "") { sql += " and exam_type = @check_type "; } if (model.checkstartDate != null && model.checkstartDate != "") { sql += "and check_date >= @checkstartDate "; } if (model.checkendDate != null && model.checkendDate != "") { sql += "and check_date <= @checkendDate "; } sql += " order by register_date"; return conn.Query(sql, new { @checkstartDate = model.checkstartDate, @checkendDate = model.checkendDate, @check_type = model.check_type, @person_name = "%" + model.person_name + "%", @physical_num = "%" + model.physical_num + "%", @startDate = model.startDate, @endDate = model.endDate }).ToList(); } } public PersonalCheckModel getOneByNum(string physical_num) { string sql = "select * from professionalExam_register where physical_num=@physical_num"; using (IDbConnection conn = CommHelper.GetSqlConnection()) { return conn.Query(sql, new { physical_num = physical_num }).First(); } } } }