From 922271c1d652e0d8fd2a8340034a736ebff2a187 Mon Sep 17 00:00:00 2001 From: jjLv <1981429112@qq.com> Date: Tue, 16 Apr 2024 09:40:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=A1=E9=98=B3=E8=87=AA=E5=8A=A8=E5=8C=96?= =?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/bonus/autoweb/GetBasicData.java | 1209 +++++++++++++++++ 1 file changed, 1209 insertions(+) create mode 100644 src/main/java/com/bonus/autoweb/GetBasicData.java diff --git a/src/main/java/com/bonus/autoweb/GetBasicData.java b/src/main/java/com/bonus/autoweb/GetBasicData.java new file mode 100644 index 0000000..88cedc6 --- /dev/null +++ b/src/main/java/com/bonus/autoweb/GetBasicData.java @@ -0,0 +1,1209 @@ +package com.bonus.autoweb; + +import com.bonus.autoweb.UI.entity.DailyBean; +import com.bonus.autoweb.UI.entity.LogBean; +import com.bonus.autoweb.UI.frame.StringHelper; +import com.bonus.autoweb.base.AutoMain; +import com.bonus.autoweb.base.AutoUtils; +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 javax.activation.DataHandler; +import java.io.*; +import java.nio.charset.Charset; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; + +import static java.lang.Integer.parseInt; + +/** + * 项目名称: autoWebForGuoYang + * 文件名称: 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(); + } + + + /** + * 类方法说明: TODO 获取预警基础数据 + * + * @param classes 1 早 2 晚 + * @author tqzhang + * @data 2024/01/16 + */ + public static void getYuJingActionBasicData(int classes) throws ParseException, InterruptedException { + Thread.sleep(5000); +// webDriver.findElement(By.xpath("//*[@id=\"app\"]/section/header/form/div/div[2]/button[1]")).click(); +// Thread.sleep(300); +// String date1 = DateTimeUtils.getLastDayYYYYMMDD() + " 00:00"; +// String date2 = DateTimeUtils.getLastDayYYYYMMDD() + " 23:59"; +// if (classes == 2) { +// date1 = DateTimeUtils.getCurrentDay() + " 00:00"; +// date2 = DateTimeUtils.getCurrentDay() + " 23:59"; +// } +// webDriver.findElement(By.xpath("//*[@id=\"app\"]/section/header/form/div/div[1]/div[3]/div[1]/div/div/div/input[1]")).sendKeys(date1); +// Thread.sleep(300); +// webDriver.findElement(By.xpath("//*[@id=\"app\"]/section/header/form/div/div[1]/div[3]/div[1]/div/div/div/input[2]")).sendKeys(date2); +// Thread.sleep(300); +// webDriver.findElement(By.xpath("//*[@id=\"app\"]/section/header/form/div/div[2]/button[2]")).click(); +// Thread.sleep(1000); +// WebElement numEle = webDriver.findElement(By.xpath("//*[@id=\"tab-已完工\"]/div/span")); + DailyBean dailyBean = readDailyBean("morning_daily"); + DailyBean dailyBean2 = readDailyBean("evening_daily"); + LogBean logBean = readDutyBean(); +// if (!"0".equals(numEle.getText())) { +// int num = parseInt(numEle.getText()); +// if (num > 10) { +// num = 10; +// } +// webDriver.findElement(By.xpath("//*[@id=\"tab-已完工\"]")).click(); +// Thread.sleep(2000); +// String[] strings = new String[num]; +// for (int i = 1; i <= num; i++) { +// WebElement companyElem = webDriver.findElement(By.xpath("//*[@id=\"app\"]/section/main/main/div/div[3]/table/tbody/tr[" + i + "]/td[5]/div/div")); +// String name = getDailyName(companyElem.getText()); +// strings[i - 1] = name; +// } +// Map countMap = new HashMap<>(); +// for (String str : strings) { +// if (countMap.containsKey(str)) { +// countMap.put(str, countMap.get(str) + 1); +// } else { +// countMap.put(str, 1); +// } +// } +// String codeYuJing = "(8)针对预警,公司各单位开展预警响应,对线路、变电站进行特巡,共计开展特巡" + numEle.getText() + "次,"; +// if (num > 0) { +// codeYuJing += "其中:"; +// for (Map.Entry entry : countMap.entrySet()) { +// codeYuJing += entry.getKey() + "公司特巡" + entry.getValue() + "次,"; +// } +// } +// dailyBean.setPersonnel_daily_work(dailyBean.getPersonnel_daily_work() + codeYuJing); +// dailyBean2.setPersonnel_daily_work(dailyBean.getPersonnel_daily_work() + codeYuJing); +// logBean.setGeneral_chronicles_content(logBean.getGeneral_chronicles_content() + codeYuJing); +// } + 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 = ""; + //判断是否有发布数据 + 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项,"; + } + + log.info("code:" + code); + DailyBean dailyBean = readDailyBean("morning_daily"); + DailyBean dailyBean2 = readDailyBean("evening_daily"); + LogBean logBean = readDutyBean(); + String dailyContent = resolveGarbledCode("D:\\bns\\config\\日报基本信息.txt"); + String logContent = resolveGarbledCode("D:\\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 data1 = DateTimeUtils.getLastDay(); + //今天的日期 + String data2 = DateTimeUtils.getCurrentDay2(); + //明天的日期 + String data3 = DateTimeUtils.getTomorrowDate(); + //日志时间 + String logData = data2 + "08:15至" + data3 + "8:15,"; + //日报时间 + String data = ""; + if (classes == 1) { + data = data2 + "18:00至" + data3 + "07:00,"; + + //一、总体情况 + dailyBean.setOverall(data + dailyContentArrayArray[2].trim()); + dailyBean.setWarning_company(code + dailyContentArrayArray[18]); + } else { + data = data2 + "07:00至" + data2 + "18:00,"; + + dailyBean2.setOverall(data + dailyContentArrayArray[2].trim()); + dailyBean2.setWarning_company(code + dailyContentArrayArray[18]); + } + + logBean.setWarning_disposal_title("涡阳县未发布预警,".equals(code) ? "今日预警情况" : "预警一项"); + logBean.setWarning_disposal_content(logData + code + logContentArrayArray[20]); + insertData(null, logBean, "log"); + log.info("天气预警日志更新完成"); + + 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("D:\\bns\\config\\日报基本信息.txt"); + String checkContent = resolveGarbledCode("D:\\bns\\config\\资源核查情况.txt"); + String logContent = resolveGarbledCode("D:\\bns\\config\\日志基本信息.txt"); + String videoContent = resolveGarbledCode("D:\\bns\\config\\变电站名称.txt"); + String[] dailyContentArrayArray = dailyContent.split("--头部不可修改--"); + String[] logContentArrayArray = logContent.split("--头部不可修改--"); + String[] checkContentArrayArray = checkContent.split("资源核查情况:"); + String[] videoContentArrayArray = videoContent.split("--头部不可修改--"); +// log.info("读取本地模板数据成功"); + //昨天的日期 + String data1 = DateTimeUtils.getLastDay(); +// log.info("昨天的日期:" + data1); + //今天的日期 + String data2 = DateTimeUtils.getCurrentDay2(); +// log.info("今天的日期:" + data2); + //明天的日期 + String data3 = DateTimeUtils.getTomorrowDate(); +// log.info("明天的日期:" + data2); + //日志时间 + String logData = data2 + "08:15至" + data3 + "8:15,"; + /** + * 获取指定位置标签的值 + */ + boolean tf = true; + int communicationTestNum = 0; + String communicationTestName = ""; + String communicationTestName1 = ""; + int dailyExercisesNum = 0; + String dailyExercisesName = ""; + String dailyExercisesName1 = ""; + String dailyExercisesName2 = ""; + String contingentName = ""; + String carName = ""; + String materialName = ""; + String time = ""; + if (classes == 1) { + //zao + time = DateTimeUtils.getCurrentDay(); + } else { + time = DateTimeUtils.getCurrentDay(); + } + +// webDriver.findElement(By.xpath("/html/body/div/div/header/form/div[4]/div/button[1]")).click(); +// Thread.sleep(800); +// webDriver.findElement(By.xpath("/html/body/div[1]/div/header/form/div[6]/div/div/input[1]")).sendKeys(DateTimeUtils.getCurrentDay()); +// Thread.sleep(800); +// webDriver.findElement(By.xpath("/html/body/div[1]/div/header/form/div[6]/div/div/input[2]")).sendKeys(DateTimeUtils.getCurrentDay()); +// Thread.sleep(800); +// webDriver.findElement(By.xpath("/html/body/div[1]/div/header/form/div[8]/div/button[2]")).click(); +// Thread.sleep(2000); +// int i = 1; +// while (tf) { +// Thread.sleep(10000); +// WebElement numberEle = webDriver.findElement(By.xpath("/html/body/div[1]/div/main/div/div/footer/span")); +// log.info("numberEle:" + numberEle.getText()); +//// String num = numberEle.getText().substring(2, 3); +// String num1 = numberEle.getText().substring(2, numberEle.getText().length()); +// String num = num1.substring(0, num1.length() - 2); +// log.info("num:" + num); +// if ("0".equals(num)) { +// tf = false; +// } else { +// WebElement timeEle; +//// if ("1".equals(num)) { +//// timeEle = webDriver.findElement(By.xpath("/html/body/div/div/main/div/div/div[2]/div/div[3]/table/tbody/tr/td[8]/div")); +//// } else { +// timeEle = webDriver.findElement(By.xpath("/html/body/div[1]/div/main/div/div/div[2]/div/div[3" + +// "]/table/tbody/tr[" + i + "]/td[8]/div")); +//// } +// +// System.out.println(timeEle.getText()); +// if (time.equals(timeEle.getText())) { +// //操练环节 -通信测试 日常操练 +// WebElement drillSessionEle; +//// if ("1".equals(num)) { +//// drillSessionEle = webDriver.findElement(By.xpath("/html/body/div/div/main/div/div/div[2]/div/div[3]/table/tbody/tr/td[6]/div")); +//// } else { +// drillSessionEle = webDriver.findElement(By.xpath("/html/body/div[1]/div/main/div/div/div[2" + +// "]/div/div[3]/table/tbody/tr[" + i + "]/td[6]/div")); +//// } +// log.info("操练环节:" + drillSessionEle.getText()); +// //供电公司 +// WebElement powerSupplyCompaniesEle; +//// if ("1".equals(num)) { +//// powerSupplyCompaniesEle = webDriver.findElement(By.xpath("/html/body/div/div/main/div/div/div[2]/div/div[3]/table/tbody/tr/td[5]/div")); +//// } else { +// powerSupplyCompaniesEle = webDriver.findElement(By.xpath("/html/body/div[1]/div/main/div/div" + +// "/div[2]/div/div[3]/table/tbody/tr[" + i + "]/td[5]/div")); +//// } +// log.info("供电公司:" + powerSupplyCompaniesEle.getText()); +// if ("通信测试".equals(drillSessionEle.getText())) { +// communicationTestNum++; +// communicationTestName1 += getDailyName(powerSupplyCompaniesEle.getText()) + "、"; +// } else if ("重要站线视频连线检查".equals(drillSessionEle.getText())) { +// dailyExercisesNum++; +//// dailyExercisesName1 += powerSupplyCompaniesEle.getText().substring(0, powerSupplyCompaniesEle.getText().length() - 4) + "、"; +// dailyExercisesName1 += getDailyName(powerSupplyCompaniesEle.getText()) + "、"; +// } else { +// dailyExercisesNum++; +//// dailyExercisesName2 += powerSupplyCompaniesEle.getText().substring(0, powerSupplyCompaniesEle.getText().length() - 4) + "、"; +// WebElement ele = webDriver.findElement(By.xpath("/html/body/div[1]/div/main/div/div/div[2" + +// "]/div/div[3]/table/tbody/tr[" + i + "]/td[7]/div")); +// if ("物资".equals(ele.getText())) +// materialName += getDailyName(powerSupplyCompaniesEle.getText()) + "、"; +// if ("车辆".equals(ele.getText())) +// carName += getDailyName(powerSupplyCompaniesEle.getText()) + "、"; +// if ("队伍".equals(ele.getText())) +// contingentName += getDailyName(powerSupplyCompaniesEle.getText()) + "、"; +// dailyExercisesName2 += getDailyName(powerSupplyCompaniesEle.getText()) + "、"; +// } +// int x = parseInt(num); +// if (i == parseInt(num)) { +// tf = false; +// } +// i++; +// } else { +// tf = false; +// } +// } +// } +// log.info("communicationTestName1:" + communicationTestName1); +// if (communicationTestNum > 0) { +// communicationTestName = "今日市公司本部对所属" + communicationTestNum + "家县公司(" + communicationTestName1.substring(0, communicationTestName1.length() - 1) + ")进行通信测试"; +// } else { +// communicationTestName = "今日市公司本部对所属县公司无通信测试"; +// } +// if (dailyExercisesName1.length() > 0) { +// dailyExercisesName1 = dailyExercisesName1.substring(0, dailyExercisesName1.length() - 1); +// } +// if (dailyExercisesName2.length() > 0) { +// dailyExercisesName2 = dailyExercisesName2.substring(0, dailyExercisesName2.length() - 1); +// } +// String fourElementVerification = ""; +// if (materialName.length() > 0) { +// materialName = materialName.substring(0, materialName.length() - 1); +// fourElementVerification += materialName + "公司四要素物资核查、"; +// } +// if (carName.length() > 0) { +// carName = carName.substring(0, carName.length() - 1); +// fourElementVerification += carName + "公司四要素车辆核查、"; +// } +// if (contingentName.length() > 0) { +// contingentName = contingentName.substring(0, contingentName.length() - 1); +// fourElementVerification += contingentName + "公司四要素队伍核查、"; +// } +// if (dailyExercisesName1.length() > 0 && dailyExercisesName2.length() > 0) { +// dailyExercisesName = "今日市公司本部对所属" + dailyExercisesNum + "家县公司进行日常操练(" + fourElementVerification + dailyExercisesName1 + "公司重要站连线检查)"; +// } else if (dailyExercisesName1.length() == 0 && dailyExercisesName2.length() > 0) { +// dailyExercisesName = "今日市公司本部对所属" + dailyExercisesNum + "家县公司进行日常操练(" + fourElementVerification + ")"; +// } else if (dailyExercisesName1.length() > 0 && fourElementVerification.length() == 0) { +// dailyExercisesName = "今日市公司本部对所属" + dailyExercisesNum + "家县公司进行日常操练(" + dailyExercisesName1 + "公司重要站连线检查)"; +// } else { +// dailyExercisesName = "今日市公司本部对所属" + dailyExercisesNum + "家县公司进行日常操练"; +// } +//// dailyExercisesName = "今日市公司本部对所属" + 0 + "家县公司进行日常操练"; +// log.info("communicationTestName:" + communicationTestName); +// log.info("dailyExercisesName:" + dailyExercisesName); +// log.info("communicationTestNum:" + communicationTestNum); +// log.info("dailyExercisesNum:" + dailyExercisesNum); + String type = ""; + Random rand = new Random(); + Set generated = new HashSet<>(); + while (generated.size() < 6) { + Integer next = rand.nextInt(27) + 1; + // As we're adding to a set, this will automatically do a containment check + generated.add(next); + } + StringBuilder video = new StringBuilder(); + for (Integer integer : generated) { + video.append(videoContentArrayArray[integer]).append("、"); + } + if (classes == 1) { + type = "morning_daily"; + //早报 + boolean t = true; + int num = getRandom(1, 3); + String data = data2 + "18:00至" + data3 + "07:00,"; + + //二、重要事项 + dailyBean.setImportant_matters(data + dailyContentArrayArray[4].trim()); + //三、安全生产情况 + dailyBean.setSafety_production(data + dailyContentArrayArray[6].trim()); + //四、值班员日常工作情况 + dailyBean.setPersonnel_daily_work(data + dailyContentArrayArray[8].trim() + "(5)资源核查情况:" + checkContentArrayArray[num].trim() + + "(6)检查"+video+"视频显示清晰,无异常情况(7)09:00-11:00,值班人员视频轮询供电所值班情况。"); + //五、供电保障情况 + //(一)今日重大活动保电情况 + dailyBean.setPower_guarantee_today_work(dailyContentArrayArray[11]); + //(二)明日重大活动保电安排 + dailyBean.setPower_guarantee_tomorrow_work(dailyContentArrayArray[13]); + //(三)今日疫情防控应急保电情况 + dailyBean.setPower_guarantee_today_pestilence(dailyContentArrayArray[15]); + //六、预警及应急响应情况 + //(一)公司预警情况 --另外一个方法使用 + + //(二)公司应急响应情况 + dailyBean.setWarning_company_impatient(data + dailyContentArrayArray[20]); + //(三)社会突发事件救援及处置情况 + dailyBean.setWarning_society_emergency(data + dailyContentArrayArray[22]); + //七、其他情况说明 + dailyBean.setOther_situations(data + dailyContentArrayArray[24]); + //附件表一 + 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"); + + insertData(dailyBean, null, type); + +// log.info("日报数据更新完成"); + //事件监测内容 + logBean.setEvent_detection_content(logData + logContentArrayArray[3].trim()); + logBean.setEvent_detection_title(logContentArrayArray[2].trim()); +// logBean.setEvent_detection_content(data + logContentArrayArray[3].trim() + data2 + logContentArrayArray[4].trim()); + logBean.setPower_work_title(logContentArrayArray[5]); + logBean.setPower_work_content(logData + logContentArrayArray[6]); + logBean.setResource_check_title(logContentArrayArray[8]); + logBean.setResource_check_content(logData + checkContentArrayArray[num]); + logBean.setCommunications_test_title(logContentArrayArray[10]); + logBean.setCommunications_test_content(logContentArrayArray[11]); + logBean.setDaily_operation_title(logContentArrayArray[13]); + logBean.setDaily_operation_content(logContentArrayArray[14]); + logBean.setDaily_submission_title(logContentArrayArray[16]); + logBean.setDaily_submission_content(logData + logContentArrayArray[17]); + logBean.setGeneral_chronicles_title(logContentArrayArray[22]); + logBean.setGeneral_chronicles_content(logContentArrayArray[23]); + insertData(null, logBean, "log"); +// log.info("日志数据更新完成"); +// log.info("日报数据:" + dailyBean); +// log.info("日志数据:" + logBean); + } else { + type = "evening_daily"; + //晚报 + boolean t = true; + int num = getRandom(1, 3); + String data = data2 + "07:00至" + data2 + "18:00,"; + //一、总体情况 +// dailyBean2.setOverall(data + dailyContentArrayArray[2].trim() + data2 + "17:30," + dailyContentArrayArray[3].trim()); + //二、重要事项 + dailyBean2.setImportant_matters(data + dailyContentArrayArray[4].trim()); + //三、安全生产情况 + dailyBean2.setSafety_production(data + dailyContentArrayArray[6].trim()); + //四、值班员日常工作情况 + dailyBean2.setPersonnel_daily_work(data + dailyContentArrayArray[8].trim() + "(5)资源核查情况:" + checkContentArrayArray[num].trim() + + "(6)检查"+video+"视频显示清晰,无异常情况(7)09:00-11:00,值班人员视频轮询供电所值班情况。"); + //五、供电保障情况 + //(一)今日重大活动保电情况 + dailyBean2.setPower_guarantee_today_work(dailyContentArrayArray[11]); + //(二)明日重大活动保电安排 + dailyBean2.setPower_guarantee_tomorrow_work(dailyContentArrayArray[13]); + //(三)今日疫情防控应急保电情况 + dailyBean2.setPower_guarantee_today_pestilence(dailyContentArrayArray[15]); + //六、预警及应急响应情况 + //(一)公司预警情况 --另外一个方法使用 + + //(二)公司应急响应情况 + dailyBean2.setWarning_company_impatient(data + dailyContentArrayArray[20]); + //(三)社会突发事件救援及处置情况 + dailyBean2.setWarning_society_emergency(data + dailyContentArrayArray[22]); + //七、其他情况说明 + dailyBean2.setOther_situations(data + dailyContentArrayArray[24]); + //附件表一 + 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"); + + insertData(dailyBean2, null, type); + +// log.info("日报数据更新完成"); + logBean.setEvent_detection_title(logContentArrayArray[2].trim()); + //事件监测内容 + logBean.setEvent_detection_content(logData + logContentArrayArray[3].trim()); +// logBean.setEvent_detection_content(data + logContentArrayArray[3].trim() + data2 + logContentArrayArray[4].trim()); + logBean.setPower_work_title(logContentArrayArray[5]); + logBean.setPower_work_content(logData + logContentArrayArray[6]); + logBean.setResource_check_title(logContentArrayArray[8]); + logBean.setResource_check_content(logData + checkContentArrayArray[num]); + logBean.setCommunications_test_title(logContentArrayArray[10]); + logBean.setCommunications_test_content(logContentArrayArray[11]); + logBean.setDaily_operation_title(logContentArrayArray[13]); + logBean.setDaily_operation_content(logContentArrayArray[14]); + logBean.setDaily_submission_title(logContentArrayArray[16]); + logBean.setDaily_submission_content(logData + logContentArrayArray[17]); + logBean.setGeneral_chronicles_title(logContentArrayArray[22]); + logBean.setGeneral_chronicles_content(logContentArrayArray[23]); + 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) throws ParseException, InterruptedException { + + } + + private String getDailyName(String text) { + String name = ""; + switch (text) { + case "蒙城县供电公司": + name = "蒙城"; + break; + case "利辛县供电公司": + name = "利辛"; + break; + case "涡阳县供电公司": + name = "涡阳"; + break; + } + return name; + } + + 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); +// //添加计划 +// String projectName = addPlan(type, company, code); +// //审核计划 +// auditPlan(type, company); +//// String projectName = "通信"; +// //执行计划 +//// try { +// executePlan(type, company, projectName); +//// }catch (Exception e){ +//// while (true){ +//// WebElement webElement = webDriver.findElement(By.xpath("/html/body/div/div/div/div[2]/div[1]/section/div/section/section/div/div[3]/table/tbody/tr[1]/td[9]/div")); +//// if (!StringHelper.isEmptyAndNull(webElement.getText())){ +//// executePlan("","",""); +//// } +//// } +//// } +// } +// +// 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/div/div/div[1]/div/div/div/div[2]")).click(); +//// Thread.sleep(1500); +// //勾选计划 +// webDriver.findElement(By.xpath("/html/body/div[1]/div/main/div/div/div[2]/div/div[3]/table/tbody/tr[1]/td[1]/div/label")).click(); +// Thread.sleep(800); +// //点击执行按钮--打开选择被检查对象 +// webDriver.findElement(By.xpath("/html/body/div/div/main/div/div/div[1]/button[7]")).click(); +// Thread.sleep(2000); +// //获取首页数据量 随机获取一个数据量内的数字 进行勾选相应的内容 +//// int randomNumber = 1; +//// WebElement numberEle = webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/section/footer/div/span[1]")); +//// WebElement tableBody = webDriver.findElement(By.tagName("tbody")); // 获取tbody元素 +// +//// int rowCount = tableBody.findElements(By.tagName("tr")).size(); // 查询tbody下所有tr元素的数量 +//// log.info("numberEle:" + numberEle.getText()); +//// String num1 = numberEle.getText().substring(2, numberEle.getText().length()); +//// String num = num1.substring(0, num1.length() - 2); +//// log.info("num:" + rowCount); +//// Random rand = new Random(); +//// if(rowCount > 6) { +//// rowCount = 6; +//// } +//// randomNumber = rand.nextInt(rowCount)+1; +//// Thread.sleep(3000); +// webDriver.findElement(By.xpath("/html/body/div[4]/div/div[2]/section/main/div/div[3]/table/tbody/tr[1]")).click(); +// Thread.sleep(800); +// //点击确定按钮 延迟5s +// webDriver.findElement(By.xpath("/html/body/div[4]/div/div[3]/div/button[2]")).click(); +// Thread.sleep(3000); +// //点击项目评价按钮 +// //定位检查计划iframe的标签 +// +// webDriver.switchTo().defaultContent(); // 退出第一个同级 iframe +// WebElement body = webDriver.findElement(By.tagName("body")); // 定位主文档的 body 元素 +// WebElement dutyIframe = body.findElement(By.id("plancheck-to-rccl")); +// webDriver.switchTo().frame(dutyIframe); +// log.info("定位到检查计划iframe-----------"); +// Thread.sleep(1500); +// WebElement p = webDriver.findElement(By.xpath("/html/body/div/section/aside/section/div[2]/span[2]")); +// if ("队伍".equals(p.getText())) { +// webDriver.findElement(By.xpath("/html/body/div/section/main/header/div/div[1]/div/div/div/div[4]")).click(); +// } else { +// webDriver.findElement(By.xpath("/html/body/div/section/main/header/div/div[1]/div/div/div/div[3]")).click(); +// } +// 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(85, 100) + ""); +// Thread.sleep(500); +// //填写项目评价 +// String appraise = ""; +// log.info("appraise:" + appraise); +// if ("各级应急指挥中心音视频连通".equals(p.getText())) appraise = checkContentArrayArray[4].trim(); +// if ("物资".equals(p.getText())) appraise = checkContentArrayArray[1].trim(); +// if ("队伍".equals(p.getText())) appraise = checkContentArrayArray[3].trim(); +// if ("车辆".equals(p.getText())) appraise = checkContentArrayArray[2].trim(); +// 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(6000); +// //勾选计划 +// webDriver.findElement(By.xpath("/html/body/div[1]/div/main/div/div/div[2]/div/div[3]/table/tbody/tr[1]/td[1" + +// "]/div/label")).click(); +// log.info("点击勾选计划"); +// Thread.sleep(800); +// //点击审核按钮---打开审核页面 +// webDriver.findElement(By.xpath("/html/body/div[1]/div/main/div/div/div[1]/button[5]")).click(); +// log.info("打开审核页面"); +// Thread.sleep(1500); +// //选择同意按钮 +// webDriver.findElement(By.xpath("/html/body/div[4]/div/div[2]/div/form/div/div/div/div")).click(); +// log.info("选择同意按钮"); +// Thread.sleep(300); +// webDriver.findElement(By.xpath("/html/body/div[5]/div[1]/div[1]/ul/li[1]")).click(); +// Thread.sleep(300); +// //点击提交按钮 +// webDriver.findElement(By.xpath("/html/body/div[4]/div/div[3]/div/button[2]")).click(); +// log.info("点击提交按钮"); +// Thread.sleep(5000); +// //勾选计划 +// webDriver.findElement(By.xpath("/html/body/div[1]/div/main/div/div/div[2]/div/div[3]/table/tbody/tr[1]/td[1" + +// "]/div/label")).click(); +// log.info("点击勾选计划"); +// Thread.sleep(800); +// //点击审核按钮---打开审核页面 +// webDriver.findElement(By.xpath("/html/body/div[1]/div/main/div/div/div[1]/button[5]")).click(); +// log.info("打开审核页面"); +// Thread.sleep(1500); +// //选择同意按钮 +// webDriver.findElement(By.xpath("/html/body/div[4]/div/div[2]/div/form/div/div/div/div")).click(); +// log.info("选择同意按钮"); +// Thread.sleep(300); +// webDriver.findElement(By.xpath("/html/body/div[5]/div[1]/div[1]/ul/li[1]")).click(); +// Thread.sleep(300); +// //点击提交按钮 +// webDriver.findElement(By.xpath("/html/body/div[4]/div/div[3]/div/button[2]")).click(); +// log.info("点击提交按钮"); +// Thread.sleep(5000); +// log.info("结束审核操作---"); +// } +// +// private String addPlan(String type, String company, int code) throws InterruptedException { +// log.info("开始执行操作---"); +// String projectName = "通信"; +//// //点击草稿按钮 +//// webDriver.findElement(By.xpath("/html/body/div/div/div/div[1]/div/div/div/div[4]")).click(); +//// Thread.sleep(1500); +// //点击新增按钮 --- 打开新增页面 +// webDriver.findElement(By.xpath("/html/body/div[1]/div/main/div/div/div[1]/button[1]")).click(); +// Thread.sleep(1000); +// //填写主题 +// webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[1]/div/div[1]/input")).sendKeys(company + "公司日常操练" + DateTimeUtils.getMMDDByNow()); +// Thread.sleep(500); +// //选择操练环节 +// webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[2]/div/div")).click(); +// log.info("点击检查类型选择框-----------"); +// Thread.sleep(1000); +// if ("通信测试".equals(type)) { +// webDriver.findElement(By.xpath("/html/body/div[4]/div[1]/div[1]/ul/li[1]")).click(); +// log.info("选择操作内容 通信测试----------"); +// Thread.sleep(500); +// } else { +// webDriver.findElement(By.xpath("/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]/div/form/div[3]/div/div")).click(); +// log.info("点击操练项目选择框-----------"); +// Thread.sleep(1000); +// if ("通信测试".equals(type)) { +// webDriver.findElement(By.xpath("/html/body/div[5]/div[1]/div[1]/ul/li[1]")).click(); +// log.info("选择操作内容 各级应急指挥中心音视频连通----------"); +// Thread.sleep(500); +// } else { +// Random random = new Random(); +// // 生成一个0或1的随机数 +// int randomNumber = random.nextInt(2); +// // 根据随机数进行逻辑判断 +// if (randomNumber == 0) { +// System.out.println("随机数为0,获取到了1"); +// webDriver.findElement(By.xpath("/html/body/div[5]/div[1]/div[1]/ul/li[1]")).click(); +// log.info("选择操作内容----------"); +// Thread.sleep(500); +// projectName = "队伍"; +// } else { +// System.out.println("随机数为1,获取到了3"); +// webDriver.findElement(By.xpath("/html/body/div[5]/div[1]/div[1]/ul/li[3]")).click(); +// log.info("选择操作内容----------"); +// Thread.sleep(500); +// projectName = "车辆"; +// } +//// int i =getRandom(1,3); +//// webDriver.findElement(By.xpath("/html/body/div[5]/div[1]/div[1]/ul/li[" + i + "]")).click(); +//// log.info("选择操作内容----------"); +//// Thread.sleep(500); +//// if (i == 1) projectName = "队伍"; +//// if (i == 2) projectName = "装备"; +//// if (i == 3) projectName = "车辆"; +//// Thread.sleep(300); +// } +// //选择被检查单位 +// webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/div/div")).click(); +// log.info("点击选择被检查单位型选择框-----------"); +// Thread.sleep(1000); +// webDriver.findElement(By.xpath("/html/body/div[6]/div[1]/div[1]/ul/li[" + code + "]")).click(); +// log.info("选择操作内容----------"); +// Thread.sleep(500); +// //填写计划检查日期 +// webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[5]/div/div/input")).sendKeys(DateTimeUtils.getCurrentDay()); +// Thread.sleep(1500); +// //点击提交按钮 +// webDriver.findElement(By.xpath("/html/body/div[3]/div/div[3]/div/button[3]")).click(); +// Thread.sleep(1000); +// //点击确定按钮 +// webDriver.findElement(By.xpath("/html/body/div[7]/div/div[3]/button[2]")).click(); +// Thread.sleep(1000); +// +// return projectName; +// } + + public void addExercisePlan(String type, String company, int code) throws InterruptedException { + Thread.sleep(3000); + //添加计划 + addPlan(type, company, code); + //审核计划 +// auditPlan(type, company); +// String projectName = "通信"; + //执行计划 +// try { + executePlan(type, company, "", code); +// }catch (Exception e){ +// while (true){ +// WebElement webElement = webDriver.findElement(By.xpath("/html/body/div/div/div/div[2]/div[1]/section/div/section/section/div/div[3]/table/tbody/tr[1]/td[9]/div")); +// if (!StringHelper.isEmptyAndNull(webElement.getText())){ +// executePlan("","",""); +// } +// } +// } + } + + private void executePlan(String type, String company, String projectName,int code) throws InterruptedException { + Thread.sleep(2000); + String checkContent = resolveGarbledCode("D:\\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); + + + webDriver.switchTo().defaultContent(); // 退出第一个同级 iframe + WebElement body = webDriver.findElement(By.tagName("body")); // 定位主文档的 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)){ + if (code > 1){ + if (code == 2){ + //装备 + appraise = checkContentArrayArray[1].trim(); + webDriver.findElement(By.xpath("/html/body/div[1]/section/main/section/header/div/div/div")).click(); + Thread.sleep(1000); + webDriver.findElement(By.xpath("/html/body/div[2]/div[1]/div[1]/ul/li")).click(); + Thread.sleep(1000); + } + if (code == 3){ + //车辆 + appraise = checkContentArrayArray[2].trim(); + } + webDriver.findElement(By.xpath("/html/body/div/section/main/header/div/div[1]/div/div/div/div[3]")).click(); + }else { + 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("对"+company+"公司开展通信测试"); + }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("对"+company+"公司开展日常操练"); + } + 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["+code+"]")).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/section/main/div/div[3]/table/tbody" + + "/tr[1]")).click(); + Thread.sleep(500); + webDriver.findElement(By.xpath("/html/body/div[7]/div/div[2]/section/section/main/div/div[3]/table/tbody" + + "/tr[2]")).click(); + Thread.sleep(1000); + }else { + for (int i = 1; i < 3; i++) { + webDriver.findElement(By.xpath("/html/body/div[7]/div/div[2]/section/section/main/div/div[3]/table" + + "/tbody/tr["+i+"]")).click(); + Thread.sleep(1000); + } + } + Thread.sleep(3000); + webDriver.findElement(By.xpath("/html/body/div[7]/div/div[2]/section/footer/button[2]")).click(); + Thread.sleep(2000); + //提交 + webDriver.findElement(By.xpath("/html/body/div[2]/div/div[2]/section/div/button[3]")).click(); + Thread.sleep(3000); + } +}