wangh 1 год назад
Родитель
Сommit
a07c27e237

+ 2 - 4
OASystem/EntitySync/Program.cs

@@ -114,9 +114,7 @@ db.CodeFirst.SetStringDefaultLength(50).BackupTable().InitTables(new Type[]
     //typeof(Grp_GroupCost) //成本数据信息
     //typeof(Grp_CostTypeHotelNumber)//分段房间数量
     //typeof(Grp_VisaInfo)
-    //typeof(Grp_CarTouristGuideGroundReservations),
-    //typeof(Grp_CarTouristGuideGroundReservationsContent)
-    //typeof(Grp_Customers),
-    typeof(Grp_HotelReservations)
+    typeof(Grp_CarTouristGuideGroundReservations),
+    typeof(Grp_CarTouristGuideGroundReservationsContent)
 });
 Console.WriteLine("数据库结构同步完成!");

+ 110 - 0
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -250,6 +250,26 @@ namespace OASystem.API.Controllers
             return Ok(JsonView(groupData.Data));
         }
 
+        /// <summary>
+        ///  接团信息列表 Page
+        /// </summary>
+        /// <param name="dto">团组列表请求dto</param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> PostGroupPageList(GroupPageListDto dto)
+        {
+            if (dto == null) return Ok(JsonView(false, "请输入搜索搜索条件!"));
+
+            var groupData = await _groupRepository.PostGroupPageList(dto);
+            if (groupData.Code != 0)
+            {
+                return Ok(JsonView(false, groupData.Msg));
+            }
+
+            return Ok(JsonView(groupData.Data));
+        }
+
         /// <summary>
         ///  接团信息详情
         /// </summary>
@@ -2624,6 +2644,33 @@ namespace OASystem.API.Controllers
             }
         }
 
+        /// <summary>
+        /// 团组模块 - 出入境费用 - 明细表导出
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> PostEnterExitCostExportDetailsList(EnterExitCostOperateDto dto)
+        {
+            try
+            {
+                var data = await _enterExitCostRep.PostEnterExitCostOperate(dto);
+
+                if (data.Code != 0)
+                {
+                    return Ok(JsonView(false, data.Msg));
+                }
+
+                return Ok(JsonView(true, data.Msg, data.Data));
+            }
+            catch (Exception ex)
+            {
+                return Ok(JsonView(false, ex.Message));
+            }
+        }
+
+
+
         /// <summary>
         /// 团组模块 - 出入境费用 - 子项删除
         /// </summary>
@@ -3279,8 +3326,71 @@ namespace OASystem.API.Controllers
             return Ok(jw);
         }
 
+        /// <summary>
+        /// 司兼导数据
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public IActionResult GetCarGuides(CarGuidesDto dto)
+        {
+            JsonView jw = null;
+            var Data = _sqlSugar.SqlQueryable<Grp_CarGuides>($@" select * from Grp_CarGuides where isdel = 0 ").ToList();
+            jw = JsonView(true, "获取成功!", Data);
+            return Ok(jw);
+        }
+
+
+        /// <summary>
+        /// 导游数据
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public IActionResult GetGuidesInfo(CarGuidesDto dto)
+        {
+            JsonView jw = null;
+
+            //var Data = _sqlSugar.SqlQueryable<Grp_GuidesInfo>($@"		SELECT* FROM (
+            //                                      SELECT*,ROW_NUMBER() OVER (ORDER BY Id) AS RowNumber FROM Grp_GuidesInfo where (city like '%{dto.City}%' or country like '%{dto.City}%' )  and isdel = 0 ) as b
+            //                                      where RowNumber BETWEEN {(dto.Page - 1) * dto.Size + 1} and {(dto.Page) * dto.Size}").ToList();
+
+            var Data = _sqlSugar.SqlQueryable<Grp_GuidesInfo>($@" select * from Grp_GuidesInfo where isdel = 0 ").ToList();
+
+            jw = JsonView(true, "获取成功!", Data);
+            return Ok(jw);
+        }
+
+        /// <summary>
+        /// 成本车数据
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public IActionResult GetCarInfo(CarGuidesDto dto)
+        {
+            JsonView jw = null;
+            var Data = _sqlSugar.SqlQueryable<Grp_CarInfo>($@" select * from Grp_CarInfo where isdel = 0 ").ToList();
+            jw = JsonView(true, "获取成功!", Data);
+            return Ok(jw);
+        }
+
+
+        /// <summary>
+        /// 景点数据
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public IActionResult GetScenicSpotInfo(CarGuidesDto dto)
+        {
+            var Data = _sqlSugar.SqlQueryable<Grp_ScenicSpotInfo>($@" select * from Grp_ScenicSpotInfo where isdel = 0 ").ToList();
+            return Ok(JsonView(true, "获取成功!", Data));
+        }
+
         #endregion
 
+
         #region 酒店预定
         /// <summary>
         /// 酒店预订页面初始化绑定

+ 53 - 7
OASystem/OASystem.Api/Controllers/PersonnelModuleController.cs

@@ -62,6 +62,7 @@ namespace OASystem.API.Controllers
 
         /// <summary>
         /// 工资 工作日信息
+        /// 查询
         /// </summary>
         /// <returns></returns>
         [HttpPost]
@@ -90,6 +91,7 @@ namespace OASystem.API.Controllers
 
         /// <summary>
         /// 工资 工作日信息
+        /// 编辑
         /// </summary>
         /// <returns></returns>
         [HttpPost]
@@ -142,10 +144,11 @@ namespace OASystem.API.Controllers
                 string sql = string.Format("Select * From Pm_WageIssueWorkingDay Where Isdel = 0 And YearMonth='{0}'", dto.YearMonth);
                 var workdsys = await _sqlSugar.SqlQueryable<Pm_WageIssueWorkingDay>(sql).FirstAsync();
 
+                pm_WageIssueWorkingDay.CreateUserId = dto.UserId;
+                pm_WageIssueWorkingDay.IsDel = 0;
+
                 if (workdsys == null) //添加
                 {
-                    pm_WageIssueWorkingDay.CreateUserId = dto.UserId;
-                    pm_WageIssueWorkingDay.IsDel = 0;
 
                     int addId = await _sqlSugar.Insertable(pm_WageIssueWorkingDay).ExecuteReturnIdentityAsync();
                 }
@@ -153,14 +156,14 @@ namespace OASystem.API.Controllers
                 {
                     int updCount = await _sqlSugar.Updateable(pm_WageIssueWorkingDay)
                         .IgnoreColumns(z => new { z.CreateUserId, z.CreateTime, z.DeleteUserId, z.DeleteTime, z.IsDel })
-                        .WhereColumns(it => it.Id)
+                        .WhereColumns(it => it.YearMonth)
                         .ExecuteCommandAsync();
                 }
 
                 List<Sys_Calendar> sys_Calendars_add = new List<Sys_Calendar>();
                 List<Sys_Calendar> sys_Calendars_update = new List<Sys_Calendar>();
-                sys_Calendars_add = sys_Calendars.Where(it => it.Id == 0).ToList();
-                sys_Calendars_update = sys_Calendars.Where(it => it.Id != 0).ToList();
+                sys_Calendars_add = sys_Calendars.Where(it => it.Id == 0).OrderBy(it => it.Dt).ToList();
+                sys_Calendars_update = sys_Calendars.Where(it => it.Id != 0).OrderBy(it => it.Dt).ToList();
 
                 int add1 = 0;
                 int upd = 0;
@@ -650,7 +653,36 @@ namespace OASystem.API.Controllers
         public async Task<IActionResult> WageSheetTaxTemplate()
         {
             string serverUrl = AppSettingsHelper.Get("WageSheetExcelBaseUrl");
-            return Ok(JsonView(true, "操作成功!",new { FileUrl = serverUrl + "Office/WageSheetFile/个税导入模板.xlsx" }));
+            var userData = await _usersRep.GetUserNameList(1);
+
+            if (userData.Code == 0)
+            {
+                var userNames = userData.Data;
+
+                List<string> names = new List<string>();
+
+                List<UserNameView> users = new List<UserNameView>();
+                users = JsonConvert.DeserializeObject<List<UserNameView>>(JsonConvert.SerializeObject(userNames));
+
+                foreach (UserNameView item in users)
+                {
+                    names.Add(item.CnName);
+                }
+
+                names.Remove("管理员");
+                names.Remove("国交共享号");
+                names.Remove("人事审核号");
+                names.Remove("国交主管号");
+
+                if (names.Count > 0)
+                {
+                    return Ok(JsonView(true, "操作成功!", new { FileUrl = serverUrl + "Office/WageSheetFile/个税导入模板.xlsx" }));
+                }
+
+            }
+
+
+            return Ok(JsonView(false, "操作失败!"));
         }
 
         /// <summary>
@@ -829,7 +861,21 @@ namespace OASystem.API.Controllers
             return Ok(JsonView(true, "操作成功!", data.checkindata));
         }
 
-
+        /// <summary>
+        /// 审批详情
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> PostApprovalDetailAsync(string spNo)
+        {
+            if (string.IsNullOrEmpty(spNo))
+            {
+                return Ok(JsonView(false, "审批单号不能为空!!"));
+            }
+            var data = await _qiYeWeChatApiService.GetApprovalDetailAsync(spNo);
+            return Ok(JsonView(true, "操作成功!", data));
+        }
         #endregion
 
     }

+ 40 - 6
OASystem/OASystem.Api/Controllers/SystemController.cs

@@ -914,7 +914,7 @@ namespace OASystem.API.Controllers
         {
             try
             {
-                string sqlWhere = string.Empty;
+                string sqlWhere = string.Format(" Where su.IsDel = 0 ");
                 if (dto.CompanyId!=0)
                 {
                     sqlWhere += string.Format(@" And su.CompanyId={0}", dto.CompanyId);
@@ -927,11 +927,7 @@ namespace OASystem.API.Controllers
                 {
                     sqlWhere += string.Format(@" And su.JobPostId={0}", dto.JobPostId);
                 }
-                if (!string.IsNullOrEmpty(sqlWhere.Trim()))
-                {
-                    Regex r = new Regex("And");
-                    sqlWhere = r.Replace(sqlWhere, "Where", 1);
-                }
+               
                 List<UserInfo> _userList =await _userRep.QueryUser(sqlWhere);
                 if (_userList.Count == 0)
                 {
@@ -1043,6 +1039,44 @@ namespace OASystem.API.Controllers
                 throw;
             }
         }
+
+        /// <summary>
+        /// 删除用户信息
+        /// 即为离职
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> PostUserDelById(UserDelDto dto)
+        {
+            try
+            {
+                if (dto == null)
+                {
+                    return Ok(JsonView(false, "参数不能为空!"));
+                }
+
+                bool res = await _userRep.UpdateAsync<Sys_Users>(a => a.Id == dto.Id, a => new Sys_Users
+                {
+                    IsDel = 1,
+                    DeleteUserId = dto.OperateUserId,
+                    DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
+                    Rdate = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))
+                });
+                if (!res)
+                {
+                    return Ok(JsonView(false, "操作失败!"));
+                }
+                return Ok(JsonView(true, "操作成功!"));
+
+            }
+            catch (Exception)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+            }
+        }
+
         #endregion
 
         #region 权限模块

+ 70 - 16
OASystem/OASystem.Api/OAMethodLib/PayrollComputation.cs

@@ -28,7 +28,7 @@ namespace OASystem.API.OAMethodLib
         private static readonly IQiYeWeChatApiService _qiYeWeChatApiService = AutofacIocManager.Instance.GetService<IQiYeWeChatApiService>(); 
         private static readonly UsersRepository _usersRep = AutofacIocManager.Instance.GetService<UsersRepository>();
         private static readonly IMapper _mapper = AutofacIocManager.Instance.GetService<IMapper>();
-        private static readonly decimal _chengDuMinimumWage = 2100.00M;
+        private static readonly decimal _chengDuMinimumWage = 2100.00M * 0.80M; //员工在病假医疗期限内的病假工资按照成都市最低工资标准的 80%发放 
 
         /// <summary>
         /// 计算工资
@@ -295,12 +295,14 @@ namespace OASystem.API.OAMethodLib
                                         day_deduction = ConvertToDecimal(day_miner_unit * 6); //3小时
                                         meal_deduction += 10.00M;  //餐补扣款
                                         absenteeism_deduction += day_deduction; //矿工半日
+                                        beLate_belate_ex.Reason = thisDtStr + " 上午(09:00)缺卡/未打卡视为下午旷工(3小时)";
                                     }
                                     else
                                     {
                                         day_deduction = ConvertToDecimal(dailyWage);
                                         absenteeism_deduction += day_deduction; //矿工一日
                                         meal_deduction += 10.00M;
+                                        beLate_belate_ex.Reason = thisDtStr + " 上午(09:00)-下午(18:00) 缺卡/未打视为旷工一天(7.5小时)";
                                     }
 
                                     beLate_belate_ex.Deduction = day_deduction;
@@ -359,12 +361,62 @@ namespace OASystem.API.OAMethodLib
                                 {
                                     if (root.exception_infos.Count == 2)
                                     {
-                                        day_deduction = dailyWage;
-                                        meal_deduction += 10.00M;
-                                        absenteeism_deduction += day_deduction;
-                                        beLate_belate_ex.Reason = "上午-下午 缺卡/未打卡为旷工 一天";
-                                        beLate_belate_ex.Deduction = day_deduction;
-                                        ex_reissuecard_Items.Add(beLate_belate_ex);
+                                        if (ex_reissuecard_Items.Where(it => it.StartTimeDt.ToString("yyyy-MM-dd").Equals(thisDtStr)).Count() > 0)
+                                        {
+                                            if (earliest_time == lastest_time)
+                                            {
+                                                DateTime thisDt1 = Convert.ToDateTime(thisDtStr + " 12:00");
+
+
+                                                if (thisDt >= thisDt1)  //旷工 下午
+                                                {
+                                                    day_deduction = ConvertToDecimal(day_miner_unit * 9); //4.5小时
+                                                    meal_deduction += 10.00M;
+
+                                                    beLate_belate_ex.Duration = 270;
+                                                    absenteeism_deduction += day_deduction; //矿工半日
+                                                    beLate_belate_ex.Reason = thisDtStr + " 下午(18:00)缺卡/未打卡视为下午旷工(4.5小时)";
+
+                                                    beLate_belate_ex.Deduction = day_deduction;
+                                                    ex_reissuecard_Items.Add(beLate_belate_ex);
+                                                }
+                                                else if (thisDt <= thisDt1) //旷工 上午
+                                                {
+                                                    day_deduction = ConvertToDecimal(day_miner_unit * 6); //3小时
+                                                    meal_deduction += 10.00M;
+                                                    absenteeism_deduction += day_deduction; //矿工半日
+                                                    beLate_belate_ex.Duration = 180;
+                                                    beLate_belate_ex.Reason = thisDtStr + " 上午(09:00)缺卡/未打卡视为上午旷工(3小时)";
+
+                                                    beLate_belate_ex.Deduction = day_deduction;
+                                                    ex_reissuecard_Items.Add(beLate_belate_ex);
+                                                }
+                                                else //矿工一日
+                                                {
+
+                                                    day_deduction = ConvertToDecimal(dailyWage);
+                                                    meal_deduction += 10.00M;
+                                                    absenteeism_deduction += day_deduction;
+                                                    beLate_belate_ex.Reason = thisDtStr + " 上午(09:00)-下午(18:00) 缺卡/未打视为旷工一天(7.5小时)";
+
+                                                    beLate_belate_ex.Deduction = day_deduction;
+                                                    ex_reissuecard_Items.Add(beLate_belate_ex);
+                                                }
+
+
+                                            }
+                                        }
+                                        else
+                                        {
+                                            day_deduction = dailyWage;
+                                            meal_deduction += 10.00M;
+                                            absenteeism_deduction += day_deduction;
+                                            beLate_belate_ex.Reason = "上午-下午 缺卡/未打卡为旷工 一天";
+                                            beLate_belate_ex.Deduction = day_deduction;
+                                            ex_reissuecard_Items.Add(beLate_belate_ex);
+                                        }
+
+                                        
 
                                     }
                                     else if (root.exception_infos.Count == 1)
@@ -570,7 +622,7 @@ namespace OASystem.API.OAMethodLib
                                     #region 累计类型扣款
                                     //1年假;2事假;3病假;4调休假;5婚假;6产假;7陪产假;8其他;9丧假
 
-                                    if (leaveType == 2) //
+                                    if (leaveType == 2) //调休
                                     {
                                         personalLeaveTotal += thisTypeDeduction;
                                     }
@@ -634,7 +686,7 @@ namespace OASystem.API.OAMethodLib
                                         DateTime bukaDt = punch_correction.time_dt;
                                         DateTime bukaDtJudge = Convert.ToDateTime(bukaDt.ToString("yyyy-MM-dd"));
                                         //筛选 不在工作日内的假勤申请
-                                        if (startDt >= bukaDtJudge || bukaDtJudge > endDt)
+                                        if (startDt > bukaDtJudge || bukaDtJudge > endDt)
                                         {
                                             continue;
                                         }
@@ -971,6 +1023,7 @@ namespace OASystem.API.OAMethodLib
 
                 }
 
+                
             }
             catch (Exception ex)
             {
@@ -1081,7 +1134,7 @@ namespace OASystem.API.OAMethodLib
                     {
 
                         decimal leave_halfHour = Convert.ToDecimal(duration) / Convert.ToDecimal(0.5);
-                        typeDeduction = ConvertToDecimal( personalkLeave_dailywage_halfhour * leave_halfHour);
+                        typeDeduction = ConvertToDecimal(personalkLeave_dailywage_halfhour * leave_halfHour);
                         //duration = 11M;
                         if (duration >= 3 && duration < 7.5M) //单天请假三小时
                         {
@@ -1124,17 +1177,18 @@ namespace OASystem.API.OAMethodLib
                     // 病假日薪 *计算方式:日平均工资 = 成都市最低工资标准的80% /当月应出勤天数。 短期病假=当月15天内 
 
                     decimal chengDuMinimumWage_halrHour = _chengDuMinimumWage / work_days / halfHour;
-                    decimal sickLeave_dailywage_halfhour_deduction = personalkLeave_dailywage_day - chengDuMinimumWage_halrHour; //病假单位 0.5小时 扣款金额
+                    decimal sickLeave_dailywage_halfhour_deduction1 = (personalkLeave_dailywage_day / halfHour) - chengDuMinimumWage_halrHour; //病假单位 0.5小时 扣款金额
 
                     if (date_Range_type == "halfday")
                     {
                         mealDeduction = 10; //餐补扣款 
-                        typeDeduction = ConvertToDecimal( sickLeave_dailywage_halfhour_deduction * halfHour);
+                        typeDeduction = ConvertToDecimal( sickLeave_dailywage_halfhour_deduction1 * halfHour);
                     }
                     else if (date_Range_type == "hour")
                     {
                         decimal sickLeave_halfHour = duration / 0.5M;
-                        typeDeduction = ConvertToDecimal(personalkLeave_dailywage_day); ;
+                        typeDeduction = ConvertToDecimal(sickLeave_dailywage_halfhour_deduction1 * sickLeave_halfHour); 
+
                         if (duration >= 3 && duration < 7.5M) //单天请假三小时 && 请假时间在上午 则没有餐补
                         {
                             mealDeduction = 10; //餐补扣款
@@ -1145,7 +1199,7 @@ namespace OASystem.API.OAMethodLib
 
                             decimal leaveDays = Convert.ToDecimal(duration / 7.5M);
 
-                            typeDeduction = ConvertToDecimal(sickLeave_dailywage_halfhour_deduction * sickLeave_halfHour1);
+                            typeDeduction = ConvertToDecimal(sickLeave_dailywage_halfhour_deduction1 * sickLeave_halfHour1);
                             if (leaveDays % 1 == 0)
                             {
                                 mealDeduction = 10 * leaveDays; //餐补扣款
@@ -1154,12 +1208,12 @@ namespace OASystem.API.OAMethodLib
                             {
                                 mealDeduction = 10 * Convert.ToInt32(leaveDays);
 
-                                typeDeduction = ConvertToDecimal(sickLeave_dailywage_halfhour_deduction * Convert.ToInt32(leaveDays));
+                                typeDeduction = ConvertToDecimal(sickLeave_dailywage_halfhour_deduction1 * Convert.ToInt32(leaveDays));
 
                                 decimal sy_bingjiaunit = sickLeave_halfHour1 - Convert.ToDecimal(15.00M * Convert.ToInt32(leaveDays));
                                 if (sy_bingjiaunit > 0)
                                 {
-                                    typeDeduction += ConvertToDecimal(sickLeave_dailywage_halfhour_deduction * sy_bingjiaunit);
+                                    typeDeduction += ConvertToDecimal(sickLeave_dailywage_halfhour_deduction1 * sy_bingjiaunit);
                                 }
 
                                 //得到最后一天的请假时间 是否有餐补

+ 7 - 0
OASystem/OASystem.Api/OAMethodLib/QiYeWeChatAPI/IQiYeWeChatApiService.cs

@@ -125,5 +125,12 @@ namespace OASystem.API.OAMethodLib.QiYeWeChatAPI
         /// <param name="template_id">模板Id</param>
         /// <returns></returns>
         Task<TemplateDetailView> GetTemplateDetailAsync(string template_id);
+
+        /// <summary>
+        /// 获取审批详情
+        /// </summary>
+        /// <param name="spNo">审批No</param>
+        /// <returns></returns>
+        Task<ApprovalDetailView> GetApprovalDetailAsync(string spNo);
     }
 }

+ 6 - 16
OASystem/OASystem.Api/OAMethodLib/QiYeWeChatAPI/QiYeWeChatApiService.cs

@@ -1009,21 +1009,11 @@ namespace OASystem.API.OAMethodLib.QiYeWeChatAPI
 
             ApprovalInfoView approvalInfoView = new ApprovalInfoView();
 
-            //获取所有打卡补卡,审批 数据 前后范围增加10天
-            DateTime sp_startDt = startDt.AddDays(-10);
-            DateTime sp_centerDt = sp_startDt.AddDays(31);
-            DateTime sp_endDt = endDt.AddDays(10);
-            DateTime thisDt = Convert.ToDateTime( DateTime.Now.ToString("yyyy-MM-dd"));
-            if (sp_endDt > thisDt)
-            {
-                sp_endDt = thisDt;
-            }
-            int days = (int)(sp_endDt - sp_startDt).TotalDays;
-            if (days > 31)
-            {
-                sp_centerDt = sp_startDt.AddDays(31);
-            }
-
+            //获取所有打卡补卡,审批 数据 后范围增加15天
+            DateTime sp_startDt = startDt;
+            DateTime sp_centerDt = endDt;
+            DateTime sp_endDt = endDt.AddDays(15);
+            
             //获取审批数据 token
             Access_TokenView access_Token = await GetTokenAsync(5);
             if (access_Token.errcode != 0)
@@ -1121,7 +1111,7 @@ namespace OASystem.API.OAMethodLib.QiYeWeChatAPI
         /// </summary>
         /// <param name="sp_no"></param>
         /// <returns></returns>
-        private async Task<ApprovalDetailView> GetApprovalDetailAsync(string sp_no)
+        public async Task<ApprovalDetailView> GetApprovalDetailAsync(string sp_no)
         {
             ApprovalDetailView ApprovalDetailView = new ApprovalDetailView();
 

+ 15 - 0
OASystem/OASystem.Domain/Dtos/Groups/EnterExitCostDto.cs

@@ -218,6 +218,21 @@ namespace OASystem.Domain.Dtos.Groups
 
     }
 
+    /// <summary>
+    /// 出入境费用 - 明细表导出 Dto
+    /// </summary>
+    public class EnterExitCostExportDetailsListDto :PortDtoBase
+    {
+        /// <summary>
+        /// 模板类型
+        /// 1 默认明细表
+        /// 2 因公出国(境)经费测算明细表
+        /// 3 四川省商务厅出国经费财政先行审核表
+        /// </summary>
+        public int ExportType { get; set; }
+    }
+
+
     /// <summary>
     /// 团组模块 - 出入境国家费用标准 Page List
     /// </summary>

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

@@ -27,6 +27,11 @@ namespace OASystem.Domain.Dtos.Groups
         public int Diid {  get; set; }  
     }
 
+    public class CarGuidesDto
+    {
+     
+    }
+
     public class Grp_CheckBoxsDto
     {
         public int Diid { get; set; }

+ 6 - 1
OASystem/OASystem.Domain/Dtos/Groups/GroupListDto.cs

@@ -18,8 +18,13 @@ namespace OASystem.Domain.Dtos.Groups
     /// <summary>
     /// 获取团组列表 Page 请求实体类
     /// </summary>
-    public class GroupListPageDto : DtoBase
+    public class GroupPageListDto : DtoBase
     {
+        /// <summary>
+        /// 搜索条件
+        /// 团组类型/团队名称/客户名称/客户单位/接团操作人
+        /// </summary>
+        public string? SearchCriteria { get; set; }
     }
 
     /// <summary>

+ 17 - 0
OASystem/OASystem.Domain/Dtos/System/UserDto.cs

@@ -200,4 +200,21 @@ namespace OASystem.Domain.Dtos.System
         public string Certificate { get; set; }
 
     }
+
+    /// <summary>
+    /// 删除用户信息
+    /// 即为离职
+    /// </summary>
+    public class UserDelDto : PortDtoBase
+    {
+        /// <summary>
+        /// 数据Id
+        /// </summary>
+        public int Id { get; set; }
+
+        /// <summary>
+        /// 操作人Id
+        /// </summary>
+        public int OperateUserId { get; set; }
+    }
 }

+ 180 - 0
OASystem/OASystem.Domain/Entities/Groups/Grp_CarGuides.cs

@@ -0,0 +1,180 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Entities.Groups
+{
+    /// <summary>
+    /// 司兼导
+    /// </summary>
+    public class Grp_CarGuides:EntityBase
+    {
+        /// <summary>
+        /// 国家
+        /// </summary>
+        public string Country { get; set; }
+
+        /// <summary>
+        /// 城市
+        /// </summary>
+        public string City { get; set; }
+
+        /// <summary>
+        /// 服务类型
+        /// </summary>
+        public string ServiceType { get; set; }
+        /// <summary>
+        /// 车类型
+        /// </summary>
+        public string CarType { get; set; }
+        /// <summary>
+        /// 用车报价
+        /// </summary>
+        public string Offer { get; set; }
+        /// <summary>
+        /// 司兼导费用
+        /// </summary>
+        public string CGCost { get; set; }
+        /// <summary>
+        /// 用车时长
+        /// </summary>
+        public string RuningTime { get; set; }
+        /// <summary>
+        /// 车超时费用/时
+        /// </summary>
+        public string OvertimeFee { get; set; }
+        /// <summary>
+        /// 司兼导超时费/时
+        /// </summary>
+        public string CGOvertimeFee { get; set; }
+
+        /// <summary>
+        /// 币种
+        /// </summary>
+        public string Currency { get; set; }
+    }
+
+    /// <summary>
+    /// 导游
+    /// </summary>
+
+    public class Grp_GuidesInfo : EntityBase
+    {
+        /// <summary>
+        /// 国家
+        /// </summary>
+        public string Country { get; set; }
+        /// <summary>
+        /// 城市
+        /// </summary>
+        public string City { get; set; }
+        /// <summary>
+        /// 导游服务类型
+        /// </summary>
+        public string ServiceType { get; set; }
+        /// <summary>
+        /// 工作时间
+        /// </summary>
+        public string When { get; set; }
+        /// <summary>
+        /// 导游工资
+        /// </summary>
+        public string Price { get; set; }
+        /// <summary>
+        /// 翻译工资
+        /// </summary>
+        public string TranslationPrice { get; set; }
+
+        /// <summary>
+        /// 超时费用
+        /// </summary>
+        public string OvertimeFee { get; set; }
+        /// <summary>
+        /// 币种
+        /// </summary>
+        public string Currency { get; set; }
+    }
+
+
+    /// <summary>
+    /// 车数据
+    /// </summary>
+    public class Grp_CarInfo : EntityBase
+    {
+        /// <summary>
+        /// 国家
+        /// </summary>
+        public string Country { get; set; }
+        /// <summary>
+        /// 城市
+        /// </summary>
+        public string City { get; set; }
+        /// <summary>
+        /// 车类型
+        /// </summary>
+        public string CarType { get; set; }
+        /// <summary>
+        /// 服务类型
+        /// </summary>
+        public string ServiceType { get; set; }
+        /// <summary>
+        /// 用车时间
+        /// </summary>
+        public string When { get; set; }
+        /// <summary>
+        /// 价格
+        /// </summary>
+        public string Price { get; set; }
+        /// <summary>
+        /// 币种
+        /// </summary>
+        public string Currency { get; set; }
+        /// <summary>
+        /// 超时费用
+        /// </summary>
+        public string OvertimeFee { get; set; }
+    }
+
+
+    /// <summary>
+    /// 景点类
+    /// </summary>
+    public class Grp_ScenicSpotInfo : EntityBase
+    {
+        /// <summary>
+        /// 国家
+        /// </summary>
+        public string Country { get; set; }
+        /// <summary>
+        /// 城市
+        /// </summary>
+        public string City { get; set; }
+        /// <summary>
+        /// 景点
+        /// </summary>
+        public string ScenicSpot { get; set; }
+        /// <summary>
+        /// 景点项目描述
+        /// </summary>
+        public string ScenicSpotDetail { get; set; }
+        /// <summary>
+        /// 景点价格
+        /// </summary>
+        public float Price { get; set; }
+        /// <summary>
+        /// 币种
+        /// </summary>
+        public string Currency { get; set; }
+        /// <summary>
+        /// 汇率
+        /// </summary>
+        public float Rate { get; set; }
+        /// <summary>
+        /// 景点地址
+        /// </summary>
+        public string Address { get; set; }
+    }
+
+}

+ 3 - 2
OASystem/OASystem.Domain/ViewModels/QiYeWeChat/ApprovalDataView.cs

@@ -614,9 +614,10 @@ namespace OASystem.Domain.ViewModels.QiYeWeChat
         /// <summary>
         /// 审批申请备注信息,可能有多个备注节点
         /// </summary>
-        public List<string> comments { get; set; }
+        public List<Comment> comments { get; set; }
     }
 
+
     /// <summary>
     /// 审批申请备注信息
     /// </summary>
@@ -638,7 +639,7 @@ namespace OASystem.Domain.ViewModels.QiYeWeChat
         public string commentcontent { get; set; }
 
         /// <summary>
-        /// commentid
+        /// 	备注id
         /// </summary>
         public string commentid { get; set; }
 

+ 37 - 0
OASystem/OASystem.Infrastructure/Repositories/Groups/DelegationInfoRepository.cs

@@ -216,6 +216,43 @@ namespace OASystem.Infrastructure.Repositories.Groups
 
         }
 
+        /// <summary>
+        /// 获取接团信息 Page List
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        public async Task<Result> PostGroupPageList(GroupPageListDto dto)
+        {
+            Result result = new Result() { Code = -2, Msg = "未知错误" };
+
+            if (dto.PortType == 1 || dto.PortType == 2) // web/Android
+            {
+                string sql = string.Format(@"Select gdi.Id,SalesQuoteNo,TourCode,ssd.Id TeamTypeId, ssd.Name TeamType,ssd1.Id TeamLevId,ssd1.Name TeamLev,TeamName,ClientName,ClientUnit,VisitDate,VisitDays,VisitPNumber,su.CnName JietuanOperator,IsSure
+                  From  Grp_DelegationInfo gdi
+                  Inner Join Sys_SetData ssd On gdi.TeamDid = ssd.Id 
+                  Inner Join Sys_SetData ssd1 On gdi.TeamLevSId = ssd1.Id
+                  Left Join Sys_Users su On gdi.JietuanOperator = su.Id
+                  Where gdi.IsDel = 0 
+                  Order By gdi.CreateTime Desc");
+
+                var _DelegationList = await _sqlSugar.SqlQueryable<DelegationListView>(sql).ToListAsync();
+                if (_DelegationList.Count > 0)
+                {
+                    result.Code = 0;
+                    result.Msg = "成功!";
+                    result.Data = _DelegationList;
+                }
+                else
+                {
+                    result.Msg = "暂无该团组信息";
+                }
+            }
+
+
+            return result;
+
+        }
+
         /// <summary>
         /// 获取接团信息Info
         /// </summary>

+ 1 - 1
OASystem/OASystem.Infrastructure/Repositories/PersonnelModule/WageSheetRepository.cs

@@ -67,7 +67,7 @@ namespace OASystem.Infrastructure.Repositories.PersonnelModule
                 _result.Msg = "暂无数据!";
                 return _result;
             }
-
+            wageSheetList = wageSheetList.OrderBy(it => it.Row_Number).ToList();
             _result.Code = 0;
             _result.Msg = "查询成功!";
             _result.Data = wageSheetList;

+ 4 - 2
OASystem/OASystem.Infrastructure/Repositories/System/UsersRepository.cs

@@ -58,7 +58,7 @@ namespace OASystem.Infrastructure.Repositories.System
                                                       From Sys_Users su 
                                                       Inner Join Sys_Company sc On su.CompanyId = sc.Id
                                                       Inner Join Sys_Department sd On su.DepId = sd.Id
-                                                      Inner Join Sys_JobPost sjp On su.JobPostId = sjp.Id {0}", sqlWhere);
+                                                      Inner Join Sys_JobPost sjp On su.JobPostId = sjp.Id ");
                 var _userList = await _sqlSugar.SqlQueryable<UserInfoWebView>(userSqlWhere).ToListAsync();
 
                 if (_userList.Count != 0)
@@ -79,7 +79,8 @@ namespace OASystem.Infrastructure.Repositories.System
                                                       From Sys_Users su 
                                                       Inner Join Sys_Company sc On su.CompanyId = sc.Id
                                                       Inner Join Sys_Department sd On su.DepId = sd.Id
-                                                      Inner Join Sys_JobPost sjp On su.JobPostId = sjp.Id {0}", sqlWhere);
+                                                      Inner Join Sys_JobPost sjp On su.JobPostId = sjp.Id ");
+
                 var _userList = await _sqlSugar.SqlQueryable<UserInfoWebView>(userSqlWhere).ToListAsync();
 
                 if (_userList.Count != 0)
@@ -143,6 +144,7 @@ namespace OASystem.Infrastructure.Repositories.System
 
             return result;
         }
+
         public async Task<List<UserInfo>> QueryUser(string sqlWhere)
         {
             string sql = string.Format(@"Select sc.CompanyName,sd.DepName,sjp.JobName,su.* From Sys_Users su