Browse Source

竣工阶段归档信息获取

user5 5 years ago
parent
commit
8288409f50

+ 8 - 0
src/main/java/com/jeeplus/modules/projectcontentinfo/dao/ProjectContentDataDao.java

@@ -54,6 +54,14 @@ public interface ProjectContentDataDao extends CrudDao<ProjectContentData> {
     List<ProjectRecordTreeData> getProjectContentReportDataList(@Param("projectId")String projectId,@Param("projectTypeParentId")String projectTypeParentId);
     List<ProjectRecordTreeData> getProjectContentReportDataList(@Param("projectId")String projectId,@Param("projectTypeParentId")String projectTypeParentId);
 
 
     /**
     /**
+     * 根据项目编号和阶段Type获取信息(项目归档)
+     * @param projectId
+     * @param projectTypeParentId
+     * @return
+     */
+    List<ProjectRecordTreeData> getProjectContentReportArchiveDataList(@Param("projectId")String projectId,@Param("projectTypeParentId")String projectTypeParentId);
+
+    /**
      * 根据id获取信息
      * 根据id获取信息
      * @return
      * @return
      */
      */

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

@@ -101,4 +101,12 @@ public interface ProjectReportDataDao extends CrudDao<ProjectReportData> {
      * @return
      * @return
      */
      */
     List<ProjectRecordTreeData> getProjectRecordDataList(String projectId);
     List<ProjectRecordTreeData> getProjectRecordDataList(String projectId);
+
+
+    /**
+     * 根据id查询回荡报告信息
+     * @param projectReportData
+     * @return
+     */
+    ProjectReportData findInfoByStatus(ProjectReportData projectReportData);
 }
 }

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

@@ -95,6 +95,8 @@ public class ProjectReportData extends ActEntity<ProjectReportData> {
 	private Double consultFee;    //咨询标的额
 	private Double consultFee;    //咨询标的额
 	private Double buildingFee;   //土建额
 	private Double buildingFee;   //土建额
 	private Double installFee;    //安装额
 	private Double installFee;    //安装额
+	private String recordNum;     //归档申请编号
+
 
 
 	public String getUpId() {
 	public String getUpId() {
 		return upId;
 		return upId;
@@ -561,4 +563,12 @@ public class ProjectReportData extends ActEntity<ProjectReportData> {
 	public void setInstallFee(Double installFee) {
 	public void setInstallFee(Double installFee) {
 		this.installFee = installFee;
 		this.installFee = installFee;
 	}
 	}
+
+	public String getRecordNum() {
+		return recordNum;
+	}
+
+	public void setRecordNum(String recordNum) {
+		this.recordNum = recordNum;
+	}
 }
 }

+ 12 - 0
src/main/java/com/jeeplus/modules/projectcontentinfo/service/ProjectContentDataService.java

@@ -215,4 +215,16 @@ public class ProjectContentDataService extends CrudService<ProjectContentDataDao
         List<ProjectRecordTreeData> projectRecordTreeDataList = dao.getProjectContentReportDataList(projectId,projectTypeParentId);
         List<ProjectRecordTreeData> projectRecordTreeDataList = dao.getProjectContentReportDataList(projectId,projectTypeParentId);
         return projectRecordTreeDataList;
         return projectRecordTreeDataList;
     }
     }
+
+
+    /**
+     * 根据项目编号和阶段Type获取信息(项目归档)
+     * @param projectId
+     * @param projectTypeParentId
+     * @return
+     */
+    public List<ProjectRecordTreeData> getProjectContentReportArchiveDataList(String projectId,String projectTypeParentId) {
+        List<ProjectRecordTreeData> projectRecordTreeDataList = dao.getProjectContentReportArchiveDataList(projectId,projectTypeParentId);
+        return projectRecordTreeDataList;
+    }
 }
 }

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

@@ -246,6 +246,16 @@ public class ProjectReportDataService extends CrudService<ProjectReportDataDao,
 		return page;
 		return page;
 	}
 	}
 
 
+	public ProjectReportData findInfoByStatus(ProjectReportData projectReportData) {
+
+		ProjectReportData projectReportDatas = dao.findInfoByStatus(projectReportData);
+		if (null != projectReportDatas){
+			String projectMaster = projectRecordsService.getMasterStr(projectReportDatas.getProject().getId());
+			projectReportDatas.setProjectMaster(projectMaster);
+		}
+		return projectReportDatas;
+	}
+
 	public Page<Workattachment> getContainReportData(Page<Workattachment> page, ProjectReportData projectReportData) {
 	public Page<Workattachment> getContainReportData(Page<Workattachment> page, ProjectReportData projectReportData) {
 		Workattachment workattachment = new Workattachment();
 		Workattachment workattachment = new Workattachment();
 		workattachment.setPage(page);
 		workattachment.setPage(page);

+ 18 - 22
src/main/java/com/jeeplus/modules/projectcontentinfo/web/ProjectReportRecordController.java

@@ -16,6 +16,7 @@ import com.jeeplus.modules.act.entity.Act;
 import com.jeeplus.modules.act.service.ActTaskService;
 import com.jeeplus.modules.act.service.ActTaskService;
 import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
 import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
 import com.jeeplus.modules.projectcontentinfo.entity.Projectcontentinfo;
 import com.jeeplus.modules.projectcontentinfo.entity.Projectcontentinfo;
+import com.jeeplus.modules.projectcontentinfo.service.ProjectReportDataService;
 import com.jeeplus.modules.projectrecord.entity.ProjectRecords;
 import com.jeeplus.modules.projectrecord.entity.ProjectRecords;
 import com.jeeplus.modules.sys.entity.User;
 import com.jeeplus.modules.sys.entity.User;
 import com.jeeplus.modules.sys.utils.UserUtils;
 import com.jeeplus.modules.sys.utils.UserUtils;
@@ -55,6 +56,8 @@ public class ProjectReportRecordController extends BaseController {
 	private ProjectReportRecordService projectReportRecordService;
 	private ProjectReportRecordService projectReportRecordService;
 	@Autowired
 	@Autowired
 	private ActTaskService actTaskService;
 	private ActTaskService actTaskService;
+	@Autowired
+	private ProjectReportDataService projectReportDataService;
 
 
 	@ModelAttribute
 	@ModelAttribute
 	public ProjectReportRecord get(@RequestParam(required=false) String id) {
 	public ProjectReportRecord get(@RequestParam(required=false) String id) {
@@ -115,29 +118,22 @@ public class ProjectReportRecordController extends BaseController {
 	 */
 	 */
 	@RequestMapping(value = "formData")
 	@RequestMapping(value = "formData")
 	public String formData(ProjectReportRecord projectReportRecord, Model model) {
 	public String formData(ProjectReportRecord projectReportRecord, Model model) {
-		/*if(StringUtils.isBlank(projectReportRecord.getId())){
-			projectReportRecord.setCreateDate(new Date());
-			projectReportRecord.setCreateBy(UserUtils.getUser());
-		}*/
-		/*model.addAttribute("projectReportRecord", projectReportRecord);
-		if (StringUtils.isNotBlank(projectReportRecord.getView()) && projectReportRecord.getView().equals("view")){
-			return "modules/projectcontentinfo/projectReportRecordView";
-		}else if (StringUtils.isNotBlank(projectReportRecord.getView()) && projectReportRecord.getView().equals("modiftApply")){
-			ProcessInstance processInstance = actTaskService.getProcIns(projectReportRecord.getProcessInstanceId());
-			if (processInstance!=null) {
-				Task taskInfok = actTaskService.getCurrentTaskInfo(processInstance);
-				Act act = new Act();
-				act.setTaskId(taskInfok.getId());
-				act.setTaskName(taskInfok.getName());
-				act.setProcDefId(taskInfok.getProcessDefinitionId());
-				act.setTaskDefKey(taskInfok.getTaskDefinitionKey());
-				act.setProcInsId(taskInfok.getProcessInstanceId());
-				act.setTask(taskInfok);
-				projectReportRecord.setAct(act);
+		ProjectReportRecord ReportRecord = new ProjectReportRecord();
+		ProjectReportData projectReportData = new ProjectReportData();
+		projectReportData.setFileStatus("1");
+		projectReportData.setId(projectReportRecord.getReport().getId());
+		ProjectReportData projectReportDatas = projectReportDataService.findInfoByStatus(projectReportData);
+		//添加归档申请编号
+		if(null != projectReportDatas){
+			try {
+				int count = projectReportRecordService.getNumber(projectReportDatas.getId());
+				projectReportDatas.setRecordNum(count>9?projectReportDatas.getNumber()+"-"+count+"":projectReportDatas.getNumber()+"-0"+count);
+			}catch (Exception e){
+				logger.error("Exception e"+e);
 			}
 			}
-			return "modules/projectcontentinfo/projectReportRecordModiftApply";
-		}*/
-		ProjectReportRecord ReportRecord = projectReportRecordService.getRecord(projectReportRecord);
+		}
+
+		ReportRecord.setReport(projectReportDatas);
 		model.addAttribute("projectReportRecord", ReportRecord);
 		model.addAttribute("projectReportRecord", ReportRecord);
 		return "modules/projectcontentinfo/projectReportRecordForm";
 		return "modules/projectcontentinfo/projectReportRecordForm";
 	}
 	}

+ 1 - 1
src/main/java/com/jeeplus/modules/projectrecord/web/completion/ProjectCompletionPigeonholeController.java

@@ -143,7 +143,7 @@ public class ProjectCompletionPigeonholeController extends BaseController {
             //获取阶段Type父节点信息
             //获取阶段Type父节点信息
             String projectType = projectCompletionPigeonholeService.getProjectType(records1.getProjectTypeId(), "竣工阶段");
             String projectType = projectCompletionPigeonholeService.getProjectType(records1.getProjectTypeId(), "竣工阶段");
             //根据项目id查询相关的项目阶段内容
             //根据项目id查询相关的项目阶段内容
-            List<ProjectRecordTreeData> reportDataList = projectContentDataService.getProjectContentReportDataList(records1.getId(),projectType);
+            List<ProjectRecordTreeData> reportDataList = projectContentDataService.getProjectContentReportArchiveDataList(records1.getId(),projectType);
             if(0 != reportDataList.size()){
             if(0 != reportDataList.size()){
                 Projectcontentinfo select = new Projectcontentinfo();
                 Projectcontentinfo select = new Projectcontentinfo();
                 ProjectRecords project = new ProjectRecords();
                 ProjectRecords project = new ProjectRecords();

+ 14 - 0
src/main/resources/mappings/modules/projectcontentinfo/ProjectContentDataDao.xml

@@ -314,6 +314,20 @@
 		where a.project_id = #{projectId} and pt.parent_id =#{projectTypeParentId} and a.del_flag = 0 order by prd.status, a.update_date desc, prd.update_date desc
 		where a.project_id = #{projectId} and pt.parent_id =#{projectTypeParentId} and a.del_flag = 0 order by prd.status, a.update_date desc, prd.update_date desc
 	</select>
 	</select>
 
 
+	<select id="getProjectContentReportArchiveDataList" resultType="com.jeeplus.modules.projectrecord.entity.ProjectRecordTreeData">
+		select a.id as "id", a.create_by as "createBy.id", a.create_date as "createDate", a.project_id as "pid",
+		a.name as "projectName", "" as projectId, "0" as projectStatus,su.name as "projectRegistrant" ,
+		pt.type_name as projectLeader, ppt.type_name as clientName,prd.status as status,prd.id as reportId,ifnull(prd.name,'') as reportName
+		from project_content_data a
+		left join sys_user su on su.id = a.create_by
+		left join project_type pt on a.type = pt.type_id
+		left join project_type ppt on pt.parent_id = ppt.id
+		left join project_content_report pcr on pcr.content_id = a.id
+		left join project_report_data prd on prd.id = pcr.report_id
+		where a.project_id = #{projectId} and pt.parent_id =#{projectTypeParentId}
+		and a.del_flag = 0 and prd.status = 5 order by prd.status, a.update_date desc, prd.update_date desc
+	</select>
+
 	<select id="getProjectContentData" resultType="ProjectContentData">
 	<select id="getProjectContentData" resultType="ProjectContentData">
 		select a.id,a.number,a.name,a.create_date as createDate,a.type ,su.name as masterName
 		select a.id,a.number,a.name,a.create_date as createDate,a.type ,su.name as masterName
 		from project_content_data a
 		from project_content_data a

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

@@ -733,4 +733,106 @@
 		order by a.update_date desc,a.name
 		order by a.update_date desc,a.name
 	</select>
 	</select>
 
 
+	<select id="findInfoByStatus" 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 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 = #{DEL_FLAG_NORMAL}
+			<if test="project != null and project.id != null and project.id != ''">
+				AND a.project_id = #{project.id}
+			</if>
+			<if test="type != null and type != ''">
+				AND a.type = #{type}
+			</if>
+			<if test="name != null and name != ''">
+				AND a.name like
+				<if test="dbName == 'oracle'">'%'||#{name}||'%'</if>
+				<if test="dbName == 'mysql'">CONCAT('%', #{name}, '%')</if>
+			</if>
+			<if test="number != null and number != ''">
+				AND a.number like
+				<if test="dbName == 'oracle'">'%'||#{number}||'%'</if>
+				<if test="dbName == 'mysql'">CONCAT('%', #{number}, '%')</if>
+			</if>
+			<if test="achievementType != null and achievementType != ''">
+				AND a.achievement_type = #{achievementType}
+			</if>
+			<if test="signCostOne!=null and signCostOne.id != null and signCostOne.id != ''">
+				AND a.sign_cost_one = #{signCostOne.id}
+			</if>
+			<if test="signCostTwo!=null and signCostTwo.id != null and signCostTwo.id != ''">
+				AND a.sign_cost_two = #{signCostTwo.id}
+			</if>
+			<if test="master!=null and master.id != null and master.id != ''">
+				AND a.master = #{master.id}
+			</if>
+			<if test="reviewStandard != null and reviewStandard != ''">
+				AND a.review_standard = #{reviewStandard}
+			</if>
+
+			<if test="startDate != null and startDate != ''">
+				AND a.report_date &gt;= #{startDate}
+			</if>
+			<if test="endDate != null and endDate != ''">
+				AND a.report_date &lt;= #{endDate}
+			</if>
+			<if test="fileStatus != null and fileStatus != ''">
+				AND a.file_status = #{fileStatus}
+			</if>
+			<if test="officeId != null and officeId != ''">
+				AND a.office_id = #{officeId}
+			</if>
+			<if test="createStartDate != null and createStartDate != ''">
+				AND a.create_date &gt;= #{createStartDate}
+			</if>
+			<if test="createEndDate != null and createEndDate != ''">
+				AND a.create_date &lt;= #{createEndDate}
+			</if>
+			<if test="project!=null and project.projectName != null and project.projectName != ''">
+				AND r.project_name like
+				<if test="dbName == 'oracle'">'%'||#{project.projectName}||'%'</if>
+				<if test="dbName == 'mysql'">CONCAT('%', #{project.projectName}, '%')</if>
+			</if>
+			<if test="contractNum != null and contractNum != ''">
+				AND wci.contract_num like
+				<if test="dbName == 'oracle'">'%'||#{contractNum}||'%'</if>
+				<if test="dbName == 'mysql'">CONCAT('%', #{contractNum}, '%')</if>
+			</if>
+			<if test="clientName != null and clientName != ''">
+				AND wct.name like
+				<if test="dbName == 'oracle'">'%'||#{clientName}||'%'</if>
+				<if test="dbName == 'mysql'">CONCAT('%', #{clientName}, '%')</if>
+			</if>
+			<if test="projectMasterId != null and projectMasterId != ''">
+				AND #{projectMasterId} in (select user_id from work_project_user pm WHERE pm.project_id = a.project_id AND is_master = '1' AND pm.del_flag = '0')
+			</if>
+			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>
 </mapper>