소스 검색

机票费用录入的修改及添加

wangh 1 년 전
부모
커밋
b8ac12f2d9

+ 278 - 1
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -2,6 +2,7 @@
 using Newtonsoft.Json.Serialization;
 using OASystem.API.OAMethodLib;
 using OASystem.Domain.Dtos.Groups;
+using OASystem.Domain.Entities.Business;
 using OASystem.Domain.Entities.Groups;
 using OASystem.Domain.ViewModels.Groups;
 using OASystem.Infrastructure.Repositories.Groups;
@@ -396,7 +397,7 @@ namespace OASystem.API.Controllers
             {
                 return Ok(JsonView(false, groupData.Msg));
             }
-            return Ok(JsonView(true,groupData.Msg,groupData.Data));
+            return Ok(JsonView(true, groupData.Msg, groupData.Data));
         }
 
         /// <summary>
@@ -435,6 +436,282 @@ namespace OASystem.API.Controllers
         }
         #endregion
 
+        #region 团组费用审核
+
+        /// <summary>
+        /// 获取团组费用审核
+        /// </summary>
+        /// <param name="paras">参数Json字符串</param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> PostSearchGrpCreditCardPayment(Search_GrpCreditCardPaymentDto _dto)
+        {
+            if (_dto.DiId < 1)
+            {
+                return Ok(JsonView(false, "团组Id为空"));
+            }
+            Grp_CreditCardPaymentView _view = new Grp_CreditCardPaymentView();
+
+            #region 团组基本信息
+
+            Grp_DelegationInfo _delegation = _groupRepository.Query<Grp_DelegationInfo>(s => s.Id == _dto.DiId).First();
+            if (_delegation != null)
+            {
+                _view.ClientName = _delegation.ClientName;
+                _view.DiId = _dto.DiId;
+                _view.TeamName = _delegation.TeamName;
+                _view.VisitCountry = _delegation.VisitCountry;
+                _view.VisitDate = _delegation.VisitStartDate.ToString("yyyy-MM-dd") + " ~ " + _delegation.VisitEndDate.ToString("yyyy-MM-dd");
+                _view.VisitDays = _delegation.VisitDays;
+                _view.VisitPNumber = _delegation.VisitPNumber;
+            }
+            else
+            {
+                return Ok(JsonView(false, "团组信息为空"));
+            }
+
+            #endregion
+
+            #region 费用清单
+            var exp = Expressionable.Create<Grp_CreditCardPayment>();
+            exp.AndIF(_dto.AuditStatus != -1, it => it.IsAuditGM == _dto.AuditStatus);
+            exp.AndIF(_dto.Label != -1, it => it.CTable == _dto.Label);
+
+
+            //缺少IF的语法糖 CTable
+            List<Grp_CreditCardPayment> entityList = _groupRepository
+                .Query<Grp_CreditCardPayment>(s => s.DIId == _dto.DiId && s.IsDel == 0 && s.CreateUserId > 0)
+                .Where(exp.ToExpression())
+                .ToList();
+
+            List<Grp_CreditCardPaymentDetailView> detailList = new List<Grp_CreditCardPaymentDetailView>();
+            decimal CNY = 0;
+            decimal PayCNY = 0;
+            decimal BalanceCNY = 0;
+            decimal YSFYCNY = 0;
+
+            decimal USD = 0;
+            decimal PayUSD = 0;
+            decimal BalanceUSD = 0;
+            decimal YSFYUSD = 0;
+
+            decimal EUR = 0;
+            decimal PayEUR = 0;
+            decimal BalanceEUR = 0;
+            decimal YSFYEUR = 0;
+
+            foreach (var entity in entityList)
+            {
+                Grp_CreditCardPaymentDetailView _detail = new Grp_CreditCardPaymentDetailView();
+
+                _detail.Id=entity.Id;
+
+                /*
+                 * Bus名称
+                 */
+                _detail.BusName = "";
+
+                /*
+                 *费用所属
+                 */
+                switch (entity.CTable)
+                {
+                    case 85:
+                        Grp_AirTicketReservations jpRes = _groupRepository.Query<Grp_AirTicketReservations>(s => s.Id == entity.CId).First();
+                        if (jpRes != null)
+                        {
+                            string FlightsDescription = jpRes.FlightsDescription;
+                            string PriceDescription = jpRes.PriceDescription;
+                            _detail.PriceMsgContent = "航班号:" + jpRes.FlightsCode + "<br/>城市A-B:" + jpRes.FlightsCity + "<br/>航班描述:" + FlightsDescription.Replace("\r\n", "<br />") + "<br/>" + "价格描述:" + PriceDescription;
+                            _detail.PriceNameContent = "(" + jpRes.FlightsCode + ")";
+                        }
+                        break;
+                    case 79:
+                        _detail.BusName = "待增加";
+                        break;
+
+                    default:
+                        break;
+                }
+
+                /*
+                 * 费用模块
+                 */
+                Sys_SetData sdPriceName = _groupRepository.Query<Sys_SetData>(s => s.Id == entity.CTable).First();
+                if (sdPriceName != null)
+                {
+                    _detail.PriceName = sdPriceName.Name;
+                }
+
+                /*
+                 * 应付款金额	
+                 */
+                Sys_SetData sdPaymentCurrency_WaitPay = _groupRepository.Query<Sys_SetData>(s => s.Id == entity.PaymentCurrency).First();
+                string PaymentCurrency_WaitPay = "Unknown";
+                if (sdPaymentCurrency_WaitPay != null)
+                {
+                    PaymentCurrency_WaitPay = sdPaymentCurrency_WaitPay.Name;
+                }
+                _detail.WaitPay = entity.PayMoney.ToString("#0.00") + " " + PaymentCurrency_WaitPay;
+
+                /*
+                 * 此次付款金额
+                 */
+                decimal CurrPayStr = 0;
+                if (entity.PayPercentage == 0)
+                {
+                    if (entity.PayThenMoney != 0)
+                        CurrPayStr = entity.PayThenMoney * decimal.Parse(entity.DayRate);
+                }
+                else
+                {
+                    CurrPayStr = entity.PayMoney * (decimal.Parse(entity.PayPercentage.ToString("#0.00")) / 100 * decimal.Parse(entity.DayRate));
+                }
+                _detail.CurrPay = CurrPayStr.ToString("#0.00") + " CNY";
+
+                /*
+                 * 剩余尾款
+                 */
+                decimal BalanceStr = 0;
+                if (entity.PayMoney - (CurrPayStr / decimal.Parse(entity.DayRate)) < 0.01M)
+                    BalanceStr = 0;
+                else
+                    BalanceStr = (entity.PayMoney - CurrPayStr / decimal.Parse(entity.DayRate));
+
+                _detail.Balance = BalanceStr.ToString("#0.00") + " " + PaymentCurrency_WaitPay;
+
+                /*
+                 * 申请人
+                 */
+                string operatorName = "无";
+                Sys_Users _opUser = _groupRepository.Query<Sys_Users>(s => s.Id == entity.CreateUserId).First();
+                if (_opUser != null)
+                {
+                    operatorName = _opUser.CnName;
+                }
+                _detail.OperatorName = operatorName;
+
+                /*
+                * 审核人
+                */
+                string auditOperatorName = "Unknown";
+                if (entity.AuditGMOperate == 0)
+                    auditOperatorName = "无";
+                else if (entity.AuditGMOperate == 4)
+                    auditOperatorName = "自动审核";
+                else
+                {
+                    Sys_Users _adUser = _groupRepository.Query<Sys_Users>(s => s.Id == entity.AuditGMOperate).First();
+                    if (_adUser != null)
+                    {
+                        auditOperatorName = _adUser.CnName;
+                    }
+                }
+                _detail.AuditOperatorName = auditOperatorName;
+
+                /*
+                 * 
+                 * *超预算比例
+                 */
+                string overBudgetStr = "";
+
+                if (entity.ExceedBudget == -1)
+                    overBudgetStr = sdPriceName.Name + "尚无预算";
+                else if (entity.ExceedBudget == 0)
+                    overBudgetStr = "未超预算";
+                else
+                    overBudgetStr = entity.ExceedBudget.ToString("P");
+                _detail.OverBudget = overBudgetStr;
+
+
+                /*
+                 * 费用总计
+                 */
+
+
+                if (entity.PaymentCurrency == 48)
+                {
+                    CNY += entity.PayMoney;
+                    PayCNY += CurrPayStr;
+                    BalanceCNY += BalanceStr;
+                    YSFYCNY += CurrPayStr;
+                }
+                if (entity.PaymentCurrency == 49)
+                {
+                    USD += entity.PayMoney;
+                    PayUSD += CurrPayStr;
+                    BalanceUSD += BalanceStr;
+                    YSFYUSD += CurrPayStr;
+                }
+                if (entity.PaymentCurrency == 51)
+                {
+                    EUR += entity.PayMoney;
+                    PayEUR += CurrPayStr;
+                    BalanceEUR += BalanceStr;
+                    YSFYEUR += CurrPayStr;
+                }
+
+                _detail.TotalStr1 = string.Format(@"应付款总金额:{0}CNY&nbsp;|&nbsp;{1}USD&nbsp;|&nbsp;{2}EUR", CNY, USD, EUR);
+                _detail.TotalStr2 = string.Format(@"此次付款总金额:{0}CNY&nbsp;|&nbsp;{1}USD&nbsp;|&nbsp;{2}EUR", PayCNY, PayUSD, PayEUR);
+                _detail.TotalStr3 = string.Format(@"目前剩余尾款总金额:{0}CNY&nbsp;|&nbsp;{1}USD&nbsp;|&nbsp;{2}EUR", BalanceCNY, BalanceUSD, BalanceEUR);
+                _detail.TotalStr4 = string.Format(@"已审费用总额:{0}CNY&nbsp;|&nbsp;{1}USD&nbsp;|&nbsp;{2}EUR", YSFYCNY, YSFYUSD, YSFYEUR);
+
+
+                detailList.Add(_detail);
+
+            }
+
+            #endregion
+            _view.DetailList = new List<Grp_CreditCardPaymentDetailView>(detailList);
+
+            return Ok(JsonView(_view));
+        }
+
+
+        /// <summary>
+        /// 修改团组费用审核状态
+        /// </summary>
+        /// <param name="paras">参数Json字符串</param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> PostAuditGrpCreditCardPayment(Edit_GrpCreditCardPaymentDto _dto)
+        {
+            List<string> idList = _dto.CreditIdStr.Split(',').ToList();
+            Grp_CreditCardPayment _detail = _mapper.Map<Grp_CreditCardPayment>(_dto);
+            DateTime dtNow = DateTime.Now;
+            _groupRepository.BeginTran();
+            int rst = 0;
+            foreach (var item in idList)
+            {
+                int CreditId = int.Parse(item);
+                var result = await _grpScheduleRep._sqlSugar.Updateable<Grp_CreditCardPayment>()
+                .SetColumns(it => it.IsAuditGM == _dto.AuditCode)
+                .SetColumns(it => it.AuditGMOperate == _dto.User)
+                .SetColumns(it => it.AuditGMDate == dtNow)
+                .Where(s => s.Id == CreditId)
+                .ExecuteCommandAsync();
+                if (result < 1)
+                {
+                    rst = -1;
+                }
+                else {
+                    _groupRepository.RollbackTran();
+                    return Ok(JsonView(false, "保存失败并回滚!"));
+                }
+            }
+            _groupRepository.CommitTran();
+            if (rst == 0)
+            {
+                return Ok(JsonView(true, "保存成功!"));
+            }
+
+            return Ok(JsonView(false, "保存失败!"));
+        }
+
+        #endregion
+
         #region 机票费用录入
         /// <summary>
         /// 机票录入当前登录人可操作团组

+ 43 - 5
OASystem/OASystem.Api/Controllers/MarketCustomerResourcesController.cs

@@ -25,15 +25,25 @@ namespace OASystem.API.Controllers
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         public async Task<IActionResult> QueryNewClientData(NewClientDataQueryDto dto)
         {
+            JsonView jw = new JsonView();
             try
             {
-                Result resTable = await _clientDataRepository.QueryNewClientData(dto);
-                return Ok(JsonView(true, resTable.Msg, resTable.Data));
+                Result resultData = await _clientDataRepository.QueryNewClientData(dto);
+                if (resultData.Code == 0)
+                {
+                    jw = JsonView(true, resultData.Msg, resultData.Data);
+                }
+                else
+                {
+                    jw = JsonView(false, resultData.Msg, resultData.Data);
+                }
             }
             catch (Exception)
             {
-                return Ok(JsonView(false, "程序错误!"));
+                jw = JsonView(false, "程序错误!");
             }
+
+            return Ok(jw);
         }
         /// <summary>
         /// 客户资料操作(Status:1.新增,2.修改)
@@ -56,7 +66,6 @@ namespace OASystem.API.Controllers
             catch (Exception)
             {
                 return Ok(JsonView(false, "程序错误!"));
-                throw;
             }
         }
         /// <summary>
@@ -84,6 +93,32 @@ namespace OASystem.API.Controllers
             }
         }
 
+        /// <summary>
+        /// 获取下拉列表数据和单条数据信息
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> QuerySelectAndSingleData(QuerySingleDto dto)
+        {
+            JsonView jw = new JsonView();
+            var result = await _clientDataRepository.QuerySelectAndSingleData(dto);
+            if (result.Code == 0)
+            {
+                jw = JsonView(true, result.Msg,result.Data);
+            }
+            else
+            {
+                jw = JsonView(false, result.Msg);
+            }
+            return Ok(jw);
+        }
+
+        /// <summary>
+        /// 获取现有负责人
+        /// </summary>
+        /// <returns></returns>
         [HttpPost]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         public async Task<IActionResult> QueryUserSelect()
@@ -100,7 +135,10 @@ namespace OASystem.API.Controllers
             }
         }
 
-
+        /// <summary>
+        /// 获取出团数据
+        /// </summary>
+        /// <returns></returns>
         [HttpPost]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         public async Task<IActionResult> QueryNumberGroups()

+ 3 - 0
OASystem/OASystem.Domain/AutoMappers/_baseMappingProfile.cs

@@ -17,6 +17,7 @@ using OASystem.Domain.Dtos.Financial;
 using OASystem.Domain.Entities.Financial;
 using static OASystem.Domain.Dtos.CRM.NewClientDataQueryDto;
 using OASystem.Domain.ViewModels.Groups;
+using OASystem.Domain.ViewModels.CRM;
 
 namespace OASystem.Domain.AutoMappers
 {
@@ -81,6 +82,7 @@ namespace OASystem.Domain.AutoMappers
             CreateMap<AirTicketResOp, Grp_AirTicketReservations>();
             CreateMap<CardPayment, Grp_CreditCardPayment>();
             CreateMap<Grp_GroupCostParameter,AirGroupCostParameterView>();
+            CreateMap<Edit_GrpCreditCardPaymentDto, Grp_CreditCardPayment>();
             #endregion
 
 
@@ -145,6 +147,7 @@ namespace OASystem.Domain.AutoMappers
             #endregion
             #region 新客户资料
             CreateMap<NewClientOpDto, Crm_NewClientData>();
+            CreateMap<Crm_NewClientData, NewClientDataView>();
             #endregion
             #endregion
 

+ 10 - 0
OASystem/OASystem.Domain/Dtos/CRM/NewClientDataQueryDto.cs

@@ -1,4 +1,5 @@
 using AutoMapper.Execution;
+using OASystem.Domain.ViewModels.CRM;
 using Org.BouncyCastle.Asn1.Ocsp;
 using Org.BouncyCastle.Asn1.X9;
 using System;
@@ -175,5 +176,14 @@ namespace OASystem.Domain.Dtos.CRM
         /// </summary>
         public string Remark { get; set; }
 
+        /// <summary>
+        /// 负责人
+        /// </summary>
+        public List<AscribedUser> AscribedUser { get; set; }
+        /// <summary>
+        /// 业务归属
+        /// </summary>
+        public List<AscribedDepartment> AscribedDepartment { get; set; }
+
     }
 }

+ 13 - 0
OASystem/OASystem.Domain/Dtos/CRM/QuerySingleDto.cs

@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Dtos.CRM
+{
+    public class QuerySingleDto
+    {
+        public int Id { get; set; }
+    }
+}

+ 33 - 0
OASystem/OASystem.Domain/Dtos/Groups/GrpCreditCardPaymentDto.cs

@@ -0,0 +1,33 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Dtos.Groups
+{
+    public class Search_GrpCreditCardPaymentDto
+    {
+        /// <summary>
+        /// 团组Id
+        /// </summary>
+        public int DiId { get; set; }
+
+        /// <summary>
+        /// 费用类型 -1 -所有, 76-酒店预订,79-车导地接,80-签证,81-邀请公务,85-机票预订,98-团组增减款项
+        /// </summary>
+        public int Label { get; set; } = 0;
+
+        /// <summary>
+        /// 审核状态 0/1/2,未审核/审核通过/审核不通过 ,-1:所有
+        /// </summary>
+        public int AuditStatus { get; set; }
+    }
+
+    public class Edit_GrpCreditCardPaymentDto
+    {
+        public string CreditIdStr { get; set; }
+        public int AuditCode { get; set; }
+        public int User { get; set; }
+    }
+}

+ 115 - 0
OASystem/OASystem.Domain/ViewModels/Groups/Grp_CreditCardPaymentView.cs

@@ -0,0 +1,115 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.ViewModels.Groups
+{
+    public class Grp_CreditCardPaymentView
+    {
+        /// <summary>
+        /// 团组编号
+        /// </summary>
+        public int DiId { get; set; }
+
+        /// <summary>
+        /// 团组名称
+        /// </summary>
+        public string TeamName { get; set; }
+
+        /// <summary>
+        /// 客户名称
+        /// </summary>
+        public string ClientName { get; set; }
+
+        /// <summary>
+        /// 访问国家
+        /// </summary>
+        public string VisitCountry { get; set; }
+
+        /// <summary>
+        /// 访问起止日期
+        /// </summary>
+        public string VisitDate { get; set; }
+
+        /// <summary>
+        /// 天数
+        /// </summary>
+        public int VisitDays { get; set; }
+
+        /// <summary>
+        /// 人数
+        /// </summary>
+        public int VisitPNumber { get; set; }
+
+        /// <summary>
+        /// 审核列表
+        /// </summary>
+        public List<Grp_CreditCardPaymentDetailView> DetailList { get; set; }
+    }
+
+    public class Grp_CreditCardPaymentDetailView
+    {
+        /// <summary>
+        /// 费用Id
+        /// </summary>
+        public int Id { get; set; }
+
+        /// <summary>
+        /// 费用所属
+        /// </summary>
+        public string PriceNameContent { get; set; }
+
+        /// <summary>
+        /// 费用明细
+        /// </summary>
+        public string PriceMsgContent { get; set; }
+
+        /// <summary>
+        /// 费用模块
+        /// </summary>
+
+        public string PriceName { get; set; }
+
+        /// <summary>
+        /// Bus名称
+        /// </summary>
+        public string BusName { get; set; }
+
+        /// <summary>
+        /// 应付款金额	
+        /// </summary>
+        public string WaitPay { get; set; }
+
+        /// <summary>
+        /// 此次付款金额
+        /// </summary>
+        public string CurrPay { get; set; }
+
+        /// <summary>
+        /// 剩余尾款
+        /// </summary>
+        public string Balance { get; set; }
+
+        /// <summary>
+        /// 申请人
+        /// </summary>
+        public string OperatorName { get; set; }
+
+        /// <summary>
+        /// 审核人
+        /// </summary>
+        public string AuditOperatorName { get; set; }
+
+        /// <summary>
+        /// 超预算比例
+        /// </summary>
+        public string OverBudget { get; set; }
+
+        public string TotalStr1 { get; set; }
+        public string TotalStr2 { get; set; }
+        public string TotalStr3 { get; set; }
+        public string TotalStr4 { get; set; }
+    }
+}

+ 2 - 2
OASystem/OASystem.Infrastructure/Repositories/Business/CommonBusRepository.cs

@@ -149,9 +149,9 @@ Inner Join Sys_SetData as s With(Nolock) On t.SdId=s.Id ");
             BeginTran();
             try
             {
-                int result = await _sqlSugar.Updateable<Bus_ConfItemInfo>()
+                int result = await _sqlSugar.Updateable<Bus_ConfItemListInfo>()
+                            .SetColumns(it => it.TotalCost == _eidt.TotalCost)
                             .Where(s => s.Id == _dto.ConfItemListId)
-                            .UpdateColumns(s => new { TotalCost = _eidt.TotalCost })
                             .ExecuteCommandAsync();
                 _sqlSugar.Deleteable<Bus_ConfItemInfo>().Where(it => it.ConfListId == _dto.ConfItemListId).ExecuteCommand();
 

+ 96 - 7
OASystem/OASystem.Infrastructure/Repositories/CRM/NewClientDataRepository.cs

@@ -18,7 +18,7 @@ using static OASystem.Domain.Dtos.CRM.NewClientDataQueryDto;
 
 namespace OASystem.Infrastructure.Repositories.CRM
 {
-    public class NewClientDataRepository : BaseRepository<Crm_NewClientData, Crm_NewClientData>
+    public class NewClientDataRepository : BaseRepository<Crm_NewClientData, NewClientDataView>
     {
         private readonly IMapper _mapper;
         public NewClientDataRepository(SqlSugarClient sqlSugar, IMapper mapper) :
@@ -47,7 +47,7 @@ namespace OASystem.Infrastructure.Repositories.CRM
                 #region 负责人
                 if (!string.IsNullOrWhiteSpace(dto.Userid))
                 {
-                    string sql = string.Format(@"select u1.UsersId,u2.CnName,u1.NewClientDataId from Crm_ClientDataAndUser u1,Sys_Users u2 where u1.UsersId=u2.Id and u1.UsersId in ({0})", dto.Userid);
+                    string sql = string.Format(@"select u1.UsersId as UserId,u2.CnName,u1.NewClientDataId from Crm_ClientDataAndUser u1,Sys_Users u2 where u1.UsersId=u2.Id and u1.UsersId in ({0})  and u1.IsDel = 0", dto.Userid);
                     List<AscribedUser> ascribedUsers = await _sqlSugar.SqlQueryable<AscribedUser>(sql).ToListAsync();
                     if (ascribedUsers.Count != 0)
                     {
@@ -70,7 +70,7 @@ namespace OASystem.Infrastructure.Repositories.CRM
                 #region 业务归属
                 if (!string.IsNullOrWhiteSpace(dto.Business))
                 {
-                    string sql = string.Format(@"select d1.*,d2.Name from Crm_ClientDataAndBusiness d1,Sys_SetData d2 where d1.SetDataId=d2.Id and d1.SetDataId in ({0})", dto.Business);
+                    string sql = string.Format(@"select   d2.Id,d2.Name,d1.NewClientDataId   from Crm_ClientDataAndBusiness d1,Sys_SetData d2 where d1.SetDataId=d2.Id and d1.SetDataId in ({0}) and d1.isdel = 0", dto.Business);
                     List<AscribedDepartment> AscribedDepartment = await _sqlSugar.SqlQueryable<AscribedDepartment>(sql).ToListAsync();
                     if (AscribedDepartment.Count != 0)
                     {
@@ -192,7 +192,7 @@ namespace OASystem.Infrastructure.Repositories.CRM
                             break;
                     }
 
-                    var RangeSetDataList = _sqlSugar.SqlQueryable<Sys_SetData>(setDataSql).Select(x=>x.Id).ToList();
+                    var RangeSetDataList = _sqlSugar.SqlQueryable<Sys_SetData>(setDataSql).Select(x => x.Id).ToList();
                     string lvlds = string.Join(',', RangeSetDataList).TrimEnd(',');
                     if (!string.IsNullOrEmpty(lvlds))
                     {
@@ -294,7 +294,7 @@ namespace OASystem.Infrastructure.Repositories.CRM
                         List<dynamic> _ServiceClass = new List<dynamic>();
                         List<Sys_SetData> ServiceClass = _sqlSugar.Queryable<Sys_SetData>()
                         .Where(u => u.STid == 36 && u.IsDel == 0).ToList();
-                        foreach (Sys_SetData item in province)
+                        foreach (Sys_SetData item in ServiceClass)
                         {
                             var data = new
                             {
@@ -308,11 +308,11 @@ namespace OASystem.Infrastructure.Repositories.CRM
                         foreach (var item in NewClientDataView)
                         {
                             List<AscribedUser> AscribedUser = await _sqlSugar.SqlQueryable<AscribedUser>
-                           ("select u1.UsersId,u2.CnName,u1.NewClientDataId from Crm_ClientDataAndUser u1,Sys_Users u2 where u1.UsersId=u2.Id and NewClientDataId=" + item.Id + "").ToListAsync();
+                           ("select u1.UsersId as UserId ,u2.CnName,u1.NewClientDataId from Crm_ClientDataAndUser u1,Sys_Users u2 where u1.UsersId=u2.Id and NewClientDataId=" + item.Id + "   AND u1.ISDEL = 0").ToListAsync();
                             item.AscribedUser = AscribedUser;
 
                             List<AscribedDepartment> AscribedDepartment = await _sqlSugar.SqlQueryable<AscribedDepartment>
-                          ("select d1.*,d2.Name from Crm_ClientDataAndBusiness d1,Sys_SetData d2 where d1.SetDataId=d2.Id and NewClientDataId=" + item.Id + "").ToListAsync();
+                          ("select  d2.Id,d2.Name,d1.NewClientDataId  from Crm_ClientDataAndBusiness d1,Sys_SetData d2 where d1.SetDataId=d2.Id and NewClientDataId=" + item.Id + "  AND d1.ISDEL = 0").ToListAsync();
                             item.AscribedDepartment = AscribedDepartment;
                         }
 
@@ -481,5 +481,94 @@ namespace OASystem.Infrastructure.Repositories.CRM
 
             return result;
         }
+
+        /// <summary>
+        /// 获取下拉列表数据和单条数据信息
+        /// </summary>
+        /// <param name="dto"></param>
+        public async Task<Result> QuerySelectAndSingleData(QuerySingleDto dto)
+        {
+            Result rest = new Result();
+            var QueryData = await GetAsync<Crm_NewClientData>(x => x.Id == dto.Id);
+            NewClientDataView MapQueryData = null;
+            if (QueryData != null)
+            {
+                MapQueryData = _mapper.Map<NewClientDataView>(QueryData);
+                MapQueryData.AscribedUser = await _sqlSugar.SqlQueryable<AscribedUser>
+        ("select u1.UsersId as UserId,u2.CnName,u1.NewClientDataId from Crm_ClientDataAndUser u1,Sys_Users u2 where u1.UsersId=u2.Id and NewClientDataId=" + dto.Id + " and u1.isdel = 0").ToListAsync();
+
+                MapQueryData.AscribedDepartment = await _sqlSugar.SqlQueryable<AscribedDepartment>
+              ("select   d2.Id,d2.Name,d1.NewClientDataId   from Crm_ClientDataAndBusiness d1,Sys_SetData d2 where d1.SetDataId=d2.Id and NewClientDataId=" + dto.Id + " and d1.isdel = 0").ToListAsync();
+            }
+
+            #region 下拉框初始化数据
+            //负责人下拉框
+            List<dynamic> _Users = new List<dynamic>();
+            List<Sys_Users> users = _sqlSugar.Queryable<Sys_Users>()
+            .Where(u => (u.CnName == "张海麟" || u.CnName == "安宁" || u.CnName == "李彩娟" || u.CnName == "舒庆" || u.CnName == "李媛媛") && u.IsDel == 0).ToList();
+            foreach (Sys_Users user in users)
+            {
+                var data = new
+                {
+                    Id = user.Id,
+                    Name = user.CnName
+                };
+                _Users.Add(data);
+            };
+            
+            //客户级别数据
+            List<dynamic> _level = new List<dynamic>();
+            List<Sys_SetData> level = _sqlSugar.Queryable<Sys_SetData>()
+            .Where(u => u.STid == 33 && u.IsDel == 0).ToList();
+            foreach (Sys_SetData item in level)
+            {
+                var data = new
+                {
+                    Id = item.Id,
+                    Name = item.Name
+                };
+                _level.Add(data);
+            };
+            //客户类别
+            List<dynamic> _CustomerClass = new List<dynamic>();
+            List<Sys_SetData> CustomerClass = _sqlSugar.Queryable<Sys_SetData>()
+            .Where(u => u.STid == 37 && u.IsDel == 0).ToList();
+            foreach (Sys_SetData item in CustomerClass)
+            {
+                var data = new
+                {
+                    Id = item.Id,
+                    Name = item.Name
+                };
+                _CustomerClass.Add(data);
+            };
+            //业务分类 
+            List<dynamic> _ServiceClass = new List<dynamic>();
+            List<Sys_SetData> ServiceClass = _sqlSugar.Queryable<Sys_SetData>()
+            .Where(u => u.STid == 36 && u.IsDel == 0).ToList();
+            foreach (Sys_SetData item in ServiceClass)
+            {
+                var data = new
+                {
+                    Id = item.Id,
+                    Name = item.Name
+                };
+                _ServiceClass.Add(data);
+            };
+            #endregion
+
+            rest.Code = 0;
+            rest.Data = new
+            {
+                data = MapQueryData,
+                Users = _Users,
+                level = _level,
+                CustomerClass = _CustomerClass,
+                ServiceClass = _ServiceClass,
+            };
+            rest.Msg = "获取成功!";
+            return rest;
+        }
+
     }
 }

+ 24 - 4
OASystem/OASystem.Infrastructure/Repositories/Resource/ResItemInfoRepository.cs

@@ -168,8 +168,15 @@ Job,Mobile,Remark From Res_ItemVendor With(Nolock) {2}
         public async Task<bool> updVendorInfo(Res_ItemVendor _entity)
         {
             var result = await _sqlSugar.Updateable<Res_ItemVendor>()
+                .SetColumns(it => it.FullName == _entity.FullName)
+                .SetColumns(it => it.ShortName == _entity.ShortName)
+                .SetColumns(it => it.Address == _entity.Address)
+                .SetColumns(it => it.Linker == _entity.Linker)
+                .SetColumns(it => it.Mobile == _entity.Mobile)
+                .SetColumns(it => it.BusRange == _entity.BusRange)
+                .SetColumns(it => it.Job == _entity.Job)
+                .SetColumns(it => it.Remark == _entity.Remark)
                 .Where(s => s.Id == _entity.Id)
-                .UpdateColumns(s => new { s.FullName, s.ShortName, s.Address, s.Linker, s.Mobile, s.BusRange, s.Job, s.Remark })
                 .ExecuteCommandAsync();
 
             return result > 0;
@@ -186,8 +193,10 @@ Job,Mobile,Remark From Res_ItemVendor With(Nolock) {2}
             _entity.DeleteUserId = _entity.CreateUserId;
             _entity.DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
             var result = await _sqlSugar.Updateable<Res_ItemVendor>()
+                .SetColumns(it => it.IsDel == _entity.IsDel)
+                .SetColumns(it => it.DeleteTime == _entity.DeleteTime)
+                .SetColumns(it => it.DeleteUserId == _entity.DeleteUserId)
                .Where(s => s.Id == _entity.Id)
-               .UpdateColumns(s => new { s.IsDel, s.DeleteTime, s.DeleteUserId })
                .ExecuteCommandAsync();
 
             return result > 0;
@@ -331,8 +340,17 @@ Where d.Id={0} ", _dto.ItemId);
 
 
                 var result = await _sqlSugar.Updateable<Res_ItemDetailInfo>()
+                .SetColumns(it => it.CurrDt == _entity.CurrDt)
+                .SetColumns(it => it.CurrRate == _entity.CurrRate)
+                .SetColumns(it => it.ItemName == _entity.ItemName)
+                .SetColumns(it => it.MaxDt == _entity.MaxDt)
+                .SetColumns(it => it.MaxRate == _entity.MaxRate)
+                .SetColumns(it => it.MinDt == _entity.MinDt)
+                .SetColumns(it => it.MinRate == _entity.MinRate)
+                .SetColumns(it => it.Remark == _entity.Remark)
+                .SetColumns(it => it.ItemTypeId == _entity.ItemTypeId)
+                .SetColumns(it => it.VendorId == _entity.VendorId)
                    .Where(s => s.Id == _entity.Id)
-                   .UpdateColumns(s => new { s.CurrDt, s.CurrRate, s.ItemName, s.MaxDt, s.MaxRate, s.MinDt, s.MinRate, s.Remark, s.ItemTypeId, s.VendorId })
                    .ExecuteCommandAsync();
                 return result > 0;
             }
@@ -350,8 +368,10 @@ Where d.Id={0} ", _dto.ItemId);
             _entity.DeleteUserId = _entity.CreateUserId;
             _entity.DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
             var result = await _sqlSugar.Updateable<Res_ItemDetailInfo>()
+                .SetColumns(it => it.IsDel == _entity.IsDel)
+                .SetColumns(it => it.DeleteTime == _entity.DeleteTime)
+                .SetColumns(it => it.DeleteUserId == _entity.DeleteUserId)
                .Where(s => s.Id == _entity.Id)
-               .UpdateColumns(s => new { s.IsDel, s.DeleteTime, s.DeleteUserId })
                .ExecuteCommandAsync();
 
             return result > 0;

+ 300 - 163
OASystem/_Doc/OA2023数据字典.docx

@@ -3114,169 +3114,6 @@ Null
 
 启用标识
 0否1是
-16) 团组汇率表:Grp_TeamRate
-                                   字段名
-                                 类型长度
-                                 字段属性
-                                 字段约束
-                                 字段描述
-                                    备注
-DiId
-int
-Null
-
-团组Id
-Grp_DelegationInfo.id
-CTable
-int
-Null
-
-团组指向分类
-Setdata.Id CTId=16
-OtherRate
-varchar(50)
-Null
-
-其他汇率名称
-
-OtherPrice
-varchar(50)
-Null
-
-其他汇率金额
-
-RateU
-varchar(50)
-Null
-
-美元汇率
-
-RateE
-varchar(50)
-Null
-
-欧元汇率
-
-RateJ
-varchar(50)
-Null
-
-日元汇率
-
-RateH
-varchar(50)
-Null
-
-港币汇率
-
-RateN
-varchar(50)
-Null
-
-新西兰元汇率
-
-RateS
-varchar(50)
-Null
-
-新加坡币汇率
-
-RateA,
-varchar(50)
-Null
-
-澳大利亚元汇率
-
-RateC
-varchar(50)
-Null
-
-加拿大元汇率
-
-RateT
-varchar(50)
-Null
-
- 泰铢汇率
-
-RateBL
-varchar(50)
-Null
-
-波兰汇率
-
-RateHB
-varchar(50)
-Null
-
-韩币
-
-RateFJD
-varchar(50)
-Null
-
- 斐济币汇率
-
-RateTL
-varchar(50)
-Null
-
-土耳其币汇率
-
-RateRP
-varchar(50)
-Null
-
-卢比汇率
-
-RatePeso
-varchar(50)
-Null
-
-菲律宾汇率
-
-RateMYR
-varchar(50)
-Null
-
-马来西亚汇率
-
-RateCZK
-varchar(50)
-Null
-
-捷克币汇率
-
-RateMXN
-varchar(50)
-Null
-
-墨西哥币汇率
-
-RateMOP
-varchar(50)
-Null
-
-澳门元
-
-RateARS
-varchar(50)
-Null
-
-阿根廷比索
-
-RateHUF
-varchar(50)
-Null
-
-匈牙利货币
-
-RateRUB
-varchar(50)
-Null
-
-俄罗斯卢布
-
 
 1. 资源板块
 1) 酒店数据表:Res_HotelData(挪用)
@@ -3530,3 +3367,303 @@ Null
 
 1. 机票板块
 
+2. 财务板块
+1) 团组成本表:Grp_GroupCostParameter(挪用)
+                                   字段名
+                                 类型长度
+                                 字段属性
+                                 字段约束
+                                 字段描述
+                                    备注
+                                     DiId
+                                      int
+                                     Null
+                                       
+                                   团组id
+                                       
+                                   Currency
+                                    string
+                                     Null
+                                       
+                                    币种
+                                       
+                                     Rate
+                                 decimal(10,2)
+                                     Null
+                                       
+                                    汇率
+                                       
+                                      Tax
+                                 decimal(10,2)
+                                     Null
+                                       
+                                    税率
+                                       
+                                     FFYS
+                                 decimal(10,2)
+                                     Null
+                                       
+                                 房费预算
+                                       
+                                    HotelXS
+                                 decimal(10,2)
+                                     Null
+                                       
+                                 酒店系数
+                                       
+                                     JJCCB
+                                 decimal(10,2)
+                                     Null
+                                       
+                                经济舱成本
+                                       
+                                     JJCXS
+                                 decimal(10,2)
+                                     Null
+                                       
+                                经济舱系数
+                                       
+                                     JJCRS
+                                      int
+                                     Null
+                                       
+                                经济舱人数
+                                       
+                                     GWCCB
+                                 decimal(10,2)
+                                     Null
+                                       
+                                公务舱成本
+                                       
+                                     GWCXS
+                                 decimal(10,2)
+                                     Null
+                                       
+                                公务舱系数
+                                       
+                                     GWCRS
+                                      int
+                                     Null
+                                       
+                                公务舱人数
+                                       
+                                     HCPCB
+                                 decimal(10,2)
+                                     Null
+                                       
+                                火车票成本
+                                       
+                                     HCPXS
+                                 decimal(10,2)
+                                     Null
+                                       
+                                火车票系数
+                                       
+                                     HCPRS
+                                      int
+                                     Null
+                                       
+                                火车票人数
+                                       
+                                     CPCB
+                                 decimal(10,2)
+                                     Null
+                                       
+                                 船票成本
+                                       
+                                     CPXS
+                                 decimal(10,2)
+                                     Null
+                                       
+                                 船票系数
+                                       
+                                     CPRS
+                                      int
+                                     Null
+                                       
+                                 船票人数
+                                       
+                                     BXCB
+                                 decimal(10,2)
+                                     Null
+                                       
+                                 保险成本
+                                       
+                                     BXXS
+                                 decimal(10,2)
+                                     Null
+                                       
+                                 保险系数
+                                       
+                                     BXRS
+                                      int
+                                     Null
+                                       
+                                 保险人数
+                                       
+                                     HSCB
+                                 decimal(10,2)
+                                     Null
+                                       
+                              核酸检测成本
+                                       
+                                     HSXS
+                                 decimal(10,2)
+                                     Null
+                                       
+                              核酸检测系数
+                                       
+                                     HSRS
+                                      int
+                                     Null
+                                       
+                              核酸检测人数
+                                       
+                                    VisaCB
+                                 decimal(10,2)
+                                     Null
+                                       
+                                 签证成本
+                                       
+                                    VisaXS
+                                 decimal(10,2)
+                                     Null
+                                       
+                                 签证系数
+                                       
+                                    VisaRS
+                                      int
+                                     Null
+                                       
+                                 签证人数
+                                       
+                                     GWCB
+                                 decimal(10,2)
+                                     Null
+                                       
+                           公务成本 : 公杂费
+                                       
+                                     GWXS
+                                 decimal(10,2)
+                                     Null
+                                       
+                            公务系数: 公杂费
+                                       
+                                     GWRS
+                                      Int
+                                     Null
+                                       
+                           公务人数 : 公杂费
+                                       
+                                     DJCB
+                                 decimal(10,2)
+                                     Null
+                                       
+                                 地接成本
+                                       
+                                     DJXS
+                                 decimal(10,2)
+                                     Null
+                                       
+                                 地接系数
+                                       
+                                     SGRCB
+                                 decimal(10,2)
+                                     Null
+                                       
+                              单间 单人成本
+                                       
+                                   SGRNumber
+                                      int
+                                     Null
+                                       
+                             单间数量(人数)
+                                       
+                                     SGRXS
+                                 decimal(10,2)
+                                     Null
+                                       
+                                 单间 系数
+                                       
+                                     TBRCB
+                                 decimal(10,2)
+                                     Null
+                                       
+                            1/2标间 单人成本
+                                       
+                                   TBRNumber
+                                      int
+                                     Null
+                                       
+                            1/2标间数量(人数)
+                                       
+                                     TBRXS
+                                 decimal(10,2)
+                                     Null
+                                       
+                               1/2标间  系数
+                                       
+                                    JSESCB
+                                 decimal(10,2)
+                                     Null
+                                       
+                      小套房/豪华套房 单人成本
+                                       
+                                  JSESNumber
+                                      int
+                                     Null
+                                       
+                     小套房/豪华套房数量(人数)
+                                       
+                                    JSESXS
+                                 decimal(10,2)
+                                     Null
+                                       
+                         小套房/豪华套房 系数
+                                       
+                                    SUITECB
+                                 decimal(10,2)
+                                     Null
+                                       
+                             套房  单人成本
+                                       
+                                  SUITENumber
+                                      int
+                                     Null
+                                       
+                             套房数量(人数)
+                                       
+                                    SUITEXS
+                                 decimal(10,2)
+                                     Null
+                                       
+                             套房  单人成本
+                                       
+                                     LYJCB
+                                 decimal(10,2)
+                                     Null
+                                       
+                                零用金成本
+                                       
+                                     LYJXS
+                                 decimal(10,2)
+                                     Null
+                                       
+                                零用金系数
+                                       
+                                     LYJRS
+                                      int
+                                     Null
+                                       
+                                零用金人数
+                                       
+                                    IsShare
+                                      int
+                                     Null
+                                       
+                              成本完成标识
+                            0:未完成 1:完成
+
+
+
+