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 |  289 +++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 238 insertions(+), 51 deletions(-)

diff --git a/Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/TenderOrderService.cs b/Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/TenderOrderService.cs
index 5e5dc03..8dec6c4 100644
--- a/Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/TenderOrderService.cs
+++ b/Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/TenderOrderService.cs
@@ -47,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;
@@ -62,6 +64,7 @@
         _sysRegionRep = sysRegionRep;
         _ChangeOrderRep = changeOrderRep;
         _TenderOrderBiddingRep = TenderOrderBiddingRep;
+        _CaigourenGuanliRep = CaigourenGuanliRep;
     }
 
 
@@ -244,10 +247,16 @@
 
         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.CusExtendId == customerExId)
+            .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)
@@ -335,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)
@@ -493,9 +502,121 @@
         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悊浜烘洿鏂伴潪鏀垮簻璁㈠崟澶勭悊 鉁忥笍
@@ -960,11 +1081,11 @@
 
 
     /// <summary>
-    /// 閲囪喘浠g悊浜虹‘璁や緵搴斿晢宸叉敮浠樻姤鍚嶈垂 鉃�
+    /// 閲囪喘浠g悊浜虹‘璁や緵搴斿晢鎶ュ悕 鉃�
     /// </summary>
     /// <param name="input"></param>
     /// <returns></returns>
-    [DisplayName("閲囪喘浠g悊浜虹‘璁や緵搴斿晢宸叉敮浠樻姤鍚嶈垂")]
+    [DisplayName("閲囪喘浠g悊浜虹‘璁や緵搴斿晢鎶ュ悕")]
     [ApiDescriptionSettings(Name = "QuerenBaomingfei"), HttpPost]
     public async Task<bool> QuerenBaomingfei(QuerenSuplierBaomingfeiInput input)
     {
@@ -982,7 +1103,7 @@
 
         if (CustomerLogoinType != "DLJG" && CustomerLogoinType != "CGR")
         {
-            throw Oops.Oh("鍙湁鐧诲綍瑙掕壊鎷涙爣浠g悊鏈烘瀯鎴栬�呴噰璐汉鎵嶈兘纭渚涘簲鍟嗗凡鏀粯鎶ュ悕璐癸紒");
+            throw Oops.Oh("鍙湁鐧诲綍瑙掕壊鎷涙爣浠g悊鏈烘瀯鎴栬�呴噰璐汉鎵嶈兘纭渚涘簲鍟嗘姤鍚嶏紒");
         }
 
 
@@ -995,7 +1116,7 @@
 
         if (tenderOrderBidding != null && (tenderOrderBidding.IsTransfer.HasValue && tenderOrderBidding.IsTransfer.Value))
         {
-            throw Oops.Oh("宸茬粡浠樻锛�");
+            throw Oops.Oh("宸茬粡纭鎶ュ悕锛�");
         }
 
 
@@ -1006,10 +1127,10 @@
         }
 
         tenderOrderBidding.IsTransfer = true;
-        tenderOrderBidding.Zhifujine = tenderOrder.Baomingfei;
+        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.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;
@@ -1019,13 +1140,13 @@
 
 
     /// <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 = "AddZhongbiaoGonggao"), HttpPost]
+    public async Task<bool> AddZhongbiaoGonggao(OrderZhongbiaoInput input)
     {
 
 
@@ -1075,12 +1196,12 @@
             }
             if (tenderOrderBidding.IsTransfer != true)
             {
-                throw Oops.Oh("娌℃湁鏀粯鎶ュ悕璐广�備笉鑳戒腑鏍囷紒");
+                throw Oops.Oh("娌℃湁鎶ュ悕纭銆備笉鑳戒腑鏍囷紒");
             }
-            if (string.IsNullOrEmpty(tenderOrderBidding.Touboaowenjian))
-            {
-                throw Oops.Oh("娌℃湁鎶曟爣鏂囦欢銆備笉鑳戒腑鏍囷紒");
-            }
+            //if (string.IsNullOrEmpty(tenderOrderBidding.Touboaowenjian))
+            //{
+            //    throw Oops.Oh("娌℃湁鎶曟爣鏂囦欢銆備笉鑳戒腑鏍囷紒");
+            //}
 
           
         }
@@ -1090,10 +1211,8 @@
 
 
 
-        tenderOrder.ZhongbiaoId = null;
+        tenderOrder.ZhongbiaoId = usertrueId;
         tenderOrder.ZhongbiaoName = "";
-        tenderOrder.Zhongbiaowenjian = input.Zhongbiaowenjian;
-        tenderOrder.ZhongbiaowenjianName = input.ZhongbiaowenjianName;
         tenderOrder.Zhongbiaogonggao = input.Zhongbiaogonggao;
         tenderOrder.ZhongbiaogonggaoName = input.ZhongbiaogonggaoName;
         tenderOrder.ZhongbiaoDate = DateTime.Now;
@@ -1140,13 +1259,13 @@
 
 
     /// <summary>
-    /// 閲囪喘浠g悊浜虹‘璁や緵搴斿晢宸叉敮浠樹唬鐞嗚垂 鉃�
+    /// 浠g悊鍟嗗彂甯冧腑鏍囨枃浠� 鉃�
     /// </summary>
     /// <param name="input"></param>
     /// <returns></returns>
-    [DisplayName("閲囪喘浠g悊浜虹‘璁や緵搴斿晢宸叉敮浠樹唬鐞嗚垂")]
-    [ApiDescriptionSettings(Name = "QuerenDailifei"), HttpPost]
-    public async Task<bool> QuerenDailifei(QuerenSuplierBaomingfeiInput input)
+    [DisplayName("浠g悊鍟嗗彂甯冧腑鏍囨枃浠�")]
+    [ApiDescriptionSettings(Name = "AddZhongbiaoWenjian"), HttpPost]
+    public async Task<bool> AddZhongbiaoWenjian(OrderZhongbiaoWenjianInput input)
     {
 
 
@@ -1156,46 +1275,114 @@
         {
             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悊璐癸紒");
+            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.IsDailiTransfer.HasValue && tenderOrderBidding.IsDailiTransfer.Value))
-        {
-            throw Oops.Oh("宸茬粡浠樻锛�");
-        }
+        var RealName = App.User?.FindFirstValue(ClaimConst.RealName);
 
 
-        var tenderOrder = await _TenderOrderRep.AsQueryable().Where(x => x.Id == tenderOrderBidding.TenderId).FirstAsync();
+
+        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("娌℃湁鍙戝竷涓爣鍏憡锛�");
+        }
+         
 
-        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);
+
+
+
+
+
+       
+        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