|
|
|
@ -4963,7 +4963,7 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1 |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
var entity = await base.QueryById(id); |
|
|
|
|
if (entity.IsSyncToStaff == true || await Db.Queryable<Ghra_Staff>().Where(x => x.IdCardNo == entity.IdCardNo).AnyAsync()) |
|
|
|
|
if (entity.IsSyncToStaff == true || await Db.Queryable<Ghra_Staff>().Where(x => x.IdCardNo == entity.IdCardNo && x.OutDate == null).AnyAsync()) |
|
|
|
|
{ |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
@ -5339,109 +5339,109 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1 |
|
|
|
|
#endregion |
|
|
|
|
|
|
|
|
|
#region 薪资项目同步 |
|
|
|
|
if (companyNo == "ShiHua") |
|
|
|
|
{ |
|
|
|
|
if (applyOrder != null && inTime != null && applyOrder.ProbationSalary != null) |
|
|
|
|
if (applyOrder.ProbationSalary > 0) |
|
|
|
|
{ |
|
|
|
|
var salaryConfig = await Db.Queryable<Ghrh_Config>().Where(x => x.ConfigCode == "ESS_Recruit_Custom_Check_In_Apply_Salary").FirstAsync(); |
|
|
|
|
var TempOrOfficial = salaryConfig?.ConfigValue ?? "Temp"; |
|
|
|
|
|
|
|
|
|
var IsEnable = 2; |
|
|
|
|
|
|
|
|
|
sql = $"SELECT SalaryChangeID FROM Ghrc_SalaryChange WHERE IsEnable>=1 and StaffID='{staffId}' and ChangeDate = '{inTime.Value.Date}'"; |
|
|
|
|
var SalaryChangeID = await Db.Ado.SqlQueryAsync<string>(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}', |
|
|
|
|
23, -- |
|
|
|
|
1130, -- |
|
|
|
|
0,'Todo',1,'', |
|
|
|
|
1,2,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); |
|
|
|
|
|
|
|
|
|
sql = @"UPDATE A
|
|
|
|
|
SET A.Reverse1 = b.SalaryItemNo, |
|
|
|
|
A.UpdateTime = getdate (), |
|
|
|
|
A.UpdateProg = 'SyncToStaff' |
|
|
|
|
FROM Ghrh_OfferApplyOrderSalary A |
|
|
|
|
JOIN Ghrc_SalaryItem b ON A.SalaryItemId = b.SalaryItemID |
|
|
|
|
WHERE A.Reverse1 IS NULL";
|
|
|
|
|
|
|
|
|
|
await Db.Ado.ExecuteCommandAsync(sql); |
|
|
|
|
|
|
|
|
|
var items = await Db.Queryable<Ghrh_OfferApplyOrderSalary>().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); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
// if (companyNo == "ShiHua") |
|
|
|
|
// { |
|
|
|
|
// if (applyOrder != null && inTime != null && applyOrder.ProbationSalary != null) |
|
|
|
|
// if (applyOrder.ProbationSalary > 0) |
|
|
|
|
// { |
|
|
|
|
// var salaryConfig = await Db.Queryable<Ghrh_Config>().Where(x => x.ConfigCode == "ESS_Recruit_Custom_Check_In_Apply_Salary").FirstAsync(); |
|
|
|
|
// var TempOrOfficial = salaryConfig?.ConfigValue ?? "Temp"; |
|
|
|
|
|
|
|
|
|
// var IsEnable = 2; |
|
|
|
|
|
|
|
|
|
// sql = $"SELECT SalaryChangeID FROM Ghrc_SalaryChange WHERE IsEnable>=1 and StaffID='{staffId}' and ChangeDate = '{inTime.Value.Date}'"; |
|
|
|
|
// var SalaryChangeID = await Db.Ado.SqlQueryAsync<string>(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}', |
|
|
|
|
// 23, -- |
|
|
|
|
// 1130, -- |
|
|
|
|
// 0,'Todo',1,'', |
|
|
|
|
// 1,2,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); |
|
|
|
|
|
|
|
|
|
// sql = @"UPDATE A |
|
|
|
|
// SET A.Reverse1 = b.SalaryItemNo, |
|
|
|
|
// A.UpdateTime = getdate (), |
|
|
|
|
// A.UpdateProg = 'SyncToStaff' |
|
|
|
|
// FROM Ghrh_OfferApplyOrderSalary A |
|
|
|
|
// JOIN Ghrc_SalaryItem b ON A.SalaryItemId = b.SalaryItemID |
|
|
|
|
// WHERE A.Reverse1 IS NULL"; |
|
|
|
|
|
|
|
|
|
// await Db.Ado.ExecuteCommandAsync(sql); |
|
|
|
|
|
|
|
|
|
// var items = await Db.Queryable<Ghrh_OfferApplyOrderSalary>().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 |
|
|
|
|
} |
|
|
|
|
await Db.Ado.CommitTranAsync(); |
|
|
|
|