From 5324cc64046545a1b7f65c16c0836725d5818362 Mon Sep 17 00:00:00 2001 From: xiaochanghai Date: Wed, 25 Dec 2024 14:54:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=96=E5=8D=8E=20=E8=96=AA=E8=B5=84?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ghrh/Ghrh_ResumeServices.cs | 94 ++++++++++++++++++- 1 file changed, 90 insertions(+), 4 deletions(-) diff --git a/Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs b/Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs index e918d951..dda2d286 100644 --- a/Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs +++ b/Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs @@ -4068,7 +4068,7 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1 DateTime? inTime = null; long? applyOrderId = null; - var applyOrder = await Db.Queryable().Where(x => x.ResumeId == id).FirstAsync(); + var applyOrder = await Db.Queryable().Where(x => x.ResumeId == id || x.IdCardNo == entity.IdCardNo).FirstAsync(); if (applyOrder != null) { inTime = applyOrder.InDate; @@ -4363,9 +4363,95 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1 #endregion #region 薪资项目同步 - if(applyOrderId != null) + if (inTime != null) { + var salaryConfig = await Db.Queryable().Where(x => x.ConfigCode == "ESS_Recruit_Custom_Check_In_Apply_Salary").FirstAsync(); + var TempOrOfficial = salaryConfig?.ConfigValue ?? "Temp"; + var IsEnable = 2; + + var sql = $"SELECT SalaryChangeID FROM Ghrc_SalaryChange WHERE IsEnable>=1 and StaffID='{staffId}' and ChangeDate = '{inTime.Value.Date}'"; + var SalaryChangeID = await Db.Ado.SqlQueryAsync(sql); + if (SalaryChangeID.Any()) + { + var sql1 = @$"UPDATE Ghrc_SalaryChange + SET IsEnable = 0, + UpdateBy = {App.User.ID}, + UpdateTime = GETDATE (), + UpdateProg = 'SyncToStaff' + WHERE SalaryChangeID = {SalaryChangeID[0]} AND IsEnable >= 1; + + UPDATE Ghrc_SalaryChangeDetail + SET IsEnable = 0, + UpdateBy = {App.User.ID}, + UpdateTime = GETDATE (), + UpdateProg = 'SyncToStaff' + WHERE SalaryChangeID = {SalaryChangeID[0]} AND IsEnable >= 1;"; + await Db.Ado.ExecuteCommandAsync(sql1); + } + + sql = @$"open symmetric key GHR50AesKey decryption by certificate TiobonGHRCer; + INSERT INTO [dbo].[Ghrc_SalaryChange] + ( StaffID,WorkNo, + ChangeDate, + ChangeTypeID , + ChangeReasonID , ChangeFlag, + ToDoType,WorkState,RemarkSz, + SortNo,IsEnable,IsDefault,OperateLogID, + CreateBy,CreateTime,CreateProg, + TotalAmount + ) + select {staffId},null, + '{inTime.Value.Date}', + 30, -- + 1135, -- + 0,'Todo',1,'', + 1,0,0,0, + {App.User.ID},GETDATE(), 'SyncToStaff', + dbo.FS_EncryptByKey({applyOrder?.ProbationSalary ?? 0}) + Declare @N_SCID int = SCOPE_IDENTITY() + select @N_SCID"; + + var @N_SCID = await Db.Ado.GetIntAsync(sql); + + + var items = await Db.Queryable().Where(x => x.OrderId == applyOrder.Id).ToListAsync(); + + var S02 = items.Where(x => x.Reverse1 == "S02").FirstOrDefault()?.Amount ?? 0; + var S03 = items.Where(x => x.Reverse1 == "S03").FirstOrDefault()?.Amount ?? 0; + var S04 = items.Where(x => x.Reverse1 == "S04").FirstOrDefault()?.Amount ?? 0; + var S05 = items.Where(x => x.Reverse1 == "S05").FirstOrDefault()?.Amount ?? 0; + var S06 = items.Where(x => x.Reverse1 == "S06").FirstOrDefault()?.Amount ?? 0; + var S21 = items.Where(x => x.Reverse1 == "S21").FirstOrDefault()?.Amount ?? 0; + var S22 = items.Where(x => x.Reverse1 == "S22").FirstOrDefault()?.Amount ?? 0; + var S23 = items.Where(x => x.Reverse1 == "S23").FirstOrDefault()?.Amount ?? 0; + var S66 = items.Where(x => x.Reverse1 == "S66").FirstOrDefault()?.Amount ?? 0; + var S68 = items.Where(x => x.Reverse1 == "S68").FirstOrDefault()?.Amount ?? 0; + var S70 = items.Where(x => x.Reverse1 == "S70").FirstOrDefault()?.Amount ?? 0; + + sql = @$"open symmetric key GHR50AesKey decryption by certificate TiobonGHRCer; + Declare @Regular_SalaryDetail table (SalaryItemNo nvarchar(100), Amount Decimal(18,2)) + insert into @Regular_SalaryDetail + select 'S02',{S02} + union all select 'S03',{S03} + union all select 'S04',{S04} + union all select 'S05',{S05} + union all select 'S06',{S06} + union all select 'S21',{S21} + union all select 'S22',{S22} + union all select 'S23',{S23} + union all select 'S66',{S66} + union all select 'S68',{S68} + union all select 'S70',{S70} + insert into ghrc_salaryChangeDetail(SalaryChangeID,StaffID,ChangeDate,SalaryItemID,Amount,CurrencyID,Createby,CreateProg, + Reverse1,IsEnable ) + select {@N_SCID},{staffId},'{inTime.Value.Date}',b.SalaryItemID,dbo.FS_EncryptByKey(a.Amount) Amount,2, + {App.User.ID}, 'SyncToStaff', + null, {IsEnable} IsEnable + from @Regular_SalaryDetail a inner join Ghrc_SalaryItem b on a.SalaryItemNo = b.SalaryItemNo + where b.IsEnable = 1 + and ISNULL(a.Amount,0) > 0"; + await Db.Ado.ExecuteCommandAsync(sql); } #endregion } @@ -4373,10 +4459,10 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1 return true; } - catch (Exception) + catch (Exception E) { await Db.Ado.RollbackTranAsync(); - throw; + throw E; } } #endregion