From 65876dff52218181414be535e5e13e082f174130 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8C=97=E9=A3=8E?= <2452618307@qq.com> Date: Tue, 30 Jan 2024 11:12:47 +0800 Subject: [PATCH] =?UTF-8?q?=E8=92=99=E5=9F=8E=E8=87=AA=E5=8A=A8=E5=8C=96?= =?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F=E7=AC=AC=E4=B8=80=E6=AC=A1=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 94 + src/main/java/META-INF/MANIFEST.MF | 3 + .../java/com/bonus/autoweb/DateTimeUtils.java | 253 + .../java/com/bonus/autoweb/GetBasicData.java | 1245 ++++ src/main/java/com/bonus/autoweb/TestMain.java | 452 ++ .../autoweb/UI/entity/AnnexEightBean.java | 78 + .../autoweb/UI/entity/AnnexElevenBean.java | 23 + .../autoweb/UI/entity/AnnexFiveBean.java | 26 + .../autoweb/UI/entity/AnnexFourBean.java | 58 + .../autoweb/UI/entity/AnnexFourteenBean.java | 24 + .../autoweb/UI/entity/AnnexNineBean.java | 45 + .../bonus/autoweb/UI/entity/AnnexOneBean.java | 55 + .../autoweb/UI/entity/AnnexSevenBean.java | 69 + .../bonus/autoweb/UI/entity/AnnexSixBean.java | 47 + .../bonus/autoweb/UI/entity/AnnexTenBean.java | 24 + .../autoweb/UI/entity/AnnexThirteenBean.java | 24 + .../autoweb/UI/entity/AnnexThreeBean.java | 55 + .../autoweb/UI/entity/AnnexTwelveBean.java | 24 + .../bonus/autoweb/UI/entity/AnnexTwoBean.java | 53 + .../bonus/autoweb/UI/entity/DailyBean.java | 140 + .../com/bonus/autoweb/UI/entity/LogBean.java | 108 + .../bonus/autoweb/UI/frame/DailyAction.java | 5705 +++++++++++++++++ .../com/bonus/autoweb/UI/frame/Jframe.java | 69 + .../com/bonus/autoweb/UI/frame/LogAction.java | 734 +++ .../autoweb/UI/frame/MyFocusListener.java | 34 + .../bonus/autoweb/UI/frame/StringHelper.java | 30 + .../java/com/bonus/autoweb/base/AutoMain.java | 380 ++ .../com/bonus/autoweb/base/AutoUtils.java | 54 + .../com/bonus/autoweb/base/DataConfig.java | 62 + .../bonus/autoweb/base/DutyChangeShifts.java | 178 + .../com/bonus/autoweb/base/DutyClock.java | 158 + .../bonus/autoweb/base/DutyDailyCheck.java | 98 + .../com/bonus/autoweb/base/DutyDailyOp.java | 2009 ++++++ .../com/bonus/autoweb/base/DutyLogIOp.java | 391 ++ .../com/bonus/autoweb/task/AutoWebTask.java | 459 ++ src/main/resources/META-INF/MANIFEST.MF | 3 + src/main/resources/lib/freetts.jar | Bin 0 -> 208668 bytes src/main/resources/log4j.properties | 24 + src/main/serverRes/META-INF/MANIFEST.MF | 3 + src/main/uiRes/META-INF/MANIFEST.MF | 3 + 40 files changed, 13294 insertions(+) create mode 100644 pom.xml create mode 100644 src/main/java/META-INF/MANIFEST.MF create mode 100644 src/main/java/com/bonus/autoweb/DateTimeUtils.java create mode 100644 src/main/java/com/bonus/autoweb/GetBasicData.java create mode 100644 src/main/java/com/bonus/autoweb/TestMain.java create mode 100644 src/main/java/com/bonus/autoweb/UI/entity/AnnexEightBean.java create mode 100644 src/main/java/com/bonus/autoweb/UI/entity/AnnexElevenBean.java create mode 100644 src/main/java/com/bonus/autoweb/UI/entity/AnnexFiveBean.java create mode 100644 src/main/java/com/bonus/autoweb/UI/entity/AnnexFourBean.java create mode 100644 src/main/java/com/bonus/autoweb/UI/entity/AnnexFourteenBean.java create mode 100644 src/main/java/com/bonus/autoweb/UI/entity/AnnexNineBean.java create mode 100644 src/main/java/com/bonus/autoweb/UI/entity/AnnexOneBean.java create mode 100644 src/main/java/com/bonus/autoweb/UI/entity/AnnexSevenBean.java create mode 100644 src/main/java/com/bonus/autoweb/UI/entity/AnnexSixBean.java create mode 100644 src/main/java/com/bonus/autoweb/UI/entity/AnnexTenBean.java create mode 100644 src/main/java/com/bonus/autoweb/UI/entity/AnnexThirteenBean.java create mode 100644 src/main/java/com/bonus/autoweb/UI/entity/AnnexThreeBean.java create mode 100644 src/main/java/com/bonus/autoweb/UI/entity/AnnexTwelveBean.java create mode 100644 src/main/java/com/bonus/autoweb/UI/entity/AnnexTwoBean.java create mode 100644 src/main/java/com/bonus/autoweb/UI/entity/DailyBean.java create mode 100644 src/main/java/com/bonus/autoweb/UI/entity/LogBean.java create mode 100644 src/main/java/com/bonus/autoweb/UI/frame/DailyAction.java create mode 100644 src/main/java/com/bonus/autoweb/UI/frame/Jframe.java create mode 100644 src/main/java/com/bonus/autoweb/UI/frame/LogAction.java create mode 100644 src/main/java/com/bonus/autoweb/UI/frame/MyFocusListener.java create mode 100644 src/main/java/com/bonus/autoweb/UI/frame/StringHelper.java create mode 100644 src/main/java/com/bonus/autoweb/base/AutoMain.java create mode 100644 src/main/java/com/bonus/autoweb/base/AutoUtils.java create mode 100644 src/main/java/com/bonus/autoweb/base/DataConfig.java create mode 100644 src/main/java/com/bonus/autoweb/base/DutyChangeShifts.java create mode 100644 src/main/java/com/bonus/autoweb/base/DutyClock.java create mode 100644 src/main/java/com/bonus/autoweb/base/DutyDailyCheck.java create mode 100644 src/main/java/com/bonus/autoweb/base/DutyDailyOp.java create mode 100644 src/main/java/com/bonus/autoweb/base/DutyLogIOp.java create mode 100644 src/main/java/com/bonus/autoweb/task/AutoWebTask.java create mode 100644 src/main/resources/META-INF/MANIFEST.MF create mode 100644 src/main/resources/lib/freetts.jar create mode 100644 src/main/resources/log4j.properties create mode 100644 src/main/serverRes/META-INF/MANIFEST.MF create mode 100644 src/main/uiRes/META-INF/MANIFEST.MF diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..f443f27 --- /dev/null +++ b/pom.xml @@ -0,0 +1,94 @@ + + + 4.0.0 + + autoWebForSuZhou + autoWebForSuZhou + 1.0-SNAPSHOT + + + + org.apache.maven.plugins + maven-compiler-plugin + + 8 + 8 + + + + + + + + org.seleniumhq.selenium + selenium-java + 3.141.59 + + + + + com.google.code.gson + gson + 2.2.4 + + + com.thoughtworks.xstream + xstream + 1.4.9 + + + org.codehaus.jettison + jettison + 1.3.7 + + + org.projectlombok + lombok + 1.18.26 + compile + + + + org.quartz-scheduler + quartz + 2.2.1 + + + + com.hynnet + jacob + 1.18 + + + + commons-logging + commons-logging-api + 1.1 + + + + org.slf4j + slf4j-api + 1.7.26 + + + + org.slf4j + slf4j-log4j12 + 1.7.26 + + + org.apache.poi + poi + 4.1.2 + + + org.apache.poi + poi-ooxml + 4.1.2 + + + + \ No newline at end of file diff --git a/src/main/java/META-INF/MANIFEST.MF b/src/main/java/META-INF/MANIFEST.MF new file mode 100644 index 0000000..1d285bc --- /dev/null +++ b/src/main/java/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: com.bonus.autoweb.TestMain + diff --git a/src/main/java/com/bonus/autoweb/DateTimeUtils.java b/src/main/java/com/bonus/autoweb/DateTimeUtils.java new file mode 100644 index 0000000..abcc636 --- /dev/null +++ b/src/main/java/com/bonus/autoweb/DateTimeUtils.java @@ -0,0 +1,253 @@ +package com.bonus.autoweb; + +import com.bonus.autoweb.base.DataConfig; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.util.*; + +/** + * 日期操作工具类 + */ +public class DateTimeUtils { + + + + /** + * 获取当前时间是本周第几天,从周一开始计算 + * @return + */ + public static int getWeekOfDate(String dateString ) throws ParseException { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Date dt= sdf.parse(dateString); + int[] weekDays = {7, 1, 2, 3, 4,5, 6}; + Calendar cal = Calendar.getInstance(); + cal.setTime(dt); + int w = cal.get(Calendar.DAY_OF_WEEK) - 1; + if (w < 0){ + w = 0; + } + return weekDays[w]; + } + + /**' + *获取当前时间是本月第几周 + * @return + */ + public static int getWeekNum(String dateString ) throws ParseException { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Date date= sdf.parse(dateString); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + int weekOfMonth = calendar.get(Calendar.WEEK_OF_MONTH); + if (getWeekOfDate(dateString) == 7){ + weekOfMonth = weekOfMonth - 1; + } + return weekOfMonth; + } + + /** + * 获取本月第一天在第几周 + * @return true 0 false >0 + * @throws ParseException + */ + public static boolean getMonthOneDayIs0() throws ParseException { + LocalDate firstDayOfMonth = LocalDate.now().withDayOfMonth(1); + int t=getWeekNum(firstDayOfMonth.toString()); +// int t=getWeekNum(day); + if(t>0){ + return false; + } + return true; + } + + /** + * 获取上个月的最后一天 + */ + public static String getBeforeLastMonthdate(){ + SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd"); + Calendar calendar=Calendar.getInstance(); + int month=calendar.get(Calendar.MONTH); + calendar.set(Calendar.MONTH, month-1); + calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); + String format = sf.format(calendar.getTime()); + return format; + } + + /** + * 获取当前日期 + * @return + */ + public static String getCurrentDay(){ + Date date=new Date(); + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + return formatter.format(date); + } + + /** + * 获取昨天的日期 + * @return + */ + public static String getLastDayYYYYMMDD(){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Calendar c = Calendar.getInstance(); + c.add(Calendar.DATE, -1);//-1.昨天时间 0.当前时间 1.明天时间 *以此类推 + String time = sdf.format(c.getTime()); + System.out.println("昨天的时间时间是:" + time);//20190704 + return time; + } + private static List getARandomCollectionOfData() { + Random random = new Random(); + int minCount = 3; // 最小数量 + int maxCount = 5; // 最大数量 + int count = random.nextInt(maxCount - minCount + 1) + minCount; // 随机生成数量 + List numbers = new ArrayList<>(); + while (numbers.size() < count) { + int randomNumber = random.nextInt(6) + 2; // 随机生成1到7的数字 + if (!numbers.contains(randomNumber)) { + numbers.add(randomNumber); + } + } + Collections.shuffle(numbers); + System.out.println(numbers); + return numbers; + } + + public static void main(String[] args) throws ParseException { +// System.out.println(getMMDDByNow()); + //获取一个随机数据集合 + compareDate("2024-01-18","2024-01-24"); + } + public static String getCurrentDay2(){ + Date date=new Date(); + SimpleDateFormat formatter = new SimpleDateFormat("MM月dd日"); + return formatter.format(date); + } + + /** + * 获取昨天的日期 + * @return + */ + public static String getLastDay(){ + SimpleDateFormat sdf = new SimpleDateFormat("MM月dd日"); + Calendar c = Calendar.getInstance(); + c.add(Calendar.DATE, -1);//-1.昨天时间 0.当前时间 1.明天时间 *以此类推 + String time = sdf.format(c.getTime()); + System.out.println("昨天的时间时间是:" + time);//20190704 + return time; + } + /** + * 获取明天的日期 + * @return + */ + public static String getTomorrowDate() { + SimpleDateFormat sdf = new SimpleDateFormat("MM月dd日"); + Calendar c = Calendar.getInstance(); + c.add(Calendar.DATE, 1);//-1.昨天时间 0.当前时间 1.明天时间 *以此类推 + String time = sdf.format(c.getTime()); + System.out.println("昨天的时间时间是:" + time);//20190704 + return time; + } + /** + * 获取当前月日 + * @return + */ + public static String getCurrentDayByMonth(){ + Date date=new Date(); + SimpleDateFormat formatter = new SimpleDateFormat("MM月dd日"); + return formatter.format(date); + } + public static String getMMDDByNow(){ + Date date=new Date(); + SimpleDateFormat formatter = new SimpleDateFormat("MMdd"); + return formatter.format(date); + } + + /** + * 判断当前日期是否为本月第一天 + * @return + */ + public static boolean isOneDay(){ + // TODO Auto-generated method stub + Date now = new Date(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");//可以方便地修改日期格式 + String curr = dateFormat.format( now ); + System.out.println("当前日期:" + curr); + + Calendar c = Calendar.getInstance();//可以对每个时间域单独修改 + + int year = c.get(Calendar.YEAR); + int month = c.get(Calendar.MONTH); + int date = c.get(Calendar.DATE); + if(date == 1){ + System.out.println(curr + "是第一天"); + return true; + } + else{ + System.out.println(curr + "不是第一天"); + return false; + } + } + + /** + * 判断当前时间是否在[startTime, endTime]区间,注意三个参数的时间格式要一致 + * @param startTime + * @param endTime + * @return 在时间段内返回true,不在返回false + */ + public static boolean isEffectiveDate(String startTime, String endTime){ + /** + * 判断当前时间是否在一个时间段内 HH:mm 格式 + */ + SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); + String now = sdf.format(new Date()); + Date nowTime; + try{ + nowTime = sdf.parse(now); + Date startTime1 = sdf.parse(startTime); + Date endTime1 = sdf.parse(endTime); + if (nowTime.getTime() == startTime1.getTime() + || nowTime.getTime() == endTime1.getTime()) { + return true; + } + + Calendar date = Calendar.getInstance(); + date.setTime(nowTime); + + Calendar begin = Calendar.getInstance(); + begin.setTime(startTime1); + + Calendar end = Calendar.getInstance(); + end.setTime(endTime1); + + return date.after(begin) && date.before(end); + }catch (Exception e){ + e.printStackTrace(); + } + return false; + } + + public static boolean compareDate(String date1, String date2) throws ParseException { + boolean tf = false; + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); + + // 定义起始日期和结束日期 + Date startDate = dateFormat.parse(date1 + " 00:00:00"); + Date endDate = dateFormat.parse(date2 + " 23:59:59"); + + // 定义要判断的日期 + Date dateToCheck = new Date(); + + // 判断日期是否在范围内 + if (startDate.compareTo(dateToCheck) <= 0 && endDate.compareTo(dateToCheck) >= 0) { + System.out.println("日期在范围内"); + tf = true; + } else { + tf = false; + System.out.println("日期不在范围内"); + } + return tf; + } + +} 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..74c9372 --- /dev/null +++ b/src/main/java/com/bonus/autoweb/GetBasicData.java @@ -0,0 +1,1245 @@ +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; + +/** + * 项目名称: 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(); + } + + + /** + * 类方法说明: 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("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 data1 = DateTimeUtils.getLastDay(); + //今天的日期 + String data2 = DateTimeUtils.getCurrentDay2(); + //明天的日期 + String data3 = DateTimeUtils.getTomorrowDate(); + //日志时间 + String logData = data2 + "08:30至" + data3 + "8:30,"; + //日报时间 + String data = ""; + if (classes == 1) { + data = data2 + "17:30至" + data3 + "08:30,"; + + //一、总体情况 + dailyBean.setOverall(data + dailyContentArrayArray[2].trim()); + dailyBean.setWarning_company(code + dailyContentArrayArray[19]); + } else { + data = data2 + "08:30至" + data2 + "17:30,"; + + dailyBean2.setOverall(data + dailyContentArrayArray[2].trim()); + dailyBean2.setWarning_company(code + dailyContentArrayArray[19]); + } + + 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("E:\\bns\\config\\日报基本信息.txt"); + String checkContent = resolveGarbledCode("E:\\bns\\config\\资源核查情况.txt"); + String logContent = resolveGarbledCode("E:\\bns\\config\\日志基本信息.txt"); + String[] dailyContentArrayArray = dailyContent.split("--头部不可修改--"); + String[] logContentArrayArray = logContent.split("--头部不可修改--"); + String[] checkContentArrayArray = checkContent.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:30至" + data3 + "8:30,"; + /** + * 获取指定位置标签的值 + */ + 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 = ""; + if (classes == 1) { + type = "morning_daily"; + //早报 + boolean t = true; + int num = getRandom(1, 3); + String data = data2 + "17:30至" + data3 + "08:30,"; + + //二、重要事项 + dailyBean.setImportant_matters(data + dailyContentArrayArray[4].trim()); + //三、安全生产情况 + dailyBean.setSafety_production(data + dailyContentArrayArray[6].trim()); + //四、值班员日常工作情况 + dailyBean.setPersonnel_daily_work(data + dailyContentArrayArray[8].trim() + "(4)资源核查情况:" + checkContentArrayArray[num].trim() + + dailyContentArrayArray[9].trim()); + //五、供电保障情况 + //(一)今日重大活动保电情况 + dailyBean.setPower_guarantee_today_work(dailyContentArrayArray[12]); + //(二)明日重大活动保电安排 + dailyBean.setPower_guarantee_tomorrow_work(dailyContentArrayArray[14]); + //(三)今日疫情防控应急保电情况 + dailyBean.setPower_guarantee_today_pestilence(dailyContentArrayArray[16]); + //六、预警及应急响应情况 + //(一)公司预警情况 --另外一个方法使用 + + //(二)公司应急响应情况 + dailyBean.setWarning_company_impatient(data + dailyContentArrayArray[21]); + //(三)社会突发事件救援及处置情况 + dailyBean.setWarning_society_emergency(data + dailyContentArrayArray[23]); + //七、其他情况说明 + dailyBean.setOther_situations(data + dailyContentArrayArray[25]); + //附件表一 + 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 + "08:30至" + data2 + "17:30,"; + //一、总体情况 +// 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() + "(4)资源核查情况:" + checkContentArrayArray[num].trim() + + dailyContentArrayArray[9].trim()); + //五、供电保障情况 + //(一)今日重大活动保电情况 + dailyBean2.setPower_guarantee_today_work(dailyContentArrayArray[12]); + //(二)明日重大活动保电安排 + dailyBean2.setPower_guarantee_tomorrow_work(dailyContentArrayArray[14]); + //(三)今日疫情防控应急保电情况 + dailyBean2.setPower_guarantee_today_pestilence(dailyContentArrayArray[16]); + //六、预警及应急响应情况 + //(一)公司预警情况 --另外一个方法使用 + + //(二)公司应急响应情况 + dailyBean2.setWarning_company_impatient(data + dailyContentArrayArray[21]); + //(三)社会突发事件救援及处置情况 + dailyBean2.setWarning_society_emergency(data + dailyContentArrayArray[23]); + //七、其他情况说明 + dailyBean2.setOther_situations(data + dailyContentArrayArray[25]); + //附件表一 + 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 { + + int num = getRandom(1, 3); + DailyBean dailyBean = readDailyBean("morning_daily"); + DailyBean dailyBean2 = readDailyBean("evening_daily"); + LogBean logBean = readDutyBean(); + String dailyContent = resolveGarbledCode("E:\\bns2\\config\\日报基本数据.txt"); + String checkContent = resolveGarbledCode("E:\\bns2\\config\\资源核查情况.txt"); + String logContent = resolveGarbledCode("E:\\bns2\\config\\日志基本数据.txt"); + String[] dailyContentArrayArray = dailyContent.split("--头部不可修改--"); + String[] logContentArrayArray = logContent.split("--头部不可修改--"); + String[] checkContentArrayArray = checkContent.split("资源核查情况:"); + //昨天的日期 + String data1 = DateTimeUtils.getLastDay(); + //今天的日期 + String data2 = DateTimeUtils.getCurrentDay2(); + //明天的日期 + String data3 = DateTimeUtils.getTomorrowDate(); + //日志时间 + String logData = data2 + "08:30至" + data3 + "8:30,"; + String data = data2 + "17:30至" + data3 + "08:30,"; + + //二、重要事项 + dailyBean.setImportant_matters(data + dailyContentArrayArray[4].trim()); + //三、安全生产情况 + dailyBean.setSafety_production(data + dailyContentArrayArray[6].trim()); + //四、值班员日常工作情况 + dailyBean.setPersonnel_daily_work(data + dailyContentArrayArray[8].trim() + "(4)资源核查情况:" + checkContentArrayArray[num].trim() + + dailyContentArrayArray[9].trim()); + //五、供电保障情况 + //(一)今日重大活动保电情况 + dailyBean.setPower_guarantee_today_work(dailyContentArrayArray[12]); + //(二)明日重大活动保电安排 + dailyBean.setPower_guarantee_tomorrow_work(dailyContentArrayArray[14]); + //(三)今日疫情防控应急保电情况 + dailyBean.setPower_guarantee_today_pestilence(dailyContentArrayArray[16]); + //六、预警及应急响应情况 + //(一)公司预警情况 --另外一个方法使用 + + //(二)公司应急响应情况 + dailyBean.setWarning_company_impatient(data + dailyContentArrayArray[21]); + //(三)社会突发事件救援及处置情况 + dailyBean.setWarning_society_emergency(data + dailyContentArrayArray[23]); + //七、其他情况说明 + dailyBean.setOther_situations(data + dailyContentArrayArray[25]); + //附件表一 + 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, "morning_daily"); + + 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(data + logContentArrayArray[17]); + logBean.setGeneral_chronicles_title(logContentArrayArray[22]); + logBean.setGeneral_chronicles_content(logContentArrayArray[23]); + insertData(null, logBean, "log"); + } + + 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, ""); +// }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[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)){ + 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[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[2]/div["+code+"]/div/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 < 9; 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); + } +} diff --git a/src/main/java/com/bonus/autoweb/TestMain.java b/src/main/java/com/bonus/autoweb/TestMain.java new file mode 100644 index 0000000..69b11e5 --- /dev/null +++ b/src/main/java/com/bonus/autoweb/TestMain.java @@ -0,0 +1,452 @@ +package com.bonus.autoweb; + +import com.bonus.autoweb.base.AutoUtils; +import com.bonus.autoweb.base.DataConfig; +import com.bonus.autoweb.task.AutoWebTask; +import com.jacob.activeX.ActiveXComponent; +import com.jacob.com.ComFailException; +import com.jacob.com.Dispatch; +import com.jacob.com.Variant; +import lombok.SneakyThrows; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.openqa.selenium.By; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.text.ParseException; +import java.util.*; +import javax.sound.sampled.*; +import javax.sound.sampled.AudioInputStream; +import javax.sound.sampled.AudioSystem; + +/** + * 系统测试 + * @author 24526 + */ +public class TestMain { + private static Logger log = LoggerFactory.getLogger(TestMain.class); + + public static void main(String[] args) throws Exception { + log.info("执行任务开始。。。。。。"); +// testqd(); +// testjjb(); +// testGetData(); +// testAccounters(); +// testDailrb(); +// testRCCL(); +// testLog(); + new Thread(new Runnable() { + @SneakyThrows + @Override + public void run() { + try { + new TestMain().autoJob(); + } catch (Exception e) { + e.printStackTrace(); + log.error("错误信息", e); + } + } + }).start(); + } + + private static void testAccounters() { + try { + AutoWebTask autoWebTask = new AutoWebTask(); + String content = GetBasicData.resolveGarbledCode("E:\\bns\\config\\值班账号.txt"); + // 应急值班账号 + String emergencyPerson = content.toString().split(";")[0].split(":")[1]; + String emergencyPersonPassword = content.toString().split(";")[1].split(":")[1]; + autoWebTask.changeTodayPersonaTask(1,emergencyPerson,emergencyPersonPassword); + //TODO 昨日的账号在今日的签退任务完成后,拿取今天的打卡人员数据放入昨日值班账号txt即可 + + } catch (IOException e) { + e.printStackTrace(); + } + } + + //签到签退测试 + private static void testqd() { + String content = GetBasicData.resolveGarbledCode("E:\\bns\\config\\account.txt"); + String date = content.toString().split(";")[0].split(":")[1]; + String num = content.toString().split(";")[1].split(":")[1]; + if("1".equals(num)){ + log.info("xgd,yj签到签退任务"); + }else { + log.info("zkj,zh签到签退任务"); + } +// AutoWebTask autoWebTask = new AutoWebTask(); +// autoWebTask.dutyClockTask(2); + } + + //交接班测试 + private static void testjjb() { + AutoWebTask autoWebTask = new AutoWebTask(); + autoWebTask.dutyChangeTask1(2,DataConfig.USER_NAME1,DataConfig.PASS1); + } + + private static void testRCCL() throws InterruptedException { + AutoWebTask autoWebTask = new AutoWebTask(); + String content = GetBasicData.resolveGarbledCode("E:\\bns\\config\\值班账号.txt"); + // 应急值班账号 + String emergencyPerson = content.toString().split(";")[0].split(":")[1]; + String emergencyPersonPassword = content.toString().split(";")[1].split(":")[1]; + String[] array = {"蒙城","利辛","涡阳"}; + Random random = new Random(); + int index = random.nextInt(array.length); + log.info("随机值为:" + index); + log.info("随机值为:" + array[index]); + Thread.sleep(2000); + autoWebTask.addExercisePlan("通信测试", array[index], index+1, emergencyPerson, + emergencyPersonPassword); + Thread.sleep(1000 * 700); + autoWebTask.addExercisePlan("日常操练", array[index], index+1, emergencyPerson, + emergencyPersonPassword); + Thread.sleep(2000); + } + + //自动获取数据测试 + private static void testGetData() throws ParseException, InterruptedException { + AutoWebTask autoWebTask = new AutoWebTask(); + String content = GetBasicData.resolveGarbledCode("E:\\bns\\config\\值班账号.txt"); + // 应急值班账号 + String emergencyPerson = content.toString().split(";")[0].split(":")[1]; + String emergencyPersonPassword = content.toString().split(";")[1].split(":")[1]; + Thread.sleep(2000); + autoWebTask.getYuJingData(2,emergencyPerson,emergencyPersonPassword); + Thread.sleep(2000); + autoWebTask.getCaoLianData(2,emergencyPerson,emergencyPersonPassword); + Thread.sleep(2000); +// GetBasicData.getYuJingActionBasicData(1); +//登录操作---杨军账号 +// autoWebTask.addExercisePlan("日常操练","灵璧",5,DataConfig.USER_NAME3,DataConfig.PASS3); +// Thread.sleep(2000); +// autoWebTask.addExercisePlan("日常操练","城郊",6,DataConfig.USER_NAME3,DataConfig.PASS3); +//// Thread.sleep(2000); +// autoWebTask.addExercisePlan("日常操练","砀山",3,DataConfig.USER_NAME3,DataConfig.PASS3); +// autoWebTask.addExercisePlan("通信测试","城郊",6,DataConfig.USER_NAME3,DataConfig.PASS3); + } + + //日报填写测试 + private static void testDailrb() { + try { + //操作日报 + //日报审核工作 + AutoWebTask autoWebTask = new AutoWebTask(); + autoWebTask.dutyAddDailyLogsTask(1,DataConfig.USER_NAME4,DataConfig.PASS4); + Thread.sleep(1000); + } catch (Exception e) { + e.printStackTrace(); + } + } + + //日志填写测试 + private static int testLog() { + int count = 0; + try { + //操作日志 + AutoWebTask autoWebTask = new AutoWebTask(); + autoWebTask.dutyAddLogsTask(2,DataConfig.USER_NAME1,DataConfig.PASS1); + count = 1; + Thread.sleep(1000); + log.info("count",count); + System.out.println(count); + } catch (Exception e) { + e.printStackTrace(); + } + return count; + } + + + /** + * 自动化任务 + * + * @throws Exception + */ + private void autoJob() throws InterruptedException { + AutoWebTask autoWebTask = new AutoWebTask(); + + int logGatherCount = 0; + int dailyGatherCount = 0; + int logGatherCount1 = 0; + int dailyGatherCount1 = 0; + + int signInzao = 0; + int signInzao2 = 0; + int dailyzao = 0; + int dailywan = 0; + int jjbzao = 0; + int jjbzao2 = 0; + int signOutzao = 0; + int signOutzao2 = 0; + int logzao = 0; + int resetCode = 0; + + int changeTodayPerson = 0; + + int addExercisePlan = 0; + + while (true) { + //延迟30s---120s + int time = randNum(30, 120); + log.info("随机时间为:" + time); + try { + Thread.sleep(1000 * time); + } catch (Exception e) { + log.error("时间", e); + } + log.info("服务正在运行。。。" + new Date()); + String content = GetBasicData.resolveGarbledCode("E:\\bns\\config\\值班账号.txt"); + String todayContent = GetBasicData.resolveGarbledCode("E:\\bns\\config\\今日值班账号.txt"); + String yesterdayContent = GetBasicData.resolveGarbledCode("E:\\bns\\config\\昨日值班账号.txt"); + // 应急值班账号 + String emergencyPerson = content.toString().split(";")[0].split(":")[1]; + String emergencyPersonPassword = content.toString().split(";")[1].split(":")[1]; + //今日签到值班人员 + String todaySignInPerson = todayContent.toString().split(";")[0].split(":")[1]; + String todaySignInPersonPassword = todayContent.toString().split(";")[1].split(":")[1]; + //昨日签退人员 + String yesterdaySignOutPerson = yesterdayContent.toString().split(";")[0].split(":")[1]; + String yesterdaySignOutPersonPassword = yesterdayContent.toString().split(";")[1].split(":")[1]; + + if(DateTimeUtils.isEffectiveDate("17:46", "17:55")){ + //进行日报信息系统采集及获取工作 + try { + if (logGatherCount == 0){ + logGatherCount = autoWebTask.getYuJingData(1,emergencyPerson,emergencyPersonPassword); + } + Thread.sleep(3000); + if (dailyGatherCount == 0){ + dailyGatherCount = autoWebTask.getCaoLianData(1,emergencyPerson,emergencyPersonPassword); + Thread.sleep(2000); + } + }catch (Exception e) { + log.error("信息采集工作", e); + } + }else if (DateTimeUtils.isEffectiveDate("05:00", "05:30")) { + //TODO 更新今日 + try { + if (changeTodayPerson == 0){ + changeTodayPerson = autoWebTask.changeTodayPersonaTask(1,emergencyPerson,emergencyPersonPassword); + } + } catch (IOException e) { + log.error("更新早上打卡人员", e); + } + }else if (DateTimeUtils.isEffectiveDate("06:00", "06:30")) { + //自动完成当值值班日报(早报)填写上报 + if (dailyzao == 0) { + getTime(1100); + try { + dailyzao = autoWebTask.dutyAddDailyLogsTask(1,emergencyPerson,emergencyPersonPassword); + + + }catch (Exception e){ + log.error("日报工作", e); + } + } + }else if (DateTimeUtils.isEffectiveDate("06:31", "06:50")) { + //完成值班日志填写提交(晚班日志,此次值班日志为总结前一天晚上的情况) + if (logzao == 0) { + getTime(600); + try { + logzao = autoWebTask.dutyAddLogsTask(1,emergencyPerson,emergencyPersonPassword); + }catch (Exception e){ + log.error("日志工作", e); + } + } + }else if (DateTimeUtils.isEffectiveDate("07:20", "07:50")) { + //自动完成当值值班签到(值班主任、值班人员都要签到) + if ("error".equals(content)) { + log.error("读取打卡人员数据错误"); + }else { + if (signInzao == 0 && signInzao2 == 0){ + getTime(1100); + } + if (signInzao == 0) { + log.info("应急值班账号开始打卡任务---------------------"); + //使用应急值班账号签到 + try { + signInzao = autoWebTask.dutySigin(1, 1, emergencyPerson, emergencyPersonPassword); + + + } catch (Exception e) { + log.error("应急值班打卡任务", e); + } + } + try { + Thread.sleep(1000 * 2); + } catch (Exception e) { + log.error("打卡任务", e); + } + if (signInzao2 == 0) { + //使用其他账号签到 + log.info("其他账号开始打卡任务---------------------"); + try { + signInzao2 = autoWebTask.dutySigin(1, 1,todaySignInPerson , todaySignInPersonPassword); + } catch (Exception e) { + log.error("其他账号打卡任务", e); + } + } + } + }else if (DateTimeUtils.isEffectiveDate("08:05", "08:20")) { + if (jjbzao == 0 && jjbzao2 == 0){ + getTime(600); + } + //自动在系统内完成接班(上一值完成交班后) + if (jjbzao == 0 || jjbzao2 == 0){ + try { + if (jjbzao == 0){ + jjbzao = autoWebTask.dutyChangeTask1(1,emergencyPerson,emergencyPersonPassword); + } + if (jjbzao2 == 0){ + jjbzao2 = autoWebTask.dutyChangeTask2(2,emergencyPerson,emergencyPersonPassword); + } + }catch (Exception e){ + log.error("接接班任务", e); + } + } + }else if (DateTimeUtils.isEffectiveDate("08:35", "09:00")) { + if(signOutzao == 0 && signOutzao2 == 0){ + getTime(1100); + } + //自动在系统内完成签退 + try { + if (signOutzao == 0) { + try { + signOutzao = autoWebTask.dutySignOutTask(1,emergencyPerson,emergencyPersonPassword); + }catch (Exception e){ + log.error("签退",e); + } + } + try { + Thread.sleep(1000 * 3); + } catch (Exception e) { + log.error("时间", e); + } + if (signOutzao2 == 0){ + try { + signOutzao2 = autoWebTask.dutySignOutTask(1, yesterdaySignOutPerson, yesterdaySignOutPersonPassword); + if (signOutzao2 == 1){ + // TODO 更新昨日签退人员账号 + String value = GetBasicData.resolveGarbledCode("E:\\bns\\config\\今日值班账号.txt"); + AutoUtils.write("E:\\bns\\config\\昨日值班账号.txt", value.replace("今日","昨日")); + } + }catch (Exception e){ + log.error("签退",e); + } + } + }catch (Exception e){ + log.error("签退", e); + } + } else if (DateTimeUtils.isEffectiveDate("09:05", "10:00")) { + if(addExercisePlan == 0){ + getTime(1200); + } + if(addExercisePlan == 0) { + String[] array = {"蒙城","利辛","涡阳"}; + Random random = new Random(); + int index = random.nextInt(array.length); + log.info("随机值为:" + index); + log.info("随机值为:" + array[index]); + Thread.sleep(2000); + addExercisePlan = autoWebTask.addExercisePlan("通信测试", array[index], index+1, emergencyPerson, + emergencyPersonPassword); + Thread.sleep(1000 * 700); + addExercisePlan = autoWebTask.addExercisePlan("日常操练", array[index], index+1, emergencyPerson, + emergencyPersonPassword); + Thread.sleep(2000); + } + }else if (DateTimeUtils.isEffectiveDate("12:30", "14:30")) { + //进行日志信息系统采集及获取工作 + try { + if (logGatherCount1 == 0){ + logGatherCount1= autoWebTask.getYuJingData(2,emergencyPerson,emergencyPersonPassword); + } + Thread.sleep(3000); + if (dailyGatherCount1 == 0){ + dailyGatherCount1 = autoWebTask.getCaoLianData(2,emergencyPerson,emergencyPersonPassword); + Thread.sleep(2000); + } + }catch (Exception e) { + log.error("信息采集工作", e); + } + }else if (DateTimeUtils.isEffectiveDate("17:00", "17:40")) { + //自动完成当值值班日报(晚报)填写上报 + if (dailywan == 0) { + getTime(1500); + try { + dailywan = autoWebTask.dutyAddDailyLogsTask(2,emergencyPerson,emergencyPersonPassword); + }catch (Exception e){ + log.error("日报工作", e); + } + } + } else if (DateTimeUtils.isEffectiveDate("20:05", "20:08")) {//重置标识 + log.info("-----开始重置各标识符-----"); + logGatherCount = 0; + logGatherCount1 = 0; + dailyGatherCount = 0; + dailyGatherCount1 = 0; + signInzao = 0; + signInzao2 = 0; + dailyzao = 0; + dailywan = 0; + jjbzao = 0; + jjbzao2 = 0; + signOutzao = 0; + signOutzao2 = 0; + logzao = 0; + addExercisePlan = 0; + changeTodayPerson = 0; + } else { + continue; + } + } + } + + private static List getARandomCollectionOfData() { + Random random = new Random(); + int minCount = 3; // 最小数量 + int maxCount = 5; // 最大数量 + int count = random.nextInt(maxCount - minCount + 1) + minCount; // 随机生成数量 + List numbers = new ArrayList<>(); + while (numbers.size() < count) { + int randomNumber = random.nextInt(6) + 2; // 随机生成2到7的数字 + if (!numbers.contains(randomNumber)) { + numbers.add(randomNumber); + } + } + Collections.shuffle(numbers); + return numbers; + } + + private void getTime(int code){ + int time = randNum(0, code); + log.info("随机时间为:" + time); + try { + Thread.sleep(1000 * time); + } catch (Exception e) { + log.error("时间", e); + } + } + + /** + * 随机产生随机数,包含num1和num2 + * + * @param num1 + * @param num2 + * @return + */ + private int randNum(int num1, int num2) { + int result = (int) (num1 + Math.random() * (num2 - num1 + 1)); + return result; + } +} + + + diff --git a/src/main/java/com/bonus/autoweb/UI/entity/AnnexEightBean.java b/src/main/java/com/bonus/autoweb/UI/entity/AnnexEightBean.java new file mode 100644 index 0000000..1447f4d --- /dev/null +++ b/src/main/java/com/bonus/autoweb/UI/entity/AnnexEightBean.java @@ -0,0 +1,78 @@ +package com.bonus.autoweb.UI.entity; + +import lombok.Data; + +/** + * 日报实体类 + * 附件八-输配电线停运及恢复 + * @author ztq + */ +@Data +public class AnnexEightBean { + + /** + * 特高压 + */ + private String transmit_electricity_add_outage_uvh; + private String transmit_electricity_add_repair_uvh; + private String transmit_electricity_add_no_repair_uvh; + + private String transmit_electricity_cumulative_outage_uvh; + private String transmit_electricity_cumulative_repair_uvh; + private String transmit_electricity_cumulative_no_repair_uvh; + + /** + * 500kv + */ + private String transmit_electricity_add_outage_five; + private String transmit_electricity_add_repair_five; + private String transmit_electricity_add_no_repair_five; + + private String transmit_electricity_cumulative_outage_five; + private String transmit_electricity_cumulative_repair_five; + private String transmit_electricity_cumulative_no_repair_five; + + /** + * 220/300kv + */ + private String transmit_electricity_add_outage_two; + private String transmit_electricity_add_repair_two; + private String transmit_electricity_add_no_repair_two; + + private String transmit_electricity_cumulative_outage_two; + private String transmit_electricity_cumulative_repair_two; + private String transmit_electricity_cumulative_no_repair_two; + + /** + * 110/66kv + */ + private String transmit_electricity_add_outage_one; + private String transmit_electricity_add_repair_one; + private String transmit_electricity_add_no_repair_one; + + private String transmit_electricity_cumulative_outage_one; + private String transmit_electricity_cumulative_repair_one; + private String transmit_electricity_cumulative_no_repair_one; + + /** + * 35kv + */ + private String transmit_electricity_add_outage_three; + private String transmit_electricity_add_repair_three; + private String transmit_electricity_add_no_repair_three; + + private String transmit_electricity_cumulative_outage_three; + private String transmit_electricity_cumulative_repair_three; + private String transmit_electricity_cumulative_no_repair_three; + + /** + * 10kv + */ + private String transmit_electricity_add_outage_ten; + private String transmit_electricity_add_repair_ten; + private String transmit_electricity_add_no_repair_ten; + + private String transmit_electricity_cumulative_outage_ten; + private String transmit_electricity_cumulative_repair_ten; + private String transmit_electricity_cumulative_no_repair_ten; +} diff --git a/src/main/java/com/bonus/autoweb/UI/entity/AnnexElevenBean.java b/src/main/java/com/bonus/autoweb/UI/entity/AnnexElevenBean.java new file mode 100644 index 0000000..83a4192 --- /dev/null +++ b/src/main/java/com/bonus/autoweb/UI/entity/AnnexElevenBean.java @@ -0,0 +1,23 @@ +package com.bonus.autoweb.UI.entity; + +import lombok.Data; + +/** + * 包名称:com.bonus.autoweb.UI.entity + * 类名称:AnnexTenBean + * 类描述:附件十一 + * 创建人:@author tqzhang + * 创建时间:2023年08月01日 13:23 + */ +@Data +public class AnnexElevenBean { + private String uhv; + private String fiveHundredKv; + private String twoHundredTwentyKv; + private String oneHundredTenKv; + private String thirtyFiveKv; + private String tenKv; + private String averageWaterLevel; + private String measuredValue; + private String actionHasBeenTaken; +} diff --git a/src/main/java/com/bonus/autoweb/UI/entity/AnnexFiveBean.java b/src/main/java/com/bonus/autoweb/UI/entity/AnnexFiveBean.java new file mode 100644 index 0000000..d0b01bc --- /dev/null +++ b/src/main/java/com/bonus/autoweb/UI/entity/AnnexFiveBean.java @@ -0,0 +1,26 @@ +package com.bonus.autoweb.UI.entity; + +import lombok.Data; + +/** + * 包名称:com.bonus.autoweb.UI.entity + * 类名称:AnnexFiveBean + * 类描述:附件五 入境筛查和集中观察场所供电保障情况表 + * 创建人:@author tqzhang + * 创建时间:2023年07月27日 11:29 + */ + +@Data +public class AnnexFiveBean { + //入境筛选和集中观察场所数量 + private String airportPort; + private String venueHospital; + private String guesthouseHotel; + private String safeguardPersonnel; + //投入力量 + private String electricallyGuaranteedVehicles; + private String powerGenerationVehicles; + private String dynamo; + private String remark; + +} diff --git a/src/main/java/com/bonus/autoweb/UI/entity/AnnexFourBean.java b/src/main/java/com/bonus/autoweb/UI/entity/AnnexFourBean.java new file mode 100644 index 0000000..d3ee2cd --- /dev/null +++ b/src/main/java/com/bonus/autoweb/UI/entity/AnnexFourBean.java @@ -0,0 +1,58 @@ +package com.bonus.autoweb.UI.entity; + +import lombok.Data; + +/** + * 日报实体类 + * 附件四-疫情防控供电保障情况统计表 + * @author zys + */ +@Data +public class AnnexFourBean { + + /** + * 定点医院 + */ + private String designated_hospitals; + + /** + * 发热门诊 + */ + private String fever_clinic; + + /** + * 防疫用品企业 + */ + private String epidemic_enterprise; + + /** + * 其他重要用户 + */ + private String other_important_users; + + /** + * 客户用电保障人员 + */ + private String customer_power_personnel; + + /** + * 电网运维保障人员 + */ + private String power_devops_personnel; + + /** + * 保电车辆 + */ + private String electrically_vehicles; + + /** + * 应急发电车 + */ + private String emergency_power_vehicles; + + /** + * 应急发电机 + */ + private String emergency_generator; + +} diff --git a/src/main/java/com/bonus/autoweb/UI/entity/AnnexFourteenBean.java b/src/main/java/com/bonus/autoweb/UI/entity/AnnexFourteenBean.java new file mode 100644 index 0000000..4b8ad7e --- /dev/null +++ b/src/main/java/com/bonus/autoweb/UI/entity/AnnexFourteenBean.java @@ -0,0 +1,24 @@ +package com.bonus.autoweb.UI.entity; + +import lombok.Data; + +/** + * 包名称:com.bonus.autoweb.UI.entity + * 类名称:AnnexTwelveBean + * 类描述:附件十四 超设计风力线路数量统计表 + * 创建人:@author tqzhang + * 创建时间:2023年07月27日 13:15 + */ +@Data +public class AnnexFourteenBean { + private String uhv; + private String fiveHundredKv; + private String twoHundredTwentyKv; + private String oneHundredTenKv; + private String thirtyFiveKv; + private String tenKv; + private String averageWaterLevel; + private String measuredValue; + private String designValues; + private String actionHasBeenTaken; +} diff --git a/src/main/java/com/bonus/autoweb/UI/entity/AnnexNineBean.java b/src/main/java/com/bonus/autoweb/UI/entity/AnnexNineBean.java new file mode 100644 index 0000000..e053cef --- /dev/null +++ b/src/main/java/com/bonus/autoweb/UI/entity/AnnexNineBean.java @@ -0,0 +1,45 @@ +package com.bonus.autoweb.UI.entity; + +/** + * 日报实体类 + * 附件九-台区用户停电及恢复 + * @author ztq + */ + +import lombok.Data; + +@Data +public class AnnexNineBean { + + /** + * 台区 + */ + private String add_blackout_tai_district; + private String add_repair_tai_district; + private String add_no_repair_tai_district; + + private String cumulative_blackout_tai_district; + private String cumulative_repair_tai_district; + private String cumulative_no_repair_tai_district; + + /** + * 用户 + */ + private String add_blackout_user; + private String add_repair_user; + private String add_no_repair_user; + + private String cumulative_blackout_user; + private String cumulative_repair_user; + private String cumulative_no_repair_user; + + /** + * 出动抢修力量 + * 人员 车辆 + */ + private String add_power_personnel; + private String add_power_vehicle; + + private String cumulative_power_personnel; + private String cumulative_power_vehicle; +} diff --git a/src/main/java/com/bonus/autoweb/UI/entity/AnnexOneBean.java b/src/main/java/com/bonus/autoweb/UI/entity/AnnexOneBean.java new file mode 100644 index 0000000..bba1bbf --- /dev/null +++ b/src/main/java/com/bonus/autoweb/UI/entity/AnnexOneBean.java @@ -0,0 +1,55 @@ +package com.bonus.autoweb.UI.entity; + +import lombok.Data; + +/** + * 日报实体类 + * 附件一-操练情况统计表 + * @author zys + */ +@Data +public class AnnexOneBean { + + /** + * 操练内容(选择框) + * “四要素”检查 + * 通信测试 + * 重要站线视频连线检查 + */ + private String exercise_content; + + /** + * 操练数量 + * 人员 + */ + private String exercise_person_num; + + /** + * 操练数量 + * 车辆 + */ + private String exercise_vehicle_num; + + /** + * 操练数量 + * 发电车 + */ + private String exercise_power_vehicle_num; + + /** + * 操练数量 + * 发电机 + */ + private String exercise_dynamo_num; + + /** + * 操练发现的问题 + */ + private String exercise_find_problems; + + /** + * 备注 + */ + private String remark; + +} diff --git a/src/main/java/com/bonus/autoweb/UI/entity/AnnexSevenBean.java b/src/main/java/com/bonus/autoweb/UI/entity/AnnexSevenBean.java new file mode 100644 index 0000000..01fdaf4 --- /dev/null +++ b/src/main/java/com/bonus/autoweb/UI/entity/AnnexSevenBean.java @@ -0,0 +1,69 @@ +package com.bonus.autoweb.UI.entity; + +import lombok.Data; + +/** + * 日报实体类 + * 附件七-变电站停运及恢复 + * @author ztq + */ +@Data +public class AnnexSevenBean { + + /** + * 特高压 + */ + private String power_substation_add_outage_uvh; + private String power_substation_add_repair_uvh; + private String power_substation_add_no_repair_uvh; + + private String power_substation_cumulative_outage_uvh; + private String power_substation_cumulative_repair_uvh; + private String power_substation_cumulative_no_repair_uvh; + + /** + * 500kv + */ + private String power_substation_add_outage_five; + private String power_substation_add_repair_five; + private String power_substation_add_no_repair_five; + + private String power_substation_cumulative_outage_five; + private String power_substation_cumulative_repair_five; + private String power_substation_cumulative_no_repair_five; + + /** + * 220/300kv + */ + private String power_substation_add_outage_two; + private String power_substation_add_repair_two; + private String power_substation_add_no_repair_two; + + private String power_substation_cumulative_outage_two; + private String power_substation_cumulative_repair_two; + private String power_substation_cumulative_no_repair_two; + + /** + * 110/66kv + */ + private String power_substation_add_outage_one; + private String power_substation_add_repair_one; + private String power_substation_add_no_repair_one; + + private String power_substation_cumulative_outage_one; + private String power_substation_cumulative_repair_one; + private String power_substation_cumulative_no_repair_one; + + /** + * 35kv + */ + private String power_substation_add_outage_three; + private String power_substation_add_repair_three; + private String power_substation_add_no_repair_three; + + private String power_substation_cumulative_outage_three; + private String power_substation_cumulative_repair_three; + private String power_substation_cumulative_no_repair_three; + + +} diff --git a/src/main/java/com/bonus/autoweb/UI/entity/AnnexSixBean.java b/src/main/java/com/bonus/autoweb/UI/entity/AnnexSixBean.java new file mode 100644 index 0000000..31a363e --- /dev/null +++ b/src/main/java/com/bonus/autoweb/UI/entity/AnnexSixBean.java @@ -0,0 +1,47 @@ +package com.bonus.autoweb.UI.entity; + +import lombok.Data; + +/** + * 日报实体类 + * 附件六-预警及应急响应情况跟踪表 + * @author zys + */ +@Data +public class AnnexSixBean { + + /** + * 领导及指挥人员 + */ + private String leaders_command_staff; + + /** + * 投入力量 + * 人员 + */ + private String input_amount_person; + + /** + * 投入力量 + * 车辆 + */ + private String input_amount_vehicle; + + /** + * 投入力量 + * 发电车 + */ + private String input_amount_power_vehicle; + + /** + * 投入力量 + * 发电机 + */ + private String input_amount_dynamo; + + /** + * 备注 + */ + private String remark; + +} diff --git a/src/main/java/com/bonus/autoweb/UI/entity/AnnexTenBean.java b/src/main/java/com/bonus/autoweb/UI/entity/AnnexTenBean.java new file mode 100644 index 0000000..626c4b6 --- /dev/null +++ b/src/main/java/com/bonus/autoweb/UI/entity/AnnexTenBean.java @@ -0,0 +1,24 @@ +package com.bonus.autoweb.UI.entity; + +import lombok.Data; + +/** + * 包名称:com.bonus.autoweb.UI.entity + * 类名称:AnnexTenBean + * 类描述:附件十 + * 创建人:@author tqzhang + * 创建时间:2023年08月01日 13:23 + */ +@Data +public class AnnexTenBean { + private String uhv; + private String fiveHundredKv; + private String twoHundredTwentyKv; + private String oneHundredTenKv; + private String thirtyFiveKv; + private String tenKv; + private String averageWaterLevel; + private String measuredValue; + private String designValues; + private String actionHasBeenTaken; +} diff --git a/src/main/java/com/bonus/autoweb/UI/entity/AnnexThirteenBean.java b/src/main/java/com/bonus/autoweb/UI/entity/AnnexThirteenBean.java new file mode 100644 index 0000000..040084d --- /dev/null +++ b/src/main/java/com/bonus/autoweb/UI/entity/AnnexThirteenBean.java @@ -0,0 +1,24 @@ +package com.bonus.autoweb.UI.entity; + +import lombok.Data; + +/** + * 包名称:com.bonus.autoweb.UI.entity + * 类名称:AnnexTwelveBean + * 类描述:附件十三 超设计水位线路数量统计表(仅6月-9月报送) + * 创建人:@author tqzhang + * 创建时间:2023年07月27日 13:15 + */ +@Data +public class AnnexThirteenBean { + private String uhv; + private String fiveHundredKv; + private String twoHundredTwentyKv; + private String oneHundredTenKv; + private String thirtyFiveKv; + private String tenKv; + private String averageWaterLevel; + private String measuredValue; + private String designValues; + private String actionHasBeenTaken; +} diff --git a/src/main/java/com/bonus/autoweb/UI/entity/AnnexThreeBean.java b/src/main/java/com/bonus/autoweb/UI/entity/AnnexThreeBean.java new file mode 100644 index 0000000..be67744 --- /dev/null +++ b/src/main/java/com/bonus/autoweb/UI/entity/AnnexThreeBean.java @@ -0,0 +1,55 @@ +package com.bonus.autoweb.UI.entity; + +import lombok.Data; + +/** + * 包名称:com.bonus.autoweb.UI.entity + * 类名称:AnnexThreeBean + * 类描述:附件三 电网生产相关专业员工感染情况统计表 + * 创建人:@author tqzhang + * 创建时间:2023年07月27日 11:18 + */ + +@Data +public class AnnexThreeBean { + //合计 新增 + private String totalAddDiagnosed; + private String totalAddHeal; + private String totalAddSuspected; + //合计 现有 + private String totalExistingDiagnosed; + private String totalExistingHeal; + private String totalExistingSuspected; + //电网调度 新增 + private String dispatchAddDiagnosed; + private String dispatchAddHeal; + private String dispatchAddSuspected; + //电网调度 现有 + private String dispatchExistingDiagnosed; + private String dispatchExistingHeal; + private String dispatchExistingSuspected; + //运维维修 新增 + private String repairAddDiagnosed; + private String repairAddHeal; + private String repairAddSuspected; + //运维维修 现有 + private String repairExistingDiagnosed; + private String repairExistingHeal; + private String repairExistingSuspected; + //营销服务 新增 + private String marketingAddDiagnosed; + private String marketingAddHeal; + private String marketingAddSuspected; + //营销服务 现有 + private String marketingExistingDiagnosed; + private String marketingExistingHeal; + private String marketingExistingSuspected; + //电网建设 新增 + private String constructionAddDiagnosed; + private String constructionAddHeal; + private String constructionAddSuspected; + //电网建设 现有 + private String constructionExistingDiagnosed; + private String constructionExistingHeal; + private String constructionExistingSuspected; +} diff --git a/src/main/java/com/bonus/autoweb/UI/entity/AnnexTwelveBean.java b/src/main/java/com/bonus/autoweb/UI/entity/AnnexTwelveBean.java new file mode 100644 index 0000000..06dc1d8 --- /dev/null +++ b/src/main/java/com/bonus/autoweb/UI/entity/AnnexTwelveBean.java @@ -0,0 +1,24 @@ +package com.bonus.autoweb.UI.entity; + +import lombok.Data; + +/** + * 包名称:com.bonus.autoweb.UI.entity + * 类名称:AnnexTwelveBean + * 类描述:附件十二 超设计水位变电站数量统计表(仅6月-9月报送) + * 创建人:@author tqzhang + * 创建时间:2023年07月27日 13:15 + */ +@Data +public class AnnexTwelveBean { + private String uhv; + private String fiveHundredKv; + private String twoHundredTwentyKv; + private String oneHundredTenKv; + private String thirtyFiveKv; + private String tenKv; + private String averageWaterLevel; + private String measuredValue; + private String designValues; + private String actionHasBeenTaken; +} diff --git a/src/main/java/com/bonus/autoweb/UI/entity/AnnexTwoBean.java b/src/main/java/com/bonus/autoweb/UI/entity/AnnexTwoBean.java new file mode 100644 index 0000000..00ed292 --- /dev/null +++ b/src/main/java/com/bonus/autoweb/UI/entity/AnnexTwoBean.java @@ -0,0 +1,53 @@ +package com.bonus.autoweb.UI.entity; + +import lombok.Data; + +/** + * 日报实体类 + * 附件二-资源核查问题数量统计表 + * @author zys + */ +@Data +public class AnnexTwoBean { + + /** + * 核查数量 + * 人员 + */ + private String verification_person_num; + + /** + * 核查数量 + * 队伍 + */ + private String verification_team_num; + + /** + * 核查数量 + * 装备 + */ + private String verification_equip_num; + + /** + * 核查数量 + * 物资 + */ + private String verification_material_num; + + /** + * 核查数量 + * 车辆 + */ + private String verification_vehicle_num; + + /** + * 核查发现的问题 + */ + private String verification_find_problems; + + /** + * 备注 + */ + private String remark; + +} diff --git a/src/main/java/com/bonus/autoweb/UI/entity/DailyBean.java b/src/main/java/com/bonus/autoweb/UI/entity/DailyBean.java new file mode 100644 index 0000000..d184521 --- /dev/null +++ b/src/main/java/com/bonus/autoweb/UI/entity/DailyBean.java @@ -0,0 +1,140 @@ +package com.bonus.autoweb.UI.entity; + +import lombok.Data; + +/** + * 日报实体类 + * @author zys + */ +@Data +public class DailyBean { + + /** + * 总体情况 + */ + private String overall; + + /** + * 重要事项 + */ + private String important_matters; + + /** + * 安全生产情况 + */ + private String safety_production; + + /** + * 值班员日常工作情况 + */ + private String personnel_daily_work; + + /** + * 供电保障情况 + * 今日重大活动保电情况 + */ + private String power_guarantee_today_work; + + /** + * 供电保障情况 + * 明日重大保电情况 + */ + private String power_guarantee_tomorrow_work; + + /** + * 供电保障情况 + * 今日疫情防控应急保电情况 + */ + private String power_guarantee_today_pestilence; + + /** + * 预警及应急响应情况 + * 公司预警情况 + */ + private String warning_company; + + /** + * 预警及应急响应情况 + * 公司应急响应情况 + */ + private String warning_company_impatient; + + /** + * 预警及应急响应情况 + * 社会突发事件救援及处置情况 + */ + private String warning_society_emergency; + + /** + * 其他情况说明 + */ + private String other_situations; + + /** + * 附件一 + */ + private AnnexOneBean oneBean; + + /** + * 附件二 + */ + private AnnexTwoBean twoBean; + + /** + * 附件三 + */ + private AnnexThreeBean threeBean; + + /** + * 附件四 + */ + private AnnexFourBean fourBean; + + /** + * 附件五 + */ + private AnnexFiveBean fiveBean; + + /** + * 附件六 + */ + private AnnexSixBean sixBean; + + /** + * 附件七 + */ + private AnnexSevenBean sevenBean; + + /** + * 附件八 + */ + private AnnexEightBean eightBean; + + /** + * 附件九 + */ + private AnnexNineBean nineBean; + + /** + * 附件十 + */ + private AnnexTenBean tenBean; + /** + * 附件十一 + */ + private AnnexElevenBean elevenBean; + /** + * 附件十二 + */ + private AnnexTwelveBean twelveBean; + + /** + * 附件十三 + */ + private AnnexThirteenBean thirteenBean; + + /** + * 附件十四 + */ + private AnnexFourteenBean fourteenBean; +} diff --git a/src/main/java/com/bonus/autoweb/UI/entity/LogBean.java b/src/main/java/com/bonus/autoweb/UI/entity/LogBean.java new file mode 100644 index 0000000..ea92ad7 --- /dev/null +++ b/src/main/java/com/bonus/autoweb/UI/entity/LogBean.java @@ -0,0 +1,108 @@ +package com.bonus.autoweb.UI.entity; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 日志实体类 + * @author zys + */ +@Data +public class LogBean implements Serializable { + + /** + * 天气 + */ + private String weather; + /** + * 最低气温 0/10 + */ + private String min_temperature; + + /** + * 最高气温 0/10 + */ + private String max_temperature; + + /** + * 事件检测标题 + */ + private String event_detection_title; + + /** + * 事件检测内容 + */ + private String event_detection_content; + + /** + * 保电工作标题 + */ + private String power_work_title; + + /** + * 保电工作内容 + */ + private String power_work_content; + + /** + * 资源核查情况标题 + */ + private String resource_check_title; + + /** + * 资源核查情况内容 + */ + private String resource_check_content; + + /** + * 通信测试标题 + */ + private String communications_test_title; + + /** + * 通信测试内容 + */ + private String communications_test_content; + + /** + * 日常操作情况标题 + */ + private String daily_operation_title; + + /** + * 日常操作情况内容 + */ + private String daily_operation_content; + + /** + * 日报提报情况标题 + */ + private String daily_submission_title; + + /** + * 日报提报情况内容 + */ + private String daily_submission_content; + + /** + * 预警处置标题 + */ + private String warning_disposal_title; + + /** + * 预警处置内容 + */ + private String warning_disposal_content; + + /** + * 一般记事标题 + */ + private String general_chronicles_title; + + /** + * 一般记事内容 + */ + private String general_chronicles_content; + +} diff --git a/src/main/java/com/bonus/autoweb/UI/frame/DailyAction.java b/src/main/java/com/bonus/autoweb/UI/frame/DailyAction.java new file mode 100644 index 0000000..3ff2a68 --- /dev/null +++ b/src/main/java/com/bonus/autoweb/UI/frame/DailyAction.java @@ -0,0 +1,5705 @@ +package com.bonus.autoweb.UI.frame; + +import com.bonus.autoweb.UI.entity.*; +import com.bonus.autoweb.base.DataConfig; +import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver; + +import javax.swing.*; +import java.awt.*; +import java.awt.event.FocusEvent; +import java.awt.event.FocusListener; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; +import java.io.*; +import java.nio.charset.Charset; +import java.util.ArrayList; +import java.util.List; + +/** + * 日报页面 + * @author zys + */ +public class DailyAction extends JFrame implements MouseListener { + + private static final long serialVersionUID = 1L; + + JPanel jp; + + JTextArea overallJt, importantMattersJt, safetyProductionJt, personnelDailyWorkJt, + powerGuaranteeTodayWorkJt, powerGuaranteeTomorrowWorkJt, powerGuaranteeTodayPestilenceJt, + warningCompanyJt, warningCompanyImpatientJt, warningSocietyEmergencyJt, otherSituationsJt; + + JTextField + exercisePersonNumJt, exerciseVehicleNumJt, exercisePowerVehicleNumJt, exerciseDynamoNumJt, + exerciseFindProblemsJt, exerciseRemarkJt, verificationPersonNumJt, verificationTeamNumJt, + verificationEquipNumJt, verificationMaterialNumJt, verificationVehicleNumJt, + verificationFindProblemsJt, verificationRemarkJt, designatedHospitalsJt, feverClinicJt, + epidemicEnterpriseJt, otherImportantUsersJt, customerPowerPersonnelJt, powerDevopsPersonnelJt, + electricallyVehiclesJt, emergencyPowerVehiclesJt, emergencyGeneratorJt, leadersCommandStaffJt, + inputAmountPersonJt, inputAmountVehicleJt, inputAmountPowerVehicleJt, inputAmountDynamoJt, inputAmountRemarkJt, + powerSubstationAddOutageUvhJt,powerSubstationAddOutageFiveJt,powerSubstationAddOutageTwoJt,powerSubstationAddOutageOneJt,powerSubstationAddOutageThreeJt, + powerSubstationAddRepairOutageUvhJt,powerSubstationAddRepairOutageFiveJt,powerSubstationAddRepairOutageTwoJt,powerSubstationAddRepairOutageOneJt,powerSubstationAddRepairOutageThreeJt, + powerSubstationAddNoRepairOutageUvhJt,powerSubstationAddNoRepairOutageFiveJt,powerSubstationAddNoRepairOutageTwoJt,powerSubstationAddNoRepairOutageOneJt,powerSubstationAddNoRepairOutageThreeJt, + powerSubstationCumulativeOutageUvhJt,powerSubstationCumulativeOutageFiveJt,powerSubstationCumulativeOutageTwoJt,powerSubstationCumulativeOutageOneJt,powerSubstationCumulativeOutageThreeJt, + powerSubstationCumulativeRepairOutageUvhJt,powerSubstationCumulativeRepairOutageFiveJt,powerSubstationCumulativeRepairOutageTwoJt,powerSubstationCumulativeRepairOutageOneJt,powerSubstationCumulativeRepairOutageThreeJt, + powerSubstationCumulativeNoRepairOutageUvhJt,powerSubstationCumulativeNoRepairOutageFiveJt,powerSubstationCumulativeNoRepairOutageTwoJt,powerSubstationCumulativeNoRepairOutageOneJt,powerSubstationCumulativeNoRepairOutageThreeJt, + transmitElectricityAddOutageUvhJt,transmitElectricityAddOutageFiveJt,transmitElectricityAddOutageTwoJt,transmitElectricityAddOutageOneJt,transmitElectricityAddOutageThreeJt,transmitElectricityAddOutageTenJt, + transmitElectricityAddRepairOutageUvhJt,transmitElectricityAddRepairOutageFiveJt,transmitElectricityAddRepairOutageTwoJt,transmitElectricityAddRepairOutageOneJt,transmitElectricityAddRepairOutageThreeJt,transmitElectricityAddRepairOutageTenJt, + transmitElectricityAddNoRepairOutageUvhJt,transmitElectricityAddNoRepairOutageFiveJt,transmitElectricityAddNoRepairOutageTwoJt,transmitElectricityAddNoRepairOutageOneJt,transmitElectricityAddNoRepairOutageThreeJt,transmitElectricityAddNoRepairOutageTenJt, + transmitElectricityCumulativeOutageUvhJt,transmitElectricityCumulativeOutageFiveJt,transmitElectricityCumulativeOutageTwoJt,transmitElectricityCumulativeOutageOneJt,transmitElectricityCumulativeOutageThreeJt,transmitElectricityCumulativeOutageTenJt, + transmitElectricityCumulativeRepairOutageUvhJt,transmitElectricityCumulativeRepairOutageFiveJt,transmitElectricityCumulativeRepairOutageTwoJt,transmitElectricityCumulativeRepairOutageOneJt,transmitElectricityCumulativeRepairOutageThreeJt,transmitElectricityCumulativeRepairOutageTenJt, + transmitElectricityCumulativeNoRepairOutageUvhJt,transmitElectricityCumulativeNoRepairOutageFiveJt,transmitElectricityCumulativeNoRepairOutageTwoJt,transmitElectricityCumulativeNoRepairOutageOneJt,transmitElectricityCumulativeNoRepairOutageThreeJt,transmitElectricityCumulativeNoRepairOutageTenJt, + nineAddTaiDistrictDisasterJt,nineAddPersonnelDisasterJt,nineAddTaiDistrictRepairJt,nineAddPersonnelRepairJt,nineAddTaiDistrictNoRepairJt,nineAddPersonnelNoRepairJt,powerPersonnelAddNineJt,powerVehicleAddNineJt, + nineCumulativeTaiDistrictDisasterJt,nineCumulativePersonnelDisasterJt,nineCumulativeTaiDistrictRepairJt,nineCumulativePersonnelRepairJt,nineCumulativeTaiDistrictNoRepairJt,nineCumulativePersonnelNoRepairJt,powerPersonnelCumulativeNineJt,powerVehicleCumulativeNineJt, + totalAddDiagnosedJt, totalAddHealJt , totalAddSuspectedJt,totalExistingDiagnosedJt, totalExistingHealJt , totalExistingSuspectedJt, + dispatchAddDiagnosedJt, dispatchAddHealJt , dispatchAddSuspectedJt,dispatchExistingDiagnosedJt, dispatchExistingHealJt , dispatchExistingSuspectedJt, + repairAddDiagnosedJt, repairAddHealJt , repairAddSuspectedJt,repairExistingDiagnosedJt, repairExistingHealJt , repairExistingSuspectedJt, + marketingAddDiagnosedJt, marketingAddHealJt , marketingAddSuspectedJt,marketingExistingDiagnosedJt, marketingExistingHealJt , marketingExistingSuspectedJt, + constructionAddDiagnosedJt, constructionAddHealJt , constructionAddSuspectedJt,constructionExistingDiagnosedJt, constructionExistingHealJt , constructionExistingSuspectedJt, + airportPortJt,venueHospitalJt,guesthouseHotelJt,safeguardPersonnelJt, electricallyGuaranteedVehiclesJt,powerGenerationVehiclesJt,dynamoJt,fiveRemarkJt, + + tenUhvJt,tenFiveHundredKvJt,tenTwoHundredTwentyKvJt,tenOneHundredTenKvJt,tenThirtyFiveKvJt,tenTenKvJt,tenAverageWaterLevelJt,tenMeasuredValueJt,tenDesignValuesJt,tenActionHasBeenTakenJt, + + elevenUhvJt,elevenFiveHundredKvJt,elevenTwoHundredTwentyKvJt,elevenOneHundredTenKvJt,elevenThirtyFiveKvJt,elevenTenKvJt,elevenAverageWaterLevelJt,elevenMeasuredValueJt,elevenActionHasBeenTakenJt, + twelveUhvJt,twelveFiveHundredKvJt,twelveTwoHundredTwentyKvJt,twelveOneHundredTenKvJt,twelveThirtyFiveKvJt,twelveTenKvJt,twelveAverageWaterLevelJt,twelveMeasuredValueJt,twelveDesignValuesJt,twelveActionHasBeenTakenJt, + thirteenUhvJt,thirteenFiveHundredKvJt,thirteenTwoHundredTwentyKvJt,thirteenOneHundredTenKvJt,thirteenThirtyFiveKvJt,thirteenTenKvJt,thirteenAverageWaterLevelJt,thirteenMeasuredValueJt,thirteenDesignValuesJt,thirteenActionHasBeenTakenJt, + fourteenUhvJt,fourteenFiveHundredKvJt,fourteenTwoHundredTwentyKvJt,fourteenOneHundredTenKvJt,fourteenThirtyFiveKvJt,fourteenTenKvJt,fourteenAverageWaterLevelJt,fourteenMeasuredValueJt,fourteenDesignValuesJt,fourteenActionHasBeenTakenJt; + + String[] strArray = {"“四要素”检查", "通信测试", "重要站线视频连线检查"}; + + String type; + JComboBox exerciseContentBox; + JButton btn; + + public static void main(String[] args) { + /** + * morning_daily + * evening_daily + */ + new DailyAction("evening_daily"); + } + + public DailyAction(String value) { + type = value; + String val = "日报填报"; + if(value.equals("morning_daily")){ + val = "早报填报"; + }else{ + val = "晚报填报"; + } + //设置显示窗口标题 + setTitle(val); + Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize(); +// //设置窗口显示尺寸 + setSize((dimension.width + 420) / 2, dimension.height); + Point p = GraphicsEnvironment.getLocalGraphicsEnvironment().getCenterPoint(); + setBounds(p.x - (dimension.width + 180) / 3 * 2 / 2-180, p.y - dimension.height / 2 + 25, + (dimension.width + 720) / 3 * 2, dimension.height - 50); + setResizable(false); +// //设置窗口是否可以关闭 + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + //获取本窗口的内容窗格 + Container c = getContentPane(); + JPanel jPanel = initMainJpanel(); + JScrollPane jScroller = new JScrollPane(jPanel,ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, + ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS); + //设置滚轮速度 + jScroller.getVerticalScrollBar().setUnitIncrement(20); + c.add(jScroller); + //设置本窗口是否可见 + setVisible(true); + initData(); + } + + private void initData() { + String path = DataConfig.filePath+"\\" + type + ".xml"; + if(new File(path).exists()){ + 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(); + System.out.println(xml); + } catch (Exception e) { + // TODO: handle exception + } + + XStream xstream = new XStream(new JettisonMappedXmlDriver()); + xstream.alias(type, DailyBean.class); + DailyBean bean = (DailyBean) xstream.fromXML(xml); + AnnexOneBean oneBean = bean.getOneBean(); + AnnexTwoBean twoBean = bean.getTwoBean(); + AnnexFourBean fourBean = bean.getFourBean(); + AnnexSixBean sixBean = bean.getSixBean(); + AnnexSevenBean sevenBean = bean.getSevenBean(); + AnnexEightBean eightBean = bean.getEightBean(); + AnnexNineBean nineBean = bean.getNineBean(); + AnnexThreeBean threeBean = bean.getThreeBean(); + AnnexFiveBean fiveBean = bean.getFiveBean(); + AnnexTenBean tenBean = bean.getTenBean(); + AnnexElevenBean elevenBean = bean.getElevenBean(); + AnnexTwelveBean twelveBean = bean.getTwelveBean(); + AnnexThirteenBean thirteenBean = bean.getThirteenBean(); + AnnexFourteenBean fourteenBean = bean.getFourteenBean(); + overallJt.setText(bean.getOverall()); + importantMattersJt.setText(bean.getImportant_matters()); + safetyProductionJt.setText(bean.getSafety_production()); + personnelDailyWorkJt.setText(bean.getPersonnel_daily_work()); + powerGuaranteeTodayWorkJt.setText(bean.getPower_guarantee_today_work()); + powerGuaranteeTomorrowWorkJt.setText(bean.getPower_guarantee_tomorrow_work()); + powerGuaranteeTodayPestilenceJt.setText(bean.getPower_guarantee_today_pestilence()); + warningCompanyJt.setText(bean.getWarning_company()); + warningCompanyImpatientJt.setText(bean.getWarning_company_impatient()); + warningSocietyEmergencyJt.setText(bean.getWarning_society_emergency()); + otherSituationsJt.setText(bean.getOther_situations()); + int index = 0; + for (int i = 0; i < strArray.length; i++) { + if(oneBean.getExercise_content().equals(strArray[i])){ + index = i; + } + } + exerciseContentBox.setSelectedIndex(index); + exercisePersonNumJt.setText(oneBean.getExercise_person_num()); + exerciseVehicleNumJt.setText(oneBean.getExercise_vehicle_num()); + exercisePowerVehicleNumJt.setText(oneBean.getExercise_power_vehicle_num()); + exerciseDynamoNumJt.setText(oneBean.getExercise_dynamo_num()); + exerciseFindProblemsJt.setText(oneBean.getExercise_find_problems()); + exerciseRemarkJt.setText(oneBean.getRemark()); + verificationPersonNumJt.setText(twoBean.getVerification_person_num()); + verificationTeamNumJt.setText(twoBean.getVerification_team_num()); + verificationEquipNumJt.setText(twoBean.getVerification_equip_num()); + verificationMaterialNumJt.setText(twoBean.getVerification_material_num()); + verificationVehicleNumJt.setText(twoBean.getVerification_vehicle_num()); + verificationFindProblemsJt.setText(twoBean.getVerification_find_problems()); + verificationRemarkJt.setText(twoBean.getRemark()); + designatedHospitalsJt.setText(fourBean.getDesignated_hospitals()); + feverClinicJt.setText(fourBean.getFever_clinic()); + epidemicEnterpriseJt.setText(fourBean.getEpidemic_enterprise()); + otherImportantUsersJt.setText(fourBean.getOther_important_users()); + customerPowerPersonnelJt.setText(fourBean.getCustomer_power_personnel()); + powerDevopsPersonnelJt.setText(fourBean.getPower_devops_personnel()); + electricallyVehiclesJt.setText(fourBean.getElectrically_vehicles()); + emergencyPowerVehiclesJt.setText(fourBean.getEmergency_power_vehicles()); + emergencyGeneratorJt.setText(fourBean.getEmergency_generator()); + leadersCommandStaffJt.setText(sixBean.getLeaders_command_staff()); + inputAmountPersonJt.setText(sixBean.getInput_amount_person()); + inputAmountVehicleJt.setText(sixBean.getInput_amount_vehicle()); + inputAmountPowerVehicleJt.setText(sixBean.getInput_amount_power_vehicle()); + inputAmountDynamoJt.setText(sixBean.getInput_amount_dynamo()); + inputAmountRemarkJt.setText(sixBean.getRemark()); + + powerSubstationAddOutageUvhJt.setText(sevenBean.getPower_substation_add_outage_uvh()); + powerSubstationAddOutageFiveJt.setText(sevenBean.getPower_substation_add_outage_five()); + powerSubstationAddOutageTwoJt.setText(sevenBean.getPower_substation_add_outage_two()); + powerSubstationAddOutageOneJt.setText(sevenBean.getPower_substation_add_outage_one()); + powerSubstationAddOutageThreeJt.setText(sevenBean.getPower_substation_add_outage_three()); + powerSubstationAddRepairOutageUvhJt.setText(sevenBean.getPower_substation_add_repair_uvh()); + powerSubstationAddRepairOutageFiveJt.setText(sevenBean.getPower_substation_add_repair_five()); + powerSubstationAddRepairOutageTwoJt.setText(sevenBean.getPower_substation_add_repair_two()); + powerSubstationAddRepairOutageOneJt.setText(sevenBean.getPower_substation_add_repair_one()); + powerSubstationAddRepairOutageThreeJt.setText(sevenBean.getPower_substation_add_repair_three()); + powerSubstationAddNoRepairOutageUvhJt.setText(sevenBean.getPower_substation_add_no_repair_uvh()); + powerSubstationAddNoRepairOutageFiveJt.setText(sevenBean.getPower_substation_add_no_repair_five()); + powerSubstationAddNoRepairOutageTwoJt.setText(sevenBean.getPower_substation_add_no_repair_two()); + powerSubstationAddNoRepairOutageOneJt.setText(sevenBean.getPower_substation_add_no_repair_one()); + powerSubstationAddNoRepairOutageThreeJt.setText(sevenBean.getPower_substation_add_no_repair_three()); + powerSubstationCumulativeOutageUvhJt.setText(sevenBean.getPower_substation_cumulative_outage_uvh()); + powerSubstationCumulativeOutageFiveJt.setText(sevenBean.getPower_substation_cumulative_outage_five()); + powerSubstationCumulativeOutageTwoJt.setText(sevenBean.getPower_substation_cumulative_outage_two()); + powerSubstationCumulativeOutageOneJt.setText(sevenBean.getPower_substation_cumulative_outage_one()); + powerSubstationCumulativeOutageThreeJt.setText(sevenBean.getPower_substation_cumulative_outage_three()); + powerSubstationCumulativeRepairOutageUvhJt.setText(sevenBean.getPower_substation_cumulative_repair_uvh()); + powerSubstationCumulativeRepairOutageFiveJt.setText(sevenBean.getPower_substation_cumulative_repair_five()); + powerSubstationCumulativeRepairOutageTwoJt.setText(sevenBean.getPower_substation_cumulative_repair_two()); + powerSubstationCumulativeRepairOutageOneJt.setText(sevenBean.getPower_substation_cumulative_repair_one()); + powerSubstationCumulativeRepairOutageThreeJt.setText(sevenBean.getPower_substation_cumulative_repair_three()); + powerSubstationCumulativeNoRepairOutageUvhJt.setText(sevenBean.getPower_substation_cumulative_no_repair_uvh()); + powerSubstationCumulativeNoRepairOutageFiveJt.setText(sevenBean.getPower_substation_cumulative_no_repair_five()); + powerSubstationCumulativeNoRepairOutageTwoJt.setText(sevenBean.getPower_substation_cumulative_no_repair_two()); + powerSubstationCumulativeNoRepairOutageOneJt.setText(sevenBean.getPower_substation_cumulative_no_repair_one()); + powerSubstationCumulativeNoRepairOutageThreeJt.setText(sevenBean.getPower_substation_cumulative_no_repair_three()); + + transmitElectricityAddOutageUvhJt.setText(eightBean.getTransmit_electricity_add_outage_uvh()); + transmitElectricityAddOutageFiveJt.setText(eightBean.getTransmit_electricity_add_outage_five()); + transmitElectricityAddOutageTwoJt.setText(eightBean.getTransmit_electricity_add_outage_two()); + transmitElectricityAddOutageOneJt.setText(eightBean.getTransmit_electricity_add_outage_one()); + transmitElectricityAddOutageThreeJt.setText(eightBean.getTransmit_electricity_add_outage_three()); + transmitElectricityAddOutageTenJt.setText(eightBean.getTransmit_electricity_add_outage_ten()); + transmitElectricityAddRepairOutageUvhJt.setText(eightBean.getTransmit_electricity_add_repair_uvh()); + transmitElectricityAddRepairOutageFiveJt.setText(eightBean.getTransmit_electricity_add_repair_five()); + transmitElectricityAddRepairOutageTwoJt.setText(eightBean.getTransmit_electricity_add_repair_two()); + transmitElectricityAddRepairOutageOneJt.setText(eightBean.getTransmit_electricity_add_repair_one()); + transmitElectricityAddRepairOutageThreeJt.setText(eightBean.getTransmit_electricity_add_repair_three()); + transmitElectricityAddRepairOutageTenJt.setText(eightBean.getTransmit_electricity_add_repair_ten()); + transmitElectricityAddNoRepairOutageUvhJt.setText(eightBean.getTransmit_electricity_add_no_repair_uvh()); + transmitElectricityAddNoRepairOutageFiveJt.setText(eightBean.getTransmit_electricity_add_no_repair_five()); + transmitElectricityAddNoRepairOutageTwoJt.setText(eightBean.getTransmit_electricity_add_no_repair_two()); + transmitElectricityAddNoRepairOutageOneJt.setText(eightBean.getTransmit_electricity_add_no_repair_one()); + transmitElectricityAddNoRepairOutageThreeJt.setText(eightBean.getTransmit_electricity_add_no_repair_three()); + transmitElectricityAddNoRepairOutageTenJt.setText(eightBean.getTransmit_electricity_add_no_repair_ten()); + transmitElectricityCumulativeOutageUvhJt.setText(eightBean.getTransmit_electricity_cumulative_outage_uvh()); + transmitElectricityCumulativeOutageFiveJt.setText(eightBean.getTransmit_electricity_cumulative_outage_five()); + transmitElectricityCumulativeOutageTwoJt.setText(eightBean.getTransmit_electricity_cumulative_outage_two()); + transmitElectricityCumulativeOutageOneJt.setText(eightBean.getTransmit_electricity_cumulative_outage_one()); + transmitElectricityCumulativeOutageThreeJt.setText(eightBean.getTransmit_electricity_cumulative_outage_three()); + transmitElectricityCumulativeOutageTenJt.setText(eightBean.getTransmit_electricity_cumulative_outage_ten()); + transmitElectricityCumulativeRepairOutageUvhJt.setText(eightBean.getTransmit_electricity_cumulative_repair_uvh()); + transmitElectricityCumulativeRepairOutageFiveJt.setText(eightBean.getTransmit_electricity_cumulative_repair_five()); + transmitElectricityCumulativeRepairOutageTwoJt.setText(eightBean.getTransmit_electricity_cumulative_repair_two()); + transmitElectricityCumulativeRepairOutageOneJt.setText(eightBean.getTransmit_electricity_cumulative_repair_one()); + transmitElectricityCumulativeRepairOutageThreeJt.setText(eightBean.getTransmit_electricity_cumulative_repair_three()); + transmitElectricityCumulativeRepairOutageTenJt.setText(eightBean.getTransmit_electricity_cumulative_repair_ten()); + transmitElectricityCumulativeNoRepairOutageUvhJt.setText(eightBean.getTransmit_electricity_cumulative_no_repair_uvh()); + transmitElectricityCumulativeNoRepairOutageFiveJt.setText(eightBean.getTransmit_electricity_cumulative_no_repair_five()); + transmitElectricityCumulativeNoRepairOutageTwoJt.setText(eightBean.getTransmit_electricity_cumulative_no_repair_two()); + transmitElectricityCumulativeNoRepairOutageOneJt.setText(eightBean.getTransmit_electricity_cumulative_no_repair_one()); + transmitElectricityCumulativeNoRepairOutageThreeJt.setText(eightBean.getTransmit_electricity_cumulative_no_repair_three()); + transmitElectricityCumulativeNoRepairOutageTenJt.setText(eightBean.getTransmit_electricity_cumulative_no_repair_ten()); + + nineAddTaiDistrictDisasterJt.setText(nineBean.getAdd_blackout_tai_district()); + nineAddPersonnelDisasterJt.setText(nineBean.getAdd_blackout_user()); + nineAddTaiDistrictRepairJt.setText(nineBean.getAdd_repair_tai_district()); + nineAddPersonnelRepairJt.setText(nineBean.getAdd_repair_user()); + nineAddTaiDistrictNoRepairJt.setText(nineBean.getAdd_no_repair_tai_district()); + nineAddPersonnelNoRepairJt.setText(nineBean.getAdd_no_repair_user()); + powerPersonnelAddNineJt.setText(nineBean.getAdd_power_personnel()); + powerVehicleAddNineJt.setText(nineBean.getAdd_power_vehicle()); + nineCumulativeTaiDistrictDisasterJt.setText(nineBean.getCumulative_blackout_tai_district()); + nineCumulativePersonnelDisasterJt.setText(nineBean.getCumulative_blackout_user()); + nineCumulativeTaiDistrictRepairJt.setText(nineBean.getCumulative_repair_tai_district()); + nineCumulativePersonnelRepairJt.setText(nineBean.getCumulative_repair_user()); + nineCumulativeTaiDistrictNoRepairJt.setText(nineBean.getCumulative_no_repair_tai_district()); + nineCumulativePersonnelNoRepairJt.setText(nineBean.getCumulative_no_repair_user()); + powerPersonnelCumulativeNineJt.setText(nineBean.getCumulative_power_personnel()); + powerVehicleCumulativeNineJt.setText(nineBean.getCumulative_power_vehicle()); + + /** + * 附件三 五 十二 十三 十四 赋值 + */ + totalAddDiagnosedJt.setText(threeBean.getTotalAddDiagnosed()); + totalAddHealJt.setText(threeBean.getTotalAddHeal()); + totalAddSuspectedJt.setText(threeBean.getTotalAddSuspected()); + totalExistingDiagnosedJt.setText(threeBean.getTotalExistingDiagnosed()); + totalExistingHealJt.setText(threeBean.getTotalExistingHeal()); + totalExistingSuspectedJt.setText(threeBean.getTotalExistingSuspected()); + + dispatchAddDiagnosedJt.setText(threeBean.getDispatchAddDiagnosed()); + dispatchAddHealJt.setText(threeBean.getDispatchAddHeal()); + dispatchAddSuspectedJt.setText(threeBean.getDispatchAddSuspected()); + dispatchExistingDiagnosedJt.setText(threeBean.getDispatchExistingDiagnosed()); + dispatchExistingHealJt.setText(threeBean.getDispatchExistingHeal()); + dispatchExistingSuspectedJt.setText(threeBean.getDispatchExistingSuspected()); + + repairAddDiagnosedJt.setText(threeBean.getRepairAddDiagnosed()); + repairAddHealJt.setText(threeBean.getRepairAddHeal()); + repairAddSuspectedJt.setText(threeBean.getRepairAddSuspected()); + repairExistingDiagnosedJt.setText(threeBean.getRepairExistingDiagnosed()); + repairExistingHealJt.setText(threeBean.getRepairExistingHeal()); + repairExistingSuspectedJt.setText(threeBean.getRepairExistingSuspected()); + + marketingAddDiagnosedJt.setText(threeBean.getMarketingAddDiagnosed()); + marketingAddHealJt.setText(threeBean.getMarketingAddHeal()); + marketingAddSuspectedJt.setText(threeBean.getMarketingAddSuspected()); + marketingExistingDiagnosedJt.setText(threeBean.getMarketingExistingDiagnosed()); + marketingExistingHealJt.setText(threeBean.getMarketingExistingHeal()); + marketingExistingSuspectedJt.setText(threeBean.getMarketingExistingSuspected()); + + constructionAddDiagnosedJt.setText(threeBean.getConstructionAddDiagnosed()); + constructionAddHealJt.setText(threeBean.getConstructionAddHeal()); + constructionAddSuspectedJt.setText(threeBean.getConstructionAddSuspected()); + constructionExistingDiagnosedJt.setText(threeBean.getConstructionExistingDiagnosed()); + constructionExistingHealJt.setText(threeBean.getConstructionExistingHeal()); + constructionExistingSuspectedJt.setText(threeBean.getConstructionExistingSuspected()); + + airportPortJt.setText(fiveBean.getAirportPort()); + venueHospitalJt.setText(fiveBean.getVenueHospital()); + guesthouseHotelJt.setText(fiveBean.getGuesthouseHotel()); + safeguardPersonnelJt.setText(fiveBean.getSafeguardPersonnel()); + electricallyGuaranteedVehiclesJt.setText(fiveBean.getElectricallyGuaranteedVehicles()); + powerGenerationVehiclesJt.setText(fiveBean.getPowerGenerationVehicles()); + dynamoJt.setText(fiveBean.getDynamo()); + fiveRemarkJt.setText(fiveBean.getRemark()); + + tenUhvJt.setText(tenBean.getUhv()); + tenFiveHundredKvJt.setText(tenBean.getFiveHundredKv()); + tenTwoHundredTwentyKvJt.setText(tenBean.getTwoHundredTwentyKv()); + tenOneHundredTenKvJt.setText(tenBean.getOneHundredTenKv()); + tenThirtyFiveKvJt.setText(tenBean.getThirtyFiveKv()); + tenTenKvJt.setText(tenBean.getTenKv()); + tenAverageWaterLevelJt.setText(tenBean.getAverageWaterLevel()); + tenMeasuredValueJt.setText(tenBean.getMeasuredValue()); + tenDesignValuesJt.setText(tenBean.getDesignValues()); + tenActionHasBeenTakenJt.setText(tenBean.getActionHasBeenTaken()); + + elevenUhvJt.setText(elevenBean.getUhv()); + elevenFiveHundredKvJt.setText(elevenBean.getFiveHundredKv()); + elevenTwoHundredTwentyKvJt.setText(elevenBean.getTwoHundredTwentyKv()); + elevenOneHundredTenKvJt.setText(elevenBean.getOneHundredTenKv()); + elevenThirtyFiveKvJt.setText(elevenBean.getThirtyFiveKv()); + elevenTenKvJt.setText(elevenBean.getTenKv()); + elevenAverageWaterLevelJt.setText(elevenBean.getAverageWaterLevel()); + elevenMeasuredValueJt.setText(elevenBean.getMeasuredValue()); + elevenActionHasBeenTakenJt.setText(elevenBean.getActionHasBeenTaken()); + + twelveUhvJt.setText(twelveBean.getUhv()); + twelveFiveHundredKvJt.setText(twelveBean.getFiveHundredKv()); + twelveTwoHundredTwentyKvJt.setText(twelveBean.getTwoHundredTwentyKv()); + twelveOneHundredTenKvJt.setText(twelveBean.getOneHundredTenKv()); + twelveThirtyFiveKvJt.setText(twelveBean.getThirtyFiveKv()); + twelveTenKvJt.setText(twelveBean.getTenKv()); + twelveAverageWaterLevelJt.setText(twelveBean.getAverageWaterLevel()); + twelveMeasuredValueJt.setText(twelveBean.getMeasuredValue()); + twelveDesignValuesJt.setText(twelveBean.getDesignValues()); + twelveActionHasBeenTakenJt.setText(twelveBean.getActionHasBeenTaken()); + + thirteenUhvJt.setText(thirteenBean.getUhv()); + thirteenFiveHundredKvJt.setText(thirteenBean.getFiveHundredKv()); + thirteenTwoHundredTwentyKvJt.setText(thirteenBean.getTwoHundredTwentyKv()); + thirteenOneHundredTenKvJt.setText(thirteenBean.getOneHundredTenKv()); + thirteenThirtyFiveKvJt.setText(thirteenBean.getThirtyFiveKv()); + thirteenTenKvJt.setText(thirteenBean.getTenKv()); + thirteenAverageWaterLevelJt.setText(thirteenBean.getAverageWaterLevel()); + thirteenMeasuredValueJt.setText(thirteenBean.getMeasuredValue()); + thirteenDesignValuesJt.setText(thirteenBean.getDesignValues()); + thirteenActionHasBeenTakenJt.setText(thirteenBean.getActionHasBeenTaken()); + + fourteenUhvJt.setText(fourteenBean.getUhv()); + fourteenFiveHundredKvJt.setText(fourteenBean.getFiveHundredKv()); + fourteenTwoHundredTwentyKvJt.setText(fourteenBean.getTwoHundredTwentyKv()); + fourteenOneHundredTenKvJt.setText(fourteenBean.getOneHundredTenKv()); + fourteenThirtyFiveKvJt.setText(fourteenBean.getThirtyFiveKv()); + fourteenTenKvJt.setText(fourteenBean.getTenKv()); + fourteenAverageWaterLevelJt.setText(fourteenBean.getAverageWaterLevel()); + fourteenMeasuredValueJt.setText(fourteenBean.getMeasuredValue()); + fourteenDesignValuesJt.setText(fourteenBean.getDesignValues()); + fourteenActionHasBeenTakenJt.setText(fourteenBean.getActionHasBeenTaken()); + } + } + + private JPanel initMainJpanel() { + int height = 176 * 156 + 120; //此处调节整个长度,可适当增大或减小70 + Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize(); + jp = new JPanel(); + jp.setOpaque(false); + jp.setLayout(null); + jp.setSize(dimension); + jp.setPreferredSize(new Dimension((dimension.width + 100) / 2, height)); + int oneLabelY = 20; + + /** + * 一、总体情况 + */ + JLabel overallLabel = new JLabel("一、总体情况"); + overallLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + overallLabel.setForeground(new Color(11, 24, 76)); + int overallJlx = 30; + int overallJly = oneLabelY; + overallLabel.setBounds(overallJlx, overallJly, 500, 100); + /** + * 总体情况输入框 + */ +// overallJt = new JTextField(); +// setTextFiledColor(overallJt); +// int overallJtY = overallJly + 120; +// overallJt.setBounds(overallJlx, overallJtY, 1310, 120); +// if(StringHelper.isEmptyAndNull(overallJt.getText())) { +// overallJt.addFocusListener(new MyFocusListener("请输入总体情况", overallJt)); +// } + overallJt=new JTextArea(7,26); + Placeholder placeholder0 = new Placeholder(overallJt, "请输入总体情况..."); + overallJt.setLineWrap(true); //设置文本域中的文本为自动换行 + overallJt.setForeground(Color.BLACK); //设置组件的背景色 + overallJt.setFont(new Font("微软雅黑",Font.PLAIN,40)); //修改字体样式 + overallJt.setBackground(Color.WHITE); //设置按钮背景色 + JScrollPane overallJtJsp=new JScrollPane(overallJt); //将文本域放入滚动窗口 + Dimension overallJtSize=overallJt.getPreferredSize(); //获得文本域的首选大小 + int overallJtY = overallJly + 120; + overallJtJsp.setBounds(overallJlx,overallJtY,1310,overallJtSize.height+20); + jp.add(overallJtJsp); + + /** + * 二、重要事项 + */ + JLabel importantMattersLabel = new JLabel("二、重要事项"); + importantMattersLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + importantMattersLabel.setForeground(new Color(11, 24, 76)); + int importantMattersJlx = 30; + int importantMattersJly = overallJtY + 450; + importantMattersLabel.setBounds(importantMattersJlx, importantMattersJly, 500, 100); + /** + * 重要事项输入框 + */ +// importantMattersJt = new JTextField(); +// setTextFiledColor(importantMattersJt); +// int importantMattersJtY = importantMattersJly + 120; +// importantMattersJt.setBounds(importantMattersJlx, importantMattersJtY, 1310, 120); +// if(StringHelper.isEmptyAndNull(importantMattersJt.getText())) { +// importantMattersJt.addFocusListener(new MyFocusListener("请输入重要事项", importantMattersJt)); +// } + importantMattersJt=new JTextArea(7,26); + Placeholder placeholder1 = new Placeholder(importantMattersJt, "请输入重要事项..."); + importantMattersJt.setLineWrap(true); //设置文本域中的文本为自动换行 + importantMattersJt.setForeground(Color.BLACK); //设置组件的背景色 + importantMattersJt.setFont(new Font("微软雅黑",Font.PLAIN,40)); //修改字体样式 + importantMattersJt.setBackground(Color.WHITE); //设置按钮背景色 + JScrollPane importantMattersJtJsp=new JScrollPane(importantMattersJt); //将文本域放入滚动窗口 + Dimension importantMattersJtSize=importantMattersJt.getPreferredSize(); //获得文本域的首选大小 + int importantMattersJtY = importantMattersJly + 120; + importantMattersJtJsp.setBounds(overallJlx,importantMattersJtY,1310,importantMattersJtSize.height+20); + jp.add(importantMattersJtJsp); + /** + * 三、安全生产情况 + */ + JLabel safetyProductionLabel = new JLabel("三、安全生产情况"); + safetyProductionLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + safetyProductionLabel.setForeground(new Color(11, 24, 76)); + int safetyProductionJlx = 30; + int safetyProductionJly = importantMattersJtY + 450; + safetyProductionLabel.setBounds(safetyProductionJlx, safetyProductionJly, 500, 100); + /** + * 安全生产情况输入框 + */ +// safetyProductionJt = new JTextField(); +// setTextFiledColor(safetyProductionJt); +// int safetyProductionJtY = safetyProductionJly + 120; +// safetyProductionJt.setBounds(safetyProductionJlx, safetyProductionJtY, 1310, 120); +// if(StringHelper.isEmptyAndNull(safetyProductionJt.getText())) { +// safetyProductionJt.addFocusListener(new MyFocusListener("请输入安全生产情况", safetyProductionJt)); +// } + safetyProductionJt=new JTextArea(7,26); + Placeholder placeholder2 = new Placeholder(safetyProductionJt, "请输入安全生产情况..."); + safetyProductionJt.setLineWrap(true); //设置文本域中的文本为自动换行 + safetyProductionJt.setForeground(Color.BLACK); //设置组件的背景色 + safetyProductionJt.setFont(new Font("微软雅黑",Font.PLAIN,40)); //修改字体样式 + safetyProductionJt.setBackground(Color.WHITE); //设置按钮背景色 + JScrollPane safetyProductionJtJsp=new JScrollPane(safetyProductionJt); //将文本域放入滚动窗口 + Dimension safetyProductionJtSize=safetyProductionJt.getPreferredSize(); //获得文本域的首选大小 + int safetyProductionJtY = safetyProductionJly + 120; + safetyProductionJtJsp.setBounds(overallJlx,safetyProductionJtY,1310,safetyProductionJtSize.height+20); + jp.add(safetyProductionJtJsp); + /** + * 四、值班员日常工作情况 + */ + JLabel personnelDailyWorkLabel = new JLabel("四、值班员日常工作情况"); + personnelDailyWorkLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + personnelDailyWorkLabel.setForeground(new Color(11, 24, 76)); + int personnelDailyWorkJlx = 30; + int personnelDailyWorkJly = safetyProductionJtY + 450; + personnelDailyWorkLabel.setBounds(personnelDailyWorkJlx, personnelDailyWorkJly, 800, 100); + /** + * 值班员日常工作情况输入框 + */ +// personnelDailyWorkJt = new JTextField(); +// setTextFiledColor(personnelDailyWorkJt); +// int personnelDailyWorkJtY = personnelDailyWorkJly + 120; +// personnelDailyWorkJt.setBounds(personnelDailyWorkJlx, personnelDailyWorkJtY, 1310, 120); +// if(StringHelper.isEmptyAndNull(personnelDailyWorkJt.getText())) { +// personnelDailyWorkJt.addFocusListener(new MyFocusListener("请输入值班员日常工作情况", personnelDailyWorkJt)); +// } + personnelDailyWorkJt=new JTextArea(7,26); + Placeholder placeholder3 = new Placeholder(personnelDailyWorkJt, "请输入值班员日常工作情况..."); + personnelDailyWorkJt.setLineWrap(true); //设置文本域中的文本为自动换行 + personnelDailyWorkJt.setForeground(Color.BLACK); //设置组件的背景色 + personnelDailyWorkJt.setFont(new Font("微软雅黑",Font.PLAIN,40)); //修改字体样式 + personnelDailyWorkJt.setBackground(Color.WHITE); //设置按钮背景色 + JScrollPane personnelDailyWorkJtJsp=new JScrollPane(personnelDailyWorkJt); //将文本域放入滚动窗口 + Dimension personnelDailyWorkJtSize=personnelDailyWorkJt.getPreferredSize(); //获得文本域的首选大小 + int personnelDailyWorkJtY = personnelDailyWorkJly + 120; + personnelDailyWorkJtJsp.setBounds(overallJlx,personnelDailyWorkJtY,1310,personnelDailyWorkJtSize.height+20); + jp.add(personnelDailyWorkJtJsp); + /** + * 五、供电保障情况 + */ + JLabel powerGuaranteeLabel = new JLabel("五、供电保障情况"); + powerGuaranteeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerGuaranteeLabel.setForeground(new Color(11, 24, 76)); + int powerGuaranteeWorkJlx = 30; + int powerGuaranteeWorkJly = personnelDailyWorkJtY + 450; + powerGuaranteeLabel.setBounds(powerGuaranteeWorkJlx, powerGuaranteeWorkJly, 500, 100); + + /** + * (一)今日重大活动保电情况 + */ + JLabel powerGuaranteeTodayWorkLabel = new JLabel("(一)今日重大活动保电情况"); + powerGuaranteeTodayWorkLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerGuaranteeTodayWorkLabel.setForeground(new Color(11, 24, 76)); + int powerGuaranteeTodayWorkJlx = 30; + int powerGuaranteeTodayWorkJly = powerGuaranteeWorkJly + 120; + powerGuaranteeTodayWorkLabel.setBounds(powerGuaranteeTodayWorkJlx, powerGuaranteeTodayWorkJly, 800, 100); + /** + * 今日重大活动保电情况输入框 + */ +// powerGuaranteeTodayWorkJt = new JTextField(); +// setTextFiledColor(powerGuaranteeTodayWorkJt); +// int powerGuaranteeTodayWorkJtY = powerGuaranteeTodayWorkJly + 120; +// powerGuaranteeTodayWorkJt.setBounds(powerGuaranteeTodayWorkJlx, powerGuaranteeTodayWorkJtY, 1310, 120); +// if(StringHelper.isEmptyAndNull(powerGuaranteeTodayWorkJt.getText())) { +// powerGuaranteeTodayWorkJt.addFocusListener(new MyFocusListener("请输入今日重大活动保电情况", powerGuaranteeTodayWorkJt)); +// } + powerGuaranteeTodayWorkJt=new JTextArea(7,26); + Placeholder placeholder4 = new Placeholder(powerGuaranteeTodayWorkJt, "请输入今日重大活动保电情况..."); + powerGuaranteeTodayWorkJt.setLineWrap(true); //设置文本域中的文本为自动换行 + powerGuaranteeTodayWorkJt.setForeground(Color.BLACK); //设置组件的背景色 + powerGuaranteeTodayWorkJt.setFont(new Font("微软雅黑",Font.PLAIN,40)); //修改字体样式 + powerGuaranteeTodayWorkJt.setBackground(Color.WHITE); //设置按钮背景色 + JScrollPane powerGuaranteeTodayWorkJtJsp=new JScrollPane(powerGuaranteeTodayWorkJt); //将文本域放入滚动窗口 + Dimension powerGuaranteeTodayWorkJtSize=powerGuaranteeTodayWorkJt.getPreferredSize(); //获得文本域的首选大小 + int powerGuaranteeTodayWorkJtY = powerGuaranteeTodayWorkJly + 120; + powerGuaranteeTodayWorkJtJsp.setBounds(overallJlx,powerGuaranteeTodayWorkJtY,1310,powerGuaranteeTodayWorkJtSize.height+20); + jp.add(powerGuaranteeTodayWorkJtJsp); + /** + * (二)明日重大保电情况 + */ + JLabel powerGuaranteeTomorrowWorkLabel = new JLabel("(二)明日重大保电情况"); + powerGuaranteeTomorrowWorkLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerGuaranteeTomorrowWorkLabel.setForeground(new Color(11, 24, 76)); + int powerGuaranteeTomorrowWorkJlx = 30; + int powerGuaranteeTomorrowWorkJly = powerGuaranteeTodayWorkJtY + 450; + powerGuaranteeTomorrowWorkLabel.setBounds(powerGuaranteeTomorrowWorkJlx, powerGuaranteeTomorrowWorkJly, 500, 100); + /** + * 明日重大保电情况输入框 + */ +// powerGuaranteeTomorrowWorkJt = new JTextField(); +// setTextFiledColor(powerGuaranteeTomorrowWorkJt); +// int powerGuaranteeTomorrowWorkJtY = powerGuaranteeTomorrowWorkJly + 120; +// powerGuaranteeTomorrowWorkJt.setBounds(powerGuaranteeTomorrowWorkJlx, powerGuaranteeTomorrowWorkJtY, 1310, 120); +// if(StringHelper.isEmptyAndNull(powerGuaranteeTomorrowWorkJt.getText())) { +// powerGuaranteeTomorrowWorkJt.addFocusListener(new MyFocusListener("请输入明日重大保电情况", powerGuaranteeTomorrowWorkJt)); +// } + powerGuaranteeTomorrowWorkJt=new JTextArea(7,26); + Placeholder placeholder5 = new Placeholder(powerGuaranteeTomorrowWorkJt, "请输入明日重大保电情况..."); + powerGuaranteeTomorrowWorkJt.setLineWrap(true); //设置文本域中的文本为自动换行 + powerGuaranteeTomorrowWorkJt.setForeground(Color.BLACK); //设置组件的背景色 + powerGuaranteeTomorrowWorkJt.setFont(new Font("微软雅黑",Font.PLAIN,40)); //修改字体样式 + powerGuaranteeTomorrowWorkJt.setBackground(Color.WHITE); //设置按钮背景色 + JScrollPane powerGuaranteeTomorrowWorkJtJsp=new JScrollPane(powerGuaranteeTomorrowWorkJt); //将文本域放入滚动窗口 + Dimension powerGuaranteeTomorrowWorkJtSize=powerGuaranteeTomorrowWorkJt.getPreferredSize(); //获得文本域的首选大小 + int powerGuaranteeTomorrowWorkJtY = powerGuaranteeTomorrowWorkJly + 120; + powerGuaranteeTomorrowWorkJtJsp.setBounds(overallJlx,powerGuaranteeTomorrowWorkJtY,1310,powerGuaranteeTomorrowWorkJtSize.height+20); + jp.add(powerGuaranteeTomorrowWorkJtJsp); + /** + * (三)今日疫情防控应急保电情况 + */ + JLabel powerGuaranteeTodayPestilenceLabel = new JLabel("(三)今日疫情防控应急保电情况"); + powerGuaranteeTodayPestilenceLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerGuaranteeTodayPestilenceLabel.setForeground(new Color(11, 24, 76)); + int powerGuaranteeTodayPestilenceJlx = 30; + int powerGuaranteeTodayPestilenceJly = powerGuaranteeTomorrowWorkJtY + 450; + powerGuaranteeTodayPestilenceLabel.setBounds(powerGuaranteeTodayPestilenceJlx, powerGuaranteeTodayPestilenceJly, 800, 100); + /** + * 今日疫情防控应急保电情况输入框 + */ +// powerGuaranteeTodayPestilenceJt = new JTextField(); +// setTextFiledColor(powerGuaranteeTodayPestilenceJt); +// int powerGuaranteeTodayPestilenceJtY = powerGuaranteeTodayPestilenceJly + 120; +// powerGuaranteeTodayPestilenceJt.setBounds(powerGuaranteeTodayPestilenceJlx, powerGuaranteeTodayPestilenceJtY, 1310, 120); +// if(StringHelper.isEmptyAndNull(powerGuaranteeTodayPestilenceJt.getText())) { +// powerGuaranteeTodayPestilenceJt.addFocusListener(new MyFocusListener("请输入今日疫情防控应急保电情况", powerGuaranteeTodayPestilenceJt)); +// } + powerGuaranteeTodayPestilenceJt=new JTextArea(7,26); + Placeholder placeholder6 = new Placeholder(powerGuaranteeTodayPestilenceJt, "请输入今日疫情防控应急保电情况..."); + powerGuaranteeTodayPestilenceJt.setLineWrap(true); //设置文本域中的文本为自动换行 + powerGuaranteeTodayPestilenceJt.setForeground(Color.BLACK); //设置组件的背景色 + powerGuaranteeTodayPestilenceJt.setFont(new Font("微软雅黑",Font.PLAIN,40)); //修改字体样式 + powerGuaranteeTodayPestilenceJt.setBackground(Color.WHITE); //设置按钮背景色 + JScrollPane powerGuaranteeTodayPestilenceJtJsp=new JScrollPane(powerGuaranteeTodayPestilenceJt); //将文本域放入滚动窗口 + Dimension powerGuaranteeTodayPestilenceJtSize=powerGuaranteeTodayPestilenceJt.getPreferredSize(); //获得文本域的首选大小 + int powerGuaranteeTodayPestilenceJtY = powerGuaranteeTodayPestilenceJly + 120; + powerGuaranteeTodayPestilenceJtJsp.setBounds(overallJlx,powerGuaranteeTodayPestilenceJtY,1310,powerGuaranteeTodayPestilenceJtSize.height+20); + jp.add(powerGuaranteeTodayPestilenceJtJsp); + /** + * 六、预警及应急响应情况 + */ + JLabel warningLabel = new JLabel("六、预警及应急响应情况"); + warningLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + warningLabel.setForeground(new Color(11, 24, 76)); + int warningWorkJlx = 30; + int warningWorkJly = powerGuaranteeTodayPestilenceJtY + 450; + warningLabel.setBounds(warningWorkJlx, warningWorkJly, 800, 100); + + /** + * (一)公司预警情况 + */ + JLabel warningCompanyLabel = new JLabel("(一)公司预警情况"); + warningCompanyLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + warningCompanyLabel.setForeground(new Color(11, 24, 76)); + int warningCompanyJlx = 30; + int warningCompanyJly = warningWorkJly + 120; + warningCompanyLabel.setBounds(warningCompanyJlx, warningCompanyJly, 800, 100); + /** + * 公司预警情况输入框 + */ +// warningCompanyJt = new JTextField(); +// setTextFiledColor(warningCompanyJt); +// int warningCompanyJtY = warningCompanyJly + 120; +// warningCompanyJt.setBounds(warningCompanyJlx, warningCompanyJtY, 1310, 120); +// if(StringHelper.isEmptyAndNull(warningCompanyJt.getText())) { +// warningCompanyJt.addFocusListener(new MyFocusListener("请输入公司预警情况", warningCompanyJt)); +// } + warningCompanyJt=new JTextArea(7,26); + Placeholder placeholder7 = new Placeholder(warningCompanyJt, "请输入公司预警情况..."); + warningCompanyJt.setLineWrap(true); //设置文本域中的文本为自动换行 + warningCompanyJt.setForeground(Color.BLACK); //设置组件的背景色 + warningCompanyJt.setFont(new Font("微软雅黑",Font.PLAIN,40)); //修改字体样式 + warningCompanyJt.setBackground(Color.WHITE); //设置按钮背景色 + JScrollPane warningCompanyJtJsp=new JScrollPane(warningCompanyJt); //将文本域放入滚动窗口 + Dimension warningCompanyJtSize=warningCompanyJt.getPreferredSize(); //获得文本域的首选大小 + int warningCompanyJtY = warningCompanyJly + 120; + warningCompanyJtJsp.setBounds(overallJlx,warningCompanyJtY,1310,warningCompanyJtSize.height+20); + jp.add(warningCompanyJtJsp); + /** + * (二)公司应急响应情况 + */ + JLabel warningCompanyImpatientLabel = new JLabel("(二)公司应急响应情况"); + warningCompanyImpatientLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + warningCompanyImpatientLabel.setForeground(new Color(11, 24, 76)); + int warningCompanyImpatientJlx = 30; + int warningCompanyImpatientJly = warningCompanyJtY + 450; + warningCompanyImpatientLabel.setBounds(warningCompanyImpatientJlx, warningCompanyImpatientJly, 500, 100); + /** + * 公司应急响应情况输入框 + */ +// warningCompanyImpatientJt = new JTextField(); +// setTextFiledColor(warningCompanyImpatientJt); +// int warningCompanyImpatientJtY = warningCompanyImpatientJly + 120; +// warningCompanyImpatientJt.setBounds(warningCompanyImpatientJlx, warningCompanyImpatientJtY, 1310, 120); +// if(StringHelper.isEmptyAndNull(warningCompanyImpatientJt.getText())) { +// warningCompanyImpatientJt.addFocusListener(new MyFocusListener("请输入公司应急响应情况", warningCompanyImpatientJt)); +// } + warningCompanyImpatientJt=new JTextArea(7,26); + Placeholder placeholder8 = new Placeholder(warningCompanyImpatientJt, "请输入公司应急响应情况..."); + warningCompanyImpatientJt.setLineWrap(true); //设置文本域中的文本为自动换行 + warningCompanyImpatientJt.setForeground(Color.BLACK); //设置组件的背景色 + warningCompanyImpatientJt.setFont(new Font("微软雅黑",Font.PLAIN,40)); //修改字体样式 + warningCompanyImpatientJt.setBackground(Color.WHITE); //设置按钮背景色 + JScrollPane warningCompanyImpatientJtJsp=new JScrollPane(warningCompanyImpatientJt); //将文本域放入滚动窗口 + Dimension warningCompanyImpatientJtSize=warningCompanyImpatientJt.getPreferredSize(); //获得文本域的首选大小 + int warningCompanyImpatientJtY = warningCompanyImpatientJly + 120; + warningCompanyImpatientJtJsp.setBounds(overallJlx,warningCompanyImpatientJtY,1310,warningCompanyImpatientJtSize.height+20); + jp.add(warningCompanyImpatientJtJsp); + /** + * (三)社会突发事件救援及处置情况 + */ + JLabel warningSocietyEmergencyLabel = new JLabel("(三)社会突发事件救援及处置情况"); + warningSocietyEmergencyLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + warningSocietyEmergencyLabel.setForeground(new Color(11, 24, 76)); + int warningSocietyEmergencyJlx = 30; + int warningSocietyEmergencyJly = warningCompanyImpatientJtY + 450; + warningSocietyEmergencyLabel.setBounds(warningSocietyEmergencyJlx, warningSocietyEmergencyJly, 800, 100); + /** + * 社会突发事件救援及处置情况输入框 + */ +// warningSocietyEmergencyJt = new JTextField(); +// setTextFiledColor(warningSocietyEmergencyJt); +// int warningSocietyEmergencyJtY = warningSocietyEmergencyJly + 120; +// warningSocietyEmergencyJt.setBounds(warningSocietyEmergencyJlx, warningSocietyEmergencyJtY, 1310, 120); +// if(StringHelper.isEmptyAndNull(warningSocietyEmergencyJt.getText())) { +// warningSocietyEmergencyJt.addFocusListener(new MyFocusListener("请输入社会突发事件救援及处置情况", warningSocietyEmergencyJt)); +// } + warningSocietyEmergencyJt=new JTextArea(7,26); + Placeholder placeholder9 = new Placeholder(warningSocietyEmergencyJt, "请输入社会突发事件救援及处置情况..."); + warningSocietyEmergencyJt.setLineWrap(true); //设置文本域中的文本为自动换行 + warningSocietyEmergencyJt.setForeground(Color.BLACK); //设置组件的背景色 + warningSocietyEmergencyJt.setFont(new Font("微软雅黑",Font.PLAIN,40)); //修改字体样式 + warningSocietyEmergencyJt.setBackground(Color.WHITE); //设置按钮背景色 + JScrollPane warningSocietyEmergencyJtJsp=new JScrollPane(warningSocietyEmergencyJt); //将文本域放入滚动窗口 + Dimension warningSocietyEmergencyJtSize=warningSocietyEmergencyJt.getPreferredSize(); //获得文本域的首选大小 + int warningSocietyEmergencyJtY = warningSocietyEmergencyJly + 120; + warningSocietyEmergencyJtJsp.setBounds(overallJlx,warningSocietyEmergencyJtY,1310,warningSocietyEmergencyJtSize.height+20); + jp.add(warningSocietyEmergencyJtJsp); + /** + * 七、其他情况说明 + */ + JLabel otherSituationsLabel = new JLabel("七、其他情况说明"); + otherSituationsLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + otherSituationsLabel.setForeground(new Color(11, 24, 76)); + int otherSituationsJlx = 30; + int otherSituationsJly = warningSocietyEmergencyJtY + 450; + otherSituationsLabel.setBounds(otherSituationsJlx, otherSituationsJly, 800, 100); + /** + * 其他情况说明输入框 + */ +// otherSituationsJt = new JTextField(); +// setTextFiledColor(otherSituationsJt); +// int otherSituationsJtY = otherSituationsJly + 120; +// otherSituationsJt.setBounds(otherSituationsJlx, otherSituationsJtY, 1310, 120); +// if(StringHelper.isEmptyAndNull(otherSituationsJt.getText())) { +// otherSituationsJt.addFocusListener(new MyFocusListener("请输入其他情况说明", otherSituationsJt)); +// } + otherSituationsJt=new JTextArea(7,26); + Placeholder placeholder10 = new Placeholder(otherSituationsJt, "请输入其他情况说明..."); + otherSituationsJt.setLineWrap(true); //设置文本域中的文本为自动换行 + otherSituationsJt.setForeground(Color.BLACK); //设置组件的背景色 + otherSituationsJt.setFont(new Font("微软雅黑",Font.PLAIN,40)); //修改字体样式 + otherSituationsJt.setBackground(Color.WHITE); //设置按钮背景色 + JScrollPane otherSituationsJtJsp=new JScrollPane(otherSituationsJt); //将文本域放入滚动窗口 + Dimension otherSituationsJtSize=otherSituationsJt.getPreferredSize(); //获得文本域的首选大小 + int otherSituationsJtY = otherSituationsJly + 120; + otherSituationsJtJsp.setBounds(overallJlx,otherSituationsJtY,1310,otherSituationsJtSize.height+20); + jp.add(otherSituationsJtJsp); + /** + * 附件一-操练情况统计表 + */ + JLabel annexOneLabel = new JLabel("附件一-操练情况统计表"); + annexOneLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + annexOneLabel.setForeground(new Color(11, 24, 76)); + int annexOneJlx = 30; + int annexOneJly = otherSituationsJtY + 450; + annexOneLabel.setBounds(annexOneJlx, annexOneJly, 1000, 100); + + /** + * 操练内容 + */ + JLabel exerciseContentLabel = new JLabel("操练内容"); + exerciseContentLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + exerciseContentLabel.setForeground(new Color(11, 24, 76)); + int exerciseContentJlx = 30; + int exerciseContentJly = annexOneJly + 120; + exerciseContentLabel.setBounds(exerciseContentJlx, exerciseContentJly, 800, 100); + + /** + * 操练内容下拉框 + */ + exerciseContentBox = new JComboBox(); + // 绑定下拉框选项 + for (String item : strArray) { + exerciseContentBox.addItem(item); + } + exerciseContentBox.setFont(new Font("微软雅黑", Font.BOLD, 50)); + exerciseContentBox.setForeground(new Color(11, 24, 76)); + exerciseContentBox.setBounds(30, exerciseContentJly + 120, 800, 100); + + /** + * 操练数量 + */ + JLabel exerciseNumLabel = new JLabel("操练数量"); + exerciseNumLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + exerciseNumLabel.setForeground(new Color(11, 24, 76)); + int exerciseNumJlx = 30; + int exerciseNumJly = exerciseContentJly + 240; + exerciseNumLabel.setBounds(exerciseNumJlx, exerciseNumJly, 800, 100); + + /** + * 操练数量-人员 + */ + JLabel exercisePersonNumLabel = new JLabel("人员数量"); + exercisePersonNumLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + exercisePersonNumLabel.setForeground(new Color(11, 24, 76)); + int exercisePersonNumJlx = 30; + int exercisePersonNumJly = exerciseNumJly + 120; + exercisePersonNumLabel.setBounds(exercisePersonNumJlx, exercisePersonNumJly, 800, 100); + /** + * 操练数量-车辆 + */ + JLabel exerciseVehicleNumLabel = new JLabel("车辆数量"); + exerciseVehicleNumLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + exerciseVehicleNumLabel.setForeground(new Color(11, 24, 76)); + int exerciseVehicleNumJlx = exercisePersonNumJlx + 350; + int exerciseVehicleNumJly = exerciseNumJly + 120; + exerciseVehicleNumLabel.setBounds(exerciseVehicleNumJlx, exerciseVehicleNumJly, 800, 100); + + /** + * 操练数量-发电车 + */ + JLabel exercisePowerVehicleNumLabel = new JLabel("发电车数量"); + exercisePowerVehicleNumLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + exercisePowerVehicleNumLabel.setForeground(new Color(11, 24, 76)); + int exercisePowerVehicleNumJlx = exerciseVehicleNumJlx + 300; + int exercisePowerVehicleNumJly = exerciseNumJly + 120; + exercisePowerVehicleNumLabel.setBounds(exercisePowerVehicleNumJlx, exercisePowerVehicleNumJly, 800, 100); + + /** + * 操练数量-发电机 + */ + JLabel exerciseDynamoNumLabel = new JLabel("发电车数量"); + exerciseDynamoNumLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + exerciseDynamoNumLabel.setForeground(new Color(11, 24, 76)); + int exerciseDynamoNumJlx = exercisePowerVehicleNumJlx + 350; + int exerciseDynamoNumJly = exerciseNumJly + 120; + exerciseDynamoNumLabel.setBounds(exerciseDynamoNumJlx, exerciseDynamoNumJly, 800, 100); + + /** + * 操练数量-人员输入框 + */ + exercisePersonNumJt = new JTextField(); + setTextFiledColor(exercisePersonNumJt); + int exercisePersonNumJtY = exercisePersonNumJly + 120; + exercisePersonNumJt.setBounds(exercisePersonNumJlx, exercisePersonNumJtY, 260, 120); + + /** + * 操练数量-车辆输入框 + */ + exerciseVehicleNumJt = new JTextField(); + setTextFiledColor(exerciseVehicleNumJt); + int exerciseVehicleNumJtY = exercisePersonNumJly + 120; + exerciseVehicleNumJt.setBounds(exercisePersonNumJlx + 350, exerciseVehicleNumJtY, 260, 120); + + /** + * 操练数量-发电车输入框 + */ + exercisePowerVehicleNumJt = new JTextField(); + setTextFiledColor(exercisePowerVehicleNumJt); + int exercisePowerVehicleNumJtY = exercisePersonNumJly + 120; + exercisePowerVehicleNumJt.setBounds(exercisePersonNumJlx + 650, exercisePowerVehicleNumJtY, 260, 120); + + /** + * 操练数量-发电机输入框 + */ + exerciseDynamoNumJt = new JTextField(); + setTextFiledColor(exerciseDynamoNumJt); + int exerciseDynamoNumJtY = exercisePersonNumJly + 120; + exerciseDynamoNumJt.setBounds(exercisePersonNumJlx + 1000, exerciseDynamoNumJtY, 260, 120); + + /** + * 操练发现的问题 + */ + JLabel exerciseFindProblemsLabel = new JLabel("操练发现的问题"); + exerciseFindProblemsLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + exerciseFindProblemsLabel.setForeground(new Color(11, 24, 76)); + int exerciseFindProblemsJlx = 30; + int exerciseFindProblemsJly = exerciseDynamoNumJtY + 120; + exerciseFindProblemsLabel.setBounds(exerciseFindProblemsJlx, exerciseFindProblemsJly, 800, 100); + /** + * 操练发现的问题 + */ + exerciseFindProblemsJt = new JTextField(); + setTextFiledColor(exerciseFindProblemsJt); + int exerciseFindProblemsJtY = exerciseFindProblemsJly + 120; + exerciseFindProblemsJt.setBounds(30, exerciseFindProblemsJtY, 1310, 120); + if(StringHelper.isEmptyAndNull(exerciseFindProblemsJt.getText())) { + exerciseFindProblemsJt.addFocusListener(new MyFocusListener("请输入操练发现的问题", exerciseFindProblemsJt)); + } + + /** + * 操练备注 + */ + JLabel exerciseRemarkLabel = new JLabel("备注"); + exerciseRemarkLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + exerciseRemarkLabel.setForeground(new Color(11, 24, 76)); + int exerciseRemarkJlx = 30; + int exerciseRemarkJly = exerciseFindProblemsJtY + 120; + exerciseRemarkLabel.setBounds(exerciseRemarkJlx, exerciseRemarkJly, 800, 100); + /** + * 操练备注 + */ + exerciseRemarkJt = new JTextField(); + setTextFiledColor(exerciseRemarkJt); + int exerciseRemarkJtY = exerciseRemarkJly + 120; + exerciseRemarkJt.setBounds(30, exerciseRemarkJtY, 1310, 120); + if(StringHelper.isEmptyAndNull(exerciseRemarkJt.getText())) { + exerciseRemarkJt.addFocusListener(new MyFocusListener("请输入操练备注", exerciseRemarkJt)); + } + + /** + * 附件二-资源核查问题数量统计表 + */ + JLabel annexTwoLabel = new JLabel("附件二-资源核查问题数量统计表"); + annexTwoLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + annexTwoLabel.setForeground(new Color(11, 24, 76)); + int annexTwoJlx = 30; + int annexTwoJly = exerciseRemarkJtY + 120; + annexTwoLabel.setBounds(annexTwoJlx, annexTwoJly, 1000, 100); + + /** + * 核查数量 + */ + JLabel verificationNumLabel = new JLabel("核查数量"); + verificationNumLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + verificationNumLabel.setForeground(new Color(11, 24, 76)); + int verificationNumJlx = 30; + int verificationNumJly = annexTwoJly + 120; + verificationNumLabel.setBounds(verificationNumJlx, verificationNumJly, 800, 100); + + /** + * 核查数量-人员 + */ + JLabel verificationPersonNumLabel = new JLabel("人员数量"); + verificationPersonNumLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + verificationPersonNumLabel.setForeground(new Color(11, 24, 76)); + int verificationPersonNumJlx = 30; + int verificationPersonNumJly = verificationNumJly + 120; + verificationPersonNumLabel.setBounds(verificationPersonNumJlx, verificationPersonNumJly, 800, 100); + /** + * 核查数量-车辆 + */ + JLabel verificationVehicleNumLabel = new JLabel("车辆数量"); + verificationVehicleNumLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + verificationVehicleNumLabel.setForeground(new Color(11, 24, 76)); + int verificationVehicleNumJlx = verificationPersonNumJlx + 250; + int verificationVehicleNumJly = verificationNumJly + 120; + verificationVehicleNumLabel.setBounds(verificationVehicleNumJlx, verificationVehicleNumJly, 800, 100); + + /** + * 核查数量-队伍 + */ + JLabel verificationTeamNumLabel = new JLabel("队伍数量"); + verificationTeamNumLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + verificationTeamNumLabel.setForeground(new Color(11, 24, 76)); + int verificationTeamNumJlx = verificationVehicleNumJlx + 250; + int verificationTeamNumJly = verificationNumJly + 120; + verificationTeamNumLabel.setBounds(verificationTeamNumJlx, verificationTeamNumJly, 800, 100); + + /** + * 核查数量-装备 + */ + JLabel verificationEquipNumLabel = new JLabel("装备数量"); + verificationEquipNumLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + verificationEquipNumLabel.setForeground(new Color(11, 24, 76)); + int verificationEquipNumJlx = verificationTeamNumJlx + 250; + int verificationEquipNumJly = verificationNumJly + 120; + verificationEquipNumLabel.setBounds(verificationEquipNumJlx, verificationEquipNumJly, 800, 100); + + /** + * 核查数量-物资 + */ + JLabel verificationMaterialNumLabel = new JLabel("物资数量"); + verificationMaterialNumLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + verificationMaterialNumLabel.setForeground(new Color(11, 24, 76)); + int verificationMaterialNumJlx = verificationEquipNumJlx + 250; + int verificationMaterialNumJly = verificationNumJly + 120; + verificationMaterialNumLabel.setBounds(verificationMaterialNumJlx, verificationMaterialNumJly, 800, 100); + + + /** + * 核查数量-人员输入框 + */ + verificationPersonNumJt = new JTextField(); + setTextFiledColor(verificationPersonNumJt); + int verificationPersonNumJtY = verificationPersonNumJly + 120; + verificationPersonNumJt.setBounds(verificationPersonNumJlx, verificationPersonNumJtY, 240, 120); + + /** + * 核查数量-车辆输入框 + */ + verificationVehicleNumJt = new JTextField(); + setTextFiledColor(verificationVehicleNumJt); + int verificationVehicleNumJtY = verificationPersonNumJly + 120; + verificationVehicleNumJt.setBounds(verificationPersonNumJlx + 250, verificationVehicleNumJtY, 240, 120); + + /** + * 核查数量-队伍输入框 + */ + verificationTeamNumJt = new JTextField(); + setTextFiledColor(verificationTeamNumJt); + int verificationTeamNumJtY = verificationPersonNumJly + 120; + verificationTeamNumJt.setBounds(verificationPersonNumJlx + 500, verificationTeamNumJtY, 240, 120); + + /** + * 核查数量-装备输入框 + */ + verificationEquipNumJt = new JTextField(); + setTextFiledColor(verificationEquipNumJt); + int verificationEquipNumJtY = verificationPersonNumJly + 120; + verificationEquipNumJt.setBounds(verificationPersonNumJlx + 750, verificationEquipNumJtY, 240, 120); + + /** + * 核查数量-装备输入框 + */ + verificationMaterialNumJt = new JTextField(); + setTextFiledColor(verificationMaterialNumJt); + int verificationMaterialNumJtY = verificationPersonNumJly + 120; + verificationMaterialNumJt.setBounds(verificationPersonNumJlx + 1000, verificationMaterialNumJtY, 240, 120); + + /** + * 核查发现的问题 + */ + JLabel verificationFindProblemsLabel = new JLabel("核查发现的问题"); + verificationFindProblemsLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + verificationFindProblemsLabel.setForeground(new Color(11, 24, 76)); + int verificationFindProblemsJlx = 30; + int verificationFindProblemsJly = verificationMaterialNumJtY + 120; + verificationFindProblemsLabel.setBounds(verificationFindProblemsJlx, verificationFindProblemsJly, 800, 100); + /** + * 核查发现的问题 + */ + verificationFindProblemsJt = new JTextField(); + setTextFiledColor(verificationFindProblemsJt); + int verificationFindProblemsJtY = verificationFindProblemsJly + 120; + verificationFindProblemsJt.setBounds(30, verificationFindProblemsJtY, 1310, 120); + if(StringHelper.isEmptyAndNull(verificationFindProblemsJt.getText())) { + verificationFindProblemsJt.addFocusListener(new MyFocusListener("请输入核查发现的问题", verificationFindProblemsJt)); + } + + /** + * 核查备注 + */ + JLabel verificationRemarkLabel = new JLabel("备注"); + verificationRemarkLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + verificationRemarkLabel.setForeground(new Color(11, 24, 76)); + int verificationRemarkJlx = 30; + int verificationRemarkJly = verificationFindProblemsJtY + 120; + verificationRemarkLabel.setBounds(verificationRemarkJlx, verificationRemarkJly, 800, 100); + /** + * 核查备注 + */ + verificationRemarkJt = new JTextField(); + setTextFiledColor(verificationRemarkJt); + int verificationRemarkJtY = verificationRemarkJly + 120; + verificationRemarkJt.setBounds(30, verificationRemarkJtY, 1310, 120); + if(StringHelper.isEmptyAndNull(verificationRemarkJt.getText())) { + verificationRemarkJt.addFocusListener(new MyFocusListener("请输入核查备注", verificationRemarkJt)); + } + + /** + * 附件三-电网生产相关专业员工感染情况统计 + */ + JLabel annexThreeLabel = new JLabel("附件三-电网生产相关专业员工感染情况统计"); + annexThreeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + annexThreeLabel.setForeground(new Color(11, 24, 76)); + int annexThreeJlx = 30; + int annexThreeJly = verificationRemarkJtY + 150; + annexThreeLabel.setBounds(annexThreeJlx, annexThreeJly, 1000, 100); + + /** + * 合计 - 新增 + */ + JLabel totalAddition = new JLabel("合计-新增"); + totalAddition.setFont(new Font("微软雅黑", Font.BOLD, 50)); + totalAddition.setForeground(new Color(11, 24, 76)); + int totalAdditionJlx = 30; + int totalAdditionJly = annexThreeJly + 120; + totalAddition.setBounds(totalAdditionJlx, totalAdditionJly, 800, 100); + + /** + * 确诊 + */ + JLabel totalAddDiagnosedLabel = new JLabel("确诊"); + totalAddDiagnosedLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + totalAddDiagnosedLabel.setForeground(new Color(11, 24, 76)); + int totalAddDiagnosedJlx = 30; + int totalAddDiagnosedJly = totalAdditionJly + 120; + totalAddDiagnosedLabel.setBounds(totalAddDiagnosedJlx, totalAddDiagnosedJly, 800, 100); + /** + * 治愈 + */ + JLabel totalAddHealLabel = new JLabel("治愈"); + totalAddHealLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + totalAddHealLabel.setForeground(new Color(11, 24, 76)); + int totalAddHealJlx = totalAddDiagnosedJlx + 350; + int totalAddHealJly = totalAdditionJly + 120; + totalAddHealLabel.setBounds(totalAddHealJlx, totalAddHealJly, 800, 100); + + /** + * 疑似 + */ + JLabel totalAddSuspectedLabel = new JLabel("疑似"); + totalAddSuspectedLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + totalAddSuspectedLabel.setForeground(new Color(11, 24, 76)); + int totalAddSuspectedJlx = totalAddHealJlx + 350; + int totalAddSuspectedJly = totalAdditionJly + 120; + totalAddSuspectedLabel.setBounds(totalAddSuspectedJlx, totalAddSuspectedJly, 800, 100); + + /** + * 确诊 + */ + totalAddDiagnosedJt = new JTextField(); + setTextFiledColor(totalAddDiagnosedJt); + int totalAddDiagnosedJtY = totalAddSuspectedJly + 120; + totalAddDiagnosedJt.setBounds(totalAdditionJlx, totalAddDiagnosedJtY, 300, 120); + + /** + * 治愈 + */ + totalAddHealJt = new JTextField(); + setTextFiledColor(totalAddHealJt); + int totalAddHealJtY = totalAddSuspectedJly + 120; + totalAddHealJt.setBounds(totalAdditionJlx + 350, totalAddHealJtY, 300, 120); + + /** + * 疑似 + */ + totalAddSuspectedJt = new JTextField(); + setTextFiledColor(totalAddSuspectedJt); + int totalAddSuspectedJtY = totalAddSuspectedJly + 120; + totalAddSuspectedJt.setBounds(totalAdditionJlx + 700, totalAddSuspectedJtY, 300, 120); + + /** + * 合计 - 现有 + */ + JLabel totalExisting = new JLabel("合计-现有"); + totalExisting.setFont(new Font("微软雅黑", Font.BOLD, 50)); + totalExisting.setForeground(new Color(11, 24, 76)); + int totalExistingJlx = 30; + int totalExistingJly = totalAddSuspectedJtY + 120; + totalExisting.setBounds(totalExistingJlx, totalExistingJly, 800, 100); + + /** + * 确诊 + */ + JLabel totalExistingDiagnosedLabel = new JLabel("确诊"); + totalExistingDiagnosedLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + totalExistingDiagnosedLabel.setForeground(new Color(11, 24, 76)); + int totalExistingDiagnosedJlx = 30; + int totalExistingDiagnosedJly = totalExistingJly + 120; + totalExistingDiagnosedLabel.setBounds(totalExistingDiagnosedJlx, totalExistingDiagnosedJly, 800, 100); + /** + * 治愈 + */ + JLabel totalExistingHealLabel = new JLabel("治愈"); + totalExistingHealLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + totalExistingHealLabel.setForeground(new Color(11, 24, 76)); + int totalExistingHealJlx = totalExistingDiagnosedJlx + 350; + int totalExistingHealJly = totalExistingJly + 120; + totalExistingHealLabel.setBounds(totalExistingHealJlx, totalExistingHealJly, 800, 100); + + /** + * 疑似 + */ + JLabel totalExistingSuspectedLabel = new JLabel("疑似"); + totalExistingSuspectedLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + totalExistingSuspectedLabel.setForeground(new Color(11, 24, 76)); + int totalExistingSuspectedJlx = totalExistingHealJlx + 350; + int totalExistingSuspectedJly = totalExistingJly + 120; + totalExistingSuspectedLabel.setBounds(totalExistingSuspectedJlx, totalExistingSuspectedJly, 800, 100); + + /** + * 确诊 + */ + totalExistingDiagnosedJt = new JTextField(); + setTextFiledColor(totalExistingDiagnosedJt); + int totalExistingDiagnosedJtY = totalExistingSuspectedJly + 120; + totalExistingDiagnosedJt.setBounds(totalExistingDiagnosedJlx, totalExistingDiagnosedJtY, 300, 120); + + /** + * 治愈 + */ + totalExistingHealJt = new JTextField(); + setTextFiledColor(totalExistingHealJt); + int totalExistingHealJtY = totalExistingSuspectedJly + 120; + totalExistingHealJt.setBounds(totalExistingDiagnosedJlx + 350, totalExistingHealJtY, 300, 120); + + /** + * 疑似 + */ + totalExistingSuspectedJt = new JTextField(); + setTextFiledColor(totalExistingSuspectedJt); + int totalExistingSuspectedJtY = totalExistingSuspectedJly + 120; + totalExistingSuspectedJt.setBounds(totalExistingDiagnosedJlx + 700, totalExistingSuspectedJtY, 300, 120); + + /** + * 电网调度 - 新增 + */ + JLabel dispatchAddition = new JLabel("电网调度-新增"); + dispatchAddition.setFont(new Font("微软雅黑", Font.BOLD, 50)); + dispatchAddition.setForeground(new Color(11, 24, 76)); + int dispatchAdditionJlx = 30; + int dispatchAdditionJly = totalExistingSuspectedJtY + 120; + dispatchAddition.setBounds(dispatchAdditionJlx, dispatchAdditionJly, 800, 100); + + /** + * 确诊 + */ + JLabel dispatchAddDiagnosedLabel = new JLabel("确诊"); + dispatchAddDiagnosedLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + dispatchAddDiagnosedLabel.setForeground(new Color(11, 24, 76)); + int dispatchAddDiagnosedJlx = 30; + int dispatchAddDiagnosedJly = dispatchAdditionJly + 120; + dispatchAddDiagnosedLabel.setBounds(dispatchAddDiagnosedJlx, dispatchAddDiagnosedJly, 800, 100); + /** + * 治愈 + */ + JLabel dispatchAddHealLabel = new JLabel("治愈"); + dispatchAddHealLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + dispatchAddHealLabel.setForeground(new Color(11, 24, 76)); + int dispatchAddHealJlx = dispatchAddDiagnosedJlx + 350; + int dispatchAddHealJly = dispatchAdditionJly + 120; + dispatchAddHealLabel.setBounds(dispatchAddHealJlx, dispatchAddHealJly, 800, 100); + + /** + * 疑似 + */ + JLabel dispatchAddSuspectedLabel = new JLabel("疑似"); + dispatchAddSuspectedLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + dispatchAddSuspectedLabel.setForeground(new Color(11, 24, 76)); + int dispatchAddSuspectedJlx = dispatchAddHealJlx + 350; + int dispatchAddSuspectedJly = dispatchAdditionJly + 120; + dispatchAddSuspectedLabel.setBounds(dispatchAddSuspectedJlx, dispatchAddSuspectedJly, 800, 100); + + /** + * 确诊 + */ + dispatchAddDiagnosedJt = new JTextField(); + setTextFiledColor(dispatchAddDiagnosedJt); + int dispatchAddDiagnosedJtY = dispatchAddSuspectedJly + 120; + dispatchAddDiagnosedJt.setBounds(dispatchAdditionJlx, dispatchAddDiagnosedJtY, 300, 120); + + /** + * 治愈 + */ + dispatchAddHealJt = new JTextField(); + setTextFiledColor(dispatchAddHealJt); + int dispatchAddHealJtY = dispatchAddSuspectedJly + 120; + dispatchAddHealJt.setBounds(dispatchAdditionJlx + 350, dispatchAddHealJtY, 300, 120); + + /** + * 疑似 + */ + dispatchAddSuspectedJt = new JTextField(); + setTextFiledColor(dispatchAddSuspectedJt); + int dispatchAddSuspectedJtY = dispatchAddSuspectedJly + 120; + dispatchAddSuspectedJt.setBounds(dispatchAdditionJlx + 700,dispatchAddSuspectedJtY, 300, 120); + + /** + * 电网调度 - 现有 + */ + JLabel dispatchExisting = new JLabel("电网调度-现有"); + dispatchExisting.setFont(new Font("微软雅黑", Font.BOLD, 50)); + dispatchExisting.setForeground(new Color(11, 24, 76)); + int dispatchExistingJlx = 30; + int dispatchExistingJly = dispatchAddSuspectedJtY + 120; + dispatchExisting.setBounds(dispatchExistingJlx, dispatchExistingJly, 800, 100); + + /** + * 确诊 + */ + JLabel dispatchExistingDiagnosedLabel = new JLabel("确诊"); + dispatchExistingDiagnosedLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + dispatchExistingDiagnosedLabel.setForeground(new Color(11, 24, 76)); + int dispatchExistingDiagnosedJlx = 30; + int dispatchExistingDiagnosedJly = dispatchExistingJly + 120; + dispatchExistingDiagnosedLabel.setBounds(dispatchExistingDiagnosedJlx, dispatchExistingDiagnosedJly, 800, 100); + /** + * 治愈 + */ + JLabel dispatchExistingHealLabel = new JLabel("治愈"); + dispatchExistingHealLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + dispatchExistingHealLabel.setForeground(new Color(11, 24, 76)); + int dispatchExistingHealJlx = dispatchExistingDiagnosedJlx + 350; + int dispatchExistingHealJly = dispatchExistingJly + 120; + dispatchExistingHealLabel.setBounds(dispatchExistingHealJlx, dispatchExistingHealJly, 800, 100); + + /** + * 疑似 + */ + JLabel dispatchExistingSuspectedLabel = new JLabel("疑似"); + dispatchExistingSuspectedLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + dispatchExistingSuspectedLabel.setForeground(new Color(11, 24, 76)); + int dispatchExistingSuspectedJlx = dispatchExistingHealJlx + 350; + int dispatchExistingSuspectedJly = dispatchExistingJly + 120; + dispatchExistingSuspectedLabel.setBounds(dispatchExistingSuspectedJlx, dispatchExistingSuspectedJly, 800, 100); + + /** + * 确诊 + */ + dispatchExistingDiagnosedJt = new JTextField(); + setTextFiledColor(dispatchExistingDiagnosedJt); + int dispatchExistingDiagnosedJtY = dispatchExistingSuspectedJly + 120; + dispatchExistingDiagnosedJt.setBounds(dispatchExistingDiagnosedJlx, dispatchExistingDiagnosedJtY, 300, 120); + + /** + * 治愈 + */ + dispatchExistingHealJt = new JTextField(); + setTextFiledColor(dispatchExistingHealJt); + int dispatchExistingHealJtY = dispatchExistingSuspectedJly + 120; + dispatchExistingHealJt.setBounds(dispatchExistingDiagnosedJlx + 350, dispatchExistingHealJtY, 300, 120); + + /** + * 疑似 + */ + dispatchExistingSuspectedJt = new JTextField(); + setTextFiledColor(dispatchExistingSuspectedJt); + int dispatchExistingSuspectedJtY = dispatchExistingSuspectedJly + 120; + dispatchExistingSuspectedJt.setBounds(dispatchExistingDiagnosedJlx + 700, dispatchExistingSuspectedJtY, 300, 120); + /** + * 运维检修 - 新增 + */ + JLabel repairAddition = new JLabel("运维检修-新增"); + repairAddition.setFont(new Font("微软雅黑", Font.BOLD, 50)); + repairAddition.setForeground(new Color(11, 24, 76)); + int repairAdditionJlx = 30; + int repairAdditionJly = dispatchExistingSuspectedJtY + 120; + repairAddition.setBounds(repairAdditionJlx, repairAdditionJly, 800, 100); + + /** + * 确诊 + */ + JLabel repairAddDiagnosedLabel = new JLabel("确诊"); + repairAddDiagnosedLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + repairAddDiagnosedLabel.setForeground(new Color(11, 24, 76)); + int repairAddDiagnosedJlx = 30; + int repairAddDiagnosedJly = repairAdditionJly + 120; + repairAddDiagnosedLabel.setBounds(repairAddDiagnosedJlx, repairAddDiagnosedJly, 800, 100); + /** + * 治愈 + */ + JLabel repairAddHealLabel = new JLabel("治愈"); + repairAddHealLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + repairAddHealLabel.setForeground(new Color(11, 24, 76)); + int repairAddHealJlx = repairAddDiagnosedJlx + 350; + int repairAddHealJly = repairAdditionJly + 120; + repairAddHealLabel.setBounds(repairAddHealJlx, repairAddHealJly, 800, 100); + + /** + * 疑似 + */ + JLabel repairAddSuspectedLabel = new JLabel("疑似"); + repairAddSuspectedLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + repairAddSuspectedLabel.setForeground(new Color(11, 24, 76)); + int repairAddSuspectedJlx = repairAddHealJlx + 350; + int repairAddSuspectedJly = repairAdditionJly + 120; + repairAddSuspectedLabel.setBounds(repairAddSuspectedJlx, repairAddSuspectedJly, 800, 100); + + /** + * 确诊 + */ + repairAddDiagnosedJt = new JTextField(); + setTextFiledColor(repairAddDiagnosedJt); + int repairAddDiagnosedJtY = repairAddSuspectedJly + 120; + repairAddDiagnosedJt.setBounds(repairAdditionJlx, repairAddDiagnosedJtY, 300, 120); + + /** + * 治愈 + */ + repairAddHealJt = new JTextField(); + setTextFiledColor(repairAddHealJt); + int repairAddHealJtY = repairAddSuspectedJly + 120; + repairAddHealJt.setBounds(repairAdditionJlx + 350, repairAddHealJtY, 300, 120); + + /** + * 疑似 + */ + repairAddSuspectedJt = new JTextField(); + setTextFiledColor(repairAddSuspectedJt); + int repairAddSuspectedJtY = repairAddSuspectedJly + 120; + repairAddSuspectedJt.setBounds(repairAdditionJlx + 700,repairAddSuspectedJtY, 300, 120); + + /** + * 运维检修 - 现有 + */ + JLabel repairExisting = new JLabel("运维检修-现有"); + repairExisting.setFont(new Font("微软雅黑", Font.BOLD, 50)); + repairExisting.setForeground(new Color(11, 24, 76)); + int repairExistingJlx = 30; + int repairExistingJly = repairAddSuspectedJtY + 120; + repairExisting.setBounds(repairExistingJlx, repairExistingJly, 800, 100); + + /** + * 确诊 + */ + JLabel repairExistingDiagnosedLabel = new JLabel("确诊"); + repairExistingDiagnosedLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + repairExistingDiagnosedLabel.setForeground(new Color(11, 24, 76)); + int repairExistingDiagnosedJlx = 30; + int repairExistingDiagnosedJly = repairExistingJly + 120; + repairExistingDiagnosedLabel.setBounds(repairExistingDiagnosedJlx, repairExistingDiagnosedJly, 800, 100); + /** + * 治愈 + */ + JLabel repairExistingHealLabel = new JLabel("治愈"); + repairExistingHealLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + repairExistingHealLabel.setForeground(new Color(11, 24, 76)); + int repairExistingHealJlx = repairExistingDiagnosedJlx + 350; + int repairExistingHealJly = repairExistingJly + 120; + repairExistingHealLabel.setBounds(repairExistingHealJlx, repairExistingHealJly, 800, 100); + + /** + * 疑似 + */ + JLabel repairExistingSuspectedLabel = new JLabel("疑似"); + repairExistingSuspectedLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + repairExistingSuspectedLabel.setForeground(new Color(11, 24, 76)); + int repairExistingSuspectedJlx = repairExistingHealJlx + 350; + int repairExistingSuspectedJly = repairExistingJly + 120; + repairExistingSuspectedLabel.setBounds(repairExistingSuspectedJlx, repairExistingSuspectedJly, 800, 100); + + /** + * 确诊 + */ + repairExistingDiagnosedJt = new JTextField(); + setTextFiledColor(repairExistingDiagnosedJt); + int repairExistingDiagnosedJtY = repairExistingSuspectedJly + 120; + repairExistingDiagnosedJt.setBounds(repairExistingDiagnosedJlx, repairExistingDiagnosedJtY, 300, 120); + + /** + * 治愈 + */ + repairExistingHealJt = new JTextField(); + setTextFiledColor(repairExistingHealJt); + int repairExistingHealJtY = repairExistingSuspectedJly + 120; + repairExistingHealJt.setBounds(repairExistingDiagnosedJlx + 350, repairExistingHealJtY, 300, 120); + + /** + * 疑似 + */ + repairExistingSuspectedJt = new JTextField(); + setTextFiledColor(repairExistingSuspectedJt); + int repairExistingSuspectedJtY = repairExistingSuspectedJly + 120; + repairExistingSuspectedJt.setBounds(repairExistingDiagnosedJlx + 700, repairExistingSuspectedJtY, 300, 120); + +/** + * 营销服务 - 新增 + */ + JLabel marketingAddition = new JLabel("营销服务-新增"); + marketingAddition.setFont(new Font("微软雅黑", Font.BOLD, 50)); + marketingAddition.setForeground(new Color(11, 24, 76)); + int marketingAdditionJlx = 30; + int marketingAdditionJly = repairExistingSuspectedJtY + 120; + marketingAddition.setBounds(marketingAdditionJlx, marketingAdditionJly, 800, 100); + + /** + * 确诊 + */ + JLabel marketingAddDiagnosedLabel = new JLabel("确诊"); + marketingAddDiagnosedLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + marketingAddDiagnosedLabel.setForeground(new Color(11, 24, 76)); + int marketingAddDiagnosedJlx = 30; + int marketingAddDiagnosedJly = marketingAdditionJly + 120; + marketingAddDiagnosedLabel.setBounds(marketingAddDiagnosedJlx, marketingAddDiagnosedJly, 800, 100); + /** + * 治愈 + */ + JLabel marketingAddHealLabel = new JLabel("治愈"); + marketingAddHealLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + marketingAddHealLabel.setForeground(new Color(11, 24, 76)); + int marketingAddHealJlx = marketingAddDiagnosedJlx + 350; + int marketingAddHealJly = marketingAdditionJly + 120; + marketingAddHealLabel.setBounds(marketingAddHealJlx, marketingAddHealJly, 800, 100); + + /** + * 疑似 + */ + JLabel marketingAddSuspectedLabel = new JLabel("疑似"); + marketingAddSuspectedLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + marketingAddSuspectedLabel.setForeground(new Color(11, 24, 76)); + int marketingAddSuspectedJlx = marketingAddHealJlx + 350; + int marketingAddSuspectedJly = marketingAdditionJly + 120; + marketingAddSuspectedLabel.setBounds(marketingAddSuspectedJlx, marketingAddSuspectedJly, 800, 100); + + /** + * 确诊 + */ + marketingAddDiagnosedJt = new JTextField(); + setTextFiledColor(marketingAddDiagnosedJt); + int marketingAddDiagnosedJtY = marketingAddSuspectedJly + 120; + marketingAddDiagnosedJt.setBounds(marketingAdditionJlx, marketingAddDiagnosedJtY, 300, 120); + + /** + * 治愈 + */ + marketingAddHealJt = new JTextField(); + setTextFiledColor(marketingAddHealJt); + int marketingAddHealJtY = marketingAddSuspectedJly + 120; + marketingAddHealJt.setBounds(marketingAdditionJlx + 350, marketingAddHealJtY, 300, 120); + + /** + * 疑似 + */ + marketingAddSuspectedJt = new JTextField(); + setTextFiledColor(marketingAddSuspectedJt); + int marketingAddSuspectedJtY = marketingAddSuspectedJly + 120; + marketingAddSuspectedJt.setBounds(marketingAdditionJlx + 700,marketingAddSuspectedJtY, 300, 120); + + /** + * 营销服务 - 现有 + */ + JLabel marketingExisting = new JLabel("营销服务-现有"); + marketingExisting.setFont(new Font("微软雅黑", Font.BOLD, 50)); + marketingExisting.setForeground(new Color(11, 24, 76)); + int marketingExistingJlx = 30; + int marketingExistingJly = marketingAddSuspectedJtY + 120; + marketingExisting.setBounds(marketingExistingJlx, marketingExistingJly, 800, 100); + + /** + * 确诊 + */ + JLabel marketingExistingDiagnosedLabel = new JLabel("确诊"); + marketingExistingDiagnosedLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + marketingExistingDiagnosedLabel.setForeground(new Color(11, 24, 76)); + int marketingExistingDiagnosedJlx = 30; + int marketingExistingDiagnosedJly = marketingExistingJly + 120; + marketingExistingDiagnosedLabel.setBounds(marketingExistingDiagnosedJlx, marketingExistingDiagnosedJly, 800, 100); + /** + * 治愈 + */ + JLabel marketingExistingHealLabel = new JLabel("治愈"); + marketingExistingHealLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + marketingExistingHealLabel.setForeground(new Color(11, 24, 76)); + int marketingExistingHealJlx = marketingExistingDiagnosedJlx + 350; + int marketingExistingHealJly = marketingExistingJly + 120; + marketingExistingHealLabel.setBounds(marketingExistingHealJlx, marketingExistingHealJly, 800, 100); + + /** + * 疑似 + */ + JLabel marketingExistingSuspectedLabel = new JLabel("疑似"); + marketingExistingSuspectedLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + marketingExistingSuspectedLabel.setForeground(new Color(11, 24, 76)); + int marketingExistingSuspectedJlx = marketingExistingHealJlx + 350; + int marketingExistingSuspectedJly = marketingExistingJly + 120; + marketingExistingSuspectedLabel.setBounds(marketingExistingSuspectedJlx, marketingExistingSuspectedJly, 800, 100); + + /** + * 确诊 + */ + marketingExistingDiagnosedJt = new JTextField(); + setTextFiledColor(marketingExistingDiagnosedJt); + int marketingExistingDiagnosedJtY = marketingExistingSuspectedJly + 120; + marketingExistingDiagnosedJt.setBounds(marketingExistingDiagnosedJlx, marketingExistingDiagnosedJtY, 300, 120); + + /** + * 治愈 + */ + marketingExistingHealJt = new JTextField(); + setTextFiledColor(marketingExistingHealJt); + int marketingExistingHealJtY = marketingExistingSuspectedJly + 120; + marketingExistingHealJt.setBounds(marketingExistingDiagnosedJlx + 350, marketingExistingHealJtY, 300, 120); + + /** + * 疑似 + */ + marketingExistingSuspectedJt = new JTextField(); + setTextFiledColor(marketingExistingSuspectedJt); + int marketingExistingSuspectedJtY = marketingExistingSuspectedJly + 120; + marketingExistingSuspectedJt.setBounds(marketingExistingDiagnosedJlx + 700, marketingExistingSuspectedJtY, 300, 120); + + /** + * 电网建设 - 新增 + */ + JLabel constructionAddition = new JLabel("电网建设-新增"); + constructionAddition.setFont(new Font("微软雅黑", Font.BOLD, 50)); + constructionAddition.setForeground(new Color(11, 24, 76)); + int constructionAdditionJlx = 30; + int constructionAdditionJly = marketingExistingSuspectedJtY + 120; + constructionAddition.setBounds(constructionAdditionJlx, constructionAdditionJly, 800, 100); + + /** + * 确诊 + */ + JLabel constructionAddDiagnosedLabel = new JLabel("确诊"); + constructionAddDiagnosedLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + constructionAddDiagnosedLabel.setForeground(new Color(11, 24, 76)); + int constructionAddDiagnosedJlx = 30; + int constructionAddDiagnosedJly = constructionAdditionJly + 120; + constructionAddDiagnosedLabel.setBounds(constructionAddDiagnosedJlx, constructionAddDiagnosedJly, 800, 100); + /** + * 治愈 + */ + JLabel constructionAddHealLabel = new JLabel("治愈"); + constructionAddHealLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + constructionAddHealLabel.setForeground(new Color(11, 24, 76)); + int constructionAddHealJlx = constructionAddDiagnosedJlx + 350; + int constructionAddHealJly = constructionAdditionJly + 120; + constructionAddHealLabel.setBounds(constructionAddHealJlx, constructionAddHealJly, 800, 100); + + /** + * 疑似 + */ + JLabel constructionAddSuspectedLabel = new JLabel("疑似"); + constructionAddSuspectedLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + constructionAddSuspectedLabel.setForeground(new Color(11, 24, 76)); + int constructionAddSuspectedJlx = constructionAddHealJlx + 350; + int constructionAddSuspectedJly = constructionAdditionJly + 120; + constructionAddSuspectedLabel.setBounds(constructionAddSuspectedJlx, constructionAddSuspectedJly, 800, 100); + + /** + * 确诊 + */ + constructionAddDiagnosedJt = new JTextField(); + setTextFiledColor(constructionAddDiagnosedJt); + int constructionAddDiagnosedJtY = constructionAddSuspectedJly + 120; + constructionAddDiagnosedJt.setBounds(constructionAdditionJlx, constructionAddDiagnosedJtY, 300, 120); + + /** + * 治愈 + */ + constructionAddHealJt = new JTextField(); + setTextFiledColor(constructionAddHealJt); + int constructionAddHealJtY = constructionAddSuspectedJly + 120; + constructionAddHealJt.setBounds(constructionAdditionJlx + 350, constructionAddHealJtY, 300, 120); + + /** + * 疑似 + */ + constructionAddSuspectedJt = new JTextField(); + setTextFiledColor(constructionAddSuspectedJt); + int constructionAddSuspectedJtY = constructionAddSuspectedJly + 120; + constructionAddSuspectedJt.setBounds(constructionAdditionJlx + 700,constructionAddSuspectedJtY, 300, 120); + + /** + * 电网建设 - 现有 + */ + JLabel constructionExisting = new JLabel("电网建设-现有"); + constructionExisting.setFont(new Font("微软雅黑", Font.BOLD, 50)); + constructionExisting.setForeground(new Color(11, 24, 76)); + int constructionExistingJlx = 30; + int constructionExistingJly = constructionAddSuspectedJtY + 120; + constructionExisting.setBounds(constructionExistingJlx, constructionExistingJly, 800, 100); + + /** + * 确诊 + */ + JLabel constructionExistingDiagnosedLabel = new JLabel("确诊"); + constructionExistingDiagnosedLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + constructionExistingDiagnosedLabel.setForeground(new Color(11, 24, 76)); + int constructionExistingDiagnosedJlx = 30; + int constructionExistingDiagnosedJly = constructionExistingJly + 120; + constructionExistingDiagnosedLabel.setBounds(constructionExistingDiagnosedJlx, constructionExistingDiagnosedJly, 800, 100); + /** + * 治愈 + */ + JLabel constructionExistingHealLabel = new JLabel("治愈"); + constructionExistingHealLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + constructionExistingHealLabel.setForeground(new Color(11, 24, 76)); + int constructionExistingHealJlx = constructionExistingDiagnosedJlx + 350; + int constructionExistingHealJly = constructionExistingJly + 120; + constructionExistingHealLabel.setBounds(constructionExistingHealJlx, constructionExistingHealJly, 800, 100); + + /** + * 疑似 + */ + JLabel constructionExistingSuspectedLabel = new JLabel("疑似"); + constructionExistingSuspectedLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + constructionExistingSuspectedLabel.setForeground(new Color(11, 24, 76)); + int constructionExistingSuspectedJlx = constructionExistingHealJlx + 350; + int constructionExistingSuspectedJly = constructionExistingJly + 120; + constructionExistingSuspectedLabel.setBounds(constructionExistingSuspectedJlx, constructionExistingSuspectedJly, 800, 100); + + /** + * 确诊 + */ + constructionExistingDiagnosedJt = new JTextField(); + setTextFiledColor(constructionExistingDiagnosedJt); + int constructionExistingDiagnosedJtY = constructionExistingSuspectedJly + 120; + constructionExistingDiagnosedJt.setBounds(constructionExistingDiagnosedJlx, constructionExistingDiagnosedJtY, 300, 120); + + /** + * 治愈 + */ + constructionExistingHealJt = new JTextField(); + setTextFiledColor(constructionExistingHealJt); + int constructionExistingHealJtY = constructionExistingSuspectedJly + 120; + constructionExistingHealJt.setBounds(constructionExistingDiagnosedJlx + 350, constructionExistingHealJtY, 300, 120); + + /** + * 疑似 + */ + constructionExistingSuspectedJt = new JTextField(); + setTextFiledColor(constructionExistingSuspectedJt); + int constructionExistingSuspectedJtY = constructionExistingSuspectedJly + 120; + constructionExistingSuspectedJt.setBounds(constructionExistingDiagnosedJlx + 700, constructionExistingSuspectedJtY, 300, 120); + + + /** + * 附件四-疫情防控供电保障情况统计表 + */ + JLabel annexFourLabel = new JLabel("附件四-疫情防控供电保障情况统计表"); + annexFourLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + annexFourLabel.setForeground(new Color(11, 24, 76)); + int annexFourJlx = 30; + int annexFourJly = constructionExistingSuspectedJtY + 120; + annexFourLabel.setBounds(annexFourJlx, annexFourJly, 1000, 100); + + /** + * 定点医院 + */ + JLabel designatedHospitalsLabel = new JLabel("定点医院"); + designatedHospitalsLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + designatedHospitalsLabel.setForeground(new Color(11, 24, 76)); + int designatedHospitalsJlx = 30; + int designatedHospitalsJly = annexFourJly + 120; + designatedHospitalsLabel.setBounds(designatedHospitalsJlx, designatedHospitalsJly, 800, 100); + /** + * 发热门诊 + */ + JLabel feverClinicLabel = new JLabel("发热门诊"); + feverClinicLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + feverClinicLabel.setForeground(new Color(11, 24, 76)); + int feverClinicJlx = designatedHospitalsJlx + 350; + int feverClinicJly = annexFourJly + 120; + feverClinicLabel.setBounds(feverClinicJlx, feverClinicJly, 800, 100); + + /** + * 防疫用品企业 + */ + JLabel epidemicEnterpriseLabel = new JLabel("防疫用品企业"); + epidemicEnterpriseLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + epidemicEnterpriseLabel.setForeground(new Color(11, 24, 76)); + int epidemicEnterpriseJlx = feverClinicJlx + 350; + int epidemicEnterpriseJly = annexFourJly + 120; + epidemicEnterpriseLabel.setBounds(epidemicEnterpriseJlx, epidemicEnterpriseJly, 800, 100); + + + /** + * 定点医院输入框 + */ + designatedHospitalsJt = new JTextField(); + setTextFiledColor(designatedHospitalsJt); + int designatedHospitalsJtY = designatedHospitalsJly + 120; + designatedHospitalsJt.setBounds(designatedHospitalsJlx, designatedHospitalsJtY, 300, 120); + + /** + * 发热门诊输入框 + */ + feverClinicJt = new JTextField(); + setTextFiledColor(feverClinicJt); + int feverClinicJtY = designatedHospitalsJly + 120; + feverClinicJt.setBounds(verificationPersonNumJlx + 350, feverClinicJtY, 300, 120); + + /** + * 防疫用品企业输入框 + */ + epidemicEnterpriseJt = new JTextField(); + setTextFiledColor(epidemicEnterpriseJt); + int epidemicEnterpriseJtY = designatedHospitalsJly + 120; + epidemicEnterpriseJt.setBounds(verificationPersonNumJlx + 700, epidemicEnterpriseJtY, 300, 120); + + /** + * 其他重要用户 + */ + JLabel otherImportantUsersLabel = new JLabel("其他重要用户"); + otherImportantUsersLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + otherImportantUsersLabel.setForeground(new Color(11, 24, 76)); + int otherImportantUsersJlx = 30; + int otherImportantUsersJly = epidemicEnterpriseJtY + 120; + otherImportantUsersLabel.setBounds(otherImportantUsersJlx, otherImportantUsersJly, 800, 100); + /** + * 客户用电保障人员 + */ + JLabel customerPowerPersonnelLabel = new JLabel("客户用电保障人员"); + customerPowerPersonnelLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + customerPowerPersonnelLabel.setForeground(new Color(11, 24, 76)); + int customerPowerPersonnelJlx = otherImportantUsersJlx + 350; + int customerPowerPersonnelJly = epidemicEnterpriseJtY + 120; + customerPowerPersonnelLabel.setBounds(customerPowerPersonnelJlx, customerPowerPersonnelJly, 800, 100); + + /** + * 电网运维保障人员 + */ + JLabel powerDevopsPersonnelLabel = new JLabel("电网运维保障人员"); + powerDevopsPersonnelLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerDevopsPersonnelLabel.setForeground(new Color(11, 24, 76)); + int powerDevopsPersonnelJlx = customerPowerPersonnelJlx + 450; + int powerDevopsPersonnelJly = epidemicEnterpriseJtY + 120; + powerDevopsPersonnelLabel.setBounds(powerDevopsPersonnelJlx, powerDevopsPersonnelJly, 800, 100); + + + /** + * 其他重要用户输入框 + */ + otherImportantUsersJt = new JTextField(); + setTextFiledColor(otherImportantUsersJt); + int otherImportantUsersJtY = otherImportantUsersJly + 120; + otherImportantUsersJt.setBounds(otherImportantUsersJlx, otherImportantUsersJtY, 300, 120); + + /** + * 客户用电保障人员输入框 + */ + customerPowerPersonnelJt = new JTextField(); + setTextFiledColor(customerPowerPersonnelJt); + int customerPowerPersonnelJtY = otherImportantUsersJly + 120; + customerPowerPersonnelJt.setBounds(verificationPersonNumJlx + 350, customerPowerPersonnelJtY, 300, 120); + + /** + * 电网运维保障人员输入框 + */ + powerDevopsPersonnelJt = new JTextField(); + setTextFiledColor(powerDevopsPersonnelJt); + int powerDevopsPersonnelJtY = otherImportantUsersJly + 120; + powerDevopsPersonnelJt.setBounds(verificationPersonNumJlx + 800, powerDevopsPersonnelJtY, 300, 120); + + /** + * 保电车辆 + */ + JLabel electricallyVehiclesLabel = new JLabel("保电车辆"); + electricallyVehiclesLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + electricallyVehiclesLabel.setForeground(new Color(11, 24, 76)); + int electricallyVehiclesJlx = 30; + int electricallyVehiclesJly = powerDevopsPersonnelJtY + 120; + electricallyVehiclesLabel.setBounds(electricallyVehiclesJlx, electricallyVehiclesJly, 800, 100); + /** + * 应急发电车 + */ + JLabel emergencyPowerVehiclesLabel = new JLabel("应急发电车"); + emergencyPowerVehiclesLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + emergencyPowerVehiclesLabel.setForeground(new Color(11, 24, 76)); + int emergencyPowerVehiclesJlx = electricallyVehiclesJlx + 350; + int emergencyPowerVehiclesJly = powerDevopsPersonnelJtY + 120; + emergencyPowerVehiclesLabel.setBounds(emergencyPowerVehiclesJlx, emergencyPowerVehiclesJly, 800, 100); + + /** + * 应急发电机 + */ + JLabel emergencyGeneratorLabel = new JLabel("应急发电机"); + emergencyGeneratorLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + emergencyGeneratorLabel.setForeground(new Color(11, 24, 76)); + int emergencyGeneratorJlx = emergencyPowerVehiclesJlx + 350; + int emergencyGeneratorJly = powerDevopsPersonnelJtY + 120; + emergencyGeneratorLabel.setBounds(emergencyGeneratorJlx, emergencyGeneratorJly, 800, 100); + + + /** + * 保电车辆输入框 + */ + electricallyVehiclesJt = new JTextField(); + setTextFiledColor(electricallyVehiclesJt); + int electricallyVehiclesJtY = electricallyVehiclesJly + 120; + electricallyVehiclesJt.setBounds(electricallyVehiclesJlx, electricallyVehiclesJtY, 300, 120); + + /** + * 应急发电车输入框 + */ + emergencyPowerVehiclesJt = new JTextField(); + setTextFiledColor(emergencyPowerVehiclesJt); + int emergencyPowerVehiclesJtY = electricallyVehiclesJly + 120; + emergencyPowerVehiclesJt.setBounds(verificationPersonNumJlx + 350, emergencyPowerVehiclesJtY, 300, 120); + + /** + * 应急发电机输入框 + */ + emergencyGeneratorJt = new JTextField(); + setTextFiledColor(emergencyGeneratorJt); + int emergencyGeneratorJtY = electricallyVehiclesJly + 120; + emergencyGeneratorJt.setBounds(verificationPersonNumJlx + 700, emergencyGeneratorJtY, 300, 120); + + /** + * 附表五 入境筛查和集中观察场所供电保障情况表 + */ + JLabel annexFiveLabel = new JLabel("附表五-入境筛查和集中观察场所供电保障情况表"); + annexFiveLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + annexFiveLabel.setForeground(new Color(11, 24, 76)); + int annexFiveJlx = 30; + int annexFiveJly = emergencyGeneratorJtY + 120; + annexFiveLabel.setBounds(annexFiveJlx, annexFiveJly, 1000, 100); + + /** + * 入境筛查和集中观察场所数量-机场/港口 + */ + JLabel airportPortLabel = new JLabel("机场/港口"); + airportPortLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + airportPortLabel.setForeground(new Color(11, 24, 76)); + int airportPortJlx = 30; + int airportPortJly = annexFiveJly + 120; + airportPortLabel.setBounds(airportPortJlx, airportPortJly, 800, 100); + + /** + * 入境筛查和集中观察场所数量-场馆/医院 + */ + JLabel venueHospitalLabel = new JLabel("场馆/医院"); + venueHospitalLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + venueHospitalLabel.setForeground(new Color(11, 24, 76)); + int venueHospitalJlx = airportPortJlx + 350; + int venueHospitalJly = annexFiveJly + 120; + venueHospitalLabel.setBounds(venueHospitalJlx, venueHospitalJly, 800, 100); + + /** + * 入境筛查和集中观察场所数量-宾馆酒店 + */ + JLabel guesthouseHotelLabel = new JLabel("宾馆酒店"); + guesthouseHotelLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + guesthouseHotelLabel.setForeground(new Color(11, 24, 76)); + int guesthouseHotelJlx = venueHospitalJlx + 300; + int guesthouseHotelJly = annexFiveJly + 120; + guesthouseHotelLabel.setBounds(guesthouseHotelJlx, guesthouseHotelJly, 800, 100); + + /** + * 入境筛查和集中观察场所数量-保障人员 + */ + JLabel safeguardPersonnelLabel = new JLabel("保障人员"); + safeguardPersonnelLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + safeguardPersonnelLabel.setForeground(new Color(11, 24, 76)); + int safeguardPersonnelJlx = guesthouseHotelJlx + 350; + int safeguardPersonnelJly = annexFiveJly + 120; + safeguardPersonnelLabel.setBounds(safeguardPersonnelJlx, safeguardPersonnelJly, 800, 100); + + /** + * 入境筛查和集中观察场所数量-机场/港口 + */ + airportPortJt = new JTextField(); + setTextFiledColor(airportPortJt); + int airportPortJtY = safeguardPersonnelJly + 120; + airportPortJt.setBounds(airportPortJlx, airportPortJtY, 260, 120); + + /** + * 入境筛查和集中观察场所数量-场馆/医院 + */ + venueHospitalJt = new JTextField(); + setTextFiledColor(venueHospitalJt); + int venueHospitalJtY = safeguardPersonnelJly + 120; + venueHospitalJt.setBounds(airportPortJlx + 350, venueHospitalJtY, 260, 120); + + /** + * 入境筛查和集中观察场所数量-场馆/医院 + */ + guesthouseHotelJt = new JTextField(); + setTextFiledColor(guesthouseHotelJt); + int guesthouseHotelJtY = safeguardPersonnelJly + 120; + guesthouseHotelJt.setBounds(airportPortJlx + 650, guesthouseHotelJtY, 260, 120); + + /** + * 入境筛查和集中观察场所数量-保障人员 + */ + safeguardPersonnelJt = new JTextField(); + setTextFiledColor(safeguardPersonnelJt); + int safeguardPersonnelJtY = safeguardPersonnelJly + 120; + safeguardPersonnelJt.setBounds(airportPortJlx + 1000, safeguardPersonnelJtY, 260, 120); + + + + /** + * 投入力量-保电车辆 + */ + JLabel electricallyGuaranteedVehiclesLabel = new JLabel("保电车辆"); + electricallyGuaranteedVehiclesLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + electricallyGuaranteedVehiclesLabel.setForeground(new Color(11, 24, 76)); + int electricallyGuaranteedVehiclesJlx = 30; + int electricallyGuaranteedVehiclesJly = safeguardPersonnelJtY + 120; + electricallyGuaranteedVehiclesLabel.setBounds(electricallyGuaranteedVehiclesJlx, electricallyGuaranteedVehiclesJly, 800, 100); + + /** + * 投入力量-发电车 + */ + JLabel powerGenerationVehiclesLabel = new JLabel("发电车"); + powerGenerationVehiclesLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerGenerationVehiclesLabel.setForeground(new Color(11, 24, 76)); + int powerGenerationVehiclesJlx = electricallyGuaranteedVehiclesJlx + 350; + int powerGenerationVehiclesJly = safeguardPersonnelJtY + 120; + powerGenerationVehiclesLabel.setBounds(powerGenerationVehiclesJlx, powerGenerationVehiclesJly, 800, 100); + + /** + * 投入力量-发电机 + */ + JLabel dynamoLabel = new JLabel("发电机"); + dynamoLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + dynamoLabel.setForeground(new Color(11, 24, 76)); + int dynamoJlx = powerGenerationVehiclesJlx + 300; + int dynamoJly = safeguardPersonnelJtY + 120; + dynamoLabel.setBounds(dynamoJlx, dynamoJly, 800, 100); + + + /** + * 投入力量-保电车辆 + */ + electricallyGuaranteedVehiclesJt = new JTextField(); + setTextFiledColor(electricallyGuaranteedVehiclesJt); + int electricallyGuaranteedVehiclesJtY = dynamoJly + 120; + electricallyGuaranteedVehiclesJt.setBounds(airportPortJlx, electricallyGuaranteedVehiclesJtY, 260, 120); + + /** + * 投入力量-发电车 + */ + powerGenerationVehiclesJt = new JTextField(); + setTextFiledColor(powerGenerationVehiclesJt); + int powerGenerationVehiclesJtY = dynamoJly + 120; + powerGenerationVehiclesJt.setBounds(airportPortJlx + 350, powerGenerationVehiclesJtY, 260, 120); + + /** + * 投入力量-发电机 + */ + dynamoJt = new JTextField(); + setTextFiledColor(dynamoJt); + int dynamoJtY = dynamoJly + 120; + dynamoJt.setBounds(airportPortJlx + 650, dynamoJtY, 260, 120); + + JLabel fiveRemarkLabel = new JLabel("备注"); + fiveRemarkLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + fiveRemarkLabel.setForeground(new Color(11, 24, 76)); + int fiveRemarkJlx = 30; + int fiveRemarkJly = dynamoJtY + 120; + fiveRemarkLabel.setBounds(fiveRemarkJlx, fiveRemarkJly, 800, 100); + /** + * 备注 + */ + fiveRemarkJt = new JTextField(); + setTextFiledColor(fiveRemarkJt); + int fiveRemarkJtY = fiveRemarkJly + 120; + fiveRemarkJt.setBounds(30, fiveRemarkJtY, 1310, 120); + + /** + * 附件六-预警及应急响应情况跟踪表 + */ + JLabel annexSixLabel = new JLabel("附件六-预警及应急响应情况跟踪表"); + annexSixLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + annexSixLabel.setForeground(new Color(11, 24, 76)); + int annexSixJlx = 30; + int annexSixJly = fiveRemarkJtY + 120; + annexSixLabel.setBounds(annexSixJlx, annexSixJly, 1000, 100); + + /** + * 领导及指挥人员 + */ + JLabel leadersCommandStaffLabel = new JLabel("领导及指挥人员"); + leadersCommandStaffLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + leadersCommandStaffLabel.setForeground(new Color(11, 24, 76)); + int leadersCommandStaffJlx = 30; + int leadersCommandStaffJly = annexSixJly + 120; + leadersCommandStaffLabel.setBounds(leadersCommandStaffJlx, leadersCommandStaffJly, 800, 100); + /** + * 领导及指挥人员 + */ + leadersCommandStaffJt = new JTextField(); + setTextFiledColor(leadersCommandStaffJt); + int leadersCommandStaffJtY = leadersCommandStaffJly + 120; + leadersCommandStaffJt.setBounds(leadersCommandStaffJlx, leadersCommandStaffJtY, 1310, 120); + if(StringHelper.isEmptyAndNull(leadersCommandStaffJt.getText())) { + leadersCommandStaffJt.addFocusListener(new MyFocusListener("请输入领导及指挥人员", leadersCommandStaffJt)); + } + + /** + * 投入力量-人员 + */ + JLabel inputAmountPersonLabel = new JLabel("人员数量"); + inputAmountPersonLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + inputAmountPersonLabel.setForeground(new Color(11, 24, 76)); + int inputAmountPersonJlx = 30; + int inputAmountPersonJly = leadersCommandStaffJtY + 120; + inputAmountPersonLabel.setBounds(inputAmountPersonJlx, inputAmountPersonJly, 800, 100); + /** + * 投入力量-车辆 + */ + JLabel inputAmountVehicleLabel = new JLabel("车辆数量"); + inputAmountVehicleLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + inputAmountVehicleLabel.setForeground(new Color(11, 24, 76)); + int inputAmountVehicleJlx = inputAmountPersonJlx + 350; + int inputAmountVehicleJly = leadersCommandStaffJtY + 120; + inputAmountVehicleLabel.setBounds(inputAmountVehicleJlx, inputAmountVehicleJly, 800, 100); + + /** + * 投入力量-发电车 + */ + JLabel inputAmountPowerVehicleLabel = new JLabel("发电车数量"); + inputAmountPowerVehicleLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + inputAmountPowerVehicleLabel.setForeground(new Color(11, 24, 76)); + int inputAmountPowerVehicleJlx = inputAmountVehicleJlx + 300; + int inputAmountPowerVehicleJly = leadersCommandStaffJtY + 120; + inputAmountPowerVehicleLabel.setBounds(inputAmountPowerVehicleJlx, inputAmountPowerVehicleJly, 800, 100); + + /** + * 投入力量-发电机 + */ + JLabel inputAmountDynamoLabel = new JLabel("发电车数量"); + inputAmountDynamoLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + inputAmountDynamoLabel.setForeground(new Color(11, 24, 76)); + int inputAmountDynamoJlx = inputAmountPowerVehicleJlx + 350; + int inputAmountDynamoJly = leadersCommandStaffJtY + 120; + inputAmountDynamoLabel.setBounds(inputAmountDynamoJlx, inputAmountDynamoJly, 800, 100); + + /** + * 投入力量-人员输入框 + */ + inputAmountPersonJt = new JTextField(); + setTextFiledColor(inputAmountPersonJt); + int inputAmountPersonJtY = inputAmountPersonJly + 120; + inputAmountPersonJt.setBounds(inputAmountPersonJlx, inputAmountPersonJtY, 260, 120); + + /** + * 投入力量-车辆输入框 + */ + inputAmountVehicleJt = new JTextField(); + setTextFiledColor(inputAmountVehicleJt); + int inputAmountVehicleJtY = inputAmountPersonJly + 120; + inputAmountVehicleJt.setBounds(inputAmountPersonJlx + 350, inputAmountVehicleJtY, 260, 120); + + /** + * 投入力量-发电车输入框 + */ + inputAmountPowerVehicleJt = new JTextField(); + setTextFiledColor(inputAmountPowerVehicleJt); + int inputAmountPowerVehicleJtY = inputAmountPersonJly + 120; + inputAmountPowerVehicleJt.setBounds(inputAmountPersonJlx + 650, inputAmountPowerVehicleJtY, 260, 120); + + /** + * 投入力量-发电机输入框 + */ + inputAmountDynamoJt = new JTextField(); + setTextFiledColor(inputAmountDynamoJt); + int inputAmountDynamoJtY = inputAmountPersonJly + 120; + inputAmountDynamoJt.setBounds(inputAmountPersonJlx + 1000, inputAmountDynamoJtY, 260, 120); + + /** + * 投入备注 + */ + JLabel inputAmountRemarkLabel = new JLabel("备注"); + inputAmountRemarkLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + inputAmountRemarkLabel.setForeground(new Color(11, 24, 76)); + int inputAmountRemarkJlx = 30; + int inputAmountRemarkJly = inputAmountDynamoJtY + 120; + inputAmountRemarkLabel.setBounds(inputAmountRemarkJlx, inputAmountRemarkJly, 800, 100); + /** + * 投入备注 + */ + inputAmountRemarkJt = new JTextField(); + setTextFiledColor(inputAmountRemarkJt); + int inputAmountRemarkJtY = inputAmountRemarkJly + 120; + inputAmountRemarkJt.setBounds(30, inputAmountRemarkJtY, 1310, 120); + if(StringHelper.isEmptyAndNull(inputAmountRemarkJt.getText())) { + inputAmountRemarkJt.addFocusListener(new MyFocusListener("请输入投入备注", inputAmountRemarkJt)); + } + + + /** + * 附件七-变电站停运及恢复-新增情况 + */ + JLabel annexSevenLabel = new JLabel("附件七-变电站停运及恢复-新增情况"); + annexSevenLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + annexSevenLabel.setForeground(new Color(11, 24, 76)); + int annexSevenJlx = 30; + int annexSevenJly = inputAmountRemarkJtY + 150; + annexSevenLabel.setBounds(annexSevenJlx, annexSevenJly, 1000, 100); + + /** + * 因灾停运 + */ + JLabel suspensionOfDisasterLabel = new JLabel("因灾停运"); + suspensionOfDisasterLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + suspensionOfDisasterLabel.setForeground(new Color(11, 24, 76)); + int suspensionOfDisasterJlx = 30; + int suspensionOfDisasterJly = annexSevenJly + 120; + suspensionOfDisasterLabel.setBounds(suspensionOfDisasterJlx, suspensionOfDisasterJly, 800, 100); + + /** + * 因灾停运-特高压 + */ + JLabel uhvDisasterLabel = new JLabel("特高压"); + uhvDisasterLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + uhvDisasterLabel.setForeground(new Color(11, 24, 76)); + int uhvDisasterJlx = 30; + int uhvDisasterJly = suspensionOfDisasterJly + 120; + uhvDisasterLabel.setBounds(uhvDisasterJlx, uhvDisasterJly, 800, 100); + /** + * 因灾停运-500kv + */ + JLabel fiveKVDisasterLabel = new JLabel("500kV"); + fiveKVDisasterLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + fiveKVDisasterLabel.setForeground(new Color(11, 24, 76)); + int fiveKVDisasterJlx = uhvDisasterJlx + 280; + int fiveKVDisasterJly = suspensionOfDisasterJly + 120; + fiveKVDisasterLabel.setBounds(fiveKVDisasterJlx, fiveKVDisasterJly, 800, 100); + + /** + * 因灾停运-220/330kv + */ + JLabel twoKVDisasterLabel = new JLabel("220/330kV"); + twoKVDisasterLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + twoKVDisasterLabel.setForeground(new Color(11, 24, 76)); + int twoKVDisasterJlx = fiveKVDisasterJlx + 200; + int twoKVDisasterJly = suspensionOfDisasterJly + 120; + twoKVDisasterLabel.setBounds(twoKVDisasterJlx, twoKVDisasterJly, 800, 100); + + /** + * 因灾停运-110/66kv + */ + JLabel oneKVDisasterLabel = new JLabel("110/66kv"); + oneKVDisasterLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + oneKVDisasterLabel.setForeground(new Color(11, 24, 76)); + int oneKVDisasterJlx = twoKVDisasterJlx + 270; + int oneKVDisasterJly = suspensionOfDisasterJly + 120; + oneKVDisasterLabel.setBounds(oneKVDisasterJlx, oneKVDisasterJly, 800, 100); + + /** + * 因灾停运-35kv + */ + JLabel threeKVDisasterLabel = new JLabel("35kv"); + threeKVDisasterLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + threeKVDisasterLabel.setForeground(new Color(11, 24, 76)); + int threeKVDisasterJlx = oneKVDisasterJlx + 300; + int threeKVDisasterJly = suspensionOfDisasterJly + 120; + threeKVDisasterLabel.setBounds(threeKVDisasterJlx, threeKVDisasterJly, 800, 100); + + + /** + * 变电站停运及恢复-新增-因灾停运-特高压 + */ + + powerSubstationAddOutageUvhJt = new JTextField(); + setTextFiledColor(powerSubstationAddOutageUvhJt); + int powerSubstationAddOutageUvhJtY = threeKVDisasterJly + 120; + powerSubstationAddOutageUvhJt.setBounds(annexSevenJlx, powerSubstationAddOutageUvhJtY, 240, 120); + + /** + * 变电站停运及恢复-新增-因灾停运-500 + */ + powerSubstationAddOutageFiveJt = new JTextField(); + setTextFiledColor(powerSubstationAddOutageFiveJt); + int powerSubstationAddOutageFiveJtY = threeKVDisasterJly + 120; + powerSubstationAddOutageFiveJt.setBounds(annexSevenJlx + 250, powerSubstationAddOutageFiveJtY, 240, 120); + + /** + * 变电站停运及恢复-新增-因灾停运-300 + */ + powerSubstationAddOutageTwoJt = new JTextField(); + setTextFiledColor(powerSubstationAddOutageTwoJt); + int powerSubstationAddOutageTwoJtY = threeKVDisasterJly + 120; + powerSubstationAddOutageTwoJt.setBounds(annexSevenJlx + 500, powerSubstationAddOutageTwoJtY, 240, 120); + + /** + * 变电站停运及恢复-新增-因灾停运-110 + */ + powerSubstationAddOutageOneJt = new JTextField(); + setTextFiledColor(powerSubstationAddOutageOneJt); + int powerSubstationAddOutageOneJtY = threeKVDisasterJly + 120; + powerSubstationAddOutageOneJt.setBounds(annexSevenJlx + 750, powerSubstationAddOutageOneJtY, 240, 120); + + /** + * 变电站停运及恢复-新增-因灾停运-35 + */ + powerSubstationAddOutageThreeJt = new JTextField(); + setTextFiledColor(powerSubstationAddOutageThreeJt); + int powerSubstationAddOutageThreeJtY = threeKVDisasterJly + 120; + powerSubstationAddOutageThreeJt.setBounds(annexSevenJlx + 1000, powerSubstationAddOutageThreeJtY, 240, 120); + + /** + * 抢修恢复 + */ + JLabel emergencyRepairRecoveryLabel = new JLabel("抢修恢复"); + emergencyRepairRecoveryLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + emergencyRepairRecoveryLabel.setForeground(new Color(11, 24, 76)); + int emergencyRepairRecoveryJlx = 30; + int emergencyRepairRecoveryJly = powerSubstationAddOutageThreeJtY + 120; + emergencyRepairRecoveryLabel.setBounds(emergencyRepairRecoveryJlx, emergencyRepairRecoveryJly, 800, 100); + + /** + * 抢修恢复-特高压 + */ + JLabel powerSubstationAddRepairUvhLabel = new JLabel("特高压"); + powerSubstationAddRepairUvhLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerSubstationAddRepairUvhLabel.setForeground(new Color(11, 24, 76)); + int powerSubstationAddRepairUvhJlx = 30; + int powerSubstationAddRepairUvhJly = emergencyRepairRecoveryJly + 120; + powerSubstationAddRepairUvhLabel.setBounds(powerSubstationAddRepairUvhJlx, powerSubstationAddRepairUvhJly, 800, 100); + /** + * 抢修恢复-500kv + */ + + JLabel powerSubstationAddRepairFiveLabel = new JLabel("500kV"); + powerSubstationAddRepairFiveLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerSubstationAddRepairFiveLabel.setForeground(new Color(11, 24, 76)); + int powerSubstationAddRepairFiveJlx = powerSubstationAddRepairUvhJlx + 280; + int powerSubstationAddRepairFiveJly = emergencyRepairRecoveryJly + 120; + powerSubstationAddRepairFiveLabel.setBounds(powerSubstationAddRepairFiveJlx, powerSubstationAddRepairFiveJly, 800, 100); + /** + * 抢修恢复-220/330kv + */ + JLabel powerSubstationAddRepairTwoLabel = new JLabel("220/330kV"); + powerSubstationAddRepairTwoLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerSubstationAddRepairTwoLabel.setForeground(new Color(11, 24, 76)); + int powerSubstationAddRepairTwoJlx = powerSubstationAddRepairFiveJlx + 200; + int powerSubstationAddRepairTwoJly = emergencyRepairRecoveryJly + 120; + powerSubstationAddRepairTwoLabel.setBounds(powerSubstationAddRepairTwoJlx, powerSubstationAddRepairTwoJly, 800, 100); + + /** + * 抢修恢复-110/66kv + */ + JLabel powerSubstationAddRepairOneLabel = new JLabel("110/66kv"); + powerSubstationAddRepairOneLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerSubstationAddRepairOneLabel.setForeground(new Color(11, 24, 76)); + int powerSubstationAddRepairOneJlx = powerSubstationAddRepairTwoJlx + 270; + int powerSubstationAddRepairOneJly = emergencyRepairRecoveryJly + 120; + powerSubstationAddRepairOneLabel.setBounds(powerSubstationAddRepairOneJlx, powerSubstationAddRepairOneJly, 800, 100); + + /** + * 抢修恢复-35kv + */ + JLabel powerSubstationAddRepairThreeLabel = new JLabel("35kv"); + powerSubstationAddRepairThreeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerSubstationAddRepairThreeLabel.setForeground(new Color(11, 24, 76)); + int powerSubstationAddRepairThreeJlx = powerSubstationAddRepairOneJlx + 300; + int powerSubstationAddRepairThreeJly = emergencyRepairRecoveryJly + 120; + powerSubstationAddRepairThreeLabel.setBounds(powerSubstationAddRepairThreeJlx, powerSubstationAddRepairThreeJly, 800, 100); + + + /** + * 变电站停运及恢复-新增-抢修恢复-特高压 + */ + powerSubstationAddRepairOutageUvhJt = new JTextField(); + setTextFiledColor(powerSubstationAddRepairOutageUvhJt); + int powerSubstationRepairOutageUvhJtY = powerSubstationAddRepairThreeJly + 120; + powerSubstationAddRepairOutageUvhJt.setBounds(powerSubstationAddRepairUvhJlx, powerSubstationRepairOutageUvhJtY, 240, 120); + + /** + * 变电站停运及恢复-新增-抢修恢复-500 + */ + powerSubstationAddRepairOutageFiveJt = new JTextField(); + setTextFiledColor(powerSubstationAddRepairOutageFiveJt); + int powerSubstationRepairOutageFiveJtY = powerSubstationAddRepairThreeJly + 120; + powerSubstationAddRepairOutageFiveJt.setBounds(powerSubstationAddRepairUvhJlx + 250, powerSubstationRepairOutageFiveJtY, 240, 120); + + /** + * 变电站停运及恢复-新增-抢修恢复-300 + */ + powerSubstationAddRepairOutageTwoJt = new JTextField(); + setTextFiledColor(powerSubstationAddRepairOutageTwoJt); + int powerSubstationAddRepairOutageTwoJtY = powerSubstationAddRepairThreeJly + 120; + powerSubstationAddRepairOutageTwoJt.setBounds(powerSubstationAddRepairUvhJlx + 500, powerSubstationAddRepairOutageTwoJtY, 240, 120); + + /** + * 变电站停运及恢复-新增-抢修恢复-110 + */ + powerSubstationAddRepairOutageOneJt = new JTextField(); + setTextFiledColor(powerSubstationAddRepairOutageOneJt); + int powerSubstationAddRepairOutageOneJtY = powerSubstationAddRepairThreeJly + 120; + powerSubstationAddRepairOutageOneJt.setBounds(powerSubstationAddRepairUvhJlx + 750, powerSubstationAddRepairOutageOneJtY, 240, 120); + + /** + * 变电站停运及恢复-新增-抢修恢复-35 + */ + powerSubstationAddRepairOutageThreeJt = new JTextField(); + setTextFiledColor(powerSubstationAddRepairOutageThreeJt); + int powerSubstationAddRepairOutageThreeJtY = powerSubstationAddRepairThreeJly + 120; + powerSubstationAddRepairOutageThreeJt.setBounds(powerSubstationAddRepairUvhJlx + 1000, powerSubstationAddRepairOutageThreeJtY, 240, 120); + + /** + * 尚未恢复 + */ + JLabel emergencyNoRepairRecoveryLabel = new JLabel("尚未恢复"); + emergencyNoRepairRecoveryLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + emergencyNoRepairRecoveryLabel.setForeground(new Color(11, 24, 76)); + int emergencyNoRepairRecoveryJlx = 30; + int emergencyNoRepairRecoveryJly = powerSubstationAddRepairOutageThreeJtY + 120; + emergencyNoRepairRecoveryLabel.setBounds(emergencyNoRepairRecoveryJlx, emergencyNoRepairRecoveryJly, 800, 100); + + /** + * 抢修恢复-特高压 + */ + JLabel powerSubstationAddNoRepairUvhLabel = new JLabel("特高压"); + powerSubstationAddNoRepairUvhLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerSubstationAddNoRepairUvhLabel.setForeground(new Color(11, 24, 76)); + int powerSubstationAddNoRepairUvhJlx = 30; + int powerSubstationAddNoRepairUvhJly = emergencyNoRepairRecoveryJly + 120; + powerSubstationAddNoRepairUvhLabel.setBounds(powerSubstationAddNoRepairUvhJlx, powerSubstationAddNoRepairUvhJly, 800, 100); + /** + * 抢修恢复-500kv + */ + + JLabel powerSubstationAddNoRepairFiveLabel = new JLabel("500kV"); + powerSubstationAddNoRepairFiveLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerSubstationAddNoRepairFiveLabel.setForeground(new Color(11, 24, 76)); + int powerSubstationAddNoRepairFiveJlx = powerSubstationAddNoRepairUvhJlx + 280; + int powerSubstationAddNoRepairFiveJly = emergencyNoRepairRecoveryJly + 120; + powerSubstationAddNoRepairFiveLabel.setBounds(powerSubstationAddNoRepairFiveJlx, powerSubstationAddNoRepairFiveJly, 800, 100); + /** + * 抢修恢复-220/330kv + */ + JLabel powerSubstationAddNoRepairTwoLabel = new JLabel("220/330kV"); + powerSubstationAddNoRepairTwoLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerSubstationAddNoRepairTwoLabel.setForeground(new Color(11, 24, 76)); + int powerSubstationAddNoRepairTwoJlx = powerSubstationAddNoRepairFiveJlx + 200; + int powerSubstationAddNoRepairTwoJly = emergencyNoRepairRecoveryJly + 120; + powerSubstationAddNoRepairTwoLabel.setBounds(powerSubstationAddNoRepairTwoJlx, powerSubstationAddNoRepairTwoJly, 800, 100); + + /** + * 抢修恢复-110/66kv + */ + JLabel powerSubstationAddNoRepairOneLabel = new JLabel("110/66kv"); + powerSubstationAddNoRepairOneLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerSubstationAddNoRepairOneLabel.setForeground(new Color(11, 24, 76)); + int powerSubstationAddNoRepairOneJlx = powerSubstationAddNoRepairTwoJlx + 270; + int powerSubstationAddNoRepairOneJly = emergencyNoRepairRecoveryJly + 120; + powerSubstationAddNoRepairOneLabel.setBounds(powerSubstationAddNoRepairOneJlx, powerSubstationAddNoRepairOneJly, 800, 100); + + /** + * 抢修恢复-35kv + */ + JLabel powerSubstationAddNoRepairThreeLabel = new JLabel("35kv"); + powerSubstationAddNoRepairThreeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerSubstationAddNoRepairThreeLabel.setForeground(new Color(11, 24, 76)); + int powerSubstationAddNoRepairThreeJlx = powerSubstationAddNoRepairOneJlx + 300; + int powerSubstationAddNoRepairThreeJly = emergencyNoRepairRecoveryJly + 120; + powerSubstationAddNoRepairThreeLabel.setBounds(powerSubstationAddNoRepairThreeJlx, powerSubstationAddNoRepairThreeJly, 800, 100); + + + /** + * 变电站停运及恢复-新增-抢修恢复-特高压 + */ + powerSubstationAddNoRepairOutageUvhJt = new JTextField(); + setTextFiledColor(powerSubstationAddNoRepairOutageUvhJt); + int powerSubstationNoRepairOutageUvhJtY = powerSubstationAddNoRepairThreeJly + 120; + powerSubstationAddNoRepairOutageUvhJt.setBounds(powerSubstationAddNoRepairUvhJlx, powerSubstationNoRepairOutageUvhJtY, 240, 120); + + /** + * 变电站停运及恢复-新增-抢修恢复-500 + */ + powerSubstationAddNoRepairOutageFiveJt = new JTextField(); + setTextFiledColor(powerSubstationAddNoRepairOutageFiveJt); + int powerSubstationNoRepairOutageFiveJtY = powerSubstationAddNoRepairThreeJly + 120; + powerSubstationAddNoRepairOutageFiveJt.setBounds(powerSubstationAddNoRepairUvhJlx + 250, powerSubstationNoRepairOutageFiveJtY, 240, 120); + + /** + * 变电站停运及恢复-新增-抢修恢复-300 + */ + powerSubstationAddNoRepairOutageTwoJt = new JTextField(); + setTextFiledColor(powerSubstationAddNoRepairOutageTwoJt); + int powerSubstationAddNoRepairOutageTwoJtY = powerSubstationAddNoRepairThreeJly + 120; + powerSubstationAddNoRepairOutageTwoJt.setBounds(powerSubstationAddNoRepairUvhJlx + 500, powerSubstationAddNoRepairOutageTwoJtY, 240, 120); + + /** + * 变电站停运及恢复-新增-抢修恢复-110 + */ + powerSubstationAddNoRepairOutageOneJt = new JTextField(); + setTextFiledColor(powerSubstationAddNoRepairOutageOneJt); + int powerSubstationAddNoRepairOutageOneJtY = powerSubstationAddNoRepairThreeJly + 120; + powerSubstationAddNoRepairOutageOneJt.setBounds(powerSubstationAddNoRepairUvhJlx + 750, powerSubstationAddNoRepairOutageOneJtY, 240, 120); + + /** + * 变电站停运及恢复-新增-抢修恢复-35 + */ + powerSubstationAddNoRepairOutageThreeJt = new JTextField(); + setTextFiledColor(powerSubstationAddNoRepairOutageThreeJt); + int powerSubstationAddNoRepairOutageThreeJtY = powerSubstationAddNoRepairThreeJly + 120; + powerSubstationAddNoRepairOutageThreeJt.setBounds(powerSubstationAddNoRepairUvhJlx + 1000, powerSubstationAddNoRepairOutageThreeJtY, 240, 120); + + + /** + * 附件七-变电站停运及恢复-累计情况 + */ + JLabel annexSevenCumulativeLabel = new JLabel("附件七-变电站停运及恢复-累计情况"); + annexSevenCumulativeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + annexSevenCumulativeLabel.setForeground(new Color(11, 24, 76)); + int annexSevenCumulativeJlx = 30; + int annexSevenCumulativeJly = powerSubstationAddNoRepairOutageThreeJtY + 150; + annexSevenCumulativeLabel.setBounds(annexSevenCumulativeJlx, annexSevenCumulativeJly, 1000, 100); + + /** + * 因灾停运 + */ + JLabel suspensionOfDisasterCumulativeLabel = new JLabel("因灾停运"); + suspensionOfDisasterCumulativeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + suspensionOfDisasterCumulativeLabel.setForeground(new Color(11, 24, 76)); + int suspensionOfDisasterCumulativeJlx = 30; + int suspensionOfDisasterCumulativeJly = annexSevenCumulativeJly + 120; + suspensionOfDisasterCumulativeLabel.setBounds(suspensionOfDisasterCumulativeJlx, suspensionOfDisasterCumulativeJly, 800, 100); + + /** + * 因灾停运-特高压 + */ + JLabel uhvDisasterCumulativeLabel = new JLabel("特高压"); + uhvDisasterCumulativeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + uhvDisasterCumulativeLabel.setForeground(new Color(11, 24, 76)); + int uhvDisasterCumulativeJlx = 30; + int uhvDisasterCumulativeJly = suspensionOfDisasterCumulativeJly + 120; + uhvDisasterCumulativeLabel.setBounds(uhvDisasterCumulativeJlx, uhvDisasterCumulativeJly, 800, 100); + /** + * 因灾停运-500kv + */ + JLabel fiveKVDisasterCumulativeLabel = new JLabel("500kV"); + fiveKVDisasterCumulativeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + fiveKVDisasterCumulativeLabel.setForeground(new Color(11, 24, 76)); + int fiveKVDisasterCumulativeJlx = uhvDisasterCumulativeJlx + 280; + int fiveKVDisasterCumulativeJly = suspensionOfDisasterCumulativeJly + 120; + fiveKVDisasterCumulativeLabel.setBounds(fiveKVDisasterCumulativeJlx, fiveKVDisasterCumulativeJly, 800, 100); + + /** + * 因灾停运-220/330kv + */ + JLabel twoKVDisasterCumulativeLabel = new JLabel("220/330kV"); + twoKVDisasterCumulativeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + twoKVDisasterCumulativeLabel.setForeground(new Color(11, 24, 76)); + int twoKVDisasterCumulativeJlx = fiveKVDisasterCumulativeJlx + 200; + int twoKVDisasterCumulativeJly = suspensionOfDisasterCumulativeJly + 120; + twoKVDisasterCumulativeLabel.setBounds(twoKVDisasterCumulativeJlx, twoKVDisasterCumulativeJly, 800, 100); + + /** + * 因灾停运-110/66kv + */ + JLabel oneKVDisasterCumulativeLabel = new JLabel("110/66kv"); + oneKVDisasterCumulativeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + oneKVDisasterCumulativeLabel.setForeground(new Color(11, 24, 76)); + int oneKVDisasterCumulativeJlx = twoKVDisasterCumulativeJlx + 270; + int oneKVDisasterCumulativeJly = suspensionOfDisasterCumulativeJly + 120; + oneKVDisasterCumulativeLabel.setBounds(oneKVDisasterCumulativeJlx, oneKVDisasterCumulativeJly, 800, 100); + + /** + * 因灾停运-35kv + */ + JLabel threeKVDisasterCumulativeLabel = new JLabel("35kv"); + threeKVDisasterCumulativeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + threeKVDisasterCumulativeLabel.setForeground(new Color(11, 24, 76)); + int threeKVDisasterCumulativeJlx = oneKVDisasterCumulativeJlx + 300; + int threeKVDisasterCumulativeJly = suspensionOfDisasterCumulativeJly + 120; + threeKVDisasterCumulativeLabel.setBounds(threeKVDisasterCumulativeJlx, threeKVDisasterCumulativeJly, 800, 100); + + + /** + * 变电站停运及恢复-新增-因灾停运-特高压 + */ + + powerSubstationCumulativeOutageUvhJt = new JTextField(); + setTextFiledColor(powerSubstationCumulativeOutageUvhJt); + int powerSubstationCumulativeOutageUvhJtY = threeKVDisasterCumulativeJly + 120; + powerSubstationCumulativeOutageUvhJt.setBounds(annexSevenCumulativeJlx, powerSubstationCumulativeOutageUvhJtY, 240, 120); + + /** + * 变电站停运及恢复-新增-因灾停运-500 + */ + powerSubstationCumulativeOutageFiveJt = new JTextField(); + setTextFiledColor(powerSubstationCumulativeOutageFiveJt); + int powerSubstationCumulativeOutageFiveJtY = threeKVDisasterCumulativeJly + 120; + powerSubstationCumulativeOutageFiveJt.setBounds(annexSevenCumulativeJlx + 250, powerSubstationCumulativeOutageFiveJtY, 240, 120); + + /** + * 变电站停运及恢复-新增-因灾停运-300 + */ + powerSubstationCumulativeOutageTwoJt = new JTextField(); + setTextFiledColor(powerSubstationCumulativeOutageTwoJt); + int powerSubstationCumulativeOutageTwoJtY = threeKVDisasterCumulativeJly + 120; + powerSubstationCumulativeOutageTwoJt.setBounds(annexSevenCumulativeJlx + 500, powerSubstationCumulativeOutageTwoJtY, 240, 120); + + /** + * 变电站停运及恢复-新增-因灾停运-110 + */ + powerSubstationCumulativeOutageOneJt = new JTextField(); + setTextFiledColor(powerSubstationCumulativeOutageOneJt); + int powerSubstationCumulativeOutageOneJtY = threeKVDisasterCumulativeJly + 120; + powerSubstationCumulativeOutageOneJt.setBounds(annexSevenCumulativeJlx + 750, powerSubstationCumulativeOutageOneJtY, 240, 120); + + /** + * 变电站停运及恢复-新增-因灾停运-35 + */ + powerSubstationCumulativeOutageThreeJt = new JTextField(); + setTextFiledColor(powerSubstationCumulativeOutageThreeJt); + int powerSubstationCumulativeOutageThreeJtY = threeKVDisasterCumulativeJly + 120; + powerSubstationCumulativeOutageThreeJt.setBounds(annexSevenCumulativeJlx + 1000, powerSubstationCumulativeOutageThreeJtY, 240, 120); + + /** + * 抢修恢复 + */ + JLabel emergencyRepairRecoveryCumulativeLabel = new JLabel("抢修恢复"); + emergencyRepairRecoveryCumulativeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + emergencyRepairRecoveryCumulativeLabel.setForeground(new Color(11, 24, 76)); + int emergencyRepairRecoveryCumulativeJlx = 30; + int emergencyRepairRecoveryCumulativeJly = powerSubstationCumulativeOutageThreeJtY + 120; + emergencyRepairRecoveryCumulativeLabel.setBounds(emergencyRepairRecoveryCumulativeJlx, emergencyRepairRecoveryCumulativeJly, 800, 100); + + /** + * 抢修恢复-特高压 + */ + JLabel powerSubstationCumulativeRepairUvhLabel = new JLabel("特高压"); + powerSubstationCumulativeRepairUvhLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerSubstationCumulativeRepairUvhLabel.setForeground(new Color(11, 24, 76)); + int powerSubstationCumulativeRepairUvhJlx = 30; + int powerSubstationCumulativeRepairUvhJly = emergencyRepairRecoveryCumulativeJly + 120; + powerSubstationCumulativeRepairUvhLabel.setBounds(powerSubstationCumulativeRepairUvhJlx, powerSubstationCumulativeRepairUvhJly, 800, 100); + /** + * 抢修恢复-500kv + */ + + JLabel powerSubstationCumulativeRepairFiveLabel = new JLabel("500kV"); + powerSubstationCumulativeRepairFiveLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerSubstationCumulativeRepairFiveLabel.setForeground(new Color(11, 24, 76)); + int powerSubstationCumulativeRepairFiveJlx = powerSubstationCumulativeRepairUvhJlx + 280; + int powerSubstationCumulativeRepairFiveJly = emergencyRepairRecoveryCumulativeJly + 120; + powerSubstationCumulativeRepairFiveLabel.setBounds(powerSubstationCumulativeRepairFiveJlx, powerSubstationCumulativeRepairFiveJly, 800, 100); + /** + * 抢修恢复-220/330kv + */ + JLabel powerSubstationCumulativeRepairTwoLabel = new JLabel("220/330kV"); + powerSubstationCumulativeRepairTwoLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerSubstationCumulativeRepairTwoLabel.setForeground(new Color(11, 24, 76)); + int powerSubstationCumulativeRepairTwoJlx = powerSubstationCumulativeRepairFiveJlx + 200; + int powerSubstationCumulativeRepairTwoJly = emergencyRepairRecoveryCumulativeJly + 120; + powerSubstationCumulativeRepairTwoLabel.setBounds(powerSubstationCumulativeRepairTwoJlx, powerSubstationCumulativeRepairTwoJly, 800, 100); + + /** + * 抢修恢复-110/66kv + */ + JLabel powerSubstationCumulativeRepairOneLabel = new JLabel("110/66kv"); + powerSubstationCumulativeRepairOneLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerSubstationCumulativeRepairOneLabel.setForeground(new Color(11, 24, 76)); + int powerSubstationCumulativeRepairOneJlx = powerSubstationCumulativeRepairTwoJlx + 270; + int powerSubstationCumulativeRepairOneJly = emergencyRepairRecoveryCumulativeJly + 120; + powerSubstationCumulativeRepairOneLabel.setBounds(powerSubstationCumulativeRepairOneJlx, powerSubstationCumulativeRepairOneJly, 800, 100); + + /** + * 抢修恢复-35kv + */ + JLabel powerSubstationCumulativeRepairThreeLabel = new JLabel("35kv"); + powerSubstationCumulativeRepairThreeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerSubstationCumulativeRepairThreeLabel.setForeground(new Color(11, 24, 76)); + int powerSubstationCumulativeRepairThreeJlx = powerSubstationCumulativeRepairOneJlx + 300; + int powerSubstationCumulativeRepairThreeJly = emergencyRepairRecoveryCumulativeJly + 120; + powerSubstationCumulativeRepairThreeLabel.setBounds(powerSubstationCumulativeRepairThreeJlx, powerSubstationCumulativeRepairThreeJly, 800, 100); + + + /** + * 变电站停运及恢复-新增-抢修恢复-特高压 + */ + powerSubstationCumulativeRepairOutageUvhJt = new JTextField(); + setTextFiledColor(powerSubstationCumulativeRepairOutageUvhJt); + int powerSubstationCumulativeRepairOutageUvhJtY = powerSubstationCumulativeRepairThreeJly + 120; + powerSubstationCumulativeRepairOutageUvhJt.setBounds(powerSubstationAddRepairUvhJlx, powerSubstationCumulativeRepairOutageUvhJtY, 240, 120); + + /** + * 变电站停运及恢复-新增-抢修恢复-500 + */ + powerSubstationCumulativeRepairOutageFiveJt = new JTextField(); + setTextFiledColor(powerSubstationCumulativeRepairOutageFiveJt); + int powerSubstationCumulativeRepairOutageFiveJtY = powerSubstationCumulativeRepairThreeJly + 120; + powerSubstationCumulativeRepairOutageFiveJt.setBounds(powerSubstationCumulativeRepairUvhJlx + 250, powerSubstationCumulativeRepairOutageFiveJtY, 240, 120); + + /** + * 变电站停运及恢复-新增-抢修恢复-300 + */ + powerSubstationCumulativeRepairOutageTwoJt = new JTextField(); + setTextFiledColor(powerSubstationCumulativeRepairOutageTwoJt); + int powerSubstationCumulativeRepairOutageTwoJtY = powerSubstationCumulativeRepairThreeJly + 120; + powerSubstationCumulativeRepairOutageTwoJt.setBounds(powerSubstationCumulativeRepairUvhJlx + 500, powerSubstationCumulativeRepairOutageTwoJtY, 240, 120); + + /** + * 变电站停运及恢复-新增-抢修恢复-110 + */ + powerSubstationCumulativeRepairOutageOneJt = new JTextField(); + setTextFiledColor(powerSubstationCumulativeRepairOutageOneJt); + int powerSubstationCumulativeRepairOutageOneJtY = powerSubstationCumulativeRepairThreeJly + 120; + powerSubstationCumulativeRepairOutageOneJt.setBounds(powerSubstationCumulativeRepairUvhJlx + 750, powerSubstationCumulativeRepairOutageOneJtY, 240, 120); + + /** + * 变电站停运及恢复-新增-抢修恢复-35 + */ + powerSubstationCumulativeRepairOutageThreeJt = new JTextField(); + setTextFiledColor(powerSubstationCumulativeRepairOutageThreeJt); + int powerSubstationCumulativeRepairOutageThreeJtY = powerSubstationCumulativeRepairThreeJly + 120; + powerSubstationCumulativeRepairOutageThreeJt.setBounds(powerSubstationCumulativeRepairUvhJlx + 1000, powerSubstationCumulativeRepairOutageThreeJtY, 240, 120); + + /** + * 尚未恢复 + */ + JLabel emergencyCumulativeNoRepairRecoveryLabel = new JLabel("尚未恢复"); + emergencyCumulativeNoRepairRecoveryLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + emergencyCumulativeNoRepairRecoveryLabel.setForeground(new Color(11, 24, 76)); + int emergencyCumulativeNoRepairRecoveryJlx = 30; + int emergencyCumulativeNoRepairRecoveryJly = powerSubstationCumulativeRepairOutageThreeJtY + 120; + emergencyCumulativeNoRepairRecoveryLabel.setBounds(emergencyCumulativeNoRepairRecoveryJlx, emergencyCumulativeNoRepairRecoveryJly, 800, 100); + + /** + * 抢修恢复-特高压 + */ + JLabel powerSubstationCumulativeNoRepairUvhLabel = new JLabel("特高压"); + powerSubstationCumulativeNoRepairUvhLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerSubstationCumulativeNoRepairUvhLabel.setForeground(new Color(11, 24, 76)); + int powerSubstationCumulativeNoRepairUvhJlx = 30; + int powerSubstationCumulativeNoRepairUvhJly = emergencyCumulativeNoRepairRecoveryJly + 120; + powerSubstationCumulativeNoRepairUvhLabel.setBounds(powerSubstationCumulativeNoRepairUvhJlx, powerSubstationCumulativeNoRepairUvhJly, 800, 100); + /** + * 抢修恢复-500kv + */ + + JLabel powerSubstationCumulativeNoRepairFiveLabel = new JLabel("500kV"); + powerSubstationCumulativeNoRepairFiveLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerSubstationCumulativeNoRepairFiveLabel.setForeground(new Color(11, 24, 76)); + int powerSubstationCumulativeNoRepairFiveJlx = powerSubstationCumulativeNoRepairUvhJlx + 280; + int powerSubstationCumulativeNoRepairFiveJly = emergencyCumulativeNoRepairRecoveryJly + 120; + powerSubstationCumulativeNoRepairFiveLabel.setBounds(powerSubstationCumulativeNoRepairFiveJlx, powerSubstationCumulativeNoRepairFiveJly, 800, 100); + /** + * 抢修恢复-220/330kv + */ + JLabel powerSubstationCumulativeNoRepairTwoLabel = new JLabel("220/330kV"); + powerSubstationCumulativeNoRepairTwoLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerSubstationCumulativeNoRepairTwoLabel.setForeground(new Color(11, 24, 76)); + int powerSubstationCumulativeNoRepairTwoJlx = powerSubstationCumulativeNoRepairFiveJlx + 200; + int powerSubstationCumulativeNoRepairTwoJly = emergencyCumulativeNoRepairRecoveryJly + 120; + powerSubstationCumulativeNoRepairTwoLabel.setBounds(powerSubstationCumulativeNoRepairTwoJlx, powerSubstationCumulativeNoRepairTwoJly, 800, 100); + + /** + * 抢修恢复-110/66kv + */ + JLabel powerSubstationCumulativeNoRepairOneLabel = new JLabel("110/66kv"); + powerSubstationCumulativeNoRepairOneLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerSubstationCumulativeNoRepairOneLabel.setForeground(new Color(11, 24, 76)); + int powerSubstationCumulativeNoRepairOneJlx = powerSubstationCumulativeNoRepairTwoJlx + 270; + int powerSubstationCumulativeNoRepairOneJly = emergencyCumulativeNoRepairRecoveryJly + 120; + powerSubstationCumulativeNoRepairOneLabel.setBounds(powerSubstationCumulativeNoRepairOneJlx, powerSubstationCumulativeNoRepairOneJly, 800, 100); + + /** + * 抢修恢复-35kv + */ + JLabel powerSubstationCumulativeNoRepairThreeLabel = new JLabel("35kv"); + powerSubstationCumulativeNoRepairThreeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerSubstationCumulativeNoRepairThreeLabel.setForeground(new Color(11, 24, 76)); + int powerSubstationCumulativeNoRepairThreeJlx = powerSubstationCumulativeNoRepairOneJlx + 300; + int powerSubstationCumulativeNoRepairThreeJly = emergencyCumulativeNoRepairRecoveryJly + 120; + powerSubstationCumulativeNoRepairThreeLabel.setBounds(powerSubstationCumulativeNoRepairThreeJlx, powerSubstationCumulativeNoRepairThreeJly, 800, 100); + + + /** + * 变电站停运及恢复-新增-抢修恢复-特高压 + */ + powerSubstationCumulativeNoRepairOutageUvhJt = new JTextField(); + setTextFiledColor(powerSubstationCumulativeNoRepairOutageUvhJt); + int powerSubstationCumulativeNoRepairOutageUvhJtY = powerSubstationCumulativeNoRepairThreeJly + 120; + powerSubstationCumulativeNoRepairOutageUvhJt.setBounds(powerSubstationCumulativeNoRepairUvhJlx, powerSubstationCumulativeNoRepairOutageUvhJtY, 240, 120); + + /** + * 变电站停运及恢复-新增-抢修恢复-500 + */ + powerSubstationCumulativeNoRepairOutageFiveJt = new JTextField(); + setTextFiledColor(powerSubstationCumulativeNoRepairOutageFiveJt); + int powerSubstationCumulativeNoRepairOutageFiveJtY = powerSubstationCumulativeNoRepairThreeJly + 120; + powerSubstationCumulativeNoRepairOutageFiveJt.setBounds(powerSubstationCumulativeNoRepairUvhJlx + 250, powerSubstationCumulativeNoRepairOutageFiveJtY, 240, 120); + + /** + * 变电站停运及恢复-新增-抢修恢复-300 + */ + powerSubstationCumulativeNoRepairOutageTwoJt = new JTextField(); + setTextFiledColor(powerSubstationCumulativeNoRepairOutageTwoJt); + int powerSubstationCumulativeNoRepairOutageTwoJtY = powerSubstationCumulativeNoRepairThreeJly + 120; + powerSubstationCumulativeNoRepairOutageTwoJt.setBounds(powerSubstationCumulativeNoRepairUvhJlx + 500, powerSubstationCumulativeNoRepairOutageTwoJtY, 240, 120); + + /** + * 变电站停运及恢复-新增-抢修恢复-110 + */ + powerSubstationCumulativeNoRepairOutageOneJt = new JTextField(); + setTextFiledColor(powerSubstationCumulativeNoRepairOutageOneJt); + int powerSubstationCumulativeNoRepairOutageOneJtY = powerSubstationCumulativeNoRepairThreeJly + 120; + powerSubstationCumulativeNoRepairOutageOneJt.setBounds(powerSubstationCumulativeNoRepairUvhJlx + 750, powerSubstationCumulativeNoRepairOutageOneJtY, 240, 120); + + /** + * 变电站停运及恢复-新增-抢修恢复-35 + */ + powerSubstationCumulativeNoRepairOutageThreeJt = new JTextField(); + setTextFiledColor(powerSubstationCumulativeNoRepairOutageThreeJt); + int powerSubstationCumulativeNoRepairOutageThreeJtY = powerSubstationCumulativeNoRepairThreeJly + 120; + powerSubstationCumulativeNoRepairOutageThreeJt.setBounds(powerSubstationCumulativeNoRepairUvhJlx + 1000, powerSubstationCumulativeNoRepairOutageThreeJtY, 240, 120); + + /**-----------------------------------------------------------------------------附件八----------------------------------------------------------------------------------------------------*/ + + /** + * 附件八-输配电线路停运及恢复-新增情况 + */ + JLabel annexEightLabel = new JLabel("附件八-输配电线路停运及恢复-新增情况"); + annexEightLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + annexEightLabel.setForeground(new Color(11, 24, 76)); + int annexEightJlx = 30; + int annexEightJly = powerSubstationCumulativeNoRepairOutageThreeJtY + 150; + annexEightLabel.setBounds(annexEightJlx, annexEightJly, 1000, 100); + + /** + * 因灾停运 + */ + JLabel suspensionOfDisasterEightLabel = new JLabel("因灾停运"); + suspensionOfDisasterEightLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + suspensionOfDisasterEightLabel.setForeground(new Color(11, 24, 76)); + int suspensionOfDisasterEightJlx = 30; + int suspensionOfDisasterEightJly = annexEightJly + 120; + suspensionOfDisasterEightLabel.setBounds(suspensionOfDisasterEightJlx, suspensionOfDisasterEightJly, 800, 100); + + /** + * 因灾停运-特高压 + */ + JLabel uhvDisasterEightLabel = new JLabel("特高压"); + uhvDisasterEightLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + uhvDisasterEightLabel.setForeground(new Color(11, 24, 76)); + int uhvDisasterEightJlx = 30; + int uhvDisasterEightJly = suspensionOfDisasterEightJly + 120; + uhvDisasterEightLabel.setBounds(uhvDisasterEightJlx, uhvDisasterEightJly, 800, 100); + /** + * 因灾停运-500kv + */ + JLabel fiveKVDisasterEightLabel = new JLabel("500kV"); + fiveKVDisasterEightLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + fiveKVDisasterEightLabel.setForeground(new Color(11, 24, 76)); + int fiveKVDisasterEightJlx = uhvDisasterEightJlx + 280; + int fiveKVDisasterEightJly = suspensionOfDisasterEightJly + 120; + fiveKVDisasterEightLabel.setBounds(fiveKVDisasterEightJlx, fiveKVDisasterEightJly, 800, 100); + + /** + * 因灾停运-220/330kv + */ + JLabel twoKVDisasterEightLabel = new JLabel("220/330kV"); + twoKVDisasterEightLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + twoKVDisasterEightLabel.setForeground(new Color(11, 24, 76)); + int twoKVDisasterEightJlx = fiveKVDisasterEightJlx + 200; + int twoKVDisasterEightJly = suspensionOfDisasterEightJly + 120; + twoKVDisasterEightLabel.setBounds(twoKVDisasterEightJlx, twoKVDisasterEightJly, 800, 100); + + /** + * 因灾停运-110/66kv + */ + JLabel oneKVDisasterEightLabel = new JLabel("110/66kv"); + oneKVDisasterEightLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + oneKVDisasterEightLabel.setForeground(new Color(11, 24, 76)); + int oneKVDisasterEightJlx = twoKVDisasterEightJlx + 270; + int oneKVDisasterEightJly = suspensionOfDisasterEightJly + 120; + oneKVDisasterEightLabel.setBounds(oneKVDisasterEightJlx, oneKVDisasterEightJly, 800, 100); + + /** + * 因灾停运-35kv + */ + JLabel threeKVDisasterEightLabel = new JLabel("35kv"); + threeKVDisasterEightLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + threeKVDisasterEightLabel.setForeground(new Color(11, 24, 76)); + int threeKVDisasterEightJlx = oneKVDisasterEightJlx + 300; + int threeKVDisasterEightJly = suspensionOfDisasterEightJly + 120; + threeKVDisasterEightLabel.setBounds(threeKVDisasterEightJlx, threeKVDisasterEightJly, 800, 100); + + JLabel tenKVDisasterEightLabel = new JLabel("10kv"); + tenKVDisasterEightLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + tenKVDisasterEightLabel.setForeground(new Color(11, 24, 76)); + int tenKVDisasterEightJlx = threeKVDisasterEightJlx + 250; + int tenKVDisasterEightJly = suspensionOfDisasterEightJly + 120; + tenKVDisasterEightLabel.setBounds(tenKVDisasterEightJlx, tenKVDisasterEightJly, 800, 100); + + + /** + * 输配电线路停运及恢复-新增-因灾停运-特高压 + */ + transmitElectricityAddOutageUvhJt = new JTextField(); + setTextFiledColor(transmitElectricityAddOutageUvhJt); + int transmitElectricityAddOutageUvhJtY = threeKVDisasterEightJly + 120; + transmitElectricityAddOutageUvhJt.setBounds(annexEightJlx, transmitElectricityAddOutageUvhJtY, 240, 120); + + /** + * 输配电线路停运及恢复-新增-因灾停运-500 + */ + transmitElectricityAddOutageFiveJt = new JTextField(); + setTextFiledColor(transmitElectricityAddOutageFiveJt); + int transmitElectricityAddOutageFiveJtY = threeKVDisasterEightJly + 120; + transmitElectricityAddOutageFiveJt.setBounds(annexEightJlx + 250, transmitElectricityAddOutageFiveJtY, 240, 120); + + /** + * 输配电线路停运及恢复-新增-因灾停运-300 + */ + transmitElectricityAddOutageTwoJt = new JTextField(); + setTextFiledColor(transmitElectricityAddOutageTwoJt); + int transmitElectricityAddOutageTwoJtY = threeKVDisasterEightJly + 120; + transmitElectricityAddOutageTwoJt.setBounds(annexEightJlx + 500, transmitElectricityAddOutageTwoJtY, 240, 120); + + /** + * 输配电线路停运及恢复-新增-因灾停运-110 + */ + transmitElectricityAddOutageOneJt = new JTextField(); + setTextFiledColor(transmitElectricityAddOutageOneJt); + int transmitElectricityAddOutageOneJtY = threeKVDisasterEightJly + 120; + transmitElectricityAddOutageOneJt.setBounds(annexEightJlx + 750, transmitElectricityAddOutageOneJtY, 240, 120); + + /** + * 输配电线路停运及恢复-新增-因灾停运-35 + */ + transmitElectricityAddOutageThreeJt = new JTextField(); + setTextFiledColor(transmitElectricityAddOutageThreeJt); + int transmitElectricityAddOutageThreeJtY = threeKVDisasterEightJly + 120; + transmitElectricityAddOutageThreeJt.setBounds(annexEightJlx + 1000, transmitElectricityAddOutageThreeJtY, 240, 120); + /** + * 输配电线路停运及恢复-新增-因灾停运-10 + */ + transmitElectricityAddOutageTenJt = new JTextField(); + setTextFiledColor(transmitElectricityAddOutageTenJt); + int transmitElectricityAddOutageTenJtY = threeKVDisasterEightJly + 120; + transmitElectricityAddOutageTenJt.setBounds(annexEightJlx + 1250, transmitElectricityAddOutageTenJtY, 240, 120); + + /** + * 抢修恢复 + */ + JLabel emergencyRepairRecoveryEightLabel = new JLabel("抢修恢复"); + emergencyRepairRecoveryEightLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + emergencyRepairRecoveryEightLabel.setForeground(new Color(11, 24, 76)); + int emergencyRepairRecoveryEightJlx = 30; + int emergencyRepairRecoveryEightJly = transmitElectricityAddOutageTenJtY + 120; + emergencyRepairRecoveryEightLabel.setBounds(emergencyRepairRecoveryEightJlx, emergencyRepairRecoveryEightJly, 800, 100); + + /** + * 抢修恢复-特高压 + */ + JLabel transmitElectricityAddRepairUvhLabel = new JLabel("特高压"); + transmitElectricityAddRepairUvhLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + transmitElectricityAddRepairUvhLabel.setForeground(new Color(11, 24, 76)); + int transmitElectricityAddRepairUvhJlx = 30; + int transmitElectricityAddRepairUvhJly = emergencyRepairRecoveryEightJly + 120; + transmitElectricityAddRepairUvhLabel.setBounds(transmitElectricityAddRepairUvhJlx, transmitElectricityAddRepairUvhJly, 800, 100); + /** + * 抢修恢复-500kv + */ + + JLabel transmitElectricityAddRepairFiveLabel = new JLabel("500kV"); + transmitElectricityAddRepairFiveLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + transmitElectricityAddRepairFiveLabel.setForeground(new Color(11, 24, 76)); + int transmitElectricityAddRepairFiveJlx = transmitElectricityAddRepairUvhJlx + 280; + int transmitElectricityAddRepairFiveJly = emergencyRepairRecoveryEightJly + 120; + transmitElectricityAddRepairFiveLabel.setBounds(transmitElectricityAddRepairFiveJlx, transmitElectricityAddRepairFiveJly, 800, 100); + /** + * 抢修恢复-220/330kv + */ + JLabel transmitElectricityAddRepairTwoLabel = new JLabel("220/330kV"); + transmitElectricityAddRepairTwoLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + transmitElectricityAddRepairTwoLabel.setForeground(new Color(11, 24, 76)); + int transmitElectricityAddRepairTwoJlx = transmitElectricityAddRepairFiveJlx + 200; + int transmitElectricityAddRepairTwoJly = emergencyRepairRecoveryEightJly + 120; + transmitElectricityAddRepairTwoLabel.setBounds(transmitElectricityAddRepairTwoJlx, transmitElectricityAddRepairTwoJly, 800, 100); + + /** + * 抢修恢复-110/66kv + */ + JLabel transmitElectricityAddRepairOneLabel = new JLabel("110/66kv"); + transmitElectricityAddRepairOneLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + transmitElectricityAddRepairOneLabel.setForeground(new Color(11, 24, 76)); + int transmitElectricityAddRepairOneJlx = transmitElectricityAddRepairTwoJlx + 270; + int transmitElectricityAddRepairOneJly = emergencyRepairRecoveryEightJly + 120; + transmitElectricityAddRepairOneLabel.setBounds(transmitElectricityAddRepairOneJlx, transmitElectricityAddRepairOneJly, 800, 100); + + /** + * 抢修恢复-35kv + */ + JLabel transmitElectricityAddRepairThreeLabel = new JLabel("35kv"); + transmitElectricityAddRepairThreeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + transmitElectricityAddRepairThreeLabel.setForeground(new Color(11, 24, 76)); + int transmitElectricityAddRepairThreeJlx = transmitElectricityAddRepairOneJlx + 300; + int transmitElectricityAddRepairThreeJly = emergencyRepairRecoveryEightJly + 120; + transmitElectricityAddRepairThreeLabel.setBounds(transmitElectricityAddRepairThreeJlx, transmitElectricityAddRepairThreeJly, 800, 100); + /** + * 抢修恢复-10kv + */ + JLabel transmitElectricityAddRepairTenLabel = new JLabel("10kv"); + transmitElectricityAddRepairTenLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + transmitElectricityAddRepairTenLabel.setForeground(new Color(11, 24, 76)); + int transmitElectricityAddRepairTenJlx = transmitElectricityAddRepairThreeJlx + 250; + int transmitElectricityAddRepairTenJly = emergencyRepairRecoveryEightJly + 120; + transmitElectricityAddRepairTenLabel.setBounds(transmitElectricityAddRepairTenJlx, transmitElectricityAddRepairTenJly, 800, 100); + + + /** + * 输配电线路停运及恢复-新增-抢修恢复-特高压 + */ + transmitElectricityAddRepairOutageUvhJt = new JTextField(); + setTextFiledColor(transmitElectricityAddRepairOutageUvhJt); + int transmitElectricityRepairOutageUvhJtY = transmitElectricityAddRepairTenJly + 120; + transmitElectricityAddRepairOutageUvhJt.setBounds(transmitElectricityAddRepairUvhJlx, transmitElectricityRepairOutageUvhJtY, 240, 120); + + /** + * 输配电线路停运及恢复-新增-抢修恢复-500 + */ + transmitElectricityAddRepairOutageFiveJt = new JTextField(); + setTextFiledColor(transmitElectricityAddRepairOutageFiveJt); + int transmitElectricityRepairOutageFiveJtY = transmitElectricityAddRepairTenJly + 120; + transmitElectricityAddRepairOutageFiveJt.setBounds(transmitElectricityAddRepairUvhJlx + 250, transmitElectricityRepairOutageFiveJtY, 240, 120); + + /** + * 输配电线路停运及恢复-新增-抢修恢复-300 + */ + transmitElectricityAddRepairOutageTwoJt = new JTextField(); + setTextFiledColor(transmitElectricityAddRepairOutageTwoJt); + int transmitElectricityAddRepairOutageTwoJtY = transmitElectricityAddRepairTenJly + 120; + transmitElectricityAddRepairOutageTwoJt.setBounds(transmitElectricityAddRepairUvhJlx + 500, transmitElectricityAddRepairOutageTwoJtY, 240, 120); + + /** + * 输配电线路停运及恢复-新增-抢修恢复-110 + */ + transmitElectricityAddRepairOutageOneJt = new JTextField(); + setTextFiledColor(transmitElectricityAddRepairOutageOneJt); + int transmitElectricityAddRepairOutageOneJtY = transmitElectricityAddRepairTenJly + 120; + transmitElectricityAddRepairOutageOneJt.setBounds(transmitElectricityAddRepairUvhJlx + 750, transmitElectricityAddRepairOutageOneJtY, 240, 120); + + /** + * 输配电线路停运及恢复-新增-抢修恢复-35 + */ + transmitElectricityAddRepairOutageThreeJt = new JTextField(); + setTextFiledColor(transmitElectricityAddRepairOutageThreeJt); + int transmitElectricityAddRepairOutageThreeJtY = transmitElectricityAddRepairTenJly + 120; + transmitElectricityAddRepairOutageThreeJt.setBounds(transmitElectricityAddRepairUvhJlx + 1000, transmitElectricityAddRepairOutageThreeJtY, 240, 120); + /** + * 输配电线路停运及恢复-新增-抢修恢复-10 + */ + transmitElectricityAddRepairOutageTenJt = new JTextField(); + setTextFiledColor(transmitElectricityAddRepairOutageTenJt); + int transmitElectricityAddRepairOutageTenJtY = transmitElectricityAddRepairTenJly + 120; + transmitElectricityAddRepairOutageTenJt.setBounds(transmitElectricityAddRepairUvhJlx + 1250, transmitElectricityAddRepairOutageTenJtY, 240, 120); + + /** + * 尚未恢复 + */ + JLabel emergencyNoRepairRecoveryEightLabel = new JLabel("尚未恢复"); + emergencyNoRepairRecoveryEightLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + emergencyNoRepairRecoveryEightLabel.setForeground(new Color(11, 24, 76)); + int emergencyNoRepairRecoveryEightJlx = 30; + int emergencyNoRepairRecoveryEightJly = transmitElectricityAddRepairOutageThreeJtY + 120; + emergencyNoRepairRecoveryEightLabel.setBounds(emergencyNoRepairRecoveryEightJlx, emergencyNoRepairRecoveryEightJly, 800, 100); + + /** + * 抢修恢复-特高压 + */ + JLabel transmitElectricityAddNoRepairUvhLabel = new JLabel("特高压"); + transmitElectricityAddNoRepairUvhLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + transmitElectricityAddNoRepairUvhLabel.setForeground(new Color(11, 24, 76)); + int transmitElectricityAddNoRepairUvhJlx = 30; + int transmitElectricityAddNoRepairUvhJly = emergencyNoRepairRecoveryEightJly + 120; + transmitElectricityAddNoRepairUvhLabel.setBounds(transmitElectricityAddNoRepairUvhJlx, transmitElectricityAddNoRepairUvhJly, 800, 100); + /** + * 抢修恢复-500kv + */ + + JLabel transmitElectricityAddNoRepairFiveLabel = new JLabel("500kV"); + transmitElectricityAddNoRepairFiveLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + transmitElectricityAddNoRepairFiveLabel.setForeground(new Color(11, 24, 76)); + int transmitElectricityAddNoRepairFiveJlx = transmitElectricityAddNoRepairUvhJlx + 280; + int transmitElectricityAddNoRepairFiveJly = emergencyNoRepairRecoveryEightJly + 120; + transmitElectricityAddNoRepairFiveLabel.setBounds(transmitElectricityAddNoRepairFiveJlx, transmitElectricityAddNoRepairFiveJly, 800, 100); + /** + * 抢修恢复-220/330kv + */ + JLabel transmitElectricityAddNoRepairTwoLabel = new JLabel("220/330kV"); + transmitElectricityAddNoRepairTwoLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + transmitElectricityAddNoRepairTwoLabel.setForeground(new Color(11, 24, 76)); + int transmitElectricityAddNoRepairTwoJlx = transmitElectricityAddNoRepairFiveJlx + 200; + int transmitElectricityAddNoRepairTwoJly = emergencyNoRepairRecoveryEightJly + 120; + transmitElectricityAddNoRepairTwoLabel.setBounds(transmitElectricityAddNoRepairTwoJlx, transmitElectricityAddNoRepairTwoJly, 800, 100); + + /** + * 抢修恢复-110/66kv + */ + JLabel transmitElectricityAddNoRepairOneLabel = new JLabel("110/66kv"); + transmitElectricityAddNoRepairOneLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + transmitElectricityAddNoRepairOneLabel.setForeground(new Color(11, 24, 76)); + int transmitElectricityAddNoRepairOneJlx = transmitElectricityAddNoRepairTwoJlx + 270; + int transmitElectricityAddNoRepairOneJly = emergencyNoRepairRecoveryEightJly + 120; + transmitElectricityAddNoRepairOneLabel.setBounds(transmitElectricityAddNoRepairOneJlx, transmitElectricityAddNoRepairOneJly, 800, 100); + + /** + * 抢修恢复-35kv + */ + JLabel transmitElectricityAddNoRepairThreeLabel = new JLabel("35kv"); + transmitElectricityAddNoRepairThreeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + transmitElectricityAddNoRepairThreeLabel.setForeground(new Color(11, 24, 76)); + int transmitElectricityAddNoRepairThreeJlx = transmitElectricityAddNoRepairOneJlx + 300; + int transmitElectricityAddNoRepairThreeJly = emergencyNoRepairRecoveryEightJly + 120; + transmitElectricityAddNoRepairThreeLabel.setBounds(transmitElectricityAddNoRepairThreeJlx, transmitElectricityAddNoRepairThreeJly, 800, 100); + /** + * 抢修恢复-10kv + */ + JLabel transmitElectricityAddNoRepairTenLabel = new JLabel("10kv"); + transmitElectricityAddNoRepairTenLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + transmitElectricityAddNoRepairTenLabel.setForeground(new Color(11, 24, 76)); + int transmitElectricityAddNoRepairTenJlx = transmitElectricityAddNoRepairThreeJlx + 250; + int transmitElectricityAddNoRepairTenJly = emergencyNoRepairRecoveryEightJly + 120; + transmitElectricityAddNoRepairTenLabel.setBounds(transmitElectricityAddNoRepairTenJlx, transmitElectricityAddNoRepairTenJly, 800, 100); + + + /** + * 输配电线路停运及恢复-新增-抢修恢复-特高压 + */ + transmitElectricityAddNoRepairOutageUvhJt = new JTextField(); + setTextFiledColor(transmitElectricityAddNoRepairOutageUvhJt); + int transmitElectricityNoRepairOutageUvhJtY = transmitElectricityAddNoRepairThreeJly + 120; + transmitElectricityAddNoRepairOutageUvhJt.setBounds(transmitElectricityAddNoRepairUvhJlx, transmitElectricityNoRepairOutageUvhJtY, 240, 120); + + /** + * 输配电线路停运及恢复-新增-抢修恢复-500 + */ + transmitElectricityAddNoRepairOutageFiveJt = new JTextField(); + setTextFiledColor(transmitElectricityAddNoRepairOutageFiveJt); + int transmitElectricityNoRepairOutageFiveJtY = transmitElectricityAddNoRepairThreeJly + 120; + transmitElectricityAddNoRepairOutageFiveJt.setBounds(transmitElectricityAddNoRepairUvhJlx + 250, transmitElectricityNoRepairOutageFiveJtY, 240, 120); + + /** + * 输配电线路停运及恢复-新增-抢修恢复-300 + */ + transmitElectricityAddNoRepairOutageTwoJt = new JTextField(); + setTextFiledColor(transmitElectricityAddNoRepairOutageTwoJt); + int transmitElectricityAddNoRepairOutageTwoJtY = transmitElectricityAddNoRepairThreeJly + 120; + transmitElectricityAddNoRepairOutageTwoJt.setBounds(transmitElectricityAddNoRepairUvhJlx + 500, transmitElectricityAddNoRepairOutageTwoJtY, 240, 120); + + /** + * 输配电线路停运及恢复-新增-抢修恢复-110 + */ + transmitElectricityAddNoRepairOutageOneJt = new JTextField(); + setTextFiledColor(transmitElectricityAddNoRepairOutageOneJt); + int transmitElectricityAddNoRepairOutageOneJtY = transmitElectricityAddNoRepairThreeJly + 120; + transmitElectricityAddNoRepairOutageOneJt.setBounds(transmitElectricityAddNoRepairUvhJlx + 750, transmitElectricityAddNoRepairOutageOneJtY, 240, 120); + + /** + * 输配电线路停运及恢复-新增-抢修恢复-35 + */ + transmitElectricityAddNoRepairOutageThreeJt = new JTextField(); + setTextFiledColor(transmitElectricityAddNoRepairOutageThreeJt); + int transmitElectricityAddNoRepairOutageThreeJtY = transmitElectricityAddNoRepairThreeJly + 120; + transmitElectricityAddNoRepairOutageThreeJt.setBounds(transmitElectricityAddNoRepairUvhJlx + 1000, transmitElectricityAddNoRepairOutageThreeJtY, 240, 120); + /** + * 输配电线路停运及恢复-新增-抢修恢复-10 + */ + transmitElectricityAddNoRepairOutageTenJt = new JTextField(); + setTextFiledColor(transmitElectricityAddNoRepairOutageTenJt); + int transmitElectricityAddNoRepairOutageTenJtY = transmitElectricityAddNoRepairThreeJly + 120; + transmitElectricityAddNoRepairOutageTenJt.setBounds(transmitElectricityAddNoRepairUvhJlx + 1250, transmitElectricityAddNoRepairOutageTenJtY, 240, 120); + + + /** + * 附件八-输配电线路停运及恢复-累计情况 + */ + JLabel annexEightCumulativeLabel = new JLabel("附件八-输配电线路停运及恢复-累计情况"); + annexEightCumulativeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + annexEightCumulativeLabel.setForeground(new Color(11, 24, 76)); + int annexEightCumulativeJlx = 30; + int annexEightCumulativeJly = transmitElectricityAddNoRepairOutageTenJtY + 150; + annexEightCumulativeLabel.setBounds(annexEightCumulativeJlx, annexEightCumulativeJly, 1000, 100); + + /** + * 因灾停运 + */ + JLabel suspensionOfDisasterEightCumulativeLabel = new JLabel("因灾停运"); + suspensionOfDisasterEightCumulativeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + suspensionOfDisasterEightCumulativeLabel.setForeground(new Color(11, 24, 76)); + int suspensionOfDisasterEightCumulativeJlx = 30; + int suspensionOfDisasterEightCumulativeJly = annexEightCumulativeJly + 120; + suspensionOfDisasterEightCumulativeLabel.setBounds(suspensionOfDisasterEightCumulativeJlx, suspensionOfDisasterEightCumulativeJly, 800, 100); + + /** + * 因灾停运-特高压 + */ + JLabel uhvDisasterEightCumulativeLabel = new JLabel("特高压"); + uhvDisasterEightCumulativeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + uhvDisasterEightCumulativeLabel.setForeground(new Color(11, 24, 76)); + int uhvDisasterEightCumulativeJlx = 30; + int uhvDisasterEightCumulativeJly = suspensionOfDisasterEightCumulativeJly + 120; + uhvDisasterEightCumulativeLabel.setBounds(uhvDisasterEightCumulativeJlx, uhvDisasterEightCumulativeJly, 800, 100); + /** + * 因灾停运-500kv + */ + JLabel fiveKVDisasterEightCumulativeLabel = new JLabel("500kV"); + fiveKVDisasterEightCumulativeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + fiveKVDisasterEightCumulativeLabel.setForeground(new Color(11, 24, 76)); + int fiveKVDisasterEightCumulativeJlx = uhvDisasterEightCumulativeJlx + 280; + int fiveKVDisasterEightCumulativeJly = suspensionOfDisasterEightCumulativeJly + 120; + fiveKVDisasterEightCumulativeLabel.setBounds(fiveKVDisasterEightCumulativeJlx, fiveKVDisasterEightCumulativeJly, 800, 100); + + /** + * 因灾停运-220/330kv + */ + JLabel twoKVDisasterEightCumulativeLabel = new JLabel("220/330kV"); + twoKVDisasterEightCumulativeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + twoKVDisasterEightCumulativeLabel.setForeground(new Color(11, 24, 76)); + int twoKVDisasterEightCumulativeJlx = fiveKVDisasterEightCumulativeJlx + 200; + int twoKVDisasterEightCumulativeJly = suspensionOfDisasterEightCumulativeJly + 120; + twoKVDisasterEightCumulativeLabel.setBounds(twoKVDisasterEightCumulativeJlx, twoKVDisasterEightCumulativeJly, 800, 100); + + /** + * 因灾停运-110/66kv + */ + JLabel oneKVDisasterEightCumulativeLabel = new JLabel("110/66kv"); + oneKVDisasterEightCumulativeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + oneKVDisasterEightCumulativeLabel.setForeground(new Color(11, 24, 76)); + int oneKVDisasterEightCumulativeJlx = twoKVDisasterEightCumulativeJlx + 270; + int oneKVDisasterEightCumulativeJly = suspensionOfDisasterEightCumulativeJly + 120; + oneKVDisasterEightCumulativeLabel.setBounds(oneKVDisasterEightCumulativeJlx, oneKVDisasterEightCumulativeJly, 800, 100); + + /** + * 因灾停运-35kv + */ + JLabel threeKVDisasterEightCumulativeLabel = new JLabel("35kv"); + threeKVDisasterEightCumulativeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + threeKVDisasterEightCumulativeLabel.setForeground(new Color(11, 24, 76)); + int threeKVDisasterEightCumulativeJlx = oneKVDisasterEightCumulativeJlx + 300; + int threeKVDisasterEightCumulativeJly = suspensionOfDisasterEightCumulativeJly + 120; + threeKVDisasterEightCumulativeLabel.setBounds(threeKVDisasterEightCumulativeJlx, threeKVDisasterEightCumulativeJly, 800, 100); + /** + * 因灾停运-10kv + */ + JLabel tenKVDisasterEightCumulativeLabel = new JLabel("10kv"); + tenKVDisasterEightCumulativeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + tenKVDisasterEightCumulativeLabel.setForeground(new Color(11, 24, 76)); + int tenKVDisasterEightCumulativeJlx = threeKVDisasterEightCumulativeJlx + 250; + int tenKVDisasterEightCumulativeJly = suspensionOfDisasterEightCumulativeJly + 120; + tenKVDisasterEightCumulativeLabel.setBounds(tenKVDisasterEightCumulativeJlx, tenKVDisasterEightCumulativeJly, 800, 100); + + + /** + * 输配电线路停运及恢复-新增-因灾停运-特高压 + */ + + transmitElectricityCumulativeOutageUvhJt = new JTextField(); + setTextFiledColor(transmitElectricityCumulativeOutageUvhJt); + int transmitElectricityCumulativeOutageUvhJtY = tenKVDisasterEightCumulativeJly + 120; + transmitElectricityCumulativeOutageUvhJt.setBounds(annexEightCumulativeJlx, transmitElectricityCumulativeOutageUvhJtY, 240, 120); + + /** + * 输配电线路停运及恢复-新增-因灾停运-500 + */ + transmitElectricityCumulativeOutageFiveJt = new JTextField(); + setTextFiledColor(transmitElectricityCumulativeOutageFiveJt); + int transmitElectricityCumulativeOutageFiveJtY = tenKVDisasterEightCumulativeJly + 120; + transmitElectricityCumulativeOutageFiveJt.setBounds(annexEightCumulativeJlx + 250, transmitElectricityCumulativeOutageFiveJtY, 240, 120); + + /** + * 输配电线路停运及恢复-新增-因灾停运-300 + */ + transmitElectricityCumulativeOutageTwoJt = new JTextField(); + setTextFiledColor(transmitElectricityCumulativeOutageTwoJt); + int transmitElectricityCumulativeOutageTwoJtY = tenKVDisasterEightCumulativeJly + 120; + transmitElectricityCumulativeOutageTwoJt.setBounds(annexEightCumulativeJlx + 500, transmitElectricityCumulativeOutageTwoJtY, 240, 120); + + /** + * 输配电线路停运及恢复-新增-因灾停运-110 + */ + transmitElectricityCumulativeOutageOneJt = new JTextField(); + setTextFiledColor(transmitElectricityCumulativeOutageOneJt); + int transmitElectricityCumulativeOutageOneJtY = tenKVDisasterEightCumulativeJly + 120; + transmitElectricityCumulativeOutageOneJt.setBounds(annexEightCumulativeJlx + 750, transmitElectricityCumulativeOutageOneJtY, 240, 120); + + /** + * 输配电线路停运及恢复-新增-因灾停运-35 + */ + transmitElectricityCumulativeOutageThreeJt = new JTextField(); + setTextFiledColor(transmitElectricityCumulativeOutageThreeJt); + int transmitElectricityCumulativeOutageThreeJtY = tenKVDisasterEightCumulativeJly + 120; + transmitElectricityCumulativeOutageThreeJt.setBounds(annexEightCumulativeJlx + 1000, transmitElectricityCumulativeOutageThreeJtY, 240, 120); + /** + * 输配电线路停运及恢复-新增-因灾停运-10 + */ + transmitElectricityCumulativeOutageTenJt = new JTextField(); + setTextFiledColor(transmitElectricityCumulativeOutageTenJt); + int transmitElectricityCumulativeOutageTenJtY = tenKVDisasterEightCumulativeJly + 120; + transmitElectricityCumulativeOutageTenJt.setBounds(annexEightCumulativeJlx + 1250, transmitElectricityCumulativeOutageTenJtY, 240, 120); + + /** + * 抢修恢复 + */ + JLabel emergencyRepairRecoveryEightCumulativeLabel = new JLabel("抢修恢复"); + emergencyRepairRecoveryEightCumulativeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + emergencyRepairRecoveryEightCumulativeLabel.setForeground(new Color(11, 24, 76)); + int emergencyRepairRecoveryEightCumulativeJlx = 30; + int emergencyRepairRecoveryEightCumulativeJly = transmitElectricityCumulativeOutageTenJtY + 120; + emergencyRepairRecoveryEightCumulativeLabel.setBounds(emergencyRepairRecoveryEightCumulativeJlx, emergencyRepairRecoveryEightCumulativeJly, 800, 100); + + /** + * 抢修恢复-特高压 + */ + JLabel transmitElectricityCumulativeRepairUvhLabel = new JLabel("特高压"); + transmitElectricityCumulativeRepairUvhLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + transmitElectricityCumulativeRepairUvhLabel.setForeground(new Color(11, 24, 76)); + int transmitElectricityCumulativeRepairUvhJlx = 30; + int transmitElectricityCumulativeRepairUvhJly = emergencyRepairRecoveryEightCumulativeJly + 120; + transmitElectricityCumulativeRepairUvhLabel.setBounds(transmitElectricityCumulativeRepairUvhJlx, transmitElectricityCumulativeRepairUvhJly, 800, 100); + /** + * 抢修恢复-500kv + */ + + JLabel transmitElectricityCumulativeRepairFiveLabel = new JLabel("500kV"); + transmitElectricityCumulativeRepairFiveLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + transmitElectricityCumulativeRepairFiveLabel.setForeground(new Color(11, 24, 76)); + int transmitElectricityCumulativeRepairFiveJlx = transmitElectricityCumulativeRepairUvhJlx + 280; + int transmitElectricityCumulativeRepairFiveJly = emergencyRepairRecoveryEightCumulativeJly + 120; + transmitElectricityCumulativeRepairFiveLabel.setBounds(transmitElectricityCumulativeRepairFiveJlx, transmitElectricityCumulativeRepairFiveJly, 800, 100); + /** + * 抢修恢复-220/330kv + */ + JLabel transmitElectricityCumulativeRepairTwoLabel = new JLabel("220/330kV"); + transmitElectricityCumulativeRepairTwoLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + transmitElectricityCumulativeRepairTwoLabel.setForeground(new Color(11, 24, 76)); + int transmitElectricityCumulativeRepairTwoJlx = transmitElectricityCumulativeRepairFiveJlx + 200; + int transmitElectricityCumulativeRepairTwoJly = emergencyRepairRecoveryEightCumulativeJly + 120; + transmitElectricityCumulativeRepairTwoLabel.setBounds(transmitElectricityCumulativeRepairTwoJlx, transmitElectricityCumulativeRepairTwoJly, 800, 100); + + /** + * 抢修恢复-110/66kv + */ + JLabel transmitElectricityCumulativeRepairOneLabel = new JLabel("110/66kv"); + transmitElectricityCumulativeRepairOneLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + transmitElectricityCumulativeRepairOneLabel.setForeground(new Color(11, 24, 76)); + int transmitElectricityCumulativeRepairOneJlx = transmitElectricityCumulativeRepairTwoJlx + 270; + int transmitElectricityCumulativeRepairOneJly = emergencyRepairRecoveryEightCumulativeJly + 120; + transmitElectricityCumulativeRepairOneLabel.setBounds(transmitElectricityCumulativeRepairOneJlx, transmitElectricityCumulativeRepairOneJly, 800, 100); + + /** + * 抢修恢复-35kv + */ + JLabel transmitElectricityCumulativeRepairThreeLabel = new JLabel("35kv"); + transmitElectricityCumulativeRepairThreeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + transmitElectricityCumulativeRepairThreeLabel.setForeground(new Color(11, 24, 76)); + int transmitElectricityCumulativeRepairThreeJlx = transmitElectricityCumulativeRepairOneJlx + 300; + int transmitElectricityCumulativeRepairThreeJly = emergencyRepairRecoveryEightCumulativeJly + 120; + transmitElectricityCumulativeRepairThreeLabel.setBounds(transmitElectricityCumulativeRepairThreeJlx, transmitElectricityCumulativeRepairThreeJly, 800, 100); + /** + * 抢修恢复-10kv + */ + JLabel transmitElectricityCumulativeRepairTenLabel = new JLabel("10kv"); + transmitElectricityCumulativeRepairTenLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + transmitElectricityCumulativeRepairTenLabel.setForeground(new Color(11, 24, 76)); + int transmitElectricityCumulativeRepairTenJlx = transmitElectricityCumulativeRepairThreeJlx + 250; + int transmitElectricityCumulativeRepairTenJly = emergencyRepairRecoveryEightCumulativeJly + 120; + transmitElectricityCumulativeRepairTenLabel.setBounds(transmitElectricityCumulativeRepairTenJlx, transmitElectricityCumulativeRepairTenJly, 800, 100); + + + /** + * 输配电线路停运及恢复-新增-抢修恢复-特高压 + */ + transmitElectricityCumulativeRepairOutageUvhJt = new JTextField(); + setTextFiledColor(transmitElectricityCumulativeRepairOutageUvhJt); + int transmitElectricityCumulativeRepairOutageUvhJtY = transmitElectricityCumulativeRepairTenJly + 120; + transmitElectricityCumulativeRepairOutageUvhJt.setBounds(transmitElectricityAddRepairUvhJlx, transmitElectricityCumulativeRepairOutageUvhJtY, 240, 120); + + /** + * 输配电线路停运及恢复-新增-抢修恢复-500 + */ + transmitElectricityCumulativeRepairOutageFiveJt = new JTextField(); + setTextFiledColor(transmitElectricityCumulativeRepairOutageFiveJt); + int transmitElectricityCumulativeRepairOutageFiveJtY = transmitElectricityCumulativeRepairTenJly + 120; + transmitElectricityCumulativeRepairOutageFiveJt.setBounds(transmitElectricityCumulativeRepairUvhJlx + 250, transmitElectricityCumulativeRepairOutageFiveJtY, 240, 120); + + /** + * 输配电线路停运及恢复-新增-抢修恢复-300 + */ + transmitElectricityCumulativeRepairOutageTwoJt = new JTextField(); + setTextFiledColor(transmitElectricityCumulativeRepairOutageTwoJt); + int transmitElectricityCumulativeRepairOutageTwoJtY = transmitElectricityCumulativeRepairTenJly + 120; + transmitElectricityCumulativeRepairOutageTwoJt.setBounds(transmitElectricityCumulativeRepairUvhJlx + 500, transmitElectricityCumulativeRepairOutageTwoJtY, 240, 120); + + /** + * 输配电线路停运及恢复-新增-抢修恢复-110 + */ + transmitElectricityCumulativeRepairOutageOneJt = new JTextField(); + setTextFiledColor(transmitElectricityCumulativeRepairOutageOneJt); + int transmitElectricityCumulativeRepairOutageOneJtY = transmitElectricityCumulativeRepairTenJly + 120; + transmitElectricityCumulativeRepairOutageOneJt.setBounds(transmitElectricityCumulativeRepairUvhJlx + 750, transmitElectricityCumulativeRepairOutageOneJtY, 240, 120); + + /** + * 输配电线路停运及恢复-新增-抢修恢复-35 + */ + transmitElectricityCumulativeRepairOutageThreeJt = new JTextField(); + setTextFiledColor(transmitElectricityCumulativeRepairOutageThreeJt); + int transmitElectricityCumulativeRepairOutageThreeJtY = transmitElectricityCumulativeRepairTenJly + 120; + transmitElectricityCumulativeRepairOutageThreeJt.setBounds(transmitElectricityCumulativeRepairUvhJlx + 1000, transmitElectricityCumulativeRepairOutageThreeJtY, 240, 120); + /** + * 输配电线路停运及恢复-新增-抢修恢复-10 + */ + transmitElectricityCumulativeRepairOutageTenJt = new JTextField(); + setTextFiledColor(transmitElectricityCumulativeRepairOutageTenJt); + int transmitElectricityCumulativeRepairOutageTenJtY = transmitElectricityCumulativeRepairTenJly + 120; + transmitElectricityCumulativeRepairOutageTenJt.setBounds(transmitElectricityCumulativeRepairUvhJlx + 1250, transmitElectricityCumulativeRepairOutageTenJtY, 240, 120); + + /** + * 尚未恢复 + */ + JLabel emergencyEightCumulativeNoRepairRecoveryLabel = new JLabel("尚未恢复"); + emergencyEightCumulativeNoRepairRecoveryLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + emergencyEightCumulativeNoRepairRecoveryLabel.setForeground(new Color(11, 24, 76)); + int emergencyEightCumulativeNoRepairRecoveryJlx = 30; + int emergencyEightCumulativeNoRepairRecoveryJly = transmitElectricityCumulativeRepairOutageTenJtY + 120; + emergencyEightCumulativeNoRepairRecoveryLabel.setBounds(emergencyEightCumulativeNoRepairRecoveryJlx, emergencyEightCumulativeNoRepairRecoveryJly, 800, 100); + + /** + * 抢修恢复-特高压 + */ + JLabel transmitElectricityCumulativeNoRepairUvhLabel = new JLabel("特高压"); + transmitElectricityCumulativeNoRepairUvhLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + transmitElectricityCumulativeNoRepairUvhLabel.setForeground(new Color(11, 24, 76)); + int transmitElectricityCumulativeNoRepairUvhJlx = 30; + int transmitElectricityCumulativeNoRepairUvhJly = emergencyEightCumulativeNoRepairRecoveryJly + 120; + transmitElectricityCumulativeNoRepairUvhLabel.setBounds(transmitElectricityCumulativeNoRepairUvhJlx, transmitElectricityCumulativeNoRepairUvhJly, 800, 100); + /** + * 抢修恢复-500kv + */ + + JLabel transmitElectricityCumulativeNoRepairFiveLabel = new JLabel("500kV"); + transmitElectricityCumulativeNoRepairFiveLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + transmitElectricityCumulativeNoRepairFiveLabel.setForeground(new Color(11, 24, 76)); + int transmitElectricityCumulativeNoRepairFiveJlx = transmitElectricityCumulativeNoRepairUvhJlx + 280; + int transmitElectricityCumulativeNoRepairFiveJly = emergencyEightCumulativeNoRepairRecoveryJly + 120; + transmitElectricityCumulativeNoRepairFiveLabel.setBounds(transmitElectricityCumulativeNoRepairFiveJlx, transmitElectricityCumulativeNoRepairFiveJly, 800, 100); + /** + * 抢修恢复-220/330kv + */ + JLabel transmitElectricityCumulativeNoRepairTwoLabel = new JLabel("220/330kV"); + transmitElectricityCumulativeNoRepairTwoLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + transmitElectricityCumulativeNoRepairTwoLabel.setForeground(new Color(11, 24, 76)); + int transmitElectricityCumulativeNoRepairTwoJlx = transmitElectricityCumulativeNoRepairFiveJlx + 200; + int transmitElectricityCumulativeNoRepairTwoJly = emergencyEightCumulativeNoRepairRecoveryJly + 120; + transmitElectricityCumulativeNoRepairTwoLabel.setBounds(transmitElectricityCumulativeNoRepairTwoJlx, transmitElectricityCumulativeNoRepairTwoJly, 800, 100); + + /** + * 抢修恢复-110/66kv + */ + JLabel transmitElectricityCumulativeNoRepairOneLabel = new JLabel("110/66kv"); + transmitElectricityCumulativeNoRepairOneLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + transmitElectricityCumulativeNoRepairOneLabel.setForeground(new Color(11, 24, 76)); + int transmitElectricityCumulativeNoRepairOneJlx = transmitElectricityCumulativeNoRepairTwoJlx + 270; + int transmitElectricityCumulativeNoRepairOneJly = emergencyEightCumulativeNoRepairRecoveryJly + 120; + transmitElectricityCumulativeNoRepairOneLabel.setBounds(transmitElectricityCumulativeNoRepairOneJlx, transmitElectricityCumulativeNoRepairOneJly, 800, 100); + + /** + * 抢修恢复-35kv + */ + JLabel transmitElectricityCumulativeNoRepairThreeLabel = new JLabel("35kv"); + transmitElectricityCumulativeNoRepairThreeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + transmitElectricityCumulativeNoRepairThreeLabel.setForeground(new Color(11, 24, 76)); + int transmitElectricityCumulativeNoRepairThreeJlx = transmitElectricityCumulativeNoRepairOneJlx + 300; + int transmitElectricityCumulativeNoRepairThreeJly = emergencyEightCumulativeNoRepairRecoveryJly + 120; + transmitElectricityCumulativeNoRepairThreeLabel.setBounds(transmitElectricityCumulativeNoRepairThreeJlx, transmitElectricityCumulativeNoRepairThreeJly, 800, 100); + /** + * 抢修恢复-10kv + */ + JLabel transmitElectricityCumulativeNoRepairTenLabel = new JLabel("10kv"); + transmitElectricityCumulativeNoRepairTenLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + transmitElectricityCumulativeNoRepairTenLabel.setForeground(new Color(11, 24, 76)); + int transmitElectricityCumulativeNoRepairTenJlx = transmitElectricityCumulativeNoRepairThreeJlx + 250; + int transmitElectricityCumulativeNoRepairTenJly = emergencyEightCumulativeNoRepairRecoveryJly + 120; + transmitElectricityCumulativeNoRepairTenLabel.setBounds(transmitElectricityCumulativeNoRepairTenJlx, transmitElectricityCumulativeNoRepairTenJly, 800, 100); + + + /** + * 输配电线路停运及恢复-累计-尚未恢复-特高压 + */ + transmitElectricityCumulativeNoRepairOutageUvhJt = new JTextField(); + setTextFiledColor(transmitElectricityCumulativeNoRepairOutageUvhJt); + int transmitElectricityCumulativeNoRepairOutageUvhJtY = transmitElectricityCumulativeNoRepairTenJly + 120; + transmitElectricityCumulativeNoRepairOutageUvhJt.setBounds(transmitElectricityCumulativeNoRepairUvhJlx, transmitElectricityCumulativeNoRepairOutageUvhJtY, 240, 120); + + /** + * 输配电线路停运及恢复-累计-尚未恢复-500 + */ + transmitElectricityCumulativeNoRepairOutageFiveJt = new JTextField(); + setTextFiledColor(transmitElectricityCumulativeNoRepairOutageFiveJt); + int transmitElectricityCumulativeNoRepairOutageFiveJtY = transmitElectricityCumulativeNoRepairTenJly + 120; + transmitElectricityCumulativeNoRepairOutageFiveJt.setBounds(transmitElectricityCumulativeNoRepairUvhJlx + 250, transmitElectricityCumulativeNoRepairOutageFiveJtY, 240, 120); + + /** + * 输配电线路停运及恢复-累计-尚未恢复-300 + */ + transmitElectricityCumulativeNoRepairOutageTwoJt = new JTextField(); + setTextFiledColor(transmitElectricityCumulativeNoRepairOutageTwoJt); + int transmitElectricityCumulativeNoRepairOutageTwoJtY = transmitElectricityCumulativeNoRepairTenJly + 120; + transmitElectricityCumulativeNoRepairOutageTwoJt.setBounds(transmitElectricityCumulativeNoRepairUvhJlx + 500, transmitElectricityCumulativeNoRepairOutageTwoJtY, 240, 120); + + /** + * 输配电线路停运及恢复-累计-尚未恢复-110 + */ + transmitElectricityCumulativeNoRepairOutageOneJt = new JTextField(); + setTextFiledColor(transmitElectricityCumulativeNoRepairOutageOneJt); + int transmitElectricityCumulativeNoRepairOutageOneJtY = transmitElectricityCumulativeNoRepairTenJly + 120; + transmitElectricityCumulativeNoRepairOutageOneJt.setBounds(transmitElectricityCumulativeNoRepairUvhJlx + 750, transmitElectricityCumulativeNoRepairOutageOneJtY, 240, 120); + + /** + * 输配电线路停运及恢复-累计-尚未恢复-35 + */ + transmitElectricityCumulativeNoRepairOutageThreeJt = new JTextField(); + setTextFiledColor(transmitElectricityCumulativeNoRepairOutageThreeJt); + int transmitElectricityCumulativeNoRepairOutageThreeJtY = transmitElectricityCumulativeNoRepairTenJly + 120; + transmitElectricityCumulativeNoRepairOutageThreeJt.setBounds(transmitElectricityCumulativeNoRepairUvhJlx + 1000, transmitElectricityCumulativeNoRepairOutageThreeJtY, 240, 120); + /** + * 输配电线路停运及恢复-累计-尚未恢复-10 + */ + transmitElectricityCumulativeNoRepairOutageTenJt = new JTextField(); + setTextFiledColor(transmitElectricityCumulativeNoRepairOutageTenJt); + int transmitElectricityCumulativeNoRepairOutageTenJtY = transmitElectricityCumulativeNoRepairTenJly + 120; + transmitElectricityCumulativeNoRepairOutageTenJt.setBounds(transmitElectricityCumulativeNoRepairUvhJlx + 1250, transmitElectricityCumulativeNoRepairOutageTenJtY, 240, 120); + + + /**-----------------------------------------------------------------------附件九------------------------------------------------------------------------------------*/ + /** + * 附件九-台区、用户停运及恢复-新增情况 + */ + JLabel annexNineAddLabel = new JLabel("附件九-台区、用户停运及恢复-新增情况"); + annexNineAddLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + annexNineAddLabel.setForeground(new Color(11, 24, 76)); + int annexNineAddJlx = 30; + int annexNineAddJly = transmitElectricityCumulativeNoRepairOutageTenJtY + 150; + annexNineAddLabel.setBounds(annexNineAddJlx, annexNineAddJly, 1000, 100); + + /** + * 因灾停运 + */ + JLabel suspensionOfDisasterAddNineLabel = new JLabel("因灾停运"); + suspensionOfDisasterAddNineLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + suspensionOfDisasterAddNineLabel.setForeground(new Color(11, 24, 76)); + int suspensionOfDisasterAddNineJlx = 30; + int suspensionOfDisasterAddNineJly = annexNineAddJly + 120; + suspensionOfDisasterAddNineLabel.setBounds(suspensionOfDisasterAddNineJlx, suspensionOfDisasterAddNineJly, 800, 100); + + /** + * 因灾停运-台区 + */ + JLabel taiDistrictAddNineDisasterLabel = new JLabel("台区"); + taiDistrictAddNineDisasterLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + taiDistrictAddNineDisasterLabel.setForeground(new Color(11, 24, 76)); + int taiDistrictAddNineDisasterJlx = 30; + int taiDistrictAddNineDisasterJly = suspensionOfDisasterAddNineJly + 120; + taiDistrictAddNineDisasterLabel.setBounds(taiDistrictAddNineDisasterJlx, taiDistrictAddNineDisasterJly, 800, 100); + /** + * 因灾停运-用户 + */ + JLabel personnelAddNineDisasterLabel = new JLabel("用户"); + personnelAddNineDisasterLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + personnelAddNineDisasterLabel.setForeground(new Color(11, 24, 76)); + int personnelAddNineDisasterJlx = taiDistrictAddNineDisasterJlx + 280; + int personnelAddNineDisasterJly = suspensionOfDisasterAddNineJly + 120; + personnelAddNineDisasterLabel.setBounds(personnelAddNineDisasterJlx, personnelAddNineDisasterJly, 800, 100); + + /** + * 因灾停运-台区 + */ + nineAddTaiDistrictDisasterJt = new JTextField(); + setTextFiledColor(nineAddTaiDistrictDisasterJt); + int nineAddTaiDistrictDisasterJtY = personnelAddNineDisasterJly + 120; + nineAddTaiDistrictDisasterJt.setBounds(taiDistrictAddNineDisasterJlx, nineAddTaiDistrictDisasterJtY, 240, 120); + + /** + * 因灾停运-用户 + */ + nineAddPersonnelDisasterJt = new JTextField(); + setTextFiledColor(nineAddPersonnelDisasterJt); + int nineAddPersonnelDisasterJtY = personnelAddNineDisasterJly + 120; + nineAddPersonnelDisasterJt.setBounds(taiDistrictAddNineDisasterJlx + 250, nineAddPersonnelDisasterJtY, 240, 120); + + /** + * 抢修恢复 + */ + JLabel repairAddNineLabel = new JLabel("抢修恢复"); + repairAddNineLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + repairAddNineLabel.setForeground(new Color(11, 24, 76)); + int repairAddNineJlx = 30; + int repairAddNineJly = nineAddPersonnelDisasterJtY + 120; + repairAddNineLabel.setBounds(repairAddNineJlx, repairAddNineJly, 800, 100); + + /** + * 抢修恢复-台区 + */ + JLabel taiDistrictAddNineRepairLabel = new JLabel("台区"); + taiDistrictAddNineRepairLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + taiDistrictAddNineRepairLabel.setForeground(new Color(11, 24, 76)); + int taiDistrictAddNineRepairJlx = 30; + int taiDistrictAddNineRepairJly = repairAddNineJly + 120; + taiDistrictAddNineRepairLabel.setBounds(taiDistrictAddNineRepairJlx, taiDistrictAddNineRepairJly, 800, 100); + /** + * 抢修恢复-用户 + */ + JLabel personnelAddNineRepairLabel = new JLabel("用户"); + personnelAddNineRepairLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + personnelAddNineRepairLabel.setForeground(new Color(11, 24, 76)); + int personnelAddNineRepairJlx = taiDistrictAddNineRepairJlx + 280; + int personnelAddNineRepairJly = repairAddNineJly + 120; + personnelAddNineRepairLabel.setBounds(personnelAddNineRepairJlx, personnelAddNineRepairJly, 800, 100); + + /** + * 抢修恢复-台区 + */ + nineAddTaiDistrictRepairJt = new JTextField(); + setTextFiledColor(nineAddTaiDistrictRepairJt); + int nineAddTaiDistrictRepairJtY = personnelAddNineRepairJly + 120; + nineAddTaiDistrictRepairJt.setBounds(taiDistrictAddNineRepairJlx, nineAddTaiDistrictRepairJtY, 240, 120); + + /** + * 抢修恢复-用户 + */ + nineAddPersonnelRepairJt = new JTextField(); + setTextFiledColor(nineAddPersonnelRepairJt); + int nineAddPersonnelRepairJtY = personnelAddNineRepairJly + 120; + nineAddPersonnelRepairJt.setBounds(taiDistrictAddNineRepairJlx + 250, nineAddPersonnelRepairJtY, 240, 120); + /** + * 尚未恢复 + */ + JLabel noRepairAddNineLabel = new JLabel("尚未恢复"); + noRepairAddNineLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + noRepairAddNineLabel.setForeground(new Color(11, 24, 76)); + int noRepairAddNineJlx = 30; + int noRepairAddNineJly = nineAddPersonnelRepairJtY + 120; + noRepairAddNineLabel.setBounds(noRepairAddNineJlx, noRepairAddNineJly, 800, 100); + + /** + * 抢修恢复-台区 + */ + JLabel taiDistrictAddNineNoRepairLabel = new JLabel("台区"); + taiDistrictAddNineNoRepairLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + taiDistrictAddNineNoRepairLabel.setForeground(new Color(11, 24, 76)); + int taiDistrictAddNineNoRepairJlx = 30; + int taiDistrictAddNineNoRepairJly = noRepairAddNineJly + 120; + taiDistrictAddNineNoRepairLabel.setBounds(taiDistrictAddNineNoRepairJlx, taiDistrictAddNineNoRepairJly, 800, 100); + /** + * 抢修恢复-用户 + */ + JLabel personnelAddNineNoRepairLabel = new JLabel("用户"); + personnelAddNineNoRepairLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + personnelAddNineNoRepairLabel.setForeground(new Color(11, 24, 76)); + int personnelAddNineNoRepairJlx = taiDistrictAddNineNoRepairJlx + 280; + int personnelAddNineNoRepairJly = noRepairAddNineJly + 120; + personnelAddNineNoRepairLabel.setBounds(personnelAddNineNoRepairJlx, personnelAddNineNoRepairJly, 800, 100); + + /** + * 抢修恢复-台区 + */ + nineAddTaiDistrictNoRepairJt = new JTextField(); + setTextFiledColor(nineAddTaiDistrictNoRepairJt); + int nineAddTaiDistrictNoRepairJtY = personnelAddNineNoRepairJly + 120; + nineAddTaiDistrictNoRepairJt.setBounds(taiDistrictAddNineNoRepairJlx, nineAddTaiDistrictNoRepairJtY, 240, 120); + + /** + * 抢修恢复-用户 + */ + nineAddPersonnelNoRepairJt = new JTextField(); + setTextFiledColor(nineAddPersonnelNoRepairJt); + int nineAddPersonnelNoRepairJtY = personnelAddNineNoRepairJly + 120; + nineAddPersonnelNoRepairJt.setBounds(taiDistrictAddNineNoRepairJlx + 250, nineAddPersonnelNoRepairJtY, 240, 120); + /** + * 出动抢修力量 + */ + JLabel powerAddNineLabel = new JLabel("出动抢修力量"); + powerAddNineLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerAddNineLabel.setForeground(new Color(11, 24, 76)); + int powerAddNineJlx = 30; + int powerAddNineJly = nineAddPersonnelNoRepairJtY + 120; + powerAddNineLabel.setBounds(powerAddNineJlx, powerAddNineJly, 800, 100); + + /** + * 出动抢修力量-人员 + */ + JLabel powerPersonnelAddNineLabel = new JLabel("人员"); + powerPersonnelAddNineLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerPersonnelAddNineLabel.setForeground(new Color(11, 24, 76)); + int powerPersonnelAddNineJlx = 30; + int powerPersonnelAddNineJly = powerAddNineJly + 120; + powerPersonnelAddNineLabel.setBounds(powerPersonnelAddNineJlx, powerPersonnelAddNineJly, 800, 100); + /** + * 出动抢修力量-车辆 + */ + JLabel powerVehicleAddNineLabel = new JLabel("车辆"); + powerVehicleAddNineLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerVehicleAddNineLabel.setForeground(new Color(11, 24, 76)); + int powerVehicleAddNineJlx = powerPersonnelAddNineJlx + 280; + int powerVehicleAddNineJly = powerAddNineJly + 120; + powerVehicleAddNineLabel.setBounds(powerVehicleAddNineJlx, powerVehicleAddNineJly, 800, 100); + + /** + * 出动抢修力量-人员 + */ + powerPersonnelAddNineJt = new JTextField(); + setTextFiledColor(powerPersonnelAddNineJt); + int powerPersonnelAddNineJtY = powerVehicleAddNineJly + 120; + powerPersonnelAddNineJt.setBounds(powerPersonnelAddNineJlx, powerPersonnelAddNineJtY, 240, 120); + + /** + * 出动抢修力量-车辆 + */ + powerVehicleAddNineJt = new JTextField(); + setTextFiledColor(powerVehicleAddNineJt); + int powerVehicleAddNineJtY = powerVehicleAddNineJly + 120; + powerVehicleAddNineJt.setBounds(powerPersonnelAddNineJlx + 250, powerVehicleAddNineJtY, 240, 120); + + /** + * 附件九-台区、用户停运及恢复-累计情况 + */ + JLabel annexNineCumulativeLabel = new JLabel("附件九-台区、用户停运及恢复-累计情况"); + annexNineCumulativeLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + annexNineCumulativeLabel.setForeground(new Color(11, 24, 76)); + int annexNineCumulativeJlx = 30; + int annexNineCumulativeJly = powerVehicleAddNineJtY + 150; + annexNineCumulativeLabel.setBounds(annexNineCumulativeJlx, annexNineCumulativeJly, 1000, 100); + + /** + * 因灾停运 + */ + JLabel suspensionOfDisasterCumulativeNineLabel = new JLabel("因灾停运"); + suspensionOfDisasterCumulativeNineLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + suspensionOfDisasterCumulativeNineLabel.setForeground(new Color(11, 24, 76)); + int suspensionOfDisasterCumulativeNineJlx = 30; + int suspensionOfDisasterCumulativeNineJly = annexNineCumulativeJly + 120; + suspensionOfDisasterCumulativeNineLabel.setBounds(suspensionOfDisasterCumulativeNineJlx, suspensionOfDisasterCumulativeNineJly, 800, 100); + + /** + * 因灾停运-台区 + */ + JLabel taiDistrictCumulativeNineDisasterLabel = new JLabel("台区"); + taiDistrictCumulativeNineDisasterLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + taiDistrictCumulativeNineDisasterLabel.setForeground(new Color(11, 24, 76)); + int taiDistrictCumulativeNineDisasterJlx = 30; + int taiDistrictCumulativeNineDisasterJly = suspensionOfDisasterCumulativeNineJly + 120; + taiDistrictCumulativeNineDisasterLabel.setBounds(taiDistrictCumulativeNineDisasterJlx, taiDistrictCumulativeNineDisasterJly, 800, 100); + /** + * 因灾停运-用户 + */ + JLabel personnelCumulativeNineDisasterLabel = new JLabel("用户"); + personnelCumulativeNineDisasterLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + personnelCumulativeNineDisasterLabel.setForeground(new Color(11, 24, 76)); + int personnelCumulativeNineDisasterJlx = taiDistrictCumulativeNineDisasterJlx + 280; + int personnelCumulativeNineDisasterJly = suspensionOfDisasterCumulativeNineJly + 120; + personnelCumulativeNineDisasterLabel.setBounds(personnelCumulativeNineDisasterJlx, personnelCumulativeNineDisasterJly, 800, 100); + + /** + * 因灾停运-台区 + */ + nineCumulativeTaiDistrictDisasterJt = new JTextField(); + setTextFiledColor(nineCumulativeTaiDistrictDisasterJt); + int nineCumulativeTaiDistrictDisasterJtY = personnelCumulativeNineDisasterJly + 120; + nineCumulativeTaiDistrictDisasterJt.setBounds(taiDistrictCumulativeNineDisasterJlx, nineCumulativeTaiDistrictDisasterJtY, 240, 120); + + /** + * 因灾停运-用户 + */ + nineCumulativePersonnelDisasterJt = new JTextField(); + setTextFiledColor(nineCumulativePersonnelDisasterJt); + int nineCumulativePersonnelDisasterJtY = personnelCumulativeNineDisasterJly + 120; + nineCumulativePersonnelDisasterJt.setBounds(taiDistrictCumulativeNineDisasterJlx + 250, nineCumulativePersonnelDisasterJtY, 240, 120); + + /** + * 抢修恢复 + */ + JLabel repairCumulativeNineLabel = new JLabel("抢修恢复"); + repairCumulativeNineLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + repairCumulativeNineLabel.setForeground(new Color(11, 24, 76)); + int repairCumulativeNineJlx = 30; + int repairCumulativeNineJly = nineCumulativePersonnelDisasterJtY + 120; + repairCumulativeNineLabel.setBounds(repairCumulativeNineJlx, repairCumulativeNineJly, 800, 100); + + /** + * 抢修恢复-台区 + */ + JLabel taiDistrictCumulativeNineRepairLabel = new JLabel("台区"); + taiDistrictCumulativeNineRepairLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + taiDistrictCumulativeNineRepairLabel.setForeground(new Color(11, 24, 76)); + int taiDistrictCumulativeNineRepairJlx = 30; + int taiDistrictCumulativeNineRepairJly = repairCumulativeNineJly + 120; + taiDistrictCumulativeNineRepairLabel.setBounds(taiDistrictCumulativeNineRepairJlx, taiDistrictCumulativeNineRepairJly, 800, 100); + /** + * 抢修恢复-用户 + */ + JLabel personnelCumulativeNineRepairLabel = new JLabel("用户"); + personnelCumulativeNineRepairLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + personnelCumulativeNineRepairLabel.setForeground(new Color(11, 24, 76)); + int personnelCumulativeNineRepairJlx = taiDistrictCumulativeNineRepairJlx + 280; + int personnelCumulativeNineRepairJly = repairCumulativeNineJly + 120; + personnelCumulativeNineRepairLabel.setBounds(personnelCumulativeNineRepairJlx, personnelCumulativeNineRepairJly, 800, 100); + + /** + * 抢修恢复-台区 + */ + nineCumulativeTaiDistrictRepairJt = new JTextField(); + setTextFiledColor(nineCumulativeTaiDistrictRepairJt); + int nineCumulativeTaiDistrictRepairJtY = personnelCumulativeNineRepairJly + 120; + nineCumulativeTaiDistrictRepairJt.setBounds(taiDistrictCumulativeNineRepairJlx, nineCumulativeTaiDistrictRepairJtY, 240, 120); + + /** + * 抢修恢复-用户 + */ + nineCumulativePersonnelRepairJt = new JTextField(); + setTextFiledColor(nineCumulativePersonnelRepairJt); + int nineCumulativePersonnelRepairJtY = personnelCumulativeNineRepairJly + 120; + nineCumulativePersonnelRepairJt.setBounds(taiDistrictCumulativeNineRepairJlx + 250, nineCumulativePersonnelRepairJtY, 240, 120); + /** + * 尚未恢复 + */ + JLabel noRepairCumulativeNineLabel = new JLabel("尚未恢复"); + noRepairCumulativeNineLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + noRepairCumulativeNineLabel.setForeground(new Color(11, 24, 76)); + int noRepairCumulativeNineJlx = 30; + int noRepairCumulativeNineJly = nineCumulativePersonnelRepairJtY + 120; + noRepairCumulativeNineLabel.setBounds(noRepairCumulativeNineJlx, noRepairCumulativeNineJly, 800, 100); + + /** + * 抢修恢复-台区 + */ + JLabel taiDistrictCumulativeNineNoRepairLabel = new JLabel("台区"); + taiDistrictCumulativeNineNoRepairLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + taiDistrictCumulativeNineNoRepairLabel.setForeground(new Color(11, 24, 76)); + int taiDistrictCumulativeNineNoRepairJlx = 30; + int taiDistrictCumulativeNineNoRepairJly = noRepairCumulativeNineJly + 120; + taiDistrictCumulativeNineNoRepairLabel.setBounds(taiDistrictCumulativeNineNoRepairJlx, taiDistrictCumulativeNineNoRepairJly, 800, 100); + /** + * 抢修恢复-用户 + */ + JLabel personnelCumulativeNineNoRepairLabel = new JLabel("用户"); + personnelCumulativeNineNoRepairLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + personnelCumulativeNineNoRepairLabel.setForeground(new Color(11, 24, 76)); + int personnelCumulativeNineNoRepairJlx = taiDistrictCumulativeNineNoRepairJlx + 280; + int personnelCumulativeNineNoRepairJly = noRepairCumulativeNineJly + 120; + personnelCumulativeNineNoRepairLabel.setBounds(personnelCumulativeNineNoRepairJlx, personnelCumulativeNineNoRepairJly, 800, 100); + + /** + * 抢修恢复-台区 + */ + nineCumulativeTaiDistrictNoRepairJt = new JTextField(); + setTextFiledColor(nineCumulativeTaiDistrictNoRepairJt); + int nineCumulativeTaiDistrictNoRepairJtY = personnelCumulativeNineNoRepairJly + 120; + nineCumulativeTaiDistrictNoRepairJt.setBounds(taiDistrictCumulativeNineNoRepairJlx, nineCumulativeTaiDistrictNoRepairJtY, 240, 120); + + /** + * 抢修恢复-用户 + */ + nineCumulativePersonnelNoRepairJt = new JTextField(); + setTextFiledColor(nineCumulativePersonnelNoRepairJt); + int nineCumulativePersonnelNoRepairJtY = personnelCumulativeNineNoRepairJly + 120; + nineCumulativePersonnelNoRepairJt.setBounds(taiDistrictCumulativeNineNoRepairJlx + 250, nineCumulativePersonnelNoRepairJtY, 240, 120); + /** + * 出动抢修力量 + */ + JLabel powerCumulativeNineLabel = new JLabel("出动抢修力量"); + powerCumulativeNineLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerCumulativeNineLabel.setForeground(new Color(11, 24, 76)); + int powerCumulativeNineJlx = 30; + int powerCumulativeNineJly = nineCumulativePersonnelNoRepairJtY + 120; + powerCumulativeNineLabel.setBounds(powerCumulativeNineJlx, powerCumulativeNineJly, 800, 100); + + /** + * 出动抢修力量-人员 + */ + JLabel powerPersonnelCumulativeNineLabel = new JLabel("人员"); + powerPersonnelCumulativeNineLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerPersonnelCumulativeNineLabel.setForeground(new Color(11, 24, 76)); + int powerPersonnelCumulativeNineJlx = 30; + int powerPersonnelCumulativeNineJly = powerCumulativeNineJly + 120; + powerPersonnelCumulativeNineLabel.setBounds(powerPersonnelCumulativeNineJlx, powerPersonnelCumulativeNineJly, 800, 100); + /** + * 出动抢修力量-车辆 + */ + JLabel powerVehicleCumulativeNineLabel = new JLabel("车辆"); + powerVehicleCumulativeNineLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerVehicleCumulativeNineLabel.setForeground(new Color(11, 24, 76)); + int powerVehicleCumulativeNineJlx = powerPersonnelCumulativeNineJlx + 280; + int powerVehicleCumulativeNineJly = powerCumulativeNineJly + 120; + powerVehicleCumulativeNineLabel.setBounds(powerVehicleCumulativeNineJlx, powerVehicleCumulativeNineJly, 800, 100); + + /** + * 出动抢修力量-人员 + */ + powerPersonnelCumulativeNineJt = new JTextField(); + setTextFiledColor(powerPersonnelCumulativeNineJt); + int powerPersonnelCumulativeNineJtY = powerVehicleCumulativeNineJly + 120; + powerPersonnelCumulativeNineJt.setBounds(powerPersonnelCumulativeNineJlx, powerPersonnelCumulativeNineJtY, 240, 120); + + /** + * 出动抢修力量-车辆 + */ + powerVehicleCumulativeNineJt = new JTextField(); + setTextFiledColor(powerVehicleCumulativeNineJt); + int powerVehicleCumulativeNineJtY = powerVehicleCumulativeNineJly + 120; + powerVehicleCumulativeNineJt.setBounds(powerPersonnelCumulativeNineJlx + 250, powerVehicleCumulativeNineJtY, 240, 120); + /**-----------------------------------------------------------------附件十------------------------------------------------------------------------------------------*/ + /** + * 附表十 线路覆冰总体情况统计表(仅11月-次年3月报送) + */ + JLabel annexTenLabel = new JLabel("附表十 线路覆冰总体情况统计表(仅11月-次年3月报送)"); + annexTenLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + annexTenLabel.setForeground(new Color(11, 24, 76)); + int annexTenJlx = 30; + int annexTenJly = powerVehicleCumulativeNineJtY + 150; + annexTenLabel.setBounds(annexTenJlx, annexTenJly, 1000, 100); + + /** + * 特高压 + */ + JLabel tenUhvLabel = new JLabel("特高压"); + tenUhvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + tenUhvLabel.setForeground(new Color(11, 24, 76)); + int tenUhvJlx = 30; + int tenUhvJly = annexTenJly + 120; + tenUhvLabel.setBounds(tenUhvJlx, tenUhvJly, 800, 100); + /** + *500kv + */ + JLabel tenFiveHundredKvLabel = new JLabel("500kV"); + tenFiveHundredKvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + tenFiveHundredKvLabel.setForeground(new Color(11, 24, 76)); + int tenFiveHundredKvJlx = tenUhvJlx + 280; + int tenFiveHundredKvJly = annexTenJly + 120; + tenFiveHundredKvLabel.setBounds(tenFiveHundredKvJlx, tenFiveHundredKvJly, 800, 100); + + /** + * 220/330kv + */ + JLabel tenTwoHundredTwentyKvLabel = new JLabel("220/330kV"); + tenTwoHundredTwentyKvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + tenTwoHundredTwentyKvLabel.setForeground(new Color(11, 24, 76)); + int tenTwoHundredTwentyKvJlx = tenFiveHundredKvJlx + 200; + int tenTwoHundredTwentyKvJly = annexTenJly + 120; + tenTwoHundredTwentyKvLabel.setBounds(tenTwoHundredTwentyKvJlx, tenTwoHundredTwentyKvJly, 800, 100); + + /** + * 110/66kv + */ + JLabel tenOneHundredTenKvLabel = new JLabel("110/66kv"); + tenOneHundredTenKvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + tenOneHundredTenKvLabel.setForeground(new Color(11, 24, 76)); + int tenOneHundredTenKvJlx = tenTwoHundredTwentyKvJlx + 270; + int tenOneHundredTenKvJly = annexTenJly + 120; + tenOneHundredTenKvLabel.setBounds(tenOneHundredTenKvJlx, tenOneHundredTenKvJly, 800, 100); + + /** + * 35kv + */ + JLabel tenThirtyFiveKvLabel = new JLabel("35kv"); + tenThirtyFiveKvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + tenThirtyFiveKvLabel.setForeground(new Color(11, 24, 76)); + int tenThirtyFiveKvJlx = tenOneHundredTenKvJlx + 300; + int tenThirtyFiveKvJly = annexTenJly + 120; + tenThirtyFiveKvLabel.setBounds(tenThirtyFiveKvJlx, tenThirtyFiveKvJly, 800, 100); + /** + * 10kv + */ + JLabel tenTenKvLabel = new JLabel("10kv"); + tenTenKvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + tenTenKvLabel.setForeground(new Color(11, 24, 76)); + int tenTenKvJlx = tenThirtyFiveKvJlx + 250; + int tenTenKvJly = annexTenJly + 120; + tenTenKvLabel.setBounds(tenTenKvJlx, tenTenKvJly, 800, 100); + + + /** + * 特高压 + */ + tenUhvJt = new JTextField(); + setTextFiledColor(tenUhvJt); + int tenUhvJtY = tenTenKvJly + 120; + tenUhvJt.setBounds(annexEightJlx, tenUhvJtY, 240, 120); + + /** + * 500 + */ + tenFiveHundredKvJt = new JTextField(); + setTextFiledColor(tenFiveHundredKvJt); + int tenFiveHundredKvJtY = tenTenKvJly + 120; + tenFiveHundredKvJt.setBounds(annexEightJlx + 250, tenFiveHundredKvJtY, 240, 120); + + /** + * 300 + */ + tenTwoHundredTwentyKvJt = new JTextField(); + setTextFiledColor(tenTwoHundredTwentyKvJt); + int tenTwoHundredTwentyKvJtY = tenTenKvJly + 120; + tenTwoHundredTwentyKvJt.setBounds(annexEightJlx + 500, tenTwoHundredTwentyKvJtY, 240, 120); + + /** + * 110 + */ + tenOneHundredTenKvJt = new JTextField(); + setTextFiledColor(tenOneHundredTenKvJt); + int tenOneHundredTenKvJtY = tenTenKvJly + 120; + tenOneHundredTenKvJt.setBounds(annexEightJlx + 750, tenOneHundredTenKvJtY, 240, 120); + + /** + * 35 + */ + tenThirtyFiveKvJt = new JTextField(); + setTextFiledColor(tenThirtyFiveKvJt); + int tenThirtyFiveKvJtY = tenTenKvJly + 120; + tenThirtyFiveKvJt.setBounds(annexEightJlx + 1000, tenThirtyFiveKvJtY, 240, 120); + /** + * 10 + */ + tenTenKvJt = new JTextField(); + setTextFiledColor(tenTenKvJt); + int tenTenKvJtY = tenTenKvJly + 120; + tenTenKvJt.setBounds(annexEightJlx + 1250, tenTenKvJtY, 240, 120); + + /** + * 平均水位 + */ + JLabel tenAverageWaterLevelLabel = new JLabel("平均水位"); + tenAverageWaterLevelLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + tenAverageWaterLevelLabel.setForeground(new Color(11, 24, 76)); + int tenAverageWaterLevelJlx = 30; + int tenAverageWaterLevelJly = tenTenKvJtY + 120; + tenAverageWaterLevelLabel.setBounds(tenAverageWaterLevelJlx, tenAverageWaterLevelJly, 800, 100); + /** + *最大水位实测值 + */ + JLabel tenMeasuredValueLabel = new JLabel("最大水位实测值"); + tenMeasuredValueLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + tenMeasuredValueLabel.setForeground(new Color(11, 24, 76)); + int tenMeasuredValueJlx = tenUhvJlx + 350; + int tenMeasuredValueJly = tenTenKvJtY + 120; + tenMeasuredValueLabel.setBounds(tenMeasuredValueJlx, tenMeasuredValueJly, 800, 100); + + /** + * 最大水位设计值 + */ + JLabel tenDesignValuesLabel = new JLabel("最大水位设计值"); + tenDesignValuesLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + tenDesignValuesLabel.setForeground(new Color(11, 24, 76)); + int tenDesignValuesJlx = tenFiveHundredKvJlx + 500; + int tenDesignValuesJly = tenTenKvJtY + 120; + tenDesignValuesLabel.setBounds(tenDesignValuesJlx, tenDesignValuesJly, 800, 100); + + /** + * 平均覆冰 + */ + tenAverageWaterLevelJt = new JTextField(); + setTextFiledColor(tenAverageWaterLevelJt); + int tenAverageWaterLevelJtY = tenDesignValuesJly + 120; + tenAverageWaterLevelJt.setBounds(annexEightJlx, tenAverageWaterLevelJtY, 240, 120); + + /** + * 最大覆冰实测值 + */ + tenMeasuredValueJt = new JTextField(); + setTextFiledColor(tenMeasuredValueJt); + int tenMeasuredValueJtY = tenDesignValuesJly + 120; + tenMeasuredValueJt.setBounds(annexEightJlx + 400, tenMeasuredValueJtY, 240, 120); + /** + * 最大覆冰设计值 + */ + tenDesignValuesJt = new JTextField(); + setTextFiledColor(tenDesignValuesJt); + int tenDesignValuesJtY = tenDesignValuesJly + 120; + tenDesignValuesJt.setBounds(annexEightJlx + 830, tenDesignValuesJtY, 240, 120); + + /** + * 已采取措施行动 + */ + JLabel tenActionHasBeenTakenLabel = new JLabel("已采取措施行动"); + tenActionHasBeenTakenLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + tenActionHasBeenTakenLabel.setForeground(new Color(11, 24, 76)); + int tenActionHasBeenTakenJlx = 30; + int tenActionHasBeenTakenJly = tenDesignValuesJtY + 120; + tenActionHasBeenTakenLabel.setBounds(tenActionHasBeenTakenJlx, tenActionHasBeenTakenJly, 800, 100); + /** + * 已采取措施行动 + */ + tenActionHasBeenTakenJt = new JTextField(); + setTextFiledColor(tenActionHasBeenTakenJt); + int tenActionHasBeenTakenJtY = tenActionHasBeenTakenJly + 120; + tenActionHasBeenTakenJt.setBounds(30, tenActionHasBeenTakenJtY, 1310, 120); + + /**-----------------------------------------------------------------附件十一------------------------------------------------------------------------------------------*/ + /** + * 附表十一 线路覆冰详细情况统计表(仅11月-次年3月报送) + */ + JLabel annexElevenLabel = new JLabel("附表十一 线路覆冰详细情况统计表(仅11月-次年3月报送)"); + annexElevenLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + annexElevenLabel.setForeground(new Color(11, 24, 76)); + int annexElevenJlx = 30; + int annexElevenJly = tenActionHasBeenTakenJtY + 150; + annexElevenLabel.setBounds(annexElevenJlx, annexElevenJly, 1000, 100); + + /** + * 特高压 + */ + JLabel elevenUhvLabel = new JLabel("线路电压等级"); + elevenUhvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + elevenUhvLabel.setForeground(new Color(11, 24, 76)); + int elevenUhvJlx = 30; + int elevenUhvJly = annexElevenJly + 120; + elevenUhvLabel.setBounds(elevenUhvJlx, elevenUhvJly, 800, 100); + /** + *500kv + */ + JLabel elevenFiveHundredKvLabel = new JLabel("线路名称"); + elevenFiveHundredKvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + elevenFiveHundredKvLabel.setForeground(new Color(11, 24, 76)); + int elevenFiveHundredKvJlx = elevenUhvJlx + 320; + int elevenFiveHundredKvJly = annexElevenJly + 120; + elevenFiveHundredKvLabel.setBounds(elevenFiveHundredKvJlx, elevenFiveHundredKvJly, 800, 100); + + /** + * 220/330kv + */ + JLabel elevenTwoHundredTwentyKvLabel = new JLabel("起始杆塔号"); + elevenTwoHundredTwentyKvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + elevenTwoHundredTwentyKvLabel.setForeground(new Color(11, 24, 76)); + int elevenTwoHundredTwentyKvJlx = elevenFiveHundredKvJlx + 220; + int elevenTwoHundredTwentyKvJly = annexElevenJly + 120; + elevenTwoHundredTwentyKvLabel.setBounds(elevenTwoHundredTwentyKvJlx, elevenTwoHundredTwentyKvJly, 800, 100); + + /** + * 110/66kv + */ + JLabel elevenOneHundredTenKvLabel = new JLabel("结束杆塔号"); + elevenOneHundredTenKvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + elevenOneHundredTenKvLabel.setForeground(new Color(11, 24, 76)); + int elevenOneHundredTenKvJlx = elevenTwoHundredTwentyKvJlx + 270; + int elevenOneHundredTenKvJly = annexElevenJly + 120; + elevenOneHundredTenKvLabel.setBounds(elevenOneHundredTenKvJlx, elevenOneHundredTenKvJly, 800, 100); + + /** + * 35kv + */ + JLabel elevenThirtyFiveKvLabel = new JLabel("覆冰厚度"); + elevenThirtyFiveKvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + elevenThirtyFiveKvLabel.setForeground(new Color(11, 24, 76)); + int elevenThirtyFiveKvJlx = elevenOneHundredTenKvJlx + 300; + int elevenThirtyFiveKvJly = annexElevenJly + 120; + elevenThirtyFiveKvLabel.setBounds(elevenThirtyFiveKvJlx, elevenThirtyFiveKvJly, 800, 100); + + /** + * 特高压 + */ + elevenUhvJt = new JTextField(); + setTextFiledColor(elevenUhvJt); + int elevenUhvJtY = elevenThirtyFiveKvJly + 120; + elevenUhvJt.setBounds(annexEightJlx, elevenUhvJtY, 240, 120); + + /** + * 500 + */ + elevenFiveHundredKvJt = new JTextField(); + setTextFiledColor(elevenFiveHundredKvJt); + int elevenFiveHundredKvJtY = elevenThirtyFiveKvJly + 120; + elevenFiveHundredKvJt.setBounds(annexEightJlx + 300, elevenFiveHundredKvJtY, 240, 120); + + /** + * 300 + */ + elevenTwoHundredTwentyKvJt = new JTextField(); + setTextFiledColor(elevenTwoHundredTwentyKvJt); + int elevenTwoHundredTwentyKvJtY = elevenThirtyFiveKvJly + 120; + elevenTwoHundredTwentyKvJt.setBounds(annexEightJlx + 550, elevenTwoHundredTwentyKvJtY, 240, 120); + + /** + * 110 + */ + elevenOneHundredTenKvJt = new JTextField(); + setTextFiledColor(elevenOneHundredTenKvJt); + int elevenOneHundredTenKvJtY = elevenThirtyFiveKvJly + 120; + elevenOneHundredTenKvJt.setBounds(annexEightJlx + 800, elevenOneHundredTenKvJtY, 240, 120); + + /** + * 35 + */ + elevenThirtyFiveKvJt = new JTextField(); + setTextFiledColor(elevenThirtyFiveKvJt); + int elevenThirtyFiveKvJtY = elevenThirtyFiveKvJly + 120; + elevenThirtyFiveKvJt.setBounds(annexEightJlx + 1050, elevenThirtyFiveKvJtY, 240, 120); + + + /** + * 10kv + */ + JLabel elevenTenKvLabel = new JLabel("设计覆冰厚度"); + elevenTenKvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + elevenTenKvLabel.setForeground(new Color(11, 24, 76)); + int elevenTenKvJlx = 30; + int elevenTenKvJly = elevenThirtyFiveKvJtY + 120; + elevenTenKvLabel.setBounds(elevenTenKvJlx, elevenTenKvJly, 800, 100); + + /** + * 平均水位 + */ + JLabel elevenAverageWaterLevelLabel = new JLabel("采取措施冰厚"); + elevenAverageWaterLevelLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + elevenAverageWaterLevelLabel.setForeground(new Color(11, 24, 76)); + int elevenAverageWaterLevelJlx = elevenTenKvJlx + 400; + int elevenAverageWaterLevelJly = elevenThirtyFiveKvJtY + 120; + elevenAverageWaterLevelLabel.setBounds(elevenAverageWaterLevelJlx, elevenAverageWaterLevelJly, 800, 100); + /** + *最大水位实测值 + */ + JLabel elevenMeasuredValueLabel = new JLabel("可供使用抗冰装备"); + elevenMeasuredValueLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + elevenMeasuredValueLabel.setForeground(new Color(11, 24, 76)); + int elevenMeasuredValueJlx = elevenTenKvJlx + 800; + int elevenMeasuredValueJly = elevenThirtyFiveKvJtY + 120; + elevenMeasuredValueLabel.setBounds(elevenMeasuredValueJlx, elevenMeasuredValueJly, 800, 100); + /** + * 10 + */ + elevenTenKvJt = new JTextField(); + setTextFiledColor(elevenTenKvJt); + int elevenTenKvJtY = elevenMeasuredValueJly + 120; + elevenTenKvJt.setBounds(annexEightJlx, elevenTenKvJtY, 240, 120); + /** + * 平均覆冰 + */ + elevenAverageWaterLevelJt = new JTextField(); + setTextFiledColor(elevenAverageWaterLevelJt); + int elevenAverageWaterLevelJtY = elevenMeasuredValueJly + 120; + elevenAverageWaterLevelJt.setBounds(annexEightJlx + 400, elevenAverageWaterLevelJtY, 240, 120); + + /** + * 最大覆冰实测值 + */ + elevenMeasuredValueJt = new JTextField(); + setTextFiledColor(elevenMeasuredValueJt); + int elevenMeasuredValueJtY = elevenMeasuredValueJly + 120; + elevenMeasuredValueJt.setBounds(annexEightJlx + 800, elevenMeasuredValueJtY, 240, 120); + + /** + * 已采取措施行动 + */ + JLabel elevenActionHasBeenTakenLabel = new JLabel("已采取措施行动"); + elevenActionHasBeenTakenLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + elevenActionHasBeenTakenLabel.setForeground(new Color(11, 24, 76)); + int elevenActionHasBeenTakenJlx = 30; + int elevenActionHasBeenTakenJly = elevenMeasuredValueJtY + 120; + elevenActionHasBeenTakenLabel.setBounds(elevenActionHasBeenTakenJlx, elevenActionHasBeenTakenJly, 800, 100); + /** + * 已采取措施行动 + */ + elevenActionHasBeenTakenJt = new JTextField(); + setTextFiledColor(elevenActionHasBeenTakenJt); + int elevenActionHasBeenTakenJtY = elevenActionHasBeenTakenJly + 120; + elevenActionHasBeenTakenJt.setBounds(30, elevenActionHasBeenTakenJtY, 1310, 120); + + /**-----------------------------------------------------------------附件十二------------------------------------------------------------------------------------------*/ + /** + * 附表十二 超设计水位变电站数量统计表(仅6月-9月报送) + */ + JLabel annexTwelveLabel = new JLabel("附表十二 超设计水位变电站数量统计表(仅6月-9月报送)"); + annexTwelveLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + annexTwelveLabel.setForeground(new Color(11, 24, 76)); + int annexTwelveJlx = 30; + int annexTwelveJly = elevenActionHasBeenTakenJtY + 150; + annexTwelveLabel.setBounds(annexTwelveJlx, annexTwelveJly, 1000, 100); + + /** + * 特高压 + */ + JLabel twelveUhvLabel = new JLabel("特高压"); + twelveUhvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + twelveUhvLabel.setForeground(new Color(11, 24, 76)); + int twelveUhvJlx = 30; + int twelveUhvJly = annexTwelveJly + 120; + twelveUhvLabel.setBounds(twelveUhvJlx, twelveUhvJly, 800, 100); + /** + *500kv + */ + JLabel twelveFiveHundredKvLabel = new JLabel("500kV"); + twelveFiveHundredKvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + twelveFiveHundredKvLabel.setForeground(new Color(11, 24, 76)); + int twelveFiveHundredKvJlx = twelveUhvJlx + 280; + int twelveFiveHundredKvJly = annexTwelveJly + 120; + twelveFiveHundredKvLabel.setBounds(twelveFiveHundredKvJlx, twelveFiveHundredKvJly, 800, 100); + + /** + * 220/330kv + */ + JLabel twelveTwoHundredTwentyKvLabel = new JLabel("220/330kV"); + twelveTwoHundredTwentyKvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + twelveTwoHundredTwentyKvLabel.setForeground(new Color(11, 24, 76)); + int twelveTwoHundredTwentyKvJlx = twelveFiveHundredKvJlx + 200; + int twelveTwoHundredTwentyKvJly = annexTwelveJly + 120; + twelveTwoHundredTwentyKvLabel.setBounds(twelveTwoHundredTwentyKvJlx, twelveTwoHundredTwentyKvJly, 800, 100); + + /** + * 110/66kv + */ + JLabel twelveOneHundredTenKvLabel = new JLabel("110/66kv"); + twelveOneHundredTenKvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + twelveOneHundredTenKvLabel.setForeground(new Color(11, 24, 76)); + int twelveOneHundredTenKvJlx = twelveTwoHundredTwentyKvJlx + 270; + int twelveOneHundredTenKvJly = annexTwelveJly + 120; + twelveOneHundredTenKvLabel.setBounds(twelveOneHundredTenKvJlx, twelveOneHundredTenKvJly, 800, 100); + + /** + * 35kv + */ + JLabel twelveThirtyFiveKvLabel = new JLabel("35kv"); + twelveThirtyFiveKvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + twelveThirtyFiveKvLabel.setForeground(new Color(11, 24, 76)); + int twelveThirtyFiveKvJlx = twelveOneHundredTenKvJlx + 300; + int twelveThirtyFiveKvJly = annexTwelveJly + 120; + twelveThirtyFiveKvLabel.setBounds(twelveThirtyFiveKvJlx, twelveThirtyFiveKvJly, 800, 100); + /** + * 10kv + */ + JLabel twelveTenKvLabel = new JLabel("10kv"); + twelveTenKvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + twelveTenKvLabel.setForeground(new Color(11, 24, 76)); + int twelveTenKvJlx = twelveThirtyFiveKvJlx + 250; + int twelveTenKvJly = annexTwelveJly + 120; + twelveTenKvLabel.setBounds(twelveTenKvJlx, twelveTenKvJly, 800, 100); + + + /** + * 特高压 + */ + twelveUhvJt = new JTextField(); + setTextFiledColor(twelveUhvJt); + int twelveUhvJtY = twelveTenKvJly + 120; + twelveUhvJt.setBounds(annexEightJlx, twelveUhvJtY, 240, 120); + + /** + * 500 + */ + twelveFiveHundredKvJt = new JTextField(); + setTextFiledColor(twelveFiveHundredKvJt); + int twelveFiveHundredKvJtY = twelveTenKvJly + 120; + twelveFiveHundredKvJt.setBounds(annexEightJlx + 250, twelveFiveHundredKvJtY, 240, 120); + + /** + * 300 + */ + twelveTwoHundredTwentyKvJt = new JTextField(); + setTextFiledColor(twelveTwoHundredTwentyKvJt); + int twelveTwoHundredTwentyKvJtY = twelveTenKvJly + 120; + twelveTwoHundredTwentyKvJt.setBounds(annexEightJlx + 500, twelveTwoHundredTwentyKvJtY, 240, 120); + + /** + * 110 + */ + twelveOneHundredTenKvJt = new JTextField(); + setTextFiledColor(twelveOneHundredTenKvJt); + int twelveOneHundredTenKvJtY = twelveTenKvJly + 120; + twelveOneHundredTenKvJt.setBounds(annexEightJlx + 750, twelveOneHundredTenKvJtY, 240, 120); + + /** + * 35 + */ + twelveThirtyFiveKvJt = new JTextField(); + setTextFiledColor(twelveThirtyFiveKvJt); + int twelveThirtyFiveKvJtY = twelveTenKvJly + 120; + twelveThirtyFiveKvJt.setBounds(annexEightJlx + 1000, twelveThirtyFiveKvJtY, 240, 120); + /** + * 10 + */ + twelveTenKvJt = new JTextField(); + setTextFiledColor(twelveTenKvJt); + int twelveTenKvJtY = twelveTenKvJly + 120; + twelveTenKvJt.setBounds(annexEightJlx + 1250, twelveTenKvJtY, 240, 120); + + /** + * 平均水位 + */ + JLabel twelveAverageWaterLevelLabel = new JLabel("平均水位"); + twelveAverageWaterLevelLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + twelveAverageWaterLevelLabel.setForeground(new Color(11, 24, 76)); + int twelveAverageWaterLevelJlx = 30; + int twelveAverageWaterLevelJly = twelveTenKvJtY + 120; + twelveAverageWaterLevelLabel.setBounds(twelveAverageWaterLevelJlx, twelveAverageWaterLevelJly, 800, 100); + /** + *最大水位实测值 + */ + JLabel twelveMeasuredValueLabel = new JLabel("最大水位实测值"); + twelveMeasuredValueLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + twelveMeasuredValueLabel.setForeground(new Color(11, 24, 76)); + int twelveMeasuredValueJlx = twelveUhvJlx + 350; + int twelveMeasuredValueJly = twelveTenKvJtY + 120; + twelveMeasuredValueLabel.setBounds(twelveMeasuredValueJlx, twelveMeasuredValueJly, 800, 100); + + /** + * 最大水位设计值 + */ + JLabel twelveDesignValuesLabel = new JLabel("最大水位设计值"); + twelveDesignValuesLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + twelveDesignValuesLabel.setForeground(new Color(11, 24, 76)); + int twelveDesignValuesJlx = twelveFiveHundredKvJlx + 500; + int twelveDesignValuesJly = twelveTenKvJtY + 120; + twelveDesignValuesLabel.setBounds(twelveDesignValuesJlx, twelveDesignValuesJly, 800, 100); + + /** + * 平均水位 + */ + twelveAverageWaterLevelJt = new JTextField(); + setTextFiledColor(twelveAverageWaterLevelJt); + int twelveAverageWaterLevelJtY = twelveDesignValuesJly + 120; + twelveAverageWaterLevelJt.setBounds(annexEightJlx, twelveAverageWaterLevelJtY, 240, 120); + + /** + * 最大水位实测值 + */ + twelveMeasuredValueJt = new JTextField(); + setTextFiledColor(twelveMeasuredValueJt); + int twelveMeasuredValueJtY = twelveDesignValuesJly + 120; + twelveMeasuredValueJt.setBounds(annexEightJlx + 400, twelveMeasuredValueJtY, 240, 120); + /** + * 最大水位设计值 + */ + twelveDesignValuesJt = new JTextField(); + setTextFiledColor(twelveDesignValuesJt); + int twelveDesignValuesJtY = twelveDesignValuesJly + 120; + twelveDesignValuesJt.setBounds(annexEightJlx + 830, twelveDesignValuesJtY, 240, 120); + + /** + * 已采取措施行动 + */ + JLabel twelveActionHasBeenTakenLabel = new JLabel("已采取措施行动"); + twelveActionHasBeenTakenLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + twelveActionHasBeenTakenLabel.setForeground(new Color(11, 24, 76)); + int twelveActionHasBeenTakenJlx = 30; + int twelveActionHasBeenTakenJly = twelveDesignValuesJtY + 120; + twelveActionHasBeenTakenLabel.setBounds(twelveActionHasBeenTakenJlx, twelveActionHasBeenTakenJly, 800, 100); + /** + * 已采取措施行动 + */ + twelveActionHasBeenTakenJt = new JTextField(); + setTextFiledColor(twelveActionHasBeenTakenJt); + int twelveActionHasBeenTakenJtY = twelveActionHasBeenTakenJly + 120; + twelveActionHasBeenTakenJt.setBounds(30, twelveActionHasBeenTakenJtY, 1310, 120); + /**-----------------------------------------------------------附件十三---------------------------------------------------------------------*/ + /** + * 附表十三 超设计水位线路数量统计表(仅6月-9月报送) + */ + JLabel annexThirteenLabel = new JLabel(" 附表十三-超设计水位线路数量统计表(仅6月-9月报送)"); + annexThirteenLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + annexThirteenLabel.setForeground(new Color(11, 24, 76)); + int annexThirteenJlx = 30; + int annexThirteenJly = twelveActionHasBeenTakenJtY + 150; + annexThirteenLabel.setBounds(annexThirteenJlx, annexThirteenJly, 1000, 100); + + /** + * 特高压 + */ + JLabel thirteenUhvLabel = new JLabel("特高压"); + thirteenUhvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + thirteenUhvLabel.setForeground(new Color(11, 24, 76)); + int thirteenUhvJlx = 30; + int thirteenUhvJly = annexThirteenJly + 120; + thirteenUhvLabel.setBounds(thirteenUhvJlx, thirteenUhvJly, 800, 100); + /** + *500kv + */ + JLabel thirteenFiveHundredKvLabel = new JLabel("500kV"); + thirteenFiveHundredKvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + thirteenFiveHundredKvLabel.setForeground(new Color(11, 24, 76)); + int thirteenFiveHundredKvJlx = thirteenUhvJlx + 280; + int thirteenFiveHundredKvJly = annexThirteenJly + 120; + thirteenFiveHundredKvLabel.setBounds(thirteenFiveHundredKvJlx, thirteenFiveHundredKvJly, 800, 100); + + /** + * 220/330kv + */ + JLabel thirteenTwoHundredTwentyKvLabel = new JLabel("220/330kV"); + thirteenTwoHundredTwentyKvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + thirteenTwoHundredTwentyKvLabel.setForeground(new Color(11, 24, 76)); + int thirteenTwoHundredTwentyKvJlx = thirteenFiveHundredKvJlx + 200; + int thirteenTwoHundredTwentyKvJly = annexThirteenJly + 120; + thirteenTwoHundredTwentyKvLabel.setBounds(thirteenTwoHundredTwentyKvJlx, thirteenTwoHundredTwentyKvJly, 800, 100); + + /** + * 110/66kv + */ + JLabel thirteenOneHundredTenKvLabel = new JLabel("110/66kv"); + thirteenOneHundredTenKvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + thirteenOneHundredTenKvLabel.setForeground(new Color(11, 24, 76)); + int thirteenOneHundredTenKvJlx = thirteenTwoHundredTwentyKvJlx + 270; + int thirteenOneHundredTenKvJly = annexThirteenJly + 120; + thirteenOneHundredTenKvLabel.setBounds(thirteenOneHundredTenKvJlx, thirteenOneHundredTenKvJly, 800, 100); + + /** + * 35kv + */ + JLabel thirteenThirtyFiveKvLabel = new JLabel("35kv"); + thirteenThirtyFiveKvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + thirteenThirtyFiveKvLabel.setForeground(new Color(11, 24, 76)); + int thirteenThirtyFiveKvJlx = thirteenOneHundredTenKvJlx + 300; + int thirteenThirtyFiveKvJly = annexThirteenJly + 120; + thirteenThirtyFiveKvLabel.setBounds(thirteenThirtyFiveKvJlx, thirteenThirtyFiveKvJly, 800, 100); + /** + * 10kv + */ + JLabel thirteenTenKvLabel = new JLabel("10kv"); + thirteenTenKvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + thirteenTenKvLabel.setForeground(new Color(11, 24, 76)); + int thirteenTenKvJlx = thirteenThirtyFiveKvJlx + 250; + int thirteenTenKvJly = annexThirteenJly + 120; + thirteenTenKvLabel.setBounds(thirteenTenKvJlx, thirteenTenKvJly, 800, 100); + + + /** + * 特高压 + */ + thirteenUhvJt = new JTextField(); + setTextFiledColor(thirteenUhvJt); + int thirteenUhvJtY = thirteenTenKvJly + 120; + thirteenUhvJt.setBounds(annexEightJlx, thirteenUhvJtY, 240, 120); + + /** + * 500 + */ + thirteenFiveHundredKvJt = new JTextField(); + setTextFiledColor(thirteenFiveHundredKvJt); + int thirteenFiveHundredKvJtY = thirteenTenKvJly + 120; + thirteenFiveHundredKvJt.setBounds(annexEightJlx + 250, thirteenFiveHundredKvJtY, 240, 120); + + /** + * 300 + */ + thirteenTwoHundredTwentyKvJt = new JTextField(); + setTextFiledColor(thirteenTwoHundredTwentyKvJt); + int thirteenTwoHundredTwentyKvJtY = thirteenTenKvJly + 120; + thirteenTwoHundredTwentyKvJt.setBounds(annexEightJlx + 500, thirteenTwoHundredTwentyKvJtY, 240, 120); + + /** + * 110 + */ + thirteenOneHundredTenKvJt = new JTextField(); + setTextFiledColor(thirteenOneHundredTenKvJt); + int thirteenOneHundredTenKvJtY = thirteenTenKvJly + 120; + thirteenOneHundredTenKvJt.setBounds(annexEightJlx + 750, thirteenOneHundredTenKvJtY, 240, 120); + + /** + * 35 + */ + thirteenThirtyFiveKvJt = new JTextField(); + setTextFiledColor(thirteenThirtyFiveKvJt); + int thirteenThirtyFiveKvJtY = thirteenTenKvJly + 120; + thirteenThirtyFiveKvJt.setBounds(annexEightJlx + 1000, thirteenThirtyFiveKvJtY, 240, 120); + /** + * 10 + */ + thirteenTenKvJt = new JTextField(); + setTextFiledColor(thirteenTenKvJt); + int thirteenTenKvJtY = thirteenTenKvJly + 120; + thirteenTenKvJt.setBounds(annexEightJlx + 1250, thirteenTenKvJtY, 240, 120); + + /** + * 平均水位 + */ + JLabel thirteenAverageWaterLevelLabel = new JLabel("平均水位"); + thirteenAverageWaterLevelLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + thirteenAverageWaterLevelLabel.setForeground(new Color(11, 24, 76)); + int thirteenAverageWaterLevelJlx = 30; + int thirteenAverageWaterLevelJly = thirteenTenKvJtY + 120; + thirteenAverageWaterLevelLabel.setBounds(thirteenAverageWaterLevelJlx, thirteenAverageWaterLevelJly, 800, 100); + /** + *最大水位实测值 + */ + JLabel thirteenMeasuredValueLabel = new JLabel("最大水位实测值"); + thirteenMeasuredValueLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + thirteenMeasuredValueLabel.setForeground(new Color(11, 24, 76)); + int thirteenMeasuredValueJlx = thirteenUhvJlx + 350; + int thirteenMeasuredValueJly = thirteenTenKvJtY + 120; + thirteenMeasuredValueLabel.setBounds(thirteenMeasuredValueJlx, thirteenMeasuredValueJly, 800, 100); + + /** + * 最大水位设计值 + */ + JLabel thirteenDesignValuesLabel = new JLabel("最大水位设计值"); + thirteenDesignValuesLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + thirteenDesignValuesLabel.setForeground(new Color(11, 24, 76)); + int thirteenDesignValuesJlx = thirteenFiveHundredKvJlx + 500; + int thirteenDesignValuesJly = thirteenTenKvJtY + 120; + thirteenDesignValuesLabel.setBounds(thirteenDesignValuesJlx, thirteenDesignValuesJly, 800, 100); + + /** + * 平均水位 + */ + thirteenAverageWaterLevelJt = new JTextField(); + setTextFiledColor(thirteenAverageWaterLevelJt); + int thirteenAverageWaterLevelJtY = thirteenDesignValuesJly + 120; + thirteenAverageWaterLevelJt.setBounds(annexEightJlx, thirteenAverageWaterLevelJtY, 240, 120); + + /** + * 最大水位实测值 + */ + thirteenMeasuredValueJt = new JTextField(); + setTextFiledColor(thirteenMeasuredValueJt); + int thirteenMeasuredValueJtY = thirteenDesignValuesJly + 120; + thirteenMeasuredValueJt.setBounds(annexEightJlx + 400, thirteenMeasuredValueJtY, 240, 120); + /** + * 最大水位设计值 + */ + thirteenDesignValuesJt = new JTextField(); + setTextFiledColor(thirteenDesignValuesJt); + int thirteenDesignValuesJtY = thirteenDesignValuesJly + 120; + thirteenDesignValuesJt.setBounds(annexEightJlx + 830, thirteenDesignValuesJtY, 240, 120); + + /** + * 已采取措施行动 + */ + JLabel thirteenActionHasBeenTakenLabel = new JLabel("已采取措施行动"); + thirteenActionHasBeenTakenLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + thirteenActionHasBeenTakenLabel.setForeground(new Color(11, 24, 76)); + int thirteenActionHasBeenTakenJlx = 30; + int thirteenActionHasBeenTakenJly = thirteenDesignValuesJtY + 120; + thirteenActionHasBeenTakenLabel.setBounds(thirteenActionHasBeenTakenJlx, thirteenActionHasBeenTakenJly, 800, 100); + /** + * 已采取措施行动 + */ + thirteenActionHasBeenTakenJt = new JTextField(); + setTextFiledColor(thirteenActionHasBeenTakenJt); + int thirteenActionHasBeenTakenJtY = thirteenActionHasBeenTakenJly + 120; + thirteenActionHasBeenTakenJt.setBounds(30, thirteenActionHasBeenTakenJtY, 1310, 120); + /**-----------------------------------------------------------附件十四---------------------------------------------------------------------*/ + /** + * 附表十四 超设计风力线路数量统计表 + */ + JLabel annexFourteenLabel = new JLabel("附表十四- 超设计风力线路数量统计表"); + annexFourteenLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + annexFourteenLabel.setForeground(new Color(11, 24, 76)); + int annexFourteenJlx = 30; + int annexFourteenJly = thirteenActionHasBeenTakenJtY + 150; + annexFourteenLabel.setBounds(annexFourteenJlx, annexFourteenJly, 1000, 100); + + /** + * 特高压 + */ + JLabel fourteenUhvLabel = new JLabel("特高压"); + fourteenUhvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + fourteenUhvLabel.setForeground(new Color(11, 24, 76)); + int fourteenUhvJlx = 30; + int fourteenUhvJly = annexFourteenJly + 120; + fourteenUhvLabel.setBounds(fourteenUhvJlx, fourteenUhvJly, 800, 100); + /** + *500kv + */ + JLabel fourteenFiveHundredKvLabel = new JLabel("500kV"); + fourteenFiveHundredKvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + fourteenFiveHundredKvLabel.setForeground(new Color(11, 24, 76)); + int fourteenFiveHundredKvJlx = fourteenUhvJlx + 280; + int fourteenFiveHundredKvJly = annexFourteenJly + 120; + fourteenFiveHundredKvLabel.setBounds(fourteenFiveHundredKvJlx, fourteenFiveHundredKvJly, 800, 100); + + /** + * 220/330kv + */ + JLabel fourteenTwoHundredTwentyKvLabel = new JLabel("220/330kV"); + fourteenTwoHundredTwentyKvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + fourteenTwoHundredTwentyKvLabel.setForeground(new Color(11, 24, 76)); + int fourteenTwoHundredTwentyKvJlx = fourteenFiveHundredKvJlx + 200; + int fourteenTwoHundredTwentyKvJly = annexFourteenJly + 120; + fourteenTwoHundredTwentyKvLabel.setBounds(fourteenTwoHundredTwentyKvJlx, fourteenTwoHundredTwentyKvJly, 800, 100); + + /** + * 110/66kv + */ + JLabel fourteenOneHundredTenKvLabel = new JLabel("110/66kv"); + fourteenOneHundredTenKvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + fourteenOneHundredTenKvLabel.setForeground(new Color(11, 24, 76)); + int fourteenOneHundredTenKvJlx = fourteenTwoHundredTwentyKvJlx + 270; + int fourteenOneHundredTenKvJly = annexFourteenJly + 120; + fourteenOneHundredTenKvLabel.setBounds(fourteenOneHundredTenKvJlx, fourteenOneHundredTenKvJly, 800, 100); + + /** + * 35kv + */ + JLabel fourteenThirtyFiveKvLabel = new JLabel("35kv"); + fourteenThirtyFiveKvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + fourteenThirtyFiveKvLabel.setForeground(new Color(11, 24, 76)); + int fourteenThirtyFiveKvJlx = fourteenOneHundredTenKvJlx + 300; + int fourteenThirtyFiveKvJly = annexFourteenJly + 120; + fourteenThirtyFiveKvLabel.setBounds(fourteenThirtyFiveKvJlx, fourteenThirtyFiveKvJly, 800, 100); + /** + * 10kv + */ + JLabel fourteenTenKvLabel = new JLabel("10kv"); + fourteenTenKvLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + fourteenTenKvLabel.setForeground(new Color(11, 24, 76)); + int fourteenTenKvJlx = fourteenThirtyFiveKvJlx + 250; + int fourteenTenKvJly = annexFourteenJly + 120; + fourteenTenKvLabel.setBounds(fourteenTenKvJlx, fourteenTenKvJly, 800, 100); + + + /** + * 特高压 + */ + fourteenUhvJt = new JTextField(); + setTextFiledColor(fourteenUhvJt); + int fourteenUhvJtY = fourteenTenKvJly + 120; + fourteenUhvJt.setBounds(annexEightJlx, fourteenUhvJtY, 240, 120); + + /** + * 500 + */ + fourteenFiveHundredKvJt = new JTextField(); + setTextFiledColor(fourteenFiveHundredKvJt); + int fourteenFiveHundredKvJtY = fourteenTenKvJly + 120; + fourteenFiveHundredKvJt.setBounds(annexEightJlx + 250, fourteenFiveHundredKvJtY, 240, 120); + + /** + * 300 + */ + fourteenTwoHundredTwentyKvJt = new JTextField(); + setTextFiledColor(fourteenTwoHundredTwentyKvJt); + int fourteenTwoHundredTwentyKvJtY = fourteenTenKvJly + 120; + fourteenTwoHundredTwentyKvJt.setBounds(annexEightJlx + 500, fourteenTwoHundredTwentyKvJtY, 240, 120); + + /** + * 110 + */ + fourteenOneHundredTenKvJt = new JTextField(); + setTextFiledColor(fourteenOneHundredTenKvJt); + int fourteenOneHundredTenKvJtY = fourteenTenKvJly + 120; + fourteenOneHundredTenKvJt.setBounds(annexEightJlx + 750, fourteenOneHundredTenKvJtY, 240, 120); + + /** + * 35 + */ + fourteenThirtyFiveKvJt = new JTextField(); + setTextFiledColor(fourteenThirtyFiveKvJt); + int fourteenThirtyFiveKvJtY = fourteenTenKvJly + 120; + fourteenThirtyFiveKvJt.setBounds(annexEightJlx + 1000, fourteenThirtyFiveKvJtY, 240, 120); + /** + * 10 + */ + fourteenTenKvJt = new JTextField(); + setTextFiledColor(fourteenTenKvJt); + int fourteenTenKvJtY = fourteenTenKvJly + 120; + fourteenTenKvJt.setBounds(annexEightJlx + 1250, fourteenTenKvJtY, 240, 120); + + /** + * 平均风力 + */ + JLabel fourteenAverageWaterLevelLabel = new JLabel("平均风力"); + fourteenAverageWaterLevelLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + fourteenAverageWaterLevelLabel.setForeground(new Color(11, 24, 76)); + int fourteenAverageWaterLevelJlx = 30; + int fourteenAverageWaterLevelJly = fourteenTenKvJtY + 120; + fourteenAverageWaterLevelLabel.setBounds(fourteenAverageWaterLevelJlx, fourteenAverageWaterLevelJly, 800, 100); + /** + *最大风力实测值 + */ + JLabel fourteenMeasuredValueLabel = new JLabel("最大风力实测值"); + fourteenMeasuredValueLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + fourteenMeasuredValueLabel.setForeground(new Color(11, 24, 76)); + int fourteenMeasuredValueJlx = fourteenUhvJlx + 350; + int fourteenMeasuredValueJly = fourteenTenKvJtY + 120; + fourteenMeasuredValueLabel.setBounds(fourteenMeasuredValueJlx, fourteenMeasuredValueJly, 800, 100); + + /** + * 最大风力设计值 + */ + JLabel fourteenDesignValuesLabel = new JLabel("最大风力设计值"); + fourteenDesignValuesLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + fourteenDesignValuesLabel.setForeground(new Color(11, 24, 76)); + int fourteenDesignValuesJlx = fourteenFiveHundredKvJlx + 500; + int fourteenDesignValuesJly = fourteenTenKvJtY + 120; + fourteenDesignValuesLabel.setBounds(fourteenDesignValuesJlx, fourteenDesignValuesJly, 800, 100); + + /** + * 平均风力 + */ + fourteenAverageWaterLevelJt = new JTextField(); + setTextFiledColor(fourteenAverageWaterLevelJt); + int fourteenAverageWaterLevelJtY = fourteenDesignValuesJly + 120; + fourteenAverageWaterLevelJt.setBounds(annexEightJlx, fourteenAverageWaterLevelJtY, 240, 120); + + /** + * 最大风力实测值 + */ + fourteenMeasuredValueJt = new JTextField(); + setTextFiledColor(fourteenMeasuredValueJt); + int fourteenMeasuredValueJtY = fourteenDesignValuesJly + 120; + fourteenMeasuredValueJt.setBounds(annexEightJlx + 400, fourteenMeasuredValueJtY, 240, 120); + /** + * 最大风力设计值 + */ + fourteenDesignValuesJt = new JTextField(); + setTextFiledColor(fourteenDesignValuesJt); + int fourteenDesignValuesJtY = fourteenDesignValuesJly + 120; + fourteenDesignValuesJt.setBounds(annexEightJlx + 830, fourteenDesignValuesJtY, 240, 120); + + /** + * 已采取措施行动 + */ + JLabel fourteenActionHasBeenTakenLabel = new JLabel("已采取措施行动"); + fourteenActionHasBeenTakenLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + fourteenActionHasBeenTakenLabel.setForeground(new Color(11, 24, 76)); + int fourteenActionHasBeenTakenJlx = 30; + int fourteenActionHasBeenTakenJly = fourteenDesignValuesJtY + 120; + fourteenActionHasBeenTakenLabel.setBounds(fourteenActionHasBeenTakenJlx, fourteenActionHasBeenTakenJly, 800, 100); + /** + * 已采取措施行动 + */ + fourteenActionHasBeenTakenJt = new JTextField(); + setTextFiledColor(fourteenActionHasBeenTakenJt); + int fourteenActionHasBeenTakenJtY = fourteenActionHasBeenTakenJly + 120; + fourteenActionHasBeenTakenJt.setBounds(30, fourteenActionHasBeenTakenJtY, 1310, 120); + btn = new JButton(); + btn.setFont(new Font("微软雅黑",Font.BOLD,50)); + btn.setForeground(Color.BLACK); + btn.setText("提交"); + btn.addMouseListener(this); + int btnX = (dimension.width - 100) / 4; + btn.setBounds(btnX+200, fourteenActionHasBeenTakenJtY + 155, 200, 100); + + jp.add(overallLabel); +// jp.add(overallJt); + jp.add(importantMattersLabel); +// jp.add(importantMattersJt); + jp.add(safetyProductionLabel); +// jp.add(safetyProductionJt); + jp.add(personnelDailyWorkLabel); +// jp.add(personnelDailyWorkJt); + jp.add(powerGuaranteeLabel); + jp.add(powerGuaranteeTodayWorkLabel); +// jp.add(powerGuaranteeTodayWorkJt); + jp.add(powerGuaranteeTomorrowWorkLabel); +// jp.add(powerGuaranteeTomorrowWorkJt); + jp.add(powerGuaranteeTodayPestilenceLabel); +// jp.add(powerGuaranteeTodayPestilenceJt); + jp.add(warningLabel); + jp.add(warningCompanyLabel); +// jp.add(warningCompanyJt); + jp.add(warningCompanyImpatientLabel); +// jp.add(warningCompanyImpatientJt); + jp.add(warningSocietyEmergencyLabel); +// jp.add(warningSocietyEmergencyJt); + jp.add(otherSituationsLabel); +// jp.add(otherSituationsJt); + jp.add(annexOneLabel); + jp.add(exerciseContentLabel); + jp.add(exerciseContentBox); + jp.add(exerciseNumLabel); + jp.add(exercisePersonNumLabel); + jp.add(exerciseVehicleNumLabel); + jp.add(exercisePowerVehicleNumLabel); + jp.add(exerciseDynamoNumLabel); + jp.add(exercisePersonNumJt); + jp.add(exerciseVehicleNumJt); + jp.add(exercisePowerVehicleNumJt); + jp.add(exerciseDynamoNumJt); + jp.add(exerciseFindProblemsLabel); + jp.add(exerciseFindProblemsJt); + jp.add(exerciseRemarkLabel); + jp.add(exerciseRemarkJt); + jp.add(annexTwoLabel); + jp.add(verificationNumLabel); + jp.add(verificationPersonNumLabel); + jp.add(verificationVehicleNumLabel); + jp.add(verificationTeamNumLabel); + jp.add(verificationEquipNumLabel); + jp.add(verificationMaterialNumLabel); + jp.add(verificationPersonNumJt); + jp.add(verificationVehicleNumJt); + jp.add(verificationTeamNumJt); + jp.add(verificationEquipNumJt); + jp.add(verificationMaterialNumJt); + jp.add(verificationFindProblemsLabel); + jp.add(verificationFindProblemsJt); + jp.add(verificationRemarkLabel); + jp.add(verificationRemarkJt); + jp.add(annexFourLabel); + jp.add(designatedHospitalsLabel); + jp.add(feverClinicLabel); + jp.add(epidemicEnterpriseLabel); + jp.add(designatedHospitalsJt); + jp.add(feverClinicJt); + jp.add(epidemicEnterpriseJt); + jp.add(otherImportantUsersLabel); + jp.add(customerPowerPersonnelLabel); + jp.add(powerDevopsPersonnelLabel); + jp.add(otherImportantUsersJt); + jp.add(customerPowerPersonnelJt); + jp.add(powerDevopsPersonnelJt); + jp.add(electricallyVehiclesLabel); + jp.add(emergencyPowerVehiclesLabel); + jp.add(emergencyGeneratorLabel); + jp.add(electricallyVehiclesJt); + jp.add(emergencyPowerVehiclesJt); + jp.add(emergencyGeneratorJt); + jp.add(annexSixLabel); + jp.add(leadersCommandStaffLabel); + jp.add(leadersCommandStaffJt); + jp.add(inputAmountPersonLabel); + jp.add(inputAmountVehicleLabel); + jp.add(inputAmountPowerVehicleLabel); + jp.add(inputAmountDynamoLabel); + jp.add(inputAmountPersonJt); + jp.add(inputAmountVehicleJt); + jp.add(inputAmountPowerVehicleJt); + jp.add(inputAmountDynamoJt); + jp.add(inputAmountRemarkLabel); + jp.add(inputAmountRemarkJt); + + //附件三 + jp.add(annexThreeLabel); + jp.add(totalAddition); + jp.add(totalAddDiagnosedLabel); + jp.add(totalAddHealLabel); + jp.add(totalAddSuspectedLabel); + jp.add(totalAddDiagnosedJt); + jp.add(totalAddHealJt); + jp.add(totalAddSuspectedJt); + jp.add(totalExisting); + jp.add(totalExistingDiagnosedLabel); + jp.add(totalExistingHealLabel); + jp.add(totalExistingSuspectedLabel); + jp.add(totalExistingDiagnosedJt); + jp.add(totalExistingHealJt); + jp.add(totalExistingSuspectedJt); + jp.add(dispatchAddition); + jp.add(dispatchAddDiagnosedLabel); + jp.add(dispatchAddHealLabel); + jp.add(dispatchAddSuspectedLabel); + jp.add(dispatchAddDiagnosedJt); + jp.add(dispatchAddHealJt); + jp.add(dispatchAddSuspectedJt); + jp.add(dispatchExisting); + jp.add(dispatchExistingDiagnosedLabel); + jp.add(dispatchExistingHealLabel); + jp.add(dispatchExistingSuspectedLabel); + jp.add(dispatchExistingDiagnosedJt); + jp.add(dispatchExistingHealJt); + jp.add(dispatchExistingSuspectedJt); + jp.add(repairAddition); + jp.add(repairAddDiagnosedLabel); + jp.add(repairAddHealLabel); + jp.add(repairAddSuspectedLabel); + jp.add(repairAddDiagnosedJt); + jp.add(repairAddHealJt); + jp.add(repairAddSuspectedJt); + jp.add(repairExisting); + jp.add(repairExistingDiagnosedLabel); + jp.add(repairExistingHealLabel); + jp.add(repairExistingSuspectedLabel); + jp.add(repairExistingDiagnosedJt); + jp.add(repairExistingHealJt); + jp.add(repairExistingSuspectedJt); + jp.add(marketingAddition); + jp.add(marketingAddDiagnosedLabel); + jp.add(marketingAddHealLabel); + jp.add(marketingAddSuspectedLabel); + jp.add(marketingAddDiagnosedJt); + jp.add(marketingAddHealJt); + jp.add(marketingAddSuspectedJt); + jp.add(marketingExisting); + jp.add(marketingExistingDiagnosedLabel); + jp.add(marketingExistingHealLabel); + jp.add(marketingExistingSuspectedLabel); + jp.add(marketingExistingDiagnosedJt); + jp.add(marketingExistingHealJt); + jp.add(marketingExistingSuspectedJt); + jp.add(constructionAddition); + jp.add(constructionAddDiagnosedLabel); + jp.add(constructionAddHealLabel); + jp.add(constructionAddSuspectedLabel); + jp.add(constructionAddDiagnosedJt); + jp.add(constructionAddHealJt); + jp.add(constructionAddSuspectedJt); + jp.add(constructionExisting); + jp.add(constructionExistingDiagnosedLabel); + jp.add(constructionExistingHealLabel); + jp.add(constructionExistingSuspectedLabel); + jp.add(constructionExistingDiagnosedJt); + jp.add(constructionExistingHealJt); + jp.add(constructionExistingSuspectedJt); + + //附件五 + jp.add(annexFiveLabel); + jp.add(airportPortLabel); + jp.add(venueHospitalLabel); + jp.add(guesthouseHotelLabel); + jp.add(safeguardPersonnelLabel); + jp.add(airportPortJt); + jp.add(venueHospitalJt); + jp.add(guesthouseHotelJt); + jp.add(safeguardPersonnelJt); + jp.add(electricallyGuaranteedVehiclesLabel); + jp.add(powerGenerationVehiclesLabel); + jp.add(dynamoLabel); + jp.add(fiveRemarkLabel); + jp.add(electricallyGuaranteedVehiclesJt); + jp.add(powerGenerationVehiclesJt); + jp.add(dynamoJt); + jp.add(fiveRemarkJt); + + //附件七 + jp.add(annexSevenLabel); + jp.add(suspensionOfDisasterLabel); + jp.add(uhvDisasterLabel); + jp.add(fiveKVDisasterLabel); + jp.add(twoKVDisasterLabel); + jp.add(oneKVDisasterLabel); + jp.add(threeKVDisasterLabel); + jp.add(powerSubstationAddOutageUvhJt); + jp.add(powerSubstationAddOutageFiveJt); + jp.add(powerSubstationAddOutageTwoJt); + jp.add(powerSubstationAddOutageOneJt); + jp.add(powerSubstationAddOutageThreeJt); + + jp.add(emergencyRepairRecoveryLabel); + jp.add(powerSubstationAddRepairUvhLabel); + jp.add(powerSubstationAddRepairFiveLabel); + jp.add(powerSubstationAddRepairTwoLabel); + jp.add(powerSubstationAddRepairOneLabel); + jp.add(powerSubstationAddRepairThreeLabel); + jp.add(powerSubstationAddRepairOutageUvhJt); + jp.add(powerSubstationAddRepairOutageFiveJt); + jp.add(powerSubstationAddRepairOutageTwoJt); + jp.add(powerSubstationAddRepairOutageOneJt); + jp.add(powerSubstationAddRepairOutageThreeJt); + + jp.add(emergencyNoRepairRecoveryLabel); + jp.add(powerSubstationAddNoRepairUvhLabel); + jp.add(powerSubstationAddNoRepairFiveLabel); + jp.add(powerSubstationAddNoRepairTwoLabel); + jp.add(powerSubstationAddNoRepairOneLabel); + jp.add(powerSubstationAddNoRepairThreeLabel); + jp.add(powerSubstationAddNoRepairOutageUvhJt); + jp.add(powerSubstationAddNoRepairOutageFiveJt); + jp.add(powerSubstationAddNoRepairOutageTwoJt); + jp.add(powerSubstationAddNoRepairOutageOneJt); + jp.add(powerSubstationAddNoRepairOutageThreeJt); + + jp.add(annexSevenCumulativeLabel); + jp.add(suspensionOfDisasterCumulativeLabel); + jp.add(uhvDisasterCumulativeLabel); + jp.add(fiveKVDisasterCumulativeLabel); + jp.add(twoKVDisasterCumulativeLabel); + jp.add(oneKVDisasterCumulativeLabel); + jp.add(threeKVDisasterCumulativeLabel); + jp.add(powerSubstationCumulativeOutageUvhJt); + jp.add(powerSubstationCumulativeOutageFiveJt); + jp.add(powerSubstationCumulativeOutageTwoJt); + jp.add(powerSubstationCumulativeOutageOneJt); + jp.add(powerSubstationCumulativeOutageThreeJt); + + jp.add(emergencyRepairRecoveryCumulativeLabel); + jp.add(powerSubstationCumulativeRepairUvhLabel); + jp.add(powerSubstationCumulativeRepairFiveLabel); + jp.add(powerSubstationCumulativeRepairTwoLabel); + jp.add(powerSubstationCumulativeRepairOneLabel); + jp.add(powerSubstationCumulativeRepairThreeLabel); + jp.add(powerSubstationCumulativeRepairOutageUvhJt); + jp.add(powerSubstationCumulativeRepairOutageFiveJt); + jp.add(powerSubstationCumulativeRepairOutageTwoJt); + jp.add(powerSubstationCumulativeRepairOutageOneJt); + jp.add(powerSubstationCumulativeRepairOutageThreeJt); + + jp.add(emergencyCumulativeNoRepairRecoveryLabel); + jp.add(powerSubstationCumulativeNoRepairUvhLabel); + jp.add(powerSubstationCumulativeNoRepairFiveLabel); + jp.add(powerSubstationCumulativeNoRepairTwoLabel); + jp.add(powerSubstationCumulativeNoRepairOneLabel); + jp.add(powerSubstationCumulativeNoRepairThreeLabel); + jp.add(powerSubstationCumulativeNoRepairOutageUvhJt); + jp.add(powerSubstationCumulativeNoRepairOutageFiveJt); + jp.add(powerSubstationCumulativeNoRepairOutageTwoJt); + jp.add(powerSubstationCumulativeNoRepairOutageOneJt); + jp.add(powerSubstationCumulativeNoRepairOutageThreeJt); + + + jp.add(annexEightLabel); + jp.add(suspensionOfDisasterEightLabel); + jp.add(uhvDisasterEightLabel); + jp.add(fiveKVDisasterEightLabel); + jp.add(twoKVDisasterEightLabel); + jp.add(oneKVDisasterEightLabel); + jp.add(threeKVDisasterEightLabel); + jp.add(tenKVDisasterEightLabel); + jp.add(transmitElectricityAddOutageUvhJt); + jp.add(transmitElectricityAddOutageFiveJt); + jp.add(transmitElectricityAddOutageTwoJt); + jp.add(transmitElectricityAddOutageOneJt); + jp.add(transmitElectricityAddOutageThreeJt); + jp.add(transmitElectricityAddOutageTenJt); + + jp.add(emergencyRepairRecoveryEightLabel); + jp.add(transmitElectricityAddRepairUvhLabel); + jp.add(transmitElectricityAddRepairFiveLabel); + jp.add(transmitElectricityAddRepairTwoLabel); + jp.add(transmitElectricityAddRepairOneLabel); + jp.add(transmitElectricityAddRepairThreeLabel); + jp.add(transmitElectricityAddRepairTenLabel); + jp.add(transmitElectricityAddRepairOutageUvhJt); + jp.add(transmitElectricityAddRepairOutageFiveJt); + jp.add(transmitElectricityAddRepairOutageTwoJt); + jp.add(transmitElectricityAddRepairOutageOneJt); + jp.add(transmitElectricityAddRepairOutageThreeJt); + jp.add(transmitElectricityAddRepairOutageTenJt); + + jp.add(emergencyNoRepairRecoveryEightLabel); + jp.add(transmitElectricityAddNoRepairUvhLabel); + jp.add(transmitElectricityAddNoRepairFiveLabel); + jp.add(transmitElectricityAddNoRepairTwoLabel); + jp.add(transmitElectricityAddNoRepairOneLabel); + jp.add(transmitElectricityAddNoRepairThreeLabel); + jp.add(transmitElectricityAddNoRepairTenLabel); + jp.add(transmitElectricityAddNoRepairOutageUvhJt); + jp.add(transmitElectricityAddNoRepairOutageFiveJt); + jp.add(transmitElectricityAddNoRepairOutageTwoJt); + jp.add(transmitElectricityAddNoRepairOutageOneJt); + jp.add(transmitElectricityAddNoRepairOutageThreeJt); + jp.add(transmitElectricityAddNoRepairOutageTenJt); + + jp.add(annexEightCumulativeLabel); + jp.add(suspensionOfDisasterEightCumulativeLabel); + jp.add(uhvDisasterEightCumulativeLabel); + jp.add(fiveKVDisasterEightCumulativeLabel); + jp.add(twoKVDisasterEightCumulativeLabel); + jp.add(oneKVDisasterEightCumulativeLabel); + jp.add(threeKVDisasterEightCumulativeLabel); + jp.add(tenKVDisasterEightCumulativeLabel); + jp.add(transmitElectricityCumulativeOutageUvhJt); + jp.add(transmitElectricityCumulativeOutageFiveJt); + jp.add(transmitElectricityCumulativeOutageTwoJt); + jp.add(transmitElectricityCumulativeOutageOneJt); + jp.add(transmitElectricityCumulativeOutageThreeJt); + jp.add(transmitElectricityCumulativeOutageTenJt); + + jp.add(emergencyRepairRecoveryEightCumulativeLabel); + jp.add(transmitElectricityCumulativeRepairUvhLabel); + jp.add(transmitElectricityCumulativeRepairFiveLabel); + jp.add(transmitElectricityCumulativeRepairTwoLabel); + jp.add(transmitElectricityCumulativeRepairOneLabel); + jp.add(transmitElectricityCumulativeRepairThreeLabel); + jp.add(transmitElectricityCumulativeRepairTenLabel); + jp.add(transmitElectricityCumulativeRepairOutageUvhJt); + jp.add(transmitElectricityCumulativeRepairOutageFiveJt); + jp.add(transmitElectricityCumulativeRepairOutageTwoJt); + jp.add(transmitElectricityCumulativeRepairOutageOneJt); + jp.add(transmitElectricityCumulativeRepairOutageThreeJt); + jp.add(transmitElectricityCumulativeRepairOutageTenJt); + + jp.add(emergencyEightCumulativeNoRepairRecoveryLabel); + jp.add(transmitElectricityCumulativeNoRepairUvhLabel); + jp.add(transmitElectricityCumulativeNoRepairFiveLabel); + jp.add(transmitElectricityCumulativeNoRepairTwoLabel); + jp.add(transmitElectricityCumulativeNoRepairOneLabel); + jp.add(transmitElectricityCumulativeNoRepairThreeLabel); + jp.add(transmitElectricityCumulativeNoRepairTenLabel); + jp.add(transmitElectricityCumulativeNoRepairOutageUvhJt); + jp.add(transmitElectricityCumulativeNoRepairOutageFiveJt); + jp.add(transmitElectricityCumulativeNoRepairOutageTwoJt); + jp.add(transmitElectricityCumulativeNoRepairOutageOneJt); + jp.add(transmitElectricityCumulativeNoRepairOutageThreeJt); + jp.add(transmitElectricityCumulativeNoRepairOutageTenJt); + + jp.add(annexNineAddLabel); + jp.add(suspensionOfDisasterAddNineLabel); + jp.add(taiDistrictAddNineDisasterLabel); + jp.add(personnelAddNineDisasterLabel); + jp.add(nineAddTaiDistrictDisasterJt); + jp.add(nineAddPersonnelDisasterJt); + jp.add(repairAddNineLabel); + jp.add(taiDistrictAddNineRepairLabel); + jp.add(personnelAddNineRepairLabel); + jp.add(nineAddTaiDistrictRepairJt); + jp.add(nineAddPersonnelRepairJt); + jp.add(noRepairAddNineLabel); + jp.add(taiDistrictAddNineNoRepairLabel); + jp.add(personnelAddNineNoRepairLabel); + jp.add(nineAddTaiDistrictNoRepairJt); + jp.add(nineAddPersonnelNoRepairJt); + jp.add(powerAddNineLabel); + jp.add(powerPersonnelAddNineLabel); + jp.add(powerVehicleAddNineLabel); + jp.add(powerPersonnelAddNineJt); + jp.add(powerVehicleAddNineJt); + + jp.add(annexNineCumulativeLabel); + jp.add(suspensionOfDisasterCumulativeNineLabel); + jp.add(taiDistrictCumulativeNineDisasterLabel); + jp.add(personnelCumulativeNineDisasterLabel); + jp.add(nineCumulativeTaiDistrictDisasterJt); + jp.add(nineCumulativePersonnelDisasterJt); + jp.add(repairCumulativeNineLabel); + jp.add(taiDistrictCumulativeNineRepairLabel); + jp.add(personnelCumulativeNineRepairLabel); + jp.add(nineCumulativeTaiDistrictRepairJt); + jp.add(nineCumulativePersonnelRepairJt); + jp.add(noRepairCumulativeNineLabel); + jp.add(taiDistrictCumulativeNineNoRepairLabel); + jp.add(personnelCumulativeNineNoRepairLabel); + jp.add(nineCumulativeTaiDistrictNoRepairJt); + jp.add(nineCumulativePersonnelNoRepairJt); + jp.add(powerCumulativeNineLabel); + jp.add(powerPersonnelCumulativeNineLabel); + jp.add(powerVehicleCumulativeNineLabel); + jp.add(powerPersonnelCumulativeNineJt); + jp.add(powerVehicleCumulativeNineJt); + //附件十 + jp.add(annexTenLabel); + jp.add(tenUhvLabel); + jp.add(tenFiveHundredKvLabel); + jp.add(tenTwoHundredTwentyKvLabel); + jp.add(tenOneHundredTenKvLabel); + jp.add(tenThirtyFiveKvLabel); + jp.add(tenTenKvLabel); + jp.add(tenUhvJt); + jp.add(tenFiveHundredKvJt); + jp.add(tenTwoHundredTwentyKvJt); + jp.add(tenOneHundredTenKvJt); + jp.add(tenThirtyFiveKvJt); + jp.add(tenTenKvJt); + jp.add(tenAverageWaterLevelLabel); + jp.add(tenMeasuredValueLabel); + jp.add(tenDesignValuesLabel); + jp.add(tenAverageWaterLevelJt); + jp.add(tenMeasuredValueJt); + jp.add(tenDesignValuesJt); + jp.add(tenActionHasBeenTakenLabel); + jp.add(tenActionHasBeenTakenJt); + //附件十一 + jp.add(annexElevenLabel); + jp.add(elevenUhvLabel); + jp.add(elevenFiveHundredKvLabel); + jp.add(elevenTwoHundredTwentyKvLabel); + jp.add(elevenOneHundredTenKvLabel); + jp.add(elevenThirtyFiveKvLabel); + jp.add(elevenTenKvLabel); + jp.add(elevenUhvJt); + jp.add(elevenFiveHundredKvJt); + jp.add(elevenTwoHundredTwentyKvJt); + jp.add(elevenOneHundredTenKvJt); + jp.add(elevenThirtyFiveKvJt); + jp.add(elevenTenKvJt); + jp.add(elevenAverageWaterLevelLabel); + jp.add(elevenMeasuredValueLabel); + jp.add(elevenAverageWaterLevelJt); + jp.add(elevenMeasuredValueJt); + jp.add(elevenActionHasBeenTakenLabel); + jp.add(elevenActionHasBeenTakenJt); + //附件十二 + jp.add(annexTwelveLabel); + jp.add(twelveUhvLabel); + jp.add(twelveFiveHundredKvLabel); + jp.add(twelveTwoHundredTwentyKvLabel); + jp.add(twelveOneHundredTenKvLabel); + jp.add(twelveThirtyFiveKvLabel); + jp.add(twelveTenKvLabel); + jp.add(twelveUhvJt); + jp.add(twelveFiveHundredKvJt); + jp.add(twelveTwoHundredTwentyKvJt); + jp.add(twelveOneHundredTenKvJt); + jp.add(twelveThirtyFiveKvJt); + jp.add(twelveTenKvJt); + jp.add(twelveAverageWaterLevelLabel); + jp.add(twelveMeasuredValueLabel); + jp.add(twelveDesignValuesLabel); + jp.add(twelveAverageWaterLevelJt); + jp.add(twelveMeasuredValueJt); + jp.add(twelveDesignValuesJt); + jp.add(twelveActionHasBeenTakenLabel); + jp.add(twelveActionHasBeenTakenJt); + //十三 + jp.add(annexThirteenLabel); + jp.add(thirteenUhvLabel); + jp.add(thirteenFiveHundredKvLabel); + jp.add(thirteenTwoHundredTwentyKvLabel); + jp.add(thirteenOneHundredTenKvLabel); + jp.add(thirteenThirtyFiveKvLabel); + jp.add(thirteenTenKvLabel); + jp.add(thirteenUhvJt); + jp.add(thirteenFiveHundredKvJt); + jp.add(thirteenTwoHundredTwentyKvJt); + jp.add(thirteenOneHundredTenKvJt); + jp.add(thirteenThirtyFiveKvJt); + jp.add(thirteenTenKvJt); + jp.add(thirteenAverageWaterLevelLabel); + jp.add(thirteenMeasuredValueLabel); + jp.add(thirteenDesignValuesLabel); + jp.add(thirteenAverageWaterLevelJt); + jp.add(thirteenMeasuredValueJt); + jp.add(thirteenDesignValuesJt); + jp.add(thirteenActionHasBeenTakenLabel); + jp.add(thirteenActionHasBeenTakenJt); + //十四 + jp.add(annexFourteenLabel); + jp.add(fourteenUhvLabel); + jp.add(fourteenFiveHundredKvLabel); + jp.add(fourteenTwoHundredTwentyKvLabel); + jp.add(fourteenOneHundredTenKvLabel); + jp.add(fourteenThirtyFiveKvLabel); + jp.add(fourteenTenKvLabel); + jp.add(fourteenUhvJt); + jp.add(fourteenFiveHundredKvJt); + jp.add(fourteenTwoHundredTwentyKvJt); + jp.add(fourteenOneHundredTenKvJt); + jp.add(fourteenThirtyFiveKvJt); + jp.add(fourteenTenKvJt); + jp.add(fourteenAverageWaterLevelLabel); + jp.add(fourteenMeasuredValueLabel); + jp.add(fourteenDesignValuesLabel); + jp.add(fourteenAverageWaterLevelJt); + jp.add(fourteenMeasuredValueJt); + jp.add(fourteenDesignValuesJt); + jp.add(fourteenActionHasBeenTakenLabel); + jp.add(fourteenActionHasBeenTakenJt); + jp.add(btn); + return jp; + } + + /** + * 设置数据框中的字体颜色及大小 + * @param jtf + */ + private void setTextFiledColor(JTextField jtf){ + jtf.setFont(new Font("微软雅黑",Font.BOLD,50)); + jtf.setForeground(Color.BLACK); + } + + @Override + public void mouseClicked(MouseEvent e) { + JButton temp = (JButton) e.getSource(); + if(temp.equals(btn)){ + List list = getAllField(); + Boolean check = checkEmpty(list); + if(check){ + DailyBean dailyBean = getDailyBean(); + insertData(dailyBean); + }else{ + JOptionPane.showMessageDialog(jp,"请检查数据是否填写完毕!","错误",0); + } + } + } + + private DailyBean getDailyBean() { + DailyBean bean = new DailyBean(); + AnnexOneBean oneBean = new AnnexOneBean(); + AnnexTwoBean twoBean = new AnnexTwoBean(); + AnnexFourBean fourBean = new AnnexFourBean(); + AnnexSixBean sixBean = new AnnexSixBean(); + AnnexSevenBean sevenBean = new AnnexSevenBean(); + AnnexEightBean eightBean = new AnnexEightBean(); + AnnexNineBean nineBean = new AnnexNineBean(); + AnnexThreeBean threeBean = new AnnexThreeBean(); + AnnexFiveBean fiveBean = new AnnexFiveBean(); + AnnexTenBean tenBean = new AnnexTenBean(); + AnnexElevenBean elevenBean = new AnnexElevenBean(); + AnnexTwelveBean twelveBean = new AnnexTwelveBean(); + AnnexThirteenBean thirteenBean = new AnnexThirteenBean(); + AnnexFourteenBean fourteenBean = new AnnexFourteenBean(); + + bean.setOverall(overallJt.getText()); + bean.setImportant_matters(importantMattersJt.getText()); + bean.setSafety_production(safetyProductionJt.getText()); + bean.setPersonnel_daily_work(personnelDailyWorkJt.getText()); + bean.setPower_guarantee_today_work(powerGuaranteeTodayWorkJt.getText()); + bean.setPower_guarantee_tomorrow_work(powerGuaranteeTomorrowWorkJt.getText()); + bean.setPower_guarantee_today_pestilence(powerGuaranteeTodayPestilenceJt.getText()); + bean.setWarning_company(warningCompanyJt.getText()); + bean.setWarning_company_impatient(warningCompanyImpatientJt.getText()); + bean.setWarning_society_emergency(warningSocietyEmergencyJt.getText()); + bean.setOther_situations(otherSituationsJt.getText()); + oneBean.setExercise_content(exerciseContentBox.getSelectedItem() + ""); + oneBean.setExercise_person_num(exercisePersonNumJt.getText()); + oneBean.setExercise_vehicle_num(exerciseVehicleNumJt.getText()); + oneBean.setExercise_power_vehicle_num(exercisePowerVehicleNumJt.getText()); + oneBean.setExercise_dynamo_num(exerciseDynamoNumJt.getText()); + oneBean.setExercise_find_problems(exerciseFindProblemsJt.getText()); + String exerciseRemark = ""; + if(!exerciseRemarkJt.getText().contains("请输入")){ + exerciseRemark = exerciseRemarkJt.getText(); + } + oneBean.setRemark(exerciseRemark); + bean.setOneBean(oneBean); + twoBean.setVerification_person_num(verificationPersonNumJt.getText()); + twoBean.setVerification_team_num(verificationTeamNumJt.getText()); + twoBean.setVerification_equip_num(verificationEquipNumJt.getText()); + twoBean.setVerification_material_num(verificationMaterialNumJt.getText()); + twoBean.setVerification_vehicle_num(verificationVehicleNumJt.getText()); + twoBean.setVerification_find_problems(verificationFindProblemsJt.getText()); + String verificationRemark = ""; + if(!verificationRemarkJt.getText().contains("请输入")){ + verificationRemark = verificationRemarkJt.getText(); + } + twoBean.setRemark(verificationRemark); + bean.setTwoBean(twoBean); + fourBean.setDesignated_hospitals(designatedHospitalsJt.getText()); + fourBean.setFever_clinic(feverClinicJt.getText()); + fourBean.setEpidemic_enterprise(epidemicEnterpriseJt.getText()); + fourBean.setOther_important_users(otherImportantUsersJt.getText()); + fourBean.setCustomer_power_personnel(customerPowerPersonnelJt.getText()); + fourBean.setPower_devops_personnel(powerDevopsPersonnelJt.getText()); + fourBean.setElectrically_vehicles(electricallyVehiclesJt.getText()); + fourBean.setEmergency_power_vehicles(emergencyPowerVehiclesJt.getText()); + fourBean.setEmergency_generator(emergencyGeneratorJt.getText()); + bean.setFourBean(fourBean); + sixBean.setLeaders_command_staff(leadersCommandStaffJt.getText()); + sixBean.setInput_amount_person(inputAmountPersonJt.getText()); + sixBean.setInput_amount_vehicle(inputAmountVehicleJt.getText()); + sixBean.setInput_amount_power_vehicle(inputAmountPowerVehicleJt.getText()); + sixBean.setInput_amount_dynamo(inputAmountDynamoJt.getText()); + String inputAmountRemark = ""; + if(!inputAmountRemarkJt.getText().contains("请输入")){ + inputAmountRemark = inputAmountRemarkJt.getText(); + } + sixBean.setRemark(inputAmountRemark); + bean.setSixBean(sixBean); + + sevenBean.setPower_substation_add_outage_uvh(powerSubstationAddOutageUvhJt.getText()); + sevenBean.setPower_substation_add_outage_five(powerSubstationAddOutageFiveJt.getText()); + sevenBean.setPower_substation_add_outage_two(powerSubstationAddOutageTwoJt.getText()); + sevenBean.setPower_substation_add_outage_one(powerSubstationAddOutageOneJt.getText()); + sevenBean.setPower_substation_add_outage_three(powerSubstationAddOutageThreeJt.getText()); + sevenBean.setPower_substation_add_repair_uvh(powerSubstationAddRepairOutageUvhJt.getText()); + sevenBean.setPower_substation_add_repair_five(powerSubstationAddRepairOutageFiveJt.getText()); + sevenBean.setPower_substation_add_repair_two(powerSubstationAddRepairOutageTwoJt.getText()); + sevenBean.setPower_substation_add_repair_one(powerSubstationAddRepairOutageOneJt.getText()); + sevenBean.setPower_substation_add_repair_three(powerSubstationAddRepairOutageThreeJt.getText()); + sevenBean.setPower_substation_add_no_repair_uvh(powerSubstationAddNoRepairOutageUvhJt.getText()); + sevenBean.setPower_substation_add_no_repair_five(powerSubstationAddNoRepairOutageFiveJt.getText()); + sevenBean.setPower_substation_add_no_repair_two(powerSubstationAddNoRepairOutageTwoJt.getText()); + sevenBean.setPower_substation_add_no_repair_one(powerSubstationAddNoRepairOutageOneJt.getText()); + sevenBean.setPower_substation_add_no_repair_three(powerSubstationAddNoRepairOutageThreeJt.getText()); + sevenBean.setPower_substation_cumulative_outage_uvh(powerSubstationCumulativeOutageUvhJt.getText()); + sevenBean.setPower_substation_cumulative_outage_five(powerSubstationCumulativeOutageFiveJt.getText()); + sevenBean.setPower_substation_cumulative_outage_two(powerSubstationCumulativeOutageTwoJt.getText()); + sevenBean.setPower_substation_cumulative_outage_one(powerSubstationCumulativeOutageOneJt.getText()); + sevenBean.setPower_substation_cumulative_outage_three(powerSubstationCumulativeOutageThreeJt.getText()); + sevenBean.setPower_substation_cumulative_repair_uvh(powerSubstationCumulativeRepairOutageUvhJt.getText()); + sevenBean.setPower_substation_cumulative_repair_five(powerSubstationCumulativeRepairOutageFiveJt.getText()); + sevenBean.setPower_substation_cumulative_repair_two(powerSubstationCumulativeRepairOutageTwoJt.getText()); + sevenBean.setPower_substation_cumulative_repair_one(powerSubstationCumulativeRepairOutageOneJt.getText()); + sevenBean.setPower_substation_cumulative_repair_three(powerSubstationCumulativeRepairOutageThreeJt.getText()); + sevenBean.setPower_substation_cumulative_no_repair_uvh(powerSubstationCumulativeNoRepairOutageUvhJt.getText()); + sevenBean.setPower_substation_cumulative_no_repair_five(powerSubstationCumulativeNoRepairOutageFiveJt.getText()); + sevenBean.setPower_substation_cumulative_no_repair_two(powerSubstationCumulativeNoRepairOutageTwoJt.getText()); + sevenBean.setPower_substation_cumulative_no_repair_one(powerSubstationCumulativeNoRepairOutageOneJt.getText()); + sevenBean.setPower_substation_cumulative_no_repair_three(powerSubstationCumulativeNoRepairOutageThreeJt.getText()); + bean.setSevenBean(sevenBean); + eightBean.setTransmit_electricity_add_outage_uvh(transmitElectricityAddOutageUvhJt.getText()); + eightBean.setTransmit_electricity_add_outage_five(transmitElectricityAddOutageFiveJt.getText()); + eightBean.setTransmit_electricity_add_outage_two(transmitElectricityAddOutageTwoJt.getText()); + eightBean.setTransmit_electricity_add_outage_one(transmitElectricityAddOutageOneJt.getText()); + eightBean.setTransmit_electricity_add_outage_three(transmitElectricityAddOutageThreeJt.getText()); + eightBean.setTransmit_electricity_add_outage_ten(transmitElectricityAddOutageTenJt.getText()); + eightBean.setTransmit_electricity_add_repair_uvh(transmitElectricityAddRepairOutageUvhJt.getText()); + eightBean.setTransmit_electricity_add_repair_five(transmitElectricityAddRepairOutageFiveJt.getText()); + eightBean.setTransmit_electricity_add_repair_two(transmitElectricityAddRepairOutageTwoJt.getText()); + eightBean.setTransmit_electricity_add_repair_one(transmitElectricityAddRepairOutageOneJt.getText()); + eightBean.setTransmit_electricity_add_repair_three(transmitElectricityAddRepairOutageThreeJt.getText()); + eightBean.setTransmit_electricity_add_repair_ten(transmitElectricityAddRepairOutageTenJt.getText()); + eightBean.setTransmit_electricity_add_no_repair_uvh(transmitElectricityAddNoRepairOutageUvhJt.getText()); + eightBean.setTransmit_electricity_add_no_repair_five(transmitElectricityAddNoRepairOutageFiveJt.getText()); + eightBean.setTransmit_electricity_add_no_repair_two(transmitElectricityAddNoRepairOutageTwoJt.getText()); + eightBean.setTransmit_electricity_add_no_repair_one(transmitElectricityAddNoRepairOutageOneJt.getText()); + eightBean.setTransmit_electricity_add_no_repair_three(transmitElectricityAddNoRepairOutageThreeJt.getText()); + eightBean.setTransmit_electricity_add_no_repair_ten(transmitElectricityAddNoRepairOutageTenJt.getText()); + eightBean.setTransmit_electricity_cumulative_outage_uvh(transmitElectricityCumulativeOutageUvhJt.getText()); + eightBean.setTransmit_electricity_cumulative_outage_five(transmitElectricityCumulativeOutageFiveJt.getText()); + eightBean.setTransmit_electricity_cumulative_outage_two(transmitElectricityCumulativeOutageTwoJt.getText()); + eightBean.setTransmit_electricity_cumulative_outage_one(transmitElectricityCumulativeOutageOneJt.getText()); + eightBean.setTransmit_electricity_cumulative_outage_three(transmitElectricityCumulativeOutageThreeJt.getText()); + eightBean.setTransmit_electricity_cumulative_outage_ten(transmitElectricityCumulativeOutageTenJt.getText()); + eightBean.setTransmit_electricity_cumulative_repair_uvh(transmitElectricityCumulativeRepairOutageUvhJt.getText()); + eightBean.setTransmit_electricity_cumulative_repair_five(transmitElectricityCumulativeRepairOutageFiveJt.getText()); + eightBean.setTransmit_electricity_cumulative_repair_two(transmitElectricityCumulativeRepairOutageTwoJt.getText()); + eightBean.setTransmit_electricity_cumulative_repair_one(transmitElectricityCumulativeRepairOutageOneJt.getText()); + eightBean.setTransmit_electricity_cumulative_repair_three(transmitElectricityCumulativeRepairOutageThreeJt.getText()); + eightBean.setTransmit_electricity_cumulative_repair_ten(transmitElectricityCumulativeRepairOutageTenJt.getText()); + eightBean.setTransmit_electricity_cumulative_no_repair_uvh(transmitElectricityCumulativeNoRepairOutageUvhJt.getText()); + eightBean.setTransmit_electricity_cumulative_no_repair_five(transmitElectricityCumulativeNoRepairOutageFiveJt.getText()); + eightBean.setTransmit_electricity_cumulative_no_repair_two(transmitElectricityCumulativeNoRepairOutageTwoJt.getText()); + eightBean.setTransmit_electricity_cumulative_no_repair_one(transmitElectricityCumulativeNoRepairOutageOneJt.getText()); + eightBean.setTransmit_electricity_cumulative_no_repair_three(transmitElectricityCumulativeNoRepairOutageThreeJt.getText()); + eightBean.setTransmit_electricity_cumulative_no_repair_ten(transmitElectricityCumulativeNoRepairOutageTenJt.getText()); + bean.setEightBean(eightBean); + nineBean.setAdd_blackout_tai_district(nineAddTaiDistrictDisasterJt.getText()); + nineBean.setAdd_blackout_user(nineAddPersonnelDisasterJt.getText()); + nineBean.setAdd_repair_tai_district(nineAddTaiDistrictRepairJt.getText()); + nineBean.setAdd_repair_user(nineAddPersonnelRepairJt.getText()); + nineBean.setAdd_no_repair_tai_district(nineAddTaiDistrictNoRepairJt.getText()); + nineBean.setAdd_no_repair_user(nineAddPersonnelNoRepairJt.getText()); + nineBean.setAdd_power_personnel(powerPersonnelAddNineJt.getText()); + nineBean.setAdd_power_vehicle(powerVehicleAddNineJt.getText()); + nineBean.setCumulative_blackout_tai_district(nineCumulativeTaiDistrictDisasterJt.getText()); + nineBean.setCumulative_blackout_user(nineCumulativePersonnelDisasterJt.getText()); + nineBean.setCumulative_repair_tai_district(nineCumulativeTaiDistrictRepairJt.getText()); + nineBean.setCumulative_repair_user(nineCumulativePersonnelRepairJt.getText()); + nineBean.setCumulative_no_repair_tai_district(nineCumulativeTaiDistrictNoRepairJt.getText()); + nineBean.setCumulative_no_repair_user(nineCumulativePersonnelNoRepairJt.getText()); + nineBean.setCumulative_power_personnel(powerPersonnelCumulativeNineJt.getText()); + nineBean.setCumulative_power_vehicle(powerVehicleCumulativeNineJt.getText()); + bean.setNineBean(nineBean); + /** + * 获取附件三 + */ + threeBean.setTotalAddDiagnosed(totalAddDiagnosedJt.getText()); + threeBean.setTotalAddHeal(totalAddHealJt.getText()); + threeBean.setTotalAddSuspected(totalAddSuspectedJt.getText()); + threeBean.setTotalExistingDiagnosed(totalExistingDiagnosedJt.getText()); + threeBean.setTotalExistingHeal(totalExistingHealJt.getText()); + threeBean.setTotalExistingSuspected(totalExistingSuspectedJt.getText()); + + threeBean.setDispatchAddDiagnosed(dispatchAddDiagnosedJt.getText()); + threeBean.setDispatchAddHeal(dispatchAddHealJt.getText()); + threeBean.setDispatchAddSuspected(dispatchAddSuspectedJt.getText()); + threeBean.setDispatchExistingDiagnosed(dispatchExistingDiagnosedJt.getText()); + threeBean.setDispatchExistingHeal(dispatchExistingHealJt.getText()); + threeBean.setDispatchExistingSuspected(dispatchExistingSuspectedJt.getText()); + + threeBean.setRepairAddDiagnosed(repairAddDiagnosedJt.getText()); + threeBean.setRepairAddHeal(repairAddHealJt.getText()); + threeBean.setRepairAddSuspected(repairAddSuspectedJt.getText()); + threeBean.setRepairExistingDiagnosed(repairExistingDiagnosedJt.getText()); + threeBean.setRepairExistingHeal(repairExistingHealJt.getText()); + threeBean.setRepairExistingSuspected(repairExistingSuspectedJt.getText()); + + threeBean.setMarketingAddDiagnosed(marketingAddDiagnosedJt.getText()); + threeBean.setMarketingAddHeal(marketingAddHealJt.getText()); + threeBean.setMarketingAddSuspected(marketingAddSuspectedJt.getText()); + threeBean.setMarketingExistingDiagnosed(marketingExistingDiagnosedJt.getText()); + threeBean.setMarketingExistingHeal(marketingExistingHealJt.getText()); + threeBean.setMarketingExistingSuspected(marketingExistingSuspectedJt.getText()); + + threeBean.setConstructionAddDiagnosed(constructionAddDiagnosedJt.getText()); + threeBean.setConstructionAddHeal(constructionAddHealJt.getText()); + threeBean.setConstructionAddSuspected(constructionAddSuspectedJt.getText()); + threeBean.setConstructionExistingDiagnosed(constructionExistingDiagnosedJt.getText()); + threeBean.setConstructionExistingHeal(constructionExistingHealJt.getText()); + threeBean.setConstructionExistingSuspected(constructionExistingSuspectedJt.getText()); + bean.setThreeBean(threeBean); + + fiveBean.setAirportPort(airportPortJt.getText()); + fiveBean.setVenueHospital(venueHospitalJt.getText()); + fiveBean.setGuesthouseHotel(guesthouseHotelJt.getText()); + fiveBean.setSafeguardPersonnel(safeguardPersonnelJt.getText()); + fiveBean.setElectricallyGuaranteedVehicles(electricallyGuaranteedVehiclesJt.getText()); + fiveBean.setPowerGenerationVehicles(powerGenerationVehiclesJt.getText()); + fiveBean.setDynamo(dynamoJt.getText()); + if(!fiveRemarkJt.getText().contains("请输入")){ + fiveBean.setRemark(fiveRemarkJt.getText()); + }else{ + fiveBean.setRemark(""); + } + bean.setFiveBean(fiveBean); + + tenBean.setUhv(tenUhvJt.getText()); + tenBean.setFiveHundredKv(tenFiveHundredKvJt.getText()); + tenBean.setTwoHundredTwentyKv(tenTwoHundredTwentyKvJt.getText()); + tenBean.setOneHundredTenKv(tenOneHundredTenKvJt.getText()); + tenBean.setThirtyFiveKv(tenThirtyFiveKvJt.getText()); + tenBean.setTenKv(tenTenKvJt.getText()); + tenBean.setAverageWaterLevel(tenAverageWaterLevelJt.getText()); + tenBean.setMeasuredValue(tenMeasuredValueJt.getText()); + tenBean.setDesignValues(tenDesignValuesJt.getText()); + tenBean.setActionHasBeenTaken(tenActionHasBeenTakenJt.getText()); + bean.setTenBean(tenBean); + + elevenBean.setUhv(elevenUhvJt.getText()); + elevenBean.setFiveHundredKv(elevenFiveHundredKvJt.getText()); + elevenBean.setTwoHundredTwentyKv(elevenTwoHundredTwentyKvJt.getText()); + elevenBean.setOneHundredTenKv(elevenOneHundredTenKvJt.getText()); + elevenBean.setThirtyFiveKv(elevenThirtyFiveKvJt.getText()); + elevenBean.setTenKv(elevenTenKvJt.getText()); + elevenBean.setAverageWaterLevel(elevenAverageWaterLevelJt.getText()); + elevenBean.setMeasuredValue(elevenMeasuredValueJt.getText()); + elevenBean.setActionHasBeenTaken(elevenActionHasBeenTakenJt.getText()); + bean.setElevenBean(elevenBean); + + twelveBean.setUhv(twelveUhvJt.getText()); + twelveBean.setFiveHundredKv(twelveFiveHundredKvJt.getText()); + twelveBean.setTwoHundredTwentyKv(twelveTwoHundredTwentyKvJt.getText()); + twelveBean.setOneHundredTenKv(twelveOneHundredTenKvJt.getText()); + twelveBean.setThirtyFiveKv(twelveThirtyFiveKvJt.getText()); + twelveBean.setTenKv(twelveTenKvJt.getText()); + twelveBean.setAverageWaterLevel(twelveAverageWaterLevelJt.getText()); + twelveBean.setMeasuredValue(twelveMeasuredValueJt.getText()); + twelveBean.setDesignValues(twelveDesignValuesJt.getText()); + twelveBean.setActionHasBeenTaken(twelveActionHasBeenTakenJt.getText()); + bean.setTwelveBean(twelveBean); + + thirteenBean.setUhv(thirteenUhvJt.getText()); + thirteenBean.setFiveHundredKv(thirteenFiveHundredKvJt.getText()); + thirteenBean.setTwoHundredTwentyKv(thirteenTwoHundredTwentyKvJt.getText()); + thirteenBean.setOneHundredTenKv(thirteenOneHundredTenKvJt.getText()); + thirteenBean.setThirtyFiveKv(thirteenThirtyFiveKvJt.getText()); + thirteenBean.setTenKv(thirteenTenKvJt.getText()); + thirteenBean.setAverageWaterLevel(thirteenAverageWaterLevelJt.getText()); + thirteenBean.setMeasuredValue(thirteenMeasuredValueJt.getText()); + thirteenBean.setDesignValues(thirteenDesignValuesJt.getText()); + thirteenBean.setActionHasBeenTaken(thirteenActionHasBeenTakenJt.getText()); + bean.setThirteenBean(thirteenBean); + + fourteenBean.setUhv(fourteenUhvJt.getText()); + fourteenBean.setFiveHundredKv(fourteenFiveHundredKvJt.getText()); + fourteenBean.setTwoHundredTwentyKv(fourteenTwoHundredTwentyKvJt.getText()); + fourteenBean.setOneHundredTenKv(fourteenOneHundredTenKvJt.getText()); + fourteenBean.setThirtyFiveKv(fourteenThirtyFiveKvJt.getText()); + fourteenBean.setTenKv(fourteenTenKvJt.getText()); + fourteenBean.setAverageWaterLevel(fourteenAverageWaterLevelJt.getText()); + fourteenBean.setMeasuredValue(fourteenMeasuredValueJt.getText()); + fourteenBean.setDesignValues(fourteenDesignValuesJt.getText()); + fourteenBean.setActionHasBeenTaken(fourteenActionHasBeenTakenJt.getText()); + bean.setFourteenBean(fourteenBean); + return bean; + } + + private void insertData(DailyBean bean) { + 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 { + xml = xstream.toXML(bean); + // 将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()){ + JOptionPane.showMessageDialog(jp,"日报保存成功!","提示",1); + System.exit(0); + } + } + + + + public List getAllField(){ + List list = new ArrayList(); + list.add(overallJt.getText() + ""); + list.add(importantMattersJt.getText() + ""); + list.add(safetyProductionJt.getText() + ""); + list.add(personnelDailyWorkJt.getText() + ""); + list.add(powerGuaranteeTodayWorkJt.getText() + ""); + list.add(powerGuaranteeTomorrowWorkJt.getText() + ""); + list.add(powerGuaranteeTodayPestilenceJt.getText() + ""); + list.add(warningCompanyJt.getText() + ""); + list.add(warningCompanyImpatientJt.getText() + ""); + list.add(warningSocietyEmergencyJt.getText() + ""); + list.add(otherSituationsJt.getText() + ""); + list.add(exercisePersonNumJt.getText() + ""); + list.add(exerciseVehicleNumJt.getText() + ""); + list.add(exercisePowerVehicleNumJt.getText() + ""); + list.add(exerciseDynamoNumJt.getText() + ""); + list.add(exerciseFindProblemsJt.getText() + ""); + list.add(verificationPersonNumJt.getText() + ""); + list.add(verificationTeamNumJt.getText() + ""); + list.add(verificationEquipNumJt.getText() + ""); + list.add(verificationMaterialNumJt.getText() + ""); + list.add(verificationVehicleNumJt.getText() + ""); + list.add(verificationFindProblemsJt.getText() + ""); + list.add(designatedHospitalsJt.getText() + ""); + list.add(feverClinicJt.getText() + ""); + list.add(epidemicEnterpriseJt.getText() + ""); + list.add(otherImportantUsersJt.getText() + ""); + list.add(customerPowerPersonnelJt.getText() + ""); + list.add(powerDevopsPersonnelJt.getText() + ""); + list.add(electricallyVehiclesJt.getText() + ""); + list.add(emergencyPowerVehiclesJt.getText() + ""); + list.add(emergencyGeneratorJt.getText() + ""); + list.add(leadersCommandStaffJt.getText() + ""); + list.add(inputAmountPersonJt.getText() + ""); + list.add(inputAmountVehicleJt.getText() + ""); + list.add(inputAmountPowerVehicleJt.getText() + ""); + list.add(inputAmountDynamoJt.getText() + ""); + return list; + } + + /** + * 检查数据是否填充完全 + * @param list + * @return + */ + public Boolean checkEmpty(List list){ + for(int i = 0;i < list.size();i++){ + if(!StringHelper.isEmptyAndNull(list.get(i))){ + continue; + }else{ + return false; + } + } + return true; + } + + @Override + public void mousePressed(MouseEvent e) { + + } + + @Override + public void mouseReleased(MouseEvent e) { + + } + + @Override + public void mouseEntered(MouseEvent e) { + + } + + @Override + public void mouseExited(MouseEvent e) { + } + + public JPanel view() { + return jp; + } + + class Placeholder implements FocusListener { + private JTextArea textArea; + private String placeholder; + + public Placeholder(JTextArea textArea, String placeholder) { + this.textArea = textArea; + this.placeholder = placeholder; + textArea.setText(placeholder); + textArea.setForeground(Color.GRAY); + textArea.addFocusListener(this); + } + + @Override + public void focusGained(FocusEvent e) { + if (textArea.getText().equals(placeholder)) { + textArea.setText(""); + textArea.setForeground(Color.BLACK); + } + } + + @Override + public void focusLost(FocusEvent e) { + if (textArea.getText().isEmpty()) { + textArea.setText(placeholder); + textArea.setForeground(Color.GRAY); + } + } + } + +} diff --git a/src/main/java/com/bonus/autoweb/UI/frame/Jframe.java b/src/main/java/com/bonus/autoweb/UI/frame/Jframe.java new file mode 100644 index 0000000..a44196a --- /dev/null +++ b/src/main/java/com/bonus/autoweb/UI/frame/Jframe.java @@ -0,0 +1,69 @@ +package com.bonus.autoweb.UI.frame; + +import javax.swing.*; +import javax.swing.border.EmptyBorder; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +public class Jframe extends JFrame { + + private JPanel contentPane; + + public static void main(String[] args) { + Jframe frame = new Jframe(); + frame.setVisible(true); + } + + public Jframe() { + setTitle("信息填报"); + //设置窗口显示尺寸 + Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize(); + setSize(dimension.width / 2, dimension.height / 2); + Point p = GraphicsEnvironment.getLocalGraphicsEnvironment().getCenterPoint(); + setBounds(p.x - (dimension.width + 100) / 3 * 2 / 2, p.y - dimension.height / 2 / 2, + (dimension.width + 200) / 3 * 2, dimension.height / 5 * 3); + //设置窗口是否可以关闭 + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + contentPane = new JPanel(); + contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); + setContentPane(contentPane); + contentPane.setLayout(null); + JButton logButton = new JButton("日志"); + logButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + new LogAction(); + } + }); + logButton.setFont(new Font("微软雅黑",Font.BOLD,50)); + logButton.setForeground(Color.BLACK); + logButton.setBounds(80, 50, 1100, 100); + contentPane.add(logButton); + + JButton morningButton = new JButton("早报"); + morningButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + new DailyAction("morning_daily"); + } + }); + morningButton.setFont(new Font("微软雅黑",Font.BOLD,50)); + morningButton.setForeground(Color.BLACK); + morningButton.setBounds(80, 250, 1100, 100); + contentPane.add(morningButton); + + JButton eveningButton = new JButton("晚报"); + eveningButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + new DailyAction("evening_daily"); + } + }); + eveningButton.setFont(new Font("微软雅黑",Font.BOLD,50)); + eveningButton.setForeground(Color.BLACK); + eveningButton.setBounds(80, 450, 1100, 100); + contentPane.add(eveningButton); + } + +} diff --git a/src/main/java/com/bonus/autoweb/UI/frame/LogAction.java b/src/main/java/com/bonus/autoweb/UI/frame/LogAction.java new file mode 100644 index 0000000..c1f9bad --- /dev/null +++ b/src/main/java/com/bonus/autoweb/UI/frame/LogAction.java @@ -0,0 +1,734 @@ +package com.bonus.autoweb.UI.frame; + +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 javax.swing.*; +import java.awt.*; +import java.awt.event.FocusEvent; +import java.awt.event.FocusListener; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; +import java.io.*; +import java.net.URLEncoder; +import java.nio.charset.Charset; +import java.util.ArrayList; +import java.util.List; + +/** + * 日志页面 + * + * @author zys + */ +public class LogAction extends JFrame implements MouseListener { + + private static final long serialVersionUID = 1L; + + JPanel jp; + + JTextField weatherJt, lowTemperatureJt, temperatureJt, eventDetectionTitleJt, powerWorkTitleJt, resourceCheckTitleJt, + communicationsTestTitleJt, dailyOperationTitleJt, dailySubmissionTitleJt, warningDisposalTitleJt, generalChroniclesTitleJt; + JTextArea eventDetectionContentJt,powerWorkContentJt,resourceCheckContentJt,communicationsTestContentJt, + dailyOperationContentJt,dailySubmissionContentJt,warningDisposalContentJt,generalChroniclesContentJt; + + JButton btn; + + JScrollPane jScroller; + + public static void main(String[] args) { + new LogAction(); + } + + public LogAction() { + //设置显示窗口标题 + setTitle("日志填报"); + Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize(); + //设置窗口显示尺寸 + setSize((dimension.width + 420) / 2, dimension.height); + Point p = GraphicsEnvironment.getLocalGraphicsEnvironment().getCenterPoint(); + setBounds(p.x - (dimension.width + 180) / 3 * 2 / 2, p.y - dimension.height / 2 + 25, + (dimension.width + 420) / 3 * 2, dimension.height - 50); + setResizable(false); + //设置窗口是否可以关闭 + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + //获取本窗口的内容窗格 + Container c = getContentPane(); + JPanel jPanel = initMainJpanel(); + jScroller = new JScrollPane(jPanel, ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, + ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS); + //设置滚轮速度 + jScroller.getVerticalScrollBar().setUnitIncrement(20); + c.add(jScroller); + //设置本窗口是否可见 + setVisible(true); + initData(); + } + + private void initData() { + if (new File(DataConfig.filePath + "\\log.xml").exists()) { + // 反序列化--> 解决乱码问题 + 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(); + System.out.println(xml); + } catch (Exception e) { + // TODO: handle exception + } + + XStream xstream = new XStream(new JettisonMappedXmlDriver()); + xstream.alias("log", LogBean.class); + LogBean bean = (LogBean) xstream.fromXML(xml); + weatherJt.setText(bean.getWeather()); + lowTemperatureJt.setText(bean.getMin_temperature()); + temperatureJt.setText(bean.getMax_temperature()); + eventDetectionTitleJt.setText(bean.getEvent_detection_title()); + eventDetectionContentJt.setText(bean.getEvent_detection_content()); + powerWorkTitleJt.setText(bean.getPower_work_title()); + powerWorkContentJt.setText(bean.getPower_work_content()); + resourceCheckTitleJt.setText(bean.getResource_check_title()); + resourceCheckContentJt.setText(bean.getResource_check_content()); + communicationsTestTitleJt.setText(bean.getCommunications_test_title()); + communicationsTestContentJt.setText(bean.getCommunications_test_content()); + dailyOperationTitleJt.setText(bean.getDaily_operation_title()); + dailyOperationContentJt.setText(bean.getDaily_operation_content()); + dailySubmissionTitleJt.setText(bean.getDaily_submission_title()); + dailySubmissionContentJt.setText(bean.getDaily_submission_content()); + warningDisposalTitleJt.setText(bean.getWarning_disposal_title()); + warningDisposalContentJt.setText(bean.getWarning_disposal_content()); + generalChroniclesTitleJt.setText(bean.getGeneral_chronicles_title()); + generalChroniclesContentJt.setText(bean.getGeneral_chronicles_content()); + } + } + + private JPanel initMainJpanel() { + int height = 120 * 40 + 35; + Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize(); + jp = new JPanel(); + jp.setOpaque(false); + jp.setLayout(null); + jp.setSize(dimension); + jp.setPreferredSize(new Dimension((dimension.width + 100) / 2, height)); + int oneLabelY = 20; + int oneTextY = 35; + /** + * 天气 + */ + JLabel weatherLabel = new JLabel("天气"); + weatherLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + weatherLabel.setForeground(new Color(11, 24, 76)); + int weatherJlx = 30; + weatherLabel.setBounds(weatherJlx, oneLabelY, 400, 100); + /** + * 天气输入框 + */ + weatherJt = new JTextField(); + setTextFiledColor(weatherJt); + int weatherJtX = weatherJlx + 150; + weatherJt.setBounds(weatherJtX, oneTextY, 250, 80); + + /**添加最低气温 调整整体宽度位置*/ + /** + * 最低气温 + */ + JLabel lowTemperatureLabel = new JLabel("最低气温"); + lowTemperatureLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + lowTemperatureLabel.setForeground(new Color(11, 24, 76)); + int lowTemperatureJlx = weatherJtX + 270; + lowTemperatureLabel.setBounds(lowTemperatureJlx, oneLabelY, 200, 100); + /** + * 最低气温输入框 + */ + lowTemperatureJt = new JTextField(); + setTextFiledColor(lowTemperatureJt); + int lowTemperatureJtX = lowTemperatureJlx + 220; + lowTemperatureJt.setBounds(lowTemperatureJtX, oneTextY, 160, 80); + + + /** + * 最高气温 + */ + JLabel temperatureLabel = new JLabel("最高气温"); + temperatureLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + temperatureLabel.setForeground(new Color(11, 24, 76)); + int temperatureJlx = weatherJtX + 700; + temperatureLabel.setBounds(temperatureJlx, oneLabelY, 200, 100); + /** + * 最高气温输入框 + */ + temperatureJt = new JTextField(); + setTextFiledColor(temperatureJt); + int temperatureJtX = temperatureJlx + 220; + temperatureJt.setBounds(temperatureJtX, oneTextY, 160, 80); + + /** + * 一、事件检测 + */ + JLabel eventDetectionLabel = new JLabel("一、事件检测"); + eventDetectionLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + eventDetectionLabel.setForeground(new Color(11, 24, 76)); + int eventDetectionJlx = 30; + int eventDetectionJly = oneLabelY + 120; + eventDetectionLabel.setBounds(eventDetectionJlx, eventDetectionJly, 500, 100); + /** + * 事件检测标题输入框 + */ + eventDetectionTitleJt = new JTextField(); + setTextFiledColor(eventDetectionTitleJt); + int eventDetectionTitleJtX = eventDetectionJlx + 500; + eventDetectionTitleJt.setBounds(eventDetectionTitleJtX, eventDetectionJly + 15, 810, 80); + if (StringHelper.isEmptyAndNull(eventDetectionTitleJt.getText())) { + eventDetectionTitleJt.addFocusListener(new MyFocusListener("请输入事件检测标题", eventDetectionTitleJt)); + } + + /** + * 事件检测内容输入框 + */ +// eventDetectionContentJt = new JTextField(); +// setTextFiledColor(eventDetectionContentJt); +// int eventDetectionContentJtY = eventDetectionJly + 120; +// eventDetectionContentJt.setBounds(eventDetectionJlx, eventDetectionContentJtY, 1310, 120); +// if (StringHelper.isEmptyAndNull(eventDetectionContentJt.getText())) { +// eventDetectionContentJt.addFocusListener(new MyFocusListener("请输入事件检测内容", eventDetectionContentJt)); +// } + eventDetectionContentJt=new JTextArea(7,26); + Placeholder placeholder0 = new Placeholder(eventDetectionContentJt, "请输入事件检测内容..."); + eventDetectionContentJt.setLineWrap(true); //设置文本域中的文本为自动换行 + eventDetectionContentJt.setForeground(Color.BLACK); //设置组件的背景色 + eventDetectionContentJt.setFont(new Font("微软雅黑",Font.PLAIN,40)); //修改字体样式 + eventDetectionContentJt.setBackground(Color.WHITE); //设置按钮背景色 + JScrollPane jsp=new JScrollPane(eventDetectionContentJt); //将文本域放入滚动窗口 + Dimension size=eventDetectionContentJt.getPreferredSize(); //获得文本域的首选大小 + int eventDetectionContentJtY = eventDetectionJly + 120; + jsp.setBounds(eventDetectionJlx,eventDetectionContentJtY,1310,size.height+20); + + jp.add(jsp); + + /** + * 二、保电工作 + */ + JLabel powerWorkLabel = new JLabel("二、保电工作"); + powerWorkLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + powerWorkLabel.setForeground(new Color(11, 24, 76)); + int powerWorkJlx = 30; + int powerWorkJly = size.height + 300; + powerWorkLabel.setBounds(powerWorkJlx, powerWorkJly, 500, 100); + /** + * 保电工作标题输入框 + */ + powerWorkTitleJt = new JTextField(); + setTextFiledColor(powerWorkTitleJt); + int powerWorkTitleJtX = powerWorkJlx + 500; + powerWorkTitleJt.setBounds(powerWorkTitleJtX, powerWorkJly + 15, 810, 80); + if (StringHelper.isEmptyAndNull(powerWorkTitleJt.getText())) { + powerWorkTitleJt.addFocusListener(new MyFocusListener("请输入保电工作标题", powerWorkTitleJt)); + } + + /** + * 保电工作内容输入框 + */ +// powerWorkContentJt = new JTextField(); +// setTextFiledColor(powerWorkContentJt); +// +// powerWorkContentJt.setBounds(powerWorkJlx, powerWorkContentJtY, 1310, 120); +// if (StringHelper.isEmptyAndNull(powerWorkContentJt.getText())) { +// powerWorkContentJt.addFocusListener(new MyFocusListener("请输入保电工作内容", powerWorkContentJt)); +// } + powerWorkContentJt=new JTextArea(7,26); + Placeholder placeholder1 = new Placeholder(powerWorkContentJt, "请输入保电工作内容..."); + powerWorkContentJt.setLineWrap(true); //设置文本域中的文本为自动换行 + powerWorkContentJt.setForeground(Color.BLACK); //设置组件的背景色 + powerWorkContentJt.setFont(new Font("微软雅黑",Font.PLAIN,40)); //修改字体样式 + powerWorkContentJt.setBackground(Color.WHITE); //设置按钮背景色 + JScrollPane powerWorkContentJtJsp=new JScrollPane(powerWorkContentJt); //将文本域放入滚动窗口 + Dimension powerWorkContentJtSize=powerWorkContentJt.getPreferredSize(); //获得文本域的首选大小 + int powerWorkContentJtY = powerWorkJly + 120; + powerWorkContentJtJsp.setBounds(eventDetectionJlx,powerWorkContentJtY,1310,powerWorkContentJtSize.height+20); + + jp.add(powerWorkContentJtJsp); + /** + * 三、资源核查情况 + */ + JLabel resourceCheckLabel = new JLabel("三、资源核查情况"); + resourceCheckLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + resourceCheckLabel.setForeground(new Color(11, 24, 76)); + int resourceCheckJlx = 30; + int resourceCheckJly = powerWorkContentJtY + 450; + resourceCheckLabel.setBounds(resourceCheckJlx, resourceCheckJly, 500, 100); + /** + * 资源核查情况标题输入框 + */ + resourceCheckTitleJt = new JTextField(); + setTextFiledColor(resourceCheckTitleJt); + int resourceCheckTitleJtX = resourceCheckJlx + 500; + resourceCheckTitleJt.setBounds(resourceCheckTitleJtX, resourceCheckJly + 15, 810, 80); + if (StringHelper.isEmptyAndNull(resourceCheckTitleJt.getText())) { + resourceCheckTitleJt.addFocusListener(new MyFocusListener("请输入资源核查情况标题", resourceCheckTitleJt)); + } + + /** + * 资源核查情况内容输入框 + */ +// resourceCheckContentJt = new JTextField(); +// setTextFiledColor(resourceCheckContentJt); +// int resourceCheckContentJtY = resourceCheckJly + 120; +// resourceCheckContentJt.setBounds(resourceCheckJlx, resourceCheckContentJtY, 1310, 120); +// if (StringHelper.isEmptyAndNull(resourceCheckContentJt.getText())) { +// resourceCheckContentJt.addFocusListener(new MyFocusListener("请输入资源核查情况内容", resourceCheckContentJt)); +// } + resourceCheckContentJt=new JTextArea(7,26); + Placeholder placeholder2 = new Placeholder(resourceCheckContentJt, "请输入资源核查情况内容..."); + resourceCheckContentJt.setLineWrap(true); //设置文本域中的文本为自动换行 + resourceCheckContentJt.setForeground(Color.BLACK); //设置组件的背景色 + resourceCheckContentJt.setFont(new Font("微软雅黑",Font.PLAIN,40)); //修改字体样式 + resourceCheckContentJt.setBackground(Color.WHITE); //设置按钮背景色 + JScrollPane resourceCheckContentJtJsp=new JScrollPane(resourceCheckContentJt); //将文本域放入滚动窗口 + Dimension resourceCheckContentJtSize=resourceCheckContentJt.getPreferredSize(); //获得文本域的首选大小 + int resourceCheckContentJtY = resourceCheckJly + 120; + resourceCheckContentJtJsp.setBounds(eventDetectionJlx,resourceCheckContentJtY,1310,resourceCheckContentJtSize.height+20); + jp.add(resourceCheckContentJtJsp); + /** + * 四、通信测试情况 + */ + JLabel communicationsTestLabel = new JLabel("四、通信测试情况"); + communicationsTestLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + communicationsTestLabel.setForeground(new Color(11, 24, 76)); + int communicationsTestJlx = 30; + int communicationsTestJly = resourceCheckContentJtY + 450; + communicationsTestLabel.setBounds(communicationsTestJlx, communicationsTestJly, 500, 100); + /** + * 通信测试情况标题输入框 + */ + communicationsTestTitleJt = new JTextField(); + setTextFiledColor(communicationsTestTitleJt); + int communicationsTestTitleJtX = communicationsTestJlx + 500; + communicationsTestTitleJt.setBounds(communicationsTestTitleJtX, communicationsTestJly + 15, 810, 80); + if (StringHelper.isEmptyAndNull(communicationsTestTitleJt.getText())) { + communicationsTestTitleJt.addFocusListener(new MyFocusListener("请输入通信测试情况标题", communicationsTestTitleJt)); + } + + /** + * 通信测试情况内容输入框 + */ +// communicationsTestContentJt = new JTextField(); +// setTextFiledColor(communicationsTestContentJt); +// int communicationsTestContentJtY = communicationsTestJly + 120; +// communicationsTestContentJt.setBounds(communicationsTestJlx, communicationsTestContentJtY, 1310, 120); +// if (StringHelper.isEmptyAndNull(communicationsTestContentJt.getText())) { +// communicationsTestContentJt.addFocusListener(new MyFocusListener("请输入通信测试情况内容", communicationsTestContentJt)); +// } + + communicationsTestContentJt=new JTextArea(7,26); + Placeholder placeholder3 = new Placeholder(communicationsTestContentJt, "请输入通信测试情况内容..."); + communicationsTestContentJt.setLineWrap(true); //设置文本域中的文本为自动换行 + communicationsTestContentJt.setForeground(Color.BLACK); //设置组件的背景色 + communicationsTestContentJt.setFont(new Font("微软雅黑",Font.PLAIN,40)); //修改字体样式 + communicationsTestContentJt.setBackground(Color.WHITE); //设置按钮背景色 + JScrollPane communicationsTestContentJtJsp=new JScrollPane(communicationsTestContentJt); //将文本域放入滚动窗口 + Dimension communicationsTestContentJtSize=communicationsTestContentJt.getPreferredSize(); //获得文本域的首选大小 + int communicationsTestContentJtY = communicationsTestJly + 120; + communicationsTestContentJtJsp.setBounds(eventDetectionJlx,communicationsTestContentJtY,1310,communicationsTestContentJtSize.height+20); + jp.add(communicationsTestContentJtJsp); + + /** + * 五、日常操作情况 + */ + JLabel dailyOperationLabel = new JLabel("五、日常操作情况"); + dailyOperationLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + dailyOperationLabel.setForeground(new Color(11, 24, 76)); + int dailyOperationJlx = 30; + int dailyOperationJly = communicationsTestContentJtY + 450; + dailyOperationLabel.setBounds(dailyOperationJlx, dailyOperationJly, 500, 100); + /** + * 日常操作情况标题输入框 + */ + dailyOperationTitleJt = new JTextField(); + setTextFiledColor(dailyOperationTitleJt); + int dailyOperationTitleJtX = dailyOperationJlx + 500; + dailyOperationTitleJt.setBounds(dailyOperationTitleJtX, dailyOperationJly + 15, 810, 80); + if (StringHelper.isEmptyAndNull(dailyOperationTitleJt.getText())) { + dailyOperationTitleJt.addFocusListener(new MyFocusListener("请输入日常操作情况标题", dailyOperationTitleJt)); + } + + /** + * 日常操作情况内容输入框 + */ +// dailyOperationContentJt = new JTextField(); +// setTextFiledColor(dailyOperationContentJt); +// int dailyOperationContentJtY = dailyOperationJly + 120; +// dailyOperationContentJt.setBounds(dailyOperationJlx, dailyOperationContentJtY, 1310, 120); +// if (StringHelper.isEmptyAndNull(dailyOperationContentJt.getText())) { +// dailyOperationContentJt.addFocusListener(new MyFocusListener("请输入日常操作情况内容", dailyOperationContentJt)); +// } + + dailyOperationContentJt=new JTextArea(7,26); + Placeholder placeholder4 = new Placeholder(dailyOperationContentJt, "请输入日常操作情况内容..."); + dailyOperationContentJt.setLineWrap(true); //设置文本域中的文本为自动换行 + dailyOperationContentJt.setForeground(Color.BLACK); //设置组件的背景色 + dailyOperationContentJt.setFont(new Font("微软雅黑",Font.PLAIN,40)); //修改字体样式 + dailyOperationContentJt.setBackground(Color.WHITE); //设置按钮背景色 + JScrollPane dailyOperationContentJtJsp=new JScrollPane(dailyOperationContentJt); //将文本域放入滚动窗口 + Dimension dailyOperationContentJtSize=dailyOperationContentJt.getPreferredSize(); //获得文本域的首选大小 + int dailyOperationContentJtY = dailyOperationJly + 120; + dailyOperationContentJtJsp.setBounds(eventDetectionJlx,dailyOperationContentJtY,1310,dailyOperationContentJtSize.height+20); + jp.add(dailyOperationContentJtJsp); + + /** + * 六、日报提报情况 + */ + JLabel dailySubmissionLabel = new JLabel("六、日报提报情况"); + dailySubmissionLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + dailySubmissionLabel.setForeground(new Color(11, 24, 76)); + int dailySubmissionJlx = 30; + int dailySubmissionJly = dailyOperationContentJtY + 450; + dailySubmissionLabel.setBounds(dailySubmissionJlx, dailySubmissionJly, 500, 100); + /** + * 日报提报情况标题输入框 + */ + dailySubmissionTitleJt = new JTextField(); + setTextFiledColor(dailySubmissionTitleJt); + int dailySubmissionTitleJtX = dailySubmissionJlx + 500; + dailySubmissionTitleJt.setBounds(dailySubmissionTitleJtX, dailySubmissionJly + 15, 810, 80); + if (StringHelper.isEmptyAndNull(dailySubmissionTitleJt.getText())) { + dailySubmissionTitleJt.addFocusListener(new MyFocusListener("请输入日报提报情况标题", dailySubmissionTitleJt)); + } + + /** + * 日报提报情况内容输入框 + */ +// dailySubmissionContentJt = new JTextField(); +// setTextFiledColor(dailySubmissionContentJt); +// int dailySubmissionContentJtY = dailySubmissionJly + 120; +// dailySubmissionContentJt.setBounds(dailySubmissionJlx, dailySubmissionContentJtY, 1310, 120); +// if (StringHelper.isEmptyAndNull(dailySubmissionContentJt.getText())) { +// dailySubmissionContentJt.addFocusListener(new MyFocusListener("请输入日报提报情况内容", dailySubmissionContentJt)); +// } + + dailySubmissionContentJt=new JTextArea(7,26); + Placeholder placeholder5 = new Placeholder(dailySubmissionContentJt, "请输入日报提报情况内容..."); + dailySubmissionContentJt.setLineWrap(true); //设置文本域中的文本为自动换行 + dailySubmissionContentJt.setForeground(Color.BLACK); //设置组件的背景色 + dailySubmissionContentJt.setFont(new Font("微软雅黑",Font.PLAIN,40)); //修改字体样式 + dailySubmissionContentJt.setBackground(Color.WHITE); //设置按钮背景色 + JScrollPane dailySubmissionContentJtJsp=new JScrollPane(dailySubmissionContentJt); //将文本域放入滚动窗口 + Dimension dailySubmissionContentJtSize=dailySubmissionContentJt.getPreferredSize(); //获得文本域的首选大小 + int dailySubmissionContentJtY = dailySubmissionJly + 120; + dailySubmissionContentJtJsp.setBounds(eventDetectionJlx,dailySubmissionContentJtY,1310,dailySubmissionContentJtSize.height+20); + jp.add(dailySubmissionContentJtJsp); + + /** + * 七、预警处置 + */ + JLabel warningDisposalLabel = new JLabel("七、预警处置"); + warningDisposalLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + warningDisposalLabel.setForeground(new Color(11, 24, 76)); + int warningDisposalJlx = 30; + int warningDisposalJly = dailySubmissionContentJtY + 450; + warningDisposalLabel.setBounds(warningDisposalJlx, warningDisposalJly, 500, 100); + /** + * 预警处置标题输入框 + */ + warningDisposalTitleJt = new JTextField(); + setTextFiledColor(warningDisposalTitleJt); + int warningDisposalTitleJtX = warningDisposalJlx + 500; + warningDisposalTitleJt.setBounds(warningDisposalTitleJtX, warningDisposalJly + 15, 810, 80); + if (StringHelper.isEmptyAndNull(warningDisposalTitleJt.getText())) { + warningDisposalTitleJt.addFocusListener(new MyFocusListener("请输入预警处置标题", warningDisposalTitleJt)); + } + + /** + * 预警处置内容输入框 + */ +// warningDisposalContentJt = new JTextField(); +// setTextFiledColor(warningDisposalContentJt); +// int warningDisposalContentJtY = warningDisposalJly + 120; +// warningDisposalContentJt.setBounds(warningDisposalJlx, warningDisposalContentJtY, 1310, 120); +// if (StringHelper.isEmptyAndNull(warningDisposalContentJt.getText())) { +// warningDisposalContentJt.addFocusListener(new MyFocusListener("请输入预警处置内容", warningDisposalContentJt)); +// } + + warningDisposalContentJt=new JTextArea(7,26); + Placeholder placeholder6 = new Placeholder(warningDisposalContentJt, "请输入预警处置内容..."); + warningDisposalContentJt.setLineWrap(true); //设置文本域中的文本为自动换行 + warningDisposalContentJt.setForeground(Color.BLACK); //设置组件的背景色 + warningDisposalContentJt.setFont(new Font("微软雅黑",Font.PLAIN,40)); //修改字体样式 + warningDisposalContentJt.setBackground(Color.WHITE); //设置按钮背景色 + JScrollPane warningDisposalContentJtJsp=new JScrollPane(warningDisposalContentJt); //将文本域放入滚动窗口 + Dimension warningDisposalContentJtSize=warningDisposalContentJt.getPreferredSize(); //获得文本域的首选大小 + int warningDisposalContentJtY = warningDisposalJly + 120; + warningDisposalContentJtJsp.setBounds(eventDetectionJlx,warningDisposalContentJtY,1310,warningDisposalContentJtSize.height+20); + jp.add(warningDisposalContentJtJsp); + + /** + * 八、一般记事 + */ + JLabel generalChroniclesLabel = new JLabel("八、一般记事"); + generalChroniclesLabel.setFont(new Font("微软雅黑", Font.BOLD, 50)); + generalChroniclesLabel.setForeground(new Color(11, 24, 76)); + int generalChroniclesJlx = 30; + int generalChroniclesJly = warningDisposalContentJtY + 450; + generalChroniclesLabel.setBounds(generalChroniclesJlx, generalChroniclesJly, 500, 100); + /** + * 一般记事标题输入框 + */ + generalChroniclesTitleJt = new JTextField(); + setTextFiledColor(generalChroniclesTitleJt); + int generalChroniclesTitleJtX = generalChroniclesJlx + 500; + generalChroniclesTitleJt.setBounds(generalChroniclesTitleJtX, generalChroniclesJly + 15, 810, 80); + if (StringHelper.isEmptyAndNull(generalChroniclesTitleJt.getText())) { + generalChroniclesTitleJt.addFocusListener(new MyFocusListener("请输入一般记事标题", generalChroniclesTitleJt)); + } + + /** + * 一般记事内容输入框 + */ +// generalChroniclesContentJt = new JTextField(); +// setTextFiledColor(generalChroniclesContentJt); +// int generalChroniclesContentJtY = generalChroniclesJly + 120; +// generalChroniclesContentJt.setBounds(generalChroniclesJlx, generalChroniclesContentJtY, 1310, 120); +// if (StringHelper.isEmptyAndNull(generalChroniclesContentJt.getText())) { +// generalChroniclesContentJt.addFocusListener(new MyFocusListener("请输入一般记事内容", generalChroniclesContentJt)); +// } + + generalChroniclesContentJt=new JTextArea(7,26); + Placeholder placeholder7 = new Placeholder(generalChroniclesContentJt, "请输入一般记事内容..."); + generalChroniclesContentJt.setLineWrap(true); //设置文本域中的文本为自动换行 + generalChroniclesContentJt.setForeground(Color.BLACK); //设置组件的背景色 + generalChroniclesContentJt.setFont(new Font("微软雅黑",Font.PLAIN,40)); //修改字体样式 + generalChroniclesContentJt.setBackground(Color.WHITE); //设置按钮背景色 + JScrollPane generalChroniclesContentJtJsp=new JScrollPane(generalChroniclesContentJt); //将文本域放入滚动窗口 + Dimension generalChroniclesContentJtSize=generalChroniclesContentJt.getPreferredSize(); //获得文本域的首选大小 + int generalChroniclesContentJtY = generalChroniclesJly + 120; + generalChroniclesContentJtJsp.setBounds(eventDetectionJlx,generalChroniclesContentJtY,1310,generalChroniclesContentJtSize.height+20); + jp.add(generalChroniclesContentJtJsp); + + btn = new JButton(); + btn.setFont(new Font("微软雅黑", Font.BOLD, 50)); + btn.setForeground(Color.BLACK); + btn.setText("提交"); + btn.addMouseListener(this); + int btnX = (dimension.width - 100) / 4; + btn.setBounds(btnX, generalChroniclesContentJtY + 450, 200, 100); + + jp.add(weatherLabel); + jp.add(weatherJt); + jp.add(lowTemperatureLabel); + jp.add(lowTemperatureJt); + jp.add(temperatureLabel); + jp.add(temperatureJt); + jp.add(eventDetectionLabel); + jp.add(eventDetectionTitleJt); +// jp.add(eventDetectionContentJt); + jp.add(powerWorkLabel); + jp.add(powerWorkTitleJt); +// jp.add(powerWorkContentJt); + jp.add(resourceCheckLabel); + jp.add(resourceCheckTitleJt); +// jp.add(resourceCheckContentJt); + jp.add(communicationsTestLabel); + jp.add(communicationsTestTitleJt); +// jp.add(communicationsTestContentJt); + jp.add(dailyOperationLabel); + jp.add(dailyOperationTitleJt); +// jp.add(dailyOperationContentJt); + jp.add(dailySubmissionLabel); + jp.add(dailySubmissionTitleJt); +// jp.add(dailySubmissionContentJt); + jp.add(warningDisposalLabel); + jp.add(warningDisposalTitleJt); +// jp.add(warningDisposalContentJt); + jp.add(generalChroniclesLabel); + jp.add(generalChroniclesTitleJt); +// jp.add(generalChroniclesContentJt); + jp.add(btn); + return jp; + } + + /** + * 设置数据框中的字体颜色及大小 + * + * @param jtf + */ + private void setTextFiledColor(JTextField jtf) { + jtf.setFont(new Font("微软雅黑", Font.BOLD, 50)); + jtf.setForeground(Color.BLACK); + } + + @Override + public void mouseClicked(MouseEvent e) { + JButton temp = (JButton) e.getSource(); + if (temp.equals(btn)) { + List list = getAllField(); + Boolean check = checkEmpty(list); + if (check) { + LogBean logBean = getLogBean(); + insertData(logBean); + } else { + JOptionPane.showMessageDialog(jp, "请检查数据是否填写完毕!", "错误", 0); + } + } + } + + private LogBean getLogBean() { + LogBean bean = new LogBean(); + bean.setWeather(weatherJt.getText()); + bean.setMin_temperature(lowTemperatureJt.getText()); + bean.setMax_temperature(temperatureJt.getText()); + bean.setEvent_detection_title(eventDetectionTitleJt.getText()); + bean.setEvent_detection_content(eventDetectionContentJt.getText()); + bean.setPower_work_title(powerWorkTitleJt.getText()); + bean.setPower_work_content(powerWorkContentJt.getText()); + bean.setResource_check_title(resourceCheckTitleJt.getText()); + bean.setResource_check_content(resourceCheckContentJt.getText()); + bean.setCommunications_test_title(communicationsTestTitleJt.getText()); + bean.setCommunications_test_content(communicationsTestContentJt.getText()); + bean.setDaily_operation_title(dailyOperationTitleJt.getText()); + bean.setDaily_operation_content(dailyOperationContentJt.getText()); + bean.setDaily_submission_title(dailySubmissionTitleJt.getText()); + bean.setDaily_submission_content(dailySubmissionContentJt.getText()); + bean.setWarning_disposal_title(warningDisposalTitleJt.getText()); + bean.setWarning_disposal_content(warningDisposalContentJt.getText()); + bean.setGeneral_chronicles_title(generalChroniclesTitleJt.getText()); + bean.setGeneral_chronicles_content(generalChroniclesContentJt.getText()); + return bean; + } + + private void insertData(LogBean logBean) { + String xml = null; + XStream xstream = new XStream(new JettisonMappedXmlDriver()); + xstream.setMode(XStream.NO_REFERENCES); + xstream.alias("log", LogBean.class); + try { + xml = xstream.toXML(logBean); + // 将XML字符串写入文件,并指定字符编码为UTF-8 + FileOutputStream fos = new FileOutputStream(DataConfig.filePath + "\\log.xml"); + OutputStreamWriter writer = new OutputStreamWriter(fos, "GBK"); + writer.write(xml); + writer.close(); + System.out.println("文件保存成功"); + } catch (IOException e) { + throw new RuntimeException(e); + } + if (new File(DataConfig.filePath + "\\log.xml").exists()) { + JOptionPane.showMessageDialog(jp, "日志保存成功!", "提示", 1); + System.exit(0); + } + } + + // 使用 URLEncoder 库对字符串进行 utf-8 编码 + + public String encodePathVariable(String pathVariable) { + String ret = "default"; + try { + ret = URLEncoder.encode(pathVariable, "utf-8"); + System.out.println(pathVariable + " : " + ret); + } catch (Exception e) { + System.out.println(e); + } + return ret; + } + + public List getAllField() { + List list = new ArrayList(); + list.add(weatherJt.getText() + ""); + list.add(lowTemperatureJt.getText() + ""); + list.add(temperatureJt.getText() + ""); + list.add(eventDetectionTitleJt.getText() + ""); + list.add(eventDetectionContentJt.getText() + ""); + list.add(powerWorkTitleJt.getText() + ""); + list.add(powerWorkContentJt.getText() + ""); + list.add(resourceCheckTitleJt.getText() + ""); + list.add(resourceCheckContentJt.getText() + ""); + list.add(communicationsTestTitleJt.getText() + ""); + list.add(communicationsTestContentJt.getText() + ""); + list.add(dailyOperationTitleJt.getText() + ""); + list.add(dailyOperationContentJt.getText() + ""); + list.add(dailySubmissionTitleJt.getText() + ""); + list.add(dailySubmissionContentJt.getText() + ""); + list.add(warningDisposalTitleJt.getText() + ""); + list.add(warningDisposalContentJt.getText() + ""); + list.add(generalChroniclesTitleJt.getText() + ""); + list.add(generalChroniclesContentJt.getText() + ""); + return list; + } + + /** + * 检查数据是否填充完全 + * + * @param list + * @return + */ + public Boolean checkEmpty(List list) { + for (int i = 0; i < list.size(); i++) { + if (!StringHelper.isEmptyAndNull(list.get(i))) { + continue; + } else { + return false; + } + } + return true; + } + + @Override + public void mousePressed(MouseEvent e) { + + } + + @Override + public void mouseReleased(MouseEvent e) { + + } + + @Override + public void mouseEntered(MouseEvent e) { + + } + + @Override + public void mouseExited(MouseEvent e) { + } + + public JScrollPane view() { + return jScroller; + } + class Placeholder implements FocusListener { + private JTextArea textArea; + private String placeholder; + + public Placeholder(JTextArea textArea, String placeholder) { + this.textArea = textArea; + this.placeholder = placeholder; + textArea.setText(placeholder); + textArea.setForeground(Color.GRAY); + textArea.addFocusListener(this); + } + + @Override + public void focusGained(FocusEvent e) { + if (textArea.getText().equals(placeholder)) { + textArea.setText(""); + textArea.setForeground(Color.BLACK); + } + } + + @Override + public void focusLost(FocusEvent e) { + if (textArea.getText().isEmpty()) { + textArea.setText(placeholder); + textArea.setForeground(Color.GRAY); + } + } + } +} diff --git a/src/main/java/com/bonus/autoweb/UI/frame/MyFocusListener.java b/src/main/java/com/bonus/autoweb/UI/frame/MyFocusListener.java new file mode 100644 index 0000000..30b80cc --- /dev/null +++ b/src/main/java/com/bonus/autoweb/UI/frame/MyFocusListener.java @@ -0,0 +1,34 @@ +package com.bonus.autoweb.UI.frame; + +import javax.swing.*; +import java.awt.*; +import java.awt.event.FocusEvent; +import java.awt.event.FocusListener; + +public class MyFocusListener implements FocusListener { + String info; + JTextField jtf; + public MyFocusListener(String info, JTextField jtf){ + this.info=info; + this.jtf=jtf; + jtf.setForeground(new Color(105,105,105)); + jtf.setText(info); + } + @Override + public void focusGained(FocusEvent e){//获得焦点的时候,清空提示文字 + jtf.setFont(new Font("微软雅黑",Font.BOLD,50)); + jtf.setForeground(Color.BLACK); + String temp=jtf.getText(); + if(temp.equals(info)){ + jtf.setText(""); + } + } + public void focusLost(FocusEvent e){//失去焦点的时候,判断如果为空,就显示提示文字 + String temp=jtf.getText(); + if(temp.equals("")){ + jtf.setFont(new Font("微软雅黑",Font.BOLD,50)); + jtf.setForeground(new Color(105,105,105)); + jtf.setText(info); + } + } +} diff --git a/src/main/java/com/bonus/autoweb/UI/frame/StringHelper.java b/src/main/java/com/bonus/autoweb/UI/frame/StringHelper.java new file mode 100644 index 0000000..915eb63 --- /dev/null +++ b/src/main/java/com/bonus/autoweb/UI/frame/StringHelper.java @@ -0,0 +1,30 @@ +package com.bonus.autoweb.UI.frame; + +public class StringHelper { + public static boolean isEmpty(String str) { + if (str == null || str.trim().equals("") || str.trim().equals("null")) { + return true; + } + return false; + } + /** + * 判断字符串 不为空 + */ + public static boolean isNotEmpty(String str) { + return !isEmpty(str); + } + + public static boolean isEmptyAndNull(String str) { + if (str == null || str.trim().equals("") || str.trim().equals("null")) { + return true; + } + return false; + } + public static String fillPrefixZero(int v, int len) { + String vStr = v + ""; + while (vStr.length() < len) { + vStr = "0" + vStr; + } + return vStr; + } +} \ No newline at end of file diff --git a/src/main/java/com/bonus/autoweb/base/AutoMain.java b/src/main/java/com/bonus/autoweb/base/AutoMain.java new file mode 100644 index 0000000..d4749b0 --- /dev/null +++ b/src/main/java/com/bonus/autoweb/base/AutoMain.java @@ -0,0 +1,380 @@ +package com.bonus.autoweb.base; + +import org.openqa.selenium.By; +import org.openqa.selenium.JavascriptExecutor; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.chrome.ChromeDriver; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.firefox.FirefoxDriver; +import org.openqa.selenium.interactions.Actions; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.concurrent.TimeUnit; + + +/** + * 自动化操作 + * + * @author 吕继龙 + */ +public class AutoMain { + + Logger log = LoggerFactory.getLogger(AutoMain.class); + //浏览器驱动对象 + private WebDriver webDriver; + + public WebDriver getWebDriver() { + return webDriver; + } + + /** + * 初始化驱动 + */ + public void initDrive(int type) { + // chromedriver服务地址 + System.setProperty(DataConfig.DRIVE_NAME, DataConfig.drivePath); + ChromeOptions option = new ChromeOptions(); + //添加浏览器地址 +// option.setBinary("C:\\Program Files\\Mozilla Firefox\\firefox.exe");//个人本地 +// option.setBinary("C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe");//个人本地 + option.setBinary("C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"); +// option.setBinary("C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe");//宿州 +// option.addArguments("start-fullscreen"); + option.addArguments("--start-maximized"); + option.addArguments("--force-device-scale-factor=0.75"); + option.addArguments("disable-infobars"); + + //隐藏页面 +// option.addArguments("--headless"); +// webDriver = new FirefoxDriver(option); + webDriver = new ChromeDriver(option); + } + + /** + * 开始工作 + */ + public void startAuto(String userName, String pass) throws Exception { + openWeb(); + login(userName, pass); + openDuty(); + } + public void startYuJingAuto(String userName, String pass) throws Exception { + openWeb(); + log.info("打开网站成功"); + login(userName, pass); + log.info("登录成功"); + openYuJing(); + } + public void startYuJingActionAuto(String userName, String pass) throws Exception { + openWeb(); + log.info("打开网站成功"); + login(userName, pass); + log.info("登录成功"); + openYuJingAction(); + } + public void startCaoLianAuto(String userName, String pass) throws Exception { + openWeb(); + login(userName, pass); + openCheckTheDrills(); + } + + /** + * 打开网站 + */ + public void openWeb() throws InterruptedException { + //第一步打开指定网站 + webDriver.get(DataConfig.URL); + log.info("打开宿州应急指挥中心网站------------"); + Thread.sleep(2000); + } + + /** + * 打开网站并登录系统 + */ + private void login(String userName, String pass) throws Exception { + //****************************************************************** + /** + * 第二步 用户登录 + */ + log.info("使用账号:" + userName + ",进行登录---------"); + //输入用户名 + webDriver.findElement(By.id("username")).sendKeys(userName); + log.info("输入用户名------------"); + Thread.sleep(300); + + //输入密码 + webDriver.findElement(By.id("password")).sendKeys(pass); + log.info("输入密码------------"); + Thread.sleep(300); + + //系统登录 + webDriver.findElement(By.id("submi")).click(); + log.info("系统登录------------"); + Thread.sleep(800); + isAlert(); + } + + + /** + * 判断是否有弹框,隐藏弹框 + */ + private void isAlert() { + try { + WebElement alert = webDriver.findElement(By.xpath("/html/body/div[5]")); + JavascriptExecutor js = (JavascriptExecutor) webDriver; + js.executeScript("arguments[0].setAttribute(arguments[1],arguments[2])", alert, "style", "display:none"); + Thread.sleep(3000); + }catch (Exception e){ + log.error("隐藏出错或者没有弹窗"); + } + + } + + /** + * 打开值班管理页面,并定位到值班管理的iframe + */ + private void openDuty() throws InterruptedException { + Thread.sleep(5000); +// +// try { +// WebElement alertDiv = webDriver.findElement(By.xpath("/html/body/div[2]/div/div[1]/div/div[1]/div[1]/span")); +// if(alertDiv.getText()) { +// +// } +// }catch (Exception e){ +// +// } + + try { + webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS); + } catch (Exception e) { + e.printStackTrace(); + } + Thread.sleep(5000); + //执行鼠标悬停动作-管理 + Actions action = new Actions(webDriver); + WebElement wegl = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/div[1]/div[5]/div/div/div[6]/span/span/div")); + action.moveToElement(wegl).build().perform(); + Thread.sleep(300); + + //获取管理标签中的aria-describedby属性 + String attributeId = wegl.getAttribute("aria-describedby"); + log.info("管理标签的ID值为:" + attributeId); + Thread.sleep(300); + + + //执行鼠标悬停动作-常态值班 + String ctzbXpath = "//*[@id=\"" + attributeId + "\"]/div/div[1]/div[2]/div[3]"; + WebElement wectzb = webDriver.findElement(By.xpath(ctzbXpath)); + action.moveToElement(wectzb).build().perform(); + Thread.sleep(300); + + + //打开值班页面 + //*[@id=\"" + attributeId + "\"]/div/div[2]/div[2]/div[1]/div[2] + String zbglXpath = "//*[@id=\"" + attributeId + "\"]/div/div[2]/div[2]/div/div[1]"; + webDriver.findElement(By.xpath(zbglXpath)).click(); + log.info("打开值班管理页面------------"); + Thread.sleep(800); + + //定位值班管理iframe的标签 + WebElement dutyIframe = webDriver.findElement(By.id("zbgln")); + webDriver.switchTo().frame(dutyIframe); + log.info("定位到值班管理iframe-----------"); + Thread.sleep(500); + + //将日期改为今天的日期 + webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/main/div/div[1]/div[1]/div[3]/div[1]/div[2]/div/button[2]")).click(); + log.info("将日期选择回当日----------"); + Thread.sleep(300); + } + + private void openYuJing() throws InterruptedException{ + try { + webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS); + } catch (Exception e) { + e.printStackTrace(); + } + Thread.sleep(5000); + //执行鼠标悬停动作-管理 + Actions action = new Actions(webDriver); + WebElement wegl = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/div[1]/div[5]/div/div/div[2]/span/span/div")); + action.moveToElement(wegl).build().perform(); + Thread.sleep(300); + log.info("执行鼠标悬停动作-管理"); + //获取管理标签中的aria-describedby属性 el-popover-7909 + String attributeId = wegl.getAttribute("aria-describedby"); + log.info("管理标签的ID值为:" + attributeId); + Thread.sleep(300); + + +// //执行鼠标悬停动作-常态值班 +// String ctzbXpath = "//*[@id=\"" + attributeId + "\"]/div/div[1]/div[2]/div[3]"; +// WebElement wectzb = webDriver.findElement(By.xpath(ctzbXpath)); +// action.moveToElement(wectzb).build().perform(); +// Thread.sleep(300); + + + //打开预警响应管理页面 + //*[@id=\"" + attributeId + "\"]/div/div[2]/div[2]/div[1]/div[2] + String zbglXpath = "//*[@id=\"" + attributeId + "\"]/div/div/div[2]/div[3]"; + webDriver.findElement(By.xpath(zbglXpath)).click(); + log.info("打开预警页面------------"); + Thread.sleep(800); + + //定位值班管理iframe的标签 + WebElement dutyIframe = webDriver.findElement(By.id("warningResTicket")); + webDriver.switchTo().frame(dutyIframe); + log.info("定位到预警响应管理iframe-----------"); + Thread.sleep(500); + } + private void openYuJingAction() throws InterruptedException{ + try { + webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS); + } catch (Exception e) { + e.printStackTrace(); + } + Thread.sleep(5000); + //执行鼠标悬停动作-管理 + Actions action = new Actions(webDriver); + WebElement wegl = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/div[1]/div[5]/div/div/div[2]/span/span/div")); + action.moveToElement(wegl).build().perform(); + Thread.sleep(300); + log.info("执行鼠标悬停动作-管理"); + //获取管理标签中的aria-describedby属性 el-popover-7909 + String attributeId = wegl.getAttribute("aria-describedby"); + log.info("管理标签的ID值为:" + attributeId); + Thread.sleep(300); + + +// //执行鼠标悬停动作-预警行动 +// String ctzbXpath = "//*[@id=\"" + attributeId + "\"]/div/div[1]/div[2]/div[4]"; +// WebElement wectzb = webDriver.findElement(By.xpath(ctzbXpath)); +// action.moveToElement(wectzb).build().perform(); +// Thread.sleep(300); + + + //打开预警响应管理页面 + //*[@id=\"" + attributeId + "\"]/div/div[2]/div[2]/div[1]/div[2] + String zbglXpath = "//*[@id=\"" + attributeId + "\"]/div/div/div[2]/div[4]"; + webDriver.findElement(By.xpath(zbglXpath)).click(); + log.info("打开预警页面------------"); + Thread.sleep(800); + + //定位值班管理iframe的标签 + WebElement dutyIframe = webDriver.findElement(By.id("yjczrwgl")); + webDriver.switchTo().frame(dutyIframe); + log.info("定位到预警响应处置任务管理iframe-----------"); + Thread.sleep(500); + } + + /** + * 打开检查操练管理页面,并定位到日常操练的iframe + */ + private void openCheckTheDrills() throws InterruptedException { + try { + webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS); + } catch (Exception e) { + e.printStackTrace(); + } + Thread.sleep(3000); + //执行鼠标悬停动作-管理 + Actions action = new Actions(webDriver); + WebElement wegl = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/div[1]/div[5]/div/div/div[6]/span/span/div")); + action.moveToElement(wegl).build().perform(); + Thread.sleep(300); + + //获取管理标签中的aria-describedby属性 + String attributeId = wegl.getAttribute("aria-describedby"); + log.info("管理标签的ID值为:" + attributeId); + Thread.sleep(300); + + //执行鼠标悬停动作-检查操练管理 + String ctzbXpath = "//*[@id=\"" + attributeId + "\"]/div/div[1]/div[2]/div[5]"; + WebElement wectzb = webDriver.findElement(By.xpath(ctzbXpath)); + action.moveToElement(wectzb).build().perform(); + Thread.sleep(300); + + //打开日常操练页面 + //*[@id=\"" + attributeId + "\"]/div/div[2]/div[2]/div[1]/div[2] + String zbglXpath = "//*[@id=\"" + attributeId + "\"]/div/div[2]/div[2]/div/div[1]"; + webDriver.findElement(By.xpath(zbglXpath)).click(); + log.info("打开日常操练页面------------"); + /* TODO 800 --> 1500 */ + Thread.sleep(1500); + + //定位日常操练iframe的标签 + WebElement dutyIframe = webDriver.findElement(By.id("rccl")); + webDriver.switchTo().frame(dutyIframe); + log.info("定位到日常操练iframe-----------"); + Thread.sleep(8000); + //定位日常操练iframe的标签 + WebElement insideIframe = webDriver.findElement(By.xpath("/html/body/div/section/div[1]/div[2]/div/iframe")); + webDriver.switchTo().frame(insideIframe); + log.info("定位到日常操练内部iframe-----------"); + Thread.sleep(3000); + } + + /** + * 关闭浏览器驱动 + */ + public void closeDrive() { + log.info("工作完成,退出浏览器"); + webDriver.quit(); + } + + public void startAddExercisePlan(String userName, String pass) throws Exception { + openWeb(); + login(userName, pass); + startAddExercisePlanAuto(); + } + + private void startAddExercisePlanAuto() throws InterruptedException { + try { + webDriver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS); + } catch (Exception e) { + e.printStackTrace(); + } + Thread.sleep(5000); + //执行鼠标悬停动作-管理 + Actions action = new Actions(webDriver); + WebElement wegl = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/div[1]/div[5]/div/div/div[6]/span/span/div")); + action.moveToElement(wegl).build().perform(); + Thread.sleep(300); + + //获取管理标签中的aria-describedby属性 + String attributeId = wegl.getAttribute("aria-describedby"); + log.info("管理标签的ID值为:" + attributeId); + Thread.sleep(300); + + //执行鼠标悬停动作-检查操练管理 + String ctzbXpath = "//*[@id=\"" + attributeId + "\"]/div/div[1]/div[2]/div[5]"; + WebElement wectzb = webDriver.findElement(By.xpath(ctzbXpath)); + action.moveToElement(wectzb).build().perform(); + Thread.sleep(300); + + //打开检查计划页面 + //*[@id=\"" + attributeId + "\"]/div/div[2]/div[2]/div[1]/div[2] + String zbglXpath = "//*[@id=\"" + attributeId + "\"]/div/div[2]/div[2]/div/div[1]"; + webDriver.findElement(By.xpath(zbglXpath)).click(); + log.info("打开日常操练页面------------"); + /* TODO 800 --> 1500 */ + Thread.sleep(1500); + + //定位检查计划iframe的标签 + WebElement dutyIframe = webDriver.findElement(By.id("rccl")); + webDriver.switchTo().frame(dutyIframe); + log.info("定位到日常操练iframe-----------"); + Thread.sleep(500); + //点击抽查按钮 + webDriver.findElement(By.xpath("/html/body/div/section/div[1]/div[1]/div/div/div/div[3]")).click(); + +// //定位日常操练iframe的标签 +// WebElement insideIframe = webDriver.findElement(By.xpath("/html/body/div/section/div[1]/div[2]/div/iframe")); +// webDriver.switchTo().frame(insideIframe); +// log.info("定位到日常操练内部iframe-----------"); +// Thread.sleep(3000); + } +} diff --git a/src/main/java/com/bonus/autoweb/base/AutoUtils.java b/src/main/java/com/bonus/autoweb/base/AutoUtils.java new file mode 100644 index 0000000..d7549bb --- /dev/null +++ b/src/main/java/com/bonus/autoweb/base/AutoUtils.java @@ -0,0 +1,54 @@ +package com.bonus.autoweb.base; + +import java.io.*; + + + +public class AutoUtils { + + + /** + * 向text写入数据 + * @param filename + * @param content + */ + public static int write(String filename, String content) { + int code = 0; + try { + FileOutputStream fos = new FileOutputStream(filename); + OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8"); + BufferedWriter writer = new BufferedWriter(osw); + writer.write(content); + writer.close(); + System.out.println("Text file generated successfully."); + code = 1; + } catch (IOException e) { + code = 0; + System.out.println("An error occurred while generating the text file."); + e.printStackTrace(); + } + return code; + } + + /** + * 从text读取数据 + * @param filename + */ + public static String read(String filename){ + StringBuilder content = new StringBuilder(); + try { + BufferedReader reader = new BufferedReader(new FileReader(filename)); + String line; + while ((line = reader.readLine()) != null) { + content.append(line).append("\n"); + } + reader.close(); + } catch (IOException e) { + System.out.println("An error occurred while reading the text file."); + content.append("error"); + e.printStackTrace(); + } + return content.toString(); + } + +} diff --git a/src/main/java/com/bonus/autoweb/base/DataConfig.java b/src/main/java/com/bonus/autoweb/base/DataConfig.java new file mode 100644 index 0000000..2125da5 --- /dev/null +++ b/src/main/java/com/bonus/autoweb/base/DataConfig.java @@ -0,0 +1,62 @@ +package com.bonus.autoweb.base; + +public class DataConfig { + /** + * url 网站地址 + */ + protected static final String URL = "http://20.50.16.10/ecs/#/yjtsgz"; + /** + * 驱动名称 + */ + protected static final String DRIVE_NAME = "webdriver.chrome.driver"; +// protected static final String DRIVE_NAME = "webdriver.gecko.driver"; + + /** + * 用户名1 张宽杰 + */ + public static final String USER_NAME1 = "zhangkj1533"; + + /** + * 密码1 + */ + public static final String PASS1 = "zkj1533.."; + + /** + * 用户名2 张贺 + */ + public static final String USER_NAME2 = "zhangh655x"; + + /** + * 密码2 + */ + public static final String PASS2 = "f7ye@158"; + /** + * 用户名3 杨军 + */ + public static final String USER_NAME3 = "yangj0052"; + + /** + * 密码3 + */ + public static final String PASS3 = "QWas1357,"; + /** + * 用户名4 肖国德 + */ + public static final String USER_NAME4 = "xiaogd1494"; + + /** + * 密码4 + */ + public static final String PASS4 = "xgd**2271"; + + /** + * 浏览器驱动地址 + */ +// protected static final String drivePath = "E:\\bns\\chromedriver_win32\\geckodriver.exe";//个人本地 +// protected static final String drivePath = "E:\\chromedriver_win32\\chromedriver.exe";//个人本地 + protected static final String drivePath = "E:\\bns\\chromedriver_win32\\chromedriver.exe";//宿州客户地址 + + + public static final String filePath = "E:\\bns\\config"; + +} diff --git a/src/main/java/com/bonus/autoweb/base/DutyChangeShifts.java b/src/main/java/com/bonus/autoweb/base/DutyChangeShifts.java new file mode 100644 index 0000000..846d93d --- /dev/null +++ b/src/main/java/com/bonus/autoweb/base/DutyChangeShifts.java @@ -0,0 +1,178 @@ +package com.bonus.autoweb.base; + +import com.bonus.autoweb.DateTimeUtils; +import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import org.slf4j.LoggerFactory; +import org.slf4j.Logger; + +/** + * 操作交接班 + */ +public class DutyChangeShifts { + private Logger log = LoggerFactory.getLogger(DutyChangeShifts.class); + private WebDriver webDriver; + + public DutyChangeShifts(WebDriver webDriver) { + this.webDriver = webDriver; + } + + /** + * 打开交接班页面 + */ + public void openChangeShifts() throws InterruptedException { + Thread.sleep(5000); + //定位交接班并点击 + webDriver.findElement(By.id("tab-6")).click(); + log.info("定位交接班并点击1----------"); + Thread.sleep(300); + } + + /** + * 交接班操作 + * + * @param classes 班次,,1早班 2晚班 + * @param type 交班类型 1 交班 2接班 + */ + public void dutychangeOper(int classes, int type) throws InterruptedException { +// JavascriptExecutor jsExecutor = (JavascriptExecutor) webDriver; +// boolean pageLoaded = false; +// +// do { +// pageLoaded = (Boolean) jsExecutor.executeScript("return document.readyState").equals("complete"); +// } while (!pageLoaded); + Thread.sleep(5000); + //标签位置 + String xpaht; + if (classes == 1) { + if (type == 1) { + //早班交班 + xpaht = "//*[@id=\"pane-6\"]/div/div[3]/div[1]/div[1]/div[2]/button[1]"; + } else { + //早班接班 + xpaht = "//*[@id=\"pane-6\"]/div/div[3]/div[1]/div[1]/div[2]/button[2]"; + } + } else { + if (type == 1) { + //晚交班 + xpaht = "//*[@id=\"pane-6\"]/div/div[3]/div[1]/div[1]/div[2]/button[1]"; + } else { + //晚班接班 + xpaht = "//*[@id=\"pane-6\"]/div/div[3]/div[1]/div[1]/div[2]/button[2]"; + } + } + log.info("交接班地址:"+xpaht+"----------"); + Thread.sleep(1000*2); + webDriver.findElement(By.xpath(xpaht)).click(); + log.info("定位交接班并点击2----------"); + Thread.sleep(5000); + //交接事项说明 + if (type == 1) { +// /html/body/div[3]/div/div[2]/div/form/div[7]/div/div[1]/textarea + webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[2]/div/div[1]/textarea")).sendKeys("正常"); + log.info("交接事项说明----------"); + Thread.sleep(500); + //提交 + webDriver.findElement(By.xpath("/html/body/div[3]/div/div[3]/div/button[2]")).click(); + + //取消 +// webDriver.findElement(By.xpath("/html/body/div[3]/div/div[3]/div/button[1]")).click(); + + log.info("交班提交----------"); + Thread.sleep(300); + }else{ + //提交 + webDriver.findElement(By.xpath("/html/body/div[3]/div/div[3]/div/button[2]")).click(); +// 取消 +// webDriver.findElement(By.xpath("/html/body/div[3]/div/div[3]/div/button[1]")).click(); + log.info("接班提交----------"); + Thread.sleep(300); + } + } + + /** + * 选择上个晚班交班 + */ + public void changeDay() throws Exception { + + Thread.sleep(1000*3); + //判断当前日期是不是每月第一天的日期,true + log.info("选择前一天----------"); + int tr = 1; + int td = 1; + String xpath; + if (!DateTimeUtils.isOneDay()) { + //不是本月第一天 + String currentDay = DateTimeUtils.getCurrentDay(); + log.info("currentDay:"+currentDay); + int weekNum = DateTimeUtils.getWeekNum(currentDay); + log.info("weekNum:"+weekNum); + int dayNum = DateTimeUtils.getWeekOfDate(currentDay); + log.info("dayNum:"+dayNum); + /*if (dayNum == 1) { + tr = weekNum - 1; + td = 7; + } else { + tr = weekNum; + td = dayNum - 1; + }*/ + if (dayNum == 1) { + if(DateTimeUtils.getMonthOneDayIs0()){//第一天是0 + tr = weekNum; + }else{ + tr = weekNum-1; + if (weekNum == 1){ + tr = 5; + } + } + td = 7; + }else { + if(DateTimeUtils.getMonthOneDayIs0()){//第一天是0 + tr = weekNum+1; + }else{ + tr = weekNum; + } + td = dayNum - 1; + } + xpath = "//*[@id=\"app\"]/div/section/main/div/div[1]/div[1]/div[3]/div[2]/table/tbody/tr[" + tr + "]" + "/td[" + td + "]"; + } else { + //点击上月按钮,切换至上月 + webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/main/div/div[1]/div[1]/div[3]/div[1]/div[2]/div/button[1]")).click(); + log.info("点击上月按钮,切换至上月----------"); + Thread.sleep(300); + + //获取上月最后一天日期 + String mothDay = DateTimeUtils.getBeforeLastMonthdate(); + //判断上个月最后一天的位置 + tr = DateTimeUtils.getWeekNum(mothDay); + td = DateTimeUtils.getWeekOfDate(mothDay); + xpath = "//*[@id=\"app\"]/div/section/main/div/div[1]/div[1]/div[3]/div[2]/table/tbody/tr[" + tr + "]" + "/td[" + td + "]"; +// String dayNum = mothDay.substring(8, 10); +// WebElement spanElement = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/main/div/div[1]/div[1]/div[3]/div[2]/table/tbody/tr[" + tr + "]" + "/td[" + td + "]/div/div/div[1]/span")); +// if (dayNum.equals(spanElement.getText())) { +// xpath = "//*[@id=\"app\"]/div/section/main/div/div[1]/div[1]/div[3]/div[2]/table/tbody/tr[" + (tr + 1) + "]" + "/td[" + td + "]/div"; +// } + } + log.info("前一天的地址:"+xpath); + //选择前一天的日期 + webDriver.findElement(By.xpath(xpath)).click(); + log.info("选择前一天的日期----------"); + Thread.sleep(300); + openChangeShifts(); + + + //进行晚班交班操作 + log.info("进行晚班交班操作----------"); + dutychangeOper(2, 1); + + Thread.sleep(1000); + + //将日期选择回当日 + webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/main/div/div[1]/div[1]/div[3]/div[1]/div[2]/div/button[2]")).click(); + log.info("将日期选择回当日----------"); + Thread.sleep(300); + + } + +} \ No newline at end of file diff --git a/src/main/java/com/bonus/autoweb/base/DutyClock.java b/src/main/java/com/bonus/autoweb/base/DutyClock.java new file mode 100644 index 0000000..07b05cf --- /dev/null +++ b/src/main/java/com/bonus/autoweb/base/DutyClock.java @@ -0,0 +1,158 @@ +package com.bonus.autoweb.base; + +import com.bonus.autoweb.DateTimeUtils; +import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import org.slf4j.LoggerFactory; +import org.slf4j.Logger; + + +/** + * 值班打卡 + */ +public class DutyClock { + private Logger log = LoggerFactory.getLogger(DutyClock.class); + + private WebDriver webDriver; + + public DutyClock(WebDriver webDriver) { + this.webDriver = webDriver; + } + + + + public void openDutyClock() throws InterruptedException { + Thread.sleep(1000*4); + //定位值班打卡并点击 + webDriver.findElement(By.id("tab-2")).click(); + log.info("定位值班打卡并点击----------"); + Thread.sleep(300); + } + + /** + * 值班打卡操作 + * + * @param classes 班次,,1早班 2晚班 + * @param type 打卡类型 1 签到 2签退 + */ + public void dutyClockOper(int classes, int type) throws InterruptedException { + openDutyClock(); +// JavascriptExecutor jsExecutor = (JavascriptExecutor) webDriver; +// boolean pageLoaded = false; +// +// do { +// pageLoaded = (Boolean) jsExecutor.executeScript("return document.readyState").equals("complete"); +// } while (!pageLoaded); + Thread.sleep(5000); + //标签位置 + String xpaht; + if (classes == 1) { + if (type == 1) { + //早班签到 + xpaht = "//*[@id=\"pane-2\"]/div/div[3]/div[1]/div[1]/div[2]/button[1]"; + } else { + //早班签退 + xpaht = "//*[@id=\"pane-2\"]/div/div[3]/div[1]/div[1]/div[2]/button[2]"; + } + } else { + if (type == 1) { + //晚班签到 + xpaht = "//*[@id=\"pane-2\"]/div/div[3]/div[2]/div[1]/div[2]/button[1]"; + } else { + //晚班签退 + xpaht = "//*[@id=\"pane-2\"]/div/div[3]/div[2]/div[1]/div[2]/button[2]"; + } + } + Thread.sleep(1000*4); + webDriver.findElement(By.xpath(xpaht)).click(); + log.info("打卡签到----------"); + Thread.sleep(1000*5); + + + //点击弹出框确认 + webDriver.findElement(By.xpath("/html/body/div[2]/div/div[2]/div/div[2]/div[1]")).click(); + log.info("点击弹出框确认----------"); + Thread.sleep(800); + } + + /** + * 选择上个晚班签退 + */ + public void changeDay() throws Exception { + Thread.sleep(3000); + //判断当前日期是不是每月第一天的日期,true + boolean tf = false; + int tr = 1; + int td = 1; + String xpath; + if (!DateTimeUtils.isOneDay()) { + //不是本月第一天 + String currentDay = DateTimeUtils.getCurrentDay(); + int weekNum = DateTimeUtils.getWeekNum(currentDay); + int dayNum = DateTimeUtils.getWeekOfDate(currentDay); + /*if (dayNum == 1) { + tr = weekNum - 1; + td = 7; + } else { + tr = weekNum; + td = dayNum - 1; + }*/ + if (dayNum == 1) { + if(DateTimeUtils.getMonthOneDayIs0()){//第一天是0 + tr = weekNum; + }else{ + tr = weekNum-1; + if (weekNum == 1){ + tr = 5; + } + } + td = 7; + }else { + if(DateTimeUtils.getMonthOneDayIs0()){//第一天是0 + tr = weekNum+1; + }else{ + tr = weekNum; + } + td = dayNum - 1; + } + xpath = "//*[@id=\"app\"]/div/section/main/div/div[1]/div[1]/div[3]/div[2]/table/tbody/tr[" + tr + "]" + "/td[" + td + "]"; + } else { + //点击上月按钮,切换至上月 + webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/main/div/div[1]/div[1]/div[3]/div[1]/div[2]/div/button[1]")).click(); + log.info("点击上月按钮,切换至上月----------"); + Thread.sleep(300); + + //获取上月最后一天日期 + String mothDay=DateTimeUtils.getBeforeLastMonthdate(); + //判断上个月最后一天的位置 + tr = DateTimeUtils.getWeekNum(mothDay); + td = DateTimeUtils.getWeekOfDate(mothDay); + + xpath = "//*[@id=\"app\"]/div/section/main/div/div[1]/div[1]/div[3]/div[2]/table/tbody/tr[" + tr + "]" + "/td[" + td + "]"; +// String dayNum = mothDay.substring(8, 10); +// WebElement spanElement = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/main/div/div[1]/div[1]/div[3]/div[2]/table/tbody/tr[" + tr + "]" + "/td[" + td + "]/div/div/div[1]/span")); +// if (dayNum.equals(spanElement.getText())) { +// xpath = "//*[@id=\"app\"]/div/section/main/div/div[1]/div[1]/div[3]/div[2]/table/tbody/tr[" + (tr + 1) + "]" + "/td[" + td + "]/div"; +// } + } + //选择前一天的日期 + webDriver.findElement(By.xpath(xpath)).click(); + log.info("选择前一天的日期----------"); + Thread.sleep(300); + openDutyClock(); + Thread.sleep(3000); + //进行晚班签退操作 + log.info("进行晚班签退操作----------"); + dutyClockOper(1,2); + + Thread.sleep(300); + + //将日期选择回当日 + webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/main/div/div[1]/div[1]/div[3]/div[1]/div[2]/div/button[2]")).click(); + log.info("将日期选择回当日----------"); + Thread.sleep(300); + + } + +} diff --git a/src/main/java/com/bonus/autoweb/base/DutyDailyCheck.java b/src/main/java/com/bonus/autoweb/base/DutyDailyCheck.java new file mode 100644 index 0000000..3670fb1 --- /dev/null +++ b/src/main/java/com/bonus/autoweb/base/DutyDailyCheck.java @@ -0,0 +1,98 @@ +package com.bonus.autoweb.base; + +import org.openqa.selenium.By; +import org.openqa.selenium.JavascriptExecutor; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import org.slf4j.LoggerFactory; +import org.slf4j.Logger; + +/** + * 日报审核工作 + */ +public class DutyDailyCheck { + private Logger log = LoggerFactory.getLogger(DutyDailyCheck.class); + private WebDriver webDriver; + + public DutyDailyCheck(WebDriver webDriver) { + this.webDriver = webDriver; + } + + /** + * 日报审核操作 + * @param type 1早报 2晚报 + */ + public void dutyCheckOp(int type) throws Exception { +// JavascriptExecutor jsExecutor = (JavascriptExecutor) webDriver; +// boolean pageLoaded = false; +// +// do { +// pageLoaded = (Boolean) jsExecutor.executeScript("return document.readyState").equals("complete"); +// } while (!pageLoaded); + Thread.sleep(5000); + //定位值班日报并点击 + webDriver.findElement(By.id("tab-4")).click(); + log.info("定位值班日报并点击-----------"); + Thread.sleep(300); + String checkXpath; + //早报 + if(type ==1){ + checkXpath="//*[@id=\"pane-4\"]/div/div[3]/div/div/div[3]/table/tbody/tr[1]/td[5]/div/p[2]"; + }else{ + checkXpath="//*[@id=\"pane-4\"]/div/div[3]/div/div/div[3]/table/tbody/tr[2]/td[5]/div/p[2]"; + } + + //点击审核按钮 + log.info("日报审核类型:"+type+",地址:"+checkXpath+"--------"); + WebElement checkBtn=webDriver.findElement(By.xpath(checkXpath)); + +// JavascriptExecutor js =(JavascriptExecutor)webDriver; +// js.executeScript("arguments[0].setAttribute(arguments[1],arguments[2])",checkBtn,"style","color:rgb(0,145,255)"); + log.info("审核按钮:",checkBtn.getText()); + Thread.sleep(1000*3); + + checkBtn.click(); + log.info("点击日报审核按钮--------"); + Thread.sleep(1000); + + //退出当前iframe, + webDriver.switchTo().defaultContent(); + log.info("退出当前iframe----------"); + Thread.sleep(300); + + //定位应急工作日报审核iframe的标签 + WebElement addIframe = webDriver.findElement(By.id("add-local-scrbsh")); + webDriver.switchTo().frame(addIframe); + log.info("定位应急工作日报审核iframe-----------"); + Thread.sleep(500); + + //同意审核按钮点击 + + WebElement tyCheckBtn=webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[19]/button[4]")); + if(tyCheckBtn.isDisplayed()){ + //存在 + log.info("同意审核按钮存在-----------"); + log.info("同意审核按钮钮:"+tyCheckBtn.getAttribute("class")); + log.info("同意审核按钮:"+tyCheckBtn.getAttribute("type")); + log.info("同意审核按钮:"+tyCheckBtn.getText()); + tyCheckBtn.click(); +// webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[19]/button[1]")).click(); + + }else{ + log.info("同意审核按钮不存在-----------"); + } + Thread.sleep(800); + + //退出当前iframe, + webDriver.switchTo().defaultContent(); + log.info("退出当前iframe----------"); + Thread.sleep(1000*2); + + + //定位值班管理iframe的标签 + WebElement dutyIframe= webDriver.findElement(By.id("zbgln")); + webDriver.switchTo().frame(dutyIframe); + log.info("定位值班管理iframe的标签----------"); + Thread.sleep(300); + } +} diff --git a/src/main/java/com/bonus/autoweb/base/DutyDailyOp.java b/src/main/java/com/bonus/autoweb/base/DutyDailyOp.java new file mode 100644 index 0000000..eaf96a7 --- /dev/null +++ b/src/main/java/com/bonus/autoweb/base/DutyDailyOp.java @@ -0,0 +1,2009 @@ +package com.bonus.autoweb.base; + +import com.bonus.autoweb.DateTimeUtils; +import com.bonus.autoweb.UI.entity.*; +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.LoggerFactory; + +import org.slf4j.Logger; + +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStreamReader; +import java.nio.charset.Charset; +import java.util.List; + +/** + * 日志填报工作类 + */ +public class DutyDailyOp { + private Logger log = LoggerFactory.getLogger(DutyDailyOp.class); + private WebDriver webDriver; + + public DutyDailyOp(WebDriver webDriver) { + this.webDriver = webDriver; + } + + /** + * 值班日报填写功能 + * + * @param type 1 早报 2晚报 + */ + public void openDutyDaily(int type) throws InterruptedException { + // 使用JavaScriptExecutor判断网页加载状态 +// JavascriptExecutor jsExecutor = (JavascriptExecutor) webDriver; +// boolean pageLoaded = false; +// +// do { +// pageLoaded = (Boolean) jsExecutor.executeScript("return document.readyState").equals("complete"); +// } while (!pageLoaded); + Thread.sleep(5000); + + //定位值班日报并点击 + webDriver.findElement(By.id("tab-4")).click(); + log.info("定位值班日报并点击-----------"); + Thread.sleep(500); + + //早报编辑标签定位 + String zaoBxPath = "//*[@id=\"pane-4\"]/div/div[3]/div/div/div[3]/table/tbody/tr[1]/td[5]/div/p[1]"; + //晚报编辑标签定位 + String wanBxpath = "//*[@id=\"pane-4\"]/div/div[3]/div/div/div[3]/table/tbody/tr[2]/td[5]/div/p[1]"; + if (type == 1) { + webDriver.findElement(By.xpath(zaoBxPath)).click(); + } else { + webDriver.findElement(By.xpath(wanBxpath)).click(); + } + log.info("打开早报或晚报编写-----------"); + Thread.sleep(600); + + //退出当前iframe,进入到日报编辑iframe + webDriver.switchTo().defaultContent(); + log.info("退出值班任务iframe-----------"); + Thread.sleep(1000); + + //定位日报编辑iframe的标签 + WebElement dutyEditIframe = webDriver.findElement(By.id("add-local-scrbbz")); + webDriver.switchTo().frame(dutyEditIframe); + log.info("定位到日报编辑iframe-----------"); + Thread.sleep(500); + editDutyDaily(type); + } + + + /** + * 日报编辑功能 + * + * @param type 1 早报 2晚报 + */ + private void editDutyDaily(int type) throws InterruptedException { + Thread.sleep(1000 * 2); + DailyBean bean; + XStream xstream = new XStream(new JettisonMappedXmlDriver()); + + //获取当日日报内容 + if (type == 1) { + //早报内容 + File file = new File(DataConfig.filePath + "\\morning_daily.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(); + System.out.println(xml); + } catch (Exception e) { + // TODO: handle exception + } + xstream.alias("morning_daily", DailyBean.class); + bean = (DailyBean) xstream.fromXML(xml); + } else { + //晚报内容 + File file = new File(DataConfig.filePath + "\\evening_daily.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(); + System.out.println(xml); + } catch (Exception e) { + // TODO: handle exception + } + xstream.alias("evening_daily", DailyBean.class); + bean = (DailyBean) xstream.fromXML(xml); + } + //总体情况填写 + String ztqk = bean.getOverall(); + WebElement ztqkEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/form/div[1]/div/div/div/div/div/textarea")); + ztqkEle.clear(); + Thread.sleep(1000); + ztqkEle.sendKeys(ztqk); + log.info("总体情况编写-----------"); + Thread.sleep(1000); + + //重要事项填写 + String zysx = bean.getImportant_matters(); + WebElement zysxEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/form/div[2]/div/div/div/div/div[1]/textarea")); + zysxEle.clear(); + zysxEle.sendKeys(zysx); + log.info("重要事项填写-----------"); + Thread.sleep(500); + + //安全生产情况 + String aqscqk = bean.getSafety_production(); + WebElement aqscqkEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/form/div[3]/div/div/div/div/div/textarea")); + aqscqkEle.clear(); + Thread.sleep(1000); + aqscqkEle.sendKeys(aqscqk); + log.info("安全生产情况填写-----------"); + Thread.sleep(1000); + + //值班员日常工作情况 + String zbyrcgzqk = bean.getPersonnel_daily_work(); + WebElement zbyrcgzqkEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/form/div[4]/div/div/div/div/div[1]/textarea")); + zbyrcgzqkEle.clear(); + zbyrcgzqkEle.sendKeys(zbyrcgzqk); + log.info("值班员日常工作情况填写-----------"); + Thread.sleep(1000); + + //供电保障情况1 + String gdbzqk1 = bean.getPower_guarantee_today_work(); + //*[@id="app"]/div/section/div/div[4]/div[1]/form/div[5]/div[2]/div/div/div/div/div[1]/textarea + WebElement gdbzqk1Ele = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/form/div[5]/div[2]/div/div/div/div/div/textarea")); + gdbzqk1Ele.clear(); + gdbzqk1Ele.sendKeys(gdbzqk1); + log.info("供电保障情况1填写-----------"); + Thread.sleep(1000); + + //供电保障情况2 + String gdbzqk2 = bean.getPower_guarantee_tomorrow_work(); + WebElement gdbzqk2Ele = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/form/div[5]/div[3]/div/div/div/div/div/textarea")); + gdbzqk2Ele.clear(); + gdbzqk2Ele.sendKeys(gdbzqk2); + log.info("供电保障情况2填写-----------"); + Thread.sleep(1000); + + //供电保障情况3 + String gdbzqk3 = bean.getPower_guarantee_today_pestilence(); + WebElement gdbzqk3Ele = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/form/div[5]/div[4]/div/div/div/div/div/textarea")); + gdbzqk3Ele.clear(); + gdbzqk3Ele.sendKeys(gdbzqk3); + log.info("供电保障情况3填写-----------"); + Thread.sleep(1000); + + //预警及应急响应情况1 + String yjjyjxy1 = bean.getWarning_company(); + WebElement yjjyjxy1Ele = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/form/div[6]/div[2]/div/div/div/div/div/textarea")); + yjjyjxy1Ele.clear(); + yjjyjxy1Ele.sendKeys(yjjyjxy1); + log.info("预警及应急响应情况1填写-----------"); + Thread.sleep(1000); + + //预警及应急响应情况2 + String yjjyjxy2 = bean.getWarning_company_impatient(); + WebElement yjjyjxy2Ele = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/form/div[6]/div[3]/div/div/div/div/div/textarea")); + yjjyjxy2Ele.clear(); + yjjyjxy2Ele.sendKeys(yjjyjxy2); + log.info("预警及应急响应情况2填写-----------"); + Thread.sleep(1000); + + + //预警及应急响应情况3 + String yjjyjxy3 = bean.getWarning_society_emergency(); + WebElement yjjyjxy3Ele = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/form/div[6]/div[4]/div/div/div/div/div/textarea")); + yjjyjxy3Ele.clear(); + yjjyjxy3Ele.sendKeys(yjjyjxy3); + log.info("预警及应急响应情况3填写-----------"); + Thread.sleep(1000); + + //其他情况说明 + String qtqksm = bean.getOther_situations(); + WebElement qtqksmEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/form/div[7]/div/div/div/div/div/div/textarea")); + qtqksmEle.clear(); + qtqksmEle.sendKeys(qtqksm); + log.info("其他情况说明填写-----------"); + Thread.sleep(1000); + + dailySchedule1(bean.getOneBean(), bean); + } + + /** + * 操作附表1 + * + * @param obj + */ + private void dailySchedule1(AnnexOneBean obj, DailyBean bean) throws InterruptedException { + //点击操作内容选择框 + //*[@id="app"]/div/section/div/div[4]/div[1]/div[1]/div[2]/div/div/div[3]/table/tbody/tr/td[3]/div/div/div +// webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[1]/div[2]/div/div/div[3]/table/tbody/tr/td[3]/div/div/div[1]")).click(); +// +// Thread.sleep(300); +// //获取到的操作内容 +// String operaContent = obj.getExercise_content(); +// //操作内容地址 +// String operaxpath = "/html/body/div[4]/div[1]/div[1]/ul/li[1]"; +// +// if ("“四要素”检查".equals(operaContent)) { +// // /html/body/div[2]/div[1]/div[1]/ul/li[1] +// operaxpath = "/html/body/div[2]/div[1]/div[1]/ul/li[1]"; +// } else if ("通信测试".equals(operaContent)) { +// operaxpath = "/html/body/div[2]/div[1]/div[1]/ul/li[2]"; +// } else { +// operaxpath = "/html/body/div[2]/div[1]/div[1]/ul/li[3]"; +// } +// //选择操作内容 +// webDriver.findElement(By.xpath(operaxpath)).click(); +// log.info("选择操作内容----------"); +// Thread.sleep(300); + + try { + WebElement personNumEle = webDriver.findElement(By.xpath("/html/body/div/div/section/div/div[4]/div[1]/div[1]/div[2]/div/div/div[3]/table/tbody/tr[1]/td[7]/div/div/input")); + personNumEle.sendKeys("无问题"); + log.info("填写通信测试问题----------"); + Thread.sleep(300); + }catch (Exception e) { + log.info("填写通信测试问题不存在此元素----------"); + } + Thread.sleep(500); + try { + WebElement carNumEle = webDriver.findElement(By.xpath("//html/body/div/div/section/div/div[4]/div[1]/div[1]/div[2]/div/div/div[3]/table/tbody/tr[2]/td[7]/div/div/input")); + carNumEle.sendKeys("无问题"); + log.info("填写四要素操练问题----------"); + Thread.sleep(300); + }catch (Exception e) { + log.info("填写通信测试问题不存在此元素----------"); + } + Thread.sleep(500); + try { + WebElement fdcNumEle = webDriver.findElement(By.xpath("//html/body/div/div/section/div/div[4]/div[1]/div[1]/div[2]/div/div/div[3]/table/tbody/tr[3]/td[7]/div/div/input")); + fdcNumEle.sendKeys("无问题"); + log.info("填写重大战线视频连线检查问题----------"); + Thread.sleep(1000); + }catch (Exception e) { + log.info("填写重大战线视频连线检查问题不存在此元素----------"); + } + Thread.sleep(500); +// //填写发电机数量 +// String fdjNum = obj.getExercise_dynamo_num(); +// WebElement fdjNumEle= webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[1]/div[2]/div/div/div[3]/table/tbody/tr/td[7]/div/div/input")); +// fdjNumEle.clear(); +// fdjNumEle.sendKeys(fdjNum); +// log.info("填写发电机数量----------"); +// Thread.sleep(300); +// +// +// //填写操作发现问题 +// String czfxwt = obj.getExercise_find_problems(); +// WebElement czfxwtEle=webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[1]/div[2]/div/div/div[3]/table/tbody/tr/td[8]/div/div/input")); +// czfxwtEle.clear(); +// czfxwtEle.sendKeys(czfxwt); +// log.info("填写操作发现问题----------"); +// Thread.sleep(300); +// //填写备注 +// String bz = obj.getRemark(); +// WebElement bzEle=webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[1]/div[2]/div/div/div[3]/table/tbody/tr/td[9]/div/div/input")); +// bzEle.clear(); +// bzEle.sendKeys(bz); +// log.info("填写备注----------"); + dailySchedule2(bean.getTwoBean(), bean); + + } + + //操作附表2 + private void dailySchedule2(AnnexTwoBean obj, DailyBean bean) throws InterruptedException { + //填写人员数量 + String personNum = obj.getVerification_person_num(); + WebElement personNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[2]/div[2]/div/div/div[3]/table/tbody/tr/td[3]/div/div/div/input")); + personNumEle.clear(); + personNumEle.sendKeys(personNum); + log.info("填写人员数量----------"); + Thread.sleep(300); + + //填写队伍数量 + String teamNum = obj.getVerification_team_num(); + WebElement teamNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[2]/div[2]/div/div/div[3]/table/tbody/tr/td[4]/div/div/div/input")); + teamNumEle.clear(); + teamNumEle.sendKeys(teamNum); + log.info("填写队伍数量----------"); + Thread.sleep(300); + + + //填写装备数量 + String zbNum = obj.getVerification_equip_num(); + WebElement zbNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[2]/div[2]/div/div/div[3]/table/tbody/tr/td[5]/div/div/div/input")); + zbNumEle.clear(); + zbNumEle.sendKeys(zbNum); + log.info("填写装备数量----------"); + Thread.sleep(300); + + + //填写物资数量 + String wzNum = obj.getVerification_material_num(); + WebElement wzNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[2]/div[2]/div/div/div[3]/table/tbody/tr/td[6]/div/div/div/input")); + wzNumEle.clear(); + wzNumEle.sendKeys(wzNum); + log.info("填写物资数量----------"); + Thread.sleep(300); + + + //填写车辆数量 + String carNum = obj.getVerification_vehicle_num(); + WebElement carNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[2]/div[2]/div/div/div[3]/table/tbody/tr/td[7]/div/div/div/input")); + carNumEle.clear(); + carNumEle.sendKeys(carNum); + log.info("填写车辆数量----------"); + Thread.sleep(300); + + + //填写核查发现问题 + String hzfxwt = obj.getVerification_find_problems(); + WebElement hzfxwtEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[2]/div[2]/div/div/div[3]/table/tbody/tr/td[8]/div/div/input")); + hzfxwtEle.clear(); + hzfxwtEle.sendKeys(hzfxwt); + log.info("填写核查发现问题----------"); + + + Thread.sleep(300); + //填写备注 + String bz = obj.getRemark(); + WebElement bzEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[2]/div[2]/div/div/div[3]/table/tbody/tr/td[9]/div/div/input")); + bzEle.clear(); + bzEle.sendKeys(bz); + log.info("填写备注----------"); + Thread.sleep(300); + dailySchedule3(bean.getThreeBean(), bean); + } + + //操作附表3 + private void dailySchedule3(AnnexThreeBean obj, DailyBean bean) throws InterruptedException { +// //填写合计-新增-确诊 +// String totalAddDiagnosedNum = obj.getTotalAddDiagnosed(); +// WebElement totalAddDiagnosedEle= webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[2]/div[2]/div/div/div[3]/table/tbody/tr/td[3]/div/div/input")); +// totalAddDiagnosedEle.clear(); +// totalAddDiagnosedEle.sendKeys(totalAddDiagnosedNum); +// log.info("填写合计-新增-确诊----------"); +// Thread.sleep(300); +// +// //填写合计-现有-确诊 +// String totalExistingDiagnosedNum = obj.getTotalExistingDiagnosed(); +// WebElement totalExistingDiagnosedNumEle= webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[2]/div[2]/div/div/div[3]/table/tbody/tr/td[4]/div/div/input")); +// totalExistingDiagnosedNumEle.clear(); +// totalExistingDiagnosedNumEle.sendKeys(totalExistingDiagnosedNum); +// log.info("填写合计-现有-确诊----------"); +// Thread.sleep(300); + + //填写电网调度-新增-确诊 + String dispatchAddDiagnosedNum = obj.getDispatchAddDiagnosed(); + WebElement dispatchAddDiagnosedNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[3]/div[2]/div/div/div[3]/table/tbody/tr[1]/td[6]/div/div/div/input")); + dispatchAddDiagnosedNumEle.clear(); + dispatchAddDiagnosedNumEle.sendKeys(dispatchAddDiagnosedNum); + log.info("填写电网调度-新增-确诊----------"); + Thread.sleep(300); + + + //填写电网调度-现有-确诊 + String dispatchExistingDiagnosedNum = obj.getDispatchExistingDiagnosed(); + WebElement dispatchExistingDiagnosedNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[3]/div[2]/div/div/div[3]/table/tbody/tr[1]/td[7]/div/div/div/input")); + dispatchExistingDiagnosedNumEle.clear(); + dispatchExistingDiagnosedNumEle.sendKeys(dispatchExistingDiagnosedNum); + log.info("填写电网调度-现有-确诊----------"); + Thread.sleep(300); + + + //填写运维检修-新增-确诊 + String repairAddDiagnosedNum = obj.getRepairAddDiagnosed(); + WebElement repairAddDiagnosedEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[3]/div[2]/div/div/div[3]/table/tbody/tr[1]/td[8]/div/div/div/input")); + repairAddDiagnosedEle.clear(); + repairAddDiagnosedEle.sendKeys(repairAddDiagnosedNum); + log.info("填写运维检修-新增-确诊----------"); + + //填写运维检修-现有-确诊 + String repairExistingDiagnosedNum = obj.getRepairExistingDiagnosed(); + WebElement repairExistingDiagnosedEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[3]/div[2]/div/div/div[3]/table/tbody/tr[1]/td[9]/div/div/div/input")); + repairExistingDiagnosedEle.clear(); + repairExistingDiagnosedEle.sendKeys(repairExistingDiagnosedNum); + log.info("填写运维检修-现有-确诊----------"); + + //填写营销服务-新增-确诊 + String marketingAddDiagnosedNum = obj.getMarketingAddDiagnosed(); + WebElement marketingAddDiagnosedEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[3]/div[2]/div/div/div[3]/table/tbody/tr[1]/td[10]/div/div/div/input")); + marketingAddDiagnosedEle.clear(); + marketingAddDiagnosedEle.sendKeys(marketingAddDiagnosedNum); + log.info("填写营销服务-新增-确诊----------"); + + //填写营销服务-现有-确诊 + String marketingExistingDiagnosedNum = obj.getMarketingExistingDiagnosed(); + WebElement marketingExistingDiagnosedEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[3]/div[2]/div/div/div[3]/table/tbody/tr[1]/td[11]/div/div/div/input")); + marketingExistingDiagnosedEle.clear(); + marketingExistingDiagnosedEle.sendKeys(marketingExistingDiagnosedNum); + log.info("填写营销服务-现有-确诊----------"); + + //填写电网建设-新增-确诊 + String constructionAddDiagnosedNum = obj.getConstructionAddDiagnosed(); + WebElement constructionAddDiagnosedEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[3]/div[2]/div/div/div[3]/table/tbody/tr[1]/td[12]/div/div/div/input")); + constructionAddDiagnosedEle.clear(); + constructionAddDiagnosedEle.sendKeys(constructionAddDiagnosedNum); + log.info("填写营销服务-新增-确诊----------"); + + //填写电网建设-现有-确诊 + String constructionExistingDiagnosedNum = obj.getConstructionExistingDiagnosed(); + WebElement constructionExistingDiagnosedEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[3]/div[2]/div/div/div[3]/table/tbody/tr[1]/td[13]/div/div/div/input")); + constructionExistingDiagnosedEle.clear(); + constructionExistingDiagnosedEle.sendKeys(constructionExistingDiagnosedNum); + log.info("填写营销服务-现有-确诊----------"); + +// //填写合计-新增-治愈 +// String totalAddHealNum = obj.getTotalAddHeal(); +// WebElement totalAddHealEle= webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[2]/div[2]/div/div/div[3]/table/tbody/tr/td[3]/div/div/input")); +// totalAddHealEle.clear(); +// totalAddHealEle.sendKeys(totalAddHealNum); +// log.info("填写合计-新增-治愈----------"); +// Thread.sleep(300); +// +// //填写合计-现有-治愈 +// String totalExistingHealNum = obj.getTotalExistingHeal(); +// WebElement totalExistingHealNumEle= webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[2]/div[2]/div/div/div[3]/table/tbody/tr/td[4]/div/div/input")); +// totalExistingHealNumEle.clear(); +// totalExistingHealNumEle.sendKeys(totalExistingHealNum); +// log.info("填写合计-现有-治愈----------"); +// Thread.sleep(300); + + //填写电网调度-新增-治愈 + String dispatchAddHealNum = obj.getDispatchAddHeal(); + WebElement dispatchAddHealNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[3]/div[2]/div/div/div[3]/table/tbody/tr[2]/td[4]/div/div/div/input")); + dispatchAddHealNumEle.clear(); + dispatchAddHealNumEle.sendKeys(dispatchAddHealNum); + log.info("填写电网调度-新增-治愈----------"); + Thread.sleep(300); + + + //填写电网调度-现有-治愈 + String dispatchExistingHealNum = obj.getDispatchExistingHeal(); + WebElement dispatchExistingHealNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[3]/div[2]/div/div/div[3]/table/tbody/tr[2]/td[5]/div/div/div/input")); + dispatchExistingHealNumEle.clear(); + dispatchExistingHealNumEle.sendKeys(dispatchExistingHealNum); + log.info("填写电网调度-现有-治愈----------"); + Thread.sleep(300); + + + //填写运维检修-新增-治愈 + String repairAddHealNum = obj.getRepairAddHeal(); + WebElement repairAddHealEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[3]/div[2]/div/div/div[3]/table/tbody/tr[2]/td[6]/div/div/div/input")); + repairAddHealEle.clear(); + repairAddHealEle.sendKeys(repairAddHealNum); + log.info("填写运维检修-新增-治愈----------"); + + //填写运维检修-现有-治愈 + String repairExistingHealNum = obj.getRepairExistingHeal(); + WebElement repairExistingHealEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[3]/div[2]/div/div/div[3]/table/tbody/tr[2]/td[7]/div/div/div/input")); + repairExistingHealEle.clear(); + repairExistingHealEle.sendKeys(repairExistingHealNum); + log.info("填写运维检修-现有-治愈----------"); + + //填写营销服务-新增-治愈 + String marketingAddHealNum = obj.getMarketingAddHeal(); + WebElement marketingAddHealEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[3]/div[2]/div/div/div[3]/table/tbody/tr[2]/td[8]/div/div/div/input")); + marketingAddHealEle.clear(); + marketingAddHealEle.sendKeys(marketingAddHealNum); + log.info("填写营销服务-新增-治愈----------"); + + //填写营销服务-现有-治愈 + String marketingExistingHealNum = obj.getMarketingExistingHeal(); + WebElement marketingExistingHealEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[3]/div[2]/div/div/div[3]/table/tbody/tr[2]/td[9]/div/div/div/input")); + marketingExistingHealEle.clear(); + marketingExistingHealEle.sendKeys(marketingExistingHealNum); + log.info("填写营销服务-现有-治愈----------"); + + //填写电网建设-新增-治愈 + String constructionAddHealNum = obj.getConstructionAddHeal(); + WebElement constructionAddHealEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[3]/div[2]/div/div/div[3]/table/tbody/tr[2]/td[10]/div/div/div/input")); + constructionAddHealEle.clear(); + constructionAddHealEle.sendKeys(constructionAddHealNum); + log.info("填写营销服务-新增-治愈----------"); + + //填写电网建设-现有-治愈 + String constructionExistingHealNum = obj.getConstructionExistingHeal(); + WebElement constructionExistingHealEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[3]/div[2]/div/div/div[3]/table/tbody/tr[2]/td[11]/div/div/div/input")); + constructionExistingHealEle.clear(); + constructionExistingHealEle.sendKeys(constructionExistingHealNum); + log.info("填写营销服务-现有-治愈----------"); + +// //填写合计-新增-疑似 +// String totalAddSuspectedNum = obj.getTotalAddSuspected(); +// WebElement totalAddSuspectedEle= webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[2]/div[2]/div/div/div[3]/table/tbody/tr/td[3]/div/div/input")); +// totalAddSuspectedEle.clear(); +// totalAddSuspectedEle.sendKeys(totalAddSuspectedNum); +// log.info("填写合计-新增-疑似----------"); +// Thread.sleep(300); +// +// //填写合计-现有-疑似 +// String totalExistingSuspectedNum = obj.getTotalExistingSuspected(); +// WebElement totalExistingSuspectedNumEle= webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[2]/div[2]/div/div/div[3]/table/tbody/tr/td[4]/div/div/input")); +// totalExistingSuspectedNumEle.clear(); +// totalExistingSuspectedNumEle.sendKeys(totalExistingSuspectedNum); +// log.info("填写合计-现有-疑似----------"); +// Thread.sleep(300); + + //填写电网调度-新增-疑似 + String dispatchAddSuspectedNum = obj.getDispatchAddSuspected(); + WebElement dispatchAddSuspectedNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[3]/div[2]/div/div/div[3]/table/tbody/tr[3]/td[4]/div/div/div/input")); + dispatchAddSuspectedNumEle.clear(); + dispatchAddSuspectedNumEle.sendKeys(dispatchAddSuspectedNum); + log.info("填写电网调度-新增-疑似----------"); + Thread.sleep(300); + + + //填写电网调度-现有-疑似 + String dispatchExistingSuspectedNum = obj.getDispatchExistingSuspected(); + WebElement dispatchExistingSuspectedNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[3]/div[2]/div/div/div[3]/table/tbody/tr[3]/td[5]/div/div/div/input")); + dispatchExistingSuspectedNumEle.clear(); + dispatchExistingSuspectedNumEle.sendKeys(dispatchExistingSuspectedNum); + log.info("填写电网调度-现有-疑似----------"); + Thread.sleep(300); + + + //填写运维检修-新增-疑似 + String repairAddSuspectedNum = obj.getRepairAddSuspected(); + WebElement repairAddSuspectedEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[3]/div[2]/div/div/div[3]/table/tbody/tr[3]/td[6]/div/div/div/input")); + repairAddSuspectedEle.clear(); + repairAddSuspectedEle.sendKeys(repairAddSuspectedNum); + log.info("填写运维检修-新增-疑似----------"); + + //填写运维检修-现有-疑似 + String repairExistingSuspectedNum = obj.getRepairExistingSuspected(); + WebElement repairExistingSuspectedEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[3]/div[2]/div/div/div[3]/table/tbody/tr[3]/td[7]/div/div/div/input")); + repairExistingSuspectedEle.clear(); + repairExistingSuspectedEle.sendKeys(repairExistingSuspectedNum); + log.info("填写运维检修-现有-疑似----------"); + + //填写营销服务-新增-疑似 + String marketingAddSuspectedNum = obj.getMarketingAddSuspected(); + WebElement marketingAddSuspectedEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[3]/div[2]/div/div/div[3]/table/tbody/tr[3]/td[8]/div/div/div/input")); + marketingAddSuspectedEle.clear(); + marketingAddSuspectedEle.sendKeys(marketingAddSuspectedNum); + log.info("填写营销服务-新增-疑似----------"); + + //填写营销服务-现有-疑似 + String marketingExistingSuspectedNum = obj.getMarketingExistingSuspected(); + WebElement marketingExistingSuspectedEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[3]/div[2]/div/div/div[3]/table/tbody/tr[3]/td[9]/div/div/div/input")); + marketingExistingSuspectedEle.clear(); + marketingExistingSuspectedEle.sendKeys(marketingExistingSuspectedNum); + log.info("填写营销服务-现有-疑似----------"); + + //填写电网建设-新增-疑似 + String constructionAddSuspectedNum = obj.getConstructionAddSuspected(); + WebElement constructionAddSuspectedEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[3]/div[2]/div/div/div[3]/table/tbody/tr[3]/td[10]/div/div/div/input")); + constructionAddSuspectedEle.clear(); + constructionAddSuspectedEle.sendKeys(constructionAddSuspectedNum); + log.info("填写营销服务-新增-疑似----------"); + + //填写电网建设-现有-疑似 + String constructionExistingSuspectedNum = obj.getConstructionExistingSuspected(); + WebElement constructionExistingSuspectedEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[3]/div[2]/div/div/div[3]/table/tbody/tr[3]/td[11]/div/div/div/input")); + constructionExistingSuspectedEle.clear(); + constructionExistingSuspectedEle.sendKeys(constructionExistingSuspectedNum); + log.info("填写营销服务-现有-疑似----------"); + + dailySchedule4(bean.getFourBean(), bean); + } + + //操作附表4 + private void dailySchedule4(AnnexFourBean obj, DailyBean bean) throws InterruptedException { + //填写定点医院 + String ddyy = obj.getDesignated_hospitals(); + WebElement ddyEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[4]/div[2]/div/div/div[3]/table/tbody/tr/td[3]/div/div/div/input")); + ddyEle.clear(); + ddyEle.sendKeys(ddyy); + log.info("填写定点医院----------"); + Thread.sleep(300); + + + //填写发热门诊 + String frmz = obj.getFever_clinic(); + WebElement frmzEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[4]/div[2]/div/div/div[3]/table/tbody/tr/td[4]/div/div/div/input")); + frmzEle.clear(); + frmzEle.sendKeys(frmz); + log.info("填写发热门诊----------"); + Thread.sleep(300); + + + //填写防疫用品企业 + String fyypqy = obj.getEpidemic_enterprise(); + WebElement fyypqyEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[4]/div[2]/div/div/div[3]/table/tbody/tr/td[5]/div/div/div/input")); + fyypqyEle.clear(); + fyypqyEle.sendKeys(fyypqy); + log.info("填写防疫用品企业----------"); + Thread.sleep(300); + + + //填写其他重要用户 + String qtzyyh = obj.getOther_important_users(); + WebElement qtzyyhEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[4]/div[2]/div/div/div[3]/table/tbody/tr/td[6]/div/div/div/input")); + qtzyyhEle.clear(); + qtzyyhEle.sendKeys(qtzyyh); + log.info("填写其他重要用户----------"); + Thread.sleep(300); + + + //填写客户用电保障人员 + String khydbz = obj.getCustomer_power_personnel(); + WebElement khydbzEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[4]/div[2]/div/div/div[3]/table/tbody/tr/td[7]/div/div/div/input")); + khydbzEle.clear(); + khydbzEle.sendKeys(khydbz); + log.info("填写客户用电保障人员----------"); + Thread.sleep(300); + + + //填写电网运维保障人员 + String dwywbzry = obj.getPower_devops_personnel(); + WebElement dwywbzryEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[4]/div[2]/div/div/div[3]/table/tbody/tr/td[8]/div/div/div/input")); + dwywbzryEle.clear(); + dwywbzryEle.sendKeys(dwywbzry); + log.info("填写电网运维保障人员----------"); + Thread.sleep(300); + + + //填写保电车辆 + String bdcl = obj.getElectrically_vehicles(); + WebElement bdclEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[4]/div[2]/div/div/div[3]/table/tbody/tr/td[9]/div/div/div/input")); + bdclEle.clear(); + bdclEle.sendKeys(bdcl); + log.info("填写保电车辆----------"); + Thread.sleep(300); + + + //填写应急发电车 + String yjfdc = obj.getEmergency_power_vehicles(); + WebElement yjfdcEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[4]/div[2]/div/div/div[3]/table/tbody/tr/td[10]/div/div/div/input")); + yjfdcEle.clear(); + yjfdcEle.sendKeys(yjfdc); + log.info("填写应急发电车----------"); + Thread.sleep(300); + + + //填写应急发电机 + String yjfdj = obj.getEmergency_generator(); + WebElement yjfdjEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[4]/div[2]/div/div/div[3]/table/tbody/tr/td[11]/div/div/div/input")); + yjfdjEle.clear(); + yjfdjEle.sendKeys(yjfdj); + log.info("填写应急发电机----------"); + Thread.sleep(300); + dailySchedule5(bean.getFiveBean(), bean); + } + + //操作附表5 + private void dailySchedule5(AnnexFiveBean obj, DailyBean bean) throws InterruptedException { + //填写机场/港口 + String airportPortNum = obj.getAirportPort(); + WebElement airportPortEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[5]/div[2]/div/div/div[3]/table/tbody/tr/td[3]/div/div/div/input")); + airportPortEle.clear(); + airportPortEle.sendKeys(airportPortNum); + log.info("填写机场/港口----------"); + Thread.sleep(300); + + //填写机场/港口 + String venueHospitalNum = obj.getVenueHospital(); + WebElement venueHospitalNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[5]/div[2]/div/div/div[3]/table/tbody/tr/td[4]/div/div/div/input")); + venueHospitalNumEle.clear(); + venueHospitalNumEle.sendKeys(venueHospitalNum); + log.info("填写机场/港口----------"); + Thread.sleep(300); + + //填写宾馆酒店 + String guesthouseHotelNum = obj.getGuesthouseHotel(); + WebElement guesthouseHotelNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[5]/div[2]/div/div/div[3]/table/tbody/tr/td[5]/div/div/div/input")); + guesthouseHotelNumEle.clear(); + guesthouseHotelNumEle.sendKeys(guesthouseHotelNum); + log.info("填写宾馆酒店---------"); + Thread.sleep(300); + + + //填写保障人员 + String safeguardPersonnelNum = obj.getSafeguardPersonnel(); + WebElement safeguardPersonnelNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[5]/div[2]/div/div/div[3]/table/tbody/tr/td[6]/div/div/div/input")); + safeguardPersonnelNumEle.clear(); + safeguardPersonnelNumEle.sendKeys(safeguardPersonnelNum); + log.info("填写保障人员---------"); + Thread.sleep(300); + + + //填写保电车辆 + String electricallyGuaranteedVehiclesNum = obj.getElectricallyGuaranteedVehicles(); + WebElement electricallyGuaranteedVehiclesEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[5]/div[2]/div/div/div[3]/table/tbody/tr/td[7]/div/div/div/input")); + electricallyGuaranteedVehiclesEle.clear(); + electricallyGuaranteedVehiclesEle.sendKeys(electricallyGuaranteedVehiclesNum); + log.info("填写保电车辆----------"); + + //填写发电车 + String powerGenerationVehiclesNum = obj.getPowerGenerationVehicles(); + WebElement powerGenerationVehiclesEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[5]/div[2]/div/div/div[3]/table/tbody/tr/td[8]/div/div/div/input")); + powerGenerationVehiclesEle.clear(); + powerGenerationVehiclesEle.sendKeys(powerGenerationVehiclesNum); + log.info("填写发电车---------"); + + //填写发电机 + String dynamoNum = obj.getDynamo(); + WebElement dynamoEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[5]/div[2]/div/div/div[3]/table/tbody/tr/td[9]/div/div/div/input")); + dynamoEle.clear(); + dynamoEle.sendKeys(dynamoNum); + log.info("填写发电机---------"); + + //填写备注 + String fiveRemark = obj.getRemark(); + WebElement fiveRemarkEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[5]/div[2]/div/div/div[3]/table/tbody/tr/td[10]/div/div/input")); + fiveRemarkEle.clear(); + fiveRemarkEle.sendKeys(fiveRemark); + log.info("填写备注----------"); + Thread.sleep(300); + dailySchedule6(bean.getSixBean(), bean); + } + + //操作附表6 + private void dailySchedule6(AnnexSixBean obj, DailyBean bean) throws InterruptedException { + //判断是否需要填写 + WebElement tbody = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[6]/div/div[2]/div/div/div[3]/table/tbody")); + + List trlist = tbody.findElements(By.tagName("tr")); + log.info("附表6tr:" + trlist.size()); + if (trlist == null || trlist.size() <= 0) { + log.info("附表6没有数据不需要填写"); + } else { + //填写领导及指挥人员 + String ldjzhry = obj.getLeaders_command_staff(); + + WebElement ldjzhryEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[6]/div/div[2]/div/div/div[3]/table/tbody/tr/td[9]/div/div/input")); + ldjzhryEle.clear(); + ldjzhryEle.sendKeys(ldjzhry); + log.info("填写领导及指挥人员----------"); + Thread.sleep(300); + + + //填写人员数量 + String personNum = obj.getInput_amount_person(); + WebElement ryslEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[6]/div/div[2]/div/div/div[3]/table/tbody/tr/td[10]/div/div/div/input")); + ryslEle.clear(); + Thread.sleep(300); + ryslEle.sendKeys(personNum); + log.info("填写人员数量----------"); + Thread.sleep(300); + + + //填写车辆数量 + String carNum = obj.getInput_amount_vehicle(); + WebElement clslEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[6]/div/div[2]/div/div/div[3]/table/tbody/tr/td[11]/div/div/div/input")); + clslEle.clear(); + Thread.sleep(300); + clslEle.sendKeys(carNum); + log.info("填写车辆数量----------"); + Thread.sleep(300); + + + //填写发电车数量 + String fdcNum = obj.getInput_amount_power_vehicle(); + WebElement fdcNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[6]/div/div[2]/div/div/div[3]/table/tbody/tr/td[12]/div/div/div/input")); + fdcNumEle.clear(); + Thread.sleep(300); + fdcNumEle.sendKeys(fdcNum); + log.info("填写发电车数量----------"); + Thread.sleep(300); + + + //填写发电机数量 + String fdjNum = obj.getInput_amount_dynamo(); + WebElement fdjNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[6]/div/div[2]/div/div/div[3]/table/tbody/tr/td[13]/div/div/div/input")); + fdjNumEle.clear(); + Thread.sleep(300); + fdjNumEle.sendKeys(fdjNum); + log.info("填写发电机数量----------"); + Thread.sleep(300); + + + String bz = obj.getRemark(); + WebElement bzEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[6]/div/div[2]/div/div/div[3]/table/tbody/tr/td[14]/div/div/input")); + bzEle.clear(); + bzEle.sendKeys(bz); + log.info("填写备注----------"); + Thread.sleep(300); + } + dailySchedule7(bean.getSevenBean(), bean); +// submitData(); + } + + //操作附表7 + private void dailySchedule7(AnnexSevenBean obj, DailyBean bean) throws InterruptedException { + //填写因灾停运-特高压 + String psaou = obj.getPower_substation_add_outage_uvh(); + WebElement psaouEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[7]/div[2]/div/div/div[3]/table/tbody/tr/td[4]/div/div/div/input")); + psaouEle.clear(); + psaouEle.sendKeys(psaou); + log.info("填写新增-因灾停运-特高压----------"); + Thread.sleep(300); + + + //填写因灾停运-500 + String psaof = obj.getPower_substation_add_outage_five(); + WebElement psaofEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[7]/div[2]/div/div/div[3]/table/tbody/tr/td[5]/div/div/div/input")); + psaofEle.clear(); + psaofEle.sendKeys(psaof); + log.info("填写新增-因灾停运-500kv----------"); + Thread.sleep(300); + + + //填写因灾停运-300 + String psaot = obj.getPower_substation_add_outage_two(); + WebElement psaotEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[7]/div[2]/div/div/div[3]/table/tbody/tr/td[6]/div/div/div/input")); + psaotEle.clear(); + psaotEle.sendKeys(psaot); + log.info("填写新增-因灾停运-220/300kv----------"); + Thread.sleep(300); + + //填写因灾停运-100 + String psaoo = obj.getPower_substation_add_outage_one(); + WebElement psaooEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[7]/div[2]/div/div/div[3]/table/tbody/tr/td[7]/div/div/div/input")); + psaooEle.clear(); + psaooEle.sendKeys(psaoo); + log.info("填写新增-因灾停运-100/66kv----------"); + Thread.sleep(300); + + //填写因灾停运-35 + String psaoth = obj.getPower_substation_add_outage_three(); + WebElement psaothEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[7]/div[2]/div/div/div[3]/table/tbody/tr/td[8]/div/div/div/input")); + psaothEle.clear(); + psaothEle.sendKeys(psaoth); + log.info("填写新增-因灾停运-35kv----------"); + Thread.sleep(300); + + + //填写抢修恢复-特高压 + String psaru = obj.getPower_substation_add_repair_uvh(); + WebElement psaruEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[7]/div[2]/div/div/div[3]/table/tbody/tr/td[9]/div/div/div/input")); + psaruEle.clear(); + psaruEle.sendKeys(psaru); + log.info("填写新增-抢修恢复-特高压----------"); + Thread.sleep(300); + + //填写抢修恢复-500 + String psarf = obj.getPower_substation_add_repair_five(); + WebElement psarfEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[7]/div[2]/div/div/div[3]/table/tbody/tr/td[10]/div/div/div/input")); + psarfEle.clear(); + psarfEle.sendKeys(psarf); + log.info("填写新增-抢修恢复-500kv----------"); + Thread.sleep(300); + + //填写抢修恢复-220/300 + String psart = obj.getPower_substation_add_repair_two(); + WebElement psartEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[7]/div[2]/div/div/div[3]/table/tbody/tr/td[11]/div/div/div/input")); + psartEle.clear(); + psartEle.sendKeys(psart); + log.info("填写新增-抢修恢复-220/300kv----------"); + Thread.sleep(300); + + //填写抢修恢复-100 + String psaro = obj.getPower_substation_add_repair_one(); + WebElement psaroEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[7]/div[2]/div/div/div[3]/table/tbody/tr/td[12]/div/div/div/input")); + psaroEle.clear(); + psaroEle.sendKeys(psaro); + log.info("填写新增-抢修恢复-100/66kv----------"); + Thread.sleep(300); + + //填写抢修恢复-35 + String psarth = obj.getPower_substation_add_repair_three(); + WebElement psarthEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[7]/div[2]/div/div/div[3]/table/tbody/tr/td[13]/div/div/div/input")); + psarthEle.clear(); + psarthEle.sendKeys(psarth); + log.info("填写新增-抢修恢复-35kv----------"); + Thread.sleep(300); + + + //填写尚未恢复-特高压 + String psanru = obj.getPower_substation_add_no_repair_uvh(); + WebElement psanruEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[7]/div[2]/div/div/div[3]/table/tbody/tr/td[14]/div/div/div/input")); + psanruEle.clear(); + psanruEle.sendKeys(psanru); + log.info("填写新增-尚未恢复-特高压----------"); + Thread.sleep(300); + + //填写尚未恢复-500 + String psanrf = obj.getPower_substation_add_no_repair_five(); + WebElement psanrfEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[7]/div[2]/div/div/div[3]/table/tbody/tr/td[15]/div/div/div/input")); + psanrfEle.clear(); + psanrfEle.sendKeys(psanrf); + log.info("填写新增-尚未恢复-500kv----------"); + Thread.sleep(300); + + //填写尚未恢复-220/300 + String psanrt = obj.getPower_substation_add_no_repair_two(); + WebElement psanrtEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[7]/div[2]/div/div/div[3]/table/tbody/tr/td[16]/div/div/div/input")); + psanrtEle.clear(); + psanrtEle.sendKeys(psanrt); + log.info("填写新增-尚未恢复-220/300kv----------"); + Thread.sleep(300); + + //填写尚未恢复-100 + String psanro = obj.getPower_substation_add_no_repair_one(); + WebElement psanroEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[7]/div[2]/div/div/div[3]/table/tbody/tr/td[17]/div/div/div/input")); + psanroEle.clear(); + psanroEle.sendKeys(psanro); + log.info("填写新增-尚未恢复-100/66kv----------"); + Thread.sleep(300); + + //填写尚未恢复-35 + String psanrth = obj.getPower_substation_add_no_repair_three(); + WebElement psanrthEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[7]/div[2]/div/div/div[3]/table/tbody/tr/td[18]/div/div/div/input")); + psanrthEle.clear(); + psanrthEle.sendKeys(psanrth); + log.info("填写新增-尚未恢复-35kv----------"); + Thread.sleep(300); + + + //填写因灾停运-特高压 + String pscou = obj.getPower_substation_cumulative_outage_uvh(); + WebElement pscouEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[8]/div[2]/div/div/div[3]/table/tbody/tr/td[4]/div/div/div/input")); + pscouEle.clear(); + pscouEle.sendKeys(pscou); + log.info("填写累计-因灾停运-特高压----------"); + Thread.sleep(300); + + + //填写因灾停运-500 + String pscof = obj.getPower_substation_cumulative_outage_five(); + WebElement pscofEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[8]/div[2]/div/div/div[3]/table/tbody/tr/td[5]/div/div/div/input")); + pscofEle.clear(); + pscofEle.sendKeys(pscof); + log.info("填写累计-因灾停运-500kv----------"); + Thread.sleep(300); + + + //填写因灾停运-300 + String pscot = obj.getPower_substation_cumulative_outage_two(); + WebElement pscotEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[8]/div[2]/div/div/div[3]/table/tbody/tr/td[6]/div/div/div/input")); + pscotEle.clear(); + pscotEle.sendKeys(pscot); + log.info("填写累计-因灾停运-220/300kv----------"); + Thread.sleep(300); + + //填写因灾停运-100 + String pscoo = obj.getPower_substation_cumulative_outage_one(); + WebElement pscooEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[8]/div[2]/div/div/div[3]/table/tbody/tr/td[7]/div/div/div/input")); + pscooEle.clear(); + pscooEle.sendKeys(pscoo); + log.info("填写累计-因灾停运-100/66kv----------"); + Thread.sleep(300); + + //填写因灾停运-35 + String pscoth = obj.getPower_substation_cumulative_outage_three(); + WebElement pscothEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[8]/div[2]/div/div/div[3]/table/tbody/tr/td[8]/div/div/div/input")); + pscothEle.clear(); + pscothEle.sendKeys(pscoth); + log.info("填写累计-因灾停运-35kv----------"); + Thread.sleep(300); + + + //填写抢修恢复-特高压 + String pscru = obj.getPower_substation_cumulative_repair_uvh(); + WebElement pscruEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[8]/div[2]/div/div/div[3]/table/tbody/tr/td[9]/div/div/div/input")); + pscruEle.clear(); + pscruEle.sendKeys(pscru); + log.info("填写累计-抢修恢复-特高压----------"); + Thread.sleep(300); + + //填写抢修恢复-500 + String pscrf = obj.getPower_substation_cumulative_repair_five(); + WebElement pscrfEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[8]/div[2]/div/div/div[3]/table/tbody/tr/td[10]/div/div/div/input")); + pscrfEle.clear(); + pscrfEle.sendKeys(pscrf); + log.info("填写累计-抢修恢复-500kv----------"); + Thread.sleep(300); + + //填写抢修恢复-220/300 + String pscrt = obj.getPower_substation_cumulative_outage_two(); + WebElement pscrtEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[8]/div[2]/div/div/div[3]/table/tbody/tr/td[11]/div/div/div/input")); + pscrtEle.clear(); + pscrtEle.sendKeys(pscrt); + log.info("填写累计-抢修恢复-220/300kv----------"); + Thread.sleep(300); + + //填写抢修恢复-100 + String pscro = obj.getPower_substation_cumulative_repair_one(); + WebElement pscroEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[8]/div[2]/div/div/div[3]/table/tbody/tr/td[12]/div/div/div/input")); + pscroEle.clear(); + pscroEle.sendKeys(pscro); + log.info("填写累计-抢修恢复-100/66kv----------"); + Thread.sleep(300); + + //填写抢修恢复-35 + String pscrth = obj.getPower_substation_cumulative_outage_three(); + WebElement pscrthEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[8]/div[2]/div/div/div[3]/table/tbody/tr/td[13]/div/div/div/input")); + pscrthEle.clear(); + pscrthEle.sendKeys(pscrth); + log.info("填写累计-抢修恢复-35kv----------"); + Thread.sleep(300); + + + //填写尚未恢复-特高压 + String pscnru = obj.getPower_substation_cumulative_no_repair_uvh(); + WebElement pscnruEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[8]/div[2]/div/div/div[3]/table/tbody/tr/td[14]/div/div/div/input")); + pscnruEle.clear(); + pscnruEle.sendKeys(pscnru); + log.info("填写累计-尚未恢复-特高压----------"); + Thread.sleep(300); + + //填写尚未恢复-500 + String pscnrf = obj.getPower_substation_cumulative_no_repair_five(); + WebElement pscnrfEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[8]/div[2]/div/div/div[3]/table/tbody/tr/td[15]/div/div/div/input")); + pscnrfEle.clear(); + pscnrfEle.sendKeys(pscnrf); + log.info("填写累计-尚未恢复-500kv----------"); + Thread.sleep(300); + + //填写尚未恢复-220/300 + String pscnrt = obj.getPower_substation_cumulative_no_repair_two(); + WebElement pscnrtEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[8]/div[2]/div/div/div[3]/table/tbody/tr/td[16]/div/div/div/input")); + pscnrtEle.clear(); + pscnrtEle.sendKeys(pscnrt); + log.info("填写累计-尚未恢复-220/300kv----------"); + Thread.sleep(300); + + //填写尚未恢复-100 + String pscnro = obj.getPower_substation_cumulative_no_repair_one(); + WebElement pscnroEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[8]/div[2]/div/div/div[3]/table/tbody/tr/td[17]/div/div/div/input")); + pscnroEle.clear(); + pscnroEle.sendKeys(pscnro); + log.info("填写累计-尚未恢复-100/66kv----------"); + Thread.sleep(300); + + //填写尚未恢复-35 + String pscnrth = obj.getPower_substation_cumulative_no_repair_three(); + WebElement pscnrthEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[8]/div[2]/div/div/div[3]/table/tbody/tr/td[18]/div/div/div/input")); + pscnrthEle.clear(); + pscnrthEle.sendKeys(pscnrth); + log.info("填写累计-尚未恢复-35kv----------"); + Thread.sleep(300); + dailySchedule8(bean.getEightBean(), bean); + } + + private void dailySchedule8(AnnexEightBean obj, DailyBean bean) throws InterruptedException { + //填写因灾停运-特高压 + String traou = obj.getTransmit_electricity_add_outage_uvh(); + WebElement traouEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[9]/div[2]/div/div/div[3]/table/tbody/tr/td[4]/div/div/div/input")); + traouEle.clear(); + traouEle.sendKeys(traou); + log.info("填写新增-因灾停运-特高压----------"); + Thread.sleep(300); + + + //填写因灾停运-500 + String traof = obj.getTransmit_electricity_add_outage_five(); + WebElement traofEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[9]/div[2]/div/div/div[3]/table/tbody/tr/td[5]/div/div/div/input")); + traofEle.clear(); + traofEle.sendKeys(traof); + log.info("填写新增-因灾停运-500kv----------"); + Thread.sleep(300); + + + //填写因灾停运-300 + String traot = obj.getTransmit_electricity_add_outage_two(); + WebElement traotEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[9]/div[2]/div/div/div[3]/table/tbody/tr/td[6]/div/div/div/input")); + traotEle.clear(); + traotEle.sendKeys(traot); + log.info("填写新增-因灾停运-220/300kv----------"); + Thread.sleep(300); + + //填写因灾停运-100 + String traoo = obj.getTransmit_electricity_add_outage_one(); + WebElement traooEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[9]/div[2]/div/div/div[3]/table/tbody/tr/td[7]/div/div/div/input")); + traooEle.clear(); + traooEle.sendKeys(traoo); + log.info("填写新增-因灾停运-100/66kv----------"); + Thread.sleep(300); + + //填写因灾停运-35 + String traoth = obj.getTransmit_electricity_add_outage_three(); + WebElement traothEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[9]/div[2]/div/div/div[3]/table/tbody/tr/td[8]/div/div/div/input")); + traothEle.clear(); + traothEle.sendKeys(traoth); + log.info("填写新增-因灾停运-35kv----------"); + Thread.sleep(300); + + //填写因灾停运-10 + String traote = obj.getTransmit_electricity_add_outage_ten(); + WebElement traoteEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[9]/div[2]/div/div/div[3]/table/tbody/tr/td[9]/div/div/div/input")); + traoteEle.clear(); + traoteEle.sendKeys(traote); + log.info("填写新增-因灾停运-10kv----------"); + Thread.sleep(300); + + + //填写抢修恢复-特高压 + String traru = obj.getTransmit_electricity_add_repair_uvh(); + WebElement traruEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[9]/div[2]/div/div/div[3]/table/tbody/tr/td[10]/div/div/div/input")); + traruEle.clear(); + traruEle.sendKeys(traru); + log.info("填写新增-抢修恢复-特高压----------"); + Thread.sleep(300); + + //填写抢修恢复-500 + String trarf = obj.getTransmit_electricity_add_repair_five(); + WebElement trarfEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[9]/div[2]/div/div/div[3]/table/tbody/tr/td[11]/div/div/div/input")); + trarfEle.clear(); + trarfEle.sendKeys(trarf); + log.info("填写新增-抢修恢复-500kv----------"); + Thread.sleep(300); + + //填写抢修恢复-220/300 + String trart = obj.getTransmit_electricity_add_repair_two(); + WebElement trartEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[9]/div[2]/div/div/div[3]/table/tbody/tr/td[12]/div/div/div/input")); + trartEle.clear(); + trartEle.sendKeys(trart); + log.info("填写新增-抢修恢复-220/300kv----------"); + Thread.sleep(300); + + //填写抢修恢复-100 + String traro = obj.getTransmit_electricity_add_repair_one(); + WebElement traroEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[9]/div[2]/div/div/div[3]/table/tbody/tr/td[13]/div/div/div/input")); + traroEle.clear(); + traroEle.sendKeys(traro); + log.info("填写新增-抢修恢复-100/66kv----------"); + Thread.sleep(300); + + //填写抢修恢复-35 + String trarth = obj.getTransmit_electricity_add_repair_three(); + WebElement trarthEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[9]/div[2]/div/div/div[3]/table/tbody/tr/td[14]/div/div/div/input")); + trarthEle.clear(); + trarthEle.sendKeys(trarth); + log.info("填写新增-抢修恢复-35kv----------"); + Thread.sleep(300); + + //填写抢修恢复-10 + String trarte = obj.getTransmit_electricity_add_repair_ten(); + WebElement trarteEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[9]/div[2]/div/div/div[3]/table/tbody/tr/td[15]/div/div/div/input")); + trarteEle.clear(); + trarteEle.sendKeys(trarte); + log.info("填写新增-抢修恢复-10kv----------"); + Thread.sleep(300); + + //填写尚未恢复-特高压 + String tranru = obj.getTransmit_electricity_add_no_repair_uvh(); + WebElement tranruEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[9]/div[2]/div/div/div[3]/table/tbody/tr/td[16]/div/div/div/input")); + tranruEle.clear(); + tranruEle.sendKeys(tranru); + log.info("填写新增-尚未恢复-特高压----------"); + Thread.sleep(300); + + //填写尚未恢复-500 + String tranrf = obj.getTransmit_electricity_add_no_repair_five(); + WebElement tranrfEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[9]/div[2]/div/div/div[3]/table/tbody/tr/td[17]/div/div/div/input")); + tranrfEle.clear(); + tranrfEle.sendKeys(tranrf); + log.info("填写新增-尚未恢复-500kv----------"); + Thread.sleep(300); + + //填写尚未恢复-220/300 + String tranrt = obj.getTransmit_electricity_add_no_repair_two(); + WebElement tranrtEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[9]/div[2]/div/div/div[3]/table/tbody/tr/td[18]/div/div/div/input")); + tranrtEle.clear(); + tranrtEle.sendKeys(tranrt); + log.info("填写新增-尚未恢复-220/300kv----------"); + Thread.sleep(300); + + //填写尚未恢复-100 + String tranro = obj.getTransmit_electricity_add_no_repair_one(); + WebElement tranroEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[9]/div[2]/div/div/div[3]/table/tbody/tr/td[19]/div/div/div/input")); + tranroEle.clear(); + tranroEle.sendKeys(tranro); + log.info("填写新增-尚未恢复-100/66kv----------"); + Thread.sleep(300); + + //填写尚未恢复-35 + String tranrth = obj.getTransmit_electricity_add_no_repair_three(); + WebElement tranrthEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[9]/div[2]/div/div/div[3]/table/tbody/tr/td[20]/div/div/div/input")); + tranrthEle.clear(); + tranrthEle.sendKeys(tranrth); + log.info("填写新增-尚未恢复-35kv----------"); + Thread.sleep(300); + + //填写尚未恢复-10 + String tranrte = obj.getTransmit_electricity_add_no_repair_ten(); + WebElement tranrteEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[9]/div[2]/div/div/div[3]/table/tbody/tr/td[21]/div/div/div/input")); + tranrteEle.clear(); + tranrteEle.sendKeys(tranrte); + log.info("填写新增-尚未恢复-10kv----------"); + Thread.sleep(300); + + //填写因灾停运-特高压 + String trcou = obj.getTransmit_electricity_cumulative_outage_uvh(); + WebElement trcouEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[10]/div[2]/div/div/div[3]/table/tbody/tr/td[4]/div/div/div/input")); + trcouEle.clear(); + trcouEle.sendKeys(trcou); + log.info("填写累计-因灾停运-特高压----------"); + Thread.sleep(300); + + + //填写因灾停运-500 + String trcof = obj.getTransmit_electricity_cumulative_outage_five(); + WebElement trcofEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[10]/div[2]/div/div/div[3]/table/tbody/tr/td[5]/div/div/div/input")); + trcofEle.clear(); + trcofEle.sendKeys(trcof); + log.info("填写累计-因灾停运-500kv----------"); + Thread.sleep(300); + + + //填写因灾停运-300 + String trcot = obj.getTransmit_electricity_cumulative_outage_two(); + WebElement trcotEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[10]/div[2]/div/div/div[3]/table/tbody/tr/td[6]/div/div/div/input")); + trcotEle.clear(); + trcotEle.sendKeys(trcot); + log.info("填写累计-因灾停运-220/300kv----------"); + Thread.sleep(300); + + //填写因灾停运-100 + String trcoo = obj.getTransmit_electricity_cumulative_outage_one(); + WebElement trcooEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[10]/div[2]/div/div/div[3]/table/tbody/tr/td[7]/div/div/div/input")); + trcooEle.clear(); + trcooEle.sendKeys(trcoo); + log.info("填写累计-因灾停运-100/66kv----------"); + Thread.sleep(300); + + //填写因灾停运-35 + String trcoth = obj.getTransmit_electricity_cumulative_outage_three(); + WebElement trcothEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[10]/div[2]/div/div/div[3]/table/tbody/tr/td[8]/div/div/div/input")); + trcothEle.clear(); + trcothEle.sendKeys(trcoth); + log.info("填写累计-因灾停运-35kv----------"); + Thread.sleep(300); + + //填写因灾停运-10 + String trcote = obj.getTransmit_electricity_cumulative_outage_ten(); + WebElement trcoteEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[10]/div[2]/div/div/div[3]/table/tbody/tr/td[9]/div/div/div/input")); + trcoteEle.clear(); + trcoteEle.sendKeys(trcote); + log.info("填写累计-因灾停运-35kv----------"); + Thread.sleep(300); + + //填写抢修恢复-特高压 + String trcru = obj.getTransmit_electricity_cumulative_repair_uvh(); + WebElement trcruEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[10]/div[2]/div/div/div[3]/table/tbody/tr/td[10]/div/div/div/input")); + trcruEle.clear(); + trcruEle.sendKeys(trcru); + log.info("填写累计-抢修恢复-特高压----------"); + Thread.sleep(300); + + //填写抢修恢复-500 + String trcrf = obj.getTransmit_electricity_cumulative_repair_five(); + WebElement trcrfEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[10]/div[2]/div/div/div[3]/table/tbody/tr/td[11]/div/div/div/input")); + trcrfEle.clear(); + trcrfEle.sendKeys(trcrf); + log.info("填写累计-抢修恢复-500kv----------"); + Thread.sleep(300); + + //填写抢修恢复-220/300 + String trcrt = obj.getTransmit_electricity_cumulative_repair_two(); + WebElement trcrtEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[10]/div[2]/div/div/div[3]/table/tbody/tr/td[12]/div/div/div/input")); + trcrtEle.clear(); + trcrtEle.sendKeys(trcrt); + log.info("填写累计-抢修恢复-220/300kv----------"); + Thread.sleep(300); + + //填写抢修恢复-100 + String trcro = obj.getTransmit_electricity_cumulative_repair_one(); + WebElement trcroEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[10]/div[2]/div/div/div[3]/table/tbody/tr/td[13]/div/div/div/input")); + trcroEle.clear(); + trcroEle.sendKeys(trcro); + log.info("填写累计-抢修恢复-100/66kv----------"); + Thread.sleep(300); + + //填写抢修恢复-35 + String trcrth = obj.getTransmit_electricity_cumulative_repair_three(); + WebElement trcrthEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[10]/div[2]/div/div/div[3]/table/tbody/tr/td[14]/div/div/div/input")); + trcrthEle.clear(); + trcrthEle.sendKeys(trcrth); + log.info("填写累计-抢修恢复-35kv----------"); + Thread.sleep(300); + + //填写抢修恢复-10 + String trcrte = obj.getTransmit_electricity_cumulative_repair_ten(); + WebElement trcrteEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[10]/div[2]/div/div/div[3]/table/tbody/tr/td[15]/div/div/div/input")); + trcrteEle.clear(); + trcrteEle.sendKeys(trcrte); + log.info("填写累计-抢修恢复-10kv----------"); + Thread.sleep(300); + + //填写尚未恢复-特高压 + String trcnru = obj.getTransmit_electricity_cumulative_no_repair_uvh(); + WebElement trcnruEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[10]/div[2]/div/div/div[3]/table/tbody/tr/td[16]/div/div/div/input")); + trcnruEle.clear(); + trcnruEle.sendKeys(trcnru); + log.info("填写累计-尚未恢复-特高压----------"); + Thread.sleep(300); + + //填写尚未恢复-500 + String trcnrf = obj.getTransmit_electricity_cumulative_no_repair_five(); + WebElement trcnrfEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[10]/div[2]/div/div/div[3]/table/tbody/tr/td[17]/div/div/div/input")); + trcnrfEle.clear(); + trcnrfEle.sendKeys(trcnrf); + log.info("填写累计-尚未恢复-500kv----------"); + Thread.sleep(300); + + //填写尚未恢复-220/300 + String trcnrt = obj.getTransmit_electricity_cumulative_no_repair_two(); + WebElement trcnrtEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[10]/div[2]/div/div/div[3]/table/tbody/tr/td[18]/div/div/div/input")); + trcnrtEle.clear(); + trcnrtEle.sendKeys(trcnrt); + log.info("填写累计-尚未恢复-220/300kv----------"); + Thread.sleep(300); + + //填写尚未恢复-100 + String trcnro = obj.getTransmit_electricity_cumulative_no_repair_one(); + WebElement trcnroEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[10]/div[2]/div/div/div[3]/table/tbody/tr/td[19]/div/div/div/input")); + trcnroEle.clear(); + trcnroEle.sendKeys(trcnro); + log.info("填写累计-尚未恢复-100/66kv----------"); + Thread.sleep(300); + + //填写尚未恢复-35 + String trcnrth = obj.getTransmit_electricity_cumulative_no_repair_three(); + WebElement trcnrthEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[10]/div[2]/div/div/div[3]/table/tbody/tr/td[20]/div/div/div/input")); + trcnrthEle.clear(); + trcnrthEle.sendKeys(trcnrth); + log.info("填写累计-尚未恢复-35kv----------"); + Thread.sleep(300); + + //填写尚未恢复-10 + String trcnrte = obj.getTransmit_electricity_cumulative_no_repair_ten(); + WebElement trcnrteEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[10]/div[2]/div/div/div[3]/table/tbody/tr/td[21]/div/div/div/input")); + trcnrteEle.clear(); + trcnrteEle.sendKeys(trcnrte); + log.info("填写累计-尚未恢复-10kv----------"); + Thread.sleep(300); + + dailySchedule9(bean.getNineBean(), bean); + } + + private void dailySchedule9(AnnexNineBean obj, DailyBean bean) throws InterruptedException { + + //因灾停电-台区 + String abtd = obj.getAdd_blackout_tai_district(); + WebElement abtdEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[11]/div/div[2]/div/div/div[3]/table/tbody/tr/td[4]/div/div/div/input")); + abtdEle.clear(); + abtdEle.sendKeys(abtd); + log.info("填写新增-因灾停电-台区----------"); + Thread.sleep(300); + + //因灾停电-用户 + String abtu = obj.getAdd_blackout_user(); + WebElement abtuEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[11]/div/div[2]/div/div/div[3]/table/tbody/tr/td[5]/div/div/div/input")); + abtuEle.clear(); + abtuEle.sendKeys(abtu); + log.info("填写新增-因灾停电-用户----------"); + Thread.sleep(300); + + //抢修恢复-台区 + String artd = obj.getAdd_repair_tai_district(); + WebElement artdEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[11]/div/div[2]/div/div/div[3]/table/tbody/tr/td[6]/div/div/div/input")); + artdEle.clear(); + artdEle.sendKeys(artd); + log.info("填写新增-抢修恢复-台区----------"); + Thread.sleep(300); + + //抢修恢复-用户 + String artu = obj.getAdd_repair_user(); + WebElement artuEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[11]/div/div[2]/div/div/div[3]/table/tbody/tr/td[7]/div/div/div/input")); + artuEle.clear(); + artuEle.sendKeys(artu); + log.info("填写新增-抢修恢复-用户----------"); + Thread.sleep(300); + + //尚未恢复-台区 + String anrtd = obj.getAdd_no_repair_tai_district(); + WebElement anrtdEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[11]/div/div[2]/div/div/div[3]/table/tbody/tr/td[8]/div/div/div/input")); + anrtdEle.clear(); + anrtdEle.sendKeys(anrtd); + log.info("填写新增-尚未恢复-台区----------"); + Thread.sleep(300); + + //尚未恢复-用户 + String anrtu = obj.getAdd_no_repair_user(); + WebElement anrtuEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[11]/div/div[2]/div/div/div[3]/table/tbody/tr/td[9]/div/div/div/input")); + anrtuEle.clear(); + anrtuEle.sendKeys(anrtu); + log.info("填写新增-尚未恢复-用户----------"); + Thread.sleep(300); + + //出动抢修力量-用户 + String app = obj.getAdd_power_personnel(); + WebElement appEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[11]/div/div[2]/div/div/div[3]/table/tbody/tr/td[10]/div/div/div/input")); + appEle.clear(); + appEle.sendKeys(app); + log.info("填写新增-出动抢修力量-台区----------"); + Thread.sleep(300); + + //出动抢修力量-车辆 + String apv = obj.getAdd_power_vehicle(); + WebElement apvEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[11]/div/div[2]/div/div/div[3]/table/tbody/tr/td[11]/div/div/div/input")); + apvEle.clear(); + apvEle.sendKeys(apv); + log.info("填写新增-出动抢修力量-用户----------"); + Thread.sleep(300); + + + //因灾停电-台区 + String cbtd = obj.getCumulative_blackout_tai_district(); + WebElement cbtdEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[12]/div[2]/div/div/div[3]/table/tbody/tr/td[4]/div/div/div/input")); + cbtdEle.clear(); + cbtdEle.sendKeys(cbtd); + log.info("填写累计-因灾停电-台区----------"); + Thread.sleep(300); + + //因灾停电-用户 + String cbtu = obj.getCumulative_blackout_user(); + WebElement cbtuEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[12]/div[2]/div/div/div[3]/table/tbody/tr/td[5]/div/div/div/input")); + cbtuEle.clear(); + cbtuEle.sendKeys(cbtu); + log.info("填写累计-因灾停电-用户----------"); + Thread.sleep(300); + + //抢修恢复-台区 + String crtd = obj.getCumulative_repair_tai_district(); + WebElement crtdEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[12]/div[2]/div/div/div[3]/table/tbody/tr/td[6]/div/div/div/input")); + crtdEle.clear(); + crtdEle.sendKeys(crtd); + log.info("填写累计-抢修恢复-台区----------"); + Thread.sleep(300); + + //抢修恢复-用户 + String crtu = obj.getCumulative_repair_user(); + WebElement crtuEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[12]/div[2]/div/div/div[3]/table/tbody/tr/td[7]/div/div/div/input")); + crtuEle.clear(); + crtuEle.sendKeys(crtu); + log.info("填写累计-抢修恢复-用户----------"); + Thread.sleep(300); + + //尚未恢复-台区 + String cnrtd = obj.getCumulative_no_repair_tai_district(); + WebElement cnrtdEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[12]/div[2]/div/div/div[3]/table/tbody/tr/td[8]/div/div/div/input")); + cnrtdEle.clear(); + cnrtdEle.sendKeys(cnrtd); + log.info("填写累计-尚未恢复-台区----------"); + Thread.sleep(300); + + //尚未恢复-用户 + String cnrtu = obj.getCumulative_no_repair_user(); + WebElement cnrtuEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[12]/div[2]/div/div/div[3]/table/tbody/tr/td[9]/div/div/div/input")); + cnrtuEle.clear(); + cnrtuEle.sendKeys(cnrtu); + log.info("填写累计-尚未恢复-用户----------"); + Thread.sleep(300); + + //出动抢修力量-用户 + String cpp = obj.getCumulative_power_personnel(); + WebElement cppEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[12]/div[2]/div/div/div[3]/table/tbody/tr/td[10]/div/div/div/input")); + cppEle.clear(); + cppEle.sendKeys(cpp); + log.info("填写累计-出动抢修力量-台区----------"); + Thread.sleep(300); + + //出动抢修力量-车辆 + String cpv = obj.getCumulative_power_vehicle(); + WebElement cpvEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[12]/div[2]/div/div/div[3]/table/tbody/tr/td[11]/div/div/div/input")); + cpvEle.clear(); + cpvEle.sendKeys(cpv); + log.info("填写累计-出动抢修力量-用户----------"); + Thread.sleep(300); + dailySchedule10(bean.getTenBean(), bean); + } + + private void dailySchedule10(AnnexTenBean obj, DailyBean bean) throws InterruptedException { + + WebElement kaiguanEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[13]/div[1]/div/div/div")); + String className = kaiguanEle.getAttribute("class"); + if ("el-switch".equals(className)) { + log.info("附表十未开启,跳过"); + } else { + //填写特高压 + String tenUhvNum = obj.getUhv(); + WebElement tenUhvEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[13]/div[2]/div/div/div[3]/table/tbody/tr/td[4]/div/div/div/input")); + tenUhvEle.clear(); + tenUhvEle.sendKeys(tenUhvNum); + log.info("填写特高压----------"); + Thread.sleep(300); + + //填写500k + String tenFiveHundredKvNum = obj.getFiveHundredKv(); + WebElement tenFiveHundredKvNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[13]/div[2]/div/div/div[3]/table/tbody/tr/td[5]/div/div/div/input")); + tenFiveHundredKvNumEle.clear(); + tenFiveHundredKvNumEle.sendKeys(tenFiveHundredKvNum); + log.info("填写500k----------"); + Thread.sleep(300); + + //填写220/330kV + String tenTwoHundredTwentyKvNum = obj.getTwoHundredTwentyKv(); + WebElement tenTwoHundredTwentyKvNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[13]/div[2]/div/div/div[3]/table/tbody/tr/td[6]/div/div/div/input")); + tenTwoHundredTwentyKvNumEle.clear(); + tenTwoHundredTwentyKvNumEle.sendKeys(tenTwoHundredTwentyKvNum); + log.info("填写220/330kV---------"); + Thread.sleep(300); + + + //填写110/66kV + String tenOneHundredTenKvNum = obj.getOneHundredTenKv(); + WebElement tenOneHundredTenKvNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[13]/div[2]/div/div/div[3]/table/tbody/tr/td[7]/div/div/div/input")); + tenOneHundredTenKvNumEle.clear(); + tenOneHundredTenKvNumEle.sendKeys(tenOneHundredTenKvNum); + log.info("填写110/66kV---------"); + Thread.sleep(300); + + + //填写35kV + String tenThirtyFiveKvNum = obj.getThirtyFiveKv(); + WebElement tenThirtyFiveKvNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[13]/div[2]/div/div/div[3]/table/tbody/tr/td[8]/div/div/div/input")); + tenThirtyFiveKvNumEle.clear(); + tenThirtyFiveKvNumEle.sendKeys(tenThirtyFiveKvNum); + log.info("填写35kV----------"); + + //填写10kV + String tenTenKvNum = obj.getTenKv(); + WebElement tenTenKvNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[13]/div[2]/div/div/div[3]/table/tbody/tr/td[9]/div/div/div/input")); + tenTenKvNumEle.clear(); + tenTenKvNumEle.sendKeys(tenTenKvNum); + log.info("填写10kV---------"); + + //填写平均覆冰 + String tenAverageWaterLevelNum = obj.getAverageWaterLevel(); + WebElement tenAverageWaterLevelNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[13]/div[2]/div/div/div[3]/table/tbody/tr/td[10]/div/div/div/input")); + tenAverageWaterLevelNumEle.clear(); + tenAverageWaterLevelNumEle.sendKeys(tenAverageWaterLevelNum); + log.info("填写平均覆冰---------"); + + //填写最大覆冰-实际值 + String tenMeasuredValueNum = obj.getMeasuredValue(); + WebElement tenMeasuredValueNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[13]/div[2]/div/div/div[3]/table/tbody/tr/td[11]/div/div/div/input")); + tenMeasuredValueNumEle.clear(); + tenMeasuredValueNumEle.sendKeys(tenMeasuredValueNum); + log.info("填写最大覆冰-实际值---------"); + + //填写最大覆冰-设计值 + String tenDesignValuesNum = obj.getDesignValues(); + WebElement tenDesignValuesNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[13]/div[2]/div/div/div[3]/table/tbody/tr/td[12]/div/div/div/input")); + tenDesignValuesNumEle.clear(); + tenDesignValuesNumEle.sendKeys(tenDesignValuesNum); + log.info("填写最大覆冰-设计值---------"); + + //填写已采取措施行动 + String tenActionHasBeenTaken = obj.getActionHasBeenTaken(); + WebElement tenActionHasBeenTakenEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[13]/div[2]/div/div/div[3]/table/tbody/tr/td[13]/div/div/input")); + tenActionHasBeenTakenEle.clear(); + tenActionHasBeenTakenEle.sendKeys(tenActionHasBeenTaken); + log.info("填写已采取措施行动----------"); + } + + + Thread.sleep(300); + dailySchedule11(bean.getElevenBean(), bean); + } + + private void dailySchedule11(AnnexElevenBean obj, DailyBean bean) throws InterruptedException { + try{ + WebElement kaiguanEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[14]/div[1]/div/div/div")); + String className = kaiguanEle.getAttribute("class"); + if ("el-switch".equals(className)) { + log.info("附表十一未开启,跳过"); + } else { + //填写线路电压等级 + String elevenUhvNum = obj.getUhv(); + WebElement elevenUhvEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[14]/div/div[2]/div/div/div[3]/table/tbody/tr/td[4]/div/div/div/input")); + elevenUhvEle.clear(); + elevenUhvEle.sendKeys(elevenUhvNum); + log.info("填写线路电压等级----------"); + Thread.sleep(300); + + //填写线路名称 + String elevenFiveHundredKvNum = obj.getFiveHundredKv(); + WebElement elevenFiveHundredKvNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[14]/div/div[2]/div/div/div[3]/table/tbody/tr/td[5]/div/div/input")); + elevenFiveHundredKvNumEle.clear(); + elevenFiveHundredKvNumEle.sendKeys(elevenFiveHundredKvNum); + log.info("填写线路名称----------"); + Thread.sleep(300); + + //填写起始杆塔号 + String elevenTwoHundredTwentyKvNum = obj.getTwoHundredTwentyKv(); + WebElement elevenTwoHundredTwentyKvNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[14]/div/div[2]/div/div/div[3]/table/tbody/tr/td[6]/div/div/input")); + elevenTwoHundredTwentyKvNumEle.clear(); + elevenTwoHundredTwentyKvNumEle.sendKeys(elevenTwoHundredTwentyKvNum); + log.info("填写起始杆塔号---------"); + Thread.sleep(300); + + + //填写结束杆塔号 + String elevenOneHundredTenKvNum = obj.getOneHundredTenKv(); + WebElement elevenOneHundredTenKvNumNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[14]/div/div[2]/div/div/div[3]/table/tbody/tr/td[7]/div/div/input")); + elevenOneHundredTenKvNumNumEle.clear(); + elevenOneHundredTenKvNumNumEle.sendKeys(elevenOneHundredTenKvNum); + log.info("填写结束杆塔号---------"); + Thread.sleep(300); + + + //填写覆冰厚度 + String elevenThirtyFiveKvNum = obj.getThirtyFiveKv(); + WebElement elevenThirtyFiveKvNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[14]/div/div[2]/div/div/div[3]/table/tbody/tr/td[8]/div/div/div/input")); + elevenThirtyFiveKvNumEle.clear(); + elevenThirtyFiveKvNumEle.sendKeys(elevenThirtyFiveKvNum); + log.info("填写覆冰厚度---------"); + + //填写设计覆冰厚度 + String elevenTenKvNum = obj.getTenKv(); + WebElement elevenTenKvNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[14]/div/div[2]/div/div/div[3]/table/tbody/tr/td[9]/div/div/div/input")); + elevenTenKvNumEle.clear(); + elevenTenKvNumEle.sendKeys(elevenTenKvNum); + log.info("填写设计覆冰厚度---------"); + + //填写采取措施冰厚 + String elevenAverageWaterLevelNum = obj.getAverageWaterLevel(); + WebElement elevenAverageWaterLevelNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[14]/div/div[2]/div/div/div[3]/table/tbody/tr/td[10]/div/div/div/input")); + elevenAverageWaterLevelNumEle.clear(); + elevenAverageWaterLevelNumEle.sendKeys(elevenAverageWaterLevelNum); + log.info("填写采取措施冰厚---------"); + + //填写可供使用抗冰装备 + String elevenMeasuredValueNum = obj.getMeasuredValue(); + WebElement elevenMeasuredValueNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[14]/div/div[2]/div/div/div[3]/table/tbody/tr/td[11]/div/div/input")); + elevenMeasuredValueNumEle.clear(); + elevenMeasuredValueNumEle.sendKeys(elevenMeasuredValueNum); + log.info("填写可供使用抗冰装备---------"); + + //填写已采取措施行动 + String elevenActionHasBeenTaken = obj.getActionHasBeenTaken(); + WebElement elevenActionHasBeenTakenEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[14]/div/div[2]/div/div/div[3]/table/tbody/tr/td[12]/div/div/input")); + elevenActionHasBeenTakenEle.clear(); + elevenActionHasBeenTakenEle.sendKeys(elevenActionHasBeenTaken); + log.info("填写已采取措施行动----------"); + } + + }catch (Exception e){ + log.info("附表十一出现问题"); + } + Thread.sleep(300); + dailySchedule12(bean.getTwelveBean(), bean); + } + + //操作附表12 + private void dailySchedule12(AnnexTwelveBean obj, DailyBean bean) throws InterruptedException { + try { + WebElement kaiguanEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[15]/div[1]/div/div/div")); + String className = kaiguanEle.getAttribute("class"); + if ("el-switch".equals(className)) { + log.info("附表十二未开启,跳过"); + } else { + //填写特高压 + String twelveUhvNum = obj.getUhv(); + WebElement twelveUhvEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[15]/div[2]/div/div/div[3]/table/tbody/tr/td[3]/div/div/div/input")); + twelveUhvEle.clear(); + twelveUhvEle.sendKeys(twelveUhvNum); + log.info("填写特高压----------"); + Thread.sleep(300); + + //填写500k + String twelveFiveHundredKvNum = obj.getFiveHundredKv(); + WebElement twelveFiveHundredKvNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[15]/div[2]/div/div/div[3]/table/tbody/tr/td[4]/div/div/div/input")); + twelveFiveHundredKvNumEle.clear(); + twelveFiveHundredKvNumEle.sendKeys(twelveFiveHundredKvNum); + log.info("填写500k----------"); + Thread.sleep(300); + + //填写220/330kV + String twelveTwoHundredTwentyKvNum = obj.getTwoHundredTwentyKv(); + WebElement twelveTwoHundredTwentyKvNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[15]/div[2]/div/div/div[3]/table/tbody/tr/td[5]/div/div/div/input")); + twelveTwoHundredTwentyKvNumEle.clear(); + twelveTwoHundredTwentyKvNumEle.sendKeys(twelveTwoHundredTwentyKvNum); + log.info("填写220/330kV---------"); + Thread.sleep(300); + + + //填写110/66kV + String twelveOneHundredTenKvNum = obj.getOneHundredTenKv(); + WebElement twelveOneHundredTenKvNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[15]/div[2]/div/div/div[3]/table/tbody/tr/td[6]/div/div/div/input")); + twelveOneHundredTenKvNumEle.clear(); + twelveOneHundredTenKvNumEle.sendKeys(twelveOneHundredTenKvNum); + log.info("填写110/66kV---------"); + Thread.sleep(300); + + + //填写35kV + String twelveThirtyFiveKvNum = obj.getThirtyFiveKv(); + WebElement twelveThirtyFiveKvNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[15]/div[2]/div/div/div[3]/table/tbody/tr/td[7]/div/div/div/input")); + twelveThirtyFiveKvNumEle.clear(); + twelveThirtyFiveKvNumEle.sendKeys(twelveThirtyFiveKvNum); + log.info("填写35kV----------"); + + //填写10kV + String twelveTenKvNum = obj.getTenKv(); + WebElement twelveTenKvNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[15]/div[2]/div/div/div[3]/table/tbody/tr/td[8]/div/div/div/input")); + twelveTenKvNumEle.clear(); + twelveTenKvNumEle.sendKeys(twelveTenKvNum); + log.info("填写10kV---------"); + + //填写平均水位 + String twelveAverageWaterLevelNum = obj.getAverageWaterLevel(); + WebElement twelveAverageWaterLevelNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[15]/div[2]/div/div/div[3]/table/tbody/tr/td[9]/div/div/div/input")); + twelveAverageWaterLevelNumEle.clear(); + twelveAverageWaterLevelNumEle.sendKeys(twelveAverageWaterLevelNum); + log.info("填写平均水位---------"); + + //填写最大水位-实际值 + String twelveMeasuredValueNum = obj.getMeasuredValue(); + WebElement twelveMeasuredValueNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[15]/div[2]/div/div/div[3]/table/tbody/tr/td[10]/div/div/div/input")); + twelveMeasuredValueNumEle.clear(); + twelveMeasuredValueNumEle.sendKeys(twelveMeasuredValueNum); + log.info("填写最大水位-实际值---------"); + + //填写最大水位-设计值 + String twelveDesignValuesNum = obj.getDesignValues(); + WebElement twelveDesignValuesNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[15]/div[2]/div/div/div[3]/table/tbody/tr/td[11]/div/div/div/input")); + twelveDesignValuesNumEle.clear(); + twelveDesignValuesNumEle.sendKeys(twelveDesignValuesNum); + log.info("填写最大水位-设计值---------"); + + //填写已采取措施行动 + String twelveActionHasBeenTaken = obj.getActionHasBeenTaken(); + WebElement twelveActionHasBeenTakenEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[15]/div[2]/div/div/div[3]/table/tbody/tr/td[12]/div/div/div/input")); + twelveActionHasBeenTakenEle.clear(); + twelveActionHasBeenTakenEle.sendKeys(twelveActionHasBeenTaken); + log.info("填写已采取措施行动----------"); + } + }catch (Exception e){ + log.info("附表12出现问题"); + } + + Thread.sleep(300); + dailySchedule13(bean.getThirteenBean(), bean); + } + + //操作附表13 + private void dailySchedule13(AnnexThirteenBean obj, DailyBean bean) throws InterruptedException { + try{ + WebElement kaiguanEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[16]/div/div[1]/div/div/div")); + String className = kaiguanEle.getAttribute("class"); + if ("el-switch".equals(className)) { + log.info("附表十三未开启,跳过"); + } else { + //填写特高压 + String thirteenUhvNum = obj.getUhv(); + WebElement thirteenUhvEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[16]/div[2]/div/div/div[3]/table/tbody/tr/td[3]/div/div/div/input")); + thirteenUhvEle.clear(); + thirteenUhvEle.sendKeys(thirteenUhvNum); + log.info("填写特高压----------"); + Thread.sleep(300); + + //填写500k + String thirteenFiveHundredKvNum = obj.getFiveHundredKv(); + WebElement thirteenFiveHundredKvNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[16]/div[2]/div/div/div[3]/table/tbody/tr/td[4]/div/div/div/input")); + thirteenFiveHundredKvNumEle.clear(); + thirteenFiveHundredKvNumEle.sendKeys(thirteenFiveHundredKvNum); + log.info("填写500k----------"); + Thread.sleep(300); + + //填写220/330kV + String thirteenTwoHundredTwentyKvNum = obj.getTwoHundredTwentyKv(); + WebElement thirteenTwoHundredTwentyKvNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[16]/div[2]/div/div/div[3]/table/tbody/tr/td[5]/div/div/div/input")); + thirteenTwoHundredTwentyKvNumEle.clear(); + thirteenTwoHundredTwentyKvNumEle.sendKeys(thirteenTwoHundredTwentyKvNum); + log.info("填写220/330kV---------"); + Thread.sleep(300); + + + //填写110/66kV + String thirteenOneHundredTenKvNum = obj.getOneHundredTenKv(); + WebElement thirteenOneHundredTenKvNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[16]/div[2]/div/div/div[3]/table/tbody/tr/td[6]/div/div/div/input")); + thirteenOneHundredTenKvNumEle.clear(); + thirteenOneHundredTenKvNumEle.sendKeys(thirteenOneHundredTenKvNum); + log.info("填写110/66kV---------"); + Thread.sleep(300); + + + //填写35kV + String thirteenThirtyFiveKvNum = obj.getThirtyFiveKv(); + WebElement thirteenThirtyFiveKvNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[16]/div[2]/div/div/div[3]/table/tbody/tr/td[7]/div/div/div/input")); + thirteenThirtyFiveKvNumEle.clear(); + thirteenThirtyFiveKvNumEle.sendKeys(thirteenThirtyFiveKvNum); + log.info("填写35kV----------"); + + //填写10kV + String thirteenTenKvNum = obj.getTenKv(); + WebElement thirteenTenKvNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[16]/div[2]/div/div/div[3]/table/tbody/tr/td[8]/div/div/div/input")); + thirteenTenKvNumEle.clear(); + thirteenTenKvNumEle.sendKeys(thirteenTenKvNum); + log.info("填写10kV---------"); + + //填写平均水位 + String thirteenAverageWaterLevelNum = obj.getAverageWaterLevel(); + WebElement thirteenAverageWaterLevelNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[16]/div[2]/div/div/div[3]/table/tbody/tr/td[9]/div/div/div/input")); + thirteenAverageWaterLevelNumEle.clear(); + thirteenAverageWaterLevelNumEle.sendKeys(thirteenAverageWaterLevelNum); + log.info("填写平均水位---------"); + + //填写最大水位-实际值 + String thirteenMeasuredValueNum = obj.getMeasuredValue(); + WebElement thirteenMeasuredValueNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[16]/div[2]/div/div/div[3]/table/tbody/tr/td[10]/div/div/div/input")); + thirteenMeasuredValueNumEle.clear(); + thirteenMeasuredValueNumEle.sendKeys(thirteenMeasuredValueNum); + log.info("填写最大水位-实际值---------"); + + //填写最大水位-设计值 + String thirteenDesignValuesNum = obj.getDesignValues(); + WebElement thirteenDesignValuesNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[16]/div[2]/div/div/div[3]/table/tbody/tr/td[11]/div/div/div/input")); + thirteenDesignValuesNumEle.clear(); + thirteenDesignValuesNumEle.sendKeys(thirteenDesignValuesNum); + log.info("填写最大水位-设计值---------"); + + //填写已采取措施行动 + String thirteenActionHasBeenTaken = obj.getActionHasBeenTaken(); + WebElement thirteenActionHasBeenTakenEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[16]/div[2]/div/div/div[3]/table/tbody/tr/td[12]/div/div/div/input")); + thirteenActionHasBeenTakenEle.clear(); + thirteenActionHasBeenTakenEle.sendKeys(thirteenActionHasBeenTaken); + log.info("填写已采取措施行动----------"); + } + }catch (Exception e){ + log.info("附表十三未出现问题,跳过"); + } + Thread.sleep(300); + dailySchedule14(bean.getFourteenBean(), bean); + } + + //操作附表14 + private void dailySchedule14(AnnexFourteenBean obj, DailyBean bean) throws InterruptedException { + try { + //填写特高压 + String fourteenUhvNum = obj.getUhv(); + WebElement fourteenUhvEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[17]/div[2]/div/div/div[3]/table/tbody/tr/td[3]/div/div/div/input")); + fourteenUhvEle.clear(); + fourteenUhvEle.sendKeys(fourteenUhvNum); + log.info("填写特高压----------"); + Thread.sleep(300); + + //填写500k + String fourteenFiveHundredKvNum = obj.getFiveHundredKv(); + WebElement fourteenFiveHundredKvNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[17]/div[2]/div/div/div[3]/table/tbody/tr/td[4]/div/div/div/input")); + fourteenFiveHundredKvNumEle.clear(); + fourteenFiveHundredKvNumEle.sendKeys(fourteenFiveHundredKvNum); + log.info("填写500k----------"); + Thread.sleep(300); + + //填写220/330kV + String fourteenTwoHundredTwentyKvNum = obj.getTwoHundredTwentyKv(); + WebElement fourteenTwoHundredTwentyKvNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[17]/div[2]/div/div/div[3]/table/tbody/tr/td[5]/div/div/div/input")); + fourteenTwoHundredTwentyKvNumEle.clear(); + fourteenTwoHundredTwentyKvNumEle.sendKeys(fourteenTwoHundredTwentyKvNum); + log.info("填写220/330kV---------"); + Thread.sleep(300); + + + //填写110/66kV + String fourteenOneHundredTenKvNum = obj.getOneHundredTenKv(); + WebElement fourteenOneHundredTenKvNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[17]/div[2]/div/div/div[3]/table/tbody/tr/td[6]/div/div/div/input")); + fourteenOneHundredTenKvNumEle.clear(); + fourteenOneHundredTenKvNumEle.sendKeys(fourteenOneHundredTenKvNum); + log.info("填写110/66kV---------"); + Thread.sleep(300); + + + //填写35kV + String fourteenThirtyFiveKvNum = obj.getThirtyFiveKv(); + WebElement fourteenThirtyFiveKvNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[17]/div[2]/div/div/div[3]/table/tbody/tr/td[7]/div/div/div/input")); + fourteenThirtyFiveKvNumEle.clear(); + fourteenThirtyFiveKvNumEle.sendKeys(fourteenThirtyFiveKvNum); + log.info("填写35kV----------"); + + //填写10kV + String fourteenTenKvNum = obj.getTenKv(); + WebElement fourteenTenKvNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[17]/div[2]/div/div/div[3]/table/tbody/tr/td[8]/div/div/div/input")); + fourteenTenKvNumEle.clear(); + fourteenTenKvNumEle.sendKeys(fourteenTenKvNum); + log.info("填写10kV---------"); + + //填写平均水位 + String fourteenAverageWaterLevelNum = obj.getAverageWaterLevel(); + WebElement fourteenAverageWaterLevelNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[17]/div[2]/div/div/div[3]/table/tbody/tr/td[9]/div/div/div/input")); + fourteenAverageWaterLevelNumEle.clear(); + fourteenAverageWaterLevelNumEle.sendKeys(fourteenAverageWaterLevelNum); + log.info("填写平均水位---------"); + + //填写最大水位-实际值 + String fourteenMeasuredValueNum = obj.getMeasuredValue(); + WebElement fourteenMeasuredValueNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[17]/div[2]/div/div/div[3]/table/tbody/tr/td[10]/div/div/div/input")); + fourteenMeasuredValueNumEle.clear(); + fourteenMeasuredValueNumEle.sendKeys(fourteenMeasuredValueNum); + log.info("填写最大水位-实际值---------"); + + //填写最大水位-设计值 + String fourteenDesignValuesNum = obj.getDesignValues(); + WebElement fourteenDesignValuesNumEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[17]/div[2]/div/div/div[3]/table/tbody/tr/td[11]/div/div/div/input")); + fourteenDesignValuesNumEle.clear(); + fourteenDesignValuesNumEle.sendKeys(fourteenDesignValuesNum); + log.info("填写最大水位-设计值---------"); + + //填写已采取措施行动 + String fourteenActionHasBeenTaken = obj.getActionHasBeenTaken(); + WebElement fourteenActionHasBeenTakenEle = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[17]/div[2]/div/div/div[3]/table/tbody/tr/td[12]/div/div/input")); + fourteenActionHasBeenTakenEle.clear(); + fourteenActionHasBeenTakenEle.sendKeys(fourteenActionHasBeenTaken); + log.info("填写已采取措施行动----------"); + Thread.sleep(300); + }catch (Exception e){ + log.info("附表十四中存在问题,等待修改"); + } + submitData(); + } + + //提交数据 + private void submitData() throws InterruptedException { +// //点击提交按钮,提交数据 + WebElement submitBtn = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[19]/button[3]")); + if (submitBtn.isDisplayed()) { + //存在 + log.info("日报提交按钮存在-----------"); + log.info("日报提交按钮:" + submitBtn.getAttribute("class")); + log.info("日报提交按钮:" + submitBtn.getAttribute("type")); + log.info("日报提交按钮:" + submitBtn.getText()); + submitBtn.click(); + } else { + log.info("日报提交按钮不存在-----------"); + } + log.info("点击提交按钮,提交数据----------"); + Thread.sleep(300); + + //点击弹出框确认 +///html/body/div[3]/div/div[3]/button[2] + WebElement qrBtn = webDriver.findElement(By.xpath("/html/body/div[2]/div/div[3]/button[2]")); + if (qrBtn.isDisplayed()) { + //存在 + log.info("日报确认按钮存在-----------"); + log.info("日报确认按钮:" + qrBtn.getAttribute("class")); + log.info("日报确认按钮:" + qrBtn.getAttribute("type")); + log.info("日报确认按钮:" + qrBtn.getText()); + qrBtn.click(); + + Thread.sleep(1000); + //取消弹框 +// webDriver.findElement(By.xpath("/html/body/div[3]/div/div[3]/button[1]")).click(); + } else { + log.info("日报确认按钮不存在-----------"); + } + log.info("点击弹出框确认----------"); + Thread.sleep(300); + + //测试 点击取消按钮 + /* webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/div/div[4]/div[1]/div[19]/button[1]")).click(); + log.info("点击取消----------"); + Thread.sleep(300);*/ + + //退出当前iframe, + webDriver.switchTo().defaultContent(); + log.info("退出当前iframe----------"); + Thread.sleep(300); + + //定位值班管理iframe的标签 + WebElement dutyIframe = webDriver.findElement(By.id("zbgln")); + webDriver.switchTo().frame(dutyIframe); + log.info("定位值班管理iframe的标签----------"); + Thread.sleep(300); + } + + +} diff --git a/src/main/java/com/bonus/autoweb/base/DutyLogIOp.java b/src/main/java/com/bonus/autoweb/base/DutyLogIOp.java new file mode 100644 index 0000000..0105e81 --- /dev/null +++ b/src/main/java/com/bonus/autoweb/base/DutyLogIOp.java @@ -0,0 +1,391 @@ +package com.bonus.autoweb.base; + +import com.bonus.autoweb.DateTimeUtils; +import com.bonus.autoweb.TestMain; +import com.bonus.autoweb.UI.entity.LogBean; +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.LoggerFactory; + +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStreamReader; +import java.nio.charset.Charset; +import java.text.ParseException; + +import org.slf4j.Logger; + +/** + * 操作值班日志类 + */ +public class DutyLogIOp { + private Logger log = LoggerFactory.getLogger(DutyLogIOp.class); + private WebDriver webDriver; + + public DutyLogIOp(WebDriver webDriver) { + this.webDriver = webDriver; + } + + /** + * 打开日志新增页面 + * + * @param type 1 早 2晚 + */ + public void openDutyLog(int type) throws Exception { + if (type == 1) { + //早上填写前一天的日志,将标签改为前一天 + changeDay(); + } + Thread.sleep(5000); + //定位值班日志并点击 + webDriver.findElement(By.id("tab-5")).click(); + log.info("定位值班日志并点击----------"); + Thread.sleep(5000); + + // /html/body/div[2] 弹窗 您没有填写值班日志的排班班次 + + //定位写日志标签,打开日志页面 + webDriver.findElement(By.xpath("//*[@id=\"pane-5\"]/div/div[2]/div[2]/button")).click(); + log.info("定位写日志标签,打开日志页面----------"); + Thread.sleep(500); + + + //退出当前iframe,进入到日报编辑iframe + webDriver.switchTo().defaultContent(); + log.info("退出当前iframe----------"); + Thread.sleep(1500); + + //定位日志编辑iframe的标签 + WebElement dutyEditIframe = webDriver.findElement(By.id("add-local-zbrzbz")); + webDriver.switchTo().frame(dutyEditIframe); + log.info("定位日志编辑iframe的标签----------"); + Thread.sleep(1000); + dutyLogContent(); + + if (type == 1) { + //昨天的日志填写完毕之后将日期改为今天 + webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/main/div/div[1]/div[1]/div[3]/div[1]/div[2]/div/button[2]")).click(); + log.info("将日期选择回当日----------"); + Thread.sleep(500); + } + } + + public void changeDay() throws Exception { + + Thread.sleep(1000); + //判断当前日期是不是每月第一天的日期,true + boolean tf = false; + int tr = 1; + int td = 1; + String xpath; + if (!DateTimeUtils.isOneDay()) { + //不是本月第一天 + String currentDay = DateTimeUtils.getCurrentDay(); + log.info("currentDay:" + currentDay); + int weekNum = DateTimeUtils.getWeekNum(currentDay); + log.info("weekNum:" + weekNum); + int dayNum = DateTimeUtils.getWeekOfDate(currentDay); + log.info("dayNum:" + dayNum); + /*if (dayNum == 1) { + tr = weekNum - 1; + td = 7; + } else { + tr = weekNum; + td = dayNum - 1; + }*/ + if (dayNum == 1) { + if (DateTimeUtils.getMonthOneDayIs0()) {//第一天是0 + tr = weekNum; + } else { + tr = weekNum - 1; + if (weekNum == 1) { + tr = 5; + } + } + td = 7; + } else { + if (DateTimeUtils.getMonthOneDayIs0()) {//第一天是0 + tr = weekNum + 1; + } else { + tr = weekNum; + } + td = dayNum - 1; + } + log.info("标签位置:tr:" + tr + ",td:" + td); + xpath = "//*[@id=\"app\"]/div/section/main/div/div[1]/div[1]/div[3]/div[2]/table/tbody/tr[" + tr + "]" + "/td[" + td + "]/div"; + } else { + //点击上月按钮,切换至上月 + webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/main/div/div[1]/div[1]/div[3]/div[1]/div[2]/div/button[1]")).click(); + log.info("点击上月按钮,切换至上月----------"); + Thread.sleep(500); + + //获取上月最后一天日期 + String mothDay = DateTimeUtils.getBeforeLastMonthdate(); + //判断上个月最后一天的位置 + tr = DateTimeUtils.getWeekNum(mothDay); + td = DateTimeUtils.getWeekOfDate(mothDay); + xpath = "//*[@id=\"app\"]/div/section/main/div/div[1]/div[1]/div[3]/div[2]/table/tbody/tr[" + tr + "]" + "/td[" + td + "]/div"; +// String dayNum = mothDay.substring(8, 10); +// WebElement spanElement = webDriver.findElement(By.xpath("//*[@id=\"app\"]/div/section/main/div/div[1]/div[1]/div[3]/div[2]/table/tbody/tr[" + tr + "]" + "/td[" + td + "]/div/div/div[1]/span")); +// if (dayNum.equals(spanElement.getText())) { +// xpath = "//*[@id=\"app\"]/div/section/main/div/div[1]/div[1]/div[3]/div[2]/table/tbody/tr[" + (tr + 1) + "]" + "/td[" + td + "]/div"; +// } + + } + //选择前一天的日期 + + log.info("前一天的标签:" + xpath); + + webDriver.findElement(By.xpath(xpath)).click(); + log.info("选择前一天的日期----------"); + Thread.sleep(500); + } + + /** + * 内容填写 + */ + private void dutyLogContent() throws InterruptedException { + //值班时间 +// /html/body/div[3]/div/div[2]/div/form/div[1]/div/div/div[1]/div/div/div/div + webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[1]/div/div/div[1]/div/div/div/div[1]")).click(); + log.info("值班时间----------"); + Thread.sleep(500); + webDriver.findElement(By.xpath("/html/body/div[4]/div[1]/div[1]/ul/li")).click(); + log.info("值班时间----------"); + Thread.sleep(500); + + // 反序列化--> 解决乱码问题 + 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(); + System.out.println(xml); + } catch (Exception e) { + // TODO: handle exception + } + + XStream xstream = new XStream(new JettisonMappedXmlDriver()); + xstream.alias("log", LogBean.class); + LogBean bean = (LogBean) xstream.fromXML(xml); + + +// //输入天气 +// String tq = bean.getWeather(); +//// /html/body/div[3]/div/div[2]/div/form/div[3]/div/div/div[3]/div/div/div[1]/input +// webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[3]/div/div/div[5]/div/div/div/input")).sendKeys(tq); +// log.info("输入天气----------"); +// Thread.sleep(500); + +// //输入最低气温 +// String zdqw = bean.getMin_temperature(); +//// /html/body/div[3]/div/div[2]/div/form/div[3]/div/div/div[4]/div/div/div[1]/input +// webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[3]/div/div/div[7]/div/div/div/input")).sendKeys(zdqw); +// log.info("输入最高气温----------"); +// Thread.sleep(500); + +// //输入最高气温 +// String zgqw = bean.getMax_temperature(); +//// /html/body/div[3]/div/div[2]/div/form/div[3]/div/div/div[4]/div/div/div[1]/input +// webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[3]/div/div/div[9]/div/div/div/input")).sendKeys(zgqw); +// log.info("输入最高气温----------"); +// Thread.sleep(500); + + //事件监测 标题 + String sjjc_title = bean.getEvent_detection_title(); + // /html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[1]/tr[1]/td/div[3]/div/div[1]/textarea + webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[1]/tr[1]/td/div[3]/div/div/textarea")).sendKeys(sjjc_title); + log.info("事件监测 标题----------"); + Thread.sleep(500); + //事件监测 内容 + String sjjc_content = bean.getEvent_detection_content(); + webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[1]/tr[2]/td/div/div/div/textarea")).sendKeys(sjjc_content); + log.info("事件监测 内容----------"); + Thread.sleep(500); + + //保电工作 标题 + String bdgz_title = bean.getPower_work_title(); + webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[2]/tr[1]/td/div[3]/div/div/textarea")).sendKeys(bdgz_title); + log.info("保电工作 标题----------"); + Thread.sleep(2000); + + //保电工作 内容 + String bdgz_content = bean.getPower_work_content(); + System.out.println("bdgz_content:" + bdgz_content); + WebElement bdgzContentElement = webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[2]/tr[2]/td/div/div/div[1]/textarea")); + + bdgzContentElement.clear(); + bdgzContentElement.sendKeys(bdgz_content.trim()); +// webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[2]/tr[2]/td/div/div/div[1]/textarea")).sendKeys(bdgz_content); + log.info("保电工作 内容----------"); + Thread.sleep(2000); + + //资源核查 标题 + String zyhc_title = bean.getResource_check_title(); + webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[3]/tr[1]/td/div[3]/div/div/textarea")).sendKeys(zyhc_title); + log.info("资源核查 标题----------"); + Thread.sleep(500); + //资源核查 内容 + String zyhc_content = bean.getResource_check_content(); + webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[3]/tr[2]/td/div/div/div/textarea")).sendKeys(zyhc_content); + log.info("资源核查 内容----------"); + Thread.sleep(500); + + //通信测试 标题 + String txcs_title = bean.getCommunications_test_title(); + webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[4]/tr[1]/td/div[3]/div/div/textarea")).sendKeys(txcs_title); + log.info("通信测试 标题----------"); + Thread.sleep(500); + //通信测试 内容 + String txcs_content = bean.getCommunications_test_content(); + webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[4]/tr[2]/td/div/div/div/textarea")).sendKeys(txcs_content); + log.info("通信测试 内容----------"); + Thread.sleep(500); + + + //日常操练情况 标题 + String rcclqk_title = bean.getDaily_operation_title(); + webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[5]/tr[1]/td/div[3]/div/div/textarea")).sendKeys(rcclqk_title); + log.info("日常操练情况 标题----------"); + Thread.sleep(500); + //日常操练情况 内容 + String rcclqk_content = bean.getDaily_operation_content(); + webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[5]/tr[2]/td/div/div/div/textarea")).sendKeys(rcclqk_content); + log.info("日常操练情况 内容----------"); + Thread.sleep(500); + + //日报填写情况 标题 + String rbtxqk_title = bean.getDaily_submission_title(); + webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[6]/tr[1]/td/div[3]/div/div/textarea")).sendKeys(rbtxqk_title); + log.info("日报填写情况 标题----------"); + Thread.sleep(500); + //日常操练情况 内容 + String rbtxqk_content = bean.getDaily_submission_content(); + webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[6]/tr[2]/td/div/div/div/textarea")).sendKeys(rbtxqk_content); + log.info("日常操练情况 内容----------"); + Thread.sleep(500); + + //预警处置 标题 + String yjcz_title = bean.getWarning_disposal_title(); + webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[7]/tr[1]/td/div[3]/div/div/textarea")).sendKeys(yjcz_title); + log.info("预警处置 标题----------"); + Thread.sleep(500); + //预警处置 内容 + String yjcz_content = bean.getWarning_disposal_content(); + webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[7]/tr[2]/td/div/div/div/textarea")).sendKeys(yjcz_content); + log.info("预警处置 内容----------"); + Thread.sleep(500); + + //一般记事 标题 + String ybjs_title = bean.getGeneral_chronicles_title(); + webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[8]/tr[1]/td/div[3]/div/div/textarea")).sendKeys(ybjs_title); + log.info("一般记事 标题----------"); + Thread.sleep(500); + //一般记事 内容 + String ybjs_content = bean.getGeneral_chronicles_content(); + webDriver.findElement(By.xpath("/html/body/div[3]/div/div[2]/div/form/div[4]/table/tr[2]/td/table[8]/tr[2]/td/div/div/div/textarea")).sendKeys(ybjs_content); + log.info("一般记事 内容----------"); + Thread.sleep(500); + + + //提交日志 + + WebElement submitDay = webDriver.findElement(By.xpath("/html/body/div[3]/div/div[3]/div/button[3]")); + log.info("提交日志按钮:" + submitDay.getText()); + submitDay.click(); + log.info("提交日志----------"); + Thread.sleep(500); + + + //点击弹出框确认 + WebElement qrBtn = webDriver.findElement(By.xpath("/html/body/div[4]/div/div[3]/button[2]")); + log.info("确认日志按钮:" + qrBtn.getText()); + qrBtn.click(); + + Thread.sleep(1000 * 3); + //取消 +// webDriver.findElement(By.xpath("/html/body/div[4]/div/div[3]/button[1]")).click(); + + log.info("点击弹出框确认----------"); + Thread.sleep(500); + + //测试 点击取消按钮 + /*webDriver.findElement(By.xpath("/html/body/div[3]/div/div[3]/div/button[1]")).click(); + log.info("点击取消----------"); + Thread.sleep(500);*/ + + + //退出当前iframe, + webDriver.switchTo().defaultContent(); + log.info("退出当前iframe----------"); + Thread.sleep(500); + + + //定位值班管理iframe的标签 + WebElement dutyIframe = webDriver.findElement(By.id("zbgln")); + webDriver.switchTo().frame(dutyIframe); + log.info("定位值班管理iframe的标签----------"); + Thread.sleep(500); + + } + + public static void main(String[] args) throws ParseException { + int tr = 1; + int td = 1; + String currentDay = "2024-01-01"; + System.out.println(currentDay); + int weekNum = DateTimeUtils.getWeekNum(currentDay); + System.out.println(weekNum); + int dayNum = DateTimeUtils.getWeekOfDate(currentDay); + System.out.println(dayNum); + /*if (dayNum == 1) { + tr = weekNum - 1; + td = 7; + } else { + tr = weekNum; + td = dayNum - 1; + }*/ + if (dayNum == 1) { + if (DateTimeUtils.getMonthOneDayIs0()) {//第一天是0 + tr = weekNum; + } else { + tr = weekNum - 1; + if (weekNum == 1) { + tr = 5; + } + } + td = 7; + } else { + if (DateTimeUtils.getMonthOneDayIs0()) {//第一天是0 + tr = weekNum + 1; + } else { + tr = weekNum; + } + td = dayNum - 1; + } + System.out.println(tr); + System.out.println(td); + System.out.println("-------------------------"); + //获取上月最后一天日期 + String mothDay = "2023-12-31"; + System.out.println(mothDay); + //判断上个月最后一天的位置 + tr = DateTimeUtils.getWeekNum(mothDay); + td = DateTimeUtils.getWeekOfDate(mothDay); + System.out.println(tr); + System.out.println(td); + System.out.println(mothDay.substring(8,10)); + } +} diff --git a/src/main/java/com/bonus/autoweb/task/AutoWebTask.java b/src/main/java/com/bonus/autoweb/task/AutoWebTask.java new file mode 100644 index 0000000..789ca26 --- /dev/null +++ b/src/main/java/com/bonus/autoweb/task/AutoWebTask.java @@ -0,0 +1,459 @@ +package com.bonus.autoweb.task; + +import com.bonus.autoweb.DateTimeUtils; +import com.bonus.autoweb.GetBasicData; +import com.bonus.autoweb.base.*; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.openqa.selenium.By; +import org.openqa.selenium.WebElement; +import org.slf4j.Logger; +import org.openqa.selenium.WebDriver; +import org.slf4j.LoggerFactory; + +import java.io.BufferedReader; +import java.io.FileInputStream; +import java.io.FileReader; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; + +/** + * 应急指挥中心打卡任务类 + */ +public class AutoWebTask { + + Logger log = LoggerFactory.getLogger(AutoWebTask.class); + + /** + * 打卡任务 + * + * @param classes 班次,,1早班 2晚班 + */ + public void dutyClockTask(int classes) { + log.info("开始打卡任务---------------------"); + log.info("房万春开始打卡任务---------------------"); + //使用房万春账号签到 + dutySigin(classes, 1, DataConfig.USER_NAME2, DataConfig.PASS2); + try { + Thread.sleep(1000 * 2); + } catch (Exception e) { + log.error("打卡任务", e); + } + //使用韩宏宇账号签到 + log.info("韩宏宇开始打卡任务---------------------"); + dutySigin(classes, 1, DataConfig.USER_NAME1, DataConfig.PASS1); + } + + /** + * 签到任务 + * + * @param classes + * @param type + * @param userName + * @param pass + * @throws Exception + */ + public int dutySigin(int classes, int type, String userName, String pass) { + //打开浏览器,进入应急指挥中心网站 + AutoMain autoMain = new AutoMain(); + int count = 0; + try { + autoMain.initDrive(2); + WebDriver webDriver = autoMain.getWebDriver(); + autoMain.startAuto(userName, pass); + DutyClock dutyClock = new DutyClock(webDriver); + dutyClock.openDutyClock(); + dutyClock.dutyClockOper(classes, type); + //关闭浏览器 + autoMain.closeDrive(); + count = 1; + } catch (Exception e) { + log.error("签到任务", e); + } finally { + autoMain.closeDrive(); + } + return count; + } + + + /** + * 填报日志和日报任务 + * + * @param type 1 早报 2晚报 + */ + public int dutyAddDailyLogsTask(int type, String username, String password) { + log.info("开始日报填写任务---------------------"); + //打开浏览器,进入应急指挥中心网站 + AutoMain autoMain = new AutoMain(); + WebDriver webDriver; + int count = 0; + try { + autoMain.initDrive(1); + autoMain.startAuto(username, password); + webDriver = autoMain.getWebDriver(); + //操作日报 + DutyDailyOp ddo = new DutyDailyOp(webDriver); + ddo.openDutyDaily(type); + Thread.sleep(1000); + count = 1; + } catch (Exception e) { + log.error("日报填写任务", e); + } + try { + //日报审核工作 + webDriver = autoMain.getWebDriver(); + DutyDailyCheck dutyDailyCheck = new DutyDailyCheck(webDriver); + dutyDailyCheck.dutyCheckOp(type); + Thread.sleep(1000); + count = 1; + } catch (Exception e) { + count = 0; + log.error("日报审核工作", e); + } finally { + autoMain.closeDrive(); + } + return count; + } + + public int dutyAddLogsTask(int type, String username, String password) { + log.info("开始日志填写任务---------------------"); + //打开浏览器,进入应急指挥中心网站 + int count = 0; + AutoMain autoMain = new AutoMain(); + WebDriver webDriver; + try { + autoMain.initDrive(1); + autoMain.startAuto(username, password); + //操作日志 + webDriver = autoMain.getWebDriver(); + DutyLogIOp dlo = new DutyLogIOp(webDriver); + dlo.openDutyLog(type); + count = 1; + } catch (Exception e) { + count = 0; + log.error("操作日志任务", e); + } finally { + autoMain.closeDrive(); + } + return count; + } + + public int changeTodayPersonaTask(int type, String username, String password) throws IOException { + log.info("开始日志填写任务---------------------"); + //打开浏览器,进入应急指挥中心网站 + int count = 0; + AutoMain autoMain = new AutoMain(); + WebDriver webDriver; + FileInputStream excelFile = null; + Workbook workbook = null; + try { + autoMain.initDrive(1); + autoMain.startAuto(username, password); + //操作日志 + webDriver = autoMain.getWebDriver(); + //获取账号姓名 和 账号名 + WebElement personNameEle = webDriver.findElement(By.xpath("//*[@id='pane-1']/div/div[3]/div/div/div[3" + + "]/table/tbody/tr[2]/td[2]/div/div/p[1]")); + String personName = personNameEle.getText(); + log.info("今日值班人员:" + personName); + WebElement accountEle = webDriver.findElement(By.xpath("//*[@id='pane-1']/div/div[3]/div/div/div[3" + + "]/table/tbody/tr[2]/td[2]/div/div/p[2]")); + String account = accountEle.getText(); + log.info("今日值班人员账号:" + account); + excelFile = new FileInputStream("E:\\bns\\config\\zhibanaccount.xlsx"); + workbook = new XSSFWorkbook(excelFile); + Sheet datatypeSheet = workbook.getSheetAt(0); + for (Row row : datatypeSheet) { + String value = ""; + for (Cell cell : row) { + value += cell.getStringCellValue() + "]]]"; + } + value = value.substring(0, value.length() - 3); + if (value.contains(account)) { + System.out.println("今天:" + value); + AutoUtils.write("E:\\bns\\config\\今日值班账号.txt", "今日账号:" + value.split("]]]")[1] + ";密码:" + value.split( + "]]]")[2]); + break; + } + } + excelFile.close(); + count = 1; + } catch (Exception e) { + log.error("操作日志任务", e); + } finally { + autoMain.closeDrive(); + } + return count; + } + + + /** + * 交接班任务 + * + * @param classes 班次,,1早班 2晚班 + */ + public int dutyChangeTask1(int classes, String userName, String password) { + // 先交班 1 在接班 2 + //先走class1 在走class2 + log.info("开始交班任务---------------------"); + AutoMain autoMain = new AutoMain(); + int count = 0; + WebDriver webDriver; + try { + //打开浏览器,进入应急指挥中心网站 + autoMain.initDrive(2); + autoMain.startAuto(userName, password); + webDriver = autoMain.getWebDriver(); + + DutyChangeShifts dutyChangeShifts = new DutyChangeShifts(webDriver); + if (classes == 2) { + dutyChangeShifts.openChangeShifts(); + dutyChangeShifts.dutychangeOper(1, 2); + } else { + dutyChangeShifts.changeDay(); + } + Thread.sleep(1000); + + //关闭浏览器 + autoMain.closeDrive(); + count = 1; + } catch (Exception e) { + count = 0; + log.error("交接班任务:" + e); + } finally { + autoMain.closeDrive(); + } + return count; + } + + public int dutyChangeTask2(int classes, String userName, String password) { + log.info("开始接班任务---------------------"); + AutoMain autoMain = new AutoMain(); + WebDriver webDriver; + int count = 0; + try { + //打开浏览器,进入应急指挥中心网站 + autoMain.initDrive(2); + autoMain.startAuto(userName, password); + webDriver = autoMain.getWebDriver(); + + DutyChangeShifts dutyChangeShifts = new DutyChangeShifts(webDriver); + //进行接班工作 + dutyChangeShifts.openChangeShifts(); + dutyChangeShifts.dutychangeOper(classes, 2); + + //关闭浏览器 + autoMain.closeDrive(); + count = 1; + } catch (Exception e) { + count = 0; + log.error("交接班任务:" + e); + } finally { + autoMain.closeDrive(); + } + return count; + } + + /** + * 签退任务 + * + * @param classes 班次,,1早班 2晚班 + */ + public int dutySignOutTask(int classes, String userName, String pass) { + log.info("开始签退任务---------------------"); + AutoMain autoMain = new AutoMain(); + int count = 0; + try { + //打开浏览器,进入应急指挥中心网站 + autoMain.initDrive(2); + autoMain.startAuto(userName, pass); + WebDriver webDriver = autoMain.getWebDriver(); + + DutyClock dutyClock = new DutyClock(webDriver); + if (classes == 1) { + dutyClock.changeDay(); + } else { + dutyClock.dutyClockOper(1, 2); + } + //关闭浏览器 + autoMain.closeDrive(); + count = 1; + } catch (Exception e) { + count = 0; + log.error("签退任务", e); + } finally { + autoMain.closeDrive(); + } + return count; + } + + /** + * 定时获取基础数据 + */ + public int getYuJingData(int classes, String username, String password) { + AutoMain autoMain = new AutoMain(); + WebDriver webDriver; + int count = 0; + try { + autoMain.initDrive(2); + log.info("初始化驱动成功"); + autoMain.startYuJingAuto(username, password); + log.info("startYuJingAuto成功"); + //获取基础数据 + webDriver = autoMain.getWebDriver(); + GetBasicData gbd = new GetBasicData(webDriver); + log.info("获取天气预警值启动----"); + gbd.getYuJingBasicData(classes); + count = 1; + } catch (Exception e) { + count = 0; + log.error("获取基础数据任务", e); + } finally { + autoMain.closeDrive(); + } + return count; + } + + /** + * 预警行动 + * + * @param classes + * @return + */ + public int getYuJingActionData(int classes, String username, String password) { + AutoMain autoMain = new AutoMain(); + WebDriver webDriver; + int count = 0; + try { + autoMain.initDrive(2); + log.info("初始化驱动成功"); + autoMain.startYuJingActionAuto(username, password); + log.info("startYuJingAuto成功"); + //获取基础数据 + webDriver = autoMain.getWebDriver(); + GetBasicData gbd = new GetBasicData(webDriver); + log.info("获取天气预警值启动----"); + gbd.getYuJingActionBasicData(classes); + count = 1; + } catch (Exception e) { + count = 0; + log.error("获取基础数据任务", e); + } finally { + autoMain.closeDrive(); + } + return count; + } + + public int getCaoLianData(int classes, String username, String password) { + AutoMain autoMain = new AutoMain(); + WebDriver webDriver; + int count = 0; + try { + autoMain.initDrive(2); + autoMain.startCaoLianAuto(username, password); + //获取基础数据 + webDriver = autoMain.getWebDriver(); + GetBasicData gbd = new GetBasicData(webDriver); + gbd.getCaoLianBasicData(classes); + count = 1; + } catch (Exception e) { + count = 0; + log.error("获取基础操练数据任务", e); + } finally { + autoMain.closeDrive(); + } + return count; + } + + + public static void main(String[] args) { + try { + String accountContent = GetBasicData.resolveGarbledCode("E:\\bns2\\config\\值班账号.txt"); + String content = GetBasicData.resolveGarbledCode("E:\\bns2\\config\\值班账号.txt"); + String todayContent = GetBasicData.resolveGarbledCode("E:\\bns2\\config\\今日值班账号.txt"); + String yesterdayContent = GetBasicData.resolveGarbledCode("E:\\bns2\\config\\昨日值班账号.txt"); + + String emergencyPerson = content.toString().split(";")[0].split(":")[1]; + String emergencyPersonPassword = content.toString().split(";")[1].split(":")[1]; + //今日签到值班人员 + String todaySignInPerson = todayContent.toString().split(";")[0].split(":")[1]; + String todaySignInPersonPassword = todayContent.toString().split(";")[1].split(":")[1]; + //昨日签退人员 + String yesterdaySignOutPerson = yesterdayContent.toString().split(";")[0].split(":")[1]; + String yesterdaySignOutPersonPassword = yesterdayContent.toString().split(";")[1].split(":")[1]; + System.out.println(emergencyPerson); + System.out.println(emergencyPersonPassword); + System.out.println(todaySignInPerson); + System.out.println(todaySignInPersonPassword); + System.out.println(yesterdaySignOutPerson); + System.out.println(yesterdaySignOutPersonPassword); + String[] accountArray = accountContent.split("--账号--:"); + String personName = "张天强"; + String personAccount = "ztq"; + FileInputStream excelFile = new FileInputStream("E:\\bns2\\config\\zhibanaccount.xlsx"); + Workbook workbook = new XSSFWorkbook(excelFile); + Sheet datatypeSheet = workbook.getSheetAt(0); + for (Row row : datatypeSheet) { + String value = ""; + for (Cell cell : row) { + value += cell.getStringCellValue() + "]]]"; + } + value = value.substring(0, value.length() - 3); + System.out.println(value); + if (value.indexOf(personName) != -1) { + System.out.println("今天:" + value); + AutoUtils.write("E:\\bns2\\config\\今日值班账号.txt", "今日账号:" + value.split("]]]")[1] + ";密码:" + value.split( + "]]]")[2]); + break; + } + } + + //TODO 昨日的账号在今日的签退任务完成后,拿取今天的打卡人员数据放入昨日值班账号txt即可 + + } catch (IOException e) { + e.printStackTrace(); + } + + } + + public static String read(String filename) { + String line; + StringBuilder content = new StringBuilder(); + try { + BufferedReader reader = new BufferedReader(new FileReader(filename)); + while ((line = reader.readLine()) != null) { + content.append(line).append("\n"); + } + reader.close(); + } catch (IOException e) { + System.out.println("An error occurred while reading the text file."); + e.printStackTrace(); + } + return content.toString(); + } + + public int addExercisePlan(String type, String company, int code, String userName, String pass) { + AutoMain autoMain = new AutoMain(); + WebDriver webDriver; + int count = 0; + try { + autoMain.initDrive(2); + autoMain.startAddExercisePlan(userName, pass); + //获取基础数据 + webDriver = autoMain.getWebDriver(); + GetBasicData gbd = new GetBasicData(webDriver); + gbd.addExercisePlan(type, company, code); + count = 1; + } catch (Exception e) { + count = 0; + log.error("获取基础操练数据任务", e); + } finally { + autoMain.closeDrive(); + } + return count; + } +} diff --git a/src/main/resources/META-INF/MANIFEST.MF b/src/main/resources/META-INF/MANIFEST.MF new file mode 100644 index 0000000..1d285bc --- /dev/null +++ b/src/main/resources/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: com.bonus.autoweb.TestMain + diff --git a/src/main/resources/lib/freetts.jar b/src/main/resources/lib/freetts.jar new file mode 100644 index 0000000000000000000000000000000000000000..9c17194762aa5362e627cd9bbe0dc60041207815 GIT binary patch literal 208668 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 z z=isC~yiKH=_)rJ1H=PI@Q$~Zf3^dwum(Fb}A-Z6cSlAq4Kc=KP*cu~}jKF*cYtoi@ zvAnqol5^L17b(vxAyYX<3?w6fE-QFVoP zYXn`9)C%adwXGZ}ktZ4E!cyeoE^35Dq#=f9@dT4Yj-fE}1&3D2Pb*dtwZu^W$#@f0 zZCO{*Rm{xHE9>$d!F&l$1FG($)asRF;Yuw`(e$g|u2i8eC=5dpV~8oig+rMrsQZMW zrS6h=u_Y6V-K92Ni?-3#>xV`ooi*;=LBh$Ol$WVTnD=V>)Q{PyvL73P#hg6KgUVRDK4#1SWz{k5Jt&lN*t}jxh~zxm_)gT5M7fCfn=s| zQ4oY!+aFDLSYObX=}0tLwKLcfJGAGmJ)?o>^rZo#F&$U?gf@iuEBzfnchE>{8WRkG ze|V}{szqsZ1FbRMDLF;c>D#Khh~C#onKZkWNSKI?!r3HpPSYCTU86G;$TM{aU8oaY z>MZXfnHt50|0d~i|I{gq71aShN>2=zS_gQ(iyUy-7jT=FW zdQlvt%tpIItK(#_+&iic#Le8$=@ohsI+Zlh5`eZMk2+X^K{Z9#=#_kC zTH|yBc3qq(qSLr5XktCO;GHo&)E@7|pPYlqDGSzq;;bp*dTh4*&Bw3m!^A&rn=~n3 zbi{qas2F7PV>uLOtQv9BG+gv;7h=f_L1IBn-ro$$2iv1P?4mFGoF&-Y$6t0zUXoki zxgB269e}jPhoT2&&7&}7UqF*O95@{e-KR8K5Eid6$#`PlV7kn&l8vVM4v(|~>FswI z{ea3^Tq9EUgg}Q(11H(Ad(=$mzRnM!eLr{QdQ1^cP*Ar+W)z4r@lV1!;Ympu)GS(5pcW(pz&0?3 z))b%fF%CeV@@o1n|2uX@O8{g|VB~j%?(n;TM(T9oQtg2s1C74YX!193o$n5H{MS$S z*Svtsl23*umn5R#BmK!VrO*94Uhg;d^2Ls|zd?Sm%dZ4U2+X-CuXqLRc1|3&=C8+D z&^;Pb>%Dt1cVQo=+66ns)RM z;`gVpzy&-s>kbRQDVGzLSuMyF-BGa~0j$i#xr43M!?MqZ_}!Le__Mf7(@h#ux60?oDGBBdE;U;XFb-PeA6^vJ?&ElwE9Q(etxFb^^`9xa zQl~X)btLaJDvfs8#8XZHeuS_!E15vBfURSn@cru@;~$wyUdUg8dVf-B-+w-KNd9J{ z`;%EyR#y6t9WDhEQeS!GspmE8qc1BD1PEJwuz?@Q09b;bA2JOgP&mn70s_pd-qoBxgQT;YVb$#Q$_^y2<&I2KfG_WyQRnRYSqx)a&E*>w0GaD0Mpod;83L?u+{xG; zd}-lca9g?TXSM0Mw(=6OOLe=tiL zc?W2*b|*h=u)h2cxLLY$-v3;bM)0}z6&pdip>JIEac&lF#b|=?ogR>FAsp%Hzbit2 zTe$PVyIHnJz3*UM8%V;NzYzR}gneh-t~wB!-sFV^U(dultq^0`p2G)c@lJjpWAV;@ z55oG2miSR{Ksd@hJ(INkk)2i6?va^g*8U30-e>$_reQE=@j@N?kty@RPW6RG*kE4EA05WHPj#Oo-ft8keD*6FPj3Lth1mPOdkVpU#o2yRnGi@9KG{JoR_8B1yt^XSS zd9*Nw5Z^!+)3)!81n!s8CgQCqQAx0dWO@miX+?-eXX4xHDq3&?rennkYV-1LBP+%) zw!$wsL$?IJ^Ef&I`AM^8!gWhh@DSLq`~{TD4f9~F9_)~Dpl41zeBFsmheWw2BG2z!lBo<%#u{(R@mZ{tSc(~fq-5T0J)w6u%3QE!4; z>AuNqR#ge**JF}vnsZkPF_M9mT7Amcn}MPWfBAp_5?B_1@uI= zhhQ=0E1Rcav3el7#3$uVyh|@wewoa#h{T&jMv<7f)+d)6R}WoaK@)xvq&e}IO9{o+ z>faJ!NMxg;@eS3^?wlr}1iRK6T>U00Hd!A2qtWZ^iSR5WA1A{^$M?l*nB?NsAz%8- z5MJDcUo)W-%gY9Hi7?DeSnB*pt@Nu)S&lz|);+s@nZ^(Ao0=Xh(!AIufK|JC1oZr2 zt4XB3G)!b0xpRd~5jN5rhhQ>Ge>CEH4(T+1meXu427C%Ad3Kocq;YW%Tju$`eUzG{-8T zBuP-k$RShYz=687$H-m21NBx26Vva51JBnB6Z3e)xKg`|HQ-Hc9SxfjpXU02)g_O;WyJ;C zHwfk=Cs_~_gvSsvCs59@S7>sZa_GVnO<~C+C9HVqjJ4a>o4{+rh7*a`w6phI#{J0} zXp8$D>PHSaK9I%L8zQFs5f=Mx{I)`FeCbT2hkg6o^ghJyh&#wR`-k7f3ms1c!$a_6 zmSI3Y!RF0DpYlgr?9CB4SNEu)UrfhmTrB>f-vvwxmv1os7K4SL-aR?{HEZ%Vijf8Cdu?zvE&bo6#keIVO03Hdat2n3QsC^ZY8afqp4TH~1 zaR*e4+qb_r5wrB=ARP`@H$471Q5@=Nwan6kN0F|Z8OQRGC`QtRlqgd^g!yZ_m+MLP zBwhjq+3iD zplt=5+cFT*G;TC?kv>w|B%hld1=5`o?it)j;c)d96)Ba{)S|$9@O!a`B^%J9KhgEH z&mg5a*e(fW1?>TNY{qA!*NVIDII61Hcdcd zLLU};MuS^Y7Brlai%zmpplwq=6Xx+GVWO^*kXb$x`Bm$F_qY{pIw`s{c7U$io0yk# zSgY_hQ&q?3fUJh^M7aj(ok?W{xjRx{8V_HlYI}AXG$r9UYAR&0n>d!lB%Ac=P(%LK zjEZ_BGBH*{VPe00Sw#{?gCZSz`tKB&RUbmOn{c_5jBA#8 zmS|mSb=f4T;^d6f33_{^w+H`Pc1HFOo7x=K4v0V1w&yt?Dv$$%MLw68#NA>g#ao# zD2^Q1grYxh-SAK&6u3TscZt5)e=m%fe^FJ#+dhMRq%L|)DcHJcVIetq4S|9Bf``>m z))fChk_qcu%4RT%qWU(6e5LsiLh@Rw;H>e>b)fqToAcn3a4X1P`h_0kz8T%-S>tynRk96R?tSH84C&;;2;bAkW z;i3>J<{r9I9mPbYC!arv00-8Y4hF8##Uy=h$mO@O-sqxW8$0AZi=dBqP+~NMgUefR1^#_sG~{Yve4f!k9$Vf7ZhSH<{MBdZfsW!d7L%jh@=Fi=ov&J$>KO!i}>z zXa^cZwa$_ZbJ}!`ncR1orFof|w$i%Vwz9yw@6?TxzNXMrdO*VT$$af|0UpMw5p^@y z&K%3Pz_XFejsW4}Uc{oE8S-(~*Zx3CDilYnMXV512~9dYK<5LmGgLw10zdQgtO$64 zU6^iQ_gtYhMc}+-EE`-aB18sa;Owyq9;Bf0LQI?(LC^nnN|LewIw(cQS$>|&*?r&G z(}((;dEA4WrFrpXew(t3A?>hQ&pvSk**HxOTUAgDCF*Lj9bB`{Qsq60?wO3qsBBuy zeYBmS55)t z3Sx}(Co$eUaW>8)%l|6fmYwG|t~pLrb5Q>H9{J=rM6}l4X&ZmTZWQMAebS~HG}w~h zTa1b29G)0-BPU^noy0P8lxu}TjB|>fvwus^D@-GXh5nQipdOr8Ktb<%M;xO#8`z5J z^F`4&zdXh492}S|7lg>$jc6miY9WHi_9&3S=HY?iEy<%ahT7-MS^SRDj_pZ@h}qd=?kePQ}}!x;Wyq*sXR^zXpIW1mH< zzl~JCIdF<~k4R*l;Q+rS&7CoFi=WRPT?h>pTrjA3KI1PH@IY3A-~&gAx!K|7Y{$J2 z9(&^Vsu!7#5TK3$ym|-WK5oJn*jH4U~mO2-BsE-d!=c0gARTyV0{z zKjpi@M~4lb0HS9AI!WqH0Y+Q0KqN`@MUQOL832&C-VGEJxB-(q5<3eim#3xsmqC)r z@}m(f1|5*2G5jrpxpnAVGhtGv;A;wq07IE<^v-v~CkhGE64_c;+x3YoGl4P5z16f&^aMye?)#$>5Wy7j1ylB2q zX~ScOYl1Ial0@>h=b8TQ=OkH?F?KUZbQGT45n^H$-|P$Bo3BMC1n3Lli|@W6e}TRw ziV@#URR!Ve);P5%_BoN)>p-W%rhXPwNn+YNZJyco1CP$TXr7Vaf2szV-i5>R`?YO4 z^wO|qZ#GFswpan6UWA^gqb<$m0O_$&V%&;8B;Brk&z9yoKLATVlm`*_EU6(z+D+6m zC;HI`kQQ*)v7!^LW|LmqbD$rVn?^*1IvHwF_@n%Sa%g`Z6y-)Ye2& z+T+k78B?dymX&pw{_)GN_#20f^qiLlVh}yFFbkP31CPZjtBItDt%=1XH5h)K_iA5t z4}ux)5}0%`Lg#LmP)-s>|GlNP2bKq*6aO@QE{!wm#!(Mrm$GNmEQJzncx7p7<8m$c+W_6iK);3+UA%wa`Dnc}ebx72gDV z>ol<&`5Jp=Rng%4sZ`Ob-<%k3Wou^9II6gd{k_m@bJrYf~oVWpfQrILj*?KPZO1 zkhp|%Lu7?0%!HXA3RTDi3H3TFEkB)14EYWd z`T8-ty-cV8WYw5~-4}v02C)M2CNHXrKEKto!mi~LwbG{fsaa*$^yZ@Km%7rX_32r~xAn8n_(`wztxo+@t;RQK z#jD1*XvIyvXYMK~*2vx`#WA}X#~3h}k?YJ9BS33>>AgQjs{m&%$nt|LJMe6%LK&@g zFiIa*7sl*>v>uQ?#C993#~t(W;KUwL7f|gm<<{l{Y&%?S0InPBdcbO*v72qk5^szr z!w>gk*wn%de*@`#N0NEWx%DQr*7v-WW~jv=fe-LZKF?o987_BHr7S3$&mI|NUcocD z2O(N1u*4iu6P?dB-ym(<4D?e%6d3*j^VXDNP)i?YSCYI7cJdb7xe=EE-7YM|oxHlg zs{rmsBE{0Ac~d%G5jKvp{MkS4(VMsJ={yNG+m1D)kLFsor1;bQ=|njHlKlp zeYz)b-vgi($+}Fw?YLeSRnEeq4#MFK%68lpCZAtQVRU@|zw;>bA_U`k@9{ZB1 zTz|Xq1Q1{850d?^M1PpcOY9RDCv-0C+u8nFG?(QK z+^k!nuW)5S9yAUcKV-r0I6QKu=;~ZATRF$sbj>o-*oF^4C4Q<(RMNOKE5O(oPqrbR zaC|KDU~H2%_%YBt!$tTMg!G6Q?(xz*<08FFLwD&K?r~-x`eKA#pq&=O=(R@?R|(g5 z2b{cJNFcWYAME~8L`FC}#YF=-(oVKirCg;1~niO#t~y_eZALheKY6 z=OfHNRs22J!}G8NvfYMz?=G(965@r4r8EErKhUv!U6g6=4>UUz9~CFhzzG2QLa`zO zZh-U!Lv;&Tc?G8+%p<*UE5U)B7bx?>q8&Qd&-y~+4W1W-eY=LT2R~@@;?<6v7v^;* zvL50W4CsvscR+oM(+fp^kaqz40o@%|H!$|Xr2=86Pxyr@b!(>{={IKSjf}pp)eaN4 zkNE;`J?2*!U}uD|H&A!b-oWc-T(V;>;;hQR%km8|3K-5@eA!ctnRQ( z_yVI>PGmzNKoC_h8i9>b^*B=Ttr96yodU-&V;ng~5PgP7uQ>|HAY9Oa&fqyB!7z&g zX)S!=5bOZOE!@zd4ucpk|Bm+nDK66CFrNZ(F7oaWlu_VALK?*ms?A+a8Zj@jB9clH zRVSI!XxP~#F}*+;B92K;nS#}@RFRx2MO2}tIch^PEWIdrSlc9uL!$#uPoXs`WU|IE zp;3rNhUR;B^DPPh> z2-30jgl64%MN=fV$Dg~xRBc?qI=R6KZhYE;7|U?p#!^&taLEB^K%C!YyJ$o(>WV17tS?XkQiAv$b=2NH9_Dt*GbrZi^N%Wq? zhDY-x3G>@6kj#-_UQ#6J=IBmoXE@~nPx$yZX3*WSZ^dp(GgSo16j?-V2Q0MKXLJcm z-0@GzDG{tGnUE2@C^re!ml@6?8KI=f9H6RS4783iN=6d;95WH7O$^iGJrx}#QBPz6 zPQG2vB1Af(#d;^uR=eD*2*yRG#i!cwd)n` z@(oeC6GD$tcn9g+(Al@zL;L9e-ODWORm}x|%D!U$)R!{;ug4(&<>h~!`lqM}IBh8- zd>K!uUQx(OB(YE;Ac-rD1yr)|TVQVnvlP&QaUDq;q#N)n=q{-lPZ0lDO2$^J-R2tV zNW<|jFbM@7!+Y~<2kL6HrjC_9$oKK=vg^Cq+97}6(ChmK+~?t?Du`~2!WiPVrfc*_ zn;~UO=(vb35ILwvio=jP!?Yy;zV8jpD z&9iPdZ#8$k8)&P=w4YR@YO%;Pdt`4j`f}zNby9lX+qTz{_G24QAka|SV_m<36Msi6 z$-9{pAH;AeY$|NE6{R9v>%7ZS1S=-=$Xw3K7A+vnu4O9_8x-5OChGivPOmUd9Vx(Z z%1Ce=Y-j5koK?WIdA=mYSK)EpOQ1TLkyzx)qiR2;MhyLhCej9{y`ac+d-NsR#v}H| zeFrh^Q@~}HlyWldFdtCsiq^|xT}sUK6Rt*@v*i&*&ZQx4rh%l0*Ruk#SxC)V%J$t_ zRd0?lGDL$$Gkug2n%SDnesK`8Ti*al39Xg$4G@iW`qPVDdb?hJNCwudah%Ri5;r&P zQy3Xvv;3$zH09d?ohAEx>c#kXu6@OF(>J2OZ7V*7$Js!r7(dwD2ZZjCKrx7mI(f`R z-3eMu-QGzOrfsHAlv{2b=v(bnK0J`eaeKlecl=T9DD_kFs>`)o_v|orUfzgBBmLqv zGgn%XOXC}MbLAHXC!43s31f7gQF7Y2EHdvc6pSDRk}T%KaD#u^k$QF{yPJ zr9&%=7Un~e-35t*(;e(toCte4R zZ8-r7!gtm~;>7Ghk`w?aDCm79K>(RA3JVfNgO%kk zD2&!d=pg|{#_WKGR`ae|vkHsa92pq9N~f^pZ`j}}V5!xm{@xO~qh(X|dG&k4*R|!_ zX)g;D;*IpR$LqS|EZ6IL!%p|@chh@>Ia}Y)vb`mIluw1xw$Dd|9wkY?!f(~b+Pp96 z@1k=*)Sj|)`pB=!^KX=%x^uh8uiA6`$ghfXy~wYcbKsHUbX4p}nGq3Qy5}VjI)$qw zg#gYpsNlK0^_wFmd@YVJu~!SGw08?6H43c;irh-~%)^UFGm2Uz?Yee>JL!=o6m}|G#qDbM)2>T5LTI72aqxl9ui!lTqp1_85N|rvLFyBy6z|&9 zIaZ?nmivy{*c+#f71c6G@Q9;@f6IbsFSCu!U0^%_gIFr`Hf8LMA;zNCE( z+U@Nb5cdXIT5EfHd`XZ|p2n6qVzvq%1H_{zFfahnH?}C1Nary#N6&A}s8U|@ z=L+VE90=oIaeIOs=s$(K=gS8cw~s|c7JNvMuUz;SV~guX0RR~`BteN4%F5Xal&f+^ zJlz!&SAvOn>fdH3-$uEh=d1cxxcRqmc26K~FNO!_OBNgHBqaM6@pmJQt53oPFWPsK zBe_k`RJV+QEp3qEnobQKB7CLTx7d!AK%)$cCvC5c<+Z-B_3AkLTWNWN?^!GmKXT&l zncT7UW>wVc$Hi=s5SITavzVpvGU%kwk=|hI?`Sf^zd7=v=}m(pIG#;7w=u~yIx1@b zU(;xJRPgHBfu_7t)k0v?Mte}_u$)TyrL0}Yv~u=)929=5s4kndB?F7qrVkmn`GK#- zwUMuv)8Z1vP|UDrGmL;$DQW86p1WnU!kNhQNOc3$i@<82n}HL1BLrRixSsPggse5L z*P6@j%fd6rO;z`;nuU{4d-N7$D|Vo?LyN1T*t9y~PFF3TrB7d4yqZPG7M{!zNrgOq&k;eiJQLb!XMH*Iv$>x(7B}Zh;dEE45C1PBn)NvSr)*{RX zVkPb8p5;_$4v>Ir&~U~MuACRsB`jO?*#Xp0J)v7*kEhG!&lL>^5=;x$#{%79>o$Pt zN#wD^tcS+4@UEqZVDm{*H&&)|5~4f2^Ys?#s$Ycpridh$o;wTfzeOQCv+uIaSuS>G z0(4t9$u}v05In9DDn@7pk*wnkS61qRYkDj_-U~_T*rVDW;G%Ah-f6#J_~K6-l_8BP zCsFAofH?*r;oGgy_{O;%VE9P#!V+jw#nG0TCLz1d{YSbk6r%7C-hHAOhvEqFwX}1k^##FAme57+7l@T*jLprUBVCo5PQWG*4|Hpq9n<*|1-Yh( zBnKA)+S>sLt)2$WpY_#CsX!k(@?9LbvJnDyEHo^cty@;IK({rF238lp?3>qurl8Z5 z94K3_Z38|vMwuuRfI)9h%vbn}$QE=Q&smUY*Hh z{{7+7ge}L}hq{NXGe0JT#y26S@xk)r=!jn9!vt?M__z8at7m9MBeZn0o@gQxc$0P1 z^CS@Py4;-lWA`-7KwtiyOyk2P+KtIHnV&PazwNJP`#7)AET@qU1vo*md@Y+c5iBPZ z-QQAV#ZBj1ho*Zd>|Uys@-DrzdAas)hvv#g8()KC?=-%#eMFD+gSIgp)0iAgYeT)d zx+vo@7NtkLg}(rZ5mmsu(jaISck3D}kVCn6p3D$ITXyo~&~Jye1Cv9vJA!UlIw3`^ z$kQHqP*2QDvOUMhTY^VAVJ6Q@8wy2rpd_(+Qo9bb*F`DNQbhD1M?CJuelMW)%)Zll z2K_FIW924dF=?5_%tK_sP-6fq*RYhMyc{ICh7vT+dDOL9!#H}~@clVGe)*G49oWO}b z#UN*UO-t%6t?}^qeney&Y6mGI^K6kzGE;Tvp3=sg`;Et!%lh|NZmow$?`Si$3< z!)F**pG`e&8cf6~=7NI=0S3ettCs*YRq*3zKuU8ky!Q{?FPV6JD|Wk>92yevs=)IFdZPTPQlln=l8ynv*ynWE&^hgaaW$&|wyJ@0M?TX{(yn4>xF(kF1 zy}l68YZ45eO_rYa%R{BZ1k7l+a~$938- z^SDA-GSBtoao<2-b%nlxd`4#30c@nvY_+aX!WsC7@M4=xewYRN=uSGOvLLGe!t!Aj zpebI4f4C^?6)7CnknwdvAvx=X(aRen(hNb=&vOUjfz4@(4LZ6!z=9KVy=CPb>P*tSm?`Y3o<)1uQ{4;qqYAs~ z*DaEdZex9Mzd# z6TXU7Vkq@!YGhm)C^>?FmL+%d9WoCE^K9iNfU2@3aR0LP4Q)PA5dgAgp_{I zH_IY=y)n%6b4a^1g;w+$odRP0a7xE&O=4w+&|h_>vco79P52>X1jq)ff z4IbylQ!&$r*5~x&VKzi+Um9u=^tKt=p()B7E5u>VcDoMz_jyRSPrC-6t4*;BOa4xN zKqNnVTJB;m=CDp)DSf~hSG5o3Z=)HPI9H@T=fPcCdf=FCN68i}>#7ae%F(tY$-puA z6_g40L3x>mXmU7Etx!i^4$MjNP82a+u)Q7})Am3?`Je8ckz|W22ydFS$-f#yEq_~l zX9>;$3W_f{JfiZ032)?~hMaj7YU|Y$+8~sN$2Ff66tOKs3^rQg|2RySvH z|CUWwH*0bKnoXAGmDz0~sO8fCyo`a-r&PtDZ!zqpnHI&vP5*q=ZCqX|JX#`Di=Tac z@di^aO5Y4TPi+P?FNF^-PsJ~`ikAa038D_xkEH*K@Z|{A0|_VW4A6vrAP!!zoK}uR zpTF>^Q(2f+5$fv?{f%&a4^{Xk#*(BfV*H&RTlO8O=m%8tg>v_ab@=8od`CDugze1s z8Qpn)79OED|N1B;JXME4*;h*O8G87rCAoBi@M<@hZZ{y|7iawiK7QvK;Al5N`5R5H z18hfH?jweoItuD)7OC&ZESHAJoO>&2!lD=Zn) zGN+e?iWczwR|f#vGC@!6b$UjcC6FbUB`PLQ=A=7J2#0VBPi(293SCRE{AunA`D&nM zF~UUYr8BX2=_0%HA)-fPWG5nvU<*su<{CkfT=}k)6(iW1N74fn`PtMlkey?JG@WA= z|5;esHSG-(xRfARFnX@BBuXc<8$%mxdf}jsV<9BfJ0Xgu-8dH*1jdsLt{JdpThKh`6(kt? zu7J5&4H)nf5N?IbP}axnRzu|W@bJZIoau{G$+;HtIhf~5q*Jk)NMmt{oy~Yc=oCAn zdT`PWT5Uq@=68mU*`UPPG5|dY`k$qDIHgp&a!KvvW%X3%%@MA>T00(=hq$5iK(?`K%GN=H&rK!*R{aV2a%dR2-5<9ssG4s1zhtl%NBB zLE1rVs1w^RmkkJeE|-eN`8ORz$>Y5X!lx743d^Q+3|f)XsfJA@!`62hw2@j;9V>RN z$qrQ}t20cxHTHK38uIKffPUCu+ODKev6PZg!ySUIt5OfGXa>iVb!sECo`hTe$k<|f z%%y%n&7FS4{`}0?bv+61mSTSFCi4_U);V!i+Sp|kg135HsV&aDWsB($HL{G-6g|O6 zoe&fYJr+eV6YtGm z(Cm$~RS$}7t<>fNv$d`%7lhtf#)3c<_^9MxVDMp5&IYxEO0h0`^KoWY_p5Aath}e} zG)cFG_4TCRQ4LXjcZIb$#wFBqUCSX%0llfD`oaHI$&dQ>W~1VZE^6oJRxT}0#qTJW zLV6xaHN4PMps-a@U3o~k$t%q*-1t5}IlD$wXuzsPC6vMnpQNKgSaUgiIXeHD(DMl3 zC}_nXRI;Y(cp9YVzU<^*Q@Jk1ZL)jr`io3+_);E9kta+}AS#W?$Fv_O##KU$wof$c zR;K91x{zpBnzS30@))V{MN#;UJl>98h^hmp;uxy(v?~6(R+Os)Y~+F~bAWvwr#E5q zC8;^wuJFX0IcF%ZkYP{I$D5k;b;%iXPj>B&tux^!KkG%dGw7z!CVg+}_q=Uy8t>GW zMY`L(lQ%x@@%x3z7fjD6{5EC=YnMQ?nN=-&DI3pYEW%qnr=at4;Wy zXASo%z5#us^!My9s9$7#1K=-i-tl{I2E4Qwr$(Com6bw zNyWBp+qRR6?U&pAb$|EuczwtFamM+*&)#RRwdUM&&M!&+l}iNuua)BcpXiaE{&t*Q z<{9HW%!ju!klw5Vj=grsTXvlzW!hvO zjc|b-bKOEWs+F^TiSWUo6;98K6lX95nYiv=!o;uJL^ol^P&&LG1i2;3Q#aXcGR1x= zr+?vgZ~aCy%s;Q2klVK=f;#wP|3GE>z!$CkKvyJ3U8Jxyz8wrCQIMmvF= zVU`b^Y^`%B8=BYe$yH;9)*gZ3r6e}!_icPdf2cZKtsQ(uNL?nW0gE=z#T(`oY4vG%@& z$L!#vW-_*sX93K9URKccV@#}q@J>5~YDcuZOqg}^FYt;ii@ z&#Ur%Tp@!mMn5XcM2s~Uv@|YWSu>%Z06EFD&+x96Mt2w!B9WW_*;X7aDOiOllG|;2 zj+VXSl*Q$^A!axk9??CR6a%J1gtS@4u;)f40P^Kk0XIB=Sbb*K2KTlI_qI9cOt5MP z461V+dIh{3%fwFbDX=Ou(FtwMfqhtS80aT zR$;BBq4Tgi-#BN?u2Ta+uMW`0m!HrSm1-Sstk4OtNDE2fnAo1f;p;a$s*U*k#uk^%}1;UHe?;gmMjv0B{+& zM|Mki+3x`IzxT7;kFvNPdJWpDa`8BS@m;!ucSLn3oym|qP{N(Bq$YfXdZCDw%#S{EFKHW4L;KF5QZm+)P9*%H7K zm|Z3j^A%!&FrvwdFl4+EHn6fk_1Mcn1H~p8sb_~Y1}aROBnDAFjr6uMXneP$Un#!L z@btzM>HGsmsnD)jIMDHKuzs5KC^Tz)r1kt%^n<;K6ZdT>1? zuO<*`4yGlR0a^(Tim%vk|CyY%s1dU$>En+rEqh{TFJNPpe&bh?XDoxhQdVJ2# ztK9e;ByK6v(3o`QJwqQ6S9v2TeFilc%l*JIsb0b#rUxBLn=2wWpJD$^m;5D%4lO~g z42JpkZRX4V2LB(9lcSN!fkL9y__d!6lC%Qubu(&F`METf**OAwJ=ZvN$zM1Y5DM*Ra)~D|Aap^mm$XO zeRRC{!g;_PK9wBpbM5bjCvZiHKDiRW`IYYxEplb>mXE|UFvb7mhAy*>2KKAOCZ}I# zXNmlp1?(4AZ#>v9v>rrP@!+kqD{$bWvfo8Y(+psfGtX+k-i%inzKJjQB*0}boHpB_ zz%-?I$uRAf+o&5JO4;{ma8+klL2x#h%}P~ob-qoCp+y2u5)d}frSw>H%Fd|^>B9x| zW<3dwhJ{r|c-ht%$4%viG7>I}we~H(NjZcLpu+U=lWHgHKHJl=Q8bfkUeFr`hL8^= zwVF_X^JqRJ7vh^UcY9^!Z5fU9;hoDVbu3anZSu^~2{g(q?$WSJi4u&=gbvy{BS`aA zd9yOYt)|7%O40IjV&c^#F@QS<@=C(5HbL)7k^vShHTa5CU);_zi=1E)*UZE@ji|ks zkP|BtVrC+BcjOZ%sxgNZMfZ($j6BXQ?6{5C_hmpsmjoUMoumu&7t@#@Y4@B?tJgE&xY!**Q zOi%JlO@T?Y&mHtb6@u(yz|uGvh?n!4;DgAdtl15W#lpt+@KjCq`!_BJuf+=M_jQVe zMr2w_@bq;9B*W9h1LI4@1p+ut{Yj1wU$pZV+t03<6>;BOT#n!P7En8K!C0qcN znnzNiBC5cK0OiMrV3hFPy#v?oZIUsAn1$|kUwWK!*I9k%#m75sGiHk?h8KT>wxecj zZH~569E=Xma*SAs5*((OX3<62YP~?G${wNmg;J2;&XX`+vYO4zh3~H+G4dy>lw;ci zhZ1eHEL3+&r%G6RQUC5qEAz(!Nt+VMEEgf9_xHsZU50q63W);bj!6^R*fC;8C`{pN z^R(tT3F5M#tc{=^a@FwKn1e= zDXU(=#C(}#hF@12E996Y0_*wWVv8bs1kcdd7n9sdkoZ$4d5e6L-Gyylku8{ zNNRuDWS6~KP;x!m6nR6nXf(r|AQ~1x-5m(v4vL086~|YLxx8qs1#I?oVa!(mtOu#^ z--h~0uEdZ{^g2Sd?*gwXL%le^rD7n_4UnJ~J`w*GnC@4Jfe{-<5$MGaO_3iVOnKnO z;UQ8gRFsIsYa~b?se5Cjg|`3W0w+Hf6f>V@?;|LM;ZIRKu*1ojyG9qIZgTTZznEa> z={t`ogh7KWX({)u3e@UYqKJwARVt$>dnZTTQ*b7YB%rZf)TsVWfALG z4z|S6KNQP0kBlxX8Q6(QPUXHejR+hvMAOR5wk9aTXZm{FNgBiW-~{`5-Bzx?Z~Wm8 z<|3$)gR6~lDhRW==0fv;m#XA+s4CwaDP+xZ4Z59zu+(Kl*UTxHKsuBYJ6VO^ei~iE zyt%}JUg7k7GwX(tmHO;NuIvROW$TXb+v@jZgN(&9dbWJ)m)#qz``0;fTI1#$H!)4y z@y|K-#FFoXfh!(1P%Yn$nk-&z&_)~dh3Xx^GJtfA>Ml#F46Bh=6(h(58WXowY}`SR z9oel0WdkHBj@pb`N|$RJOlp%dLF+jdqTB-&s{N!JXWd8vFn7=jisx|?5duSg_lC<5Ld*I4&7urP? zU0WcazJX&eH6zcWZ++L9(^h0=KIa|4E5&l@>vAUndNWVJfjC8&?U}}3SLG$r-o6GJ zZ#$=uK4L{q#7=*ztH#j#rIZ7@_f%K@z0Qs_N|2D7cNDuaYOuz10E2U5o79)V3e~A0 zC>qHlal6h_vr1@I=>`4QD=R#iY{Ntwrzu0GE_8(hoEv}Nv0uTxuth3G>A(jVP~_SU z1!~>=4+C~^O}bpCdKd>GvfIa`NN?8cXQ}mbt z;!LVK%KnV>)DBri?-?Xy4juz0Jy^K?KA&*1dnC+T`InW0kX@+RDoT3Sjxr&i%1RdseoM7=EN@Y%dmQLvj)jVk z6mObR{a@^IQm=T%^8V&aM;u^!G1w=|k*f=wp1ilxf@|rROfcxUIRu87h&xY8=1r;W zS^_p*Kju$LCEe?$iXBas)Lq!p2Z4n60Rs9GhBlJn&34U&d19Msgm<27d zflGMpaI5RFyx;tqx8=fxPpI*WUS!*90P+xiY*eezH6?u-Cbio0aTr7)Osa6SD>MCj7%5{j*;%{eS)OJK0Ti;d7F7A$ndsmzxnmTFqENcZT(0NV(Sop#Qhbw>1u z;=oafWU55LzqQ~7M(BZyM)g>=3U@RsX<}Hpi5ct~u+4xysBv_WdfpRYQ<73Bth%L1 z?&qFhGF=e;&+48s&Y?6omz%c9+ob0a@21wOhf*i8$?8%+aL61m=+iCZQxmR0J!AQ_ z1X{kHN|?FMY|&K8{rbb2uE^MEA<1OD7D=c)lvn4h?+os6Zqa`+JmH!(2hNBubcAAy zf()7Sj^{9IkdJ*Xr!KZ4G^&|SzsN0s(bN`Pb+pK7Q>N5Z>DWTOyGWOn@tmI_H5x41 zBFvzBr)pzE|EL^ipCM8LFv2H;wiM5-F!Q+!QEv@P58m((6ri?iZw=4^KJCNa?Tf0h z(UhB9=OyG_-9cuivqyqa^QD^&^*2N<934p^E29&U&gqdU=#lB8XTvGmhrxW4BqHwF zQn83lB=T-@-r+wPJg9|J5rel*L}?sVBOP}C6RXWh;N_}0>ni^uM06yyz88UP1r9Vm z+hug296u{4AdMGQM@tg6ZO(BPrPpq4?7RfkSYQdtEIu2fsoDsnqmjg>IqK=Ac6in< z-k6MOv9M5UCfcS^xf(pGggmAsQfFRpo~EGSWWG2U`Gb>>BMV5{vVEiQRaAYRv)q4U zU}WKH%s9XZy7a&u>;M*K7;A=F#fg3r#_;ts&pt>F9R6l~T5P zZRWjlI!@h9YaQlNyey%ig(On9?$y@{@w7r)aj$v!%{(;bGEI*zI!cJ}o5X&;&PE)#X0_mEHMlEmit zHF4Os*Y)oy=C7f+A!Ksm^lK;%`!aSS`{yY}z{c9q$lB52UzSb@&oan-C_`NWm(HT_QLPTe;nGJ&@Ib7l|Tx2kzkqBwN#hiLlFRO_bcA4KWxUJS2? zx09JX-rgTTwBamr^?K|9sibMNID8a}_{IbF(jm_XKL}hyMC1alStEpMT8Ms(@oPZh zBlem@$e{NIYu4e!Yrq(sM99ff6&0%!PcpFGPw%fcQZcD9uk1LN%8rtt69A?x8m&=I z6m6AgP9GG&bUZzid%Ex&{IlC~BkwaPc7x-#cN>Fg7a z5+diIHsOB;X|x^Z*`@oldYsnfQw2 zT#5L=b3G6ecgN0&)HU0=YQT=VL5I!I7vFj;w>AJ64}m~&%t<$8!9)W+KbD;)>sR1Z zs1DK#iUJc0uCCl>V+Q#EO>EqCm`-N~rHNI%g4%%6CLEY{k$QmXV@V+oS~QnydWd!% zEPQTk)|wf@lu|uMT-nrh`$3K9!mUA%lD)I+)B(U;5=?gA+YF`}qGn5^xd~>sg(40r zaqVLhTL6EQ%Yec@#Gw#LH7rYwV9v;HRiqVk5yR4Al)96>%wHti;-j5$k83i!hvT00 z=?rD44s~EW&+K^w{wT$KB8PvBu?)^Ogdfqa--hGz%Kt8ofxm>;@e`PuTgvrkM;`JP zVoC+VVs`z!~k4h)sMeXgF<$J4oxMRT4Ht^oESTVcV^h42`I{ z&GOinkUC|@S0z{mLbU9|A>gqS-#*AxJx@ho z2fe5GjxnhD%xnTy(+;@n9*atc(_R*k(ax*T-i%6fVMnf(S~$vtfS1Z)t2Sk&q9=S=;F)S2o-yb<66gi- zdS#YeCWR&Ffn#WiC9Ad{Qt5Vi+B@Bn%$?NRM^6*NaoJkwuw5+3V}lC&ia!i2#wea$ zm46dsj2*B^kfhaB#MKC}xE)Cdk93kuqq2Kp7q)Ri zFIZ)!lVP}*YOl;zv^Odx*)RAhYcG`}twqflph+QU)G6y+>Jr?%$Xlu21oa{xDseJt`epyS+F0+W)qsRr$Jv8P&Yz-47eql$ zy&DIQfhrTD6blSnf0?ZW>4;tBC{%{3;x^T*J5e3RtqB-YoSEu3it*;9kN5N+Z!a`H z398T!p)%4ayF{_tkf$4O{7jY#C6o^z#Wb4zweIC^p+d7v-rn_Fn#3+ zManfXqq!vBsV1EionLief>`rNAk9_hJJtDtzzpHRyzp;@lHcA*SWyt+*J=v;T$t`>3!QWjovcT6sa%xnetoQB(OWq7N26>m6{X9OQO-~ zmE`{}E&1)Y-PK=MYx7rW`G@z!GER0IIQk zi!loENf8tTgzha18e$8q(4o?ZMiw-3>2VSYGwfW$dw%<)8xI?vAGWL{hFX27pjy2R z3{j*(sD_GLsJOu8b=h*X>0#aU>;3jb=G$g}FdGVO_8P1nl z*{pV6mz6g$sGwGNb4`1#>(F|0llGSS4|LU=b!Xj{p2C9w`bqkDppu}y2BY}z8l05N zl{lLCVkO*dBUU38aTXzv`{%aa8ZTIjjRF#zcbG|aX3vf6B7=g}CQYD#iJ&GOvta9j zjkwwxm6huP7(ZttDj0RWD>+hu5%xXe%$$P~>q7C*AC4pt`8F-EY6@2=6PyFmXHf?i z%BR#Dzm}m49iGF3EI}KO;yAIK`#=CuML$H%F+k{@J;;y(K&?xF3dZ^j%^p6d4ZT_} zxnjbj2xBxJ`MdB{EDI)Vb#9N8p1~&d#D8DOC@|VW<$-DUlz~a_5rg6&qo19v+U-{! zl!Ghdd00V5xU!2~Gb9!)W0XVv(wSLjlvTl)dT(+C*Dsh<(j!>mNtye$>DvWPIO-VWnjT7uUx;LNYw*^H$ zP}fwFOS@CwVXH)_sDAEw`h#}*g8W1~I8>1gop?9O*r9HwSX0wfiQjffW0v-_h%J&q zC`vxQ!54hS(074H^!5`>m8kW6fRvARdShLZBWn4PYJnnPNHgsYhWtjBZQNs#0&=%x zmZ^1+7G^(zOxRpBnktYV?drhZDEOc@VdN-_xWrmWhfL==WxfzzmEG|<`+IQ4NHnjd7jHl4*n9gl*m?P4c)FpLA$>=S-PfYQo zL-G>{k;z!=_a`~^HYT;6+>)~42Zq*pd1dSBS+n>b?B}6t_o_Yj`D;7|XAw+L7OwTncs~ zXbERJ2Y5xQd6Wn8qO6|KG8mOo9ikyvXvf)G}7Xry5tk86%CX4@vtrni}v@r{## z{@m}ABdjD^0LV#&1yw4W-0ig@UPc|mhPzyaIHO7ymb43tCe|?BcK(OK`;>J*VdPgM z+4uGNhlW!2D;_|`_)9eO6=?9E4JF6D%@Q{l7#J{^v@@8qGZ>sO*vH*`oKJr)(r5j) z-~9YOj4&7zY<78nt>Ak`f4k%Rc3kdwyQ77aB)%|M<@Vcb?!IEvc!r`d7@wiQ9d9WH zMne3p!+p5K?Ok|J?u(gFNeMCWz)SH1BwoaW%$G$TwVr{YuA#2}x9`F~gu#r#ejtSV zqKeYfRe%4R^Qr9@)Zg}cG28ZKSWgN0kAAy%;P?5@3Dqq*xF94)vEhQ)r3PG_( zDFVM~y|R^rRYAL`IRpwR`YM02A&^A;hGU(XnO8}bcQ4O$)uKY20^86Ycy!j6meJo^ zprZ~NpI26z)y3qZgW<7dYMrC+r}yU_gHO{{W(0QxxGfkm62QoHV?=~sQY=KG8Gp}! z$nc4dN`PNJ1cS%esJNLdel25qTtf9~FDZhV5~^lCKqe-x8oS$SJ=Ru5m}T%?6>&=m z{{k{+L{&ij$(YC%QVsG9i5VS;ZDZTOc%&LbH6y3sx7vfGb7!}kyMa1I44|fjYhIsN zV`@N@u6H_XN39~E&cs3!!>>|Dnqkr4wy^-~Y=6~Nh{f@hylK{J3zc0~SHqz3e=dQ|wtM17LRJf+sSOCq<201Z71VAhyhnG&NW7nnGyfwk#e zzx;;|r_L}UuFc3OT?Ttdpsu>+m~D8@TEnsNA9u3!gCA4lY(H+UAq&y>Ln|0*mRrqG zh>u~U1XW|BF;izGgK`)=CH12v!^b!M#C$r0W0_COc9_g2lV`Dz*|Ls;v|xGpfE(Si zv0jjUD~gPL+wOa_VmUPypT8)^s^Ef6{E=JZ5%F6wt(aA}lm-X=KtBj()OKGMjMWD{ zNi!iiBB&R--*^#xL38(zh7ji%yTUn!3bvI8TIm6=Q1-*&U(fps{eW;0#)pm>H&Jxni6?-}xMjg?A}dn zkjg477q?=NWl90HZXW8JM#Yt!XJa8xyRg;rU#|Ars$b*c zKSSe6vUM*e)a-%_XZEG0K6x0V%d8)tj+so&^#VIxK6}*e-qvVTAcC0yzo4IqA>O^x zKi8(NArxWq7f}L_zO|b<>`zVBP^8UNf-{C3;kJoX_kAj8!*kDla6F4%ybsv>)Vp6h z)Mjc}3LV2k?WZJx%cKqyNbb9aoUL;R!lfo>aIfLa{XAj14RLnqoWH)ikK^*gPZKeF zAi+EaFBc})MZ9F@jKy(PKz(YQK?t?Zvjdkm|AJm+F?^x+q0-{|j7XEcV&|b$zRN!NhyQPY_l0h~NRCi+}?VdWn2fd)@l& zKv`(TZ74b_n?s3`=)zGkGxLb!KkYP>km@D)qMTtn{-GhIjk&fJ=oNLWKlM;y1 zx63%UrkD~TeI`2UH(le@7X7l!_&faU#%LRQIQQ=n~fx z=&9qK%ahm~E6#h4I|LupcXU?J_(4#|nFgxu;tQ|^AAE3ht{xQoe*Bc3*1ECf{{a<< z2kq$;e%zCkur%PFAf1m8J^Kc=Wx0~(*j!pyjOemoRzR>0SB&m zrTp_!WTy;u;)3O=ktKoWXz|%p`1SJrvy5qwx8AA%8u|TN&d_sw10!|(WtB)}>;gAv z7?)Y1va%WZRB@T}4B8j{PAf=%nRXF8*6O3?065Lx?^<`O0oyCsAJG5qUjI_VsbaX3 zQGL<7b{OBjQU8Cg_TQI&qAIkj;sELg$;hEKGYd$PiBC7s_qd7h;IN?JpsxwjQXeS> z1R;4ph?26+?vWa#zCqpGqM`x5LCB(^IKQGI2oEv@R0p-ps-m$|BXLo^q2W^fb@tAva(KIqe}iJ;(eTL&E&Vm1bt_OBdwM!C$c~lNA3T7aNU=$lYZg1{ zFl3yIbY3n87wHt79|!rgIVjlZDg-)uw}z23>ZiGDZy?+9Q9tBKcEX{EG$--<9Q7MI z529~&7}Zn=6^}$;o$F*^_8yuv=Vd>%bUSHYa=^I}+E?F5{f5+Kzr)mi(T{b)8meRQ z6p3sDwPwTAe$Wg0lv&-C8Rc?SiQMI~3y-6PjfO^krDFC0nApaE)#?8vv-}yt^=ZGmrN8bC^7uLWbl@;s}ybij^Dp_EF6 z3+GU&6+sxL1ThjoIX*3tdi)nBA&iF=1uI57#upiC7!Vkp%MTO6`I}vArVs%;0B_q0 z9;6sMPx(FE!?0>GQF2m?MzCC{O>s<3N&j#w|L{F9v}|MA3Wu*BWdgOZMoUlZLe{Ug zlhtNfX%~ym?-v6C-1FO-nYw(ll-`Rh{esm&PKs#Bw{tkvSCi;!-@J)K3AFfEPeyN| zGGte_l1M*+tReuCHGS^P%>y7$YLXC$%Bl~d-zs!0@POJBkq{F)ZKfw@%f#nLv`}CR zBoIE0o+mMMYT2va9f4MDP!M5esA-7yWkT2 z0-Sr`N~oj+!nWA?Evj)=>o#;cMPH5VEgt&X(TpFlRL>KY=wxDy%R-<*EWn^3a42BT zuU-_zVzi`;aXoh%!|Z3E**j%t^+0{EX-z6YtgWC3NYlw^!K_n2wUEd+DR%XMRVZzF zrF;r4qvPd4Hzsi-aRzmfGF#8@EXNS~ZH0r!&HODGjeSAQm4mzFT9FESPE35oq5M)v zF$BNX0I`@Wx5$Ht_RY;t z`L(q2$<6v>RN|BK@nUUL(<9JFifZ)Jj=do&%+n^bslW9U=ae|L zn#ZuP4n*|BXjQ1(LpcOZBi~(a5|fX*GiYC=c1rsbY)Sh=v6&EX4W}vt#qi@{*XR^7 zj&K`&s3th}bYrV*VM1Oe1Ut#5on;@)5nfse6|b09S?l%0k@DT(NQVzHi|mOxds++i zQgYxo5nT5s=xH;YHAuw72Ya(9cpjV`<5`94y+kOdC_{G!vup`$Sjep12_xOy zmiyykWG96TwX^{Vf}!i`7lL;mjcvip+G>RCE!j@O_6T-LGFo;ouJ>`U-p_PhmzM@9 z;ht%PYf9QtS}6Co0HM>*oKD!Me(+rWRiU%_b^OGA zCh<7E6N%KBJBfSgxc8`3rus9FRMVk5MAauzxqHm`oX3lDa3RVGBZLDZ;K zu;2lAFctH=zk5siD&{s6oz2Zks_*s;eLxaVWN8jhILxkDZVVQd-;E3ta1(*NW)aAk zvvhV}g$p*ZPq3YW1WzImQ~xN=zZynhYLedS8ZW!29}E&zHXth58A4Sgf?zgE*-?6E(TY!I_(VE>1?UU*LJl$C%kT?Q)BL>Zv0v$N*%n^oSAOo zzJ7fDgI`|Vyi^UD^8GsgojhPIB18;gii@EbDJaCwEdmtOSeKAGuosYTP>YiOt+pCN zD#HSh86d&R3>Lu>6Aj97G9sU(;ZVL?@ynup>&K;9xrW#9u7h}oAXl=$FGhJp!Id;@ zFCUZ-AU+#-`Hqp`-)^_?Ju89r9iqsyPP(Vs8OfK@mqDGB94FEdNh>f_yYk=wx7#`e z>a#)8)KQtq3t_-fheAmau(U)cbe@e+;nJDcw@TayHju~fV~yx*&^yL$X+IM1VNuZs zQtg^UNUHX~C_PxFlt^}0xoG|J9)jFj?6c<8;Z#^tykF@do6H1F{%P&=j98${q0U5O zCDqVv6$;=~d-~8-;^Go#1Fv6WwWlK?m2g-Ad!Y}mNJEb!tQI_jYG?Bf9vRohYAKd9 zl5v4tcA*qTdSMlM9t>8$wHYU|HnUTV%|v3??mOu{ z$c>vF_h`CUv)t6mx9&I{#n(<{F2UBKIeRj;{H~i)YCC~JI93Eo8SzQ$j!7G#9o;$Q z_tO!drhs@I2x#|R|J93y*NyM#xAP!2=?S&8ZSI+Le*eVC)5h(;W=nOkJKphx4Y$jV zJ#ci5u9AKDB_?V9ZnGntC?;)pPJi)6uQ|U60`B6G#$J`%cC?LS-nd>dc-NXfzpx%W zg}u3_y`*}v*@t80!h_`EGKlAb=HwpAXP0<`_+g-xvK08dp<0a=nD23|F6s&eQdwu& zOuyVR^~HB%e^8wcwrsFYX;Z|8xB{hvn~q`pwzA_VRwDxysV0K#grg+4gVEJlJfjT1 ze9LS8jXyTyKf8xbg~lZ!D_qlyY}=~hh*vPpqPv9wjFPAzmy?m}J=ZJk=Ky`t%}p8E z=1DbJ*WoX_A(p%~FthPx?nMjwN{5Eyc;7KD^*A??xzEFUVr|bO3d^<68DYTcM{2S2+IMv|T<*!Zv<9kMgToS=eV%(p}nx!`Cyerr~h0v09Arbc} z-oHVH5pf~-Dp$ULt*msA?GuhrseH^C78d0B7|7K;JOr$AA;i>1em$!9B#x~Xg`5Il zeIQVf;=Qqwb(eK$#~ZT)L1Vx$VJp{QD&_4zFNum~-%G#KigSqRdB8AUH_6#!ix{|V zXQrVi=?L%)x&&(P#eN_+zs6kLgAKY7Gd^H>MHn%`eIqbY7;fo@vJK8CqX}=&NX=qG zquGjlLUPF*lzcMs3=AQCmJ#MGL#s>HJkphAeVveK0Bkih&RGRDn-_T!#7hKt{fS?0 z>j=(ar-&v<9nMEU8M2cA1j>u~GrChnBC{rocj)vjRj9E%s87Yd|6#SGxNNi96qewr zu7_@rth#9JE4E<`S%u5DFT}EdGdSlPchK3@c0q@|7_=_u31NH$b20d|t#2n7rPohL zJi84Mf`kf9?`0_`-1_kT_u%mtBMWoopr!dWVo83HO#d`y{S|X5=wz?wXl7&mFG^N+ zO!_NLj%!XHO7#H0lLa%BA8oODpgGntFd9T)*PfIxf!AV{EZaz*fX;3Q{7G(b%{Qf( za-8VV?l8;2`eNv4jl)Ob52~&%VKfZ$T(yz@T0fkCF@bA$w`Pz%rQ7t8To-X6ck(Y$ z*N1g@Pq!Z3d99|Ig6FYn8uTzL9)zWle3D#_O)O-2vtZnxE^hlp??B_jIX@Y&8#-)v z`^C2VqxoG0j_{HAN0(c0f_zPhW9=>IQ-JZS=K0+__$ZW0F5fmvry=8qkt?eryhAb~ zo)R>M4VL(S6b52T2CaI(VThBhVBG3%uipvx#+ye|!yW5`Wyl>5i3`0heE zJqDa5gg;QEc(M8$FBwl~qxR&g;^S|p=x3V3miG*je7wXmItDsM z3OcV(Y+$T!sxN52zAk8-B#hlL*uN! zZu~#{d2+a2fWJ$o?DTCWJ4|vNwM?-cUFdwiJ#hGVxRwwGnZd$4g3xY6LynuKEYKG1 z8H}Gn>>=aeQx@yd`31A%?$k)v5fhJ?KQa1|u!Gf<2Nkh%3rP2cMIr7djwvy5&Rw+x zF~Obzp_v;EB}HRZo~T7>p`lNnr&on|FE_Bte4x!nSx?OAnDb&TIO ztXt|U;5`kKiTU#-6wGwW?Iu!Ab$WD@_B}&aT%zwzD-;Ms*%eNOQN-JUcBiR8k zs>xV!D!6NRKU^W>9a~WUs+5@4fx0q707{iK;u9#zdZwg!x8>!H#7fGFXUtU)ihzRZ zryrE<{67GK9tPls4GFp9)CEjmUAs+o0T3 zs)W_-aWJl-7y_f-v+}LkWQ6LELK$FT276K&9N8-*1Oma49fLIa!toN%HhRXXQ~da{SN&K6zYJ69&b1P zdOF!j=?=s)<&*(Cr)S)tAl2@vsT5{ctDQw&1U_-ntk%bG6Rtg5K z%tu@RW9u3hiE97yFFO7-0#SIBTq?6s(|(SS-!lIGN3 zTfqttTX+ZKSigfA{Q)^pr*=>p?ShuVZMGmiY1u?HLzN5Mn9^N=3+JA)$DTcd4nlnm zUF^IazCLu1+TQoBbn$B!3u`|^iWxtS3Is~(?%hupI)@*6hyV1OI&v)FMdbpUcdF=9 zkdlkh_S>F^VB85{^Jc*2<30U0@aGAcj|F!8G+U?4*3avOtX?AAZD!+`UdjuDs5UoB z{qGXkRj&`+P^%r#Pi0umV)^kIHrIweTT1=0cppUfe5djWwcsuCEN*=~Vkx(Z(Efq* zvh|_iP&cyLuwDAD?5_0?#NNWR8@-}>oUFL!`gh+9G=`>Wo~^U=eZ131?TKsyX>Zzx zOW~b5aSDN*MuP{ElXNc#1Zd>^I*tS)V~-y_F#&X8@Xb&&H{9HuARWAC-%JGf2$uG| zb@zke;%F;;tawgU*D8@0t_ZK(@TrY>?*I1k;jdc(AE>=p@T)L^eHEsENI3nETj9Th z_pGM>qb7lEdso+^3L#Xv_KgX%EEa@PD72&?;PGN=E!vslJBhEF`c4=x*D`BD1;94UU|+dPqict&T}*O&Wb22b{R=}4pqBkFDx~fqK`o0u zb$1hTb|IOr1jy8TmBfh9E2loGZ<-vgw;BuNQUo>Y3%^g0(F{ffw2sHYz~XkQ+7VQ^ zQiD8Jh!F+I*W4o;6n{kh;h6v_QpP{1x55;S&PspLKYgBGm=i-0Ps|j&N!1=%Sj(uK zf9AAhL&cQoQ_1uNo0ds0Hh{z|`Oh5Qn0CvoUttpW3k!z znZal*1L*!xy0>lpyFd7A8)~bbzc+l5QB+@K)ISkyf7PC^ZTS1OeCGTW!uJ74mS)E} zMm4o6_zpT-PaGB^ibz>d9~iT#0aPp*A8(A88X6xD<;thihqhf+4m#0WS@2;`I0PgZ6p6^7qY4F&{vbJWHWND95QhZ7w7<+h&&s za~#Js?a3gxMWjRz(VzLf8n;V%rW&fdzzc3o8mAnWZq*#P#?C!=-4aCubEi-4$6?-p zqNYG(u#HeFu5dhjqPi5jq-SADwH%dVOA$5yd&1O|;y_CzA+X&#k+GiSQXNYd0y+360Tl(41amxc`RV-qKV^z_fP)$|;;#A#peDDyh5yh)qk3#Q;^Aa!UD# zoq_1qS*@?eaF7Zxib^6!4H-K^VxNT|pM>lHHIf^{Fd*-n<&RqRTkq4l3S=LWf`Sva zgDLbJK&@oYwiEitk0wW26tqP42@`ZoO@>l@%6XBD0dQ#|D7IRuuxO`3+6*811rU;^Yx%>R!|F+_qZW7t-k)#DUsR2p$Y7?z6~k^o zS?Sc0vQNxtK@jFqvOU}&p|hLQD)IIYBJz+Oe_zkx!1QzzRf?TBs+eUj`Jy2^6d=qt z!Ak{k^#!RNDPm|3Fd75k?o~rZU0-XQqtvk6FK+GB+of;?a1VSXI{|RFbApb~N_!bQ zL^tw}S~i_&VMoeA3-Bk6W93-TDjKXAEyO6yIcAtBuqIlxXX4~OlpYahz5?-LZKOPl zbO#hkqpv!GqLL>pT#sOl^_K=#8rlf@FmOF5gkU!~KvS$B*wGcNteD}@uzIKTgh?ig)%g33!6=v-UXOeQDXc?c1TKa6N-~ zJ)wIXQFBZnY;uS@K)JZuLq$<5l+c$%m}ip0in0k1S_KYfwq{sXjjZ*zqC@&c%9bxF zI6oe3D$iv+oBHyLbmOw}%Jk}Yf!u9lbqDGEBv}0+#i`?^^)VGv`e2f56X_9h;omKcq{NdedavndCI|Ef;4|oG%I}n5YmQT3Z!z(4{l>GJC^5jEJ9&J zyD?+^K-qaR)hQ0k>b!EmhS0yKiz;li4Y_`#$MVv$vC7Rh_mzUN+&w3U`+Nz&T@5)x zfm_VuoLoK*T_^6G9^0?d{Z=;LB2u+J?Nflfkpl-X^soBSTa;VZ85-Iy`+L(PH~E(hr{!`@9)Uk3``ON6GyFz)mwh3N z^Dg5quRe_4Mc+W1yXJMd73Ut2nK^qsxrTJVb>Y9%x;;bPB6A$lEKSI~uvESMEs6TC zzPlYpjp^~L=l1+6L;nzb`>(`XAy)$<+rN)TJ>tN0C>iBvm6Z#N;-DRFv*hTPiQ0lP z;ShJ4ztJ3AQ(4>?Ziioo&aiwK9HGm9XXeElq~mie z2?yf~To!vGMEj}qNQiRCbVx>rYOqP+S@@q8i?)JQUiJy>-usqLiotB~zb#uq zwFr&T6u4s0qHe~L>TfaSe^rm7mN3WNuj-Kq^^Zkd-pKOrgQb#&gThzkkaoAn$A(I< zXfX}PBQ}F14?}@^027?82bk4tZZmFJNsCQ}l5i+)c`k_P98B1`4q!mSu$~^nOtS9L z*tSPRe?Z)?ahQeRTTS$>dQ@~=oN18oyuV*zeJiTQ9Kap7?6Gdo5fzRtCukuZu|z=} z544lYv>~VeIjA9LIUosQQ+AsPv8i+} ze&aw;`6a5&bCP#j!zs{aTa^4V5h<}Wy*MFo7!66H6G2`XsZJhh%lX!C)R=Gi&c&5$ zBOish0AN)ly3}$~7Hc%)D=Q-hL?eb_muHFZc|x7V@)b3nm36=_T@GrJ4OoGgrQr?Wq9-($b= z^JM^*S!#F7Avrv@T-PwnT~mmnm|d9lyK;EomvfmJTN_|ob3xfcNUPmegt@Ca;vfub zbmUB)fTV#=UA$f9vdx_nOz1`3I5H`zwkzsOWZLNTg;jDAgR^n^WaGj!(&`dAw^wTp z7pt)Sg{+dkk22y>iBf6E6J?dpzA2j*dhk41ySF;v4y312zG(Bq!D@1#d*&YN=4T4E zvV;-v_23l_4PD>ns0BCHcD4lfhT}peuiHX*R@4u$*3r@-;ke&PQHsdX#vP^EXvx?E zmKy1oVn){ZzHxzG%QiV^;FQ??_|U%SRB`Br*gb@w~YN1~LHljeIb zaMfP#D};Vt)NT8FML#h8q!P`5%roDiuT*Ugtm|I@kTO;8iOrt`qQ)klVM$dl-4jC` zwx{V_2 z)q<{}h3`p8;%vE+smms6q76+rz3F5r0`N7&Ido*vI>^AlI6T#}HjiHF=aogPsCSgh zk?YAb3GDu$;GBer?@8cu#~dI1?7>BVu11h;-u)@U%O{a7n9L1-R);oqmAN-t%YE}s z^@eye)o>*;^3!4`o5Z_4@F$*kZeVn5bkmjpez5vee8`RDmCZyqbo)krxr7mF8$98U zu3%ovE8JH7L9UcAkgj=SnmAnE5JylzWaIA;>xAm?w%VV#+Pe}u8;H_-M!Z`OC*7xo z>WJI#s2OG;(pQQ$JsDZpW;>*nS;Iv*$Su=svAP}v*)xX^fKW|KfW3H= z$}_z=M1#qVkOUydnCH2|LUrpvR%#*tDLMpQ!38072_efpVA#|0in}piDf<}(OTJpS zB)UckM}SE%k&^X}NMDjL!o3&~01pu#9MD6!dufsTtdV=mVSLL~^z1)*%6JBY$exEj z=LFXjVX3*aB89S~^XR|>AU(@b{4%NXp0GoUi}l{=4YSDYU+@ z4|Mo{bP7-~GO_wUoV{a^Zqb%3TDxr9wr$(CZQI&q+r}>2wr$&X)h@j{-KTG#elPmm zh!?TGKi|K(V$NJ+BSiPy^gxN6d%@dmT1b^^OAB1-^h zJq3eBMiFRFm}18n(UoR<%F$>?jBE1n&m^~n`%MOBK3L{alVxbjAssXa)#mGTmd?AdoWk(1&rABE3BTM%XP2P$l`K;U#a%D#h zFrg@S3pTINxN6XHe-08cd9j4h>KQJ3l{k4zbABeuHtu_rz|8D(4Bdj@3_yN)L+cHu zF5U-fc2^!mg*0I5F5aR9q)g5cfiYnO9PT#yjLV|gkmXLl76&HoP{H%a#bFDYtSzHKn zfM`_1SYotFB^TXI5q3T@QFw?s15ux?`P0S z7}cg{m(!Rbj987MqLE58{X{dV6a*7A)ecHyMFLJWH$SOB@=U+4Fg4tgd)zlaO%<8Y z5KPYOs8aFVf_=oPZvuE&lC!<}atRD_RFiF5Q}2ybDP2fw zdFV1l^z+4}t77aGIT`V@BJMM)I=xbxbb3c;8wW3*L>+1gF1D7zQFElUvZG43HwO}3 z8t0f)vdyYN0$ZkAm@Kwi8E>fpDNxfUbj1*Bw3t7$VXWM@dS`B(hQuf7kYCO<>n`b%FF8~gKw|;!KtW>=u-?(g14XLi?nE3i=DCH?_ zrD@4$DDl9MfPqKoe9PW=#FA5ALRL-;?{9Alw5!^OCrholHL!-;P_thiFnGDDa<*Ca zbQc;BLCsQ)wZGx$Hq4qQuV0zjt-pOAQYKZuiVd60E({jHU|wQ@k6k zXr3oxp-p|C+-`v)Mv}RsLn!3e-_}|h^T_%4Ty}<)E45>S_M|lMeQjK}akamtldG(J zxh7XI%L>_ZU9NBeeR^5^IUU58Yy~FDQefb zE9W4NR-CAYDnS)dJkto^_A(a*+0VX9RAR)cN7#%jAST zqwS=3|L-qF~i(iL9+FF2yXwUX6(?6@k%7IhVMKr6TiH7>Twnq&rwy zCv_Bn3-U!U2PLTUtZW8ZtiU6u0}rc+#pxHP1s2r!2AB~&W?H@P#)8_fcCzUmOY?Nv z?^-meP}JbH;F{^rOOqR(ifl}o7C*xfp7&%Qjo`uP13TzLg4kmQ(gwHe8T=7>$N8Xw z+_8l|dg!B0!aaW#vPTlJhZbT#z1UC2I+gECAoxO~$R1R0KZx*6Ze9p2)J z&jm`%MRbZ6;7dzK%CHl7$|HB|g$>vbftwBiu~T3t4NAE0BYWQglMXJRBb&W~i7XK+ zN%LSe#<>R5}o!I79@T>3#qZ-EO)HK%zFhOIK&~W4*iJ<_lX)HCuEns;2YLS>b}yK z7WE*~_DnIb);twsJ75y^8lfPU#CUN$3YBtydsb9M%B?)UhV<0y*!#bfn>u4) z>$A@%rW`I;eim2`fp_Hz=II$^X?YH9uY@k6LVshnIZ`SiQ5ew7opS=dOZ@Bvkfx0C zJ0Zm-KZTSq222*}$piI#1J^ZL-0^(~E6UeHV`rhu)E!(+eC^rdt_TC#DlS5ka#V!3Q`nwv0;uHsFM2f)1>1nxcYMe4{xCkEg;) zj^0eL%1n;df;Q~PESbnIS2%=5RLNAcN-of1(q0gh@LF=*B#H+Yo%|a&mEUQt`dYXy z8?XT_sAM|i%wUAi)Y;G9WmiSi$g`tfZ;d>j1z8s%>M>L+lM$JBZkquc9%__PxHXF;8)EDp(0VoK<6DkA9z1DvmvnR0Ex6^t8?a{ zx-{b$b=0bD2ce?sVvP76=T64m4D${`_9K{)f9Mn;NF4-?W`%qsR)65buXhEQ-i7EI;&BH{ zyv6l9=Is@FT~)sCBNm?=pGi$U*I$u=TfgxV@(Ih8yyI@TL|AU zjR*-(>wU?kw!-xF>g@&QFSH7ghtx zk@sfPA#mp(BG5rkIfa(cvP5=DOJQDQmPWsN^AxH$(>8@@t0atZCl+*?b+pZ(KN}X@ zH4FN=#i)Mvbc3NR&ch;#rMRASHbZ7!tWc(uQNV@#S)r6rHq#-_(O4FT-aR?O*$l-& zEEY8qPcP+>dT147ks_WN&h4(TJ|VT<-eVb1F9tdkCBU+n9`9aaSj2bF^hb>u%)^ZN z%dg>t7qluDqk32=$u{~|5aMBlYRQd1BY*?SGB=R=OC|qOgK8}-%#7*Y4*4o&tA;(* z%L0_my436&;D0mwV=+>kn#V}pMl~y7fqZS9A z1_6OS&`q}E%rmR1Ir(*j71)JE8NLI|mjWUF85ySFF`63F@@y7qAC?XlF(-DXP8_tf zS{OWRRVOfYZb1TGedP4c(x#OpRr1VD{XEl5Q0rUVC(Syuwi&~pgfFdto~#q_Y7?A} z?Hn~anOa2)yaH3ya)w6;LP^y&OL^s7`;NEJe@RcZOvB&@?RjhXjK%*nY}{Tfj#8Q_ zoA$X6X2T+A6C0&B+ot`tp=^^0e=sC>a3NHIp)pR=`0^*P)~YUQ%_twQP)*ikVcDO~ zP-ZDBix7y_Y{M=_Pm$2LPg0pQdrcz@_Fg;V+sqmfA-w@s?$Hb&`}0(3wa33*|1|N<_SwzyiLEVt!+aOhWO3r8wZ+)x^q&co5;cf=z zbeJ?KG~26x;`G8N{Hxl3ZHDU`9VWFy1&VM7DgZax#kUJfcn+I44R>2nu%sX-xoG7Q zOVkI4VoQ<#_0}UFu*)h>_DAuTNKJ>Q3XE^jmP$ndUSS4udHEdNY-4m%6=-gs2AZT( zaWHTaUP+ap*yw`8^cd&&zjXQkAd^Qv>4f@!iU+74%p>^Ui-@1&=KP=f8kd+J*g$^h zP(Kyq?~C1IAn?eOYg8%mF{vwR0-;a7H`Hs6ijFa4o8Vkh`Y<6C<0QlGZLH~N7G@+61( zg*~WutCs$jIr*Wp{8b3Lam%FfDR=fM<@uekEj8~Y;YlZTV{%4;@O9yIomlqkn^{5`P|rSnQEZ~rwptCN4zLmaBW~oFuAmn zl{x0p8{7`SsWaihyaZ=sc~crvl=a^P?;@RhwOcI_=0#g-j>MO(v-g z1lpRipA&Q!&ewBfZ%g!tr3WkBDaSg>L-*4wMe<~T{Rm07@NZ&uFg7yuK~Pgbj+$#~ zTG)D$41gx~$6A}R=sWISE$KFU>!;;l7{3m$-RCdIY<4V7|5}IdT`%%e*Ab+IPpqat zY7sf8y2^5FKBbtL8cK+aB|y%1v<$fpYdWcN&#mLkXi8@0CAZH@kH^^yo&g5Nvs7&Z zQcRhUU=Kw2V+|a*ieY`@DU!h$zrIeoOot;(n>Rj54JHg!b*Yl(VB69`rR@y!e;HeM z6uhKuU5a3!`91^ZS+3><3bGK@SsN&y6yv_9Onb4e%HmMS@o!gs2DM#Th%^F5mTImr zCNwc1ojBRvaHo=<>2l*RQ}ptB%#kK=(rR* zlP)qmN^xEfT(RCVg;h@m*|-q4UqS`}X!kUujyLLftgHxFS(nw2DiCef{|1cx zy}dYI-Fc7V%F#YiU7ISAVQ-PX0a5C4t}$I`63gC*lDfghVFhbbbb| zD3z)~3)YmP=ca9AVhE%v+1WPyt6?caLjb6)k;(}}tg=P{Rt?XYj9A>o>D3L^C=eSe zgcwE(ga}X6+KZWtZSAgsYD}$RrZc0jl+|-cKLV))rRy{y&Q?n^c}tT04gKxpC?sUD z3-zO05cp*znKPe&?GE8sbvot>5f%7|-9t^nVuma#x(s>*i6-Z&F_FBXeeBM{tAEEF zti-)pt5}uBs$p{csl+k;R|6BRf_Xw_kLI8#5Z6x#3!wGj2Ly==kVFx5(NP_e8iqS= zF0(#?7<;iGH=4l}C~jXN=<_ZC(914rcht6aLwS5dw!;DUVkuXZ+JM&S9o6QU82`N0ikuV7&lFH;Q?;DSCgWB)z!lN*fAuYG_o}~YH(>5 zWWUV0{n6JFVocnPA~Rf4 z(1)PFVYaz0Lq12IYuiS&hHjtB&v`dI3Q<%mOsd0r*W;zBsZ?Zs+dOl+?PM9HX~$zs zLnw$Cv!Y^egy%*>ZDjHc`r+!-mxy>WOhwh3Il(&Dpw_`4o~f zv__HBsKiOabVGrVw81x>(Y)gEi2xQ(YZW{Q6xclOHOmrFo6%09JYy}7AZG;D7}~gR zg-NlD|M+h+a|eSEN)UAD@yF05OB=J?U`^9!x)3f{YeVO}$dIPa?_qV$DKfP`PceE+ ztps{4if^9!nuTUhg~cR+#0f`m<7HwMp@?mlqwI#BHDl$-`%)fBiPU{j5|UMPNq$z! zM`xV~9mHFxhFc#8iyuR8C&7wbY4}cJv?-%0%I0s5CW&raMfKDBjEE|(S2%iMl_wl2 zbp@BH(OO?>)Go&|hlEr+vaste1NHTaD8?iKiWyHs`w%hLM;5Nj)9lk$-SGz#h^ma& z$OM89f;aob-j~!DgKdRkC|qAfmcv|Ut@ZOU+X2Dp*eQQw?T}NC3Ep*AJ(tEQ*}UOP zZr!h1cl#_ywJEKlGb`)J4xYu8L|!ro?uuz=xQGHF^$ydb5e5~0+q5G7vTY;$)p}$o z)MQb5^g{$xE;#P>*#Hv{f%DZI&*6K2gqURx^UKTu{juZ(*84{PxiQx{1;teZU%7n{ zR(^0o_%IiMuSyFUVh543uktLdy#?(=kms3;P8z(x4o7>y#A{)ZnPV`QnKGJ%+D%-n zU`3saflr~B4eQzjsdC^iej(MK;eue>or3*v#EnG!#Xzdg4_mgD9JQ%XWZ5eML+&ZO z)UsOzt6G5>6z={rMU7UOU#41>KBTKRfIvcE`dBKRK%w&*Uhq?)q{WnF0JvbPkUrxj zRef{juT8)5wsLLj^imZpn<3g^YBT0$aAxw*jXg;Ag}OEQtHL60sC-%dfCwuVZS~$R z;&!+ec4GrhV_p!eg&xFW4B?+VC=}=XR@le9nsVhrE1t6h!-cg;+fr;Bmq&Qg2BaML z9L9)S!Y??vqY?6w=z{8LKQ>cH&qjd`LhpTY*?oZ~%q;E*Pm@6Ck_UgAbOrlRjoH^W zC>ZHe>ypOb5H@Crs&!vm)&b-#i>kd%4lK4KURe!(blauq>d{>2L#3WKCtk;DqMK*v zbvXzh5tHTvgg?3y$*1+tCy zO~pqSwCWn0{PAf+a=S)Sv@5#`|y#F0w#TSw4Cz(k7aqB;x zS14=2dRY_SEHo%di@#J8f3YV1ih*c+!I}!hGy)0T8&X?zH*0c4u4=Sy$J&V4^p? z7vT(+h!e#iQBaN9mm7j$6nAShM z>NqfY7cg>34sy(2U8Y~37fV>H0aX^1Q-8XjC|yk z%fY|8-=JMIzH^*(isTKPj4kt!$X$>_6lJ6{)~Wr$fOFxCxaY}-qdm1 zN7Cdp=r!1BQlnJZ8pf^iZ~@#cW-st7c`t^G_$5T`cL$`=dl+pJQHECQTDf5n)?T4b znk1V6?N*e?V|9Vn%K4v5AtupOv?i4m zHN2t2zvl|hY!$Qf96k6R?U#ie>i1h|!Y_F-*Cz8fM)P>`^QjN-oYRam^>YaqSUTsJ z>ExO1qOu4b%2S+rXU7NT>`KW7zBxSoV*|_gsJ=gOZ)FD@6&!ynNgt^>!*KV38LQI0 ztir-|C$1YEZmfDNAoVsY&(mB;mRNY8v!C~jJ%ORl7_z2qljsmg8)S0(OP6dk&n-KY zQTjg&20wg2#g+v4a#x~g_m?=N1i^vYb>HpY2EpKN>yT!Un+CBwGd`9d`2 zq}Epl(vMlIbfI2;);36r*XmVP*+b3Ot}UARP)NhrPRJKAW`3cBJ}L)29-N-L`ktYJ zZ^)4e>4~}YNDa*y1?mY4bqcO|s$^a&X9R*XMCpm!^{6p;>f|lf?SF9^*_zxP1$KrN zQR`y;4B73GtHRqAAr(Bc_uwstN>8J=t4xzi&&95DV>n;xc$P@!8Y^{)8>${8)$V=t zY2rOp*o#A1mUsp-1Nc($y3T+{$powahuQHf0>-ayGBm<_C49HWi;_{hd{mDc1ba^?&U9 zF?~PwefW^?GD`|DHaYx9!>w!%3GrYr8&I3_jZ53129BSLJ(6aEu5bxbCO^gwQ*&C6lO=D0TybNi%ijb)V5 zVL1z0Di&iC%xvMYiLo5vCMeR$FNnE>07iG% z!#9KGPg8<0jDRS(c}~b>H50t&n2eaPHDG_lq}2|Nv{z_jIq+TyZ<6w5t!3x9W!c}q z+TkcurafeBd#=djb)$TPaGYHRsiV8Jm(*|<{Pa!rwiOBv5&WyYfS-{N9v8xeDJjMn z5C7|5XxD$xAXCBiO=v%~Yw8c}O8jp&iJgU!2{FSztyan!|G~K0Qb=>fXjR}#)|wB| zj{5I|wgv?D0$56^=uXmWkMGhCX@q?te+SxO()>hbv)qN6Zz2}n{7|ik(nU!U$FwKD zCtMd@c)mTpP?DO)mPxW+CRxK65I&5A;$rrylP84iboyw6 z#|8Y4P``gMKufj~?=cEFtF$D7bDZ zDoXG&^orbMf(a=RSYYMZ=SW`i;~mmjvy&6^XKJ*oAT4;{iREgi z=^e2QFk_`J!atGhHo8SnYNY~W-je!TUcCzdOKC0;8cYRQy`K?G05Z@@yB89O5GC1K zrVo99NQ!KpW^9fcQC_?u!g9hphT1B0EjM%cjs#gkFC!|Q$@sVTAeIND#a^oq z=Medjp)k+C1M+&0SESv?7ya1=bApajJGa#TVkJ(pzTc*wROu|ch)e-)0G`6JMxH{h zfb~o?V7-~E^zbyKPls)7VL?c}0IJ~e$1hi~k? z*47gh!c*k{env`KTP-7#pd0>^hF$nwRa2*=D{eIXlB#wRQ*Z`o(f~6PU$-=tUGU-< z64HhpvvyQP_T0)@xh;nv3N(YI#6&kRc`nan$ADf-)ZGy$nr>D(A?p*U)*k=#fQ!>glS=VG-b=F_d==DTzIu>?us{uoK{lF9fP#A{V;aE%SyWXB== zvzPom9O9YkmQ}!aa4yt{9rv|Lm4Vo z!1YIKiu2=C_`e=3#{WE6*{T~q-ZAuVoP>b{lZh(i;$mc~W&&+M6e<>)_4$HDfF*kh z^NNXMe$;;3%`N&Wy6*SW$c1iBBD(1xTZQJO2+oAN-z>(bkhf}2L#AUzK2z}6np5|K zPtVQs`|8K*%vA?KdmXX>k!%Hf7?a})T`C%pJ0zXTKJ_#Ox_tg_l=igL7zj#`yT%X| zdP04q;&XXmktFE=WjO<3wAj&gg0^nr#08`x%Bj+vKLf}CBq_2q-C<`fFJx&3X4v_oRdvc_q`!f@ zi74F(Z`JnbjRX^j)BLJ#I(v+d$^F^2GD3|hz=W~!i!Kur;4{pl?-mP;UA`g0&Ncov zNYHz~xMoMin@snvXtA9 zuZu3hXnp1LuBT+Jq&~WUB577(jzf5;@6UK(yf~+!gI~`1ke<+oSkr?zj4a+YI%4UeCn?ljGTxcvT zx)8H2UV*H~h5q6QEnHA6h$Buru&JU=(XmXj%*w@raUtq5LWd;~zQMt?9)+7?t#WZZ zJiErwLoK;sz%F%4a!r*N_2c)c^Z}u6j;L362gyg*5_ok=NX?I4rVJnd77q4{qU?@B zAHxLXYAjqBsiN~VI2G&+<2}u#$XTTcUQrN(bA|e#N@CjdN7NN%e;f-*bu63Udzx$N ztqz+$m03s9uct~1m^AQ#8DFHNOt4lj;N!RH@J5ACe=OX&zW5kcFhM_~&Z`Hw0?k;5 zT2-6)`ZAZYR#EI>T$Vtem|f>0*}w16tIYS5JogUIcve}2bpr-<0l7@wkPom#Pbl8l ze<6hhsapchmndb6^muW@rrqTqF~d63D-xCHfb_+p{KjnhfQ7y9VDIk{K>J38_`<2a z2cv)GG<}1seUo#K{f>HhqkHxLj(~f!Yn|~MdHI0r3GUhzmtT{Ghajd{jvT7&<>8iU zVNPoeIB)%FbGko{_WXh|~Hz>ajSK;=s6KnWdpQmmL(+ffSUfBhGAiFzyrM;`*8q{k0#N&Vm!@BghJ5Op*$QC3#^nPg~SWngG+ z@_(+!|EpBUR^9rC8}?f#Vd4kT%(RM&X{uI3fWgUC*Bi~HA`5;k-YUrdAe!L+M6~As zjHfS2y7wb>fMK8-f*xP(Yb(A$UzH3o8%8i}*>sE$p4 z)6dsoh=I>I8GU(V<)N`#dB;>5<0A#D)MT`6ViS7YQuh7Dph*XTc+IjyGB z4%v2WJ!rNFTdwCnWJv0?^sv}V2le1H(kxjSfrq<6t+mM_ShXt!7P9GY9JIGJ&}1)E z49_Pp!16TJc9Y)ugAYBPgwbp7nJTN*K>|Uu1bF5(LYBM6v(4WJ6I>iSsz}K zIZI+#OoVzVvKK1sqLAo1%`oUsv7q`{#91r_Lu0;Vk6p^ld=M8hz+PYgX-DNQHqa5q z!2Bg=j!ApK19Ky!Mqky(FBvdPAEW_e(Uvw}eUv1PJVQ8qC&MJiMdypvrw~=JwGw*X&EvC#RvNlF-eogosE|<=Go_i4JiG< zS`q!8mZlDM$0GR(J0Bb73+Z27L-sHLAGNtrp|82cg>`&7AWpC4RFJc8cG+34G*_TM zd2qFCh&rH=m3f4S+M@XVDF~es_mGWqnnVh3x!`v*@&kNg!N!;baX1C1{+*Uw2phe| zUm8w_tbrHid0-tdUo4au)dCQ-1n94ZKpl$b_gW-rQ&?#_r?mQv+50K+H8q0i+5#$p zFcOboe`3eYaPuMfj;p$9tvk!12XH);Px5tyoS0*Io-S{&Na~ivKhMR%45$SnUBw5B z{p_j=Touo~f484Po`t&kK5qOB}0t{Cck#Y1pQt;hx`Gwl^;NB!W%czdr!qW zgDZ@m?+K#xMWfUc;`v7X$(dyDzbQ=Q2UgWMpZ&+NmKY8nhwl;wLOh0_f6vg)uKToYGhssG!sOv4kKK$%+sWnE z+sn-lZ!jnc`kBT|?{5YzZIH2sK{{jVfI7p#kvjC?9w67iIepREI}!<6?>^@rkgER4 zI6=#hZj?5`smm}Mspg`+#6TAZVJqb|pj##tP*-qZqbV@ZBu<{~Vl|b@2n}=r$wQUw z$ia|}athuB6ELTWi()6#er|M@Xkpe`9k^N4Yfp7iUWyGmmBi;b;DSLJ+Br?7_8ScZ z_5NxLm;J1+oZs`uqA3}RoJ@s=l}R;UGuZTk%rjE0W~0ZjgY5cuUN^bBcW$5N9cV)_ zMV3w(lL zYt*!o=?=Bp>5mC1n{?;YA0Bix~qXCz@;@*mQSneoVhT>vQ3Mrj#e8< zcAP8GOrdKh4k3(~Ovt;w<6BDf4j*_auKg-VJ*9g2#(32zmxCl5uyYK?ozEDuNVt+# zvKG;6{ChFK2N+}2H6iHv%r{5 z_)`k3IQnPo4zZ9QAvxe@W)ZpliNZ6pBjD>NqvpB!a_@jb>#68V-ThI|EVSls3iI84 zGFMuaRy%u0S6)#Gasl^rb1xSZhXv~`_K0tP=BrG%y!T^@PPs*&9gY?h$owa9JyXkW zyK}FL=f)tfLczDAqBHVz&_{qZ82m*rmn}AHgQjz@otEu69b?{e3nOc66|2*GSUJ%~OOHa2PFS3kuiKzgIz~I2> z`21Bv(jr@TU4|vRIQdGs&pD{7TW<501S23+nbx0 zmo+PvX)Vz#52J0Tw5KaWzqZaQu@f3#-rZFb&&d*HZ%0iX^=aD^EH zu%le)(lRM;$Gc7iyR|cW4eKsc#O;Onz+9-}p zW3(opdWDVdxNXN<({IYN!F!2%tfmr&|7@!KNS9GImD{JyKlYfo%lAt%GC?xbM?VX& z>(sOQ3rRQ(%hZPpk22Vk-%)TKGT5`ls95SE-kF%|GTt#|D)+jVX_h_pDR5*K!##5} zPEgG}^?wVP1Zh>i^hzG=8D*F+3MYy&N212A;_G$k^+9zW{c@;I-i8)o!*7%&XtD4zi^@Jo6&ZX^mDH# zQxOtoQ2ib9*c{v>oL+!vL7yG8HNC+NS)C~K$zadb)9s!5&B5%1Ag7l_MT>yu=v1cV z-A}`N7Vsck_v6<7G}+Xiov)!GG&S)J2+9J#gr#p_w9P({x{ryhY#!wwjXSJ^iXN{(}cU%Ge%_8Hi zgVf@&OY7hj^BVG6BIYdx-9Chq(YgS{7TNLYy|X;HmC+iCwly*3(|PYt3VT05(9)`h z6v|^L4(+w;>JXe+n898W4z{_^Zba)E3C3gJ;yy}*iyCY1#8Bg%^!A~%z3Y|n$~(h7 z%oO`DiIm~4h$LsRZ{hnlfYkR-xEb>uk<3S$Od#x+HLW%YqW5jC`96otN7BmIBvB3; z-^nqE%tzomS_A**383i%9m`z;sjjJM&pv9;eQ(3QimmSy* zu^zWbzQg{={n*NAzxlz;%KF9cbhHl=wGWlfBUC%5Z#J2a?9@*or0>N+t_=6oGSArb z+Z?N_H-OH49~tkwaKE~)?+u!-15`ZA{T^I*E#S?4q84D80#XnG$*~5vxq#xxJQLIz zlSEzd7E%`9(Y-Tk&X~tmlWMJV+w@R*Z9FK@jg5`@pB{A%SD#j&zw-ZhNb#UupHyCEHj%r zR_~9)64$fjZh|KM3x)`Oln!r$Ipi^ntTMq03k-J3UYx$%T$E=X-%VD_)tZu~h-XNO z{;@h#WQ-h`u$B>UD+@A;MfTUQkH4j@8oxC)EE2e%=Il_tfrvdBEBqRA&e#fHfL=W| zZV6A)`AI=;It5&-c4)(s3Va2G$0L;;LJ?E&n&bs;98$8kP1;B9AkHh zBz;_)eE0bLrn%Uqi*oQPn!%HU@G8_wX_x;fiK0Ru7wE8OKe zZd6kPmthG#87E*}oTJ=uQJ4}F%~lg|2dH8GV0U|$j=+%W`c(2MRJ@Ap3^A+-dEb^c z>$+Grf3T57AW*%6;S_Kp?|}ALM1!6vxg);Amntuz2B61Xy{KZuIZtFqxrA2vifD&; z9T5ZwVMpQMRroXjc%sbYp(G}uv4J&EfR3e!Ejfz-F?&COvaz%M^K3!fF?7+#NhOje zaX;N(2uEL1@dcCONF1S}6$@%ReQk)NMaO*!&0&6y2Qwcyi_|b=`B0-@ z*Vt~#TLCx@UJ%kq0>hkaS7Y<_Z`McEV_?|UPc!xZA{9Nx03`%OHv_I?=4H(R#*<@I zuDh*A6iu6_nAfltTy@&lQI!7dAqqRpH5+Tz5UI}kLRRs#qmNJ7PBt}d01@HN60Zw&h|TGl;h;n2WF40Uo2A%3eX~KyR{ATW zvucxfR%qG-xi=#q2bUxziylN0GD6z|8Swd_C$*DMkQpYFXz6G-C*<{dUoMMwW z&=p0)QRdS^bIX8Fii}=cVU{YWS#-(KGt0&-+j9Vl~!1eWFB ztqK(`Bg%z=AbIz)?zB6E{^B7!AhyO)lv!=O5~;lASt77x=6G?LY6ZUIq&_EfXnY_g zwNqob18`$L9VSGEn5g>ope7gsC;r5_nRH`=1|eq5`~r^jZ~JKR9sMNO>UvKTMxQ?Q zeQ(bNtFHW884^)l#Kt9ZhI>z&nXwnsrFaxJPpIiEwf@=_f@^oj!z&kWnNB9h7@p5V z=FP4#Gg(T`$$L@7Y$2wuG7PwAti-1>zJ^#_o&0)P4XO#b_C^!fn8M;rv7}JyrFf>x zEwLo$WQ-PcolnY}Svy*4LthT%1(bBT3uU>9YWu7QWi5&YY?(zdFv6{~bQMl{A$IJ` z;`7FdoJ`pkqjH!*q%#1H@6xEN0Wb21$&L21X1b$k;LQVb7*%Y9}+3q-YJ|I)3%51SnI}<1Q5pvj))Gt;x}_ zY%6M#3tc2=jw&~q5 zhWA9)LQgX=L)bM!P0_`BYXl-QY8>(HePvVLN~8W9o5l0;K=cJZQY+^=Hv%@O(N!Qx zKPfcoywC&$GF+Fd)L@;_+6%_IWx zamRlE3H{6gh79M@VqDZ~CImH#3eljPsSiuSGQ-vRZH@8!-SoD2%dMTWf;l*4hYfK` zca?FZTGIn~am);1%a$eTR7NzsV>mj8v~7~G5x0k?L-EPbZn2q`W@E60|R~V;|t^dpTsxfk*c}tBswziqneuS+vo&2y_FP-{OoO{X7P(2x= z-yQ4CO48jQ5_YR6ks-LzQkToKt-u2I!m>vOtk7 zEmXuvnX6Fy_IGr+zb~zZ3{&db-^(F4CfAIwF*w!{PjAbjGl~2`p}NxFg?o6T#+c!% zH#-SR3;N~ve)lLpyLNK>VnMQPn`Ell=u(JCwsz5?Nwl`m$C|#uod!Qu7;c!cG`^wvNh>+wXSm(2mV}X&u(lC)+m$9acstC~Vu~(eZVo zxnGF2c5q9_0($4nychjR!t;ZjmZopAI#ME0bVzL+7MvbfOtyqCLdV*c@1ALYg_F$rbN5VS?b(D-IaSqZ zimicH=WARhTy<>wv)eEAlXoU7*&{U=w$(H=&Xm-|k!#E=CupGSk~3|f_f+6hj&2iK z#-t6!^rd5z6647&=uM8P!jAApz|@gEGAip+vOt|S+QqBuYg49PM2LWyTB^F5N<4J7 zB9P*o_ZB7CE3H~M(uHL+A=4_25eLh@5S-|H2`1d)RY80erFE)Q zr?|qa&^1{gdN;6I!!1(a77%|xDq&-W3!-x}-y)k?xpVOr8sV!~tnAb5&ko>{q;d%m zJiQ0>$p4k5;1eE(98I&~2HY_!H#J%t_}kk1Ypw$*y!V-Zv-2yRwZyuOmefblO^<`C zAYZ)HA&6so7$@+e&UTxluLcJCHg!CrK3BOjk{G0;sb_i^n^mjxfAefbF!K5*kF=gm37^Hv?3F%wjMi z!4cr=Jr(K|+%V$1sC`{dpkH8+2RQWnOs69pYHU>sx)Id_U4&j$Gu3Up!8XyG_v<(9uK?C7~V3o@d?S3Eeg>zmSh^_w7{>?g-ao zSismI&?wMjSAkP}-HiC;AT?K)bg#Wnb#GqKOm@#-R7^TAk$-`;%0EWf z*PY2R{Y%+ZTw-9!Ny+#uD`yx+v+&}I%9fM!)Rmm6n9rWc{kK$R_QJxqQpooW#yYKd z>R$DxaAS(SWWd*Se&UQS;SZE~Dgcb%gX^zt>tuV^I`-^20@vpz0N)2{+qsEquQUpX z`{tC{bO0rX>pNVO|AGA37Qb{Uh2#!iXR(7Wd~Rb2@7|vaGcH_bv4J+YtB>nDer&f1 zGtT%zjtA@WJAV;TK6}yx=g#}0mIvpqU+XY}!hCLv3fHb)^O-;<&$>ukbeM=6ydq{w z$GLumy;1lz;tIwRC>3u7o<4sZHq+!qWpWwh}Evo?KEHwDTMX#o9v;F z7_yIf7061Tf>jVx(*Of1pI|!p9+F$k?f}sb^b_Z=cP#{c@e?yALA5{3u171PZE(bH z1?xMYHPEFK6~5p5h7tE~iNymiZtzYY;|E-Hzxd6sv{_-1qX1)WgaZ+`K$%?y#rJDN z5Cxt%bBcui#}_7UgfKjuy0BvnvUIqlzYvl{tYXWqgK7NEeF99i^Qyj)+`5y4~khDcfs#T*+8c_?N%ooHCg6Hh8h|Oig~T z_+j@kzF1EN~H?(PvsJ|J#J}@(*c1yaZHTI|lz_TD* zdi@Pom^d*E1SXG=hHAw1-@_~SD@Vq#Y70BGE5HTb*1~Dq9BvBCq@Duo)_s_Z2N>6I zaD(xMgcY1j?%HO$y+fNB+A>1<;MOJobxa-D6bS>N`$vn)hbHI~%Lb2ef|(jZCGN3u z!kP7Q&u@rjLRE3XtpB069#&lSchtv;njuQr2)HK-_gRfPvWHStbSv{`i0x*am?qUx z7mr-`*OF9fo~_=vIbfv@C~{-ZE_gT*i^$_Jq{x5cFXweTuz?+5qR z4?7!@cLR0zEWStV;xJ%;J9e2r+8MaZu!V5+5DWSZ>bGz~QFiY$j;SY>rRm+4qdklU zaXP3pN;XYavhoW@676lzp%uBhczbsb-U9)(WD~W7bzhnPj{|gD+1e_wV;#~l5`$Vo zf@LrJs>J%XEO=8`B$Yp2ZAj&=;U;iOLTC-Cpl+1e02}F{odLyW2oPrf_x=m9NaEL+lmi7z|osVKTUh9H(Cv+gP zS94DPK5hrF&TlJv8I~7oX@Le6%RX>|VVz+5a7etrjhIFvqh)fj$Vmb~?jw1g5zhKBH96+uX2v zc_AN%18QroK9_`&B^mo0(u)q?{6l8K(Hsh1Af4%nFW8FvR%0DH;@Oulj39Qokj^BP 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/log4j.properties b/src/main/resources/log4j.properties new file mode 100644 index 0000000..66ea144 --- /dev/null +++ b/src/main/resources/log4j.properties @@ -0,0 +1,24 @@ +### ### +log4j.rootLogger = debug,stdout,D,E + +### Ϣ̧ ### +log4j.appender.stdout = org.apache.log4j.ConsoleAppender +log4j.appender.stdout.Target = System.out +log4j.appender.stdout.layout = org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n + +### DEBUG ϵ־=E://logs/error.log ### +log4j.appender.D = org.apache.log4j.DailyRollingFileAppender +log4j.appender.D.File = logs/log.log +log4j.appender.D.Append = true +log4j.appender.D.Threshold = DEBUG +log4j.appender.D.layout = org.apache.log4j.PatternLayout +log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n + +### ERROR ϵ־=E://logs/error.log ### +log4j.appender.E = org.apache.log4j.DailyRollingFileAppender +log4j.appender.E.File =logs/error.log +log4j.appender.E.Append = true +log4j.appender.E.Threshold = ERROR +log4j.appender.E.layout = org.apache.log4j.PatternLayout +log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n \ No newline at end of file diff --git a/src/main/serverRes/META-INF/MANIFEST.MF b/src/main/serverRes/META-INF/MANIFEST.MF new file mode 100644 index 0000000..1d285bc --- /dev/null +++ b/src/main/serverRes/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: com.bonus.autoweb.TestMain + diff --git a/src/main/uiRes/META-INF/MANIFEST.MF b/src/main/uiRes/META-INF/MANIFEST.MF new file mode 100644 index 0000000..a43d13d --- /dev/null +++ b/src/main/uiRes/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: com.bonus.autoweb.UI.frame.Jframe +