diff --git a/src/com/engine/salary/biz/AddUpSituationBiz.java b/src/com/engine/salary/biz/AddUpSituationBiz.java index b3d47b935..68515ff23 100644 --- a/src/com/engine/salary/biz/AddUpSituationBiz.java +++ b/src/com/engine/salary/biz/AddUpSituationBiz.java @@ -6,6 +6,7 @@ import com.engine.salary.entity.datacollection.dto.AddUpSituationDTO; import com.engine.salary.entity.datacollection.dto.AddUpSituationRecordDTO; import com.engine.salary.entity.datacollection.param.AddUpSituationQueryParam; import com.engine.salary.mapper.datacollection.AddUpSituationMapper; +import com.engine.salary.util.SalaryI18nUtil; import com.google.common.collect.Lists; import org.apache.commons.collections4.CollectionUtils; import org.apache.ibatis.session.SqlSession; @@ -30,7 +31,8 @@ public class AddUpSituationBiz extends BaseBean { try { AddUpSituationMapper mapper = sqlSession.getMapper(AddUpSituationMapper.class); List list = mapper.list(param); - return encryptUtil.decryptList(list, AddUpSituationDTO.class); + encryptUtil.decryptList(list, AddUpSituationDTO.class); + return SalaryI18nUtil.i18nList(list); } finally { sqlSession.close(); } @@ -46,15 +48,15 @@ public class AddUpSituationBiz extends BaseBean { SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); try { AddUpSituationMapper mapper = sqlSession.getMapper(AddUpSituationMapper.class); - if(CollectionUtils.isNotEmpty(param.getEmployeeIds())){ + if (CollectionUtils.isNotEmpty(param.getEmployeeIds())) { List addUpSituations = new ArrayList<>(); List> partition = Lists.partition((List) param.getEmployeeIds(), 500); - partition.forEach(l->{ + partition.forEach(l -> { param.setEmployeeIds(l); addUpSituations.addAll(mapper.listSome(param)); }); - return encryptUtil.decryptList(addUpSituations, AddUpSituation.class); - }else { + return encryptUtil.decryptList(addUpSituations, AddUpSituation.class); + } else { List addUpSituations = mapper.listSome(param); return encryptUtil.decryptList(addUpSituations, AddUpSituation.class); } @@ -143,9 +145,6 @@ public class AddUpSituationBiz extends BaseBean { } - - - public void handleImportData(List pos) { if (CollectionUtils.isEmpty(pos)) { return; @@ -188,10 +187,9 @@ public class AddUpSituationBiz extends BaseBean { } - /** - * @description 批量删除数据 * @return void + * @description 批量删除数据 * @author Harryxzy * @date 2022/10/27 22:39 */ diff --git a/src/com/engine/salary/biz/SpecialAddDeductionBiz.java b/src/com/engine/salary/biz/SpecialAddDeductionBiz.java index a2203e89f..be57b5c29 100644 --- a/src/com/engine/salary/biz/SpecialAddDeductionBiz.java +++ b/src/com/engine/salary/biz/SpecialAddDeductionBiz.java @@ -51,7 +51,8 @@ public class SpecialAddDeductionBiz extends BaseBean { public List listByParam(SpecialAddDeductionQueryParam param) { List specialAddDeductionListDTOS = mapper().listByParam(param); - return encryptUtil.decryptList(specialAddDeductionListDTOS, SpecialAddDeductionListDTO.class); + encryptUtil.decryptList(specialAddDeductionListDTOS, SpecialAddDeductionListDTO.class); + return SalaryI18nUtil.i18nList(specialAddDeductionListDTOS); } public List listByTaxAgentIds(List taxAgentIds) { diff --git a/src/com/engine/salary/entity/datacollection/dto/AddUpDeductionRecordDTO.java b/src/com/engine/salary/entity/datacollection/dto/AddUpDeductionRecordDTO.java index b3cbbc0d7..4de554f12 100644 --- a/src/com/engine/salary/entity/datacollection/dto/AddUpDeductionRecordDTO.java +++ b/src/com/engine/salary/entity/datacollection/dto/AddUpDeductionRecordDTO.java @@ -1,10 +1,7 @@ package com.engine.salary.entity.datacollection.dto; import com.cloudstore.eccom.pc.table.WeaTableType; -import com.engine.salary.annotation.Encrypt; -import com.engine.salary.annotation.SalaryTable; -import com.engine.salary.annotation.SalaryTableColumn; -import com.engine.salary.annotation.TableTitle; +import com.engine.salary.annotation.*; import com.engine.salary.util.excel.ExcelProperty; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.AllArgsConstructor; @@ -31,6 +28,7 @@ public class AddUpDeductionRecordDTO { private Long employeeId; @ExcelProperty(index = 0) + @I18n private String username; //申报月份 @@ -56,6 +54,7 @@ public class AddUpDeductionRecordDTO { @SalaryTableColumn(text = "部门", width = "10%", column = "departmentName") @TableTitle(title = "部门", dataIndex = "departmentName", key = "departmentName") @ExcelProperty(index = 3) + @I18n private String departmentName; //手机号 diff --git a/src/com/engine/salary/entity/datacollection/dto/AddUpSituationDTO.java b/src/com/engine/salary/entity/datacollection/dto/AddUpSituationDTO.java index fd217469e..bd4a80aaa 100644 --- a/src/com/engine/salary/entity/datacollection/dto/AddUpSituationDTO.java +++ b/src/com/engine/salary/entity/datacollection/dto/AddUpSituationDTO.java @@ -39,6 +39,7 @@ public class AddUpSituationDTO { @SalaryTableColumn(text = "姓名", width = "10%", column = "username") @TableTitle(title = "姓名", dataIndex = "username", key = "username") @ExcelProperty(index = 0) + @I18n private String username; // // @SalaryTableColumn(text = "申报月份", width = "10%", column = "username") @@ -59,6 +60,7 @@ public class AddUpSituationDTO { @SalaryTableColumn(text = "部门", width = "10%", column = "departmentName") @TableTitle(title = "部门", dataIndex = "departmentName", key = "departmentName") @ExcelProperty(index = 2) + @I18n private String departmentName; //手机号 diff --git a/src/com/engine/salary/entity/datacollection/dto/OtherDeductionListDTO.java b/src/com/engine/salary/entity/datacollection/dto/OtherDeductionListDTO.java index 5ea78ea2f..94f3580d0 100644 --- a/src/com/engine/salary/entity/datacollection/dto/OtherDeductionListDTO.java +++ b/src/com/engine/salary/entity/datacollection/dto/OtherDeductionListDTO.java @@ -37,6 +37,7 @@ public class OtherDeductionListDTO { @SalaryTableColumn(text = "姓名", width = "10%", column = "username") @TableTitle(title = "姓名", dataIndex = "username", key = "username") @ExcelProperty(index = 0) + @I18n private String username; //个税扣缴义务人 @@ -54,6 +55,7 @@ public class OtherDeductionListDTO { @SalaryTableColumn(text = "部门", width = "10%", column = "departmentName") @TableTitle(title = "部门", dataIndex = "departmentName", key = "departmentName") @ExcelProperty(index = 2) + @I18n private String departmentName; //手机号 diff --git a/src/com/engine/salary/entity/datacollection/dto/SpecialAddDeductionListDTO.java b/src/com/engine/salary/entity/datacollection/dto/SpecialAddDeductionListDTO.java index 8597f505b..5e480bb21 100644 --- a/src/com/engine/salary/entity/datacollection/dto/SpecialAddDeductionListDTO.java +++ b/src/com/engine/salary/entity/datacollection/dto/SpecialAddDeductionListDTO.java @@ -37,6 +37,7 @@ public class SpecialAddDeductionListDTO { @SalaryTableColumn(text = "姓名", width = "10%", column = "username") @TableTitle(title = "姓名", dataIndex = "username", key = "username") @ExcelProperty(index = 0) + @I18n private String username; //个税扣缴义务人 @@ -54,6 +55,7 @@ public class SpecialAddDeductionListDTO { @SalaryTableColumn(text = "部门", width = "10%", column = "departmentName") @TableTitle(title = "部门", dataIndex = "departmentName", key = "departmentName") @ExcelProperty(index = 2) + @I18n private String departmentName; //手机号 diff --git a/src/com/engine/salary/entity/datacollection/param/AddUpDeductionQueryParam.java b/src/com/engine/salary/entity/datacollection/param/AddUpDeductionQueryParam.java index bd23b85fa..15cf175d7 100644 --- a/src/com/engine/salary/entity/datacollection/param/AddUpDeductionQueryParam.java +++ b/src/com/engine/salary/entity/datacollection/param/AddUpDeductionQueryParam.java @@ -67,4 +67,7 @@ public class AddUpDeductionQueryParam extends BaseQueryParam { //累计专项附加扣除id(获取明细) private Long accumulatedSpecialAdditionalDeductionId; + + //下载模板时是否带出现有数据 + private boolean hasData; } diff --git a/src/com/engine/salary/entity/datacollection/param/AddUpSituationQueryParam.java b/src/com/engine/salary/entity/datacollection/param/AddUpSituationQueryParam.java index c8fbd1ef6..70998028f 100644 --- a/src/com/engine/salary/entity/datacollection/param/AddUpSituationQueryParam.java +++ b/src/com/engine/salary/entity/datacollection/param/AddUpSituationQueryParam.java @@ -62,4 +62,7 @@ public class AddUpSituationQueryParam extends BaseQueryParam { //累计情况id(获取明细) private Long accumulatedSituationId; + + //下载模板时是否带出现有数据 + private boolean hasData; } diff --git a/src/com/engine/salary/entity/datacollection/param/OtherDeductionQueryParam.java b/src/com/engine/salary/entity/datacollection/param/OtherDeductionQueryParam.java index d406380ed..d3683d46b 100644 --- a/src/com/engine/salary/entity/datacollection/param/OtherDeductionQueryParam.java +++ b/src/com/engine/salary/entity/datacollection/param/OtherDeductionQueryParam.java @@ -58,4 +58,8 @@ public class OtherDeductionQueryParam extends BaseQueryParam { //其他免税扣除id(获取明细) private Long otherTaxExemptDeductionId; + + + //下载模板是否带数据 + private boolean hasData; } diff --git a/src/com/engine/salary/entity/datacollection/param/SpecialAddDeductionQueryParam.java b/src/com/engine/salary/entity/datacollection/param/SpecialAddDeductionQueryParam.java index a9e887bb7..26c478a8c 100644 --- a/src/com/engine/salary/entity/datacollection/param/SpecialAddDeductionQueryParam.java +++ b/src/com/engine/salary/entity/datacollection/param/SpecialAddDeductionQueryParam.java @@ -54,4 +54,7 @@ public class SpecialAddDeductionQueryParam extends BaseQueryParam { //其他免税扣除id(获取明细) private Long specialAddDeductionId; + + //下载模板是否带数据 + private boolean hasData; } diff --git a/src/com/engine/salary/service/AddUpDeductionService.java b/src/com/engine/salary/service/AddUpDeductionService.java index 51498f653..29d3d58a9 100644 --- a/src/com/engine/salary/service/AddUpDeductionService.java +++ b/src/com/engine/salary/service/AddUpDeductionService.java @@ -78,10 +78,9 @@ public interface AddUpDeductionService { /** * 导出 * - * @param isChief * @param queryParam */ - XSSFWorkbook export(boolean isChief, AddUpDeductionQueryParam queryParam); + XSSFWorkbook export( AddUpDeductionQueryParam queryParam); /** * 导出详情 diff --git a/src/com/engine/salary/service/impl/AddUpDeductionServiceImpl.java b/src/com/engine/salary/service/impl/AddUpDeductionServiceImpl.java index 1026aaee5..5817e89de 100644 --- a/src/com/engine/salary/service/impl/AddUpDeductionServiceImpl.java +++ b/src/com/engine/salary/service/impl/AddUpDeductionServiceImpl.java @@ -234,7 +234,7 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction String workcode = dto.getJobNum(); //筛选导入人员信息可以在人力资源池中匹配到的人员信息 - List employeeSameIds = getSalaryEmployeeService(user).matchImportEmployee(confValue,employees, userName, deparmentName, mobile, workcode, null); + List employeeSameIds = getSalaryEmployeeService(user).matchImportEmployee(confValue, employees, userName, deparmentName, mobile, workcode, null); if (StringUtils.isBlank(userName) && "0".equals(confValue)) { //姓名 不能为空 @@ -422,7 +422,7 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction String formatYearMonth = SalaryDateUtil.getFormatYearMonth(po.getDeclareMonth()); LoggerContext loggerContext = new LoggerContext(); loggerContext.setUser(user); - loggerContext.setTargetName(SalaryI18nUtil.getI18nLabel( 0, "累计专项附加扣除 ") + formatYearMonth); + loggerContext.setTargetName(SalaryI18nUtil.getI18nLabel(0, "累计专项附加扣除 ") + formatYearMonth); loggerContext.setOperateType(OperateTypeEnum.ADD.getValue()); loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "导入")); loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "导入累计专项附加扣除 ") + formatYearMonth); @@ -445,7 +445,7 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction throw new SalaryRunTimeException("该数据不存在!"); } Long taxAgentId = byId.getTaxAgentId(); - boolean canEdit = taxAgentList.stream().anyMatch(t -> Objects.equals(t.getTaxAgentId() , taxAgentId)); + boolean canEdit = taxAgentList.stream().anyMatch(t -> Objects.equals(t.getTaxAgentId(), taxAgentId)); if (!canEdit) { //没有编辑权限 throw new SalaryRunTimeException("该个税扣缴义务人无权限编辑此数据!"); @@ -490,7 +490,7 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction //税款所属期 String declareMonthStr = addUpDeductionRecordParam.getDeclareMonth(); - if (declareMonthStr .equals("")) { + if (declareMonthStr.equals("")) { throw new SalaryRunTimeException("税款所属期不能为空!"); } // 获取所有个税扣缴义务人 @@ -518,7 +518,7 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction .updateTime(now) .creator((long) user.getUID()) .declareMonth(declareMonth).build(); - boolean employeeSameId = employees.stream().anyMatch(e -> Objects.equals(e.getEmployeeId() , addUpDeductionRecordParam.getEmployeeId())); + boolean employeeSameId = employees.stream().anyMatch(e -> Objects.equals(e.getEmployeeId(), addUpDeductionRecordParam.getEmployeeId())); if (!employeeSameId) { throw new SalaryRunTimeException("员工信息不存在"); } @@ -617,7 +617,7 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction throw new SalaryRunTimeException("数据不存在或已被删除!"); } // 判断是否在个税扣缴义务人范围内 - Optional first = taxAgentList.stream().filter(m -> Objects.equals(m.getTaxAgentId() , byId.getTaxAgentId())).findFirst(); + Optional first = taxAgentList.stream().filter(m -> Objects.equals(m.getTaxAgentId(), byId.getTaxAgentId())).findFirst(); if (!first.isPresent()) { throw new SalaryRunTimeException("个税扣缴义务人不存在或不在权限范围内"); } @@ -635,7 +635,7 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction //记录日志 if (CollectionUtils.isNotEmpty(oldAddUpDeductions)) { - oldAddUpDeductions.stream().forEach( e -> { + oldAddUpDeductions.stream().forEach(e -> { LoggerContext loggerContext = new LoggerContext<>(); loggerContext.setTargetId(e.getId().toString()); loggerContext.setTargetName(SalaryI18nUtil.getI18nLabel(0, "累计专项附加扣除") + "-" + e.getId()); @@ -669,7 +669,7 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction if (deleteParam.getTaxAgentId() != null && (!deleteParam.getTaxAgentId().equals(""))) { // 设置了个税扣缴义务人 Long taxAgentId = SalaryEntityUtil.string2Long(deleteParam.getTaxAgentId()); - boolean canDelete = taxAgentIds.stream().anyMatch(t -> Objects.equals(t , taxAgentId)); + boolean canDelete = taxAgentIds.stream().anyMatch(t -> Objects.equals(t, taxAgentId)); if (!canDelete) { throw new SalaryRunTimeException("个税扣缴义务人不存在或不在权限范围内!"); } @@ -732,12 +732,12 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction @Override public String autoAddAll(Date yearMonth, Boolean isAdmin) { String cacheKey = "addUpDeduction_autoAddAll_processing"; - Object objVal = Util_DataCache.getObjVal( cacheKey); - if(objVal != null){ + Object objVal = Util_DataCache.getObjVal(cacheKey); + if (objVal != null) { throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(135788, "一键累计过于频繁,请稍后再试")); } try { - Util_DataCache.setObjVal(cacheKey,true ); + Util_DataCache.setObjVal(cacheKey, true); //如果是定时任务直接查询所有,isAdmin传true boolean isChief = Boolean.TRUE.equals(isAdmin) || getTaxAgentService(user).isChief((long) user.getUID()); @@ -844,10 +844,10 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction String yearMonthStr = SalaryDateUtil.getFormatYearMonth(yearMonth); LoggerContext loggerContext = new LoggerContext(); loggerContext.setUser(user); - loggerContext.setTargetName(SalaryI18nUtil.getI18nLabel(0, "一键累计 "+yearMonthStr)); + loggerContext.setTargetName(SalaryI18nUtil.getI18nLabel(0, "一键累计 " + yearMonthStr)); loggerContext.setOperateType(OperateTypeEnum.ADD.getValue()); loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "一键累计专项附加扣除")); - loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "一键累计 "+ yearMonthStr +" 专项附加扣除")); + loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "一键累计 " + yearMonthStr + " 专项附加扣除")); loggerContext.setNewValueList(updateList); SalaryElogConfig.addUpDeductionLoggerTemplate.write(loggerContext); } @@ -1138,24 +1138,16 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction SalaryI18nUtil.getI18nLabel(105142, "累计婴幼儿照护") }; - List dataIndexList = Lists.newArrayList("username", "taxAgentName", "departmentName", "mobile", "workcode", "idNo", "hiredate", "billMonth", "supplementaryMonth"); List headerList = Arrays.asList(header); //查询当前申报月份和个税扣缴义务人的累计专项附加扣除表数据 - List> resultMapList = getAddUpDeductionDate(queryParam); - // excel导出的数据 - List> rows = Lists.newArrayListWithExpectedSize(resultMapList.size()); - + List> rows = new ArrayList<>(); rows.add(headerList); - for (Map map : resultMapList) { - List row = Lists.newArrayListWithExpectedSize(headerList.size()); - for (String dataIndex : dataIndexList) { - row.add(map.getOrDefault(dataIndex, StringUtils.EMPTY)); - } - rows.add(row); + if (queryParam.isHasData()) { + List> datas = getLists(queryParam); + rows.addAll(datas); } - // 4.注释 List excelComments = Lists.newArrayList(); excelComments.add(new ExcelComment(0, 0, 3, 2, SalaryI18nUtil.getI18nLabel(100344, "必填"))); @@ -1173,46 +1165,18 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction return book; } - /** - * 查询当前申报月份和个税扣缴义务人的累计专项附加扣除表数据 - */ - private List> getAddUpDeductionDate(AddUpDeductionQueryParam queryParam) { - - List> resultList = new ArrayList<>(); - - //申报月份 - List declareMonth = queryParam.getDeclareMonth(); - if (CollectionUtils.isNotEmpty(declareMonth)) { - queryParam.setDeclareMonth(declareMonth.stream().map(e -> e + "-01 00:00:00").collect(Collectors.toList())); - queryParam.setDeclareMonthDate(declareMonth.stream().map(e -> e + "-01 00:00:00").map(SalaryDateUtil::dateStrToLocalTime).collect(Collectors.toList())); - } - List list = new AddUpDeductionBiz().list(queryParam); - - for (AddUpDeductionDTO dto : list) { - Map resultMap = new HashMap<>(); - resultMap.put("username", Util.null2String(dto.getUsername())); - resultMap.put("departmentName", Util.null2String(dto.getDepartmentName())); - resultMap.put("mobile", Util.null2String(dto.getMobile())); - resultMap.put("workcode", Util.null2String(dto.getJobNum())); - resultMap.put("taxAgentName", Util.null2String(dto.getTaxAgentName())); - if (dto.getIdNo() != null) { - resultMap.put("idNo", Util.null2String(dto.getIdNo())); - } - if (dto.getHiredate() != null) { - resultMap.put("hiredate", Util.null2String(dto.getHiredate())); - } - - resultList.add(resultMap); - } - return resultList; - } - @Override - public XSSFWorkbook export(boolean isChief, AddUpDeductionQueryParam queryParam) { + public XSSFWorkbook export(AddUpDeductionQueryParam queryParam) { + //excel标题 + List title = Arrays.asList("姓名", "个税扣缴义务人", "部门", "手机号", "工号", "证件号码", "入职日期", "累计子女教育", "累计继续教育", "累计住房贷款利息", "累计住房租金", "累计赡养老人", "累计大病医疗", "累计婴幼儿照护"); - //获取操作按钮资源 - List> rowList = getExcelRowList(isChief, queryParam); + List> dataRowList = getLists(queryParam); + + List> rowList = new ArrayList<>(); + rowList.add(title); + + rowList.addAll(dataRowList); // 记录日志 String name = SalaryI18nUtil.getI18nLabel(0, "导出"); @@ -1225,22 +1189,12 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction SalaryElogConfig.addUpDeductionLoggerTemplate.write(loggerContext); //获取excel - return ExcelUtil.genWorkbook(rowList, "累计专项附加扣除"); + return ExcelUtil.genWorkbookV2(rowList, "累计专项附加扣除"); } + private List> getLists(AddUpDeductionQueryParam param) { - /** - * 获取excel数据行 - * - * @return 导出数据行集合 - */ - private List> getExcelRowList(boolean isChief, AddUpDeductionQueryParam param) { - Long employeeId = (long) user.getUID(); - - //excel标题 - List title = Arrays.asList("姓名", "个税扣缴义务人", "部门", "手机号", "工号", "证件号码", "入职日期", "累计子女教育", "累计继续教育", "累计住房贷款利息", "累计住房租金", "累计赡养老人", "累计大病医疗", "累计婴幼儿照护"); - - + long uid = user.getUID(); //排序配置 OrderRuleVO orderRule = getSalarySysConfService(user).orderRule(); param.setOrderRule(orderRule); @@ -1248,9 +1202,9 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction List list = new AddUpDeductionBiz().list(param); // 开启分权并且不是薪酬模块总管理员 - if (getTaxAgentService(user).isOpenDevolution() && !isChief) { - List taxAgentEmployees = getTaxAgentService(user).listTaxAgentAndEmployee(employeeId); - List taxAgentIdsAsAdmin = getTaxAgentService(user).listAllTaxAgentsAsAdmin(employeeId).stream().map(TaxAgentPO::getId).collect(Collectors.toList()); + if (getTaxAgentService(user).isNeedAuth(uid)) { + List taxAgentEmployees = getTaxAgentService(user).listTaxAgentAndEmployee(uid); + List taxAgentIdsAsAdmin = getTaxAgentService(user).listAllTaxAgentsAsAdmin(uid).stream().map(TaxAgentPO::getId).collect(Collectors.toList()); list = list.stream().filter(f -> // 作为管理员 taxAgentIdsAsAdmin.contains(f.getTaxAgentId()) @@ -1259,11 +1213,10 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction ).collect(Collectors.toList()); } - - final List> dataRowList = Optional.ofNullable(list) + List> dataRowList = Optional.ofNullable(list) .map(List::stream) .map(operatorStream -> operatorStream.map(dto -> { - List cellList = new ArrayList<>(); + List cellList = new ArrayList<>(); cellList.add(Util.null2String(dto.getUsername())); cellList.add(Util.null2String(dto.getTaxAgentName())); cellList.add(Util.null2String(dto.getDepartmentName())); @@ -1281,11 +1234,7 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction return cellList; }).collect(Collectors.toList())) .orElse(Collections.emptyList()); - - List> rowList = new ArrayList<>(); - rowList.add(title); - rowList.addAll(dataRowList); - return rowList; + return dataRowList; } diff --git a/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java b/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java index b147e6b7d..5f503572d 100644 --- a/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java +++ b/src/com/engine/salary/service/impl/AddUpSituationServiceImpl.java @@ -260,7 +260,7 @@ public class AddUpSituationServiceImpl extends Service implements AddUpSituation @Override public XSSFWorkbook export(AddUpSituationQueryParam queryParam) { // 获取操作按钮资源 - List> rowList = getExcelRowList(queryParam); + List> rowList = getExcelRowList(queryParam, true); // 记录日志 String name = SalaryI18nUtil.getI18nLabel(0, "导出"); @@ -273,7 +273,7 @@ public class AddUpSituationServiceImpl extends Service implements AddUpSituation SalaryElogConfig.addUpSituationLoggerTemplate.write(loggerContext); // 获取excel - return ExcelUtil.genWorkbook(rowList, "累计情况"); + return ExcelUtil.genWorkbookV2(rowList, "累计情况"); } @@ -282,62 +282,65 @@ public class AddUpSituationServiceImpl extends Service implements AddUpSituation * * @return 导出数据行集合 */ - private List> getExcelRowList(AddUpSituationQueryParam param) { + private List> getExcelRowList(AddUpSituationQueryParam param, boolean hasData) { long employeeId = user.getUID(); // excel标题 - final List title = Arrays.asList("姓名", "个税扣缴义务人", "部门", "手机号", "工号", "证件号码", "入职日期", "累计收入额", "累计减除费用", + final List title = Arrays.asList("姓名", "个税扣缴义务人", "部门", "手机号", "工号", "证件号码", "入职日期", "累计收入额", "累计减除费用", "累计社保个人合计", "累计公积金个人合计", "累计子女教育", "累计继续教育", "累计住房贷款利息", "累计住房租金", "累计赡养老人", "累计大病医疗", "累计企业(职业)年金及其他福利", "累计其他扣除", "累计免税收入", "累计准予扣除的捐赠额", "累计减免税额", "累计已预扣预缴税额", "累计婴幼儿照护", "累计个人养老金"); - //排序配置 - OrderRuleVO orderRule = getSalarySysConfService(user).orderRule(); - param.setOrderRule(orderRule); - List list = biz.list(param); - // 开启分权并且不是薪酬模块总管理员 - if (getTaxAgentService(user).isOpenDevolution() && !getTaxAgentService(user).isChief(employeeId)) { - List taxAgentIdsAsAdmin = getTaxAgentService(user).listAllTaxAgentsAsAdmin(employeeId).stream().map(TaxAgentPO::getId).collect(Collectors.toList()); - list = list.stream().filter(f -> - taxAgentIdsAsAdmin.contains(f.getTaxAgentId()) - ).collect(Collectors.toList()); - } - - final List> dataRowList = Optional.ofNullable(list) - .map(List::stream) - .map(operatorStream -> operatorStream.map(dto -> { - List cellList = new ArrayList<>(); - cellList.add(Util.null2String(dto.getUsername())); - cellList.add(Util.null2String(dto.getTaxAgentName())); - cellList.add(Util.null2String(dto.getDepartmentName())); - cellList.add(Util.null2String(dto.getMobile())); - cellList.add(Util.null2String(dto.getJobNum())); - cellList.add(Util.null2String(dto.getIdNo())); - cellList.add(Util.null2String(dto.getHiredate())); - cellList.add(Util.null2String(dto.getAddUpIncome())); - cellList.add(Util.null2String(dto.getAddUpSubtraction())); - cellList.add(Util.null2String(dto.getAddUpSocialSecurityTotal())); - cellList.add(Util.null2String(dto.getAddUpAccumulationFundTotal())); - cellList.add(Util.null2String(dto.getAddUpChildEducation())); - cellList.add(Util.null2String(dto.getAddUpContinuingEducation())); - cellList.add(Util.null2String(dto.getAddUpHousingLoanInterest())); - cellList.add(Util.null2String(dto.getAddUpHousingRent())); - cellList.add(Util.null2String(dto.getAddUpSupportElderly())); - cellList.add(Util.null2String(dto.getAddUpIllnessMedical())); - cellList.add(Util.null2String(dto.getAddUpEnterpriseAndOther())); - cellList.add(Util.null2String(dto.getAddUpOtherDeduction())); - cellList.add(Util.null2String(dto.getAddUpTaxExemptIncome())); - cellList.add(Util.null2String(dto.getAddUpAllowedDonation())); - cellList.add(Util.null2String(dto.getAddUpTaxSavings())); - cellList.add(Util.null2String(dto.getAddUpAdvanceTax())); - cellList.add(Util.null2String(dto.getAddUpInfantCare())); - cellList.add(Util.null2String(dto.getAddUpPrivatePension())); - return cellList; - }).collect(Collectors.toList())) - .orElse(Collections.emptyList()); - - List> rowList = new ArrayList<>(); + List> rowList = new ArrayList<>(); rowList.add(title); - rowList.addAll(dataRowList); + + if (hasData) { + //排序配置 + OrderRuleVO orderRule = getSalarySysConfService(user).orderRule(); + param.setOrderRule(orderRule); + List list = biz.list(param); + // 开启分权并且不是薪酬模块总管理员 + if (getTaxAgentService(user).isOpenDevolution() && !getTaxAgentService(user).isChief(employeeId)) { + List taxAgentIdsAsAdmin = getTaxAgentService(user).listAllTaxAgentsAsAdmin(employeeId).stream().map(TaxAgentPO::getId).collect(Collectors.toList()); + list = list.stream().filter(f -> + taxAgentIdsAsAdmin.contains(f.getTaxAgentId()) + ).collect(Collectors.toList()); + } + + final List> dataRowList = Optional.ofNullable(list) + .map(List::stream) + .map(operatorStream -> operatorStream.map(dto -> { + List cellList = new ArrayList<>(); + cellList.add(Util.null2String(dto.getUsername())); + cellList.add(Util.null2String(dto.getTaxAgentName())); + cellList.add(Util.null2String(dto.getDepartmentName())); + cellList.add(Util.null2String(dto.getMobile())); + cellList.add(Util.null2String(dto.getJobNum())); + cellList.add(Util.null2String(dto.getIdNo())); + cellList.add(Util.null2String(dto.getHiredate())); + cellList.add(Util.null2String(dto.getAddUpIncome())); + cellList.add(Util.null2String(dto.getAddUpSubtraction())); + cellList.add(Util.null2String(dto.getAddUpSocialSecurityTotal())); + cellList.add(Util.null2String(dto.getAddUpAccumulationFundTotal())); + cellList.add(Util.null2String(dto.getAddUpChildEducation())); + cellList.add(Util.null2String(dto.getAddUpContinuingEducation())); + cellList.add(Util.null2String(dto.getAddUpHousingLoanInterest())); + cellList.add(Util.null2String(dto.getAddUpHousingRent())); + cellList.add(Util.null2String(dto.getAddUpSupportElderly())); + cellList.add(Util.null2String(dto.getAddUpIllnessMedical())); + cellList.add(Util.null2String(dto.getAddUpEnterpriseAndOther())); + cellList.add(Util.null2String(dto.getAddUpOtherDeduction())); + cellList.add(Util.null2String(dto.getAddUpTaxExemptIncome())); + cellList.add(Util.null2String(dto.getAddUpAllowedDonation())); + cellList.add(Util.null2String(dto.getAddUpTaxSavings())); + cellList.add(Util.null2String(dto.getAddUpAdvanceTax())); + cellList.add(Util.null2String(dto.getAddUpInfantCare())); + cellList.add(Util.null2String(dto.getAddUpPrivatePension())); + return cellList; + }).collect(Collectors.toList())) + .orElse(Collections.emptyList()); + + rowList.addAll(dataRowList); + } return rowList; } @@ -446,88 +449,8 @@ public class AddUpSituationServiceImpl extends Service implements AddUpSituation @Override public XSSFWorkbook downloadTemplate(AddUpSituationQueryParam queryParam) { String sheetName = SalaryI18nUtil.getI18nLabel(101605, "往期累计情况导入模板"); - String[] header = { - SalaryI18nUtil.getI18nLabel(85429, "姓名"), - SalaryI18nUtil.getI18nLabel(86184, "个税扣缴义务人"), - SalaryI18nUtil.getI18nLabel(86185, "部门"), - SalaryI18nUtil.getI18nLabel(86186, "手机号"), - SalaryI18nUtil.getI18nLabel(86317, "工号"), - SalaryI18nUtil.getI18nLabel(86318, "证件号码"), - SalaryI18nUtil.getI18nLabel(86319, "入职日期"), - SalaryI18nUtil.getI18nLabel(86712, "累计收入额"), - SalaryI18nUtil.getI18nLabel(86711, "累计减除费用"), - SalaryI18nUtil.getI18nLabel(86710, "累计社保个人合计"), - SalaryI18nUtil.getI18nLabel(86709, "累计公积金个人合计"), - SalaryI18nUtil.getI18nLabel(86321, "累计子女教育"), - SalaryI18nUtil.getI18nLabel(86323, "累计继续教育"), - SalaryI18nUtil.getI18nLabel(86324, "累计住房贷款利息"), - SalaryI18nUtil.getI18nLabel(86325, "累计住房租金"), - SalaryI18nUtil.getI18nLabel(86326, "累计赡养老人"), - SalaryI18nUtil.getI18nLabel(105142, "累计大病医疗"), - SalaryI18nUtil.getI18nLabel(90567, "累计企业(职业)年金及其他福利"), - SalaryI18nUtil.getI18nLabel(93902, "累计其他免税扣除"), - SalaryI18nUtil.getI18nLabel(86704, "累计免税收入"), - SalaryI18nUtil.getI18nLabel(86703, "累计准予扣除的捐赠额"), - SalaryI18nUtil.getI18nLabel(105478, "累计减免税额"), - SalaryI18nUtil.getI18nLabel(86702, "累计已预扣预缴税额"), - SalaryI18nUtil.getI18nLabel(86702, "累计婴幼儿照护"), - SalaryI18nUtil.getI18nLabel(86702, "累计个人养老金") - }; - // 2.表头 - List headerList = Arrays.asList(header); - List> rows = new ArrayList<>(); - rows.add(headerList); - -// // 获取累计情况 -// List taxYearMonth = queryParam.getTaxYearMonth(); -// if (CollectionUtils.isNotEmpty(taxYearMonth)) { -// queryParam.setTaxYearMonth(taxYearMonth.stream().map(e -> e + "-01 00:00:00").collect(Collectors.toList())); -// queryParam.setTaxYearMonthDate(taxYearMonth.stream().map(e -> e + "-01 00:00:00").map(SalaryDateUtil::dateStrToLocalTime).collect(Collectors.toList())); -// } - - // 开启分权并且不是薪酬模块总管理员 - List list = getAddUpSituationMapper().list(queryParam); - long employeeId = user.getUID(); - if (getTaxAgentService(user).isOpenDevolution() && !getTaxAgentService(user).isChief(employeeId)) { - List taxAgentIdsAsAdmin = getTaxAgentService(user).listAllTaxAgentsAsAdmin(employeeId).stream().map(TaxAgentPO::getId).collect(Collectors.toList()); - list = list.stream().filter(f -> - taxAgentIdsAsAdmin.contains(f.getTaxAgentId()) - ).collect(Collectors.toList()); - } -// // 人员信息赋值 -// list.forEach(m -> { -// // todo 身份证号 -// m.setIdNo(""); -// }); -// - for (AddUpSituationDTO dto : list) { - List row = new ArrayList<>(); - row.add(Util.null2String(dto.getUsername())); - row.add(Util.null2String(dto.getTaxAgentName())); - row.add(Util.null2String(dto.getDepartmentName())); - row.add(Util.null2String(dto.getMobile())); - row.add(Util.null2String(dto.getJobNum())); - row.add(Util.null2String(dto.getIdNo())); - row.add(Util.null2String(dto.getHiredate())); -// row.add(Util.null2String(dto.getAddUpIncome())); -// row.add(Util.null2String(dto.getAddUpSubtraction())); -// row.add(Util.null2String(dto.getAddUpSocialSecurityTotal())); -// row.add(Util.null2String(dto.getAddUpAccumulationFundTotal())); -// row.add(Util.null2String(dto.getAddUpChildEducation())); -// row.add(Util.null2String(dto.getAddUpContinuingEducation())); -// row.add(Util.null2String(dto.getAddUpHousingLoanInterest())); -// row.add(Util.null2String(dto.getAddUpHousingRent())); -// row.add(Util.null2String(dto.getAddUpSupportElderly())); -// row.add(Util.null2String(dto.getAddUpIllnessMedical())); -// row.add(Util.null2String(dto.getAddUpEnterpriseAndOther())); -// row.add(Util.null2String(dto.getAddUpOtherDeduction())); -// row.add(Util.null2String(dto.getAddUpTaxExemptIncome())); -// row.add(Util.null2String(dto.getAddUpAllowedDonation())); -// row.add(Util.null2String(dto.getAddUpTaxSavings())); -// row.add(Util.null2String(dto.getAddUpAdvanceTax())); -// row.add(Util.null2String(dto.getAddUpInfantCare())); - rows.add(row); - } + // 获取操作按钮资源 + List> rowList = getExcelRowList(queryParam, queryParam.isHasData()); // 4.注释 List excelComments = Lists.newArrayList(); excelComments.add(new ExcelComment(0, 0, 3, 2, SalaryI18nUtil.getI18nLabel(100344, "必填"))); @@ -551,7 +474,7 @@ public class AddUpSituationServiceImpl extends Service implements AddUpSituation excelComments.add(new ExcelComment(23, 0, 28, 2, SalaryI18nUtil.getI18nLabel(100344, "输入数字"))); excelComments.add(new ExcelComment(24, 0, 29, 2, SalaryI18nUtil.getI18nLabel(100344, "输入数字"))); - return ExcelUtil.genWorkbookV2(rows, sheetName, excelComments); + return ExcelUtil.genWorkbookV2(rowList, sheetName, excelComments); } @Override @@ -681,7 +604,7 @@ public class AddUpSituationServiceImpl extends Service implements AddUpSituation String workcode = dto.getJobNum(); //筛选导入人员信息可以在人力资源池中匹配到的人员信息 - List employeeSameIds = getSalaryEmployeeService(user).matchImportEmployee(confValue,employees, userName, deparmentName, mobile, workcode, null); + List employeeSameIds = getSalaryEmployeeService(user).matchImportEmployee(confValue, employees, userName, deparmentName, mobile, workcode, null); //当人员信息导入筛选的全局配置为"0"时,姓名才是必填项 if (StringUtils.isBlank(userName) && "0".equals(confValue)) { diff --git a/src/com/engine/salary/service/impl/OtherDeductionServiceImpl.java b/src/com/engine/salary/service/impl/OtherDeductionServiceImpl.java index 837427adb..0a88f9b0d 100644 --- a/src/com/engine/salary/service/impl/OtherDeductionServiceImpl.java +++ b/src/com/engine/salary/service/impl/OtherDeductionServiceImpl.java @@ -250,7 +250,7 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction List employeeSameIds = new ArrayList<>(); //筛选导入人员信息可以在人力资源池中匹配到的人员信息 - List emps = getSalaryEmployeeService(user).matchImportEmployee(confValue,employees, userName, deparmentName, mobile, workcode, null); + List emps = getSalaryEmployeeService(user).matchImportEmployee(confValue, employees, userName, deparmentName, mobile, workcode, null); //含在职和离职,选在职数据 if (CollectionUtils.isNotEmpty(emps) && emps.size() > 1) { employeeSameIds = emps.stream() @@ -434,13 +434,13 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction if (CollectionUtils.isNotEmpty(updateList)) { LoggerContext loggerContext = new LoggerContext<>(); loggerContext.setUser(user); - if (updateList.size() ==1) { + if (updateList.size() == 1) { loggerContext.setTargetId(updateList.get(0).getId().toString()); } - loggerContext.setTargetName(SalaryI18nUtil.getI18nLabel( 0, "其他免税扣除")); + loggerContext.setTargetName(SalaryI18nUtil.getI18nLabel(0, "其他免税扣除")); loggerContext.setOperateType(OperateTypeEnum.ADD.getValue()); - loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel( 0, "新增")); - loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel( 0, "新增其他免税扣除")); + loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "新增")); + loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "新增其他免税扣除")); loggerContext.setNewValueList(updateList); SalaryElogConfig.otherDeductionLoggerTemplate.write(loggerContext); } @@ -472,7 +472,7 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction public XSSFWorkbook export(OtherDeductionQueryParam param) { //获取操作按钮资源 - List> rowList = getExcelRowList(param); + List> rowList = getExcelRowList(param,true); // 记录日志 String name = SalaryI18nUtil.getI18nLabel(0, "导出"); @@ -485,7 +485,7 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction SalaryElogConfig.otherDeductionLoggerTemplate.write(loggerContext); //获取excel - return ExcelUtil.genWorkbook(rowList, "其他免税扣除"); + return ExcelUtil.genWorkbookV2(rowList, "其他免税扣除"); } @@ -494,56 +494,53 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction * * @return 导出数据行集合 */ - private List> getExcelRowList(OtherDeductionQueryParam param) { + private List> getExcelRowList(OtherDeductionQueryParam param, boolean hasData) { long employeeId = user.getUID(); //excel标题 - List title = Arrays.asList("姓名", "个税扣缴义务人", "部门", "手机号", "工号", "证件号码", "入职日期", "商业健康保险", "税延养老保险", "其他", "准予扣除的捐赠额", "个人养老金"); - //排序配置 - OrderRuleVO orderRule = getSalarySysConfService(user).orderRule(); - param.setOrderRule(orderRule); - - //申报月份 - List declareMonth = param.getDeclareMonth(); - if (CollectionUtils.isNotEmpty(declareMonth)) { - param.setDeclareMonth(declareMonth.stream().map(e -> e + "-01 00:00:00").collect(Collectors.toList())); - param.setDeclareMonthDate(declareMonth.stream().map(e -> e + "-01 00:00:00").map(SalaryDateUtil::dateStrToLocalTime).collect(Collectors.toList())); - } - - List list = getOtherDeductionMapper().list(param); - encryptUtil.decryptList(list, OtherDeductionListDTO.class); - // 开启分权并且不是薪酬模块总管理员 - if (getTaxAgentService(user).isOpenDevolution() && !getTaxAgentService(user).isChief(employeeId)) { - List taxAgentIdsAsAdmin = getTaxAgentService(user).listAllTaxAgentsAsAdmin(employeeId).stream().map(TaxAgentPO::getId).collect(Collectors.toList()); - list = list.stream().filter(f -> - // 作为管理员 - taxAgentIdsAsAdmin.contains(f.getTaxAgentId()) - ).collect(Collectors.toList()); - } - - - final List> dataRowList = Optional.ofNullable(list) - .map(List::stream) - .map(operatorStream -> operatorStream.map(dto -> { - List cellList = new ArrayList<>(); - cellList.add(Util.null2String(dto.getUsername())); - cellList.add(Util.null2String(dto.getTaxAgentName())); - cellList.add(Util.null2String(dto.getDepartmentName())); - cellList.add(Util.null2String(dto.getMobile())); - cellList.add(Util.null2String(dto.getJobNum())); - cellList.add(Util.null2String(dto.getIdNo())); - cellList.add(Util.null2String(dto.getHiredate())); - cellList.add(Util.null2String(dto.getBusinessHealthyInsurance())); - cellList.add(Util.null2String(dto.getTaxDelayEndowmentInsurance())); - cellList.add(Util.null2String(dto.getOtherDeduction())); - cellList.add(Util.null2String(dto.getDeductionAllowedDonation())); - cellList.add(Util.null2String(dto.getPrivatePension())); - return cellList; - }).collect(Collectors.toList())) - .orElse(Collections.emptyList()); - - List> rowList = new ArrayList<>(); + List title = Arrays.asList("姓名", "个税扣缴义务人", "部门", "手机号", "工号", "证件号码", "入职日期", "商业健康保险", "税延养老保险", "其他", "准予扣除的捐赠额", "个人养老金"); + List> rowList = new ArrayList<>(); rowList.add(title); - rowList.addAll(dataRowList); + + if (hasData) { + //排序配置 + OrderRuleVO orderRule = getSalarySysConfService(user).orderRule(); + param.setOrderRule(orderRule); + + List list = getOtherDeductionMapper().list(param); + encryptUtil.decryptList(list, OtherDeductionListDTO.class); + SalaryI18nUtil.i18nList(list); + // 开启分权并且不是薪酬模块总管理员 + if (getTaxAgentService(user).isOpenDevolution() && !getTaxAgentService(user).isChief(employeeId)) { + List taxAgentIdsAsAdmin = getTaxAgentService(user).listAllTaxAgentsAsAdmin(employeeId).stream().map(TaxAgentPO::getId).collect(Collectors.toList()); + list = list.stream().filter(f -> + // 作为管理员 + taxAgentIdsAsAdmin.contains(f.getTaxAgentId()) + ).collect(Collectors.toList()); + } + + final List> dataRowList = Optional.ofNullable(list) + .map(List::stream) + .map(operatorStream -> operatorStream.map(dto -> { + List cellList = new ArrayList<>(); + cellList.add(Util.null2String(dto.getUsername())); + cellList.add(Util.null2String(dto.getTaxAgentName())); + cellList.add(Util.null2String(dto.getDepartmentName())); + cellList.add(Util.null2String(dto.getMobile())); + cellList.add(Util.null2String(dto.getJobNum())); + cellList.add(Util.null2String(dto.getIdNo())); + cellList.add(Util.null2String(dto.getHiredate())); + cellList.add(Util.null2String(dto.getBusinessHealthyInsurance())); + cellList.add(Util.null2String(dto.getTaxDelayEndowmentInsurance())); + cellList.add(Util.null2String(dto.getOtherDeduction())); + cellList.add(Util.null2String(dto.getDeductionAllowedDonation())); + cellList.add(Util.null2String(dto.getPrivatePension())); + return cellList; + }).collect(Collectors.toList())) + .orElse(Collections.emptyList()); + + rowList.addAll(dataRowList); + } + return rowList; } @@ -988,13 +985,13 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction }); if (CollectionUtils.isNotEmpty(updatetInfo)) { - String yearMonthStr = SalaryDateUtil.getFormatYearMonth(lastMonth.toLocalDate()) ; + String yearMonthStr = SalaryDateUtil.getFormatYearMonth(lastMonth.toLocalDate()); LoggerContext loggerContext = new LoggerContext(); loggerContext.setUser(user); - loggerContext.setTargetName(SalaryI18nUtil.getI18nLabel(0, "沿用上月 "+yearMonthStr)); + loggerContext.setTargetName(SalaryI18nUtil.getI18nLabel(0, "沿用上月 " + yearMonthStr)); loggerContext.setOperateType(OperateTypeEnum.ADD.getValue()); loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "沿用上月其他免税扣除")); - loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "沿用上月 "+ yearMonthStr +" 其他免税扣除")); + loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "沿用上月 " + yearMonthStr + " 其他免税扣除")); loggerContext.setNewValueList(updatetInfo); SalaryElogConfig.otherDeductionLoggerTemplate.write(loggerContext); } @@ -1006,23 +1003,8 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction public XSSFWorkbook downloadTemplate(OtherDeductionQueryParam param) { // 1.工作簿名称 String sheetName = SalaryI18nUtil.getI18nLabel(101604, "其他免税扣除导入模板"); - String[] header = { - SalaryI18nUtil.getI18nLabel(85429, "姓名"), - SalaryI18nUtil.getI18nLabel(86184, "个税扣缴义务人"), - SalaryI18nUtil.getI18nLabel(86185, "部门"), - SalaryI18nUtil.getI18nLabel(86186, "手机号"), - SalaryI18nUtil.getI18nLabel(86317, "工号"), - SalaryI18nUtil.getI18nLabel(86318, "证件号码"), - SalaryI18nUtil.getI18nLabel(86319, "入职日期"), - SalaryI18nUtil.getI18nLabel(91238, "商业健康保险"), - SalaryI18nUtil.getI18nLabel(91239, "税延养老保险"), - SalaryI18nUtil.getI18nLabel(84500, "其他"), - SalaryI18nUtil.getI18nLabel(91240, "准予扣除的捐赠额") - }; - // 2.表头 - List> rows = new ArrayList<>(); - List headerList = Arrays.asList(header); - rows.add(headerList); + //获取操作按钮资源 + List> rowList = getExcelRowList(param,param.isHasData()); // 4.注释 List excelComments = Lists.newArrayList(); @@ -1032,8 +1014,9 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction excelComments.add(new ExcelComment(8, 0, 11, 2, SalaryI18nUtil.getI18nLabel(100344, "输入数字"))); excelComments.add(new ExcelComment(9, 0, 12, 2, SalaryI18nUtil.getI18nLabel(100344, "输入数字"))); excelComments.add(new ExcelComment(10, 0, 13, 2, SalaryI18nUtil.getI18nLabel(100344, "输入数字"))); + excelComments.add(new ExcelComment(11, 0, 14, 2, SalaryI18nUtil.getI18nLabel(100344, "输入数字"))); - XSSFWorkbook book = ExcelUtil.genWorkbookV2(rows, sheetName, excelComments); + XSSFWorkbook book = ExcelUtil.genWorkbookV2(rowList, sheetName, excelComments); return book; } diff --git a/src/com/engine/salary/service/impl/SpecialAddDeductionServiceImpl.java b/src/com/engine/salary/service/impl/SpecialAddDeductionServiceImpl.java index 2aefb914c..739c19d24 100644 --- a/src/com/engine/salary/service/impl/SpecialAddDeductionServiceImpl.java +++ b/src/com/engine/salary/service/impl/SpecialAddDeductionServiceImpl.java @@ -243,7 +243,7 @@ public class SpecialAddDeductionServiceImpl extends Service implements SpecialAd //筛选导入人员信息可以在人力资源池中匹配到的人员信息 List emps = getSalaryEmployeeService(user) - .matchImportEmployee(confValue,employees, userName, deparmentName, mobile, workcode, null); + .matchImportEmployee(confValue, employees, userName, deparmentName, mobile, workcode, null); //含在职和离职,选在职数据 if (CollectionUtils.isNotEmpty(emps) && emps.size() > 1) { employeeSameIds = emps.stream() @@ -396,7 +396,7 @@ public class SpecialAddDeductionServiceImpl extends Service implements SpecialAd List> rowList = new ArrayList<>(); rowList.add(title); - if (!isTemplate) { + if (!isTemplate || param.isHasData()) { // 非下载导入模版,查询数据填充 List> dataRowList = queryInfoForExcel(param, rowList); rowList.addAll(dataRowList); @@ -626,10 +626,10 @@ public class SpecialAddDeductionServiceImpl extends Service implements SpecialAd oldSpecialAddDeductionList.add(byId); } SpecialAddDeductionBiz.batchDeleteByIds(deleteList); - + // 记录操作日志 if (CollectionUtils.isNotEmpty(oldSpecialAddDeductionList)) { - oldSpecialAddDeductionList.stream().forEach( e -> { + oldSpecialAddDeductionList.stream().forEach(e -> { LoggerContext loggerContext = new LoggerContext<>(); loggerContext.setTargetId(e.getId().toString()); loggerContext.setTargetName(SalaryI18nUtil.getI18nLabel(0, "专项附加扣除") + "-" + e.getId()); @@ -671,7 +671,7 @@ public class SpecialAddDeductionServiceImpl extends Service implements SpecialAd specialAddDeductionBiz.batchDeleteByIds(deleteIds); // 记录操作日志 - Collection finalTaxAgentIds =taxAgentIds; + Collection finalTaxAgentIds = taxAgentIds; List taxAgentNames = taxAgentList.stream().filter(t -> finalTaxAgentIds.contains(t.getTaxAgentId())) .map(TaxAgentManageRangeEmployeeDTO::getTaxAgentName).collect(Collectors.toList()); String name = StringUtils.join(taxAgentNames, ","); @@ -692,9 +692,7 @@ public class SpecialAddDeductionServiceImpl extends Service implements SpecialAd @Override public SpecialAddDeductionRecordDTO getRecordById(Long id) { - return getSpecialAddDeductionBiz() - .listDTOByParam(SpecialAddDeductionQueryParam.builder().specialAddDeductionId(id).build()) - .stream().findFirst().orElse(null); + return getSpecialAddDeductionBiz().listDTOByParam(SpecialAddDeductionQueryParam.builder().specialAddDeductionId(id).build()).stream().findFirst().orElse(null); } private List> queryInfoForExcel(SpecialAddDeductionQueryParam param, List> rowList) { diff --git a/src/com/engine/salary/web/AddUpDeductionController.java b/src/com/engine/salary/web/AddUpDeductionController.java index b153fd475..f5c4e0d6b 100644 --- a/src/com/engine/salary/web/AddUpDeductionController.java +++ b/src/com/engine/salary/web/AddUpDeductionController.java @@ -251,6 +251,10 @@ public class AddUpDeductionController { if (StringUtils.isNotBlank(accumulatedSpecialAdditionalDeductionId)) { param.setAccumulatedSpecialAdditionalDeductionId(Long.valueOf(accumulatedSpecialAdditionalDeductionId)); } + String hasData = request.getParameter("hasData"); + if (StringUtils.isNotBlank(hasData)) { + param.setHasData("true".equals(hasData)); + } return param; } diff --git a/src/com/engine/salary/web/AddUpSituationController.java b/src/com/engine/salary/web/AddUpSituationController.java index 0c31aa578..c10443a88 100644 --- a/src/com/engine/salary/web/AddUpSituationController.java +++ b/src/com/engine/salary/web/AddUpSituationController.java @@ -261,6 +261,10 @@ public class AddUpSituationController { if (StringUtils.isNotBlank(accumulatedSituationId)) { param.setAccumulatedSituationId(Long.valueOf(accumulatedSituationId)); } + String hasData = request.getParameter("hasData"); + if (StringUtils.isNotBlank(hasData)) { + param.setHasData("true".equals(hasData)); + } return param; } diff --git a/src/com/engine/salary/web/OtherDeductionController.java b/src/com/engine/salary/web/OtherDeductionController.java index d930daa5a..251507f68 100644 --- a/src/com/engine/salary/web/OtherDeductionController.java +++ b/src/com/engine/salary/web/OtherDeductionController.java @@ -254,6 +254,11 @@ public class OtherDeductionController { if (StringUtils.isNotBlank(otherTaxExemptDeductionId)) { param.setOtherTaxExemptDeductionId(Long.valueOf(otherTaxExemptDeductionId)); } + + String hasData = request.getParameter("hasData"); + if (StringUtils.isNotBlank(hasData)) { + param.setHasData("true".equals(hasData)); + } return param; } diff --git a/src/com/engine/salary/web/SpecialAddDeductionController.java b/src/com/engine/salary/web/SpecialAddDeductionController.java index 7b6f0eb45..891f48d91 100644 --- a/src/com/engine/salary/web/SpecialAddDeductionController.java +++ b/src/com/engine/salary/web/SpecialAddDeductionController.java @@ -3,8 +3,10 @@ package com.engine.salary.web; import com.engine.common.util.ServiceUtil; import com.engine.salary.entity.datacollection.dto.SpecialAddDeductionListDTO; import com.engine.salary.entity.datacollection.dto.SpecialAddDeductionRecordDTO; -import com.engine.salary.entity.datacollection.param.*; -import com.engine.salary.exception.SalaryRunTimeException; +import com.engine.salary.entity.datacollection.param.SpecialAddDeductionImportParam; +import com.engine.salary.entity.datacollection.param.SpecialAddDeductionParam; +import com.engine.salary.entity.datacollection.param.SpecialAddDeductionQueryParam; +import com.engine.salary.entity.datacollection.param.SpecialAddDeductionRecordDeleteParam; import com.engine.salary.util.ResponseResult; import com.engine.salary.util.page.PageInfo; import com.engine.salary.wrapper.SpecialAddDeductionWrapper; @@ -16,7 +18,6 @@ import org.jetbrains.annotations.Nullable; import weaver.hrm.HrmUserVarify; import weaver.hrm.User; -import javax.security.sasl.SaslException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.ws.rs.GET; @@ -258,6 +259,10 @@ public class SpecialAddDeductionController { if (StringUtils.isNotBlank(otherTaxExemptDeductionId)) { param.setSpecialAddDeductionId(Long.valueOf(otherTaxExemptDeductionId)); } + String hasData = request.getParameter("hasData"); + if (StringUtils.isNotBlank(hasData)) { + param.setHasData("true".equals(hasData)); + } return param; } diff --git a/src/com/engine/salary/wrapper/AddUpDeductionWrapper.java b/src/com/engine/salary/wrapper/AddUpDeductionWrapper.java index aa89c3c58..9d0229528 100644 --- a/src/com/engine/salary/wrapper/AddUpDeductionWrapper.java +++ b/src/com/engine/salary/wrapper/AddUpDeductionWrapper.java @@ -103,8 +103,7 @@ public class AddUpDeductionWrapper extends Service { * @return */ public XSSFWorkbook export(AddUpDeductionQueryParam queryParam) { - boolean isChief = getTaxAgentService(user).isChief((long) user.getUID()); - return getAddUpDeductionService(user).export(isChief, queryParam); + return getAddUpDeductionService(user).export( queryParam); } /** diff --git a/src/com/engine/salary/wrapper/OtherDeductionWrapper.java b/src/com/engine/salary/wrapper/OtherDeductionWrapper.java index 514fa7833..3002e8cfd 100644 --- a/src/com/engine/salary/wrapper/OtherDeductionWrapper.java +++ b/src/com/engine/salary/wrapper/OtherDeductionWrapper.java @@ -196,7 +196,7 @@ public class OtherDeductionWrapper extends Service { * @return */ public XSSFWorkbook downloadTemplate(OtherDeductionQueryParam queryParam) { - return getOtherDeductionService(user).export(queryParam); + return getOtherDeductionService(user).downloadTemplate(queryParam); } /**