////using Bro.Process.Common.Helper; //using Bro.Common.Helper; //using Bro.Process.Model; //using Bro.Process.Model.Model; //using System; //using System.Collections; //using System.Collections.Generic; //using System.Configuration; //using System.Data; //using System.Data.Common; //using System.Data.SQLite; //using System.Diagnostics; //using System.Linq; //using System.Text; //using System.Threading.Tasks; //namespace Bro.M071.DBManager //{ // public class ProductionDetectionImageRecordsManager : ModelManager // { // DbProviderFactory Dbfactory = SQLiteFactory.Instance; // protected override void ActionBeforeNewModel(DBModel context, ProductionDetectionImageRecords config) // { // CheckProductionCodeDuplicate(context, config); // } // protected override void ActionBeforeUpdateModel(DBModel context, ProductionDetectionImageRecords config) // { // CheckProductionCodeDuplicate(context, config); // } // private void CheckProductionCodeDuplicate(DBModel context, ProductionDetectionImageRecords config) // { // //if (context.ProductionDetectionImageRecords.Any(u => u.IS_DELETED == 0 // // && u.ID != config.ID // // && u.PRODUCTION_CODE == config.PRODUCTION_CODE)) // { // //throw new ProcessException("新增或修改的产品配置信息的产品代码不能重复", null); // } // } // public List GetProductionDetectionImageRecords(string productionBatchNO, string pid) // { // using (DBModel context = new DBModel()) // { // var list = context.ProductionDetectionImageRecords.Where(u => u.IS_DELETED == 0); // if (!string.IsNullOrWhiteSpace(productionBatchNO)) // { // list = list.Where(u => u.ProductionBatchNO.Contains(productionBatchNO)); // } // if (!string.IsNullOrWhiteSpace(pid)) // { // list = list.Where(u => u.PId.Contains(pid)); // } // var resultList = list.ToList(); // return resultList; // } // } // //public List GetOperationRecordsList(OperationRecordsRequest request) // //{ // // using (DBModel context = new DBModel()) // // { // // var oList = context.OperationRecords.Where(u => u.IS_DELETED == 0); // // var pList = context.ProductionDetectionRecords.Where(u => u.IS_DELETED == 0); // // if (!string.IsNullOrWhiteSpace(request.ProductionBatchNO)) // // { // // oList = oList.Where(u => u.ProductionBatchNO.Contains(request.ProductionBatchNO)); // // } // // if (!string.IsNullOrWhiteSpace(request.UserNO)) // // { // // oList = oList.Where(u => u.UserNO.Contains(request.UserNO)); // // } // // if (request.StartTime != null) // // { // // oList = oList.Where(u => u.OperationStartTime >= request.StartTime); // // } // // if (request.EndTime != null) // // { // // oList = oList.Where(u => u.OperationStartTime <= request.EndTime); // // } // // var query = from operationRecords in oList // // join productionDetectionRecords in pList // // on operationRecords.ID equals productionDetectionRecords.OperationRecordsId // // into opList // // select new ProductionStatistics_Dto // // { // // OperationRecordsRowData = operationRecords, // // BatchProductionTotalCount = opList.Where(u => u.ProductionBatchNO == operationRecords.ProductionBatchNO).Count(), // // BatchProductionOKCount = opList.Where(u => u.ProductionBatchNO == operationRecords.ProductionBatchNO && u.Result == "OK").Count(), // // BatchProductionNGCount = opList.Where(u => u.ProductionBatchNO == operationRecords.ProductionBatchNO && u.Result == "NG").Count(), // // BatchProductionTBDCount = opList.Where(u => u.ProductionBatchNO == operationRecords.ProductionBatchNO && u.Result == "TBD").Count(), // // IsSelected = false, // // }; // // var pageList = query.OrderBy(u => u.OperationRecordsRowData.OperationStartTime).ToPagedList(request); // // request.TotalNum = oList.Count(); // // return pageList; // // } // //} // public List GetProductionDetectionImageRecordsPagedList(ProductionDetectionImageRecordsRequest request) // { // using (DBModel context = new DBModel()) // { // var imageRecordsList = context.ProductionDetectionImageRecords.Where(u => u.IS_DELETED == 0); // var detectionRecordsList = context.ProductionDetectionRecordsDetail.Where(u => u.IS_DELETED == 0); // var manualDetectionRecordsList = context.ManualDetectionRecords.Where(u => u.IS_DELETED == 0); // if (!string.IsNullOrWhiteSpace(request.ProductionBatchNO)) // { // imageRecordsList = imageRecordsList.Where(u => u.ProductionBatchNO.Contains(request.ProductionBatchNO)); // } // if (!string.IsNullOrWhiteSpace(request.PId)) // { // imageRecordsList = imageRecordsList.Where(u => u.PId.Contains(request.PId)); // } // if (!string.IsNullOrWhiteSpace(request.Detection)) // { // imageRecordsList = imageRecordsList.Where(u => u.Detection.Contains(request.Detection)); // } // if (!string.IsNullOrWhiteSpace(request.DefectName)) // { // imageRecordsList = imageRecordsList.Where(u => u.DefectNameList.Contains(request.DefectName)); // } // if (!string.IsNullOrWhiteSpace(request.ManualDefectName)) // { // imageRecordsList = imageRecordsList.Where(u => u.ManualDefectNameList.Contains(request.ManualDefectName)); // } // if (!string.IsNullOrWhiteSpace(request.Result)) // { // imageRecordsList = imageRecordsList.Where(u => u.Result == request.Result); // } // if (!string.IsNullOrWhiteSpace(request.ManualResult)) // { // manualDetectionRecordsList = manualDetectionRecordsList.Where(u => u.ManualResult == request.ManualResult); // } // if (request.StartTime != null) // { // imageRecordsList = imageRecordsList.Where(u => u.Time >= request.StartTime); // } // if (request.EndTime != null) // { // imageRecordsList = imageRecordsList.Where(u => u.Time <= request.EndTime); // } // var query = from imageRecord in imageRecordsList // join manualDetectionRecords in manualDetectionRecordsList on imageRecord.OriginalImgPath equals manualDetectionRecords.OriginalImgPath // join detectionRecords in detectionRecordsList on imageRecord.ID equals detectionRecords.ImageRecordId // into imageDetectionRecord // select new ProductionDetectionImageRecords_Dto // { // ProductionDetectionImageRecordsRowData = imageRecord, // ManualDetectionRecords = manualDetectionRecords, // ProductionDetectionRecordsDetailList = detectionRecordsList.Where(u => u.ImageRecordId == imageRecord.ID) // }; // var pageList = query.OrderBy(u => u.ProductionDetectionImageRecordsRowData.CREATE_TIME).ToPagedList(request); // request.TotalNum = imageRecordsList.Count(); // return pageList; // } // } // public ProductionDetectionImageRecords GetConfigByProductionCode(string productionCode) // { // using (DBModel context = new DBModel()) // { // //ProductionDetectionImageRecords RR= context.ProductionDetectionImageRecords.FirstOrDefault(u => u.IS_DELETED == 0 && u.PRODUCTION_CODE == productionCode); // //return RR; // return new ProductionDetectionImageRecords(); // } // } // public void ADOBatchAdd(List records) // { // Hashtable SQLStringList = new Hashtable(); // try // { // var idList = records.Select(u => u.ID).ToList(); // var disIdList = idList.Distinct().ToList(); // if (idList.Count != disIdList.Count)//有重复id // { // throw new ProcessException("异常:有重复id:" + idList.ToString(), null); // } // //foreach (var record in records) // //{ // // if (IsExistId(record.ID)) // // { // // throw new ProcessException("异常:有重复id:" + record.ID, null); // // } // // StringBuilder strSql = new StringBuilder(); // // strSql.Append("insert into ProductionDetectionImageRecords ("); // // strSql.Append("ID,ProductionBatchNO,PId,Result,Time,Detection,DefectName,Probability,Uncertainty,DefectX,DefectY,DefectWidth,DefectHeight, RawImgPath,DefectImgPath,ImageTime,PreElapsed,DefectElapsed,AfterElapsed,TotalElapsed,PreTreatedFlag,DetectionType, SpecStandard, SpecActualValue,IS_DISABLED,IS_DELETED,CREATE_USER,CREATE_TIME, UPDATE_USER,UPDATE_TIME"); // // strSql.Append(")values ("); // // strSql.Append("@ID,@ProductionBatchNO,@PId,@Result,@Time,@Detection,@DefectName,@Probability,@Uncertainty,@DefectX,@DefectY,@DefectWidth,@DefectHeight,@RawImgPath,@DefectImgPath,@ImageTime,@PreElapsed,@DefectElapsed,@AfterElapsed,@TotalElapsed,@PreTreatedFlag,@DetectionType,@SpecStandard,@SpecActualValue,@IS_DISABLED,@IS_DELETED,@CREATE_USER,@CREATE_TIME,@UPDATE_USER,@UPDATE_TIME)"); // // List parameters = new List(); // // parameters.Add(new SQLiteParameter("@ID", record.ID)); // // parameters.Add(new SQLiteParameter("@ProductionBatchNO", record.ProductionBatchNO)); // // parameters.Add(new SQLiteParameter("@PId", record.PId)); // // parameters.Add(new SQLiteParameter("@Result", record.Result)); // // parameters.Add(new SQLiteParameter("@Time", record.Time)); // // parameters.Add(new SQLiteParameter("@Detection", record.Detection)); // // parameters.Add(new SQLiteParameter("@DefectName", record.DefectName)); // // parameters.Add(new SQLiteParameter("@Probability", record.Probability)); // // parameters.Add(new SQLiteParameter("@Uncertainty", record.Uncertainty)); // // parameters.Add(new SQLiteParameter("@DefectX", record.DefectX)); // // parameters.Add(new SQLiteParameter("@DefectY", record.DefectY)); // // parameters.Add(new SQLiteParameter("@DefectWidth", record.DefectWidth)); // // parameters.Add(new SQLiteParameter("@DefectHeight", record.DefectHeight)); // // parameters.Add(new SQLiteParameter("@RawImgPath", record.RawImgPath)); // // parameters.Add(new SQLiteParameter("@DefectImgPath", record.DefectImgPath)); // // parameters.Add(new SQLiteParameter("@ImageTime", record.ImageTime)); // // parameters.Add(new SQLiteParameter("@PreElapsed", record.PreElapsed)); // // parameters.Add(new SQLiteParameter("@DefectElapsed", record.DefectElapsed)); // // parameters.Add(new SQLiteParameter("@AfterElapsed", record.AfterElapsed)); // // parameters.Add(new SQLiteParameter("@TotalElapsed", record.TotalElapsed)); // // parameters.Add(new SQLiteParameter("@PreTreatedFlag", record.PreTreatedFlag)); // // parameters.Add(new SQLiteParameter("@DetectionType", record.DetectionType)); // // parameters.Add(new SQLiteParameter("@SpecStandard", record.SpecStandard)); // // parameters.Add(new SQLiteParameter("@SpecActualValue", record.SpecActualValue)); // // parameters.Add(new SQLiteParameter("@IS_DISABLED", record.IS_DISABLED)); // // parameters.Add(new SQLiteParameter("@IS_DELETED", record.IS_DELETED)); // // parameters.Add(new SQLiteParameter("@CREATE_USER", record.CREATE_USER)); // // parameters.Add(new SQLiteParameter("@CREATE_TIME", record.CREATE_TIME)); // // parameters.Add(new SQLiteParameter("@UPDATE_USER", record.UPDATE_USER)); // // parameters.Add(new SQLiteParameter("@UPDATE_TIME", record.UPDATE_TIME)); // // SQLStringList.Add(strSql, parameters.ToArray()); // //} // SQLiteHelper.ExecuteSqlTran(SQLStringList); //使用数据库事务 // } // catch (Exception ex) // { // throw new ProcessException(SQLStringList.ToString() + ex.Message, null); // } // } // public void InserPatch(List records) // { // try // { // using (SQLiteConnection conn = new SQLiteConnection(ConnectionString)) // { // using (SQLiteCommand insertRngCmd = (SQLiteCommand)conn.CreateCommand()) // { // StringBuilder strSql = new StringBuilder(); // strSql.Append("insert into ProductionDetectionImageRecords ("); // strSql.Append("ID,ProductionBatchNO,PId,ManualResult,Result,Time,DetectionSource,Detection,DefectNameList,ManualDefectNameList,RawImgPath,DefectImgPath,ImageTime,PreElapsed,DefectElapsed,AfterElapsed,TotalElapsed,PreTreatedFlag,OriginalImgPath,IS_DISABLED,IS_DELETED,CREATE_USER,CREATE_TIME, UPDATE_USER,UPDATE_TIME"); // strSql.Append(")values ("); // strSql.Append("@ID,@ProductionBatchNO,@PId,@ManualResult,@Result,@Time,@DetectionSource,@Detection,@DefectNameList,@ManualDefectNameList,@RawImgPath,@DefectImgPath,@ImageTime,@PreElapsed,@DefectElapsed,@AfterElapsed,@TotalElapsed,@PreTreatedFlag,@OriginalImgPath,@IS_DISABLED,@IS_DELETED,@CREATE_USER,@CREATE_TIME,@UPDATE_USER,@UPDATE_TIME)"); // insertRngCmd.CommandText = strSql.ToString(); // conn.Open(); // var transaction = conn.BeginTransaction(); // foreach (var record in records) // { // insertRngCmd.Parameters.AddWithValue("@ID", record.ID); // insertRngCmd.Parameters.AddWithValue("@ProductionBatchNO", record.ProductionBatchNO); // insertRngCmd.Parameters.AddWithValue("@PId", record.PId); // insertRngCmd.Parameters.AddWithValue("@ManualResult", record.ManualResult); // insertRngCmd.Parameters.AddWithValue("@Result", record.Result); // insertRngCmd.Parameters.AddWithValue("@Time", record.Time); // insertRngCmd.Parameters.AddWithValue("@DetectionSource", record.DetectionSource); // insertRngCmd.Parameters.AddWithValue("@Detection", record.Detection); // insertRngCmd.Parameters.AddWithValue("@DefectNameList", record.DefectNameList); // insertRngCmd.Parameters.AddWithValue("@ManualDefectNameList", record.ManualDefectNameList); // insertRngCmd.Parameters.AddWithValue("@RawImgPath", record.RawImgPath); // insertRngCmd.Parameters.AddWithValue("@DefectImgPath", record.DefectImgPath); // insertRngCmd.Parameters.AddWithValue("@ImageTime", record.ImageTime); // insertRngCmd.Parameters.AddWithValue("@PreElapsed", record.PreElapsed); // insertRngCmd.Parameters.AddWithValue("@DefectElapsed", record.DefectElapsed); // insertRngCmd.Parameters.AddWithValue("@AfterElapsed", record.AfterElapsed); // insertRngCmd.Parameters.AddWithValue("@TotalElapsed", record.TotalElapsed); // insertRngCmd.Parameters.AddWithValue("@PreTreatedFlag", record.PreTreatedFlag); // insertRngCmd.Parameters.AddWithValue("@OriginalImgPath", record.OriginalImgPath); // insertRngCmd.Parameters.AddWithValue("@IS_DISABLED", record.IS_DISABLED); // insertRngCmd.Parameters.AddWithValue("@IS_DELETED", record.IS_DELETED); // insertRngCmd.Parameters.AddWithValue("@CREATE_USER", record.CREATE_USER); // insertRngCmd.Parameters.AddWithValue("@CREATE_TIME", record.CREATE_TIME); // insertRngCmd.Parameters.AddWithValue("@UPDATE_USER", record.UPDATE_USER); // insertRngCmd.Parameters.AddWithValue("@UPDATE_TIME", record.UPDATE_TIME); // insertRngCmd.ExecuteNonQuery(); // } // transaction.Commit(); // } // } // } // catch (Exception ex) // { // throw new ProcessException(ex.Message, null); // } // } // public bool IsExistId(string id) // { // using (DBModel context = new DBModel()) // { // ProductionDetectionImageRecords RR = context.ProductionDetectionImageRecords.FirstOrDefault(u => u.ID == id); // return RR != null; // } // } // } //}