package com.dxhy.jxpt.baseService.config.service;

import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dxhy.api.model.config.UserInfo;
import com.dxhy.api.model.config.sys.SysEnterpriseConfigEntity;
import com.dxhy.common.utils.PageUtils;

import java.text.ParseException;
import java.util.List;
import java.util.Map;

public interface SysEnterpriseConfigService extends IService<SysEnterpriseConfigEntity> {

    /**
    * @Description 企业接入配置 分页查询
    * @param params
    * @Return com.dxhy.common.utils.PageUtils
    * @Author wangruwei
    * @Date 2023/6/26 15:40
    **/
    PageUtils queryPage(Map<String, Object> params);

    /**
    * @Description 获取企业信息详情
    * @param id
    * @Return com.dxhy.config.model.SysEnterpriseConfig
    * @Author wangruwei
    * @Date 2023/6/26 17:10
    **/
    SysEnterpriseConfigEntity selectEnterpriseInfo(String id);

    /**
     * @Description 获取企业是否已有大企业
     * @Return org.springframework.http.ResponseEntity<?>
     * @Author wangruwei
     * @Date 2023/6/26 17:10
     *
     * @param company*/
    Long checkEnterpriseDqy(String company);

    /**
     * @Description 删除企业信息
     * @param id
     * @Return org.springframework.http.ResponseEntity<?>
     * @Author wangruwei
     * @Date 2023/6/26 17:10
     **/
    int delEnterprise(String id);
    /**
    * @Description 新增或更新企业信息
    * @param sysEnterpriseConfig
    * @param userInfo
     * @Return void
    * @Author wangruwei
    * @Date 2023/6/27 16:35
    **/
    String updateEnterpriseInfo(SysEnterpriseConfigEntity sysEnterpriseConfig, UserInfo userInfo) throws ParseException;

    /**
     * @Description 刷新使用平台编码  对应 直连单位信息 redis缓存
     * @param sydwptbm
     * @param zldwqyid
     * @Return void
     * @Author wangruwei
     * @Date 2024/12/11 16:22
     **/
    void refreshSyptbmZldw(String sydwptbm, String zldwqyid);

    /**
    * @Description 导入乐企或大企业的数据验证
    * @param company
     * @param jrfs
     * @param detailArray
     * @param userInfo
     * @Return java.lang.String
    * @Author wangruwei
    * @Date 2023/6/28 14:44
    **/
    List<String> importEnterprise(String company, String jrfs, JSONArray detailArray, UserInfo userInfo) throws ParseException;
    /**
    * @Description 通过税号获取企业信息
    * @param params
    * @Return com.dxhy.api.model.config.sys.SysEnterpriseConfigEntity
    * @Author wangruwei
    * @Date 2023/7/24 15:41
    **/
    SysEnterpriseConfigEntity getEnterpriseInfoByNsrsbh(Map<String, String> params);

    /**
    * @Description 筛选企业信息
    * @param gfshList
    * @param jrfs 0大企业  1乐企
    * @Return java.util.List<com.dxhy.api.model.config.sys.SysEnterpriseConfigEntity>
    * @Author wangruwei
    * @Date 2024/3/25 16:30
    **/
    List<SysEnterpriseConfigEntity> selectEnterpriseList(List<String> gfshList, String jrfs);

    /**
    * @Description 根据纳税人识别号判断接入方式。 空则没有税号，0大企业   1乐企
    * @param nsrsbh
    * @Return java.lang.String
    * @Author wangruwei
    * @Date 2025/1/2 10:28
    **/
    String getEnterpriseJrfs(String nsrsbh);
}

