package org.example.Service;

import org.example.Entity.BaseResponse.BaseResponse;
import org.example.Entity.CusException.CusException;
import org.example.Entity.System.BaseModule;

import java.io.UnsupportedEncodingException;

public interface ModuleImplService {

    //    传递基础数据,做数据操作
    BaseModule GetBaseModule(String moudleId, String menuIdea);

    //    重新拿到处理好的resultList
//    BaseModuleEntity getModuleIniParams(String moduleId, String menuId, Boolean loadDetail, Boolean isCard, Boolean windowsDirver, String targetModuleId, String detailId, Boolean isChart, String mFields, Boolean atts, Boolean loadLeft, Boolean isAttc);

    //    重新拿到处理好的resultList
    //    2026.2.5新增mrp
    BaseModule getModuleIniParams(String moduleId, String menuid, String targetModuleId, String detailId, boolean isCard, boolean isChart, String mFields, boolean atts, Boolean loadDetail, Boolean loadLeft, boolean isAttc);

    BaseModule getModuleIniParams(String moduleId, String menuid, String targetModuleId, String detailId, boolean isCard, boolean isChart, String mFields, boolean atts, Boolean loadDetail, Boolean loadLeft, boolean isAttc, boolean isMrp);


    BaseResponse getFieldData(String ModuleId,
                              Integer id, String record, String leftRecord,
                              String pms, String keyField, String keyValue,
                              Integer fdtype, String contextMenuId,
                              Boolean readOnly,
                              String userId, String userName, String baseMainGridViewPrefix, Boolean windowsDirver, String ModuleCode, String MenuId);


    BaseResponse getFieldDataPam();


    BaseResponse getModuleData();

    BaseResponse getBillIniParams();

    BaseResponse getBaseAuditStepData();

    BaseResponse GetAuditIniParams();

    BaseResponse GetStepDataCounts();

    BaseResponse GetAddOrUpdFields();

    BaseResponse GetAttcData() throws UnsupportedEncodingException;

    BaseResponse AddOrUpd() throws UnsupportedEncodingException, CusException;

    BaseResponse Delete();

    BaseResponse GetCondition();

    BaseResponse GetModuleCfg();

    BaseResponse GetModuleRightMenu();

    BaseResponse GetModuleDetailsData(String moduleId, String leftRecord, String dids);

    BaseResponse GetAuditHistory(String moduleId, String idValue, String isBase);

    BaseResponse GetAddOrUpdData(String moduleId, String detailId, String idValue, String pIdOrPRow, int contextMenuId, boolean isAttc);

    BaseResponse GetModuleCountData(String moduleIds, String _pams, String _where);
}
