Browse Source

月报,等数据信息调整

user5 2 years atrás
parent
commit
7cae93213c
46 changed files with 2796 additions and 311 deletions
  1. 12 0
      src/main/java/com/jeeplus/modules/projectFilingBatch/service/ProjectFilingBatchService.java
  2. 7 0
      src/main/java/com/jeeplus/modules/projectcontentinfo/dao/ProjectReportDataDao.java
  3. 9 0
      src/main/java/com/jeeplus/modules/projectcontentinfo/entity/ProjectReportData.java
  4. 15 0
      src/main/java/com/jeeplus/modules/projectcontentinfo/service/ProjectReportDataService.java
  5. 23 2
      src/main/java/com/jeeplus/modules/ruralprojectrecords/dao/RuralProjectRecordsDao.java
  6. 30 1
      src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralProjectRecords.java
  7. 5 2
      src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralProjectRecordsExport.java
  8. 7 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/ProjectPaperFilingService.java
  9. 20 4
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageNewService.java
  10. 175 49
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectRecordsService.java
  11. 49 3
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectSignatureOldMessageDisposeController.java
  12. 20 0
      src/main/java/com/jeeplus/modules/statement/controller/StatementCompanyComprehensiveController.java
  13. 82 0
      src/main/java/com/jeeplus/modules/statement/dao/StatementCompanyComprehensiveDao.java
  14. 48 0
      src/main/java/com/jeeplus/modules/statement/entity/StatementCompanyComprehensiveInfo.java
  15. 36 0
      src/main/java/com/jeeplus/modules/statement/entity/StatementDataInfo.java
  16. 1089 78
      src/main/java/com/jeeplus/modules/statement/service/StatementCompanyComprehensiveService.java
  17. 20 9
      src/main/java/com/jeeplus/modules/workcalendar/service/WorkCalendarTaskService.java
  18. 4 4
      src/main/java/com/jeeplus/modules/workinvoice/web/WorkInvoiceTwoController.java
  19. 2 2
      src/main/java/com/jeeplus/modules/workprojectnotify/web/WorkProjectNotifyController.java
  20. 2 2
      src/main/resources/mappings/modules/projectcontentinfo/ProjectMaterialChooseDao.xml
  21. 7 0
      src/main/resources/mappings/modules/projectcontentinfo/ProjectReportDataDao.xml
  22. 2 1
      src/main/resources/mappings/modules/projectcontentinfo/ProjectReportDataTwoDao.xml
  23. 7 5
      src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectMessageAllDao.xml
  24. 102 13
      src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectMessageDao.xml
  25. 299 29
      src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectRecordsDao.xml
  26. 465 21
      src/main/resources/mappings/modules/statement/StatementCompanyComprehensiveDao.xml
  27. 2 2
      src/main/resources/mappings/modules/sys/UserDao.xml
  28. 2 22
      src/main/resources/mappings/modules/workinvoice/WorkInvoiceDao.xml
  29. 6 6
      src/main/webapp/static/common/jeeplus.js
  30. 1 1
      src/main/webapp/webpage/include/head.jsp
  31. 2 2
      src/main/webapp/webpage/modules/ruralprojectrecords/check/ruralProjectRecordsList.jsp
  32. 20 17
      src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectMessageList.jsp
  33. 6 6
      src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectMessageLists.jsp
  34. 3 3
      src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralProjectRecordsCaseBaseList.jsp
  35. 2 7
      src/main/webapp/webpage/modules/ruralprojectrecords/record/cost/projectRecordDescriptionForm.jsp
  36. 1 1
      src/main/webapp/webpage/modules/ruralprojectrecords/record/projectRepordDescriptionModify.jsp
  37. 6 3
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/all/ruralProjectMessageAllList.jsp
  38. 3 3
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/ruralProjectMessageList.jsp
  39. 6 6
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/ruralProjectMessageLists.jsp
  40. 69 0
      src/main/webapp/webpage/modules/statement/companyDataView.jsp
  41. 25 2
      src/main/webapp/webpage/modules/statement/companyReportDataView.jsp
  42. 88 0
      src/main/webapp/webpage/modules/statement/departmentCompanyDataView.jsp
  43. 8 0
      src/main/webapp/webpage/modules/statement/departmentProjectReportList.jsp
  44. 7 3
      src/main/webapp/webpage/modules/statement/projectReportList.jsp
  45. 1 1
      src/main/webapp/webpage/modules/sys/sysHome.jsp
  46. 1 1
      src/main/webapp/webpage/modules/sys/sysLogin.jsp

+ 12 - 0
src/main/java/com/jeeplus/modules/projectFilingBatch/service/ProjectFilingBatchService.java

@@ -747,6 +747,18 @@ public class ProjectFilingBatchService extends CrudService<ProjectFilingBatchDao
                 relation.setFilingBatch(projectFilingBatch.getId());
                 projectFilingbatchRelationDao.updateStatus(relation);
             }
+        }else{
+            //对归档数据做处理
+            for (RuralProjectRecords projectRecords:projectFilingBatch.getProject()){
+                //判定项目批量归档是否超期(若超期,则修改状态为7)
+                if(StringUtils.isNotBlank(projectRecords.getOverBatchArchiveStatus())){
+                    if("1".equals(projectRecords.getOverBatchArchiveStatus())){
+                        ruralProjectRecordsDao.updateProjectBatchArchiveOnOverDue(projectRecords.getId(),"7");
+                    }else{
+                        ruralProjectRecordsDao.updateProjectBatchArchiveOnOverDue(projectRecords.getId(),"5");
+                    }
+                }
+            }
         }
 
         User createUser = UserUtils.get(projectFilingBatch.getCreateBy().getId());

+ 7 - 0
src/main/java/com/jeeplus/modules/projectcontentinfo/dao/ProjectReportDataDao.java

@@ -196,4 +196,11 @@ public interface ProjectReportDataDao extends CrudDao<ProjectReportData> {
      * @return
      */
     Integer approvalSignaturesCount();
+
+    /**
+     * 调整报告号流程状态
+     * @param number
+     * @param status
+     */
+    Integer replaceProjectReportStatus(@Param("number")String number, @Param("status") String status);
 }

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

@@ -130,6 +130,7 @@ public class ProjectReportData extends ActEntity<ProjectReportData> {
 	private User signatureUploadFileUser;		//签章文件上传人信息
 	private Date signatureUploadDate;		//签章文件上传时间
 	private Date firstAuditDate;  //质量复核初次审核时间
+	private String overReportStatus;  //是否超期
 
 
 	public String getUpId() {
@@ -889,4 +890,12 @@ public class ProjectReportData extends ActEntity<ProjectReportData> {
 	public void setSignatureUrlFlag(Integer signatureUrlFlag) {
 		this.signatureUrlFlag = signatureUrlFlag;
 	}
+
+	public String getOverReportStatus() {
+		return overReportStatus;
+	}
+
+	public void setOverReportStatus(String overReportStatus) {
+		this.overReportStatus = overReportStatus;
+	}
 }

+ 15 - 0
src/main/java/com/jeeplus/modules/projectcontentinfo/service/ProjectReportDataService.java

@@ -181,6 +181,9 @@ public class ProjectReportDataService extends CrudService<ProjectReportDataDao,
 		}
 		return projectReportData;
 	}
+	public ProjectReportData getProjectReportDataOnRural(String id) {
+		return super.get(id);
+	}
 
 	public List<Workattachment> getWorkattachments(String id) {
 		ProjectReportData projectReportData = super.get(id);
@@ -1719,4 +1722,16 @@ public class ProjectReportDataService extends CrudService<ProjectReportDataDao,
 	public Integer approvalSignaturesCount() {
 		return dao.approvalSignaturesCount();
 	}
+
+	/**
+	 * 调整报告号流程状态
+	 * @param list
+	 * @param status
+	 */
+	@Transactional(readOnly = false)
+	public void replaceProjectReportStatus(List<String> list,String status){
+		for (String number : list) {
+			dao.replaceProjectReportStatus(number,status);
+		}
+	}
 }

+ 23 - 2
src/main/java/com/jeeplus/modules/ruralprojectrecords/dao/RuralProjectRecordsDao.java

@@ -355,7 +355,7 @@ public interface RuralProjectRecordsDao extends CrudDao<RuralProjectRecords> {
     //部门级 查询项目超期信息(4种)
     List<RuralProjectRecords> selectDepartmentReportPageOverdue(@Param("ruralProjectRecords") RuralProjectRecords ruralProjectRecords, @Param("statementCompanyComprehensiveInfo")StatementCompanyComprehensiveInfo statementCompanyComprehensiveInfo,@Param("beginDate")String beginDate,@Param("endDate") String endDate);
     //部门级 查询项目超期信息的总条数
-    Integer selectDepartmentReportPageOverdueCount(StatementCompanyComprehensiveInfo statementCompanyComprehensiveInfo);
+    Integer selectDepartmentReportPageOverdueCount(@Param("ruralProjectRecords") RuralProjectRecords ruralProjectRecords,@Param("statementCompanyComprehensiveInfo")StatementCompanyComprehensiveInfo statementCompanyComprehensiveInfo);
 
     //案例项目根据项目id更新流程实例id
     int updateProcessInstanceId(RuralProjectRecords records);
@@ -399,7 +399,7 @@ public interface RuralProjectRecordsDao extends CrudDao<RuralProjectRecords> {
     Integer modfiyProjectMaterialStorageStatus(RuralProjectRecords ruralProjectRecords);
 
     /**
-     *截至至53天没有审核数据
+     *截至至60天没有审核数据
      */
     List<RuralProjectRecords> findJudgeAdvanceWeekNotice();
 
@@ -425,4 +425,25 @@ public interface RuralProjectRecordsDao extends CrudDao<RuralProjectRecords> {
 
     //部门级 查询项目超期信息的总条数
     Integer selectDepartmentReportPageOverdueCountByYear(StatementCompanyComprehensiveInfo statementCompanyComprehensiveInfo);
+
+    /**
+     * 修改质量符合状态为超期状态
+     * @param id
+     * @return
+     */
+    Integer updateProjectReportDataOnOverDue(@Param("id") String id, @Param("status") String status);
+
+    /**
+     * 修改A类纸质归档状态为超期状态
+     * @param id
+     * @return
+     */
+    Integer updateProjectPaperFilingOnOverDue(@Param("id") String id, @Param("status") String status);
+
+    /**
+     * 修改B类批量归档状态为超期状态
+     * @param id
+     * @return
+     */
+    Integer updateProjectBatchArchiveOnOverDue(@Param("id") String id, @Param("status") String status);
 }

+ 30 - 1
src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralProjectRecords.java

@@ -57,6 +57,7 @@ public class RuralProjectRecords extends ActEntity<RuralProjectRecords> {
 	public static final String PROJECT_COST_APPRAISAL ="100";//工程造价鉴定模板key
 	public static final String ECONOMIC_EVALUATION="101";//经济评价模板key
 	public static final String SERIAL_COST_BIZCODE ="1004";
+	public static final String COORDINATE_BIZCODE ="1008";	//配合模板key
 	private static final long serialVersionUID = 1L;
 	@NotNull(message = "合同信息不能为空")
 	private WorkContractInfo workContractInfo;		// 合同id
@@ -99,7 +100,7 @@ public class RuralProjectRecords extends ActEntity<RuralProjectRecords> {
 	private String pmdrProcessInstanceId; //归档资料缺失说明流程id
 	private String pmdrId; //归档资料缺失说明id
 	private Integer projectRecordStatus; //归档状态(向目标)
-	private Integer overRecordStatus; //超期状态(电子归档)(0:未超期,1:已超期)
+	private Integer overRecordStatus; //超期状态(电子归档)(0:未超期,1:已超期)(纸质归档)
 	private Integer downProjectReportRecordStatus; //线下归档状态
 	private String downArchiveStatus; //线下归档状态
 
@@ -337,6 +338,10 @@ public class RuralProjectRecords extends ActEntity<RuralProjectRecords> {
 	private Date projectFlingbatchRelationAuditPassDate;  //B类项目批量归档时间
 	private Date projectRecordsReportedAuditPassDate;  //项目上报审核通过时间
 
+	private String overPaperFilingStatus;  //纸质归档状态(0:未超期;1:已超期)
+	private String batchArchiveStatus;  //批量归档状态(6:超期未归档;7:超期已归档)
+	private String overBatchArchiveStatus;  //批量归档超期状态(0:未超期;1:已超期)
+
 
 
 	private List<String> civilProjectList = Lists.newArrayList();
@@ -2352,4 +2357,28 @@ public class RuralProjectRecords extends ActEntity<RuralProjectRecords> {
 	public void setProjectRecordsReportedAuditPassDate(Date projectRecordsReportedAuditPassDate) {
 		this.projectRecordsReportedAuditPassDate = projectRecordsReportedAuditPassDate;
 	}
+
+	public String getOverPaperFilingStatus() {
+		return overPaperFilingStatus;
+	}
+
+	public void setOverPaperFilingStatus(String overPaperFilingStatus) {
+		this.overPaperFilingStatus = overPaperFilingStatus;
+	}
+
+	public String getBatchArchiveStatus() {
+		return batchArchiveStatus;
+	}
+
+	public void setBatchArchiveStatus(String batchArchiveStatus) {
+		this.batchArchiveStatus = batchArchiveStatus;
+	}
+
+	public String getOverBatchArchiveStatus() {
+		return overBatchArchiveStatus;
+	}
+
+	public void setOverBatchArchiveStatus(String overBatchArchiveStatus) {
+		this.overBatchArchiveStatus = overBatchArchiveStatus;
+	}
 }

+ 5 - 2
src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralProjectRecordsExport.java

@@ -359,7 +359,7 @@ public class RuralProjectRecordsExport extends ActEntity<RuralProjectRecordsExpo
 		this.recodeNum = recodeNum;
 	}
 
-	@ExcelField(title="归档状态", align=2, sort=18,dictType = "archive_state")
+	@ExcelField(title="电子归档", align=2, sort=20,dictType = "archive_state")
 	public Integer getProjectReportRecordStatus() {
 		return projectReportRecordStatus;
 	}
@@ -376,6 +376,7 @@ public class RuralProjectRecordsExport extends ActEntity<RuralProjectRecordsExpo
 		this.downProjectReportRecordStatus = downProjectReportRecordStatus;
 	}
 
+	@ExcelField(title="质量符合", align=2, sort=18,dictType = "rural_report_audit_state")
 	public Integer getProjectReportStatus() {
 		return projectReportStatus;
 	}
@@ -939,7 +940,7 @@ public class RuralProjectRecordsExport extends ActEntity<RuralProjectRecordsExpo
 		this.constructionLinkman = constructionLinkman;
 	}
 
-	@ExcelField(title="上报状态", align=2, sort=19,dictType = "reported_state")
+	@ExcelField(title="上报状态", align=2, sort=22,dictType = "reported_state")
 	public String getReportedState() {
 		return reportedState;
 	}
@@ -1512,6 +1513,7 @@ public class RuralProjectRecordsExport extends ActEntity<RuralProjectRecordsExpo
 		this.submitScale = submitScale;
 	}
 
+	@ExcelField(title="报告签发", align=2, sort=19,dictType = "rural_report_audit_state")
 	public Integer getProjectReportStatusTwo() {
 		return projectReportStatusTwo;
 	}
@@ -1696,6 +1698,7 @@ public class RuralProjectRecordsExport extends ActEntity<RuralProjectRecordsExpo
 		this.ppfProcessInstanceId = ppfProcessInstanceId;
 	}
 
+	@ExcelField(title="纸质归档", align=2, sort=21, dictType = "archive_state" )
 	public String getPaperFilingStatus() {
 		return paperFilingStatus;
 	}

+ 7 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/ProjectPaperFilingService.java

@@ -418,6 +418,13 @@ public class ProjectPaperFilingService extends CrudService<ProjectPaperFilingDao
                 String title = "报告号"+reportData.getNumber()+"。项目名称【"+records.getProjectName()+"】纸质归档成功";
                 String content = "报告号"+reportData.getNumber()+"。项目名称【"+records.getProjectName()+"】纸质归档成功,项目编号:"+records.getProjectId();
                 paperFiling.setStatus(5);
+                //根据项目纸质归档是否超期状态 对数据进行调整。
+                //若超期,则纸质归档状态调整为超期归档(7)
+                if(StringUtils.isNotBlank(records.getOverPaperFilingStatus()) && "1".equals(records.getOverPaperFilingStatus())){
+                    records.setPaperFilingStatus("7");
+                    ruralProjectRecordsService.updateProjectPaperFilingOnOverDue(records);
+                    paperFiling.setStatus(7);
+                }
                 paperFiling.setAuditPassDate(new Date());
                 WorkProjectNotify notify = new WorkProjectNotify();
                 notify.setNotifyId(paperFiling.getId());

+ 20 - 4
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageNewService.java

@@ -1038,7 +1038,14 @@ public class RuralProjectMessageNewService extends CrudService<RuralProjectMessa
     public void exigenceProjectSave(ProjectReportData projectReportData){
         //添加审核通过日期
         projectReportData.setAuditPassDate(new Date());
-        projectReportData.setStatus("5");
+        //根据报告id查询超期状态
+        ProjectReportData reportData = projectReportDataDao.get(projectReportData.getId());
+        //获取当前质量符合的数据信息判定该质量符合是否为超期,若为超期则对数据状态进行调整
+        if(null != reportData && StringUtils.isNotBlank(reportData.getOverReportStatus()) && "1".equals(reportData.getOverReportStatus())){
+            projectReportData.setStatus("7");
+        }else{
+            projectReportData.setStatus("5");
+        }
         if (StringUtils.isBlank(projectReportData.getId())){
             projectReportData.preInsert();
             //projectReportData.setFirstAuditDate(new Date());
@@ -1349,7 +1356,16 @@ public class RuralProjectMessageNewService extends CrudService<RuralProjectMessa
                     content = "报告号:"+projectReportData.getNumber()+"。项目【"+projectRecords.getProjectName()+"】报告质量复核审批通过";
                 }
                 str =  "报告名称:"+projectReportData.getName()+",工作内容类型:"+ WorkContentTypeController.getContentTypeName(projectReportData.getType(),"")+",项目所属部门:"+recordsOffice.getName();
-                projectReportData.setStatus("5");
+                //projectReportData.setStatus("5");
+                //根据报告id查询超期状态
+                ProjectReportData oldReportData = projectReportDataDao.get(projectReportData.getId());
+                //获取当前质量符合的数据信息判定该质量符合是否为超期,若为超期则对数据状态进行调整
+                if(null != oldReportData && StringUtils.isNotBlank(oldReportData.getOverReportStatus()) && "1".equals(oldReportData.getOverReportStatus())){
+                    projectReportData.setStatus("7");
+                }else{
+                    projectReportData.setStatus("5");
+                }
+
                 WorkProjectNotify notify = new WorkProjectNotify();
                 notify.setNotifyId(projectReportData.getId());
                 userList = workProjectNotifyService.readByNotifyId(notify);
@@ -3832,9 +3848,9 @@ public class RuralProjectMessageNewService extends CrudService<RuralProjectMessa
                                     e.printStackTrace();
                                 }
                                 //测试接口
-                                //String url = "http://comp.jszj.com.cn:8031/api/testAddProject";
+                                String url = "http://comp.jszj.com.cn:8031/api/testAddProject";
                                 //正式接口
-                                String url = REPORTEDURL;
+                                //String url = REPORTEDURL;
                                 //发送请求
                                 String returnResult = HttpPostTool.doPost(url, encryptByAes);
                                 HashMap hashMap = JSON.parseObject(returnResult, HashMap.class);

+ 175 - 49
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectRecordsService.java

@@ -232,7 +232,7 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 		return  DictUtils.getMainDictListById("attachment_template_type");
 	}
 
-	private static byte[] SYN_BYTE = new byte[0];
+	private static final byte[] SYN_BYTE = new byte[0];
 
 	public RuralProjectRecords get(String id) {
 		RuralProjectRecords ruralProjectRecords = super.get(id);
@@ -574,16 +574,36 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 		//添加项目编号
 		synchronized (SYN_BYTE) {
 			if (StringUtils.isBlank(projectRecords.getProjectId())) {
-				if ("1".equals(projectRecords.getProjectType())) {
-					if(projectRecords.getAttachmentProjectSort().equals("6")){
+				if ("1".equals(projectRecords.getProjectType())) {	//工程咨询
+					if ("6".equals(projectRecords.getAttachmentProjectSort())) {
+						//工程造价鉴定 需要纸质归档
+						assert createBy != null;
+						projectRecords.setPaperFilingStatus("");
 						projectRecords.setProjectId(serialNumTplService.genSerialNum(createBy.getCompany(), RuralProjectRecords.PROJECT_COST_APPRAISAL));
-					}else if(projectRecords.getAttachmentProjectSort().equals("7")){
+					} else if ("7".equals(projectRecords.getAttachmentProjectSort())) {
+						assert createBy != null;
+						projectRecords.setPaperFilingStatus("10");
 						projectRecords.setProjectId(serialNumTplService.genSerialNum(createBy.getCompany(), RuralProjectRecords.ECONOMIC_EVALUATION));
-					}else{
+					} else if ("10".equals(projectRecords.getAttachmentProjectSort())) {	//工程咨询 配合类
+						assert createBy != null;
+						projectRecords.setPaperFilingStatus("10");
+						projectRecords.setProjectId(serialNumTplService.genSerialNum(createBy.getCompany(), RuralProjectRecords.COORDINATE_BIZCODE));
+					} else {
+						assert createBy != null;
+						projectRecords.setPaperFilingStatus("10");
 						projectRecords.setProjectId(serialNumTplService.genSerialNum(createBy.getCompany(), RuralProjectRecords.SERIAL_BIZCODE));
 					}
-				} else if ("2".equals(projectRecords.getProjectType())) {
-					projectRecords.setProjectId(serialNumTplService.genSerialNum(createBy.getCompany(), RuralProjectRecords.SERIAL_COST_BIZCODE));
+				} else if ("2".equals(projectRecords.getProjectType())) {	//造价审核
+					//预算审核、结算审核、分包审核 需要纸质归档
+					if ("2".equals(projectRecords.getAttachmentProjectSort()) || "4".equals(projectRecords.getAttachmentProjectSort()) || "7".equals(projectRecords.getAttachmentProjectSort())) {
+						assert createBy != null;
+						projectRecords.setPaperFilingStatus("");
+						projectRecords.setProjectId(serialNumTplService.genSerialNum(createBy.getCompany(), RuralProjectRecords.SERIAL_COST_BIZCODE));
+					}else{
+						assert createBy != null;
+						projectRecords.setPaperFilingStatus("10");
+						projectRecords.setProjectId(serialNumTplService.genSerialNum(createBy.getCompany(), RuralProjectRecords.SERIAL_COST_BIZCODE));
+					}
 				}
 			}
 		}
@@ -3006,28 +3026,8 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 	 */
 	@Transactional(readOnly = false)
 	public void saveDescriptMissData() throws Exception {
-		ProjectMaterialDefectRecord defectRecord = new ProjectMaterialDefectRecord();
-		ProjectRecords projectRecords = new ProjectRecords();
-
 		List<RuralProjectRecords> defectRecordList = chooseService.getDescriptMissData();
 		for (int i=0;i<defectRecordList.size();i++){
-//			RuralProjectRecords ruralProjectRecords = projectRecordsService.get(defectRecordList.get(i).getPrdId());
-//			MyBeanUtils.copyBeanNotNull2Bean(ruralProjectRecords, projectRecords);
-//			//获取合同信息
-//			WorkContractInfo projectContractInfo = ruralProjectMessageService.getProjectContractInfo(projectRecords.getWorkContractInfo().getId());
-//			projectRecords.setWorkContractInfo(projectContractInfo);
-//			ProjectReportData reportData = ruralProjectMessageService.getProjectReportDateByProjectId(defectRecordList.get(i).getPrdId());
-//			reportData.setProject(projectRecords);
-//			defectRecord.setReport(reportData);
-//			defectRecord.setUploadMode(uploadMode);
-//			//获取项目信息
-//			RuralProjectRecords record = ruralProjectRecordsService.get(defectRecord.getReport().getProject().getId());
-//			//查询项目新增报告信息
-//			ProjectReportData reportData2 = projectReportDataService.get(record.getPrdId());
-//			String title = "项目【"+ record.getProjectName()+"】资料缺失申请待审批";
-//			String str = "项目【"+ record.getProjectName()+"】资料缺失申请待审批";
-//			String str = "报告号:" + record.getProjectReportNumber() + "。项目【" + record.getProjectName()+"】资料缺失说明审核通过第" + defectRecordList.get(i).getReminderCount() +"提醒归档";
-
 			//短期的第一次提醒为审核通过的30天后,之后为7天提醒一次
 			if (null == defectRecordList.get(i).getReminderCount() || defectRecordList.get(i).getReminderCount() == 0 ){
 				//第一次提醒  30天
@@ -3168,6 +3168,83 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 		}
 	}
 
+
+
+	/**
+	 * 获取项目即将超期还未归档并进行通知(A类纸质归档)
+	 * @return
+	 */
+	@Transactional(readOnly = false)
+	public void saveProjectRecordListByPaperFiling(){
+		RuralProjectRecords projectRecords = new RuralProjectRecords();
+		//查询超期时间天数(40天)
+		List<MainDictDetail> adventCount = DictUtils.getMainDictListOnProjectAdvent("advent_record_count");
+		if(adventCount.size()>0){
+			//获取超期时间天数转int
+			Integer endingCount = Integer.parseInt(adventCount.get(0).getLabel());
+			//设置开始时间为还有3天即将超期
+			//projectRecords.setStartCount(endingCount-3);
+			//设置开始时间为领取报告号30天未上报得时间节点
+			projectRecords.setStartCount(30);
+			projectRecords.setEndingCount(endingCount);
+		}
+		//获取项目数据(A类项目)
+		List<RuralProjectRecords> projectRecordsList = dao.getProjectRecordListByAdvent(projectRecords);
+		for (RuralProjectRecords info: projectRecordsList) {
+			String notifyStr = null;
+			String titleStr = null;
+			//如果当前时间大于过期时间
+			//Date类的一个方法,如果info.getAdventDateDate()早于 new Date() 返回true,否则返回false
+			if(info.getAdventDateDate().before(new Date())){
+				notifyStr = "项目【"+ info.getProjectName()+"】纸质归档已超期";
+				titleStr = "项目【"+ info.getProjectName()+"】纸质归档已超期。超期时间:"+info.getAdventDate() +"。";
+			}else{
+				notifyStr = "项目【"+ info.getProjectName()+"】即将纸质归档超期";
+				titleStr = "项目【"+ info.getProjectName()+"】即将纸质归档超期。超期时间:"+info.getAdventDate();
+			}
+			//查询项目的登记人和责任人的id
+			List<User> projectLeaders = dao.getProjectCreateUserAndChargeUser(info.getId());
+			for (User user: projectLeaders) {
+				//根据标题查询通知信息中是否存在未读的信息,有则进行更新并对重复数量进行+1操作
+				WorkProjectNotify byTitleAndUnread = workProjectNotifyService.getByTitleAndUnread(titleStr,user.getId());
+				//计算两日期之间的天数
+				Integer interval = Integer.valueOf(this.getInterval(java.sql.Date.valueOf(info.getAdventDate()), new Date()));
+				if(interval > 0){
+					titleStr = titleStr + "已超期:" + interval + "天。请尽快归档";
+				}
+
+				if(null != byTitleAndUnread){
+					byTitleAndUnread.setExigency("1");
+					byTitleAndUnread.setTitle(titleStr);
+					workProjectNotifyService.updateOverDueInfo(byTitleAndUnread);
+				}else{
+					workProjectNotifyService
+							.save(UtilNotify.saveNotify(info.getId(),
+									user,
+									info.getCompany().getId(),
+									titleStr,
+									notifyStr,
+									"94",
+									"0",
+									"待通知",
+									""));
+				}
+			}
+
+		}
+		//获取项目数据(获取已经超期的项目数据,进行修改超期状态)
+		List<RuralProjectRecords> projectNotReportExamineList = dao.getProjectNotrecordListExamine(projectRecords);
+		List<RuralProjectRecords> projectNotReportList = dao.getProjectNotrecordList(projectRecords);
+		projectNotReportList.addAll(projectNotReportExamineList);
+		List<String> idList = Lists.newArrayList();
+		if(projectNotReportList.size()>0) {
+			for (RuralProjectRecords info : projectNotReportList){
+				idList.add(info.getId());
+			}
+			dao.updateProjectRecordState(idList);
+		}
+	}
+
 	/**
 	 * 计算两日期相差天数
 	 * @param beginDate
@@ -4412,7 +4489,7 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 		}
 		projectRecords.setPage(page);
 		List<RuralProjectRecords> recordsList = dao.selectDepartmentReportPageOverdue(projectRecords,statementCompanyComprehensiveInfo,beginDate,endDate);
-		int count = dao.selectDepartmentReportPageOverdueCount(statementCompanyComprehensiveInfo);
+		int count = dao.selectDepartmentReportPageOverdueCount(projectRecords,statementCompanyComprehensiveInfo);
 		page.setPageNo(oldPageNo);
 		page.setCount(count);
 		page.setCountFlag(false);
@@ -5032,7 +5109,6 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 
 	/**
 	 * A类项目纸质归档签发后40天提醒通知
-	 * B类项目批量归档 质量复核后6个月提醒通知
 	 * @return
 	 */
 	@Transactional(readOnly = false)
@@ -5050,17 +5126,6 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 		//查询A类项目纸质未进行归档的项目信息(签发后40天)
 		List<RuralProjectRecords> paperArchiveProjectReportedList = dao.getPaperArchiveProjectReportedList(projectRecords);
 
-		//计算两日期之间的天数
-		Date newDate = stepMonth(new Date(), -6);
-		Integer interval = Integer.valueOf(this.getInterval(newDate,new Date()));
-
-		//设置开始时间为还有7天开始通知
-		projectRecords.setStartCount(interval-7);
-		projectRecords.setEndingCount(interval);
-		//查询B类项目未进行批量归档的项目(质量复核后6个月)
-		List<RuralProjectRecords> batchArchiveProjectReportedList = dao.getBatchArchiveProjectReportedList(projectRecords);
-
-
 		for (RuralProjectRecords info: paperArchiveProjectReportedList) {
 			String notifyStr = null;
 			String titleStr = null;
@@ -5074,6 +5139,16 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 				titleStr = "项目【"+ info.getProjectName()+"】纸质归档即将超期。超期时间:"+info.getAdventDate();
 			}
 
+			if(info.getAdventDateDate().before(new Date())){
+				//对A类纸质归档数据超期情况进行调整
+				info.setOverRecordStatus(1);
+
+				if("0".equals(info.getPaperFilingStatus())){
+					dao.updateProjectPaperFilingOnOverDue(info.getId(),"6");
+				}else {
+					dao.updateProjectPaperFilingOnOverDue(info.getId(),"");
+				}
+			}
 			//查询项目的登记人和责任人的id
 			List<User> projectLeaders = dao.getProjectCreateUserAndChargeUser(info.getId());
 			for (User user: projectLeaders) {
@@ -5106,6 +5181,29 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 			}
 
 		}
+	}
+
+	/**
+	 * B类项目批量归档
+	 * 质量复核后40天后开始进行计算
+	 * @return
+	 */
+	@Transactional(readOnly = false)
+	public void getBatchArchiveNotify(){
+		RuralProjectRecords projectRecords = new RuralProjectRecords();
+		//查询归档超期时间天数
+		List<MainDictDetail> adventCount = DictUtils.getMainDictListOnProjectAdvent("advent_record_count");
+		if(adventCount.size()>0){
+			//获取超期时间天数转int
+			Integer endingCount = Integer.parseInt(adventCount.get(0).getLabel());
+			//设置开始时间为还有7天开始通知
+			projectRecords.setStartCount(endingCount-7);
+			projectRecords.setEndingCount(endingCount);
+		}
+
+		//查询B类项目未进行批量归档的项目(质量复核后40天)
+		List<RuralProjectRecords> batchArchiveProjectReportedList = dao.getBatchArchiveProjectReportedList(projectRecords);
+
 
 		for (RuralProjectRecords info: batchArchiveProjectReportedList) {
 			String notifyStr = null;
@@ -5120,8 +5218,16 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 				titleStr = "项目【"+ info.getProjectName()+"】批量归档即将超期。超期时间:"+info.getAdventDate();
 			}
 
+			if(info.getAdventDateDate().before(new Date())){
+				//对B类批量归档数据超期情况进行调整
+				if("0".equals(info.getBatchArchiveStatus())){
+					dao.updateProjectBatchArchiveOnOverDue(info.getId(),"6");
+				}else {
+					dao.updateProjectBatchArchiveOnOverDue(info.getId(),"");
+				}
+			}
 			//查询项目的登记人和责任人的id
-			List<User> projectLeaders = dao.getProjectCreateUserAndChargeUser(info.getId());
+			/*List<User> projectLeaders = dao.getProjectCreateUserAndChargeUser(info.getId());
 			for (User user: projectLeaders) {
 				//根据标题查询通知信息中是否存在未读的信息,有则进行更新并对重复数量进行+1操作
 				WorkProjectNotify byTitleAndUnread = workProjectNotifyService.getByTitleAndUnread(titleStr,user.getId());
@@ -5129,7 +5235,7 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 				//计算两日期之间的天数
 				Integer advent = Integer.valueOf(this.getInterval(java.sql.Date.valueOf(info.getAdventDate()), new Date()));
 				if(advent > 0){
-					titleStr = titleStr + "已超期:" + advent + "天。请尽快批量归档";
+					titleStr = titleStr + "已超期:" + advent + "天。请尽快纸质归档";
 				}
 
 				if(null != byTitleAndUnread){
@@ -5149,7 +5255,7 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 				}
 
 
-			}
+			}*/
 
 		}
 	}
@@ -5164,7 +5270,7 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 	}
 
 	/**
-	 * 截至至53天没有审核数据
+	 * 截至至60天没有审核数据(质量符合)
 	 */
 	public void getJudgeAdvanceWeekNotice() {
 		List<RuralProjectRecords> judgeAdvanceWeekNotice = dao.findJudgeAdvanceWeekNotice();
@@ -5180,19 +5286,28 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 				notifyStr = "项目【" + info.getProjectName() + "】即将质量复核超期";
 				titleStr = "项目【" + info.getProjectName() + "】即将质量复核超期。超期时间:" + info.getAdventDate();
 			}
+			//修改质量符合状态(根据项目id)
+			if (Integer.parseInt(info.getAdventDate()) > 60) {
+				if(0 == info.getProjectReportStatus()){
+					dao.updateProjectReportDataOnOverDue(info.getId(),"6");
+				}else {
+					dao.updateProjectReportDataOnOverDue(info.getId(),"");
+				}
+			}
 
 			//查询项目的登记人和责任人的id
 			List<User> projectLeaders = dao.findProjectRegistrantResponsiblePersonList(info.getId());
 			//List<User> projectLeaders = workProjectUserDao.queryProjectUsers(info.getId(), "1");
+				//计算两日期之间的天数
+			int interval = Integer.parseInt(info.getAdventDate()) - 60;
+			if (interval > 0) {
+				titleStr = titleStr + "已超期:" + interval + "天。请尽快质量复核";
+			}
+
 			for (User user : projectLeaders) {
 				//根据标题查询通知信息中是否存在未读的信息,有则进行更新并对重复数量进行+1操作
 				WorkProjectNotify byTitleAndUnread = workProjectNotifyService.getByTitleAndUnread(titleStr, user.getId());
 
-				//计算两日期之间的天数
-				Integer interval = Integer.parseInt(info.getAdventDate()) - 60;
-				if (interval > 0) {
-					titleStr = titleStr + "已超期:" + interval + "天。请尽快质量复核";
-				}
 
 				if (null != byTitleAndUnread) {
 					byTitleAndUnread.setExigency("1");
@@ -5287,4 +5402,15 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 		page.setList(recordsList);
 		return page;
 	}
+
+
+
+	/**
+	 * 根据项目id修改纸质归档状态类型
+	 * @return
+	 */
+	@Transactional(readOnly = false)
+	public void updateProjectPaperFilingOnOverDue(RuralProjectRecords records){
+		dao.updateProjectPaperFilingOnOverDue(records.getId(),records.getPaperFilingStatus());
+	}
 }

+ 49 - 3
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectSignatureOldMessageDisposeController.java

@@ -32,6 +32,7 @@ import freemarker.template.Configuration;
 import freemarker.template.Template;
 import org.activiti.engine.HistoryService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Controller;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -223,6 +224,24 @@ public class RuralProjectSignatureOldMessageDisposeController extends BaseContro
         map.put("msgdate",(l2-l1));
         return map;
     }
+    /**
+     * 季度报表
+     */
+    @RequestMapping(value = "/reportQuarterView")
+    @ResponseBody
+    @Transactional(readOnly = false)
+    public void getStatementCompanyComprehensiveOnQuarter() {
+        final Calendar c = Calendar.getInstance();
+        Integer year = c.get(Calendar.YEAR);
+            //当月最后一天
+            logger.info("-----------公司级—季度报表(开始)------------------");
+            statementCompanyComprehensiveService.disposeStatementCompany(year,1,1);
+            logger.info("------------公司级—季度报表(结束)------------------");
+            logger.info("-----------部门级—季度报表(开始)------------------");
+            statementCompanyComprehensiveService.disposeStatementOffice(year,1,1);
+            logger.info("------------部门级—季度报表(结束)------------------");
+
+    }
 
     /**
      * 报表处理(月报中年报的处理规则测试)
@@ -238,7 +257,7 @@ public class RuralProjectSignatureOldMessageDisposeController extends BaseContro
         System.out.println(c.get(Calendar.DATE));
         System.out.println(c.getActualMaximum(Calendar.DATE));
         long l1 = System.currentTimeMillis();
-        Integer month = c.get(Calendar.MONTH)+1; //第一个月从0开始,所以得到月份+1
+        Integer month = c.get(Calendar.MONTH); //第一个月从0开始,所以得到月份+1
         //当月最后一天
         logger.info("-----------公司级—月度报表(开始)------------------");
         statementCompanyComprehensiveService.disposeStatementCompany(year,2,month);
@@ -270,7 +289,7 @@ public class RuralProjectSignatureOldMessageDisposeController extends BaseContro
     @Transactional(readOnly = false)
     public Map<String,Object> projectReportedListByAdvent(){
         Map<String,Object> map = new HashMap<>();
-        logger.info("-----------项目超期未上报定时任务开始------------------");
+        /*logger.info("-----------项目超期未上报定时任务开始------------------");
         projectRecordsService.saveProjectReportedListByAdvent();
         logger.info("------------项目超期未上报定时任务结束------------------");
         logger.info("-----------项目超期未归档定时任务开始(电子归档)------------------");
@@ -278,7 +297,17 @@ public class RuralProjectSignatureOldMessageDisposeController extends BaseContro
         logger.info("------------项目超期未归档定时任务结束(电子归档)------------------");
         logger.info("------------项目超期未质量符合定时任务开始--------------------");
         projectRecordsService.getJudgeAdvanceWeekNotice();
-        logger.info("------------项目超期未质量符合定时任务结束--------------------");
+        logger.info("------------项目超期未质量符合定时任务结束--------------------");*/
+
+        logger.info("-----------项目超期未归档定时任务开始(A类纸质归档)------------------");
+        //projectRecordsService.saveProjectRecordListByPaperFiling();
+        logger.info("------------项目超期未归档定时任务结束(A类纸质归档)------------------");
+        logger.info("-----------项目纸质归档长期未处理通知(开始)------------------");
+        projectRecordsService.getPaperArchiveNotify();
+        logger.info("-----------项目纸质归档长期未处理通知(结束)------------------");
+        logger.info("-----------项目批量归档长期未处理通知(开始)------------------");
+        //projectRecordsService.getBatchArchiveNotify();
+        logger.info("-----------项目批量归档长期未处理通知(结束)------------------");
         map.put("msg","处理完成");
         return map;
     }
@@ -583,4 +612,21 @@ public class RuralProjectSignatureOldMessageDisposeController extends BaseContro
         return data;
     }
 
+
+    /**
+     * 替换报告号状态
+     * @return
+     */
+    @RequestMapping(value = "/replaceProjectReportStatus")
+    @ResponseBody
+    @Transactional(readOnly = false)
+    public Map<String,Object> replaceProjectReportStatus (@RequestParam("projectReportNumbers") String projectReportNumbers){
+        Map<String,Object> map = new HashMap<>();
+        List reportDataNumberList = Arrays.asList(projectReportNumbers.split(","));
+        //根据报告号调整报告status (均调整为需替换的值)
+        projectReportDataService.replaceProjectReportStatus(reportDataNumberList,"10");
+        map.put("smg","处理完成");
+        return map;
+    }
+
 }

+ 20 - 0
src/main/java/com/jeeplus/modules/statement/controller/StatementCompanyComprehensiveController.java

@@ -128,6 +128,10 @@ public class StatementCompanyComprehensiveController extends BaseController {
         model.addAttribute("field10",statementCompanyComprehensiveInfo.getField10());
         model.addAttribute("field11",statementCompanyComprehensiveInfo.getField11());
         model.addAttribute("field12",statementCompanyComprehensiveInfo.getField12());
+        model.addAttribute("field13",statementCompanyComprehensiveInfo.getField13());
+        model.addAttribute("field14",statementCompanyComprehensiveInfo.getField14());
+        model.addAttribute("field15",statementCompanyComprehensiveInfo.getField15());
+        model.addAttribute("field16",statementCompanyComprehensiveInfo.getField16());
         model.addAttribute("departmentLevel",statementCompanyComprehensiveInfo.getDepartmentLevel());
 
         //这个是我删除的有需要可以补回,但是得注意projectRecords的submitmoney值
@@ -676,6 +680,14 @@ public class StatementCompanyComprehensiveController extends BaseController {
         model.addAttribute("field6",statementCompanyComprehensiveInfo.getField6());
         model.addAttribute("field7",statementCompanyComprehensiveInfo.getField7());
         model.addAttribute("field8",statementCompanyComprehensiveInfo.getField8());
+        model.addAttribute("field9",statementCompanyComprehensiveInfo.getField9());
+        model.addAttribute("field10",statementCompanyComprehensiveInfo.getField10());
+        model.addAttribute("field11",statementCompanyComprehensiveInfo.getField11());
+        model.addAttribute("field12",statementCompanyComprehensiveInfo.getField12());
+        model.addAttribute("field13",statementCompanyComprehensiveInfo.getField13());
+        model.addAttribute("field14",statementCompanyComprehensiveInfo.getField14());
+        model.addAttribute("field15",statementCompanyComprehensiveInfo.getField15());
+        model.addAttribute("field16",statementCompanyComprehensiveInfo.getField16());
 
         //这个是我删除的有需要可以补回,但是得注意projectRecords的submitmoney值
         //进行查询之后进行任何操作,返回还是查询之后的数据页面
@@ -1154,6 +1166,14 @@ public class StatementCompanyComprehensiveController extends BaseController {
             fileName = "新增A类";
         }else if (StringUtils.isNotBlank(grade) && "1".equals(grade)){
             fileName = "新增B类";
+        } else if (StringUtils.isNotBlank(statementCompanyComprehensiveInfo.getField13()) && "5".equals(statementCompanyComprehensiveInfo.getField13())){
+            fileName = "A类纸质超期未归档";
+        } else if (StringUtils.isNotBlank(statementCompanyComprehensiveInfo.getField14()) && "5".equals(statementCompanyComprehensiveInfo.getField14())){
+            fileName = "A类纸质超期已归档";
+        } else if (StringUtils.isNotBlank(statementCompanyComprehensiveInfo.getField15()) && "5".equals(statementCompanyComprehensiveInfo.getField15())){
+            fileName = "B类批量超期未归档";
+        } else if (StringUtils.isNotBlank(statementCompanyComprehensiveInfo.getField16()) && "5".equals(statementCompanyComprehensiveInfo.getField16())){
+            fileName = "B类批量超期已归档";
         }
         fileName += DateUtils.getDate("yyyyMMddHHmmss")+".xlsx";
         //添加查询类型(造价审核)

+ 82 - 0
src/main/java/com/jeeplus/modules/statement/dao/StatementCompanyComprehensiveDao.java

@@ -818,4 +818,86 @@ public interface StatementCompanyComprehensiveDao  extends CrudDao<StatementComp
      * @return
      */
     Integer insertOfficeComprehensiveByYear(StatementCompanyComprehensiveInfo info);
+
+    /**
+     * 公司级查询A类纸质归档超期未归档信息(根据部门分组)
+     * @return
+     */
+    List<ReportDataEntity> getOverPaperFilingProjectIdListAll();
+
+    /**
+     * 公司级查询A类纸质归档超期归档信息(根据部门分组)
+     * @param beginDate
+     * @param endDate
+     * @return
+     */
+    List<ReportDataEntity> getOverPaperFilingProjectListAll(@Param("beginDate")String beginDate, @Param("endDate")String endDate);
+
+    /**
+     * 公司级查询B类批量归档超期未归档信息(根据部门分组)
+     * @return
+     */
+    List<ReportDataEntity> getOverDueBatchArchiveProjectIdListAll();
+
+    /**
+     * 公司级查询B类批量归档超期归档信息(根据部门分组)
+     * @return
+     */
+    List<ReportDataEntity> getOverBatchArchiveProjectIdListAll(@Param("beginDate")String beginDate, @Param("endDate")String endDate);
+
+
+
+    /**
+     * 部门级查询项目未质量符合信息(根据部门分组)
+     * @return
+     */
+    List<ReportDataEntity> getOfficeProjectReportDataList();
+
+    /**
+     * 部门级查询项目超期未质量符合(超60天)信息(根据部门分组)
+     * @return
+     */
+    List<ReportDataEntity> getOfficeOverDueProjectReportDataList();
+
+    /**
+     * 部门级查询A类纸质归档超期未归档信息(根据部门分组)
+     * @return
+     */
+    List<ReportDataEntity> getOfficeOverPaperFilingProjectIdListAll();
+
+    /**
+     * 部门级查询A类纸质归档超期归档信息(根据部门分组)
+     * @param beginDate
+     * @param endDate
+     * @return
+     */
+    List<ReportDataEntity> getOfficeOverPaperFilingProjectListAll(@Param("beginDate")String beginDate, @Param("endDate")String endDate);
+
+    /**
+     * 部门级查询B类批量归档超期未归档信息(根据部门分组)
+     * @return
+     */
+    List<ReportDataEntity> getOfficeOverDueBatchArchiveProjectIdListAll();
+
+    /**
+     * 部门级查询B类批量归档超期归档信息(根据部门分组)
+     * @return
+     */
+    List<ReportDataEntity> getOfficeOverBatchArchiveProjectIdListAll(@Param("beginDate")String beginDate, @Param("endDate")String endDate);
+
+    /**
+     * 公司级查询A类项目纸质归档信息数量(根据部门分组)
+     * @param beginDate
+     * @param endDate
+     * @return
+     */
+    List<ReportDataEntity> getOfficeProjectPaperFilingList(@Param("beginDate")String beginDate, @Param("endDate")String endDate);
+
+    /**
+     * 公司级查询B类项目批量归档信息数量(根据部门分组)
+     * @param beginDate
+     * @param endDate
+     * @return
+     */
+    List<ReportDataEntity> getOfficeProjectFlingBatchRelationList(@Param("beginDate")String beginDate, @Param("endDate")String endDate);
 }

+ 48 - 0
src/main/java/com/jeeplus/modules/statement/entity/StatementCompanyComprehensiveInfo.java

@@ -33,6 +33,10 @@ public class StatementCompanyComprehensiveInfo extends DataEntity<StatementCompa
     private String field10;          //可变字段9(项目:超期已上报(张静))
     private String field11;          //可变字段9(项目:超期已上报(张静))
     private String field12;          //可变字段9(项目:超期已上报(张静))
+    private String field13;          //可变字段13(项目:A类纸质归档 超期未归档)
+    private String field14;          //可变字段14(项目:A类纸质归档 超期归档)
+    private String field15;          //可变字段15(项目:B类批量归档 超期未归档)
+    private String field16;          //可变字段16(项目:B类批量归档 超期归档)
     private String userName;        //用户名称
 
     public String getYear() {
@@ -231,6 +235,50 @@ public class StatementCompanyComprehensiveInfo extends DataEntity<StatementCompa
         this.field12 = field12;
     }
 
+    public String getField13() {
+        if("".equals(field13)||field13==null){
+            return "0";
+        }
+        return field13;
+    }
+
+    public void setField13(String field13) {
+        this.field13 = field13;
+    }
+
+    public String getField14() {
+        if("".equals(field14)||field14==null){
+            return "0";
+        }
+        return field14;
+    }
+
+    public void setField14(String field14) {
+        this.field14 = field14;
+    }
+
+    public String getField15() {
+        if("".equals(field15)||field15==null){
+            return "0";
+        }
+        return field15;
+    }
+
+    public void setField15(String field15) {
+        this.field15 = field15;
+    }
+
+    public String getField16() {
+        if("".equals(field16)||field16==null){
+            return "0";
+        }
+        return field16;
+    }
+
+    public void setField16(String field16) {
+        this.field16 = field16;
+    }
+
     public String getOfficeParentIds() {
         return officeParentIds;
     }

+ 36 - 0
src/main/java/com/jeeplus/modules/statement/entity/StatementDataInfo.java

@@ -22,6 +22,10 @@ public class StatementDataInfo extends DataEntity<StatementDataInfo> {
     private String field4;          //可变字段4(项目:上报(超期上报);张静(超期未质量符合))
     private String field5;          //可变字段5(项目:上报(超期未上报)(张静))
     private String field6;          //可变字段6(项目:上报(超期上报)(张静))
+    private String field7;          //可变字段7(项目:A类纸质归档 超期未归档)
+    private String field8;          //可变字段8(项目:A类纸质归档 超期归档)
+    private String field9;          //可变字段9(项目:B类批量归档 超期未归档)
+    private String field10;          //可变字段10(项目:B类批量归档 超期归档)
     private String userId;          //用户id
     private String officeParentIds; //部门parentIds
 
@@ -137,6 +141,38 @@ public class StatementDataInfo extends DataEntity<StatementDataInfo> {
         this.field6 = field6;
     }
 
+    public String getField7() {
+        return field7;
+    }
+
+    public void setField7(String field7) {
+        this.field7 = field7;
+    }
+
+    public String getField8() {
+        return field8;
+    }
+
+    public void setField8(String field8) {
+        this.field8 = field8;
+    }
+
+    public String getField9() {
+        return field9;
+    }
+
+    public void setField9(String field9) {
+        this.field9 = field9;
+    }
+
+    public String getField10() {
+        return field10;
+    }
+
+    public void setField10(String field10) {
+        this.field10 = field10;
+    }
+
     public String getUserId() {
         return userId;
     }

File diff suppressed because it is too large
+ 1089 - 78
src/main/java/com/jeeplus/modules/statement/service/StatementCompanyComprehensiveService.java


+ 20 - 9
src/main/java/com/jeeplus/modules/workcalendar/service/WorkCalendarTaskService.java

@@ -125,8 +125,8 @@ public class WorkCalendarTaskService  {
         /*logger.info("-----------合同超期未归档定时任务开始------------------");
         workContractRecordService.saveContractRecordListByAdvent();
         logger.info("------------合同超期未归档定时任务结束------------------");*/
-        logger.info("------------项目超期未审核定时任务开始--------------------");
-        //projectRecordsService.getJudgeAdvanceWeekNotice();
+        logger.info("------------项目超期未审核定时任务开始(质量符合)--------------------");
+        projectRecordsService.getJudgeAdvanceWeekNotice();
         logger.info("------------项目超期未审核定时任务结束--------------------");
     }
 
@@ -173,9 +173,9 @@ public class WorkCalendarTaskService  {
             logger.info("-----------部门级—年度报表(月报中年度信息)(开始)------------------");
             statementCompanyComprehensiveService.disposeStatementOfficeByYear(year,0,month);
             logger.info("------------部门级—年度报表(月报中年度信息)(结束)------------------");
-            logger.info("-----------张静—月度报表(开始)------------------");
+            /*logger.info("-----------张静—月度报表(开始)------------------");
             statementCompanyComprehensiveService.disposeReportDataStatementCompany(year,2,month);
-            logger.info("------------张静—月度报表(结束)------------------");
+            logger.info("------------张静—月度报表(结束)------------------");*/
         }
 
     }
@@ -223,16 +223,27 @@ public class WorkCalendarTaskService  {
     }
 
     /**
-     * A类项目纸质归档签发后40天提醒通知
-     * B类项目批量归档 质量复核后6个月提醒通知
+     * A类项目纸质归档质量复核后40天提醒通知
      */
     //设置每日凌晨20分调用通知方法
-    //@Scheduled(cron= "0 20 0 * * ?")
+    @Scheduled(cron= "0 20 0 * * ?")
     @Transactional(readOnly = false)
     public void getPaperArchiveNotify() {
-        logger.info("-----------项目纸质归档和批量归档长期未处理通知(开始)------------------");
+        logger.info("-----------A类项目纸质归档长期未处理通知(开始)------------------");
         projectRecordsService.getPaperArchiveNotify();
-        logger.info("-----------项目纸质归档和批量归档长期未处理通知(结束)------------------");
+        logger.info("-----------A类项目纸质归档长期未处理通知(结束)------------------");
+    }
+
+    /**
+     * B类项目批量归档质量复核后40天提醒通知
+     */
+    //设置每日凌晨30分调用通知方法
+    @Scheduled(cron= "0 30 0 * * ?")
+    @Transactional(readOnly = false)
+    public void getBatchArchiveNotify() {
+        logger.info("-----------B类项目批量归档长期未处理通知(开始)------------------");
+        projectRecordsService.getBatchArchiveNotify();
+        logger.info("-----------B类项目批量归档长期未处理通知(结束)------------------");
     }
 
 }

+ 4 - 4
src/main/java/com/jeeplus/modules/workinvoice/web/WorkInvoiceTwoController.java

@@ -172,8 +172,8 @@ public class WorkInvoiceTwoController extends BaseController {
 		//查询已通过的所有发票的开票金额总和
 		String getSumMoney = workInvoiceService.getSumMoney(workInvoice);
 		List<WorkInvoice> workInvoiceList = page.getList();
-		/*for (WorkInvoice invoice: workInvoiceList) {
-			*//*for (WorkProjectNotify notify: notifyList) {
+		for (WorkInvoice invoice: workInvoiceList) {
+			/*for (WorkProjectNotify notify: notifyList) {
 				if(notify.getNotifyId().equals(invoice.getId())){
 					invoice.setNotifyId(notify.getId());
 					if("待审批".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
@@ -181,7 +181,7 @@ public class WorkInvoiceTwoController extends BaseController {
 					}
 					break;
 				}
-			}*//*
+			}*/
 			invoice.setWorkInvoiceProjectRelationList(workInvoiceService.getProjectRelation(invoice));
 			List<String> projectNameList = workInvoiceService.getProjectNameList(invoice);
 			String projectNameStr = String.join(",", projectNameList);
@@ -199,7 +199,7 @@ public class WorkInvoiceTwoController extends BaseController {
 			}
 			String reportNumberStr = String.join(",", reportNumber);
 			invoice.setReportNumber(reportNumberStr);
-		}*/
+		}
 		model.addAttribute("page", page);
 		model.addAttribute("sumMoney", getSumMoney);
 		model.addAttribute("workInvoiceShow", workInvoice);

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

@@ -6340,8 +6340,8 @@ public class WorkProjectNotifyController extends BaseController {
 					}
 
 					long l1 = System.currentTimeMillis();
-					//ProjectReportData projectReportData = projectReportDataService.getOnRural(projectReportRecord.getReport().getId());
-					ProjectReportData projectReportData = projectReportRecord.getReport();
+					ProjectReportData projectReportData = projectReportDataService.getProjectReportDataOnRural(projectReportRecord.getReport().getId());
+					//ProjectReportData projectReportData = projectReportRecord.getReport();
 					projectReportRecord.setProjectReportData(projectReportData);
 					//projectReportRecord.setReport(projectReportData);
 					Projectcontentinfo projectcontentinfo = projectcontentinfoService.getByInfoId(projectReportData.getId());

+ 2 - 2
src/main/resources/mappings/modules/projectcontentinfo/ProjectMaterialChooseDao.xml

@@ -136,7 +136,7 @@
         ,a.submit_money as "submitMoney"
         ,a.engineering_type as "engineeringType"
         ,supmi.name as "projectMasterName",
-		pmdr.reminder_count as "reminderCount",
+		ifnull(pmdr.reminder_count,0) as "reminderCount",
 		pmdr.approval_time as "approvalTime",
 		pmdr.remind_time as "remindTime",
 		pmdr.id as "pmdrId",
@@ -150,6 +150,6 @@
         LEFT JOIN rural_project_report_record prr on prd.id = prr.report_id
         LEFT JOIN sys_office o ON o.id = a.office_id
         LEFT JOIN project_material_defect_record pmdr on prd.id = pmdr.report_id
-        WHERE pmdr.`status` = '5' and pmdr.hiatus = '0'
+        WHERE pmdr.`status` = '5' and pmdr.hiatus = '0' and pmdr.del_flag = 0 and a.del_flag = 0 and a.status = 5 and prr.status !=5 and (prr.status is null or (prr.status != 5 and prr.status != 7))
     </select>
 </mapper>

+ 7 - 0
src/main/resources/mappings/modules/projectcontentinfo/ProjectReportDataDao.xml

@@ -25,6 +25,7 @@
 		a.file_status AS "fileStatus",
 		a.down_file_status AS "downFileStatus",
 		a.status AS "status",
+		a.over_report_status AS "overReportStatus",
 		a.invalid_status AS "invalidStatus",
 		a.report_type AS "reportType",
 		a.process_instance_id AS "processInstanceId",
@@ -1273,4 +1274,10 @@
 			and a.signature_url_flag  = 0
 		</where>
 	</select>
+
+	<update id="replaceProjectReportStatus">
+		UPDATE project_report_data SET
+		status = #{status}
+		WHERE `number` = #{number}
+	</update>
 </mapper>

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

@@ -793,9 +793,10 @@
 			,a.bzshb_user_id as "bzshbUserId"
 		FROM
 			rural_project_records r
-				LEFT JOIN project_report_data_two a on a.project_id=r.id
+				LEFT JOIN project_report_data_two a on a.project_id=r.id and a.del_flag = 0
 		where
 			r.id=#{projectId}
+
 	</select>
 	<update id="updateProjectBzshUserId">
 		UPDATE project_report_data_two SET

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

@@ -534,7 +534,7 @@ END) as projectScale*/
                 AND su.name like concat(concat('%',#{leaderNameStr}),'%') AND w.is_master = '1' AND w.del_flag='0'
             </if>-->
 			<if test="(leaderNameStr != null and leaderNameStr != '') or (leaderId != null and leaderId != '')">
-				AND ((w.user_id = #{leaderId}) or su.name like concat('%',#{leaderNameStr},'%')) AND w.is_master = '1' AND w.del_flag='0'
+				AND ((w1.user_id = #{leaderId}) or su.name like concat('%',#{leaderNameStr},'%')) AND w1.is_master = '1' AND w1.del_flag='0'
 			</if>
 			<if test="projectStatus !=null">
 				AND a.status = #{projectStatus}
@@ -810,11 +810,13 @@ END) as projectScale*/
 		,ifnull(pmdr.status,0) as "defectRecordStatus"
 		,pmdr.process_instance_id as "pmdrProcessInstanceId"
 		,pmdr.id as pmdrId
-		,ifnull(ppf.status,0) as "paperFilingStatus"
+
+		,(case when a.submit_money = '1' then ifnull(pfp.status,0) when a.submit_money = '2' then ifnull(ppf.status,0) else '' end) as paperFilingStatus
+		/*,ifnull(ppf.status,0) as "paperFilingStatus"*/
 		,ppf.process_instance_id as "ppfProcessInstanceId"
 		,ppf.id as "ppfId"
 		,pfb.process_instance_id AS "filingProcessinstanceId"
-		,ifnull(pfp.status,0) as "filingProjectStatus"
+		/*,ifnull(pfp.status,0) as "filingProjectStatus"*/
 		,prd.audit_pass_date as "prdAuditDate"
 		,prd.ZiXunShouRu as "money"
 		,cb.case_process_id as "caseProcessId"
@@ -896,7 +898,7 @@ END) as projectScale*/
                 AND su.name like concat(concat('%',#{leaderNameStr}),'%') AND w.is_master = '1' AND w.del_flag='0'
             </if>-->
 			<if test="(leaderNameStr != null and leaderNameStr != '') or (leaderId != null and leaderId != '')">
-				AND ((w.user_id = #{leaderId}) or su.name like concat('%',#{leaderNameStr},'%')) AND w.is_master = '1' AND w.del_flag='0'
+				AND ((w1.user_id = #{leaderId}) or su.name like concat('%',#{leaderNameStr},'%')) AND w1.is_master = '1' AND w1.del_flag='0'
 			</if>
 			<if test="projectStatus !=null">
 				AND a.status = #{projectStatus}
@@ -1194,7 +1196,7 @@ END) as projectScale*/
                 AND su.name like concat(concat('%',#{leaderNameStr}),'%') AND w.is_master = '1' AND w.del_flag='0'
             </if>-->
 			<if test="(leaderNameStr != null and leaderNameStr != '') or (leaderId != null and leaderId != '')">
-				AND ((w.user_id = #{leaderId}) or su.name like concat('%',#{leaderNameStr},'%')) AND w.is_master = '1' AND w.del_flag='0'
+				AND ((w1.user_id = #{leaderId}) or su.name like concat('%',#{leaderNameStr},'%')) AND w1.is_master = '1' AND w1.del_flag='0'
 			</if>
 			<if test="projectStatus !=null">
 				AND a.status = #{projectStatus}

+ 102 - 13
src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectMessageDao.xml

@@ -286,6 +286,7 @@
 		<include refid="projectReportDataColumnsTwo"/>
 		from project_report_data_two a
 		where a.project_id = #{projectId}
+		and a.del_flag = 0
 	</select>
 
 	<select id="getRuralProjectReportData" resultType="ProjectReportData">
@@ -442,16 +443,20 @@
 		,ifnull(pmdr.status,0) as "defectRecordStatus"
 		,pmdr.process_instance_id as "pmdrProcessInstanceId"
 		,pmdr.id as pmdrId
-		,ifnull(ppf.status,0) as "paperFilingStatus"
+		/*,ifnull(ppf.status,0) as "paperFilingStatus"*/
+		,(case when a.paper_filing_status = '10' then 10 when a.paper_filing_status = '6' then '6' when a.paper_filing_status = '7' then '7' else ifnull(ppf.status,0) end) as "paperFilingStatus"
 		,ppf.process_instance_id as "ppfProcessInstanceId"
 		,ppf.id as "ppfId"
 		,pfb.process_instance_id AS "filingProcessinstanceId"
-		,ifnull(pfp.status,0) as "filingProjectStatus"
+		/*,ifnull(pfp.status,0) as "filingProjectStatus"*/
+		,(case when a.paper_filing_status = '10' then 10 when a.paper_filing_status = '6' then '6' when a.paper_filing_status = '7' then '7' else ifnull(pfp.status,0) end) as "filingProjectStatus"
 		,prd.audit_pass_date as "prdAuditDate"
 		,cb.case_process_id as "caseProcessId"
 		,cb.case_type as "caseType"
 		,cb.case_create_by as "caseCreateBy"
 		,if(case_status > 0 ,case_status,"0") as "caseStatus"
+		,a.paper_filing_status as "apaperFilingStatus"
+		,a.over_paper_filing_status as "overPaperFilingStatus"
 		FROM rural_project_records a
 		LEFT JOIN sys_area area ON area.id = a.area_id
 		left join rural_project_records_reported rprr on rprr.id = a.id
@@ -474,7 +479,7 @@
 		LEFT JOIN work_client_info wct on wci.client_id = wct.id
         LEFT JOIN sys_office o ON o.id = a.office_id
 		left join project_report_data prd on prd.project_id = a.id
-		left join project_report_data_two prdt on prdt.project_id = a.id
+		left join project_report_data_two prdt on prdt.project_id = a.id and prdt.del_flag = 0
 		left join rural_project_report_record prr on prr.report_id = prd.id
 		LEFT JOIN project_material_defect_record pmdr on prd.id = pmdr.report_id
 		left join project_paper_filing ppf on ppf.project_id = a.id
@@ -574,10 +579,24 @@
 						<choose>
 							<when test="submitMoney !=null and submitMoney !=''">
 								<if test="submitMoney == 1">
-									and pfp.status = #{downProjectReportRecordStatus}
+									<choose>
+										<when test="downProjectReportRecordStatus == 10">
+											and a.paper_filing_status = #{downProjectReportRecordStatus}
+										</when>
+										<otherwise>
+											and pfp.status = #{downProjectReportRecordStatus}
+										</otherwise>
+									</choose>
 								</if>
 								<if test="submitMoney == 2">
-									and ppf.status = #{downProjectReportRecordStatus}
+									<choose>
+										<when test="downProjectReportRecordStatus == 10 or downProjectReportRecordStatus == 6">
+											and a.paper_filing_status = #{downProjectReportRecordStatus}
+										</when>
+										<otherwise>
+											and ppf.status = #{downProjectReportRecordStatus}
+										</otherwise>
+									</choose>
 								</if>
 							</when>
 						</choose>
@@ -698,14 +717,35 @@
 						<choose>
 							<when test="submitMoney !=null and submitMoney !=''">
 								<if test="submitMoney == 1">
-									AND( temporarydb.downProjectReportRecordPaperFilingStatus like concat(#{downProjectReportRecordStatus},'%'))
+									<choose>
+										<when test="downProjectReportRecordStatus == 10">
+											and temporarydb.apaperFilingStatus = #{downProjectReportRecordStatus}
+										</when>
+										<otherwise>
+											and (temporarydb.downProjectReportRecordPaperFilingStatus like concat(#{downProjectReportRecordStatus},'%'))
+										</otherwise>
+									</choose>
 								</if>
 								<if test="submitMoney == 2">
-									AND( temporarydb.downProjectReportRecordPaperFilingStatus like concat('%',#{downProjectReportRecordStatus}))
+									<choose>
+										<when test="downProjectReportRecordStatus == 10 or downProjectReportRecordStatus == 6">
+											and temporarydb.apaperFilingStatus = #{downProjectReportRecordStatus}
+										</when>
+										<otherwise>
+											and ( temporarydb.downProjectReportRecordPaperFilingStatus like concat('%',#{downProjectReportRecordStatus}))
+										</otherwise>
+									</choose>
 								</if>
 							</when>
 							<otherwise>
-								AND( temporarydb.downProjectReportRecordPaperFilingStatus like concat('%',#{downProjectReportRecordStatus},'%'))
+								<choose>
+									<when test="downProjectReportRecordStatus == 10 or downProjectReportRecordStatus == 6 or downProjectReportRecordStatus == 7">
+										and temporarydb.apaperFilingStatus = #{downProjectReportRecordStatus}
+									</when>
+									<otherwise>
+										AND( temporarydb.downProjectReportRecordPaperFilingStatus like concat('%',#{downProjectReportRecordStatus},'%'))
+									</otherwise>
+								</choose>
 							</otherwise>
 						</choose>
 
@@ -719,6 +759,20 @@
 		select count( id) from (
         SELECT  (a.id) as id
 		,concat(ifnull( pfp.STATUS, 0 ),ifnull( ppf.STATUS, 0 )) as "downProjectReportRecordPaperFilingStatus"
+		/*,ifnull(ppf.status,0) as "paperFilingStatus"*/
+		,(case when a.paper_filing_status = '10' then 10 when a.paper_filing_status = '6' then '6' when a.paper_filing_status = '7' then '7' else ifnull(ppf.status,0) end) as "paperFilingStatus"
+		,ppf.process_instance_id as "ppfProcessInstanceId"
+		,ppf.id as "ppfId"
+		,pfb.process_instance_id AS "filingProcessinstanceId"
+		/*,ifnull(pfp.status,0) as "filingProjectStatus"*/
+		,(case when a.paper_filing_status = '10' then 10 when a.paper_filing_status = '6' then '6' when a.paper_filing_status = '7' then '7' else ifnull(pfp.status,0) end) as "filingProjectStatus"
+		,prd.audit_pass_date as "prdAuditDate"
+		,cb.case_process_id as "caseProcessId"
+		,cb.case_type as "caseType"
+		,cb.case_create_by as "caseCreateBy"
+		,if(case_status > 0 ,case_status,"0") as "caseStatus"
+		,a.paper_filing_status as "apaperFilingStatus"
+		,a.over_paper_filing_status as "overPaperFilingStatus"
 		FROM rural_project_records a
 		LEFT JOIN sys_area area ON area.id = a.area_id
 		left join rural_project_records_reported rprr on rprr.id = a.id
@@ -842,10 +896,24 @@
 						<choose>
 							<when test="submitMoney !=null and submitMoney !=''">
 								<if test="submitMoney == 1">
-									and pfp.status = #{downProjectReportRecordStatus}
+									<choose>
+										<when test="downProjectReportRecordStatus == 10">
+											and a.paper_filing_status = #{downProjectReportRecordStatus}
+										</when>
+										<otherwise>
+											and pfp.status = #{downProjectReportRecordStatus}
+										</otherwise>
+									</choose>
 								</if>
 								<if test="submitMoney == 2">
-									and ppf.status = #{downProjectReportRecordStatus}
+									<choose>
+										<when test="downProjectReportRecordStatus == 10 or downProjectReportRecordStatus == 6">
+											and a.paper_filing_status = #{downProjectReportRecordStatus}
+										</when>
+										<otherwise>
+											and ppf.status = #{downProjectReportRecordStatus}
+										</otherwise>
+									</choose>
 								</if>
 							</when>
 						</choose>
@@ -951,14 +1019,35 @@
 						<choose>
 							<when test="submitMoney !=null and submitMoney !=''">
 								<if test="submitMoney == 1">
-									AND( temporarydb.downProjectReportRecordPaperFilingStatus like concat(#{downProjectReportRecordStatus},'%'))
+									<choose>
+										<when test="downProjectReportRecordStatus == 10">
+											and temporarydb.apaperFilingStatus = #{downProjectReportRecordStatus}
+										</when>
+										<otherwise>
+											and (temporarydb.downProjectReportRecordPaperFilingStatus like concat(#{downProjectReportRecordStatus},'%'))
+										</otherwise>
+									</choose>
 								</if>
 								<if test="submitMoney == 2">
-									AND( temporarydb.downProjectReportRecordPaperFilingStatus like concat('%',#{downProjectReportRecordStatus}))
+									<choose>
+										<when test="downProjectReportRecordStatus == 10 or downProjectReportRecordStatus == 6">
+											and temporarydb.apaperFilingStatus = #{downProjectReportRecordStatus}
+										</when>
+										<otherwise>
+											and ( temporarydb.downProjectReportRecordPaperFilingStatus like concat('%',#{downProjectReportRecordStatus}))
+										</otherwise>
+									</choose>
 								</if>
 							</when>
 							<otherwise>
-								AND( temporarydb.downProjectReportRecordPaperFilingStatus like concat('%',#{downProjectReportRecordStatus},'%'))
+								<choose>
+									<when test="downProjectReportRecordStatus == 10 or downProjectReportRecordStatus == 6 or downProjectReportRecordStatus == 7">
+										and temporarydb.apaperFilingStatus = #{downProjectReportRecordStatus}
+									</when>
+									<otherwise>
+										AND( temporarydb.downProjectReportRecordPaperFilingStatus like concat('%',#{downProjectReportRecordStatus},'%'))
+									</otherwise>
+								</choose>
 							</otherwise>
 						</choose>
 

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

@@ -71,7 +71,10 @@
 		a.quality_signature_file_name as "qualitySignatureFileName",
 		a.quality_signature_upload_file_user as "qualitySignatureUploadFileUser.id",
 		a.quality_signature_upload_date as "qualitySignatureUploadDate",
-		a.belonging_department as "belongingDepartment"
+		a.belonging_department as "belongingDepartment",
+		a.paper_filing_status as "paperFilingStatus",
+		ifnull(a.over_paper_filing_status,0) as "overPaperFilingStatus",
+		ifnull(a.over_batch_archive_status,0) as "overBatchArchiveStatus"
 	</sql>
 
 	<sql id="projectRecordsColumnss">
@@ -433,7 +436,6 @@
 		LEFT JOIN project_material_defect_record pmdr on prd.id = pmdr.report_id
 		left join project_paper_filing ppf on ppf.project_id = a.id
 		<where>
-			a.status = 5
 			<if test="projectId != null and projectId != ''">
 				AND a.project_id like concat('%',#{projectId},'%')
 			</if>
@@ -641,8 +643,9 @@
 					</if>
 				</otherwise>
 			</choose>
-
-			AND  a.status != 7 AND a.del_flag = #{DEL_FLAG_NORMAL}
+			<if test="projectStatus !=null">
+				AND a.status = #{projectStatus}
+			</if>
 			<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>
@@ -942,7 +945,6 @@
 		LEFT JOIN project_material_defect_record pmdr on prd.id = pmdr.report_id
 		left join project_paper_filing ppf on ppf.project_id = a.id
 		<where>
-			a.status = 5
 			<if test="projectId != null and projectId != ''">
 				AND a.project_id like concat('%',#{projectId},'%')
 			</if>
@@ -1150,7 +1152,9 @@
 			<if test="projectType !=null and projectType !=''">
 				and project_type= #{projectType}
 			</if>
-			AND  a.status != 7 AND a.del_flag = #{DEL_FLAG_NORMAL}
+			<if test="projectStatus !=null">
+				AND a.status = #{projectStatus}
+			</if>
 			<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>
@@ -1360,7 +1364,8 @@
 			submit_scale,
 			emergency_project,
 			reported_state,
-			belonging_department
+			belonging_department,
+			paper_filing_status
 		) VALUES (
 			#{id},
 			#{createBy.id},
@@ -1413,7 +1418,8 @@
 		    #{submitScale},
 		    #{emergencyProject},
 		    #{reportedState},
-		    #{belongingDepartment}
+		    #{belongingDepartment},
+		    #{paperFilingStatus}
 		)
 	</insert>
 
@@ -1462,6 +1468,9 @@
 			<if test="projectMasterId != null and projectMasterId != ''">
 				,project_master_id = #{projectMasterId}
 			</if>
+			<if test="paperFilingStatus != null and paperFilingStatus != ''">
+				,paper_filing_status = #{paperFilingStatus}
+			</if>
 			,submit_money =#{submitMoney},
 			engineering_type =#{engineeringType},
 			project_properties =#{projectProperties},
@@ -2451,6 +2460,7 @@
 			/*判定是否紧急项目【紧急项目 质量复核状态为5】【非紧急项目 签发状态为5】*/
 			IF( a.emergency_project = 0 or a.emergency_project is null , prdt.`status` = 5, prd.`status` = 5 )
 			and a.submit_money = 1
+			AND (a.paper_filing_status != 10 or a.paper_filing_status is null)
 			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) )
@@ -2490,6 +2500,7 @@
 			<if test="projectName != null and projectName != ''">
 				AND a.project_name like concat(concat('%',#{projectName}),'%')
 			</if>
+			AND (a.paper_filing_status != 10 or a.paper_filing_status is null)
 			and a.submit_money = 1
 			and a.del_flag = 0 and a.project_type in (1,2)
 			/*不捞取已经发起审批并审批状态为2、3、5的项目信息*/
@@ -3279,6 +3290,20 @@
 			LEFT JOIN rural_project_records a ON sdi.field6 = a.id
 		</if>
 
+		<if test="statementCompanyComprehensiveInfo.field13 == '5'.toString() ">
+			LEFT JOIN rural_project_records a ON sdi.field7 = a.id
+		</if>
+		<if test="statementCompanyComprehensiveInfo.field14 == '5'.toString() ">
+			LEFT JOIN rural_project_records a ON sdi.field8 = a.id
+		</if>
+
+		<if test="statementCompanyComprehensiveInfo.field15 == '5'.toString() ">
+			LEFT JOIN rural_project_records a ON sdi.field9 = a.id
+		</if>
+		<if test="statementCompanyComprehensiveInfo.field16 == '5'.toString() ">
+			LEFT JOIN rural_project_records a ON sdi.field10 = a.id
+		</if>
+
 		LEFT JOIN sys_area area ON area.id = a.area_id
 		left join rural_project_records_reported rprr on rprr.id = a.id
 		LEFT JOIN project_flingbatch_relation pfp on pfp.project_id=a.id
@@ -3474,6 +3499,18 @@
 		<if test="statementCompanyComprehensiveInfo.field12 == '5'.toString() ">
 			LEFT JOIN rural_project_records a ON sdi.field6 = a.id
 		</if>
+		<if test="statementCompanyComprehensiveInfo.field13 == '5'.toString() ">
+			LEFT JOIN rural_project_records a ON sdi.field7 = a.id
+		</if>
+		<if test="statementCompanyComprehensiveInfo.field14 == '5'.toString() ">
+			LEFT JOIN rural_project_records a ON sdi.field8 = a.id
+		</if>
+		<if test="statementCompanyComprehensiveInfo.field15 == '5'.toString() ">
+			LEFT JOIN rural_project_records a ON sdi.field9 = a.id
+		</if>
+		<if test="statementCompanyComprehensiveInfo.field16 == '5'.toString() ">
+			LEFT JOIN rural_project_records a ON sdi.field10 = a.id
+		</if>
 		LEFT JOIN sys_area area ON area.id = a.area_id
 		left join rural_project_records_reported rprr on rprr.id = a.id
 		LEFT JOIN project_flingbatch_relation pfp on pfp.project_id=a.id
@@ -4095,6 +4132,25 @@
 			LEFT JOIN rural_project_records a ON sodi.field4 = a.id
 		</if>
 
+		<if test="statementCompanyComprehensiveInfo.field11 == '5'.toString() ">
+			LEFT JOIN rural_project_records a ON sodi.field5 = a.id
+		</if>
+		<if test="statementCompanyComprehensiveInfo.field12 == '5'.toString() ">
+			LEFT JOIN rural_project_records a ON sodi.field6 = a.id
+		</if>
+		<if test="statementCompanyComprehensiveInfo.field13 == '5'.toString() ">
+			LEFT JOIN rural_project_records a ON sodi.field7 = a.id
+		</if>
+		<if test="statementCompanyComprehensiveInfo.field14 == '5'.toString() ">
+			LEFT JOIN rural_project_records a ON sodi.field8 = a.id
+		</if>
+		<if test="statementCompanyComprehensiveInfo.field15 == '5'.toString() ">
+			LEFT JOIN rural_project_records a ON sodi.field9 = a.id
+		</if>
+		<if test="statementCompanyComprehensiveInfo.field16 == '5'.toString() ">
+			LEFT JOIN rural_project_records a ON sodi.field10 = a.id
+		</if>
+
 		LEFT JOIN sys_area area ON area.id = a.area_id
 		left join rural_project_records_reported rprr on rprr.id = a.id
 		LEFT JOIN project_flingbatch_relation pfp on pfp.project_id=a.id
@@ -4263,32 +4319,212 @@
 		limit ${ruralProjectRecords.page.pageNo},${ruralProjectRecords.page.pageSize}
 	</select>
 
+
+
 	<select id="selectDepartmentReportPageOverdueCount" resultType="integer">
 		select
-		count(DISTINCT id)
-		from statement_office_data_info
+		count(DISTINCT a.id)
+		from statement_office_data_info sdi
+		<if test="statementCompanyComprehensiveInfo.field5 == '5'.toString() ">
+			LEFT JOIN rural_project_records a ON sdi.field1 = a.id
+		</if>
+		<if test="statementCompanyComprehensiveInfo.field6 == '5'.toString() ">
+			LEFT JOIN rural_project_records a ON sdi.field2 = a.id
+		</if>
+		<if test="statementCompanyComprehensiveInfo.field7 == '5'.toString() ">
+			LEFT JOIN rural_project_records a ON sdi.field3 = a.id
+		</if>
+		<if test="statementCompanyComprehensiveInfo.field8 == '5'.toString() ">
+			LEFT JOIN rural_project_records a ON sdi.field4 = a.id
+		</if>
+
+		<if test="statementCompanyComprehensiveInfo.field11 == '5'.toString() ">
+			LEFT JOIN rural_project_records a ON sdi.field5 = a.id
+		</if>
+		<if test="statementCompanyComprehensiveInfo.field12 == '5'.toString() ">
+			LEFT JOIN rural_project_records a ON sdi.field6 = a.id
+		</if>
+		<if test="statementCompanyComprehensiveInfo.field13 == '5'.toString() ">
+			LEFT JOIN rural_project_records a ON sdi.field7 = a.id
+		</if>
+		<if test="statementCompanyComprehensiveInfo.field14 == '5'.toString() ">
+			LEFT JOIN rural_project_records a ON sdi.field8 = a.id
+		</if>
+		<if test="statementCompanyComprehensiveInfo.field15 == '5'.toString() ">
+			LEFT JOIN rural_project_records a ON sdi.field9 = a.id
+		</if>
+		<if test="statementCompanyComprehensiveInfo.field16 == '5'.toString() ">
+			LEFT JOIN rural_project_records a ON sdi.field10 = a.id
+		</if>
+		LEFT JOIN sys_area area ON area.id = a.area_id
+		left join rural_project_records_reported rprr on rprr.id = a.id
+		LEFT JOIN project_flingbatch_relation pfp on pfp.project_id=a.id
+		LEFT JOIN project_filingbatch pfb on pfb.id=pfp.filing_batch
+		LEFT JOIN sys_user sua on a.create_by = sua.id
+		<if test="ruralProjectRecords.leaderNameStr !=null and ruralProjectRecords.leaderNameStr !=''">
+			LEFT JOIN work_project_user w on a.id = w.project_id
+			LEFT JOIN sys_user su on w.user_id = su.id
+		</if>
+		LEFT JOIN sys_user sub on a.project_master_id = sub.id
+		LEFT JOIN sys_office sob ON sob.id = sub.office_id
+		LEFT JOIN work_project_user w1 on a.id = w1.project_id
+		LEFT JOIN work_contract_info wci on a.contract_id = wci.id
+		LEFT JOIN work_client_info wct on wci.client_id = wct.id
+		LEFT JOIN sys_office o ON o.id = a.office_id
+		left join project_report_data prd on prd.project_id = a.id
+		left join project_report_data_two prdt on prdt.project_id = a.id
+		left join rural_project_report_record prr on prr.report_id = prd.id
+		LEFT JOIN project_material_defect_record pmdr on prd.id = pmdr.report_id
+		left join rural_project_report_record_down prrd on prrd.report_id = prd.id
+		left join project_paper_filing ppf on ppf.project_id = a.id
+		left join project_approval_signature pas on pas.project_id = a.id
+		left join project_report_signature prs on prs.project_id = a.id
+		left join project_report_signature_info prsi on prsi.project_report_id = prd.number
 		<where>
-			year = #{year}
-			and type = #{type}
-			and big_date_type = #{bigDateType}
-			and small_date_type = #{smallDateType}
-			and office_id = #{officeId}
-			and user_id = #{userId}
-			<if test="field5 == '5'.toString() ">
-				and field1 IS NOT NULL and field1 != ''
+			a.status = 5
+			and a.del_flag = 0
+			and sdi.small_date_type = #{statementCompanyComprehensiveInfo.smallDateType}
+			and sdi.office_id = #{statementCompanyComprehensiveInfo.officeId}
+			and sdi.user_id = #{statementCompanyComprehensiveInfo.userId}
+			and sdi.year = #{statementCompanyComprehensiveInfo.year}
+			and sdi.type = #{statementCompanyComprehensiveInfo.type}
+			and sdi.big_date_type = #{statementCompanyComprehensiveInfo.bigDateType}
+			<if test="statementCompanyComprehensiveInfo.departmentLevel != null and statementCompanyComprehensiveInfo.departmentLevel !='' and statementCompanyComprehensiveInfo.departmentLevel != 'company'">
+				and sdi.small_date_type = #{statementCompanyComprehensiveInfo.smallDateType}
 			</if>
-			<if test="field6 == '5'.toString() ">
-				and field2 IS NOT NULL and field2 != ''
+			and sdi.office_id = #{statementCompanyComprehensiveInfo.officeId}
+			<if test="statementCompanyComprehensiveInfo.field5 == '5'.toString() ">
+				and a.record_state != 7
+				and pmdr.id is null
+				and a.over_record_status = 1
+				and a.office_id in(select id  from sys_office where id = #{statementCompanyComprehensiveInfo.officeId} or parent_ids like concat('%',#{statementCompanyComprehensiveInfo.officeId},'%'))
 			</if>
-			<if test="field7 == '5'.toString() ">
-				and field3 IS NOT NULL and field3 != ''
+			<if test="statementCompanyComprehensiveInfo.field6 == '5'.toString() ">
+				and a.record_state = 7
+				and pmdr.id is null
+				and a.over_record_status = 1
+				and a.office_id in(select id  from sys_office where id = #{statementCompanyComprehensiveInfo.officeId} or parent_ids like concat('%',#{statementCompanyComprehensiveInfo.officeId},'%'))
+				and prr.status = 7
+				and prr.del_flag = 0
+				and prr.accomplish_date >= #{beginDate}
+				and prr.accomplish_date &lt;= #{endDate}
 			</if>
-			<if test="field8 == '5'.toString() ">
-				and field4 IS NOT NULL and field4 != ''
+			<if test="statementCompanyComprehensiveInfo.field7 == '5'.toString() ">
+				and a.over_due_status = 1
+				and a.office_id in(select id  from sys_office where id = #{statementCompanyComprehensiveInfo.officeId} or parent_ids like concat('%',#{statementCompanyComprehensiveInfo.officeId},'%'))
+			</if>
+			<if test="statementCompanyComprehensiveInfo.field8 == '5'.toString() ">
+				and a.reported_state = 7
+				and a.over_due_status = 1
+				and a.office_id in(select id  from sys_office where id = #{statementCompanyComprehensiveInfo.officeId} or parent_ids like concat('%',#{statementCompanyComprehensiveInfo.officeId},'%'))
+				and rprr.report_status = 5
+				and rprr.del_flag = 0
+				and rprr.accomplish_date >= #{beginDate}
+				and rprr.accomplish_date &lt;= #{endDate}
+			</if>
+
+			<if test="ruralProjectRecords.projectId != null and ruralProjectRecords.projectId != ''">
+				AND a.project_id like concat('%',#{ruralProjectRecords.projectId},'%')
+			</if>
+			<if test="ruralProjectRecords.projectName != null and ruralProjectRecords.projectName != ''">
+				AND a.project_name like concat(concat('%',#{ruralProjectRecords.projectName}),'%')
+			</if>
+			<if test="ruralProjectRecords.scaleType != null and ruralProjectRecords.scaleType != ''">
+				AND a.scale_type = #{ruralProjectRecords.scaleType}
+			</if>
+			<if test="ruralProjectRecords.scaleUnit != null and ruralProjectRecords.scaleUnit != ''">
+				AND a.scale_unit = #{ruralProjectRecords.scaleUnit}
+			</if>
+			<if test="ruralProjectRecords.scaleQuantity != null and ruralProjectRecords.scaleQuantity != ''">
+				AND a.scale_quantity = #{ruralProjectRecords.scaleQuantity}
+			</if>
+			<if test="ruralProjectRecords.projectSite != null and ruralProjectRecords.projectSite != ''">
+				AND a.project_site LIKE concat('%',#{ruralProjectRecords.projectSite},'%')
+			</if>
+			<if test="ruralProjectRecords.remarks != null and ruralProjectRecords.remarks != ''">
+				AND a.remarks LIKE concat('%',#{ruralProjectRecords.remarks},'%')
+			</if>
+			<if test="ruralProjectRecords.projectDesc != null and ruralProjectRecords.projectDesc != ''">
+				AND a.project_desc LIKE concat('%',#{ruralProjectRecords.projectDesc},'%')
+			</if>
+			<if test="ruralProjectRecords.area != null and ruralProjectRecords.area.id != null and ruralProjectRecords.area.id != ''">
+				AND a.area_id = #{ruralProjectRecords.area.id}
+			</if>
+			<if test="ruralProjectRecords.workContractInfo !=null and ruralProjectRecords.workContractInfo.name !=null and ruralProjectRecords.workContractInfo.name !=''">
+				AND wci.name like concat(concat('%',#{ruralProjectRecords.workContractInfo.name}),'%')
+			</if>
+			<if test="ruralProjectRecords.workContractInfo !=null and ruralProjectRecords.workContractInfo.contractNum !=null and ruralProjectRecords.workContractInfo.contractNum !=''">
+				AND wci.contract_num like concat(concat('%',#{ruralProjectRecords.workContractInfo.contractNum}),'%')
+			</if>
+			<if test="ruralProjectRecords.workContractInfo !=null and ruralProjectRecords.workContractInfo.contractPrice !=null and ruralProjectRecords.workContractInfo.contractPrice !=''">
+				AND wci.contract_price = #{ruralProjectRecords.workContractInfo.contractPrice}
+			</if>
+			<if test="ruralProjectRecords.workContractInfo !=null and ruralProjectRecords.workContractInfo.contractType !=null and ruralProjectRecords.workContractInfo.contractType !=''">
+				AND wci.contract_type = #{ruralProjectRecords.workContractInfo.contractType}
+			</if>
+			<if test="ruralProjectRecords.workContractInfo!=null and ruralProjectRecords.workContractInfo.client !=null and ruralProjectRecords.workContractInfo.client.name !=null and ruralProjectRecords.workContractInfo.client.name !=''">
+				AND wct.name like concat(concat('%',#{ruralProjectRecords.workContractInfo.client.name}),'%')
+			</if>
+			<if test="ruralProjectRecords.leaderNameStr !=null and ruralProjectRecords.leaderNameStr !=''">
+				AND su.name like concat(concat('%',#{ruralProjectRecords.leaderNameStr}),'%') AND w.is_master = '1' AND w.del_flag='0'
+			</if>
+			<if test="ruralProjectRecords.projectStatus !=null">
+				AND a.status = #{ruralProjectRecords.projectStatus}
+			</if>
+			<if test="ruralProjectRecords.beginDate !=null">
+				AND a.create_date >= #{ruralProjectRecords.beginDate}
+			</if>
+			<if test="ruralProjectRecords.endDate !=null">
+				AND a.create_date &lt; #{ruralProjectRecords.endDate}
+			</if>
+			<if test="ruralProjectRecords.projectType !=null and ruralProjectRecords.projectType !=''">
+				and project_type= #{ruralProjectRecords.projectType}
+			</if>
+			<if test="ruralProjectRecords.engineeringType !=null and ruralProjectRecords.engineeringType !=''">
+				and a.engineering_type= #{ruralProjectRecords.engineeringType}
+			</if>
+			<!--<if test="office!=null and office.id!=null and office.id!=''">
+				and  a.office_id = #{office.id}
+			</if>-->
+			<if test="ruralProjectRecords.officeIdList!=null and ruralProjectRecords.officeIdList.size!=0">
+				and a.office_id in
+				<foreach collection="officeIdList" item="officeId" separator="," open="(" close=")">
+					#{ruralProjectRecords.officeId}
+				</foreach>
+			</if>
+
+			<if test="ruralProjectRecords.reportData!=null and ruralProjectRecords.reportData.number !=null and ruralProjectRecords.reportData.number !=''">
+				and prd.number like concat('%',#{ruralProjectRecords.reportData.number},'%')
+			</if>
+			<if test="ruralProjectRecords.filingProjectStatus!=null and ruralProjectRecords.filingProjectStatus !=''">
+				and pfp.status =${ruralProjectRecords.filingProjectStatus}
+			</if>
+			<if test="ruralProjectRecords.submitMoney!=null and ruralProjectRecords.submitMoney !=''">
+				and a.submit_money =#{ruralProjectRecords.submitMoney}
+			</if>
+			<if test="ruralProjectRecords.createBy !=null and ruralProjectRecords.createBy !=''">
+				<if test="ruralProjectRecords.createBy.name !=null and ruralProjectRecords.createBy.name !=''">
+					AND sua.name like concat(concat('%',#{ruralProjectRecords.createBy.name}),'%')
+				</if>
+			</if>
+			<if test="ruralProjectRecords.office!=null and ruralProjectRecords.office.name!=null and ruralProjectRecords.office.name!=''">
+				AND o.name like concat(concat('%',#{ruralProjectRecords.office.name}),'%')
+			</if>
+			<if test="ruralProjectRecords.sqlMap.delFlag !=null and ruralProjectRecords.sqlMap.delFlag!=''">
+				${ruralProjectRecords.sqlMap.delFlag}
+			</if>
+			<if test="ruralProjectRecords.sqlMap.dsf !=null and ruralProjectRecords.sqlMap.dsf!=''">
+				AND ((w1.user_id = #{ruralProjectRecords.currentUser.id} AND w1.del_flag='0' AND a.company_id = #{ruralProjectRecords.currentUser.company.id} )${ruralProjectRecords.sqlMap.dsf} )
 			</if>
 		</where>
 	</select>
 
+
+
+
+
+
+
 	<update id="updateProcessInstanceId">
 		UPDATE case_base SET
 			case_process_id = #{processInstanceId}
@@ -4416,11 +4652,14 @@
 		,date_add(date_format(prd.audit_pass_date, '%Y-%m-%d'),interval #{endingCount} day) as adventDate
 		,date_add(date_format(prd.audit_pass_date, '%Y-%m-%d'),interval #{endingCount} day) as adventDateDate
 		,a.project_type as "projectType"
+		,ifnull(ppf.status,0) as "paperFilingStatus"
+		,ifnull(a.over_paper_filing_status,0) as "overPaperFilingStatus"
 		FROM rural_project_records a
 		left join project_paper_filing ppf on ppf.project_id = a.id
 		left join work_contract_info wci on a.contract_id = wci.id
 		left join project_report_data_two prd on prd.project_id = a.id
 		left join rural_project_report_record prr on prr.report_id = prd.id
+		left join project_material_defect_record pmdrd on prd.id = pmdrd.report_id and pmdrd.del_flag = 0
 		left join sys_user u on u.id = a.create_by
 		left join sys_office o on o.id = a.office_id
 		LEFT JOIN sys_area area ON area.id = a.area_id
@@ -4433,6 +4672,7 @@
 			and a.status = 5
 			and (ppf.status is null or ppf.status = 1)
 			and now() > date_add(prd.audit_pass_date,interval #{startCount} day)
+			and (pmdrd.id is null or pmdrd.status = 1 or pmdrd.status = 2 or pmdrd.status = 3 or pmdrd.status = 4)
 		</where>
 	</select>
 
@@ -4441,12 +4681,13 @@
 		<include refid="projectRecordsColumns"/>
 		,date_add(date_format(prd.audit_pass_date, '%Y-%m-%d'),interval #{endingCount} day) as adventDate
 		,date_add(date_format(prd.audit_pass_date, '%Y-%m-%d'),interval #{endingCount} day) as adventDateDate
-		,a.project_type as "projectType"
+		,ifnull(pfp.status,0) as "batchArchiveStatus"
 		FROM rural_project_records a
 		LEFT JOIN project_flingbatch_relation pfp on pfp.project_id=a.id
 		left join work_contract_info wci on a.contract_id = wci.id
 		left join project_report_data prd on prd.project_id = a.id
 		left join rural_project_report_record prr on prr.report_id = prd.id
+		left join project_material_defect_record pmdrd on prd.id = pmdrd.report_id and pmdrd.del_flag = 0
 		left join sys_user u on u.id = a.create_by
 		left join sys_office o on o.id = a.office_id
 		LEFT JOIN sys_area area ON area.id = a.area_id
@@ -4458,14 +4699,16 @@
 			AND a.STATUS = 5
 			AND prd.STATUS = 5
 			AND a.submit_money = 1
-			AND pfp.STATUS IS NULL
+			AND (pfp.STATUS IS NULL or (pfp.STATUS != 5 and pfp.STATUS != 7))
 			and now() > date_add(prd.audit_pass_date,interval #{startCount} day)
+			and (pmdrd.id is null or pmdrd.status = 1 or pmdrd.status = 2 or pmdrd.status = 3 or pmdrd.status = 4)
 		</where>
 	</select>
     <select id="findJudgeAdvanceWeekNotice"
             resultType="com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords">
 		SELECT <include refid="projectRecordsColumns"/>,
 		datediff( now(), prd.create_date) "adventDate",a.project_type as "projectType"
+		,ifnull(prd.status,0) as "projectReportStatus"
 		FROM rural_project_records a
 		left join work_contract_info wci on a.contract_id = wci.id
 		left join project_report_data prd on prd.project_id = a.id
@@ -4477,9 +4720,9 @@
 		left join sys_user su on su.id = w1.user_id
 		left join sys_office so on so.id = su.office_id
 		WHERE
-		a.del_flag = 0
-		AND ( prd.STATUS IS NULL OR prd.STATUS = '' )
-		AND datediff( now(), prd.create_date )> 53
+		a.del_flag = 0 and a.status = 5
+		AND ( prd.STATUS IS NULL OR prd.STATUS = '' OR prd.STATUS = '1' OR prd.STATUS = '3' OR prd.STATUS = '4' )
+		AND datediff( now(), prd.create_date )> 60
 	</select>
 	<select id="findProjectRegistrantResponsiblePersonList" resultType="com.jeeplus.modules.sys.entity.User">
 		SELECT
@@ -5712,4 +5955,31 @@ GROUP BY
 		</where>
 	</select>
 
+	<update id="updateProjectReportDataOnOverDue">
+		update project_report_data
+		set over_report_status = 1
+		<if test="status != null and status != ''">
+			,status = ${status}
+		</if>
+		where project_id = #{id}
+	</update>
+
+	<update id="updateProjectPaperFilingOnOverDue">
+		update rural_project_records
+		set over_paper_filing_status = 1
+		<if test="status != null and status != ''">
+			,paper_filing_status = ${status}
+		</if>
+		where id = #{id}
+	</update>
+
+	<update id="updateProjectBatchArchiveOnOverDue">
+		update rural_project_records
+		set over_batch_archive_status = 1
+		<if test="status != null and status != ''">
+			,batch_archive_status = ${status}
+		</if>
+		where id = #{id}
+	</update>
+
 </mapper>

+ 465 - 21
src/main/resources/mappings/modules/statement/StatementCompanyComprehensiveDao.xml

@@ -87,7 +87,11 @@
 			field9,
 			field10,
 			field11,
-			field12
+			field12,
+			field13,
+			field14,
+			field15,
+			field16
 		) VALUES (
 			#{createDate},
 			#{year},
@@ -107,7 +111,11 @@
 			#{field9},
 			#{field10},
 			#{field11},
-			#{field12}
+			#{field12},
+			#{field13},
+			#{field14},
+			#{field15},
+			#{field16}
 
 		)
 	</insert>
@@ -128,7 +136,15 @@
 			field5,
 			field6,
 			field7,
-			field8
+			field8,
+			field9,
+			field10,
+			field11,
+			field12,
+			field13,
+			field14,
+			field15,
+			field16
 		) VALUES (
 			#{createDate},
 			#{year},
@@ -144,7 +160,15 @@
 			#{field5},
 			#{field6},
 			#{field7},
-			#{field8}
+			#{field8},
+			#{field9},
+			#{field10},
+			#{field11},
+			#{field12},
+			#{field13},
+			#{field14},
+			#{field15},
+			#{field16}
 
 		)
 	</insert>
@@ -282,7 +306,7 @@
 		select a.id as "fieldId",a.office_id as "officeId",so.parent_ids as "officeParentIds" from rural_project_records a
 		left join sys_office so on so.id = a.office_id
 		left join project_report_data prd on a.id = prd.project_id
-		left join project_material_defect_record pmdrd on prd.id = pmdrd.report_id
+		left join project_material_defect_record pmdrd on prd.id = pmdrd.report_id and pmdrd.del_flag = 0
 		<where>
 			a.del_flag=0
 			and a.status = 5
@@ -313,7 +337,7 @@
 		left join sys_office so on so.id = a.office_id
 		left join project_report_data prd on a.id = prd.project_id
 		left join rural_project_report_record rprr on prd.id = rprr.report_id
-		left join project_material_defect_record pmdrd on prd.id = pmdrd.report_id
+		left join project_material_defect_record pmdrd on prd.id = pmdrd.report_id and pmdrd.del_flag = 0
 		<where>
 			a.del_flag=0
 			and a.status = 5
@@ -341,7 +365,7 @@
 		select a.id as "fieldId",a.office_id as "officeId",so.parent_ids as "officeParentIds" from rural_project_records a
 		left join sys_office so on so.id = a.office_id
 		left join project_report_data prd on a.id = prd.project_id
-		left join project_material_defect_record pmdrd on prd.id = pmdrd.report_id
+		left join project_material_defect_record pmdrd on prd.id = pmdrd.report_id and pmdrd.del_flag = 0
 		<where>
 			a.del_flag=0
 			and a.status = 5
@@ -374,7 +398,7 @@
 		left join sys_office so on so.id = a.office_id
 		left join project_report_data prd on a.id = prd.project_id
 		left join rural_project_records_reported rprr on a.id = rprr.id
-		left join project_material_defect_record pmdrd on prd.id = pmdrd.report_id
+		left join project_material_defect_record pmdrd on prd.id = pmdrd.report_id and pmdrd.del_flag = 0
 		<where>
 			a.del_flag=0
 			and a.status = 5
@@ -694,6 +718,10 @@
 			,field4
 			,field5
 			,field6
+			,field7
+			,field8
+			,field9
+			,field10
 		)
 		VALUES
 		<foreach collection="dataList" item="data" separator=",">
@@ -712,6 +740,10 @@
 				,#{data.field4}
 				,#{data.field5}
 				,#{data.field6}
+				,#{data.field7}
+				,#{data.field8}
+				,#{data.field9}
+				,#{data.field10}
 			)
 		</foreach>
 	</insert>
@@ -732,6 +764,12 @@
 		,field2
 		,field3
 		,field4
+		,field5
+		,field6
+		,field7
+		,field8
+		,field9
+		,field10
 		)
 		VALUES
 		<foreach collection="dataList" item="data" separator=",">
@@ -748,6 +786,12 @@
 			,#{data.field2}
 			,#{data.field3}
 			,#{data.field4}
+			,#{data.field5}
+			,#{data.field6}
+			,#{data.field7}
+			,#{data.field8}
+			,#{data.field9}
+			,#{data.field10}
 			)
 		</foreach>
 	</insert>
@@ -784,6 +828,22 @@
 			<if test="field6 != null and field6 != ''">
 				and field6 = #{field6}
 			</if>
+
+			<if test="field7 != null and field7 != ''">
+				and field7 = #{field7}
+			</if>
+
+			<if test="field8 != null and field8 != ''">
+				and field8 = #{field8}
+			</if>
+
+			<if test="field9 != null and field9 != ''">
+				and field9 = #{field9}
+			</if>
+
+			<if test="field10 != null and field10 != ''">
+				and field10 = #{field10}
+			</if>
 		</where>
 	</delete>
 
@@ -811,6 +871,30 @@
 			<if test="field4 != null and field4 != ''">
 				and field4 = #{field4}
 			</if>
+
+			<if test="field5 != null and field5 != ''">
+				and field5 = #{field5}
+			</if>
+
+			<if test="field6 != null and field6 != ''">
+				and field6 = #{field6}
+			</if>
+
+			<if test="field7 != null and field7 != ''">
+				and field7 = #{field7}
+			</if>
+
+			<if test="field8 != null and field8 != ''">
+				and field8 = #{field8}
+			</if>
+
+			<if test="field9 != null and field9 != ''">
+				and field9 = #{field9}
+			</if>
+
+			<if test="field10 != null and field10 != ''">
+				and field10 = #{field10}
+			</if>
 		</where>
 	</delete>
 
@@ -935,7 +1019,7 @@
 		from rural_project_records a
 		left join sys_office so on so.id = a.office_id
 		left join project_report_data prd on a.id = prd.project_id
-		left join project_material_defect_record pmdrd on prd.id = pmdrd.report_id
+		left join project_material_defect_record pmdrd on prd.id = pmdrd.report_id and pmdrd.del_flag = 0
 		<where>
 			a.del_flag=0
 			and a.status = 5
@@ -966,7 +1050,7 @@
 		from rural_project_records a
 		left join project_report_data prd on a.id = prd.project_id
 		left join rural_project_report_record rprr on prd.id = rprr.report_id
-		left join project_material_defect_record pmdrd on prd.id = pmdrd.report_id
+		left join project_material_defect_record pmdrd on prd.id = pmdrd.report_id and pmdrd.del_flag = 0
 		left join sys_office so on so.id = a.office_id
 		<where>
 			a.del_flag=0
@@ -996,7 +1080,7 @@
 		from rural_project_records a
 		left join sys_office so on so.id = a.office_id
 		left join project_report_data prd on a.id = prd.project_id
-		left join project_material_defect_record pmdrd on prd.id = pmdrd.report_id
+		left join project_material_defect_record pmdrd on prd.id = pmdrd.report_id and pmdrd.del_flag = 0
 		<where>
 			a.del_flag=0
 			and a.status = 5
@@ -1026,7 +1110,7 @@
 		select a.id as "fieldId",a.create_by as "userId",a.office_id as "officeId",so.parent_ids as "officeParentIds"
 		from rural_project_records a
 		left join project_report_data prd on a.id = prd.project_id
-		left join project_material_defect_record pmdrd on prd.id = pmdrd.report_id
+		left join project_material_defect_record pmdrd on prd.id = pmdrd.report_id and pmdrd.del_flag = 0
 		left join rural_project_records_reported rprr on prd.id = rprr.id
 		left join sys_office so on so.id = a.office_id
 		<where>
@@ -1061,7 +1145,15 @@
 			field5,
 			field6,
 			field7,
-			field8
+			field8,
+			field9,
+			field10,
+			field11,
+			field12,
+			field13,
+			field14,
+			field15,
+			field16
 		) VALUES (
 			#{createDate},
 			#{year},
@@ -1079,7 +1171,15 @@
 			#{field5},
 			#{field6},
 			#{field7},
-			#{field8}
+			#{field8},
+			#{field9},
+			#{field10},
+			#{field11},
+			#{field12},
+			#{field13},
+			#{field14},
+			#{field15},
+			#{field16}
 
 		)
 	</insert>
@@ -1112,6 +1212,12 @@
 		,field2
 		,field3
 		,field4
+		,field5
+		,field6
+		,field7
+		,field8
+		,field9
+		,field10
 		)
 		VALUES
 		<foreach collection="dataList" item="data" separator=",">
@@ -1130,6 +1236,12 @@
 			,#{data.field2}
 			,#{data.field3}
 			,#{data.field4}
+			,#{data.field5}
+			,#{data.field6}
+			,#{data.field7}
+			,#{data.field8}
+			,#{data.field9}
+			,#{data.field10}
 			)
 		</foreach>
 	</insert>
@@ -1159,6 +1271,29 @@
 			<if test="field4 != null and field4 != ''">
 				and field4 = #{field4}
 			</if>
+			<if test="field5 != null and field5 != ''">
+				and field5 = #{field5}
+			</if>
+
+			<if test="field6 != null and field6 != ''">
+				and field6 = #{field6}
+			</if>
+
+			<if test="field7 != null and field7 != ''">
+				and field7 = #{field7}
+			</if>
+
+			<if test="field8 != null and field8 != ''">
+				and field8 = #{field8}
+			</if>
+
+			<if test="field9 != null and field9 != ''">
+				and field9 = #{field9}
+			</if>
+
+			<if test="field10 != null and field10 != ''">
+				and field10 = #{field10}
+			</if>
 		</where>
 	</delete>
 
@@ -1443,6 +1578,14 @@
 			   a.field6 as "field6",
 			   a.field7 as "field7",
 			   a.field8 as "field8",
+			   a.field9 as "field9",
+			   a.field10 as "field10",
+			   a.field11 as "field11",
+			   a.field12 as "field12",
+			   a.field13 as "field13",
+			   a.field14 as "field14",
+			   a.field15 as "field15",
+			   a.field16 as "field16",
 		(select name from sys_office where id = office_id) officeName
 		from statement_company_comprehensive_info a
 		<where>
@@ -1474,6 +1617,14 @@
 		a.field6 as "field6",
 		a.field7 as "field7",
 		a.field8 as "field8",
+		a.field9 as "field9",
+		a.field10 as "field10",
+		a.field11 as "field11",
+		a.field12 as "field12",
+		a.field13 as "field13",
+		a.field14 as "field14",
+		a.field15 as "field15",
+		a.field16 as "field16",
 		(select name from sys_office where id = office_id) officeName
 		from statement_company_comprehensive_info2 a
 		<where>
@@ -1538,7 +1689,15 @@
 			a.field5 as "field5",
 			a.field6 as "field6",
 			a.field7 as "field7",
-			a.field8 as "field8"
+			a.field8 as "field8",
+			a.field9 as "field9",
+			a.field10 as "field10",
+			a.field11 as "field11",
+			a.field12 as "field12",
+			a.field13 as "field13",
+			a.field14 as "field14",
+			a.field15 as "field15",
+			a.field16 as "field16"
 		FROM
 				statement_office_comprehensive_info a
 				LEFT JOIN sys_user su ON su.id = a.user_id
@@ -1707,7 +1866,7 @@
 		so.parent_ids as "officeParentIds",
 		count(1) as "count"
 		from rural_project_records a
-		left join project_flingbatch_relation pfr on a.id = pfr.project_id
+		left join project_flingbatch_relation pfr on a.id = pfr.project_id and pfr.del_flag = 0
 		left join sys_office so on so.id = a.office_id
 		<where>
 			a.del_flag=0
@@ -1747,8 +1906,7 @@
 		<where>
 			a.del_flag=0
 			and a.status = 5
-			AND ( prd.STATUS IS NULL OR prd.STATUS = '' )
-			AND datediff( now(), prd.create_date ) > 60
+			AND prd.STATUS  = '6'
 		</where>
 	</select>
 
@@ -1882,6 +2040,10 @@
 		a.field10 as "field10",
 		a.field11 as "field11",
 		a.field12 as "field12",
+		a.field13 as "field13",
+		a.field14 as "field14",
+		a.field15 as "field15",
+		a.field16 as "field16",
 		(select name from sys_office where id = office_id) officeName
 		from statement_company_comprehensive_info a
 		<where>
@@ -1951,7 +2113,15 @@
 		a.field5 as "field5",
 		a.field6 as "field6",
 		a.field7 as "field7",
-		a.field8 as "field8"
+		a.field8 as "field8",
+		a.field9 as "field9",
+		a.field10 as "field10",
+		a.field11 as "field11",
+		a.field12 as "field12",
+		a.field13 as "field13",
+		a.field14 as "field14",
+		a.field15 as "field15",
+		a.field16 as "field16"
 		FROM
 		statement_office_comprehensive_info_two a
 		LEFT JOIN sys_user su ON su.id = a.user_id
@@ -1992,6 +2162,12 @@
 		,field2
 		,field3
 		,field4
+		,field5
+		,field6
+		,field7
+		,field8
+		,field9
+		,field10
 		)
 		VALUES
 		<foreach collection="dataList" item="data" separator=",">
@@ -2010,6 +2186,12 @@
 			,#{data.field2}
 			,#{data.field3}
 			,#{data.field4}
+			,#{data.field5}
+			,#{data.field6}
+			,#{data.field7}
+			,#{data.field8}
+			,#{data.field9}
+			,#{data.field10}
 			)
 		</foreach>
 	</insert>
@@ -2039,6 +2221,29 @@
 			<if test="field4 != null and field4 != ''">
 				and field4 = #{field4}
 			</if>
+			<if test="field5 != null and field5 != ''">
+				and field5 = #{field5}
+			</if>
+
+			<if test="field6 != null and field6 != ''">
+				and field6 = #{field6}
+			</if>
+
+			<if test="field7 != null and field7 != ''">
+				and field7 = #{field7}
+			</if>
+
+			<if test="field8 != null and field8 != ''">
+				and field8 = #{field8}
+			</if>
+
+			<if test="field9 != null and field9 != ''">
+				and field9 = #{field9}
+			</if>
+
+			<if test="field10 != null and field10 != ''">
+				and field10 = #{field10}
+			</if>
 		</where>
 	</delete>
 
@@ -2070,7 +2275,15 @@
 			field5,
 			field6,
 			field7,
-			field8
+			field8,
+			field9,
+			field10,
+			field11,
+			field12,
+			field13,
+			field14,
+			field15,
+			field16
 		) VALUES (
 			#{createDate},
 			#{year},
@@ -2088,8 +2301,239 @@
 			#{field5},
 			#{field6},
 			#{field7},
-			#{field8}
+			#{field8},
+			#{field9},
+			#{field10},
+			#{field11},
+			#{field12},
+			#{field13},
+			#{field14},
+			#{field15},
+			#{field16}
 
 		)
 	</insert>
+
+
+
+	<select id="getOverPaperFilingProjectIdListAll" resultType="com.jeeplus.modules.statement.entity.ReportDataEntity">
+		select a.id as "fieldId",a.office_id as "officeId",so.parent_ids as "officeParentIds" from rural_project_records a
+		left join sys_office so on so.id = a.office_id
+		left join project_report_data prd on a.id = prd.project_id and prd.del_flag = 0
+		left join project_material_defect_record pmdrd on prd.id = pmdrd.report_id and pmdrd.del_flag = 0
+		<where>
+			a.del_flag=0
+			and a.status = 5
+			and a.paper_filing_status != 7
+			AND a.paper_filing_status != '10'
+			AND a.paper_filing_status != '11'
+			and a.over_paper_filing_status = 1
+			and pmdrd.id is null
+		</where>
+	</select>
+
+	<select id="getOverPaperFilingProjectListAll" resultType="com.jeeplus.modules.statement.entity.ReportDataEntity">
+		select a.id as "fieldId",a.office_id as "officeId",so.parent_ids as "officeParentIds" from rural_project_records a
+		left join sys_office so on so.id = a.office_id
+		left join project_paper_filing ppf on a.id = ppf.project_id
+		left join project_report_data prd on a.id = prd.project_id
+		left join project_material_defect_record pmdrd on prd.id = pmdrd.report_id and pmdrd.del_flag = 0
+		<where>
+			a.del_flag=0
+			and a.submit_money = 2
+			and a.status = 5
+			and a.record_state = 7
+			and a.over_record_status = 1
+			and ppf.status = 7
+			and ppf.del_flag = 0
+			and ppf.audit_pass_date >= #{beginDate}
+			and ppf.audit_pass_date &lt;= #{endDate}
+			and pmdrd.id is null
+		</where>
+	</select>
+
+	<select id="getOverDueBatchArchiveProjectIdListAll" resultType="com.jeeplus.modules.statement.entity.ReportDataEntity">
+		select a.id as "fieldId",a.office_id as "officeId",so.parent_ids as "officeParentIds" from rural_project_records a
+		left join sys_office so on so.id = a.office_id
+		left join project_report_data prd on a.id = prd.project_id and prd.del_flag = 0
+		left join project_material_defect_record pmdrd on prd.id = pmdrd.report_id and pmdrd.del_flag = 0
+		left join project_flingbatch_relation pfr on a.id = pfr.project_id and pfr.del_flag = 0
+		<where>
+			a.del_flag=0
+			and a.status = 5
+			and (a.batch_archive_status is null or (a.batch_archive_status != 7
+			and a.batch_archive_status != '10'
+			and a.batch_archive_status != '11'))
+			and a.over_batch_archive_status = 1
+			and pfr.id is null
+			and pmdrd.id is null
+		</where>
+	</select>
+
+
+	<select id="getOverBatchArchiveProjectIdListAll" resultType="com.jeeplus.modules.statement.entity.ReportDataEntity">
+		select a.id as "fieldId",a.office_id as "officeId",so.parent_ids as "officeParentIds" from rural_project_records a
+		left join sys_office so on so.id = a.office_id
+		left join project_report_data prd on a.id = prd.project_id and prd.del_flag = 0
+		left join project_material_defect_record pmdrd on prd.id = pmdrd.report_id and pmdrd.del_flag = 0
+		left join project_flingbatch_relation pfr on a.id = pfr.project_id and pfr.del_flag = 0
+		<where>
+			a.del_flag=0
+			and a.status = 5
+			and (a.batch_archive_status is null or a.batch_archive_status == 7
+			and a.batch_archive_status == 5)
+			and a.over_batch_archive_status = 1
+			and pfr.status = 5
+			and pfr.audit_pass_date >= #{beginDate}
+			and pfr.audit_pass_date &lt;= #{endDate}
+			and pmdrd.id is null
+		</where>
+	</select>
+
+
+
+
+	<select id="getOfficeOverPaperFilingProjectIdListAll" resultType="com.jeeplus.modules.statement.entity.ReportDataEntity">
+		select a.id as "fieldId",a.create_by as "userId",a.office_id as "officeId",so.parent_ids as "officeParentIds" from rural_project_records a
+		left join sys_office so on so.id = a.office_id
+		left join project_report_data prd on a.id = prd.project_id and prd.del_flag = 0
+		left join project_material_defect_record pmdrd on prd.id = pmdrd.report_id and pmdrd.del_flag = 0
+		<where>
+			a.del_flag=0
+			and a.status = 5
+			and a.paper_filing_status != 7
+			AND a.paper_filing_status != '10'
+			AND a.paper_filing_status != '11'
+			and a.over_paper_filing_status = 1
+			and pmdrd.id is null
+		</where>
+	</select>
+
+	<select id="getOfficeOverPaperFilingProjectListAll" resultType="com.jeeplus.modules.statement.entity.ReportDataEntity">
+		select a.id as "fieldId",a.create_by as "userId",a.office_id as "officeId",so.parent_ids as "officeParentIds" from rural_project_records a
+		left join sys_office so on so.id = a.office_id
+		left join project_paper_filing ppf on a.id = ppf.project_id
+		left join project_report_data prd on a.id = prd.project_id
+		left join project_material_defect_record pmdrd on prd.id = pmdrd.report_id and pmdrd.del_flag = 0
+		<where>
+			a.del_flag=0
+			and a.submit_money = 2
+			and a.status = 5
+			and a.record_state = 7
+			and a.over_record_status = 1
+			and ppf.status = 7
+			and ppf.del_flag = 0
+			and ppf.audit_pass_date >= #{beginDate}
+			and ppf.audit_pass_date &lt;= #{endDate}
+			and pmdrd.id is null
+		</where>
+	</select>
+
+	<select id="getOfficeOverDueBatchArchiveProjectIdListAll" resultType="com.jeeplus.modules.statement.entity.ReportDataEntity">
+		select a.id as "fieldId",a.create_by as "userId",a.office_id as "officeId",so.parent_ids as "officeParentIds" from rural_project_records a
+		left join sys_office so on so.id = a.office_id
+		left join project_report_data prd on a.id = prd.project_id and prd.del_flag = 0
+		left join project_material_defect_record pmdrd on prd.id = pmdrd.report_id and pmdrd.del_flag = 0
+		left join project_flingbatch_relation pfr on a.id = pfr.project_id and pfr.del_flag = 0
+		<where>
+			a.del_flag=0
+			and a.status = 5
+			and (a.batch_archive_status is null or (a.batch_archive_status != 7
+			and a.batch_archive_status != '10'
+			and a.batch_archive_status != '11'))
+			and a.over_batch_archive_status = 1
+			and pfr.id is null
+			and pmdrd.id is null
+		</where>
+	</select>
+
+
+	<select id="getOfficeOverBatchArchiveProjectIdListAll" resultType="com.jeeplus.modules.statement.entity.ReportDataEntity">
+		select a.id as "fieldId",a.create_by as "userId",a.office_id as "officeId",so.parent_ids as "officeParentIds" from rural_project_records a
+		left join sys_office so on so.id = a.office_id
+		left join project_report_data prd on a.id = prd.project_id and prd.del_flag = 0
+		left join project_material_defect_record pmdrd on prd.id = pmdrd.report_id and pmdrd.del_flag = 0
+		left join project_flingbatch_relation pfr on a.id = pfr.project_id and pfr.del_flag = 0
+		<where>
+			a.del_flag=0
+			and a.status = 5
+			and (a.batch_archive_status is null or a.batch_archive_status == 7
+			and a.batch_archive_status == 5)
+			and a.over_batch_archive_status = 1
+			and pfr.status = 5
+			and pfr.audit_pass_date >= #{beginDate}
+			and pfr.audit_pass_date &lt;= #{endDate}
+			and pmdrd.id is null
+		</where>
+	</select>
+
+	<select id="getOfficeProjectReportDataList" resultType="com.jeeplus.modules.statement.entity.ReportDataEntity">
+		select
+		a.id as "fieldId",a.create_by as "userId",
+		a.office_id as "officeId",
+		so.parent_ids as "officeParentIds"
+		from rural_project_records a
+		left join sys_office so on so.id = a.office_id
+		left join project_report_data prd on a.id = prd.project_id
+		<where>
+			a.del_flag=0
+			and a.status = 5
+			AND ( prd.STATUS IS NULL OR prd.STATUS = '' )
+			AND datediff( now(), prd.create_date ) &lt;= 60
+		</where>
+	</select>
+
+	<select id="getOfficeOverDueProjectReportDataList" resultType="com.jeeplus.modules.statement.entity.ReportDataEntity">
+		select
+		a.id as "fieldId",a.create_by as "userId",
+		a.office_id as "officeId",
+		so.parent_ids as "officeParentIds"
+		from rural_project_records a
+		left join sys_office so on so.id = a.office_id
+		left join project_report_data prd on a.id = prd.project_id
+		<where>
+			a.del_flag=0
+			and a.status = 5
+			AND prd.STATUS  = '6'
+		</where>
+	</select>
+
+	<select id="getOfficeProjectPaperFilingList" resultType="com.jeeplus.modules.statement.entity.ReportDataEntity">
+		select
+		a.office_id as "officeId",a.create_by as "userId",
+		so.parent_ids as "officeParentIds",
+		count(1) as "count"
+		from rural_project_records a
+		left join project_paper_filing ppf on a.id = ppf.project_id
+		left join sys_office so on so.id = a.office_id
+		<where>
+			a.del_flag=0
+			and a.submit_money = 2
+			and ppf.status = 5
+			and ppf.del_flag = 0
+			and ppf.audit_pass_date >= #{beginDate}
+			and ppf.audit_pass_date &lt;= #{endDate}
+		</where>
+		group by a.office_id
+	</select>
+
+	<select id="getOfficeProjectFlingBatchRelationList" resultType="com.jeeplus.modules.statement.entity.ReportDataEntity">
+		select
+		a.office_id as "officeId",a.create_by as "userId",
+		so.parent_ids as "officeParentIds",
+		count(1) as "count"
+		from rural_project_records a
+		left join project_flingbatch_relation pfr on a.id = pfr.project_id and pfr.del_flag = 0
+		left join sys_office so on so.id = a.office_id
+		<where>
+			a.del_flag=0
+			and a.submit_money = 1
+			and pfr.status = 5
+			and pfr.del_flag = 0
+			and pfr.audit_pass_date >= #{beginDate}
+			and pfr.audit_pass_date &lt;= #{endDate}
+		</where>
+		group by a.office_id
+	</select>
+
 </mapper>

+ 2 - 2
src/main/resources/mappings/modules/sys/UserDao.xml

@@ -1230,7 +1230,7 @@
 		WHERE a.office_id is not null and find_in_set(r.id,#{roleIds})
 		order by a.name = '郑炎基' desc
 				,a.name = '王年生' desc
-				,a.name = '秦美' desc
+				,a.name = '吕星星' desc
 				,a.name = '总审1' desc
 				,a.name = '总审2' desc
 				,a.name = '总审3' desc
@@ -1266,7 +1266,7 @@
 		WHERE a.office_id is not null and pau.real_flag=1
 		order by a.name = '郑炎基' desc
 				,a.name = '王年生' desc
-				,a.name = '秦美' desc
+				,a.name = '吕星星' desc
 	</select>
 
 	<select id="getAuditUserListByBzshbUserId" resultType="java.lang.String">

+ 2 - 22
src/main/resources/mappings/modules/workinvoice/WorkInvoiceDao.xml

@@ -641,30 +641,13 @@
 		<include refid="newWorkInvoiceColumns"/>
 		,wid.number as "widNumber"
 		,wid.total_money as "widTotalMoney",
-		(select
-		CASE
-		WHEN RIGHT( GROUP_CONCAT(is_project),1) =2 THEN GROUP_CONCAT(concat('其他:',wipr1.details))
-		WHEN RIGHT( GROUP_CONCAT(is_project),1) =1 THEN GROUP_CONCAT(rpr1.project_name)
-		ELSE '' END
-		FROM work_invoice_project_relation wipr1
-		LEFT JOIN rural_project_records rpr1 ON wipr1.project_id = rpr1.id
-		LEFT JOIN project_report_data prd1 ON prd1.project_id = wipr1.project_id
-		WHERE wipr1.invoice_id = a.id) as projectName
-		,(select
-		GROUP_CONCAT(prd1.number)
-		FROM work_invoice_project_relation wipr1
-		LEFT JOIN rural_project_records rpr1 ON wipr1.project_id = rpr1.id
-		LEFT JOIN project_report_data prd1 ON prd1.project_id = wipr1.project_id
-		WHERE wipr1.invoice_id = a.id) as reportNumber,
-		(select wir.receipt_date from work_invoice_receipt wir where wir.invoice_id = a.id order by wir.receipt_date desc limit 1 ) as "receiptMoneyDate",
+
+		ifnull(( SELECT wir.receipt_date FROM work_invoice_receipt wir WHERE wir.invoice_id = a.id ORDER BY wir.receipt_date DESC LIMIT 1 ),a.receipt_money_date) AS "receiptMoneyDate",
 		ifnull((select sum(wir.money) from work_invoice_receipt wir where wir.invoice_id = a.id ),0) as "receiptMoneyD"
 		FROM work_invoice a
 		LEFT JOIN sys_user su ON su.id = a.create_by
 		LEFT JOIN work_client_info w ON  w.id = a.client_id
 		LEFT JOIN rural_project_records p ON  p.id = a.project_id
-		left join work_invoice_project_relation wipr on a.id = wipr.invoice_id
-		left join rural_project_records rpr on rpr.id = wipr.project_id
-		left join project_report_data prds on rpr.id = prds.project_id
 		LEFT JOIN sys_user sua ON sua.id = a.account_checking_user_id
 		left join work_invoice_detail wid on a.id = wid.invoice_id
 		LEFT join sys_office so on so.id = a.office_id
@@ -765,9 +748,6 @@
 		LEFT JOIN sys_user su ON su.id = a.create_by
 		LEFT JOIN work_client_info w ON  w.id = a.client_id
 		LEFT JOIN rural_project_records p ON  p.id = a.project_id
-		left join work_invoice_project_relation wipr on a.id = wipr.invoice_id
-		left join rural_project_records rpr on rpr.id = wipr.project_id
-		left join project_report_data prds on rpr.id = prds.project_id
 		LEFT JOIN sys_user sua ON sua.id = a.account_checking_user_id
 		left join work_invoice_detail wid on a.id = wid.invoice_id
 		<where>

+ 6 - 6
src/main/webapp/static/common/jeeplus.js

@@ -467,10 +467,10 @@ function getRuralProjectArchiveState(id)
         case "3":result.label = "cancel";result.status="撤回";break;
         case "4":result.label = "reject";result.status="驳回";break;
         case "5":result.label = "signed";result.status="已归档";break;
-        case "6":result.label = "signed";result.status="超期未归档";result.action = false;break;
+        case "6":result.label = "tempstore";result.status="超期未归档";result.action = false;break;
         case "7":result.label = "signed";result.status="超期归档";break;
         case "8":result.label = "changing";result.status="变更中";break;
-        case "10":result.label = "unknown";result.status="待发起";result.action = false;break;
+        case "10":result.label = "signed";result.status="无需归档";result.action = false;break;
         default:
             result.label = "unknown";result.status="未知";break;
     }
@@ -560,17 +560,17 @@ function getAuditState(id)
     result.action = true;
     switch(id)
     {
-        case "0":result.status="";result.action = false;break;
+        case "0":result.label = "tempstore";result.status="未复核";result.action = false;break;
         case "1":result.label = "tempstore";result.status="暂存";result.action = false;break;
         case "2":result.label = "auditing";result.status="审批中";break;
         case "3":result.label = "cancel";result.status="撤回";break;
         case "4":result.label = "reject";result.status="驳回";break;
         case "5":result.label = "signed";result.status="已完成";break;
-        case "6":result.label = "discarding";result.status="作废中";break;
-        case "7":result.label = "discarded";result.status="已作废";break;
+        case "6":result.label = "tempstore";result.status="超期未复核";result.action = false;break;
+        case "7":result.label = "signed";result.status="超期复核";break;
         case "9":result.label = "reject";result.status="作废驳回";break;
         case "8":result.label = "changing";result.status="变更中";break;
-        case "10":result.label = "unknown";result.status="待发起";result.action = false;break;
+        case "10":result.label = "signed";result.status="无复核";result.action = false;break;
         case "11":result.label = "cancel";result.status="作废撤回";break;
         default:
             result.label = "unknown";result.status="未知";break;

+ 1 - 1
src/main/webapp/webpage/include/head.jsp

@@ -36,7 +36,7 @@
 
 <!-- jeeplus -->
 <link href="${ctxStatic}/common/jeeplus.css" type="text/css" rel="stylesheet" />
-<script src="${ctxStatic}/common/jeeplus.js?4" type="text/javascript"></script>
+<script src="${ctxStatic}/common/jeeplus.js?6" type="text/javascript"></script>
 
 <!-- jquery ui -->
 <script src="${ctxStatic}/jquery-ui/jquery-ui.min.js"></script>

+ 2 - 2
src/main/webapp/webpage/modules/ruralprojectrecords/check/ruralProjectRecordsList.jsp

@@ -454,9 +454,9 @@
 						if(d.notifyFlag != undefined && d.notifyFlag !=null && "" != d.notifyFlag && d.notifyFlag == 1)
 						{
 							if(d.actType == 1){
-								xml+="<a href=\"javascript:void(0)\" onclick=\"masterCheck('提交线下归档', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.notifyId +"&home=report','95%', '95%')\" class=\"layui-btn layui-btn-xs layui-bg-blue\" > 提交线下归档</a>";
+								xml+="<a href=\"javascript:void(0)\" onclick=\"masterCheck('提交纸质归档', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.notifyId +"&home=report','95%', '95%')\" class=\"layui-btn layui-btn-xs layui-bg-blue\" > 提交线下归档</a>";
 							}else{
-								xml+="<a href=\"#\" onclick=\"notifyDialogre('选查项目', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.notifyId +"&home=report','95%', '95%')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 线下归档审批</a>";
+								xml+="<a href=\"#\" onclick=\"notifyDialogre('选查项目', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.notifyId +"&home=report','95%', '95%')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 纸质归档审批</a>";
 							}
 						}
                         /*if(d.canAdd != undefined && d.canAdd =="1")

+ 20 - 17
src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectMessageList.jsp

@@ -738,7 +738,7 @@
 			////对操作进行初始化
 			var xml = '<div class=\"layui-btn-group\">';
 			if(d.falg=="1"){
-				if(d.projectReportStatus == 0){
+				if(d.projectReportStatus == 0 || d.projectReportStatus == 0){
 					xml+="<a href=\"#\" onclick=\"openDialogre('新增报告质量复核', '${ctx}/ruralProject/ruralCostProjectMessageNew/form?projectId=" + d.id +"','95%', '95%','','送审,暂存,关闭')\" class=\"layui-btn layui-btn-xs layui-bg-blue\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' > 新增质量复核</a>";
 				}
 				if(d.projectReportStatus == 1){
@@ -763,7 +763,7 @@
 
 					<%--xml+="<a href=\"${ctx}/ruralProject/ruralCostProjectMessage/deleteReport?projectId=" + d.id + "\" onclick=\"return confirmx('确认要删除该项目报告质量复核吗?', this.href)\" class=\"layui-btn layui-btn-xs layui-bg-red\" > 删除报告</a>";--%>
 				}
-				if(d.projectReportStatus == 5){
+				if(d.projectReportStatus == 5 || d.projectReportStatus == 7){
 					if(undefined != d.qualitySignatureFlag && null != d.qualitySignatureFlag && "" != d.qualitySignatureFlag){
 						if(undefined != d.qualitySignatureContractId && null != d.qualitySignatureContractId && "" != d.qualitySignatureContractId){
 							xml+="<a href=\"${ctx}/ruralProject/signatureCallBack/downLoadJudgementReportAttach?contractId="+ d.qualitySignatureContractId +"\" class=\"layui-btn  layui-btn-xs layui-bg-orange\" style='height:32px;margin-top: 5px;margin-bottom: 5px;'>审定单签章下载</a>"
@@ -787,7 +787,7 @@
 				}
 
 				//报告签发操作
-				if(d.projectReportStatus == 5 && d.emergencyProject != 1){
+				if((d.projectReportStatus == 5 || d.projectReportStatus == 7) && d.emergencyProject != 1){
 
 					if(d.projectReportStatusTwo == 0){
 						xml+="<a href=\"#\" onclick=\"openDialogre('报告签发', '${ctx}/ruralProject/ruralProjectMessageNewTwo/form?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>";
@@ -813,7 +813,7 @@
 
 				//线上归档操作
 				if(d.projectReportStatusTwo == 0){
-					if(d.projectReportStatus == 5){
+					if(d.projectReportStatus == 5 || d.projectReportStatus == 7){
 						if(d.emergencyProject == 1){
 							/*xml+="<a href=\"#\" style='background-color: #FFB800' onclick=\"openDialogre('下载模板', '${ctx}/ruralProject/ruralCostProjectMessage/skipDownloadFtl?id=" + d.id +"','35%', '35%','','下载,关闭')\" class=\"op-btn\" > 下载模板</a>";*/
 							if(d.projectReportRecordStatus == 0 || d.projectReportRecordStatus == 6){
@@ -884,7 +884,7 @@
 				}
 				//归档资料缺失说明
 				if(d.projectReportStatusTwo == 0){
-					if(d.projectReportStatus == 5){
+					if(d.projectReportStatus == 5 || d.projectReportStatus == 7){
 						if(d.emergencyProject == 1){
 							if(d.projectReportRecordStatus != 2  && d.projectReportRecordStatus != 5 ){
 								if (d.defectRecordStatus==0) {
@@ -930,7 +930,7 @@
 				}
 				/*上报相关按钮*/
 				if(d.projectReportStatusTwo == 0){
-					if(d.projectReportStatus == 5){
+					if(d.projectReportStatus == 5 || d.projectReportStatus == 7){
 						if(d.emergencyProject == 1){
 							if(d.syncStatus == 0){
 								if(d.reportStatus == 0){
@@ -1016,7 +1016,7 @@
 				}
 
 
-				if('1' == d.flagAdmin && d.projectReportStatus == 5)
+				if('1' == d.flagAdmin && (d.projectReportStatus == 5 || d.projectReportStatus == 7))
 				{
 					xml+="<a href=\"#\" onclick=\"openDialogre('修改项目报告', '${ctx}/ruralProject/ruralCostProjectMessage/adminModifyForm?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=\"openDialogView('历史报告', '${ctx}/ruralProject/ruralCostProjectMessage/getReportModifyList?projectId=" + d.id + "','95%', '95%')\" class=\"layui-btn layui-btn-xs\"  style='height: 32px;margin-top: 5px;margin-bottom: 5px;' > 历史报告</a>";
@@ -1033,7 +1033,7 @@
 			if(d.paperFilingStatus == 5){
 				xml+="<a href=\"#\" onclick=\"openDialogre('修改纸质归档案卷号', '${ctx}/paperFiling/paperFiling/adminPaperFiling?id=" + d.ppfId + "&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(d.projectReportStatus == 5){
+			if(d.projectReportStatus == 5 || d.projectReportStatus == 7){
 				if (d.projectReportStatusTwo != 5 && d.projectReportStatusTwo != 2){
 					xml+="<a href=\"#\" onclick=\"openDialogre('修改报告信息', '${ctx}/ruralProject/ruralCostProjectMessageNew/reviewForm?projectId=" + d.id +"&view=reloadReport&edit=reviewAgain','95%', '95%','','送审,暂存,关闭')\" class=\"layui-btn layui-btn-xs layui-bg-green\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' > 重新复核</a>";
 				}
@@ -1201,13 +1201,16 @@
 							</div>
 						</div>
 						<div class="layui-item query athird ">
-							<label class="layui-form-label">线下归档:</label>
+							<label class="layui-form-label">纸质归档:</label>
 							<div class="layui-input-block readOnlyFFF">
 								<form:select path="downProjectReportRecordStatus" class=" form-control  simple-select">
 									<form:option value="" label=""/>
 									<form:option value="0" label="未归档"/>
 									<form:option value="2" label="归档中"/>
 									<form:option value="5" label="已归档"/>
+									<form:option value="6" label="超期未归档"/>
+									<form:option value="7" label="超期归档"/>
+									<form:option value="10" label="无需归档"/>
 									<%--									<form:options items="${fns:getDictList('rural_report_audit_state')}" itemLabel="label" itemValue="value" htmlEscape="false"/>--%>
 								</form:select>
 							</div>
@@ -1372,12 +1375,12 @@
 				,{field: 'submitMoneyStr', align:'center', title: '项目等级',width:100,templet: function(d){
 						return "<font style = 'font-size:14px;'>"+d.submitMoneyStr+"</font>";
 				}}
-                ,{align:'center', title: '质量复核',  width:100,templet:function(d){
+                ,{align:'center', title: '质量复核',  width:110,templet:function(d){
                         var st = getAuditState(d.projectReportStatus);
                         if(st.action)
-                            var xml = "<span onclick=\"openDialogReportView('流程追踪', '${ctx}/ruralProject/ruralCostProjectMessage/getProcessOne?id=" + d.id + "&projectReportData.id=" + d.bid + "&type=2','"+ d.id +"','95%','95%')\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+                            var xml = "<span onclick=\"openDialogReportView('流程追踪', '${ctx}/ruralProject/ruralCostProjectMessage/getProcessOne?id=" + d.id + "&projectReportData.id=" + d.bid + "&type=2','"+ d.id +"','95%','95%')\" class=\"new-status-label status-label-" + st.label + "\" >" + st.status + "</span>";
                         else
-                            var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+                            var xml = "<span style=\"cursor:default;\" class=\"new-status-label status-label-" + st.label + "\" >" + st.status + "</span>";
                         return xml;
                     }}
 				,{align:'center', title: '报告签发',  width:90,templet:function(d){
@@ -1409,7 +1412,7 @@
 				<%--			var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";--%>
 				<%--		return xml;--%>
 				<%--	}}--%>
-				,{align:'center', title: '线下',  width:100,templet:function(d){
+				,{align:'center', title: '纸质',  width:110,templet:function(d){
 						if (d.submitMoney=="1"){
 							var st = getRuralProjectArchiveState(d.downProjectReportRecordStatus);
 						}else if (d.submitMoney=="2"){
@@ -1417,12 +1420,12 @@
 						}
 						if(st.action){
 							if (d.submitMoney=="1"){
-								var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/ruralProject/ruralCostProjectMessage/getReportedProcess?processInstanceId=" + d.prrdProcessInstanceId + "','95%','95%')\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+								var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/ruralProject/ruralCostProjectMessage/getReportedProcess?processInstanceId=" + d.prrdProcessInstanceId + "','95%','95%')\" class=\"new-status-label status-label-" + st.label + "\" >" + st.status + "</span>";
 							}else if (d.submitMoney=="2"){
-								var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/ruralProject/ruralCostProjectMessage/getReportedProcess?processInstanceId=" + d.ppfProcessInstanceId + "','95%','95%')\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+								var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/ruralProject/ruralCostProjectMessage/getReportedProcess?processInstanceId=" + d.ppfProcessInstanceId + "','95%','95%')\" class=\"new-status-label status-label-" + st.label + "\" >" + st.status + "</span>";
 							}
 						}else{
-							var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+							var xml = "<span style=\"cursor:default;\" class=\"new-status-label status-label-" + st.label + "\" >" + st.status + "</span>";
 						}
 						return xml;
 					}}
@@ -1593,7 +1596,7 @@
                             </c:choose>
 
 
-					<%-- 线下归档状态 --%>
+					<%-- 纸质归档状态 --%>
 					,"downRecordAdd":<c:choose>
 							<c:when test="${projectRecords.downProjectReportRecordStatus == 0 && (fns:getUser().id == projectRecords.leaderIds || fns:getUser().id eq projectRecords.createBy.id)}">"1"</c:when>
 					<c:otherwise>"0"</c:otherwise>

+ 6 - 6
src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectMessageLists.jsp

@@ -1167,22 +1167,22 @@
 						}
 					}
 
-					//线下归档操作
+					//纸质归档操作
 					/*if(d.projectReportStatus == 5){
 						if(d.downProjectReportRecordStatus == 0){
-							xml+="<a href=\"#\" onclick=\"openDialogre('新增线下归档信息', '${ctx}/ruralProject/ruralProjectDownMessage/formRecord?reportId=" + d.id +"&flag=2','95%', '95%','','送审,关闭')\" class=\"op-btn layui-bg-green\" ><i class=\"fa fa-plus\"></i> 线下归档</a>";
+							xml+="<a href=\"#\" onclick=\"openDialogre('新增纸质归档信息', '${ctx}/ruralProject/ruralProjectDownMessage/formRecord?reportId=" + d.id +"&flag=2','95%', '95%','','送审,关闭')\" class=\"op-btn layui-bg-green\" ><i class=\"fa fa-plus\"></i> 线下归档</a>";
 						}
 						if(d.downProjectReportRecordStatus == 1){
-							xml+="<a href=\"#\" onclick=\"openDialogre('修改归档信息', '${ctx}/ruralProject/ruralProjectDownMessage/formRecordModify?id=" + d.prrdId +"&flag=2','95%', '95%','','送审,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 线下重新归档</a>";
+							xml+="<a href=\"#\" onclick=\"openDialogre('修改归档信息', '${ctx}/ruralProject/ruralProjectDownMessage/formRecordModify?id=" + d.prrdId +"&flag=2','95%', '95%','','送审,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 纸质重新归档</a>";
 						}
 						if(d.downProjectReportRecordStatus == 2){
-							xml+="<a href=\"${ctx}/ruralProject/ruralProjectDownMessage/cancelInvalidate?id=" + d.prrdId + "&flag=2&processInstanceId=" + d.prrdProcessInstanceId + "\" onclick=\"return confirmx('确认要撤回该线下报告归档审批吗?', this.href)\" class=\"op-btn op-btn-cancel\" ><i class=\"glyphicon glyphicon-share-alt\"></i> 撤回线下归档</a>";
+							xml+="<a href=\"${ctx}/ruralProject/ruralProjectDownMessage/cancelInvalidate?id=" + d.prrdId + "&flag=2&processInstanceId=" + d.prrdProcessInstanceId + "\" onclick=\"return confirmx('确认要撤回该纸质归档审批吗?', this.href)\" class=\"op-btn op-btn-cancel\" ><i class=\"glyphicon glyphicon-share-alt\"></i> 撤回线下归档</a>";
 						}
 						if(d.downProjectReportRecordStatus == 3){
-							xml+="<a href=\"#\" onclick=\"openDialogre('撤回调整归档信息', '${ctx}/ruralProject/ruralProjectDownMessage/formRecordModify?id=" + d.prrdId + "&flag=2','95%', '95%','','送审,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 线下重新归档</a>";
+							xml+="<a href=\"#\" onclick=\"openDialogre('撤回调整归档信息', '${ctx}/ruralProject/ruralProjectDownMessage/formRecordModify?id=" + d.prrdId + "&flag=2','95%', '95%','','送审,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 纸质重新归档</a>";
 						}
 						if(d.downProjectReportRecordStatus == 4){
-							xml+="<a href=\"#\" onclick=\"openDialogre('调整归档信息', '${ctx}/ruralProject/ruralProjectDownMessage/formRecordModify?id=" + d.prrdId + "&view=modify&flag=2','95%', '95%','','送审,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 线下重新归档</a>";
+							xml+="<a href=\"#\" onclick=\"openDialogre('调整归档信息', '${ctx}/ruralProject/ruralProjectDownMessage/formRecordModify?id=" + d.prrdId + "&view=modify&flag=2','95%', '95%','','送审,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 纸质重新归档</a>";
 						}
 					}*/
 

+ 3 - 3
src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralProjectRecordsCaseBaseList.jsp

@@ -988,7 +988,7 @@
 							</div>
 						</div>
 						<div class="layui-item query athird ">
-							<label class="layui-form-label">线下归档:</label>
+							<label class="layui-form-label">纸质归档:</label>
 							<div class="layui-input-block readOnlyFFF">
 								<form:select path="downProjectReportRecordStatus" class=" form-control  simple-select">
 									<form:option value="" label=""/>
@@ -1196,7 +1196,7 @@
 				<%--			var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";--%>
 				<%--		return xml;--%>
 				<%--	}}--%>
-				,{align:'center', title: '线下',  width:100,templet:function(d){
+				,{align:'center', title: '纸质',  width:100,templet:function(d){
 						if (d.submitMoney=="1"){
 							var st = getRuralProjectArchiveState(d.downProjectReportRecordStatus);
 						}else if (d.submitMoney=="2"){
@@ -1370,7 +1370,7 @@
                             </c:choose>
 
 
-					<%-- 线下归档状态 --%>
+					<%-- 纸质归档状态 --%>
 					,"downRecordAdd":<c:choose>
 							<c:when test="${projectRecords.downProjectReportRecordStatus == 0 && (fns:getUser().id == projectRecords.leaderIds || fns:getUser().id eq projectRecords.createBy.id)}">"1"</c:when>
 					<c:otherwise>"0"</c:otherwise>

+ 2 - 7
src/main/webapp/webpage/modules/ruralprojectrecords/record/cost/projectRecordDescriptionForm.jsp

@@ -112,7 +112,7 @@
                     <%--$("#inputForm").attr("action","${ctx}/ruralProject/ruralCostProjectMessageNew/holdSaveRecord");--%>
                 } else {
                     if (boolFlag) {
-                        var gistdata = $("#file_attachment01 tr").length;
+                        var gistdata = $("#file_attachment tr").length;
                         console.log('说明扫描件数量:' + gistdata)
                         if (gistdata === 0) {
                             top.layer.msg("请上传说明扫描件!", {icon: 0});
@@ -373,7 +373,7 @@
                             <th width="200px">操作</th>
                         </tr>
                         </thead>
-                        <tbody id="file_attachment01">
+                        <tbody id="file_attachment">
                         <c:forEach items="${materialDefectRecord.workAttachments}" var="workClientAttachment"
                                    varStatus="status">
                             <tr>
@@ -1391,9 +1391,6 @@
                     } else if (divId == 'file_other') {
                         idx = $("#file_other tr").length;
                         addRowBaseData("#file_other", idx, otherTpl, data.body.projectAccessoryInfo);
-                    } else if (divId == 'file_attachment01') {
-                        idx = $("#file_attachment01 tr").length;
-                        addRowBaseData("#file_attachment01", idx, fileAttachmentTpl, data.body.projectAccessoryInfo);
                     }
                     parent.layer.msg(data.msg, {icon: 1});
                     top.layer.close(index)
@@ -1434,8 +1431,6 @@
             idx1 = $("#file_gistdata tr").length + 1;
         } else if (list == 'file_other') {
             idx1 = $("#file_other tr").length + 1;
-        } else if (list == 'file_attachment01') {
-            idx1 = $("#file_attachment01 tr").length + 1;
         }
 
         $(list).append(Mustache.render(tpl, {

+ 1 - 1
src/main/webapp/webpage/modules/ruralprojectrecords/record/projectRepordDescriptionModify.jsp

@@ -84,7 +84,7 @@
 				var projectId = '${project.id}';
 				var boolFlag = true;
 				if (boolFlag) {
-				    var gistdata = $("#file_attachment01 tr").length;
+				    var gistdata = $("#file_attachment tr").length;
 				    console.log('说明扫描件数量:' + gistdata)
 				    if (gistdata === 0) {
 				        top.layer.msg("请上传说明扫描件!", {icon: 0});

+ 6 - 3
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/all/ruralProjectMessageAllList.jsp

@@ -839,13 +839,16 @@
 							</div>
 						</div>
 						<div class="layui-item query athird ">
-							<label class="layui-form-label">线下归档:</label>
+							<label class="layui-form-label">纸质归档:</label>
 							<div class="layui-input-block readOnlyFFF">
 								<form:select path="downProjectReportRecordStatus" class=" form-control  simple-select">
 									<form:option value="" label=""/>
 									<form:option value="0" label="未归档"/>
 									<form:option value="2" label="归档中"/>
 									<form:option value="5" label="已归档"/>
+									<form:option value="6" label="超期未归档"/>
+									<form:option value="7" label="超期归档"/>
+									<form:option value="10" label="无需归档"/>
 									<%--									<form:options items="${fns:getDictList('rural_report_audit_state')}" itemLabel="label" itemValue="value" htmlEscape="false"/>--%>
 								</form:select>
 							</div>
@@ -1067,7 +1070,7 @@
 				<%--			var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";--%>
 				<%--		return xml;--%>
 				<%--	}}--%>
-				,{align:'center', title: '线下',  width:100,templet:function(d){
+				,{align:'center', title: '纸质',  width:100,templet:function(d){
 						if (d.submitMoney=="1"){
 							var st = getRuralProjectArchiveState(d.downProjectReportRecordStatus);
 						}else if (d.submitMoney=="2"){
@@ -1129,7 +1132,7 @@
 						}
 						if(d.paperProjectAuditNotifyFlag != undefined && d.paperProjectAuditNotifyFlag !=null && "" != d.paperProjectAuditNotifyFlag && d.paperProjectAuditNotifyFlag == 1)
 						{
-							xml+="<a href=\"#\" onclick=\"notifyDialogre('纸质归档审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.paperProjectNotifyId +"&home=filingAll','95%', '95%')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 线下审批</a>";
+							xml+="<a href=\"#\" onclick=\"notifyDialogre('纸质归档审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=" + d.paperProjectNotifyId +"&home=filingAll','95%', '95%')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 纸质审批</a>";
 						}
 
 

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

@@ -812,7 +812,7 @@
 							</div>
 						</div>
 						<div class="layui-item query athird ">
-							<label class="layui-form-label">线下归档:</label>
+							<label class="layui-form-label">纸质归档:</label>
 							<div class="layui-input-block readOnlyFFF">
 								<form:select path="downProjectReportRecordStatus" class=" form-control  simple-select">
 									<form:option value="" label=""/>
@@ -977,7 +977,7 @@
 				<%--			var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";--%>
 				<%--		return xml;--%>
 				<%--	}}--%>
-                ,{align:'center', title: '线下',  width:70,templet:function(d){
+                ,{align:'center', title: '纸质',  width:70,templet:function(d){
 						if (d.submitMoney=="1"){
 							var st = getRuralProjectArchiveState(d.downProjectReportRecordStatus);
 						}else if (d.submitMoney=="2"){
@@ -1467,7 +1467,7 @@
                             <c:otherwise>"0"</c:otherwise>
                             </c:choose>
 
-                            <%-- 线下归档状态 --%>
+                            <%-- 纸质归档状态 --%>
                             ,"downRecordAdd":<c:choose>
                                 <c:when test="${projectRecords.downProjectReportRecordStatus == 0 && (fns:getUser().id == projectRecords.leaderIds || fns:getUser().id eq projectRecords.createBy.id)}">"1"</c:when>
                                 <c:otherwise>"0"</c:otherwise>

+ 6 - 6
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/ruralProjectMessageLists.jsp

@@ -1164,22 +1164,22 @@
 							}
 						}
 					}
-					//线下归档操作
+					//纸质归档操作
 					/*if(d.projectReportStatus == 5){
 						if(d.downProjectReportRecordStatus == 0){
-							xml+="<a href=\"#\" onclick=\"openDialogre('新增线下归档信息', '${ctx}/ruralProject/ruralProjectDownMessage/formRecord?reportId=" + d.id +"&flag=1','95%', '95%','','送审,关闭')\" class=\"op-btn layui-bg-green\" ><i class=\"fa fa-plus\"></i> 线下归档</a>";
+							xml+="<a href=\"#\" onclick=\"openDialogre('新增纸质归档信息', '${ctx}/ruralProject/ruralProjectDownMessage/formRecord?reportId=" + d.id +"&flag=1','95%', '95%','','送审,关闭')\" class=\"op-btn layui-bg-green\" ><i class=\"fa fa-plus\"></i> 线下归档</a>";
 						}
 						if(d.downProjectReportRecordStatus == 1){
-							xml+="<a href=\"#\" onclick=\"openDialogre('修改归档信息', '${ctx}/ruralProject/ruralProjectDownMessage/formRecordModify?id=" + d.prrdId +"&flag=1','95%', '95%','','送审,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 线下重新归档</a>";
+							xml+="<a href=\"#\" onclick=\"openDialogre('修改归档信息', '${ctx}/ruralProject/ruralProjectDownMessage/formRecordModify?id=" + d.prrdId +"&flag=1','95%', '95%','','送审,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 纸质重新归档</a>";
 						}
 						if(d.downProjectReportRecordStatus == 2){
-							xml+="<a href=\"${ctx}/ruralProject/ruralProjectDownMessage/cancelInvalidate?id=" + d.prrdId + "&flag=1&processInstanceId=" + d.prrdProcessInstanceId + "\" onclick=\"return confirmx('确认要撤回该线下报告归档审批吗?', this.href)\" class=\"op-btn op-btn-cancel\" ><i class=\"glyphicon glyphicon-share-alt\"></i> 撤回线下归档</a>";
+							xml+="<a href=\"${ctx}/ruralProject/ruralProjectDownMessage/cancelInvalidate?id=" + d.prrdId + "&flag=1&processInstanceId=" + d.prrdProcessInstanceId + "\" onclick=\"return confirmx('确认要撤回该纸质归档审批吗?', this.href)\" class=\"op-btn op-btn-cancel\" ><i class=\"glyphicon glyphicon-share-alt\"></i> 撤回线下归档</a>";
 						}
 						if(d.downProjectReportRecordStatus == 3){
-							xml+="<a href=\"#\" onclick=\"openDialogre('撤回调整归档信息', '${ctx}/ruralProject/ruralProjectDownMessage/formRecordModify?id=" + d.prrdId + "&flag=1','95%', '95%','','送审,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 线下重新归档</a>";
+							xml+="<a href=\"#\" onclick=\"openDialogre('撤回调整归档信息', '${ctx}/ruralProject/ruralProjectDownMessage/formRecordModify?id=" + d.prrdId + "&flag=1','95%', '95%','','送审,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 纸质重新归档</a>";
 						}
 						if(d.downProjectReportRecordStatus == 4){
-							xml+="<a href=\"#\" onclick=\"openDialogre('调整归档信息', '${ctx}/ruralProject/ruralProjectDownMessage/formRecordModify?id=" + d.prrdId + "&view=modify&flag=1','95%', '95%','','送审,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 线下重新归档</a>";
+							xml+="<a href=\"#\" onclick=\"openDialogre('调整归档信息', '${ctx}/ruralProject/ruralProjectDownMessage/formRecordModify?id=" + d.prrdId + "&view=modify&flag=1','95%', '95%','','送审,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 纸质重新归档</a>";
 						}
 					}*/
 

+ 69 - 0
src/main/webapp/webpage/modules/statement/companyDataView.jsp

@@ -1102,6 +1102,10 @@
 						}
 					}}
 				,{align:'center', title: '电子超期未归档',colspan: 2}
+				,{align:'center', title: 'A类纸质超期归档',colspan: 2}
+				<c:if test="${nyr eq '季'}">
+				,{align:'center', title: 'B类批量超期归档',colspan: 2}
+				</c:if>
 				,{align:'center', title: '上报超期',colspan:2}
             ],
 			[
@@ -1119,6 +1123,38 @@
 						return "<span title='"+ d.field6 +"'>" +d.field6+ "</span>";
 					}
 				}}
+
+				,{field:'field13',align:'center',title:'超期未归档',templet:function(d){
+						if("" != d.statementDate){
+							return "<a class=\"attention-info\" title=\"" + d.field13 + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('超期未归档', '${ctx}/statement/StatementCompanyComprehensive/projectReportList?bigDateType=" + d.bigDateType +"&smallDateType=" + d.smallDateType +"&officeId="+d.officeId+"&year="+d.year+"&field13=5','95%', '95%')\">" + d.field13 + "</a>";
+						}else{
+							return "<span title='"+ d.field13 +"'>" +d.field13+ "</span>";
+						}
+					}}
+				,{field:'field14',align:'center',title:'超期已归档',templet:function(d){
+					if("" != d.statementDate){
+						return "<a class=\"attention-info\" title=\"" + d.field14 + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('超期已归档', '${ctx}/statement/StatementCompanyComprehensive/projectReportList?bigDateType=" + d.bigDateType +"&smallDateType=" + d.smallDateType +"&officeId="+d.officeId+"&year="+d.year+"&field14=5','95%', '95%')\">" + d.field14 + "</a>";
+					}else{
+						return "<span title='"+ d.field14 +"'>" +d.field14+ "</span>";
+					}
+				}}
+				<c:if test="${nyr eq '季'}">
+				,{field:'field15',align:'center',title:'超期未归档',templet:function(d){
+					if("" != d.statementDate){
+						return "<a class=\"attention-info\" title=\"" + d.field15 + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('超期未归档', '${ctx}/statement/StatementCompanyComprehensive/projectReportList?bigDateType=" + d.bigDateType +"&smallDateType=" + d.smallDateType +"&officeId="+d.officeId+"&year="+d.year+"&field15=5','95%', '95%')\">" + d.field15 + "</a>";
+					}else{
+						return "<span title='"+ d.field15 +"'>" +d.field15+ "</span>";
+					}
+				}}
+				,{field:'field16',align:'center',title:'超期已归档',templet:function(d){
+					if("" != d.statementDate){
+						return "<a class=\"attention-info\" title=\"" + d.field16 + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('超期已归档', '${ctx}/statement/StatementCompanyComprehensive/projectReportList?bigDateType=" + d.bigDateType +"&smallDateType=" + d.smallDateType +"&officeId="+d.officeId+"&year="+d.year+"&field16=5','95%', '95%')\">" + d.field16 + "</a>";
+					}else{
+						return "<span title='"+ d.field16 +"'>" +d.field16+ "</span>";
+					}
+				}}
+				</c:if>
+
 				,{field:'field7',align:'center',title:'超期未上报',templet:function(d){
 					if("" != d.statementDate){
 						return "<a class=\"attention-info\" title=\"" + d.field7 + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('超期未上报', '${ctx}/statement/StatementCompanyComprehensive/projectReportList?bigDateType=" + d.bigDateType +"&smallDateType=" + d.smallDateType +"&officeId="+d.officeId+"&year="+d.year+"&field7=5','95%', '95%')\">" + d.field7 + "</a>";
@@ -1154,6 +1190,14 @@
 					,"field6":"${reportFormList.field6}"
 					,"field7":"${reportFormList.field7}"
 					,"field8":"${reportFormList.field8}"
+					,"field9":"${reportFormList.field9}"
+					,"field10":"${reportFormList.field10}"
+					,"field11":"${reportFormList.field11}"
+					,"field12":"${reportFormList.field12}"
+					,"field13":"${reportFormList.field13}"
+					,"field14":"${reportFormList.field14}"
+					,"field15":"${reportFormList.field15}"
+					,"field16":"${reportFormList.field16}"
 				}
 				</c:forEach>
 			]
@@ -1351,6 +1395,7 @@
 						}
 					}}
 				,{align:'center', title: '电子超期未归档',colspan: 2}
+				,{align:'center', title: 'A类纸质超期归档',colspan: 2}
 				,{align:'center', title: '上报超期',colspan:2}
 			],
 				[
@@ -1368,6 +1413,22 @@
 							return "<span title='"+ d.field6 +"'>" +d.field6+ "</span>";
 						}
 					}}
+
+					,{field:'field13',align:'center',title:'超期未归档',templet:function(d){
+						if("" != d.statementDate){
+							return "<a class=\"attention-info\" title=\"" + d.field13 + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('超期未归档', '${ctx}/statement/StatementCompanyComprehensive/projectReportList?bigDateType=" + d.bigDateType +"&smallDateType=" + d.smallDateType +"&officeId="+d.officeId+"&year="+d.year+"&field13=5','95%', '95%')\">" + d.field13 + "</a>";
+						}else{
+							return "<span title='"+ d.field13 +"'>" +d.field13+ "</span>";
+						}
+					}}
+					,{field:'field14',align:'center',title:'超期已归档',templet:function(d){
+						if("" != d.statementDate){
+							return "<a class=\"attention-info\" title=\"" + d.field14 + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('超期已归档', '${ctx}/statement/StatementCompanyComprehensive/projectReportList?bigDateType=" + d.bigDateType +"&smallDateType=" + d.smallDateType +"&officeId="+d.officeId+"&year="+d.year+"&field14=5','95%', '95%')\">" + d.field14 + "</a>";
+						}else{
+							return "<span title='"+ d.field14 +"'>" +d.field14+ "</span>";
+						}
+					}}
+
 					,{field:'field7',align:'center',title:'超期未上报',templet:function(d){
 						if("" != d.statementDate){
 							return "<a class=\"attention-info\" title=\"" + d.field7 + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('超期未上报', '${ctx}/statement/StatementCompanyComprehensive/projectReportListByYear?bigDateType=" + d.bigDateType +"&smallDateType=" + d.smallDateType +"&officeId="+d.officeId+"&year="+d.year+"&field7=5','95%', '95%')\">" + d.field7 + "</a>";
@@ -1403,6 +1464,14 @@
 					,"field6":"${reportFormList.field6}"
 					,"field7":"${reportFormList.field7}"
 					,"field8":"${reportFormList.field8}"
+					,"field9":"${reportFormList.field9}"
+					,"field10":"${reportFormList.field10}"
+					,"field11":"${reportFormList.field11}"
+					,"field12":"${reportFormList.field12}"
+					,"field13":"${reportFormList.field13}"
+					,"field14":"${reportFormList.field14}"
+					,"field15":"${reportFormList.field15}"
+					,"field16":"${reportFormList.field16}"
 				}
 				</c:forEach>
 			]

+ 25 - 2
src/main/webapp/webpage/modules/statement/companyReportDataView.jsp

@@ -128,6 +128,7 @@
 				,{align:'center', title: '质量复核',colspan: 2}
 				,{align:'center', title: '电子超期未归档',colspan: 2}
 				,{align:'center', title: '纸质归档',colspan:2}
+				,{align:'center', title: 'A类纸质超期归档',colspan: 2}
 				,{align:'center', title: '上报超期',colspan:2}
             ],
 			[
@@ -174,6 +175,22 @@
 						return "<span title='"+ d.field10 +"'>" +d.field10+ "</span>";
 					}
 				}}
+
+				,{field:'field13',align:'center',title:'超期未归档',templet:function(d){
+					if("" != d.statementDate){
+						return "<a class=\"attention-info\" title=\"" + d.field13 + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('超期未归档', '${ctx}/statement/StatementCompanyComprehensive/projectReportList?bigDateType=" + d.bigDateType +"&smallDateType=" + d.smallDateType +"&officeId="+d.officeId+"&year="+d.year+"&field13=5','95%', '95%')\">" + d.field13 + "</a>";
+					}else{
+						return "<span title='"+ d.field13 +"'>" +d.field13+ "</span>";
+					}
+				}}
+				,{field:'field14',align:'center',title:'超期已归档',templet:function(d){
+					if("" != d.statementDate){
+						return "<a class=\"attention-info\" title=\"" + d.field14 + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('超期已归档', '${ctx}/statement/StatementCompanyComprehensive/projectReportList?bigDateType=" + d.bigDateType +"&smallDateType=" + d.smallDateType +"&officeId="+d.officeId+"&year="+d.year+"&field14=5','95%', '95%')\">" + d.field14 + "</a>";
+					}else{
+						return "<span title='"+ d.field14 +"'>" +d.field14+ "</span>";
+					}
+				}}
+
 				,{field:'field7',align:'center',title:'超期未上报',templet:function(d){
 					if("" != d.statementDate){
 						return "<a class=\"attention-info\" title=\"" + d.field7 + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('超期未上报', '${ctx}/statement/StatementCompanyComprehensive/projectReportList?bigDateType=" + d.bigDateType +"&smallDateType=" + d.smallDateType +"&officeId="+d.officeId+"&year="+d.year+"&field7=5','95%', '95%')\">" + d.field7 + "</a>";
@@ -206,10 +223,16 @@
 					,"field12":"${reportFormList.field12}"
 					,"field5":"${reportFormList.field5}"
 					,"field6":"${reportFormList.field6}"
-					,"field9":"${reportFormList.field9}"
-					,"field10":"${reportFormList.field10}"
 					,"field7":"${reportFormList.field7}"
 					,"field8":"${reportFormList.field8}"
+					,"field9":"${reportFormList.field9}"
+					,"field10":"${reportFormList.field10}"
+					,"field11":"${reportFormList.field11}"
+					,"field12":"${reportFormList.field12}"
+					,"field13":"${reportFormList.field13}"
+					,"field14":"${reportFormList.field14}"
+					,"field15":"${reportFormList.field15}"
+					,"field16":"${reportFormList.field16}"
 				}
 				</c:forEach>
 			]

+ 88 - 0
src/main/webapp/webpage/modules/statement/departmentCompanyDataView.jsp

@@ -1116,6 +1116,10 @@
 						}
 					}}
 				,{align:'center', title: '电子超期未归档',colspan: 2}
+				,{align:'center', title: 'A类纸质超期归档',colspan: 2}
+				<c:if test="${nyr eq '季'}">
+				,{align:'center', title: 'B类批量超期归档',colspan: 2}
+				</c:if>
 				,{align:'center', title: '上报超期',colspan:2}
             ],
 			[
@@ -1133,6 +1137,38 @@
 						return "<span title='"+ d.field6 +"'>" +d.field6+ "</span>";
 					}
 				}}
+
+				,{field:'field13',align:'center',title:'超期未归档',templet:function(d){
+					if("" != d.statementDate){
+						return "<a class=\"attention-info\" title=\"" + d.field13 + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('超期未归档', '${ctx}/statement/StatementCompanyComprehensive/departmentProjectReportList?bigDateType=" + d.bigDateType +"&smallDateType=" + d.smallDateType +"&userId="+d.userId+"&officeId="+d.officeId+"&year="+d.year+"&field13=5','95%', '95%')\">" + d.field13 + "</a>";
+					}else{
+						return "<span title='"+ d.field13 +"'>" +d.field13+ "</span>";
+					}
+				}}
+				,{field:'field14',align:'center',title:'超期已归档',templet:function(d){
+					if("" != d.statementDate){
+						return "<a class=\"attention-info\" title=\"" + d.field14 + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('超期已归档', '${ctx}/statement/StatementCompanyComprehensive/departmentProjectReportList?bigDateType=" + d.bigDateType +"&smallDateType=" + d.smallDateType +"&userId="+d.userId+"&officeId="+d.officeId+"&year="+d.year+"&field14=5','95%', '95%')\">" + d.field14 + "</a>";
+					}else{
+						return "<span title='"+ d.field14 +"'>" +d.field14+ "</span>";
+					}
+				}}
+				<c:if test="${nyr eq '季'}">
+				,{field:'field15',align:'center',title:'超期未归档',templet:function(d){
+					if("" != d.statementDate){
+						return "<a class=\"attention-info\" title=\"" + d.field15 + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('超期未归档', '${ctx}/statement/StatementCompanyComprehensive/departmentProjectReportList?bigDateType=" + d.bigDateType +"&smallDateType=" + d.smallDateType +"&userId="+d.userId +"&officeId="+d.officeId+"&year="+d.year+"&field15=5','95%', '95%')\">" + d.field15 + "</a>";
+					}else{
+						return "<span title='"+ d.field15 +"'>" +d.field15+ "</span>";
+					}
+				}}
+				,{field:'field16',align:'center',title:'超期已归档',templet:function(d){
+					if("" != d.statementDate){
+						return "<a class=\"attention-info\" title=\"" + d.field16 + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('超期已归档', '${ctx}/statement/StatementCompanyComprehensive/departmentProjectReportList?bigDateType=" + d.bigDateType +"&smallDateType=" + d.smallDateType +"&userId="+d.userId +"&officeId="+d.officeId+"&year="+d.year+"&field16=5','95%', '95%')\">" + d.field16 + "</a>";
+					}else{
+						return "<span title='"+ d.field16 +"'>" +d.field16+ "</span>";
+					}
+				}}
+				</c:if>
+
 				,{field:'field7',align:'center',title:'超期未上报',templet:function(d){
 					if("" != d.statementDate){
 						return "<a class=\"attention-info\" title=\"" + d.field7 + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('超期未上报', '${ctx}/statement/StatementCompanyComprehensive/departmentProjectReportList?bigDateType=" + d.bigDateType +"&smallDateType=" + d.smallDateType +"&officeId="+d.officeId+"&year="+d.year+"&userId="+d.userId+"&field7=5','95%', '95%')\">" + d.field7 + "</a>";
@@ -1171,6 +1207,14 @@
 					,"field6":"${reportFormList.field6}"
 					,"field7":"${reportFormList.field7}"
 					,"field8":"${reportFormList.field8}"
+					,"field9":"${reportFormList.field9}"
+					,"field10":"${reportFormList.field10}"
+					,"field11":"${reportFormList.field11}"
+					,"field12":"${reportFormList.field12}"
+					,"field13":"${reportFormList.field13}"
+					,"field14":"${reportFormList.field14}"
+					,"field15":"${reportFormList.field15}"
+					,"field16":"${reportFormList.field16}"
 				}
 				</c:forEach>
 			]
@@ -1381,6 +1425,10 @@
 						}
 					}}
 				,{align:'center', title: '电子超期未归档',colspan: 2}
+				,{align:'center', title: 'A类纸质超期归档',colspan: 2}
+				<c:if test="${nyr eq '季'}">
+				,{align:'center', title: 'B类批量超期归档',colspan: 2}
+				</c:if>
 				,{align:'center', title: '上报超期',colspan:2}
 			],
 				[
@@ -1398,6 +1446,38 @@
 							return "<span title='"+ d.field6 +"'>" +d.field6+ "</span>";
 						}
 					}}
+
+					,{field:'field13',align:'center',title:'超期未归档',templet:function(d){
+						if("" != d.statementDate){
+							return "<a class=\"attention-info\" title=\"" + d.field13 + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('超期未归档', '${ctx}/statement/StatementCompanyComprehensive/departmentProjectReportList?bigDateType=" + d.bigDateType +"&smallDateType=" + d.smallDateType +"&userId="+d.userId+"&officeId="+d.officeId+"&year="+d.year+"&field13=5','95%', '95%')\">" + d.field13 + "</a>";
+						}else{
+							return "<span title='"+ d.field13 +"'>" +d.field13+ "</span>";
+						}
+					}}
+					,{field:'field14',align:'center',title:'超期已归档',templet:function(d){
+						if("" != d.statementDate){
+							return "<a class=\"attention-info\" title=\"" + d.field14 + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('超期已归档', '${ctx}/statement/StatementCompanyComprehensive/departmentProjectReportList?bigDateType=" + d.bigDateType +"&smallDateType=" + d.smallDateType +"&userId="+d.userId+"&officeId="+d.officeId+"&year="+d.year+"&field14=5','95%', '95%')\">" + d.field14 + "</a>";
+						}else{
+							return "<span title='"+ d.field14 +"'>" +d.field14+ "</span>";
+						}
+					}}
+					<c:if test="${nyr eq '季'}">
+					,{field:'field15',align:'center',title:'超期未归档',templet:function(d){
+						if("" != d.statementDate){
+							return "<a class=\"attention-info\" title=\"" + d.field15 + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('超期未归档', '${ctx}/statement/StatementCompanyComprehensive/departmentProjectReportList?bigDateType=" + d.bigDateType +"&smallDateType=" + d.smallDateType +"&userId="+d.userId +"&officeId="+d.officeId+"&year="+d.year+"&field15=5','95%', '95%')\">" + d.field15 + "</a>";
+						}else{
+							return "<span title='"+ d.field15 +"'>" +d.field15+ "</span>";
+						}
+					}}
+					,{field:'field16',align:'center',title:'超期已归档',templet:function(d){
+						if("" != d.statementDate){
+							return "<a class=\"attention-info\" title=\"" + d.field16 + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('超期已归档', '${ctx}/statement/StatementCompanyComprehensive/departmentProjectReportList?bigDateType=" + d.bigDateType +"&smallDateType=" + d.smallDateType +"&userId="+d.userId +"&officeId="+d.officeId+"&year="+d.year+"&field16=5','95%', '95%')\">" + d.field16 + "</a>";
+						}else{
+							return "<span title='"+ d.field16 +"'>" +d.field16+ "</span>";
+						}
+					}}
+					</c:if>
+
 					,{field:'field7',align:'center',title:'超期未上报',templet:function(d){
 						if("" != d.statementDate){
 							return "<a class=\"attention-info\" title=\"" + d.field7 + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('超期未上报', '${ctx}/statement/StatementCompanyComprehensive/departmentProjectReportListByYear?bigDateType=" + d.bigDateType +"&smallDateType=" + d.smallDateType +"&officeId="+d.officeId+"&year="+d.year+"&userId="+d.userId+"&field7=5','95%', '95%')\">" + d.field7 + "</a>";
@@ -1436,6 +1516,14 @@
 					,"field6":"${reportFormList.field6}"
 					,"field7":"${reportFormList.field7}"
 					,"field8":"${reportFormList.field8}"
+					,"field9":"${reportFormList.field9}"
+					,"field10":"${reportFormList.field10}"
+					,"field11":"${reportFormList.field11}"
+					,"field12":"${reportFormList.field12}"
+					,"field13":"${reportFormList.field13}"
+					,"field14":"${reportFormList.field14}"
+					,"field15":"${reportFormList.field15}"
+					,"field16":"${reportFormList.field16}"
 				}
 				</c:forEach>
 			]

+ 8 - 0
src/main/webapp/webpage/modules/statement/departmentProjectReportList.jsp

@@ -375,6 +375,14 @@
 					<input id="field6" name="field6" type="hidden" value="${field6}"/>
 					<input id="field7" name="field7" type="hidden" value="${field7}"/>
 					<input id="field8" name="field8" type="hidden" value="${field8}"/>
+					<input id="field9" name="field9" type="hidden" value="${field9}"/>
+					<input id="field10" name="field10" type="hidden" value="${field10}"/>
+					<input id="field11" name="field11" type="hidden" value="${field11}"/>
+					<input id="field12" name="field12" type="hidden" value="${field12}"/>
+					<input id="field13" name="field13" type="hidden" value="${field13}"/>
+					<input id="field14" name="field14" type="hidden" value="${field14}"/>
+					<input id="field15" name="field15" type="hidden" value="${field15}"/>
+					<input id="field16" name="field16" type="hidden" value="${field16}"/>
 
 					<table:sortColumn id="orderBy" name="orderBy" value="${page.orderBy}" callback="sortOrRefresh();"/><!-- 支持排序 -->
 					<div class="commonQuery lw6">

+ 7 - 3
src/main/webapp/webpage/modules/statement/projectReportList.jsp

@@ -378,9 +378,13 @@
 					<input id="field7" name="field7" type="hidden" value="${field7}"/>
 					<input id="field8" name="field8" type="hidden" value="${field8}"/>
 					<input id="field9" name="field9" type="hidden" value="${field9}"/>
-					<input id="field9" name="field10" type="hidden" value="${field10}"/>
-					<input id="field9" name="field11" type="hidden" value="${field11}"/>
-					<input id="field9" name="field12" type="hidden" value="${field12}"/>
+					<input id="field10" name="field10" type="hidden" value="${field10}"/>
+					<input id="field11" name="field11" type="hidden" value="${field11}"/>
+					<input id="field12" name="field12" type="hidden" value="${field12}"/>
+					<input id="field13" name="field13" type="hidden" value="${field13}"/>
+					<input id="field14" name="field14" type="hidden" value="${field14}"/>
+					<input id="field15" name="field15" type="hidden" value="${field15}"/>
+					<input id="field16" name="field16" type="hidden" value="${field16}"/>
 
 					<table:sortColumn id="orderBy" name="orderBy" value="${page.orderBy}" callback="sortOrRefresh();"/><!-- 支持排序 -->
 					<div class="commonQuery lw6">

+ 1 - 1
src/main/webapp/webpage/modules/sys/sysHome.jsp

@@ -1040,7 +1040,7 @@
         xml = "<a  href=\"javascript:void(0)\" onclick=\"openDialogPass('待审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=${workProjectNotify.id}','95%','95%','','通过,关闭')\">";
         </c:when>
         <c:when test="${workProjectNotify.type == 140 && workProjectNotify.notifyRole eq '项目负责人审批'}">
-        xml = "<a  href=\"javascript:void(0)\" onclick=\"masterCheck('提交线下归档', '${ctx}/workprojectnotify/workProjectNotify/form?id=${workProjectNotify.id}','95%','95%')\">";
+        xml = "<a  href=\"javascript:void(0)\" onclick=\"masterCheck('提交纸质归档', '${ctx}/workprojectnotify/workProjectNotify/form?id=${workProjectNotify.id}','95%','95%')\">";
         </c:when>
         <c:when test="${workProjectNotify.type == 76 && workProjectNotify.notifyRole eq '案例审核人审批'}">
         xml = "<a  href=\"javascript:void(0)\" onclick=\"openDialogreExample('待审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=${workProjectNotify.id}','95%','95%')\">";

+ 1 - 1
src/main/webapp/webpage/modules/sys/sysLogin.jsp

@@ -18,7 +18,7 @@
 	<link href="${ctxStatic}/awesome/4.4/css/font-awesome.min.css" rel="stylesheet" />
 	<!-- jeeplus -->
 	<link href="${ctxStatic}/common/jeeplus.css" type="text/css" rel="stylesheet" />
-	<script src="${ctxStatic}/common/jeeplus.js" type="text/javascript"></script>
+	<script src="${ctxStatic}/common/jeeplus.js?6" type="text/javascript"></script>
 	<link rel="shortcut icon" href="images/favicon.png" type="image/png">
 	<!-- text fonts -->
 	<link rel="stylesheet" href="${ctxStatic }/common/login/ace-fonts.css" />