schangxiang@126.com
2024-06-11 2954a2dd4529679ff30c1fd08870895c29d507f2
OP30工序质量信息添加各工位质量显示
已修改8个文件
242 ■■■■ 文件已修改
iWara.SCADA.Code/iWare.Wms.Application/Service/EquipmentBaseInfo/Dto/EquipmentBaseInfoInput.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWara.SCADA.Code/iWare.Wms.Application/Service/EquipmentBaseInfo/Dto/EquipmentBaseInfoOutput.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWara.SCADA.Code/iWare.Wms.Application/Service/EquipmentBaseInfo/EquipmentBaseInfoService.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWara.SCADA.Code/iWare.Wms.Application/Service/QualityDataInfo/Dto/QualityDataInfoOutput.cs 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWara.SCADA.Code/iWare.Wms.Application/Service/QualityDataInfo/QualityDataInfoService.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWara.SCADA.Code/iWare.Wms.Application/iWare.Wms.Application.xml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/Equipmentbaseinfo.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWara.SCADA.Code/iWare.Wms.EntityFramework.Core/iWare.Wms.EntityFramework.Core.csproj 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWara.SCADA.Code/iWare.Wms.Application/Service/EquipmentBaseInfo/Dto/EquipmentBaseInfoInput.cs
@@ -185,7 +185,20 @@
        /// 清洗液更换时间
        /// </summary>
        public virtual DateTime? Detergentchangetime { get; set; }
        /// <summary>
        /// 清洗液添加时间 【Editby shaocx,2024-06-11】
        /// </summary>
        [Comment("清洗液添加时间")]
        public DateTime? DetergentAddtime { get; set; }
        /// <summary>
        /// 切削液添加时间 【Editby shaocx,2024-06-11】
        /// </summary>
        [Comment("切削液添加时间")]
        public DateTime? CuttingFluidAddTime { get; set; }
        /// <summary>
        /// 清洗液更换预警阈值
        /// </summary>
iWara.SCADA.Code/iWare.Wms.Application/Service/EquipmentBaseInfo/Dto/EquipmentBaseInfoOutput.cs
@@ -55,7 +55,20 @@
        /// 清洗液更换时间
        /// </summary>
        public DateTime? Detergentchangetime { get; set; }
        /// <summary>
        /// 清洗液添加时间 【Editby shaocx,2024-06-11】
        /// </summary>
        [Comment("清洗液添加时间")]
        public DateTime? DetergentAddtime { get; set; }
        /// <summary>
        /// 切削液添加时间 【Editby shaocx,2024-06-11】
        /// </summary>
        [Comment("切削液添加时间")]
        public DateTime? CuttingFluidAddTime { get; set; }
        /// <summary>
        /// 清洗液更换预警阈值
        /// </summary>
iWara.SCADA.Code/iWare.Wms.Application/Service/EquipmentBaseInfo/EquipmentBaseInfoService.cs
@@ -110,6 +110,8 @@
                                         Remarks = s.Remarks,
                                         CreatedTime = s.CreatedTime,
                                         TactTime = s.TactTime,
                                         DetergentAddtime = s.DetergentAddtime,
                                         CuttingFluidAddTime = s.CuttingFluidAddTime,
                                     })
                                     .Distinct()
                                     .OrderBy(PageInputOrder.OrderBuilder<EquipmentBaseInfoSearch>(input))
@@ -295,6 +297,32 @@
                };
                await _equipmentbaseinfologRep.InsertAsync(log);
            }
            if (isExistObj.DetergentAddtime?.ToString("yyyy-MM-dd") != equipmentBaseInfo.DetergentAddtime?.ToString("yyyy-MM-dd"))
            {
                //新增维护日志
                var log = new Equipmentbaseinfolog()
                {
                    EquipmentBaseInfoId = equipmentBaseInfo.Id,
                    EquipmentID = equipmentBaseInfo.EquipmentId,
                    OperatorType = EquipmentbaseinfoOperatorTypeEnum.清洗液添加,
                    OperatorTypeName = (EquipmentbaseinfoOperatorTypeEnum.清洗液添加).ToString(),
                    OperatorContent = "清洗液添加时间:" + equipmentBaseInfo.DetergentAddtime?.ToString("yyyy-MM-dd"),
                };
                await _equipmentbaseinfologRep.InsertAsync(log);
            }
            if (isExistObj.CuttingFluidAddTime?.ToString("yyyy-MM-dd") != equipmentBaseInfo.CuttingFluidAddTime?.ToString("yyyy-MM-dd"))
            {
                //新增维护日志
                var log = new Equipmentbaseinfolog()
                {
                    EquipmentBaseInfoId = equipmentBaseInfo.Id,
                    EquipmentID = equipmentBaseInfo.EquipmentId,
                    OperatorType = EquipmentbaseinfoOperatorTypeEnum.切削液添加,
                    OperatorTypeName = (EquipmentbaseinfoOperatorTypeEnum.切削液添加).ToString(),
                    OperatorContent = "切削液添加时间:" + equipmentBaseInfo.CuttingFluidAddTime?.ToString("yyyy-MM-dd"),
                };
                await _equipmentbaseinfologRep.InsertAsync(log);
            }
        }
iWara.SCADA.Code/iWare.Wms.Application/Service/QualityDataInfo/Dto/QualityDataInfoOutput.cs
@@ -43,7 +43,7 @@
        /// 工件号
        /// </summary>
        public string WorkPieceID { get; set; }
        /// <summary>
        /// 设备
        /// </summary>
@@ -53,12 +53,12 @@
        /// 设备名称
        /// </summary>
        public string EquipmentName { get; set; }
        /// <summary>
        /// 工序
        /// </summary>
        public string WorkingProcedure { get; set; }
        /// <summary>
        /// 质量状态
        /// </summary>
@@ -122,27 +122,27 @@
        {
            get
            {
                if(string.IsNullOrEmpty(EquipmentID))
                if (string.IsNullOrEmpty(EquipmentID))
                {
                    return string.Empty;
                }
                string  qs = "";
                if(EquipmentID.Equals("EOP10"))
                string qs = "";
                if (EquipmentID.Equals("EOP10"))
                {
                    if (string.IsNullOrEmpty(WorkingProcedure))
                    {
                        return (string.IsNullOrEmpty(OP10QualityState)|| string.IsNullOrEmpty(OP40QualityState))?(GetQualityStateName(OP10QualityState)+ GetQualityStateName(OP40QualityState)): ((GetQualityStateName(OP10QualityState) +"|"+ GetQualityStateName(OP40QualityState)));
                        return (string.IsNullOrEmpty(OP10QualityState) || string.IsNullOrEmpty(OP40QualityState)) ? (GetQualityStateName(OP10QualityState) + GetQualityStateName(OP40QualityState)) : ((GetQualityStateName(OP10QualityState) + "|" + GetQualityStateName(OP40QualityState)));
                    }
                    if (WorkingProcedure.Equals("OP10"))
                    {
                        qs=OP10QualityState;
                        qs = OP10QualityState;
                    }
                    else
                    {
                        qs = OP40QualityState;
                    }
                }
                else if(EquipmentID.Equals("EOP20"))
                else if (EquipmentID.Equals("EOP20"))
                {
                    qs = OP20QualityState;
                }
@@ -171,7 +171,7 @@
        /// 操作方式
        /// </summary>
        public string QualityStateUpdateMode { get; set; }
        /// <summary>
        /// 操作人
        /// </summary>
@@ -196,7 +196,7 @@
                {
                    if (string.IsNullOrEmpty(WorkingProcedure))
                    {
                        return OP10QualityReceiveTime.ToString()+ ((OP10QualityReceiveTime.HasValue&& OP40QualityReceiveTime.HasValue)?"|":"")+ OP40QualityReceiveTime.ToString();
                        return OP10QualityReceiveTime.ToString() + ((OP10QualityReceiveTime.HasValue && OP40QualityReceiveTime.HasValue) ? "|" : "") + OP40QualityReceiveTime.ToString();
                    }
                    if (WorkingProcedure.Equals("OP10"))
                    {
@@ -231,7 +231,7 @@
            }
        }
        private DateTime? m_EndTime=null;
        private DateTime? m_EndTime = null;
        /// <summary>
        /// 下线时间
        /// </summary>
@@ -239,7 +239,7 @@
        {
            get
            {
                if (m_EndTime.HasValue&& m_EndTime.Value.Date==DateTime.Parse("0001-01-01"))
                if (m_EndTime.HasValue && m_EndTime.Value.Date == DateTime.Parse("0001-01-01"))
                {
                    return null;
                }
@@ -250,7 +250,7 @@
            }
            set { m_EndTime = value; }
        }
        /// <summary>
        /// 连杆厚度;OP10/OP40
        /// </summary>
@@ -261,7 +261,7 @@
        /// 小头孔直径;OP20/OP60/OP80
        /// </summary>
        public string QualityOP20To1 { get; set; }
        /// <summary>
        /// 涨断力矩;OP30
        /// </summary>
@@ -309,87 +309,87 @@
        /// 衬套压装力矩;OP30
        /// </summary>
        public string QualityOP30To6 { get; set; }
        /// <summary>
        /// 衬套压装位移;OP30
        /// </summary>
        public string QualityOP30To7 { get; set; }
        /// <summary>
        /// 压装力矩;OP35
        /// </summary>
        public string QualityOP35To1 { get; set; }
        /// <summary>
        /// Y轴位移;OP35
        /// </summary>
        public string QualityOP35To2 { get; set; }
        /// <summary>
        /// 大头孔直径;OP60/OP80
        /// </summary>
        public string QualityOP60To1 { get; set; }
        /// <summary>
        /// 校验码结果;OP60
        /// </summary>
        public string QualityOP60To2 { get; set; }
        /// <summary>
        /// 清洗温度;OP70
        /// </summary>
        public string QualityOP70To1 { get; set; }
        /// <summary>
        /// 清洗压力;OP70
        /// </summary>
        public string QualityOP70To2 { get; set; }
        /// <summary>
        /// 出口处工件温度;OP70
        /// </summary>
        public string QualityOP70To3 { get; set; }
        /// <summary>
        /// 大头重量;OP80
        /// </summary>
        public string QualityOP80To1 { get; set; }
        /// <summary>
        /// 小头重量;OP80
        /// </summary>
        public string QualityOP80To2 { get; set; }
        /// <summary>
        /// 总重;OP80
        /// </summary>
        public string QualityOP80To3 { get; set; }
        /// <summary>
        /// 弯曲;OP80
        /// </summary>
        public string QualityOP80To4 { get; set; }
        /// <summary>
        /// 扭度;OP80
        /// </summary>
        public string QualityOP80To5 { get; set; }
        /// <summary>
        /// 大头垂直度;OP80
        /// </summary>
        public string QualityOP80To6 { get; set; }
        /// <summary>
        /// 大头孔分组级别;OP80
        /// </summary>
        public string QualityOP80To7 { get; set; }
        /// <summary>
        /// 小头孔分组级别;OP80
        /// </summary>
        public string QualityOP80To8 { get; set; }
        /// <summary>
        /// 重量组别;OP80
        /// </summary>
@@ -433,6 +433,40 @@
        public string OP30QualityStateCH6 { get; set; }
        public string OP30QualityStateCH3Name
        {
            get
            {
                if (string.IsNullOrEmpty(OP30QualityStateCH3)) return string.Empty;
                return GetQualityStateName(OP30QualityStateCH3.ToString());
            }
        }
        public string OP30QualityStateCH4Name
        {
            get
            {
                if (string.IsNullOrEmpty(OP30QualityStateCH4)) return string.Empty;
                return GetQualityStateName(OP30QualityStateCH4.ToString());
            }
        }
        public string OP30QualityStateCH5Name
        {
            get
            {
                if (string.IsNullOrEmpty(OP30QualityStateCH5)) return string.Empty;
                return GetQualityStateName(OP30QualityStateCH5.ToString());
            }
        }
        public string OP30QualityStateCH6Name
        {
            get
            {
                if (string.IsNullOrEmpty(OP30QualityStateCH6)) return string.Empty;
                return GetQualityStateName(OP30QualityStateCH6.ToString());
            }
        }
        public string OP30QualityState { get; set; }
        public string OP35QualityState { get; set; }
@@ -446,7 +480,7 @@
        /// 备注
        /// </summary>
        public string Remarks { get; set; }
        /// <summary>
        /// Id主键
        /// </summary>
@@ -455,7 +489,7 @@
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTimeOffset ?CreatedTime { get; set; }
        public DateTimeOffset? CreatedTime { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
@@ -500,7 +534,7 @@
        /// 质量状态名称
        /// </summary>
        [Description("质量状态")]
        public string QualityStateName{ get; set; }
        public string QualityStateName { get; set; }
        /// <summary>
        /// 操作方式
iWara.SCADA.Code/iWare.Wms.Application/Service/QualityDataInfo/QualityDataInfoService.cs
@@ -26,7 +26,7 @@
    [Route("api/[Controller]")]
    public class QualityDataInfoService : IQualityDataInfoService, IDynamicApiController, ITransient
    {
        private readonly IRepository<QualityDataInfo,MasterDbContextLocator> _qualityDataInfoRep;
        private readonly IRepository<QualityDataInfo, MasterDbContextLocator> _qualityDataInfoRep;
        private readonly IRepository<EquipmentBaseInfo, MasterDbContextLocator> _equipmentBaseInfoRep;
        private readonly IRepository<SysDictType, MasterDbContextLocator> _sysDictTypeRep;
        private readonly IRepository<SysDictData, MasterDbContextLocator> _sysDictDataRep;
@@ -40,7 +40,7 @@
        /// <param name="sysDictTypeRep"></param>
        /// <param name="sysDictDataRep"></param>
        public QualityDataInfoService(
            IRepository<QualityDataInfo,MasterDbContextLocator> qualityDataInfoRep,
            IRepository<QualityDataInfo, MasterDbContextLocator> qualityDataInfoRep,
            IRepository<EquipmentBaseInfo, MasterDbContextLocator> equipmentBaseInfoRep,
            IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep,
            IRepository<SysDictData, MasterDbContextLocator> sysDictDataRep,
@@ -62,9 +62,9 @@
        public async Task<AddQualityDataInfoInputV2> GetQualityInfoSPCForID([FromQuery] QualityDataInfoSearch2 input)
        {
            var interfaceLog = _accessInterfaceLogRep.DetachedEntities.Where(o => o.Id == input.QualityDataInfoID).FirstOrDefault();
            if(interfaceLog==null|| interfaceLog.Id<1)
            if (interfaceLog == null || interfaceLog.Id < 1)
            {//没有查询到
                throw Oops.Oh($"当前工件{input.WorkPieceID??""}没有SPC反馈信息!");
                throw Oops.Oh($"当前工件{input.WorkPieceID ?? ""}没有SPC反馈信息!");
            }
            var output = JsonConvert.DeserializeObject<AddQualityDataInfoInputV2>(interfaceLog.ParaJSON);
            return output;
@@ -76,9 +76,9 @@
        /// <returns></returns>
        [HttpGet("GetQualityInfoForID")]
        public async Task<QualityDataInfoOutput> GetQualityInfoForID([FromQuery] QualityDataInfoSearch2 input)
        {
        {
            QualityDataInfoOutput qualityDataInfo = new QualityDataInfoOutput();
            if(input==null|| string.IsNullOrEmpty(input.OperationType))
            if (input == null || string.IsNullOrEmpty(input.OperationType))
            {
                throw Oops.Oh("传参异常!");
            }
@@ -143,7 +143,7 @@
               .ProjectToType<QualityDataInfoOutput>()
               .FirstOrDefaultAsync();
            }
            return qualityDataInfo;
        }
@@ -155,7 +155,7 @@
        [HttpGet("page")]
        public async Task<PageResult<QualityDataInfoOutput>> Page([FromQuery] QualityDataInfoSearch input)
        {
            if(!input.StartTime.HasValue|| !input.EndTime.HasValue||input.StartTime>input.EndTime)
            if (!input.StartTime.HasValue || !input.EndTime.HasValue || input.StartTime > input.EndTime)
            {
                throw Oops.Oh("传参异常:日期范围必须传值!");
            }
@@ -170,11 +170,11 @@
            //}
            var qualityDataInfos = await _qualityDataInfoRep.DetachedEntities
                .Join(_equipmentBaseInfoRep.DetachedEntities, a => a.EquipmentID, b => b.EquipmentId, (a, b) => new { a, b })
                //.Where(o => o.a.CreatedTime.Value.Date >= input.StartTime.Value)
                //.Where(o => o.a.UpdatedTime.Value.Date <= input.EndTime.Value)
               //.Where(o => o.a.CreatedTime.Value.Date >= input.StartTime.Value)
               //.Where(o => o.a.UpdatedTime.Value.Date <= input.EndTime.Value)
               .Where(!string.IsNullOrEmpty(input.WorkPieceID), w => w.a.WorkPieceID.Contains(input.WorkPieceID))
               .Where(input.EquipmentID.Equals("EOP10") && string.IsNullOrEmpty(input.WorkingProcedure), o => (o.a.OP10QualityReceiveTime.Value.Date >= input.StartTime.Value
               && o.a.OP10QualityReceiveTime.Value.Date <= input.EndTime.Value&&o.a.OP10QualityState==(input.QualityState.HasValue?input.QualityState.ToString():o.a.OP10QualityState)) || (o.a.OP40QualityReceiveTime.Value.Date >= input.StartTime.Value && o.a.OP40QualityReceiveTime.Value.Date <= input.EndTime.Value && o.a.OP40QualityState == (input.QualityState.HasValue ? input.QualityState.ToString() : o.a.OP40QualityState)))
               .Where(input.EquipmentID.Equals("EOP10") && string.IsNullOrEmpty(input.WorkingProcedure), o => (o.a.OP10QualityReceiveTime.Value.Date >= input.StartTime.Value
               && o.a.OP10QualityReceiveTime.Value.Date <= input.EndTime.Value && o.a.OP10QualityState == (input.QualityState.HasValue ? input.QualityState.ToString() : o.a.OP10QualityState)) || (o.a.OP40QualityReceiveTime.Value.Date >= input.StartTime.Value && o.a.OP40QualityReceiveTime.Value.Date <= input.EndTime.Value && o.a.OP40QualityState == (input.QualityState.HasValue ? input.QualityState.ToString() : o.a.OP40QualityState)))
               .Where(input.EquipmentID.Equals("EOP10") && !string.IsNullOrEmpty(input.WorkingProcedure) && input.WorkingProcedure.Equals("OP10"), o => (o.a.OP10QualityReceiveTime.Value.Date >= input.StartTime.Value && o.a.OP10QualityReceiveTime.Value.Date <= input.EndTime.Value && o.a.OP10QualityState == (input.QualityState.HasValue ? input.QualityState.ToString() : o.a.OP10QualityState)))
               .Where(input.EquipmentID.Equals("EOP10") && !string.IsNullOrEmpty(input.WorkingProcedure) && input.WorkingProcedure.Equals("OP40"), o => (o.a.OP40QualityReceiveTime.Value.Date >= input.StartTime.Value && o.a.OP40QualityReceiveTime.Value.Date <= input.EndTime.Value && o.a.OP40QualityState == (input.QualityState.HasValue ? input.QualityState.ToString() : o.a.OP40QualityState)))
               .Where(input.EquipmentID.Equals("EOP20"), o => o.a.OP20QualityReceiveTime.Value.Date >= input.StartTime.Value && o.a.OP20QualityReceiveTime.Value.Date <= input.EndTime.Value && o.a.OP20QualityState == (input.QualityState.HasValue ? input.QualityState.ToString() : o.a.OP20QualityState))
@@ -231,7 +231,7 @@
                   OP20QualityReceiveTime = m.a.OP20QualityReceiveTime,
                   OP30QualityReceiveTime = m.a.OP30QualityReceiveTime,
                   OP35QualityReceiveTime = m.a.OP35QualityReceiveTime,
                   OP40QualityReceiveTime=  m.a.OP40QualityReceiveTime,
                   OP40QualityReceiveTime = m.a.OP40QualityReceiveTime,
                   OP60QualityReceiveTime = m.a.OP60QualityReceiveTime,
                   OP80QualityReceiveTime = m.a.OP80QualityReceiveTime,
                   OP10QualityState = m.a.OP10QualityState,
@@ -241,6 +241,12 @@
                   OP35QualityState = m.a.OP35QualityState,
                   OP60QualityState = m.a.OP60QualityState,
                   OP80QualityState = m.a.OP80QualityState,
                   OP30QualityStateCH3 = m.a.OP30QualityStateCH3,
                   OP30QualityStateCH4 = m.a.OP30QualityStateCH4,
                   OP30QualityStateCH5 = m.a.OP30QualityStateCH5,
                   OP30QualityStateCH6 = m.a.OP30QualityStateCH6,
                   Remarks = m.a.Remarks,
                   UpdateTime = m.a.UpdatedTime,
               })
@@ -250,8 +256,8 @@
            return qualityDataInfos;
        }
        /// <summary>
        /// 根据质量数据导出Excel
        /// </summary>
@@ -283,7 +289,7 @@
               .Where(input.EquipmentID.Equals("EOP35"), o => o.a.OP35QualityReceiveTime.Value.Date >= input.StartTime.Value && o.a.OP35QualityReceiveTime.Value.Date <= input.EndTime.Value && o.a.OP35QualityState == (input.QualityState.HasValue ? input.QualityState.ToString() : o.a.OP35QualityState))
               .Where(input.EquipmentID.Equals("EOP60"), o => o.a.OP60QualityReceiveTime.Value.Date >= input.StartTime.Value && o.a.OP60QualityReceiveTime.Value.Date <= input.EndTime.Value && o.a.OP60QualityState == (input.QualityState.HasValue ? input.QualityState.ToString() : o.a.OP60QualityState))
               .Where(input.EquipmentID.Equals("EOP80"), o => o.a.OP80QualityReceiveTime.Value.Date >= input.StartTime.Value && o.a.OP80QualityReceiveTime.Value.Date <= input.EndTime.Value && o.a.OP80QualityState == (input.QualityState.HasValue ? input.QualityState.ToString() : o.a.OP80QualityState))
               .Where(o=>!string.IsNullOrEmpty(o.a.WorkPieceID))
               .Where(o => !string.IsNullOrEmpty(o.a.WorkPieceID))
               .Select(m => new QualityDataInfoOutput
               {
                   Id = m.a.Id,
@@ -407,6 +413,6 @@
            var fileName = HttpUtility.UrlEncode($"{sheetName}[{DateTimeOffset.Now:yyyy-MM-dd}].xlsx", Encoding.GetEncoding("UTF-8"));
            return new FileStreamResult(ms, "application/octet-stream") { FileDownloadName = fileName };
        }
    }
}
iWara.SCADA.Code/iWare.Wms.Application/iWare.Wms.Application.xml
@@ -1375,6 +1375,16 @@
            清洗液更换时间
            </summary>
        </member>
        <member name="P:iWare.Wms.Application.EquipmentBaseInfoInput.DetergentAddtime">
            <summary>
            清洗液添加时间 【Editby shaocx,2024-06-11】
            </summary>
        </member>
        <member name="P:iWare.Wms.Application.EquipmentBaseInfoInput.CuttingFluidAddTime">
            <summary>
            切削液添加时间 【Editby shaocx,2024-06-11】
            </summary>
        </member>
        <member name="P:iWare.Wms.Application.EquipmentBaseInfoInput.DetergentChangeAlertThreshold">
            <summary>
            清洗液更换预警阈值
@@ -1585,6 +1595,16 @@
            清洗液更换时间
            </summary>
        </member>
        <member name="P:iWare.Wms.Application.EquipmentBaseInfoOutput.DetergentAddtime">
            <summary>
            清洗液添加时间 【Editby shaocx,2024-06-11】
            </summary>
        </member>
        <member name="P:iWare.Wms.Application.EquipmentBaseInfoOutput.CuttingFluidAddTime">
            <summary>
            切削液添加时间 【Editby shaocx,2024-06-11】
            </summary>
        </member>
        <member name="P:iWare.Wms.Application.EquipmentBaseInfoOutput.DetergentChangeAlertThreshold">
            <summary>
            清洗液更换预警阈值
iWara.SCADA.Code/iWare.Wms.Core/Entity/SCADA/Equipmentbaseinfo.cs
@@ -73,6 +73,12 @@
        public string EquipmentManufacturer { get; set; }
        /// <summary>
        /// 清洗液添加时间 【Editby shaocx,2024-06-11】
        /// </summary>
        [Comment("清洗液添加时间")]
        public DateTime? DetergentAddtime { get; set; }
        /// <summary>
        /// 清洗液更换时间
        /// </summary>
        [Comment("清洗液更换时间")]
@@ -103,6 +109,12 @@
        public int KnifeToolChangeAlertThreshold { get; set; }
        /// <summary>
        /// 切削液添加时间 【Editby shaocx,2024-06-11】
        /// </summary>
        [Comment("切削液添加时间")]
        public DateTime? CuttingFluidAddTime { get; set; }
        /// <summary>
        /// 切削液更换时间
        /// </summary>
        [Comment("切削液更换时间")]
iWara.SCADA.Code/iWare.Wms.EntityFramework.Core/iWare.Wms.EntityFramework.Core.csproj
@@ -7,11 +7,19 @@
  </PropertyGroup>
  <ItemGroup>
    <None Remove="dbsettings - 本机.Development.json" />
    <None Remove="dbsettings - 生产.Development.json" />
    <None Remove="dbsettings.Development.json" />
  </ItemGroup>
  <ItemGroup>
    <Content Include="dbsettings - 生产.Development.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </Content>
    <Content Include="dbsettings - 本机.Development.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </Content>
    <Content Include="dbsettings.Development.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </Content>