using Dapper; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Threading.Tasks; using VueWebCoreApi.Models; using VueWebCoreApi.Tools; namespace VueWebCoreApi.DLL.DAL { public class MouldManagerDAL { public static DataTable dt; //定义全局变量dt public static bool res; //定义全局变量dt public static ToMessage mes = new ToMessage(); //定义全局返回信息对象 public static string strProcName = ""; //定义全局sql变量 public static List listStr = new List(); //定义全局参数集合 public static SqlParameter[] parameters; //定义全局SqlParameter参数数组 #region[模具清单列表查询] public static ToMessage MouldMangerSearch(string mouldstaus, string onstate, string mouldcode, string mouldname, string mouldspec, string createuser, string opendate, string closedate, int startNum, int endNum, string prop, string order) { var dynamicParams = new DynamicParameters(); string search = ""; try { if (mouldstaus != "" && mouldstaus != null) { search += "and A.status=@mouldstaus "; dynamicParams.Add("@mouldstaus", mouldstaus); } if (onstate != "" && onstate != null) { search += "and A.usestatus=@onstate "; dynamicParams.Add("@onstate", onstate); } if (mouldcode != "" && mouldcode != null) { search += "and A.code like '%'+@mouldcode+'%' "; dynamicParams.Add("@mouldcode", mouldcode); } if (mouldname != "" && mouldname != null) { search += "and A.name like '%'+@mouldname+'%' "; dynamicParams.Add("@mouldname", mouldname); } if (mouldspec != "" && mouldspec != null) { search += "and A.spec like '%'+@mouldspec+'%' "; dynamicParams.Add("@mouldspec", mouldspec); } if (createuser != "" && createuser != null) { search += "and U.username like '%'+@createuser+'%' "; dynamicParams.Add("@createuser", createuser); } if (opendate != "" && opendate != null) { search += "and A.lm_date between @opendate and @closedate "; dynamicParams.Add("@opendate", opendate + " 00:00:00"); dynamicParams.Add("@closedate", closedate + " 23:59:59"); } if (search == "") { search = "and 1=1 "; } // --------------查询指定数据-------------- var total = 0; //总条数 var sql = @"select A.status,A.usestatus,A.code,A.name,A.spec,A.warehousecode,S.name as warehousename, A.surp_life,'0' as serlife,A.resi_life,(case when isnull(M.mouldcode,'')='' then 'N' else 'Y' end) as is_part, STUFF((SELECT ',' + B.partcode from TMouldInfoPart B where A.code = B.mouldcode FOR XML PATH('')), 1, 1, '') AS partcode, A.lm_user as usercode,U.username,A.lm_date from TMouldInfo A left join TSecStck S on A.warehousecode=S.code left join ( select distinct mouldcode from TMouldInfoPart ) M on A.code=M.mouldcode left join TUser U on A.lm_user=U.usercode where 1=1 " + search; var data = DapperHelper.GetPageList(sql, dynamicParams, prop, order, startNum, endNum, out total); mes.code = "200"; mes.Message = "查询成功!"; mes.count = total; mes.data = data.ToList(); } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具清单新增编辑] public static ToMessage AddUpdateMouldManger(string mouldcode, string mouldname, string mouldspec, string warehousecode, string surplife, string resilife, string status, string mouldpart, string opertype, User us) { var sql = ""; var dynamicParams = new DynamicParameters(); List list = new List(); try { if (opertype == "Add") { //写入模具清单表 sql = @"insert into TMouldInfo(code,name,spec,status,usestatus,warehousecode,surp_life,resi_life,lm_user,lm_date) values(@code,@name,@spec,@status,@usestatus,@warehousecode,@surp_life,@resi_life,@lm_user,@lm_date)"; list.Add(new { str = sql, parm = new { code = mouldcode, name = mouldname, spec = mouldspec, status = status, usestatus = "0",//使用状态:在库/出库/上机/下机/维修/外借(0,1,2,3,4,5) warehousecode = warehousecode, surp_life = surplife, resi_life = resilife, lm_user = us.usercode, lm_date = DateTime.Now.ToString() } }); //写入模具关联产品表 List mouldParts = JsonConvert.DeserializeObject>(mouldpart); for (int i = 0; i < mouldParts.Count; i++) { sql = @"insert into TMouldInfoPart(mouldcode,partcode,lm_user,lm_date) values(@mouldcode,@partcode,@lm_user,@lm_date)"; list.Add(new { str = sql, parm = new { mouldcode = mouldcode, partcode = mouldParts[i].ToString(), lm_user = us.usercode, lm_date = DateTime.Now.ToString() } }); } bool aa = DapperHelper.DoTransaction(list); if (aa) { //写入操作记录表 LogHelper.DbOperateLog(us.usercode, "新增", "模具:" + mouldcode, us.usertype); mes.code = "200"; mes.count = 0; mes.Message = "新增操作成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.Message = "新增操作失败!"; mes.data = null; } } if (opertype == "Update") { //修改模具清单表 sql = @"update TMouldInfo set name=@name,spec=@spec,status=@status,warehousecode=@warehousecode, surp_life=@surp_life,resi_life=@resi_life,lm_user=@lm_user,lm_date=@lm_date where code=@code"; list.Add(new { str = sql, parm = new { code = mouldcode, name = mouldname, spec = mouldspec, status = status, warehousecode = warehousecode, surp_life = surplife, resi_life = resilife, lm_user = us.usercode, lm_date = DateTime.Now.ToString() } }); //删除模具关联产品表 sql = @"delete from TMouldInfoPart where mouldcode=@mouldcode"; list.Add(new { str = sql, parm = new { mouldcode = mouldcode } }); //写入模具关联产品表 List mouldParts = JsonConvert.DeserializeObject>(mouldpart); for (int i = 0; i < mouldParts.Count; i++) { sql = @"insert into TMouldInfoPart(mouldcode,partcode,lm_user,lm_date) values(@mouldcode,@partcode,@lm_user,@lm_date)"; list.Add(new { str = sql, parm = new { mouldcode = mouldcode, partcode = mouldParts[i].ToString(), lm_user = us.usercode, lm_date = DateTime.Now.ToString() } }); } bool aa = DapperHelper.DoTransaction(list); if (aa) { //写入操作记录表 LogHelper.DbOperateLog(us.usercode, "修改", "模具:" + mouldcode, us.usertype); mes.code = "200"; mes.count = 0; mes.Message = "修改操作成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.Message = "修改操作失败!"; mes.data = null; } } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具清单删除] public static ToMessage DeleteMouldManger(string mouldcode, User us) { var sql = ""; List list = new List(); var dynamicParams = new DynamicParameters(); try { list.Clear(); //判断模具是否存在点检记录、保养、维修、上下机、出入库记录,不允许删除 sql = @"select mould_code from TMouldchk_Proc_Main where mould_code=@devicecode union all select mould_code from TMouldmaint_Proc_Main where mould_code=@devicecode union all select mould_code from TMould_RepairRequest where mould_code=@devicecode"; dynamicParams.Add("@devicecode", mouldcode); var data = DapperHelper.selectdata(sql, dynamicParams); if (data.Rows.Count > 0) { mes.code = "300"; mes.count = 0; mes.Message = "当前模具存在操作记录,不允许删除!"; mes.data = null; return mes; } //删除模具清单表 sql = @"delete TMouldInfo where code=@mouldcode"; list.Add(new { str = sql, parm = new { mouldcode = mouldcode } }); //删除模具关联产品表 sql = @"delete TMouldInfoPart where mouldcode=@mouldcode"; list.Add(new { str = sql, parm = new { mouldcode = mouldcode } }); //删除模具绑定点检标准表 sql = @"delete TMouldchk_Mould where mould_code=@mouldcode"; list.Add(new { str = sql, parm = new { mouldcode = mouldcode } }); //删除模具绑定保养标准表 sql = @"delete TMouldmai_Mould where mould_code=@mouldcode"; list.Add(new { str = sql, parm = new { mouldcode = mouldcode } }); bool aa = DapperHelper.DoTransaction(list); if (aa) { //写入操作记录表 LogHelper.DbOperateLog(us.usercode, "删除", "模具:" + mouldcode, us.usertype); mes.code = "200"; mes.count = 0; mes.Message = "删除成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.Message = "删除失败!"; mes.data = null; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具点检项列表查询] public static ToMessage MouldCheckItemSearch(string checkitemcode, string checkitemname, string checkdescr, int startNum, int endNum, string prop, string order) { var dynamicParams = new DynamicParameters(); string search = ""; try { if (checkitemcode != "" && checkitemcode != null) { search += "and A.code like '%'+@checkitemcode+'%' "; dynamicParams.Add("@checkitemcode", checkitemcode); } if (checkitemname != "" && checkitemname != null) { search += "and A.name like '%'+@checkitemname+'%' "; dynamicParams.Add("@checkitemname", checkitemname); } if (checkdescr != "" && checkdescr != null) { search += "and A.description like '%'+@checkdescr+'%' "; dynamicParams.Add("@checkdescr", checkdescr); } if (search == "") { search = "and 1=1 "; } //search = search.Substring(3);//截取索引2后面的字符 // --------------查询指定数据-------------- var total = 0; //总条数 var sql = @"select A.id,A.code,A.name,A.description,U.username as lm_user,A.lm_date from TMouldchk_Item A left join TUser U on A.lm_user=U.usercode where 1=1 " + search; var data = DapperHelper.GetPageList(sql, dynamicParams, prop, order, startNum, endNum, out total); mes.code = "200"; mes.Message = "查询成功!"; mes.count = total; mes.data = data.ToList(); } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具点检项新增编辑] public static ToMessage AddUpdateMouldCheckItem(string checkitemid, string checkitemcode, string checkitemname, string checkitemdescr, User us, string opertype) { var dynamicParams = new DynamicParameters(); try { if (opertype == "Add") { var sql = @"insert into TMouldchk_Item(code,name,description,lm_user,lm_date) values(@checkitemcode,@checkitemname,@checkitemdescr,@usercode,@CreateDate)"; dynamicParams.Add("@checkitemcode", checkitemcode); dynamicParams.Add("@checkitemname", checkitemname); dynamicParams.Add("@checkitemdescr", checkitemdescr); dynamicParams.Add("@usercode", us.usercode); dynamicParams.Add("@CreateDate", DateTime.Now.ToString()); int cont = DapperHelper.SQL(sql, dynamicParams); if (cont > 0) { //写入操作记录表 LogHelper.DbOperateLog(us.usercode, "新增", "模具点检项:" + checkitemcode, us.usertype); mes.code = "200"; mes.count = 0; mes.Message = "新增操作成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.Message = "新增操作失败!"; mes.data = null; } } if (opertype == "Update") { var sql = @"update TMouldchk_Item set name=@checkitemname,description=@checkitemdescr, lm_user=@usercode,lm_date=@CreateDate where id=@checkitemid"; dynamicParams.Add("@checkitemid", checkitemid); dynamicParams.Add("@checkitemname", checkitemname); dynamicParams.Add("@checkitemdescr", checkitemdescr); dynamicParams.Add("@usercode", us.usercode); dynamicParams.Add("@CreateDate", DateTime.Now.ToString()); int cont = DapperHelper.SQL(sql, dynamicParams); if (cont > 0) { //写入操作记录表 LogHelper.DbOperateLog(us.usercode, "修改", "模具点检项:" + checkitemcode, us.usertype); mes.code = "200"; mes.count = 0; mes.Message = "修改操作成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.Message = "修改操作失败!"; mes.data = null; } } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具点检项删除] public static ToMessage DeleteMouldCheckItem(string checkitemcode,User us) { var sql = ""; List list = new List(); var dynamicParams = new DynamicParameters(); try { list.Clear(); //判断点检标准项目是否有关联点检标准,不允许删除 sql = @"select * from TMouldchk_Deta where code=@checkitemcode"; dynamicParams.Add("@checkitemcode", checkitemcode); var data = DapperHelper.selectdata(sql, dynamicParams); if (data.Rows.Count > 0) { mes.code = "300"; mes.count = 0; mes.Message = "当前点检项目已关联标准,不允许删除!"; mes.data = null; return mes; } //删除点检项目 sql = @"delete TMouldchk_Item where code=@checkitemcode"; list.Add(new { str = sql, parm = new { checkitemcode = checkitemcode } }); bool aa = DapperHelper.DoTransaction(list); if (aa) { //写入操作记录表 LogHelper.DbOperateLog(us.usercode, "删除", "模具点检项:" + checkitemcode, us.usertype); mes.code = "200"; mes.count = 0; mes.Message = "删除成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.Message = "删除失败!"; mes.data = null; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具点检标准列表查询] public static ToMessage DeviceCheckStandArdSearch(string checkstandcode, string checkstandname, string checkstandescr, int startNum, int endNum, string prop, string order) { var dynamicParams = new DynamicParameters(); string search = ""; try { if (checkstandcode != "" && checkstandcode != null) { search += "and A.code like '%'+@checkstandcode+'%' "; dynamicParams.Add("@checkstandcode", checkstandcode); } if (checkstandname != "" && checkstandname != null) { search += "and A.name like '%'+@checkstandname+'%' "; dynamicParams.Add("@checkstandname", checkstandname); } if (checkstandescr != "" && checkstandescr != null) { search += "and A.iscontr=@checkstandescr "; dynamicParams.Add("@checkstandescr", checkstandescr); } if (search == "") { search = "and 1=1 "; } //search = search.Substring(3);//截取索引2后面的字符 // --------------查询指定数据-------------- var total = 0; //总条数 var sql = @"select A.id,A.code,A.name,A.description,A.is_checkmould,U.username as lm_user,A.lm_date from TMouldchk_Main A left join TUser U on A.lm_user=U.usercode where 1=1 " + search; var data = DapperHelper.GetPageList(sql, dynamicParams, prop, order, startNum, endNum, out total); mes.code = "200"; mes.Message = "查询成功!"; mes.count = total; mes.data = data.ToList(); } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具点检标准编辑/查看获取数据] public static ToMessage ViewMouldCheckStanedSearch(string checkstand_code) { string sql = ""; var dynamicParams = new DynamicParameters(); try { //获取模具点检标准信息 sql = @"select code,name,description from TMouldchk_Main where code=@checkstand_code"; dynamicParams.Add("@checkstand_code", checkstand_code); var data = DapperHelper.selectdata(sql, dynamicParams); RoutEdit rout = new RoutEdit(); if (data.Rows.Count > 0) { rout.code = data.Rows[0]["CODE"].ToString(); rout.name = data.Rows[0]["NAME"].ToString(); rout.description = data.Rows[0]["DESCRIPTION"].ToString(); } else { mes.code = "300"; mes.count = 0; mes.Message = "无点检标准信息!"; mes.data = null; return mes; } //根据模具点检标准编码获取关联的检验项目信息 sql = @"select B.code,B.name,A.chkdesc from TMouldchk_Deta A left join TMouldchk_Item B on A.code=B.code where A.mouldchk_main_code=@checkstaned_code order by A.seq asc"; dynamicParams.Add("@checkstaned_code", rout.code); var data0 = DapperHelper.selectdata(sql, dynamicParams); rout.Data = data0; mes.code = "200"; mes.Message = "查询成功!"; mes.data = rout; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具点检标准新增编辑] public static ToMessage AddUpdateMouldCheckStandArd(string opertype, RoutEdit json, User us) { var sql = ""; var dynamicParams = new DynamicParameters(); List list = new List(); try { if (opertype == "Add") { //新增模具点检标准主表 sql = @"insert into TMouldchk_Main(code,name,description,lm_user,lm_date) values(@code,@name,@descr,@lm_user,@lm_date)"; list.Add(new { str = sql, parm = new { code = json.code, name = json.name, descr = json.description,lm_user = us.usercode, lm_date = DateTime.Now.ToString() } }); for (int i = 0; i < json.Data.Rows.Count; i++) { //新增模具点检标准关联点检项子表 sql = @"insert TMouldchk_Deta (seq,code,name,mouldchk_main_code,chkdesc,lm_user,lm_date) values(@checkitem_seq,@checkitem_code,@checkitem_name,@mouldchk_main_code,@chkdesc,@lm_user,@lm_date)"; list.Add(new { str = sql, parm = new { checkitem_seq = Convert.ToInt32(json.Data.Rows[i]["CHECKITEM_SEQ"].ToString()), checkitem_code = json.Data.Rows[i]["CHECKITEM_CODE"].ToString(), checkitem_name = json.Data.Rows[i]["CHECKITEM_NAME"].ToString(), mouldchk_main_code = json.code, chkdesc = json.Data.Rows[i]["CHECKITEM_DESCR"].ToString(), lm_user = us.usercode, lm_date = DateTime.Now.ToString() } }); } bool aa = DapperHelper.DoTransaction(list); if (aa) { //写入操作记录表 LogHelper.DbOperateLog(us.usercode, "新增", "模具点检标准:" + json.code, us.usertype); mes.code = "200"; mes.count = 0; mes.Message = "操作成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.Message = "操作失败!"; mes.data = null; } } if (opertype == "Update") { //删除点检标准关联点检项目子表 sql = @"delete from TMouldchk_Deta where mouldchk_main_code=@checkstaned_code"; list.Add(new { str = sql, parm = new { checkstaned_code = json.code } }); //修改点检标准主表 sql = @"update TMouldchk_Main set name=@checkstaned_name,description=@checkstaned_desc where code=@checkstaned_code"; list.Add(new { str = sql, parm = new { checkstaned_code = json.code, checkstaned_name = json.name, checkstaned_desc = json.description} }); //新增点检标准关联点检项目子表 for (int i = 0; i < json.Data.Rows.Count; i++) { sql = @"insert TMouldchk_Deta (seq,code,name,mouldchk_main_code,chkdesc,lm_user,lm_date) values(@checkitem_seq,@checkitem_code,@checkitem_name,@mouldchk_main_code,@chkdesc,@lm_user,@lm_date)"; list.Add(new { str = sql, parm = new { checkitem_seq = Convert.ToInt32(json.Data.Rows[i]["CHECKITEM_SEQ"].ToString()), checkitem_code = json.Data.Rows[i]["CHECKITEM_CODE"].ToString(), checkitem_name = json.Data.Rows[i]["CHECKITEM_NAME"].ToString(), mouldchk_main_code = json.code, chkdesc = json.Data.Rows[i]["CHECKITEM_DESCR"].ToString(), lm_user = us.usercode, lm_date = DateTime.Now.ToString() } }); } bool aa = DapperHelper.DoTransaction(list); if (aa) { //写入操作记录表 LogHelper.DbOperateLog(us.usercode, "修改", "模具点检标准:" + json.code, us.usertype); mes.code = "200"; mes.count = 0; mes.Message = "操作成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.Message = "操作失败!"; mes.data = null; } } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具点检标准删除] public static ToMessage DeleteMouldCheckStaned(string checkstand_code, User us) { var sql = ""; List list = new List(); var dynamicParams = new DynamicParameters(); try { sql = @"select * from TMouldchk_Proc_Main where mouldchkmain_code=@checkstand_code"; dynamicParams.Add("@checkstand_code", checkstand_code); var data = DapperHelper.selectdata(sql, dynamicParams); if (data.Rows.Count > 0) { mes.code = "300"; mes.count = 0; mes.Message = "当前点检标准已生成点检记录,不允许删除!"; mes.data = null; return mes; } //删除模具点检标准主表 sql = @"delete TMouldchk_Main where code=@checkstand_code"; list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } }); //删除模具点检标准关联点检项目子表 sql = @"delete TMouldchk_Deta where mouldchk_main_code=@checkstand_code"; list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } }); //删除模具点检标准关联模具表 sql = @"delete TMouldchk_Mould where mouldchkmain_code=@checkstand_code"; list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } }); bool aa = DapperHelper.DoTransaction(list); if (aa) { //写入操作记录表 LogHelper.DbOperateLog(us.usercode, "删除", "模具点检标准:" + checkstand_code, us.usertype); mes.code = "200"; mes.count = 0; mes.Message = "设备点检标准删除成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.Message = "设备点检标准删除失败!"; mes.data = null; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具点检标准关联模具查询] public static ToMessage CheckStanedAssociationMould(string checkstand_code) { string sql = ""; var dynamicParams = new DynamicParameters(); try { sql = @"select * from( select AA.code,AA.name,'M' as type,(case when BB.mouldchkmain_code is null then 'N' else 'Y' end) flag from( select A.code,A.name,'' as mouldchkmain_code from TMouldInfo A where A.status='Y' ) as AA left join ( select A.code,A.name,B.mouldchkmain_code from TMouldInfo A inner join TMouldchk_Mould B on A.code=B.mould_code where B.mouldchkmain_code=@checkstand_code and A.status='Y' ) as BB on AA.code=BB.code ) as CC"; dynamicParams.Add("@checkstand_code", checkstand_code); var data = DapperHelper.selectdata(sql, dynamicParams); if (data.Rows.Count > 0) { mes.code = "200"; mes.Message = "查询成功!"; mes.data = data; } else { mes.code = "300"; mes.Message = "无模具资料!"; mes.data = null; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region [模具点检标准关联模具提交] public static ToMessage SaveCheckStanedAssociationMould(string checkstand_code, User us, List json) { var sql = ""; List list = new List(); try { list.Clear(); if (json == null || json.Count <= 0) { //清除模具点检标准关联模具表数据 sql = @"delete TMouldchk_Mould where mouldchkmain_code=@checkstand_code"; list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } }); //标记模具点检标准表关联模具标识 sql = @"update TMouldchk_Main set is_checkmould='N' where code=@checkstand_code"; list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } }); } else { //清除模具点检标准关联模具表数据 sql = @"delete TMouldchk_Mould where mouldchkmain_code=@checkstand_code"; list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } }); //循环写入模具点检标准关联模具表 for (int i = 0; i < json.Count; i++) { sql = @"insert into TMouldchk_Mould(mouldchkmain_code,mould_code,lm_user,lm_date) values(@checkstand_code,@mould_code,@lm_user,@lm_date)"; list.Add(new { str = sql, parm = new { mould_code = json[i].code, checkstand_code = checkstand_code, lm_user = us.usercode, lm_date = DateTime.Now.ToString() } }); } //标记模具点检标准表关联模具标识 sql = @"update TMouldchk_Main set is_checkmould='Y' where code=@checkstand_code"; list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } }); } bool aa = DapperHelper.DoTransaction(list); if (aa) { //写入操作记录表 LogHelper.DbOperateLog(us.usercode, "模具点检标准关联模具", "模具点检标准:" + checkstand_code, us.usertype); mes.code = "200"; mes.count = 0; mes.Message = "操作成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.Message = "操作失败!"; mes.data = null; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具保养项列表查询] public static ToMessage MouldMaiItemSearch(string maiitemcode, string maiitemname, string maidescr, int startNum, int endNum, string prop, string order) { var dynamicParams = new DynamicParameters(); string search = ""; try { if (maiitemcode != "" && maiitemcode != null) { search += "and A.code like '%'+@maiitemcode+'%' "; dynamicParams.Add("@maiitemcode", maiitemcode); } if (maiitemname != "" && maiitemname != null) { search += "and A.name like '%'+@maiitemname+'%' "; dynamicParams.Add("@maiitemname", maiitemname); } if (maidescr != "" && maidescr != null) { search += "and A.description like '%'+@maidescr+'%' "; dynamicParams.Add("@maidescr", maidescr); } if (search == "") { search = "and 1=1 "; } //search = search.Substring(3);//截取索引2后面的字符 // --------------查询指定数据-------------- var total = 0; //总条数 var sql = @"select A.id,A.code,A.name,A.description,U.username as lm_user,A.lm_date from TMouldmai_Item A left join TUser U on A.lm_user=U.usercode where 1=1 " + search; var data = DapperHelper.GetPageList(sql, dynamicParams, prop, order, startNum, endNum, out total); mes.code = "200"; mes.Message = "查询成功!"; mes.count = total; mes.data = data.ToList(); } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具保养项新增编辑] public static ToMessage AddUpdateMouldMaiItem(string maiitemid, string maiitemcode, string maiitemname, string maiitemdescr, User us, string opertype) { var dynamicParams = new DynamicParameters(); try { if (opertype == "Add") { var sql = @"insert into TMouldmai_Item(code,name,description,lm_user,lm_date) values(@maiitemcode,@maiitemname,@maiitemdescr,@usercode,@CreateDate)"; dynamicParams.Add("@maiitemcode", maiitemcode); dynamicParams.Add("@maiitemname", maiitemname); dynamicParams.Add("@maiitemdescr", maiitemdescr); dynamicParams.Add("@usercode", us.usercode); dynamicParams.Add("@CreateDate", DateTime.Now.ToString()); int cont = DapperHelper.SQL(sql, dynamicParams); if (cont > 0) { //写入操作记录表 LogHelper.DbOperateLog(us.usercode, "新增", "模具保养项:" + maiitemcode, us.usertype); mes.code = "200"; mes.count = 0; mes.Message = "新增操作成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.Message = "新增操作失败!"; mes.data = null; } } if (opertype == "Update") { var sql = @"update TMouldmai_Item set name=@maiitemname,description=@maiitemdescr, lm_user=@usercode,lm_date=@CreateDate where id=@maiitemid"; dynamicParams.Add("@maiitemid", maiitemid); dynamicParams.Add("@maiitemname", maiitemname); dynamicParams.Add("@maiitemdescr", maiitemdescr); dynamicParams.Add("@usercode", us.usercode); dynamicParams.Add("@CreateDate", DateTime.Now.ToString()); int cont = DapperHelper.SQL(sql, dynamicParams); if (cont > 0) { //写入操作记录表 LogHelper.DbOperateLog(us.usercode, "修改", "模具保养项:" + maiitemcode, us.usertype); mes.code = "200"; mes.count = 0; mes.Message = "修改操作成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.Message = "修改操作失败!"; mes.data = null; } } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具保养项删除] public static ToMessage DeleteMouldMaiItem(string maiitemcode, User us) { var sql = ""; List list = new List(); var dynamicParams = new DynamicParameters(); try { list.Clear(); //判断保养标准项目是否有关联保养标准,不允许删除 sql = @"select * from TMouldmai_Deta where code=@checkitemcode"; dynamicParams.Add("@maiitemcode", maiitemcode); var data = DapperHelper.selectdata(sql, dynamicParams); if (data.Rows.Count > 0) { mes.code = "300"; mes.count = 0; mes.Message = "当前保养项目已关联标准,不允许删除!"; mes.data = null; return mes; } //删除保养项目 sql = @"delete TMouldmai_Item where code=@maiitemcode"; list.Add(new { str = sql, parm = new { maiitemcode = maiitemcode } }); bool aa = DapperHelper.DoTransaction(list); if (aa) { //写入操作记录表 LogHelper.DbOperateLog(us.usercode, "删除", "模具保养项:" + maiitemcode, us.usertype); mes.code = "200"; mes.count = 0; mes.Message = "删除成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.Message = "删除失败!"; mes.data = null; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具保养标准列表查询] public static ToMessage MouldRepairStandArdSearch(string repairstandcode, string repairstandname, string repairstandescr, int startNum, int endNum, string prop, string order) { var dynamicParams = new DynamicParameters(); string search = ""; try { if (repairstandcode != "" && repairstandcode != null) { search += "and A.code like '%'+@repairstandcode+'%' "; dynamicParams.Add("@repairstandcode", repairstandcode); } if (repairstandname != "" && repairstandname != null) { search += "and A.name like '%'+@repairstandname+'%' "; dynamicParams.Add("@repairstandname", repairstandname); } if (repairstandescr != "" && repairstandescr != null) { search += "and A.iscontr=@repairstandescr "; dynamicParams.Add("@repairstandescr", repairstandescr); } if (search == "") { search = "and 1=1 "; } //search = search.Substring(3);//截取索引2后面的字符 // --------------查询指定数据-------------- var total = 0; //总条数 var sql = @"select A.id,A.code,A.name,A.description,A.is_repairmould,U.username as lm_user,A.lm_date from TMouldmai_Main A left join TUser U on A.lm_user=U.usercode where 1=1 " + search; var data = DapperHelper.GetPageList(sql, dynamicParams, prop, order, startNum, endNum, out total); mes.code = "200"; mes.Message = "查询成功!"; mes.count = total; mes.data = data.ToList(); } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具保养标准编辑/查看获取数据] public static ToMessage ViewMouldRepairStanedSearch(string repairstand_code) { string sql = ""; var dynamicParams = new DynamicParameters(); try { //获取模具保养标准信息 sql = @"select code,name,description from TMouldmai_Main where code=@repairstand_code"; dynamicParams.Add("@repairstand_code", repairstand_code); var data = DapperHelper.selectdata(sql, dynamicParams); RoutEdit rout = new RoutEdit(); if (data.Rows.Count > 0) { rout.code = data.Rows[0]["CODE"].ToString(); rout.name = data.Rows[0]["NAME"].ToString(); rout.description = data.Rows[0]["DESCRIPTION"].ToString(); } else { mes.code = "300"; mes.count = 0; mes.Message = "无点检标准信息!"; mes.data = null; return mes; } //根据模具保养标准编码获取关联的检验项目信息 sql = @"select B.code,B.name,A.chkdesc from TMouldmai_Deta A left join TMouldchk_Item B on A.code=B.code where A.mouldmai_main_code=@repairstand_code order by A.seq asc"; dynamicParams.Add("@repairstand_code", rout.code); var data0 = DapperHelper.selectdata(sql, dynamicParams); rout.Data = data0; mes.code = "200"; mes.Message = "查询成功!"; mes.data = rout; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具保养标准新增编辑] public static ToMessage AddUpdateMouldRepairStandArd(string opertype, RoutEdit json, User us) { var sql = ""; var dynamicParams = new DynamicParameters(); List list = new List(); try { if (opertype == "Add") { //新增模具保养标准主表 sql = @"insert into TMouldmai_Main(code,name,description,lm_user,lm_date) values(@code,@name,@descr,@lm_user,@lm_date)"; list.Add(new { str = sql, parm = new { code = json.code, name = json.name, descr = json.description, lm_user = us.usercode, lm_date = DateTime.Now.ToString() } }); for (int i = 0; i < json.Data.Rows.Count; i++) { //新增模具保养标准关联保养项子表 sql = @"insert TMouldmai_Deta (seq,code,name,mouldmai_main_code,chkdesc,lm_user,lm_date) values(@checkitem_seq,@checkitem_code,@mouldmai_main_code,@chkdesc,@lm_user,@lm_date)"; list.Add(new { str = sql, parm = new { checkitem_seq = Convert.ToInt32(json.Data.Rows[i]["CHECKITEM_SEQ"].ToString()), checkitem_code = json.Data.Rows[i]["CHECKITEM_CODE"].ToString(), checkitem_name = json.Data.Rows[i]["CHECKITEM_NAME"].ToString(), mouldmai_main_code=json.code, chkdesc = json.Data.Rows[i]["CHECKITEM_DESCR"].ToString(), lm_user = us.usercode, lm_date = DateTime.Now.ToString() } }); } bool aa = DapperHelper.DoTransaction(list); if (aa) { //写入操作记录表 LogHelper.DbOperateLog(us.usercode, "新增", "模具保养标准:" + json.code, us.usertype); mes.code = "200"; mes.count = 0; mes.Message = "操作成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.Message = "操作失败!"; mes.data = null; } } if (opertype == "Update") { //删除保养标准关联保养项目子表 sql = @"delete from TMouldmai_Deta where mouldmai_main_code=@repairstaned_code"; list.Add(new { str = sql, parm = new { repairstaned_code = json.code } }); //修改保养标准主表 sql = @"update TMouldmai_Main set name=@checkstaned_name,description=@checkstaned_desc where code=@repairstaned_code"; list.Add(new { str = sql, parm = new { repairstaned_code = json.code, checkstaned_name = json.name, checkstaned_desc = json.description } }); //新增保养标准关联保养项目子表 for (int i = 0; i < json.Data.Rows.Count; i++) { sql = @"insert TMouldmai_Deta (seq,code,name,mouldmai_main_code,chkdesc,lm_user,lm_date) values(@checkitem_seq,@checkitem_code,@checkitem_name,@mouldmai_main_code,@chkdesc,@lm_user,@lm_date)"; list.Add(new { str = sql, parm = new { checkitem_seq = Convert.ToInt32(json.Data.Rows[i]["CHECKITEM_SEQ"].ToString()), checkitem_code = json.Data.Rows[i]["CHECKITEM_CODE"].ToString(), checkitem_name = json.Data.Rows[i]["CHECKITEM_NAME"].ToString(), mouldmai_main_code = json.code, chkdesc = json.Data.Rows[i]["CHECKITEM_DESCR"].ToString(), lm_user = us.usercode, lm_date = DateTime.Now.ToString() } }); } bool aa = DapperHelper.DoTransaction(list); if (aa) { //写入操作记录表 LogHelper.DbOperateLog(us.usercode, "修改", "模具保养标准:" + json.code, us.usertype); mes.code = "200"; mes.count = 0; mes.Message = "操作成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.Message = "操作失败!"; mes.data = null; } } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具保养标准删除] public static ToMessage DeleteMouldRepairStaned(string repairstand_code, User us) { var sql = ""; List list = new List(); var dynamicParams = new DynamicParameters(); try { sql = @"select * from TMouldmaint_Proc_Main where mouldmaint_code=@repairstand_code"; dynamicParams.Add("@repairstand_code", repairstand_code); var data = DapperHelper.selectdata(sql, dynamicParams); if (data.Rows.Count > 0) { mes.code = "300"; mes.count = 0; mes.Message = "当前保养标准已生成点检记录,不允许删除!"; mes.data = null; return mes; } //删除模具保养标准主表 sql = @"delete TMouldmai_Main where code=@repairstand_code"; list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } }); //删除模具保养标准关联保养项目子表 sql = @"delete TMouldmai_Deta where mouldmai_main_code=@repairstand_code"; list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } }); //删除模具保养标准关联模具表 sql = @"delete TMouldmai_Mould where mouldmaimain_code=@repairstand_code"; list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } }); bool aa = DapperHelper.DoTransaction(list); if (aa) { //写入操作记录表 LogHelper.DbOperateLog(us.usercode, "删除", "模具保养标准:" + repairstand_code, us.usertype); mes.code = "200"; mes.count = 0; mes.Message = "模具保养标准删除成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.Message = "模具保养标准删除失败!"; mes.data = null; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具点检标准关联模具查询] public static ToMessage RepairStanedAssociationMould(string repairstand_code) { string sql = ""; var dynamicParams = new DynamicParameters(); try { sql = @"select * from( select AA.code,AA.name,'M' as type,(case when BB.mouldmaimain_code is null then 'N' else 'Y' end) flag from( select A.code,A.name,'' as mouldmaimain_code from TMouldInfo A where A.status='Y' ) as AA left join ( select A.code,A.name,B.mouldmaimain_code from TMouldInfo A inner join TMouldmai_Mould B on A.code=B.mould_code where B.mouldmaimain_code=@repairstand_code and A.status='Y' ) as BB on AA.code=BB.code ) as CC"; dynamicParams.Add("@repairstand_code", repairstand_code); var data = DapperHelper.selectdata(sql, dynamicParams); if (data.Rows.Count > 0) { mes.code = "200"; mes.Message = "查询成功!"; mes.data = data; } else { mes.code = "300"; mes.Message = "无模具资料!"; mes.data = null; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region [模具点检标准关联模具提交] public static ToMessage SaveRepairStanedAssociationMould(string repairstand_code, User us, List json) { var sql = ""; List list = new List(); try { list.Clear(); if (json == null || json.Count <= 0) { //清除模具保养标准关联模具表数据 sql = @"delete TMouldmai_Mould where mouldmaimain_code=@repairstand_code"; list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } }); //标记模具保养标准表关联模具标识 sql = @"update TMouldmai_Main set is_repairmould='N' where code=@repairstand_code"; list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } }); } else { //清除模具保养标准关联模具表数据 sql = @"delete TMouldmai_Mould where mouldmaimain_code=@repairstand_code"; list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } }); //循环写入模具保养标准关联模具表 for (int i = 0; i < json.Count; i++) { sql = @"insert into TMouldmai_Mould(mouldmaimain_code,mould_code,lm_user,lm_date) values(@repairstand_code,@mould_code,@lm_user,@lm_date)"; list.Add(new { str = sql, parm = new { mould_code = json[i].code, repairstand_code = repairstand_code, lm_user = us.usercode, lm_date = DateTime.Now.ToString() } }); } //标记模具保养标准表关联模具标识 sql = @"update TMouldmai_Main set is_repairmould='Y' where code=@repairstand_code"; list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } }); } bool aa = DapperHelper.DoTransaction(list); if (aa) { //写入操作记录表 LogHelper.DbOperateLog(us.usercode, "模具保养标准关联模具", "模具保养标准:" + repairstand_code, us.usertype); mes.code = "200"; mes.count = 0; mes.Message = "操作成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.Message = "操作失败!"; mes.data = null; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion } }