package com.eksad.masterdata.service; import com.eksad.masterdata.domain.MstWo; import com.eksad.masterdata.domain.TrxBizpar; import com.eksad.masterdata.repository.BizparRepository; import com.eksad.masterdata.repository.WoRepository; import jakarta.transaction.Transactional; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @Service @Transactional public class WOService { @Autowired WoRepository woRepository; @Autowired BizparRepository bizparRepository; public MstWo createNewWo() { TrxBizpar trxBizpar=bizparRepository.findByBizparName("wo_seq"); Long latestId=trxBizpar.getBizparNumvalue(); latestId++; MstWo mstWo=new MstWo(); mstWo.setWoId(latestId); mstWo.setNopol("B 1234 WOP"); mstWo.setCreateDt(new Date()); woRepository.save(mstWo); //set new latest id trxBizpar.setBizparNumvalue(latestId); bizparRepository.save(trxBizpar); return mstWo; } public MstWo createNewWoLock() { TrxBizpar trxBizpar=bizparRepository.findByBizparNameWithLock("wo_seq"); Long latestId=trxBizpar.getBizparNumvalue(); latestId++; MstWo mstWo=new MstWo(); mstWo.setWoId(latestId); mstWo.setNopol("B 1234 WOP"); mstWo.setCreateDt(new Date()); woRepository.save(mstWo); //set new latest id trxBizpar.setBizparNumvalue(latestId); bizparRepository.save(trxBizpar); return mstWo; } }