package com.huigou.topsun.sap.nonProdApply.application;

import com.huigou.topsun.sap.nonProdApply.domain.NonProdApplyBaseInfo;
import com.huigou.topsun.sap.nonProdApply.domain.SapNonProdApplyDept;
import com.huigou.topsun.sap.nonProdApply.domain.query.NonProdApplyBaseInfoQueryRequest;
import com.huigou.topsun.sap.nonProdApply.domain.vo.ProdApplyFromSapVO;

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

public interface NonProdApplyApplication{



    String PROCESS_DEFINITION_KEY = "sapNonProdApplyProc";
    String PROCESS_DEFINITION_KEY_MOD = "sapNonProdModifyProc";
    String PROCESS_DEFINITION_KEY_EXD = "sapNonProdExtendProc";


    String QUERY_XML_FILE_PATH="config/topsun/sap/nonProdApply/nonProdApplyBaseInfo.xml";


    NonProdApplyBaseInfo loadNonProdApplyBaseInfoById(String id);

    Map<String, Object> slicedNonProdApplyBaseInfoQuery(NonProdApplyBaseInfoQueryRequest query);

    void deleteNonProdApplyBaseInfoById(String id);
    void deleteNonProdApplyBaseInfoByIds(List<String> ids);

    String publishDataToSap(String id);

    Map<String, Object> slicedNonApplyBaseInfoByMatnr(NonProdApplyBaseInfoQueryRequest query);

    //获取变更或扩展前的业务部门
     String getChangeBusinessUsage(String bizId,String type);

     //保存来自SAP的产品申请
     String saveProdApplyFromSapVO(ProdApplyFromSapVO prodApplyFromSapVO, SapNonProdApplyDept sapNonProdApplyDept);

    Map<String, Object> slicedNonApplyBaseInfoByMaktx(NonProdApplyBaseInfoQueryRequest query);

    String getMaktxRemZhByMatnrAndWerks(String matnr,String werks);
}