package com.engine.salary.report.wrapper;
import com.alibaba.fastjson.JSON;
import com.cloudstore.eccom.pc.table.WeaTableColumn;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum;
import com.engine.salary.report.entity.dto.SalaryStatisticsItemFormDTO;
import com.engine.salary.report.entity.param.SalaryStatisticsItemSaveParam;
import com.engine.salary.report.entity.po.SalaryStatisticsItemPO;
import com.engine.salary.report.enums.SalaryStatisticsItemStringRuleEnum;
import com.engine.salary.report.enums.UnitTypeEnum;
import com.engine.salary.report.service.SalaryStatisticsItemService;
import com.engine.salary.report.service.impl.SalaryStatisticsItemServiceImpl;
import com.engine.salary.service.SalaryItemService;
import com.engine.salary.service.impl.SalaryItemServiceImpl;
import com.engine.salary.util.SalaryAssert;
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryI18nUtil;
import org.apache.commons.lang3.StringUtils;
import weaver.hrm.User;
import java.util.*;
import java.util.stream.Collectors;
/**
* 薪酬报表统计项目
*
Copyright: Copyright (c) 2022
* Company: 泛微软件
*
* @author qiantao
* @version 1.0
**/
public class SalaryStatisticsItemWrapper extends Service {
private SalaryStatisticsItemService getSalaryStatisticsItemService(User user) {
return ServiceUtil.getService(SalaryStatisticsItemServiceImpl.class, user);
}
private SalaryItemService getSalaryItemService(User user) {
return ServiceUtil.getService(SalaryItemServiceImpl.class, user);
}
/**
* 获取自定义统计项目表单
*
* @param id
* @return
*/
public SalaryStatisticsItemFormDTO getForm(Long id) {
Map weaForm = new HashMap<>();
Map ruleData = new HashMap<>();
if (Objects.nonNull(id)) {
SalaryStatisticsItemPO salaryStatisticsItem = getSalaryStatisticsItemService(user).getById(id);
SalaryAssert.notNull(salaryStatisticsItem, SalaryI18nUtil.getI18nLabel(152591, "统计项目不存在"));
String itemValue = salaryStatisticsItem.getItemValue();
if (StringUtils.isNotBlank(itemValue)) {
List salaryItems = getSalaryItemService(user).listAll();
Map itemsMap = SalaryEntityUtil.convert2Map(salaryItems, k -> k.getId().toString());
List