往期累计的在线获取
This commit is contained in:
parent
f245bd2f49
commit
6059174e7c
|
|
@ -7,3 +7,24 @@ alter table hrsa_add_up_situation add actual_add_up_advance_tax varchar2(255);
|
|||
alter table hrsa_add_up_situation add tax_adjustment varchar2(255);
|
||||
/
|
||||
|
||||
INSERT INTO hrsa_salary_sob_default_item(id, income_category, sys_salary_item_id, can_edit, can_delete, creator, create_time, update_time, delete_type, tenant_key, sob_default_item_group_id, sorted_index) VALUES (706066600446312885, 1, 674916065864646661, 1, 0, 0, '2022-03-14 11:32:30', '2022-03-18 16:59:24', 0, 'all_teams', 703433961629614119, 5);
|
||||
/
|
||||
|
||||
INSERT INTO hrsa_salary_sob_default_item(id, income_category, sys_salary_item_id, can_edit, can_delete, creator, create_time, update_time, delete_type, tenant_key, sob_default_item_group_id, sorted_index) VALUES (706066600446312886, 1, 674916065864646658, 1, 0, 0, '2022-03-14 11:32:30', '2022-03-18 16:59:24', 0, 'all_teams', 703433961629614119, 6);
|
||||
/
|
||||
|
||||
INSERT INTO hrsa_formula(id, name, description, module, use_for, reference_type, return_type, validate_type, extend_param, formula, formulaRunScript, creator, delete_type, create_time, update_time) VALUES (1693896072589, '当前累计减免税额合计', '备注', 'salary', 'salaryitem', 'formula', 'number', 'number', '{"isCustomFunction":"0","sqlReturnKey":"","openDecrypt":"0","datasource":{"datasourceId":""}}', '{薪资项目.本月(次)减免税额}+{往期累计情况.累计减免税额}', 'salaryItem_taxDeduction+addUpSituation_addUpTaxSavings', 27, 0, to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'), to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'));
|
||||
/
|
||||
|
||||
INSERT INTO hrsa_formula_var(id, name, formula_id, field_id, field_name, field_type, source, order_index, creator, delete_type, create_time, update_time) VALUES (1693896072606, '本月(次)减免税额', 1693896072589, 'salaryItem_taxDeduction', '{薪资项目.本月(次)减免税额}', 'number', 'salaryItem', 0, 27, 0, to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'), to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'));
|
||||
/
|
||||
|
||||
INSERT INTO hrsa_formula_var(id, name, formula_id, field_id, field_name, field_type, source, order_index, creator, delete_type, create_time, update_time) VALUES (1693896072611, '累计减免税额', 1693896072589, 'addUpSituation_addUpTaxSavings', '{往期累计情况.累计减免税额}', 'number', 'addUpSituation', 1, 27, 0, to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'), to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'));
|
||||
/
|
||||
|
||||
update hrsa_sys_salary_item set value_type = 2 ,formula_id =1693896072589 where id = 674916065864646658;
|
||||
/
|
||||
|
||||
update hrsa_salary_item set value_type =2 ,formula_id =1693896072589 where sys_salary_item_id = 674916065864646658;
|
||||
/
|
||||
|
||||
|
|
|
|||
|
|
@ -7,3 +7,24 @@ alter table hrsa_add_up_situation add actual_add_up_advance_tax varchar2(255);
|
|||
alter table hrsa_add_up_situation add tax_adjustment varchar2(255);
|
||||
/
|
||||
|
||||
INSERT INTO hrsa_salary_sob_default_item(id, income_category, sys_salary_item_id, can_edit, can_delete, creator, create_time, update_time, delete_type, tenant_key, sob_default_item_group_id, sorted_index) VALUES (706066600446312885, 1, 674916065864646661, 1, 0, 0, '2022-03-14 11:32:30', '2022-03-18 16:59:24', 0, 'all_teams', 703433961629614119, 5);
|
||||
/
|
||||
|
||||
INSERT INTO hrsa_salary_sob_default_item(id, income_category, sys_salary_item_id, can_edit, can_delete, creator, create_time, update_time, delete_type, tenant_key, sob_default_item_group_id, sorted_index) VALUES (706066600446312886, 1, 674916065864646658, 1, 0, 0, '2022-03-14 11:32:30', '2022-03-18 16:59:24', 0, 'all_teams', 703433961629614119, 6);
|
||||
/
|
||||
|
||||
INSERT INTO hrsa_formula(id, name, description, module, use_for, reference_type, return_type, validate_type, extend_param, formula, formulaRunScript, creator, delete_type, create_time, update_time) VALUES (1693896072589, '当前累计减免税额合计', '备注', 'salary', 'salaryitem', 'formula', 'number', 'number', '{"isCustomFunction":"0","sqlReturnKey":"","openDecrypt":"0","datasource":{"datasourceId":""}}', '{薪资项目.本月(次)减免税额}+{往期累计情况.累计减免税额}', 'salaryItem_taxDeduction+addUpSituation_addUpTaxSavings', 27, 0, to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'), to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'));
|
||||
/
|
||||
|
||||
INSERT INTO hrsa_formula_var(id, name, formula_id, field_id, field_name, field_type, source, order_index, creator, delete_type, create_time, update_time) VALUES (1693896072606, '本月(次)减免税额', 1693896072589, 'salaryItem_taxDeduction', '{薪资项目.本月(次)减免税额}', 'number', 'salaryItem', 0, 27, 0, to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'), to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'));
|
||||
/
|
||||
|
||||
INSERT INTO hrsa_formula_var(id, name, formula_id, field_id, field_name, field_type, source, order_index, creator, delete_type, create_time, update_time) VALUES (1693896072611, '累计减免税额', 1693896072589, 'addUpSituation_addUpTaxSavings', '{往期累计情况.累计减免税额}', 'number', 'addUpSituation', 1, 27, 0, to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'), to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'));
|
||||
/
|
||||
|
||||
update hrsa_sys_salary_item set value_type = 2 ,formula_id =1693896072589 where id = 674916065864646658;
|
||||
/
|
||||
|
||||
update hrsa_salary_item set value_type =2 ,formula_id =1693896072589 where sys_salary_item_id = 674916065864646658;
|
||||
/
|
||||
|
||||
|
|
|
|||
|
|
@ -7,3 +7,24 @@ alter table hrsa_add_up_situation add actual_add_up_advance_tax varchar2(255);
|
|||
alter table hrsa_add_up_situation add tax_adjustment varchar2(255);
|
||||
/
|
||||
|
||||
INSERT INTO hrsa_salary_sob_default_item(id, income_category, sys_salary_item_id, can_edit, can_delete, creator, create_time, update_time, delete_type, tenant_key, sob_default_item_group_id, sorted_index) VALUES (706066600446312885, 1, 674916065864646661, 1, 0, 0, '2022-03-14 11:32:30', '2022-03-18 16:59:24', 0, 'all_teams', 703433961629614119, 5);
|
||||
/
|
||||
|
||||
INSERT INTO hrsa_salary_sob_default_item(id, income_category, sys_salary_item_id, can_edit, can_delete, creator, create_time, update_time, delete_type, tenant_key, sob_default_item_group_id, sorted_index) VALUES (706066600446312886, 1, 674916065864646658, 1, 0, 0, '2022-03-14 11:32:30', '2022-03-18 16:59:24', 0, 'all_teams', 703433961629614119, 6);
|
||||
/
|
||||
|
||||
INSERT INTO hrsa_formula(id, name, description, module, use_for, reference_type, return_type, validate_type, extend_param, formula, formulaRunScript, creator, delete_type, create_time, update_time) VALUES (1693896072589, '当前累计减免税额合计', '备注', 'salary', 'salaryitem', 'formula', 'number', 'number', '{"isCustomFunction":"0","sqlReturnKey":"","openDecrypt":"0","datasource":{"datasourceId":""}}', '{薪资项目.本月(次)减免税额}+{往期累计情况.累计减免税额}', 'salaryItem_taxDeduction+addUpSituation_addUpTaxSavings', 27, 0, to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'), to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'));
|
||||
/
|
||||
|
||||
INSERT INTO hrsa_formula_var(id, name, formula_id, field_id, field_name, field_type, source, order_index, creator, delete_type, create_time, update_time) VALUES (1693896072606, '本月(次)减免税额', 1693896072589, 'salaryItem_taxDeduction', '{薪资项目.本月(次)减免税额}', 'number', 'salaryItem', 0, 27, 0, to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'), to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'));
|
||||
/
|
||||
|
||||
INSERT INTO hrsa_formula_var(id, name, formula_id, field_id, field_name, field_type, source, order_index, creator, delete_type, create_time, update_time) VALUES (1693896072611, '累计减免税额', 1693896072589, 'addUpSituation_addUpTaxSavings', '{往期累计情况.累计减免税额}', 'number', 'addUpSituation', 1, 27, 0, to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'), to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'));
|
||||
/
|
||||
|
||||
update hrsa_sys_salary_item set value_type = 2 ,formula_id =1693896072589 where id = 674916065864646658;
|
||||
/
|
||||
|
||||
update hrsa_salary_item set value_type =2 ,formula_id =1693896072589 where sys_salary_item_id = 674916065864646658;
|
||||
/
|
||||
|
||||
|
|
|
|||
|
|
@ -3,4 +3,17 @@ alter table hrsa_add_up_situation add add_up_taxable_income varchar(255)
|
|||
alter table hrsa_add_up_situation add actual_add_up_advance_tax varchar(255)
|
||||
;
|
||||
alter table hrsa_add_up_situation add tax_adjustment varchar(255)
|
||||
;
|
||||
;
|
||||
|
||||
INSERT INTO hrsa_salary_sob_default_item(id, income_category, sys_salary_item_id, can_edit, can_delete, creator, create_time, update_time, delete_type, tenant_key, sob_default_item_group_id, sorted_index) VALUES (706066600446312885, 1, 674916065864646661, 1, 0, 0, '2022-03-14 11:32:30', '2022-03-18 16:59:24', 0, 'all_teams', 703433961629614119, 5);
|
||||
INSERT INTO hrsa_salary_sob_default_item(id, income_category, sys_salary_item_id, can_edit, can_delete, creator, create_time, update_time, delete_type, tenant_key, sob_default_item_group_id, sorted_index) VALUES (706066600446312886, 1, 674916065864646658, 1, 0, 0, '2022-03-14 11:32:30', '2022-03-18 16:59:24', 0, 'all_teams', 703433961629614119, 6);
|
||||
|
||||
INSERT INTO hrsa_formula(id, name, description, module, use_for, reference_type, return_type, validate_type, extend_param, formula, formulaRunScript, creator, delete_type, create_time, update_time) VALUES (1693896072589, '当前累计减免税额合计', '备注', 'salary', 'salaryitem', 'formula', 'number', 'number', '{"isCustomFunction":"0","sqlReturnKey":"","openDecrypt":"0","datasource":{"datasourceId":""}}', '{薪资项目.本月(次)减免税额}+{往期累计情况.累计减免税额}', 'salaryItem_taxDeduction+addUpSituation_addUpTaxSavings', 27, 0, '2023-09-05 14:41:12', '2023-09-05 14:41:12');
|
||||
|
||||
INSERT INTO hrsa_formula_var(id, name, formula_id, field_id, field_name, field_type, source, order_index, creator, delete_type, create_time, update_time) VALUES (1693896072606, '本月(次)减免税额', 1693896072589, 'salaryItem_taxDeduction', '{薪资项目.本月(次)减免税额}', 'number', 'salaryItem', 0, 27, 0, '2023-09-05 14:41:12', '2023-09-05 14:41:12');
|
||||
|
||||
INSERT INTO hrsa_formula_var(id, name, formula_id, field_id, field_name, field_type, source, order_index, creator, delete_type, create_time, update_time) VALUES (1693896072611, '累计减免税额', 1693896072589, 'addUpSituation_addUpTaxSavings', '{往期累计情况.累计减免税额}', 'number', 'addUpSituation', 1, 27, 0, '2023-09-05 14:41:12', '2023-09-05 14:41:12');
|
||||
|
||||
update hrsa_sys_salary_item set value_type = 2 ,formula_id =1693896072589 where id = 674916065864646658;
|
||||
|
||||
update hrsa_salary_item set value_type =2 ,formula_id =1693896072589 where sys_salary_item_id = 674916065864646658;
|
||||
|
|
@ -3,4 +3,21 @@ alter table hrsa_add_up_situation add add_up_taxable_income varchar2(255)
|
|||
alter table hrsa_add_up_situation add actual_add_up_advance_tax varchar2(255)
|
||||
/
|
||||
alter table hrsa_add_up_situation add tax_adjustment varchar2(255)
|
||||
/
|
||||
INSERT INTO hrsa_salary_sob_default_item(id, income_category, sys_salary_item_id, can_edit, can_delete, creator, create_time, update_time, delete_type, tenant_key, sob_default_item_group_id, sorted_index) VALUES (706066600446312885, 1, 674916065864646661, 1, 0, 0, '2022-03-14 11:32:30', '2022-03-18 16:59:24', 0, 'all_teams', 703433961629614119, 5)
|
||||
/
|
||||
INSERT INTO hrsa_salary_sob_default_item(id, income_category, sys_salary_item_id, can_edit, can_delete, creator, create_time, update_time, delete_type, tenant_key, sob_default_item_group_id, sorted_index) VALUES (706066600446312886, 1, 674916065864646658, 1, 0, 0, '2022-03-14 11:32:30', '2022-03-18 16:59:24', 0, 'all_teams', 703433961629614119, 6)
|
||||
/
|
||||
|
||||
INSERT INTO hrsa_formula(id, name, description, module, use_for, reference_type, return_type, validate_type, extend_param, formula, formulaRunScript, creator, delete_type, create_time, update_time) VALUES (1693896072589, '当前累计减免税额合计', '备注', 'salary', 'salaryitem', 'formula', 'number', 'number', '{"isCustomFunction":"0","sqlReturnKey":"","openDecrypt":"0","datasource":{"datasourceId":""}}', '{薪资项目.本月(次)减免税额}+{往期累计情况.累计减免税额}', 'salaryItem_taxDeduction+addUpSituation_addUpTaxSavings', 27, 0, to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'), to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'))
|
||||
/
|
||||
INSERT INTO hrsa_formula_var(id, name, formula_id, field_id, field_name, field_type, source, order_index, creator, delete_type, create_time, update_time) VALUES (1693896072606, '本月(次)减免税额', 1693896072589, 'salaryItem_taxDeduction', '{薪资项目.本月(次)减免税额}', 'number', 'salaryItem', 0, 27, 0, to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'), to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'))
|
||||
/
|
||||
INSERT INTO hrsa_formula_var(id, name, formula_id, field_id, field_name, field_type, source, order_index, creator, delete_type, create_time, update_time) VALUES (1693896072611, '累计减免税额', 1693896072589, 'addUpSituation_addUpTaxSavings', '{往期累计情况.累计减免税额}', 'number', 'addUpSituation', 1, 27, 0, to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'), to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'))
|
||||
/
|
||||
|
||||
update hrsa_sys_salary_item set value_type = 2 ,formula_id =1693896072589 where id = 674916065864646658
|
||||
/
|
||||
|
||||
update hrsa_salary_item set value_type =2 ,formula_id =1693896072589 where sys_salary_item_id = 674916065864646658
|
||||
/
|
||||
|
|
@ -1,6 +1,25 @@
|
|||
alter table hrsa_add_up_situation add add_up_taxable_income varchar(255);
|
||||
alter table hrsa_add_up_situation add add_up_taxable_income varchar(255)
|
||||
/
|
||||
alter table hrsa_add_up_situation add actual_add_up_advance_tax varchar(255);
|
||||
alter table hrsa_add_up_situation add actual_add_up_advance_tax varchar(255)
|
||||
/
|
||||
alter table hrsa_add_up_situation add tax_adjustment varchar(255);
|
||||
alter table hrsa_add_up_situation add tax_adjustment varchar(255)
|
||||
/
|
||||
INSERT INTO hrsa_salary_sob_default_item(id, income_category, sys_salary_item_id, can_edit, can_delete, creator, create_time, update_time, delete_type, tenant_key, sob_default_item_group_id, sorted_index) VALUES (706066600446312885, 1, 674916065864646661, 1, 0, 0, '2022-03-14 11:32:30', '2022-03-18 16:59:24', 0, 'all_teams', 703433961629614119, 5)
|
||||
/
|
||||
INSERT INTO hrsa_salary_sob_default_item(id, income_category, sys_salary_item_id, can_edit, can_delete, creator, create_time, update_time, delete_type, tenant_key, sob_default_item_group_id, sorted_index) VALUES (706066600446312886, 1, 674916065864646658, 1, 0, 0, '2022-03-14 11:32:30', '2022-03-18 16:59:24', 0, 'all_teams', 703433961629614119, 6)
|
||||
/
|
||||
|
||||
INSERT INTO hrsa_formula(id, name, description, module, use_for, reference_type, return_type, validate_type, extend_param, formula, formulaRunScript, creator, delete_type, create_time, update_time) VALUES (1693896072589, '当前累计减免税额合计', '备注', 'salary', 'salaryitem', 'formula', 'number', 'number', '{"isCustomFunction":"0","sqlReturnKey":"","openDecrypt":"0","datasource":{"datasourceId":""}}', '{薪资项目.本月(次)减免税额}+{往期累计情况.累计减免税额}', 'salaryItem_taxDeduction+addUpSituation_addUpTaxSavings', 27, 0, '2023-09-05 14:41:12', '2023-09-05 14:41:12')
|
||||
/
|
||||
|
||||
INSERT INTO hrsa_formula_var(id, name, formula_id, field_id, field_name, field_type, source, order_index, creator, delete_type, create_time, update_time) VALUES (1693896072606, '本月(次)减免税额', 1693896072589, 'salaryItem_taxDeduction', '{薪资项目.本月(次)减免税额}', 'number', 'salaryItem', 0, 27, 0, '2023-09-05 14:41:12', '2023-09-05 14:41:12')
|
||||
/
|
||||
|
||||
INSERT INTO hrsa_formula_var(id, name, formula_id, field_id, field_name, field_type, source, order_index, creator, delete_type, create_time, update_time) VALUES (1693896072611, '累计减免税额', 1693896072589, 'addUpSituation_addUpTaxSavings', '{往期累计情况.累计减免税额}', 'number', 'addUpSituation', 1, 27, 0, '2023-09-05 14:41:12', '2023-09-05 14:41:12')
|
||||
/
|
||||
|
||||
update hrsa_sys_salary_item set value_type = 2 ,formula_id =1693896072589 where id = 674916065864646658
|
||||
/
|
||||
|
||||
update hrsa_salary_item set value_type =2 ,formula_id =1693896072589 where sys_salary_item_id = 674916065864646658
|
||||
/
|
||||
|
|
@ -3,4 +3,23 @@ GO
|
|||
alter table hrsa_add_up_situation add actual_add_up_advance_tax nvarchar(255)
|
||||
GO
|
||||
alter table hrsa_add_up_situation add tax_adjustment nvarchar(255)
|
||||
GO
|
||||
|
||||
INSERT INTO hrsa_salary_sob_default_item(id, income_category, sys_salary_item_id, can_edit, can_delete, creator, create_time, update_time, delete_type, tenant_key, sob_default_item_group_id, sorted_index) VALUES (706066600446312885, 1, 674916065864646661, 1, 0, 0, '2022-03-14 11:32:30', '2022-03-18 16:59:24', 0, 'all_teams', 703433961629614119, 5)
|
||||
GO
|
||||
|
||||
INSERT INTO hrsa_salary_sob_default_item(id, income_category, sys_salary_item_id, can_edit, can_delete, creator, create_time, update_time, delete_type, tenant_key, sob_default_item_group_id, sorted_index) VALUES (706066600446312886, 1, 674916065864646658, 1, 0, 0, '2022-03-14 11:32:30', '2022-03-18 16:59:24', 0, 'all_teams', 703433961629614119, 6)
|
||||
GO
|
||||
|
||||
INSERT INTO hrsa_formula(id, name, description, module, use_for, reference_type, return_type, validate_type, extend_param, formula, formulaRunScript, creator, delete_type, create_time, update_time) VALUES (1693896072589, '当前累计减免税额合计', '备注', 'salary', 'salaryitem', 'formula', 'number', 'number', '{"isCustomFunction":"0","sqlReturnKey":"","openDecrypt":"0","datasource":{"datasourceId":""}}', '{薪资项目.本月(次)减免税额}+{往期累计情况.累计减免税额}', 'salaryItem_taxDeduction+addUpSituation_addUpTaxSavings', 27, 0, '2023-09-05 14:41:12', '2023-09-05 14:41:12')
|
||||
GO
|
||||
INSERT INTO hrsa_formula_var(id, name, formula_id, field_id, field_name, field_type, source, order_index, creator, delete_type, create_time, update_time) VALUES (1693896072606, '本月(次)减免税额', 1693896072589, 'salaryItem_taxDeduction', '{薪资项目.本月(次)减免税额}', 'number', 'salaryItem', 0, 27, 0, '2023-09-05 14:41:12', '2023-09-05 14:41:12')
|
||||
GO
|
||||
INSERT INTO hrsa_formula_var(id, name, formula_id, field_id, field_name, field_type, source, order_index, creator, delete_type, create_time, update_time) VALUES (1693896072611, '累计减免税额', 1693896072589, 'addUpSituation_addUpTaxSavings', '{往期累计情况.累计减免税额}', 'number', 'addUpSituation', 1, 27, 0, '2023-09-05 14:41:12', '2023-09-05 14:41:12')
|
||||
GO
|
||||
|
||||
update hrsa_sys_salary_item set value_type = 2 ,formula_id =1693896072589 where id = 674916065864646658
|
||||
GO
|
||||
|
||||
update hrsa_salary_item set value_type =2 ,formula_id =1693896072589 where sys_salary_item_id = 674916065864646658
|
||||
GO
|
||||
|
|
@ -7,3 +7,24 @@ alter table hrsa_add_up_situation add actual_add_up_advance_tax varchar2(255);
|
|||
alter table hrsa_add_up_situation add tax_adjustment varchar2(255);
|
||||
/
|
||||
|
||||
INSERT INTO hrsa_salary_sob_default_item(id, income_category, sys_salary_item_id, can_edit, can_delete, creator, create_time, update_time, delete_type, tenant_key, sob_default_item_group_id, sorted_index) VALUES (706066600446312885, 1, 674916065864646661, 1, 0, 0, '2022-03-14 11:32:30', '2022-03-18 16:59:24', 0, 'all_teams', 703433961629614119, 5);
|
||||
/
|
||||
|
||||
INSERT INTO hrsa_salary_sob_default_item(id, income_category, sys_salary_item_id, can_edit, can_delete, creator, create_time, update_time, delete_type, tenant_key, sob_default_item_group_id, sorted_index) VALUES (706066600446312886, 1, 674916065864646658, 1, 0, 0, '2022-03-14 11:32:30', '2022-03-18 16:59:24', 0, 'all_teams', 703433961629614119, 6);
|
||||
/
|
||||
|
||||
INSERT INTO hrsa_formula(id, name, description, module, use_for, reference_type, return_type, validate_type, extend_param, formula, formulaRunScript, creator, delete_type, create_time, update_time) VALUES (1693896072589, '当前累计减免税额合计', '备注', 'salary', 'salaryitem', 'formula', 'number', 'number', '{"isCustomFunction":"0","sqlReturnKey":"","openDecrypt":"0","datasource":{"datasourceId":""}}', '{薪资项目.本月(次)减免税额}+{往期累计情况.累计减免税额}', 'salaryItem_taxDeduction+addUpSituation_addUpTaxSavings', 27, 0, to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'), to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'));
|
||||
/
|
||||
|
||||
INSERT INTO hrsa_formula_var(id, name, formula_id, field_id, field_name, field_type, source, order_index, creator, delete_type, create_time, update_time) VALUES (1693896072606, '本月(次)减免税额', 1693896072589, 'salaryItem_taxDeduction', '{薪资项目.本月(次)减免税额}', 'number', 'salaryItem', 0, 27, 0, to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'), to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'));
|
||||
/
|
||||
|
||||
INSERT INTO hrsa_formula_var(id, name, formula_id, field_id, field_name, field_type, source, order_index, creator, delete_type, create_time, update_time) VALUES (1693896072611, '累计减免税额', 1693896072589, 'addUpSituation_addUpTaxSavings', '{往期累计情况.累计减免税额}', 'number', 'addUpSituation', 1, 27, 0, to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'), to_date('2022-05-10 16:03:02','yyyy-MM-dd HH24:mi:ss'));
|
||||
/
|
||||
|
||||
update hrsa_sys_salary_item set value_type = 2 ,formula_id =1693896072589 where id = 674916065864646658;
|
||||
/
|
||||
|
||||
update hrsa_salary_item set value_type =2 ,formula_id =1693896072589 where sys_salary_item_id = 674916065864646658;
|
||||
/
|
||||
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ public class AddUpSituation {
|
|||
/**
|
||||
* 累计子女教育
|
||||
*/
|
||||
@SalaryFormulaVar(defaultLabel = "累计子女教育", labelId = 86321, dataType = "number")
|
||||
// @SalaryFormulaVar(defaultLabel = "累计子女教育", labelId = 86321, dataType = "number")
|
||||
@Encrypt
|
||||
@Deprecated
|
||||
private String addUpChildEducation;
|
||||
|
|
@ -95,7 +95,7 @@ public class AddUpSituation {
|
|||
/**
|
||||
* 累计继续教育
|
||||
*/
|
||||
@SalaryFormulaVar(defaultLabel = "累计继续教育", labelId = 86323, dataType = "number")
|
||||
// @SalaryFormulaVar(defaultLabel = "累计继续教育", labelId = 86323, dataType = "number")
|
||||
@Encrypt
|
||||
@Deprecated
|
||||
private String addUpContinuingEducation;
|
||||
|
|
@ -103,7 +103,7 @@ public class AddUpSituation {
|
|||
/**
|
||||
* 累计住房贷款利息
|
||||
*/
|
||||
@SalaryFormulaVar(defaultLabel = "累计住房贷款利息", labelId = 86324, dataType = "number")
|
||||
// @SalaryFormulaVar(defaultLabel = "累计住房贷款利息", labelId = 86324, dataType = "number")
|
||||
@Encrypt
|
||||
@Deprecated
|
||||
private String addUpHousingLoanInterest;
|
||||
|
|
@ -111,7 +111,7 @@ public class AddUpSituation {
|
|||
/**
|
||||
* 累计住房租金
|
||||
*/
|
||||
@SalaryFormulaVar(defaultLabel = "累计住房租金", labelId = 86325, dataType = "number")
|
||||
// @SalaryFormulaVar(defaultLabel = "累计住房租金", labelId = 86325, dataType = "number")
|
||||
@Encrypt
|
||||
@Deprecated
|
||||
private String addUpHousingRent;
|
||||
|
|
@ -119,7 +119,7 @@ public class AddUpSituation {
|
|||
/**
|
||||
* 累计赡养老人
|
||||
*/
|
||||
@SalaryFormulaVar(defaultLabel = "累计赡养老人", labelId = 86326, dataType = "number")
|
||||
// @SalaryFormulaVar(defaultLabel = "累计赡养老人", labelId = 86326, dataType = "number")
|
||||
@Encrypt
|
||||
@Deprecated
|
||||
private String addUpSupportElderly;
|
||||
|
|
@ -127,7 +127,7 @@ public class AddUpSituation {
|
|||
/**
|
||||
* 累计大病医疗
|
||||
*/
|
||||
@SalaryFormulaVar(defaultLabel = "累计大病医疗", labelId = 105142, dataType = "number")
|
||||
// @SalaryFormulaVar(defaultLabel = "累计大病医疗", labelId = 105142, dataType = "number")
|
||||
@Encrypt
|
||||
@Deprecated
|
||||
private String addUpIllnessMedical;
|
||||
|
|
@ -135,7 +135,7 @@ public class AddUpSituation {
|
|||
/**
|
||||
* 累计婴幼儿照护
|
||||
*/
|
||||
@SalaryFormulaVar(defaultLabel = "累计婴幼儿照护", labelId = 117732, dataType = "number")
|
||||
// @SalaryFormulaVar(defaultLabel = "累计婴幼儿照护", labelId = 117732, dataType = "number")
|
||||
@Encrypt
|
||||
@Deprecated
|
||||
private String addUpInfantCare;
|
||||
|
|
@ -143,7 +143,7 @@ public class AddUpSituation {
|
|||
/**
|
||||
* 累计婴幼儿照护
|
||||
*/
|
||||
@SalaryFormulaVar(defaultLabel = "累计个人养老金", labelId = 117732, dataType = "number")
|
||||
// @SalaryFormulaVar(defaultLabel = "累计个人养老金", labelId = 117732, dataType = "number")
|
||||
@Encrypt
|
||||
@Deprecated
|
||||
private String addUpPrivatePension;
|
||||
|
|
@ -191,14 +191,14 @@ public class AddUpSituation {
|
|||
private String addUpAdvanceTax;
|
||||
|
||||
/**
|
||||
* 累计已预扣预缴税额
|
||||
* 实际累计已预扣预缴税额
|
||||
*/
|
||||
@SalaryFormulaVar(defaultLabel = "实际累计已预扣预缴税额", labelId = 233557, dataType = "number")
|
||||
@Encrypt
|
||||
private String actualAddUpAdvanceTax;
|
||||
|
||||
/**
|
||||
* 累计已预扣预缴税额
|
||||
* 个税调差
|
||||
*/
|
||||
@SalaryFormulaVar(defaultLabel = "个税调差", labelId = 233559, dataType = "number")
|
||||
@Encrypt
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
package com.engine.salary.entity.salaryacct.po;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
|
|
@ -15,7 +17,10 @@ import java.util.Date;
|
|||
* @version 1.0
|
||||
**/
|
||||
@Data
|
||||
@Builder
|
||||
@Accessors(chain = true)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
// "hrsa_acct_tax_agent")
|
||||
public class SalaryAcctTaxAgentPO {
|
||||
|
||||
|
|
@ -67,10 +72,15 @@ public class SalaryAcctTaxAgentPO {
|
|||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime createTime;
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private LocalDateTime updateTime;
|
||||
private Date updateTime;
|
||||
|
||||
|
||||
|
||||
private Date startMonth;
|
||||
private Date endMonth;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,26 @@
|
|||
package com.engine.salary.mapper.salaryacct;
|
||||
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctTaxAgentPO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description: 薪资核算记录对应的个税扣缴义务人
|
||||
* @author: xiajun
|
||||
* @modified By: xiajun
|
||||
* @date: Created in 2022/11/22 1:47 PM
|
||||
* @version:v1.0
|
||||
*/
|
||||
public interface SalaryAcctTaxAgentMapper {
|
||||
|
||||
/**
|
||||
* 获取核算记录和扣缴义务人对应关系
|
||||
* @param salaryAcctIds
|
||||
* @return
|
||||
*/
|
||||
List<SalaryAcctTaxAgentPO> listAcctTaxAgent(@Param("salaryAcctRecordIds") Collection<Long> salaryAcctIds);
|
||||
|
||||
List<SalaryAcctTaxAgentPO> listByTaxCycleRange(SalaryAcctTaxAgentPO queryWrapper);
|
||||
}
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="com.engine.salary.mapper.salaryacct.SalaryAcctTaxAgentMapper">
|
||||
<select id="listAcctTaxAgent" resultType="com.engine.salary.entity.salaryacct.po.SalaryAcctTaxAgentPO">
|
||||
select record.id as salaryAcctRecordId,
|
||||
sob.income_category as incomeCategory,
|
||||
sob.tax_agent_id as taxAgentId,
|
||||
record.salary_month as salaryMonth,
|
||||
record.tax_cycle as taxCycle
|
||||
FROM hrsa_salary_acct_record record
|
||||
left join hrsa_salary_sob sob
|
||||
on record.salary_sob_id = sob.id
|
||||
where record.delete_type = 0 and sob.delete_type = 0
|
||||
<if test="salaryAcctRecordIds != null and salaryAcctRecordIds.size()>0">
|
||||
AND record.id IN
|
||||
<foreach collection="salaryAcctRecordIds" open="(" item="salaryAcctRecordId" separator="," close=")">
|
||||
#{salaryAcctRecordId}
|
||||
</foreach>
|
||||
</if>
|
||||
|
||||
</select>
|
||||
|
||||
|
||||
<select id="listByTaxCycleRange" resultType="com.engine.salary.entity.salaryacct.po.SalaryAcctTaxAgentPO">
|
||||
select record.id as salaryAcctRecordId,
|
||||
sob.income_category as incomeCategory,
|
||||
sob.tax_agent_id as taxAgentId,
|
||||
record.salary_month as salaryMonth,
|
||||
record.tax_cycle as taxCycle
|
||||
FROM hrsa_salary_acct_record record
|
||||
left join hrsa_salary_sob sob
|
||||
on record.salary_sob_id = sob.id
|
||||
where record.delete_type = 0 and sob.delete_type = 0
|
||||
<if test="startMonth != null">
|
||||
AND record.tax_cycle >=#{startMonth}
|
||||
</if>
|
||||
<if test="endMonth != null">
|
||||
AND record.tax_cycle <=#{endMonth}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
@ -124,6 +124,13 @@ public interface SalaryAcctRecordService {
|
|||
*/
|
||||
Long save(SalaryAcctRecordSaveParam saveParam);
|
||||
|
||||
/**
|
||||
* 保存之前检查一下是否可以新建核算
|
||||
*
|
||||
* @param salaryAcctTaxAgents
|
||||
*/
|
||||
void checkBeforeSave(SalaryAcctRecordPO salaryAcctRecord, List<SalaryAcctTaxAgentPO> salaryAcctTaxAgents);
|
||||
|
||||
/**
|
||||
* 更新薪资核算记录的状态
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
package com.engine.salary.service;
|
||||
|
||||
import com.engine.salary.common.YearMonthRange;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctTaxAgentPO;
|
||||
|
||||
import java.util.Collection;
|
||||
|
|
@ -33,25 +32,25 @@ public interface SalaryAcctTaxAgentService {
|
|||
*/
|
||||
List<SalaryAcctTaxAgentPO> listByTaxCycleRange(YearMonthRange taxCycleRange);
|
||||
|
||||
/**
|
||||
* 根据薪资核算人员初始化
|
||||
*
|
||||
* @param salaryAcctEmployees
|
||||
* @return
|
||||
*/
|
||||
List<SalaryAcctTaxAgentPO> initBySalaryAcctEmployees(List<SalaryAcctEmployeePO> salaryAcctEmployees);
|
||||
|
||||
/**
|
||||
* 批量保存
|
||||
*
|
||||
* @param salaryAcctTaxAgents
|
||||
*/
|
||||
void batchSave(List<SalaryAcctTaxAgentPO> salaryAcctTaxAgents);
|
||||
|
||||
/**
|
||||
* 根据薪资核算记录id删除关联的个税扣缴义务人
|
||||
*
|
||||
* @param salaryAcctRecordIds
|
||||
*/
|
||||
void deleteBySalaryAcctRecordIds(Collection<Long> salaryAcctRecordIds);
|
||||
// /**
|
||||
// * 根据薪资核算人员初始化
|
||||
// *
|
||||
// * @param salaryAcctEmployees
|
||||
// * @return
|
||||
// */
|
||||
// List<SalaryAcctTaxAgentPO> initBySalaryAcctEmployees(List<SalaryAcctEmployeePO> salaryAcctEmployees);
|
||||
//
|
||||
// /**
|
||||
// * 批量保存
|
||||
// *
|
||||
// * @param salaryAcctTaxAgents
|
||||
// */
|
||||
// void batchSave(List<SalaryAcctTaxAgentPO> salaryAcctTaxAgents);
|
||||
//
|
||||
// /**
|
||||
// * 根据薪资核算记录id删除关联的个税扣缴义务人
|
||||
// *
|
||||
// * @param salaryAcctRecordIds
|
||||
// */
|
||||
// void deleteBySalaryAcctRecordIds(Collection<Long> salaryAcctRecordIds);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.engine.salary.service;
|
||||
|
||||
import com.engine.salary.common.YearMonthRange;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
|
||||
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
|
||||
import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationListQueryParam;
|
||||
|
|
@ -59,4 +60,14 @@ public interface TaxDeclarationService {
|
|||
void deleteByTaxDeclareRecordIds(Collection<Long> taxDeclareRecordIds);
|
||||
|
||||
void saveBatch(List<TaxDeclarationPO> taxDeclarations);
|
||||
|
||||
|
||||
/**
|
||||
* 根据税款所属期查询个税申报表
|
||||
*
|
||||
* @param yearMonthRange
|
||||
* @return
|
||||
*/
|
||||
List<TaxDeclarationPO> listByTaxCycleRange(YearMonthRange yearMonthRange);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import com.api.formmode.mybatis.util.SqlProxyHandle;
|
|||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.common.LocalDateRange;
|
||||
import com.engine.salary.common.YearMonthRange;
|
||||
import com.engine.salary.entity.salaryBill.po.SalarySendPO;
|
||||
import com.engine.salary.entity.salaryacct.bo.SalaryAcctRecordBO;
|
||||
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordQueryParam;
|
||||
|
|
@ -14,6 +15,8 @@ import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO;
|
|||
import com.engine.salary.entity.salaryacct.po.SalaryAcctTaxAgentPO;
|
||||
import com.engine.salary.entity.salarysob.dto.SalarySobCycleDTO;
|
||||
import com.engine.salary.entity.salarysob.po.SalarySobPO;
|
||||
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
|
||||
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationPO;
|
||||
import com.engine.salary.enums.salaryaccounting.SalaryAcctRecordStatusEnum;
|
||||
import com.engine.salary.enums.salarysob.IncomeCategoryEnum;
|
||||
import com.engine.salary.exception.SalaryRunTimeException;
|
||||
|
|
@ -32,6 +35,8 @@ import com.engine.salary.util.db.MapperProxyFactory;
|
|||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.engine.salary.util.page.SalaryPageUtil;
|
||||
import com.engine.salary.util.valid.ValidUtil;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Sets;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.math.NumberUtils;
|
||||
|
|
@ -78,6 +83,10 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
|
|||
return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalaryAcctTaxAgentService getSalaryAcctTaxAgentService(User user) {
|
||||
return ServiceUtil.getService(SalaryAcctTaxAgentServiceImpl.class, user);
|
||||
}
|
||||
|
||||
// private SalaryCheckResultService salaryCheckResultService;
|
||||
//
|
||||
// private SalaryCheckResultDetailService salaryCheckResultDetailService;
|
||||
|
|
@ -271,9 +280,11 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
|
|||
public Long save(SalaryAcctRecordSaveParam saveParam) {
|
||||
ValidUtil.doValidator(saveParam);
|
||||
//检查
|
||||
checkBeforeSave(saveParam);
|
||||
// checkBeforeSave(saveParam);
|
||||
|
||||
|
||||
SalarySobPO salarySobPO = getSalarySobService(user).getById(saveParam.getSalarySobId());
|
||||
|
||||
// 查询税款所属期
|
||||
SalarySobCycleDTO salarySobCycleDTO = getSalarySobService(user).getSalarySobCycle(saveParam.getSalarySobId(), saveParam.getSalaryMonth());
|
||||
// 薪资所属月所在年的日期范围(第一天~最后一天)
|
||||
|
|
@ -293,12 +304,20 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
|
|||
|
||||
// 转换成po
|
||||
SalaryAcctRecordPO salaryAcctRecordPO = SalaryAcctRecordBO.convert2PO(saveParam, salarySobCycleDTO, (int) acctTimes, (long) user.getUID());
|
||||
|
||||
//检查
|
||||
// 检查是否能够新建核算
|
||||
SalaryAcctTaxAgentPO build = SalaryAcctTaxAgentPO.builder().incomeCategory(salarySobPO.getIncomeCategory()).taxAgentId(salarySobPO.getTaxAgentId()).taxCycle(salaryAcctRecordPO.getTaxCycle()).build();
|
||||
List<SalaryAcctTaxAgentPO> salaryAcctTaxAgents = new ArrayList<>();
|
||||
salaryAcctTaxAgents.add(build);
|
||||
checkBeforeSave(salaryAcctRecordPO, salaryAcctTaxAgents);
|
||||
|
||||
// 保存薪资核算记录
|
||||
getSalaryAcctRecordMapper().insertIgnoreNull(salaryAcctRecordPO);
|
||||
// 初始化薪资核算人员
|
||||
getSalaryAcctEmployeeService(user).initBySalaryAcctRecord(salaryAcctRecordPO);
|
||||
// 记录日志
|
||||
// String targetName = getLogTargetNameById(salaryAcctRecordPO.getId(), tenantKey);
|
||||
// String targetName = getLogTargetNameById(salaryAcctRecordPO.getId());
|
||||
// LoggerContext<SalaryAcctRecordPO> loggerContext = new LoggerContext<>();
|
||||
// loggerContext.setTargetId("" + salaryAcctRecordPO.getId());
|
||||
// loggerContext.setTargetName(targetName);
|
||||
|
|
@ -438,6 +457,136 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
|
|||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 保存之前检查一下是否可以新建核算
|
||||
*
|
||||
* @param salaryAcctTaxAgents
|
||||
*/
|
||||
@Override
|
||||
public void checkBeforeSave(SalaryAcctRecordPO salaryAcctRecord, List<SalaryAcctTaxAgentPO> salaryAcctTaxAgents) {
|
||||
// 查询薪资账套
|
||||
SalarySobPO salarySobPO = getSalarySobService(user).getById(salaryAcctRecord.getSalarySobId());
|
||||
IncomeCategoryEnum incomeCategoryEnums = IncomeCategoryEnum.parseByValue(salarySobPO.getIncomeCategory());
|
||||
if (incomeCategoryEnums == IncomeCategoryEnum.ONETIME_ANNUAL_BONUS) {
|
||||
// 如果当前是单独核算年终奖,无需校验其他所得项目的薪资核算记录
|
||||
checkBeforeSaveAnnual(salaryAcctTaxAgents);
|
||||
} else {
|
||||
checkBeforeSaveCommon(salaryAcctTaxAgents);
|
||||
}
|
||||
}
|
||||
|
||||
private void checkBeforeSaveAnnual(List<SalaryAcctTaxAgentPO> salaryAcctTaxAgents) {
|
||||
salaryAcctTaxAgents = salaryAcctTaxAgents.stream()
|
||||
.filter(e -> Objects.equals(e.getIncomeCategory(), IncomeCategoryEnum.ONETIME_ANNUAL_BONUS.getValue()))
|
||||
.collect(Collectors.toList());
|
||||
if (CollectionUtils.isEmpty(salaryAcctTaxAgents)) {
|
||||
return;
|
||||
}
|
||||
// 查询本次薪资核算记录的税款所属期所在年度的薪资核算记录
|
||||
Set<Integer> sameYearSet = Sets.newHashSet();
|
||||
List<SalaryAcctTaxAgentPO> otherSalaryAcctTaxAgents = Lists.newArrayList();
|
||||
for (SalaryAcctTaxAgentPO salaryAcctTaxAgent : salaryAcctTaxAgents) {
|
||||
Date taxCycle = salaryAcctTaxAgent.getTaxCycle();
|
||||
if (!sameYearSet.contains(taxCycle.getYear())) {
|
||||
sameYearSet.add(taxCycle.getYear());
|
||||
// 税款所属期所在年度的1月~12月
|
||||
YearMonthRange taxCycleRange = new YearMonthRange()
|
||||
.setStartMonth(SalaryDateUtil.toDateStartOfMonth(SalaryDateUtil.localDate2YearMonth(taxCycle).withMonth(1)))
|
||||
.setEndMonth(SalaryDateUtil.toDateStartOfMonth(SalaryDateUtil.localDate2YearMonth(taxCycle).withMonth(12)));
|
||||
// 税款所属期所在年度所有的薪资核算记录
|
||||
otherSalaryAcctTaxAgents.addAll(getSalaryAcctTaxAgentService(user).listByTaxCycleRange(taxCycleRange));
|
||||
}
|
||||
}
|
||||
// 排除掉所得项目不是全年一次性奖金收入的薪资核算记录
|
||||
otherSalaryAcctTaxAgents = otherSalaryAcctTaxAgents.stream()
|
||||
.filter(e -> Objects.equals(e.getIncomeCategory(), IncomeCategoryEnum.ONETIME_ANNUAL_BONUS.getValue()))
|
||||
.collect(Collectors.toList());
|
||||
// 全年一次性奖金收入一年内只能申报一次,所以税款所属期必须相同
|
||||
for (SalaryAcctTaxAgentPO salaryAcctTaxAgent : salaryAcctTaxAgents) {
|
||||
SalaryAcctTaxAgentPO diffTaxCycleSalaryAcctTaxAgent = otherSalaryAcctTaxAgents.stream()
|
||||
.filter(e -> Objects.equals(salaryAcctTaxAgent.getTaxAgentId(), e.getTaxAgentId())
|
||||
&& !Objects.equals(salaryAcctTaxAgent.getTaxCycle(), e.getTaxCycle()))
|
||||
.findAny()
|
||||
.orElse(null);
|
||||
if (diffTaxCycleSalaryAcctTaxAgent != null) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(160502, "全年一次性奖金收入一年内只能申报一次,所以税款所属期必须相同"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void checkBeforeSaveCommon(List<SalaryAcctTaxAgentPO> salaryAcctTaxAgents) {
|
||||
// 排除掉所得项目为全年一次性奖金收入的薪资核算记录
|
||||
salaryAcctTaxAgents = salaryAcctTaxAgents.stream()
|
||||
.filter(e -> !Objects.equals(e.getIncomeCategory(), IncomeCategoryEnum.ONETIME_ANNUAL_BONUS.getValue()))
|
||||
.collect(Collectors.toList());
|
||||
Set<Integer> sameYearSet = Sets.newHashSet();
|
||||
List<TaxDeclarationPO> sameYearTaxDeclarations = Lists.newArrayList();
|
||||
List<SalaryAcctTaxAgentPO> sameYearSalaryAcctTaxAgents = Lists.newArrayList();
|
||||
for (SalaryAcctTaxAgentPO salaryAcctTaxAgent : salaryAcctTaxAgents) {
|
||||
Date taxCycle = salaryAcctTaxAgent.getTaxCycle();
|
||||
if (!sameYearSet.contains(taxCycle.getYear())) {
|
||||
sameYearSet.add(taxCycle.getYear());
|
||||
// 税款所属期所在年度的1月~12月
|
||||
YearMonthRange taxCycleRange = new YearMonthRange()
|
||||
.setStartMonth(SalaryDateUtil.toDateStartOfMonth(SalaryDateUtil.localDate2YearMonth(taxCycle).withMonth(1)))
|
||||
.setEndMonth(SalaryDateUtil.toDateStartOfMonth(SalaryDateUtil.localDate2YearMonth(taxCycle).withMonth(12)));
|
||||
// 税款所属期所在年度所有的个税申报表
|
||||
sameYearTaxDeclarations.addAll(getTaxDeclarationService(user).listByTaxCycleRange(taxCycleRange));
|
||||
// 税款所属期所在年度所有的薪资核算记录
|
||||
sameYearSalaryAcctTaxAgents.addAll(getSalaryAcctTaxAgentService(user).listByTaxCycleRange(taxCycleRange));
|
||||
}
|
||||
}
|
||||
// 排除掉所得项目为全年一次性奖金收入的个税申报表和薪资核算记录
|
||||
sameYearTaxDeclarations = sameYearTaxDeclarations.stream()
|
||||
.filter(e -> !Objects.equals(e.getIncomeCategory(), IncomeCategoryEnum.ONETIME_ANNUAL_BONUS.getValue()))
|
||||
.collect(Collectors.toList());
|
||||
sameYearSalaryAcctTaxAgents = sameYearSalaryAcctTaxAgents.stream()
|
||||
.filter(e -> !Objects.equals(e.getIncomeCategory(), IncomeCategoryEnum.ONETIME_ANNUAL_BONUS.getValue()))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 查询个税扣缴义务人
|
||||
Set<Long> taxAgentIds = SalaryEntityUtil.properties(salaryAcctTaxAgents, SalaryAcctTaxAgentPO::getTaxAgentId);
|
||||
List<TaxAgentPO> taxAgents = getTaxAgentService(user).listByIds(taxAgentIds);
|
||||
Map<Long, String> taxAgentMap = SalaryEntityUtil.convert2Map(taxAgents, TaxAgentPO::getId, TaxAgentPO::getName);
|
||||
|
||||
Set<String> declareTaxAgents = SalaryEntityUtil.properties(sameYearTaxDeclarations, e -> e.getTaxAgentId() + "-" + e.getTaxCycle());
|
||||
Map<Long, List<SalaryAcctTaxAgentPO>> sameYearSalaryAcctTaxAgentMap = SalaryEntityUtil
|
||||
.group2Map(sameYearSalaryAcctTaxAgents, SalaryAcctTaxAgentPO::getTaxAgentId);
|
||||
for (SalaryAcctTaxAgentPO salaryAcctTaxAgent : salaryAcctTaxAgents) {
|
||||
List<SalaryAcctTaxAgentPO> salaryAcctTaxAgentList = sameYearSalaryAcctTaxAgentMap.getOrDefault(salaryAcctTaxAgent.getTaxAgentId(), Collections.emptyList())
|
||||
.stream()
|
||||
.filter(e -> !Objects.equals(salaryAcctTaxAgent.getSalaryAcctRecordId(), e.getSalaryAcctRecordId()))
|
||||
.collect(Collectors.toList());
|
||||
if (CollectionUtils.isEmpty(salaryAcctTaxAgentList)) {
|
||||
continue;
|
||||
}
|
||||
// 如果某个月(税款所属期)还未申报,不可以新建之后月份的薪资核算
|
||||
SalaryAcctTaxAgentPO notDeclareSalaryAcctTaxAgent = salaryAcctTaxAgentList.stream()
|
||||
.filter(e -> salaryAcctTaxAgent.getTaxCycle().compareTo(e.getTaxCycle()) > 0
|
||||
&& !declareTaxAgents.contains(e.getTaxAgentId() + "-" + e.getTaxCycle()))
|
||||
.findAny()
|
||||
.orElse(null);
|
||||
if (Objects.nonNull(notDeclareSalaryAcctTaxAgent)) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(160504, "个税扣缴义务人「{0}」的税款所属期「{1}」的个税还未申报,请先申报后再来新建税款所属期「{2}」的薪资核算")
|
||||
.replace("{0}", taxAgentMap.get(notDeclareSalaryAcctTaxAgent.getTaxAgentId()))
|
||||
.replace("{1}", SalaryDateUtil.getFormatYYYYMM(notDeclareSalaryAcctTaxAgent.getTaxCycle()))
|
||||
.replace("{2}", SalaryDateUtil.getFormatYYYYMM(salaryAcctTaxAgent.getTaxCycle())));
|
||||
}
|
||||
// 如果某个月(税款所属期)已经核算了,不可以新建之前月份的薪资核算
|
||||
SalaryAcctTaxAgentPO calculatedSalaryAcctTaxAgent = salaryAcctTaxAgentList.stream()
|
||||
.filter(e -> salaryAcctTaxAgent.getTaxCycle().compareTo(e.getTaxCycle()) < 0)
|
||||
.findAny()
|
||||
.orElse(null);
|
||||
if (Objects.nonNull(calculatedSalaryAcctTaxAgent)) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(160506, "个税扣缴义务人「{0}」已经存在薪资所属月「{1}」的薪资核算记录了,无法新建薪资所属月「{2}」的薪资核算")
|
||||
.replace("{0}", taxAgentMap.get(calculatedSalaryAcctTaxAgent.getTaxAgentId()))
|
||||
.replace("{1}", SalaryDateUtil.getFormatYYYYMM(calculatedSalaryAcctTaxAgent.getSalaryMonth()))
|
||||
.replace("{2}", SalaryDateUtil.getFormatYYYYMM(salaryAcctTaxAgent.getSalaryMonth())));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private List<SalaryAcctRecordPO> listByCreateDate(LocalDateRange taxCycleRebootYearRange, Set<Long> salarySobIds) {
|
||||
return getSalaryAcctRecordMapper().listByCreateDate(taxCycleRebootYearRange, salarySobIds);
|
||||
}
|
||||
|
|
@ -594,7 +743,7 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
|
|||
// salaryAcctRecordPO.setUpdateTime(new Date());
|
||||
// getSalaryAcctRecordMapper().updateIgnoreNull(salaryAcctRecordPO);
|
||||
// 记录日志
|
||||
// String targetName = getLogTargetNameById(salaryAcctRecordPO.getId(), tenantKey);
|
||||
// String targetName = getLogTargetNameById(salaryAcctRecordPO.getId());
|
||||
// LoggerContext<SalaryAcctRecordPO> loggerContext = new LoggerContext<>();
|
||||
// loggerContext.setTargetId("" + salaryAcctRecordPO.getId());
|
||||
// loggerContext.setTargetName(targetName);
|
||||
|
|
|
|||
|
|
@ -1,65 +1,45 @@
|
|||
//package com.engine.salary.service.impl;
|
||||
//
|
||||
//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
//import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
//import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
||||
//import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
|
||||
//import com.engine.core.impl.Service;
|
||||
//import com.engine.salary.entity.salaryacct.po.SalaryAcctTaxAgentPO;
|
||||
//import com.engine.salary.service.SalaryAcctTaxAgentService;
|
||||
//import com.google.common.collect.Lists;
|
||||
//import com.google.common.collect.Sets;
|
||||
//import com.weaver.common.distribution.genid.IdGenerator;
|
||||
//import com.weaver.common.hr.util.Util;
|
||||
//import com.weaver.hrm.salary.common.YearMonthRange;
|
||||
//import com.weaver.hrm.salary.dao.SalaryAcctTaxAgentMapper;
|
||||
//import com.weaver.hrm.salary.entity.salaryacct.po.SalaryAcctEmployeePO;
|
||||
//import com.weaver.hrm.salary.enums.sicategory.DeleteTypeEnum;
|
||||
//import org.apache.commons.collections4.CollectionUtils;
|
||||
//import org.springframework.transaction.annotation.Transactional;
|
||||
//
|
||||
//import java.time.LocalDateTime;
|
||||
//import java.util.*;
|
||||
//
|
||||
///**
|
||||
// * @description:
|
||||
// * @author: xiajun
|
||||
// * @modified By: xiajun
|
||||
// * @date: 2022/7/29 9:45
|
||||
// * @version:v1.0
|
||||
// */
|
||||
//public class SalaryAcctTaxAgentServiceImpl extends Service implements SalaryAcctTaxAgentService {
|
||||
//
|
||||
// private SalaryAcctTaxAgentMapper salaryAcctTaxAgentMapper;
|
||||
//
|
||||
package com.engine.salary.service.impl;
|
||||
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.common.YearMonthRange;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctTaxAgentPO;
|
||||
import com.engine.salary.mapper.salaryacct.SalaryAcctTaxAgentMapper;
|
||||
import com.engine.salary.service.SalaryAcctTaxAgentService;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
public class SalaryAcctTaxAgentServiceImpl extends Service implements SalaryAcctTaxAgentService {
|
||||
|
||||
private SalaryAcctTaxAgentMapper getSalaryAcctTaxAgentMapper() {
|
||||
return MapperProxyFactory.getProxy(SalaryAcctTaxAgentMapper.class);
|
||||
}
|
||||
@Override
|
||||
public List<SalaryAcctTaxAgentPO> listBySalaryAcctRecordIds(Collection<Long> salaryAcctRecordIds) {
|
||||
if (CollectionUtils.isEmpty(salaryAcctRecordIds)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
return getSalaryAcctTaxAgentMapper().listAcctTaxAgent(salaryAcctRecordIds);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SalaryAcctTaxAgentPO> listByTaxCycleRange(YearMonthRange taxCycleRange) {
|
||||
SalaryAcctTaxAgentPO queryWrapper = new SalaryAcctTaxAgentPO();
|
||||
if (Objects.nonNull(taxCycleRange.getStartMonth())) {
|
||||
queryWrapper.setStartMonth(taxCycleRange.getStartMonth());
|
||||
}
|
||||
if (Objects.nonNull(taxCycleRange.getEndMonth())) {
|
||||
queryWrapper.setEndMonth(taxCycleRange.getEndMonth());
|
||||
}
|
||||
return getSalaryAcctTaxAgentMapper().listByTaxCycleRange(queryWrapper);
|
||||
}
|
||||
|
||||
// @Override
|
||||
// public List<SalaryAcctTaxAgentPO> listBySalaryAcctRecordIds(Collection<Long> salaryAcctRecordIds, String tenantKey) {
|
||||
// if (CollectionUtils.isEmpty(salaryAcctRecordIds)) {
|
||||
// return Collections.emptyList();
|
||||
// }
|
||||
// return new LambdaQueryChainWrapper<>(salaryAcctTaxAgentMapper)
|
||||
// .eq(SalaryAcctTaxAgentPO::getTenantKey, tenantKey)
|
||||
// .eq(SalaryAcctTaxAgentPO::getDeleteType, DeleteTypeEnum.NOT_DELETED.getValue())
|
||||
// .in(SalaryAcctTaxAgentPO::getSalaryAcctRecordId, salaryAcctRecordIds)
|
||||
// .list();
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public List<SalaryAcctTaxAgentPO> listByTaxCycleRange(YearMonthRange taxCycleRange, String tenantKey) {
|
||||
// LambdaQueryWrapper<SalaryAcctTaxAgentPO> queryWrapper = Wrappers.lambdaQuery();
|
||||
// queryWrapper.eq(SalaryAcctTaxAgentPO::getTenantKey, tenantKey);
|
||||
// queryWrapper.eq(SalaryAcctTaxAgentPO::getDeleteType, DeleteTypeEnum.NOT_DELETED.getValue());
|
||||
// if (Objects.nonNull(taxCycleRange.getStartMonth())) {
|
||||
// queryWrapper.ge(SalaryAcctTaxAgentPO::getTaxCycle, taxCycleRange.getStartMonth().toString());
|
||||
// }
|
||||
// if (Objects.nonNull(taxCycleRange.getEndMonth())) {
|
||||
// queryWrapper.le(SalaryAcctTaxAgentPO::getTaxCycle, taxCycleRange.getEndMonth().toString());
|
||||
// }
|
||||
// return salaryAcctTaxAgentMapper.selectList(queryWrapper);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public List<SalaryAcctTaxAgentPO> initBySalaryAcctEmployees(List<SalaryAcctEmployeePO> salaryAcctEmployees, Long employeeId, String tenantKey) {
|
||||
// public List<SalaryAcctTaxAgentPO> initBySalaryAcctEmployees(List<SalaryAcctEmployeePO> salaryAcctEmployees) {
|
||||
// if (CollectionUtils.isEmpty(salaryAcctEmployees)) {
|
||||
// return Collections.emptyList();
|
||||
// }
|
||||
|
|
@ -89,19 +69,18 @@
|
|||
// }
|
||||
//
|
||||
// @Override
|
||||
// @Transactional(rollbackFor = Exception.class)
|
||||
// public void batchSave(List<SalaryAcctTaxAgentPO> salaryAcctTaxAgents, String tenantKey) {
|
||||
// public void batchSave(List<SalaryAcctTaxAgentPO> salaryAcctTaxAgents) {
|
||||
// if (CollectionUtils.isNotEmpty(salaryAcctTaxAgents)) {
|
||||
// saveBatch(salaryAcctTaxAgents);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void deleteBySalaryAcctRecordIds(Collection<Long> salaryAcctRecordIds, String tenantKey) {
|
||||
// public void deleteBySalaryAcctRecordIds(Collection<Long> salaryAcctRecordIds) {
|
||||
// if (CollectionUtils.isEmpty(salaryAcctRecordIds)) {
|
||||
// return;
|
||||
// }
|
||||
// new LambdaUpdateChainWrapper<>(salaryAcctTaxAgentMapper)
|
||||
// new LambdaUpdateChainWrapper<>(getSalaryAcctTaxAgentMapper())
|
||||
// .eq(SalaryAcctTaxAgentPO::getTenantKey, tenantKey)
|
||||
// .eq(SalaryAcctTaxAgentPO::getDeleteType, DeleteTypeEnum.NOT_DELETED.getValue())
|
||||
// .in(SalaryAcctTaxAgentPO::getSalaryAcctRecordId, salaryAcctRecordIds)
|
||||
|
|
@ -109,4 +88,4 @@
|
|||
// .set(SalaryAcctTaxAgentPO::getUpdateTime, LocalDateTime.now())
|
||||
// .update();
|
||||
// }
|
||||
//}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -335,6 +335,12 @@ public class SalarySobInitServiceImpl extends AbstractSalarySobInitService {
|
|||
if (Objects.equals(declaredField.getName(), "addUpAdvanceTax")) {
|
||||
salarySobItem = salarySobItemMap.get("addUpTaxPayable");
|
||||
}
|
||||
if (Objects.equals(declaredField.getName(), "addUpTaxExemptIncome")) {
|
||||
salarySobItem = salarySobItemMap.get("addUpTaxFreeIncome");
|
||||
}
|
||||
if (Objects.equals(declaredField.getName(), "addUpTaxSavings")) {
|
||||
salarySobItem = salarySobItemMap.get("addUpTaxDeduction");
|
||||
}
|
||||
if (!declaredField.isAnnotationPresent(SalaryFormulaVar.class) || Objects.isNull(salarySobItem)) {
|
||||
continue;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package com.engine.salary.service.impl;
|
|||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.common.LocalDateRange;
|
||||
import com.engine.salary.common.YearMonthRange;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO;
|
||||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
|
|
@ -357,4 +358,11 @@ public class TaxDeclarationServiceImpl extends Service implements TaxDeclaration
|
|||
getTaxDeclarationMapper().batchInsert(taxDeclarations);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TaxDeclarationPO> listByTaxCycleRange(YearMonthRange yearMonthRange) {
|
||||
return getTaxDeclarationMapper().listSome(TaxDeclarationPO.builder()
|
||||
.salaryMonths(LocalDateRange.builder().fromDate(yearMonthRange.getStartMonth()).endDate(yearMonthRange.getEndMonth()).build())
|
||||
.build());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -122,8 +122,9 @@ public class TaxDeclareRecordServiceImpl extends Service implements TaxDeclareRe
|
|||
return ServiceUtil.getService(SalaryAcctRecordServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalaryAcctTaxAgentService salaryAcctTaxAgentService;
|
||||
|
||||
private SalaryAcctTaxAgentService getSalaryAcctTaxAgentService(User user) {
|
||||
return ServiceUtil.getService(SalaryAcctTaxAgentServiceImpl.class, user);
|
||||
}
|
||||
private SalaryAcctEmployeeService getSalaryAcctEmployeeService(User user) {
|
||||
return ServiceUtil.getService(SalaryAcctEmployeeServiceImpl.class, user);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue