linwe
2024-05-25 7730a5e43fbf8bb7f5c94760321e7577fca4bd57
工单号生成
1 files modified
40 ■■■■■ changed files
src/main/java/org/springblade/modules/eCallEventTwo/service/impl/EcCallEventTwoServiceImpl.java 40 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/eCallEventTwo/service/impl/EcCallEventTwoServiceImpl.java
@@ -19,6 +19,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.common.param.GridSet;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.modules.eCallEventTwo.dto.ECallEventTwoDTO;
import org.springblade.modules.eCallEventTwo.entity.ECallEventTwoEntity;
import org.springblade.modules.eCallEventTwo.mapper.EcCallEventTwoMapper;
@@ -26,7 +27,10 @@
import org.springblade.modules.eCallEventTwo.vo.ECallEventTwoVO;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.Random;
/**
 * 工单 服务实现类
@@ -70,6 +74,8 @@
    public boolean saveTwo(ECallEventTwoVO eCallEventTwo) {
        eCallEventTwo.setLat(eCallEventTwo.getSceneGeoLat().toString());
        eCallEventTwo.setLng(eCallEventTwo.getSceneGeoLng().toString());
        // 设置工单号
        eCallEventTwo.setOrderCode(getOrderCode());
        // 计算网格
        if (eCallEventTwo.getLng() != null && eCallEventTwo.getLat() != null) {
            // 点落面计算警格,网格,警格
@@ -78,4 +84,38 @@
        }
        return save(eCallEventTwo);
    }
    /**
     * 获取工单号
     * @return
     */
    private String getOrderCode() {
        // 生成工单号:
        // 话务行政区划、编号类型、来电时间、来源渠道、流水号6    361100-00-202402131524-01-123456
        // 行政区划
        String deptId = AuthUtil.getDeptId();
        // 编号类型
        String no = "00";
        // 时间
        String dateStr = getDateStr();
        // 来源渠道
        String source = "01";
        // 流水号6位
        String serial = getSerialStr();
        String orderCode = deptId + "-" + no + "-" + dateStr + "-" + source + "-" + serial;
        return orderCode;
    }
    private String getSerialStr() {
        Random random = new Random();
        int sixDigitNumber = random.nextInt(900000) + 100000; // 生成100000到999999之间的随机数
        return String.valueOf(sixDigitNumber);
    }
    private String getDateStr() {
        LocalDateTime now = LocalDateTime.now();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmm");
        return now.format(formatter);
    }
}