import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Iterator;
import java.util.Map;//实现打开浏览器并跳到指定网址的类
public class SignIn {public static void openURL(String browser,String userName,String passWord) {String head = "http://000.000.000.000:0000/logincheck.php?UNAME=";String tail = "&PASSWORD=";String logUrl = head+userName+tail+passWord;try {//   日期格式化SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//    获取当前时间Date nowTime = new Date();String time = df.format(nowTime);//   判断今天是周几int weekDay = dayForWeek(time);if (weekDay != 7) {//   处理浏览器路径Map map = System.getenv();for (Iterator itr = map.keySet().iterator(); itr.hasNext();) {String value = (String) map.get((String) itr.next());if (value.contains("firefox.exe")) {browser = value;break;} else if (value.contains("chrome.exe")) {browser = value;}}int a = 5 ;int b = 6 ;int c = 5;int d = 6;// 登录for (int i = 0; i < 5; i++) {//进行五次尝试if (a != b) {Process process = Runtime.getRuntime().exec(new String[] { browser, logUrl });a = process.waitFor();b = process.exitValue();}//   签到String signInUrlOne = "http://服务器IP:端口/general/attendance/personal/duty/submit.php?REGISTER_TYPE=1&USER_DUTP=1";String signInUrlTwo = "http://服务器IP:端口/general/attendance/personal/duty/submit.php?REGISTER_TYPE=2&USER_DUTP=1";String signInUrlThree = "http://服务器IP:端口/general/attendance/personal/duty/submit.php?REGISTER_TYPE=3&USER_DUTP=1";String signInUrlFour = "http://服务器IP:端口/general/attendance/personal/duty/submit.php?REGISTER_TYPE=4&USER_DUTP=1";// 判断时间为(早上签到,中午签退,中午签到,下午签退)if (c != d) {SimpleDateFormat clock = new SimpleDateFormat("HH:mm");//设置时间格式String now = clock.format(nowTime);// 早上签到String beginTimeOne = "07:00";String endTimeOne = "08:00";if (belongCalendar(now, beginTimeOne, endTimeOne)) {Process one = Runtime.getRuntime().exec(new String[] { browser, signInUrlOne });System.out.println("早上签到");c = one.waitFor();d = one.exitValue();}//   中午签退String beginTimeTwo = "12:10";String endTimeTwo = "12:25";if (belongCalendar(now, beginTimeTwo, endTimeTwo)) {Process two = Runtime.getRuntime().exec(new String[] { browser, signInUrlTwo });System.out.println("中午签退");c = two.waitFor();d = two.exitValue();}//   中午签到String beginTimeThree = "12:30";String endTimeThree = "13:00";if (belongCalendar(now, beginTimeThree, endTimeThree)) {Process three = Runtime.getRuntime().exec(new String[] { browser, signInUrlThree });System.out.println("中午签到");c = three.waitFor();d = three.exitValue();}//   下午签退String beginTimeFour = "17:50";String endTimeFour = "24:00";if (belongCalendar(now, beginTimeFour, endTimeFour)) {Process four = Runtime.getRuntime().exec(new String[] { browser, signInUrlFour });System.out.println("下午签退");c = four.waitFor();d = four.exitValue();}}}System.out.println("时间:"+time+",签到");}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (Throwable e) {// TODO Auto-generated catch blocke.printStackTrace();}}/*** 判断输入的日期是星期几* @param pTime* @return* @throws Throwable*/public static int dayForWeek(String time) throws Throwable {SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");Date tmpDate = format.parse(time);Calendar cal = new GregorianCalendar();cal.set(tmpDate.getYear(), tmpDate.getMonth(), tmpDate.getDay());return cal.get(Calendar.DAY_OF_WEEK);}/*** 判断时间是否在时间段内* @param nowTime* @param beginTime* @param endTime* @return*/public static boolean belongCalendar(String nowTime, String beginTime, String endTime) {SimpleDateFormat clock = new SimpleDateFormat("HH:mm");//设置时间格式Calendar date = Calendar.getInstance();Calendar begin = Calendar.getInstance();Calendar end = Calendar.getInstance();try {Date now = clock.parse(nowTime);Date begins = clock.parse(beginTime);Date ends = clock.parse(endTime);date.setTime(now);begin.setTime(begins);end.setTime(ends);} catch (ParseException e) {// TODO Auto-generated catch blocke.printStackTrace();}if (date.after(begin) && date.before(end)) {return true;} else {return false;}}}

以上就是具体的操作流程,前提是你得知道你们公司的服务器IP以及端口


public class Demo {public static void main(String[] args) {//   浏览器地址(注意自己的浏览器安装位置)String browser = "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe";//  "D:\\DevelopmentTools\\FireFoxDeveloperEdition\\firefox.exe";//   火狐浏览器// "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe";// 谷歌浏览器// 登录网址    后面要拼接//String logUrl = "http://服务器IP:端口/logincheck.php?UNAME=用户名&PASSWORD=密码";//    这里可以填写多个账户进行登陆String [] userNameList = {"用户名"};String [] passWordList = {"密码"};for (int i = 0 ;i<userNameList.length ;i++ ) {SignIn.openURL(browser,userNameList[i],passWordList[i]);}}}

通达OA办公软件PC网页端签到相关推荐

  1. OA办公软件如何帮助企业更好地实现移动办公

    编者按:OA协同办公系统随着信息技术的发展已广泛应用在各大中小型企业管理上,那么OA办公软件如何帮助企业更好的实现移动办公的呢?来跟小编一起往下看. 关键词:OA系统.移动端审批.资料共享. 随着计算 ...

  2. 有哪些好用的OA办公软件?你的公司在用哪个?

    近几年,OA办公系统在市场中表现活跃,越来越多的OA软件进入企事业单位,使企事业单位工作更有效,管理更科学.但是在"人才济济"的中国OA市场中,有哪些经典的OA办公系统?你公司用的 ...

  3. 8大主流OA办公软件比拼,传统VS新秀你PICK谁?

    OA办公软件简介 OA即Office Automation,自动化办公.OA是一个动态概念,即将办公整合在一个平台上,达到协同办公的目的.所以又衍生出一个新含义--协同办公.随着计算机.通信和网络技术 ...

  4. 适合中小企业的OA办公软件有哪些特点?

    中小型企业和大中型企业相比,不管是日常的内部管理还是业务与市场定位,都存在很大不同点. 就大中型企业来说,它需求的管理系统众多,也需要大量的定制开发功能,OA需求复杂多样,同时大中型企业中,IT人才和 ...

  5. 用友致远协同OA办公软件可以给外驻领导带来什么好处?

    用友致远协同OA办公软件可以给外驻领导带来什么好处?武汉市兴鑫高科技发展有限公司是中央.武汉市行政事业单位政府采购定点供应商. 分支机构层:各驻外办事处领导可以通过协同办公做到: 1.分解.协调上级发 ...

  6. 微信开放平台开发第三方授权登陆(二):PC网页端

    微信开放平台开发系列文章: 微信开放平台开发第三方授权登陆(一):开发前期准备 微信开放平台开发第三方授权登陆(二):PC网页端 微信开放平台开发第三方授权登陆(三):Android客户端 微信开放平 ...

  7. 为啥移动oa办公软件提倡无纸化是未来的大势所趋?

    近年来,随着互联网技术的高速发展与创新,各企业也开始逐渐进入信息化时代,市面上各种移动oa办公软件也开始展露头角. 于此同时,纸张的定义在办公方面也正在潜移默化的发生着变化.例如,移动oa办公软件的出 ...

  8. 心通达OA办公系统与传统办公模式相比好在哪里

    传统办公的模式 传统的办公模式是企业租赁办公场地,员工在公司的区域内进行办公. 部门内部及部门之间的任务完成完全靠人力或借助传统的交通工具等手段完成. 传统办公模式的缺点 众所周知,这种模式受限于时间 ...

  9. 教育行业oa办公软件哪个好?

    现在的oa办公软件厂商都是针对多个行业对oa办公软件进行全方位开发的,每个oa办公软件厂商在各个行业都有oa办公软件实施成功的案例的.具体要看教育行业如何选型到适合的oa办公软件了. 教育oa办公软件 ...

最新文章

  1. session一致性架构设计极简教程
  2. jlinkarm目标程序和boot文件一起刷_华硕游戏手机Rog2代ROOT后wifi不能开启-刷回官方系统实用教程...
  3. AWS — AWS 上的 5G 专网部署模式
  4. 击败安全系统系列文章之突破卡巴6
  5. blockboard vs canvas
  6. 五十八、深入了解 Java 中的注解和自定义注解
  7. 输出所有的合法的括号组合
  8. python函数修饰符@的使用
  9. SAP Spartacus产品转盘页面(ProductCarousel)的产品数据批量加载实现细节
  10. java 根据经纬度计算多边形的面积_强基初中数学amp;学Python——第二十九课 根据海伦秦九韶公式编程计算三角形面积...
  11. 如何写年终总结(转)
  12. scrapy newspaper bug
  13. 爱普生690k打印针测试软件_办公室打印机什么牌子好 办公室打印机怎么选购【详解】...
  14. 特征提取与检测(五) : LBP特征
  15. SSH面试常被问到的问题
  16. R语言--Apriori关联分析
  17. 暗色调,调出紫红色的暗调晨曦照片效果(转)
  18. 火车硬座、高铁动车、国内经济舱 座位分布表
  19. 人脸识别(识别程序)
  20. gvim 二进制_GVim配置文件_vimrc

热门文章

  1. Pr:脱机文件及处理方法
  2. HTML怎么CSS表格嵌套,CSS#/ HTML5 Chrome中的嵌套表格和子填充
  3. Centos 7.6 Install bitnami_Redmine+agile 4.0.1
  4. 设置数字范围的html语言,Excel设置限定数字范围的方法步骤
  5. 情绪调节的自适应_自我调节情绪的八种好办法
  6. 广度优先搜索 宽度优先搜索 迷宫问题 最短路径 最少操作 由近及远 队列
  7. Linux 下的屏幕取词技术
  8. 电子劳动合同,为企业用工护航
  9. PDF2Word v1.40 汉化版
  10. PAT 1074 宇宙无敌加法器