Commit c0267c6e authored by 马超's avatar 马超

值班管理

parent 89d961a8
......@@ -100,6 +100,7 @@
.sc-item .zb_user {
font-size:13px;
font-weight:100;
cursor: pointer;
}
.sc-today .day {
color: white !important;
......
......@@ -97,8 +97,12 @@
String mx_id = pub.trimNull(request.getParameter("mx_id"));
String b_time = pub.trimNull(request.getParameter("b_time"));
String e_time = pub.trimNull(request.getParameter("e_time"));
String mx_day = mx_id.substring(mx_id.indexOf("_")+1,mx_id.length());
String mxId=mx_id.substring(0,mx_id.indexOf("_"));;
String mx_day ="";
String mxId="";
if(!"".equals(mx_id)){
mx_day = mx_id.substring(mx_id.indexOf("_")+1,mx_id.length());
mxId=mx_id.substring(0,mx_id.indexOf("_"));;
}
int mxDay=1;
if(!"".equals(mx_day)){
mxDay=Integer.parseInt(mx_day);
......@@ -117,7 +121,7 @@
List list_add= new ArrayList();
list_add.add(b_time);
list_add.add(e_time);
list_add.add(mx_id);
list_add.add(mxId);
list_add.add(add_time);
list_add.add(add_user);
conn.setAutoCommit(false);
......@@ -188,6 +192,21 @@
}
}
}
}else if("delete".equals(action)){
is_oper = cf.executeUpdate(conn, "delete from zb_zdpb where b_time=? and e_time=?"
, new Object[]{b_time,e_time});
if (!is_oper) {
System.out.println("删除zb_zdpb表出错了" + cf.getMsg());
conn.rollback();
return;
}
is_oper = cf.executeUpdate(conn, "delete from zb_user_gl where year>=? and year<=?"
, new Object[]{b_time,e_time});
if (!is_oper) {
System.out.println("删除zb_user_gl表出错了" + cf.getMsg());
conn.rollback();
return;
}
}
if (!is_oper) {
conn.rollback();
......
<%--
Created by IntelliJ IDEA.
User: Administrator
Date: 2020/9/11
Time: 12:54
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="com.censoft.common.base.Pub" %>
<%@ page import="com.censoft.common.db.ConnectionFactory" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.util.Hashtable" %>
<%@ page import="java.util.Vector" %>
<%
ConnectionFactory cf = new ConnectionFactory();
Pub pub = new Pub();
Connection conn = null;
Vector v_list = null;
Vector v_type_list = null;
String mx_id = pub.trimNull(request.getParameter("mx_id"));
String action = pub.trimNull(request.getParameter("action"));
Hashtable ht = new Hashtable();
StringBuffer sql = new StringBuffer();
StringBuffer group_sql = new StringBuffer();
int listSize=1;
try {
conn = com.censoft.db.DBUtil.getConnection();
} catch (Exception e) {
out.println("查询用户信息异常" + e);
return;
} finally {
if (conn != null) {
try {
conn.close();
} catch (Exception e) {
}
}
}
%>
<style>
.input-three {
width: 22%
}
.input-two {
width: 32%
}
.col-sm-2{
width:14%;
}
......@@ -53,8 +8,6 @@
}
.btn-red{ background-color:red;border: red}
.btn-green{ background-color:green;border: green}
</style>
<div class="">
<form class="form form-horizontal" id="form-admin-add">
......@@ -95,18 +48,19 @@
<div class="cl mb-10 bk-gray " style="height: 50px;">
<div class="col-sm-3 pd-10" style="width:100%;text-align: center;">
<input class="btn btn-primary radius btn-green" type="button" onclick="javascript:saveForm();" value="&nbsp;&nbsp;保存&nbsp;&nbsp;">
<input class="btn btn-primary radius btn-red" type="button" onclick="javascript:deleteForm();" value="&nbsp;&nbsp;重置&nbsp;&nbsp;">
</div>
</div>
<script src="<%=request.getContextPath()%>/js/Convert_Pinyin.js"></script>
<script>
function viewDeptOrUserInfo(title, url, w, h) {
location.href=url;
}
function saveForm() {
if($("#b_time").val()==''||$("#e_time").val()==''){
layer.alert("时间不能为空",{icon:5,title:"提示"});
return false;
}
if($("#mx_id option:selected").val()==''){
layer.alert("请选择模型",{icon:5,title:"提示"});
return false;
}
$.ajax({
type: "POST",
url: "./action.jsp",
......@@ -115,7 +69,7 @@
if (msg.indexOf("success") >= 0) {
layer.msg('操作成功!', {icon: 1, time: 1000},
function () {
//parent.searchModel();
window.parent.location.reload();
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
});
......@@ -130,20 +84,22 @@
}
});
}
function deleteUser(user_id,p_user_id){
layer.confirm('确认要删除吗?', function (index) {
function deleteForm(){
if($("#b_time").val()==''||$("#e_time").val()==''){
layer.alert("时间不能为空",{icon:5,title:"提示"});
return false;
}
layer.confirm('确认要重置吗?', function (index) {
$.ajax({
type: "POST",
url: "./action.jsp?&p_user_id="+p_user_id+"&user_id="+user_id+"&action=delete",
url: "./action.jsp?b_time="+$("#b_time").val()+"&e_time="+$("#e_time").val()+"&action=delete",
success: function (msg) {
if (msg.indexOf("success") >= 0) {
layer.msg('操作成功!', {icon: 1, time: 1000},
function () {
location.reload();
if(rel_user_id!=''){
window.parent.location.reload();
}
parent.searchModel();
window.parent.location.reload();
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
});
} else {
layer.msg('操作失败', {
......
<%--
Created by IntelliJ IDEA.
User: mc
Date: 2021/7/7
Time: 15:12
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import=" java.io.BufferedInputStream" %>
<%@ page import=" java.io.BufferedOutputStream" %>
<%@ page import=" java.io.File" %>
<%@ page import=" java.io.FileInputStream" %>
<%@ page import=" java.io.FileOutputStream" %>
<%@ page import=" java.io.IOException" %>
<%@ page import=" java.io.InputStream" %>
<%@ page import=" java.io.OutputStream" %>
<%@ page import=" java.text.SimpleDateFormat" %>
<%@ page import=" javax.servlet.http.HttpServletResponse" %>
<%@ page import="com.censoft.common.base.Pub" %>
<%@ page import="com.censoft.common.db.ConnectionFactory" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.util.*" %>
<%@ page import="org.apache.poi.xssf.usermodel.*" %>
<%@ page import="org.apache.poi.ss.util.CellRangeAddress" %>
<%!
private void download(String path, HttpServletResponse response) {
try {
// path是指欲下载的文件的路径。
File file = new File(path);
// 取得文件名。
String filename = file.getName();
// 以流的形式下载文件。
InputStream fis = new BufferedInputStream(new FileInputStream(path));
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
// 清空response
response.reset();
// 设置response的Header
response.addHeader("Content-Disposition", "attachment;filename="+ new String(filename.getBytes()));
response.addHeader("Content-Length", "" + file.length());
OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
response.setContentType("application/vnd.ms-excel;charset=utf-8");
toClient.write(buffer);
toClient.flush();
toClient.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
public static String getTel(ConnectionFactory cf,Connection conn,String user_name) {
String tel="";
Vector userList = cf.doQuery(conn,"select tel from zb_user where user_name=? "
,null,new Object[]{user_name});
if(userList!=null && userList.size()>0){
Hashtable ht1 = (Hashtable) userList.get(0);
tel = (String) ht1.get("tel");
}
return tel;
}
%>
<%
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
ConnectionFactory cf = new ConnectionFactory();
Pub pub = new Pub();
Connection conn = null;
String year = pub.trimNull(request.getParameter("exportDate"));
System.out.println(year);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
String fileName = sdf.format(new Date()) + ".xlsx";
// 文件路径
String filePath = fileName;
try {
conn = com.censoft.db.DBUtil.getConnection();
if(!"".equals(year)){
year=year.substring(0,year.length()-1);
}
String[] years=year.split(",");
StringBuffer sb = new StringBuffer();
sb.append("select * from zb_user_gl where 1=1 ");
sb.append(" and year in ( ");
if(years!=null&&years.length>0){
for(int m=0;m<years.length;m++){
if(m==years.length-1){
sb.append("'" + years[m] + "'");
}else{
sb.append("'" + years[m] + "',");
}
}
}
sb.append(" )");
sb.append(" order by year asc,id asc");
Vector v_list = cf.doQuery(conn, sb.toString(), null, new Object[]{});
if (v_list == null) {
System.out.println("查询出错"+cf.getMsg());
return;
}
// 输出流
OutputStream os = new FileOutputStream(filePath);
// 工作区
XSSFWorkbook wb = new XSSFWorkbook();
// 工作区名
XSSFSheet sheet = wb.createSheet(year+"值班统计");
XSSFCellStyle style=wb.createCellStyle();
style.setAlignment(XSSFCellStyle.ALIGN_CENTER);
style.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);//水平垂直
XSSFCellStyle cs=wb.createCellStyle();
cs.setWrapText(true);
// 创建表头
String values="日期,班种,姓名及电话";
XSSFRow row = sheet.createRow(0);
String[] value=values.split(",");
for(int i=0;i<3;i++){
XSSFCell row_0=row.createCell(i);
row_0.setCellValue(value[i]);
row_0.setCellStyle(style);
}
// 遍历数据装进table
for (int i = 0; i < v_list.size(); i++) {
// sheet.createRow(i+1) 因为表头是0
Hashtable ht = (Hashtable) v_list.get(i);
String user_name=(String)ht.get("zb_user");
String[] user_names=user_name.split(",");
XSSFRow rows = sheet.createRow(i + 1);
String id = pub.trimNull((String) ht.get("id"));
rows.createCell(0).setCellValue((String)ht.get("year"));
rows.createCell(1).setCellValue((String)ht.get("zb_type"));
String userTel="";
for(int n=0;n<user_names.length;n++) {
String telphone = getTel(cf, conn, user_names[n]);
userTel=userTel+user_names[n]+":"+telphone+"\n";
}
rows.createCell(2).setCellValue(userTel);
}
for(int i=1;i<=v_list.size();i=i+3){
sheet.addMergedRegion(new CellRangeAddress(i,i+2,0,0));//合并单元格
}
wb.write(os);
// 关闭输出流
os.close();
} catch (Exception e) {
e.printStackTrace();
}finally {
if (conn != null) {
try {
conn.close();
} catch (Exception e) {
}
}
}
download(filePath, response);
%>
\ No newline at end of file
<%--
Created by IntelliJ IDEA.
User: mc
Date: 2021/7/7
Time: 15:12
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import=" java.io.BufferedInputStream" %>
<%@ page import=" java.io.BufferedOutputStream" %>
<%@ page import=" java.io.File" %>
<%@ page import=" java.io.FileInputStream" %>
<%@ page import=" java.io.FileOutputStream" %>
<%@ page import=" java.io.IOException" %>
<%@ page import=" java.io.InputStream" %>
<%@ page import=" java.io.OutputStream" %>
<%@ page import=" java.text.SimpleDateFormat" %>
<%@ page import=" javax.servlet.http.HttpServletResponse" %>
<%@ page import="com.censoft.common.base.Pub" %>
<%@ page import="com.censoft.common.db.ConnectionFactory" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.util.*" %>
<%@ page import="org.apache.poi.xssf.usermodel.*" %>
<%@ page import="org.apache.poi.ss.util.CellRangeAddress" %>
<%!
private void download(String path, HttpServletResponse response) {
try {
// path是指欲下载的文件的路径。
File file = new File(path);
// 取得文件名。
String filename = file.getName();
// 以流的形式下载文件。
InputStream fis = new BufferedInputStream(new FileInputStream(path));
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
// 清空response
response.reset();
// 设置response的Header
response.addHeader("Content-Disposition", "attachment;filename="+ new String(filename.getBytes()));
response.addHeader("Content-Length", "" + file.length());
OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
response.setContentType("application/vnd.ms-excel;charset=utf-8");
toClient.write(buffer);
toClient.flush();
toClient.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
public static String getTel(ConnectionFactory cf,Connection conn,String user_name) {
String tel="";
Vector userList = cf.doQuery(conn,"select tel from zb_user where user_name=? "
,null,new Object[]{user_name});
if(userList!=null && userList.size()>0){
Hashtable ht1 = (Hashtable) userList.get(0);
tel = (String) ht1.get("tel");
}
return tel;
}
%>
<%
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
ConnectionFactory cf = new ConnectionFactory();
Pub pub = new Pub();
Connection conn = null;
String year = pub.trimNull(request.getParameter("exportDate"));
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
String fileName = sdf.format(new Date()) + ".xlsx";
// 文件路径
String filePath = fileName;
try {
conn = com.censoft.db.DBUtil.getConnection();
StringBuffer sb = new StringBuffer();
sb.append("select * from zb_user_gl where year=? ");
sb.append(" order by order_num asc");
Vector v_list = cf.doQuery(conn, sb.toString(), null, new Object[]{year});
if (v_list == null) {
System.out.println("查询出错"+cf.getMsg());
return;
}
// 输出流
OutputStream os = new FileOutputStream(filePath);
// 工作区
XSSFWorkbook wb = new XSSFWorkbook();
// 工作区名
XSSFSheet sheet = wb.createSheet(year+"值班统计");
XSSFCellStyle style=wb.createCellStyle();
style.setAlignment(XSSFCellStyle.ALIGN_CENTER);
style.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);//水平垂直
XSSFCellStyle cs=wb.createCellStyle();
cs.setWrapText(true);
// 创建表头
String values="日期,班种,姓名及电话";
XSSFRow row = sheet.createRow(0);
String[] value=values.split(",");
for(int i=0;i<3;i++){
XSSFCell row_0=row.createCell(i);
row_0.setCellValue(value[i]);
row_0.setCellStyle(style);
}
// 遍历数据装进table
for (int i = 0; i < v_list.size(); i++) {
// sheet.createRow(i+1) 因为表头是0
Hashtable ht = (Hashtable) v_list.get(i);
String user_name=(String)ht.get("zb_user");
String[] user_names=user_name.split(",");
XSSFRow rows = sheet.createRow(i + 1);
String id = pub.trimNull((String) ht.get("id"));
rows.createCell(0).setCellValue((String)ht.get("year"));
rows.createCell(1).setCellValue((String)ht.get("zb_type"));
String userTel="";
for(int n=0;n<user_names.length;n++) {
String telphone = getTel(cf, conn, user_names[n]);
userTel=user_names[n]+":"+telphone+"\n"+userTel;
}
rows.createCell(2).setCellValue(userTel);
}
for(int i=1;i<=v_list.size();i=i+3){
sheet.addMergedRegion(new CellRangeAddress(i,i+2,0,0));//合并单元格
}
wb.write(os);
// 关闭输出流
os.close();
} catch (Exception e) {
e.printStackTrace();
}finally {
if (conn != null) {
try {
conn.close();
} catch (Exception e) {
}
}
}
download(filePath, response);
%>
\ No newline at end of file
......@@ -19,7 +19,7 @@
<a class="btn btn-primary radius" onclick="zdPb();" >
自动排班
</a>
<a class="btn btn-primary radius" onclick="operList();" >
<a class="btn btn-primary radius" onclick="viewUserWeek();" >
周排班表
</a>
<a class="btn btn-primary radius" onclick="operList();" >
......@@ -59,7 +59,7 @@
daysElement[i].classList.add('sc-othermenth');
}
daysElement[i].querySelector('.day').innerHTML = writeday;
daysElement[i].querySelector('.zb_user').innerHTML = '张三</br>李四';
getZbUser(writeyear,writemonth,writeday,i);
daysElement[i].querySelector('.zb_user_button').innerHTML = '<span onclick="editUser('+writeyear+','+writemonth+','+writeday+');" style="text-align:center;position:absolute; right:0; bottom:0;"><img src="../../images/edit.png" width="20" height="15" /></span>';
//判断是否添加阴历
if (true) {
......@@ -68,7 +68,7 @@
daysElement[i].querySelector('.lunar-day').innerHTML = '';
daysElement[i].classList.add('item-nolunar');
}
//console.log(writeyear+"==="+writemonth+"==="+writeday);
//console.log(writeyear+""+writemonth+""+writeday);
//添加today样式
if (nowYear == writeyear && nowDay == writeday && nowMonth == writemonth) {
this.selectDay = daysElement[i];
......@@ -83,6 +83,17 @@
$("#nowMonth").val(month);
$("#nowDays").val(totalDays.substring(0,totalDays.length-1));
}
function getZbUser(year,month,day,index) {
let daysElement = arrayfrom(this.container.querySelectorAll('.sc-item'));
$.ajax({
type: "post",
url: "list_ajax.jsp?year="+year+"&month="+month+"&day="+day,
success: function (msg) {
daysElement[index].querySelector('.zb_user').innerHTML = msg;
daysElement[index].querySelector('.zb_user').setAttribute("onclick","viewUser("+year+","+month+","+day+")");
}
});
}
function arrayfrom(nidelist) {
let array = [];
[].forEach.call(nidelist, function(v) {
......@@ -90,7 +101,23 @@
});
return array;
}
function editUser(year,month,day) {
function viewUser(year,month,day) {
var url = './viewUser-t.jsp?year='+year+'&month='+month+'&day='+day;
viewDeptOrUserInfo(year+''+month+''+day+'日值班表', url, '1000', '500');
}
function viewUserWeek() {
var url = './viewUserWeek-t.jsp';
viewUserWeekFull('周值班表', url, '1000', '500');
}
function viewUserWeekFull(title, url, w, h) {
var abc = layer.open({
title: title,
type: 2,
content: url,
area: [w, h],
maxmin: true
});
layer.full(abc);
}
function zdPb() {
var url = './edit-t.jsp';
......
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.util.*" %>
<%@ page import="com.censoft.common.db.ConnectionFactory" %>
<%@ page import="com.censoft.common.base.Pub" %>
<%!
public static String getMxId(ConnectionFactory cf,Connection conn,String date) {
String mx_id="";
Vector userList = cf.doQuery(conn,"select mx_id from zb_zdpb where b_time<=? and e_time>=? order by add_time desc limit 1",null,new Object[]{date,date});
if(userList!=null && userList.size()>0){
Hashtable ht1 = (Hashtable) userList.get(0);
mx_id = (String) ht1.get("mx_id");
}
return mx_id;
}
%>
<%
ConnectionFactory cf = new ConnectionFactory();
Pub pub = new Pub();
Connection conn = null;
Vector v_list = null;
String year = pub.trimNull(request.getParameter("year"));
String month = pub.trimNull(request.getParameter("month"));
String day = pub.trimNull(request.getParameter("day"));
if(month.length()==1){
month="0"+month;
}
month="-"+month;
if(day.length()==1){
day="0"+day;
}
day="-"+day;
List list_s = new ArrayList();
String result="";
try {
StringBuffer sb = new StringBuffer();
sb.append("select t1.zb_user from zb_user_gl t1 where 1=1 ");
sb.append(" and t1.year=? ");
list_s.add(year+month+day);
conn = com.censoft.db.DBUtil.getConnection();
sb.append(" order by t1.id asc");
v_list = cf.doQuery(conn, sb.toString(), null, list_s.toArray());
if (v_list == null) {
out.println("查询出错" + cf.getMsg());
return;
}
if (v_list != null && v_list.size() > 0) {
for (int i = 0; i < v_list.size(); i++) {
Hashtable ht = (Hashtable) v_list.get(i);
String zb_user = pub.trimNull((String) ht.get("zb_user"));
result=result+zb_user+"</br>";
}
}
out.println(result);
} catch (Exception e) {
out.println("查询异常" + e);
return;
} finally {
if (conn != null) {
try {
conn.close();
} catch (Exception e) {
}
}
}
%>
\ No newline at end of file
<%--
Created by IntelliJ IDEA.
User: Administrator
Date: 2020/9/11
Time: 12:54
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="com.censoft.common.base.Pub" %>
<%@ page import="com.censoft.common.db.ConnectionFactory" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.util.Hashtable" %>
<%@ page import="java.util.Vector" %>
<%!
public static String getMxId(ConnectionFactory cf,Connection conn,String date) {
String mx_id="";
Vector userList = cf.doQuery(conn,"select mx_id from zb_zdpb where b_time<=? and e_time>=? order by add_time desc limit 1",null,new Object[]{date,date});
if(userList!=null && userList.size()>0){
Hashtable ht1 = (Hashtable) userList.get(0);
mx_id = (String) ht1.get("mx_id");
}
return mx_id;
}
public static String getZbTyTime(ConnectionFactory cf,Connection conn,String mx_id,String zb_type) {
String time="";
Vector userList = cf.doQuery(conn,"select b_time,e_time from zb_type where mx_id=? and zb_type=?"
,null,new Object[]{mx_id,zb_type});
if(userList!=null && userList.size()>0){
Hashtable ht1 = (Hashtable) userList.get(0);
time = (String) ht1.get("b_time")+"-"+(String) ht1.get("e_time");
}
return time;
}
public static String getTel(ConnectionFactory cf,Connection conn,String user_name) {
String tel="";
Vector userList = cf.doQuery(conn,"select tel from zb_user where user_name=? "
,null,new Object[]{user_name});
if(userList!=null && userList.size()>0){
Hashtable ht1 = (Hashtable) userList.get(0);
tel = (String) ht1.get("tel");
}
return tel;
}
%>
<%
ConnectionFactory cf = new ConnectionFactory();
Pub pub = new Pub();
Connection conn = null;
Vector v_list = null;
String year = pub.trimNull(request.getParameter("year"));
String month = pub.trimNull(request.getParameter("month"));
String day = pub.trimNull(request.getParameter("day"));
if(month.length()==1){
month="0"+month;
}
month="-"+month;
if(day.length()==1){
day="0"+day;
}
day="-"+day;
Hashtable ht = new Hashtable();
StringBuffer sb = new StringBuffer();
try {
conn = com.censoft.db.DBUtil.getConnection();
sb.append("select t1.zb_user,t1.zb_type from zb_user_gl t1 where 1=1 ");
sb.append(" and t1.year=? ");
sb.append(" order by t1.id asc");
String mxId=getMxId(cf,conn,year+month+day);
v_list=cf.doQuery(conn,sb.toString(),null,new Object[]{year+month+day});
if(v_list==null){
System.out.println("查询该日期值班人员出错"+cf.getMsg());
}
%>
<style>
.col-sm-2{
width:14%;
}
.col-sm-3{
width:19%;
}
.btn-green{ background-color:green;border: green}
</style>
<div >
<a class="btn btn-primary radius" onclick="operList();" >
导出
</a>
</div>
<div class="">
<form class="form form-horizontal" method="post" id="form1" name="form1" action="export_query.jsp" >
<input type="hidden" value="<%=year+month+day%>" name="exportDate" id="exportDate">
<div id="content" class="cl pd-5 bk-gray divOverflow" style="overflow:hidden;margin-bottom: 20px;">
<%
if(v_list.size()>0){
for(int i=0;i<v_list.size();i++){
ht = (Hashtable)v_list.get(i);
String zb_type= pub.trimNull((String) ht.get("zb_type"));
String user_name= pub.trimNull((String) ht.get("zb_user"));
String time=getZbTyTime(cf,conn,mxId,zb_type);
%>
<div style="width:900px;height:120px;float:left;margin-left: 50px;border:0.5px solid #000;">
<div style="width:140px;height:120px;float:left;border-right:0.5px solid #000;text-align: center;line-height: 80px;">
<p style="height:30px;"> <%=zb_type%></p>
<p style="height:30px;">(<%=time%>)</p>
</div>
<%
String[] user_names=user_name.split(",");
for(int n=0;n<user_names.length;n++){
String telphone=getTel(cf,conn,user_names[n]);
%>
<div style="text-align:center;width:140px;height:120px;line-height:120px;float:left;position: relative">
<p style="height:70px;line-height: 80px;margin:0px;">
<img src="../../images/user.png"/>
</p>
<div style="height:50px;margin:0px;">
<div style="height:30px;line-height: 20px;">
<%=user_names[n]%>
</div>
<div style="height:20px;line-height: 10px;">
<%=telphone%>
</div>
</div>
</div>
<%
}
%>
</div>
<%
}
}
%>
</div>
</form>
</div>
<script>
function operList() {
document.form1.submit();
}
</script>
<%
} catch (Exception e) {
out.println("查询用户信息异常" + e);
return;
} finally {
if (conn != null) {
try {
conn.close();
} catch (Exception e) {
}
}
}
%>
\ No newline at end of file
<%--
Created by IntelliJ IDEA.
User: Administrator
Date: 2020/9/11
Time: 12:54
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="com.censoft.common.base.Pub" %>
<%@ page import="com.censoft.common.db.ConnectionFactory" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="java.util.*" %>
<%!
// 获取当前一周的一星期的日期
private static List<String> GetCurrentWeekAllDate(){
// 获取当天的毫秒时间
long currentTimeMillis = System.currentTimeMillis();
List<String> list = getAllWeekDayDateByMillis(currentTimeMillis);
return list;
}
// 获取指定任意日期当周的一星期的日期
private static void GetSomedayWeekAllDate(){
// 指定天的毫秒时间
long currentTimeMillis = getWhatDaySomeDateMillis("2019-10-15");
List<String> list = getAllWeekDayDateByMillis(currentTimeMillis);
for(String date:list) {
// System.out.println("date : "+date);
}
}
// someDataStr 格式:"yyyy-MM-dd"
// 返回 时间毫秒
private static long getWhatDaySomeDateMillis(String someDataStr) {
Date date= new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
try {
date = format.parse(someDataStr);
return date.getTime();
} catch (Exception e) {
e.printStackTrace();
}
return -1;
}
// 获取指定日期毫秒时间得到 星期几
private static String getWhatDaySomeday(long timeMillis) {
Date toDayDate = new Date(timeMillis);
SimpleDateFormat formatE = new SimpleDateFormat("E");
String week =null;
try {
week = formatE.format(toDayDate);
//System.out.println(week);
} catch (Exception e) {
e.printStackTrace();
}
return week;
}
// 根据 星期几到获取与 星期一 相差几天
private static int getHowManyDayFromMonday(String someDay) {
int day = 0;
switch(someDay) {
case "星期一":
day=0;
break;
case "星期二":
day=1;
break;
case "星期三":
day=2;
break;
case "星期四":
day=3;
break;
case "星期五":
day=4;
break;
case "星期六":
day=5;
break;
case "星期日":
day=6;
break;
default:
System.out.println("不存在这样的星期几 : "+ someDay);
break;
}
return day;
}
// 获取指定日期毫秒时间的当周一星期的日期
private static List<String> getAllWeekDayDateByMillis(long timeMills){
List<String> list = new ArrayList<String>();
// 得到指定时间是周几
String week = getWhatDaySomeday(timeMills);
//System.out.println("日期是:" + week);
// 记录与周一的间隔天数
int dayFromMonday=getHowManyDayFromMonday(week);
//System.out.println("dayFromMonday : "+ dayFromMonday);
// 获取这周第一天毫秒值
long dayMillis = 24*60*60*1000;
// 获取这周第一天的日子
long firstOfWeekMillis = timeMills - dayFromMonday * dayMillis;
// 使用 for 循环得到当前一周的日子(7天的日子)
for(long i = firstOfWeekMillis;i<firstOfWeekMillis+ 7 *dayMillis;i+=dayMillis) {
Date targetDate = new Date(i);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String targetDay = format.format(targetDate);
list.add(targetDay);
}
return list;
}
public static String getMxId(ConnectionFactory cf,Connection conn,String date) {
String mx_id="";
Vector userList = cf.doQuery(conn,"select mx_id from zb_zdpb where b_time<=? and e_time>=? order by add_time desc limit 1",null,new Object[]{date,date});
if(userList!=null && userList.size()>0){
Hashtable ht1 = (Hashtable) userList.get(0);
mx_id = (String) ht1.get("mx_id");
}
return mx_id;
}
public static String getZbTyTime(ConnectionFactory cf,Connection conn,String mx_id,String zb_type) {
String time="";
Vector userList = cf.doQuery(conn,"select b_time,e_time from zb_type where mx_id=? and zb_type=?"
,null,new Object[]{mx_id,zb_type});
if(userList!=null && userList.size()>0){
Hashtable ht1 = (Hashtable) userList.get(0);
time = (String) ht1.get("b_time")+"-"+(String) ht1.get("e_time");
}
return time;
}
public static String getTel(ConnectionFactory cf,Connection conn,String user_name) {
String tel="";
Vector userList = cf.doQuery(conn,"select tel from zb_user where user_name=? "
,null,new Object[]{user_name});
if(userList!=null && userList.size()>0){
Hashtable ht1 = (Hashtable) userList.get(0);
tel = (String) ht1.get("tel");
}
return tel;
}
%>
<%
ConnectionFactory cf = new ConnectionFactory();
Pub pub = new Pub();
Connection conn = null;
Vector v_list = null;
Vector v_list_user = null;
Calendar cal = Calendar.getInstance();
Date date=new Date();//现在的日期
cal.setTime(date);
String year=String.valueOf(cal.get(Calendar.YEAR));//获取年
String month = String.valueOf(cal.get(Calendar.MONTH)+1);//获取月(月份从0开始,如果按照中国的习惯,需要加一)
String day=String.valueOf(cal.get(Calendar.DAY_OF_MONTH));//获取日(月中的某一天)
if(month.length()==1){
month="0"+month;
}
month="-"+month;
if(day.length()==1){
day="0"+day;
}
day="-"+day;
Hashtable ht = new Hashtable();
StringBuffer sql = new StringBuffer();
String dates="";
try {
conn = com.censoft.db.DBUtil.getConnection();
String mxId=getMxId(cf,conn,year+month+day);
List<String> dateList=GetCurrentWeekAllDate();
if(dateList!=null && dateList.size()>0){
for(int n=0;n<dateList.size();n++) {
dates=dates+dateList.get(n)+",";
}
}
sql.append("select * from zb_type where mx_id=? order by order_num asc ");
v_list = cf.doQuery(conn, sql.toString(), null, new Object[]{mxId});
%>
<style>
.col-sm-2{
width:14%;
}
.col-sm-3{
width:19%;
}
.btn-green{ background-color:green;border: green}
</style>
<div >
<a class="btn btn-primary radius" onclick="operList();" >
导出
</a>
</div>
<div class="">
<form class="form form-horizontal" method="post" id="form1" name="form1" action="exportWeek.jsp" >
<input type="hidden" value="<%=dates%>" name="exportDate" id="exportDate">
<div style="border: solid 1px #eee;margin-top: 20px;height:550px;overflow: auto;text-align: center">
<div style="width:1250px;height:550px;margin:0 auto;">
<%
for(int i=0;i<v_list.size();i++){
Hashtable ht_2 = (Hashtable) v_list.get(i);
String id=pub.trimNull((String)ht_2.get("id"));
String zb_type=pub.trimNull((String)ht_2.get("zb_type"));
String b_time=pub.trimNull((String)ht_2.get("b_time"));
String e_time=pub.trimNull((String)ht_2.get("e_time"));
StringBuffer sb = new StringBuffer();
sb.append("select t1.zb_user,t1.zb_type from zb_user_gl t1 where 1=1 ");
sb.append(" and t1.year in ( ");
if(dateList!=null&&dateList.size()>0){
for(int m=0;m<dateList.size();m++){
if(m==dateList.size()-1){
sb.append("'" + dateList.get(m) + "'");
}else{
sb.append("'" + dateList.get(m) + "',");
}
}
}
sb.append(" )");
sb.append(" and t1.zb_type=? order by t1.id asc");
v_list_user=cf.doQuery(conn,sb.toString(),null,new Object[]{zb_type});
%>
<%if(i==0){%>
<div style="height:40px;float:left;white-space: nowrap;">
<div style="width:150px;height:40px;float:left;border:0.5px solid #000;">
</div>
<%
for(int n=0;n<dateList.size();n++){
String riqi="";
if(n==0){
riqi="周一";
}else if(n==1){riqi="周二";}
else if(n==2){riqi="周三";}
else if(n==3){riqi="周四 ";}
else if(n==4){riqi="周五";}
else if(n==5){riqi="周六";}
else if(n==6){riqi="周日";}
%>
<div style="width:150px;height:40px;line-height:40px;text-align:center;color:#fff;float:left;border:0.5px solid #000;background-color: #00b7ee">
<%=dateList.get(n)%><%=riqi%>
</div>
<% }%>
</div>
<%}%>
<div style="height:160px;float:left;">
<div style="width:150px;height:160px;float:left;border:0.5px solid #000;text-align: center;line-height: 120px;">
<p style="height:30px;"> <%=zb_type%></p>
<p style="height:30px;">(<%=b_time%>-<%=e_time%>)</p>
</div>
<%
if(v_list_user!=null && v_list_user.size()>0){
for(int n=0;n<v_list_user.size();n++){
Hashtable ht1 = (Hashtable) v_list_user.get(n);
String user_name=pub.trimNull((String)ht1.get("zb_user"));
user_name=user_name.replace(",","</br>");
%>
<div style="text-align:center;width:150px;height:160px;float:left;border:0.5px solid #000;position: relative">
<p style="height:10px;"></p>
<%=user_name%>
</div>
<%}}%>
</div>
<%}%>
</div>
</div>
</form>
</div>
<script>
function operList() {
document.form1.submit();
}
</script>
<%
} catch (Exception e) {
out.println("查询用户信息异常" + e);
return;
} finally {
if (conn != null) {
try {
conn.close();
} catch (Exception e) {
}
}
}
%>
\ No newline at end of file
......@@ -35,7 +35,7 @@
return;
}
%>
<select class="input-text" name="<%=name_id%>" id="<%=name_id%>_id" >
<select class="input-text" name="<%=name_id%>" id="<%=name_id%>" >
<option value=""><%=first_name%></option>
<%
if(v_list!=null && v_list.size()>0){
......
......@@ -28,10 +28,9 @@
if(!"".equals(Mxday)){
divCount=Integer.parseInt(Mxday);
}
String divWidth=(divCount+2)*140+"px";
String divWidth=(divCount+2)*140-80+"px";
StringBuffer sql = new StringBuffer();
StringBuffer sql_day = new StringBuffer();
int listSize=1;
sql.append("select * from zb_type where mx_id=? order by order_num asc ");
sql_day.append("select * from zb_mx_day where mx_id=? and zb_type=? order by day asc ");
try {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment