weaver-hrm-salary/src/com/engine/salary/wrapper/SalaryAcctRecordWrapper.java

203 lines
9.6 KiB
Java
Raw Normal View History

2022-04-06 20:01:00 +08:00
//package com.engine.salary.wrapper;
//
2022-04-07 09:50:30 +08:00
//import com.cloudstore.eccom.pc.table.WeaTable;
2022-04-06 20:01:00 +08:00
//import com.engine.core.impl.Service;
2022-04-07 09:50:30 +08:00
//import com.engine.salary.entity.salaryacct.dto.SalaryAcctRecordListDTO;
//import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordQueryParam;
//import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
//import com.engine.salary.service.SalaryAcctEmployeeService;
//import com.engine.salary.service.SalaryAcctRecordService;
//import com.engine.salary.service.SalarySobService;
2022-04-06 20:01:00 +08:00
//import com.weaver.common.component.form.WeaForm;
//import com.weaver.common.component.form.item.WeaFormOption;
//import com.weaver.common.component.table.page.Page;
//import com.weaver.common.component.table.permission.Permission;
//import com.weaver.common.hrm.cache.HrmEmployeeComInfo;
//import com.weaver.hrm.salary.entity.salaryacct.bo.SalaryAcctRecordBO;
//import com.weaver.hrm.salary.entity.salaryacct.dto.SalaryAcctEmployeeCountDTO;
//import com.weaver.hrm.salary.entity.salaryacct.dto.SalaryAcctRecordFormDTO;
//import com.weaver.hrm.salary.entity.salaryacct.param.SalaryAcctRecordSaveParam;
//import com.weaver.hrm.salary.entity.salarysob.dto.SalarySobCycleDTO;
//import com.weaver.hrm.salary.entity.salarysob.po.SalarySobPO;
//import com.weaver.hrm.salary.enums.salaryaccounting.SalaryAcctRecordStatusEnum;
//import com.weaver.hrm.salary.exception.SalaryRunTimeException;
//import com.weaver.hrm.salary.util.SalaryDateUtil;
//import com.weaver.hrm.salary.util.SalaryEntityUtil;
//import com.weaver.hrm.salary.util.SalaryFormatUtil;
//import com.weaver.hrm.salary.util.SalaryI18nUtil;
//import org.apache.commons.collections4.CollectionUtils;
//import org.apache.commons.lang3.math.NumberUtils;
//
//import java.util.*;
//import java.util.stream.Collectors;
//
///**
// * 薪资核算记录
// * <p>Copyright: Copyright (c) 2022</p>
// * <p>Company: 泛微软件</p>
// *
// * @author qiantao
// * @version 1.0
// **/
//public class SalaryAcctRecordWrapper extends Service {
//
// private SalaryAcctRecordService salaryAcctRecordService;
// private SalarySobService salarySobService;
// private SalaryAcctEmployeeService salaryAcctEmployeeService;
2022-04-07 09:50:30 +08:00
//// private ComInfoCache comInfoCache;
2022-04-06 20:01:00 +08:00
//
2022-04-07 09:50:30 +08:00
// public WeaTable<SalaryAcctRecordListDTO> listPage(SalaryAcctRecordQueryParam queryParam) {
2022-04-06 20:01:00 +08:00
// // 查询薪资核算记录(分页)
2022-04-07 09:50:30 +08:00
// Page<SalaryAcctRecordPO> page = salaryAcctRecordService.listPageByParam(queryParam);
2022-04-06 20:01:00 +08:00
// Page<SalaryAcctRecordListDTO> dtoPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal(), page.isSearchCount());
// if (CollectionUtils.isNotEmpty(page.getRecords())) {
// // 查询薪资账套
// Set<Long> salarySobIds = SalaryEntityUtil.properties(page.getRecords(), SalaryAcctRecordPO::getSalarySobId);
// List<SalarySobPO> salarySobPOS = salarySobService.listByIds(salarySobIds, tenantKey);
// // 查询薪资核算记录的创建人员的人员信息
// List<Object> employeeIds = SalaryEntityUtil.properties(page.getRecords(), SalaryAcctRecordPO::getCreator, Collectors.toList());
// List<HrmEmployeeComInfo> employeeComInfos = comInfoCache.getCacheList(HrmEmployeeComInfo.class, employeeIds);
// // 查询薪资核算人数的数量
// Set<Long> salaryAcctRecordIds = SalaryEntityUtil.properties(page.getRecords(), SalaryAcctRecordPO::getId);
// List<SalaryAcctEmployeeCountDTO> salaryAcctEmployeeCountDTOS = salaryAcctEmployeeService.countBySalaryAcctRecordId(salaryAcctRecordIds, tenantKey);
// // 转换成列表dto
// List<SalaryAcctRecordListDTO> salaryAcctRecordListDTOS = SalaryAcctRecordBO.convert2ListDTO(page.getRecords(), salarySobPOS, employeeComInfos, salaryAcctEmployeeCountDTOS);
// dtoPage.setRecords(salaryAcctRecordListDTOS);
// }
// WeaTable<SalaryAcctRecordListDTO> weaTable = SalaryFormatUtil.<SalaryAcctRecordListDTO>getInstance().buildTable(SalaryAcctRecordListDTO.class, dtoPage);
// // 只有未归档时可以"核算"、"删除"、"归档"
// // 归档后、申报后可以"查看"、"重新核算"
// for (int i = 0; i < page.getRecords().size(); i++) {
// SalaryAcctRecordPO salaryAcctRecord = page.getRecords().get(i);
// List<Permission> permissions = weaTable.getOperatesPermission().get(i);
// for (int j = 0; j < permissions.size(); j++) {
// Permission permission = permissions.get(j);
// if ((j == 0 || j == 1 || j == 3) && !Objects.equals(salaryAcctRecord.getStatus(), SalaryAcctRecordStatusEnum.NOT_ARCHIVED.getValue())) {
// permission.setVisible(false);
// permission.setDisabled(false);
// }
// if ((j == 2 || j == 5) && Objects.equals(salaryAcctRecord.getStatus(), SalaryAcctRecordStatusEnum.NOT_ARCHIVED.getValue())) {
// permission.setVisible(false);
// permission.setDisabled(false);
// }
// }
// }
// return weaTable;
// }
//
// /**
// * 薪资核算记录详情
// *
// * @param id 薪资核算记录id
// * @param tenantKey 租户key
// * @return
// */
// public WeaForm getForm(Long id, String tenantKey) {
// SalaryAcctRecordFormDTO formDTO = new SalaryAcctRecordFormDTO();
// // 查询所有启用的薪资账套
// List<SalarySobPO> salarySobPOS = salarySobService.listByDisable(NumberUtils.INTEGER_ZERO, tenantKey);
// // 薪资核算详情表单中"薪资账套"的下拉选择项
// List<WeaFormOption> weaFormOptions = CollectionUtils.emptyIfNull(salarySobPOS).stream()
// .map(salarySobPO -> new WeaFormOption("" + salarySobPO.getId(), salarySobPO.getName()))
// .collect(Collectors.toList());
// if (Objects.nonNull(id)) {
// // 查询薪资核算
// SalaryAcctRecordPO salaryAcctRecordPO = salaryAcctRecordService.getById(id, tenantKey);
// if (Objects.isNull(salaryAcctRecordPO)) {
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98747, "薪资核算记录不存在或已被删除"));
// }
// // 查询薪资账套
// SalarySobPO salarySobPO = salarySobService.getById(salaryAcctRecordPO.getSalarySobId(), tenantKey);
// if (Objects.isNull(salarySobPO)) {
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98769, "薪资账套不存在或已被删除"));
// }
// // 转换成薪资核算记录详情dto
// formDTO.setId(salaryAcctRecordPO.getId())
// .setSalarySobId(salarySobPO.getId())
// .setSalarySobName(salarySobPO.getName())
// .setSalaryMonth(SalaryDateUtil.localDate2YearMonth(salaryAcctRecordPO.getSalaryMonth()).toString())
// .setDescription(salaryAcctRecordPO.getDescription());
// }
// // 转换成前端所需的数据格式
// WeaForm weaForm = SalaryFormatUtil.<SalaryAcctRecordFormDTO>getInstance().buildForm(SalaryAcctRecordFormDTO.class, formDTO);
// weaForm.getItems().forEach((k, v) -> {
// if (Objects.equals(k, "salarySobName")) {
// v.setOptions(weaFormOptions);
// }
// // 薪资核算详情表单的薪资所属月只选择年月
// if (Objects.equals(k, "salaryMonth")) {
// Map<String, Object> otherParams = new HashMap<>();
// otherParams.put("type", "month");
// v.setOtherParams(otherParams);
// }
// });
// return weaForm;
// }
//
// /**
// * 薪资核算记录所用的薪资账套薪资周期、考勤周期……
// *
// * @param id 薪资核算记录的id
// * @param tenantKey 租户key
// * @return
// */
// public SalarySobCycleDTO getSalarySobCycleById(Long id, String tenantKey) {
// return salaryAcctRecordService.getSalarySobCycleById(id, tenantKey);
// }
//
// /**
// * 保存
// *
// * @param saveParam 保存参数
// * @param employeeId 人员id
// * @param tenantKey 租户key
// * @return
// */
// public Long save(SalaryAcctRecordSaveParam saveParam, Long employeeId, String tenantKey) {
// return salaryAcctRecordService.save(saveParam, employeeId, tenantKey);
// }
//
// /**
// * 删除
// *
// * @param ids 薪资核算记录的id
// * @param tenantKey 租户key
// */
// public void delete(Collection<Long> ids, String tenantKey) {
// salaryAcctRecordService.deleteByIds(ids, tenantKey);
// }
//
// /**
// * 归档
// *
// * @param id 薪资核算记录的id
// * @param employeeId 人员id
// * @param tenantKey 租户key
// */
// public void file(Long id, Long employeeId, String tenantKey) {
// salaryAcctRecordService.file(id, employeeId, tenantKey);
// }
//
// /**
// * 重新归档
// *
// * @param id 薪资核算记录的id
// * @param employeeId 人员id
// * @param tenantKey 租户key
// */
// public void reCalculate(Long id, Long employeeId, String tenantKey) {
// salaryAcctRecordService.reCalculate(id, employeeId, tenantKey);
// }
//
// /**
// * 判断是否存在合并计税
// *
// * @param id 主键id
// * @param tenantKey 租户key
// * @return
// */
// public Integer hasConsolidatedTax(Long id, String tenantKey) {
// return salaryAcctRecordService.hasConsolidatedTax(id, tenantKey);
// }
//}