Explorar o código

竣工阶段 项目归档审核操作

user5 %!s(int64=4) %!d(string=hai) anos
pai
achega
4405f03995

+ 11 - 2
src/main/java/com/jeeplus/modules/projectcontentinfo/web/ProjectReportRecordController.java

@@ -109,6 +109,9 @@ public class ProjectReportRecordController extends BaseController {
 			}
 			return "modules/projectcontentinfo/projectReportRecordModiftApply";
 		}
+		if("completionArchive".equals(projectReportRecord.getCondition())){
+			return "modules/projectrecord/workContentFromAndView/projectReportRecordForm";
+		}
 		return "modules/projectcontentinfo/projectReportRecordForm";
 	}
 
@@ -189,7 +192,7 @@ public class ProjectReportRecordController extends BaseController {
 	 */
 	@RequestMapping(value = "store")
 	public String store(ProjectReportRecord projectReportRecord, Model model, RedirectAttributes redirectAttributes) throws Exception{
-		/*if (!beanValidator(model, projectReportRecord)){
+		if (!beanValidator(model, projectReportRecord)){
 			return form(projectReportRecord, model);
 		}
 		if(!projectReportRecord.getIsNewRecord()){//编辑表单保存
@@ -202,7 +205,7 @@ public class ProjectReportRecordController extends BaseController {
 			projectReportRecord.setOfficeId(user.getOffice().getId());
 			projectReportRecord.setStatus("1");
 			projectReportRecordService.save(projectReportRecord);//保存
-		}*/
+		}
 		addMessage(redirectAttributes, "保存报告归档成功");
 		return "redirect:"+Global.getAdminPath()+"/projectcontentinfo/projectReportRecord/?repage";
 	}
@@ -280,6 +283,9 @@ public class ProjectReportRecordController extends BaseController {
 		}catch (Exception e){
 				addMessage(redirectAttributes, "删除报告归档失败");
 		}
+		if("completionArchive".equals(projectReportRecord.getCondition())){
+			return "redirect:"+Global.getAdminPath()+"/project/projectCompletionPigeonhole/?repage";
+		}
 		return "redirect:"+Global.getAdminPath()+"/projectcontentinfo/projectReportRecord/?repage";
 	}
 
@@ -298,6 +304,9 @@ public class ProjectReportRecordController extends BaseController {
 		}catch (Exception e){
 			addMessage(redirectAttributes, "强制撤回报告归档失败");
 		}
+		if("completionArchive".equals(projectReportRecord.getCondition())){
+			return "redirect:"+Global.getAdminPath()+"/project/projectCompletionPigeonhole/?repage";
+		}
 		return "redirect:"+Global.getAdminPath()+"/projectcontentinfo/projectReportRecord/?repage";
 	}
 

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

@@ -27,6 +27,7 @@ public class ProjectRecordTreeData extends DataEntity<ProjectRecordTreeData> {
     private List<String> masterIdList;  //项目负责人集合
     private Integer operationSign;   //操作标识
     private String projectContentId;  //工作内容id
+    private String recordId;
 
     public String getProjectId() {
         return projectId;
@@ -179,4 +180,12 @@ public class ProjectRecordTreeData extends DataEntity<ProjectRecordTreeData> {
     public void setProjectContentId(String projectContentId) {
         this.projectContentId = projectContentId;
     }
+
+    public String getRecordId() {
+        return recordId;
+    }
+
+    public void setRecordId(String recordId) {
+        this.recordId = recordId;
+    }
 }

+ 4 - 2
src/main/resources/mappings/modules/projectcontentinfo/ProjectContentDataDao.xml

@@ -317,15 +317,17 @@
 	<select id="getProjectContentReportArchiveDataList" resultType="com.jeeplus.modules.projectrecord.entity.ProjectRecordTreeData">
 		select a.id as "id", a.create_by as "createBy.id", a.create_date as "createDate", a.project_id as "pid",
 		a.name as "projectName", "" as projectId, "0" as projectStatus,su.name as "projectRegistrant" ,
-		pt.type_name as projectLeader, ppt.type_name as clientName,prd.status as status,prd.id as reportId,ifnull(prd.name,'') as reportName
+		pt.type_name as projectLeader, ppt.type_name as clientName,ifnull(prr.status,'10') as status,
+		prd.id as reportId,prr.id as recordId,ifnull(prd.name,'') as reportName
 		from project_content_data a
 		left join sys_user su on su.id = a.create_by
 		left join project_type pt on a.type = pt.type_id
 		left join project_type ppt on pt.parent_id = ppt.id
 		left join project_content_report pcr on pcr.content_id = a.id
 		left join project_report_data prd on prd.id = pcr.report_id
+		left join project_report_record prr on prd.id = prr.report_id
 		where a.project_id = #{projectId} and pt.parent_id =#{projectTypeParentId}
-		and a.del_flag = 0 and prd.status = 5 order by prd.status, a.update_date desc, prd.update_date desc
+		and a.del_flag = 0 and prd.status = 5 order by prr.update_date desc, a.update_date  desc
 	</select>
 
 	<select id="getProjectContentData" resultType="ProjectContentData">

+ 1 - 1
src/main/webapp/static/common/jeeplus.js

@@ -433,7 +433,7 @@ function getAuditState(id)
         case "6":result.label = "discarding";result.status="作废中";break;
         case "7":result.label = "discarded";result.status="已作废";break;
         case "8":result.label = "changing";result.status="变更中";break;
-        case "10":result.label = "unknown";result.status="待发起";break;
+        case "10":result.label = "unknown";result.status="待发起";result.action = false;break;
         default:
             result.label = "unknown";result.status="未知";break;
     }

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

@@ -175,7 +175,7 @@
 	<div class="layui-row">
 		<div class="full-width fl">
 			<div class="layui-row contentShadow shadowLR" id="queryDiv">
-				<form:form id="searchForm" modelAttribute="projectImplementEarly" action="${ctx}/project/projectImplementCompletion/" method="post" class="form-inline">
+				<form:form id="searchForm" modelAttribute="projectImplementEarly" action="${ctx}/project/projectCompletionPigeonhole/" method="post" class="form-inline">
 					<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
 					<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
 					<table:sortColumn id="orderBy" name="orderBy" value="${page.orderBy}" callback="sortOrRefresh();"/><!-- 支持排序 -->
@@ -327,7 +327,7 @@
 								return "<font>"+layui.util.toDateString(date,'yyyy-MM-dd')+"</font>";
 							}
 						}},
-					/*{align:'center', title: '状态',  width:70,templet:function(d){
+					{align:'center', title: '状态',  width:70,templet:function(d){
 							var st = getAuditState(""+d.projectStatus);
 							if(d.pid ==0){
 								if(st.action)
@@ -336,15 +336,16 @@
 									var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
 								return xml;
 							}else if(d.pid !=0){
+								st = getAuditState(""+d.status);
 								if(st.action)
-									var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/projectcontentinfo/projectcontentinfo/getProcessOne?id=" + d.id + "&projectReportData.id="+ d.id + "&type="+d.projectStatus+"','95%','95%')\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+									var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/projectcontentinfo/projectReportRecord/getProcessOne?id=" + d.recordId + "','95%','95%')\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
 								else
 									var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
 								return xml;
 							}else{
 								return '';
 							}
-						}},*/
+						}},
 					{templet: complain, align:'center', title: '操作',width:130}
 				]],
 				done: function () {
@@ -375,12 +376,33 @@
 					/*'<a href="javascript:void(0)" onclick="openDialogreAudit(\'新增工作内容\', \'${ctx}/project/projectImplementCompletion/form?view=before&dictType=&parentIds=&project.id=' + d.id +'\',\'95%\',\'95%\')" style=\"color: white;background: darkseagreen\" class="op-btn op-btn-add" ><i class="fa fa-plus"></i> 新增</a>'*/,
 				].join('');
 			} else if (d.pid!="0"){
-				//子级内容
-				return [
-					/*'<a href="javascript:void(0)" onclick="openDialogreAudit(\'修改工作内容\', \'${ctx}/projectcontentinfo/projectcontentinfo/form?view=content&condition=early&dictType=&id='+d.contentPId+'&parentIds='+d.parentIds+'&infoId='+d.id+'\',\'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+'\',\'95%\',\'95%\')" class="op-btn op-btn-edit" ><i class="fa fa-edit"></i> 归档</a>',
 
-				].join('');
+				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="${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){
+					return [
+						'<a href="${ctx}/projectcontentinfo/projectReportRecord/cancelInvalidate?condition=completionArchive&id='+d.recordId+'" onclick="return confirmx(\'确认要撤回该归档信息吗?\', this.href)"   class="op-btn op-btn-cancel"><i class="glyphicon glyphicon-share-alt"></i> 撤回</a>',
+					].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="${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&id='+d.recordId+'\'\'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>',
+					].join('');
+				}else{
+					return[''].join('');
+				}
 			}else{
 				return[''].join('');
 			}