软件增加功能:标定时记录上一次的历史电压
This commit is contained in:
141
WCS.BLL/DbModels/StoreInfoHistoryVoltage.cs
Normal file
141
WCS.BLL/DbModels/StoreInfoHistoryVoltage.cs
Normal file
@ -0,0 +1,141 @@
|
||||
using SqlSugar;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace WCS.DAL.DbModels
|
||||
{
|
||||
[SugarTable("wcs_store_info_history_voltage")]
|
||||
public partial class StoreInfoHistoryVoltage
|
||||
{
|
||||
/// <summary>
|
||||
/// Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsNullable = false, IsIdentity = true)]
|
||||
public int Id { get; set; }
|
||||
|
||||
[SugarColumn(ColumnName = "store_id")]
|
||||
public int StoreId { get; set; }
|
||||
/// <summary>
|
||||
/// 入库的库位编码
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "store_code", Length = 50, IsNullable = false, ColumnDescription = "库位编码")]
|
||||
public string StoreCode { get; set; }
|
||||
/// <summary>
|
||||
/// 货架类型Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "shelf_type_id", IsNullable = false, DefaultValue = "0", ColumnDescription = "货架类型Id")]
|
||||
public int ShelfTypeId { get; set; }
|
||||
/// <summary>
|
||||
/// 模组Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "module_id", IsNullable = false, ColumnDescription = "模组Id")]
|
||||
public int ModuleId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 模组编号
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "module_code", Length = 50, IsNullable = false, ColumnDescription = "模组编码")]
|
||||
public string ModuleCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货架Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "shelf_id", IsNullable = false, ColumnDescription = "货架Id")]
|
||||
public int ShelfId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货架号
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "shelf_code", Length = 50, IsNullable = false, ColumnDescription = "货架编码;货架一般按照报警灯来区分 一个报警灯指示的是一个货架")]
|
||||
public string ShelfCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 板子的Id
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "board_id", IsNullable = false, ColumnDescription = "模组pcb板id")]
|
||||
public int BoardId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 板子上第几个灯
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "light_number", IsNullable = true, ColumnDescription = "板子上第几个灯")]
|
||||
public int LightNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 优先级;为钢网柜推荐库位预留
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "priority", IsNullable = true, ColumnDescription = "板子上第几个灯")]
|
||||
public int Priority { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 记录一下查询时的历史是否有物料
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "current_mat_sn", Length = 200, IsNullable = true, ColumnDescription = "当前物料")]
|
||||
public string CurrentMatSn { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 当前电压;当前电压,调试排查问题用
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "current_voltage", IsNullable = true, ColumnDescription = "当前电压值")]
|
||||
public decimal CurrentVoltage { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 标准电压;标准电压,调试排查问题用
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "standard_voltage", IsNullable = true, ColumnDescription = "标准电压值")]
|
||||
public decimal StandardVoltage { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 偏差电压;偏差电压,调试排查问题用
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "offset_voltage", IsNullable = true, ColumnDescription = "电压偏移值")]
|
||||
public decimal OffsetVoltage { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 串联绑定后的大货架编码
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "Bind_shelf_code", IsNullable = true, ColumnDescription = "串联绑定后的大货架编码")]
|
||||
public string? BigShelfCode { get; set; } = string.Empty;
|
||||
/// <summary>
|
||||
/// Row 行
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "R", Length = 10, IsNullable = true, ColumnDescription = "库位 行")]
|
||||
public string R { get; set; }
|
||||
/// <summary>
|
||||
/// Column 列
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "C", Length = 10, IsNullable = true, ColumnDescription = "库位 列")]
|
||||
public string C { get; set; }
|
||||
/// <summary>
|
||||
/// Column 位
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "Wei", Length = 10, IsNullable = true, ColumnDescription = "库位 位 第几个库位灯")]
|
||||
public string Wei { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货架的组别、区域(区分单个软件管哪些货架的,前端的配置文件配置一个组别,查询时只显示当前组别的货架)
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "group_name", Length = 50, IsNullable = false, DefaultValue = "0", ColumnDescription = "货架的组别、区域(区分单个软件管哪些货架的,前端的配置文件配置一个组别,查询时只显示当前组别的货架)")]
|
||||
public string GroupName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "create_time", IsNullable = false, ColumnDescription = "创建时间")]
|
||||
public DateTime CreateTime { get; set; } = DateTime.Now;
|
||||
|
||||
/// <summary>
|
||||
/// 序号
|
||||
/// </summary>
|
||||
[SugarColumn(IsIgnore = true)]
|
||||
public int RowNumber { get; set; }
|
||||
/// <summary>
|
||||
/// 是否已经选择
|
||||
/// </summary>
|
||||
[SugarColumn(IsIgnore = true)]
|
||||
public bool IsSelected { get; set; }
|
||||
}
|
||||
}
|
@ -70,7 +70,7 @@ 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(ModuleInfo), typeof(ShelfInfo), typeof(StoreInfo),typeof(StoreInfoHistoryVoltage)
|
||||
, typeof(InventoryDetail), typeof(OutOrder), typeof(OutOrderDetail), typeof(OutOrderMatDetail)
|
||||
, typeof(ShelfTypeInfo), typeof(MatBaseInfo), typeof(MatInfo)
|
||||
, typeof(StockTakingOrder), typeof(StockTakingOrderMatDetail), typeof(InOutRecord)
|
||||
|
@ -52,6 +52,13 @@ namespace WCS.BLL.Services.IService
|
||||
/// <returns></returns>
|
||||
public Task<ResponseCommon> queryModuleVoltage(QueryModuleVoltageRequest request);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 查询库位历史电压值-非硬件查询 仅查询软件记录的历史电压
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
public Task<ResponseCommon> queryStoreInfoHistoryVoltage(QueryStoreInfoHistoryVoltageRequest request);
|
||||
/// <summary>
|
||||
/// 标定+设置偏移量
|
||||
/// </summary>
|
||||
|
@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
@ -491,6 +492,39 @@ namespace WCS.BLL.Services.Service
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 发送指令获取模组的电压值
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="NotImplementedException"></exception>
|
||||
public async Task<ResponseCommon> queryStoreInfoHistoryVoltage(QueryStoreInfoHistoryVoltageRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
//获取数据
|
||||
var list = await DbHelp.db.Queryable<StoreInfoHistoryVoltage>()
|
||||
.Where(t => request.StoreIds.Contains(t.StoreId))
|
||||
.OrderByDescending(t => t.Id)
|
||||
.ToListAsync();
|
||||
return new ResponseCommon()
|
||||
{
|
||||
Code = 200,
|
||||
Message = "Success",
|
||||
Data = list
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new ResponseCommon()
|
||||
{
|
||||
Code = 300,
|
||||
Message = "操作失败:" + ex.Message
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<ResponseCommon> calibrationSetOffset(CalibrationSetOffsetRequest request)
|
||||
{
|
||||
try
|
||||
@ -503,22 +537,67 @@ namespace WCS.BLL.Services.Service
|
||||
if (shelf != null && shelf is SmartShelf)
|
||||
{
|
||||
var smartShelf = (SmartShelf)shelf;
|
||||
#region 记录当前模组所有库位的上一次的电压
|
||||
//2024/11/11 程心怡说刘一科长喊加的
|
||||
//需求来源:微信
|
||||
//软件加光衰标定值,观察光衰数据
|
||||
//相当于就是你那边软件要记录一下上一次标定的值
|
||||
//相当于,到时候我们这边板子上完了,我会手动用你的软件标定一次,你那边就记录数据。
|
||||
var time = DateTime.Now;
|
||||
var historyList = new List<StoreInfoHistoryVoltage>();
|
||||
var storeInfos = DbHelp.db.Queryable<StoreInfo>()
|
||||
.Where(t => t.ModuleId == module.Id)
|
||||
.Where(t => t.BoardId == module.BoardId)
|
||||
.OrderBy(t => t.LightNumber)
|
||||
.ToList();
|
||||
storeInfos.ForEach(t =>
|
||||
{
|
||||
historyList.Add(new StoreInfoHistoryVoltage()
|
||||
{
|
||||
StoreId = t.Id,
|
||||
StoreCode = t.StoreCode,
|
||||
ShelfTypeId = t.ShelfTypeId,
|
||||
ModuleId = module.Id,
|
||||
ModuleCode = t.ModuleCode,
|
||||
ShelfId = t.ShelfId,
|
||||
ShelfCode = t.ShelfCode,
|
||||
BoardId = t.BoardId,
|
||||
LightNumber = t.LightNumber,
|
||||
Priority = t.Priority,
|
||||
CurrentMatSn = t.CurrentMatSn,
|
||||
CurrentVoltage = t.CurrentVoltage,
|
||||
StandardVoltage = t.StandardVoltage,
|
||||
OffsetVoltage = t.OffsetVoltage,
|
||||
BigShelfCode = t.BigShelfCode,
|
||||
R = t.R,
|
||||
C = t.C,
|
||||
Wei = t.Wei,
|
||||
GroupName = t.GroupName,
|
||||
CreateTime = time,
|
||||
});
|
||||
});
|
||||
DbHelp.db.Insertable(historyList).ExecuteCommand();
|
||||
#endregion
|
||||
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)
|
||||
{
|
||||
@ -602,7 +681,7 @@ namespace WCS.BLL.Services.Service
|
||||
var DingDing = string.Empty;
|
||||
MXBackgroundThread.SendDingDingMsg($"【智能货架】库位{storeInfo.StoreCode}被屏蔽(库位管理),请及时调查或维保硬件!", new List<string> { "104379", "103595" }, ref DingDing);
|
||||
Logs.Write($"【智能货架】库位{storeInfo.StoreCode}被屏蔽(库位管理),请及时调查或维保硬件!");
|
||||
|
||||
|
||||
#region 计算库位禁用率并发送
|
||||
Task.Run(() =>
|
||||
{
|
||||
@ -769,7 +848,7 @@ namespace WCS.BLL.Services.Service
|
||||
{
|
||||
Code = 200,
|
||||
Message = $"Success",
|
||||
Data = message ,
|
||||
Data = message,
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
@ -783,6 +862,7 @@ namespace WCS.BLL.Services.Service
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user