diff --git a/resource/sqlupgrade/DM/sql202309050203.sql b/resource/sqlupgrade/DM/sql202309050203.sql index 4603c0e75..2b3f805e1 100644 --- a/resource/sqlupgrade/DM/sql202309050203.sql +++ b/resource/sqlupgrade/DM/sql202309050203.sql @@ -7,10 +7,10 @@ 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 (706066600446312885, 1, 674916065864646661, 1, 0, 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'), 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_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, 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'), 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')); diff --git a/resource/sqlupgrade/GS/sql202309050203.sql b/resource/sqlupgrade/GS/sql202309050203.sql index 4603c0e75..2b3f805e1 100644 --- a/resource/sqlupgrade/GS/sql202309050203.sql +++ b/resource/sqlupgrade/GS/sql202309050203.sql @@ -7,10 +7,10 @@ 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 (706066600446312885, 1, 674916065864646661, 1, 0, 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'), 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_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, 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'), 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')); diff --git a/resource/sqlupgrade/JC/sql202309050203.sql b/resource/sqlupgrade/JC/sql202309050203.sql index 4603c0e75..2b3f805e1 100644 --- a/resource/sqlupgrade/JC/sql202309050203.sql +++ b/resource/sqlupgrade/JC/sql202309050203.sql @@ -7,10 +7,10 @@ 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 (706066600446312885, 1, 674916065864646661, 1, 0, 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'), 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_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, 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'), 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')); diff --git a/resource/sqlupgrade/Oracle/sql202309050203.sql b/resource/sqlupgrade/Oracle/sql202309050203.sql index 62458bdf3..3caa7ac50 100644 --- a/resource/sqlupgrade/Oracle/sql202309050203.sql +++ b/resource/sqlupgrade/Oracle/sql202309050203.sql @@ -4,9 +4,9 @@ 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 (706066600446312885, 1, 674916065864646661, 1, 0, 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'), 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_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, 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'), 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')) diff --git a/resource/sqlupgrade/ST/sql202309050203.sql b/resource/sqlupgrade/ST/sql202309050203.sql index 4603c0e75..2b3f805e1 100644 --- a/resource/sqlupgrade/ST/sql202309050203.sql +++ b/resource/sqlupgrade/ST/sql202309050203.sql @@ -7,10 +7,10 @@ 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 (706066600446312885, 1, 674916065864646661, 1, 0, 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'), 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_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, 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'), 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')); diff --git a/src/com/engine/salary/biz/SIArchivesBiz.java b/src/com/engine/salary/biz/SIArchivesBiz.java index a96e1906e..0182390cb 100644 --- a/src/com/engine/salary/biz/SIArchivesBiz.java +++ b/src/com/engine/salary/biz/SIArchivesBiz.java @@ -1767,15 +1767,6 @@ public class SIArchivesBiz { } - private List decryptSchemeDetailList(List encryptList) { - encryptList.forEach(item -> { - item.setUpperLimit(AESEncryptUtil.decrypt(item.getUpperLimit())); - item.setFixedCost(AESEncryptUtil.decrypt(item.getFixedCost())); - item.setLowerLimit(AESEncryptUtil.decrypt(item.getLowerLimit())); - }); - return encryptList; - } - /** * 鍒ゆ柇鏄惁闇瑕佺敓鎴愬巻鍙茬鍒╂。妗堝熀鏈俊鎭 */ diff --git a/src/com/engine/salary/biz/SISchemeBiz.java b/src/com/engine/salary/biz/SISchemeBiz.java index 6e76a7e85..43140fb82 100644 --- a/src/com/engine/salary/biz/SISchemeBiz.java +++ b/src/com/engine/salary/biz/SISchemeBiz.java @@ -3,7 +3,6 @@ package com.engine.salary.biz; import com.api.formmode.mybatis.util.SqlProxyHandle; import com.engine.core.impl.Service; import com.engine.salary.constant.SalaryDefaultTenantConstant; -import com.engine.salary.encrypt.AESEncryptUtil; import com.engine.salary.encrypt.EncryptUtil; import com.engine.salary.entity.sicategory.po.ICategoryPO; import com.engine.salary.entity.sischeme.bo.InsuranceSchemeBO; @@ -421,7 +420,7 @@ public class SISchemeBiz extends Service { insuranceSchemeMapper.insert(batchPO); List detailList = insuranceSchemeDetailMapper.queryListBySchemeId(id); - detailList = decryptSchemeDetailList(detailList); + detailList = encryptUtil.decryptList(detailList,InsuranceSchemeDetailPO.class); if (CollectionUtils.isNotEmpty(detailList)) { List detailPOS = detailList.stream().map(item -> InsuranceSchemeDetailPO.builder() .creator(employeeId) @@ -473,16 +472,6 @@ public class SISchemeBiz extends Service { } - - private List decryptSchemeDetailList(List encryptList) { - encryptList.forEach(item -> { - item.setUpperLimit(AESEncryptUtil.decrypt(item.getUpperLimit())); - item.setFixedCost(AESEncryptUtil.decrypt(item.getFixedCost())); - item.setLowerLimit(AESEncryptUtil.decrypt(item.getLowerLimit())); - }); - return encryptList; - } - public int checkBeforeDeleteSocialscheme(Map params) { return getSIAccountUtilMapper().checkBeforeDeleteSocialscheme((Collection) params.get("ids")).get(0).getNum(); } diff --git a/src/com/engine/salary/entity/datacollection/DataCollectionEmployee.java b/src/com/engine/salary/entity/datacollection/DataCollectionEmployee.java index 4a43063ef..1b0931ff3 100644 --- a/src/com/engine/salary/entity/datacollection/DataCollectionEmployee.java +++ b/src/com/engine/salary/entity/datacollection/DataCollectionEmployee.java @@ -99,6 +99,7 @@ public class DataCollectionEmployee { private Double workYear; private Double companyWorkYear; + @SalaryFormulaVar(defaultLabel = "璇佷欢鍙风爜", labelId = 98624, dataType = "string") private String idNo; //鏄惁鏄郴缁熺鐞嗗憳 diff --git a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctFormulaBO.java b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctFormulaBO.java index 82c86bda0..da5ab590e 100644 --- a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctFormulaBO.java +++ b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctFormulaBO.java @@ -116,6 +116,7 @@ public class SalaryAcctFormulaBO { .companystartdate(simpleEmployee.getCompanystartdate()) .birthday(simpleEmployee.getBirthday()) .workcode(simpleEmployee.getWorkcode()) + .idNo(simpleEmployee.getIdNo()) .build(); return JsonUtil.parseMap(JsonUtil.toJsonString(formulaEmployee), String.class); } diff --git a/src/com/engine/salary/entity/salaryacct/dto/SalaryAcctImportFieldDTO.java b/src/com/engine/salary/entity/salaryacct/dto/SalaryAcctImportFieldDTO.java index 67d3560e6..fe5376506 100644 --- a/src/com/engine/salary/entity/salaryacct/dto/SalaryAcctImportFieldDTO.java +++ b/src/com/engine/salary/entity/salaryacct/dto/SalaryAcctImportFieldDTO.java @@ -47,6 +47,9 @@ public class SalaryAcctImportFieldDTO { //钖祫椤圭洰鍚嶇О private String salaryItemName; + + //钖祫椤圭洰绫诲瀷 + private String dataType; } @Data diff --git a/src/com/engine/salary/entity/salaryformula/dto/SalaryFormulaEmployeeDTO.java b/src/com/engine/salary/entity/salaryformula/dto/SalaryFormulaEmployeeDTO.java index acc42616d..938ab113e 100644 --- a/src/com/engine/salary/entity/salaryformula/dto/SalaryFormulaEmployeeDTO.java +++ b/src/com/engine/salary/entity/salaryformula/dto/SalaryFormulaEmployeeDTO.java @@ -75,8 +75,8 @@ public class SalaryFormulaEmployeeDTO { private String sex; -// @SalaryFormulaVar(defaultLabel = "璇佷欢鍙风爜", labelId = 86318, dataType = "string") -// private String idNo; + @SalaryFormulaVar(defaultLabel = "璇佷欢鍙风爜", labelId = 86318, dataType = "string") + private String idNo; //閭欢 @SalaryFormulaVar(defaultLabel = "閭欢", labelId = 92919, dataType = "string") diff --git a/src/com/engine/salary/formlua/util/ExpressRegularUtil.java b/src/com/engine/salary/formlua/util/ExpressRegularUtil.java index a953ef1ec..7a31f2fe1 100644 --- a/src/com/engine/salary/formlua/util/ExpressRegularUtil.java +++ b/src/com/engine/salary/formlua/util/ExpressRegularUtil.java @@ -2,6 +2,7 @@ package com.engine.salary.formlua.util; import com.alibaba.fastjson.JSONObject; import com.engine.salary.formlua.entity.parameter.FormulaContext; +import org.apache.commons.lang3.StringUtils; import java.util.HashMap; import java.util.Map; @@ -11,217 +12,223 @@ import java.util.regex.PatternSyntaxException; public class ExpressRegularUtil { - private static final String[] checkRegularNullParameter=new String[]{"TRUE","FALSE","NOW","TODAY"}; - private static final String[] operSymbs=new String[]{">",">=","=","<","<=","\\+","-","\\*","\\/","!="}; - private static final String checkRegularParameter="AND|OR|IF|NOT|LIKE|DATEDIFF|DATEADD|WEEKNUM|WEEKDAY|DATEFORMAT|Y|M|D|H|I|S|COUNT|SUM|MAX|MIN|CONCAT|SEARCH|TEXT|PAD|REPLACE|VALUE|LEN|LEFT|RIGHT|MID"; - private final static String leftCircleBracket="Unmatched closing '('"; - private final static String rightCircleBracket="Unmatched closing ')'"; - private final static String leftSquareBracket="Unmatched closing '['"; - private final static String rightSquareeBracket="Unmatched closing ']'"; - private final static String leftBigBracket="Unmatched closing '{'"; - private final static String rightBigBracket="Unmatched closing '}'"; - public static boolean checkFuncExpress(String str){ - filter(str); - return true; - } + private static final String[] checkRegularNullParameter = new String[]{"TRUE", "FALSE", "NOW", "TODAY"}; + private static final String[] operSymbs = new String[]{">", ">=", "=", "<", "<=", "\\+", "-", "\\*", "\\/", "!="}; + private static final String checkRegularParameter = "AND|OR|IF|NOT|LIKE|DATEDIFF|DATEADD|WEEKNUM|WEEKDAY|DATEFORMAT|Y|M|D|H|I|S|COUNT|SUM|MAX|MIN|CONCAT|SEARCH|TEXT|PAD|REPLACE|VALUE|LEN|LEFT|RIGHT|MID"; + private final static String leftCircleBracket = "Unmatched closing '('"; + private final static String rightCircleBracket = "Unmatched closing ')'"; + private final static String leftSquareBracket = "Unmatched closing '['"; + private final static String rightSquareeBracket = "Unmatched closing ']'"; + private final static String leftBigBracket = "Unmatched closing '{'"; + private final static String rightBigBracket = "Unmatched closing '}'"; - public static boolean isContainChinese(String str) { - Pattern p = Pattern.compile("[\u4E00-\u9FA5|\\锛亅\\锛寍\\銆倈\\锛坾\\锛墊\\銆妡\\銆媩\\鈥渱\\鈥潀\\锛焲\\锛殀\\锛泑\\銆恷\\銆慮"); - Matcher m = p.matcher(str); - if (m.find()) { - return true; - } - return false; - } + public static boolean checkFuncExpress(String str) { + filter(str); + return true; + } - private static void filter(String formula){ - try { - testSymbol(formula); - checkNullRegular(formula); - checkOperatorNullParam(formula); - formula=formula.replaceAll("","#"); - String leftReplace=""; - String rightReplace=""; - leftReplace=formula.replaceAll("\\(",""); - rightReplace=formula.replaceAll("\\)",""); - if(leftReplace.length()>rightReplace.length()){ - PatternSyntaxException patternSyntaxException=new PatternSyntaxException(leftCircleBracket,formula,formula.lastIndexOf(")")); - throw patternSyntaxException; - } - if(leftReplace.length()rightReplace.length()){ - PatternSyntaxException patternSyntaxException=new PatternSyntaxException(leftBigBracket,formula,formula.lastIndexOf("}")); - throw patternSyntaxException; - } - if(leftReplace.length() rightReplace.length()) { + PatternSyntaxException patternSyntaxException = new PatternSyntaxException(leftCircleBracket, formula, formula.lastIndexOf(")")); + throw patternSyntaxException; + } + if (leftReplace.length() < rightReplace.length()) { + PatternSyntaxException patternSyntaxException = new PatternSyntaxException(rightCircleBracket, formula, formula.indexOf("(")); + throw patternSyntaxException; + } - leftReplace=formula.replaceAll("\\[",""); - rightReplace=formula.replaceAll("]",""); - if(leftReplace.length()>rightReplace.length()){ - PatternSyntaxException patternSyntaxException=new PatternSyntaxException(leftSquareBracket,formula,formula.lastIndexOf("]")); - throw patternSyntaxException; - } - if(leftReplace.length() rightReplace.length()) { + PatternSyntaxException patternSyntaxException = new PatternSyntaxException(leftBigBracket, formula, formula.lastIndexOf("}")); + throw patternSyntaxException; + } + if (leftReplace.length() < rightReplace.length()) { + PatternSyntaxException patternSyntaxException = new PatternSyntaxException(rightBigBracket, formula, formula.indexOf("{")); + throw patternSyntaxException; + } - } catch (PatternSyntaxException e) { - String error=e.getDescription().trim(); - int errorIdx=e.getIndex(); - int errorEndIdx=-1; - switch (error){ - case leftCircleBracket: - error="'('鎷彿娌℃湁鎵惧埌"; - errorEndIdx=-1; - break; - case rightCircleBracket: - error="'('鎷彿娌℃湁闂悎"; - errorEndIdx=-1; - break; - case leftSquareBracket: - error="'['鎷彿娌℃湁鎵惧埌"; - errorEndIdx=-1; - break; - case rightSquareeBracket: - error="'['鎷彿娌℃湁闂悎"; - errorEndIdx=-1; - break; - case leftBigBracket: - error="'{'鎷彿娌℃湁鎵惧埌"; - errorEndIdx=-1; - break; - case rightBigBracket: - error="'{'鎷彿娌℃湁闂悎"; - errorEndIdx=-1; - break; - case "TRUE鍑芥暟涓嶈兘鏈夊弬鏁": - errorEndIdx=errorIdx+4; - break; - case "FALSE鍑芥暟涓嶈兘鏈夊弬鏁": - errorEndIdx=errorIdx+5; - break; - case "NOW鍑芥暟涓嶈兘鏈夊弬鏁": - errorEndIdx=errorIdx+3; - break; - case "TODAY鍑芥暟涓嶈兘鏈夊弬鏁": - errorEndIdx=errorIdx+5; - break; + leftReplace = formula.replaceAll("\\[", ""); + rightReplace = formula.replaceAll("]", ""); + if (leftReplace.length() > rightReplace.length()) { + PatternSyntaxException patternSyntaxException = new PatternSyntaxException(leftSquareBracket, formula, formula.lastIndexOf("]")); + throw patternSyntaxException; + } + if (leftReplace.length() < rightReplace.length()) { + PatternSyntaxException patternSyntaxException = new PatternSyntaxException(rightSquareeBracket, formula, formula.indexOf("[")); + throw patternSyntaxException; + } - } - JSONObject catchJson=null; - if(errorEndIdx<0){ - catchJson= ErrorUtil.buildError(formula,errorIdx+1,null,error); - }else { - catchJson= ErrorUtil.buildError(formula,errorIdx+1,errorEndIdx,null,error); - } + } catch (PatternSyntaxException e) { + String error = e.getDescription().trim(); + int errorIdx = e.getIndex(); + int errorEndIdx = -1; + switch (error) { + case leftCircleBracket: + error = "'('鎷彿娌℃湁鎵惧埌"; + errorEndIdx = -1; + break; + case rightCircleBracket: + error = "'('鎷彿娌℃湁闂悎"; + errorEndIdx = -1; + break; + case leftSquareBracket: + error = "'['鎷彿娌℃湁鎵惧埌"; + errorEndIdx = -1; + break; + case rightSquareeBracket: + error = "'['鎷彿娌℃湁闂悎"; + errorEndIdx = -1; + break; + case leftBigBracket: + error = "'{'鎷彿娌℃湁鎵惧埌"; + errorEndIdx = -1; + break; + case rightBigBracket: + error = "'{'鎷彿娌℃湁闂悎"; + errorEndIdx = -1; + break; + case "TRUE鍑芥暟涓嶈兘鏈夊弬鏁": + errorEndIdx = errorIdx + 4; + break; + case "FALSE鍑芥暟涓嶈兘鏈夊弬鏁": + errorEndIdx = errorIdx + 5; + break; + case "NOW鍑芥暟涓嶈兘鏈夊弬鏁": + errorEndIdx = errorIdx + 3; + break; + case "TODAY鍑芥暟涓嶈兘鏈夊弬鏁": + errorEndIdx = errorIdx + 5; + break; - catchJson.put("formula",formula); - throw new PatternSyntaxException(catchJson.toJSONString(),null,errorIdx+1); - } - } + } + JSONObject catchJson = null; + if (errorEndIdx < 0) { + catchJson = ErrorUtil.buildError(formula, errorIdx + 1, null, error); + } else { + catchJson = ErrorUtil.buildError(formula, errorIdx + 1, errorEndIdx, null, error); + } - private static void checkNullRegular(String formula){ - String filterPattern=null; - for(int i=0;i=0){ - if(FormulaContext.get().getValue(checkRegularNullParameter[i])!=null){ - Integer paramCount=FormulaContext.get().getValue(checkRegularNullParameter[i]); - paramCount++; - FormulaContext.get().setValue(checkRegularNullParameter[i]); - }else { - FormulaContext.get().setValue(checkRegularNullParameter[i]); - } - filterPattern=checkRegularNullParameter[i]+"{1}\\({1}\\){1}"; - Pattern pattern= Pattern.compile(filterPattern); - Matcher matcher=pattern.matcher(formula); - boolean excuteBool=matcher.find(); - if(!excuteBool){ - eidx=0; - Integer errorCount=FormulaContext.get().getFormulaJson().getInteger(checkRegularNullParameter[i]); - String [] errorCutArray=formula.split(checkRegularNullParameter[i]); - for (int fi=0;fi1&&fi>0){ - eidx+=checkRegularNullParameter[i].length(); - } - } - PatternSyntaxException patternSyntaxException=new PatternSyntaxException(checkRegularNullParameter[i]+"鍑芥暟涓嶈兘鏈夊弬鏁",formula,eidx); - throw patternSyntaxException; - } - }else { + catchJson.put("formula", formula); + throw new PatternSyntaxException(catchJson.toJSONString(), null, errorIdx + 1); + } + } - } - } - } + private static void checkNullRegular(String formula) { + String filterPattern = null; + for (int i = 0; i < checkRegularNullParameter.length; i++) { + int eidx = formula.indexOf(checkRegularNullParameter[i]); + if (eidx >= 0) { + if (FormulaContext.get().getValue(checkRegularNullParameter[i]) != null) { + Integer paramCount = FormulaContext.get().getValue(checkRegularNullParameter[i]); + paramCount++; + FormulaContext.get().setValue(checkRegularNullParameter[i]); + } else { + FormulaContext.get().setValue(checkRegularNullParameter[i]); + } + filterPattern = checkRegularNullParameter[i] + "{1}\\({1}\\){1}"; + Pattern pattern = Pattern.compile(filterPattern); + Matcher matcher = pattern.matcher(formula); + boolean excuteBool = matcher.find(); + if (!excuteBool) { + eidx = 0; + Integer errorCount = FormulaContext.get().getFormulaJson().getInteger(checkRegularNullParameter[i]); + String[] errorCutArray = formula.split(checkRegularNullParameter[i]); + for (int fi = 0; fi < errorCount; fi++) { + eidx += errorCutArray[fi].length(); + if (errorCutArray.length > 1 && fi > 0) { + eidx += checkRegularNullParameter[i].length(); + } + } + PatternSyntaxException patternSyntaxException = new PatternSyntaxException(checkRegularNullParameter[i] + "鍑芥暟涓嶈兘鏈夊弬鏁", formula, eidx); + throw patternSyntaxException; + } + } else { - private static void checkOperatorNullParam(String formula){ - formula=formula.trim(); - JSONObject errorJson=new JSONObject(); - Map operMap=new HashMap<>(); + } + } + } - for (int i=0;i operMap = new HashMap<>(); - Matcher m=wrongPone.matcher(formula); + for (int i = 0; i < operSymbs.length; i++) { + String operSymb = operSymbs[i]; + if (formula.indexOf(operSymb) < 0) { + continue; + } + if (operMap.get(operSymb) == null) { + operMap.put(operSymb, 1); + } else { + operMap.put(operSymb, operMap.get(operSymb) + 1); + } + String commonP = "(" + operSymb + ")"; + Pattern wrongPone = Pattern.compile("^.+" + commonP + "+?$"); + Pattern wrongPtwo = Pattern.compile("^" + commonP + "+?.+$"); + Pattern wrongPthree = Pattern.compile("^" + commonP + "+?$"); - if(m.find()){ - errorJson= ErrorUtil.buildError(operSymb,formula.length(),operMap.get(operSymb),"鎿嶄綔绗︿袱绔殑鍙傛暟涓嶈兘涓虹┖"); - throw new RuntimeException(errorJson.getString("msg")); - } + Matcher m = wrongPone.matcher(formula); - Matcher mtwo=wrongPtwo.matcher(formula); - if(mtwo.find()){ - errorJson= ErrorUtil.buildError(operSymb,1,operMap.get(operSymb),"鎿嶄綔绗︿袱绔殑鍙傛暟涓嶈兘涓虹┖"); - throw new RuntimeException(errorJson.getString("msg")); - } + if (m.find()) { + errorJson = ErrorUtil.buildError(operSymb, formula.length(), operMap.get(operSymb), "鎿嶄綔绗︿袱绔殑鍙傛暟涓嶈兘涓虹┖"); + throw new RuntimeException(errorJson.getString("msg")); + } - Matcher mthree=wrongPthree.matcher(formula); - if(mthree.find()){ - errorJson= ErrorUtil.buildError(operSymb,1,operMap.get(operSymb),"鎿嶄綔绗︿袱绔殑鍙傛暟涓嶈兘涓虹┖"); - throw new RuntimeException(errorJson.getString("msg")); - } + Matcher mtwo = wrongPtwo.matcher(formula); + if (mtwo.find()) { + //-锛岃礋鏁扮壒娈婂鐞 + if (StringUtils.equals(operSymb, "-")) { + return; + } + errorJson = ErrorUtil.buildError(operSymb, 1, operMap.get(operSymb), "鎿嶄綔绗︿袱绔殑鍙傛暟涓嶈兘涓虹┖"); + throw new RuntimeException(errorJson.getString("msg")); + } - } + Matcher mthree = wrongPthree.matcher(formula); + if (mthree.find()) { + errorJson = ErrorUtil.buildError(operSymb, 1, operMap.get(operSymb), "鎿嶄綔绗︿袱绔殑鍙傛暟涓嶈兘涓虹┖"); + throw new RuntimeException(errorJson.getString("msg")); + } + + } - } - public static void testSymbol(String formula){ - Pattern pattern=Pattern.compile(",+?\\s*\\)"); - Matcher m=pattern.matcher(formula); - if(m.find()){ - int idx=formula.indexOf(m.group()); - PatternSyntaxException patternSyntaxException=new PatternSyntaxException("鍙傛暟鏍煎紡閿欒",formula,idx); - throw patternSyntaxException; - } - } + } - public static void main(String args[]){ + public static void testSymbol(String formula) { + Pattern pattern = Pattern.compile(",+?\\s*\\)"); + Matcher m = pattern.matcher(formula); + if (m.find()) { + int idx = formula.indexOf(m.group()); + PatternSyntaxException patternSyntaxException = new PatternSyntaxException("鍙傛暟鏍煎紡閿欒", formula, idx); + throw patternSyntaxException; + } + } - checkOperatorNullParam(" abc>="); - } + public static void main(String args[]) { + + checkOperatorNullParam(" abc>="); + } } diff --git a/src/com/engine/salary/report/entity/bo/SalaryStatisticsReportBO.java b/src/com/engine/salary/report/entity/bo/SalaryStatisticsReportBO.java index 008569ce1..1a76e5883 100644 --- a/src/com/engine/salary/report/entity/bo/SalaryStatisticsReportBO.java +++ b/src/com/engine/salary/report/entity/bo/SalaryStatisticsReportBO.java @@ -827,10 +827,17 @@ public class SalaryStatisticsReportBO { * @param salaryStatisticsItemList * @return */ - public static List buildReportColumns(String dimensionName, List salaryStatisticsItemList) { + public static List buildReportColumns(SalaryStatisticsDimensionPO dimensionName, List salaryStatisticsItemList) { List result = new ArrayList<>(); - result.add(new WeaTableColumnGroup("150", dimensionName, "dimension")); + result.add(new WeaTableColumnGroup("150", dimensionName.getDimName(), "dimension")); + + //浜哄憳缁村害鏂板閮ㄩ棬鍜屽伐鍙 + if (SalaryStatisticsDimensionConstant.DM_EMPLOYEE.equals(dimensionName.getDimCode())) { + result.add(new WeaTableColumnGroup("150", "閮ㄩ棬", "departmentName")); + result.add(new WeaTableColumnGroup("150", "宸ュ彿", "workcode")); + } + Map itemMap = salaryStatisticsItemList.stream().collect(Collectors.toMap(SalaryStatisticsItemPO::getId, Function.identity())); Map itemIdNameMap = salaryStatisticsItemList.stream().collect(LinkedHashMap::new, (map, item) -> map.put(item.getId(), item.getItemName()), LinkedHashMap::putAll); itemIdNameMap.forEach((k, v) -> { diff --git a/src/com/engine/salary/report/service/impl/SalaryStatisticsReportServiceImpl.java b/src/com/engine/salary/report/service/impl/SalaryStatisticsReportServiceImpl.java index 715d9306c..ecadc58bf 100644 --- a/src/com/engine/salary/report/service/impl/SalaryStatisticsReportServiceImpl.java +++ b/src/com/engine/salary/report/service/impl/SalaryStatisticsReportServiceImpl.java @@ -1014,7 +1014,7 @@ public class SalaryStatisticsReportServiceImpl extends Service implements Salary Map> employeeListMap = accountDetailPOList.stream().collect(Collectors.groupingBy(SalaryAcctEmployeePO::getEmployeeId)); Map> lastEmployeeListMap = data.getLastList().stream().collect(Collectors.groupingBy(SalaryAcctEmployeePO::getEmployeeId)); Map> sameEmployeeListMap = data.getSameList().stream().collect(Collectors.groupingBy(SalaryAcctEmployeePO::getEmployeeId)); - Map employeeByIdMap = getSalaryEmployeeService(user).getEmployeeByIds(accountDetailPOList.stream().map(SalaryAcctEmployeePO::getEmployeeId).distinct().collect(Collectors.toList())).stream().collect(Collectors.toMap(DataCollectionEmployee::getEmployeeId, o -> Util.null2String(o.getUsername()))); + Map employeeByIdMap = getSalaryEmployeeService(user).getEmployeeByIdsAll(accountDetailPOList.stream().map(SalaryAcctEmployeePO::getEmployeeId).distinct().collect(Collectors.toList())).stream().collect(Collectors.toMap(DataCollectionEmployee::getEmployeeId, o -> o)); // List extEmployees = extEmployeeService.listByIdsWithDeleted(accountDetailPOList.stream().filter(e -> EmployeeTypeEnum.EXT_EMPLOYEE.getValue().equals(e.getEmployeeType())).map(SalaryAcctEmployeePO::getEmployeeId).distinct().collect(Collectors.toList()), data.getTenantKey()); // Map employeeExtByIdMap = SalaryEntityUtil.convert2Map(extEmployees, ExtEmployeePO::getId, ExtEmployeePO::getUsername); @@ -1024,10 +1024,12 @@ public class SalaryStatisticsReportServiceImpl extends Service implements Salary if (dimensionValue == null) { Map temp = new HashMap<>(); // temp.put(DM, Objects.nonNull(employeeByIdMap.get(k)) ? employeeByIdMap.get(k) : employeeExtByIdMap.get(k)); - temp.put(DM, employeeByIdMap.get(k)); + temp.put(DM, employeeByIdMap.get(k).getUsername()); + temp.put("departmentName", employeeByIdMap.get(k).getDepartmentName()); + temp.put("workcode", employeeByIdMap.get(k).getWorkcode()); temp.putAll(SalaryStatisticsReportBO.calculateItem(v, lastEmployeeListMap.get(k), sameEmployeeListMap.get(k), salaryAcctResultValueMap, data.getSalaryStatisticsItemList())); records.add(temp); - } else if (StringUtils.equals(dimensionValue, employeeByIdMap.get(k))) { + } else if (StringUtils.equals(dimensionValue, employeeByIdMap.get(k).getUsername())) { data.setListByDimensionValue(v); } }); diff --git a/src/com/engine/salary/report/wrapper/SalaryStatisticsReportWrapper.java b/src/com/engine/salary/report/wrapper/SalaryStatisticsReportWrapper.java index 5ee853229..895b09ba9 100644 --- a/src/com/engine/salary/report/wrapper/SalaryStatisticsReportWrapper.java +++ b/src/com/engine/salary/report/wrapper/SalaryStatisticsReportWrapper.java @@ -321,7 +321,7 @@ public class SalaryStatisticsReportWrapper extends Service { Map countResultMap = SalaryStatisticsReportBO.buildTotal(page, salaryStatisticsItemList, (long) user.getUID()); // 鍒楄〃columns - List weaTableColumns = SalaryStatisticsReportBO.buildReportColumns(dimension.getDimName(), salaryStatisticsItemList); + List weaTableColumns = SalaryStatisticsReportBO.buildReportColumns(dimension, salaryStatisticsItemList); Map resultMap = Maps.newHashMap(); resultMap.putAll(JsonUtil.parseMap(weaTable, Object.class)); @@ -377,7 +377,7 @@ public class SalaryStatisticsReportWrapper extends Service { List> records = list.stream().map(m -> m.entrySet().stream().collect(Collectors.toMap(Map.Entry::getKey, e -> e.getValue() + StringUtils.EMPTY))).collect(Collectors.toList()); // 鑾峰彇鍒楀ご - List weaTableColumns = SalaryStatisticsReportBO.buildReportColumns(dimension.getDimName(), salaryStatisticsItemList); + List weaTableColumns = SalaryStatisticsReportBO.buildReportColumns(dimension, salaryStatisticsItemList); // 缁勮瀵煎嚭鍙傛暟 // ExportCommonParam exportParam = SalaryStatisticsReportBO.buildExportParam(dimension.getDimName(), weaTableColumns, records); diff --git a/src/com/engine/salary/service/SalaryAcctReportService.java b/src/com/engine/salary/service/SalaryAcctReportService.java index 4d3f8206e..4a294dc5b 100644 --- a/src/com/engine/salary/service/SalaryAcctReportService.java +++ b/src/com/engine/salary/service/SalaryAcctReportService.java @@ -3,7 +3,6 @@ package com.engine.salary.service; import com.engine.salary.entity.report.po.SalaryAcctResultReportPO; import java.util.Collection; -import java.util.List; /** * 钖祫鎶ヨ〃 @@ -15,23 +14,6 @@ import java.util.List; **/ public interface SalaryAcctReportService { - /** - * 钖叕瑙e瘑鏂规硶 - * - * @param s 寰呰В瀵嗗瓧绗︿覆 - * @return - */ - List decrypt(List s); - - - /** - * 钖叕瑙e瘑鏂规硶 - * - * @param s 寰呰В瀵嗗瓧绗︿覆 - * @return - */ - String decrypt(String s); - /** * 淇濆瓨鏍哥畻璁板綍鎶ヨ〃鏁版嵁 * @param pos diff --git a/src/com/engine/salary/service/impl/SISchemeServiceImpl.java b/src/com/engine/salary/service/impl/SISchemeServiceImpl.java index 455604a4b..c31c68aea 100644 --- a/src/com/engine/salary/service/impl/SISchemeServiceImpl.java +++ b/src/com/engine/salary/service/impl/SISchemeServiceImpl.java @@ -1571,16 +1571,6 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { } - private List decryptSchemeDetailList(List encryptList) { - encryptList.forEach(item -> { - item.setUpperLimit(AESEncryptUtil.decrypt(item.getUpperLimit())); - item.setFixedCost(AESEncryptUtil.decrypt(item.getFixedCost())); - item.setLowerLimit(AESEncryptUtil.decrypt(item.getLowerLimit())); - }); - return encryptList; - } - - /** * 鏍¢獙寰呮柊澧炵殑绀句繚绂忓埄妗f鏁版嵁 */ diff --git a/src/com/engine/salary/service/impl/SalaryAcctEmployeeServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctEmployeeServiceImpl.java index b345b69e5..118cebdca 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctEmployeeServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctEmployeeServiceImpl.java @@ -624,32 +624,29 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct List subCompanyIds = param.getSubCompany(); if (CollectionUtils.isNotEmpty(subCompanyIds)) { SubCompanyComInfo subCompanyComInfo = new SubCompanyComInfo(); - StringBuilder allSubcompanyIds = new StringBuilder(); + List allSubcompanyIds = new ArrayList<>(); for (Long subCompanyId : subCompanyIds) { String organizationIds = Util.null2String(subCompanyId); String allChildSubcompanyId = subCompanyComInfo.getAllChildSubcompanyId(subCompanyId.toString(), organizationIds); - allSubcompanyIds.append(allChildSubcompanyId); + allSubcompanyIds.addAll(Arrays.asList(allChildSubcompanyId.split(","))); } - List finalAllSubcompanyIds = Arrays.asList(allSubcompanyIds.toString().split(",")); - employeeList = employeeList.stream().filter(emp -> finalAllSubcompanyIds.contains(emp.getSubcompanyid().toString())).collect(Collectors.toList()); + employeeList = employeeList.stream().filter(emp -> allSubcompanyIds.contains(emp.getSubcompanyid().toString())).collect(Collectors.toList()); } // 閮ㄩ棬杩囨护 List depart = param.getDepart(); if (CollectionUtils.isNotEmpty(depart)) { - StringBuilder allDepartIds = new StringBuilder(); + List allDepartIds = new ArrayList<>(); for (Long subDepartId : depart) { String ids = Util.null2String(subDepartId); - String allDepartId = ""; try { - allDepartId = DepartmentComInfo.getAllChildDepartId(subDepartId.toString(), ids); + String allDepartId = DepartmentComInfo.getAllChildDepartId(subDepartId.toString(), ids); + allDepartIds.addAll(Arrays.asList(allDepartId.toString().split(","))); } catch (Exception e) { log.error("鑾峰彇瀛愰儴闂ㄥけ璐", e); } - allDepartIds.append(allDepartId); } - List finalAllDepartIds = Arrays.asList(allDepartIds.toString().split(",")); - employeeList = employeeList.stream().filter(emp -> finalAllDepartIds.contains(emp.getDepartmentId().toString())).collect(Collectors.toList()); + employeeList = employeeList.stream().filter(emp -> allDepartIds.contains(emp.getDepartmentId().toString())).collect(Collectors.toList()); } // 鑱岀骇杩囨护 // if (CollectionUtils.isNotEmpty(param.getGrade())) { diff --git a/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java index 35f02da4a..e322d8fd3 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java @@ -28,6 +28,7 @@ import com.engine.salary.entity.taxagent.po.TaxAgentPO; import com.engine.salary.enums.UserStatusEnum; import com.engine.salary.enums.salaryaccounting.LockStatusEnum; import com.engine.salary.enums.salaryaccounting.SalaryAcctResultDataSourceEnum; +import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.mapper.sys.SalarySysConfMapper; import com.engine.salary.service.*; @@ -442,6 +443,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc .map(salarySobItemPO -> SalaryAcctImportFieldDTO.ImportFieldDTO.builder() .salaryItemId(salarySobItemPO.getSalaryItemId()) .salaryItemName(Optional.ofNullable(salaryItemMap.get(salarySobItemPO.getSalaryItemId())).map(SalaryItemPO::getName).orElse(StringUtils.EMPTY)) + .dataType(Optional.ofNullable(salaryItemMap.get(salarySobItemPO.getSalaryItemId())).map(SalaryItemPO::getDataType).orElse(SalaryDataTypeEnum.NUMBER.getValue())) .build()) .collect(Collectors.toList()); @@ -458,6 +460,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc .map(salarySobItemPO ->SalaryAcctImportFieldDTO.ImportFieldDTO.builder() .salaryItemId(salarySobItemPO.getSalaryItemId()) .salaryItemName(Optional.ofNullable(salaryItemMap.get(salarySobItemPO.getSalaryItemId())).map(SalaryItemPO::getName).orElse(StringUtils.EMPTY)) + .dataType(Optional.ofNullable(salaryItemMap.get(salarySobItemPO.getSalaryItemId())).map(SalaryItemPO::getDataType).orElse(SalaryDataTypeEnum.NUMBER.getValue())) .build()) .collect(Collectors.toList()); diff --git a/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java index 63d03f562..dcff012c7 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java @@ -305,9 +305,13 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe // 杞崲鎴恜o 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(); + SalaryAcctTaxAgentPO build = SalaryAcctTaxAgentPO.builder() + .incomeCategory(salarySobPO.getIncomeCategory()) + .taxAgentId(salarySobPO.getTaxAgentId()) + .salaryMonth(salaryAcctRecordPO.getSalaryMonth()) + .taxCycle(salaryAcctRecordPO.getTaxCycle()) + .build(); List salaryAcctTaxAgents = new ArrayList<>(); salaryAcctTaxAgents.add(build); checkBeforeSave(salaryAcctRecordPO, salaryAcctTaxAgents); @@ -579,10 +583,10 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe .findAny() .orElse(null); if (Objects.nonNull(calculatedSalaryAcctTaxAgent)) { - throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(160506, "涓◣鎵g即涔夊姟浜恒寋0}銆嶅凡缁忓瓨鍦ㄨ柂璧勬墍灞炴湀銆寋1}銆嶇殑钖祫鏍哥畻璁板綍浜嗭紝鏃犳硶鏂板缓钖祫鎵灞炴湀銆寋2}銆嶇殑钖祫鏍哥畻") + throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(160506, "涓◣鎵g即涔夊姟浜恒寋0}銆嶅凡缁忓瓨鍦ㄧ◣娆炬墍灞炴湡銆寋1}銆嶇殑钖祫鏍哥畻璁板綍浜嗭紝鏃犳硶鏂板缓绋庢鎵灞炴湡銆寋2}銆嶇殑钖祫鏍哥畻") .replace("{0}", taxAgentMap.get(calculatedSalaryAcctTaxAgent.getTaxAgentId())) - .replace("{1}", SalaryDateUtil.getFormatYYYYMM(calculatedSalaryAcctTaxAgent.getSalaryMonth())) - .replace("{2}", SalaryDateUtil.getFormatYYYYMM(salaryAcctTaxAgent.getSalaryMonth()))); + .replace("{1}", SalaryDateUtil.getFormatYYYYMM(calculatedSalaryAcctTaxAgent.getTaxCycle())) + .replace("{2}", SalaryDateUtil.getFormatYYYYMM(salaryAcctTaxAgent.getTaxCycle()))); } } } diff --git a/src/com/engine/salary/service/impl/SalaryAcctReportServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctReportServiceImpl.java index c79f6d79d..b389a8c0b 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctReportServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctReportServiceImpl.java @@ -12,7 +12,6 @@ import com.engine.salary.sys.enums.OpenEnum; import com.engine.salary.sys.service.SalarySysConfService; import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl; import com.engine.salary.util.db.MapperProxyFactory; -import com.google.common.collect.Lists; import org.apache.commons.collections4.CollectionUtils; import weaver.hrm.User; @@ -42,31 +41,6 @@ public class SalaryAcctReportServiceImpl extends Service implements SalaryAcctRe return ServiceUtil.getService(SalarySysConfServiceImpl.class, user); } - /** - * 钖叕瑙e瘑鏂规硶 - * - * @param s 寰呰В瀵嗗瓧绗︿覆 - * @return - */ - @Override - public List decrypt(List s) { - if (s != null) { - return s.stream().map(AESEncryptUtil::decrypt).collect(Collectors.toList()); - } - return Lists.newArrayList(); - } - - /** - * 钖叕瑙e瘑鏂规硶 - * - * @param s 寰呰В瀵嗗瓧绗︿覆 - * @return - */ - @Override - public String decrypt(String s) { - return AESEncryptUtil.decrypt(s); - } - /** * 淇濆瓨鏍哥畻鎶ヨ〃鏁版嵁 * diff --git a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java index ae8cd76c8..6a6c4618b 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctResultServiceImpl.java @@ -354,6 +354,29 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe @Override public Map sumRow(SalaryAcctResultQueryParam queryParam) { + + //鍏朵粬鏉′欢 + List otherConditions = queryParam.getOtherConditions(); + if(CollectionUtils.isNotEmpty(otherConditions)){ + List items = SalaryEntityUtil.properties(otherConditions, SalaryAcctResultQueryParam.OtherCondition::getItemId, Collectors.toList()); + List list = listBySalaryAcctRecordIdsAndSalaryItemIds(Collections.singletonList(queryParam.getSalaryAcctRecordId()), items); + for (int i = 0; i < otherConditions.size(); i++) { + SalaryAcctResultQueryParam.OtherCondition otherCondition = otherConditions.get(i); + Long itemId = otherCondition.getItemId(); + FilterEnum filter = otherCondition.getFilter(); + List params = otherCondition.getParams(); + list = list.stream().filter(a -> Objects.equals(a.getSalaryItemId(), itemId)).filter(a -> filter.filter(params).test(a.getResultValue())).collect(Collectors.toList()); + } + List salaryAcctEmpId = SalaryEntityUtil.properties(list, SalaryAcctResultPO::getSalaryAcctEmpId, Collectors.toList()); + if (CollectionUtils.isEmpty(salaryAcctEmpId)) { + //鏉′欢涓嶆弧瓒崇洿鎺ヨ繑鍥炵┖鍒楄〃 + return new HashMap<>(); + } else { + queryParam.setIds(salaryAcctEmpId); + } + } + + // 鏌ヨ钖祫鏍哥畻浜哄憳 List salaryAcctEmployeePOS = getSalaryAcctEmployeeService(user).listByResultQueryParam(queryParam); diff --git a/src/com/engine/salary/service/impl/SalaryComparisonResultServiceImpl.java b/src/com/engine/salary/service/impl/SalaryComparisonResultServiceImpl.java index 10349c244..3c979d6bf 100644 --- a/src/com/engine/salary/service/impl/SalaryComparisonResultServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryComparisonResultServiceImpl.java @@ -2,7 +2,6 @@ package com.engine.salary.service.impl; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; -import com.engine.salary.encrypt.AESEncryptUtil; import com.engine.salary.encrypt.EncryptUtil; import com.engine.salary.entity.datacollection.DataCollectionEmployee; import com.engine.salary.entity.salaryacct.bo.SalaryAcctResultBO; @@ -17,7 +16,10 @@ import com.engine.salary.entity.salaryformula.ExpressFormula; import com.engine.salary.entity.salaryitem.po.SalaryItemPO; import com.engine.salary.entity.salarysob.bo.SalarySobItemAggregateBO; import com.engine.salary.entity.salarysob.dto.SalarySobItemAggregateDTO; -import com.engine.salary.entity.salarysob.po.*; +import com.engine.salary.entity.salarysob.po.SalarySobEmpFieldPO; +import com.engine.salary.entity.salarysob.po.SalarySobItemGroupPO; +import com.engine.salary.entity.salarysob.po.SalarySobItemPO; +import com.engine.salary.entity.salarysob.po.SalarySobPO; import com.engine.salary.entity.taxagent.po.TaxAgentPO; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.mapper.salaryacct.ExcelAcctResultMapper; @@ -268,14 +270,4 @@ public class SalaryComparisonResultServiceImpl extends Service implements Salary public void deleteBySalaryAcctRecordIds(Collection salaryAcctRecordIds) { getExcelAcctResultMapper().deleteBySalaryAcctRecordIds(salaryAcctRecordIds); } - - private Collection encryptCollection(Collection collection) { - collection.forEach(item -> item.setResultValue(AESEncryptUtil.encrypt(item.getResultValue()))); - return collection; - } - - private Collection decryptCollection(Collection collection) { - collection.forEach(item -> item.setResultValue(AESEncryptUtil.decrypt(item.getResultValue()))); - return collection; - } } diff --git a/src/com/engine/salary/transmethod/EncryptTransMethod.java b/src/com/engine/salary/transmethod/EncryptTransMethod.java index 638af2547..8dddf382e 100644 --- a/src/com/engine/salary/transmethod/EncryptTransMethod.java +++ b/src/com/engine/salary/transmethod/EncryptTransMethod.java @@ -1,9 +1,7 @@ package com.engine.salary.transmethod; -import com.engine.salary.encrypt.AESEncryptUtil; - public class EncryptTransMethod { - public static String decrypt(String source) { - return AESEncryptUtil.decrypt(source); - } +// public static String decrypt(String source) { +// return AESEncryptUtil.decrypt(source); +// } } diff --git a/src/com/engine/salary/web/SISchemeController.java b/src/com/engine/salary/web/SISchemeController.java index 13b532394..66bab3825 100644 --- a/src/com/engine/salary/web/SISchemeController.java +++ b/src/com/engine/salary/web/SISchemeController.java @@ -20,6 +20,7 @@ import com.engine.salary.util.SalaryI18nUtil; import com.engine.salary.util.page.PageInfo; import com.engine.salary.wrapper.SISchemeWrapper; import io.swagger.v3.oas.annotations.parameters.RequestBody; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.jetbrains.annotations.NotNull; @@ -48,15 +49,16 @@ import java.util.stream.Collectors; * @Date 2022/3/7 * @Version V1.0 **/ +@Slf4j public class SISchemeController { private SISchemeService getService(User user) { - return ServiceUtil.getService(SISchemeServiceImpl.class,user); + return ServiceUtil.getService(SISchemeServiceImpl.class, user); } private SISchemeWrapper getSISchemeWrapper(User user) { - return ServiceUtil.getService(SISchemeWrapper.class,user); + return ServiceUtil.getService(SISchemeWrapper.class, user); } private SIAccountService getSIAccountService(User user) { @@ -65,6 +67,7 @@ public class SISchemeController { /** * 鏌ヨ绂忓埄鏂规琛ㄥ崟 + * * @param request * @param response * @return @@ -77,13 +80,14 @@ public class SISchemeController { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); //InsuranceSchemeDTO insuranceSchemeDTO = InsuranceSchemeDTO.builder().welfareType(welfareTypeEnum).build(); - map.put("welfareTypeEnum",welfareTypeEnum); - return new ResponseResult< Map, Map>(user).run(getService(user)::getForm,map); + map.put("welfareTypeEnum", welfareTypeEnum); + return new ResponseResult, Map>(user).run(getService(user)::getForm, map); } /** * 鏌ヨ绂忓埄鏂规鍒楄〃 + * * @param request * @param response * @return @@ -99,6 +103,7 @@ public class SISchemeController { /** * 鏂板 + * * @param request * @param response * @return @@ -109,12 +114,13 @@ public class SISchemeController { public String insertScheme(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InsuranceSchemeReqParam insuranceSchemeReqParam) { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); - map.put("insuranceSchemeReqParam",insuranceSchemeReqParam); - return new ResponseResult< Map, Map>(user).run(getService(user)::insertScheme,map); + map.put("insuranceSchemeReqParam", insuranceSchemeReqParam); + return new ResponseResult, Map>(user).run(getService(user)::insertScheme, map); } /** * 缂栬緫鏂规涓昏〃鍜屾槑缁嗚〃鏁版嵁 + * * @param request * @param response * @param insuranceSchemeReqParam @@ -123,15 +129,16 @@ public class SISchemeController { @POST @Path("/update") @Produces(MediaType.APPLICATION_JSON) - public String update(@Context HttpServletRequest request, @Context HttpServletResponse response,@RequestBody InsuranceSchemeReqParam insuranceSchemeReqParam) { + public String update(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InsuranceSchemeReqParam insuranceSchemeReqParam) { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); - map.put("insuranceSchemeReqParam",insuranceSchemeReqParam); - return new ResponseResult< Map, Map>(user).run(getService(user)::update,map); + map.put("insuranceSchemeReqParam", insuranceSchemeReqParam); + return new ResponseResult, Map>(user).run(getService(user)::update, map); } /** * 缂栬緫鏂规鏄庣粏琛ㄦ暟鎹 + * * @param request * @param response * @param schemeDetailList @@ -140,13 +147,14 @@ public class SISchemeController { @POST @Path("/updateSchemeDetail") @Produces(MediaType.APPLICATION_JSON) - public String updateSchemeDetail(@Context HttpServletRequest request, @Context HttpServletResponse response,@RequestBody List schemeDetailList) { + public String updateSchemeDetail(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody List schemeDetailList) { User user = HrmUserVarify.getUser(request, response); - return new ResponseResult< List , List>(user).run(getService(user)::updateSchemeDetail,schemeDetailList); + return new ResponseResult, List>(user).run(getService(user)::updateSchemeDetail, schemeDetailList); } /** * 鍒犻櫎(鎺ュ彛涓殏鏃) + * * @param request * @param response * @param insuranceSchemeReqParam @@ -158,13 +166,14 @@ public class SISchemeController { public String deleteTaxRate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InsuranceSchemeReqParam insuranceSchemeReqParam) { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); - map.put("ids",insuranceSchemeReqParam.getIds()); + map.put("ids", insuranceSchemeReqParam.getIds()); map.put("welfareTypeId", insuranceSchemeReqParam.getWelfareTypeEnum().getValue()); - return new ResponseResult< Map, Map>(user).run(getService(user)::delete,map); + return new ResponseResult, Map>(user).run(getService(user)::delete, map); } /** * 澶嶅埗绂忓埄鏂规琛ㄥ崟 + * * @param request * @param response * @return @@ -176,55 +185,61 @@ public class SISchemeController { @QueryParam("id") Long id, @QueryParam("schemeName") String schemeName) { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); - map.put("id",id); - map.put("schemeName",schemeName); - return new ResponseResult< Map, Map>(user).run(getService(user)::copyScheme,map); + map.put("id", id); + map.put("schemeName", schemeName); + return new ResponseResult, Map>(user).run(getService(user)::copyScheme, map); } /** * 瀵煎嚭妗f + * * @return */ @GET @Path("/export") @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response export(@Context HttpServletRequest request, @Context HttpServletResponse response) { - InsuranceArchivesListParam param = buildInsuranceArchivesListParam(request); - User user = HrmUserVarify.getUser(request, response); - XSSFWorkbook workbook = getService(user).export(param); - String fileName ; - //琛ㄥご - if (param.getRunStatuses().size() > 0) { - if (param.getRunStatuses().contains(EmployeeStatusEnum.STAY_ADD.getValue()) && param.getRunStatuses().size() == 1) { - fileName = SalaryI18nUtil.getI18nLabel(85368, "绀句繚绂忓埄妗f瀵煎嚭" + "-" + EmployeeStatusEnum.STAY_ADD.getDefaultLabel()); - } else if (param.getRunStatuses().contains(EmployeeStatusEnum.PAYING.getValue()) && param.getRunStatuses().contains(EmployeeStatusEnum.STAY_DEL.getValue()) && param.getRunStatuses().size() == 2) { - fileName = SalaryI18nUtil.getI18nLabel(85368, "绀句繚绂忓埄妗f瀵煎嚭" + "-" + "鍦ㄧ即鍛樺伐"); - } else if (param.getRunStatuses().contains(EmployeeStatusEnum.STAY_DEL.getValue()) && param.getRunStatuses().size() == 1) { - fileName = SalaryI18nUtil.getI18nLabel(85368, "绀句繚绂忓埄妗f瀵煎嚭" + "-" + EmployeeStatusEnum.STAY_DEL.getDefaultLabel()); - } else if (param.getRunStatuses().contains(EmployeeStatusEnum.STOP_PAYMENT_FROM_ADD.getValue()) && param.getRunStatuses().contains(EmployeeStatusEnum.STOP_PAYMENT_FROM_DEL.getValue()) && param.getRunStatuses().size() == 2) { - fileName = SalaryI18nUtil.getI18nLabel(85368, "绀句繚绂忓埄妗f瀵煎嚭" + "-" + "鍋滅即鍛樺伐"); + try { + InsuranceArchivesListParam param = buildInsuranceArchivesListParam(request); + User user = HrmUserVarify.getUser(request, response); + XSSFWorkbook workbook = getService(user).export(param); + String fileName; + //琛ㄥご + if (param.getRunStatuses().size() > 0) { + if (param.getRunStatuses().contains(EmployeeStatusEnum.STAY_ADD.getValue()) && param.getRunStatuses().size() == 1) { + fileName = SalaryI18nUtil.getI18nLabel(85368, "绀句繚绂忓埄妗f瀵煎嚭" + "-" + EmployeeStatusEnum.STAY_ADD.getDefaultLabel()); + } else if (param.getRunStatuses().contains(EmployeeStatusEnum.PAYING.getValue()) && param.getRunStatuses().contains(EmployeeStatusEnum.STAY_DEL.getValue()) && param.getRunStatuses().size() == 2) { + fileName = SalaryI18nUtil.getI18nLabel(85368, "绀句繚绂忓埄妗f瀵煎嚭" + "-" + "鍦ㄧ即鍛樺伐"); + } else if (param.getRunStatuses().contains(EmployeeStatusEnum.STAY_DEL.getValue()) && param.getRunStatuses().size() == 1) { + fileName = SalaryI18nUtil.getI18nLabel(85368, "绀句繚绂忓埄妗f瀵煎嚭" + "-" + EmployeeStatusEnum.STAY_DEL.getDefaultLabel()); + } else if (param.getRunStatuses().contains(EmployeeStatusEnum.STOP_PAYMENT_FROM_ADD.getValue()) && param.getRunStatuses().contains(EmployeeStatusEnum.STOP_PAYMENT_FROM_DEL.getValue()) && param.getRunStatuses().size() == 2) { + fileName = SalaryI18nUtil.getI18nLabel(85368, "绀句繚绂忓埄妗f瀵煎嚭" + "-" + "鍋滅即鍛樺伐"); + } else { + fileName = SalaryI18nUtil.getI18nLabel(85368, "绀句繚绂忓埄妗f瀵煎嚭"); + } } else { fileName = SalaryI18nUtil.getI18nLabel(85368, "绀句繚绂忓埄妗f瀵煎嚭"); } - } else { - fileName = SalaryI18nUtil.getI18nLabel(85368, "绀句繚绂忓埄妗f瀵煎嚭"); - } - fileName = fileName + LocalDate.now(); - try { - fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } + fileName = fileName + LocalDate.now(); + try { + fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } - StreamingOutput output = outputStream -> { - workbook.write(outputStream); - outputStream.flush(); - }; - return Response.ok(output) - .header("Content-disposition", "attachment;filename=" + fileName) - .header("Cache-Control", "no-cache").build(); + StreamingOutput output = outputStream -> { + workbook.write(outputStream); + outputStream.flush(); + }; + return Response.ok(output) + .header("Content-disposition", "attachment;filename=" + fileName) + .header("Cache-Control", "no-cache").build(); + } catch (Exception e) { + log.error("绀句繚绂忓埄妗f瀵煎嚭寮傚父", e); + throw e; + } } @@ -248,58 +263,63 @@ public class SISchemeController { /** * 瀵煎嚭妗f鍜屾。妗堟ā鏉 + * * @return */ @GET @Path("/template/export") @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response exportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + InsuranceArchivesListParam param = buildInsuranceArchivesListParam(request); - InsuranceArchivesListParam param = buildInsuranceArchivesListParam(request); - - param.setExportData(Boolean.valueOf(request.getParameter("exportData"))); - param.setExtWelArchiveList(Boolean.valueOf(request.getParameter("extWelArchiveList"))); - User user = HrmUserVarify.getUser(request, response); - if (param.getInspectAll() != null && param.getInspectAll()) { - List insuranceAccountInspectPOS = getSIAccountService(user).allInspects(param.getIds(), param.getBillMonth()); - param.setEmployeeIds(insuranceAccountInspectPOS.stream().map(InsuranceAccountInspectPO::getEmployeeId).distinct().collect(Collectors.toList())); - } - XSSFWorkbook workbook = getService(user).exportTemplate(param); - String fileName; - //琛ㄥご - if (param.isExtWelArchiveList()) { - fileName = SalaryI18nUtil.getI18nLabel(0, "绀句繚绂忓埄妗f瀵煎叆妯℃澘") + "-" + SalaryI18nUtil.getI18nLabel(542679, "闈炵郴缁熶汉鍛"); - } else if (param.getRunStatuses().size() > 0) { - if (param.getRunStatuses().contains(EmployeeStatusEnum.STAY_ADD.getValue()) && param.getRunStatuses().size() == 1) { - fileName = SalaryI18nUtil.getI18nLabel(85368, "绀句繚绂忓埄妗f瀵煎叆妯℃澘" + "-" + EmployeeStatusEnum.STAY_ADD.getDefaultLabel()); - } else if (param.getRunStatuses().contains(EmployeeStatusEnum.PAYING.getValue()) && param.getRunStatuses().contains(EmployeeStatusEnum.STAY_DEL.getValue()) && param.getRunStatuses().size() == 2) { - fileName = SalaryI18nUtil.getI18nLabel(85368, "绀句繚绂忓埄妗f瀵煎叆妯℃澘" + "-" + "鍦ㄧ即鍛樺伐"); - } else if (param.getRunStatuses().contains(EmployeeStatusEnum.STAY_DEL.getValue()) && param.getRunStatuses().size() == 1) { - fileName = SalaryI18nUtil.getI18nLabel(85368, "绀句繚绂忓埄妗f瀵煎叆妯℃澘" + "-" + EmployeeStatusEnum.STAY_DEL.getDefaultLabel()); - } else if (param.getRunStatuses().contains(EmployeeStatusEnum.STOP_PAYMENT_FROM_ADD.getValue()) && param.getRunStatuses().contains(EmployeeStatusEnum.STOP_PAYMENT_FROM_DEL.getValue()) && param.getRunStatuses().size() == 2) { - fileName = SalaryI18nUtil.getI18nLabel(85368, "绀句繚绂忓埄妗f瀵煎叆妯℃澘" + "-" + "鍋滅即鍛樺伐"); + param.setExportData(Boolean.valueOf(request.getParameter("exportData"))); + param.setExtWelArchiveList(Boolean.valueOf(request.getParameter("extWelArchiveList"))); + User user = HrmUserVarify.getUser(request, response); + if (param.getInspectAll() != null && param.getInspectAll()) { + List insuranceAccountInspectPOS = getSIAccountService(user).allInspects(param.getIds(), param.getBillMonth()); + param.setEmployeeIds(insuranceAccountInspectPOS.stream().map(InsuranceAccountInspectPO::getEmployeeId).distinct().collect(Collectors.toList())); + } + XSSFWorkbook workbook = getService(user).exportTemplate(param); + String fileName; + //琛ㄥご + if (param.isExtWelArchiveList()) { + fileName = SalaryI18nUtil.getI18nLabel(0, "绀句繚绂忓埄妗f瀵煎叆妯℃澘") + "-" + SalaryI18nUtil.getI18nLabel(542679, "闈炵郴缁熶汉鍛"); + } else if (param.getRunStatuses().size() > 0) { + if (param.getRunStatuses().contains(EmployeeStatusEnum.STAY_ADD.getValue()) && param.getRunStatuses().size() == 1) { + fileName = SalaryI18nUtil.getI18nLabel(85368, "绀句繚绂忓埄妗f瀵煎叆妯℃澘" + "-" + EmployeeStatusEnum.STAY_ADD.getDefaultLabel()); + } else if (param.getRunStatuses().contains(EmployeeStatusEnum.PAYING.getValue()) && param.getRunStatuses().contains(EmployeeStatusEnum.STAY_DEL.getValue()) && param.getRunStatuses().size() == 2) { + fileName = SalaryI18nUtil.getI18nLabel(85368, "绀句繚绂忓埄妗f瀵煎叆妯℃澘" + "-" + "鍦ㄧ即鍛樺伐"); + } else if (param.getRunStatuses().contains(EmployeeStatusEnum.STAY_DEL.getValue()) && param.getRunStatuses().size() == 1) { + fileName = SalaryI18nUtil.getI18nLabel(85368, "绀句繚绂忓埄妗f瀵煎叆妯℃澘" + "-" + EmployeeStatusEnum.STAY_DEL.getDefaultLabel()); + } else if (param.getRunStatuses().contains(EmployeeStatusEnum.STOP_PAYMENT_FROM_ADD.getValue()) && param.getRunStatuses().contains(EmployeeStatusEnum.STOP_PAYMENT_FROM_DEL.getValue()) && param.getRunStatuses().size() == 2) { + fileName = SalaryI18nUtil.getI18nLabel(85368, "绀句繚绂忓埄妗f瀵煎叆妯℃澘" + "-" + "鍋滅即鍛樺伐"); + } else { + fileName = SalaryI18nUtil.getI18nLabel(85368, "绀句繚绂忓埄妗f瀵煎叆妯℃澘"); + } } else { fileName = SalaryI18nUtil.getI18nLabel(85368, "绀句繚绂忓埄妗f瀵煎叆妯℃澘"); } - } else { - fileName = SalaryI18nUtil.getI18nLabel(85368, "绀句繚绂忓埄妗f瀵煎叆妯℃澘"); + + + fileName = fileName + LocalDate.now(); + try { + fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + + StreamingOutput output = outputStream -> { + workbook.write(outputStream); + outputStream.flush(); + }; + return Response.ok(output) + .header("Content-disposition", "attachment;filename=" + fileName) + .header("Cache-Control", "no-cache").build(); + } catch (Exception e) { + log.error("绀句繚绂忓埄妗f妯℃澘瀵煎嚭寮傚父", e); + throw e; } - - - fileName = fileName + LocalDate.now(); - try { - fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8"); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - - StreamingOutput output = outputStream -> { - workbook.write(outputStream); - outputStream.flush(); - }; - return Response.ok(output) - .header("Content-disposition", "attachment;filename=" + fileName) - .header("Cache-Control", "no-cache").build(); } @NotNull @@ -307,13 +327,13 @@ public class SISchemeController { InsuranceArchivesListParam param = new InsuranceArchivesListParam(); String ids = request.getParameter("ids"); - if(StringUtils.isNotBlank(ids)){ - param.setIds( Arrays.stream(ids.split(",")).map(Long::valueOf).collect(Collectors.toList())); + if (StringUtils.isNotBlank(ids)) { + param.setIds(Arrays.stream(ids.split(",")).map(Long::valueOf).collect(Collectors.toList())); } String runStatuses = request.getParameter("runStatuses"); - if(StringUtils.isNotBlank(runStatuses)){ - param.setRunStatuses( Arrays.stream(runStatuses.split(",")).map(String::valueOf).collect(Collectors.toList())); + if (StringUtils.isNotBlank(runStatuses)) { + param.setRunStatuses(Arrays.stream(runStatuses.split(",")).map(String::valueOf).collect(Collectors.toList())); } String statusesStr = request.getParameter("statusesStr"); @@ -360,5 +380,4 @@ public class SISchemeController { } - }