222
schangxiang@126.com
2024-06-09 06a22e3d6d75e811affc35e12d00e8fd4259d869
iWara.SCADA.Code/iWare.Wms.Application/Service/EquipmentBaseInfo/EquipmentBaseInfoService.cs
@@ -23,6 +23,7 @@
    public class EquipmentBaseInfoService : IEquipmentBaseInfoService, IDynamicApiController, ITransient
    {
        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;
@@ -37,6 +38,7 @@
        /// <param name="sysDictDataRep"></param>
        /// <param name="equipmentCurrentMonitorRep"></param>
        public EquipmentBaseInfoService(
            IRepository<Equipmentbaseinfolog, MasterDbContextLocator> equipmentbaseinfologRep,
            IRepository<EquipmentBaseInfo,MasterDbContextLocator> equipmentBaseInfoRep,
         IRepository<V_GetEquipmentAlert, MasterDbContextLocator> v_GetEquipmentAlert,
            IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep,
@@ -44,6 +46,7 @@
            IRepository<EquipmentCurrentMonitor, MasterDbContextLocator> equipmentCurrentMonitorRep
        )
        {
            _equipmentbaseinfologRep = equipmentbaseinfologRep;
            _equipmentBaseInfoRep = equipmentBaseInfoRep;
            _v_GetEquipmentAlertRep = v_GetEquipmentAlert;
            _sysDictTypeRep = sysDictTypeRep;
@@ -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>
@@ -212,7 +228,8 @@
            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()))
                    {
@@ -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);
            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>