Browse Source

代码提交

user5 2 months ago
parent
commit
8cf8eecc49
26 changed files with 302 additions and 145 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. 51 40
      src/main/java/com/jeeplus/modules/sys/web/LoginController.java
  11. 1 1
      src/main/java/com/jeeplus/modules/workstaff/service/WorkStaffBasicInfoService.java
  12. 15 0
      src/main/resources/mappings/modules/projectGuidang/ProjectFilingBatchProInfoDao.xml
  13. 21 1
      src/main/resources/mappings/modules/projectGuidang/ProjectFilingbatchRelationDao.xml
  14. 3 3
      src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectMessageAllDao.xml
  15. 3 3
      src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectMessageDao.xml
  16. 1 1
      src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectRecordsCaseBaseDao.xml
  17. 6 6
      src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectRecordsDao.xml
  18. 1 1
      src/main/webapp/webpage/modules/externalUnit/capitalDemandFormAdd.jsp
  19. 1 1
      src/main/webapp/webpage/modules/externalUnit/capitalDemandFormModify.jsp
  20. 1 1
      src/main/webapp/webpage/modules/externalUnit/capitalDemandFormView.jsp
  21. 1 1
      src/main/webapp/webpage/modules/externalUnit/externalUnitCapitalDemandList.jsp
  22. 2 2
      src/main/webapp/webpage/modules/externalUnit/externalUnitFeedbackList.jsp
  23. 1 1
      src/main/webapp/webpage/modules/externalUnit/feedbackFormAdd.jsp
  24. 1 1
      src/main/webapp/webpage/modules/externalUnit/feedbackFormAudit.jsp
  25. 2 2
      src/main/webapp/webpage/modules/externalUnit/feedbackFormModify.jsp
  26. 2 2
      src/main/webapp/webpage/modules/externalUnit/feedbackFormView.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);

+ 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());
 		/*//查询通告信息

+ 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>

+ 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

+ 3 - 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

+ 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

+ 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>