薪资档案表单

This commit is contained in:
钱涛 2022-04-02 16:57:27 +08:00
parent 3307c5c67e
commit 1c38214f6f
6 changed files with 159 additions and 213 deletions

View File

@ -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;

View File

@ -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<SalaryArchiveTaxAgentAdjustReasonEnum> 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<Map<String, String>> getList(){
return Arrays.stream(SalaryArchiveTaxAgentAdjustReasonEnum.values()).map(e -> {
Map<String, String> map = new HashMap<>();
map.put("id", e.getValue());
map.put("content", e.getDefaultLabel());
return map;
}).collect(Collectors.toList());
}
}

View File

@ -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<SalaryArchiveTaxAgentPO> 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<TaxAgentAdjustRecordListDTO> list = salaryArchiveTaxAgentMapper.taxAgentAdjustRecordList(queryParam, currentTenantKey);
// List<TaxAgentAdjustRecordListDTO> listAll = salaryArchiveTaxAgentMapper.taxAgentAdjustRecordList(TaxAgentAdjustRecordQueryParam.builder().build(), currentTenantKey);
// // 个税扣缴义务人
// Collection<TaxAgentListDTO> taxAgentList = taxAgentService.findAll(currentTenantKey);
// // 人员信息赋值
// list.forEach(m -> {
// if (!org.springframework.util.CollectionUtils.isEmpty(listAll)) {
// listAll.removeIf(a -> a.getId().equals(m.getId()));
// }
// Optional<TaxAgentAdjustRecordListDTO> optional = listAll.stream().filter(f -> f.getSalaryArchiveId().equals(m.getSalaryArchiveId())).findFirst();
// m.setAdjustBefore(optional.isPresent() ? optional.get().getAdjustAfter() : "");
// Optional<TaxAgentListDTO> optionalBefore = taxAgentList.stream().filter(t -> t.getId().toString().equals(m.getAdjustBefore())).findFirst();
// m.setAdjustBefore(optionalBefore.isPresent() ? optionalBefore.get().getName() : "");
// Optional<TaxAgentListDTO> 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<List<Object>> rows = new ArrayList<>();
// for (TaxAgentAdjustRecordListDTO dto : list) {
// List<Object> 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<Object> 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<TaxAgentAdjustRecordListDTO> list = salaryArchiveTaxAgentMapper.taxAgentAdjustRecordList(queryParam);
List<TaxAgentAdjustRecordListDTO> listAll = salaryArchiveTaxAgentMapper.taxAgentAdjustRecordList(TaxAgentAdjustRecordQueryParam.builder().build());
// 个税扣缴义务人
Collection<TaxAgent> taxAgentList = taxAgentService.listAll();
// 人员信息赋值
list.forEach(m -> {
if (!org.springframework.util.CollectionUtils.isEmpty(listAll)) {
listAll.removeIf(a -> a.getId().equals(m.getId()));
}
Optional<TaxAgentAdjustRecordListDTO> optional = listAll.stream().filter(f -> f.getSalaryArchiveId().equals(m.getSalaryArchiveId())).findFirst();
m.setAdjustBefore(optional.isPresent() ? optional.get().getAdjustAfter() : "");
Optional<TaxAgent> optionalBefore = taxAgentList.stream().filter(t -> t.getId().toString().equals(m.getAdjustBefore())).findFirst();
m.setAdjustBefore(optionalBefore.isPresent() ? optionalBefore.get().getName() : "");
Optional<TaxAgent> 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<List<Object>> rows = new ArrayList<>();
rows.add(header);
for (TaxAgentAdjustRecordListDTO dto : list) {
List<Object> 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<SalaryArchiveTaxAgentPO> salaryArchiveTaxAgents = salaryArchiveTaxAgentMapper.getAdjustBeforeTaxAgent(
SalaryArchiveTaxAgentPO
.builder()
.salaryArchiveId(salaryArchiveTaxAgent.getSalaryArchiveId())
.effectiveTime(salaryArchiveTaxAgent.getEffectiveTime())
.build());
List<SalaryArchiveTaxAgentPO> salaryArchiveTaxAgents = salaryArchiveTaxAgentMapper.getAdjustBeforeTaxAgent(SalaryArchiveTaxAgentPO.builder().salaryArchiveId(salaryArchiveTaxAgent.getSalaryArchiveId()).effectiveTime(salaryArchiveTaxAgent.getEffectiveTime()).build());
return CollectionUtils.isNotEmpty(salaryArchiveTaxAgents) ? salaryArchiveTaxAgents.get(0) : null;
}

View File

@ -252,18 +252,24 @@ public class SalaryArchiveController {
// ******** 薪资档案主表 end ***********************************************************************************************/
// ******** 薪资项目调整 start ***********************************************************************************************/
// /**
// * 通过薪资档案id获取薪资项目调整表单
// *
// * @param salaryArchiveId
// * @return
// */
// @GetMapping("/getSalaryItemForm")
// @ApiOperation("获取薪资项目调整表单")
// @WeaPermission
// public WeaResult<SalaryArchiveItemFormDTO> 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<Long, SalaryArchiveItemFormDTO>().run(getSalaryArchiveItemWrapper(user)::getSalaryItemForm, salaryArchiveId);
}
/**
* 获取薪资项目调整前的值

View File

@ -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<String, Object> buildSalaryArchiveItemAdjustDetailTable(List<Map<String, Object>> tableData) {
Map<String, Object> map = new HashMap<>();
// 表头
List<String> headers = new ArrayList<>();
headers.add(SalaryI18nUtil.getI18nLabel(84960, "薪资项目"));
headers.add(SalaryI18nUtil.getI18nLabel(85433, "调整前"));
headers.add(SalaryI18nUtil.getI18nLabel(85434, "调整后"));
List<String> columns = new ArrayList<>();
columns.add(SalaryI18nUtil.getI18nLabel(84960, "薪资项目"));
columns.add(SalaryI18nUtil.getI18nLabel(85433, "调整前"));
columns.add(SalaryI18nUtil.getI18nLabel(85434, "调整后"));
// 获取所有可被引用的薪资项目
List<SalaryItemPO> salaryItemList = getSalaryArchiveItemService(user).getCanAdjustSalaryItems();
List<Map<String, Object>> 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<Map<String, Object>> 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);
}
}

View File

@ -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<TaxAgent> taxAgentList = taxAgentService.findAll();
// 构建表单
Map<String, Object> form = buildTaxAgentForm(taxAgentList, null, "", "", null);
Map<String, Object> form = buildTaxAgentForm(null, "", "", null);
return SalaryArchiveTaxAgentFormDTO.builder()
.salaryArchiveId(salaryArchiveId)
@ -65,74 +70,15 @@ public class SalaryArchiveTaxAgentWrapper extends Service {
.build();
}
private Map<String, Object> buildTaxAgentForm(Collection<TaxAgent> taxAgentList, Date effectiveTime, String adjustReason, String adjustBefore, Long adjustAfter) {
// 个税扣缴义务人调整原因下拉列表
List<SalaryArchiveTaxAgentAdjustReasonEnum> salaryArchiveTaxAgentAdjustReasonEnums = Arrays.asList(SalaryArchiveTaxAgentAdjustReasonEnum.values());
ConditionFactory conditionFactory = new ConditionFactory(user);
//条件组
List<SearchConditionGroup> addGroups = new ArrayList<SearchConditionGroup>();
List<SearchConditionItem> items = new ArrayList<SearchConditionItem>();
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<SearchConditionOption> 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<SearchConditionOption> 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<String, Object> buildTaxAgentForm(Date effectiveTime, String adjustReason, String adjustBefore, Long adjustAfter) {
// 个税扣缴义务人下拉列表
Collection<TaxAgent> taxAgentList = getTaxAgentService(user).findAll();
Map<String, Object> 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<TaxAgent> taxAgentList = taxAgentService.findAll();
Collection<TaxAgent> taxAgentList = getTaxAgentService(user).findAll();
// 调整前
String adjustBefore = "";
SalaryArchiveTaxAgentPO adjustBeforePo = salaryArchiveTaxAgentService.getAdjustBeforeTaxAgent(salaryArchiveTaxAgent);
SalaryArchiveTaxAgentPO adjustBeforePo = getSalaryArchiveTaxAgentService(user).getAdjustBeforeTaxAgent(salaryArchiveTaxAgent);
if (adjustBeforePo != null) {
Optional<TaxAgent> 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<String, Object> taxAgentForm = buildTaxAgentForm(taxAgentList, effectiveTime, adjustReason, adjustBefore, adjustAfter);
Map<String, Object> 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<TaxAgentAdjustRecordListDTO> adjustRecordList(TaxAgentAdjustRecordQueryParam queryParam) {
// 个税扣缴义务人
Collection<TaxAgent> taxAgentList = taxAgentService.findAll();
List<TaxAgentAdjustRecordListDTO> listAll = salaryArchiveTaxAgentService.taxAgentAdjustRecordList(TaxAgentAdjustRecordQueryParam.builder().build());
PageInfo<TaxAgentAdjustRecordListDTO> page = salaryArchiveTaxAgentService.taxAgentAdjustRecordListPage(queryParam);
Collection<TaxAgent> taxAgentList = getTaxAgentService(user).findAll();
List<TaxAgentAdjustRecordListDTO> listAll = getSalaryArchiveTaxAgentService(user).taxAgentAdjustRecordList(TaxAgentAdjustRecordQueryParam.builder().build());
PageInfo<TaxAgentAdjustRecordListDTO> page = getSalaryArchiveTaxAgentService(user).taxAgentAdjustRecordListPage(queryParam);
List<TaxAgentAdjustRecordListDTO> 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<TaxAgentAdjustRecordListDTO> page = salaryArchiveTaxAgentService.taxAgentAdjustRecordListPage(adjustRecordQueryParam);
PageInfo<TaxAgentAdjustRecordListDTO> page = getSalaryArchiveTaxAgentService(user).taxAgentAdjustRecordListPage(adjustRecordQueryParam);
// 个税扣缴义务人
Collection<TaxAgent> taxAgentList = taxAgentService.findAll();
List<TaxAgentAdjustRecordListDTO> listAll = salaryArchiveTaxAgentService.taxAgentAdjustRecordList(TaxAgentAdjustRecordQueryParam.builder().build());
Collection<TaxAgent> taxAgentList = getTaxAgentService(user).findAll();
List<TaxAgentAdjustRecordListDTO> listAll = getSalaryArchiveTaxAgentService(user).taxAgentAdjustRecordList(TaxAgentAdjustRecordQueryParam.builder().build());
List<TaxAgentAdjustRecordListDTO> list = page.getList();
List<SingleTaxAgentAdjustRecordListDTO> 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);
}
}