| | |
| | | |
| | | 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; |
| | |
| | | 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; |
| | | |
| | | /** |
| | | * 工单 服务实现类 |
| | |
| | | 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() { |
| | | // 生成工单号: |
| | | // 话务行政区划、编号类型、来电时间、来源渠道、流水号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); |
| | | } |
| | | } |