删除 src/main/java/com/bonus/autoweb/GetBasicData.java

This commit is contained in:
tqzhang 2024-05-07 16:46:51 +08:00
parent 5581bb6dbe
commit 3262b3976d
1 changed files with 0 additions and 810 deletions

View File

@ -1,810 +0,0 @@
package com.bonus.autoweb;
import com.bonus.autoweb.UI.entity.DailyBean;
import com.bonus.autoweb.UI.entity.LogBean;
import com.bonus.autoweb.base.DataConfig;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.*;
import java.nio.charset.Charset;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
/**
* 项目名称: autoWebForSuZhou
* 文件名称: getBasicData
* 文件描述: @Description: 定时获取新一代应急系统内的数据
* 创建人: @author tqzhang
* 创建时间: 2023年07月31日 10:21
*/
public class GetBasicData {
private Logger log = LoggerFactory.getLogger(GetBasicData.class);
private WebDriver webDriver;
public GetBasicData(WebDriver webDriver) {
this.webDriver = webDriver;
}
/**
* 解决乱码问题
*
* @param path
* @return
*/
public static String resolveGarbledCode(String path) {
StringBuffer sb = new StringBuffer();
try {
FileInputStream fis = new FileInputStream(path);
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
BufferedReader reader = new BufferedReader(isr);
String line;
while ((line = reader.readLine()) != null) {
sb.append(line);
}
reader.close();
} catch (Exception e) {
sb = new StringBuffer();
sb.append("error");
e.printStackTrace();
}
return sb.toString();
}
public static void getYuJingActionBasicData(int classes) throws ParseException, InterruptedException {
Thread.sleep(5000);
DailyBean dailyBean = readDailyBean("morning_daily");
DailyBean dailyBean2 = readDailyBean("evening_daily");
LogBean logBean = readDutyBean();
String month = DateTimeUtils.getCurrentDay().substring(5, 7);
if ("11".equals(month) || "12".equals(month) || "01".equals(month) || "02".equals(month) || "03".equals(month)) {
dailyBean.getTenBean().setUhv("0");
dailyBean.getTenBean().setFiveHundredKv("0");
dailyBean.getTenBean().setTwoHundredTwentyKv("0");
dailyBean.getTenBean().setOneHundredTenKv("0");
dailyBean.getTenBean().setThirtyFiveKv("0");
dailyBean.getTenBean().setTenKv("0");
dailyBean.getTenBean().setAverageWaterLevel("0");
dailyBean.getTenBean().setDesignValues("0");
dailyBean.getTenBean().setMeasuredValue("0");
dailyBean.getTenBean().setActionHasBeenTaken("0");
dailyBean.getElevenBean().setUhv("0");
dailyBean.getElevenBean().setFiveHundredKv("0");
dailyBean.getElevenBean().setTwoHundredTwentyKv("0");
dailyBean.getElevenBean().setOneHundredTenKv("0");
dailyBean.getElevenBean().setThirtyFiveKv("0");
dailyBean.getElevenBean().setTenKv("0");
dailyBean.getElevenBean().setAverageWaterLevel("0");
dailyBean.getElevenBean().setMeasuredValue("0");
dailyBean.getElevenBean().setActionHasBeenTaken("0");
dailyBean2.getTenBean().setUhv("0");
dailyBean2.getTenBean().setFiveHundredKv("0");
dailyBean2.getTenBean().setTwoHundredTwentyKv("0");
dailyBean2.getTenBean().setOneHundredTenKv("0");
dailyBean2.getTenBean().setThirtyFiveKv("0");
dailyBean2.getTenBean().setTenKv("0");
dailyBean2.getTenBean().setAverageWaterLevel("0");
dailyBean2.getTenBean().setDesignValues("0");
dailyBean2.getTenBean().setMeasuredValue("0");
dailyBean2.getTenBean().setActionHasBeenTaken("0");
dailyBean2.getElevenBean().setUhv("0");
dailyBean2.getElevenBean().setFiveHundredKv("0");
dailyBean2.getElevenBean().setTwoHundredTwentyKv("0");
dailyBean2.getElevenBean().setOneHundredTenKv("0");
dailyBean2.getElevenBean().setThirtyFiveKv("0");
dailyBean2.getElevenBean().setTenKv("0");
dailyBean2.getElevenBean().setAverageWaterLevel("0");
dailyBean2.getElevenBean().setMeasuredValue("0");
dailyBean2.getElevenBean().setActionHasBeenTaken("0");
} else {
dailyBean.getTenBean().setUhv("");
dailyBean.getTenBean().setFiveHundredKv("");
dailyBean.getTenBean().setTwoHundredTwentyKv("");
dailyBean.getTenBean().setOneHundredTenKv("");
dailyBean.getTenBean().setThirtyFiveKv("");
dailyBean.getTenBean().setTenKv("");
dailyBean.getTenBean().setAverageWaterLevel("");
dailyBean.getTenBean().setDesignValues("");
dailyBean.getTenBean().setMeasuredValue("");
dailyBean.getTenBean().setActionHasBeenTaken("");
dailyBean.getElevenBean().setUhv("");
dailyBean.getElevenBean().setFiveHundredKv("");
dailyBean.getElevenBean().setTwoHundredTwentyKv("");
dailyBean.getElevenBean().setOneHundredTenKv("");
dailyBean.getElevenBean().setThirtyFiveKv("");
dailyBean.getElevenBean().setTenKv("");
dailyBean.getElevenBean().setAverageWaterLevel("");
dailyBean.getElevenBean().setMeasuredValue("");
dailyBean.getElevenBean().setActionHasBeenTaken("");
dailyBean2.getTenBean().setUhv("");
dailyBean2.getTenBean().setFiveHundredKv("");
dailyBean2.getTenBean().setTwoHundredTwentyKv("");
dailyBean2.getTenBean().setOneHundredTenKv("");
dailyBean2.getTenBean().setThirtyFiveKv("");
dailyBean2.getTenBean().setTenKv("");
dailyBean2.getTenBean().setAverageWaterLevel("");
dailyBean2.getTenBean().setDesignValues("");
dailyBean2.getTenBean().setMeasuredValue("");
dailyBean2.getTenBean().setActionHasBeenTaken("");
dailyBean2.getElevenBean().setUhv("");
dailyBean2.getElevenBean().setFiveHundredKv("");
dailyBean2.getElevenBean().setTwoHundredTwentyKv("");
dailyBean2.getElevenBean().setOneHundredTenKv("");
dailyBean2.getElevenBean().setThirtyFiveKv("");
dailyBean2.getElevenBean().setTenKv("");
dailyBean2.getElevenBean().setAverageWaterLevel("");
dailyBean2.getElevenBean().setMeasuredValue("");
dailyBean2.getElevenBean().setActionHasBeenTaken("");
}
if ("06".equals(month) || "07".equals(month) || "08".equals(month) || "09".equals(month)) {
dailyBean.getTwelveBean().setUhv("0");
dailyBean.getTwelveBean().setFiveHundredKv("0");
dailyBean.getTwelveBean().setTwoHundredTwentyKv("0");
dailyBean.getTwelveBean().setOneHundredTenKv("0");
dailyBean.getTwelveBean().setThirtyFiveKv("0");
dailyBean.getTwelveBean().setTenKv("0");
dailyBean.getTwelveBean().setAverageWaterLevel("0");
dailyBean.getTwelveBean().setDesignValues("0");
dailyBean.getTwelveBean().setMeasuredValue("0");
dailyBean.getTwelveBean().setActionHasBeenTaken("0");
dailyBean.getThirteenBean().setUhv("0");
dailyBean.getThirteenBean().setFiveHundredKv("0");
dailyBean.getThirteenBean().setTwoHundredTwentyKv("0");
dailyBean.getThirteenBean().setOneHundredTenKv("0");
dailyBean.getThirteenBean().setThirtyFiveKv("0");
dailyBean.getThirteenBean().setTenKv("0");
dailyBean.getThirteenBean().setAverageWaterLevel("0");
dailyBean.getThirteenBean().setDesignValues("0");
dailyBean.getThirteenBean().setMeasuredValue("0");
dailyBean.getThirteenBean().setActionHasBeenTaken("0");
dailyBean2.getTwelveBean().setUhv("0");
dailyBean2.getTwelveBean().setFiveHundredKv("0");
dailyBean2.getTwelveBean().setTwoHundredTwentyKv("0");
dailyBean2.getTwelveBean().setOneHundredTenKv("0");
dailyBean2.getTwelveBean().setThirtyFiveKv("0");
dailyBean2.getTwelveBean().setTenKv("0");
dailyBean2.getTwelveBean().setAverageWaterLevel("0");
dailyBean2.getTwelveBean().setDesignValues("0");
dailyBean2.getTwelveBean().setMeasuredValue("0");
dailyBean2.getTwelveBean().setActionHasBeenTaken("0");
dailyBean2.getThirteenBean().setUhv("0");
dailyBean2.getThirteenBean().setFiveHundredKv("0");
dailyBean2.getThirteenBean().setTwoHundredTwentyKv("0");
dailyBean2.getThirteenBean().setOneHundredTenKv("0");
dailyBean2.getThirteenBean().setThirtyFiveKv("0");
dailyBean2.getThirteenBean().setTenKv("0");
dailyBean2.getThirteenBean().setAverageWaterLevel("0");
dailyBean2.getThirteenBean().setDesignValues("0");
dailyBean2.getThirteenBean().setMeasuredValue("0");
dailyBean2.getThirteenBean().setActionHasBeenTaken("0");
} else {
dailyBean.getTwelveBean().setUhv("");
dailyBean.getTwelveBean().setFiveHundredKv("");
dailyBean.getTwelveBean().setTwoHundredTwentyKv("");
dailyBean.getTwelveBean().setOneHundredTenKv("");
dailyBean.getTwelveBean().setThirtyFiveKv("");
dailyBean.getTwelveBean().setTenKv("");
dailyBean.getTwelveBean().setAverageWaterLevel("");
dailyBean.getTwelveBean().setDesignValues("");
dailyBean.getTwelveBean().setMeasuredValue("");
dailyBean.getTwelveBean().setActionHasBeenTaken("");
dailyBean.getThirteenBean().setUhv("");
dailyBean.getThirteenBean().setFiveHundredKv("");
dailyBean.getThirteenBean().setTwoHundredTwentyKv("");
dailyBean.getThirteenBean().setOneHundredTenKv("");
dailyBean.getThirteenBean().setThirtyFiveKv("");
dailyBean.getThirteenBean().setTenKv("");
dailyBean.getThirteenBean().setAverageWaterLevel("");
dailyBean.getThirteenBean().setDesignValues("");
dailyBean.getThirteenBean().setMeasuredValue("");
dailyBean.getThirteenBean().setActionHasBeenTaken("");
dailyBean2.getTwelveBean().setUhv("");
dailyBean2.getTwelveBean().setFiveHundredKv("");
dailyBean2.getTwelveBean().setTwoHundredTwentyKv("");
dailyBean2.getTwelveBean().setOneHundredTenKv("");
dailyBean2.getTwelveBean().setThirtyFiveKv("");
dailyBean2.getTwelveBean().setTenKv("");
dailyBean2.getTwelveBean().setAverageWaterLevel("");
dailyBean2.getTwelveBean().setDesignValues("");
dailyBean2.getTwelveBean().setMeasuredValue("");
dailyBean2.getTwelveBean().setActionHasBeenTaken("");
dailyBean2.getThirteenBean().setUhv("");
dailyBean2.getThirteenBean().setFiveHundredKv("");
dailyBean2.getThirteenBean().setTwoHundredTwentyKv("");
dailyBean2.getThirteenBean().setOneHundredTenKv("");
dailyBean2.getThirteenBean().setThirtyFiveKv("");
dailyBean2.getThirteenBean().setTenKv("");
dailyBean2.getThirteenBean().setAverageWaterLevel("");
dailyBean2.getThirteenBean().setDesignValues("");
dailyBean2.getThirteenBean().setMeasuredValue("");
dailyBean2.getThirteenBean().setActionHasBeenTaken("");
}
insertData(dailyBean, null, "morning_daily");
insertData(dailyBean2, null, "evening_daily");
insertData(null, logBean, "log");
}
public void getYuJingBasicData(int classes) throws ParseException, InterruptedException {
Thread.sleep(5000);
String code = "";
String code_child = "共安排抢险队伍12支合计167人主业159人、外包8人、车辆12台、发电机4台值守待命准备照明灯具40套、配变10台、电缆5千米、电杆50根、绝缘子100只。";
String code_chlid2 = "针对此次预警今日宿州灵璧供电公司开展预警响应对重要保电线路、变电站进行特巡安排抢修队伍、绑定应急车辆、装备抢修队长通过i" +
"国网反馈巡视照片、视频,在新一代系统里均形成巡视记录、车辆队伍轨迹,未发现问题。";
//判断是否有发布数据
WebElement numClasses = webDriver.findElement(By.xpath("//*[@id=\"tab-3\"]/div/span"));
if ("0".equals(numClasses.getText())) {
code = "宿州灵璧未发布预警,";
} else {
//险情类别与等级 :高温蓝色,暴雨蓝色
WebElement weatherEle = webDriver.findElement(By.xpath("/html/body/div[1]/div/section/main/div[1]/div[2]/div[1]/section/main/div/div[3]/table/tbody/tr[1]/td[6]/div/div"));
Thread.sleep(300);
log.info("天气:" + weatherEle.getText());
WebElement time1Ele = webDriver.findElement(By.xpath("/html/body/div[1]/div/section/main/div[1]/div[2]/div[1]/section/main/div/div[3]/table/tbody/tr[1]/td[8]/div/div/div[1]"));
Thread.sleep(300);
log.info("时间1" + time1Ele.getText());
WebElement time2Ele = webDriver.findElement(By.xpath("/html/body/div[1]/div/section/main/div[1]/div[2]/div[1]/section/main/div/div[3]/table/tbody/tr[1]/td[8]/div/div/div[2]"));
Thread.sleep(300);
log.info("时间2" + time2Ele.getText());
//判断当前日期是否在此之间
String startTime = time1Ele.getText().substring(0, 10);
String endTime = time2Ele.getText().substring(0, 10);
// boolean tf = DateTimeUtils.compareDate(startTime, endTime);
SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = inputFormat.parse(startTime);
Date date1 = inputFormat.parse(endTime);
SimpleDateFormat outputFormat = new SimpleDateFormat("MM月dd日");
code = "宿州灵璧供电公司发布" + weatherEle.getText() + "预警1项" + outputFormat.format(date) + "-" + outputFormat.format(date1) + "发布"+weatherEle.getText()+",";
}
if ("宿州灵璧未发布预警,".equals(code)){
code_child = "";
code_chlid2 = "";
}
log.info("code:" + code);
DailyBean dailyBean = readDailyBean("morning_daily");
DailyBean dailyBean2 = readDailyBean("evening_daily");
LogBean logBean = readDutyBean();
String dailyContent = resolveGarbledCode("E:\\bns\\config\\日报基本信息.txt");
String logContent = resolveGarbledCode("E:\\bns\\config\\日志基本信息.txt");
String[] dailyContentArrayArray = dailyContent.split("--头部不可修改--");
String[] logContentArrayArray = logContent.split("--头部不可修改--");
log.info("dailyContent:" + dailyContent);
log.info("logContent:" + logContent);
log.info("logContentArrayArray[18]:" + logContentArrayArray[18]);
//总体情况
//今天的日期
String data2 = DateTimeUtils.getCurrentDay2();
//明天的日期
String data3 = DateTimeUtils.getTomorrowDate();
String data = "";
if (classes == 1) {
data = data2 + "17:30至" + data3 + "08:30";
} else {
data = data2 + "08:30至" + data2 + "17:30";
}
logBean.setEvent_detection_content(data + logContentArrayArray[3].trim() + (classes == 1 ? data3 +"0830" :
data2 + "1730") + logContentArrayArray[4].trim() + code +
"对系统检测图层中气象实况风速、温度、降雨进行查看、对专题灾害图层地震、台风防汛进行查看均正常,未对宿州灵璧" +
"辖区造成影响。通过首页公共气象图层检查宿州灵璧境内公共预警正常;降雨预报、预警正常;雷达预报正常。");
logBean.setWarning_disposal_title(code.substring(0,code.length() - 1));
logBean.setWarning_disposal_content(data+code+code_child+logContentArrayArray[18]+code_chlid2);
logBean.setGeneral_chronicles_content(logBean.getGeneral_chronicles_content());
insertData(null, logBean, "log");
log.info("天气预警日志更新完成");
dailyBean.setWarning_company(data+code + dailyContentArrayArray[20]+code_chlid2);
//总体情况
dailyBean.setOverall(data + dailyContentArrayArray[2].trim() + (classes == 1 ? data3+"0830" : data2+"1730" +
"") + dailyContentArrayArray[3].trim() + code +
"对系统检测图层中气象实况风速、温度、降雨进行查看、对专题灾害图层地震、台风防汛进行查看均正常,未对宿州灵璧辖区造成影响。通过首页公共气象图层检查宿州灵璧境内公共预警正常;降雨预报、预警正常;雷达预报正常。");
dailyBean.setPersonnel_daily_work(dailyBean.getPersonnel_daily_work());
// +("0".equals(numClasses.getText()) ? "" :"针对此次预警今日砀山供电公司开展预警响应对重要保电线路、变电站进行特巡安排抢修队伍、绑定应急车辆、装备抢修队长通过i国网反馈巡视照片、视频在新一代系统里均形成巡视记录、车辆队伍轨迹未发现问题")
dailyBean2.setOverall(data + dailyContentArrayArray[2].trim() + (classes == 1 ? data3+"0830" : data2+"1730" +
"") + dailyContentArrayArray[3].trim() + code +
"对系统检测图层中气象实况风速、温度、降雨进行查看、对专题灾害图层地震、台风防汛进行查看均正常,未对宿州灵璧辖区造成影响。通过首页公共气象图层检查宿州灵璧内公共预警正常;降雨预报、预警正常;雷达预报正常。");
dailyBean2.setPersonnel_daily_work(dailyBean2.getPersonnel_daily_work());
dailyBean2.setWarning_company(data+code+ dailyContentArrayArray[20]+code_chlid2);
insertData(dailyBean, null, "morning_daily");
insertData(dailyBean2, null, "evening_daily");
log.info("日志内容:" + readDutyBean());
log.info("天气预警日报更新完成");
}
public void getCaoLianBasicData(int classes) throws InterruptedException, ParseException {
Thread.sleep(5000);
DailyBean dailyBean = readDailyBean("morning_daily");
DailyBean dailyBean2 = readDailyBean("evening_daily");
LogBean logBean = readDutyBean();
String dailyContent = resolveGarbledCode("E:\\bns\\config\\日报基本信息.txt");
String checkContent = resolveGarbledCode("E:\\bns\\config\\资源核查情况.txt");
String logContent = resolveGarbledCode("E:\\bns\\config\\日志基本信息.txt");
String videoContent = resolveGarbledCode("E:\\bns\\config\\变电站名称.txt");
String[] dailyContentArrayArray = dailyContent.split("--头部不可修改--");
String[] logContentArrayArray = logContent.split("--头部不可修改--");
String[] checkContentArrayArray = checkContent.split("资源核查情况:");
String[] videoContentArr = videoContent.split("--头部不可修改--");
int num = getRandom(1,5);
int videoNum = getRandom(1,10);
//昨天的日期
String data1 = DateTimeUtils.getLastDay();
// log.info("昨天的日期:" + data1);
//今天的日期
String data2 = DateTimeUtils.getCurrentDay2();
String data3 = DateTimeUtils.getTomorrowDate();
// log.info("今天的日期:" + data2);
/**
* 获取指定位置标签的值
*/
boolean tf = true;
String communicationTestName = "";
String dailyExercisesName = "";
communicationTestName = "开展通信测试1项 ,均正常";
dailyExercisesName = "开展日常操练1次均正常";
String type = "";
if (classes == 1) {
type = "morning_daily";
//早报
String data = data2 + "17:30至" + data3 + "08:30";
//重要事项
dailyBean.setImportant_matters(data + dailyContentArrayArray[5].trim());
//安全生产情况
dailyBean.setSafety_production(data + dailyContentArrayArray[7].trim());
//值班员日常工作情况
dailyBean.setPersonnel_daily_work(data + dailyContentArrayArray[9].trim() + "(4)资源核查:"+checkContentArrayArray[num]+dailyContentArrayArray[10]+"7、视频核查灵璧县公司对1座变电站视频监控进行检查发现"+videoContentArr[videoNum]+"视频接入正常。");
//供电保障情况
//今日重大活动保电情况
dailyBean.setPower_guarantee_today_work(dailyContentArrayArray[13]);
//明日重大活动保电安排
dailyBean.setPower_guarantee_tomorrow_work(dailyContentArrayArray[15]);
//今日疫情防控应急保电情况
dailyBean.setPower_guarantee_today_pestilence(dailyContentArrayArray[17]);
//预警及应急响应情况
//公司预警情况 --另外一个方法使用
//公司应急响应情况
dailyBean.setWarning_company_impatient(data + dailyContentArrayArray[22]);
//社会突发事件救援及处置情况
dailyBean.setWarning_society_emergency(data + dailyContentArrayArray[24]);
//其他情况说明
dailyBean.setOther_situations(data + dailyContentArrayArray[26]);
//附件表一
dailyBean.getOneBean().setExercise_person_num(getRandom(1, 50) + "");
dailyBean.getOneBean().setExercise_vehicle_num(getRandom(1, 20) + "");
dailyBean.getOneBean().setExercise_power_vehicle_num(getRandom(1, 3) + "");
dailyBean.getOneBean().setExercise_dynamo_num(getRandom(1, 10) + "");
dailyBean.getOneBean().setExercise_find_problems("0");
dailyBean.getTwoBean().setVerification_material_num("100");
dailyBean.getTwoBean().setVerification_vehicle_num("8");
dailyBean.getTwoBean().setVerification_person_num("50");
dailyBean.getTwoBean().setVerification_team_num("8");
dailyBean.getTwoBean().setVerification_equip_num("501");
insertData(dailyBean, null, type);
logBean.setEvent_detection_content(data + logContentArrayArray[3].trim() + data2 + logContentArrayArray[4].trim());
logBean.setPower_work_title(logContentArrayArray[6]);
logBean.setPower_work_content(data + logContentArrayArray[7]);
logBean.setResource_check_title("开展县公司应急车辆及应急物资储备情况核查");
logBean.setResource_check_content(data + checkContentArrayArray[num]);
logBean.setCommunications_test_title("今日开展通信测试1项,均正常");
logBean.setCommunications_test_content(logContentArrayArray[11]);
logBean.setDaily_operation_title("今日开展日常操练1次");
logBean.setDaily_operation_content(logContentArrayArray[13]);
logBean.setDaily_submission_title(logContentArrayArray[15]);
logBean.setDaily_submission_content(data + logContentArrayArray[16]);
logBean.setGeneral_chronicles_title(logContentArrayArray[20]);
logBean.setGeneral_chronicles_content(data + logContentArrayArray[21]);
insertData(null, logBean, "log");
} else {
type = "evening_daily";
//晚报
String data = data2 + "08:30至" + data2 + "17:30";
//总体情况
//重要事项
dailyBean2.setImportant_matters(data + dailyContentArrayArray[5].trim());
//安全生产情况
//安全生产情况
dailyBean2.setSafety_production(data + dailyContentArrayArray[7].trim());
//值班员日常工作情况
dailyBean2.setPersonnel_daily_work(data + dailyContentArrayArray[9].trim() + "(4)资源核查:"+checkContentArrayArray[num]+dailyContentArrayArray[10]+"7视频核查灵璧县公司对1座变电站视频监控进行检查发现"+videoContentArr[videoNum]+"视频接入正常。");
//供电保障情况
//今日重大活动保电情况
dailyBean2.setPower_guarantee_today_work(dailyContentArrayArray[13]);
//明日重大活动保电安排
dailyBean2.setPower_guarantee_tomorrow_work(dailyContentArrayArray[15]);
//今日疫情防控应急保电情况
dailyBean2.setPower_guarantee_today_pestilence(dailyContentArrayArray[17]);
//预警及应急响应情况
//公司预警情况 --另外一个方法使用
//公司应急响应情况
dailyBean2.setWarning_company_impatient(data + dailyContentArrayArray[22]);
//社会突发事件救援及处置情况
dailyBean2.setWarning_society_emergency(data + dailyContentArrayArray[24]);
//其他情况说明
dailyBean2.setOther_situations(data + dailyContentArrayArray[26]);
//附件表一
dailyBean2.getOneBean().setExercise_person_num(getRandom(1, 50) + "");
dailyBean2.getOneBean().setExercise_vehicle_num(getRandom(1, 20) + "");
dailyBean2.getOneBean().setExercise_power_vehicle_num(getRandom(1, 3) + "");
dailyBean2.getOneBean().setExercise_dynamo_num(getRandom(1, 10) + "");
dailyBean2.getOneBean().setExercise_find_problems("0");
dailyBean2.getTwoBean().setVerification_material_num("100");
dailyBean2.getTwoBean().setVerification_vehicle_num("8");
dailyBean2.getTwoBean().setVerification_person_num("50");
dailyBean2.getTwoBean().setVerification_team_num("8");
dailyBean2.getTwoBean().setVerification_equip_num("501");
//安全生产情况
dailyBean2.setSafety_production(data + dailyContentArrayArray[7].trim());
insertData(dailyBean2, null, type);
logBean.setEvent_detection_content(data + logContentArrayArray[3].trim() + data2 + logContentArrayArray[4].trim());
logBean.setPower_work_title(logContentArrayArray[6]);
logBean.setPower_work_content(data + logContentArrayArray[7]);
logBean.setResource_check_title("开展县公司应急车辆及应急物资储备情况核查");
logBean.setResource_check_content(data + checkContentArrayArray[num]);
logBean.setCommunications_test_title("今日开展通信测试1项,均正常");
logBean.setCommunications_test_content(logContentArrayArray[11]);
logBean.setDaily_operation_title("今日开展日常操练1次");
logBean.setDaily_operation_content(logContentArrayArray[13]);
logBean.setDaily_submission_title(logContentArrayArray[15]);
logBean.setDaily_submission_content(data + logContentArrayArray[16]);
logBean.setGeneral_chronicles_title(logContentArrayArray[20]);
logBean.setGeneral_chronicles_content(data + logContentArrayArray[21]);
insertData(null, logBean, "log");
}
}
/**
* 读取日报xml的内容
*
* @param type 早报 morning_daily 晚报 evening_daily
* @return
*/
public static DailyBean readDailyBean(String type) {
DailyBean bean;
XStream xstream = new XStream(new JettisonMappedXmlDriver());
String path = DataConfig.filePath + "\\" + type + ".xml";
File file = new File(path);
InputStreamReader in = null;
String xml = null;
try {
//主要就是这里的设置
in = new InputStreamReader(new FileInputStream(file), Charset.forName("gbk"));
StringBuffer sb = new StringBuffer();
char[] array = new char[1024];
int length = -1;
while ((length = in.read(array)) != -1) {
sb.append(array, 0, length);
}
in.close();
xml = sb.toString().trim();
} catch (Exception e) {
// TODO: handle exception
}
xstream.alias(type, DailyBean.class);
bean = (DailyBean) xstream.fromXML(xml);
return bean;
}
/**
* 读取日志xml的内容
*
* @return
*/
public static LogBean readDutyBean() {
LogBean bean;
XStream xstream = new XStream(new JettisonMappedXmlDriver());
File file = new File(DataConfig.filePath + "\\log.xml");
InputStreamReader in = null;
String xml = null;
try {
//主要就是这里的设置
in = new InputStreamReader(new FileInputStream(file), Charset.forName("gbk"));
StringBuffer sb = new StringBuffer();
char[] array = new char[1024];
int length = -1;
while ((length = in.read(array)) != -1) {
sb.append(array, 0, length);
}
in.close();
xml = sb.toString().trim();
} catch (Exception e) {
// TODO: handle exception
}
xstream.alias("log", LogBean.class);
bean = (LogBean) xstream.fromXML(xml);
return bean;
}
private static void insertData(DailyBean dailyBean, LogBean logBean, String type) {
String path = DataConfig.filePath + "\\" + type + ".xml";
String xml = null;
XStream xstream = new XStream(new JettisonMappedXmlDriver());
xstream.setMode(XStream.NO_REFERENCES);
xstream.alias(type, DailyBean.class);
try {
if ("log".equals(type)) {
xml = xstream.toXML(logBean);
} else {
xml = xstream.toXML(dailyBean);
}
// 将XML字符串写入文件并指定字符编码为UTF-8
FileOutputStream fos = new FileOutputStream(path);
OutputStreamWriter writer = new OutputStreamWriter(fos, "GBK");
writer.write(xml);
writer.close();
System.out.println("文件保存成功");
} catch (IOException e) {
throw new RuntimeException(e);
}
if (new File(path).exists()) {
System.out.println("文件存在,数据保存成功");
// System.exit(0);
}
}
public static void main(String[] args) {
String data2 = DateTimeUtils.getCurrentDay2();
String data3 = DateTimeUtils.getTomorrowDate();
DailyBean dailyBean = readDailyBean("morning_daily");
DailyBean dailyBean2 = readDailyBean("evening_daily");
LogBean logBean = readDutyBean();
String dailyContent = resolveGarbledCode("E:\\bns\\config\\日报基本信息.txt");
String checkContent = resolveGarbledCode("E:\\bns\\config\\资源核查情况.txt");
String logContent = resolveGarbledCode("E:\\bns\\config\\日志基本信息.txt");
String videoContent = resolveGarbledCode("E:\\bns\\config\\变电站名称.txt");
String[] dailyContentArrayArray = dailyContent.split("--头部不可修改--");
String[] logContentArrayArray = logContent.split("--头部不可修改--");
String[] checkContentArrayArray = checkContent.split("资源核查情况:");
String[] videoContentArr = videoContent.split("--头部不可修改--");
int num = getRandom(1,5);
int videoNum = getRandom(1,10);
String type = "evening_daily";
//早报
String data = data2 + "17:30至" + data3 + "08:30";
//重要事项
dailyBean.setImportant_matters(data + dailyContentArrayArray[5].trim());
//安全生产情况
dailyBean.setSafety_production(data + dailyContentArrayArray[7].trim());
//值班员日常工作情况
dailyBean.setPersonnel_daily_work(data + dailyContentArrayArray[9].trim() + "(4)资源核查:"+checkContentArrayArray[num]+dailyContentArrayArray[10]+"7视频核查灵璧县公司对1座变电站视频监控进行检查发现"+videoContentArr[videoNum]+"视频接入正常。");
//供电保障情况
//今日重大活动保电情况
dailyBean.setPower_guarantee_today_work(dailyContentArrayArray[13]);
//明日重大活动保电安排
dailyBean.setPower_guarantee_tomorrow_work(dailyContentArrayArray[15]);
//今日疫情防控应急保电情况
dailyBean.setPower_guarantee_today_pestilence(dailyContentArrayArray[17]);
//预警及应急响应情况
//公司预警情况 --另外一个方法使用
//公司应急响应情况
dailyBean.setWarning_company_impatient(data + dailyContentArrayArray[22]);
//社会突发事件救援及处置情况
dailyBean.setWarning_society_emergency(data + dailyContentArrayArray[24]);
//其他情况说明
dailyBean.setOther_situations(data + dailyContentArrayArray[26]);
//附件表一
dailyBean.getOneBean().setExercise_person_num(getRandom(1, 50) + "");
dailyBean.getOneBean().setExercise_vehicle_num(getRandom(1, 20) + "");
dailyBean.getOneBean().setExercise_power_vehicle_num(getRandom(1, 3) + "");
dailyBean.getOneBean().setExercise_dynamo_num(getRandom(1, 10) + "");
dailyBean.getOneBean().setExercise_find_problems("0");
dailyBean.getTwoBean().setVerification_material_num("100");
dailyBean.getTwoBean().setVerification_vehicle_num("8");
dailyBean.getTwoBean().setVerification_person_num("50");
dailyBean.getTwoBean().setVerification_team_num("8");
dailyBean.getTwoBean().setVerification_equip_num("501");
insertData(dailyBean, null, type);
logBean.setEvent_detection_content(data + logContentArrayArray[3].trim() + data2 + logContentArrayArray[4].trim());
logBean.setPower_work_title(logContentArrayArray[6]);
logBean.setPower_work_content(data + logContentArrayArray[7]);
logBean.setResource_check_title("开展县公司应急车辆及应急物资储备情况核查");
logBean.setResource_check_content(data + logContentArrayArray[9]);
logBean.setCommunications_test_title("今日开展通信测试1项,均正常");
logBean.setCommunications_test_content(logContentArrayArray[11]);
logBean.setDaily_operation_title("今日开展日常操练1次");
logBean.setDaily_operation_content(logContentArrayArray[13]);
logBean.setDaily_submission_title(logContentArrayArray[15]);
logBean.setDaily_submission_content(data + logContentArrayArray[16]);
logBean.setGeneral_chronicles_title(logContentArrayArray[20]);
logBean.setGeneral_chronicles_content(data + logContentArrayArray[21]);
insertData(null, logBean, "log");
}
public static int getRandom(int start, int end) {
int number = new Random().nextInt(end - start + 1) + start;
return number;
}
public void addExercisePlan(String type, String company, int code) throws InterruptedException {
Thread.sleep(3000);
//添加计划
addPlan(type, company, code);
//执行计划
executePlan(type, company, "");
}
private void executePlan(String type, String company, String projectName) throws InterruptedException {
Thread.sleep(2000);
String checkContent = resolveGarbledCode("E:\\bns\\config\\检查计划评价.txt");
String[] checkContentArrayArray = checkContent.split("检查评价:");
//勾选计划
webDriver.findElement(By.xpath("/html/body/div[1]/section/div[1]/div[2]/div[2]/section/main/section/main/div/div[3]/table/tbody/tr[1]")).click();
Thread.sleep(800);
//点击执行按钮--打开选择被检查对象
webDriver.findElement(By.xpath("/html/body/div[1]/section/div[1]/div[2]/div[2]/section/main/section/header/button[4]")).click();
Thread.sleep(2000);
// 退出第一个同级 iframe
webDriver.switchTo().defaultContent();
// 定位主文档的 body 元素
WebElement body = webDriver.findElement(By.tagName("body"));
WebElement dutyIframe = body.findElement(By.id("plancheck-to-rccl"));
webDriver.switchTo().frame(dutyIframe);
log.info("定位到检查计划iframe-----------");
Thread.sleep(1500);
//填写项目评价
String appraise = "";
if("日常操练".equals(type)){
webDriver.findElement(By.xpath("/html/body/div/section/main/header/div/div[1]/div/div/div/div[4]")).click();
appraise = checkContentArrayArray[3].trim();
}else{
webDriver.findElement(By.xpath("/html/body/div/section/main/header/div/div[1]/div/div/div/div[3]")).click();
appraise = checkContentArrayArray[4].trim();
}
Thread.sleep(800);
//填写发现的问题
webDriver.findElement(By.xpath("/html/body/div/section/main/section/form/div[2]/div[1]/div/div/textarea")).sendKeys("未发现问题");
Thread.sleep(500);
//填写项目评分
webDriver.findElement(By.xpath("/html/body/div/section/main/section/form/div[3]/div[1]/div/div/div/input")).sendKeys(getRandom(95, 100) + "");
Thread.sleep(500);
log.info("appraise:" + appraise);
Thread.sleep(1000);
webDriver.findElement(By.xpath("/html/body/div/section/main/section/form/div[3]/div[2]/div/div/textarea")).sendKeys(appraise);
Thread.sleep(500);
//点击提交按钮
webDriver.findElement(By.xpath("/html/body/div/section/main/section/form/div[4]/button[2]")).click();
Thread.sleep(1500);
// /html/body/div/div/div/div[2]/div[1]/section/div/section/section/div/div[3]/table/tbody/tr[1]/td[9]/div
}
private void auditPlan(String type, String company) throws InterruptedException {
log.info("开始审核操作---");
//点击待审核按钮
webDriver.findElement(By.xpath("/html/body/div/div/div/div[1]/div/div/div/div[3]")).click();
log.info("点击待审核按钮");
Thread.sleep(1500);
//勾选计划
webDriver.findElement(By.xpath("/html/body/div/div/div/div[2]/div[2]/section/div/section/section/div/div[3]/table/tbody/tr/td[1]/div/label")).click();
log.info("点击勾选计划");
Thread.sleep(800);
//点击审核按钮---打开审核页面
webDriver.findElement(By.xpath("/html/body/div/div/div/div[2]/div[2]/section/div/section/header/button")).click();
log.info("打开审核页面");
Thread.sleep(1500);
//选择同意按钮
webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div/div/div/div")).click();
log.info("选择同意按钮");
Thread.sleep(300);
webDriver.findElement(By.xpath("/html/body/div[4]/div[1]/div[1]/ul/li[1]")).click();
Thread.sleep(300);
//点击提交按钮
webDriver.findElement(By.xpath("/html/body/div[3]/div/div[3]/div/button[2]")).click();
log.info("点击提交按钮");
Thread.sleep(5000);
//勾选计划
webDriver.findElement(By.xpath("/html/body/div/div/div/div[2]/div[2]/section/div/section/section/div/div[3]/table/tbody/tr/td[1]/div/label/span/span")).click();
log.info("点击勾选计划");
Thread.sleep(800);
//点击审核按钮---打开审核页面
webDriver.findElement(By.xpath("/html/body/div/div/div/div[2]/div[2]/section/div/section/header/button")).click();
log.info("打开审核页面");
Thread.sleep(1500);
//选择同意按钮
webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div/div/div/div")).click();
log.info("选择同意按钮");
Thread.sleep(300);
webDriver.findElement(By.xpath("/html/body/div[4]/div[1]/div[1]/ul/li[1]")).click();
Thread.sleep(300);
//点击提交按钮
webDriver.findElement(By.xpath("/html/body/div[3]/div/div[3]/div/button[2]")).click();
log.info("点击提交按钮");
Thread.sleep(5000);
log.info("结束审核操作---");
}
private void addPlan(String type, String company, int code) throws InterruptedException {
log.info("开始执行操作---");
String projectName = "通信";
//点击新增按钮 --- 打开新增页面
webDriver.findElement(By.xpath("/html/body/div[1]/section/div[1]/div[2]/div[2]/section/main/section/header" +
"/button[1]")).click();
Thread.sleep(2000);
//填写主题
if("通信测试".equals(type)){
webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/section/header/form/div/div[1]/div/div[2]/div[1" +
"]/input")).sendKeys("每日通信测试");
}else {
webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/section/header/form/div/div[1]/div/div[2]/div[1" +
"]/input")).sendKeys("应急队伍检查");
}
Thread.sleep(500);
//选择操练环节
webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/section/header/form/div/div[2]/div/div[2]")).click();
log.info("选择操练环节-----------");
Thread.sleep(1000);
webDriver.findElement(By.xpath("通信测试".equals(type) ? "/html/body/div[4]/div[1]/div[1]/ul/li[1]" : "/html/body" +
"/div[4]/div[1]/div[1]/ul/li[2]")).click();
log.info("选择操练环节----------");
Thread.sleep(500);
//选择检查操练项目
webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/section/header/form/div/div[3]/div/div[2]")).click();
log.info("点击检查操练项目选择框-----------");
Thread.sleep(1000);
webDriver.findElement(By.xpath("/html/body/div[5]/div[1]/div[1]/ul/li[1]")).click();
log.info("选择操作内容----------");
Thread.sleep(1000);
//选择被检查单位
webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/section/header/form/div/div[4]/div/div[2]")).click();
log.info("点击选择被检查单位型选择框-----------");
Thread.sleep(1000);
webDriver.findElement(By.xpath("/html/body/div[6]/div[1]/div/div/div[1]/div[1]/span[2]")).click();
log.info("选择被检查单位----------");
Thread.sleep(500);
//选择被检查对象
webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/section/header/form/div/div[5]/div/div[2]")).click();
Thread.sleep(3000);
if("通信测试".equals(type)){
webDriver.findElement(By.xpath("/html/body/div[7]/div/div[2]/section/main/div[1]/div[3]/table/tbody/tr[1]/td[1]/div/label")).click();
Thread.sleep(500);
webDriver.findElement(By.xpath("/html/body/div[7]/div/div[2]/section/main/div[1]/div[3]/table/tbody/tr[2" +
"]/td[1]/div/label")).click();
Thread.sleep(1000);
webDriver.findElement(By.xpath("/html/body/div[7]/div/div[2]/section/footer/button[2]")).click();
Thread.sleep(2000);
}else {
for (int i = 1; i < 5; i++) {
webDriver.findElement(By.xpath("/html/body/div[7]/div/div[2]/section/main/div[1]/div[3]/table" +
"/tbody/tr["+i+"]/td[1]/div/label")).click();
Thread.sleep(1000);
}
webDriver.findElement(By.xpath("/html/body/div[7]/div/div[2]/section/footer[2]/button[2]")).click();
Thread.sleep(2000);
}
Thread.sleep(3000);
//提交
webDriver.findElement(By.xpath("/html/body/div[2]/div/div[2]/section/div/button[3]")).click();
Thread.sleep(3000);
}
}