ソースを参照

Merge remote-tracking branch 'origin/master'

[user3] 4 年 前
コミット
b1915b6a07

+ 17 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/dao/RuralProjectMessageAllDao.java

@@ -0,0 +1,17 @@
+/**
+ * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.modules.ruralprojectrecords.dao;
+
+import com.jeeplus.common.persistence.CrudDao;
+import com.jeeplus.common.persistence.annotation.MyBatisDao;
+import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
+
+/**
+ * 项目列表DAO接口
+ * @author ppt
+ * @version 2018-05-02
+ */
+@MyBatisDao
+public interface RuralProjectMessageAllDao extends CrudDao<RuralProjectRecords> {
+}

+ 327 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageAllService.java

@@ -0,0 +1,327 @@
+package com.jeeplus.modules.ruralprojectrecords.service;
+
+import com.jeeplus.common.persistence.Page;
+import com.jeeplus.common.service.CrudService;
+import com.jeeplus.common.utils.Collections3;
+import com.jeeplus.modules.projectFilingBatch.dao.ProjectFilingBatchDao;
+import com.jeeplus.modules.projectFilingBatch.dao.ProjectFilingbatchRelationDao;
+import com.jeeplus.modules.projectFilingBatch.entity.ProjectFilingBatch;
+import com.jeeplus.modules.projectFilingBatch.entity.ProjectFilingbatchRelation;
+import com.jeeplus.modules.projectrecord.entity.ProjectRecordTreeData;
+import com.jeeplus.modules.ruralprojectrecords.dao.RuralProjectMessageAllDao;
+import com.jeeplus.modules.ruralprojectrecords.dao.RuralWorkProjectUserDao;
+import com.jeeplus.modules.ruralprojectrecords.entity.*;
+import com.jeeplus.modules.sys.entity.*;
+import com.jeeplus.modules.sys.utils.DictUtils;
+import com.jeeplus.modules.sys.utils.UserUtils;
+import com.jeeplus.modules.workclientinfo.entity.WorkClientInfo;
+import com.jeeplus.modules.workclientinfo.entity.WorkClientLinkman;
+import com.jeeplus.modules.workcontractinfo.entity.WorkContractInfo;
+import com.jeeplus.modules.workcontractinfo.service.WorkContractInfoService;
+import org.activiti.engine.HistoryService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.*;
+
+/**
+ * 项目列表Service
+ * @author 徐滕
+ * @version 2020-04-15
+ */
+@Service
+@Transactional(readOnly = true)
+public class RuralProjectMessageAllService extends CrudService<RuralProjectMessageAllDao, RuralProjectRecords> {
+    @Autowired
+    private RuralWorkProjectUserDao workProjectUserDao;
+    @Autowired
+    protected HistoryService historyService;
+    @Autowired
+    private WorkContractInfoService contractInfoService;
+    @Autowired
+    private SubProjectInfoService subProjectInfoService;
+    @Autowired
+    private ProjectFilingbatchRelationDao filingbatchRelationDao;
+    @Autowired
+    private ProjectFilingBatchDao projectFilingBatchDao;
+
+    public RuralProjectRecords get(String id) {
+        return super.get(id);
+    }
+    public List<RuralProjectRecords> findList(RuralProjectRecords projectRecords) {
+        return super.findList(projectRecords);
+    }
+
+    public Page<RuralProjectRecords> findPage(Page<RuralProjectRecords> page, RuralProjectRecords projectRecords) {
+        //查询超期时间天数
+        List<MainDictDetail> adventCount = DictUtils.getMainDictListOnProjectAdvent("advent_count");
+        if(adventCount.size()>0){
+            //获取超期时间天数转int
+            Integer endingCount = Integer.parseInt(adventCount.get(0).getLabel());
+            projectRecords.setEndingCount(endingCount);
+        }
+
+        int count = dao.queryCount(projectRecords);
+        page.setCount(count);
+        page.setCountFlag(false);
+        projectRecords.setPage(page);
+        List<RuralProjectRecords> recordsList = findList(projectRecords);
+        //查询负责人信息
+        for (RuralProjectRecords records : recordsList) {
+            this.queryContractInfos(records);
+            //获取项目负责人
+            List<User> users = workProjectUserDao.getProjectprincipalList(records.getId());
+            records.setProjectLeaders(users);
+            records.setLeaderNameStr(Collections3.extractToString(users, "name", ","));
+            records.setLeaderIds(Collections3.extractToString(users, "id", ","));
+
+            //获取归档批次信息
+            //项目归档批次
+            ProjectFilingbatchRelation relation=filingbatchRelationDao.getProjectId(records.getId());
+            if(null != relation && StringUtils.isNotBlank(relation.getId())){
+                records.setFilingBatch(relation.getFilingBatch());
+                records.setFilingProjectStatus(relation.getStatus());
+                records.setBoxNum(relation.getBoxNum());
+                records.setReBoxNum(relation.getReBoxNum());
+                //查询批次流程状态
+                ProjectFilingBatch filingBatch=projectFilingBatchDao.findByFilingBatch(relation.getFilingBatch());
+                if(null != filingBatch){
+                    records.setFilingBatchId(filingBatch.getId());
+                    records.setFilingProcessinstanceId(filingBatch.getProcessinstanceId());
+                    records.setFilingStatus(filingBatch.getFilingStatus());
+                }
+            }
+        }
+        page.setList(recordsList);
+        return page;
+    }
+
+    @Transactional(readOnly = false)
+    public Map<String,List> getProjectList(RuralProjectRecords projectRecords, HttpServletRequest request, HttpServletResponse response) {
+        //添加查询类型(工程咨询)
+        Page<RuralProjectRecords> page = this.findPage(new Page<RuralProjectRecords>(request, response), projectRecords);
+        //无合同状态下,获取委托方的名称
+        List<RuralProjectRecords> list = page.getList();
+        List<ProjectRecordTreeData> projectRecordTreeDataList = new ArrayList<>();
+        Map<String,List> map = new HashMap<>();
+        for (int i = 0; i < list.size(); i++) {
+            ProjectRecordTreeData projectRecordTreeData = new ProjectRecordTreeData();
+            RuralProjectRecords records1 = list.get(i);
+            if (records1.getWorkContractInfo() == null) {
+                if (records1.getWorkClientLinkmanList() != null && records1.getWorkClientLinkmanList().size() > 0) {
+                    WorkClientLinkman linkman = records1.getWorkClientLinkmanList().get(0);
+                    WorkContractInfo contractInfo = new WorkContractInfo();
+                    contractInfo.setClient(linkman.getClientId());
+                    records1.setWorkContractInfo(contractInfo);
+                }
+            }
+
+            projectRecordTreeData = getParentInfo(records1);
+            //获取归档批次信息
+            //项目归档批次
+            ProjectFilingbatchRelation relation=filingbatchRelationDao.getProjectId(records1.getId());
+            if(relation!=null && StringUtils.isNotBlank(relation.getId())){
+                projectRecordTreeData.setFilingBatch(relation.getFilingBatch());
+                projectRecordTreeData.setFilingProjectStatus(relation.getStatus());
+                projectRecordTreeData.setBoxNum(relation.getBoxNum());
+                projectRecordTreeData.setReBoxNum(relation.getReBoxNum());
+                ProjectFilingBatch filingBatch=projectFilingBatchDao.findByFilingBatchOnProject(relation.getFilingBatch());
+                if(null != filingBatch){
+                    projectRecordTreeData.setFilingBatchId(filingBatch.getId());
+                    projectRecordTreeData.setFilingProcessinstanceId(filingBatch.getProcessinstanceId());
+                    projectRecordTreeData.setFilingStatus(filingBatch.getFilingStatus());
+                }
+            }else{
+                projectRecordTreeData.setFilingStatus(0);
+                projectRecordTreeData.setFilingProjectStatus(0);
+            }
+            projectRecordTreeDataList.add(projectRecordTreeData);
+
+            //获取子项目信息
+            SubProjectInfo subProjectInfo = new SubProjectInfo();
+            subProjectInfo.setParentProId(records1.getId());
+            //查询对应子项目数据
+            Page<SubProjectInfo> subProjectList = subProjectInfoService.findPage(new Page<SubProjectInfo>(request, response), subProjectInfo);
+            List<SubProjectInfo> reportDataList = subProjectList.getList();
+
+
+            //项目名称不为空则进行所有项目的查询和处理
+            for (SubProjectInfo subProject: reportDataList) {
+                ProjectRecordTreeData treeData = getSubInfo(subProject);
+                projectRecordTreeDataList.add(treeData);
+
+            }
+
+        }
+
+
+
+        map.put("data",projectRecordTreeDataList);
+        return map;
+    }
+
+
+
+    private ProjectRecordTreeData getParentInfo(RuralProjectRecords info){
+
+        ProjectRecordTreeData projectRecordTreeData = new ProjectRecordTreeData();
+        //将界面需要展示数据放入类中
+        //项目id
+        projectRecordTreeData.setId(info.getId());
+        //项目名称
+        projectRecordTreeData.setProjectName(info.getProjectName());
+        //项目编号
+        projectRecordTreeData.setProjectId(info.getProjectId());
+        //报告号
+        projectRecordTreeData.setProjectReportNumber(info.getProjectReportNumber());
+        //合同名称
+        projectRecordTreeData.setContractName(info.getContractName());
+        //归档号
+        if(com.jeeplus.common.utils.StringUtils.isNotBlank(info.getRecodeNum())){
+            projectRecordTreeData.setRecodeNum(info.getRecodeNum());
+        }else{
+            projectRecordTreeData.setRecodeNum("");
+        }
+        //新增报告状态
+        projectRecordTreeData.setProjectReportStatus(info.getProjectReportStatus());
+        //线上归档状态
+        projectRecordTreeData.setProjectReportRecordStatus(info.getProjectReportRecordStatus());
+        //线下归档状态
+        projectRecordTreeData.setDownProjectReportRecordStatus(info.getDownProjectReportRecordStatus());
+        //上报状态
+        projectRecordTreeData.setReportedState(info.getReportedState());
+        //报告id
+        projectRecordTreeData.setPrdId(info.getPrdId());
+        //委托方
+        if(null != info.getWorkContractInfo()){
+            if(null != info.getWorkContractInfo().getClient()){
+                projectRecordTreeData.setClientName(info.getWorkContractInfo().getClient().getName());
+            }
+        }
+        //负责人
+        StringBuilder sb = new StringBuilder();
+        if(null != info.getProjectLeaders()){
+            for (int u = 0; u < info.getProjectLeaders().size(); u++) {
+                sb.append(info.getProjectLeaders().get(u).getName());
+                if (u < info.getProjectLeaders().size() - 1) {
+                    sb.append(",");
+                }
+            }
+        }
+        projectRecordTreeData.setProjectLeaders(sb.toString());
+        //项目登记人
+        projectRecordTreeData.setProjectRegistrant(info.getCreateBy().getName());
+        //合同名称
+        if(null != info.getWorkContractInfo()){
+            projectRecordTreeData.setContractName(info.getWorkContractInfo().getName());
+            projectRecordTreeData.setContractId(info.getWorkContractInfo().getId());
+        }
+        projectRecordTreeData.setPrrdId(info.getPrrdId());
+        projectRecordTreeData.setPrrId(info.getPrrId());
+        projectRecordTreeData.setPrrProcessInstanceId(info.getPrrProcessInstanceId());
+        projectRecordTreeData.setSyncStatus(info.getSyncStatus());
+        projectRecordTreeData.setReportStatus(info.getReportStatus());
+        projectRecordTreeData.setPrrdProcessInstanceId(info.getPrrdProcessInstanceId());
+        projectRecordTreeData.setReportedProcessInstanceId(info.getReportedProcessInstanceId());
+
+        //判断是否为admin
+        if (UserUtils.getUser().isAdmin()){
+            projectRecordTreeData.setFlagAdmin("1");
+        }else{
+            projectRecordTreeData.setFlagAdmin("0");
+        }
+        //判断是否为归档员
+        if (UserUtils.getArchiveUserRole()){
+            projectRecordTreeData.setFlagArchive("1");
+        }else{
+            projectRecordTreeData.setFlagArchive("0");
+        }
+
+        //判断当前登陆人是否有操作权限
+        if(UserUtils.getUser().getId().equals(info.getLeaderIds()) || UserUtils.getUser().getId().equals(info.getCreateBy().getId())){
+            projectRecordTreeData.setFlag(1);
+        }else {
+            projectRecordTreeData.setFlag(0);
+        }
+
+        if(null!= info.getWorkContractInfo()){
+            projectRecordTreeData.setContractName(info.getWorkContractInfo().getName());
+            if(null != info.getWorkContractInfo().getClient()){
+                projectRecordTreeData.setClientName(info.getWorkContractInfo().getClient().getName());
+            }
+        }else{
+            projectRecordTreeData.setContractName("");
+            projectRecordTreeData.setClientName("");
+        }
+        projectRecordTreeData.setCreateDate(info.getCreateDate());
+        projectRecordTreeData.setCreateId(info.getCreateBy().getId());
+        //父节点的pid设置为0
+        projectRecordTreeData.setPid("0");
+
+        return projectRecordTreeData;
+    }
+
+    private ProjectRecordTreeData getSubInfo(SubProjectInfo reportData){
+
+        ProjectRecordTreeData treeData = new ProjectRecordTreeData();
+
+        //将界面需要展示数据放入类中
+        //项目id
+        treeData.setId(reportData.getId());
+        //项目名称
+        treeData.setProjectName(reportData.getProjectName());
+        //项目定义号
+        treeData.setProjectId(reportData.getProjectId());
+        //报告号
+        treeData.setProjectReportNumber("");
+        //合同名称
+        treeData.setContractName("");
+        //归档号
+        treeData.setRecodeNum("");
+        //委托方
+        treeData.setClientName("");
+        //合同名称
+        treeData.setContractName("");
+        treeData.setCreateDate(reportData.getPackTime());
+
+        //添加工作内容id
+        treeData.setParentIds(reportData.getParentProId());
+        //添加登陆者id
+        treeData.setLoginId(UserUtils.getUser().getId());
+        treeData.setPid(reportData.getParentProId());
+        treeData.setCreateId(reportData.getCreateBy().getId());
+
+        //判断当前登陆人是否有操作权限
+        if(UserUtils.getUser().getId().equals(reportData.getCreateBy().getId())){
+            treeData.setFlag(1);
+        }else {
+            treeData.setFlag(0);
+        }
+        return treeData;
+    }
+
+
+    /**
+     * 查询合同信息
+     * @param projectRecords
+     */
+    public void queryContractInfos(RuralProjectRecords projectRecords) {
+        WorkContractInfo workContractInfo = contractInfoService.get(projectRecords.getWorkContractInfo().getId());
+        if(workContractInfo!=null){
+            workContractInfo.setConstructionProjectTypeStr(DictUtils.getMainDictLabel(String.valueOf(workContractInfo.getContractType()), "contract_type", ""));
+            if(workContractInfo.getWorkClientInfoList()!=null&&!workContractInfo.getWorkClientInfoList().isEmpty()){
+                StringBuilder workClinetInfoIds = new StringBuilder();
+                for (WorkClientInfo workClientInfo : workContractInfo.getWorkClientInfoList()) {
+                    workClinetInfoIds.append(workClientInfo.getId()).append(",");
+                }
+                workClinetInfoIds.deleteCharAt(workClinetInfoIds.length()-1);
+                workContractInfo.setWorkClinetInfoIds(workClinetInfoIds.toString());
+            }
+        }
+        projectRecords.setWorkContractInfo(workContractInfo);
+    }
+}

+ 3 - 41
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageService.java

@@ -286,58 +286,20 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
             }
             projectRecordTreeDataList.add(projectRecordTreeData);
 
-        }
-        if(StringUtils.isNotBlank(projectRecords.getProjectName())){
             //获取子项目信息
             SubProjectInfo subProjectInfo = new SubProjectInfo();
-            subProjectInfo.setProjectName(projectRecords.getProjectName());
-            //查询所有子项目数据
+            subProjectInfo.setParentProId(records1.getId());
+            //查询对应子项目数据
             Page<SubProjectInfo> subProjectList = subProjectInfoService.findPage(new Page<SubProjectInfo>(request, response), subProjectInfo);
             List<SubProjectInfo> reportDataList = subProjectList.getList();
 
-        /*for (SubProjectInfo subProject: reportDataList) {
-                ProjectRecordTreeData treeData = getSubInfo(subProject);
-                projectRecordTreeDataList.add(treeData);
-            }*/
-
-            //降所有已查询到的项目数据id放到list中
-            Set parentIdSet = new HashSet();
-            for (ProjectRecordTreeData treeData:projectRecordTreeDataList) {
-                parentIdSet.add(treeData.getId());
-            }
-            //Set转List
-            List<String> parentIdList = new ArrayList<>(parentIdSet);
-
-        /*Iterator<SubProjectInfo> iterator = reportDataList.iterator();
-        while(iterator.hasNext()){
-            SubProjectInfo subInfo = iterator.next();
-            if(parentIdList.contains(subInfo.getParentProId())) {
-                ProjectRecordTreeData treeData = getSubInfo(subInfo);
-                projectRecordTreeDataList.add(treeData);
-                parentIdList.add(subInfo.getId());
-                iterator.remove();
-            }
-        }*/
 
             //项目名称不为空则进行所有项目的查询和处理
-            //if(StringUtils.isNotBlank(projectRecords.getProjectName())){
             for (SubProjectInfo subProject: reportDataList) {
-                //如果子项目的父项目id不存在于已查找的父项目中则在总list中添加父项目
-                if(!parentIdList.contains(subProject.getParentProId())) {
-                    RuralProjectRecords parentProjectInfo = this.get(subProject.getParentProId());
-                    ProjectRecordTreeData info = getParentInfo(parentProjectInfo);
-                    if (projectRecords.getProjectType().equals(parentProjectInfo.getProjectType())){
-                        projectRecordTreeDataList.add(info);
-                        parentIdList.add(parentProjectInfo.getId());
-                    }
-                }
-
                 ProjectRecordTreeData treeData = getSubInfo(subProject);
                 projectRecordTreeDataList.add(treeData);
-                parentIdList.add(subProject.getId());
-            }
-            //}
 
+            }
         }
 
         map.put("data",projectRecordTreeDataList);

+ 32 - 20
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectRecordsService.java

@@ -1509,15 +1509,20 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 
 			//查看送审金额是否为500w以上金额
 			Integer approvalMoney = projectAccessoryRelationService.decideAttachmentProjectApprovalMoney(projectReportData.getReviewFee());
-			if(0 == approvalMoney){
-				//金额为0
-				relateInfo.setAttachmentProjectApprovalMoney(null);
-			}else if(1 == approvalMoney){
-				//500w以下金额状态
-				relateInfo.setAttachmentProjectApprovalMoney("1");
-			}else{
-				//500w以上金额状态
-				relateInfo.setAttachmentProjectApprovalMoney("2");
+			approvalMoney = 2;
+			switch (approvalMoney){
+				case 0:
+					//金额为0
+					relateInfo.setAttachmentProjectApprovalMoney(null);
+					break;
+				case 1:
+					//500w以下金额状态
+					relateInfo.setAttachmentProjectApprovalMoney("1");
+					break;
+				case 2:
+					//500w以上金额状态
+					relateInfo.setAttachmentProjectApprovalMoney("2");
+					break;
 			}
 			//添加报告类型
 			relateInfo.setRequiredStage(1);
@@ -1669,15 +1674,21 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 			approvalMoney = projectAccessoryRelationService.decideAttachmentProjectApprovalMoney(projectReportData.getReviewFee());
 
 		}
-		if(0 == approvalMoney){
-			//金额为0
-			relateInfo.setAttachmentProjectApprovalMoney(null);
-		}else if(1 == approvalMoney){
-			//500w以下金额状态
-			relateInfo.setAttachmentProjectApprovalMoney("1");
-		}else{
-			//500w以上金额状态
-			relateInfo.setAttachmentProjectApprovalMoney("2");
+		//设置默认值为500w以上的展示数据
+		approvalMoney = 2;
+		switch (approvalMoney){
+			case 0:
+				//金额为0
+				relateInfo.setAttachmentProjectApprovalMoney(null);
+				break;
+			case 1:
+				//500w以下金额状态
+				relateInfo.setAttachmentProjectApprovalMoney("1");
+				break;
+			case 2:
+				//500w以上金额状态
+				relateInfo.setAttachmentProjectApprovalMoney("2");
+				break;
 		}
 		//创建阶段集合(若为归档阶段则将新增报告和归档阶段信息都添加在内)
 		List<Integer> requiredStageList = Lists.newArrayList();
@@ -1743,11 +1754,12 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 			List<WorkClientAttachment> attachments = workClientAttachmentDao.getList(attchment);
 			info.setWorkAttachments(attachments);
 			//判断是否为必填项,若为必填项则添加必填判定字段
-			if(requiredStageList.contains(info.getRequiredStage())){
+			info.setMustFlag(0);
+			/*if(requiredStageList.contains(info.getRequiredStage())){
 				info.setMustFlag(1);
 			}else{
 				info.setMustFlag(0);
-			}
+			}*/
 		}
 		//查询没有被选择必填项的数据并查询是否已经上传附件,若有则添加到展示列中
 		List<ProjectTemplateInfo> otherProjectTemplateList = projectTemplateDao.projectAccessoryListByParentId(projectTemplateInfo);

+ 75 - 50
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralCostProjectMessageController.java

@@ -190,16 +190,21 @@ public class RuralCostProjectMessageController extends BaseController {
             /*if(0 == projectSort){*/
                 //查看送审金额是否为500w以上金额
                 Integer approvalMoney = projectAccessoryRelationService.decideAttachmentProjectApprovalMoney(projectcontentinfo.getProjectReportData().getReviewFee());
-                if(0 == approvalMoney){
-                    //金额为0
-                    relateInfo.setAttachmentProjectApprovalMoney(null);
-                }else if(1 == approvalMoney){
-                    //500w以下金额状态
-                    relateInfo.setAttachmentProjectApprovalMoney("1");
-                }else{
-                    //500w以上金额状态
-                    relateInfo.setAttachmentProjectApprovalMoney("2");
-                }
+        approvalMoney = 2;
+        switch (approvalMoney){
+            case 0:
+                //金额为0
+                relateInfo.setAttachmentProjectApprovalMoney(null);
+                break;
+            case 1:
+                //500w以下金额状态
+                relateInfo.setAttachmentProjectApprovalMoney("1");
+                break;
+            case 2:
+                //500w以上金额状态
+                relateInfo.setAttachmentProjectApprovalMoney("2");
+                break;
+        }
             /*}else{
                 relateInfo.setAttachmentProjectApprovalMoney(null);
             }*/
@@ -461,16 +466,21 @@ public class RuralCostProjectMessageController extends BaseController {
             /*if(0 == projectSort){*/
                 //查看送审金额是否为500w以上金额
                 Integer approvalMoney = projectAccessoryRelationService.decideAttachmentProjectApprovalMoney(projectReportData.getReviewFee());
-                if(0 == approvalMoney){
-                    //金额为0
-                    relateInfo.setAttachmentProjectApprovalMoney(null);
-                }else if(1 == approvalMoney){
-                    //500w以下金额状态
-                    relateInfo.setAttachmentProjectApprovalMoney("1");
-                }else{
-                    //500w以上金额状态
-                    relateInfo.setAttachmentProjectApprovalMoney("2");
-                }
+        approvalMoney = 2;
+        switch (approvalMoney){
+            case 0:
+                //金额为0
+                relateInfo.setAttachmentProjectApprovalMoney(null);
+                break;
+            case 1:
+                //500w以下金额状态
+                relateInfo.setAttachmentProjectApprovalMoney("1");
+                break;
+            case 2:
+                //500w以上金额状态
+                relateInfo.setAttachmentProjectApprovalMoney("2");
+                break;
+        }
             /*}else{
                 relateInfo.setAttachmentProjectApprovalMoney(null);
             }*/
@@ -648,16 +658,21 @@ public class RuralCostProjectMessageController extends BaseController {
             //if(0 == projectSort){
                 //查看送审金额是否为500w以上金额
                 Integer approvalMoney = projectAccessoryRelationService.decideAttachmentProjectApprovalMoney(projectReportData.getReviewFee());
-                if(0 == approvalMoney){
-                    //金额为0
-                    relateInfo.setAttachmentProjectApprovalMoney(null);
-                }else if(1 == approvalMoney){
-                    //500w以下金额状态
-                    relateInfo.setAttachmentProjectApprovalMoney("1");
-                }else{
-                    //500w以上金额状态
-                    relateInfo.setAttachmentProjectApprovalMoney("2");
-                }
+        approvalMoney = 2;
+        switch (approvalMoney){
+            case 0:
+                //金额为0
+                relateInfo.setAttachmentProjectApprovalMoney(null);
+                break;
+            case 1:
+                //500w以下金额状态
+                relateInfo.setAttachmentProjectApprovalMoney("1");
+                break;
+            case 2:
+                //500w以上金额状态
+                relateInfo.setAttachmentProjectApprovalMoney("2");
+                break;
+        }
             /*}else{
                 relateInfo.setAttachmentProjectApprovalMoney(null);
             }*/
@@ -912,16 +927,21 @@ public class RuralCostProjectMessageController extends BaseController {
             //if(0 == projectSort){
                 //查看送审金额是否为500w以上金额
                 Integer approvalMoney = projectAccessoryRelationService.decideAttachmentProjectApprovalMoney(reportData.getReviewFee());
-                if(0 == approvalMoney){
-                    //金额为0
-                    relateInfo.setAttachmentProjectApprovalMoney(null);
-                }else if(1 == approvalMoney){
-                    //500w以下金额状态
-                    relateInfo.setAttachmentProjectApprovalMoney("1");
-                }else{
-                    //500w以上金额状态
-                    relateInfo.setAttachmentProjectApprovalMoney("2");
-                }
+        approvalMoney = 2;
+        switch (approvalMoney){
+            case 0:
+                //金额为0
+                relateInfo.setAttachmentProjectApprovalMoney(null);
+                break;
+            case 1:
+                //500w以下金额状态
+                relateInfo.setAttachmentProjectApprovalMoney("1");
+                break;
+            case 2:
+                //500w以上金额状态
+                relateInfo.setAttachmentProjectApprovalMoney("2");
+                break;
+        }
             /*}else{
                 relateInfo.setAttachmentProjectApprovalMoney(null);
             }*/
@@ -1004,16 +1024,21 @@ public class RuralCostProjectMessageController extends BaseController {
             //if(0 == projectSort){
                 //查看送审金额是否为500w以上金额
                 Integer approvalMoney = projectAccessoryRelationService.decideAttachmentProjectApprovalMoney(projectReportRecord.getReport().getReviewFee());
-                if(0 == approvalMoney){
-                    //金额为0
-                    relateInfo.setAttachmentProjectApprovalMoney(null);
-                }else if(1 == approvalMoney){
-                    //500w以下金额状态
-                    relateInfo.setAttachmentProjectApprovalMoney("1");
-                }else{
-                    //500w以上金额状态
-                    relateInfo.setAttachmentProjectApprovalMoney("2");
-                }
+        approvalMoney = 2;
+        switch (approvalMoney){
+            case 0:
+                //金额为0
+                relateInfo.setAttachmentProjectApprovalMoney(null);
+                break;
+            case 1:
+                //500w以下金额状态
+                relateInfo.setAttachmentProjectApprovalMoney("1");
+                break;
+            case 2:
+                //500w以上金额状态
+                relateInfo.setAttachmentProjectApprovalMoney("2");
+                break;
+        }
             /*}else{
                 relateInfo.setAttachmentProjectApprovalMoney(null);
             }*/

+ 91 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageAllController.java

@@ -0,0 +1,91 @@
+package com.jeeplus.modules.ruralprojectrecords.web;
+
+import com.jeeplus.common.persistence.Page;
+import com.jeeplus.common.utils.StringUtils;
+import com.jeeplus.common.web.BaseController;
+import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
+import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectMessageAllService;
+import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectRecordsService;
+import com.jeeplus.modules.sys.utils.UserUtils;
+import jersey.repackaged.com.google.common.collect.Lists;
+import org.activiti.engine.HistoryService;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 项目列表Controller
+ * @author 徐滕
+ * @version 2020-04-15
+ */
+@Controller
+@RequestMapping(value = "${adminPath}/ruralProject/ruralProjectMessageAll")
+public class RuralProjectMessageAllController extends BaseController {
+    @Autowired
+    private RuralProjectRecordsService projectRecordsService;
+    @Autowired
+    private RuralProjectMessageAllService ruralProjectMessageAllService;
+    @Autowired
+    protected HistoryService historyService;
+
+    @ModelAttribute
+    public RuralProjectRecords get(@RequestParam(required=false) String id) {
+        RuralProjectRecords entity = null;
+        if (StringUtils.isNotBlank(id)){
+            entity = projectRecordsService.get(id);
+        }
+        if (entity == null){
+            entity = new RuralProjectRecords();
+        }
+        return entity;
+    }
+
+    /**
+     * 项目列表页面
+     */
+    @RequiresPermissions("ruralProject:ruralProjectMessageAll:list")
+    @RequestMapping(value = {"list", ""})
+    public String list(RuralProjectRecords projectRecords, HttpServletRequest request, HttpServletResponse response, Model model) {
+        if(UserUtils.isManager()){
+            model.addAttribute("flag","1");
+        }
+        //添加查询类型(工程咨询)
+        List<String> typeList = Lists.newArrayList();
+        typeList.add("1");
+        typeList.add("2");
+        //添加查询类型list
+        projectRecords.setTypeList(typeList);
+        Page<RuralProjectRecords> page = ruralProjectMessageAllService.findPage(new Page<RuralProjectRecords>(request, response), projectRecords);
+        model.addAttribute("page", page);
+        if(null != projectRecords.getWorkContractInfo()){
+            model.addAttribute("workContractInfoName", projectRecords.getWorkContractInfo().getName());
+            if(null != projectRecords.getWorkContractInfo().getClient()){
+                model.addAttribute("workContractInfoClientName", projectRecords.getWorkContractInfo().getClient().getName());
+            }
+        }
+        model.addAttribute("beginDate", projectRecords.getBeginDate());
+        model.addAttribute("endDate", projectRecords.getEndDate());
+        return "modules/ruralprojectrecords/ruralporjectmessage/all/ruralProjectMessageAllLists";
+    }
+
+    /**
+     * 项目列表页面
+     */
+    @RequestMapping(value = "getProjectList")
+    @ResponseBody
+    public Map<String,List> getProjectList(RuralProjectRecords projectRecords, HttpServletRequest request, HttpServletResponse response) {
+        Map<String, List> map = ruralProjectMessageAllService.getProjectList(projectRecords, request, response);
+        return map;
+    }
+
+}

+ 75 - 50
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageController.java

@@ -214,16 +214,21 @@ public class RuralProjectMessageController extends BaseController {
             /*if(0 == projectSort){*/
                 //查看送审金额是否为500w以上金额
                 Integer approvalMoney = projectAccessoryRelationService.decideAttachmentProjectApprovalMoney(projectcontentinfo.getProjectReportData().getReviewFee());
-                if(0 == approvalMoney){
-                    //金额为0
-                    relateInfo.setAttachmentProjectApprovalMoney(null);
-                }else if(1 == approvalMoney){
-                    //500w以下金额状态
-                    relateInfo.setAttachmentProjectApprovalMoney("1");
-                }else{
-                    //500w以上金额状态
-                    relateInfo.setAttachmentProjectApprovalMoney("2");
-                }
+        approvalMoney = 2;
+        switch (approvalMoney){
+            case 0:
+                //金额为0
+                relateInfo.setAttachmentProjectApprovalMoney(null);
+                break;
+            case 1:
+                //500w以下金额状态
+                relateInfo.setAttachmentProjectApprovalMoney("1");
+                break;
+            case 2:
+                //500w以上金额状态
+                relateInfo.setAttachmentProjectApprovalMoney("2");
+                break;
+        }
             /*}else{
                 relateInfo.setAttachmentProjectApprovalMoney(null);
             }*/
@@ -481,16 +486,21 @@ public class RuralProjectMessageController extends BaseController {
             /*if(0 == projectSort){*/
                 //查看送审金额是否为500w以上金额
                 Integer approvalMoney = projectAccessoryRelationService.decideAttachmentProjectApprovalMoney(projectReportData.getReviewFee());
-                if(0 == approvalMoney){
-                    //金额为0
-                    relateInfo.setAttachmentProjectApprovalMoney(null);
-                }else if(1 == approvalMoney){
-                    //500w以下金额状态
-                    relateInfo.setAttachmentProjectApprovalMoney("1");
-                }else{
-                    //500w以上金额状态
-                    relateInfo.setAttachmentProjectApprovalMoney("2");
-                }
+        approvalMoney = 2;
+        switch (approvalMoney){
+            case 0:
+                //金额为0
+                relateInfo.setAttachmentProjectApprovalMoney(null);
+                break;
+            case 1:
+                //500w以下金额状态
+                relateInfo.setAttachmentProjectApprovalMoney("1");
+                break;
+            case 2:
+                //500w以上金额状态
+                relateInfo.setAttachmentProjectApprovalMoney("2");
+                break;
+        }
             /*}else{
                 relateInfo.setAttachmentProjectApprovalMoney(null);
             }*/
@@ -668,16 +678,21 @@ public class RuralProjectMessageController extends BaseController {
             //if(0 == projectSort){
                 //查看送审金额是否为500w以上金额
                 Integer approvalMoney = projectAccessoryRelationService.decideAttachmentProjectApprovalMoney(projectReportData.getReviewFee());
-                if(0 == approvalMoney){
-                    //金额为0
-                    relateInfo.setAttachmentProjectApprovalMoney(null);
-                }else if(1 == approvalMoney){
-                    //500w以下金额状态
-                    relateInfo.setAttachmentProjectApprovalMoney("1");
-                }else{
-                    //500w以上金额状态
-                    relateInfo.setAttachmentProjectApprovalMoney("2");
-                }
+        approvalMoney = 2;
+        switch (approvalMoney){
+            case 0:
+                //金额为0
+                relateInfo.setAttachmentProjectApprovalMoney(null);
+                break;
+            case 1:
+                //500w以下金额状态
+                relateInfo.setAttachmentProjectApprovalMoney("1");
+                break;
+            case 2:
+                //500w以上金额状态
+                relateInfo.setAttachmentProjectApprovalMoney("2");
+                break;
+        }
             /*}else{
                 relateInfo.setAttachmentProjectApprovalMoney(null);
             }*/
@@ -938,16 +953,21 @@ public class RuralProjectMessageController extends BaseController {
             //if(0 == projectSort){
                 //查看送审金额是否为500w以上金额
                 Integer approvalMoney = projectAccessoryRelationService.decideAttachmentProjectApprovalMoney(reportData.getReviewFee());
-                if(0 == approvalMoney){
-                    //金额为0
-                    relateInfo.setAttachmentProjectApprovalMoney(null);
-                }else if(1 == approvalMoney){
-                    //500w以下金额状态
-                    relateInfo.setAttachmentProjectApprovalMoney("1");
-                }else{
-                    //500w以上金额状态
-                    relateInfo.setAttachmentProjectApprovalMoney("2");
-                }
+        approvalMoney = 2;
+        switch (approvalMoney){
+            case 0:
+                //金额为0
+                relateInfo.setAttachmentProjectApprovalMoney(null);
+                break;
+            case 1:
+                //500w以下金额状态
+                relateInfo.setAttachmentProjectApprovalMoney("1");
+                break;
+            case 2:
+                //500w以上金额状态
+                relateInfo.setAttachmentProjectApprovalMoney("2");
+                break;
+        }
             /*}else{
                 relateInfo.setAttachmentProjectApprovalMoney(null);
             }*/
@@ -1026,16 +1046,21 @@ public class RuralProjectMessageController extends BaseController {
             //if(0 == projectSort){
                 //查看送审金额是否为500w以上金额
                 Integer approvalMoney = projectAccessoryRelationService.decideAttachmentProjectApprovalMoney(projectReportRecord.getReport().getReviewFee());
-                if(0 == approvalMoney){
-                    //金额为0
-                    relateInfo.setAttachmentProjectApprovalMoney(null);
-                }else if(1 == approvalMoney){
-                    //500w以下金额状态
-                    relateInfo.setAttachmentProjectApprovalMoney("1");
-                }else{
-                    //500w以上金额状态
-                    relateInfo.setAttachmentProjectApprovalMoney("2");
-                }
+        approvalMoney = 2;
+        switch (approvalMoney){
+            case 0:
+                //金额为0
+                relateInfo.setAttachmentProjectApprovalMoney(null);
+                break;
+            case 1:
+                //500w以下金额状态
+                relateInfo.setAttachmentProjectApprovalMoney("1");
+                break;
+            case 2:
+                //500w以上金额状态
+                relateInfo.setAttachmentProjectApprovalMoney("2");
+                break;
+        }
             /*}else{
                 relateInfo.setAttachmentProjectApprovalMoney(null);
             }*/

+ 60 - 36
src/main/java/com/jeeplus/modules/workprojectnotify/web/WorkProjectNotifyController.java

@@ -1812,16 +1812,22 @@ public class WorkProjectNotifyController extends BaseController {
 						//if(0 == projectSort){
 							//查看送审金额是否为500w以上金额
 							Integer approvalMoney = projectAccessoryRelationService.decideAttachmentProjectApprovalMoney(projectcontentinfo.getProjectReportData().getReviewFee());
-							if(0 == approvalMoney){
-								//金额为0
-								relateInfo.setAttachmentProjectApprovalMoney(null);
-							}else if(1 == approvalMoney){
-								//500w以下金额状态
-								relateInfo.setAttachmentProjectApprovalMoney("1");
-							}else{
-								//500w以上金额状态
-								relateInfo.setAttachmentProjectApprovalMoney("2");
-							}
+					//设置默认值为500w以上的展示数据
+					approvalMoney = 2;
+					switch (approvalMoney){
+						case 0:
+							//金额为0
+							relateInfo.setAttachmentProjectApprovalMoney(null);
+							break;
+						case 1:
+							//500w以下金额状态
+							relateInfo.setAttachmentProjectApprovalMoney("1");
+							break;
+						case 2:
+							//500w以上金额状态
+							relateInfo.setAttachmentProjectApprovalMoney("2");
+							break;
+					}
 						/*}else{
 							relateInfo.setAttachmentProjectApprovalMoney(null);
 						}*/
@@ -2004,32 +2010,41 @@ public class WorkProjectNotifyController extends BaseController {
 
 					//根据条件查询附件必填项
 					//判断项目类别是否为打包项目(1:打包项目,0:非打包项目)
-					Integer projectSort = projectAccessoryRelationService.decideAttachmentProjectSort(ruralProjectRecords.getAttachmentProjectSort());
+					//Integer projectSort = projectAccessoryRelationService.decideAttachmentProjectSort(ruralProjectRecords.getAttachmentProjectSort());
 
-					Boolean flag = false;
+					/*Boolean flag = false;
 					//如果是打包项目或者报告送审价不为null则可进行查询附件类型
 					if(1 == projectSort || null != projectReportRecord.getReport().getReviewFee()){
 						flag = true;
 					}
-					if(flag) {
+					if(flag) {*/
 						ProjectAccessoryRelationInfo relateInfo = new ProjectAccessoryRelationInfo();
 						//添加项目类型
 						relateInfo.setAttachmentProjectType(ruralProjectRecords.getProjectType());
 						relateInfo.setAttachmentProjectSort(ruralProjectRecords.getAttachmentProjectSort());
 						//判断是否为打包项目,打包项目无需查看项目送审金额是否为500w以上判定
-						if(0 == projectSort){
+						//if(0 == projectSort){
 							//查看送审金额是否为500w以上金额
 							Integer approvalMoney = projectAccessoryRelationService.decideAttachmentProjectApprovalMoney(projectReportRecord.getReport().getReviewFee());
-							if(1 == approvalMoney){
-								//500w以下金额状态
-								relateInfo.setAttachmentProjectApprovalMoney("1");
-							}else{
-								//500w以上金额状态
-								relateInfo.setAttachmentProjectApprovalMoney("2");
+							//设置默认值为500w以上的展示数据
+							approvalMoney = 2;
+							switch (approvalMoney){
+								case 0:
+									//金额为0
+									relateInfo.setAttachmentProjectApprovalMoney(null);
+									break;
+								case 1:
+									//500w以下金额状态
+									relateInfo.setAttachmentProjectApprovalMoney("1");
+									break;
+								case 2:
+									//500w以上金额状态
+									relateInfo.setAttachmentProjectApprovalMoney("2");
+									break;
 							}
-						}else{
+						/*}else{
 							relateInfo.setAttachmentProjectApprovalMoney(null);
-						}
+						}*/
 
 						//添加报告类型
 						relateInfo.setRequiredStage(2);
@@ -2051,7 +2066,7 @@ public class WorkProjectNotifyController extends BaseController {
 							}
 
 						}
-					}
+					//}
 
 					model.addAttribute("projectReportRecord", projectReportRecord);
 					model.addAttribute("project", projectReportRecord.getReport().getProject());
@@ -3561,14 +3576,14 @@ public class WorkProjectNotifyController extends BaseController {
 				workProjectNotifyService.deleteByNotifyId(workProjectNotify);
 
 				//判断项目类别是否为打包项目(1:打包项目,0:非打包项目)
-				Integer projectSort = projectAccessoryRelationService.decideAttachmentProjectSort(ruralProjectRecords.getAttachmentProjectSort());
+				//Integer projectSort = projectAccessoryRelationService.decideAttachmentProjectSort(ruralProjectRecords.getAttachmentProjectSort());
 				List<ProjectTemplateInfo> attachmentList = Lists.newArrayList();
-				Boolean flag = false;
+				/*Boolean flag = false;
 				//如果是打包项目或者报告送审价不为null则可进行查询附件类型
 				if(1 == projectSort || null != projectReportData.getReviewFee()){
 					flag = true;
 				}
-				if(flag) {
+				if(flag) {*/
 					//查询报告文件、依据性文件、其他文件必填列表以及数据
 					List<MainDictDetail> mainDictDetails = projectTemplateService.attachmentTemplateList();
 					ProjectAccessoryRelationInfo relateInfo = new ProjectAccessoryRelationInfo();
@@ -3578,25 +3593,34 @@ public class WorkProjectNotifyController extends BaseController {
 					relateInfo.setId(ruralProjectRecords.getId());
 					relateInfo.setAttachmentProjectSort(ruralProjectRecords.getAttachmentProjectSort());
 					//判断是否为打包项目,打包项目无需查看项目送审金额是否为500w以上判定
-					if(0 == projectSort){
+					//if(0 == projectSort){
 						//查看送审金额是否为500w以上金额
 						Integer approvalMoney = projectAccessoryRelationService.decideAttachmentProjectApprovalMoney(projectReportData.getReviewFee());
-						if(1 == approvalMoney){
-							//500w以下金额状态
-							relateInfo.setAttachmentProjectApprovalMoney("1");
-						}else{
-							//500w以上金额状态
-							relateInfo.setAttachmentProjectApprovalMoney("2");
+						//设置默认值为500w以上的展示数据
+						approvalMoney = 2;
+						switch (approvalMoney){
+							case 0:
+								//金额为0
+								relateInfo.setAttachmentProjectApprovalMoney(null);
+								break;
+							case 1:
+								//500w以下金额状态
+								relateInfo.setAttachmentProjectApprovalMoney("1");
+								break;
+							case 2:
+								//500w以上金额状态
+								relateInfo.setAttachmentProjectApprovalMoney("2");
+								break;
 						}
-					}else{
+					/*}else{
 						relateInfo.setAttachmentProjectApprovalMoney(null);
-					}
+					}*/
 					for (MainDictDetail mainDict : mainDictDetails) {
 						//添加报告类型
 						relateInfo.setAttachType(mainDict.getValue());
 						attachmentList.addAll(projectTemplateService.getProjectTemplateList(relateInfo));
 					}
-				}
+				//}
 
 
 

+ 351 - 0
src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectMessageAllDao.xml

@@ -0,0 +1,351 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.modules.ruralprojectrecords.dao.RuralProjectMessageAllDao">
+
+	<sql id="projectRecordsColumns">
+		distinct(a.id) AS "id",
+		a.create_by AS "createBy.id",
+		a.create_date AS "createDate",
+		(select name from sys_user user where user.id=a.create_by) AS "createBy.name",
+		a.update_by AS "updateBy.id",
+		a.update_date AS "updateDate",
+		a.del_flag AS "delFlag",
+		a.contract_id AS "workContractInfo.id",
+		a.project_id AS "projectId",
+		a.project_name AS "projectName",
+		a.scale_type AS "scaleType",
+		a.scale_unit AS "scaleUnit",
+		a.scale_quantity AS "scaleQuantity",
+		a.area_id AS "area.id",
+		a.project_site AS "projectSite",
+		a.project_desc AS "projectDesc",
+		a.remarks AS "remarks",
+		a.status AS "projectStatus",
+		a.process_instance_id AS "processInstanceId",
+		a.company_id AS "company.id",
+		a.office_id AS "office.id",
+		a.alter_process_id AS "alterProcessId",
+		area.name AS "area.name",
+		a.province,
+		a.city,
+		a.area_name AS "county",
+		a.project_structure AS "projectStructure",
+		a.on_ground_num AS "onGroundNum",
+		a.under_ground_num AS "underGroundNum",
+		a.building_scale AS "buildingScale",
+		a.measuring_unit AS "measuringUnit",
+		a.project_use AS "projectUse",
+		a.install_fees AS "installFees",
+		a.building_fees AS "buildingFees",
+		a.building_percent AS "buildingPercent",
+		a.install_percent AS "installPercent",
+		a.unit_fees AS "unitFees",
+		a.building_unit_fees AS "buildingUnitFees",
+		a.install_unit_fees AS "installUnitFees",
+		a.total_fees AS "totalFees",
+		ifnull(a.reported_state,0) as "reportedState",
+		a.over_due_status as "overDueStatus"
+	</sql>
+	
+    
+	<select id="get" resultType="RuralProjectRecords" >
+		SELECT
+			<include refid="projectRecordsColumns"/>
+		,a.project_type as projectType
+		,wci.name AS "workContractInfo.name",
+		wct.id AS "workContractInfo.client.id",
+		wct.name AS "workContractInfo.client.name",
+		ifnull(prd.number ,"") as "projectReportNumber"
+		,ifnull(prd.status,0) as "projectReportStatus"
+        ,o.top_company AS "office.name"
+		,ifnull(prd.name,"") as "projectReportName"
+		,ifnull(prr.status,0) as "projectReportRecordStatus"
+		,ifnull(prrd.status,0) as "downProjectReportRecordStatus",
+		prrd.file_num as recodeNum,
+		prr.process_instance_id as prrProcessInstanceId,
+		prrd.process_instance_id as prrdProcessInstanceId
+		,prr.id as prrId
+		,prrd.id as prrdId
+		,prd.audit_pass_date as auditPassDate
+		,if(date_add(prd.audit_pass_date,interval #{endingCount} day) >now(),"0","1") as reportedType
+		,ifnull(rprr.report_status,0) as "reportStatus"
+		,ifnull(rprr.sync_status,0) as "syncStatus"
+		,rprr.process_instance_id as "reportedProcessInstanceId"
+        FROM rural_project_records a
+		LEFT JOIN sys_area area ON area.id = a.area_id
+		LEFT JOIN work_project_user w on a.id = w.project_id
+		LEFT JOIN work_project_user w1 on a.id = w1.project_id
+		LEFT JOIN work_contract_info wci on a.contract_id = wci.id
+		LEFT JOIN work_client_info wct on wci.client_id = wct.id
+		LEFT JOIN sys_office o ON o.id = a.office_id
+		left join project_report_data prd on prd.project_id = a.id
+		LEFT JOIN sys_user su on w.user_id = su.id
+		left join rural_project_report_record prr on prr.report_id = prd.id
+		left join rural_project_report_record_down prrd on prrd.report_id = prd.id
+		left join rural_project_records_reported rprr on rprr.id = a.id
+		WHERE a.id = #{id}
+	</select>
+
+	<select id="findList" resultType="RuralProjectRecords" >
+		SELECT
+			<include refid="projectRecordsColumns"/>
+		,
+		a.project_type as projectType,
+		wci.name AS "workContractInfo.name",
+		wct.id AS "workContractInfo.client.id",
+		wct.name AS "workContractInfo.client.name",
+		o.top_company AS "office.name",
+		ifnull(prd.number ,"") as "projectReportNumber"
+		,ifnull(prd.status,0) as "projectReportStatus"
+		,ifnull(prd.name,"") as "projectReportName"
+		,ifnull(prr.status,0) as "projectReportRecordStatus"
+		,ifnull(prrd.status,0) as "downProjectReportRecordStatus",
+        prrd.file_num as recodeNum,
+		prr.process_instance_id as prrProcessInstanceId,
+		prrd.process_instance_id as prrdProcessInstanceId
+		,prd.id as prdId
+		,prr.id as prrId
+		,prrd.id as prrdId
+		,prd.audit_pass_date as auditPassDate
+		,if(date_add(prd.audit_pass_date,interval #{endingCount} day) >now(),"0","1") as reportedType
+		,ifnull(rprr.report_status,0) as "reportStatus"
+		,ifnull(rprr.sync_status,0) as "syncStatus"
+		,rprr.process_instance_id as "reportedProcessInstanceId"
+		FROM rural_project_records a
+		LEFT JOIN sys_area area ON area.id = a.area_id
+		left join rural_project_records_reported rprr on rprr.id = a.id
+
+        <if test="leaderNameStr !=null and leaderNameStr !=''">
+            LEFT JOIN work_project_user w on a.id = w.project_id
+            LEFT JOIN sys_user su on w.user_id = su.id
+        </if>
+        LEFT JOIN work_project_user w1 on a.id = w1.project_id
+		LEFT JOIN work_contract_info wci on a.contract_id = wci.id
+		LEFT JOIN work_client_info wct on wci.client_id = wct.id
+        LEFT JOIN sys_office o ON o.id = a.office_id
+		left join project_report_data prd on prd.project_id = a.id
+		left join rural_project_report_record prr on prr.report_id = prd.id
+		left join rural_project_report_record_down prrd on prrd.report_id = prd.id
+		<where>
+			a.status = 5
+			<if test="projectId != null and projectId != ''">
+				AND a.project_id like concat('%',#{projectId},'%')
+			</if>
+			<if test="projectName != null and projectName != ''">
+				AND a.project_name like concat(concat('%',#{projectName}),'%')
+			</if>
+			<if test="scaleType != null and scaleType != ''">
+				AND a.scale_type = #{scaleType}
+			</if>
+			<if test="scaleUnit != null and scaleUnit != ''">
+				AND a.scale_unit = #{scaleUnit}
+			</if>
+			<if test="scaleQuantity != null and scaleQuantity != ''">
+				AND a.scale_quantity = #{scaleQuantity}
+			</if>
+			<if test="projectSite != null and projectSite != ''">
+				AND a.project_site LIKE concat('%',#{projectSite},'%')
+			</if>
+			<if test="remarks != null and remarks != ''">
+				AND a.remarks LIKE concat('%',#{remarks},'%')
+			</if>
+			<if test="projectDesc != null and projectDesc != ''">
+				AND a.project_desc LIKE concat('%',#{projectDesc},'%')
+			</if>
+			<if test="area != null and area.id != null and area.id != ''">
+				AND a.area_id = #{area.id}
+			</if>
+			<if test="workContractInfo !=null and workContractInfo.name !=null and workContractInfo.name !=''">
+				AND wci.name like concat(concat('%',#{workContractInfo.name}),'%')
+			</if>
+			<if test="workContractInfo !=null and workContractInfo.contractNum !=null and workContractInfo.contractNum !=''">
+				AND wci.contract_num like concat(concat('%',#{workContractInfo.contractNum}),'%')
+			</if>
+			<if test="workContractInfo !=null and workContractInfo.contractPrice !=null and workContractInfo.contractPrice !=''">
+				AND wci.contract_price = #{workContractInfo.contractPrice}
+			</if>
+			<if test="workContractInfo !=null and workContractInfo.contractType !=null and workContractInfo.contractType !=''">
+				AND wci.contract_type = #{workContractInfo.contractType}
+			</if>
+			<if test="workContractInfo!=null and workContractInfo.client !=null and workContractInfo.client.name !=null and workContractInfo.client.name !=''">
+				AND wct.name like concat(concat('%',#{workContractInfo.client.name}),'%')
+			</if>
+            <if test="leaderNameStr !=null and leaderNameStr !=''">
+                AND su.name like concat(concat('%',#{leaderNameStr}),'%') AND w.is_master = '1' AND w.del_flag='0'
+            </if>
+            <if test="projectStatus !=null">
+                AND a.status = #{projectStatus}
+            </if>
+            <if test="beginDate !=null">
+                AND a.create_date >= #{beginDate}
+            </if>
+            <if test="endDate !=null">
+                AND a.create_date &lt; #{endDate}
+            </if>
+            <if test="reportedState !=null and reportedState !=''">
+				<choose>
+					<when test="reportedState == 0">
+						AND a.reported_state is null
+					</when>
+					<otherwise>
+						AND a.reported_state = #{reportedState}
+					</otherwise>
+				</choose>
+            </if>
+
+
+			<if test="projectReportStatus != null and projectReportStatus != ''">
+				AND prd.status = #{projectReportStatus}
+			</if>
+
+			<choose>
+				<when test="projectReportRecordStatus != null and projectReportRecordStatus != '' and projectReportRecordStatus != 0">
+					AND prr.status = #{projectReportRecordStatus}
+				</when>
+				<otherwise>
+					<choose>
+						<when test="projectReportRecordStatus == 0">
+							AND prr.status is null
+						</when>
+					</choose>
+				</otherwise>
+			</choose>
+
+			<if test="typeList !=null and typeList !=''">
+				and project_type in
+				<foreach collection="typeList" item="id" index="index" open="(" close=")" separator=",">
+					#{id}
+				</foreach>
+			</if>
+
+            AND  a.status != 7 AND a.del_flag = #{DEL_FLAG_NORMAL}
+            <if test="sqlMap.dsf !=null and sqlMap.dsf!=''">
+               AND ((w1.user_id = #{currentUser.id} AND w1.del_flag='0' AND a.company_id = #{currentUser.company.id} )${sqlMap.dsf} )
+            </if>
+		</where>
+		<choose>
+			<when test="page !=null and page.orderBy != null and page.orderBy != ''">
+				ORDER BY ${page.orderBy}
+			</when>
+			<otherwise>
+				ORDER BY a.update_date DESC
+			</otherwise>
+		</choose>
+	</select>
+
+    <select id="queryCount" resultType="int" >
+        SELECT count(DISTINCT a.id)
+        FROM rural_project_records a
+
+        <if test="leaderNameStr !=null and leaderNameStr !=''">
+            LEFT JOIN work_project_user w on a.id = w.project_id
+            LEFT JOIN sys_user su on w.user_id = su.id
+        </if>
+        LEFT JOIN work_project_user w1 on a.id = w1.project_id
+        <if test="workContractInfo !=null">
+            LEFT JOIN work_contract_info wci on a.contract_id = wci.id
+        </if>
+        <if test="workContractInfo!=null and workContractInfo.client !=null and workContractInfo.client.name !=null and workContractInfo.client.name !=''">
+            LEFT JOIN work_client_info wct on wci.client_id = wct.id
+        </if>
+		left join project_report_data prd on prd.project_id = a.id
+		left join rural_project_report_record prr on prr.report_id = prd.id
+		left join rural_project_report_record_down prrd on prrd.report_id = prd.id
+        <where>
+            a.status = 5
+            <if test="projectId != null and projectId != ''">
+                AND a.project_id like concat('%',#{projectId},'%')
+            </if>
+            <if test="projectName != null and projectName != ''">
+                AND a.project_name like concat(concat('%',#{projectName}),'%')
+            </if>
+            <if test="scaleType != null and scaleType != ''">
+                AND a.scale_type = #{scaleType}
+            </if>
+            <if test="scaleUnit != null and scaleUnit != ''">
+                AND a.scale_unit = #{scaleUnit}
+            </if>
+            <if test="scaleQuantity != null and scaleQuantity != ''">
+                AND a.scale_quantity = #{scaleQuantity}
+            </if>
+            <if test="projectSite != null and projectSite != ''">
+                AND a.project_site LIKE concat('%',#{projectSite},'%')
+            </if>
+            <if test="remarks != null and remarks != ''">
+                AND a.remarks LIKE concat('%',#{remarks},'%')
+            </if>
+            <if test="projectDesc != null and projectDesc != ''">
+                AND a.project_desc LIKE concat('%',#{projectDesc},'%')
+            </if>
+            <if test="area != null and area.id != null and area.id != ''">
+                AND a.area_id = #{area.id}
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.name !=null and workContractInfo.name !=''">
+                AND wci.name like concat(concat('%',#{workContractInfo.name}),'%')
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.contractNum !=null and workContractInfo.contractNum !=''">
+                AND wci.contract_num like concat(concat('%',#{workContractInfo.contractNum}),'%')
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.contractPrice !=null and workContractInfo.contractPrice !=''">
+                AND wci.contract_price = #{workContractInfo.contractPrice}
+            </if>
+            <if test="workContractInfo !=null and workContractInfo.contractType !=null and workContractInfo.contractType !=''">
+                AND wci.contract_type = #{workContractInfo.contractType}
+            </if>
+            <if test="workContractInfo!=null and workContractInfo.client !=null and workContractInfo.client.name !=null and workContractInfo.client.name !=''">
+                AND wct.name like concat(concat('%',#{workContractInfo.client.name}),'%')
+            </if>
+            <if test="leaderNameStr !=null and leaderNameStr !=''">
+                AND su.name like concat(concat('%',#{leaderNameStr}),'%') AND w.is_master = '1' AND w.del_flag='0'
+            </if>
+            <if test="projectStatus !=null">
+                AND a.status = #{projectStatus}
+            </if>
+            <if test="beginDate !=null">
+                AND a.create_date >= #{beginDate}
+            </if>
+            <if test="endDate !=null">
+                AND a.create_date &lt; #{endDate}
+            </if>
+
+			<if test="projectReportStatus != null and projectReportStatus != ''">
+				AND prd.status = #{projectReportStatus}
+			</if>
+			<if test="reportedState !=null and reportedState !=''">
+				<choose>
+					<when test="reportedState == 0">
+						AND a.reported_state is null
+					</when>
+					<otherwise>
+						AND a.reported_state = #{reportedState}
+					</otherwise>
+				</choose>
+			</if>
+
+			<choose>
+				<when test="projectReportRecordStatus != null and projectReportRecordStatus != '' and projectReportRecordStatus != 0">
+					AND prr.status = #{projectReportRecordStatus}
+				</when>
+				<otherwise>
+					<choose>
+						<when test="projectReportRecordStatus == 0">
+							AND prr.status is null
+						</when>
+					</choose>
+				</otherwise>
+			</choose>
+
+			<if test="typeList !=null and typeList !=''">
+				and project_type in
+				<foreach collection="typeList" item="id" index="index" open="(" close=")" separator=",">
+					#{id}
+				</foreach>
+			</if>
+
+            AND  a.status != 7 AND a.del_flag = #{DEL_FLAG_NORMAL}
+            <if test="sqlMap.dsf !=null and sqlMap.dsf!=''">
+                AND ((w1.user_id = #{currentUser.id} AND w1.del_flag='0' AND a.company_id = #{currentUser.company.id})${sqlMap.dsf} )
+            </if>
+        </where>
+    </select>
+</mapper>

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

@@ -340,11 +340,6 @@
 						{
 							xml+="<a href=\"#\" onclick=\"openDialogView('文件上传', '${ctx}/ruralProject/ruralCostProjectRecords/formAccessory?id=" + d.id + "','95%', '95%')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 上传文件</a>";
 						}
-						//项目在没有归档完成之前可对文档进行操作
-						if(d.adminAccessory != undefined && d.adminAccessory =="1")
-						{
-							xml+="<a href=\"#\" onclick=\"openDialogView('归档管理员文件上传', '${ctx}/ruralProject/ruralCostProjectRecords/formAccessory?id=" + d.id + "','95%', '95%')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 上传文件</a>";
-						}
                         if(d.canedit3 != undefined && d.canedit3 =="1")
                         {
                             //xml+="<a href=\"javascript:void(0)\" onclick=\"openDialogre('项目变更管理', '${ctx}/ruralProject/ruralCostProjectRecordsAlter/form?alterBeforeRecords.id='+encodeURIComponent('" + d.id + "'),'95%','95%','','送审,暂存,关闭')\" style=\"color: white;background: darkseagreen\" class=\"op-btn op-btn-op-btn-revert\" ><i class=\"fa fa-edit\"></i> 变更</a>";
@@ -399,17 +394,10 @@
 					<shiro:hasPermission name="ruralProject:ruralCostProjectRecords:accessory">
 						,"recordStatus":
 							<c:choose>
-								<c:when test="${projectRecords.projectStatus == 5 && 0 ==projectRecords.projectReportRecordStatus}">"1"</c:when>
+								<c:when test="${0 ==projectRecords.projectReportRecordStatus}">"1"</c:when>
 								<c:otherwise>"0"</c:otherwise>
 							</c:choose>
 					</shiro:hasPermission>
-					<shiro:hasPermission name="ruralProject:ruralCostProjectRecords:adminAccessory">
-					,"adminAccessory":
-							<c:choose>
-							<c:when test="${projectRecords.projectStatus == 5 && '0' != projectRecords.projectReportStatus}">"1"</c:when>
-					<c:otherwise>"0"</c:otherwise>
-					</c:choose>
-					</shiro:hasPermission>
                 }
                 </c:forEach>
                 </c:if>

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

@@ -368,11 +368,6 @@
                         {
 							xml+="<a href=\"#\" onclick=\"openDialogView('文件上传', '${ctx}/ruralProject/ruralProjectRecords/formAccessory?id=" + d.id + "','95%', '95%')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 上传文件</a>";
                         }
-						//项目在没有归档完成之前可对文档进行操作
-						if(d.adminAccessory != undefined && d.adminAccessory =="1")
-						{
-							xml+="<a href=\"#\" onclick=\"openDialogView('归档管理员文件上传', '${ctx}/ruralProject/ruralProjectRecords/formAccessory?id=" + d.id + "','95%', '95%')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 上传文件</a>";
-						}
                         if(d.canedit3 != undefined && d.canedit3 =="1")
                         {
                             //xml+="<a href=\"javascript:void(0)\" onclick=\"openDialogre('项目变更管理', '${ctx}/ruralProject/ruralProjectRecordsAlter/form?alterBeforeRecords.id='+encodeURIComponent('" + d.id + "'),'95%','95%','','送审,暂存,关闭')\" style=\"color: white;background: darkseagreen\" class=\"op-btn op-btn-op-btn-revert\" ><i class=\"fa fa-edit\"></i> 变更</a>";
@@ -427,17 +422,10 @@
 					<shiro:hasPermission name="ruralProject:ruralProjectRecords:accessory">
 					,"recordStatus":
 					<c:choose>
-							<c:when test="${projectRecords.projectStatus == 5 && 0 == projectRecords.projectReportRecordStatus}">"1"</c:when>
+							<c:when test="${0 == projectRecords.projectReportRecordStatus}">"1"</c:when>
 							<c:otherwise>"0"</c:otherwise>
 					</c:choose>
 					</shiro:hasPermission>
-					<shiro:hasPermission name="ruralProject:ruralProjectRecords:adminAccessory">
-					,"adminAccessory":
-							<c:choose>
-							<c:when test="${projectRecords.projectStatus == 5}">"1"</c:when>
-					<c:otherwise>"0"</c:otherwise>
-					</c:choose>
-					</shiro:hasPermission>
                 }
                 </c:forEach>
                 </c:if>

+ 818 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/all/ruralProjectMessageAllLists.jsp

@@ -0,0 +1,818 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>项目登记</title>
+	<meta name="decorator" content="default"/>
+	<script src="${ctxStatic}/layer-v2.3/layim/layui/layui.js"></script>
+    <link href="${ctxStatic}/layer-v2.3/layui/tableTree/treetable.css" rel="stylesheet" />
+    <style>
+        .layui-table th{
+            font-size: 14px;
+            /*表头内容居中显示*/
+            text-align: center;
+        }
+		.pid{
+			font-size:14px;
+			font-weight:400;
+		}
+    </style>
+	<script type="text/javascript">
+        $(document).ready(function() {
+
+            //搜索框收放
+            $('#moresee').click(function(){
+                if($('#moresees').is(':visible'))
+                {
+                    $('#moresees').slideUp(0,resizeListWindow2);
+                    $('#moresee i').removeClass("glyphicon glyphicon-menu-up").addClass("glyphicon glyphicon-menu-down");
+                }else{
+                    $('#moresees').slideDown(0,resizeListWindow2);
+                    $('#moresee i').removeClass("glyphicon glyphicon-menu-down").addClass("glyphicon glyphicon-menu-up");
+                }
+            });
+			laydate.render({
+				elem: '#beginDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+				event: 'focus', //响应事件。如果没有传入event,则按照默认的click
+				type : 'date'
+				, trigger: 'click'
+			});
+			laydate.render({
+				elem: '#endDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+				event: 'focus', //响应事件。如果没有传入event,则按照默认的click
+				type : 'date'
+				, trigger: 'click'
+			});
+        });
+
+        function reset() {
+            $("#searchForm").resetForm();
+        }
+
+		function openDialog(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,
+				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) ){
+						// 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
+					}else {
+						return false;
+					}
+				},
+				btn3: function (index) {
+				}
+			});
+		}
+
+		function openDialogre(title,url,width,height,target,buttons) {
+
+			if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {//如果是移动端,就使用自适应大小弹窗
+				width = 'auto';
+				height = 'auto';
+			} else {//如果是PC端,根据用户设置的width和height显示。
+
+			}
+			var split = buttons.split(",");
+			top.layer.open({
+				type: 2,
+				area: [width, height],
+				title: title,
+				maxmin: true, //开启最大化最小化按钮
+				skin: 'three-btns',
+				content: url,
+				btn: split,
+				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){
+					if(split.length==2){return}
+					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
+					}else {
+						return false;
+					}
+				},
+				btn3: function (index) {
+				}
+			});
+		}
+
+
+		function openDialogreSub(title,url,width,height,target,formId,tableId) {
+			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:"two-btns",
+				maxmin: false, //开启最大化最小化按钮
+				content: url ,
+				btn: ['确定','关闭'],
+				yes: 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中展示
+					inputForm.attr("action","${ctx}/subProject/subProject/save");//表单提交成功后,从服务器返回的url在当前tab中展示
+					var $document = iframeWin.contentWindow.document;
+
+					formSubmit2($document,formId,index,tableId);
+
+				},
+				cancel: function(index){
+				}
+			});
+		}
+
+		function formSubmit2($document,inputForm,index,tableId){
+
+			var validateForm = $($document.getElementById(inputForm)).validate({
+				submitHandler: function(form){
+					loading('正在提交,请稍等...');
+					form.submit();
+				},
+				errorContainer: "#messageBox",
+				errorPlacement: function(error, element) {
+					$($document.getElementById("#messageBox")).text("输入有误,请先更正。");
+					if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
+						error.appendTo(element.parent().parent());
+					} else {
+						error.insertAfter(element);
+					}
+				}
+			});
+			if(validateForm.form()){
+				$($document.getElementById(inputForm)).ajaxSubmit({
+					success:function(data) {
+						var d = data;
+						//输出提示信息
+						if(d.str.length>0){
+							parent.layer.msg(d.str,{icon:1});
+						}
+						window.location.reload();
+						//关闭当前页
+						top.layer.close(index)
+					}
+				});
+			}
+		}
+
+		//打开对话框(查看)
+		function openDialogReportView(title,url,id,width,height){
+
+
+			if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+				width='auto';
+				height='auto';
+			}else{//如果是PC端,根据用户设置的width和height显示。
+
+			}
+			$.ajax({
+				async: false,
+				url: "${ctx}/ruralProject/ruralProjectMessage/getReportExist?id="+id,
+				dataType: "json",
+				success: function (data) {
+					if(data.success){
+						top.layer.open({
+							type: 2,
+							skin: 'one-btn',
+							area: [width, height],
+							title: title,
+							maxmin: true, //开启最大化最小化按钮
+							content: url ,
+							btn: ['关闭'],
+							cancel: function(index){
+							}
+						});
+					}else{
+						top.layer.msg("该项目报告信息已删除!", {icon: 0});
+						window.location.reload();
+					}
+				}
+			});
+
+		}
+
+
+
+		function openDialogreReport(title,url,id,width,height,target,buttons) {
+
+			if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {//如果是移动端,就使用自适应大小弹窗
+				width = 'auto';
+				height = 'auto';
+			} else {//如果是PC端,根据用户设置的width和height显示。
+
+			}
+
+			$.ajax({
+				async: false,
+				url: "${ctx}/ruralProject/ruralProjectMessage/getReportExist?id="+id,
+				dataType: "json",
+				success: function (data) {
+					if(data.success){
+						var split = buttons.split(",");
+						top.layer.open({
+							type: 2,
+							area: [width, height],
+							title: title,
+							maxmin: true, //开启最大化最小化按钮
+							skin: 'three-btns',
+							content: url,
+							btn: split,
+							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){
+								if(split.length==2){return}
+								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
+								}else {
+									return false;
+								}
+							},
+							btn3: function (index) {
+							}
+						});
+					}else{
+						top.layer.msg("该项目报告信息已删除!", {icon: 0});
+						window.location.reload();
+					}
+				}
+			});
+		}
+	</script>
+	<style>
+		body{
+			background-color:transparent;
+			filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#26FFFFFF, endColorstr=#26FFFFFF);
+			color:#ffffff;
+			background-color:rgba(255,255,255,0);
+			height:100%;
+		}
+	</style>
+</head>
+<body>
+<div class="wrapper wrapper-content">
+	<sys:message content="${message}"/>
+	<div class="layui-row">
+		<div class="full-width fl">
+			<div class="layui-row contentShadow shadowLR" id="queryDiv">
+				<form:form id="searchForm" modelAttribute="ruralProjectRecords" action="${ctx}/ruralProject/ruralProjectMessageAll/" method="post" class="form-inline">
+					<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+					<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+					<table:sortColumn id="orderBy" name="orderBy" value="${page.orderBy}" callback="sortOrRefresh();"/><!-- 支持排序 -->
+					<div class="commonQuery lw6">
+						<div class="layui-item query athird">
+							<label class="layui-form-label">项目编号:</label>
+							<div class="layui-input-block with-icon">
+								<form:input path="projectId" htmlEscape="false" maxlength="64"  class=" form-control  layui-input"/>
+							</div>
+						</div>
+						<div class="layui-item query athird">
+							<label class="layui-form-label">项目名称:</label>
+							<div class="layui-input-block">
+								<form:input path="projectName" htmlEscape="false" maxlength="64"  class=" form-control  layui-input"/>
+							</div>
+						</div>
+						<div class="layui-item athird">
+							<div class="input-group">
+								<a href="#" id="moresee"><i class="glyphicon glyphicon-menu-down"></i></a>
+								<button id="searchReset" class="fixed-btn searchReset fr" onclick="resetSearch()">重置</button>
+								<button id="searchQuery" class="fixed-btn searchQuery fr" onclick="search()">查询</button>
+							</div>
+						</div>
+						<div style="    clear:both;"></div>
+					</div>
+					<div id="moresees" style="clear:both;display:none;" class="lw6">
+						<div class="layui-item query athird ">
+							<label class="layui-form-label">项目负责人:</label>
+							<div class="layui-input-block">
+								<form:input path="leaderNameStr" htmlEscape="false" maxlength="255"  class=" form-control layui-input"/>
+							</div>
+						</div>
+						<div class="layui-item query athird ">
+							<label class="layui-form-label">合同名称:</label>
+							<div class="layui-input-block">
+								<input id="workContractInfoName" name="workContractInfo.name" value="${workContractInfoName}" htmlEscape="false" maxlength="255"  class=" form-control layui-input"/>
+							</div>
+						</div>
+						<div class="layui-item query athird ">
+							<label class="layui-form-label">委托方:</label>
+							<div class="layui-input-block">
+								<input id="workContractInfoClientName" name="workContractInfo.client.name" value="${workContractInfoClientName}" htmlEscape="false" maxlength="255"  class=" form-control layui-input"/>
+							</div>
+						</div>
+						<div class="layui-item query athird ">
+							<label class="layui-form-label">创建时间:</label>
+							<div class="layui-input-block">
+								<input id="beginDate" name="beginDate" placeholder="开始时间" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group"
+									   value="<fmt:formatDate value="${beginDate}" pattern="yyyy-MM-dd"/>"/>
+								</input>
+								<span class="group-sep">-</span>
+								<input id="endDate" name="endDate" placeholder="结束时间" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group"
+									   value="<fmt:formatDate value="${endDate}" pattern="yyyy-MM-dd"/>"/>
+								</input>
+							</div>
+						</div>
+						<div class="layui-item query athird ">
+							<label class="layui-form-label">报告状态:</label>
+							<div class="layui-input-block">
+								<form:select path="projectReportStatus" class=" form-control  simple-select">
+									<form:option value="" label=""/>
+									<form:options items="${fns:getDictList('rural_report_audit_state')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+								</form:select>
+							</div>
+						</div>
+						<div class="layui-item query athird ">
+							<label class="layui-form-label">归档状态:</label>
+							<div class="layui-input-block">
+								<form:select path="projectReportRecordStatus" class=" form-control  simple-select">
+									<form:option value="" label=""/>
+									<form:options items="${fns:getDictList('archive_state')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+								</form:select>
+							</div>
+						</div>
+						<div class="layui-item query athird ">
+							<label class="layui-form-label">上报状态:</label>
+							<div class="layui-input-block">
+								<form:select path="reportedState" class=" form-control  simple-select">
+									<form:option value="" label=""/>
+									<form:options items="${fns:getDictList('reported_state')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+								</form:select>
+							</div>
+						</div>
+						<div style="clear:both;"></div>
+					</div>
+				</form:form>
+			</div>
+		</div>
+		<div class="full-width fl">
+			<div class="layui-form contentDetails contentShadow shadowLBR">
+				<div class="nav-btns">
+					<button class="nav-btn layui-btn" id="btn-expand">全部展开</button>
+					<button class="nav-btn layui-btn-warm" id="btn-fold">全部折叠</button>
+					<button class="nav-btn nav-btn-refresh" data-toggle="tooltip" data-placement="left" onclick="sortOrRefresh()" title="刷新"><i class="glyphicon glyphicon-repeat"></i>&nbsp;刷新</button>
+
+                    <div style="clear: both;"></div>
+				</div>
+                <table id="permissionTable" class="layui-table" lay-filter="permissionTable"></table>
+				<!-- 分页代码 -->
+				<table:page page="${page}"></table:page>
+				<div style="clear: both;"></div>
+			</div>
+		</div>
+	</div>
+	<div id="changewidth"></div>
+</div>
+
+<script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
+<script>
+
+    resizeListTable();
+    $("a").on("click",addLinkVisied);
+</script>
+<script>
+    resizeListWindow2();
+    $(window).resize(function(){
+        resizeListWindow2();
+    });
+</script>
+<script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
+<script src="${ctxStatic}/layer-v2.3/layui/tableTree/treetable.js" charset="utf-8"></script>
+<script>
+    /*使用模块加载的方式 加载文件*/
+    layui.config({
+        base: '${ctx}/resoueces/css/layui/module/'
+    }).extend({
+        treetable: 'treetable-lay/treetable'
+    }).use(['layer', 'table', 'treetable'], function () {
+        var $ = layui.jquery;
+        var table = layui.table;
+        var layer = layui.layer;
+        var treetable = layui.treetable;
+
+        // 渲染表格
+        var renderTable = function () {
+        	var projectId = $("#projectId").val();
+        	var projectName = $("#projectName").val();
+        	var leaderNameStr = $("#leaderNameStr").val();
+        	var workContractInfoName = $("#workContractInfoName").val();
+        	var workContractInfoClientName = $("#workContractInfoClientName").val();
+        	var beginDate = $("#beginDate").val();
+        	var endDate = $("#endDate").val();
+        	var projectReportStatus = $("#projectReportStatus").val();
+        	var projectReportRecordStatus = $("#projectReportRecordStatus").val();
+        	var reportedState = $("#reportedState").val();
+            layer.load(2);
+            treetable.render({
+                treeColIndex: 1,//树形图标显示在第几列
+                treeSpid: 0,//最上级的父级id
+                treeIdName: 'permissionId',//id字段的名称
+                treePidName: 'pid',//pid字段的名称
+                treeDefaultClose: true,//是否默认折叠
+                treeLinkage: true,//父级展开时是否自动展开所有子级
+                elem: '#permissionTable',
+                url: '${ctx}/ruralProject/ruralProjectMessageAll/getProjectList?projectId='+projectId+'&pageNo=${page.pageNo}&projectName='+projectName+'&leaderNameStr='+leaderNameStr+'&workContractInfo.name='+workContractInfoName+'&workContractInfo.client.name='+workContractInfoClientName+'&beginDate='+beginDate+'&endDate='+endDate+'&projectReportStatus='+projectReportStatus+'&projectReportRecordStatus='+projectReportRecordStatus+'&reportedState='+reportedState+'&projectType=1',
+                page: false,
+                cols: [[
+                    {type: 'numbers', align:'center', title: '序号' ,width:80},
+                    {field: 'projectId', title: '项目编号/项目定义号',width:160},
+                    {field: 'projectName', align:'center', title: '项目名称',width:200,templet:function(d){
+                    	if(0 == d.pid){
+							return "<a class=\"attention-info pid\" title=\"" + d.projectName + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看项目', '${ctx}/ruralProject/ruralProjectRecords/view?id=" + d.id +"','95%', '95%')\">" + d.projectName + "</a>";
+						}else{
+							return "<a class=\"attention-info\" title=\"" + d.projectName + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看项目信息', '${ctx}/subProject/subProject/view?id=" + d.id +"','95%', '95%')\">" + d.projectName + "</a>";
+						}
+						}},
+					{field: 'clientName', align:'center', title: '报告号',width:170,templet: function(d){
+							if(0 == d.pid){
+								return "<a class=\"attention-info pid\" title=\"" + d.projectReportNumber + "\" href=\"javascript:void(0);\" onclick=\"openDialogReportView('查看报告信息', '${ctx}/ruralProject/ruralProjectMessage/modify?projectId=" + d.id + "&view=view&reportedId="+d.id+"','"+ d.id +"','95%', '95%')\">" + d.projectReportNumber + "</a>";
+							}else{
+								return "<font></font>";
+							}
+						}},
+                    {field: 'projectLeader', align:'center', title: '合同名称',width:180,templet: function(d){
+							if(0 == d.pid){
+								return "<a class=\"attention-info pid\" title=\""+d.contractName+"\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看合同信息', '${ctx}/workcontractinfo/workContractInfo/lookForm?id=" + d.contractId + "','95%', '95%')\">" + d.contractName + "</a>";
+							}else{
+								return "<font></font>";
+							}
+						}},
+                    {field: 'projectLeader', align:'center', title: '负责人',width:80,templet: function(d){
+							if(0 == d.pid){
+								return "<font style = 'font-size:14px;'>"+d.projectLeaders+"</font>";
+							}else{
+								return "<font></font>";
+							}
+						}},
+                    {field: 'projectLeader', align:'center', title: '委托方',width:160,templet: function(d){
+							if(0 == d.pid){
+								return "<font style = 'font-size:14px;font-weight:500;'>"+d.clientName+"</font>";
+							}else{
+								return "<font></font>";
+							}
+						}},
+					{field: 'projectLeader', align:'center', title: '创建人',width:160,templet: function(d){
+							if(0 == d.pid){
+								return "<font style = 'font-size:14px;font-weight:500;'>"+d.projectRegistrant+"</font>";
+							}else{
+								return "<font></font>";
+							}
+						}},
+                    {field: 'createDate', align:'center', title: '创建日期/打包时间',width:100,templet: function(d){
+							var date=d.createDate;
+
+							if(0 == d.pid){
+								return "<font style = 'font-size:14px;font-weight:500;'>"+layui.util.toDateString(date,'yyyy-MM-dd')+"</font>";
+							}else{
+								return "<font>"+layui.util.toDateString(date,'yyyy-MM-dd')+"</font>";
+							}
+						}},
+					{align:'center', title: '报告状态',  width:70,templet:function(d){
+							var st = getAuditState(""+d.projectReportStatus);
+							if(d.pid ==0){
+								if(st.action)
+									var xml = "<span onclick=\"openDialogReportView('流程追踪', '${ctx}/ruralProject/ruralProjectMessage/getProcessOne?id=" + d.id + "&projectReportData.id=" + d.bid + "&type=2','"+d.id+"','95%','95%')\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+								else
+									var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+								return xml;
+							}else{
+								return '';
+							}
+						}},
+					{align:'center', title: '线上归档状态',  width:70,templet:function(d){
+							var st = getRuralProjectArchiveState(""+d.projectReportRecordStatus);
+							if(d.pid ==0){
+								if(st.action)
+									var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/ruralProject/ruralProjectMessage/getReportRecordProcessOne?processInstanceId=" + d.prrProcessInstanceId + "','95%','95%')\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+								else
+									var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+								return xml;
+							}else{
+								return '';
+							}
+						}},
+					{align:'center', title: '线下归档状态',  width:70,templet:function(d){
+							var st = getRuralProjectArchiveState(""+d.filingProjectStatus);
+							if(d.pid ==0){
+								if(st.action)
+									var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/ruralProject/ruralProjectMessage/getProcess?filingProcessinstanceId=" + d.filingProcessinstanceId+"&id="+d.id + "','95%','95%')\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+								else
+									var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+								return xml;
+							}else{
+								return '';
+							}
+						}},
+					{align:'center', title: '上报状态',  width:90,templet:function(d){
+							var st = getReportedState(""+d.reportedState);
+							if(d.pid ==0){
+								if(st.action)
+									var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/ruralProject/ruralProjectMessage/getReportedProcess?processInstanceId=" + d.reportedProcessInstanceId + "','95%','95%')\" class=\"new-status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+								else
+									var xml = "<span style=\"cursor:default;\" class=\"new-status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+								return xml;
+							}else{
+								return '';
+							}
+						}},
+                    {templet: complain, align:'center', title: '操作' ,width:200}
+                ]],
+                done: function () {
+                    layer.closeAll('loading');
+                }
+            });
+        };
+
+        renderTable();
+
+        //触发三个button按钮
+        $('#btn-expand').click(function () {
+            treetable.expandAll('#permissionTable');
+        });
+
+        $('#btn-fold').click(function () {
+            treetable.foldAll('#permissionTable');
+        });
+
+        $('#btn-refresh').click(function () {
+            renderTable();
+        });
+
+
+        function complain(d){//操作中显示的内容
+        	var xml = '';
+			if(d.pid=="0") {
+				var xml = '';
+				if(d.flag == 1){
+					<shiro:hasPermission name="ruralProject:ruralProjectMessageAll:accessory">
+					if(0 == d.projectReportRecordStatus){
+						xml+="<a href=\"#\" onclick=\"openDialogView('文件上传', '${ctx}/ruralProject/ruralProjectRecords/formAccessory?id=" + d.id + "','95%', '95%')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 上传文件</a>";
+					}
+					</shiro:hasPermission>
+					<shiro:hasPermission name="ruralProject:ruralProjectMessageAll:adminAccessory">
+						xml+="<a href=\"#\" onclick=\"openDialogView('归档管理员文件上传', '${ctx}/ruralProject/ruralProjectRecords/formAccessory?id=" + d.id + "','95%', '95%')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 上传文件</a>";
+					</shiro:hasPermission>
+				}
+				return[xml].join('');
+			}else{
+				var xml = '';
+				if(d.flag ==1){
+
+				}
+				return[xml].join('');
+			}
+        }
+        //监听工具条
+        table.on('tool(permissionTable)', function (obj) {
+            var data = obj.data;
+            var layEvent = obj.event;
+            if(data.permissionName!=null){
+                if (layEvent === 'del') {
+                    layer.msg('删除' + data.id);
+                } else if (layEvent === 'edit') {
+                    layer.msg('修改' + data.id);
+                }
+            }
+        });
+    });
+
+</script>
+<script>
+	function openDialogres(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 openDialogreAudit(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){
+			}
+		});
+	}
+	// 确认对话框
+	function confirmxRefresh(mess, href){
+		top.layer.confirm(mess, {icon: 3, title:'系统提示'}, function(index){
+			//do something
+			if (typeof href == 'function') {
+				href();
+			}else{
+				resetTip(); //loading();
+				$.ajax({
+					url:href,
+					data:$('#loginForm').serialize(),
+					type:"post",
+					success:function(data){
+						if(data.status){
+							parent.layer.msg(data.msg,{icon:1});
+						}else {
+							parent.layer.msg(data.msg,{icon:2});
+						}
+						//parent.refreshTrees();
+						location = '${ctx}/project/projectRecords/list';
+					}
+				});
+			}
+			top.layer.close(index);
+		});
+		return false;
+	}
+
+	// 确认对话框
+	function confirmxHintContent(mess, href){
+		$.ajax({
+			url:href,
+			data:$('#loginForm').serialize(),
+			type:"post",
+			success:function(data){
+				parent.layer.open({
+					title: '提示内容'
+					,shade: 0
+					,maxmin: true
+					,content: data.msg
+				});
+			}
+		});
+	}
+</script>
+</body>
+</html>

+ 9 - 5
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/ruralProjectMessageLists.jsp

@@ -603,11 +603,15 @@
 						}},
 					{align:'center', title: '线下归档状态',  width:70,templet:function(d){
 							var st = getRuralProjectArchiveState(""+d.filingProjectStatus);
-							if(st.action)
-								var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/ruralProject/ruralProjectMessage/getProcess?filingProcessinstanceId=" + d.filingProcessinstanceId+"&id="+d.id + "','95%','95%')\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
-							else
-								var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
-							return xml;
+							if(d.pid ==0){
+								if(st.action)
+									var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/ruralProject/ruralProjectMessage/getProcess?filingProcessinstanceId=" + d.filingProcessinstanceId+"&id="+d.id + "','95%','95%')\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+								else
+									var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+								return xml;
+							}else{
+								return '';
+							}
 						}},
 					{align:'center', title: '上报状态',  width:90,templet:function(d){
 							var st = getReportedState(""+d.reportedState);