Ver código fonte

待办报错信息功能开发

user5 2 anos atrás
pai
commit
f985f0fafe

+ 2 - 1
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectSignatureCallBackController.java

@@ -27,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.*;
 
@@ -342,7 +343,7 @@ public class RuralProjectSignatureCallBackController extends BaseController {
      * @return
      */
     @RequestMapping(value = "/getSignatureCoordinates", method=RequestMethod.POST)
-    public String getSignatureCoordinates(PresignCallBack presignCallBack) {
+    public String getSignatureCoordinates(PresignCallBack presignCallBack, HttpServletRequest request , HttpServletResponse response) {
         long t1 = System.currentTimeMillis();
         //根据contractId查询对应的报告信息
         String[] documentIds = presignCallBack.getDocumentId().split(",");

+ 29 - 0
src/main/java/com/jeeplus/modules/workprojectnotify/dao/WorkProjectNotifyRecoverDao.java

@@ -0,0 +1,29 @@
+package com.jeeplus.modules.workprojectnotify.dao;
+
+import com.jeeplus.common.persistence.CrudDao;
+import com.jeeplus.common.persistence.annotation.MyBatisDao;
+import com.jeeplus.modules.workprojectnotify.entity.WorkProjectNotifyRecover;
+
+/**
+ * 错误待办数据复原dao
+ * @author: 徐滕
+ * @version: 2022-09-13 15:15
+ */
+@MyBatisDao
+public interface WorkProjectNotifyRecoverDao extends CrudDao<WorkProjectNotifyRecover> {
+
+    /**
+     * 根据id修改待办信息status状态
+     * @param id
+     * @return
+     */
+    Integer updateNotifyStatus (String id);
+
+    /**
+     * 数据忽略操作
+     * @param id
+     * @return
+     */
+    Integer updateOverlook (String id);
+
+}

+ 177 - 0
src/main/java/com/jeeplus/modules/workprojectnotify/entity/WorkProjectNotifyRecover.java

@@ -0,0 +1,177 @@
+package com.jeeplus.modules.workprojectnotify.entity;
+
+import com.jeeplus.common.persistence.DataEntity;
+import com.jeeplus.modules.sys.entity.User;
+
+import java.util.Date;
+
+/**
+ * 错误待办数据复原entity
+ * @author: 徐滕
+ * @version: 2022-09-13 15:13
+ */
+public class WorkProjectNotifyRecover extends DataEntity<WorkProjectNotifyRecover> {
+
+    private String title;		// 标题
+    private String content;		// 内容
+    private String type;		// 类型
+    private User user;		// 通知人
+    private String notifyRole;// 通知角色
+    private String officeId;
+    private String processInstanceId;
+    private Date startDate;
+    private Date endDate;
+    private String view;
+    private String home;
+    private String initiator;	//发起人
+    private String auditor;	//审核人
+    private String exceptionDetails;    //错误详情
+    private String notifyId;    //待办id
+    private String notifyUserId;    //审核人员id
+    private String notifyUserName;    //审核人员名称
+    private String companyId;    //公司id
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public User getUser() {
+        return user;
+    }
+
+    public void setUser(User user) {
+        this.user = user;
+    }
+
+    public String getNotifyRole() {
+        return notifyRole;
+    }
+
+    public void setNotifyRole(String notifyRole) {
+        this.notifyRole = notifyRole;
+    }
+
+    public String getOfficeId() {
+        return officeId;
+    }
+
+    public void setOfficeId(String officeId) {
+        this.officeId = officeId;
+    }
+
+    public String getProcessInstanceId() {
+        return processInstanceId;
+    }
+
+    public void setProcessInstanceId(String processInstanceId) {
+        this.processInstanceId = processInstanceId;
+    }
+
+    public Date getStartDate() {
+        return startDate;
+    }
+
+    public void setStartDate(Date startDate) {
+        this.startDate = startDate;
+    }
+
+    public Date getEndDate() {
+        return endDate;
+    }
+
+    public void setEndDate(Date endDate) {
+        this.endDate = endDate;
+    }
+
+    public String getView() {
+        return view;
+    }
+
+    public void setView(String view) {
+        this.view = view;
+    }
+
+    public String getHome() {
+        return home;
+    }
+
+    public void setHome(String home) {
+        this.home = home;
+    }
+
+    public String getInitiator() {
+        return initiator;
+    }
+
+    public void setInitiator(String initiator) {
+        this.initiator = initiator;
+    }
+
+    public String getAuditor() {
+        return auditor;
+    }
+
+    public void setAuditor(String auditor) {
+        this.auditor = auditor;
+    }
+
+    public String getExceptionDetails() {
+        return exceptionDetails;
+    }
+
+    public void setExceptionDetails(String exceptionDetails) {
+        this.exceptionDetails = exceptionDetails;
+    }
+
+    public String getNotifyId() {
+        return notifyId;
+    }
+
+    public void setNotifyId(String notifyId) {
+        this.notifyId = notifyId;
+    }
+
+    public String getNotifyUserId() {
+        return notifyUserId;
+    }
+
+    public void setNotifyUserId(String notifyUserId) {
+        this.notifyUserId = notifyUserId;
+    }
+
+    public String getNotifyUserName() {
+        return notifyUserName;
+    }
+
+    public void setNotifyUserName(String notifyUserName) {
+        this.notifyUserName = notifyUserName;
+    }
+
+    public String getCompanyId() {
+        return companyId;
+    }
+
+    public void setCompanyId(String companyId) {
+        this.companyId = companyId;
+    }
+}

+ 105 - 0
src/main/java/com/jeeplus/modules/workprojectnotify/service/WorkProjectNotifyRecoverService.java

@@ -0,0 +1,105 @@
+package com.jeeplus.modules.workprojectnotify.service;
+
+import com.jeeplus.common.persistence.Page;
+import com.jeeplus.common.service.CrudService;
+import com.jeeplus.modules.workprojectnotify.dao.WorkProjectNotifyRecoverDao;
+import com.jeeplus.modules.workprojectnotify.entity.WorkProjectNotify;
+import com.jeeplus.modules.workprojectnotify.entity.WorkProjectNotifyRecover;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 错误待办数据复原service
+ * @author: 徐滕
+ * @version: 2022-09-13 15:13
+ */
+@Service
+@Transactional(readOnly = true)
+public class WorkProjectNotifyRecoverService extends CrudService<WorkProjectNotifyRecoverDao, WorkProjectNotifyRecover> {
+
+
+    public WorkProjectNotifyRecover get(String id) {
+        return super.get(id);
+    }
+
+    /**
+     * 查询列表
+     * @param page 分页对象
+     * @param workProjectNotifyRecover
+     * @return
+     */
+    public Page<WorkProjectNotifyRecover> findPage(Page<WorkProjectNotifyRecover> page, WorkProjectNotifyRecover workProjectNotifyRecover) {
+        Integer count = dao.queryCount(workProjectNotifyRecover);
+        if(null == count){
+            count = 0;
+        }
+        page.setCount(count);
+        page.setCountFlag(false);
+        workProjectNotifyRecover.setPage(page);
+        List<WorkProjectNotifyRecover> list = findList(workProjectNotifyRecover);
+        page.setList(list);
+        return page;
+    }
+
+    /**
+     * 数据保存
+     * @param workProjectNotifyRecover
+     */
+    @Transactional(readOnly = false)
+    public void save(WorkProjectNotifyRecover workProjectNotifyRecover) {
+        workProjectNotifyRecover.preInsert();
+        dao.insert(workProjectNotifyRecover);
+    }
+
+    /**
+     * 待办恢复
+     * @param workProjectNotifyRecover
+     * @return
+     */
+    @Transactional(readOnly = false)
+    public Map<String,Object> recover (WorkProjectNotifyRecover workProjectNotifyRecover) {
+        Map<String, Object> map = new HashMap<>();
+        //通过待办id 将待办status状态变更为0;
+        Integer status = dao.updateNotifyStatus(workProjectNotifyRecover.getNotifyId());
+        if(status == 1){
+            //将该条记录del_flag更改为1
+            status = dao.updateOverlook(workProjectNotifyRecover.getId());
+            if(status == 1){
+                map.put("message","待办恢复成功");
+                map.put("success",true);
+            }else{
+                map.put("message","待办数据信息状态更改失败");
+                map.put("success",false);
+            }
+        }else{
+            map.put("message","待办数据信息状态更改失败");
+            map.put("success",false);
+        }
+
+        return map;
+    }
+
+    /**
+     * 待办信息忽略
+     * @param workProjectNotifyRecover
+     * @return
+     */
+    @Transactional(readOnly = false)
+    public Map<String,Object> overlook (WorkProjectNotifyRecover workProjectNotifyRecover) {
+        Map<String, Object> map = new HashMap<>();
+        //将该条记录del_flag更改为1
+        Integer result = dao.updateOverlook(workProjectNotifyRecover.getId());
+        if(result == 1){
+            map.put("message","待办数据忽略成功");
+            map.put("success",true);
+        }else{
+            map.put("message","待办数据忽略失败");
+            map.put("success",false);
+        }
+        return map;
+    }
+}

+ 18 - 0
src/main/java/com/jeeplus/modules/workprojectnotify/web/WorkProjectNotifyController.java

@@ -182,6 +182,8 @@ import com.jeeplus.modules.workprojectdeposit.entity.WorkProjectDeposit;
 import com.jeeplus.modules.workprojectdeposit.service.WorkProjectDepositService;
 import com.jeeplus.modules.workprojectnotify.dao.WorkProjectNotifyDao;
 import com.jeeplus.modules.workprojectnotify.entity.WorkProjectNotify;
+import com.jeeplus.modules.workprojectnotify.entity.WorkProjectNotifyRecover;
+import com.jeeplus.modules.workprojectnotify.service.WorkProjectNotifyRecoverService;
 import com.jeeplus.modules.workprojectnotify.service.WorkProjectNotifyService;
 import com.jeeplus.modules.workreceiptsrevise.entity.WorkReceiptsRevise;
 import com.jeeplus.modules.workreceiptsrevise.service.WorkReceiptsReviseService;
@@ -518,6 +520,8 @@ public class WorkProjectNotifyController extends BaseController {
 	private RuralProjectRecordsCaseBaseService caseBaseService;
 	@Autowired
 	private BusinessQuestionsService businessQuestionsService;
+	@Autowired
+	private WorkProjectNotifyRecoverService workProjectNotifyRecoverService;
 
 	@ModelAttribute
 	public WorkProjectNotify get(@RequestParam(required=false) String id) {
@@ -7532,6 +7536,20 @@ public class WorkProjectNotifyController extends BaseController {
 		}
 		//如果该通知所对应的某记录已经被删除,在获取记录时会空指针
 		catch (Exception e) {
+			if("待审批".equals(workProjectNotify.getRemarks())){
+				WorkProjectNotifyRecover workProjectNotifyRecover = new WorkProjectNotifyRecover();
+				try {
+					//将报错信息保存到待办报错库表中
+					MyBeanUtils.copyBeanNotNull2Bean(workProjectNotify, workProjectNotifyRecover);//将编辑表单中的非NULL值覆盖数据库记录中的值
+					workProjectNotifyRecover.setExceptionDetails(e.toString());
+					workProjectNotifyRecover.setNotifyId(workProjectNotify.getId());
+					workProjectNotifyRecover.setCompanyId(UserUtils.getUser().getCompany().getId());
+					workProjectNotifyRecoverService.save(workProjectNotifyRecover);
+				} catch (Exception exception) {
+					exception.printStackTrace();
+				}
+			}
+
 			workProjectNotify.setStatus("1");
 			workProjectNotify.preUpdate();
 			workProjectNotifyService.save(workProjectNotify);

+ 127 - 0
src/main/java/com/jeeplus/modules/workprojectnotify/web/WorkProjectNotifyRecoverController.java

@@ -0,0 +1,127 @@
+package com.jeeplus.modules.workprojectnotify.web;
+
+import com.jeeplus.common.config.Global;
+import com.jeeplus.common.persistence.Page;
+import com.jeeplus.common.utils.StringUtils;
+import com.jeeplus.common.web.BaseController;
+import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
+import com.jeeplus.modules.sys.entity.Dict;
+import com.jeeplus.modules.sys.utils.DictUtils;
+import com.jeeplus.modules.workprojectnotify.entity.WorkProjectNotifyRecover;
+import com.jeeplus.modules.workprojectnotify.service.WorkProjectNotifyRecoverService;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 错误待办数据复原controller
+ * @author: 徐滕
+ * @version: 2022-09-13 15:11
+ */
+@Controller
+@RequestMapping(value = "${adminPath}/workProjectNotifyRecover/workProjectNotifyRecover")
+public class WorkProjectNotifyRecoverController extends BaseController {
+
+    @Autowired
+    private WorkProjectNotifyRecoverService service;
+
+
+    @ModelAttribute
+    public WorkProjectNotifyRecover get(@RequestParam(required=false) String id) {
+        WorkProjectNotifyRecover entity = null;
+        if (StringUtils.isNotBlank(id)){
+            entity = service.get(id);
+        }
+        if (entity == null){
+            entity = new WorkProjectNotifyRecover();
+        }
+        return entity;
+    }
+
+    /**
+     * 通知列表页面
+     */
+    @RequestMapping(value = {"list", ""})
+    public String list(WorkProjectNotifyRecover workProjectNotifyRecover, HttpServletRequest request, HttpServletResponse response, Model model) {
+        List<Dict> projectNotifyTypeList = DictUtils.getDictList("project_notify_type");
+        //进行查询之后进行任何操作,返回还是查询之后的数据页面
+        if (StringUtils.isNotBlank(workProjectNotifyRecover.getToflag())){
+            request.getSession().removeAttribute("searchWorkProjectNotifyRecoverList");
+            WorkProjectNotifyRecover search=workProjectNotifyRecover;
+            request.getSession().setAttribute("searchWorkProjectNotifyRecoverList",search);
+        }else{
+            if (request.getSession().getAttribute("searchWorkProjectNotifyRecoverList")!=null){
+                workProjectNotifyRecover= (WorkProjectNotifyRecover) request.getSession().getAttribute("searchWorkProjectNotifyRecoverList");
+                model.addAttribute("workProjectNotifyRecover", workProjectNotifyRecover);
+            }
+        }
+        Page<WorkProjectNotifyRecover> pageList = service.findPage(new Page<WorkProjectNotifyRecover>(request, response),workProjectNotifyRecover);
+        model.addAttribute("page", pageList);
+        return "modules/workprojectnotify/workProjectNotifyRecoverList";
+    }
+
+    /**
+     * 待办恢复
+     * @param workProjectNotifyRecover
+     * @return
+     */
+    @RequestMapping(value = "/recover")
+    public String recover(WorkProjectNotifyRecover workProjectNotifyRecover, RedirectAttributes redirectAttributes){
+        if(null != workProjectNotifyRecover){
+            if(StringUtils.isNotBlank(workProjectNotifyRecover.getNotifyId())){
+                Map<String, Object> recover = service.recover(workProjectNotifyRecover);
+                addMessage(redirectAttributes, recover.get("message").toString());
+            }else{
+                addMessage(redirectAttributes, "待办id为空,无法查询到该待办信息");
+            }
+        }else{
+            addMessage(redirectAttributes, "待办信息为空,请确认后重新操作");
+        }
+        return "redirect:" + Global.getAdminPath() + "/workProjectNotifyRecover/workProjectNotifyRecover/?repage";
+    }
+
+    /**
+     * 待办忽略
+     * @param workProjectNotifyRecover
+     * @return
+     */
+    @RequestMapping(value = "/overlook")
+    public String overlook(WorkProjectNotifyRecover workProjectNotifyRecover, RedirectAttributes redirectAttributes){
+        if(null != workProjectNotifyRecover){
+            if(StringUtils.isNotBlank(workProjectNotifyRecover.getId())){
+                Map<String, Object> overlook = service.overlook(workProjectNotifyRecover);
+                addMessage(redirectAttributes, overlook.get("message").toString());
+            }else{
+                addMessage(redirectAttributes, "id为空,请确认后再次操作");
+            }
+        }else{
+            addMessage(redirectAttributes, "待办信息为空,请确认后重新操作");
+        }
+        return "redirect:" + Global.getAdminPath() + "/workProjectNotifyRecover/workProjectNotifyRecover/?repage";
+    }
+
+    /**
+     * 批量删除项目
+     */
+    @RequestMapping(value = "overlookAll")
+    @ResponseBody
+    public Map<String,Object> overlookAll(String ids) {
+        Map<String,Object> map = new HashMap<>();
+        String idArray[] =ids.split(",");
+        for(String id : idArray){
+            service.overlook(service.get(id));
+        }
+        map.put("success",true);
+        map.put("message","待办信息忽略成功");
+        return map;
+    }
+}

+ 135 - 0
src/main/resources/mappings/modules/workprojectnotify/WorkProjectNotifyRecoverDao.xml

@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.modules.workprojectnotify.dao.WorkProjectNotifyRecoverDao">
+
+	<sql id="workProjectNotifyRecoverColumns">
+		a.id AS "id",
+		a.create_by AS "createBy.id",
+		su.name AS "createBy.name",
+		a.create_date AS "createDate",
+		a.update_by AS "updateBy.id",
+		a.update_date AS "updateDate",
+		a.remarks AS "remarks",
+		a.del_flag AS "delFlag",
+		a.company_id AS "companyId",
+		a.title AS "title",
+		a.content AS "content",
+		a.type AS "type",
+		a.notify_user AS "user.id",
+		sunu.name AS "user.name",
+		a.notify_role AS "notifyRole",
+		a.notify_id AS "notifyId",
+		a.officeId AS "officeId",
+		a.process_instance_id AS "processInstanceId",
+		a.exception_details as "exceptionDetails"
+	</sql>
+
+	<sql id="workProjectNotifyRecoverJoins">
+		left join sys_user su on su.id = a.create_by
+		left join sys_user sunu on sunu.id = a.notify_user
+	</sql>
+
+	<select id="get" resultType="com.jeeplus.modules.workprojectnotify.entity.WorkProjectNotifyRecover" >
+		SELECT
+		<include refid="workProjectNotifyRecoverColumns"/>
+		FROM work_project_notify_recover a
+		<include refid="workProjectNotifyRecoverJoins"/>
+		WHERE a.id = #{id}
+	</select>
+
+	<select id="findList" resultType="com.jeeplus.modules.workprojectnotify.entity.WorkProjectNotifyRecover">
+		SELECT
+		<include refid="workProjectNotifyRecoverColumns"/>
+		FROM work_project_notify_recover a
+		<include refid="workProjectNotifyRecoverJoins"/>
+		<where>
+			a.del_flag=0
+			<if test="title != null and title != ''">
+				a.title like concat('%',#{title},'%')
+			</if>
+			<if test="content != null and content != ''">
+				a.content like concat('%',#{content},'%')
+			</if>
+			<if test="(notifyUserId != null and notifyUserId != '') or (notifyUserName != null and notifyUserName != '')">
+				AND (a.notify_user = #{notifyUserId} or sunu.name like concat('%',#{notifyUserName},'%'))
+			</if>
+			<if test="type != null and type != ''">
+				AND a.type in (${type})
+			</if>
+		</where>
+	</select>
+
+	<select id="queryCount" resultType="Integer">
+		SELECT count(1)
+		FROM work_project_notify_recover a
+		<include refid="workProjectNotifyRecoverJoins"/>
+		<where>
+			a.del_flag=0
+			<if test="title != null and title != ''">
+				a.title like concat('%',#{title},'%')
+			</if>
+			<if test="content != null and content != ''">
+				a.content like concat('%',#{content},'%')
+			</if>
+			<if test="(notifyUserId != null and notifyUserId != '') or (notifyUserName != null and notifyUserName != '')">
+				AND (a.notify_user = #{notifyUserId} or sunu.name like concat('%',#{notifyUserName},'%'))
+			</if>
+			<if test="type != null and type != ''">
+				AND a.type in (${type})
+			</if>
+		</where>
+	</select>
+
+	<insert id="insert">
+		INSERT INTO work_project_notify_recover(
+		id,
+		create_by,
+		create_date,
+		update_by,
+		update_date,
+		remarks,
+		del_flag,
+		company_id,
+		title,
+		content,
+		type,
+		notify_id,
+		notify_user,
+		notify_role,
+		officeId,
+		process_instance_id,
+		exception_details
+		) VALUES (
+		#{id},
+		#{createBy.id},
+		#{createDate},
+		#{updateBy.id},
+		#{updateDate},
+		#{remarks},
+		#{delFlag},
+		#{companyId},
+		#{title},
+		#{content},
+		#{type},
+		#{notifyId},
+		#{user.id},
+		#{notifyRole},
+		#{officeId},
+		#{processInstanceId},
+		#{exceptionDetails}
+		)
+	</insert>
+
+	<update id="updateNotifyStatus">
+		update work_project_notify
+		set status=0
+		where id = #{id}
+	</update>
+
+	<update id="updateOverlook">
+		update work_project_notify_recover
+		set del_flag=1
+		where id = #{id}
+	</update>
+
+</mapper>

+ 227 - 0
src/main/webapp/webpage/modules/workprojectnotify/workProjectNotifyRecoverList.jsp

@@ -0,0 +1,227 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>通知管理</title>
+	<meta name="decorator" content="default"/>
+	<script type="text/javascript">
+		$(document).ready(function() {
+			//搜索框收放
+			$('#moresee').click(function(){
+				if($('#moresees').is(':visible'))
+				{
+					$('#moresees').slideUp(0,resizeListWindow2);
+					$('#moresee i').removeClass("glyphicon glyphicon-menu-up").addClass("glyphicon glyphicon-menu-down");
+				}else{
+					$('#moresees').slideDown(0,resizeListWindow2);
+					$('#moresee i').removeClass("glyphicon glyphicon-menu-down").addClass("glyphicon glyphicon-menu-up");
+				}
+			});
+		});
+	</script>
+	<style>
+		body{
+			background-color:transparent;
+			filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#26FFFFFF, endColorstr=#26FFFFFF);
+			color:#ffffff;
+			background-color:rgba(255,255,255,0);
+			height:100%;
+		}
+	</style>
+</head>
+<body>
+<div class="wrapper wrapper-content">
+	<sys:message content="${message}"/>
+	<div class="layui-row">
+		<div class="full-width fl">
+			<div class="contentShadow layui-row" id="queryDiv">
+				<form:form id="searchForm" modelAttribute="workProjectNotifyRecover" action="${ctx}/workProjectNotifyRecover/workProjectNotifyRecover/list" method="post" class="form-inline">
+					<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+					<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+					<table:sortColumn id="orderBy" name="orderBy" value="${page.orderBy}" callback="sortOrRefresh();"/><!-- 支持排序 -->
+
+					<div class="commonQuery">
+						<%--<div class="layui-item query athird">
+							<label class="layui-form-label">标题:</label>
+							<div class="layui-input-block">
+								<form:input path="title" htmlEscape="false" maxlength="255"  class=" form-control layui-input"/>
+							</div>
+						</div>--%>
+						<div class="layui-item query athird" style="width: 25%">
+							<label class="layui-form-label">内容:</label>
+							<div class="layui-input-block">
+								<form:input path="content" htmlEscape="false" maxlength="255"  class=" form-control layui-input"/>
+							</div>
+						</div>
+						<div class="layui-item query athird" style="width: 25%">
+							<label class="layui-form-label">类型:</label>
+							<div class="layui-input-block">
+								<form:select id="type" path="type" class="form-control simple-select">
+									<form:option value="" label=""/>
+									<form:options items="${fns:getDictList('new_project_notify_type')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+								</form:select>
+							</div>
+						</div>
+
+						<div class="layui-item query athird" style="width: 25%">
+							<label class="layui-form-label">审核人:</label>
+							<div class="layui-input-block with-icon">
+								<sys:inquireselectUserNotReadolny id="notifyUser" name="notifyUserId" value="${workProjectNotifyRecover.notifyUserId}" labelName="notifyUserName" labelValue="${workProjectNotifyRecover.notifyUserName}" cssStyle="background-color: #fff"
+																  title="用户" url="/sys/office/treeDataAll?type=3" cssClass="form-control layui-input" allowClear="true" notAllowSelectParent="true"/>
+							</div>
+						</div>
+						<div class="layui-item athird" style="width: 25%">
+							<div class="input-group">
+								<a href="#" id="moresee"><i class="glyphicon glyphicon-menu-down"></i></a>
+								<div class="layui-btn-group search-spacing">
+									<button id="searchQuery" class="layui-btn layui-btn-sm layui-bg-blue" onclick="search()">查询</button>
+									<button id="searchReset" class="layui-btn layui-btn-sm " onclick="resetSearch()">重置</button>
+								</div>
+							</div>
+						</div>
+						<div style="    clear:both;"></div>
+					</div>
+					<div id="moresees" style="clear:both;display:none;">
+
+
+
+
+
+					</div>
+
+				</form:form>
+			</div>
+		</div>
+		<div class="full-width fl">
+			<div class="contentShadow layui-form contentDetails">
+				<div class="nav-btns">
+					<div class="layui-btn-group">
+						<button id="readRows" class="layui-btn  layui-btn-sm layui-bg-blue">批量忽略</button>
+						<button class="layui-btn layui-btn-sm" data-toggle="tooltip" data-placement="left" onclick="sortOrRefresh()" title="刷新"> 刷新</button>
+					</div>
+
+<%--					<button class="nav-btn nav-btn-refresh" data-toggle="tooltip" data-placement="left" onclick="sortOrRefresh()" title="刷新"><i class="glyphicon glyphicon-repeat"></i>&nbsp;刷新</button>--%>
+					<div style="clear: both;"></div>
+				</div>
+				<table class="oa-table layui-table" id="contentTable"></table>
+
+				<!-- 分页代码 -->
+				<table:page page="${page}"></table:page>
+				<div style="clear: both;"></div>
+			</div>
+		</div>
+	</div>
+	<div id="changewidth"></div>
+</div>
+<script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
+<script>
+    layui.use('table', function(){
+        layui.table.render({
+            limit:${ page.pageSize }
+            ,elem: '#contentTable'
+            ,page: false
+            ,cols: [[
+				{checkbox: true, fixed: true},
+                {field:'index',align:'center',  width:40,title: '序号'}
+                ,{align:'center', title: '类型', width:100,templet:function(d){
+                        return "<span title='"+ d.type1 +"'>" + d.type1 + "</span>";
+                    }}
+                ,{align:'center', title: '环节', width:100,templet:function(d){
+                        return "<span title='"+ d.step +"'>" + d.step + "</span>";
+                    }}
+                ,{field:'title',align:'center', title: '标题', minWidth:150,templet:function(d){
+						return "<span title='"+ d.title +"'>" + d.content + "</span>";
+					}}
+                ,{align:'center',title: '内容', minWidth:150,templet:function(d){
+                        return "<span title='"+ d.content +"'>" + d.content + "</span>";
+                    }}
+                ,{align:'center',title: '当前审核人', width:80,templet:function(d){
+                        return "<span title='"+ d.submit +"'>" + d.submit + "</span>";
+                    }}
+                ,{field:'op',align:'center', title: '报错时间', width:140,templet:function(d){
+                        return "<span title='"+ d.date +"'>" + d.date + "</span>";
+                    }}
+				,{field:'exceptionDetails',align:'center', title: '报错原因', width:350,templet:function(d){
+						return "<span title='"+ d.exceptionDetails +"'>" + d.exceptionDetails + "</span>";
+					}}
+				, {
+					field: 'op', align: 'center', title: "操作", width: 140, templet: function (d) {
+						var xml="<div class=\"layui-btn-group\">";
+						xml+="<a href=\"${ctx}/workProjectNotifyRecover/workProjectNotifyRecover/recover?id=" + d.id + "\" onclick=\"return confirmx('确认要恢复该待办信息吗?', this.href)\" class=\"layui-btn layui-btn-xs layui-bg-green\"> 恢复</a>";
+						xml+="<a href=\"${ctx}/workProjectNotifyRecover/workProjectNotifyRecover/overlook?id=" + d.id + "\" onclick=\"return confirmx('确认要忽略该待办信息吗?', this.href)\" class=\"layui-btn layui-btn-xs layui-bg-red\"> 忽略</a>";
+						xml+="</div>"
+						return xml;
+					}
+				}
+            ]]
+            ,data: [
+                <c:if test="${ not empty page.list}">
+                <c:forEach items="${page.list}" var="workProjectNotify" varStatus="index">
+                <c:if test="${index.index != 0}">,</c:if>
+                {
+                    "index":"${index.index+1}"
+                    ,"id":"${workProjectNotify.id}"
+                    ,"type":"${workProjectNotify.type}"
+                    ,"type1":"${fns:getDictLabel(workProjectNotify.type, 'project_notify_type', '')}"
+                    ,"step":"${workProjectNotify.notifyRole}"
+                    ,"title":"${workProjectNotify.title}"
+                    ,"content":"${workProjectNotify.content}"
+                    ,"submit":"${fns:getUserById(workProjectNotify.user.id).name}"
+                    ,"date":"<fmt:formatDate value="${workProjectNotify.createDate}" pattern="yyyy-MM-dd HH:mm:ss"/>"
+                    ,"remarks":"${workProjectNotify.remarks}"
+                    ,"notifyId":"${workProjectNotify.notifyId}"
+                    ,"exceptionDetails":"${workProjectNotify.exceptionDetails}"
+                }
+                </c:forEach>
+                </c:if>
+            ]
+            // ,even: true
+            // ,height: 315
+        });
+
+		function readRows(){
+			var checkStatus = layui.table.checkStatus('contentTable');
+			var data = checkStatus.data;
+			var ids="";
+			for(var i = 0; i < data.length;i++)
+			{
+				if(i != 0)
+					ids += "," + data[i].id;
+				else
+					ids += data[i].id;
+			}
+
+			if(ids == ""){
+				top.layer.alert('请至少选择一条数据!', {icon: 0, title:'警告'});
+				return;
+			}
+			top.layer.confirm('确认要忽略该信息吗?', {icon: 3, title:'系统提示'}, function(index){
+				$.ajax({
+					type:'post',
+					url:"/a/workProjectNotifyRecover/workProjectNotifyRecover/overlookAll?ids="+ids,
+					success:function(data){
+						top.layer.close(index);
+						if(data.success){
+							top.layer.msg(data.message, {icon: 1});
+						}else{
+							top.layer.msg(data.message, {icon: 0});
+						}
+						window.location.reload();
+					}
+				})
+			});
+		}
+		$('#readRows').on('click',readRows);
+    })
+
+    resizeListTable(140);
+    $("a").on("click",addLinkVisied);
+</script>
+<script>
+    resizeListWindow1();
+    $(window).resize(function(){
+        resizeListWindow1();
+    });
+</script>
+</body>
+</html>