薪资档案后续接口
This commit is contained in:
parent
126444b9f3
commit
3307c5c67e
|
|
@ -1,5 +1,6 @@
|
|||
package com.engine.salary.entity.salaryarchive.dto;
|
||||
|
||||
import com.engine.salary.annotation.TableTitle;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
|
@ -36,6 +37,7 @@ public class SingleSalaryItemAdjustRecordListDTO {
|
|||
// labelId = 85432,
|
||||
// tableColumn = @TableColumn(width = "20%")
|
||||
// )
|
||||
@TableTitle(title = "调整项目", dataIndex = "adjustItem", key = "adjustItem")
|
||||
private String adjustItem;
|
||||
//
|
||||
// //调整前")
|
||||
|
|
@ -44,6 +46,7 @@ public class SingleSalaryItemAdjustRecordListDTO {
|
|||
// labelId = 85433,
|
||||
// tableColumn = @TableColumn(width = "20%")
|
||||
// )
|
||||
@TableTitle(title = "调整前", dataIndex = "adjustBefore", key = "adjustBefore")
|
||||
private String adjustBefore;
|
||||
//
|
||||
// //调整后")
|
||||
|
|
@ -52,6 +55,7 @@ public class SingleSalaryItemAdjustRecordListDTO {
|
|||
// labelId = 85434,
|
||||
// tableColumn = @TableColumn(width = "20%")
|
||||
// )
|
||||
@TableTitle(title = "调整后", dataIndex = "adjustAfter", key = "adjustAfter")
|
||||
private String adjustAfter;
|
||||
//
|
||||
// //调整原因")
|
||||
|
|
@ -60,6 +64,7 @@ public class SingleSalaryItemAdjustRecordListDTO {
|
|||
// labelId = 85431,
|
||||
// tableColumn = @TableColumn(width = "10%")
|
||||
// )
|
||||
@TableTitle(title = "调整原因", dataIndex = "adjustReason", key = "adjustReason")
|
||||
private String adjustReason;
|
||||
//
|
||||
// //生效日期")
|
||||
|
|
@ -69,6 +74,7 @@ public class SingleSalaryItemAdjustRecordListDTO {
|
|||
// tableColumn = @TableColumn(width = "15%")
|
||||
// )
|
||||
// @JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@TableTitle(title = "生效日期", dataIndex = "effectiveTime", key = "effectiveTime")
|
||||
private Date effectiveTime;
|
||||
//
|
||||
// //操作人")
|
||||
|
|
@ -77,6 +83,7 @@ public class SingleSalaryItemAdjustRecordListDTO {
|
|||
// labelId = 85435,
|
||||
// tableColumn = @TableColumn(width = "10%")
|
||||
// )
|
||||
@TableTitle(title = "操作人", dataIndex = "operator", key = "operator")
|
||||
private String operator;
|
||||
//
|
||||
// //操作时间")
|
||||
|
|
@ -86,6 +93,7 @@ public class SingleSalaryItemAdjustRecordListDTO {
|
|||
// tableColumn = @TableColumn(width = "20%")
|
||||
// )
|
||||
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@TableTitle(title = "操作时间", dataIndex = "operateTime", key = "operateTime")
|
||||
private Date operateTime;
|
||||
//
|
||||
// //备注")
|
||||
|
|
@ -94,6 +102,7 @@ public class SingleSalaryItemAdjustRecordListDTO {
|
|||
// labelId = 84961,
|
||||
// tableColumn = @TableColumn(width = "10%")
|
||||
// )
|
||||
@TableTitle(title = "备注", dataIndex = "description", key = "description")
|
||||
private String description;
|
||||
//
|
||||
// /**
|
||||
|
|
@ -107,4 +116,10 @@ public class SingleSalaryItemAdjustRecordListDTO {
|
|||
// */
|
||||
// @JsonIgnore
|
||||
private Long salaryItemId;
|
||||
|
||||
|
||||
/**
|
||||
* 是否能操作
|
||||
*/
|
||||
private Boolean canOperator;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@ import lombok.Builder;
|
|||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Description: 个税扣缴义务人调整记录列表
|
||||
* @Author: wangxiangzhong
|
||||
|
|
@ -46,7 +48,7 @@ public class SingleTaxAgentAdjustRecordListDTO {
|
|||
// labelId = 85431,
|
||||
// tableColumn = @TableColumn(width = "10%")
|
||||
// )
|
||||
// private String adjustReason;
|
||||
private String adjustReason;
|
||||
//
|
||||
// //生效日期")
|
||||
// @WeaFormat(
|
||||
|
|
@ -55,7 +57,7 @@ public class SingleTaxAgentAdjustRecordListDTO {
|
|||
// tableColumn = @TableColumn(width = "15%")
|
||||
// )
|
||||
// @JsonFormat(pattern = "yyyy-MM-dd")
|
||||
// private LocalDate effectiveTime;
|
||||
private Date effectiveTime;
|
||||
//
|
||||
// //操作人")
|
||||
// @WeaFormat(
|
||||
|
|
@ -63,7 +65,7 @@ public class SingleTaxAgentAdjustRecordListDTO {
|
|||
// labelId = 85435,
|
||||
// tableColumn = @TableColumn(width = "10%")
|
||||
// )
|
||||
// private String operator;
|
||||
private String operator;
|
||||
//
|
||||
// //操作时间")
|
||||
// @WeaFormat(
|
||||
|
|
@ -72,7 +74,7 @@ public class SingleTaxAgentAdjustRecordListDTO {
|
|||
// tableColumn = @TableColumn(width = "20%")
|
||||
// )
|
||||
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
// private Date operateTime;
|
||||
private Date operateTime;
|
||||
//
|
||||
// //备注")
|
||||
// @WeaFormat(
|
||||
|
|
@ -80,18 +82,24 @@ public class SingleTaxAgentAdjustRecordListDTO {
|
|||
// labelId = 84961,
|
||||
// tableColumn = @TableColumn(width = "10%")
|
||||
// )
|
||||
// private String description;
|
||||
private String description;
|
||||
//
|
||||
// /**
|
||||
// * 薪资档案id
|
||||
// */
|
||||
// @JsonIgnore
|
||||
// private Long salaryArchiveId;
|
||||
private Long salaryArchiveId;
|
||||
//
|
||||
// /**
|
||||
// * 个税扣缴义务人id
|
||||
// */
|
||||
// @JsonIgnore
|
||||
// private Long taxAgentId;
|
||||
private Long taxAgentId;
|
||||
|
||||
/**
|
||||
* 是否有操作按钮
|
||||
*/
|
||||
private Boolean canOperator;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ import lombok.Builder;
|
|||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
|
@ -56,10 +56,10 @@ public class SalaryItemAdjustRecordQueryParam extends BaseQueryParam {
|
|||
private String adjustReason;
|
||||
|
||||
//生效日期
|
||||
private List<LocalDate> effectiveTime;
|
||||
private List<Date> effectiveTime;
|
||||
|
||||
//操作日期
|
||||
private List<LocalDate> operateTime;
|
||||
private List<Date> operateTime;
|
||||
|
||||
//操作人id
|
||||
private List<Long> operatorIds;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
package com.engine.salary.enums.salaryarchive;
|
||||
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @Description: 薪资档案-个税扣缴义务人调整原因
|
||||
|
|
@ -41,15 +44,12 @@ public enum SalaryArchiveTaxAgentAdjustReasonEnum {
|
|||
}
|
||||
|
||||
public static String getValueByDefaultLabel(String defaultLabel) {
|
||||
if (defaultLabel == null) {
|
||||
return "";
|
||||
}
|
||||
SalaryArchiveTaxAgentAdjustReasonEnum[] enumAry = SalaryArchiveTaxAgentAdjustReasonEnum.values();
|
||||
for(int i = 0; i < Arrays.asList(enumAry).size(); i++){
|
||||
if (enumAry[i].getDefaultLabel().equals(defaultLabel)) {
|
||||
return enumAry[i].getValue();
|
||||
}
|
||||
}
|
||||
return "";
|
||||
Optional<SalaryArchiveTaxAgentAdjustReasonEnum> optionalAdjustReason = Arrays.stream(SalaryArchiveTaxAgentAdjustReasonEnum.values()).filter(r->SalaryI18nUtil.getI18nLabel(r.getLabelId(), r.getDefaultLabel()).equals(defaultLabel)).findFirst();
|
||||
return optionalAdjustReason.isPresent()?optionalAdjustReason.get().getValue():"";
|
||||
}
|
||||
|
||||
public static String getDefaultLabelByValue(String value) {
|
||||
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()):"";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import com.engine.salary.entity.salaryarchive.param.SalaryItemAdjustRecordQueryP
|
|||
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO;
|
||||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -68,10 +69,8 @@ public interface SalaryArchiveItemService {
|
|||
/**
|
||||
* 薪资调整记录列表(分页)
|
||||
*
|
||||
* @param page
|
||||
* @param queryParam
|
||||
* @param salaryItemIds
|
||||
* @param tenantKey
|
||||
* @return
|
||||
*/
|
||||
PageInfo<SalaryItemAdjustRecordListDTO> salaryItemAdjustRecordListPage( SalaryItemAdjustRecordQueryParam queryParam, List<Long> salaryItemIds);
|
||||
|
|
@ -88,10 +87,7 @@ public interface SalaryArchiveItemService {
|
|||
/**
|
||||
* 导出薪资项目的调整记录列表
|
||||
*
|
||||
* @param map
|
||||
* @param username
|
||||
* @param eteamsId
|
||||
* @param queryParam
|
||||
*/
|
||||
// void exportAdjustRecordList(Map<String, Object> map, String username, String eteamsId, SalaryItemAdjustRecordQueryParam queryParam);
|
||||
XSSFWorkbook exportAdjustRecordList(SalaryItemAdjustRecordQueryParam queryParam);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@ import com.engine.salary.entity.salaryarchive.dto.TaxAgentAdjustRecordListDTO;
|
|||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveTaxAgentSaveParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.TaxAgentAdjustRecordQueryParam;
|
||||
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveTaxAgentPO;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -44,11 +46,10 @@ public interface SalaryArchiveTaxAgentService {
|
|||
/**
|
||||
* 个税扣缴义务人的调整记录(分页)
|
||||
*
|
||||
* @param page
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
// Page<TaxAgentAdjustRecordListDTO> taxAgentAdjustRecordListPage(Page<TaxAgentAdjustRecordListDTO> page, TaxAgentAdjustRecordQueryParam queryParam);
|
||||
PageInfo<TaxAgentAdjustRecordListDTO> taxAgentAdjustRecordListPage(TaxAgentAdjustRecordQueryParam queryParam);
|
||||
|
||||
/**
|
||||
* 个税扣缴义务人的调整记录
|
||||
|
|
@ -77,10 +78,7 @@ public interface SalaryArchiveTaxAgentService {
|
|||
/**
|
||||
* 导出-个税扣缴义务人的调整记录列表
|
||||
*
|
||||
* @param map
|
||||
* @param username
|
||||
* @param eteamsId
|
||||
* @param queryParam
|
||||
*/
|
||||
// void exportAdjustRecordList(Map<String, Object> map, String username, String eteamsId, TaxAgentAdjustRecordQueryParam queryParam);
|
||||
XSSFWorkbook exportAdjustRecordList(TaxAgentAdjustRecordQueryParam queryParam);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,20 +10,22 @@ import com.engine.salary.entity.salaryarchive.param.*;
|
|||
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO;
|
||||
import com.engine.salary.entity.salaryarchive.po.SalaryArchivePO;
|
||||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
import com.engine.salary.enums.UserStatusEnum;
|
||||
import com.engine.salary.enums.salaryarchive.SalaryArchiveItemAdjustReasonEnum;
|
||||
import com.engine.salary.exception.SalaryRunTimeException;
|
||||
import com.engine.salary.service.SalaryArchiveItemService;
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
import com.engine.salary.util.excel.ExcelUtil;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.engine.salary.util.valid.ValidUtil;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
|
@ -261,85 +263,64 @@ public class SalaryArchiveItemServiceImpl extends Service implements SalaryArchi
|
|||
return salaryArchiveItemMapper.salaryItemAdjustRecordList(queryParam, salaryItemIds);
|
||||
}
|
||||
|
||||
// @Override
|
||||
// public void exportAdjustRecordList(Map<String, Object> map, String username, String eteamsId, SalaryItemAdjustRecordQueryParam queryParam) {
|
||||
// List<ExcelSheetData> sheetList = new ArrayList<>();
|
||||
//
|
||||
// ExcelSheetData excelSheetData = new ExcelSheetData();
|
||||
// // 1.工作簿名称
|
||||
// String nameI18n = SalaryI18nUtil.getI18nLabel( 100438, "薪资项目调整记录");
|
||||
// excelSheetData.setSheetName(nameI18n);
|
||||
// String[] header = {
|
||||
// SalaryI18nUtil.getI18nLabel( 85429, "姓名"),
|
||||
// SalaryI18nUtil.getI18nLabel( 86187, "员工状态"),
|
||||
// SalaryI18nUtil.getI18nLabel( 86185, "部门"),
|
||||
// SalaryI18nUtil.getI18nLabel( 84960, "薪资项目"),
|
||||
// SalaryI18nUtil.getI18nLabel( 85433, "调整前"),
|
||||
// SalaryI18nUtil.getI18nLabel( 85434, "调整后"),
|
||||
// SalaryI18nUtil.getI18nLabel( 85431, "调整原因"),
|
||||
// SalaryI18nUtil.getI18nLabel( 85904, "生效日期"),
|
||||
// SalaryI18nUtil.getI18nLabel( 85435, "操作人"),
|
||||
// SalaryI18nUtil.getI18nLabel( 85436, "操作时间"),
|
||||
// SalaryI18nUtil.getI18nLabel( 84961, "备注")
|
||||
// };
|
||||
// // 2.表头
|
||||
// excelSheetData.setHeaders(Collections.singletonList(header));
|
||||
// // 获取所有可被引用的薪资项目
|
||||
// List<SalaryItemPO> salaryItemList = getCanAdjustSalaryItems(currentTenantKey);
|
||||
// List<Long> salaryItemIds = salaryItemList.stream().map(SalaryItemPO::getId).collect(Collectors.toList());
|
||||
// // 获取记录
|
||||
// List<SalaryItemAdjustRecordListDTO> list = salaryArchiveItemMapper.salaryItemAdjustRecordList(queryParam, salaryItemIds, currentTenantKey);
|
||||
// List<SalaryItemAdjustRecordListDTO> listAll = salaryArchiveItemMapper.salaryItemAdjustRecordList(SalaryItemAdjustRecordQueryParam.builder().build(), salaryItemIds, currentTenantKey);
|
||||
// // 人员信息赋值
|
||||
// list.forEach(m -> {
|
||||
// if (!org.springframework.util.CollectionUtils.isEmpty(listAll)) {
|
||||
// listAll.removeIf(a -> a.getId().equals(m.getId()));
|
||||
// }
|
||||
// Optional<SalaryItemAdjustRecordListDTO> optional = listAll.stream().filter(f -> f.getSalaryArchiveId().equals(m.getSalaryArchiveId()) && f.getSalaryItemId().equals(m.getSalaryItemId())).findFirst();
|
||||
// m.setAdjustBefore(optional.isPresent() ? optional.get().getAdjustAfter() : "");
|
||||
//
|
||||
// m.setEmployeeStatus(SalaryUserStatusEnum.getDefaultLabelByValue(m.getEmployeeStatus(), currentEmployeeId, currentTenantKey));
|
||||
// m.setAdjustReason(SalaryArchiveItemAdjustReasonEnum.getDefaultLabelByValue(m.getAdjustReason(), currentEmployeeId, currentTenantKey));
|
||||
// });
|
||||
// SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
// List<List<Object>> rows = new ArrayList<>();
|
||||
// for (SalaryItemAdjustRecordListDTO dto : list) {
|
||||
// List<Object> row = new ArrayList<>();
|
||||
// row.add(dto.getUsername());
|
||||
// row.add(dto.getEmployeeStatus());
|
||||
// row.add(dto.getDepartmentName());
|
||||
// row.add(dto.getAdjustItem());
|
||||
// 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);
|
||||
// }
|
||||
//
|
||||
// @BatchExportHandler("exportSalaryArchiveItemAdjustRecord")
|
||||
// public void exportSalaryArchiveItemAdjustRecordHandler() {
|
||||
// BatchCallbackMessage message = BatchExportContext.getBatchCallbackMessage();
|
||||
// log.info("接受到薪资项目操作记录导出的结果:{}", JSONObject.toJSONString(message));
|
||||
// }
|
||||
@Override
|
||||
public XSSFWorkbook exportAdjustRecordList(SalaryItemAdjustRecordQueryParam queryParam) {
|
||||
// 1.工作簿名称
|
||||
String sheetName = SalaryI18nUtil.getI18nLabel(85368, "薪资项目调整记录");
|
||||
// 获取所有可被引用的薪资项目
|
||||
List<SalaryItemPO> salaryItems = salaryItemMapper.getCanAdjustSalaryItems();
|
||||
String[] header = {
|
||||
SalaryI18nUtil.getI18nLabel( 85429, "姓名"),
|
||||
SalaryI18nUtil.getI18nLabel( 86187, "员工状态"),
|
||||
SalaryI18nUtil.getI18nLabel( 86185, "部门"),
|
||||
SalaryI18nUtil.getI18nLabel( 84960, "薪资项目"),
|
||||
SalaryI18nUtil.getI18nLabel( 85433, "调整前"),
|
||||
SalaryI18nUtil.getI18nLabel( 85434, "调整后"),
|
||||
SalaryI18nUtil.getI18nLabel( 85431, "调整原因"),
|
||||
SalaryI18nUtil.getI18nLabel( 85904, "生效日期"),
|
||||
SalaryI18nUtil.getI18nLabel( 85435, "操作人"),
|
||||
SalaryI18nUtil.getI18nLabel( 85436, "操作时间"),
|
||||
SalaryI18nUtil.getI18nLabel( 84961, "备注")
|
||||
};
|
||||
// 2.表头
|
||||
List<Object> headerList = new ArrayList<>(Arrays.asList(header));
|
||||
|
||||
// 3.表数据
|
||||
// 获取所有可被引用的薪资项目
|
||||
List<SalaryItemPO> salaryItemList = getCanAdjustSalaryItems();
|
||||
List<Long> salaryItemIds = salaryItemList.stream().map(SalaryItemPO::getId).collect(Collectors.toList());
|
||||
// 获取记录
|
||||
List<SalaryItemAdjustRecordListDTO> list = salaryArchiveItemMapper.salaryItemAdjustRecordList(queryParam, salaryItemIds);
|
||||
List<SalaryItemAdjustRecordListDTO> listAll = salaryArchiveItemMapper.salaryItemAdjustRecordList(SalaryItemAdjustRecordQueryParam.builder().build(), salaryItemIds);
|
||||
// 人员信息赋值
|
||||
list.forEach(m -> {
|
||||
if (!org.springframework.util.CollectionUtils.isEmpty(listAll)) {
|
||||
listAll.removeIf(a -> a.getId().equals(m.getId()));
|
||||
}
|
||||
Optional<SalaryItemAdjustRecordListDTO> optional = listAll.stream().filter(f -> f.getSalaryArchiveId().equals(m.getSalaryArchiveId()) && f.getSalaryItemId().equals(m.getSalaryItemId())).findFirst();
|
||||
m.setAdjustBefore(optional.isPresent() ? optional.get().getAdjustAfter() : "");
|
||||
|
||||
m.setEmployeeStatus(UserStatusEnum.getDefaultLabelByValue(Integer.parseInt(m.getEmployeeStatus())));
|
||||
m.setAdjustReason(SalaryArchiveItemAdjustReasonEnum.getDefaultLabelByValue(m.getAdjustReason()));
|
||||
});
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
List<List<Object>> rows = new ArrayList<>();
|
||||
for (SalaryItemAdjustRecordListDTO dto : list) {
|
||||
List<Object> row = new ArrayList<>();
|
||||
row.add(dto.getUsername());
|
||||
row.add(dto.getEmployeeStatus());
|
||||
row.add(dto.getDepartmentName());
|
||||
row.add(dto.getAdjustItem());
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,9 +14,12 @@ 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.page.PageInfo;
|
||||
import com.engine.salary.util.page.PageUtil;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
|
@ -43,11 +46,13 @@ public class SalaryArchiveTaxAgentServiceImpl extends Service implements SalaryA
|
|||
return salaryArchiveTaxAgentMapper.getById(salaryArchiveTaxAgentId);
|
||||
}
|
||||
|
||||
// @Override
|
||||
// public Page<TaxAgentAdjustRecordListDTO> taxAgentAdjustRecordListPage(Page<TaxAgentAdjustRecordListDTO> page, TaxAgentAdjustRecordQueryParam queryParam, String tenantKey) {
|
||||
// salaryArchiveTaxAgentMapper.taxAgentAdjustRecordList(page, queryParam, tenantKey);
|
||||
// return page;
|
||||
// }
|
||||
@Override
|
||||
public PageInfo<TaxAgentAdjustRecordListDTO> taxAgentAdjustRecordListPage(TaxAgentAdjustRecordQueryParam queryParam) {
|
||||
PageUtil.start(queryParam.getCurrent(), queryParam.getPageSize());
|
||||
List<TaxAgentAdjustRecordListDTO> taxAgentAdjustRecordListDTOS = salaryArchiveTaxAgentMapper.taxAgentAdjustRecordList(queryParam);
|
||||
PageInfo<TaxAgentAdjustRecordListDTO> pageInfo = new PageInfo<TaxAgentAdjustRecordListDTO>(taxAgentAdjustRecordListDTOS, TaxAgentAdjustRecordListDTO.class);
|
||||
return pageInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TaxAgentAdjustRecordListDTO> taxAgentAdjustRecordList(TaxAgentAdjustRecordQueryParam queryParam) {
|
||||
|
|
@ -189,11 +194,9 @@ public class SalaryArchiveTaxAgentServiceImpl extends Service implements SalaryA
|
|||
return StringUtils.EMPTY;
|
||||
}
|
||||
|
||||
// @Override
|
||||
// public void exportAdjustRecordList(Map<String, Object> map, String username, String eteamsId, TaxAgentAdjustRecordQueryParam queryParam, Long currentEmployeeId, String currentTenantKey) {
|
||||
// List<ExcelSheetData> sheetList = new ArrayList<>();
|
||||
//
|
||||
// ExcelSheetData excelSheetData = new ExcelSheetData();
|
||||
@Override
|
||||
public XSSFWorkbook exportAdjustRecordList(TaxAgentAdjustRecordQueryParam queryParam) {
|
||||
return null;
|
||||
// // 1.工作簿名称
|
||||
// String nameI18n = SalaryI18nUtil.getI18nLabel(currentTenantKey, currentEmployeeId, 99978, "个税扣缴义务人调整记录");
|
||||
// excelSheetData.setSheetName(nameI18n);
|
||||
|
|
@ -265,7 +268,7 @@ public class SalaryArchiveTaxAgentServiceImpl extends Service implements SalaryA
|
|||
// .handlerName(map.get("function").toString())
|
||||
// .dataType(nameI18n)
|
||||
// .function(map.get("function").toString()).build(), sheetList);
|
||||
// }
|
||||
}
|
||||
|
||||
@Override
|
||||
public SalaryArchiveTaxAgentPO getAdjustBeforeTaxAgent(SalaryArchiveTaxAgentPO salaryArchiveTaxAgent) {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,9 @@ import lombok.extern.slf4j.Slf4j;
|
|||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.math.NumberUtils;
|
||||
import org.apache.commons.lang3.time.FastDateFormat;
|
||||
import weaver.general.BaseBean;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.*;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
|
|
@ -32,6 +34,10 @@ public class SalaryDateUtil {
|
|||
public static final DateTimeFormatter MONTH_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM");
|
||||
public static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
public static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
|
||||
public static final String MONTH_FORMATTER_PATTERN = "yyyy-MM";
|
||||
public static final String DATE_FORMATTER_PATTERN = "yyyy-MM-dd";
|
||||
public static final String DATE_TIME_FORMATTER_PATTERN = "yyyy-MM-dd HH:mm:ss";
|
||||
/**
|
||||
* yyyy-MM
|
||||
**/
|
||||
|
|
@ -216,4 +222,16 @@ public class SalaryDateUtil {
|
|||
public static boolean checkDay(String day) {
|
||||
return Pattern.matches(DAY_REGEX, day) || Pattern.matches(DAY_BAR_REGEX, day);
|
||||
}
|
||||
|
||||
public static Date parse(String date, String pattern) {
|
||||
SimpleDateFormat format = new SimpleDateFormat(pattern);
|
||||
try {
|
||||
return format.parse(date);
|
||||
} catch (ParseException e) {
|
||||
new BaseBean().writeLog(String.format("日期解析异常: %s, %s", date, pattern));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
package com.engine.salary.web;
|
||||
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveFormDTO;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveItemFormDTO;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveTaxAgentFormDTO;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryItemAdjustRecordListDTO;
|
||||
import com.engine.salary.entity.salaryarchive.dto.*;
|
||||
import com.engine.salary.entity.salaryarchive.param.*;
|
||||
import com.engine.salary.enums.salaryarchive.SalaryArchiveImportTypeEnum;
|
||||
import com.engine.salary.util.ResponseResult;
|
||||
import com.engine.salary.util.SalaryDateUtil;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.engine.salary.wrapper.SalaryArchiveItemWrapper;
|
||||
import com.engine.salary.wrapper.SalaryArchiveTaxAgentWrapper;
|
||||
import com.engine.salary.wrapper.SalaryArchiveWrapper;
|
||||
import io.swagger.v3.oas.annotations.parameters.RequestBody;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import weaver.hrm.HrmUserVarify;
|
||||
import weaver.hrm.User;
|
||||
|
|
@ -27,7 +27,9 @@ import javax.ws.rs.core.Response;
|
|||
import javax.ws.rs.core.StreamingOutput;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLEncoder;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
|
@ -198,9 +200,9 @@ public class SalaryArchiveController {
|
|||
if (StringUtils.isNotBlank(ids)) {
|
||||
param.setIds(Arrays.stream(ids.split(",")).map(Long::valueOf).collect(Collectors.toList()));
|
||||
}
|
||||
String keyword = request.getParameter("username");
|
||||
if (StringUtils.isNotBlank(keyword)) {
|
||||
param.setUsername(keyword);
|
||||
String username = request.getParameter("username");
|
||||
if (StringUtils.isNotBlank(username)) {
|
||||
param.setUsername(username);
|
||||
}
|
||||
String taxAgentId = request.getParameter("taxAgentId");
|
||||
if (StringUtils.isNotBlank(taxAgentId)) {
|
||||
|
|
@ -372,11 +374,6 @@ public class SalaryArchiveController {
|
|||
* @param salaryArchiveTaxAgentId
|
||||
* @return
|
||||
*/
|
||||
/**
|
||||
* 保存个税扣缴义务人调整
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@POST
|
||||
@Path("/deleteTaxAgent")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
|
|
@ -401,86 +398,190 @@ public class SalaryArchiveController {
|
|||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String adjustRecordList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryItemAdjustRecordQueryParam queryParam) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<SalaryItemAdjustRecordQueryParam, List<SalaryItemAdjustRecordListDTO>>().run(getSalaryArchiveItemWrapper(user)::adjustRecordList, queryParam);
|
||||
return new ResponseResult<SalaryItemAdjustRecordQueryParam, PageInfo<SalaryItemAdjustRecordListDTO>>().run(getSalaryArchiveItemWrapper(user)::adjustRecordList, queryParam);
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 单个档案的薪资项目调整记录列表
|
||||
// *
|
||||
// * @param queryParam
|
||||
// * @return
|
||||
// */
|
||||
// @PostMapping("/adjustRecord/singleSalaryItemList")
|
||||
// @ApiOperation("单个档案的薪资项目调整记录列表")
|
||||
// @WeaPermission
|
||||
// public WeaResult<WeaTable<SingleSalaryItemAdjustRecordListDTO>> singleSalaryItemAdjustRecordList(@RequestBody SingleSalaryItemAdjustRecordQueryParam queryParam) {
|
||||
// return WeaResult.success(salaryArchiveItemWrapper.singleSalaryItemAdjustRecordList(queryParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 导出薪资项目调整记录列表
|
||||
// *
|
||||
// * @param queryParam
|
||||
// * @return
|
||||
// */
|
||||
// @PostMapping("/adjustRecord/exportSalaryItemList")
|
||||
// @ApiOperation("导出薪资项目调整记录列表")
|
||||
// @WeaPermission
|
||||
// public WeaResult<Map<String, Object>> exportSalaryItemList(@RequestBody SalaryItemAdjustRecordQueryParam queryParam) {
|
||||
// return WeaResult.success(salaryArchiveItemWrapper.exportAdjustRecordList(queryParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
|
||||
// }
|
||||
// /******** 薪资项目调整记录 end ***********************************************************************************************/
|
||||
//
|
||||
// /******** 个税扣缴义务人调整记录 start ***********************************************************************************************/
|
||||
// /**
|
||||
// * 个税扣缴义务人调整记录列表的高级搜索
|
||||
// *
|
||||
// * @return
|
||||
// */
|
||||
// @GetMapping("/adjustRecord/getTaxAgentSearchCondition")
|
||||
// @ApiOperation("个税扣缴义务人调整记录列表的高级搜索")
|
||||
// @WeaPermission
|
||||
// public WeaResult<WeaSearchCondition> getTaxAgentSearchCondition() {
|
||||
// return WeaResult.success(getSalaryArchiveTaxAgentWrapper(user).getAdjustRecordSearchCondition(UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 个税扣缴义务人调整记录列表
|
||||
// *
|
||||
// * @param queryParam
|
||||
// * @return
|
||||
// */
|
||||
// @PostMapping("/adjustRecord/taxAgentList")
|
||||
// @ApiOperation("个税扣缴义务人调整记录列表")
|
||||
// @WeaPermission
|
||||
// public WeaResult<WeaTable<TaxAgentAdjustRecordListDTO>> taxAgentList(@RequestBody TaxAgentAdjustRecordQueryParam queryParam) {
|
||||
// return WeaResult.success(getSalaryArchiveTaxAgentWrapper(user).adjustRecordList(queryParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 单个档案的个税扣缴义务人调整记录列表
|
||||
// *
|
||||
// * @param queryParam
|
||||
// * @return
|
||||
// */
|
||||
// @PostMapping("/adjustRecord/singleTaxAgentList")
|
||||
// @ApiOperation("单个档案的个税扣缴义务人调整记录列表")
|
||||
// @WeaPermission
|
||||
// public WeaResult<WeaTable<SingleTaxAgentAdjustRecordListDTO>> SingleTaxAgentAdjustRecordList(@RequestBody SingleTaxAgentAdjustRecordQueryParam queryParam) {
|
||||
// return WeaResult.success(getSalaryArchiveTaxAgentWrapper(user).singleTaxAgentAdjustRecordList(queryParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 导出个税扣缴义务人调整记录列表
|
||||
// *
|
||||
// * @param queryParam
|
||||
// * @return
|
||||
// */
|
||||
// @PostMapping("/adjustRecord/exportTaxAgentList")
|
||||
// @ApiOperation("导出个税扣缴义务人调整记录列表")
|
||||
// @WeaPermission
|
||||
// public WeaResult<Map<String, Object>> exportTaxAgentList(@RequestBody TaxAgentAdjustRecordQueryParam queryParam) {
|
||||
// return WeaResult.success(getSalaryArchiveTaxAgentWrapper(user).exportAdjustRecordList(queryParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
|
||||
// }
|
||||
// /******** 个税扣缴义务人调整记录 end ***********************************************************************************************/
|
||||
/**
|
||||
* 单个档案的薪资项目调整记录列表
|
||||
*
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
@POST
|
||||
@Path("/adjustRecord/singleSalaryItemList")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String singleSalaryItemAdjustRecordList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SingleSalaryItemAdjustRecordQueryParam queryParam) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<SingleSalaryItemAdjustRecordQueryParam, PageInfo<SingleSalaryItemAdjustRecordListDTO>>().run(getSalaryArchiveItemWrapper(user)::singleSalaryItemAdjustRecordList, queryParam);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出薪资项目调整记录列表
|
||||
*
|
||||
*/
|
||||
@GET
|
||||
@Path("/adjustRecord/exportSalaryItemList")
|
||||
@Produces(MediaType.APPLICATION_OCTET_STREAM)
|
||||
public Response exportSalaryItemList(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
|
||||
SalaryItemAdjustRecordQueryParam param = getSalaryItemAdjustRecordQueryParam(request);
|
||||
|
||||
XSSFWorkbook workbook = getSalaryArchiveItemWrapper(user).exportAdjustRecordList(param);
|
||||
|
||||
String time = LocalDate.now().toString();
|
||||
String fileName = "薪资项目调整记录" + time;
|
||||
|
||||
try {
|
||||
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
StreamingOutput output = outputStream -> {
|
||||
workbook.write(outputStream);
|
||||
outputStream.flush();
|
||||
};
|
||||
|
||||
response.setContentType("application/octet-stream");
|
||||
return Response.ok(output).header("Content-disposition", "attachment;filename=" + fileName).header("Cache-Control", "no-cache").build();
|
||||
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private SalaryItemAdjustRecordQueryParam getSalaryItemAdjustRecordQueryParam(HttpServletRequest request) {
|
||||
SalaryItemAdjustRecordQueryParam param = new SalaryItemAdjustRecordQueryParam();
|
||||
String ids = request.getParameter("ids");
|
||||
if (StringUtils.isNotBlank(ids)) {
|
||||
param.setIds(Arrays.stream(ids.split(",")).map(Long::valueOf).collect(Collectors.toList()));
|
||||
}
|
||||
String salaryArchiveId = request.getParameter("salaryArchiveId");
|
||||
if (StringUtils.isNotBlank(salaryArchiveId)) {
|
||||
param.setSalaryArchiveId(Long.parseLong(salaryArchiveId));
|
||||
}
|
||||
String keyword = request.getParameter("keyword");
|
||||
if (StringUtils.isNotBlank(keyword)) {
|
||||
param.setKeyword(keyword);
|
||||
}
|
||||
String username = request.getParameter("username");
|
||||
if (StringUtils.isNotBlank(username)) {
|
||||
param.setUsername(username);
|
||||
}
|
||||
String employeeId = request.getParameter("employeeId");
|
||||
if (StringUtils.isNotBlank(employeeId)) {
|
||||
param.setSalaryArchiveId(Long.parseLong(employeeId));
|
||||
}
|
||||
String departmentIds = request.getParameter("departmentIds");
|
||||
if (StringUtils.isNotBlank(departmentIds)) {
|
||||
param.setDepartmentIds(Arrays.stream(departmentIds.split(",")).map(Long::valueOf).collect(Collectors.toList()));
|
||||
}
|
||||
String positionIds = request.getParameter("positionIds");
|
||||
if (StringUtils.isNotBlank(positionIds)) {
|
||||
param.setPositionIds(Arrays.stream(positionIds.split(",")).map(Long::valueOf).collect(Collectors.toList()));
|
||||
}
|
||||
String userstatus = request.getParameter("userstatus");
|
||||
if (StringUtils.isNotBlank(userstatus)) {
|
||||
param.setUserstatus(userstatus);
|
||||
}
|
||||
String adjustItem = request.getParameter("adjustItem");
|
||||
if (StringUtils.isNotBlank(adjustItem)) {
|
||||
param.setAdjustItem(adjustItem);
|
||||
}
|
||||
String adjustReason = request.getParameter("adjustReason");
|
||||
if (StringUtils.isNotBlank(adjustReason)) {
|
||||
param.setAdjustReason(adjustReason);
|
||||
}
|
||||
|
||||
String effectiveTime = request.getParameter("effectiveTime");
|
||||
if (StringUtils.isNotBlank(effectiveTime)) {
|
||||
List<Date> collect = Arrays.stream(effectiveTime.split(",")).map(time -> SalaryDateUtil.parse(time, SalaryDateUtil.DATE_FORMATTER_PATTERN)).collect(Collectors.toList());
|
||||
param.setEffectiveTime(collect);
|
||||
}
|
||||
|
||||
String operateTime = request.getParameter("operateTime");
|
||||
if (StringUtils.isNotBlank(operateTime)) {
|
||||
List<Date> collect = Arrays.stream(operateTime.split(",")).map(time -> SalaryDateUtil.parse(time, SalaryDateUtil.DATE_FORMATTER_PATTERN)).collect(Collectors.toList());
|
||||
param.setOperateTime(collect);
|
||||
}
|
||||
|
||||
String operatorIds = request.getParameter("operatorIds");
|
||||
if (StringUtils.isNotBlank(operatorIds)) {
|
||||
param.setOperatorIds(Arrays.stream(operatorIds.split(",")).map(Long::valueOf).collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
String description = request.getParameter("description");
|
||||
if (StringUtils.isNotBlank(description)) {
|
||||
param.setUserstatus(description);
|
||||
}
|
||||
return param;
|
||||
}
|
||||
|
||||
/******** 薪资项目调整记录 end ***********************************************************************************************/
|
||||
|
||||
/******** 个税扣缴义务人调整记录 start ***********************************************************************************************/
|
||||
|
||||
/**
|
||||
* 个税扣缴义务人调整记录列表
|
||||
*
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
@POST
|
||||
@Path("/adjustRecord/taxAgentList")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String taxAgentList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody TaxAgentAdjustRecordQueryParam queryParam) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<TaxAgentAdjustRecordQueryParam, PageInfo<TaxAgentAdjustRecordListDTO>>().run(getSalaryArchiveTaxAgentWrapper(user)::adjustRecordList, queryParam);
|
||||
}
|
||||
|
||||
/**
|
||||
* 单个档案的个税扣缴义务人调整记录列表
|
||||
*
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
@POST
|
||||
@Path("/adjustRecord/singleTaxAgentList")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String SingleTaxAgentAdjustRecordList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SingleTaxAgentAdjustRecordQueryParam queryParam) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<SingleTaxAgentAdjustRecordQueryParam, PageInfo<SingleTaxAgentAdjustRecordListDTO>>().run(getSalaryArchiveTaxAgentWrapper(user)::singleTaxAgentAdjustRecordList, queryParam);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出个税扣缴义务人调整记录列表
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@GET
|
||||
@Path("/adjustRecord/exportTaxAgentList")
|
||||
@Produces(MediaType.APPLICATION_OCTET_STREAM)
|
||||
public Response exportTaxAgentList(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
|
||||
TaxAgentAdjustRecordQueryParam param =new TaxAgentAdjustRecordQueryParam();
|
||||
|
||||
XSSFWorkbook workbook = getSalaryArchiveTaxAgentWrapper(user).exportAdjustRecordList(param);
|
||||
|
||||
String time = LocalDate.now().toString();
|
||||
String fileName = "个税扣缴义务人调整记录" + time;
|
||||
|
||||
try {
|
||||
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
StreamingOutput output = outputStream -> {
|
||||
workbook.write(outputStream);
|
||||
outputStream.flush();
|
||||
};
|
||||
|
||||
response.setContentType("application/octet-stream");
|
||||
return Response.ok(output).header("Content-disposition", "attachment;filename=" + fileName).header("Cache-Control", "no-cache").build();
|
||||
|
||||
}
|
||||
/******** 个税扣缴义务人调整记录 end ***********************************************************************************************/
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,9 +4,11 @@ import com.engine.common.util.ServiceUtil;
|
|||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveItemFormDTO;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryItemAdjustRecordListDTO;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SingleSalaryItemAdjustRecordListDTO;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveItemSaveParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryItemAdjustBeforeParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryItemAdjustRecordQueryParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.SingleSalaryItemAdjustRecordQueryParam;
|
||||
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO;
|
||||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
import com.engine.salary.enums.SalaryUserStatusEnum;
|
||||
|
|
@ -15,7 +17,11 @@ import com.engine.salary.exception.SalaryRunTimeException;
|
|||
import com.engine.salary.service.SalaryArchiveItemService;
|
||||
import com.engine.salary.service.impl.SalaryArchiveItemServiceImpl;
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import weaver.hrm.User;
|
||||
|
||||
|
|
@ -37,7 +43,7 @@ public class SalaryArchiveItemWrapper extends Service {
|
|||
private SalaryArchiveItemService getSalaryArchiveItemService(User user) {
|
||||
return (SalaryArchiveItemService) ServiceUtil.getService(SalaryArchiveItemServiceImpl.class, user);
|
||||
}
|
||||
|
||||
|
||||
private ExecutorService taskExecutor;
|
||||
|
||||
|
||||
|
|
@ -168,15 +174,16 @@ public class SalaryArchiveItemWrapper extends Service {
|
|||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
public List<SalaryItemAdjustRecordListDTO> adjustRecordList(SalaryItemAdjustRecordQueryParam queryParam) {
|
||||
public PageInfo<SalaryItemAdjustRecordListDTO> adjustRecordList(SalaryItemAdjustRecordQueryParam queryParam) {
|
||||
// 获取所有可被引用的薪资项目
|
||||
List<SalaryItemPO> salaryItemList = getSalaryArchiveItemService(user).getCanAdjustSalaryItems();
|
||||
List<Long> salaryItemIds = salaryItemList.stream().map(SalaryItemPO::getId).collect(Collectors.toList());
|
||||
|
||||
List<SalaryItemAdjustRecordListDTO> listAll = getSalaryArchiveItemService(user).salaryItemAdjustRecordList(SalaryItemAdjustRecordQueryParam.builder().build(), salaryItemIds);
|
||||
List<SalaryItemAdjustRecordListDTO> list = getSalaryArchiveItemService(user).salaryItemAdjustRecordList(queryParam, salaryItemIds);
|
||||
PageInfo<SalaryItemAdjustRecordListDTO> list = getSalaryArchiveItemService(user).salaryItemAdjustRecordListPage(queryParam, salaryItemIds);
|
||||
List<SalaryItemAdjustRecordListDTO> listResult = list.getList();
|
||||
//获取上次更改的记录
|
||||
list.forEach(m -> {
|
||||
listResult.forEach(m -> {
|
||||
if (!org.springframework.util.CollectionUtils.isEmpty(listAll)) {
|
||||
listAll.removeIf(a -> a.getId().equals(m.getId()));
|
||||
}
|
||||
|
|
@ -196,87 +203,71 @@ public class SalaryArchiveItemWrapper extends Service {
|
|||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
// public WeaTable<SingleSalaryItemAdjustRecordListDTO> singleSalaryItemAdjustRecordList(SingleSalaryItemAdjustRecordQueryParam queryParam) {
|
||||
// if (queryParam.getSalaryArchiveId() == null) {
|
||||
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100425, "薪资档案id不能为空"));
|
||||
// }
|
||||
// // 获取所有可被引用的薪资项目
|
||||
// List<SalaryItemPO> salaryItemList = getSalaryArchiveItemService(user).getCanAdjustSalaryItems();
|
||||
// List<Long> salaryItemIds = salaryItemList.stream().map(SalaryItemPO::getId).collect(Collectors.toList());
|
||||
//
|
||||
// SalaryItemAdjustRecordQueryParam adjustRecordQueryParam = new SalaryItemAdjustRecordQueryParam();
|
||||
// BeanUtils.copyProperties(queryParam, adjustRecordQueryParam);
|
||||
// PageInfo<SalaryItemAdjustRecordListDTO> page = getSalaryArchiveItemService(user).salaryItemAdjustRecordListPage(adjustRecordQueryParam, salaryItemIds);
|
||||
//
|
||||
// PageInfo<SingleSalaryItemAdjustRecordListDTO> listPage = new PageInfo<SingleSalaryItemAdjustRecordListDTO>();
|
||||
//
|
||||
// List<SalaryItemAdjustRecordListDTO> listAll = getSalaryArchiveItemService(user).salaryItemAdjustRecordList(SalaryItemAdjustRecordQueryParam.builder().build(), salaryItemIds);
|
||||
// List<SalaryItemAdjustRecordListDTO> list = page.getList();
|
||||
// List<SingleSalaryItemAdjustRecordListDTO> resultList = Lists.newArrayList();
|
||||
// list.forEach(m -> {
|
||||
// if (!org.springframework.util.CollectionUtils.isEmpty(listAll)) {
|
||||
// listAll.removeIf(a -> a.getId().equals(m.getId()));
|
||||
// }
|
||||
// Optional<SalaryItemAdjustRecordListDTO> optional = listAll.stream().filter(f -> f.getSalaryArchiveId().equals(m.getSalaryArchiveId()) && f.getSalaryItemId().equals(m.getSalaryItemId())).findFirst();
|
||||
// m.setAdjustBefore(optional.isPresent() ? optional.get().getAdjustAfter() : "");
|
||||
//
|
||||
// m.setAdjustReason(SalaryArchiveItemAdjustReasonEnum.getDefaultLabelByValue(m.getAdjustReason()));
|
||||
//
|
||||
// SingleSalaryItemAdjustRecordListDTO singleSalaryItemAdjustRecordList = new SingleSalaryItemAdjustRecordListDTO();
|
||||
// BeanUtils.copyProperties(m, singleSalaryItemAdjustRecordList);
|
||||
// resultList.add(singleSalaryItemAdjustRecordList);
|
||||
// });
|
||||
// listPage.setList(resultList);
|
||||
//
|
||||
// WeaTable<SingleSalaryItemAdjustRecordListDTO> weaTable = FormatManager.<SingleSalaryItemAdjustRecordListDTO>getInstance()
|
||||
// .genTable(SingleSalaryItemAdjustRecordListDTO.class, listPage);
|
||||
// weaTable.setModule("hrmsalary");
|
||||
// List<Long> salaryItemPageIds = listPage.getList().stream().map(SingleSalaryItemAdjustRecordListDTO::getSalaryItemId).collect(Collectors.toList());
|
||||
// List<SalaryArchiveItemPO> effectiveSalaryItems = getSalaryArchiveItemService(user).getEffectiveSalaryItems(queryParam.getSalaryArchiveId(), salaryItemPageIds);
|
||||
// // 行记录按钮权限控制
|
||||
// for (int i = 0; i < listPage.getList().size(); i++) {
|
||||
// SingleSalaryItemAdjustRecordListDTO singleSalaryItemAdjustRecord = (SingleSalaryItemAdjustRecordListDTO)listPage.getList().get(i);
|
||||
// Optional<SalaryArchiveItemPO> optional = effectiveSalaryItems.stream().filter(f -> f.getSalaryItemId().equals(singleSalaryItemAdjustRecord.getSalaryItemId())).findFirst();
|
||||
// Date effectiveDate = optional.map(SalaryArchiveItemPO::getEffectiveTime).orElse(null);
|
||||
// List<Permission> permissions = weaTable.getOperatesPermission().get(i);
|
||||
// for (int j = 0; j < permissions.size(); j++) {
|
||||
// Permission permission = permissions.get(j);
|
||||
// if (effectiveDate != null && singleSalaryItemAdjustRecord.getEffectiveTime().isBefore(effectiveDate)) {
|
||||
// permission.setVisible(false);
|
||||
// permission.setDisabled(true);
|
||||
// }
|
||||
// if (j > 0 && singleSalaryItemAdjustRecord.getEffectiveTime().equals(effectiveDate)) {
|
||||
// permission.setVisible(false);
|
||||
// permission.setDisabled(false);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// return weaTable;
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 导出薪资项目调整记录列表
|
||||
// *
|
||||
// * @param queryParam
|
||||
// * @param employeeId
|
||||
// * @param tenantKey
|
||||
// * @return
|
||||
// */
|
||||
// public Map<String, Object> exportAdjustRecordList(SalaryItemAdjustRecordQueryParam queryParam, Long employeeId, String tenantKey) {
|
||||
// // 构建异步导出参数
|
||||
// Map<String, Object> map = salaryBatchService.buildeExportParam("exportSalaryArchiveItemAdjustRecord");
|
||||
//
|
||||
// String username = UserContext.getCurrentUser().getUsername();
|
||||
// String eteamsId = TenantRpcContext.getEteamsId();
|
||||
// taskExecutor.execute(() -> {
|
||||
// try {
|
||||
// DSTenantKeyThreadVar.tenantKey.set(tenantKey);
|
||||
//
|
||||
// getSalaryArchiveItemService(user).exportAdjustRecordList(map, username, eteamsId, queryParam, employeeId, tenantKey);
|
||||
// } finally {
|
||||
// DSTenantKeyThreadVar.tenantKey.remove();
|
||||
// }
|
||||
// });
|
||||
// return map;
|
||||
// }
|
||||
public PageInfo<SingleSalaryItemAdjustRecordListDTO> singleSalaryItemAdjustRecordList(SingleSalaryItemAdjustRecordQueryParam queryParam) {
|
||||
if (queryParam.getSalaryArchiveId() == null) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100425, "薪资档案id不能为空"));
|
||||
}
|
||||
// 获取所有可被引用的薪资项目
|
||||
List<SalaryItemPO> salaryItemList = getSalaryArchiveItemService(user).getCanAdjustSalaryItems();
|
||||
List<Long> salaryItemIds = salaryItemList.stream().map(SalaryItemPO::getId).collect(Collectors.toList());
|
||||
|
||||
SalaryItemAdjustRecordQueryParam adjustRecordQueryParam = new SalaryItemAdjustRecordQueryParam();
|
||||
BeanUtils.copyProperties(queryParam, adjustRecordQueryParam);
|
||||
|
||||
//所有调整记录
|
||||
List<SalaryItemAdjustRecordListDTO> listAll = getSalaryArchiveItemService(user).salaryItemAdjustRecordList(SalaryItemAdjustRecordQueryParam.builder().build(), salaryItemIds);
|
||||
|
||||
//操作记录
|
||||
//根据条件分页查询调整记录
|
||||
PageInfo<SalaryItemAdjustRecordListDTO> adjustlistByParamPage = getSalaryArchiveItemService(user).salaryItemAdjustRecordListPage(adjustRecordQueryParam, salaryItemIds);
|
||||
List<SalaryItemAdjustRecordListDTO> adjustPageList = adjustlistByParamPage.getList();
|
||||
List<SingleSalaryItemAdjustRecordListDTO> resultList = Lists.newArrayList();
|
||||
adjustPageList.forEach(m -> {
|
||||
if (CollectionUtils.isNotEmpty(listAll)) {
|
||||
listAll.removeIf(a -> a.getId().equals(m.getId()));
|
||||
}
|
||||
Optional<SalaryItemAdjustRecordListDTO> optional = listAll.stream().filter(f -> f.getSalaryArchiveId().equals(m.getSalaryArchiveId()) && f.getSalaryItemId().equals(m.getSalaryItemId())).findFirst();
|
||||
m.setAdjustBefore(optional.isPresent() ? optional.get().getAdjustAfter() : "");
|
||||
|
||||
m.setAdjustReason(SalaryArchiveItemAdjustReasonEnum.getDefaultLabelByValue(m.getAdjustReason()));
|
||||
|
||||
SingleSalaryItemAdjustRecordListDTO singleSalaryItemAdjustRecordList = new SingleSalaryItemAdjustRecordListDTO();
|
||||
BeanUtils.copyProperties(m, singleSalaryItemAdjustRecordList);
|
||||
resultList.add(singleSalaryItemAdjustRecordList);
|
||||
});
|
||||
|
||||
List<Long> salaryItemPageIds = resultList.stream().map(SingleSalaryItemAdjustRecordListDTO::getSalaryItemId).collect(Collectors.toList());
|
||||
List<SalaryArchiveItemPO> effectiveSalaryItems = getSalaryArchiveItemService(user).getEffectiveSalaryItems(queryParam.getSalaryArchiveId(), salaryItemPageIds);
|
||||
// 行记录按钮权限控制
|
||||
for (int i = 0; i < resultList.size(); i++) {
|
||||
SingleSalaryItemAdjustRecordListDTO singleSalaryItemAdjustRecord = resultList.get(i);
|
||||
Optional<SalaryArchiveItemPO> optional = effectiveSalaryItems.stream().filter(f -> f.getSalaryItemId().equals(singleSalaryItemAdjustRecord.getSalaryItemId())).findFirst();
|
||||
Date effectiveDate = optional.map(SalaryArchiveItemPO::getEffectiveTime).orElse(null);
|
||||
|
||||
if (effectiveDate != null && singleSalaryItemAdjustRecord.getEffectiveTime().before(effectiveDate)) {
|
||||
singleSalaryItemAdjustRecord.setCanOperator(Boolean.FALSE);
|
||||
} else {
|
||||
singleSalaryItemAdjustRecord.setCanOperator(Boolean.TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
PageInfo<SingleSalaryItemAdjustRecordListDTO> listPage = new PageInfo<SingleSalaryItemAdjustRecordListDTO>(resultList, SingleSalaryItemAdjustRecordListDTO.class);
|
||||
listPage.setTotal(adjustlistByParamPage.getTotal());
|
||||
listPage.setPageNum(adjustlistByParamPage.getPageNum());
|
||||
listPage.setPageSize(adjustlistByParamPage.getPageSize());
|
||||
|
||||
|
||||
return listPage;
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出薪资项目调整记录列表
|
||||
*
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
public XSSFWorkbook exportAdjustRecordList(SalaryItemAdjustRecordQueryParam queryParam) {
|
||||
return getSalaryArchiveItemService(user).exportAdjustRecordList(queryParam);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,14 +7,23 @@ import com.api.browser.util.ConditionFactory;
|
|||
import com.api.browser.util.ConditionType;
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveTaxAgentFormDTO;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SingleTaxAgentAdjustRecordListDTO;
|
||||
import com.engine.salary.entity.salaryarchive.dto.TaxAgentAdjustRecordListDTO;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveTaxAgentSaveParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.SingleTaxAgentAdjustRecordQueryParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.TaxAgentAdjustRecordQueryParam;
|
||||
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.service.SalaryArchiveTaxAgentService;
|
||||
import com.engine.salary.service.TaxAgentService;
|
||||
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 java.util.*;
|
||||
|
||||
|
|
@ -192,121 +201,97 @@ public class SalaryArchiveTaxAgentWrapper extends Service {
|
|||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
// public Map<String,Object> adjustRecordList(TaxAgentAdjustRecordQueryParam queryParam) {
|
||||
// Page<TaxAgentAdjustRecordListDTO> page = new Page<>(queryParam.getCurrent(), queryParam.getPageSize(), true);
|
||||
// page = salaryArchiveTaxAgentService.taxAgentAdjustRecordListPage(page, queryParam, tenantKey);
|
||||
//
|
||||
// Page<TaxAgentAdjustRecordListDTO> listPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal(), page.isSearchCount());
|
||||
// // 个税扣缴义务人
|
||||
// Collection<TaxAgentListDTO> taxAgentList = taxAgentService.findAll(tenantKey);
|
||||
// List<TaxAgentAdjustRecordListDTO> listAll = salaryArchiveTaxAgentService.taxAgentAdjustRecordList(TaxAgentAdjustRecordQueryParam.builder().build());
|
||||
// List<TaxAgentAdjustRecordListDTO> list = page.getRecords();
|
||||
// list.stream().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()));
|
||||
//
|
||||
// m.setAdjustReason(SalaryArchiveTaxAgentAdjustReasonEnum.getDefaultLabelByValue(m.getAdjustReason()));
|
||||
// });
|
||||
// listPage.setRecords(list);
|
||||
// WeaTable<TaxAgentAdjustRecordListDTO> weaTable = FormatManager.<TaxAgentAdjustRecordListDTO>getInstance()
|
||||
// .genTable(TaxAgentAdjustRecordListDTO.class, listPage);
|
||||
// weaTable.setModule("hrmsalary");
|
||||
// return weaTable;
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 单个档案的个税扣缴义务人调整记录列表
|
||||
// *
|
||||
// * @param queryParam
|
||||
// * @param employeeId
|
||||
// * @param tenantKey
|
||||
// * @return
|
||||
// */
|
||||
// public WeaTable<SingleTaxAgentAdjustRecordListDTO> singleTaxAgentAdjustRecordList(SingleTaxAgentAdjustRecordQueryParam queryParam) {
|
||||
// if (queryParam.getSalaryArchiveId() == null) {
|
||||
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100425, "薪资档案id不能为空"));
|
||||
// }
|
||||
//
|
||||
// Page<TaxAgentAdjustRecordListDTO> page = new Page<>(queryParam.getCurrent(), queryParam.getPageSize(), true);
|
||||
// TaxAgentAdjustRecordQueryParam adjustRecordQueryParam = new TaxAgentAdjustRecordQueryParam();
|
||||
// BeanUtils.copyProperties(queryParam, adjustRecordQueryParam);
|
||||
// page = salaryArchiveTaxAgentService.taxAgentAdjustRecordListPage(page, adjustRecordQueryParam, tenantKey);
|
||||
//
|
||||
// Page<SingleTaxAgentAdjustRecordListDTO> listPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal(), page.isSearchCount());
|
||||
// // 个税扣缴义务人
|
||||
// Collection<TaxAgentListDTO> taxAgentList = taxAgentService.findAll(tenantKey);
|
||||
// List<TaxAgentAdjustRecordListDTO> listAll = salaryArchiveTaxAgentService.taxAgentAdjustRecordList(TaxAgentAdjustRecordQueryParam.builder().build(), tenantKey);
|
||||
// List<TaxAgentAdjustRecordListDTO> list = page.getRecords();
|
||||
// List<SingleTaxAgentAdjustRecordListDTO> resultList = Lists.newArrayList();
|
||||
// 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.setAdjustReason(SalaryArchiveTaxAgentAdjustReasonEnum.getDefaultLabelByValue(m.getAdjustReason()));
|
||||
//
|
||||
//
|
||||
// SingleTaxAgentAdjustRecordListDTO singleTaxAgentAdjustRecordList = new SingleTaxAgentAdjustRecordListDTO();
|
||||
// BeanUtils.copyProperties(m, singleTaxAgentAdjustRecordList);
|
||||
// resultList.add(singleTaxAgentAdjustRecordList);
|
||||
// });
|
||||
// listPage.setRecords(resultList);
|
||||
// WeaTable<SingleTaxAgentAdjustRecordListDTO> weaTable = FormatManager.<SingleTaxAgentAdjustRecordListDTO>getInstance()
|
||||
// .genTable(SingleTaxAgentAdjustRecordListDTO.class, listPage);
|
||||
// weaTable.setModule("hrmsalary");
|
||||
// // 获取当前已生效
|
||||
// SalaryArchiveTaxAgentPO salaryArchiveTaxAgent = salaryArchiveTaxAgentService.getEffectiveTaxAgent(queryParam.getSalaryArchiveId(), tenantKey);
|
||||
// LocalDate effectiveDate = (salaryArchiveTaxAgent == null ? null : salaryArchiveTaxAgent.getEffectiveTime());
|
||||
//
|
||||
// // 行记录按钮权限控制
|
||||
// for (int i = 0; i < listPage.getRecords().size(); i++) {
|
||||
// SingleTaxAgentAdjustRecordListDTO singleTaxAgentAdjustRecord = listPage.getRecords().get(i);
|
||||
// List<Permission> permissions = weaTable.getOperatesPermission().get(i);
|
||||
// for (int j = 0; j < permissions.size(); j++) {
|
||||
// Permission permission = permissions.get(j);
|
||||
// if (effectiveDate != null && singleTaxAgentAdjustRecord.getEffectiveTime().isBefore(effectiveDate)) {
|
||||
// permission.setVisible(false);
|
||||
// permission.setDisabled(true);
|
||||
// }
|
||||
// if (j > 0 && singleTaxAgentAdjustRecord.getEffectiveTime().equals(effectiveDate)) {
|
||||
// permission.setVisible(false);
|
||||
// permission.setDisabled(false);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// // 在外展示操作按钮
|
||||
// weaTable.getOperates().get(0).setOuter(Boolean.TRUE);
|
||||
// return weaTable;
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 导出个税扣缴义务人调整记录列表
|
||||
// *
|
||||
// * @param queryParam
|
||||
// * @return
|
||||
// */
|
||||
// public Map<String, Object> exportAdjustRecordList(TaxAgentAdjustRecordQueryParam queryParam) {
|
||||
// // 构建异步导出参数
|
||||
// Map<String, Object> map = salaryBatchService.buildeExportParam("exportSalaryArchiveTaxAgentAdjustRecord");
|
||||
//
|
||||
// String username = UserContext.getCurrentUser().getUsername();
|
||||
// String eteamsId = TenantRpcContext.getEteamsId();
|
||||
// salaryArchiveTaxAgentService.exportAdjustRecordList(map, username, eteamsId, queryParam);
|
||||
// return map;
|
||||
// }
|
||||
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);
|
||||
List<TaxAgentAdjustRecordListDTO> list = page.getList();
|
||||
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()));
|
||||
});
|
||||
|
||||
return page;
|
||||
}
|
||||
|
||||
/**
|
||||
* 单个档案的个税扣缴义务人调整记录列表
|
||||
*
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
public PageInfo<SingleTaxAgentAdjustRecordListDTO> singleTaxAgentAdjustRecordList(SingleTaxAgentAdjustRecordQueryParam queryParam) {
|
||||
if (queryParam.getSalaryArchiveId() == null) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100425, "薪资档案id不能为空"));
|
||||
}
|
||||
|
||||
TaxAgentAdjustRecordQueryParam adjustRecordQueryParam = new TaxAgentAdjustRecordQueryParam();
|
||||
BeanUtils.copyProperties(queryParam, adjustRecordQueryParam);
|
||||
PageInfo<TaxAgentAdjustRecordListDTO> page = salaryArchiveTaxAgentService.taxAgentAdjustRecordListPage(adjustRecordQueryParam);
|
||||
|
||||
// 个税扣缴义务人
|
||||
Collection<TaxAgent> taxAgentList = taxAgentService.findAll();
|
||||
List<TaxAgentAdjustRecordListDTO> listAll = salaryArchiveTaxAgentService.taxAgentAdjustRecordList(TaxAgentAdjustRecordQueryParam.builder().build());
|
||||
List<TaxAgentAdjustRecordListDTO> list = page.getList();
|
||||
List<SingleTaxAgentAdjustRecordListDTO> resultList = Lists.newArrayList();
|
||||
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.setAdjustReason(SalaryArchiveTaxAgentAdjustReasonEnum.getDefaultLabelByValue(m.getAdjustReason()));
|
||||
|
||||
SingleTaxAgentAdjustRecordListDTO singleTaxAgentAdjustRecordList = new SingleTaxAgentAdjustRecordListDTO();
|
||||
BeanUtils.copyProperties(m, singleTaxAgentAdjustRecordList);
|
||||
resultList.add(singleTaxAgentAdjustRecordList);
|
||||
});
|
||||
// 获取当前已生效
|
||||
SalaryArchiveTaxAgentPO salaryArchiveTaxAgent = salaryArchiveTaxAgentService.getEffectiveTaxAgent(queryParam.getSalaryArchiveId());
|
||||
Date effectiveDate = (salaryArchiveTaxAgent == null ? null : salaryArchiveTaxAgent.getEffectiveTime());
|
||||
|
||||
// 行记录按钮权限控制
|
||||
for (int i = 0; i < resultList.size(); i++) {
|
||||
SingleTaxAgentAdjustRecordListDTO singleTaxAgentAdjustRecord = resultList.get(i);
|
||||
if (effectiveDate != null && singleTaxAgentAdjustRecord.getEffectiveTime().before(effectiveDate)) {
|
||||
singleTaxAgentAdjustRecord.setCanOperator(Boolean.FALSE);
|
||||
} else {
|
||||
singleTaxAgentAdjustRecord.setCanOperator(Boolean.TRUE);
|
||||
}
|
||||
}
|
||||
PageInfo<SingleTaxAgentAdjustRecordListDTO> listPage = new PageInfo<SingleTaxAgentAdjustRecordListDTO>(resultList, SingleTaxAgentAdjustRecordListDTO.class);
|
||||
listPage.setTotal(page.getTotal());
|
||||
listPage.setPageNum(page.getPageNum());
|
||||
listPage.setPageSize(page.getPageSize());
|
||||
|
||||
return listPage;
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出个税扣缴义务人调整记录列表
|
||||
*
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
public XSSFWorkbook exportAdjustRecordList(TaxAgentAdjustRecordQueryParam queryParam) {
|
||||
return salaryArchiveTaxAgentService.exportAdjustRecordList(queryParam);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue