Browse Source

Merge remote-tracking branch 'origin/master'

user5 3 years ago
parent
commit
9ca18524d4
44 changed files with 4951 additions and 694 deletions
  1. 10 0
      src/main/java/com/jeeplus/modules/projectcontentinfo/entity/ProjectReportRecord.java
  2. 13 1
      src/main/java/com/jeeplus/modules/projectcontentinfo/service/ProjectReportRecordService.java
  3. 43 4
      src/main/java/com/jeeplus/modules/projectcontentinfo/web/ProjectReportRecordController.java
  4. 10 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralProjectRecords.java
  5. 2 2
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageNewService.java
  6. 0 49
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageNewTwoService.java
  7. 206 4
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralCostProjectMessageNewTwoController.java
  8. 24 7
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageNewController.java
  9. 24 12
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageNewTwoController.java
  10. 76 6
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectViewController.java
  11. 17 0
      src/main/java/com/jeeplus/modules/workOrder/dao/WorkOrderDao.java
  12. 46 0
      src/main/java/com/jeeplus/modules/workOrder/entity/WorkOrderQuerstion.java
  13. 5 0
      src/main/java/com/jeeplus/modules/workOrder/service/WorkOrderService.java
  14. 42 3
      src/main/java/com/jeeplus/modules/workOrder/web/WorkOrderController.java
  15. 89 100
      src/main/java/com/jeeplus/modules/workfullmanage/web/WorkFullManageController.java
  16. 120 33
      src/main/java/com/jeeplus/modules/workprojectnotify/web/WorkProjectNotifyController.java
  17. 9 0
      src/main/java/com/jeeplus/modules/workreview/entity/WorkReviewAudit.java
  18. 9 0
      src/main/java/com/jeeplus/modules/workreview/entity/WorkReviewStandard.java
  19. 216 0
      src/main/resources/freemarker/batchFilingList.ftl
  20. 0 138
      src/main/resources/freemarker/issueProcess.ftl
  21. 28 1
      src/main/resources/mappings/modules/workOrder/WorkOrderDao.xml
  22. 8 3
      src/main/resources/mappings/modules/workreview/WorkReviewAuditDao.xml
  23. 3 1
      src/main/webapp/webpage/modules/projectFilingBatch/projectFilingBatchView.jsp
  24. 20 20
      src/main/webapp/webpage/modules/projectPaperFiling/projectPaperFilingForm.jsp
  25. 20 20
      src/main/webapp/webpage/modules/projectPaperFiling/projectPaperFilingModify.jsp
  26. 5 2
      src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectMessageList.jsp
  27. 26 26
      src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectRecordsAdminModify.jsp
  28. 29 33
      src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectRecordsForm.jsp
  29. 89 2
      src/main/webapp/webpage/modules/ruralprojectrecords/record/cost/recordTwo/projectReportRecordAudit.jsp
  30. 1551 0
      src/main/webapp/webpage/modules/ruralprojectrecords/record/cost/recordTwo/projectReportRecordUrgentModify.jsp
  31. 1291 0
      src/main/webapp/webpage/modules/ruralprojectrecords/record/cost/recordTwo/projectReportRecordUrgentModifyApply.jsp
  32. 25 25
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralProjectRecordsForm.jsp
  33. 17 20
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/new/projectRecordsMessageAudit.jsp
  34. 29 31
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/new/projectRecordsMessageAuditTwo.jsp
  35. 31 32
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/projectRecordsMessageTwoView.jsp
  36. 32 32
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/projectRecordsMessageView.jsp
  37. 5 2
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/ruralProjectMessageList.jsp
  38. 38 0
      src/main/webapp/webpage/modules/ruralprojectrecords/view/projectReportRecordView.jsp
  39. 31 31
      src/main/webapp/webpage/modules/ruralprojectrecords/view/reportIssueView.jsp
  40. 31 31
      src/main/webapp/webpage/modules/ruralprojectrecords/view/reportView.jsp
  41. 20 20
      src/main/webapp/webpage/modules/ruralprojectrecords/view/ruralProjectRecordsView.jsp
  42. 486 0
      src/main/webapp/webpage/modules/workOrder/quesitonTypeList.jsp
  43. 147 0
      src/main/webapp/webpage/modules/workOrder/questionForm.jsp
  44. 28 3
      src/main/webapp/webpage/modules/workOrder/workOrderList.jsp

+ 10 - 0
src/main/java/com/jeeplus/modules/projectcontentinfo/entity/ProjectReportRecord.java

@@ -11,6 +11,7 @@ import com.jeeplus.modules.projectAccessory.entity.ProjectTemplateInfo;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralReportConsultant;
 import com.jeeplus.modules.sys.entity.User;
 import com.jeeplus.modules.sys.entity.Workattachment;
+import com.jeeplus.modules.workreview.entity.WorkReviewAudit;
 import org.activiti.engine.history.HistoricProcessInstance;
 import org.activiti.engine.repository.ProcessDefinition;
 import org.activiti.engine.runtime.ProcessInstance;
@@ -64,6 +65,7 @@ public class ProjectReportRecord extends ActEntity<ProjectReportRecord> {
 	private List<ProjectTemplateInfo> fileOtherList;   //其他文件
 	private ProjectReportData projectReportData;		// 报告信息(仅作为展示用)
 	private List<String> chargeCriterionList;	//合同收费标准
+	private List<WorkReviewAudit> projectReviewList;	//复核抽查标准
 
 	private List<RuralReportConsultant> reportedConsultantList= Lists.newArrayList();;//咨询员列表
 
@@ -452,4 +454,12 @@ public class ProjectReportRecord extends ActEntity<ProjectReportRecord> {
 	public void setReportedConsultantList(List<RuralReportConsultant> reportedConsultantList) {
 		this.reportedConsultantList = reportedConsultantList;
 	}
+
+	public List<WorkReviewAudit> getProjectReviewList() {
+		return projectReviewList;
+	}
+
+	public void setProjectReviewList(List<WorkReviewAudit> projectReviewList) {
+		this.projectReviewList = projectReviewList;
+	}
 }

+ 13 - 1
src/main/java/com/jeeplus/modules/projectcontentinfo/service/ProjectReportRecordService.java

@@ -1354,7 +1354,10 @@ public class ProjectReportRecordService extends CrudService<ProjectReportRecordD
 		//获取项目id
 		String projectId=reportRecord.getReport().getProject().getId();
 		//删除上报咨询员信息
-		projectcontentinfoDao.deleteConsultant(projectId);
+		if (reportRecord.getReportedConsultantList().size()>1){
+			projectcontentinfoDao.deleteConsultant(projectId);
+		}
+
 		//保存咨询员信息
 		//判定是否是第一个得参数
 		Integer consultantFlag = 0;
@@ -1647,6 +1650,15 @@ public class ProjectReportRecordService extends CrudService<ProjectReportRecordD
 			saveWorkattachments(reportRecord);
 			flag = "yes";
 		}
+		if (flag.equals("yes")){
+			//只有B级紧急项目可以修改质量复核信息
+			RuralProjectRecords ruralProjectRecords=ruralProjectRecordsService.get(reportRecord.getReport().getProject().getId());
+			if ("1".equals(ruralProjectRecords.getSubmitMoney()) && "1".equals(ruralProjectRecords.getEmergencyProject()) ){
+				uploadBReport(reportRecord);
+			}
+		}
+
+
 		projectReportRecord.setReferenceRemarks(reportRecord.getReferenceRemarks());
 		projectReportRecord.setFileNum(reportRecord.getFileNum());
 		projectReportRecord.setFileNumTow(reportRecord.getFileNumTow());

+ 43 - 4
src/main/java/com/jeeplus/modules/projectcontentinfo/web/ProjectReportRecordController.java

@@ -3,10 +3,7 @@
  */
 package com.jeeplus.modules.projectcontentinfo.web;
 
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -26,6 +23,9 @@ import com.jeeplus.modules.sys.dao.UserDao;
 import com.jeeplus.modules.sys.entity.Office;
 import com.jeeplus.modules.sys.entity.User;
 import com.jeeplus.modules.sys.utils.UserUtils;
+import com.jeeplus.modules.workreview.entity.WorkReviewAudit;
+import com.jeeplus.modules.workreview.entity.WorkReviewStandard;
+import com.jeeplus.modules.workreview.service.WorkReviewStandardService;
 import org.activiti.engine.runtime.ProcessInstance;
 import org.activiti.engine.task.Task;
 import org.apache.shiro.authz.annotation.Logical;
@@ -70,6 +70,8 @@ public class ProjectReportRecordController extends BaseController {
 	@Autowired
 	private ProjectMaterialDefectRecordService materialDefectRecordService;
 	@Autowired
+	private WorkReviewStandardService workReviewStandardService;
+	@Autowired
 	private UserDao userDao;
 
 	@ModelAttribute
@@ -581,6 +583,40 @@ public class ProjectReportRecordController extends BaseController {
 			Office office = UserUtils.getSelectOffice();
 			//查询项目新增报告信息
 			ProjectReportData reportData = projectReportDataService.get(projectReportRecord.getReport().getId());
+			//重新生成质量复核标准送审数据
+			String infoId="";
+			List<WorkReviewAudit> workReviewAudits = new ArrayList<>();
+			RuralProjectRecords records = projectRecordsService.getQueryProjectUsers(reportData.getProject().getId());
+			if (projectReportRecord.getProjectReviewList()!=null && projectReportRecord.getProjectReviewList().size()!=0){
+				for (WorkReviewAudit workReviewAudit:projectReportRecord.getProjectReviewList()){
+					if (StringUtils.isNotBlank(workReviewAudit.getDeductOption())){
+						infoId=reportData.getId();
+						WorkReviewStandard reviewStandard = workReviewStandardService.get(workReviewAudit.getStandardId());
+						if (reviewStandard==null){
+							workReviewAudit = workReviewStandardService.getAudit(workReviewAudit.getId());
+							workReviewAudits.add(workReviewAudit);
+						}else{
+							workReviewAudit.setReportId(infoId);
+							workReviewAudit.setMaxDeduct(reviewStandard.getMaxDeduct());
+							workReviewAudit.setOrderNum(reviewStandard.getOrderNum());
+							workReviewAudit.setStandardDetail(reviewStandard.getStandardDetail());
+							workReviewAudit.setSort(reviewStandard.getSort());
+							workReviewAudit.setId(null);
+							workReviewAudit.setType("4");
+							workReviewAudit.setParent(new WorkReviewAudit("0"));
+							workReviewAudits.add(workReviewAudit);
+						}
+					}
+				}
+			}
+			workReviewStandardService.deleteAuditType(infoId);
+			if (workReviewAudits!=null && workReviewAudits.size()!=0){
+				for (WorkReviewAudit workReviewAudit:workReviewAudits){
+					workReviewStandardService.saveAudit(workReviewAudit);
+				}
+			}
+
+
 			// 对不同环节的业务逻辑进行操作
 			List<User> users = null;
 			User auditUser = null;
@@ -637,6 +673,9 @@ public class ProjectReportRecordController extends BaseController {
 				if (StringUtils.isNotBlank(projectReportRecord.getHome()) && projectReportRecord.getHome().equals("recordAll")){
 					return "redirect:" + Global.getAdminPath() + "/ruralProject/ruralProjectMessageAll/?repage";
 				}
+				if (StringUtils.isNotBlank(projectReportRecord.getView()) && projectReportRecord.getView().equals("Reurgent")){
+					return "redirect:" + Global.getAdminPath() + "/ruralProject/ruralProjectMessage/?repage";
+				}
 				if("1".equals(ruralProjectRecords.getProjectType())){
 					return "redirect:" + Global.getAdminPath() + "/ruralProject/ruralProjectMessage/?repage";
 				}else if("2".equals(ruralProjectRecords.getProjectType())){

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

@@ -6,6 +6,7 @@ package com.jeeplus.modules.ruralprojectrecords.entity;
 import com.google.common.collect.Lists;
 import com.jeeplus.common.persistence.ActEntity;
 import com.jeeplus.common.utils.excel.annotation.ExcelField;
+import com.jeeplus.modules.projectFilingBatch.entity.ProjectFilingBatchProInfo;
 import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
 import com.jeeplus.modules.projectrecord.entity.ProjectPlanInfo;
 import com.jeeplus.modules.sys.entity.Area;
@@ -234,6 +235,7 @@ public class RuralProjectRecords extends ActEntity<RuralProjectRecords> {
 	private List<WorkClientAttachment> workAttachments = Lists.newArrayList();
 
 	private List<ProjectReportData> projectReportData = Lists.newArrayList();
+	private List<ProjectFilingBatchProInfo> proInfos=Lists.newArrayList();
 
 	public String getPrrId() {
 		return prrId;
@@ -1656,4 +1658,12 @@ public class RuralProjectRecords extends ActEntity<RuralProjectRecords> {
 	public void setNewRecordTwoAuditNotifyFlag(Integer newRecordTwoAuditNotifyFlag) {
 		this.newRecordTwoAuditNotifyFlag = newRecordTwoAuditNotifyFlag;
 	}
+
+	public List<ProjectFilingBatchProInfo> getProInfos() {
+		return proInfos;
+	}
+
+	public void setProInfos(List<ProjectFilingBatchProInfo> proInfos) {
+		this.proInfos = proInfos;
+	}
 }

+ 2 - 2
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageNewService.java

@@ -642,7 +642,7 @@ public class RuralProjectMessageNewService extends CrudService<RuralProjectMessa
                 if (type == 2) {
                     //判定如果是B类紧急项目 则不进行流程,直接通过
                     if("1".equals(ruralProjectRecords.getSubmitMoney()) && "1".equals(ruralProjectRecords.getEmergencyProject())){
-                        saveReviewAudit(projectReportData,projectRecord,infoId);
+//                        saveReviewAudit(projectReportData,projectRecord,infoId);
                         this.exigenceProjectSave(projectReportData);
                     }else{
                         //启动流程
@@ -652,7 +652,7 @@ public class RuralProjectMessageNewService extends CrudService<RuralProjectMessa
                         }else{
                             str = this.saveRuralProject(projectReportData, variables, processInstanceId, projectcontentinfo.getProject().getProjectLeaders());
                         }
-                        saveReviewAudit(projectReportData,projectRecord,infoId);
+//                        saveReviewAudit(projectReportData,projectRecord,infoId);
                         //保存tree数据
 //                        saveReportTree(projectcontentinfo,status,infoId,reviewId,1);
 

+ 0 - 49
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageNewTwoService.java

@@ -232,55 +232,6 @@ public class RuralProjectMessageNewTwoService extends CrudService<RuralProjectMe
                 if (type == 2) {
                     //启动流程
                     String str = this.saveRuralProject(projectReportData, variables, processInstanceId, projectcontentinfo.getProject().getProjectLeaders());
-
-                    //生成质量复核标准送审数据
-                    RuralProjectRecords records = ruralProjectRecordsService.getQueryProjectUsers(projectRecord.getId());
-                    String reviewId="";
-                    if ("2".equals(records.getSubmitMoney())){
-                        reviewId="1";
-                    }else{
-                        if (com.jeeplus.common.utils.StringUtils.isBlank(records.getEmergencyProject()) || "0".equals(records.getEmergencyProject())){
-                            reviewId="2";
-                        }
-                    }
-                    Boolean status = false;
-                    if (com.jeeplus.common.utils.StringUtils.isBlank(projectReportData.getId())){
-                        status = true;
-                    }
-                    List<WorkReviewAudit> workReviewAudits = new ArrayList<>();
-                    if (projectReportData.getProjectReviewList()!=null && projectReportData.getProjectReviewList().size()!=0){
-                        infoId=projectReportData.getId();
-                        for (WorkReviewAudit workReviewAudit:projectReportData.getProjectReviewList()){
-                            String remarks = workReviewAudit.getRemarks();
-                            WorkReviewStandard reviewStandard = workReviewStandardService.get(workReviewAudit.getId());
-                            if (reviewStandard==null){
-                                workReviewAudit = workReviewStandardService.getAudit(workReviewAudit.getId());
-                                workReviewAudit.setRemarks(remarks);
-                                workReviewAudits.add(workReviewAudit);
-                            }else{
-                                workReviewAudit.setReportId(infoId);
-                                workReviewAudit.setMaxDeduct(reviewStandard.getMaxDeduct());
-                                workReviewAudit.setOrderNum(reviewStandard.getOrderNum());
-                                workReviewAudit.setStandardDetail(reviewStandard.getStandardDetail());
-                                workReviewAudit.setSort(reviewStandard.getSort());
-                                if (!status) {
-                                    workReviewAudit.setId(null);
-                                }
-                                workReviewAudit.setType("4");
-                                workReviewAudit.setParent(new WorkReviewAudit("0"));
-                                workReviewAudit.setRemarks(remarks);
-                                workReviewAudits.add(workReviewAudit);
-                            }
-                        }
-                    }
-                    if (!status) {
-                        workReviewStandardService.deleteAuditType(infoId);
-                    }
-                    if (workReviewAudits!=null && workReviewAudits.size()!=0){
-                        for (WorkReviewAudit workReviewAudit:workReviewAudits){
-                            workReviewStandardService.saveAudit(workReviewAudit);
-                        }
-                    }
                     //保存tree数据
 //                    saveReportTree(projectcontentinfo,status,infoId,reviewId,1);
 

+ 206 - 4
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralCostProjectMessageNewTwoController.java

@@ -1,5 +1,6 @@
 package com.jeeplus.modules.ruralprojectrecords.web;
 
+import com.google.common.collect.Lists;
 import com.jeeplus.common.config.Global;
 import com.jeeplus.common.utils.MyBeanUtils;
 import com.jeeplus.common.utils.StringUtils;
@@ -17,6 +18,7 @@ import com.jeeplus.modules.projectcontentinfo.service.*;
 import com.jeeplus.modules.projectrecord.entity.ProjectRecords;
 import com.jeeplus.modules.projectrecord.service.ProjectRecordsService;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
+import com.jeeplus.modules.ruralprojectrecords.entity.RuralReportConsultant;
 import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectMessageNewService;
 import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectMessageService;
 import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectRecordTwoService;
@@ -28,6 +30,7 @@ import com.jeeplus.modules.sys.service.UserService;
 import com.jeeplus.modules.sys.utils.DictUtils;
 import com.jeeplus.modules.sys.utils.UserUtils;
 import com.jeeplus.modules.workcontractinfo.entity.WorkContractInfo;
+import com.jeeplus.modules.workstaff.entity.WorkStaffCertificate;
 import org.activiti.engine.HistoryService;
 import org.activiti.engine.runtime.ProcessInstance;
 import org.activiti.engine.task.Task;
@@ -37,10 +40,7 @@ import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * 造价审核项目列表Controller
@@ -420,6 +420,208 @@ public class RuralCostProjectMessageNewTwoController extends BaseController {
     }
 
     /**
+     * B级紧急项目驳回修改
+     * 查看,增加,编辑报告归档表单页面
+     */
+    @RequestMapping(value = "formRecordUrgentModify")
+    public String formRecordUrgentModify(ProjectReportRecord projectReportRecord, Model model) {
+        //查询“配农网”工程类型id
+        String engineeringId = engineeringService.getEngineeringId("202");
+        projectReportRecord = projectReportRecordService.get(projectReportRecord.getId());
+        if(StringUtils.isBlank(projectReportRecord.getId())){
+            projectReportRecord.setCreateDate(new Date());
+            projectReportRecord.setCreateBy(UserUtils.getUser());
+        }
+        //根据项目id查询报告信息
+        ProjectReportData projectReportData = projectReportDataService.getReportDataByProjectId(projectReportRecord.getReport().getProject().getId());
+        projectReportRecord.setReport(projectReportData);
+        //获取项目信息
+        RuralProjectRecords ruralProjectRecords = projectRecordsService.get(projectReportRecord.getReport().getProject().getId());
+        List<RuralReportConsultant> consultants=reConsultants(ruralProjectRecords,projectReportData);
+        ProjectAccessoryRelationInfo relateInfo = new ProjectAccessoryRelationInfo();
+        //添加项目类型
+        relateInfo.setAttachmentProjectType(ruralProjectRecords.getProjectType());
+        relateInfo.setAttachmentProjectSort(ruralProjectRecords.getAttachmentProjectSort());
+        //判断是否为打包项目,打包项目无需查看项目送审金额是否为500w以上判定
+        String money=ruralProjectRecords.getSubmitMoney();
+        Integer approvalMoney=null;
+        if(StringUtils.isBlank(money)){
+            approvalMoney=1;
+        }else{
+            approvalMoney=Integer.parseInt(money);
+        }
+        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);
+        relateInfo.setId(ruralProjectRecords.getId());
+        //查询报告文件、依据性文件、其他文件必填列表以及数据
+        List<MainDictDetail> mainDictDetails = projectTemplateService.attachmentTemplateList();
+        for (MainDictDetail mainDict : mainDictDetails) {
+            relateInfo.setAttachType(mainDict.getValue());
+            switch (mainDict.getValue()) {
+                case "11":
+                    List<ProjectTemplateInfo> fileAttachmentList = projectTemplateService.getProjectTemplateUrgentList(relateInfo);
+                    for (ProjectTemplateInfo info: fileAttachmentList) {
+                        info.setAttachTypes(info.getAttachTypes().toLowerCase());
+                        if(engineeringId.equals(ruralProjectRecords.getEngineeringType())){
+                            if("审定单".equals(info.getAttachName()) || "咨询报告书正文(含附件)  附件一:工程预算或结算汇总表 附件二:编制或审核说明 附件三:工程预算或结算审定单 附件四:工程预算或结算书".equals(info.getAttachName()) ){
+                                if(!info.getAttachTypes().contains("zip")){
+                                    info.setAttachTypes(info.getAttachTypes()+",zip");
+                                }
+                                if(!info.getAttachTypes().contains("rar")){
+                                    info.setAttachTypes(info.getAttachTypes()+",rar");
+                                }
+                            }
+                        }
+                    }
+                    projectReportRecord.setFileAttachmentList(fileAttachmentList);
+                    break;
+                case "12":
+                    List<ProjectTemplateInfo> projectTemplateList = projectTemplateService.getProjectTemplateUrgentList(relateInfo);
+                    for (ProjectTemplateInfo info: projectTemplateList) {
+                        info.setAttachTypes(info.getAttachTypes().toLowerCase());
+                        if(engineeringId.equals(ruralProjectRecords.getEngineeringType())){
+                            if("投标文件、中标通知书、工程承包合同(协议书记专用条款部分)、补充协议".equals(info.getAttachName()) || "送审工程预算、结算书".equals(info.getAttachName()) ){
+                                if(!info.getAttachTypes().contains("zip")){
+                                    info.setAttachTypes(info.getAttachTypes()+",zip");
+                                }
+                                if(!info.getAttachTypes().contains("rar")){
+                                    info.setAttachTypes(info.getAttachTypes()+",rar");
+                                }
+                            }
+                        }
+                    }
+                    projectReportRecord.setFileGistdataList(projectTemplateList);
+                    break;
+                case "13":
+                    projectReportRecord.setFileOtherList(projectTemplateService.getProjectTemplateUrgentList(relateInfo));
+                    break;
+            }
+
+        }
+        ProjectRecords projectRecords = new ProjectRecords();
+        try {
+            MyBeanUtils.copyBeanNotNull2Bean(ruralProjectRecords, projectRecords);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        //获取合同信息
+        WorkContractInfo projectContractInfo = ruralProjectMessageService.getProjectContractInfo(ruralProjectRecords.getWorkContractInfo().getId());
+        projectRecords.setWorkContractInfo(projectContractInfo);
+        projectReportRecord.getReport().setProject(projectRecords);
+        projectReportRecord.setView("modify");
+        model.addAttribute("info", consultants);
+        model.addAttribute("projectReportData", projectReportData);
+        model.addAttribute("projectReportRecord", projectReportRecord);
+        model.addAttribute("workClientInfoName", projectReportRecord.getClientName());
+        model.addAttribute("project", projectReportRecord.getReport().getProject());
+
+        if(StringUtils.isNotBlank(projectReportRecord.getProcessInstanceId())){
+            ProcessInstance processInstance = actTaskService.getProcIns(projectReportRecord.getProcessInstanceId());
+            if (processInstance!=null) {
+                Task taskInfok = actTaskService.getCurrentTaskInfo(processInstance);
+                Act act = new Act();
+                act.setTaskId(taskInfok.getId());
+                act.setTaskName(taskInfok.getName());
+                act.setProcDefId(taskInfok.getProcessDefinitionId());
+                act.setTaskDefKey(taskInfok.getTaskDefinitionKey());
+                act.setProcInsId(taskInfok.getProcessInstanceId());
+                act.setTask(taskInfok);
+                projectReportRecord.setAct(act);
+            }
+        }
+        return "modules/ruralprojectrecords/record/cost/recordTwo/projectReportRecordUrgentModify";
+
+    }
+    public List<RuralReportConsultant> reConsultants(RuralProjectRecords records,ProjectReportData projectReportData){
+        //查询总审人员信息
+        List<User> auditUserList = userService.getAuditUserListByType(records.getSubmitMoney());
+        records.setBzshbUserList(auditUserList);
+        if(null == projectReportData.getConsultant()){
+            projectReportData.setConsultant(UserUtils.getUser());
+        }
+        if(null == projectReportData.getPrincipal()){
+            projectReportData.setPrincipal(UserUtils.getUser());
+        }
+        List<RuralReportConsultant> consultants = Lists.newArrayList();
+        //将自己添加到咨询员数据中
+        //根据用户查询技能信息
+        RuralReportConsultant currentConsultant = new RuralReportConsultant();
+        List<WorkStaffCertificate> userCertificateList = Lists.newArrayList();
+        if(StringUtils.isNotBlank(records.getProjectMasterId())){
+            userCertificateList = ruralProjectMessageService.getCertificateByUser(records.getProjectMasterId());
+        }
+        //获取专业类型
+        List<MainDictDetail> certificateMajor = DictUtils.getMainDictList("certificate_major");
+        for (WorkStaffCertificate certificateInfo: userCertificateList) {
+            currentConsultant.setZhucezigezhID(certificateInfo.getNum());
+            currentConsultant.setZhucezigezhKey(certificateInfo.getName());
+            for (MainDictDetail type : certificateMajor) {
+                if(certificateInfo.getMajor().equals(type.getValue())){
+                    currentConsultant.setMajor(type.getLabel());
+                }
+            }
+            User currentUser=userService.get(records.getProjectMasterId());
+            currentConsultant.setZixunyuanName(currentUser.getName());
+            currentConsultant.setZixunyuan(currentUser.getId());
+            currentConsultant.setRole("负责人");
+            consultants.add(currentConsultant);
+        }
+        //总审
+        RuralReportConsultant zongshen = new RuralReportConsultant();
+        zongshen.setZixunyuan(projectReportData.getBzshbUserId());
+        //根据项目id查找报告咨询员信息
+        List<RuralReportConsultant> consultantList = ruralProjectMessageService.getConsultantsList(records.getId());
+        //使用迭代器去除重复信息
+        //排除 重新申请|撤销
+        Iterator<RuralReportConsultant> it = consultantList.iterator();
+        while(it.hasNext()){
+            RuralReportConsultant consultant = it.next();
+            //判定重新复核中总审人员信息去除展示
+            if(consultant.getZixunyuan().equals(zongshen.getZixunyuan())){
+                it.remove();
+            }else if(consultant.getZixunyuan().equals(currentConsultant.getZixunyuan())){
+                try {
+                    MyBeanUtils.copyBeanNotNull2Bean(consultant, currentConsultant);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                it.remove();
+            }else{
+                //根据用户查询技能信息
+                List<WorkStaffCertificate> certificateList = ruralProjectMessageService.getCertificateByUser(consultant.getZixunyuan());
+                for (WorkStaffCertificate certificateInfo: certificateList) {
+                    if(certificateInfo.getName().equals(consultant.getZhucezigezhKey())){
+                        consultant.setZhucezigezhID(certificateInfo.getNum());
+                    }
+                    for (MainDictDetail type : certificateMajor) {
+                        if(certificateInfo.getMajor().equals(type.getValue())){
+                            consultant.setMajor(type.getLabel());
+                        }
+                    }
+                }
+                User user=userService.get(consultant.getZixunyuan());
+                consultant.setZixunyuanName(user.getName());
+            }
+        }
+        consultants.addAll(consultantList);
+        return consultants;
+    }
+    /**
      * 保存报告归档
      */
     @RequestMapping(value = "saveRecord")

+ 24 - 7
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageNewController.java

@@ -752,20 +752,37 @@ public class RuralProjectMessageNewController extends BaseController {
             projectReportData.setAct(act);
         }
         //重新生成质量复核标准送审数据
+        String infoId="";
+        List<WorkReviewAudit> workReviewAudits = new ArrayList<>();
         RuralProjectRecords records = ruralProjectRecordsService.getQueryProjectUsers(projectcontentinfo.getProject().getId());
         if (projectcontentinfo.getProjectReviewList()!=null && projectcontentinfo.getProjectReviewList().size()!=0){
             for (WorkReviewAudit workReviewAudit:projectcontentinfo.getProjectReviewList()){
-                WorkReviewAudit audit = workReviewStandardService.getAudit(workReviewAudit.getId());
-                if (audit!=null){
-                    if (null == workReviewAudit.getDeduct()){
-                        workReviewAudit.setDeduct((byte) 0);
+                if (StringUtils.isNotBlank(workReviewAudit.getDeductOption())){
+                    infoId=projectReportData.getId();
+                    WorkReviewStandard reviewStandard = workReviewStandardService.get(workReviewAudit.getStandardId());
+                    if (reviewStandard==null){
+                        workReviewAudit = workReviewStandardService.getAudit(workReviewAudit.getId());
+                        workReviewAudits.add(workReviewAudit);
+                    }else{
+                        workReviewAudit.setReportId(infoId);
+                        workReviewAudit.setMaxDeduct(reviewStandard.getMaxDeduct());
+                        workReviewAudit.setOrderNum(reviewStandard.getOrderNum());
+                        workReviewAudit.setStandardDetail(reviewStandard.getStandardDetail());
+                        workReviewAudit.setSort(reviewStandard.getSort());
+                        workReviewAudit.setId(null);
+                        workReviewAudit.setType("4");
+                        workReviewAudit.setParent(new WorkReviewAudit("0"));
+                        workReviewAudits.add(workReviewAudit);
                     }
-                    audit.setDeduct(workReviewAudit.getDeduct());
-                    audit.setDeductOption(workReviewAudit.getDeductOption());
-                    workReviewAuditDao.update(audit);
                 }
             }
         }
+        workReviewStandardService.deleteAuditType(infoId);
+        if (workReviewAudits!=null && workReviewAudits.size()!=0){
+            for (WorkReviewAudit workReviewAudit:workReviewAudits){
+                workReviewStandardService.saveAudit(workReviewAudit);
+            }
+        }
         //删除上报咨询员信息
         projectcontentinfoDao.deleteConsultant(projectcontentinfo.getProject().getId());
         //保存咨询员信息

+ 24 - 12
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageNewTwoController.java

@@ -465,24 +465,36 @@ public class RuralProjectMessageNewTwoController  extends BaseController {
         ProjectReportDataTwo t = projectReportDataService.getOnRural(projectReportData.getId());//从数据库取出记录的值
 
         //重新生成质量复核标准送审数据
-        RuralProjectRecords records = ruralProjectRecordsService.getQueryProjectUsers(t.getProject().getId());
-        Boolean status = false;
-        if (com.jeeplus.common.utils.StringUtils.isBlank(t.getId())){
-            status = true;
-        }
+        String infoId="";
+        List<WorkReviewAudit> workReviewAudits = new ArrayList<>();
         if (projectcontentinfo.getProjectReviewList()!=null && projectcontentinfo.getProjectReviewList().size()!=0){
             for (WorkReviewAudit workReviewAudit:projectcontentinfo.getProjectReviewList()){
-                WorkReviewAudit audit = workReviewStandardService.getAudit(workReviewAudit.getId());
-                if (audit!=null){
-                    if (null == workReviewAudit.getDeduct()){
-                        workReviewAudit.setDeduct((byte) 0);
+                if (StringUtils.isNotBlank(workReviewAudit.getDeductOption())){
+                    infoId=projectReportData.getId();
+                    WorkReviewStandard reviewStandard = workReviewStandardService.get(workReviewAudit.getStandardId());
+                    if (reviewStandard==null){
+                        workReviewAudit = workReviewStandardService.getAudit(workReviewAudit.getId());
+                        workReviewAudits.add(workReviewAudit);
+                    }else{
+                        workReviewAudit.setReportId(infoId);
+                        workReviewAudit.setMaxDeduct(reviewStandard.getMaxDeduct());
+                        workReviewAudit.setOrderNum(reviewStandard.getOrderNum());
+                        workReviewAudit.setStandardDetail(reviewStandard.getStandardDetail());
+                        workReviewAudit.setSort(reviewStandard.getSort());
+                        workReviewAudit.setId(null);
+                        workReviewAudit.setType("4");
+                        workReviewAudit.setParent(new WorkReviewAudit("0"));
+                        workReviewAudits.add(workReviewAudit);
                     }
-                    audit.setDeduct(workReviewAudit.getDeduct());
-                    audit.setDeductOption(workReviewAudit.getDeductOption());
-                    workReviewAuditDao.update(audit);
                 }
             }
         }
+        workReviewStandardService.deleteAuditType(infoId);
+        if (workReviewAudits!=null && workReviewAudits.size()!=0){
+            for (WorkReviewAudit workReviewAudit:workReviewAudits){
+                workReviewStandardService.saveAudit(workReviewAudit);
+            }
+        }
 
 
         if(null != saveAuditFlag){

+ 76 - 6
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectViewController.java

@@ -20,10 +20,7 @@ import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
 import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportDataTwo;
 import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportRecord;
 import com.jeeplus.modules.projectcontentinfo.entity.Projectcontentinfo;
-import com.jeeplus.modules.projectcontentinfo.service.ProjectReportDataService;
-import com.jeeplus.modules.projectcontentinfo.service.ProjectReportDataTwoService;
-import com.jeeplus.modules.projectcontentinfo.service.ProjectReportRecordService;
-import com.jeeplus.modules.projectcontentinfo.service.ProjectcontentinfoService;
+import com.jeeplus.modules.projectcontentinfo.service.*;
 import com.jeeplus.modules.projectrecord.entity.ProjectPlanInfo;
 import com.jeeplus.modules.projectrecord.service.ProjectPlanService;
 import com.jeeplus.modules.ruralprojectrecords.entity.*;
@@ -110,6 +107,8 @@ public class RuralProjectViewController extends BaseController {
     private ProjectEngineeringService engineeringService;
     @Autowired
     private WorkReviewStandardService workReviewStandardService;
+    @Autowired
+    private ProjectContentDataService projectContentDataService;
     /**
      * 项目查看
      * 传参:项目id
@@ -439,12 +438,33 @@ public class RuralProjectViewController extends BaseController {
                 consultants.add(bzshbConsultant);
             }
         }
+        //展示
+        //获取自检的质量复核标准
+        String reviewId="";
+        if ("2".equals(ruralProjectRecords.getSubmitMoney())){
+            reviewId="1";
+        }else{
+            if(StringUtils.isBlank(ruralProjectRecords.getEmergencyProject()) ||"0".equals(ruralProjectRecords.getEmergencyProject())){
+                reviewId="2";
+            }else{
+                reviewId="3";
+            }
+        }
+        List<WorkReviewAudit> workReviewAudits = projectContentDataService.findListReview(reviewId,"质量复核");
         WorkReviewAudit workReviewAudit = new WorkReviewAudit();
         String type = "4";
         workReviewAudit.setCompanyId(UserUtils.getSelectCompany().getId());
         workReviewAudit.setType(type);
         workReviewAudit.setReportId(projectReportData.getId());
-        List<WorkReviewAudit> workReviewAudits = workReviewStandardService.findAuditList(workReviewAudit);
+        List<WorkReviewAudit> audits = workReviewStandardService.findAuditList(workReviewAudit);
+        for(WorkReviewAudit reviewAudit:workReviewAudits){
+            for (WorkReviewAudit audit:audits){
+                if (reviewAudit.getId().equals(audit.getStandardId())){
+                    reviewAudit.setDeductOption(audit.getDeductOption());
+                    break;
+                }
+            }
+        }
         model.addAttribute("list", workReviewAudits);
         //查询总审人员信息
         List<User> auditUserList = userService.getAuditUserList();
@@ -757,7 +777,36 @@ public class RuralProjectViewController extends BaseController {
 
         }
         //}
+        //获取复核标准
+        String reviewId="";
+        if ("2".equals(ruralProjectRecords.getSubmitMoney())){
+            reviewId="1";
+        }else{
+            if(StringUtils.isBlank(ruralProjectRecords.getEmergencyProject()) ||"0".equals(ruralProjectRecords.getEmergencyProject())){
+                reviewId="2";
+            }else if ("1".equals(ruralProjectRecords.getEmergencyProject())){
+                reviewId="3";
+            }
+        }
+        List<WorkReviewAudit> workReviewAudits = projectContentDataService.findListReview(reviewId,"紧急项目");
+        //展示
+        ProjectReportData projectReportData = projectReportDataService.getReportDataByProjectId(projectRecords.getId());
 
+        WorkReviewAudit workReviewAudit = new WorkReviewAudit();
+        String type = "4";
+        workReviewAudit.setCompanyId(UserUtils.getSelectCompany().getId());
+        workReviewAudit.setType(type);
+        workReviewAudit.setReportId(projectReportData.getId());
+        List<WorkReviewAudit> audits = workReviewStandardService.findAuditList(workReviewAudit);
+        for(WorkReviewAudit reviewAudit:workReviewAudits){
+            for (WorkReviewAudit audit:audits){
+                if (reviewAudit.getId().equals(audit.getStandardId())){
+                    reviewAudit.setDeductOption(audit.getDeductOption());
+                    break;
+                }
+            }
+        }
+        model.addAttribute("list", workReviewAudits);
         model.addAttribute("projectReportRecord", projectReportRecord);
         model.addAttribute("project", projectReportRecord.getReport().getProject());
         return "modules/ruralprojectrecords/view/projectReportRecordView";
@@ -928,12 +977,33 @@ public class RuralProjectViewController extends BaseController {
         //查询总审人员信息
         List<User> auditUserList = userService.getAuditUserList();
         ruralProjectRecords.setBzshbUserList(auditUserList);
+        //展示
+        //获取自检的质量复核标准
+        String reviewId="";
+        if ("2".equals(ruralProjectRecords.getSubmitMoney())){
+            reviewId="1";
+        }else{
+            if(StringUtils.isBlank(ruralProjectRecords.getEmergencyProject()) ||"0".equals(ruralProjectRecords.getEmergencyProject())){
+                reviewId="2";
+            }else{
+                reviewId="3";
+            }
+        }
+        List<WorkReviewAudit> workReviewAudits = projectContentDataService.findListIssue(reviewId,"报告签发");
         WorkReviewAudit workReviewAudit = new WorkReviewAudit();
         String type = "4";
         workReviewAudit.setCompanyId(UserUtils.getSelectCompany().getId());
         workReviewAudit.setType(type);
         workReviewAudit.setReportId(projectReportDataTwo.getId());
-        List<WorkReviewAudit> workReviewAudits = workReviewStandardService.findAuditList(workReviewAudit);
+        List<WorkReviewAudit> audits = workReviewStandardService.findAuditList(workReviewAudit);
+        for(WorkReviewAudit reviewAudit:workReviewAudits){
+            for (WorkReviewAudit audit:audits){
+                if (reviewAudit.getId().equals(audit.getStandardId())){
+                    reviewAudit.setDeductOption(audit.getDeductOption());
+                    break;
+                }
+            }
+        }
         model.addAttribute("list", workReviewAudits);
         model.addAttribute("processInstanceId",projectReportDataTwo.getProcessInstanceId());
         model.addAttribute("projectReportData",projectReportData);

+ 17 - 0
src/main/java/com/jeeplus/modules/workOrder/dao/WorkOrderDao.java

@@ -5,6 +5,7 @@ import com.jeeplus.common.persistence.annotation.MyBatisDao;
 import com.jeeplus.modules.feedback.entity.QuestionFeedback;
 import com.jeeplus.modules.workOrder.entity.WorkOrder;
 import com.jeeplus.modules.workOrder.entity.WorkOrderProcessing;
+import com.jeeplus.modules.workOrder.entity.WorkOrderQuerstion;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -60,4 +61,20 @@ public interface WorkOrderDao extends CrudDao<WorkOrder> {
 //     * @return
 //     */
 //    List<WorkOrder> findProcessingByUserId(@Param("handleId") String handleId);
+
+    /**
+     * 获取问题类型
+     * @return
+     */
+    List<WorkOrderQuerstion> findQuerstion(WorkOrderQuerstion workOrderQuerstion);
+    /**
+     * 获取问题类型
+     * @return
+     */
+    WorkOrderQuerstion getQuerstion(WorkOrderQuerstion workOrderQuerstion);
+    /**
+     * 获取问题类型
+     * @return
+     */
+    Integer updateQuestion(WorkOrderQuerstion workOrderQuerstion);
 }

+ 46 - 0
src/main/java/com/jeeplus/modules/workOrder/entity/WorkOrderQuerstion.java

@@ -0,0 +1,46 @@
+package com.jeeplus.modules.workOrder.entity;
+
+import com.jeeplus.common.persistence.DataEntity;
+import com.jeeplus.modules.sys.entity.User;
+
+/**
+ * 工单问题类型entity
+ */
+public class WorkOrderQuerstion extends DataEntity<WorkOrderQuerstion> {
+    private String questionKey;
+    private String questionStr;
+    private String userId;
+    private User user;
+
+    public String getQuestionKey() {
+        return questionKey;
+    }
+
+    public void setQuestionKey(String questionKey) {
+        this.questionKey = questionKey;
+    }
+
+    public String getQuestionStr() {
+        return questionStr;
+    }
+
+    public void setQuestionStr(String questionStr) {
+        this.questionStr = questionStr;
+    }
+
+    public String getUserId() {
+        return userId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public User getUser() {
+        return user;
+    }
+
+    public void setUser(User user) {
+        this.user = user;
+    }
+}

+ 5 - 0
src/main/java/com/jeeplus/modules/workOrder/service/WorkOrderService.java

@@ -16,6 +16,7 @@ import com.jeeplus.modules.workOrder.dao.WorkOrderDao;
 import com.jeeplus.modules.workOrder.entity.WorkOrder;
 import com.jeeplus.modules.workOrder.entity.WorkOrderComment;
 import com.jeeplus.modules.workOrder.entity.WorkOrderProcessing;
+import com.jeeplus.modules.workOrder.entity.WorkOrderQuerstion;
 import com.sun.corba.se.spi.orbutil.threadpool.Work;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -172,4 +173,8 @@ public class WorkOrderService  extends CrudService<WorkOrderDao, WorkOrder> {
         processing.setHandleOpinion("已解决");
         workOrderDao.updateProcessing(processing);
     }
+    @Transactional(readOnly = false)
+    public void updateQuestion(WorkOrderQuerstion workOrderQuerstion) {
+        workOrderDao.updateQuestion(workOrderQuerstion);
+    }
 }

+ 42 - 3
src/main/java/com/jeeplus/modules/workOrder/web/WorkOrderController.java

@@ -8,17 +8,18 @@ import com.jeeplus.common.persistence.Page;
 import com.jeeplus.common.utils.MyBeanUtils;
 import com.jeeplus.common.utils.StringUtils;
 import com.jeeplus.common.web.BaseController;
-import com.jeeplus.modules.feedback.entity.QuestionFeedback;
+import com.jeeplus.modules.sys.entity.MainDictDetail;
 import com.jeeplus.modules.sys.entity.User;
 import com.jeeplus.modules.sys.entity.Workattachment;
 import com.jeeplus.modules.sys.service.WorkattachmentService;
+import com.jeeplus.modules.sys.utils.DictUtils;
 import com.jeeplus.modules.sys.utils.UserUtils;
-import com.jeeplus.modules.utils.ErrorCode;
 import com.jeeplus.modules.workOrder.dao.WorkOrderCommentDao;
 import com.jeeplus.modules.workOrder.dao.WorkOrderDao;
 import com.jeeplus.modules.workOrder.entity.WorkOrder;
 import com.jeeplus.modules.workOrder.entity.WorkOrderComment;
 import com.jeeplus.modules.workOrder.entity.WorkOrderProcessing;
+import com.jeeplus.modules.workOrder.entity.WorkOrderQuerstion;
 import com.jeeplus.modules.workOrder.enums.WorkOrderStatusEnum;
 import com.jeeplus.modules.workOrder.service.WorkOrderCommentService;
 import com.jeeplus.modules.workOrder.service.WorkOrderService;
@@ -133,7 +134,6 @@ public class WorkOrderController extends BaseController {
 		}else {
 			addMessage(redirectAttributes, "保存工单成功");
 		}
-
 		return "redirect:" + adminPath + "/workOrder/workOrder/?repage";
 	}
 
@@ -334,4 +334,43 @@ public class WorkOrderController extends BaseController {
 		map.put("count",count);
 		return map;
 	}
+	@RequestMapping(value = {"questionTypelist"})
+	public String questionTypelist(WorkOrderQuerstion workOrderQuerstion, HttpServletRequest request, HttpServletResponse response, Model model, RedirectAttributes redirectAttributes) {
+		List<WorkOrderQuerstion> workOrderQuerstions=workOrderDao.findQuerstion(workOrderQuerstion);
+		for (WorkOrderQuerstion querstion:workOrderQuerstions){
+			querstion.setUser(UserUtils.get(querstion.getUserId()));
+			List<MainDictDetail> dictList = DictUtils.getMainDictList("work_order_question_type");
+			for (MainDictDetail dictDetail:dictList){
+				if (dictDetail.getValue().equals(querstion.getQuestionKey())){
+					querstion.setQuestionStr(dictDetail.getLabel());
+					break;
+				}
+			}
+		}
+		Page<WorkOrderQuerstion> page =new Page<WorkOrderQuerstion>(request, response);
+		page.setCount(workOrderQuerstions.size());
+		page.setList(workOrderQuerstions);
+		model.addAttribute("page",page);
+		return "modules/workOrder/quesitonTypeList";
+	}
+	@RequestMapping(value = {"questionform"})
+	public String questionform(WorkOrderQuerstion workOrderQuerstion, HttpServletRequest request, HttpServletResponse response, Model model, RedirectAttributes redirectAttributes) {
+		WorkOrderQuerstion querstion=workOrderDao.getQuerstion(workOrderQuerstion);
+		querstion.setUser(UserUtils.get(querstion.getUserId()));
+		List<MainDictDetail> dictList = DictUtils.getMainDictList("work_order_question_type");
+		for (MainDictDetail dictDetail:dictList){
+			if (dictDetail.getValue().equals(querstion.getQuestionKey())){
+				querstion.setQuestionStr(dictDetail.getLabel());
+				break;
+			}
+		}
+		model.addAttribute("workOrderQuerstion",querstion);
+		return "modules/workOrder/questionForm";
+	}
+	@RequestMapping(value = {"saveQuestion"})
+	public String saveQuestion(WorkOrderQuerstion workOrderQuerstion, HttpServletRequest request, HttpServletResponse response, Model model, RedirectAttributes redirectAttributes) {
+		workOrderService.updateQuestion(workOrderQuerstion);
+		return "redirect:" + adminPath + "/workOrder/workOrder/?repage";
+
+	}
 }

+ 89 - 100
src/main/java/com/jeeplus/modules/workfullmanage/web/WorkFullManageController.java

@@ -17,6 +17,9 @@ import com.jeeplus.common.utils.excel.ImportExcel;
 import com.jeeplus.common.web.BaseController;
 import com.jeeplus.modules.contractclient.entity.WorkContractClient;
 import com.jeeplus.modules.contractclient.service.WorkContractClientService;
+import com.jeeplus.modules.projectFilingBatch.entity.ProjectFilingBatch;
+import com.jeeplus.modules.projectFilingBatch.entity.ProjectFilingBatchProInfo;
+import com.jeeplus.modules.projectFilingBatch.service.ProjectFilingBatchService;
 import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
 import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportDataTwo;
 import com.jeeplus.modules.projectcontentinfo.service.ProjectReportDataService;
@@ -123,6 +126,8 @@ public class WorkFullManageController extends BaseController {
 	private RuralProjectRecordsService projectRecordsService;
 	@Autowired
 	private OfficeService officeService;
+	@Autowired
+	private ProjectFilingBatchService projectFilingBatchService;
 
 	@Autowired
 	private WorkFullDesignService workFullDesignService;
@@ -1485,30 +1490,6 @@ public class WorkFullManageController extends BaseController {
 			data.put("projectMonth","");
 			data.put("projectDay","");
 		}
-
-		if(null != projectReportData.getTechnicistDate()){
-			//技术负责人
-			if(StringUtils.isBlank(bzshbConsultant.getZixunyuanName())){
-				data.put("technicistName","");
-			}else{
-				data.put("technicistName",bzshbConsultant.getZixunyuanName());
-			}
-			if(StringUtils.isBlank(bzshbConsultant.getAuditOpinion())){
-				data.put("technicistRemarks","");
-			}else{
-				data.put("technicistRemarks",bzshbConsultant.getAuditOpinion());
-			}
-			data.put("technicistYear","");
-			data.put("technicistMonth","");
-			data.put("technicistDay","");
-		}else{
-			//技术负责人
-			data.put("technicistName","");
-			data.put("technicistRemarks","");
-			data.put("technicistYear","");
-			data.put("technicistMonth","");
-			data.put("technicistDay","");
-		}
 		WorkActivityProcess selectProcess = new WorkActivityProcess();
 		selectProcess.setProcessInstanceId(projectReportDataTwo.getProcessInstanceId());
 		List<WorkActivityProcess> workActivityProcesses = workActivityProcessService.findList(selectProcess);
@@ -1565,57 +1546,18 @@ public class WorkFullManageController extends BaseController {
 		return map;
 	}
 
+
 	/**
-	 * 下载备考表信息
+	 * 下载批量归档清单
 	 * @param response
-	 * @param projectReportData
+	 * @param projectFilingBatch
 	 */
-	@RequestMapping(value="downloadReference")
+	@RequestMapping(value="downloadBatchFilingList")
 	@ResponseBody
-	public void downloadReference(HttpServletResponse response, ProjectReportData projectReportData)  {
-		Map data = referenceData(projectReportData);
-		//模板对象
-		Template template=null;
-		//freemaker模板路径
-		File path = new File(this.getClass().getResource("/").getPath()+"/freemarker");
-		Configuration cfg = new Configuration();
-		try {
-			cfg.setDirectoryForTemplateLoading(path);
-			//选择对应的ftl文件
-			template = cfg.getTemplate("reference.ftl","UTF-8");
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-
-		File docFile = new File("备考表.doc");
-		FreemarkerUtil.generateFile(data,template,docFile);
-		ResponseUtil.preViewResponse("备考表.doc",docFile,response);
-	}
-
-	private Map<String,Object> referenceData(ProjectReportData projectReportData){
-		//freemarker参数值准备
-		Map<String,Object> data  = new LinkedHashMap<>();
-		//本卷情况说明
-		data.put("informationNote","测试123456");
-		//立卷人(项目负责人)
-		data.put("projectLeader","张三");
-		//检查人(档案管理员)
-		data.put("archivist","韩丽");
-		//立卷时间(审批通过时间)
-		data.put("approvalTime","20210707");
-		return data;
-	}
+	public void downloadBatchFilingList(HttpServletResponse response, ProjectFilingBatch projectFilingBatch)  {
+		Map data = batchFilingListData(projectFilingBatch);
 
 
-	/**
-	 * 生成目录信息
-	 * @param response
-	 * @param projectReportData
-	 */
-	@RequestMapping(value="downloadCatalogue")
-	@ResponseBody
-	public void downloadCatalogue(HttpServletResponse response, ProjectReportData projectReportData)  {
-		Map data = catalogueData(projectReportData);
 		//模板对象
 		Template template=null;
 		//freemaker模板路径
@@ -1624,45 +1566,92 @@ public class WorkFullManageController extends BaseController {
 		try {
 			cfg.setDirectoryForTemplateLoading(path);
 			//选择对应的ftl文件
-			template = cfg.getTemplate("catalogue.ftl","UTF-8");
+			template = cfg.getTemplate("batchFilingList.ftl","UTF-8");
 		} catch (IOException e) {
 			e.printStackTrace();
 		}
-
-		File docFile = new File("目录(自动).doc");
+		File docFile = new File("批量归档清单.xlsx");
 		FreemarkerUtil.generateFile(data,template,docFile);
-		ResponseUtil.docResponse("目录(自动).doc",docFile,response);
-	}
+		ResponseUtil.docResponse("批量归档清单.xlsx",docFile,response);
 
-	private Map<String,Object> catalogueData(ProjectReportData projectReportData){
+	}
+	private Map<String,Object> batchFilingListData(ProjectFilingBatch projectFilingBatch){
+		//获取详细信息
+		projectFilingBatch = projectFilingBatchService.get(projectFilingBatch.getId());
+		List<RuralProjectRecords> ruralProjectRecordsList = new ArrayList<>();
+		//获取详细信息
+		projectFilingBatch = projectFilingBatchService.get(projectFilingBatch.getId());
+		//归档文件类型/归档文件描述
+		List<ProjectFilingBatch> projectFilingBatches = projectFilingBatchService.findProjectIdByFiling(projectFilingBatch.getId());
+		for (ProjectFilingBatch filingBatch : projectFilingBatches) {
+			Map<String, Object> map=new HashMap<>();
+			RuralProjectRecords ruralProjectRecords = ruralProjectRecordsService.getById(filingBatch.getProjectId());
+			ruralProjectRecords.setProjectReportNumber(filingBatch.getNumber());
+			map= projectFilingBatchService.getFilingBatchProInfo(filingBatch.getProjectId(),filingBatch.getId());
+			boolean result= (boolean) map.get("result");
+			if (result){
+				List<ProjectFilingBatchProInfo> proinfos=(List<ProjectFilingBatchProInfo>) map.get("data");
+				ruralProjectRecords.setProInfos(proinfos);
+			}
+			ruralProjectRecordsList.add(ruralProjectRecords);
+		}
+		//获取归档人
+		projectFilingBatch.setCreateBy(UserUtils.get(projectFilingBatch.getCreateBy().getId()));
+		//项目信息
+		projectFilingBatch.setProject(ruralProjectRecordsList);
 		//freemarker参数值准备
 		Map<String,Object> data  = new LinkedHashMap<>();
-		//文号
-		data.put("number","123456");
-		//目录
+		//表头
+		if (StringUtils.isNotBlank(projectFilingBatch.getFilingBatch())){
+			data.put("filingBatch",projectFilingBatch.getFilingBatch());
+		}else{
+			data.put("filingBatch","");
+		}
+		if (StringUtils.isNotBlank(projectFilingBatch.getFilingName())){
+			data.put("batchName",projectFilingBatch.getFilingName());
+		}else{
+			data.put("batchName","");
+		}
+		if (null!=projectFilingBatch.getCreateBy()){
+			User user=UserUtils.get(projectFilingBatch.getCreateBy().getId());
+			data.put("batchUser",user.getName());
+		}else{
+			data.put("batchUser","");
+		}
 		List<Map<String,String>> list=new LinkedList<>();
-		//测试数据
-		Map<String,String> map=new HashMap<>();
-		map.put("count","1");
-		map.put("type","成果文件");
-		map.put("content","咨询报告书正文");
-		map.put("fileName","文件1");
-		map.put("fileType","docx");
-		list.add(map);
-		Map<String,String> map1=new HashMap<>();
-		map1.put("count","2");
-		map1.put("type","成果文件");
-		map1.put("content","审定单");
-		map1.put("fileName","文件2");
-		map1.put("fileType","docx");
-		list.add(map1);
-		Map<String,String> map2=new HashMap<>();
-		map2.put("count","3");
-		map2.put("type","依据文件");
-		map2.put("content","审定单");
-		map2.put("fileName","文件3");
-		map2.put("fileType","docx");
-		list.add(map2);
+		for (RuralProjectRecords ruralProjectRecords:ruralProjectRecordsList){
+			if (ruralProjectRecords.getProInfos().size()>0){
+				for(ProjectFilingBatchProInfo proInfo:ruralProjectRecords.getProInfos()){
+					Map<String,String> map=new HashMap<>();
+					map.put("projectId",ruralProjectRecords.getProjectId());
+					if (StringUtils.isNotBlank(ruralProjectRecords.getProjectReportNumber())){
+						map.put("number",ruralProjectRecords.getProjectReportNumber());
+					}else{
+						map.put("number","");
+					}
+					map.put("projectName",ruralProjectRecords.getProjectName());
+					map.put("batchFileType", proInfo.getProInfoType());
+					if (StringUtils.isNotBlank(proInfo.getProInfoName())){
+						map.put("batchFileMiao",proInfo.getProInfoName());
+					}else{
+						map.put("batchFileMiao","");
+					}
+					list.add(map);
+				}
+			}else{
+				Map<String,String> map=new HashMap<>();
+				map.put("projectId",ruralProjectRecords.getProjectId());
+				if (StringUtils.isNotBlank(ruralProjectRecords.getProjectReportNumber())){
+					map.put("number",ruralProjectRecords.getProjectReportNumber());
+				}else{
+					map.put("number","");
+				}
+				map.put("projectName",ruralProjectRecords.getProjectName());
+				map.put("batchFileType","");
+				map.put("batchFileMiao","");
+				list.add(map);
+			}
+		}
 		data.put("list",list);
 		return data;
 	}

+ 120 - 33
src/main/java/com/jeeplus/modules/workprojectnotify/web/WorkProjectNotifyController.java

@@ -197,6 +197,7 @@ import com.jeeplus.modules.workrepay.service.WorkRepayService;
 import com.jeeplus.modules.workresignation.entity.WorkResignation;
 import com.jeeplus.modules.workresignation.service.WorkResignationService;
 import com.jeeplus.modules.workreview.entity.WorkReviewAudit;
+import com.jeeplus.modules.workreview.entity.WorkReviewStandard;
 import com.jeeplus.modules.workreview.service.WorkReviewStandardService;
 import com.jeeplus.modules.workscrap.entity.WorkScrap;
 import com.jeeplus.modules.workscrap.service.WorkScrapService;
@@ -2750,32 +2751,41 @@ public class WorkProjectNotifyController extends BaseController {
 					model.addAttribute("subProjectInfos", subProjectInfos);
 					model.addAttribute("workContractInfo", workContractInfo);
 					model.addAttribute("projectRecordPlans", projectRecordPlans);
-					WorkReviewAudit workReviewAudit = new WorkReviewAudit();
-					String type = "4";
-					workReviewAudit.setCompanyId(UserUtils.getSelectCompany().getId());
-					workReviewAudit.setType(type);
-					workReviewAudit.setReportId(workProjectNotify.getNotifyId());
-
-					List<WorkReviewAudit> workReviewAudits = workReviewStandardService.findAuditList(workReviewAudit);
-					model.addAttribute("type", type);
-					model.addAttribute("list", workReviewAudits);
+					//获取评分标准
 					//获取自检的质量复核标准
 					String reviewId="";
 					if ("2".equals(ruralProjectRecords.getSubmitMoney())){
 						reviewId="1";
 					}else{
-						if(StringUtils.isBlank(ruralProjectRecords.getEmergencyProject()) || "0".equals(ruralProjectRecords.getEmergencyProject()) ){
+						if(StringUtils.isBlank(ruralProjectRecords.getEmergencyProject()) ||"0".equals(ruralProjectRecords.getEmergencyProject())){
 							reviewId="2";
 						}else{
 							reviewId="3";
 						}
 					}
-					List<WorkReviewAudit> workReview = projectContentDataService.findListReview(reviewId,"质量复核");
-					if (null!=workReview){
-						projectReportData.setProjectReviewList(workReview);
+					List<WorkReviewAudit> workReviewAudits = projectContentDataService.findListReview(reviewId,"质量复核");
+					model.addAttribute("list", workReviewAudits);
+					if (null!=workReviewAudits){
+						projectReportData.setProjectReviewList(workReviewAudits);
 					}
 					model.addAttribute("projectReportData", projectReportData);
 					if (workProjectNotify.getRemarks().contains("待通知") || "view".equals(workProjectNotify.getView())) {
+						//展示
+						WorkReviewAudit workReviewAudit = new WorkReviewAudit();
+						String type = "4";
+						workReviewAudit.setCompanyId(UserUtils.getSelectCompany().getId());
+						workReviewAudit.setType(type);
+						workReviewAudit.setReportId(workProjectNotify.getNotifyId());
+						List<WorkReviewAudit> audits = workReviewStandardService.findAuditList(workReviewAudit);
+						for(WorkReviewAudit reviewAudit:workReviewAudits){
+							for (WorkReviewAudit audit:audits){
+								if (reviewAudit.getId().equals(audit.getStandardId())){
+									reviewAudit.setDeductOption(audit.getDeductOption());
+									break;
+								}
+							}
+						}
+						model.addAttribute("lists", workReviewAudits);
 						//查询总审人员信息
 						RuralReportConsultant bzshbConsultant = new RuralReportConsultant();
 						List<WorkStaffCertificate> bzshbCertificateList = Lists.newArrayList();
@@ -2915,6 +2925,20 @@ public class WorkProjectNotifyController extends BaseController {
 
 						return "modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/new/projectRecordsMessageModify";
 					} else {
+						WorkReviewAudit workReviewAudit = new WorkReviewAudit();
+						String type = "4";
+						workReviewAudit.setCompanyId(UserUtils.getSelectCompany().getId());
+						workReviewAudit.setType(type);
+						workReviewAudit.setReportId(workProjectNotify.getNotifyId());
+						List<WorkReviewAudit> audits = workReviewStandardService.findAuditList(workReviewAudit);
+						for(WorkReviewAudit reviewAudit:workReviewAudits){
+							for (WorkReviewAudit audit:audits){
+								if (reviewAudit.getId().equals(audit.getStandardId())){
+									reviewAudit.setDeductOption(audit.getDeductOption());
+								}
+							}
+						}
+						model.addAttribute("lists", workReviewAudits);
 						//查询总审人员信息
 						RuralReportConsultant bzshbConsultant = new RuralReportConsultant();
 						List<WorkStaffCertificate> bzshbCertificateList = Lists.newArrayList();
@@ -2993,22 +3017,25 @@ public class WorkProjectNotifyController extends BaseController {
 					projectReportDataTwo.setAct(act);
 					Projectcontentinfo projectcontentinfo = new Projectcontentinfo();
 					projectcontentinfo.setProjectReportData(data);
+					//获取评分标准
 					//获取自检的质量复核标准
-					String reviewId = "";
-					if ("2".equals(ruralProjectRecords.getSubmitMoney())) {
-						reviewId = "1";
-					} else {
-						if ("0".equals(ruralProjectRecords.getEmergencyProject())){
-							reviewId = "2";
+					String reviewId="";
+					if ("2".equals(ruralProjectRecords.getSubmitMoney())){
+						reviewId="1";
+					}else{
+						if(StringUtils.isBlank(ruralProjectRecords.getEmergencyProject()) ||"0".equals(ruralProjectRecords.getEmergencyProject())){
+							reviewId="2";
+						}else{
+							reviewId="3";
 						}
 					}
-					List<WorkReviewAudit> workReview = projectContentDataService.findListIssue(reviewId, "报告签发");
-					if (null != workReview) {
-						projectReportDataTwo.setProjectReviewList(workReview);
+					List<WorkReviewAudit> workReviewAudits = projectContentDataService.findListIssue(reviewId,"报告签发");
+					model.addAttribute("list", workReviewAudits);
+					if (null != workReviewAudits) {
+						projectReportDataTwo.setProjectReviewList(workReviewAudits);
 					}
-
 					projectcontentinfo.setProjectReportDataTwo(projectReportDataTwo);
-					model.addAttribute("workReviews", workReview);
+					model.addAttribute("workReviews", workReviewAudits);
 					//添加当前文件服务器类型
 					projectcontentinfo.setUploadMode(uploadMode);
 					List<MainDictDetail> achievementTypes = DictUtils.getMainDictList("achievement_type");
@@ -3130,15 +3157,23 @@ public class WorkProjectNotifyController extends BaseController {
 					model.addAttribute("subProjectInfos", subProjectInfos);
 					model.addAttribute("workContractInfo", workContractInfo);
 					model.addAttribute("projectRecordPlans", projectRecordPlans);
-					WorkReviewAudit workReviewAudit = new WorkReviewAudit();
-					String type = "4";
-					workReviewAudit.setCompanyId(UserUtils.getSelectCompany().getId());
-					workReviewAudit.setType(type);
-					workReviewAudit.setReportId(workProjectNotify.getNotifyId());
-					List<WorkReviewAudit> workReviewAudits = workReviewStandardService.findAuditList(workReviewAudit);
-					model.addAttribute("type", type);
-					model.addAttribute("list", workReviewAudits);
 					if (workProjectNotify.getRemarks().contains("待通知") || "view".equals(workProjectNotify.getView())) {
+						//展示
+						WorkReviewAudit workReviewAudit = new WorkReviewAudit();
+						String type = "4";
+						workReviewAudit.setCompanyId(UserUtils.getSelectCompany().getId());
+						workReviewAudit.setType(type);
+						workReviewAudit.setReportId(workProjectNotify.getNotifyId());
+						List<WorkReviewAudit> audits = workReviewStandardService.findAuditList(workReviewAudit);
+						for(WorkReviewAudit reviewAudit:workReviewAudits){
+							for (WorkReviewAudit audit:audits){
+								if (reviewAudit.getId().equals(audit.getStandardId())){
+									reviewAudit.setDeductOption(audit.getDeductOption());
+									break;
+								}
+							}
+						}
+						model.addAttribute("list", workReviewAudits);
 						projectcontentinfo.setFileAttachmentList(ruralProjectRecordsService.disposeDataAttachment(projectcontentinfo.getFileAttachmentList()));
 						projectcontentinfo.setFileGistdataList(ruralProjectRecordsService.disposeDataAttachment(projectcontentinfo.getFileGistdataList()));
 						projectcontentinfo.setFileOtherList(ruralProjectRecordsService.disposeDataAttachment(projectcontentinfo.getFileOtherList()));
@@ -3153,6 +3188,21 @@ public class WorkProjectNotifyController extends BaseController {
 					} else if (workProjectNotify.getRemarks().contains("重新申请") && !"1".equals(workProjectNotify.getStatus())) {
 						return "modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/new/projectRecordsMessageModifyTwo";
 					} else {
+						WorkReviewAudit workReviewAudit = new WorkReviewAudit();
+						String type = "4";
+						workReviewAudit.setCompanyId(UserUtils.getSelectCompany().getId());
+						workReviewAudit.setType(type);
+						workReviewAudit.setReportId(workProjectNotify.getNotifyId());
+						List<WorkReviewAudit> audits = workReviewStandardService.findAuditList(workReviewAudit);
+						for(WorkReviewAudit reviewAudit:workReviewAudits){
+							for (WorkReviewAudit audit:audits){
+								if (reviewAudit.getId().equals(audit.getStandardId())){
+									reviewAudit.setDeductOption(audit.getDeductOption());
+									break;
+								}
+							}
+						}
+						model.addAttribute("list", workReviewAudits);
 						projectcontentinfo.setFileAttachmentList(ruralProjectRecordsService.disposeDataAttachment(projectcontentinfo.getFileAttachmentList()));
 						projectcontentinfo.setFileGistdataList(ruralProjectRecordsService.disposeDataAttachment(projectcontentinfo.getFileGistdataList()));
 						projectcontentinfo.setFileOtherList(ruralProjectRecordsService.disposeDataAttachment(projectcontentinfo.getFileOtherList()));
@@ -3835,10 +3885,25 @@ public class WorkProjectNotifyController extends BaseController {
 					}
 					ProjectReportData projectReportData = projectReportDataService.getOnRural(projectReportRecord.getReport().getId());
 					projectReportRecord.setProjectReportData(projectReportData);
+					projectReportRecord.setReport(projectReportData);
 					Projectcontentinfo projectcontentinfo = projectcontentinfoService.getByInfoId(projectReportData.getId());
 					projectcontentinfo.setProjectReportData(projectReportData);
 					//获取项目信息
 					RuralProjectRecords ruralProjectRecords = ruralProjectRecordsService.getQueryProjectUsers(projectReportRecord.getReport().getProject().getId());
+					//获取复核标准
+					String reviewId="";
+					if ("2".equals(ruralProjectRecords.getSubmitMoney())){
+						reviewId="1";
+					}else{
+						if(StringUtils.isBlank(ruralProjectRecords.getEmergencyProject()) ||"0".equals(ruralProjectRecords.getEmergencyProject())){
+							reviewId="2";
+						}else if ("1".equals(ruralProjectRecords.getEmergencyProject())){
+							reviewId="3";
+						}
+					}
+					List<WorkReviewAudit> workReviewAudits = projectContentDataService.findListReview(reviewId,"紧急项目");
+					model.addAttribute("list", workReviewAudits);
+
 					//获取子项目列表信息
 					List<SubProjectInfo> subProjectInfos=this.queryReportDetails(ruralProjectRecords.getId());
 					//获取合同信息
@@ -3963,6 +4028,22 @@ public class WorkProjectNotifyController extends BaseController {
 					model.addAttribute("projectReportRecord", projectReportRecord);
 					model.addAttribute("project", projectReportRecord.getReport().getProject());
 					if (workProjectNotify.getRemarks().contains("待通知") || "view".equals(workProjectNotify.getView())) {
+						//展示
+						WorkReviewAudit workReviewAudit = new WorkReviewAudit();
+						String type = "4";
+						workReviewAudit.setCompanyId(UserUtils.getSelectCompany().getId());
+						workReviewAudit.setType(type);
+						workReviewAudit.setReportId(projectReportData.getId());
+						List<WorkReviewAudit> audits = workReviewStandardService.findAuditList(workReviewAudit);
+						for(WorkReviewAudit reviewAudit:workReviewAudits){
+							for (WorkReviewAudit audit:audits){
+								if (reviewAudit.getId().equals(audit.getStandardId())){
+									reviewAudit.setDeductOption(audit.getDeductOption());
+									break;
+								}
+							}
+						}
+						model.addAttribute("list", workReviewAudits);
 						projectReportRecord.setFileAttachmentList(ruralProjectRecordsService.disposeDataAttachment(projectReportRecord.getFileAttachmentList()));
 						projectReportRecord.setFileGistdataList(ruralProjectRecordsService.disposeDataAttachment(projectReportRecord.getFileGistdataList()));
 						projectReportRecord.setFileOtherList(ruralProjectRecordsService.disposeDataAttachment(projectReportRecord.getFileOtherList()));
@@ -3980,7 +4061,13 @@ public class WorkProjectNotifyController extends BaseController {
 						}
 						return "modules/ruralprojectrecords/record/cost/recordTwo/projectReportRecordAudit";
 					} else if (workProjectNotify.getRemarks().contains("重新申请") && !"1".equals(workProjectNotify.getStatus())) {
-						return "modules/ruralprojectrecords/record/cost/recordTwo/projectReportRecordModifyApply";
+						if("1".equals(ruralProjectRecords.getEmergencyProject())){
+							List<RuralReportConsultant> consultants=reConsultants(ruralProjectRecords,projectReportData);
+							model.addAttribute("info", consultants);
+							return "modules/ruralprojectrecords/record/cost/recordTwo/projectReportRecordUrgentModifyApply";
+						}else{
+							return "modules/ruralprojectrecords/record/cost/recordTwo/projectReportRecordModifyApply";
+						}
 					} else {
 						projectReportRecord.setFileAttachmentList(ruralProjectRecordsService.disposeDataAttachment(projectReportRecord.getFileAttachmentList()));
 						projectReportRecord.setFileGistdataList(ruralProjectRecordsService.disposeDataAttachment(projectReportRecord.getFileGistdataList()));

+ 9 - 0
src/main/java/com/jeeplus/modules/workreview/entity/WorkReviewAudit.java

@@ -24,6 +24,7 @@ public class WorkReviewAudit extends TreeEntity<WorkReviewAudit>{
 	private String type;
 	private String reportId;
 	private String deductOption;	//打分意见
+	private String standardId;		//标准id
 
 	public WorkReviewAudit() {
 		super();
@@ -121,4 +122,12 @@ public class WorkReviewAudit extends TreeEntity<WorkReviewAudit>{
 	public void setDeductOption(String deductOption) {
 		this.deductOption = deductOption;
 	}
+
+	public String getStandardId() {
+		return standardId;
+	}
+
+	public void setStandardId(String standardId) {
+		this.standardId = standardId;
+	}
 }

+ 9 - 0
src/main/java/com/jeeplus/modules/workreview/entity/WorkReviewStandard.java

@@ -26,6 +26,7 @@ public class WorkReviewStandard extends TreeEntity<WorkReviewStandard>{
 	private String companyId;   //公司id
 	private String type;
     private Integer proofread; //是否是校核
+	private String deductOption;	//打分意见
 
 	public WorkReviewStandard() {
 		super();
@@ -107,4 +108,12 @@ public class WorkReviewStandard extends TreeEntity<WorkReviewStandard>{
 	public void setType(String type) {
 		this.type = type;
 	}
+
+	public String getDeductOption() {
+		return deductOption;
+	}
+
+	public void setDeductOption(String deductOption) {
+		this.deductOption = deductOption;
+	}
 }

+ 216 - 0
src/main/resources/freemarker/batchFilingList.ftl

@@ -0,0 +1,216 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<?mso-application progid="Excel.Sheet"?>
+<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882">
+	<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
+		<Author>Admin</Author>
+		<LastAuthor>enford</LastAuthor>
+		<Created>2021-07-28T01:37:00Z</Created>
+		<LastSaved>2021-07-28T02:13:27Z</LastSaved>
+	</DocumentProperties>
+	<CustomDocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
+		<KSOProductBuildVer dt:dt="string">2052-11.1.0.10667</KSOProductBuildVer>
+		<ICV dt:dt="string">25F8FAA23C8546179E6DFC1480405460</ICV>
+	</CustomDocumentProperties>
+	<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
+		<WindowWidth>23040</WindowWidth>
+		<WindowHeight>9420</WindowHeight>
+		<ProtectStructure>False</ProtectStructure>
+		<ProtectWindows>False</ProtectWindows>
+	</ExcelWorkbook>
+	<Styles>
+		<Style ss:ID="Default" ss:Name="Normal">
+			<Alignment ss:Vertical="Center"/>
+			<Borders/>
+			<Font ss:FontName="宋体" x:CharSet="134" ss:Size="11" ss:Color="#000000"/>
+			<Interior/>
+			<NumberFormat/>
+			<Protection/>
+		</Style>
+		<Style ss:ID="s49"/>
+		<Style ss:ID="s50">
+			<Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
+		</Style>
+		<Style ss:ID="s51">
+			<Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
+			<Borders>
+				<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#DDDDDD"/>
+				<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#EBEBEB"/>
+				<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#E7E7E7"/>
+				<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#EBEBEB"/>
+			</Borders>
+			<Font ss:FontName="宋体" x:CharSet="134" ss:Size="10.5" ss:Color="#333333" ss:Bold="1"/>
+			<Interior ss:Color="#F5F5F6" ss:Pattern="Solid"/>
+		</Style>
+		<Style ss:ID="s52">
+			<Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
+			<Borders>
+				<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#DDDDDD"/>
+				<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="2"/>
+				<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#E7E7E7"/>
+				<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#EBEBEB"/>
+			</Borders>
+			<Font ss:FontName="宋体" x:CharSet="134" ss:Size="10.5" ss:Color="#333333" ss:Bold="1"/>
+			<Interior ss:Color="#F5F5F6" ss:Pattern="Solid"/>
+		</Style>
+		<Style ss:ID="s53">
+			<Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
+			<Borders>
+				<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#DDDDDD"/>
+				<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#E7E7E7"/>
+				<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#E7E7E7"/>
+				<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#EBEBEB"/>
+			</Borders>
+			<Font ss:FontName="宋体" x:CharSet="134" ss:Size="10.5" ss:Color="#333333" ss:Bold="1"/>
+			<Interior ss:Color="#F5F5F6" ss:Pattern="Solid"/>
+		</Style>
+		<Style ss:ID="s54">
+			<Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
+			<Borders>
+				<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#E7E7E7"/>
+				<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#EBEBEB"/>
+				<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#E7E7E7"/>
+				<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#E7EAEC"/>
+			</Borders>
+			<Font ss:FontName="Helvetica" x:CharSet="134" ss:Size="10.5" ss:Color="#333333"/>
+			<Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
+		</Style>
+		<Style ss:ID="s55">
+			<Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
+			<Borders>
+				<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#E7E7E7"/>
+				<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#E7E7E7"/>
+				<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#E7E7E7"/>
+				<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#E7EAEC"/>
+			</Borders>
+			<Font ss:FontName="Helvetica" x:CharSet="134" ss:Size="10.5" ss:Color="#333333"/>
+			<Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
+		</Style>
+		<Style ss:ID="s56">
+			<Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
+			<Borders>
+				<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#E7E7E7"/>
+				<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#E7E7E7"/>
+				<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#E7E7E7"/>
+				<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#E7EAEC"/>
+			</Borders>
+			<Font ss:FontName="宋体" x:CharSet="134" ss:Size="10.5" ss:Color="#333333"/>
+			<Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
+		</Style>
+		<Style ss:ID="s57">
+			<Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
+			<Borders>
+				<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#E7E7E7"/>
+				<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#EBEBEB"/>
+				<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#E7E7E7"/>
+				<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="2" ss:Color="#E7EAEC"/>
+			</Borders>
+			<Font ss:FontName="宋体" x:CharSet="134" ss:Size="10.5" ss:Color="#333333"/>
+			<Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
+		</Style>
+		<Style ss:ID="s58">
+			<Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
+		</Style>
+	</Styles>
+	<Worksheet ss:Name="Sheet1">
+		<Table ss:ExpandedColumnCount="5" ss:ExpandedRowCount="6" x:FullColumns="1" x:FullRows="1" ss:DefaultColumnWidth="48.6" ss:DefaultRowHeight="14.4">
+			<Column ss:Index="1" ss:StyleID="Default" ss:AutoFitWidth="0" ss:Width="116.8"/>
+			<Column ss:Index="2" ss:StyleID="Default" ss:AutoFitWidth="0" ss:Width="126.25"/>
+			<Column ss:StyleID="Default" ss:AutoFitWidth="0" ss:Width="292.3"/>
+			<Column ss:StyleID="Default" ss:AutoFitWidth="0" ss:Width="314.55"/>
+			<Column ss:StyleID="Default" ss:AutoFitWidth="0" ss:Width="113.4"/>
+			<Row ss:Height="15.15">
+				<Cell ss:StyleID="s58" ss:MergeAcross="4">
+					<Data ss:Type="String">${filingBatch}+${batchName}+${batchUser}</Data>
+				</Cell>
+			</Row>
+			<Row ss:Height="15.15">
+				<Cell ss:StyleID="s51">
+					<Data ss:Type="String">项目编号</Data>
+				</Cell>
+				<Cell ss:StyleID="s52">
+					<Data ss:Type="String">报告号</Data>
+				</Cell>
+				<Cell ss:StyleID="s52">
+					<Data ss:Type="String">项目名称</Data>
+				</Cell>
+				<Cell ss:StyleID="s53">
+					<Data ss:Type="String">归档文件类型</Data>
+				</Cell>
+				<Cell ss:StyleID="s53">
+					<Data ss:Type="String">归档文件描述</Data>
+				</Cell>
+			</Row>
+			<#list list as list>
+				<Row ss:Height="15.15">
+					<Cell ss:StyleID="s54">
+						<Data ss:Type="String">${list.projectId}</Data>
+					</Cell>
+					<Cell ss:StyleID="s55">
+						<Data ss:Type="String">${list.number}</Data>
+					</Cell>
+					<Cell ss:StyleID="s55">
+						<Data ss:Type="String">${list.projectName}</Data>
+					</Cell>
+					<Cell ss:StyleID="s56">
+						<Data ss:Type="String">${list.batchFileType}</Data>
+					</Cell>
+					<Cell ss:StyleID="s56">
+						<Data ss:Type="String">${list.batchFileMiao}</Data>
+					</Cell>
+				</Row>
+			</#list>
+				<Cell ss:StyleID="s57">
+					<ss:Data ss:Type="String" xmlns="http://www.w3.org/TR/REC-html40">
+						<Font html:Color="#333333"/>
+						<Font html:Color="#333333">苏兴审核</Font>
+						<Font html:Face="Helvetica" html:Color="#333333">-2021-0154</Font>
+					</ss:Data>
+				</Cell>
+				<Cell ss:StyleID="s56">
+					<ss:Data ss:Type="String" xmlns="http://www.w3.org/TR/REC-html40">
+						<Font html:Color="#333333"/>
+						<Font html:Color="#333333">苏兴造字【</Font>
+						<Font html:Face="Helvetica" html:Color="#333333">2021</Font>
+						<Font html:Color="#333333">】</Font>
+						<Font html:Face="Helvetica" html:Color="#333333">1551</Font>
+					</ss:Data>
+				</Cell>
+				<Cell ss:StyleID="s55">
+					<ss:Data ss:Type="String" xmlns="http://www.w3.org/TR/REC-html40">
+						<Font html:Color="#333333"/>
+						<Font html:Color="#333333">2020</Font>
+						<Font html:Face="宋体" html:Color="#333333">年南京江宁</Font>
+						<Font html:Color="#333333">10kv</Font>
+						<Font html:Face="宋体" html:Color="#333333">及以下</Font>
+					</ss:Data>
+				</Cell>
+				<Cell ss:StyleID="s56">
+					<Data ss:Type="String">报告</Data>
+				</Cell>
+				<Cell ss:StyleID="s56">
+					<Data ss:Type="String">报告正文</Data>
+				</Cell>
+			</Row>
+		</Table>
+		<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+			<PageSetup>
+				<Header/>
+				<Footer/>
+			</PageSetup>
+			<Selected/>
+			<TopRowVisible>0</TopRowVisible>
+			<LeftColumnVisible>0</LeftColumnVisible>
+			<PageBreakZoom>100</PageBreakZoom>
+			<Panes>
+				<Pane>
+					<Number>3</Number>
+					<ActiveRow>8</ActiveRow>
+					<ActiveCol>2</ActiveCol>
+					<RangeSelection>R9C3</RangeSelection>
+				</Pane>
+			</Panes>
+			<ProtectObjects>False</ProtectObjects>
+			<ProtectScenarios>False</ProtectScenarios>
+		</WorksheetOptions>
+	</Worksheet>
+</Workbook>

+ 0 - 138
src/main/resources/freemarker/issueProcess.ftl

@@ -809,144 +809,6 @@
                                 </w:tblCellMar>
                             </w:tblPrEx>
                             <w:trPr>
-                                <w:trHeight w:val="2035" w:hRule="atLeast"/>
-                            </w:trPr>
-                            <w:tc>
-                                <w:tcPr>
-                                    <w:tcW w:w="8522" w:type="dxa"/>
-                                    <w:gridSpan w:val="4"/>
-                                </w:tcPr>
-                                <w:p>
-                                    <w:pPr>
-                                        <w:jc w:val="center"/>
-                                        <w:rPr>
-                                            <w:rFonts w:hint="eastAsia"/>
-                                            <w:vertAlign w:val="baseline"/>
-                                            <w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-                                        </w:rPr>
-                                    </w:pPr>
-                                    <w:r>
-                                        <w:rPr>
-                                            <w:rFonts w:hint="eastAsia"/>
-                                            <w:vertAlign w:val="baseline"/>
-                                            <w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-                                        </w:rPr>
-                                        <w:t>质管部审核</w:t>
-                                    </w:r>
-                                </w:p>
-                                <w:p>
-                                    <w:pPr>
-                                        <w:widowControl/>
-                                        <w:jc w:val="left"/>
-                                        <w:rPr>
-                                            <w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
-                                            <w:kern w:val="0"/>
-                                            <w:sz w:val="20"/>
-                                            <w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-                                        </w:rPr>
-                                    </w:pPr>
-                                </w:p>
-                                <w:p>
-                                    <w:pPr>
-                                        <w:rPr>
-                                            <w:rFonts w:hint="eastAsia"/>
-                                            <w:vertAlign w:val="baseline"/>
-                                            <w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-                                        </w:rPr>
-                                    </w:pPr>
-                                    <w:r>
-                                        <w:rPr>
-                                            <w:rFonts w:hint="eastAsia"/>
-                                            <w:vertAlign w:val="baseline"/>
-                                            <w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-                                        </w:rPr>
-                                        <w:t>${technicistRemarks}</w:t>
-                                    </w:r>
-                                </w:p>
-                                <w:p>
-                                    <w:pPr>
-                                        <w:widowControl/>
-                                        <w:jc w:val="left"/>
-                                        <w:rPr>
-                                            <w:rFonts w:hint="default" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
-                                            <w:kern w:val="0"/>
-                                            <w:sz w:val="20"/>
-                                            <w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-                                        </w:rPr>
-                                    </w:pPr>
-                                </w:p>
-                                <w:p>
-                                    <w:pPr>
-                                        <w:widowControl/>
-                                        <w:wordWrap/>
-                                        <w:jc w:val="center"/>
-                                        <w:rPr>
-                                            <w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
-                                            <w:kern w:val="0"/>
-                                            <w:sz w:val="20"/>
-                                            <w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-                                        </w:rPr>
-                                    </w:pPr>
-                                    <w:r>
-                                        <w:rPr>
-                                            <w:rFonts w:hint="eastAsia"/>
-                                            <w:vertAlign w:val="baseline"/>
-                                            <w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-                                        </w:rPr>
-                                        <w:t xml:space="preserve">                                        签字:${technicistName}</w:t>
-                                    </w:r>
-                                </w:p>
-                                <w:p>
-                                    <w:pPr>
-                                        <w:widowControl/>
-                                        <w:jc w:val="right"/>
-                                        <w:rPr>
-                                            <w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
-                                            <w:kern w:val="0"/>
-                                            <w:sz w:val="20"/>
-                                            <w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-                                        </w:rPr>
-                                    </w:pPr>
-                                    <w:r>
-                                        <w:rPr>
-                                            <w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:cs="Arial"/>
-                                            <w:kern w:val="0"/>
-                                            <w:sz w:val="20"/>
-                                            <w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-                                        </w:rPr>
-                                        <w:t>日期:  年   月   日</w:t>
-                                    </w:r>
-                                </w:p>
-                                <w:p>
-                                    <w:pPr>
-                                        <w:jc w:val="right"/>
-                                        <w:rPr>
-                                            <w:rFonts w:hint="eastAsia"/>
-                                            <w:vertAlign w:val="baseline"/>
-                                            <w:lang w:val="en-US" w:eastAsia="zh-CN"/>
-                                        </w:rPr>
-                                    </w:pPr>
-                                </w:p>
-                            </w:tc>
-                        </w:tr>
-                        <w:tr>
-                            <w:tblPrEx>
-                                <w:tblBorders>
-                                    <w:top w:val="single" w:color="auto" w:sz="4" w:space="0"/>
-                                    <w:left w:val="single" w:color="auto" w:sz="4" w:space="0"/>
-                                    <w:bottom w:val="single" w:color="auto" w:sz="4" w:space="0"/>
-                                    <w:right w:val="single" w:color="auto" w:sz="4" w:space="0"/>
-                                    <w:insideH w:val="single" w:color="auto" w:sz="4" w:space="0"/>
-                                    <w:insideV w:val="single" w:color="auto" w:sz="4" w:space="0"/>
-                                </w:tblBorders>
-                                <w:tblCellMar>
-                                    <w:top w:w="0" w:type="dxa"/>
-                                    <w:left w:w="108" w:type="dxa"/>
-                                    <w:bottom w:w="0" w:type="dxa"/>
-                                    <w:right w:w="108" w:type="dxa"/>
-                                </w:tblCellMar>
-                            </w:tblPrEx>
-                            <w:trPr>
                                 <w:trHeight w:val="2701" w:hRule="atLeast"/>
                             </w:trPr>
                             <w:tc>

+ 28 - 1
src/main/resources/mappings/modules/workOrder/WorkOrderDao.xml

@@ -172,6 +172,28 @@
 			</otherwise>
 		</choose>
 	</select>
+    <select id="findQuerstion" resultType="com.jeeplus.modules.workOrder.entity.WorkOrderQuerstion">
+		SELECT
+			a.id,
+		    a.question_key AS "questionKey",
+		    a.user_id AS "userId"
+		FROM
+			work_order_querstion_relation a
+		<where>
+			<if test="questionKey!=null and questionKey!=''">
+				and a.question_key=#{questionKey}
+			</if>
+		</where>
+	</select>
+	<select id="getQuerstion" resultType="com.jeeplus.modules.workOrder.entity.WorkOrderQuerstion">
+		SELECT
+		a.id,
+		a.question_key AS "questionKey",
+		a.user_id AS "userId"
+		FROM
+		work_order_querstion_relation a
+		where a.id=#{id}
+	</select>
 	<!--	<select id="findProcessingByUserId" resultType="com.jeeplus.modules.workOrder.entity.WorkOrderProcessing">-->
 <!--		select-->
 <!--		<include refid="workOrderProcessingColumns"/>-->
@@ -273,7 +295,12 @@
 			question_type=#{questionType}
 		WHERE id = #{id}
 	</update>
-	
+	<update id="updateQuestion">
+		UPDATE work_order_querstion_relation SET
+			  user_id=#{user.id}
+		WHERE id = #{id}
+	</update>
+
 	<delete id="delete">
 		delete from work_order WHERE id = #{id}
 	</delete>

+ 8 - 3
src/main/resources/mappings/modules/workreview/WorkReviewAuditDao.xml

@@ -16,6 +16,7 @@
 		a.max_deduct AS "maxDeduct",
 		a.deduct AS "deduct",
 		a.deductOption AS "deductOption",
+		a.standard_id AS "standardId",
 		a.order_num AS "orderNum",
 		type AS "type",
 		report_id AS "reportId",
@@ -72,7 +73,7 @@
 			</otherwise>
 		</choose>
 	</select>
-	
+
 	<select id="findAllList" resultType="WorkReviewAudit" >
 		SELECT 
 			<include refid="workReviewAuditColumns"/>
@@ -108,7 +109,9 @@
 			company_id,
 			order_num,
 			type,
-			report_id
+			report_id,
+			deductOption,
+			standard_id
 		) VALUES (
 			#{id},
 			#{createBy.id},
@@ -125,7 +128,9 @@
 			#{companyId},
 			#{orderNum},
 			#{type},
-			#{reportId}
+			#{reportId},
+			#{deductOption},
+			#{standardId}
 		)
 	</insert>
 	

+ 3 - 1
src/main/webapp/webpage/modules/projectFilingBatch/projectFilingBatchView.jsp

@@ -245,7 +245,9 @@
             </div>
 
         <div class="form-group layui-row">
-            <div class="form-group-label"><h2>归档项目信息</h2></div>
+            <div class="form-group-label" style="overflow:hidden;"><h2 style="float: left">归档项目信息</h2>
+                <div style="float: right"> <a href="${ctx}/workfullmanage/workFullManage/downloadBatchFilingList?id=${projectFilingBatch.id}"  onclick="return confirmx('确认要下载批量归档清单吗?', this.href)" class="layui-btn layui-btn-sm" ><i class="fa fa-file-excel-o"></i> 下载批量归档清单</a></div>
+            </div>
             <table id="permissionTable" class="layui-table" lay-filter="permissionTable"></table>
         </div>
         </form:form>

+ 20 - 20
src/main/webapp/webpage/modules/projectPaperFiling/projectPaperFilingForm.jsp

@@ -52,18 +52,18 @@
 				form.render();
 			});
 			//默认打开判断是否时紧急项目
-			var submitMoney="${projectRecords.submitMoney}"
-			if(submitMoney==1){
-				$("#emergencyProject").parent().parent().parent().show();
-				var emergencyProject="${projectRecords.emergencyProject}"
-				if (emergencyProject=="1"){
-					$("#emergencyProject").prop("checked",true);
-					layui.form.render();
-				}else{
-					$("#emergencyProject").prop("checked",false);
-					layui.form.render();
-				}
-			}
+			<%--var submitMoney="${projectRecords.submitMoney}"--%>
+			<%--if(submitMoney==1){--%>
+			<%--	$("#emergencyProject").parent().parent().parent().show();--%>
+			<%--	var emergencyProject="${projectRecords.emergencyProject}"--%>
+			<%--	if (emergencyProject=="1"){--%>
+			<%--		$("#emergencyProject").prop("checked",true);--%>
+			<%--		layui.form.render();--%>
+			<%--	}else{--%>
+			<%--		$("#emergencyProject").prop("checked",false);--%>
+			<%--		layui.form.render();--%>
+			<%--	}--%>
+			<%--}--%>
 		});
 		function initRecordStatus(index,id,dataid,status)
 		{
@@ -254,14 +254,14 @@
                             </form:select>--%>
 					</div>
 				</div>
-				<div class="layui-item layui-col-sm6 lw7" style="display: none">
-					<label class="layui-form-label double-line">是否是紧急项目:</label>
-					<div class="layui-input-block">
-						<div style="margin-right: 30px;">
-							<input type="checkbox" id="emergencyProject" disabled lay-filter="emergencyProject" lay-skin="switch" lay-text="是|否">
-						</div>
-					</div>
-				</div>
+<%--				<div class="layui-item layui-col-sm6 lw7" style="display: none">--%>
+<%--					<label class="layui-form-label double-line">是否是紧急项目:</label>--%>
+<%--					<div class="layui-input-block">--%>
+<%--						<div style="margin-right: 30px;">--%>
+<%--							<input type="checkbox" id="emergencyProject" disabled lay-filter="emergencyProject" lay-skin="switch" lay-text="是|否">--%>
+<%--						</div>--%>
+<%--					</div>--%>
+<%--				</div>--%>
 				<div class="layui-item layui-col-sm6 lw6">
 					<label class="layui-form-label double-line">送审规模(万元):</label>
 					<div class="layui-input-block">

+ 20 - 20
src/main/webapp/webpage/modules/projectPaperFiling/projectPaperFilingModify.jsp

@@ -67,18 +67,18 @@
 				},100);
 			}
 			//默认打开判断是否时紧急项目
-			var submitMoney="${projectRecords.submitMoney}"
-			if(submitMoney==1){
-				$("#emergencyProject").parent().parent().parent().show();
-				var emergencyProject="${projectRecords.emergencyProject}"
-				if (emergencyProject=="1"){
-					$("#emergencyProject").prop("checked",true);
-					layui.form.render();
-				}else{
-					$("#emergencyProject").prop("checked",false);
-					layui.form.render();
-				}
-			}
+			<%--var submitMoney="${projectRecords.submitMoney}"--%>
+			<%--if(submitMoney==1){--%>
+			<%--	$("#emergencyProject").parent().parent().parent().show();--%>
+			<%--	var emergencyProject="${projectRecords.emergencyProject}"--%>
+			<%--	if (emergencyProject=="1"){--%>
+			<%--		$("#emergencyProject").prop("checked",true);--%>
+			<%--		layui.form.render();--%>
+			<%--	}else{--%>
+			<%--		$("#emergencyProject").prop("checked",false);--%>
+			<%--		layui.form.render();--%>
+			<%--	}--%>
+			<%--}--%>
 		});
 
 		function insertTitle(tValue){
@@ -300,14 +300,14 @@
                             </form:select>--%>
 					</div>
 				</div>
-				<div class="layui-item layui-col-sm6 lw7" style="display: none">
-					<label class="layui-form-label double-line">是否是紧急项目:</label>
-					<div class="layui-input-block">
-						<div style="margin-right: 30px;">
-							<input type="checkbox" id="emergencyProject" disabled lay-filter="emergencyProject" lay-skin="switch" lay-text="是|否">
-						</div>
-					</div>
-				</div>
+<%--				<div class="layui-item layui-col-sm6 lw7" style="display: none">--%>
+<%--					<label class="layui-form-label double-line">是否是紧急项目:</label>--%>
+<%--					<div class="layui-input-block">--%>
+<%--						<div style="margin-right: 30px;">--%>
+<%--							<input type="checkbox" id="emergencyProject" disabled lay-filter="emergencyProject" lay-skin="switch" lay-text="是|否">--%>
+<%--						</div>--%>
+<%--					</div>--%>
+<%--				</div>--%>
 				<div class="layui-item layui-col-sm6 lw6">
 					<label class="layui-form-label double-line">送审规模(万元):</label>
 					<div class="layui-input-block">

+ 5 - 2
src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectMessageList.jsp

@@ -819,9 +819,11 @@
 										if(d.projectReportRecordStatus == 4){
 											//驳回操作
 											if(d.newRecordTwoNotifyFlag == 1){
-												xml+="<a href=\"#\" onclick=\"openDialogre('调整归档信息', '${ctx}/ruralProject/ruralCostProjectMessageNewTwo/formRecordModify?id=" + d.prrId + "&view=modify','95%', '95%','','送审,关闭')\" class=\"layui-btn layui-btn-xs  layui-bg-green\" > 线上重新归档</a>";
+												<%--xml+="<a href=\"#\" onclick=\"openDialogre('调整归档信息', '${ctx}/ruralProject/ruralCostProjectMessageNewTwo/formRecordModify?id=" + d.prrId + "&view=modify','95%', '95%','','送审,关闭')\" class=\"layui-btn layui-btn-xs  layui-bg-green\" > 线上重新归档1</a>";--%>
+												xml+="<a href=\"#\" onclick=\"openDialogre('调整归档信息', '${ctx}/ruralProject/ruralCostProjectMessageNewTwo/formRecordUrgentModify?id=" + d.prrId + "&view=urgent','95%', '95%','','送审,关闭')\" class=\"layui-btn layui-btn-xs  layui-bg-green\" > 线上重新归档</a>";
 											}else if(d.newRecordNotifyFlag == 1){
-												xml+="<a href=\"#\" onclick=\"openDialogre('调整归档信息', '${ctx}/ruralProject/ruralCostProjectMessageNew/formRecordModify?id=" + d.prrId + "&view=modify','95%', '95%','','送审,关闭')\" class=\"layui-btn layui-btn-xs  layui-bg-green\" > 线上重新归档</a>";
+												xml+="<a href=\"#\" onclick=\"openDialogre('调整归档信息', '${ctx}/ruralProject/ruralCostProjectMessageNew/formRecordUrgentModify?id=" + d.prrId + "&view=urgent ','95%', '95%','','送审,关闭')\" class=\"layui-btn layui-btn-xs  layui-bg-green\" > 线上重新归档</a>";
+												<%--xml+="<a href=\"#\" onclick=\"openDialogre('调整归档信息', '${ctx}/ruralProject/ruralCostProjectMessageNew/formRecordModify?id=" + d.prrId + "&view=modify','95%', '95%','','送审,关闭')\" class=\"layui-btn layui-btn-xs  layui-bg-green\" > 线上重新归档2</a>";--%>
 											}else{
 												xml+="<a href=\"#\" onclick=\"openDialogre('调整归档信息', '${ctx}/ruralProject/ruralCostProjectMessage/formRecordModify?id=" + d.prrId + "&view=modify','95%', '95%','','送审,关闭')\" class=\"layui-btn layui-btn-xs  layui-bg-green\" > 线上重新归档</a>";
 											}
@@ -1058,6 +1060,7 @@
 					,"ppfProcessInstanceId":"${projectRecords.ppfProcessInstanceId}"
 					,"submitMoney":"${projectRecords.submitMoney}"
 					,"newRecordTwoNotifyFlag":"${projectRecords.newRecordTwoNotifyFlag}"
+					,"newRecordNotifyFlag":"${projectRecords.newRecordNotifyFlag}"
 					,"falg":
 					<c:choose>
 						<c:when test="${fns:getUser().id == projectRecords.leaderIds || fns:getUser().id eq projectRecords.createBy.id}">

+ 26 - 26
src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectRecordsAdminModify.jsp

@@ -112,40 +112,40 @@
                 layui.form.on('radio(submitMoney)', function(data){
                     var span=data.value;
                     if(span==2){
-                        $("#emergencyProject").parent().parent().parent().hide();
+                        // $("#emergencyProject").parent().parent().parent().hide();
                         //A级均为非紧急项目
                         $("#emergencyProjectFlag").val("0");
-                        $("#emergencyProject").prop("checked",false);
+                        // $("#emergencyProject").prop("checked",false);
                         layui.form.render();
                     }else if(span==1){
-                        $("#emergencyProject").parent().parent().parent().show();
-                        //B级默认非紧急项目
-                        $("#emergencyProjectFlag").val("0");
-                    }
-                });
-                form.on('switch(emergencyProject)',function(data){
-                    var flag=$(this).prop("checked")
-                    if (flag){
-                        //是紧急项目
+                        // $("#emergencyProject").parent().parent().parent().show();
+                        //B级默认紧急项目
                         $("#emergencyProjectFlag").val("1");
-                    }else{
-                        //不是紧急项目
-                        $("#emergencyProjectFlag").val("0");
                     }
-                })
+                });
+                // form.on('switch(emergencyProject)',function(data){
+                //     var flag=$(this).prop("checked")
+                //     if (flag){
+                //         //是紧急项目
+                //         $("#emergencyProjectFlag").val("1");
+                //     }else{
+                //         //不是紧急项目
+                //         $("#emergencyProjectFlag").val("0");
+                //     }
+                // })
             });
             //默认打开判断是否时紧急项目
             var submitMoney="${ruralProjectRecords.submitMoney}"
             if(submitMoney==1){
-                $("#emergencyProject").parent().parent().parent().show();
+                // $("#emergencyProject").parent().parent().parent().show();
                 var emergencyProject="${ruralProjectRecords.emergencyProject}"
                 if (emergencyProject=="1"){
                     $("#emergencyProjectFlag").val("1");
-                    $("#emergencyProject").prop("checked",true);
+                    // $("#emergencyProject").prop("checked",true);
                     layui.form.render();
                 }else{
                     $("#emergencyProjectFlag").val("0");
-                    $("#emergencyProject").prop("checked",false);
+                    // $("#emergencyProject").prop("checked",false);
                     layui.form.render();
                 }
             }
@@ -881,14 +881,14 @@
                         </c:forEach>
                     </div>
                 </div>
-                <div class="layui-item layui-col-sm6 lw7" style="display: none">
-                    <label class="layui-form-label double-line">是否是紧急项目:</label>
-                    <div class="layui-input-block">
-                        <div style="margin-right: 30px;">
-                            <input type="checkbox" id="emergencyProject" lay-filter="emergencyProject" lay-skin="switch" lay-text="是|否">
-                        </div>
-                    </div>
-                </div>
+<%--                <div class="layui-item layui-col-sm6 lw7" style="display: none">--%>
+<%--                    <label class="layui-form-label double-line">是否是紧急项目:</label>--%>
+<%--                    <div class="layui-input-block">--%>
+<%--                        <div style="margin-right: 30px;">--%>
+<%--                            <input type="checkbox" id="emergencyProject" lay-filter="emergencyProject" lay-skin="switch" lay-text="是|否">--%>
+<%--                        </div>--%>
+<%--                    </div>--%>
+<%--                </div>--%>
                 <div class="layui-item layui-col-sm6 lw6">
                     <label class="layui-form-label double-line"><span class="require-item">*</span>送审规模(万元):</label>
                     <div class="layui-input-block">

+ 29 - 33
src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectRecordsForm.jsp

@@ -188,40 +188,40 @@
                 layui.form.on('radio(submitMoney)', function(data){
                     var span=data.value;
                     if(span==2){
-                        $("#emergencyProject").parent().parent().parent().hide();
+                        // $("#emergencyProject").parent().parent().parent().hide();
                         //A级均为非紧急项目
                         $("#emergencyProjectFlag").val("0");
-                        $("#emergencyProject").prop("checked",false);
+                        // $("#emergencyProject").prop("checked",false);
                         layui.form.render();
                     }else if(span==1){
-                        $("#emergencyProject").parent().parent().parent().show();
-                        //B级默认非紧急项目
-                        $("#emergencyProjectFlag").val("0");
-                    }
-                });
-                form.on('switch(emergencyProject)',function(data){
-                    var flag=$(this).prop("checked")
-                    if (flag){
-                        //是紧急项目
+                        // $("#emergencyProject").parent().parent().parent().show();
+                        //B级默认紧急项目
                         $("#emergencyProjectFlag").val("1");
-                    }else{
-                        //不是紧急项目
-                        $("#emergencyProjectFlag").val("0");
                     }
-                })
+                });
+                // form.on('switch(emergencyProject)',function(data){
+                //     var flag=$(this).prop("checked")
+                //     if (flag){
+                //         //是紧急项目
+                //         $("#emergencyProjectFlag").val("1");
+                //     }else{
+                //         //不是紧急项目
+                //         $("#emergencyProjectFlag").val("0");
+                //     }
+                // })
             });
             //默认打开判断是否时紧急项目
             var submitMoney="${ruralProjectRecords.submitMoney}"
             if(submitMoney==1){
-                $("#emergencyProject").parent().parent().parent().show();
+                // $("#emergencyProject").parent().parent().parent().show();
                 var emergencyProject="${ruralProjectRecords.emergencyProject}"
                 if (emergencyProject=="1"){
                     $("#emergencyProjectFlag").val("1");
-                    $("#emergencyProject").prop("checked",true);
+                    // $("#emergencyProject").prop("checked",true);
                     layui.form.render();
                 }else{
                     $("#emergencyProjectFlag").val("0");
-                    $("#emergencyProject").prop("checked",false);
+                    // $("#emergencyProject").prop("checked",false);
                     layui.form.render();
                 }
             }
@@ -1022,13 +1022,9 @@
                 <div class="layui-item layui-col-sm6 lw7">
                     <label class="layui-form-label"><span class="require-item">*</span>项目等级:</label>
                     <div class="layui-input-block">
-                            <c:forEach items="${fns:getMainDictListOnProjectAdvent('attachment_project_grade')}" var="v">
-                                <input type="radio" name="submitMoney" lay-filter="submitMoney" id="submitMoney" value="${v.value}" title="${v.label}" <c:if test="${ruralProjectRecords.submitMoney==v.value}">checked</c:if>>
-                            </c:forEach>
-<%--                        <form:select path="submitMoney" lay-verify="judgment" class="form-control judgment simple-select">--%>
-<%--                            <form:option value=""/>--%>
-<%--                            <form:options items="" itemLabel="label" itemValue="value" htmlEscape="false"/>--%>
-<%--                        </form:select>--%>
+                        <c:forEach items="${fns:getMainDictListOnProjectAdvent('attachment_project_grade')}" var="v">
+                            <input type="radio" name="submitMoney" lay-filter="submitMoney" id="submitMoney" value="${v.value}" title="${v.label}" <c:if test="${ruralProjectRecords.submitMoney==v.value}">checked</c:if>>
+                        </c:forEach>
                     </div>
                 </div>
 
@@ -1042,14 +1038,14 @@
                         </div>
                     </div>
                 </c:if>
-                <div class="layui-item layui-col-sm6 lw7" style="display: none">
-                    <label class="layui-form-label double-line">是否是紧急项目:</label>
-                    <div class="layui-input-block">
-                        <div style="margin-right: 30px;">
-                            <input type="checkbox" id="emergencyProject" lay-filter="emergencyProject" lay-skin="switch" lay-text="是|否">
-                        </div>
-                    </div>
-                </div>
+<%--                <div class="layui-item layui-col-sm6 lw7" style="display: none">--%>
+<%--                    <label class="layui-form-label double-line">是否是紧急项目:</label>--%>
+<%--                    <div class="layui-input-block">--%>
+<%--                        <div style="margin-right: 30px;">--%>
+<%--&lt;%&ndash;                            <input type="checkbox" id="emergencyProject" lay-filter="emergencyProject" lay-skin="switch" lay-text="是|否">&ndash;%&gt;--%>
+<%--                        </div>--%>
+<%--                    </div>--%>
+<%--                </div>--%>
                 <div class="layui-item layui-col-sm6 lw7">
                     <label class="layui-form-label double-line"><span class="require-item">*</span>送审规模(万元):</label>
                     <div class="layui-input-block">

+ 89 - 2
src/main/webapp/webpage/modules/ruralprojectrecords/record/cost/recordTwo/projectReportRecordAudit.jsp

@@ -1420,15 +1420,54 @@
 					</div>
 				</div>
 			</c:if>
-
+			<c:if test="${type=='1'}">
+				<div style="overflow:hidden;">
+					<div class="form-group-label">
+						<h2>质量复核内容</h2>
+					</div>
+					<div>
+						<div class="layui-item layui-col-xs12" >
+							<table id="treeTable2" class="table table-bordered table-condensed reviews no-bottom-margin">
+								<thead>
+								<tr>
+									<th width="40%">符合内容及评分标准</th>
+									<th width="10%">自校</th>
+									<th >意见</th>
+								</tr>
+								</thead>
+								<tbody id="projectReviewList">
+								<c:forEach items="${list}" var="workReviewAudit" varStatus="index">
+									<tr id="${workReviewAudit.id}" pid="${workReviewAudit.parent.id}">
+										<td class="hide">
+											<input id="projectReviewList${index.index}_standardId" name="projectReviewList[${index.index}].standardId" type="hidden" value="${workReviewAudit.id}"/>
+										</td>
+										<td title="${workReviewAudit.standardDetail}">
+												${workReviewAudit.standardDetail}
+										</td>
+										<td>
+											<i class="fa fa-check"></i>
+										</td>
+										<td class="input-td">
+											<input id="deductOpinion" name="projectReviewList[${index.index}].deductOption" placeholder="请输入意见" readonly="true" style="background-color: #FFFFFF;" value="" onclick="openDeductInfo(this.value,'${workReviewAudit.id}',this)" class="form-control layui-input"/>
+										</td>
+									</tr>
+								</c:forEach>
+								</tbody>
+							</table>
+						</div>
+					</div>
+				</div>
+			</c:if>
 			<div class="form-group layui-row page-end"></div>
 		</form:form>
+		<div>
 		<div class="form-group-label">
 			<div style="float: right"> <a href="javascript:void(0)" style='background-color: #FFB800' onclick="openDialogre('个人模板列表', '${ctx}/auditTemplate/auditTemplate/templateList?identification=${identification}&name=${identificationName}','80%', '70%','','关闭')" class="nav-btn layui-btn layui-btn-sm" ><i class="fa fa-file-excel-o"></i> 审核意见模板列表</a></div>
 			<h2>审批意见</h2>
 		</div>
 		<iframe id="iframe" src="${ctx}/auditTemplate/auditTemplate/iframeView?identification=${identification}" name="listresult" frameborder="0" align="left" width="100%" height="300" scrolling="value"></iframe>
-	</div>
+		</div>
+		</div>
 </div>
 <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>
@@ -1725,6 +1764,54 @@
 			});
 		}
 	}
+	function openDeductInfo(value,id,obj) {
+		top.layer.open({
+			type: 2,
+			area: ['80%','65%'],
+			title:"意见",
+			name:'friend',
+			skin:"two-btns",
+			content: encodeURI("${ctx}/ruralProject/ruralCostProjectMessageNew/selectDeduct?deductOpinion="+value+"&identification=ReportjinjiComments"),
+			btn: ['确定', '关闭'],
+			yes: function(index, layero){
+				var iframeWin = layero.find('iframe')[0].contentWindow; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+				var item = iframeWin.getSelectedItem();
+				console.log(item);
+				if(item == "-1"){
+					return;
+				}
+				var items = item.split('_item_');
+				console.log(items)
+				var option=items[1];
+				$.ajax({
+					url:"${ctx}/workreview/workReviewStandard/reportDeductOption",
+					data:{
+						"deductOption":option,
+						"id":id,
+					},
+					type:"post",
+					success:function(data){
+						if(data.status){
+							$(obj).val(option);
+							// parent.layer.msg('输入意见项成功',{icon:1});
+						}else {
+							parent.layer.msg(data.error,{icon:2});
+						}
+					}
+				});
+				top.layer.close(index);//关闭对话框。
+			},
+			cancel: function(index){
+			}
+		});
+	}
+	function readOpenInfo(value) {
+		layer.open({
+			title: '意见',
+			btn: ['关闭'],
+			content: value
+		});
+	}
 </script>
 </body>
 </html>

File diff suppressed because it is too large
+ 1551 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/record/cost/recordTwo/projectReportRecordUrgentModify.jsp


File diff suppressed because it is too large
+ 1291 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/record/cost/recordTwo/projectReportRecordUrgentModifyApply.jsp


+ 25 - 25
src/main/webapp/webpage/modules/ruralprojectrecords/ruralProjectRecordsForm.jsp

@@ -202,40 +202,40 @@
                 layui.form.on('radio(submitMoney)', function(data){
                     var span=data.value;
                     if(span==2){
-                        $("#emergencyProject").parent().parent().parent().hide();
+                        // $("#emergencyProject").parent().parent().parent().hide();
                         //A级均为非紧急项目
                         $("#emergencyProjectFlag").val("0");
-                        $("#emergencyProject").prop("checked",false);
+                        // $("#emergencyProject").prop("checked",false);
                         layui.form.render();
                     }else if(span==1){
-                        $("#emergencyProject").parent().parent().parent().show();
+                        // $("#emergencyProject").parent().parent().parent().show();
                         //B级默认非紧急项目
-                        $("#emergencyProjectFlag").val("0");
-                    }
-                });
-                form.on('switch(emergencyProject)',function(data){
-                    var flag=$(this).prop("checked")
-                    if (flag){
-                        //是紧急项目
                         $("#emergencyProjectFlag").val("1");
-                    }else{
-                        //不是紧急项目
-                        $("#emergencyProjectFlag").val("0");
                     }
-                })
+                });
+                // form.on('switch(emergencyProject)',function(data){
+                //     var flag=$(this).prop("checked")
+                //     if (flag){
+                //         //是紧急项目
+                //         $("#emergencyProjectFlag").val("1");
+                //     }else{
+                //         //不是紧急项目
+                //         $("#emergencyProjectFlag").val("0");
+                //     }
+                // })
             });
             //默认打开判断是否时紧急项目
             var submitMoney="${ruralProjectRecords.submitMoney}"
             if(submitMoney==1){
-                $("#emergencyProject").parent().parent().parent().show();
+                // $("#emergencyProject").parent().parent().parent().show();
                 var emergencyProject="${ruralProjectRecords.emergencyProject}"
                 if (emergencyProject=="1"){
                     $("#emergencyProjectFlag").val("1");
-                    $("#emergencyProject").prop("checked",true);
+                    // $("#emergencyProject").prop("checked",true);
                     layui.form.render();
                 }else{
                     $("#emergencyProjectFlag").val("0");
-                    $("#emergencyProject").prop("checked",false);
+                    // $("#emergencyProject").prop("checked",false);
                     layui.form.render();
                 }
             }
@@ -1059,14 +1059,14 @@
                         </div>
                     </div>
                 </c:if>
-                <div class="layui-item layui-col-sm6 lw7" style="display: none">
-                    <label class="layui-form-label double-line">是否是紧急项目:</label>
-                    <div class="layui-input-block">
-                        <div style="margin-right: 30px;">
-                            <input type="checkbox" id="emergencyProject" lay-filter="emergencyProject" lay-skin="switch" lay-text="是|否">
-                        </div>
-                    </div>
-                </div>
+<%--                <div class="layui-item layui-col-sm6 lw7" style="display: none">--%>
+<%--                    <label class="layui-form-label double-line">是否是紧急项目:</label>--%>
+<%--                    <div class="layui-input-block">--%>
+<%--                        <div style="margin-right: 30px;">--%>
+<%--                            <input type="checkbox" id="emergencyProject" lay-filter="emergencyProject" lay-skin="switch" lay-text="是|否">--%>
+<%--                        </div>--%>
+<%--                    </div>--%>
+<%--                </div>--%>
                 <div class="layui-item layui-col-sm6 lw7">
                     <label class="layui-form-label double-line"><span class="require-item">*</span>送审规模(万元):</label>
                     <div class="layui-input-block">

+ 17 - 20
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/new/projectRecordsMessageAudit.jsp

@@ -1165,9 +1165,9 @@
 													<%--<th width="25%">序号</th>--%>
 												<th width="40%">符合内容及评分标准</th>
 												<th width="10%">自校</th>
-												<th width="10%">最高分</th>
-												<th width="10%">扣分</th>
-												<th >扣分意见</th>
+<%--												<th width="10%">最高分</th>--%>
+<%--												<th width="10%">扣分</th>--%>
+												<th >意见</th>
 
 													<%--<th width="15%">操作</th>--%>
 											</tr>
@@ -1175,11 +1175,8 @@
 											<tbody id="projectReviewList">
 											<c:forEach items="${list}" var="workReviewAudit" varStatus="index">
 												<tr id="${workReviewAudit.id}" pid="${workReviewAudit.parent.id}">
-														<%--<td title="${workReviewAudit.orderNum}">--%>
-														<%--${workReviewAudit.orderNum}--%>
-														<%--</td>--%>
 													<td class="hide">
-														<input id="projectReviewList${index.index}_id" name="projectReviewList[${index.index}].id" type="hidden" value="${workReviewAudit.id}"/>
+														<input id="projectReviewList${index.index}_standardId" name="projectReviewList[${index.index}].standardId" type="hidden" value="${workReviewAudit.id}"/>
 													</td>
 													<td title="${workReviewAudit.standardDetail}">
 															${workReviewAudit.standardDetail}
@@ -1187,23 +1184,23 @@
 													<td>
 														<i class="fa fa-check"></i>
 													</td>
+<%--													<td class="input-td">--%>
+<%--														<input id="maxDeduct" readonly="true" htmlEscape="false" class="form-control layui-input" style="background-color: #fff;text-align: center" value="${workReviewAudit.maxDeduct}" />--%>
+<%--													</td>--%>
+<%--													<td class="input-td">--%>
+<%--														<input id="deduct" htmlEscape="false" name="projectReviewList[${index.index}].deduct"  class="form-control layui-input number" onChange="if(this.value)reportMaxDeduct(this.value,'${workReviewAudit.id}','${workReviewAudit.parent.id}',this)" placeholder="请输入"/>--%>
+<%--													</td>--%>
 													<td class="input-td">
-														<input id="maxDeduct" readonly="true" htmlEscape="false" class="form-control layui-input" style="background-color: #fff;text-align: center" value="${workReviewAudit.maxDeduct}" />
-													</td>
-													<td class="input-td">
-														<input id="deduct" htmlEscape="false" name="projectReviewList[${index.index}].deduct"  class="form-control layui-input number" onChange="if(this.value)reportMaxDeduct(this.value,'${workReviewAudit.id}','${workReviewAudit.parent.id}',this)" placeholder="请输入"/>
-													</td>
-													<td class="input-td">
-														<input id="deductOpinion" name="projectReviewList[${index.index}].deductOption" placeholder="请输入扣分意见" readonly="true" style="background-color: #FFFFFF;" value="" onclick="openDeductInfo(this.value,'${workReviewAudit.id}',this)" class="form-control layui-input"/>
+														<input id="deductOpinion" name="projectReviewList[${index.index}].deductOption" placeholder="请输入意见" readonly="true" style="background-color: #FFFFFF;" value="" onclick="openDeductInfo(this.value,'${workReviewAudit.id}',this)" class="form-control layui-input"/>
 													</td>
 												</tr>
 											</c:forEach>
-											<tr>
-												<td colspan="2" style="font-weight: bold">总分</td>
-												<td id="maxTotal"></td>
-												<td>(扣)&nbsp;<span id="total" style="color: red"></span></td>
-												<td>(得)&nbsp;<span id="deTotal" style="color: red"></span></td>
-											</tr>
+<%--											<tr>--%>
+<%--												<td colspan="2" style="font-weight: bold">总分</td>--%>
+<%--												<td id="maxTotal"></td>--%>
+<%--												<td>(扣)&nbsp;<span id="total" style="color: red"></span></td>--%>
+<%--												<td>(得)&nbsp;<span id="deTotal" style="color: red"></span></td>--%>
+<%--											</tr>--%>
 											</tbody>
 										</table>
 									</div>

+ 29 - 31
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/new/projectRecordsMessageAuditTwo.jsp

@@ -100,17 +100,17 @@
 				$(id).removeAttr("class","hide");
 
 			})
-			var maxTotal=0;
-			var length=$("#treeTable2 tbody tr").length;
-			for (var i=0;i<length;i++){
-				var zhi=$("#treeTable2 tbody").find("tr").eq(i).find("#maxDeduct").val();
-				if (undefined!=zhi && ''!=zhi){
-					maxTotal=maxTotal+parseInt(zhi);
-				}
-			}
-			$("#maxTotal").html(maxTotal);
-			$("#deTotal").html(maxTotal);
-			$("#total").html(0);
+			// var maxTotal=0;
+			// var length=$("#treeTable2 tbody tr").length;
+			// for (var i=0;i<length;i++){
+			// 	var zhi=$("#treeTable2 tbody").find("tr").eq(i).find("#maxDeduct").val();
+			// 	if (undefined!=zhi && ''!=zhi){
+			// 		maxTotal=maxTotal+parseInt(zhi);
+			// 	}
+			// }
+			// $("#maxTotal").html(maxTotal);
+			// $("#deTotal").html(maxTotal);
+			// $("#total").html(0);
         });
 
         function insertTitle(tValue){
@@ -1009,20 +1009,18 @@
 													<%--<th width="25%">序号</th>--%>
 												<th width="40%">符合内容及评分标准</th>
 												<th width="10%">自校</th>
-												<th width="10%">最高分</th>
-												<th width="10%">扣分</th>
-												<th >扣分意见</th>
+<%--												<th width="10%">最高分</th>--%>
+<%--												<th width="10%">扣分</th>--%>
+												<th >意见</th>
 													<%--<th width="15%">操作</th>--%>
 											</tr>
 											</thead>
 											<tbody>
 											<c:forEach items="${list}" var="workReviewAudit" varStatus="index">
 												<tr id="${workReviewAudit.id}" pid="${workReviewAudit.parent.id}">
-														<%--<td title="${workReviewAudit.orderNum}">--%>
-														<%--${workReviewAudit.orderNum}--%>
-														<%--</td>--%>
 													<td class="hide">
-														<input id="projectReviewList${index.index}_id" name="projectReviewList[${index.index}].id" type="hidden" value="${workReviewAudit.id}"/>
+<%--														<input id="projectReviewList${index.index}_id" name="projectReviewList[${index.index}].id" type="hidden" value="${workReviewAudit.id}"/>--%>
+														<input id="projectReviewList${index.index}_standardId" name="projectReviewList[${index.index}].standardId" type="hidden" value="${workReviewAudit.id}"/>
 													</td>
 													<td title="${workReviewAudit.standardDetail}">
 															${workReviewAudit.standardDetail}
@@ -1030,23 +1028,23 @@
 													<td>
 														<i class="fa fa-check"></i>
 													</td>
+<%--													<td class="input-td">--%>
+<%--														<input id="maxDeduct" readonly="true" htmlEscape="false" class="form-control layui-input" style="background-color: #fff;text-align: center" value="${workReviewAudit.maxDeduct}" />--%>
+<%--													</td>--%>
+<%--													<td class="input-td">--%>
+<%--														<input id="deduct" htmlEscape="false" name="projectReviewList[${index.index}].deduct"  class="form-control layui-input number" onChange="if(this.value)reportMaxDeduct(this.value,'${workReviewAudit.id}','${workReviewAudit.parent.id}',this)" placeholder="请输入"/>--%>
+<%--													</td>--%>
 													<td class="input-td">
-														<input id="maxDeduct" readonly="true" htmlEscape="false" class="form-control layui-input" style="background-color: #fff;text-align: center" value="${workReviewAudit.maxDeduct}" />
-													</td>
-													<td class="input-td">
-														<input id="deduct" htmlEscape="false" name="projectReviewList[${index.index}].deduct"  class="form-control layui-input number" onChange="if(this.value)reportMaxDeduct(this.value,'${workReviewAudit.id}','${workReviewAudit.parent.id}',this)" placeholder="请输入"/>
-													</td>
-													<td class="input-td">
-														<input id="deductOpinion" name="projectReviewList[${index.index}].deductOption" placeholder="请输入扣分意见" readonly="true" style="background-color: #FFFFFF;" value="" onclick="openDeductInfo(this.value,'${workReviewAudit.id}',this)" class="form-control layui-input"/>
+														<input id="deductOpinion" name="projectReviewList[${index.index}].deductOption" placeholder="请输入意见" readonly="true" style="background-color: #FFFFFF;" value="" onclick="openDeductInfo(this.value,'${workReviewAudit.id}',this)" class="form-control layui-input"/>
 													</td>
 												</tr>
 											</c:forEach>
-											<tr>
-												<td colspan="2" style="font-weight: bold">总分</td>
-												<td id="maxTotal"></td>
-												<td>(扣)&nbsp;<span id="total" style="color: red"></span></td>
-												<td>(得)&nbsp;<span id="deTotal" style="color: red"></span></td>
-											</tr>
+<%--											<tr>--%>
+<%--												<td colspan="2" style="font-weight: bold">总分</td>--%>
+<%--												<td id="maxTotal"></td>--%>
+<%--												<td>(扣)&nbsp;<span id="total" style="color: red"></span></td>--%>
+<%--												<td>(得)&nbsp;<span id="deTotal" style="color: red"></span></td>--%>
+<%--											</tr>--%>
 											</tbody>
 										</table>
 									</div>

+ 31 - 32
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/projectRecordsMessageTwoView.jsp

@@ -48,22 +48,22 @@
 					$("#contractRate").parent().parent().hide();
 				}
 			}
-			var length=$("#treeTable2 tbody tr").length;
-			var total=0;
-			var maxTotal=0;
-			for (var i=0;i<length;i++){
-				var zhi=$("#treeTable2 tbody").find("tr").eq(i).find("#deduct").val();
-				var zhiMax=$("#treeTable2 tbody").find("tr").eq(i).find("#maxDeduct").val();
-				if (undefined!=zhi && ''!=zhi){
-					total=total+parseInt(zhi);
-				}
-				if (undefined!=zhiMax && ''!=zhiMax){
-					maxTotal=maxTotal+parseInt(zhiMax);
-				}
-			}
-			$("#total").html(total);
-			$("#maxTotal").html(maxTotal);
-			$("#deTotal").html(maxTotal-total);
+			// var length=$("#treeTable2 tbody tr").length;
+			// var total=0;
+			// var maxTotal=0;
+			// for (var i=0;i<length;i++){
+			// 	var zhi=$("#treeTable2 tbody").find("tr").eq(i).find("#deduct").val();
+			// 	var zhiMax=$("#treeTable2 tbody").find("tr").eq(i).find("#maxDeduct").val();
+			// 	if (undefined!=zhi && ''!=zhi){
+			// 		total=total+parseInt(zhi);
+			// 	}
+			// 	if (undefined!=zhiMax && ''!=zhiMax){
+			// 		maxTotal=maxTotal+parseInt(zhiMax);
+			// 	}
+			// }
+			// $("#total").html(total);
+			// $("#maxTotal").html(maxTotal);
+			// $("#deTotal").html(maxTotal-total);
 		});
 
 		function readOpenInfo(value) {
@@ -898,9 +898,9 @@
 									<%--<th width="25%">序号</th>--%>
 								<th width="40%">符合内容及评分标准</th>
 								<th width="10%">自校</th>
-								<th width="10%">最高分</th>
-								<th width="10%">扣分</th>
-								<th >扣分意见</th>
+<%--								<th width="10%">最高分</th>--%>
+<%--								<th width="10%">扣分</th>--%>
+								<th >意见</th>
 									<%--<th width="15%">操作</th>--%>
 							</tr>
 							</thead>
@@ -916,24 +916,23 @@
 									<td>
 										<i class="fa fa-check"></i>
 									</td>
-									<td class="input-td">
-										<input id="maxDeduct" readonly="true" htmlEscape="false" class="form-control layui-input" style="background-color: #fff;text-align: center" value="${workReviewAudit.maxDeduct}" />
-									</td>
-									<td class="input-td">
-										<input id="deduct" htmlEscape="false" readonly="true" style="text-align: center;background-color: #fff" class="form-control layui-input number"  value="${workReviewAudit.deduct}"/>
-									</td>
+<%--									<td class="input-td">--%>
+<%--										<input id="maxDeduct" readonly="true" htmlEscape="false" class="form-control layui-input" style="background-color: #fff;text-align: center" value="${workReviewAudit.maxDeduct}" />--%>
+<%--									</td>--%>
+<%--									<td class="input-td">--%>
+<%--										<input id="deduct" htmlEscape="false" readonly="true" style="text-align: center;background-color: #fff" class="form-control layui-input number"  value="${workReviewAudit.deduct}"/>--%>
+<%--									</td>--%>
 									<td class="input-td">
 										<input id="deductOpinion" title="${workReviewAudit.deductOption}" style="text-align: center;background-color: #fff"   readonly="true" name="deductOpinion" value="${workReviewAudit.deductOption}" onclick="readOpenInfo(this.value)" class="form-control layui-input"/>
 									</td>
 								</tr>
 							</c:forEach>
-							<tr>
-								<td colspan="2" style="font-weight: bold">总分</td>
-								<td id="maxTotal"></td>
-								<td>(扣)&nbsp;<span id="total" style="color: red"></span></td>
-								<td>(得)&nbsp;<span id="deTotal" style="color: red"></span></td>
-
-							</tr>
+<%--							<tr>--%>
+<%--								<td colspan="2" style="font-weight: bold">总分</td>--%>
+<%--								<td id="maxTotal"></td>--%>
+<%--								<td>(扣)&nbsp;<span id="total" style="color: red"></span></td>--%>
+<%--								<td>(得)&nbsp;<span id="deTotal" style="color: red"></span></td>--%>
+<%--							</tr>--%>
 							</tbody>
 						</table>
 					</div>

+ 32 - 32
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/projectRecordsMessageView.jsp

@@ -48,22 +48,22 @@
 					$("#contractRate").parent().parent().hide();
 				}
 			}
-			var length=$("#treeTable2 tbody tr").length;
-			var total=0;
-			var maxTotal=0;
-			for (var i=0;i<length;i++){
-				var zhi=$("#treeTable2 tbody").find("tr").eq(i).find("#deduct").val();
-				var zhiMax=$("#treeTable2 tbody").find("tr").eq(i).find("#maxDeduct").val();
-				if (undefined!=zhi && ''!=zhi){
-					total=total+parseInt(zhi);
-				}
-				if (undefined!=zhiMax && ''!=zhiMax){
-					maxTotal=maxTotal+parseInt(zhiMax);
-				}
-			}
-			$("#total").html(total);
-			$("#maxTotal").html(maxTotal);
-			$("#deTotal").html(maxTotal-total);
+			// var length=$("#treeTable2 tbody tr").length;
+			// var total=0;
+			// var maxTotal=0;
+			// for (var i=0;i<length;i++){
+			// 	var zhi=$("#treeTable2 tbody").find("tr").eq(i).find("#deduct").val();
+			// 	var zhiMax=$("#treeTable2 tbody").find("tr").eq(i).find("#maxDeduct").val();
+			// 	if (undefined!=zhi && ''!=zhi){
+			// 		total=total+parseInt(zhi);
+			// 	}
+			// 	if (undefined!=zhiMax && ''!=zhiMax){
+			// 		maxTotal=maxTotal+parseInt(zhiMax);
+			// 	}
+			// }
+			// $("#total").html(total);
+			// $("#maxTotal").html(maxTotal);
+			// $("#deTotal").html(maxTotal-total);
 		});
 
 		function readOpenInfo(value) {
@@ -996,14 +996,14 @@
 									<%--<th width="25%">序号</th>--%>
 								<th width="40%">符合内容及评分标准</th>
 								<th width="10%">自校</th>
-									<th width="10%">最高分</th>
-									<th width="10%">扣分</th>
-								<th>扣分意见</th>
+<%--									<th width="10%">最高分</th>--%>
+<%--									<th width="10%">扣分</th>--%>
+								<th>意见</th>
 									<%--<th width="15%">操作</th>--%>
 							</tr>
 							</thead>
 							<tbody>
-							<c:forEach items="${list}" var="workReviewAudit" varStatus="index">
+							<c:forEach items="${lists}" var="workReviewAudit" varStatus="index">
 								<tr id="${workReviewAudit.id}" pid="${workReviewAudit.parent.id}">
 										<%--<td title="${workReviewAudit.orderNum}">--%>
 										<%--${workReviewAudit.orderNum}--%>
@@ -1014,23 +1014,23 @@
 									<td>
 										<i class="fa fa-check"></i>
 									</td>
-									<td class="input-td">
-										<input id="maxDeduct" readonly="true" htmlEscape="false" class="form-control layui-input" style="background-color: #fff;text-align: center" value="${workReviewAudit.maxDeduct}" />
-									</td>
-									<td class="input-td">
-										<input id="deduct" htmlEscape="false" readonly="true" style="text-align: center;background-color: #fff" class="form-control layui-input number"  value="${workReviewAudit.deduct}"/>
-									</td>
+<%--									<td class="input-td">--%>
+<%--										<input id="maxDeduct" readonly="true" htmlEscape="false" class="form-control layui-input" style="background-color: #fff;text-align: center" value="${workReviewAudit.maxDeduct}" />--%>
+<%--									</td>--%>
+<%--									<td class="input-td">--%>
+<%--										<input id="deduct" htmlEscape="false" readonly="true" style="text-align: center;background-color: #fff" class="form-control layui-input number"  value="${workReviewAudit.deduct}"/>--%>
+<%--									</td>--%>
 									<td class="input-td">
 										<input id="deductOpinion" title="${workReviewAudit.deductOption}" style="text-align: center;background-color: #fff"   readonly="true" name="deductOpinion" value="${workReviewAudit.deductOption}" onclick="readOpenInfo(this.value)" class="form-control layui-input"/>
 									</td>
 								</tr>
 							</c:forEach>
-							<tr>
-								<td colspan="2" style="font-weight: bold">总分</td>
-								<td id="maxTotal"></td>
-								<td>(扣)&nbsp;<span id="total" style="color: red"></span></td>
-								<td>(得)&nbsp;<span id="deTotal" style="color: red"></span></td>
-							</tr>
+<%--							<tr>--%>
+<%--								<td colspan="2" style="font-weight: bold">总分</td>--%>
+<%--								<td id="maxTotal"></td>--%>
+<%--								<td>(扣)&nbsp;<span id="total" style="color: red"></span></td>--%>
+<%--								<td>(得)&nbsp;<span id="deTotal" style="color: red"></span></td>--%>
+<%--							</tr>--%>
 							</tbody>
 						</table>
 					</div>

+ 5 - 2
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/ruralProjectMessageList.jsp

@@ -817,9 +817,11 @@
 										if(d.projectReportRecordStatus == 4){
 											//驳回操作
 											if(d.newRecordTwoNotifyFlag == 1){
-												xml+="<a href=\"#\" onclick=\"openDialogre('调整归档信息', '${ctx}/ruralProject/ruralCostProjectMessageNewTwo/formRecordModify?id=" + d.prrId + "&view=modify','95%', '95%','','送审,关闭')\" class=\"layui-btn layui-btn-xs  layui-bg-green\" > 线上重新归档</a>";
+												xml+="<a href=\"#\" onclick=\"openDialogre('调整归档信息', '${ctx}/ruralProject/ruralCostProjectMessageNewTwo/formRecordUrgentModify?id=" + d.prrId + "&view=Reurgent','95%', '95%','','送审,关闭')\" class=\"layui-btn layui-btn-xs  layui-bg-green\" > 线上重新归档</a>";
+												<%--xml+="<a href=\"#\" onclick=\"openDialogre('调整归档信息', '${ctx}/ruralProject/ruralCostProjectMessageNewTwo/formRecordModify?id=" + d.prrId + "&view=modify','95%', '95%','','送审,关闭')\" class=\"layui-btn layui-btn-xs  layui-bg-green\" > 线上重新归档1</a>";--%>
 											}else if(d.newRecordNotifyFlag == 1){
-												xml+="<a href=\"#\" onclick=\"openDialogre('调整归档信息', '${ctx}/ruralProject/ruralCostProjectMessageNew/formRecordModify?id=" + d.prrId + "&view=modify','95%', '95%','','送审,关闭')\" class=\"layui-btn layui-btn-xs  layui-bg-green\" > 线上重新归档</a>";
+												xml+="<a href=\"#\" onclick=\"openDialogre('调整归档信息', '${ctx}/ruralProject/ruralCostProjectMessageNew/formRecordUrgentModify?id=" + d.prrId + "&view=Reurgent ','95%', '95%','','送审,关闭')\" class=\"layui-btn layui-btn-xs  layui-bg-green\" > 线上重新归档</a>";
+												<%--xml+="<a href=\"#\" onclick=\"openDialogre('调整归档信息', '${ctx}/ruralProject/ruralCostProjectMessageNew/formRecordModify?id=" + d.prrId + "&view=modify','95%', '95%','','送审,关闭')\" class=\"layui-btn layui-btn-xs  layui-bg-green\" > 线上重新归档</a>";--%>
 											}else{
 												xml+="<a href=\"#\" onclick=\"openDialogre('调整归档信息', '${ctx}/ruralProject/ruralCostProjectMessage/formRecordModify?id=" + d.prrId + "&view=modify','95%', '95%','','送审,关闭')\" class=\"layui-btn layui-btn-xs  layui-bg-green\" > 线上重新归档</a>";
 											}
@@ -1059,6 +1061,7 @@
 					,"ppfProcessInstanceId":"${projectRecords.ppfProcessInstanceId}"
 					,"submitMoney":"${projectRecords.submitMoney}"
 					,"newRecordTwoNotifyFlag":"${projectRecords.newRecordTwoNotifyFlag}"
+					,"newRecordNotifyFlag":"${projectRecords.newRecordNotifyFlag}"
 					,"falg":
 					<c:choose>
 						<c:when test="${fns:getUser().id == projectRecords.leaderIds || fns:getUser().id eq projectRecords.createBy.id}">

+ 38 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/view/projectReportRecordView.jsp

@@ -338,6 +338,44 @@
 					</div>
 				</div>
 			</div>
+			<div>
+				<div class="form-group-label">
+					<h2>质量复核内容</h2>
+				</div>
+				<div>
+					<div class="layui-item layui-col-xs12" >
+						<table id="treeTable2" class="table table-bordered table-condensed reviews no-bottom-margin">
+							<thead>
+							<tr>
+									<%--<th width="25%">序号</th>--%>
+								<th width="40%">符合内容及评分标准</th>
+								<th width="10%">自校</th>
+									<%--								<th width="10%">最高分</th>--%>
+									<%--								<th width="10%">扣分</th>--%>
+								<th >意见</th>
+
+									<%--<th width="15%">操作</th>--%>
+							</tr>
+							</thead>
+							<tbody>
+							<c:forEach items="${list}" var="workReviewAudit" varStatus="index">
+								<tr id="${workReviewAudit.id}" pid="${workReviewAudit.parent.id}">
+									<td title="${workReviewAudit.standardDetail}">
+											${workReviewAudit.standardDetail}
+									</td>
+									<td>
+										<i class="fa fa-check"></i>
+									</td>
+									<td class="input-td">
+										<input id="deductOpinion" style="text-align: center;background-color: #fff" title="${workReviewAudit.deductOption}" readonly="true" name="deductOpinion" value="${workReviewAudit.deductOption}" onclick="readOpenInfo(this.value)" class="form-control layui-input"/>
+									</td>
+								</tr>
+							</c:forEach>
+							</tbody>
+						</table>
+					</div>
+				</div>
+			</div>
 			<div class="form-group layui-row">
 				<div class="form-group-label"><h2>审批流程</h2></div>
 				<div class="layui-item layui-col-xs12 form-table-container" >

+ 31 - 31
src/main/webapp/webpage/modules/ruralprojectrecords/view/reportIssueView.jsp

@@ -63,22 +63,22 @@
 					}
 				})
 			})
-			var length=$("#treeTable2 tbody tr").length;
-			var total=0;
-			var maxTotal=0;
-			for (var i=0;i<length;i++){
-				var zhi=$("#treeTable2 tbody").find("tr").eq(i).find("#deduct").val();
-				var zhiMax=$("#treeTable2 tbody").find("tr").eq(i).find("#maxDeduct").val();
-				if (undefined!=zhi && ''!=zhi){
-					total=total+parseInt(zhi);
-				}
-				if (undefined!=zhiMax && ''!=zhiMax){
-					maxTotal=maxTotal+parseInt(zhiMax);
-				}
-			}
-			$("#total").html(total);
-			$("#maxTotal").html(maxTotal);
-			$("#deTotal").html(maxTotal-total);
+			// var length=$("#treeTable2 tbody tr").length;
+			// var total=0;
+			// var maxTotal=0;
+			// for (var i=0;i<length;i++){
+			// 	var zhi=$("#treeTable2 tbody").find("tr").eq(i).find("#deduct").val();
+			// 	var zhiMax=$("#treeTable2 tbody").find("tr").eq(i).find("#maxDeduct").val();
+			// 	if (undefined!=zhi && ''!=zhi){
+			// 		total=total+parseInt(zhi);
+			// 	}
+			// 	if (undefined!=zhiMax && ''!=zhiMax){
+			// 		maxTotal=maxTotal+parseInt(zhiMax);
+			// 	}
+			// }
+			// $("#total").html(total);
+			// $("#maxTotal").html(maxTotal);
+			// $("#deTotal").html(maxTotal-total);
 		});
 
 		function openDialogre(title,url,width,height,target,buttons) {
@@ -313,9 +313,9 @@
 									<%--<th width="25%">序号</th>--%>
 								<th width="40%">符合内容及评分标准</th>
 								<th width="10%">自校</th>
-								<th width="10%">最高分</th>
-								<th width="10%">扣分</th>
-								<th >扣分意见</th>
+<%--								<th width="10%">最高分</th>--%>
+<%--								<th width="10%">扣分</th>--%>
+								<th >意见</th>
 
 									<%--<th width="15%">操作</th>--%>
 							</tr>
@@ -332,23 +332,23 @@
 									<td>
 										<i class="fa fa-check"></i>
 									</td>
-									<td class="input-td">
-										<input id="maxDeduct" readonly="true" htmlEscape="false" class="form-control layui-input" style="background-color: #fff;text-align: center" value="${workReviewAudit.maxDeduct}" />
-									</td>
-									<td class="input-td">
-										<input id="deduct" style="text-align: center;background-color: #fff" htmlEscape="false" readonly="true" class="form-control layui-input" value="${workReviewAudit.deduct}">
-									</td>
+<%--									<td class="input-td">--%>
+<%--										<input id="maxDeduct" readonly="true" htmlEscape="false" class="form-control layui-input" style="background-color: #fff;text-align: center" value="${workReviewAudit.maxDeduct}" />--%>
+<%--									</td>--%>
+<%--									<td class="input-td">--%>
+<%--										<input id="deduct" style="text-align: center;background-color: #fff" htmlEscape="false" readonly="true" class="form-control layui-input" value="${workReviewAudit.deduct}">--%>
+<%--									</td>--%>
 									<td class="input-td">
 										<input id="deductOpinion" style="text-align: center;background-color: #fff" title="${workReviewAudit.deductOption}" readonly="true" name="deductOpinion" value="${workReviewAudit.deductOption}" onclick="readOpenInfo(this.value)" class="form-control layui-input"/>
 									</td>
 								</tr>
 							</c:forEach>
-							<tr>
-								<td colspan="2" style="font-weight: bold">总分</td>
-								<td id="maxTotal"></td>
-								<td>(扣)&nbsp;<span id="total" style="color: red"></span></td>
-								<td>(得)&nbsp;<span id="deTotal" style="color: red"></span></td>
-							</tr>
+<%--							<tr>--%>
+<%--								<td colspan="2" style="font-weight: bold">总分</td>--%>
+<%--								<td id="maxTotal"></td>--%>
+<%--								<td>(扣)&nbsp;<span id="total" style="color: red"></span></td>--%>
+<%--								<td>(得)&nbsp;<span id="deTotal" style="color: red"></span></td>--%>
+<%--							</tr>--%>
 							</tbody>
 						</table>
 					</div>

+ 31 - 31
src/main/webapp/webpage/modules/ruralprojectrecords/view/reportView.jsp

@@ -63,22 +63,22 @@
 					}
 				})
 			})
-			var length=$("#treeTable2 tbody tr").length;
-			var total=0;
-			var maxTotal=0;
-			for (var i=0;i<length;i++){
-				var zhi=$("#treeTable2 tbody").find("tr").eq(i).find("#deduct").val();
-				var zhiMax=$("#treeTable2 tbody").find("tr").eq(i).find("#maxDeduct").val();
-				if (undefined!=zhi && ''!=zhi){
-					total=total+parseInt(zhi);
-				}
-				if (undefined!=zhiMax && ''!=zhiMax){
-					maxTotal=maxTotal+parseInt(zhiMax);
-				}
-			}
-			$("#total").html(total);
-			$("#maxTotal").html(maxTotal);
-			$("#deTotal").html(maxTotal-total);
+			// var length=$("#treeTable2 tbody tr").length;
+			// var total=0;
+			// var maxTotal=0;
+			// for (var i=0;i<length;i++){
+			// 	var zhi=$("#treeTable2 tbody").find("tr").eq(i).find("#deduct").val();
+			// 	var zhiMax=$("#treeTable2 tbody").find("tr").eq(i).find("#maxDeduct").val();
+			// 	if (undefined!=zhi && ''!=zhi){
+			// 		total=total+parseInt(zhi);
+			// 	}
+			// 	if (undefined!=zhiMax && ''!=zhiMax){
+			// 		maxTotal=maxTotal+parseInt(zhiMax);
+			// 	}
+			// }
+			// $("#total").html(total);
+			// $("#maxTotal").html(maxTotal);
+			// $("#deTotal").html(maxTotal-total);
 		});
 
 		function openDialogre(title,url,width,height,target,buttons) {
@@ -382,9 +382,9 @@
 									<%--<th width="25%">序号</th>--%>
 								<th width="40%">符合内容及评分标准</th>
 								<th width="10%">自校</th>
-								<th width="10%">最高分</th>
-								<th width="10%">扣分</th>
-								<th >扣分意见</th>
+<%--								<th width="10%">最高分</th>--%>
+<%--								<th width="10%">扣分</th>--%>
+								<th >意见</th>
 
 									<%--<th width="15%">操作</th>--%>
 							</tr>
@@ -401,23 +401,23 @@
 									<td>
 										<i class="fa fa-check"></i>
 									</td>
-									<td class="input-td">
-										<input id="maxDeduct" readonly="true" htmlEscape="false" class="form-control layui-input" style="background-color: #fff;text-align: center" value="${workReviewAudit.maxDeduct}" />
-									</td>
-									<td class="input-td">
-										<input id="deduct" style="text-align: center;background-color: #fff" htmlEscape="false" readonly="true" class="form-control layui-input" value="${workReviewAudit.deduct}">
-									</td>
+<%--									<td class="input-td">--%>
+<%--										<input id="maxDeduct" readonly="true" htmlEscape="false" class="form-control layui-input" style="background-color: #fff;text-align: center" value="${workReviewAudit.maxDeduct}" />--%>
+<%--									</td>--%>
+<%--									<td class="input-td">--%>
+<%--										<input id="deduct" style="text-align: center;background-color: #fff" htmlEscape="false" readonly="true" class="form-control layui-input" value="${workReviewAudit.deduct}">--%>
+<%--									</td>--%>
 									<td class="input-td">
 										<input id="deductOpinion" style="text-align: center;background-color: #fff" title="${workReviewAudit.deductOption}" readonly="true" name="deductOpinion" value="${workReviewAudit.deductOption}" onclick="readOpenInfo(this.value)" class="form-control layui-input"/>
 									</td>
 								</tr>
 							</c:forEach>
-							<tr>
-								<td colspan="2" style="font-weight: bold">总分</td>
-								<td id="maxTotal"></td>
-								<td>(扣)&nbsp;<span id="total" style="color: red"></span></td>
-								<td>(得)&nbsp;<span id="deTotal" style="color: red"></span></td>
-							</tr>
+<%--							<tr>--%>
+<%--								<td colspan="2" style="font-weight: bold">总分</td>--%>
+<%--								<td id="maxTotal"></td>--%>
+<%--								<td>(扣)&nbsp;<span id="total" style="color: red"></span></td>--%>
+<%--								<td>(得)&nbsp;<span id="deTotal" style="color: red"></span></td>--%>
+<%--							</tr>--%>
 							</tbody>
 						</table>
 					</div>

+ 20 - 20
src/main/webapp/webpage/modules/ruralprojectrecords/view/ruralProjectRecordsView.jsp

@@ -51,18 +51,18 @@
 				form.render();
 			});
 			//默认打开判断是否时紧急项目
-			var submitMoney="${projectRecords.submitMoney}"
-			if(submitMoney==1){
-				$("#emergencyProject").parent().parent().parent().show();
-				var emergencyProject="${projectRecords.emergencyProject}"
-				if (emergencyProject=="1"){
-					$("#emergencyProject").prop("checked",true);
-					layui.form.render();
-				}else{
-					$("#emergencyProject").prop("checked",false);
-					layui.form.render();
-				}
-			}
+			<%--var submitMoney="${projectRecords.submitMoney}"--%>
+			<%--if(submitMoney==1){--%>
+			<%--	$("#emergencyProject").parent().parent().parent().show();--%>
+			<%--	var emergencyProject="${projectRecords.emergencyProject}"--%>
+			<%--	if (emergencyProject=="1"){--%>
+			<%--		$("#emergencyProject").prop("checked",true);--%>
+			<%--		layui.form.render();--%>
+			<%--	}else{--%>
+			<%--		$("#emergencyProject").prop("checked",false);--%>
+			<%--		layui.form.render();--%>
+			<%--	}--%>
+			<%--}--%>
 		})
 
 	</script>
@@ -246,14 +246,14 @@
 						</form:select>--%>
 					</div>
 				</div>
-				<div class="layui-item layui-col-sm6 lw7" style="display: none">
-					<label class="layui-form-label double-line">是否是紧急项目:</label>
-					<div class="layui-input-block">
-						<div style="margin-right: 30px;">
-							<input type="checkbox" id="emergencyProject" disabled lay-filter="emergencyProject" lay-skin="switch" lay-text="是|否">
-						</div>
-					</div>
-				</div>
+<%--				<div class="layui-item layui-col-sm6 lw7" style="display: none">--%>
+<%--					<label class="layui-form-label double-line">是否是紧急项目:</label>--%>
+<%--					<div class="layui-input-block">--%>
+<%--						<div style="margin-right: 30px;">--%>
+<%--							<input type="checkbox" id="emergencyProject" disabled lay-filter="emergencyProject" lay-skin="switch" lay-text="是|否">--%>
+<%--						</div>--%>
+<%--					</div>--%>
+<%--				</div>--%>
 				<div class="layui-item layui-col-sm6 lw6">
 					<label class="layui-form-label double-line">送审规模(万元):</label>
 					<div class="layui-input-block">

+ 486 - 0
src/main/webapp/webpage/modules/workOrder/quesitonTypeList.jsp

@@ -0,0 +1,486 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>反馈管理</title>
+	<meta name="decorator" content="default"/>
+	<script type="text/javascript" src="${ctxStatic}/ckeditor/ckeditor.js"></script>
+	<script type="text/javascript">
+
+		$(function () {
+			$(".btn btn-white btn-sm").bind("click",function () {
+
+            })
+        });
+
+        $(document).ready(function() {
+            //搜索框收放
+            $('#moresee').click(function(){
+                if($('#moresees').is(':visible'))
+                {
+                    $('#moresees').slideUp(0,resizeListWindow1);
+                    $('#moresee i').removeClass("glyphicon glyphicon-menu-up").addClass("glyphicon glyphicon-menu-down");
+                }else{
+                    $('#moresees').slideDown(0,resizeListWindow1);
+                    $('#moresee i').removeClass("glyphicon glyphicon-menu-down").addClass("glyphicon glyphicon-menu-up");
+                }
+            });
+            laydate.render({
+                elem: '#createStartDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+                event: 'focus', //响应事件。如果没有传入event,则按照默认的click
+                type : 'date'
+            });
+            laydate.render({
+                elem: '#createEndDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+                event: 'focus', //响应事件。如果没有传入event,则按照默认的click
+                type : 'date'
+            });
+        });
+
+        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: ['保存', '关闭'],
+                /*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中展示
+
+                    if (iframeWin.contentWindow.doSubmit()) {
+                        // top.layer.close(index);//关闭对话框。
+                        setTimeout(function () {
+                            top.layer.close(index)
+                        }, 100);//延时0.1秒,对应360 7.1版本bug
+                    }
+
+                },*/
+
+                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(2) ){
+                        // top.layer.close(index);//关闭对话框。
+                        setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                    }else {
+                        return false;
+                    }
+                },
+                btn2: function (index) {
+                }
+            });
+        }
+
+        function openDialogAdmin(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) {
+                }
+            });
+        }
+
+        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);
+							window.location.reload();
+						}, 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 openDialogreModify(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}/oa/oaNotify/getOaNotify?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();
+					}
+				}
+			});
+
+
+        }
+
+
+		//打开对话框(查看)
+		function openDialogListView(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}/feedback/questionFeedback/getFeedback?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();
+					}
+				}
+			});
+
+		}
+	</script>
+	<script>
+
+		function notifyDialogre(title,url,width,height,target){
+			if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+				width='auto';
+				height='auto';
+			}else{//如果是PC端,根据用户设置的width和height显示。
+
+			}
+			top.layer.open({
+				type: 2,
+				area: [width, height],
+				title: title,
+				skin:"three-btns",
+				maxmin: true, //开启最大化最小化按钮
+				content: url ,
+				btn: ['通过','驳回','关闭'],
+				btn1: function(index, layero){
+					var body = top.layer.getChildFrame('body', index);
+					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var inputForm = body.find('#inputForm');
+					var top_iframe;
+					if(target){
+						top_iframe = target;//如果指定了iframe,则在改frame中跳转
+					}else{
+						top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+					}
+					inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+					if(iframeWin.contentWindow.doSubmit(1) ){
+						top.layer.close(index);//关闭对话框。
+						setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+					}
+				},
+				btn2:function(index,layero){
+					var body = top.layer.getChildFrame('body', index);
+					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var inputForm = body.find('#inputForm');
+					var top_iframe;
+					if(target){
+						top_iframe = target;//如果指定了iframe,则在改frame中跳转
+					}else{
+						top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+					}
+					inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+					if(iframeWin.contentWindow.doSubmit(2) ){
+						top.layer.close(index);//关闭对话框。
+						setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+					}
+					return false;
+				},
+				btn3: function(index){
+				}
+			});
+
+		}
+	</script>
+	<style>
+		body{
+			background-color:transparent;
+			filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#26FFFFFF, endColorstr=#26FFFFFF);
+			color:#ffffff;
+			background-color:rgba(255,255,255,0);
+			height:100%;
+		}
+	</style>
+</head>
+<body>
+<div class="wrapper wrapper-content">
+	<sys:message content="${message}"/>
+	<div class="layui-row">
+		<div class="full-width fl">
+			<div class="contentShadow layui-row" id="queryDiv">
+			<form:form id="searchForm" modelAttribute="workOrderQuerstion" action="${ctx}/workOrder/workOrder/questionTypelist" 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}"/>
+			<input id="toflag" name="toflag" type="hidden" value="1"/>
+			<table:sortColumn id="orderBy" name="orderBy" value="${page.orderBy}" callback="sortOrRefresh();"/><!-- 支持排序 -->
+
+				<div class="commonQuery">
+					<div class="layui-item query athird">
+						<label class="layui-form-label">问题类型:</label>
+						<div class="layui-input-block with-icon">
+							<form:select path="questionKey" class="form-control simple-select">
+								<form:option value="" label=""/>
+								<form:options items="${fns:getMainDictList('work_order_question_type')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+							</form:select>
+						</div>
+					</div>
+					<div class="layui-item athird" style="float: right">
+						<div class="input-group">
+<%--							<a href="#" id="moresee"><i class="glyphicon glyphicon-menu-down"></i></a>--%>
+							<div class="layui-btn-group search-spacing">
+								<button id="searchQuery" class="layui-btn layui-btn-sm  layui-bg-blue" onclick="search()">查询</button>
+								<button id="searchReset" class="layui-btn layui-btn-sm  " onclick="resetSearch()">重置</button>
+							</div>
+						</div>
+					</div>
+					<div style="    clear:both;"></div>
+				</div>
+			</form:form>
+			</div>
+		</div>
+		<div class="full-width fl">
+			<div class="contentShadow layui-form contentDetails">
+				<div class="nav-btns">
+					<div class="layui-btn-group">
+						<button class="layui-btn layui-btn-sm" data-toggle="tooltip" data-placement="left" onclick="sortOrRefresh()" title="刷新"> 刷新</button>
+					</div>
+				</div>
+				<table class="oa-table layui-table" id="contentTable"></table>
+
+				<!-- 分页代码 -->
+				<table:page page="${page}"></table:page>
+				<div style="clear: both;"></div>
+			</div>
+		</div>
+	</div>
+	<div id="changewidth"></div>
+</div>
+<script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
+<script>
+    layui.use('table', function(){
+        layui.table.render({
+            limit:${ page.pageSize }
+            ,elem: '#contentTable'
+            ,page: false
+            ,cols: [[
+                // {checkbox: true, fixed: true},
+                {field:'index',align:'center',width:40,title: '序号'}
+				,{field:'questionStr',align:'center', title: '问题类型',templet:function(d){
+						var xml =
+								<%--"<a class=\"attention-info\" href=\"javascript:void(0)\" onclick=\"openDialogListView('查看反馈', '${ctx}/feedback/questionFeedback/view?id=" + d.id + "','" + d.id + "','95%','95%')\"></a>" +--%>
+								"<span title=" + d.questionStr + ">" + d.questionStr + "</span>";
+						return xml;
+					}}
+                ,{field:'userName', align:'center',title: '解决人',templet:function(d){
+                        return "<span title='"+ d.userName +"'>" + d.userName + "</span>";
+                    }}
+                ,{align:'center',title:"操作",templet:function(d){
+                        ////对操作进行初始化
+                        var xml = "<div class=\"layui-btn-group\">";
+						if(d.canedit1 != undefined && d.canedit1 =="1")
+						{
+							xml+="<a href=\"#\" onclick=\"openDialogre('配置用户', '${ctx}/workOrder/workOrder/questionform?id=" + d.id +"','80%', '50%','','保存,关闭')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 配置</a>";
+						}
+                        xml+="</div>"
+                            return xml;
+                    }}
+            ]]
+            ,data: [
+                <c:if test="${ not empty page.list}">
+                <c:forEach items="${page.list}" var="querstion" varStatus="index">
+                <c:if test="${index.index != 0}">,</c:if>
+                {
+                    "index":"${index.index+1}"
+                    ,"id":"${querstion.id}"
+                    ,"questionStr":"${querstion.questionStr}"
+                    ,"userName":"${querstion.user.name}"
+					,"canedit1":1
+                }
+                </c:forEach>
+                </c:if>
+            ]
+            // ,even: true
+            // ,height: 315
+        });
+
+    })
+
+    resizeListTable();
+</script>
+<script>
+    resizeListWindow1();
+    $(window).resize(function(){
+        resizeListWindow1();
+    });
+</script>
+</body>
+</html>

+ 147 - 0
src/main/webapp/webpage/modules/workOrder/questionForm.jsp

@@ -0,0 +1,147 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+    <title>反馈管理</title>
+    <meta name="decorator" content="default"/>
+
+    <script type="text/javascript" src="${ctxStatic}/layui/layui.js"></script>
+    <link rel='stylesheet' type="text/css" href="${ctxStatic}/layui/css/layui.css"/>
+    <style type="text/css">
+        img {width: 50px; height: 50px;}
+    </style>
+    <script type="text/javascript" src="${ctxStatic}/ckeditor/ckeditor.js"></script>
+    <script type="text/javascript" src="${ctxStatic}/layui/layui.js"></script>
+    <link rel='stylesheet' type="text/css" href="${ctxStatic}/layui/css/layui.css"/>
+    <script type="text/javascript" language="JavaScript" for="window" event="onload">
+        var validateForm;
+        function doSubmit(i){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
+            var type =$("#questionType").val();
+            if (type==''){
+                parent.layer.msg("信息未填写完整!", {icon: 5});
+            }
+            if(validateForm.form()){
+                $("#inputForm").submit();
+                return true;
+            }else {
+                parent.layer.msg("信息未填写完整!", {icon: 5});
+            }
+
+            return false;
+        }
+        $(document).ready(function() {
+            layui.use(['form', 'layer'], function () {
+                var form = layui.form;
+            });
+            //$("#name").focus();
+            validateForm = $("#inputForm").validate({
+                submitHandler: function(form){
+                    loading('正在提交,请稍等...');
+                    form.submit();
+                },
+                errorContainer: "#messageBox",
+                errorPlacement: function(error, element) {
+                    $("#messageBox").text("输入有误,请先更正。");
+                    if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
+                        error.appendTo(element.parent().parent());
+                    } else {
+                        error.insertAfter(element);
+                    }
+                }
+            });
+            //只做查看时,禁用掉以下标签
+            $('input,textarea,select').attr('disabled',<%=request.getAttribute("disabled")%>);
+            laydate.render({
+                elem: '#startDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+                event: 'focus', //响应事件。如果没有传入event,则按照默认的click
+                type : 'datetime'
+                , trigger: 'click'
+            });
+            laydate.render({
+                elem: '#endDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+                event: 'focus', //响应事件。如果没有传入event,则按照默认的click
+                type : 'datetime'
+                , trigger: 'click'
+            });
+            $("#attachment_btn").click(function () {
+                $("#attachment_file").click();
+            });
+        });
+    </script>
+    <script type="text/javascript">
+
+        function changeUser(ids,names,parents) {
+            var split = ids.split(',');
+            var split2 = names.split(',');
+            $("#userTableList").html("");
+            userIdx=0;
+            for(var i=0;i<split.length;i++){
+                var id = split[i];
+                if(id==''||id==null){
+                    continue;
+                }
+                var obj = {'id':id,'name':split2[i],'officeName':parents[i]};
+                addRow('#userTableList',userIdx,userTpl,obj);
+                userIdx+=1;
+            }
+        }
+        function insertTitle(tValue){
+            var list = "${workOrder.workAttachments}";
+            var size = (list.split('url')).length-1;
+            var files = $("#attachment_file")[0].files;
+            for(var i = 0;i<files.length;i++) {
+                var file = files[i];
+                var attachmentId = "";
+                var attachmentFlag = "191";
+                console.log(file);
+                var timestamp = new Date().getTime();
+                var str=file.name;
+                var index = str.lastIndexOf(".");
+                str = str.substring(index + 1, str.length);
+                if (str == "png" || str == "jpg" || str == "gif" || str == "bmp" || str == "jpeg"){
+                    var storeAs = "workOrder";
+                    var uploadPath = "http://gangwan-app.oss-cn-hangzhou.aliyuncs.com/" + storeAs;
+                    /*将这段字符串存到数据库即可*/
+                    var divId = "_attachment";
+                    $("#addFile" + divId).show();
+                    multipartUploadWithSts(storeAs, file, attachmentId, attachmentFlag, uploadPath, divId, size);
+                }else{
+                    top.layer.msg("请上传图片!",{icon:2});
+                    return false
+                }
+
+            }
+        }
+
+
+    </script>
+
+</head>
+<body >
+<div class="single-form">
+    <div class="container">
+        <form:form id="inputForm" modelAttribute="workOrderQuerstion" enctype="multipart/form-data" action="${ctx}/workOrder/workOrder/saveQuestion" method="post" class="form-horizontal layui-form">
+            <form:hidden path="id"/>
+            <sys:message content="${message}"/>
+            <div class="form-group layui-row">
+                <div class="form-group-label"><h2>问题类型处理人信息</h2></div>
+                <div class="layui-item layui-col-sm6">
+                    <label class="layui-form-label">问题类型:</label>
+                    <div class="layui-input-block">
+                        <form:input path="questionStr" readonly="true" htmlEscape="false" placeholder="请输入工单标题" maxlength="50" class="form-control required layui-input"/>
+                    </div>
+                </div>
+                <div class="layui-item layui-col-sm6">
+                    <label class="layui-form-label">处理人:</label>
+                    <div class="layui-input-block with-icon">
+                        <sys:inquireselectUserNotReadolnyTow id="userId" name="user.id" value="${workOrderQuerstion.user.id}" labelName="user.name" labelValue="${workOrderQuerstion.user.name}" cssStyle="background-color: #fff"
+                                                             title="用户" url="/sys/office/treeDataAll?type=3" cssClass="form-control layui-input" allowClear="true" notAllowSelectParent="true"/>
+                    </div>
+                </div>
+            </div>
+            <div class="form-group layui-row page-end"></div>
+        </form:form>
+    </div>
+</div>
+</body>
+</html>

+ 28 - 3
src/main/webapp/webpage/modules/workOrder/workOrderList.jsp

@@ -252,6 +252,30 @@
 			});
 
 		}
+
+
+		function openDialogList(title,url,width,height){
+
+
+			if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+				width='auto';
+				height='auto';
+			}else{//如果是PC端,根据用户设置的width和height显示。
+
+			}
+			top.layer.open({
+				type: 2,
+				skin: 'one-btn',
+				area: [width, height],
+				title: title,
+				maxmin: true, //开启最大化最小化按钮
+				content: url ,
+				btn: ['关闭'],
+				cancel: function(index){
+				}
+			});
+
+		}
 	</script>
 	<script>
 
@@ -371,10 +395,11 @@
 			<div class="contentShadow layui-form contentDetails">
 				<div class="nav-btns">
 					<div class="layui-btn-group">
-<%--						<shiro:hasPermission name="feedback:workOrder:add">--%>
-							<table:addRow label="新增" url="${ctx}/workOrder/workOrder/form" title="反馈" height="95%;" width="95%;"></table:addRow><!-- 增加按钮 -->
-<%--						</shiro:hasPermission>--%>
+						<table:addRow label="新增" url="${ctx}/workOrder/workOrder/form" title="反馈" height="95%;" width="95%;"></table:addRow><!-- 增加按钮 -->
 						<button class="layui-btn layui-btn-sm" data-toggle="tooltip" data-placement="left" onclick="sortOrRefresh()" title="刷新"> 刷新</button>
+						<shiro:hasPermission name="workOrder:workOrder:administration">
+							<a class="layui-btn layui-btn-sm layui-bg-orange" onclick="openDialogList('问题类型分配用户管理列表', '${ctx}/workOrder/workOrder/questionTypelist','95%','95%')">类型分配管理</a>
+						</shiro:hasPermission>
 					</div>
 				</div>
 				<table class="oa-table layui-table" id="contentTable"></table>