report bug fixed
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using _0_Framework.Application;
|
||||
using AccountMangement.Infrastructure.EFCore;
|
||||
@@ -196,6 +197,8 @@ public class ReportRepository : IReportRepository
|
||||
|
||||
var allCheckoutLeftworkEmployeeIds = allCheckoutLeftworks.Select(x => x.EmployeeId);
|
||||
var allCheckoutLeftworkWorkshopIds = allCheckoutLeftworks.Select(x => x.WorkshopId).ToList();
|
||||
|
||||
var allCheckoutToBeTople = allCheckoutLeftworks.Select(x => new { x.EmployeeId, x.WorkshopId }).ToList();
|
||||
//تمام تصفیه حساب های ایجاد شده ماه مورد نظر
|
||||
var allCheckoutCreated = _context.CheckoutSet
|
||||
.Where(x => allCheckoutLeftworkEmployeeIds.Contains(x.EmployeeId))
|
||||
@@ -214,8 +217,13 @@ public class ReportRepository : IReportRepository
|
||||
var contractsAccountLeftWorks = _accountContext.AccountLeftWorks
|
||||
.Where(x => x.RoleId == 5)
|
||||
.Where(x => x.StartWorkGr < nextMonthEnd && x.LeftWorkGr > nextMonthStart);
|
||||
|
||||
var allContractAccountLeftWorkWorkshopIds = contractsAccountLeftWorks.Select(x => x.WorkshopId).ToList();
|
||||
//#if DEBUG
|
||||
// contractsAccountLeftWorks = contractsAccountLeftWorks.Where(x => x.AccountId == 25);
|
||||
// allContractAccountLeftWorkWorkshopIds = allContractAccountLeftWorkWorkshopIds.Where(x=>x == 296).ToList();
|
||||
//#endif
|
||||
|
||||
|
||||
|
||||
//یافتن کارگاه هایی که فعال هستند و طرف حساب انها فعال است
|
||||
var contractWorkshopEmployer = _context.WorkshopEmployers
|
||||
@@ -228,7 +236,7 @@ public class ReportRepository : IReportRepository
|
||||
|
||||
//یافتن کارگاه های استثنا بدون قردادمالی
|
||||
var contractWithOutInstitutionContract = contractWorkshopEmployer.Where(x => x.Employer.ContractingPartyId == 30428)
|
||||
.GroupBy(x => x.Workshop).Select(x => x.Key.id);
|
||||
.GroupBy(x => x.Workshop).Select(x => x.Key.id).ToList();
|
||||
|
||||
//یافتن قردادمالی برای کارگاه های یافت شده در تاریخ مورد نظر
|
||||
var contractFindHasInstitutionContract = _context.InstitutionContractSet
|
||||
@@ -236,11 +244,13 @@ public class ReportRepository : IReportRepository
|
||||
.Select(c => c.ContractingPartyId);
|
||||
|
||||
//فیلتر کارگاه های غیر استثنا با کمک کوئری بالا
|
||||
var contractWithInstitutionContract = contractWorkshopEmployer.Where(x => x.Employer.ContractingPartyId != 30428 && contractFindHasInstitutionContract.Contains(x.Employer.ContractingPartyId)).GroupBy(x => x.WorkshopId).Select(x => x.Key);
|
||||
var contractWithInstitutionContract = contractWorkshopEmployer.Where(x => x.Employer.ContractingPartyId != 30428 && contractFindHasInstitutionContract
|
||||
.Contains(x.Employer.ContractingPartyId)).GroupBy(x => x.WorkshopId)
|
||||
.Select(x => x.Key).ToList();
|
||||
|
||||
|
||||
//ترکیب کارگاه های استثنا و دارای قراداد
|
||||
var contractMixWitAndWitOut = contractWithInstitutionContract.Concat(contractWithOutInstitutionContract);
|
||||
var contractMixWitAndWitOut = contractWithInstitutionContract.Concat(contractWithOutInstitutionContract).ToList();
|
||||
|
||||
|
||||
//تمام پرسنل فعال برای قراداد در ماه مورد نظر
|
||||
@@ -251,6 +261,7 @@ public class ReportRepository : IReportRepository
|
||||
|
||||
//تمام قرارداد های ایجاد شده ماه مورد نظر
|
||||
var allContractLeftworkEmployeeIds = allContractLeftworks.Select(x => x.EmployeeId);
|
||||
var allContracToBeTople = allContractLeftworks.Select(x => new { x.EmployeeId , x.WorkshopId}).ToList();
|
||||
var allContractLeftworkWorkshopIds = allContractLeftworks.Select(x => x.WorkshopId).ToList();
|
||||
var allContractCreated = _context.Contracts
|
||||
.Where(x => allContractLeftworkEmployeeIds.Contains(x.EmployeeId))
|
||||
@@ -313,8 +324,9 @@ public class ReportRepository : IReportRepository
|
||||
|
||||
var checkoutAccountGroupresult = checkoutAccountGroup.Select(grouped =>
|
||||
{
|
||||
|
||||
int checkoutToBe = allCheckoutLeftworkWorkshopIds.Count(n => grouped.WorkshopList.Contains(n));
|
||||
var toBe = allCheckoutToBeTople.Where(n => grouped.WorkshopList.Contains(n.WorkshopId)).GroupBy(n => n.EmployeeId).Select(n => n.Key).ToList();
|
||||
int checkoutToBe = toBe.Count;
|
||||
//int checkoutToBe = allCheckoutLeftworkWorkshopIds.Count(n => grouped.WorkshopList.Contains(n));
|
||||
int createdCheckouts = allChekoutCreated.Count(n => grouped.WorkshopList.Contains(n));
|
||||
int signedCheckout = allCheckoutSignedList.Count(n => grouped.WorkshopList.Contains(n));
|
||||
|
||||
@@ -356,8 +368,8 @@ public class ReportRepository : IReportRepository
|
||||
|
||||
var contractAccountGroupResult = contractAccountGroup.Select(grouped =>
|
||||
{
|
||||
|
||||
int contractToBe = allContractLeftworkWorkshopIds.Count(n => grouped.WorkshopList.Contains(n));
|
||||
var toBe = allContracToBeTople.Where(n => grouped.WorkshopList.Contains(n.WorkshopId)).GroupBy(n=>n.EmployeeId).Select(n=>n.Key).ToList();
|
||||
int contractToBe = toBe.Count;
|
||||
int createdContracts = allContractCreatedlist.Count(n => grouped.WorkshopList.Contains(n));
|
||||
int signedContracts = allContractSignedList.Count(n => grouped.WorkshopList.Contains(n));
|
||||
if (contractToBe > 0)
|
||||
@@ -389,7 +401,7 @@ public class ReportRepository : IReportRepository
|
||||
|
||||
|
||||
//قرارداد
|
||||
var contractPercent = (createdContracts * 100) / contractToBe;
|
||||
var contractPercent = contractToBe > 0 ? (createdContracts * 100) / contractToBe : 0;
|
||||
//امضاء قراداد
|
||||
var contractSignaturePercent = createdContracts > 0 ? (signedContracts * 100) / createdContracts : 0;
|
||||
// تصفیه
|
||||
@@ -817,12 +829,17 @@ public class ReportRepository : IReportRepository
|
||||
//قرارداد هایی که امضاء شده
|
||||
var allContractSigned = allContractCreated.Count(x => x.Signature == "1");
|
||||
Console.WriteLine("ajax 1 >>>>>: " + watch.Elapsed);
|
||||
var workshops = _context.Workshops.Where(x => allContractLeftworksWorkshopIdList.Contains(x.id)).ToList();
|
||||
var workshops = _context.Workshops.Include(x=>x.LeftWorks).Where(x => allContractLeftworksWorkshopIdList.Contains(x.id)).ToList();
|
||||
var workshopListResult = workshops
|
||||
.Select(workshop =>
|
||||
{
|
||||
var contractToBe = allContractLeftworkEmployeeIdsList.Count(x=> x.WorkshopId == workshop.id);
|
||||
var contractCreated = allContractCreatedWorkshopIdList.Count(x => x.WorkshopIds == workshop.id);
|
||||
.Select(workshop =>
|
||||
{
|
||||
var toBe = workshop.LeftWorks.Where(x =>
|
||||
x.StartWorkDate <= nextMonthEnd && x.LeftWorkDate > nextMonthStart)
|
||||
.GroupBy(x => x.EmployeeId)
|
||||
.Select(x => x.Key).ToList();
|
||||
var contractToBe = toBe.Count();
|
||||
//var contractToBe = allContractLeftworkEmployeeIdsList.Count(x=> x.WorkshopId == workshop.id);
|
||||
var contractCreated = allContractCreatedWorkshopIdList.Count(x => x.WorkshopIds == workshop.id);
|
||||
if (contractToBe > 0)
|
||||
{
|
||||
return new workshopSearch()
|
||||
@@ -1257,11 +1274,16 @@ public class ReportRepository : IReportRepository
|
||||
//قرارداد هایی که امضاء شده
|
||||
var allContractSigned = allContractCreated.Count(x => x.Signature == "1");
|
||||
Console.WriteLine("ajax 1 >>>>>: " + watch.Elapsed);
|
||||
var workshops = _context.Workshops.Where(x => allContractLeftworkWorkshopIds.Contains(x.id)).ToList();
|
||||
var workshops = _context.Workshops.Include(x=>x.LeftWorks).Where(x => allContractLeftworkWorkshopIds.Contains(x.id)).ToList();
|
||||
var workshopListResult = workshops
|
||||
.Select(workshop =>
|
||||
{
|
||||
var contractToBe = allContractToBe.Count(x => x.WorkshopId == workshop.id);
|
||||
var toBe = workshop.LeftWorks.Where(x =>
|
||||
x.StartWorkDate <= currentMonthEnd && x.LeftWorkDate > currentMonthStart)
|
||||
.GroupBy(x => x.EmployeeId)
|
||||
.Select(x => x.Key).ToList();
|
||||
var contractToBe = toBe.Count();
|
||||
//var contractToBe = allContractToBe.Count(x => x.WorkshopId == workshop.id);
|
||||
var contractCreated = createdContractTople.Count(x => x.WorkshopId == workshop.id);
|
||||
if (contractToBe > 0)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user