WOService.java 1.55 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
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;
    }
}