//package com.engine.salary.wrapper; // //import com.cloudstore.eccom.pc.table.WeaTable; //import com.engine.core.impl.Service; //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; //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; // ///** // * 薪资核算记录 // *

Copyright: Copyright (c) 2022

// *

Company: 泛微软件

// * // * @author qiantao // * @version 1.0 // **/ //public class SalaryAcctRecordWrapper extends Service { // // private SalaryAcctRecordService salaryAcctRecordService; // private SalarySobService salarySobService; // private SalaryAcctEmployeeService salaryAcctEmployeeService; //// private ComInfoCache comInfoCache; // // public WeaTable listPage(SalaryAcctRecordQueryParam queryParam) { // // 查询薪资核算记录(分页) // Page page = salaryAcctRecordService.listPageByParam(queryParam); // Page dtoPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal(), page.isSearchCount()); // if (CollectionUtils.isNotEmpty(page.getRecords())) { // // 查询薪资账套 // Set salarySobIds = SalaryEntityUtil.properties(page.getRecords(), SalaryAcctRecordPO::getSalarySobId); // List salarySobPOS = salarySobService.listByIds(salarySobIds, tenantKey); // // 查询薪资核算记录的创建人员的人员信息 // List employeeIds = SalaryEntityUtil.properties(page.getRecords(), SalaryAcctRecordPO::getCreator, Collectors.toList()); // List employeeComInfos = comInfoCache.getCacheList(HrmEmployeeComInfo.class, employeeIds); // // 查询薪资核算人数的数量 // Set salaryAcctRecordIds = SalaryEntityUtil.properties(page.getRecords(), SalaryAcctRecordPO::getId); // List salaryAcctEmployeeCountDTOS = salaryAcctEmployeeService.countBySalaryAcctRecordId(salaryAcctRecordIds, tenantKey); // // 转换成列表dto // List salaryAcctRecordListDTOS = SalaryAcctRecordBO.convert2ListDTO(page.getRecords(), salarySobPOS, employeeComInfos, salaryAcctEmployeeCountDTOS); // dtoPage.setRecords(salaryAcctRecordListDTOS); // } // WeaTable weaTable = SalaryFormatUtil.getInstance().buildTable(SalaryAcctRecordListDTO.class, dtoPage); // // 只有未归档时可以"核算"、"删除"、"归档" // // 归档后、申报后可以"查看"、"重新核算" // for (int i = 0; i < page.getRecords().size(); i++) { // SalaryAcctRecordPO salaryAcctRecord = page.getRecords().get(i); // List 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 salarySobPOS = salarySobService.listByDisable(NumberUtils.INTEGER_ZERO, tenantKey); // // 薪资核算详情表单中"薪资账套"的下拉选择项 // List 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.getInstance().buildForm(SalaryAcctRecordFormDTO.class, formDTO); // weaForm.getItems().forEach((k, v) -> { // if (Objects.equals(k, "salarySobName")) { // v.setOptions(weaFormOptions); // } // // 薪资核算详情表单的薪资所属月只选择年月 // if (Objects.equals(k, "salaryMonth")) { // Map 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 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); // } //}