Browse Source

Merge remote-tracking branch 'origin/master'

sangwenwei 2 months ago
parent
commit
159ffe8501
41 changed files with 1825 additions and 173 deletions
  1. 19 10
      src/main/java/com/jeeplus/common/utils/DateUtils.java
  2. 21 30
      src/main/java/com/jeeplus/common/utils/EncrypeUtil.java
  3. 36 32
      src/main/java/com/jeeplus/common/utils/IdcardUtils.java
  4. 1 1
      src/main/java/com/jeeplus/common/utils/MenuStatusEnum.java
  5. 9 0
      src/main/java/com/jeeplus/modules/projectFilingBatch/dao/ProjectFilingBatchProInfoDao.java
  6. 7 0
      src/main/java/com/jeeplus/modules/projectFilingBatch/dao/ProjectFilingbatchRelationDao.java
  7. 9 0
      src/main/java/com/jeeplus/modules/projectFilingBatch/entity/ProjectFilingbatchRelation.java
  8. 22 3
      src/main/java/com/jeeplus/modules/projectFilingBatch/service/ProjectFilingBatchService.java
  9. 65 2
      src/main/java/com/jeeplus/modules/projectFilingBatch/web/ProjectFilingBatchController.java
  10. 9 0
      src/main/java/com/jeeplus/modules/projectcontentinfo/dao/ProjectReportDataTwoDao.java
  11. 9 0
      src/main/java/com/jeeplus/modules/projectcontentinfo/entity/ProjectReportDataTwo.java
  12. 13 0
      src/main/java/com/jeeplus/modules/projectcontentinfo/service/ProjectReportDataTwoService.java
  13. 2 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/dao/RuralProjectMessageDao.java
  14. 17 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageNewTwoService.java
  15. 137 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageNewTwoController.java
  16. 44 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectSignatureOldMessageDisposeController.java
  17. 51 40
      src/main/java/com/jeeplus/modules/sys/web/LoginController.java
  18. 7 2
      src/main/java/com/jeeplus/modules/workfullmanage/web/WorkFullManageController.java
  19. 1 1
      src/main/java/com/jeeplus/modules/workstaff/service/WorkStaffBasicInfoService.java
  20. 15 0
      src/main/resources/mappings/modules/projectGuidang/ProjectFilingBatchProInfoDao.xml
  21. 21 1
      src/main/resources/mappings/modules/projectGuidang/ProjectFilingbatchRelationDao.xml
  22. 27 1
      src/main/resources/mappings/modules/projectcontentinfo/ProjectReportDataTwoDao.xml
  23. 3 3
      src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectMessageAllDao.xml
  24. 9 3
      src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectMessageDao.xml
  25. 1 1
      src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectRecordsCaseBaseDao.xml
  26. 6 6
      src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectRecordsDao.xml
  27. 8 5
      src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectRecordsReported.xml
  28. 1 1
      src/main/webapp/webpage/modules/externalUnit/capitalDemandFormAdd.jsp
  29. 1 1
      src/main/webapp/webpage/modules/externalUnit/capitalDemandFormModify.jsp
  30. 1 1
      src/main/webapp/webpage/modules/externalUnit/capitalDemandFormView.jsp
  31. 1 1
      src/main/webapp/webpage/modules/externalUnit/externalUnitCapitalDemandList.jsp
  32. 2 2
      src/main/webapp/webpage/modules/externalUnit/externalUnitFeedbackList.jsp
  33. 1 1
      src/main/webapp/webpage/modules/externalUnit/feedbackFormAdd.jsp
  34. 1 1
      src/main/webapp/webpage/modules/externalUnit/feedbackFormAudit.jsp
  35. 2 2
      src/main/webapp/webpage/modules/externalUnit/feedbackFormModify.jsp
  36. 2 2
      src/main/webapp/webpage/modules/externalUnit/feedbackFormView.jsp
  37. 45 1
      src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectMessageList.jsp
  38. 22 17
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/new/projectRecordsMessageAuditTwo.jsp
  39. 1124 0
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/new/reportAdminFormTwo.jsp
  40. 45 1
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/ruralProjectMessageList.jsp
  41. 8 1
      src/main/webapp/webpage/modules/ruralprojectrecords/view/reportIssueView.jsp

+ 19 - 10
src/main/java/com/jeeplus/common/utils/DateUtils.java

@@ -260,21 +260,30 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
 	}
 
 	/**
+	 * 提取大写字母和数字组成的字符串
 	 *
+	 * @param enname 输入的字符串
+	 * @return StringBuffer 包含大写字母和数字的字符串
 	 */
-	public static StringBuffer getByEnnme(String enname){
+	public static StringBuffer getByEnnme(String enname) {
 		StringBuffer buffer = new StringBuffer();
-		char[] ch = enname.toCharArray();
-		// 得到大写字母
-		for(int i = 0; i < ch.length ; i++){
-			if(ch[i] >= 'A' && ch[i] <= 'Z'){
-				buffer.append(ch[i]);
+
+		// 提取大写字母
+		for (int i = 0; i < enname.length(); i++) {
+			char c = enname.charAt(i);
+			if (c >= 'A' && c <= 'Z') {
+				buffer.append(c);
 			}
 		}
-		Pattern p = Pattern.compile("[^0-9]");
-		Matcher m = p.matcher(enname);
-		String result = m.replaceAll("");
-		buffer.append(result);
+
+		// 仅提取数字字符
+		for (int i = 0; i < enname.length(); i++) {
+			char c = enname.charAt(i);
+			if (c >= '0' && c <= '9') {
+				buffer.append(c);
+			}
+		}
+
 		return buffer;
 	}
 

+ 21 - 30
src/main/java/com/jeeplus/common/utils/EncrypeUtil.java

@@ -41,46 +41,37 @@ public class EncrypeUtil {
 		return newString;
 	}
 
+	// 16进制字符映射表,避免重复创建
+	final static char[] HEX_DIGITS = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
+			'a', 'b', 'c', 'd', 'e', 'f'};
+
 	// 主要把传递过来的字符串参数转化为经过MD5算法加密的字符串
-	public final static String encrypeString(String neededEncrypedString,String charsetName)
-			throws Exception {
-		// 初始化加密之后的字符串
-		String encrypeString = null;
-		// 16进制的数组
-		char[] hexDigits = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
-				'a', 'b', 'c', 'd', 'e', 'f' };
-		// 字符串的加密过程
+
+	public final static String encrypeString(String neededEncrypedString, String charsetName) throws Exception {
+
+
+		// 校验字符集
+		if (charsetName == null || charsetName.isEmpty()) {
+			charsetName = DEFAULT_CHARSETNAME;
+		}
+
 		try {
-			// 把需要加密的字符串转化为字节数组
-			if(StringUtils.isEmpty(charsetName)){
-				charsetName = DEFAULT_CHARSETNAME;
-			}
+			// 计算 MD5 哈希
 			byte[] neededEncrypedByteTemp = neededEncrypedString.getBytes(charsetName);
-
-			// 得到MD5的加密算法对象
 			MessageDigest md = MessageDigest.getInstance(encrypeType);
-
-			// 更新算法使用的摘要
 			md.update(neededEncrypedByteTemp);
-
-			// 完成算法加密过程
 			byte[] middleResult = md.digest();
 
-			// 把加密后的字节数组转化为字符串
-			int length = middleResult.length;
-			char[] neededEncrypedByte = new char[length * 2];
-			int k = 0;
-			for (int i = 0; i < length; i++) {
-				byte byte0 = middleResult[i];
-				neededEncrypedByte[k++] = hexDigits[byte0 >>> 4 & 0xf];
-				neededEncrypedByte[k++] = hexDigits[byte0 & 0xf];
+			// 用 StringBuilder 直接转换为 16 进制字符串,减少 char[] 内存占用
+			StringBuilder hexString = new StringBuilder(middleResult.length * 2);
+			for (byte b : middleResult) {
+				hexString.append(HEX_DIGITS[(b >>> 4) & 0xF])
+						.append(HEX_DIGITS[b & 0xF]);
 			}
-			encrypeString = new String(neededEncrypedByte);
+			return hexString.toString();
 		} catch (NoSuchAlgorithmException ex) {
 			throw new Exception(ex);
 		}
-
-		// 返回加密之后的字符串
-		return encrypeString;
 	}
+
 }

+ 36 - 32
src/main/java/com/jeeplus/common/utils/IdcardUtils.java

@@ -125,44 +125,48 @@ public class IdcardUtils extends StringUtils {
 	 * @return 18位身份编码
 	 */
 	public static String conver15CardTo18(String idCard) {
-		String idCard18 = "";
-		if (idCard.length() != CHINA_ID_MIN_LENGTH) {
+		if (idCard.length() != CHINA_ID_MIN_LENGTH || !isNum(idCard)) {
 			return null;
 		}
-		if (isNum(idCard)) {
-			// 获取出生年月日
-			String birthday = idCard.substring(6, 12);
-			Date birthDate = null;
-			try {
-				birthDate = new SimpleDateFormat("yyMMdd").parse(birthday);
-			} catch (ParseException e) {
-				e.printStackTrace();
-			}
-			Calendar cal = Calendar.getInstance();
-			if (birthDate != null)
-				cal.setTime(birthDate);
-			// 获取出生年(完全表现形式,如:2010)
-			String sYear = String.valueOf(cal.get(Calendar.YEAR));
-			idCard18 = idCard.substring(0, 6) + sYear + idCard.substring(8);
-			// 转换字符数组
-			char[] cArr = idCard18.toCharArray();
-			if (cArr != null) {
-				int[] iCard = converCharToInt(cArr);
-				int iSum17 = getPowerSum(iCard);
-				// 获取校验位
-				String sVal = getCheckCode18(iSum17);
-				if (sVal.length() > 0) {
-					idCard18 += sVal;
-				} else {
-					return null;
-				}
-			}
-		} else {
+
+		// 获取出生年月日
+		String birthday = idCard.substring(6, 12);
+		Date birthDate;
+		try {
+			birthDate = new SimpleDateFormat("yyMMdd").parse(birthday);
+		} catch (ParseException e) {
+			e.printStackTrace();
+			return null;
+		}
+
+		Calendar cal = Calendar.getInstance();
+		cal.setTime(birthDate);
+
+		// 获取出生年 (完整形式,如:2010)
+		String sYear = String.valueOf(cal.get(Calendar.YEAR));
+
+		// 使用 StringBuilder 拼接字符串,避免创建过多 String 对象
+		StringBuilder idCard18 = new StringBuilder(18);
+		idCard18.append(idCard, 0, 6).append(sYear).append(idCard, 8, idCard.length());
+
+		// 直接使用字符串,不转换为 char[]
+		int[] iCard = new int[17];
+		for (int i = 0; i < 17; i++) {
+			iCard[i] = idCard18.charAt(i) - '0'; // 直接获取字符的数值
+		}
+
+		int iSum17 = getPowerSum(iCard);
+		String sVal = getCheckCode18(iSum17);
+		if (sVal.isEmpty()) {
 			return null;
 		}
-		return idCard18;
+
+		idCard18.append(sVal); // 追加校验位
+
+		return idCard18.toString();
 	}
 
+
 	/**
 	 * 验证身份证是否合法
 	 */

+ 1 - 1
src/main/java/com/jeeplus/common/utils/MenuStatusEnum.java

@@ -84,7 +84,7 @@ public enum MenuStatusEnum {
     DISPUTE_MEDIATION("c0ce72cbeb5d446a946795b0a3b7e4a4","纠纷调解"),
     ELECTRONIC_SIGNATURE("50cfb2ad32814623a976bb7776e87c12","电子用章管理"),
     EBUSINESS_SIGNATURE("976b008b2c0f402ea7015bb15665d1f4","业务用章管理"),
-    EXTERNAL_UNIT("024cb3e37141480ababb4d37128472a2","外部单位"),
+    EXTERNAL_UNIT("7bc8ffdcf9764f28999dd67c1657bb78","外部单位"),
     END("19940722131313","废弃");
 
     private String value;

+ 9 - 0
src/main/java/com/jeeplus/modules/projectFilingBatch/dao/ProjectFilingBatchProInfoDao.java

@@ -3,6 +3,7 @@ package com.jeeplus.modules.projectFilingBatch.dao;
 import com.jeeplus.common.persistence.CrudDao;
 import com.jeeplus.common.persistence.annotation.MyBatisDao;
 import com.jeeplus.modules.projectFilingBatch.entity.ProjectFilingBatchProInfo;
+import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -21,4 +22,12 @@ public interface ProjectFilingBatchProInfoDao extends CrudDao<ProjectFilingBatch
       */
      List<ProjectFilingBatchProInfo> getListByProjectId(String projectId);
      Integer deleteById(@Param("id")String id);
+
+     /**
+      * 根据项目id查询处理中的项目关联信息
+      * @param projectId
+      * @return
+      */
+     List<ProjectReportData> getProcessedReportList(@Param("projectIdList") List<String> projectIdList,@Param("filingBatchId") String filingBatchId);
+
 }

+ 7 - 0
src/main/java/com/jeeplus/modules/projectFilingBatch/dao/ProjectFilingbatchRelationDao.java

@@ -31,4 +31,11 @@ public interface ProjectFilingbatchRelationDao extends CrudDao<ProjectFilingbatc
     void updateDelFlagByFilingBatch(String  filingBatchId);
 
     Integer deleteByFilingBatchId(String filingBatchId);
+
+
+    void updateByFilingBatch(@Param("id") String  filingBatchId,@Param("status") Integer status);
+
+    void updateUseStartByProjectIdAndFilingBatchId(@Param("projectId") String  projectId,@Param("filingBatchId") String filingBatchId);
+
+    void updateProjectFilingStatusByProjectId(@Param("id") String  projectId,@Param("status") Integer status);
 }

+ 9 - 0
src/main/java/com/jeeplus/modules/projectFilingBatch/entity/ProjectFilingbatchRelation.java

@@ -22,6 +22,7 @@ public class ProjectFilingbatchRelation extends DataEntity<ProjectFilingbatchRel
     private String number;//报告号
     private Integer sort;   //排序
     private Date auditPassDate;   //审批通过时间
+    private Integer useStart;   //审批通过时间
 
     public String getFilingBatch() {
         return filingBatch;
@@ -118,4 +119,12 @@ public class ProjectFilingbatchRelation extends DataEntity<ProjectFilingbatchRel
     public void setAuditPassDate(Date auditPassDate) {
         this.auditPassDate = auditPassDate;
     }
+
+    public Integer getUseStart() {
+        return useStart;
+    }
+
+    public void setUseStart(Integer useStart) {
+        this.useStart = useStart;
+    }
 }

+ 22 - 3
src/main/java/com/jeeplus/modules/projectFilingBatch/service/ProjectFilingBatchService.java

@@ -15,6 +15,7 @@ import com.jeeplus.modules.projectFilingBatch.entity.ProjectFilingBatch;
 import com.jeeplus.modules.projectFilingBatch.entity.ProjectFilingBatchProInfo;
 import com.jeeplus.modules.projectFilingBatch.entity.ProjectFilingBatchTree;
 import com.jeeplus.modules.projectFilingBatch.entity.ProjectFilingbatchRelation;
+import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
 import com.jeeplus.modules.ruralprojectrecords.dao.RuralProjectRecordsDao;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
 import com.jeeplus.modules.ruralprojectrecords.enums.ProjectStatusEnum;
@@ -590,13 +591,20 @@ public class ProjectFilingBatchService extends CrudService<ProjectFilingBatchDao
         if(null!=proId){
             for (int i=0;i<proId.length;i++){
                 String id=proId[i].split("/")[0];
+
+                //将数据库中现有的对应项目的使用状态值调整为1,仅将当前的存储为0
+                projectFilingbatchRelationDao.updateUseStartByProjectIdAndFilingBatchId(id,projectFilingBatch.getId());
+
                 ProjectFilingbatchRelation filingbatchRelation=new ProjectFilingbatchRelation();
                 filingbatchRelation.setFilingBatch(projectFilingBatch.getId());
                 filingbatchRelation.setProjectId(id);
                 filingbatchRelation.setSort(i);
-                filingbatchRelation.setStatus(2);
+                filingbatchRelation.setStatus(projectStatus.getValue());
+                filingbatchRelation.setUseStart(0);
                 filingbatchRelation.preInsert();
                 projectFilingbatchRelationDao.insert(filingbatchRelation);
+                //修改项目表中的纸质归档状态值
+                projectFilingbatchRelationDao.updateProjectFilingStatusByProjectId(id,projectStatus.getValue());
             }
         }
 
@@ -790,6 +798,10 @@ public class ProjectFilingBatchService extends CrudService<ProjectFilingBatchDao
             filingBatch.preUpdate();
             dao.updateProcessIdAndStatus(filingBatch);
             actTaskService.endProcessInstance(projectFilingBatch.getProcessinstanceId(), "项目归档批次-撤回");
+
+            //修改该批量归档内报告的状态
+            projectFilingbatchRelationDao.updateByFilingBatch(projectFilingBatch.getId(),ProjectStatusEnum.RECALL.getValue());
+
         }
     }
 
@@ -874,7 +886,7 @@ public class ProjectFilingBatchService extends CrudService<ProjectFilingBatchDao
                 filingbatchRelation.setFilingBatch(projectFilingBatch.getId());
                 filingbatchRelation.setProjectId(id);
                 filingbatchRelation.setSort(i);
-                filingbatchRelation.setStatus(2);
+                filingbatchRelation.setStatus(projectFilingBatch.getFilingStatus());
                 filingbatchRelation.preInsert();
                 projectFilingbatchRelationDao.insert(filingbatchRelation);
             }
@@ -887,7 +899,7 @@ public class ProjectFilingBatchService extends CrudService<ProjectFilingBatchDao
             projectFilingBatch.setFilingStatus(ProjectStatusEnum.REJECTED.getValue());
             for (RuralProjectRecords projectRecords:projectFilingBatch.getProject()){
                 ProjectFilingbatchRelation relation=projectFilingbatchRelationDao.getProjectId(projectRecords.getId());
-                relation.setStatus(ProjectStatusEnum.IN_APRL.getValue());
+                relation.setStatus(ProjectStatusEnum.REJECTED.getValue());
                 relation.setFilingBatch(projectFilingBatch.getId());
                 projectFilingbatchRelationDao.updateStatus(relation);
             }
@@ -1425,4 +1437,11 @@ public class ProjectFilingBatchService extends CrudService<ProjectFilingBatchDao
             }
         }
     }
+
+
+    public List<ProjectReportData> getProcessedReportList(List proIdList,String filingBatchId){
+        List processedReportList = proInfoDao.getProcessedReportList(proIdList,filingBatchId);
+        return processedReportList;
+    }
+
 }

+ 65 - 2
src/main/java/com/jeeplus/modules/projectFilingBatch/web/ProjectFilingBatchController.java

@@ -15,6 +15,8 @@ import com.jeeplus.modules.projectFilingBatch.entity.ProjectFilingBatchImportInf
 import com.jeeplus.modules.projectFilingBatch.entity.ProjectFilingBatchProInfo;
 import com.jeeplus.modules.projectFilingBatch.entity.ProjectFilingbatchRelation;
 import com.jeeplus.modules.projectFilingBatch.service.ProjectFilingBatchService;
+import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
+import java.util.stream.Collectors;
 import com.jeeplus.modules.projectrecord.entity.ProjectRecords;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
 import com.jeeplus.modules.ruralprojectrecords.enums.ProjectStatusEnum;
@@ -470,6 +472,21 @@ public class ProjectFilingBatchController extends BaseController {
             return form(projectFilingBatch, model);
         }
         try{
+            //查询当前批量归档中对应的报告信息是否已经被提交批量归档,若已经在归档中,则不允许重复提交
+            if(proId.length>0){
+                List proIdList = Lists.newArrayList(proId);
+                List<ProjectReportData> processedReportList = projectFilingBatchService.getProcessedReportList(proIdList,projectFilingBatch.getId());
+                if(!processedReportList.isEmpty()){
+                    String projectNumberResult = processedReportList.stream()
+                            .map(project -> String.valueOf(project.getNumber())) // 提取 number 并转换为字符串
+                            .collect(Collectors.joining(",")); // 逗号拼接字符串
+
+                    addMessage(redirectAttributes, "该批次中,报告号:"+ projectNumberResult + " 已经完成或正在进行批量归档,无法重复归档");
+                    return "redirect:"+Global.getAdminPath()+"/projectFilingBatch/projectFilingBatchInfo/?repage";
+                }
+
+            }
+
             if (projectFilingBatch.getId()!=null && StringUtils.isNotBlank(projectFilingBatch.getId())) {//编辑表单保存
                 ProjectFilingBatch t = projectFilingBatchService.get(projectFilingBatch.getId());//从数据库取出记录的值
                 if (t.getFilingStatus() == 3 ||t.getFilingStatus()==1){
@@ -510,6 +527,20 @@ public class ProjectFilingBatchController extends BaseController {
         if (!beanValidator(model, projectFilingBatch)){
             return form(projectFilingBatch, model);
         }
+        //查询当前批量归档中对应的报告信息是否已经被提交批量归档,若已经在归档中,则不允许重复提交
+        if(proId.length>0){
+            List proIdList = Lists.newArrayList(proId);
+            List<ProjectReportData> processedReportList = projectFilingBatchService.getProcessedReportList(proIdList,projectFilingBatch.getId());
+            if(!processedReportList.isEmpty()){
+                String projectNumberResult = processedReportList.stream()
+                        .map(project -> String.valueOf(project.getNumber())) // 提取 number 并转换为字符串
+                        .collect(Collectors.joining(",")); // 逗号拼接字符串
+
+                addMessage(redirectAttributes, "该批次中,报告号:"+ projectNumberResult + " 已经完成或正在进行批量归档,无法重复归档");
+                return "redirect:"+Global.getAdminPath()+"/projectFilingBatch/projectFilingBatchInfo/?repage";
+            }
+
+        }
         try{
             if (projectFilingBatch.getId()!=null && StringUtils.isNotBlank(projectFilingBatch.getId())) {//编辑表单保存
                 ProjectFilingBatch t = projectFilingBatchService.get(projectFilingBatch.getId());//从数据库取出记录的值
@@ -639,6 +670,26 @@ public class ProjectFilingBatchController extends BaseController {
             String taskDefKey = projectFilingBatch.getAct().getTaskDefKey();
             //当状态为未通过时,重新修改数据
             if ("modifyApply".equals(taskDefKey)) {
+                //查询当前批量归档中对应的报告信息是否已经被提交批量归档,若已经在归档中,则不允许重复提交
+                if(proId.length>0){
+                    List proIdList = Lists.newArrayList(proId);
+                    List<ProjectReportData> processedReportList = projectFilingBatchService.getProcessedReportList(proIdList,projectFilingBatch.getId());
+                    if(!processedReportList.isEmpty()){
+                        String projectNumberResult = processedReportList.stream()
+                                .map(project -> String.valueOf(project.getNumber())) // 提取 number 并转换为字符串
+                                .collect(Collectors.joining(",")); // 逗号拼接字符串
+
+                        addMessage(redirectAttributes, "该批次中,报告号:"+ projectNumberResult + " 已经完成或正在进行批量归档,无法重复归档");
+                        if (StringUtils.isNotBlank(home) && "home".equals(home)){
+                            return "redirect:" + Global.getAdminPath() + "/home/?repage";
+                        }else if (StringUtils.isNotBlank(home) && "notifyList".equals(home)){
+                            return "redirect:" + Global.getAdminPath() + "/workprojectnotify/workProjectNotify/list/?repage";
+                        }else {
+                            return "redirect:" + Global.getAdminPath() + "/projectFilingBatch/projectFilingBatchInfo/?repage";
+                        }
+                    }
+
+                }
                 projectFilingBatch.getAct().setComment("重新申请");
             }
             List<User> users = UserUtils.getByProssType(projectFilingBatch.getProcessinstanceId(),1);
@@ -650,12 +701,24 @@ public class ProjectFilingBatchController extends BaseController {
                 if(null != saveAuditFlag){
                     if(1 == saveAuditFlag && t.getFilingStatus() != 4 && t.getFilingStatus() != 5){
                         addMessage(redirectAttributes, "归档批次已送审,请勿重复送审");
-                        return "redirect:"+Global.getAdminPath()+"/projectFilingBatch/projectFilingBatchInfo/?repage";
+                        if (StringUtils.isNotBlank(home) && "home".equals(home)){
+                            return "redirect:" + Global.getAdminPath() + "/home/?repage";
+                        }else if (StringUtils.isNotBlank(home) && "notifyList".equals(home)){
+                            return "redirect:" + Global.getAdminPath() + "/workprojectnotify/workProjectNotify/list/?repage";
+                        }else {
+                            return "redirect:" + Global.getAdminPath() + "/projectFilingBatch/projectFilingBatchInfo/?repage";
+                        }
                     }
                 }
                 if(t.getFilingStatus() == 5){
                     addMessage(redirectAttributes, "归档批次归档完成,无法再次送审");
-                    return "redirect:"+Global.getAdminPath()+"/projectFilingBatch/projectFilingBatchInfo/?repage";
+                    if (StringUtils.isNotBlank(home) && "home".equals(home)){
+                        return "redirect:" + Global.getAdminPath() + "/home/?repage";
+                    }else if (StringUtils.isNotBlank(home) && "notifyList".equals(home)){
+                        return "redirect:" + Global.getAdminPath() + "/workprojectnotify/workProjectNotify/list/?repage";
+                    }else {
+                        return "redirect:" + Global.getAdminPath() + "/projectFilingBatch/projectFilingBatchInfo/?repage";
+                    }
                 }
 
                 String str = projectFilingBatchService.auditSave(projectFilingBatch,users,proId,proInfos,flags);

+ 9 - 0
src/main/java/com/jeeplus/modules/projectcontentinfo/dao/ProjectReportDataTwoDao.java

@@ -161,4 +161,13 @@ public interface ProjectReportDataTwoDao extends CrudDao<ProjectReportDataTwo> {
      * @return
      */
     int updateStatus(ProjectReportDataTwo projectReportData);
+
+    /**
+     * 查询所有已经处理的报告签发且签发表中的auditContent参数值为空的数据
+     * @return
+     */
+    List<ProjectReportDataTwo> getNotDisposeReportSignatureAuditAchievement();
+
+
+    int updateAuditContent(ProjectReportDataTwo projectReportData);
 }

+ 9 - 0
src/main/java/com/jeeplus/modules/projectcontentinfo/entity/ProjectReportDataTwo.java

@@ -58,6 +58,7 @@ public class ProjectReportDataTwo extends ActEntity<ProjectReportDataTwo> {
 	private String numberPath;
 	private String tempType;    //模板类型
 	private String bzshbUserId; //总审用户id
+	private String auditContent; //审核意见
 
 	public String getNumberPath() {
 		return numberPath;
@@ -775,4 +776,12 @@ public class ProjectReportDataTwo extends ActEntity<ProjectReportDataTwo> {
 	public void setContractRate(String contractRate) {
 		this.contractRate = contractRate;
 	}
+
+	public String getAuditContent() {
+		return auditContent;
+	}
+
+	public void setAuditContent(String auditContent) {
+		this.auditContent = auditContent;
+	}
 }

+ 13 - 0
src/main/java/com/jeeplus/modules/projectcontentinfo/service/ProjectReportDataTwoService.java

@@ -1625,4 +1625,17 @@ public class ProjectReportDataTwoService extends CrudService<ProjectReportDataTw
 	public ProjectReportDataTwo findTwoByProjectId(String projectId){
 		return dao.findTwoByProjectId(projectId);
 	}
+
+	/**
+	 * 查询所有已经处理的报告签发且签发表中的auditContent参数值为空的数据
+	 * @return
+	 */
+	public List<ProjectReportDataTwo> getNotDisposeReportSignatureAuditAchievement(){
+		return dao.getNotDisposeReportSignatureAuditAchievement();
+	}
+
+	@Transactional(readOnly = false)
+	public void updateAuditContent(ProjectReportDataTwo projectReportData) {
+		dao.updateAuditContent(projectReportData);
+	}
 }

+ 2 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/dao/RuralProjectMessageDao.java

@@ -186,4 +186,6 @@ public interface RuralProjectMessageDao extends CrudDao<RuralProjectRecords> {
      * @return
      */
 //    Integer findKaiPiao(RuralProjectRecords ruralProjectRecords);
+
+    void saveReportAuditContent(ProjectReportDataTwo projectReportData);
 }

+ 17 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageNewTwoService.java

@@ -982,6 +982,13 @@ public class RuralProjectMessageNewTwoService extends CrudService<RuralProjectMe
         }
         if (!"yes".equals(flag)){
             workReviewAuditDao.delReviewAudit(projectReportData.getId());
+        }else{
+            if (null != reportData.getAct() && StringUtils.isNotBlank(reportData.getAct().getComment())){
+
+                String actComment = reportData.getAct().getComment();
+                actComment = actComment.replaceAll("\\[同意\\]", "");
+                projectReportData.setAuditContent(actComment);
+            }
         }
         projectReportData.setTechnicist(reportData.getTechnicist());
         projectReportData.setTechnicistRemarks(reportData.getTechnicistRemarks());
@@ -1108,4 +1115,14 @@ public class RuralProjectMessageNewTwoService extends CrudService<RuralProjectMe
         //删除流程人员表信息
         workProjectNotifyService.deleteActivityProcessUser(projectReportData.getProcessInstanceId());
     }
+
+
+    @Transactional(readOnly = false)
+    public String saveReportAuditContent(ProjectReportDataTwo projectReportData) {
+        if(StringUtils.isNotBlank(projectReportData.getAuditContent()) && StringUtils.isNotBlank(projectReportData.getId())){
+            dao.saveReportAuditContent(projectReportData);
+            return "true";
+        }
+        return "false";
+    }
 }

+ 137 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageNewTwoController.java

@@ -365,6 +365,106 @@ public class RuralProjectMessageNewTwoController  extends BaseController {
         }
     }
 
+
+    /**
+     * 跳转新增报告页面
+     * @param projectcontentinfo
+     * @param request
+     * @param response
+     * @param model
+     * @param attr
+     * @return
+     */
+    @RequestMapping(value = {"adminEditForm"})
+    public String adminEditForm(RuralProjectcontentinfo projectcontentinfo, Double reviewFee, HttpServletRequest request, HttpServletResponse response, Model model, RedirectAttributes attr) throws Exception {
+        //查询“配农网”工程类型id
+        String engineeringId = engineeringService.getEngineeringId("202");
+//        Projectcontentinfo projectcontentinfo1 = projectcontentinfoService.getByProjectId(projectcontentinfo.getProjectId());
+//        model.addAttribute("parentIds", projectcontentinfo1.getParentIds());
+        String dictType = projectcontentinfo.getDictType();
+        RuralProjectRecords records = projectRecordsService.getQueryProjectUsers(projectcontentinfo.getProjectId());
+
+        projectcontentinfo.setProject(records);
+        ProjectReportData data=reportDataService.getReportDataByProjectId(projectcontentinfo.getProject().getId());
+        projectcontentinfo.setProjectReportData(data);
+        ProjectReportDataTwo projectReportData =projectReportDataService.findTwoByProjectId(projectcontentinfo.getProjectId());
+        if (null == projectReportData){
+            projectReportData=new ProjectReportDataTwo();
+            projectReportData.setType(dictType);
+            projectReportData.setNumber("");
+        }else{
+            projectReportData.setType(dictType);
+            if (projectcontentinfo.getProjectReportDataTwo()!=null && StringUtils.isNotBlank(projectcontentinfo.getProjectReportDataTwo().getId())) {
+                projectReportData = projectReportDataService.get(projectcontentinfo.getProjectReportDataTwo().getId());
+            }
+            if (projectReportData.getMaster()==null || StringUtils.isBlank(projectReportData.getMaster().getId())){
+                projectReportData.setMaster(UserUtils.getUser());
+            }
+            if (StringUtils.isBlank(projectReportData.getStatus())){
+                projectReportData.setFileStatus("1");
+            }
+        }
+        if(null != reviewFee){
+            projectReportData.setReviewFee(String.valueOf(reviewFee));
+        }
+
+        //获取自检的质量复核标准
+        String reviewId="";
+        if ("2".equals(records.getSubmitMoney())){
+            reviewId="1";
+        }else{
+            if (StringUtils.isBlank(records.getEmergencyProject()) || "0".equals(records.getEmergencyProject())){
+                reviewId="2";
+            }
+        }
+        List<WorkReviewAudit> workReviewAudits = projectContentDataService.findListIssue(reviewId,"报告签发");
+        if (null!=workReviewAudits){
+            projectReportData.setProjectReviewList(workReviewAudits);
+            model.addAttribute("workReviews",workReviewAudits);
+        }
+        projectcontentinfo.setProjectReportDataTwo(projectReportData);
+
+        ProjectAccessoryRelationInfo relateInfo = new ProjectAccessoryRelationInfo();
+        //添加项目类型
+        relateInfo.setAttachmentProjectType(records.getProjectType());
+        relateInfo.setAttachmentProjectSort(records.getAttachmentProjectSort());
+        //判断是否为打包项目,打包项目无需查看项目送审金额是否为500w以上判定
+        String money=projectcontentinfo.getProject().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(1);
+        relateInfo.setId(records.getId());
+
+
+        //添加当前文件服务器类型
+        projectcontentinfo.setUploadMode(uploadMode);
+        model.addAttribute("projectRecords", records);
+        model.addAttribute("projectcontentinfo", projectcontentinfo);
+        model.addAttribute("projectReportDataTwo", projectcontentinfo.getProjectReportDataTwo());
+
+        return "modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/new/reportAdminFormTwo";
+    }
+
     /**
      * 新增报告信息
      * @param projectcontentinfo
@@ -865,4 +965,41 @@ public class RuralProjectMessageNewTwoController  extends BaseController {
     }
 
 
+
+    /**
+     * 暂存报告信息
+     * @param projectcontentinfo
+     * @param model
+     * @param redirectAttributes
+     * @return
+     */
+    @RequestMapping(value = {"saveReportAuditContent"})
+    public String saveReportAuditContent(Projectcontentinfo projectcontentinfo, Model model,RedirectAttributes redirectAttributes)  {
+        try{
+            //修改报告签发审核信息
+            String str = ruralProjectMessageService.saveReportAuditContent(projectcontentinfo.getProjectReportDataTwo());
+            addMessage(redirectAttributes, "修改报告签发审核信息"+(str.equals("true")?"成功":"失败"));
+            ProjectReportDataTwo projectReportData = projectcontentinfo.getProjectReportDataTwo();
+            if (projectReportData!=null){
+                if (StringUtils.isNotBlank(projectcontentinfo.getView()) && projectcontentinfo.getView().equals("edit")){
+                    return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralProjectMessage/?repage";
+                }
+                if (StringUtils.isNotBlank(projectcontentinfo.getView()) && projectcontentinfo.getView().equals("costLiu")){
+                    return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralCostProjectMessage/?repage";
+                }
+                return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralProjectMessage/?repage";
+            }
+        }catch (Exception e){
+            logger.error("ProjectcontentinfoController save Exception e"+e);
+        }
+        if(UserUtils.isManager()){
+            model.addAttribute("flag","1");
+        }
+        addMessage(redirectAttributes, "修改报告签发审核信息失败");
+        if (StringUtils.isNotBlank(projectcontentinfo.getView()) && projectcontentinfo.getView().equals("costLiu")){
+            return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralCostProjectMessage/?repage";
+        }
+        return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralProjectMessage/?repage";
+    }
+
 }

+ 44 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectSignatureOldMessageDisposeController.java

@@ -14,8 +14,10 @@ import com.jeeplus.modules.projectAccessory.entity.ProjectTemplateInfo;
 import com.jeeplus.modules.projectcontentinfo.dao.ProjectReportRecordDao;
 import com.jeeplus.modules.projectcontentinfo.entity.DisposeProjectReportNumberInfo;
 import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
+import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportDataTwo;
 import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportRecord;
 import com.jeeplus.modules.projectcontentinfo.service.ProjectReportDataService;
+import com.jeeplus.modules.projectcontentinfo.service.ProjectReportDataTwoService;
 import com.jeeplus.modules.projectcontentinfo.service.ProjectReportRecordService;
 import com.jeeplus.modules.ruralprojectrecords.entity.PhysicsSeal;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
@@ -31,6 +33,8 @@ import com.jeeplus.modules.sys.service.WorkattachmentService;
 import com.jeeplus.modules.sys.utils.UserUtils;
 import com.jeeplus.modules.tools.utils.SignaturePostUtil;
 import com.jeeplus.modules.utils.SftpClientUtil;
+import com.jeeplus.modules.workactivity.entity.WorkActivityProcess;
+import com.jeeplus.modules.workactivity.service.WorkActivityProcessService;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientAttachment;
 import com.jeeplus.modules.workinvoice.entity.TemporaryInvoiceInfo;
 import com.jeeplus.modules.workinvoice.service.WorkInvoiceService;
@@ -82,6 +86,10 @@ public class RuralProjectSignatureOldMessageDisposeController extends BaseContro
     protected HistoryService historyService;
     @Autowired
     private RuralProjectSignatureOldMessageDisposeService service;
+    @Autowired
+    private ProjectReportDataTwoService projectReportDataTwoService;
+    @Autowired
+    private WorkActivityProcessService workActivityProcessService;
 
 
     @Autowired
@@ -934,4 +942,40 @@ public class RuralProjectSignatureOldMessageDisposeController extends BaseContro
         return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralProjectMessageAll/?repage";
     }
 
+    /**
+     * 处理报告签章审核结果信息
+     * @return
+     */
+    @RequestMapping(value = "/disposeReportSignatureAuditAchievement")
+    @ResponseBody
+    @Transactional(readOnly = false)
+    public Map<String,Object> disposeReportSignatureAuditAchievement(){
+        Map<String,Object> resultMap = new HashMap<>();
+        //查询所有已经处理的报告签发且签发表中的auditContent参数值为空的数据
+        //获取报告签发
+        List<ProjectReportDataTwo> projectReportDataTwoList =projectReportDataTwoService.getNotDisposeReportSignatureAuditAchievement();
+        for (ProjectReportDataTwo projectReportDataTwo : projectReportDataTwoList) {
+
+            WorkActivityProcess selectProcess = new WorkActivityProcess();
+            selectProcess.setProcessInstanceId(projectReportDataTwo.getProcessInstanceId());
+            List<WorkActivityProcess> workActivityProcesses = workActivityProcessService.findList(selectProcess);
+            if (workActivityProcesses.size()!=0){
+                WorkActivityProcess workActivityProcess=workActivityProcesses.get(0);
+                if (null!=workActivityProcess){
+                    String str=workActivityProcess.getRemarks().split("]",2)[1];
+                    if(StringUtils.isNotBlank(str)){
+
+                        projectReportDataTwo.setAuditContent(str);
+                        //修改数据信息
+                        projectReportDataTwoService.updateAuditContent(projectReportDataTwo);
+                    }
+                }
+            }
+        }
+
+        resultMap.put("msgMonth","数电发票处理完成");
+        return resultMap;
+    }
+
+
 }

+ 51 - 40
src/main/java/com/jeeplus/modules/sys/web/LoginController.java

@@ -524,57 +524,68 @@ public class LoginController extends BaseController{
 		//获取通知类别信息
 		List<MainDictDetail> notifytype = DictUtils.getMainDictList("oa_notify_type");
 
-		//知识分享类别信息
-		List<KnowledgeSharingTypeInfo> typeInfoList = typeService.findList(new KnowledgeSharingTypeInfo());
 		long s2 = System.currentTimeMillis();
-		System.out.println("s2-s1: " + (s2-s1));
+		User loginUser = UserUtils.getUser();
+		if(null != loginUser.getOffice() && "897d1bf0975a4598b3bb248049e2d1cf".equals(loginUser.getOffice().getId())){
 
-		List<OaNotify> showNotifyList = page.getList();
-		for (OaNotify info: showNotifyList) {
-			for (MainDictDetail mianDict : notifytype) {
-				if(info.getType().equals(mianDict.getValue())){
-					info.setTypeStr(mianDict.getLabel());
-					break;
+			model.addAttribute("page", page.getList());
+			model.addAttribute("count", 0);//未读通知条数
+			model.addAttribute("count1", 0);//未读通知条数
+			model.addAttribute("type", type);//返回公告类型
+		}else{
+			//知识分享类别信息
+			List<KnowledgeSharingTypeInfo> typeInfoList = typeService.findList(new KnowledgeSharingTypeInfo());
+			System.out.println("s2-s1: " + (s2-s1));
+
+			List<OaNotify> showNotifyList = page.getList();
+			for (OaNotify info: showNotifyList) {
+				for (MainDictDetail mianDict : notifytype) {
+					if(info.getType().equals(mianDict.getValue())){
+						info.setTypeStr(mianDict.getLabel());
+						break;
+					}
 				}
+				info.setParentType("1");
 			}
-			info.setParentType("1");
-		}
-		//查询知识分享信息
-		KnowledgeSharingInfo knowledgeSharingInfo = new KnowledgeSharingInfo();
-		knowledgeSharingInfo.setViewUserId(UserUtils.getUser().getId());
-		List<KnowledgeSharingInfo> knowledgeSharingDetailsList = knowledgeSharingDetailsService.findList(knowledgeSharingInfo);
-		for (KnowledgeSharingInfo info : knowledgeSharingDetailsList) {
-			OaNotify notify = new OaNotify();
-			notify.setTitle(info.getSubject());
-			notify.setType(info.getColumnId());
-			notify.setUpdateDate(info.getUpdateDate());
-			if("1".equals(info.getReadFlag())){
-				notify.setReadFlagStr("已读");
-			}else if ("0".equals(info.getReadFlag())){
-				notify.setReadFlagStr("未读");
-			}else{
-				notify.setReadFlagStr("");
-			}
-			notify.setId(info.getId());
+			//查询知识分享信息
+			KnowledgeSharingInfo knowledgeSharingInfo = new KnowledgeSharingInfo();
+			knowledgeSharingInfo.setViewUserId(UserUtils.getUser().getId());
+			List<KnowledgeSharingInfo> knowledgeSharingDetailsList = knowledgeSharingDetailsService.findList(knowledgeSharingInfo);
+			for (KnowledgeSharingInfo info : knowledgeSharingDetailsList) {
+				OaNotify notify = new OaNotify();
+				notify.setTitle(info.getSubject());
+				notify.setType(info.getColumnId());
+				notify.setUpdateDate(info.getUpdateDate());
+				if("1".equals(info.getReadFlag())){
+					notify.setReadFlagStr("已读");
+				}else if ("0".equals(info.getReadFlag())){
+					notify.setReadFlagStr("未读");
+				}else{
+					notify.setReadFlagStr("");
+				}
+				notify.setId(info.getId());
 
-			for (KnowledgeSharingTypeInfo mianDict : typeInfoList) {
-				if(info.getColumnId().equals(mianDict.getKey())){
-					notify.setTypeStr(mianDict.getValue());
-					break;
+				for (KnowledgeSharingTypeInfo mianDict : typeInfoList) {
+					if(info.getColumnId().equals(mianDict.getKey())){
+						notify.setTypeStr(mianDict.getValue());
+						break;
+					}
 				}
+
+				notify.setParentType("2");
+				showNotifyList.add(notify);
 			}
+			listSort(showNotifyList);
+			page.setList(showNotifyList);
 
-			notify.setParentType("2");
-			showNotifyList.add(notify);
+			model.addAttribute("page", page.getList());
+			model.addAttribute("count", page.getList().size());//未读通知条数
+			model.addAttribute("count1", page.getCount());//未读通知条数
+			model.addAttribute("type", type);//返回公告类型
 		}
-		listSort(showNotifyList);
-		page.setList(showNotifyList);
 
 
-		model.addAttribute("page", page.getList());
-		model.addAttribute("count", page.getList().size());//未读通知条数
-		model.addAttribute("count1", page.getCount());//未读通知条数
-		model.addAttribute("type", type);//返回公告类型
+
 		// request.getSession().setAttribute("page",page);
 		oaNotify.setPage(new Page());
 		/*//查询通告信息

+ 7 - 2
src/main/java/com/jeeplus/modules/workfullmanage/web/WorkFullManageController.java

@@ -1681,7 +1681,12 @@ public class WorkFullManageController extends BaseController {
 			data.put("projectMonth","");
 			data.put("projectDay","");
 		}
-		WorkActivityProcess selectProcess = new WorkActivityProcess();
+		if(StringUtils.isNotBlank(projectReportDataTwo.getAuditContent())){
+			data.put("signRemarks",projectReportDataTwo.getAuditContent());
+		}else{
+			data.put("signRemarks","");
+		}
+		/*WorkActivityProcess selectProcess = new WorkActivityProcess();
 		selectProcess.setProcessInstanceId(projectReportDataTwo.getProcessInstanceId());
 		List<WorkActivityProcess> workActivityProcesses = workActivityProcessService.findList(selectProcess);
 		if (workActivityProcesses.size()!=0){
@@ -1694,7 +1699,7 @@ public class WorkFullManageController extends BaseController {
 			}
 		}else{
 			data.put("signRemarks","");
-		}
+		}*/
 		if ("5".equals(projectReportDataTwo.getStatus())){
 			User user1=UserUtils.get(projectReportDataTwo.getBzshbUserId());
 			if (StringUtils.isNotBlank(user1.getName())){

+ 1 - 1
src/main/java/com/jeeplus/modules/workstaff/service/WorkStaffBasicInfoService.java

@@ -547,7 +547,7 @@ public class WorkStaffBasicInfoService extends CrudService<WorkStaffBasicInfoDao
         String newNo="0001";
         String no = dao.queryMaxNoWithCompany(workStaffBasicInfo);
         if(StringUtils.isNotBlank(no)){
-            Integer integer = Integer.valueOf(no);
+            Integer integer = new BigDecimal(no).intValue();
             integer+=1;
             newNo = String.valueOf(integer);
         }

+ 15 - 0
src/main/resources/mappings/modules/projectGuidang/ProjectFilingBatchProInfoDao.xml

@@ -60,4 +60,19 @@
 		where id=#{id}
 	</delete>
 
+
+	<select id="getProcessedReportList" resultType="com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData">
+		select prd.id,prd.project_id,prd.number from project_flingbatch_relation a
+		left join project_report_data prd on a.project_id = prd.project_id
+		<where>
+			<if test="projectIdList!=null and projectIdList.size!=0">
+				a.project_id in
+				<foreach collection="projectIdList" item="projectId" separator="," open="(" close=")">
+					#{projectId}
+				</foreach>
+			</if>
+			and a.status in(2,5) and a.del_flag = 0 and a.filing_batch != #{filingBatchId}
+		</where>
+	</select>
+
 </mapper>

+ 21 - 1
src/main/resources/mappings/modules/projectGuidang/ProjectFilingbatchRelationDao.xml

@@ -70,7 +70,9 @@
 		FROM project_filingbatch a
 		LEFT JOIN project_flingbatch_relation g on(a.id=g.filing_batch)
 		LEFT JOIN rural_project_records r on(g.project_id=r.project_id)
-		WHERE g.project_id = #{projectId} and g.del_flag = 0
+		<where>
+			g.project_id = #{projectId} and g.del_flag = 0 and g.use_start = 0
+		</where>
 	</select>
 
 	<update id="updateDelFlag">
@@ -91,4 +93,22 @@
 		,status = 4
 		where filing_batch = #{id}
 	</update>
+
+	<update id="updateByFilingBatch">
+		update project_flingbatch_relation
+		set status = #{status}
+		where filing_batch = #{id}
+	</update>
+
+	<update id="updateUseStartByProjectIdAndFilingBatchId">
+		update project_flingbatch_relation
+		set use_start = 1
+		where project_id = #{projectId} and filing_batch != #{filingBatchId}
+	</update>
+
+	<update id="updateProjectFilingStatusByProjectId">
+		update rural_project_records
+		set paper_filing_status = #{status}
+		where id = #{id}
+	</update>
 </mapper>

+ 27 - 1
src/main/resources/mappings/modules/projectcontentinfo/ProjectReportDataTwoDao.xml

@@ -15,7 +15,8 @@
 		a.project_id AS "project.id",
 		a.status AS "status",
 		a.process_instance_id AS "processInstanceId",
-		a.audit_pass_date AS "auditPassDate"
+		a.audit_pass_date AS "auditPassDate",
+		a.audit_content as "auditContent"
 	</sql>
 	<sql id="projectReportDataColumns1">
 		a.id AS "id",
@@ -537,6 +538,9 @@
 		<if test="bzshbUserId != null and bzshbUserId != ''">
 			,bzshb_user_id = #{bzshbUserId}
 		</if>
+		<if test="auditContent != null and auditContent != ''">
+			,audit_content = #{auditContent}
+		</if>
 		WHERE id = #{id}
 	</update>
 
@@ -814,4 +818,26 @@
 		WHERE id = #{id}
 	</update>
 
+	<select id="getNotDisposeReportSignatureAuditAchievement"
+			resultType="com.jeeplus.modules.projectcontentinfo.entity.ProjectReportDataTwo">
+		SELECT
+		<include refid="projectReportDataColumns"/>
+		,a.bzshb_user_id as "bzshbUserId"
+		,su.name as "createName"
+		FROM
+		rural_project_records r
+		LEFT JOIN project_report_data_two a on a.project_id=r.id and a.del_flag = 0
+		left join sys_user su on su.id = a.create_by
+		<where>
+			a.status = 5 and a.audit_content is null
+		</where>
+
+	</select>
+
+	<update id="updateAuditContent">
+		UPDATE project_report_data_two SET
+		audit_content = #{auditContent}
+		WHERE id = #{id}
+	</update>
+
 </mapper>

+ 3 - 3
src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectMessageAllDao.xml

@@ -483,7 +483,7 @@ END) as projectScale*/
 		select id,create_date,status,project_id,filing_batch,audit_pass_date
 		from project_flingbatch_relation order by create_date desc
 		)z
-		group by z.project_id desc
+		group by z.project_id
 		) pfp ON pfp.project_id = a.id
 
 		LEFT JOIN project_filingbatch pfb on pfb.id=pfp.filing_batch
@@ -977,7 +977,7 @@ END) as projectScale*/
 		select id,create_date,status,project_id,filing_batch,audit_pass_date,box_num
 		from project_flingbatch_relation order by create_date desc
 		)z
-		group by z.project_id desc
+		group by z.project_id
 		) pfp ON pfp.project_id = a.id
 
 		LEFT JOIN project_filingbatch pfb on pfb.id=pfp.filing_batch
@@ -1392,7 +1392,7 @@ END) as projectScale*/
 		select id,create_date,status,project_id,filing_batch,audit_pass_date
 		from project_flingbatch_relation order by create_date desc
 		)z
-		group by z.project_id desc
+		group by z.project_id
 		) pfp ON pfp.project_id = a.id
 
 		LEFT JOIN project_filingbatch pfb on pfb.id=pfp.filing_batch

+ 9 - 3
src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectMessageDao.xml

@@ -477,9 +477,9 @@
 		(select id,status,project_id,filing_batch,audit_pass_date from
 		(
 		select id,create_date,status,project_id,filing_batch,audit_pass_date
-		from project_flingbatch_relation order by create_date desc
+		from project_flingbatch_relation where use_start = 0 order by create_date desc
 		)z
-		group by z.project_id desc
+		group by z.project_id
 		) pfp ON pfp.project_id = a.id
 
 		LEFT JOIN project_filingbatch pfb on pfb.id=pfp.filing_batch
@@ -829,7 +829,7 @@
 		select id,create_date,status,project_id,filing_batch
 		from project_flingbatch_relation order by create_date desc
 		)z
-		group by z.project_id desc
+		group by z.project_id
 		) pfp ON pfp.project_id = a.id
 
 		LEFT JOIN project_filingbatch pfb on pfb.id=pfp.filing_batch
@@ -1871,4 +1871,10 @@
 			#{projectType}
 		)
 	</insert>
+
+	<update id="saveReportAuditContent">
+		update project_report_data_two
+		set audit_content = #{auditContent}
+		where id = #{id}
+	</update>
 </mapper>

+ 1 - 1
src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectRecordsCaseBaseDao.xml

@@ -312,7 +312,7 @@
 		select id,create_date,status,project_id,filing_batch
 		from project_flingbatch_relation order by create_date desc
 		)z
-		group by z.project_id desc
+		group by z.project_id
 		) pfp ON pfp.project_id = a.id
 
 		LEFT JOIN project_filingbatch pfb on pfb.id=pfp.filing_batch

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

@@ -483,7 +483,7 @@
 		select id,create_date,status,project_id,filing_batch
 		from project_flingbatch_relation order by create_date desc
 		)z
-		group by z.project_id desc
+		group by z.project_id
 		) pfp ON pfp.project_id = a.id
 
 		LEFT JOIN project_filingbatch pfb on pfb.id=pfp.filing_batch
@@ -1016,7 +1016,7 @@
 		select id,create_date,status,project_id,filing_batch
 		from project_flingbatch_relation order by create_date desc
 		)z
-		group by z.project_id desc
+		group by z.project_id
 		) pfp ON pfp.project_id = a.id
 
 		LEFT JOIN project_filingbatch pfb on pfb.id=pfp.filing_batch
@@ -2615,7 +2615,7 @@
 			and a.del_flag = 0 and project_type in (1,2)
 # 			and prd.`status`=5
 			and a.id not in (select project_id	FROM project_flingbatch_relation r left join project_filingbatch f on f.filing_batch=r.filing_batch	where f.filing_status in(2,3,5) )
-		    and a.id not in (select project_id	FROM project_flingbatch_relation where status in(2,3,5) )
+		    and a.id not in (select project_id	FROM project_flingbatch_relation where status in(2,5) )
 			<if test="projectName != null and projectName != ''">
 				AND a.project_name like concat(concat('%',#{projectName}),'%')
 			</if>
@@ -2658,7 +2658,7 @@
 			and a.submit_money = 1
 			and a.del_flag = 0 and a.project_type in (1,2)
 			/*不捞取已经发起审批并审批状态为2、3、5的项目信息*/
-			and a.id not in (select project_id	FROM project_flingbatch_relation where status in(2,3,5) )
+			and a.id not in (select project_id	FROM project_flingbatch_relation where status in(2,5) )
 			<if test="sqlMap.dsf !=null and sqlMap.dsf!=''">
 				AND ((w1.user_id = #{currentUser.id} AND w1.del_flag='0' AND a.company_id = #{currentUser.company.id})${sqlMap.dsf} )
 			</if>
@@ -2888,7 +2888,7 @@
 	<select id="getEfficientProjectFlingbatchRelationByProjectId" resultType="java.lang.Integer">
 		select count(1) from project_flingbatch_relation
 		where project_id = #{projectId}
-		and status in(2,3,5)
+		and status in(2,5)
 	</select>
 
 
@@ -4891,7 +4891,7 @@
 		select id,create_date,status,project_id,filing_batch
 		from project_flingbatch_relation order by create_date desc
 		)z
-		group by z.project_id desc
+		group by z.project_id
 		) pfp ON pfp.project_id = a.id
 
 		LEFT JOIN project_filingbatch pfb on pfb.id=pfp.filing_batch

+ 8 - 5
src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectRecordsReported.xml

@@ -474,11 +474,14 @@
     </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
+			secrecy_project_name
+		from
+			rural_project_records_reported
+		where
+			report_status = 5 or report_status = 7
+		order by
+			cast(secrecy_project_name as unsigned) desc limit 1
 	</select>
 
 </mapper>

+ 1 - 1
src/main/webapp/webpage/modules/externalUnit/capitalDemandFormAdd.jsp

@@ -98,7 +98,7 @@
 			<div class="form-group layui-row first">
 				<div class="form-group-label"><h2>基本信息</h2></div>
 				<div class="layui-item layui-col-sm6 lw6">
-					<label class="layui-form-label"><span class="require-item">*</span>审核人:</label>
+					<label class="layui-form-label"><span class="require-item">*</span>接收人:</label>
 					<div class="layui-input-block">
 						<form:select path="examiner" cssClass="form-control required judgment simple-select">
 							<form:option value="" label=""/>

+ 1 - 1
src/main/webapp/webpage/modules/externalUnit/capitalDemandFormModify.jsp

@@ -97,7 +97,7 @@
 			<div class="form-group layui-row first">
 				<div class="form-group-label"><h2>基本信息</h2></div>
 				<div class="layui-item layui-col-sm6 lw6">
-					<label class="layui-form-label"><span class="require-item">*</span>审核人:</label>
+					<label class="layui-form-label"><span class="require-item">*</span>接收人:</label>
 					<div class="layui-input-block">
 						<form:select path="examiner" cssClass="form-control simple-select required judgment">
 							<form:option value="" label=""/>

+ 1 - 1
src/main/webapp/webpage/modules/externalUnit/capitalDemandFormView.jsp

@@ -176,7 +176,7 @@
 			<div class="form-group layui-row first">
 				<div class="form-group-label"><h2>基本信息</h2></div>
 				<div class="layui-item layui-col-sm6 lw6">
-					<label class="layui-form-label"><span class="require-item">*</span>审核人:</label>
+					<label class="layui-form-label"><span class="require-item">*</span>接收人:</label>
 					<div class="layui-input-block">
 						<form:select path="examiner" cssClass="form-control required judgment simple-select" disabled="true">
 							<form:option value="" label=""/>

+ 1 - 1
src/main/webapp/webpage/modules/externalUnit/externalUnitCapitalDemandList.jsp

@@ -99,7 +99,7 @@
 				maxmin: false, //开启最大化最小化按钮
 				content: url ,
 				skin:"three-btns",
-				btn: ['送','暂存','关闭'],
+				btn: ['送','暂存','关闭'],
 				btn1: function(index, layero){
 					var body = top.layer.getChildFrame('body', index);
 					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();

+ 2 - 2
src/main/webapp/webpage/modules/externalUnit/externalUnitFeedbackList.jsp

@@ -72,7 +72,7 @@
 				maxmin: false, //开启最大化最小化按钮
 				content: url ,
 				skin:"three-btns",
-				btn: ['送','暂存','关闭'],
+				btn: ['送','暂存','关闭'],
 				btn1: function(index, layero){
 					var body = top.layer.getChildFrame('body', index);
 					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
@@ -125,7 +125,7 @@
 				maxmin: false, //开启最大化最小化按钮
 				content: url ,
 				skin:"two-btns",
-				btn: ['送','关闭'],
+				btn: ['送','关闭'],
 				btn1: function(index, layero){
 					var body = top.layer.getChildFrame('body', index);
 					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();

+ 1 - 1
src/main/webapp/webpage/modules/externalUnit/feedbackFormAdd.jsp

@@ -133,7 +133,7 @@
 			<div class="form-group layui-row first">
 				<div class="form-group-label"><h2>基本信息</h2></div>
 				<div class="layui-item layui-col-sm6 lw6">
-					<label class="layui-form-label"><span class="require-item">*</span>审核人:</label>
+					<label class="layui-form-label"><span class="require-item">*</span>接收人:</label>
 					<div class="layui-input-block">
 						<div id="shr" class="xm-select-demo" tabindex="0" contenteditable="true"></div>
 					</div>

+ 1 - 1
src/main/webapp/webpage/modules/externalUnit/feedbackFormAudit.jsp

@@ -132,7 +132,7 @@
 			<div class="form-group layui-row first">
 				<div class="form-group-label"><h2>基本信息</h2></div>
 				<div class="layui-item layui-col-sm6 lw6">
-					<label class="layui-form-label"><span class="require-item">*</span>审核人:</label>
+					<label class="layui-form-label"><span class="require-item">*</span>接收人:</label>
 					<div class="layui-input-block">
 						<div id="shr" style="pointer-events: none; background-color: #fff" class="xm-select-demo" tabindex="0"  contenteditable="true"></div>
 					</div>

+ 2 - 2
src/main/webapp/webpage/modules/externalUnit/feedbackFormModify.jsp

@@ -22,7 +22,7 @@
 			}
 		  if(validateForm.form()){
 			  if($("#examiners").val() == ""){
-				  parent.layer.msg("请选择审核人!", {icon: 5});
+				  parent.layer.msg("请选择接收人!", {icon: 5});
 				  return false;
 			  }
 			  $("#inputForm").submit();
@@ -132,7 +132,7 @@
 			<div  class="form-group layui-row first">
 				<div class="form-group-label"><h2>基本信息</h2></div>
 				<div class="layui-item layui-col-sm6 lw6">
-					<label class="layui-form-label"><span class="require-item">*</span>审核人:</label>
+					<label class="layui-form-label"><span class="require-item">*</span>接收人:</label>
 					<div class="layui-input-block">
 						<div id="shr" class="xm-select-demo" tabindex="0" contenteditable="true"></div>
 					</div>

+ 2 - 2
src/main/webapp/webpage/modules/externalUnit/feedbackFormView.jsp

@@ -18,7 +18,7 @@
 		  if(validateForm.form()){
 			  if(obj == 1){
 				  if($("#examiners").val() == ""){
-					  parent.layer.msg("请选择审核人!", {icon: 5});
+					  parent.layer.msg("请选择接收人!", {icon: 5});
 					  return false;
 				  }
 
@@ -130,7 +130,7 @@
 			<div class="form-group layui-row first">
 				<div class="form-group-label"><h2>基本信息</h2></div>
 				<div class="layui-item layui-col-sm6 lw6">
-					<label class="layui-form-label"><span class="require-item">*</span>审核人:</label>
+					<label class="layui-form-label"><span class="require-item">*</span>接收人:</label>
 					<div class="layui-input-block">
 						<div id="shr" style="pointer-events: none; background-color: #fff" class="xm-select-demo" tabindex="0" contenteditable="true"></div>
 					</div>

+ 45 - 1
src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectMessageList.jsp

@@ -350,6 +350,47 @@
 
 		}
 
+
+
+		//材料跳转
+		function openDialogreAdmin(title,url,width,height,target){
+			if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+				width='auto';
+				height='auto';
+			}else{//如果是PC端,根据用户设置的width和height显示。
+
+			}
+			top.layer.open({
+				type: 2,
+				area: [width, height],
+				title: title,
+				maxmin: true, //开启最大化最小化按钮
+				content: url ,
+				skin:"two-btns",
+				btn: ['提交','关闭'],
+				btn1: function(index, layero){
+					var body = top.layer.getChildFrame('body', index);
+					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var inputForm = body.find('#inputForm');
+					var top_iframe;
+					if(target){
+						top_iframe = target;//如果指定了iframe,则在改frame中跳转
+					}else{
+						top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+					}
+					inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+					if(iframeWin.contentWindow.doSubmit(2) ){
+						// top.layer.close(index);//关闭对话框。
+						setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+					}
+					return false;
+				},
+				btn2: function(index){
+				}
+			});
+
+		}
+
 		//材料跳转
 		function openDialogreTwo(title,url,width,height,target){
 			if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
@@ -1032,7 +1073,10 @@
 			}
 			<shiro:hasPermission name="ruralProject:ruralCostProjectMessage:adminEdit">
 			if ('0'!=d.projectReportStatus && '1'!=d.projectReportStatus){
-				xml+="<a href=\"#\" onclick=\"openDialogre('修改质量复核', '${ctx}/ruralProject/ruralCostProjectMessage/adminEditForm?projectId=" + d.id + "','95%', '95%','','提交,关闭')\" class=\"layui-btn layui-btn-xs  layui-bg-green\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' > 修改质量复核</a>";
+				xml+="<a href=\"#\" onclick=\"openDialogreAdmin('修改质量复核', '${ctx}/ruralProject/ruralCostProjectMessage/adminEditForm?projectId=" + d.id + "','95%', '95%','','提交,关闭')\" class=\"layui-btn layui-btn-xs  layui-bg-green\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' > 修改复核信息</a>";
+			}
+			if ('0'!=d.projectReportStatusTwo && '1'!=d.projectReportStatusTwo){
+				xml+="<a href=\"#\" onclick=\"openDialogreAdmin('修改报告签发', '${ctx}/ruralProject/ruralProjectMessageNewTwo/adminEditForm?projectId=" + d.id + "&view=costLiu','95%', '95%','','提交,关闭')\" class=\"layui-btn layui-btn-xs  layui-bg-green\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' > 修改签发信息</a>";
 			}
 			//质量复核
 			if(d.projectReportStatus == 5){

+ 22 - 17
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/new/projectRecordsMessageAuditTwo.jsp

@@ -17,6 +17,10 @@
 			$("#opinion").val(ss);
             if(validateForm.form()){
                 if(obj == 1) {
+                	if(!ss){
+						top.layer.msg("请填写报告签发审核意见!", {icon: 0});
+						return ;
+					}
 					var flags=judgment();
 					if (flags){
 						$("#flag").val("yes");
@@ -89,6 +93,7 @@
 					tips: 3
 				});
 			})
+			console.log(1231251231)
 			$(".list-tabs li").click(function(){
 				$(".list-tabs li").each(function(){
 					$(this).removeAttr("class","active");
@@ -207,7 +212,7 @@
 <body >
 <div class="single-form">
 	<div class="container">
-		<form:form id="inputForm" modelAttribute="projectcontentinfo" enctype="multipart/form-data" action="${ctx}/ruralProject/ruralProjectMessageNewTwo/reportAudit" method="post" class="form-horizontal layui-form">
+		<form:form id="inputForm" modelAttribute="projectcontentinfo" enctype="multipart/form-data" action="${ctx}/ruralProject/ruralProjectMessageNewTwo/reportAudit" method="post" class="layui-form">
 			<form:hidden path="id"/>
 			<form:hidden path="home"/>
 			<form:hidden path="project.id"/>
@@ -239,22 +244,22 @@
 			</div>--%>
 			<div class="form-group layui-row first lw12">
 				<div class="tapfixed" style="width: 80%;">
-					<div class="list-form-tab contentShadow list-form-tab" id="tabDiv">
+					<div class="list-form-tab contentShadow" id="tabDiv">
 						<ul class="list-tabs" >
-							<li class="active"><a>基本信息</a><span class="hide">projectInfo</span></li>
+							<li><a>基本信息</a><span class="hide">projectInfo</span></li>
 							<li><a>子项目列表</a><span class="hide">subProjectInfo</span></li>
 							<li><a>合同信息</a><span class="hide">workContractInfo</span></li>
 							<li><a>客户信息</a><span class="hide">workClientInfo</span></li>
 							<li><a>项目计划信息</a><span class="hide">planView</span></li>
 							<li><a>质量复核信息</a><span class="hide">qualityView</span></li>
-							<li><a>报告签发信息</a><span class="hide">issueView</span></li>
+							<li class="active"><a>报告签发信息</a><span class="hide">issueView</span></li>
 							<li><a>档案信息</a><span class="hide">AccessoryView</span></li>
 						</ul>
 					</div>
 				</div>
 			</div>
 			<div style="margin-top: 50px;overflow:hidden;">
-				<div class="form-group layui-row first" id="projectInfo">
+				<div class="form-group layui-row first hide" id="projectInfo">
 						<%--				<div class="form-group-label"><h2>项目基本信息</h2></div>--%>
 					<div>
 						<div class="layui-item layui-col-sm6 lw6">
@@ -1033,7 +1038,7 @@
 								<form:input id="consultFee" path="projectReportData.consultFee" htmlEscape="false"  class="form-control layui-input" readonly="true"/>
 							</div>
 						</div>--%>
-						<div class="layui-item layui-col-sm6 lw7">
+						<div class="layui-item layui-col-sm6 lw6">
 							<label class="layui-form-label double-line">造价咨询营业收入(万元):</label>
 							<div class="layui-input-block">
 								<form:input path="projectReportData.ZiXunShouRu"  readonly="true" cssStyle="background-color: #f1f1f1" htmlEscape="false" onblur="onblurNum(this)" onkeyup="num(this)" class="form-control layui-input"/>
@@ -1184,8 +1189,8 @@
 						</div>
 					</c:if>
 				</div>
-				<div class="form-group layui-row first hide" id="issueView">
-					<div class="form-group layui-row first lw12">
+				<div class="form-group layui-row first" id="issueView">
+					<div class="form-group layui-row first">
 						<div class="form-group-label">
 <%--							<div style="float: right"> <a href="javascript:void(0)" style='background-color: #FFB800' onclick="openDialogre('下载模板', '${ctx}/ruralProject/ruralProjectMessage/skipDownloadFtl?id=${projectRecords.id}','35%', '35%','','下载,关闭')" class="layui-btn layui-btn-sm" ><i class="fa fa-file-excel-o"></i> 下载模板</a></div>--%>
 							<h2>质量复核信息</h2>
@@ -1236,13 +1241,13 @@
 						</div>
 						<c:if test="${projectRecords.projectType == 2}">
 							<div class="layui-item layui-col-sm6">
-								<label class="layui-form-label">核增核减额(元):</label>
+								<label class="layui-form-label double-line">核增核减额(元):</label>
 								<div class="layui-input-block with-icon">
 									<form:input id="verifyFee" path="projectReportData.verifyFee" htmlEscape="false"  class="form-control layui-input" readonly="true"/>
 								</div>
 							</div>
 							<div class="layui-item layui-col-sm6">
-								<label class="layui-form-label">核增核减率(%):</label>
+								<label class="layui-form-label double-line">核增核减率(%):</label>
 								<div class="layui-input-block with-icon">
 									<form:input id="verifyRate" path="projectReportData.verifyRate" htmlEscape="false"  class="form-control layui-input" readonly="true"/>
 								</div>
@@ -1263,25 +1268,25 @@
 						</div>
 						<c:if test="${projectRecords.projectType == 2}">
 							<div class="layui-item layui-col-sm6">
-								<label class="layui-form-label">土建造价(元):</label>
+								<label class="layui-form-label double-line">土建造价(元):</label>
 								<div class="layui-input-block with-icon">
 									<form:input id="buildingFee" path="projectReportData.buildingFee" htmlEscape="false"  class="form-control layui-input" readonly="true"/>
 								</div>
 							</div>
 							<div class="layui-item layui-col-sm6">
-								<label class="layui-form-label">安装造价(元):</label>
+								<label class="layui-form-label double-line">安装造价(元):</label>
 								<div class="layui-input-block with-icon">
 									<form:input id="installFee" path="projectReportData.installFee" htmlEscape="false"  class="form-control layui-input" readonly="true"/>
 								</div>
 							</div>
 							<div class="layui-item layui-col-sm6">
-								<label class="layui-form-label">土建比例(%):</label>
+								<label class="layui-form-label double-line">土建比例(%):</label>
 								<div class="layui-input-block with-icon">
 									<form:input id="buildingRate" path="projectReportData.buildingRate" htmlEscape="false"  class="form-control layui-input number" readonly="true"/>
 								</div>
 							</div>
 							<div class="layui-item layui-col-sm6">
-								<label class="layui-form-label">安装比例(%):</label>
+								<label class="layui-form-label double-line">安装比例(%):</label>
 								<div class="layui-input-block with-icon">
 									<form:input id="installRate" path="projectReportData.installRate" htmlEscape="false"  class="form-control layui-input number" readonly="true"/>
 								</div>
@@ -1290,13 +1295,13 @@
 
 
 						<div class="layui-item layui-col-sm6">
-							<label class="layui-form-label">工作开始日期:</label>
+							<label class="layui-form-label double-line">工作开始日期:</label>
 							<div class="layui-input-block with-icon">
 								<input class=" form-control layui-input" readonly="readonly"  value="<fmt:formatDate value="${projectRecords.startDate}" pattern="yyyy-MM-dd"/>">
 							</div>
 						</div>
 						<div class="layui-item layui-col-sm6">
-							<label class="layui-form-label">工作结束日期:</label>
+							<label class="layui-form-label double-line">工作结束日期:</label>
 							<div class="layui-input-block with-icon">
 								<input class=" form-control layui-input" readonly="readonly" value="<fmt:formatDate value="${projectRecords.endingDate}" pattern="yyyy-MM-dd"/>">
 							</div>
@@ -1360,7 +1365,7 @@
 					<div>
 						<div class="form-group-label">
 							<div style="float: right"> <a href="javascript:void(0)" style='background-color: #FFB800' onclick="openDialogre1('个人模板列表', '${ctx}/auditTemplate/auditTemplate/templateList?identification=${identification}&name=${identificationName}','80%', '70%','','关闭')" class="nav-btn layui-btn layui-btn-sm" ><i class="fa fa-file-excel-o"></i> 审核意见模板列表</a></div>
-							<h2>审批意见</h2>
+							<h2><span class="require-item">*</span>审批意见<span style="color: red;font-size: 14px">     (请填写报告签发意见,此内容回再流程单中展示)</span></h2>
 						</div>
 						<iframe id="iframe" src="${ctx}/auditTemplate/auditTemplate/iframeView?identification=${identification}" name="listresult" frameborder="0" align="left" width="100%" height="300" scrolling="value"></iframe>
 					</div>

File diff suppressed because it is too large
+ 1124 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/new/reportAdminFormTwo.jsp


+ 45 - 1
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/ruralProjectMessageList.jsp

@@ -227,6 +227,47 @@
 			});
 		}
 
+		//材料跳转
+		function openDialogreAdmin(title,url,width,height,target){
+			if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+				width='auto';
+				height='auto';
+			}else{//如果是PC端,根据用户设置的width和height显示。
+
+			}
+			top.layer.open({
+				type: 2,
+				area: [width, height],
+				title: title,
+				maxmin: true, //开启最大化最小化按钮
+				content: url ,
+				skin:"two-btns",
+				btn: ['提交','关闭'],
+				btn1: function(index, layero){
+					var body = top.layer.getChildFrame('body', index);
+					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var inputForm = body.find('#inputForm');
+					var top_iframe;
+					if(target){
+						top_iframe = target;//如果指定了iframe,则在改frame中跳转
+					}else{
+						top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+					}
+					inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+					if(iframeWin.contentWindow.doSubmit(2) ){
+						// top.layer.close(index);//关闭对话框。
+						setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+					}
+					return false;
+				},
+				btn2: function(index){
+				}
+			});
+
+		}
+
+
+
 		function openDialogreReportSwitch(title,url,width,height,target,buttons) {
 
 			if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {//如果是移动端,就使用自适应大小弹窗
@@ -964,7 +1005,10 @@
 			}
 			<shiro:hasPermission name="ruralProject:ruralCostProjectMessage:adminEdit">
 			if ('0'!=d.projectReportStatus && '6'!=d.projectReportStatus && '1'!=d.projectReportStatus){
-				xml+="<a href=\"#\" onclick=\"openDialogre('修改质量复核', '${ctx}/ruralProject/ruralProjectMessage/adminEditForm?projectId=" + d.id + "','95%', '95%','','提交,关闭')\" class=\"layui-btn layui-btn-xs  layui-bg-green\"  style='height: 32px;margin-top: 5px;margin-bottom: 5px;'> 修改质量复核</a>";
+				xml+="<a href=\"#\" onclick=\"openDialogreAdmin('修改质量复核', '${ctx}/ruralProject/ruralProjectMessage/adminEditForm?projectId=" + d.id + "','95%', '95%','','提交,关闭')\" class=\"layui-btn layui-btn-xs  layui-bg-green\"  style='height: 32px;margin-top: 5px;margin-bottom: 5px;'> 修改复核信息</a>";
+			}
+			if ('0'!=d.projectReportStatusTwo && '1'!=d.projectReportStatusTwo){
+				xml+="<a href=\"#\" onclick=\"openDialogreAdmin('修改报告签发', '${ctx}/ruralProject/ruralProjectMessageNewTwo/adminEditForm?projectId=" + d.id + "&view=edit','95%', '95%','','提交,关闭')\" class=\"layui-btn layui-btn-xs  layui-bg-green\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' > 修改签发信息</a>";
 			}
 			//质量复核
 			if(d.projectReportStatus == 5){

+ 8 - 1
src/main/webapp/webpage/modules/ruralprojectrecords/view/reportIssueView.jsp

@@ -303,10 +303,17 @@
 						<form:input path="projectReportData.ZiXunShouRu"  readonly="true" cssStyle="background-color: #f1f1f1" htmlEscape="false" onblur="onblurNum(this)" onkeyup="num(this)" class="form-control layui-input"/>
 					</div>
 				</div>
+
+				<div class="layui-item layui-col-sm12 lw7">
+					<label class="layui-form-label double-line">报告签发审批意见:</label>
+					<div class="layui-input-block">
+						<textarea htmlEscape="false" rows="4" readonly="true"  style="background-color: #f1f1f1" maxlength="1000" class="form-control" >${projectReportDataTwo.auditContent}</textarea>
+					</div>
+				</div>
 			</div>
 			<div>
 				<div class="form-group-label">
-					<h2>质量复核内容</h2>
+					<h2>报告签发内容</h2>
 				</div>
 				<div>
 					<div class="layui-item layui-col-xs12" >