diff --git a/Admin.Core.IRepository/BASE/IBaseRepository.cs b/Admin.Core.IRepository/BASE/IBaseRepository.cs index 1bf5738e..a196bafd 100644 --- a/Admin.Core.IRepository/BASE/IBaseRepository.cs +++ b/Admin.Core.IRepository/BASE/IBaseRepository.cs @@ -15,6 +15,11 @@ namespace Admin.Core.IRepository /// ISqlSugarClient Db { get; } /// + /// 判断数据库连接状态 + /// + /// + bool GetConnectionState(); + /// /// 根据Id查询实体 /// /// diff --git a/Admin.Core.IService/BASE/IBaseServices.cs b/Admin.Core.IService/BASE/IBaseServices.cs index 430396f8..6d9ec53f 100644 --- a/Admin.Core.IService/BASE/IBaseServices.cs +++ b/Admin.Core.IService/BASE/IBaseServices.cs @@ -10,11 +10,10 @@ namespace Admin.Core.IService { public interface IBaseServices where TEntity : class { - + bool GetConnectionState(); Task QueryByIdAsync(object objId); Task QueryByIdAsync(object objId, bool blnUseCache = false); Task> QueryByIDsAsync(object[] lstIds); - Task AddAsync(TEntity model); Task AddAsync(List listEntity); diff --git a/Admin.Core.Repository/BASE/BaseRepository.cs b/Admin.Core.Repository/BASE/BaseRepository.cs index 84a38851..0a39521a 100644 --- a/Admin.Core.Repository/BASE/BaseRepository.cs +++ b/Admin.Core.Repository/BASE/BaseRepository.cs @@ -8,9 +8,6 @@ using System.Linq; using System.Linq.Expressions; using System.Threading.Tasks; using Admin.Core.IRepository; -using NPOI.SS.Formula.Functions; -using Org.BouncyCastle.Crypto; -using Castle.DynamicProxy.Generators.Emitters.SimpleAST; namespace Admin.Core.Repository { @@ -54,6 +51,15 @@ namespace Admin.Core.Repository _dbBase = unitOfWork.GetDbClient(); } + /// + /// 判断数据库连接状态 + /// + /// + public bool GetConnectionState() + { + return _db.Ado.IsValidConnection(); + } + #region 异步方法 @@ -64,7 +70,7 @@ namespace Admin.Core.Repository public async Task QueryByIdAsync(object objId) { - //return await Task.Run(() => _db.Queryable().InSingle(objId)); + if (GetConnectionState() == false) return null; return await _db.Queryable().In(objId).SingleAsync(); } /// @@ -76,7 +82,7 @@ namespace Admin.Core.Repository /// 数据实体 public async Task QueryByIdAsync(object objId, bool blnUseCache = false) { - //return await Task.Run(() => _db.Queryable().WithCacheIF(blnUseCache).InSingle(objId)); + if (GetConnectionState() == false) return null; return await _db.Queryable().WithCacheIF(blnUseCache).In(objId).SingleAsync(); } @@ -88,7 +94,7 @@ namespace Admin.Core.Repository /// 数据实体列表 public async Task> QueryByIDsAsync(object[] lstIds) { - //return await Task.Run(() => _db.Queryable().In(lstIds).ToList()); + if (GetConnectionState() == false) return null; return await _db.Queryable().In(lstIds).ToListAsync(); } @@ -215,6 +221,7 @@ namespace Admin.Core.Repository /// public async Task FirstAsync() { + if (GetConnectionState() == false) return null; return await _db.Queryable().FirstAsync(); } /// @@ -224,6 +231,7 @@ namespace Admin.Core.Repository /// public async Task FirstAsync(Expression> whereExpression) { + if (GetConnectionState() == false) return null; return await _db.Queryable().WhereIF(whereExpression != null, whereExpression).FirstAsync(); } /// @@ -269,6 +277,7 @@ namespace Admin.Core.Repository /// 数据列表 public async Task> QueryAsync() { + if (GetConnectionState() == false) return null; return await _db.Queryable().ToListAsync(); } @@ -280,6 +289,7 @@ namespace Admin.Core.Repository /// 数据列表 public async Task> QueryAsync(string strWhere) { + if (GetConnectionState() == false) return null; //return await Task.Run(() => _db.Queryable().WhereIF(!string.IsNullOrEmpty(strWhere), strWhere).ToList()); return await _db.Queryable().WhereIF(!string.IsNullOrEmpty(strWhere), strWhere).ToListAsync(); } @@ -292,6 +302,7 @@ namespace Admin.Core.Repository /// 数据列表 public async Task> QueryAsync(Expression> whereExpression) { + if (GetConnectionState() == false) return null; return await _db.Queryable().WhereIF(whereExpression != null, whereExpression).ToListAsync(); } @@ -304,6 +315,7 @@ namespace Admin.Core.Repository /// public async Task> QueryAsync(Expression> expression) { + if (GetConnectionState() == false) return null; return await _db.Queryable().Select(expression).ToListAsync(); } @@ -318,6 +330,7 @@ namespace Admin.Core.Repository /// public async Task> QueryAsync(Expression> expression, Expression> whereExpression, string strOrderByFileds) { + if (GetConnectionState() == false) return null; return await _db.Queryable().OrderByIF(!string.IsNullOrEmpty(strOrderByFileds), strOrderByFileds).WhereIF(whereExpression != null, whereExpression).Select(expression).ToListAsync(); } @@ -330,6 +343,7 @@ namespace Admin.Core.Repository /// 数据列表 public async Task> QueryAsync(Expression> whereExpression, string strOrderByFileds) { + if (GetConnectionState() == false) return null; //return await Task.Run(() => _db.Queryable().OrderByIF(!string.IsNullOrEmpty(strOrderByFileds), strOrderByFileds).WhereIF(whereExpression != null, whereExpression).ToList()); return await _db.Queryable().WhereIF(whereExpression != null, whereExpression).OrderByIF(strOrderByFileds != null, strOrderByFileds).ToListAsync(); } @@ -342,6 +356,7 @@ namespace Admin.Core.Repository /// public async Task> QueryAsync(Expression> whereExpression, Expression> orderByExpression, bool isAsc = true) { + if (GetConnectionState() == false) return null; //return await Task.Run(() => _db.Queryable().OrderByIF(orderByExpression != null, orderByExpression, isAsc ? OrderByType.Asc : OrderByType.Desc).WhereIF(whereExpression != null, whereExpression).ToList()); return await _db.Queryable().OrderByIF(orderByExpression != null, orderByExpression, isAsc ? OrderByType.Asc : OrderByType.Desc).WhereIF(whereExpression != null, whereExpression).ToListAsync(); } @@ -355,6 +370,7 @@ namespace Admin.Core.Repository /// 数据列表 public async Task> QueryAsync(string strWhere, string strOrderByFileds) { + if (GetConnectionState() == false) return null; //return await Task.Run(() => _db.Queryable().OrderByIF(!string.IsNullOrEmpty(strOrderByFileds), strOrderByFileds).WhereIF(!string.IsNullOrEmpty(strWhere), strWhere).ToList()); return await _db.Queryable().OrderByIF(!string.IsNullOrEmpty(strOrderByFileds), strOrderByFileds).WhereIF(!string.IsNullOrEmpty(strWhere), strWhere).ToListAsync(); } @@ -373,6 +389,7 @@ namespace Admin.Core.Repository int intTop, string strOrderByFileds) { + if (GetConnectionState() == false) return null; //return await Task.Run(() => _db.Queryable().OrderByIF(!string.IsNullOrEmpty(strOrderByFileds), strOrderByFileds).WhereIF(whereExpression != null, whereExpression).Take(intTop).ToList()); return await _db.Queryable().OrderByIF(!string.IsNullOrEmpty(strOrderByFileds), strOrderByFileds).WhereIF(whereExpression != null, whereExpression).Take(intTop).ToListAsync(); } @@ -390,6 +407,7 @@ namespace Admin.Core.Repository int intTop, string strOrderByFileds) { + if (GetConnectionState() == false) return null; //return await Task.Run(() => _db.Queryable().OrderByIF(!string.IsNullOrEmpty(strOrderByFileds), strOrderByFileds).WhereIF(!string.IsNullOrEmpty(strWhere), strWhere).Take(intTop).ToList()); return await _db.Queryable().OrderByIF(!string.IsNullOrEmpty(strOrderByFileds), strOrderByFileds).WhereIF(!string.IsNullOrEmpty(strWhere), strWhere).Take(intTop).ToListAsync(); } @@ -402,6 +420,7 @@ namespace Admin.Core.Repository /// 泛型集合 public async Task> QuerySqlAsync(string strSql, SugarParameter[] parameters = null) { + if (GetConnectionState() == false) return null; return await _db.Ado.SqlQueryAsync(strSql, parameters); } @@ -424,6 +443,7 @@ namespace Admin.Core.Repository /// DataTable public async Task QueryTableAsync(string strSql, SugarParameter[] parameters = null) { + if (GetConnectionState() == false) return null; return await _db.Ado.GetDataTableAsync(strSql, parameters); } @@ -442,6 +462,7 @@ namespace Admin.Core.Repository int intPageSize, string strOrderByFileds) { + if (GetConnectionState() == false) return null; //return await Task.Run(() => _db.Queryable().OrderByIF(!string.IsNullOrEmpty(strOrderByFileds), strOrderByFileds).WhereIF(whereExpression != null, whereExpression).ToPageList(intPageIndex, intPageSize)); return await _db.Queryable().OrderByIF(!string.IsNullOrEmpty(strOrderByFileds), strOrderByFileds).WhereIF(whereExpression != null, whereExpression).ToPageListAsync(intPageIndex, intPageSize); } @@ -462,6 +483,7 @@ namespace Admin.Core.Repository string strOrderByFileds) { + if (GetConnectionState() == false) return null; //return await Task.Run(() => _db.Queryable().OrderByIF(!string.IsNullOrEmpty(strOrderByFileds), strOrderByFileds).WhereIF(!string.IsNullOrEmpty(strWhere), strWhere).ToPageList(intPageIndex, intPageSize)); return await _db.Queryable().OrderByIF(!string.IsNullOrEmpty(strOrderByFileds), strOrderByFileds).WhereIF(!string.IsNullOrEmpty(strWhere), strWhere).ToPageListAsync(intPageIndex, intPageSize); } @@ -478,6 +500,7 @@ namespace Admin.Core.Repository /// public async Task> QueryPageAsync(Expression> whereExpression, int intPageIndex = 1, int intPageSize = 20, string strOrderByFileds = null) { + if (GetConnectionState() == false) return null; RefAsync totalCount = 0; var list = await _db.Queryable() @@ -506,6 +529,7 @@ namespace Admin.Core.Repository Expression> selectExpression, Expression> whereLambda = null) where T : class, new() { + if (GetConnectionState() == false) return null; if (whereLambda == null) { return await _db.Queryable(joinExpression).Select(selectExpression).ToListAsync(); @@ -535,7 +559,7 @@ namespace Admin.Core.Repository int intPageSize = 20, string strOrderByFileds = null) { - + if (GetConnectionState() == false) return null; RefAsync totalCount = 0; var list = await _db.Queryable(joinExpression) .Select(selectExpression) @@ -568,6 +592,7 @@ namespace Admin.Core.Repository int intPageSize = 20, string strOrderByFileds = null) { + if (GetConnectionState() == false) return null; RefAsync totalCount = 0; var list = await _db.Queryable(joinExpression).GroupBy(groupExpression) diff --git a/Admin.Core.Service/BASE/BaseServices.cs b/Admin.Core.Service/BASE/BaseServices.cs index dc45fd6a..c90d8f72 100644 --- a/Admin.Core.Service/BASE/BaseServices.cs +++ b/Admin.Core.Service/BASE/BaseServices.cs @@ -2,6 +2,7 @@ using Admin.Core.IService; using Admin.Core.Model; using Admin.Core.Model.Model_New; +using Castle.DynamicProxy.Generators.Emitters.SimpleAST; using SqlSugar; using System; using System.Collections.Generic; @@ -17,12 +18,17 @@ namespace Admin.Core.Service //public IBaseRepository baseDal = new BaseRepository(); public IBaseRepository BaseDal { get; set; }//通过在子类的构造函数中注入,这里是基类,不用构造函数 + public bool GetConnectionState() + { + return BaseDal.GetConnectionState(); + } /// /// 正序查询第一条数据 /// /// public async Task FirstAsync() { + if (BaseDal.GetConnectionState() == false) return null; return await BaseDal.FirstAsync(); } /// @@ -32,12 +38,14 @@ namespace Admin.Core.Service /// public async Task FirstAsync(Expression> whereExpression) { + if (BaseDal.GetConnectionState() == false) return null; return await BaseDal.FirstAsync(whereExpression); } public async Task QueryByIdAsync(object objId) { + if (BaseDal.GetConnectionState() == false) return null; return await BaseDal.QueryByIdAsync(objId); } /// @@ -49,6 +57,7 @@ namespace Admin.Core.Service /// 数据实体 public async Task QueryByIdAsync(object objId, bool blnUseCache = false) { + if (BaseDal.GetConnectionState() == false) return null; return await BaseDal.QueryByIdAsync(objId, blnUseCache); } @@ -60,6 +69,7 @@ namespace Admin.Core.Service /// 数据实体列表 public async Task> QueryByIDsAsync(object[] lstIds) { + if (BaseDal.GetConnectionState() == false) return null; return await BaseDal.QueryByIDsAsync(lstIds); } diff --git a/Admin.Core.Service/Service_New/BaseOrderInfoServices.cs b/Admin.Core.Service/Service_New/BaseOrderInfoServices.cs index 40010121..af0a3d6b 100644 --- a/Admin.Core.Service/Service_New/BaseOrderInfoServices.cs +++ b/Admin.Core.Service/Service_New/BaseOrderInfoServices.cs @@ -51,6 +51,8 @@ namespace Admin.Core.Service List orderBomInfoList = await _orderBomInfoRepository.QueryAsync(); List printOrderInfoList = await _printOrderInfoRepository.QueryAsync(); bbinfolist.Clear(); + if (orderList == null) return null; + if (orderBomInfoList == null) return null; foreach (BaseOrderInfo order in orderList) { var bomList = await _orderBomInfoRepository.QueryAsync(d => d.ParentId.Equals(order.MaterialCode)); diff --git a/Aucma.Core.BoxFoam/ViewModels/FoamMonitorPageViewModel.cs b/Aucma.Core.BoxFoam/ViewModels/FoamMonitorPageViewModel.cs index 74aaae32..2a4117b0 100644 --- a/Aucma.Core.BoxFoam/ViewModels/FoamMonitorPageViewModel.cs +++ b/Aucma.Core.BoxFoam/ViewModels/FoamMonitorPageViewModel.cs @@ -263,25 +263,33 @@ namespace Aucma.Core.BoxFoam.ViewModels /// public async Task InitData() { - int total = 0; - var list = await _boxFoamDataServices.QueryAsync(); - foreach (var item in list) + try { - if (item.BoxFixturestatus == 1) StatusColor.Add("Green"); - if (item.BoxFixturestatus == 0) StatusColor.Add("Red"); - - - FixtureName.Add(item.BoxFixturetype); - Production.Add(item.BoxFixtureproduction.ToString()); - FoamVolume.Add(item.FoamVolume); - InternalTemperature.Add(item.BoxClosebetatemperature.ToString()); - OutsideTemperature.Add(item.BoxFixturesideplate.ToString()); - Beat.Add(item.BoxBeat); - - total += item.BoxFixtureproduction; + int total = 0; + var list = await _boxFoamDataServices.QueryAsync(); + foreach (var item in list) + { + if (item.BoxFixturestatus == 1) StatusColor.Add("Green"); + if (item.BoxFixturestatus == 0) StatusColor.Add("Red"); + + + FixtureName.Add(item.BoxFixturetype); + Production.Add(item.BoxFixtureproduction.ToString()); + FoamVolume.Add(item.FoamVolume); + InternalTemperature.Add(item.BoxClosebetatemperature.ToString()); + OutsideTemperature.Add(item.BoxFixturesideplate.ToString()); + Beat.Add(item.BoxBeat); + + total += item.BoxFixtureproduction; + } + Totle = total; + } + catch + { + } - Totle = total; + } } } diff --git a/Aucma.Core.BoxFoam/ViewModels/IndexPageViewModel.cs b/Aucma.Core.BoxFoam/ViewModels/IndexPageViewModel.cs index cbdd7e08..69d59882 100644 --- a/Aucma.Core.BoxFoam/ViewModels/IndexPageViewModel.cs +++ b/Aucma.Core.BoxFoam/ViewModels/IndexPageViewModel.cs @@ -55,22 +55,30 @@ namespace Aucma.Core.BoxFoam.ViewModels PlanInfoDataGrid.Clear(); int i = 1; - var list = await _recordInstoreServices.SaveRecordToDb(storeCode, startTime, endTime); - foreach (var item in list.OrderByDescending(d=>d.No)) + try { - PlanInfoDataGrid.Add(new EnterLibView() + var list = await _recordInstoreServices.SaveRecordToDb(storeCode, startTime, endTime); + foreach (var item in list.OrderByDescending(d => d.No)) { - No=i, - PlanCode = item.PlanCode, - MaterialCode = item.MaterialCode, - MaterialName = item.MaterialName, - MaterialBarCode = item.MaterialBarCode, - EnterSpace = item.EnterSpace, - ExecDateTime = item.ExecDateTime, - Status = item.Status - }); - i++; - }; + PlanInfoDataGrid.Add(new EnterLibView() + { + No = i, + PlanCode = item.PlanCode, + MaterialCode = item.MaterialCode, + MaterialName = item.MaterialName, + MaterialBarCode = item.MaterialBarCode, + EnterSpace = item.EnterSpace, + ExecDateTime = item.ExecDateTime, + Status = item.Status + }); + i++; + }; + } + catch (Exception ex) + { + + throw; + } //Datalist.Insert(0, Datalist[Datalist.Count - 1]); //Datalist.RemoveAt(Datalist.Count - 1); })); diff --git a/Aucma.Core.BoxFoam/ViewModels/LinerInventoryViewModel.cs b/Aucma.Core.BoxFoam/ViewModels/LinerInventoryViewModel.cs index c6a4c06c..9fb5b8c8 100644 --- a/Aucma.Core.BoxFoam/ViewModels/LinerInventoryViewModel.cs +++ b/Aucma.Core.BoxFoam/ViewModels/LinerInventoryViewModel.cs @@ -22,12 +22,12 @@ namespace Aucma.Core.BoxFoam.ViewModels public LinerInventoryViewModel() { _spaceInfoService = App.ServiceProvider.GetService(); _spaceDetailService = App.ServiceProvider.GetService(); - Task.WaitAll(Query()); + Query(); } - private async Task Query() + private async void Query() { - var storeCode = Appsettings.app("StoreInfo", "StoreCode"); + var storeCode = Appsettings.app("StoreInfo", "LinerInventory"); List info = await _spaceInfoService.QueryAsync(d => d.StoreCode.Equals(storeCode)); if (info != null) { @@ -45,7 +45,7 @@ namespace Aucma.Core.BoxFoam.ViewModels private async void SpaceDetail(object obj) { string info = obj as string; - var storeCode = Appsettings.app("StoreInfo", "StoreCode"); + var storeCode = Appsettings.app("StoreInfo", "LinerInventory");//内胆库号 List list =await _spaceDetailService.GetSpaceDetailsBySpaceCode(storeCode, info); RefreshSpaceDetails(list); diff --git a/Aucma.Core.BoxFoam/ViewModels/ShellInventoryViewModel.cs b/Aucma.Core.BoxFoam/ViewModels/ShellInventoryViewModel.cs index 80d73563..6f75f698 100644 --- a/Aucma.Core.BoxFoam/ViewModels/ShellInventoryViewModel.cs +++ b/Aucma.Core.BoxFoam/ViewModels/ShellInventoryViewModel.cs @@ -30,6 +30,10 @@ namespace Aucma.Core.BoxFoam.ViewModels List info = await _spaceInfoService.QueryAsync(d => d.StoreCode.Equals(storeCode)); if (info != null) { + if (shapes.Count > 0) + { + shapes.Clear(); + } foreach (BaseSpaceInfo info2 in info) { shapes.Add(info2); diff --git a/Aucma.Core.BoxFoam/Views/FoamMachinesPageView.xaml b/Aucma.Core.BoxFoam/Views/FoamMachinesPageView.xaml index 95d2baaf..73beba52 100644 --- a/Aucma.Core.BoxFoam/Views/FoamMachinesPageView.xaml +++ b/Aucma.Core.BoxFoam/Views/FoamMachinesPageView.xaml @@ -146,11 +146,11 @@ - + - + @@ -159,11 +159,11 @@ - + - + @@ -171,11 +171,11 @@ - + - + @@ -183,11 +183,11 @@ - + - + @@ -195,11 +195,11 @@ - + - + @@ -210,7 +210,7 @@ - + @@ -218,7 +218,7 @@ - + @@ -245,11 +245,11 @@ - + - + @@ -257,11 +257,11 @@ - + - + @@ -269,23 +269,22 @@ - + - + - - + - + @@ -302,7 +301,7 @@ - + @@ -343,11 +342,11 @@ - + - + @@ -356,11 +355,11 @@ - + - + @@ -368,11 +367,11 @@ - + - + @@ -380,11 +379,11 @@ - + - + @@ -392,11 +391,11 @@ - + - + @@ -407,7 +406,7 @@ - + @@ -415,7 +414,7 @@ - + @@ -432,10 +431,10 @@ - + - + @@ -446,11 +445,11 @@ - + - + @@ -458,11 +457,11 @@ - + - + @@ -470,11 +469,11 @@ - + - + @@ -482,11 +481,11 @@ - + - + diff --git a/Aucma.Core.BoxFoam/Views/UserPage/AfterFoamingPageView.xaml b/Aucma.Core.BoxFoam/Views/UserPage/AfterFoamingPageView.xaml index 96e8f890..0ea5ce4d 100644 --- a/Aucma.Core.BoxFoam/Views/UserPage/AfterFoamingPageView.xaml +++ b/Aucma.Core.BoxFoam/Views/UserPage/AfterFoamingPageView.xaml @@ -72,7 +72,7 @@ - + @@ -95,7 +95,7 @@ - + diff --git a/Aucma.Core.BoxFoam/Views/UserPage/BeforeFoamingPageView.xaml b/Aucma.Core.BoxFoam/Views/UserPage/BeforeFoamingPageView.xaml index 1c274a34..0757738c 100644 --- a/Aucma.Core.BoxFoam/Views/UserPage/BeforeFoamingPageView.xaml +++ b/Aucma.Core.BoxFoam/Views/UserPage/BeforeFoamingPageView.xaml @@ -67,11 +67,11 @@ - + - + @@ -94,7 +94,7 @@ - + diff --git a/Aucma.Core.BoxFoam/Views/UserPage/LinerInventory.xaml b/Aucma.Core.BoxFoam/Views/UserPage/LinerInventory.xaml index 2e3e2493..8c9aead3 100644 --- a/Aucma.Core.BoxFoam/Views/UserPage/LinerInventory.xaml +++ b/Aucma.Core.BoxFoam/Views/UserPage/LinerInventory.xaml @@ -173,34 +173,24 @@ - + - + - + - + - + - + @@ -210,13 +200,11 @@ - - - + @@ -225,13 +213,14 @@ - + + - + mc:Ignorable="d" Background="#1152AC" FontFamily="Microsoft YaHei" + d:DesignHeight="450" d:DesignWidth="800"> + - + + + + + @@ -35,7 +91,7 @@ - + @@ -52,32 +108,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -85,7 +116,7 @@ - + @@ -93,30 +124,25 @@ - + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/Aucma.Core.DoorFoam/Views/MainWindow.xaml b/Aucma.Core.DoorFoam/Views/MainWindow.xaml index c0f427f5..905e37e9 100644 --- a/Aucma.Core.DoorFoam/Views/MainWindow.xaml +++ b/Aucma.Core.DoorFoam/Views/MainWindow.xaml @@ -67,8 +67,9 @@ -