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/SuplierTendOrder/SuplierTendOrderService.cs |  307 ++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 232 insertions(+), 75 deletions(-)

diff --git a/Admin.NET/FZFCGDD.ORDER.Application/Service/SuplierTendOrder/SuplierTendOrderService.cs b/Admin.NET/FZFCGDD.ORDER.Application/Service/SuplierTendOrder/SuplierTendOrderService.cs
index b4be808..48ec2b7 100644
--- a/Admin.NET/FZFCGDD.ORDER.Application/Service/SuplierTendOrder/SuplierTendOrderService.cs
+++ b/Admin.NET/FZFCGDD.ORDER.Application/Service/SuplierTendOrder/SuplierTendOrderService.cs
@@ -31,6 +31,7 @@
 using MimeKit;
 using static SKIT.FlurlHttpClient.Wechat.Api.Events.TransferCustomerServiceReply.Types;
 using Aop.Api.Domain;
+using FZCZTB.NET.MD.CutomerMd.Extend;
 namespace FZCZTB.TSCL.Application;
 
 /// <summary>
@@ -76,9 +77,13 @@
         {
             usertrueId = userId;
         }
+
+        long customerExId = 0;
+        long.TryParse(App.User?.FindFirst(ClaimConst.CustomerExId)?.Value, out customerExId);
+
         var RealName = App.User?.FindFirstValue(ClaimConst.RealName);
 
-        var collection = await _CollectionRep.AsQueryable().Where(x =>x.TenderId == input.TenderOrderId).Where(x => x.CreateUserId == userId).FirstAsync();
+        var collection = await _CollectionRep.AsQueryable().Where(x =>x.TenderId == input.TenderOrderId).Where(x => x.CusExtendId == customerExId).FirstAsync();
         if (input.isColection && collection != null)
         {
             return true;
@@ -104,6 +109,7 @@
             entity.CreateUserName = RealName;
             entity.UpdateUserId = usertrueId;
             entity.UpdateUserName = RealName;
+            entity.CusExtendId = customerExId;
             entity.TenderId = input.TenderOrderId;
         }
         return await _CollectionRep.InsertAsync(entity);
@@ -124,8 +130,11 @@
         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 = _sqlSugarClient.Queryable<Collection,TenderOrder>((a, b) => a.TenderId == b.Id)
-            .Where((a, b) => a.CreateUserId == userId)
+            .Where((a, b) => a.CusExtendId == customerExId)
             
                       .WhereIF(!string.IsNullOrWhiteSpace(input.ProjectName), (a, b) => b.ProjectName.Contains(input.ProjectName.Trim()))
                       .WhereIF(!string.IsNullOrWhiteSpace(input.Dailijigoumingcheng), (a, b) => b.Dailijigoumingcheng.Contains(input.Dailijigoumingcheng.Trim()))
@@ -194,13 +203,13 @@
 
 
     /// <summary>
-    /// 渚涘簲鍟嗘敮浠樻姤鍚嶈垂 鉃�
+    /// 渚涘簲鍟嗘姤鍚� 鉃�
     /// </summary>
     /// <param name="input"></param>
     /// <returns></returns>
-    [DisplayName("渚涘簲鍟嗘敮浠樻姤鍚嶈垂")]
-    [ApiDescriptionSettings(Name = "AddBaomingfei"), HttpPost]
-    public async Task<bool> AddBaomingfei(SuplierBaomingfeiInput input)
+    [DisplayName("渚涘簲鍟嗘姤鍚�")]
+    [ApiDescriptionSettings(Name = "AddBaoming"), HttpPost]
+    public async Task<bool> AddBaoming(SuplierBaomingfeiInput input)
     {
 
 
@@ -212,65 +221,102 @@
         }
         var RealName = App.User?.FindFirstValue(ClaimConst.RealName);
 
-        
+        string? CustomerLogoinType = App.User?.FindFirst(ClaimConst.CustomerLogoinType)?.Value;
+
+        if (CustomerLogoinType != "GYS")
+        {
+            throw Oops.Oh("鍙湁鐧诲綍瑙掕壊渚涘簲鍟嗘墠鑳芥敮浠樻姤鍚嶈垂锛�");
+        }
+
+        long customerExId = 0;
+        long.TryParse(App.User?.FindFirst(ClaimConst.CustomerExId)?.Value, out customerExId);
+
         var tenderOrder = await _TenderOrderRep.AsQueryable().Where(x => x.Id == input.TenderOrderId).FirstAsync();
         if (tenderOrder == null)
         {
             throw Oops.Oh("涓嶅瓨鍦ㄧ殑鎷涙爣锛�");
         }
 
-      
 
-        if (tenderOrder.Baomingfei.HasValue && tenderOrder.Baomingfei.Value > 0)
+
+        //if (tenderOrder.Baomingfei.HasValue && tenderOrder.Baomingfei.Value > 0)
+        //{
+        var tenderOrderBidding = await _TenderOrderBiddingRep.AsQueryable().Where(x => x.TenderId == input.TenderOrderId).Where(x => x.CusExtendId == customerExId).FirstAsync();
+        if (tenderOrderBidding != null )
         {
-            var tenderOrderBidding = await _TenderOrderBiddingRep.AsQueryable().Where(x => x.TenderId == input.TenderOrderId).Where(x => x.CreateUserId == userId).FirstAsync();
-            if(tenderOrderBidding!=null && (tenderOrderBidding.IsTransfer.HasValue && tenderOrderBidding.IsTransfer.Value))
-            {
-                throw Oops.Oh("宸茬粡浠樻锛�");
-            }
-
-
-
-            if (tenderOrderBidding == null)
-            {
-                tenderOrderBidding = new TenderOrderBidding();
-                tenderOrderBidding.Id = Guid.NewGuid();
-                tenderOrderBidding.TenderId = input.TenderOrderId;
-                //tenderOrderBidding.IsTransfer = true;
-                tenderOrderBidding.Zhifujine = tenderOrder.Baomingfei.Value;
-                tenderOrderBidding.TransferTime = DateTime.Now;
-                tenderOrderBidding.TransferNo = "BMF"+tenderOrderBidding.Id.ToString("N");
-
-
-                tenderOrderBidding.CreateTime = DateTime.Now;
-                tenderOrderBidding.CreateUserId = usertrueId;
-                tenderOrderBidding.CreateUserName = RealName;
-                tenderOrderBidding.UpdateTime = DateTime.Now;
-                tenderOrderBidding.UpdateUserId = usertrueId;
-                tenderOrderBidding.UpdateUserName = RealName;
-                return await _TenderOrderBiddingRep.InsertAsync(tenderOrderBidding);
-            }
-            else
-            {
-                tenderOrderBidding.Zhifujine = tenderOrder.Baomingfei.Value;
-                tenderOrderBidding.TransferTime = DateTime.Now;
-                tenderOrderBidding.TransferNo = "BMF" + tenderOrderBidding.Id.ToString("N");
-                tenderOrderBidding.UpdateTime = DateTime.Now;
-                tenderOrderBidding.UpdateUserId = usertrueId;
-                tenderOrderBidding.UpdateUserName = RealName;
-                return await _TenderOrderBiddingRep.UpdateAsync(tenderOrderBidding);
-            }
-            
-           
-
+            throw Oops.Oh("宸茬粡鎶ュ悕锛�");
         }
-        else
-        {
-            throw Oops.Oh("鏃犻渶鏀粯鎶ュ悕璐癸紒");
-        }
+
+
+        tenderOrderBidding = new TenderOrderBidding();
+        tenderOrderBidding.Id = Guid.NewGuid();
+        tenderOrderBidding.TenderId = input.TenderOrderId;
+        tenderOrderBidding.IsTransfer = false;
+        tenderOrderBidding.Zhifujine = null;
+        tenderOrderBidding.TransferTime = DateTime.Now;
+        tenderOrderBidding.TransferNo = "";// "BMF" + tenderOrderBidding.Id.ToString("N");
+        tenderOrderBidding.TradeNo = ""; //DateTimeOffset.Now.ToString("yyyyMMddHHmmssfff") + (new Random()).Next(100, 1000); // 璁㈠崟鍙�
+
+        tenderOrderBidding.CreateTime = DateTime.Now;
+        tenderOrderBidding.CreateUserId = usertrueId;
+        tenderOrderBidding.CreateUserName = RealName;
+        tenderOrderBidding.UpdateTime = DateTime.Now;
+        tenderOrderBidding.UpdateUserId = usertrueId;
+        tenderOrderBidding.UpdateUserName = RealName;
+        tenderOrderBidding.CusExtendId = customerExId;
+        return await _TenderOrderBiddingRep.InsertAsync(tenderOrderBidding);
 
     }
 
+
+
+
+    /// <summary>
+    /// 渚涘簲鍟嗚幏鍙栦唬鐞嗕汉鐨勬敮浠樹俊鎭� 鉃�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("渚涘簲鍟嗚幏鍙栦唬鐞嗕汉鐨勬敮浠樹俊鎭�")]
+    [ApiDescriptionSettings(Name = "AddBaomingfei"), HttpPost]
+    public async Task<FBS_CusExtend> AddBaomingfei(SuplierBaomingfeiInput 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 != "GYS")
+        {
+            throw Oops.Oh("鍙湁鐧诲綍瑙掕壊渚涘簲鍟嗘墠鑳借幏鍙栦唬鐞嗕汉鐨勬敮浠樹俊鎭紒");
+        }
+
+        var tenderOrder = await _TenderOrderRep.AsQueryable().Where(x => x.Id == input.TenderOrderId).FirstAsync();
+        if (tenderOrder == null)
+        {
+            throw Oops.Oh("涓嶅瓨鍦ㄧ殑鎷涙爣锛�");
+        }
+
+        var cusExtend = await _sqlSugarClient.Queryable<FBS_CusExtend>().Where(x => x.Id == tenderOrder.CusExtendId ).FirstAsync();
+        var cusExtend1 = new FBS_CusExtend();
+        if (cusExtend != null)
+        {
+            cusExtend1.EnterpriseName = cusExtend.EnterpriseName;
+            cusExtend1.BankName = cusExtend.BankName;
+            cusExtend1.BankAccount = cusExtend.BankAccount;
+            cusExtend1.BankAccountIMG = cusExtend.BankAccountIMG;
+        }
+
+
+
+        return cusExtend1;
+    }
 
 
 
@@ -291,44 +337,81 @@
         {
             usertrueId = userId;
         }
+
+        string? CustomerLogoinType = App.User?.FindFirst(ClaimConst.CustomerLogoinType)?.Value;
+
+        if (CustomerLogoinType != "GYS")
+        {
+            throw Oops.Oh("鍙湁鐧诲綍瑙掕壊渚涘簲鍟嗘墠鑳戒笂浼犳嫑鏍囨枃浠讹紒");
+        }
+
+        long customerExId = 0;
+        long.TryParse(App.User?.FindFirst(ClaimConst.CustomerExId)?.Value, out customerExId);
         var RealName = App.User?.FindFirstValue(ClaimConst.RealName);
 
-        var tenderOrderBidding = await _TenderOrderBiddingRep.AsQueryable().Where(x => x.TenderId == input.TenderOrderId).Where(x => x.CreateUserId == userId).FirstAsync();
+        var tenderOrderBidding = await _TenderOrderBiddingRep.AsQueryable().Where(x => x.TenderId == input.TenderOrderId).Where(x => x.CusExtendId == customerExId).FirstAsync();
 
         var tenderOrder  = await _TenderOrderRep.AsQueryable().Where(x => x.Id == input.TenderOrderId).FirstAsync();
         if(tenderOrder == null)
         {
             throw Oops.Oh("涓嶅瓨鍦ㄧ殑鎷涙爣锛�");
         }
-        if(tenderOrder.Baomingfei.HasValue && tenderOrder.Baomingfei.Value > 0)
-        {
-            if (tenderOrderBidding == null || (!tenderOrderBidding.IsTransfer.HasValue || tenderOrderBidding.IsTransfer.Value == false))
-            {
-                throw Oops.Oh("蹇呴』鍏堟敮浠樻墠鑳芥姇鏍囷紒");
-            }
-        }
+        //if(tenderOrder.Baomingfei.HasValue && tenderOrder.Baomingfei.Value > 0)
+        //{
+        //    if (tenderOrderBidding == null || (!tenderOrderBidding.IsTransfer.HasValue || tenderOrderBidding.IsTransfer.Value == false))
+        //    {
+        //        throw Oops.Oh("蹇呴』鍏堟敮浠樻墠鑳芥姇鏍囷紒");
+        //    }
+        //}
 
        if(tenderOrderBidding == null)
         {
-            tenderOrderBidding = new TenderOrderBidding();
-            tenderOrderBidding.Id = Guid.NewGuid();
-            tenderOrderBidding.TenderId = input.TenderOrderId;
-            tenderOrderBidding.Touboaowenjian = input.Touboaowenjian;
-            tenderOrderBidding.IsTransfer = true;
-            tenderOrderBidding.Zhifujine = 0;
-            tenderOrderBidding.CreateTime = DateTime.Now;
-            tenderOrderBidding.CreateUserId = usertrueId;
-            tenderOrderBidding.CreateUserName = RealName;
-            tenderOrderBidding.UpdateTime = DateTime.Now;
-            tenderOrderBidding.UpdateUserId = usertrueId;
-            tenderOrderBidding.UpdateUserName = RealName;
-            return await _TenderOrderBiddingRep.InsertAsync(tenderOrderBidding);
+            throw Oops.Oh("蹇呴』鍏堟姤鍚嶏紒");
+            //tenderOrderBidding = new TenderOrderBidding();
+            //tenderOrderBidding.Id = Guid.NewGuid();
+            //tenderOrderBidding.TenderId = input.TenderOrderId;
+            //tenderOrderBidding.Touboaowenjian = input.Touboaowenjian;
+            //tenderOrderBidding.TouboaowenjianName = input.TouboaowenjianName;
+            //tenderOrderBidding.IsTransfer = true;
+            //tenderOrderBidding.Zhifujine = 0;
+            //tenderOrderBidding.CreateTime = DateTime.Now;
+            //tenderOrderBidding.CreateUserId = usertrueId;
+            //tenderOrderBidding.CreateUserName = RealName;
+            //tenderOrderBidding.UpdateTime = DateTime.Now;
+            //tenderOrderBidding.UpdateUserId = usertrueId;
+            //tenderOrderBidding.UpdateUserName = RealName;
+            //tenderOrderBidding.CusExtendId = customerExId;
+            //if( !tenderOrder.Baomingfei.HasValue || tenderOrder.Baomingfei.Value<=0)
+            //{
+            //    tenderOrderBidding.IsTransfer = true;
+            //    tenderOrderBidding.Zhifujine = 0;
+            //    tenderOrderBidding.TransferTime = DateTime.Now;
+            //    tenderOrderBidding.TransferNo = "BMF" + tenderOrderBidding.Id.ToString("N");
+            //    tenderOrderBidding.TradeNo = DateTimeOffset.Now.ToString("yyyyMMddHHmmssfff") + (new Random()).Next(100, 1000); // 璁㈠崟鍙�
+            //}
+            //return await _TenderOrderBiddingRep.InsertAsync(tenderOrderBidding);
+        }
+        else
+        {
+            if (!tenderOrderBidding.IsTransfer.HasValue || !tenderOrderBidding.IsTransfer.Value)
+            {
+                throw Oops.Oh("閲囪喘鏂规病鏈夌‘璁ゆ姤鍚嶏紒");
+            }
         }
 
         tenderOrderBidding.Touboaowenjian = input.Touboaowenjian;
+        tenderOrderBidding.TouboaowenjianName = input.TouboaowenjianName;
         tenderOrderBidding.UpdateTime = DateTime.Now;
         tenderOrderBidding.UpdateUserId = usertrueId;
         tenderOrderBidding.UpdateUserName = RealName;
+        //if (!tenderOrder.Baomingfei.HasValue || tenderOrder.Baomingfei.Value <= 0)
+        //{
+        //    tenderOrderBidding.IsTransfer = true;
+        //    tenderOrderBidding.Zhifujine = 0;
+        //    tenderOrderBidding.TransferTime = DateTime.Now;
+        //    tenderOrderBidding.TransferNo = "BMF" + tenderOrderBidding.Id.ToString("N");
+        //    tenderOrderBidding.TradeNo = DateTimeOffset.Now.ToString("yyyyMMddHHmmssfff") + (new Random()).Next(100, 1000); // 璁㈠崟鍙�
+        //}
         return await _TenderOrderBiddingRep.UpdateAsync(tenderOrderBidding);
     }
 
@@ -346,8 +429,11 @@
         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 = _sqlSugarClient.Queryable<TenderOrderBidding, TenderOrder>((a, b) => a.TenderId == b.Id)
-            .Where((a, b) => a.CreateUserId == userId)
+            .Where((a, b) => a.CusExtendId == customerExId)
 
                       .WhereIF(!string.IsNullOrWhiteSpace(input.ProjectName), (a, b) => b.ProjectName.Contains(input.ProjectName.Trim()))
                       .WhereIF(!string.IsNullOrWhiteSpace(input.Dailijigoumingcheng), (a, b) => b.Dailijigoumingcheng.Contains(input.Dailijigoumingcheng.Trim()))
@@ -373,6 +459,8 @@
                 IsSelected = a.IsSelected,
                 IsSelectedName = a.IsSelected.HasValue&& a.IsSelected.Value?"鏄�":"鍚�",
                 FabuDate = b.FabuDate.HasValue ? b.FabuDate.Value : DateTime.Now,
+                CreateTime = a.CreateTime,
+                Baomingfei = b.Baomingfei,
             });
 
         var pagedList = await query.OrderBuilder(input, "", "KaibiaoDate", true).ToPagedListAsync(input.Page, input.PageSize);
@@ -389,4 +477,73 @@
         return pagedList;
     }
 
+
+
+
+
+    /// <summary>
+    /// 渚涘簲鍟嗕笅杞戒腑鏍囨枃浠� 鉃�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("渚涘簲鍟嗕笅杞戒腑鏍囨枃浠�")]
+    [ApiDescriptionSettings(Name = "DownZhongbiao"), HttpPost]
+    public async Task<TenderOrderOutput> DownZhongbiao(SuplierBaomingfeiInput 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 != "GYS")
+        {
+            throw Oops.Oh("鍙湁鐧诲綍瑙掕壊渚涘簲鍟嗘墠鑳戒笂浼犳嫑鏍囨枃浠讹紒");
+        }
+
+        long customerExId = 0;
+        long.TryParse(App.User?.FindFirst(ClaimConst.CustomerExId)?.Value, out customerExId);
+        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("鍙湁涓爣涔嬪悗鎵嶈兘涓嬭浇涓爣鏂囦欢锛�");
+        }
+
+        var tenderOrderBidding = await _TenderOrderBiddingRep.AsQueryable().Where(x => x.TenderId == input.TenderOrderId).Where(x => x.CusExtendId == customerExId).FirstAsync();
+
+        if (tenderOrderBidding == null )
+        {
+            throw Oops.Oh("涓嶅瓨鍦ㄧ殑鎶曟爣锛�");
+        }
+        if (!tenderOrderBidding.IsSelected.HasValue && tenderOrderBidding.IsSelected.Value)
+        {
+            throw Oops.Oh("娌℃湁涓爣锛�");
+        }
+        if (!tenderOrderBidding.IsDailiTransfer.HasValue && tenderOrderBidding.IsDailiTransfer.Value)
+        {
+            throw Oops.Oh("娌℃湁缂寸撼浠g悊璐癸紒");
+        }
+
+        var tenderOrderOutput = new TenderOrderOutput();
+
+        tenderOrderOutput.Zhongbiaowenjian = tenderOrder.Zhongbiaowenjian;
+        tenderOrderOutput.ZhongbiaowenjianName = tenderOrder.ZhongbiaowenjianName;
+        return tenderOrderOutput;
+    }
+
 }

--
Gitblit v1.9.1