|
@@ -0,0 +1,347 @@
|
|
|
+using OASystem.Domain;
|
|
|
+using OASystem.Domain.Dtos;
|
|
|
+using OASystem.Domain.Dtos.Groups;
|
|
|
+using OASystem.Domain.Dtos.UserDto;
|
|
|
+using OASystem.Domain.Entities.Groups;
|
|
|
+using OASystem.Domain.ViewModels.Group;
|
|
|
+using OASystem.Infrastructure.Repositories.System;
|
|
|
+using Org.BouncyCastle.Utilities.Collections;
|
|
|
+using SqlSugar;
|
|
|
+using System;
|
|
|
+using System.Collections.Generic;
|
|
|
+using System.Linq;
|
|
|
+using System.Text;
|
|
|
+using System.Threading.Tasks;
|
|
|
+
|
|
|
+namespace OASystem.Infrastructure.Repositories.Groups
|
|
|
+{
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public class DelegationInfoRepository : BaseRepository<Grp_DelegationInfo, DelegationInfoView>
|
|
|
+ {
|
|
|
+ private readonly SetDataRepository _setDataRepository;
|
|
|
+ private readonly UsersRepository _usersRepository;
|
|
|
+
|
|
|
+ public DelegationInfoRepository(SqlSugarClient sqlSugar, SetDataRepository setDataRepository, UsersRepository usersRepository)
|
|
|
+ : base(sqlSugar)
|
|
|
+ {
|
|
|
+ this._setDataRepository = setDataRepository;
|
|
|
+ this._usersRepository = usersRepository;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public async Task<Result> GetGroupList(GroupListDto dto)
|
|
|
+ {
|
|
|
+ Result result = new Result() { Code = -2, Msg = "未知错误" };
|
|
|
+
|
|
|
+ if (dto.PortType == 1)
|
|
|
+ {
|
|
|
+ string sql = string.Format(@"Select gdi.Id,SalesQuoteNo,TourCode,ssd.Name TeamType,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 VisitDate 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;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public async Task<Result> GetGroupInfo(GroupInfoDto dto)
|
|
|
+ {
|
|
|
+ Result result = new Result() { Code = -2, Msg = "未知错误" };
|
|
|
+
|
|
|
+ if (dto.PortType == 1)
|
|
|
+ {
|
|
|
+ string sql = string.Format(@"Select Id,SalesQuoteNo,JietuanOperator,TeamLevSId,TeamDid,TeamName,ClientName,
|
|
|
+ ClientUnit,VisitCountry,VisitDate,VisitDays,VisitPNumber,TontractTime,
|
|
|
+ PayDay,PaymentMoney,VisitPurpose,SpecialNeeds,OtherNeeds,CGRWSPBMMC,CGRWSPWH,
|
|
|
+ ZZSCBMMC,ZZSCSPWH,Remark,TellPhone
|
|
|
+ From Grp_DelegationInfo Where Id = {0} And IsDel = 0", dto.Id);
|
|
|
+
|
|
|
+ var _DelegationInfo = await _sqlSugar.SqlQueryable<DelegationInfoWebView>(sql).FirstAsync();
|
|
|
+ if (_DelegationInfo != null)
|
|
|
+ {
|
|
|
+ result.Code = 0;
|
|
|
+ result.Msg = "成功!";
|
|
|
+ result.Data = _DelegationInfo;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ result.Msg = "暂无该团组信息";
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return result;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public async Task<Result> GroupEditBasicSource(GroupListDto dto)
|
|
|
+ {
|
|
|
+ Result result = new Result() { Code = -2, Msg = "未知错误" };
|
|
|
+
|
|
|
+ if (dto.PortType == 1)
|
|
|
+ {
|
|
|
+ dynamic? teamTypeData1 = null;
|
|
|
+ string teamTypeSql = string.Format(@"Select Id,Name From Sys_SetData Where STid = {0} And IsDel = {1}", 10, 0);
|
|
|
+ var teamTypeData = await _sqlSugar.SqlQueryable<SetDataInfoView>(teamTypeSql).ToListAsync(); ;
|
|
|
+ if (teamTypeData.Count > 0)
|
|
|
+ {
|
|
|
+ teamTypeData1 = teamTypeData;
|
|
|
+ }
|
|
|
+
|
|
|
+ dynamic? teamLevData1 = null;
|
|
|
+ string teamLevSql = string.Format(@"Select Id,Name From Sys_SetData Where STid = {0} And IsDel = {1}", 56, 0);
|
|
|
+ var teamLevData = await _sqlSugar.SqlQueryable<SetDataInfoView>(teamLevSql).ToListAsync(); ;
|
|
|
+ if (teamLevData.Count > 0)
|
|
|
+ {
|
|
|
+ teamLevData1 = teamLevData;
|
|
|
+ }
|
|
|
+
|
|
|
+ dynamic? userData1 = null;
|
|
|
+ string userSql = string.Format(@"Select Id,CnName From Sys_Users Where IsDel = {0}", 0);
|
|
|
+ var userData = await _sqlSugar.SqlQueryable<UserNameView>(userSql).ToListAsync(); ;
|
|
|
+ if (userData.Count > 0)
|
|
|
+ {
|
|
|
+ userData1 = userData;
|
|
|
+ }
|
|
|
+
|
|
|
+ result.Code = 0;
|
|
|
+ result.Msg = "成功!";
|
|
|
+ result.Data = new
|
|
|
+ {
|
|
|
+ teamTypeData = teamTypeData1,
|
|
|
+ teamLevData = teamLevData1,
|
|
|
+ userData = userData1
|
|
|
+ };
|
|
|
+ }
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public async Task<Result> GroupOperation(GroupOperationDto dto)
|
|
|
+ {
|
|
|
+ Result result = new Result() { Code = -2, Msg = "未知错误" };
|
|
|
+
|
|
|
+ if (dto.PortType == 1)
|
|
|
+ {
|
|
|
+ Grp_DelegationInfo groupInfo = new Grp_DelegationInfo()
|
|
|
+ {
|
|
|
+ SalesQuoteNo = dto.SalesQuoteNo,
|
|
|
+ TeamLevSId = dto.TeamLevSId,
|
|
|
+ ClientName = dto.ClientName,
|
|
|
+ ClientUnit = dto.ClientUnit,
|
|
|
+ TeamName = dto.TeamName,
|
|
|
+ TeamDid = dto.TeamDid,
|
|
|
+ VisitDate = dto.VisitDate,
|
|
|
+ VisitCountry = dto.VisitCountry,
|
|
|
+ VisitPurpose = dto.VisitPurpose,
|
|
|
+ VisitDays = dto.VisitDays,
|
|
|
+ VisitPNumber = dto.VisitPNumber,
|
|
|
+ SpecialNeeds = dto.SpecialNeeds,
|
|
|
+ OtherNeeds = dto.OtherNeeds,
|
|
|
+ Remark = dto.Remark,
|
|
|
+ JietuanOperator = dto.UserId,
|
|
|
+ TellPhone = dto.TellPhone,
|
|
|
+ CGRWSPBMMC = dto.CGRWSPBMMC,
|
|
|
+ CGRWSPWH = dto.CGRWSPWH,
|
|
|
+ ZZSCBMMC = dto.ZZSCBMMC,
|
|
|
+ ZZSCSPWH = dto.ZZSCSPWH,
|
|
|
+ TontractTime = dto.TontractTime,
|
|
|
+ PaymentMoney = dto.PaymentMoney,
|
|
|
+ PayDay = dto.PayDay
|
|
|
+ };
|
|
|
+
|
|
|
+
|
|
|
+ if (dto.Status == 1)
|
|
|
+ {
|
|
|
+ string selectSql = string.Format(@"Select * From Grp_DelegationInfo
|
|
|
+ Where IsDel = 0
|
|
|
+ And SalesQuoteNo = '{0}'
|
|
|
+ And TeamName = '{1}'
|
|
|
+ And ClientName = '{2}'
|
|
|
+ And ClientUnit ='{3}'
|
|
|
+ And VisitDate ='{4}'", dto.SalesQuoteNo, dto.TeamName, dto.ClientName, dto.ClientUnit, dto.VisitDate);
|
|
|
+ var selectGroupInfo = await _sqlSugar.SqlQueryable<Grp_DelegationInfo>(selectSql).FirstAsync();
|
|
|
+ if (selectGroupInfo != null)
|
|
|
+ {
|
|
|
+ result.Msg = "数据已存在,请勿重复添加!";
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ string teamCodeSql = string.Format("Select TourCode From Grp_DelegationInfo");
|
|
|
+ var teamCodeItem = await _sqlSugar.SqlQueryable<TeamCodeView>(teamCodeSql).ToListAsync();
|
|
|
+
|
|
|
+ string teamCode = "";
|
|
|
+ while (true)
|
|
|
+ {
|
|
|
+ teamCode = Tools.CommonFun.GetRandomAllStr(6);
|
|
|
+
|
|
|
+ if (!teamCodeItem.Equals(teamCode))
|
|
|
+ {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ groupInfo.TourCode = teamCode;
|
|
|
+ groupInfo.SalesDate = DateTime.Now;
|
|
|
+ groupInfo.IsState = 0;
|
|
|
+ groupInfo.JietuanTime = DateTime.Now;
|
|
|
+ groupInfo.IsDel = 0;
|
|
|
+ groupInfo.BudgetCost = 0.00M;
|
|
|
+ groupInfo.HotelComplain = 0;
|
|
|
+ groupInfo.OPComplain = 0;
|
|
|
+ groupInfo.OAComplain = 0;
|
|
|
+ groupInfo.AirComplain = 0;
|
|
|
+ groupInfo.VisaComplain = 0;
|
|
|
+ groupInfo.CreateUserId = dto.UserId;
|
|
|
+ groupInfo.CreateTime = DateTime.Now;
|
|
|
+ groupInfo.DeleteUserId = null;
|
|
|
+ groupInfo.DeleteTime = new DateTime(1990, 1, 1).ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
+
|
|
|
+ var addId = await _sqlSugar.Insertable(groupInfo).ExecuteReturnIdentityAsync();
|
|
|
+ if (addId > 0)
|
|
|
+ {
|
|
|
+ result.Code = 0;
|
|
|
+ result.Msg = "添加成功!";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ result.Msg = "添加失败!";
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ else if (dto.Status == 2)
|
|
|
+ {
|
|
|
+ var updateStatus = await UpdateAsync(a => a.Id == dto.Id, a => groupInfo);
|
|
|
+
|
|
|
+ if (updateStatus)
|
|
|
+ {
|
|
|
+ result.Code = 0;
|
|
|
+ result.Msg = "修改成功!";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ result.Msg = "修改失败!";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (dto.Status == 3)
|
|
|
+ {
|
|
|
+ var deleteStatus = await UpdateAsync(a => a.Id == dto.Id, a => new Grp_DelegationInfo {
|
|
|
+ DeleteUserId = dto.UserId,
|
|
|
+ DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
|
|
|
+ IsDel = 1
|
|
|
+ });
|
|
|
+
|
|
|
+ if (deleteStatus)
|
|
|
+ {
|
|
|
+ result.Code = 0;
|
|
|
+ result.Msg = "删除成功!";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ result.Msg = "删除失败!";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public async Task<Result> GetGroupSalesQuoteNo()
|
|
|
+ {
|
|
|
+ Result result = new Result() { Code = -2, Msg = "未知错误" };
|
|
|
+
|
|
|
+ string teamCodeSql = string.Format("Select TourCode From Grp_DelegationInfo");
|
|
|
+ var teamCodeItem = await _sqlSugar.SqlQueryable<TeamCodeView>(teamCodeSql).ToListAsync();
|
|
|
+
|
|
|
+ string teamCode = "";
|
|
|
+ while (true)
|
|
|
+ {
|
|
|
+ teamCode = Tools.CommonFun.GetRandomAllStr(6);
|
|
|
+
|
|
|
+ if (!teamCodeItem.Equals(teamCode))
|
|
|
+ {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ result.Code = 0;
|
|
|
+ result.Msg = "成功!";
|
|
|
+ result.Data = teamCode;
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public async Task<Result> GroupDeleteById()
|
|
|
+ {
|
|
|
+ Result result = new Result() { Code = -2, Msg = "未知错误" };
|
|
|
+
|
|
|
+ string teamCodeSql = string.Format("Select TourCode From Grp_DelegationInfo");
|
|
|
+ var teamCodeItem = await _sqlSugar.SqlQueryable<TeamCodeView>(teamCodeSql).ToListAsync();
|
|
|
+
|
|
|
+ string teamCode = "";
|
|
|
+ while (true)
|
|
|
+ {
|
|
|
+ teamCode = Tools.CommonFun.GetRandomAllStr(6);
|
|
|
+
|
|
|
+ if (!teamCodeItem.Equals(teamCode))
|
|
|
+ {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ result.Code = 0;
|
|
|
+ result.Msg = "成功!";
|
|
|
+ result.Data = teamCode;
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+}
|