|
@@ -27,6 +27,7 @@ using System.Collections;
|
|
|
using System.Data;
|
|
|
using System.Diagnostics;
|
|
|
using System.Globalization;
|
|
|
+using System.IO;
|
|
|
using System.Reflection.PortableExecutable;
|
|
|
using Ubiety.Dns.Core;
|
|
|
using static OASystem.Infrastructure.Repositories.Groups.AirTicketResRepository;
|
|
@@ -1222,11 +1223,13 @@ namespace OASystem.API.Controllers
|
|
|
public async Task<IActionResult> TaskAllocationBulkAdd(TaskAllocationBulkAddDto dto)
|
|
|
{
|
|
|
|
|
|
- if (dto.UserId < 1 ) return Ok(JsonView(false, MsgTips.UserId));
|
|
|
+ if (dto.UserIds.Length < 1 ) return Ok(JsonView(false, $"请选择分配人员!"));
|
|
|
|
|
|
- if (dto.OperateId < 1) return Ok(JsonView(false, MsgTips.OperateId));
|
|
|
+ if (dto.PermissionTypeIds.Length < 1) return Ok(JsonView(false, $"请选择分配类型!"));
|
|
|
|
|
|
- if (dto.GroupIds.Length < 1) return Ok(JsonView(false, "请传入有效的GroupIds数组参数!"));
|
|
|
+ if (dto.GroupIds.Length < 1) return Ok(JsonView(false, "请选择分配团组Id"));
|
|
|
+
|
|
|
+ if (dto.CurrUserId < 1) return Ok(JsonView(false, "请传入有效的CurrUserId数组参数"));
|
|
|
|
|
|
return Ok(await _taskAssignmentRep.TaskAllocationBulkAdd(dto));
|
|
|
}
|
|
@@ -6396,7 +6399,7 @@ namespace OASystem.API.Controllers
|
|
|
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
public async Task<IActionResult> VisaCommissionInit()
|
|
|
{
|
|
|
- return Ok(await _visaCommissionRep._Init());
|
|
|
+ return Ok(await _visaCommissionRep.Init());
|
|
|
}
|
|
|
|
|
|
|
|
@@ -6405,12 +6408,65 @@ namespace OASystem.API.Controllers
|
|
|
|
|
|
|
|
|
|
|
|
- [HttpGet]
|
|
|
+ [HttpPost]
|
|
|
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
- public async Task<IActionResult> VisaCommissionItem(VisaCommissionItemDto dto)
|
|
|
+ public async Task<IActionResult> VisaCommissionItem(VisaCommissionItemDto _dto)
|
|
|
{
|
|
|
var validator = new VisaCommissionItemDtoValidator();
|
|
|
- var validatorRes = await validator.ValidateAsync(dto);
|
|
|
+ var validatorRes = await validator.ValidateAsync(_dto);
|
|
|
+ if (!validatorRes.IsValid)
|
|
|
+ {
|
|
|
+ StringBuilder sb = new StringBuilder();
|
|
|
+ foreach (var item in validatorRes.Errors)
|
|
|
+ {
|
|
|
+ sb.AppendLine(item.ErrorMessage);
|
|
|
+ }
|
|
|
+ return Ok(JsonView(false, sb.ToString()));
|
|
|
+ }
|
|
|
+
|
|
|
+ return Ok(await _visaCommissionRep.Item(_dto));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ [HttpPost]
|
|
|
+ [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
+ public async Task<IActionResult> VisaCommissionCreate(VisaCommissionCreateDto _dto)
|
|
|
+ {
|
|
|
+ var validator = new VisaCommissionCreateDtoValidator();
|
|
|
+ var validatorRes = await validator.ValidateAsync(_dto);
|
|
|
+ if (!validatorRes.IsValid)
|
|
|
+ {
|
|
|
+ StringBuilder sb = new StringBuilder();
|
|
|
+ foreach (var item in validatorRes.Errors)
|
|
|
+ {
|
|
|
+ sb.AppendLine(item.ErrorMessage);
|
|
|
+ }
|
|
|
+ return Ok(JsonView(false, sb.ToString()));
|
|
|
+ }
|
|
|
+
|
|
|
+ return Ok(await _visaCommissionRep.Create(_dto));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ [HttpPut]
|
|
|
+ [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
+ public async Task<IActionResult> VisaCommissionEdit(int id,VisaCommissionCreateDto _dto)
|
|
|
+ {
|
|
|
+ if (id < 1) return Ok(JsonView(false, "请输入正确的id参数!"));
|
|
|
+
|
|
|
+ var validator = new VisaCommissionCreateDtoValidator();
|
|
|
+ var validatorRes = await validator.ValidateAsync(_dto);
|
|
|
if (!validatorRes.IsValid)
|
|
|
{
|
|
|
StringBuilder sb = new StringBuilder();
|
|
@@ -6421,10 +6477,29 @@ namespace OASystem.API.Controllers
|
|
|
return Ok(JsonView(false, sb.ToString()));
|
|
|
}
|
|
|
|
|
|
- return Ok(await _visaCommissionRep._Init());
|
|
|
+ return Ok(await _visaCommissionRep.Edit(id,_dto));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ [HttpPost]
|
|
|
+ [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
+ public async Task<IActionResult> VisaCommissionDel(int id,int currUserId)
|
|
|
+ {
|
|
|
+ if (id < 1) return Ok(JsonView(false, "请输入正确的id参数!"));
|
|
|
+ if (currUserId < 1) return Ok(JsonView(false, "请输入正确的currUserId参数!"));
|
|
|
+
|
|
|
+
|
|
|
+ return Ok(await _visaCommissionRep.Del(id, currUserId));
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
#endregion
|
|
|
|
|
|
#region op费用录入
|
|
@@ -10212,8 +10287,6 @@ ORDER by gctggrc.id DESC
|
|
|
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
public async Task<IActionResult> PostHotelAutoAuditTest(int diid,int dataId)
|
|
|
{
|
|
|
-
|
|
|
-
|
|
|
#region 应用推送
|
|
|
|
|
|
try
|
|
@@ -10798,45 +10871,7 @@ ORDER by gctggrc.id DESC
|
|
|
DocumentBuilder builder = new DocumentBuilder(doc);
|
|
|
try
|
|
|
{
|
|
|
- #region 设置页眉
|
|
|
-
|
|
|
- string voucherHeaderPath = $"./Images/VoucherHeader.png";
|
|
|
-
|
|
|
-
|
|
|
- builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary);
|
|
|
-
|
|
|
-
|
|
|
- builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;
|
|
|
-
|
|
|
- builder.PageSetup.HeaderDistance = 42;
|
|
|
-
|
|
|
-
|
|
|
- Aspose.Words.Border borderHeader = null;
|
|
|
- try
|
|
|
- {
|
|
|
- borderHeader = builder.ParagraphFormat.Borders.Bottom;
|
|
|
- }
|
|
|
- catch (Exception e)
|
|
|
- {
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
- borderHeader.Shadow = true;
|
|
|
- borderHeader.DistanceFromText = 2;
|
|
|
- borderHeader.LineStyle = Aspose.Words.LineStyle.Single;
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- if (System.IO.File.Exists(voucherHeaderPath))
|
|
|
- {
|
|
|
-
|
|
|
- var image = Image.FromFile(voucherHeaderPath);
|
|
|
-
|
|
|
- builder.InsertImage(image, RelativeHorizontalPosition.Default, 1, RelativeVerticalPosition.Margin, 1, 1.20, 2.70, WrapType.Inline);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- #endregion
|
|
|
+
|
|
|
|
|
|
|
|
|
builder.MoveToDocumentStart();
|
|
@@ -11218,21 +11253,58 @@ ORDER by gctggrc.id DESC
|
|
|
#endregion
|
|
|
|
|
|
builder.EndTable();
|
|
|
+
|
|
|
+
|
|
|
builder.Writeln("");
|
|
|
builder.Writeln("");
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
|
|
|
-
|
|
|
+
|
|
|
+ #region 设置页眉
|
|
|
+
|
|
|
+ builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary);
|
|
|
+ string voucherHeaderPath = $"./Images/VoucherHeader.png";
|
|
|
+ if (System.IO.File.Exists(voucherHeaderPath))
|
|
|
+ {
|
|
|
+ byte[] imageBytes = System.IO.File.ReadAllBytes(voucherHeaderPath);
|
|
|
+
|
|
|
+
|
|
|
+ Shape shape = builder.InsertImage(imageBytes);
|
|
|
+
|
|
|
+
|
|
|
+ shape.RelativeHorizontalPosition = RelativeHorizontalPosition.Page;
|
|
|
+ shape.RelativeVerticalPosition = RelativeVerticalPosition.TopMargin;
|
|
|
+ shape.Top = 50;
|
|
|
+ shape.Left = 0;
|
|
|
+ shape.Width = 81;
|
|
|
+ shape.Height = 36;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Aspose.Words.Border borderHeader = null;
|
|
|
+ try
|
|
|
+ {
|
|
|
+ borderHeader = builder.ParagraphFormat.Borders.Bottom;
|
|
|
+ }
|
|
|
+ catch (Exception e)
|
|
|
+ {
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ borderHeader.Shadow = true;
|
|
|
+ borderHeader.DistanceFromText = 2;
|
|
|
+ borderHeader.LineStyle = Aspose.Words.LineStyle.Single;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ #endregion
|
|
|
+
|
|
|
|
|
|
}
|
|
|
catch (Exception ex)
|
|
@@ -12201,7 +12273,6 @@ ORDER by gctggrc.id DESC
|
|
|
return valid;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
|
|
|
|
|
|
|