using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using TProduct.HttpClient; namespace TProduct.DAL { /// /// 设备生产商 /// public class TestProjectItem : BaseLiteSqlDAL_DataSync { /// /// /// public override ISqlSugarClient Connection { get { return TProduct.DAL.SQLite.ConfigHelper.MainConn; } } /// /// /// /// /// public int GetCountByDay(DateTime day) { using (ISqlSugarClient db = Connection) { return db.Queryable(). Where(x => x.CreateTime.Day == day.Day).Count(); } } /// /// 插入包含扩展信息 /// public long InsertEx(Entity.TestProjectItemBundle bundle, List items) { if (bundle == null) return default; using (ISqlSugarClient db = Connection) { try { db.Ado.BeginTran(); bundle.ID = db.Insertable(bundle).ExecuteReturnSnowflakeId(); if (bundle.ID <= 0) { db.Ado.RollbackTran(); return default; } for (int i = 0; i < items.Count; i++) { items[i].BundleID = bundle.ID; items[i].ID = db.Insertable(items[i]).ExecuteCommand(); if (items[i].ID <= 0) { db.Ado.RollbackTran(); return default; } } db.Ado.CommitTran(); if (TProduct.CorpConfig.Instance.RealTimeRemoteService.IsSynMainData) { HttpClientHelper.Build("TestProjectItemBundle", "Insert@V1.0").Post(bundle); if (items != null && items.Count > 0) { HttpClientHelper.Build("TestProjectItem", "Inserts@V1.0").Post(items); } } return bundle.ID; } catch { db.Ado.RollbackTran(); return default; } } } /// /// 更新对象属性到数据库中 /// public virtual bool UpdateEx(Entity.TestProjectItemBundle map, Entity.TestProjectItem item) { if (map == null) return default; using (ISqlSugarClient db = Connection) { try { db.Ado.BeginTran(); db.Updateable(map).ExecuteCommand(); db.Updateable(item).ExecuteCommand(); if (TProduct.CorpConfig.Instance.RealTimeRemoteService.IsSynMainData) { HttpClientHelper.Build("TestProjectItemBundle", "Update@V1.0").Put(map); HttpClientHelper.Build("TestProjectItem", "Update@V1.0").Put(item); } db.Ado.CommitTran(); return true; } catch { db.Ado.RollbackTran(); return default; } } } /// /// 编号是否存在 /// public bool IsExistCode(string Code) { using (ISqlSugarClient db = Connection) { return db.Queryable().Where(x => x.Code == Code).Any(); } } /// /// 通拓id列表获取 /// /// public List GetByItemIDs(List item_ids) { using (ISqlSugarClient db = Connection) { return db.Queryable().Where(x => item_ids.Contains(x.ID))?.ToList(); } } /// /// /// /// /// /// public bool UpdateLogContent(long ID, string Content) { using (ISqlSugarClient db = Connection) { var result = db. Updateable(new Entity.TestProjectItem() { ID = ID, LogContent = Content }). UpdateColumns(it => new { it.LogContent }).ExecuteCommand(); if (result > 0 && TProduct.CorpConfig.Instance.RealTimeRemoteService.IsSynMainData) { var dto = GetByID(ID); HttpClientHelper.Build(this.TableName, "Update@V1.0").Put(dto); } return true; } } /// /// /// /// /// /// public bool UpdateItemName(long ID, string ItemName) { using (ISqlSugarClient db = Connection) { var result = db. Updateable(new Entity.TestProjectItem() { ID = ID, Name = ItemName }). UpdateColumns(it => new { it.Name }).ExecuteCommand(); if (result > 0 && TProduct.CorpConfig.Instance.RealTimeRemoteService.IsSynMainData) { var dto = GetByID(ID); HttpClientHelper.Build(this.TableName, "Update@V1.0").Put(dto); } return true; } } /// /// /// /// /// /// public bool RefreshTestStartTime(long ID) { using (ISqlSugarClient db = Connection) { var result = db. Updateable(new Entity.TestProjectItem() { ID = ID, TestStartTime = DateTime.Now }). UpdateColumns(it => new { it.TestStartTime }).ExecuteCommand(); if (result > 0 && TProduct.CorpConfig.Instance.RealTimeRemoteService.IsSynMainData) { var dto = GetByID(ID); HttpClientHelper.Build(this.TableName, "Update@V1.0").Put(dto); } return true; } } /// /// /// /// /// /// public bool RefreshTestEndTime(long ID) { using (ISqlSugarClient db = Connection) { var result = db. Updateable(new Entity.TestProjectItem() { ID = ID, TestEndTime = DateTime.Now }). UpdateColumns(it => new { it.TestEndTime }).ExecuteCommand(); if (result > 0 && TProduct.CorpConfig.Instance.RealTimeRemoteService.IsSynMainData) { var dto = GetByID(ID); HttpClientHelper.Build(this.TableName, "Update@V1.0").Put(dto); } return true; } } /// /// /// /// /// /// public bool UpdatePointNumberAndTime(long ID, int PointNumber) { using (ISqlSugarClient db = Connection) { var result = db. Updateable(new Entity.TestProjectItem() { ID = ID, PointNumber = PointNumber, TestEndTime = DateTime.Now }). UpdateColumns(it => new { it.PointNumber, it.TestEndTime }).ExecuteCommand(); if (result > 0 && TProduct.CorpConfig.Instance.RealTimeRemoteService.IsSynMainData) { var dto = GetByID(ID); HttpClientHelper.Build(this.TableName, "Update@V1.0").Put(dto); } return true; } } public bool UpdatePointNumberOnly(long ID, int PointNumber) { using (ISqlSugarClient db = Connection) { var result = db. Updateable(new Entity.TestProjectItem() { ID = ID, PointNumber = PointNumber }). UpdateColumns(it => new { it.PointNumber, it.TestEndTime }).ExecuteCommand(); if (result > 0 && TProduct.CorpConfig.Instance.RealTimeRemoteService.IsSynMainData) { var dto = GetByID(ID); HttpClientHelper.Build(this.TableName, "Update@V1.0").Put(dto); } return true; } } /// /// /// /// /// /// public bool UpdateCoordinateParas(long ID, string CoordinateParas) { using (ISqlSugarClient db = Connection) { var result = db. Updateable(new Entity.TestProjectItem() { ID = ID, CoordinateParas = CoordinateParas }). UpdateColumns(it => new { it.CoordinateParas }).ExecuteCommand(); if (result > 0 && TProduct.CorpConfig.Instance.RealTimeRemoteService.IsSynMainData) { var dto = GetByID(ID); HttpClientHelper.Build(this.TableName, "Update@V1.0").Put(dto); } return true; } } /// /// /// /// /// /// public bool UpdateJudgeResult(long ID, int JudgeResult) { using (ISqlSugarClient db = Connection) { var result = db. Updateable(new Entity.TestProjectItem() { ID = ID, JudgeResult = JudgeResult }). UpdateColumns(it => new { it.JudgeResult }).ExecuteCommand(); if (result > 0 && TProduct.CorpConfig.Instance.RealTimeRemoteService.IsSynMainData) { var dto = GetByID(ID); HttpClientHelper.Build(this.TableName, "Update@V1.0").Put(dto); } return true; } } /// /// /// /// /// /// public bool UpdateTestResult(long ID, string TestResult) { using (ISqlSugarClient db = Connection) { var result = db. Updateable(new Entity.TestProjectItem() { ID = ID, TestResult = TestResult }). UpdateColumns(it => new { it.TestResult }).ExecuteCommand(); if (result > 0 && TProduct.CorpConfig.Instance.RealTimeRemoteService.IsSynMainData) { var dto = GetByID(ID); HttpClientHelper.Build(this.TableName, "Update@V1.0").Put(dto); } return true; } } /// /// /// /// /// /// public bool UpdateItemParas(long ID, string ItemParas) { using (ISqlSugarClient db = Connection) { var result = db. Updateable(new Entity.TestProjectItem() { ID = ID, ItemParas = ItemParas }). UpdateColumns(it => new { it.ItemParas }).ExecuteCommand(); if (result > 0 && TProduct.CorpConfig.Instance.RealTimeRemoteService.IsSynMainData) { var dto = GetByID(ID); HttpClientHelper.Build(this.TableName, "Update@V1.0").Put(dto); } return true; } } /// /// /// /// public void ReCalcPointNumberAll(int Year) { var allItems = GetAll(); var allRecords_pump = new DAL.PumpFeatTestRecord().GetAllByYear(Year); var allRecords_valve = new DAL.ValveFeatTestRecord().GetAllByYear(Year); foreach (var item in allItems) { if (item.CreateTime.Year != Year) { continue; } if (item.TestType == 1) {//性能测试 var record_count = allRecords_pump.Where(x => x.TestItemID == item.ID).Count(); if (record_count != item.PointNumber) { item.PointNumber = record_count; UpdatePointNumberOnly(item.ID, record_count); } } if (item.TestType == 8) {//阀门测试 var record_count = allRecords_valve.Where(x => x.TestItemID == item.ID).Count(); if (record_count != item.PointNumber) { item.PointNumber = record_count; UpdatePointNumberOnly(item.ID, record_count); } } } } } }