|
@@ -235,6 +235,166 @@ public class ProjectReportDefectRecordController extends BaseController {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 跳转到资料缺失说明页面
|
|
|
+ */
|
|
|
+ @RequiresPermissions("ruralProject:ruralProjectMessageAll:adminDescription")
|
|
|
+ @RequestMapping(value = "formAdminDescription")
|
|
|
+ public String formAdminDescription(ProjectMaterialDefectRecord materialDefectRecord, Model model) throws Exception {
|
|
|
+ //查询“配农网”工程类型id
|
|
|
+ String engineeringId = engineeringService.getEngineeringId("202");
|
|
|
+ if (StringUtils.isBlank(materialDefectRecord.getView()) || !materialDefectRecord.getView().equals("view")){
|
|
|
+ if(StringUtils.isBlank(materialDefectRecord.getId())){
|
|
|
+ materialDefectRecord.setCreateDate(new Date());
|
|
|
+ materialDefectRecord.setCreateBy(UserUtils.getUser());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ProjectReportData projectReportData = new ProjectReportData();
|
|
|
+ ProjectRecords projectRecords = new ProjectRecords();
|
|
|
+ projectReportData.setFileStatus("1");
|
|
|
+ ProjectReportData reportData = ruralProjectMessageService.getProjectReportDateByProjectId(materialDefectRecord.getReportId());
|
|
|
+ if(null != reportData){
|
|
|
+ if (StringUtils.isBlank(materialDefectRecord.getView()) || !materialDefectRecord.getView().equals("view")){
|
|
|
+
|
|
|
+ }else{
|
|
|
+// ProjectReportRecord projectReportRecordInfo =ruralProjectMessageService.getProjectReportRecord(reportData.getId());
|
|
|
+// MyBeanUtils.copyBeanNotNull2Bean(projectReportRecordInfo, projectReportRecord);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //获取项目信息
|
|
|
+ RuralProjectRecords ruralProjectRecords = projectRecordsService.get(materialDefectRecord.getReportId());
|
|
|
+ MyBeanUtils.copyBeanNotNull2Bean(ruralProjectRecords, projectRecords);
|
|
|
+ //获取合同信息
|
|
|
+ WorkContractInfo projectContractInfo = ruralProjectMessageService.getProjectContractInfo(projectRecords.getWorkContractInfo().getId());
|
|
|
+ projectRecords.setWorkContractInfo(projectContractInfo);
|
|
|
+ reportData.setProject(projectRecords);
|
|
|
+ materialDefectRecord.setReport(reportData);
|
|
|
+ materialDefectRecord.setUploadMode(uploadMode);
|
|
|
+ model.addAttribute("materialDefectRecord", materialDefectRecord);
|
|
|
+ model.addAttribute("project", materialDefectRecord.getReport().getProject());
|
|
|
+
|
|
|
+ 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(2);
|
|
|
+ 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.getProjectTemplateList(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");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (1==info.getMustFlag()){
|
|
|
+ info.setMustFlag(0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ materialDefectRecord.setFileAttachmentList(fileAttachmentList);
|
|
|
+ break;
|
|
|
+ case "12":
|
|
|
+ List<ProjectTemplateInfo> projectTemplateList = projectTemplateService.getProjectTemplateList(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");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (1==info.getMustFlag()){
|
|
|
+ info.setMustFlag(0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ materialDefectRecord.setFileGistdataList(projectTemplateList);
|
|
|
+ break;
|
|
|
+ case "13":
|
|
|
+ List<ProjectTemplateInfo> projectOtherList = projectTemplateService.getProjectTemplateList(relateInfo);
|
|
|
+ for (ProjectTemplateInfo info: projectOtherList) {
|
|
|
+ if ("其他资料".equals(info.getAttachName())){
|
|
|
+ info.setMustFlag(1);
|
|
|
+ //判定必填项的下的是否有附件信息
|
|
|
+ if (info.getWorkAttachments().size()!=0){
|
|
|
+ info.setFileFlag(1);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ if (1==info.getMustFlag()){
|
|
|
+ info.setMustFlag(0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ materialDefectRecord.setFileOtherList(projectOtherList);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ if(null != projectContractInfo){
|
|
|
+ if(projectContractInfo.getWorkClientInfoList().size()>0){
|
|
|
+ model.addAttribute("workClientInfoName", projectContractInfo.getWorkClientInfoList().get(0).getName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StringUtils.isNotBlank(materialDefectRecord.getView()) && materialDefectRecord.getView().equals("view")){
|
|
|
+ return "modules/ruralprojectrecords/cost/projectReportRecord/projectReportRecordView";
|
|
|
+ }else if (StringUtils.isNotBlank(materialDefectRecord.getView()) && materialDefectRecord.getView().equals("modiftApply")){
|
|
|
+ ProcessInstance processInstance = actTaskService.getProcIns(materialDefectRecord.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);
|
|
|
+ materialDefectRecord.setAct(act);
|
|
|
+ }
|
|
|
+ return "modules/ruralprojectrecords/record/projectRepordDescriptionModify";
|
|
|
+ }
|
|
|
+ return "modules/ruralprojectrecords/record/cost/projectRecordAdminDescriptionForm";
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 保存归档资料缺失说明
|
|
|
*/
|
|
|
@RequestMapping(value = "saveDefectRecord")
|
|
@@ -310,6 +470,50 @@ public class ProjectReportDefectRecordController extends BaseController {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 管理员保存归档资料缺失说明
|
|
|
+ */
|
|
|
+ @RequiresPermissions("ruralProject:ruralProjectMessageAll:adminDescription")
|
|
|
+ @RequestMapping(value = "adminSaveDefectRecord")
|
|
|
+ public String adminSaveDefectRecord(ProjectMaterialDefectRecord materialDefectRecord, Model model, RedirectAttributes redirectAttributes,Integer saveAuditFlag) throws Exception{
|
|
|
+ if (!beanValidator(model, materialDefectRecord)){
|
|
|
+ return formDescription(materialDefectRecord, model);
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ //获取创建者信息
|
|
|
+ User user = materialDefectRecord.getCreateBy();
|
|
|
+ String sta = materialDefectRecord.getStatus();
|
|
|
+ if(user!=null && !UserUtils.getUser().getId().equals(user.getId()) && StringUtils.isNotBlank(user.getId())){
|
|
|
+ addMessage(redirectAttributes, "您不是申请人,无法修改");
|
|
|
+ if (StringUtils.isNotBlank(materialDefectRecord.getView()) && materialDefectRecord.getView().equals("zixun")){
|
|
|
+ return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralProjectMessageAll/?repage";
|
|
|
+ }else if (StringUtils.isNotBlank(materialDefectRecord.getView()) && materialDefectRecord.getView().equals("zixunModify")){
|
|
|
+ return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralProjectMessageAll/?repage";
|
|
|
+ }
|
|
|
+ return "redirect:" + Global.getAdminPath() + "/ruralProject/ruralProjectMessageAll/?repage";
|
|
|
+ }
|
|
|
+ //状态设置为审核中
|
|
|
+ materialDefectRecord.setStatus("5");
|
|
|
+ String processInstanceId ="";
|
|
|
+ if (user!=null && StringUtils.isNotBlank(user.getId()) && StringUtils.isNotBlank(sta) && "3".equals(sta)){
|
|
|
+ processInstanceId = projectReportRecordService.getMaterialDefectRecord(materialDefectRecord.getId()).getProcessInstanceId();
|
|
|
+ }
|
|
|
+ Map<String, Object> variables = new HashMap<>();
|
|
|
+
|
|
|
+ ruralProjectMessageService.adminSaveProjectReportRecord(materialDefectRecord);//保存
|
|
|
+ addMessage(redirectAttributes, "保存报告归档资料缺失说明成功");
|
|
|
+ }catch (Exception e){
|
|
|
+ addMessage(redirectAttributes, "保存报告归档资料缺失说明失败");
|
|
|
+ logger.error("保存报告归档资料缺失说明失败",e);
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(materialDefectRecord.getView()) && materialDefectRecord.getView().equals("zixun")){
|
|
|
+ return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralProjectMessageAll/?repage";
|
|
|
+ }else if (StringUtils.isNotBlank(materialDefectRecord.getView()) && materialDefectRecord.getView().equals("zixunModify")){
|
|
|
+ return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralProjectMessageAll/?repage";
|
|
|
+ }
|
|
|
+ return "redirect:" + Global.getAdminPath() + "/ruralProject/ruralProjectMessageAll/?repage";
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 查看,增加,编辑报告归档表单页面
|
|
|
*/
|
|
|
@RequestMapping(value = "formDescriptionModify")
|