From 06a22e3d6d75e811affc35e12d00e8fd4259d869 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周日, 09 6月 2024 16:06:55 +0800 Subject: [PATCH] 222 --- iWara.SCADA.Code/iWare.Wms.Application/Service/EquipmentBaseInfo/EquipmentBaseInfoService.cs | 92 ++++++++++++++++++++++++++++++++++----------- 1 files changed, 69 insertions(+), 23 deletions(-) diff --git a/iWara.SCADA.Code/iWare.Wms.Application/Service/EquipmentBaseInfo/EquipmentBaseInfoService.cs b/iWara.SCADA.Code/iWare.Wms.Application/Service/EquipmentBaseInfo/EquipmentBaseInfoService.cs index 33759b1..4eb2e0c 100644 --- a/iWara.SCADA.Code/iWare.Wms.Application/Service/EquipmentBaseInfo/EquipmentBaseInfoService.cs +++ b/iWara.SCADA.Code/iWare.Wms.Application/Service/EquipmentBaseInfo/EquipmentBaseInfoService.cs @@ -22,8 +22,9 @@ [Route("api/[Controller]")] public class EquipmentBaseInfoService : IEquipmentBaseInfoService, IDynamicApiController, ITransient { - private readonly IRepository<EquipmentBaseInfo,MasterDbContextLocator> _equipmentBaseInfoRep; - private readonly IRepository<V_GetEquipmentAlert, MasterDbContextLocator> _v_GetEquipmentAlertRep; + private readonly IRepository<EquipmentBaseInfo, MasterDbContextLocator> _equipmentBaseInfoRep; + private readonly IRepository<Equipmentbaseinfolog, MasterDbContextLocator> _equipmentbaseinfologRep; + private readonly IRepository<V_GetEquipmentAlert, MasterDbContextLocator> _v_GetEquipmentAlertRep; private readonly IRepository<SysDictType, MasterDbContextLocator> _sysDictTypeRep; private readonly IRepository<SysDictData, MasterDbContextLocator> _sysDictDataRep; private readonly IRepository<EquipmentCurrentMonitor, MasterDbContextLocator> _equipmentCurrentMonitorRep; @@ -37,13 +38,15 @@ /// <param name="sysDictDataRep"></param> /// <param name="equipmentCurrentMonitorRep"></param> public EquipmentBaseInfoService( - IRepository<EquipmentBaseInfo,MasterDbContextLocator> equipmentBaseInfoRep, - IRepository<V_GetEquipmentAlert, MasterDbContextLocator> v_GetEquipmentAlert, + IRepository<Equipmentbaseinfolog, MasterDbContextLocator> equipmentbaseinfologRep, + IRepository<EquipmentBaseInfo, MasterDbContextLocator> equipmentBaseInfoRep, + IRepository<V_GetEquipmentAlert, MasterDbContextLocator> v_GetEquipmentAlert, IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep, IRepository<SysDictData, MasterDbContextLocator> sysDictDataRep, IRepository<EquipmentCurrentMonitor, MasterDbContextLocator> equipmentCurrentMonitorRep ) { + _equipmentbaseinfologRep = equipmentbaseinfologRep; _equipmentBaseInfoRep = equipmentBaseInfoRep; _v_GetEquipmentAlertRep = v_GetEquipmentAlert; _sysDictTypeRep = sysDictTypeRep; @@ -65,10 +68,10 @@ .Where(!string.IsNullOrEmpty(input.EquipmentId), u => u.EquipmentId == input.EquipmentId) .Where(!string.IsNullOrEmpty(input.EquipmentName), u => EF.Functions.Like(u.EquipmentName, $"%{input.EquipmentName.Trim()}%")) .Where(!string.IsNullOrEmpty(input.WorkingProcedure), u => u.WorkingProcedure.Equals(input.WorkingProcedure)) - .Where(!string.IsNullOrEmpty(input.AlertType),u=> (input.AlertType.Equals("1")&& u.IsAlertDetergent) - ||(input.AlertType.Equals("2") && u.IsAlertKnifeTool) - ||(input.AlertType.Equals("3") && u.IsAlertCuttingFluid) - ||(input.AlertType.Equals("4") && u.IsAlert)) + .Where(!string.IsNullOrEmpty(input.AlertType), u => (input.AlertType.Equals("1") && u.IsAlertDetergent) + || (input.AlertType.Equals("2") && u.IsAlertKnifeTool) + || (input.AlertType.Equals("3") && u.IsAlertCuttingFluid) + || (input.AlertType.Equals("4") && u.IsAlert)) .OrderBy(PageInputOrder.OrderBuilder<EquipmentAlertSearch>(input)) .ProjectToType<EquipmentAlertInfoOutput>().ToListAsync(); return equipmentAlertInfos; @@ -106,7 +109,7 @@ CuttingFluidChangeTime = s.CuttingFluidChangeTime, Remarks = s.Remarks, CreatedTime = s.CreatedTime, - TactTime=s.TactTime, + TactTime = s.TactTime, }) .Distinct() .OrderBy(PageInputOrder.OrderBuilder<EquipmentBaseInfoSearch>(input)) @@ -114,7 +117,7 @@ .ToADPagedListAsync(input.PageNo, input.PageSize); return equipmentBaseInfos; - } + } /// <summary> /// 鏍规嵁璁惧鍩虹淇℃伅绠$悊瀵煎嚭Excel @@ -129,7 +132,7 @@ .Where(!string.IsNullOrEmpty(input.EquipmentName), u => u.EquipmentName == input.EquipmentName) .Where(!string.IsNullOrEmpty(input.WorkingProcedure), u => EF.Functions.Like(u.WorkingProcedure, $"%{input.WorkingProcedure.Trim()}%")) .Where(!string.IsNullOrEmpty(input.EquipmentModel), u => EF.Functions.Like(u.EquipmentModel, $"%{input.EquipmentModel.Trim()}%")) - .Select(s=>new EquipmentBaseInfoExcelOutput + .Select(s => new EquipmentBaseInfoExcelOutput { Id = s.Id, EquipmentId = s.EquipmentId, @@ -146,7 +149,7 @@ CuttingFluidChangeTime = s.CuttingFluidChangeTime, CuttingFluidChangeAlertThreshold = s.CuttingFluidChangeAlertThreshold, CreatedTime = s.CreatedTime.ConvertToDateTime(), - UpdatedTime= s.UpdatedTime.ConvertToDateTime(), + UpdatedTime = s.UpdatedTime.ConvertToDateTime(), TactTime = s.TactTime, }) .Distinct() @@ -174,13 +177,26 @@ /// <param name="input"></param> /// <returns></returns> [HttpPost("add")] + [UnitOfWork] public async Task Add(AddEquipmentBaseInfoInput input) { var isExist = await _equipmentBaseInfoRep.AnyAsync(u => u.EquipmentId == input.EquipmentId, false); if (isExist) throw Oops.Oh($"褰撳墠璁惧缂栧彿宸插瓨鍦紝鏂板澶辫触锛�"); var equipmentBaseInfo = input.Adapt<EquipmentBaseInfo>(); + equipmentBaseInfo.Id = Yitter.IdGenerator.YitIdHelper.NextId(); await _equipmentBaseInfoRep.InsertAsync(equipmentBaseInfo); + + //鏂板缁存姢鏃ュ織 + var log = new Equipmentbaseinfolog() + { + EquipmentBaseInfoId = equipmentBaseInfo.Id, + EquipmentID = equipmentBaseInfo.EquipmentId, + OperatorType = EquipmentbaseinfoOperatorTypeEnum.鏂板璁惧, + OperatorTypeName = (EquipmentbaseinfoOperatorTypeEnum.鏂板璁惧).ToString(), + OperatorContent = "鏂板璁惧:" + equipmentBaseInfo.EquipmentName, + }; + await _equipmentbaseinfologRep.InsertAsync(log); } /// <summary> @@ -191,11 +207,11 @@ [HttpPost("delete")] public async Task Delete(DeleteEquipmentBaseInfoInput input) { - string[] EquiArr = new string[] {"EOP10", "EOP20", "EOP30", "EOP35", "EOP40", "EOP50", "EOP60", "EOP70", "EOP80" }; - + string[] EquiArr = new string[] { "EOP10", "EOP20", "EOP30", "EOP35", "EOP40", "EOP50", "EOP60", "EOP70", "EOP80" }; + var equipmentBaseInfo = await _equipmentBaseInfoRep.FirstOrDefaultAsync(u => u.Id == input.Id); - if(EquiArr.Contains(equipmentBaseInfo.EquipmentId)) throw Oops.Oh($"绯荤粺榛樿鐨勮澶囦笉鑳借繘琛屽垹闄わ紒"); + if (EquiArr.Contains(equipmentBaseInfo.EquipmentId)) throw Oops.Oh($"绯荤粺榛樿鐨勮澶囦笉鑳借繘琛屽垹闄わ紒"); await _equipmentBaseInfoRep.DeleteAsync(equipmentBaseInfo); } @@ -206,13 +222,14 @@ /// <param name="input"></param> /// <returns></returns> [HttpPost("selectDelete")] - public async Task SelectDelete(List<EquipmentBaseInfoInput> input) + public async Task SelectDelete(List<EquipmentBaseInfoInput> input) { StringBuilder builder = new StringBuilder(); string[] EquiArr = new string[] { "EOP10", "EOP20", "EOP30", "EOP35", "EOP40", "EOP50", "EOP60", "EOP70", "EOP80" }; foreach (EquipmentBaseInfoInput item in input) { - if (EquiArr.Contains(item.EquipmentId)) { + if (EquiArr.Contains(item.EquipmentId)) + { if (string.IsNullOrEmpty(builder.ToString())) { @@ -227,7 +244,7 @@ if (!string.IsNullOrEmpty(builder.ToString())) { - throw Oops.Oh($"绯荤粺榛樿鐨勮澶囥��"+builder.ToString()+"銆戜笉鑳借繘琛屽垹闄わ紒"); + throw Oops.Oh($"绯荤粺榛樿鐨勮澶囥��" + builder.ToString() + "銆戜笉鑳借繘琛屽垹闄わ紒"); } foreach (var item in input) @@ -243,13 +260,42 @@ /// <param name="input"></param> /// <returns></returns> [HttpPost("edit")] + [UnitOfWork] public async Task Update(UpdateEquipmentBaseInfoInput input) { - var isExist = await _equipmentBaseInfoRep.AnyAsync(u => u.Id == input.Id && u.EquipmentId == input.EquipmentId, false); - if (!isExist) throw Oops.Oh($"璁惧缂栧彿涓嶈兘杩涜鍙樻洿锛屼慨鏀瑰け璐ワ紒"); + var isExistObj = await _equipmentBaseInfoRep.Where(u => u.Id == input.Id && u.EquipmentId == input.EquipmentId, false).FirstOrDefaultAsync(); + if (isExistObj == null) throw Oops.Oh($"璁惧缂栧彿涓嶈兘杩涜鍙樻洿锛屼慨鏀瑰け璐ワ紒"); var equipmentBaseInfo = input.Adapt<EquipmentBaseInfo>(); - await _equipmentBaseInfoRep.UpdateAsync(equipmentBaseInfo,ignoreNullValues:false); + await _equipmentBaseInfoRep.UpdateAsync(equipmentBaseInfo, ignoreNullValues: false); + + if (isExistObj.CuttingFluidChangeTime?.ToString("yyyy-MM-dd") != equipmentBaseInfo.CuttingFluidChangeTime?.ToString("yyyy-MM-dd")) + { + //鏂板缁存姢鏃ュ織 + var log = new Equipmentbaseinfolog() + { + EquipmentBaseInfoId = equipmentBaseInfo.Id, + EquipmentID = equipmentBaseInfo.EquipmentId, + OperatorType = EquipmentbaseinfoOperatorTypeEnum.鍒囧墛娑叉洿鎹�, + OperatorTypeName = (EquipmentbaseinfoOperatorTypeEnum.鍒囧墛娑叉洿鎹�).ToString(), + OperatorContent = "鏇存崲鏃堕棿:" + equipmentBaseInfo.CuttingFluidChangeTime?.ToString("yyyy-MM-dd"), + }; + await _equipmentbaseinfologRep.InsertAsync(log); + } + if (isExistObj.Detergentchangetime?.ToString("yyyy-MM-dd") != equipmentBaseInfo.Detergentchangetime?.ToString("yyyy-MM-dd")) + { + //鏂板缁存姢鏃ュ織 + var log = new Equipmentbaseinfolog() + { + EquipmentBaseInfoId = equipmentBaseInfo.Id, + EquipmentID = equipmentBaseInfo.EquipmentId, + OperatorType = EquipmentbaseinfoOperatorTypeEnum.娓呮礂娑叉洿鎹�, + OperatorTypeName = (EquipmentbaseinfoOperatorTypeEnum.娓呮礂娑叉洿鎹�).ToString(), + OperatorContent = "鏇存崲鏃堕棿:" + equipmentBaseInfo.Detergentchangetime?.ToString("yyyy-MM-dd"), + }; + await _equipmentbaseinfologRep.InsertAsync(log); + } + } /// <summary> @@ -296,9 +342,9 @@ KnifeToolnames.Add("EOP50"); KnifeToolnames.Add("EOP60"); var equipmentBaseInfos = await _equipmentBaseInfoRep.DetachedEntities - .Where(!string.IsNullOrEmpty(Type), u => (Type.ToUpper().Equals("QUALITY")?names.Contains(u.EquipmentId):false)||(Type.ToUpper().Equals("KNIFETOOL") ? KnifeToolnames.Contains(u.EquipmentId) : false)) + .Where(!string.IsNullOrEmpty(Type), u => (Type.ToUpper().Equals("QUALITY") ? names.Contains(u.EquipmentId) : false) || (Type.ToUpper().Equals("KNIFETOOL") ? KnifeToolnames.Contains(u.EquipmentId) : false)) .ProjectToType<EquipmentBaseInfoOutput>() - .OrderBy(o=>o.EquipmentId) + .OrderBy(o => o.EquipmentId) .ToListAsync(); return equipmentBaseInfos; } -- Gitblit v1.9.3