|
|
|
@ -4,7 +4,11 @@ import java.text.SimpleDateFormat;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.regex.Matcher;
|
|
|
|
|
import java.util.regex.Pattern;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
|
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
|
|
|
|
import com.op.common.core.domain.BaseFileData;
|
|
|
|
|
import com.op.common.core.utils.DateUtils;
|
|
|
|
@ -14,6 +18,11 @@ import com.op.common.core.web.domain.AjaxResult;
|
|
|
|
|
import com.op.common.security.utils.SecurityUtils;
|
|
|
|
|
import com.op.device.domain.*;
|
|
|
|
|
import com.op.device.mapper.*;
|
|
|
|
|
import com.op.system.api.RemoteOpenService;
|
|
|
|
|
import com.op.system.api.domain.SysNoticeGroup;
|
|
|
|
|
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 com.op.device.service.IEquRepairOrderService;
|
|
|
|
@ -35,6 +44,8 @@ import static com.op.common.core.web.domain.AjaxResult.success;
|
|
|
|
|
*/
|
|
|
|
|
@Service
|
|
|
|
|
public class EquRepairOrderServiceImpl implements IEquRepairOrderService {
|
|
|
|
|
protected Logger logger = LoggerFactory.getLogger(getClass());
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private EquRepairOrderMapper equRepairOrderMapper;
|
|
|
|
|
|
|
|
|
@ -53,6 +64,9 @@ public class EquRepairOrderServiceImpl implements IEquRepairOrderService {
|
|
|
|
|
@Autowired
|
|
|
|
|
private EquOrderMapper equOrderMapper;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private RemoteOpenService remoteOpenService;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查询故障报修
|
|
|
|
|
*
|
|
|
|
@ -161,6 +175,67 @@ public class EquRepairOrderServiceImpl implements IEquRepairOrderService {
|
|
|
|
|
}
|
|
|
|
|
equRepairOrderMapper.insertBaseFileBatch(files);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//企业微信报修审核提醒
|
|
|
|
|
//发企业微信--------------------开始(跟班组有关)
|
|
|
|
|
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")
|
|
|
|
|
.replace("${orderBreakdownTime}", myFmt.format(equRepairOrder.getOrderBreakdownTime())+"\n")
|
|
|
|
|
.replace("${orderRepairmanName}", equRepairOrder.getOrderRepairmanName()+"\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("PC端报修企业微信提醒请求:" + JSONObject.toJSONString(wecharts));
|
|
|
|
|
if (!CollectionUtils.isEmpty(wecharts)) {
|
|
|
|
|
|
|
|
|
|
new Thread(() -> {
|
|
|
|
|
AjaxResult wxresult = remoteOpenService.sendWeChartMessage(wecharts);
|
|
|
|
|
logger.info("PC端报修企业微信提醒结果:" + JSONObject.toJSONString(wxresult));
|
|
|
|
|
|
|
|
|
|
}).start();
|
|
|
|
|
}
|
|
|
|
|
//发企业微信--------------------结束
|
|
|
|
|
}
|
|
|
|
|
return equRepairOrderMapper.insertEquRepairOrder(equRepairOrder);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -174,13 +249,10 @@ public class EquRepairOrderServiceImpl implements IEquRepairOrderService {
|
|
|
|
|
@Override
|
|
|
|
|
@DS("#header.poolName")
|
|
|
|
|
public int checkEquRepairOrder(EquRepairOrder equRepairOrder) {
|
|
|
|
|
//不生成流水号,从报修单号第十位开始切割、拼接
|
|
|
|
|
String code = equRepairOrder.getOrderCode().substring(10);
|
|
|
|
|
String code = equRepairOrder.getOrderCode().substring(10); //不生成流水号,从报修单号第十位开始切割、拼接
|
|
|
|
|
String workCode = DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + code;
|
|
|
|
|
//判断是否是点检、巡检过来的
|
|
|
|
|
if (equRepairOrder.getOrderSource().equals("点检") || equRepairOrder.getOrderSource().equals("巡检")) {
|
|
|
|
|
//更新检查项信息
|
|
|
|
|
EquOrder equOrder = new EquOrder();
|
|
|
|
|
if (equRepairOrder.getOrderSource().equals("点检") || equRepairOrder.getOrderSource().equals("巡检")) { //判断是否是点检、巡检过来的
|
|
|
|
|
EquOrder equOrder = new EquOrder(); //更新检查项信息
|
|
|
|
|
List<String> ids = equOrderMapper.getIdsByOrderCode(equRepairOrder.getOrderCode());
|
|
|
|
|
for (String id : ids) {
|
|
|
|
|
EquOrder one = new EquOrder();
|
|
|
|
@ -194,148 +266,230 @@ public class EquRepairOrderServiceImpl implements IEquRepairOrderService {
|
|
|
|
|
|
|
|
|
|
if (equRepairOrder.getRepairDestination().equals("计划性维修")) {
|
|
|
|
|
EquRepairWorkOrder equRepairWorkOrder = new EquRepairWorkOrder();
|
|
|
|
|
//报修单号
|
|
|
|
|
equRepairWorkOrder.setOrderCode(equRepairOrder.getOrderCode());
|
|
|
|
|
//维修单号
|
|
|
|
|
equRepairWorkOrder.setWorkCode("WX" + workCode);
|
|
|
|
|
//报修id
|
|
|
|
|
equRepairWorkOrder.setOrderId(equRepairOrder.getOrderId());
|
|
|
|
|
//设备编号
|
|
|
|
|
equRepairWorkOrder.setEquipmentCode(equRepairOrder.getEquipmentCode());
|
|
|
|
|
//维修组
|
|
|
|
|
equRepairWorkOrder.setWorkTeam(equRepairOrder.getWorkTeam());
|
|
|
|
|
//不委外
|
|
|
|
|
equRepairWorkOrder.setWorkOutsource("0");
|
|
|
|
|
//无委外单号
|
|
|
|
|
equRepairWorkOrder.setOutWorkCode("无");
|
|
|
|
|
//是否立即维修 1是 0 否
|
|
|
|
|
equRepairWorkOrder.setWorkHandle("0");
|
|
|
|
|
//计划维修时间
|
|
|
|
|
equRepairWorkOrder.setWorkPlanTime(equRepairOrder.getWorkPlanTime());
|
|
|
|
|
//是否停机维修 停机维修时间
|
|
|
|
|
if (equRepairOrder.getWorkPlanDownTime() != null) {
|
|
|
|
|
equRepairWorkOrder.setOrderCode(equRepairOrder.getOrderCode()); //报修单号
|
|
|
|
|
equRepairWorkOrder.setWorkCode("WX" + workCode); //维修单号
|
|
|
|
|
equRepairWorkOrder.setWorkId(IdUtils.fastSimpleUUID());
|
|
|
|
|
equRepairWorkOrder.setOrderId(equRepairOrder.getOrderId()); //报修id
|
|
|
|
|
equRepairWorkOrder.setEquipmentCode(equRepairOrder.getEquipmentCode()); //设备编号
|
|
|
|
|
equRepairWorkOrder.setWorkTeam(equRepairOrder.getWorkTeam()); //维修组
|
|
|
|
|
equRepairWorkOrder.setWorkOutsource("0"); //不委外
|
|
|
|
|
equRepairWorkOrder.setOutWorkCode("无"); //无委外单号
|
|
|
|
|
equRepairWorkOrder.setWorkHandle("0"); //是否立即维修 1是 0 否
|
|
|
|
|
equRepairWorkOrder.setWorkPlanTime(equRepairOrder.getWorkPlanTime()); //计划维修时间
|
|
|
|
|
if (equRepairOrder.getWorkPlanDownTime() != null) { //是否停机维修 停机维修时间
|
|
|
|
|
equRepairWorkOrder.setWorkDownMachine("1");
|
|
|
|
|
equRepairWorkOrder.setWorkPlanDownTime(equRepairOrder.getWorkPlanDownTime());
|
|
|
|
|
} else {
|
|
|
|
|
equRepairWorkOrder.setWorkDownMachine("0");
|
|
|
|
|
}
|
|
|
|
|
//故障描述????
|
|
|
|
|
equRepairWorkOrder.setWorkFaultDesc(equRepairOrder.getOrderDesc());
|
|
|
|
|
//维修状态 待维修
|
|
|
|
|
equRepairWorkOrder.setWorkStatus("0");
|
|
|
|
|
equRepairWorkOrder.setWorkId(IdUtils.fastSimpleUUID());
|
|
|
|
|
equRepairWorkOrder.setWorkFaultDesc(equRepairOrder.getOrderDesc()); //故障描述
|
|
|
|
|
equRepairWorkOrder.setWorkStatus("0"); //维修状态 待维修
|
|
|
|
|
equRepairWorkOrder.setCreateTime(DateUtils.getNowDate());
|
|
|
|
|
equRepairWorkOrder.setCreateBy(SecurityUtils.getUsername());
|
|
|
|
|
//工厂
|
|
|
|
|
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
|
|
|
|
|
String key = "#header.poolName";
|
|
|
|
|
equRepairWorkOrder.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_", ""));
|
|
|
|
|
|
|
|
|
|
////更新维修单
|
|
|
|
|
equRepairWorkOrderMapper.insertEquRepairWorkOrder(equRepairWorkOrder);
|
|
|
|
|
equRepairOrder.setOrderStatus("审核通过");
|
|
|
|
|
|
|
|
|
|
////更新设备状态
|
|
|
|
|
EquEquipment equEquipment = new EquEquipment();
|
|
|
|
|
equEquipment.setEquipmentCode(equRepairOrder.getEquipmentCode());
|
|
|
|
|
//0 故障
|
|
|
|
|
equEquipment.setEquipmentStatus("0");
|
|
|
|
|
equEquipment.setEquipmentStatus("0"); //0 故障
|
|
|
|
|
equRepairWorkOrderMapper.updateEquipmentStatus(equEquipment);
|
|
|
|
|
|
|
|
|
|
////审核结果
|
|
|
|
|
equRepairOrder.setOrderStatus("审核通过");
|
|
|
|
|
|
|
|
|
|
////发送微信通知
|
|
|
|
|
AjaxResult repairSendWeChatResult = repairSendWeChat(equRepairWorkOrder);
|
|
|
|
|
} else if (equRepairOrder.getRepairDestination().equals("不维修")) {
|
|
|
|
|
equRepairOrder.setOrderStatus("驳回");
|
|
|
|
|
|
|
|
|
|
} else if (equRepairOrder.getRepairDestination().equals("委外维修")) {
|
|
|
|
|
EquOutsourceWork equOutsourceWork = new EquOutsourceWork();
|
|
|
|
|
//id
|
|
|
|
|
equOutsourceWork.setWorkId(IdUtils.fastSimpleUUID());
|
|
|
|
|
//报修单号
|
|
|
|
|
equOutsourceWork.setOrderCode(equRepairOrder.getOrderCode());
|
|
|
|
|
//设备编码
|
|
|
|
|
equOutsourceWork.setEquipmentCode(equRepairOrder.getEquipmentCode());
|
|
|
|
|
//委外工单号
|
|
|
|
|
equOutsourceWork.setWorkCode("WW" + workCode);
|
|
|
|
|
//维修工单号
|
|
|
|
|
equOutsourceWork.setRepairCode("无");
|
|
|
|
|
//委外联系方式
|
|
|
|
|
equOutsourceWork.setWorkConnection(equRepairOrder.getWorkConnection());
|
|
|
|
|
//委外单位
|
|
|
|
|
equOutsourceWork.setWorkOutsourcingUnit(equRepairOrder.getWorkOutsourcingUnit());
|
|
|
|
|
//委外人员
|
|
|
|
|
equOutsourceWork.setWorkPerson(equRepairOrder.getOutSourcePerson());
|
|
|
|
|
//委外原因
|
|
|
|
|
equOutsourceWork.setWorkReason(equRepairOrder.getOutSourceReason());
|
|
|
|
|
//委外类型 维修委外
|
|
|
|
|
equOutsourceWork.setWorkType("0");
|
|
|
|
|
equOutsourceWork.setWorkId(IdUtils.fastSimpleUUID()); //id
|
|
|
|
|
equOutsourceWork.setOrderCode(equRepairOrder.getOrderCode()); //报修单号
|
|
|
|
|
equOutsourceWork.setEquipmentCode(equRepairOrder.getEquipmentCode()); //设备编码
|
|
|
|
|
equOutsourceWork.setWorkCode("WW" + workCode); //委外工单号
|
|
|
|
|
equOutsourceWork.setRepairCode("无"); //维修工单号
|
|
|
|
|
equOutsourceWork.setWorkConnection(equRepairOrder.getWorkConnection()); //委外联系方式
|
|
|
|
|
equOutsourceWork.setWorkOutsourcingUnit(equRepairOrder.getWorkOutsourcingUnit()); //委外单位
|
|
|
|
|
equOutsourceWork.setWorkPerson(equRepairOrder.getOutSourcePerson()); //委外人员
|
|
|
|
|
equOutsourceWork.setWorkReason(equRepairOrder.getOutSourceReason()); //委外原因
|
|
|
|
|
equOutsourceWork.setWorkType("0"); //委外类型 维修委外
|
|
|
|
|
equOutsourceWork.setCreateBy(SecurityUtils.getUsername());
|
|
|
|
|
equOutsourceWork.setCreateTime(DateUtils.getNowDate());
|
|
|
|
|
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
|
|
|
|
|
String key = "#header.poolName";
|
|
|
|
|
//工厂号
|
|
|
|
|
equOutsourceWork.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_", ""));
|
|
|
|
|
////更新委外列表
|
|
|
|
|
equOutsourceWorkMapper.insertEquOutsourceWork(equOutsourceWork);
|
|
|
|
|
equRepairOrder.setOrderStatus("审核通过");
|
|
|
|
|
|
|
|
|
|
////更新设备状态
|
|
|
|
|
EquEquipment equEquipment = new EquEquipment();
|
|
|
|
|
equEquipment.setEquipmentCode(equRepairOrder.getEquipmentCode());
|
|
|
|
|
//0 故障
|
|
|
|
|
equEquipment.setEquipmentStatus("0");
|
|
|
|
|
equEquipment.setEquipmentStatus("0"); //0 故障
|
|
|
|
|
equRepairWorkOrderMapper.updateEquipmentStatus(equEquipment);
|
|
|
|
|
|
|
|
|
|
equRepairOrder.setOrderStatus("审核通过");
|
|
|
|
|
} else if (equRepairOrder.getRepairDestination().equals("立即维修")) {
|
|
|
|
|
EquRepairWorkOrder equRepairWorkOrder = new EquRepairWorkOrder();
|
|
|
|
|
//维修工单id
|
|
|
|
|
equRepairWorkOrder.setWorkId(IdUtils.fastSimpleUUID());
|
|
|
|
|
//报修单号
|
|
|
|
|
equRepairWorkOrder.setOrderCode(equRepairOrder.getOrderCode());
|
|
|
|
|
//维修单号
|
|
|
|
|
equRepairWorkOrder.setWorkCode("WX" + workCode);
|
|
|
|
|
//orderId
|
|
|
|
|
equRepairWorkOrder.setOrderId(equRepairOrder.getOrderId());
|
|
|
|
|
//设备编码
|
|
|
|
|
equRepairWorkOrder.setEquipmentCode(equRepairOrder.getEquipmentCode());
|
|
|
|
|
//维修组
|
|
|
|
|
equRepairWorkOrder.setWorkTeam(equRepairOrder.getWorkTeam());
|
|
|
|
|
//不委外
|
|
|
|
|
equRepairWorkOrder.setWorkOutsource("0");
|
|
|
|
|
//无委外工单号
|
|
|
|
|
equRepairWorkOrder.setOutWorkCode("无");
|
|
|
|
|
//是否立即维修 1是 0 否
|
|
|
|
|
equRepairWorkOrder.setWorkHandle("0");
|
|
|
|
|
//计划维修时间
|
|
|
|
|
equRepairWorkOrder.setWorkPlanTime(equRepairOrder.getWorkPlanTime());
|
|
|
|
|
//是否停机维修 停机维修时间
|
|
|
|
|
if (equRepairOrder.getWorkPlanDownTime() != null) {
|
|
|
|
|
equRepairWorkOrder.setWorkId(IdUtils.fastSimpleUUID()); //维修工单id
|
|
|
|
|
equRepairWorkOrder.setOrderId(equRepairOrder.getOrderId()); //报修Id
|
|
|
|
|
equRepairWorkOrder.setOrderCode(equRepairOrder.getOrderCode()); //报修单号
|
|
|
|
|
equRepairWorkOrder.setWorkCode("WX" + workCode); //维修单号
|
|
|
|
|
equRepairWorkOrder.setEquipmentCode(equRepairOrder.getEquipmentCode()); //设备编码
|
|
|
|
|
equRepairWorkOrder.setWorkTeam(equRepairOrder.getWorkTeam()); //维修组
|
|
|
|
|
equRepairWorkOrder.setWorkOutsource("0"); //不委外
|
|
|
|
|
equRepairWorkOrder.setOutWorkCode("无"); //无委外工单号
|
|
|
|
|
equRepairWorkOrder.setWorkHandle("1"); //是否立即维修 1是 0 否
|
|
|
|
|
equRepairWorkOrder.setWorkPlanTime(equRepairOrder.getWorkPlanTime()); //计划维修时间
|
|
|
|
|
if (equRepairOrder.getWorkPlanDownTime() != null) { //是否停机维修 停机维修时间
|
|
|
|
|
equRepairWorkOrder.setWorkDownMachine("1");
|
|
|
|
|
equRepairWorkOrder.setWorkPlanDownTime(equRepairOrder.getWorkPlanDownTime());
|
|
|
|
|
} else {
|
|
|
|
|
equRepairWorkOrder.setWorkDownMachine("0");
|
|
|
|
|
}
|
|
|
|
|
//故障描述
|
|
|
|
|
|
|
|
|
|
equRepairWorkOrder.setWorkFaultDesc(equRepairOrder.getOrderDesc());
|
|
|
|
|
//工单状态 待维修
|
|
|
|
|
equRepairWorkOrder.setWorkStatus("0");
|
|
|
|
|
equRepairWorkOrder.setWorkStatus("0"); //工单状态 待维修
|
|
|
|
|
equRepairWorkOrder.setCreateTime(DateUtils.getNowDate());
|
|
|
|
|
equRepairWorkOrder.setCreateBy(SecurityUtils.getUsername());
|
|
|
|
|
//工厂
|
|
|
|
|
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
|
|
|
|
|
String key = "#header.poolName";
|
|
|
|
|
equRepairWorkOrder.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_", ""));
|
|
|
|
|
equRepairWorkOrderMapper.insertEquRepairWorkOrder(equRepairWorkOrder);
|
|
|
|
|
|
|
|
|
|
////审核结果
|
|
|
|
|
equRepairOrder.setOrderStatus("审核通过");
|
|
|
|
|
|
|
|
|
|
////更新设备状态
|
|
|
|
|
EquEquipment equEquipment = new EquEquipment();
|
|
|
|
|
equEquipment.setEquipmentCode(equRepairOrder.getEquipmentCode());
|
|
|
|
|
//0 故障
|
|
|
|
|
equEquipment.setEquipmentStatus("0");
|
|
|
|
|
equEquipment.setEquipmentStatus("0"); //0故障
|
|
|
|
|
equRepairWorkOrderMapper.updateEquipmentStatus(equEquipment);
|
|
|
|
|
|
|
|
|
|
AjaxResult repairSendWeChatResult = repairSendWeChat(equRepairWorkOrder);
|
|
|
|
|
}
|
|
|
|
|
equRepairOrder.setUpdateTime(DateUtils.getNowDate());
|
|
|
|
|
equRepairOrder.setUpdateBy(SecurityUtils.getUsername());
|
|
|
|
|
return equRepairOrderMapper.updateEquRepairOrder(equRepairOrder);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 维修时发送企业微信
|
|
|
|
|
*/
|
|
|
|
|
public AjaxResult repairSendWeChat(EquRepairWorkOrder equRepairWorkOrder) {
|
|
|
|
|
////企业微信维修提醒
|
|
|
|
|
//发企业微信--------------------开始(跟班组有关)
|
|
|
|
|
SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒"); //规范时间格式
|
|
|
|
|
SysNoticeGroup noticeQo = new SysNoticeGroup();
|
|
|
|
|
noticeQo.setNoticeId(11L); //id写死了?
|
|
|
|
|
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();
|
|
|
|
|
////判断是立即维修还是计划性维修
|
|
|
|
|
String workHandle = "";
|
|
|
|
|
if(equRepairWorkOrder.getWorkHandle().equals("1")){
|
|
|
|
|
workHandle = "立即维修";
|
|
|
|
|
}else{
|
|
|
|
|
workHandle = "计划性维修";
|
|
|
|
|
}
|
|
|
|
|
////判断是否需要停机维修
|
|
|
|
|
String workDownMachine = "";
|
|
|
|
|
if(equRepairWorkOrder.getWorkDownMachine().equals("1")){
|
|
|
|
|
workDownMachine = "停机";
|
|
|
|
|
}else{
|
|
|
|
|
workDownMachine = "不停机";
|
|
|
|
|
}
|
|
|
|
|
//在前端填的时候,需要判空!!!!!!
|
|
|
|
|
contentInfo = contentInfo
|
|
|
|
|
.replace("${message}", "\n")
|
|
|
|
|
.replace("${equipmentCode}", equRepairWorkOrder.getEquipmentCode()+"\n")
|
|
|
|
|
.replace("${workCode}", equRepairWorkOrder.getWorkCode()+"\n")
|
|
|
|
|
.replace("${workHandle}", workHandle+"\n");
|
|
|
|
|
//故障描述
|
|
|
|
|
if(StringUtils.isNotEmpty(equRepairWorkOrder.getWorkFaultDesc())){
|
|
|
|
|
contentInfo = contentInfo.replace("${workFaultDesc}", equRepairWorkOrder.getWorkFaultDesc()+"\n");
|
|
|
|
|
}else{
|
|
|
|
|
contentInfo = contentInfo.replace("${workFaultDesc}", "无"+"\n");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//维修组
|
|
|
|
|
if(StringUtils.isNotEmpty(equRepairWorkOrder.getWorkTeam())){
|
|
|
|
|
contentInfo = contentInfo.replace("${workTeam}", equRepairWorkOrder.getWorkTeam()+"\n");
|
|
|
|
|
}else{
|
|
|
|
|
contentInfo = contentInfo.replace("${workTeam}", "无"+"\n");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//计划停机维修时间
|
|
|
|
|
if(equRepairWorkOrder.getWorkPlanTime() != null){
|
|
|
|
|
contentInfo = contentInfo.replace("${workPlanTime}", myFmt.format(equRepairWorkOrder.getWorkPlanTime())+"\n");
|
|
|
|
|
}else{
|
|
|
|
|
contentInfo = contentInfo.replace("${workPlanTime}", "无"+"\n");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//计划停机维修时间
|
|
|
|
|
if(equRepairWorkOrder.getWorkPlanDownTime() != null){
|
|
|
|
|
contentInfo = contentInfo.replace("${workPlanDownTime}", myFmt.format(equRepairWorkOrder.getWorkPlanDownTime())+"\n");
|
|
|
|
|
}else{
|
|
|
|
|
contentInfo = contentInfo.replace("${workPlanDownTime}", "无"+"\n");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//是否停机
|
|
|
|
|
if(StringUtils.isNotEmpty(workDownMachine)){
|
|
|
|
|
contentInfo = contentInfo.replace("${workDownMachine}", workDownMachine+"\n");
|
|
|
|
|
}else{
|
|
|
|
|
contentInfo = contentInfo.replace("${workDownMachine}", "无"+"\n");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//查询设备相关信息
|
|
|
|
|
//设备名称
|
|
|
|
|
EquEquipment equ = equEquipmentMapper.selectEquEquipmentByEquEquipmentCode(equRepairWorkOrder.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("报修审核后企业微信提醒维修请求:" + JSONObject.toJSONString(wecharts));
|
|
|
|
|
if (!CollectionUtils.isEmpty(wecharts)) {
|
|
|
|
|
new Thread(() -> {
|
|
|
|
|
AjaxResult wxresult = remoteOpenService.sendWeChartMessage(wecharts);
|
|
|
|
|
logger.info("报修审核后企业微信提醒结果(下一步开始维修):" + JSONObject.toJSONString(wxresult));
|
|
|
|
|
}).start();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
//发企业微信--------------------结束
|
|
|
|
|
}
|
|
|
|
|
return success("报修审核后,企业微信发送维修信息成功!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 修改故障报修
|
|
|
|
|
*
|
|
|
|
|