|
@@ -5156,25 +5156,23 @@ FROM
|
|
|
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
public async Task<IActionResult> GetEnterExitCostDataSource(PortDtoBase dto)
|
|
|
{
|
|
|
- try
|
|
|
- {
|
|
|
- var groupNameData = await _groupRepository.GetGroupNameList(new GroupNameDto { PortType = dto.PortType });
|
|
|
+ var groupNameData = await _groupRepository.EnterExitCostGroupNameAsync();
|
|
|
|
|
|
- string sql = string.Format("Select * From Sys_SetData Where IsDel = 0");
|
|
|
- //SetDataInfoView
|
|
|
- var dataSource = await _sqlSugar.SqlQueryable<Sys_SetData>(sql).ToListAsync();
|
|
|
+ string sql = string.Format("Select * From Sys_SetData Where IsDel = 0");
|
|
|
+ //SetDataInfoView
|
|
|
+ var dataSource = await _sqlSugar.SqlQueryable<Sys_SetData>(sql).ToListAsync();
|
|
|
|
|
|
- var currencyData = dataSource.Where(it => it.STid == 66).ToList(); //所有币种
|
|
|
- List<SetDataInfoView> _CurrencyData = _mapper.Map<List<SetDataInfoView>>(currencyData);
|
|
|
+ var currencyData = dataSource.Where(it => it.STid == 66).ToList(); //所有币种
|
|
|
+ List<SetDataInfoView> _CurrencyData = _mapper.Map<List<SetDataInfoView>>(currencyData);
|
|
|
|
|
|
- var wordTypeData = dataSource.Where(it => it.STid == 72).ToList(); //三公费用-Word明细类型
|
|
|
- List<SetDataInfoView> _WordTypeData = _mapper.Map<List<SetDataInfoView>>(wordTypeData);
|
|
|
+ var wordTypeData = dataSource.Where(it => it.STid == 72).ToList(); //三公费用-Word明细类型
|
|
|
+ List<SetDataInfoView> _WordTypeData = _mapper.Map<List<SetDataInfoView>>(wordTypeData);
|
|
|
|
|
|
- var excelTypeData = dataSource.Where(it => it.STid == 73).ToList(); //三公费用-Excel明细类型
|
|
|
- List<SetDataInfoView> _ExcelTypeData = _mapper.Map<List<SetDataInfoView>>(excelTypeData);
|
|
|
+ var excelTypeData = dataSource.Where(it => it.STid == 73).ToList(); //三公费用-Excel明细类型
|
|
|
+ List<SetDataInfoView> _ExcelTypeData = _mapper.Map<List<SetDataInfoView>>(excelTypeData);
|
|
|
|
|
|
- //默认币种显示
|
|
|
- List<CurrencyInfo> _currencyInfos = new List<CurrencyInfo>()
|
|
|
+ //默认币种显示
|
|
|
+ List<CurrencyInfo> _currencyInfos = new List<CurrencyInfo>()
|
|
|
{
|
|
|
new CurrencyInfo (){ CurrencyCode="USD",CurrencyName = "美元",Rate = 7.5000M },
|
|
|
new CurrencyInfo (){ CurrencyCode="EUR",CurrencyName = "欧元",Rate = 8.0000M },
|
|
@@ -5184,36 +5182,30 @@ FROM
|
|
|
|
|
|
};
|
|
|
|
|
|
- var _currencyRate = await _juHeApi.PostItemRateAsync(_currencyInfos.Select(it => it.CurrencyCode).ToArray());
|
|
|
- if (_currencyRate.Count > 0)
|
|
|
+ var _currencyRate = await _juHeApi.PostItemRateAsync(_currencyInfos.Select(it => it.CurrencyCode).ToArray());
|
|
|
+ if (_currencyRate.Count > 0)
|
|
|
+ {
|
|
|
+ foreach (var item in _currencyInfos)
|
|
|
{
|
|
|
- foreach (var item in _currencyInfos)
|
|
|
+ var rateInfo = _currencyRate.Where(it => it.Name.Equals(item.CurrencyName)).FirstOrDefault();
|
|
|
+ if (rateInfo != null)
|
|
|
{
|
|
|
- var rateInfo = _currencyRate.Where(it => it.Name.Equals(item.CurrencyName)).FirstOrDefault();
|
|
|
- if (rateInfo != null)
|
|
|
- {
|
|
|
- decimal rate1 = Convert.ToDecimal(rateInfo.FSellPri) / 100.00M;
|
|
|
- rate1 *= 1.035M;
|
|
|
+ decimal rate1 = Convert.ToDecimal(rateInfo.FSellPri) / 100.00M;
|
|
|
+ rate1 *= 1.035M;
|
|
|
|
|
|
- item.Rate = Convert.ToDecimal(rate1.ToString("#0.00")) + 0.01M;
|
|
|
- }
|
|
|
+ item.Rate = Convert.ToDecimal(rate1.ToString("#0.00")) + 0.01M;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- return Ok(JsonView(true, "查询成功!", new
|
|
|
- {
|
|
|
- GroupNameData = groupNameData.Data,
|
|
|
- CurrencyData = _CurrencyData,
|
|
|
- WordTypeData = _WordTypeData,
|
|
|
- ExcelTypeData = _ExcelTypeData,
|
|
|
- CurrencyInit = _currencyInfos
|
|
|
- }));
|
|
|
}
|
|
|
- catch (Exception ex)
|
|
|
+
|
|
|
+ return Ok(JsonView(true, "查询成功!", new
|
|
|
{
|
|
|
- return Ok(JsonView(false, ex.Message));
|
|
|
- throw;
|
|
|
- }
|
|
|
+ GroupNameData = groupNameData.Data,
|
|
|
+ CurrencyData = _CurrencyData,
|
|
|
+ WordTypeData = _WordTypeData,
|
|
|
+ ExcelTypeData = _ExcelTypeData,
|
|
|
+ CurrencyInit = _currencyInfos
|
|
|
+ }));
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -8499,6 +8491,126 @@ FROM
|
|
|
return Ok(jw);
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 团组模块 - 出入境费用-草稿 - 导入正式出入境费用基础数据
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost]
|
|
|
+ public async Task<IActionResult> EnterExitCostDraftImportDataInit()
|
|
|
+ {
|
|
|
+ var jw = JsonView(false);
|
|
|
+
|
|
|
+ var groupNameDatas = await _groupRepository.EnterExitCostGroupNameAsync();
|
|
|
+ var draftDatas = await _sqlSugar.Queryable<Grp_EnterExitCostDraft>().Where(x => x.IsDel == 0).OrderByDescending(x => x.CreateTime).ToListAsync();
|
|
|
+ jw.Code = StatusCodes.Status200OK;
|
|
|
+ jw.Data = new { groupNameDatas= groupNameDatas.Data, draftNames = draftDatas };
|
|
|
+ return Ok(jw);
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 团组模块 - 出入境费用-草稿 - 导入正式出入境费用
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost]
|
|
|
+ public async Task<IActionResult> EnterExitCostDraftImportData(EnterExitCostDraftImportDataDto dto)
|
|
|
+ {
|
|
|
+ int userId = dto.UserId,
|
|
|
+ portId = dto.PortType,
|
|
|
+ groupId = dto.GroupId,
|
|
|
+ draftId = dto.DraftId;
|
|
|
+ _portTypeData.Add(1);
|
|
|
+ if (userId < 1) return Ok(JsonView(false, MsgTips.UserId));
|
|
|
+ if (!_portTypeData.Contains(portId)) return Ok(JsonView(false, MsgTips.Port));
|
|
|
+ if (groupId < 1) return Ok(JsonView(false, "请传入有效的GroupId!"));
|
|
|
+ if (draftId < 1) return Ok(JsonView(false, "请传入有效的DraftId!"));
|
|
|
+
|
|
|
+ _sqlSugar.BeginTran();
|
|
|
+
|
|
|
+ try
|
|
|
+ {
|
|
|
+ var draftDatas = _sqlSugar.Queryable<Grp_EnterExitCostDraft>().Where(x => x.IsDel == 0 && x.Id == draftId).First();
|
|
|
+ if (draftDatas == null)
|
|
|
+ {
|
|
|
+ _sqlSugar.RollbackTran();
|
|
|
+ return Ok(JsonView(false, "草稿数据为空,不可导入!"));
|
|
|
+ }
|
|
|
+ var dayDatas = _sqlSugar.Queryable<Grp_DayAndCostDraft>().Where(x => x.IsDel == 0 && x.ParentId == draftId).ToList();
|
|
|
+ var otherDatas = _sqlSugar.Queryable<Grp_DayOtherPriceDraft>().Where(x => x.IsDel == 0 && x.ParentId == draftId).ToList();
|
|
|
+
|
|
|
+ var newExterData = _mapper.Map<Grp_EnterExitCost>(draftDatas);
|
|
|
+ newExterData.DiId = groupId;
|
|
|
+ newExterData.CreateUserId = userId;
|
|
|
+ newExterData.Remark = $"由草稿数据导入;草稿数Id:{draftId}";
|
|
|
+
|
|
|
+ var newDayDatas = _mapper.Map<List<Grp_DayAndCost>>(dayDatas);
|
|
|
+ if (newDayDatas.Any()) newDayDatas.Select(x => { x.CreateUserId = userId; return x; }).ToList();
|
|
|
+
|
|
|
+ var newOtherDatas = _mapper.Map<List<Grp_DayOtherPrice>>(draftDatas);
|
|
|
+ if (newOtherDatas.Any()) newOtherDatas.Select(x => { x.CreateUserId = userId; return x; }).ToList();
|
|
|
+
|
|
|
+ var enterExitCostInfo = _sqlSugar.Queryable<Grp_EnterExitCost>().Where(x => x.IsDel == 0 && x.DiId == groupId).First();
|
|
|
+
|
|
|
+ //数据如果存在执行删除
|
|
|
+ if (enterExitCostInfo != null)
|
|
|
+ {
|
|
|
+ _sqlSugar.Updateable<Grp_EnterExitCost>()
|
|
|
+ .SetColumns(x => new Grp_EnterExitCost() { IsDel = 1, DeleteUserId = userId, DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), Remark = "由草稿数据导入前软删除数据!" })
|
|
|
+ .Where(x => x.Id == enterExitCostInfo.Id)
|
|
|
+ .ExecuteCommand();
|
|
|
+
|
|
|
+ _sqlSugar.Updateable<Grp_DayAndCost>()
|
|
|
+ .SetColumns(x => new Grp_DayAndCost() { IsDel = 1, DeleteUserId = userId, DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") })
|
|
|
+ .Where(x => x.DiId == groupId)
|
|
|
+ .ExecuteCommand();
|
|
|
+
|
|
|
+ _sqlSugar.Updateable<Grp_DayOtherPrice>()
|
|
|
+ .SetColumns(x => new Grp_DayOtherPrice() { IsDel = 1, DeleteUserId = userId, DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") })
|
|
|
+ .Where(x => x.Diid == groupId)
|
|
|
+ .ExecuteCommand();
|
|
|
+ }
|
|
|
+
|
|
|
+ //执行insert
|
|
|
+ var insertId = _sqlSugar.Insertable(newExterData).ExecuteReturnIdentity();
|
|
|
+ if (insertId < 1)
|
|
|
+ {
|
|
|
+ _sqlSugar.RollbackTran();
|
|
|
+ return Ok(JsonView(false, "草稿数据导入失败!"));
|
|
|
+ }
|
|
|
+
|
|
|
+ if (newDayDatas.Any()) _sqlSugar.Insertable(newDayDatas).ExecuteCommand();
|
|
|
+
|
|
|
+ if (newOtherDatas.Any()) _sqlSugar.Insertable(newOtherDatas).ExecuteCommand();
|
|
|
+
|
|
|
+ _sqlSugar.CommitTran();
|
|
|
+
|
|
|
+ //执行操作之后
|
|
|
+ //生成默认文件pdf并且通知人员
|
|
|
+ var fileView = await GeneralMethod.EnterExitCostDownload(new EnterExitCostDownloadDto()
|
|
|
+ {
|
|
|
+ DiId = groupId,
|
|
|
+ ExportType = 1,
|
|
|
+ SubTypeId = 1005
|
|
|
+ }, "pdf");
|
|
|
+
|
|
|
+ //发送通知
|
|
|
+ string fileUrl = (string)fileView.Data.GetType().GetProperty("Url").GetValue(fileView.Data, null);
|
|
|
+
|
|
|
+ string md5Sign = GeneralMethod.Encrypt($"{insertId}&fileName={fileUrl}");
|
|
|
+ string url = string.Format("http://oa.pan-american-intl.com:4399/#/Sankunginfo?sign={0}&fileName={1}", insertId, fileUrl);
|
|
|
+ await AppNoticeLibrary.SendUserMsg_GroupShare_ToGM(groupId, new List<string>() { "208", "233", "21" }, dto.UserId, url);
|
|
|
+ //汇率信息记录
|
|
|
+ await GeneralMethod.RateRecordSave(userId, insertId, "出入境费用-草稿导入");
|
|
|
+ return Ok(JsonView(true));
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ _sqlSugar.RollbackTran();
|
|
|
+ return Ok(JsonView(false,ex.Message));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
#endregion
|
|
|
|
|
|
#region 团组经理模块 出入境费用 移动端(Android/IOS)
|