From be07ee60ee0f80f483d529ee3eb41364a8a9f69a Mon Sep 17 00:00:00 2001 From: hehaibing-1996 Date: Wed, 8 Jan 2025 16:18:23 +0800 Subject: [PATCH] 2 --- WCS.BLL/DbModels/ModuleInfo.cs | 105 ----- WCS.BLL/DbModels/OrderLight.cs | 38 -- WCS.BLL/HardWare/SmartShelf.cs | 20 - WCS.BLL/Manager/DbInit.cs | 4 +- WCS.BLL/Manager/WarningManager.cs | 46 -- WCS.BLL/Services/IService/IInstoreService.cs | 3 - WCS.BLL/Services/IService/IOutstoreService.cs | 2 - .../Services/IService/IStoreInfoService.cs | 33 -- WCS.BLL/Services/Service/InstoreService.cs | 138 ------ WCS.BLL/Services/Service/OutstoreService.cs | 335 -------------- .../Services/Service/SingleLightService.cs | 133 ------ WCS.BLL/Services/Service/StoreInfoService.cs | 405 +---------------- WCS.WebApi/Controllers/InstoreController.cs | 47 -- WCS.WebApi/Controllers/OutstoreController.cs | 48 -- WCS.WebApi/Controllers/StoreInfoController.cs | 51 --- WCS.WebApi/Program.cs | 1 - 货架标准上位机/App.xaml.cs | 11 +- .../MXViewModel/MXOutInventoryViewModel.cs | 358 --------------- .../MXViewModel/MXOutOrderDetailViewViewModel.cs | 218 --------- .../ViewModels/MXViewModel/MXOutOrderViewModel.cs | 132 ------ .../ViewModels/MXViewModel/MXPDViewModel.cs | 429 ------------------ .../ViewModels/ModuleInfoViewModel.cs | 325 ------------- .../ViewModels/StoreInfoViewModel.cs | 339 -------------- .../Views/MXWindows/MXMainWindow.xaml | 315 ------------- .../Views/MXWindows/MXMainWindow.xaml.cs | 57 --- .../Views/MXWindows/MXOutInventoryView.xaml | 206 --------- .../Views/MXWindows/MXOutInventoryView.xaml.cs | 69 --- .../Views/MXWindows/MXOutOrderDetailView.xaml | 80 ---- .../Views/MXWindows/MXOutOrderDetailView.xaml.cs | 158 ------- .../Views/MXWindows/MXOutOrderView.xaml | 123 ----- .../Views/MXWindows/MXOutOrderView.xaml.cs | 157 ------- 货架标准上位机/Views/MXWindows/MXPDView.xaml | 235 ---------- .../Views/MXWindows/MXPDView.xaml.cs | 59 --- .../Views/MainWindows/MainWindow1.xaml | 20 +- .../Views/MainWindows/MainWindow2.xaml | 18 +- 货架标准上位机/Views/ModuleInfoView.xaml | 168 ------- 货架标准上位机/Views/ModuleInfoView.xaml.cs | 141 ------ 货架标准上位机/Views/StoreInfoView.xaml | 188 -------- 货架标准上位机/Views/StoreInfoView.xaml.cs | 139 ------ 货架标准上位机/WebSocket.cs | 12 +- 40 files changed, 19 insertions(+), 5347 deletions(-) delete mode 100644 WCS.BLL/DbModels/ModuleInfo.cs delete mode 100644 WCS.BLL/DbModels/OrderLight.cs delete mode 100644 货架标准上位机/ViewModels/MXViewModel/MXOutInventoryViewModel.cs delete mode 100644 货架标准上位机/ViewModels/MXViewModel/MXOutOrderDetailViewViewModel.cs delete mode 100644 货架标准上位机/ViewModels/MXViewModel/MXOutOrderViewModel.cs delete mode 100644 货架标准上位机/ViewModels/MXViewModel/MXPDViewModel.cs delete mode 100644 货架标准上位机/ViewModels/ModuleInfoViewModel.cs delete mode 100644 货架标准上位机/ViewModels/StoreInfoViewModel.cs delete mode 100644 货架标准上位机/Views/MXWindows/MXMainWindow.xaml delete mode 100644 货架标准上位机/Views/MXWindows/MXMainWindow.xaml.cs delete mode 100644 货架标准上位机/Views/MXWindows/MXOutInventoryView.xaml delete mode 100644 货架标准上位机/Views/MXWindows/MXOutInventoryView.xaml.cs delete mode 100644 货架标准上位机/Views/MXWindows/MXOutOrderDetailView.xaml delete mode 100644 货架标准上位机/Views/MXWindows/MXOutOrderDetailView.xaml.cs delete mode 100644 货架标准上位机/Views/MXWindows/MXOutOrderView.xaml delete mode 100644 货架标准上位机/Views/MXWindows/MXOutOrderView.xaml.cs delete mode 100644 货架标准上位机/Views/MXWindows/MXPDView.xaml delete mode 100644 货架标准上位机/Views/MXWindows/MXPDView.xaml.cs delete mode 100644 货架标准上位机/Views/ModuleInfoView.xaml delete mode 100644 货架标准上位机/Views/ModuleInfoView.xaml.cs delete mode 100644 货架标准上位机/Views/StoreInfoView.xaml delete mode 100644 货架标准上位机/Views/StoreInfoView.xaml.cs diff --git a/WCS.BLL/DbModels/ModuleInfo.cs b/WCS.BLL/DbModels/ModuleInfo.cs deleted file mode 100644 index 77d31c6..0000000 --- a/WCS.BLL/DbModels/ModuleInfo.cs +++ /dev/null @@ -1,105 +0,0 @@ -using SqlSugar; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using WCS.BLL.HardWare; - -namespace WCS.DAL.DbModels -{ - /// - ///模组信息表 - /// - [SugarTable("wcs_module_info")] - public class ModuleInfo - { - - /// - /// 主键 Id 自增 - /// - [SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsNullable = false, IsIdentity = true)] - public int Id { get; set; } - - /// - /// 模组编码 - /// - [SugarColumn(ColumnName = "module_code", Length = 50, IsNullable = false, ColumnDescription = "模组编码")] - public string ModuleCode { get; set; } - - /// - /// 货架类型Id - /// - [SugarColumn(ColumnName = "shelf_type_id", IsNullable = false,DefaultValue ="0", ColumnDescription = "货架类型Id")] - public int ShelfTypeId { get; set; } - - /// - /// 货架Id - /// - [SugarColumn(ColumnName = "shelf_id", IsNullable = false, ColumnDescription = "货架Id")] - public int ShelfId { get; set; } - - /// - /// 货架号 - /// - [SugarColumn(ColumnName = "shelf_code", Length = 50, IsNullable = false, ColumnDescription = "货架编码;货架一般按照报警灯来区分 一个报警灯指示的是一个货架")] - public string ShelfCode { get; set; } - - /// - /// 板子的Id - /// - [SugarColumn(ColumnName = "board_id", IsNullable = false, ColumnDescription = "模组pcb板id")] - public int BoardId { get; set; } - - /// - /// 板子上第几个灯 - /// - [SugarColumn(ColumnName = "light_count", IsNullable = false, ColumnDescription = "板子上灯的数量")] - public int LightCount { get; set; } - - /// - /// 对应Can模块的Ip - /// - [SugarColumn(ColumnName = "client_ip", Length = 50, IsNullable = false, ColumnDescription = "货架对应Can模块的Ip")] - public string CleintIp { get; set; } - /// - /// 货架的组别、区域(区分单个软件管哪些货架的,前端的配置文件配置一个组别,查询时只显示当前组别的货架) - /// - [SugarColumn(ColumnName = "group_name", Length = 50, IsNullable = false, ColumnDescription = "货架的组别、区域(区分单个软件管哪些货架的,前端的配置文件配置一个组别,查询时只显示当前组别的货架)")] - public string GroupName { get; set; } - /// - /// R 行 - /// - [SugarColumn(ColumnName = "R", Length = 50, IsNullable = false, ColumnDescription = "R 行")] - public string R { get; set; } - - /// - /// C 列 - /// - [SugarColumn(ColumnName = "C", Length = 50, IsNullable = false, ColumnDescription = " C 列")] - public string C { get; set; } - - /// - /// 串联后大货架编码;大货架编码:未串联时是与货架编码是一对一的关系;串联后与货架编码是一对多的关系 - /// - [SugarColumn(ColumnName = "big_shelf_code", Length = 50, IsNullable = true, ColumnDescription = "串联后大货架编码;大货架编码:未串联时是与货架编码是一对一的关系;串联后与货架编码是一对多的关系")] - public string? Bigshelfcode { get; set; } - - [SugarColumn(ColumnName = "is_enable", IsNullable = false, ColumnDescription = "串联后大货架编码;大货架编码:未串联时是与货架编码是一对一的关系;串联后与货架编码是一对多的关系")] - public bool IsEnable { get; set; } = true; - - [SugarColumn(ColumnName = "current_mode", IsNullable = true, ColumnDescription = "串联后大货架编码;大货架编码:未串联时是与货架编码是一对一的关系;串联后与货架编码是一对多的关系")] - public Mode CurrentMode { get; set; } = Mode.待机模式; - - /// - /// 序号 - /// - [SugarColumn(IsIgnore = true)] - public int RowNumber { get; set; } - /// - /// 是否已经选择 - /// - [SugarColumn(IsIgnore = true)] - public bool IsSelected { get; set; } - } -} diff --git a/WCS.BLL/DbModels/OrderLight.cs b/WCS.BLL/DbModels/OrderLight.cs deleted file mode 100644 index 2d55396..0000000 --- a/WCS.BLL/DbModels/OrderLight.cs +++ /dev/null @@ -1,38 +0,0 @@ -using SqlSugar; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using WCS.Model.ApiModel.OutStore; - -namespace WCS.BLL.DbModels -{ - [SugarTable("order_light")] - public class OrderLight - { - /// - /// 主键 自增Id - /// - [SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsNullable = false, IsIdentity = true)] - public int Id { get; set; } - - /// - /// 出库单据号 - /// - [SugarColumn(ColumnName = "order_number", Length = 50, IsNullable = true, ColumnDescription = "出库单据号")] - public string OrderNumber { get; set; } - - /// - /// 单据执行状态: 待发料, 开始发料, 暂停发料, 发料完成 - /// - [SugarColumn(ColumnName = "order_exe_status", IsNullable = true, ColumnDescription = "执行状态:\t待发料,\t开始发料,\t暂停发料,\t发料完成")] - public OutOrderExeStatus OutOrderExeStatus { get; set; } = OutOrderExeStatus.待发料; - - /// - /// 单灯颜色 - /// - [SugarColumn(ColumnName = "lightcolor", Length = 50, IsNullable = false, ColumnDescription = "单灯颜色")] - public string LightColor { get; set; } - } -} diff --git a/WCS.BLL/HardWare/SmartShelf.cs b/WCS.BLL/HardWare/SmartShelf.cs index 5bac694..bc5f9b8 100644 --- a/WCS.BLL/HardWare/SmartShelf.cs +++ b/WCS.BLL/HardWare/SmartShelf.cs @@ -27,26 +27,6 @@ namespace WCS.BLL.HardWare ClientIp = shelfInfo.ClientIp; LightId = shelfInfo.LightId; WarningLight = new WarningLight() { LightId = shelfInfo.LightId }; - - //初始化Module - Task.Run(() => - { - var modules = DbHelp.db.Queryable().Where(t => t.ShelfId == ShelfId).ToList(); - foreach (var module in modules) - { - Modules.Add(new SmartShelfModule() - { - ModuleId = module.Id, - ModuleCode = module.ModuleCode, - BoardId = module.BoardId, - IsEnable = module.IsEnable, - CurrentMode = module.CurrentMode - }); - } - ModulesStr = string.Join(";", Modules.Select(t => t.ModuleCode)); - - ModuleIds = Modules.Select(t => t.BoardId).ToList(); - }); } diff --git a/WCS.BLL/Manager/DbInit.cs b/WCS.BLL/Manager/DbInit.cs index d04c24b..eed15c6 100644 --- a/WCS.BLL/Manager/DbInit.cs +++ b/WCS.BLL/Manager/DbInit.cs @@ -70,11 +70,11 @@ namespace WCS.BLL.Manager DbHelp.dbLog.DbMaintenance.CreateDatabase(); Logs.Write("【初始化数据库】创建数据库", LogsType.StartBoot); - DbHelp.db.CodeFirst.InitTables(typeof(ModuleInfo), typeof(ShelfInfo), typeof(StoreInfo) + DbHelp.db.CodeFirst.InitTables( typeof(ShelfInfo), typeof(StoreInfo) , typeof(InventoryDetail), typeof(OutOrder), typeof(OutOrderDetail), typeof(OutOrderMatDetail) , typeof(MatBaseInfo), typeof(MatInfo) , typeof(StockTakingOrder), typeof(StockTakingOrderMatDetail), typeof(InOutRecord) - , typeof(DocumentSerialNumber), typeof(OrderLight), typeof(MatInfoLog) + , typeof(DocumentSerialNumber), typeof(MatInfoLog) , typeof(AppVersion) ); diff --git a/WCS.BLL/Manager/WarningManager.cs b/WCS.BLL/Manager/WarningManager.cs index 1e7ef56..825d3cc 100644 --- a/WCS.BLL/Manager/WarningManager.cs +++ b/WCS.BLL/Manager/WarningManager.cs @@ -190,52 +190,6 @@ namespace WCS.BLL.Manager var DingDing = string.Empty; MXBackgroundThread.SendDingDingMsg($"【智能货架】库位{storeInfo.StoreCode}被 {warning.SolvedUser} “未扫描上架弹窗”屏蔽,请及时调查或维保硬件!", new List { "104379", "103595" }, ref DingDing); Logs.Write($"【智能货架】库位{storeInfo.StoreCode}被 {warning.SolvedUser} “未扫描上架弹窗”屏蔽,请及时调查或维保硬件!"); - #region 计算库位禁用率并发送 - Task.Run(() => - { - var disabledStore = DbHelp.db.Queryable() - .Where(t => t.CurrentMatSn == "禁用") - .ToList(); - var allStore = DbHelp.db.Queryable() - .ToList(); - - var disabledCount = disabledStore.Count(); - var allCount = allStore.Count(); - - var disabledACount = disabledStore.Where(t => t.ShelfCode.Contains("A")).ToList().Count(); - var allACount = allStore.Where(t => t.ShelfCode.Contains("A")).ToList().Count(); - - var disabledCCount = disabledStore.Where(t => t.ShelfCode.Contains("C")).ToList().Count(); - var allCCount = allStore.Where(t => t.ShelfCode.Contains("C")).ToList().Count(); - - - var disabledModule = DbHelp.db.Queryable() - .Where(t => t.IsEnable == false) - .ToList(); - var allModule = DbHelp.db.Queryable() - .ToList(); - - var disabledModuleCount = disabledModule.Count(); - var allModuleCount = allModule.Count(); - - var disabledAModuleCount = disabledModule.Where(t => t.ShelfCode.Contains("A")).ToList().Count(); - var allAModuleCount = allModule.Where(t => t.ShelfCode.Contains("A")).ToList().Count(); - - var disabledCModuleCount = disabledModule.Where(t => t.ShelfCode.Contains("C")).ToList().Count(); - var allCModuleCount = allModule.Where(t => t.ShelfCode.Contains("C")).ToList().Count(); - - var message = $"【智能货架】当前库位总数{allCount},禁用总数{disabledCount},禁用率{((double)disabledCount / allCount).ToString("P")}," + - $"其中A区库位总数{allACount},禁用数{disabledACount},禁用率{((double)disabledACount / allACount).ToString("P")}," + - $"C区库位总数{allCCount},禁用数{disabledCCount},禁用率{((double)disabledCCount / allCCount).ToString("P")}。\r\n" + - $"当前模组总数{allModuleCount},禁用总数{disabledModuleCount},禁用率{((double)disabledModuleCount / allModuleCount).ToString("P")}," + - $"其中A区模组总数{allAModuleCount},禁用数{disabledAModuleCount},禁用率{((double)disabledAModuleCount / allAModuleCount).ToString("P")}," + - $"C区模组总数{allCModuleCount},禁用数{disabledCModuleCount},禁用率{((double)disabledCModuleCount / allCModuleCount).ToString("P")}。"; - - Logs.Write(message); - var dd = string.Empty; - MXBackgroundThread.SendDingDingMsg(message, new List { "104379", "103595" }, ref dd); - }); - #endregion } } diff --git a/WCS.BLL/Services/IService/IInstoreService.cs b/WCS.BLL/Services/IService/IInstoreService.cs index 2205d2e..7712695 100644 --- a/WCS.BLL/Services/IService/IInstoreService.cs +++ b/WCS.BLL/Services/IService/IInstoreService.cs @@ -15,9 +15,6 @@ namespace WCS.BLL.Services.IService public Task queryByMatSn(QueryByMatSnRequest request); public Task queryByMatSnOut(QueryByMatSnRequest request); public Task queryInstoreStatus(QueryByMatSnRequest request); - public Task queryInstoreStatusSingle(QueryByMatSnRequestSingle request); - - public Task debugStoreinfoSingle(DebugStoreinfoSingleRequest request); } } diff --git a/WCS.BLL/Services/IService/IOutstoreService.cs b/WCS.BLL/Services/IService/IOutstoreService.cs index a80d3ff..399bfbb 100644 --- a/WCS.BLL/Services/IService/IOutstoreService.cs +++ b/WCS.BLL/Services/IService/IOutstoreService.cs @@ -29,10 +29,8 @@ namespace WCS.BLL.Services.IService public Task GoOutOutstore(GetOutOrderDetailRequest request); - public Task GoInOutstoreSingle(GetOutOrderDetailRequest request); public Task SingleLightConfirmOutstore(OutOrderMatDetailModelSingle request); - public Task GoOutOutstoreSingle(GetOutOrderDetailRequest request); } } diff --git a/WCS.BLL/Services/IService/IStoreInfoService.cs b/WCS.BLL/Services/IService/IStoreInfoService.cs index a3f6141..853f421 100644 --- a/WCS.BLL/Services/IService/IStoreInfoService.cs +++ b/WCS.BLL/Services/IService/IStoreInfoService.cs @@ -26,38 +26,6 @@ namespace WCS.BLL.Services.IService /// /// public Task> addOrUpdateShelfInfo(AddShelfInfoRequest request); - - - public Task> GenerateStoreInfo(); - - - /// - /// 查询模组列表 - /// - /// - /// - public Task> GetModules(GetModulesRequest request); - - /// - /// 禁用或启用模组 - /// - /// - /// - public Task disableOrEnableModule(DisableOrEnableModuleRequest request); - - /// - /// 查询模组电压值 - /// - /// - /// - public Task queryModuleVoltage(QueryModuleVoltageRequest request); - - /// - /// 标定+设置偏移量 - /// - /// - /// - public Task calibrationSetOffset(CalibrationSetOffsetRequest request); /// /// 查询库位列表 @@ -73,6 +41,5 @@ namespace WCS.BLL.Services.IService /// public Task disableOrEnableStore(DisableOrEnableStoreRequest request); - public Task getDisablePercent(); } } diff --git a/WCS.BLL/Services/Service/InstoreService.cs b/WCS.BLL/Services/Service/InstoreService.cs index 1c0c630..52914bb 100644 --- a/WCS.BLL/Services/Service/InstoreService.cs +++ b/WCS.BLL/Services/Service/InstoreService.cs @@ -435,143 +435,5 @@ namespace WCS.BLL.Services.Service }; } - public async Task queryInstoreStatusSingle(QueryByMatSnRequestSingle request) - { - //获取货架 - List MI = DbHelp.db.Queryable().Where(it => it.ModuleCode == request.ShelfCode).ToList(); - if (MI.Count == 0) - { - return new ResponseCommonSingle() - { - Code = 201, - Message = $"货架[{request.ShelfCode}]不存在!", - }; - } - ResponseCommonSingle rcs = new ResponseCommonSingle(); - rcs.Data = new List(); - - string sendIP = MI[0].CleintIp; //单灯IP - int PCBId = MI[0].BoardId; //单灯PCB板ID - - List SI = DbHelp.db.Queryable().Where(it => it.ModuleCode == request.ShelfCode).ToList(); - - List si = DbHelp.db.Queryable().Where(it => it.ShelfCode == MI[0].ShelfCode).ToList(); - int warnLightID = si[0].LightId; - - foreach (QueryByMatSnRequestSingle.MatSnListDetail matSnListDetail in request.MatSnList) - { - Detail detail = new Detail(); - try - { - InventoryDetail inventoryDetail = new InventoryDetail(); - inventoryDetail.MatSN = matSnListDetail.MatSn; - inventoryDetail.MatCode = matSnListDetail.MatCode; - inventoryDetail.MatName = matSnListDetail.MatName; - inventoryDetail.MatSpec = matSnListDetail.MatSpec; - inventoryDetail.MatBatch = matSnListDetail.MatBatch; - inventoryDetail.MatQty = matSnListDetail.MatQty; - inventoryDetail.MatCustomer = matSnListDetail.MatCustomer; - inventoryDetail.MatSupplier = matSnListDetail.MatSupplier; - inventoryDetail.StoreCode = request.ShelfCode; - inventoryDetail.StoreId = SI[0].Id; - inventoryDetail.GroupName = SI[0].GroupName; - - int count = DbHelp.db.Insertable(inventoryDetail).ExecuteCommand(); - - InOutRecord ior = new InOutRecord(); - ior.MatSN = matSnListDetail.MatSn; - ior.MatCode = matSnListDetail.MatCode; - ior.MatName = matSnListDetail.MatName; - ior.MatSpec = matSnListDetail.MatSpec; - ior.MatBatch = matSnListDetail.MatBatch; - ior.MatQty = matSnListDetail.MatQty; - ior.MatCustomer = matSnListDetail.MatCustomer; - ior.MatSupplier = matSnListDetail.MatSupplier; - ior.StoreCode = request.ShelfCode; - ior.StoreId = SI[0].Id; - ior.Direction = DirectionEnum.入库; - ior.OperateTime = DateTime.Now; - ior.OperateUser = request.UserName; - ior.GroupName = SI[0].GroupName; - int count1 = DbHelp.db.Insertable(ior).ExecuteCommand(); - - detail.matsn = matSnListDetail.MatSn; - detail.result = "入库成功"; - rcs.Data.Add(detail); - } - catch (Exception ee) - { - detail.matsn = matSnListDetail.MatSn; - detail.result = "入库失败"; - detail.reason = ee.Message; - rcs.Data.Add(detail); - } - } - //亮灯 - TCPClient tCPClient = TCPClientManager.GetTCPClientByIPHost(sendIP); - //byte[] data1 = new byte[8]; - //data1[0] = 0xff; - //data1[1] = 0x02; - //data1[2] = 0x00; - //data1[3] = 0x0a; - //data1[4] = (byte)warnLightID; - //data1[5] = 0x03; - //data1[6] = 0x02; - //data1[7] = 0x02; - //byte[] senddata1 = Tool.Helper.Crc16(data1, data1.Length, false); - //byte[] senddata1 = Tool.Helper.InstoreWarnLight(warnLightID); - //tCPClient.Send(senddata1); //报警灯短亮一次 - - //byte[] data2 = new byte[8]; - //data2[0] = 0xff; - //data2[1] = 0x01; - //data2[2] = 0x00; - //data2[3] = 0x0a; - //data2[4] = 0x01; - //data2[5] = (byte)PCBId; - //data2[6] = 0x03; - //data2[7] = 0x02; - //byte[] senddata2 = Tool.Helper.Crc16(data2, data2.Length, true); - //byte[] senddata2 = Tool.Helper.InstoreLight(PCBId); - //tCPClient.Send(senddata2); //库位灯短亮一次 - - byte[] senddata1 = Tool.Helper.InstoreLightAndWarnLight(PCBId, warnLightID); - tCPClient.Send(senddata1); //报警灯和库位灯同时短亮 - - - return new ResponseCommonSingle() - { - Code = 200, - Message = $"入库成功!", - Data = rcs.Data, - }; - - } - - public async Task debugStoreinfoSingle(DebugStoreinfoSingleRequest request) - { - //找到模组 - var module = await DbHelp.db.Queryable().Where(it => it.ModuleCode == request.ShelfCode).FirstAsync(); - if (module == null) - { - return new ResponseBase() - { - Code = 201, - Message = $"模组[{request.ShelfCode}]不存在!", - }; - } - string sendIP = module.CleintIp; //单灯IP - int PCBId = module.BoardId; //单灯PCB板ID - - TCPClient tcpClient = TCPClientManager.GetTCPClientByIPHost(sendIP); - byte[] senddata = Tool.Helper.StoreLightOnOff(PCBId, "绿", request.OnOff == true ? 0x01 : 0x00); - tcpClient.Send(senddata); //库位灯短亮一次 - - return new ResponseBase() - { - Code = 200, - Message = $"Success", - }; - } } } diff --git a/WCS.BLL/Services/Service/OutstoreService.cs b/WCS.BLL/Services/Service/OutstoreService.cs index 44118cb..52d4eff 100644 --- a/WCS.BLL/Services/Service/OutstoreService.cs +++ b/WCS.BLL/Services/Service/OutstoreService.cs @@ -808,194 +808,6 @@ namespace WCS.BLL.Services.Service } } - public async Task GoInOutstoreSingle(GetOutOrderDetailRequest request) - { - try - { - //获取出库单 - var order = await DbHelp.db.Queryable() - .WhereIF(request.OrderId != 0, t => t.Id == request.OrderId) - .WhereIF(!string.IsNullOrEmpty(request.OrderNumber), t => t.OrderNumber == request.OrderNumber) - .FirstAsync(); - if (order == null) - { - return new ResponseCommon() - { - Code = 201, - Message = $"不存在对应的出库单据{request.OrderNumber}!", - Data = null - }; - } - - - //如果是按物料编码出库 需要计算物料明细、并进行物料锁定 - if (order.SyncType == SyncTypeEnum.ByMatCode) - { - var result = CaculateOutOrderMatDetails(order, request.UserName); - if (result.Code != 200) - { - return result; - } - } - - //获取需要出库的物料明细 - var outOrderMatDetails = DbHelp.db.Queryable() - .Where(t => t.OrderId == order.Id) - .Where(t => t.IsSended == false) - .Includes(t => t.StoreInfo) - .ToList(); - if (outOrderMatDetails == null || outOrderMatDetails.Count == 0) - { - return new ResponseCommon() - { - Code = 201, - Message = $"出库单据{request.OrderNumber}物料已全部完成出库!", - Data = null - }; - } - - if (request.IsStart)//&& order.OutOrderExeStatus != OutOrderExeStatus.发料完成 - { - order.OutOrderExeStatus = OutOrderExeStatus.开始发料; - DbHelp.db.Updateable(order).ExecuteCommand(); - } - //获取亮灯颜色 - List UsedColor = new List(); - string LightColor = ""; - List ol = DbHelp.db.Queryable().OrderBy(it => it.Id, OrderByType.Asc).ToList(); - foreach (OrderLight orderLight in ol) - { - UsedColor.Add(orderLight.LightColor); - if (orderLight.OrderNumber == request.OrderNumber) - { - LightColor = orderLight.LightColor; - break; - } - } - if (LightColor == "") - { - foreach (OrderLight orderLight in ol) - { - if (orderLight.OrderNumber == null) - { - LightColor = orderLight.LightColor; - DbHelp.db.Updateable().SetColumns(it => it.OrderNumber, request.OrderNumber).Where(it => it.LightColor == LightColor).ExecuteCommand(); - break; - } - } - } - //获取出库需求 - List outorderdetal = DbHelp.db.Queryable() - .WhereIF(request.OrderId != 0, t => t.OrderId == request.OrderId) - .WhereIF(!string.IsNullOrEmpty(request.OrderNumber), t => t.OrderNumber == request.OrderNumber) - .ToList(); - - OutResponseCommonSingle orcs = new OutResponseCommonSingle(); - orcs.Data = new List(); - foreach (OutOrderDetail outdetail in outorderdetal) - { - OutDetail od = new OutDetail(); - od.OrderId = outdetail.OrderId; - od.OrderNumber = outdetail.OrderNumber; - od.MatCode = outdetail.MatCode; - od.MatBatch = outdetail.MatBatch; - od.ReqQty = outdetail.ReqQty; - od.CreateTime = outdetail.CreateTime; - od.CreateUser = outdetail.CreateUser; - od.MatName = outdetail.MatName; - od.OutQty = outdetail.OutQty; - od.LightColor = LightColor; - orcs.Data.Add(od); - } - //需要出库的货架名 - List StoreCode = new List(); - //库位灯亮灯 - Dictionary> dict = new Dictionary>(); - foreach (OutOrderMatDetail oomd in outOrderMatDetails) - { - List mi = DbHelp.db.Queryable().Where(it => it.ModuleCode == oomd.StoreCode).ToList(); - if (mi.Count != 0) - { - if (!StoreCode.Contains(oomd.StoreCode)) - { - StoreCode.Add(oomd.StoreCode); - } - if (!dict.Keys.Contains(mi[0].CleintIp)) - { - List board_id = new List(); - board_id.Add(mi[0].BoardId); - dict.Add(mi[0].CleintIp, board_id); - } - else - { - foreach (var v in dict) - { - if (v.Key == mi[0].CleintIp) - { - if (!v.Value.Contains(mi[0].BoardId)) - { - v.Value.Add(mi[0].BoardId); - } - } - } - } - } - } - foreach (var v in dict) - { - string sendIP = v.Key; - TCPClient tCPClient = TCPClientManager.GetTCPClientByIPHost(sendIP); - byte[] lightOn = Helper.OutstoreLight(v.Value, LightColor, 1); - tCPClient.Send(lightOn); - Logs.Write("出库,库位灯亮:" + BitConverter.ToString(lightOn)); - Thread.Sleep(100); - } - //报警灯亮 - List WarnLightShelfCode = new List(); - foreach (string storecode in StoreCode) - { - List mi = DbHelp.db.Queryable().Where(it => it.ModuleCode == storecode).ToList(); - if (mi.Count != 0) - { - if (!WarnLightShelfCode.Contains(mi[0].ShelfCode)) - { - WarnLightShelfCode.Add(mi[0].ShelfCode); - } - } - } - //发送间隔 - Thread.Sleep(300); - foreach (string shelfcode in WarnLightShelfCode) - { - List si = DbHelp.db.Queryable().Where(it => it.ShelfCode == shelfcode).ToList(); - if (si.Count != 0) - { - for (int i = 0; i < si.Count; i++) - { - TCPClient tCPClient = TCPClientManager.GetTCPClientByIPHost(si[i].ClientIp); - //byte[] warnlightOn = Helper.OutstoreWarnLight(si[i].LightId, LightColor, 1, 0); - byte[] warnlightOn = Helper.OutstoreWarnLight_1(si[i].LightId, LightColor, 1, 1); - tCPClient.Send(warnlightOn); - Logs.Write("出库,报警灯亮:" + BitConverter.ToString(warnlightOn)); - Thread.Sleep(100); - } - } - } - //返回 - return new OutResponseCommonSingle() - { - Code = 200, - Message = LightColor, - Data = orcs.Data - }; - } - catch (Exception ex) - { - await GoOutOutstore(request); - throw ex; - } - } - //计算、加锁 private ResponseBase CaculateOutOrderMatDetails(OutOrder order, string createUser = "") { @@ -1211,153 +1023,6 @@ namespace WCS.BLL.Services.Service } - public async Task GoOutOutstoreSingle(GetOutOrderDetailRequest request) - { - - //获取出库单 - var order = await DbHelp.db.Queryable() - .WhereIF(request.OrderId != 0, t => t.Id == request.OrderId) - .WhereIF(!string.IsNullOrEmpty(request.OrderNumber), t => t.OrderNumber == request.OrderNumber) - .FirstAsync(); - if (order == null) - { - return new ResponseCommon() - { - Code = 201, - Message = $"不存在对应的出库单据{request.OrderNumber}!", - Data = null - }; - } - - //判断出库状态 - bool isComplete = true; - List ood = DbHelp.db.Queryable().Where(it => it.OrderNumber == request.OrderNumber).ToList(); - foreach (OutOrderDetail detail in ood) - { - if (detail.ReqQty > detail.OutQty) - { - isComplete = false; - break; - } - } - if (isComplete == false) - { - order.OutOrderExeStatus = OutOrderExeStatus.暂停发料; - DbHelp.db.Updateable(order).ExecuteCommand(); - } - else - { - order.OutOrderExeStatus = OutOrderExeStatus.发料完成; - DbHelp.db.Updateable(order).ExecuteCommand(); - } - //解锁物料 - List List = DbHelp.db.Queryable().Where(it => it.OrderNumber == request.OrderNumber).ToList(); - foreach (OutOrderMatDetail listdetail in List) - { - DbHelp.db.Updateable().SetColumns(it => it.IsLocked == false).Where(it => it.MatSN == listdetail.MatSN).ExecuteCommand(); - } - - //灭灯 - //获取需要出库的物料明细 - var outOrderMatDetails = DbHelp.db.Queryable() - .Where(t => t.OrderNumber == request.OrderNumber) - .ToList(); - //需要出库的货架名 - List StoreCode = new List(); - //库位灯灭灯 - string LightColor = "无"; - try - { - List ol = DbHelp.db.Queryable().Where(it => it.OrderNumber == request.OrderNumber).ToList(); - LightColor = ol[0].LightColor; - } - catch (Exception ee) - { - Logs.Write("查询出库单据:" + request.OrderNumber + "对应库位灯颜色失败," + ee.Message); - } - Dictionary> dict = new Dictionary>(); - foreach (OutOrderMatDetail oomd in outOrderMatDetails) - { - List mi = DbHelp.db.Queryable().Where(it => it.ModuleCode == oomd.StoreCode).ToList(); - if (mi.Count != 0) - { - if (!StoreCode.Contains(oomd.StoreCode)) - { - StoreCode.Add(oomd.StoreCode); - } - if (!dict.Keys.Contains(mi[0].CleintIp)) - { - List board_id = new List(); - board_id.Add(mi[0].BoardId); - dict.Add(mi[0].CleintIp, board_id); - } - else - { - foreach (var v in dict) - { - if (v.Key == mi[0].CleintIp) - { - if (!v.Value.Contains(mi[0].BoardId)) - { - v.Value.Add(mi[0].BoardId); - } - } - } - } - } - } - foreach (var v in dict) - { - string sendIP = v.Key; - TCPClient tCPClient = TCPClientManager.GetTCPClientByIPHost(sendIP); - byte[] lightOn = Helper.OutstoreLight(v.Value, LightColor, 0); - tCPClient.Send(lightOn); - Logs.Write("出库,库位灯灭:" + BitConverter.ToString(lightOn)); - Thread.Sleep(100); - } - //报警灯灭 - List WarnLightShelfCode = new List(); - foreach (string storecode in StoreCode) - { - List mi = DbHelp.db.Queryable().Where(it => it.ModuleCode == storecode).ToList(); - if (mi.Count != 0) - { - if (!WarnLightShelfCode.Contains(mi[0].ShelfCode)) - { - WarnLightShelfCode.Add(mi[0].ShelfCode); - } - } - } - //发送间隔 - //Thread.Sleep(300); - foreach (string shelfcode in WarnLightShelfCode) - { - List si = DbHelp.db.Queryable().Where(it => it.ShelfCode == shelfcode).ToList(); - if (si.Count != 0) - { - for (int i = 0; i < si.Count; i++) - { - Thread.Sleep(250); - TCPClient tCPClient = TCPClientManager.GetTCPClientByIPHost(si[i].ClientIp); - byte[] warnlightOn = Helper.OutstoreWarnLight_1(si[i].LightId, LightColor, 0, 0); - tCPClient.Send(warnlightOn); - Logs.Write("出库,报警灯灭:" + BitConverter.ToString(warnlightOn)); - } - } - } - if (isComplete == true) - { - DbHelp.db.Updateable().SetColumns(it => it.OrderNumber == null).Where(it => it.OrderNumber == request.OrderNumber).ExecuteCommand(); - } - - return new ResponseCommon() - { - Code = 200, - Message = "Success", - Data = null - }; - - } public async Task SingleLightConfirmOutstore(OutOrderMatDetailModelSingle request) { diff --git a/WCS.BLL/Services/Service/SingleLightService.cs b/WCS.BLL/Services/Service/SingleLightService.cs index 922f886..2e5631a 100644 --- a/WCS.BLL/Services/Service/SingleLightService.cs +++ b/WCS.BLL/Services/Service/SingleLightService.cs @@ -22,138 +22,5 @@ using static WCS.BLL.Tool.Helper; namespace WCS.BLL.Services.Service { - public class SingleLightService : ISingleLightService - { - /// - /// 单灯 一个库位对应一个硬件 - /// - /// - /// - public async Task> SingleLightControl(SingleLightControlRequest request) - { - try - { - //传入数据校验 - if (request.StoreList == null || request.StoreList.Count == 0) - { - return new ResponseCommon() - { - Code = 201, - Message = "操作失败:没有需要控制的库位", - }; - } - //库位编码去重 - var storeCodes = request.StoreList.Select(t => t.StoreCode) - .Distinct() - .ToList(); - var stores = DbHelp.db.Queryable() - .Where(t => storeCodes.Contains(t.StoreCode)) - .ToList(); - if (stores == null || stores.Count == 0) - { - return new ResponseCommon - { - Code = 201, - Message = $"操作失败:所有库位不存在!" - }; - } - //对应货架(获取TCP和报警灯ID) - var shelfIds = stores.Select(t => t.ShelfId).Distinct().ToList(); - var shelfs = DbHelp.db.Queryable().Where(t => shelfIds.Contains(t.Id)) - .ToList(); - - //对应模组信息 - var moduleIds = stores.Select(t => t.ModuleId).Distinct().ToList(); - var modules = DbHelp.db.Queryable().Where(t => moduleIds.Contains(t.Id)) - .ToList(); - - //加载请求参数中的库位灯 板子ID和货架ID - foreach (var store in request.StoreList) - { - var storeInDb = stores.Where(t => t.StoreCode == store.StoreCode).FirstOrDefault(); - if (storeInDb == null) - { - return new ResponseCommon - { - Code = 201, - Message = $"操作失败:库位{store.StoreCode}不存在(store)!" - }; - } - else - store.ShelfId = storeInDb.ShelfId; - - var moduleInDb = modules.Where(t => t.Id == storeInDb.ModuleId).FirstOrDefault(); - if (moduleInDb == null) - { - return new ResponseCommon - { - Code = 201, - Message = $"操作失败:库位{store.StoreCode}不存在(module)!" - }; - } - else - store.BoardId = moduleInDb.BoardId; - } - - //合并:同一个货架的库位合并 - var shelfModels = new List(); - foreach (var shelf in shelfs) - { - var shelfModel = new SingleLightShelfModel(); - //报警灯 - shelfModel.WarningLightMode = request.WarningLightMode; - shelfModel.WarningBuzzerMode = request.WarningBuzzerMode; - shelfModel.WarningLightColor = request.WarningLightColor; - shelfModel.WarningBoardId = shelf.LightId; - shelfModel.ClientIp = shelf.ClientIp; - //库位 - var storesThisShelf = request.StoreList - .Where(t => t.ShelfId == shelf.Id) - .ToList(); - foreach (var storeThisShelf in storesThisShelf) - { - shelfModel.StoreList.Add(new SingleLightStoreModel() - { - BoardId = storeThisShelf.BoardId, - LightColor = storeThisShelf.LightColor, - LightMode = storeThisShelf.LightMode, - }); - } - shelfModels.Add(shelfModel); - } - - //合并:同一个TCP的货架合并 报警灯和库位灯统一只发送一条指令 - var clientIpList = shelfs.Select(t => t.ClientIp) - .Distinct() - .ToList(); - foreach (var clientIp in clientIpList) - { - var shelfModelsInOneIp = shelfModels.Where(t => t.ClientIp == clientIp).ToList(); - var sendData = Helper.SingleLightControl(shelfModelsInOneIp); - - TCPClient tCPClient = TCPClientManager.GetTCPClientByIPHost(clientIp); - tCPClient.Send(sendData); - Logs.Write("【单灯单独控制】发送指令" + BitConverter.ToString(sendData)); - } - - //返回成功 - return new ResponseCommon() - { - Code = 200, - Message = "success", - }; - } - catch (Exception ex) - { - - //操作失败 - return new ResponseCommon() - { - Code = 300, - Message = $"操作失败:{ex.Message}", - }; - } - } - } } diff --git a/WCS.BLL/Services/Service/StoreInfoService.cs b/WCS.BLL/Services/Service/StoreInfoService.cs index 16bbb3f..30aa8dc 100644 --- a/WCS.BLL/Services/Service/StoreInfoService.cs +++ b/WCS.BLL/Services/Service/StoreInfoService.cs @@ -24,7 +24,6 @@ namespace WCS.BLL.Services.Service { public class StoreInfoService : IStoreInfoService { - public StoreInfoService() { } public async Task> GetShelves(GetShelvesRequest request) { @@ -240,300 +239,15 @@ namespace WCS.BLL.Services.Service } } - /// - /// - /// - /// - public async Task> GenerateStoreInfo() - { - //var shelfInfos = DbHelp.db.Queryable().ToList(); - //foreach (var shelfInfo in shelfInfos) - //{ - var ModuleInfos = await DbHelp.db.Queryable().ToListAsync(); - ModuleInfos.ForEach(moduleInfo => - { - for (int i = 1; i <= moduleInfo.LightCount; i++) - { - var storeInfo = new StoreInfo() - { - StoreCode = moduleInfo.ModuleCode + "-" + i.ToString(), - ShelfTypeId = 1, - ModuleId = moduleInfo.Id, - ModuleCode = moduleInfo.ModuleCode, - ShelfId = moduleInfo.ShelfId, - ShelfCode = moduleInfo.ShelfCode, - BoardId = moduleInfo.BoardId, - LightNumber = i, - Priority = 1, - CurrentMatSn = string.Empty, - BigShelfCode = moduleInfo.Bigshelfcode, - R = moduleInfo.R, - C = moduleInfo.C, - Wei = i.ToString(), - GroupName = moduleInfo.GroupName, - }; - DbHelp.db.Insertable(storeInfo).ExecuteCommand(); - } - }); - //} - return new ResponseCommon() { Message = "111" }; - } - #region 模组管理 - public async Task> GetModules(GetModulesRequest request) - { - try - { - var recordsQueryable = DbHelp.db.Queryable() - .WhereIF(!string.IsNullOrEmpty(request.ModuleCode), t => t.ModuleCode.Contains(request.ModuleCode)) - .WhereIF(!string.IsNullOrEmpty(request.ShelfCode), t => t.ShelfCode.Contains(request.ShelfCode)); - var totalCount = await recordsQueryable.CountAsync(); - var records = await recordsQueryable - .Skip((request.PageNumber - 1) * request.PageSize).Take(request.PageSize) - .ToListAsync(); - //生成序号 - for (int i = 0; i < records.Count; i++) - { - records[i].RowNumber = (request.PageNumber - 1) * request.PageSize + i + 1; - } - return new PageQueryResponse() - { - Code = 200, - Message = $"success", - Data = new PageQueryResponseData() - { - TotalCount = totalCount, - MaxPage = request.PageSize == 0 ? 0 : (int)Math.Ceiling((decimal)totalCount / request.PageSize), - Count = records.Count, - Lists = records.ToList() - } - }; - - } - catch (Exception ex) - { - return new PageQueryResponse() - { - Code = 300, - Message = $"操作失败:{ex.Message}", - }; - } - } - - /// - /// 禁用或启用模组 - /// - /// - /// - public async Task disableOrEnableModule(DisableOrEnableModuleRequest request) - { - //找到库位 - var moduleInfo = await DbHelp.db.Queryable() - .Where(t => t.Id == request.ModuleId) - .FirstAsync(); - //库位不存在 - if (moduleInfo == null) - { - return new ResponseCommon() - { - Code = 201, - Message = $"操作失败:模组{request.ModuleCode}不存在!" - }; - } - try - { - DbHelp.db.BeginTran(); - //禁用 - if (request.DisableOrEnable == DisableOrEnableEnum.Disable) - { - moduleInfo.IsEnable = false; - //盟讯公司发送钉钉消息 - if (LocalFile.Config.IsMx) - { - var DingDing = string.Empty; - MXBackgroundThread.SendDingDingMsg($"【智能货架】模组{moduleInfo.ModuleCode}被屏蔽(模组管理),请及时调查或维保硬件!", new List { "104379", "103595" }, ref DingDing); - Logs.Write($"【智能货架】模组{moduleInfo.ModuleCode}被屏蔽(模组管理),请及时调查或维保硬件!"); - - #region 计算库位禁用率并发送 - Task.Run(() => - { - var disabledStore = DbHelp.db.Queryable() - .Where(t => t.CurrentMatSn == "禁用") - .ToList(); - var allStore = DbHelp.db.Queryable() - .ToList(); - - var disabledCount = disabledStore.Count(); - var allCount = allStore.Count(); - - var disabledACount = disabledStore.Where(t => t.ShelfCode.Contains("A")).ToList().Count(); - var allACount = allStore.Where(t => t.ShelfCode.Contains("A")).ToList().Count(); - - var disabledCCount = disabledStore.Where(t => t.ShelfCode.Contains("C")).ToList().Count(); - var allCCount = allStore.Where(t => t.ShelfCode.Contains("C")).ToList().Count(); - - - var disabledModule = DbHelp.db.Queryable() - .Where(t => t.IsEnable == false) - .ToList(); - var allModule = DbHelp.db.Queryable() - .ToList(); - - var disabledModuleCount = disabledModule.Count(); - var allModuleCount = allModule.Count(); - - var disabledAModuleCount = disabledModule.Where(t => t.ShelfCode.Contains("A")).ToList().Count(); - var allAModuleCount = allModule.Where(t => t.ShelfCode.Contains("A")).ToList().Count(); - - var disabledCModuleCount = disabledModule.Where(t => t.ShelfCode.Contains("C")).ToList().Count(); - var allCModuleCount = allModule.Where(t => t.ShelfCode.Contains("C")).ToList().Count(); - - var message = $"【智能货架】当前库位总数{allCount},禁用总数{disabledCount},禁用率{((double)disabledCount / allCount).ToString("P")}," + - $"其中A区库位总数{allACount},禁用数{disabledACount},禁用率{((double)disabledACount / allACount).ToString("P")}," + - $"C区库位总数{allCCount},禁用数{disabledCCount},禁用率{((double)disabledCCount / allCCount).ToString("P")}。\r\n" + - $"当前模组总数{allModuleCount},禁用总数{disabledModuleCount},禁用率{((double)disabledModuleCount / allModuleCount).ToString("P")}," + - $"其中A区模组总数{allAModuleCount},禁用数{disabledAModuleCount},禁用率{((double)disabledAModuleCount / allAModuleCount).ToString("P")}," + - $"C区模组总数{allCModuleCount},禁用数{disabledCModuleCount},禁用率{((double)disabledCModuleCount / allCModuleCount).ToString("P")}。"; - - Logs.Write(message); - var dd = string.Empty; - MXBackgroundThread.SendDingDingMsg(message, new List { "104379", "103595" }, ref dd); - }); - #endregion - } - } - else - { - moduleInfo.IsEnable = true; - } - DbHelp.db.Updateable(moduleInfo).ExecuteCommand(); - DbHelp.db.CommitTran(); - - #region 更新缓存中的禁用/启动状态 - try - { - var shelf = ShelfManager.Shelves.Where(t => t.ShelfId == moduleInfo.ShelfId) - .FirstOrDefault(); - if (shelf != null) - { - - var moduleInPc = shelf.Modules.Where(t => t.ModuleId == moduleInfo.Id) - .First(); - if (moduleInPc != null) - moduleInPc.IsEnable = request.DisableOrEnable == DisableOrEnableEnum.Enable; - } - } - catch - { - - } - #endregion - - return new ResponseCommon() - { - Code = 200, - Message = $"Success" - }; - } - catch (Exception ex) - { - DbHelp.db.RollbackTran(); - return new ResponseCommon() - { - Code = 300, - Message = $"操作失败:异常{ex.Message}!" - }; - } - } - - /// /// 发送指令获取模组的电压值 /// /// /// /// - public async Task queryModuleVoltage(QueryModuleVoltageRequest request) - { - try - { - var modules = await DbHelp.db.Queryable().Where(t => request.MouduleIds.Contains(t.Id)).ToListAsync(); - var isSend = false; - foreach (var module in modules) - { - var shelf = ShelfManager.Shelves.Where(t => t.ShelfId == module.ShelfId).FirstOrDefault(); - if (shelf != null && shelf is SmartShelf) - { - var smartShelf = (SmartShelf)shelf; - smartShelf.QueryVoltage(module.Id); - isSend = true; - } - } - if (isSend) - return new ResponseCommon() - { - Code = 200, - Message = "Success" - }; - else - return new ResponseCommon() - { - Code = 201, - Message = "操作失败:未找到对应模组" - }; - } - catch (Exception ex) - { - return new ResponseCommon() - { - Code = 300, - Message = "操作失败:" + ex.Message - }; - } - } - public async Task calibrationSetOffset(CalibrationSetOffsetRequest request) - { - try - { - var modules = await DbHelp.db.Queryable().Where(t => request.MouduleIds.Contains(t.Id)).ToListAsync(); - var isSend = false; - foreach (var module in modules) - { - var shelf = ShelfManager.Shelves.Where(t => t.ShelfId == module.ShelfId).FirstOrDefault(); - if (shelf != null && shelf is SmartShelf) - { - var smartShelf = (SmartShelf)shelf; - smartShelf.CalibrationSetOffset(module.Id, request.OffSet); - isSend = true; - } - } - if (isSend) - { - return new ResponseCommon() - { - Code = 200, - Message = "Success" - }; - } - else - { - return new ResponseCommon() - { - Code = 201, - Message = "操作失败:未找到对应模组" - }; - } - } - catch (Exception ex) - { - return new ResponseCommon() - { - Code = 300, - Message = "操作失败:" + ex.Message - }; - } - } + #endregion #region 库位管理 @@ -608,53 +322,6 @@ namespace WCS.BLL.Services.Service MXBackgroundThread.SendDingDingMsg($"【智能货架】库位{storeInfo.StoreCode}被屏蔽(库位管理),请及时调查或维保硬件!", new List { "104379", "103595" }, ref DingDing); Logs.Write($"【智能货架】库位{storeInfo.StoreCode}被屏蔽(库位管理),请及时调查或维保硬件!"); - #region 计算库位禁用率并发送 - Task.Run(() => - { - var disabledStore = DbHelp.db.Queryable() - .Where(t => t.CurrentMatSn == "禁用") - .ToList(); - var allStore = DbHelp.db.Queryable() - .ToList(); - - var disabledCount = disabledStore.Count(); - var allCount = allStore.Count(); - - var disabledACount = disabledStore.Where(t => t.ShelfCode.Contains("A")).ToList().Count(); - var allACount = allStore.Where(t => t.ShelfCode.Contains("A")).ToList().Count(); - - var disabledCCount = disabledStore.Where(t => t.ShelfCode.Contains("C")).ToList().Count(); - var allCCount = allStore.Where(t => t.ShelfCode.Contains("C")).ToList().Count(); - - - var disabledModule = DbHelp.db.Queryable() - .Where(t => t.IsEnable == false) - .ToList(); - var allModule = DbHelp.db.Queryable() - .ToList(); - - var disabledModuleCount = disabledModule.Count(); - var allModuleCount = allModule.Count(); - - var disabledAModuleCount = disabledModule.Where(t => t.ShelfCode.Contains("A")).ToList().Count(); - var allAModuleCount = allModule.Where(t => t.ShelfCode.Contains("A")).ToList().Count(); - - var disabledCModuleCount = disabledModule.Where(t => t.ShelfCode.Contains("C")).ToList().Count(); - var allCModuleCount = allModule.Where(t => t.ShelfCode.Contains("C")).ToList().Count(); - - var message = $"【智能货架】当前库位总数{allCount},禁用总数{disabledCount},禁用率{((double)disabledCount / allCount).ToString("P")}," + - $"其中A区库位总数{allACount},禁用数{disabledACount},禁用率{((double)disabledACount / allACount).ToString("P")}," + - $"C区库位总数{allCCount},禁用数{disabledCCount},禁用率{((double)disabledCCount / allCCount).ToString("P")}。\r\n" + - $"当前模组总数{allModuleCount},禁用总数{disabledModuleCount},禁用率{((double)disabledModuleCount / allModuleCount).ToString("P")}," + - $"其中A区模组总数{allAModuleCount},禁用数{disabledAModuleCount},禁用率{((double)disabledAModuleCount / allAModuleCount).ToString("P")}," + - $"C区模组总数{allCModuleCount},禁用数{disabledCModuleCount},禁用率{((double)disabledCModuleCount / allCModuleCount).ToString("P")}。"; - - Logs.Write(message); - - var dd = string.Empty; - MXBackgroundThread.SendDingDingMsg(message, new List { "104379", "103595" }, ref dd); - }); - #endregion } //库位 @@ -719,76 +386,6 @@ namespace WCS.BLL.Services.Service }; } } - - public async Task getDisablePercent() - { - try - { - #region 计算库位禁用率 - var disabledStore = DbHelp.db.Queryable() - .Where(t => t.CurrentMatSn == "禁用") - .ToList(); - var allStore = DbHelp.db.Queryable() - .ToList(); - - var disabledCount = disabledStore.Count(); - var allCount = allStore.Count(); - - var disabledACount = disabledStore.Where(t => t.ShelfCode.Contains("A")).ToList().Count(); - var allACount = allStore.Where(t => t.ShelfCode.Contains("A")).ToList().Count(); - - var disabledCCount = disabledStore.Where(t => t.ShelfCode.Contains("C")).ToList().Count(); - var allCCount = allStore.Where(t => t.ShelfCode.Contains("C")).ToList().Count(); - - - var disabledModule = DbHelp.db.Queryable() - .Where(t => t.IsEnable == false) - .ToList(); - var allModule = DbHelp.db.Queryable() - .ToList(); - - var disabledModuleCount = disabledModule.Count(); - var allModuleCount = allModule.Count(); - - var disabledAModuleCount = disabledModule.Where(t => t.ShelfCode.Contains("A")).ToList().Count(); - var allAModuleCount = allModule.Where(t => t.ShelfCode.Contains("A")).ToList().Count(); - - var disabledCModuleCount = disabledModule.Where(t => t.ShelfCode.Contains("C")).ToList().Count(); - var allCModuleCount = allModule.Where(t => t.ShelfCode.Contains("C")).ToList().Count(); - - var message = $"【智能货架】当前库位总数{allCount},禁用总数{disabledCount},禁用率{((double)disabledCount / allCount).ToString("P")}," + - $"其中A区库位总数{allACount},禁用数{disabledACount},禁用率{((double)disabledACount / allACount).ToString("P")}," + - $"C区库位总数{allCCount},禁用数{disabledCCount},禁用率{((double)disabledCCount / allCCount).ToString("P")}。\r\n" + - $"当前模组总数{allModuleCount},禁用总数{disabledModuleCount},禁用率{((double)disabledModuleCount / allModuleCount).ToString("P")}," + - $"其中A区模组总数{allAModuleCount},禁用数{disabledAModuleCount},禁用率{((double)disabledAModuleCount / allAModuleCount).ToString("P")}," + - $"C区模组总数{allCModuleCount},禁用数{disabledCModuleCount},禁用率{((double)disabledCModuleCount / allCModuleCount).ToString("P")}。"; - #endregion - - //非盟讯公司的展示 - if (LocalFile.Config.IsMx == false) - { - message = $"【智能货架】当前库位总数{allCount},禁用总数{disabledCount},禁用率{((double)disabledCount / allCount).ToString("P")}。"; - } - - return new ResponseCommon() - { - Code = 200, - Message = $"Success", - Data = message, - }; - } - catch (Exception ex) - { - DbHelp.db.RollbackTran(); - return new ResponseCommon() - { - Code = 300, - Message = $"操作失败:异常{ex.Message}!" - }; - } - } - - #endregion } } diff --git a/WCS.WebApi/Controllers/InstoreController.cs b/WCS.WebApi/Controllers/InstoreController.cs index 8087f49..1ac5ae9 100644 --- a/WCS.WebApi/Controllers/InstoreController.cs +++ b/WCS.WebApi/Controllers/InstoreController.cs @@ -133,52 +133,5 @@ namespace WebApi.Controllers }; } } - - - - /// - /// ƻύ - /// - /// - /// - [Route("singleLightCommitInstore")] - [HttpPost(Name = "singleLightCommitInstore")] - public async Task singleLightCommitInstore(QueryByMatSnRequestSingle request) - { - try - { - //var aa = Helper.Query(); - //var bb = Helper.SetId(); - return await _instoreService.queryInstoreStatusSingle(request); - //ShelfManager. - // - } - catch (Exception ex) - { - return new ResponseCommon() - { - Code = 300, - Message = $"ʧ:{ex.Message}", - }; - } - } - - [Route("debugStoreinfoSingle")] - [HttpPost(Name = "debugStoreinfoSingle")] - public async Task debugStoreinfoSingle(DebugStoreinfoSingleRequest request) - { - try - { - return await _instoreService.debugStoreinfoSingle(request); - } - catch (Exception ex) - { - return new ResponseCommon() - { - Code = 300, - Message = $"ʧ:{ex.Message}", - }; - } - } } } diff --git a/WCS.WebApi/Controllers/OutstoreController.cs b/WCS.WebApi/Controllers/OutstoreController.cs index db22254..51eb779 100644 --- a/WCS.WebApi/Controllers/OutstoreController.cs +++ b/WCS.WebApi/Controllers/OutstoreController.cs @@ -284,54 +284,6 @@ namespace WebApi.Controllers } } - - /// - /// ƿʼ - /// - /// - /// - [Route("singleLightGoInOutstore")] - [HttpPost(Name = "singleLightGoInOutstore")] - public async Task singleLightGoInOutstore(GetOutOrderDetailRequest request) - { - try - { - return await _outstoreService.GoInOutstoreSingle(request); - } - catch (Exception ex) - { - return new ResponseBase() - { - Code = 300, - Message = "ģʽʧܣ" + ex.Message, - }; - } - } - - /// - /// ƽ - /// - /// - /// - [Route("singleLightGoOutOutstore")] - [HttpPost(Name = "singleLightGoOutOutstore")] - public async Task singleLightGoOutOutstore(GetOutOrderDetailRequest request) - { - //TODO - try - { - return await _outstoreService.GoOutOutstoreSingle(request); - } - catch (Exception ex) - { - return new ResponseBase() - { - Code = 300, - Message = "ѯʧܣ" + ex.Message, - }; - } - } - /// /// ȷϳ /// diff --git a/WCS.WebApi/Controllers/StoreInfoController.cs b/WCS.WebApi/Controllers/StoreInfoController.cs index c278f84..a9527d6 100644 --- a/WCS.WebApi/Controllers/StoreInfoController.cs +++ b/WCS.WebApi/Controllers/StoreInfoController.cs @@ -36,43 +36,6 @@ namespace WCS.WebApi.Controllers { return await _storeInfoService.addOrUpdateShelfInfo(request); } - - [HttpPost("GenerateStoreInfo")] - public async Task> GenerateStoreInfo() - { - return await _storeInfoService.GenerateStoreInfo(); - } - #endregion - - #region 模组管理 - [Route("getModules")] - [HttpPost(Name = "getModules")] - public async Task getModules(GetModulesRequest request) - { - return await _storeInfoService.GetModules(request); - } - - [Route("disableOrEnableModule")] - [HttpPost(Name = "disableOrEnableModule")] - public async Task disableOrEnableModule(DisableOrEnableModuleRequest request) - { - return await _storeInfoService.disableOrEnableModule(request); - } - - [Route("queryModuleVoltage")] - [HttpPost(Name = "queryModuleVoltage")] - public async Task queryModuleVoltage(QueryModuleVoltageRequest request) - { - return await _storeInfoService.queryModuleVoltage(request); - } - - - [Route("calibrationSetOffset")] - [HttpPost(Name = "calibrationSetOffset")] - public async Task calibrationSetOffset(CalibrationSetOffsetRequest request) - { - return await _storeInfoService.calibrationSetOffset(request); - } #endregion #region 库位管理 @@ -82,20 +45,6 @@ namespace WCS.WebApi.Controllers { return await _storeInfoService.GetStores(request); } - - [Route("disableOrEnableStore")] - [HttpPost(Name = "disableOrEnableStore")] - public async Task disableOrEnableStore(DisableOrEnableStoreRequest request) - { - return await _storeInfoService.disableOrEnableStore(request); - } - - [Route("getDisablePercent")] - [HttpPost(Name = "getDisablePercent")] - public async Task getDisablePercent(DisableOrEnableStoreRequest request) - { - return await _storeInfoService.getDisablePercent(); - } #endregion } } diff --git a/WCS.WebApi/Program.cs b/WCS.WebApi/Program.cs index afb0ef6..f1d44cc 100644 --- a/WCS.WebApi/Program.cs +++ b/WCS.WebApi/Program.cs @@ -81,7 +81,6 @@ namespace WebApi builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); - builder.Services.AddScoped(); //롢ɵõģʽ builder.Services.AddSingleton(); diff --git a/货架标准上位机/App.xaml.cs b/货架标准上位机/App.xaml.cs index 34f327c..60f3125 100644 --- a/货架标准上位机/App.xaml.cs +++ b/货架标准上位机/App.xaml.cs @@ -19,15 +19,8 @@ namespace 智慧物流软件系统 { base.OnStartup(e); - if (LocalFile.Config.IsMx) - { - MainWindow = new MXMainWindow(); - } - else - { - MainWindow = new MainWindow1(); - } - MainWindow.ShowDialog(); + MainWindow = new MainWindow1(); + MainWindow.ShowDialog(); } } diff --git a/货架标准上位机/ViewModels/MXViewModel/MXOutInventoryViewModel.cs b/货架标准上位机/ViewModels/MXViewModel/MXOutInventoryViewModel.cs deleted file mode 100644 index 192ffbc..0000000 --- a/货架标准上位机/ViewModels/MXViewModel/MXOutInventoryViewModel.cs +++ /dev/null @@ -1,358 +0,0 @@ -using HandyControl.Controls; -using HandyControl.Data; -using MiniExcelLibs; -using Ping9719.WpfEx.Mvvm; -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Data.SqlClient; -using System.IO; -using System.Linq; -using System.Net; -using System.Security.Cryptography.X509Certificates; -using System.Text; -using System.Text.RegularExpressions; -using System.Threading; -using System.Threading.Tasks; -using System.Web.UI.WebControls; -using System.Windows; -using System.Windows.Controls; -using System.Windows.Input; -using TouchSocket.Core; -using WCS.Model; -using WCS.Model.ApiModel.OutStore; -using WCS.Model.ApiModel.Stocktaking; -using 智慧物流软件系统.Api; -using 智慧物流软件系统.ViewModel; - -namespace 智慧物流软件系统.ViewModel -{ - public class MXOutInventoryViewModel : BindableBase - { - public MXOutInventoryViewModel() - { - RefreshOutOrderList(); - } - - public static object flag { get; set; } = new object(); - #region Property - private OutOrderModel selectedOutOrder; - public OutOrderModel SelectedOutOrder - { - get { return selectedOutOrder; } - set - { - SetProperty(ref selectedOutOrder, value); - - if (selectedOutOrder != null && selectedOutOrder.OrderNumber != SelectedOutOrderNumber) - { - SelectedOutOrderNumber = selectedOutOrder.OrderNumber; - RefreshDataGridItemSource(); - } - else if (selectedOutOrder != null && selectedOutOrder.OrderNumber == SelectedOutOrderNumber) - { - RefreshDataGridItemSource(); - } - else - { - - } - } - } - - private string selectedOutOrderNumber; - public string SelectedOutOrderNumber - { - get => selectedOutOrderNumber; - set - { - SetProperty(ref selectedOutOrderNumber, value); - } - } - - - private ObservableCollection outOrderList; - public ObservableCollection OutOrderList - { - get => outOrderList; - set - { - SetProperty(ref outOrderList, value); - } - } - - private ObservableCollection dataGridItemSource; - public ObservableCollection DataGridItemSource - { - get { return dataGridItemSource; } - set - { - SetProperty(ref dataGridItemSource, value); - RefreshCount(); - } - } - - //单据总盘数 - private int totalPan; - public int TotalPan - { - get => totalPan; set - { - SetProperty(ref totalPan, value); - } - } - - private int sendedPan; - public int SendedPan - { - get => sendedPan; set - { - SetProperty(ref sendedPan, value); - } - } - - private string orderStatus; - public string OrderStatus - { - get { return orderStatus; } - set - { - SetProperty(ref orderStatus, value); - } - } - - public void RefreshCount() - { - Task.Run(() => - { - try - { - SendedPan = dataGridItemSource.Where(t => t.IsSended).Count(); - TotalPan = dataGridItemSource.Count(); - } - catch (Exception ex) - { - Thread.Sleep(500); - SendedPan = dataGridItemSource.Where(t => t.IsSended).Count(); - TotalPan = dataGridItemSource.Count(); - } - - }); - } - #endregion - - #region Command - public ICommand BtnOutOrderCommand { get => new DelegateCommand(BtnOutOrder); } - public void BtnOutOrder() - { - var window = new MXOutOrderView(); - window.Owner = Application.Current.MainWindow; - window.Topmost = true; - window.ShowDialog(); - } - - - public ICommand BtnStartCommand { get => new DelegateCommand(BtnStart); } - public void BtnStart() - { - try - { - //判断是否选择单据 - if (SelectedOutOrder == null) - { - Growl.Warning("未选择单据!请选择左侧单据!"); - return; - } - - #region 调用接口开始出库 - var body = new GetOutOrderDetailRequest() - { - OrderId = SelectedOutOrder.Id, - OrderNumber = SelectedOutOrder.OrderNumber, - UserName = LocalStatic.CurrentUser, - DeviceType = LocalFile.Config.DeviceType, - }; - var Result = ApiHelp.GetDataFromHttp(LocalFile.Config.ApiIpHost + "outStore/goInOutstore", body, "POST"); - if (Result != null && Result.Code == 200) - { - Growl.Warning("已成功开始发料!"); - RefreshOutOrderList(SelectedOutOrderNumber); - } - else if (Result != null) - { - Growl.Warning(Result.Message); - } - else - { - Growl.Warning("调用接口失败!"); - } - #endregion - } - catch (Exception ex) - { - Growl.Error("出现异常:" + ex.Message); - } - finally - { - } - } - - public ICommand BtnPauseCommand { get => new DelegateCommand(BtnPause); } - public void BtnPause() - { - try - { - //判断是否选择单据 - if (SelectedOutOrder == null) - { - Growl.Warning("未选择单据!请选择左侧单据!"); - return; - } - #region 调用接口结束出库 - var body = new GetOutOrderDetailRequest() - { - OrderId = SelectedOutOrder.Id, - OrderNumber = SelectedOutOrder.OrderNumber, - UserName = LocalStatic.CurrentUser, - DeviceType = LocalFile.Config.DeviceType, - }; - var Result = ApiHelp.GetDataFromHttp(LocalFile.Config.ApiIpHost + "outStore/goOutOutstore", body, "POST"); - if (Result != null && Result.Code == 200) - { - Growl.Warning("已成功取消发料!"); - RefreshOutOrderList(SelectedOutOrderNumber); - } - else if (Result != null) - { - Growl.Warning(Result.Message); - } - else - { - Growl.Warning("调用接口失败!"); - } - #endregion - } - catch (Exception ex) - { - Growl.Error("出现异常:" + ex.Message); - } - finally - { - } - } - - public void RefreshOutOrderList(string OrderNumber = "") - { - lock (flag) - { - Logs.Write($"【RefreshOutOrderList1】OrderNumber{OrderNumber}", LogsType.Info); - if (string.IsNullOrEmpty(OrderNumber) && !string.IsNullOrEmpty(SelectedOutOrderNumber)) - { - OrderNumber = SelectedOutOrderNumber; - Logs.Write($"【RefreshOutOrderList2】OrderNumber{OrderNumber}", LogsType.Info); - } - #region 调用接口获取发料单 - try - { - var body = new GetOutOrderListByStatusRequest() - { - IsMXPD = false, - OrderExeStatus = new List() { OutOrderExeStatus.开始发料, OutOrderExeStatus.发料完成 } - }; - var Result = ApiHelp.GetDataFromHttp>(LocalFile.Config.ApiIpHost + "outstore/getOutOrderListByStatus", body, "POST"); - if (Result != null && Result.Code == 200) - { - OutOrderList = new ObservableCollection(Result.Data.Lists); - if (!string.IsNullOrEmpty(OrderNumber)) - { - if (selectedOutOrder == null) - { - SelectedOutOrder = OutOrderList?.Where(t => t.OrderNumber == OrderNumber).FirstOrDefault(); - } - Logs.Write($"【RefreshOutOrderList3】SelectedOutOrder{SelectedOutOrder?.OrderNumber}", LogsType.Info); - } - else - { - if (selectedOutOrder == null) - SelectedOutOrder = OutOrderList?.FirstOrDefault(); - Logs.Write($"【RefreshOutOrderList3】SelectedOutOrder{SelectedOutOrder?.OrderNumber}", LogsType.Info); - } - } - else if (Result != null && !string.IsNullOrEmpty(Result.Message)) - { - Growl.Warning(Result.Message); - } - } - catch (Exception ex) - { - Growl.Warning(ex.Message); - } - } - #endregion - } - - public void RefreshDataGridItemSource() - { - lock (flag) - { - if (SelectedOutOrder == null) - { - Logs.Write("【RefreshDataGridItemSource】选择的单据为空无法进行查询", LogsType.Info); - SelectedOutOrder = OutOrderList?.FirstOrDefault(); - return; - } - } - #region 调用接口获取出库单物料明细 - Task.Run(() => - { - Logs.Write($"【RefreshDataGridItemSource】{SelectedOutOrder?.OrderNumber}", LogsType.Info); - - var body = new GetOutOrderDetailRequest() - { - OrderId = SelectedOutOrder.Id, - OrderNumber = SelectedOutOrder.OrderNumber, - UserName = LocalStatic.CurrentUser, - DeviceType = LocalFile.Config.DeviceType, - - }; - var Result = ApiHelp.GetDataFromHttp>>(LocalFile.Config.ApiIpHost + "outStore/getOutOrderMatDetail", body, "POST", true); - if (Result != null && Result.Code == 200) - { - if (Result.Data.Count > 0) - { - var list = Result.Data.OrderBy(t => t.IsSended).ToList(); - Logs.Write($"【RefreshDataGridItemSource】Result.Data.Count > 0{SelectedOutOrder?.OrderNumber}", LogsType.Info); - //App.Current.Dispatcher.Invoke(() => - //{ - DataGridItemSource = new ObservableCollection(list); - //}); - OrderStatus = Result.Message; - if (OrderStatus == OutOrderStatus.全部发料.ToString()) - { - //全部发料就默认所有货架结束了这个单子 - } - } - else - { - Logs.Write("【RefreshDataGridItemSource】Result.Data.Count <= 0,清空明细", LogsType.Info); - App.Current.Dispatcher.Invoke(() => - { - DataGridItemSource?.Clear(); - }); - Growl.Warning("该单据未查询到发料明细!"); - } - } - else if (Result != null) - { - Growl.Warning(Result.Message); - } - else - { - Growl.Warning("调用接口失败!"); - } - }); - #endregion - } - #endregion - } -} diff --git a/货架标准上位机/ViewModels/MXViewModel/MXOutOrderDetailViewViewModel.cs b/货架标准上位机/ViewModels/MXViewModel/MXOutOrderDetailViewViewModel.cs deleted file mode 100644 index ea4dcf4..0000000 --- a/货架标准上位机/ViewModels/MXViewModel/MXOutOrderDetailViewViewModel.cs +++ /dev/null @@ -1,218 +0,0 @@ -using HandyControl.Controls; -using HandyControl.Data; -using MiniExcelLibs; -using Newtonsoft.Json; -using Ping9719.WpfEx.Mvvm; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Net; -using System.Text; -using System.Text.RegularExpressions; -using System.Threading; -using System.Threading.Tasks; -using System.Windows.Controls; -using System.Windows.Input; -using TouchSocket.Core; -using System.Windows.Markup; -using System.Security.Policy; -using WCS.Model.ApiModel.MXBackgroundThread; -using 智慧物流软件系统; -using WCS.Model.ApiModel.MatInventoryDetail; -using 智慧物流软件系统.Api; -using System.Runtime.CompilerServices; -using WCS.Model; - -namespace 智慧物流软件系统.ViewModel -{ - public class MXOutOrderDetailViewViewModel : BindableBase - { - /// - /// - /// - /// - /// - /// - /// - /// 是否是首盘发料 - public MXOutOrderDetailViewViewModel( - string billNumber, string warehouseCode - , string orderProdNumbers, string orderWorkNumbers - , int isFirstSend = 0, string reportSide = null - ) - { - BillNumber = billNumber; - OrderProdNumbers = orderProdNumbers; - OrderWorkNumbers = orderWorkNumbers; - WarehouseCode = warehouseCode; - - Task.Run(() => - { - var request = new RecommendedBarCodeRequest() - { - pickBillNumber = billNumber, - warehouseCode = warehouseCode, - warehouseType = 20 - }; - var requeststr = JsonConvert.SerializeObject(request); - var url = string.Empty; - if (isFirstSend == 0) - { - url = LocalFile.Config.RecommendedBarCode; - } - else if (isFirstSend == 1) - { - request = new FistPushRecommendedBarCodeRequest() - { - pickBillNumber = billNumber, - warehouseCode = warehouseCode, - warehouseType = 20, - reportSide = reportSide, - }; - requeststr = JsonConvert.SerializeObject(request); - url = LocalFile.Config.FirstSendRecommendedBarCode; - } - //后续料 - else - { - url = LocalFile.Config.ElectronicSiloPush; - } - - var result = ApiHelp.MXGetDataFromHttp>(requeststr, url, "POST", true); - if (result != null && result.code == 200 && result.data != null && result.data.Count() > 0) - { - //获取推荐的条码 - var matSns = result.data.Select(t => t.materialBar).ToList(); - - //调用 比对库存数据 获取库存中有的数据 - #region 调用接口 比对库存数据 获取库存中有的数据 - try - { - var body = new CompareMatInventoryDetailRequest() - { - MatSns = matSns, - }; - var Result = ApiHelp.GetDataFromHttp>(LocalFile.Config.ApiIpHost + "matInventoryDetail/compareMatInventoryDetail", body, "POST", true); - - //查询到物料信息 - if (Result != null && Result.Data != null && Result.Data.Lists != null && Result.Data.Lists.Count != 0) - { - DataGridItemSource = Result.Data.Lists; - } - else if (Result != null && Result.Code == 200 && (Result.Data == null || Result.Data.Lists == null || Result.Data.Lists.Count == 0)) - { - var content = $"MES/WMS系统按先进先出推荐物料条码在此货架上不存在,请确认物料是否在其他货架(B区)上!或者确认是否是物料上架后丢失(复制物料条码后在[出入记录]功能中通过物料SN查询确认是否丢失,如果确认是此货架上丢失,重新上架再次进行出库操作),具体条码如下:\r\n{string.Join(",\r\n", matSns)}"; - //MessageBox.Show($"未查询到领料明细!所推荐物料在此货架上不存在,请确认是否在其他货架上!或者是否已经丢失?(复制物料条码后在[出入记录]功能中即可查询)\r\n{string.Join(",\r\n", matSns)}"); - TipView.Show(content, "提示", true); - DataGridItemSource = null; - } - else - { - MessageBox.Show($"未查询到领料明细!请重试!"); - DataGridItemSource = null; - } - } - catch (Exception e) - { - MessageBox.Show($"未查询到领料明细!请重试!"); - DataGridItemSource = null; - } - #endregion - } - else if (result != null && result.code == 200 && (result.data == null || result.data.Count == 0)) - { - Growl.Warning("未查询到物料明细!MES推荐物料明细为空!请确认该单据是否已发或咨询MES系统相关负责人!"); - DataGridItemSource = null; - } - else - { - Growl.Warning("未查询到领料明细!请求MES接口失败!请确认该单据是否已发或咨询MES系统相关负责人!"); - DataGridItemSource = null; - } - }); - } - - - #region Property - private int selectedCount; - public int SelectedCount - { - get { return selectedCount; } - set { SetProperty(ref selectedCount, value); } - } - - private int selectedPan; - public int SelectedPan - { - get { return selectedPan; } - set { SetProperty(ref selectedPan, value); } - } - //发料单号 - private string billNumber; - public string BillNumber - { - get { return billNumber; } - set { SetProperty(ref billNumber, value); } - } - - //订单号 - private string orderProdNumbers; - public string OrderProdNumbers - { - get { return orderProdNumbers; } - set { SetProperty(ref orderProdNumbers, value); } - } - - //工单号 - private string orderWorkNumbers; - public string OrderWorkNumbers - { - get { return orderWorkNumbers; } - set { SetProperty(ref orderWorkNumbers, value); } - } - - //输入的仓库代码 - private string warehouseCode; - public string WarehouseCode - { - get { return warehouseCode; } - set - { - SetProperty(ref warehouseCode, value); - } - } - - private List dataGridItemSource; - public List DataGridItemSource - { - get { return dataGridItemSource; } - set - { - SetProperty(ref dataGridItemSource, value); - RefreshCount(); - } - } - - - public void RefreshCount() - { - Task.Run(() => - { - try - { - SelectedCount = dataGridItemSource.Where(t => t.IsSelected == true).Sum(t => t.MatQty); - SelectedPan = dataGridItemSource.Where(t => t.IsSelected == true).Count(); - } - catch { } - - }); - } - - #endregion - - #region Command - - #endregion - } -} diff --git a/货架标准上位机/ViewModels/MXViewModel/MXOutOrderViewModel.cs b/货架标准上位机/ViewModels/MXViewModel/MXOutOrderViewModel.cs deleted file mode 100644 index dded6e3..0000000 --- a/货架标准上位机/ViewModels/MXViewModel/MXOutOrderViewModel.cs +++ /dev/null @@ -1,132 +0,0 @@ -using HandyControl.Controls; -using HandyControl.Data; -using MiniExcelLibs; -using Ping9719.WpfEx.Mvvm; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Net; -using System.Text; -using System.Text.RegularExpressions; -using System.Threading; -using System.Threading.Tasks; -using System.Windows.Controls; -using System.Windows.Input; -using TouchSocket.Core; -using Newtonsoft.Json; -using WCS.Model.ApiModel.MXBackgroundThread; -using 智慧物流软件系统.Api; - -namespace 智慧物流软件系统.ViewModel -{ - public class MXOutOrderViewModel : BindableBase - { - public MXOutOrderViewModel() - { - } - - - #region Property - private string matCode1; - public string MatCode1 - { - get { return matCode1; } - set - { - SetProperty(ref matCode1, value); - } - } - - private string orderProdNumber; - public string OrderProdNumber - { - get { return orderProdNumber; } - set - { - SetProperty(ref orderProdNumber, value); - } - } - - private string orderWorkNumber; - public string OrderWorkNumber - { - get { return orderWorkNumber; } - set - { - SetProperty(ref orderWorkNumber, value); - } - } - - private string pickBillNumber; - public string PickBillNumber - { - get { return pickBillNumber; } - set - { - SetProperty(ref pickBillNumber, value); - } - } - - private string warehouseCode; - public string WarehouseCode - { - get { return warehouseCode; } - set - { - SetProperty(ref warehouseCode, value); - } - } - - - - private List dataGridItemSource; - public List DataGridItemSource - { - get { return dataGridItemSource; } - set - { - SetProperty(ref dataGridItemSource, value); - } - } - - - - - #endregion - - #region Command - public ICommand BtnSearchCommand { get => new DelegateCommand(BtnSearch); } - public void BtnSearch() - { - Task.Run(() => - { - var request = new PickOrderRequest() - { - orderProdNumber = OrderProdNumber, - orderWorkNumber = OrderWorkNumber, - pickBillNumber = PickBillNumber - }; - var requeststr = JsonConvert.SerializeObject(request); - var result = ApiHelp.MXGetDataFromHttpLongWait>(requeststr, LocalFile.Config.GetPickOrderUrl, "POST"); - if (result != null && result.code == 200 && result.data != null && result.data.Count() > 0) - { - DataGridItemSource = result.data; - } - else if (result != null && result.code == 200 && (result.data == null || result.data.Count == 0)) - { - result.message = "输入的搜索条件未查询到发料单信息!"; - Growl.Warning(result.message); - DataGridItemSource = result.data; - } - else - { - Growl.Warning("调用MES接口超时:搜索失败!"); - } - }); - } - #endregion - - - } -} diff --git a/货架标准上位机/ViewModels/MXViewModel/MXPDViewModel.cs b/货架标准上位机/ViewModels/MXViewModel/MXPDViewModel.cs deleted file mode 100644 index 114db88..0000000 --- a/货架标准上位机/ViewModels/MXViewModel/MXPDViewModel.cs +++ /dev/null @@ -1,429 +0,0 @@ -using HandyControl.Controls; -using HandyControl.Data; -using MiniExcelLibs; -using Newtonsoft.Json; -using Ping9719.WpfEx.Mvvm; -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Data.SqlClient; -using System.IO; -using System.Linq; -using System.Net; -using System.Security.Cryptography.X509Certificates; -using System.Text; -using System.Text.RegularExpressions; -using System.Threading; -using System.Threading.Tasks; -using System.Web.UI.WebControls; -using System.Windows; -using System.Windows.Controls; -using System.Windows.Input; -using TouchSocket.Core; -using WCS.Model; -using WCS.Model.ApiModel.MatInventoryDetail; -using WCS.Model.ApiModel.MXBackgroundThread; -using WCS.Model.ApiModel.OutStore; -using WCS.Model.ApiModel.Stocktaking; -using 智慧物流软件系统.Api; -using 智慧物流软件系统.ViewModel; - -namespace 智慧物流软件系统.ViewModel -{ - public class MXPDViewModel : BindableBase - { - public MXPDViewModel() - { - RefreshOutOrderList(); - } - - #region Property - private OutOrderModel selectedOutOrder; - public OutOrderModel SelectedOutOrder - { - get { return selectedOutOrder; } - set - { - SetProperty(ref selectedOutOrder, value); - if (selectedOutOrder != null) - { - SelectedOutOrderNumber = selectedOutOrder.OrderNumber; - RefreshDataGridItemSource(); - } - else - { - DataGridItemSource?.Clear(); - } - } - } - - private string selectedOutOrderNumber; - public string SelectedOutOrderNumber - { - get => selectedOutOrderNumber; - set - { - SetProperty(ref selectedOutOrderNumber, value); - } - } - - - private ObservableCollection outOrderList; - public ObservableCollection OutOrderList - { - get => outOrderList; - set - { - SetProperty(ref outOrderList, value); - } - } - - private ObservableCollection dataGridItemSource; - public ObservableCollection DataGridItemSource - { - get { return dataGridItemSource; } - set - { - SetProperty(ref dataGridItemSource, value); - RefreshCount(); - } - } - - //单据总盘数 - private int totalPan; - public int TotalPan - { - get => totalPan; set - { - SetProperty(ref totalPan, value); - } - } - - private int sendedPan; - public int SendedPan - { - get => sendedPan; set - { - SetProperty(ref sendedPan, value); - } - } - - private int totalCount; - public int TotalCount - { - get => totalCount; - set { SetProperty(ref totalCount, value); } - } - - - private string orderStatus; - public string OrderStatus - { - get { return orderStatus; } - set - { - SetProperty(ref orderStatus, value); - } - } - - public void RefreshCount() - { - Task.Run(() => - { - SendedPan = dataGridItemSource.Where(t => t.IsSended).Count(); - TotalPan = dataGridItemSource.Count(); - TotalCount = dataGridItemSource.Sum(t => t.MatQty); - }); - } - - - private string matCode; - public string MatCode - { - get => matCode; - set { SetProperty(ref matCode, value); } - } - - private string wareHouseCode; - public string WareHouseCode - { - get => wareHouseCode; - set { SetProperty(ref wareHouseCode, value); } - } - #endregion - - #region Command - public ICommand BtnOutOrderCommand { get => new DelegateCommand(BtnOutOrder); } - public void BtnOutOrder() - { - var window = new MXOutOrderView(); - window.Owner = Application.Current.MainWindow; - window.ShowDialog(); - } - - - public ICommand BtnStartCommand { get => new DelegateCommand(BtnStart); } - public void BtnStart() - { - try - { - //判断是否选择单据 - if (SelectedOutOrder == null) - { - Growl.Warning("未选择单据!"); - return; - } - - #region 调用接口开始出库 - var body = new GetOutOrderDetailRequest() - { - OrderId = selectedOutOrder.Id, - OrderNumber = selectedOutOrder.OrderNumber, - UserName = LocalStatic.CurrentUser, - DeviceType = LocalFile.Config.DeviceType, - }; - var Result = ApiHelp.GetDataFromHttp(LocalFile.Config.ApiIpHost + "outStore/goInOutstore", body, "POST"); - if (Result != null && Result.Code == 200) - { - Growl.Warning("已成功开始盘点!"); - RefreshDataGridItemSource(); - } - else if (Result != null) - { - Growl.Warning(Result.Message); - } - else - { - Growl.Warning("调用接口失败!"); - } - #endregion - } - catch (Exception ex) - { - Growl.Error("出现异常:" + ex.Message); - } - finally - { - } - } - - public ICommand BtnPauseCommand { get => new DelegateCommand(BtnPause); } - public void BtnPause() - { - try - { - //判断是否选择单据 - if (SelectedOutOrder == null) - { - Growl.Warning("未选择单据!"); - return; - } - #region 调用接口结束出库 - var body = new GetOutOrderDetailRequest() - { - OrderId = selectedOutOrder.Id, - OrderNumber = selectedOutOrder.OrderNumber, - UserName = LocalStatic.CurrentUser, - DeviceType = LocalFile.Config.DeviceType, - }; - var Result = ApiHelp.GetDataFromHttp(LocalFile.Config.ApiIpHost + "outStore/goOutOutstore", body, "POST"); - if (Result != null && Result.Code == 200) - { - Growl.Warning("已成功结束盘点!"); - RefreshDataGridItemSource(); - } - else if (Result != null) - { - Growl.Warning(Result.Message); - } - else - { - Growl.Warning("操作失败:调用接口失败!"); - } - #endregion - } - catch (Exception ex) - { - Growl.Error("出现异常:" + ex.Message); - } - finally - { - } - } - - public ICommand BtnQueryCommand { get => new DelegateCommand(BtnQuery); } - public void BtnQuery() - { - try - { - //请求WMS获取物料明细 - var request = new ElectronicSiloPushRequest() - { - materialCode = MatCode, - warehouseCode = WareHouseCode - }; - var requeststr = JsonConvert.SerializeObject(request); - var result = ApiHelp.MXGetDataFromHttp>(requeststr, "http://192.168.2.23:9213/integrate/inOut/electronicSiloPush", "POST", true); - if (result != null && (result.code == 200) && result.data != null && result.data.Count() > 0) - { - //通过返回的物料明细查询当前库存中有的数据 - var matSns = result.data.Select(t => t.materialBar).ToList(); - //调用 比对库存数据 获取库存中有的数据 - #region 调用接口 比对库存数据 获取库存中有的数据 - try - { - var body = new CompareMatInventoryDetailRequest() - { - MatSns = matSns, - }; - var Result = ApiHelp.GetDataFromHttp>(LocalFile.Config.ApiIpHost + "matInventoryDetail/compareMatInventoryDetail", body, "POST", true); - - //查询到物料信息 - if (Result != null && Result.Data != null && Result.Data.Lists != null && Result.Data.Lists.Count != 0) - { - var count = Result.Data.Lists.Count; - //是否生成盘点单 实际上是出库单 - var dialogResult = HandyControl.Controls.MessageBox.Show($"共查询到有{count}盘物料,是否生成盘点单?", "提示", MessageBoxButton.YesNo); - if (dialogResult == MessageBoxResult.Yes) - { - #region 调用接口保存出库单据 - var body1 = new SysOutOrderByMatSnRequest() - { - IsMXPD = true, - OrderType = "出库", - OrderSource = "WCS前端", - SnList = Result.Data.Lists.Select(t => t.MatSN).ToList(), - DeviceType = LocalFile.Config.DeviceType, - UserName = LocalStatic.CurrentUser - }; - var Result1 = ApiHelp.GetDataFromHttp(LocalFile.Config.ApiIpHost + "outstore/sysOutOrderByMatSn", body1, "POST"); - if (Result1 != null && Result1.Code == 200) - { - //出库单据保存成功 刷新左侧出库单列表 - MXPDView.viewModel.RefreshOutOrderList(Result1.Message.ToString()); - Growl.Success("盘点单据保存成功,请点击【开始盘点】进行盘点下架!"); - } - else if (Result1 != null) - { - Growl.Warning(Result1.Message); - } - #endregion - } - else - return; - } - else if (Result != null && Result.Code == 200 && (Result.Data == null || Result.Data.Lists == null || Result.Data.Lists.Count == 0)) - { - HandyControl.Controls.MessageBox.Show($"未查询到需要盘点的明细!所推荐物料在此货架上不存在,请确认是否在其他货架上!\r\n{string.Join(",\r\n", matSns)}"); - DataGridItemSource = null; - } - else - { - HandyControl.Controls.MessageBox.Show($"未查询到需要盘点的明细!请重试!"); - DataGridItemSource = null; - } - } - catch (Exception e) - { - HandyControl.Controls.MessageBox.Show($"未查询到需要盘点的明细!请重试!"); - DataGridItemSource = null; - } - #endregion - } - else - { - Growl.Warning("获取WMS系统库存数据失败!" + result?.message); - } - - } - catch (Exception ex) - { - - } - finally - { - //dia.Close(); - //dia.Collapse(); - } - } - - public void RefreshOutOrderList(string OrderNumber = "") - { - #region 调用接口获取发料单 - try - { - var body = new GetOutOrderListByStatusRequest() - { - OrderExeStatus = new List() { OutOrderExeStatus.开始发料, OutOrderExeStatus.发料完成 }, - IsMXPD = true, - }; - var Result = ApiHelp.GetDataFromHttp>(LocalFile.Config.ApiIpHost + "outstore/getOutOrderListByStatus", body, "POST"); - if (Result != null && Result.Code == 200) - { - OutOrderList = new ObservableCollection(Result.Data.Lists); - if (!string.IsNullOrEmpty(OrderNumber)) - { - SelectedOutOrder = OutOrderList.Where(t => t.OrderNumber == OrderNumber).FirstOrDefault(); - } - } - else if (Result != null && !string.IsNullOrEmpty(Result.Message)) - { - Growl.Warning(Result.Message); - } - } - catch (Exception ex) - { - Growl.Warning(ex.Message); - } - #endregion - } - - public void RefreshDataGridItemSource() - { - if (SelectedOutOrder == null) - { - //选择的单据为空无法进行查询 - return; - } - #region 调用接口获取出库单物料明细 - Task.Run(() => - { - var body = new GetOutOrderDetailRequest() - { - OrderId = selectedOutOrder.Id, - OrderNumber = selectedOutOrder.OrderNumber, - UserName = LocalStatic.CurrentUser, - DeviceType = LocalFile.Config.DeviceType, - - }; - var Result = ApiHelp.GetDataFromHttp>>(LocalFile.Config.ApiIpHost + "outStore/getOutOrderMatDetail", body, "POST"); - if (Result != null && Result.Code == 200) - { - if (Result.Data.Count > 0) - { - DataGridItemSource = new ObservableCollection(Result.Data); - OrderStatus = Result.Message; - } - else - { - App.Current.Dispatcher.Invoke(() => - { - DataGridItemSource?.Clear(); - }); - Growl.Warning("该单据未查询到发料明细!"); - } - } - else if (Result != null) - { - Growl.Warning(Result.Message); - } - else - { - Growl.Warning("调用接口失败!"); - } - }); - #endregion - } - #endregion - } -} diff --git a/货架标准上位机/ViewModels/ModuleInfoViewModel.cs b/货架标准上位机/ViewModels/ModuleInfoViewModel.cs deleted file mode 100644 index 45a420b..0000000 --- a/货架标准上位机/ViewModels/ModuleInfoViewModel.cs +++ /dev/null @@ -1,325 +0,0 @@ -using HandyControl.Controls; -using MiniExcelLibs; -using Ping9719.WpfEx.Mvvm; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Runtime.CompilerServices; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using System.Windows.Input; -using 智慧物流软件系统.Views.Controls; -using 智慧物流软件系统.Api; -using WCS.Model; -using WCS.Model.ApiModel.Home; -using WCS.Model.ApiModel.StoreInfo; -using WCS.BLL.DbModels; -using WCS.Model.ApiModel.MatBaseInfo; -using WCS.Model.ApiModel.User; -using WCS.Model.ApiModel; -using Newtonsoft.Json.Bson; -using System.Windows; - -namespace 智慧物流软件系统.ViewModel -{ - public class ModuleInfoViewModel : BindableBase - { - public ModuleInfoViewModel() - { - - } - - #region Property - private List dataGridItemSource; - public List DataGridItemSource - { - get { return dataGridItemSource; } - set - { - SetProperty(ref dataGridItemSource, value); - } - } - - private ModuleInfoModel selectedataGridItem; - public ModuleInfoModel SelectedataGridItem - { - get { return selectedataGridItem; } - set - { - SetProperty(ref selectedataGridItem, value); - } - } - - - private string shelfCode; - public string ShelfCode - { - get { return shelfCode; } - set - { - SetProperty(ref shelfCode, value); - } - } - - private string moduleCode; - - public string ModuleCode - { - get => moduleCode; - set { SetProperty(ref moduleCode, value); } - } - - #endregion - - #region Command - public ICommand BtnResetCommand { get => new DelegateCommand(BtnReset); } - public void BtnReset() - { - ModuleCode = string.Empty; - ShelfCode = string.Empty; - } - - public ICommand BtnSearchCommand { get => new DelegateCommand(BtnSearchReset); } - public void BtnSearchReset() - { - BtnSearch(true); - } - - public void BtnSearch(bool IsPageReset = true) - { - if (CurrentPage == 0 || IsPageReset) - { - CurrentPage = 1; - return; - } - #region 调用接口获取数据 - var dia = Dialog.Show(new TextDialog()); - try - { - var body = new GetModulesRequest() - { - ShelfCode = ShelfCode, - ModuleCode = ModuleCode, - UserName = LocalStatic.CurrentUser, - DeviceType = LocalFile.Config.DeviceType, - PageNumber = CurrentPage, - PageSize = PageSize, - }; - var Result = ApiHelp.GetDataFromHttp>(LocalFile.Config.ApiIpHost + "storeInfo/getModules", body, "POST"); - if (Result != null && Result.Data != null && Result.Data.Lists != null) - { - DataGridItemSource = Result.Data.Lists; - MaxPage = Result.Data.MaxPage; - TotalCount = Result.Data.TotalCount; - } - } - catch (Exception ex) - { - Growl.Error("加载数据失败:" + ex.Message); - } - finally - { - dia.Close(); - } - #endregion - } - - public ICommand BtnDeleteCommand { get => new DelegateCommand(BtnDelete); } - public void BtnDelete() - { - //查询勾选的第一个数据 - var shelfInfo = DataGridItemSource?.Where(t => t.IsSelected == true).FirstOrDefault(); - if (shelfInfo == null) - { - Growl.Warning("请选择需要删除的数据!"); - } - else - { - var body = new AddShelfInfoRequest() - { - UserName = LocalStatic.CurrentUser, - DeviceType = LocalFile.Config.DeviceType, - //ShelfInfo = shelfInfo, - AddOrUpdate = AddOrUpdate.Delete - }; - var Result = ApiHelp.GetDataFromHttp>(LocalFile.Config.ApiIpHost + "storeInfo/addOrUpdateShelfInfo", body, "POST"); - if (Result != null && Result.Code == 200) - { - Growl.Success("删除成功!"); - CurrentPage = 1; - } - else - { - Growl.Error($"{Result?.Message?.ToString()}"); - } - } - } - - public ICommand DisableCommand { get => new DelegateCommand(Disable); } - public void Disable(ModuleInfoModel module) - { - if (module.IsEnable != true) - { - Growl.Warning("库位未被启用!"); - return; - } - var result = HandyControl.Controls.MessageBox.Show("模组禁用会影响正常流程,请确认是否屏蔽?" - , "提示", MessageBoxButton.YesNo); - if (result == MessageBoxResult.Yes) - { - #region 调用接口 禁用 - try - { - var body = new DisableOrEnableModuleRequest() - { - ModuleId = module.Id, - ModuleCode = module.ModuleCode, - DisableOrEnable = DisableOrEnableEnum.Disable, - UserName = LocalStatic.CurrentUser, - DeviceType = LocalFile.Config.DeviceType, - }; - var Result = ApiHelp.GetDataFromHttp(LocalFile.Config.ApiIpHost + "storeInfo/disableOrEnableModule", body, "POST"); - if (Result != null && Result.Code == 200) - { - Growl.Success("禁用成功"); - BtnSearch(); - } - else if (Result != null) - { - Growl.Warning(Result.Message); - } - else - { - Growl.Warning("操作失败:请重试!"); - } - } - catch (Exception ex) - { - Growl.Error("操作失败:" + ex.Message); - } - #endregion - } - else - { - return; - } - } - - public ICommand EnableCommand { get => new DelegateCommand(Enable); } - public void Enable(ModuleInfoModel module) - { - if (module.IsEnable == true) - { - Growl.Warning("库位未被禁用!"); - return; - } - #region 调用接口 临时禁用库位 删除库存数据 - try - { - var body = new DisableOrEnableModuleRequest() - { - ModuleId = module.Id, - ModuleCode = module.ModuleCode, - DisableOrEnable = DisableOrEnableEnum.Enable, - UserName = LocalStatic.CurrentUser, - DeviceType = LocalFile.Config.DeviceType, - }; - var Result = ApiHelp.GetDataFromHttp(LocalFile.Config.ApiIpHost + "storeInfo/disableOrEnableModule", body, "POST"); - if (Result != null && Result.Code == 200) - { - Growl.Success("操作成功!"); - BtnSearch(); - } - else if (Result != null) - { - Growl.Warning(Result.Message); - } - else - { - Growl.Warning("操作失败:请重试!"); - } - } - catch (Exception ex) - { - Growl.Error("操作失败:" + ex.Message); - } - #endregion - } - #endregion - - #region PageOperation 分页操作 - private int currentPage; - public int CurrentPage - { - get { return currentPage; } - set - { - SetProperty(ref currentPage, value); - BtnSearch(false); - } - } - - private int maxPage; - public int MaxPage - { - get { return maxPage; } - set { SetProperty(ref maxPage, value); } - } - - //总数量 - private int totalCount; - public int TotalCount - { - get { return totalCount; } - set { SetProperty(ref totalCount, value); } - } - - private int pageSize = 10; - public int PageSize - { - get => pageSize; - set - { - SetProperty(ref pageSize, value); - BtnSearch(true); - } - } - - - public ICommand BtnFirstPageCommand { get => new DelegateCommand(BtnFirstPage); } - public void BtnFirstPage() - { - CurrentPage = 1; - } - - public ICommand BtnPrePageCommand { get => new DelegateCommand(BtnPrePage); } - public void BtnPrePage() - { - if (CurrentPage > 1) - { - CurrentPage--; - } - } - - public ICommand BtnNextPageCommand { get => new DelegateCommand(BtnNextPage); } - public void BtnNextPage() - { - if (CurrentPage < MaxPage) - { - CurrentPage++; - } - } - - public ICommand BtnLastPageCommand { get => new DelegateCommand(BtnLastPage); } - public void BtnLastPage() - { - if (CurrentPage != MaxPage) - { - CurrentPage = MaxPage; - } - } - #endregion - - } -} diff --git a/货架标准上位机/ViewModels/StoreInfoViewModel.cs b/货架标准上位机/ViewModels/StoreInfoViewModel.cs deleted file mode 100644 index 58567f9..0000000 --- a/货架标准上位机/ViewModels/StoreInfoViewModel.cs +++ /dev/null @@ -1,339 +0,0 @@ -using HandyControl.Controls; -using MiniExcelLibs; -using Ping9719.WpfEx.Mvvm; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Runtime.CompilerServices; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using System.Windows.Input; -using 智慧物流软件系统.Views.Controls; -using 智慧物流软件系统.Api; -using WCS.Model; -using WCS.Model.ApiModel.Home; -using WCS.Model.ApiModel.StoreInfo; -using WCS.BLL.DbModels; -using WCS.Model.ApiModel.MatBaseInfo; -using WCS.Model.ApiModel.User; -using WCS.Model.ApiModel; -using Newtonsoft.Json.Bson; -using System.Windows; -using System.Security.Cryptography; - -namespace 智慧物流软件系统.ViewModel -{ - public class StoreInfoViewModel : BindableBase - { - public StoreInfoViewModel() - { - - } - - #region Property - private List dataGridItemSource; - public List DataGridItemSource - { - get { return dataGridItemSource; } - set - { - SetProperty(ref dataGridItemSource, value); - } - } - - private StoreInfoModel selectedataGridItem; - public StoreInfoModel SelectedataGridItem - { - get { return selectedataGridItem; } - set - { - SetProperty(ref selectedataGridItem, value); - } - } - - - private string shelfCode; - public string ShelfCode - { - get { return shelfCode; } - set - { - SetProperty(ref shelfCode, value); - } - } - - private string moduleCode; - public string ModuleCode - { - get => moduleCode; - set { SetProperty(ref moduleCode, value); } - } - - private string storeCode; - public string StoreCode - { - get => storeCode; - set { SetProperty(ref storeCode, value); } - } - - private string currentMatSN; - public string CurrentMatSN - { - get => currentMatSN; - set { SetProperty(ref currentMatSN, value); } - } - - #endregion - - #region Command - public ICommand BtnResetCommand { get => new DelegateCommand(BtnReset); } - public void BtnReset() - { - ShelfCode = string.Empty; - ModuleCode = string.Empty; - StoreCode = string.Empty; - CurrentMatSN = string.Empty; - } - - public ICommand BtnSearchCommand { get => new DelegateCommand(BtnSearchReset); } - public void BtnSearchReset() - { - BtnSearch(true); - } - - public void BtnSearch(bool IsPageReset = true) - { - if (CurrentPage == 0 || IsPageReset) - { - CurrentPage = 1; - return; - } - #region 调用接口获取数据 - var dia = Dialog.Show(new TextDialog()); - try - { - var body = new GetStoresRequest() - { - ShelfCode = ShelfCode, - ModuleCode = ModuleCode, - StoreCode = StoreCode, - CurrentMatSN = CurrentMatSN, - UserName = LocalStatic.CurrentUser, - DeviceType = LocalFile.Config.DeviceType, - PageNumber = CurrentPage, - PageSize = PageSize, - }; - var Result = ApiHelp.GetDataFromHttp>(LocalFile.Config.ApiIpHost + "storeInfo/getStores", body, "POST"); - if (Result != null && Result.Data != null && Result.Data.Lists != null) - { - DataGridItemSource = Result.Data.Lists; - MaxPage = Result.Data.MaxPage; - TotalCount = Result.Data.TotalCount; - } - } - catch (Exception ex) - { - Growl.Error("加载数据失败:" + ex.Message); - } - finally - { - dia.Close(); - } - #endregion - } - - public ICommand DisableCommand { get => new DelegateCommand(Disable); } - public void Disable(StoreInfoModel store) - { - var result = HandyControl.Controls.MessageBox.Show("库位屏蔽仅用于临时屏蔽硬件损坏识别的未扫描上架!\r\n" + - "操作时会删除对应库位的数据,需要保证对应库位物料已取出。\r\n" + - "请确认是否进行操作?" - , "提示", MessageBoxButton.YesNo); - if (result == MessageBoxResult.Yes) - { - #region 调用接口 临时禁用库位 删除库存数据 - try - { - var body = new DisableOrEnableStoreRequest() - { - StoreId = store.Id, - SroreCode = store.StoreCode, - DisableOrEnable = DisableOrEnableEnum.Disable, - UserName = LocalStatic.CurrentUser, - DeviceType = LocalFile.Config.DeviceType, - }; - var Result = ApiHelp.GetDataFromHttp(LocalFile.Config.ApiIpHost + "storeInfo/disableOrEnableStore", body, "POST"); - if (Result != null && Result.Code == 200) - { - Growl.Success("禁用成功"); - BtnSearch(); - } - else if (Result != null) - { - Growl.Warning(Result.Message); - } - else - { - Growl.Warning("操作失败:请重试!"); - } - } - catch (Exception ex) - { - Growl.Error("操作失败:" + ex.Message); - } - #endregion - } - else - { - return; - } - } - - public ICommand EnableCommand { get => new DelegateCommand(Enable); } - public void Enable(StoreInfoModel store) - { - if (store.CurrentMatSn != "禁用") - { - Growl.Warning("库位未被禁用!"); - return; - } - #region 调用接口 临时禁用库位 删除库存数据 - try - { - var body = new DisableOrEnableStoreRequest() - { - StoreId = store.Id, - SroreCode = store.StoreCode, - DisableOrEnable = DisableOrEnableEnum.Enable, - UserName = LocalStatic.CurrentUser, - DeviceType = LocalFile.Config.DeviceType, - }; - var Result = ApiHelp.GetDataFromHttp(LocalFile.Config.ApiIpHost + "storeInfo/disableOrEnableStore", body, "POST"); - if (Result != null && Result.Code == 200) - { - Growl.Success("操作成功!"); - BtnSearch(); - } - else if (Result != null) - { - Growl.Warning(Result.Message); - } - else - { - Growl.Warning("操作失败:请重试!"); - } - } - catch (Exception ex) - { - Growl.Error("操作失败:" + ex.Message); - } - #endregion - } - - - public ICommand BtnDisablePercentCommand { get => new DelegateCommand(DisablePercent); } - public void DisablePercent() - { - #region 调用接口 获取屏蔽率 - try - { - var body = new DisableOrEnableStoreRequest() - { - }; - var Result = ApiHelp.GetDataFromHttp(LocalFile.Config.ApiIpHost + "storeInfo/getDisablePercent", body, "POST"); - if (Result != null && Result.Code == 200) - { - HandyControl.Controls.MessageBox.Show(Result.Data.ToString()); - } - else if (Result != null) - { - Growl.Warning(Result.Message); - } - else - { - Growl.Warning("操作失败:请重试!"); - } - } - catch (Exception ex) - { - Growl.Error("操作失败:" + ex.Message); - } - #endregion - } - #endregion - - #region PageOperation 分页操作 - private int currentPage; - public int CurrentPage - { - get { return currentPage; } - set - { - SetProperty(ref currentPage, value); - BtnSearch(false); - } - } - - private int maxPage; - public int MaxPage - { - get { return maxPage; } - set { SetProperty(ref maxPage, value); } - } - - //总数量 - private int totalCount; - public int TotalCount - { - get { return totalCount; } - set { SetProperty(ref totalCount, value); } - } - - private int pageSize = 10; - public int PageSize - { - get => pageSize; - set - { - SetProperty(ref pageSize, value); - BtnSearch(true); - } - } - - - public ICommand BtnFirstPageCommand { get => new DelegateCommand(BtnFirstPage); } - public void BtnFirstPage() - { - CurrentPage = 1; - } - - public ICommand BtnPrePageCommand { get => new DelegateCommand(BtnPrePage); } - public void BtnPrePage() - { - if (CurrentPage > 1) - { - CurrentPage--; - } - } - - public ICommand BtnNextPageCommand { get => new DelegateCommand(BtnNextPage); } - public void BtnNextPage() - { - if (CurrentPage < MaxPage) - { - CurrentPage++; - } - } - - public ICommand BtnLastPageCommand { get => new DelegateCommand(BtnLastPage); } - public void BtnLastPage() - { - if (CurrentPage != MaxPage) - { - CurrentPage = MaxPage; - } - } - #endregion - } -} diff --git a/货架标准上位机/Views/MXWindows/MXMainWindow.xaml b/货架标准上位机/Views/MXWindows/MXMainWindow.xaml deleted file mode 100644 index e507a34..0000000 --- a/货架标准上位机/Views/MXWindows/MXMainWindow.xaml +++ /dev/null @@ -1,315 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 主页 - - - - - - - - - - - - 物料入库 - - - - - - - - - - - - - - 物料出库 - - - - - - - - - - - - PDA盘点单 - - - - - - - - - - - - PDA盘点 - - - - - - - - - - - - 物料盘点 - - - - - - - - - - - - 库存查询 - - - - - - - - - - - - 出入记录 - - - - - - - - - - - - 库位管理 - - - - - - - - - - - - - - - - - - - - - - - - - - - - 接口记录 - - - - - - - - - - - - 权限 - - - - - - - - - - - - - - - - - - - - - 调试 - - - - - - - - - - - - - - - - 设置 - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/货架标准上位机/Views/MXWindows/MXMainWindow.xaml.cs b/货架标准上位机/Views/MXWindows/MXMainWindow.xaml.cs deleted file mode 100644 index fe127f0..0000000 --- a/货架标准上位机/Views/MXWindows/MXMainWindow.xaml.cs +++ /dev/null @@ -1,57 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows; -using System.Windows.Controls; -using System.Windows.Controls.Primitives; -using System.Windows.Data; -using System.Windows.Documents; -using System.Windows.Input; -using System.Windows.Media; -using System.Windows.Media.Imaging; -using System.Windows.Navigation; -using System.Windows.Shapes; -using System.Windows.Threading; -using 智慧物流软件系统.ViewModel; -using HandyControl.Controls; - -namespace 智慧物流软件系统 -{ - /// - /// MainWindow1.xaml 的交互逻辑 - /// - public partial class MXMainWindow : HandyControl.Controls.Window - { - public static MainViewModel viewModel = MainWindow.viewModel; - public MXMainWindow() - { - if (!viewModel.InitAgo()) - { - this.Close(); - System.Environment.Exit(0); - } - InitializeComponent(); - this.DataContext = viewModel; - } - - private void load(object sender, RoutedEventArgs e) - { - viewModel.Init(this); - } - - private void tabControl_PreviewKeyDown(object sender, KeyEventArgs e) - { - //取消tabControl快捷键切换 - if (e.Key == Key.LeftCtrl || e.Key == Key.LeftCtrl || e.Key == Key.Tab) - e.Handled = true; - } - - private void Window_Closed(object sender, EventArgs e) - { - System.Environment.Exit(0); - } - } -} diff --git a/货架标准上位机/Views/MXWindows/MXOutInventoryView.xaml b/货架标准上位机/Views/MXWindows/MXOutInventoryView.xaml deleted file mode 100644 index 33f4d5e..0000000 --- a/货架标准上位机/Views/MXWindows/MXOutInventoryView.xaml +++ /dev/null @@ -1,206 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/货架标准上位机/Views/MXWindows/MXOutInventoryView.xaml.cs b/货架标准上位机/Views/MXWindows/MXOutInventoryView.xaml.cs deleted file mode 100644 index 4f791b3..0000000 --- a/货架标准上位机/Views/MXWindows/MXOutInventoryView.xaml.cs +++ /dev/null @@ -1,69 +0,0 @@ -using Ping9719.WpfEx; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows; -using System.Windows.Controls; -using System.Windows.Data; -using System.Windows.Documents; -using System.Windows.Input; -using System.Windows.Media; -using System.Windows.Media.Imaging; -using System.Windows.Shapes; -using System.Text.RegularExpressions; -using 智慧物流软件系统.ViewModel; - -namespace 智慧物流软件系统 -{ - public partial class MXOutInventoryView : UserControlBase - { - public static MXOutInventoryViewModel viewModel = new MXOutInventoryViewModel(); - public MXOutInventoryView() - { - InitializeComponent(); - this.DataContext = viewModel; - } - - private void DataGrid_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e) - { - try - { - var viewModel = this.DataContext as InInventoryViewModel; - DataGrid datagrid = sender as DataGrid; - var index = datagrid.SelectedIndex; - if (index >= 0) - { - - } - datagrid.UnselectAllCells(); - } - catch - { - - } - } - - private void ListView_PreviewMouseWheel(object sender, MouseWheelEventArgs e) - { - if (!e.Handled) - { - // ListView拦截鼠标滚轮事件 - e.Handled = true; - - // 激发一个鼠标滚轮事件,冒泡给外层ListView接收到 - var eventArg = new MouseWheelEventArgs(e.MouseDevice, e.Timestamp, e.Delta); - eventArg.RoutedEvent = UIElement.MouseWheelEvent; - eventArg.Source = sender; - var parent = ((Control)sender).Parent as UIElement; - parent.RaiseEvent(eventArg); - } - } - - private void TextBlock_MouseDown(object sender, MouseButtonEventArgs e) - { - viewModel.RefreshOutOrderList(viewModel.SelectedOutOrderNumber); - } - } -} diff --git a/货架标准上位机/Views/MXWindows/MXOutOrderDetailView.xaml b/货架标准上位机/Views/MXWindows/MXOutOrderDetailView.xaml deleted file mode 100644 index 043113d..0000000 --- a/货架标准上位机/Views/MXWindows/MXOutOrderDetailView.xaml +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - A - B - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/货架标准上位机/Views/MXWindows/MXPDView.xaml.cs b/货架标准上位机/Views/MXWindows/MXPDView.xaml.cs deleted file mode 100644 index aafcee4..0000000 --- a/货架标准上位机/Views/MXWindows/MXPDView.xaml.cs +++ /dev/null @@ -1,59 +0,0 @@ -using Ping9719.WpfEx; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows; -using System.Windows.Controls; -using System.Windows.Data; -using System.Windows.Documents; -using System.Windows.Input; -using System.Windows.Media; -using System.Windows.Media.Imaging; -using System.Windows.Shapes; -using System.Text.RegularExpressions; -using 智慧物流软件系统.ViewModel; - -namespace 智慧物流软件系统 -{ - public partial class MXPDView : UserControlBase - { - public static MXPDViewModel viewModel { get; set; } = new MXPDViewModel(); - public MXPDView() - { - InitializeComponent(); - this.DataContext = viewModel; - } - - private void DataGrid_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e) - { - try - { - DataGrid datagrid = sender as DataGrid; - datagrid.UnselectAllCells(); - } - catch - { - } - } - - private void TextBlock_MouseDown(object sender, MouseButtonEventArgs e) - { - viewModel.RefreshOutOrderList(viewModel.SelectedOutOrderNumber); - } - private void ListView_PreviewMouseWheel(object sender, MouseWheelEventArgs e) - { - if (!e.Handled) - { - e.Handled = true; - // 激发一个鼠标滚轮事件,冒泡给外层ListView接收到 - var eventArg = new MouseWheelEventArgs(e.MouseDevice, e.Timestamp, e.Delta); - eventArg.RoutedEvent = UIElement.MouseWheelEvent; - eventArg.Source = sender; - var parent = ((Control)sender).Parent as UIElement; - parent.RaiseEvent(eventArg); - } - } - } -} diff --git a/货架标准上位机/Views/MainWindows/MainWindow1.xaml b/货架标准上位机/Views/MainWindows/MainWindow1.xaml index d1125fe..df133b9 100644 --- a/货架标准上位机/Views/MainWindows/MainWindow1.xaml +++ b/货架标准上位机/Views/MainWindows/MainWindow1.xaml @@ -184,23 +184,9 @@ FontSize="16">货架管理 - - - - - - - - - - - - - - - - - + + + diff --git a/货架标准上位机/Views/MainWindows/MainWindow2.xaml b/货架标准上位机/Views/MainWindows/MainWindow2.xaml index f31b40f..eb6c747 100644 --- a/货架标准上位机/Views/MainWindows/MainWindow2.xaml +++ b/货架标准上位机/Views/MainWindows/MainWindow2.xaml @@ -294,24 +294,12 @@ - - - + - + - - - - - - - - - - - diff --git a/货架标准上位机/Views/ModuleInfoView.xaml b/货架标准上位机/Views/ModuleInfoView.xaml deleted file mode 100644 index 48d1910..0000000 --- a/货架标准上位机/Views/ModuleInfoView.xaml +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -