Jelajahi Sumber

苏州签章撤回操作功能开发

user5 1 tahun lalu
induk
melakukan
98b2d37d21

+ 6 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/dao/RuralProjectMessageElectronicSealDao.java

@@ -210,4 +210,10 @@ public interface RuralProjectMessageElectronicSealDao extends CrudDao<ProjectRep
      * @return
      */
     ProjectReportSignatureInfo getInternalAuditByReportNumber(String reportNumber);
+
+    /**
+     * 根据通知title 删除通知信息
+     * @param title
+     */
+    void deleteWorkProjectNotifyByReportId(String title);
 }

+ 62 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageElectronicSealService.java

@@ -2193,6 +2193,68 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
     }
 
 
+    /**
+     * 审定单签章撤回(审核完成后进行撤回)
+     * @param projectApprovalSignature
+     * @throws Exception
+     */
+    @Transactional(readOnly = false)
+    public void cancelApprovalStatusByAdmin(ProjectApprovalSignature projectApprovalSignature) {
+        RuralProjectRecords projectRecords = projectRecordsService.get(projectApprovalSignature.getProjectId());
+        ProjectReportData projectReportData = projectReportDataService.getReportDataByProjectId(projectRecords.getId());
+        //修改审核状态为暂存
+        //结束该流程,设为"撤销"状态月
+        ProjectApprovalSignature sendMessage = new ProjectApprovalSignature();
+        sendMessage.setId(projectApprovalSignature.getId());
+        sendMessage.setStatus(ProjectStatusEnum.TSTORE.getValue());
+        sendMessage.preUpdate();
+        dao.updateApprovalSignature(sendMessage);
+        //将通知表中对应的数据进行删除
+
+        dao.deleteWorkProjectNotifyByReportId("报告号【" + projectReportData.getNumber() + "】审定单签章审批登记完成");
+    }
+
+    /**
+     * 报告签章撤回(审核完成后进行撤回)
+     * @param projectApprovalSignature
+     * @throws Exception
+     */
+    @Transactional(readOnly = false)
+    public void cancelReportSignatureStatusByAdmin(ProjectReportSignature projectApprovalSignature) {
+        RuralProjectRecords projectRecords = projectRecordsService.get(projectApprovalSignature.getProjectId());
+        ProjectReportData projectReportData = projectReportDataService.getReportDataByProjectId(projectRecords.getId());
+        //修改审核状态为暂存
+        //结束该流程,设为"撤销"状态月
+        ProjectReportSignature sendMessage = new ProjectReportSignature();
+        sendMessage.setId(projectApprovalSignature.getId());
+        sendMessage.setStatus(ProjectStatusEnum.TSTORE.getValue());
+        sendMessage.preUpdate();
+        dao.updateReportSignature(sendMessage);
+        //将通知表中对应的数据进行删除
+
+        dao.deleteWorkProjectNotifyByReportId("报告号【" + projectReportData.getNumber() + "】报告签章审批登记完成");
+    }
+
+    /**
+     * 内审报告签章撤回(审核完成后进行撤回)
+     * @param projectApprovalSignature
+     * @throws Exception
+     */
+    @Transactional(readOnly = false)
+    public void cancelReportInternalAuditSignatureStatusByAdmin(ProjectReportSignature projectApprovalSignature) {
+        RuralProjectRecords projectRecords = projectRecordsService.get(projectApprovalSignature.getProjectId());
+        ProjectReportData projectReportData = projectReportDataService.getReportDataByProjectId(projectRecords.getId());
+        //修改审核状态为暂存
+        //结束该流程,设为"撤销"状态月
+        ProjectReportSignature sendMessage = new ProjectReportSignature();
+        sendMessage.setId(projectApprovalSignature.getId());
+        sendMessage.setStatus(ProjectStatusEnum.TSTORE.getValue());
+        sendMessage.preUpdate();
+        dao.updateReportInternalAuditSignature(sendMessage);
+        //将通知表中对应的数据进行删除
+
+        dao.deleteWorkProjectNotifyByReportId("报告号【" + projectReportData.getNumber() + "】内审报告签章审批登记完成");
+    }
 
 
 

+ 85 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageElectronicSealController.java

@@ -1441,5 +1441,90 @@ public class RuralProjectMessageElectronicSealController extends BaseController
         return map;
     }
 
+    /**
+     * 已签章审定单撤回
+     * @param request
+     * @param redirectAttributes
+     * @return
+     */
+    @RequestMapping(value = "approvalAdminRevoke")
+    public String approvalAdminRevoke(HttpServletRequest request, RedirectAttributes redirectAttributes) {
+        HashMap<String, String> requestMap = findRequestMap(request);
+        String id = requestMap.get("id");
+        try {
+            //根据项目id查询对应的审定单数据状态是否是已经被送审或者 是否存在值
+            ProjectApprovalSignature projectApprovalSignature = ruralProjectMessageElectronicSealService.getProjectApprovalSignature(id);
+
+            if(null != projectApprovalSignature && null != projectApprovalSignature.getStatus() && 5 != projectApprovalSignature.getStatus()){
+                addMessage(redirectAttributes, "审定单签章申请未发起或发起审批未通过,无法撤回");
+                return "redirect:"+Global.getAdminPath()+"/ruralProject/electronicSeal/?repage";
+            }
+            assert projectApprovalSignature != null;
+            ruralProjectMessageElectronicSealService.cancelApprovalStatusByAdmin(projectApprovalSignature);
+            addMessage(redirectAttributes, "撤回该审定单签章申请成功");
+        }catch (Exception e){
+            logger.info(e.getMessage());
+            addMessage(redirectAttributes, "撤回该审定单签章申请失败");
+        }
+        return "redirect:"+Global.getAdminPath()+"/ruralProject/electronicSeal/?repage";
+    }
+
+    /**
+     * 已签章报告撤回
+     * @param request
+     * @param redirectAttributes
+     * @return
+     */
+    @RequestMapping(value = "reportSignatureAdminRevoke")
+    public String reportSignatureAdminRevoke(HttpServletRequest request, RedirectAttributes redirectAttributes) {
+        HashMap<String, String> requestMap = findRequestMap(request);
+        String id = requestMap.get("id");
+        try {
+            //根据项目id查询对应的审定单数据状态是否是已经被送审或者 是否存在值
+            ProjectReportSignature projectApprovalSignature = ruralProjectMessageElectronicSealService.getProjectReportSignature(id);
+
+            if(null != projectApprovalSignature && null != projectApprovalSignature.getStatus() && 5 != projectApprovalSignature.getStatus()){
+                addMessage(redirectAttributes, "报告签章申请未发起或发起审批未通过,无法撤回");
+                return "redirect:"+Global.getAdminPath()+"/ruralProject/electronicSeal/?repage";
+            }
+            assert projectApprovalSignature != null;
+            ruralProjectMessageElectronicSealService.cancelReportSignatureStatusByAdmin(projectApprovalSignature);
+            addMessage(redirectAttributes, "撤回该报告签章申请成功");
+        }catch (Exception e){
+            logger.info(e.getMessage());
+            addMessage(redirectAttributes, "撤回该报告签章申请失败");
+        }
+        return "redirect:"+Global.getAdminPath()+"/ruralProject/electronicSeal/?repage";
+    }
+
+    /**
+     * 已签章内审报告撤回
+     * @param request
+     * @param redirectAttributes
+     * @return
+     */
+    @RequestMapping(value = "reportInternalAuditSignatureAdminRevoke")
+    public String reportInternalAuditSignatureAdminRevoke(HttpServletRequest request, RedirectAttributes redirectAttributes) {
+        HashMap<String, String> requestMap = findRequestMap(request);
+        String id = requestMap.get("id");
+        try {
+            //根据项目id查询对应的审定单数据状态是否是已经被送审或者 是否存在值
+            ProjectReportSignature projectApprovalSignature = ruralProjectMessageElectronicSealService.getProjectReportInternalAudit(id);
+
+            if(null != projectApprovalSignature && null != projectApprovalSignature.getStatus() && 5 != projectApprovalSignature.getStatus()){
+                addMessage(redirectAttributes, "内审报告签章申请未发起或发起审批未通过,无法撤回");
+                return "redirect:"+Global.getAdminPath()+"/ruralProject/electronicSeal/?repage";
+            }
+            assert projectApprovalSignature != null;
+            ruralProjectMessageElectronicSealService.cancelReportInternalAuditSignatureStatusByAdmin(projectApprovalSignature);
+            addMessage(redirectAttributes, "撤回该内审报告签章申请审批成功");
+        }catch (Exception e){
+            logger.info(e.getMessage());
+            addMessage(redirectAttributes, "撤回该内审报告签章申请审批失败");
+        }
+        return "redirect:"+Global.getAdminPath()+"/ruralProject/electronicSeal/?repage";
+    }
+
+
 
 }

+ 4 - 0
src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectMessageElectronicSealDao.xml

@@ -781,4 +781,8 @@
 		</where>
 	</select>
 
+	<delete id="deleteWorkProjectNotifyByReportId">
+		delete from work_project_notify where title = #{title}
+	</delete>
+
 </mapper>

+ 16 - 2
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/electronicSeal/ruralProjectMessageElectronicSealList.jsp

@@ -1,5 +1,9 @@
 <%@ page contentType="text/html;charset=UTF-8" %>
 <%@ include file="/webpage/include/taglib.jsp"%>
+<%@ page import="com.jeeplus.modules.sys.utils.UserUtils" %>
+<%
+	boolean admin = UserUtils.getUser().isAdmin();
+%>
 <html>
 <head>
 	<title>项目列表</title>
@@ -304,6 +308,10 @@
 				}else{
 					xml+="<a href=\"${ctx}/ruralProject/signatureCallBack/downLoadAttach?contractId="+ d.signatureContractId +"\" class=\"layui-btn  layui-btn-xs layui-bg-orange\" style='height:32px;margin-top: 5px;margin-bottom: 5px;'>审定单签章下载</a>"
 				}
+				<c:if test="<%=admin%>">
+					//撤回审定单审核
+					xml+="<a href=\"${ctx}/ruralProject/electronicSeal/approvalAdminRevoke?id=" + d.id + "\" onclick=\"return confirmx('确认要撤回该审定单签章吗?', this.href)\" class=\"layui-btn layui-btn-xs layui-bg-red\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' > 撤回审定单签章</a>";
+				</c:if>
 
 			}
 			if(d.reportSignatureStatus == 5){
@@ -314,7 +322,10 @@
 				}else{
 					xml+="<a href=\"${ctx}/ruralProject/signatureCallBack/downLoadReportAttach?contractId="+ d.reportSignatureContractId +"\" class=\"layui-btn  layui-btn-xs layui-bg-orange\" style='height:32px;margin-top: 5px;margin-bottom: 5px;'>报告签章下载</a>"
 				}
-
+				<c:if test="<%=admin%>">
+					//撤回报告审核
+					xml+="<a href=\"${ctx}/ruralProject/electronicSeal/reportSignatureAdminRevoke?id=" + d.id + "\" onclick=\"return confirmx('确认要撤回该报告签章吗?', this.href)\" class=\"layui-btn layui-btn-xs layui-bg-red\" style='height:32px;margin-top: 5px;margin-bottom: 5px;' > 撤回报告签章</a>";
+				</c:if>
 			}
 
 			if(d.reportInternalAuditStatus == 5){
@@ -325,7 +336,10 @@
 				}else{
 					xml+="<a href=\"${ctx}/ruralProject/signatureCallBack/downLoadReportAttach?contractId="+ d.reportInternalAuditSignatureContractId +"\" class=\"layui-btn  layui-btn-xs layui-bg-orange\" style='height:32px;margin-top: 5px;margin-bottom: 5px;'>内审报告签章下载</a>"
 				}
-
+				<c:if test="<%=admin%>">
+					//撤回内审报告审核
+					xml+="<a href=\"${ctx}/ruralProject/electronicSeal/reportInternalAuditSignatureAdminRevoke?id=" + d.id + "\" onclick=\"return confirmx('确认要撤回该内审报告签章吗?', this.href)\" class=\"layui-btn layui-btn-xs layui-bg-red\" style='height:32px;margin-top: 5px;margin-bottom: 5px;' > 撤回内审报告签章</a>";
+				</c:if>
 			}
 			xml+="</div>";
 			return[xml].join('');