From f210a0e0fc0552bfacb2489de099bd512b8e74e7 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期三, 05 十一月 2025 09:03:39 +0800
Subject: [PATCH] 提交

---
 Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/TenderOrderService.cs |  592 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 561 insertions(+), 31 deletions(-)

diff --git a/Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/TenderOrderService.cs b/Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/TenderOrderService.cs
index 806d874..8dec6c4 100644
--- a/Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/TenderOrderService.cs
+++ b/Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/TenderOrderService.cs
@@ -30,6 +30,8 @@
 using RazorEngine.Compilation.ImpromptuInterface;
 using MimeKit;
 using static FZCZTB.TSCL.Application.ChangeTenderOrderOut;
+using FZCZTB.NET.MD.CutomerMd.Extend;
+using FZCZTB.NET.MD.CutomerMd;
 namespace FZCZTB.TSCL.Application;
 
 /// <summary>
@@ -45,13 +47,15 @@
     private readonly SqlSugarRepository<SysRegion> _sysRegionRep;
     private readonly SqlSugarRepository<ChangeOrder> _ChangeOrderRep;
     private readonly SqlSugarRepository<TenderOrderBidding> _TenderOrderBiddingRep;
+    private readonly SqlSugarRepository<CaigourenGuanli> _CaigourenGuanliRep;
 
     public TenderOrderService(SqlSugarRepository<TenderOrder> TenderOrderRep, ISqlSugarClient sqlSugarClient,
         SqlSugarRepository<SysDictData> sysDictDataRep,
         SysCacheService sysCacheService,
         SqlSugarRepository<SysRegion> sysRegionRep,
         SqlSugarRepository<ChangeOrder> changeOrderRep
-        , SqlSugarRepository<TenderOrderBidding> TenderOrderBiddingRep)
+        ,SqlSugarRepository<TenderOrderBidding> TenderOrderBiddingRep
+        ,SqlSugarRepository<CaigourenGuanli> CaigourenGuanliRep)
     {
         _TenderOrderRep = TenderOrderRep;
         _sqlSugarClient = sqlSugarClient;
@@ -60,6 +64,7 @@
         _sysRegionRep = sysRegionRep;
         _ChangeOrderRep = changeOrderRep;
         _TenderOrderBiddingRep = TenderOrderBiddingRep;
+        _CaigourenGuanliRep = CaigourenGuanliRep;
     }
 
 
@@ -240,8 +245,18 @@
         long userId = 0;
         long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId);
 
+        long customerExId = 0;
+        long.TryParse(App.User?.FindFirst(ClaimConst.CustomerExId)?.Value, out customerExId);
+
+        string? CustomerLogoinType = App.User?.FindFirst(ClaimConst.CustomerLogoinType)?.Value;
+
+        if (CustomerLogoinType != "DLJG" && CustomerLogoinType != "CGR")
+        {
+            throw Oops.Oh("鍙湁鐧诲綍瑙掕壊鎷涙爣浠g悊鏈烘瀯鎴栬�呴噰璐汉鎵嶈兘鍙戝竷鎷涙爣锛�");
+        }
+
         var query = _TenderOrderRep.AsQueryable()
-            .Where(x => x.CreateUserId == userId)
+            .Where(x => x.CusExtendId == customerExId && x.CustomerLogoinType == CustomerLogoinType)
             .WhereIF(!string.IsNullOrWhiteSpace(input.Xingzhengquyu), u => u.Xingzhengquyu.Contains(input.Xingzhengquyu.Trim()))
               .WhereIF(!string.IsNullOrWhiteSpace(input.Hangyepinmu), u => u.Hangyepinmu == input.Hangyepinmu.Trim())
                .WhereIF( input.OrderStatus.HasValue, u => u.OrderStatus == input.OrderStatus)
@@ -329,7 +344,7 @@
 
         var tenderOrderBiddings = await _sqlSugarClient.Queryable<TenderOrderBidding>()
             .Where(x => x.TenderId == input.Id)
-            .Where(x=>x.IsTransfer == true)
+            //.Where(x=>x.IsTransfer == true)
             .Select<TenderOrderBiddingOutput>().ToListAsync();
 
         if (tenderOrderBiddings != null)
@@ -353,6 +368,22 @@
                 {
                     tenderOrderBiddingOutput.IsTransferName = "鍚�";
                 }
+
+                if (tenderOrderBiddingOutput.IsDailiTransfer.HasValue && tenderOrderBiddingOutput.IsDailiTransfer.Value)
+                {
+                    tenderOrderBiddingOutput.IsDailiTransferName = "鏄�";
+                }
+                else
+                {
+                    tenderOrderBiddingOutput.IsDailiTransferName = "鍚�";
+                }
+
+                var cusExtend = await _sqlSugarClient.Queryable<FBS_CusExtend>().Where(x => x.Id == tenderOrderBiddingOutput.CusExtendId).FirstAsync();
+                if (cusExtend != null)
+                {
+                    tenderOrderBiddingOutput.ChangshangName = cusExtend.EnterpriseName;
+                }
+               
             }
         }
         tenderOrderOutput.tenderOrderBiddings = tenderOrderBiddings;
@@ -361,6 +392,75 @@
 
         return tenderOrderOutput;
     }
+
+    /// <summary>
+    /// 閲囪喘浠g悊浜哄鍔犻潪鏀垮簻璁㈠崟澶勭悊鑾峰彇鑱旂郴鏂瑰紡
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("閲囪喘浠g悊浜哄鍔犻潪鏀垮簻璁㈠崟鑾峰彇鑱旂郴鏂瑰紡")]
+    [ApiDescriptionSettings(Name = "Addgetcontact"), HttpPost]
+    public async Task<TenderOrderOutput> Addgetcontact()
+    {
+        long userId = 0;
+        long? usertrueId = null;
+        if (long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId))
+        {
+            usertrueId = userId;
+        }
+
+        long customerExId = 0;
+        long.TryParse(App.User?.FindFirst(ClaimConst.CustomerExId)?.Value, out customerExId);
+
+        string? CustomerLogoinType = App.User?.FindFirst(ClaimConst.CustomerLogoinType)?.Value;
+
+        var RealName = App.User?.FindFirstValue(ClaimConst.RealName);
+
+        if (CustomerLogoinType != "DLJG" && CustomerLogoinType != "CGR")
+        {
+            throw Oops.Oh("鍙湁鐧诲綍瑙掕壊鎷涙爣浠g悊鏈烘瀯鎴栬�呴噰璐汉鎵嶈兘鑾峰彇鑱旂郴鏂瑰紡锛�");
+        }
+
+        var tenderOrderOutput = new TenderOrderOutput();
+
+        var fBS_CusExtend = await _sqlSugarClient.Queryable<FBS_CusExtend>()
+         .Where(x => x.Id == customerExId).FirstAsync();
+        if (fBS_CusExtend != null)
+        {
+            if (CustomerLogoinType == "DLJG" )
+            {
+                tenderOrderOutput.Dailijigoumingcheng = fBS_CusExtend.EnterpriseName;
+                tenderOrderOutput.DailiLianxiren = fBS_CusExtend.OperatorName;
+                tenderOrderOutput.DailiLianxidianhua = fBS_CusExtend.OperatorPhone;
+                tenderOrderOutput.DailiDianziyoujian = fBS_CusExtend.EnterpriseEmail;
+                tenderOrderOutput.DailiTongxindizhi = fBS_CusExtend.Residence;
+                tenderOrderOutput.DailiXiangmujingli = "";
+                tenderOrderOutput.DailijingliLianxidianhua = "";
+            }
+            else if (CustomerLogoinType == "CGR")
+            {
+                tenderOrderOutput.Caigourenmingcheng = fBS_CusExtend.EnterpriseName;
+                tenderOrderOutput.Xingzhengquyu = "";
+                tenderOrderOutput.XingzhengquyuName = "";
+                tenderOrderOutput.Jigoudaima = fBS_CusExtend.UnifiedSocialCreditCode;
+                tenderOrderOutput.Daimaleixing = "";
+                tenderOrderOutput.DaimaleixingName = "";
+                tenderOrderOutput.Lianxiren = fBS_CusExtend.OperatorName;
+                tenderOrderOutput.Lianxidianhua = fBS_CusExtend.OperatorPhone;
+                tenderOrderOutput.Tongxindizhi = fBS_CusExtend.Residence;
+                tenderOrderOutput.Dianziyoujian = fBS_CusExtend.EnterpriseEmail;
+                tenderOrderOutput.Xiangmujingbanren = "";
+                tenderOrderOutput.Zhiwu = "";
+                tenderOrderOutput.Jingbanrendianhua = "";
+            }
+                
+        }
+       
+
+        return tenderOrderOutput;
+
+    }
+
 
     /// <summary>
     /// 閲囪喘浠g悊浜哄鍔犻潪鏀垮簻璁㈠崟澶勭悊 鉃�
@@ -379,6 +479,18 @@
         {
             usertrueId = userId;
         }
+
+        long customerExId = 0;
+        long.TryParse(App.User?.FindFirst(ClaimConst.CustomerExId)?.Value, out customerExId);
+
+        string? CustomerLogoinType = App.User?.FindFirst(ClaimConst.CustomerLogoinType)?.Value;
+
+        if(CustomerLogoinType!= "DLJG" && CustomerLogoinType != "CGR")
+        {
+            throw Oops.Oh("鍙湁鐧诲綍瑙掕壊鎷涙爣浠g悊鏈烘瀯鎴栬�呴噰璐汉鎵嶈兘鍙戝竷鎷涙爣锛�");
+        }
+
+
         var RealName = App.User?.FindFirstValue(ClaimConst.RealName);
         entity.CreateTime = DateTime.Now;
         entity.UpdateTime = DateTime.Now;
@@ -386,12 +498,125 @@
         entity.CreateUserName = RealName;
         entity.UpdateUserId = usertrueId;
         entity.UpdateUserName = RealName;
+        entity.CusExtendId = customerExId;
         entity.OrderStatus = 1;
         entity.Tousu = false;
         entity.Zhiyi = false;
+        entity.CustomerLogoinType = CustomerLogoinType;
 
         return await _TenderOrderRep.InsertAsync(entity);
     }
+
+
+
+
+
+    /// <summary>
+    /// 閲囪喘浠g悊浜哄鍔犻潪鏀垮簻璁㈠崟澶勭悊 鉃�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鎷涙爣浠g悊鏈烘瀯澧炲姞閲囪喘浜�")]
+    [ApiDescriptionSettings(Name = "AddOrUpdateCaigouren"), HttpPost]
+    public async Task<bool> AddOrUpdateCaigouren(AddCaigourenGuanliInput input)
+    {
+        var entity = input.Adapt<CaigourenGuanli>();
+      
+        long userId = 0;
+        long? usertrueId = null;
+        if (long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId))
+        {
+            usertrueId = userId;
+        }
+
+        long customerExId = 0;
+        long.TryParse(App.User?.FindFirst(ClaimConst.CustomerExId)?.Value, out customerExId);
+
+        string? CustomerLogoinType = App.User?.FindFirst(ClaimConst.CustomerLogoinType)?.Value;
+
+        if (CustomerLogoinType != "DLJG" )
+        {
+            throw Oops.Oh("鍙湁鐧诲綍瑙掕壊鎷涙爣浠g悊鏈烘瀯 鎵嶈兘鏂板鎷涙爣锛�");
+        }
+        var ssss = false;
+        if (input.Id.HasValue)
+        {
+            var RealName = App.User?.FindFirstValue(ClaimConst.RealName);
+            entity.UpdateTime = DateTime.Now;
+            entity.UpdateUserId = usertrueId;
+            entity.UpdateUserName = RealName;
+            entity.CusExtendId = customerExId;
+            ssss = await _CaigourenGuanliRep.UpdateAsync(entity);
+        }
+        else
+        {
+            entity.Id = Guid.NewGuid(); 
+            var RealName = App.User?.FindFirstValue(ClaimConst.RealName);
+            entity.CreateTime = DateTime.Now;
+            entity.UpdateTime = DateTime.Now;
+            entity.CreateUserId = usertrueId;
+            entity.CreateUserName = RealName;
+            entity.UpdateUserId = usertrueId;
+            entity.UpdateUserName = RealName;
+            entity.CusExtendId = customerExId;
+            ssss = await _CaigourenGuanliRep.InsertAsync(entity);
+        }
+      
+
+
+        return ssss;
+    }
+
+
+
+
+    /// <summary>
+    /// 閲囪喘浠g悊浜哄垹闄ら噰璐汉 鉂�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("閲囪喘浠g悊浜哄垹闄ら噰璐汉")]
+    [ApiDescriptionSettings(Name = "DeleteCaigouren"), HttpPost]
+    public async Task DeleteCaigouren(DeleteTenderOrderInput input)
+    {
+        string? CustomerLogoinType = App.User?.FindFirst(ClaimConst.CustomerLogoinType)?.Value;
+
+        if (CustomerLogoinType != "DLJG" )
+        {
+            throw Oops.Oh("鍙湁鐧诲綍瑙掕壊鎷涙爣浠g悊鏈烘瀯鎵嶈兘鍒犻櫎閲囪喘浜猴紒");
+        }
+
+
+        var entity = await _sqlSugarClient.Queryable<CaigourenGuanli>().Where(x => x.Id == input.Id).FirstAsync() ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+        await _CaigourenGuanliRep.DeleteAsync(entity);   //鐪熷垹闄�
+    }
+
+
+    /// <summary>
+    /// 鎷涙爣浠g悊鍒嗛〉鏌ヨ閲囪喘浜� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鎷涙爣浠g悊鍒嗛〉鏌ヨ閲囪喘浜�")]
+    [ApiDescriptionSettings(Name = "PageCaigouren"), HttpPost]
+    public async Task<SqlSugarPagedList<CaigourenGuanli>> PageCaigouren(PageCaigiourenInput input)
+    {
+        long userId = 0;
+        long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId);
+
+        long customerExId = 0;
+        long.TryParse(App.User?.FindFirst(ClaimConst.CustomerExId)?.Value, out customerExId);
+
+
+        var query = _CaigourenGuanliRep.AsQueryable()
+            .Where(x => x.CusExtendId == customerExId)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Xingzhengquyu), u => u.Xingzhengquyu.Contains(input.Xingzhengquyu.Trim()))
+                      .WhereIF(!string.IsNullOrWhiteSpace(input.Caigourenmingcheng), u => u.Caigourenmingcheng.Contains(input.Caigourenmingcheng.Trim()))
+            .WhereIF(input.CreateDateRange != null && input.CreateDateRange.Length == 2, u => u.CreateTime >= input.CreateDateRange[0] && u.CreateTime <= input.CreateDateRange[1])
+            .Select<CaigourenGuanli>();
+        return await query.OrderBuilder(input, "", "CreateTime", true).ToPagedListAsync(input.Page, input.PageSize);
+    }
+
 
     /// <summary>
     /// 閲囪喘浠g悊浜烘洿鏂伴潪鏀垮簻璁㈠崟澶勭悊 鉁忥笍
@@ -409,6 +634,14 @@
         {
             usertrueId = userId;
         }
+
+        string? CustomerLogoinType = App.User?.FindFirst(ClaimConst.CustomerLogoinType)?.Value;
+
+        if (CustomerLogoinType != "DLJG" && CustomerLogoinType != "CGR")
+        {
+            throw Oops.Oh("鍙湁鐧诲綍瑙掕壊鎷涙爣浠g悊鏈烘瀯鎴栬�呴噰璐汉鎵嶈兘鏇存柊鎷涙爣锛�");
+        }
+
         var tenderOrder = _TenderOrderRep.AsQueryable().Where(x => x.Id == input.Id).First();
         if(tenderOrder == null)
         {
@@ -444,6 +677,14 @@
         {
             usertrueId = userId;
         }
+
+        string? CustomerLogoinType = App.User?.FindFirst(ClaimConst.CustomerLogoinType)?.Value;
+
+        if (CustomerLogoinType != "DLJG" && CustomerLogoinType != "CGR")
+        {
+            throw Oops.Oh("鍙湁鐧诲綍瑙掕壊鎷涙爣浠g悊鏈烘瀯鎴栬�呴噰璐汉鎵嶈兘鏇存柊闈炴斂搴滆鍗曡川鐤戯紒");
+        }
+
         var RealName = App.User?.FindFirstValue(ClaimConst.RealName);
 
         var tenderOrder = _TenderOrderRep.AsQueryable().Where(x => x.Id == input.Id).First();
@@ -476,6 +717,14 @@
         {
             usertrueId = userId;
         }
+
+        string? CustomerLogoinType = App.User?.FindFirst(ClaimConst.CustomerLogoinType)?.Value;
+
+        if (CustomerLogoinType != "DLJG" && CustomerLogoinType != "CGR")
+        {
+            throw Oops.Oh("鍙湁鐧诲綍瑙掕壊鎷涙爣浠g悊鏈烘瀯鎴栬�呴噰璐汉鎵嶈兘鏇存柊闈炴斂搴滆鍗曟姇璇夛紒");
+        }
+
         var RealName = App.User?.FindFirstValue(ClaimConst.RealName);
 
         var tenderOrder = _TenderOrderRep.AsQueryable().Where(x => x.Id == input.Id).First();
@@ -501,6 +750,13 @@
     [ApiDescriptionSettings(Name = "Delete"), HttpPost]
     public async Task Delete(DeleteTenderOrderInput input)
     {
+        string? CustomerLogoinType = App.User?.FindFirst(ClaimConst.CustomerLogoinType)?.Value;
+
+        if (CustomerLogoinType != "DLJG" && CustomerLogoinType != "CGR")
+        {
+            throw Oops.Oh("鍙湁鐧诲綍瑙掕壊鎷涙爣浠g悊鏈烘瀯鎴栬�呴噰璐汉鎵嶈兘鍒犻櫎鎷涙爣锛�");
+        }
+
         //var entity = await _TenderOrderRep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
         var entity = await _sqlSugarClient.Queryable<TenderOrder>().Where(x=>x.Id== input.Id).FirstAsync() ?? throw Oops.Oh(ErrorCodeEnum.D1002);
         //await _TenderOrderRep.FakeDeleteAsync(entity);   //鍋囧垹闄�
@@ -516,6 +772,14 @@
     [ApiDescriptionSettings(Name = "BatchDelete"), HttpPost]
     public async Task<bool > BatchDelete([Required(ErrorMessage = "涓婚敭鍒楄〃涓嶈兘涓虹┖")]List<DeleteTenderOrderInput> input)
     {
+
+        string? CustomerLogoinType = App.User?.FindFirst(ClaimConst.CustomerLogoinType)?.Value;
+
+        if (CustomerLogoinType != "DLJG" && CustomerLogoinType != "CGR")
+        {
+            throw Oops.Oh("鍙湁鐧诲綍瑙掕壊鎷涙爣浠g悊鏈烘瀯鎴栬�呴噰璐汉鎵嶈兘鎵归噺鍒犻櫎鎷涙爣锛�");
+        }
+
         var exp = Expressionable.Create<TenderOrder>();
         foreach (var row in input) exp = exp.Or(it => it.Id == row.Id);
         var list = await _TenderOrderRep.AsQueryable().Where(exp.ToExpression()).ToListAsync();
@@ -614,6 +878,14 @@
         {
             usertrueId = userId;
         }
+
+        string? CustomerLogoinType = App.User?.FindFirst(ClaimConst.CustomerLogoinType)?.Value;
+
+        if (CustomerLogoinType != "DLJG" && CustomerLogoinType != "CGR")
+        {
+            throw Oops.Oh("鍙湁鐧诲綍瑙掕壊鎷涙爣浠g悊鏈烘瀯鎴栬�呴噰璐汉鎵嶈兘鍙戝竷鎷涙爣锛�");
+        }
+
         var tenderOrder = _TenderOrderRep.AsQueryable().Where(x => x.Id == input.Id).First();
         if (tenderOrder == null)
         {
@@ -629,7 +901,7 @@
         entity.UpdateUserName = RealName;
         entity.FabuDate = entity.UpdateTime;
         entity.OrderStatus = 2;
-        await _sqlSugarClient.Updateable(entity).UpdateColumns(x => new { x.ToubiaoStartDate, x.ToubiaoEndDate, x.KaibiaoDate, x.FabuDate, x.Zhaobiaowenjian, x.Fujian, x.Kaibiaodidian, x.UpdateTime, x.UpdateUserId, x.UpdateUserName,x.OrderStatus }).ExecuteCommandAsync();
+        await _sqlSugarClient.Updateable(entity).UpdateColumns(x => new { x.ToubiaoStartDate, x.ToubiaoEndDate, x.KaibiaoDate, x.FabuDate, x.Zhaobiaowenjian,x.ZhaobiaowenjianName, x.Fujian,x.FujianName, x.Kaibiaodidian, x.UpdateTime, x.UpdateUserId, x.UpdateUserName,x.OrderStatus }).ExecuteCommandAsync();
         //await _TenderOrderRep.UpdateAsync(entity);
     }
 
@@ -652,6 +924,14 @@
         {
             usertrueId = userId;
         }
+
+        string? CustomerLogoinType = App.User?.FindFirst(ClaimConst.CustomerLogoinType)?.Value;
+
+        if (CustomerLogoinType != "DLJG" && CustomerLogoinType != "CGR")
+        {
+            throw Oops.Oh("鍙湁鐧诲綍瑙掕壊鎷涙爣浠g悊鏈烘瀯鎴栬�呴噰璐汉鎵嶈兘鏇存柊闈炴斂搴滆鍗曟爣棰橈紒");
+        }
+
         var RealName = App.User?.FindFirstValue(ClaimConst.RealName);
 
         var tenderOrder = _TenderOrderRep.AsQueryable().Where(x => x.Id == input.Id).First();
@@ -684,6 +964,14 @@
         {
             usertrueId = userId;
         }
+
+        string? CustomerLogoinType = App.User?.FindFirst(ClaimConst.CustomerLogoinType)?.Value;
+
+        if (CustomerLogoinType != "DLJG" && CustomerLogoinType != "CGR")
+        {
+            throw Oops.Oh("鍙湁鐧诲綍瑙掕壊鎷涙爣浠g悊鏈烘瀯鎴栬�呴噰璐汉鎵嶈兘鍙戝竷鍙樻洿鍏憡锛�");
+        }
+
         var tenderOrder = _TenderOrderRep.AsQueryable().Where(x => x.Id == input.TenderId).First();
         if (tenderOrder == null)
         {
@@ -706,6 +994,7 @@
         changeOrder.TenderId = input.TenderId;
         changeOrder.ProjectName = input.ProjectName;
         changeOrder.Biangengwenjian = input.Biangengwenjian;
+        changeOrder.BiangengwenjianName = input.BiangengwenjianName;
         changeOrder.CreateTime = DateTime.Now;
         changeOrder.CreateUserId = usertrueId;
         changeOrder.CreateUserName = RealName;
@@ -775,6 +1064,13 @@
     [ApiDescriptionSettings(Name = "CHangeDelete"), HttpPost]
     public async Task CHangeDelete(DeleteTenderOrderInput input)
     {
+        string? CustomerLogoinType = App.User?.FindFirst(ClaimConst.CustomerLogoinType)?.Value;
+
+        if (CustomerLogoinType != "DLJG" && CustomerLogoinType != "CGR")
+        {
+            throw Oops.Oh("鍙湁鐧诲綍瑙掕壊鎷涙爣浠g悊鏈烘瀯鎴栬�呴噰璐汉鎵嶈兘鍒犻櫎鍙樻洿鍏憡锛�");
+        }
+
         //var entity = await _TenderOrderRep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
         var entity = await _sqlSugarClient.Queryable<ChangeOrder>().Where(x => x.Id == input.Id).FirstAsync() ?? throw Oops.Oh(ErrorCodeEnum.D1002);
         //await _TenderOrderRep.FakeDeleteAsync(entity);   //鍋囧垹闄�
@@ -783,14 +1079,15 @@
 
 
 
+
     /// <summary>
-    /// 浠g悊鍟嗗彂甯冧腑鏍囨枃浠� 鉃�
+    /// 閲囪喘浠g悊浜虹‘璁や緵搴斿晢鎶ュ悕 鉃�
     /// </summary>
     /// <param name="input"></param>
     /// <returns></returns>
-    [DisplayName("浠g悊鍟嗗彂甯冧腑鏍囨枃浠�")]
-    [ApiDescriptionSettings(Name = "AddZhongbiao"), HttpPost]
-    public async Task<bool> AddZhongbiao(OrderZhongbiaoInput input)
+    [DisplayName("閲囪喘浠g悊浜虹‘璁や緵搴斿晢鎶ュ悕")]
+    [ApiDescriptionSettings(Name = "QuerenBaomingfei"), HttpPost]
+    public async Task<bool> QuerenBaomingfei(QuerenSuplierBaomingfeiInput input)
     {
 
 
@@ -800,6 +1097,73 @@
         {
             usertrueId = userId;
         }
+        var RealName = App.User?.FindFirstValue(ClaimConst.RealName);
+
+        string? CustomerLogoinType = App.User?.FindFirst(ClaimConst.CustomerLogoinType)?.Value;
+
+        if (CustomerLogoinType != "DLJG" && CustomerLogoinType != "CGR")
+        {
+            throw Oops.Oh("鍙湁鐧诲綍瑙掕壊鎷涙爣浠g悊鏈烘瀯鎴栬�呴噰璐汉鎵嶈兘纭渚涘簲鍟嗘姤鍚嶏紒");
+        }
+
+
+        var tenderOrderBidding = await _TenderOrderBiddingRep.AsQueryable().Where(x => x.Id == input.TenderOrderBiddingId).FirstAsync();
+
+        if (tenderOrderBidding == null )
+        {
+            throw Oops.Oh("娌℃壘鍒版姇鏍囦俊鎭紒");
+        }
+
+        if (tenderOrderBidding != null && (tenderOrderBidding.IsTransfer.HasValue && tenderOrderBidding.IsTransfer.Value))
+        {
+            throw Oops.Oh("宸茬粡纭鎶ュ悕锛�");
+        }
+
+
+        var tenderOrder = await _TenderOrderRep.AsQueryable().Where(x => x.Id == tenderOrderBidding.TenderId).FirstAsync();
+        if (tenderOrder == null)
+        {
+            throw Oops.Oh("涓嶅瓨鍦ㄧ殑鎷涙爣锛�");
+        }
+
+        tenderOrderBidding.IsTransfer = true;
+        tenderOrderBidding.Zhifujine = null;
+        tenderOrderBidding.TransferTime = DateTime.Now;
+        tenderOrderBidding.TransferNo = usertrueId.Value.ToString();// "BMF" + tenderOrderBidding.Id.ToString("N");
+        tenderOrderBidding.TradeNo = "";// DateTimeOffset.Now.ToString("yyyyMMddHHmmssfff") + (new Random()).Next(100, 1000); // 璁㈠崟鍙�
+        tenderOrderBidding.UpdateTime = DateTime.Now;
+        tenderOrderBidding.UpdateUserId = usertrueId;
+        tenderOrderBidding.UpdateUserName = RealName;
+        return await _TenderOrderBiddingRep.UpdateAsync(tenderOrderBidding);
+
+    }
+
+
+    /// <summary>
+    /// 浠g悊鍟嗗彂甯冧腑鏍囧叕鍛� 鉃�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("浠g悊鍟嗗彂甯冧腑鏍囧叕鍛�")]
+    [ApiDescriptionSettings(Name = "AddZhongbiaoGonggao"), HttpPost]
+    public async Task<bool> AddZhongbiaoGonggao(OrderZhongbiaoInput input)
+    {
+
+
+        long userId = 0;
+        long? usertrueId = null;
+        if (long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId))
+        {
+            usertrueId = userId;
+        }
+
+        string? CustomerLogoinType = App.User?.FindFirst(ClaimConst.CustomerLogoinType)?.Value;
+
+        if (CustomerLogoinType != "DLJG" && CustomerLogoinType != "CGR")
+        {
+            throw Oops.Oh("鍙湁鐧诲綍瑙掕壊鎷涙爣浠g悊鏈烘瀯鎴栬�呴噰璐汉鎵嶈兘鍙戝竷涓爣鏂囦欢锛�");
+        }
+
         var RealName = App.User?.FindFirstValue(ClaimConst.RealName);
 
        
@@ -814,45 +1178,211 @@
             throw Oops.Oh("宸茬粡涓爣鐨勯」鐩笉鑳藉啀娆′腑鏍囷紒");
         }
 
-
-        var tenderOrderBidding = await _TenderOrderBiddingRep.AsQueryable().Where(x => x.TenderId == input.TenderOrderId).Where(x => x.CreateUserId == input.SupplierUserId).FirstAsync();
-        if (tenderOrderBidding == null)
+        var ssss = input.TenderOrderBiddingIds.Split(',');
+        if (string.IsNullOrEmpty(input.TenderOrderBiddingIds))
         {
-            throw Oops.Oh("涓嶅瓨鍦ㄧ殑鎶曟爣锛�");
-        }
-        if (tenderOrderBidding.IsTransfer != true )
-        {
-            throw Oops.Oh("娌℃湁鏀粯鎶ュ悕璐广�備笉鑳戒腑鏍囷紒");
-        }
-        if (string.IsNullOrEmpty(tenderOrderBidding.Touboaowenjian) )
-        {
-            throw Oops.Oh("娌℃湁鎶曟爣鏂囦欢銆備笉鑳戒腑鏍囷紒");
+            throw Oops.Oh("娌℃湁閫変腑涓爣渚涘簲鍟嗭紒");
         }
 
-        tenderOrder.ZhongbiaoId = input.SupplierUserId;
-        tenderOrder.ZhongbiaoName = input.SupplierUserName;
-        tenderOrder.Zhongbiaowenjian = input.Zhongbiaowenjian;
+      
+
+        foreach ( var sss in ssss)
+        {
+            var tenderOrderBiddingId = Guid.Parse(sss);
+            var tenderOrderBidding = await _TenderOrderBiddingRep.AsQueryable().Where(x => x.Id == tenderOrderBiddingId).FirstAsync();
+            if (tenderOrderBidding == null)
+            {
+                throw Oops.Oh("涓嶅瓨鍦ㄧ殑鎶曟爣锛�");
+            }
+            if (tenderOrderBidding.IsTransfer != true)
+            {
+                throw Oops.Oh("娌℃湁鎶ュ悕纭銆備笉鑳戒腑鏍囷紒");
+            }
+            //if (string.IsNullOrEmpty(tenderOrderBidding.Touboaowenjian))
+            //{
+            //    throw Oops.Oh("娌℃湁鎶曟爣鏂囦欢銆備笉鑳戒腑鏍囷紒");
+            //}
+
+          
+        }
+
+
+
+
+
+
+        tenderOrder.ZhongbiaoId = usertrueId;
+        tenderOrder.ZhongbiaoName = "";
+        tenderOrder.Zhongbiaogonggao = input.Zhongbiaogonggao;
+        tenderOrder.ZhongbiaogonggaoName = input.ZhongbiaogonggaoName;
         tenderOrder.ZhongbiaoDate = DateTime.Now;
         tenderOrder.UpdateTime = DateTime.Now;
         tenderOrder.UpdateUserId = usertrueId;
         tenderOrder.UpdateUserName = RealName;
         tenderOrder.OrderStatus = 3;
         tenderOrder.ZhongbiaoTittle = input.ZhongbiaoTittle;
+      
+
+
+        foreach (var sss in ssss)
+        {
+            var tenderOrderBiddingId = Guid.Parse(sss);
+            var tenderOrderBidding = await _TenderOrderBiddingRep.AsQueryable().Where(x => x.Id == tenderOrderBiddingId).FirstAsync();
+            tenderOrderBidding.IsSelected = true;
+            tenderOrderBidding.SelectedTime = tenderOrder.ZhongbiaoDate;
+            tenderOrderBidding.UpdateTime = DateTime.Now;
+            tenderOrderBidding.UpdateUserId = usertrueId;
+            tenderOrderBidding.UpdateUserName = RealName;
+            await _TenderOrderBiddingRep.UpdateAsync(tenderOrderBidding);
+
+            var SupplierUserId = tenderOrderBidding.CusExtendId??0;
+            var cusExtend = await _sqlSugarClient.Queryable<FBS_CusExtend>().Where(x => x.Id == SupplierUserId).FirstAsync();
+            if (cusExtend != null)
+            {
+                tenderOrder.ZhongbiaoName += cusExtend.EnterpriseName + ",";
+            }
+        }
+        tenderOrder.ZhongbiaoName = tenderOrder.ZhongbiaoName.Trim(',');
         await _TenderOrderRep.UpdateAsync(tenderOrder);
 
-
-        tenderOrderBidding.IsSelected = true;
-        tenderOrderBidding.SelectedTime = tenderOrder.ZhongbiaoDate;
-        tenderOrderBidding.UpdateTime = DateTime.Now;
-        tenderOrderBidding.UpdateUserId = usertrueId;
-        tenderOrderBidding.UpdateUserName = RealName;
+        return true;
 
 
- 
+
+
+
+
+
+    }
+
+
+
+
+    /// <summary>
+    /// 浠g悊鍟嗗彂甯冧腑鏍囨枃浠� 鉃�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("浠g悊鍟嗗彂甯冧腑鏍囨枃浠�")]
+    [ApiDescriptionSettings(Name = "AddZhongbiaoWenjian"), HttpPost]
+    public async Task<bool> AddZhongbiaoWenjian(OrderZhongbiaoWenjianInput input)
+    {
+
+
+        long userId = 0;
+        long? usertrueId = null;
+        if (long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId))
+        {
+            usertrueId = userId;
+        }
+
+        string? CustomerLogoinType = App.User?.FindFirst(ClaimConst.CustomerLogoinType)?.Value;
+
+        if (CustomerLogoinType != "DLJG" && CustomerLogoinType != "CGR")
+        {
+            throw Oops.Oh("鍙湁鐧诲綍瑙掕壊鎷涙爣浠g悊鏈烘瀯鎴栬�呴噰璐汉鎵嶈兘鍙戝竷涓爣鏂囦欢锛�");
+        }
+
+        var RealName = App.User?.FindFirstValue(ClaimConst.RealName);
+
+
+
+        var tenderOrder = await _TenderOrderRep.AsQueryable().Where(x => x.Id == input.TenderOrderId).FirstAsync();
+        if (tenderOrder == null)
+        {
+            throw Oops.Oh("涓嶅瓨鍦ㄧ殑鎷涙爣锛�");
+        }
+        if (tenderOrder.OrderStatus != 3)
+        {
+            throw Oops.Oh("娌℃湁鍙戝竷涓爣鍏憡锛�");
+        }
+         
+
+
+
+
+
 
        
-        return await _TenderOrderBiddingRep.UpdateAsync(tenderOrderBidding);
+        tenderOrder.Zhongbiaowenjian = input.Zhongbiaowenjian;
+        tenderOrder.ZhongbiaowenjianName = input.ZhongbiaowenjianName;
+        
+       
+        tenderOrder.UpdateTime = DateTime.Now;
+        tenderOrder.UpdateUserId = usertrueId;
+        tenderOrder.UpdateUserName = RealName;
+        await _TenderOrderRep.UpdateAsync(tenderOrder);
+
+        return true;
+
+
+
+
+
+
+
     }
 
 
+
+
+    ///// <summary>
+    ///// 閲囪喘浠g悊浜虹‘璁や緵搴斿晢宸叉敮浠樹唬鐞嗚垂 鉃�
+    ///// </summary>
+    ///// <param name="input"></param>
+    ///// <returns></returns>
+    //[DisplayName("閲囪喘浠g悊浜虹‘璁や緵搴斿晢宸叉敮浠樹唬鐞嗚垂")]
+    //[ApiDescriptionSettings(Name = "QuerenDailifei"), HttpPost]
+    //public async Task<bool> QuerenDailifei(QuerenSuplierBaomingfeiInput input)
+    //{
+
+
+    //    long userId = 0;
+    //    long? usertrueId = null;
+    //    if (long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId))
+    //    {
+    //        usertrueId = userId;
+    //    }
+    //    var RealName = App.User?.FindFirstValue(ClaimConst.RealName);
+
+    //    string? CustomerLogoinType = App.User?.FindFirst(ClaimConst.CustomerLogoinType)?.Value;
+
+    //    if (CustomerLogoinType != "DLJG" && CustomerLogoinType != "CGR")
+    //    {
+    //        throw Oops.Oh("鍙湁鐧诲綍瑙掕壊鎷涙爣浠g悊鏈烘瀯鎴栬�呴噰璐汉鎵嶈兘纭渚涘簲鍟嗗凡鏀粯浠g悊璐癸紒");
+    //    }
+
+
+    //    var tenderOrderBidding = await _TenderOrderBiddingRep.AsQueryable().Where(x => x.Id == input.TenderOrderBiddingId).FirstAsync();
+
+    //    if (tenderOrderBidding == null)
+    //    {
+    //        throw Oops.Oh("娌℃壘鍒版姇鏍囦俊鎭紒");
+    //    }
+
+    //    if (tenderOrderBidding != null && (tenderOrderBidding.IsDailiTransfer.HasValue && tenderOrderBidding.IsDailiTransfer.Value))
+    //    {
+    //        throw Oops.Oh("宸茬粡浠樻锛�");
+    //    }
+
+
+    //    var tenderOrder = await _TenderOrderRep.AsQueryable().Where(x => x.Id == tenderOrderBidding.TenderId).FirstAsync();
+    //    if (tenderOrder == null)
+    //    {
+    //        throw Oops.Oh("涓嶅瓨鍦ㄧ殑鎷涙爣锛�");
+    //    }
+
+    //    tenderOrderBidding.IsDailiTransfer = true;
+    //    tenderOrderBidding.DailiZhifujine = 0;
+    //    tenderOrderBidding.DailiTransferTime = DateTime.Now;
+    //    tenderOrderBidding.DailiTransferNo = "BMF" + tenderOrderBidding.Id.ToString("N");
+    //    tenderOrderBidding.DailiTradeNo = DateTimeOffset.Now.ToString("yyyyMMddHHmmssfff") + (new Random()).Next(100, 1000); // 璁㈠崟鍙�
+    //    tenderOrderBidding.UpdateTime = DateTime.Now;
+    //    tenderOrderBidding.UpdateUserId = usertrueId;
+    //    tenderOrderBidding.UpdateUserName = RealName;
+    //    return await _TenderOrderBiddingRep.UpdateAsync(tenderOrderBidding);
+
+    //}
+
+
 }

--
Gitblit v1.9.1