diff --git a/src/com/engine/salary/biz/SIArchivesBiz.java b/src/com/engine/salary/biz/SIArchivesBiz.java index f72fca8ff..bcb0392f5 100644 --- a/src/com/engine/salary/biz/SIArchivesBiz.java +++ b/src/com/engine/salary/biz/SIArchivesBiz.java @@ -49,7 +49,6 @@ import org.apache.ibatis.session.SqlSession; import weaver.conn.mybatis.MyBatisFactory; import weaver.general.Util; import weaver.hrm.User; -import weaver.systeminfo.SystemEnv; import java.util.*; import java.util.function.Function; diff --git a/src/com/engine/salary/enums/salaryarchive/SalaryArchiveTaxAgentAdjustReasonEnum.java b/src/com/engine/salary/enums/salaryarchive/SalaryArchiveTaxAgentAdjustReasonEnum.java index 717040b32..0eada5d8d 100644 --- a/src/com/engine/salary/enums/salaryarchive/SalaryArchiveTaxAgentAdjustReasonEnum.java +++ b/src/com/engine/salary/enums/salaryarchive/SalaryArchiveTaxAgentAdjustReasonEnum.java @@ -2,8 +2,8 @@ package com.engine.salary.enums.salaryarchive; import com.engine.salary.util.SalaryI18nUtil; -import java.util.Arrays; -import java.util.Optional; +import java.util.*; +import java.util.stream.Collectors; /** * @Description: 薪资档案-个税扣缴义务人调整原因 @@ -52,4 +52,14 @@ public enum SalaryArchiveTaxAgentAdjustReasonEnum { Optional optionalAdjustReason = Arrays.stream(SalaryArchiveTaxAgentAdjustReasonEnum.values()).filter(r->r.getValue().equals(value)).findFirst(); return optionalAdjustReason.isPresent()? SalaryI18nUtil.getI18nLabel(optionalAdjustReason.get().getLabelId(), optionalAdjustReason.get().getDefaultLabel()):""; } + + public static List> getList(){ + return Arrays.stream(SalaryArchiveTaxAgentAdjustReasonEnum.values()).map(e -> { + Map map = new HashMap<>(); + map.put("id", e.getValue()); + map.put("content", e.getDefaultLabel()); + return map; + }).collect(Collectors.toList()); + } + } diff --git a/src/com/engine/salary/service/impl/SalaryArchiveTaxAgentServiceImpl.java b/src/com/engine/salary/service/impl/SalaryArchiveTaxAgentServiceImpl.java index 21248b880..b030da590 100644 --- a/src/com/engine/salary/service/impl/SalaryArchiveTaxAgentServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryArchiveTaxAgentServiceImpl.java @@ -1,6 +1,7 @@ package com.engine.salary.service.impl; import com.engine.core.impl.Service; +import com.engine.salary.biz.TaxAgentBiz; import com.engine.salary.constant.SalaryDefaultTenantConstant; import com.engine.salary.entity.salaryarchive.dto.TaxAgentAdjustRecordListDTO; import com.engine.salary.entity.salaryarchive.param.SalaryArchiveTaxAgentQueryParam; @@ -8,12 +9,16 @@ import com.engine.salary.entity.salaryarchive.param.SalaryArchiveTaxAgentSavePar import com.engine.salary.entity.salaryarchive.param.TaxAgentAdjustRecordQueryParam; import com.engine.salary.entity.salaryarchive.po.SalaryArchivePO; import com.engine.salary.entity.salaryarchive.po.SalaryArchiveTaxAgentPO; +import com.engine.salary.entity.taxrate.TaxAgent; +import com.engine.salary.enums.UserStatusEnum; +import com.engine.salary.enums.salaryarchive.SalaryArchiveTaxAgentAdjustReasonEnum; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.mapper.archive.SalaryArchiveMapper; import com.engine.salary.mapper.archive.SalaryArchiveTaxAgentMapper; import com.engine.salary.service.SalaryArchiveTaxAgentService; -import com.engine.salary.service.TaxAgentService; import com.engine.salary.util.SalaryI18nUtil; +import com.engine.salary.util.db.SalarySqlProxyHandle; +import com.engine.salary.util.excel.ExcelUtil; import com.engine.salary.util.page.PageInfo; import com.engine.salary.util.page.PageUtil; import com.google.common.collect.Lists; @@ -23,8 +28,8 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.Date; -import java.util.List; +import java.text.SimpleDateFormat; +import java.util.*; /** * 薪资档案-个税扣缴义务人 @@ -36,9 +41,9 @@ import java.util.List; **/ public class SalaryArchiveTaxAgentServiceImpl extends Service implements SalaryArchiveTaxAgentService { private static final Logger log = LoggerFactory.getLogger(SalaryArchiveTaxAgentServiceImpl.class); - private SalaryArchiveMapper salaryArchiveMapper; - private SalaryArchiveTaxAgentMapper salaryArchiveTaxAgentMapper; - private TaxAgentService taxAgentService; + private SalaryArchiveMapper salaryArchiveMapper = SalarySqlProxyHandle.getProxy(SalaryArchiveMapper.class); + private SalaryArchiveTaxAgentMapper salaryArchiveTaxAgentMapper = SalarySqlProxyHandle.getProxy(SalaryArchiveTaxAgentMapper.class); + private TaxAgentBiz taxAgentService = new TaxAgentBiz(); // private SalaryBatchService salaryBatchService; @Override @@ -94,12 +99,7 @@ public class SalaryArchiveTaxAgentServiceImpl extends Service implements SalaryA // 获取当前已生效之前的 List salaryArchiveTaxAgents = Lists.newArrayList(); if (effectiveTaxAgent != null) { - salaryArchiveTaxAgents = salaryArchiveTaxAgentMapper.getTaxAgentLtTimeBySalaryArchiveId( - SalaryArchiveTaxAgentQueryParam - .builder() - .salaryArchiveId(saveParam.getSalaryArchiveId()) - .effectiveTime(effectiveTaxAgent.getEffectiveTime()) - .build()); + salaryArchiveTaxAgents = salaryArchiveTaxAgentMapper.getTaxAgentLtTimeBySalaryArchiveId(SalaryArchiveTaxAgentQueryParam.builder().salaryArchiveId(saveParam.getSalaryArchiveId()).effectiveTime(effectiveTaxAgent.getEffectiveTime()).build()); } // 获取未生效数据 SalaryArchiveTaxAgentPO ineffectiveTaxAgent = getIneffectiveTaxAgent(saveParam.getSalaryArchiveId()); @@ -164,19 +164,9 @@ public class SalaryArchiveTaxAgentServiceImpl extends Service implements SalaryA Date now = new Date(); SalaryArchiveTaxAgentPO salaryArchiveTaxAgent = SalaryArchiveTaxAgentPO.builder() // .id(IdGenerator.generate()) - .salaryArchiveId(saveParam.getSalaryArchiveId()) - .employeeId(salaryArchive.getEmployeeId()) - .effectiveTime(saveParam.getEffectiveTime()) - .adjustReason(saveParam.getAdjustReason()) + .salaryArchiveId(saveParam.getSalaryArchiveId()).employeeId(salaryArchive.getEmployeeId()).effectiveTime(saveParam.getEffectiveTime()).adjustReason(saveParam.getAdjustReason()) // 调整后 - .taxAgentId(saveParam.getTaxAgentId()) - .operator(employeeId) - .operateTime(now) - .createTime(now) - .updateTime(now) - .creator(employeeId) - .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) - .build(); + .taxAgentId(saveParam.getTaxAgentId()).operator(employeeId).operateTime(now).createTime(now).updateTime(now).creator(employeeId).tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY).build(); salaryArchiveTaxAgentMapper.insertIgnoreNull(salaryArchiveTaxAgent); } @@ -196,88 +186,66 @@ public class SalaryArchiveTaxAgentServiceImpl extends Service implements SalaryA @Override public XSSFWorkbook exportAdjustRecordList(TaxAgentAdjustRecordQueryParam queryParam) { - return null; -// // 1.工作簿名称 -// String nameI18n = SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 99978, "个税扣缴义务人调整记录"); -// excelSheetData.setSheetName(nameI18n); -// String[] header = { -// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 85429, "姓名"), -// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 86187, "员工状态"), -// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 86185, "部门"), -// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 85433, "调整前"), -// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 85434, "调整后"), -// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 85431, "调整原因"), -// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 85904, "生效日期"), -// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 85435, "操作人"), -// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 85436, "操作时间"), -// SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 84961, "备注") -// }; -// // 2.表头 -// excelSheetData.setHeaders(Collections.singletonList(header)); -// -// // 获取记录 -// List list = salaryArchiveTaxAgentMapper.taxAgentAdjustRecordList(queryParam, currentTenantKey); -// List listAll = salaryArchiveTaxAgentMapper.taxAgentAdjustRecordList(TaxAgentAdjustRecordQueryParam.builder().build(), currentTenantKey); -// // 个税扣缴义务人 -// Collection taxAgentList = taxAgentService.findAll(currentTenantKey); -// // 人员信息赋值 -// list.forEach(m -> { -// if (!org.springframework.util.CollectionUtils.isEmpty(listAll)) { -// listAll.removeIf(a -> a.getId().equals(m.getId())); -// } -// Optional optional = listAll.stream().filter(f -> f.getSalaryArchiveId().equals(m.getSalaryArchiveId())).findFirst(); -// m.setAdjustBefore(optional.isPresent() ? optional.get().getAdjustAfter() : ""); -// Optional optionalBefore = taxAgentList.stream().filter(t -> t.getId().toString().equals(m.getAdjustBefore())).findFirst(); -// m.setAdjustBefore(optionalBefore.isPresent() ? optionalBefore.get().getName() : ""); -// Optional optionalAfter = taxAgentList.stream().filter(t -> t.getId().toString().equals(m.getAdjustAfter())).findFirst(); -// m.setAdjustAfter(optionalAfter.isPresent() ? optionalAfter.get().getName() : ""); -// -// m.setEmployeeStatus(SalaryUserStatusEnum.getDefaultLabelByValue(m.getEmployeeStatus(), currentEmployeeId, currentTenantKey)); -// m.setAdjustReason(SalaryArchiveTaxAgentAdjustReasonEnum.getDefaultLabelByValue(m.getAdjustReason(), currentEmployeeId, currentTenantKey)); -// }); -// SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); -// List> rows = new ArrayList<>(); -// for (TaxAgentAdjustRecordListDTO dto : list) { -// List row = new ArrayList<>(); -// row.add(dto.getUsername()); -// row.add(dto.getEmployeeStatus()); -// row.add(dto.getDepartmentName()); -// row.add(dto.getAdjustBefore()); -// row.add(dto.getAdjustAfter()); -// row.add(dto.getAdjustReason()); -// row.add(dto.getEffectiveTime() + ""); -// row.add(dto.getOperator()); -// row.add(format.format(dto.getOperateTime())); -// row.add(dto.getDescription()); -// rows.add(row); -// } -// // 3.表数据 -// excelSheetData.setRows(rows); -// -// sheetList.add(excelSheetData); -// -// salaryBatchService.simpleExportExcel(ExportExcelInfo.builder() -// .bizId(map.get("biz").toString()) -// .flag(true) -// .userId(currentEmployeeId) -// .eteamsId(eteamsId) -// .tenantKey(currentTenantKey) -// .operator(username) -// .module(map.get("module").toString()) -// .fileName(nameI18n + SalaryDateUtil.getFormatLocalDateTime(LocalDateTime.now())) -// .handlerName(map.get("function").toString()) -// .dataType(nameI18n) -// .function(map.get("function").toString()).build(), sheetList); + // 1.工作簿名称 + String sheetName = SalaryI18nUtil.getI18nLabel(99978, "个税扣缴义务人调整记录"); + // 2.表头 + List header = new ArrayList<>(); + header.add(SalaryI18nUtil.getI18nLabel(85429, "姓名")); + header.add(SalaryI18nUtil.getI18nLabel(86187, "员工状态")); + header.add(SalaryI18nUtil.getI18nLabel(86185, "部门")); + header.add(SalaryI18nUtil.getI18nLabel(85433, "调整前")); + header.add(SalaryI18nUtil.getI18nLabel(85434, "调整后")); + header.add(SalaryI18nUtil.getI18nLabel(85431, "调整原因")); + header.add(SalaryI18nUtil.getI18nLabel(85904, "生效日期")); + header.add(SalaryI18nUtil.getI18nLabel(85435, "操作人")); + header.add(SalaryI18nUtil.getI18nLabel(85436, "操作时间")); + header.add(SalaryI18nUtil.getI18nLabel(84961, "备注")); + // 3.表数据 + // 获取记录 + List list = salaryArchiveTaxAgentMapper.taxAgentAdjustRecordList(queryParam); + List listAll = salaryArchiveTaxAgentMapper.taxAgentAdjustRecordList(TaxAgentAdjustRecordQueryParam.builder().build()); + // 个税扣缴义务人 + Collection taxAgentList = taxAgentService.listAll(); + // 人员信息赋值 + list.forEach(m -> { + if (!org.springframework.util.CollectionUtils.isEmpty(listAll)) { + listAll.removeIf(a -> a.getId().equals(m.getId())); + } + Optional optional = listAll.stream().filter(f -> f.getSalaryArchiveId().equals(m.getSalaryArchiveId())).findFirst(); + m.setAdjustBefore(optional.isPresent() ? optional.get().getAdjustAfter() : ""); + Optional optionalBefore = taxAgentList.stream().filter(t -> t.getId().toString().equals(m.getAdjustBefore())).findFirst(); + m.setAdjustBefore(optionalBefore.isPresent() ? optionalBefore.get().getName() : ""); + Optional optionalAfter = taxAgentList.stream().filter(t -> t.getId().toString().equals(m.getAdjustAfter())).findFirst(); + m.setAdjustAfter(optionalAfter.isPresent() ? optionalAfter.get().getName() : ""); + + m.setEmployeeStatus(UserStatusEnum.getDefaultLabelByValue(Integer.parseInt(m.getEmployeeStatus()))); + m.setAdjustReason(SalaryArchiveTaxAgentAdjustReasonEnum.getDefaultLabelByValue(m.getAdjustReason())); + }); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + List> rows = new ArrayList<>(); + rows.add(header); + for (TaxAgentAdjustRecordListDTO dto : list) { + List row = new ArrayList<>(); + row.add(dto.getUsername()); + row.add(dto.getEmployeeStatus()); + row.add(dto.getDepartmentName()); + row.add(dto.getAdjustBefore()); + row.add(dto.getAdjustAfter()); + row.add(dto.getAdjustReason()); + row.add(dto.getEffectiveTime() + ""); + row.add(dto.getOperator()); + row.add(format.format(dto.getOperateTime())); + row.add(dto.getDescription()); + rows.add(row); + } + + return ExcelUtil.genWorkbookV2(rows, sheetName); + } @Override public SalaryArchiveTaxAgentPO getAdjustBeforeTaxAgent(SalaryArchiveTaxAgentPO salaryArchiveTaxAgent) { - List salaryArchiveTaxAgents = salaryArchiveTaxAgentMapper.getAdjustBeforeTaxAgent( - SalaryArchiveTaxAgentPO - .builder() - .salaryArchiveId(salaryArchiveTaxAgent.getSalaryArchiveId()) - .effectiveTime(salaryArchiveTaxAgent.getEffectiveTime()) - .build()); + List salaryArchiveTaxAgents = salaryArchiveTaxAgentMapper.getAdjustBeforeTaxAgent(SalaryArchiveTaxAgentPO.builder().salaryArchiveId(salaryArchiveTaxAgent.getSalaryArchiveId()).effectiveTime(salaryArchiveTaxAgent.getEffectiveTime()).build()); return CollectionUtils.isNotEmpty(salaryArchiveTaxAgents) ? salaryArchiveTaxAgents.get(0) : null; } diff --git a/src/com/engine/salary/web/SalaryArchiveController.java b/src/com/engine/salary/web/SalaryArchiveController.java index 1c1fbc9d1..eab3543a6 100644 --- a/src/com/engine/salary/web/SalaryArchiveController.java +++ b/src/com/engine/salary/web/SalaryArchiveController.java @@ -252,18 +252,24 @@ public class SalaryArchiveController { // ******** 薪资档案主表 end ***********************************************************************************************/ // ******** 薪资项目调整 start ***********************************************************************************************/ -// /** -// * 通过薪资档案id获取薪资项目调整表单 -// * -// * @param salaryArchiveId -// * @return -// */ -// @GetMapping("/getSalaryItemForm") -// @ApiOperation("获取薪资项目调整表单") -// @WeaPermission -// public WeaResult getSalaryItemForm(@RequestParam Long salaryArchiveId) { -// return WeaResult.success(salaryArchiveItemWrapper.getSalaryItemForm(salaryArchiveId, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey())); -// } + /** + * 获取薪资项目调整表单 + * + * @return + */ + @GET + @Path("/getSalaryItemForm") + @Produces(MediaType.APPLICATION_JSON) + public String getSalaryItemForm(@Context HttpServletRequest request, @Context HttpServletResponse response) { + User user = HrmUserVarify.getUser(request, response); + String salaryArchiveIdStr = request.getParameter("salaryArchiveId"); + Long salaryArchiveId = null; + if (StringUtils.isNotBlank(salaryArchiveIdStr)) { + salaryArchiveId = Long.valueOf(salaryArchiveIdStr); + } + return new ResponseResult().run(getSalaryArchiveItemWrapper(user)::getSalaryItemForm, salaryArchiveId); + } + /** * 获取薪资项目调整前的值 diff --git a/src/com/engine/salary/wrapper/SalaryArchiveItemWrapper.java b/src/com/engine/salary/wrapper/SalaryArchiveItemWrapper.java index 765fd6cce..f6eb51c80 100644 --- a/src/com/engine/salary/wrapper/SalaryArchiveItemWrapper.java +++ b/src/com/engine/salary/wrapper/SalaryArchiveItemWrapper.java @@ -13,6 +13,7 @@ import com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO; import com.engine.salary.entity.salaryitem.po.SalaryItemPO; import com.engine.salary.enums.SalaryUserStatusEnum; import com.engine.salary.enums.salaryarchive.SalaryArchiveItemAdjustReasonEnum; +import com.engine.salary.enums.salaryarchive.SalaryArchiveTaxAgentAdjustReasonEnum; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.service.SalaryArchiveItemService; import com.engine.salary.service.impl.SalaryArchiveItemServiceImpl; @@ -62,6 +63,7 @@ public class SalaryArchiveItemWrapper extends Service { data.put("effectiveTime", effectiveTime + ""); data.put("adjustReason", adjustReason); data.put("description", description); + data.put("adjustReasonList", SalaryArchiveTaxAgentAdjustReasonEnum.getList()); return data; } @@ -74,10 +76,10 @@ public class SalaryArchiveItemWrapper extends Service { private Map buildSalaryArchiveItemAdjustDetailTable(List> tableData) { Map map = new HashMap<>(); // 表头 - List headers = new ArrayList<>(); - headers.add(SalaryI18nUtil.getI18nLabel(84960, "薪资项目")); - headers.add(SalaryI18nUtil.getI18nLabel(85433, "调整前")); - headers.add(SalaryI18nUtil.getI18nLabel(85434, "调整后")); + List columns = new ArrayList<>(); + columns.add(SalaryI18nUtil.getI18nLabel(84960, "薪资项目")); + columns.add(SalaryI18nUtil.getI18nLabel(85433, "调整前")); + columns.add(SalaryI18nUtil.getI18nLabel(85434, "调整后")); // 获取所有可被引用的薪资项目 List salaryItemList = getSalaryArchiveItemService(user).getCanAdjustSalaryItems(); List> salaryItems = salaryItemList.stream().map(m -> { @@ -87,7 +89,7 @@ public class SalaryArchiveItemWrapper extends Service { return salaryItemMap; }).collect(Collectors.toList()); - map.put("headers", headers); + map.put("columns", columns); map.put("list", tableData); map.put("salaryItemList", salaryItems); @@ -104,6 +106,19 @@ public class SalaryArchiveItemWrapper extends Service { return getSalaryArchiveItemService(user).getSalaryItemAdjustBeforeValue(adjustBeforeParam); } + public SalaryArchiveItemFormDTO getSalaryItemForm(Long salaryArchiveId) { + + // 调整明细数据 + List> tableData = Lists.newArrayList(); + + return SalaryArchiveItemFormDTO.builder() + .salaryArchiveId(salaryArchiveId) + .salaryArchiveItemForm(buildSalaryArchiveItemForm(null, null, null)) + .salaryArchiveItemDetail(buildSalaryArchiveItemAdjustDetailTable(tableData)) + .build(); + } + + /** * 通过薪资档案的薪资项目id获取薪资项目调整表单 * @@ -270,4 +285,6 @@ public class SalaryArchiveItemWrapper extends Service { public XSSFWorkbook exportAdjustRecordList(SalaryItemAdjustRecordQueryParam queryParam) { return getSalaryArchiveItemService(user).exportAdjustRecordList(queryParam); } + + } diff --git a/src/com/engine/salary/wrapper/SalaryArchiveTaxAgentWrapper.java b/src/com/engine/salary/wrapper/SalaryArchiveTaxAgentWrapper.java index e88ec02b4..e96781525 100644 --- a/src/com/engine/salary/wrapper/SalaryArchiveTaxAgentWrapper.java +++ b/src/com/engine/salary/wrapper/SalaryArchiveTaxAgentWrapper.java @@ -1,10 +1,6 @@ package com.engine.salary.wrapper; -import com.api.browser.bean.SearchConditionGroup; -import com.api.browser.bean.SearchConditionItem; -import com.api.browser.bean.SearchConditionOption; -import com.api.browser.util.ConditionFactory; -import com.api.browser.util.ConditionType; +import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveTaxAgentFormDTO; import com.engine.salary.entity.salaryarchive.dto.SingleTaxAgentAdjustRecordListDTO; @@ -19,11 +15,14 @@ import com.engine.salary.enums.salaryarchive.SalaryArchiveTaxAgentAdjustReasonEn import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.service.SalaryArchiveTaxAgentService; import com.engine.salary.service.TaxAgentService; +import com.engine.salary.service.impl.SalaryArchiveTaxAgentServiceImpl; +import com.engine.salary.service.impl.TaxAgentServiceImpl; import com.engine.salary.util.SalaryI18nUtil; import com.engine.salary.util.page.PageInfo; import com.google.common.collect.Lists; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.BeanUtils; +import weaver.hrm.User; import java.util.*; @@ -36,8 +35,15 @@ import java.util.*; * @version 1.0 **/ public class SalaryArchiveTaxAgentWrapper extends Service { - private SalaryArchiveTaxAgentService salaryArchiveTaxAgentService; - private TaxAgentService taxAgentService; + + private SalaryArchiveTaxAgentService getSalaryArchiveTaxAgentService(User user) { + return (SalaryArchiveTaxAgentService) ServiceUtil.getService(SalaryArchiveTaxAgentServiceImpl.class, user); + } + + private TaxAgentService getTaxAgentService(User user) { + return (TaxAgentService) ServiceUtil.getService(TaxAgentServiceImpl.class, user); + } + // @Resource // private SalaryBatchService salaryBatchService; // @Autowired @@ -54,10 +60,9 @@ public class SalaryArchiveTaxAgentWrapper extends Service { if (salaryArchiveId == null) { throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100425, "薪资档案id不能为空")); } - // 个税扣缴义务人下拉列表 - Collection taxAgentList = taxAgentService.findAll(); + // 构建表单 - Map form = buildTaxAgentForm(taxAgentList, null, "", "", null); + Map form = buildTaxAgentForm(null, "", "", null); return SalaryArchiveTaxAgentFormDTO.builder() .salaryArchiveId(salaryArchiveId) @@ -65,74 +70,15 @@ public class SalaryArchiveTaxAgentWrapper extends Service { .build(); } - private Map buildTaxAgentForm(Collection taxAgentList, Date effectiveTime, String adjustReason, String adjustBefore, Long adjustAfter) { - // 个税扣缴义务人调整原因下拉列表 - List salaryArchiveTaxAgentAdjustReasonEnums = Arrays.asList(SalaryArchiveTaxAgentAdjustReasonEnum.values()); - - ConditionFactory conditionFactory = new ConditionFactory(user); - - //条件组 - List addGroups = new ArrayList(); - List items = new ArrayList(); - - SearchConditionItem effectiveTimeItem = conditionFactory.createCondition(ConditionType.DATEPICKER, 502327, "effectiveTime"); - effectiveTimeItem.setColSpan(1);//定义一行显示条件数,默认值为2,当值为1时标识该条件单独占一行 - effectiveTimeItem.setFieldcol(12); //条件输入框所占宽度,默认值18 - effectiveTimeItem.setViewAttr(3); // 编辑权限 1:只读,2:可编辑, 3:必填 默认2 - effectiveTimeItem.setLength(10); // 设置输入长度 - effectiveTimeItem.setLabel("生效时间"); //设置文本值 这个将覆盖多语言标签的值 - effectiveTimeItem.setRules("required"); //设置字段填入规则 - items.add(effectiveTimeItem); - - SearchConditionItem adjustReasonItem = conditionFactory.createCondition(ConditionType.SELECT, 502227, "adjustReason"); - List selectOptions = new ArrayList<>(); //设置选项值 - Arrays.stream(SalaryArchiveTaxAgentAdjustReasonEnum.values()).forEach(r -> { - if (r.getValue().equals(adjustReason)) { - selectOptions.add(new SearchConditionOption(r.getValue(), r.getDefaultLabel(), true)); - } - selectOptions.add(new SearchConditionOption(r.getValue(), r.getDefaultLabel())); - }); - adjustReasonItem.setOptions(selectOptions); - effectiveTimeItem.setColSpan(1); - effectiveTimeItem.setFieldcol(12); - effectiveTimeItem.setViewAttr(3); - effectiveTimeItem.setLength(10); - adjustReasonItem.setLabel("调整原因"); - effectiveTimeItem.setRules("required"); //设置字段填入规则 - items.add(adjustReasonItem); - - SearchConditionItem adjustBeforeItem = conditionFactory.createCondition(ConditionType.INPUT, 502327, "adjustBefore"); - adjustBeforeItem.setColSpan(1);//定义一行显示条件数,默认值为2,当值为1时标识该条件单独占一行 - adjustBeforeItem.setFieldcol(12); //条件输入框所占宽度,默认值18 - adjustBeforeItem.setViewAttr(1); // 编辑权限 1:只读,2:可编辑, 3:必填 默认2 - adjustBeforeItem.setLength(10); // 设置输入长度 - adjustBeforeItem.setLabel("调整前"); //设置文本值 这个将覆盖多语言标签的值 - adjustBeforeItem.setRules("required"); //设置字段填入规则 - adjustBeforeItem.setValue(adjustBefore); - items.add(adjustBeforeItem); - - - SearchConditionItem taxAgentItem = conditionFactory.createCondition(ConditionType.SELECT, 502227, "taxAgentId"); - List taxAgentOptions = new ArrayList<>(); //设置选项值 - taxAgentList.forEach(t -> { - if (t.getId().equals(adjustAfter)) { - taxAgentOptions.add(new SearchConditionOption(t.getId().toString(), t.getName(), true)); - } - taxAgentOptions.add(new SearchConditionOption(t.getId().toString(), t.getName())); - }); - adjustReasonItem.setOptions(selectOptions); - effectiveTimeItem.setColSpan(1); - effectiveTimeItem.setFieldcol(12); - effectiveTimeItem.setViewAttr(3); - effectiveTimeItem.setLength(10); - adjustReasonItem.setLabel("调整后"); - effectiveTimeItem.setRules("required"); //设置字段填入规则 - items.add(taxAgentItem); - - addGroups.add(new SearchConditionGroup("表单", true, items)); - + private Map buildTaxAgentForm(Date effectiveTime, String adjustReason, String adjustBefore, Long adjustAfter) { + // 个税扣缴义务人下拉列表 + Collection taxAgentList = getTaxAgentService(user).findAll(); Map map = new HashMap<>(); - map.put("form", addGroups); + map.put("adjustReasonList", SalaryArchiveTaxAgentAdjustReasonEnum.getList()); + map.put("taxAgentList", taxAgentList); + map.put("effectiveTime", effectiveTime); + map.put("adjustBefore", adjustBefore); + map.put("adjustAfter", adjustAfter); return map; } @@ -146,15 +92,15 @@ public class SalaryArchiveTaxAgentWrapper extends Service { if (salaryArchiveTaxAgentId == null) { throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100489, "薪资档案的个税扣缴义务人id不能为空")); } - SalaryArchiveTaxAgentPO salaryArchiveTaxAgent = salaryArchiveTaxAgentService.getById(salaryArchiveTaxAgentId); + SalaryArchiveTaxAgentPO salaryArchiveTaxAgent = getSalaryArchiveTaxAgentService(user).getById(salaryArchiveTaxAgentId); if (salaryArchiveTaxAgent == null) { throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100484, "该薪资档案的个税扣缴义务人的调整记录不存在")); } // 个税扣缴义务人下拉列表 - Collection taxAgentList = taxAgentService.findAll(); + Collection taxAgentList = getTaxAgentService(user).findAll(); // 调整前 String adjustBefore = ""; - SalaryArchiveTaxAgentPO adjustBeforePo = salaryArchiveTaxAgentService.getAdjustBeforeTaxAgent(salaryArchiveTaxAgent); + SalaryArchiveTaxAgentPO adjustBeforePo = getSalaryArchiveTaxAgentService(user).getAdjustBeforeTaxAgent(salaryArchiveTaxAgent); if (adjustBeforePo != null) { Optional optional = taxAgentList.stream().filter(f -> f.getId().equals(adjustBeforePo.getTaxAgentId())).findFirst(); @@ -166,7 +112,7 @@ public class SalaryArchiveTaxAgentWrapper extends Service { Long adjustAfter = salaryArchiveTaxAgent.getTaxAgentId(); // 构建表单 - Map taxAgentForm = buildTaxAgentForm(taxAgentList, effectiveTime, adjustReason, adjustBefore, adjustAfter); + Map taxAgentForm = buildTaxAgentForm(effectiveTime, adjustReason, adjustBefore, adjustAfter); return SalaryArchiveTaxAgentFormDTO.builder() .salaryArchiveId(salaryArchiveTaxAgent.getSalaryArchiveId()) @@ -181,7 +127,7 @@ public class SalaryArchiveTaxAgentWrapper extends Service { * @return */ public String saveTaxAgent(SalaryArchiveTaxAgentSaveParam saveParam) { - return salaryArchiveTaxAgentService.saveTaxAgent(saveParam); + return getSalaryArchiveTaxAgentService(user).saveTaxAgent(saveParam); } /** @@ -191,7 +137,7 @@ public class SalaryArchiveTaxAgentWrapper extends Service { * @return */ public String deleteTaxAgent(Long salaryArchiveTaxAgentId) { - return salaryArchiveTaxAgentService.deleteTaxAgent(salaryArchiveTaxAgentId); + return getSalaryArchiveTaxAgentService(user).deleteTaxAgent(salaryArchiveTaxAgentId); } @@ -204,9 +150,9 @@ public class SalaryArchiveTaxAgentWrapper extends Service { public PageInfo adjustRecordList(TaxAgentAdjustRecordQueryParam queryParam) { // 个税扣缴义务人 - Collection taxAgentList = taxAgentService.findAll(); - List listAll = salaryArchiveTaxAgentService.taxAgentAdjustRecordList(TaxAgentAdjustRecordQueryParam.builder().build()); - PageInfo page = salaryArchiveTaxAgentService.taxAgentAdjustRecordListPage(queryParam); + Collection taxAgentList = getTaxAgentService(user).findAll(); + List listAll = getSalaryArchiveTaxAgentService(user).taxAgentAdjustRecordList(TaxAgentAdjustRecordQueryParam.builder().build()); + PageInfo page = getSalaryArchiveTaxAgentService(user).taxAgentAdjustRecordListPage(queryParam); List list = page.getList(); list.forEach(m -> { if (!org.springframework.util.CollectionUtils.isEmpty(listAll)) { @@ -240,11 +186,11 @@ public class SalaryArchiveTaxAgentWrapper extends Service { TaxAgentAdjustRecordQueryParam adjustRecordQueryParam = new TaxAgentAdjustRecordQueryParam(); BeanUtils.copyProperties(queryParam, adjustRecordQueryParam); - PageInfo page = salaryArchiveTaxAgentService.taxAgentAdjustRecordListPage(adjustRecordQueryParam); + PageInfo page = getSalaryArchiveTaxAgentService(user).taxAgentAdjustRecordListPage(adjustRecordQueryParam); // 个税扣缴义务人 - Collection taxAgentList = taxAgentService.findAll(); - List listAll = salaryArchiveTaxAgentService.taxAgentAdjustRecordList(TaxAgentAdjustRecordQueryParam.builder().build()); + Collection taxAgentList = getTaxAgentService(user).findAll(); + List listAll = getSalaryArchiveTaxAgentService(user).taxAgentAdjustRecordList(TaxAgentAdjustRecordQueryParam.builder().build()); List list = page.getList(); List resultList = Lists.newArrayList(); list.forEach(m -> { @@ -265,7 +211,7 @@ public class SalaryArchiveTaxAgentWrapper extends Service { resultList.add(singleTaxAgentAdjustRecordList); }); // 获取当前已生效 - SalaryArchiveTaxAgentPO salaryArchiveTaxAgent = salaryArchiveTaxAgentService.getEffectiveTaxAgent(queryParam.getSalaryArchiveId()); + SalaryArchiveTaxAgentPO salaryArchiveTaxAgent = getSalaryArchiveTaxAgentService(user).getEffectiveTaxAgent(queryParam.getSalaryArchiveId()); Date effectiveDate = (salaryArchiveTaxAgent == null ? null : salaryArchiveTaxAgent.getEffectiveTime()); // 行记录按钮权限控制 @@ -292,6 +238,6 @@ public class SalaryArchiveTaxAgentWrapper extends Service { * @return */ public XSSFWorkbook exportAdjustRecordList(TaxAgentAdjustRecordQueryParam queryParam) { - return salaryArchiveTaxAgentService.exportAdjustRecordList(queryParam); + return getSalaryArchiveTaxAgentService(user).exportAdjustRecordList(queryParam); } }