package com.engine.salary.wrapper;

import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.service.SICategoryService;
import com.engine.salary.service.impl.SICategoryServiceImpl;
import weaver.hrm.User;

/**
 * 福利类型service和controller转换层，用于组装前端数据
 * <p>Copyright: Copyright (c) 2022</p>
 * <p>Company: 泛微软件</p>
 *
 * @author qiantao
 * @version 1.0
 **/
public class SICategoryWrapper extends Service {


    public SICategoryService getSICategoryService(User user) {
        return ServiceUtil.getService(SICategoryServiceImpl.class, user);
    }

//    /**
//     * 新建福利类型  转view
//     * <p>
//     * 1、表中的五险一金和企业年金为系统预置数据
//     * 2、新建需要检查同类型福利下面是否存在同样的名称，重复不给新建
//     *
//     * @param param      请求报文
//     * @param employeeId 操作员id
//     * @param tenantKey  租户key
//     */
//    public WeaResult<String> insert(InsuranceCategoryFormDTO param, Long employeeId, String tenantKey) {
//        siCategoryService.insert(param, employeeId, tenantKey);
//        return WeaResult.success("");
//    }

//    /**
//     * 查询自定义福利列表
//     *
//     * @param welfareType 福利类型,用于页面右上角的筛选功能，不传则查询全部
//     * @return 分页列表
//     * @see WelfareTypeEnum
//     */
//    public PageInfo<ICategoryListDTO> listPage(WelfareTypeEnum welfareType) {
//        PageInfo<ICategoryListDTO> insuranceCategoryListDTOPage = getSICategoryService(user).listPage(welfareType);
//        WeaTable<InsuranceCategoryListDTO> insuranceCategoryListDTOWeaTable = FormatManager.<InsuranceCategoryListDTO>getInstance()
//            .genTable(InsuranceCategoryListDTO.class, insuranceCategoryListDTOPage);
//        return WeaResult.success(insuranceCategoryListDTOWeaTable);
//    }

//    /**
//     * 自定义福利表单
//     * id == null ? 新建表单 ： 查看已有数据内容表单
//     *
//     * @param id         自定义福利主键
//     * @param employeeId 操作员id
//     * @param tenantKey  租户key
//     * @return 表单
//     */
//    public WeaResult<WeaForm> getForm(Long id, Long employeeId, String tenantKey) {
//        InsuranceCategoryFormDTO insuranceCategoryFormDTO = siCategoryService.getForm(id, employeeId, tenantKey);
//        WeaForm weaForm = SalaryFormatUtil.<InsuranceCategoryFormDTO>getInstance().buildForm(InsuranceCategoryFormDTO.class, insuranceCategoryFormDTO);
//        return WeaResult.success(weaForm);
//    }

//    /**
//     * 更新自定义福利
//     * <p>
//     * 1、判断该条自定义福利是否存在
//     * 2、判断福利名称是否跟该类型的福利名称有重复
//     * 3、判断福利名称是否和系统名称重复
//     *
//     * @param insuranceCategoryFormDTO 更新报文体
//     * @param employeeId               操作员信息
//     * @param tenantKey                租户key
//     */
//    public WeaResult<String> update(InsuranceCategoryFormDTO insuranceCategoryFormDTO, Long employeeId, String tenantKey) {
//        siCategoryService.update(insuranceCategoryFormDTO, employeeId, tenantKey);
//        return WeaResult.success("");
//    }
//
//    /**
//     * 该接口暂时没用，删除福利类型对档案和台账核算都有很大的影响，暂时还没考虑好怎么做
//     * <p>
//     * 删除福利类型
//     *
//     * @param id         要删除的福利类型主键id
//     * @param employeeId 操作员id
//     * @param tenantKey  租户key
//     */
//    public WeaResult<String> deleteSoftById(Long id, Long employeeId, String tenantKey) {
//        siCategoryService.deleteSoftById(id, employeeId, tenantKey);
//        return WeaResult.success("");
//    }
//
//    /**
//     * 更新福利类型状态
//     *
//     * @param id         要更新的福利类型的主键id
//     * @param isUse      启用停用状态
//     * @param employeeId 操作员id
//     * @param tenantKey  租户key
//     * @see com.weaver.hrm.salary.enums.sicategory.IsUseEnum
//     */
//    public WeaResult<String> updateStatusById(Long id, Integer isUse, Long employeeId, String tenantKey) {
//        siCategoryService.updateStatusById(id, isUse, employeeId, tenantKey);
//        return WeaResult.success("");
//    }

}
