From 725559e7c1624f87ce3acbade9d04a11eade8de9 Mon Sep 17 00:00:00 2001 From: SamSys Date: Tue, 15 Jul 2025 02:58:26 +0330 Subject: [PATCH 1/2] new metod to InstitutionContract --- .../IInstitutionContractRepository.cs | 3 +- .../InstitutionContractRepository.cs | 75 +++++++++++++++++++ 2 files changed, 77 insertions(+), 1 deletion(-) diff --git a/Company.Domain/InstitutionContractAgg/IInstitutionContractRepository.cs b/Company.Domain/InstitutionContractAgg/IInstitutionContractRepository.cs index 5d84c2bc..c46dea77 100644 --- a/Company.Domain/InstitutionContractAgg/IInstitutionContractRepository.cs +++ b/Company.Domain/InstitutionContractAgg/IInstitutionContractRepository.cs @@ -13,7 +13,8 @@ public interface IInstitutionContractRepository : IRepository InstitutionContractsWithoutAccount(); + List ContractWithoutValidContactInfo(); List Search(InstitutionContractSearchModel searchModel); List NewSearch(InstitutionContractSearchModel searchModel); List PrintAll(List id); diff --git a/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs b/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs index 9388c1f5..7bce4b2f 100644 --- a/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs +++ b/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Diagnostics; using System.Linq; +using System.Threading.Tasks; using _0_Framework.Application; using _0_Framework.InfraStructure; using Company.Domain.ContractingPartyAccountAgg; @@ -100,7 +101,81 @@ public class InstitutionContractRepository : RepositoryBase x.ContractingPartyId == contractingPartyId && x.TypeOfContract == typeOfContract).OrderBy(x => x.ExtensionNo).FirstOrDefault(); } + public List InstitutionContractsWithoutAccount() + { + var now = DateTime.Now; + var contractHasClientAccountList = _context.InstitutionContractSet.AsSplitQuery().Where(x => x.IsActiveString == "true" && x.ContractStartGr <= now && x.ContractEndGr >= now) + .Join(_context.ContractingPartyAccounts, + contract => contract.ContractingPartyId, + acc => acc.PersonalContractingPartyId, + ((contract, account) => new {contract, account})).Select(x=>x.contract); + var allActiveContracts = _context.InstitutionContractSet.Where(x => + x.IsActiveString == "true" && x.ContractStartGr <= now && x.ContractEndGr >= now); + + var contractWithoutAccountList = allActiveContracts.Except(contractHasClientAccountList); + + return contractWithoutAccountList.Select(x => new InstitutionContractViewModel + { + Id = x.id, + ContractNo = x.ContractNo, + ContractStartGr = x.ContractStartGr, + ContractStartFa = x.ContractStartFa, + ContractEndGr = x.ContractEndGr, + ContractEndFa = x.ContractEndFa, + RepresentativeId = x.RepresentativeId, + RepresentativeName = x.RepresentativeName, + ContractingPartyName = x.ContractingPartyName, + ContractingPartyId = x.ContractingPartyId, + ContractAmount = x.ContractAmount.ToMoney(), + TotalAmount = x.TotalAmount.ToMoney(), + SearchAmount = x.ContractAmount, + IsActiveString = x.IsActiveString, + OfficialCompany = x.OfficialCompany, + TypeOfContract = x.TypeOfContract, + + }).ToList(); + + } + + + public List ContractWithoutValidContactInfo() + { + var now = DateTime.Now; + var contractHasContactInfo = _context.InstitutionContractSet.AsSplitQuery().Where(x => x.IsActiveString == "true" && x.ContractStartGr <= now && x.ContractEndGr >= now) + .Join(_context.InstitutionContractContactInfos, + contract => contract.id, + contactInfo => contactInfo.InstitutionContractId, + ((contract, contactInfo) => new { contract, contactInfo })) + .Where(x => x.contactInfo.SendSms && x.contactInfo.Position == "طرف قرارداد" && x.contactInfo.PhoneType == "شماره همراه") + .Select(x => x.contract); + + var allvalidCcntactInfoContracts = _context.InstitutionContractSet.Where(x => + x.IsActiveString == "true" && x.ContractStartGr <= now && x.ContractEndGr >= now); + + var contractWithoutAccountList = allvalidCcntactInfoContracts.Except(contractHasContactInfo); + + return contractWithoutAccountList.Select(x => new InstitutionContractViewModel + { + Id = x.id, + ContractNo = x.ContractNo, + ContractStartGr = x.ContractStartGr, + ContractStartFa = x.ContractStartFa, + ContractEndGr = x.ContractEndGr, + ContractEndFa = x.ContractEndFa, + RepresentativeId = x.RepresentativeId, + RepresentativeName = x.RepresentativeName, + ContractingPartyName = x.ContractingPartyName, + ContractingPartyId = x.ContractingPartyId, + ContractAmount = x.ContractAmount.ToMoney(), + TotalAmount = x.TotalAmount.ToMoney(), + SearchAmount = x.ContractAmount, + IsActiveString = x.IsActiveString, + OfficialCompany = x.OfficialCompany, + TypeOfContract = x.TypeOfContract, + + }).ToList(); + } public List Search(InstitutionContractSearchModel searchModel) { //var stored = _context.InstitutionContractSet.FromSqlInterpolated($"SelectQuery_InstitutionContract").AsNoTracking() From 94058660b6f1588ea4df914d94a5afbf763f711a Mon Sep 17 00:00:00 2001 From: MahanCh Date: Tue, 15 Jul 2025 11:07:37 +0330 Subject: [PATCH 2/2] fix create employee bug --- .../pages/Employees/js/IdentityInformationModal.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/ServiceHost/wwwroot/AssetsClient/pages/Employees/js/IdentityInformationModal.js b/ServiceHost/wwwroot/AssetsClient/pages/Employees/js/IdentityInformationModal.js index b4d86a95..6e38b80c 100644 --- a/ServiceHost/wwwroot/AssetsClient/pages/Employees/js/IdentityInformationModal.js +++ b/ServiceHost/wwwroot/AssetsClient/pages/Employees/js/IdentityInformationModal.js @@ -84,7 +84,7 @@ function checkNationalCode(nationalCode, birthDate) { $("#IdentityLoading").show(); $.ajax({ - //async: false, + async: false, url: checkNationalUrl, method: "GET", data: { nationalCode: nationalCode, birthDate: birthDate }, @@ -114,7 +114,7 @@ function checkNationalCode(nationalCode, birthDate) { } else { $("#NationalitySelect").val(response.data.nationality).trigger('change'); } - + if (response.data.gender === "مرد") { $("#gender1").prop("checked", true); } else if (response.data.gender === "زن") { @@ -181,9 +181,8 @@ function checkNationalCode(nationalCode, birthDate) { $("#IdentityLoading").hide(); } - } - else if (response.data.authorizedCanceled) { + else if (response.data?.authorizedCanceled) { $(".checkByHistoryCode2").removeClass("disable"); $("#AuthorizedCanceled").removeClass("disable");