Commit c0267c6e authored by 马超's avatar 马超
Browse files

值班管理

parent 89d961a8
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -100,6 +100,7 @@
.sc-item .zb_user {
  font-size:13px;
  font-weight:100;
  cursor: pointer;
}
.sc-today .day {
  color: white !important;
+1.3 KiB
Loading image diff...
+22 −3
Original line number Diff line number Diff line
@@ -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();
+16 −60
Original line number Diff line number Diff line
<%--
  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();
                                var index = parent.layer.getFrameIndex(window.name);
                                parent.layer.close(index);
							});
					} else {
						layer.msg('操作失败', {
+155 −0
Original line number Diff line number Diff line
<%--
  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
Loading