From 2d8739b04f86ab5e73ec7b0d3152e702a90a450b Mon Sep 17 00:00:00 2001 From: 移动系统liao <liaoxujun@qq.com> Date: 星期一, 14 七月 2025 16:34:49 +0800 Subject: [PATCH] 修改用户扩展资料 --- Admin.NET/FZFCGDD.ORDER.Application/Service/ShouyeGonggao/ShouyeGonggaoService.cs | 490 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 490 insertions(+), 0 deletions(-) diff --git a/Admin.NET/FZFCGDD.ORDER.Application/Service/ShouyeGonggao/ShouyeGonggaoService.cs b/Admin.NET/FZFCGDD.ORDER.Application/Service/ShouyeGonggao/ShouyeGonggaoService.cs new file mode 100644 index 0000000..1bbb136 --- /dev/null +++ b/Admin.NET/FZFCGDD.ORDER.Application/Service/ShouyeGonggao/ShouyeGonggaoService.cs @@ -0,0 +1,490 @@ +锘�// 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.Application; +using Admin.NET.Core; +using FZCZTB.NET.MD; +using Furion.DynamicApiController; +using Furion.DependencyInjection; +using System.Collections.Generic; +using System.Linq; +using NewLife.Xml; +using AngleSharp.Dom; +using DocumentFormat.OpenXml.Office2010.ExcelAc; +using Furion; +using System.Security.Claims; +using Microsoft.AspNetCore.Authorization; +using RazorEngine.Compilation.ImpromptuInterface; +using MimeKit; +using FZFCGDD.ORDER.Application.Service.Neirongfabu.Dto; +namespace FZCZTB.TSCL.Application; + +/// <summary> +/// 棣栭〉鎺ュ彛 馃З +/// </summary> +[ApiDescriptionSettings(ApplicationConst.GroupNameDD, Order = 100)] +public class ShouyeGonggaoService : IDynamicApiController, ITransient +{ + private readonly SqlSugarRepository<TenderOrder> _TenderOrderRep; + private readonly ISqlSugarClient _sqlSugarClient; + private readonly SqlSugarRepository<Collection> _CollectionRep; + private readonly SqlSugarRepository<SysDictData> _sysDictDataRep; + private readonly SqlSugarRepository<ChangeOrder> _ChangeOrderRep; + private readonly SqlSugarRepository<Neirongfabu> _neirongfabuRep; + + public ShouyeGonggaoService(SqlSugarRepository<TenderOrder> TenderOrderRep, ISqlSugarClient sqlSugarClient, + SqlSugarRepository<Collection> collectionRep, SqlSugarRepository<SysDictData> sysDictDataRep + , SqlSugarRepository<ChangeOrder> changeOrderRep + , SqlSugarRepository<Neirongfabu> neirongfabuRep) + { + _TenderOrderRep = TenderOrderRep; + _sqlSugarClient = sqlSugarClient; + _CollectionRep = collectionRep; + _sysDictDataRep = sysDictDataRep; + _ChangeOrderRep = changeOrderRep; + _neirongfabuRep = neirongfabuRep; + } + + + /// <summary> + /// 棣栭〉鏌ヨ闈炴斂搴滆鍗曞鐞� 馃敄 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("棣栭〉鏌ヨ闈炴斂搴滆鍗曞鐞�")] + [AllowAnonymous] + [ApiDescriptionSettings(Name = "ShouyeOrder"), HttpPost] + public async Task<List<TenderOrderOutput>> ShouyeOrder()//SHouyeTenderOrderInput input + { + + var query = _TenderOrderRep.AsQueryable().Where(x => (x.OrderStatus == 2 || x.OrderStatus == 3)) + // .WhereIF(!string.IsNullOrWhiteSpace(input.Hangyepinmu), u => u.Hangyepinmu == input.Hangyepinmu.Trim()) + .OrderByDescending(x => x.FabuDate) + .Take(7) + .Select<TenderOrderOutput>(); + + return await query.ToListAsync(); + } + + + + + /// <summary> + /// 棣栭〉鍙樻洿鍏憡 馃敄 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("棣栭〉鍙樻洿鍏憡")] + [AllowAnonymous] + [ApiDescriptionSettings(Name = "ShouyeChangeOrder"), HttpPost] + public async Task<List<ChangeTenderOrderOut>> ShouyeChangeOrder()//SHouyeTenderOrderInput input + { + + var query = _ChangeOrderRep.AsQueryable() + .OrderByDescending(x => x.CreateTime) + .Select(x => new ChangeTenderOrderOut { Id = x.Id, TenderId = x.TenderId, ProjectName = x.ProjectName, ToubiaoStartDate = x.ToubiaoStartDate.Value, ToubiaoEndDate = x.ToubiaoEndDate.Value, KaibiaoDate = x.KaibiaoDate.Value, Biangengwenjian = x.Biangengwenjian, Kaibiaodidian = x.Kaibiaodidian, CreateTime = x.CreateTime }) + + .Take(7); + + return await query.ToListAsync(); + } + + + + + /// <summary> + /// 棣栭〉涓爣鍏憡 馃敄 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("棣栭〉涓爣鍏憡")] + [AllowAnonymous] + [ApiDescriptionSettings(Name = "ShouyeZhongbiaoOrder"), HttpPost] + public async Task<List<TenderOrderOutput>> ShouyeZhongbiaoOrder()//SHouyeTenderOrderInput input + { + + var query = _TenderOrderRep.AsQueryable().Where(x => x.OrderStatus == 3 ) + // .WhereIF(!string.IsNullOrWhiteSpace(input.Hangyepinmu), u => u.Hangyepinmu == input.Hangyepinmu.Trim()) + .OrderByDescending(x => x.ZhongbiaoDate) + .Take(7) + .Select<TenderOrderOutput>(); + + return await query.ToListAsync(); + } + + + + /// <summary> + /// 棣栭〉鍏憡淇℃伅-鎷涢噰鍏憡 馃敄 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("棣栭〉鍏憡淇℃伅-鎷涢噰鍏憡")] + [AllowAnonymous] + [ApiDescriptionSettings(Name = "PageGonggao"), HttpPost] + public async Task<SqlSugarPagedList<TenderOrderOutput>> PageGonggao(PageShouyeTendOrderInput input) + { + long userId = 0; + long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId); + + var query = _sqlSugarClient.Queryable< TenderOrder>() + //.Where((a, b) => a.CreateUserId == userId) + .Where(x => (x.OrderStatus == 2 || x.OrderStatus == 3)) + .WhereIF(!string.IsNullOrWhiteSpace(input.ProjectName), b=> b.ProjectName.Contains(input.ProjectName.Trim())) + .WhereIF(input.CreateDateRange != null && input.CreateDateRange.Length == 2, u => u.FabuDate >= input.CreateDateRange[0] && u.FabuDate <= input.CreateDateRange[1]) + + + + .Select(b => new TenderOrderOutput + { + Id = b.Id, + ProjectCode = b.ProjectCode, + ProjectName = b.ProjectName, + ToubiaoEndDate = b.ToubiaoEndDate.HasValue ? b.ToubiaoEndDate.Value : DateTime.Now, + KaibiaoDate = b.KaibiaoDate.HasValue ? b.KaibiaoDate.Value : DateTime.Now, + Xingzhengquyu = b.Xingzhengquyu, + XingzhengquyuName = b.XingzhengquyuName, + Dailijigoumingcheng = b.Dailijigoumingcheng, + ToubiaoStartDate = b.ToubiaoStartDate.HasValue ? b.ToubiaoStartDate.Value : DateTime.Now, + FabuDate = b.FabuDate.HasValue ? b.FabuDate.Value : DateTime.Now, + Caigoufangshi = b.Caigoufangshi, + }); + + var pagedList = await query.OrderBuilder(input, "", "KaibiaoDate", true).ToPagedListAsync(input.Page, input.PageSize); + + var sysDictDatas = await GetDataListByCode("Caigoufangshi"); + + foreach (var tenderOrderOutput in pagedList.Items) + { + var sysDictData = sysDictDatas.Where(x => x.Value == tenderOrderOutput.Caigoufangshi).FirstOrDefault(); + if (sysDictData != null) + { + tenderOrderOutput.CaigoufangshiName = sysDictData.Label; + } + } + return pagedList; + } + + + + /// <summary> + /// 棣栭〉鍏憡淇℃伅-鏇存鍏憡 馃敄 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("棣栭〉鍏憡淇℃伅-鏇存鍏憡")] + [AllowAnonymous] + [ApiDescriptionSettings(Name = "PageGengzgeng"), HttpPost] + public async Task<SqlSugarPagedList<TenderOrderOutput>> PageGengzgeng(PageShouyeTendOrderInput input) + { + long userId = 0; + long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId); + + var query = _sqlSugarClient.Queryable<ChangeOrder, TenderOrder>((a, b) => a.TenderId == b.Id) + //.Where((a, b) => a.CreateUserId == userId) + + .WhereIF(!string.IsNullOrWhiteSpace(input.ProjectName), (a, b) => a.ProjectName.Contains(input.ProjectName.Trim())) + .WhereIF(input.CreateDateRange != null && input.CreateDateRange.Length == 2, (a, b) => a.CreateTime >= input.CreateDateRange[0] && a.CreateTime <= input.CreateDateRange[1]) + + + .Select((a, b) => new TenderOrderOutput + { + Id = b.Id, + ProjectCode = b.ProjectCode, + ProjectName = a.ProjectName, + ToubiaoEndDate = b.ToubiaoEndDate.HasValue ? b.ToubiaoEndDate.Value : DateTime.Now, + KaibiaoDate = b.KaibiaoDate.HasValue ? b.KaibiaoDate.Value : DateTime.Now, + Xingzhengquyu = b.Xingzhengquyu, + XingzhengquyuName = b.XingzhengquyuName, + Dailijigoumingcheng = b.Dailijigoumingcheng, + ToubiaoStartDate = b.ToubiaoStartDate.HasValue ? b.ToubiaoStartDate.Value : DateTime.Now, + CreateTime = a.CreateTime, + Caigoufangshi = b.Caigoufangshi, + }); + + var pagedList = await query.OrderBuilder(input, "", "a.CreateTime", true).ToPagedListAsync(input.Page, input.PageSize); + + var sysDictDatas = await GetDataListByCode("Caigoufangshi"); + + foreach (var tenderOrderOutput in pagedList.Items) + { + var sysDictData = sysDictDatas.Where(x => x.Value == tenderOrderOutput.Caigoufangshi).FirstOrDefault(); + if (sysDictData != null) + { + tenderOrderOutput.CaigoufangshiName = sysDictData.Label; + } + } + return pagedList; + } + + + + + + /// <summary> + /// 鑾峰彇瀛楀吀鍊奸泦鍚� 馃敄 + /// </summary> + /// <param name="typeId"></param> + /// <param name="code"></param> + /// <returns></returns> + [NonAction] + public async Task<List<SysDictData>> GetDataListByCode(string code) + { + if (string.IsNullOrWhiteSpace(code)) + throw Oops.Oh(ErrorCodeEnum.D3011); + + var dictType = await _sysDictDataRep.Change<SysDictType>().AsQueryable() + .Where(u => u.Status == StatusEnum.Enable) + .WhereIF(!string.IsNullOrWhiteSpace(code), u => u.Code == code) + .FirstAsync(); + if (dictType == null) return null; + + + + var dictDataList = await _sysDictDataRep.AsQueryable() + .Where(u => u.DictTypeId == dictType.Id) + .Where(u => u.Status == StatusEnum.Enable) + .OrderBy(u => new { u.OrderNo, u.Value, u.Code }) + .ToListAsync(); + + + return dictDataList; + } + + + + /// <summary> + /// 棣栭〉鍏憡淇℃伅-涓爣鍏憡 馃敄 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("棣栭〉鍏憡淇℃伅-涓爣鍏憡")] + [AllowAnonymous] + [ApiDescriptionSettings(Name = "PageZhongbiaoGonggao"), HttpPost] + public async Task<SqlSugarPagedList<TenderOrderOutput>> PageZhongbiaoGonggao(PageShouyeTendOrderInput input) + { + long userId = 0; + long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId); + + var query = _sqlSugarClient.Queryable<TenderOrder>() + //.Where((a, b) => a.CreateUserId == userId) + .Where(x => x.OrderStatus == 3) + .WhereIF(!string.IsNullOrWhiteSpace(input.ProjectName), b => b.ZhongbiaoTittle.Contains(input.ProjectName.Trim())) + .WhereIF(input.CreateDateRange != null && input.CreateDateRange.Length == 2, u => u.ZhongbiaoDate >= input.CreateDateRange[0] && u.ZhongbiaoDate <= input.CreateDateRange[1]) + + + + .Select(b => new TenderOrderOutput + { + Id = b.Id, + ProjectCode = b.ProjectCode, + ProjectName = b.ZhongbiaoTittle, + ToubiaoEndDate = b.ToubiaoEndDate.HasValue ? b.ToubiaoEndDate.Value : DateTime.Now, + KaibiaoDate = b.KaibiaoDate.HasValue ? b.KaibiaoDate.Value : DateTime.Now, + Xingzhengquyu = b.Xingzhengquyu, + XingzhengquyuName = b.XingzhengquyuName, + Dailijigoumingcheng = b.Dailijigoumingcheng, + ToubiaoStartDate = b.ToubiaoStartDate.HasValue ? b.ToubiaoStartDate.Value : DateTime.Now, + FabuDate = b.FabuDate.HasValue ? b.FabuDate.Value : DateTime.Now, + Caigoufangshi = b.Caigoufangshi, + ZhongbiaoDate = b.ZhongbiaoDate, + ZhongbiaoTittle = b.ZhongbiaoTittle + }); + + var pagedList = await query.OrderBuilder(input, "", "ZhongbiaoDate", true).ToPagedListAsync(input.Page, input.PageSize); + + var sysDictDatas = await GetDataListByCode("Caigoufangshi"); + + foreach (var tenderOrderOutput in pagedList.Items) + { + var sysDictData = sysDictDatas.Where(x => x.Value == tenderOrderOutput.Caigoufangshi).FirstOrDefault(); + if (sysDictData != null) + { + tenderOrderOutput.CaigoufangshiName = sysDictData.Label; + } + } + return pagedList; + } + + + + /// <summary> + /// 棣栭〉鍐呭鍙戝竷 馃敄 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("棣栭〉鍐呭鍙戝竷")] + [AllowAnonymous] + [ApiDescriptionSettings(Name = "ShouyeNeirongfabu"), HttpPost] + public async Task<List<NeirongfabuOutput>> ShouyeNeirongfabu(SHouyeNeirongfabuInput input) + { + + var query = _neirongfabuRep.AsQueryable() + .Where(x=>x.IsFabu == true) + .WhereIF(input.Leirongneixing.HasValue, u => u.Leirongneixing == input.Leirongneixing.Value) + .WhereIF(input.IsShouyexianshi.HasValue, u => u.IsShouyexianshi == input.IsShouyexianshi.Value) + // .OrderBy(x => x.Sort) + .OrderByDescending(x=>x.FabuDate) + .Take(7) + .Select(x => new NeirongfabuOutput + { + Id = x.Id, + Leirongneixing = x.Leirongneixing, + IsFabu = x.IsFabu, + IsShouyexianshi = x.IsShouyexianshi, + NeirongTittle = x.NeirongTittle, + Fengmiantupian = x.Fengmiantupian, + Sort = x.Sort, + FabuDate = x.FabuDate, + NeirongZhaiyao = x.NeirongZhaiyao, + // NeirongMiaoshu = x.NeirongMiaoshu, + CreateTime = x.CreateTime, + UpdateTime = x.UpdateTime, + CreateUserId = x.CreateUserId, + CreateUserName = x.CreateUserName, + UpdateUserId = x.UpdateUserId, + UpdateUserName = x.UpdateUserName, + }); + + return await query.ToListAsync(); + } + + + + + /// <summary> + /// 棣栭〉鍜ㄨ涓績-鍐呭鍙戝竷 馃敄 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("棣栭〉鍜ㄨ涓績-鍐呭鍙戝竷")] + [AllowAnonymous] + [ApiDescriptionSettings(Name = "PageNeirongfabu"), HttpPost] + public async Task<SqlSugarPagedList<NeirongfabuOutput>> PageNeirongfabu(PageShouyeNeirongfabuInput input) + { + + + var query = _neirongfabuRep.AsQueryable() + .Where(x => x.IsFabu == true) + .WhereIF(input.Leirongneixing.HasValue, u => u.Leirongneixing == input.Leirongneixing.Value) + .WhereIF(input.IsShouyexianshi.HasValue, u => u.IsShouyexianshi == input.IsShouyexianshi.Value) + .WhereIF(!string.IsNullOrWhiteSpace(input.NeirongTittle), b => b.NeirongTittle.Contains(input.NeirongTittle.Trim())) + .WhereIF(input.CreateDateRange != null && input.CreateDateRange.Length == 2, u => u.FabuDate >= input.CreateDateRange[0] && u.FabuDate <= input.CreateDateRange[1]) + + + .Select(x => new NeirongfabuOutput + { + Id = x.Id, + Leirongneixing = x.Leirongneixing, + IsFabu = x.IsFabu, + IsShouyexianshi = x.IsShouyexianshi, + NeirongTittle = x.NeirongTittle, + Fengmiantupian = x.Fengmiantupian, + Sort = x.Sort, + FabuDate = x.FabuDate, + NeirongZhaiyao = x.NeirongZhaiyao, + // NeirongMiaoshu = x.NeirongMiaoshu, + CreateTime = x.CreateTime, + UpdateTime = x.UpdateTime, + CreateUserId = x.CreateUserId, + CreateUserName = x.CreateUserName, + UpdateUserId = x.UpdateUserId, + UpdateUserName = x.UpdateUserName, + }); + + var pagedList = await query.OrderBuilder(input, "", "FabuDate", true).ToPagedListAsync(input.Page, input.PageSize); + + var sysDictDatas = await GetDataListByCode("Leirongneixing"); + + foreach (var neirongfabuOutput in pagedList.Items) + { + var sysDictData = sysDictDatas.Where(x => x.Value == neirongfabuOutput.Leirongneixing.Value.ToString()).FirstOrDefault(); + if (sysDictData != null) + { + neirongfabuOutput.LeirongneixingName = sysDictData.Label; + } + + if (neirongfabuOutput.IsFabu.HasValue && neirongfabuOutput.IsFabu.Value) + { + neirongfabuOutput.IsFabuName = "鏄�"; + } + else + { + neirongfabuOutput.IsFabuName = "鍚�"; + } + + if (neirongfabuOutput.IsShouyexianshi.HasValue && neirongfabuOutput.IsShouyexianshi.Value) + { + neirongfabuOutput.IsShouyexianshiName = "鏄�"; + } + else + { + neirongfabuOutput.IsShouyexianshiName = "鍚�"; + } + } + return pagedList; + } + + + + + + + + /// <summary> + /// 鑾峰彇鍐呭鍙戝竷璇︽儏 鈩癸笍 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("鑾峰彇鍐呭鍙戝竷璇︽儏")] + [AllowAnonymous] + [ApiDescriptionSettings(Name = "NeirongfabuDetail"), HttpGet] + public async Task<NeirongfabuOutput> NeirongfabuDetail([FromQuery] QueryByIdTenderOrderInput input) + { + var Leirongneixing = await GetDataListByCode("Leirongneixing"); + + var neirongfabuOutput = await _neirongfabuRep.AsQueryable().Where(x => x.Id == input.Id).Select<NeirongfabuOutput>().FirstAsync(); + if (neirongfabuOutput != null) + { + + if (neirongfabuOutput.Leirongneixing.HasValue) + { + neirongfabuOutput.LeirongneixingName = Leirongneixing.Where(x => x.Value == neirongfabuOutput.Leirongneixing.Value.ToString()).Select(x => x.Label).FirstOrDefault() ?? ""; + } + if (neirongfabuOutput.IsFabu.HasValue && neirongfabuOutput.IsFabu.Value) + { + neirongfabuOutput.IsFabuName = "鏄�"; + } + else + { + neirongfabuOutput.IsFabuName = "鍚�"; + } + + if (neirongfabuOutput.IsShouyexianshi.HasValue && neirongfabuOutput.IsShouyexianshi.Value) + { + neirongfabuOutput.IsShouyexianshiName = "鏄�"; + } + else + { + neirongfabuOutput.IsShouyexianshiName = "鍚�"; + } + } + + + + return neirongfabuOutput; + } +} -- Gitblit v1.9.1