2024-5-24 设备-手持-报修-报修后发送微信审核提醒

master
A0010407 1 year ago
parent 540b362065
commit 13fd0189cb

@ -1,5 +1,6 @@
package com.op.device.service.impl;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.context.SecurityContextHolder;
import com.op.common.core.domain.BaseFileData;
@ -12,7 +13,12 @@ import com.op.device.domain.*;
import com.op.device.domain.dto.PDADTO;
import com.op.device.mapper.*;
import com.op.device.service.IDevicePDAService;
import com.op.system.api.RemoteOpenService;
import com.op.system.api.domain.SysNoticeGroup;
import com.op.system.api.domain.SysUser;
import com.op.system.api.domain.dto.WechartDTO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -30,6 +36,9 @@ import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import static com.op.common.core.web.domain.AjaxResult.error;
import static com.op.common.core.web.domain.AjaxResult.success;
@ -42,6 +51,7 @@ import static com.op.common.core.web.domain.AjaxResult.success;
*/
@Service
public class DevicePDAServiceImpl implements IDevicePDAService {
protected Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private EquOrderMapper equOrderMapper;
@ -89,6 +99,9 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
@Autowired
private EquOperationMapper equOperationMapper;
@Autowired
private RemoteOpenService remoteOpenService;
/**
* list-
*
@ -459,11 +472,16 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
@DS("#header.poolName")
public AjaxResult addRepairRecord(EquRepairOrder equRepairOrder) {
try {
// equRepairOrder
//自动填入联系人 联系方式!!!!!
EquTeamUser equTeamUser = new EquTeamUser();
equTeamUser.setUserName(SecurityUtils.getUsername());
EquTeamUser equTeamUser1 = equRepairOrderMapper.getRepairPhoneNumber(equTeamUser);
//人员
equRepairOrder.setOrderRepairmanName(equTeamUser1.getNickName());
equRepairOrder.setOrderConnection(equTeamUser1.getPhonenumber());
String id = IdUtils.fastSimpleUUID();
equRepairOrder.setOrderId(id);
// 新增 是需要获取故障报修流水号
//获取故障报修流水号
String serialNum = String.format("%03d", equRepairOrderMapper.selectOrderCodeSerialNumber());
String equipmentCode = equRepairOrder.getEquipmentCode();
//报修单号
@ -498,6 +516,78 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
equRepairOrderMapper.insertBaseFileBatch(files);
}
//PDA企业微信报修审核提醒
//发企业微信--------------------开始(跟班组有关)
SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒"); //规范时间格式
SysNoticeGroup noticeQo = new SysNoticeGroup();
//id写死了
noticeQo.setNoticeId(10L);
List<SysNoticeGroup> notices = equRepairOrderMapper.getNoticesGroup(noticeQo);
if(!CollectionUtils.isEmpty(notices)) {
List<WechartDTO> wecharts = new ArrayList<>();
List<String> userCodes = notices.stream()
.map(SysNoticeGroup::getUserCode)
.collect(Collectors.toList());
for (SysNoticeGroup noticeDto : notices) {
WechartDTO wechart0 = new WechartDTO();
wechart0.setUserId(noticeDto.getWxId());
String contentInfo = noticeDto.getNoticeContent();
//在前端填的时候,需要判空!!!!!!
contentInfo = contentInfo
.replace("${message}", "\n")
.replace("${equipmentCode}", equRepairOrder.getEquipmentCode()+"\n")
.replace("${orderCode}", equRepairOrder.getOrderCode()+"\n")
.replace("${orderDesc}", equRepairOrder.getOrderDesc()+"\n")
;
//故障时间
if(equRepairOrder.getOrderBreakdownTime() != null){
contentInfo = contentInfo.replace("${orderBreakdownTime}", myFmt.format(equRepairOrder.getOrderBreakdownTime())+"\n");
}else{
contentInfo = contentInfo.replace("${orderBreakdownTime}", "无"+"\n");
}
//报修人
if(equRepairOrder.getOrderBreakdownTime() != null){
contentInfo = contentInfo.replace("${orderRepairmanName}", equRepairOrder.getOrderRepairmanName()+"\n");
}else{
contentInfo = contentInfo.replace("${orderRepairmanName}", "无"+"\n");
}
//查询设备相关信息
//设备名称
EquEquipment equ = equEquipmentMapper.selectEquEquipmentByEquEquipmentCode(equRepairOrder.getEquipmentCode());
if(StringUtils.isNotEmpty(equ.getEquipmentName())){
contentInfo = contentInfo.replace("${equipmentName}", equ.getEquipmentName()+"\n");
}else{
contentInfo = contentInfo.replace("${equipmentName}", "无"+"\n");
}
//设备位置
if(StringUtils.isNotEmpty(equ.getEquipmentLocation())){
contentInfo = contentInfo.replace("${equipmentLocation}", equ.getEquipmentLocation()+"\n");
}else{
contentInfo = contentInfo.replace("${equipmentLocation}", "无"+"\n");
}
Pattern p= Pattern.compile("<[^>]+>");
Matcher m = p.matcher(contentInfo);
contentInfo = m.replaceAll("");
System.out.println(contentInfo);
wechart0.setText(contentInfo);
wecharts.add(wechart0);
}
logger.info("PDA端报修企业微信提醒请求" + JSONObject.toJSONString(wecharts));
if (!CollectionUtils.isEmpty(wecharts)) {
new Thread(() -> {
AjaxResult wxresult = remoteOpenService.sendWeChartMessage(wecharts);
logger.info("PDA端报修企业微信提醒结果" + JSONObject.toJSONString(wxresult));
}).start();
}
//发企业微信--------------------结束
}
return success("新增报修记录成功!");
} catch (Exception e) {
return error();

Loading…
Cancel
Save