Browse Source

公司级 项目/合同 超期

[user3] 3 years atrás
parent
commit
c5a3de1406

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

@@ -9,6 +9,8 @@ import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportDataTwo;
 import com.jeeplus.modules.projectrecord.entity.ProjectRecords;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecordReportInfo;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
+import com.jeeplus.modules.statement.entity.StatementCompanyComprehensiveInfo;
+import com.jeeplus.modules.statement.entity.StatementDataInfo;
 import com.jeeplus.modules.sys.entity.User;
 import org.apache.ibatis.annotations.Param;
 
@@ -337,4 +339,8 @@ public interface RuralProjectRecordsDao extends CrudDao<RuralProjectRecords> {
     //查询的符合条件的项目报表总数
     Integer reportPageCount(@Param("ruralProjectRecords") RuralProjectRecords ruralProjectRecords,@Param("officeId") String officeId,@Param("grade")String grade,@Param("beginDate")String beginDate,@Param("endDate") String endDate,@Param("recordState")String recordState,@Param("reportedState")String reportedState);
 
+    //查询项目超期信息(4种)
+    List<RuralProjectRecords> selectReportPageOverdue(@Param("ruralProjectRecords") RuralProjectRecords ruralProjectRecords, @Param("statementCompanyComprehensiveInfo")StatementCompanyComprehensiveInfo statementCompanyComprehensiveInfo,@Param("beginDate")String beginDate,@Param("endDate") String endDate);
+    //查询项目超期信息的总条数
+    Integer selectReportPageOverdueCount(StatementCompanyComprehensiveInfo statementCompanyComprehensiveInfo);
 }

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

@@ -47,6 +47,7 @@ import com.jeeplus.modules.ruralprojectrecords.entity.*;
 import com.jeeplus.modules.ruralprojectrecords.enums.ProjectStatusEnum;
 import com.jeeplus.modules.ruralprojectrecords.utils.ImportExcelUtil;
 import com.jeeplus.modules.serialnum.service.SerialNumTplService;
+import com.jeeplus.modules.statement.entity.StatementCompanyComprehensiveInfo;
 import com.jeeplus.modules.statement.service.StatementCompanyComprehensiveService;
 import com.jeeplus.modules.sys.dao.UserDao;
 import com.jeeplus.modules.sys.entity.*;
@@ -3437,4 +3438,41 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 		page.setList(recordsList);
 		return page;
 	}
+
+	//公司级:项目报表详细
+	public Page<RuralProjectRecords> findReportPageOverdue(Page<RuralProjectRecords> page, RuralProjectRecords projectRecords,
+														   StatementCompanyComprehensiveInfo statementCompanyComprehensiveInfo,
+															String year,String bigDateType,String smallDateType) {
+		//将获取的datetype转为需要的具体时间   含年月日
+		Map<String,String> map = statementCompanyComprehensiveService.getDateNew(new Integer(bigDateType),new Integer(smallDateType),new Integer(year));
+		String beginDate = map.get("beginDate");
+		String endDate = map.get("endDate");
+		if(null!= projectRecords.getOffice() && StringUtils.isNotBlank(projectRecords.getOffice().getId())){
+			//查询该选择节点下所有的部门Id
+			List<String> officeIdList = officeService.getChildrenOffice(projectRecords.getOffice().getId());
+			officeIdList.add(projectRecords.getOffice().getId());
+			projectRecords.setOfficeIdList(officeIdList);
+		}
+		//为了方便后台 limit 的显示,将页面传入的page暂存
+		Integer oldPageNo = page.getPageNo();
+		if((page.getPageNo()-1) >= 0) {
+			page.setPageNo((page.getPageNo() - 1) * page.getPageSize());
+		}
+		projectRecords.setPage(page);
+		List<RuralProjectRecords> recordsList = dao.selectReportPageOverdue(projectRecords,statementCompanyComprehensiveInfo,beginDate,endDate);
+		int count = dao.selectReportPageOverdueCount(statementCompanyComprehensiveInfo);
+		page.setPageNo(oldPageNo);
+		page.setCount(count);
+		page.setCountFlag(false);
+		//查询负责人信息
+		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;
+	}
 }

+ 26 - 5
src/main/java/com/jeeplus/modules/statement/controller/StatementCompanyComprehensiveController.java

@@ -99,7 +99,8 @@ public class StatementCompanyComprehensiveController extends BaseController {
                             , @Param(value = "year") String year
                             , @Param(value = "grade")String grade
                             , @Param(value = "recordState")String recordState
-                            , @Param(value = "reportedState")String reportedState){
+                            , @Param(value = "reportedState")String reportedState
+                            ,StatementCompanyComprehensiveInfo statementCompanyComprehensiveInfo){
 
         //每次都必须接收前端传参并放入model
         model.addAttribute("bigDateType",bigDateType);
@@ -109,6 +110,10 @@ public class StatementCompanyComprehensiveController extends BaseController {
         model.addAttribute("grade",grade);
         model.addAttribute("recordState",recordState);
         model.addAttribute("reportedState",reportedState);
+        model.addAttribute("field5",statementCompanyComprehensiveInfo.getField5());
+        model.addAttribute("field6",statementCompanyComprehensiveInfo.getField6());
+        model.addAttribute("field7",statementCompanyComprehensiveInfo.getField7());
+        model.addAttribute("field8",statementCompanyComprehensiveInfo.getField8());
 
         //这个是我删除的有需要可以补回,但是得注意projectRecords的submitmoney值
         //进行查询之后进行任何操作,返回还是查询之后的数据页面
@@ -130,8 +135,13 @@ public class StatementCompanyComprehensiveController extends BaseController {
         //添加查询类型(造价审核)
         //projectRecords.setProjectType("2");
         //获取项目信息
-        Page<RuralProjectRecords> page = projectRecordsService.findReportPage(new Page<RuralProjectRecords>(request, response), projectRecords,officeId,grade,bigDateType,smallDateType,recordState,reportedState,year);
-
+        Page<RuralProjectRecords> page = new Page<RuralProjectRecords>();
+        if(StringUtils.isNotBlank(grade) || StringUtils.isNotBlank(recordState) || StringUtils.isNotBlank(reportedState)) {
+            page = projectRecordsService.findReportPage(new Page<RuralProjectRecords>(request, response), projectRecords, officeId, grade, bigDateType, smallDateType, recordState, reportedState, year);
+        }else {
+            statementCompanyComprehensiveInfo.setType("1");
+            page = projectRecordsService.findReportPageOverdue(new Page<RuralProjectRecords>(request, response), projectRecords,statementCompanyComprehensiveInfo,year,bigDateType, smallDateType);
+        }
         //查询工程类型
         if (projectRecords.getEngineeringType()!=null){
             ProjectEngineeringInfo engineeringInfo=engineeringService.get(projectRecords.getEngineeringType());
@@ -141,6 +151,8 @@ public class StatementCompanyComprehensiveController extends BaseController {
         return "modules/statement/projectReportList";
     }
 
+
+
     //公司级:开票报表详细
     //参数:officeId ,bigDateType,smallDateType
     //newlyAdded:不为空则为查询新增发票,collectionThisMonth:不为空则为查询本*收款发票
@@ -288,7 +300,8 @@ public class StatementCompanyComprehensiveController extends BaseController {
     @RequestMapping(value = "contractStatementList")
     public String contractStatementList(WorkContractInfo workContractInfo, HttpServletRequest request, HttpServletResponse response, Model model
                      ,@Param("officeIdd") String officeIdd,@Param("bigDateType")String bigDateType,@Param("smallDateType")String smallDateType
-                     ,@Param("contractRecordState")String contractRecordState, @Param(value = "year") String year) {
+                     ,@Param("contractRecordState")String contractRecordState, @Param(value = "year") String year
+                     ,@Param("statementCompanyComprehensiveInfo")StatementCompanyComprehensiveInfo statementCompanyComprehensiveInfo) {
 
         //每次都必须接收前端传参并放入model
         model.addAttribute("bigDateType",bigDateType);
@@ -296,6 +309,8 @@ public class StatementCompanyComprehensiveController extends BaseController {
         model.addAttribute("officeIdd",officeIdd);
         model.addAttribute("year",year);
         model.addAttribute("contractRecordState",contractRecordState);
+        model.addAttribute("field3",statementCompanyComprehensiveInfo.getField3());
+        model.addAttribute("field4",statementCompanyComprehensiveInfo.getField4());
 
         //进行查询之后进行任何操作,返回还是查询之后的数据页面
         if (StringUtils.isNotBlank(workContractInfo.getToflag())){
@@ -313,7 +328,13 @@ public class StatementCompanyComprehensiveController extends BaseController {
         User user = UserUtils.getUser();
 
         //查询信息
-        Page<WorkContractInfo> page = workContractInfoService.findContractStatementPage(new Page<WorkContractInfo>(request, response), workContractInfo,officeIdd,bigDateType,smallDateType,contractRecordState,year);
+        Page<WorkContractInfo> page = new Page<WorkContractInfo>();
+        if(StringUtils.isNotBlank(statementCompanyComprehensiveInfo.getField3()) || StringUtils.isNotBlank(statementCompanyComprehensiveInfo.getField4())) {
+            statementCompanyComprehensiveInfo.setType("4");
+            page = workContractInfoService.findContractStatementPageOverdue(new Page<WorkContractInfo>(request, response), workContractInfo, statementCompanyComprehensiveInfo, bigDateType, smallDateType, year);
+        }else {
+            page = workContractInfoService.findContractStatementPage(new Page<WorkContractInfo>(request, response), workContractInfo, officeIdd, bigDateType, smallDateType, contractRecordState, year);
+        }
         List<WorkContractInfo> list = page.getList();
 
         //查询所有和当前登陆人有关的项目的审核

+ 6 - 0
src/main/java/com/jeeplus/modules/workcontractinfo/dao/WorkContractInfoDao.java

@@ -6,6 +6,7 @@ package com.jeeplus.modules.workcontractinfo.dao;
 import afu.org.checkerframework.checker.igj.qual.I;
 import com.jeeplus.common.persistence.CrudDao;
 import com.jeeplus.common.persistence.annotation.MyBatisDao;
+import com.jeeplus.modules.statement.entity.StatementCompanyComprehensiveInfo;
 import com.jeeplus.modules.sys.entity.User;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientInfo;
 import com.jeeplus.modules.workcontractinfo.entity.WorkContractAnnex;
@@ -112,4 +113,9 @@ public interface WorkContractInfoDao extends CrudDao<WorkContractInfo> {
     Integer findContractStatementPageCount(@Param("workContractInfo")WorkContractInfo workContractInfo,@Param("officeId") String officeId, @Param("beginDate")String beginDate, @Param("endDate")String endDate,@Param("contractRecordState")String contractRecordState);
 
     void updateContractRecordStatus(WorkContractInfo workContractInfo);
+
+    //查询超期合同信息
+    List<WorkContractInfo> findContractStatementPageOverdue(@Param("workContractInfo")WorkContractInfo workContractInfo, @Param("statementCompanyComprehensiveInfo")StatementCompanyComprehensiveInfo statementCompanyComprehensiveInfo,@Param("beginDate")String beginDate,@Param("endDate") String endDate);
+    //查询超期合同信息的条数
+    Integer findContractStatementPageOverdueCount(StatementCompanyComprehensiveInfo statementCompanyComprehensiveInfo);
 }

+ 32 - 0
src/main/java/com/jeeplus/modules/workcontractinfo/service/WorkContractInfoService.java

@@ -20,6 +20,7 @@ import com.jeeplus.modules.contractclient.entity.WorkContractClient;
 import com.jeeplus.modules.contractclient.service.WorkContractClientService;
 import com.jeeplus.modules.isignature.service.ISignatureDocumentService;
 import com.jeeplus.modules.serialnum.service.SerialNumTplService;
+import com.jeeplus.modules.statement.entity.StatementCompanyComprehensiveInfo;
 import com.jeeplus.modules.statement.service.StatementCompanyComprehensiveService;
 import com.jeeplus.modules.sys.dao.RoleDao;
 import com.jeeplus.modules.sys.dao.WorkattachmentDao;
@@ -4010,6 +4011,37 @@ public class WorkContractInfoService extends CrudService<WorkContractInfoDao, Wo
 		return page;
 	}
 
+	//公司级:报销报表详细
+	public Page<WorkContractInfo> findContractStatementPageOverdue(Page<WorkContractInfo> page, WorkContractInfo workContractInfo, StatementCompanyComprehensiveInfo statementCompanyComprehensiveInfo
+																	, String bigDateType, String smallDateType, String year) {
+		//将获取的datetype转为需要的具体时间
+		Map<String,String> map = statementCompanyComprehensiveService.getDateNew(new Integer(bigDateType),new Integer(smallDateType),new Integer(year));
+		String beginDate = map.get("beginDate");
+		String endDate = map.get("endDate");
+
+		if (StringUtils.isNotBlank(workContractInfo.getTotalContractIds())){
+			workContractInfo.setTotalContractIds(","+workContractInfo.getTotalContractIds()+",");
+		}
+		String companyId = UserUtils.getUser().getComId();
+		workContractInfo.getSqlMap().put("dsf", dataScopeFilter(workContractInfo.getCurrentUser(), "o", "u","s", MenuStatusEnum.WORK_CONTRACT_INFO.getValue()));
+		//workContractInfo.getSqlMap().put("dsf","and (a.company_id='"+companyId+"')");
+
+		//为了方便后台 limit 的显示,将页面传入的page暂存
+		Integer oldPageNo = page.getPageNo();
+		if((page.getPageNo()-1) >= 0) {
+			page.setPageNo((page.getPageNo() - 1) * page.getPageSize());
+		}
+		workContractInfo.setPage(page);
+		int count = dao.findContractStatementPageOverdueCount(statementCompanyComprehensiveInfo);
+		List<WorkContractInfo> list = dao.findContractStatementPageOverdue(workContractInfo,statementCompanyComprehensiveInfo,beginDate,endDate);
+		page.setCount(count);
+		page.setCountFlag(false);
+		page.setPageNo(oldPageNo);
+
+		page.setList(list);
+		return page;
+	}
+
 	/**
 	 * 修改合同归档审核状态
 	 * @param workContractInfo

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

@@ -2534,4 +2534,270 @@
 			</if>
 		</where>
 	</select>
+
+	<select id="selectReportPageOverdue" resultType="RuralProjectRecords">
+		SELECT
+		<include refid="projectRecordsColumnss"/>
+		,a.record_state as "recordState"
+		,a.submit_money as "submitMoney"
+		,(case when a.submit_money = '1' then 'B级' when a.submit_money = '2' then 'A级' else '' end) as projectScale
+		,(case
+		when a.submit_money = '1' and prd.status = '5' then
+		'已完成'
+		when a.submit_money = '2' and prdt.status = '5' then
+		'已完成' else '未完成'
+		end) as completionStatus
+		,a.project_type as projectType,
+		wci.name AS "workContractInfo.name",
+		wci.contract_num as "workContractInfo.contractNum",
+		wci.contract_price as "workContractInfo.contractPrice",
+		sub.name as "projectMasterName",
+		sob.name as "projectMasterOffice",
+		wct.id AS "workContractInfo.client.id",
+		wct.name AS "workContractInfo.client.name",
+		o.top_company AS "office.name",
+		o.name AS "createByOffice",
+		ifnull(prd.number ,"") as "projectReportNumber"
+		,ifnull(prd.status,0) as "projectReportStatus"
+		,ifnull(prd.name,"") as "projectReportName"
+		,ifnull(prr.status,0) as "projectReportRecordStatus"
+		,ifnull(prrd.status,0) as "downProjectReportRecordStatus",
+		prrd.file_num as recodeNum,
+		prr.process_instance_id as prrProcessInstanceId,
+		prrd.process_instance_id as prrdProcessInstanceId
+		,prd.id as prdId
+		,prr.id as prrId
+		,prrd.id as prrdId
+		,prd.audit_pass_date as auditPassDate
+		,if(date_add(prd.audit_pass_date,interval #{ruralProjectRecords.endingCount} day) >now(),"0","1") as reportedType
+		,ifnull(rprr.report_status,0) as "reportStatus"
+		,ifnull(rprr.sync_status,0) as "syncStatus"
+		,ifnull(pas.status,0) as "approvalSignatureStatus"
+		,ifnull(pas.process_instance_id,"") as "approvalSignatureProcessInstanceId"
+		,ifnull(prs.status,0) as "reportSignatureStatus"
+		,ifnull(prs.process_instance_id,"") as "reportSignatureProcessInstanceId"
+		,rprr.process_instance_id as "reportedProcessInstanceId"
+		,ifnull(prdt.status,0) as "projectReportStatusTwo"
+		,prdt.id as prdtId
+		,prdt.process_instance_id as prdtProcessinstanceId
+		,ifnull(pmdr.status,0) as "defectRecordStatus"
+		,pmdr.process_instance_id as "pmdrProcessInstanceId"
+		,pmdr.id as pmdrId
+		,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(prd.approval_fee ,"") as "approvalFee"
+		,ifnull(prd.review_fee ,"") as "reviewFee"
+		,ifnull(prd.verify_fee ,"") as "verifyFee"
+		,ifnull(prd.verify_rate ,"") as "verifyRate"
+		,prd.audit_pass_date as "reportAuditDate"
+		,prdt.audit_pass_date as "reportTwoAuditDate"
+		/*,SUM(wi.money) as "money"*/
+		,prd.ZiXunShouRu as "money"
+		,prd.signature_flag as "signatureFlag"
+		,prd.signature_contract_id as "signatureContractId"
+		,prd.signature_url as "signatureUrl"
+		,a.report_signature_flag as "reportSignatureFlag"
+		,a.report_signature_url as "reportSignatureUrl"
+		,a.report_signature_contract_id as "reportSignatureContractId"
+		,prsi.id as "prsiId"
+		FROM statement_data_info sdi
+
+		<if test="statementCompanyComprehensiveInfo.field5 != null and statementCompanyComprehensiveInfo.field5 != ''">
+			LEFT JOIN rural_project_records a ON sdi.field1 = a.id
+		</if>
+		<if test="statementCompanyComprehensiveInfo.field6 != null and statementCompanyComprehensiveInfo.field6 != ''">
+			LEFT JOIN rural_project_records a ON sdi.field2 = a.id
+		</if>
+		<if test="statementCompanyComprehensiveInfo.field7 != null and statementCompanyComprehensiveInfo.field7 != ''">
+			LEFT JOIN rural_project_records a ON sdi.field3 = a.id
+		</if>
+		<if test="statementCompanyComprehensiveInfo.field8 != null and statementCompanyComprehensiveInfo.field8 != ''">
+			LEFT JOIN rural_project_records a ON sdi.field4 = 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>
+			sdi.year = #{statementCompanyComprehensiveInfo.year}
+			and sdi.type = #{statementCompanyComprehensiveInfo.type}
+			and sdi.big_date_type = #{statementCompanyComprehensiveInfo.bigDateType}
+			and sdi.small_date_type = #{statementCompanyComprehensiveInfo.smallDateType}
+			and sdi.office_id = #{statementCompanyComprehensiveInfo.officeId}
+			<if test="statementCompanyComprehensiveInfo.field5 != null and statementCompanyComprehensiveInfo.field5 != ''">
+				and a.record_state = 6
+				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="statementCompanyComprehensiveInfo.field6 != null and statementCompanyComprehensiveInfo.field6 != ''">
+				and a.record_state = 7
+				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 rprr.status = 5
+				and rprr.del_flag = 0
+				and rprr.accomplish_date >= #{beginDate}
+				and rprr.accomplish_date &lt;= #{endDate}
+			</if>
+			<if test="statementCompanyComprehensiveInfo.field7 != null and statementCompanyComprehensiveInfo.field7 != ''">
+				and a.reported_state = 6
+				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 != null and statementCompanyComprehensiveInfo.field8 != ''">
+				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>
+		GROUP BY a.id
+		<choose>
+			<when test="ruralProjectRecords.page !=null and ruralProjectRecords.page.orderBy != null and ruralProjectRecords.page.orderBy != ''">
+				ORDER BY ${ruralProjectRecords.page.orderBy}
+			</when>
+			<otherwise>
+				ORDER BY a.update_date DESC
+			</otherwise>
+		</choose>
+		limit ${ruralProjectRecords.page.pageNo},${ruralProjectRecords.page.pageSize}
+	</select>
+
+	<select id="selectReportPageOverdueCount" resultType="integer">
+		select
+			count(DISTINCT id)
+		from statement_data_info
+		<where>
+			year = #{year}
+			and type = #{type}
+			and big_date_type = #{bigDateType}
+			and small_date_type = #{smallDateType}
+			and office_id = #{officeId}
+			and field1 IS NOT NULL and field1 != ''
+			and field2 IS NOT NULL and field2 != ''
+			and field3 IS NOT NULL and field3 != ''
+			and field4 IS NOT NULL and field4 != ''
+		</where>
+	</select>
+
 </mapper>

+ 182 - 0
src/main/resources/mappings/modules/workcontractinfo/WorkContractInfoDao.xml

@@ -1668,4 +1668,186 @@
 			AND a.company_id = #{workContractInfo.currentUser.company.id} ${workContractInfo.sqlMap.dsf}
 		</where>
 	</select>
+
+	<select id="findContractStatementPageOverdue" resultType="WorkContractInfo">
+		SELECT
+		a.id AS "id",
+		u.name AS "createBy.name",
+		u.name AS "createUser",
+		a.create_by AS "createBy.id",
+		a.create_date AS "createDate",
+		a.update_by AS "updateBy.id",
+		a.update_date AS "updateDate",
+		a.del_flag AS "delFlag",
+		a.remarks AS "remarks",
+		a.client_id AS "client.id",
+		a.contract_date AS "contractDate",
+		a.effective_date AS "effectiveDate",
+		a.closing_date AS "closingDate",
+		a.name AS "name",
+		a.contract_num_path AS "contractNumPath",
+		a.create_name AS "createName",
+		a.contract_category AS "contractCategory",
+		a.contract_num AS "contractNum",
+		a.contract_price AS "contractPrice",
+		a.contract_opposite AS "contractOpposite",
+		a.contract_type AS "contractType",
+		a.contract_fee AS "contractFee",
+		a.contract_special AS "contractSpecial",
+		a.contract_state AS "contractState",
+		a.office_id AS "chargeCompany",
+		a.charge_company_name AS "chargeCompanyName",
+		a.contract_file_id AS "contractFileId",
+		a.contract_role AS "contractRole",
+		a.apply_view AS "applyView",
+		a.process_instance_id AS "processInstanceId",
+		a.company_id as companyId,
+		a.contractFeeDoc AS "contractFeeDoc",
+		a.contractTypeDoc AS "contractTypeDoc",
+		a.another_contract_num AS "anotherContractNum",
+		client.name AS "client.name",
+		client.name as "clientName",
+		a.is_total AS "isTotal",
+		a.total_contract_id AS "totalContractId",
+		a.status AS "status",
+		a.investment_scale AS "investmentScale",
+		a.summary_payment AS "summaryPayment",
+		a.investment_amount AS "investmentAmount",
+		a.create_bys AS "createBys",
+		a.construction_project_type AS "constructionProjectType",
+		a.invalidate_process_instance_id AS "invalidateProcessInstanceId",
+		a.alter_process_instance_id AS "alterProcessInstanceId",
+		a.invalidate_status AS "invalidateStatus",
+		a.invalidate_user AS "invalidateUserId",
+		a.alter_state AS "alterState",
+		a.alter_sign AS "alterSign",
+		a.record_state AS "recordState",
+		a.alterbefore_id AS "alterBeforeId",
+		a.completion_status AS "completionStatus",
+		a.common_flag AS "commonFlag",
+		a.signature_status as "signatureStatus",
+		a.charge_criterion as "chargeCriterion",
+		a.other_details as "otherDetails",
+		a.contract_information AS "contractInformation",
+		(CASE a.contract_information
+		WHEN '0' THEN '金额合同'
+		WHEN '1' THEN '费率合同'
+		ELSE '' END) as "contractInformationStr",
+		ifnull(wcr.status,0) as "contrractRecordStatus",
+		ifnull(wcr.file_num,"") as "recordNum",
+		wcr.id as "contrractRecordId",
+		a.describe_content AS "describeContent",
+		o.name as "createUserOfficeName"
+		FROM statement_data_info sdi
+		<if test="statementCompanyComprehensiveInfo.field3 != null and statementCompanyComprehensiveInfo.field3 != ''">
+			left join work_contract_info a on a.id = sdi.field1
+		</if>
+		<if test="statementCompanyComprehensiveInfo.field4 != null and statementCompanyComprehensiveInfo.field4 != ''">
+			left join work_contract_info a on a.id = sdi.field2
+		</if>
+		<include refid="workContractInfoJoins"/>
+		left join work_contract_record wcr on wcr.contract_info_id = a.id
+		<where>
+			sdi.year = #{statementCompanyComprehensiveInfo.year}
+			and sdi.type = #{statementCompanyComprehensiveInfo.type}
+			and sdi.big_date_type = #{statementCompanyComprehensiveInfo.bigDateType}
+			and sdi.small_date_type = #{statementCompanyComprehensiveInfo.smallDateType}
+			and sdi.office_id = #{statementCompanyComprehensiveInfo.officeId}
+			and a.contract_state = 5
+			and a.office_id in(select id  from sys_office where id = #{statementCompanyComprehensiveInfo.officeId} or parent_ids like concat('%',#{statementCompanyComprehensiveInfo.officeId},'%'))
+			and a.over_due_status = 1
+
+			<if test="statementCompanyComprehensiveInfo.field3 != null and statementCompanyComprehensiveInfo.field3 != ''">
+				and a.contract_record_state = 6
+			</if>
+
+			<if test="statementCompanyComprehensiveInfo.field4 != null and statementCompanyComprehensiveInfo.field4 != ''">
+				and a.contract_record_state = 7
+				and a.accomplish_date >= #{beginDate}
+				and a.accomplish_date &lt;= #{endDate}
+			</if>
+
+			and (a.alter_state is null or a.alter_state ="")
+			<if test="workContractInfo.id != null and workContractInfo.id != ''">
+				AND a.id = #{workContractInfo.id}
+			</if>
+			<if test="workContractInfo.client != null and workContractInfo.client.id != null and workContractInfo.client.id != ''">
+				AND a.client_id = #{workContractInfo.client.id}
+			</if>
+			<if test="workContractInfo.client != null and workContractInfo.client.name != null and workContractInfo.client.name != ''">
+				AND client.name LIKE concat('%',#{workContractInfo.client.name},'%')
+			</if>
+			<if test="workContractInfo.beginContractDate != null and workContractInfo.endContractDate != null and workContractInfo.beginContractDate != '' and workContractInfo.endContractDate != ''">
+				AND a.contract_date BETWEEN #{workContractInfo.beginContractDate} AND #{workContractInfo.endContractDate}
+			</if>
+			<if test="workContractInfo.name != null and workContractInfo.name != ''">
+				AND a.name LIKE
+				<if test="workContractInfo.dbName == 'oracle'">'%'||#{workContractInfo.name}||'%'</if>
+				<if test="workContractInfo.dbName == 'mssql'">'%'+#{workContractInfo.name}+'%'</if>
+				<if test="workContractInfo.dbName == 'mysql'">concat('%',#{workContractInfo.name},'%')</if>
+			</if>
+			<if test="workContractInfo.totalContractIds != null and workContractInfo.totalContractIds != ''">
+				AND a.total_contract_ids LIKE
+				<if test="workContractInfo.dbName == 'oracle'">'%'||#{workContractInfo.totalContractIds}||'%'</if>
+				<if test="workContractInfo.dbName == 'mssql'">'%'+#{workContractInfo.totalContractIds}+'%'</if>
+				<if test="workContractInfo.dbName == 'mysql'">concat('%',#{workContractInfo.totalContractIds},'%')</if>
+			</if>
+			<!--<if test="totalContractId != null and totalContractId != ''">
+				AND a.total_contract_id =#{totalContractId}
+			</if>-->
+			<if test="workContractInfo.beginInvestmentAmount != null and workContractInfo.endInvestmentAmount != null and workContractInfo.beginInvestmentAmount != '' and workContractInfo.endInvestmentAmount != ''">
+				AND a.investment_amount &gt;= #{workContractInfo.beginInvestmentAmount} AND a.investment_amount &lt;= #{workContractInfo.endInvestmentAmount}
+			</if>
+			<if test="workContractInfo.beginContractPrice != null and workContractInfo.endContractPrice != null and workContractInfo.beginContractPrice != '' and workContractInfo.endContractPrice != ''">
+				AND a.contract_price &gt;= #{workContractInfo.beginContractPrice} AND a.contract_price &lt;= #{workContractInfo.endContractPrice}
+			</if>
+			<!--			<if test="contractPrice != '' and contractPrice != null">-->
+			<!--				AND a.contract_price like concat('%',#{contractPrice},'%')-->
+			<!--			</if>-->
+			<if test="workContractInfo.contractState != null and workContractInfo.contractState != ''">
+				AND a.contract_state = #{workContractInfo.contractState}
+			</if>
+			<if test="workContractInfo.contractNum != null and workContractInfo.contractNum!= ''">
+				AND a.contract_num like  concat('%',#{workContractInfo.contractNum},'%')
+			</if>
+			<if test="workContractInfo.isTotal != null and workContractInfo.isTotal != ''">
+				AND a.is_total = #{workContractInfo.isTotal}
+			</if>
+			<if test="workContractInfo.contrractRecordStatus != null and workContractInfo.contrractRecordStatus != ''">
+				<choose>
+					<when test="workContractInfo.contrractRecordStatus == 0">
+						AND wcr.status is null
+					</when>
+					<otherwise>
+						AND wcr.status = #{workContractInfo.contrractRecordStatus}
+					</otherwise>
+				</choose>
+			</if>
+			AND a.company_id = #{workContractInfo.currentUser.company.id} ${workContractInfo.sqlMap.dsf}
+		</where>
+		<choose>
+			<when test="workContractInfo.page !=null and workContractInfo.page.orderBy != null and workContractInfo.page.orderBy != ''">
+				ORDER BY ${workContractInfo.page.orderBy}
+			</when>
+			<otherwise>
+				ORDER BY a.create_date DESC
+			</otherwise>
+		</choose>
+		limit ${workContractInfo.page.pageNo},${workContractInfo.page.pageSize}
+	</select>
+
+	<select id="findContractStatementPageOverdueCount" resultType="integer">
+		select
+		count(DISTINCT id)
+		from statement_data_info
+		<where>
+			year = #{year}
+			and type = #{type}
+			and big_date_type = #{bigDateType}
+			and small_date_type = #{smallDateType}
+			and office_id = #{officeId}
+			and field1 IS NOT NULL and field1 != ''
+			and field2 IS NOT NULL and field2 != ''
+		</where>
+	</select>
 </mapper>

+ 42 - 6
src/main/webapp/webpage/modules/statement/companyDataView.jsp

@@ -914,10 +914,34 @@
 				,{align:'center', title: '上报超期',colspan:2}
             ],
 			[
-				{field:'field5',align:'center',title:'超期未归档'}
-				,{field:'field6',align:'center',title:'超期已归档'}
-				,{field:'field7',align:'center',title:'超期未上报'}
-				,{field:'field8',align:'center',title:'超期已上报'}
+				{field:'field5',align:'center',title:'超期未归档',templet:function(d){
+						if("" != d.statementDate){
+							return "<a class=\"attention-info\" title=\"" + d.field5 + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('超期未归档', '${ctx}/statement/StatementCompanyComprehensive/projectReportList?bigDateType=" + d.bigDateType +"&smallDateType=" + d.smallDateType +"&officeId="+d.officeId+"&year="+d.year+"&field5=5','95%', '95%')\">" + d.field5 + "</a>";
+						}else{
+							return "<span title='"+ d.field5 +"'>" +d.field5+ "</span>";
+						}
+					}}
+				,{field:'field6',align:'center',title:'超期已归档',templet:function(d){
+					if("" != d.statementDate){
+						return "<a class=\"attention-info\" title=\"" + d.field6 + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('超期已归档', '${ctx}/statement/StatementCompanyComprehensive/projectReportList?bigDateType=" + d.bigDateType +"&smallDateType=" + d.smallDateType +"&officeId="+d.officeId+"&year="+d.year+"&field6=5','95%', '95%')\">" + d.field6 + "</a>";
+					}else{
+						return "<span title='"+ d.field6 +"'>" +d.field6+ "</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>";
+					}else{
+						return "<span title='"+ d.field7 +"'>" +d.field7+ "</span>";
+					}
+				}}
+				,{field:'field8',align:'center',title:'超期已上报',templet:function(d){
+					if("" != d.statementDate){
+						return "<a class=\"attention-info\" title=\"" + d.field8 + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('超期已上报', '${ctx}/statement/StatementCompanyComprehensive/projectReportList?bigDateType=" + d.bigDateType +"&smallDateType=" + d.smallDateType +"&officeId="+d.officeId+"&year="+d.year+"&field8=5','95%', '95%')\">" + d.field8 + "</a>";
+					}else{
+						return "<span title='"+ d.field8 +"'>" +d.field8+ "</span>";
+					}
+				}}
 			]]
             ,data: [
             		//data下是list集合,一定要这样写,不然无逗号分割会报错
@@ -1060,8 +1084,20 @@
 				,{align:'center', title: '未纸质归档',colspan: 2}
 			],
 				[
-					{field:'field3',align:'center',title:'超期未归档'}
-					,{field:'field4',align:'center',title:'超期已归档'}
+					{field:'field3',align:'center',title:'超期未归档',templet:function(d){
+							if("" != d.statementDate){
+								return "<a class=\"attention-info\" title=\"" + d.field3 + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('超期未归档', '${ctx}/statement/StatementCompanyComprehensive/contractStatementList?bigDateType=" + d.bigDateType +"&smallDateType=" + d.smallDateType +"&officeIdd="+d.officeId+"&year="+d.year+"&field3=5','95%', '95%')\">" + d.field3 + "</a>";
+							}else{
+								return "<span title='"+ d.field3 +"'>" +d.field3+ "</span>";
+							}
+						}}
+					,{field:'field4',align:'center',title:'超期已归档',templet:function(d){
+						if("" != d.statementDate){
+							return "<a class=\"attention-info\" title=\"" + d.field4 + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('超期已归档', '${ctx}/statement/StatementCompanyComprehensive/contractStatementList?bigDateType=" + d.bigDateType +"&smallDateType=" + d.smallDateType +"&officeIdd="+d.officeId+"&year="+d.year+"&field4=5','95%', '95%')\">" + d.field4 + "</a>";
+						}else{
+							return "<span title='"+ d.field4 +"'>" +d.field4+ "</span>";
+						}
+					}}
 				]]
 			,data: [
 				//data下是list集合,一定要这样写,不然无逗号分割会报错

+ 23 - 19
src/main/webapp/webpage/modules/statement/projectReportList.jsp

@@ -369,6 +369,10 @@
 					<input id="grade" name="grade" type="hidden" value="${grade}"/>
 					<input id="recordState" name="recordState" type="hidden" value="${recordState}"/>
 					<input id="reportedState" name="reportedState" type="hidden" value="${reportedState}"/>
+					<input id="field5" name="field5" type="hidden" value="${field5}"/>
+					<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}"/>
 
 					<table:sortColumn id="orderBy" name="orderBy" value="${page.orderBy}" callback="sortOrRefresh();"/><!-- 支持排序 -->
 					<div class="commonQuery lw6">
@@ -405,31 +409,31 @@
 								<form:input path="projectId" htmlEscape="false" maxlength="64"  class=" form-control  layui-input"/>
 							</div>
 						</div>
-						<div class="layui-item query athird ">
-							<label class="layui-form-label">登记人:</label>
-							<div class="layui-input-block with-icon">
-								<sys:inquireselectUserNotReadolny id="createBy" name="createBy.id" value="${ruralProjectRecords.createBy.id}" labelName="createBy.name" labelValue="${ruralProjectRecords.createBy.name}" cssStyle="background-color: #fff"
-																  title="登记人" url="/sys/office/treeDataAll?type=3" cssClass="form-control layui-input" allowClear="true" notAllowSelectParent="true"/>
-							</div>
-						</div>
+<%--						<div class="layui-item query athird ">--%>
+<%--							<label class="layui-form-label">登记人:</label>--%>
+<%--							<div class="layui-input-block with-icon">--%>
+<%--								<sys:inquireselectUserNotReadolny id="createBy" name="createBy.id" value="${ruralProjectRecords.createBy.id}" labelName="createBy.name" labelValue="${ruralProjectRecords.createBy.name}" cssStyle="background-color: #fff"--%>
+<%--																  title="登记人" url="/sys/office/treeDataAll?type=3" cssClass="form-control layui-input" allowClear="true" notAllowSelectParent="true"/>--%>
+<%--							</div>--%>
+<%--						</div>--%>
 						<div class="layui-item query athird ">
 							<label class="layui-form-label">项目责任人:</label>
 							<div class="layui-input-block">
 								<form:input path="leaderNameStr" htmlEscape="false" maxlength="255"  class=" form-control layui-input"/>
 							</div>
 						</div>
-						<div class="layui-item query athird">
-							<label class="layui-form-label">工程类别:</label>
-							<div class="layui-input-block">
-								<input id="demo100" value="${engineeringInfo.engineeringName}" readonly="true" style="background-color: #fff" htmlEscape="false" maxlength="255"  class=" form-control layui-input"/>
-								<form:input id="demo101" path="engineeringType" readonly="true" cssStyle="background-color: #fff;display: none"  htmlEscape="false" maxlength="255"  class=" form-control layui-input"/>
-									<%--								<button type="button" class="layui-btn layui-btn-primary" style="width: 100%;text-align: left" id="demo100">--%>
-									<%--									<span>${engineeringInfo.engineeringName}</span>--%>
-									<%--									<input type="hidden" name="engineeringType" id="engineeringType" value="${engineeringInfo.engineeringName}"/>--%>
-									<%--									<i class="layui-icon layui-icon-down layui-font-12" style="float: right"></i>--%>
-									<%--								</button>--%>
-							</div>
-						</div>
+<%--						<div class="layui-item query athird">--%>
+<%--							<label class="layui-form-label">工程类别:</label>--%>
+<%--							<div class="layui-input-block">--%>
+<%--								<input id="demo100" value="${engineeringInfo.engineeringName}" readonly="true" style="background-color: #fff" htmlEscape="false" maxlength="255"  class=" form-control layui-input"/>--%>
+<%--								<form:input id="demo101" path="engineeringType" readonly="true" cssStyle="background-color: #fff;display: none"  htmlEscape="false" maxlength="255"  class=" form-control layui-input"/>--%>
+<%--									&lt;%&ndash;								<button type="button" class="layui-btn layui-btn-primary" style="width: 100%;text-align: left" id="demo100">&ndash;%&gt;--%>
+<%--									&lt;%&ndash;									<span>${engineeringInfo.engineeringName}</span>&ndash;%&gt;--%>
+<%--									&lt;%&ndash;									<input type="hidden" name="engineeringType" id="engineeringType" value="${engineeringInfo.engineeringName}"/>&ndash;%&gt;--%>
+<%--									&lt;%&ndash;									<i class="layui-icon layui-icon-down layui-font-12" style="float: right"></i>&ndash;%&gt;--%>
+<%--									&lt;%&ndash;								</button>&ndash;%&gt;--%>
+<%--							</div>--%>
+<%--						</div>--%>
 						<div class="layui-item query athird ">
 							<label class="layui-form-label">合同名称:</label>
 							<div class="layui-input-block">