| | |
| | | [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; |
| | |
| | | /// <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; |
| | |
| | | .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; |
| | |
| | | CuttingFluidChangeTime = s.CuttingFluidChangeTime, |
| | | Remarks = s.Remarks, |
| | | CreatedTime = s.CreatedTime, |
| | | TactTime=s.TactTime, |
| | | TactTime = s.TactTime, |
| | | }) |
| | | .Distinct() |
| | | .OrderBy(PageInputOrder.OrderBuilder<EquipmentBaseInfoSearch>(input)) |
| | |
| | | .ToADPagedListAsync(input.PageNo, input.PageSize); |
| | | return equipmentBaseInfos; |
| | | |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 根据设备基础信息管理导出Excel |
| | |
| | | .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, |
| | |
| | | CuttingFluidChangeTime = s.CuttingFluidChangeTime, |
| | | CuttingFluidChangeAlertThreshold = s.CuttingFluidChangeAlertThreshold, |
| | | CreatedTime = s.CreatedTime.ConvertToDateTime(), |
| | | UpdatedTime= s.UpdatedTime.ConvertToDateTime(), |
| | | UpdatedTime = s.UpdatedTime.ConvertToDateTime(), |
| | | TactTime = s.TactTime, |
| | | }) |
| | | .Distinct() |
| | |
| | | /// <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> |
| | |
| | | [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); |
| | | } |
| | |
| | | /// <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())) |
| | | { |
| | |
| | | |
| | | if (!string.IsNullOrEmpty(builder.ToString())) |
| | | { |
| | | throw Oops.Oh($"系统默认的设备【"+builder.ToString()+"】不能进行删除!"); |
| | | throw Oops.Oh($"系统默认的设备【" + builder.ToString() + "】不能进行删除!"); |
| | | } |
| | | |
| | | foreach (var item in input) |
| | |
| | | /// <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> |
| | |
| | | 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; |
| | | } |