package com.brilliance.isc.common.register.settle.common;

import com.brilliance.isc.common.register.settle.ISettleRegister;
import com.brilliance.isc.common.setglg.service.SetglgService;
import com.brilliance.isc.common.setmod.vo.SetmodVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.math.BigDecimal;

@Component
public class XxtfeeSettleRegister implements ISettleRegister {

    @Autowired
    private SetglgService setglgService;

    //代码来源于Intmbu的registerSettlement,代码内容属于账务注册，因此要实现ISettleRegister接口
    @Override
    public void registerSettlement(SetmodVo setmodVo) {
        //这里的逻辑可以省略掉，需要在ptsptsList注入UMS UMH的party，试算过程中会调用
        /*if( MdaUtils.compareTo(this.getUmbflg(),"X") == 0 && MdaUtils.compareTo(ctx.absGet(Setmod.class).getDocamt(),0)>0 )
        {
            ctx.absGet(Setmod.class).setPtyBasics ( "UMS", this.getUms().getPts().getPtyinr(), this.getUms().getPts().getPtainr(), this.getUms().getPts().getNam() );
            ctx.absGet(Setmod.class).setPtyBasics ( "UMH", this.getUmh().getPts().getPtyinr(), this.getUmh().getPts().getPtainr(), this.getUmh().getPts().getNam() );
        }*/
        setglgService.setglgClrAmount(setmodVo.getSetglg(), "TRN");
        if ("X".equals(setmodVo.getRec().getUmbflg()) && setmodVo.getDocamt().compareTo(BigDecimal.ZERO) > 0) {
            setglgService.setglgAddAmount(setmodVo.getSetglg(), "TRN", "UMS", setmodVo.getDoccur(), setmodVo.getDocamt(), "", "", "", "", "");
            setglgService.setglgAddAmount(setmodVo.getSetglg(), "TRN", "UMH", setmodVo.getDoccur(), setmodVo.getDocamt().negate(), "", "", "", "", "");
        }
    }
}
