diff --git a/src/main/java/com/bonus/autoweb/GetBasicData.java b/src/main/java/com/bonus/autoweb/GetBasicData.java deleted file mode 100644 index 3e3dc1a..0000000 --- a/src/main/java/com/bonus/autoweb/GetBasicData.java +++ /dev/null @@ -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 +"08:30," : - data2 + "17:30,") + 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+"08:30," : data2+"17:30" + - ",") + 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+"08:30," : data2+"17:30" + - ",") + 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); - } - -}