tijian_tieying/web/dccdc.DAL/szyd_zjsysqDal.cs
2025-02-20 12:14:39 +08:00

345 lines
14 KiB
C#

using Dapper;
using dccdc.Models;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace dccdc.DAL
{
public class szyd_zjsysqDal
{
public int getCountLevel(string where)
{
string sql = "select count(1) from dbo.szyd_zjsysq";
if (!string.IsNullOrEmpty(where))
{
sql += " where " + where;
}
using (IDbConnection conn = CommHelper.GetSqlConnection())
{
return conn.ExecuteScalar<int>(sql);
}
}
public List<szyd_zjsysqModel> getPageLevel(int page, int pagesize, string where)
{
string sql = "select *,row_number() over(order by id desc) as rownum from szyd_zjsysq";
if (!string.IsNullOrEmpty(where))
{
sql += " where " + where;
}
sql = "select * from (" + sql + ") t where t.rownum>(" + page + "-1)*" + pagesize + " and rownum<=" + page + "*" + pagesize;
using (IDbConnection conn = CommHelper.GetSqlConnection())
{
return conn.Query<Models.szyd_zjsysqModel>(sql).ToList();
}
}
private string getszydsqdh(out string errmsg)
{
errmsg = "";
string result = "";
string start = DateTime.Now.ToString("yyyyMM") + "0001";
string end = DateTime.Now.ToString("yyyyMM") + "9999";
using (IDbConnection conn = CommHelper.GetSqlConnection())
{
string sql = "select top 1 sqdh from szyd_zjsysq where sqdh >= '" + start + "' and sqdh<= '" + end + "' order by id desc";
try
{
var result2 = conn.ExecuteScalar(sql);
if (result2 == null)
result = start;
else
{
result = (Convert.ToInt32(result2) + 1).ToString();
if (result == end)
errmsg = "单号不足!";
}
}
catch (Exception ex)
{
errmsg = ex.Message;
}
}
return result;
}
public List<szyd_zjsysqModel> GetAllList(string id)
{
using (IDbConnection conn = CommHelper.GetSqlConnection())
{
string sql = "select * from szyd_zjsysq where 1=1";
if (!string.IsNullOrEmpty(id))
{
sql += " and id=@id";
}
return conn.Query<szyd_zjsysqModel>(sql, new { @id = id }).ToList();
}
}
public object szyd_sqdSave(string id, int ksid, string ksmc, int sqrid, string sqr, string je, string nr, string zjxz, string fyly1, string fyly2, string cgfs, string yjsysj, int zt, string del)
{
string errmsg = "";
string sqdh = getszydsqdh(out errmsg);
if (errmsg != "")
return new { State = 0, Message = "false" };
szyd_zjsysqModel model = new szyd_zjsysqModel();
model.sqdh = sqdh;
model.sqrid = sqrid;
model.sqr = sqr;
model.sqsj = DateTime.Now;
model.tjsj = DateTime.Now;
model.ksid = ksid;
model.ksmc = ksmc;
model.je = Convert.ToDecimal(je);
model.nr = nr;
model.zjxz = zjxz;
model.fyly1 = Convert.ToBoolean(fyly1);
model.fyly2 = Convert.ToBoolean(fyly2);
model.cgfs = cgfs;
model.yjsysj = Convert.ToDateTime(yjsysj);
model.mx = "";
model.zt = zt;
if (model.zt == 7)
{
model.zt = 3; //三重一大7变成3
}
model.del = 0;
model.sort = "单独添加";
if (!string.IsNullOrEmpty(del))
{
model.del = 1;
model.sort = "等待确认";
}
string sql = @"INSERT INTO [dbo].[szyd_zjsysq]
([sqdh],[sqsj],[tjsj],[sqrid],[sqr],[ksid],[ksmc],[je],[nr],[zjxz],[fyly1],[fyly2],[cgfs],[yjsysj],[mx],[zt],[del],[sort])
VALUES
(@sqdh,@sqsj,@tjsj,@sqrid,@sqr,@ksid,@ksmc,@je,@nr,@zjxz,@fyly1,@fyly2,@cgfs,@yjsysj,@mx,@zt,@del,@sort)select SCOPE_IDENTITY()";
int sqdid = 0;
using (IDbConnection conn = CommHelper.GetSqlConnection())
{
try
{
sqdid = conn.Query<int>(sql, model).FirstOrDefault();
return new { State = 1, Message = "操作成功", id = sqdid };
}
catch (Exception ex)
{
return new { State = 0, Message = ex.Message };
}
}
}
public object szyd_sqdSave2(string id, int ksid, string ksmc, int sqrid, string sqr, string je, string nr, string zjxz, string fyly1, string fyly2, string cgfs, string yjsysj, int zt)
{
szyd_zjsysqModel model = new szyd_zjsysqModel();
model.id = Convert.ToInt32(id);
model.je = Convert.ToDecimal(je);
model.nr = nr;
model.zjxz = zjxz;
model.fyly1 = Convert.ToBoolean(fyly1);
model.fyly2 = Convert.ToBoolean(fyly2);
model.cgfs = cgfs;
model.yjsysj = Convert.ToDateTime(yjsysj);
model.zt = zt;
if (model.zt == 7)
{
model.zt = 3; //三重一大7变成3
}
string sql = @"UPDATE [dbo].[szyd_zjsysq]
SET [je] = @je,[nr] = @nr,[zjxz] = @zjxz,[fyly1] = @fyly1,[fyly2] = @fyly2,[cgfs] = @cgfs,[yjsysj] = @yjsysj,[zt] = @zt
WHERE id=@id";
using (IDbConnection conn = CommHelper.GetSqlConnection())
{
try
{
conn.Execute(sql, model);
return new { State = 1, Message = "修改成功", id = id };
}
catch (Exception ex)
{
return new { State = 0, Message = ex.Message };
}
}
}
public object delete(string id)
{
string sql = "delete from szyd_zjsysq where id=@id";
using (IDbConnection conn = CommHelper.GetSqlConnection())
{
try
{
//删除之前获取明细
int result = conn.Execute(sql, new { id = id });
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 opSzydSp(string id, int sprid, string spr, string yj, bool ty)
{
using (IDbConnection conn = CommHelper.GetSqlConnection())
{
string sql2 = "select * from szyd_zjsysq where 1=1";
if (!string.IsNullOrEmpty(id))
{
sql2 += " and id=@id";
}
szyd_zjsysqModel model = conn.Query<szyd_zjsysqModel>(sql2, new { @id = id }).FirstOrDefault();
if (model == null)
return new { State = 0, Message = "不存在记录" };
else
{
string sql = "";
int zt = 0;
switch (model.zt)
{
case 1:
sql = "update szyd_zjsysq set mx='', sprid1=@sprid, spr1=@spr,sptime1=@sptime,spnr1=@spnr,zt=@zt where id=@id";
if (ty) { zt = 2; } else { zt = -1; }
break;
case 2:
sql = "update szyd_zjsysq set sprid2=@sprid, spr2=@spr,sptime2=@sptime,spnr2=@spnr,zt=@zt where id=@id";
if (ty) { zt = 3; } else { zt = -2; }
break;
case 3:
sql = "update szyd_zjsysq set sprid3=@sprid, spr3=@spr,sptime3=@sptime,spnr3=@spnr,zt=@zt where id=@id";
//if (ty) { zt = 4; } else { zt = -3; }
//跳过会签
if (ty) { zt = 5; } else { zt = -3; }
break;
case 4:
//会签特殊
int hqCount = model.mx.Split(new string[] { "<br/>" }, StringSplitOptions.RemoveEmptyEntries).Length;
if (hqCount >= 4)
{
sql = "update szyd_zjsysq set mx=mx+@mx, sprid4=@sprid,spr4=@spr,sptime4=@sptime,spnr4=@spnr,zt=@zt where id=@id";
if (ty) { zt = 5; } else { zt = -4; }
}
else
{
sql = "update szyd_zjsysq set mx=mx+@mx,zt=@zt where id=@id";
if (ty) { zt = 4; } else { zt = -4; }
}
break;
case 5:
sql = "update szyd_zjsysq set sprid5=@sprid,spr5=@spr,sptime5=@sptime,spnr5=@spnr,zt=@zt where id=@id";
if (ty) { zt = 7; } else { zt = -5; }
break;
case 7:
sql = "update szyd_zjsysq set sprid6=@sprid,spr6=@spr,sptime6=@sptime,spnr6=@spnr,zt=@zt where id=@id";
if (ty) { zt = 8; } else { zt = -7; }
break;
}
try
{
int result = conn.Execute(sql, new { @id = id, @sprid = sprid, @spr = spr, @sptime = DateTime.Now, @spnr = yj, @zt = zt, @mx = spr + " (会签) " + DateTime.Now.ToString() + " " + yj + "<br/>" });
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 opSpOneself(string id, int sprid, string spr, string yj, bool ty, string zw)
{
using (IDbConnection conn = CommHelper.GetSqlConnection())
{
string sql2 = "select * from szyd_zjsysq where 1=1";
if (!string.IsNullOrEmpty(id))
{
sql2 += " and id=@id";
}
szyd_zjsysqModel model = conn.Query<szyd_zjsysqModel>(sql2, new { @id = id }).FirstOrDefault();
if (model == null)
return new { State = 0, Message = "不存在记录" };
else
{
string sql = "";
switch (zw)
{
case "科室领导":
sql = "update szyd_zjsysq set sprid1=@sprid, spr1=@spr,sptime1=@sptime,spnr1=@spnr where id=@id";
break;
case "分管领导":
sql = "update szyd_zjsysq set sprid2=@sprid, spr2=@spr,sptime2=@sptime,spnr2=@spnr where id=@id";
break;
}
try
{
int result = conn.Execute(sql, new { @id = id, @sprid = sprid, @spr = spr, @sptime = DateTime.Now, @spnr = yj, @mx = spr + " (会签) " + DateTime.Now.ToString() + " " + yj + "<br/>" });
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 opQd(string id, string sort, string sortid, int del)
{
szyd_zjsysqModel model = new szyd_zjsysqModel();
model.id = Convert.ToInt32(id);
model.sort = sort;
model.sortid = Convert.ToInt32(sortid);
model.del = del;
string sql = @"UPDATE [dbo].[szyd_zjsysq]
SET [sort] = @sort,[sortid] = @sortid,[del] = @del
WHERE id=@id and del=1";
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 };
}
}
}
}
}