From 29f8eaea777cc37752b2fcb7b6da561a10e1306d Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周五, 23 8月 2024 09:15:22 +0800
Subject: [PATCH] 优化
---
iWara.SCADA.Code/iWare.Wms.Application/Service/EquipmentBaseInfo/EquipmentBaseInfoService.cs | 120 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 97 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..7414969 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,9 @@
CuttingFluidChangeTime = s.CuttingFluidChangeTime,
Remarks = s.Remarks,
CreatedTime = s.CreatedTime,
- TactTime=s.TactTime,
+ TactTime = s.TactTime,
+ DetergentAddtime = s.DetergentAddtime,
+ CuttingFluidAddTime = s.CuttingFluidAddTime,
})
.Distinct()
.OrderBy(PageInputOrder.OrderBuilder<EquipmentBaseInfoSearch>(input))
@@ -114,7 +119,7 @@
.ToADPagedListAsync(input.PageNo, input.PageSize);
return equipmentBaseInfos;
- }
+ }
/// <summary>
/// 鏍规嵁璁惧鍩虹淇℃伅绠$悊瀵煎嚭Excel
@@ -129,7 +134,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 +151,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 +179,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 +209,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 +224,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 +246,7 @@
if (!string.IsNullOrEmpty(builder.ToString()))
{
- throw Oops.Oh($"绯荤粺榛樿鐨勮澶囥��"+builder.ToString()+"銆戜笉鑳借繘琛屽垹闄わ紒");
+ throw Oops.Oh($"绯荤粺榛樿鐨勮澶囥��" + builder.ToString() + "銆戜笉鑳借繘琛屽垹闄わ紒");
}
foreach (var item in input)
@@ -243,13 +262,68 @@
/// <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);
+ }
+ 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);
+ }
+
}
/// <summary>
@@ -296,9 +370,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