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.Models.MouldSearch; 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,(select isnull(sum(usecount_life),0) from TMould_UpDownReord R where R.mould_code=A.code) 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 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,surp_life,resi_life,lm_user,lm_date) values(@code,@name,@spec,@status,@surp_life,@resi_life,@lm_user,@lm_date)"; list.Add(new { str = sql, parm = new { code = mouldcode, name = mouldname, spec = mouldspec, status = status, 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, 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, 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 union all select mould_code from TMould_UpDownReord where mould_code=@devicecode union all select mould_code from TMould_LendOutReord where mould_code=@devicecode union all select mould_code from TMould_InOutReord 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,@maint_user,@maint_date)"; list.Add(new { str = sql, parm = new { bywo = bywo, mould_code = json.code, mouldmaint_code = json.standcode, maint_user = us.usercode, maint_date = DateTime.Now.ToString(), maint_result = json.result } }); //循环写入保养记录子表 for (int i = 0; i < json.children.Count; i++) { sql = @"insert into TMouldmaint_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 ScanMouldQrCodeMessageData(string mouldcode) { string sql = "", search = ""; var dynamicParams = new DynamicParameters(); try { if (mouldcode != "" && mouldcode != null) { search += " where code=@mouldcode "; dynamicParams.Add("@mouldcode", mouldcode); } //查找模具信息 sql = @"select code,name,spec from TMouldInfo"+search; dynamicParams.Add("@mouldcode", mouldcode); var dt = DapperHelper.selectdata(sql, dynamicParams); if (dt.Rows.Count > 0) { mes.code = "200"; mes.Message = "查询成功!"; mes.data = dt; return mes; } else { mes.code = "300"; mes.Message = "暂无数据或无效的模具二维码信息!"; mes.data = null; return mes; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具信息查询明细] public static ToMessage ScanMouldQrCodeMessageSubData(string mouldcode) { string sql = ""; var dynamicParams = new DynamicParameters(); List list = new List(); try { //查找模具信息 MouldMessage moud = new MouldMessage(); sql = @"select code,name,spec,surp_life,resi_life,status,usestatus from TMouldInfo where code=@mouldcode"; dynamicParams.Add("@mouldcode", mouldcode); var dt = DapperHelper.selectdata(sql, dynamicParams); if (dt.Rows.Count > 0) { moud.mouldcode = dt.Rows[0]["code"].ToString(); moud.mouldname = dt.Rows[0]["name"].ToString(); moud.mouldspec = dt.Rows[0]["spec"].ToString(); moud.surp_life = dt.Rows[0]["surp_life"].ToString(); moud.resi_life = dt.Rows[0]["resi_life"].ToString(); moud.status = dt.Rows[0]["status"].ToString(); moud.usestatus = dt.Rows[0]["usestatus"].ToString(); //查询最近一次点检记录 sql = @"select top 1 chk_date from TMouldchk_Proc_Main where mould_code=@mouldcode order by chk_date desc"; dynamicParams.Add("@mouldcode", mouldcode); var dt0 = DapperHelper.selectdata(sql, dynamicParams); if (dt0.Rows.Count > 0) { moud.checkdate = dt0.Rows[0]["chk_date"].ToString(); } //查询最近一次保养记录 sql = @"select top 1 maint_date from TMouldmaint_Proc_Main where mould_code=@mouldcode order by maint_date desc"; dynamicParams.Add("@mouldcode", mouldcode); var dt1 = DapperHelper.selectdata(sql, dynamicParams); if (dt1.Rows.Count > 0) { moud.maintdate = dt1.Rows[0]["maint_date"].ToString(); } //查询关联产品 moud.children = new List(); sql = @"select P.partcode,M.partname,M.partspec from TMouldInfoPart P left join TMateriel_Info M on P.partcode=M.partcode where P.mouldcode=@mouldcode"; dynamicParams.Add("@mouldcode", mouldcode); var dt2 = DapperHelper.selectdata(sql, dynamicParams); if (dt2.Rows.Count > 0) { for (int i = 0; i < dt2.Rows.Count; i++) { RelatedProduct mousb = new RelatedProduct(); mousb.partcode = dt2.Rows[i]["partcode"].ToString(); mousb.partname = dt2.Rows[i]["partname"].ToString(); mousb.partspec = dt2.Rows[i]["partspec"].ToString(); moud.children.Add(mousb); } } list.Add(moud); mes.code = "200"; mes.Message = "查询成功!"; mes.data = list; return mes; } else { mes.code = "300"; mes.Message = "暂无数据或无效的模具二维码信息!"; mes.data = null; return mes; } } 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 TMouldInfo where code=@mouldcode"; dynamicParams.Add("@mouldcode", mouldcode); var dt = DapperHelper.selectdata(sql, dynamicParams); if (dt.Rows.Count > 0) { switch (dt.Rows[0]["usestatus"].ToString()) { case "0": //在库 mes.code = "300"; mes.Message = "当前模具在库状态,请先出库操作!"; mes.data = null; return mes; case "2": //上机 mes.code = "300"; mes.Message = "当前模具上机状态,请先下机操作!"; mes.data = null; return mes; case "7": //外借 mes.code = "300"; mes.Message = "当前模具外借状态,请先归还操作!"; mes.data = null; return mes; default: break; } } else { mes.code = "300"; mes.Message = "无效的模具二维码信息!"; mes.data = null; return mes; } //获取当前扫码模具是否存在已申请或已维修状态数据 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,A.surp_life,A.resi_life 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, IFormFileCollection files) { var sql = ""; string sqwo = "", 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; sqwo = wo[0].ToString(); //获取申请维修单号 numvalue = wo[1].ToString(); //获取流水号 } //维修申请上传图片 if (files != null && files.Count > 0) { for (int i = 0; i < files.Count; i++) { IFormFile file = files[i]; string imgName = "SQ" + DateTime.Now.ToString("yyyyMMddhhmmss") + i.ToString(); string filePath = "wwwroot/MouldRecordImage/" + imgName + file.FileName; //通过此对象获取文件名 // 生成文件名 //var fileName = "SQ" + DateTime.Now.ToString("yyyyMMddhhmmss") + i.ToString() + Path.GetExtension(files[i].FileName); // 拼接文件保存路径 //var filePath = Path.Combine("wwwroot/MouldRecordImage", fileName); // 保存文件var stream = new FileStream(filePath, FileMode.Create) using (var stream = new FileStream(filePath, FileMode.Create)) { files[i].CopyTo(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 = sqwo, 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 = sqwo, docu_date = DateTime.Now.ToString(), status = "REPA", mould_code = mouldcode, request_person = us.usercode, request_date = DateTime.Now.ToString(), failure_descript = faultdescr, source = faultsourcecode } }); //回写模具清单,模具状态(故障)、使用状态(待维修) sql = @"update TMouldInfo set status='N',usestatus='4' where code=@mouldcode"; list.Add(new { str = sql, parm = new { mouldcode = mouldcode } }); //更新单据流水号 List list1 = SeachEncodeJob.StrEncodingUpdate(menucode, numvalue); list.Add(list1[0]); 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 RepairScanMouldQrCodeDataList(string mouldcode) { string sql = "", search = ""; var dynamicParams = new DynamicParameters(); try { if (mouldcode != "" && mouldcode != null) { search += "and B.code=@mouldcode "; dynamicParams.Add("@mouldcode", mouldcode); } //获取模具维修列表已申请未维修的数据 sql = @"select A.docu_code,B.code as mouldcode,B.name as mouldname,B.spec as mouldspec,B.surp_life,B.resi_life, A.request_person,U.username as request_name,A.request_date, (case when A.source='A' then '点检' when A.source='B' then '保养' when A.source='D' then '手工' end) as source, A.failure_descript from TMould_RepairRequest A inner join TMouldInfo B on A.mould_code=B.code left join TUser U on A.request_person=U.usercode where A.status='REPA' " + search; 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 RepairScanMouldSave(string menucode, string docu_code, string mouldcode, string faultdescr, string is_stoprepair, string repaircontent, User us, IFormFileCollection 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++) { IFormFile file = files[i]; string imgName = "WX" + DateTime.Now.ToString("yyyyMMddhhmmss") + i.ToString(); string filePath = "wwwroot/MouldRecordImage/" + imgName + file.FileName; //通过此对象获取文件名 // 生成文件名 //var fileName = "WX" + DateTime.Now.ToString("yyyyMMddhhmmss") + i.ToString() + Path.GetExtension(files[i].FileName); // 拼接文件保存路径 //var filePath = Path.Combine("wwwroot/MouldRecordImage", fileName); // 保存文件var stream = new FileStream(filePath, FileMode.Create) using (var stream = new FileStream(filePath, FileMode.Create)) { files[i].CopyTo(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 = "COMP", img1url = filePath } }); } } //写入维修记录表 sql = @"insert into TMould_Repair(repair_code,docu_date,status,mould_code,repair_person,repair_date,repair_content,failure_descript,is_shutdown,source_wo) values(@repair_code,@docu_date,@status,@mould_code,@repair_person,@repair_date,@repair_content,@failure_descript,@is_shutdown,@source_wo)"; list.Add(new { str = sql, parm = new { repair_code = wxwo, docu_date = DateTime.Now.ToString(), status = "COMP", mould_code = mouldcode, repair_person = us.usercode, repair_date = DateTime.Now.ToString(), repair_content = repaircontent, failure_descript = faultdescr, is_shutdown = is_stoprepair, source_wo = docu_code } }); //更新维修申请单状态 sql = @"update TMould_RepairRequest set status=@status where docu_code=@docu_code and mould_code=@mouldcode"; list.Add(new { str = sql, parm = new { docu_code = docu_code, mouldcode = mouldcode, status = "COMP" } }); //回写模具清单,使用状态(已维修) sql = @"update TMouldInfo set usestatus='5' where code=@mouldcode"; list.Add(new { str = sql, parm = new { mouldcode = mouldcode } }); //更新单据流水号 List list1 = SeachEncodeJob.StrEncodingUpdate(menucode, numvalue); list.Add(list1[0]); 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 RepairVerificationScanMouldData(string mouldcode) { string sql = "", search = ""; var dynamicParams = new DynamicParameters(); try { if (mouldcode == "" || mouldcode == null) { search += "and B.code=@mouldcode "; dynamicParams.Add("@mouldcode", mouldcode); } //获取模具维修列表已维修的数据 sql = @"select A.repair_code,B.code as mouldcode,B.name as mouldname,B.spec as mouldspec,B.surp_life,B.resi_life, A.repair_person,U.username as repair_name,A.repair_date,A.is_shutdown, A.failure_descript from TMould_Repair A inner join TMouldInfo B on A.mould_code=B.code left join TUser U on A.repair_person=U.usercode where A.status='COMP' " + search; 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 RepairVerificationScanMouldDataSub(string repair_code, string mouldcode) { string sql = ""; var dynamicParams = new DynamicParameters(); Dictionary dict = new Dictionary(); try { //根据设模具编码获取维修详情 sql = @"select repair_code,failure_descript,is_shutdown,repair_content,repair_part from TMould_Repair where repair_code=@repair_code and mould_code=mouldcode"; dynamicParams.Add("@repair_code", repair_code); dynamicParams.Add("@mouldcode", mouldcode); var data = DapperHelper.selectdata(sql, dynamicParams); if (data.Rows.Count > 0) { dict.Add("failure_descript", data.Rows[0]["failure_descript"].ToString()); //故障描述 //获取故障上传图片 sql = @"select img1url from TMould_RepairImage where source_wo=@source_wo and wo_type='COMP'"; dynamicParams.Add("@source_wo", data.Rows[0]["repair_code"].ToString()); var data0 = DapperHelper.selectdata(sql, dynamicParams); if (data0.Rows.Count > 0) { dict.Add("failure_descriptimg", data0); //故障上传图片 } dict.Add("repair_content", data.Rows[0]["repair_content"].ToString()); //维修内容 mes.code = "200"; mes.Message = "查询成功!"; mes.data = dict; } 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 RepairVerificationScanMouldSave(string repairwo, string mouldcode, string result, string surp_life, User us) { var sql = ""; decimal surplife = 0; List list = new List(); var dynamicParams = new DynamicParameters(); try { list.Clear(); //验证结果为OK且验证后的剩余寿命>0 if (result == "OK" && decimal.Parse(surp_life) > 0) { surplife = decimal.Parse(surp_life); } //根据模具维修单查找源单(维修申请单) sql = @"select source_wo from TMould_Repair where repair_code=@repairwo"; dynamicParams.Add("@repairwo", repairwo); var data = DapperHelper.selectdata(sql, dynamicParams); //更新设备维修记录验证人员、验证时间、验证结果、验证状态 sql = @"update TMould_Repair set status=@status,is_verifi=@is_verifi,verify_result=@verify_result,verify_person=@verify_person,verify_date=@verify_date,verify_surplife=@verify_surplife where repair_code=@repair_code and mould_code=@mould_code"; list.Add(new { str = sql, parm = new { status = "CONFIR", is_verifi = "Y", verify_result = result, verify_person = us.usercode, verify_date = DateTime.Now.ToString(), repair_code = repairwo, mould_code = mouldcode, verify_surplife = surplife } }); //更新维修申请单状态 sql = @"update TMould_RepairRequest set status=@status where docu_code=@docu_code and mould_code=@mouldcode"; list.Add(new { str = sql, parm = new { docu_code = data.Rows[0]["source_wo"].ToString(), mouldcode = mouldcode, status = "CONFIR" } }); if (result == "OK") { if (surplife > 0) { //回写模具清单,模具状态(正常),使用状态(已维修),剩余寿命(次) sql = @"update TMouldInfo set status='Y',usestatus='6',resi_life=@resi_life where code=@mouldcode"; list.Add(new { str = sql, parm = new { mouldcode = mouldcode, resi_life = surp_life } }); } else { //回写模具清单,模具状态(正常),使用状态(已维修) sql = @"update TMouldInfo set status='Y',usestatus='6' where code=@mouldcode"; list.Add(new { str = sql, parm = new { mouldcode = mouldcode } }); } } else { //回写模具清单,模具状态(故障),使用状态(已维修) sql = @"update TMouldInfo set status='N',usestatus='6' where 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 MouldUpQrCodeData(string mouldcode) { string sql = ""; List list = new List(); var dynamicParams = new DynamicParameters(); try { //判断当前模具当前使用状态 sql = @"select code,name,spec,status,usestatus,surp_life,resi_life from TMouldInfo where code=@mouldcode"; dynamicParams.Add("@mouldcode", mouldcode); var dt = DapperHelper.selectdata(sql, dynamicParams); if (dt.Rows.Count > 0) { if (dt.Rows[0]["status"].ToString() == "Y") { switch (dt.Rows[0]["usestatus"].ToString()) { case "0": //在库 mes.code = "300"; mes.Message = "当前模具在库状态,不符合上机操作!"; mes.data = null; return mes; case "2": //上机 mes.code = "300"; mes.Message = "当前模具上机状态,不符合上机操作!"; mes.data = null; return mes; case "7": //外借 mes.code = "300"; mes.Message = "当前模具外借状态,不符合上机操作!"; mes.data = null; return mes; default: mes.code = "200"; mes.Message = "查询成功!"; mes.data = dt; break; } } else { mes.code = "300"; mes.Message = "模具故障或维修中,不允许上机!"; mes.data = null; return mes; } } else { mes.code = "300"; mes.Message = "无效的模具二维码信息!"; mes.data = null; return mes; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具上机提交] public static ToMessage MouldUpSave(string mouldcode, string eqp_code, string description, User us) { var sql = ""; List list = new List(); var dynamicParams = new DynamicParameters(); try { list.Clear(); //写入上下机机记录表(上机操作) sql = @"insert into TMould_UpDownReord(mould_code,type,eqp_code,description,is_up,lm_user,lm_date) values(@mould_code,@type,@eqp_code,@description,@is_up,@lm_user,@lm_date)"; list.Add(new { str = sql, parm = new { mould_code = mouldcode, type = "UP", eqp_code = eqp_code, description = description, is_up = "Y", lm_user = us.usercode, lm_date = DateTime.Now.ToString() } }); //回写模具清单,使用状态(上机) sql = @"update TMouldInfo set usestatus='2' where 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 MouldDownQrCodeData(string mouldcode) { string sql = ""; List list = new List(); var dynamicParams = new DynamicParameters(); try { //判断当前模具当前使用状态 sql = @"select * from TMouldInfo where code=@mouldcode "; dynamicParams.Add("@mouldcode", mouldcode); var dt = DapperHelper.selectdata(sql, dynamicParams); if (dt.Rows.Count > 0) { if (dt.Rows[0]["status"].ToString() == "Y") { //判断当前模具是否在上机状态 sql = @"select A.mould_code,M.name as mould_name,M.spec as mould_spec, M.surp_life,M.resi_life,A.eqp_code,E.name as eqp_name from TMould_UpDownReord A left join TMouldInfo M on A.mould_code=M.code left join TEqpInfo E on A.eqp_code=E.code where A.mould_code=@mouldcode and A.is_up='Y'"; dynamicParams.Add("@mouldcode", mouldcode); var data = DapperHelper.selectdata(sql, dynamicParams); if (data.Rows.Count > 0) { mes.code = "200"; mes.Message = "查询成功!"; mes.data = data; return mes; } else { mes.code = "300"; mes.Message = "当前模具未上机,不符合下机操作!"; mes.data = null; return mes; } } else { mes.code = "300"; mes.Message = "模具故障或维修中,不符合下机操作!"; mes.data = null; return mes; } } else { mes.code = "300"; mes.Message = "无效的模具二维码信息!"; mes.data = null; return mes; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具下机提交] public static ToMessage MouldDownSave(string mouldcode, string eqp_code, string usecount_life, string description, User us) { var sql = ""; List list = new List(); var dynamicParams = new DynamicParameters(); try { list.Clear(); //写入上下机机记录表(下机操作) sql = @"insert into TMould_UpDownReord(mould_code,type,usecount_life,eqp_code,description,is_up,lm_user,lm_date) values(@mould_code,@type,@eqp_code,@description,@is_up,@lm_user,@lm_date)"; list.Add(new { str = sql, parm = new { mould_code = mouldcode, type = "DOWN", usecount_life = decimal.Parse(usecount_life), eqp_code = eqp_code, description = description, is_up = "N", lm_user = us.usercode, lm_date = DateTime.Now.ToString() } }); //回写上机记录上机标识(清除) sql = @"update TMould_UpDownReord set is_up='N' where mould_code=@mouldcode and eqp_code=@eqp_code"; list.Add(new { str = sql, parm = new { mouldcode = mouldcode, eqp_code = eqp_code } }); //回写模具清单 if (decimal.Parse(usecount_life) > 0) { //回写模具清单,使用状态(下机),剩余寿命 sql = @"update TMouldInfo set usestatus='3',resi_life=resi_life-@resi_life where code=@mouldcode"; list.Add(new { str = sql, parm = new { mouldcode = mouldcode, resi_life = decimal.Parse(usecount_life) } }); } else { //回写模具清单,使用状态(下机) sql = @"update TMouldInfo set usestatus='3' where 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 MouldLendOutQrCodeData(string mouldcode) { string sql = ""; List list = new List(); var dynamicParams = new DynamicParameters(); try { //判断当前模具当前使用状态 sql = @"select code,name,spec,status,usestatus,surp_life,resi_life from TMouldInfo where code=@mouldcode"; dynamicParams.Add("@mouldcode", mouldcode); var dt = DapperHelper.selectdata(sql, dynamicParams); if (dt.Rows.Count > 0) { if (dt.Rows[0]["status"].ToString() == "Y") { switch (dt.Rows[0]["usestatus"].ToString()) { case "0": //在库 mes.code = "300"; mes.Message = "当前模具在库状态,不符合外借操作!"; mes.data = null; return mes; case "2": //上机 mes.code = "300"; mes.Message = "当前模具上机状态,不符合外借操作!"; mes.data = null; return mes; case "7": //外借 mes.code = "300"; mes.Message = "当前模具外借状态,不符合外借操作!"; mes.data = null; return mes; default: mes.code = "200"; mes.Message = "查询成功!"; mes.data = dt; break; } } else { mes.code = "300"; mes.Message = "模具故障或维修中,不允许外借!"; mes.data = null; return mes; } } else { mes.code = "300"; mes.Message = "无效的模具二维码信息!"; mes.data = null; return mes; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具外借提交] public static ToMessage MouldLendOutSave(string mouldcode, string description, User us) { var sql = ""; List list = new List(); var dynamicParams = new DynamicParameters(); try { list.Clear(); //写入外借归还记录表(外借操作) sql = @"insert into TMould_LendOutReord(mould_code,type,description,is_ledout,lm_user,lm_date) values(@mould_code,@type,@description,@is_ledout,@lm_user,@lm_date)"; list.Add(new { str = sql, parm = new { mould_code = mouldcode, type = "OUT", description = description, is_ledout = "Y", lm_user = us.usercode, lm_date = DateTime.Now.ToString() } }); //回写模具清单,使用状态(外借) sql = @"update TMouldInfo set usestatus='7' where 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 MouldReturnQrCodeData(string mouldcode) { string sql = ""; List list = new List(); var dynamicParams = new DynamicParameters(); try { //判断当前模具当前使用状态 sql = @"select * from TMouldInfo where code=@mouldcode "; dynamicParams.Add("@mouldcode", mouldcode); var dt = DapperHelper.selectdata(sql, dynamicParams); if (dt.Rows.Count > 0) { if (dt.Rows[0]["status"].ToString() == "Y") { //判断当前模具是否在外借状态 sql = @"select A.mould_code,M.name as mould_name,M.spec as mould_spec, M.surp_life,M.resi_life from TMould_LendOutReord A left join TMouldInfo M on A.mould_code=M.code where A.mould_code=@mouldcode and A.is_ledout='Y'"; dynamicParams.Add("@mouldcode", mouldcode); var data = DapperHelper.selectdata(sql, dynamicParams); if (data.Rows.Count > 0) { mes.code = "200"; mes.Message = "查询成功!"; mes.data = data; return mes; } else { mes.code = "300"; mes.Message = "当前模具未外借,不符合归还操作!"; mes.data = null; return mes; } } else { mes.code = "300"; mes.Message = "模具故障或维修中,不符合归还操作!"; mes.data = null; return mes; } } else { mes.code = "300"; mes.Message = "无效的模具二维码信息!"; mes.data = null; return mes; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具归还提交] public static ToMessage MouldReturnSave(string mouldcode, string description, User us) { var sql = ""; List list = new List(); var dynamicParams = new DynamicParameters(); try { list.Clear(); //写入模具外借记录表(下机操作) sql = @"insert into TMould_LendOutReord(mould_code,type,description,is_ledout,lm_user,lm_date) values(@mould_code,@type,@description,@is_ledout,@lm_user,@lm_date)"; list.Add(new { str = sql, parm = new { mould_code = mouldcode, type = "IN", description = description, is_ledout = "N", lm_user = us.usercode, lm_date = DateTime.Now.ToString() } }); //回写模具外借记录表外借标识(清除) sql = @"update TMould_LendOutReord set is_ledout='N' where mould_code=@mouldcode"; list.Add(new { str = sql, parm = new { mouldcode = mouldcode } }); //回写模具清单,使用状态(归还) sql = @"update TMouldInfo set usestatus='8' where 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 MouldInWareHouseQrCodeData(string mouldcode) { string sql = ""; List list = new List(); var dynamicParams = new DynamicParameters(); try { //判断当前模具当前使用状态 sql = @"select code,name,spec,status,usestatus,surp_life,resi_life from TMouldInfo where code=@mouldcode"; dynamicParams.Add("@mouldcode", mouldcode); var dt = DapperHelper.selectdata(sql, dynamicParams); if (dt.Rows.Count > 0) { if (dt.Rows[0]["status"].ToString() == "Y") { switch (dt.Rows[0]["usestatus"].ToString()) { case "0": //在库 mes.code = "300"; mes.Message = "当前模具在库状态,不符合入库操作!"; mes.data = null; return mes; case "2": //上机 mes.code = "300"; mes.Message = "当前模具上机状态,不符合入库操作!"; mes.data = null; return mes; case "7": //外借 mes.code = "300"; mes.Message = "当前模具外借状态,不符合入库操作!"; mes.data = null; return mes; default: mes.code = "200"; mes.Message = "查询成功!"; mes.data = dt; break; } } else { mes.code = "300"; mes.Message = "模具故障或维修中,不允许入库操作!"; mes.data = null; return mes; } } else { mes.code = "300"; mes.Message = "无效的模具二维码信息!"; mes.data = null; return mes; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具入库提交] public static ToMessage MouldInWareHouseSave(string mouldcode, string warehousecode, string description, User us) { var sql = ""; List list = new List(); var dynamicParams = new DynamicParameters(); try { list.Clear(); //写入模具出入库记录表(入库操作) sql = @"insert into TMould_InOutReord(mould_code,type,warehouse_code,description,lm_user,lm_date) values(@mould_code,@type,@warehouse_code,@description,@lm_user,@lm_date)"; list.Add(new { str = sql, parm = new { mould_code = mouldcode, type = "IN", warehouse_code = warehousecode, description = description, lm_user = us.usercode, lm_date = DateTime.Now.ToString() } }); //回写模具清单,使用状态(入库),仓库编码 sql = @"update TMouldInfo set usestatus='0',warehousecode=@warehousecode where code=@mouldcode"; list.Add(new { str = sql, parm = new { mouldcode = mouldcode, warehousecode = warehousecode } }); 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 MouldOutWareHouseQrCodeData(string mouldcode) { string sql = ""; List list = new List(); var dynamicParams = new DynamicParameters(); try { //判断当前模具当前使用状态 sql = @"select * from TMouldInfo where code=@mouldcode "; dynamicParams.Add("@mouldcode", mouldcode); var dt = DapperHelper.selectdata(sql, dynamicParams); if (dt.Rows.Count > 0) { if (dt.Rows[0]["status"].ToString() == "Y") { //判断当前模具是否在外借状态 sql = @"select M.code as mould_code,M.name as mould_name,M.spec as mould_spec, M.surp_life,M.resi_life,M.warehousecode,C.name as warehousename from TMouldInfo M left join TSecStck C on M.warehousecode=C.code where M.code=@mouldcode and M.usestatus='0'"; dynamicParams.Add("@mouldcode", mouldcode); var data = DapperHelper.selectdata(sql, dynamicParams); if (data.Rows.Count > 0) { mes.code = "200"; mes.Message = "查询成功!"; mes.data = data; return mes; } else { mes.code = "300"; mes.Message = "当前模具未在库,不符合出库操作!"; mes.data = null; return mes; } } else { mes.code = "300"; mes.Message = "模具故障或维修中,不符合出库操作!"; mes.data = null; return mes; } } else { mes.code = "300"; mes.Message = "无效的模具二维码信息!"; mes.data = null; return mes; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.Message = e.Message; mes.data = null; } return mes; } #endregion #region[模具出库提交] public static ToMessage MouldOutWareHouseSave(string mouldcode, string warehousecode, string description, User us) { var sql = ""; List list = new List(); var dynamicParams = new DynamicParameters(); try { list.Clear(); //写入模具出入库记录表(出库操作) sql = @"insert into TMould_InOutReord(mould_code,type,warehouse_code,description,lm_user,lm_date) values(@mould_code,@type,@warehouse_code,@description,@lm_user,@lm_date)"; list.Add(new { str = sql, parm = new { mould_code = mouldcode, type = "OUT", warehouse_code = warehousecode, description = description, lm_user = us.usercode, lm_date = DateTime.Now.ToString() } }); //回写模具清单,使用状态(出库),清除仓库编码 sql = @"update TMouldInfo set usestatus='1',warehousecode=@warehousecode where code=@mouldcode"; list.Add(new { str = sql, parm = new { mouldcode = mouldcode, warehousecode ="" } }); 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 } }