2024-5-24 设备-报修-报修审核后发送微信维修通知

master
A0010407 10 months ago
parent 83c8ea6e34
commit fdc8f9edad

@ -249,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();
@ -269,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("报修审核后,企业微信发送维修信息成功!");
}
/**
*
*

Loading…
Cancel
Save