using JY.Model; using System; using System.Collections.Generic; using System.Data; using System.Text; using System.Threading.Tasks; namespace JY.DAL { /// /// /// public class OpMysqlDataBase : IDbHelper { /// /// 保存报警数据 /// /// /// public int AddAlarmData(AlarmData m) { string strSql = string.Format(@"INSERT INTO tb_alarm (AlarmGuid,PLCAdress,AlarmCode,AlarmContent ,AlarmType,AlarmDesc,AlarmState,StartTime,EndTime,Flag) values('{0}','{1}','{2}','{3}','{4}',{5},'{6}','{7}','{8}',{9})" , m.AlarmGuid, m.PLCAdress, m.AlarmCode, m.AlarmContent, m.AlarmType, m.AlarmDesc, m.AlarmState , m.StartTime, m.EndTime, m.Flag); int result = MySqlHelper.Execute(strSql); return result; } /// /// 删除未更新数据 /// /// 开始时间 /// 结束时间 /// public int DeleteAlarmCacheData() { string strSql = $@"DELETE FROM tb_alarm WHERE Flag=0"; int result = MySqlHelper.Execute(strSql); return result; } /// /// 查询报警信息 /// /// 开始时间 /// 结束时间 /// public List GetAlarmData(string strDate1, string strDate2) { string strSql = $@" SELECT PLCAdress ,AlarmContent,AlarmCode,AlarmTime,StartUpTime ,BurningTime FROM tb_alarm where AlarmTime >= '{ strDate1 }' and AlarmTime <= '{ strDate2 }' "; var list = MySqlHelper.Query(strSql); return list; } /// /// 查询进站信息 /// /// /// public List GetFeedingData(string strCode) { string strSql = $@" SELECT * FROM FeedingData where BarCode = '{strCode}' ORDER BY CreateTime"; var list = SqlHelper.Query(strSql); return list; } /// /// 新增产品型号 /// /// 机型信息 /// public int AddProductModel(ProductModel entity) { string strSql = $@"INSERT INTO `tb_productmodel`(`ModelName`, `Remark`) VALUES ('{entity.ModelName}', '{entity.Remark}')"; int result = MySqlHelper.Execute(strSql); return result; } /// /// 删除本地型号 /// /// 型号 /// public void DelProductModel(string modeltype) { string strSql = $"delete from tb_productmodel where ModelName='{modeltype}'"; MySqlHelper.Execute(strSql); } /// /// 获取产品型号列表 /// /// 产品型号 /// public List GetProductModelList(string strProdType = "") { try { string strSql = @"SELECT * FROM `tb_productmodel` "; if (strProdType != "") { strSql += string.Format(" where ModelName='{0}'", strProdType); } strSql += " order by ModelName"; var list = MySqlHelper.Query(strSql); return list; } catch (Exception ex) { throw ex; } } /// /// 保存产品类型配置参数 /// /// public bool AddProductParaList(List list) { List listSql = new List(); listSql.Add($@"delete from tb_paralist where ModelName='{list[0].ModelName}'"); foreach (var item in list) { listSql.Add($@"INSERT INTO `tb_paralist`(`ModelName`, `ParaName`, `ParaValue`, `Remark`, `UpdateTime`) VALUES ('{item.ModelName}', '{item.ParaName}', '{item.ParaValue}', '{item.Remark}', '{item.UpdateTime}')"); } var result = MySqlHelper.ExecuteTransaction(listSql.ToArray()); if (result > 0) return true; else return false; } /// /// 获取产品参数通过产品型号 /// /// 产品型号 /// public List GetProductParaByProdModel(string strModelType) { string strSql = $@"SELECT pb.ParaName, '{strModelType}' ModelName,pl.ParaValue,pl.Remark,pl.UpdateTime FROM tb_parabase pb left join (select * from tb_paralist where ModelName = '{strModelType}' ) as pl on pb.ParaName = pl.ParaName; "; var list = MySqlHelper.Query(strSql); return list; } /// /// 标准轴参数保存 /// /// /// /// /// public bool InsertPLCConfigBase(List list) { List listSql = new List(); listSql.Add("delete from tb_plcconfigbase;"); foreach (var item in list) { listSql.Add($@"Insert into tb_plcconfigbase (PLCAddress,PLCRemark,OrderNum) Values ('{item.PLCAddress}','{item.PLCRemark}',{item.OrderNum});"); } var result = MySqlHelper.ExecuteTransaction(listSql.ToArray()); if (result > 0) return true; else return false; } /// /// 获取换型操作的基本参数 /// /// public List GetPLCConfigBases() { string strSql = string.Format(@"SELECT * FROM `tb_plcconfigbase` ORDER BY OrderNum"); var list = MySqlHelper.Query(strSql); return list; } /// /// 获取PLC换型参数绑定值 /// /// 产品型号 /// public List GetPLCConfigPara(string modelName) { string strSql = $@"SELECT '{modelName}' ModelName,pb.PLCAddress,pc.PLCValue,pc.UpdateTime,pb.PLCRemark,pb.OrderNum FROM tb_plcconfigbase pb left join (select * from tb_plcconfig where ModelName='{modelName}') pc on pb.PLCAddress = pc.PLCAddress order by pb.OrderNum;"; var list = MySqlHelper.Query(strSql); return list; } /// /// 具体型号轴参数保存 /// /// /// /// /// public bool InsertPLCConfigParam(List list) { List listSql = new List(); listSql.Add($"delete from tb_plcconfig where ModelName='{list[0].ModelName}';"); foreach (var item in list) { listSql.Add($@"INSERT INTO `tb_plcconfig`(`ModelName`, `PLCAddress`, `PLCValue`, `UpdateDate`) Values ('{item.ModelName}','{item.PLCAddress}',{item.PLCValue}),'{item.UpdateData}';"); } var result = MySqlHelper.ExecuteTransaction(listSql.ToArray()); if (result > 0) return true; else return false; } /// /// 查询历史数据 /// /// /// /// /// public DataTable GetTestData(int type, string strBarCode, string strDate1, string strDate2, string flag) { string strSql = @" SELECT tb_testvr.TD 通道, tb_testvr.BarCode 条码, tb_testvr.Vol 电压, tb_testvr.IMP 内阻, tb_testvr.K K值, tb_testvr.T 温度, tb_testvr.Length 长度, tb_testvr.Wide 宽度, tb_testvr.LMDistance 极边距, tb_testvr.Thickness 厚度, tb_testvr.LCDistance 中心距, DATE_FORMAT(tb_testvr.TestTime,'%Y-%m-%d %H:%i:%s') 测试时间, tb_testvr.Result 结果, tb_testvr.Remark 备注, case when tb_testvr.Flag=1 then '已上传' else '未上传' end 上传状态, tb_testvr.ProdType 测试型号, tb_testvr.OCVType 测试类别, tb_testvr.EquNo 设备编号, tb_testvr.TaskCode 任务号 FROM tb_testvr where tb_testvr.TestTime >= '" + strDate1 + "' and tb_testvr.TestTime <= '" + strDate2 + "' "; if (strBarCode != "") { strSql += " and tb_testvr.BarCode like '" + strBarCode + "%' "; } DataTable dt = MySqlHelper.QueryTable(strSql); return dt; } /// /// 查询历史数据 /// /// /// /// /// public DataTable GetTestData2(int type,int resultType, string strBarCode, string strDate1, string strDate2, string flag) { string strSql = @" SELECT tb_testvr.TD 通道, tb_testvr.BarCode 条码, tb_testvr.Vol 电压, tb_testvr.IMP 内阻, tb_testvr.K K值, tb_testvr.T 温度, tb_testvr.Length 长度, tb_testvr.Wide 宽度, tb_testvr.LMDistance 极边距, tb_testvr.Thickness 厚度, tb_testvr.LCDistance 中心距, DATE_FORMAT(tb_testvr.TestTime,'%Y-%m-%d %H:%i:%s') 测试时间, tb_testvr.Result 结果, tb_testvr.Remark 备注, case when tb_testvr.Flag=1 then '已上传' else '未上传' end 上传状态, tb_testvr.ProdType 测试型号, tb_testvr.OCVType 测试类别, tb_testvr.EquNo 设备编号, tb_testvr.TaskCode 任务号 FROM tb_testvr where tb_testvr.TestTime >= '" + strDate1 + "' and tb_testvr.TestTime <= '" + strDate2 + "' "; if (strBarCode != "") { strSql += " and tb_testvr.BarCode like '" + strBarCode + "%' "; } DataTable dt = MySqlHelper.QueryTable(strSql); return dt; } /// /// 查询CCD数据 /// /// /// /// /// public DataTable GetCCDData(string strWorkerNum, string strDate1, string strDate2) { string strSql = string.Format(@"SELECT date_format(data_run.Date, '%m-%d' ) 日期 ,data_run.Class 班次 ,data_run.Classtype 班别 ,data_run.OrderNum 工单号 ,data_run.Customer 客户名称 ,sum(IFNULL(data_run.TotalNum,0)) 投入总数 ,sum(IFNULL(data_run.OK,0)) 良品总数 ,sum(IFNULL(data_run.NG,0)) 不良总数 ,CAST(IFNULL(CONVERT(((CONVERT((sum(IFNULL(data_run.NG,0))),FLOAT)/CONVERT((sum(IFNULL(data_run.TotalNum,0))),FLOAT))*100),DOUBLE),0) as CHAR(10))+'%' 不良率 ,sum(IFNULL(data_run.CanRepaired,0)) 质量缺陷 ,sum(IFNULL(data_run.NotRepaired,0)) 非质量缺陷 ,sum(IFNULL(data_run.OtherNG,0)) 其他不良 ,sum(IFNULL(data_run.SideNG,0)) 侧面不良 ,sum(IFNULL(data_run.PositiveNG,0)) 正极不良 ,sum(IFNULL(data_run.NegativeNG,0)) 负极不良 ,sum(IFNULL(data_run.ChongheNG,0)) 重合不良 ,sum(IFNULL(data_run.CodeNG,0)) 喷码不良 ,sum(IFNULL(data_run.SideDrumpack,0)) 侧面凹坑鼓包、变形 ,sum(IFNULL(data_run.SideDirty,0)) 侧面脏污漏液 ,sum(IFNULL(data_run.SideScratches,0)) 侧面凸点、划痕、破皮、膜内异物 ,sum(IFNULL(data_run.DPNG,0)) 正极面垫不良多放、漏放 ,sum(IFNULL(data_run.PositiveDamage,0)) 正极套膜不良含热缩不良、破损、褶皱、面垫翘起 ,sum(IFNULL(data_run.PositiveDirty,0)) 正极套膜脏污 ,sum(IFNULL(data_run.PositiveScratches,0)) 盖帽不良含漏液、盖帽脏污氧化生锈,划痕,变形 ,sum(IFNULL(data_run.SizeNG,0)) 负极套膜尺寸不良 ,sum(IFNULL(data_run.NegativeDamage,0)) 负极套膜不良含套膜褶皱变形、破损、褶皱 ,sum(IFNULL(data_run.NegativeDirty,0)) 负极套膜脏污 ,sum(IFNULL(data_run.NegativeScratches,0)) 底部不良含漏液、脏污、氧化生锈、划痕、变形 ,data_run.Operator 操作员 from data_run where data_run.OrderNum='{0}'", strWorkerNum); //if (strWorkerNum != "") //{ // strSql += string.Format(@" and data_run.OrderNum='{0}'", strWorkerNum); //} //strSql += " GROUP BY data_run.Class"; DataTable dt = SqlHelper.QueryTable(strSql); return dt; } /// /// 按日期查询和时间查询投入产出信息 /// /// /// /// public List GetProdTotal(string strDate, int Hour) { string strSql = string.Format(@"SELECT FDate ,FHour ,ProdIn ,ProdOut ,TestTime FROM Tb_HourProd where FDate = '{0}'", strDate); if (Hour > 0) { strSql += string.Format(" and FHour={0}", Hour); } var list = MySqlHelper.Query(strSql); return list; } /// /// 更新指定时间的小时产出 /// /// 小时产出数据 /// public int UpdateHourprodData(HourprodEntity enity) { try { string strSql = $@"select 1 from tb_hourprod where FDate='{enity.FDate}' and FHour={enity.FHour}"; var obj = MySqlHelper.ExecuteScalar(strSql, null); if (obj != null && obj.ToString().Trim() != "") { strSql = $@"update tb_hourprod set ProdIn='{enity.ProdIn}',ProdOut='{enity.ProdOut}', TestTime='{DateTime.Now}' where FDate='{enity.FDate}' and FHour={enity.FHour}"; } else { strSql = $@"Insert into tb_hourprod(FDate, FHour, ProdIn, ProdOut, TestTime) values ('{enity.FDate}', '{enity.FHour}', '{enity.ProdIn}', '{enity.ProdOut}', '{DateTime.Now}')"; } int iresult = MySqlHelper.Execute(strSql); return iresult; } catch (Exception ex) { throw ex; } } /// /// 保存进托盘数据 /// /// /// /// //public int AddInPutTrayID(TrayTestEntry m, ref string strErr) //{ // string strSql = "INSERT INTO tb_InPutTrayID (TrayID,TestTime,Result,Remark)"; // strSql += string.Format(" values('{0}','{1}','{2}','{3}')", m.TrayID, m.TrayDate, m.TrayResult, m.TrayRemark); // int list = MySqlHelper.Execute(strSql); // return list; //} /// /// 保存空托盘排出数据 /// /// /// /// //public int AddOutTrayID(TrayTestEntry m, ref string strErr) //{ // string strSql = "INSERT INTO tb_OutTrayID (TrayID,TestTime,Result,Remark)"; // strSql += string.Format(" values('{0}','{1}','{2}','{3}')", m.TrayID, m.TrayDate, m.TrayResult, m.TrayRemark); // int list = MySqlHelper.Execute(strSql); // return list; //} /// /// 上料数据保存 /// /// /// /// //public int AddTestCode(AbnormalCellEntity m, ref string strErr) //{ // string strSql = "INSERT INTO tb_savebarcode(TD,BarCode,TestTime,NGPosition, NGType,Remark, Flag)"; // strSql += string.Format(" values({0},'{1}','{2}','{3}','{4}','{5}',{6})", m.TD, m.BarCode, m.strDate,m.NGPosition,m.NGType, m.Remark, m.Flag); // int list = MySqlHelper.Execute(strSql); // return list; //} /// /// 滚槽数据保存 /// /// /// /// //public int AddGroovingData(GroovingData m, ref string strErr) //{ // string strSql = "INSERT INTO tb_grooving(TD,BarCode,Gear,IsRetest, TestTime, Result, Remark,Worker, Flag)"; // strSql += string.Format(" values({0},'{1}','{2}','{3}','{4}','{5}','{6}','{7}',{8})", m.GradingTD, m.GradingBarCode, m.Gear, // m.IsRetest, m.GradingstrDate, m.GradingResult, m.GradingRemark, m.StrWorker, m.Flag); // int list = MySqlHelper.Execute(strSql); // return list; //} public int AddFeedingData(FeedingData m, ref string strErr) { throw new NotImplementedException(); } public int AddBlankingData(BlankingData m, ref string strErr) { throw new NotImplementedException(); } public int AddInPutTrayID(TrayTestEntry m, ref string strErr) { throw new NotImplementedException(); } public int AddOutTrayID(TrayTestEntry m, ref string strErr) { throw new NotImplementedException(); } public int AddCamInforData(CamInfor m, ref string strErr) { throw new NotImplementedException(); } public int AddAlarmCacheData(string tablename, List m) { throw new NotImplementedException(); } public List GetAlarmCacheData() { throw new NotImplementedException(); } public DataTable GetBarInTime(string strBar) { throw new NotImplementedException(); } public int UparInTime(string strBar) { throw new NotImplementedException(); } public string GetAbnormalVoice(string code, bool needInsert = false) { throw new NotImplementedException(); } } }