Parcourir la source

全过程功能修改

user5 il y a 3 ans
Parent
commit
3601185639
17 fichiers modifiés avec 847 ajouts et 99 suppressions
  1. 18 0
      src/main/java/com/jeeplus/modules/projectcontentinfo/entity/ProjectReportRecord.java
  2. 225 7
      src/main/java/com/jeeplus/modules/projectcontentinfo/web/ProjectReportRecordController.java
  3. 11 2
      src/main/java/com/jeeplus/modules/projectrecord/web/completion/ProjectCompletionReviewController.java
  4. 6 0
      src/main/java/com/jeeplus/modules/projectrecord/web/monthly/MonthlyConsultationReportController.java
  5. 13 8
      src/main/java/com/jeeplus/modules/workcontent/web/WorkContentCompleteAccountController.java
  6. 65 0
      src/main/java/com/jeeplus/modules/workprojectnotify/web/WorkProjectNotifyController.java
  7. 6 3
      src/main/resources/mappings/modules/projectcontentinfo/ProjectReportRecordDao.xml
  8. 114 0
      src/main/webapp/webpage/modules/processProjectReportRecord/projectReportRecordAudit.jsp
  9. 116 1
      src/main/webapp/webpage/modules/processProjectReportRecord/projectReportRecordModifyApply.jsp
  10. 117 1
      src/main/webapp/webpage/modules/processProjectReportRecord/projectReportRecordView.jsp
  11. 5 5
      src/main/webapp/webpage/modules/projectrecord/implementCompletion/projectCompletionPigeonholeList.jsp
  12. 7 7
      src/main/webapp/webpage/modules/projectrecord/implementEarly/projectEarlyPigeonholeList.jsp
  13. 25 4
      src/main/webapp/webpage/modules/projectrecord/monthly/monthlyContentForm.jsp
  14. 3 1
      src/main/webapp/webpage/modules/projectrecord/workContentFromAndView/projectEarlyForm.jsp
  15. 115 1
      src/main/webapp/webpage/modules/projectrecord/workContentFromAndView/projectReportRecordForm.jsp
  16. 1 0
      src/main/webapp/webpage/modules/projectrecord/workContentFromAndView/reportForm.jsp
  17. 0 59
      src/main/webapp/webpage/modules/projectrecord/workContentFromAndView/workContentView.jsp

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

@@ -59,6 +59,7 @@ public class ProjectReportRecord extends ActEntity<ProjectReportRecord> {
 	private String referenceRemarks;    //备考表内容信息
 	private String referenceAttachmentId;    //备考表附件id
 	private String catalogueAttachmentId;    //目录附件id
+	private String projectContentDataId;
 
 	private List<ProjectTemplateInfo> fileAttachmentList;   //报告文件
 	private List<ProjectTemplateInfo> fileGistdataList;   //依据性文件
@@ -72,6 +73,7 @@ public class ProjectReportRecord extends ActEntity<ProjectReportRecord> {
 
 	private Integer type;//(1:ProjectReportRecord  2:RuralProjectReportRecord)
 	private Integer recordAuditType;//归档状态(1:总审驳回,2:归档管理员驳回)
+	private String infoId;
 
 	public Integer getType() {
 		return type;
@@ -462,4 +464,20 @@ public class ProjectReportRecord extends ActEntity<ProjectReportRecord> {
 	public void setProjectReviewList(List<WorkReviewAudit> projectReviewList) {
 		this.projectReviewList = projectReviewList;
 	}
+
+	public String getInfoId() {
+		return infoId;
+	}
+
+	public void setInfoId(String infoId) {
+		this.infoId = infoId;
+	}
+
+	public String getProjectContentDataId() {
+		return projectContentDataId;
+	}
+
+	public void setProjectContentDataId(String projectContentDataId) {
+		this.projectContentDataId = projectContentDataId;
+	}
 }

+ 225 - 7
src/main/java/com/jeeplus/modules/projectcontentinfo/web/ProjectReportRecordController.java

@@ -11,21 +11,27 @@ import javax.validation.ConstraintViolationException;
 
 import com.jeeplus.modules.act.entity.Act;
 import com.jeeplus.modules.act.service.ActTaskService;
-import com.jeeplus.modules.projectcontentinfo.entity.ProjectMaterialDefectRecord;
-import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
-import com.jeeplus.modules.projectcontentinfo.entity.Projectcontentinfo;
-import com.jeeplus.modules.projectcontentinfo.service.ProjectMaterialDefectRecordService;
-import com.jeeplus.modules.projectcontentinfo.service.ProjectReportDataService;
+import com.jeeplus.modules.projectType.service.ProjectResultsFileTemplateService;
+import com.jeeplus.modules.projectType.service.ProjectTypeService;
+import com.jeeplus.modules.projectcontentinfo.entity.*;
+import com.jeeplus.modules.projectcontentinfo.service.*;
+import com.jeeplus.modules.projectcontroltable.entity.ProjectControlTable;
+import com.jeeplus.modules.projectcontroltable.service.ProjectControlTableService;
 import com.jeeplus.modules.projectrecord.entity.ProjectRecords;
+import com.jeeplus.modules.projectrecord.service.ProjectRecordsService;
+import com.jeeplus.modules.projectrecord.service.early.ProjectEarlyReviewService;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
 import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectRecordsService;
 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.service.DictService;
+import com.jeeplus.modules.sys.service.WorkattachmentService;
 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.HistoryService;
 import org.activiti.engine.runtime.ProcessInstance;
 import org.activiti.engine.task.Task;
 import org.apache.shiro.authz.annotation.Logical;
@@ -47,8 +53,6 @@ import com.jeeplus.common.web.BaseController;
 import com.jeeplus.common.utils.StringUtils;
 import com.jeeplus.common.utils.excel.ExportExcel;
 import com.jeeplus.common.utils.excel.ImportExcel;
-import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportRecord;
-import com.jeeplus.modules.projectcontentinfo.service.ProjectReportRecordService;
 
 /**
  * 报告归档Controller
@@ -74,6 +78,29 @@ public class ProjectReportRecordController extends BaseController {
 	@Autowired
 	private UserDao userDao;
 
+	@Autowired
+	private WorkattachmentService workattachmentService;
+	@Autowired
+	private ProjectcontentinfoService projectcontentinfoService;
+	@Autowired
+	private ProjectBasedDataService projectBasedDataService;
+	@Autowired
+	private ProjectContentDataService projectContentDataService;
+	@Autowired
+	private ProjectReportChangeService projectReportChangeService;
+	@Autowired
+	private ProjectControlTableService projectControlTableService;
+	@Autowired
+	protected HistoryService historyService;
+	@Autowired
+	private ProjectTypeService projectTypeService;
+	@Autowired
+	private DictService dictService;
+	@Autowired
+	private ProjectEarlyReviewService projectEarlyReviewService;
+	@Autowired
+	private ProjectResultsFileTemplateService projectResultsFileTemplateService;
+
 	@ModelAttribute
 	public ProjectReportRecord get(@RequestParam(required=false) String id) {
 		ProjectReportRecord entity = null;
@@ -102,6 +129,69 @@ public class ProjectReportRecordController extends BaseController {
 	 */
 	@RequestMapping(value = "form")
 	public String form(ProjectReportRecord projectReportRecord, Model model) {
+		ProjectContentData projectContentData = new ProjectContentData();
+		if (StringUtils.isNotBlank(projectReportRecord.getInfoId())){
+			projectContentData.setType("");
+			projectContentData = projectContentDataService.get(projectReportRecord.getInfoId());
+			if(StringUtils.isNotBlank(projectContentData.getId())){
+				projectContentData.setMaster(UserUtils.getUser());
+				//查询是否含有上传或者引用的依据性文件信息
+				if(StringUtils.isNotBlank(projectContentData.getId())){
+					List<ProjectControlTable> controlData = projectControlTableService.getControlData(projectContentData.getId(),"");
+					projectContentData.setProjectControlTableList(controlData);
+					projectContentDataService.queryBasedData(projectContentData);
+				}
+				//判断是否呦引用的依据性文件
+				if(null != projectContentData && projectContentData.getProjectBasedDataList().size()>0){
+					for (ProjectBasedData projectBasedData: projectContentData.getProjectBasedDataList()) {
+						projectBasedData.setNature("引用");
+					}
+				}
+
+				for (ProjectBasedData projectBasedData: projectContentData.getProjectBasedDataList()) {
+					projectBasedData.setType(dictService.dictLabel("project_document_type",projectBasedData.getType()));
+				}
+				/**
+				 * 查询配置的宜居性资料并添加到展示view中
+				 */
+				List<ProjectBasedData> projectBasedDataList =  projectTypeService.getAccrdingDataList(projectContentData.getType());
+				for (ProjectBasedData projectBasedData: projectBasedDataList) {
+					ProjectBasedData contentAttachmentData =  projectTypeService.getBasedData(projectContentData.getId(),projectBasedData.getId());
+					if (null != contentAttachmentData) {
+						try {
+							MyBeanUtils.copyBeanNotNull2Bean(contentAttachmentData, projectBasedData);
+						}catch (Exception e) {
+							e.printStackTrace();
+						}
+					}
+					projectBasedData.setFlag("according");
+					if (StringUtils.isNotBlank(projectBasedData.getFileAttachmentId())) {
+						projectBasedData.setUploadUser(UserUtils.get(projectBasedData.getFileAttachmentId()));
+					}
+
+					//判断是否有上传文件 如果没有上传文件则添加当前登录人信息 和当前时间作为上传时间
+					/*if(StringUtils.isBlank(projectBasedData.getFileUrl())){
+						projectBasedData.setUploadDate(new Date());
+						projectBasedData.setUploadUser(UserUtils.getUser());
+					}*/
+					//判定是否为必填项,如果是则展示必填字段
+					if("1".equals(projectBasedData.getChooseCondition())){
+						projectBasedData.setNature("必填");
+					}
+				}
+				for (ProjectBasedData info : projectBasedDataList) {
+					if(StringUtils.isNotBlank(info.getFileUrl())){
+						String newUrl = workattachmentService.fileUrlManageOnPrefix(info.getFileUrl());
+						info.setFileUrl(newUrl);
+						info.setTemporaryUrl(workattachmentService.fileUrlManage(info.getFileUrl()));
+					}
+				}
+				projectContentData.getProjectBasedDataList().addAll(projectBasedDataList);
+			}
+		}
+
+		model.addAttribute("projectContentData", projectContentData);
+
 		//判断报告归档信息是否存在id
 		if(StringUtils.isBlank(projectReportRecord.getId())){
 			projectReportRecord.setCreateDate(new Date());
@@ -144,6 +234,70 @@ public class ProjectReportRecordController extends BaseController {
 	 */
 	@RequestMapping(value = "formData")
 	public String formData(ProjectReportRecord projectReportRecord, Model model) {
+		ProjectContentData projectContentData = new ProjectContentData();
+		if (StringUtils.isNotBlank(projectReportRecord.getInfoId())){
+			projectContentData.setType("");
+			projectContentData = projectContentDataService.get(projectReportRecord.getInfoId());
+			if(StringUtils.isNotBlank(projectContentData.getId())){
+				projectContentData.setMaster(UserUtils.getUser());
+				//查询是否含有上传或者引用的依据性文件信息
+				if(StringUtils.isNotBlank(projectContentData.getId())){
+					List<ProjectControlTable> controlData = projectControlTableService.getControlData(projectContentData.getId(),"");
+					projectContentData.setProjectControlTableList(controlData);
+					projectContentDataService.queryBasedData(projectContentData);
+				}
+				//判断是否呦引用的依据性文件
+				if(null != projectContentData && projectContentData.getProjectBasedDataList().size()>0){
+					for (ProjectBasedData projectBasedData: projectContentData.getProjectBasedDataList()) {
+						projectBasedData.setNature("引用");
+					}
+				}
+
+				for (ProjectBasedData projectBasedData: projectContentData.getProjectBasedDataList()) {
+					projectBasedData.setType(dictService.dictLabel("project_document_type",projectBasedData.getType()));
+				}
+				/**
+				 * 查询配置的宜居性资料并添加到展示view中
+				 */
+				List<ProjectBasedData> projectBasedDataList =  projectTypeService.getAccrdingDataList(projectContentData.getType());
+				for (ProjectBasedData projectBasedData: projectBasedDataList) {
+					ProjectBasedData contentAttachmentData =  projectTypeService.getBasedData(projectContentData.getId(),projectBasedData.getId());
+					if (null != contentAttachmentData) {
+						try {
+							MyBeanUtils.copyBeanNotNull2Bean(contentAttachmentData, projectBasedData);
+						}catch (Exception e) {
+							e.printStackTrace();
+						}
+					}
+					projectBasedData.setFlag("according");
+					if (StringUtils.isNotBlank(projectBasedData.getFileAttachmentId())) {
+						projectBasedData.setUploadUser(UserUtils.get(projectBasedData.getFileAttachmentId()));
+					}
+
+					//判断是否有上传文件 如果没有上传文件则添加当前登录人信息 和当前时间作为上传时间
+					/*if(StringUtils.isBlank(projectBasedData.getFileUrl())){
+						projectBasedData.setUploadDate(new Date());
+						projectBasedData.setUploadUser(UserUtils.getUser());
+					}*/
+					//判定是否为必填项,如果是则展示必填字段
+					if("1".equals(projectBasedData.getChooseCondition())){
+						projectBasedData.setNature("必填");
+					}
+				}
+				for (ProjectBasedData info : projectBasedDataList) {
+					if(StringUtils.isNotBlank(info.getFileUrl())){
+						String newUrl = workattachmentService.fileUrlManageOnPrefix(info.getFileUrl());
+						info.setFileUrl(newUrl);
+						info.setTemporaryUrl(workattachmentService.fileUrlManage(info.getFileUrl()));
+					}
+				}
+				projectContentData.getProjectBasedDataList().addAll(projectBasedDataList);
+				model.addAttribute("projectContentData", projectContentData);
+				model.addAttribute("projectContentDataId", projectContentData.getId());
+			}
+		}
+
+
 		ProjectReportRecord reportRecord = new ProjectReportRecord();
 		ProjectReportData projectReportData = new ProjectReportData();
 		projectReportData.setFileStatus("1");
@@ -195,6 +349,70 @@ public class ProjectReportRecordController extends BaseController {
 		ReportRecord.setCreateDate(new Date());
 		ReportRecord.setCreateBy(UserUtils.getUser());
 		model.addAttribute("projectReportRecord", ReportRecord);*/
+		ProjectContentData projectContentData = new ProjectContentData();
+		if (StringUtils.isNotBlank(projectReportRecord.getInfoId())){
+			projectContentData.setType("");
+			projectContentData = projectContentDataService.get(projectReportRecord.getInfoId());
+			if(StringUtils.isNotBlank(projectContentData.getId())){
+				projectContentData.setMaster(UserUtils.getUser());
+				//查询是否含有上传或者引用的依据性文件信息
+				if(StringUtils.isNotBlank(projectContentData.getId())){
+					List<ProjectControlTable> controlData = projectControlTableService.getControlData(projectContentData.getId(),"");
+					projectContentData.setProjectControlTableList(controlData);
+					projectContentDataService.queryBasedData(projectContentData);
+				}
+				//判断是否呦引用的依据性文件
+				if(null != projectContentData && projectContentData.getProjectBasedDataList().size()>0){
+					for (ProjectBasedData projectBasedData: projectContentData.getProjectBasedDataList()) {
+						projectBasedData.setNature("引用");
+					}
+				}
+
+				for (ProjectBasedData projectBasedData: projectContentData.getProjectBasedDataList()) {
+					projectBasedData.setType(dictService.dictLabel("project_document_type",projectBasedData.getType()));
+				}
+				/**
+				 * 查询配置的宜居性资料并添加到展示view中
+				 */
+				List<ProjectBasedData> projectBasedDataList =  projectTypeService.getAccrdingDataList(projectContentData.getType());
+				for (ProjectBasedData projectBasedData: projectBasedDataList) {
+					ProjectBasedData contentAttachmentData =  projectTypeService.getBasedData(projectContentData.getId(),projectBasedData.getId());
+					if (null != contentAttachmentData) {
+						try {
+							MyBeanUtils.copyBeanNotNull2Bean(contentAttachmentData, projectBasedData);
+						}catch (Exception e) {
+							e.printStackTrace();
+						}
+					}
+					projectBasedData.setFlag("according");
+					if (StringUtils.isNotBlank(projectBasedData.getFileAttachmentId())) {
+						projectBasedData.setUploadUser(UserUtils.get(projectBasedData.getFileAttachmentId()));
+					}
+
+					//判断是否有上传文件 如果没有上传文件则添加当前登录人信息 和当前时间作为上传时间
+					/*if(StringUtils.isBlank(projectBasedData.getFileUrl())){
+						projectBasedData.setUploadDate(new Date());
+						projectBasedData.setUploadUser(UserUtils.getUser());
+					}*/
+					//判定是否为必填项,如果是则展示必填字段
+					if("1".equals(projectBasedData.getChooseCondition())){
+						projectBasedData.setNature("必填");
+					}
+				}
+				for (ProjectBasedData info : projectBasedDataList) {
+					if(StringUtils.isNotBlank(info.getFileUrl())){
+						String newUrl = workattachmentService.fileUrlManageOnPrefix(info.getFileUrl());
+						info.setFileUrl(newUrl);
+						info.setTemporaryUrl(workattachmentService.fileUrlManage(info.getFileUrl()));
+					}
+				}
+				projectContentData.getProjectBasedDataList().addAll(projectBasedDataList);
+				model.addAttribute("projectContentDataId", projectContentData.getId());
+				model.addAttribute("projectContentData", projectContentData);
+			}
+		}
+
+
 		ProjectReportRecord reportRecord = new ProjectReportRecord();
 		ProjectReportData projectReportData = new ProjectReportData();
 		projectReportData.setFileStatus("1");

+ 11 - 2
src/main/java/com/jeeplus/modules/projectrecord/web/completion/ProjectCompletionReviewController.java

@@ -253,8 +253,13 @@ public class ProjectCompletionReviewController extends BaseController {
             projectReportData.setFileStatus("1");
         }
         List<ProjectContentData> projectContentDataList = projectContentDataService.getProjectContentData(projectcontentinfo.getInfoId());
-        //获取需要复核工作内容的对应typeId
-        String typeId = projectContentDataList.get(0).getType();
+        String typeId = null;
+        String contentDataId = null;
+        if(null != projectContentDataList && projectContentDataList.size()>0){
+            //获取需要复核工作内容的对应typeId
+            typeId = projectContentDataList.get(0).getType();
+            contentDataId = projectContentDataList.get(0).getId();
+        }
         //获取该工作内容的依据性资料信息
         List<ProjectBasedData> projectBasedDataList =  projectTypeService.getAccrdingDataList(typeId);
         for (ProjectBasedData projectBasedData: projectBasedDataList) {
@@ -287,6 +292,9 @@ public class ProjectCompletionReviewController extends BaseController {
                 projectBasedData.setUploadUser(UserUtils.getUser());
             }
         }*/
+        ProjectContentData projectContentData = new ProjectContentData();
+        projectContentData.setId(contentDataId);
+        projectcontentinfo.setProjectContentData(projectContentData);
         projectReportData.setProjectBasedDataList(projectBasedDataList);
         projectReportData.setProjectContentDataList(projectContentDataList);
         projectcontentinfo.setProjectReportData(projectReportData);
@@ -294,6 +302,7 @@ public class ProjectCompletionReviewController extends BaseController {
         model.addAttribute("achievementParentId", projectReportData.getType());
         model.addAttribute("achievementId", projectReportData.getAchievementType());
         model.addAttribute("reviewStandard", projectReportData.getReviewStandard());
+        model.addAttribute("projectContentDataType", typeId);
         //判断是否是查看方法
         if (projectcontentinfo.getView().equals("reportView")){
             return "modules/projectcontentinfo/reportView";

+ 6 - 0
src/main/java/com/jeeplus/modules/projectrecord/web/monthly/MonthlyConsultationReportController.java

@@ -19,6 +19,7 @@ import com.jeeplus.modules.projectrecord.service.ProjectImplementEarlyService;
 import com.jeeplus.modules.projectrecord.service.ProjectRecordsService;
 import com.jeeplus.modules.projectrecord.service.monthly.MonthlyConsultationReportService;
 import com.jeeplus.modules.sys.entity.User;
+import com.jeeplus.modules.sys.entity.Workattachment;
 import com.jeeplus.modules.sys.utils.UserUtils;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientLinkman;
 import com.jeeplus.modules.workcontractinfo.entity.WorkContractInfo;
@@ -246,6 +247,11 @@ public class MonthlyConsultationReportController extends BaseController {
                 projectContentData.setProjectBasedDataList(service.getBasedData(monthlyInfo));
                 //添加附件信息
                 projectContentData.setWorkAttachments(service.getWorkattachment(monthlyInfo));
+                List<Workattachment> workAttachmentList = projectContentData.getWorkAttachments();
+                for (Workattachment workattachment: workAttachmentList) {
+                    workattachment.setDivIdType("_monthly");
+                }
+
             }
         }else{
             //新增 添加负责人信息

+ 13 - 8
src/main/java/com/jeeplus/modules/workcontent/web/WorkContentCompleteAccountController.java

@@ -25,9 +25,7 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
+import java.util.*;
 
 /**
  * 竣工分部结算Controller
@@ -41,7 +39,7 @@ public class WorkContentCompleteAccountController extends BaseController {
 	@Autowired
 	private WorkContentCompleteAccountService workContentCompleteAccountService;
 
-	
+
 	@ModelAttribute
 	public WorkContentCompleteAccount get(@RequestParam(required=false) String id) {
 		WorkContentCompleteAccount entity = null;
@@ -53,7 +51,7 @@ public class WorkContentCompleteAccountController extends BaseController {
 		}
 		return entity;
 	}
-	
+
 	/**
 	 * 竣工结算结算页面
 	 */
@@ -69,6 +67,13 @@ public class WorkContentCompleteAccountController extends BaseController {
         if(StringUtils.isNotBlank(workContentCompleteAccount.getContentId())){
             list = workContentCompleteAccountService.findList(workContentCompleteAccount);
         }
+		if(signList.size() == 0){
+			Set set = new HashSet();
+			for (WorkContentCompleteAccount info: list) {
+				set.add(info.getType());
+			}
+			signList = new ArrayList<String>(set);
+		}
         model.addAttribute("signList", signList);
         model.addAttribute("investmentCostList", list);
         String viewPath = "modules/workcontent/workContentCompleteAccountList";
@@ -108,7 +113,7 @@ public class WorkContentCompleteAccountController extends BaseController {
 		}
 		return responseEntity;
     }
-	
+
 	/**
 	 * 下载导入工程竣工结算数据模板
 	 */
@@ -141,5 +146,5 @@ public class WorkContentCompleteAccountController extends BaseController {
 		List<String> tableType = workContentCompleteAccountService.getTableType(contentId);
 		return tableType;
 	}
-	
-}
+
+}

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

@@ -50,8 +50,11 @@ import com.jeeplus.modules.projectFilingBatch.entity.ProjectFilingBatch;
 import com.jeeplus.modules.projectFilingBatch.entity.ProjectFilingBatchProInfo;
 import com.jeeplus.modules.projectFilingBatch.entity.ProjectFilingbatchRelation;
 import com.jeeplus.modules.projectFilingBatch.service.ProjectFilingBatchService;
+import com.jeeplus.modules.projectType.service.ProjectTypeService;
 import com.jeeplus.modules.projectcontentinfo.entity.*;
 import com.jeeplus.modules.projectcontentinfo.service.*;
+import com.jeeplus.modules.projectcontroltable.entity.ProjectControlTable;
+import com.jeeplus.modules.projectcontroltable.service.ProjectControlTableService;
 import com.jeeplus.modules.projectrecord.entity.ProjectFollowReport;
 import com.jeeplus.modules.projectrecord.entity.ProjectPlanInfo;
 import com.jeeplus.modules.projectrecord.entity.ProjectRecords;
@@ -488,6 +491,13 @@ public class WorkProjectNotifyController extends BaseController {
 	@Autowired
 	private CollectAccessoryService collectAccessoryService;
 
+	@Autowired
+	private ProjectControlTableService projectControlTableService;
+	@Autowired
+	private ProjectTypeService projectTypeService;
+	@Autowired
+	private DictService dictService;
+
 	@ModelAttribute
 	public WorkProjectNotify get(@RequestParam(required=false) String id) {
 		WorkProjectNotify entity = null;
@@ -3941,6 +3951,61 @@ public class WorkProjectNotifyController extends BaseController {
 					ProjectReportRecord projectReportRecord = projectReportRecordService.get(workProjectNotify.getNotifyId());
 					//判断是否未全过程归档项目信息
 					if("3".equals(projectReportRecord.getReport().getProject().getProjectType())){
+						ProjectContentData projectContentData = new ProjectContentData();
+						if(StringUtils.isNotBlank(projectReportRecord.getProjectContentDataId())){
+							projectContentData.setType("");
+							projectContentData = projectContentDataService.get(projectReportRecord.getProjectContentDataId());
+							if(StringUtils.isNotBlank(projectContentData.getId())){
+								projectContentData.setMaster(UserUtils.getUser());
+								//查询是否含有上传或者引用的依据性文件信息
+								if(StringUtils.isNotBlank(projectContentData.getId())){
+									List<ProjectControlTable> controlData = projectControlTableService.getControlData(projectContentData.getId(),"");
+									projectContentData.setProjectControlTableList(controlData);
+									projectContentDataService.queryBasedData(projectContentData);
+								}
+								//判断是否呦引用的依据性文件
+								if(null != projectContentData && projectContentData.getProjectBasedDataList().size()>0){
+									for (ProjectBasedData projectBasedData: projectContentData.getProjectBasedDataList()) {
+										projectBasedData.setNature("引用");
+									}
+								}
+
+								for (ProjectBasedData projectBasedData: projectContentData.getProjectBasedDataList()) {
+									projectBasedData.setType(dictService.dictLabel("project_document_type",projectBasedData.getType()));
+								}
+								/**
+								 * 查询配置的宜居性资料并添加到展示view中
+								 */
+								List<ProjectBasedData> projectBasedDataList =  projectTypeService.getAccrdingDataList(projectContentData.getType());
+								for (ProjectBasedData projectBasedData: projectBasedDataList) {
+									ProjectBasedData contentAttachmentData =  projectTypeService.getBasedData(projectContentData.getId(),projectBasedData.getId());
+									if (null != contentAttachmentData) {
+										try {
+											MyBeanUtils.copyBeanNotNull2Bean(contentAttachmentData, projectBasedData);
+										}catch (Exception e) {
+											e.printStackTrace();
+										}
+									}
+									projectBasedData.setFlag("according");
+									if (StringUtils.isNotBlank(projectBasedData.getFileAttachmentId())) {
+										projectBasedData.setUploadUser(UserUtils.get(projectBasedData.getFileAttachmentId()));
+									}
+									//判定是否为必填项,如果是则展示必填字段
+									if("1".equals(projectBasedData.getChooseCondition())){
+										projectBasedData.setNature("必填");
+									}
+								}
+								for (ProjectBasedData info : projectBasedDataList) {
+									if(StringUtils.isNotBlank(info.getFileUrl())){
+										String newUrl = workattachmentService.fileUrlManageOnPrefix(info.getFileUrl());
+										info.setFileUrl(newUrl);
+										info.setTemporaryUrl(workattachmentService.fileUrlManage(info.getFileUrl()));
+									}
+								}
+								projectContentData.getProjectBasedDataList().addAll(projectBasedDataList);
+							}
+							model.addAttribute("projectContentData", projectContentData);
+						}
 						Act act = getByAct(projectReportRecord.getProcessInstanceId());
 						projectReportRecord.setAct(act);
 						projectReportRecord.setHome("home");

+ 6 - 3
src/main/resources/mappings/modules/projectcontentinfo/ProjectReportRecordDao.xml

@@ -30,7 +30,8 @@
 		a.reference_remarks as "referenceRemarks",
 		a.reference_attachment_id as "referenceAttachmentId",
 		a.catalogue_attachment_id as "catalogueAttachmentId",
-		a.record_audit_type as "recordAuditType"
+		a.record_audit_type as "recordAuditType",
+		a.project_content_data_id as "projectContentDataId"
 	</sql>
 
 	<sql id="projectMaterialDefectRecordColumns">
@@ -265,7 +266,8 @@
 			number_count,
 			sign_cost_one,
 			sign_cost_two,
-			process_instance_id
+			process_instance_id,
+			project_content_data_id
 		) VALUES (
 			#{id},
 			#{createBy.id},
@@ -286,7 +288,8 @@
 			#{numberCount},
 			#{signCostOne.id},
 			#{signCostTwo.id},
-			#{processInstanceId}
+			#{processInstanceId},
+			#{projectContentDataId}
 		)
 	</insert>
 

+ 114 - 0
src/main/webapp/webpage/modules/processProjectReportRecord/projectReportRecordAudit.jsp

@@ -190,6 +190,120 @@
 				</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">
+					<table id="contentTableBase" class="table table-bordered table-condensed details">
+						<thead>
+						<tr>
+							<th class="hide"></th>
+								<%--<th >资料编号</th>--%>
+							<th >资料名称</th>
+							<th >资料类别</th>
+							<th >资料性质</th>
+							<th >资料内容</th>
+							<th >上传人</th>
+							<th >上传日期</th>
+							<th >操作</th>
+						</tr>
+						</thead>
+						<tbody id="workBaseDataList">
+						<c:forEach items="${projectContentData.projectBasedDataList}" var="projectBasedData" varStatus="idx">
+							<tr>
+								<td class="hide">
+									<input type="hidden" id="workBaseDataList${idx.index}_id" value="${projectBasedData.id}">
+								</td>
+									<%--<td style="text-align:center;">
+                                            ${projectBasedData.number}
+                                    </td>--%>
+								<td style="text-align:center;">
+										${projectBasedData.name}
+								</td>
+								<td style="text-align:center;">
+										${projectBasedData.type}
+								</td>
+								<td style="text-align:center;">
+										${projectBasedData.nature}
+								</td>
+								<td style="text-align:center;">
+									<c:choose>
+										<c:when test="${projectBasedData.uploadMode == 2}">
+											<c:choose>
+												<c:when test="${fn:containsIgnoreCase(projectBasedData.fileName,'jpg')
+                                                           or fn:containsIgnoreCase(projectBasedData.fileName,'png')
+                                                           or fn:containsIgnoreCase(projectBasedData.fileName,'gif')
+                                                           or fn:containsIgnoreCase(projectBasedData.fileName,'bmp')
+                                                           or fn:containsIgnoreCase(projectBasedData.fileName,'jpeg')}">
+													<img src="${projectBasedData.temporaryUrl}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${projectBasedData.temporaryUrl}','90%','90%')" alt="${projectBasedData.fileName}">
+												</c:when>
+												<c:otherwise>
+													<c:choose>
+														<c:when test="${fn:containsIgnoreCase(projectBasedData.fileName,'pdf')}">
+															<a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${projectBasedData.temporaryUrl}','90%','90%','1')">${projectBasedData.fileName}</a>
+														</c:when>
+														<c:otherwise>
+															<a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${projectBasedData.temporaryUrl}','90%','90%')">${projectBasedData.fileName}</a>
+														</c:otherwise>
+													</c:choose>
+												</c:otherwise>
+											</c:choose>
+										</c:when>
+										<c:otherwise>
+											<c:choose>
+												<c:when test="${fn:containsIgnoreCase(projectBasedData.fileName,'jpg')
+															   or fn:containsIgnoreCase(projectBasedData.fileName,'png')
+															   or fn:containsIgnoreCase(projectBasedData.fileName,'gif')
+															   or fn:containsIgnoreCase(projectBasedData.fileName,'bmp')
+															   or fn:containsIgnoreCase(projectBasedData.fileName,'jpeg')}">
+													<img src="${projectBasedData.fileUrl}" width="50" height="50" title ="${projectBasedData.fileName}" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${projectBasedData.fileUrl}','90%','90%')" alt="${projectBasedData.fileName}">
+												</c:when>
+												<c:otherwise>
+													<c:choose>
+														<c:when test="${fn:containsIgnoreCase(projectBasedData.fileName,'pdf')}">
+															<a class="attention-info" href="javascript:void(0)" title ="${projectBasedData.fileName}" onclick="preview('预览','${projectBasedData.fileUrl}','90%','90%','1')">${projectBasedData.fileName}</a>
+														</c:when>
+														<c:otherwise>
+															<a class="attention-info" href="javascript:void(0)" title ="${projectBasedData.fileName}" onclick="preview('预览','${projectBasedData.fileUrl}','90%','90%')">${projectBasedData.fileName}</a>
+														</c:otherwise>
+													</c:choose>
+												</c:otherwise>
+											</c:choose>
+										</c:otherwise>
+									</c:choose>
+
+
+								</td>
+								<td style="text-align:center;">
+										${projectBasedData.uploadUser.name}
+								</td>
+								<td style="text-align:center;">
+									<fmt:formatDate value="${projectBasedData.uploadDate}" pattern="yyyy-MM-dd"/>
+								</td>
+								<td style="text-align:center;">
+									<div id="workBaseDataList${idx.index}_operation">
+										<c:choose>
+											<c:when test="${ projectBasedData.flag =='according'}">
+												<c:choose>
+													<c:when test="${not empty projectBasedData.fileUrl}">
+														<a href="javascript:location.href='${ctx}/workfullmanage/workFullManage/downLoadAttach?file='+encodeURIComponent('${projectBasedData.fileUrl}');" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>
+													</c:when>
+													<c:otherwise>
+													</c:otherwise>
+												</c:choose>
+
+											</c:when>
+											<c:otherwise>
+											</c:otherwise>
+										</c:choose>
+									</div>
+								</td>
+							</tr>
+						</c:forEach>
+						</tbody>
+					</table>
+				</div>
+			</div>
+
+			<div class="form-group layui-row">
 				<div class="form-group-label"><h2>附件信息</h2></div>
 				<span id="attachment_title"></span>
 				<div class="layui-item layui-col-xs12" style="padding:0 16px;">

+ 116 - 1
src/main/webapp/webpage/modules/processProjectReportRecord/projectReportRecordModifyApply.jsp

@@ -202,6 +202,121 @@
 					</div>
 				</div>
 			</div>
+			<c:if test="${not empty projectContentData.projectBasedDataList}">
+			<div class="form-group layui-row">
+				<div class="form-group-label"><h2>依据性资料明细</h2></div>
+				<div class="layui-item layui-col-xs12 form-table-container">
+					<table id="contentTableBase" class="table table-bordered table-condensed details">
+						<thead>
+						<tr>
+							<th class="hide"></th>
+								<%--<th >资料编号</th>--%>
+							<th >资料名称</th>
+							<th >资料类别</th>
+							<th >资料性质</th>
+							<th >资料内容</th>
+							<th >上传人</th>
+							<th >上传日期</th>
+							<th >操作</th>
+						</tr>
+						</thead>
+						<tbody id="workBaseDataList">
+						<c:forEach items="${projectContentData.projectBasedDataList}" var="projectBasedData" varStatus="idx">
+							<tr>
+								<td class="hide">
+									<input type="hidden" id="workBaseDataList${idx.index}_id" value="${projectBasedData.id}">
+								</td>
+									<%--<td style="text-align:center;">
+                                            ${projectBasedData.number}
+                                    </td>--%>
+								<td style="text-align:center;">
+										${projectBasedData.name}
+								</td>
+								<td style="text-align:center;">
+										${projectBasedData.type}
+								</td>
+								<td style="text-align:center;">
+										${projectBasedData.nature}
+								</td>
+								<td style="text-align:center;">
+									<c:choose>
+										<c:when test="${projectBasedData.uploadMode == 2}">
+											<c:choose>
+												<c:when test="${fn:containsIgnoreCase(projectBasedData.fileName,'jpg')
+                                                           or fn:containsIgnoreCase(projectBasedData.fileName,'png')
+                                                           or fn:containsIgnoreCase(projectBasedData.fileName,'gif')
+                                                           or fn:containsIgnoreCase(projectBasedData.fileName,'bmp')
+                                                           or fn:containsIgnoreCase(projectBasedData.fileName,'jpeg')}">
+													<img src="${projectBasedData.temporaryUrl}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${projectBasedData.temporaryUrl}','90%','90%')" alt="${projectBasedData.fileName}">
+												</c:when>
+												<c:otherwise>
+													<c:choose>
+														<c:when test="${fn:containsIgnoreCase(projectBasedData.fileName,'pdf')}">
+															<a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${projectBasedData.temporaryUrl}','90%','90%','1')">${projectBasedData.fileName}</a>
+														</c:when>
+														<c:otherwise>
+															<a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${projectBasedData.temporaryUrl}','90%','90%')">${projectBasedData.fileName}</a>
+														</c:otherwise>
+													</c:choose>
+												</c:otherwise>
+											</c:choose>
+										</c:when>
+										<c:otherwise>
+											<c:choose>
+												<c:when test="${fn:containsIgnoreCase(projectBasedData.fileName,'jpg')
+															   or fn:containsIgnoreCase(projectBasedData.fileName,'png')
+															   or fn:containsIgnoreCase(projectBasedData.fileName,'gif')
+															   or fn:containsIgnoreCase(projectBasedData.fileName,'bmp')
+															   or fn:containsIgnoreCase(projectBasedData.fileName,'jpeg')}">
+													<img src="${projectBasedData.fileUrl}" width="50" height="50" title ="${projectBasedData.fileName}" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${projectBasedData.fileUrl}','90%','90%')" alt="${projectBasedData.fileName}">
+												</c:when>
+												<c:otherwise>
+													<c:choose>
+														<c:when test="${fn:containsIgnoreCase(projectBasedData.fileName,'pdf')}">
+															<a class="attention-info" href="javascript:void(0)" title ="${projectBasedData.fileName}" onclick="preview('预览','${projectBasedData.fileUrl}','90%','90%','1')">${projectBasedData.fileName}</a>
+														</c:when>
+														<c:otherwise>
+															<a class="attention-info" href="javascript:void(0)" title ="${projectBasedData.fileName}" onclick="preview('预览','${projectBasedData.fileUrl}','90%','90%')">${projectBasedData.fileName}</a>
+														</c:otherwise>
+													</c:choose>
+												</c:otherwise>
+											</c:choose>
+										</c:otherwise>
+									</c:choose>
+
+
+								</td>
+								<td style="text-align:center;">
+										${projectBasedData.uploadUser.name}
+								</td>
+								<td style="text-align:center;">
+									<fmt:formatDate value="${projectBasedData.uploadDate}" pattern="yyyy-MM-dd"/>
+								</td>
+								<td style="text-align:center;">
+									<div id="workBaseDataList${idx.index}_operation">
+										<c:choose>
+											<c:when test="${ projectBasedData.flag =='according'}">
+												<c:choose>
+													<c:when test="${not empty projectBasedData.fileUrl}">
+														<a href="javascript:location.href='${ctx}/workfullmanage/workFullManage/downLoadAttach?file='+encodeURIComponent('${projectBasedData.fileUrl}');" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>
+													</c:when>
+													<c:otherwise>
+													</c:otherwise>
+												</c:choose>
+
+											</c:when>
+											<c:otherwise>
+											</c:otherwise>
+										</c:choose>
+									</div>
+								</td>
+							</tr>
+						</c:forEach>
+						</tbody>
+					</table>
+				</div>
+			</div>
+			</c:if>
 			<div class="form-group layui-row">
 				<div class="form-group-label"><h2>附件信息</h2></div>
 				<div class="layui-item nav-btns">
@@ -305,4 +420,4 @@
 	</div>
 </div>
 </body>
-</html>
+</html>

+ 117 - 1
src/main/webapp/webpage/modules/processProjectReportRecord/projectReportRecordView.jsp

@@ -132,6 +132,122 @@
 				</div>
 			</div>
 		</div>
+		<c:if test="${not empty projectContentData.projectBasedDataList}">
+
+		<div class="form-group layui-row">
+			<div class="form-group-label"><h2>依据性资料明细</h2></div>
+			<div class="layui-item layui-col-xs12 form-table-container">
+				<table id="contentTableBase" class="table table-bordered table-condensed details">
+					<thead>
+					<tr>
+						<th class="hide"></th>
+						<%--<th >资料编号</th>--%>
+						<th >资料名称</th>
+						<th >资料类别</th>
+						<th >资料性质</th>
+						<th >资料内容</th>
+						<th >上传人</th>
+						<th >上传日期</th>
+						<th >操作</th>
+					</tr>
+					</thead>
+					<tbody id="workBaseDataList">
+					<c:forEach items="${projectContentData.projectBasedDataList}" var="projectBasedData" varStatus="idx">
+						<tr>
+							<td class="hide">
+								<input type="hidden" id="workBaseDataList${idx.index}_id" value="${projectBasedData.id}">
+							</td>
+								<%--<td style="text-align:center;">
+                                        ${projectBasedData.number}
+                                </td>--%>
+							<td style="text-align:center;">
+									${projectBasedData.name}
+							</td>
+							<td style="text-align:center;">
+									${projectBasedData.type}
+							</td>
+							<td style="text-align:center;">
+									${projectBasedData.nature}
+							</td>
+							<td style="text-align:center;">
+								<c:choose>
+									<c:when test="${projectBasedData.uploadMode == 2}">
+										<c:choose>
+											<c:when test="${fn:containsIgnoreCase(projectBasedData.fileName,'jpg')
+                                                           or fn:containsIgnoreCase(projectBasedData.fileName,'png')
+                                                           or fn:containsIgnoreCase(projectBasedData.fileName,'gif')
+                                                           or fn:containsIgnoreCase(projectBasedData.fileName,'bmp')
+                                                           or fn:containsIgnoreCase(projectBasedData.fileName,'jpeg')}">
+												<img src="${projectBasedData.temporaryUrl}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${projectBasedData.temporaryUrl}','90%','90%')" alt="${projectBasedData.fileName}">
+											</c:when>
+											<c:otherwise>
+												<c:choose>
+													<c:when test="${fn:containsIgnoreCase(projectBasedData.fileName,'pdf')}">
+														<a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${projectBasedData.temporaryUrl}','90%','90%','1')">${projectBasedData.fileName}</a>
+													</c:when>
+													<c:otherwise>
+														<a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${projectBasedData.temporaryUrl}','90%','90%')">${projectBasedData.fileName}</a>
+													</c:otherwise>
+												</c:choose>
+											</c:otherwise>
+										</c:choose>
+									</c:when>
+									<c:otherwise>
+										<c:choose>
+											<c:when test="${fn:containsIgnoreCase(projectBasedData.fileName,'jpg')
+															   or fn:containsIgnoreCase(projectBasedData.fileName,'png')
+															   or fn:containsIgnoreCase(projectBasedData.fileName,'gif')
+															   or fn:containsIgnoreCase(projectBasedData.fileName,'bmp')
+															   or fn:containsIgnoreCase(projectBasedData.fileName,'jpeg')}">
+												<img src="${projectBasedData.fileUrl}" width="50" height="50" title ="${projectBasedData.fileName}" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${projectBasedData.fileUrl}','90%','90%')" alt="${projectBasedData.fileName}">
+											</c:when>
+											<c:otherwise>
+												<c:choose>
+													<c:when test="${fn:containsIgnoreCase(projectBasedData.fileName,'pdf')}">
+														<a class="attention-info" href="javascript:void(0)" title ="${projectBasedData.fileName}" onclick="preview('预览','${projectBasedData.fileUrl}','90%','90%','1')">${projectBasedData.fileName}</a>
+													</c:when>
+													<c:otherwise>
+														<a class="attention-info" href="javascript:void(0)" title ="${projectBasedData.fileName}" onclick="preview('预览','${projectBasedData.fileUrl}','90%','90%')">${projectBasedData.fileName}</a>
+													</c:otherwise>
+												</c:choose>
+											</c:otherwise>
+										</c:choose>
+									</c:otherwise>
+								</c:choose>
+
+
+							</td>
+							<td style="text-align:center;">
+									${projectBasedData.uploadUser.name}
+							</td>
+							<td style="text-align:center;">
+								<fmt:formatDate value="${projectBasedData.uploadDate}" pattern="yyyy-MM-dd"/>
+							</td>
+							<td style="text-align:center;">
+								<div id="workBaseDataList${idx.index}_operation">
+									<c:choose>
+										<c:when test="${ projectBasedData.flag =='according'}">
+											<c:choose>
+												<c:when test="${not empty projectBasedData.fileUrl}">
+													<a href="javascript:location.href='${ctx}/workfullmanage/workFullManage/downLoadAttach?file='+encodeURIComponent('${projectBasedData.fileUrl}');" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>
+												</c:when>
+												<c:otherwise>
+												</c:otherwise>
+											</c:choose>
+
+										</c:when>
+										<c:otherwise>
+										</c:otherwise>
+									</c:choose>
+								</div>
+							</td>
+						</tr>
+					</c:forEach>
+					</tbody>
+				</table>
+			</div>
+		</div>
+		</c:if>
 		<div class="form-group layui-row">
 			<div class="form-group-label"><h2>附件信息</h2></div>
 			<span id="attachment_title"></span>
@@ -211,4 +327,4 @@
 	</div>
 </div>
 </body>
-</html>
+</html>

+ 5 - 5
src/main/webapp/webpage/modules/projectrecord/implementCompletion/projectCompletionPigeonholeList.jsp

@@ -387,7 +387,7 @@
 				if(1 == d.operationSign) {
 					if(d.status == 1){
 						return [
-							'<a href="javascript:void(0)" onclick="openDialogreAudit(\'修改归档信息\', \'${ctx}/projectcontentinfo/projectReportRecord/form?condition=completionArchive&id='+d.recordId+'\',\'95%\',\'95%\')" class="op-btn op-btn-edit" ><i class="fa fa-edit"></i> 修改</a>',
+							'<a href="javascript:void(0)" onclick="openDialogreAudit(\'修改归档信息\', \'${ctx}/projectcontentinfo/projectReportRecord/form?condition=completionArchive&id='+d.recordId+'&infoId='+d.id+'\',\'95%\',\'95%\')" class="op-btn op-btn-edit" ><i class="fa fa-edit"></i> 修改</a>',
 							'<a href="${ctx}/projectcontentinfo/projectReportRecord/delete?condition=completionArchive&id='+d.recordId+'" onclick="return confirmx(\'确认要删除该归档信息吗?\', this.href)"   class="op-btn op-btn-delete"><i class="fa fa-trash"></i> 删除</a>',
 						].join('');
 					}else if(d.status == 2){
@@ -396,17 +396,17 @@
 						].join('');
 					}else if(d.status == 3){
 						return [
-							'<a href="javascript:void(0)" onclick="openDialogreAudit(\'修改归档信息\', \'${ctx}/projectcontentinfo/projectReportRecord/form?condition=completionArchive&id='+d.recordId+'\',\'95%\',\'95%\')" class="op-btn op-btn-edit" ><i class="fa fa-edit"></i> 修改</a>',
+							'<a href="javascript:void(0)" onclick="openDialogreAudit(\'修改归档信息\', \'${ctx}/projectcontentinfo/projectReportRecord/form?condition=completionArchive&id='+d.recordId+'&infoId='+d.id+'\',\'95%\',\'95%\')" class="op-btn op-btn-edit" ><i class="fa fa-edit"></i> 修改</a>',
 							'<a href="${ctx}/projectcontentinfo/projectReportRecord/delete?condition=completionArchive&id='+d.recordId+'" onclick="return confirmx(\'确认要删除该归档信息吗?\', this.href)"   class="op-btn op-btn-delete"><i class="fa fa-trash"></i> 删除</a>',
 						].join('');
 					}else if(d.status == 4){
 						return [
-							'<a href="javascript:void(0)" onclick="openDialogreAudit(\'修改归档信息\', \'${ctx}/projectcontentinfo/projectReportRecord/form?condition=completionArchive&view=modiftApply&id='+d.recordId+'\',\'95%\',\'95%\')" class="op-btn op-btn-edit" ><i class="fa fa-edit"></i> 修改</a>',
+							'<a href="javascript:void(0)" onclick="openDialogreAudit(\'修改归档信息\', \'${ctx}/projectcontentinfo/projectReportRecord/form?condition=completionArchive&view=modiftApply&id='+d.recordId+'&infoId='+d.id+'\',\'95%\',\'95%\')" class="op-btn op-btn-edit" ><i class="fa fa-edit"></i> 修改</a>',
 							'<a href="${ctx}/projectcontentinfo/projectReportRecord/delete?condition=completionArchive&id='+d.recordId+'" onclick="return confirmx(\'确认要删除该归档信息吗?\', this.href)"   class="op-btn op-btn-delete"><i class="fa fa-trash"></i> 删除</a>',
 						].join('');
 					}else if(d.status == null || d.status == '' || d.status == 10){
 						return [
-							'<a href="javascript:void(0)" onclick="openDialogreAudit(\'归档\', \'${ctx}/projectcontentinfo/projectReportRecord/formData?report.id='+d.reportId+'\',\'95%\',\'95%\')" class="op-btn op-btn-edit" ><i class="fa fa-edit"></i> 归档</a>',
+							'<a href="javascript:void(0)" onclick="openDialogreAudit(\'归档\', \'${ctx}/projectcontentinfo/projectReportRecord/formData?report.id='+d.reportId+'&infoId='+d.id+'\',\'95%\',\'95%\')" class="op-btn op-btn-edit" ><i class="fa fa-edit"></i> 归档</a>',
 						].join('');
 					}else{
 						return[''].join('');
@@ -554,4 +554,4 @@
 	}
 </script>
 </body>
-</html>
+</html>

+ 7 - 7
src/main/webapp/webpage/modules/projectrecord/implementEarly/projectEarlyPigeonholeList.jsp

@@ -305,7 +305,7 @@
 							if(0 == d.pid){
 								return "<a class=\"attention-info pid\" title=\"" + d.projectName + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看项目', '${ctx}/project/projectRecords/view?id=" + d.id +"','95%', '95%')\">" + d.projectName + "</a>";
 							}else{
-								return "<a class=\"attention-info\" href=\"javascript:void(0)\" onclick=\"openDialogView('查看工作内容', '${ctx}/projectcontentinfo/projectcontentinfo/form?view=contentView&dictType=&id="+d.contentPId+"&parentIds="+d.parentIds+"&infoId="+d.id+"','95%', '95%')\">" + d.projectName + "</a>";
+								return "<a class=\"attention-info\" href=\"javascript:void(0)\" onclick=\"openDialogView('查看工作内容', '${ctx}/projectcontentinfo/projectcontentinfo/form?view=contentView&condition=according&dictType=&id="+d.contentPId+"&parentIds="+d.parentIds+"&infoId="+d.id+"','95%', '95%')\">" + d.projectName + "</a>";
 							}
 						}},
 					{field: 'clientName', align:'center', title: '归档名称',templet: function(d){
@@ -398,34 +398,34 @@
 					if(d.status == 1){
 						return [
 							'<div class=\"layui-btn-group\">'+
-							'<a href="javascript:void(0)" onclick="openDialogreAudit(\'修改归档信息\', \'${ctx}/projectcontentinfo/projectReportRecord/form?condition=earlyArchive&id='+d.recordId+'\',\'95%\',\'95%\')" class="layui-btn layui-btn-xs layui-bg-green" > 修改</a>',
+							'<a href="javascript:void(0)" onclick="openDialogreAudit(\'修改归档信息\', \'${ctx}/projectcontentinfo/projectReportRecord/form?condition=earlyArchive&id='+d.recordId+'&infoId='+d.id+'\',\'95%\',\'95%\')" class="layui-btn layui-btn-xs layui-bg-green" > 修改</a>',
 							'<a href="${ctx}/projectcontentinfo/projectReportRecord/delete?condition=earlyArchive&id='+d.recordId+'" onclick="return confirmx(\'确认要删除该归档信息吗?\', this.href)"   class="layui-btn layui-btn-xs layui-bg-red"> 删除</a>',
 							+'</div>'
 						].join('');
 					}else if(d.status == 2){
 						return [
 							'<div class=\"layui-btn-group\">'+
-							'<a href="${ctx}/projectcontentinfo/projectReportRecord/cancelInvalidate?condition=earlyArchive&id='+d.recordId+'" onclick="return confirmx(\'确认要撤回该归档信息吗?\', this.href)"   class="layui-btn layui-btn-xs layui-bg-red"> 撤回</a>',
+							'<a href="${ctx}/projectcontentinfo/projectReportRecord/cancelInvalidate?condition=earlyArchive&id='+d.recordId+'&infoId='+d.id+'" onclick="return confirmx(\'确认要撤回该归档信息吗?\', this.href)"   class="layui-btn layui-btn-xs layui-bg-red"> 撤回</a>',
 							+'</div>'
 						].join('');
 					}else if(d.status == 3){
 						return [
 							'<div class=\"layui-btn-group\">'+
-							'<a href="javascript:void(0)" onclick="openDialogreAudit(\'修改归档信息\', \'${ctx}/projectcontentinfo/projectReportRecord/form?condition=earlyArchive&id='+d.recordId+'\',\'95%\',\'95%\')" class="layui-btn layui-btn-xs  layui-bg-green" > 修改</a>',
+							'<a href="javascript:void(0)" onclick="openDialogreAudit(\'修改归档信息\', \'${ctx}/projectcontentinfo/projectReportRecord/form?condition=earlyArchive&id='+d.recordId+'&infoId='+d.id+'\',\'95%\',\'95%\')" class="layui-btn layui-btn-xs  layui-bg-green" > 修改</a>',
 							'<a href="${ctx}/projectcontentinfo/projectReportRecord/delete?condition=earlyArchive&id='+d.recordId+'" onclick="return confirmx(\'确认要删除该归档信息吗?\', this.href)"   class="layui-btn layui-btn-xs layui-bg-red"> 删除</a>',
 							+'</div>'
 						].join('');
 					}else if(d.status == 4){
 						return [
 							'<div class=\"layui-btn-group\">'+
-							'<a href="javascript:void(0)" onclick="openDialogreAudit(\'修改归档信息\', \'${ctx}/projectcontentinfo/projectReportRecord/form?condition=earlyArchive&view=modiftApply&id='+d.recordId+'\',\'95%\',\'95%\')" class="layui-btn layui-btn-xs  layui-bg-green" > 修改</a>',
+							'<a href="javascript:void(0)" onclick="openDialogreAudit(\'修改归档信息\', \'${ctx}/projectcontentinfo/projectReportRecord/form?condition=earlyArchive&view=modiftApply&id='+d.recordId+'&infoId='+d.id+'\',\'95%\',\'95%\')" class="layui-btn layui-btn-xs  layui-bg-green" > 修改</a>',
 							'<a href="${ctx}/projectcontentinfo/projectReportRecord/delete?condition=earlyArchive&id='+d.recordId+'" onclick="return confirmx(\'确认要删除该归档信息吗?\', this.href)"   class="layui-btn layui-btn-xs layui-bg-red"> 删除</a>',
 							+'</div>'
 						].join('');
 					}else if(d.status == null || d.status == '' || d.status == 10){
 						return [
 							'<div class=\"layui-btn-group\">'+
-							'<a href="javascript:void(0)" onclick="openDialogreAudit(\'归档\', \'${ctx}/projectcontentinfo/projectReportRecord/formEarly?report.id='+d.reportId+'\',\'95%\',\'95%\')" class="layui-btn layui-btn-xs layui-bg-orange" > 归档</a>',
+							'<a href="javascript:void(0)" onclick="openDialogreAudit(\'归档\', \'${ctx}/projectcontentinfo/projectReportRecord/formEarly?report.id='+d.reportId+'&infoId='+d.id+'\',\'95%\',\'95%\')" class="layui-btn layui-btn-xs layui-bg-orange" > 归档</a>',
 							+'</div>'
 						].join('');
 					}else{
@@ -574,4 +574,4 @@
 	}
 </script>
 </body>
-</html>
+</html>

+ 25 - 4
src/main/webapp/webpage/modules/projectrecord/monthly/monthlyContentForm.jsp

@@ -809,12 +809,23 @@
                                                 <c:otherwise>
                                                     <c:choose>
                                                         <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
-                                                            <td><a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.temporaryUrl}','90%','90%','1')">${workClientAttachment.attachmentName}</a></td>
+                                                            <td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.temporaryUrl}',1)">${workClientAttachment.attachmentName}</a></td>
                                                         </c:when>
                                                         <c:otherwise>
-                                                            <td><a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.temporaryUrl}','90%','90%')">${workClientAttachment.attachmentName}</a></td>
+                                                            <c:choose>
+                                                                <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'rar')
+                                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'zip')
+                                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jar')
+                                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'7z')}">
+                                                                    <td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.temporaryUrl}',3)">${workClientAttachment.attachmentName}</a></td>
+                                                                </c:when>
+                                                                <c:otherwise>
+                                                                    <td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.temporaryUrl}',2)">${workClientAttachment.attachmentName}</a></td>
+                                                                </c:otherwise>
+                                                            </c:choose>
                                                         </c:otherwise>
                                                     </c:choose>
+
                                                 </c:otherwise>
                                             </c:choose>
                                         </c:when>
@@ -830,10 +841,20 @@
                                                 <c:otherwise>
                                                     <c:choose>
                                                         <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
-                                                            <td><a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','90%','90%','1')">${workClientAttachment.attachmentName}</a></td>
+                                                            <td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.url}',1)">${workClientAttachment.attachmentName}</a></td>
                                                         </c:when>
                                                         <c:otherwise>
-                                                            <td><a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','90%','90%')">${workClientAttachment.attachmentName}</a></td>
+                                                            <c:choose>
+                                                                <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'rar')
+                                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'zip')
+                                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jar')
+                                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'7z')}">
+                                                                    <td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.url}',3)">${workClientAttachment.attachmentName}</a></td>
+                                                                </c:when>
+                                                                <c:otherwise>
+                                                                    <td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.url}',2)">${workClientAttachment.attachmentName}</a></td>
+                                                                </c:otherwise>
+                                                            </c:choose>
                                                         </c:otherwise>
                                                     </c:choose>
                                                 </c:otherwise>

+ 3 - 1
src/main/webapp/webpage/modules/projectrecord/workContentFromAndView/projectEarlyForm.jsp

@@ -97,6 +97,7 @@
 			<form:hidden path="numberCount"/>
 			<form:hidden id="reportId" path="report.id"/>
 			<form:hidden path="report.project.id"/>
+			<form:hidden path="projectContentDataId" value = "${projectContentDataId}"/>
 			<%-- 全过程中实施前期进行归档则添加判定字符 方便调转 --%>
 			<input type="hidden" input="condition" name="condition" value="earlyArchive">
 
@@ -222,7 +223,7 @@
 						</tr>
 						</thead>
 						<tbody id="workBaseDataList">
-						<c:forEach items="${projectcontentinfo.projectContentData.projectBasedDataList}" var="projectBasedData" varStatus="idx">
+						<c:forEach items="${projectContentData.projectBasedDataList}" var="projectBasedData" varStatus="idx">
 							<tr>
 								<td class="hide">
 									<input type="hidden" id="workBaseDataList${idx.index}_id" value="${projectBasedData.id}">
@@ -317,6 +318,7 @@
 					</table>
 				</div>
 			</div>
+
 			<div class="form-group layui-row">
 				<div class="form-group-label"><h2>附件信息</h2></div>
 				<div class="layui-item nav-btns">

+ 115 - 1
src/main/webapp/webpage/modules/projectrecord/workContentFromAndView/projectReportRecordForm.jsp

@@ -97,6 +97,7 @@
 			<form:hidden path="numberCount"/>
 			<form:hidden id="reportId" path="report.id"/>
 			<form:hidden path="report.project.id"/>
+			<form:hidden path="projectContentDataId" value = "${projectContentDataId}"/>
 			<%-- 全过程中竣工阶段进行归档则添加判定字符 方便调转 --%>
 			<input type="hidden" input="condition" name="condition" value="completionArchive">
 
@@ -205,6 +206,119 @@
 				</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">
+					<table id="contentTableBase" class="table table-bordered table-condensed details">
+						<thead>
+						<tr>
+							<th class="hide"></th>
+								<%--<th >资料编号</th>--%>
+							<th >资料名称</th>
+							<th >资料类别</th>
+							<th >资料性质</th>
+							<th >资料内容</th>
+							<th >上传人</th>
+							<th >上传日期</th>
+							<th >操作</th>
+						</tr>
+						</thead>
+						<tbody id="workBaseDataList">
+						<c:forEach items="${projectContentData.projectBasedDataList}" var="projectBasedData" varStatus="idx">
+							<tr>
+								<td class="hide">
+									<input type="hidden" id="workBaseDataList${idx.index}_id" value="${projectBasedData.id}">
+								</td>
+									<%--<td style="text-align:center;">
+                                            ${projectBasedData.number}
+                                    </td>--%>
+								<td style="text-align:center;">
+										${projectBasedData.name}
+								</td>
+								<td style="text-align:center;">
+										${projectBasedData.type}
+								</td>
+								<td style="text-align:center;">
+										${projectBasedData.nature}
+								</td>
+								<td style="text-align:center;">
+									<c:choose>
+										<c:when test="${projectBasedData.uploadMode == 2}">
+											<c:choose>
+												<c:when test="${fn:containsIgnoreCase(projectBasedData.fileName,'jpg')
+                                                           or fn:containsIgnoreCase(projectBasedData.fileName,'png')
+                                                           or fn:containsIgnoreCase(projectBasedData.fileName,'gif')
+                                                           or fn:containsIgnoreCase(projectBasedData.fileName,'bmp')
+                                                           or fn:containsIgnoreCase(projectBasedData.fileName,'jpeg')}">
+													<img src="${projectBasedData.temporaryUrl}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${projectBasedData.temporaryUrl}','90%','90%')" alt="${projectBasedData.fileName}">
+												</c:when>
+												<c:otherwise>
+													<c:choose>
+														<c:when test="${fn:containsIgnoreCase(projectBasedData.fileName,'pdf')}">
+															<a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${projectBasedData.temporaryUrl}','90%','90%','1')">${projectBasedData.fileName}</a>
+														</c:when>
+														<c:otherwise>
+															<a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${projectBasedData.temporaryUrl}','90%','90%')">${projectBasedData.fileName}</a>
+														</c:otherwise>
+													</c:choose>
+												</c:otherwise>
+											</c:choose>
+										</c:when>
+										<c:otherwise>
+											<c:choose>
+												<c:when test="${fn:containsIgnoreCase(projectBasedData.fileName,'jpg')
+															   or fn:containsIgnoreCase(projectBasedData.fileName,'png')
+															   or fn:containsIgnoreCase(projectBasedData.fileName,'gif')
+															   or fn:containsIgnoreCase(projectBasedData.fileName,'bmp')
+															   or fn:containsIgnoreCase(projectBasedData.fileName,'jpeg')}">
+													<img src="${projectBasedData.fileUrl}" width="50" height="50" title ="${projectBasedData.fileName}" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${projectBasedData.fileUrl}','90%','90%')" alt="${projectBasedData.fileName}">
+												</c:when>
+												<c:otherwise>
+													<c:choose>
+														<c:when test="${fn:containsIgnoreCase(projectBasedData.fileName,'pdf')}">
+															<a class="attention-info" href="javascript:void(0)" title ="${projectBasedData.fileName}" onclick="preview('预览','${projectBasedData.fileUrl}','90%','90%','1')">${projectBasedData.fileName}</a>
+														</c:when>
+														<c:otherwise>
+															<a class="attention-info" href="javascript:void(0)" title ="${projectBasedData.fileName}" onclick="preview('预览','${projectBasedData.fileUrl}','90%','90%')">${projectBasedData.fileName}</a>
+														</c:otherwise>
+													</c:choose>
+												</c:otherwise>
+											</c:choose>
+										</c:otherwise>
+									</c:choose>
+
+
+								</td>
+								<td style="text-align:center;">
+										${projectBasedData.uploadUser.name}
+								</td>
+								<td style="text-align:center;">
+									<fmt:formatDate value="${projectBasedData.uploadDate}" pattern="yyyy-MM-dd"/>
+								</td>
+								<td style="text-align:center;">
+									<div id="workBaseDataList${idx.index}_operation">
+										<c:choose>
+											<c:when test="${ projectBasedData.flag =='according'}">
+												<c:choose>
+													<c:when test="${not empty projectBasedData.fileUrl}">
+														<a href="javascript:location.href='${ctx}/workfullmanage/workFullManage/downLoadAttach?file='+encodeURIComponent('${projectBasedData.fileUrl}');" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>
+													</c:when>
+													<c:otherwise>
+													</c:otherwise>
+												</c:choose>
+
+											</c:when>
+											<c:otherwise>
+											</c:otherwise>
+										</c:choose>
+									</div>
+								</td>
+							</tr>
+						</c:forEach>
+						</tbody>
+					</table>
+				</div>
+			</div>
+			<div class="form-group layui-row">
 				<div class="form-group-label"><h2>附件信息</h2></div>
 				<div class="layui-item nav-btns">
 					<a id="attachment_btn" class="nav-btn nav-btn-add" title="添加附件"><i class="fa fa-plus"></i>&nbsp;添加附件</a>
@@ -301,4 +415,4 @@
 	</div>
 </div>
 </body>
-</html>
+</html>

+ 1 - 0
src/main/webapp/webpage/modules/projectrecord/workContentFromAndView/reportForm.jsp

@@ -4,6 +4,7 @@
 <head>
 	<title>报告详情管理</title>
 	<meta name="decorator" content="default"/>
+	<script src="${ctxStatic}/layer-v2.3/layui/xmSelect.js" charset="utf-8"></script>
 	<style>
 		label.error{
 			top:40px;

+ 0 - 59
src/main/webapp/webpage/modules/projectrecord/workContentFromAndView/workContentView.jsp

@@ -234,65 +234,6 @@
             }
         }
 
-        /*function changeContentDetail(val) {
-            var param2 = {'contentId':"${projectcontentinfo.projectContentData.id}",'projectId':"${projectcontentinfo.project.id}","view":"view"};
-            detailFlag=1;
-            switch (val){
-                case '13':
-                case '22':
-                case '25':
-                    $("#contentDetail").load("${ctx}/workcontentinvestmentcost/workContentInvestmentCost/list",param2);
-                    break;
-                case '31':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentContprogram/form",param2);
-                    break;
-                case '32':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentBiddingplan/form",param2);
-                    break;
-                case '34':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentCtrlprice/form",param2);
-                    break;
-                case '41':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentContractinfo/form",param2);
-                    break;
-                case '42':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentPricemanage/form",param2);
-                    break;
-                case '43':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentAltermanage/form",param2);
-                    break;
-                case '45':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentVisamanage/form",param2);
-                    break;
-                case '46':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentClaim/form",param2);
-                    break;
-                case '47':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentFundplan/form",param2);
-                    break;
-                case '48':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentProjectprice/form",param2);
-                    break;
-                case '49':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentPriceadjust/form",param2);
-                    break;
-                case '52':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentBudget/form",param2);
-                    break;
-                case '53':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentDocument/form",param2);
-                    break;
-                case '400':
-                    $("#contentDetail").load("${ctx}/workcontent/workContentContractSum/form",param2);
-                    break;
-                default:
-                    detailFlag=0;
-                    $("#contentDetail").html("");
-                    break;
-            }
-
-        }*/
-
         function addFile() {
             $("#attachment_file").click();
         }