Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/main/resources/mappings/modules/signature/projectReport/ProjectReportSignatureDao.xml
sangwenwei 11 mēneši atpakaļ
vecāks
revīzija
50f3e93812

+ 5 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/dao/RuralProjectRecordsReportedDao.java

@@ -76,4 +76,9 @@ public interface RuralProjectRecordsReportedDao extends CrudDao<RuralProjectReco
      * @param reported
      */
     void updateZiXunBDE(RuralProjectRecordsReported reported);
+
+    /**
+     * 查询保密项目的加密项目名称(倒序取第一个)
+     */
+    String getLastSecrecyProjectName();
 }

+ 28 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralProjectRecordsReported.java

@@ -123,6 +123,10 @@ public class RuralProjectRecordsReported extends ActEntity<RuralProjectRecordsRe
 	private Date accomplishDate;	//审核通过时间
 	private String reportId;	//报告id
 
+	private String secrecy;	//保密状态(0:否;1:是)
+	private String secrecyProjectName;	//保密项目名称(编号)
+	private String secrecyProjectRecordJson;	//保密项目省站json记录
+
 	public WorkContractInfo getWorkContractInfo() {
 		return workContractInfo;
 	}
@@ -810,4 +814,28 @@ public class RuralProjectRecordsReported extends ActEntity<RuralProjectRecordsRe
 	public void setReportId(String reportId) {
 		this.reportId = reportId;
 	}
+
+	public String getSecrecy() {
+		return secrecy;
+	}
+
+	public void setSecrecy(String secrecy) {
+		this.secrecy = secrecy;
+	}
+
+	public String getSecrecyProjectName() {
+		return secrecyProjectName;
+	}
+
+	public void setSecrecyProjectName(String secrecyProjectName) {
+		this.secrecyProjectName = secrecyProjectName;
+	}
+
+	public String getSecrecyProjectRecordJson() {
+		return secrecyProjectRecordJson;
+	}
+
+	public void setSecrecyProjectRecordJson(String secrecyProjectRecordJson) {
+		this.secrecyProjectRecordJson = secrecyProjectRecordJson;
+	}
 }

+ 58 - 0
src/main/java/com/jeeplus/modules/signature/projectReportSignatureWork/controller/ProjectReportSignatureWorkController.java

@@ -1586,4 +1586,62 @@ public class ProjectReportSignatureWorkController extends BaseController {
 
     }
 
+
+    /**
+     * 已签章审定单撤回
+     * @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查询对应的审定单签章数据状态是否是已经被送审或者 是否存在值
+            ReportSignature projectApprovalSignature = projectReportSignatureService.getApproval(id);
+
+            if(null != projectApprovalSignature && null != projectApprovalSignature.getStatus() && 5 != projectApprovalSignature.getStatus()){
+                addMessage(redirectAttributes, "审定单签章申请未发起或发起审批未通过,无法撤回");
+                return "redirect:"+Global.getAdminPath()+"/ruralProject/electronicSeal/?repage";
+            }
+            assert projectApprovalSignature != null;
+            projectReportSignatureService.cancelApprovalStatusByAdmin(projectApprovalSignature);
+            addMessage(redirectAttributes, "撤回该审定单签章申请成功");
+        }catch (Exception e){
+            logger.info(e.getMessage());
+            addMessage(redirectAttributes, "撤回该审定单签章申请失败");
+        }
+        return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?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查询对应的报告签章数据状态是否是已经被送审或者 是否存在值
+            ReportSignature projectReportSignature = projectReportSignatureService.getReport(id);
+
+            if(null != projectReportSignature && null != projectReportSignature.getStatus() && 5 != projectReportSignature.getStatus()){
+                addMessage(redirectAttributes, "报告签章申请未发起或发起审批未通过,无法撤回");
+                return "redirect:"+Global.getAdminPath()+"/ruralProject/electronicSeal/?repage";
+            }
+            assert projectReportSignature != null;
+            projectReportSignatureService.cancelReportSignatureStatusByAdmin(projectReportSignature);
+            addMessage(redirectAttributes, "撤回该报告签章申请成功");
+        }catch (Exception e){
+            logger.info(e.getMessage());
+            addMessage(redirectAttributes, "撤回该报告签章申请失败");
+        }
+        return "redirect:"+Global.getAdminPath()+"/projectReport/projectReportSignature/?repage";
+    }
+
+
 }

+ 7 - 0
src/main/java/com/jeeplus/modules/signature/projectReportSignatureWork/dao/ProjectReportSignatureWorkDao.java

@@ -163,4 +163,11 @@ public interface ProjectReportSignatureWorkDao extends CrudDao<ProjectReportSign
     List<User> getDutyPersons();
     //根据当前登录人获取可申请的签章类型
     String getSignatureTypeList(String id);
+
+
+    /**
+     * 根据通知title 删除通知信息
+     * @param title
+     */
+    void deleteWorkProjectNotifyByReportId(String title);
 }

+ 50 - 0
src/main/java/com/jeeplus/modules/signature/projectReportSignatureWork/service/ProjectReportSignatureWorkService.java

@@ -2788,4 +2788,54 @@ public class ProjectReportSignatureWorkService extends CrudService<ProjectReport
     public String getSignatureTypeList(User user) {
         return  dao.getSignatureTypeList(user.getId());
     }
+
+
+
+    /**
+     * 审定单签章撤回(审核完成后进行撤回)
+     * @param projectApprovalSignature
+     * @throws Exception
+     */
+    @Transactional(readOnly = false)
+    public void cancelApprovalStatusByAdmin(ReportSignature projectApprovalSignature) {
+        ProjectReportSignatureWork signatureWork = dao.get(projectApprovalSignature.getSignatureId());
+        RuralProjectRecords projectRecords = ruralProjectMessageService.get(signatureWork.getProjectId());
+        ProjectReportData projectReportData = projectReportDataService.getReportDataByProjectId(projectRecords.getId());
+        //修改审核状态为暂存
+        //结束该流程,设为"撤销"状态月
+        ReportSignature sendMessage = new ReportSignature();
+        sendMessage.setId(projectApprovalSignature.getId());
+        sendMessage.setStatus(ProjectStatusEnum.TSTORE.getValue());
+        sendMessage.preUpdate();
+        dao.updateApprovalSignature(sendMessage);
+        dao.updateApprovalSignatureSignature(sendMessage);
+        //将通知表中对应的数据进行删除
+
+        dao.deleteWorkProjectNotifyByReportId("报告号:" + projectReportData.getNumber() + ",项目名称:" + projectRecords.getProjectName() + "。审定单签章审批登记完成");
+    }
+
+
+
+    /**
+     * 报告签章撤回(审核完成后进行撤回)
+     * @param projectReportSignature
+     * @throws Exception
+     */
+    @Transactional(readOnly = false)
+    public void cancelReportSignatureStatusByAdmin(ReportSignature projectReportSignature) {
+        ProjectReportSignatureWork signatureWork = dao.get(projectReportSignature.getSignatureId());
+        RuralProjectRecords projectRecords = ruralProjectMessageService.get(signatureWork.getProjectId());
+        ProjectReportData projectReportData = projectReportDataService.getReportDataByProjectId(projectRecords.getId());
+        //修改审核状态为暂存
+        //结束该流程,设为"撤销"状态月
+        ReportSignature sendMessage = new ReportSignature();
+        sendMessage.setId(projectReportSignature.getId());
+        sendMessage.setStatus(ProjectStatusEnum.TSTORE.getValue());
+        sendMessage.setSignatureContractId("");
+        sendMessage.preUpdate();
+        dao.updateReportSignature(sendMessage);
+        dao.updateReportSignatureSignature(sendMessage);
+        //将通知表中对应的数据进行删除
+        dao.deleteWorkProjectNotifyByReportId("报告号:" + projectReportData.getNumber() + ",项目名称:" + projectRecords.getProjectName() + "。报告签章审批完成");
+    }
 }

+ 4 - 0
src/main/java/com/jeeplus/modules/sys/security/FormAuthenticationFilter.java

@@ -57,6 +57,7 @@ public class FormAuthenticationFilter extends org.apache.shiro.web.filter.authc.
 			String loginPassword = password;
 			HttpServletRequest httpRequest = (HttpServletRequest)request;
 			String isCodeLogin = httpRequest.getParameter("isCodeLogin");
+			//验证码(前端传入)
 			String randomCode = httpRequest.getParameter("randomCode");
 			//String sessionType = httpRequest.getParameter("type");
 			User user = UserUtils.getByLoginNameNoSesion(username);
@@ -70,8 +71,11 @@ public class FormAuthenticationFilter extends org.apache.shiro.web.filter.authc.
 			if(StringUtils.isNotBlank(isCodeLogin)&& isCodeLogin.equals("yes")){
 				//String sessionRandomCode = (String)httpRequest.getSession().getServletContext().getAttribute(username);
 				//String sessionType = (String) httpRequest.getSession().getServletContext().getAttribute("type");
+				//redis中记录的当前登陆人的验证码
 				String sessionRandomCode = (String)jedis.get(username);
 				String sessionType = (String)jedis.get("type");
+				//前端输入的验证码和redis中获取的当前登陆人的验证码进行比对
+				//type 为 2 定义为手机号快捷登录
 				if (randomCode.equals(sessionRandomCode)&&"2".equals(sessionType)) {
 					if (user!=null){
 						password =user.getPasswordRemake();

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

@@ -5506,8 +5506,8 @@ public class WorkProjectNotifyController extends BaseController {
 								}
 							}
 							User zixunyuanUser = userService.get(consultant.getZixunyuan());
-							if (null != user) {
-								consultant.setZixunyuanName(user.getName());
+							if (null != zixunyuanUser) {
+								consultant.setZixunyuanName(zixunyuanUser.getName());
 								consultant.setRole("咨询员");
 							}
 						}

+ 24 - 4
src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectRecordsReported.xml

@@ -78,7 +78,10 @@
 		a.tenderingAgencyIncome,
 		a.designIncome,
 		a.otherIncome,
-		a.projectRecordId
+		a.projectRecordId,
+		a.secrecy,
+		a.secrecy_project_name,
+		a.secrecy_project_record_json
 	</sql>
 
 
@@ -177,7 +180,8 @@
 			tenderingAgencyIncome,
 			designIncome,
 			otherIncome,
-			projectRecordId
+			projectRecordId,
+			secrecy
 		)
 		values
 		  (
@@ -256,7 +260,8 @@
 			#{tenderingAgencyIncome},
 			#{designIncome},
 			#{otherIncome},
-			#{projectRecordId}
+			#{projectRecordId},
+			#{secrecy}
 		  )
 	</insert>
 
@@ -336,7 +341,14 @@
 		tenderingAgencyIncome = #{tenderingAgencyIncome},
 		designIncome = #{designIncome},
 		otherIncome = #{otherIncome},
-		projectRecordId = #{projectRecordId}
+		projectRecordId = #{projectRecordId},
+		secrecy = #{secrecy}
+		<if test="secrecyProjectName !=null and secrecyProjectName !=''">
+			,secrecy_project_name = #{secrecyProjectName}
+		</if>
+		<if test="secrecyProjectRecordJson !=null and secrecyProjectRecordJson !=''">
+			,secrecy_project_record_json = #{secrecyProjectRecordJson}
+		</if>
 		where id = #{id}
 	</update>
 
@@ -461,4 +473,12 @@
         WHERE id = #{id}
     </update>
 
+	<select id="getLastSecrecyProjectName" resultType="java.lang.String" >
+		SELECT
+		secrecy_project_name
+		FROM rural_project_records_reported
+		WHERE report_status = 5 or report_status = 7
+		order by secrecy_project_name desc  limit 1
+	</select>
+
 </mapper>

+ 13 - 8
src/main/resources/mappings/modules/signature/projectReport/ProjectReportSignatureDao.xml

@@ -899,15 +899,20 @@
 
 	<select id="getSignatureTypeList" resultType="string">
 		SELECT
-			GROUP_CONCAT(DISTINCT sei.use_type) as signatureType
-		FROM
-			 sys_area_staff sas
-		LEFT JOIN
-			sys_area_staff_user_info a ON a.area_staff_id = sas.id AND a.del_flag = '0'
-		LEFT JOIN
-			signature_electronic_info sei ON sei.create_by = sas.area_leader_id AND sei.del_flag = '0' and sei.status = '5'
+			group_concat( DISTINCT sei.use_type ) AS signatureType
+		FROM sys_area_staff sas
+			LEFT JOIN sys_area_staff_user_info a ON a.area_staff_id = sas.id AND a.del_flag = '0'
+			LEFT JOIN signature_electronic_info sei ON sei.create_by = sas.area_leader_id
+			AND sei.del_flag = '0'
+			AND sei.STATUS = '5'
 		WHERE
-			(a.user_id = #{id} or sas.area_leader_id = #{id}) and sas.del_flag = '0'
+			sas.del_flag = '0'
+			and (a.user_id = #{id} or sas.area_leader_id = #{id})
 	</select>
 
+
+	<delete id="deleteWorkProjectNotifyByReportId">
+		delete from work_project_notify where title = #{title}
+	</delete>
+
 </mapper>

+ 17 - 2
src/main/webapp/webpage/modules/signature/projectRerpotSignatureWork/ProjectRerpotSignatureWorkList.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>
@@ -317,17 +321,28 @@
                         xml+="<a href=\"${ctx}/ruralProject/signatureCallBack/downLoadAttachApproval?contractId="+ d.approvalSignatureContractId +"\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' class=\"layui-btn  layui-btn-xs layui-bg-orange\" >审定单签章文件下载</a>"
                     }
                 }
+                //撤回审定单签章
+                <c:if test="<%=admin%>">
+                //撤回审定单审核
+                xml+="<a href=\"${ctx}/projectReport/projectReportSignature/approvalAdminRevoke?id=" + d.approvalId + "\" 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.reportStatus == 5){
                 //上传审定单进行签章
 
                 if(d.reportSignatureUrlFlag == 1){
-                    xml+="<a href=\""+ d.reportSignatureUrl +"\" class=\"layui-btn  layui-btn-xs layui-bg-orange\" >报告签章文件下载</a>"
+                    xml+="<a href=\""+ d.reportSignatureUrl +"\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' class=\"layui-btn  layui-btn-xs layui-bg-orange\" >报告签章文件下载</a>"
                 }else{
                     if(d.reportSignatureContractId){
-                        xml+="<a href=\"${ctx}/ruralProject/signatureCallBack/downLoadAttach?contractId="+ d.reportSignatureContractId +"\" class=\"layui-btn  layui-btn-xs layui-bg-orange\" >报告签章文件下载</a>"
+                        xml+="<a href=\"${ctx}/ruralProject/signatureCallBack/downLoadAttach?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}/projectReport/projectReportSignature/reportSignatureAdminRevoke?id=" + d.reportId + "\" 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>
             }
 
 

+ 6 - 6
src/main/webapp/webpage/modules/signatureManagement/electronicSignature/ElectronicSignatureList.jsp

@@ -390,12 +390,12 @@
                             </c:if>
                         </shiro:hasPermission>
                         <button class="layui-btn layui-btn-sm" data-toggle="tooltip" data-placement="left" onclick="sortOrRefresh()" title="刷新"> 刷新</button>
-                        <%--<c:if test="${isArea != '1'}">--%>
-<%--                            <button class="layui-btn layui-btn-sm layui-bg-blue" title="地区负责人申请" onclick="openDialogDis('地区负责人申请','${ctx}/districtDirectorApplication/districtDirectorApplication/form','95%','95%')">&nbsp;地区负责人申请</button>--%>
-                        <%--</c:if>--%>
-<%--                        <c:if test="${isArea == '1'}">--%>
-<%--                            <button class="layui-btn layui-btn-sm layui-bg-blue" title="地区负责人申请详情" onclick="openDialogForm('地区负责人申请详情','${ctx}/districtDirectorApplication/districtDirectorApplication/ListByCreate','95%','95%','','关闭')">&nbsp;地区负责人申请详情</button>--%>
-<%--                        </c:if>--%>
+                        <c:if test="${isArea != '1'}">
+                            <button class="layui-btn layui-btn-sm layui-bg-blue" title="地区负责人申请" onclick="openDialogDis('地区负责人申请','${ctx}/districtDirectorApplication/districtDirectorApplication/form','95%','95%')">&nbsp;地区负责人申请</button>
+                        </c:if>
+                        <c:if test="${isArea == '1'}">
+                            <button class="layui-btn layui-btn-sm layui-bg-blue" title="地区负责人申请详情" onclick="openDialogForm('地区负责人申请详情','${ctx}/districtDirectorApplication/districtDirectorApplication/ListByCreate','95%','95%','','关闭')">&nbsp;地区负责人申请详情</button>
+                        </c:if>
 
 
                     </div>