| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377 | 
							- using AutoMapper;
 
- using MySqlX.XDevAPI.Common;
 
- using OASystem.Domain;
 
- using OASystem.Domain.Dtos.Groups;
 
- using OASystem.Domain.Entities.Groups;
 
- using OASystem.Domain.Entities.Resource;
 
- using OASystem.Domain.ViewModels.Groups;
 
- using SqlSugar;
 
- using System;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Threading.Tasks;
 
- using Result = OASystem.Domain.Result;
 
- namespace OASystem.Infrastructure.Repositories.Groups
 
- {
 
-     /// <summary>
 
-     /// 倒推表 仓储
 
-     /// </summary>
 
-     public class InvertedListRepository:BaseRepository<Grp_InvertedList,InvertedListView>
 
-     {
 
-         private readonly IMapper _mapper;
 
-         private readonly Result _result;
 
-         private readonly DelegationInfoRepository _delegationInfoRep;
 
-         public InvertedListRepository(SqlSugarClient sqlSugar, IMapper mapper, DelegationInfoRepository delegationInfoRep)
 
-             : base(sqlSugar)
 
-         {
 
-             _mapper = mapper;
 
-             _result = new Result() { Code = -1, Msg = "系统错误!", Data = new List<object>() { } };
 
-             _delegationInfoRep = delegationInfoRep;
 
-         }
 
-         /// <summary>
 
-         /// 基础数据
 
-         /// </summary>
 
-         /// <returns></returns>
 
-         public async Task<Result> _Init()
 
-         {
 
-             dynamic groupData = null;
 
-             var groupData1 = await _delegationInfoRep.PostShareGroupInfos(1);
 
-             if (groupData1.Code == 0)
 
-             {
 
-                 groupData = groupData1.Data;
 
-             }
 
-             var setData  = await _sqlSugar.Queryable<Sys_SetData>().Where(it => it.IsDel == 0).ToListAsync();
 
-             var officialTypeData = setData.Where(it => it.STid  == 81).Select(it => new { it.Id,it.Name }).ToList();
 
-             var visaTypeData = setData.Where(it => it.STid == 82).Select(it => new { it.Id, it.Name }).ToList();
 
-             _result.Code = 0;
 
-             _result.Msg = "操作成功!";
 
-             _result.Data = new {
 
-                 groupData = groupData,
 
-                 officialTypeData = officialTypeData,
 
-                 visaTypeData = visaTypeData
 
-             };
 
-             return _result;
 
-         }
 
-         /// <summary>
 
-         /// Info
 
-         /// </summary>
 
-         /// <returns></returns>
 
-         public async Task<Result> _Info(int portTypeId,int diId)
 
-         {
 
-             #region 参数验证
 
-             if (portTypeId < 1)
 
-             {
 
-                 _result.Msg = "请输入有效的PortType参数值";
 
-                 return _result;
 
-             }
 
-             if (diId < 1)
 
-             {
 
-                 _result.Msg = "请输入有效的DiId参数值";
 
-                 return _result;
 
-             }
 
-             #endregion
 
-             string sql = string.Format(@$"Select * From Grp_InvertedList Where Isdel={0} And DiId = {diId}");
 
-             var info = await _sqlSugar.SqlQueryable<InvertedListInfoView>(sql).FirstAsync();
 
-             if (info == null) {
 
-                 info = new InvertedListInfoView();
 
-                 info.IsQuery = true;
 
-                 var groupInfo = await _sqlSugar.Queryable<Grp_DelegationInfo>().Where(it => it.IsDel == 0 && it.Id == diId).FirstAsync();
 
-                 if (groupInfo == null)
 
-                 {
 
-                     _result.Msg = @$"团组数据不存在!";
 
-                     return _result;
 
-                 }
 
-                 List<string> visitCountry = new List<string>();
 
-                 string grpVisitCountry = groupInfo.VisitCountry;
 
-                 if (!string.IsNullOrEmpty(grpVisitCountry))
 
-                 {
 
-                     grpVisitCountry = _delegationInfoRep.FormartTeamName(grpVisitCountry);
 
-                     visitCountry = grpVisitCountry.Split("、").ToList();
 
-                 }
 
-                 string sqqzRemark = "";
 
-                 //签证费用标准
 
-                 var visaFeeDatas = await _sqlSugar.Queryable<Res_CountryFeeCost>().Where(it => it.IsDel == 0).ToListAsync();
 
-                 List<VisaCountryInfo> visaCountryInfos = new List<VisaCountryInfo>();
 
-                 string countryStr = "";
 
-                 string countryDesc = "";
 
-                 foreach (var item in visitCountry)
 
-                 {
 
-                     int visaDays = Convert.ToInt32(visaFeeDatas.Find(it => it.VisaCountry.Equals(item.Trim()))?.VisaTime ?? "0");
 
-                     visaCountryInfos.Add(new VisaCountryInfo()
 
-                     {
 
-                         Country = item,
 
-                         OfficialTypeId = -1,
 
-                         VisaTypeId = -1,
 
-                         VisaDay = visaDays
 
-                     });
 
-                     countryStr += $"{item}、";
 
-                     countryDesc += $"{item}签证{visaDays}个工作日,";
 
-                 }
 
-                 if (countryStr.Length > 0)
 
-                 {
 
-                     countryStr = countryStr.Substring(0, countryStr.Length - 1);
 
-                 }
 
-                 if (countryDesc.Length > 0)
 
-                 {
 
-                     countryDesc = countryDesc.Substring(0, countryDesc.Length - 1);
 
-                 }
 
-                 sqqzRemark = $"申请{countryStr}签证;{countryDesc}\r\n(签证周期仅供参考)";
 
-                 info.VisaCountryData = visaCountryInfos;
 
-                 info.SendVisaRemark = sqqzRemark;
 
-                 _result.Data = info;
 
-                 _result.Msg = "未查询到数据!";
 
-                 _result.Code = 0;
 
-                 return _result; 
 
-             }
 
-             int ilId = info.Id;
 
-             string visaSql = string.Format(@$"Select * From Grp_InvertedListVisaCountry Where Isdel={0} And ILId = {ilId}");
 
-             var visaCountryInfo = await _sqlSugar.SqlQueryable<VisaCountryInfo>(visaSql).ToListAsync();
 
-             info.VisaCountryData = visaCountryInfo;
 
-             _result.Data = info;
 
-             _result.Code = 0;
 
-             return _result;
 
-         }
 
-         /// <summary>
 
-         /// Create
 
-         /// </summary>
 
-         /// <param name="diId"></param>
 
-         /// <returns></returns>
 
-         public async Task<Result> _Create(int userId,int diId)
 
-         {
 
-             #region 参数验证
 
-             if (diId < 1)
 
-             {
 
-                 _result.Msg = $@"请输入有效的DiId参数值!";
 
-                 return _result;
 
-             }
 
-             if (userId < 1)
 
-             {
 
-                 _result.Msg = $@"请输入有效的UserId参数值!";
 
-                 return _result;
 
-             }
 
-             #endregion
 
-             var selectInfo = await _sqlSugar.Queryable<Grp_InvertedList>().Where(it => it.IsDel == 0 && it.DiId == diId).FirstAsync();
 
-             if (selectInfo != null)
 
-             {
 
-                 _result.Msg = @$"该数据已存在,不可重复创建!";
 
-                 return _result;
 
-             }
 
-             var groupInfo = await _sqlSugar.Queryable<Grp_DelegationInfo>().Where(it => it.IsDel == 0 && it.Id == diId).FirstAsync();
 
-             if (groupInfo == null)
 
-             {
 
-                 _result.Msg = @$"团组数据不存在,不可创建!";
 
-                 return _result;
 
-             }
 
-             if (string.IsNullOrEmpty( groupInfo.VisitDate.ToString()))
 
-             {
 
-                 _result.Msg = @$"团组出访时间未填写,不可创建!";
 
-                 return _result;
 
-             }
 
-             DateTime visitDt = groupInfo.VisitDate;
 
-             List<string> visitCountry = new List<string>();
 
-             string grpVisitCountry  = groupInfo.VisitCountry;
 
-             if (!string.IsNullOrEmpty(grpVisitCountry))
 
-             {
 
-                 grpVisitCountry = _delegationInfoRep.FormartTeamName(grpVisitCountry);
 
-                 visitCountry = grpVisitCountry.Split("、").ToList();
 
-             }
 
-             //签证费用标准
 
-             var visaFeeDatas = await _sqlSugar.Queryable<Res_CountryFeeCost>().Where(it => it.IsDel == 0).ToListAsync();
 
-             string sqqzRemark = "";
 
-             List<VisaCountryInfo> visaCountryInfos = new List<VisaCountryInfo>();
 
-             string countryStr = string.Empty,countryDesc = string.Empty;
 
-             foreach (var item in visitCountry)
 
-             {
 
-                 int visaDays = Convert.ToInt32(visaFeeDatas.Find(it => it.VisaCountry.Equals(item.Trim()))?.VisaTime ?? "0");
 
-                 visaCountryInfos.Add(new VisaCountryInfo()
 
-                 {
 
-                     Country = item,
 
-                     OfficialTypeId = -1,
 
-                     VisaTypeId = -1,
 
-                     VisaDay = visaDays
 
-                 });
 
-                 countryStr += $"{item}、";
 
-                 countryDesc += $"{item}签证{visaDays}个工作日,";
 
-             }
 
-             if (countryStr.Length > 0) countryStr = countryStr[..^1];
 
-             if (countryDesc.Length > 0) countryDesc = countryDesc[..^1];
 
-             sqqzRemark = $"申请{countryStr}签证;{countryDesc}\r\n(签证周期仅供参考)";
 
-             /*
 
-              * 默认步骤所需提前天数
 
-              * A 自然日 B 工作日
 
-              */
 
-             int approvalData_advanceDays = -60,     //报批资料准备
 
-                 approval_advanceDays = -45,         //报批
 
-                 IssueApproval_advanceDays = -33,    //出批件、办护照
 
-                                                     //ApplyPassport_advanceDays = -30,    //办护照
 
-                 VisaInformation_advanceDays = -16,  //签证资料准备
 
-                 sendVisa_advanceDays = -12,         //送签
 
-                 issueVisa_advanceDays = -5,         //出签
 
-                 preTripMeeting_advanceDays = -3,    //行前会
 
-                 airportdDropOff_advanceDays = 0;   //送机
 
-             var info = new Grp_InvertedList() { 
 
-                 DiId = diId,
 
-                 ApprovalDataDt = visitDt.AddDays(approvalData_advanceDays).ToString("yyyy-MM-dd"),
 
-                 ApprovalDt = visitDt.AddDays(approval_advanceDays).ToString("yyyy-MM-dd"),
 
-                 ApprovalType = -1,
 
-                 IssueApprovalDt = visitDt.AddDays(IssueApproval_advanceDays).ToString("yyyy-MM-dd"),
 
-                 //ApplyPassportDt = visitDt.AddDays(ApplyPassport_advanceDays).ToString("yyyy-MM-dd"),
 
-                 VisaInformationDt = visitDt.AddDays(VisaInformation_advanceDays).ToString("yyyy-MM-dd"),
 
-                 SendVisaDt = visitDt.AddDays(sendVisa_advanceDays).ToString("yyyy-MM-dd"),
 
-                 IssueVisaDt = visitDt.AddDays(issueVisa_advanceDays).ToString("yyyy-MM-dd"),
 
-                 AirTicketDt = visitDt.AddDays(issueVisa_advanceDays).ToString("yyyy-MM-dd"), //机票 应国交部要求默认使用出签时间
 
-                 HotelDt = visitDt.AddDays(issueVisa_advanceDays).ToString("yyyy-MM-dd"),     //酒店 应国交部要求默认使用出签时间
 
-                 PreTripMeetingDt = visitDt.AddDays(preTripMeeting_advanceDays).ToString("yyyy-MM-dd"),
 
-                 AirportdDropOffDt = visitDt.AddDays(airportdDropOff_advanceDays).ToString("yyyy-MM-dd"),
 
-                 CreateUserId = userId,
 
-             };
 
-             if (!string.IsNullOrEmpty(sqqzRemark)) info.SendVisaRemark = sqqzRemark;
 
-             _sqlSugar.BeginTran();
 
-             int add1 = await _sqlSugar.Insertable<Grp_InvertedList>(info).ExecuteReturnIdentityAsync();
 
-             if (add1<1)
 
-             {
 
-                 _result.Msg = $@"倒推表添加失败!";
 
-                 _sqlSugar.RollbackTran();
 
-                 return _result;
 
-             }
 
-             var _InvertedListVisaCountries = new List<Grp_InvertedListVisaCountry>();
 
-             foreach (var item in visitCountry)
 
-             {
 
-                 int days = Convert.ToInt32(visaFeeDatas.Find(x => x.VisaCountry.Equals(item.Trim()))?.VisaTime ?? "0");
 
-                 
 
-                 _InvertedListVisaCountries.Add(new Grp_InvertedListVisaCountry()
 
-                 {
 
-                     ILId = add1,
 
-                     Country = item,
 
-                     OfficialTypeId = -1,
 
-                     VisaTypeId = -1,
 
-                     VisaDay = days,
 
-                 });
 
-             }
 
-             int add2 = await _sqlSugar.Insertable<Grp_InvertedListVisaCountry>(_InvertedListVisaCountries).ExecuteReturnIdentityAsync();
 
-             _sqlSugar.CommitTran();
 
-             _result.Code = 0;
 
-             _result.Msg = @$"操作成功!";
 
-             return _result;
 
-         }
 
-         /// <summary>
 
-         /// Update
 
-         /// </summary>
 
-         /// <param name="diId"></param>
 
-         /// <returns></returns>
 
-         public async Task<Result> _Update(InvertedListUpdateDto dto)
 
-         {
 
-             #region 参数验证
 
-             if (dto.DiId < 1)
 
-             {
 
-                 _result.Msg = $@"请输入有效的DiId参数值!";
 
-                 return _result;
 
-             }
 
-             if (dto.Id < 1)
 
-             {
 
-                 _result.Msg = $@"请输入有效的Id参数值!";
 
-                 return _result;
 
-             }
 
-             #endregion
 
-             Grp_InvertedList _InvertedList = _mapper.Map<Grp_InvertedList>(dto);
 
-             List<Grp_InvertedListVisaCountry> _InvertedListVisaCountries = new List<Grp_InvertedListVisaCountry>();
 
-             if (dto.VisaCountryData.Count > 0)
 
-             {
 
-                 _InvertedListVisaCountries = _mapper.Map<List<Grp_InvertedListVisaCountry>>(dto.VisaCountryData);
 
-             }
 
-             _sqlSugar.BeginTran();
 
-             int update1 = await _sqlSugar.Updateable(_InvertedList)
 
-                                          .IgnoreColumns(it => new { it.CreateTime,it.IsDel })
 
-                                          .ExecuteCommandAsync();
 
-             if (update1 < 1) 
 
-             {
 
-                 _sqlSugar.RollbackTran();
 
-                 _result.Msg = @$"修改失败!";
 
-                 return _result;
 
-             }
 
-             if (_InvertedListVisaCountries.Count > 0)
 
-             {
 
-                 int update2 = await _sqlSugar.Updateable(_InvertedListVisaCountries)
 
-                                          .IgnoreColumns(it => new { it.CreateTime, it.IsDel })
 
-                                          .ExecuteCommandAsync();
 
-                 if (update2 < 1)
 
-                 {
 
-                     _sqlSugar.RollbackTran();
 
-                     _result.Msg = @$"修改失败!";
 
-                     return _result;
 
-                 }
 
-             }
 
-             _sqlSugar.CommitTran();
 
-             _result.Code = 0;
 
-             _result.Msg = @$"操作成功!";
 
-             return _result;
 
-         }
 
-     
 
-     
 
-     }
 
- }
 
 
  |