From 764d883b5ea3bdc06abbec548b6df0511e567978 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Tue, 03 Sep 2024 09:46:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/binlog' into binlog
---
src/main/java/org/springblade/modules/eCallEventTwo/service/impl/EcCallEventTwoServiceImpl.java | 65 ++++++++++++++++++++++++++++++++
1 files changed, 64 insertions(+), 1 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 19fc215..a4adf87 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,16 +17,25 @@
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.CommonParamSet;
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;
/**
* 工单 服务实现类
@@ -36,10 +45,24 @@
*/
@Service
public class EcCallEventTwoServiceImpl extends ServiceImpl<EcCallEventTwoMapper, ECallEventTwoEntity> implements IECallEventTwoService {
+ @Autowired
+ private IDeptService deptService;
@Override
public IPage<ECallEventTwoVO> selectECallEventTwoPage(IPage<ECallEventTwoVO> page, ECallEventTwoVO eCallEventTwo) {
- List<ECallEventTwoVO> eCallEventTwoVOS = baseMapper.selectECallEventTwoPage(page, eCallEventTwo);
+
+ // 公共参数设置
+ CommonParamSet commonParamSet = new CommonParamSet().invoke(ECallEventTwoVO.class, eCallEventTwo);
+ // 如果是委办局,直接设置成管理角色
+ if(AuthUtil.getUserRole().equals("wbj")){
+ commonParamSet.setIsAdministrator(1);
+ }
+ // 返回
+ List<ECallEventTwoVO> eCallEventTwoVOS = baseMapper.selectECallEventTwoPage(page,
+ eCallEventTwo,
+ commonParamSet.getGridCodeList(),
+ commonParamSet.getRegionChildCodesList(),
+ commonParamSet.getIsAdministrator());
return page.setRecords(eCallEventTwoVOS);
}
@@ -70,6 +93,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 +103,42 @@
}
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