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.PtsFeeDetailVo;
import com.brilliance.isc.common.setmod.vo.SetmodVo;
import com.brilliance.mda.runtime.mda.util.MdaUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component("setmod.settleRegister")
public class SetmodSettleRegister implements ISettleRegister {

    @Autowired
    private SetglgService setglgService;

    @Override
    public void registerSettlement(SetmodVo setmodVo) {
        // expdat is not in all business sectors available:
        // support of GLGGRPFLG in PTS
        int gridCnt = setmodVo.getPtydet().size();
        for (int i = 0; i < gridCnt; i++) {
            PtsFeeDetailVo ptyDet = setmodVo.getPtydet().get(i);
            if (!MdaUtils.isEmpty(ptyDet.getRol())) {
                switch (ptyDet.getGlggrpflg()) {
                    case "F":
                        this.setglgService.setDefaultGlgGrp(setmodVo.getSetglg(), ptyDet.getRol(), "*SETFEG", "F");
                        this.setglgService.setDefaultGlgGrp(setmodVo.getSetglg(), ptyDet.getRol(), "*SETFOG", "F");
                        break;
                    default:
                        this.setglgService.setDefaultGlgGrp(setmodVo.getSetglg(), ptyDet.getRol(), "*SETFEG", "");
                        this.setglgService.setDefaultGlgGrp(setmodVo.getSetglg(), ptyDet.getRol(), "*SETFOG", "");
                }
            }
        }
    }
}
