From 4008c7e22c9c01eb653b04f934990486df622654 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期一, 14 七月 2025 12:21:35 +0800 Subject: [PATCH] Merge branch 'master' of http://47.108.235.38:8080/r/FZCZTB --- Admin.NET/FZCZTB.TSCL.Application/Service/ADPenalty/ADPenaltyService.cs | 129 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 129 insertions(+), 0 deletions(-) diff --git a/Admin.NET/FZCZTB.TSCL.Application/Service/ADPenalty/ADPenaltyService.cs b/Admin.NET/FZCZTB.TSCL.Application/Service/ADPenalty/ADPenaltyService.cs new file mode 100644 index 0000000..4300b44 --- /dev/null +++ b/Admin.NET/FZCZTB.TSCL.Application/Service/ADPenalty/ADPenaltyService.cs @@ -0,0 +1,129 @@ +锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆� +// +// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆� +// +// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛� + +using Admin.NET.Core.Service; +using Microsoft.AspNetCore.Http; + +using Furion.DatabaseAccessor; +using Furion.FriendlyException; +using Mapster; +using SqlSugar; +using System.ComponentModel; +using System.ComponentModel.DataAnnotations; +using Microsoft.AspNetCore.Mvc; +using Admin.NET.Core; +using Admin.NET.Application; +using Furion.DynamicApiController; +using FZCZTB.NET.MD; +using Furion.DependencyInjection; +namespace FZCZTB.TSCL.Application; + +/// <summary> +/// 琛屾斂澶勭綒鏈嶅姟 馃З +/// </summary> +[ApiDescriptionSettings(ApplicationConst.GroupName, Order = 100)] +public class ADPenaltyService : IDynamicApiController, ITransient +{ + private readonly SqlSugarRepository<ADPenalty> _aDPenaltyRep; + + public ADPenaltyService(SqlSugarRepository<ADPenalty> aDPenaltyRep) + { + _aDPenaltyRep = aDPenaltyRep; + } + + /// <summary> + /// 鍒嗛〉鏌ヨ琛屾斂澶勭綒 馃敄 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("鍒嗛〉鏌ヨ琛屾斂澶勭綒")] + [ApiDescriptionSettings(Name = "Page"), HttpPost] + public async Task<SqlSugarPagedList<ADPenaltyOutput>> Page(PageADPenaltyInput input) + { + input.Keyword = input.Keyword?.Trim(); + var query = _aDPenaltyRep.AsQueryable() + .WhereIF(!string.IsNullOrWhiteSpace(input.Keyword), u => u.Parties.Contains(input.Keyword) || u.CaseReason.Contains(input.Keyword) || u.DisposalDecision.Contains(input.Keyword) || u.SupervisionDepartment.Contains(input.Keyword)) + .WhereIF(!string.IsNullOrWhiteSpace(input.Parties), u => u.Parties.Contains(input.Parties.Trim())) + .WhereIF(!string.IsNullOrWhiteSpace(input.CaseReason), u => u.CaseReason.Contains(input.CaseReason.Trim())) + .WhereIF(!string.IsNullOrWhiteSpace(input.DisposalDecision), u => u.DisposalDecision.Contains(input.DisposalDecision.Trim())) + .WhereIF(!string.IsNullOrWhiteSpace(input.SupervisionDepartment), u => u.SupervisionDepartment.Contains(input.SupervisionDepartment.Trim())) + .WhereIF(input.DecisionDateRange?.Length == 2, u => u.DecisionDate >= input.DecisionDateRange[0] && u.DecisionDate <= input.DecisionDateRange[1]) + .Select<ADPenaltyOutput>(); + return await query.OrderBuilder(input).ToPagedListAsync(input.Page, input.PageSize); + } + + /// <summary> + /// 鑾峰彇琛屾斂澶勭綒璇︽儏 鈩癸笍 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("鑾峰彇琛屾斂澶勭綒璇︽儏")] + [ApiDescriptionSettings(Name = "Detail"), HttpGet] + public async Task<ADPenalty> Detail([FromQuery] QueryByIdADPenaltyInput input) + { + return await _aDPenaltyRep.GetFirstAsync(u => u.Id == input.Id); + } + + /// <summary> + /// 澧炲姞琛屾斂澶勭綒 鉃� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("澧炲姞琛屾斂澶勭綒")] + [ApiDescriptionSettings(Name = "Add"), HttpPost] + public async Task<bool> Add(AddADPenaltyInput input) + { + var entity = input.Adapt<ADPenalty>(); + entity.Id = Guid.NewGuid(); + return await _aDPenaltyRep.InsertAsync(entity) ; + } + + /// <summary> + /// 鏇存柊琛屾斂澶勭綒 鉁忥笍 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("鏇存柊琛屾斂澶勭綒")] + [ApiDescriptionSettings(Name = "Update"), HttpPost] + public async Task Update(UpdateADPenaltyInput input) + { + var entity = input.Adapt<ADPenalty>(); + await _aDPenaltyRep.AsUpdateable(entity) + + .ExecuteCommandAsync(); + } + + /// <summary> + /// 鍒犻櫎琛屾斂澶勭綒 鉂� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("鍒犻櫎琛屾斂澶勭綒")] + [ApiDescriptionSettings(Name = "Delete"), HttpPost] + public async Task Delete(DeleteADPenaltyInput input) + { + var entity = await _aDPenaltyRep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002); + await _aDPenaltyRep.DeleteAsync(entity); //鍋囧垹闄� + //await _aDPenaltyRep.DeleteAsync(entity); //鐪熷垹闄� + } + + /// <summary> + /// 鎵归噺鍒犻櫎琛屾斂澶勭綒 鉂� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("鎵归噺鍒犻櫎琛屾斂澶勭綒")] + [ApiDescriptionSettings(Name = "BatchDelete"), HttpPost] + public async Task<bool> BatchDelete([Required(ErrorMessage = "涓婚敭鍒楄〃涓嶈兘涓虹┖")]List<DeleteADPenaltyInput> input) + { + var exp = Expressionable.Create<ADPenalty>(); + foreach (var row in input) exp = exp.Or(it => it.Id == row.Id); + var list = await _aDPenaltyRep.AsQueryable().Where(exp.ToExpression()).ToListAsync(); + + return await _aDPenaltyRep.DeleteAsync(list); //鍋囧垹闄� + //return await _aDPenaltyRep.DeleteAsync(list); //鐪熷垹闄� + } +} -- Gitblit v1.9.1