Home
>
鄂尔多斯中国燃气oa
>
鄂尔多斯oa签到
鄂尔多斯oa签到

time:2020-08-13 09:17:01

author:重庆佰鼎科技有限公司

【Font size: big medium smail

本文由重庆佰鼎科技有限公司提供,重点介绍了oa签到相关内容。重庆佰鼎科技有限公司专业提供中国燃气oa,通达oa怎么,奉贤oa等多项产品服务。公司的产品服务被广泛应用于其专属行业,市场覆盖率高,售后保障良好,质量高,价格低。

oa签到学习主题:OA系统学习目标:

掌握web开发项目实战,熟练使用web开发基础技术考勤管理-签到-前台代码实现jQuery代码,页面初始化绑定事件,怎么实现?

给签到按钮添加id,然后使用jQuery中的click事件给签到按钮绑定一个 单击事件,在单击事件中使用ajax实现页面局部刷新动作。考勤管理-签到-全部功能实现简述签到功能的逻辑?

给签到按钮添加id,然后使用jQuery中的click事件给签到按钮绑定一个单击事件,

在ajax中给url属性绑定一个servlet,在servlet中调用service层,

在service层调用dao层进行业务逻辑判断是否已经签到,如果已经签到,返回数据给servlet,

servlet将已经签到不能重复签到返回给ajax,如果没有签到,则在service层调用dao层,在dao层中进行数据添加,

数据添加成功则表示签到成功,添加失败则表示签到失败。最后使用success中的function函数进行数据回显。ajax实现的步骤?

$("#signin").click(function(){

//发送ajax请求

$.ajax({

url:"duty?method=signin",

type:"post",

dataType:"text",

success:function(data){

if(data == 0){

$("#result").html("签到失败");

}else if(data == 1){

$("#result").html("签到成功");

}else{

$("#result").html("已经签到,不能重复签到");

}

}

});

});

签退-全部功能实现简述签退逻辑。

给签退按钮添加id,然后使用jQuery给签退按钮绑定一个单击事件,在ajax中使用url属性绑定servlet,

在servlet中调用service层,在service层进行业务逻辑操作,判断是否已经签到,如果没有签到则显示没有签到,不能进行签退,

如果已经签到,则调用dao层,在dao层中进行数据库操作,实则就是进行数据库的修改操作。

然后将结果返回给servlet,servlet再将数据回显给ajax。Ajax使用success属性中的function函数进行数据回显。通过Ajax获取查询条件之部门列表进入考勤管理页面之后,如何加载所属部门下拉列表?

使用ajax进行servlet的调用,将部门信息返回给ajax,然后使用eval方法将json格式的数据转成object格式,

然后进行遍历,使用html()方法将数据填充到指定的位置。点击查询后,显示所有签到信息,如何利用ajax实现,简述过程?

在jsp页面中发起ajax请求,在servlet中进行处理servlet调用service层,service层调用dao层,

在dao层中进行条件查询,如果不输入条件,默认为查询所有。最后将结果返回给servlet,servlet将结果推送给ajax,

ajax使用function方法进行接收并进行处理,然后将其展示处理。考勤管理-使用Ajax查询考勤信息

按照条件查询,可以有两种方式,第一种:点击查询按钮之后,请求后台servlet,然后从servlet中跳转到考勤管理页面,还有一种方式:利用ajax查询,请问这两种方式哪一种比较好?优点是什么呢?

使用ajax方式比较好,因为ajax是局部刷新,而从servlet中跳转到指定页面是全部刷新,

每刷新一次都会刷新整个页面,会导致数据重复提交。而ajax仅仅是刷新局部页面,不会导致数据的重复提交。

使用Ajax查询考勤信息2如何拼接考勤信息列表字符串?

var str = "";

for(var i=0;i

str += ''+

''+

''+

''+

''+arr[i].emp.empId+''+

''+arr[i].emp.realName+''+

''+arr[i].emp.dept.deptname+''+

''+arr[i].dtDate+''+

''+arr[i].signinTime+''+

''+arr[i].signoutTime+''+

'';

}

考勤管理-使用Ajax查询考勤信息3如何在后台sql中进行条件的拼接?

StringBuilder sql = new StringBuilder("select dt.*,e.deptno,e.realname,d.deptname"oa签到

+ " from duty dt"

+ " join employee e"

+ " on dt.empid=e.empid"

+ " join dept d"

+ " on e.deptno=d.deptno where 1=1 ");

if(empId != null & !"".equals(empId)){

sql.append(" and dt.empId='"+empId+"'");

}

if(deptno != 0){

sql.append(" and e.deptno="+deptno);

}

if(dtDate != null){

DateFormat df = new SimpleDateFormat("yyyy-MM-dd");

String sdtDate = df.format(dtDate);

sql.append(" and to_char(dtDate,'yyyy-mm-dd')>='"+sdtDate+"'");

}

考勤管理-使用POI导出考勤数据到xls1POI干嘛的?

POI是"Point of Information"的缩写,可以翻译成"信息点",

每个POI包含四方面信息,名称、类别、经度纬度、附近的酒店饭店商铺等信息。

poi就是批量的操作文件或数据的导入以及导出。POI和JXL的区别?

POI

优点:

效率高

支持公式,宏,一些企业应用上会非常实用

能够修饰单元格属性

支持字体、数字、日期操作

缺点:不成熟,代码不能跨平台,

jxl

优点:

Jxl对中文支持非常好,操作简单,方法看名知意。

Jxl是纯javaAPI,在跨平台上表现的非常完美,代码可以再windows或者Linux上运行而无需重新编写

支持Excel 95-2000的所有版本

生成Excel 2000标准格式

支持字体、数字、日期操作

能够修饰单元格属性

支持图像和图表,但是这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。

缺点:效率低,图片支持不完善,对格式的支持不如POI强大

考勤管理-使用POI导出考勤数据到xls2如何使用POI,简述步骤?

使用POI首先导入poi-3.9-20121203.jar包。然后在servlet中实现POI导出Excel代码,

在jsp页面中给绑定按钮添加单击事件,在单击事件中使用ajax发起请求。将请求与servlet进行绑定。如何将后台查到的考勤数据,弄到前台客户端下载为excel,代码如何实现呢?

使用ajax请求,给导出按钮绑定单击事件,当点击导入按钮时,则触发后台的业务逻辑处理与数据库操作,将查询到的结果以Excel的形式下载到客户端。

$("#btn2").click(function(){

//获取三个查询条件的值

var empId = $("#empId").val();

var deptno = $("#deptno").val();

var dtDate = $("#dtDate").val();

//访问指定的servlet,不使用ajax(ajax是是回调函数处理结果的,导出XLS是直接返回流,也不能使用请求转发和重定向)

location.href="duty?method=exportXls&empId="+empId+"&deptno="+deptno+"&dtDate="+dtDate;

});

public void exportXls(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

//获取三个查询条件

String empId = req.getParameter("empId");

String sdeptno = req.getParameter("deptno");

int deptno = 0;

try {

deptno = Integer.parseInt(sdeptno);

} catch (Exception e) {

e.printStackTrace();

}

String sdtDate = req.getParameter("dtDate");

java.sql.Date dtDate = null;

try {

dtDate = java.sql.Date.valueOf(sdtDate);

} catch (Exception e) {

e.printStackTrace();

}

//调用业务层对象

DutyService dutyService = new DutyServiceImpl();

List dutyList = dutyService.findDuty(empId,deptno,dtDate);

//调用流对象创建Excel

createExcel(dutyList,resp);

}

private static void createExcel(List list,HttpServletResponse resp) {

// 创建一个Excel文件

HSSFWorkbook workbook = new HSSFWorkbook();

// 创建一个工作表

HSSFSheet sheet = workbook.createSheet("考勤信息表");

CellRangeAddress region = new CellRangeAddress(0, // first row

0, // last row

0, // first column

5 // last column

);

sheet.addMergedRegion(region);

HSSFRow hssfRow = sheet.createRow(0);

HSSFCell headCell = hssfRow.createCell(0);

headCell.setCellValue("尚学堂考勤信息");

// 设置单元格格式居中

HSSFCellStyle cellStyle = workbook.createCellStyle();

cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);

headCell.setCellStyle(cellStyle);

// 添加表头行

hssfRow = sheet.createRow(1);

// 添加表头内容

headCell = hssfRow.createCell(0);

headCell.setCellValue("用户名");

headCell.setCellStyle(cellStyle);

headCell = hssfRow.createCell(1);

headCell.setCellValue("真实姓名");

headCell.setCellStyle(cellStyle);

headCell = hssfRow.createCell(2);

headCell.setCellValue("所属部门");

headCell.setCellStyle(cellStyle);

headCell = hssfRow.createCell(3);

headCell.setCellValue("出勤日期");

headCell.setCellStyle(cellStyle);

headCell = hssfRow.createCell(4);

headCell.setCellValue("签到时间");

headCell.setCellStyle(cellStyle);

headCell = hssfRow.createCell(5);

headCell.setCellValue("签退时间");

headCell.setCellStyle(cellStyle);

// 添加数据内容

for (int i = 0; i < list.size(); i++) {

hssfRow = sheet.createRow((int) i + 2);

Duty duty = list.get(i);

// 创建单元格,并设置值

HSSFCell cell = hssfRow.createCell(0);

cell.setCellValue(duty.getEmp().getEmpId());

cell.setCellStyle(cellStyle);

cell = hssfRow.createCell(1);

cell.setCellValue(duty.getEmp().getRealName());

cell.setCellStyle(cellStyle);

cell = hssfRow.createCell(2);

cell.setCellValue(duty.getEmp().getDept().getDeptname());

cell.setCellStyle(cellStyle);

cell = hssfRow.createCell(3);

cell.setCellValue(duty.getDtDate());

cell.setCellStyle(cellStyle);

cell = hssfRow.createCell(4);

cell.setCellValue(duty.getSigninTime());

cell.setCellStyle(cellStyle);

cell = hssfRow.createCell(5);

cell.setCellValue(duty.getSignoutTime());

cell.setCellStyle(cellStyle);

}

// 保存Excel文件

try {

resp.setContentType("application/vnd.ms-excel"); //以XLS形式存储

resp.setHeader("Content-disposition", "attachment; fileName=duty.xls"); //以附件形式下载,文件名为duty.xls

//OutputStream outputStream = new FileOutputStream("D:/duty.xls"); //存储到服务器端

ServletOutputStream outputStream = resp.getOutputStream(); //存储到客户端

workbook.write(outputStream);

outputStream.close();

} catch (Exception e) {

e.printStackTrace();

}

}

简述给出的OperateExcelUtil.java的功能含义?

OperateExcelUtil.java中封装了导入Excel以及导出Excel功能,可以依据此类中的方法进行模仿修改为自己的方法,实现数据的导入导出格式为Excel。报销管理-理解数据库表和创建实体类简述系统中表之间的关系:

报销单包含多个明细,报销单明细所属于报销单。报销管理-添加报销单-视图层

在完成视图层操作中,有哪些注意事项?

报销人、审核人已经确定,不需要输入

报销时间、报销总金额不需要输入在页面中,如何利用jQuery完成添加报销项操作?

function addExpenseItem(id){

//获取上级标签

var table = $(id);

//创建当前标签

var content = $(''+

'

'+

''+

''+oa签到

'');

//加入上级标签

table.append(content);

$(".select1").uedSelect({

width : 345

});

}

在页面中,如何利用jQuery完成添加图片操作?

function addPhoto(){

//获取上传图片li

var li = $("#uploadphoto");

//console.info(li);

//准备添加的dom对象

var content=$(""+

"");

//加入到指定位置

li.append(content);

}

报销管理-添加报销单-控制层页面中假如添加了多个报销项,那么在控制层接收数据的思路是什么呢?怎么接收数据呢?

将各个报销项的数据封装到一个实体中,然后将所有的报销项添加到一个list集合中,将集合中的数据封装到总的报销单中。为什么在数据库中有状态码字段,这个字段的作用是什么?缺少这个字段可以吗?

用来表示报销单的审核状态,不可以缺少,如果缺少了,则无法确定报销单的审核状态,在实际公司中容易导致资金出现问题。

Reprint please indicate:http://yndz.cnsoftweb.com/OA-4097.html