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