This commit is contained in:
parent
8326f3ae6f
commit
f95d8a7d0d
|
|
@ -1,11 +1,16 @@
|
|||
package com.engine.salary.entity.salaryarchive.bo;
|
||||
|
||||
import com.cloudstore.eccom.constant.WeaBoolAttr;
|
||||
import com.cloudstore.eccom.pc.table.WeaTableColumn;
|
||||
import com.engine.salary.common.LocalDateRange;
|
||||
import com.engine.salary.constant.SalaryItemConstant;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveDataDTO;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveItemDataDTO;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveTaxAgentDataDTO;
|
||||
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO;
|
||||
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveTaxAgentPO;
|
||||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
|
|
@ -43,56 +48,33 @@ public class SalaryArchiveBO {
|
|||
|
||||
/**
|
||||
* 构建表格动态列
|
||||
* @param weaTable
|
||||
*
|
||||
* @param salaryItems
|
||||
* @param employeeId
|
||||
* @param tenantKey
|
||||
* @param size
|
||||
*/
|
||||
// public static void buildSalaryArchiveTable(WeaTable<LinkedHashMap> weaTable, List<SalaryItemPO> salaryItems, Long employeeId, String tenantKey, int size) {
|
||||
// // 表格表头
|
||||
// List<WeaTableColumn> columns = new ArrayList<>();
|
||||
// columns.add(new WeaTableColumn(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 85429, "姓名"), "username", "100"));
|
||||
// columns.add(new WeaTableColumn(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 86184, "个税扣缴义务人"), "taxAgentName", "100"));
|
||||
// columns.add(new WeaTableColumn(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 86185, "部门"), "departmentName", "100"));
|
||||
// columns.add(new WeaTableColumn(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 86186, "手机号"), "mobile", "100"));
|
||||
// columns.add(new WeaTableColumn(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 86187, "员工状态"), "employeeStatus", "100"));
|
||||
// for (SalaryItemPO salaryItem : salaryItems) {
|
||||
// columns.add(new WeaTableColumn(salaryItem.getName(), salaryItem.getId() + SalaryItemConstant.DYNAMIC_SUFFIX, "150"));
|
||||
// }
|
||||
// weaTable.setColumns(columns);
|
||||
//
|
||||
// List<WeaTableOperate> operates = weaTable.getOperates();
|
||||
// operates.add(new WeaTableOperate(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 90821, "查看"), 0));
|
||||
//
|
||||
// weaTable.setOperatesPermission(getDefaultOperatesPermission(operates.size(), size));
|
||||
// weaTable.setCheckBoxPermission(getDefaultCheckBoxPermission(size));
|
||||
//
|
||||
// weaTable.setTableType(WeaTableTypeEnum.CHECKBOX);
|
||||
// }
|
||||
//
|
||||
// private static List<List<Permission>> getDefaultOperatesPermission(int operateSize, int recordSize) {
|
||||
// List<List<Permission>> permissionList = Lists.newArrayList();
|
||||
// for (int i=0; i<recordSize; i++) {
|
||||
// List<Permission> permissions = Lists.newArrayList();
|
||||
// for (int j=0; j<operateSize; j++) {
|
||||
// permissions.add(new Permission(true, false));
|
||||
// }
|
||||
// permissionList.add(permissions);
|
||||
// }
|
||||
// return permissionList;
|
||||
// }
|
||||
|
||||
// private static List<Permission> getDefaultCheckBoxPermission(int recordSize) {
|
||||
// List<Permission> permissionList = Lists.newArrayList();
|
||||
// for (int i=0; i<recordSize; i++) {
|
||||
// permissionList.add(new Permission(true, false));
|
||||
// }
|
||||
// return permissionList;
|
||||
// }
|
||||
public static List<WeaTableColumn> buildSalaryArchiveTable(List<SalaryItemPO> salaryItems) {
|
||||
// 表格表头
|
||||
List<WeaTableColumn> columns = new ArrayList<>();
|
||||
WeaTableColumn idColumn = new WeaTableColumn("100px", "id", "id");
|
||||
idColumn.setIsPrimarykey(WeaBoolAttr.TRUE);
|
||||
idColumn.setDisplay(WeaBoolAttr.FALSE);
|
||||
columns.add(idColumn);
|
||||
WeaTableColumn employeeIdColumn = new WeaTableColumn("100px", "人员信息表的主键id", "employeeId");
|
||||
employeeIdColumn.setDisplay(WeaBoolAttr.FALSE);
|
||||
columns.add(employeeIdColumn);
|
||||
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(85429, "姓名"), "username"));
|
||||
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86184, "个税扣缴义务人"), "taxAgentName"));
|
||||
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86185, "部门"), "departmentName"));
|
||||
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86186, "手机号"), "mobile"));
|
||||
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86187, "员工状态"), "employeeStatus"));
|
||||
for (SalaryItemPO salaryItem : salaryItems) {
|
||||
columns.add(new WeaTableColumn("100px", salaryItem.getName(), salaryItem.getId() + SalaryItemConstant.DYNAMIC_SUFFIX));
|
||||
}
|
||||
return columns;
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建薪资档案数据
|
||||
*
|
||||
* @param salaryArchiveTaxAgentList
|
||||
* @param salaryArchiveItemDataList
|
||||
* @param localDateRange
|
||||
|
|
@ -111,11 +93,11 @@ public class SalaryArchiveBO {
|
|||
Date end = localDateRange.getEndDate();
|
||||
|
||||
List<SalaryArchiveDataDTO> list = new ArrayList<>();
|
||||
allEmployeeIds.forEach(e->{
|
||||
allEmployeeIds.forEach(e -> {
|
||||
// 同一个人的个税扣缴义务人调整历史数据
|
||||
List<SalaryArchiveTaxAgentPO> salaryArchiveTaxAgents = salaryArchiveTaxAgentList.stream().filter(f->f.getEmployeeId().equals(e)).collect(Collectors.toList());
|
||||
List<SalaryArchiveTaxAgentPO> salaryArchiveTaxAgents = salaryArchiveTaxAgentList.stream().filter(f -> f.getEmployeeId().equals(e)).collect(Collectors.toList());
|
||||
// 同一个人的薪资项目调整历史数据
|
||||
List<SalaryArchiveItemPO> salaryArchiveItems = salaryArchiveItemDataList.stream().filter(d->d.getEmployeeId().equals(e)).collect(Collectors.toList());
|
||||
List<SalaryArchiveItemPO> salaryArchiveItems = salaryArchiveItemDataList.stream().filter(d -> d.getEmployeeId().equals(e)).collect(Collectors.toList());
|
||||
List<Long> salaryArchiveItemIds = salaryArchiveItems.stream().map(SalaryArchiveItemPO::getSalaryItemId).distinct().collect(Collectors.toList());
|
||||
|
||||
SalaryArchiveDataDTO salaryArchiveData = new SalaryArchiveDataDTO();
|
||||
|
|
@ -130,7 +112,7 @@ public class SalaryArchiveBO {
|
|||
}
|
||||
SalaryArchiveTaxAgentDataDTO taxAgent = new SalaryArchiveTaxAgentDataDTO();
|
||||
taxAgent.setTaxAgentId(salaryArchiveTaxAgent.getTaxAgentId());
|
||||
taxAgent.setEffectiveDateRange(LocalDateRange.builder().fromDate((fromDate.before(start)?start:fromDate)).endDate(endTemp).build());
|
||||
taxAgent.setEffectiveDateRange(LocalDateRange.builder().fromDate((fromDate.before(start) ? start : fromDate)).endDate(endTemp).build());
|
||||
|
||||
// 薪资项目数据按个税扣缴义务人切割
|
||||
if (!isOnlyTaxAgent) {
|
||||
|
|
@ -151,7 +133,7 @@ public class SalaryArchiveBO {
|
|||
continue;
|
||||
}
|
||||
SalaryArchiveItemDataDTO salaryArchiveItemData = new SalaryArchiveItemDataDTO();
|
||||
salaryArchiveItemData.setEffectiveDateRange(LocalDateRange.builder().fromDate((fromDateItem.before(startItem)?startItem:fromDateItem)).endDate(endTempItem).build());
|
||||
salaryArchiveItemData.setEffectiveDateRange(LocalDateRange.builder().fromDate((fromDateItem.before(startItem) ? startItem : fromDateItem)).endDate(endTempItem).build());
|
||||
salaryArchiveItemData.setSalaryItemId(salaryArchiveItem.getSalaryItemId());
|
||||
salaryArchiveItemData.setValue(salaryArchiveItem.getItemValue());
|
||||
salaryItemValues.add(salaryArchiveItemData);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,8 @@
|
|||
package com.engine.salary.enums;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @Author weaver_cl
|
||||
* @Description: TODO
|
||||
|
|
@ -14,16 +17,16 @@ package com.engine.salary.enums;
|
|||
* retired
|
||||
* invalid
|
||||
**/
|
||||
public enum UserStatus {
|
||||
public enum UserStatus {
|
||||
|
||||
TRIAL(0,"试用"),
|
||||
FORMAL(1,"正式"),
|
||||
TEMPORARY(2,"临时"),
|
||||
DELAY(3,"试用延期"),
|
||||
FIRE(4,"解雇"),
|
||||
DEPARTURE(5,"离职"),
|
||||
RETIRED(6,"退休"),
|
||||
INVALID(7,"无效");
|
||||
TRIAL(0, "试用"),
|
||||
FORMAL(1, "正式"),
|
||||
TEMPORARY(2, "临时"),
|
||||
DELAY(3, "试用延期"),
|
||||
FIRE(4, "解雇"),
|
||||
DEPARTURE(5, "离职"),
|
||||
RETIRED(6, "退休"),
|
||||
INVALID(7, "无效");
|
||||
|
||||
private Integer value;
|
||||
private String description;
|
||||
|
|
@ -41,4 +44,9 @@ public enum UserStatus {
|
|||
public Integer getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public static String getDefaultLabelByValue(Integer value) {
|
||||
Optional<UserStatus> optional = Arrays.stream(UserStatus.values()).filter(r -> r.getValue().equals(value)).findFirst();
|
||||
return optional.isPresent() ? optional.get().description : "";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -891,19 +891,19 @@
|
|||
<if test="param.salaryItemIds != null and param.salaryItemIds.size()>0">
|
||||
AND t.salary_item_id IN
|
||||
<foreach collection="param.salaryItemIds" open="(" item="salaryItemId" separator="," close=")">
|
||||
#{param.salaryItemId}
|
||||
#{salaryItemId}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="param.salaryArchivesIds != null and param.salaryArchivesIds.size()>0">
|
||||
AND t.salary_archive_id IN
|
||||
<foreach collection="param.salaryArchivesIds" open="(" item="salaryArchiveId" separator="," close=")">
|
||||
#{param.salaryArchiveId}
|
||||
#{salaryArchiveId}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="param.employeeIds != null and param.employeeIds.size()>0">
|
||||
AND t.employee_id IN
|
||||
<foreach collection="param.ids" open="(" item="employeeId" separator="," close=")">
|
||||
#{param.employeeId}
|
||||
<foreach collection="param.employeeIds" open="(" item="employeeId" separator="," close=")">
|
||||
#{employeeId}
|
||||
</foreach>
|
||||
</if>
|
||||
ORDER BY t.effective_time DESC
|
||||
|
|
@ -921,7 +921,7 @@
|
|||
<if test="param.salaryItemIds != null and param.salaryItemIds.size()>0">
|
||||
AND t.salary_item_id IN
|
||||
<foreach collection="param.salaryItemIds" open="(" item="salaryItemId" separator="," close=")">
|
||||
#{param.salaryItemId}
|
||||
#{salaryItemId}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="param.salaryArchiveId != null">
|
||||
|
|
@ -945,7 +945,7 @@
|
|||
<if test="param.salaryItemIds != null and param.salaryItemIds.size()>0">
|
||||
AND t.salary_item_id IN
|
||||
<foreach collection="param.salaryItemIds" open="(" item="salaryItemId" separator="," close=")">
|
||||
#{param.salaryItemId}
|
||||
#{salaryItemId}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="param.salaryArchiveId != null">
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import com.engine.salary.entity.salaryarchive.po.SalaryArchivePO;
|
|||
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveTaxAgentPO;
|
||||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
import com.engine.salary.entity.taxrate.TaxAgent;
|
||||
import com.engine.salary.enums.SalaryUserStatusEnum;
|
||||
import com.engine.salary.enums.UserStatus;
|
||||
import com.engine.salary.enums.salaryarchive.SalaryArchiveImportTypeEnum;
|
||||
import com.engine.salary.enums.salaryarchive.SalaryArchiveItemAdjustReasonEnum;
|
||||
import com.engine.salary.enums.salaryarchive.SalaryArchiveTaxAgentAdjustReasonEnum;
|
||||
|
|
@ -155,7 +155,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
// 3.组装数据
|
||||
List<Map<String, Object>> listMaps = new ArrayList<>();
|
||||
salaryArchives.forEach(e -> {
|
||||
e.setEmployeeStatus(SalaryUserStatusEnum.getDefaultLabelByValue(e.getEmployeeStatus()));
|
||||
e.setEmployeeStatus(UserStatus.getDefaultLabelByValue(Integer.parseInt(e.getEmployeeStatus())));
|
||||
|
||||
Map<String, Object> map = new LinkedHashMap<>();
|
||||
map.put("id", e.getId());
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveItemFormDTO;
|
|||
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.page.PageInfo;
|
||||
import com.engine.salary.wrapper.SalaryArchiveItemWrapper;
|
||||
import com.engine.salary.wrapper.SalaryArchiveWrapper;
|
||||
import io.swagger.v3.oas.annotations.parameters.RequestBody;
|
||||
|
|
@ -65,7 +64,7 @@ public class SalaryArchiveController {
|
|||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String list(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryArchiveQueryParam queryParam) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<SalaryArchiveQueryParam, PageInfo<Map<String, Object>>>().run(getSalaryArchiveWrapper(user)::list, queryParam);
|
||||
return new ResponseResult<SalaryArchiveQueryParam, Map<String,Object>>().run(getSalaryArchiveWrapper(user)::list, queryParam);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
package com.engine.salary.wrapper;
|
||||
|
||||
import com.cloudstore.eccom.pc.table.WeaTableColumn;
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.biz.EmployBiz;
|
||||
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
|
||||
import com.engine.salary.entity.salaryarchive.bo.SalaryArchiveBO;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveBaseInfoFormDTO;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveFormDTO;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveListDTO;
|
||||
|
|
@ -69,14 +71,18 @@ public class SalaryArchiveWrapper extends Service {
|
|||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
public PageInfo<Map<String, Object>> list(SalaryArchiveQueryParam queryParam) {
|
||||
public Map<String,Object> list(SalaryArchiveQueryParam queryParam) {
|
||||
|
||||
//薪资档案列表
|
||||
PageInfo<SalaryArchiveListDTO> pageInfo = getSalaryArchiveService(user).listPage(queryParam);
|
||||
Collection<SalaryArchiveListDTO> salaryArchives = pageInfo.getList();
|
||||
|
||||
//所有个税扣缴义务人
|
||||
Collection<TaxAgent> taxAgentLists = getTaxAgentService(user).findAll();
|
||||
|
||||
PageInfo<SalaryArchiveListDTO> pageInfo = getSalaryArchiveService(user).listPage(queryParam);
|
||||
|
||||
Collection<SalaryArchiveListDTO> salaryArchives = pageInfo.getList();
|
||||
// 获取所有可被引用的薪资项目
|
||||
List<SalaryItemPO> salaryItems = getSalaryArchiveItemService(user).getCanAdjustSalaryItems();
|
||||
|
||||
List<Map<String, Object>> listMaps = getSalaryArchiveService(user).buildSalaryArchiveData(salaryArchives, taxAgentLists, salaryItems, Boolean.TRUE);
|
||||
|
||||
PageInfo<Map<String, Object>> pageInfos = new PageInfo<Map<String, Object>>(listMaps);
|
||||
|
|
@ -84,7 +90,14 @@ public class SalaryArchiveWrapper extends Service {
|
|||
pageInfos.setPageNum(queryParam.getCurrent());
|
||||
pageInfos.setPageSize(queryParam.getPageSize());
|
||||
|
||||
return pageInfos;
|
||||
Map<String,Object> datas = new HashMap<>();
|
||||
//动态列组装
|
||||
List<WeaTableColumn> weaTableColumns = SalaryArchiveBO.buildSalaryArchiveTable(salaryItems);
|
||||
|
||||
datas.put("pageInfo",pageInfos);
|
||||
datas.put("columns",weaTableColumns);
|
||||
|
||||
return datas;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in New Issue