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=? 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); 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(); // 除了定薪中的初始化,其他导入存在相同的取第一条 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} 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; } 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); } 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()); }