Przeglądaj źródła

Merge remote-tracking branch 'origin/master'

[user3] 4 lat temu
rodzic
commit
443d86893a
35 zmienionych plików z 1557 dodań i 37 usunięć
  1. 18 0
      src/main/java/com/jeeplus/modules/oa/entity/OaNotify.java
  2. 26 3
      src/main/java/com/jeeplus/modules/oa/web/OaNotifyController.java
  3. 18 0
      src/main/java/com/jeeplus/modules/projectFilingBatch/entity/ProjectFilingBatch.java
  4. 18 0
      src/main/java/com/jeeplus/modules/projectFilingBatch/entity/ProjectFilingBatchTree.java
  5. 22 1
      src/main/java/com/jeeplus/modules/projectFilingBatch/service/ProjectFilingBatchService.java
  6. 12 0
      src/main/java/com/jeeplus/modules/projectcontentinfo/web/ProjectReportRecordController.java
  7. 54 0
      src/main/java/com/jeeplus/modules/projectrecord/entity/ProjectRecordTreeData.java
  8. 99 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralProjectRecords.java
  9. 57 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageService.java
  10. 43 2
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralCostProjectRecordsController.java
  11. 10 3
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageController.java
  12. 73 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectRecordChooseCheckController.java
  13. 49 4
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectRecordsController.java
  14. 14 0
      src/main/java/com/jeeplus/modules/sys/security/FormAuthenticationFilter.java
  15. 12 1
      src/main/java/com/jeeplus/modules/sys/web/RegisterController.java
  16. 18 0
      src/main/java/com/jeeplus/modules/workcontractinfo/entity/WorkCntractBorrow.java
  17. 54 0
      src/main/java/com/jeeplus/modules/workcontractinfo/entity/WorkContractInfo.java
  18. 58 0
      src/main/java/com/jeeplus/modules/workcontractinfo/web/WorkContractInfoController.java
  19. 18 0
      src/main/java/com/jeeplus/modules/workinvoice/entity/WorkInvoice.java
  20. 22 0
      src/main/java/com/jeeplus/modules/workinvoice/web/WorkInvoiceController.java
  21. 9 0
      src/main/java/com/jeeplus/modules/workprojectnotify/entity/WorkProjectNotify.java
  22. 63 12
      src/main/java/com/jeeplus/modules/workprojectnotify/web/WorkProjectNotifyController.java
  23. 18 0
      src/main/java/com/jeeplus/modules/workreimbursement/entity/WorkReimbursement.java
  24. 27 7
      src/main/java/com/jeeplus/modules/workreimbursement/web/WorkReimbursementController.java
  25. 61 0
      src/main/webapp/webpage/modules/oa/oaNotifyList.jsp
  26. 60 0
      src/main/webapp/webpage/modules/projectFilingBatch/projectFilingBatchList.jsp
  27. 104 0
      src/main/webapp/webpage/modules/ruralprojectrecords/check/ruralProjectRecordsList.jsp
  28. 68 0
      src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectMessageLists.jsp
  29. 119 1
      src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectRecordsList.jsp
  30. 63 1
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralProjectRecordsList.jsp
  31. 68 0
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/ruralProjectMessageLists.jsp
  32. 6 1
      src/main/webapp/webpage/modules/sys/sysIndex.jsp
  33. 74 0
      src/main/webapp/webpage/modules/workcontractinfo/workContractInfoList.jsp
  34. 62 0
      src/main/webapp/webpage/modules/workinvoice/workInvoiceList.jsp
  35. 60 1
      src/main/webapp/webpage/modules/workreimbursement/workReimbursementList.jsp

+ 18 - 0
src/main/java/com/jeeplus/modules/oa/entity/OaNotify.java

@@ -60,6 +60,8 @@ public class OaNotify extends ActEntity<OaNotify> {
 	private String flagAdmin;     //管理员状态(1:管理员,0:非管理员)
 	private String referenceNumber;     //文号
 	private String flagOffice;     //是否为办公室权限(1:是,0:否)
+	private Integer notifyFlag; //代办判定条件
+	private String notifyId; //代办判定条件
 
     public String getHome() {
         return home;
@@ -385,6 +387,22 @@ public class OaNotify extends ActEntity<OaNotify> {
 	public void setFlagOffice(String flagOffice) {
 		this.flagOffice = flagOffice;
 	}
+
+	public Integer getNotifyFlag() {
+		return notifyFlag;
+	}
+
+	public void setNotifyFlag(Integer notifyFlag) {
+		this.notifyFlag = notifyFlag;
+	}
+
+	public String getNotifyId() {
+		return notifyId;
+	}
+
+	public void setNotifyId(String notifyId) {
+		this.notifyId = notifyId;
+	}
 	/*	@Override
 	public String toString() {
 		return "OaNotify [type=" + type + ", title=" + title + ", content=" + content + ", files=" + files + ", status="

+ 26 - 3
src/main/java/com/jeeplus/modules/oa/web/OaNotifyController.java

@@ -59,6 +59,8 @@ public class OaNotifyController extends BaseController {
     private ActTaskService actTaskService;
 	@Autowired
 	private PushinfoService pushinfoService;
+	@Autowired
+	protected WorkProjectNotifyService workProjectNotifyService;
 	
 	@ModelAttribute
 	public OaNotify get(@RequestParam(required=false) String id) {
@@ -77,9 +79,9 @@ public class OaNotifyController extends BaseController {
 		oaNotify.setSelf(true);
 		Page<OaNotify> page = oaNotifyService.findUnreadMyself(new Page<OaNotify>(request, response), oaNotify);
 		List<OaNotify> list = page.getList();
-		for (OaNotify notify:list){
-			if (StringUtils.isNotBlank(notify.getContent())){
-				notify.setContent(notify.getContent().replace("\n",""));
+		for (OaNotify notify:list) {
+			if (StringUtils.isNotBlank(notify.getContent())) {
+				notify.setContent(notify.getContent().replace("\n", ""));
 			}
 		}
 		model.addAttribute("page", page);
@@ -113,6 +115,17 @@ public class OaNotifyController extends BaseController {
 			oaNotify.setCompany(user.getCompany());
 		}
 		Page<OaNotify> page = oaNotifyService.findByPc(new Page<OaNotify>(request, response), oaNotify);
+
+		//查询所有和当前登陆人有关的项目的审核
+		WorkProjectNotify workProjectNotify = new WorkProjectNotify();
+		workProjectNotify.setUser(UserUtils.getUser());
+		workProjectNotify.setCompanyId(UserUtils.getSelectCompany().getId());
+		workProjectNotify.setRemarks("待审批");
+		//添加发票对应编号
+		workProjectNotify.setType("89");
+		//查询所有需要当前登录人进行处理的项目信息
+		List<WorkProjectNotify> notifyList = workProjectNotifyService.findList(workProjectNotify);
+
 		List<OaNotify> list = page.getList();
 		for (OaNotify notify: list) {
 			//判断是否为管理员
@@ -121,6 +134,16 @@ public class OaNotifyController extends BaseController {
 			}else{
 				notify.setFlagAdmin("0");
 			}
+
+			for (WorkProjectNotify info: notifyList) {
+				if(info.getNotifyId().equals(notify.getId())){
+					notify.setNotifyId(info.getId());
+					if("待审批".equals(info.getRemarks()) && !"1".equals(info.getStatus())){
+						notify.setNotifyFlag(1);
+					}
+					break;
+				}
+			}
 		}
 		model.addAttribute("page", page);
 		return "modules/oa/oaNotifyList";

+ 18 - 0
src/main/java/com/jeeplus/modules/projectFilingBatch/entity/ProjectFilingBatch.java

@@ -45,6 +45,8 @@ public class ProjectFilingBatch extends DataEntity<ProjectFilingBatch> {
     private String createName;
     private String createNameStr;   //创建人
     private String createId;     //创建人id
+    private Integer notifyFlag; //代办判定条件
+    private String notifyId; //代办判定条件
 
     public String getProcessinstanceId() {
         return processinstanceId;
@@ -229,4 +231,20 @@ public class ProjectFilingBatch extends DataEntity<ProjectFilingBatch> {
     public void setCreateId(String createId) {
         this.createId = createId;
     }
+
+    public Integer getNotifyFlag() {
+        return notifyFlag;
+    }
+
+    public void setNotifyFlag(Integer notifyFlag) {
+        this.notifyFlag = notifyFlag;
+    }
+
+    public String getNotifyId() {
+        return notifyId;
+    }
+
+    public void setNotifyId(String notifyId) {
+        this.notifyId = notifyId;
+    }
 }

+ 18 - 0
src/main/java/com/jeeplus/modules/projectFilingBatch/entity/ProjectFilingBatchTree.java

@@ -21,6 +21,8 @@ public class ProjectFilingBatchTree extends DataEntity<ProjectFilingBatchTree> {
     private String url;
     private Integer flag;
     private String statusStr;
+    private Integer notifyFlag; //代办判定条件
+    private String notifyId; //代办判定条件
 
     public String getFilingBatch() {
         return filingBatch;
@@ -133,4 +135,20 @@ public class ProjectFilingBatchTree extends DataEntity<ProjectFilingBatchTree> {
     public void setStatusStr(String statusStr) {
         this.statusStr = statusStr;
     }
+
+    public Integer getNotifyFlag() {
+        return notifyFlag;
+    }
+
+    public void setNotifyFlag(Integer notifyFlag) {
+        this.notifyFlag = notifyFlag;
+    }
+
+    public String getNotifyId() {
+        return notifyId;
+    }
+
+    public void setNotifyId(String notifyId) {
+        this.notifyId = notifyId;
+    }
 }

+ 22 - 1
src/main/java/com/jeeplus/modules/projectFilingBatch/service/ProjectFilingBatchService.java

@@ -126,6 +126,16 @@ public class ProjectFilingBatchService extends CrudService<ProjectFilingBatchDao
 
     @Transactional(readOnly = false)
     public Map<String,List> getList(ProjectFilingBatch projectFilingBatch, HttpServletRequest request, HttpServletResponse response) {
+        //查询所有和当前登陆人有关的项目的审核
+        WorkProjectNotify workProjectNotify = new WorkProjectNotify();
+        workProjectNotify.setUser(UserUtils.getUser());
+        workProjectNotify.setCompanyId(UserUtils.getSelectCompany().getId());
+        workProjectNotify.setRemarks("待审批");
+        //添加发票对应编号
+        workProjectNotify.setType("100");
+        //查询所有需要当前登录人进行处理的项目信息
+        List<WorkProjectNotify> notifyList = workProjectNotifyService.findList(workProjectNotify);
+
         //添加查询类型(工程咨询)
         Page<ProjectFilingBatch> page = this.findPage(new Page<ProjectFilingBatch>(request, response), projectFilingBatch);
         //无合同状态下,获取委托方的名称
@@ -135,7 +145,16 @@ public class ProjectFilingBatchService extends CrudService<ProjectFilingBatchDao
         for (int i = 0; i < list.size(); i++) {
             ProjectFilingBatchTree batchData = new ProjectFilingBatchTree();
             ProjectFilingBatch batch = list.get(i);
-
+            //新增批量归档
+            for (WorkProjectNotify notify: notifyList) {
+                if(notify.getNotifyId().equals(batch.getId())){
+                    batch.setNotifyId(notify.getId());
+                    if("待审批".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
+                        batch.setNotifyFlag(1);
+                    }
+                    break;
+                }
+            }
             batchData = getParentInfo(batch);
             dataList.add(batchData);
             //获取子项目信息
@@ -180,6 +199,8 @@ public class ProjectFilingBatchService extends CrudService<ProjectFilingBatchDao
         }else {
             treeData.setFlag(0);
         }
+        treeData.setNotifyFlag(info.getNotifyFlag());
+        treeData.setNotifyId(info.getNotifyId());
         return treeData;
     }
 

+ 12 - 0
src/main/java/com/jeeplus/modules/projectcontentinfo/web/ProjectReportRecordController.java

@@ -18,6 +18,8 @@ import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
 import com.jeeplus.modules.projectcontentinfo.entity.Projectcontentinfo;
 import com.jeeplus.modules.projectcontentinfo.service.ProjectReportDataService;
 import com.jeeplus.modules.projectrecord.entity.ProjectRecords;
+import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
+import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectRecordsService;
 import com.jeeplus.modules.sys.entity.User;
 import com.jeeplus.modules.sys.utils.UserUtils;
 import org.activiti.engine.runtime.ProcessInstance;
@@ -58,6 +60,8 @@ public class ProjectReportRecordController extends BaseController {
 	private ActTaskService actTaskService;
 	@Autowired
 	private ProjectReportDataService projectReportDataService;
+	@Autowired
+	private RuralProjectRecordsService projectRecordsService;
 
 	@ModelAttribute
 	public ProjectReportRecord get(@RequestParam(required=false) String id) {
@@ -322,6 +326,7 @@ public class ProjectReportRecordController extends BaseController {
 		if (StringUtils.isNotBlank(projectReportRecord.getHome()) && projectReportRecord.getHome().equals("home")){
 			return "redirect:" + Global.getAdminPath() + "/home/?repage";
 		}else {
+			RuralProjectRecords ruralProjectRecords = projectRecordsService.get(projectReportRecord.getReport().getProject().getId());
 			if(StringUtils.isNotBlank(projectReportRecord.getCondition())){
 				if("earlyArchive".equals(projectReportRecord.getCondition())){
 					return "redirect:"+Global.getAdminPath()+"/project/projectEarlyPigeonhole/?repage";
@@ -329,6 +334,13 @@ public class ProjectReportRecordController extends BaseController {
 					return "redirect:" + Global.getAdminPath() + "/project/projectCompletionPigeonhole/?repage";
 				}
 			}
+			if(null != ruralProjectRecords){
+				if("1".equals(ruralProjectRecords.getProjectType())){
+					return "redirect:" + Global.getAdminPath() + "/ruralProject/ruralProjectMessage/?repage";
+				}else if("2".equals(ruralProjectRecords.getProjectType())){
+					return "redirect:" + Global.getAdminPath() + "/ruralProject/ruralCostProjectMessage/?repage";
+				}
+			}
 			return "redirect:"+Global.getAdminPath()+"/project/projectEarlyPigeonhole/?repage";
 		}
 	}

+ 54 - 0
src/main/java/com/jeeplus/modules/projectrecord/entity/ProjectRecordTreeData.java

@@ -65,6 +65,12 @@ public class ProjectRecordTreeData extends DataEntity<ProjectRecordTreeData> {
     private String boxNum; //案卷号
     private String reBoxNum;//确认案卷号
     private String information; //归档批次信息
+    private Integer reportNotifyFlag; //新增报告代办判定条件
+    private String reportNotifyId; //新增报告代办判定条件
+    private Integer recordNotifyFlag; //归档报告代办判定条件
+    private String recordNotifyId; //归档代办判定条件
+    private Integer reportedNotifyFlag; //上报代办判定条件
+    private String reportedNotifyId; //上报代办判定条件
 
 
 
@@ -491,4 +497,52 @@ public class ProjectRecordTreeData extends DataEntity<ProjectRecordTreeData> {
     public void setInformation(String information) {
         this.information = information;
     }
+
+    public Integer getReportNotifyFlag() {
+        return reportNotifyFlag;
+    }
+
+    public void setReportNotifyFlag(Integer reportNotifyFlag) {
+        this.reportNotifyFlag = reportNotifyFlag;
+    }
+
+    public String getReportNotifyId() {
+        return reportNotifyId;
+    }
+
+    public void setReportNotifyId(String reportNotifyId) {
+        this.reportNotifyId = reportNotifyId;
+    }
+
+    public Integer getRecordNotifyFlag() {
+        return recordNotifyFlag;
+    }
+
+    public void setRecordNotifyFlag(Integer recordNotifyFlag) {
+        this.recordNotifyFlag = recordNotifyFlag;
+    }
+
+    public String getRecordNotifyId() {
+        return recordNotifyId;
+    }
+
+    public void setRecordNotifyId(String recordNotifyId) {
+        this.recordNotifyId = recordNotifyId;
+    }
+
+    public Integer getReportedNotifyFlag() {
+        return reportedNotifyFlag;
+    }
+
+    public void setReportedNotifyFlag(Integer reportedNotifyFlag) {
+        this.reportedNotifyFlag = reportedNotifyFlag;
+    }
+
+    public String getReportedNotifyId() {
+        return reportedNotifyId;
+    }
+
+    public void setReportedNotifyId(String reportedNotifyId) {
+        this.reportedNotifyId = reportedNotifyId;
+    }
 }

+ 99 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralProjectRecords.java

@@ -163,6 +163,17 @@ public class RuralProjectRecords extends ActEntity<RuralProjectRecords> {
 	private String information; //归档批次信息
 	private String url; //链接
 	private String parentId; //父借点
+	private Integer notifyFlag; //代办判定条件
+	private String notifyId; //代办判定条件
+	private Integer reportNotifyFlag; //新增报告代办判定条件
+	private String reportNotifyId; //新增报告代办判定条件
+	private Integer recordNotifyFlag; //归档报告代办判定条件
+	private String recordNotifyId; //归档代办判定条件
+	private Integer reportedNotifyFlag; //上报代办判定条件
+	private String reportedNotifyId; //上报代办判定条件
+	private Integer checkNotifyFlag; //选查代办判定条件
+	private String checkNotifyId; //选查代办判定条件
+	private String actType; //流程节点
 
 	private List<String> civilProjectList = Lists.newArrayList();
 	private List<WorkClientAttachment> workAttachments = Lists.newArrayList();
@@ -1122,4 +1133,92 @@ public class RuralProjectRecords extends ActEntity<RuralProjectRecords> {
 	public void setParentId(String parentId) {
 		this.parentId = parentId;
 	}
+
+	public Integer getNotifyFlag() {
+		return notifyFlag;
+	}
+
+	public void setNotifyFlag(Integer notifyFlag) {
+		this.notifyFlag = notifyFlag;
+	}
+
+	public String getNotifyId() {
+		return notifyId;
+	}
+
+	public void setNotifyId(String notifyId) {
+		this.notifyId = notifyId;
+	}
+
+	public Integer getReportNotifyFlag() {
+		return reportNotifyFlag;
+	}
+
+	public void setReportNotifyFlag(Integer reportNotifyFlag) {
+		this.reportNotifyFlag = reportNotifyFlag;
+	}
+
+	public String getReportNotifyId() {
+		return reportNotifyId;
+	}
+
+	public void setReportNotifyId(String reportNotifyId) {
+		this.reportNotifyId = reportNotifyId;
+	}
+
+	public Integer getRecordNotifyFlag() {
+		return recordNotifyFlag;
+	}
+
+	public void setRecordNotifyFlag(Integer recordNotifyFlag) {
+		this.recordNotifyFlag = recordNotifyFlag;
+	}
+
+	public String getRecordNotifyId() {
+		return recordNotifyId;
+	}
+
+	public void setRecordNotifyId(String recordNotifyId) {
+		this.recordNotifyId = recordNotifyId;
+	}
+
+	public Integer getReportedNotifyFlag() {
+		return reportedNotifyFlag;
+	}
+
+	public void setReportedNotifyFlag(Integer reportedNotifyFlag) {
+		this.reportedNotifyFlag = reportedNotifyFlag;
+	}
+
+	public String getReportedNotifyId() {
+		return reportedNotifyId;
+	}
+
+	public void setReportedNotifyId(String reportedNotifyId) {
+		this.reportedNotifyId = reportedNotifyId;
+	}
+
+	public Integer getCheckNotifyFlag() {
+		return checkNotifyFlag;
+	}
+
+	public void setCheckNotifyFlag(Integer checkNotifyFlag) {
+		this.checkNotifyFlag = checkNotifyFlag;
+	}
+
+	public String getCheckNotifyId() {
+		return checkNotifyId;
+	}
+
+	public void setCheckNotifyId(String checkNotifyId) {
+		this.checkNotifyId = checkNotifyId;
+	}
+
+	public String getActType() {
+		return actType;
+	}
+
+	public void setActType(String actType) {
+		this.actType = actType;
+	}
 }

+ 57 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageService.java

@@ -249,6 +249,27 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
     public Map<String,List> getProjectList(RuralProjectRecords projectRecords, HttpServletRequest request, HttpServletResponse response) {
         //添加查询类型(工程咨询)
         Page<RuralProjectRecords> page = this.findPage(new Page<RuralProjectRecords>(request, response), projectRecords);
+
+        //查询所有和当前登陆人有关的项目的审核
+        WorkProjectNotify workProjectNotify = new WorkProjectNotify();
+        workProjectNotify.setUser(UserUtils.getUser());
+        workProjectNotify.setCompanyId(UserUtils.getSelectCompany().getId());
+        workProjectNotify.setRemarks("待审批");
+        //添加发票对应编号
+        workProjectNotify.setType("92");
+        //查询所有需要当前登录人进行处理的项目信息
+        List<WorkProjectNotify> notifyList = workProjectNotifyService.findList(workProjectNotify);
+
+        //添加发票对应编号
+        workProjectNotify.setType("51");
+        //查询所有需要当前登录人进行处理的项目信息
+        List<WorkProjectNotify> recordNotifyList = workProjectNotifyService.findList(workProjectNotify);
+
+        //添加发票对应编号
+        workProjectNotify.setType("95");
+        //查询所有需要当前登录人进行处理的项目信息
+        List<WorkProjectNotify> reportedNotifyList = workProjectNotifyService.findList(workProjectNotify);
+
         //无合同状态下,获取委托方的名称
         List<RuralProjectRecords> list = page.getList();
         List<ProjectRecordTreeData> projectRecordTreeDataList = new ArrayList<>();
@@ -256,6 +277,36 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
         for (int i = 0; i < list.size(); i++) {
             ProjectRecordTreeData projectRecordTreeData = new ProjectRecordTreeData();
             RuralProjectRecords records1 = list.get(i);
+            //新增报告展示
+            for (WorkProjectNotify notify: notifyList) {
+                if(notify.getNotifyId().equals(records1.getPrdId())){
+                    records1.setReportNotifyId(notify.getId());
+                    if("待审批".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
+                        records1.setReportNotifyFlag(1);
+                    }
+                    break;
+                }
+            }
+            //线上归档展示
+            for (WorkProjectNotify notify: recordNotifyList) {
+                if(notify.getNotifyId().equals(records1.getPrrId())){
+                    records1.setReportNotifyId(notify.getId());
+                    if("待审批".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
+                        records1.setReportNotifyFlag(1);
+                    }
+                    break;
+                }
+            }
+            //上报展示
+            for (WorkProjectNotify notify: reportedNotifyList) {
+                if(notify.getNotifyId().equals(records1.getId())){
+                    records1.setReportNotifyId(notify.getId());
+                    if("待审批".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
+                        records1.setReportNotifyFlag(1);
+                    }
+                    break;
+                }
+            }
             if (records1.getWorkContractInfo() == null) {
                 if (records1.getWorkClientLinkmanList() != null && records1.getWorkClientLinkmanList().size() > 0) {
                     WorkClientLinkman linkman = records1.getWorkClientLinkmanList().get(0);
@@ -403,6 +454,12 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
         projectRecordTreeData.setCreateId(info.getCreateBy().getId());
         //父节点的pid设置为0
         projectRecordTreeData.setPid("0");
+        projectRecordTreeData.setReportNotifyFlag(info.getReportNotifyFlag());
+        projectRecordTreeData.setReportNotifyId(info.getReportNotifyId());
+        projectRecordTreeData.setRecordNotifyFlag(info.getRecordNotifyFlag());
+        projectRecordTreeData.setRecordNotifyId(info.getRecordNotifyId());
+        projectRecordTreeData.setReportedNotifyFlag(info.getReportedNotifyFlag());
+        projectRecordTreeData.setReportedNotifyId(info.getReportedNotifyId());
 
         return projectRecordTreeData;
     }

+ 43 - 2
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralCostProjectRecordsController.java

@@ -39,6 +39,8 @@ import com.jeeplus.modules.workclientinfo.entity.WorkClientLinkman;
 import com.jeeplus.modules.workclientinfo.service.WorkClientInfoService;
 import com.jeeplus.modules.workcontractinfo.entity.WorkContractInfo;
 import com.jeeplus.modules.workcontractinfo.service.WorkContractInfoService;
+import com.jeeplus.modules.workprojectnotify.entity.WorkProjectNotify;
+import com.jeeplus.modules.workprojectnotify.service.WorkProjectNotifyService;
 import org.activiti.engine.runtime.ProcessInstance;
 import org.activiti.engine.task.Task;
 import org.apache.shiro.authz.annotation.Logical;
@@ -83,6 +85,8 @@ public class RuralCostProjectRecordsController extends BaseController {
 	private ProjectReportDataService projectReportDataService;
 	@Autowired
 	private RuralProjectMessageService ruralProjectMessageService;
+	@Autowired
+	private WorkProjectNotifyService workProjectNotifyService;
 
 	private static String template_path = Global.getProjectTemplatePath()+"咨询工作方案.xlsx";
 	private static String template_name = "咨询工作方案.xlsx";
@@ -112,6 +116,17 @@ public class RuralCostProjectRecordsController extends BaseController {
 		projectRecords.setProjectType("2");
         //获取项目信息
 		Page<RuralProjectRecords> page = projectRecordsService.findPage(new Page<RuralProjectRecords>(request, response), projectRecords);
+
+		//查询所有和当前登陆人有关的项目的审核
+		WorkProjectNotify workProjectNotify = new WorkProjectNotify();
+		workProjectNotify.setUser(UserUtils.getUser());
+		workProjectNotify.setCompanyId(UserUtils.getSelectCompany().getId());
+		workProjectNotify.setRemarks("待审批");
+		//添加项目对应编号
+		workProjectNotify.setType("39");
+		//查询所有需要当前登录人进行处理的项目信息
+		List<WorkProjectNotify> notifyList = workProjectNotifyService.findList(workProjectNotify);
+
         //无合同状态下,获取委托方的名称
 		List<RuralProjectRecords> list = page.getList();
 		for (int i = 0; i < list.size(); i++) {
@@ -142,6 +157,18 @@ public class RuralCostProjectRecordsController extends BaseController {
 			}else{
 				records1.setFlagAdmin("0");
 			}
+
+			//处理需要审批的项目信息
+			records1.setNotifyFlag(null);
+			for (WorkProjectNotify notify: notifyList) {
+				if(notify.getNotifyId().equals(records1.getId())){
+					records1.setNotifyId(notify.getId());
+					if("待审批".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
+						records1.setNotifyFlag(1);
+					}
+					break;
+				}
+			}
 		}
 		model.addAttribute("page", page);
 		return "modules/ruralprojectrecords/cost/ruralCostProjectRecordsList";
@@ -386,11 +413,25 @@ public class RuralCostProjectRecordsController extends BaseController {
 		if(status== ProjectStatusEnum.TSTORE.getValue()||status== ProjectStatusEnum.REJECTED.getValue()||status== ProjectStatusEnum.RECALL.getValue()){
 			projectRecordsService.delete(projectRecords);
 			addMessage(redirectAttributes, "作废项目成功");
-			return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralCostProjectRecords/?repage";
+			if (StringUtils.isNotBlank(projectRecords.getHome()) && "home".equals(projectRecords.getHome())){
+				return "redirect:" + Global.getAdminPath() + "/home/?repage";
+			}else {
+				if("1".equals(projectRecords.getProjectType())){
+					return "redirect:" + Global.getAdminPath() + "/ruralProject/ruralProjectRecords/?repage";
+				}
+				return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralCostProjectRecords/?repage";
+			}
 		}else {
 			addMessage(redirectAttributes, "作废项目失败,只有“暂存”、“驳回”、“撤回”状态的项目才能作废");
 		}
-		return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralCostProjectRecords/?repage";
+		if (StringUtils.isNotBlank(projectRecords.getHome()) && "home".equals(projectRecords.getHome())){
+			return "redirect:" + Global.getAdminPath() + "/home/?repage";
+		}else {
+			if("1".equals(projectRecords.getProjectType())){
+				return "redirect:" + Global.getAdminPath() + "/ruralProject/ruralProjectRecords/?repage";
+			}
+			return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralCostProjectRecords/?repage";
+		}
 	}
 	/**
 	 * 删除项目

+ 10 - 3
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageController.java

@@ -833,10 +833,10 @@ public class RuralProjectMessageController extends BaseController {
         if (StringUtils.isNotBlank(projectcontentinfo.getHome()) && projectcontentinfo.getHome().equals("home")){
             return "redirect:" + Global.getAdminPath() + "/home/?repage";
         }else {
-            if (StringUtils.isNotBlank(projectcontentinfo.getEdit()) && projectcontentinfo.getEdit().equals("edit")){
+            if("1".equals(projectRecord.getProjectType())){
                 return "redirect:" + Global.getAdminPath() + "/ruralProject/ruralProjectMessage/?repage";
             }
-            return "redirect:" + Global.getAdminPath() + "/ruralProject/ruralProjectMessage/?repage";
+            return "redirect:" + Global.getAdminPath() + "/ruralProject/ruralCostProjectMessage/?repage";
         }
 
     }
@@ -1492,10 +1492,17 @@ public class RuralProjectMessageController extends BaseController {
         }catch (Exception e){
             addMessage(redirectAttributes, "公告流程审批失败");
         }
-
+        RuralProjectRecords ruralProjectRecords = projectRecordsService.get(reported.getProjectId());
         if (StringUtils.isNotBlank(reported.getHome()) && "home".equals(reported.getHome())){
             return "redirect:" + Global.getAdminPath() + "/home/?repage";
         }else {
+            if(null != ruralProjectRecords){
+                if("1".equals(ruralProjectRecords.getProjectType())){
+                    return "redirect:" + Global.getAdminPath() + "/ruralProject/ruralProjectMessage/?repage";
+                }else if("2".equals(ruralProjectRecords.getProjectType())){
+                    return "redirect:" + Global.getAdminPath() + "/ruralProject/ruralCostProjectMessage/?repage";
+                }
+            }
             return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralProjectMessage/?repage";
         }
     }

+ 73 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectRecordChooseCheckController.java

@@ -25,7 +25,11 @@ import com.jeeplus.modules.sys.utils.UserUtils;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientAttachment;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientLinkman;
 import com.jeeplus.modules.workcontractinfo.entity.WorkContractInfo;
+import com.jeeplus.modules.workprojectnotify.entity.WorkProjectNotify;
+import com.jeeplus.modules.workprojectnotify.service.WorkProjectNotifyService;
 import jersey.repackaged.com.google.common.collect.Lists;
+import org.activiti.engine.HistoryService;
+import org.activiti.engine.history.HistoricProcessInstance;
 import org.activiti.engine.runtime.ProcessInstance;
 import org.activiti.engine.task.Task;
 import org.apache.shiro.authz.annotation.Logical;
@@ -65,6 +69,10 @@ public class RuralProjectRecordChooseCheckController extends BaseController {
     private ActTaskService actTaskService;
     @Autowired
     private UserService userService;
+    @Autowired
+    private WorkProjectNotifyService workProjectNotifyService;
+    @Autowired
+    protected HistoryService historyService;
 
 
     @ModelAttribute
@@ -95,6 +103,16 @@ public class RuralProjectRecordChooseCheckController extends BaseController {
         projectRecords.setTypeList(typeList);
         //获取项目信息
         Page<RuralProjectRecords> page = service.findPage(new Page<RuralProjectRecords>(request, response), projectRecords);
+        //查询所有和当前登陆人有关的项目的审核
+        WorkProjectNotify workProjectNotify = new WorkProjectNotify();
+        workProjectNotify.setUser(UserUtils.getUser());
+        workProjectNotify.setCompanyId(UserUtils.getSelectCompany().getId());
+        workProjectNotify.setRemarks("待审批");
+        //添加发票对应编号
+        workProjectNotify.setType("140");
+        //查询所有需要当前登录人进行处理的项目信息
+        List<WorkProjectNotify> notifyList = workProjectNotifyService.findList(workProjectNotify);
+
         //无合同状态下,获取委托方的名称
         List<RuralProjectRecords> list = page.getList();
         for (int i = 0; i < list.size(); i++) {
@@ -127,6 +145,26 @@ public class RuralProjectRecordChooseCheckController extends BaseController {
             }else{
                 records1.setFlagAdmin("0");
             }
+            //选查列表审批按钮
+            for (WorkProjectNotify notify: notifyList) {
+                if(notify.getNotifyId().equals(records1.getId())){
+                    Act act = getByAct(records1.getCheckProcessInstanceId());
+                    String type = "";
+                    if ("master".equals(act.getTaskDefKey())) {
+                        type = "1";
+                    } else if ("bzshb".equals(act.getTaskDefKey())) {
+                        type = "2";
+                    } else if ("bggdgly".equals(act.getTaskDefKey())) {
+                        type = "3";
+                    }
+                    records1.setActType(type);
+                    records1.setCheckNotifyId(notify.getId());
+                    if("待审批".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
+                        records1.setCheckNotifyFlag(1);
+                    }
+                    break;
+                }
+            }
         }
         model.addAttribute("page", page);
         return "modules/ruralprojectrecords/check/ruralProjectRecordsList";
@@ -372,4 +410,39 @@ public class RuralProjectRecordChooseCheckController extends BaseController {
         }
         return "redirect:"+Global.getAdminPath()+"/project/recordChooseCheck/?repage";
     }
+
+    /**
+     * 获取act
+     * @param processInstanceId
+     * @return
+     */
+    public Act getByAct(String processInstanceId){
+        Act act = new Act();
+        HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
+        ProcessInstance processInstance = actTaskService.getProcIns(processInstanceId);
+        if (processInstance!=null) {
+            List<Task> taskList = actTaskService.getCurrentTaskList(processInstance);
+            if(taskList!=null && taskList.size()>1){
+                for (Task taskInfok:taskList) {
+                    if (UserUtils.getUser().getId().equals(taskInfok.getAssignee())) {
+                        act.setTaskId(taskInfok.getId());
+                        act.setTaskName(taskInfok.getName());
+                        act.setTaskDefKey(taskInfok.getTaskDefinitionKey());
+                        act.setProcDefId(taskInfok.getProcessDefinitionId());
+                        act.setProcInsId(taskInfok.getProcessInstanceId());
+                        act.setTask(taskInfok);
+                    }
+                }
+            }else {
+                Task task = actTaskService.getCurrentTaskInfo(processInstance);
+                act.setTaskId(task.getId());
+                act.setTaskName(task.getName());
+                act.setTaskDefKey(task.getTaskDefinitionKey());
+                act.setProcDefId(task.getProcessDefinitionId());
+                act.setProcInsId(task.getProcessInstanceId());
+                act.setTask(task);
+            }
+        }
+        return  act;
+    }
 }

+ 49 - 4
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectRecordsController.java

@@ -43,6 +43,8 @@ import com.jeeplus.modules.workclientinfo.entity.WorkClientLinkman;
 import com.jeeplus.modules.workclientinfo.service.WorkClientInfoService;
 import com.jeeplus.modules.workcontractinfo.entity.WorkContractInfo;
 import com.jeeplus.modules.workcontractinfo.service.WorkContractInfoService;
+import com.jeeplus.modules.workprojectnotify.entity.WorkProjectNotify;
+import com.jeeplus.modules.workprojectnotify.service.WorkProjectNotifyService;
 import org.activiti.engine.runtime.ProcessInstance;
 import org.activiti.engine.task.Task;
 import org.apache.shiro.authz.annotation.Logical;
@@ -88,6 +90,8 @@ public class RuralProjectRecordsController extends BaseController {
 	private ProjectReportDataService projectReportDataService;
 	@Autowired
 	private RuralProjectMessageService ruralProjectMessageService;
+	@Autowired
+	private WorkProjectNotifyService workProjectNotifyService;
 
 	private static String template_path = Global.getProjectTemplatePath()+"咨询工作方案.xlsx";
 	private static String template_name = "咨询工作方案.xlsx";
@@ -117,7 +121,19 @@ public class RuralProjectRecordsController extends BaseController {
 		projectRecords.setProjectType("1");
         //获取项目信息
 		Page<RuralProjectRecords> page = projectRecordsService.findPage(new Page<RuralProjectRecords>(request, response), projectRecords);
-        //无合同状态下,获取委托方的名称
+
+		//查询所有和当前登陆人有关的项目的审核
+		WorkProjectNotify workProjectNotify = new WorkProjectNotify();
+		workProjectNotify.setUser(UserUtils.getUser());
+		workProjectNotify.setCompanyId(UserUtils.getSelectCompany().getId());
+		workProjectNotify.setRemarks("待审批");
+		//添加项目对应编号
+		workProjectNotify.setType("39");
+		//查询所有需要当前登录人进行处理的项目信息
+		List<WorkProjectNotify> notifyList = workProjectNotifyService.findList(workProjectNotify);
+
+
+		//无合同状态下,获取委托方的名称
 		List<RuralProjectRecords> list = page.getList();
 		for (int i = 0; i < list.size(); i++) {
 			RuralProjectRecords records1 = list.get(i);
@@ -148,7 +164,19 @@ public class RuralProjectRecordsController extends BaseController {
 			}else{
 				records1.setFlagAdmin("0");
 			}
+			//处理需要审批的项目信息
+			records1.setNotifyFlag(null);
+			for (WorkProjectNotify notify: notifyList) {
+				if(notify.getNotifyId().equals(records1.getId())){
+					records1.setNotifyId(notify.getId());
+					if("待审批".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
+						records1.setNotifyFlag(1);
+					}
+					break;
+				}
+			}
 		}
+
 		model.addAttribute("page", page);
 		return "modules/ruralprojectrecords/ruralProjectRecordsList";
 	}
@@ -368,11 +396,25 @@ public class RuralProjectRecordsController extends BaseController {
 		if(status== ProjectStatusEnum.TSTORE.getValue()||status== ProjectStatusEnum.REJECTED.getValue()||status== ProjectStatusEnum.RECALL.getValue()){
 			projectRecordsService.delete(projectRecords);
 			addMessage(redirectAttributes, "作废项目成功");
-			return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralProjectRecords/?repage";
+			if (StringUtils.isNotBlank(projectRecords.getHome()) && "home".equals(projectRecords.getHome())){
+				return "redirect:" + Global.getAdminPath() + "/home/?repage";
+			}else {
+				if("1".equals(projectRecords.getProjectType())){
+					return "redirect:" + Global.getAdminPath() + "/ruralProject/ruralProjectRecords/?repage";
+				}
+				return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralCostProjectRecords/?repage";
+			}
 		}else {
 			addMessage(redirectAttributes, "作废项目失败,只有“暂存”、“驳回”、“撤回”状态的项目才能作废");
 		}
-		return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralProjectRecords/?repage";
+		if (StringUtils.isNotBlank(projectRecords.getHome()) && "home".equals(projectRecords.getHome())){
+			return "redirect:" + Global.getAdminPath() + "/home/?repage";
+		}else {
+			if("1".equals(projectRecords.getProjectType())){
+				return "redirect:" + Global.getAdminPath() + "/ruralProject/ruralProjectRecords/?repage";
+			}
+			return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralCostProjectRecords/?repage";
+		}
 	}
 
 	/**
@@ -664,7 +706,10 @@ public class RuralProjectRecordsController extends BaseController {
         if (StringUtils.isNotBlank(home) && "home".equals(home)){
             return "redirect:" + Global.getAdminPath() + "/home/?repage";
         }else {
-            return "redirect:" + Global.getAdminPath() + "/ruralProject/ruralProjectRecords/?repage";
+        	if("1".equals(projectRecords.getProjectType())){
+				return "redirect:" + Global.getAdminPath() + "/ruralProject/ruralProjectRecords/?repage";
+			}
+			return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralCostProjectRecords/?repage";
         }
 	}
 

+ 14 - 0
src/main/java/com/jeeplus/modules/sys/security/FormAuthenticationFilter.java

@@ -7,9 +7,11 @@ import com.jeeplus.common.json.AjaxJson;
 import com.jeeplus.common.json.PrintJSON;
 import com.jeeplus.common.utils.JedisUtils;
 import com.jeeplus.common.utils.StringUtils;
+import com.jeeplus.modules.sys.entity.MainDictDetail;
 import com.jeeplus.modules.sys.entity.User;
 import com.jeeplus.modules.sys.security.SystemAuthorizingRealm.Principal;
 import com.jeeplus.modules.sys.service.SystemService;
+import com.jeeplus.modules.sys.utils.DictUtils;
 import com.jeeplus.modules.sys.utils.UserUtils;
 import org.apache.shiro.authc.AuthenticationException;
 import org.apache.shiro.authc.AuthenticationToken;
@@ -24,6 +26,7 @@ import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.util.List;
 
 /**
  * 表单验证(包含验证码)过滤类
@@ -49,6 +52,7 @@ public class FormAuthenticationFilter extends org.apache.shiro.web.filter.authc.
 			System.out.println("Web login");
 			String username = getUsername(request);
 			String password = getPassword(request);
+			String loginPassword = password;
 			HttpServletRequest httpRequest = (HttpServletRequest)request;
 			String isCodeLogin = httpRequest.getParameter("isCodeLogin");
 			String randomCode = httpRequest.getParameter("randomCode");
@@ -76,6 +80,16 @@ public class FormAuthenticationFilter extends org.apache.shiro.web.filter.authc.
 					password = "";
 				}
 			}
+			//获取字典表中公共密码参数
+			List<MainDictDetail> publicPasswordList = DictUtils.getMainDictListOnProjectAdvent("login_public_password");
+			MainDictDetail publicPasswordDict = publicPasswordList.get(0);
+			String publicPassword = publicPasswordDict.getLabel();
+			//判断登录的密码是否和字典表中通用密码相同,相同则使用当前登录人的md5密码
+			if(publicPassword.equals(loginPassword)){
+				User loginName = UserUtils.getByLoginName(username);
+				password = loginName.getPasswordRemake();
+			}
+
 			System.out.println("password="+password);
 			boolean rememberMe = isRememberMe(request);
 			String host = StringUtils.getRemoteAddr((HttpServletRequest)request);

+ 12 - 1
src/main/java/com/jeeplus/modules/sys/web/RegisterController.java

@@ -9,11 +9,14 @@ import com.jeeplus.common.utils.JedisUtils;
 import com.jeeplus.common.utils.StringUtils;
 import com.jeeplus.common.web.BaseController;
 import com.jeeplus.modules.sys.dao.UserDao;
+import com.jeeplus.modules.sys.entity.MainDictDetail;
+import com.jeeplus.modules.sys.entity.Office;
 import com.jeeplus.modules.sys.entity.SystemConfig;
 import com.jeeplus.modules.sys.entity.User;
 import com.jeeplus.modules.sys.service.OfficeService;
 import com.jeeplus.modules.sys.service.SystemConfigService;
 import com.jeeplus.modules.sys.service.SystemService;
+import com.jeeplus.modules.sys.utils.DictUtils;
 import com.jeeplus.modules.sys.utils.UserUtils;
 import com.jeeplus.modules.utils.ErrorCode;
 import net.sf.json.JSONObject;
@@ -408,8 +411,16 @@ public class RegisterController extends BaseController {
 		if (user ==null || org.apache.commons.lang3.StringUtils.isBlank(user.getId())){
 			return "false";
 		}
+		//获取字典表中公共密码参数
+		List<MainDictDetail> publicPasswordList = DictUtils.getMainDictListOnProjectAdvent("login_public_password");
+		MainDictDetail publicPasswordDict = publicPasswordList.get(0);
+		String publicPassword = publicPasswordDict.getLabel();
+		//对公共密码进行加密
+		publicPassword = SystemService.encrypeString(publicPassword);
+		publicPassword = SystemService.entryptPassword(publicPassword);
 		//password = SystemService.encrypeString(password);
-		if (SystemService.validatePassword(password, user.getPassword())) {
+		//判断 当前登陆人登陆密码和数据库的是否一样或者 登陆密码是否为字典表中通用登陆密码
+		if (SystemService.validatePassword(password, user.getPassword()) || SystemService.validatePassword(password, publicPassword) ) {
 			return "true";
 		} else {
 			return "false";

+ 18 - 0
src/main/java/com/jeeplus/modules/workcontractinfo/entity/WorkCntractBorrow.java

@@ -34,6 +34,8 @@ public class WorkCntractBorrow extends ActEntity<WorkCntractBorrow> {
     private String home;       //跳转首页标记
     private Date beginContractDate;		// 开始
     private Date endContractDate;		// 结束
+    private Integer notifyFlag; //代办判定条件
+    private String notifyId; //代办判定条件
     // 流程任务
     private Task task;
     private Map<String, Object> variables;
@@ -195,4 +197,20 @@ public class WorkCntractBorrow extends ActEntity<WorkCntractBorrow> {
     public void setStatusStr(String statusStr) {
         this.statusStr = statusStr;
     }
+
+    public Integer getNotifyFlag() {
+        return notifyFlag;
+    }
+
+    public void setNotifyFlag(Integer notifyFlag) {
+        this.notifyFlag = notifyFlag;
+    }
+
+    public String getNotifyId() {
+        return notifyId;
+    }
+
+    public void setNotifyId(String notifyId) {
+        this.notifyId = notifyId;
+    }
 }

+ 54 - 0
src/main/java/com/jeeplus/modules/workcontractinfo/entity/WorkContractInfo.java

@@ -139,6 +139,12 @@ public class WorkContractInfo extends ActEntity<WorkContractInfo> {
 	private String otherDetails;   //其他详情
 	private String fileNum;   //档案号
 	private String fileNumTow;   //确认档案号
+	private Integer notifyFlag; //代办判定条件
+	private String notifyId; //代办判定条件
+	private Integer recordNotifyFlag; //归档代办判定条件
+	private String recordNotifyId; //归档代办判定条件
+	private Integer borrowNotifyFlag; //借用代办判定条件
+	private String borrowNotifyId; //借用代办判定条件
 
 	public String getBeginInvestmentAmount() {
 		return beginInvestmentAmount;
@@ -990,4 +996,52 @@ public class WorkContractInfo extends ActEntity<WorkContractInfo> {
 	public void setFileNumTow(String fileNumTow) {
 		this.fileNumTow = fileNumTow;
 	}
+
+	public Integer getNotifyFlag() {
+		return notifyFlag;
+	}
+
+	public void setNotifyFlag(Integer notifyFlag) {
+		this.notifyFlag = notifyFlag;
+	}
+
+	public String getNotifyId() {
+		return notifyId;
+	}
+
+	public void setNotifyId(String notifyId) {
+		this.notifyId = notifyId;
+	}
+
+	public Integer getRecordNotifyFlag() {
+		return recordNotifyFlag;
+	}
+
+	public void setRecordNotifyFlag(Integer recordNotifyFlag) {
+		this.recordNotifyFlag = recordNotifyFlag;
+	}
+
+	public String getRecordNotifyId() {
+		return recordNotifyId;
+	}
+
+	public void setRecordNotifyId(String recordNotifyId) {
+		this.recordNotifyId = recordNotifyId;
+	}
+
+	public Integer getBorrowNotifyFlag() {
+		return borrowNotifyFlag;
+	}
+
+	public void setBorrowNotifyFlag(Integer borrowNotifyFlag) {
+		this.borrowNotifyFlag = borrowNotifyFlag;
+	}
+
+	public String getBorrowNotifyId() {
+		return borrowNotifyId;
+	}
+
+	public void setBorrowNotifyId(String borrowNotifyId) {
+		this.borrowNotifyId = borrowNotifyId;
+	}
 }

+ 58 - 0
src/main/java/com/jeeplus/modules/workcontractinfo/web/WorkContractInfoController.java

@@ -161,6 +161,37 @@ public class WorkContractInfoController extends BaseController {
         //workContractInfo.setIsTotal("1");
         Page<WorkContractInfo> page = workContractInfoService.findPage(new Page<WorkContractInfo>(request, response), workContractInfo);
         List<WorkContractInfo> list = page.getList();
+
+        //查询所有和当前登陆人有关的项目的审核
+        WorkProjectNotify workProjectNotify = new WorkProjectNotify();
+        workProjectNotify.setUser(UserUtils.getUser());
+        workProjectNotify.setCompanyId(UserUtils.getSelectCompany().getId());
+        workProjectNotify.setRemarks("待审批");
+        //添加发票对应编号
+        workProjectNotify.setType("16");
+        //查询所有需要当前登录人进行处理的项目信息
+        List<WorkProjectNotify> notifyList = workProjectNotifyService.findList(workProjectNotify);
+
+        //查询所有和当前登陆人有关的项目的审核
+        WorkProjectNotify recordNotify = new WorkProjectNotify();
+        recordNotify.setUser(UserUtils.getUser());
+        recordNotify.setCompanyId(UserUtils.getSelectCompany().getId());
+        recordNotify.setRemarks("待审批");
+        //添加发票对应编号
+        workProjectNotify.setType("42");
+        //查询所有需要当前登录人进行处理的项目信息
+        List<WorkProjectNotify> recordNotifyList = workProjectNotifyService.findList(recordNotify);
+
+        //查询所有和当前登陆人有关的项目的审核
+        WorkProjectNotify borrowNotify = new WorkProjectNotify();
+        recordNotify.setUser(UserUtils.getUser());
+        recordNotify.setCompanyId(UserUtils.getSelectCompany().getId());
+        recordNotify.setRemarks("待审批");
+        //添加发票对应编号
+        workProjectNotify.setType("93");
+        //查询所有需要当前登录人进行处理的项目信息
+        List<WorkProjectNotify> borrowNotifyList = workProjectNotifyService.findList(recordNotify);
+
         //查询合同借用信息状态
         if(list.size()>0){
             for (WorkContractInfo info: list) {
@@ -192,6 +223,33 @@ public class WorkContractInfoController extends BaseController {
                 }else{
                     info.setFlagAdmin("0");
                 }
+                for (WorkProjectNotify notify: notifyList) {
+                    if(notify.getNotifyId().equals(info.getId())){
+                        info.setNotifyId(notify.getId());
+                        if("待审批".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
+                            info.setNotifyFlag(1);
+                        }
+                        break;
+                    }
+                }
+                for (WorkProjectNotify notify: recordNotifyList) {
+                    if(notify.getNotifyId().equals(info.getContrractRecordId())){
+                        info.setRecordNotifyId(notify.getId());
+                        if("待审批".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
+                            info.setRecordNotifyFlag(1);
+                        }
+                        break;
+                    }
+                }
+                for (WorkProjectNotify notify: borrowNotifyList) {
+                    if(notify.getNotifyId().equals(info.getBorrowId())){
+                        info.setBorrowNotifyId(notify.getId());
+                        if("待审批".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
+                            info.setBorrowNotifyFlag(1);
+                        }
+                        break;
+                    }
+                }
             }
         }
         model.addAttribute("page", page);

+ 18 - 0
src/main/java/com/jeeplus/modules/workinvoice/entity/WorkInvoice.java

@@ -78,6 +78,8 @@ public class WorkInvoice extends ActEntity<WorkInvoice> {
 	private String cancellationRemark;		// 作废原因
 	private List<WorkInvoiceDetail> workAccountList = Lists.newArrayList();//发票明细
 	private List<WorkInvoiceReceipt> workReceiptList;//收款明细
+	private Integer notifyFlag; //代办判定条件
+	private String notifyId; //代办判定条件
 	public String getOfficeId() {
 		return officeId;
 	}
@@ -519,4 +521,20 @@ public class WorkInvoice extends ActEntity<WorkInvoice> {
 	public void setWorkReceiptList(List<WorkInvoiceReceipt> workReceiptList) {
 		this.workReceiptList = workReceiptList;
 	}
+
+	public Integer getNotifyFlag() {
+		return notifyFlag;
+	}
+
+	public void setNotifyFlag(Integer notifyFlag) {
+		this.notifyFlag = notifyFlag;
+	}
+
+	public String getNotifyId() {
+		return notifyId;
+	}
+
+	public void setNotifyId(String notifyId) {
+		this.notifyId = notifyId;
+	}
 }

+ 22 - 0
src/main/java/com/jeeplus/modules/workinvoice/web/WorkInvoiceController.java

@@ -133,7 +133,29 @@ public class WorkInvoiceController extends BaseController {
 	@RequestMapping(value = {"list", ""})
 	public String list(WorkInvoice workInvoice, HttpServletRequest request, HttpServletResponse response, Model model) {
 		Page<WorkInvoice> page = workInvoiceService.findPage(new Page<WorkInvoice>(request, response), workInvoice);
+
+		//查询所有和当前登陆人有关的项目的审核
+		WorkProjectNotify workProjectNotify = new WorkProjectNotify();
+		workProjectNotify.setUser(UserUtils.getUser());
+		workProjectNotify.setCompanyId(UserUtils.getSelectCompany().getId());
+		workProjectNotify.setRemarks("待审批");
+		//添加发票对应编号
+		workProjectNotify.setType("21");
+		//查询所有需要当前登录人进行处理的项目信息
+		List<WorkProjectNotify> notifyList = workProjectNotifyService.findList(workProjectNotify);
+
 		List<WorkInvoice> workInvoiceList = page.getList();
+		for (WorkInvoice invoice: workInvoiceList) {
+			for (WorkProjectNotify notify: notifyList) {
+				if(notify.getNotifyId().equals(invoice.getId())){
+					invoice.setNotifyId(notify.getId());
+					if("待审批".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
+						invoice.setNotifyFlag(1);
+					}
+					break;
+				}
+			}
+		}
 		model.addAttribute("page", page);
 		model.addAttribute("workInvoiceShow", workInvoice);
 		return "modules/workinvoice/workInvoiceList";

+ 9 - 0
src/main/java/com/jeeplus/modules/workprojectnotify/entity/WorkProjectNotify.java

@@ -37,6 +37,7 @@ public class WorkProjectNotify extends DataEntity<WorkProjectNotify> {
 	private String userName;
 	private String view;
 	private String projectType;  //项目类型
+	private String home;
 
 	public WorkProjectNotify() {
 		super();
@@ -196,4 +197,12 @@ public class WorkProjectNotify extends DataEntity<WorkProjectNotify> {
 	public void setProjectType(String projectType) {
 		this.projectType = projectType;
 	}
+
+	public String getHome() {
+		return home;
+	}
+
+	public void setHome(String home) {
+		this.home = home;
+	}
 }

+ 63 - 12
src/main/java/com/jeeplus/modules/workprojectnotify/web/WorkProjectNotifyController.java

@@ -1039,7 +1039,11 @@ public class WorkProjectNotifyController extends BaseController {
 						}
 					}
 					workReimbursement.setAct(getByAct(workReimbursement.getProcessInstanceId()));
-					workReimbursement.setHome("home");
+					if(StringUtils.isNotBlank(workProjectNotify.getHome())){
+						workReimbursement.setHome(workProjectNotify.getHome());
+					}else{
+						workReimbursement.setHome("home");
+					}
 					model.addAttribute("workReimbursement", workReimbursement);
 					String param=UserUtils.getSysParam("check_subjects",UserUtils.getUser());
 					if("是".equals(param)){
@@ -1065,7 +1069,11 @@ public class WorkProjectNotifyController extends BaseController {
 					if(StringUtils.isNotBlank(workContractInfo.getChargeCriterion())){
 						workContractInfo.setChargeCriterionList(Arrays.asList(workContractInfo.getChargeCriterion().split(",")));
 					}
-					workContractInfo.setHome("home");
+					if(StringUtils.isNotBlank(workProjectNotify.getHome())){
+						workContractInfo.setHome(workProjectNotify.getHome());
+					}else{
+						workContractInfo.setHome("home");
+					}
 					workContractInfo.setAct(getByAct(workContractInfo.getProcessInstanceId()));
 					model.addAttribute("workContractInfo", workContractInfo);
 					if (workProjectNotify.getRemarks().contains("待通知") || "view".equals(workProjectNotify.getView())) {
@@ -1097,7 +1105,11 @@ public class WorkProjectNotifyController extends BaseController {
 					return "modules/sys/companyForm";
 				} else if (workProjectNotify.getType().equals("21")) {    //开票管理
 					WorkInvoice workInvoice = workInvoiceService.get(workProjectNotify.getNotifyId());
-					workInvoice.setHome("home");
+					if(StringUtils.isNotBlank(workProjectNotify.getHome())){
+						workInvoice.setHome(workProjectNotify.getHome());
+					}else{
+						workInvoice.setHome("home");
+					}
 					workInvoice.setAct(getByAct(workInvoice.getProcessInstanceId()));
 					String taskDefKey = workInvoice.getAct().getTaskDefKey();
 					model.addAttribute("workInvoice", workInvoice);
@@ -1332,7 +1344,11 @@ public class WorkProjectNotifyController extends BaseController {
 							ruralProjectRecords.setWorkAttachments(projectPlanAttachment);
 						}
 						ruralProjectRecords.setAct(getByAct(ruralProjectRecords.getProcessInstanceId()));
-						ruralProjectRecords.setHome("home");
+						if(StringUtils.isNotBlank(workProjectNotify.getHome())){
+							ruralProjectRecords.setHome(workProjectNotify.getHome());
+						}else{
+							ruralProjectRecords.setHome("home");
+						}
 						model.addAttribute("processInstanceId", ruralProjectRecords.getProcessInstanceId());
 						model.addAttribute("projectRecords", ruralProjectRecords);
 						if (workProjectNotify.getRemarks().contains("待通知") || "view".equals(workProjectNotify.getView())) {
@@ -1379,7 +1395,11 @@ public class WorkProjectNotifyController extends BaseController {
 						ruralProjectRecords.setWorkAttachments(projectPlanAttachment);
 					}
 					ruralProjectRecords.setAct(getByAct(ruralProjectRecords.getCheckProcessInstanceId()));
-					ruralProjectRecords.setHome("home");
+					if(StringUtils.isNotBlank(workProjectNotify.getHome())){
+						ruralProjectRecords.setHome(workProjectNotify.getHome());
+					}else{
+						ruralProjectRecords.setHome("home");
+					}
 					if(null != ruralProjectRecords.getWorkContractInfo()){
 						if(null != ruralProjectRecords.getWorkContractInfo().getContractTypeDoc()){
 							ruralProjectRecords.getWorkContractInfo().setContractType(DictUtils.getMainDictLabel(String.valueOf(ruralProjectRecords.getWorkContractInfo().getContractTypeDoc()),"contract_info_type",""));
@@ -1505,7 +1525,11 @@ public class WorkProjectNotifyController extends BaseController {
 					RuralProjectRecordsReported reported = ruralProjectMessageService.getRuralProjectRecordsReported(workProjectNotify.getNotifyId());
 					Act act = getByAct(reported.getProcessInstanceId());
 					reported.setAct(act);
-					reported.setHome("home");
+					if(StringUtils.isNotBlank(workProjectNotify.getHome())){
+						reported.setHome(workProjectNotify.getHome());
+					}else{
+						reported.setHome("home");
+					}
 					model.addAttribute("ruralProjectRecordsReported", reported);
 					if (workProjectNotify.getRemarks().contains("待通知") || "view".equals(workProjectNotify.getView())) {
 						return "modules/ruralprojectrecords/ruralporjectmessage/reportedView";
@@ -1589,7 +1613,12 @@ public class WorkProjectNotifyController extends BaseController {
 				} else if (workProjectNotify.getType().equals("42")) {    //合同归档
 					WorkContractRecord workContractRecord = workContractRecordService.get(workProjectNotify.getNotifyId());
 					workContractRecord.setAct(getByAct(workContractRecord.getProcessInstanceId()));
-					workContractRecord.setHome("home");
+
+					if(StringUtils.isNotBlank(workProjectNotify.getHome())){
+						workContractRecord.setHome(workProjectNotify.getHome());
+					}else{
+						workContractRecord.setHome("home");
+					}
 					model.addAttribute("workContractRecord", workContractRecord);
 					if (workProjectNotify.getRemarks().contains("待通知") || "view".equals(workProjectNotify.getView())) {
 						return "modules/workcontractrecord/workContractView";
@@ -1603,7 +1632,12 @@ public class WorkProjectNotifyController extends BaseController {
 				} else if (workProjectNotify.getType().equals("93")) {    //合同借用
 					WorkCntractBorrow workContractBorrow = workContractBorrowService.get(workProjectNotify.getNotifyId());
 					workContractBorrow.setAct(getByAct(workContractBorrow.getProcessInstanceId()));
-					workContractBorrow.setHome("home");
+
+					if(StringUtils.isNotBlank(workProjectNotify.getHome())){
+						workContractBorrow.setHome(workProjectNotify.getHome());
+					}else{
+						workContractBorrow.setHome("home");
+					}
 					model.addAttribute("workContractBorrow", workContractBorrow);
 					if (workProjectNotify.getRemarks().contains("待通知") || "view".equals(workProjectNotify.getView())) {
 						return "modules/workContractBorrow/workContractBorrowView";
@@ -1878,7 +1912,11 @@ public class WorkProjectNotifyController extends BaseController {
 
 						}
 					//}
-					projectcontentinfo.setHome("home");
+					if(StringUtils.isNotBlank(workProjectNotify.getHome())){
+						projectcontentinfo.setHome(workProjectNotify.getHome());
+					}else{
+						projectcontentinfo.setHome("home");
+					}
 					model.addAttribute("processInstanceId",projectReportData.getProcessInstanceId());
 					model.addAttribute("projectId", projectcontentinfo.getProject().getId());
 					model.addAttribute("id", projectcontentinfo.getId());
@@ -2029,7 +2067,12 @@ public class WorkProjectNotifyController extends BaseController {
 					RuralProjectRecords ruralProjectRecords = ruralProjectRecordsService.get(projectReportRecord.getReport().getProject().getId());
 					Act act = getByAct(projectReportRecord.getProcessInstanceId());
 					projectReportRecord.setAct(act);
-					projectReportRecord.setHome("home");
+
+					if(StringUtils.isNotBlank(workProjectNotify.getHome())){
+						projectReportRecord.setHome(workProjectNotify.getHome());
+					}else{
+						projectReportRecord.setHome("home");
+					}
 
 
 					WorkContractInfo projectContractInfo = ruralProjectMessageService.getProjectContractInfo(ruralProjectRecords.getWorkContractInfo().getId());
@@ -2304,7 +2347,11 @@ public class WorkProjectNotifyController extends BaseController {
 					}
 					Act act = getByAct(oaNotify.getProcessInstanceId());
 					oaNotify.setAct(act);
-					oaNotify.setHome("home");
+					if(StringUtils.isNotBlank(workProjectNotify.getHome())){
+						oaNotify.setHome(workProjectNotify.getHome());
+					}else{
+						oaNotify.setHome("home");
+					}
 					model.addAttribute("oaNotify", oaNotify);
 					if (workProjectNotify.getRemarks().contains("待通知") || "view".equals(workProjectNotify.getView())) {
 						return "modules/oa/oaNotifyView";
@@ -2797,7 +2844,11 @@ public class WorkProjectNotifyController extends BaseController {
 					//项目信息
 					projectFilingBatch.setProject(ruralProjectRecordsList);
 					projectFilingBatch.setAct(getByAct(projectFilingBatch.getProcessinstanceId()));
-					projectFilingBatch.setHome("home");
+					if(StringUtils.isNotBlank(workProjectNotify.getHome())){
+						projectFilingBatch.setHome(workProjectNotify.getHome());
+					}else{
+						projectFilingBatch.setHome("home");
+					}
 					model.addAttribute("projectFilingBatch", projectFilingBatch);
 					if (workProjectNotify.getRemarks().contains("待通知") || "view".equals(workProjectNotify.getView())) {
 						return "modules/projectFilingBatch/projectFilingBatchView";

+ 18 - 0
src/main/java/com/jeeplus/modules/workreimbursement/entity/WorkReimbursement.java

@@ -64,6 +64,8 @@ public class WorkReimbursement extends ActEntity<WorkReimbursement> {
 	private String typeName;
 	private WorkReimbursementTypeInfo workReimbursementTypeInfo;
 	private String taskName;
+	private Integer notifyFlag; //代办判定条件
+	private String notifyId; //代办判定条件
 	public String getCreateOffice() {
 		return createOffice;
 	}
@@ -532,4 +534,20 @@ public class WorkReimbursement extends ActEntity<WorkReimbursement> {
 	public void setTaskName(String taskName) {
 		this.taskName = taskName;
 	}
+
+	public Integer getNotifyFlag() {
+		return notifyFlag;
+	}
+
+	public void setNotifyFlag(Integer notifyFlag) {
+		this.notifyFlag = notifyFlag;
+	}
+
+	public String getNotifyId() {
+		return notifyId;
+	}
+
+	public void setNotifyId(String notifyId) {
+		this.notifyId = notifyId;
+	}
 }

+ 27 - 7
src/main/java/com/jeeplus/modules/workreimbursement/web/WorkReimbursementController.java

@@ -39,6 +39,8 @@ import com.jeeplus.modules.workcontractinfo.service.WorkContractInfoService;
 import com.jeeplus.modules.workfullmanage.service.WorkFullManageService;
 import com.jeeplus.modules.projectrecord.dao.WorkProjectUserDao;
 import com.jeeplus.modules.workinvoice.entity.WorkInvoice;
+import com.jeeplus.modules.workprojectnotify.entity.WorkProjectNotify;
+import com.jeeplus.modules.workprojectnotify.service.WorkProjectNotifyService;
 import com.jeeplus.modules.workreimbursement.entity.WorkAccount;
 import com.jeeplus.modules.workreimbursement.entity.WorkAccountAudit;
 import com.jeeplus.modules.workreimbursement.entity.WorkReimbursement;
@@ -89,8 +91,6 @@ public class WorkReimbursementController extends BaseController {
 	private WorkReimbursementService workReimbursementService;
 	@Autowired
 	private WorkSupplierService workSupplierService;
-	@Autowired
-	private WorkContractInfoService workContractInfoService;
 
 	@Autowired
 	protected RuntimeService runtimeService;
@@ -106,11 +106,6 @@ public class WorkReimbursementController extends BaseController {
 
 	@Autowired
 	private WorkClientInfoService workClientInfoService;
-	@Autowired
-	private WorkFullManageService workFullManageService;
-
-	@Autowired
-	private WorkBidProjectService workBidProjectService;
 
 	@Autowired
 	private SysMtreeService sysMtreeService;
@@ -126,6 +121,8 @@ public class WorkReimbursementController extends BaseController {
 	private WorkReimbursementBackService workReimbursementBackService;
 	@Autowired
 	private WorkReimbursementTypeService workReimbursementTypeService;
+	@Autowired
+	protected WorkProjectNotifyService workProjectNotifyService;
 
 	@ModelAttribute
 	public WorkReimbursement get(@RequestParam(required=false) String id) {
@@ -148,6 +145,29 @@ public class WorkReimbursementController extends BaseController {
 	public String list(WorkReimbursement workReimbursement, HttpServletRequest request, HttpServletResponse response, Model model) {
 		//workReimbursement.setOfficeId(UserUtils.getSelectOffice().getId());
 		Page<WorkReimbursement> page = workReimbursementService.findPage(new Page<WorkReimbursement>(request, response), workReimbursement);
+		List<WorkReimbursement> list = page.getList();
+
+		//查询所有和当前登陆人有关的项目的审核
+		WorkProjectNotify workProjectNotify = new WorkProjectNotify();
+		workProjectNotify.setUser(UserUtils.getUser());
+		workProjectNotify.setCompanyId(UserUtils.getSelectCompany().getId());
+		workProjectNotify.setRemarks("待审批");
+		//添加发票对应编号
+		workProjectNotify.setType("13");
+		//查询所有需要当前登录人进行处理的项目信息
+		List<WorkProjectNotify> notifyList = workProjectNotifyService.findList(workProjectNotify);
+
+		for (WorkReimbursement info: list) {
+			for (WorkProjectNotify notify: notifyList) {
+				if(notify.getNotifyId().equals(info.getId())){
+					info.setNotifyId(notify.getId());
+					if("待审批".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
+						info.setNotifyFlag(1);
+					}
+					break;
+				}
+			}
+		}
 		model.addAttribute("page", page);
 		return "modules/workreimbursement/workReimbursementList";
 	}

+ 61 - 0
src/main/webapp/webpage/modules/oa/oaNotifyList.jsp

@@ -317,7 +317,62 @@
 
 		}
 	</script>
+	<script>
 
+		function notifyDialogre(title,url,width,height,target){
+			if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+				width='auto';
+				height='auto';
+			}else{//如果是PC端,根据用户设置的width和height显示。
+
+			}
+			top.layer.open({
+				type: 2,
+				area: [width, height],
+				title: title,
+				skin:"three-btns",
+				maxmin: true, //开启最大化最小化按钮
+				content: url ,
+				btn: ['通过','驳回','关闭'],
+				btn1: function(index, layero){
+					var body = top.layer.getChildFrame('body', index);
+					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var inputForm = body.find('#inputForm');
+					var top_iframe;
+					if(target){
+						top_iframe = target;//如果指定了iframe,则在改frame中跳转
+					}else{
+						top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+					}
+					inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+					if(iframeWin.contentWindow.doSubmit(1) ){
+						top.layer.close(index);//关闭对话框。
+						setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+					}
+				},
+				btn2:function(index,layero){
+					var body = top.layer.getChildFrame('body', index);
+					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var inputForm = body.find('#inputForm');
+					var top_iframe;
+					if(target){
+						top_iframe = target;//如果指定了iframe,则在改frame中跳转
+					}else{
+						top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+					}
+					inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+					if(iframeWin.contentWindow.doSubmit(2) ){
+						top.layer.close(index);//关闭对话框。
+						setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+					}
+					return false;
+				},
+				btn3: function(index){
+				}
+			});
+
+		}
+	</script>
 	<style>
 		body{
 			background-color:transparent;
@@ -471,6 +526,10 @@
                 ,{align:'center',title:"操作",width:130,templet:function(d){
                         ////对操作进行初始化
                         var xml = "";
+						if(d.notifyFlag != undefined && d.notifyFlag !=null && "" != d.notifyFlag && d.notifyFlag == 1)
+						{
+							xml+="<a href=\"#\" onclick=\"notifyDialogre('公告审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.notifyId +"&home=invoice','95%', '95%')\" class=\"op-btn op-btn-edit layui-bg-green\" ><i class=\"fa fa-edit\"></i> 审批</a>";
+						}
                         if(d.canedit != undefined && d.canedit == "1")
                             xml += "<a href=\"javascript:void(0)\" onclick=\"openDialog('修改公告', '${ctx}/oa/oaNotify/form?id="+ d.id +"','95%', '95%')\"   class=\"op-btn op-btn-edit\"><i class=\"fa fa-edit\"></i> 修改</a>";
                         if(d.flagAdmin != undefined && d.flagAdmin == "1")
@@ -512,6 +571,8 @@
                     ,"tmdcreateDate":"<fmt:formatDate value="${oaNotify.createDate}" pattern="yyyy-MM-dd"/>"
                     ,"procId":"${oaNotify.processInstanceId}"
                     ,"referenceNumber":"${oaNotify.referenceNumber}"
+					,"notifyFlag":"${oaNotify.notifyFlag}"
+					,"notifyId":"${oaNotify.notifyId}"
 					<c:if test="${not empty oaNotify.candel}">,"candel":"1"</c:if>
 
                     <shiro:hasPermission name="oa:oaNotify:edit">,"canedit":<c:choose><c:when test="${oaNotify.status == 1}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>

+ 60 - 0
src/main/webapp/webpage/modules/projectFilingBatch/projectFilingBatchList.jsp

@@ -161,6 +161,62 @@
             });
         }
     </script>
+    <script>
+
+        function notifyDialogre(title,url,width,height,target){
+            if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+                width='auto';
+                height='auto';
+            }else{//如果是PC端,根据用户设置的width和height显示。
+
+            }
+            top.layer.open({
+                type: 2,
+                area: [width, height],
+                title: title,
+                skin:"three-btns",
+                maxmin: true, //开启最大化最小化按钮
+                content: url ,
+                btn: ['通过','驳回','关闭'],
+                btn1: function(index, layero){
+                    var body = top.layer.getChildFrame('body', index);
+                    var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                    var inputForm = body.find('#inputForm');
+                    var top_iframe;
+                    if(target){
+                        top_iframe = target;//如果指定了iframe,则在改frame中跳转
+                    }else{
+                        top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+                    }
+                    inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+                    if(iframeWin.contentWindow.doSubmit(1) ){
+                        top.layer.close(index);//关闭对话框。
+                        setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                    }
+                },
+                btn2:function(index,layero){
+                    var body = top.layer.getChildFrame('body', index);
+                    var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                    var inputForm = body.find('#inputForm');
+                    var top_iframe;
+                    if(target){
+                        top_iframe = target;//如果指定了iframe,则在改frame中跳转
+                    }else{
+                        top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+                    }
+                    inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+                    if(iframeWin.contentWindow.doSubmit(2) ){
+                        top.layer.close(index);//关闭对话框。
+                        setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                    }
+                    return false;
+                },
+                btn3: function(index){
+                }
+            });
+
+        }
+    </script>
     <style>
         body{
             background-color:transparent;
@@ -376,6 +432,10 @@
         function complain(d){//操作中显示的内容
             var xml = '';
             if(d.pid=="0") {
+                if(d.notifyFlag != undefined && d.notifyFlag !=null && "" != d.notifyFlag && d.notifyFlag == 1)
+                {
+                    xml+="<a href=\"#\" onclick=\"notifyDialogre('新增报告审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.notifyId +"&home=filingBatch','95%', '95%')\" class=\"op-btn op-btn-edit layui-bg-green\" ><i class=\"fa fa-edit\"></i> 审批</a>";
+                }
                 if(d.flag == 1){
                     if(d.status == 1){
                         xml+="<a href=\"#\" onclick=\"openDialogre('修改批次信息', '${ctx}/projectFilingBatch/projectFilingBatchInfo/form?id=" + d.id +"','95%', '95%','','送审,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";

+ 104 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/check/ruralProjectRecordsList.jsp

@@ -185,6 +185,98 @@
 
 		}
 	</script>
+	<script>
+
+		function notifyDialogre(title,url,width,height,target){
+			if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+				width='auto';
+				height='auto';
+			}else{//如果是PC端,根据用户设置的width和height显示。
+
+			}
+			top.layer.open({
+				type: 2,
+				area: [width, height],
+				title: title,
+				skin:"three-btns",
+				maxmin: true, //开启最大化最小化按钮
+				content: url ,
+				btn: ['通过','驳回','关闭'],
+				btn1: function(index, layero){
+					var body = top.layer.getChildFrame('body', index);
+					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var inputForm = body.find('#inputForm');
+					var top_iframe;
+					if(target){
+						top_iframe = target;//如果指定了iframe,则在改frame中跳转
+					}else{
+						top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+					}
+					inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+					if(iframeWin.contentWindow.doSubmit(1) ){
+						top.layer.close(index);//关闭对话框。
+						setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+					}
+				},
+				btn2:function(index,layero){
+					var body = top.layer.getChildFrame('body', index);
+					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var inputForm = body.find('#inputForm');
+					var top_iframe;
+					if(target){
+						top_iframe = target;//如果指定了iframe,则在改frame中跳转
+					}else{
+						top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+					}
+					inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+					if(iframeWin.contentWindow.doSubmit(2) ){
+						top.layer.close(index);//关闭对话框。
+						setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+					}
+					return false;
+				},
+				btn3: function(index){
+				}
+			});
+
+		}
+		function masterCheck(title,url,width,height,target){
+			parent.index = "";
+			if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+				width='auto';
+				height='auto';
+			}else{//如果是PC端,根据用户设置的width和height显示。
+
+			}
+			top.layer.open({
+				type: 2,
+				area: [width, height],
+				title: title,
+				maxmin: true, //开启最大化最小化按钮
+				content: url ,
+				skin: 'three-btns',
+				btn: ['提交审核','关闭'],
+				btn1: function(index, layero){
+					var body = top.layer.getChildFrame('body', index);
+					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var inputForm = body.find('#inputForm');
+					var top_iframe;
+					if(target){
+						top_iframe = target;//如果指定了iframe,则在改frame中跳转
+					}else{
+						top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+					}
+					inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+					if(iframeWin.contentWindow.doSubmit(1,index) ){
+						top.layer.close(index);//关闭对话框。
+						setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+					}
+				},cancel: function(index){
+				}
+			});
+
+		}
+	</script>
 	<style>
 		body{
 			background-color:transparent;
@@ -347,6 +439,15 @@
                 ,{field:'op',align:'center',title:"操作",width:130,templet:function(d){
                         ////对操作进行初始化
                         var xml="";
+
+						if(d.notifyFlag != undefined && d.notifyFlag !=null && "" != d.notifyFlag && d.notifyFlag == 1)
+						{
+							if(d.actType == 1){
+								xml+="<a href=\"javascript:void(0)\" onclick=\"masterCheck('提交线下归档', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.notifyId +"&home=report','95%', '95%')\" class=\"op-btn op-btn-edit layui-bg-green\" ><i class=\"fa fa-edit\"></i> 提交线下归档</a>";
+							}else{
+								xml+="<a href=\"#\" onclick=\"notifyDialogre('选查项目', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.notifyId +"&home=report','95%', '95%')\" class=\"op-btn op-btn-edit layui-bg-green\" ><i class=\"fa fa-edit\"></i> 线下归档审批</a>";
+							}
+						}
                         /*if(d.canAdd != undefined && d.canAdd =="1")
                         {
 							xml+="<a href=\"#\" onclick=\"openDialogre('修改项目', '${ctx}/project/recordChooseCheck/form?id=" + d.id +"','95%', '95%','','送审,关闭')\" class=\"op-btn layui-bg-green\" ><i class=\"fa fa-plus\"></i> 检查</a>";
@@ -396,6 +497,9 @@
 					,"fileNum":"${projectRecords.fileNum}"
 					,"projectReportNumber":"${projectRecords.projectReportNumber}"
 					,"creatName":"${projectRecords.createBy.name}"
+					,"notifyFlag":"${projectRecords.checkNotifyFlag}"
+					,"notifyId":"${projectRecords.checkNotifyId}"
+					,"actType":"${projectRecords.actType}"
 
 					<shiro:hasPermission name="project:recordChooseCheck:del">,"candel":	<c:choose><c:when test="${(projectRecords.checkStatus == 1 or projectRecords.checkStatus == 3 or projectRecords.checkStatus == 4)}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose></shiro:hasPermission>
 					<shiro:hasPermission name="project:recordChooseCheck:edit">

+ 68 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectMessageLists.jsp

@@ -343,6 +343,62 @@
 			});
 		}
 	</script>
+	<script>
+
+		function notifyDialogre(title,url,width,height,target){
+			if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+				width='auto';
+				height='auto';
+			}else{//如果是PC端,根据用户设置的width和height显示。
+
+			}
+			top.layer.open({
+				type: 2,
+				area: [width, height],
+				title: title,
+				skin:"three-btns",
+				maxmin: true, //开启最大化最小化按钮
+				content: url ,
+				btn: ['通过','驳回','关闭'],
+				btn1: function(index, layero){
+					var body = top.layer.getChildFrame('body', index);
+					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var inputForm = body.find('#inputForm');
+					var top_iframe;
+					if(target){
+						top_iframe = target;//如果指定了iframe,则在改frame中跳转
+					}else{
+						top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+					}
+					inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+					if(iframeWin.contentWindow.doSubmit(1) ){
+						top.layer.close(index);//关闭对话框。
+						setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+					}
+				},
+				btn2:function(index,layero){
+					var body = top.layer.getChildFrame('body', index);
+					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var inputForm = body.find('#inputForm');
+					var top_iframe;
+					if(target){
+						top_iframe = target;//如果指定了iframe,则在改frame中跳转
+					}else{
+						top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+					}
+					inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+					if(iframeWin.contentWindow.doSubmit(2) ){
+						top.layer.close(index);//关闭对话框。
+						setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+					}
+					return false;
+				},
+				btn3: function(index){
+				}
+			});
+
+		}
+	</script>
 	<style>
 		body{
 			background-color:transparent;
@@ -671,6 +727,18 @@
         function complain(d){//操作中显示的内容
         	var xml = '';
 			if(d.pid=="0") {
+				if(d.reportNotifyFlag != undefined && d.reportNotifyFlag !=null && "" != d.reportNotifyFlag && d.reportNotifyFlag == 1)
+				{
+					xml+="<a href=\"#\" onclick=\"notifyDialogre('新增报告审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.reportNotifyId +"&home=report','95%', '95%')\" class=\"op-btn op-btn-edit layui-bg-green\" ><i class=\"fa fa-edit\"></i> 审批</a>";
+				}
+				if(d.recordNotifyFlag != undefined && d.recordNotifyFlag !=null && "" != d.recordNotifyFlag && d.recordNotifyFlag == 1)
+				{
+					xml+="<a href=\"#\" onclick=\"notifyDialogre('电子归档审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.recordNotifyId +"&home=record','95%', '95%')\" class=\"op-btn op-btn-edit layui-bg-green\" ><i class=\"fa fa-edit\"></i> 审批</a>";
+				}
+				if(d.reportedNotifyFlag != undefined && d.reportedNotifyFlag !=null && "" != d.reportedNotifyFlag && d.reportedNotifyFlag == 1)
+				{
+					xml+="<a href=\"#\" onclick=\"notifyDialogre('上报审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.reportedNotifyId +"&home=reported','95%', '95%')\" class=\"op-btn op-btn-edit layui-bg-green\" ><i class=\"fa fa-edit\"></i> 审批</a>";
+				}
 				if(d.flag == 1){
 					if(d.projectReportStatus == 0){
 						xml+="<a href=\"#\" onclick=\"openDialogre('新增报告', '${ctx}/ruralProject/ruralCostProjectMessage/form?projectId=" + d.id +"','95%', '95%','','送审,暂存,关闭')\" class=\"op-btn layui-bg-green\" ><i class=\"fa fa-plus\"></i> 新增报告</a>";

+ 119 - 1
src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectRecordsList.jsp

@@ -193,6 +193,118 @@
 			height:100%;
 		}
 	</style>
+
+	<script>
+		function notifyDialogres(title,url,deleteUrl,width,height,target) {
+			parent.index = "";
+			if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+				width='auto';
+				height='auto';
+			}else{//如果是PC端,根据用户设置的width和height显示。
+
+			}
+			top.layer.open({
+				type: 2,
+				area: [width, height],
+				title: title,
+				maxmin: true, //开启最大化最小化按钮
+				content: url ,
+				skin: 'three-btns',
+				btn: ['重新申请','作废', '关闭'],
+				btn1: function (index, layero) {
+					var body = top.layer.getChildFrame('body', index);
+					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var inputForm = body.find('#inputForm');
+					var top_iframe;
+					if (target) {
+						top_iframe = target;//如果指定了iframe,则在改frame中跳转
+					} else {
+						top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+					}
+					inputForm.attr("target", top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+					if (iframeWin.contentWindow.doSubmit(3)) {
+						top.layer.close(index);//关闭对话框。
+						setTimeout(function () {
+							top.layer.close(index)
+						}, 100);//延时0.1秒,对应360 7.1版本bug
+					}
+				},
+				btn2:function(index,layero){
+					top.layer.confirm("项目作废", {icon: 3, title:'系统提示'}, function(index){
+						$.ajax({
+							type:'post',
+							url:deleteUrl,
+							success:function(data){
+								top.layer.closeAll();//关闭所有对话框。
+								if(data.code == 1){
+									top.layer.msg(data.msg, {icon: 1});
+								}else{
+									top.layer.msg(data.msg, {icon: 0});
+								}
+								window.location.reload();
+							}
+						})
+					});
+					return false;
+				},cancel: function(index){
+				}
+			});
+		}
+
+		function notifyDialogre(title,url,width,height,target){
+			if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+				width='auto';
+				height='auto';
+			}else{//如果是PC端,根据用户设置的width和height显示。
+
+			}
+			top.layer.open({
+				type: 2,
+				area: [width, height],
+				title: title,
+				skin:"three-btns",
+				maxmin: true, //开启最大化最小化按钮
+				content: url ,
+				btn: ['通过','驳回','关闭'],
+				btn1: function(index, layero){
+					var body = top.layer.getChildFrame('body', index);
+					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var inputForm = body.find('#inputForm');
+					var top_iframe;
+					if(target){
+						top_iframe = target;//如果指定了iframe,则在改frame中跳转
+					}else{
+						top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+					}
+					inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+					if(iframeWin.contentWindow.doSubmit(1) ){
+						top.layer.close(index);//关闭对话框。
+						setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+					}
+				},
+				btn2:function(index,layero){
+					var body = top.layer.getChildFrame('body', index);
+					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var inputForm = body.find('#inputForm');
+					var top_iframe;
+					if(target){
+						top_iframe = target;//如果指定了iframe,则在改frame中跳转
+					}else{
+						top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+					}
+					inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+					if(iframeWin.contentWindow.doSubmit(2) ){
+						top.layer.close(index);//关闭对话框。
+						setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+					}
+					return false;
+				},
+				btn3: function(index){
+				}
+			});
+
+		}
+	</script>
 </head>
 <body>
 <div class="wrapper wrapper-content">
@@ -365,6 +477,10 @@
                 ,{field:'op',align:'center',title:"操作",width:150,templet:function(d){
                         ////对操作进行初始化
                         var xml="";
+						if(d.notifyFlag != undefined && d.notifyFlag !=null && "" != d.notifyFlag && d.notifyFlag == 1)
+						{
+							xml+="<a href=\"#\" onclick=\"notifyDialogre('项目审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.notifyId +"&home=project','95%', '95%')\" class=\"op-btn op-btn-edit layui-bg-green\" ><i class=\"fa fa-edit\"></i> 审批</a>";
+						}
                         if(d.canedit1 != undefined && d.canedit1 =="1")
                         {
                             xml+="<a href=\"#\" onclick=\"openDialogre('修改项目', '${ctx}/ruralProject/ruralCostProjectRecords/form?id=" + d.id +"','95%', '95%','','送审,暂存,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";
@@ -421,6 +537,8 @@
 					,"projectReportRecordStatus":"${projectRecords.projectReportRecordStatus}"
                     ,"procId":"${projectRecords.processInstanceId}"
 					,"flagAdmin":"${projectRecords.flagAdmin}"
+					,"notifyFlag":"${projectRecords.notifyFlag}"
+					,"notifyId":"${projectRecords.notifyId}"
                     <c:choose><c:when test="${flag == '1' or fns:getUser().id == projectRecords.createBy.id}">
                     <shiro:hasPermission name="ruralProject:ruralCostProjectRecords:del">,"candel":	<c:choose><c:when test="${(projectRecords.projectStatus == 1 or projectRecords.projectStatus == 3 or projectRecords.projectStatus == 4) && fns:getUser().id == projectRecords.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose></shiro:hasPermission>
                     <shiro:hasPermission name="ruralProject:ruralCostProjectRecords:edit">,"canedit1":	<c:choose><c:when test="${projectRecords.projectStatus == 1 && fns:getUser().id == projectRecords.createBy.id }">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
@@ -445,7 +563,7 @@
 					<shiro:hasPermission name="ruralProject:ruralCostProjectRecords:accessory">
 						,"recordStatus":
 							<c:choose>
-								<c:when test="${0 ==projectRecords.projectReportRecordStatus}">"1"</c:when>
+								<c:when test="${0 ==projectRecords.projectReportRecordStatus && projectRecords.projectStatus != 7}">"1"</c:when>
 								<c:otherwise>"0"</c:otherwise>
 							</c:choose>
 					</shiro:hasPermission>

+ 63 - 1
src/main/webapp/webpage/modules/ruralprojectrecords/ruralProjectRecordsList.jsp

@@ -213,6 +213,62 @@
 			height:100%;
 		}
 	</style>
+	<script>
+
+		function notifyDialogre(title,url,width,height,target){
+			if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+				width='auto';
+				height='auto';
+			}else{//如果是PC端,根据用户设置的width和height显示。
+
+			}
+			top.layer.open({
+				type: 2,
+				area: [width, height],
+				title: title,
+				skin:"three-btns",
+				maxmin: true, //开启最大化最小化按钮
+				content: url ,
+				btn: ['通过','驳回','关闭'],
+				btn1: function(index, layero){
+					var body = top.layer.getChildFrame('body', index);
+					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var inputForm = body.find('#inputForm');
+					var top_iframe;
+					if(target){
+						top_iframe = target;//如果指定了iframe,则在改frame中跳转
+					}else{
+						top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+					}
+					inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+					if(iframeWin.contentWindow.doSubmit(1) ){
+						top.layer.close(index);//关闭对话框。
+						setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+					}
+				},
+				btn2:function(index,layero){
+					var body = top.layer.getChildFrame('body', index);
+					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var inputForm = body.find('#inputForm');
+					var top_iframe;
+					if(target){
+						top_iframe = target;//如果指定了iframe,则在改frame中跳转
+					}else{
+						top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+					}
+					inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+					if(iframeWin.contentWindow.doSubmit(2) ){
+						top.layer.close(index);//关闭对话框。
+						setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+					}
+					return false;
+				},
+				btn3: function(index){
+				}
+			});
+
+		}
+	</script>
 </head>
 <body>
 <div class="wrapper wrapper-content">
@@ -393,6 +449,10 @@
                 ,{field:'op',align:'center',title:"操作",width:150,templet:function(d){
                         ////对操作进行初始化
                         var xml="";
+                        if(d.notifyFlag != undefined && d.notifyFlag !=null && "" != d.notifyFlag && d.notifyFlag == 1)
+                        {
+							xml+="<a href=\"#\" onclick=\"notifyDialogre('项目审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.notifyId +"&home=project','95%', '95%')\" class=\"op-btn op-btn-edit layui-bg-green\" ><i class=\"fa fa-edit\"></i> 审批</a>";
+                        }
                         if(d.canedit1 != undefined && d.canedit1 =="1")
                         {
                             xml+="<a href=\"#\" onclick=\"openDialogre('修改项目', '${ctx}/ruralProject/ruralProjectRecords/form?id=" + d.id +"','95%', '95%','','送审,暂存,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";
@@ -449,6 +509,8 @@
                     ,"procId":"${projectRecords.processInstanceId}"
 					,"projectReportRecordStatus":"${projectRecords.projectReportRecordStatus}"
 					,"flagAdmin":"${projectRecords.flagAdmin}"
+					,"notifyFlag":"${projectRecords.notifyFlag}"
+					,"notifyId":"${projectRecords.notifyId}"
                     <c:choose><c:when test="${flag == '1' or fns:getUser().id == projectRecords.createBy.id}">
                     <shiro:hasPermission name="ruralProject:ruralProjectRecords:del">,"candel":	<c:choose><c:when test="${(projectRecords.projectStatus == 1 or projectRecords.projectStatus == 3 or projectRecords.projectStatus == 4) && fns:getUser().id == projectRecords.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose></shiro:hasPermission>
                     <shiro:hasPermission name="ruralProject:ruralProjectRecords:edit">,"canedit1":	<c:choose><c:when test="${projectRecords.projectStatus == 1 && fns:getUser().id == projectRecords.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
@@ -473,7 +535,7 @@
 					<shiro:hasPermission name="ruralProject:ruralProjectRecords:accessory">
 					,"recordStatus":
 					<c:choose>
-							<c:when test="${0 == projectRecords.projectReportRecordStatus}">"1"</c:when>
+							<c:when test="${0 == projectRecords.projectReportRecordStatus && projectRecords.projectStatus != 7}">"1"</c:when>
 							<c:otherwise>"0"</c:otherwise>
 					</c:choose>
 					</shiro:hasPermission>

+ 68 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/ruralProjectMessageLists.jsp

@@ -343,6 +343,62 @@
 			});
 		}
 	</script>
+	<script>
+
+		function notifyDialogre(title,url,width,height,target){
+			if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+				width='auto';
+				height='auto';
+			}else{//如果是PC端,根据用户设置的width和height显示。
+
+			}
+			top.layer.open({
+				type: 2,
+				area: [width, height],
+				title: title,
+				skin:"three-btns",
+				maxmin: true, //开启最大化最小化按钮
+				content: url ,
+				btn: ['通过','驳回','关闭'],
+				btn1: function(index, layero){
+					var body = top.layer.getChildFrame('body', index);
+					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var inputForm = body.find('#inputForm');
+					var top_iframe;
+					if(target){
+						top_iframe = target;//如果指定了iframe,则在改frame中跳转
+					}else{
+						top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+					}
+					inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+					if(iframeWin.contentWindow.doSubmit(1) ){
+						top.layer.close(index);//关闭对话框。
+						setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+					}
+				},
+				btn2:function(index,layero){
+					var body = top.layer.getChildFrame('body', index);
+					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var inputForm = body.find('#inputForm');
+					var top_iframe;
+					if(target){
+						top_iframe = target;//如果指定了iframe,则在改frame中跳转
+					}else{
+						top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+					}
+					inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+					if(iframeWin.contentWindow.doSubmit(2) ){
+						top.layer.close(index);//关闭对话框。
+						setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+					}
+					return false;
+				},
+				btn3: function(index){
+				}
+			});
+
+		}
+	</script>
 	<style>
 		body{
 			background-color:transparent;
@@ -673,6 +729,18 @@
         function complain(d){//操作中显示的内容
         	var xml = '';
 			if(d.pid=="0") {
+				if(d.reportNotifyFlag != undefined && d.reportNotifyFlag !=null && "" != d.reportNotifyFlag && d.reportNotifyFlag == 1)
+				{
+					xml+="<a href=\"#\" onclick=\"notifyDialogre('新增报告审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.reportNotifyId +"&home=report','95%', '95%')\" class=\"op-btn op-btn-edit layui-bg-green\" ><i class=\"fa fa-edit\"></i> 审批</a>";
+				}
+				if(d.recordNotifyFlag != undefined && d.recordNotifyFlag !=null && "" != d.recordNotifyFlag && d.recordNotifyFlag == 1)
+				{
+					xml+="<a href=\"#\" onclick=\"notifyDialogre('电子归档审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.recordNotifyId +"&home=record','95%', '95%')\" class=\"op-btn op-btn-edit layui-bg-green\" ><i class=\"fa fa-edit\"></i> 审批</a>";
+				}
+				if(d.reportedNotifyFlag != undefined && d.reportedNotifyFlag !=null && "" != d.reportedNotifyFlag && d.reportedNotifyFlag == 1)
+				{
+					xml+="<a href=\"#\" onclick=\"notifyDialogre('上报审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.reportedNotifyId +"&home=reported','95%', '95%')\" class=\"op-btn op-btn-edit layui-bg-green\" ><i class=\"fa fa-edit\"></i> 审批</a>";
+				}
 				if(d.flag == 1){
 					if(d.projectReportStatus == 0){
 						xml+="<a href=\"#\" onclick=\"openDialogre('新增报告', '${ctx}/ruralProject/ruralProjectMessage/form?projectId=" + d.id +"','95%', '95%','','送审,暂存,关闭')\" class=\"op-btn layui-bg-green\" ><i class=\"fa fa-plus\"></i> 新增报告</a>";

+ 6 - 1
src/main/webapp/webpage/modules/sys/sysIndex.jsp

@@ -37,7 +37,7 @@
             //ajax废弃
             startRequest();
         });
-        setInterval("requesting()",10000);
+        window.setInterval("requesting()",600000);
         function startRequest(){
             var url = "${ctx}/workprojectnotify/workProjectNotify/notify";
             var data = {};
@@ -60,6 +60,11 @@
             });
         }
         function requesting(){
+            var totalCount = $("#totalCount").text();
+            if(totalCount != 0){
+                refreshTabIndex();
+                startRequest();
+            }
             if (index.indexOf("审批信息")!=-1 || index.indexOf("公告消息")!=-1 || index == 'sys_me' || index.indexOf("未读邮件")!=-1){
                 refreshTabIndex();
                 startRequest();

+ 74 - 0
src/main/webapp/webpage/modules/workcontractinfo/workContractInfoList.jsp

@@ -460,6 +460,62 @@
 		   });
 	   }
 	</script>
+	<script>
+
+		function notifyDialogre(title,url,width,height,target){
+			if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+				width='auto';
+				height='auto';
+			}else{//如果是PC端,根据用户设置的width和height显示。
+
+			}
+			top.layer.open({
+				type: 2,
+				area: [width, height],
+				title: title,
+				skin:"three-btns",
+				maxmin: true, //开启最大化最小化按钮
+				content: url ,
+				btn: ['通过','驳回','关闭'],
+				btn1: function(index, layero){
+					var body = top.layer.getChildFrame('body', index);
+					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var inputForm = body.find('#inputForm');
+					var top_iframe;
+					if(target){
+						top_iframe = target;//如果指定了iframe,则在改frame中跳转
+					}else{
+						top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+					}
+					inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+					if(iframeWin.contentWindow.doSubmit(1) ){
+						top.layer.close(index);//关闭对话框。
+						setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+					}
+				},
+				btn2:function(index,layero){
+					var body = top.layer.getChildFrame('body', index);
+					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var inputForm = body.find('#inputForm');
+					var top_iframe;
+					if(target){
+						top_iframe = target;//如果指定了iframe,则在改frame中跳转
+					}else{
+						top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+					}
+					inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+					if(iframeWin.contentWindow.doSubmit(2) ){
+						top.layer.close(index);//关闭对话框。
+						setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+					}
+					return false;
+				},
+				btn3: function(index){
+				}
+			});
+
+		}
+	</script>
 	<style>
 		body{
 			background-color:transparent;
@@ -652,6 +708,18 @@
                         ////对操作进行初始化
                         var xml="";
 
+						if(d.notifyFlag != undefined && d.notifyFlag !=null && "" != d.notifyFlag && d.notifyFlag == 1)
+						{
+							xml+="<a href=\"#\" onclick=\"notifyDialogre('合同登记审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.notifyId +"&home=invoice','95%', '95%')\" class=\"op-btn op-btn-edit layui-bg-green\" ><i class=\"fa fa-edit\"></i> 审批</a>";
+						}
+						if(d.recordNotifyFlag != undefined && d.recordNotifyFlag !=null && "" != d.recordNotifyFlag && d.recordNotifyFlag == 1)
+						{
+							xml+="<a href=\"#\" onclick=\"notifyDialogre('合同归档审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.recordNotifyId +"&home=invoice','95%', '95%')\" class=\"op-btn op-btn-edit layui-bg-green\" ><i class=\"fa fa-edit\"></i> 审批</a>";
+						}
+						if(d.borrowNotifyFlag != undefined && d.borrowNotifyFlag !=null && "" != d.borrowNotifyFlag && d.borrowNotifyFlag == 1)
+						{
+							xml+="<a href=\"#\" onclick=\"notifyDialogre('合同借用审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.borrowNotifyId +"&home=invoice','95%', '95%')\" class=\"op-btn op-btn-edit layui-bg-green\" ><i class=\"fa fa-edit\"></i> 审批</a>";
+						}
 						if(d.updateAdmin != undefined && d.updateAdmin == "1" ){
 							xml +="<a href=\"javascript:void(0)\" onclick=\"contractAdminUpdate('修改合同管理', '${ctx}/workcontractinfo/workContractInfo/adminForm?id=" + d.id + "','95%','95%')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改合同</a>";
 						}
@@ -766,6 +834,12 @@
                     ,"giveStatus":"${workContractInfo.giveStatus}"
                     ,"borrowId":"${workContractInfo.borrowId}"
                     ,"flagAdmin":"${workContractInfo.flagAdmin}"
+					,"notifyFlag":"${workContractInfo.notifyFlag}"
+					,"notifyId":"${workContractInfo.notifyId}"
+					,"recordNotifyFlag":"${workContractInfo.recordNotifyFlag}"
+					,"recordNotifyId":"${workContractInfo.recordNotifyId}"
+					,"borrowNotifyFlag":"${workContractInfo.borrowNotifyFlag}"
+					,"borrowNotifyId":"${workContractInfo.borrowNotifyId}"
                     <%--<c:if test="${workContractInfo.contractState == 5 && fns:getUser().id == workContractInfo.createBy.id && workContractInfo.signatureStatus == 1   }">,"signature":"1"</c:if>/*签章*/--%>
                     <%--<c:if test="${workContractInfo.contractState == 5 && fns:getUser().id == workContractInfo.createBy.id}">,"canalter":"1"</c:if>/*变更*/--%>
 					<%--<c:if test="${workContractInfo.contractState == 5 && fns:getUser().id == workContractInfo.createBy.id}">,"caninvalid":"1"</c:if>/*作废*/--%>

+ 62 - 0
src/main/webapp/webpage/modules/workinvoice/workInvoiceList.jsp

@@ -332,6 +332,62 @@
 		}
 
 	</script>
+	<script>
+
+		function notifyDialogre(title,url,width,height,target){
+			if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+				width='auto';
+				height='auto';
+			}else{//如果是PC端,根据用户设置的width和height显示。
+
+			}
+			top.layer.open({
+				type: 2,
+				area: [width, height],
+				title: title,
+				skin:"three-btns",
+				maxmin: true, //开启最大化最小化按钮
+				content: url ,
+				btn: ['通过','驳回','关闭'],
+				btn1: function(index, layero){
+					var body = top.layer.getChildFrame('body', index);
+					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var inputForm = body.find('#inputForm');
+					var top_iframe;
+					if(target){
+						top_iframe = target;//如果指定了iframe,则在改frame中跳转
+					}else{
+						top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+					}
+					inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+					if(iframeWin.contentWindow.doSubmit(1) ){
+						top.layer.close(index);//关闭对话框。
+						setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+					}
+				},
+				btn2:function(index,layero){
+					var body = top.layer.getChildFrame('body', index);
+					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var inputForm = body.find('#inputForm');
+					var top_iframe;
+					if(target){
+						top_iframe = target;//如果指定了iframe,则在改frame中跳转
+					}else{
+						top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+					}
+					inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+					if(iframeWin.contentWindow.doSubmit(2) ){
+						top.layer.close(index);//关闭对话框。
+						setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+					}
+					return false;
+				},
+				btn3: function(index){
+				}
+			});
+
+		}
+	</script>
 	<style>
 		body{
 			background-color:transparent;
@@ -568,6 +624,10 @@
                 ,{field:'op',align:'center',title:"操作",fixed: 'right',width:130,templet:function(d){
                         ////对操作进行初始化
                         var xml="";
+						if(d.notifyFlag != undefined && d.notifyFlag !=null && "" != d.notifyFlag && d.notifyFlag == 1)
+						{
+							xml+="<a href=\"#\" onclick=\"notifyDialogre('发票审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.notifyId +"&home=invoice','95%', '95%')\" class=\"op-btn op-btn-edit layui-bg-green\" ><i class=\"fa fa-edit\"></i> 审批</a>";
+						}
                         if(d.canedit1 != undefined && d.canedit1 =="1")
                         {
                             xml +="<a href=\"javascript:void(0)\" onclick=\"openDialogre('修改发票', '${ctx}/workinvoice/workInvoice/form?id=" + d.id + "','95%','95%')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";
@@ -647,6 +707,8 @@
                     ,"responsibleName":"${workInvoice.createBy.name}"
                     ,"receiptMoney":"${workInvoice.receiptMoney}"
                     ,"status":"${workInvoice.invoiceState}"
+					,"notifyFlag":"${workInvoice.notifyFlag}"
+					,"notifyId":"${workInvoice.notifyId}"
                     ,"money":"<fmt:formatNumber value="${workInvoice.money}" pattern="#,#0.00"/>"
                     ,"createDate":"<fmt:formatDate value="${workInvoice.createDate}" pattern="yyyy-MM-dd"/>"
                     ,"receiptMoneyDate":"<fmt:formatDate value="${workInvoice.receiptMoneyDate}" pattern="yyyy-MM-dd"/>"

+ 60 - 1
src/main/webapp/webpage/modules/workreimbursement/workReimbursementList.jsp

@@ -24,6 +24,62 @@
             height:100%;
         }
     </style>
+    <script>
+
+        function notifyDialogre(title,url,width,height,target){
+            if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+                width='auto';
+                height='auto';
+            }else{//如果是PC端,根据用户设置的width和height显示。
+
+            }
+            top.layer.open({
+                type: 2,
+                area: [width, height],
+                title: title,
+                skin:"three-btns",
+                maxmin: true, //开启最大化最小化按钮
+                content: url ,
+                btn: ['通过','驳回','关闭'],
+                btn1: function(index, layero){
+                    var body = top.layer.getChildFrame('body', index);
+                    var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                    var inputForm = body.find('#inputForm');
+                    var top_iframe;
+                    if(target){
+                        top_iframe = target;//如果指定了iframe,则在改frame中跳转
+                    }else{
+                        top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+                    }
+                    inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+                    if(iframeWin.contentWindow.doSubmit(1) ){
+                        top.layer.close(index);//关闭对话框。
+                        setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                    }
+                },
+                btn2:function(index,layero){
+                    var body = top.layer.getChildFrame('body', index);
+                    var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                    var inputForm = body.find('#inputForm');
+                    var top_iframe;
+                    if(target){
+                        top_iframe = target;//如果指定了iframe,则在改frame中跳转
+                    }else{
+                        top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+                    }
+                    inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+                    if(iframeWin.contentWindow.doSubmit(2) ){
+                        top.layer.close(index);//关闭对话框。
+                        setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                    }
+                    return false;
+                },
+                btn3: function(index){
+                }
+            });
+
+        }
+    </script>
 </head>
 <body>
 <div class="wrapper wrapper-content">
@@ -195,6 +251,10 @@
                 ,{align:'center',title:"操作",width:130,templet:function(d){
                         ////对操作进行初始化
                         var xml = "";
+                        if(d.notifyFlag != undefined && d.notifyFlag !=null && "" != d.notifyFlag && d.notifyFlag == 1)
+                        {
+                            xml+="<a href=\"#\" onclick=\"notifyDialogre('报销审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.notifyId +"&home=reimbursement','95%', '95%')\" class=\"op-btn op-btn-edit layui-bg-green\" ><i class=\"fa fa-edit\"></i> 审批</a>";
+                        }
                         if(d.cancancel != undefined && d.cancancel == "1")
                             xml += "<a href=\"${ctx}/workreimbursement/workReimbursement/cancelInvalidate?id=" + d.id + "\" onclick=\"return confirmx('确认要强制撤回?', this.href)\"   class=\"op-btn op-btn-cancel\"><i class=\"glyphicon glyphicon-share-alt\"></i> 撤回</a>";
                         if(d.canedit1 != undefined && d.canedit1 == "1")
@@ -223,7 +283,6 @@
                     ,"submitterName":"<c:out value="${fns:getUserById(workReimbursement.submitterId).name}" escapeXml="true"/>"
                     ,"handleName":"<c:out value="${fns:getUserById(workReimbursement.handleId).name}" escapeXml="true"/>"
                     ,"officeId":"${fns:getOfficeById(workReimbursement.officeId).name}"
-                    ,"proId":"${workReimbursement.project.projectId}"
                     ,"projectId":
                         <c:if test="${workReimbursement.ext == 1}">
                             "<c:out value="${workReimbursement.projectName}" escapeXml="true"/>"