From ef013eb278a1de712e457937650e981e0d957d02 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Tue, 28 May 2024 10:20:17 +0800
Subject: [PATCH] 通过E呼即办数据
---
src/main/java/org/springblade/modules/eCallEventTwo/service/impl/EcCallEventTwoServiceImpl.java | 62 +++++++++++++++++++++++++++++++
1 files changed, 62 insertions(+), 0 deletions(-)
diff --git a/src/main/java/org/springblade/modules/eCallEventTwo/service/impl/EcCallEventTwoServiceImpl.java b/src/main/java/org/springblade/modules/eCallEventTwo/service/impl/EcCallEventTwoServiceImpl.java
index 73f8a7e..8b10703 100644
--- a/src/main/java/org/springblade/modules/eCallEventTwo/service/impl/EcCallEventTwoServiceImpl.java
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/service/impl/EcCallEventTwoServiceImpl.java
@@ -17,15 +17,24 @@
package org.springblade.modules.eCallEventTwo.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
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;
import org.springblade.modules.eCallEventTwo.service.IECallEventTwoService;
import org.springblade.modules.eCallEventTwo.vo.ECallEventTwoVO;
+import org.springblade.modules.system.entity.Dept;
+import org.springblade.modules.system.service.IDeptService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
import java.util.List;
+import java.util.Random;
/**
* 工单 服务实现类
@@ -35,6 +44,8 @@
*/
@Service
public class EcCallEventTwoServiceImpl extends ServiceImpl<EcCallEventTwoMapper, ECallEventTwoEntity> implements IECallEventTwoService {
+ @Autowired
+ private IDeptService deptService;
@Override
public IPage<ECallEventTwoVO> selectECallEventTwoPage(IPage<ECallEventTwoVO> page, ECallEventTwoVO eCallEventTwo) {
@@ -65,5 +76,56 @@
return this.baseMapper.selectECallEventTwoList(eCallEventTwoDTO);
}
+ @Override
+ 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) {
+ // 点落面计算警格,网格,警格
+ GridSet invoke = new GridSet().invoke(ECallEventTwoVO.class, eCallEventTwo,
+ "lng", "lat", "applicantGrid", "jwGridCode");
+ }
+ return save(eCallEventTwo);
+ }
+ /**
+ * 获取工单号
+ * @return
+ */
+ private String getOrderCode() {
+ String deptId1 = AuthUtil.getDeptId();
+ Dept dept = deptService.getOne(Wrappers.<Dept>lambdaQuery().eq(Dept::getId, deptId1));
+ // 生成工单号:
+ // 话务行政区划、编号类型、来电时间、来源渠道、流水号6 361100-00-202402131524-01-123456
+ // 行政区划
+ String deptId = dept.getSort().toString();
+ // 编号类型
+ String no = "00";
+ // 时间
+ String dateStr = getDateStr();
+ // 来源渠道
+ int sort = dept.getSort();
+ String source = String.format("%02d", sort);
+
+ // 流水号6位
+ String serial = getSerialStr();
+
+ String orderCode = "361100" + "-" + 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);
+ }
}
--
Gitblit v1.9.3