package com.hxzkappboot.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hxzkappboot.mapper.*;
import com.hxzkappboot.pojo.*;
import com.hxzkappboot.service.TbTaskSchedulingService;
import com.hxzkappboot.udp.Udp_Out;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
*
* 服务实现类
*
*
* @author wangfei
* @since 2024-11-26
*/
@Service
public class TbTaskSchedulingServiceImpl extends ServiceImpl implements TbTaskSchedulingService {
@Autowired
TbTaskSchedulingMapper tbTaskSchedulingMapper;
@Autowired
TbWarningRecordMapper tbWarningRecordMapper;
@Autowired
TbPersonMapper tbPersonMapper;
@Autowired
TbSendMessageHistoryMapper tbSendMessageHistoryMapper;
public List earlyWarning() throws ParseException {
List tbTaskSchedulings = new ArrayList<>();
//查当前时间是否<=预警时间
//存数据
//查询有没有数据是否预警
Date date = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
SimpleDateFormat date2 = new SimpleDateFormat("yyyy-MM-dd");
String s = date2.format(date);
System.out.println(formatter.format(date));
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.le("begtime", formatter.format(date));
List fenceList = ((TbTaskSchedulingMapper)this.baseMapper).selectList(queryWrapper);
for (int i = 0; i < fenceList.size(); i++) {
QueryWrapper queryWrapper1 = new QueryWrapper();
queryWrapper1.eq("addtime", s);
queryWrapper1.eq("fencename", fenceList.get(i).getFencename());
List tbWarningRecords = tbWarningRecordMapper.selectList(queryWrapper1);
System.out.println(tbWarningRecords);
if (tbWarningRecords.size()==0){
QueryWrapper qw = new QueryWrapper();
queryWrapper.eq("p_fencename", fenceList.get(i).getFencename());
List people1 = tbPersonMapper.selectList(qw);
fenceList.get(i).setPersonList(people1);
tbTaskSchedulings.add(fenceList.get(i));
//person绑定的fence是一对一还是一对多
String xieyi = "BSTOCS1,TOMESSAGE," + people1.get(0).getPTagid() + "," + fenceList.get(i).getYjcontent() + ",系统,END";
Udp_Out.udp_to_cs(xieyi);
// SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
TbWarningRecord tbWarningRecord = new TbWarningRecord();
tbWarningRecord.setFencename(fenceList.get(i).getFencename());
tbWarningRecord.setYjcontent(fenceList.get(i).getYjcontent());
tbWarningRecord.setYjtime(fenceList.get(i).getBegtime());
tbWarningRecord.setTaskname(fenceList.get(i).getTaskname());
tbWarningRecord.setCompany(fenceList.get(i).getCompany());
tbWarningRecord.setAddtime(s);
tbWarningRecordMapper.insert(tbWarningRecord);
TbSendMessageHistory tbSendMessageHistory = new TbSendMessageHistory();
tbSendMessageHistory.setUser(people1.get(0).getPName());
tbSendMessageHistory.setTagid("系统");
tbSendMessageHistory.setNeirong(fenceList.get(i).getYjcontent());
tbSendMessageHistory.setTime(s);
tbSendMessageHistoryMapper.insert(tbSendMessageHistory);
}
}
return tbTaskSchedulings;
}
}