工资单详情 - 显示列定制
This commit is contained in:
parent
95ba4aee36
commit
78cdadbb99
|
|
@ -68,6 +68,10 @@ public class SalarySendDetailQueryParam extends BaseQueryParam {
|
|||
// @JsonIgnore
|
||||
private List<Integer> sendStatuss;
|
||||
|
||||
|
||||
// 导出时显示列定制信息
|
||||
List<String> columns;
|
||||
|
||||
public static String checkParam(SalarySendDetailQueryParam saveParam) {
|
||||
if (saveParam.getSalarySendId() == null) {
|
||||
throw new SalaryRunTimeException("工资单发放Id必传");
|
||||
|
|
|
|||
|
|
@ -56,6 +56,7 @@ import com.engine.salary.mapper.salaryacct.SalaryAcctRecordMapper;
|
|||
import com.engine.salary.mapper.salaryacct.SalaryAcctResultMapper;
|
||||
import com.engine.salary.mapper.salarybill.SalarySendInfoMapper;
|
||||
import com.engine.salary.mapper.salarybill.SalarySendMapper;
|
||||
import com.engine.salary.report.common.constant.SalaryConstant;
|
||||
import com.engine.salary.service.*;
|
||||
import com.engine.salary.sys.entity.vo.OrderRuleVO;
|
||||
import com.engine.salary.sys.service.SalarySysConfService;
|
||||
|
|
@ -1570,13 +1571,25 @@ public class SalarySendServiceImpl extends Service implements SalarySendService
|
|||
// 1.工作簿名称
|
||||
String sheetName = SalaryI18nUtil.getI18nLabel(97036, "工资单发放详情");
|
||||
List<Object> header = new ArrayList<>();
|
||||
// 员工信息字段
|
||||
header.add(SalaryI18nUtil.getI18nLabel(85429, "姓名"));
|
||||
header.add(SalaryI18nUtil.getI18nLabel(86185, "部门"));
|
||||
header.add(SalaryI18nUtil.getI18nLabel(86186, "手机号"));
|
||||
header.add(SalaryI18nUtil.getI18nLabel(86317, "工号"));
|
||||
Map<String, SalaryTemplateSalaryItemListDTO> salaryItemMap = SalaryEntityUtil.convert2Map(salaryItems, dto -> dto.getSalaryItemId() + SalaryConstant.DYNAMIC_SUFFIX);
|
||||
List<SalaryTemplateSalaryItemListDTO> sortedSalaryItems = new ArrayList<>();
|
||||
for(String column : queryParam.getColumns()) {
|
||||
if (column.contains(SalaryConstant.DYNAMIC_SUFFIX)) {
|
||||
SalaryTemplateSalaryItemListDTO salaryTemplateSalaryItemListDTO = salaryItemMap.get(column);
|
||||
if (salaryTemplateSalaryItemListDTO != null) {
|
||||
sortedSalaryItems.add(salaryTemplateSalaryItemListDTO);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 动态列
|
||||
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(salaryItems)) {
|
||||
for (SalaryTemplateSalaryItemListDTO salaryItem : salaryItems) {
|
||||
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(sortedSalaryItems)) {
|
||||
for (SalaryTemplateSalaryItemListDTO salaryItem : sortedSalaryItems) {
|
||||
header.add(salaryItem.getName());
|
||||
}
|
||||
}
|
||||
|
|
@ -1595,7 +1608,7 @@ public class SalarySendServiceImpl extends Service implements SalarySendService
|
|||
|
||||
// 动态列
|
||||
Map<String, Object> mapColumn = listMaps.get(0);
|
||||
for (SalaryTemplateSalaryItemListDTO salaryItem : salaryItems) {
|
||||
for (SalaryTemplateSalaryItemListDTO salaryItem : sortedSalaryItems) {
|
||||
if (mapColumn.containsKey(salaryItem.getId() + SalaryItemConstant.DYNAMIC_SUFFIX)) {
|
||||
row.add(dto.get(salaryItem.getId() + SalaryItemConstant.DYNAMIC_SUFFIX));
|
||||
}
|
||||
|
|
@ -1706,7 +1719,7 @@ public class SalarySendServiceImpl extends Service implements SalarySendService
|
|||
.filter(NumberUtils::isCreatable)
|
||||
.map(BigDecimal::new)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
map.put(item.getId().toString(), SalaryAcctFormulaBO.roundResultValue(sum.toString(), item, Collections.emptyList(), Collections.emptyMap(), salaryItemIdKeySalarySobItemPOMap));
|
||||
map.put(item.getId() + SalaryItemConstant.DYNAMIC_SUFFIX, SalaryAcctFormulaBO.roundResultValue(sum.toString(), item, Collections.emptyList(), Collections.emptyMap(), salaryItemIdKeySalarySobItemPOMap));
|
||||
});
|
||||
return map;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -531,21 +531,21 @@ public class SalaryBillController {
|
|||
*
|
||||
* @return
|
||||
*/
|
||||
@GET
|
||||
@POST
|
||||
@Path("/send/exportDetailList")
|
||||
@Produces(MediaType.APPLICATION_OCTET_STREAM)
|
||||
public Response exportDetailList(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
public Response exportDetailList(@Context HttpServletRequest request, @Context HttpServletResponse response,@RequestBody SalarySendDetailQueryParam queryParam) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
|
||||
SalarySendDetailQueryParam queryParam = new SalarySendDetailQueryParam();
|
||||
String salarySendId = request.getParameter("salarySendId");
|
||||
String ids = request.getParameter("ids");
|
||||
if (StringUtils.isNotBlank(ids)) {
|
||||
queryParam.setIds(Arrays.asList(ids.split(",")).stream().map(Long::new).collect(Collectors.toList()));
|
||||
}
|
||||
if (StringUtils.isNotBlank(salarySendId)) {
|
||||
queryParam.setSalarySendId(Long.parseLong(salarySendId));
|
||||
}
|
||||
// SalarySendDetailQueryParam queryParam = new SalarySendDetailQueryParam();
|
||||
// String salarySendId = request.getParameter("salarySendId");
|
||||
// String ids = request.getParameter("ids");
|
||||
// if (StringUtils.isNotBlank(ids)) {
|
||||
// queryParam.setIds(Arrays.asList(ids.split(",")).stream().map(Long::new).collect(Collectors.toList()));
|
||||
// }
|
||||
// if (StringUtils.isNotBlank(salarySendId)) {
|
||||
// queryParam.setSalarySendId(Long.parseLong(salarySendId));
|
||||
// }
|
||||
XSSFWorkbook workbook = getSalarySendWrapper(user).exportDetailList(queryParam);
|
||||
|
||||
String fileName = "工资单发放详情列表" + LocalDate.now();
|
||||
|
|
|
|||
|
|
@ -562,6 +562,7 @@ public class SalarySendWrapper extends Service implements SalarySendWrapperProxy
|
|||
checkboxpopedom.setPopedompara("column:system_type");
|
||||
checkboxpopedom.setShowmethod("com.engine.salary.transmethod.TaxRateTransMethod.getCheckBoxPopedom");
|
||||
checkboxpopedomList.add(checkboxpopedom);
|
||||
table.setPageUID(queryParam.getSalarySendId().toString());
|
||||
table.setCheckboxList(checkboxpopedomList);
|
||||
table.setCheckboxpopedom(null);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue