Files
Backend-Api/ServiceHost/Areas/Admin/Controllers/CheckoutController.cs
2026-01-26 14:44:30 +03:30

174 lines
7.4 KiB
C#

using _0_Framework.Application;
using CompanyManagment.App.Contracts.Checkout;
using CompanyManagment.App.Contracts.Checkout.Dto;
using CompanyManagment.App.Contracts.InstitutionPlan;
using CompanyManagment.App.Contracts.Workshop;
using CompanyManagment.App.Contracts.Workshop.DTOs;
using Microsoft.AspNetCore.Mvc;
using NuGet.Packaging.Signing;
using NuGet.Protocol;
using ServiceHost.BaseControllers;
using WorkFlow.Application.Contracts.WorkFlow;
namespace ServiceHost.Areas.Admin.Controllers;
public class CheckoutController : AdminBaseController
{
private readonly ICheckoutApplication _checkoutApplication;
private readonly IWorkshopApplication _workshopApplication;
private readonly IWorkFlowApplication _workFlowApplication;
public CheckoutController(ICheckoutApplication checkoutApplication, IWorkshopApplication workshopApplication, IWorkFlowApplication workFlowApplication)
{
_checkoutApplication = checkoutApplication;
_workshopApplication = workshopApplication;
_workFlowApplication = workFlowApplication;
}
/// <summary>
/// دریافت لیست فیش حقوقی
/// </summary>
/// <param name="searchModel"></param>
/// <returns></returns>
[HttpGet]
public async Task<ActionResult<PagedResult<CheckoutDto>>> GetList(CheckoutSearchModelDto searchModel)
{
return await _checkoutApplication.GetList(searchModel);
}
/// <summary>
/// دریافت نوبت کاری
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet("RotatingShift")]
public async Task<RotatingShiftOfCheckoutDto> GetRotatingShift(long id)
{
var result =await _checkoutApplication.GetRotatingShiftApi(id);
return result;
}
/// <summary>
/// پرینت گروهی فیش حقوقی
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
[HttpGet("GroupPrint")]
public async Task<List<CheckoutPrintDto>> Print(List<long> ids)
{
var result =await _checkoutApplication.CheckoutPrint(ids);
return result;
}
/// <summary>
/// پرینت تکی فیش حقوقی
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet("PrintOne")]
public async Task<List<CheckoutPrintDto>> Print(long id)
{
var result = await _checkoutApplication.CheckoutPrint([id]);
return result;
}
#region CreateCheckout
/// <summary>
/// سلکت لیست کارگاه
/// </summary>
/// <returns></returns>
[HttpGet("WorkshopSelectList")]
public async Task<List<AdminWorkshopSelectListDto>> GetWorkshopSelectList()
{
var result =await _workshopApplication.GetAdminWorkshopSelectList();
return result;
}
/// <summary>
/// سلک لیست پرسنل
/// </summary>
/// <param name="workshopId"></param>
/// <returns></returns>
[HttpGet("EmployeeSelectList")]
public async Task<List<EmployeeSelectListDto>> GetEmployeeSelectListByWorkshopId(long workshopId)
{
var result = await _checkoutApplication.GetEmployeeSelectListByWorkshopId(workshopId);
return result;
}
/// <summary>
/// دریافت لیست قراردادها برای ایجاد فیش حقوقی
/// </summary>
/// <param name="workshopId"></param>
/// <param name="year"></param>
/// <param name="month"></param>
/// <param name="employeeId"></param>
/// <returns></returns>
[HttpGet("GetContractsToCreateCheckout")]
public async Task<OperationResult<List<ContractsListToCreateCheckoutDto>>> GetContractsToCreateCheckout(long workshopId, string year, string month, long employeeId)
{
var result =await _checkoutApplication.GetContractToCreateCheckout(workshopId, year, month, employeeId);
if (!result.IsSuccedded)
return result;
//var hasWorkFlow =await _workFlowApplication.HasWorkFlow(workshopId, year, month);
//if (hasWorkFlow)
// return new OperationResult<List<ContractsListToCreateCheckoutDto>>().Failed(
// "این کارگاه به دلیل داشتن کارپوشه مجاز به ایجاد تصفیه حساب نمی باشد");
#region testCreate
var ids = result.Data.Where(x => x.CreateCheckoutStatus == CreateCheckoutStatus.ReadyToCreate).Select(x => x.Id).ToList();
Console.WriteLine(ids.ToJson());
var test = await _checkoutApplication.CreateCheckoutApi(ids, year, month,workshopId);
#endregion
return result;
}
[HttpPost]
public async Task<OperationResult<GetContractAndIncludesDataToCreateDto>> CreateCheckout()
{
var ids = new
List<long>()
{
283652, 290314, 290315, 290316, 290317, 290318, 290319, 290320, 290321, 290322, 290323, 290324, 290325,
290326, 290327, 290328, 290329, 290330, 290331, 290332, 290333, 290334, 290335, 290336, 290337, 290338,
290339, 290340, 290341, 290342, 290343, 290344, 290345, 290346, 290347, 290348, 290349, 290350, 290351,
290352, 290353, 290354, 290355, 290356, 290357, 290358, 290359, 290360, 290361, 290362, 290363, 290364,
290365, 290366, 290367, 290368, 290369, 290370, 290371, 290372, 290373, 290374, 290375, 290376, 290377,
290378, 290379, 290380, 290381, 290382, 290383, 290384, 290385, 290386, 290387, 290388, 290389, 290390,
290391, 290392, 290393, 290394, 290395, 290396, 290397, 290398, 290399, 290400, 290401, 290402, 290403,
290404, 290405, 290406, 290407, 290408, 290409, 290410, 290411, 290412, 290413, 290414, 290415, 290416,
290417, 290418, 290419, 290420, 290421, 290422, 290423, 290424, 290425, 290426, 290427, 290428, 290429,
290430, 290431, 290432, 290433, 290434, 290435, 290436, 290437, 290438, 290439, 290440, 290441, 290442,
290443, 290444, 290445, 290446, 290447, 290448, 290449, 290450, 290451, 290452, 290453, 290454, 290455,
290456, 290457, 290458, 290459, 290460, 290461, 290462, 290463, 290464, 290465, 290466, 290467, 290468,
290469, 290470, 290471, 290472, 290473, 290474, 290475, 290476, 290477, 290478, 290479, 290480, 290481,
290482, 290483, 290484, 290485, 290486, 290487, 290488, 290489, 290490, 290491, 290492, 290493, 290494,
290495, 290496, 290497, 290498, 290499, 290500, 290501, 290502, 290503, 290504, 290505, 290506, 290507,
290508, 290509, 290510, 290511, 290512, 290513, 290514, 290515, 290516, 290517, 290518, 290519, 290520,
290521, 290522, 290523, 290524, 290525, 290526, 290527, 290528, 290529, 290530, 290531, 290532, 290533,
290534, 290535, 290536, 290537, 290538, 290539, 290540, 290541, 290542, 290543, 290544, 290545, 290546,
290547, 290548, 290549, 290550, 290551, 290552, 290553, 290554, 290555, 290556, 290557, 290558, 290559,
290560, 290561, 290562, 290563, 290564, 290565, 290566, 290567, 290568, 290569, 290570, 290571, 290572,
290573, 290574, 290575, 290576, 290577, 290578, 290579, 290580, 290581, 290582, 290583, 290584, 290585,
290586, 290587, 290588
};
var test = await _checkoutApplication.CreateCheckoutApi(ids, "1404", "10", 499);
return test;
}
#endregion
}