123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248 |
- using AutoMapper;
- using LinqKit;
- using Microsoft.EntityFrameworkCore;
- using Microsoft.EntityFrameworkCore.Internal;
- using Ropin.Inspection.Common.Accessor.Interface;
- using Ropin.Inspection.Model;
- using Ropin.Inspection.Model.Entities;
- using Ropin.Inspection.Model.ViewModel;
- using Ropin.Inspection.Repository.TAIC;
- using Ropin.Inspection.Repository.TAIC.Interface;
- using Ropin.Inspection.Service.TAIC.Interface;
- using System;
- using System.Collections.Generic;
- using System.Diagnostics.SymbolStore;
- using System.Linq;
- using System.Threading.Tasks;
- namespace Ropin.Inspection.Service.TAIC
- {
- public class TaicAIBoxTemplateService : ITaicAIBoxTemplateService
- {
- private readonly ITaicAIBoxTemplateRepository _taicAIBoxTemplateRepository;
- private readonly ITaicAIBoxRepository _taicAIBoxRepository;
- private readonly IMapper _mapper;
- private readonly IClaimsAccessor _claims;
- public TaicAIBoxTemplateService(ITaicAIBoxTemplateRepository taicAIBoxTemplateRepository,IMapper mapper , IClaimsAccessor claims, ITaicAIBoxRepository taicAIBoxRepository)
- {
- _taicAIBoxTemplateRepository = taicAIBoxTemplateRepository;
- _mapper = mapper;
- _claims = claims;
- _taicAIBoxRepository = taicAIBoxRepository;
- }
- #region 盒子模板维护
- public async Task<List<TaicTemplateModel>> GetTemplatePage(TaicTemplateSearchModel searchModel)
- {
- var predicate = PredicateBuilder.New<TaicAiboxTemplate>(true);//查询条件,推荐后台使用这种方式灵活筛选
- #region 添加条件查询
- if (!string.IsNullOrEmpty(searchModel.Name))
- {
- predicate = predicate.And(i => i.CName.Contains(searchModel.Name));
- }
- #endregion
- var pageData = await _taicAIBoxTemplateRepository.GetPageAsync(predicate, "I_Sort", true, searchModel.PageIndex, searchModel.PageSize);
- searchModel.TotalCount = pageData.Totals;
- var result = _mapper.Map<List<TaicAiboxTemplate>, List<TaicTemplateModel>>(pageData.Rows);
- return result;
- }
- public async Task<TaicTemplateModel> GetTemplate(string id )
- {
- var template = await _taicAIBoxTemplateRepository.GetByIdAsync(id);
- var result = _mapper.Map<TaicTemplateModel>(template);
- return result;
- }
- public async Task<bool> CreateOneAsync(TaicTemplateModel viewModel)
- {
- var aiboxTemplate = _mapper.Map<TaicAiboxTemplate>(viewModel);
- aiboxTemplate.CId = Guid.NewGuid().ToString();
- aiboxTemplate.CCreateBy = _claims.ApiUserId.ToString();
- _taicAIBoxTemplateRepository.Create(aiboxTemplate);
- var result = await _taicAIBoxTemplateRepository.SaveAsync();
- if (!result)
- {
- throw new Exception("创建失败");
- }
- return result;
- }
- public Task<int> UpdateOneAsync(TaicTemplateModel viewModel, params string[] fields)
- {
- throw new NotImplementedException();
- }
- public Task<TaicTemplateModel> GetByIdAsync(string id)
- {
- throw new NotImplementedException();
- }
- public Task<bool> IsExistAsync(string id)
- {
- throw new NotImplementedException();
- }
- public async Task<bool> DeleteAsync(string id)
- {
- var aiboxTemplate = await _taicAIBoxTemplateRepository.GetByIdAsync(id);
- if (aiboxTemplate == null)
- {
- throw new Exception("数据库中没有此数据");
- }
- aiboxTemplate.CStatus = 0;
- aiboxTemplate.DLastUpdatedOn = DateTime.Now;
- aiboxTemplate.CLastUpdatedBy = _claims.ApiUserId.ToString();
- _taicAIBoxTemplateRepository.Update(aiboxTemplate);
- var result = await _taicAIBoxTemplateRepository.SaveAsync();
- if (!result)
- {
- throw new Exception("删除失败");
- }
- return result;
- }
- public async Task<bool> UpdateTemplate(string id, TaicTemplateModel templateModel)
- {
- var aiboxTemplate = await _taicAIBoxTemplateRepository.GetByIdAsync(id);
- if (aiboxTemplate == null)
- {
- throw new Exception("数据库中没有此数据");
- }
- _mapper.Map(templateModel, aiboxTemplate, typeof(TaicTemplateModel), typeof(TaicAiboxTemplate));
- _taicAIBoxTemplateRepository.Update(aiboxTemplate);
- var result = await _taicAIBoxTemplateRepository.SaveAsync();
- if (!result)
- {
- throw new Exception("更新失败");
- }
- return result;
- }
- #endregion
- #region ai盒子维护
- public async Task<List<AiBoxModel>> GetAiBoxPage(AiBoxSearchModel searchModel)
- {
- var predicate = PredicateBuilder.New<TaicAibox>(x=>x.CStoreCode==searchModel.CStoreCode);//查询条件,推荐后台使用这种方式灵活筛选
- #region 添加条件查询
- if (!string.IsNullOrEmpty(searchModel.Name))
- {
- predicate = predicate.And(i => i.CName.Contains(searchModel.Name));
- }
- if (searchModel.CStatus.HasValue)
- {
- predicate = predicate.And(i => i.CStatus == searchModel.CStatus);
- }
- #endregion
- var pageData = await _taicAIBoxRepository.GetPageAsync(predicate, "I_Sort", true, searchModel.PageIndex, searchModel.PageSize);
- searchModel.TotalCount = pageData.Totals;
- var result = _mapper.Map<List<TaicAibox>, List<AiBoxModel>>(pageData.Rows);
- return result;
- }
- public async Task<AiBoxModel> GetAiBox(string id)
- {
- var aibox =await _taicAIBoxRepository.GetByIdAsync(id);
- var result = _mapper.Map<AiBoxModel>(aibox);
- return result;
- }
- public async Task<bool> AddAiBox(AiBoxModel aiBoxModel)
- {
- var taicAibox = _mapper.Map<TaicAibox>(aiBoxModel);
- taicAibox.CId = Guid.NewGuid().ToString();
- taicAibox.CCreateBy = _claims.ApiUserId.ToString();
- _taicAIBoxRepository.Create(taicAibox);
- var result = await _taicAIBoxRepository.SaveAsync();
- if (!result)
- {
- throw new Exception("创建失败");
- }
- return result;
- }
- public async Task<bool> DelAiBox(string id)
- {
- var taicAibox = await _taicAIBoxRepository.GetByIdAsync(id);
- if (taicAibox == null)
- {
- throw new Exception("数据库中没有此数据");
- }
- taicAibox.CStatus = 0;
- taicAibox.DLastUpdatedOn = DateTime.Now;
- taicAibox.CLastUpdatedBy = _claims.ApiUserId.ToString();
- _taicAIBoxRepository.Update(taicAibox);
- var result = await _taicAIBoxRepository.SaveAsync();
- if (!result)
- {
- throw new Exception("删除失败");
- }
- return result;
- }
- public async Task<bool> UpdateAiBox(string id, AiBoxModel aiBoxModel)
- {
- var taicAibox = await _taicAIBoxRepository.GetByIdAsync(id);
- if (taicAibox == null)
- {
- throw new Exception("数据库中没有此数据");
- }
- _mapper.Map(aiBoxModel, taicAibox, typeof(AiBoxModel), typeof(TaicAibox));
- _taicAIBoxRepository.Update(taicAibox);
- var result = await _taicAIBoxRepository.SaveAsync();
- if (!result)
- {
- throw new Exception("更新失败");
- }
- return result;
- }
- public async Task<bool> AddDevAIBox(DevAiboxModel devAiboxModel)
- {
- List<TaicDevAibox> devAiboxes = new ();
- devAiboxModel.CCameraCode.ForEach(x =>
- {
- devAiboxes.Add(new TaicDevAibox
- {
- CId = Guid.NewGuid().ToString(),
- CAiboxCode = devAiboxModel.CAiboxCode,
- CCameraCode = x,
- CCreateBy = _claims.ApiUserId.ToString(),
- CCreator = _claims.ApiUserName,
- DCreateOn = DateTime.Now,
- });
- });
- var dels = await _taicAIBoxRepository.DbContext.TaicDevAiboxes.Where(x => x.CAiboxCode == devAiboxModel.CAiboxCode).ToListAsync();
- _taicAIBoxRepository.DbContext.TaicDevAiboxes.RemoveRange(dels);
- await _taicAIBoxRepository.DbContext.TaicDevAiboxes.AddRangeAsync(devAiboxes);
- var row =await _taicAIBoxRepository.SaveAsync();
- return row;
- }
- public async Task<object> GetDevAibox(string aiboxCode)
- {
- var queryAble= from tda in _taicAIBoxRepository.DbContext.TaicDevAiboxes
- join aibox in _taicAIBoxRepository.DbContext.TaicAiboxes on tda.CAiboxCode equals aibox.CId
- join camera in _taicAIBoxRepository.DbContext.TVMC_Camera on tda.CCameraCode equals camera.C_ID
- where tda.CAiboxCode == aiboxCode
- select new
- {
- tda.CId,
- camera.C_Name,
- camera.C_CameraNo,
- tda.DCreateOn
- };
- var result=await queryAble.ToListAsync();
- return result;
- }
- public async Task<bool> DelDevAibox(string id)
- {
- var devAibox=_taicAIBoxRepository.DbContext.TaicDevAiboxes.Where(x => x.CId == id).FirstOrDefault();
- _taicAIBoxRepository.DbContext.TaicDevAiboxes.Remove(devAibox);
- var row = await _taicAIBoxRepository.SaveAsync();
- return row;
- }
- #endregion
- }
- }
|