Browse Source

Merge branch 'develop' of http://132.232.92.186:3000/XinXiBu/OA2023 into develop

wangh 1 year ago
parent
commit
d292a0f5fc

+ 4 - 1
OASystem/EntitySync/Program.cs

@@ -95,7 +95,7 @@ db.CodeFirst.SetStringDefaultLength(50).BackupTable().InitTables(new Type[]
     //typeof(Fin_DailyFeePaymentContent),// 财务 - 日付申请详细类
     //typeof(Fin_DailyFeePaymentContent),// 财务 - 日付申请详细类
     //typeof(Grp_GroupsTaskAssignment),
     //typeof(Grp_GroupsTaskAssignment),
     //typeof(Grp_AirTicketReservations),
     //typeof(Grp_AirTicketReservations),
-    //typeof(Grp_GroupCostParameter),
+    typeof(Grp_GroupCostParameter),
     //typeof(Grp_TeamRate),              // 团组汇率
     //typeof(Grp_TeamRate),              // 团组汇率
     //typeof(Fin_ForeignReceivables),    // 对外收款账单
     //typeof(Fin_ForeignReceivables),    // 对外收款账单
     //typeof(Fin_ProceedsReceived),      // 已收款项
     //typeof(Fin_ProceedsReceived),      // 已收款项
@@ -110,6 +110,9 @@ db.CodeFirst.SetStringDefaultLength(50).BackupTable().InitTables(new Type[]
     //typeof(Pm_WageSheet)       //人事模块 工资表单
     //typeof(Pm_WageSheet)       //人事模块 工资表单
     //typeof(Grp_VisaProgressCustomer),
     //typeof(Grp_VisaProgressCustomer),
     //typeof(Grp_VisaProgressCustomerPicture)
     //typeof(Grp_VisaProgressCustomerPicture)
+    //typeof(Grp_CheckBoxs)  //成本选中
+    //typeof(Grp_GroupCost) //成本数据信息
+    //typeof(Grp_CostTypeHotelNumber)//分段房间数量
     //typeof(Grp_VisaInfo)
     //typeof(Grp_VisaInfo)
     typeof(Grp_CarTouristGuideGroundReservations),
     typeof(Grp_CarTouristGuideGroundReservations),
     typeof(Grp_CarTouristGuideGroundReservationsContent)
     typeof(Grp_CarTouristGuideGroundReservationsContent)

+ 97 - 2
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -28,6 +28,8 @@ using AlibabaCloud.OpenApiClient.Models;
 using System;
 using System;
 using NPOI.HPSF;
 using NPOI.HPSF;
 using SqlSugar;
 using SqlSugar;
+using System.Collections;
+using Org.BouncyCastle.Ocsp;
 
 
 namespace OASystem.API.Controllers
 namespace OASystem.API.Controllers
 {
 {
@@ -51,6 +53,12 @@ namespace OASystem.API.Controllers
         private readonly CarTouristGuideGroundRepository _carTouristGuideGroundRep;
         private readonly CarTouristGuideGroundRepository _carTouristGuideGroundRep;
         private readonly MessageRepository _message;
         private readonly MessageRepository _message;
         private readonly SqlSugarClient _sqlSugar;
         private readonly SqlSugarClient _sqlSugar;
+        #region 成本相关
+        private readonly CheckBoxsRepository _checkBoxs;
+        private readonly GroupCostRepository _GroupCostRepository;
+        private readonly CostTypeHotelNumberRepository _CostTypeHotelNumberRepository;
+        private readonly GroupCostParameterRepository _GroupCostParameterRepository;
+        #endregion
         private string url;
         private string url;
         private string path;
         private string path;
 
 
@@ -59,7 +67,8 @@ namespace OASystem.API.Controllers
         public GroupsController(IMapper mapper, SqlSugarClient sqlSugar, GrpScheduleRepository grpScheduleRep, DelegationInfoRepository groupRepository,
         public GroupsController(IMapper mapper, SqlSugarClient sqlSugar, GrpScheduleRepository grpScheduleRep, DelegationInfoRepository groupRepository,
             TaskAssignmentRepository taskAssignmentRep, AirTicketResRepository airTicketResRep, DecreasePaymentsRepository decreasePaymentsRep,
             TaskAssignmentRepository taskAssignmentRep, AirTicketResRepository airTicketResRep, DecreasePaymentsRepository decreasePaymentsRep,
             InvitationOfficialActivitiesRepository InvitationOfficialActivitiesRep, DelegationEnDataRepository delegationEnDataRep, EnterExitCostRepository enterExitCostRep
             InvitationOfficialActivitiesRepository InvitationOfficialActivitiesRep, DelegationEnDataRepository delegationEnDataRep, EnterExitCostRepository enterExitCostRep
-            , DelegationVisaRepository delegationVisaRep, MessageRepository message,VisaPriceRepository visaPriceRep,CarTouristGuideGroundRepository carTouristGuideGroundRep)
+            , DelegationVisaRepository delegationVisaRep, MessageRepository message,VisaPriceRepository visaPriceRep,CarTouristGuideGroundRepository carTouristGuideGroundRep,CheckBoxsRepository checkBoxs, GroupCostRepository GroupCostRepository, CostTypeHotelNumberRepository CostTypeHotelNumberRepository,
+            GroupCostParameterRepository GroupCostParameterRepository)
         {
         {
             _mapper = mapper;
             _mapper = mapper;
             _grpScheduleRep = grpScheduleRep;
             _grpScheduleRep = grpScheduleRep;
@@ -81,6 +90,10 @@ namespace OASystem.API.Controllers
             _message = message;
             _message = message;
             _visaPriceRep= visaPriceRep;
             _visaPriceRep= visaPriceRep;
             _carTouristGuideGroundRep= carTouristGuideGroundRep;
             _carTouristGuideGroundRep= carTouristGuideGroundRep;
+            _checkBoxs = checkBoxs;
+            _GroupCostRepository = GroupCostRepository;
+            _CostTypeHotelNumberRepository = CostTypeHotelNumberRepository;
+            _GroupCostParameterRepository = GroupCostParameterRepository;
         }
         }
 
 
         
         
@@ -3057,6 +3070,7 @@ namespace OASystem.API.Controllers
                 return Ok(JsonView(false, "程序错误!"));
                 return Ok(JsonView(false, "程序错误!"));
             }
             }
         }
         }
+
         /// <summary>
         /// <summary>
         /// op费用删除
         /// op费用删除
         /// </summary>
         /// </summary>
@@ -3079,7 +3093,7 @@ namespace OASystem.API.Controllers
                     DeleteUserId = dto.DeleteUserId,
                     DeleteUserId = dto.DeleteUserId,
                     DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
                     DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
                 }).ExecuteCommandAsync();
                 }).ExecuteCommandAsync();
-                var resultC = await _sqlSugar.Updateable<Grp_CreditCardPayment>().Where(a => a.CId == dto.Id && a.IsDel == 0 && a.CTable==79).SetColumns(a => new Grp_CreditCardPayment()
+                var resultC = await _sqlSugar.Updateable<Grp_CreditCardPayment>().Where(a => a.CId == dto.Id && a.IsDel == 0 && a.CTable == 79).SetColumns(a => new Grp_CreditCardPayment()
                 {
                 {
                     IsDel = 1,
                     IsDel = 1,
                     DeleteUserId = dto.DeleteUserId,
                     DeleteUserId = dto.DeleteUserId,
@@ -3183,5 +3197,86 @@ namespace OASystem.API.Controllers
             }
             }
         }
         }
         #endregion
         #endregion
+
+        #region 团组成本
+
+        /// <summary>
+        /// 团组成本数据初始化
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<IActionResult> GroupCostInit(GroupCostInItDto dto)
+        {
+            var groupList = _sqlSugar.SqlQueryable<DelegationInfoAndIsTrueView>($@"
+                Select  a.Id,TeamName GroupName,b.isTrue From  Grp_DelegationInfo  a left join  (select top 100 percent Diid, CASE 
+                WHEN COUNT(*) >= 0 THEN 'True' 
+                ELSE 'False' END as isTrue  from Grp_GroupCost where Isdel = 0 and date != '' group by Diid) b on a.Id = b.Diid
+                 Where TeamName != '' And IsDel = 0  Order By a.Id Desc
+            ").ToList(); //团组列表
+            int diid = dto.Diid == - 1 ? groupList.First().Id : dto.Diid;
+            var groupInfo = await _groupRepository.PostShareGroupInfo(new ShareGroupInfoDto { PortType =  1 , Id = diid }); //团组信息
+            var groupChecks =   _checkBoxs.GetCheckBoxsByDiid(diid);  //团组选中信息  可枚举
+            var groupCost = _GroupCostRepository.GetAllByDiid(diid);  //团组列表信息  
+            var groupCostMap = _mapper.Map<List<Grp_GroupCostDto>>(groupCost);
+            var hotelNumber = _CostTypeHotelNumberRepository.GetCostTypeHotelNumberByDiid(diid); //酒店数量 可枚举
+            var GroupCostParameter = _GroupCostParameterRepository.GetGroupCostParameterListByDiid(diid); //成本系数 可枚举
+
+            //GroupCostParameter.Add(new
+            //     Grp_GroupCostParameter());
+            var GroupCostParameterMap = _mapper.Map<List<Grp_GroupCostParameterDto>>(GroupCostParameter);
+
+            return Ok(JsonView(new {
+                groupList,
+                groupInfo,
+                groupChecks,
+                groupCost = groupCostMap,
+                hotelNumber,
+                GroupCostParameter = GroupCostParameterMap,
+            }));
+        }
+
+        /// <summary>
+        /// 团组成本信息保存
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<IActionResult> SaveGroupCost(GroupCostSavaDto dto)
+        {
+            JsonView jw = null;
+            bool isTrue = false;
+            var Grp_groups = _mapper.Map<List<Grp_GroupCost>>(dto.GroupCosts);
+            Grp_groups.ForEach(x => { x.CreateUserId = dto.Userid; x.CreateTime = DateTime.Now;}); //.ToString("yyyy-MM-dd HH:mm:ss")
+            var Grp_CheckBoxs = _mapper.Map<List<Grp_CheckBoxs>>(dto.CheckBoxs);
+            Grp_CheckBoxs.ForEach(x => { x.CreateUserId = dto.Userid; x.CreateTime = DateTime.Now; });
+            var Grp_HotelNumber = _mapper.Map<List<Grp_CostTypeHotelNumber>>(dto.CostTypeHotelNumbers);
+            var Grp_CostParameters = _mapper.Map<List<Grp_GroupCostParameter>>(dto.GroupCostParameters);
+
+            try
+            {
+                _sqlSugar.BeginTran();
+                isTrue = await _GroupCostRepository.SaveGroupCostList(Grp_groups,dto.Diid); //列表
+                isTrue = await _checkBoxs.SaveCheckBoxs(Grp_CheckBoxs,dto.Diid); //选中项
+                isTrue = await _CostTypeHotelNumberRepository.SaveHotelNumber(Grp_HotelNumber,dto.Diid); //酒店房间数量
+                isTrue = await _GroupCostParameterRepository.SaveAsync(Grp_CostParameters, dto.Diid); //系数
+
+                _sqlSugar.CommitTran();
+                jw = JsonView(true,"保存成功!",isTrue);
+            }
+            catch (Exception)
+            {
+                _sqlSugar.RollbackTran();
+                jw = JsonView(false);
+            }
+
+            return Ok(jw);
+        }
+
+        #endregion
+
+      
+
+       
     }
     }
 }
 }

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

@@ -127,6 +127,14 @@ namespace OASystem.Domain.AutoMappers
             #region op费用
             #region op费用
             CreateMap<OpCarTouristGuideGroundDto, Grp_CarTouristGuideGroundReservations>();
             CreateMap<OpCarTouristGuideGroundDto, Grp_CarTouristGuideGroundReservations>();
             #endregion
             #endregion
+            #region 成本
+            CreateMap<Grp_GroupCostDto, Grp_GroupCost>();
+            CreateMap<Grp_CheckBoxsDto, Grp_CheckBoxs>();
+            CreateMap<Grp_CostTypeHotelNumberDto, Grp_CostTypeHotelNumber>();
+            CreateMap<Grp_GroupCostParameterDto, Grp_GroupCostParameter>();
+            CreateMap<Grp_GroupCost, Grp_GroupCostDto>();
+            CreateMap<Grp_GroupCostParameter, Grp_GroupCostParameterDto>();
+            #endregion
 
 
             #endregion
             #endregion
             #region Resource
             #region Resource

+ 773 - 0
OASystem/OASystem.Domain/Dtos/Groups/GroupCostSavaDto.cs

@@ -0,0 +1,773 @@
+using OASystem.Domain.Entities;
+using OASystem.Domain.Entities.Groups;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Dtos.Groups
+{
+    public class GroupCostSavaDto
+    {
+        //选中
+       public List<Grp_CheckBoxsDto> CheckBoxs { get; set; }
+
+        //列表
+       public List<Grp_GroupCostDto> GroupCosts { get; set; }
+
+        //房间数
+       public List<Grp_CostTypeHotelNumberDto> CostTypeHotelNumbers { get; set; }
+
+        //系数
+       public List<Grp_GroupCostParameterDto> GroupCostParameters { get; set; }
+
+        public int Userid { get; set; }
+
+        public int Diid {  get; set; }  
+    }
+
+    public class Grp_CheckBoxsDto
+    {
+        public int Diid { get; set; }
+        /// <summary>
+        /// 选中区域  Top, Left, Right
+        /// </summary>
+        public string CbType { get; set; }
+        /// <summary>
+        /// 选中的值
+        /// </summary>
+        public string CbValues { get; set; }
+    }
+
+    public class Grp_GroupCostDto
+    {
+        int diid;
+        /// <summary>
+        /// 团号
+        /// </summary>
+        public int Diid
+        {
+            get { return diid; }
+            set { diid = value; }
+        }
+        string day;
+        /// <summary>
+        /// 天数
+        /// </summary>
+
+        public string DAY
+        {
+            get { return day; }
+            set { day = value; }
+        }
+        string date;
+        /// <summary>
+        /// 日期
+        /// </summary>
+        public string Date
+        {
+            get { return date; }
+            set { date = value; }
+        }
+
+        string itin;
+        /// <summary>
+        /// 行程描述
+        /// </summary>
+        public string ITIN
+        {
+            get { return itin; }
+            set { itin = value; }
+        }
+        string carType;
+        /// <summary>
+        /// 车型
+        /// </summary>
+        public string CarType
+        {
+            get { return carType; }
+            set { carType = value; }
+        }
+
+        decimal carCost;
+        /// <summary>
+        /// 车费用
+        /// </summary>
+        
+        public decimal CarCost
+        {
+            get { return carCost; }
+            set { carCost = value; }
+        }
+
+        int carNumber;
+        /// <summary>
+        /// 车数量
+        /// </summary>
+        
+        public int CarNumber
+        {
+            get { return carNumber; }
+            set { carNumber = value; }
+        }
+
+        decimal carTiming;
+        /// <summary>
+        /// 用车时间
+        /// </summary>
+        
+        public decimal CarTiming
+        {
+            get { return carTiming; }
+            set { carTiming = value; }
+        }
+
+        decimal tgs;
+        /// <summary>
+        ///  导游工资
+        /// </summary>
+        
+        public decimal TGS
+        {
+            get { return tgs; }
+            set { tgs = value; }
+        }
+
+        decimal tgwh;
+        /// <summary>
+        ///  导游工作时间
+        /// </summary>
+        
+        public decimal TGWH
+        {
+            get { return tgwh; }
+            set { tgwh = value; }
+        }
+
+        decimal tgn;
+        /// <summary>
+        ///  导游数量
+        /// </summary>
+        
+        public decimal TGN
+        {
+            get { return tgn; }
+            set { tgn = value; }
+        }
+
+        /// <summary>
+        /// 导游超时费用
+        /// </summary>
+        decimal tgof;
+
+        
+        public decimal TGOF
+        {
+            get { return tgof; }
+            set { tgof = value; }
+        }
+
+        decimal tgm;
+        /// <summary>
+        /// 导游餐补
+        /// </summary>
+        
+        public decimal TGM
+        {
+            get { return tgm; }
+            set { tgm = value; }
+        }
+
+        decimal tga;
+        /// <summary>
+        /// 导游房补
+        /// </summary>
+        
+        public decimal TGA
+        {
+            get { return tga; }
+            set { tga = value; }
+        }
+
+        decimal tgtf;
+        /// <summary>
+        /// 导游交通费
+        /// </summary>
+        
+        public decimal TGTF
+        {
+            get { return tgtf; }
+            set { tgtf = value; }
+        }
+
+        decimal tgef;
+        /// <summary>
+        /// 导游景点费
+        /// </summary>
+        
+        public decimal TGEF
+        {
+            get { return tgef; }
+            set { tgef = value; }
+        }
+
+        decimal cfs;
+        /// <summary>
+        ///  司机工资
+        /// </summary>
+        
+        public decimal CFS
+        {
+            get { return cfs; }
+            set { cfs = value; }
+        }
+
+        /// <summary>
+        /// 司机餐补
+        /// </summary>
+        decimal cfm;
+        
+        public decimal CFM
+        {
+            get { return cfm; }
+            set { cfm = value; }
+        }
+
+        /// <summary>
+        /// 司机超时费用
+        /// </summary>
+        decimal cfof;
+        
+        public decimal CFOF
+        {
+            get { return cfof; }
+            set { cfof = value; }
+        }
+
+        decimal b;
+        /// <summary>
+        /// 早餐
+        /// </summary>
+        
+        public decimal B
+        {
+            get { return b; }
+            set { b = value; }
+        }
+
+        decimal l;
+        /// <summary>
+        /// 午餐
+        /// </summary>
+        
+        public decimal L
+        {
+            get { return l; }
+            set { l = value; }
+        }
+
+        decimal d;
+        /// <summary>
+        /// 晚餐
+        /// </summary>
+        
+        public decimal D
+        {
+            get { return d; }
+            set { d = value; }
+        }
+
+        decimal tbr;
+        /// <summary>
+        /// 1/2 双人间
+        /// </summary>
+        
+        public decimal TBR
+        {
+            get { return tbr; }
+            set { tbr = value; }
+        }
+        decimal sgr;
+        /// <summary>
+        /// 单间
+        /// </summary>
+        
+        public decimal SGR
+        {
+            get { return sgr; }
+            set { sgr = value; }
+        }
+        decimal jses;
+        /// <summary>
+        /// 小套房
+        /// </summary>
+        
+        public decimal JS_ES
+        {
+            get { return jses; }
+            set { jses = value; }
+        }
+
+        decimal suite;
+        /// <summary>
+        /// 套房
+        /// </summary>
+        
+        public decimal Suite
+        {
+            get { return suite; }
+            set { suite = value; }
+        }
+
+        string accon;
+        /// <summary>
+        /// 酒店名称
+        /// </summary>
+        public string ACCON
+        {
+            get { return accon; }
+            set { accon = value; }
+        }
+
+        decimal tv;
+        /// <summary>
+        /// 公务活动费用
+        /// </summary>
+        
+        public decimal TV
+        {
+            get { return tv; }
+            set { tv = value; }
+        }
+
+        decimal il;
+        /// <summary>
+        /// 邀请函相关费用
+        /// </summary>
+        
+        public decimal iL
+        {
+            get { return il; }
+            set { il = value; }
+        }
+
+        decimal iF;
+        /// <summary>
+        /// 公务翻译费用
+        /// </summary>
+        
+        public decimal IF
+        {
+            get { return iF; }
+            set { iF = value; }
+        }
+
+        decimal ef;
+        /// <summary>
+        /// 景点门票
+        /// </summary>
+        
+        public decimal EF
+        {
+            get { return ef; }
+            set { ef = value; }
+        }
+
+        decimal brf;
+        /// <summary>
+        /// 饮料零食水果
+        /// </summary>
+        
+        public decimal B_R_F
+        {
+            get { return brf; }
+            set { brf = value; }
+        }
+
+        decimal te;
+        /// <summary>
+        /// 出行物资
+        /// </summary>
+        
+        public decimal TE
+        {
+            get { return te; }
+            set { te = value; }
+        }
+
+        decimal tgtips;
+        /// <summary>
+        /// 导游小费
+        /// </summary>
+        
+        public decimal TGTips
+        {
+            get { return tgtips; }
+            set { tgtips = value; }
+        }
+        decimal drvtips;
+        /// <summary>
+        /// 司机小费
+        /// </summary>
+        
+        public decimal DRVTips
+        {
+            get { return drvtips; }
+            set { drvtips = value; }
+        }
+
+        decimal pc;
+        /// <summary>
+        /// 零用金
+        /// </summary>
+        
+        public decimal PC
+        {
+            get { return pc; }
+            set { pc = value; }
+        }
+
+        decimal tlf;
+        /// <summary>
+        /// 领队费
+        /// </summary>
+        
+        public decimal TLF
+        {
+            get { return tlf; }
+            set { tlf = value; }
+        }
+
+        decimal ect;
+        /// <summary>
+        /// 会务费
+        /// </summary>
+        
+        public decimal ECT
+        {
+            get { return ect; }
+            set { ect = value; }
+        }
+    }
+
+    public class Grp_CostTypeHotelNumberDto
+    {
+        /// <summary>
+        /// 数据id
+        /// </summary>
+        public int Id { get; set; }
+
+        /// <summary>
+        /// 单人间
+        /// </summary>
+        public int SGR { get; set; }
+
+        /// <summary>
+        /// 双人间
+        /// </summary>
+        public int TBR { get; set; }
+
+        /// <summary>
+        /// 小套房
+        /// </summary>
+        public int JSES { get; set; }
+
+        /// <summary>
+        /// 大套房
+        /// </summary>
+        public int SUITE { get; set; }
+
+        /// <summary>
+        /// 类型 Default A B ....
+        /// </summary>
+        public string Type { get; set; }
+
+        /// <summary>
+        /// 团组id
+        /// </summary>
+        public int Diid { get; set; }
+    }
+
+    public class Grp_GroupCostParameterDto
+    {
+        /// <summary>
+        /// 数据id
+        /// </summary>
+        public int Id { get; set; }
+
+
+        /// <summary>
+        /// 团组ID
+        /// </summary>
+        
+        public int DiId { get; set; }
+        /// <summary>
+        /// 币种
+        /// </summary>
+       
+        public string Currency { get; set; }
+        /// <summary>
+        /// 汇率
+        /// </summary>
+       
+        public decimal Rate { get; set; }
+        /// <summary>
+        /// 税率
+        /// </summary>
+       
+        public decimal Tax { get; set; }
+        /// <summary>
+        /// 房费预算
+        /// </summary>
+       
+        public decimal FFYS { get; set; }
+        /// <summary>
+        /// 酒店系数
+        /// </summary>
+       
+        public decimal HotelXS { get; set; }
+        /// <summary>
+        /// 经济舱成本
+        /// </summary>
+       
+        public decimal JJCCB { get; set; }
+        /// <summary>
+        /// 经济舱系数
+        /// </summary>
+       
+        public decimal JJCXS { get; set; }
+        /// <summary>
+        /// 经济舱人数
+        /// </summary>
+        
+        public int JJCRS { get; set; }
+        /// <summary>
+        /// 公务舱成本
+        /// </summary>
+       
+        public decimal GWCCB { get; set; }
+        /// <summary>
+        /// 公务舱系数
+        /// </summary>
+       
+        public decimal GWCXS { get; set; }
+        /// <summary>
+        /// 公务舱人数
+        /// </summary>
+        
+        public int GWCRS { get; set; }
+        /// <summary>
+        /// 火车票成本
+        /// </summary>
+       
+        public decimal HCPCB { get; set; }
+        /// <summary>
+        /// 火车票系数
+        /// </summary>
+       
+        public decimal HCPXS { get; set; }
+        /// <summary>
+        /// 火车票人数
+        /// </summary>
+        
+        public int HCPRS { get; set; }
+        /// <summary>
+        /// 船票成本
+        /// </summary>
+       
+        public decimal CPCB { get; set; }
+        /// <summary>
+        /// 船票系数
+        /// </summary>
+       
+        public decimal CPXS { get; set; }
+        /// <summary>
+        /// 船票人数
+        /// </summary>
+        
+        public int CPRS { get; set; }
+        /// <summary>
+        /// 保险成本
+        /// </summary>
+       
+        public decimal BXCB { get; set; }
+        /// <summary>
+        /// 保险系数
+        /// </summary>
+       
+        public decimal BXXS { get; set; }
+        /// <summary>
+        /// 保险人数
+        /// </summary>
+        
+        public int BXRS { get; set; }
+        /// <summary>
+        /// 核酸检测成本
+        /// </summary>
+       
+        public decimal HSCB { get; set; }
+        /// <summary>
+        /// 核酸检测系数
+        /// </summary>
+       
+        public decimal HSXS { get; set; }
+        /// <summary>
+        /// 核酸检测人数
+        /// </summary>
+        
+        public int HSRS { get; set; }
+        /// <summary>
+        /// 签证成本
+        /// </summary>
+       
+        public decimal VisaCB { get; set; }
+        /// <summary>
+        /// 签证系数
+        /// </summary>
+       
+        public decimal VisaXS { get; set; }
+        /// <summary>
+        /// 签证人数
+        /// </summary>
+        
+        public int VisaRS { get; set; }
+        /// <summary>
+        /// 公务成本 : 公杂费
+        /// </summary>
+       
+        public decimal GWCB { get; set; }
+        /// <summary>
+        /// 公务系数: 公杂费
+        /// </summary>
+       
+        public decimal GWXS { get; set; }
+        /// <summary>
+        /// 公务人数 : 公杂费
+        /// </summary>
+        
+        public int GWRS { get; set; }
+        /// <summary>
+        /// 地接成本
+        /// </summary>
+       
+        public decimal DJCB { get; set; }
+
+        /// <summary>
+        /// 地接人数
+        /// </summary>
+        public int DJRS { get; set; }
+
+        /// <summary>
+        /// 地接系数
+        /// </summary>
+
+        public decimal DJXS { get; set; }
+        /// <summary>
+        /// 单间 单人成本
+        /// </summary>
+       
+        public decimal SGRCB { get; set; }
+        /// <summary>
+        /// 单间数量(人数)
+        /// </summary>
+        
+        public int SGRNumber { get; set; }
+        /// <summary>
+        /// 单间 系数
+        /// </summary>
+       
+        public decimal SGRXS { get; set; }
+        /// <summary>
+        /// 1/2标间 单人成本
+        /// </summary>
+       
+        public decimal TBRCB { get; set; }
+        /// <summary>
+        /// 1/2标间数量(人数)
+        /// </summary>
+        
+        public int TBRNumber { get; set; }
+        /// <summary>
+        /// 1/2标间  系数
+        /// </summary>
+       
+        public decimal TBRXS { get; set; }
+        /// <summary>
+        /// 小套房/豪华套房 单人成本
+        /// </summary>
+       
+        public decimal JSESCB { get; set; }
+        /// <summary>
+        /// 小套房/豪华套房数量(人数)
+        /// </summary>
+        
+        public int JSESNumber { get; set; }
+        /// <summary>
+        /// 小套房/豪华套房 系数
+        /// </summary>
+       
+        public decimal JSESXS { get; set; }
+        /// <summary>
+        /// 套房  单人成本
+        /// </summary>
+       
+        public decimal SUITECB { get; set; }
+        /// <summary>
+        /// 套房数量(人数)
+        /// </summary>
+        
+        public int SUITENumber { get; set; }
+        /// <summary>
+        /// 套房  系数
+        /// </summary>
+       
+        public decimal SUITEXS { get; set; }
+        /// <summary>
+        /// 零用金成本
+        /// </summary>
+       
+        public decimal LYJCB { get; set; }
+        /// <summary>
+        /// 零用金系数
+        /// </summary>
+       
+        public decimal LYJXS { get; set; }
+        /// <summary>
+        /// 零用金人数
+        /// </summary>
+        
+        public int LYJRS { get; set; }
+        /// <summary>
+        /// 成本完成标识  0:未完成 1:完成
+        /// </summary>
+        
+        public int IsShare { get; set; }
+
+        /// <summary>
+        /// 分段类型
+        /// </summary>
+       
+        public string CostType { get; set; }
+        /// <summary>
+        /// 开始时间
+        /// </summary>
+        public string CostTypeStartTime { get; set; }
+        /// <summary>
+        /// 结束时间
+        /// </summary>
+        public string CostTypeendTime { get; set; }
+        /// <summary>
+        /// 此段人数
+        /// </summary>
+        
+        public int CostTypenumber { get; set; }
+    }
+
+    public class GroupCostInItDto
+    {
+        public int Diid { get; set; } 
+    }
+
+
+}

+ 33 - 0
OASystem/OASystem.Domain/Entities/Groups/Grp_CheckBoxs.cs

@@ -0,0 +1,33 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Entities.Groups
+{
+    [SugarTable("Grp_CheckBoxs")]
+    public class Grp_CheckBoxs : EntityBase
+    {
+        /// <summary>
+        /// 团组id
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int Diid { get; set; }
+        /// <summary>
+        /// 选中区域  Top, Left, Right
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(30)")]
+        public string CbType { get; set; }
+        /// <summary>
+        /// 选中的值
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "nvarchar(500)")]
+        public string CbValues { get; set; }
+    }
+
+    public class Grp_CheckBoxsView: Grp_CheckBoxs
+    {
+
+    }
+}

+ 57 - 0
OASystem/OASystem.Domain/Entities/Groups/Grp_CostTypeHotelNumber.cs

@@ -0,0 +1,57 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Entities.Groups
+{
+    public class Grp_CostTypeHotelNumber:EntityBase
+    {
+        /// <summary>
+        /// 单人间
+        /// </summary>
+        public int SGR { get; set; }
+
+        /// <summary>
+        /// 双人间
+        /// </summary>
+        public int TBR { get; set; }
+
+        /// <summary>
+        /// 小套房
+        /// </summary>
+        public int JSES { get; set; }
+
+        /// <summary>
+        /// 大套房
+        /// </summary>
+        public int SUITE { get; set; }
+
+        /// <summary>
+        /// 类型 Default A B ....
+        /// </summary>
+        public string Type { get; set; }
+
+        /// <summary>
+        /// 团组id
+        /// </summary>
+        public int Diid { get; set; }
+
+    }
+
+    public class Grp_CostTypeHotelNumberView: Grp_CostTypeHotelNumber
+    {
+
+    }
+
+    /// <summary>
+    /// 分段类型枚举
+    /// </summary>
+    //public enum GrouopCostType
+    //{
+    //    Default, A, B
+    //}
+
+
+}

+ 430 - 0
OASystem/OASystem.Domain/Entities/Groups/Grp_GroupCost.cs

@@ -0,0 +1,430 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Entities.Groups
+{
+    public class Grp_GroupCost: EntityBase
+    {
+        int diid;
+        /// <summary>
+        /// 团号
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int Diid
+        {
+            get { return diid; }
+            set { diid = value; }
+        }
+        string day;
+        /// <summary>
+        /// 天数
+        /// </summary>
+
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
+        public string DAY
+        {
+            get { return day; }
+            set { day = value; }
+        }
+        string date;
+        /// <summary>
+        /// 日期
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
+        public string Date
+        {
+            get { return date; }
+            set { date = value; }
+        }
+
+        string itin;
+        /// <summary>
+        /// 行程描述
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(500)")]
+        public string ITIN
+        {
+            get { return itin; }
+            set { itin = value; }
+        }
+        string carType;
+        /// <summary>
+        /// 车型
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(500)")]
+        public string CarType
+        {
+            get { return carType; }
+            set { carType = value; }
+        }
+
+        decimal carCost;
+        /// <summary>
+        /// 车费用
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal CarCost
+        {
+            get { return carCost; }
+            set { carCost = value; }
+        }
+
+        int carNumber;
+        /// <summary>
+        /// 车数量
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int CarNumber
+        {
+            get { return carNumber; }
+            set { carNumber = value; }
+        }
+
+        decimal carTiming;
+        /// <summary>
+        /// 用车时间
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal CarTiming
+        {
+            get { return carTiming; }
+            set { carTiming = value; }
+        }
+
+        decimal tgs;
+        /// <summary>
+        ///  导游工资
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal TGS
+        {
+            get { return tgs; }
+            set { tgs = value; }
+        }
+
+        decimal tgwh;
+        /// <summary>
+        ///  导游工作时间
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal TGWH
+        {
+            get { return tgwh; }
+            set { tgwh = value; }
+        }
+
+        decimal tgn;
+        /// <summary>
+        ///  导游数量
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal TGN
+        {
+            get { return tgn; }
+            set { tgn = value; }
+        }
+
+        /// <summary>
+        /// 导游超时费用
+        /// </summary>
+        decimal tgof;
+
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal TGOF
+        {
+            get { return tgof; }
+            set { tgof = value; }
+        }
+
+        decimal tgm;
+        /// <summary>
+        /// 导游餐补
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal TGM
+        {
+            get { return tgm; }
+            set { tgm = value; }
+        }
+
+        decimal tga;
+        /// <summary>
+        /// 导游房补
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal TGA
+        {
+            get { return tga; }
+            set { tga = value; }
+        }
+
+        decimal tgtf;
+        /// <summary>
+        /// 导游交通费
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal TGTF
+        {
+            get { return tgtf; }
+            set { tgtf = value; }
+        }
+
+        decimal tgef;
+        /// <summary>
+        /// 导游景点费
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal TGEF
+        {
+            get { return tgef; }
+            set { tgef = value; }
+        }
+
+        decimal cfs;
+        /// <summary>
+        ///  司机工资
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal CFS
+        {
+            get { return cfs; }
+            set { cfs = value; }
+        }
+
+        /// <summary>
+        /// 司机餐补
+        /// </summary>
+        decimal cfm;
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal CFM
+        {
+            get { return cfm; }
+            set { cfm = value; }
+        }
+
+        /// <summary>
+        /// 司机超时费用
+        /// </summary>
+        decimal cfof;
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal CFOF
+        {
+            get { return cfof; }
+            set { cfof = value; }
+        }
+
+        decimal b;
+        /// <summary>
+        /// 早餐
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal B
+        {
+            get { return b; }
+            set { b = value; }
+        }
+
+        decimal l;
+        /// <summary>
+        /// 午餐
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal L
+        {
+            get { return l; }
+            set { l = value; }
+        }
+
+        decimal d;
+        /// <summary>
+        /// 晚餐
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal D
+        {
+            get { return d; }
+            set { d = value; }
+        }
+
+        decimal tbr;
+        /// <summary>
+        /// 1/2 双人间
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal TBR
+        {
+            get { return tbr; }
+            set { tbr = value; }
+        }
+        decimal sgr;
+        /// <summary>
+        /// 单间
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal SGR
+        {
+            get { return sgr; }
+            set { sgr = value; }
+        }
+        decimal jses;
+        /// <summary>
+        /// 小套房
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal JS_ES
+        {
+            get { return jses; }
+            set { jses = value; }
+        }
+
+        decimal suite;
+        /// <summary>
+        /// 套房
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal Suite
+        {
+            get { return suite; }
+            set { suite = value; }
+        }
+
+        string accon;
+        /// <summary>
+        /// 住宿地名称
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(500)")]
+        public string ACCON
+        {
+            get { return accon; }
+            set { accon = value; }
+        }
+
+        decimal tv;
+        /// <summary>
+        /// 公务活动费用
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal TV
+        {
+            get { return tv; }
+            set { tv = value; }
+        }
+
+        decimal il;
+        /// <summary>
+        /// 邀请函相关费用
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal iL
+        {
+            get { return il; }
+            set { il = value; }
+        }
+
+        decimal iF;
+        /// <summary>
+        /// 公务翻译费用
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal IF
+        {
+            get { return iF; }
+            set { iF = value; }
+        }
+
+        decimal ef;
+        /// <summary>
+        /// 景点门票
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal EF
+        {
+            get { return ef; }
+            set { ef = value; }
+        }
+
+        decimal brf;
+        /// <summary>
+        /// 饮料零食水果
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal B_R_F
+        {
+            get { return brf; }
+            set { brf = value; }
+        }
+
+        decimal te;
+        /// <summary>
+        /// 出行物资
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal TE
+        {
+            get { return te; }
+            set { te = value; }
+        }
+
+        decimal tgtips;
+        /// <summary>
+        /// 导游小费
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal TGTips
+        {
+            get { return tgtips; }
+            set { tgtips = value; }
+        }
+        decimal drvtips;
+        /// <summary>
+        /// 司机小费
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal DRVTips
+        {
+            get { return drvtips; }
+            set { drvtips = value; }
+        }
+
+        decimal pc;
+        /// <summary>
+        /// 零用金
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal PC
+        {
+            get { return pc; }
+            set { pc = value; }
+        }
+
+        decimal tlf;
+        /// <summary>
+        /// 领队费
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal TLF
+        {
+            get { return tlf; }
+            set { tlf = value; }
+        }
+
+        decimal ect;
+        /// <summary>
+        /// 会务费
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "decimal(18,2)")]
+        public decimal ECT
+        {
+            get { return ect; }
+            set { ect = value; }
+        }
+    }
+
+    public class GroupCostView: Grp_GroupCost
+    {
+
+    }
+}

+ 33 - 2
OASystem/OASystem.Domain/Entities/Groups/Grp_GroupCostParameter.cs

@@ -167,6 +167,12 @@ namespace OASystem.Domain.Entities.Groups
         /// </summary>
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
         [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
         public decimal DJCB { get; set; }
         public decimal DJCB { get; set; }
+
+        /// <summary>
+        /// 地接人数
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int DJRS { get; set; }
         /// <summary>
         /// <summary>
         /// 地接系数
         /// 地接系数
         /// </summary>
         /// </summary>
@@ -228,7 +234,7 @@ namespace OASystem.Domain.Entities.Groups
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         public int SUITENumber { get; set; }
         public int SUITENumber { get; set; }
         /// <summary>
         /// <summary>
-        /// 套房  单人成本
+        /// 套房  系数
         /// </summary>
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
         [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
         public decimal SUITEXS { get; set; }
         public decimal SUITEXS { get; set; }
@@ -252,6 +258,31 @@ namespace OASystem.Domain.Entities.Groups
         /// </summary>
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         public int IsShare { get; set; }
         public int IsShare { get; set; }
-        
+
+        /// <summary>
+        /// 分段类型 A B 
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
+        public string CostType { get; set; }
+        /// <summary>
+        /// 开始时间
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "DateTime")]
+        public string CostTypeStartTime { get; set; }
+        /// <summary>
+        /// 结束时间
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "DateTime")]
+        public string CostTypeendTime { get; set; }
+        /// <summary>
+        /// 此段人数
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int CostTypenumber { get; set; }
+    }
+
+    public class Grp_GroupCostParameterView: Grp_GroupCostParameter
+    {
+
     }
     }
 }
 }

+ 23 - 0
OASystem/OASystem.Domain/ViewModels/Groups/CostType.cs

@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.ViewModels.Groups
+{
+    public class CostTypeView
+    {
+
+
+    }
+
+    public class DelegationInfoAndIsTrueView
+    {
+        public int Id { get; set; }
+
+        public string GroupName { get; set; }
+
+        public string isTrue { get; set; }
+    }
+}

+ 61 - 0
OASystem/OASystem.Infrastructure/Repositories/Groups/CheckBoxsRepository.cs

@@ -0,0 +1,61 @@
+using Aspose.Words.Lists;
+using AutoMapper;
+using NPOI.SS.Formula.Functions;
+using OASystem.Domain.Entities.Customer;
+using OASystem.Domain.Entities.Groups;
+using OASystem.Domain.ViewModels.CRM;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Infrastructure.Repositories.Groups
+{
+    public class CheckBoxsRepository : BaseRepository<Grp_CheckBoxs, Grp_CheckBoxsView>
+    {
+        private readonly IMapper _mapper;
+        public CheckBoxsRepository(SqlSugarClient sqlSugar, IMapper mapper) :
+         base(sqlSugar)
+        {
+            _mapper = mapper;
+        }
+
+        public List<Grp_CheckBoxs> GetCheckBoxsByDiid(int diid)
+        {
+            return  Query(x=>x.Diid == diid).ToList();
+        }
+
+        public bool AddCheckBoxs(List<Grp_CheckBoxs> checkboxList)
+        {
+            return Adds(checkboxList) > 0;
+        }
+
+        public Task<bool> DelCheckBoxsByDiid(int diid)
+        {
+            return DeleteAsync(x => x.Diid == diid);
+        }
+
+        public async Task<bool> SaveCheckBoxs(List<Grp_CheckBoxs> checkboxList,int diid)
+        {
+            BeginTran();
+            bool isTrue = await DelCheckBoxsByDiid(diid);
+            if (checkboxList.Count > 0)
+            {
+                isTrue = AddCheckBoxs(checkboxList);
+            }
+
+            if (isTrue)
+            {
+                CommitTran();
+            }
+            else
+            {
+                RollbackTran();
+            }
+
+            return isTrue;
+
+        }
+    }
+}

+ 38 - 0
OASystem/OASystem.Infrastructure/Repositories/Groups/CostTypeHotelNumberRepository.cs

@@ -0,0 +1,38 @@
+using OASystem.Domain.Entities.Groups;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Infrastructure.Repositories.Groups
+{
+    public class CostTypeHotelNumberRepository : BaseRepository<Grp_CostTypeHotelNumber, Grp_CostTypeHotelNumberView>
+    {
+        public CostTypeHotelNumberRepository(SqlSugarClient sqlSugar) : base(sqlSugar)
+        { }
+
+        public List<Grp_CostTypeHotelNumber> GetCostTypeHotelNumberByDiid(int diid)
+        {
+            return Query(x=>x.Diid == diid).ToList();
+        }
+
+        public async Task<bool> SaveHotelNumber(List<Grp_CostTypeHotelNumber> List,int Userid)
+        {
+            var AddList = List.Where(x=>x.Id == 0).ToList();
+            var UpdateList = List.Where(x=>x.Id != 0).ToList();
+            BeginTran();
+            bool isTrue = false;
+            if (AddList.Count > 0)
+            {
+                AddList.ForEach(x => { x.CreateUserId = Userid; x.CreateTime = DateTime.Now; });
+                isTrue = Adds(AddList) > 0;
+            }
+            if(UpdateList.Count > 0)
+            {
+                isTrue = await _sqlSugar.Updateable<Grp_CostTypeHotelNumber>(UpdateList).ExecuteCommandHasChangeAsync();
+            }
+            return isTrue;
+        }
+    }
+}

+ 42 - 0
OASystem/OASystem.Infrastructure/Repositories/Groups/GroupCostParameterRepository.cs

@@ -0,0 +1,42 @@
+using AutoMapper;
+using OASystem.Domain.Entities.Groups;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Infrastructure.Repositories.Groups
+{
+    public class GroupCostParameterRepository : BaseRepository<Grp_GroupCostParameter, Grp_GroupCostParameterView>
+    {
+        public GroupCostParameterRepository(SqlSugarClient sqlSugar) :
+        base(sqlSugar)
+        {
+        }
+
+        public List<Grp_GroupCostParameter> GetGroupCostParameterListByDiid(int diid)
+        {
+           return Query(x=>x.DiId == diid).ToList();
+        }
+
+
+        public async Task<bool> SaveAsync(List<Grp_GroupCostParameter> List,int UserId)
+        {
+            var AddList = List.Where(x => x.Id == 0).ToList();
+            var UpdateList = List.Where(x => x.Id != 0).ToList();
+            BeginTran();
+            bool isTrue = false;
+            if (AddList.Count > 0)
+            {
+                AddList.ForEach(x => { x.CreateUserId = UserId; x.CreateTime = DateTime.Now; });
+                isTrue = Adds(AddList) > 0;
+            }
+            if (UpdateList.Count > 0)
+            {
+                isTrue = await _sqlSugar.Updateable<Grp_GroupCostParameter>(UpdateList).ExecuteCommandHasChangeAsync();
+            }
+            return isTrue;
+        }
+    }
+}

+ 53 - 0
OASystem/OASystem.Infrastructure/Repositories/Groups/GroupCostRepository.cs

@@ -0,0 +1,53 @@
+using OASystem.Domain.Entities.Groups;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Infrastructure.Repositories.Groups
+{
+    public class GroupCostRepository:BaseRepository<Grp_GroupCost, GroupCostView>
+    {
+        public GroupCostRepository(SqlSugarClient sqlSugar) : base(sqlSugar)
+        {}
+
+        public List<Grp_GroupCost> GetAllByDiid(int diid)
+        {
+            return Query(x => x.Diid == diid).ToList();
+        }
+
+        public List<Grp_GroupCost> GetAll()
+        {
+            return Query(x=> x.IsDel < 1).ToList();
+        }
+
+        public async Task<bool> SaveGroupCostList(List<Grp_GroupCost> costList,int diid)
+        {
+            BeginTran();
+            bool isTrue = await DeleteGroupCostList(diid);
+            if (costList.Count > 0)
+            {
+                isTrue = Adds(costList) > 0;
+            }
+            if (isTrue)
+            {
+                CommitTran();
+            }
+            else
+            {
+                RollbackTran();
+            }
+
+            return isTrue; 
+        }
+
+
+        public Task<bool> DeleteGroupCostList(int diid)
+        {
+            return  DeleteAsync(x => x.Diid == diid);
+        }
+
+
+    }
+}