Compare commits
4 Commits
Main
...
3f55446f82
| Author | SHA1 | Date | |
|---|---|---|---|
| 3f55446f82 | |||
| 3b4f880d54 | |||
| fb239e3159 | |||
| c2fdc217b9 |
31
.github/workflows/dotnet-developPublish.yml
vendored
31
.github/workflows/dotnet-developPublish.yml
vendored
@@ -5,8 +5,6 @@ on:
|
||||
branches:
|
||||
- Main
|
||||
|
||||
env:
|
||||
DOTNET_ENVIRONMENT: Development
|
||||
|
||||
jobs:
|
||||
build-and-deploy:
|
||||
@@ -19,36 +17,29 @@ jobs:
|
||||
- name: Setup .NET SDK
|
||||
uses: actions/setup-dotnet@v4
|
||||
with:
|
||||
dotnet-version: '10.0.x'
|
||||
dotnet-version: '8.0.x' # یا نسخه پروژهت
|
||||
|
||||
- name: Restore dependencies
|
||||
run: dotnet restore ServiceHost/ServiceHost.csproj
|
||||
run: dotnet restore
|
||||
|
||||
- name: Build
|
||||
run: dotnet build ServiceHost/ServiceHost.csproj --configuration Release
|
||||
run: dotnet build --configuration Release
|
||||
|
||||
- name: Publish
|
||||
run: dotnet publish ServiceHost/ServiceHost.csproj --configuration Release --output ./publish /p:EnvironmentName=Development --no-build
|
||||
run: dotnet publish --configuration Release --output ./publish /p:EnvironmentName=Development --no-build
|
||||
|
||||
- name: Deploy to IIS via Web Deploy
|
||||
- name: Deploy to IIS via Web Deploy
|
||||
shell: powershell
|
||||
run: |
|
||||
$publishFolder = Resolve-Path ./publish
|
||||
$server = $env:SERVER_HOST
|
||||
$user = $env:DEPLOY_USER
|
||||
$pass = $env:DEPLOY_PASSWORD
|
||||
|
||||
& "C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" `
|
||||
-verb:sync `
|
||||
-source:contentPath="$publishFolder" `
|
||||
-dest:contentPath="dadmehrg",computerName="https://${server}:8172/msdeploy.axd?site=dadmehrg",userName="$user",password="$pass",authType="Basic" `
|
||||
-dest:contentPath="dadmehrg",computerName="https://$env:SERVER_HOST:8172/msdeploy.axd?site=gozareshgir",userName="$env:DEPLOY_USER",password="$env:DEPLOY_PASSWORD",authType="Basic" `
|
||||
-allowUntrusted `
|
||||
-enableRule:AppOffline
|
||||
-disableRule:DeleteRule `
|
||||
-useChecksum `
|
||||
-retryAttempts:3 `
|
||||
-retryInterval:2000
|
||||
|
||||
env:
|
||||
SERVER_HOST: ${{ secrets.DEV_HOST }}
|
||||
DEPLOY_USER: ${{ secrets.DEV_USER }}
|
||||
DEPLOY_PASSWORD: ${{ secrets.DEV_PASS }}
|
||||
env:
|
||||
SERVER_HOST: 171.22.24.15
|
||||
DEPLOY_USER: ${{ secrets.DEPLOY_USER }}
|
||||
DEPLOY_PASSWORD: ${{ secrets.DEPLOY_PASSWORD }}
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -364,7 +364,6 @@ MigrationBackup/
|
||||
.idea
|
||||
/ServiceHost/appsettings.Development.json
|
||||
/ServiceHost/appsettings.json
|
||||
/ServiceHost/web.config
|
||||
|
||||
# Storage folder - ignore all uploaded files, thumbnails, and temporary files
|
||||
ServiceHost/Storage
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
<PackageReference Include="MD.PersianDateTime.Standard" Version="2.6.0" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore.Annotations" Version="10.0.1" />
|
||||
<PackageReference Include="System.Security.Cryptography.Xml" Version="10.0.1" />
|
||||
<!--<PackageReference Include="DNTPersianUtils.Core" Version="6.7.1" />-->
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,237 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace _0_Framework.Application;
|
||||
|
||||
/// <summary>
|
||||
/// دامنه امتیازات گروه های طبقه بندی مشاغل
|
||||
/// </summary>
|
||||
public static class ClassificationRangeOfGroupRate
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// دریافت فاصله امتیاز گروه
|
||||
/// </summary>
|
||||
/// <param name="groupNo"></param>
|
||||
/// <returns></returns>
|
||||
public static ClassificationGroupRate GetGroupDistanceRate(string groupNo)
|
||||
{
|
||||
|
||||
switch (groupNo)
|
||||
{
|
||||
case "1":
|
||||
return new ClassificationGroupRate()
|
||||
{
|
||||
GroupNo = groupNo,
|
||||
LowRate = 0,
|
||||
HighRate = 80,
|
||||
DistanceRate = 0,
|
||||
};
|
||||
break;
|
||||
case "2":
|
||||
return new ClassificationGroupRate()
|
||||
{
|
||||
GroupNo = groupNo,
|
||||
LowRate = 81,
|
||||
HighRate = 95,
|
||||
DistanceRate = 15,
|
||||
};
|
||||
break;
|
||||
case "3":
|
||||
return new ClassificationGroupRate()
|
||||
{
|
||||
GroupNo = groupNo,
|
||||
LowRate = 96,
|
||||
HighRate = 110,
|
||||
DistanceRate = 30, //فاصله سقف این گروه تا سقف گروه یک
|
||||
};
|
||||
break;
|
||||
case "4":
|
||||
return new ClassificationGroupRate()
|
||||
{
|
||||
GroupNo = groupNo,
|
||||
LowRate = 111,
|
||||
HighRate = 125,
|
||||
DistanceRate = 45, //فاصله سقف این گروه تا سقف گروه یک
|
||||
};
|
||||
break;
|
||||
case "5":
|
||||
return new ClassificationGroupRate()
|
||||
{
|
||||
GroupNo = groupNo,
|
||||
LowRate = 126,
|
||||
HighRate = 145,
|
||||
DistanceRate = 65, //فاصله سقف این گروه تا سقف گروه یک
|
||||
};
|
||||
break;
|
||||
case "6":
|
||||
return new ClassificationGroupRate()
|
||||
{
|
||||
GroupNo = groupNo,
|
||||
LowRate = 146,
|
||||
HighRate = 165,
|
||||
DistanceRate = 85,
|
||||
};
|
||||
break;
|
||||
case "7":
|
||||
return new ClassificationGroupRate()
|
||||
{
|
||||
GroupNo = groupNo,
|
||||
LowRate = 166,
|
||||
HighRate = 185,
|
||||
DistanceRate = 105,
|
||||
};
|
||||
break;
|
||||
case "8":
|
||||
return new ClassificationGroupRate()
|
||||
{
|
||||
GroupNo = groupNo,
|
||||
LowRate = 186,
|
||||
HighRate = 210,
|
||||
DistanceRate = 130,
|
||||
};
|
||||
break;
|
||||
case "9":
|
||||
return new ClassificationGroupRate()
|
||||
{
|
||||
GroupNo = groupNo,
|
||||
LowRate = 211,
|
||||
HighRate = 235,
|
||||
DistanceRate = 155,
|
||||
};
|
||||
break;
|
||||
case "10":
|
||||
return new ClassificationGroupRate()
|
||||
{
|
||||
GroupNo = groupNo,
|
||||
LowRate = 236,
|
||||
HighRate = 265,
|
||||
DistanceRate = 185,
|
||||
};
|
||||
break;
|
||||
case "11":
|
||||
return new ClassificationGroupRate()
|
||||
{
|
||||
GroupNo = groupNo,
|
||||
LowRate = 266,
|
||||
HighRate = 295,
|
||||
DistanceRate = 215,
|
||||
};
|
||||
break;
|
||||
case "12":
|
||||
return new ClassificationGroupRate()
|
||||
{
|
||||
GroupNo = groupNo,
|
||||
LowRate = 296,
|
||||
HighRate = 325,
|
||||
DistanceRate = 245,
|
||||
};
|
||||
break;
|
||||
case "13":
|
||||
return new ClassificationGroupRate()
|
||||
{
|
||||
GroupNo = groupNo,
|
||||
LowRate = 326,
|
||||
HighRate = 365,
|
||||
DistanceRate = 285,
|
||||
};
|
||||
break;
|
||||
case "14":
|
||||
return new ClassificationGroupRate()
|
||||
{
|
||||
GroupNo = groupNo,
|
||||
LowRate = 366,
|
||||
HighRate = 405,
|
||||
DistanceRate = 325,
|
||||
};
|
||||
break;
|
||||
case "15":
|
||||
return new ClassificationGroupRate()
|
||||
{
|
||||
GroupNo = groupNo,
|
||||
LowRate = 406,
|
||||
HighRate = 445,
|
||||
DistanceRate = 365,
|
||||
};
|
||||
break;
|
||||
case "16":
|
||||
return new ClassificationGroupRate()
|
||||
{
|
||||
GroupNo = groupNo,
|
||||
LowRate = 446,
|
||||
HighRate = 495,
|
||||
DistanceRate = 415,
|
||||
};
|
||||
break;
|
||||
case "17":
|
||||
return new ClassificationGroupRate()
|
||||
{
|
||||
GroupNo = groupNo,
|
||||
LowRate = 496,
|
||||
HighRate = 545,
|
||||
DistanceRate = 465,
|
||||
};
|
||||
break;
|
||||
case "18":
|
||||
return new ClassificationGroupRate()
|
||||
{
|
||||
GroupNo = groupNo,
|
||||
LowRate = 546,
|
||||
HighRate = 605,
|
||||
DistanceRate = 525,
|
||||
};
|
||||
break;
|
||||
case "19":
|
||||
return new ClassificationGroupRate()
|
||||
{
|
||||
GroupNo = groupNo,
|
||||
LowRate = 606,
|
||||
HighRate = 665,
|
||||
DistanceRate = 585,
|
||||
};
|
||||
break;
|
||||
case "20":
|
||||
return new ClassificationGroupRate()
|
||||
{
|
||||
GroupNo = groupNo,
|
||||
LowRate = 666,
|
||||
HighRate = 740,
|
||||
DistanceRate = 660,
|
||||
};
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return new ClassificationGroupRate();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// دیتای امتیازات هر گرو
|
||||
/// </summary>
|
||||
public class ClassificationGroupRate
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// شمازه گروه
|
||||
/// </summary>
|
||||
public string GroupNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// امتیاز کف
|
||||
/// </summary>
|
||||
public int LowRate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// امتیاز سقف
|
||||
/// </summary>
|
||||
public int HighRate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// فاصله امتیاز
|
||||
/// </summary>
|
||||
public int DistanceRate { get; set; }
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
namespace _0_Framework.Application.Enums;
|
||||
|
||||
public enum TypeOfCoefficient
|
||||
{
|
||||
/// <summary>
|
||||
/// ضریب ریالی طرح
|
||||
/// </summary>
|
||||
RialCoefficient,
|
||||
|
||||
/// <summary>
|
||||
/// ضریب ریالی اداره کار
|
||||
/// </summary>
|
||||
JobOrganization,
|
||||
}
|
||||
@@ -33,35 +33,6 @@ public static class Tools
|
||||
public static string[] DayNames = { "شنبه", "یکشنبه", "دو شنبه", "سه شنبه", "چهار شنبه", "پنج شنبه", "جمعه" };
|
||||
public static string[] DayNamesG = { "یکشنبه", "دو شنبه", "سه شنبه", "چهار شنبه", "پنج شنبه", "جمعه", "شنبه" };
|
||||
|
||||
/// <summary>
|
||||
/// نام ستون از جدول مزد سنوات طبثه بندی را میگیرد و دیتای داخل آن ستون را برمیگرداند
|
||||
/// </summary>
|
||||
/// <param name="obj"></param>
|
||||
/// <param name="propertyName"></param>
|
||||
/// <returns></returns>
|
||||
public static double? GetDynamicDouble(object obj, string propertyName)
|
||||
{
|
||||
if (obj == null || string.IsNullOrWhiteSpace(propertyName))
|
||||
return null;
|
||||
|
||||
var propertyInfo = obj.GetType().GetProperty(propertyName);
|
||||
if (propertyInfo == null)
|
||||
return null;
|
||||
|
||||
var value = propertyInfo.GetValue(obj);
|
||||
if (value == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
return Convert.ToDouble(value);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static bool IsMobileValid(this string mobileNo)
|
||||
{
|
||||
@@ -70,33 +41,6 @@ public static class Tools
|
||||
return Regex.IsMatch(mobileNo, "^((09))(\\d{9})$");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// متد رند کننده مبلغ
|
||||
/// استفاده شده در بیمه
|
||||
/// </summary>
|
||||
/// <param name="value"></param>
|
||||
/// <returns></returns>
|
||||
public static double GetRoundDoubleValue(double value)
|
||||
{
|
||||
string strValue = value.ToString();
|
||||
if (strValue.IndexOf('.') > -1)
|
||||
{
|
||||
|
||||
|
||||
string a = strValue.Substring(strValue.IndexOf('.') + 1, 1);
|
||||
if (int.Parse(a) > 5)
|
||||
{
|
||||
return (Math.Round(value, MidpointRounding.ToPositiveInfinity));
|
||||
}
|
||||
else
|
||||
{
|
||||
return (Math.Round(value, MidpointRounding.ToNegativeInfinity));
|
||||
}
|
||||
}
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ شروع و تعداد ماه را میگیرد و تاریخ پایان قراردا را بر میگرداند
|
||||
/// </summary>
|
||||
@@ -501,30 +445,6 @@ public static class Tools
|
||||
|
||||
return myMoney.ToString("N0", CultureInfo.CreateSpecificCulture("fa-ir"));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// اگر مبلغ صفر باشد خط تیره برمیگرداند
|
||||
/// </summary>
|
||||
/// <param name="myMoney"></param>
|
||||
/// <returns></returns>
|
||||
public static string ToMoneyCheckZero(this double myMoney)
|
||||
{
|
||||
if (myMoney == 0)
|
||||
return "-";
|
||||
return myMoney.ToString("N0", CultureInfo.CreateSpecificCulture("fa-ir"));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// اگر مبلغ صفر یا نال باشد خط تیره برمیگرداند
|
||||
/// </summary>
|
||||
/// <param name="myMoney"></param>
|
||||
/// <returns></returns>
|
||||
public static string ToMoneyCheckZeroNullable(this double? myMoney)
|
||||
{
|
||||
if (myMoney == 0 || myMoney == null)
|
||||
return "-";
|
||||
return myMoney?.ToString("N0", CultureInfo.CreateSpecificCulture("fa-ir"));
|
||||
}
|
||||
public static string ToMoneyNullable(this double? myMoney)
|
||||
{
|
||||
|
||||
@@ -706,115 +626,7 @@ public static class Tools
|
||||
return y2;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ شمسی میگیرد و پایان ماه را به میلادی برمیگرداند
|
||||
/// </summary>
|
||||
/// <param name="date"></param>
|
||||
/// <returns></returns>
|
||||
public static DateTime FindeEndOfMonthReturnGr(this string date)
|
||||
{
|
||||
string y2 = string.Empty;
|
||||
var year = Convert.ToInt32(date.Substring(0, 4));
|
||||
var month = Convert.ToInt32(date.Substring(5, 2));
|
||||
var YearD = date.Substring(0, 4);
|
||||
var MonthD = date.Substring(5, 2);
|
||||
if (month <= 6)
|
||||
{
|
||||
y2 = $"{YearD}/{MonthD}/31";
|
||||
}
|
||||
else if (month > 6 && month < 12)
|
||||
{
|
||||
y2 = $"{YearD}/{MonthD}/30";
|
||||
}
|
||||
else if (month == 12)
|
||||
{
|
||||
switch (year)
|
||||
{
|
||||
case 1346:
|
||||
y2 = $"{YearD}/{MonthD}/30";
|
||||
break;
|
||||
case 1350:
|
||||
y2 = $"{YearD}/{MonthD}/30";
|
||||
break;
|
||||
case 1354:
|
||||
y2 = $"{YearD}/{MonthD}/30";
|
||||
break;
|
||||
case 1358:
|
||||
y2 = $"{YearD}/{MonthD}/30";
|
||||
break;
|
||||
case 1362:
|
||||
y2 = $"{YearD}/{MonthD}/30";
|
||||
break;
|
||||
case 1366:
|
||||
y2 = $"{YearD}/{MonthD}/30";
|
||||
break;
|
||||
case 1370:
|
||||
y2 = $"{YearD}/{MonthD}/30";
|
||||
break;
|
||||
case 1375:
|
||||
y2 = $"{YearD}/{MonthD}/30";
|
||||
break;
|
||||
case 1379:
|
||||
y2 = $"{YearD}/{MonthD}/30";
|
||||
break;
|
||||
case 1383:
|
||||
y2 = $"{YearD}/{MonthD}/30";
|
||||
break;
|
||||
case 1387:
|
||||
y2 = $"{YearD}/{MonthD}/30";
|
||||
break;
|
||||
case 1391:
|
||||
y2 = $"{YearD}/{MonthD}/30";
|
||||
break;
|
||||
case 1395:
|
||||
y2 = $"{YearD}/{MonthD}/30";
|
||||
break;
|
||||
case 1399:
|
||||
y2 = $"{YearD}/{MonthD}/30";
|
||||
break;
|
||||
case 1403:
|
||||
y2 = $"{YearD}/{MonthD}/30";
|
||||
break;
|
||||
case 1408:
|
||||
y2 = $"{YearD}/{MonthD}/30";
|
||||
break;
|
||||
case 1412:
|
||||
y2 = $"{YearD}/{MonthD}/30";
|
||||
break;
|
||||
case 1416:
|
||||
y2 = $"{YearD}/{MonthD}/30";
|
||||
break;
|
||||
case 1420:
|
||||
y2 = $"{YearD}/{MonthD}/30";
|
||||
break;
|
||||
case 1424:
|
||||
y2 = $"{YearD}/{MonthD}/30";
|
||||
break;
|
||||
case 1428:
|
||||
y2 = $"{YearD}/{MonthD}/30";
|
||||
break;
|
||||
case 1432:
|
||||
y2 = $"{YearD}/{MonthD}/30";
|
||||
break;
|
||||
case 1436:
|
||||
y2 = $"{YearD}/{MonthD}/30";
|
||||
break;
|
||||
case 1441:
|
||||
y2 = $"{YearD}/{MonthD}/30";
|
||||
break;
|
||||
case 1445:
|
||||
y2 = $"{YearD}/{MonthD}/30";
|
||||
break;
|
||||
|
||||
default:
|
||||
y2 = $"{YearD}/{MonthD}/29";
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return y2.ToGeorgianDateTime();
|
||||
}
|
||||
/// <summary>
|
||||
/// تعداد روزهای سال را برمیگرداند
|
||||
/// اگر کبیسهد بود سال 366 روزه برمیگرداند
|
||||
|
||||
@@ -11,8 +11,7 @@ namespace _0_Framework.Domain;
|
||||
public interface IRepository<TKey, T> where T:class
|
||||
{
|
||||
T Get(TKey id);
|
||||
List<T> Get();
|
||||
Task<List<T>> GetListByIdList(List<TKey> ids);
|
||||
List<T> Get();
|
||||
void Create(T entity);
|
||||
Task CreateAsync(T entity);
|
||||
bool ExistsIgnoreQueryFilter(Expression<Func<T, bool>> expression);
|
||||
|
||||
@@ -53,11 +53,6 @@ namespace _0_Framework.InfraStructure
|
||||
{
|
||||
return _context.Set<T>().ToList();
|
||||
}
|
||||
|
||||
public async Task<List<T>> GetListByIdList(List<TKey> ids)
|
||||
{
|
||||
return await _context.Set<T>().Where(e => ids.Contains(EF.Property<TKey>(e, "id"))).ToListAsync();
|
||||
}
|
||||
public void Remove(T entity)
|
||||
{
|
||||
_context.Set<T>().Remove(entity);
|
||||
|
||||
@@ -8,6 +8,5 @@ namespace Company.Domain.BankAgg
|
||||
{
|
||||
public void Remove(Bank entity);
|
||||
List<BankViewModel> Search(string name);
|
||||
List<BankSelectList> GetBanksForSelectList();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
using _0_Framework.Application;
|
||||
using _0_Framework.Domain;
|
||||
using CompanyManagment.App.Contracts.Checkout;
|
||||
using CompanyManagment.App.Contracts.Checkout.Dto;
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using _0_Framework.Application;
|
||||
using _0_Framework.Domain;
|
||||
using CompanyManagment.App.Contracts.Checkout;
|
||||
|
||||
|
||||
namespace Company.Domain.CheckoutAgg;
|
||||
@@ -23,7 +22,7 @@ public interface ICheckoutRepository : IRepository<long, Checkout>
|
||||
string year, string month);
|
||||
EditCheckout GetDetails(long id);
|
||||
|
||||
Task<bool> CreateCheckout(Checkout command);
|
||||
Task CreateCkeckout(Checkout command);
|
||||
/// <summary>
|
||||
/// لود لیست اولیه جهت ایجاد فیش حقوقی
|
||||
/// </summary>
|
||||
@@ -81,44 +80,4 @@ public interface ICheckoutRepository : IRepository<long, Checkout>
|
||||
#endregion
|
||||
|
||||
Task<Checkout> GetByWorkshopIdEmployeeIdInDate(long workshopId, long employeeId, DateTime inDate);
|
||||
Task<PagedResult<CheckoutListClientDto>> GetListForClient(long workshopId,
|
||||
CheckoutListClientSearchModel searchModel);
|
||||
|
||||
|
||||
#region ForApi
|
||||
/// <summary>
|
||||
/// دریافت سلکت لیست پرسنل کارگاه
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<EmployeeSelectListDto>> GetEmployeeSelectListByWorkshopId(long id);
|
||||
|
||||
/// <summary>
|
||||
/// دریافت لیست فیش حقوقی
|
||||
/// </summary>
|
||||
/// <param name="searchModel"></param>
|
||||
/// <returns></returns>
|
||||
Task<PagedResult<CheckoutDto>> GetList(CheckoutSearchModelDto searchModel);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// پرینت فیش حقوقی
|
||||
/// Api
|
||||
/// </summary>
|
||||
/// <param name="ids"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<CheckoutPrintDto>> CheckoutPrint(List<long> ids);
|
||||
|
||||
/// <summary>
|
||||
/// دریافت قردادها و جداول وابسته برای ایجاد فیش
|
||||
/// </summary>
|
||||
/// <param name="ids"></param>
|
||||
/// <param name="year"></param>
|
||||
/// <param name="month"></param>
|
||||
/// <param name="workshopId"></param>
|
||||
/// <returns></returns>
|
||||
Task<OperationResult<GetContractAndIncludesDataToCreateDto>> GetContractsAndIncludeDataDataToCreateCheckout(
|
||||
List<long> ids, string year, string month, long workshopId);
|
||||
|
||||
#endregion
|
||||
}
|
||||
@@ -1,93 +0,0 @@
|
||||
using _0_Framework.Domain;
|
||||
using System;
|
||||
|
||||
namespace Company.Domain.ClassificationSchemeAgg;
|
||||
|
||||
public class ClassificationEmployee : EntityBase
|
||||
{
|
||||
/// <summary>
|
||||
/// ایجاد پرسنل طرح
|
||||
/// </summary>
|
||||
/// <param name="workshopId"></param>
|
||||
/// <param name="employeeId"></param>
|
||||
/// <param name="classificationSchemeId"></param>
|
||||
/// <param name="classificationGroupId"></param>
|
||||
/// <param name="classificationGroupJobId"></param>
|
||||
/// <param name="startGroupDate"></param>
|
||||
/// <param name="endGroupDate"></param>
|
||||
public ClassificationEmployee(long workshopId, long employeeId, long classificationSchemeId, long classificationGroupId, long classificationGroupJobId, DateTime? startGroupDate)
|
||||
{
|
||||
WorkshopId = workshopId;
|
||||
EmployeeId = employeeId;
|
||||
ClassificationSchemeId = classificationSchemeId;
|
||||
ClassificationGroupId = classificationGroupId;
|
||||
ClassificationGroupJobId = classificationGroupJobId;
|
||||
StartGroupDate = startGroupDate;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// آی دی کارگاه
|
||||
/// </summary>
|
||||
public long WorkshopId { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی پرسنل
|
||||
/// </summary>
|
||||
public long EmployeeId { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی طرح
|
||||
/// </summary>
|
||||
public long ClassificationSchemeId { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی گروه
|
||||
/// </summary>
|
||||
public long ClassificationGroupId { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی شغل
|
||||
/// </summary>
|
||||
public long ClassificationGroupJobId { get; private set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ شروع استفاده از گروه
|
||||
/// </summary>
|
||||
public DateTime? StartGroupDate{ get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ پایان استفاده از گروه
|
||||
/// </summary>
|
||||
public DateTime? EndGroupDate { get; private set; }
|
||||
|
||||
public ClassificationGroup ClassificationGroup { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ویرایش پرسنل طرح
|
||||
/// </summary>
|
||||
/// <param name="classificationGroupId"></param>
|
||||
/// <param name="classificationGroupJobId"></param>
|
||||
public void Edit(long classificationGroupId, long classificationGroupJobId)
|
||||
{
|
||||
ClassificationGroupId = classificationGroupId;
|
||||
ClassificationGroupJobId = classificationGroupJobId;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// ویرایش گروه های چندگانه پرسنل طرح
|
||||
/// </summary>
|
||||
/// <param name="classificationGroupId"></param>
|
||||
/// <param name="classificationGroupJobId"></param>
|
||||
/// <param name="startGroupDate"></param>
|
||||
/// <param name="endGroupDate"></param>
|
||||
public void EditMultipleGroupMember(long classificationGroupId, long classificationGroupJobId, DateTime startGroupDate)
|
||||
{
|
||||
ClassificationGroupId = classificationGroupId;
|
||||
ClassificationGroupJobId = classificationGroupJobId;
|
||||
StartGroupDate = startGroupDate;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using _0_Framework.Domain;
|
||||
|
||||
namespace Company.Domain.ClassificationSchemeAgg;
|
||||
|
||||
|
||||
public class ClassificationGroup : EntityBase
|
||||
{
|
||||
/// <summary>
|
||||
/// ایجاد گروه های بیست گانه طرح طبقه بندی
|
||||
/// </summary>
|
||||
/// <param name="groupNo"></param>
|
||||
/// <param name="workshopId"></param>
|
||||
/// <param name="classificationSchemeId"></param>
|
||||
public ClassificationGroup(string groupNo, long workshopId, long classificationSchemeId)
|
||||
{
|
||||
GroupNo = groupNo;
|
||||
WorkshopId = workshopId;
|
||||
ClassificationSchemeId = classificationSchemeId;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// شماره گروه
|
||||
/// </summary>
|
||||
public string GroupNo { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی کارگاه
|
||||
/// </summary>
|
||||
public long WorkshopId { get; private set; }
|
||||
/// <summary>
|
||||
/// آی دی طرح
|
||||
/// </summary>
|
||||
public long ClassificationSchemeId { get; private set; }
|
||||
|
||||
public ClassificationScheme ClassificationScheme { get; set; }
|
||||
|
||||
|
||||
public List<ClassificationGroupJob> ClassificationGroupJobs { get; set; }
|
||||
public List<ClassificationGroupSalary> ClassificationGroupSalaries { get; set; }
|
||||
|
||||
public List<ClassificationEmployee> ClassificationEmployees { get; set; }
|
||||
}
|
||||
@@ -1,55 +0,0 @@
|
||||
using _0_Framework.Domain;
|
||||
using _0_Framework_b.Domain;
|
||||
|
||||
namespace Company.Domain.ClassificationSchemeAgg;
|
||||
|
||||
public class ClassificationGroupJob : EntityBaseWithoutCreationDate
|
||||
{
|
||||
/// <summary>
|
||||
/// ایجاد لیست مشغال برای گروه های طرح طبقه بندی
|
||||
/// </summary>
|
||||
/// <param name="jobId"></param>
|
||||
/// <param name="jobName"></param>
|
||||
/// <param name="jobCode"></param>
|
||||
/// <param name="classificationGroupId"></param>
|
||||
/// <param name="groupNo"></param>
|
||||
public ClassificationGroupJob(long jobId, string jobName, string jobCode, long classificationGroupId, string groupNo)
|
||||
{
|
||||
JobId = jobId;
|
||||
JobName = jobName;
|
||||
JobCode = jobCode;
|
||||
ClassificationGroupId = classificationGroupId;
|
||||
GroupNo = groupNo;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// آی دی شغل
|
||||
/// </summary>
|
||||
public long JobId { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام شغل
|
||||
/// </summary>
|
||||
public string JobName { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// کد شغل
|
||||
/// </summary>
|
||||
public string JobCode { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی گروه
|
||||
/// </summary>
|
||||
public long ClassificationGroupId { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره گروه
|
||||
/// </summary>
|
||||
public string GroupNo { get; private set; }
|
||||
|
||||
|
||||
public ClassificationGroup ClassificationGroup { get; set; }
|
||||
|
||||
|
||||
}
|
||||
@@ -1,82 +0,0 @@
|
||||
using _0_Framework.Domain;
|
||||
using System;
|
||||
|
||||
namespace Company.Domain.ClassificationSchemeAgg;
|
||||
|
||||
public class ClassificationGroupSalary : EntityBase
|
||||
{
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ایجاد دستمزد برای گروه
|
||||
/// </summary>
|
||||
/// <param name="classificationGroupId"></param>
|
||||
/// <param name="groupNo"></param>
|
||||
/// <param name="groupSalary"></param>
|
||||
/// <param name="startDate"></param>
|
||||
/// <param name="endDate"></param>
|
||||
/// <param name="year"></param>
|
||||
public ClassificationGroupSalary(long classificationGroupId, string groupNo, double groupSalary, DateTime startDate, DateTime endDate, int year, long schemeId)
|
||||
{
|
||||
ClassificationGroupId = classificationGroupId;
|
||||
GroupNo = groupNo;
|
||||
GroupSalary = groupSalary;
|
||||
StartDate = startDate;
|
||||
EndDate = endDate;
|
||||
Year = year;
|
||||
SchemeId = schemeId;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// آی دی گروه
|
||||
/// </summary>
|
||||
public long ClassificationGroupId { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره گروه
|
||||
/// </summary>
|
||||
public string GroupNo { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// دستمزد گروه
|
||||
/// </summary>
|
||||
public double GroupSalary { get; private set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ شروع
|
||||
/// </summary>
|
||||
public DateTime StartDate { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ پایان
|
||||
/// </summary>
|
||||
public DateTime EndDate { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// سال
|
||||
/// </summary>
|
||||
public int Year { get; private set; }
|
||||
|
||||
public long SchemeId { get; private set; }
|
||||
|
||||
|
||||
public ClassificationGroup ClassificationGroup { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ویرایش دستمزد گروه
|
||||
/// </summary>
|
||||
|
||||
/// <param name="groupSalary"></param>
|
||||
/// <param name="startDate"></param>
|
||||
/// <param name="endDate"></param>
|
||||
/// <param name="year"></param>
|
||||
public void Edit(double groupSalary, DateTime startDate, DateTime endDate, int year)
|
||||
{
|
||||
|
||||
GroupSalary = groupSalary;
|
||||
StartDate = startDate;
|
||||
EndDate = endDate;
|
||||
Year = year;
|
||||
}
|
||||
}
|
||||
@@ -1,68 +0,0 @@
|
||||
using System;
|
||||
using _0_Framework.Domain;
|
||||
|
||||
namespace Company.Domain.ClassificationSchemeAgg;
|
||||
|
||||
public class ClassificationRialCoefficient : EntityBaseWithoutCreationDate
|
||||
{
|
||||
/// <summary>
|
||||
/// ایچاد ضریب ریالی
|
||||
/// </summary>
|
||||
/// <param name="classificationSchemeId"></param>
|
||||
/// <param name="rialCoefficient"></param>
|
||||
/// <param name="startDate"></param>
|
||||
/// <param name="endDate"></param>
|
||||
/// <param name="year"></param>
|
||||
public ClassificationRialCoefficient(long classificationSchemeId, double rialCoefficient, DateTime startDate, DateTime endDate, int year)
|
||||
{
|
||||
ClassificationSchemeId = classificationSchemeId;
|
||||
RialCoefficient = rialCoefficient;
|
||||
StartDate = startDate;
|
||||
EndDate = endDate;
|
||||
Year = year;
|
||||
}
|
||||
|
||||
//آی دی طرح
|
||||
public long ClassificationSchemeId { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// ضریب ریالی
|
||||
/// </summary>
|
||||
public double RialCoefficient { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ شروع
|
||||
/// </summary>
|
||||
public DateTime StartDate { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ پایان
|
||||
/// </summary>
|
||||
public DateTime EndDate { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// سال
|
||||
/// </summary>
|
||||
public int Year { get; private set; }
|
||||
|
||||
|
||||
public ClassificationScheme ClassificationScheme { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ویرایش ضریب ریالی
|
||||
/// </summary>
|
||||
/// <param name="classificationSchemeId"></param>
|
||||
/// <param name="rialCoefficient"></param>
|
||||
/// <param name="startDate"></param>
|
||||
/// <param name="endDate"></param>
|
||||
/// <param name="year"></param>
|
||||
public void Edit(double rialCoefficient, DateTime startDate, DateTime endDate, int year)
|
||||
{
|
||||
|
||||
RialCoefficient = rialCoefficient;
|
||||
StartDate = startDate;
|
||||
EndDate = endDate;
|
||||
Year = year;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,88 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using _0_Framework.Application.Enums;
|
||||
using _0_Framework.Domain;
|
||||
|
||||
namespace Company.Domain.ClassificationSchemeAgg;
|
||||
|
||||
public class ClassificationScheme : EntityBase
|
||||
{
|
||||
/// <summary>
|
||||
/// ایجاد طرح طبقه بندی مشاغل
|
||||
/// </summary>
|
||||
/// <param name="includingDateGr"></param>
|
||||
/// <param name="executionDateGr"></param>
|
||||
/// <param name="designerFullName"></param>
|
||||
/// <param name="designerPhone"></param>
|
||||
/// <param name="workshopId"></param>
|
||||
/// <param name="typeOfCoefficient"></param>
|
||||
public ClassificationScheme(DateTime includingDateGr, DateTime executionDateGr, string designerFullName, string designerPhone, long workshopId, TypeOfCoefficient typeOfCoefficient)
|
||||
{
|
||||
IncludingDateGr = includingDateGr;
|
||||
ExecutionDateGr = executionDateGr;
|
||||
DesignerFullName = designerFullName;
|
||||
DesignerPhone = designerPhone;
|
||||
WorkshopId = workshopId;
|
||||
TypeOfCoefficient = typeOfCoefficient;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ شمول طرح
|
||||
/// </summary>
|
||||
public DateTime IncludingDateGr { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ اجرای طرح
|
||||
/// </summary>
|
||||
public DateTime ExecutionDateGr { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ پایان طرح
|
||||
/// </summary>
|
||||
public DateTime? EndSchemeDateGr { get; private set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// نام کامل طراح
|
||||
/// </summary>
|
||||
public string DesignerFullName { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره همراه طراح
|
||||
/// </summary>
|
||||
public string DesignerPhone { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی کارگاه
|
||||
/// </summary>
|
||||
public long WorkshopId { get; private set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// نوع ضریب
|
||||
/// </summary>
|
||||
public TypeOfCoefficient TypeOfCoefficient { get; private set; }
|
||||
|
||||
|
||||
public List<ClassificationGroup> ClassificationGroups { get; set; }
|
||||
|
||||
public List<ClassificationRialCoefficient> ClassificationRialCoefficients { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ویرایش طرح
|
||||
/// </summary>
|
||||
/// <param name="includingDateGr"></param>
|
||||
/// <param name="executionDateGr"></param>
|
||||
/// <param name="designerFullName"></param>
|
||||
/// <param name="designerPhone"></param>
|
||||
/// <param name="workshopId"></param>
|
||||
public void Edit(DateTime includingDateGr, DateTime executionDateGr,string designerFullName, string designerPhone, TypeOfCoefficient typeOfCoefficient)
|
||||
{
|
||||
IncludingDateGr = includingDateGr;
|
||||
ExecutionDateGr = executionDateGr;
|
||||
DesignerFullName = designerFullName;
|
||||
DesignerPhone = designerPhone;
|
||||
TypeOfCoefficient = typeOfCoefficient;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
using _0_Framework.Domain;
|
||||
using CompanyManagment.App.Contracts.ClassificationScheme;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Company.Domain.ClassificationSchemeAgg;
|
||||
|
||||
public interface IClassificationEmployeeRepository : IRepository<long, ClassificationEmployee>
|
||||
{
|
||||
/// <summary>
|
||||
/// دریافت لیست پرسنل کارگاه
|
||||
/// تب افزودن پرسنل
|
||||
/// </summary>
|
||||
/// <param name="schemeId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<EmployeeInfoList>> GetEmployeeListData(long schemeId);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// دریافت اطلاعات عضویتی پرسنل در گروه
|
||||
/// </summary>
|
||||
/// <param name="employeeId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<EditEmployeeGroupList>> GetEmployeeMemberizeData(long employeeId);
|
||||
|
||||
/// <summary>
|
||||
/// ذخیره انتقال پرسنل به گره های دیگر
|
||||
///بصورت گروهی
|
||||
/// </summary>
|
||||
/// <param name="command"></param>
|
||||
/// <returns></returns>
|
||||
Task CreateTransferRange(List<ClassificationEmployee> command);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// حذف پرسنل از گروه از سمت ویرایش
|
||||
/// </summary>
|
||||
/// <param name="command"></param>
|
||||
/// <returns></returns>
|
||||
Task RemoveRangeByEdit(List<ClassificationEmployee> command);
|
||||
|
||||
}
|
||||
@@ -1,89 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using _0_Framework.Domain;
|
||||
using CompanyManagment.App.Contracts.ClassificationScheme;
|
||||
|
||||
namespace Company.Domain.ClassificationSchemeAgg;
|
||||
|
||||
public interface IClassificationGroupRepository : IRepository<long, ClassificationGroup>
|
||||
{
|
||||
/// <summary>
|
||||
/// دریافت گروه های طرح
|
||||
/// </summary>
|
||||
/// <param name="schemeId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<ClassificationGroupList>> GetGroups(long schemeId);
|
||||
|
||||
/// <summary>
|
||||
/// دریافت گروه ها و مشاغلشان برای تب تعیین مشاغل
|
||||
/// </summary>
|
||||
/// <param name="schemeId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<ClassificationGroupAndJobModel>> GetGroupAndJobs(long schemeId);
|
||||
|
||||
/// <summary>
|
||||
/// دریافت لیست گروه ها
|
||||
/// </summary>
|
||||
/// <param name="schemeId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<GetGroupAndJobSchemeListDto>> GetGroupList(long schemeId);
|
||||
|
||||
/// <summary>
|
||||
/// دریافت لیست مشاغل برای مودال ایجاد و ویرایش
|
||||
/// </summary>
|
||||
/// <param name="groupId"></param>
|
||||
/// <returns></returns>
|
||||
Task<AddOrEditJobInGroupDto> GetCreateOrEditJobsData(long groupId);
|
||||
|
||||
/// <summary>
|
||||
/// چک میکند که آی پرسنلی وجود دارد که این شغل به او نسبت داده شده
|
||||
/// </summary>
|
||||
/// <param name="jobId"></param>
|
||||
/// <param name="groupId"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> CheckIfEmployeeHasThisJob(long jobId, long groupId);
|
||||
|
||||
/// <summary>
|
||||
/// ذخیر ایجاد یا ویرایش مشاغل در گروه
|
||||
/// </summary>
|
||||
/// <param name="command"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> SaveJobsToGroup(AddOrEditJobInGroupDto command);
|
||||
|
||||
/// <summary>
|
||||
/// دریافت مشاغل گروه توسط آی دی گروه
|
||||
/// </summary>
|
||||
/// <param name="groupId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<EditClassificationGroupJob>> GetGroupJobs(long groupId);
|
||||
|
||||
/// <summary>
|
||||
/// چک میکند که آی پرسنلی وجود دارد که این شغل به او نسبت داده شده
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="groupId"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> CheckEmployeeHasThisJob(long id, long groupId);
|
||||
|
||||
/// <summary>
|
||||
/// ایجاد مشاغل
|
||||
/// </summary>
|
||||
/// <param name="createClassificationGroupJob"></param>
|
||||
/// <param name="deleteJobList"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> CreateJobs(List<ClassificationGroupJob> createClassificationGroupJob, List<long> deleteJobList);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// در یافت اطلاعات گروه برای لود مودال ایجاد دستمزد های
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
Task<SalaryAndRialCoefficientModel> GetGroupToCreateSalariesModal(long schemeId);
|
||||
|
||||
/// <summary>
|
||||
/// ایجاد گروه های بیست گانه
|
||||
/// </summary>
|
||||
/// <param name="groupList"></param>
|
||||
/// <returns></returns>
|
||||
Task CreateGroups(List<ClassificationGroup> groupList);
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
using _0_Framework.Domain;
|
||||
using CompanyManagment.App.Contracts.ClassificationScheme;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Company.Domain.ClassificationSchemeAgg;
|
||||
|
||||
public interface IClassificationGroupSalariesRepository : IRepository<long, ClassificationGroupSalary>
|
||||
{
|
||||
/// <summary>
|
||||
/// ایجاد دستمزدهای گروه ها
|
||||
/// </summary>
|
||||
/// <param name="createClassificationGroupSalary"></param>
|
||||
/// <returns></returns>
|
||||
Task CreateSalaries(List<ClassificationGroupSalary> createClassificationGroupSalary);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// دریافت دستمزدها و ضریب ریالی برای مودال ویرایش
|
||||
/// </summary>
|
||||
/// <param name="schemeId"></param>
|
||||
/// <param name="startDate"></param>
|
||||
/// <param name="endDate"></param>
|
||||
/// <returns></returns>
|
||||
Task<SalaryAndRialCoefficientModel> GetEditSalariesData(long schemeId, string startDate, string endDate);
|
||||
|
||||
/// <summary>
|
||||
/// لیست دستمزدها بر اساس تاریخ و سال برای تب دستمزدها
|
||||
/// </summary>
|
||||
/// <param name="schemeId"></param>
|
||||
/// <returns></returns>
|
||||
Task<SalaryAndRialCoefficientTab> GetSalariesTabData(long schemeId);
|
||||
|
||||
|
||||
#region ForApi
|
||||
/// <summary>
|
||||
/// لیست دستمزدها بر اساس تاریخ و سال برای تب دستمزدها
|
||||
/// </summary>
|
||||
/// <param name="schemeId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<SalaryAndRialCoefficientTabDataList>> GetSalaryList(long schemeId);
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
using _0_Framework.Domain;
|
||||
|
||||
namespace Company.Domain.ClassificationSchemeAgg;
|
||||
|
||||
public interface IClassificationRialCoefficientRepository : IRepository<long, ClassificationRialCoefficient>
|
||||
{
|
||||
|
||||
}
|
||||
@@ -1,56 +0,0 @@
|
||||
using _0_Framework.Application;
|
||||
using _0_Framework.Domain;
|
||||
using CompanyManagment.App.Contracts.ClassificationScheme;
|
||||
using CompanyManagment.App.Contracts.YearlySalary;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Company.Domain.ClassificationSchemeAgg;
|
||||
|
||||
public interface IClassificationSchemeRepository : IRepository<long, ClassificationScheme>
|
||||
{
|
||||
/// <summary>
|
||||
/// پارشیال صفحه ایجاد طرح
|
||||
/// </summary>
|
||||
/// <param name="worskhopId"></param>
|
||||
/// <returns></returns>
|
||||
Task<ClassificationSchemeListDto> GetClassificationSchemeList(long workshopId);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// دریافت اطلاعات طرح برای ویرایش
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
Task<EditClassificationSchemeDto> GetClassificationScheme(long id);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// دریافت اطلاعات طر برای محاسبات
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
Task<EditClassificationScheme> GetClassificationSchemeToCompute(long id);
|
||||
|
||||
/// <summary>
|
||||
/// متد محاسبه پایه سنوات برا افراد تک گروه
|
||||
/// </summary>
|
||||
/// <param name="schemeStart">تاریخ شروع طرح</param>
|
||||
/// <param name="schemeEnd">تاریخ پاین طرح، اجباری نیست</param>
|
||||
/// <param name="contractStart">تاریخ شروع قراداد</param>
|
||||
/// <param name="contractEnd">تاریخ پایان قراداد</param>
|
||||
/// <param name="groupNo">شماره گروه</param>
|
||||
/// <param name="employeeId">آی دی پرسنل</param>
|
||||
/// <param name="workshopId">آی دی کارگاه</param>
|
||||
/// <returns></returns>
|
||||
Task<BaseYearDataViewModel> BaseYearComputeOneGroup(DateTime schemeStart, DateTime? schemeEnd,
|
||||
DateTime contractStart, DateTime contractEnd, string groupNo, long employeeId, long workshopId);
|
||||
|
||||
/// <summary>
|
||||
/// حذف طرح
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
Task DeleteClassificationScheme(long id);
|
||||
}
|
||||
@@ -54,7 +54,6 @@ public interface IEmployeeRepository : IRepository<long, Employee>
|
||||
|
||||
Employee GetIgnoreQueryFilter(long id);
|
||||
|
||||
[Obsolete("این متد منسوخ شده است و از متد WorkedEmployeesInWorkshopSelectList استفاده کنید")]
|
||||
Task<List<EmployeeSelectListViewModel>> WorkedEmployeesInWorkshopSelectList(long workshopId);
|
||||
|
||||
|
||||
@@ -78,39 +77,7 @@ public interface IEmployeeRepository : IRepository<long, Employee>
|
||||
Task<List<EmployeeSelectListViewModel>> GetSelectList(string searchText,long id);
|
||||
Task<List<GetEmployeeListViewModel>> GetList(GetEmployeeListSearchModel searchModel);
|
||||
Task<List<GetClientEmployeeListViewModel>> GetClientEmployeeList(GetClientEmployeeListSearchModel searchModel, long workshopId);
|
||||
|
||||
/// <summary>
|
||||
/// دریافت لیست پرسنل کلاینت
|
||||
/// api
|
||||
/// </summary>
|
||||
/// <param name="searchModel"></param>
|
||||
/// <param name="workshopId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<EmployeeListDto>> ListOfAllEmployeesClient(EmployeeSearchModelDto searchModel, long workshopId);
|
||||
|
||||
/// <summary>
|
||||
/// پرینت تجمیعی پرسنل کلاینت
|
||||
/// api
|
||||
/// </summary>
|
||||
/// <param name="workshopId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<PrintAllEmployeesInfoDtoClient>> PrintAllEmployeesInfoClient(long workshopId);
|
||||
|
||||
/// <summary>
|
||||
/// پرینت گروهی تفکیکی پرسنل
|
||||
/// </summary>
|
||||
/// <param name="workshopId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<PrintAllDetailsPersonnelInfoDtoClient>> PrintAllDetailsPersonnelInfoClient(long workshopId);
|
||||
|
||||
/// <summary>
|
||||
/// سلکت لیست پرسنل های کارگاه کلاینت
|
||||
/// </summary>
|
||||
/// <param name="workshopId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<EmployeeSelectListViewModel>> GetWorkingEmployeesSelectList(long workshopId);
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
@@ -1,11 +1,7 @@
|
||||
|
||||
using System;
|
||||
using _0_Framework.Domain;
|
||||
using CompanyManagment.App.Contracts.EmployeeBankInformation;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.AccessControl;
|
||||
using System.Threading.Tasks;
|
||||
using CompanyManagment.App.Contracts.Workshop;
|
||||
|
||||
namespace Company.Domain.EmployeeBankInformationAgg
|
||||
{
|
||||
@@ -15,31 +11,14 @@ namespace Company.Domain.EmployeeBankInformationAgg
|
||||
void Remove(EmployeeBankInformation bankInformation);
|
||||
void RemoveRange(List<EmployeeBankInformation> entities);
|
||||
|
||||
[Obsolete("از متد async استفاده کنید")]
|
||||
List<GroupedEmployeeBankInformationViewModel> Search(long workshopId, EmployeeBankInformationSearchModel searchParams);
|
||||
|
||||
Task<List<GroupedEmployeeBankInformationViewModel>> SearchAsync(long workshopId,
|
||||
EmployeeBankInformationSearchModel searchParams);
|
||||
|
||||
|
||||
GroupedEmployeeBankInformationViewModel GetByEmployeeId(long workshopId, long employeeId);
|
||||
List<EmployeeBankInformation> GetRangeByEmployeeId(long workshopId, long employeeId);
|
||||
EmployeeBankInformationViewModel GetDetails(long id);
|
||||
List<GroupedEmployeeBankInformationViewModel> GetAllByWorkshopId(long workshopId);
|
||||
|
||||
List<EmployeeBankInformationViewModelForExcel> SearchForExcel(long workshopId,
|
||||
EmployeeBankInformationSearchModel searchParams);
|
||||
|
||||
/// <summary>
|
||||
/// جزئیات اطلاعات بانکی بر اساس پرسنل
|
||||
/// </summary>
|
||||
/// <param name="workshopId"></param>
|
||||
/// <param name="employeeId"></param>
|
||||
/// <returns></returns>
|
||||
Task<GetEmployeeBankInfoDetailsDto> GetDetailsByEmployeeIdAsync(long workshopId, long employeeId);
|
||||
|
||||
|
||||
|
||||
|
||||
List<EmployeeBankInformationViewModelForExcel> SearchForExcel(long workshopId, EmployeeBankInformationSearchModel searchParams);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ using _0_Framework.Application.Enums;
|
||||
using _0_Framework.Domain;
|
||||
using CompanyManagment.App.Contracts.InstitutionContract;
|
||||
using CompanyManagment.App.Contracts.Workshop;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace Company.Domain.InstitutionContractAgg;
|
||||
|
||||
@@ -88,9 +89,6 @@ public interface IInstitutionContractRepository : IRepository<long, InstitutionC
|
||||
|
||||
Task<List<InstitutionContractSelectListViewModel>> GetInstitutionContractSelectList(string search, string selected);
|
||||
Task<List<InstitutionContractPrintViewModel>> PrintAllAsync(List<long> ids);
|
||||
Task<GetInstitutionContractWorkshopsDetails> GetContractWorkshopsDetails(long id);
|
||||
Task AmendmentComplete(InstitutionContractAmendmentCompleteRequest request);
|
||||
Task<GetInstitutionAmendmentVerificationDetailsViewModel> GetAmendmentVerificationDetails(Guid id, long amendmentId);
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -275,11 +275,6 @@ public class InstitutionContract : EntityBase
|
||||
{
|
||||
SigningType = signingType;
|
||||
}
|
||||
|
||||
public void AddAmendment(InstitutionContractAmendment amendment)
|
||||
{
|
||||
Amendments.Add(amendment);
|
||||
}
|
||||
}
|
||||
|
||||
public class InstitutionContractAmendment : EntityBase
|
||||
@@ -287,15 +282,14 @@ public class InstitutionContractAmendment : EntityBase
|
||||
private InstitutionContractAmendment(){}
|
||||
public InstitutionContractAmendment(long institutionContractId,
|
||||
List<InstitutionContractInstallment> installments, double amount, bool hasInstallment,
|
||||
List<InstitutionContractAmendmentChange> amendmentChanges, long lawId)
|
||||
InstitutionContractAmendmentChange amendmentChange, long lawId)
|
||||
{
|
||||
InstitutionContractId = institutionContractId;
|
||||
Installments = installments is { Count: > 0} ? installments : [];
|
||||
Amount = amount;
|
||||
HasInstallment = hasInstallment;
|
||||
AmendmentChanges = amendmentChanges;
|
||||
AmendmentChanges = [amendmentChange];
|
||||
LawId = lawId;
|
||||
VerificationStatus = InstitutionContractVerificationStatus.PendingForVerify;
|
||||
}
|
||||
|
||||
public long InstitutionContractId { get; set; }
|
||||
@@ -309,15 +303,6 @@ public class InstitutionContractAmendment : EntityBase
|
||||
|
||||
public long LawId { get; set; }
|
||||
|
||||
|
||||
public string VerifierPhoneNumber { get; private set; }
|
||||
|
||||
public string VerifierFullName { get; private set; }
|
||||
|
||||
public InstitutionContractVerificationStatus VerificationStatus { get; set; }
|
||||
|
||||
public DateTime VerifyCodeCreation { get; set; }
|
||||
|
||||
public void SetVerifyCode(string code,string verifierFullName, string verifierPhoneNumber)
|
||||
{
|
||||
VerifyCode = code;
|
||||
@@ -325,22 +310,25 @@ public class InstitutionContractAmendment : EntityBase
|
||||
VerifierFullName = verifierFullName;
|
||||
VerifierPhoneNumber = verifierPhoneNumber;
|
||||
}
|
||||
public void Verified()
|
||||
{
|
||||
VerificationStatus = InstitutionContractVerificationStatus.Verified;
|
||||
}
|
||||
|
||||
public string VerifierPhoneNumber { get; private set; }
|
||||
|
||||
public string VerifierFullName { get; private set; }
|
||||
|
||||
public DateTime VerifyCodeCreation { get; set; }
|
||||
}
|
||||
|
||||
public class InstitutionContractAmendmentChange : EntityBase
|
||||
{
|
||||
private InstitutionContractAmendmentChange() { }
|
||||
|
||||
private InstitutionContractAmendmentChange(InstitutionContractAmendmentChangeType changeType,
|
||||
DateTime changeDateGr, bool? hasCustomizeCheckoutPlan, bool? hasContractPlan,
|
||||
private InstitutionContractAmendmentChange(long institutionContractAmendmentId,
|
||||
InstitutionContractAmendment institutionContractAmendment, InstitutionContractAmendmentChangeType changeType,
|
||||
DateTime changeDateGr, bool? hasRollCallPlan, bool? hasCustomizeCheckoutPlan, bool? hasContractPlan,
|
||||
bool? hasContractPlanInPerson, bool? hasInsurancePlan, bool? hasInsurancePlanInPerson, int? personnelCount,
|
||||
bool? hasRollCallPlan, bool? hasRollCallInPerson,
|
||||
long? currentWorkshopId, int personnelCountDifference)
|
||||
long? workshopDetailsId)
|
||||
{
|
||||
InstitutionContractAmendmentId = institutionContractAmendmentId;
|
||||
InstitutionContractAmendment = institutionContractAmendment;
|
||||
ChangeType = changeType;
|
||||
ChangeDateGr = changeDateGr;
|
||||
HasRollCallPlan = hasRollCallPlan;
|
||||
@@ -350,80 +338,9 @@ public class InstitutionContractAmendmentChange : EntityBase
|
||||
HasInsurancePlan = hasInsurancePlan;
|
||||
HasInsurancePlanInPerson = hasInsurancePlanInPerson;
|
||||
PersonnelCount = personnelCount;
|
||||
PersonnelCountDifference = personnelCountDifference;
|
||||
CurrentWorkshopId = currentWorkshopId;
|
||||
HasRollCallInPerson = hasRollCallInPerson;
|
||||
WorkshopDetailsId = workshopDetailsId;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// تغییر تعداد پرسنل
|
||||
/// </summary>
|
||||
public static InstitutionContractAmendmentChange CreatePersonCountChange(
|
||||
DateTime changeDateGr, int personnelCount, int personnelCountDifference,
|
||||
long currentWorkshopId)
|
||||
{
|
||||
return new InstitutionContractAmendmentChange(
|
||||
changeType: InstitutionContractAmendmentChangeType.PersonCount,
|
||||
changeDateGr: changeDateGr,
|
||||
hasCustomizeCheckoutPlan: null,
|
||||
hasContractPlan: null,
|
||||
hasContractPlanInPerson: null,
|
||||
hasInsurancePlan: null,
|
||||
hasInsurancePlanInPerson: null,
|
||||
personnelCount: personnelCount,
|
||||
hasRollCallPlan: null,
|
||||
hasRollCallInPerson: null,
|
||||
currentWorkshopId: currentWorkshopId,
|
||||
personnelCountDifference: personnelCountDifference);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// تغییر خدمات
|
||||
/// </summary>
|
||||
public static InstitutionContractAmendmentChange CreateServicesChange(
|
||||
DateTime changeDateGr, long currentWorkshopId, bool hasRollCallPlan, bool hasRollCallInPerson,
|
||||
bool hasCustomizeCheckoutPlan, bool hasContractPlan, bool hasContractPlanInPerson,
|
||||
bool hasInsurancePlan, bool hasInsurancePlanInPerson)
|
||||
{
|
||||
return new InstitutionContractAmendmentChange(
|
||||
changeType: InstitutionContractAmendmentChangeType.Services,
|
||||
changeDateGr: changeDateGr,
|
||||
hasCustomizeCheckoutPlan: hasCustomizeCheckoutPlan,
|
||||
hasContractPlan: hasContractPlan,
|
||||
hasContractPlanInPerson: hasContractPlanInPerson,
|
||||
hasInsurancePlan: hasInsurancePlan,
|
||||
hasInsurancePlanInPerson: hasInsurancePlanInPerson,
|
||||
personnelCount: null,
|
||||
hasRollCallPlan: hasRollCallPlan,
|
||||
hasRollCallInPerson: hasRollCallInPerson,
|
||||
currentWorkshopId: currentWorkshopId,
|
||||
personnelCountDifference: 0);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// ایجاد کارگاه جدید
|
||||
/// </summary>
|
||||
public static InstitutionContractAmendmentChange CreateWorkshopCreatedChange(
|
||||
DateTime changeDateGr, bool hasRollCallPlan, bool hasRollCallInPerson,
|
||||
bool hasCustomizeCheckoutPlan, bool hasContractPlan, bool hasContractPlanInPerson,
|
||||
bool hasInsurancePlan, bool hasInsurancePlanInPerson,int personnelCount)
|
||||
{
|
||||
return new InstitutionContractAmendmentChange(
|
||||
changeType: InstitutionContractAmendmentChangeType.WorkshopCreated,
|
||||
changeDateGr: changeDateGr,
|
||||
hasCustomizeCheckoutPlan: hasCustomizeCheckoutPlan,
|
||||
hasContractPlan: hasContractPlan,
|
||||
hasContractPlanInPerson: hasContractPlanInPerson,
|
||||
hasInsurancePlan: hasInsurancePlan,
|
||||
hasInsurancePlanInPerson: hasInsurancePlanInPerson,
|
||||
personnelCount: personnelCount,
|
||||
hasRollCallPlan: hasRollCallPlan,
|
||||
hasRollCallInPerson: hasRollCallInPerson,
|
||||
currentWorkshopId: null,
|
||||
personnelCountDifference: 0);
|
||||
}
|
||||
|
||||
|
||||
public long InstitutionContractAmendmentId { get; private set; }
|
||||
public InstitutionContractAmendment InstitutionContractAmendment { get; private set; }
|
||||
public InstitutionContractAmendmentChangeType ChangeType { get; private set; }
|
||||
@@ -434,8 +351,6 @@ public class InstitutionContractAmendmentChange : EntityBase
|
||||
/// </summary>
|
||||
public bool? HasRollCallPlan { get; private set; }
|
||||
|
||||
public bool? HasRollCallInPerson { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// پلن فیش غیر رسمی
|
||||
/// </summary>
|
||||
@@ -465,17 +380,11 @@ public class InstitutionContractAmendmentChange : EntityBase
|
||||
/// تعداد پرسنل
|
||||
/// </summary>
|
||||
public int? PersonnelCount { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// مقدار تغییرات تعداد پرسنل
|
||||
/// </summary>
|
||||
public int PersonnelCountDifference { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// تعداد کارگاه
|
||||
/// </summary>
|
||||
public long? CurrentWorkshopId { get; private set; }
|
||||
public long? WorkshopDetailsId { get; private set; }
|
||||
}
|
||||
|
||||
public enum InstitutionContractAmendmentChangeType
|
||||
|
||||
@@ -9,7 +9,7 @@ public class InstitutionContractWorkshopBase:EntityBase
|
||||
protected InstitutionContractWorkshopBase(){}
|
||||
public InstitutionContractWorkshopBase(string workshopName, bool hasRollCallPlan,bool hasRollCallPlanInPerson,
|
||||
bool hasCustomizeCheckoutPlan, bool hasContractPlan,bool hasContractPlanInPerson,bool hasInsurancePlan,bool hasInsurancePlanInPerson,
|
||||
int personnelCount, double price,bool isAmendment )
|
||||
int personnelCount, double price )
|
||||
{
|
||||
WorkshopName = workshopName;
|
||||
Services = new WorkshopServices(hasInsurancePlan, hasInsurancePlanInPerson,
|
||||
@@ -17,10 +17,7 @@ public class InstitutionContractWorkshopBase:EntityBase
|
||||
PersonnelCount = personnelCount;
|
||||
Price = price;
|
||||
Employers = [];
|
||||
IsAmendment = isAmendment;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// شناسه کارگاه
|
||||
/// </summary>
|
||||
@@ -45,11 +42,7 @@ public class InstitutionContractWorkshopBase:EntityBase
|
||||
|
||||
|
||||
public double Price { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// جهت نمایش دادن اینکه آیا این کارگاه مربوط به ارتقا قرارداد است یا خیر
|
||||
/// </summary>
|
||||
public bool IsAmendment { get; set; }
|
||||
|
||||
|
||||
public List<InstitutionContractWorkshopDetailEmployer> Employers { get; private set; } = new();
|
||||
|
||||
|
||||
@@ -11,9 +11,9 @@ public class InstitutionContractWorkshopCurrent:InstitutionContractWorkshopBase
|
||||
bool hasRollCallPlanInPerson, bool hasCustomizeCheckoutPlan, bool hasContractPlan,
|
||||
bool hasContractPlanInPerson, bool hasInsurancePlan, bool hasInsurancePlanInPerson,
|
||||
int personnelCount, double price,long institutionContractWorkshopGroupId,
|
||||
InstitutionContractWorkshopGroup workshopGroup,long workshopId,bool isAmendment, long initialWorkshopId) : base(workshopName, hasRollCallPlan,
|
||||
InstitutionContractWorkshopGroup workshopGroup,long workshopId,long initialWorkshopId) : base(workshopName, hasRollCallPlan,
|
||||
hasRollCallPlanInPerson, hasCustomizeCheckoutPlan, hasContractPlan,
|
||||
hasContractPlanInPerson, hasInsurancePlan, hasInsurancePlanInPerson, personnelCount, price,isAmendment)
|
||||
hasContractPlanInPerson, hasInsurancePlan, hasInsurancePlanInPerson, personnelCount, price)
|
||||
{
|
||||
InstitutionContractWorkshopGroupId = institutionContractWorkshopGroupId;
|
||||
WorkshopGroup = workshopGroup;
|
||||
|
||||
@@ -33,13 +33,6 @@ public class InstitutionContractWorkshopGroup : EntityBase
|
||||
InitialWorkshops = initialWorkshops.ToList();
|
||||
LastModifiedDate = DateTime.Now;
|
||||
}
|
||||
|
||||
public void AddAmendmentWorkshops(List<InstitutionContractWorkshopInitial> amendmentDetails)
|
||||
{
|
||||
InitialWorkshops.AddRange(amendmentDetails);
|
||||
LastModifiedDate = DateTime.Now;
|
||||
}
|
||||
|
||||
|
||||
public void UpdateCurrentWorkshops(List<InstitutionContractWorkshopCurrent> updatedDetails)
|
||||
{
|
||||
|
||||
@@ -11,9 +11,9 @@ public class InstitutionContractWorkshopInitial:InstitutionContractWorkshopBase
|
||||
public InstitutionContractWorkshopInitial(string workshopName, bool hasRollCallPlan,
|
||||
bool hasRollCallPlanInPerson, bool hasCustomizeCheckoutPlan, bool hasContractPlan,
|
||||
bool hasContractPlanInPerson, bool hasInsurancePlan, bool hasInsurancePlanInPerson,
|
||||
int personnelCount, double price,bool isAmendment =false) : base(workshopName, hasRollCallPlan,
|
||||
int personnelCount, double price) : base(workshopName, hasRollCallPlan,
|
||||
hasRollCallPlanInPerson, hasCustomizeCheckoutPlan, hasContractPlan, hasContractPlanInPerson,
|
||||
hasInsurancePlan, hasInsurancePlanInPerson, personnelCount, price,isAmendment)
|
||||
hasInsurancePlan, hasInsurancePlanInPerson, personnelCount, price)
|
||||
{
|
||||
WorkshopCreated = false;
|
||||
}
|
||||
@@ -31,8 +31,7 @@ public class InstitutionContractWorkshopInitial:InstitutionContractWorkshopBase
|
||||
WorkshopCreated = true;
|
||||
WorkshopCurrent = new InstitutionContractWorkshopCurrent(WorkshopName,Services.RollCall,Services.RollCallInPerson,
|
||||
Services.CustomizeCheckout,Services.Contract,Services.ContractInPerson,Services.Insurance,
|
||||
Services.InsuranceInPerson,PersonnelCount,Price,InstitutionContractWorkshopGroupId,WorkshopGroup,workshopId,
|
||||
IsAmendment, id);
|
||||
Services.InsuranceInPerson,PersonnelCount,Price,InstitutionContractWorkshopGroupId,WorkshopGroup,workshopId,id);
|
||||
WorkshopCurrent.SetEmployers(Employers.Select(x=>x.EmployerId).ToList());
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using CompanyManagment.App.Contracts.InstitutionContract;
|
||||
using MongoDB.Bson;
|
||||
using MongoDB.Bson.Serialization.Attributes;
|
||||
|
||||
@@ -17,7 +16,7 @@ public class InstitutionContractAmendmentTemp
|
||||
NewWorkshops = prevWorkshops.Select(x=> new InstitutionContractAmendmentTempNewWorkshop(
|
||||
x.WorkshopName, x.CountPerson, x.ContractAndCheckout, x.ContractAndCheckoutInPerson, x.Insurance,
|
||||
x.InsuranceInPerson, x.RollCall, x.RollCallInPerson, x.CustomizeCheckout, x.Price, x.WorkshopId,
|
||||
x.CurrentWorkshopId, 0,x.Id)).ToList();
|
||||
x.CurrentWorkshopId, 0)).ToList();
|
||||
InstitutionContractId = institutionContractId;
|
||||
}
|
||||
|
||||
@@ -26,32 +25,17 @@ public class InstitutionContractAmendmentTemp
|
||||
public Guid Id { get; private set; }
|
||||
public List<InstitutionContractAmendmentTempPrevWorkshop> PrevWorkshops { get; private set; }
|
||||
public List<InstitutionContractAmendmentTempNewWorkshop> NewWorkshops { get; private set; }
|
||||
|
||||
public InstitutionContractPaymentMonthlyViewModel MonthlyPayment { get; set; }
|
||||
|
||||
public InstitutionContractPaymentOneTimeViewModel OneTimePayment { get; set; }
|
||||
|
||||
public long InstitutionContractId { get; private set; }
|
||||
|
||||
public int MonthDifference { get; set; }
|
||||
public void AddPaymentDetails(InstitutionContractPaymentMonthlyViewModel resMonthly, InstitutionContractPaymentOneTimeViewModel resOneTime, int monthDiff)
|
||||
{
|
||||
MonthlyPayment = resMonthly;
|
||||
OneTimePayment = resOneTime;
|
||||
MonthDifference = monthDiff;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public class InstitutionContractAmendmentTempNewWorkshop : InstitutionContractAmendmentTempPrevWorkshop
|
||||
{
|
||||
public InstitutionContractAmendmentTempNewWorkshop(string workshopName, int countPerson, bool contractAndCheckout,
|
||||
bool contractAndCheckoutInPerson, bool insurance, bool insuranceInPerson, bool rollCall, bool rollCallInPerson,
|
||||
bool customizeCheckout, double price, long workshopId, long currentWorkshopId,double priceDifference,Guid prevId) : base(
|
||||
bool customizeCheckout, double price, long workshopId, long currentWorkshopId,double priceDifference) : base(
|
||||
workshopName, countPerson, contractAndCheckout, contractAndCheckoutInPerson, insurance, insuranceInPerson,
|
||||
rollCall, rollCallInPerson, customizeCheckout, price, workshopId, currentWorkshopId)
|
||||
{
|
||||
Id = prevId;
|
||||
PriceDifference = priceDifference;
|
||||
}
|
||||
|
||||
|
||||
@@ -11,13 +11,6 @@ public interface IJobRepository : IRepository<long, Job>
|
||||
EditJob GetDetails(long id);
|
||||
List<JobViewModel> Search(JobSearchModel searchModel);
|
||||
List<JobViewModel> SearchJobForMain(JobSearchModel searchModel);
|
||||
|
||||
/// <summary>
|
||||
/// جستجوس مشاغل
|
||||
/// </summary>
|
||||
/// <param name="searchtText"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<JobListDto>> JobSearchSelect(string searchtText);
|
||||
// Task<List<JobViewModel>> GetJobListByText(string searchtText);
|
||||
List<JobViewModel> GetJobListByText(string searchtText);
|
||||
List<JobViewModel> GetJobListByWorkshopId(long workshopId);
|
||||
|
||||
@@ -16,7 +16,7 @@ namespace Company.Domain.RollCallAgg;
|
||||
|
||||
public interface IRollCallMandatoryRepository : IRepository<long, RollCall>
|
||||
{
|
||||
Task<ComputingViewModel> MandatoryCompute(long employeeId, long workshopId, DateTime contractStart, DateTime contractEnd, CreateWorkingHoursTemp command, bool holidayWorking, bool isStaticCheckout, bool rotatingShiftCompute, double dailyWageUnAffected, bool totalLeaveCompute);
|
||||
ComputingViewModel MandatoryCompute(long employeeId, long workshopId, DateTime contractStart, DateTime contractEnd, CreateWorkingHoursTemp command, bool holidayWorking, bool isStaticCheckout, bool rotatingShiftCompute, double dailyWageUnAffected, bool totalLeaveCompute);
|
||||
|
||||
/// <summary>
|
||||
/// محاسبه ساعات کارکرد پرسنل در صورت داشتن حضور غیاب
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace Company.Domain.RollCallAgg
|
||||
DateTime endSearch);
|
||||
void RemoveEmployeeRollCallsInDate(long workshopId, long employeeId, DateTime date);
|
||||
RollCallsByDateViewModel GetWorkshopRollCallHistory(RollCallSearchModel searchModel);
|
||||
CurrentDayRollCall GetWorkshopCurrentDayRollCalls(long workshopId,WorkshopCurrentDayRollCallSearchModel searchModel);
|
||||
CurrentDayRollCall GetWorkshopCurrentDayRollCalls(long workshopId);
|
||||
List<PersonnelCheckoutDailyRollCallViewModel> GetEmployeeRollCallsForMonth(IEnumerable<long> employeeIds,
|
||||
long workshopId, DateTime start, DateTime end);
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using _0_Framework.Domain;
|
||||
using CompanyManagment.App.Contracts.RollCallEmployee;
|
||||
|
||||
@@ -8,7 +7,7 @@ namespace Company.Domain.RollCallEmployeeAgg;
|
||||
|
||||
public interface IRollCallEmployeeRepository : IRepository<long, RollCallEmployee>
|
||||
{
|
||||
Task<bool> HasRollCallRecord(long employeeId, long workshopId, DateTime contractStart, DateTime contractEnd);
|
||||
bool HasRollCallRecord(long employeeId, long workshopId, DateTime contractStart, DateTime contractEnd);
|
||||
List<RollCallEmployeeViewModel> GetByWorkshopId(long workshopId);
|
||||
EditRollCallEmployee GetDetails(long id);
|
||||
RollCallEmployeeViewModel GetByEmployeeIdAndWorkshopId(long employeeId, long workshopId);
|
||||
|
||||
@@ -15,11 +15,12 @@ public interface ISalaryAidRepository:IRepository<long,SalaryAid>
|
||||
void RemoveRange(IEnumerable<SalaryAid> salaryAids);
|
||||
|
||||
#region Pooya
|
||||
|
||||
/// <summary>
|
||||
/// گروهبندی بر اساس ماه هنگام جستجو با انتخاب کارمند
|
||||
/// </summary>
|
||||
|
||||
SalaryAidsGroupedViewModel GetSearchListAsGrouped(SalaryAidSearchViewModel searchModel);
|
||||
SalaryAidsGroupedViewModel GetSearchListAsGrouped(SalaryAidSearchViewModel searchModel);
|
||||
#endregion
|
||||
|
||||
}
|
||||
@@ -106,14 +106,4 @@ public interface IWorkshopRepository : IRepository<long, Workshop>
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region ForApi
|
||||
/// <summary>
|
||||
/// دریافت لیست کارگاه های ادمین برای سلکت تو
|
||||
/// Api
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
Task<List<AdminWorkshopSelectListDto>> GetAdminWorkshopSelectList();
|
||||
|
||||
#endregion
|
||||
}
|
||||
@@ -185,17 +185,8 @@ public class Workshop : EntityBase
|
||||
public bool AddLeavePay { get; private set; }
|
||||
public string ZoneName { get; private set; }
|
||||
public bool TotalPaymentHide { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا طبقه بندی شده است
|
||||
/// [کارگاه دارای طرح طبقه بندی می باشد ؟]
|
||||
/// </summary>
|
||||
public bool IsClassified { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا طرح طبقه بندی تکمیل شده است
|
||||
/// </summary>
|
||||
public bool IsClassificationSchemeCompleted { get; private set; }
|
||||
|
||||
//نحوه محاسبه مزد مرخصی
|
||||
public string ComputeOptions { get; private set; }
|
||||
|
||||
@@ -10,12 +10,5 @@ namespace CompanyManagment.App.Contracts.Bank
|
||||
OperationResult Create(CreateBank command);
|
||||
OperationResult Edit(EditBank command);
|
||||
List<BankViewModel> Search(string name);
|
||||
List<BankSelectList> GetBanksForSelectList();
|
||||
|
||||
}
|
||||
|
||||
public class BankSelectList:SelectListViewModel
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,92 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.Checkout.Dto;
|
||||
|
||||
public class CheckoutDto
|
||||
{
|
||||
/// <summary>
|
||||
/// آی دی فیش
|
||||
/// </summary>
|
||||
public long Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام پرسنل
|
||||
/// </summary>
|
||||
public string EmployeeFullName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام کارگاه
|
||||
/// </summary>
|
||||
public string WorkshopName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره قراداد
|
||||
/// </summary>
|
||||
public string ContractNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ شروع فیش
|
||||
/// </summary>
|
||||
public string ContractStart { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ پایان فیش
|
||||
/// </summary>
|
||||
public string ContractEnd { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ماه
|
||||
/// </summary>
|
||||
public string Month { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// سال
|
||||
/// </summary>
|
||||
public string Year { get; set; }
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// روزهای کارکرد
|
||||
/// </summary>
|
||||
public string SumOfWorkingDays { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره کارگاه
|
||||
/// </summary>
|
||||
public string ArchiveCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// کد پرسنلی
|
||||
/// </summary>
|
||||
public string PersonnelCode { get; set; }
|
||||
/// <summary>
|
||||
/// فعال/غیرفعال
|
||||
/// </summary>
|
||||
public bool IsActive { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// امضاء فیش
|
||||
/// </summary>
|
||||
public bool Signature { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام کارفرما
|
||||
/// </summary>
|
||||
public string EmployerName { get; set; }
|
||||
public bool IsBlockCantracingParty { get; set; }
|
||||
/// <summary>
|
||||
/// آیا فیش نیاز به بروزرسانی دارد
|
||||
/// </summary>
|
||||
public bool IsUpdateNeeded { get; set; }
|
||||
/// <summary>
|
||||
/// لیست پیام های هشدار فیش حقوقی
|
||||
/// </summary>
|
||||
public List<CheckoutWarningMessageModel> CheckoutWarningMessageList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نیاز به امزا دارد یا خیر
|
||||
/// </summary>
|
||||
public bool HasSignCheckoutOption { get; set; }
|
||||
|
||||
}
|
||||
@@ -1,247 +0,0 @@
|
||||
using System;
|
||||
using CompanyManagment.App.Contracts.Loan;
|
||||
using CompanyManagment.App.Contracts.RollCall;
|
||||
using CompanyManagment.App.Contracts.SalaryAid;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.Checkout.Dto;
|
||||
|
||||
public class CheckoutPrintDto
|
||||
{
|
||||
// هدر فیش
|
||||
// اطلاعات هویتی
|
||||
// اطلاعات کارگاه
|
||||
#region Header
|
||||
public long Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام پرسنل
|
||||
/// </summary>
|
||||
public string EmployeeFullName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام پدر
|
||||
/// </summary>
|
||||
public string FathersName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// کد ملی
|
||||
/// </summary>
|
||||
public string NationalCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ تولد
|
||||
/// </summary>
|
||||
public string DateOfBirth { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام کارگاه
|
||||
/// </summary>
|
||||
public string WorkshopName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره قراداد
|
||||
/// </summary>
|
||||
public string ContractNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ماه
|
||||
/// </summary>
|
||||
public string Month { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// سال
|
||||
/// </summary>
|
||||
public string Year { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// لیست کارفرما
|
||||
/// </summary>
|
||||
public List<CheckoutEmployersList> EmployersLists { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا کارقرما حقوقی است
|
||||
/// </summary>
|
||||
public bool EmployerIslegal { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا ترک کار کرده
|
||||
/// </summary>
|
||||
public bool HasLeft { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آخرین روز کاری
|
||||
/// </summary>
|
||||
public string LastDayOfWork { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// روز ترک کار
|
||||
/// </summary>
|
||||
public string LeftWorkDate { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
//جدول مطالبات و کسورات
|
||||
#region PaymentAndDeductionTable
|
||||
/// <summary>
|
||||
/// مطالبات
|
||||
/// </summary>
|
||||
public List<PaymentAndDeductionList> PaymentList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// کسورات
|
||||
/// </summary>
|
||||
public List<PaymentAndDeductionList> DeductionList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// جمع مطالبات
|
||||
/// </summary>
|
||||
public string TotalPayment { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// جمع کسورات
|
||||
/// </summary>
|
||||
public string TotalDeductions { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// مبلغ قابل پرداخت
|
||||
/// </summary>
|
||||
public string TotalClaims { get; set; }
|
||||
#endregion
|
||||
|
||||
//لیست ورود و خروج پرسنل
|
||||
//اطلاعات ساعات کار و موظقی
|
||||
#region RollCallData
|
||||
/// <summary>
|
||||
/// لیست حضورغیاب
|
||||
/// </summary>
|
||||
public List<CheckoutPrintRollCallDto> MonthlyRollCall { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// دیتای جدول حضورغیاب
|
||||
/// </summary>
|
||||
public CheckoutRollCallViewModel CheckoutRollCall { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
//اقساط - مساعده
|
||||
#region SalaryAidAndInstallmentData
|
||||
|
||||
public List<CheckoutPrintInstallmentDto> Installments { get; set; }
|
||||
public List<CheckoutPrintSalaryAidDto> SalaryAids { get; set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// کسورات
|
||||
/// </summary>
|
||||
public class PaymentData
|
||||
{
|
||||
/// <summary>
|
||||
/// حقوق و مزد
|
||||
/// </summary>
|
||||
public string MonthlySalary { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// پایه سنوات
|
||||
/// </summary>
|
||||
public string BaseYearsPay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// کمک هزینه اقلام مصرفی
|
||||
/// </summary>
|
||||
public string ConsumableItems { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// کمک هزینه مسکن
|
||||
/// </summary>
|
||||
public string HousingAllowance { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// فوق العاده اضافه کاری
|
||||
/// </summary>
|
||||
public string OvertimePay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// فوق العاده شبکاری
|
||||
/// </summary>
|
||||
public string NightworkPay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// فوق العاده جمعه کاری
|
||||
/// </summary>
|
||||
public string FridayPay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// فوق العاده ماموریت
|
||||
/// </summary>
|
||||
public string MissionPay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// فوق العاده نوبت کاری
|
||||
/// </summary>
|
||||
public string ShiftPay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// کمک هزینه عائله مندی
|
||||
/// </summary>
|
||||
public string FamilyAllowance { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// حق تاهل
|
||||
/// </summary>
|
||||
public string MarriedAllowance { get; set; }
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// کسورات
|
||||
/// </summary>
|
||||
public class DeductionData
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public class PaymentAndDeductionList
|
||||
{
|
||||
public int RowNumber { get; set; }
|
||||
/// <summary>
|
||||
/// عنوان
|
||||
/// </summary>
|
||||
public string Title { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// مقدار/روز/ساعت
|
||||
/// </summary>
|
||||
public string Value { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// مبلغ
|
||||
/// </summary>
|
||||
public string Amount { get; set; }
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// لیست کارفرما
|
||||
/// </summary>
|
||||
public class CheckoutEmployersList
|
||||
{
|
||||
public string IsLegal { get; set; }
|
||||
public string EmployerFullName { get; set; }
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public class CheckoutGetData : CheckoutPrintDto
|
||||
{
|
||||
public DateTime ContractStart { get; set; }
|
||||
|
||||
public int PersonnelCode { get; set; }
|
||||
|
||||
public long WorkshopId { get; set; }
|
||||
public long EmployeeId { get; set; }
|
||||
}
|
||||
@@ -1,47 +0,0 @@
|
||||
using _0_Framework.Application;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.Checkout.Dto;
|
||||
|
||||
public class CheckoutSearchModelDto : PaginationRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// نام پرسنل
|
||||
/// </summary>
|
||||
public string EmployeeFullName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی کارگاه
|
||||
/// </summary>
|
||||
public long WorkshopId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره قرارداد
|
||||
/// </summary>
|
||||
public string ContractNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ شروع فیش
|
||||
/// </summary>
|
||||
public string ContractStart { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ پاین فیش
|
||||
/// </summary>
|
||||
public string ContractEnd { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ماه
|
||||
/// </summary>
|
||||
public string Month { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// سال
|
||||
/// </summary>
|
||||
public string Year { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی گارفرما
|
||||
/// </summary>
|
||||
public long EmployerId { get; set; }
|
||||
|
||||
}
|
||||
@@ -1,53 +0,0 @@
|
||||
namespace CompanyManagment.App.Contracts.Checkout.Dto;
|
||||
|
||||
public class ContractsListToCreateCheckoutDto
|
||||
{
|
||||
/// <summary>
|
||||
/// آی دی قراداد
|
||||
/// </summary>
|
||||
public long Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// کد پرسنلی
|
||||
/// </summary>
|
||||
public long PersonnelCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره قرارداد
|
||||
/// </summary>
|
||||
public string ContractNo { get; set; }
|
||||
|
||||
//نام کارگاه
|
||||
public string WorkshopName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام پرسنل
|
||||
/// </summary>
|
||||
public string EmployeeName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ شوع فیش
|
||||
/// </summary>
|
||||
public string ContractStart { get; set; }
|
||||
/// <summary>
|
||||
/// تاریخ پایان فیش
|
||||
/// </summary>
|
||||
public string ContractEnd { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ ترک کار
|
||||
/// </summary>
|
||||
public string LeftWorkDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// وضعیت ایجاد فیش
|
||||
/// </summary>
|
||||
public CreateCheckoutStatus CreateCheckoutStatus { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// توضیحات
|
||||
/// </summary>
|
||||
public string Description { get; set; }
|
||||
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
namespace CompanyManagment.App.Contracts.Checkout.Dto;
|
||||
|
||||
/// <summary>
|
||||
/// وضعیت ایجاد فیش
|
||||
/// </summary>
|
||||
public enum CreateCheckoutStatus
|
||||
{
|
||||
/// <summary>
|
||||
/// آماده ایجاد
|
||||
/// </summary>
|
||||
ReadyToCreate,
|
||||
|
||||
/// <summary>
|
||||
/// غیر مجاز
|
||||
/// </summary>
|
||||
NotValid,
|
||||
|
||||
/// <summary>
|
||||
/// دارای فیش حقوقی
|
||||
/// </summary>
|
||||
HasCheckout,
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
namespace CompanyManagment.App.Contracts.Checkout.Dto;
|
||||
|
||||
public class EmployeeSelectListDto
|
||||
{
|
||||
/// <summary>
|
||||
/// آی دی پرسنل
|
||||
/// </summary>
|
||||
public long Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام پرسنل
|
||||
/// </summary>
|
||||
public string EmployeeFullName { get; set; }
|
||||
}
|
||||
@@ -1,210 +0,0 @@
|
||||
using System;
|
||||
using CompanyManagment.App.Contracts.Contract;
|
||||
using CompanyManagment.App.Contracts.EmployeeComputeOptions;
|
||||
using CompanyManagment.App.Contracts.WorkingHoursTemp;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.Checkout.Dto;
|
||||
|
||||
public class GetContractAndIncludesDataToCreateDto
|
||||
{
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// آی دی کارگاه
|
||||
/// </summary>
|
||||
public long WorkshopId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام کارگاه
|
||||
/// </summary>
|
||||
public string WorkshopName { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// کد بایگانی کارگاه
|
||||
/// </summary>
|
||||
public string ArchiveCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا تنظیمات کارگاه بر رو ایجاد فیش استاتیک است
|
||||
/// </summary>
|
||||
public bool IsStaticCheckout { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا کارگاه در تعطیلات رسمی باز است
|
||||
/// </summary>
|
||||
public bool WorkshopHolidayWorking { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// محاسبه نوبت کاری در فیش حقوقی
|
||||
/// </summary>
|
||||
public bool RotatingShiftCompute { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// آیا پاداش در فیش حقوقی محاسبه شود
|
||||
/// </summary>
|
||||
public bool RewardComputeOnCheckout { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا اضافه کار فیش حقوقی در بیمه محاسبه شود
|
||||
/// </summary>
|
||||
public bool HasInsuranceCheckoutOverTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی صنف بیمه کارگاه
|
||||
/// </summary>
|
||||
public long? InsuranceJobId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا کارگاه مشاغل مقطوع است
|
||||
/// </summary>
|
||||
public bool FixedSalary { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// جمعیت شهر کارگاه
|
||||
/// </summary>
|
||||
public string Population { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نوع ارسال لیست بیمه
|
||||
/// </summary>
|
||||
public string TypeOfInsuranceSend { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// قرارداد قدیمی است؟
|
||||
/// </summary>
|
||||
public bool IsOldContract { get; set; }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public List<ContractIncludedData> ContractIncludedData { get; set; }
|
||||
|
||||
}
|
||||
|
||||
|
||||
public class ContractIncludedData
|
||||
{
|
||||
/// <summary>
|
||||
/// شماره قرارداد
|
||||
/// </summary>
|
||||
public string ContractNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی پرسنل
|
||||
/// </summary>
|
||||
public long EmployeeId { get; set; }
|
||||
/// <summary>
|
||||
/// نام کامل پرسنل
|
||||
/// </summary>
|
||||
public string EmployeeFullName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام پدر
|
||||
/// </summary>
|
||||
public string FathersName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// کد ملی
|
||||
/// </summary>
|
||||
public string NationalCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ تولد
|
||||
/// </summary>
|
||||
public string DateOfBirth { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// کد پرسنلس
|
||||
/// </summary>
|
||||
public string PersonnelCode { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// وضعیت تاهل
|
||||
/// </summary>
|
||||
|
||||
public string MaritalStatus { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ساعت کاری پرسنل
|
||||
/// </summary>
|
||||
public CreateWorkingHoursTemp WorkingHours { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// اطلاعات جداسازی تاریخ فیش
|
||||
/// </summary>
|
||||
public ContractSeparationViewModel Separation { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تنظیمات فنی پرسنل
|
||||
/// سنوات
|
||||
/// </summary>
|
||||
public string YearsOption { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// تنظیمات فنی پرسنل
|
||||
/// عیدی و پاداش
|
||||
/// </summary>
|
||||
public string BonusesOption { get; set; }
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// تنظیمات فنی پرسنل
|
||||
/// مزد مرخصی
|
||||
/// </summary>
|
||||
public string ComputeOption { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ترایخ شروع قراداد
|
||||
/// شمسی
|
||||
/// </summary>
|
||||
public string ContractStart { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ پایان قرارداد
|
||||
/// شمسی
|
||||
/// </summary>
|
||||
public string ContractEnd { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ترایخ شروع قراداد
|
||||
/// میلادی
|
||||
/// </summary>
|
||||
public DateTime ContractStartGr { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ پایان قرارداد
|
||||
/// میلادی
|
||||
/// </summary>
|
||||
public DateTime ContractEndGr { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی قراداد
|
||||
/// </summary>
|
||||
public long ContractId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// مزد روزانه قرداد بدون تاثیر ساعات کار
|
||||
/// </summary>
|
||||
public double DailySalaryUnAffected { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نوع مزد روزانه
|
||||
/// </summary>
|
||||
public string DailyWageType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// اولین شروع بکار پرسنل
|
||||
/// </summary>
|
||||
public string FirstGetWorkingDay { get; set; }
|
||||
}
|
||||
@@ -1,75 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.Checkout.Dto;
|
||||
|
||||
public class RotatingShiftOfCheckoutDto
|
||||
{
|
||||
/// <summary>
|
||||
/// نام پرسنل
|
||||
/// </summary>
|
||||
public string FullName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// وضعیت نوبتکاری
|
||||
/// </summary>
|
||||
public string RotatingShiftStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا نوبت کاری دارد
|
||||
/// </summary>
|
||||
public bool HasRotatingShift { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// سال و ماه
|
||||
/// </summary>
|
||||
public string YearAndMonth { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// نوع ساعت کاری
|
||||
/// </summary>
|
||||
public string TypeOfWorkingHours { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// لیست نوبت کاری
|
||||
/// </summary>
|
||||
public List<RotatingShiftListDto> RotatingShiftList { get; set; }
|
||||
}
|
||||
|
||||
public class RotatingShiftListDto
|
||||
{
|
||||
/// <summary>
|
||||
/// بازه کاری صبح
|
||||
/// </summary>
|
||||
public string MorningShiftSpan { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// بازه کاری عصر
|
||||
/// </summary>
|
||||
public string EveningShiftSpan { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// بازه کاری شب
|
||||
/// </summary>
|
||||
public string NightShiftSpan { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// آیا صبح کاری داشته
|
||||
/// </summary>
|
||||
public bool IsMorningShift { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا عصرکاری داشته
|
||||
/// </summary>
|
||||
public bool IsEveningShift { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا شبکاری داشته
|
||||
/// </summary>
|
||||
public bool IsNightShift { get; set; }
|
||||
/// <summary>
|
||||
/// تاریخ شیفت
|
||||
/// </summary>
|
||||
public string ShiftDate { get; set; }
|
||||
}
|
||||
@@ -1,10 +1,9 @@
|
||||
using _0_Framework.Application;
|
||||
using CompanyManagment.App.Contracts.Checkout.Dto;
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using _0_Framework.Application;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.Checkout;
|
||||
|
||||
@@ -63,108 +62,4 @@ public interface ICheckoutApplication
|
||||
long workshopId, DateTime start, DateTime end);
|
||||
|
||||
#endregion
|
||||
|
||||
Task<PagedResult<CheckoutListClientDto>> GetListForClient(long workshopId,
|
||||
CheckoutListClientSearchModel searchModel);
|
||||
|
||||
#region ForApi
|
||||
|
||||
/// <summary>
|
||||
/// دریافت سلکت لیست پرسنل کارگاه
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<EmployeeSelectListDto>> GetEmployeeSelectListByWorkshopId(long id);
|
||||
|
||||
/// <summary>
|
||||
/// دریافت لیست فیش های حقوقی ادمین
|
||||
/// </summary>
|
||||
/// <param name="searchModel"></param>
|
||||
/// <returns></returns>
|
||||
Task<PagedResult<CheckoutDto>> GetList(CheckoutSearchModelDto searchModel);
|
||||
|
||||
/// <summary>
|
||||
/// دریافت نوبتکاری
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
Task<RotatingShiftOfCheckoutDto> GetRotatingShiftApi(long id);
|
||||
|
||||
/// <summary>
|
||||
/// پرینت فیش حقوقی
|
||||
/// Api
|
||||
/// </summary>
|
||||
/// <param name="ids"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<CheckoutPrintDto>> CheckoutPrint(List<long> ids);
|
||||
|
||||
/// <summary>
|
||||
/// دریافت لیست قراردادها برای ایجاد فیش حقوقی
|
||||
/// </summary>
|
||||
/// <param name="workshopId"></param>
|
||||
/// <param name="year"></param>
|
||||
/// <param name="month"></param>
|
||||
/// <param name="employeeId"></param>
|
||||
/// <returns></returns>
|
||||
Task<OperationResult<List<ContractsListToCreateCheckoutDto>>> GetContractToCreateCheckout(long workshopId,
|
||||
string year, string month, long employeeId);
|
||||
/// <summary>
|
||||
/// ایجاد فیش حقوقی
|
||||
/// </summary>
|
||||
/// <param name="ids"></param>
|
||||
/// <param name="year"></param>
|
||||
/// <param name="month"></param>
|
||||
/// <returns></returns>
|
||||
Task<OperationResult> CreateCheckoutApi(List<long> ids, string year, string month, long workshopId);
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
public class CheckoutPrintInstallmentDto
|
||||
{
|
||||
public string RemainingAmount { get; set; }
|
||||
public string LoanAmount { get; set; }
|
||||
public string Amount { get; set; }
|
||||
}
|
||||
public class CheckoutPrintSalaryAidDto
|
||||
{
|
||||
public string Amount { get; set; }
|
||||
public string SalaryAidDateTimeFa { get; set; }
|
||||
}
|
||||
|
||||
|
||||
public class CheckoutListClientSearchModel:PaginationRequest
|
||||
{
|
||||
public long? EmployeeId { get; set; }
|
||||
public string Year { get; set; }
|
||||
public string Month { get; set; }
|
||||
public string StartDate { get; set; }
|
||||
public string EndDate { get; set; }
|
||||
public CheckoutClientListOrderType? OrderType { get; set; }
|
||||
}
|
||||
|
||||
public class CheckoutListClientDto
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public string Year { get; set; }
|
||||
public string Month { get; set; }
|
||||
public string EmployeeName { get; set; }
|
||||
public string ContractNo { get; set; }
|
||||
public string ContractStart { get; set; }
|
||||
public string ContractEnd { get; set; }
|
||||
public bool Signature { get; set; }
|
||||
}
|
||||
|
||||
public enum CheckoutClientListOrderType
|
||||
{
|
||||
ByCheckoutCreationDate,
|
||||
BySignedCheckout,
|
||||
ByUnSignedCheckout,
|
||||
ByPersonnelCode,
|
||||
ByPersonnelCodeDescending,
|
||||
ByCheckoutStartDate,
|
||||
ByCheckoutStartDateDescending
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -1,84 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.ClassificationScheme;
|
||||
|
||||
/// <summary>
|
||||
/// مدل برای مدال افزودن پرسنل ب گروه
|
||||
/// </summary>
|
||||
public class AddEmployeeToGroup
|
||||
{
|
||||
/// <summary>
|
||||
/// آی دی
|
||||
/// </summary>
|
||||
public long Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام کامل پرسنل
|
||||
/// </summary>
|
||||
public string EmployeeFullName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی پرسنل
|
||||
/// </summary>
|
||||
public long EmployeeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی طرح
|
||||
/// </summary>
|
||||
public long SchemeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی گروه
|
||||
/// </summary>
|
||||
public long GroupId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره گروه
|
||||
/// </summary>
|
||||
public string GoroupNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی شغل
|
||||
/// </summary>
|
||||
public long JobId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام شغل
|
||||
/// </summary>
|
||||
public string JobName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// کد شغل
|
||||
/// </summary>
|
||||
public string JobCode { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// لیست گروه ها
|
||||
/// </summary>
|
||||
public List<ClassificationGroupList> ClassificationGroupList{ get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// لیست گروه ها
|
||||
/// </summary>
|
||||
public class ClassificationGroupList
|
||||
{
|
||||
/// <summary>
|
||||
/// آی دی گروه
|
||||
/// </summary>
|
||||
public long GroupId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره گروه
|
||||
/// استرینگ
|
||||
/// </summary>
|
||||
public string GroupNo { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// شماره گروه
|
||||
/// اینتیجر
|
||||
/// </summary>
|
||||
public int GroupNoInt { get; set; }
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.ClassificationScheme;
|
||||
|
||||
public class AddOrEditJobInGroupDto
|
||||
{
|
||||
/// <summary>
|
||||
/// آی دی گروه
|
||||
/// </summary>
|
||||
public long GroupId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره گروه نوع عددی
|
||||
/// </summary>
|
||||
public int GroupNoInt { get; set; }
|
||||
|
||||
|
||||
public List<AddJobListDto> AddJobListDto { get; set; }
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// لیست مشغال افزوده شده به گروه
|
||||
/// </summary>
|
||||
public class AddJobListDto
|
||||
{
|
||||
/// <summary>
|
||||
/// آی دی شغل در مشاغل اداره کار
|
||||
/// </summary>
|
||||
public long JobId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام شغل
|
||||
/// </summary>
|
||||
public string JobName { get; set; }
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
namespace CompanyManagment.App.Contracts.ClassificationScheme;
|
||||
|
||||
public class CheckStatusToDeleteScheme
|
||||
{
|
||||
/// <summary>
|
||||
/// وضعیت طرح برای حذف
|
||||
/// </summary>
|
||||
public DeleteSchemeStatus DeleteSchemeStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// پیام سیستم
|
||||
/// </summary>
|
||||
public string Message { get; set; }
|
||||
}
|
||||
|
||||
public enum DeleteSchemeStatus
|
||||
{
|
||||
/// <summary>
|
||||
/// مجاز
|
||||
/// </summary>
|
||||
Valid,
|
||||
/// <summary>
|
||||
/// مجاز باشرط تایید
|
||||
/// </summary>
|
||||
ConfirmationNeeded,
|
||||
|
||||
/// <summary>
|
||||
/// غیر مجاز
|
||||
/// </summary>
|
||||
NotValid,
|
||||
|
||||
}
|
||||
@@ -1,104 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.ClassificationScheme;
|
||||
|
||||
/// <summary>
|
||||
/// ایجاد گروه
|
||||
/// </summary>
|
||||
public class ClassificationGroupAndJobModel
|
||||
{
|
||||
/// <summary>
|
||||
/// آی دی گروه
|
||||
/// </summary>
|
||||
public long GroupId { get; set; }
|
||||
/// <summary>
|
||||
/// شماره گروه
|
||||
/// استرینگ
|
||||
/// </summary>
|
||||
public string GroupNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره گروه نوع عددی
|
||||
/// </summary>
|
||||
public int GroupNoInt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی کارگاه
|
||||
/// </summary>
|
||||
public long WorkshopId { get; set; }
|
||||
/// <summary>
|
||||
/// آی دی طرح
|
||||
/// </summary>
|
||||
public long ClassificationSchemeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// لیست مشاغل
|
||||
/// </summary>
|
||||
public List<EditClassificationGroupJob> EditClassificationGroupJob { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// ایجاد مشاغل گروه
|
||||
/// </summary>
|
||||
public class CreateClassificationGroupJob
|
||||
{
|
||||
/// <summary>
|
||||
/// آی دی شغل
|
||||
/// </summary>
|
||||
public long JobId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام شغل
|
||||
/// </summary>
|
||||
public string JobName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// کد شغل
|
||||
/// </summary>
|
||||
public string JobCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی گروه
|
||||
/// </summary>
|
||||
public long ClassificationGroupId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره گروه
|
||||
/// </summary>
|
||||
public string GroupNo { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// ویرایش مشاغل گروه
|
||||
/// </summary>
|
||||
public class EditClassificationGroupJob : CreateClassificationGroupJob
|
||||
{
|
||||
/// <summary>
|
||||
/// ای دی شغل
|
||||
/// </summary>
|
||||
public long Id { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// ایجاد یا ویرایش مشاغل
|
||||
/// </summary>
|
||||
public class CreateOrEditGroupJobs
|
||||
{
|
||||
/// <summary>
|
||||
/// آی دی گروه
|
||||
/// </summary>
|
||||
public long GroupId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره گروه
|
||||
/// استرینگ
|
||||
/// </summary>
|
||||
public string GroupNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی مشاغل
|
||||
/// </summary>
|
||||
public List<long> JobIdList { get; set; }
|
||||
}
|
||||
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.ClassificationScheme;
|
||||
|
||||
/// <summary>
|
||||
/// پارشیال صفحه ایجاد طرح
|
||||
/// </summary>
|
||||
public class ClassificationSchemeListDto
|
||||
{
|
||||
/// <summary>
|
||||
/// آیا طرح دارد
|
||||
/// </summary>
|
||||
public bool HasScheme { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی کارگاه
|
||||
/// </summary>
|
||||
public long WorkshopId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// لیست طرح
|
||||
/// </summary>
|
||||
public List<SchemeListDto> ClassificationSchemesList { get; set; }
|
||||
}
|
||||
@@ -1,204 +0,0 @@
|
||||
using _0_Framework.Application.Enums;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.ClassificationScheme;
|
||||
|
||||
/// <summary>
|
||||
/// ایجاد دستمزد گروه و ضریب ریالی
|
||||
/// </summary>
|
||||
public class CreateClassificationGroupSalaryAndRialCoefficient
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// آی دی گروه
|
||||
/// </summary>
|
||||
public long ClassificationGroupId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره گروه
|
||||
/// </summary>
|
||||
public string GroupNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// دستمزد گروه
|
||||
/// </summary>
|
||||
public double GroupSalary { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ شروع
|
||||
/// </summary>
|
||||
public DateTime StartDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ پایان
|
||||
/// </summary>
|
||||
public DateTime EndDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// سال
|
||||
/// </summary>
|
||||
public int Year { get; set; }
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// ویرایش دستمزد
|
||||
/// </summary>
|
||||
public class EditClassificationGroupSalaryAndRialCoefficient : CreateClassificationGroupSalaryAndRialCoefficient
|
||||
{
|
||||
/// <summary>
|
||||
/// آی دی
|
||||
/// </summary>
|
||||
public long Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ شروع
|
||||
/// شمسی
|
||||
/// </summary>
|
||||
[DataType(DataType.Text)]
|
||||
public string StartDateFa { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ پایان
|
||||
/// شمسی
|
||||
/// </summary>
|
||||
[DataType(DataType.Text)]
|
||||
public string EndDateFa { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// دستمزد گروه
|
||||
/// </summary>
|
||||
public string GroupSalaryStr { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// لیست دستمزدها و ضرایب ریالی
|
||||
/// </summary>
|
||||
public class SalaryAndRialCoefficientModel
|
||||
{
|
||||
/// <summary>
|
||||
/// تاریخ شروع
|
||||
/// میلادی
|
||||
/// </summary>
|
||||
public DateTime StartDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ شروع
|
||||
/// شمسی
|
||||
/// </summary>
|
||||
[DataType(DataType.Text)]
|
||||
public string StartDateFa { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ پایان
|
||||
/// میلادی
|
||||
/// </summary>
|
||||
public DateTime EndDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ پایان
|
||||
/// شمسی
|
||||
/// </summary>
|
||||
[DataType(DataType.Text)]
|
||||
public string EndDateFa { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// سال
|
||||
/// </summary>
|
||||
public int Year { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ضریب ریالی
|
||||
/// string
|
||||
/// </summary>
|
||||
public string RialCoefficientStr { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ضریب ریالی
|
||||
/// double
|
||||
/// </summary>
|
||||
public double RialCoefficient { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی طرح
|
||||
/// </summary>
|
||||
public long SchemeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نوع ضریب
|
||||
/// </summary>
|
||||
public TypeOfCoefficient TypeOfCoefficient { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی ضریب ریالی
|
||||
/// </summary>
|
||||
public long CoefficientId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// لیست دستمزدها و ضرایب بر اساس سال
|
||||
/// </summary>
|
||||
public List<EditClassificationGroupSalaryAndRialCoefficient> SalariesAndCoefficientList { get; set; }
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// تب دستمزد ها و ضرایب ریالی
|
||||
/// </summary>
|
||||
public class SalaryAndRialCoefficientTab
|
||||
{
|
||||
/// <summary>
|
||||
/// آی دی طرح
|
||||
/// </summary>
|
||||
public long SchemeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا دستمزدی قبلا ایجاد شده است؟
|
||||
/// </summary>
|
||||
public bool HasAnySalaries { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// لیست دستمزدها و ضرایب
|
||||
/// </summary>
|
||||
public List<SalaryAndRialCoefficientTabDataList> SalaryAndRialCoefficientTabDataList { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// لیست دستمزدها
|
||||
/// </summary>
|
||||
public class SalaryAndRialCoefficientTabDataList
|
||||
{
|
||||
/// <summary>
|
||||
/// تاریخ شروع
|
||||
/// شمسی
|
||||
/// </summary>
|
||||
[DataType(DataType.Text)]
|
||||
public string StartDateFa { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ پایان
|
||||
/// شمسی
|
||||
/// </summary>
|
||||
[DataType(DataType.Text)]
|
||||
public string EndDateFa { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// سال
|
||||
/// </summary>
|
||||
public int Year { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ضریب ریالی
|
||||
/// string
|
||||
/// </summary>
|
||||
public string RialCoefficientStr { get; set; }
|
||||
}
|
||||
|
||||
@@ -1,59 +0,0 @@
|
||||
using _0_Framework.Application.Enums;
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.ClassificationScheme;
|
||||
|
||||
/// <summary>
|
||||
/// ایجاد طرح
|
||||
/// </summary>
|
||||
public class CreateClassificationScheme
|
||||
{
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ شمول طرح
|
||||
/// شمسی
|
||||
/// </summary>
|
||||
public string IncludingDateFa { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ اجرای طرح
|
||||
/// میلادی
|
||||
/// </summary>
|
||||
public DateTime ExecutionDateGr { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ اجرای طرح
|
||||
/// شمسی
|
||||
/// </summary>
|
||||
public string ExecutionDateFa { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ پایان طرح
|
||||
/// </summary>
|
||||
public DateTime? EndSchemeDateGr { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// نام کامل طراح
|
||||
/// </summary>
|
||||
public string DesignerFullName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره همراه طراح
|
||||
/// </summary>
|
||||
[RegularExpression("^[0-9]*$", ErrorMessage = "لطفا فقط عدد وارد کنید")]
|
||||
public string DesignerPhone { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی کارگاه
|
||||
/// </summary>
|
||||
public long WorkshopId { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// نوع ضریب
|
||||
/// </summary>
|
||||
public TypeOfCoefficient TypeOfCoefficient { get; set; }
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
using _0_Framework.Application.Enums;
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.ClassificationScheme;
|
||||
|
||||
public class CreateClassificationSchemeDto
|
||||
{
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ شمول طرح
|
||||
/// شمسی
|
||||
/// </summary>
|
||||
public string IncludingDateFa { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ اجرای طرح
|
||||
/// شمسی
|
||||
/// </summary>
|
||||
public string ExecutionDateFa { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// نام کامل طراح
|
||||
/// </summary>
|
||||
public string DesignerFullName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره همراه طراح
|
||||
/// </summary>
|
||||
[RegularExpression("^[0-9]*$", ErrorMessage = "لطفا فقط عدد وارد کنید")]
|
||||
public string DesignerPhone { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی کارگاه
|
||||
/// </summary>
|
||||
public long WorkshopId { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// نوع ضریب
|
||||
/// </summary>
|
||||
public TypeOfCoefficient TypeOfCoefficient { get; set; }
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
namespace CompanyManagment.App.Contracts.ClassificationScheme;
|
||||
|
||||
/// <summary>
|
||||
/// ویرایش طرح
|
||||
/// </summary>
|
||||
public class EditClassificationScheme : CreateClassificationScheme
|
||||
{
|
||||
/// <summary>
|
||||
/// آی دی طرح
|
||||
/// </summary>
|
||||
public long Id { get; set; }
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
using _0_Framework.Application.Enums;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.ClassificationScheme;
|
||||
|
||||
public class EditClassificationSchemeDto
|
||||
{
|
||||
/// <summary>
|
||||
/// آی دی طرح
|
||||
/// </summary>
|
||||
public long Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ شمول طرح
|
||||
/// شمسی
|
||||
/// </summary>
|
||||
public string IncludingDateFa { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ اجرای طرح
|
||||
/// شمسی
|
||||
/// </summary>
|
||||
public string ExecutionDateFa { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// نام کامل طراح
|
||||
/// </summary>
|
||||
public string DesignerFullName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره همراه طراح
|
||||
/// </summary>
|
||||
[RegularExpression("^[0-9]*$", ErrorMessage = "لطفا فقط عدد وارد کنید")]
|
||||
public string DesignerPhone { get; set; }
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// نوع ضریب
|
||||
/// </summary>
|
||||
public TypeOfCoefficient TypeOfCoefficient { get; set; }
|
||||
}
|
||||
@@ -1,109 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.ClassificationScheme;
|
||||
/// <summary>
|
||||
/// ویرایش گروه پرسنل
|
||||
/// </summary>
|
||||
public class EditEmployeeGroup
|
||||
{
|
||||
/// <summary>
|
||||
/// آیا گروه بندی پرسنل چند گانه است
|
||||
/// </summary>
|
||||
public bool HasMultipleGroup { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام کامل پرسنل
|
||||
/// </summary>
|
||||
public string EmployeeFullName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی پرسنل
|
||||
/// </summary>
|
||||
public long EmployeeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی طرح
|
||||
/// </summary>
|
||||
public long SchemeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// لیست گروه های پرسنل
|
||||
/// </summary>
|
||||
public List<EditEmployeeGroupList> EditEmployeeGroupLists { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// لیست گروه های طرح
|
||||
/// </summary>
|
||||
public List<ClassificationGroupList> ClassificationGroupList { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// لیست گروه های پرسنل
|
||||
/// </summary>
|
||||
public class EditEmployeeGroupList
|
||||
{
|
||||
/// <summary>
|
||||
/// آی دی
|
||||
/// </summary>
|
||||
public long Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی کارگاه
|
||||
/// </summary>
|
||||
public long WorkshopId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی پرسنل
|
||||
/// </summary>
|
||||
public long EmployeeId { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// آی دی گروه
|
||||
/// </summary>
|
||||
public long ClassificationGroupId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی شغل
|
||||
/// </summary>
|
||||
public long ClassificationGroupJobId { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ شروع استفاده از گروه
|
||||
/// </summary>
|
||||
public DateTime? StartGroupDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ پایان استفاده از گروه
|
||||
/// </summary>
|
||||
public DateTime? EndGroupDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ شروع استفاده از گروه
|
||||
/// </summary>
|
||||
public string StartGroupDateFa { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ پایان استفاده از گروه
|
||||
/// </summary>
|
||||
public string EndGroupDateFa { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا حذف شده است
|
||||
/// </summary>
|
||||
public bool IsRemoved { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی طرح
|
||||
/// </summary>
|
||||
public long SchemeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره گروه
|
||||
/// </summary>
|
||||
public string GroupNo { get; set; }
|
||||
|
||||
|
||||
}
|
||||
@@ -1,110 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.ClassificationScheme;
|
||||
|
||||
/// <summary>
|
||||
/// جستجوی پرسنل
|
||||
/// تب افزودن پرسنل طبقه بندی مشاغل
|
||||
/// </summary>
|
||||
public class EmployeeInfoTab
|
||||
{
|
||||
/// <summary>
|
||||
/// آی دی کارگاه
|
||||
/// </summary>
|
||||
public long WorkshopId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی پرسنل
|
||||
/// </summary>
|
||||
public long EmployeeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام کامل پرسنل
|
||||
/// </summary>
|
||||
public string FullName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی طرح
|
||||
/// </summary>
|
||||
public long SchemeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// لیست پرسنل
|
||||
/// </summary>
|
||||
public List<EmployeeInfoList> EmployeeInfoList { get; set; }
|
||||
|
||||
public List<string> YearlyList { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// لیست پرسنل
|
||||
/// تب افزودن پرسنل طبقه بندی مشاغل
|
||||
/// </summary>
|
||||
public class EmployeeInfoList
|
||||
{
|
||||
/// <summary>
|
||||
/// آی دی پرسنل
|
||||
/// </summary>
|
||||
public long EmployeeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام کامل پرسنل
|
||||
/// </summary>
|
||||
public string FullName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره گروه یا گره هایی که پرسنل در آن اضافه شده
|
||||
/// </summary>
|
||||
public string GroupNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا پرسنل هیچ گروهی دارد؟
|
||||
/// </summary>
|
||||
public bool HasGroup { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// آخرین تاریخ شروع بکار قراداد
|
||||
/// </summary>
|
||||
public string LastStartContractWork { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آخرین تاریخ ترک کار قراداد
|
||||
/// </summary>
|
||||
public string LastLeftContractWork { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آخرین تاریخ شروع بکار بیمه
|
||||
/// </summary>
|
||||
public string LastStartInsuranceWork { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آخرین تاریخ ترک کار بیمه
|
||||
/// </summary>
|
||||
public string LastLeftInsuranceWork { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا پرسنل قرداد است
|
||||
/// </summary>
|
||||
public bool ContractPerson { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا پرسنل بیمه است
|
||||
/// </summary>
|
||||
public bool InsurancePerson { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا ترک کار قرارداد دارد
|
||||
/// </summary>
|
||||
public bool ContractLeft { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا ترک کار بیمه دارد
|
||||
/// </summary>
|
||||
public bool InsuranceLeft { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا کلا ترک کار کرده است
|
||||
/// </summary>
|
||||
public bool Black { get; set; }
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.ClassificationScheme;
|
||||
|
||||
public class GetGroupAndJobSchemeListDto
|
||||
{
|
||||
/// <summary>
|
||||
/// آی دی گروه
|
||||
/// </summary>
|
||||
public long GroupId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره گروه نوع عددی
|
||||
/// </summary>
|
||||
public int GroupNoInt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا شغلی به گروه اضافه شده
|
||||
/// </summary>
|
||||
public bool HasAnyJob { get; set; }
|
||||
}
|
||||
|
||||
@@ -1,244 +0,0 @@
|
||||
using _0_Framework.Application;
|
||||
using CompanyManagment.App.Contracts.TemporaryClientRegistration;
|
||||
using CompanyManagment.App.Contracts.YearlySalary;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.ClassificationScheme;
|
||||
|
||||
/// <summary>
|
||||
/// اپلیکیش طرح طبقه بندی مشاغل
|
||||
/// </summary>
|
||||
public interface IClassificationSchemeApplication
|
||||
{
|
||||
/// <summary>
|
||||
/// پارشیال صفحه ایجاد طرح
|
||||
/// </summary>
|
||||
/// <param name="worskhopId"></param>
|
||||
/// <returns></returns>
|
||||
Task<ClassificationSchemeListDto> GetClassificationSchemeList(long workshopId);
|
||||
|
||||
/// <summary>
|
||||
/// ایجاد طرح
|
||||
/// </summary>
|
||||
/// <param name="command"></param>
|
||||
/// <returns></returns>
|
||||
Task<OperationResult> CreateClassificationScheme(CreateClassificationSchemeDto command);
|
||||
|
||||
/// <summary>
|
||||
/// دریافت اطلاعات طرح برای مودال ویرایش
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
Task<EditClassificationSchemeDto> GetClassificationScheme(long id);
|
||||
|
||||
/// <summary>
|
||||
/// دریافت اطلاعات طر برای محاسبات
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
Task<EditClassificationScheme> GetClassificationSchemeToCompute(long id);
|
||||
|
||||
/// <summary>
|
||||
/// ویرایش طرح
|
||||
/// </summary>
|
||||
/// <param name="command"></param>
|
||||
/// <returns></returns>
|
||||
Task<OperationResult> EditClassificationScheme(EditClassificationSchemeDto command);
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// دریافت گروه ها و مشاغلشان برای تب تعیین مشاغل
|
||||
/// </summary>
|
||||
/// <param name="schemeId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<ClassificationGroupAndJobModel>> GetGroupAndJobs(long schemeId);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// دریافت مشاغل گروه توسط آی دی گروه
|
||||
/// </summary>
|
||||
/// <param name="groupId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<EditClassificationGroupJob>> GetGroupJobs(long groupId);
|
||||
|
||||
/// <summary>
|
||||
/// چک میکند که آی پرسنلی وجود دارد که این شغل به او نسبت داده شده
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="groupId"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> CheckEmployeeHasThisJob(long id, long groupId);
|
||||
|
||||
/// <summary>
|
||||
/// ایجاد مشاغل گروه
|
||||
/// </summary>
|
||||
/// <param name="createClassificationGroupJob"></param>
|
||||
/// <param name="deleteJobList"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> CreateGroupJobs(List<CreateClassificationGroupJob> createClassificationGroupJob, List<long> deleteJobList);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// چک میکند که آیا برای این طرح تابحال دستمزدی ایجاد شده یا نه
|
||||
/// </summary>
|
||||
/// <param name="schemeId"></param>
|
||||
/// <returns></returns>
|
||||
Task<SalaryAndRialCoefficientTab> GetSalariesTabData(long schemeId);
|
||||
|
||||
/// <summary>
|
||||
/// در یافت اطلاعات گروه برای لود مودال ایجاد دستمزد های
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
Task<SalaryAndRialCoefficientModel> GetGroupToCreateSalariesModal(long schemeId);
|
||||
|
||||
/// <summary>
|
||||
/// ایجاد دستمزدها و ضرایب ریالی هر گروه در هر سال
|
||||
/// </summary>
|
||||
/// <param name="command"></param>
|
||||
/// <returns></returns>
|
||||
Task<OperationResult> CreateGroupSalaryAndCoefficient(SalaryAndRialCoefficientModel command);
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// دریافت دستمزدها و ضریب ریالی برای مودال ویرایش
|
||||
/// </summary>
|
||||
/// <param name="schemeId"></param>
|
||||
/// <param name="startDate"></param>
|
||||
/// <param name="endDate"></param>
|
||||
/// <returns></returns>
|
||||
Task<SalaryAndRialCoefficientModel> GetEditSalariesData(long schemeId, string startDate, string endDate);
|
||||
|
||||
/// <summary>
|
||||
/// ثبت ویرایش دستمزدها و ضریب
|
||||
/// </summary>
|
||||
/// <param name="command"></param>
|
||||
/// <returns></returns>
|
||||
Task<OperationResult> EditGroupSalaryAndCoefficient(SalaryAndRialCoefficientModel command);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// دریافت لیست پرسنل برای تب افزودن پرسنل
|
||||
/// </summary>
|
||||
/// <param name="command"></param>
|
||||
/// <returns></returns>
|
||||
Task<EmployeeInfoTab> GetEmployeeDataTab(EmployeeInfoTab command);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// دریافت گروه های طرح
|
||||
/// </summary>
|
||||
/// <param name="schemeId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<ClassificationGroupList>> GetGroups(long schemeId);
|
||||
|
||||
/// <summary>
|
||||
/// ذخیره پرسنل افزوده شده در گروه
|
||||
/// </summary>
|
||||
/// <param name="command"></param>
|
||||
/// <returns></returns>
|
||||
Task<OperationResult> AddEmployeeToGroup(AddEmployeeToGroup command);
|
||||
|
||||
/// <summary>
|
||||
/// انتقال پرسنل به گروه جدید
|
||||
/// </summary>
|
||||
/// <param name="command"></param>
|
||||
/// <returns></returns>
|
||||
Task<OperationResult> TransferEmployeeToNewGroup(List<EditEmployeeGroupList> command);
|
||||
|
||||
/// <summary>
|
||||
/// ذخیره ویرایش گروه پرسنل
|
||||
/// </summary>
|
||||
/// <param name="command"></param>
|
||||
/// <returns></returns>
|
||||
Task<OperationResult> EditGroupMember(AddEmployeeToGroup command);
|
||||
|
||||
/// <summary>
|
||||
/// ذخیره ویرایش گروه چندگانه پرسنل
|
||||
/// </summary>
|
||||
/// <param name="command"></param>
|
||||
/// <returns></returns>
|
||||
Task<OperationResult> EditMultipleGroupMember(List<EditEmployeeGroupList> command);
|
||||
|
||||
/// <summary>
|
||||
/// دریافت اطلاعات عضویتی پرسنل در گروه
|
||||
/// </summary>
|
||||
/// <param name="employeeId"></param>
|
||||
/// <returns></returns>
|
||||
Task<EditEmployeeGroup> GetEmployeeMemberizeData(long employeeId);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// متد محاسبه پایه سنوات برا افراد تک گروه
|
||||
/// </summary>
|
||||
/// <param name="schemeStart">تاریخ شروع طرح</param>
|
||||
/// <param name="schemeEnd">تاریخ پاین طرح، اجباری نیست</param>
|
||||
/// <param name="contractStart">تاریخ شروع قراداد</param>
|
||||
/// <param name="contractEnd">تاریخ پایان قراداد</param>
|
||||
/// <param name="groupNo">شماره گروه</param>
|
||||
/// <param name="employeeId">آی دی پرسنل</param>
|
||||
/// <param name="workshopId">آی دی کارگاه</param>
|
||||
/// <returns></returns>
|
||||
Task<BaseYearDataViewModel> BaseYearComputeOneGroup(DateTime schemeStart, DateTime? schemeEnd,
|
||||
DateTime contractStart, DateTime contractEnd, string groupNo, long employeeId, long workshopId);
|
||||
|
||||
#region ForApi
|
||||
|
||||
/// <summary>
|
||||
/// چک کردن امکان حذف طرح
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
Task<OperationResult<CheckStatusToDeleteScheme>> CheckToDeleteScheme(long id);
|
||||
|
||||
/// <summary>
|
||||
/// حذف طرح
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
Task<OperationResult> DeleteScheme(long id);
|
||||
|
||||
/// <summary>
|
||||
/// تب گروه ها و مشاغل
|
||||
/// لیست گروه ها
|
||||
/// </summary>
|
||||
/// <param name="schemeId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<GetGroupAndJobSchemeListDto>> GetGroupList(long schemeId);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// دریافت لیست مشاغل برای مودال ایجاد و ویرایش
|
||||
/// </summary>
|
||||
/// <param name="groupId"></param>
|
||||
/// <returns></returns>
|
||||
Task<AddOrEditJobInGroupDto> GetCreateOrEditJobsData(long groupId);
|
||||
|
||||
/// <summary>
|
||||
/// چک میکند که آی پرسنلی وجود دارد که این شغل به او نسبت داده شده
|
||||
/// </summary>
|
||||
/// <param name="jobId"></param>
|
||||
/// <param name="groupId"></param>
|
||||
/// <returns></returns>
|
||||
Task<OperationResult> CheckIfEmployeeHasThisJob(long jobId, long groupId);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ذخیر ایجاد یا ویرایش مشاغل در گروه
|
||||
/// </summary>
|
||||
/// <param name="command"></param>
|
||||
/// <returns></returns>
|
||||
Task<OperationResult> SaveJobsToGroup(AddOrEditJobInGroupDto command);
|
||||
|
||||
/// <summary>
|
||||
/// لیست دستمزدها بر اساس تاریخ و سال برای تب دستمزدها
|
||||
/// </summary>
|
||||
/// <param name="schemeId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<SalaryAndRialCoefficientTabDataList>> GetSalaryList(long schemeId);
|
||||
#endregion
|
||||
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.ClassificationScheme;
|
||||
|
||||
public class SchemeListDto
|
||||
{
|
||||
/// <summary>
|
||||
/// آی دی طرح
|
||||
/// </summary>
|
||||
public long Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ شمول طرح
|
||||
/// شمسی
|
||||
/// </summary>
|
||||
public string IncludingDateFa { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ اجرای طرح
|
||||
/// شمسی
|
||||
/// </summary>
|
||||
public string ExecutionDateFa { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// نام کامل طراح
|
||||
/// </summary>
|
||||
public string DesignerFullName { get; set; }
|
||||
|
||||
|
||||
}
|
||||
@@ -19,6 +19,4 @@ public class ContractSeparationViewModel
|
||||
public string ConsumableItems { get; set; }
|
||||
public bool checker { get; set; }
|
||||
public bool HasLeft { get; set; }
|
||||
|
||||
public long EmployeeId { get; set; }
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.Employee.DTO;
|
||||
|
||||
/// <summary>
|
||||
/// ایجاد ترک کار از کلاینت
|
||||
/// api
|
||||
/// </summary>
|
||||
public class CreateLeftWorkTempDtoClient
|
||||
{
|
||||
/// <summary>
|
||||
/// آی دی پرسنل
|
||||
/// </summary>
|
||||
public long EmployeeId { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ ترک کار
|
||||
/// </summary>
|
||||
public string LeftWorkTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ آخرین روز کاری
|
||||
/// </summary>
|
||||
public string LastDayStanding { get; set; }
|
||||
}
|
||||
@@ -1,92 +0,0 @@
|
||||
using System.Diagnostics.Contracts;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.Employee.DTO;
|
||||
|
||||
/// <summary>
|
||||
/// لیست پرسنل کلاینت
|
||||
/// api
|
||||
/// </summary>
|
||||
public class EmployeeListDto
|
||||
{
|
||||
/// <summary>
|
||||
/// آی دی پرسنل
|
||||
/// </summary>
|
||||
public long Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام کامل پرسنل
|
||||
/// </summary>
|
||||
public string EmployeeFullName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// کد پرسنلی
|
||||
/// </summary>
|
||||
public int PersonnelCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// وضعیت تاهل
|
||||
/// </summary>
|
||||
public string MaritalStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
///کد ملی
|
||||
/// </summary>
|
||||
public string NationalCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره شناسنامه
|
||||
/// </summary>
|
||||
public string IdNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ تولد
|
||||
/// </summary>
|
||||
public string DateOfBirth { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام پدر
|
||||
/// </summary>
|
||||
public string FatherName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تعداد فرزندان
|
||||
/// </summary>
|
||||
public string NumberOfChildren { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آخرین تاریخ شروع بکار قرارداد
|
||||
/// </summary>
|
||||
public string LatestContractStartDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ ترک کار قرارداد
|
||||
/// </summary>
|
||||
public string ContractLeftDate { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// آخرین تاریخ شروع بکار بیمه
|
||||
/// </summary>
|
||||
public string LatestInsuranceStartDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ ترک کار بیمه
|
||||
/// </summary>
|
||||
public string InsuranceLeftDate { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// دارای قرارداد است؟
|
||||
/// </summary>
|
||||
public bool HasContract { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// دارای بیمه است؟
|
||||
/// </summary>
|
||||
public bool HasInsurance { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// وضعیت پرسنل در کارگاه
|
||||
/// </summary>
|
||||
public EmployeeStatusInWorkshop EmployeeStatusInWorkshop { get; set; }
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
namespace CompanyManagment.App.Contracts.Employee.DTO;
|
||||
|
||||
/// <summary>
|
||||
/// سرچ مدل پرسنل
|
||||
/// api
|
||||
/// </summary>
|
||||
public class EmployeeSearchModelDto
|
||||
{
|
||||
/// <summary>
|
||||
/// نام پرسنل
|
||||
/// </summary>
|
||||
public string EmployeeFullName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// کد ملی
|
||||
/// </summary>
|
||||
public string NationalCode { get; set; }
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
namespace CompanyManagment.App.Contracts.Employee.DTO;
|
||||
|
||||
/// <summary>
|
||||
/// وضعیت پرسنل در کارگاه
|
||||
/// api
|
||||
/// </summary>
|
||||
public enum EmployeeStatusInWorkshop
|
||||
{
|
||||
/// <summary>
|
||||
/// ایجاد شده توسط کارفرما
|
||||
/// </summary>
|
||||
CreatedByClient,
|
||||
|
||||
/// <summary>
|
||||
/// ترک کار موقت
|
||||
/// </summary>
|
||||
LefWorkTemp,
|
||||
|
||||
/// <summary>
|
||||
/// در حال کار در کارگاه
|
||||
/// </summary>
|
||||
Working,
|
||||
|
||||
/// <summary>
|
||||
/// قطع ارتباط و ترک کار کامب
|
||||
/// </summary>
|
||||
HasLeft,
|
||||
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
namespace CompanyManagment.App.Contracts.Employee.DTO;
|
||||
|
||||
public class GetLeftWorkTempDayOfWeekDtoClient
|
||||
{
|
||||
/// <summary>
|
||||
/// تاریخ ترک کار
|
||||
/// </summary>
|
||||
public string LeftWorkTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آخرین روز کاری
|
||||
/// </summary>
|
||||
public string LastDayStanding { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// روز هفته ترک کار
|
||||
/// </summary>
|
||||
public string LeftWorkTimeDayOfWeek { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// روز هفته اخرین روز کاری
|
||||
/// </summary>
|
||||
public string LastDayStandingDayOfWeek { get; set; }
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
namespace CompanyManagment.App.Contracts.Employee.DTO;
|
||||
|
||||
/// <summary>
|
||||
/// پرینت گروهی تفکیکی پرسنل
|
||||
/// </summary>
|
||||
public class PrintAllDetailsPersonnelInfoDtoClient
|
||||
{
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// نام کامل پرسنل
|
||||
/// </summary>
|
||||
public string EmployeeFullName { get; set; }
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
///کد ملی
|
||||
/// </summary>
|
||||
public string NationalCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره شناسنامه
|
||||
/// </summary>
|
||||
public string IdNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ تولد
|
||||
/// </summary>
|
||||
public string DateOfBirth { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام پدر
|
||||
/// </summary>
|
||||
public string FatherName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تعداد فرزندان
|
||||
/// </summary>
|
||||
public string NumberOfChildren { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// استان
|
||||
/// </summary>
|
||||
public string State { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شهر
|
||||
/// </summary>
|
||||
public string City { get; set; }
|
||||
|
||||
|
||||
public string Address { get; set; }
|
||||
}
|
||||
@@ -1,96 +0,0 @@
|
||||
namespace CompanyManagment.App.Contracts.Employee.DTO;
|
||||
|
||||
/// <summary>
|
||||
/// پرینت تجمیعی پرسنل
|
||||
/// </summary>
|
||||
public class PrintAllEmployeesInfoDtoClient
|
||||
{
|
||||
public PrintAllEmployeesInfoDtoClient(EmployeeListDto source)
|
||||
{
|
||||
Id = source.Id;
|
||||
EmployeeFullName = source.EmployeeFullName;
|
||||
PersonnelCode = source.PersonnelCode;
|
||||
MaritalStatus = source.MaritalStatus;
|
||||
NationalCode = source.NationalCode;
|
||||
IdNumber = source.IdNumber;
|
||||
DateOfBirth = source.DateOfBirth;
|
||||
FatherName = source.FatherName;
|
||||
NumberOfChildren = source.NumberOfChildren;
|
||||
LatestContractStartDate = source.LatestContractStartDate;
|
||||
ContractLeftDate = source.ContractLeftDate;
|
||||
LatestInsuranceStartDate = source.LatestInsuranceStartDate;
|
||||
InsuranceLeftDate = source.InsuranceLeftDate;
|
||||
Black = source.EmployeeStatusInWorkshop == EmployeeStatusInWorkshop.HasLeft;
|
||||
}
|
||||
/// <summary>
|
||||
/// آی دی پرسنل
|
||||
/// </summary>
|
||||
public long Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام کامل پرسنل
|
||||
/// </summary>
|
||||
public string EmployeeFullName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// کد پرسنلی
|
||||
/// </summary>
|
||||
public int PersonnelCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// وضعیت تاهل
|
||||
/// </summary>
|
||||
public string MaritalStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
///کد ملی
|
||||
/// </summary>
|
||||
public string NationalCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره شناسنامه
|
||||
/// </summary>
|
||||
public string IdNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ تولد
|
||||
/// </summary>
|
||||
public string DateOfBirth { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام پدر
|
||||
/// </summary>
|
||||
public string FatherName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تعداد فرزندان
|
||||
/// </summary>
|
||||
public string NumberOfChildren { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آخرین تاریخ شروع بکار قرارداد
|
||||
/// </summary>
|
||||
public string LatestContractStartDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ ترک کار قرارداد
|
||||
/// </summary>
|
||||
public string ContractLeftDate { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// آخرین تاریخ شروع بکار بیمه
|
||||
/// </summary>
|
||||
public string LatestInsuranceStartDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ ترک کار بیمه
|
||||
/// </summary>
|
||||
public string InsuranceLeftDate { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// وضعیت پرسنل در کارگاه
|
||||
/// </summary>
|
||||
public bool Black { get; set; }
|
||||
}
|
||||
@@ -1,10 +1,8 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using _0_Framework.Application;
|
||||
using CompanyManagment.App.Contracts.Employee.DTO;
|
||||
using CompanyManagment.App.Contracts.EmployeeInsuranceRecord;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.Employee;
|
||||
|
||||
@@ -75,12 +73,10 @@ public interface IEmployeeApplication
|
||||
long workshopId);
|
||||
Task<OperationResult> EditEmployeeInEmployeeDocumentWorkFlow(EditEmployeeInEmployeeDocument command);
|
||||
|
||||
[Obsolete("این متد منسوخ شده است و از متد WorkedEmployeesInWorkshopSelectList استفاده کنید")]
|
||||
Task<List<EmployeeSelectListViewModel>> WorkedEmployeesInWorkshopSelectList(long workshopId);
|
||||
|
||||
Task<OperationResult<EmployeeDataFromApiViewModel>> GetEmployeeDataFromApi(string nationalCode, string birthDate);
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region Api
|
||||
@@ -107,40 +103,7 @@ public interface IEmployeeApplication
|
||||
/// <returns></returns>
|
||||
Task<List<GetClientEmployeeListViewModel>> GetClientEmployeeList(GetClientEmployeeListSearchModel searchModel, long workshopId);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// دریافت لیست پرسنل کلاینت
|
||||
/// api
|
||||
/// </summary>
|
||||
/// <param name="searchModel"></param>
|
||||
/// <param name="workshopId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<EmployeeListDto>> ListOfAllEmployeesClient(EmployeeSearchModelDto searchModel, long workshopId);
|
||||
|
||||
/// <summary>
|
||||
/// پرینت تجمیعی پرسنل کلاینت
|
||||
/// api
|
||||
/// </summary>
|
||||
/// <param name="workshopId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<PrintAllEmployeesInfoDtoClient>> PrintAllEmployeesInfoClient(long workshopId);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// پرینت گروهی تفکیکی پرسنل
|
||||
/// </summary>
|
||||
/// <param name="workshopId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<PrintAllDetailsPersonnelInfoDtoClient>> PrintAllDetailsPersonnelInfoClient(long workshopId);
|
||||
|
||||
/// <summary>
|
||||
/// سلکت لیست پرسنل های کارگاه کلاینت
|
||||
/// </summary>
|
||||
/// <param name="workshopId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<EmployeeSelectListViewModel>> GetWorkingEmployeesSelectList(long workshopId);
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
namespace CompanyManagment.App.Contracts.EmployeeBankInformation;
|
||||
|
||||
public class GetEmployeeBankInfoDetailsBankItemDto
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public string CardNumber { get; set; }
|
||||
public string ShebaNumber { get; set; }
|
||||
public string BankAccountNumber { get; set; }
|
||||
public string BankName { get; set; }
|
||||
public string BankLogoPath { get; set; }
|
||||
public bool IsDefault { get; set; }
|
||||
public long BankId { get; set; }
|
||||
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.EmployeeBankInformation;
|
||||
|
||||
public class GetEmployeeBankInfoDetailsDto
|
||||
{
|
||||
public long EmployeeId { get; set; }
|
||||
public string EmployeeFullName { get; set; }
|
||||
public List<GetEmployeeBankInfoDetailsBankItemDto> BankItems { get; set; }
|
||||
}
|
||||
@@ -1,7 +1,5 @@
|
||||
using System;
|
||||
using _0_Framework.Application;
|
||||
using _0_Framework.Application;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.EmployeeBankInformation
|
||||
{
|
||||
@@ -10,7 +8,6 @@ namespace CompanyManagment.App.Contracts.EmployeeBankInformation
|
||||
OperationResult Create(CreateEmployeeInformation command);
|
||||
OperationResult GroupCreate(long workshopId, List<CreateEmployeeInformation> command);
|
||||
OperationResult Edit(EditEmployeeInformation command);
|
||||
[Obsolete("از متد Async استفاده شود")]
|
||||
List<GroupedEmployeeBankInformationViewModel> Search(long workshopId, EmployeeBankInformationSearchModel searchParams);
|
||||
List<EmployeeBankInformationViewModelForExcel> SearchForExcel(long workshopId,
|
||||
EmployeeBankInformationSearchModel searchParams);
|
||||
@@ -20,22 +17,5 @@ namespace CompanyManagment.App.Contracts.EmployeeBankInformation
|
||||
OperationResult RemoveByEmployeeId(long workshopId, long employeeId);
|
||||
List<GroupedEmployeeBankInformationViewModel> GetAllByWorkshopId(long workshopId);
|
||||
OperationResult SetDefault(long workshopId, long bankInfoId);
|
||||
|
||||
/// <summary>
|
||||
/// گرفتن لیست اطلاعات بانکی
|
||||
/// </summary>
|
||||
/// <param name="workshopId"></param>
|
||||
/// <param name="searchParams"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<GroupedEmployeeBankInformationViewModel>> SearchAsync
|
||||
(long workshopId, EmployeeBankInformationSearchModel searchParams);
|
||||
|
||||
/// <summary>
|
||||
/// جزئیات اطلاعات بانکی بر اساس پرسنل
|
||||
/// </summary>
|
||||
/// <param name="workshopId"></param>
|
||||
/// <param name="employeeId"></param>
|
||||
/// <returns></returns>
|
||||
Task<GetEmployeeBankInfoDetailsDto> GetDetailsByEmployeeIdAsync(long workshopId, long employeeId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.SignalR;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.Hubs;
|
||||
|
||||
public class CheckoutHub : Hub
|
||||
{
|
||||
|
||||
public async Task send(long id)
|
||||
{
|
||||
await Groups.AddToGroupAsync(Context.ConnectionId, GetGroupName(id));
|
||||
}
|
||||
|
||||
public static string GetGroupName(long id)
|
||||
{
|
||||
return $"group-Checkout-{id}";
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using _0_Framework.Application;
|
||||
using Microsoft.AspNetCore.SignalR;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.Hubs;
|
||||
@@ -8,20 +7,6 @@ namespace CompanyManagment.App.Contracts.Hubs;
|
||||
|
||||
public class SendSmsHub : Hub
|
||||
{
|
||||
private readonly IAuthHelper _authHelper;
|
||||
|
||||
public SendSmsHub(IAuthHelper authHelper)
|
||||
{
|
||||
_authHelper = authHelper;
|
||||
}
|
||||
|
||||
public override async Task OnConnectedAsync()
|
||||
{
|
||||
var accountId = _authHelper.CurrentAccountId();
|
||||
var connectionId = Context.ConnectionId;
|
||||
await send(accountId);
|
||||
await base.OnConnectedAsync();
|
||||
}
|
||||
|
||||
public async Task send(long id)
|
||||
{
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Security.AccessControl;
|
||||
using CompanyManagment.App.Contracts.Workshop;
|
||||
using Microsoft.AspNetCore.Server.HttpSys;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.InstitutionContract;
|
||||
|
||||
@@ -107,7 +104,6 @@ public class InstitutionContractListWorkshop
|
||||
{
|
||||
public string WorkshopName { get; set; }
|
||||
public int EmployeeCount { get; set; }
|
||||
public string Price { get; set; }
|
||||
public WorkshopServicesViewModel WorkshopServices { get; set; }
|
||||
}
|
||||
|
||||
@@ -115,31 +111,22 @@ public class WorkshopServicesViewModel
|
||||
{
|
||||
public bool Insurance { get; set; }
|
||||
public string InsuranceLabel => "ارسال لیست بیمه";
|
||||
public string InsurancePrice { get; set; }
|
||||
|
||||
public bool InsuranceInPerson { get; set; }
|
||||
public string InsuranceInPersonLabel => "خدمات مستقیم";
|
||||
public string InsuranceInPersonPrice { get; set; }
|
||||
|
||||
|
||||
|
||||
public bool Contract { get; set; }
|
||||
public string ContractLabel => "قرارداد و تصفیه حساب";
|
||||
public string ContractPrice { get; set; }
|
||||
|
||||
|
||||
|
||||
public bool ContractInPerson { get; set; }
|
||||
public string ContractInPersonLabel => "خدمات مستقیم";
|
||||
public string ContractInPersonPrice { get; set; }
|
||||
|
||||
|
||||
public bool RollCall { get; set; }
|
||||
public string RollCallLabel => "ساعت حضور و غیاب";
|
||||
public string RollCallPrice { get; set; }
|
||||
|
||||
|
||||
public bool RollCallInPerson { get; set; }
|
||||
public string RollCallInPersonLabel => "خدمات مستقیم";
|
||||
public string RollCallInPersonPrice { get; set; }
|
||||
|
||||
|
||||
public bool CustomizeCheckout { get; set; }
|
||||
public string CustomizeCheckoutLabel => "فیش غیر رسمی";
|
||||
public string CustomizeCheckoutPrice { get; set; }
|
||||
}
|
||||
@@ -13,7 +13,6 @@ public class GetInstitutionVerificationDetailsViewModel
|
||||
public string ContractStart { get; set; }
|
||||
public string ContractEnd { get; set; }
|
||||
public List<GetInstitutionVerificationDetailsWorkshopsViewModel> Workshops { get; set; }
|
||||
public string OneMonthPrice { get; set; }
|
||||
public string TotalPrice { get; set; }
|
||||
public string TaxPrice { get; set; }
|
||||
public string PaymentPrice { get; set; }
|
||||
|
||||
@@ -4,7 +4,6 @@ public class GetInstitutionVerificationDetailsWorkshopsViewModel
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public int PersonnelCount { get; set; }
|
||||
|
||||
public WorkshopServicesViewModel OldServices { get; set; }
|
||||
public WorkshopServicesViewModel Services { get; set; }
|
||||
public string Price { get; set; }
|
||||
}
|
||||
@@ -283,7 +283,7 @@ public interface IInstitutionContractApplication
|
||||
#endregion
|
||||
|
||||
Task<OperationResult> ResendVerifyLink(long institutionContractId);
|
||||
Task AmendmentComplete(InstitutionContractAmendmentCompleteRequest request);
|
||||
|
||||
/// <summary>
|
||||
/// دیتای پرینت قرارداد مالی
|
||||
/// </summary>
|
||||
@@ -291,17 +291,14 @@ public interface IInstitutionContractApplication
|
||||
/// <returns></returns>
|
||||
Task<InstitutionContractPrintViewModel> PrintOneAsync(long id);
|
||||
|
||||
Task<OperationResult> SetPendingWorkflow(long entityId,InstitutionContractSigningType signingType);
|
||||
|
||||
Task<GetInstitutionContractWorkshopsDetails> GetContractWorkshopsDetails(long id);
|
||||
|
||||
Task<GetInstitutionAmendmentVerificationDetailsViewModel> GetAmendmentVerificationDetails(Guid id, long amendmentId);
|
||||
Task<OperationResult> SetPendingWorkflow(long entityId, InstitutionContractSigningType signingType);
|
||||
Task<long> GetIdByInstallmentId(long installmentId);
|
||||
|
||||
/// <summary>
|
||||
/// تایید قرارداد مالی به صورت دستی
|
||||
/// </summary>
|
||||
/// <param name="institutionContractId"></param>
|
||||
/// <returns></returns>
|
||||
/// </summary>
|
||||
Task<OperationResult> VerifyInstitutionContractManually(long institutionContractId);
|
||||
|
||||
Task<InstitutionContractCreationPaymentResponse> GetCreationPaymentMethod(InstitutionContractCreationPaymentRequest request);
|
||||
@@ -351,35 +348,4 @@ public class InstitutionContractCreationWorkshopsRequest
|
||||
public LegalType LegalType { get; set; }
|
||||
|
||||
public long RepresentativeId { get; set; }
|
||||
}
|
||||
public class GetInstitutionAmendmentVerificationDetailsViewModel
|
||||
{
|
||||
public InstitutionContratVerificationParty FirstParty { get; set; }
|
||||
public InstitutionContratVerificationParty SecondParty { get; set; }
|
||||
public string ContractNo { get; set; }
|
||||
public string AmendmentCreationDate { get; set; }
|
||||
public string AmendmentStart { get; set; }
|
||||
public string AmendmentEnd { get; set; }
|
||||
public List<GetInstitutionVerificationDetailsWorkshopsViewModel> Workshops { get; set; }
|
||||
public string TotalPrice { get; set; }
|
||||
public string TaxPrice { get; set; }
|
||||
public string PaymentPrice { get; set; }
|
||||
public List<InstitutionContractInstallmentViewModel> Installments { get; set; }
|
||||
public bool IsInstallment { get; set; }
|
||||
|
||||
|
||||
}
|
||||
public class InstitutionContractAmendmentCompleteRequest
|
||||
{
|
||||
public Guid TempId { get; set; }
|
||||
public bool IsInstallment { get; set; }
|
||||
public long LawId { get; set; }
|
||||
|
||||
|
||||
}
|
||||
|
||||
public class GetInstitutionContractWorkshopsDetails
|
||||
{
|
||||
public List<InstitutionContractListWorkshop> Workshops { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,28 +1,11 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.InstitutionContract;
|
||||
|
||||
public class InsitutionContractAmendmentPaymentResponse
|
||||
{
|
||||
public List<InsitutionContractAmendmentPaymentWorkshopResponse> workshops { get; set; }
|
||||
public InstitutionContractPaymentOneTimeViewModel OneTime { get; set; }
|
||||
public InstitutionContractPaymentMonthlyViewModel Monthly { get; set; }
|
||||
public string ContractStart { get; set; }
|
||||
public string ContractEnd { get; set; }
|
||||
public string OneMonthAmount { get; set; }
|
||||
public string TotalAmount { get; set; }
|
||||
}
|
||||
|
||||
public class InsitutionContractAmendmentPaymentWorkshopResponse
|
||||
{
|
||||
public string WorkshopName { get; set; }
|
||||
public WorkshopServicesViewModel OldServices { get; set; }
|
||||
public WorkshopServicesViewModel NewServices { get; set; }
|
||||
|
||||
public bool IsNewWorkshop { get; set; }
|
||||
|
||||
public int PrevPersonnelCount { get; set; }
|
||||
public int NewPersonnelCount { get; set; }
|
||||
|
||||
public double Price { get; set; }
|
||||
}
|
||||
@@ -16,8 +16,6 @@ public class InstitutionContractPrintViewModel
|
||||
public string TaxPrice { get; set; }
|
||||
public string PaymentPrice { get; set; }
|
||||
public string OneMonthPrice { get; set; }
|
||||
public string OneMonthWithoutTax { get; set; }
|
||||
public string OneMonthTax { get; set; }
|
||||
public string VerifyCode { get; set; }
|
||||
public string VerifyDate { get; set; }
|
||||
public string VerifyTime { get; set; }
|
||||
@@ -25,4 +23,6 @@ public class InstitutionContractPrintViewModel
|
||||
public string VerifierPhoneNumber { get; set; }
|
||||
public LawViewModel LawViewModel { get; set; }
|
||||
public string Obligation { get; set; }
|
||||
public string OneMonthWithoutTax { get; set; }
|
||||
public string OneMonthTax { get; set; }
|
||||
}
|
||||
@@ -13,13 +13,6 @@ public interface IJobApplication
|
||||
List<JobViewModel> Search(JobSearchModel searchModel);
|
||||
List<JobViewModel> SearchJobForMain(JobSearchModel searchModel);
|
||||
//Task<List<JobViewModel>> GetJobListByText(string searchtText);
|
||||
|
||||
/// <summary>
|
||||
/// جستجوی مشاغل برای سلکت تو
|
||||
/// </summary>
|
||||
/// <param name="searchtText"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<JobListDto>> JobSearchSelect(string searchtText);
|
||||
List<JobViewModel> GetJobListByText(string searchtText);
|
||||
List<JobViewModel> GetJobListByWorkshopId(long workshopId);
|
||||
List<JobViewModel> GetJobListByTextAndWorkshopId(string textSearch, long workshopId);
|
||||
|
||||
@@ -7,11 +7,4 @@ public class JobViewModel
|
||||
public string JobCode { get; set; }
|
||||
public string SearchResultTitle { get; set; }
|
||||
public string SearchResultCode { get; set; }
|
||||
}
|
||||
|
||||
|
||||
public class JobListDto
|
||||
{
|
||||
public long Id { get; set; }
|
||||
public string JobName { get; set; }
|
||||
}
|
||||
@@ -1,9 +1,8 @@
|
||||
using _0_Framework.Application;
|
||||
using CompanyManagment.App.Contracts.Employee.DTO;
|
||||
using CompanyManagment.App.Contracts.LeftWork;
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using _0_Framework.Application;
|
||||
using CompanyManagment.App.Contracts.LeftWork;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.LeftWorkTemp;
|
||||
|
||||
@@ -37,27 +36,6 @@ public interface ILeftWorkTempApplication
|
||||
|
||||
|
||||
List<LeftWorkTempViewModel> GetLeftWorksByWorkshopId(long workshopId);
|
||||
|
||||
#region ForApi
|
||||
|
||||
/// <summary>
|
||||
/// ایجاد ترک کار از کلاینت
|
||||
/// </summary>
|
||||
/// <param name="command"></param>
|
||||
/// <param name="workshopId"></param>
|
||||
/// <returns></returns>
|
||||
Task<OperationResult> CreateLeftWorkTempClient(CreateLeftWorkTempDtoClient command, long workshopId);
|
||||
|
||||
/// <summary>
|
||||
/// دریافت روز هفته برای ترک کار و اخرین روز کاری
|
||||
/// </summary>
|
||||
/// <param name="leftWorkTime"></param>
|
||||
/// <param name="lastDayStanding"></param>
|
||||
/// <returns></returns>
|
||||
Task<GetLeftWorkTempDayOfWeekDtoClient> GetLeftWorkTempDayOfWeekDtoClient(string leftWorkTime,
|
||||
string lastDayStanding);
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
public class LeftWorkTempViewModel
|
||||
|
||||
@@ -45,42 +45,4 @@ namespace CompanyManagment.App.Contracts.RollCall
|
||||
}
|
||||
#endregion
|
||||
|
||||
public class CheckoutPrintRollCallDto
|
||||
{
|
||||
|
||||
public string RollCallDateFa { get; set; }
|
||||
public string StartDate1 { get; set; }
|
||||
public string EndDate1 { get; set; }
|
||||
|
||||
public string StartDate2 { get; set; }
|
||||
public string EndDate2 { get; set; }
|
||||
|
||||
//منقطع بودن شیفت کاری
|
||||
public bool IsSliced { get; set; }
|
||||
|
||||
public string TotalWorkingHours { get; set; }
|
||||
|
||||
public string DayOfWeek { get; set; }
|
||||
|
||||
public string BreakTimeString { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// اگر مرخصی نداشته باشد خالی خواهد بود، اگر داشته باشد نوع مرخصی جانشانی می شود
|
||||
/// </summary>
|
||||
public string LeaveType { get; set; }
|
||||
|
||||
public bool IsAbsent { get; set; }
|
||||
public bool IsFriday { get; set; }
|
||||
public bool IsHoliday { get; set; }
|
||||
public bool IsBirthDay { get; set; }
|
||||
|
||||
|
||||
public string EnterDifferencesMinutes1 { get; set; }
|
||||
public string ExitDifferencesMinutes1 { get; set; }
|
||||
|
||||
public string EnterDifferencesMinutes2 { get; set; }
|
||||
public string ExitDifferencesMinutes2 { get; set; }
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ namespace CompanyManagment.App.Contracts.RollCall
|
||||
/// <summary>
|
||||
/// گزارش آنلاین حضور غیاب
|
||||
/// </summary>
|
||||
CurrentDayRollCall GetWorkshopCurrentDayRollCalls(long workshopId,WorkshopCurrentDayRollCallSearchModel searchModel);
|
||||
CurrentDayRollCall GetWorkshopCurrentDayRollCalls(long workshopId);
|
||||
|
||||
/// <summary>
|
||||
/// گزارش آفلاین حضور غیاب کارگاه
|
||||
@@ -153,13 +153,6 @@ namespace CompanyManagment.App.Contracts.RollCall
|
||||
public long EmployeeId { get; set; }
|
||||
}
|
||||
|
||||
public class WorkshopCurrentDayRollCallSearchModel
|
||||
{
|
||||
public long EmployeeId { get; set; }
|
||||
public int PersonnelCode { get; set; }
|
||||
}
|
||||
|
||||
|
||||
public enum RollCallRecordStatus
|
||||
{
|
||||
Worked = 0,
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
namespace CompanyManagment.App.Contracts.Workshop.DTOs;
|
||||
|
||||
public class AdminWorkshopSelectListDto
|
||||
{
|
||||
/// <summary>
|
||||
/// آی دی کارگاه
|
||||
/// </summary>
|
||||
public long Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نام کارگاه
|
||||
/// </summary>
|
||||
public string WorkshopFullName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// کد بایگانی
|
||||
/// </summary>
|
||||
public string ArchiveCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا بلاک شده است
|
||||
/// </summary>
|
||||
public bool IsBlock { get; set; }
|
||||
}
|
||||
@@ -1,12 +1,10 @@
|
||||
using _0_Framework.Application;
|
||||
using AccountManagement.Application.Contracts.Account;
|
||||
using CompanyManagment.App.Contracts.Checkout.Dto;
|
||||
using CompanyManagment.App.Contracts.Employee.DTO;
|
||||
using CompanyManagment.App.Contracts.Workshop.DTOs;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Threading.Tasks;
|
||||
using _0_Framework.Application;
|
||||
using AccountManagement.Application.Contracts.Account;
|
||||
using CompanyManagment.App.Contracts.Workshop.DTOs;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.Workshop;
|
||||
|
||||
@@ -94,19 +92,6 @@ public interface IWorkshopApplication
|
||||
#endregion
|
||||
|
||||
Task<ActionResult<OperationResult>> CreateWorkshopWorkflowRegistration(CreateWorkshopWorkflowRegistration command);
|
||||
|
||||
|
||||
#region ForApi
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// دریافت لیست کارگاه های ادمین برای سلکت تو
|
||||
/// Api
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
Task<List<AdminWorkshopSelectListDto>> GetAdminWorkshopSelectList();
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
public class CreateWorkshopWorkflowRegistration
|
||||
|
||||
@@ -94,9 +94,4 @@ public class BaseYearDataList
|
||||
/// آیا تاریخ پایان کار دارد
|
||||
/// </summary>
|
||||
public bool HasLeftWork { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره گروه
|
||||
/// </summary>
|
||||
public string GroupNo { get; set; }
|
||||
}
|
||||
@@ -104,10 +104,5 @@ namespace CompanyManagment.Application
|
||||
Id = x.Id
|
||||
}).ToList();
|
||||
}
|
||||
|
||||
public List<BankSelectList> GetBanksForSelectList()
|
||||
{
|
||||
return _bankRepository.GetBanksForSelectList();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,654 +0,0 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using _0_Framework.Application;
|
||||
using _0_Framework.Application.Enums;
|
||||
using Company.Domain.ClassificationSchemeAgg;
|
||||
using CompanyManagment.App.Contracts.ClassificationScheme;
|
||||
using CompanyManagment.App.Contracts.YearlySalary;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace CompanyManagment.Application;
|
||||
|
||||
public class ClassificationSchemeApplication : IClassificationSchemeApplication
|
||||
{
|
||||
private readonly IClassificationSchemeRepository _classificationSchemeRepository;
|
||||
private readonly IClassificationGroupRepository _classificationGroupRepository;
|
||||
private readonly IClassificationGroupSalariesRepository _classificationGroupSalariesRepository;
|
||||
private readonly IClassificationRialCoefficientRepository _classificationRialCoefficientRepository;
|
||||
private readonly IClassificationEmployeeRepository _classificationEmployeeRepository;
|
||||
|
||||
public ClassificationSchemeApplication(IClassificationSchemeRepository classificationSchemeRepository, IClassificationGroupRepository classificationGroupRepository, IClassificationGroupSalariesRepository classificationGroupSalariesRepository, IClassificationRialCoefficientRepository classificationRialCoefficientRepository, IClassificationEmployeeRepository classificationEmployeeRepository)
|
||||
{
|
||||
_classificationSchemeRepository = classificationSchemeRepository;
|
||||
_classificationGroupRepository = classificationGroupRepository;
|
||||
_classificationGroupSalariesRepository = classificationGroupSalariesRepository;
|
||||
_classificationRialCoefficientRepository = classificationRialCoefficientRepository;
|
||||
_classificationEmployeeRepository = classificationEmployeeRepository;
|
||||
}
|
||||
|
||||
public Task<ClassificationSchemeListDto> GetClassificationSchemeList(long workshopId)
|
||||
{
|
||||
return _classificationSchemeRepository.GetClassificationSchemeList(workshopId);
|
||||
}
|
||||
|
||||
public async Task<OperationResult> CreateClassificationScheme(CreateClassificationSchemeDto command)
|
||||
{
|
||||
var op = new OperationResult();
|
||||
|
||||
|
||||
#region Validation
|
||||
|
||||
if (!command.ExecutionDateFa.TryToGeorgianDateTime(out var executionDateGr))
|
||||
{
|
||||
return op.Failed("تاریخ اجرا صحیح نمی باشد");
|
||||
}
|
||||
if (!command.IncludingDateFa.TryToGeorgianDateTime(out var includingDateGr))
|
||||
{
|
||||
return op.Failed("تاریخ شمول صحیح نمی باشد");
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
//ایجاد طرح
|
||||
var create = new Company.Domain.ClassificationSchemeAgg.ClassificationScheme(includingDateGr, executionDateGr,
|
||||
command.DesignerFullName, command.DesignerPhone, command.WorkshopId, command.TypeOfCoefficient);
|
||||
_classificationSchemeRepository.Create(create);
|
||||
await _classificationSchemeRepository.SaveChangesAsync();
|
||||
//ایجاد گروه های طرح
|
||||
var groups = new List<ClassificationGroup>()
|
||||
{
|
||||
new ClassificationGroup("1",command.WorkshopId,create.id),
|
||||
new ClassificationGroup("2",command.WorkshopId,create.id),
|
||||
new ClassificationGroup("3",command.WorkshopId,create.id),
|
||||
new ClassificationGroup("4",command.WorkshopId,create.id),
|
||||
new ClassificationGroup("5",command.WorkshopId,create.id),
|
||||
new ClassificationGroup("6",command.WorkshopId,create.id),
|
||||
new ClassificationGroup("7",command.WorkshopId,create.id),
|
||||
new ClassificationGroup("8",command.WorkshopId,create.id),
|
||||
new ClassificationGroup("9",command.WorkshopId,create.id),
|
||||
new ClassificationGroup("10",command.WorkshopId,create.id),
|
||||
new ClassificationGroup("11",command.WorkshopId,create.id),
|
||||
new ClassificationGroup("12",command.WorkshopId,create.id),
|
||||
new ClassificationGroup("13",command.WorkshopId,create.id),
|
||||
new ClassificationGroup("14",command.WorkshopId,create.id),
|
||||
new ClassificationGroup("15",command.WorkshopId,create.id),
|
||||
new ClassificationGroup("16",command.WorkshopId,create.id),
|
||||
new ClassificationGroup("17",command.WorkshopId,create.id),
|
||||
new ClassificationGroup("18",command.WorkshopId,create.id),
|
||||
new ClassificationGroup("19",command.WorkshopId,create.id),
|
||||
new ClassificationGroup("20",command.WorkshopId,create.id),
|
||||
};
|
||||
|
||||
await _classificationGroupRepository.CreateGroups(groups);
|
||||
|
||||
|
||||
|
||||
return op.Succcedded();
|
||||
}
|
||||
|
||||
public async Task<EditClassificationSchemeDto> GetClassificationScheme(long id)
|
||||
{
|
||||
return await _classificationSchemeRepository.GetClassificationScheme(id);
|
||||
}
|
||||
|
||||
|
||||
public Task<EditClassificationScheme> GetClassificationSchemeToCompute(long id)
|
||||
{
|
||||
return _classificationSchemeRepository.GetClassificationSchemeToCompute(id);
|
||||
}
|
||||
|
||||
public async Task<OperationResult> EditClassificationScheme(EditClassificationSchemeDto command)
|
||||
{
|
||||
var op = new OperationResult();
|
||||
|
||||
|
||||
#region Validation
|
||||
|
||||
if (!command.ExecutionDateFa.TryToGeorgianDateTime(out var executionDateGr))
|
||||
{
|
||||
return op.Failed("تاریخ اجرا صحیح نمی باشد");
|
||||
}
|
||||
if (!command.IncludingDateFa.TryToGeorgianDateTime(out var includingDateGr))
|
||||
{
|
||||
return op.Failed("تاریخ شمول صحیح نمی باشد");
|
||||
}
|
||||
var scheme = _classificationSchemeRepository.Get(command.Id);
|
||||
if (scheme == null)
|
||||
return op.Failed("رکورد مورد نظر وجود ندارد");
|
||||
#endregion
|
||||
|
||||
|
||||
scheme.Edit(includingDateGr, executionDateGr, command.DesignerFullName, command.DesignerPhone, command.TypeOfCoefficient);
|
||||
await _classificationSchemeRepository.SaveChangesAsync();
|
||||
return op.Succcedded();
|
||||
}
|
||||
|
||||
public async Task<List<ClassificationGroupAndJobModel>> GetGroupAndJobs(long schemeId)
|
||||
{
|
||||
return await _classificationGroupRepository.GetGroupAndJobs(schemeId);
|
||||
}
|
||||
|
||||
public async Task<List<GetGroupAndJobSchemeListDto>> GetGroupList(long schemeId)
|
||||
{
|
||||
return await _classificationGroupRepository.GetGroupList(schemeId);
|
||||
}
|
||||
|
||||
public async Task<List<EditClassificationGroupJob>> GetGroupJobs(long groupId)
|
||||
{
|
||||
return await _classificationGroupRepository.GetGroupJobs(groupId);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public async Task<bool> CheckEmployeeHasThisJob(long id, long groupId)
|
||||
{
|
||||
return await _classificationGroupRepository.CheckEmployeeHasThisJob(id, groupId);
|
||||
}
|
||||
|
||||
public async Task<bool> CreateGroupJobs(List<CreateClassificationGroupJob> createClassificationGroupJob, List<long> deleteJobList)
|
||||
{
|
||||
var newJoblist = new List<ClassificationGroupJob>();
|
||||
if (createClassificationGroupJob.Count > 0)
|
||||
{
|
||||
foreach (var item in createClassificationGroupJob)
|
||||
{
|
||||
var newJob = new ClassificationGroupJob(item.JobId, item.JobName, item.JobCode, item.ClassificationGroupId,
|
||||
item.GroupNo);
|
||||
newJoblist.Add(newJob);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
return await _classificationGroupRepository.CreateJobs(newJoblist, deleteJobList);
|
||||
}
|
||||
|
||||
public async Task<SalaryAndRialCoefficientTab> GetSalariesTabData(long schemeId)
|
||||
{
|
||||
return await _classificationGroupSalariesRepository.GetSalariesTabData(schemeId);
|
||||
}
|
||||
|
||||
public async Task<SalaryAndRialCoefficientModel> GetGroupToCreateSalariesModal(long schemeId)
|
||||
{
|
||||
return await _classificationGroupRepository.GetGroupToCreateSalariesModal(schemeId);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public async Task<OperationResult> CreateGroupSalaryAndCoefficient(SalaryAndRialCoefficientModel command)
|
||||
{
|
||||
var op = new OperationResult();
|
||||
#region Validation
|
||||
|
||||
if (string.IsNullOrWhiteSpace(command.StartDateFa) || string.IsNullOrWhiteSpace(command.StartDateFa))
|
||||
return op.Failed("تاریخ شروع و پایان نمی توانند خالی باشند");
|
||||
|
||||
|
||||
if (command.TypeOfCoefficient == TypeOfCoefficient.RialCoefficient && command.RialCoefficient == 0)
|
||||
return op.Failed("ضریب ریالی وارد نشده است");
|
||||
|
||||
|
||||
if (command.SalariesAndCoefficientList.Any(x => string.IsNullOrWhiteSpace(x.GroupSalaryStr) || x.GroupSalaryStr == "0"))
|
||||
return op.Failed("دستمزد تمامی گروه ها می بایست تعیین شود");
|
||||
|
||||
|
||||
if (!command.StartDateFa.TryToGeorgianDateTime(out var startDate))
|
||||
{
|
||||
return op.Failed("تاریخ شروع وارد شده صحیح نمی باشد");
|
||||
}
|
||||
if (!command.EndDateFa.TryToGeorgianDateTime(out var endDate))
|
||||
{
|
||||
return op.Failed("تاریخ پایان وارد شده صحیح نمی باشد");
|
||||
}
|
||||
|
||||
if (_classificationGroupSalariesRepository.Exists(x => x.StartDate <= endDate && x.EndDate >= startDate && x.SchemeId == command.SchemeId))
|
||||
{
|
||||
return op.Failed("بازه تاریخ وارد شده با داده های ذخیره شده قبل تداخل دارد");
|
||||
|
||||
}
|
||||
|
||||
var year = Convert.ToInt32(command.StartDateFa.Substring(0, 4));
|
||||
|
||||
var endDateYear = Convert.ToInt32(command.EndDateFa.Substring(0, 4));
|
||||
if (year != endDateYear)
|
||||
return op.Failed("سال تاریخ شروع از سال تاریخ پایان متفاوت است");
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
var createSalaries = new List<ClassificationGroupSalary>();
|
||||
|
||||
foreach (var item in command.SalariesAndCoefficientList)
|
||||
{
|
||||
item.GroupSalary = item.GroupSalaryStr.MoneyToDouble();
|
||||
var create = new ClassificationGroupSalary(item.ClassificationGroupId, item.GroupNo, item.GroupSalary, startDate, endDate, year, command.SchemeId);
|
||||
createSalaries.Add(create);
|
||||
}
|
||||
|
||||
await _classificationGroupSalariesRepository.CreateSalaries(createSalaries);
|
||||
|
||||
if (command.TypeOfCoefficient == TypeOfCoefficient.RialCoefficient)
|
||||
{
|
||||
try
|
||||
{
|
||||
command.RialCoefficient = command.RialCoefficient;
|
||||
|
||||
await _classificationRialCoefficientRepository.CreateAsync(new ClassificationRialCoefficient(command.SchemeId,
|
||||
command.RialCoefficient, startDate, endDate, year));
|
||||
await _classificationRialCoefficientRepository.SaveChangesAsync();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
return op.Failed("فرمت مبلغ ضریب ریالی اشتباه است");
|
||||
}
|
||||
}
|
||||
|
||||
op.SendId = command.SchemeId;
|
||||
return op.Succcedded();
|
||||
}
|
||||
|
||||
public async Task<SalaryAndRialCoefficientModel> GetEditSalariesData(long schemeId, string startDate, string endDate)
|
||||
{
|
||||
return await _classificationGroupSalariesRepository.GetEditSalariesData(schemeId, startDate, endDate);
|
||||
}
|
||||
|
||||
public async Task<OperationResult> EditGroupSalaryAndCoefficient(SalaryAndRialCoefficientModel command)
|
||||
{
|
||||
var op = new OperationResult();
|
||||
#region Validation
|
||||
|
||||
if (string.IsNullOrWhiteSpace(command.StartDateFa) || string.IsNullOrWhiteSpace(command.StartDateFa))
|
||||
return op.Failed("تاریخ شروع و پایان نمی توانند خالی باشند");
|
||||
|
||||
|
||||
if (command.TypeOfCoefficient == TypeOfCoefficient.RialCoefficient && command.RialCoefficient == 0)
|
||||
return op.Failed("ضریب ریالی وارد نشده است");
|
||||
|
||||
|
||||
if (command.SalariesAndCoefficientList.Any(x => string.IsNullOrWhiteSpace(x.GroupSalaryStr) || x.GroupSalaryStr == "0"))
|
||||
return op.Failed("دستمزد تمامی گروه ها می بایست تعیین شود");
|
||||
|
||||
|
||||
if (!command.StartDateFa.TryToGeorgianDateTime(out var startDate))
|
||||
{
|
||||
return op.Failed("تاریخ شروع وارد شده صحیح نمی باشد");
|
||||
}
|
||||
if (!command.EndDateFa.TryToGeorgianDateTime(out var endDate))
|
||||
{
|
||||
return op.Failed("تاریخ پایان وارد شده صحیح نمی باشد");
|
||||
}
|
||||
|
||||
var salariesId = command.SalariesAndCoefficientList.Select(x => x.Id).ToList();
|
||||
if (_classificationGroupSalariesRepository.Exists(x => x.StartDate <= endDate && x.EndDate >= startDate && x.SchemeId == command.SchemeId && !salariesId.Contains(x.id)))
|
||||
{
|
||||
return op.Failed("بازه تاریخ وارد شده با داده های ذخیره شده قبل تداخل دارد");
|
||||
|
||||
}
|
||||
|
||||
var year = Convert.ToInt32(command.StartDateFa.Substring(0, 4));
|
||||
|
||||
var endDateYear = Convert.ToInt32(command.EndDateFa.Substring(0, 4));
|
||||
if (year != endDateYear)
|
||||
return op.Failed("سال تاریخ شروع از سال تاریخ پایان متفاوت است");
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
foreach (var item in command.SalariesAndCoefficientList)
|
||||
{
|
||||
var editSalary = _classificationGroupSalariesRepository.Get(item.Id);
|
||||
|
||||
item.GroupSalary = item.GroupSalaryStr.MoneyToDouble();
|
||||
|
||||
editSalary.Edit(item.GroupSalary, startDate, endDate, year);
|
||||
await _classificationGroupSalariesRepository.SaveChangesAsync();
|
||||
|
||||
}
|
||||
|
||||
if (command.TypeOfCoefficient == TypeOfCoefficient.RialCoefficient)
|
||||
{
|
||||
var editRialCoefficient = _classificationRialCoefficientRepository.Get(command.CoefficientId);
|
||||
editRialCoefficient.Edit(command.RialCoefficient, startDate, endDate, year);
|
||||
await _classificationRialCoefficientRepository.SaveChangesAsync();
|
||||
|
||||
}
|
||||
|
||||
return op.Succcedded();
|
||||
}
|
||||
|
||||
|
||||
|
||||
public async Task<EmployeeInfoTab> GetEmployeeDataTab(EmployeeInfoTab command)
|
||||
{
|
||||
var employeeInfoTab = new EmployeeInfoTab();
|
||||
var employeeInfoList = _classificationEmployeeRepository.GetEmployeeListData(command.SchemeId).GetAwaiter().GetResult();
|
||||
if (employeeInfoList.Any())
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(command.FullName))
|
||||
employeeInfoList = employeeInfoList.Where(x => x.FullName.Contains(command.FullName)).ToList();
|
||||
|
||||
employeeInfoTab.EmployeeInfoList = employeeInfoList;
|
||||
employeeInfoTab.FullName = command.FullName;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
return employeeInfoTab;
|
||||
}
|
||||
|
||||
public async Task<List<ClassificationGroupList>> GetGroups(long schemeId)
|
||||
{
|
||||
return await _classificationGroupRepository.GetGroups(schemeId);
|
||||
}
|
||||
|
||||
|
||||
public async Task<OperationResult> AddEmployeeToGroup(AddEmployeeToGroup command)
|
||||
{
|
||||
var op = new OperationResult();
|
||||
#region Validation
|
||||
|
||||
if (command.GroupId == 0)
|
||||
return op.Failed("لطفا گروه را انتخاب کنید");
|
||||
|
||||
if (command.JobId == 0)
|
||||
return op.Failed("لطفا سمت را انتخاب کنید");
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
var scheme = _classificationSchemeRepository.GetClassificationSchemeToCompute(command.SchemeId).GetAwaiter().GetResult();
|
||||
|
||||
|
||||
var create = new ClassificationEmployee(scheme.WorkshopId, command.EmployeeId, command.SchemeId,
|
||||
command.GroupId, command.JobId, scheme.ExecutionDateGr);
|
||||
await _classificationEmployeeRepository.CreateAsync(create);
|
||||
await _classificationEmployeeRepository.SaveChangesAsync();
|
||||
|
||||
return op.Succcedded();
|
||||
}
|
||||
|
||||
|
||||
public async Task<OperationResult> EditGroupMember(AddEmployeeToGroup command)
|
||||
{
|
||||
var op = new OperationResult();
|
||||
#region Validation
|
||||
|
||||
if (command.GroupId == 0)
|
||||
return op.Failed("لطفا گروه را انتخاب کنید");
|
||||
|
||||
if (command.JobId == 0)
|
||||
return op.Failed("لطفا سمت را انتخاب کنید");
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
var editGroup = _classificationEmployeeRepository.Get(command.Id);
|
||||
editGroup.Edit(command.GroupId, command.JobId);
|
||||
await _classificationEmployeeRepository.SaveChangesAsync();
|
||||
|
||||
return op.Succcedded();
|
||||
}
|
||||
|
||||
public async Task<OperationResult> TransferEmployeeToNewGroup(List<EditEmployeeGroupList> command)
|
||||
{
|
||||
var op = new OperationResult();
|
||||
if (command.Count < 1)
|
||||
return op.Failed("هیچ انتقالی ایجاد نشده است");
|
||||
var oldGroupsMemberize = await _classificationEmployeeRepository.GetEmployeeMemberizeData(command[0].EmployeeId);
|
||||
var scheme = await _classificationSchemeRepository.GetClassificationSchemeToCompute(oldGroupsMemberize[0].SchemeId);
|
||||
var newStartDateList = new List<DateTime>();
|
||||
foreach (var item in command)
|
||||
{
|
||||
#region Validation
|
||||
|
||||
if (item.ClassificationGroupId == 0)
|
||||
return op.Failed("لطفا گروه را انتخاب کنید");
|
||||
|
||||
if (item.ClassificationGroupJobId == 0)
|
||||
return op.Failed("لطفا سمت را انتخاب کنید");
|
||||
|
||||
if (!item.StartGroupDateFa.TryToGeorgianDateTime(out var startDate))
|
||||
{
|
||||
string startDateFaild = "تاریخ شروع" + " " + item.StartGroupDateFa + " " + "صحیح نمیباشد";
|
||||
return op.Failed(startDateFaild);
|
||||
}
|
||||
|
||||
if (item.StartGroupDateFa.Substring(8, 2) != "01")
|
||||
return op.Failed("تاریخ شروع فقط می تواند یکم هر ماه باشد");
|
||||
|
||||
if (newStartDateList.Any(x => x == startDate))
|
||||
return op.Failed($"تاریخ انتقال {item.StartGroupDateFa} با تاریخ های قبل تداخل دارد");
|
||||
newStartDateList.Add(startDate);
|
||||
|
||||
if (oldGroupsMemberize.Any(x => x.StartGroupDate == startDate))
|
||||
return op.Failed($"تاریخ انتقال {item.StartGroupDateFa} با تاریخ های قبل تداخل دارد");
|
||||
if (startDate < scheme.ExecutionDateGr)
|
||||
return op.Failed($"تاریخ انتقال {item.StartGroupDateFa} کوچکتر از تاریخ شروع طرح : {scheme.ExecutionDateFa} است");
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
var lastRecord = oldGroupsMemberize.FirstOrDefault(x => x.EndGroupDate == null);
|
||||
|
||||
if (lastRecord != null)
|
||||
{
|
||||
var edit = _classificationEmployeeRepository.Get(lastRecord.Id);
|
||||
var firstNewRcord = newStartDateList.MinBy(x => x);
|
||||
|
||||
edit.EditMultipleGroupMember(lastRecord.ClassificationGroupId, lastRecord.ClassificationGroupJobId, lastRecord.StartGroupDate.Value);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
newStartDateList = newStartDateList.OrderByDescending(x => x).ToList();
|
||||
var lastNewRecord = newStartDateList.MaxBy(x => x);
|
||||
|
||||
|
||||
var c = command.FirstOrDefault(x => x.StartGroupDateFa == lastNewRecord.ToFarsi());
|
||||
var create = new ClassificationEmployee(scheme.WorkshopId, c.EmployeeId, c.SchemeId,
|
||||
c.ClassificationGroupId, c.ClassificationGroupJobId, lastNewRecord.Date);
|
||||
await _classificationEmployeeRepository.CreateAsync(create);
|
||||
newStartDateList.Remove(lastNewRecord);
|
||||
var createList = new List<ClassificationEmployee>();
|
||||
foreach (var item in newStartDateList)
|
||||
{
|
||||
var commandEdit = command.FirstOrDefault(x => x.StartGroupDateFa == item.ToFarsi());
|
||||
var createCommand = new ClassificationEmployee(scheme.WorkshopId, commandEdit.EmployeeId, commandEdit.SchemeId,
|
||||
commandEdit.ClassificationGroupId, commandEdit.ClassificationGroupJobId, item);
|
||||
createList.Add(createCommand);
|
||||
lastNewRecord = item;
|
||||
}
|
||||
|
||||
|
||||
if (createList.Any())
|
||||
{
|
||||
createList = createList.OrderBy(x => x.StartGroupDate).ToList();
|
||||
await _classificationEmployeeRepository.CreateTransferRange(createList);
|
||||
}
|
||||
|
||||
|
||||
await _classificationEmployeeRepository.SaveChangesAsync();
|
||||
|
||||
return op.Succcedded();
|
||||
|
||||
|
||||
|
||||
}
|
||||
public async Task<OperationResult> EditMultipleGroupMember(List<EditEmployeeGroupList> command)
|
||||
{
|
||||
var op = new OperationResult();
|
||||
var zeroItem = command.First(x => x.Id == 0);
|
||||
var oldGroupsMemberize = await _classificationEmployeeRepository.GetEmployeeMemberizeData(zeroItem.EmployeeId);
|
||||
var scheme = await _classificationSchemeRepository.GetClassificationSchemeToCompute(zeroItem.SchemeId);
|
||||
command = command.Where(x => x.Id != 0).ToList();
|
||||
var newStartDateList = new List<DateTime>();
|
||||
foreach (var item in command)
|
||||
{
|
||||
#region Validation
|
||||
|
||||
if (item.ClassificationGroupId == 0)
|
||||
return op.Failed("لطفا گروه را انتخاب کنید");
|
||||
|
||||
if (item.ClassificationGroupJobId == 0)
|
||||
return op.Failed("لطفا سمت را انتخاب کنید");
|
||||
|
||||
if (!item.StartGroupDateFa.TryToGeorgianDateTime(out var startDate))
|
||||
{
|
||||
string startDateFaild = "تاریخ شروع" + " " + item.StartGroupDateFa + " " + "صحیح نمیباشد";
|
||||
return op.Failed(startDateFaild);
|
||||
}
|
||||
if (item.StartGroupDateFa.Substring(8, 2) != "01")
|
||||
return op.Failed("تاریخ شروع فقط می تواند یکم هر ماه باشد");
|
||||
|
||||
if (oldGroupsMemberize.Any(x => x.StartGroupDate == startDate && x.Id != item.Id))
|
||||
return op.Failed($"تاریخ {item.StartGroupDateFa} با تاریخ های قبل یا بعد از خود تداخل دارد");
|
||||
|
||||
if (startDate < scheme.ExecutionDateGr)
|
||||
return op.Failed($"تاریخ انتقال {item.StartGroupDateFa} کوچکتر از تاریخ شروع طرح : {scheme.ExecutionDateFa} است");
|
||||
newStartDateList.Add(startDate);
|
||||
#endregion
|
||||
}
|
||||
|
||||
foreach (var item in command)
|
||||
{
|
||||
var edit = _classificationEmployeeRepository.Get(item.Id);
|
||||
|
||||
|
||||
edit.EditMultipleGroupMember(item.ClassificationGroupId, item.ClassificationGroupJobId, item.StartGroupDateFa.ToGeorgianDateTime());
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
var removeItemIdList = command.Select(x => x.Id).ToList();
|
||||
var toBeRemove = removeItemIdList.Any() ? oldGroupsMemberize.Where(x => !removeItemIdList.Contains(x.Id)).Select(x => x.Id).ToList() : oldGroupsMemberize.Select(x => x.Id).ToList();
|
||||
if (toBeRemove.Any())
|
||||
{
|
||||
var getRemoveList = await _classificationEmployeeRepository.GetListByIdList(toBeRemove);
|
||||
|
||||
await _classificationEmployeeRepository.RemoveRangeByEdit(getRemoveList);
|
||||
}
|
||||
|
||||
await _classificationEmployeeRepository.SaveChangesAsync();
|
||||
return op.Succcedded();
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// دریافت اطلاعات عضویتی پرسنل در گروه
|
||||
/// </summary>
|
||||
/// <param name="employeeId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<EditEmployeeGroup> GetEmployeeMemberizeData(long employeeId)
|
||||
{
|
||||
var result = new EditEmployeeGroup();
|
||||
var res = await _classificationEmployeeRepository.GetEmployeeMemberizeData(employeeId);
|
||||
|
||||
if (res.Any())
|
||||
{
|
||||
result.HasMultipleGroup = res.Count > 1;
|
||||
result.EditEmployeeGroupLists = res;
|
||||
}
|
||||
|
||||
return result;
|
||||
|
||||
|
||||
}
|
||||
|
||||
public async Task<BaseYearDataViewModel> BaseYearComputeOneGroup(DateTime schemeStart, DateTime? schemeEnd, DateTime contractStart, DateTime contractEnd,
|
||||
string groupNo, long employeeId, long workshopId)
|
||||
{
|
||||
return await _classificationSchemeRepository.BaseYearComputeOneGroup(schemeStart, schemeEnd, contractStart,
|
||||
contractEnd, groupNo, employeeId, workshopId);
|
||||
}
|
||||
|
||||
public async Task<OperationResult<CheckStatusToDeleteScheme>> CheckToDeleteScheme(long id)
|
||||
{
|
||||
var op = new OperationResult<CheckStatusToDeleteScheme>();
|
||||
var scheme = _classificationSchemeRepository.Get(id);
|
||||
if (scheme != null)
|
||||
{
|
||||
var employeeInfoList = await _classificationEmployeeRepository.GetEmployeeListData(id);
|
||||
var anyHasGroup = employeeInfoList.Any(x => x.HasGroup);
|
||||
if (employeeInfoList.Any() && anyHasGroup)
|
||||
{
|
||||
|
||||
|
||||
string message = "برای این طرح پرسنل افزوده شده است، آیا از حذف طرح اطمینان دارید";
|
||||
|
||||
|
||||
return op.Succcedded(new CheckStatusToDeleteScheme()
|
||||
{ DeleteSchemeStatus = DeleteSchemeStatus.ConfirmationNeeded, Message = message });
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
var message = "مجاز برای حذف";
|
||||
return op.Succcedded(new CheckStatusToDeleteScheme()
|
||||
{ DeleteSchemeStatus = DeleteSchemeStatus.Valid, Message = message });
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return op.Failed("یافت نشد", new CheckStatusToDeleteScheme() { DeleteSchemeStatus = DeleteSchemeStatus.NotValid });
|
||||
|
||||
|
||||
}
|
||||
#region ForApi
|
||||
|
||||
public async Task<OperationResult> DeleteScheme(long id)
|
||||
{
|
||||
var op = new OperationResult();
|
||||
var scheme = _classificationSchemeRepository.Get(id);
|
||||
|
||||
if (scheme != null)
|
||||
{
|
||||
await _classificationSchemeRepository.DeleteClassificationScheme(id);
|
||||
return op.Succcedded();
|
||||
}
|
||||
|
||||
return op.Failed("یافت نشد");
|
||||
}
|
||||
|
||||
|
||||
public async Task<AddOrEditJobInGroupDto> GetCreateOrEditJobsData(long groupId)
|
||||
{
|
||||
return await _classificationGroupRepository.GetCreateOrEditJobsData(groupId);
|
||||
}
|
||||
|
||||
public async Task<OperationResult> CheckIfEmployeeHasThisJob(long jobId, long groupId)
|
||||
{
|
||||
var op = new OperationResult();
|
||||
var checkExistAny = await _classificationGroupRepository.CheckIfEmployeeHasThisJob(jobId, groupId);
|
||||
if (checkExistAny)
|
||||
return op.Failed("این شغل قبلا به پرسنلی از این گروه داده شده و نمیتوانید آن را حذف کنید");
|
||||
|
||||
return op.Succcedded(-1, "حذف با موفقیت انجام شد");
|
||||
}
|
||||
|
||||
public async Task<OperationResult> SaveJobsToGroup(AddOrEditJobInGroupDto command)
|
||||
{
|
||||
var op = new OperationResult();
|
||||
var res = await _classificationGroupRepository.SaveJobsToGroup(command);
|
||||
if (!res)
|
||||
return op.Failed("خطا در انجام عملیات");
|
||||
|
||||
return op.Succcedded();
|
||||
}
|
||||
|
||||
public async Task<List<SalaryAndRialCoefficientTabDataList>> GetSalaryList(long schemeId)
|
||||
{
|
||||
return await _classificationGroupSalariesRepository.GetSalaryList(schemeId);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
@@ -1734,25 +1734,5 @@ public class EmployeeAplication : RepositoryBase<long, Employee>, IEmployeeAppli
|
||||
return await _EmployeeRepository.GetClientEmployeeList(searchModel, workshopId);
|
||||
}
|
||||
|
||||
public async Task<List<EmployeeListDto>> ListOfAllEmployeesClient(EmployeeSearchModelDto searchModel, long workshopId)
|
||||
{
|
||||
return await _EmployeeRepository.ListOfAllEmployeesClient(searchModel, workshopId);
|
||||
}
|
||||
|
||||
public async Task<List<PrintAllEmployeesInfoDtoClient>> PrintAllEmployeesInfoClient(long workshopId)
|
||||
{
|
||||
return await _EmployeeRepository.PrintAllEmployeesInfoClient(workshopId);
|
||||
}
|
||||
|
||||
public async Task<List<PrintAllDetailsPersonnelInfoDtoClient>> PrintAllDetailsPersonnelInfoClient(long workshopId)
|
||||
{
|
||||
return await _EmployeeRepository.PrintAllDetailsPersonnelInfoClient(workshopId);
|
||||
}
|
||||
|
||||
public async Task<List<EmployeeSelectListViewModel>> GetWorkingEmployeesSelectList(long workshopId)
|
||||
{
|
||||
return await _EmployeeRepository.GetWorkingEmployeesSelectList(workshopId);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
@@ -4,7 +4,6 @@ using Company.Domain.EmployeeBankInformationAgg;
|
||||
using CompanyManagment.App.Contracts.EmployeeBankInformation;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CompanyManagment.Application
|
||||
{
|
||||
@@ -102,13 +101,7 @@ namespace CompanyManagment.Application
|
||||
|
||||
}
|
||||
|
||||
public async Task<List<GroupedEmployeeBankInformationViewModel>> SearchAsync(long workshopId,
|
||||
EmployeeBankInformationSearchModel searchParams)
|
||||
{
|
||||
return await _employeeBankInformationRepository.SearchAsync(workshopId, searchParams);
|
||||
}
|
||||
|
||||
|
||||
//todo: add CardNumber, BankAccountNumber, etc validations
|
||||
public OperationResult Edit(EditEmployeeInformation command)
|
||||
{
|
||||
OperationResult op = new();
|
||||
@@ -175,6 +168,9 @@ namespace CompanyManagment.Application
|
||||
{
|
||||
var entity = _employeeBankInformationRepository.GetByEmployeeId(workshopId, employeeId);
|
||||
|
||||
if (entity == null)
|
||||
return new();
|
||||
|
||||
return entity;
|
||||
}
|
||||
|
||||
@@ -215,12 +211,6 @@ namespace CompanyManagment.Application
|
||||
return _employeeBankInformationRepository.GetAllByWorkshopId(workshopId);
|
||||
}
|
||||
|
||||
|
||||
public async Task<GetEmployeeBankInfoDetailsDto> GetDetailsByEmployeeIdAsync(long workshopId, long employeeId)
|
||||
{
|
||||
return await _employeeBankInformationRepository.GetDetailsByEmployeeIdAsync(workshopId, employeeId);
|
||||
}
|
||||
|
||||
#region Private Methods
|
||||
|
||||
private OperationResult ValidateCreateOperation(List<GroupedEmployeeBankInformationViewModel> workshopEmployeeBankInfoList, CreateEmployeeInformation command)
|
||||
@@ -263,7 +253,8 @@ namespace CompanyManagment.Application
|
||||
return !workshopRecords.Exists(x =>
|
||||
x.WorkshopId == workshopId && x.EmployeeId == employeeId);
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1498,7 +1498,6 @@ public class InstitutionContractApplication : IInstitutionContractApplication
|
||||
return (await _institutionContractRepository.PrintAllAsync([id])).FirstOrDefault();
|
||||
}
|
||||
|
||||
|
||||
public async Task<OperationResult> SetPendingWorkflow(long entityId,InstitutionContractSigningType signingType)
|
||||
{
|
||||
var op = new OperationResult();
|
||||
@@ -1552,7 +1551,7 @@ public class InstitutionContractApplication : IInstitutionContractApplication
|
||||
createdWorkshop.Services.ContractInPerson, createdWorkshop.Services.Insurance,
|
||||
createdWorkshop.Services.InsuranceInPerson,createdWorkshop.PersonnelCount, createdWorkshop.Price,
|
||||
createdWorkshop.InstitutionContractWorkshopGroupId,createdWorkshop.WorkshopGroup,
|
||||
createdWorkshop.WorkshopId!.Value, false,createdWorkshop.id);
|
||||
createdWorkshop.WorkshopId!.Value, createdWorkshop.id);
|
||||
institutionContract.WorkshopGroup.AddCurrentWorkshop(currentWorkshop);
|
||||
}
|
||||
}
|
||||
@@ -1580,21 +1579,6 @@ public class InstitutionContractApplication : IInstitutionContractApplication
|
||||
{
|
||||
return await _institutionContractRepository.GetIdByInstallmentId(installmentId);
|
||||
}
|
||||
public Task<GetInstitutionContractWorkshopsDetails> GetContractWorkshopsDetails(long id)
|
||||
{
|
||||
return _institutionContractRepository.GetContractWorkshopsDetails(id);
|
||||
}
|
||||
|
||||
public async Task<GetInstitutionAmendmentVerificationDetailsViewModel> GetAmendmentVerificationDetails(Guid id, long amendmentId)
|
||||
{
|
||||
return await _institutionContractRepository.GetAmendmentVerificationDetails(id,amendmentId);
|
||||
}
|
||||
|
||||
public async Task AmendmentComplete(InstitutionContractAmendmentCompleteRequest request)
|
||||
{
|
||||
await _institutionContractRepository.AmendmentComplete(request);
|
||||
}
|
||||
|
||||
|
||||
public async Task<OperationResult> VerifyInstitutionContractManually(long institutionContractId)
|
||||
{
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using _0_Framework.Application;
|
||||
using Company.Domain.JobAgg;
|
||||
using CompanyManagment.App.Contracts.Job;
|
||||
@@ -67,11 +66,6 @@ public class JobApplication : IJobApplication
|
||||
return _jobRepository.SearchJobForMain(searchModel);
|
||||
}
|
||||
|
||||
public async Task<List<JobListDto>> JobSearchSelect(string searchtText)
|
||||
{
|
||||
return await _jobRepository.JobSearchSelect(searchtText);
|
||||
}
|
||||
|
||||
//public Task<List<JobViewModel>> GetJobListByText(string searchtText)
|
||||
//{
|
||||
// return _jobRepository.GetJobListByText(searchtText);
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
using _0_Framework.Application;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using _0_Framework.Application;
|
||||
using _0_Framework_b.Application;
|
||||
using Company.Domain.CheckoutAgg;
|
||||
using Company.Domain.ContractAgg;
|
||||
@@ -11,17 +15,11 @@ using Company.Domain.RollCallEmployeeStatusAgg;
|
||||
using Company.Domain.WorkshopAgg;
|
||||
using CompanyManagment.App.Contracts.Checkout;
|
||||
using CompanyManagment.App.Contracts.Contract;
|
||||
using CompanyManagment.App.Contracts.Employee.DTO;
|
||||
using CompanyManagment.App.Contracts.LeftWork;
|
||||
using CompanyManagment.App.Contracts.LeftWorkTemp;
|
||||
using CompanyManagment.App.Contracts.ReportClient;
|
||||
using CompanyManagment.App.Contracts.RollCallEmployee;
|
||||
using CompanyManagment.EFCore.Migrations;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using PersianTools.Core;
|
||||
using OperationResult = _0_Framework.Application.OperationResult;
|
||||
using Tools = _0_Framework.Application.Tools;
|
||||
|
||||
@@ -331,112 +329,4 @@ public class LeftWorkTempApplication : ILeftWorkTempApplication
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
#region ForApi
|
||||
|
||||
public async Task<OperationResult> CreateLeftWorkTempClient(CreateLeftWorkTempDtoClient command, long workshopId)
|
||||
{
|
||||
var op = new OperationResult();
|
||||
|
||||
#region Validation
|
||||
|
||||
if (_leftWorkTempRepository.Exists(x => x.WorkshopId == workshopId && x.EmployeeId == command.EmployeeId))
|
||||
{
|
||||
return op.Failed("برای پرسنل وارد شده قبلا درخواست ترک کار ثبت کرده اید");
|
||||
}
|
||||
|
||||
if (command.LeftWorkTime.TryToGeorgianDateTime(out var leftWorkDateGr) == false)
|
||||
{
|
||||
return op.Failed("تاریخ شروع به کار وارد شده نامعتبر است");
|
||||
}
|
||||
|
||||
if (command.LastDayStanding.TryToGeorgianDateTime(out var lastDayStandingDateGr) == false)
|
||||
{
|
||||
return op.Failed("تاریخ شروع به کار وارد شده نامعتبر است");
|
||||
}
|
||||
|
||||
var leftWork = await _leftWorkRepository.GetLastLeftWork(command.EmployeeId, workshopId);
|
||||
|
||||
if (lastDayStandingDateGr.AddDays(1).Date != leftWorkDateGr)
|
||||
{
|
||||
return op.Failed("تاریخ آخرین روز کاری با تاریخ ترک کار یک روز اختلاف ندارند");
|
||||
}
|
||||
|
||||
if (leftWork == null)
|
||||
{
|
||||
return op.Failed("شروع به کار پرسنل یافت نشد");
|
||||
}
|
||||
|
||||
if (leftWork.HasLeft)
|
||||
{
|
||||
return op.Failed("پرسنل وارد شده قبلا ترک کار ثبت شده است");
|
||||
}
|
||||
|
||||
if (leftWork.StartWorkDate > lastDayStandingDateGr)
|
||||
{
|
||||
return op.Failed("تاریخ ثبت شده قبل از شروع به کار است");
|
||||
}
|
||||
|
||||
if (leftWork.WorkshopId != workshopId || leftWork.EmployeeId != command.EmployeeId)
|
||||
{
|
||||
return op.Failed("اطلاعات وارد شده نامعتبر است");
|
||||
}
|
||||
|
||||
var leftWorkTemp = LeftWorkTemp.CreateLeftWork(leftWork.id, leftWork.StartWorkDate, leftWorkDateGr,
|
||||
lastDayStandingDateGr,
|
||||
workshopId, command.EmployeeId, leftWork.JobId);
|
||||
|
||||
await _leftWorkTempRepository.CreateAsync(leftWorkTemp);
|
||||
await _leftWorkTempRepository.SaveChangesAsync();
|
||||
return op.Succcedded();
|
||||
#endregion
|
||||
}
|
||||
|
||||
|
||||
public async Task<GetLeftWorkTempDayOfWeekDtoClient> GetLeftWorkTempDayOfWeekDtoClient(string leftWorkTime,
|
||||
string lastDayStanding)
|
||||
{
|
||||
var result = new GetLeftWorkTempDayOfWeekDtoClient();
|
||||
if (!string.IsNullOrWhiteSpace(leftWorkTime) && leftWorkTime.Length == 10)
|
||||
{
|
||||
if (leftWorkTime.TryToGeorgianDateTime(out var left) == false)
|
||||
return result;
|
||||
int year = Convert.ToInt32(leftWorkTime.Substring(0, 4));
|
||||
int month = Convert.ToInt32(leftWorkTime.Substring(5, 2));
|
||||
int day = Convert.ToInt32(leftWorkTime.Substring(8, 2));
|
||||
|
||||
var leftWorkTimePersian = new PersianDateTime(year, month, day);
|
||||
|
||||
result.LeftWorkTime = leftWorkTime;
|
||||
result.LeftWorkTimeDayOfWeek = leftWorkTimePersian.DayOfWeek;
|
||||
|
||||
var lastDayStandingPersian = leftWorkTimePersian.AddDays(-1);
|
||||
result.LastDayStanding = $"{lastDayStandingPersian}";
|
||||
result.LastDayStandingDayOfWeek = lastDayStandingPersian.DayOfWeek;
|
||||
}
|
||||
else if(!string.IsNullOrWhiteSpace(lastDayStanding) && lastDayStanding.Length == 10)
|
||||
{
|
||||
if (lastDayStanding.TryToGeorgianDateTime(out var lastDay) == false)
|
||||
return result;
|
||||
int year = Convert.ToInt32(lastDayStanding.Substring(0, 4));
|
||||
int month = Convert.ToInt32(lastDayStanding.Substring(5, 2));
|
||||
int day = Convert.ToInt32(lastDayStanding.Substring(8, 2));
|
||||
|
||||
var lastDayStandingPersian = new PersianDateTime(year, month, day);
|
||||
|
||||
result.LastDayStanding = lastDayStanding;
|
||||
result.LastDayStandingDayOfWeek = lastDayStandingPersian.DayOfWeek;
|
||||
|
||||
|
||||
var leftWorkTimePersian = lastDayStandingPersian.AddDays(1);
|
||||
result.LeftWorkTime = $"{leftWorkTimePersian}";
|
||||
result.LeftWorkTimeDayOfWeek = leftWorkTimePersian.DayOfWeek;
|
||||
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
@@ -150,9 +150,9 @@ public class RollCallApplication : IRollCallApplication
|
||||
return _rollCallRepository.GetWorkshopRollCallHistory(searchModel);
|
||||
}
|
||||
|
||||
public CurrentDayRollCall GetWorkshopCurrentDayRollCalls(long workshopId, WorkshopCurrentDayRollCallSearchModel searchModel)
|
||||
public CurrentDayRollCall GetWorkshopCurrentDayRollCalls(long workshopId)
|
||||
{
|
||||
return _rollCallRepository.GetWorkshopCurrentDayRollCalls(workshopId, searchModel);
|
||||
return _rollCallRepository.GetWorkshopCurrentDayRollCalls(workshopId);
|
||||
}
|
||||
|
||||
public List<CheckoutDailyRollCallViewModel> GetActiveEmployeeRollCallsForDuration(long employeeId, long workshopId, string startDate,
|
||||
|
||||
@@ -90,7 +90,7 @@ namespace CompanyManagment.Application
|
||||
|
||||
public bool HasRollCallRecord(long employeeId, long workshopId, DateTime contractStart, DateTime contractEnd)
|
||||
{
|
||||
return _rollCallEmployeeRepository.HasRollCallRecord(employeeId, workshopId, contractStart, contractEnd).GetAwaiter().GetResult();
|
||||
return _rollCallEmployeeRepository.HasRollCallRecord(employeeId, workshopId, contractStart, contractEnd);
|
||||
}
|
||||
|
||||
public List<RollCallEmployeeStatusViewModel> GetActiveByWorkshopIdInDate(long workshopId, DateTime startDateGr, DateTime endDateGr)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user