package org.jeecg.ctop.finance.policy.service;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Param;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.entity.SysUser;
import org.jeecg.ctop.finance.policy.entity.CwjsPolicyInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.ctop.finance.settlement.entity.vo.SettlementFileParamsVo;

import java.util.List;
import java.util.Map;

/**
 * 政策信息表
 * @author jeecg-boot
 * 2021-07-27
 * @version V1.0
 */
public interface ICwjsPolicyInfoService extends IService<CwjsPolicyInfo> {
    List<CwjsPolicyInfo> queryPageList(CwjsPolicyInfo policyInfo);

    List<JSONObject> getAllSale();
    List<JSONObject> getAllSaleAndMeidaManager();

    List<Map<String,Object>> getAllOperationUser();

    List<JSONObject> getAllSaleByUserId(String userId);

    List<String> getAllSubordinate(String userId);

    List<JSONObject> getAllSubordinate2(String userId);

    boolean isExistCwjsPolicyInfo(CwjsPolicyInfo policyInfo);

    void updatePolicyInfoById(CwjsPolicyInfo policyInfo);


    //自动转老板审核
    void automaticConveyBossExamine(CwjsPolicyInfo policyInfo);

    Result getPolicyApprovalLogByPolicyId(Integer policyId);

    List<Integer> getCompanySubjectByUserId(String userId);

    List<JSONObject> getLegalAffairsUsers();



    Result toVoidpolicy(String policyId,String delReason);




    Result getSettlementNoPictureAccountList(SettlementFileParamsVo paramsVo);


    Result<Object> queryInfo(String advertiserName, String productName, String type);
}
