ソースを参照

全过程功能调整

user5 4 年 前
コミット
f7949be297
38 ファイル変更601 行追加120 行削除
  1. 8 0
      src/main/java/com/jeeplus/modules/projectConstruction/web/ContractController.java
  2. 7 0
      src/main/java/com/jeeplus/modules/projectcontentinfo/dao/ProjectReportDataDao.java
  3. 1 1
      src/main/java/com/jeeplus/modules/projectcontentinfo/service/ProjectReportDataService.java
  4. 9 0
      src/main/java/com/jeeplus/modules/projectrecord/entity/ProjectImplementEarly.java
  5. 27 0
      src/main/java/com/jeeplus/modules/projectrecord/entity/ProjectRecords.java
  6. 1 0
      src/main/java/com/jeeplus/modules/projectrecord/service/ProjectImplementEarlyService.java
  7. 4 0
      src/main/java/com/jeeplus/modules/projectrecord/service/ProjectRecordsService.java
  8. 2 0
      src/main/java/com/jeeplus/modules/projectrecord/service/completion/ProjectCompletionPigeonholeService.java
  9. 2 0
      src/main/java/com/jeeplus/modules/projectrecord/service/early/ProjectEarlyPigeonholeService.java
  10. 2 0
      src/main/java/com/jeeplus/modules/projectrecord/service/early/ProjectEarlyReviewService.java
  11. 9 1
      src/main/java/com/jeeplus/modules/projectrecord/web/ProjectPlanController.java
  12. 4 0
      src/main/java/com/jeeplus/modules/projectrecord/web/ProjectRecordsController.java
  13. 14 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/dao/RuralProjectRecordsDao.java
  14. 11 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralProjectRecordReportInfo.java
  15. 62 53
      src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralProjectRecords.java
  16. 6 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectRecordReportService.java
  17. 51 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectRecordsService.java
  18. 1 1
      src/main/java/com/jeeplus/modules/sys/web/UserController.java
  19. 16 0
      src/main/java/com/jeeplus/modules/workprojectnotify/web/WorkProjectNotifyController.java
  20. 1 1
      src/main/resources/mappings/modules/constructionContract/contractDao.xml
  21. 34 0
      src/main/resources/mappings/modules/projectcontentinfo/ProjectReportDataDao.xml
  22. 4 2
      src/main/resources/mappings/modules/projectcontentinfo/ProjectReportRecordDao.xml
  23. 8 2
      src/main/resources/mappings/modules/projectrecord/ProjectImplementEarlyDao.xml
  24. 48 15
      src/main/resources/mappings/modules/projectrecord/ProjectRecordsDao.xml
  25. 8 2
      src/main/resources/mappings/modules/projectrecord/completion/ProjectCompletionPigeonholeDao.xml
  26. 8 2
      src/main/resources/mappings/modules/projectrecord/early/ProjectEarlyReviewDao.xml
  27. 6 0
      src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectRecordReportDao.xml
  28. 207 0
      src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectRecordsDao.xml
  29. 1 1
      src/main/resources/mappings/modules/sys/OfficeDao.xml
  30. 1 1
      src/main/webapp/webpage/modules/processProjectPlan/plan/processProjectPlanList.jsp
  31. 3 3
      src/main/webapp/webpage/modules/projectrecord/projectRecordsAlterModify.jsp
  32. 1 1
      src/main/webapp/webpage/modules/projectrecord/projectRecordsAlterView.jsp
  33. 2 2
      src/main/webapp/webpage/modules/projectrecord/projectRecordsModify.jsp
  34. 2 2
      src/main/webapp/webpage/modules/projectrecord/projectRecordsView.jsp
  35. 2 2
      src/main/webapp/webpage/modules/projectrecord/workContentFromAndView/projectEarlyForm.jsp
  36. 2 2
      src/main/webapp/webpage/modules/projectrecord/workContentFromAndView/projectReportRecordForm.jsp
  37. 6 6
      src/main/webapp/webpage/modules/projectrecord/workContentFromAndView/workContentForm.jsp
  38. 20 20
      src/main/webapp/webpage/modules/workcontent/workFiveDirectionsAffirmListView.jsp

+ 8 - 0
src/main/java/com/jeeplus/modules/projectConstruction/web/ContractController.java

@@ -651,6 +651,14 @@ public class ContractController extends BaseController {
         ProjectRecords records = projectRecordsService.getQueryProjectUsers(projectFollowReport.getProjectId());
         //项目信息添加到跟踪咨询报告信息中
         projectFollowReport.setProject(records);
+
+        ProjectContentData projectContentData = new ProjectContentData();
+        //获取依据性文件信息
+        projectContentData.setProjectBasedDataList(projectImplementEarlyService.getBasedData(projectFollowReport));
+        /**获取项目的附件信息*/
+        projectFollowReport.setWorkAttachments(projectImplementEarlyService.getWorkattachment(projectFollowReport));
+        projectFollowReport.setProjectContentData(projectContentData);
+
         //查询工作流信息
         ProcessInstance processInstance = actTaskService.getProcIns(projectFollowReport.getProcessInstanceId());
         if (processInstance!=null) {

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

@@ -116,4 +116,11 @@ public interface ProjectReportDataDao extends CrudDao<ProjectReportData> {
      * @return
      */
     ProjectReportData getProjectReportData(String projectId);
+
+    /**
+     * 全过程根据id查询归档报告信息
+     * @param projectReportData
+     * @return
+     */
+    ProjectReportData processFindInfoByStatus(ProjectReportData projectReportData);
 }

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

@@ -256,7 +256,7 @@ public class ProjectReportDataService extends CrudService<ProjectReportDataDao,
 	 */
 	public ProjectReportData findInfoByStatus(ProjectReportData projectReportData) {
 		//询报告详情信息
-		ProjectReportData projectReportDatas = dao.findInfoByStatus(projectReportData);
+		ProjectReportData projectReportDatas = dao.processFindInfoByStatus(projectReportData);
 		//判断是否为空 不为空则添加项目负责人信息
 		if (null != projectReportDatas){
 			String projectMaster = projectRecordsService.getMasterStr(projectReportDatas.getProject().getId());

+ 9 - 0
src/main/java/com/jeeplus/modules/projectrecord/entity/ProjectImplementEarly.java

@@ -58,6 +58,7 @@ public class ProjectImplementEarly extends DataEntity<ProjectImplementEarly> {
     private String projectTypeId; //项目类型
 
     private ProjectReportData reportData;//报告
+    private String projectType; //类型 1.工程咨询 2.造价审核
 
     public ProjectReportData getReportData() {
         return reportData;
@@ -620,4 +621,12 @@ public class ProjectImplementEarly extends DataEntity<ProjectImplementEarly> {
     public void setProjectContentId(String projectContentId) {
         this.projectContentId = projectContentId;
     }
+
+    public String getProjectType() {
+        return projectType;
+    }
+
+    public void setProjectType(String projectType) {
+        this.projectType = projectType;
+    }
 }

+ 27 - 0
src/main/java/com/jeeplus/modules/projectrecord/entity/ProjectRecords.java

@@ -60,6 +60,9 @@ public class ProjectRecords extends ActEntity<ProjectRecords> {
 
 	private String view;   //显示判断条件
 	private Integer operationSign;
+	private Date startDate;   //工作开始时间
+	private Date endingDate;  //工作结束时间
+	private Double estimateTotalFees;  //预估总投资额
 
 	//新添代码
 	private String projectTypeId; //项目类型
@@ -719,4 +722,28 @@ public class ProjectRecords extends ActEntity<ProjectRecords> {
 	public void setOverDueStatus(Integer overDueStatus) {
 		this.overDueStatus = overDueStatus;
 	}
+
+	public Date getStartDate() {
+		return startDate;
+	}
+
+	public void setStartDate(Date startDate) {
+		this.startDate = startDate;
+	}
+
+	public Date getEndingDate() {
+		return endingDate;
+	}
+
+	public void setEndingDate(Date endingDate) {
+		this.endingDate = endingDate;
+	}
+
+	public Double getEstimateTotalFees() {
+		return estimateTotalFees;
+	}
+
+	public void setEstimateTotalFees(Double estimateTotalFees) {
+		this.estimateTotalFees = estimateTotalFees;
+	}
 }

+ 1 - 0
src/main/java/com/jeeplus/modules/projectrecord/service/ProjectImplementEarlyService.java

@@ -121,6 +121,7 @@ public class ProjectImplementEarlyService extends CrudService<ProjectImplementEa
             }
             projectRecords.getSqlMap().put("dsf", dataScopeSql);
         }
+        projectRecords.setProjectType("3");
         //获取数据条数
         Integer count = dao.getProjectRecodesCount(projectRecords);
         page.setCount(count);

+ 4 - 0
src/main/java/com/jeeplus/modules/projectrecord/service/ProjectRecordsService.java

@@ -226,6 +226,8 @@ public class ProjectRecordsService extends CrudService<ProjectRecordsDao, Projec
 			}
             projectRecords.getSqlMap().put("dsf", dataScopeSql);
         }
+        //添加全过程项目类型标识
+		projectRecords.setProjectType("3");
         //查询数据条数
         int count = dao.queryCount(projectRecords);
         page.setCount(count);
@@ -253,6 +255,7 @@ public class ProjectRecordsService extends CrudService<ProjectRecordsDao, Projec
 			}
             projectRecords.getSqlMap().put("dsf", dataScopeSql);
         }
+		projectRecords.setProjectType("3");
         //查询数据条数
         int count = dao.processProjectPlanCount(projectRecords);
         page.setCount(count);
@@ -358,6 +361,7 @@ public class ProjectRecordsService extends CrudService<ProjectRecordsDao, Projec
 			}
 			projectRecords.getSqlMap().put("dsf", dataScopeSql);
 		}
+		projectRecords.setProjectType("3");
 		int count = dao.processQueryCountByStatus(projectRecords);
 		page.setCount(count);
 		page.setCountFlag(false);

+ 2 - 0
src/main/java/com/jeeplus/modules/projectrecord/service/completion/ProjectCompletionPigeonholeService.java

@@ -53,6 +53,8 @@ public class ProjectCompletionPigeonholeService extends CrudService<ProjectCompl
             }
             projectRecords.getSqlMap().put("dsf", dataScopeSql);
         }
+        //添加全过程项目类型标识
+        projectRecords.setProjectType("3");
         Integer count = dao.getProjectRecodesCount(projectRecords);
         page.setCount(count);
         page.setCountFlag(false);

+ 2 - 0
src/main/java/com/jeeplus/modules/projectrecord/service/early/ProjectEarlyPigeonholeService.java

@@ -54,6 +54,8 @@ public class ProjectEarlyPigeonholeService extends CrudService<ProjectCompletion
             }
             projectRecords.getSqlMap().put("dsf", dataScopeSql);
         }
+        //添加项目状态(全过程项目)
+        projectRecords.setProjectType("3");
         Integer count = dao.getProjectRecodesCount(projectRecords);
         page.setCount(count);
         page.setCountFlag(false);

+ 2 - 0
src/main/java/com/jeeplus/modules/projectrecord/service/early/ProjectEarlyReviewService.java

@@ -66,6 +66,8 @@ public class ProjectEarlyReviewService extends CrudService<ProjectEarlyReviewDao
             }
             projectRecords.getSqlMap().put("dsf", dataScopeSql);
         }
+        //添加项目状态(全过程项目)
+        projectRecords.setProjectType("3");
         //查询数据条数
         Integer count = dao.getProjectRecodesCount(projectRecords);
         page.setCount(count);

+ 9 - 1
src/main/java/com/jeeplus/modules/projectrecord/web/ProjectPlanController.java

@@ -1,5 +1,6 @@
 package com.jeeplus.modules.projectrecord.web;
 
+import com.google.common.collect.Lists;
 import com.jeeplus.common.config.Global;
 import com.jeeplus.common.persistence.Page;
 import com.jeeplus.common.utils.Collections3;
@@ -84,8 +85,15 @@ public class ProjectPlanController extends BaseController {
             model.addAttribute("flag","1");
         }
         projectRecords.setProjectStatus(5);
+
+        List<String> typeList = Lists.newArrayList();
+        //添加项目类型
+        typeList.add("1");  //项目咨询
+        typeList.add("2");  //造价审核
+        projectRecords.setTypeList(typeList);
+
         //查询已审核通过的项目信息
-        Page<RuralProjectRecords> page = ruralProjectRecordsService.findPage(new Page<RuralProjectRecords>(request, response), projectRecords);
+        Page<RuralProjectRecords> page = ruralProjectRecordsService.projectPlanFindPage(new Page<RuralProjectRecords>(request, response), projectRecords);
         //无合同状态下,获取委托方的名称,并将委托方信息添加到数据中
         List<RuralProjectRecords> list = page.getList();
         for (int i = 0; i < list.size(); i++) {

+ 4 - 0
src/main/java/com/jeeplus/modules/projectrecord/web/ProjectRecordsController.java

@@ -245,6 +245,8 @@ public class ProjectRecordsController extends BaseController {
 		if (!beanValidator(model, projectRecords)){
 			return form(projectRecords, model);
 		}
+		//添加全过程项目类型标识
+		projectRecords.setProjectType("3");
 		try {
 //            projectRecords.setProjectStatus(ProjectStatusEnum.IN_APRL.getValue());
             if (!projectRecords.getIsNewRecord()) {//编辑表单保存
@@ -270,6 +272,8 @@ public class ProjectRecordsController extends BaseController {
 		if (!beanValidator(model, projectRecords)){
 			return form(projectRecords, model);
 		}
+		//添加全过程项目类型标识
+		projectRecords.setProjectType("3");
 		try {
 //            projectRecords.setProjectStatus(ProjectStatusEnum.TSTORE.getValue());
             if (!projectRecords.getIsNewRecord()) {//编辑表单保存

+ 14 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/dao/RuralProjectRecordsDao.java

@@ -102,4 +102,18 @@ public interface RuralProjectRecordsDao extends CrudDao<RuralProjectRecords> {
 
     //批量修改项目上报状态
     void updateProjectReportedState(@Param("idList") List<String> idList);
+
+    /**
+     * 兴光项目管理——项目计划查询数据数量
+     * @param records
+     * @return
+     */
+    Integer projectPlanQueryCount(RuralProjectRecords records);
+
+    /**
+     * 兴光项目管理——项目计划查询详情
+     * @param records
+     * @return
+     */
+    List<RuralProjectRecords> projectPlanFindList(RuralProjectRecords records);
 }

+ 11 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralProjectRecordReportInfo.java

@@ -3,6 +3,8 @@ package com.jeeplus.modules.ruralprojectrecords.entity;
 import com.jeeplus.common.persistence.DataEntity;
 import com.jeeplus.common.utils.excel.annotation.ExcelField;
 
+import java.util.List;
+
 /**
  * @author: 大猫
  * @create: 2020-11-05 14:35
@@ -22,6 +24,7 @@ public class RuralProjectRecordReportInfo extends DataEntity<RuralProjectRecordR
 
     private String projectType;   //类型
     private Integer endingCount;   //结束天数
+    private List<String> typeList;
 
     @ExcelField(title="年份", align=2, sort=2)
     public String getYear() {
@@ -118,4 +121,12 @@ public class RuralProjectRecordReportInfo extends DataEntity<RuralProjectRecordR
     public void setEndingCount(Integer endingCount) {
         this.endingCount = endingCount;
     }
+
+    public List<String> getTypeList() {
+        return typeList;
+    }
+
+    public void setTypeList(List<String> typeList) {
+        this.typeList = typeList;
+    }
 }

+ 62 - 53
src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralProjectRecords.java

@@ -85,6 +85,60 @@ public class RuralProjectRecords extends ActEntity<RuralProjectRecords> {
 	private List<ProjectPlanInfo> projectPlanList= Lists.newArrayList();;//项目计划信息
 	private List<ReportedConsultant> reportedConsultantList= Lists.newArrayList();;//咨询员列表
 	private Integer overDueStatus; //超期状态(0:未超期,1:已超期)
+	private List<String> typeList;
+
+	@NotNull(message = "委托方联系人不能为空")
+	private List<WorkClientLinkman> workClientLinkmanList;		// 委托方联系人
+	private List<WorkClientLinkman> workConstructionLinkmanList;		// 施工方及联系人
+	//@NotBlank(message = "工程概况不能为空")
+	private String projectDesc;		// 工程概况
+	@NotNull(message = "项目负责人不能为空")
+	private List<User> projectLeaders; //项目负责人
+
+	private List<User> projectMembers;  //项目组成员
+
+	private Date startDate;   //工作开始时间
+	private Date endingDate;  //工作结束时间
+
+	private String leaderNameStr;
+	private String leaderIds;
+	private String memberNameStr;
+	private String memberIds;
+
+	private String processInstanceId;
+
+	private Office company;
+	private Office office;
+	private Integer projectStatus;//项目状态
+
+	private String auditType;
+
+	private String alterProcessId;
+	private String userIds;
+	private String delUserIds;
+	private List<User> users;
+	private String userId;
+
+	private String home;
+	private Date beginDate;
+	private Date endDate;
+	private int membercount;
+	private Integer startCount;    //开始数据
+	private Integer endingCount;   //结束数据
+	private String adventDate;   //超期时间
+	private String reportedType;   //超期状态(0:未超期;1:已超期)
+	private Date auditPassDate;   //报告审批日期
+
+	private String TouZiXZ;    //投资性质
+	private String HeTongLeiXing;   //合同类型
+	private Date BaoGaoShuQianFaDate;  //出具报告日期
+	private String ZiXunShouRu;   //咨询收入
+	private String zaoJiaShiZhengHao;   //造价师注册证号
+
+	private List<String> civilProjectList = Lists.newArrayList();
+	private List<WorkClientAttachment> workAttachments = Lists.newArrayList();
+
+	private List<ProjectReportData> projectReportData = Lists.newArrayList();
 
 	public String getPrrId() {
 		return prrId;
@@ -142,59 +196,6 @@ public class RuralProjectRecords extends ActEntity<RuralProjectRecords> {
 		this.reportData = reportData;
 	}
 
-	@NotNull(message = "委托方联系人不能为空")
-	private List<WorkClientLinkman> workClientLinkmanList;		// 委托方联系人
-	private List<WorkClientLinkman> workConstructionLinkmanList;		// 施工方及联系人
-	//@NotBlank(message = "工程概况不能为空")
-	private String projectDesc;		// 工程概况
-	@NotNull(message = "项目负责人不能为空")
-	private List<User> projectLeaders; //项目负责人
-
-	private List<User> projectMembers;  //项目组成员
-
-	private Date startDate;   //工作开始时间
-	private Date endingDate;  //工作结束时间
-
-	private String leaderNameStr;
-	private String leaderIds;
-	private String memberNameStr;
-	private String memberIds;
-
-	private String processInstanceId;
-
-	private Office company;
-	private Office office;
-	private Integer projectStatus;//项目状态
-
-	private String auditType;
-
-	private String alterProcessId;
-	private String userIds;
-	private String delUserIds;
-	private List<User> users;
-	private String userId;
-
-	private String home;
-	private Date beginDate;
-	private Date endDate;
-	private int membercount;
-	private Integer startCount;    //开始数据
-	private Integer endingCount;   //结束数据
-	private String adventDate;   //超期时间
-	private String reportedType;   //超期状态(0:未超期;1:已超期)
-	private Date auditPassDate;   //报告审批日期
-
-	private String TouZiXZ;    //投资性质
-	private String HeTongLeiXing;   //合同类型
-	private Date BaoGaoShuQianFaDate;  //出具报告日期
-	private String ZiXunShouRu;   //咨询收入
-	private String zaoJiaShiZhengHao;   //造价师注册证号
-
-	private List<String> civilProjectList = Lists.newArrayList();
-	private List<WorkClientAttachment> workAttachments = Lists.newArrayList();
-
-	private List<ProjectReportData> projectReportData = Lists.newArrayList();
-
 	public RuralProjectRecords() {
 		super();
 	}
@@ -884,4 +885,12 @@ public class RuralProjectRecords extends ActEntity<RuralProjectRecords> {
 	public void setOverDueStatus(Integer overDueStatus) {
 		this.overDueStatus = overDueStatus;
 	}
+
+	public List<String> getTypeList() {
+		return typeList;
+	}
+
+	public void setTypeList(List<String> typeList) {
+		this.typeList = typeList;
+	}
 }

+ 6 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectRecordReportService.java

@@ -1,5 +1,6 @@
 package com.jeeplus.modules.ruralprojectrecords.service;
 
+import com.google.common.collect.Lists;
 import com.jeeplus.common.persistence.Page;
 import com.jeeplus.common.service.CrudService;
 import com.jeeplus.common.utils.Collections3;
@@ -102,6 +103,11 @@ public class RuralProjectRecordReportService extends CrudService<RuralProjectRec
             ruralProjectRecordReportInfo.setEndingCount(endingCount);
         }
         ruralProjectRecordReportInfo.setPage(page);
+        List<String> typeList = Lists.newArrayList();
+        //添加项目类型
+        typeList.add("1");  //项目咨询
+        typeList.add("2");  //造价审核
+        ruralProjectRecordReportInfo.setTypeList(typeList);
         page.setList(dao.findPageHome(ruralProjectRecordReportInfo));
         return page;
     }

+ 51 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectRecordsService.java

@@ -214,6 +214,46 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 		page.setList(recordsList);
 		return page;
 	}
+
+	/**
+	 * 项目计划查询数据信息
+	 * @param page
+	 * @param projectRecords
+	 * @return
+	 */
+	public Page<RuralProjectRecords> projectPlanFindPage(Page<RuralProjectRecords> page, RuralProjectRecords projectRecords) {
+		//设置数据权限
+		if(!UserUtils.getUser().isAdmin()) {
+			String dataScopeSql = null;
+			//判断查询为工程咨询信息
+			if("1".equals(projectRecords.getProjectType())){
+				dataScopeSql = dataScopeFilterOR(projectRecords.getCurrentUser(), "o", "u", "s", MenuStatusEnum.OVERALL_WORK_RECORDS.getValue());
+			} else if("2".equals(projectRecords.getProjectType())){//判断查询为造价审核信息
+				dataScopeSql = dataScopeFilterOR(projectRecords.getCurrentUser(), "o", "u", "s", MenuStatusEnum.OVERALL_COST_WORK_RECORDS.getValue());
+			}else{
+				dataScopeSql = dataScopeFilterOR(projectRecords.getCurrentUser(), "o", "u", "s", MenuStatusEnum.OVERALL_WORK_RECORDS.getValue());
+			}
+			projectRecords.getSqlMap().put("dsf", dataScopeSql);
+			projectRecords.getSqlMap().put("delFlag", "AND a.del_flag = 0");
+		}
+		int count = dao.projectPlanQueryCount(projectRecords);
+		page.setCount(count);
+		page.setCountFlag(false);
+		projectRecords.setPage(page);
+		List<RuralProjectRecords> recordsList = dao.projectPlanFindList(projectRecords);
+		//查询负责人信息
+		for (RuralProjectRecords records : recordsList) {
+			this.queryContractInfos(records);
+			List<User> users = workProjectUserDao.queryProjectUsers(records.getId(), "1");
+			records.setProjectLeaders(users);
+			records.setLeaderNameStr(Collections3.extractToString(users, "name", ","));
+			records.setLeaderIds(Collections3.extractToString(users, "id", ","));
+		}
+		page.setList(recordsList);
+		return page;
+	}
+
+
 	public Page<RuralProjectRecords> findPageByStatus(Page<RuralProjectRecords> page, RuralProjectRecords projectRecords) {
 		//设置数据权限
 		if(!UserUtils.getUser().isAdmin()) {
@@ -1296,6 +1336,12 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 	 */
 	public Page<RuralProjectRecords> listShow(Page<RuralProjectRecords> page, RuralProjectRecords projectRecords) {
 		projectRecords.setCreateBy(UserUtils.getUser());
+
+		List<String> typeList = Lists.newArrayList();
+		//添加项目类型
+		typeList.add("1");  //项目咨询
+		typeList.add("2");  //造价审核
+		projectRecords.setTypeList(typeList);
 		int count = dao.findPageCount(projectRecords);
 		page.setCount(count);
 		page.setCountFlag(false);
@@ -1321,6 +1367,11 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 	 */
 	public Page<RuralProjectRecords> finishListShow(Page<RuralProjectRecords> page, RuralProjectRecords projectRecords) {
 		projectRecords.setCreateBy(UserUtils.getUser());
+		List<String> typeList = Lists.newArrayList();
+		//添加项目类型
+		typeList.add("1");  //项目咨询
+		typeList.add("2");  //造价审核
+		projectRecords.setTypeList(typeList);
 		int count = dao.findPageFinishCount(projectRecords);
 		page.setCount(count);
 		page.setCountFlag(false);

+ 1 - 1
src/main/java/com/jeeplus/modules/sys/web/UserController.java

@@ -936,7 +936,7 @@ public class UserController extends BaseController {
         }else{
             List<User> list = systemService.findUserByOfficeId(officeId);
             //查询项目组成员信息
-            List<User> members = workProjectUserDao.isDelFalg(projectId, "");
+            List<User> members = workProjectUserDao.isDelFalg(projectId, "0");
             Set<String> setUser = new HashSet();
             for (User user: members) {
                 setUser.add(user.getId());

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

@@ -1794,6 +1794,22 @@ public class WorkProjectNotifyController extends BaseController {
 
 				} else if (workProjectNotify.getType().equals("51")) {    //工作内容报告归档
 					ProjectReportRecord projectReportRecord = projectReportRecordService.get(workProjectNotify.getNotifyId());
+					//判断是否未全过程归档项目信息
+					if("3".equals(projectReportRecord.getReport().getProject().getProjectType())){
+						Act act = getByAct(projectReportRecord.getProcessInstanceId());
+						projectReportRecord.setAct(act);
+						projectReportRecord.setHome("home");
+						model.addAttribute("projectReportRecord", projectReportRecord);
+						if (workProjectNotify.getRemarks().contains("待通知") || "view".equals(workProjectNotify.getView())) {
+							return "modules/processProjectReportRecord/projectReportRecordView";
+						}else if (workProjectNotify.getRemarks().contains("待审批") && !"1".equals(workProjectNotify.getStatus())) {
+							return "modules/processProjectReportRecord/projectReportRecordAudit";
+						} else if (workProjectNotify.getRemarks().contains("重新申请") && !"1".equals(workProjectNotify.getStatus())) {
+							return "modules/processProjectReportRecord/projectReportRecordModifyApply";
+						} else {
+							return "modules/processProjectReportRecord/projectReportRecordView";
+						}
+					}
 					RuralProjectRecords ruralProjectRecords = ruralProjectRecordsService.get(projectReportRecord.getReport().getProject().getId());
 					Act act = getByAct(projectReportRecord.getProcessInstanceId());
 					projectReportRecord.setAct(act);

+ 1 - 1
src/main/resources/mappings/modules/constructionContract/contractDao.xml

@@ -266,6 +266,6 @@
 				a.contract_id AS "workContractInfo.id",
 				a.project_id AS "projectId",
 				a.project_name AS "projectName"
-		from project_records a where a.id=#{projectId} and a.del_flag=0
+		from rural_project_records a where a.id=#{projectId} and a.del_flag=0
 	</select>
 </mapper>

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

@@ -827,4 +827,38 @@
 		limit 1
 	</select>
 
+	<select id="processFindInfoByStatus" resultType="ProjectReportData" >
+		SELECT
+		<include refid="projectReportDataColumns"/>,
+		wci.contract_num AS "contractNum",
+		wci.name AS "contractName",
+		wct.name AS "clientName",
+		o.name AS "officeName",
+		uo.name AS "signCostOne.name",
+		ut.name AS "signCostTwo.name",
+		r.project_name AS "project.projectName",
+		r.project_id AS "project.projectId"
+		FROM project_report_data a
+		<include refid="projectReportDataJoins"/>
+		LEFT JOIN sys_office o ON o.id = a.office_id
+		LEFT JOIN sys_user uo ON uo.id = a.sign_cost_one
+		LEFT JOIN sys_user ut ON ut.id = a.sign_cost_two
+		LEFT JOIN rural_project_records r ON r.id = a.project_id
+		LEFT JOIN work_contract_info wci on r.contract_id = wci.id
+		LEFT JOIN work_client_info wct on wci.client_id = wct.id
+		<where>
+			a.del_flag = 0 and a.file_status in(1,2)
+			AND a.status in ('5','7')
+			and a. id =#{id}
+		</where>
+		<choose>
+			<when test="page !=null and page.orderBy != null and page.orderBy != ''">
+
+			</when>
+			<otherwise>
+				ORDER BY a.update_date DESC
+			</otherwise>
+		</choose>
+	</select>
+
 </mapper>

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

@@ -42,11 +42,13 @@
 		wci.name AS "contractName",
 		wct.name AS "clientName",
 		d.report_date AS "report.reportDate",
+		d.project_id as "report.project.id",
 		r.project_name AS "projectName",
-		r.project_id AS "projectNum"
+		r.project_id AS "projectNum",
+		r.project_type as "report.project.projectType"
 		FROM project_report_record a
 		<include refid="projectReportRecordJoins"/>
-		LEFT JOIN project_records r ON r.id = d.project_id
+		LEFT JOIN rural_project_records r ON r.id = d.project_id
 		LEFT JOIN work_contract_info wci on r.contract_id = wci.id
 		LEFT JOIN work_client_info wct on wci.client_id = wct.id
 		WHERE a.id = #{id}

+ 8 - 2
src/main/resources/mappings/modules/projectrecord/ProjectImplementEarlyDao.xml

@@ -59,7 +59,7 @@
 		o.top_company AS "office.name",
 		dsu.name as "projectRegistrant",
 		pci.id as projectContentId
-		FROM project_records a
+		FROM rural_project_records a
 		<include refid="projectRecordsJoins"/>
 		LEFT JOIN work_project_user w on a.id = w.project_id
 		LEFT JOIN project_content_info pci on pci.project_id = a.id
@@ -123,6 +123,9 @@
 			<if test="endDate !=null">
 				AND a.create_date &lt; #{endDate}
 			</if>
+			<if test="projectType !=null and projectType !=''">
+				and project_type= #{projectType}
+			</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>
@@ -140,7 +143,7 @@
 
     <select id="getProjectRecodesCount" resultType="int" >
         SELECT count(DISTINCT a.id)
-        FROM project_records a
+        FROM rural_project_records a
         <if test="leaderNameStr !=null and leaderNameStr !=''">
             LEFT JOIN work_project_user w on a.id = w.project_id
             LEFT JOIN sys_user su on w.user_id = su.id
@@ -206,6 +209,9 @@
 			<if test="endDate !=null">
 				AND a.create_date &lt; #{endDate}
 			</if>
+			<if test="projectType !=null and projectType !=''">
+				and project_type= #{projectType}
+			</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>

+ 48 - 15
src/main/resources/mappings/modules/projectrecord/ProjectRecordsDao.xml

@@ -42,7 +42,14 @@
 		a.building_unit_fees AS "buildingUnitFees",
 		a.install_unit_fees AS "installUnitFees",
 		a.total_fees AS "totalFees",
-		a.type_id As "projectTypeId"
+		a.type_id As "projectTypeId",
+		a.start_date AS "startDate",
+		a.ending_date AS "endingDate",
+		a.estimate_total_fees AS "estimateTotalFees",
+		a.construction_unit as "constructionUnit",
+		a.construction_linkman as "constructionLinkman",
+		a.project_type as "projectType",
+		a.over_due_status as "overDueStatus"
 	</sql>
 	
 	<sql id="projectRecordsJoins">
@@ -55,7 +62,7 @@
 			<include refid="projectRecordsColumns"/>
         ,su.name AS "createBy.name"
         ,o.top_company AS "office.name"
-        FROM project_records a
+        FROM rural_project_records a
         <include refid="projectRecordsJoins"/>
         LEFT JOIN sys_user su ON su.id = a.create_by
         LEFT JOIN sys_office o ON o.id = a.office_id
@@ -86,7 +93,7 @@
 		wct.name AS "workContractInfo.client.name",
 		o.top_company AS "office.name",
 		dsu.name as "projectRegistrant"
-		FROM project_records a
+		FROM rural_project_records a
 		<include refid="projectRecordsJoins"/>
 
 
@@ -152,6 +159,9 @@
             <if test="endDate !=null">
                 AND a.create_date &lt; #{endDate}
             </if>
+			<if test="projectType !=null and projectType !=''">
+				and project_type= #{projectType}
+			</if>
             AND  a.status != 7 AND a.del_flag = #{DEL_FLAG_NORMAL}
             <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} )
@@ -170,7 +180,7 @@
 
     <select id="queryCount" resultType="int" >
         SELECT count(DISTINCT a.id)
-        FROM project_records a
+        FROM rural_project_records a
         <if test="leaderNameStr !=null and leaderNameStr !=''">
             LEFT JOIN work_project_user w on a.id = w.project_id
             LEFT JOIN sys_user su on w.user_id = su.id
@@ -237,6 +247,9 @@
             <if test="endDate !=null">
                 AND a.create_date &lt; #{endDate}
             </if>
+			<if test="projectType !=null and projectType !=''">
+				and project_type= #{projectType}
+			</if>
             AND  a.status != 7 AND a.del_flag = #{DEL_FLAG_NORMAL}
             <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} )
@@ -348,9 +361,9 @@
 			</otherwise>
 		</choose>
 	</select>
-	
+
 	<insert id="insert">
-		INSERT INTO project_records(
+		INSERT INTO rural_project_records(
 			id,
 			create_by,
 			create_date,
@@ -388,7 +401,12 @@
 		    building_unit_fees,
 		    install_unit_fees,
 		    total_fees,
-		    type_id
+		    project_type,
+		    start_date,
+		    ending_date,
+		    estimate_total_fees,
+			construction_unit,
+			construction_linkman
 		) VALUES (
 			#{id},
 			#{createBy.id},
@@ -427,12 +445,17 @@
 			#{buildingUnitFees},
 			#{installUnitFees},
 			#{totalFees},
-			#{projectTypeId}
+			#{projectType},
+			#{startDate},
+			#{endingDate},
+			#{estimateTotalFees},
+			#{constructionUnit},
+			#{constructionLinkman}
 		)
 	</insert>
-	
+
 	<update id="update">
-		UPDATE project_records SET 	
+		UPDATE rural_project_records SET
 			update_by = #{updateBy.id},
 			update_date = #{updateDate},
 			contract_id = #{workContractInfo.id},
@@ -466,7 +489,11 @@
 		    building_unit_fees = #{buildingUnitFees},
 		    install_unit_fees =  #{installUnitFees},
 		    total_fees =  #{totalFees},
-		    type_id = #{projectTypeId}
+		    start_date =  #{startDate},
+		    ending_date =  #{endingDate},
+		    estimate_total_fees = #{estimateTotalFees},
+			construction_unit = #{constructionUnit},
+			construction_linkman = #{constructionLinkman}
 		WHERE id = #{id}
 	</update>
 	
@@ -503,14 +530,14 @@
     </select>
 
     <update id="updateProcessIdAndStatus" >
-        UPDATE  project_records SET
+        UPDATE  rural_project_records SET
           process_instance_id = #{processInstanceId},
           status = #{projectStatus}
         WHERE id = #{id}
     </update>
 	
 	<update id="updateSelectiveById">
-		UPDATE  project_records 
+		UPDATE  rural_project_records
 		<set>
 			<if test="updateBy!=null and updateBy.id!=null and updateBy.id!=''">
 				update_by = #{updateBy.id},
@@ -1082,7 +1109,7 @@
 		wct.id AS "workContractInfo.client.id",
 		wct.name AS "workContractInfo.client.name",
 		o.top_company AS "office.name"
-		FROM project_records a
+		FROM rural_project_records a
 		<include refid="projectRecordsJoins"/>
 		LEFT JOIN work_project_user w on a.id = w.project_id
 		LEFT JOIN work_project_user w1 on a.id = w1.project_id
@@ -1112,6 +1139,9 @@
 			<if test="sqlMap.dsf !=null and sqlMap.dsf!=''">
 				AND ((w1.user_id = #{currentUser.id} AND w1.del_flag='0' AND (s.id = #{currentUser.company.id} or find_in_set( #{currentUser.company.id}, s.parent_ids ) ))${sqlMap.dsf} )
 			</if>
+			<if test="projectType !=null and projectType !=''">
+				and project_type= #{projectType}
+			</if>
 			AND a.del_flag = #{DEL_FLAG_NORMAL}
 		</where>
 		GROUP BY a.id
@@ -1247,7 +1277,7 @@
 		wct.name AS "workContractInfo.client.name",
 		o.top_company AS "office.name",
 		dsu.name as "projectRegistrant"
-		FROM project_records a
+		FROM rural_project_records a
 		<include refid="projectRecordsJoins"/>
 
 
@@ -1313,6 +1343,9 @@
 			<if test="endDate !=null">
 				AND a.create_date &lt; #{endDate}
 			</if>
+			<if test="projectType !=null and projectType !=''">
+				and project_type= #{projectType}
+			</if>
 			AND  a.status != 7 AND a.del_flag = #{DEL_FLAG_NORMAL}
 			<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} )

+ 8 - 2
src/main/resources/mappings/modules/projectrecord/completion/ProjectCompletionPigeonholeDao.xml

@@ -58,7 +58,7 @@
 		wct.name AS "workContractInfo.client.name",
 		o.top_company AS "office.name",
 		dsu.name as "projectRegistrant"
-		FROM project_records a
+		FROM rural_project_records a
 		<include refid="projectRecordsJoins"/>
 
 
@@ -123,6 +123,9 @@
 			<if test="endDate !=null">
 				AND a.create_date &lt; #{endDate}
 			</if>
+			<if test="projectType !=null and projectType !=''">
+				and project_type= #{projectType}
+			</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>
@@ -140,7 +143,7 @@
 
     <select id="getProjectRecodesCount" resultType="int" >
         SELECT count(DISTINCT a.id)
-        FROM project_records a
+        FROM rural_project_records a
         <if test="leaderNameStr !=null and leaderNameStr !=''">
             LEFT JOIN work_project_user w on a.id = w.project_id
             LEFT JOIN sys_user su on w.user_id = su.id
@@ -206,6 +209,9 @@
 			<if test="endDate !=null">
 				AND a.create_date &lt; #{endDate}
 			</if>
+			<if test="projectType !=null and projectType !=''">
+				and project_type= #{projectType}
+			</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>

+ 8 - 2
src/main/resources/mappings/modules/projectrecord/early/ProjectEarlyReviewDao.xml

@@ -58,7 +58,7 @@
 		wct.name AS "workContractInfo.client.name",
 		o.top_company AS "office.name",
 		dsu.name as "projectRegistrant"
-		FROM project_records a
+		FROM rural_project_records a
 		<include refid="projectRecordsJoins"/>
 
 
@@ -123,6 +123,9 @@
 			<if test="endDate !=null">
 				AND a.create_date &lt; #{endDate}
 			</if>
+			<if test="projectType !=null and projectType !=''">
+				and project_type= #{projectType}
+			</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>
@@ -140,7 +143,7 @@
 
     <select id="getProjectRecodesCount" resultType="int" >
         SELECT count(DISTINCT a.id)
-        FROM project_records a
+        FROM rural_project_records a
         <if test="leaderNameStr !=null and leaderNameStr !=''">
             LEFT JOIN work_project_user w on a.id = w.project_id
             LEFT JOIN sys_user su on w.user_id = su.id
@@ -206,6 +209,9 @@
 			<if test="endDate !=null">
 				AND a.create_date &lt; #{endDate}
 			</if>
+			<if test="projectType !=null and projectType !=''">
+				and project_type= #{projectType}
+			</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>

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

@@ -172,6 +172,12 @@
 		<include refid="ruralProjectInfoJoins"/>
 		<where>
 			a.del_flag = 0
+			<if test="typeList !=null and typeList !=''">
+				and project_type in
+				<foreach collection="typeList" item="id" index="index" open="(" close=")" separator=",">
+					#{id}
+				</foreach>
+			</if>
 			<!--and (
 			(((prr.status != 5 or prr.status is null) and (a.reported_state!=5 or a.reported_state is null) and date_add(prd.update_date,interval 40 day)>= now())
 			or ((prr.status != 5 or prr.status is null) and (a.reported_state!=5 or a.reported_state is null) and prd.update_date is null))

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

@@ -756,6 +756,12 @@
 		left join sys_office so on so.id = su.office_id
 		<where>
 			a.del_flag = 0
+			<if test="typeList !=null and typeList !=''">
+				and project_type in
+				<foreach collection="typeList" item="id" index="index" open="(" close=")" separator=",">
+					#{id}
+				</foreach>
+			</if>
 			<!--and (
 			(((prr.status != 5 or prr.status is null) and (a.reported_state!=5 or a.reported_state is null) and date_add(prd.update_date,interval 40 day)>= now())
 			or ((prr.status != 5 or prr.status is null) and (a.reported_state!=5 or a.reported_state is null) and prd.update_date is null))
@@ -839,6 +845,12 @@
 		left join sys_office so on so.id = su.office_id
 		<where>
 			a.del_flag = 0
+			<if test="typeList !=null and typeList !=''">
+				and project_type in
+				<foreach collection="typeList" item="id" index="index" open="(" close=")" separator=",">
+					#{id}
+				</foreach>
+			</if>
 			<!--and (
 			(((prr.status != 5 or prr.status is null) and (a.reported_state!=5 or a.reported_state is null) and date_add(prd.update_date,interval 40 day)>= now())
 			or ((prr.status != 5 or prr.status is null) and (a.reported_state!=5 or a.reported_state is null) and prd.update_date is null))
@@ -927,6 +939,12 @@
 		left join sys_office so on so.id = su.office_id
 		<where>
 			a.del_flag = 0
+			<if test="typeList !=null and typeList !=''">
+				and project_type in
+				<foreach collection="typeList" item="id" index="index" open="(" close=")" separator=",">
+					#{id}
+				</foreach>
+			</if>
 			<!--and (
 			(((prr.status != 5 or prr.status is null) and (a.reported_state!=5 or a.reported_state is null) and date_add(prd.update_date,interval 40 day)>= now())
 			or ((prr.status != 5 or prr.status is null) and (a.reported_state!=5 or a.reported_state is null) and prd.update_date is null))
@@ -1010,6 +1028,12 @@
 		left join sys_office so on so.id = su.office_id
 		<where>
 			a.del_flag = 0
+			<if test="typeList !=null and typeList !=''">
+				and project_type in
+				<foreach collection="typeList" item="id" index="index" open="(" close=")" separator=",">
+					#{id}
+				</foreach>
+			</if>
 			<!--and (
 			(((prr.status != 5 or prr.status is null) and (a.reported_state!=5 or a.reported_state is null) and date_add(prd.update_date,interval 40 day)>= now())
 			or ((prr.status != 5 or prr.status is null) and (a.reported_state!=5 or a.reported_state is null) and prd.update_date is null))
@@ -1137,4 +1161,187 @@
 			#{item}
 		</foreach> ;
 	</update>
+
+	<select id="projectPlanFindList" resultType="RuralProjectRecords" >
+		SELECT
+		<include refid="projectRecordsColumns"/>
+		,
+		wci.name AS "workContractInfo.name",
+		wct.id AS "workContractInfo.client.id",
+		wct.name AS "workContractInfo.client.name",
+		o.top_company AS "office.name"
+		FROM rural_project_records a
+		<include refid="projectRecordsJoins"/>
+
+		<if test="leaderNameStr !=null and 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 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
+		<where>
+			<if test="projectId != null and projectId != ''">
+				AND a.project_id like concat('%',#{projectId},'%')
+			</if>
+			<if test="projectName != null and projectName != ''">
+				AND a.project_name like concat(concat('%',#{projectName}),'%')
+			</if>
+			<if test="scaleType != null and scaleType != ''">
+				AND a.scale_type = #{scaleType}
+			</if>
+			<if test="scaleUnit != null and scaleUnit != ''">
+				AND a.scale_unit = #{scaleUnit}
+			</if>
+			<if test="scaleQuantity != null and scaleQuantity != ''">
+				AND a.scale_quantity = #{scaleQuantity}
+			</if>
+			<if test="projectSite != null and projectSite != ''">
+				AND a.project_site LIKE concat('%',#{projectSite},'%')
+			</if>
+			<if test="remarks != null and remarks != ''">
+				AND a.remarks LIKE concat('%',#{remarks},'%')
+			</if>
+			<if test="projectDesc != null and projectDesc != ''">
+				AND a.project_desc LIKE concat('%',#{projectDesc},'%')
+			</if>
+			<if test="area != null and area.id != null and area.id != ''">
+				AND a.area_id = #{area.id}
+			</if>
+			<if test="workContractInfo !=null and workContractInfo.name !=null and workContractInfo.name !=''">
+				AND wci.name like concat(concat('%',#{workContractInfo.name}),'%')
+			</if>
+			<if test="workContractInfo !=null and workContractInfo.contractNum !=null and workContractInfo.contractNum !=''">
+				AND wci.contract_num like concat(concat('%',#{workContractInfo.contractNum}),'%')
+			</if>
+			<if test="workContractInfo !=null and workContractInfo.contractPrice !=null and workContractInfo.contractPrice !=''">
+				AND wci.contract_price = #{workContractInfo.contractPrice}
+			</if>
+			<if test="workContractInfo !=null and workContractInfo.contractType !=null and workContractInfo.contractType !=''">
+				AND wci.contract_type = #{workContractInfo.contractType}
+			</if>
+			<if test="workContractInfo!=null and workContractInfo.client !=null and workContractInfo.client.name !=null and workContractInfo.client.name !=''">
+				AND wct.name like concat(concat('%',#{workContractInfo.client.name}),'%')
+			</if>
+			<if test="leaderNameStr !=null and leaderNameStr !=''">
+				AND su.name like concat(concat('%',#{leaderNameStr}),'%') AND w.is_master = '1' AND w.del_flag='0'
+			</if>
+			<if test="projectStatus !=null">
+				AND a.status = #{projectStatus}
+			</if>
+			<if test="beginDate !=null">
+				AND a.create_date >= #{beginDate}
+			</if>
+			<if test="endDate !=null">
+				AND a.create_date &lt; #{endDate}
+			</if>
+			<if test="typeList !=null and typeList !=''">
+				and project_type in
+				<foreach collection="typeList" item="id" index="index" open="(" close=")" separator=",">
+					#{id}
+				</foreach>
+			</if>
+
+			<if test="sqlMap.delFlag !=null and sqlMap.delFlag!=''">
+				${sqlMap.delFlag}
+			</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>
+		</where>
+		GROUP BY a.id
+		<choose>
+			<when test="page !=null and page.orderBy != null and page.orderBy != ''">
+				ORDER BY ${page.orderBy}
+			</when>
+			<otherwise>
+				ORDER BY a.update_date DESC
+			</otherwise>
+		</choose>
+	</select>
+
+	<select id="projectPlanQueryCount" resultType="int" >
+		SELECT count(DISTINCT a.id)
+		FROM rural_project_records a
+		<if test="leaderNameStr !=null and 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 work_project_user w1 on a.id = w1.project_id
+		<if test="workContractInfo !=null">
+			LEFT JOIN work_contract_info wci on a.contract_id = wci.id
+		</if>
+		<if test="workContractInfo!=null and workContractInfo.client !=null and workContractInfo.client.name !=null and workContractInfo.client.name !=''">
+			LEFT JOIN work_client_info wct on wci.client_id = wct.id
+		</if>
+		<where>
+			<if test="projectId != null and projectId != ''">
+				AND a.project_id like concat('%',#{projectId},'%')
+			</if>
+			<if test="projectName != null and projectName != ''">
+				AND a.project_name like concat(concat('%',#{projectName}),'%')
+			</if>
+			<if test="scaleType != null and scaleType != ''">
+				AND a.scale_type = #{scaleType}
+			</if>
+			<if test="scaleUnit != null and scaleUnit != ''">
+				AND a.scale_unit = #{scaleUnit}
+			</if>
+			<if test="scaleQuantity != null and scaleQuantity != ''">
+				AND a.scale_quantity = #{scaleQuantity}
+			</if>
+			<if test="projectSite != null and projectSite != ''">
+				AND a.project_site LIKE concat('%',#{projectSite},'%')
+			</if>
+			<if test="remarks != null and remarks != ''">
+				AND a.remarks LIKE concat('%',#{remarks},'%')
+			</if>
+			<if test="projectDesc != null and projectDesc != ''">
+				AND a.project_desc LIKE concat('%',#{projectDesc},'%')
+			</if>
+			<if test="area != null and area.id != null and area.id != ''">
+				AND a.area_id = #{area.id}
+			</if>
+			<if test="workContractInfo !=null and workContractInfo.name !=null and workContractInfo.name !=''">
+				AND wci.name like concat(concat('%',#{workContractInfo.name}),'%')
+			</if>
+			<if test="workContractInfo !=null and workContractInfo.contractNum !=null and workContractInfo.contractNum !=''">
+				AND wci.contract_num like concat(concat('%',#{workContractInfo.contractNum}),'%')
+			</if>
+			<if test="workContractInfo !=null and workContractInfo.contractPrice !=null and workContractInfo.contractPrice !=''">
+				AND wci.contract_price = #{workContractInfo.contractPrice}
+			</if>
+			<if test="workContractInfo !=null and workContractInfo.contractType !=null and workContractInfo.contractType !=''">
+				AND wci.contract_type = #{workContractInfo.contractType}
+			</if>
+			<if test="workContractInfo!=null and workContractInfo.client !=null and workContractInfo.client.name !=null and workContractInfo.client.name !=''">
+				AND wct.name like concat(concat('%',#{workContractInfo.client.name}),'%')
+			</if>
+			<if test="leaderNameStr !=null and leaderNameStr !=''">
+				AND su.name like concat(concat('%',#{leaderNameStr}),'%') AND w.is_master = '1' AND w.del_flag='0'
+			</if>
+			<if test="projectStatus !=null">
+				AND a.status = #{projectStatus}
+			</if>
+			<if test="beginDate !=null">
+				AND a.create_date >= #{beginDate}
+			</if>
+			<if test="endDate !=null">
+				AND a.create_date &lt; #{endDate}
+			</if>
+			<if test="typeList !=null and typeList !=''">
+				and project_type in
+				<foreach collection="typeList" item="id" index="index" open="(" close=")" separator=",">
+					#{id}
+				</foreach>
+			</if>
+			<if test="sqlMap.delFlag !=null and sqlMap.delFlag!=''">
+				${sqlMap.delFlag}
+			</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>
+		</where>
+	</select>
 </mapper>

+ 1 - 1
src/main/resources/mappings/modules/sys/OfficeDao.xml

@@ -366,7 +366,7 @@
 		<include refid="officeJoins"/>
 		WHERE a.del_flag = #{DEL_FLAG_NORMAL} AND a.useable = '1'
 		AND a.id in (#{id},
-		(select u.office_id from work_project_user a, sys_user u where a.user_id = u.id and a.project_id = #{projectId}
+		(select distinct u.office_id from work_project_user a, sys_user u where a.user_id = u.id and a.project_id = #{projectId}
 		and a.is_master = 1)
 		)
 		ORDER BY a.code

+ 1 - 1
src/main/webapp/webpage/modules/processProjectPlan/plan/processProjectPlanList.jsp

@@ -140,7 +140,7 @@
 	<div class="layui-row">
 		<div class="full-width fl">
 			<div class="layui-row contentShadow shadowLR" id="queryDiv">
-				<form:form id="searchForm" modelAttribute="projectRecords" action="${ctx}/project/projectPlan/" method="post" class="form-inline">
+				<form:form id="searchForm" modelAttribute="projectRecords" action="${ctx}/processProject/processProjectPlan/" method="post" class="form-inline">
 					<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
 					<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
 					<table:sortColumn id="orderBy" name="orderBy" value="${page.orderBy}" callback="sortOrRefresh();"/><!-- 支持排序 -->

+ 3 - 3
src/main/webapp/webpage/modules/projectrecord/projectRecordsAlterModify.jsp

@@ -10,10 +10,10 @@
 		var validateForm;
 		function doSubmit(){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
 		  if(validateForm.form()){
-              if($(".trIdAdds").length==0){
+              /*if($(".trIdAdds").length==0){
                   top.layer.alert('请至少上传一个项目计划表或者实施方案文档!', {icon: 0});
                   return;
-              }
+              }*/
               if($("#workClientLinkmanList tr").length==0){
                   top.layer.alert('请至少选择一个委托方联系人!', {icon: 0});
                   return;
@@ -493,7 +493,7 @@
             <div class="layui-item layui-col-sm6 lw7">
                 <label class="layui-form-label double-line">建筑面积或规模:</label>
                 <div class="layui-input-block"><%--onchange="getFee()"--%>
-                    <form:input path="buildingScale" htmlEscape="false"  class="form-control layui-input required number" />
+                    <form:input path="buildingScale" htmlEscape="false"  class="form-control layui-input number" />
                 </div>
             </div>
             <%--<div class="layui-item layui-col-sm6 lw7">

+ 1 - 1
src/main/webapp/webpage/modules/projectrecord/projectRecordsAlterView.jsp

@@ -192,7 +192,7 @@
                             <div class="layui-item layui-col-sm6 lw7">
                                 <label class="layui-form-label double-line">建筑面积或规模:</label>
                                 <div class="layui-input-block">
-                                    <form:input path="buildingScale" htmlEscape="false"  class="form-control layui-input required number" readonly="true"/>
+                                    <form:input path="buildingScale" htmlEscape="false"  class="form-control layui-input number" readonly="true"/>
                                 </div>
                             </div>
                            <%-- <div class="layui-item layui-col-sm6 lw7">

+ 2 - 2
src/main/webapp/webpage/modules/projectrecord/projectRecordsModify.jsp

@@ -10,10 +10,10 @@
 		var validateForm;
 		function doSubmit(i){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
 		  if(validateForm.form()){
-              if($(".trIdAdds").length==0){
+              /*if($(".trIdAdds").length==0){
                   top.layer.alert('请至少上传一个项目计划表或者实施方案文档!', {icon: 0});
                   return;
-              }
+              }*/
               if($("#workClientLinkmanList tr").length==0){
                   top.layer.alert('请至少选择一个委托方联系人!', {icon: 0});
                   return;

+ 2 - 2
src/main/webapp/webpage/modules/projectrecord/projectRecordsView.jsp

@@ -229,9 +229,9 @@
 					</div>
 				</div>--%>
 				<div class="layui-item layui-col-sm6 lw7">
-					<label class="layui-form-label double-line"><span class="require-item">*</span>建筑面积或规模:</label>
+					<label class="layui-form-label double-line">建筑面积或规模:</label>
 					<div class="layui-input-block">
-						<form:input path="buildingScale" htmlEscape="false"  class="form-control layui-input required number" readonly="true"/>
+						<form:input path="buildingScale" htmlEscape="false"  class="form-control layui-input number" readonly="true"/>
 					</div>
 				</div>
 				<%--<div class="layui-item layui-col-sm6 lw7">

+ 2 - 2
src/main/webapp/webpage/modules/projectrecord/workContentFromAndView/projectEarlyForm.jsp

@@ -120,10 +120,10 @@
 										title="签字造价师一" url="/sys/office/treeDataAll?type=3" cssClass="form-control layui-input required" allowClear="true" notAllowSelectParent="true"/></div>
 				</div>
 				<div class="layui-item layui-col-sm6">
-					<label class="layui-form-label">签字造价师二:</label>
+					<label class="layui-form-label"><span class="require-item">*</span>签字造价师二:</label>
 					<div class="layui-input-block with-icon">
 						<sys:treeselect id="signCostTwo" name="signCostTwo.id" value="${projectReportRecord.signCostTwo.id}" labelName="signCostTwo.name" labelValue="${projectReportRecord.signCostTwo.name}"
-										title="签字造价师二" url="/sys/office/treeDataAll?type=3" cssClass="form-control layui-input" allowClear="true" notAllowSelectParent="true"/>
+										title="签字造价师二" url="/sys/office/treeDataAll?type=3" cssClass="form-control layui-input required" allowClear="true" notAllowSelectParent="true"/>
 					</div>
 				</div>
 				<div class="layui-item layui-col-sm6">

+ 2 - 2
src/main/webapp/webpage/modules/projectrecord/workContentFromAndView/projectReportRecordForm.jsp

@@ -120,10 +120,10 @@
 										title="签字造价师一" url="/sys/office/treeDataAll?type=3" cssClass="form-control layui-input required" allowClear="true" notAllowSelectParent="true"/></div>
 				</div>
 				<div class="layui-item layui-col-sm6">
-					<label class="layui-form-label">签字造价师二:</label>
+					<label class="layui-form-label"><span class="require-item">*</span>签字造价师二:</label>
 					<div class="layui-input-block with-icon">
 						<sys:treeselect id="signCostTwo" name="signCostTwo.id" value="${projectReportRecord.signCostTwo.id}" labelName="signCostTwo.name" labelValue="${projectReportRecord.signCostTwo.name}"
-										title="签字造价师二" url="/sys/office/treeDataAll?type=3" cssClass="form-control layui-input" allowClear="true" notAllowSelectParent="true"/>
+										title="签字造价师二" url="/sys/office/treeDataAll?type=3" cssClass="form-control layui-input required" allowClear="true" notAllowSelectParent="true"/>
 					</div>
 				</div>
 				<div class="layui-item layui-col-sm6">

+ 6 - 6
src/main/webapp/webpage/modules/projectrecord/workContentFromAndView/workContentForm.jsp

@@ -1070,7 +1070,7 @@
                     return false;
                 }
             </script>
-            <div class="form-group layui-row">
+            <%--<div class="form-group layui-row">
                 <div class="form-group-label"><h2>过程控制明细</h2></div>
                 <div class="layui-item nav-btns">
                     <a href="javascript:void(0)" onclick="openDialogreControl('新增控制表格', '${ctx}/projectcontroltable/projectControlTable/form?pfId=${projectcontentinfo.project.id}','90%','90%',false,'inputForm')" class="nav-btn nav-btn-add" ><i class="fa fa-plus"></i> 新增</a>
@@ -1106,10 +1106,10 @@
                                     </td>
                                     <td style="text-align:center;">
                                         <fmt:formatDate value="${projectControlTable.createDate}" pattern="yyyy-MM-dd" />
-                                            <%--<input type="hidden" name="projectControlTableList[${status.index}].createDate" value="${projectControlTable.createDate}">--%>
-                                            <%--<input type="hidden" name="projectControlTableList[${status.index}].updateDate" value="${projectControlTable.updateDate}">--%>
-                                            <%--<input type="hidden" name="projectControlTableList[${status.index}].delFlag" value="${projectControlTable.delFlag}">--%>
-                                            <%--<input type="hidden" name="projectControlTableList[${status.index}].createBy.id" value="${projectControlTable.createBy.id}">--%>
+                                            &lt;%&ndash;<input type="hidden" name="projectControlTableList[${status.index}].createDate" value="${projectControlTable.createDate}">&ndash;%&gt;
+                                            &lt;%&ndash;<input type="hidden" name="projectControlTableList[${status.index}].updateDate" value="${projectControlTable.updateDate}">&ndash;%&gt;
+                                            &lt;%&ndash;<input type="hidden" name="projectControlTableList[${status.index}].delFlag" value="${projectControlTable.delFlag}">&ndash;%&gt;
+                                            &lt;%&ndash;<input type="hidden" name="projectControlTableList[${status.index}].createBy.id" value="${projectControlTable.createBy.id}">&ndash;%&gt;
                                     </td>
                                     <td class="op-td text-center">
                                         <div class="op-btn-box">
@@ -1129,7 +1129,7 @@
                     </tbody>
                     </table>
                 </div>
-            </div>
+            </div>--%>
             <div class="form-group layui-row">
                 <div class="form-group-label"><h2>附件信息</h2></div>
                 <div class="layui-item nav-btns">

+ 20 - 20
src/main/webapp/webpage/modules/workcontent/workFiveDirectionsAffirmListView.jsp

@@ -45,68 +45,68 @@
                 <tbody id="preliminaryList">
                 <c:forEach items="${fiveDirectionsAffirmList}" var="row" varStatus="status">
                     <tr>
-                        <td style='text-align:center;'>
+                        <td style='text-align:center;vertical-align:middle'>
                                 ${status.index+1}
                         </td>
 
-                        <td style='text-align:center;' title="${row.ownerPurchasingRequisitionNum}">
+                        <td style='text-align:center;vertical-align:middle' title="${row.ownerPurchasingRequisitionNum}">
                                 ${row.ownerPurchasingRequisitionNum}
                         </td>
-                        <td style='text-align:center;' title="${row.ownerMaterialCode}">
+                        <td style='text-align:center;vertical-align:middle' title="${row.ownerMaterialCode}">
                                 ${row.ownerMaterialCode}
                         </td>
-                        <td style='text-align:center;' title="${row.ownerMaterialDescription}">
+                        <td style='text-align:center;vertical-align:middle' title="${row.ownerMaterialDescription}">
                                 ${row.ownerMaterialDescription}
                         </td>
-                        <td style='text-align:center;' title="${row.ownerUnits}">
+                        <td style='text-align:center;vertical-align:middle' title="${row.ownerUnits}">
                                 ${row.ownerUnits}
                         </td>
-                        <td style='text-align:center;' title="${row.ownerTenderNum}">
+                        <td style='text-align:center;vertical-align:middle' title="${row.ownerTenderNum}">
                                 ${row.ownerTenderNum}
                         </td>
 
-                        <td style='text-align:center;' title="${row.designMaterialName}">
+                        <td style='text-align:center;vertical-align:middle' title="${row.designMaterialName}">
                                 ${row.designMaterialName}
                         </td>
-                        <td style='text-align:center;' title="${row.designDrawingAmount}">
+                        <td style='text-align:center;vertical-align:middle' title="${row.designDrawingAmount}">
                                  ${row.designDrawingAmount}
                         </td>
-                        <td style='text-align:center;' title="${row.designAttritionRate}">
+                        <td style='text-align:center;vertical-align:middle' title="${row.designAttritionRate}">
                                 ${row.designAttritionRate}
                         </td>
-                        <td style='text-align:center;' title="${row.designAffirmTotal}">
+                        <td style='text-align:center;vertical-align:middle' title="${row.designAffirmTotal}">
                                 ${row.designAffirmTotal}
                         </td>
-                        <td style='text-align:center;' title="${row.designRemarks}">
+                        <td style='text-align:center;vertical-align:middle' title="${row.designRemarks}">
                                 ${row.designRemarks}
                         </td>
 
-                        <td style='text-align:center;' title=" ${row.roadworkDrawingAmount}">
+                        <td style='text-align:center;vertical-align:middle' title=" ${row.roadworkDrawingAmount}">
                                 ${row.roadworkDrawingAmount}
                         </td>
-                        <td style='text-align:center;' title="${row.roadworkAttritionRate}">
+                        <td style='text-align:center;vertical-align:middle' title="${row.roadworkAttritionRate}">
                                 ${row.roadworkAttritionRate}
                         </td>
-                        <td style='text-align:center;' title="${row.roadworkDemandDosage}">
+                        <td style='text-align:center;vertical-align:middle' title="${row.roadworkDemandDosage}">
                                 ${row.roadworkDemandDosage}
                         </td>
-                        <td style='text-align:center;' title="<fmt:formatDate value="${row.roadworkDemandDate}" pattern="yyyy-MM-dd" />">
+                        <td style='text-align:center;vertical-align:middle' title="<fmt:formatDate value="${row.roadworkDemandDate}" pattern="yyyy-MM-dd" />">
                                 <fmt:formatDate value="${row.roadworkDemandDate}" pattern="yyyy-MM-dd" />
                         </td>
-                        <td style='text-align:center;' title="${row.roadworkRemarks}">
+                        <td style='text-align:center;vertical-align:middle' title="${row.roadworkRemarks}">
                                 ${row.roadworkRemarks}
                         </td>
 
-                        <td style='text-align:center;' title="${row.consultDrawingAmount}">
+                        <td style='text-align:center;vertical-align:middle' title="${row.consultDrawingAmount}">
                                 ${row.consultDrawingAmount}
                         </td>
-                        <td style='text-align:center;' title="${row.consultAttritionRate}">
+                        <td style='text-align:center;vertical-align:middle' title="${row.consultAttritionRate}">
                                 ${row.consultAttritionRate}
                         </td>
-                        <td style='text-align:center;' title="${row.consultAuditTotal}">
+                        <td style='text-align:center;vertical-align:middle' title="${row.consultAuditTotal}">
                                 ${row.consultAuditTotal}
                         </td>
-                        <td style='text-align:center;' title="${row.consultRemarks}">
+                        <td style='text-align:center;vertical-align:middle' title="${row.consultRemarks}">
                                 ${row.consultRemarks}
                         </td>