using Dapper; using Microsoft.AspNetCore.Http; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.IO; 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=@maiitemcode"; 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,@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]["REPAIRITEM_SEQ"].ToString()), checkitem_code = json.Data.Rows[i]["REPAIRITEM_CODE"].ToString(), checkitem_name = json.Data.Rows[i]["REPAIRITEM_NAME"].ToString(), mouldmai_main_code = json.code, chkdesc = json.Data.Rows[i]["REPAIRITEM_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]["REPAIRITEM_SEQ"].ToString()), checkitem_code = json.Data.Rows[i]["REPAIRITEM_CODE"].ToString(), checkitem_name = json.Data.Rows[i]["REPAIRITEM_NAME"].ToString(), mouldmai_main_code = json.code, chkdesc = json.Data.Rows[i]["REPAIRITEM_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 #region[模具点检,扫描模具二维码] public static ToMessage CheckScanMouldQrCodeData(string mouldcode) { string sql = ""; var dynamicParams = new DynamicParameters(); try { //获取对应模具信息 sql = @"select A.code,A.name,A.spec from TMouldInfo A where A.code=@mouldcode and A.status='Y'"; dynamicParams.Add("@mouldcode", mouldcode); 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 = data; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具点检,扫描模具二维码查找点检标准] public static ToMessage CheckScanMouldTemp(string mouldcode) { string sql = ""; var dynamicParams = new DynamicParameters(); try { //获取对应模具点检标准 sql = @"select M.code,M.name from TMouldchk_Mould E inner join TMouldchk_Main M on E.mouldchkmain_code=M.code where E.mould_code=@mouldcode order by M.lm_date desc"; dynamicParams.Add("@mouldcode", mouldcode); 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 = data; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具点检,选择扫码模具、点检标准带出点检项] public static ToMessage SelectScanMouldQrCodeItem(string mouldcode, string checktempcode) { string sql = ""; var dynamicParams = new DynamicParameters(); try { //获取对应模具关联的点检项目 sql = @"select S.seq,S.code,S.name,S.chkdesc from TMouldchk_Mould A inner join TMouldchk_Main B on A.mouldchkmain_code=B.code inner join TMouldchk_Deta S on B.code=S.mouldchk_main_code where A.mould_code=@mouldcode and B.code=@checktempcode order by S.seq asc"; dynamicParams.Add("@mouldcode", mouldcode); dynamicParams.Add("@checktempcode", checktempcode); 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 = data; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具点检、提交保存] public static ToMessage MouldCheckSave(string menucode, User us, AppDevicecCheck json) { var sql = ""; string djwo = "", numvalue = ""; List list = new List(); try { list.Clear(); mes = SeachEncodeJob.EncodingSeach(menucode); //APP端模具点检生成单号 if (mes.code == "300") { return mes; } else { List wo = (List)mes.data; djwo = wo[0].ToString(); //获取单号 numvalue = wo[1].ToString(); //获取流水号 } if (json == null || json.children.Count <= 0) { mes.code = "300"; mes.count = 0; mes.Message = "点检项信息不能为空!"; mes.data = null; return mes; } //写入点检记录主表 sql = @"insert into TMouldchk_Proc_Main(djwo,mould_code,mouldchkmain_code,chk_user,chk_date,chk_result) values(@djwo,@mould_code,@mouldchkmain_code,@lm_user,@lm_date,@chk_result)"; list.Add(new { str = sql, parm = new { djwo = djwo, mould_code = json.code, mouldchkmain_code = json.standcode, lm_user = us.usercode, lm_date = DateTime.Now.ToString(), chk_result = json.result } }); //循环写入点检记录子表 for (int i = 0; i < json.children.Count; i++) { sql = @"insert into TMouldchk_Proc_Deta(seq,m_id,mouldchkdeta_code,result,chk_value,lm_user,lm_date) values(@seq,CONVERT(INT,IDENT_CURRENT('TMouldchk_Proc_Main')),@mouldchkdeta_code,@result,@chk_value,@lm_user,@lm_date)"; list.Add(new { str = sql, parm = new { seq = json.children[i].seq, mouldchkdeta_code = json.children[i].itemcode, result = json.children[i].result, chk_value = json.children[i].value, lm_user = us.usercode, lm_date = DateTime.Now.ToString() } }); ; } //更新单据流水号 List list1 = SeachEncodeJob.StrEncodingUpdate(menucode, numvalue); list.Add(list1[0]); 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 RepairScanMouldQrCodeData(string mouldcode) { string sql = ""; var dynamicParams = new DynamicParameters(); try { //获取模具信息 sql = @"select A.code,A.name,A.spec from TMouldInfo A where A.code=@mouldcode and A.status='Y' "; dynamicParams.Add("@mouldcode", mouldcode); 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 = data; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具保养,扫描模具二维码查找保养标准] public static ToMessage RepairScanMouldTemp(string mouldcode) { string sql = ""; var dynamicParams = new DynamicParameters(); try { //获取对应模具保养标准 sql = @"select M.code,M.name from TMouldmai_Mould E inner join TMouldchk_Main M on E.mouldmaimain_code=M.code where E.mould_code=@mouldcode order by M.lm_date desc"; dynamicParams.Add("@mouldcode", mouldcode); 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 = data; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具保养,选择扫码模具列表带出保养项] public static ToMessage RepairSelectScanMouldQrCodeItem(string mouldcode, string repartempcode) { string sql = ""; var dynamicParams = new DynamicParameters(); try { //获取对应模具关联的保养项目 sql = @"select S.seq,S.code,S.name,S.chkdesc from TMouldmai_Mould A inner join TMouldmai_Main B on A.mouldmaimain_code=B.code inner join TMouldmai_Deta S on B.code=S.mouldmai_main_code where A.mould_code=@mouldcode and B.code=@repartempcode order by S.seq asc"; dynamicParams.Add("@mouldcode", mouldcode); dynamicParams.Add("@repartempcode", repartempcode); 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 = data; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具保养,提交保存] public static ToMessage MouldRepairSave(string menucode, User us, AppDevicecCheck json) { var sql = ""; string bywo = "", numvalue = ""; List list = new List(); try { list.Clear(); mes = SeachEncodeJob.EncodingSeach(menucode); //APP端模具保养生成单号 if (mes.code == "300") { return mes; } else { List wo = (List)mes.data; bywo = wo[0].ToString(); //获取单号 numvalue = wo[1].ToString(); //获取流水号 } if (json == null || json.children.Count <= 0) { mes.code = "300"; mes.count = 0; mes.Message = "保养项信息不能为空!"; mes.data = null; return mes; } //写入保养记录主表 sql = @"insert into TMouldmaint_Proc_Main(bywo,mould_code,mouldmaint_code,maint_result,maint_user,maint_date) values(@bywo,@mould_code,@mouldmaint_code,@maint_result,@lm_user,@lm_date)"; list.Add(new { str = sql, parm = new { bywo = bywo, mould_code = json.code, mouldmaint_code = json.standcode, lm_user = us.usercode, lm_date = DateTime.Now.ToString(), maint_result = json.result } }); //循环写入保养记录子表 for (int i = 0; i < json.children.Count; i++) { sql = @"insert into TEqpmaint_Proc_Deta(seq,m_id,mouldmaideta_code,result,maint_value,lm_user,lm_date) values(@seq,CONVERT(INT,IDENT_CURRENT('TMouldmaint_Proc_Main')),@mouldmaideta_code,@result,@maint_value,@lm_user,@lm_date)"; list.Add(new { str = sql, parm = new { seq = json.children[i].seq, mouldmaideta_code = json.children[i].itemcode, result = json.children[i].result, maint_value = json.children[i].value, lm_user = us.usercode, lm_date = DateTime.Now.ToString() } }); ; } //更新单据流水号 List list1 = SeachEncodeJob.StrEncodingUpdate(menucode, numvalue); list.Add(list1[0]); 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 MaintainScanMouldApplyQrCodeData(string mouldcode) { string sql = ""; var dynamicParams = new DynamicParameters(); try { //获取当前扫码模具是否存在已申请或已维修状态数据 sql = @"select * from TMould_RepairRequest where mould_code=@mouldcode and status<>'CONFIR'"; dynamicParams.Add("@mouldcode", mouldcode); var data0 = DapperHelper.selectdata(sql, dynamicParams); if (data0.Rows.Count > 0) { //查看维修记录里面是否有已申请未维修及维修确认的数据 var rows = data0.AsEnumerable().Where(item => item["STATUS"].ToString().Equals("REPA")).ToArray(); if (rows.Length > 0) { mes.code = "300"; mes.Message = "当前模具已维修申请,待维修!"; mes.data = null; } else { mes.code = "300"; mes.Message = "当前模具已维修,待确认验证!"; mes.data = null; } } else { //获取对应模具信息 sql = @"select A.code,A.name,A.spec from TMouldInfo A where A.code=@mouldcode and A.status='Y' "; dynamicParams.Add("@mouldcode", mouldcode); 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 = data; } } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[设备维修申请,提交保存] public static ToMessage MaintainScanMouldApplySave(string menucode, string mouldcode, string faultsourcecode, string faultdescr, User us, List files) { var sql = ""; string wxwo = "", numvalue = ""; List list = new List(); try { list.Clear(); mes = SeachEncodeJob.EncodingSeach(menucode); //APP端模具维修申请生成单号 if (mes.code == "300") { return mes; } else { List wo = (List)mes.data; wxwo = wo[0].ToString(); //获取单号 numvalue = wo[1].ToString(); //获取流水号 } //维修申请上传图片 if (files != null && files.Count > 0) { for (int i = 0; i < files.Count; i++) { // 生成文件名 var fileName = DateTime.Now.ToString("yyyyMMddhhmmss") + i.ToString() + Path.GetExtension(files[i].FileName); // 拼接文件保存路径 var filePath = Path.Combine("wwwroot/MouldRecordImage", fileName); // 保存文件 using (var stream = new FileStream(filePath, FileMode.Create)) { files[i].CopyToAsync(stream); } //循环写维修记录对应图片表 sql = @"insert into TMould_RepairImage(source_wo,wo_type,img1url) values(@source_wo,@wo_type,@img1url)"; list.Add(new { str = sql, parm = new { source_wo = wxwo, wo_type = "REPA", img1url = filePath } }); } } //写入维修申请记录表 sql = @"insert into TMould_RepairRequest(docu_code,docu_date,status,mould_code,request_person,request_date,failure_descript,source) values(@docu_code,@docu_date,@status,@mould_code,@request_person,@request_date,@failure_descript,@source)"; list.Add(new { str = sql, parm = new { docu_code = wxwo, docu_date = DateTime.Now.ToString(), status = "REPA", mould_code = mouldcode, request_person = us.usercode, request_date = DateTime.Now.ToString(), failure_descript = faultdescr, source = faultsourcecode } }); bool aa = DapperHelper.DoTransaction(list); if (aa) { 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 } }