From 0bf4b8ed095289f98195f78b4c2e8c037dba69f9 Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Tue, 23 Apr 2024 15:45:24 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=BE=80=E6=9C=9F?= =?UTF-8?q?=E7=B4=AF=E8=AE=A1=E5=AF=BC=E5=85=A5=E6=97=B6=E6=9C=AA=E5=8A=A0?= =?UTF-8?q?=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/salary/service/impl/AddUpSituationServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java b/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java index 9c7994261..32e8755a8 100644 --- a/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java +++ b/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java @@ -7,9 +7,9 @@ import com.api.browser.util.ConditionType; import com.api.formmode.mybatis.util.SqlProxyHandle; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; +import com.engine.hrmelog.entity.dto.LoggerContext; import com.engine.salary.biz.AddUpSituationBiz; import com.engine.salary.config.SalaryElogConfig; -import com.engine.hrmelog.entity.dto.LoggerContext; import com.engine.salary.encrypt.EncryptUtil; import com.engine.salary.entity.datacollection.AddUpSituation; import com.engine.salary.entity.datacollection.DataCollectionEmployee; @@ -1203,6 +1203,7 @@ public class AddUpSituationServiceImpl extends Service implements AddUpSituation @Override public void batchSave(List list) { if (CollectionUtils.isNotEmpty(list)) { + encryptUtil.encryptList(list, AddUpSituation.class); List> partition = Lists.partition(list, 50); partition.forEach(getAddUpSituationMapper()::insertData); } From d802d890d6cd622ea3a33a5c88c80e6ba3ba41b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Thu, 25 Apr 2024 11:45:37 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E5=A4=84=E7=90=86=E8=A7=A3=E5=AF=86?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/wiki/常用查询.md | 10 ++++++++++ .../engine/salary/encrypt/AESEncryptUtil.java | 20 +++++++++++++++---- 2 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 resource/wiki/常用查询.md diff --git a/resource/wiki/常用查询.md b/resource/wiki/常用查询.md new file mode 100644 index 000000000..0bb9db9a6 --- /dev/null +++ b/resource/wiki/常用查询.md @@ -0,0 +1,10 @@ +# 工资数据报表 + +```` +select e.lastname,sob.name as 账套名, record.salary_month as 薪资月, item.name as 薪资项 ,result.result_value as 值 +from hrsa_salary_acct_record record +left join hrsa_salary_sob sob on record.salary_sob_id = sob.id and sob.delete_type = 0 and record.delete_type = 0 +left join hrsa_salary_acct_result result on record.id = result.salary_acct_record_id and result.delete_type = 0 and record.delete_type = 0 +left join hrsa_salary_item item on result.salary_item_id = item.id and item.delete_type = 0 +left join hrsa_tax_agent agent on agent.id=sob.tax_agent_id and agent.delete_type=0 +left join hrmresource e on e.id= result.employee_id diff --git a/src/com/engine/salary/encrypt/AESEncryptUtil.java b/src/com/engine/salary/encrypt/AESEncryptUtil.java index e54ebea02..4ec7f60de 100644 --- a/src/com/engine/salary/encrypt/AESEncryptUtil.java +++ b/src/com/engine/salary/encrypt/AESEncryptUtil.java @@ -46,6 +46,14 @@ public class AESEncryptUtil { if (encryptStr.startsWith(SalarySysConstant.PRE_SIGN_ENCRYPT)) { encryptStr = encryptStr.substring(4, encryptStr.length()); return AES.decrypt(encryptStr, aesEncryptScrect); + } else if (isNumeric(encryptStr) || + checkHaveChinese(encryptStr) || + encryptStr.startsWith("{") || + encryptStr.contains("-") || + encryptStr.contains(".") || + "null".equals(encryptStr) || + StringUtils.isBlank(encryptStr)) { + return encryptStr; } else { return AES.decrypt(encryptStr, aesEncryptScrect); } @@ -59,7 +67,7 @@ public class AESEncryptUtil { * @param encryptStr 加密字符串 * @return 解密字符串 */ - public static String closeEncryptSetting(String encryptStr,SalarySysConfPO sysConfPo) { + public static String closeEncryptSetting(String encryptStr, SalarySysConfPO sysConfPo) { if (encryptStr == null) { return null; } else { @@ -67,9 +75,13 @@ public class AESEncryptUtil { if (encryptStr.startsWith(SalarySysConstant.PRE_SIGN_ENCRYPT)) { encryptStr = encryptStr.substring(4, encryptStr.length()); return AES.decrypt(encryptStr, aesEncryptScrect); - } else if (isNumeric(encryptStr) || checkHaveChinese(encryptStr) || encryptStr.startsWith("{") || encryptStr.contains("-") || encryptStr.contains(".")) { - return encryptStr; - } else if ("null".equals(encryptStr) || StringUtils.isBlank(encryptStr)) { + } else if (isNumeric(encryptStr) || + checkHaveChinese(encryptStr) || + encryptStr.startsWith("{") || + encryptStr.contains("-") || + encryptStr.contains(".") || + "null".equals(encryptStr) || + StringUtils.isBlank(encryptStr)) { return encryptStr; } else if (sysConfPo == null || sysConfPo.getConfValue().equals(OpenEnum.OFF.getValue())) { return AES.decrypt(encryptStr, aesEncryptScrect); From c9075058d5d4e2c2ac03161018b9cd01b21f5537 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Thu, 25 Apr 2024 13:45:59 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E8=B7=B3=E8=BF=87=E4=BA=BA=E5=91=98?= =?UTF-8?q?=E8=8C=83=E5=9B=B4=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../salaryarchive/bo/SalaryArchiveExcelBO.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/com/engine/salary/entity/salaryarchive/bo/SalaryArchiveExcelBO.java b/src/com/engine/salary/entity/salaryarchive/bo/SalaryArchiveExcelBO.java index 02eb78dda..cfe3d8d43 100644 --- a/src/com/engine/salary/entity/salaryarchive/bo/SalaryArchiveExcelBO.java +++ b/src/com/engine/salary/entity/salaryarchive/bo/SalaryArchiveExcelBO.java @@ -421,7 +421,6 @@ public class SalaryArchiveExcelBO extends Service { Map errorMessageMap = Maps.newHashMap(); errorMessageMap.put("message", rowindex + "个税扣缴义务人不存在"); excelComments.add(errorMessageMap); -// SalaryArchiveExcelBO.createExcelComment(excelComments, taxAgentRangeMsg, errorCount + 1, errorCount + 1, 0, 0); isError = true; return isError; } @@ -440,14 +439,15 @@ public class SalaryArchiveExcelBO extends Service { taxAgentRangeSaveParam.setTargetParams(Collections.singletonList(taxAgentSubAdminRangeTargetParam)); taxAgentRangeSaveParam.setSync(true); importHandleParam.setTaxAgentRanges(Collections.singletonList(taxAgentRangeSaveParam)); - } else { - Map errorMessageMap = Maps.newHashMap(); - errorMessageMap.put("message", rowindex + taxAgentRangeMsg); - excelComments.add(errorMessageMap); -// SalaryArchiveExcelBO.createExcelComment(excelComments, taxAgentRangeMsg, errorCount + 1, errorCount + 1, 0, 0); - isError = true; - return isError; } +// else { +// Map errorMessageMap = Maps.newHashMap(); +// errorMessageMap.put("message", rowindex + taxAgentRangeMsg); +// excelComments.add(errorMessageMap); +//// SalaryArchiveExcelBO.createExcelComment(excelComments, taxAgentRangeMsg, errorCount + 1, errorCount + 1, 0, 0); +// isError = true; +// return isError; +// } } else { employeeId = optionalTaxAgentEmp.get().getEmployeeId(); // 除了定薪中的初始化,其他导入存在相同的取第一条 From ea968c316e998f9f9d10f7a11354faf32d107f53 Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Thu, 25 Apr 2024 14:04:13 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=80=8F=E8=A7=86=E8=96=AA=E8=B5=84=E9=A1=B9=E7=9B=AE=E6=8E=92?= =?UTF-8?q?=E5=BA=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wrapper/SalaryStatisticsReportWrapper.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/com/engine/salary/report/wrapper/SalaryStatisticsReportWrapper.java b/src/com/engine/salary/report/wrapper/SalaryStatisticsReportWrapper.java index 98b959ec8..9bf43c582 100644 --- a/src/com/engine/salary/report/wrapper/SalaryStatisticsReportWrapper.java +++ b/src/com/engine/salary/report/wrapper/SalaryStatisticsReportWrapper.java @@ -478,7 +478,7 @@ public class SalaryStatisticsReportWrapper extends Service { List itemList = getSalaryItemService(user).listByIds(salaryItemIds); // 列表columns - List weaTableColumns = buildDataPerspectiveTableColumns(itemList); + List weaTableColumns = buildDataPerspectiveTableColumns(itemList, salaryItemIds); WeaTable table = new WeaTable(); String pageId = "a4f85an7-9576-4125-adn9-7d06e7sy69f2"; @@ -534,7 +534,7 @@ public class SalaryStatisticsReportWrapper extends Service { List itemList = getSalaryItemService(user).listByIds(salaryItemIds); // 表格表头 - List weaTableColumns = buildDataPerspectiveTableColumns(itemList); + List weaTableColumns = buildDataPerspectiveTableColumns(itemList, salaryItemIds); List columns = new ArrayList<>(); for (WeaTableColumn column : weaTableColumns) { columns.add(column.getText()); @@ -593,7 +593,8 @@ public class SalaryStatisticsReportWrapper extends Service { } } - private List buildDataPerspectiveTableColumns(List salaryItems) { + private List buildDataPerspectiveTableColumns(List salaryItems, List salaryItemIds) { + Map salaryItemMap = SalaryEntityUtil.convert2Map(salaryItems, SalaryItemPO::getId); // 表格表头 List columns = new ArrayList<>(); columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(87614, "姓名"), "userName")); @@ -602,10 +603,13 @@ public class SalaryStatisticsReportWrapper extends Service { columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86184, "个税扣缴义务人"), "taxAgent")); columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86184, "账套"), "salarySob")); // columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86184, "次数"), "acctTimes").setDisplay(WeaBoolAttr.FALSE)); - salaryItems.forEach(item -> { - WeaTableColumn weaTableColumn = new WeaTableColumn("100px", item.getName(), item.getId() + SalaryConstant.DYNAMIC_SUFFIX); - weaTableColumn.setOtherpara(item.getDataType()); - columns.add(weaTableColumn); + salaryItemIds.forEach(itemId -> { + SalaryItemPO item = salaryItemMap.get(itemId); + if (item != null) { + WeaTableColumn weaTableColumn = new WeaTableColumn("100px", item.getName(), item.getId() + SalaryConstant.DYNAMIC_SUFFIX); + weaTableColumn.setOtherpara(item.getDataType()); + columns.add(weaTableColumn); + } }); return columns; } From 468286667416975747c550810c4498cb23af1207 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Thu, 25 Apr 2024 14:25:40 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E6=A1=A3=E6=A1=88sql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/wiki/删除档案.txt | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/resource/wiki/删除档案.txt b/resource/wiki/删除档案.txt index 1668c51f4..a5614d6c5 100644 --- a/resource/wiki/删除档案.txt +++ b/resource/wiki/删除档案.txt @@ -19,3 +19,16 @@ update hrsa_salary_archive set delete_type=3 where tax_agent_id=扣缴义务人 二、删除停薪员工档案 update hrsa_salary_archive set delete_type=3 where run_status in ('STOP_FROM_PENDING','STOP_FROM_SUSPEND') + + +三、删除指定人员档案 + + +--删除社保福利档案 +update hrsa_insurance_base_info set delete_type=3 WHERE employee_id = ? and payment_organization =? +update hrsa_social_archives set delete_type=3 WHERE employee_id = ? and payment_organization =? +update hrsa_fund_archives set delete_type=3 WHERE employee_id = ? and payment_organization =? +update hrsa_other_archives set delete_type=3 WHERE employee_id = ? and payment_organization =? + +-- 删除薪资档案 +update hrsa_salary_archive set delete_type=3 where employee_id = ? and tax_agent_id=? From e7c46bc5e8cfb7ce2ad90fc6bacfdab516bc6a77 Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Fri, 26 Apr 2024 15:13:54 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E7=A6=BB=E8=81=8C=E6=97=A5=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/salary/mapper/datacollection/EmployMapper.java | 2 +- src/com/engine/salary/mapper/datacollection/EmployMapper.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/com/engine/salary/mapper/datacollection/EmployMapper.java b/src/com/engine/salary/mapper/datacollection/EmployMapper.java index 110b8fb55..c49fb2404 100644 --- a/src/com/engine/salary/mapper/datacollection/EmployMapper.java +++ b/src/com/engine/salary/mapper/datacollection/EmployMapper.java @@ -125,7 +125,7 @@ public interface EmployMapper { DeptInfo getDeptInfoById(Long id); /** - * 获取大于离职日期的人员信息 + * 获取大于离职日期的 离职、退休、解聘人员信息 * @return */ List listByDismissDate(String dismissDate); diff --git a/src/com/engine/salary/mapper/datacollection/EmployMapper.xml b/src/com/engine/salary/mapper/datacollection/EmployMapper.xml index 5582f0fcb..cb3553462 100644 --- a/src/com/engine/salary/mapper/datacollection/EmployMapper.xml +++ b/src/com/engine/salary/mapper/datacollection/EmployMapper.xml @@ -457,7 +457,7 @@ e.mobile as mobile, e.enddate as dismissdate from hrmresource e - where e.status not in (7) + where e.status in (4,5,6) AND e.enddate >= #{dismissDate} From 7d7d2dc3095fa21b40fab71f107f87dea48ea075 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Sun, 28 Apr 2024 16:21:44 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E5=A4=84=E7=90=86=E5=85=AC=E5=BC=8F?= =?UTF-8?q?=E6=95=B0=E7=BB=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/salary/service/impl/FormulaRunServiceImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/com/engine/salary/service/impl/FormulaRunServiceImpl.java b/src/com/engine/salary/service/impl/FormulaRunServiceImpl.java index 40edf009b..2b76af128 100644 --- a/src/com/engine/salary/service/impl/FormulaRunServiceImpl.java +++ b/src/com/engine/salary/service/impl/FormulaRunServiceImpl.java @@ -91,7 +91,7 @@ public class FormulaRunServiceImpl extends Service implements FormulaRunService String datasourceJson = map.getOrDefault("datasource", ""); if (StringUtils.isNotBlank(datasourceJson)) { Map datasourceIdMap = JsonUtil.parseMap(datasourceJson, String.class); - String datasourceIdNode = datasourceIdMap.getOrDefault("datasourceId",""); + String datasourceIdNode = datasourceIdMap.getOrDefault("datasourceId", ""); if (StringUtils.isNotBlank(datasourceIdNode)) { datasourceId = datasourceIdNode; } @@ -216,6 +216,10 @@ public class FormulaRunServiceImpl extends Service implements FormulaRunService } if (DataType.NUMBER.equals(v.getFieldType()) && NumberUtils.isCreatable(v.getContent())) { context.put(v.getFieldId(), new BigDecimal(v.getContent())); + } else if (v.getContent().startsWith("[") && v.getContent().endsWith("]")) { + String content = v.getContent().substring(1); + content = content.substring(0, content.length() - 1); + context.put(v.getFieldId(), content.split(",")); } else { context.put(v.getFieldId(), v.getContent()); }