tijian_tieying/web/dccdc.DAL/PhysicalQueryDal.cs

274 lines
12 KiB
C#
Raw Permalink Normal View History

2025-02-20 12:14:39 +08:00
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 PhysicalQueryDal
{
public PhysicalQueryModel getOn;
public List<PhysicalQueryModel> GetAllList(string start, string end)
{
try
{
using (IDbConnection conn = CommHelper.GetSqlConnection())
{
string param = "";
if (start != null && start != "")
{
param += "and order_date >= @start and order_date <= @end";
}
string sql = "SELECT t.id,t.name,t.phone,t.test_org,t.ident,t.order_date,t.state,t.birth,t.unit FROM infection_test t WHERE 1 = 1 ";
return conn.Query<PhysicalQueryModel>(sql + param, new { start = start,end=end }).ToList();
}
}
catch (Exception ex)
{
string s = ex.Message;
return null;
}
}
public PhysicalQueryModel getOne(string id)
{
string sql = "SELECT * FROM infection_test WHERE id = @id";
using (IDbConnection conn = CommHelper.GetSqlConnection())
{
return conn.Query<PhysicalQueryModel>(sql, new { id = id }).First();
}
}
public List<PhysicalQueryModel> GetAllList2()
{
using (IDbConnection conn = CommHelper.GetSqlConnection())
{
return conn.Query<PhysicalQueryModel>("select * from infection_test where 1=1 ").ToList();
}
}
public object save(PhysicalQueryModel model)
{
string sql = "";
if (model.id == 0)
{
sql = @"INSERT INTO [dbo].[infection_test]
,[user_id]
,[test_type]
,[test_org]
,[name]
,[ident]
,[phone]
,[order_date]
,[order_place]
,[test_date]
,[cancel_reason]
,[state]
,[create_time]
)
VALUES
(,@user_id
,@test_type
,@test_org
,@name
,@ident
,@phone
,@order_date
,@order_place
,@test_date
,@cancel_reason
,@state
,@create_time
)";
}
else
{
sql = @"UPDATE [dbo].[infection_test]
SET [user_id] = @user_id
,[test_type] = @test_type
,[test_org] = @test_org
,[name] = @name
,[ident] = @ident
,[phone] = @phone
,[order_date] = @order_date
,[test_date] = @test_date
,[cancel_reason] = @cancel_reason
,[state] = @state
,[birth] = @birth
,[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 abolishOrder(PhysicalQueryModel model)
{
string sql = @"UPDATE [dbo].[infection_test]
SET [cancel_reason] = @cancel_reason
,[state] = 2
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<PhysicalQueryModel> downFile(string start, string end)
{
StringBuilder u = new StringBuilder("select * from infection_test where 1=1");
if (start != null && end != null && start != "" && end != "")
{
u.Append(" and order_date >= @start and order_date <= @end");
}
using (IDbConnection conn = CommHelper.GetSqlConnection())
{
try
{
var list = conn.Query<PhysicalQueryModel>(u.ToString(), new { start = start, end = end }).ToList();
return list;
}
catch (Exception e) {
string err = e.Message;
return null;
}
}
}
public object Update2(PhysicalQueryModel 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<PhysicalQueryModel> 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<PhysicalQueryModel>(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();
}
}
}
}