liusheng
2024-03-11 4920ea5372b919f8b8f27cd709e1ab4040fe8d2b
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/BaseOnlyvalueServiceImpl.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.project.domain.BaseOnlyvalue;
import com.ruoyi.project.mapper.BaseOnlyvalueMapper;
@@ -49,7 +50,7 @@
    @Override
    public String getOnlyCode(String businessType) {
    public BaseOnlyvalue getOnlyCode(String businessType, Boolean datequery) {
        LocalDate currentDate = LocalDate.now();
        int year = currentDate.getYear();
        int month = currentDate.getMonthValue();
@@ -57,8 +58,10 @@
        //通过年月日期去查询该月份是否存在
        String data = String.valueOf(year) + String.valueOf(month);
        BaseOnlyvalue baseOnlyvalue = new BaseOnlyvalue();
        baseOnlyvalue.setAppentvalue(data);
        if (datequery) {
            baseOnlyvalue.setAppentvalue(data);
        }
        baseOnlyvalue.setBusinesstype(businessType);
        List<BaseOnlyvalue> baseOnlyvalues = queryList(baseOnlyvalue);
        if (CollectionUtils.isEmpty(baseOnlyvalues)) {
@@ -68,15 +71,32 @@
            baseOnlyvalue.setBusinesstype(businessType);
            save(baseOnlyvalue);
            return "OPO-" + data + "1";
            return baseOnlyvalue;
        } else {
            //则将currentValue+1,重新赋值
            BaseOnlyvalue baseOnlyvalue1 = baseOnlyvalues.get(0);
            long newCurrentvalue = baseOnlyvalue1.getCurrentvalue() + 1;
            baseOnlyvalue1.setCurrentvalue(newCurrentvalue);
            updateById(baseOnlyvalue1);
            for (BaseOnlyvalue baseOnlyvalue1 : baseOnlyvalues) {
                if (datequery) {
                    //说明是需要将带日期的加1
                    if (!StringUtils.isEmpty(baseOnlyvalue1.getAppentvalue())) {
                        long newCurrentvalue = baseOnlyvalue1.getCurrentvalue() + 1;
                        baseOnlyvalue1.setCurrentvalue(newCurrentvalue);
                        updateById(baseOnlyvalue1);
                    } else {
                        continue;
                    }
                } else {
                    //说明是需要将不带日期的加1
                    if (StringUtils.isEmpty(baseOnlyvalue1.getAppentvalue())) {
                        long newCurrentvalue = baseOnlyvalue1.getCurrentvalue() + 1;
                        baseOnlyvalue1.setCurrentvalue(newCurrentvalue);
                        updateById(baseOnlyvalue1);
                    } else {
                        continue;
                    }
                }
                baseOnlyvalue = baseOnlyvalue1;
            }
            return "OPO-" + data + "" + newCurrentvalue;
            return baseOnlyvalue;
        }
    }