72 lines
2.2 KiB
C#
72 lines
2.2 KiB
C#
using Dlhis.Basic.Organization.Request;
|
|
using Dlhis.Basic.Organization.Services;
|
|
using Dlhis.Jip.Api;
|
|
using Dlhis.Jip.Api.Responses;
|
|
using Kurisu.AspNetCore.DataAccess.SqlSugar.Aop;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace Dlhis.Basic.Organization.Controllers;
|
|
|
|
[AllowAnonymous]
|
|
[ApiController]
|
|
[Route("/api/[controller]")]
|
|
public class SyncController : ControllerBase
|
|
{
|
|
private readonly IGainfoUpdateService _gainfoUpdateService;
|
|
private readonly IJinkoSapService _jinkoSapService;
|
|
private readonly IJinkoJipApi _jinkoJipApi;
|
|
private readonly ISapBusinessTripService _sapBusinessTripService;
|
|
|
|
public SyncController(IGainfoUpdateService gainfoUpdateService,
|
|
IJinkoSapService jinkoSapService,
|
|
IJinkoJipApi jinkoJipApi,
|
|
ISapBusinessTripService sapBusinessTripService)
|
|
{
|
|
_gainfoUpdateService = gainfoUpdateService;
|
|
_jinkoSapService = jinkoSapService;
|
|
_jinkoJipApi = jinkoJipApi;
|
|
_sapBusinessTripService = sapBusinessTripService;
|
|
}
|
|
|
|
[HttpPost("/api/sync/gainfo/werk")]
|
|
[IgnoreTenant]
|
|
public async Task TodoByWerkAsync(CodeRequest request)
|
|
{
|
|
await _gainfoUpdateService.TodoByWerkAsync(request.Code);
|
|
}
|
|
|
|
[HttpPost("/api/sync/gainfo/user")]
|
|
[IgnoreTenant]
|
|
public async Task TodoByCodeAsync(CodeRequest request)
|
|
{
|
|
await _gainfoUpdateService.TodoByCodeAsync(request.Code);
|
|
}
|
|
|
|
|
|
[HttpGet("/api/sync/orgs")]
|
|
public async Task<SapOrganizationResponse> GetOrgsSync()
|
|
{
|
|
return await _jinkoSapService.GetSapOrganizationsAsync();
|
|
}
|
|
|
|
[HttpGet("/api/sync/positions")]
|
|
public async Task<SapPositionResponse> GetPositionsAsync()
|
|
{
|
|
return await _jinkoSapService.GetPositionsAsync();
|
|
}
|
|
|
|
[HttpPost("/api/sync/businessTrips")]
|
|
[IgnoreTenant]
|
|
public async Task GetBusinessTripsAsync(CodeRequest request)
|
|
{
|
|
await _sapBusinessTripService.HandlerBusinessTripsByFactoryAsync(request.Code);
|
|
}
|
|
|
|
[HttpGet("/api/sync/test")]
|
|
[IgnoreTenant]
|
|
public async Task<object> Test(DateTime date, string factory)
|
|
{
|
|
return await _jinkoJipApi.GetBusinessTripInfosByFactoryAsync(factory, date, date);
|
|
}
|
|
} |