Explorar el Código

项目文件上传

user5 hace 4 años
padre
commit
5ef66d57c1

+ 7 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/dao/RuralProjectRecordsDao.java

@@ -116,4 +116,11 @@ public interface RuralProjectRecordsDao extends CrudDao<RuralProjectRecords> {
      * @return
      */
     List<RuralProjectRecords> projectPlanFindList(RuralProjectRecords records);
+
+    /**
+     * 根据报告id查询归档状态
+     * @param reportId
+     * @return
+     */
+    String getReportRecordStatus(String reportId);
 }

+ 118 - 7
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectRecordsService.java

@@ -19,7 +19,6 @@ import com.jeeplus.modules.projectAccessory.dao.ProjectTemplateDao;
 import com.jeeplus.modules.projectAccessory.entity.ProjectAccessoryRelationInfo;
 import com.jeeplus.modules.projectAccessory.entity.ProjectTemplateInfo;
 import com.jeeplus.modules.projectAccessory.service.ProjectAccessoryRelationService;
-import com.jeeplus.modules.projectAccessory.service.ProjectTemplateService;
 import com.jeeplus.modules.projectcontentinfo.dao.ProjectReportDataDao;
 import com.jeeplus.modules.projectcontentinfo.dao.ProjectcontentinfoDao;
 import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
@@ -30,7 +29,7 @@ import com.jeeplus.modules.ruralprojectrecords.dao.RuralProjectClientLinkmanDao;
 import com.jeeplus.modules.ruralprojectrecords.dao.RuralProjectRecordsDao;
 import com.jeeplus.modules.ruralprojectrecords.dao.RuralWorkProjectUserDao;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
-import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecordsReported;
+import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectcontentinfo;
 import com.jeeplus.modules.ruralprojectrecords.enums.ProjectStatusEnum;
 import com.jeeplus.modules.serialnum.service.SerialNumTplService;
 import com.jeeplus.modules.sys.entity.MainDictDetail;
@@ -67,21 +66,16 @@ import org.activiti.engine.RuntimeService;
 import org.activiti.engine.history.HistoricTaskInstance;
 import org.activiti.engine.history.HistoricTaskInstanceQuery;
 import org.activiti.engine.runtime.ProcessInstance;
-import org.activiti.engine.task.Task;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
-import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.*;
 import java.net.URLEncoder;
-import java.text.SimpleDateFormat;
 import java.util.*;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipOutputStream;
 
 /**
  * 项目登记Service
@@ -1645,4 +1639,121 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 
 		return projectTemplateList;
 	}
+
+	/**
+	 * 项目列表新增文件信息获取
+	 * @param projectRecords  项目信息
+	 * @return
+	 */
+	public RuralProjectcontentinfo formAccessory(RuralProjectRecords projectRecords){
+		RuralProjectcontentinfo projectcontentinfo = new RuralProjectcontentinfo();
+		//获取报告信息
+		ProjectReportData projectReportData = projectReportDataService.getReportDataByProjectId(projectRecords.getId());
+
+		projectcontentinfo.setProject(projectRecords);
+		projectcontentinfo.setProjectReportData(projectReportData);
+		//声明项目与附件关系表联系
+		ProjectAccessoryRelationInfo relateInfo = new ProjectAccessoryRelationInfo();
+		//添加项目类型
+		relateInfo.setAttachmentProjectType(projectRecords.getProjectType());
+		relateInfo.setAttachmentProjectSort(projectRecords.getAttachmentProjectSort());
+		//查看送审金额是否为500w以上金额
+		Integer approvalMoney = projectAccessoryRelationService.decideAttachmentProjectApprovalMoney(projectReportData.getReviewFee());
+		if(0 == approvalMoney){
+			//金额为0
+			relateInfo.setAttachmentProjectApprovalMoney(null);
+		}else if(1 == approvalMoney){
+			//500w以下金额状态
+			relateInfo.setAttachmentProjectApprovalMoney("1");
+		}else{
+			//500w以上金额状态
+			relateInfo.setAttachmentProjectApprovalMoney("2");
+		}
+		//创建阶段集合(若为归档阶段则将新增报告和归档阶段信息都添加在内)
+		List<Integer> requiredStageList = Lists.newArrayList();
+		requiredStageList.add(1);
+		//添加报告类型
+		relateInfo.setRequiredStage(1);
+		relateInfo.setId(projectRecords.getId());
+
+		//声明归档状态
+		String reportRecordStatus = null;
+		//判断报告信息是否已存在
+		if(null != projectReportData){
+			//判断是否已经审批完成
+			if ("5".equals(projectReportData.getStatus())){
+				//查询归档状态信息
+				reportRecordStatus = dao.getReportRecordStatus(projectReportData.getId());
+				//如果归档状态不为空,则查询归档展示列
+				if(StringUtils.isNotBlank(reportRecordStatus)){
+					relateInfo.setRequiredStage(2);
+					requiredStageList.add(2);
+				}
+			}
+		}else{
+			//没有提交报告信息
+
+		}
+
+		//查询报告文件、依据性文件、其他文件必填列表以及数据
+		List<MainDictDetail> mainDictDetails = this.attachmentTemplateList();
+		for (MainDictDetail mainDict : mainDictDetails) {
+			relateInfo.setAttachType(mainDict.getValue());
+			switch (mainDict.getValue()) {
+				case "11":
+					projectcontentinfo.setFileAttachmentList(this.getProjectTemplate(relateInfo,requiredStageList));
+					break;
+				case "12":
+					projectcontentinfo.setFileGistdataList(this.getProjectTemplate(relateInfo,requiredStageList));
+					break;
+				case "13":
+					projectcontentinfo.setFileOtherList(this.getProjectTemplate(relateInfo,requiredStageList));
+					break;
+			}
+
+		}
+
+		return projectcontentinfo;
+	}
+
+
+	/**
+	 *
+	 * @param projectTemplateInfo
+	 * @param requiredStageList
+	 * @return
+	 */
+	public List<ProjectTemplateInfo> getProjectTemplate(ProjectAccessoryRelationInfo projectTemplateInfo,List<Integer> requiredStageList){
+		//查询所有被选择为必填项展示列,并查询附件信息
+		List<ProjectTemplateInfo> projectTemplateList = projectTemplateDao.getProjectTemplateList(projectTemplateInfo);
+		for (ProjectTemplateInfo info: projectTemplateList) {
+			WorkClientAttachment attchment = new WorkClientAttachment();
+			attchment.setProjectId(projectTemplateInfo.getId());
+			attchment.setAttachmentId(info.getId());
+			List<WorkClientAttachment> attachments = workClientAttachmentDao.getList(attchment);
+			info.setWorkAttachments(attachments);
+			//判断是否为必填项,若为必填项则添加必填判定字段
+			if(requiredStageList.contains(info.getRequiredStage())){
+				info.setMustFlag(1);
+			}else{
+				info.setMustFlag(0);
+			}
+		}
+		//查询没有被选择必填项的数据并查询是否已经上传附件,若有则添加到展示列中
+		List<ProjectTemplateInfo> otherProjectTemplateList = projectTemplateDao.projectAccessoryListByParentId(projectTemplateInfo);
+		for (ProjectTemplateInfo otherInfo: otherProjectTemplateList) {
+			WorkClientAttachment attchment = new WorkClientAttachment();
+			attchment.setProjectId(projectTemplateInfo.getId());
+			attchment.setAttachmentId(otherInfo.getId());
+			List<WorkClientAttachment> attachments = workClientAttachmentDao.getList(attchment);
+			if(attachments.size()>0){
+				otherInfo.setWorkAttachments(attachments);
+
+				otherInfo.setMustFlag(0);
+				projectTemplateList.add(otherInfo);
+			}
+		}
+
+		return projectTemplateList;
+	}
 }

+ 22 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralCostProjectRecordsController.java

@@ -21,6 +21,7 @@ import com.jeeplus.modules.projectcontentinfo.service.ProjectReportDataService;
 import com.jeeplus.modules.projectrecord.entity.ProjectPlanInfo;
 import com.jeeplus.modules.projectrecord.service.ProjectPlanService;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
+import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectcontentinfo;
 import com.jeeplus.modules.ruralprojectrecords.enums.ProjectStatusEnum;
 import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectMessageService;
 import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectRecordsService;
@@ -795,4 +796,25 @@ public class RuralCostProjectRecordsController extends BaseController {
 		}
 		return null;
 	}
+
+
+	/**
+	 * 文件上传
+	 * @param projectRecords
+	 * @param model
+	 * @return
+	 */
+	@RequiresPermissions(value={"ruralProject:ruralCostProjectRecords:accessory","ruralProject:ruralCostProjectRecords:adminAccessory"},logical=Logical.OR)
+	@RequestMapping(value = "formAccessory")
+	public String formAccessory(RuralProjectRecords projectRecords, Model model) {
+		if (projectRecords!=null&&StringUtils.isNotBlank(projectRecords.getId())) {
+			projectRecords = projectRecordsService.getQueryProjectUsers(projectRecords.getId());
+			RuralProjectcontentinfo ruralProjectcontentinfo = projectRecordsService.formAccessory(projectRecords);
+			model.addAttribute("projectcontentinfo", ruralProjectcontentinfo);
+			model.addAttribute("projectRecords", projectRecords);
+		}else {
+			return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralProjectRecords/?repage";
+		}
+		return "modules/ruralprojectrecords/projectAccessoryForm";
+	}
 }

+ 22 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectRecordsController.java

@@ -23,6 +23,7 @@ import com.jeeplus.modules.projectcontentinfo.service.ProjectReportDataService;
 import com.jeeplus.modules.projectrecord.entity.ProjectPlanInfo;
 import com.jeeplus.modules.projectrecord.service.ProjectPlanService;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
+import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectcontentinfo;
 import com.jeeplus.modules.ruralprojectrecords.enums.ProjectStatusEnum;
 import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectMessageService;
 import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectRecordsService;
@@ -884,4 +885,25 @@ public class RuralProjectRecordsController extends BaseController {
 		model.addAttribute("page", page);
 		return "modules/ruralprojectrecords/ruralProjectRecordsShowFinishList";
 	}
+
+
+	/**
+	 * 文件上传
+	 * @param projectRecords
+	 * @param model
+	 * @return
+	 */
+	@RequiresPermissions(value={"ruralProject:ruralProjectRecords:accessory","ruralProject:ruralProjectRecords:adminAccessory"},logical=Logical.OR)
+	@RequestMapping(value = "formAccessory")
+	public String formAccessory(RuralProjectRecords projectRecords, Model model) {
+		if (projectRecords!=null&&StringUtils.isNotBlank(projectRecords.getId())) {
+			projectRecords = projectRecordsService.getQueryProjectUsers(projectRecords.getId());
+			RuralProjectcontentinfo ruralProjectcontentinfo = projectRecordsService.formAccessory(projectRecords);
+			model.addAttribute("projectcontentinfo", ruralProjectcontentinfo);
+			model.addAttribute("projectRecords", projectRecords);
+		}else {
+			return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralProjectRecords/?repage";
+		}
+		return "modules/ruralprojectrecords/projectAccessoryForm";
+	}
 }

+ 4 - 3
src/main/resources/mappings/modules/projectcontentinfo/ProjectReportDataDao.xml

@@ -832,10 +832,11 @@
 	</select>
 
 	<select id="getProjectReportData" resultType="com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData">
-		select a.id,a.name,a.number,a.type as pid,a.report_type as reportType,
-		a.review_standard as reviewStandard,a.achievement_type as achievementType,
-		a.create_date as createDate,a.status as fileStatus,a.create_by as createBy
+		select
+		<include refid="projectReportDataColumns"/>
+		,a.bzshb_user_id as "bzshbUserId"
 		from project_report_data a
+		LEFT JOIN sys_user m ON m.id = a.master
 		where a.del_flag = 0 AND a.project_id = #{projectId}
 		limit 1
 	</select>

+ 7 - 0
src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectRecordsDao.xml

@@ -90,6 +90,7 @@
 		wct.id AS "workContractInfo.client.id",
 		wct.name AS "workContractInfo.client.name",
 		o.top_company AS "office.name"
+		,ifnull(prr.status ,0) as "projectReportRecordStatus"
 		FROM rural_project_records a
 		<include refid="projectRecordsJoins"/>
 
@@ -100,6 +101,8 @@
         LEFT JOIN work_project_user w1 on a.id = w1.project_id
 		LEFT JOIN work_contract_info wci on a.contract_id = wci.id
 		LEFT JOIN work_client_info wct on wci.client_id = wct.id
+		LEFT JOIN project_report_data prd on prd.project_id = a.id
+		LEFT JOIN rural_project_report_record prr on prd.id = prr.report_id
         LEFT JOIN sys_office o ON o.id = a.office_id
 		<where>
 			<if test="projectId != null and projectId != ''">
@@ -1349,4 +1352,8 @@
 			</if>
 		</where>
 	</select>
+
+	<select id="getReportRecordStatus" resultType="java.lang.String">
+		select status from rural_project_report_record where report_id = #{reportId}
+	</select>
 </mapper>

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

@@ -312,7 +312,7 @@
                             var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
                         return xml;
                     }}
-                ,{field:'op',align:'center',title:"操作",width:130,templet:function(d){
+                ,{field:'op',align:'center',title:"操作",width:150,templet:function(d){
                         ////对操作进行初始化
                         var xml="";
                         if(d.canedit1 != undefined && d.canedit1 =="1")
@@ -335,6 +335,16 @@
                         {
                             xml+="<a href=\"${ctx}/ruralProject/ruralCostProjectRecords/revoke?id=" + d.id + "&processInstanceId=" + d.procId + "&projectStatus="+d.projectStatus+"\" onclick=\"return confirmx('确认要撤回该项目审批吗?', this.href)\" class=\"op-btn op-btn-cancel\" ><i class=\"glyphicon glyphicon-share-alt\"></i> 撤回</a>";
                         }
+						//项目在没有归档完成之前可对文档进行操作
+						if(d.recordStatus != undefined && d.recordStatus =="1")
+						{
+							xml+="<a href=\"#\" onclick=\"openDialogView('文件上传', '${ctx}/ruralProject/ruralCostProjectRecords/formAccessory?id=" + d.id + "','95%', '95%')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 上传文件</a>";
+						}
+						//项目在没有归档完成之前可对文档进行操作
+						if(d.adminAccessory != undefined && d.adminAccessory =="1")
+						{
+							xml+="<a href=\"#\" onclick=\"openDialogView('归档管理员文件上传', '${ctx}/ruralProject/ruralCostProjectRecords/formAccessory?id=" + d.id + "','95%', '95%')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 上传文件</a>";
+						}
                         if(d.canedit3 != undefined && d.canedit3 =="1")
                         {
                             //xml+="<a href=\"javascript:void(0)\" onclick=\"openDialogre('项目变更管理', '${ctx}/ruralProject/ruralCostProjectRecordsAlter/form?alterBeforeRecords.id='+encodeURIComponent('" + d.id + "'),'95%','95%','','送审,暂存,关闭')\" style=\"color: white;background: darkseagreen\" class=\"op-btn op-btn-op-btn-revert\" ><i class=\"fa fa-edit\"></i> 变更</a>";
@@ -362,6 +372,7 @@
                     ,"client":"${projectRecords.workContractInfo.client.name}"
                     ,"createDate":"<fmt:formatDate value="${projectRecords.createDate}" pattern="yyyy-MM-dd"/>"
                     ,"projectStatus":"${projectRecords.projectStatus}"
+					,"projectReportRecordStatus":"${projectRecords.projectReportRecordStatus}"
                     ,"procId":"${projectRecords.processInstanceId}"
 					,"flagAdmin":"${projectRecords.flagAdmin}"
                     <c:choose><c:when test="${flag == '1' or fns:getUser().id == projectRecords.createBy.id}">
@@ -372,6 +383,7 @@
                     </shiro:hasPermission>
                     ,"cancancel":<c:choose><c:when test="${projectRecords.projectStatus == 2 && fns:getUser().id == projectRecords.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
 					,"deleteAdmin":<c:choose><c:when test="${'1' == projectRecords.flagAdmin && projectRecords.projectStatus == 5}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
+					,"recordStatus":<c:choose><c:when test="${'5' != projectRecords.projectReportRecordStatus && projectRecords.projectStatus == 5}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
 					</c:when>
                     <c:otherwise>
                     ,"candel":"0"
@@ -380,9 +392,17 @@
                     ,"canrecall":"0"
                     ,"cancancel":"0"
 					,"deleteAdmin":"0"
+					,"recordStatus":"0"
                     </c:otherwise>
                     </c:choose>
                     <shiro:hasPermission name="ruralProject:ruralCostProjectRecords:edit">,"canedit3":<c:choose><c:when test="${projectRecords.projectStatus == 5 && fn:contains(projectRecords.leaderIds,fns:getUser().id)}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose></shiro:hasPermission>
+					<shiro:hasPermission name="ruralProject:ruralCostProjectRecords:adminAccessory">
+						,"adminAccessory":
+							<c:choose>
+								<c:when test="${projectRecords.projectStatus == 5 && '5' != projectRecords.projectReportRecordStatus}">"1"</c:when>
+								<c:otherwise>"0"</c:otherwise>
+							</c:choose>
+					</shiro:hasPermission>
                 }
                 </c:forEach>
                 </c:if>

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

@@ -340,7 +340,7 @@
                             var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
                         return xml;
                     }}
-                ,{field:'op',align:'center',title:"操作",width:130,templet:function(d){
+                ,{field:'op',align:'center',title:"操作",width:150,templet:function(d){
                         ////对操作进行初始化
                         var xml="";
                         if(d.canedit1 != undefined && d.canedit1 =="1")
@@ -363,6 +363,16 @@
                         {
                             xml+="<a href=\"${ctx}/ruralProject/ruralProjectRecords/revoke?id=" + d.id + "&processInstanceId=" + d.procId + "&projectStatus="+d.projectStatus+"\" onclick=\"return confirmx('确认要撤回该项目审批吗?', this.href)\" class=\"op-btn op-btn-cancel\" ><i class=\"glyphicon glyphicon-share-alt\"></i> 撤回</a>";
                         }
+                        //项目在没有归档完成之前可对文档进行操作
+                        if(d.recordStatus != undefined && d.recordStatus =="1")
+                        {
+							xml+="<a href=\"#\" onclick=\"openDialogView('文件上传', '${ctx}/ruralProject/ruralProjectRecords/formAccessory?id=" + d.id + "','95%', '95%')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 上传文件</a>";
+                        }
+						//项目在没有归档完成之前可对文档进行操作
+						if(d.adminAccessory != undefined && d.adminAccessory =="1")
+						{
+							xml+="<a href=\"#\" onclick=\"openDialogView('归档管理员文件上传', '${ctx}/ruralProject/ruralProjectRecords/formAccessory?id=" + d.id + "','95%', '95%')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 上传文件</a>";
+						}
                         if(d.canedit3 != undefined && d.canedit3 =="1")
                         {
                             //xml+="<a href=\"javascript:void(0)\" onclick=\"openDialogre('项目变更管理', '${ctx}/ruralProject/ruralProjectRecordsAlter/form?alterBeforeRecords.id='+encodeURIComponent('" + d.id + "'),'95%','95%','','送审,暂存,关闭')\" style=\"color: white;background: darkseagreen\" class=\"op-btn op-btn-op-btn-revert\" ><i class=\"fa fa-edit\"></i> 变更</a>";
@@ -391,6 +401,7 @@
                     ,"createDate":"<fmt:formatDate value="${projectRecords.createDate}" pattern="yyyy-MM-dd"/>"
                     ,"projectStatus":"${projectRecords.projectStatus}"
                     ,"procId":"${projectRecords.processInstanceId}"
+					,"projectReportRecordStatus":"${projectRecords.projectReportRecordStatus}"
 					,"flagAdmin":"${projectRecords.flagAdmin}"
                     <c:choose><c:when test="${flag == '1' or fns:getUser().id == projectRecords.createBy.id}">
                     <shiro:hasPermission name="ruralProject:ruralProjectRecords:del">,"candel":	<c:choose><c:when test="${(projectRecords.projectStatus == 1 or projectRecords.projectStatus == 3 or projectRecords.projectStatus == 4) && fns:getUser().id == projectRecords.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose></shiro:hasPermission>
@@ -399,6 +410,7 @@
                     ,"canrecall":<c:choose><c:when test="${projectRecords.projectStatus == 3 && fns:getUser().id == projectRecords.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
                     </shiro:hasPermission>
                     ,"cancancel":<c:choose><c:when test="${projectRecords.projectStatus == 2 && fns:getUser().id == projectRecords.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
+                    ,"recordStatus":<c:choose><c:when test="${'5' != projectRecords.projectReportRecordStatus && projectRecords.projectStatus == 5}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
                     ,"deleteAdmin":<c:choose><c:when test="${'1' == projectRecords.flagAdmin && projectRecords.projectStatus == 5}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
                     </c:when>
                     <c:otherwise>
@@ -408,9 +420,17 @@
                     ,"canrecall":"0"
                     ,"cancancel":"0"
                     ,"deleteAdmin":"0"
+                    ,"recordStatus":"0"
                     </c:otherwise>
                     </c:choose>
                     <shiro:hasPermission name="ruralProject:ruralProjectRecords:edit">,"canedit3":<c:choose><c:when test="${projectRecords.projectStatus == 5 && fn:contains(projectRecords.leaderIds,fns:getUser().id)}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose></shiro:hasPermission>
+					<shiro:hasPermission name="ruralProject:ruralProjectRecords:adminAccessory">
+					,"adminAccessory":
+							<c:choose>
+							<c:when test="${projectRecords.projectStatus == 5 && '5' != projectRecords.projectReportRecordStatus}">"1"</c:when>
+					<c:otherwise>"0"</c:otherwise>
+					</c:choose>
+					</shiro:hasPermission>
                 }
                 </c:forEach>
                 </c:if>