package com.huazheng.project.greenplum.mapper;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import org.springframework.cache.annotation.CacheConfig;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;

import com.huazheng.project.hana.model.Afko;
import com.huazheng.project.hana.model.Afpo;
import com.huazheng.project.hana.model.Afru;
import com.huazheng.project.hana.model.Afvc;
import com.huazheng.project.hana.model.Aufk;
import com.huazheng.project.hana.model.Aufm;
import com.huazheng.project.hana.model.Ausp;
import com.huazheng.project.hana.model.Bsad;
import com.huazheng.project.hana.model.Bsid;
import com.huazheng.project.hana.model.CAVThisMonth;
import com.huazheng.project.hana.model.Kna1;
import com.huazheng.project.hana.model.Knkk;
import com.huazheng.project.hana.model.Knvv;
import com.huazheng.project.hana.model.Konv;
import com.huazheng.project.hana.model.Likp;
import com.huazheng.project.hana.model.Lips;
import com.huazheng.project.hana.model.Makt;
import com.huazheng.project.hana.model.Mara;
import com.huazheng.project.hana.model.Mkpf;
import com.huazheng.project.hana.model.Mseg;
import com.huazheng.project.hana.model.Mska;
import com.huazheng.project.hana.model.Pa0002;
import com.huazheng.project.hana.model.S066;
import com.huazheng.project.hana.model.S067;
import com.huazheng.project.hana.model.T001w;
import com.huazheng.project.hana.model.T023t;
import com.huazheng.project.hana.model.Tspat;
import com.huazheng.project.hana.model.Tvkbt;
import com.huazheng.project.hana.model.Vbak;
import com.huazheng.project.hana.model.Vbap;
import com.huazheng.project.hana.model.VbapAdv;
import com.huazheng.project.hana.model.Vbep;
import com.huazheng.project.hana.model.Vbpa;
import com.huazheng.project.hana.model.Vbrk;
import com.huazheng.project.hana.model.Vbrp;
import com.huazheng.project.hana.model.Vbuk;
import com.huazheng.project.hana.model.Zmdpc;
import com.huazheng.project.hana.model.Zpoedit;
import com.huazheng.project.hana.model.Zsd06;
import com.huazheng.project.hana.model.Zsdfhzl;
import com.huazheng.project.mssql.model.SalesContractProcess;
import com.huazheng.project.mssql.model.SalesContractProcessMX;
import com.huazheng.project.mssql.model.SalesForecastProcess;
import com.huazheng.project.mssql.model.SalesForecastProcessMX;
import com.huazheng.project.mssql.model.SampleApplicationProcess;
import com.huazheng.project.mssql.model.SampleApplicationProcessMingXi;
import com.huazheng.project.mssql.model.SampleClosingProcess;
import com.huazheng.project.mssql.model.SampleClosingProcessMingXi;
import com.huazheng.project.mssql2.model.SysSAPreturnNo;
import com.huazheng.project.mssql2.model.TKeHu;
import com.huazheng.project.mssql2.model.TKeHuXiaoShouZZ;
import com.huazheng.project.mssql2.model.TKeHuXiaoShouZZYeWuY;
import com.huazheng.project.mssql2.model.TWuLiaoDB;
import com.huazheng.project.mssql3.model.PersonComp;
import com.huazheng.project.mssql4.model.Tasks;
import com.huazheng.project.mysql.model.Handover;
import com.huazheng.project.mysql.model.HandoverTask;
import com.huazheng.project.mysql.model.TransformHistoryNode;
import com.huazheng.project.mysql.model.TransformNewNode;
@CacheConfig(cacheNames = "huazheng")
public interface GPMapper {
	
	@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.objek+','+#p0.atinn+','+#p0.atzhl+','+#p0.mafid+','+#p0.klart+','+#p0.adzhl", unless="#result == null")
	public Ausp selectAusp(Ausp ausp); // 查询替代删除
	public void insertAusp(Ausp element);
	@CacheEvict(key = "'selectAusp'+':'+#p0.mandt+','+#p0.objek+','+#p0.atinn+','+#p0.atzhl+','+#p0.mafid+','+#p0.klart+','+#p0.adzhl")
	public void deleteAusp(Ausp item);
	@CacheEvict(key = "'selectAusp'+':'+#p0.mandt+','+#p0.objek+','+#p0.atinn+','+#p0.atzhl+','+#p0.mafid+','+#p0.klart+','+#p0.adzhl")
	public void updateAusp(Ausp element);
	public List<Ausp> selectAuspCheck(Ausp build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.pwerk+','+#p0.aufnr", unless="#result == null")
	public Zpoedit selectZpoedit(Zpoedit zpoedit); // 查询替代删除
	public void insertZpoedit(Zpoedit element);
	@CacheEvict(key = "'selectZpoedit'+':'+#p0.mandt+','+#p0.pwerk+','+#p0.aufnr")
	public void deleteZpoedit(Zpoedit item);
	@CacheEvict(key = "'selectZpoedit'+':'+#p0.mandt+','+#p0.pwerk+','+#p0.aufnr")
	public void updateZpoedit(Zpoedit element);
	public List<Zpoedit> selectZpoeditCheck(Zpoedit build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.spras+','+#p0.spart", unless="#result == null")
	public Tspat selectTspat(Tspat tspat); // 查询替代删除
	public void insertTspat(Tspat element);
	@CacheEvict(key = "'selectTspat'+':'+#p0.mandt+','+#p0.spras+','+#p0.spart")
	public void deleteTspat(Tspat item);
	@CacheEvict(key = "'selectTspat'+':'+#p0.mandt+','+#p0.spras+','+#p0.spart")
	public void updateTspat(Tspat element);
	public List<Tspat> selectTspatCheck(Tspat build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.rueck+','+#p0.rmzhl", unless="#result == null")
	public Afru selectAfru(Afru afru); // 查询替代删除
	public void insertAfru(Afru element);
	@CacheEvict(key = "'selectAfru'+':'+#p0.mandt+','+#p0.rueck+','+#p0.rmzhl")
	public void deleteAfru(Afru item);
	@CacheEvict(key = "'selectAfru'+':'+#p0.mandt+','+#p0.rueck+','+#p0.rmzhl")
	public void updateAfru(Afru element);
	public List<Afru> selectAfruCheck(Afru build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.mblnr+','+#p0.mjahr+','+#p0.zeile", unless="#result == null")
	public Mseg selectMseg(Mseg mseg); // 查询替代删除
	public void insertMseg(Mseg element);
	@CacheEvict(key = "'selectMseg'+':'+#p0.mandt+','+#p0.mblnr+','+#p0.mjahr+','+#p0.zeile")
	public void deleteMseg(Mseg item);
	@CacheEvict(key = "'selectMseg'+':'+#p0.mandt+','+#p0.mblnr+','+#p0.mjahr+','+#p0.zeile")
	public void updateMseg(Mseg element);
	public List<Mseg> selectMsegCheck(Mseg build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.mblnr+','+#p0.mjahr", unless="#result == null")
	public Mkpf selectMkpf(Mkpf mkpf); // 查询替代删除
	public void insertMkpf(Mkpf element);
	@CacheEvict(key = "'selectMkpf'+':'+#p0.mandt+','+#p0.mblnr+','+#p0.mjahr")
	public void deleteMkpf(Mkpf item);
	@CacheEvict(key = "'selectMkpf'+':'+#p0.mandt+','+#p0.mblnr+','+#p0.mjahr")
	public void updateMkpf(Mkpf element);
	public List<Mkpf> selectMkpfCheck(Mkpf build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.aufnr", unless="#result == null")
	public Aufk selectAufk(Aufk aufk); // 查询替代删除
	public void insertAufk(Aufk element);
	@CacheEvict(key = "'selectAufk'+':'+#p0.mandt+','+#p0.aufnr")
	public void deleteAufk(Aufk item);
	@CacheEvict(key = "'selectAufk'+':'+#p0.mandt+','+#p0.aufnr")
	public void updateAufk(Aufk element);
	public List<Aufk> selectAufkCheck(Aufk build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.aufnr+','+#p0.mandt+','+#p0.posnr", unless="#result == null")
	public Afpo selectAfpo(Afpo afpo); // 查询替代删除
	public void insertAfpo(Afpo element);
	@CacheEvict(key = "'selectAfpo'+':'+#p0.aufnr+','+#p0.mandt+','+#p0.posnr")
	public void deleteAfpo(Afpo item);
	@CacheEvict(key = "'selectAfpo'+':'+#p0.aufnr+','+#p0.mandt+','+#p0.posnr")
	public void updateAfpo(Afpo element);
	public List<Afpo> selectAfpoCheck(Afpo build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.aufnr+','+#p0.mandt", unless="#result == null")
	public Afko selectAfko(Afko afko); // 查询替代删除
	public void insertAfko(Afko element);
	@CacheEvict(key = "'selectAfko'+':'+#p0.aufnr+','+#p0.mandt")
	public void deleteAfko(Afko item);
	@CacheEvict(key = "'selectAfko'+':'+#p0.aufnr+','+#p0.mandt")
	public void updateAfko(Afko element);
	public List<Afko> selectAfkoCheck(Afko build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.mblnr+','+#p0.mandt+','+#p0.mjahr+','+#p0.zeile", unless="#result == null")
	public Aufm selectAufm(Aufm aufm); // 查询替代删除
	public void insertAufm(Aufm element);
	@CacheEvict(key = "'selectAufm'+':'+#p0.mblnr+','+#p0.mandt+','+#p0.mjahr+','+#p0.zeile")
	public void deleteAufm(Aufm aufm);
	@CacheEvict(key = "'selectAufm'+':'+#p0.mblnr+','+#p0.mandt+','+#p0.mjahr+','+#p0.zeile")
	public void updateAufm(Aufm aufm);
	public List<Aufm> selectAufmCheck(Aufm build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.kunnr+','+#p0.mandt", unless="#result == null")
	public Kna1 selectKna1(Kna1 kna1); // 查询替代删除
	public void insertKna1(Kna1 element);
	@CacheEvict(key = "'selectKna1'+':'+#p0.kunnr+','+#p0.mandt")
	public void deleteKna1(Kna1 kna1);
	@CacheEvict(key = "'selectKna1'+':'+#p0.kunnr+','+#p0.mandt")
	public void updateKna1(Kna1 element);
	public List<Kna1> selectKna1Check(Kna1 build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.kunnr+','+#p0.kkber", unless="#result == null")
	public Knkk selectKnkk(Knkk knkk);
	public void insertKnkk(Knkk element);
	@CacheEvict(key = "'selectKnkk'+':'+#p0.mandt+','+#p0.kunnr+','+#p0.kkber")
	public void deleteKnkk(Knkk element);
	@CacheEvict(key = "'selectKnkk'+':'+#p0.mandt+','+#p0.kunnr+','+#p0.kkber")
	public void updateKnkk(Knkk element);
	public List<Knkk> selectKnkkCheck(Knkk build);
	public List<Knkk> selectKnkkCheckByUpdate(Knkk build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.kunnr+','+#p0.vkorg+','+#p0.vtweg+','+#p0.spart", unless="#result == null")
	public Knvv selectKnvv(Knvv knvv);
	public void insertKnvv(Knvv element);
	@CacheEvict(key = "'selectKnvv'+':'+#p0.mandt+','+#p0.kunnr+','+#p0.vkorg+','+#p0.vtweg+','+#p0.spart")
	public void deleteKnvv(Knvv element);
	@CacheEvict(key = "'selectKnvv'+':'+#p0.mandt+','+#p0.kunnr+','+#p0.vkorg+','+#p0.vtweg+','+#p0.spart")
	public void updateKnvv(Knvv element);
	public List<Knvv> selectKnvvCheck(Knvv build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.aufpl+','+#p0.aplzl", unless="#result == null")
	public Afvc selectAfvc(Afvc afvc); // 查询替代删除
	public void insertAfvc(Afvc element);
	@CacheEvict(key = "'selectAfvc'+':'+#p0.mandt+','+#p0.aufpl+','+#p0.aplzl")
	public void deleteAfvc(Afvc item);
	@CacheEvict(key = "'selectAfvc'+':'+#p0.mandt+','+#p0.aufpl+','+#p0.aplzl")
	public void updateAfvc(Afvc element);
	public List<Afvc> selectAfvcCheck(Afvc build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.knumv+','+#p0.kposn+','+#p0.stunr+','+#p0.zaehk", unless="#result == null")
	public Konv selectKonv(Konv konv); // 查询替代删除
	public void insertKonv(Konv element);
	@CacheEvict(key = "'selectKonv'+':'+#p0.mandt+','+#p0.knumv+','+#p0.kposn+','+#p0.stunr+','+#p0.zaehk")
	public void deleteKonv(Konv item);
	@CacheEvict(key = "'selectKonv'+':'+#p0.mandt+','+#p0.knumv+','+#p0.kposn+','+#p0.stunr+','+#p0.zaehk")
	public void updateKonv(Konv item);
	public List<Konv> selectKonvCheck(Konv build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.vbeln+','+#p0.mandt", unless="#result == null")
	public Likp selectLikp(Likp likp); // 查询替代删除
	public void insertLikp(Likp element);
	@CacheEvict(key = "'selectLikp'+':'+#p0.vbeln+','+#p0.mandt")
	public void deleteLikp(Likp item);
	@CacheEvict(key = "'selectLikp'+':'+#p0.vbeln+','+#p0.mandt")
	public void updateLikp(Likp element);
	public List<Likp> selectLikpCheck(Likp build);
	public List<Likp> selectLikpCheckByUpdate(Likp build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt", unless="#result == null")
	public Lips selectLips(Lips lips); // 查询替代删除
	public void insertLips(Lips element);
	@CacheEvict(key = "'selectLips'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt")
	public void deleteLips(Lips item);
	@CacheEvict(key = "'selectLips'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt")
	public void updateLips(Lips item);
	public List<Lips> selectLipsCheck(Lips build);
	public List<Lips> selectLipsCheckByUpdate(Lips build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.matnr+','+#p0.mandt+','+#p0.spras", unless="#result == null")
	public Makt selectMakt(Makt makt); // 查询替代删除
	public void insertMakt(Makt element);
	@CacheEvict(key = "'selectMakt'+':'+#p0.matnr+','+#p0.mandt+','+#p0.spras")
	public void deleteMakt(Makt item);
	@CacheEvict(key = "'selectMakt'+':'+#p0.matnr+','+#p0.mandt+','+#p0.spras")
	public void updateMakt(Makt item);
	public List<Makt> selectMaktCheck(Makt build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.matnr+','+#p0.mandt", unless="#result == null")
	public Mara selectMara(Mara mara); // 查询替代删除
	public void insertMara(Mara element);
	@CacheEvict(key = "'selectMara'+':'+#p0.matnr+','+#p0.mandt")
	public void deleteMara(Mara item);
	@CacheEvict(key = "'selectMara'+':'+#p0.matnr+','+#p0.mandt")
	public void updateMara(Mara item);
	public List<Mara> selectMaraCheck(Mara build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.matnr+','+#p0.werks+','+#p0.lgort+','+#p0.charg+','+#p0.sobkz+','+#p0.vbeln+','+#p0.posnr", unless="#result == null")
	public Mska selectMska(Mska mska); // 查询替代删除
	public void insertMska(Mska element);
	@CacheEvict(key = "'selectMska'+':'+#p0.mandt+','+#p0.matnr+','+#p0.werks+','+#p0.lgort+','+#p0.charg+','+#p0.sobkz+','+#p0.vbeln+','+#p0.posnr")
	public void deleteMska(Mska item);
	@CacheEvict(key = "'selectMska'+':'+#p0.mandt+','+#p0.matnr+','+#p0.werks+','+#p0.lgort+','+#p0.charg+','+#p0.sobkz+','+#p0.vbeln+','+#p0.posnr")
	public void updateMska(Mska element);
	public List<Mska> selectMskaCheck(Mska build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.pernr+','+#p0.subty+','+#p0.objps+','+#p0.sprps+','+#p0.endda+','+#p0.begda+','+#p0.seqnr", unless="#result == null")
	public Pa0002 selectPa0002(Pa0002 pa0002); // 查询替代删除
	public void insertPa0002(Pa0002 element);
	@CacheEvict(key = "'selectPa0002'+':'+#p0.mandt+','+#p0.pernr+','+#p0.subty+','+#p0.objps+','+#p0.sprps+','+#p0.endda+','+#p0.begda+','+#p0.seqnr")
	public void updatePa0002(Pa0002 pa0002);
	@CacheEvict(key = "'selectPa0002'+':'+#p0.mandt+','+#p0.pernr+','+#p0.subty+','+#p0.objps+','+#p0.sprps+','+#p0.endda+','+#p0.begda+','+#p0.seqnr")
	public void deletePa0002(Pa0002 pa0002);
	public List<Pa0002> selectPa0002Check(Pa0002 build);
	public List<Pa0002> selectPa0002CheckByUpdate(Pa0002 build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.ssour+','+#p0.vrsio+','+#p0.kkber+','+#p0.knkli+','+#p0.spmon+','+#p0.sptags+','+#p0.spwocs+','+#p0.spbups", unless="#result == null")
	public S066 selectS066(S066 so66);
	public void insertS066(S066 element);
	@CacheEvict(key = "'selectS066'+':'+#p0.mandt+','+#p0.ssour+','+#p0.vrsio+','+#p0.kkber+','+#p0.knkli+','+#p0.spmon+','+#p0.sptags+','+#p0.spwocs+','+#p0.spbups")
	public void updateS066(S066 element);
	@CacheEvict(key = "'selectS066'+':'+#p0.mandt+','+#p0.ssour+','+#p0.vrsio+','+#p0.kkber+','+#p0.knkli+','+#p0.spmon+','+#p0.sptags+','+#p0.spwocs+','+#p0.spbups")
	public void deleteS066(S066 element);
	public List<S066> selectS066Check(S066 build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.ssour+','+#p0.vrsio+','+#p0.kkber+','+#p0.knkli+','+#p0.spmons+','+#p0.sptags+','+#p0.spwocs+','+#p0.spbups", unless="#result == null")
	public S067 selectS067(S067 so67);
	public void insertS067(S067 element);
	@CacheEvict(key = "'selectS067'+':'+#p0.mandt+','+#p0.ssour+','+#p0.vrsio+','+#p0.kkber+','+#p0.knkli+','+#p0.spmons+','+#p0.sptags+','+#p0.spwocs+','+#p0.spbups")
	public void updateS067(S067 element);
	@CacheEvict(key = "'selectS067'+':'+#p0.mandt+','+#p0.ssour+','+#p0.vrsio+','+#p0.kkber+','+#p0.knkli+','+#p0.spmons+','+#p0.sptags+','+#p0.spwocs+','+#p0.spbups")
	public void deleteS067(S067 element);
	public List<S067> selectS067Check(S067 build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.werks+','+#p0.mandt", unless="#result == null")
	public T001w selectT001w(T001w t001w); // 查询替代删除
	public void insertT001w(T001w element);
	@CacheEvict(key = "'selectT001w'+':'+#p0.werks+','+#p0.mandt")
	public void updateT001w(T001w t001w);
	@CacheEvict(key = "'selectT001w'+':'+#p0.werks+','+#p0.mandt")
	public void deleteT001w(T001w t001w);
	public List<T001w> selectT001wCheck(T001w build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.spras+','+#p0.matkl", unless="#result == null")
	public T023t selectT023t(T023t item); // 查询替代删除
	public void insertT023t(T023t element);
	@CacheEvict(key = "'selectT023t'+':'+#p0.mandt+','+#p0.spras+','+#p0.matkl")
	public void updateT023t(T023t item);
	@CacheEvict(key = "'selectT023t'+':'+#p0.mandt+','+#p0.spras+','+#p0.matkl")
	public void deleteT023t(T023t item);
	public List<T023t> selectT023tCheck(T023t build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.vbeln+','+#p0.mandt", unless="#result == null")
	public Vbak selectVbak(Vbak vbak); // 查询替代删除
	public void insertVbak(Vbak element);
	@CacheEvict(key = "'selectVbak'+':'+#p0.vbeln+','+#p0.mandt")
	public void updateVbak(Vbak element); // 配合redis中的reset标签进行更新
	@CacheEvict(key = "'selectVbak'+':'+#p0.vbeln+','+#p0.mandt")
	public void deleteVbak(Vbak item);
	public List<Vbak> selectVbakCheck(Vbak build);
	public List<Vbak> selectVbakCheckByUpdate(Vbak build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.vbeln+','+#p0.posnr+','+#p0.etenr+','+#p0.mandt", unless="#result == null")
	public Vbep selectVbep(Vbep vbep); // 查询替代删除
	public void insertVbep(Vbep element);
	@CacheEvict(key = "'selectVbep'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.etenr+','+#p0.mandt")
	public void updateVbep(Vbep vbep);
	@CacheEvict(key = "'selectVbep'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.etenr+','+#p0.mandt")
	public void deleteVbep(Vbep vbep);
	public List<Vbep> selectVbepCheck(Vbep build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt+','+#p0.parvw", unless="#result == null")
	public Vbpa selectVbpa(Vbpa vbpa); // 查询替代删除
	public void insertVbpa(Vbpa element);
	@CacheEvict(key = "'selectVbpa'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt+','+#p0.parvw")
	public void updateVbpa(Vbpa vbpa);
	@CacheEvict(key = "'selectVbpa'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt+','+#p0.parvw")
	public void deleteVbpa(Vbpa vbpa);
	public List<Vbpa> selectVbpaCheck(Vbpa build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.vbeln+','+#p0.mandt", unless="#result == null")
	public Vbrk selectVbrk(Vbrk item); // 查询替代删除
	public void insertVbrk(Vbrk element);
	@CacheEvict(key = "'selectVbrk'+':'+#p0.vbeln+','+#p0.mandt")
	public void updateVbrk(Vbrk item);
	@CacheEvict(key = "'selectVbrk'+':'+#p0.vbeln+','+#p0.mandt")
	public void deleteVbrk(Vbrk item);
	public List<Vbrk> selectVbrkCheck(Vbrk build);
	public List<Vbrk> selectVbrkCheckByUpdate(Vbrk build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt", unless="#result == null")
	public Vbrp selectVbrp(Vbrp item); // 查询替代删除
	public void insertVbrp(Vbrp element);
	@CacheEvict(key = "'selectVbrp'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt")
	public void updateVbrp(Vbrp element);
	@CacheEvict(key = "'selectVbrp'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt")
	public void deleteVbrp(Vbrp item);
	public List<Vbrp> selectVbrpCheck(Vbrp build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.vbeln+','+#p0.mandt", unless="#result == null")
	public Vbuk selectVbuk(Vbuk vbuk); // 查询替代删除
	public void insertVbuk(Vbuk element);
	@CacheEvict(key = "'selectVbuk'+':'+#p0.vbeln+','+#p0.mandt")
	public void updateVbuk(Vbuk likp);
	@CacheEvict(key = "'selectVbuk'+':'+#p0.vbeln+','+#p0.mandt")
	public void deleteVbuk(Vbuk likp);
	public List<Vbuk> selectVbukCheck(Vbuk build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt", unless="#result == null")
	public Zmdpc selectZmdpc(Zmdpc zmdpc); // 查询替代删除
	public void insertZmdpc(Zmdpc element);
	@CacheEvict(key = "'selectZmdpc'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt")
	public void updateZmdpc(Zmdpc item);
	@CacheEvict(key = "'selectZmdpc'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt")
	public void deleteZmdpc(Zmdpc item);
	public List<Zmdpc> selectZmdpcCheck(Zmdpc build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt", unless="#result == null")
	public Zsd06 selectZsd06(Zsd06 zsd06); // 查询替代删除
	public void insertZsd06(Zsd06 element);
	@CacheEvict(key = "'selectZsd06'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt")
	public void updateZsd06(Zsd06 item);
	@CacheEvict(key = "'selectZsd06'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt")
	public void deleteZsd06(Zsd06 item);
	public List<Zsd06> selectZsd06Check(Zsd06 build);
	public List<Zsd06> selectZsd06CheckByUpdate(Zsd06 build);
	
	
	@Cacheable(key = "#root.method.name+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt", unless="#result == null")
	public Zsdfhzl selectZsdfhzl(Zsdfhzl zsdfhzl); // 查询替代删除
	public void insertZsdfhzl(Zsdfhzl element);
	@CacheEvict(key = "'selectZsdfhzl'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt")
	public void updateZsdfhzl(Zsdfhzl item);
	@CacheEvict(key = "'selectZsdfhzl'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt")
	public void deleteZsdfhzl(Zsdfhzl item);
	public List<Zsdfhzl> selectZsdfhzlCheck(Zsdfhzl build);
	public List<Zsdfhzl> selectZsdfhzlCheckByUpdate(Zsdfhzl build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.bukrs+','+#p0.kunnr+','+#p0.umsks+','+#p0.umskz+','+#p0.augdt+','+#p0.augbl+','+#p0.zuonr+','+#p0.gjahr+','+#p0.belnr+','+#p0.buzei", unless="#result == null")
	public Bsad selectBsad(Bsad bsad);
	public void insertBsad(Bsad element);
	@CacheEvict(key = "'selectBsad'+':'+#p0.mandt+','+#p0.bukrs+','+#p0.kunnr+','+#p0.umsks+','+#p0.umskz+','+#p0.augdt+','+#p0.augbl+','+#p0.zuonr+','+#p0.gjahr+','+#p0.belnr+','+#p0.buzei")
	public void updateBsad(Bsad element);
	@CacheEvict(key = "'selectBsad'+':'+#p0.mandt+','+#p0.bukrs+','+#p0.kunnr+','+#p0.umsks+','+#p0.umskz+','+#p0.augdt+','+#p0.augbl+','+#p0.zuonr+','+#p0.gjahr+','+#p0.belnr+','+#p0.buzei")
	public void deleteBsad(Bsad element);
	public List<Bsad> selectBsadCheck(Bsad build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.bukrs+','+#p0.kunnr+','+#p0.umsks+','+#p0.umskz+','+#p0.augdt+','+#p0.augbl+','+#p0.zuonr+','+#p0.gjahr+','+#p0.belnr+','+#p0.buzei", unless="#result == null")
	public Bsid selectBsid(Bsid bsid);
	public void insertBsid(Bsid element);
	@CacheEvict(key = "'selectBsid'+':'+#p0.mandt+','+#p0.bukrs+','+#p0.kunnr+','+#p0.umsks+','+#p0.umskz+','+#p0.augdt+','+#p0.augbl+','+#p0.zuonr+','+#p0.gjahr+','+#p0.belnr+','+#p0.buzei")
	public void updateBsid(Bsid element);
	@CacheEvict(key = "'selectBsid'+':'+#p0.mandt+','+#p0.bukrs+','+#p0.kunnr+','+#p0.umsks+','+#p0.umskz+','+#p0.augdt+','+#p0.augbl+','+#p0.zuonr+','+#p0.gjahr+','+#p0.belnr+','+#p0.buzei")
	public void deleteBsid(Bsid element);
	public List<Bsid> selectBsidCheck(Bsid build);
	
	
	
	
	@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.spras+','+#p0.vkbur", unless="#result == null")
	public Tvkbt selectTvkbt(Tvkbt data);
	public void insertTvkbt(Tvkbt element);
	@CacheEvict(key = "'selectTvkbt'+':'+#p0.mandt+','+#p0.spras+','+#p0.vkbur")
	public void updateTvkbt(Tvkbt source);
	@CacheEvict(key = "'selectTvkbt'+':'+#p0.mandt+','+#p0.spras+','+#p0.vkbur")
	public void deleteTvkbt(Tvkbt target);
	public List<Tvkbt> selectTvkbtCheck(Tvkbt build);
	
	
	
	// 主数据
	@Cacheable(key = "#root.method.name+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt+','+#p0.erdat1", unless="#result == null")
	public Vbap selectVbap(Vbap vbap); // 查询替代删除
	public void insertVbap(Vbap element);
	@CacheEvict(key = "'selectVbap'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt+','+#p0.erdat1")
	public void updateVbap(Vbap item);
	@CacheEvict(key = "'selectVbap'+':'+#p0.vbeln+','+#p0.posnr+','+#p0.mandt+','+#p0.erdat1")
	public void deleteVbap(Vbap item);
	public List<Vbap> selectVbapCheck(Vbap build);
	public List<Vbap> selectVbapCheckByUpdate(Vbap build);
	
	

	
//	// 统计表==============================
//	@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.bukrs+','+#p0.kunnr+','+#p0.umsks+','+#p0.umskz+','+#p0.augdt+','+#p0.augbl+','+#p0.zuonr+','+#p0.gjahr+','+#p0.belnr+','+#p0.buzei", unless="#result == null")
//	public Bsid2Bsad selectBsid2Bsad(Bsid2Bsad value);
//	public void insertBsid2Bsad(Bsid2Bsad element);
//	@CacheEvict(key = "'selectBsid2Bsad'+':'+#p0.mandt+','+#p0.bukrs+','+#p0.kunnr+','+#p0.umsks+','+#p0.umskz+','+#p0.augdt+','+#p0.augbl+','+#p0.zuonr+','+#p0.gjahr+','+#p0.belnr+','+#p0.buzei")
//	public void updateBsid2Bsad(Bsid2Bsad element);
//	@CacheEvict(key = "'selectBsid2Bsad'+':'+#p0.mandt+','+#p0.bukrs+','+#p0.kunnr+','+#p0.umsks+','+#p0.umskz+','+#p0.augdt+','+#p0.augbl+','+#p0.zuonr+','+#p0.gjahr+','+#p0.belnr+','+#p0.buzei")
//	public void deleteBsid2Bsad(Bsid2Bsad element);
//	public List<Bsid2Bsad> selectBsid2BsadCheck(Bsid2Bsad build);
	
	
	// ============== mysql
	@Cacheable(key = "#root.method.name+':'+#p0.handover_id", unless="#result == null")
	public Handover selectHandover(Handover handover); // 查询替代删除
	public void insertHandover(Handover element);
	@CacheEvict(key = "'selectHandover'+':'+#p0.handover_id")
	public void deleteHandover(Handover item);
	@CacheEvict(key = "'selectHandover'+':'+#p0.handover_id")
	public void updateHandover(Handover target);
	public List<Handover> selectHandoverCheck(Handover build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.task_id", unless="#result == null")
	public HandoverTask selectHandoverTask(HandoverTask handoverTask); // 查询替代删除
	public void insertHandoverTask(HandoverTask element);
	@CacheEvict(key = "'selectHandoverTask'+':'+#p0.task_id")
	public void deleteHandoverTask(HandoverTask item);
	@CacheEvict(key = "'selectHandoverTask'+':'+#p0.task_id")
	public void updateHandoverTask(HandoverTask element);
	public List<HandoverTask> selectHandoverTaskCheck(HandoverTask build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
	public TransformNewNode selectTransformNewNode(TransformNewNode transformNewNode); // 查询替代删除
	public void insertTransformNewNode(TransformNewNode element);
	@CacheEvict(key = "'selectTransformNewNode'+':'+#p0.id")
	public void deleteTransformNewNode(TransformNewNode item);
	@CacheEvict(key = "'selectTransformNewNode'+':'+#p0.id")
	public void updateTransformNewNode(TransformNewNode item);
	public List<TransformNewNode> selectTransformNewNodeCheck(TransformNewNode build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
	public TransformHistoryNode selectTransformHistoryNode(TransformHistoryNode data);
	public void insertTransformHistoryNode(TransformHistoryNode element);
	@CacheEvict(key = "'selectTransformHistoryNode'+':'+#p0.id")
	public void deleteTransformHistoryNode(TransformHistoryNode item);
	@CacheEvict(key = "'selectTransformHistoryNode'+':'+#p0.id")
	public void updateTransformHistoryNode(TransformHistoryNode item);
	public List<TransformHistoryNode> selectTransformHistoryNodeCheck(TransformHistoryNode build);
	
	
	
	// ============== mssql4
	@Cacheable(key = "#root.method.name+':'+#p0.taskId", unless="#result == null")
	public Tasks selectTasks(Tasks data);
	public void insertTasks(Tasks element);
	@CacheEvict(key = "'selectTasks'+':'+#p0.taskId")
	public void deleteTasks(Tasks item);
	@CacheEvict(key = "'selectTasks'+':'+#p0.taskId")
	public void updateTasks(Tasks item);
	public List<Tasks> selectTasksCheck(Tasks build);
	
	
	
	
	// ============== mssql3
	@Cacheable(key = "#root.method.name+':'+#p0.uposnr+','+#p0.dposnr", unless="#result == null")
	public PersonComp selectPersonComp(PersonComp data);
	public void insertPersonComp(PersonComp element);
	@CacheEvict(key = "'selectPersonComp'+':'+#p0.uposnr+','+#p0.dposnr")
	public void deletePersonComp(PersonComp item);
	@CacheEvict(key = "'selectPersonComp'+':'+#p0.uposnr+','+#p0.dposnr")
	public void updatePersonComp(PersonComp item);
	public List<PersonComp> selectPersonCompCheck(PersonComp build);
	
	
	
	// ============== mssql2
	@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
	public SysSAPreturnNo selectSysSAPreturnNo(SysSAPreturnNo item); // 查询替代删除
	public void insertSysSAPreturnNo(SysSAPreturnNo element);
	@CacheEvict(key = "'selectSysSAPreturnNo'+':'+#p0.id")
	public void deleteSysSAPreturnNo(SysSAPreturnNo item);
	@CacheEvict(key = "'selectSysSAPreturnNo'+':'+#p0.id")
	public void updateSysSAPreturnNo(SysSAPreturnNo item);
	public List<SysSAPreturnNo> selectSysSAPreturnNoCheck(SysSAPreturnNo build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.keHuID", unless="#result == null")
	public TKeHu selectTKeHu(TKeHu tkeHu);
	public void insertTKeHu(TKeHu element);
	@CacheEvict(key = "'selectTKeHu'+':'+#p0.keHuID")
	public void deleteTKeHu(TKeHu element);
	@CacheEvict(key = "'selectTKeHu'+':'+#p0.keHuID")
	public void updateTKeHu(TKeHu element);
	public List<TKeHu> selectTKeHuCheck(TKeHu build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
	public TKeHuXiaoShouZZ selectTKeHuXiaoShouZZ(TKeHuXiaoShouZZ tkeHuXiaoShouZZ);
	public void insertTKeHuXiaoShouZZ(TKeHuXiaoShouZZ element);
	@CacheEvict(key = "'selectTKeHuXiaoShouZZ'+':'+#p0.id")
	public void deleteTKeHuXiaoShouZZ(TKeHuXiaoShouZZ element);
	@CacheEvict(key = "'selectTKeHuXiaoShouZZ'+':'+#p0.id")
	public void updateTKeHuXiaoShouZZ(TKeHuXiaoShouZZ element);
	public List<TKeHuXiaoShouZZ> selectTKeHuXiaoShouZZCheck(TKeHuXiaoShouZZ build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
	public TKeHuXiaoShouZZYeWuY selectTKeHuXiaoShouZZYeWuY(TKeHuXiaoShouZZYeWuY tkeHuXiaoShouZZYeWuY);
	public void insertTKeHuXiaoShouZZYeWuY(TKeHuXiaoShouZZYeWuY element);
	@CacheEvict(key = "'selectTKeHuXiaoShouZZYeWuY'+':'+#p0.id")
	public void deleteTKeHuXiaoShouZZYeWuY(TKeHuXiaoShouZZYeWuY element);
	@CacheEvict(key = "'selectTKeHuXiaoShouZZYeWuY'+':'+#p0.id")
	public void updateTKeHuXiaoShouZZYeWuY(TKeHuXiaoShouZZYeWuY element);
	public List<TKeHuXiaoShouZZYeWuY> selectTKeHuXiaoShouZZYeWuYCheck(TKeHuXiaoShouZZYeWuY build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
	public TWuLiaoDB selectTWuLiaoDB(TWuLiaoDB twuLiaoDB);
	public void deleteTWuLiaoDB(TWuLiaoDB element);
	@CacheEvict(key = "'selectTWuLiaoDB'+':'+#p0.id")
	public void insertTWuLiaoDB(TWuLiaoDB element);
	@CacheEvict(key = "'selectTWuLiaoDB'+':'+#p0.id")
	public void updateTWuLiaoDB(TWuLiaoDB element);
	public List<TWuLiaoDB> selectTWuLiaoDBCheck(TWuLiaoDB build);
	
	
	
	
	// ============== mssql
	@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
	public SalesContractProcess selectSalesContractProcess(SalesContractProcess scp); // 查询替代删除
	public void insertSalesContractProcess(SalesContractProcess element);
	@CacheEvict(key = "'selectSalesContractProcess'+':'+#p0.id")
	public void deleteSalesContractProcess(SalesContractProcess item);
	@CacheEvict(key = "'selectSalesContractProcess'+':'+#p0.id")
	public void updateSalesContractProcess(SalesContractProcess element); // 配合redis中的reset标签进行更新
	public List<SalesContractProcess> selectSalesContractProcessCheck(SalesContractProcess build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
	public SalesContractProcessMX selectSalesContractProcessMX(SalesContractProcessMX scpmx); // 查询替代删除
	public void insertSalesContractProcessMX(SalesContractProcessMX element);
	@CacheEvict(key = "'selectSalesContractProcessMX'+':'+#p0.id")
	public void deleteSalesContractProcessMX(SalesContractProcessMX scpmx);
	@CacheEvict(key = "'selectSalesContractProcessMX'+':'+#p0.id")
	public void updateSalesContractProcessMX(SalesContractProcessMX scpmx);
	public List<SalesContractProcessMX> selectSalesContractProcessMXCheck(SalesContractProcessMX build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
	public SalesForecastProcess selectSalesForecastProcess(SalesForecastProcess sfp); // 查询替代删除
	public void insertSalesForecastProcess(SalesForecastProcess element);
	@CacheEvict(key = "'selectSalesForecastProcess'+':'+#p0.id")
	public void updateSalesForecastProcess(SalesForecastProcess element); // 配合redis中的reset标签进行更新
	@CacheEvict(key = "'selectSalesForecastProcess'+':'+#p0.id")
	public void deleteSalesForecastProcess(SalesForecastProcess item);
	public List<SalesForecastProcess> selectSalesForecastProcessCheck(SalesForecastProcess build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
	public SalesForecastProcessMX selectSalesForecastProcessMX(SalesForecastProcessMX sfpmx); // 查询替代删除
	public void insertSalesForecastProcessMX(SalesForecastProcessMX element);
	@CacheEvict(key = "'selectSalesForecastProcessMX'+':'+#p0.id")
	public void updateSalesForecastProcessMX(SalesForecastProcessMX sfpmx);
	@CacheEvict(key = "'selectSalesForecastProcessMX'+':'+#p0.id")
	public void deleteSalesForecastProcessMX(SalesForecastProcessMX sfpmx);
	public List<SalesForecastProcessMX> selectSalesForecastProcessMXCheck(SalesForecastProcessMX build);
	
	
	@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
	public SampleApplicationProcess selectSampleApplicationProcess(SampleApplicationProcess sfp); // 查询替代删除
	public void insertSampleApplicationProcess(SampleApplicationProcess element);
	@CacheEvict(key = "'selectSampleApplicationProcess'+':'+#p0.id")
	public void updateSampleApplicationProcess(SampleApplicationProcess element); // 配合redis中的reset标签进行更新
	@CacheEvict(key = "'selectSampleApplicationProcess'+':'+#p0.id")
	public void deleteSampleApplicationProcess(SampleApplicationProcess item);
	public List<SampleApplicationProcess> selectSampleApplicationProcessCheck(SampleApplicationProcess build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
	public SampleApplicationProcessMingXi selectSampleApplicationProcessMingXi(SampleApplicationProcessMingXi sfp); // 查询替代删除
	public void insertSampleApplicationProcessMingXi(SampleApplicationProcessMingXi element);
	@CacheEvict(key = "'selectSampleApplicationProcessMingXi'+':'+#p0.id")
	public void updateSampleApplicationProcessMingXi(SampleApplicationProcessMingXi element); // 配合redis中的reset标签进行更新
	@CacheEvict(key = "'selectSampleApplicationProcessMingXi'+':'+#p0.id")
	public void deleteSampleApplicationProcessMingXi(SampleApplicationProcessMingXi item);
	public List<SampleApplicationProcessMingXi> selectSampleApplicationProcessMingXiCheck(SampleApplicationProcessMingXi build);
	
	
	
	@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
	public SampleClosingProcess selectSampleClosingProcess(SampleClosingProcess sfp); // 查询替代删除
	public void insertSampleClosingProcess(SampleClosingProcess element);
	@CacheEvict(key = "'selectSampleClosingProcess'+':'+#p0.id")
	public void updateSampleClosingProcess(SampleClosingProcess element); // 配合redis中的reset标签进行更新
	@CacheEvict(key = "'selectSampleClosingProcess'+':'+#p0.id")
	public void deleteSampleClosingProcess(SampleClosingProcess item);
	public List<SampleClosingProcess> selectSampleClosingProcessCheck(SampleClosingProcess build);
	
	@Cacheable(key = "#root.method.name+':'+#p0.id", unless="#result == null")
	public SampleClosingProcessMingXi selectSampleClosingProcessMingXi(SampleClosingProcessMingXi sfp); // 查询替代删除
	public void insertSampleClosingProcessMingXi(SampleClosingProcessMingXi element);
	@CacheEvict(key = "'selectSampleClosingProcessMingXi'+':'+#p0.id")
	public void updateSampleClosingProcessMingXi(SampleClosingProcessMingXi element); // 配合redis中的reset标签进行更新
	@CacheEvict(key = "'selectSampleClosingProcessMingXi'+':'+#p0.id")
	public void deleteSampleClosingProcessMingXi(SampleClosingProcessMingXi item);
	public List<SampleClosingProcessMingXi> selectSampleClosingProcessMingXiCheck(SampleClosingProcessMingXi build);
	
	
	
	
	
	
	
	
	
	
	
	
	
	

	
	// 宽表
	public VbapAdv selectVbapAdv(Vbap vbap); // 查询替代删除
	public void insertVbapAdv(Vbap element);
	public void updateVbapAdv(Vbap element);
	public void deleteVbapAdv(Vbap data);
	public void resetCaVbapAdv(Vbap element); // 重置宽表，重置后宽表所有的update都重新执行
	
	// 更新宽表字段,一对一的表
	public void updateVbapAdv4Aufk(Aufk element);
	public void updateVbapAdv4SysSAPreturnNo(SysSAPreturnNo element);
	public void updateVbapAdv4SalesContractProcess(SalesContractProcess element);
	public void updateVbapAdv4Mara(Mara element);
	public void updateVbapAdv4Makt(Makt element);
	public void updateVbapAdv4Zsd06(Zsd06 element);
	public void updateVbapAdv4Vbak(Vbak element);
	public void updateVbapAdv4Likp(Likp element);
	public void updateVbapAdv4Handover(Handover element);
	public void updateVbapAdv4Zmdpc(Zmdpc element);
	public void updateVbapAdv4T023t(T023t element);
	public void updateVbapAdv4Kna1(Kna1 element);
	
	// 更新计算字段
	public void updateCaVbapAdv4Lips(VbapAdv vbapAdv); // caLips4ccsl
	public void updateCaVbapAdv4VbepJhsl(VbapAdv vbapAdv); // caVbep4jhsl
	public void updateCaVbapAdv4AfpoRksl(VbapAdv vbapAdv); // caAfpo4rksl
	public void updateCaVbapAdv4AfpoPcsl(VbapAdv vbapAdv); // caAfpo4pcsl
	public void updateCaVbapAdv4Vbrp(VbapAdv vbapAdv); // caVbrp4kpsl
	
	public void updateCaVbapAdv4VbepJhsj(VbapAdv vbapAdv); // caVbep4jhsj
	public void updateCaVbapAdv4Vbrk(VbapAdv vbapAdv); // caVbrk4kpsj
	public void updateCaVbapAdv4Aufm(VbapAdv vbapAdv); // caAufm4rksj
	
	
	public Aufk selectVbapAdv4Aufk(Vbap vbap);
	public SysSAPreturnNo selectVbapAdv4SysSAPreturnNo(Vbap vbap);
	public SalesContractProcess selectVbapAdv4SalesContractProcess(Vbap vbap);
	public Mara selectVbapAdv4Mara(Vbap vbap);
	public Makt selectVbapAdv4Makt(Vbap vbap);
	public Zsd06 selectVbapAdv4Zsd06(Vbap vbap);
	public Vbak selectVbapAdv4Vbak(Vbap vbap);
	public Likp selectVbapAdv4Likp(Vbap vbap);
	public Handover selectVbapAdv4Handover(Vbap vbap);
	public Zmdpc selectVbapAdv4Zmdpc(Vbap vbap);
	public T023t selectVbapAdv4T023t(Vbap vbap);
	public Kna1 selectVbapAdv4Kna1(Vbap vbap);
	
	public BigDecimal caLips4ccsl(Vbap source); // updateCaVbapAdv4Lips
	public BigDecimal caVbep4jhsl(Vbap source); // updateCaVbapAdv4VbepJhsl
	public BigDecimal caAfpo4rksl(Vbap source); // updateCaVbapAdv4AfpoRksl
	public BigDecimal caAfpo4pcsl(Vbap source); // updateCaVbapAdv4AfpoPcsl
	public BigDecimal caVbrp4kpsl(Vbap source); // updateCaVbapAdv4Vbrp
	
	public Date caVbep4jhsj(Vbap source); // updateCaVbapAdv4VbepJhsj
	public Date caVbrk4kpsj(Vbap source); // updateCaVbapAdv4Vbrk
	public Date caAufm4rksj(Vbap source); // updateCaVbapAdv4Aufm
	
	public Date caHandover4ccsj(Vbap source);
	public Date caHandover4wlsj(Vbap source);
	
	// 更新所有计算字段
	public void updatevbapAdv4CaAll(VbapAdv vbapAdv);
	
	// 查询客户每月回款列表
	public List<CAVThisMonth> selectCAVThisMonthByEveryMonth();
	
	@Cacheable(key = "#root.method.name+':'+#p0.kunnr+','+#p0.waers+','+#p0.budatd+','+#p0.budatb", unless="#result == null")
	public CAVThisMonth selectCAVThisMonth(CAVThisMonth item); // 查询客户每月回款结果
	public void insertCAVThisMonth(CAVThisMonth item); // 写入客户每月回款结果
	@CacheEvict(key = "'selectCAVThisMonth'+':'+#p0.kunnr+','+#p0.waers+','+#p0.budatd+','+#p0.budatb")
	public void updateCAVThisMonth(CAVThisMonth item); // 更新客户每月回款结果
	
	
}
