Bladeren bron

项目前期阶段

lem 4 jaren geleden
bovenliggende
commit
9bfd5233fd
46 gewijzigde bestanden met toevoegingen van 9297 en 672 verwijderingen
  1. 1 0
      src/main/java/com/jeeplus/modules/filing/basicInformation/mapper/BasicInformationMapper.java
  2. 14 0
      src/main/java/com/jeeplus/modules/filing/basicInformation/mapper/xml/BasicInformationMapper.xml
  3. 8 0
      src/main/java/com/jeeplus/modules/filing/basicInformation/service/BasicInformationService.java
  4. 14 2
      src/main/java/com/jeeplus/modules/filing/basicInformation/web/BasicInformationController.java
  5. 528 0
      src/main/java/com/jeeplus/modules/filing/constructionStage/entity/ConstructionStage.java
  6. 33 0
      src/main/java/com/jeeplus/modules/filing/constructionStage/mapper/ConstructionStageMapper.java
  7. 213 0
      src/main/java/com/jeeplus/modules/filing/constructionStage/mapper/xml/ConstructionStageMapper.xml
  8. 78 0
      src/main/java/com/jeeplus/modules/filing/constructionStage/service/ConstructionStageService.java
  9. 242 0
      src/main/java/com/jeeplus/modules/filing/constructionStage/web/ConstructionStageController.java
  10. 1286 0
      src/main/java/com/jeeplus/modules/filing/earlyEngineering/entity/EarlyEngineering.java
  11. 27 0
      src/main/java/com/jeeplus/modules/filing/earlyEngineering/entity/LegalCompliance.java
  12. 54 0
      src/main/java/com/jeeplus/modules/filing/earlyEngineering/mapper/EarlyEngineeringMapper.java
  13. 33 0
      src/main/java/com/jeeplus/modules/filing/earlyEngineering/mapper/LegalComplianceMapper.java
  14. 54 54
      src/main/java/com/jeeplus/modules/filing/earlyEngineering/mapper/xml/ApplicationForMapper.xml
  15. 770 0
      src/main/java/com/jeeplus/modules/filing/earlyEngineering/mapper/xml/EarlyEngineeringMapper.xml
  16. 253 0
      src/main/java/com/jeeplus/modules/filing/earlyEngineering/mapper/xml/LegalComplianceMapper.xml
  17. 115 0
      src/main/java/com/jeeplus/modules/filing/earlyEngineering/service/EarlyEngineeringService.java
  18. 77 0
      src/main/java/com/jeeplus/modules/filing/earlyEngineering/service/LegalComplianceService.java
  19. 242 0
      src/main/java/com/jeeplus/modules/filing/earlyEngineering/web/EarlyEngineeringController.java
  20. 243 0
      src/main/java/com/jeeplus/modules/filing/earlyEngineering/web/LegalComplianceController.java
  21. 1216 7
      src/main/java/com/jeeplus/modules/filing/filingImages/service/FilingImagesService.java
  22. 42 0
      src/main/java/com/jeeplus/modules/filing/filingImages/web/FilingImagesController.java
  23. 179 19
      src/main/webapp/webpage/modules/filing/applicationFor/applicationForForm.jsp
  24. 82 191
      src/main/webapp/webpage/modules/filing/applicationFor/applicationForList.js
  25. 5 0
      src/main/webapp/webpage/modules/filing/applicationFor/applicationForList.jsp
  26. 19 31
      src/main/webapp/webpage/modules/filing/approvalStage/approvalStageList.js
  27. 2 2
      src/main/webapp/webpage/modules/filing/approvalStage/approvalStageList.jsp
  28. 38 37
      src/main/webapp/webpage/modules/filing/basicInformation/basicInformationList.js
  29. 10 16
      src/main/webapp/webpage/modules/filing/biddingContract/biddingContractList.js
  30. 107 0
      src/main/webapp/webpage/modules/filing/constructionStage/constructionStageForm.jsp
  31. 362 0
      src/main/webapp/webpage/modules/filing/constructionStage/constructionStageList.js
  32. 87 0
      src/main/webapp/webpage/modules/filing/constructionStage/constructionStageList.jsp
  33. 17 22
      src/main/webapp/webpage/modules/filing/designStage/designStageList.js
  34. 4 4
      src/main/webapp/webpage/modules/filing/designStage/designStageList.jsp
  35. 795 0
      src/main/webapp/webpage/modules/filing/earlyEngineering/earlyEngineeringForm.jsp
  36. 993 0
      src/main/webapp/webpage/modules/filing/earlyEngineering/earlyEngineeringList.js
  37. 87 0
      src/main/webapp/webpage/modules/filing/earlyEngineering/earlyEngineeringList.jsp
  38. 50 125
      src/main/webapp/webpage/modules/filing/earlyStage/earlyStageList.js
  39. 191 0
      src/main/webapp/webpage/modules/filing/legalCompliance/legalComplianceForm.jsp
  40. 567 0
      src/main/webapp/webpage/modules/filing/legalCompliance/legalComplianceList.js
  41. 82 0
      src/main/webapp/webpage/modules/filing/legalCompliance/legalComplianceList.jsp
  42. 36 77
      src/main/webapp/webpage/modules/filing/projectOverview/projectOverviewList.js
  43. 2 2
      src/main/webapp/webpage/modules/filing/projectOverview/projectOverviewList.jsp
  44. 22 51
      src/main/webapp/webpage/modules/filing/reviewStage/reviewStageList.js
  45. 16 31
      src/main/webapp/webpage/modules/filing/studyStage/studyStageList.js
  46. 1 1
      src/main/webapp/webpage/modules/filing/studyStage/studyStageList.jsp

+ 1 - 0
src/main/java/com/jeeplus/modules/filing/basicInformation/mapper/BasicInformationMapper.java

@@ -62,4 +62,5 @@ public interface BasicInformationMapper extends BaseMapper<BasicInformation> {
     List<String> findALlId();
 
 
+    List<BasicInformation> findAllChildList(BasicInformation basicInformation);
 }

+ 14 - 0
src/main/java/com/jeeplus/modules/filing/basicInformation/mapper/xml/BasicInformationMapper.xml

@@ -283,6 +283,20 @@
         from filing_basic_information
         where parentId = '0'
     </select>
+    <select id="findAllChildList"
+            resultType="com.jeeplus.modules.filing.basicInformation.entity.BasicInformation">
+        SELECT
+        id,
+        projectCode,
+        monomerCode,
+        entryName
+        FROM filing_basic_information
+        <where>
+            <if test="projectCode != null  and projectCode != ''">
+                parentId = #{projectCode}
+            </if>
+        </where>
+    </select>
 
 
 </mapper>

+ 8 - 0
src/main/java/com/jeeplus/modules/filing/basicInformation/service/BasicInformationService.java

@@ -186,4 +186,12 @@ public class BasicInformationService extends CrudService<BasicInformationMapper,
 	public List<String> findAllId() {
 		return mapper.findALlId();
 	}
+
+	public List<BasicInformationChild> findChildList(BasicInformationChild basicInformation) {
+		return mapper.findChildList(basicInformation);
+	}
+
+	public List<BasicInformation> findAllChildList(BasicInformation basicInformation) {
+		return mapper.findAllChildList(basicInformation);
+	}
 }

+ 14 - 2
src/main/java/com/jeeplus/modules/filing/basicInformation/web/BasicInformationController.java

@@ -231,8 +231,20 @@ public class BasicInformationController extends BaseController {
 		AjaxJson j = new AjaxJson();
 		try {
             String fileName = "基础信息"+DateUtils.getDate("yyyyMMddHHmmss")+".xlsx";
-            Page<BasicInformation> page = basicInformationService.findAllPage(new Page<BasicInformation>(request, response, -1), basicInformation);
-    		new ExportExcel("基础信息", BasicInformation.class).setDataList(page.getList()).write(response, fileName).dispose();
+			//查询所有父级的信息
+			List<BasicInformation> list = basicInformationService.findList(basicInformation);
+			List<BasicInformation> returnList = new ArrayList<>();
+			//根据父级,查询所有子级的信息
+			for (BasicInformation a :
+					list) {
+				List<BasicInformation> childList = basicInformationService.findAllChildList(a);
+				returnList.add(a);
+				for (BasicInformation b :
+						childList) {
+					returnList.add(b);
+				}
+			}
+			new ExportExcel("基础信息", BasicInformation.class).setDataList(returnList).write(response, fileName).dispose();
     		j.setSuccess(true);
     		j.setMsg("导出成功!");
     		return j;

+ 528 - 0
src/main/java/com/jeeplus/modules/filing/constructionStage/entity/ConstructionStage.java

@@ -0,0 +1,528 @@
+package com.jeeplus.modules.filing.constructionStage.entity;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.google.common.collect.Lists;
+import com.jeeplus.common.utils.excel.annotation.ExcelField;
+import com.jeeplus.core.persistence.DataEntity;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 初设阶段实体类
+ * */
+public class ConstructionStage extends DataEntity<ConstructionStage> {
+    /**
+     * 项目编码
+     */
+    private String projectCode;
+
+    /**
+     * 单体编码
+     */
+    private String monomerCode;
+
+    /**
+     * 项目名称
+     */
+    private String entryName;
+
+    /**
+     * 开工日期
+     * */
+    private Date commDate;
+    /**
+     * 开工报告
+     * */
+    private String commReport;
+    /**
+     * 竣工日期
+     * */
+    private Date compDate;
+    /**
+     * 竣工报告
+     * */
+    private String compLetion;
+    /**
+     * 投运日期
+     * */
+    private Date cossDate;
+    /**
+     * 投运报告
+     * */
+    private String cossReport;
+    /**
+     * 环评验收日期
+     * */
+    private Date acceptanceDate;
+    /**
+     * 水保验收日期
+     * */
+    private Date soilWaterDate;
+
+    /**
+     * 附件
+     * */
+    private String enclosure;
+    /**
+     * 土建
+     * */
+    private String scheduleCivil;
+    /**
+     * 电气
+     * */
+    private String scheduleElectrical;
+    /**
+     * 调试
+     * */
+    private String scheduleDebugging;
+    /**
+     * 验收
+     * */
+    private String scheduleCheck;
+    /**
+     * 累计定性描述
+     * */
+    private String scheduleCumulative;
+    /**
+     * 启委会文
+     * */
+    private String openingCommittee;
+    /**
+     * 调度命名编号
+     * */
+    private String dispatchingNaming;
+    /**
+     * 安全质量量化考核成果
+     * */
+    private String resultsSafety;
+    /**
+     * 工程荣誉
+     * */
+    private String engineeringHonors;
+    /**
+     * 工程结算审核报告
+     * */
+    private String settAuditReport;
+    /**
+     * 工程决算审计报告
+     * */
+    private String accAuditReport;
+    /**
+     * 增资产生的卡片信息
+     * */
+    private String cardInformation;
+
+    /**
+     * 达标投产文
+     * */
+    private String standardProduction;
+    /**
+     * 五方质量终身责任承诺书
+     * */
+    private String fiveParty;
+
+    /**
+     * 分包单位名称
+     * */
+    private String nameOfSubcontractor;
+    /**
+     * 项目地点
+     * */
+    private String projectLocation;
+    /**
+     * 四级风险内容
+     * */
+    private String levelRiskContent;
+    /**
+     * 四级风险实施时间
+     * */
+    private Date levelRiskTime;
+    /**
+     * “标准化开工”时间
+     * */
+    private Date standStartTime;
+    /**
+     * “标准化转序”时间
+     * */
+    private Date standTransferTime;
+    /**
+     * “标准化预验收”时间
+     * */
+    private Date standAcceptanceTime;
+    /**
+     * 约谈日期
+     * */
+    private Date dateOfInterview;
+    /**
+     * 约谈会议纪要
+     * */
+    private String mettingMinutes;
+    /**
+     * 累计扣款金额
+     * */
+    private String accumulatedAmount;
+    /**
+     * 扣款单
+     * */
+    private String deductionForm;
+    /**
+     * 工程遗留相关事项
+     * */
+    private String mattersLeft;
+    /**
+     * 退料及报废手续
+     * */
+    private String returnAndScrap;
+    /**
+     * 重要的附件等扫描件
+     * */
+    private String ImportantAccessories;
+
+
+    /**
+     * 子类数据集合
+     * */
+    private List<ConstructionStage> childList = Lists.newArrayList();
+
+    @ExcelField(title="项目编码", align=2, sort=1)
+    public String getProjectCode() {
+        return projectCode;
+    }
+
+    public void setProjectCode(String projectCode) {
+        this.projectCode = projectCode;
+    }
+
+    @ExcelField(title="单体编码", align=2, sort=2)
+    public String getMonomerCode() {
+        return monomerCode;
+    }
+
+    public void setMonomerCode(String monomerCode) {
+        this.monomerCode = monomerCode;
+    }
+
+    @ExcelField(title="项目名称", align=2, sort=3)
+    public String getEntryName() {
+        return entryName;
+    }
+
+    public void setEntryName(String entryName) {
+        this.entryName = entryName;
+    }
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    public Date getCommDate() {
+        return commDate;
+    }
+
+    public void setCommDate(Date commDate) {
+        this.commDate = commDate;
+    }
+
+    public String getCommReport() {
+        return commReport;
+    }
+
+    public void setCommReport(String commReport) {
+        this.commReport = commReport;
+    }
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    public Date getCompDate() {
+        return compDate;
+    }
+
+    public void setCompDate(Date compDate) {
+        this.compDate = compDate;
+    }
+
+    public String getCompLetion() {
+        return compLetion;
+    }
+
+    public void setCompLetion(String compLetion) {
+        this.compLetion = compLetion;
+    }
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    public Date getCossDate() {
+        return cossDate;
+    }
+
+    public void setCossDate(Date cossDate) {
+        this.cossDate = cossDate;
+    }
+
+    public String getCossReport() {
+        return cossReport;
+    }
+
+    public void setCossReport(String cossReport) {
+        this.cossReport = cossReport;
+    }
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    public Date getAcceptanceDate() {
+        return acceptanceDate;
+    }
+
+    public void setAcceptanceDate(Date acceptanceDate) {
+        this.acceptanceDate = acceptanceDate;
+    }
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    public Date getSoilWaterDate() {
+        return soilWaterDate;
+    }
+
+    public void setSoilWaterDate(Date soilWaterDate) {
+        this.soilWaterDate = soilWaterDate;
+    }
+
+    public String getEnclosure() {
+        return enclosure;
+    }
+
+    public void setEnclosure(String enclosure) {
+        this.enclosure = enclosure;
+    }
+
+    public String getScheduleCivil() {
+        return scheduleCivil;
+    }
+
+    public void setScheduleCivil(String scheduleCivil) {
+        this.scheduleCivil = scheduleCivil;
+    }
+
+    public String getScheduleElectrical() {
+        return scheduleElectrical;
+    }
+
+    public void setScheduleElectrical(String scheduleElectrical) {
+        this.scheduleElectrical = scheduleElectrical;
+    }
+
+    public String getScheduleDebugging() {
+        return scheduleDebugging;
+    }
+
+    public void setScheduleDebugging(String scheduleDebugging) {
+        this.scheduleDebugging = scheduleDebugging;
+    }
+
+    public String getScheduleCheck() {
+        return scheduleCheck;
+    }
+
+    public void setScheduleCheck(String scheduleCheck) {
+        this.scheduleCheck = scheduleCheck;
+    }
+
+    public String getScheduleCumulative() {
+        return scheduleCumulative;
+    }
+
+    public void setScheduleCumulative(String scheduleCumulative) {
+        this.scheduleCumulative = scheduleCumulative;
+    }
+
+    public String getOpeningCommittee() {
+        return openingCommittee;
+    }
+
+    public void setOpeningCommittee(String openingCommittee) {
+        this.openingCommittee = openingCommittee;
+    }
+
+    public String getDispatchingNaming() {
+        return dispatchingNaming;
+    }
+
+    public void setDispatchingNaming(String dispatchingNaming) {
+        this.dispatchingNaming = dispatchingNaming;
+    }
+
+    public String getResultsSafety() {
+        return resultsSafety;
+    }
+
+    public void setResultsSafety(String resultsSafety) {
+        this.resultsSafety = resultsSafety;
+    }
+
+    public String getEngineeringHonors() {
+        return engineeringHonors;
+    }
+
+    public void setEngineeringHonors(String engineeringHonors) {
+        this.engineeringHonors = engineeringHonors;
+    }
+
+    public String getSettAuditReport() {
+        return settAuditReport;
+    }
+
+    public void setSettAuditReport(String settAuditReport) {
+        this.settAuditReport = settAuditReport;
+    }
+
+    public String getAccAuditReport() {
+        return accAuditReport;
+    }
+
+    public void setAccAuditReport(String accAuditReport) {
+        this.accAuditReport = accAuditReport;
+    }
+
+    public String getCardInformation() {
+        return cardInformation;
+    }
+
+    public void setCardInformation(String cardInformation) {
+        this.cardInformation = cardInformation;
+    }
+
+    public String getStandardProduction() {
+        return standardProduction;
+    }
+
+    public void setStandardProduction(String standardProduction) {
+        this.standardProduction = standardProduction;
+    }
+
+    public String getFiveParty() {
+        return fiveParty;
+    }
+
+    public void setFiveParty(String fiveParty) {
+        this.fiveParty = fiveParty;
+    }
+
+    public String getNameOfSubcontractor() {
+        return nameOfSubcontractor;
+    }
+
+    public void setNameOfSubcontractor(String nameOfSubcontractor) {
+        this.nameOfSubcontractor = nameOfSubcontractor;
+    }
+
+    public String getProjectLocation() {
+        return projectLocation;
+    }
+
+    public void setProjectLocation(String projectLocation) {
+        this.projectLocation = projectLocation;
+    }
+
+    public String getLevelRiskContent() {
+        return levelRiskContent;
+    }
+
+    public void setLevelRiskContent(String levelRiskContent) {
+        this.levelRiskContent = levelRiskContent;
+    }
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    public Date getLevelRiskTime() {
+        return levelRiskTime;
+    }
+
+    public void setLevelRiskTime(Date levelRiskTime) {
+        this.levelRiskTime = levelRiskTime;
+    }
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    public Date getStandStartTime() {
+        return standStartTime;
+    }
+
+    public void setStandStartTime(Date standStartTime) {
+        this.standStartTime = standStartTime;
+    }
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    public Date getStandTransferTime() {
+        return standTransferTime;
+    }
+
+    public void setStandTransferTime(Date standTransferTime) {
+        this.standTransferTime = standTransferTime;
+    }
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    public Date getStandAcceptanceTime() {
+        return standAcceptanceTime;
+    }
+
+    public void setStandAcceptanceTime(Date standAcceptanceTime) {
+        this.standAcceptanceTime = standAcceptanceTime;
+    }
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    public Date getDateOfInterview() {
+        return dateOfInterview;
+    }
+
+    public void setDateOfInterview(Date dateOfInterview) {
+        this.dateOfInterview = dateOfInterview;
+    }
+
+    public String getMettingMinutes() {
+        return mettingMinutes;
+    }
+
+    public void setMettingMinutes(String mettingMinutes) {
+        this.mettingMinutes = mettingMinutes;
+    }
+
+    public String getAccumulatedAmount() {
+        return accumulatedAmount;
+    }
+
+    public void setAccumulatedAmount(String accumulatedAmount) {
+        this.accumulatedAmount = accumulatedAmount;
+    }
+
+    public String getDeductionForm() {
+        return deductionForm;
+    }
+
+    public void setDeductionForm(String deductionForm) {
+        this.deductionForm = deductionForm;
+    }
+
+    public String getMattersLeft() {
+        return mattersLeft;
+    }
+
+    public void setMattersLeft(String mattersLeft) {
+        this.mattersLeft = mattersLeft;
+    }
+
+    public String getReturnAndScrap() {
+        return returnAndScrap;
+    }
+
+    public void setReturnAndScrap(String returnAndScrap) {
+        this.returnAndScrap = returnAndScrap;
+    }
+
+    public String getImportantAccessories() {
+        return ImportantAccessories;
+    }
+
+    public void setImportantAccessories(String importantAccessories) {
+        ImportantAccessories = importantAccessories;
+    }
+
+    public List<ConstructionStage> getChildList() {
+        return childList;
+    }
+
+    public void setChildList(List<ConstructionStage> childList) {
+        this.childList = childList;
+    }
+}

+ 33 - 0
src/main/java/com/jeeplus/modules/filing/constructionStage/mapper/ConstructionStageMapper.java

@@ -0,0 +1,33 @@
+/**
+ * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.modules.filing.constructionStage.mapper;
+
+import com.jeeplus.core.persistence.BaseMapper;
+import com.jeeplus.core.persistence.annotation.MyBatisMapper;
+import com.jeeplus.modules.filing.constructionStage.entity.ConstructionStage;
+
+import java.util.List;
+
+/**
+ * 核准阶段MAPPER接口
+ * @author qy
+ * @version 2021-03-25
+ */
+@MyBatisMapper
+public interface ConstructionStageMapper extends BaseMapper<ConstructionStage> {
+    List<ConstructionStage> findChildList(ConstructionStage entity);
+
+    Integer findByCode(ConstructionStage entity);
+
+
+    /**
+     * 通过id集合查询出所有符合条件的项目基础信息
+     */
+    List<ConstructionStage> findByIdList(List<String> idList);
+
+    /**
+     * 通过项目id查询出所有的项目信息
+     * */
+    List<ConstructionStage> findAll(List<String> idList);
+}

+ 213 - 0
src/main/java/com/jeeplus/modules/filing/constructionStage/mapper/xml/ConstructionStageMapper.xml

@@ -0,0 +1,213 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.modules.filing.constructionStage.mapper.ConstructionStageMapper">
+    
+	<sql id="constructionStageColumns">
+		a.id AS "id",
+		a.create_by AS "createBy.id",
+		a.create_date AS "createDate",
+		a.update_by AS "updateBy.id",
+		a.update_date AS "updateDate",
+		a.remarks AS "remarks",
+		a.del_flag AS "delFlag",
+		a.projectCode AS "projectCode",
+		a.monomerCode AS "monomerCode",
+		a.entryName AS "entryName",
+		b.commDate AS "commDate",
+		b.commReport AS "commReport",
+		b.compDate AS "compDate",
+		b.compLetion AS "compLetion",
+		b.cossDate AS "cossDate",
+		b.cossReport AS "cossReport",
+		b.acceptanceDate AS "acceptanceDate",
+		b.soilWaterDate AS "soilWaterDate",
+		b.enclosure AS "enclosure",
+		b.scheduleCivil AS "scheduleCivil",
+		b.scheduleElectrical AS "scheduleElectrical",
+		b.scheduleDebugging AS "scheduleDebugging",
+		b.scheduleCheck AS "scheduleCheck",
+		b.scheduleCumulative AS "scheduleCumulative",
+		b.openingCommittee AS "openingCommittee",
+		b.dispatchingNaming AS "dispatchingNaming",
+		b.resultsSafety AS "resultsSafety",
+		b.engineeringHonors AS "engineeringHonors",
+		b.settAuditReport AS "settAuditReport",
+		b.accAuditReport AS "accAuditReport",
+		b.cardInformation AS "cardInformation",
+		b.standardProduction AS "standardProduction",
+		b.fiveParty AS "fiveParty",
+		b.nameOfSubcontractor AS "nameOfSubcontractor",
+		b.projectLocation AS "projectLocation",
+		b.levelRiskContent AS "levelRiskContent",
+		b.levelRiskTime AS "levelRiskTime",
+		b.standStartTime AS "standStartTime",
+		b.standTransferTime AS "standTransferTime",
+		b.standAcceptanceTime AS "standAcceptanceTime",
+		b.dateOfInterview AS "dateOfInterview",
+		b.mettingMinutes AS "mettingMinutes",
+		b.accumulatedAmount AS "accumulatedAmount",
+		b.deductionForm AS "deductionForm",
+		b.mattersLeft AS "mattersLeft",
+		b.returnAndScrap AS "returnAndScrap",
+		b.ImportantAccessories AS "ImportantAccessories"
+	</sql>
+	
+	<sql id="constructionStageJoins">
+		LEFT JOIN filing_construction_stage b on a.projectCode = b.projectCode
+	</sql>
+	
+    
+	<select id="get" resultType="ConstructionStage" >
+		SELECT 
+			<include refid="constructionStageColumns"/>
+		FROM filing_basic_information a
+		<include refid="constructionStageJoins"/>
+		WHERE a.id = #{id}
+	</select>
+	
+	<select id="findList" resultType="ConstructionStage">
+		SELECT 
+			<include refid="constructionStageColumns"/>
+		FROM filing_basic_information a
+		<include refid="constructionStageJoins"/>
+		<where>
+			a.del_flag = #{DEL_FLAG_NORMAL}
+			${dataScope}
+			and a.parentId = '0'
+			<if test="projectCode != null  and projectCode != ''">
+				and a.projectCode = #{projectCode}
+			</if>
+		</where>
+		<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="findAllList" resultType="ConstructionStage" >
+		SELECT 
+			<include refid="constructionStageColumns"/>
+		FROM filing_basic_information a
+		<include refid="constructionStageJoins"/>
+		<where>
+			a.del_flag = #{DEL_FLAG_NORMAL}
+			${dataScope}
+		</where>		
+		<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>
+	
+	<insert id="insert">
+		INSERT INTO filing_early_designstage(
+			id,
+			create_by,
+			create_date,
+			update_by,
+			update_date,
+			remarks,
+			del_flag,
+	  		projectCode,
+			preDesignNo,
+			initialDesignDate,
+			preDesignAnnex
+		) VALUES (
+			#{id},
+			#{createBy.id},
+			#{createDate},
+			#{updateBy.id},
+			#{updateDate},
+			#{remarks},
+			#{delFlag},
+			#{projectCode},
+			#{preDesignNo},
+			#{initialDesignDate},
+			#{preDesignAnnex}
+		)
+	</insert>
+	
+	<update id="update">
+		UPDATE filing_early_designstage SET
+			create_date = #{createDate},
+			update_by = #{updateBy.id},
+			update_date = #{updateDate},
+			remarks = #{remarks},
+			preDesignNo = #{preDesignNo},
+			initialDesignDate = #{initialDesignDate},
+			preDesignAnnex = #{preDesignAnnex}
+		WHERE projectCode = #{projectCode}
+	</update>
+	
+	
+	<!--物理删除-->
+	<update id="delete">
+		DELETE FROM filing_early_designstage
+		WHERE id = #{id}
+	</update>
+	
+	<!--逻辑删除-->
+	<update id="deleteByLogic">
+		UPDATE filing_early_designstage SET 
+			del_flag = #{DEL_FLAG_DELETE}
+		WHERE id = #{id}
+	</update>
+	
+	
+	<!-- 根据实体名称和字段名称和字段值获取唯一记录 -->
+	<select id="findUniqueByProperty" resultType="ConstructionStage" statementType="STATEMENT">
+		select * FROM filing_early_designstage  where ${propertyName} = '${value}'
+	</select>
+	<select id="findChildList" resultType="com.jeeplus.modules.filing.constructionStage.entity.ConstructionStage">
+		select
+			a.id AS "id",
+			a.projectCode AS "projectCode",
+			a.monomerCode AS "monomerCode",
+			a.entryName AS "entryName",
+			b.preDesignNo AS "preDesignNo",
+			b.initialDesignDate AS "initialDesignDate",
+			b.preDesignAnnex AS "preDesignAnnex"
+		from filing_basic_information a
+				 LEFT JOIN filing_early_designstage b on a.projectCode = b.projectCode
+		<where>
+			<if test="projectCode != null  and projectCode != ''">
+				a.parentId = #{projectCode}
+			</if>
+		</where>
+	</select>
+	<select id="findByCode" resultType="java.lang.Integer">
+		select count(id) from filing_early_designstage
+		where projectCode = #{projectCode}
+	</select>
+	<select id="findByIdList" resultType="com.jeeplus.modules.filing.constructionStage.entity.ConstructionStage">
+		SELECT
+		<include refid="constructionStageColumns"/>
+		FROM filing_basic_information a
+		<include refid="constructionStageJoins"/>
+		WHERE a.id in(
+		<foreach collection="list" index="index" item="item" separator=",">
+			#{item}
+		</foreach>
+		)
+	</select>
+	<select id="findAll" resultType="com.jeeplus.modules.filing.constructionStage.entity.ConstructionStage">
+		SELECT
+		<include refid="constructionStageColumns"/>
+		FROM filing_basic_information a
+		<include refid="constructionStageJoins"/>
+		WHERE a.id in(
+		<foreach collection="list" index="index" item="item" separator=",">
+			#{item}
+		</foreach>
+		)
+	</select>
+
+</mapper>

+ 78 - 0
src/main/java/com/jeeplus/modules/filing/constructionStage/service/ConstructionStageService.java

@@ -0,0 +1,78 @@
+/**
+ * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.modules.filing.constructionStage.service;
+
+import com.jeeplus.core.persistence.Page;
+import com.jeeplus.core.service.CrudService;
+import com.jeeplus.modules.filing.constructionStage.entity.ConstructionStage;
+import com.jeeplus.modules.filing.constructionStage.mapper.ConstructionStageMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * 核准阶段Service
+ *
+ * @author qy
+ * @version 2021-03-25
+ */
+@Service
+@Transactional(readOnly = true)
+public class ConstructionStageService extends CrudService<ConstructionStageMapper, ConstructionStage> {
+
+
+	@Override
+	public ConstructionStage get(ConstructionStage entity) {
+		return super.get(entity);
+	}
+
+	@Override
+	public List<ConstructionStage> findList(ConstructionStage entity) {
+		return super.findList(entity);
+	}
+
+	@Override
+	public Page<ConstructionStage> findPage(Page<ConstructionStage> page, ConstructionStage entity) {
+		return super.findPage(page, entity);
+	}
+
+	public Page<ConstructionStage> findAllPage(Page<ConstructionStage> page, ConstructionStage entity){
+		dataRuleFilter(entity);
+		entity.setPage(page);
+		page.setList(mapper.findAllList(entity));
+		return page;
+	}
+
+	public Page<ConstructionStage> findChildPage(Page<ConstructionStage> page, ConstructionStage entity) {
+		dataRuleFilter(entity);
+		entity.setPage(page);
+		page.setList(mapper.findChildList(entity));
+		return page;
+	}
+
+
+
+	@Override
+	public void delete(ConstructionStage entity) {
+		super.delete(entity);
+	}
+
+	@Override
+	@Transactional(readOnly = false)
+	public void save(ConstructionStage entity) {
+		Integer byCode = mapper.findByCode(entity);
+		if (0 == byCode || null == byCode) {
+			entity.preInsert();
+			mapper.insert(entity);
+		} else {
+			entity.preUpdate();
+			mapper.update(entity);
+		}
+	}
+
+	public Integer findByCode(ConstructionStage entity) {
+		return mapper.findByCode(entity);
+	}
+}

+ 242 - 0
src/main/java/com/jeeplus/modules/filing/constructionStage/web/ConstructionStageController.java

@@ -0,0 +1,242 @@
+package com.jeeplus.modules.filing.constructionStage.web;
+
+import com.google.common.collect.Lists;
+import com.jeeplus.common.json.AjaxJson;
+import com.jeeplus.common.utils.DateUtils;
+import com.jeeplus.common.utils.StringUtils;
+import com.jeeplus.common.utils.excel.ExportExcel;
+import com.jeeplus.common.utils.excel.ImportExcel;
+import com.jeeplus.core.persistence.Page;
+import com.jeeplus.core.web.BaseController;
+import com.jeeplus.modules.filing.constructionStage.entity.ConstructionStage;
+import com.jeeplus.modules.filing.constructionStage.service.ConstructionStageService;
+import com.jeeplus.modules.filing.filingImages.service.FilingImagesService;
+import org.apache.shiro.authz.annotation.Logical;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 工程建设阶段Controller
+ * @author qy
+ * @version 2021-03-24
+ */
+@Controller
+@RequestMapping(value = "${adminPath}/filing/constructionStage")
+public class ConstructionStageController extends BaseController {
+
+	@Autowired
+	private ConstructionStageService constructionStageService;
+
+	@Autowired
+	private FilingImagesService filingImagesService;
+
+	@ModelAttribute
+	public ConstructionStage get(@RequestParam(required=false) String id) {
+		ConstructionStage entity = null;
+		if (StringUtils.isNotBlank(id)){
+			entity = constructionStageService.get(id);
+		}
+		if (entity == null){
+			entity = new ConstructionStage();
+		}
+		return entity;
+	}
+	
+	/**
+	 * 工程建设阶段列表页面
+	 */
+	@RequiresPermissions("test:filing:constructionStage:list")
+	@RequestMapping(value = {"list", ""})
+	public String list(ConstructionStage constructionStage, Model model) {
+		model.addAttribute("constructionStage", constructionStage);
+		return "modules/filing/constructionStage/constructionStageList";
+	}
+	
+	/**
+	 * 工程建设阶段列表数据
+	 */
+	@ResponseBody
+	@RequiresPermissions("test:filing:constructionStage:list")
+	@RequestMapping(value = "data")
+	public Map<String, Object> data(ConstructionStage constructionStage, HttpServletRequest request, HttpServletResponse response, Model model) {
+		Page<ConstructionStage> page = constructionStageService.findPage(new Page<ConstructionStage>(request, response,-1), constructionStage);
+		return getBootstrapData(page);
+	}
+
+	/**
+	 * 查看,增加,工程建设阶段表单页面
+	 */
+	@RequiresPermissions(value={"test:filing:constructionStage:view","test:filing:constructionStage:add","test:filing:constructionStage:edit"},logical=Logical.OR)
+	@RequestMapping(value = "form")
+	public String form(ConstructionStage constructionStage, Model model) {
+		model.addAttribute("constructionStage", constructionStage);
+		return "modules/filing/constructionStage/constructionStageForm";
+	}
+
+	
+	/**
+	 * 保存工程建设阶段
+	 */
+	@ResponseBody
+	@RequiresPermissions(value={"test:filing:constructionStage:add","test:filing:constructionStage:edit"},logical=Logical.OR)
+	@RequestMapping(value = "save")
+	public AjaxJson save(ConstructionStage constructionStage, Model model) throws Exception{
+		AjaxJson j = new AjaxJson();
+		/**
+		 * 后台hibernate-validation插件校验
+		 */
+		String errMsg = beanValidator(constructionStage);
+		if (StringUtils.isNotBlank(errMsg)){
+			j.setSuccess(false);
+			j.setMsg(errMsg);
+			return j;
+		}
+		//新增或编辑表单保存
+		constructionStageService.save(constructionStage);//保存
+		j.setSuccess(true);
+		j.setMsg("保存工程建设阶段成功");
+		return j;
+	}
+
+	/**
+	 * 保存工程建设阶段
+	 */
+	@ResponseBody
+	@RequiresPermissions(value={"test:filing:constructionStage:add","test:filing:constructionStage:edit"},logical=Logical.OR)
+	@RequestMapping(value = "updateSave")
+	public AjaxJson updateSave(ConstructionStage constructionStage, Model model) throws Exception{
+		AjaxJson j = new AjaxJson();
+		/**
+		 * 后台hibernate-validation插件校验
+		 */
+		String errMsg = beanValidator(constructionStage);
+		if (StringUtils.isNotBlank(errMsg)){
+			j.setSuccess(false);
+			j.setMsg(errMsg);
+			return j;
+		}
+		//新增或编辑表单保存
+		constructionStageService.save(constructionStage);//保存
+		j.setSuccess(true);
+		j.setMsg("保存工程建设阶段成功");
+		return j;
+	}
+
+
+	/**
+	 * 删除工程建设阶段
+	 */
+	@ResponseBody
+	@RequiresPermissions("test:filing:constructionStage:del")
+	@RequestMapping(value = "delete")
+	public AjaxJson delete(ConstructionStage constructionStage) {
+		AjaxJson j = new AjaxJson();
+		constructionStageService.delete(constructionStage);
+		j.setMsg("删除工程建设阶段成功");
+		return j;
+	}
+	
+	/**
+	 * 批量删除工程建设阶段
+	 */
+	@ResponseBody
+	@RequiresPermissions("test:filing:constructionStage:del")
+	@RequestMapping(value = "deleteAll")
+	public AjaxJson deleteAll(String ids) {
+		AjaxJson j = new AjaxJson();
+		String idArray[] =ids.split(",");
+		for(String id : idArray){
+			constructionStageService.delete(constructionStageService.get(id));
+		}
+		j.setMsg("删除工程建设阶段成功");
+		return j;
+	}
+	
+	/**
+	 * 导出excel文件
+	 */
+	@ResponseBody
+	@RequiresPermissions("test:filing:constructionStage:export")
+    @RequestMapping(value = "export")
+    public AjaxJson exportFile(ConstructionStage constructionStage, HttpServletRequest request, HttpServletResponse response) {
+		AjaxJson j = new AjaxJson();
+		try {
+            String fileName = "工程建设阶段"+DateUtils.getDate("yyyyMMddHHmmss")+".xlsx";
+            Page<ConstructionStage> page = constructionStageService.findAllPage(new Page<ConstructionStage>(request, response, -1), constructionStage);
+    		new ExportExcel("工程建设阶段", ConstructionStage.class).setDataList(page.getList()).write(response, fileName).dispose();
+    		j.setSuccess(true);
+    		j.setMsg("导出成功!");
+    		return j;
+		} catch (Exception e) {
+			j.setSuccess(false);
+			j.setMsg("导出工程建设阶段记录失败!失败信息:"+e.getMessage());
+		}
+			return j;
+    }
+
+    
+    @ResponseBody
+    @RequestMapping(value = "detail")
+	public Map<String, Object> detail(ConstructionStage constructionStage, HttpServletRequest request, HttpServletResponse response, Model model) {
+		Page<ConstructionStage> page = constructionStageService.findChildPage(new Page<ConstructionStage>(request, response), constructionStage);
+		return getBootstrapData(page);
+	}
+	
+
+	/**
+	 * 导入Excel数据
+	 */
+	@ResponseBody
+	@RequiresPermissions("test:filing:constructionStage:import")
+    @RequestMapping(value = "import")
+   	public AjaxJson importFile(@RequestParam("file")MultipartFile file, HttpServletResponse response, HttpServletRequest request) {
+		AjaxJson j = new AjaxJson();
+		try {
+			ImportExcel ei = new ImportExcel(file, 1, 0);
+			List<ConstructionStage> list = ei.getDataList(ConstructionStage.class);
+			for (ConstructionStage constructionStage :
+					list) {
+				constructionStageService.save(constructionStage);
+			}
+			j.setMsg( "已成功导入条工程建设阶段记录");
+		} catch (Exception e) {
+			j.setSuccess(false);
+			j.setMsg("导入工程建设阶段失败!失败信息:"+e.getMessage());
+		}
+		return j;
+    }
+	
+	/**
+	 * 下载导入工程建设阶段数据模板
+	 */
+	@ResponseBody
+	@RequiresPermissions("test:filing:constructionStage:import")
+    @RequestMapping(value = "import/template")
+     public AjaxJson importFileTemplate(HttpServletResponse response) {
+		AjaxJson j = new AjaxJson();
+		try {
+            String fileName = "工程建设阶段数据导入模板.xlsx";
+    		List<ConstructionStage> list = Lists.newArrayList(); 
+    		new ExportExcel("工程建设阶段数据", ConstructionStage.class, 1).setDataList(list).write(response, fileName).dispose();
+    		return null;
+		} catch (Exception e) {
+			j.setSuccess(false);
+			j.setMsg( "导入模板下载失败!失败信息:"+e.getMessage());
+		}
+		return j;
+    }
+	
+
+}

File diff suppressed because it is too large
+ 1286 - 0
src/main/java/com/jeeplus/modules/filing/earlyEngineering/entity/EarlyEngineering.java


+ 27 - 0
src/main/java/com/jeeplus/modules/filing/earlyEngineering/entity/LegalCompliance.java

@@ -1,6 +1,7 @@
 package com.jeeplus.modules.filing.earlyEngineering.entity;
 
 import com.google.common.collect.Lists;
+import com.jeeplus.common.utils.excel.annotation.ExcelField;
 import com.jeeplus.core.persistence.DataEntity;
 import com.jeeplus.modules.filing.approvalStage.entity.StudyStage;
 
@@ -123,6 +124,7 @@ public class LegalCompliance extends DataEntity<LegalCompliance> {
      * */
     private List<LegalCompliance> childList = Lists.newArrayList();
 
+    @ExcelField(title="项目编码", align=2, sort=1)
     public String getProjectCode() {
         return projectCode;
     }
@@ -131,6 +133,7 @@ public class LegalCompliance extends DataEntity<LegalCompliance> {
         this.projectCode = projectCode;
     }
 
+    @ExcelField(title="单体编码", align=2, sort=2)
     public String getMonomerCode() {
         return monomerCode;
     }
@@ -139,6 +142,7 @@ public class LegalCompliance extends DataEntity<LegalCompliance> {
         this.monomerCode = monomerCode;
     }
 
+    @ExcelField(title="项目名称", align=2, sort=3)
     public String getEntryName() {
         return entryName;
     }
@@ -147,6 +151,7 @@ public class LegalCompliance extends DataEntity<LegalCompliance> {
         this.entryName = entryName;
     }
 
+    @ExcelField(title="规划总平(变电站)", align=2, sort=4)
     public String getPlanningLevel() {
         return planningLevel;
     }
@@ -155,6 +160,7 @@ public class LegalCompliance extends DataEntity<LegalCompliance> {
         this.planningLevel = planningLevel;
     }
 
+    @ExcelField(title="勘察定界报告(变电站)", align=2, sort=5)
     public String getSurveyReport() {
         return surveyReport;
     }
@@ -163,6 +169,7 @@ public class LegalCompliance extends DataEntity<LegalCompliance> {
         this.surveyReport = surveyReport;
     }
 
+    @ExcelField(title="征地红线图(变电站)", align=2, sort=6 )
     public String getRedLineMap() {
         return redLineMap;
     }
@@ -171,6 +178,7 @@ public class LegalCompliance extends DataEntity<LegalCompliance> {
         this.redLineMap = redLineMap;
     }
 
+    @ExcelField(title="用地红线图(变电站)", align=2, sort=7)
     public String getRedLineLand() {
         return redLineLand;
     }
@@ -179,6 +187,7 @@ public class LegalCompliance extends DataEntity<LegalCompliance> {
         this.redLineLand = redLineLand;
     }
 
+    @ExcelField(title="宗地图", align=2, sort=8)
     public String getZongMap() {
         return zongMap;
     }
@@ -187,6 +196,7 @@ public class LegalCompliance extends DataEntity<LegalCompliance> {
         this.zongMap = zongMap;
     }
 
+    @ExcelField(title="勘察合同备案表(变电站)", align=2, sort=9)
     public String getRecordSurvey() {
         return recordSurvey;
     }
@@ -195,6 +205,7 @@ public class LegalCompliance extends DataEntity<LegalCompliance> {
         this.recordSurvey = recordSurvey;
     }
 
+    @ExcelField(title="设计合同备案表(变电站)", align=2, sort=10)
     public String getRecordDesign() {
         return recordDesign;
     }
@@ -203,6 +214,7 @@ public class LegalCompliance extends DataEntity<LegalCompliance> {
         this.recordDesign = recordDesign;
     }
 
+    @ExcelField(title="施工合同备案表(变电站)", align=2, sort=11)
     public String getRecordContract() {
         return recordContract;
     }
@@ -211,6 +223,7 @@ public class LegalCompliance extends DataEntity<LegalCompliance> {
         this.recordContract = recordContract;
     }
 
+    @ExcelField(title="监理合同备案表(变电站)", align=2, sort=12)
     public String getSupervisionRecord() {
         return supervisionRecord;
     }
@@ -219,6 +232,7 @@ public class LegalCompliance extends DataEntity<LegalCompliance> {
         this.supervisionRecord = supervisionRecord;
     }
 
+    @ExcelField(title="岩土勘察报告审查合格意见(变电站)", align=2, sort=13)
     public String getQulifiedOpinions() {
         return qulifiedOpinions;
     }
@@ -227,6 +241,7 @@ public class LegalCompliance extends DataEntity<LegalCompliance> {
         this.qulifiedOpinions = qulifiedOpinions;
     }
 
+    @ExcelField(title="施工图审查合格意见(变电站)", align=2, sort=14)
     public String getConstructionComments() {
         return constructionComments;
     }
@@ -235,6 +250,7 @@ public class LegalCompliance extends DataEntity<LegalCompliance> {
         this.constructionComments = constructionComments;
     }
 
+    @ExcelField(title="施工图审查合格证(变电站)", align=2, sort=15)
     public String getConstructionDrawing() {
         return constructionDrawing;
     }
@@ -243,6 +259,7 @@ public class LegalCompliance extends DataEntity<LegalCompliance> {
         this.constructionDrawing = constructionDrawing;
     }
 
+    @ExcelField(title="抗震设防审查证书(变电站)", align=2, sort=16)
     public String getSeismicReview() {
         return seismicReview;
     }
@@ -251,6 +268,7 @@ public class LegalCompliance extends DataEntity<LegalCompliance> {
         this.seismicReview = seismicReview;
     }
 
+    @ExcelField(title="规划放线报告(变电站)", align=2, sort=17)
     public String getPlanningSetting() {
         return planningSetting;
     }
@@ -259,6 +277,7 @@ public class LegalCompliance extends DataEntity<LegalCompliance> {
         this.planningSetting = planningSetting;
     }
 
+    @ExcelField(title="安监申报书、备案表(变电站)", align=2, sort=18)
     public String getSafetyRecord() {
         return safetyRecord;
     }
@@ -267,6 +286,7 @@ public class LegalCompliance extends DataEntity<LegalCompliance> {
         this.safetyRecord = safetyRecord;
     }
 
+    @ExcelField(title="质监申报书、备案表(变电站)", align=2, sort=19)
     public String getQualityRecord() {
         return qualityRecord;
     }
@@ -275,6 +295,7 @@ public class LegalCompliance extends DataEntity<LegalCompliance> {
         this.qualityRecord = qualityRecord;
     }
 
+    @ExcelField(title="施工许可证", align=2, sort=20)
     public String getConstructionPermit() {
         return constructionPermit;
     }
@@ -283,6 +304,7 @@ public class LegalCompliance extends DataEntity<LegalCompliance> {
         this.constructionPermit = constructionPermit;
     }
 
+    @ExcelField(title="规划竣工测绘现状图及管线、绿化、比较图(变电站)", align=2, sort=21)
     public String getPlanBuiltMapping() {
         return planBuiltMapping;
     }
@@ -291,6 +313,7 @@ public class LegalCompliance extends DataEntity<LegalCompliance> {
         this.planBuiltMapping = planBuiltMapping;
     }
 
+    @ExcelField(title="质监竣工验收意见(变电站)", align=2, sort=22)
     public String getQualityAcceptance() {
         return qualityAcceptance;
     }
@@ -299,6 +322,7 @@ public class LegalCompliance extends DataEntity<LegalCompliance> {
         this.qualityAcceptance = qualityAcceptance;
     }
 
+    @ExcelField(title="城建档案接收合格证明(变电站)", align=2, sort=23)
     public String getUrbanArchives() {
         return urbanArchives;
     }
@@ -307,6 +331,7 @@ public class LegalCompliance extends DataEntity<LegalCompliance> {
         this.urbanArchives = urbanArchives;
     }
 
+    @ExcelField(title="竣工备案表(变电站)", align=2, sort=24)
     public String getCompletionRecord() {
         return completionRecord;
     }
@@ -315,6 +340,7 @@ public class LegalCompliance extends DataEntity<LegalCompliance> {
         this.completionRecord = completionRecord;
     }
 
+    @ExcelField(title="房产测绘报告", align=2, sort=25)
     public String getRealEstate() {
         return realEstate;
     }
@@ -323,6 +349,7 @@ public class LegalCompliance extends DataEntity<LegalCompliance> {
         this.realEstate = realEstate;
     }
 
+    @ExcelField(title="宗地复测报告", align=2, sort=26)
     public String getReportOnLang() {
         return reportOnLang;
     }

+ 54 - 0
src/main/java/com/jeeplus/modules/filing/earlyEngineering/mapper/EarlyEngineeringMapper.java

@@ -0,0 +1,54 @@
+/**
+ * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.modules.filing.earlyEngineering.mapper;
+
+import com.jeeplus.core.persistence.BaseMapper;
+import com.jeeplus.core.persistence.annotation.MyBatisMapper;
+import com.jeeplus.modules.filing.earlyEngineering.entity.EarlyEngineering;
+
+import java.util.List;
+
+/**
+ * 依法合规MAPPER接口
+ * @author qy
+ * @version 2021-04-06
+ */
+@MyBatisMapper
+public interface EarlyEngineeringMapper extends BaseMapper<EarlyEngineering> {
+    List<EarlyEngineering> findChildList(EarlyEngineering entity);
+
+    Integer findByCode(EarlyEngineering entity);
+
+
+    /**
+     * 通过id集合查询出所有符合条件的项目基础信息
+     */
+    List<EarlyEngineering> findByIdList(List<String> idList);
+
+    /**
+     * 通过项目id查询出所有的项目信息
+     * */
+    List<EarlyEngineering> findAll(List<String> idList);
+
+    Integer findDesignStage(EarlyEngineering entity);
+
+    Integer findReviewStage(EarlyEngineering entity);
+
+    Integer findBiddingContract(EarlyEngineering entity);
+
+    Integer findApplicationFor(EarlyEngineering entity);
+
+    Integer findLegalCompliance(EarlyEngineering entity);
+
+    void insertDesign(EarlyEngineering entity);
+    void updateDesign(EarlyEngineering entity);
+    void insertReviewStage(EarlyEngineering entity);
+    void updateReviewStage(EarlyEngineering entity);
+    void insertBiddingContract(EarlyEngineering entity);
+    void updateBiddingContract(EarlyEngineering entity);
+    void insertApplicationFor(EarlyEngineering entity);
+    void updateApplicationFor(EarlyEngineering entity);
+    void insertLegalCompliance(EarlyEngineering entity);
+    void updateLegalCompliance(EarlyEngineering entity);
+}

+ 33 - 0
src/main/java/com/jeeplus/modules/filing/earlyEngineering/mapper/LegalComplianceMapper.java

@@ -0,0 +1,33 @@
+/**
+ * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.modules.filing.earlyEngineering.mapper;
+
+import com.jeeplus.core.persistence.BaseMapper;
+import com.jeeplus.core.persistence.annotation.MyBatisMapper;
+import com.jeeplus.modules.filing.earlyEngineering.entity.LegalCompliance;
+
+import java.util.List;
+
+/**
+ * 依法合规MAPPER接口
+ * @author qy
+ * @version 2021-04-06
+ */
+@MyBatisMapper
+public interface LegalComplianceMapper extends BaseMapper<LegalCompliance> {
+    List<LegalCompliance> findChildList(LegalCompliance entity);
+
+    Integer findByCode(LegalCompliance entity);
+
+
+    /**
+     * 通过id集合查询出所有符合条件的项目基础信息
+     */
+    List<LegalCompliance> findByIdList(List<String> idList);
+
+    /**
+     * 通过项目id查询出所有的项目信息
+     * */
+    List<LegalCompliance> findAll(List<String> idList);
+}

+ 54 - 54
src/main/java/com/jeeplus/modules/filing/earlyEngineering/mapper/xml/ApplicationForMapper.xml

@@ -13,60 +13,60 @@
 		a.projectCode AS "projectCode",
 		a.monomerCode AS "monomerCode",
 		a.entryName AS "entryName",
-		b.landNo,
-		b.landDate,
-		b.landAnnex,
-		b.eiaNo,
-		b.eiaDate,
-		b.eiaAnnex,
-		b.acceptanceNo,
-		b.acceptanceDate,
-		b.acceptanceAnnex,
-		b.replyNo,
-		b.replyDate,
-		b.replyAnnex,
-		b.soilNo,
-		b.soilDate,
-		b.soilannex,
-		b.depositNo,
-		b.depositDate,
-		b.depositAnnex,
-		b.recordNo,
-		b.recordDate,
-		b.recordAnnex,
-		b.siteProposalNo,
-		b.siteProposalDate,
-		b.siteProposalAnnex,
-		b.planningNo,
-		b.planningDate,
-		b.planningAnnex,
-		b.usePlanNo,
-		b.usePlanDate,
-		b.usePlanAnnex,
-		b.requisitonNo,
-		b.requisitonDate,
-		b.requisitonAnnex,
-		b.conLandNo,
-		b.conLandDate,
-		b.conLandAnnex,
-		b.transferNo,
-		b.transferDate,
-		b.transferAnnex,
-		b.certificateNo,
-		b.certificateDate,
-		b.certificateAnnex,
-		b.permitNo,
-		b.permitDate,
-		b.permitAnnex,
-		b.fireProNo,
-		b.fireProdate,
-		b.fireProAnnex,
-		b.fireAccNo,
-		b.fireAccDate,
-		b.fireAccAnnex,
-		b.estateNo,
-		b.estateDate,
-		b.estateAnnex
+		b.landNo AS "landNo",
+		b.landDate AS "landDate",
+		b.landAnnex AS "landAnnex",
+		b.eiaNo AS "eiaNo",
+		b.eiaDate AS "eiaDate",
+		b.eiaAnnex AS "eiaAnnex",
+		b.acceptanceNo AS "acceptanceNo",
+		b.acceptanceDate AS "acceptanceDate",
+		b.acceptanceAnnex AS "acceptanceAnnex",
+		b.replyNo AS "replyNo",
+		b.replyDate AS "replyDate",
+		b.replyAnnex AS "replyAnnex",
+		b.soilNo AS "soilNo",
+		b.soilDate AS "soilDate",
+		b.soilannex AS "soilannex",
+		b.depositNo AS "depositNo",
+		b.depositDate AS "depositDate",
+		b.depositAnnex AS "depositAnnex",
+		b.recordNo AS "recordNo",
+		b.recordDate AS "recordDate",
+		b.recordAnnex AS "recordAnnex",
+		b.siteProposalNo AS "siteProposalNo",
+		b.siteProposalDate AS "siteProposalDate",
+		b.siteProposalAnnex AS "siteProposalAnnex",
+		b.planningNo AS "planningNo",
+		b.planningDate AS "planningDate",
+		b.planningAnnex AS "planningAnnex",
+		b.usePlanNo AS "usePlanNo",
+		b.usePlanDate AS "usePlanDate",
+		b.usePlanAnnex AS "usePlanAnnex",
+		b.requisitonNo AS "requisitonNo",
+		b.requisitonDate AS "requisitonDate",
+		b.requisitonAnnex AS "requisitonAnnex",
+		b.conLandNo AS "conLandNo",
+		b.conLandDate AS "conLandDate",
+		b.conLandAnnex AS "conLandAnnex",
+		b.transferNo AS "transferNo",
+		b.transferDate AS "transferDate",
+		b.transferAnnex AS "transferAnnex",
+		b.certificateNo AS "certificateNo",
+		b.certificateDate AS "certificateDate",
+		b.certificateAnnex AS "certificateAnnex",
+		b.permitNo AS "permitNo",
+		b.permitDate AS "permitDate",
+		b.permitAnnex AS "permitAnnex",
+		b.fireProNo AS "fireProNo",
+		b.fireProdate AS "fireProdate",
+		b.fireProAnnex AS "fireProAnnex",
+		b.fireAccNo AS "fireAccNo",
+		b.fireAccDate AS "fireAccDate",
+		b.fireAccAnnex AS "fireAccAnnex",
+		b.estateNo AS "estateNo",
+		b.estateDate AS "estateDate",
+		b.estateAnnex AS "estateAnnex"
 	</sql>
 	
 	<sql id="applicationForJoins">

+ 770 - 0
src/main/java/com/jeeplus/modules/filing/earlyEngineering/mapper/xml/EarlyEngineeringMapper.xml

@@ -0,0 +1,770 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.modules.filing.earlyEngineering.mapper.EarlyEngineeringMapper">
+
+    <sql id="earlyEngineeringColumns">
+        a.id AS "id",
+		a.create_by AS "createBy.id",
+		a.create_date AS "createDate",
+		a.update_by AS "updateBy.id",
+		a.update_date AS "updateDate",
+		a.remarks AS "remarks",
+		a.del_flag AS "delFlag",
+		a.projectCode AS "projectCode",
+		a.monomerCode AS "monomerCode",
+		a.entryName AS "entryName",
+		b.preDesignNo AS "preDesignNo",
+		b.initialDesignDate AS "initialDesignDate",
+		b.preDesignAnnex AS "preDesignAnnex",
+		c.batchOverview AS "batchOverview",
+		c.batchStatistics AS "batchStatistics",
+		c.estimateCode AS "estimateCode",
+		c.designCost AS "designCost",
+		c.supervisionFeeCode AS "supervisionFeeCode",
+		c.managementFeeCode AS "managementFeeCode",
+		c.dataCode AS "dataCode",
+		d.letterDesign AS "letterDesign",
+		d.disigningContract AS "disigningContract",
+		d.ownerDapartment AS "ownerDapartment",
+		d.threeDepartment AS "threeDepartment",
+		d.inspectionControl AS "inspectionControl",
+		d.letterAcceptance AS "letterAcceptance",
+		d.conContract AS "conContract",
+		d.otherContracts AS "otherContracts",
+		e.landNo AS "landNo",
+		e.landDate AS "landDate",
+		e.landAnnex AS "landAnnex",
+		e.eiaNo AS "eiaNo",
+		e.eiaDate AS "eiaDate",
+		e.eiaAnnex AS "eiaAnnex",
+		e.acceptanceNo AS "acceptanceNo",
+		e.acceptanceDate AS "acceptanceDate",
+		e.acceptanceAnnex AS "acceptanceAnnex",
+		e.replyNo AS "replyNo",
+		e.replyDate AS "replyDate",
+		e.replyAnnex AS "replyAnnex",
+		e.soilNo AS "soilNo",
+		e.soilDate AS "soilDate",
+		e.soilannex AS "soilannex",
+		e.depositNo AS "depositNo",
+		e.depositDate AS "depositDate",
+		e.depositAnnex AS "depositAnnex",
+		e.recordNo AS "recordNo",
+		e.recordDate AS "recordDate",
+		e.recordAnnex AS "recordAnnex",
+		e.siteProposalNo AS "siteProposalNo",
+		e.siteProposalDate AS "siteProposalDate",
+		e.siteProposalAnnex AS "siteProposalAnnex",
+		e.planningNo AS "planningNo",
+		e.planningDate AS "planningDate",
+		e.planningAnnex AS "planningAnnex",
+		e.usePlanNo AS "usePlanNo",
+		e.usePlanDate AS "usePlanDate",
+		e.usePlanAnnex AS "usePlanAnnex",
+		e.requisitonNo AS "requisitonNo",
+		e.requisitonDate AS "requisitonDate",
+		e.requisitonAnnex AS "requisitonAnnex",
+		e.conLandNo AS "conLandNo",
+		e.conLandDate AS "conLandDate",
+		e.conLandAnnex AS "conLandAnnex",
+		e.transferNo AS "transferNo",
+		e.transferDate AS "transferDate",
+		e.transferAnnex AS "transferAnnex",
+		e.certificateNo AS "certificateNo",
+		e.certificateDate AS "certificateDate",
+		e.certificateAnnex AS "certificateAnnex",
+		e.permitNo AS "permitNo",
+		e.permitDate AS "permitDate",
+		e.permitAnnex AS "permitAnnex",
+		e.fireProNo AS "fireProNo",
+		e.fireProdate AS "fireProdate",
+		e.fireProAnnex AS "fireProAnnex",
+		e.fireAccNo AS "fireAccNo",
+		e.fireAccDate AS "fireAccDate",
+		e.fireAccAnnex AS "fireAccAnnex",
+		e.estateNo AS "estateNo",
+		e.estateDate AS "estateDate",
+		e.estateAnnex AS "estateAnnex",
+		f.planningLevel AS "planningLevel",
+		f.surveyReport AS "surveyReport",
+		f.redLineMap AS "redLineMap",
+		f.redLineLand AS "redLineLand",
+		f.zongMap AS "zongMap",
+		f.recordSurvey AS "recordSurvey",
+		f.recordDesign AS "recordDesign",
+		f.recordContract AS "recordContract",
+		f.supervisionRecord AS "supervisionRecord",
+		f.qulifiedOpinions AS "qulifiedOpinions",
+		f.constructionComments AS "constructionComments",
+		f.constructionDrawing AS "constructionDrawing",
+		f.seismicReview AS "seismicReview",
+		f.planningSetting AS "planningSetting",
+		f.safetyRecord AS "safetyRecord",
+		f.qualityRecord AS "qualityRecord",
+		f.constructionPermit AS "constructionPermit",
+		f.planBuiltMapping AS "planBuiltMapping",
+		f.qualityAcceptance AS "qualityAcceptance",
+		f.urbanArchives AS "urbanArchives",
+		f.completionRecord AS "completionRecord",
+		f.realEstate AS "realEstate",
+		f.reportOnLang AS "reportOnLang"
+    </sql>
+
+    <sql id="earlyEngineeringJoins">
+        LEFT JOIN filing_early_designstage b on a.projectCode = b.projectCode
+		LEFT JOIN filing_early_reviewstage c on a.projectCode = c.projectCode
+		LEFT JOIN filing_early_biddingcontract d on a.projectCode = d.projectCode
+		LEFT JOIN filing_early_applicationfor e on a.projectCode = e.projectCode
+		LEFT JOIN filing_early_legalcompliance f on a.projectCode = f.projectCode
+    </sql>
+
+
+    <select id="get" resultType="EarlyEngineering">
+        SELECT
+        <include refid="earlyEngineeringColumns"/>
+        FROM filing_basic_information a
+        <include refid="earlyEngineeringJoins"/>
+        WHERE a.id = #{id}
+    </select>
+
+    <select id="findList" resultType="EarlyEngineering">
+        SELECT
+        <include refid="earlyEngineeringColumns"/>
+        FROM filing_basic_information a
+        <include refid="earlyEngineeringJoins"/>
+        <where>
+            a.del_flag = #{DEL_FLAG_NORMAL}
+            ${dataScope}
+            and a.parentId = '0'
+            <if test="projectCode != null  and projectCode != ''">
+                and a.projectCode = #{projectCode}
+            </if>
+        </where>
+        <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="findAllList" resultType="EarlyEngineering">
+        SELECT
+        <include refid="earlyEngineeringColumns"/>
+        FROM filing_basic_information a
+        <include refid="earlyEngineeringJoins"/>
+        <where>
+            a.del_flag = #{DEL_FLAG_NORMAL}
+            ${dataScope}
+        </where>
+        <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>
+
+    <insert id="insert">
+        INSERT INTO filing_early_legalcompliance(id,
+                                                 create_by,
+                                                 create_date,
+                                                 update_by,
+                                                 update_date,
+                                                 remarks,
+                                                 del_flag,
+                                                 projectCode,
+                                                 planningLevel,
+                                                 surveyReport,
+                                                 redLineMap,
+                                                 redLineLand,
+                                                 zongMap,
+                                                 recordSurvey,
+                                                 recordDesign,
+                                                 recordContract,
+                                                 supervisionRecord,
+                                                 qulifiedOpinions,
+                                                 constructionComments,
+                                                 constructionDrawing,
+                                                 seismicReview,
+                                                 planningSetting,
+                                                 safetyRecord,
+                                                 qualityRecord,
+                                                 constructionPermit,
+                                                 planBuiltMapping,
+                                                 qualityAcceptance,
+                                                 urbanArchives,
+                                                 completionRecord,
+                                                 realEstate,
+                                                 reportOnLang)
+        VALUES (#{id},
+                #{createBy.id},
+                #{createDate},
+                #{updateBy.id},
+                #{updateDate},
+                #{remarks},
+                #{delFlag},
+                #{projectCode},
+                #{planningLevel},
+                #{surveyReport},
+                #{redLineMap},
+                #{redLineLand},
+                #{zongMap},
+                #{recordSurvey},
+                #{recordDesign},
+                #{recordContract},
+                #{supervisionRecord},
+                #{qulifiedOpinions},
+                #{constructionComments},
+                #{constructionDrawing},
+                #{seismicReview},
+                #{planningSetting},
+                #{safetyRecord},
+                #{qualityRecord},
+                #{constructionPermit},
+                #{planBuiltMapping},
+                #{qualityAcceptance},
+                #{urbanArchives},
+                #{completionRecord},
+                #{realEstate},
+                #{reportOnLang})
+    </insert>
+    <insert id="insertDesign">
+        INSERT INTO filing_early_designstage(id,
+                                             create_by,
+                                             create_date,
+                                             update_by,
+                                             update_date,
+                                             remarks,
+                                             del_flag,
+                                             projectCode,
+                                             preDesignNo,
+                                             initialDesignDate,
+                                             preDesignAnnex)
+        VALUES (#{id},
+                #{createBy.id},
+                #{createDate},
+                #{updateBy.id},
+                #{updateDate},
+                #{remarks},
+                #{delFlag},
+                #{projectCode},
+                #{preDesignNo},
+                #{initialDesignDate},
+                #{preDesignAnnex})
+    </insert>
+    <insert id="insertReviewStage">
+        INSERT INTO filing_early_reviewstage(id,
+                                             create_by,
+                                             create_date,
+                                             update_by,
+                                             update_date,
+                                             remarks,
+                                             del_flag,
+                                             projectCode,
+                                             batchOverview,
+                                             batchStatistics,
+                                             estimateCode,
+                                             designCost,
+                                             supervisionFeeCode,
+                                             managementFeeCode,
+                                             dataCode)
+        VALUES (#{id},
+                #{createBy.id},
+                #{createDate},
+                #{updateBy.id},
+                #{updateDate},
+                #{remarks},
+                #{delFlag},
+                #{projectCode},
+                #{batchOverview},
+                #{batchStatistics},
+                #{estimateCode},
+                #{designCost},
+                #{supervisionFeeCode},
+                #{managementFeeCode},
+                #{dataCode})
+    </insert>
+    <insert id="insertBiddingContract">
+        INSERT INTO filing_early_biddingcontract(id,
+                                                 create_by,
+                                                 create_date,
+                                                 update_by,
+                                                 update_date,
+                                                 remarks,
+                                                 del_flag,
+                                                 projectCode,
+                                                 letterDesign,
+                                                 disigningContract,
+                                                 ownerDapartment,
+                                                 threeDepartment,
+                                                 inspectionControl,
+                                                 letterAcceptance,
+                                                 conContract,
+                                                 otherContracts)
+        VALUES (#{id},
+                #{createBy.id},
+                #{createDate},
+                #{updateBy.id},
+                #{updateDate},
+                #{remarks},
+                #{delFlag},
+                #{projectCode},
+                #{letterDesign},
+                #{disigningContract},
+                #{ownerDapartment},
+                #{threeDepartment},
+                #{inspectionControl},
+                #{letterAcceptance},
+                #{conContract},
+                #{otherContracts})
+    </insert>
+    <insert id="insertApplicationFor">
+        INSERT INTO filing_early_applicationfor(id,
+                                                create_by,
+                                                create_date,
+                                                update_by,
+                                                update_date,
+                                                remarks,
+                                                del_flag,
+                                                projectCode,
+                                                landNo,
+                                                landDate,
+                                                landAnnex,
+                                                eiaNo,
+                                                eiaDate,
+                                                eiaAnnex,
+                                                acceptanceNo,
+                                                acceptanceDate,
+                                                acceptanceAnnex,
+                                                replyNo,
+                                                replyDate,
+                                                replyAnnex,
+                                                soilNo,
+                                                soilDate,
+                                                soilannex,
+                                                depositNo,
+                                                depositDate,
+                                                depositAnnex,
+                                                recordNo,
+                                                recordDate,
+                                                recordAnnex,
+                                                siteProposalNo,
+                                                siteProposalDate,
+                                                siteProposalAnnex,
+                                                planningNo,
+                                                planningDate,
+                                                planningAnnex,
+                                                usePlanNo,
+                                                usePlanDate,
+                                                usePlanAnnex,
+                                                requisitonNo,
+                                                requisitonDate,
+                                                requisitonAnnex,
+                                                conLandNo,
+                                                conLandDate,
+                                                conLandAnnex,
+                                                transferNo,
+                                                transferDate,
+                                                transferAnnex,
+                                                certificateNo,
+                                                certificateDate,
+                                                certificateAnnex,
+                                                permitNo,
+                                                permitDate,
+                                                permitAnnex,
+                                                fireProNo,
+                                                fireProdate,
+                                                fireProAnnex,
+                                                fireAccNo,
+                                                fireAccDate,
+                                                fireAccAnnex,
+                                                estateNo,
+                                                estateDate,
+                                                estateAnnex)
+        VALUES (#{id},
+                #{createBy.id},
+                #{createDate},
+                #{updateBy.id},
+                #{updateDate},
+                #{remarks},
+                #{delFlag},
+                #{projectCode},
+                #{landNo},
+                #{landDate},
+                #{landAnnex},
+                #{eiaNo},
+                #{eiaDate},
+                #{eiaAnnex},
+                #{acceptanceNo},
+                #{acceptanceDate},
+                #{acceptanceAnnex},
+                #{replyNo},
+                #{replyDate},
+                #{replyAnnex},
+                #{soilNo},
+                #{soilDate},
+                #{soilannex},
+                #{depositNo},
+                #{depositDate},
+                #{depositAnnex},
+                #{recordNo},
+                #{recordDate},
+                #{recordAnnex},
+                #{siteProposalNo},
+                #{siteProposalDate},
+                #{siteProposalAnnex},
+                #{planningNo},
+                #{planningDate},
+                #{planningAnnex},
+                #{usePlanNo},
+                #{usePlanDate},
+                #{usePlanAnnex},
+                #{requisitonNo},
+                #{requisitonDate},
+                #{requisitonAnnex},
+                #{conLandNo},
+                #{conLandDate},
+                #{conLandAnnex},
+                #{transferNo},
+                #{transferDate},
+                #{transferAnnex},
+                #{certificateNo},
+                #{certificateDate},
+                #{certificateAnnex},
+                #{permitNo},
+                #{permitDate},
+                #{permitAnnex},
+                #{fireProNo},
+                #{fireProdate},
+                #{fireProAnnex},
+                #{fireAccNo},
+                #{fireAccDate},
+                #{fireAccAnnex},
+                #{estateNo},
+                #{estateDate},
+                #{estateAnnex})
+    </insert>
+    <insert id="insertLegalCompliance">
+        INSERT INTO filing_early_legalcompliance(id,
+                                                 create_by,
+                                                 create_date,
+                                                 update_by,
+                                                 update_date,
+                                                 remarks,
+                                                 del_flag,
+                                                 projectCode,
+                                                 planningLevel,
+                                                 surveyReport,
+                                                 redLineMap,
+                                                 redLineLand,
+                                                 zongMap,
+                                                 recordSurvey,
+                                                 recordDesign,
+                                                 recordContract,
+                                                 supervisionRecord,
+                                                 qulifiedOpinions,
+                                                 constructionComments,
+                                                 constructionDrawing,
+                                                 seismicReview,
+                                                 planningSetting,
+                                                 safetyRecord,
+                                                 qualityRecord,
+                                                 constructionPermit,
+                                                 planBuiltMapping,
+                                                 qualityAcceptance,
+                                                 urbanArchives,
+                                                 completionRecord,
+                                                 realEstate,
+                                                 reportOnLang)
+        VALUES (#{id},
+                #{createBy.id},
+                #{createDate},
+                #{updateBy.id},
+                #{updateDate},
+                #{remarks},
+                #{delFlag},
+                #{projectCode},
+                #{planningLevel},
+                #{surveyReport},
+                #{redLineMap},
+                #{redLineLand},
+                #{zongMap},
+                #{recordSurvey},
+                #{recordDesign},
+                #{recordContract},
+                #{supervisionRecord},
+                #{qulifiedOpinions},
+                #{constructionComments},
+                #{constructionDrawing},
+                #{seismicReview},
+                #{planningSetting},
+                #{safetyRecord},
+                #{qualityRecord},
+                #{constructionPermit},
+                #{planBuiltMapping},
+                #{qualityAcceptance},
+                #{urbanArchives},
+                #{completionRecord},
+                #{realEstate},
+                #{reportOnLang})
+    </insert>
+
+    <update id="update">
+        UPDATE filing_early_legalcompliance
+        SET create_date          = #{createDate},
+            update_by            = #{updateBy.id},
+            update_date          = #{updateDate},
+            remarks              = #{remarks},
+            planningLevel        = #{planningLevel},
+            surveyReport         = #{surveyReport},
+            redLineMap           = #{redLineMap},
+            redLineLand          = #{redLineLand},
+            zongMap              = #{zongMap},
+            recordSurvey         = #{recordSurvey},
+            recordDesign         = #{recordDesign},
+            recordContract       = #{recordContract},
+            supervisionRecord    = #{supervisionRecord},
+            qulifiedOpinions     = #{qulifiedOpinions},
+            constructionComments = #{constructionComments},
+            constructionDrawing  = #{constructionDrawing},
+            seismicReview        = #{seismicReview},
+            planningSetting      = #{planningSetting},
+            safetyRecord         = #{safetyRecord},
+            qualityRecord        = #{qualityRecord},
+            constructionPermit   = #{constructionPermit},
+            planBuiltMapping     = #{planBuiltMapping},
+            qualityAcceptance    = #{qualityAcceptance},
+            urbanArchives        = #{urbanArchives},
+            completionRecord     = #{completionRecord},
+            realEstate           = #{realEstate},
+            reportOnLang         = #{reportOnLang}
+        WHERE projectCode = #{projectCode}
+    </update>
+
+
+    <!--物理删除-->
+    <update id="delete">
+        DELETE
+        FROM filing_early_legalcompliance
+        WHERE id = #{id}
+    </update>
+
+    <!--逻辑删除-->
+    <update id="deleteByLogic">
+        UPDATE filing_early_legalcompliance
+        SET del_flag = #{DEL_FLAG_DELETE}
+        WHERE id = #{id}
+    </update>
+    <update id="updateDesign">
+        UPDATE filing_early_designstage
+        SET create_date       = #{createDate},
+            update_by         = #{updateBy.id},
+            update_date       = #{updateDate},
+            remarks           = #{remarks},
+            preDesignNo       = #{preDesignNo},
+            initialDesignDate = #{initialDesignDate},
+            preDesignAnnex    = #{preDesignAnnex}
+        WHERE projectCode = #{projectCode}
+    </update>
+    <update id="updateReviewStage">
+        UPDATE filing_early_reviewstage
+        SET create_date        = #{createDate},
+            update_by          = #{updateBy.id},
+            update_date        = #{updateDate},
+            remarks            = #{remarks},
+            batchOverview      = #{batchOverview},
+            batchStatistics    = #{batchStatistics},
+            estimateCode       = #{estimateCode},
+            designCost         = #{designCost},
+            supervisionFeeCode = #{supervisionFeeCode},
+            managementFeeCode  = #{managementFeeCode},
+            dataCode           = #{dataCode}
+        WHERE projectCode = #{projectCode}
+    </update>
+    <update id="updateBiddingContract">
+        UPDATE filing_early_biddingcontract
+        SET create_date       = #{createDate},
+            update_by         = #{updateBy.id},
+            update_date       = #{updateDate},
+            remarks           = #{remarks},
+            letterDesign      = #{letterDesign},
+            disigningContract = #{disigningContract},
+            ownerDapartment   = #{ownerDapartment},
+            threeDepartment   = #{threeDepartment},
+            inspectionControl = #{inspectionControl},
+            letterAcceptance  = #{letterAcceptance},
+            conContract       = #{conContract},
+            otherContracts    = #{otherContracts}
+        WHERE projectCode = #{projectCode}
+    </update>
+    <update id="updateApplicationFor">
+        UPDATE filing_early_applicationfor
+        SET create_date       = #{createDate},
+            update_by         = #{updateBy.id},
+            update_date       = #{updateDate},
+            remarks           = #{remarks},
+            landNo            = #{landNo},
+            landDate          = #{landDate},
+            landAnnex         = #{landAnnex},
+            eiaNo             = #{eiaNo},
+            eiaDate           = #{eiaDate},
+            eiaAnnex          = #{eiaAnnex},
+            acceptanceNo      = #{acceptanceNo},
+            acceptanceDate    = #{acceptanceDate},
+            acceptanceAnnex   = #{acceptanceAnnex},
+            replyNo           = #{replyNo},
+            replyDate         = #{replyDate},
+            replyAnnex        = #{replyAnnex},
+            soilNo            = #{soilNo},
+            soilDate          = #{soilDate},
+            soilannex         = #{soilannex},
+            depositNo         = #{depositNo},
+            depositDate       = #{depositDate},
+            depositAnnex      = #{depositAnnex},
+            recordNo          = #{recordNo},
+            recordDate        = #{recordDate},
+            recordAnnex       = #{recordAnnex},
+            siteProposalNo    = #{siteProposalNo},
+            siteProposalDate  = #{siteProposalDate},
+            siteProposalAnnex = #{siteProposalAnnex},
+            planningNo        = #{planningNo},
+            planningDate      = #{planningDate},
+            planningAnnex     = #{planningAnnex},
+            usePlanNo         = #{usePlanNo},
+            usePlanDate       = #{usePlanDate},
+            usePlanAnnex      = #{usePlanAnnex},
+            requisitonNo      = #{requisitonNo},
+            requisitonDate    = #{requisitonDate},
+            requisitonAnnex   = #{requisitonAnnex},
+            conLandNo         = #{conLandNo},
+            conLandDate       = #{conLandDate},
+            conLandAnnex      = #{conLandAnnex},
+            transferNo        = #{transferNo},
+            transferDate      = #{transferDate},
+            transferAnnex     = #{transferAnnex},
+            certificateNo     = #{certificateNo},
+            certificateDate   = #{certificateDate},
+            certificateAnnex  = #{certificateAnnex},
+            permitNo          = #{permitNo},
+            permitDate        = #{permitDate},
+            permitAnnex       = #{permitAnnex},
+            fireProNo         = #{fireProNo},
+            fireProdate       = #{fireProdate},
+            fireProAnnex      = #{fireProAnnex},
+            fireAccNo         = #{fireAccNo},
+            fireAccDate       = #{fireAccDate},
+            fireAccAnnex      = #{fireAccAnnex},
+            estateNo          = #{estateNo},
+            estateDate        = #{estateDate},
+            estateAnnex       = #{estateAnnex}
+        WHERE projectCode = #{projectCode}
+    </update>
+    <update id="updateLegalCompliance">
+        UPDATE filing_early_legalcompliance
+        SET create_date          = #{createDate},
+            update_by            = #{updateBy.id},
+            update_date          = #{updateDate},
+            remarks              = #{remarks},
+            planningLevel        = #{planningLevel},
+            surveyReport         = #{surveyReport},
+            redLineMap           = #{redLineMap},
+            redLineLand          = #{redLineLand},
+            zongMap              = #{zongMap},
+            recordSurvey         = #{recordSurvey},
+            recordDesign         = #{recordDesign},
+            recordContract       = #{recordContract},
+            supervisionRecord    = #{supervisionRecord},
+            qulifiedOpinions     = #{qulifiedOpinions},
+            constructionComments = #{constructionComments},
+            constructionDrawing  = #{constructionDrawing},
+            seismicReview        = #{seismicReview},
+            planningSetting      = #{planningSetting},
+            safetyRecord         = #{safetyRecord},
+            qualityRecord        = #{qualityRecord},
+            constructionPermit   = #{constructionPermit},
+            planBuiltMapping     = #{planBuiltMapping},
+            qualityAcceptance    = #{qualityAcceptance},
+            urbanArchives        = #{urbanArchives},
+            completionRecord     = #{completionRecord},
+            realEstate           = #{realEstate},
+            reportOnLang         = #{reportOnLang}
+        WHERE projectCode = #{projectCode}
+    </update>
+
+
+    <!-- 根据实体名称和字段名称和字段值获取唯一记录 -->
+    <select id="findUniqueByProperty" resultType="EarlyEngineering" statementType="STATEMENT">
+        select *
+        FROM filing_early_legalcompliance
+        where ${propertyName} = '${value}'
+    </select>
+    <select id="findChildList" resultType="com.jeeplus.modules.filing.earlyEngineering.entity.EarlyEngineering">
+        select
+        <include refid="earlyEngineeringColumns"/>
+        FROM filing_basic_information a
+        <include refid="earlyEngineeringJoins"/>
+        <where>
+            <if test="projectCode != null  and projectCode != ''">
+                a.parentId = #{projectCode}
+            </if>
+        </where>
+    </select>
+    <select id="findByCode" resultType="java.lang.Integer">
+        select count(id)
+        from filing_early_legalcompliance
+        where projectCode = #{projectCode}
+    </select>
+    <select id="findByIdList" resultType="com.jeeplus.modules.filing.earlyEngineering.entity.EarlyEngineering">
+        SELECT
+        <include refid="earlyEngineeringColumns"/>
+        FROM filing_basic_information a
+        <include refid="earlyEngineeringJoins"/>
+        WHERE a.id in(
+        <foreach collection="list" index="index" item="item" separator=",">
+            #{item}
+        </foreach>
+        )
+    </select>
+    <select id="findAll" resultType="com.jeeplus.modules.filing.earlyEngineering.entity.EarlyEngineering">
+        SELECT
+        <include refid="earlyEngineeringColumns"/>
+        FROM filing_basic_information a
+        <include refid="earlyEngineeringJoins"/>
+        WHERE a.id in(
+        <foreach collection="list" index="index" item="item" separator=",">
+            #{item}
+        </foreach>
+        )
+    </select>
+    <select id="findDesignStage" resultType="java.lang.Integer">
+        select count(id)
+        from filing_early_designstage
+        where projectCode = #{projectCode}
+    </select>
+    <select id="findReviewStage" resultType="java.lang.Integer">
+        select count(id)
+        from filing_early_reviewstage
+        where projectCode = #{projectCode}
+    </select>
+    <select id="findBiddingContract" resultType="java.lang.Integer">
+        select count(id)
+        from filing_early_biddingcontract
+        where projectCode = #{projectCode}
+    </select>
+    <select id="findApplicationFor" resultType="java.lang.Integer">
+        select count(id)
+        from filing_early_applicationfor
+        where projectCode = #{projectCode}
+    </select>
+    <select id="findLegalCompliance" resultType="java.lang.Integer">
+        select count(id)
+        from filing_early_legalcompliance
+        where projectCode = #{projectCode}
+    </select>
+
+</mapper>

+ 253 - 0
src/main/java/com/jeeplus/modules/filing/earlyEngineering/mapper/xml/LegalComplianceMapper.xml

@@ -0,0 +1,253 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.modules.filing.earlyEngineering.mapper.LegalComplianceMapper">
+    
+	<sql id="legalComplianceColumns">
+		a.id AS "id",
+		a.create_by AS "createBy.id",
+		a.create_date AS "createDate",
+		a.update_by AS "updateBy.id",
+		a.update_date AS "updateDate",
+		a.remarks AS "remarks",
+		a.del_flag AS "delFlag",
+		a.projectCode AS "projectCode",
+		a.monomerCode AS "monomerCode",
+		a.entryName AS "entryName",
+		b.planningLevel AS "planningLevel",
+		b.surveyReport AS "surveyReport",
+		b.redLineMap AS "redLineMap",
+		b.redLineLand AS "redLineLand",
+		b.zongMap AS "zongMap",
+		b.recordSurvey AS "recordSurvey",
+		b.recordDesign AS "recordDesign",
+		b.recordContract AS "recordContract",
+		b.supervisionRecord AS "supervisionRecord",
+		b.qulifiedOpinions AS "qulifiedOpinions",
+		b.constructionComments AS "constructionComments",
+		b.constructionDrawing AS "constructionDrawing",
+		b.seismicReview AS "seismicReview",
+		b.planningSetting AS "planningSetting",
+		b.safetyRecord AS "safetyRecord",
+		b.qualityRecord AS "qualityRecord",
+		b.constructionPermit AS "constructionPermit",
+		b.planBuiltMapping AS "planBuiltMapping",
+		b.qualityAcceptance AS "qualityAcceptance",
+		b.urbanArchives AS "urbanArchives",
+		b.completionRecord AS "completionRecord",
+		b.realEstate AS "realEstate",
+		b.reportOnLang AS "reportOnLang"
+	</sql>
+	
+	<sql id="legalComplianceJoins">
+		LEFT JOIN filing_early_legalcompliance b on a.projectCode = b.projectCode
+	</sql>
+	
+    
+	<select id="get" resultType="LegalCompliance" >
+		SELECT 
+			<include refid="legalComplianceColumns"/>
+		FROM filing_basic_information a
+		<include refid="legalComplianceJoins"/>
+		WHERE a.id = #{id}
+	</select>
+	
+	<select id="findList" resultType="LegalCompliance">
+		SELECT 
+			<include refid="legalComplianceColumns"/>
+		FROM filing_basic_information a
+		<include refid="legalComplianceJoins"/>
+		<where>
+			a.del_flag = #{DEL_FLAG_NORMAL}
+			${dataScope}
+			and a.parentId = '0'
+			<if test="projectCode != null  and projectCode != ''">
+				and a.projectCode = #{projectCode}
+			</if>
+		</where>
+		<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="findAllList" resultType="LegalCompliance" >
+		SELECT 
+			<include refid="legalComplianceColumns"/>
+		FROM filing_basic_information a
+		<include refid="legalComplianceJoins"/>
+		<where>
+			a.del_flag = #{DEL_FLAG_NORMAL}
+			${dataScope}
+		</where>		
+		<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>
+	
+	<insert id="insert">
+		INSERT INTO filing_early_legalcompliance(
+			id,
+			create_by,
+			create_date,
+			update_by,
+			update_date,
+			remarks,
+			del_flag,
+	  		projectCode,
+			planningLevel,
+			surveyReport,
+			redLineMap,
+			redLineLand,
+			zongMap,
+			recordSurvey,
+			recordDesign,
+			recordContract,
+			supervisionRecord,
+			qulifiedOpinions,
+			constructionComments,
+			constructionDrawing,
+			seismicReview,
+			planningSetting,
+			safetyRecord,
+			qualityRecord,
+			constructionPermit,
+			planBuiltMapping,
+			qualityAcceptance,
+			urbanArchives,
+			completionRecord,
+			realEstate,
+			reportOnLang
+		) VALUES (
+			#{id},
+			#{createBy.id},
+			#{createDate},
+			#{updateBy.id},
+			#{updateDate},
+			#{remarks},
+			#{delFlag},
+			#{projectCode},
+			#{planningLevel},
+			#{surveyReport},
+			#{redLineMap},
+			#{redLineLand},
+			#{zongMap},
+			#{recordSurvey},
+			#{recordDesign},
+			#{recordContract},
+			#{supervisionRecord},
+			#{qulifiedOpinions},
+			#{constructionComments},
+			#{constructionDrawing},
+			#{seismicReview},
+			#{planningSetting},
+			#{safetyRecord},
+			#{qualityRecord},
+			#{constructionPermit},
+			#{planBuiltMapping},
+			#{qualityAcceptance},
+			#{urbanArchives},
+			#{completionRecord},
+			#{realEstate},
+			#{reportOnLang}
+		)
+	</insert>
+	
+	<update id="update">
+		UPDATE filing_early_legalcompliance SET
+			create_date = #{createDate},
+			update_by = #{updateBy.id},
+			update_date = #{updateDate},
+			remarks = #{remarks},
+			planningLevel = #{planningLevel},
+			surveyReport = #{surveyReport},
+			redLineMap = #{redLineMap},
+			redLineLand = #{redLineLand},
+			zongMap = #{zongMap},
+			recordSurvey = #{recordSurvey},
+			recordDesign = #{recordDesign},
+			recordContract = #{recordContract},
+			supervisionRecord = #{supervisionRecord},
+			qulifiedOpinions = #{qulifiedOpinions},
+			constructionComments = #{constructionComments},
+			constructionDrawing = #{constructionDrawing},
+			seismicReview = #{seismicReview},
+			planningSetting = #{planningSetting},
+			safetyRecord = #{safetyRecord},
+			qualityRecord = #{qualityRecord},
+			constructionPermit = #{constructionPermit},
+			planBuiltMapping = #{planBuiltMapping},
+			qualityAcceptance = #{qualityAcceptance},
+			urbanArchives = #{urbanArchives},
+			completionRecord = #{completionRecord},
+			realEstate = #{realEstate},
+			reportOnLang = #{reportOnLang}
+		WHERE projectCode = #{projectCode}
+	</update>
+	
+	
+	<!--物理删除-->
+	<update id="delete">
+		DELETE FROM filing_early_legalcompliance
+		WHERE id = #{id}
+	</update>
+	
+	<!--逻辑删除-->
+	<update id="deleteByLogic">
+		UPDATE filing_early_legalcompliance SET 
+			del_flag = #{DEL_FLAG_DELETE}
+		WHERE id = #{id}
+	</update>
+	
+	
+	<!-- 根据实体名称和字段名称和字段值获取唯一记录 -->
+	<select id="findUniqueByProperty" resultType="LegalCompliance" statementType="STATEMENT">
+		select * FROM filing_early_legalcompliance  where ${propertyName} = '${value}'
+	</select>
+	<select id="findChildList" resultType="com.jeeplus.modules.filing.earlyEngineering.entity.LegalCompliance">
+		select
+			<include refid="legalComplianceColumns"/>
+			FROM filing_basic_information a
+			<include refid="legalComplianceJoins"/>
+		<where>
+			<if test="projectCode != null  and projectCode != ''">
+				a.parentId = #{projectCode}
+			</if>
+		</where>
+	</select>
+	<select id="findByCode" resultType="java.lang.Integer">
+		select count(id) from filing_early_legalcompliance
+		where projectCode = #{projectCode}
+	</select>
+	<select id="findByIdList" resultType="com.jeeplus.modules.filing.earlyEngineering.entity.LegalCompliance">
+		SELECT
+		<include refid="legalComplianceColumns"/>
+		FROM filing_basic_information a
+		<include refid="legalComplianceJoins"/>
+		WHERE a.id in(
+		<foreach collection="list" index="index" item="item" separator=",">
+			#{item}
+		</foreach>
+		)
+	</select>
+	<select id="findAll" resultType="com.jeeplus.modules.filing.earlyEngineering.entity.LegalCompliance">
+		SELECT
+		<include refid="legalComplianceColumns"/>
+		FROM filing_basic_information a
+		<include refid="legalComplianceJoins"/>
+		WHERE a.id in(
+		<foreach collection="list" index="index" item="item" separator=",">
+			#{item}
+		</foreach>
+		)
+	</select>
+
+</mapper>

+ 115 - 0
src/main/java/com/jeeplus/modules/filing/earlyEngineering/service/EarlyEngineeringService.java

@@ -0,0 +1,115 @@
+/**
+ * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.modules.filing.earlyEngineering.service;
+
+import com.jeeplus.core.persistence.Page;
+import com.jeeplus.core.service.CrudService;
+import com.jeeplus.modules.filing.earlyEngineering.entity.EarlyEngineering;
+import com.jeeplus.modules.filing.earlyEngineering.mapper.EarlyEngineeringMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * 依法合规MAPPER接口
+ * @author qy
+ * @version 2021-04-06
+ */
+@Service
+@Transactional(readOnly = true)
+public class EarlyEngineeringService extends CrudService<EarlyEngineeringMapper, EarlyEngineering> {
+
+
+	@Override
+	public EarlyEngineering get(EarlyEngineering entity) {
+		return super.get(entity);
+	}
+
+	@Override
+	public List<EarlyEngineering> findList(EarlyEngineering entity) {
+		return super.findList(entity);
+	}
+
+	@Override
+	public Page<EarlyEngineering> findPage(Page<EarlyEngineering> page, EarlyEngineering entity) {
+		return super.findPage(page, entity);
+	}
+
+	public Page<EarlyEngineering> findAllPage(Page<EarlyEngineering> page, EarlyEngineering entity){
+		dataRuleFilter(entity);
+		entity.setPage(page);
+		page.setList(mapper.findAllList(entity));
+		return page;
+	}
+
+	public Page<EarlyEngineering> findChildPage(Page<EarlyEngineering> page, EarlyEngineering entity) {
+		dataRuleFilter(entity);
+		entity.setPage(page);
+		page.setList(mapper.findChildList(entity));
+		return page;
+	}
+
+
+
+	@Override
+	public void delete(EarlyEngineering entity) {
+		super.delete(entity);
+	}
+
+	@Override
+	@Transactional(readOnly = false)
+	public void save(EarlyEngineering entity) {
+		//根据projectCode查询每个表的类变是否存在
+		//查找初设阶段
+		Integer designStage = mapper.findDesignStage(entity);
+		if (0 == designStage || null == designStage) {
+			entity.preInsert();
+			mapper.insertDesign(entity);
+		} else {
+			entity.preUpdate();
+			mapper.updateDesign(entity);
+		}
+		//查找批概阶段
+		Integer reviewStage = mapper.findReviewStage(entity);
+		if (0 == reviewStage || null == reviewStage) {
+			entity.preInsert();
+			mapper.insertReviewStage(entity);
+		} else {
+			entity.preUpdate();
+			mapper.updateReviewStage(entity);
+		}
+		//查找招标与合同管理
+		Integer biddingContract = mapper.findBiddingContract(entity);
+		if (0 == biddingContract || null == biddingContract) {
+			entity.preInsert();
+			mapper.insertBiddingContract(entity);
+		} else {
+			entity.preUpdate();
+			mapper.updateBiddingContract(entity);
+		}
+		//查找报建审批
+		Integer applicationFor = mapper.findApplicationFor(entity);
+		if (0 == applicationFor || null == applicationFor) {
+			entity.preInsert();
+			mapper.insertApplicationFor(entity);
+		} else {
+			entity.preUpdate();
+			mapper.updateApplicationFor(entity);
+		}
+		//查找依法合规
+		Integer legalCompliance = mapper.findLegalCompliance(entity);
+		if (0 == legalCompliance || null == legalCompliance) {
+			entity.preInsert();
+			mapper.insertLegalCompliance(entity);
+		} else {
+			entity.preUpdate();
+			mapper.updateLegalCompliance(entity);
+		}
+	}
+
+	public Integer findByCode(EarlyEngineering entity) {
+		return mapper.findByCode(entity);
+	}
+}

+ 77 - 0
src/main/java/com/jeeplus/modules/filing/earlyEngineering/service/LegalComplianceService.java

@@ -0,0 +1,77 @@
+/**
+ * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.modules.filing.earlyEngineering.service;
+
+import com.jeeplus.core.persistence.Page;
+import com.jeeplus.core.service.CrudService;
+import com.jeeplus.modules.filing.earlyEngineering.entity.LegalCompliance;
+import com.jeeplus.modules.filing.earlyEngineering.mapper.LegalComplianceMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * 依法合规MAPPER接口
+ * @author qy
+ * @version 2021-04-06
+ */
+@Service
+@Transactional(readOnly = true)
+public class LegalComplianceService extends CrudService<LegalComplianceMapper, LegalCompliance> {
+
+
+	@Override
+	public LegalCompliance get(LegalCompliance entity) {
+		return super.get(entity);
+	}
+
+	@Override
+	public List<LegalCompliance> findList(LegalCompliance entity) {
+		return super.findList(entity);
+	}
+
+	@Override
+	public Page<LegalCompliance> findPage(Page<LegalCompliance> page, LegalCompliance entity) {
+		return super.findPage(page, entity);
+	}
+
+	public Page<LegalCompliance> findAllPage(Page<LegalCompliance> page, LegalCompliance entity){
+		dataRuleFilter(entity);
+		entity.setPage(page);
+		page.setList(mapper.findAllList(entity));
+		return page;
+	}
+
+	public Page<LegalCompliance> findChildPage(Page<LegalCompliance> page, LegalCompliance entity) {
+		dataRuleFilter(entity);
+		entity.setPage(page);
+		page.setList(mapper.findChildList(entity));
+		return page;
+	}
+
+
+
+	@Override
+	public void delete(LegalCompliance entity) {
+		super.delete(entity);
+	}
+
+	@Override
+	@Transactional(readOnly = false)
+	public void save(LegalCompliance entity) {
+		Integer byCode = mapper.findByCode(entity);
+		if (0 == byCode || null == byCode) {
+			entity.preInsert();
+			mapper.insert(entity);
+		} else {
+			entity.preUpdate();
+			mapper.update(entity);
+		}
+	}
+
+	public Integer findByCode(LegalCompliance entity) {
+		return mapper.findByCode(entity);
+	}
+}

+ 242 - 0
src/main/java/com/jeeplus/modules/filing/earlyEngineering/web/EarlyEngineeringController.java

@@ -0,0 +1,242 @@
+package com.jeeplus.modules.filing.earlyEngineering.web;
+
+import com.google.common.collect.Lists;
+import com.jeeplus.common.json.AjaxJson;
+import com.jeeplus.common.utils.DateUtils;
+import com.jeeplus.common.utils.StringUtils;
+import com.jeeplus.common.utils.excel.ExportExcel;
+import com.jeeplus.common.utils.excel.ImportExcel;
+import com.jeeplus.core.persistence.Page;
+import com.jeeplus.core.web.BaseController;
+import com.jeeplus.modules.filing.earlyEngineering.entity.EarlyEngineering;
+import com.jeeplus.modules.filing.earlyEngineering.service.EarlyEngineeringService;
+import com.jeeplus.modules.filing.filingImages.service.FilingImagesService;
+import org.apache.shiro.authz.annotation.Logical;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 工程前期阶段MAPPER接口
+ * @author qy
+ * @version 2021-04-06
+ */
+@Controller
+@RequestMapping(value = "${adminPath}/filing/earlyEngineering")
+public class EarlyEngineeringController extends BaseController {
+
+	@Autowired
+	private EarlyEngineeringService earlyEngineeringService;
+
+	@Autowired
+	private FilingImagesService filingImagesService;
+
+	@ModelAttribute
+	public EarlyEngineering get(@RequestParam(required=false) String id) {
+		EarlyEngineering entity = null;
+		if (StringUtils.isNotBlank(id)){
+			entity = earlyEngineeringService.get(id);
+		}
+		if (entity == null){
+			entity = new EarlyEngineering();
+		}
+		return entity;
+	}
+	
+	/**
+	 * 工程前期阶段列表页面
+	 */
+	@RequiresPermissions("test:filing:earlyEngineering:list")
+	@RequestMapping(value = {"list", ""})
+	public String list(EarlyEngineering earlyEngineering, Model model) {
+		model.addAttribute("earlyEngineering", earlyEngineering);
+		return "modules/filing/earlyEngineering/earlyEngineeringList";
+	}
+	
+		/**
+	 * 工程前期阶段列表数据
+	 */
+	@ResponseBody
+	@RequiresPermissions("test:filing:earlyEngineering:list")
+	@RequestMapping(value = "data")
+	public Map<String, Object> data(EarlyEngineering earlyEngineering, HttpServletRequest request, HttpServletResponse response, Model model) {
+		Page<EarlyEngineering> page = earlyEngineeringService.findPage(new Page<EarlyEngineering>(request, response,-1), earlyEngineering);
+		return getBootstrapData(page);
+	}
+
+	/**
+	 * 查看,增加,工程前期阶段表单页面
+	 */
+	@RequiresPermissions(value={"test:filing:earlyEngineering:view","test:filing:earlyEngineering:add","test:filing:earlyEngineering:edit"},logical=Logical.OR)
+	@RequestMapping(value = "form")
+	public String form(EarlyEngineering earlyEngineering, Model model) {
+		model.addAttribute("earlyEngineering", earlyEngineering);
+		return "modules/filing/earlyEngineering/earlyEngineeringForm";
+	}
+
+	
+	/**
+	 * 保存工程前期阶段
+	 */
+	@ResponseBody
+	@RequiresPermissions(value={"test:filing:earlyEngineering:add","test:filing:earlyEngineering:edit"},logical=Logical.OR)
+	@RequestMapping(value = "save")
+	public AjaxJson save(EarlyEngineering earlyEngineering, Model model) throws Exception{
+		AjaxJson j = new AjaxJson();
+		/**
+		 * 后台hibernate-validation插件校验
+		 */
+		String errMsg = beanValidator(earlyEngineering);
+		if (StringUtils.isNotBlank(errMsg)){
+			j.setSuccess(false);
+			j.setMsg(errMsg);
+			return j;
+		}
+		//新增或编辑表单保存
+		earlyEngineeringService.save(earlyEngineering);//保存
+		j.setSuccess(true);
+		j.setMsg("保存工程前期阶段成功");
+		return j;
+	}
+
+	/**
+	 * 保存工程前期阶段
+	 */
+	@ResponseBody
+	@RequiresPermissions(value={"test:filing:earlyEngineering:add","test:filing:earlyEngineering:edit"},logical=Logical.OR)
+	@RequestMapping(value = "updateSave")
+	public AjaxJson updateSave(EarlyEngineering earlyEngineering, Model model) throws Exception{
+		AjaxJson j = new AjaxJson();
+		/**
+		 * 后台hibernate-validation插件校验
+		 */
+		String errMsg = beanValidator(earlyEngineering);
+		if (StringUtils.isNotBlank(errMsg)){
+			j.setSuccess(false);
+			j.setMsg(errMsg);
+			return j;
+		}
+		//新增或编辑表单保存
+		earlyEngineeringService.save(earlyEngineering);//保存
+		j.setSuccess(true);
+		j.setMsg("保存工程前期阶段成功");
+		return j;
+	}
+
+
+	/**
+	 * 删除工程前期阶段
+	 */
+	@ResponseBody
+	@RequiresPermissions("test:filing:earlyEngineering:del")
+	@RequestMapping(value = "delete")
+	public AjaxJson delete(EarlyEngineering earlyEngineering) {
+		AjaxJson j = new AjaxJson();
+		earlyEngineeringService.delete(earlyEngineering);
+		j.setMsg("删除工程前期阶段成功");
+		return j;
+	}
+	
+	/**
+	 * 批量删除工程前期阶段
+	 */
+	@ResponseBody
+	@RequiresPermissions("test:filing:earlyEngineering:del")
+	@RequestMapping(value = "deleteAll")
+	public AjaxJson deleteAll(String ids) {
+		AjaxJson j = new AjaxJson();
+		String idArray[] =ids.split(",");
+		for(String id : idArray){
+			earlyEngineeringService.delete(earlyEngineeringService.get(id));
+		}
+		j.setMsg("删除工程前期阶段成功");
+		return j;
+	}
+	
+	/**
+	 * 导出excel文件
+	 */
+	@ResponseBody
+	@RequiresPermissions("test:filing:earlyEngineering:export")
+    @RequestMapping(value = "export")
+    public AjaxJson exportFile(EarlyEngineering earlyEngineering, HttpServletRequest request, HttpServletResponse response) {
+		AjaxJson j = new AjaxJson();
+		try {
+            String fileName = "工程前期阶段"+DateUtils.getDate("yyyyMMddHHmmss")+".xlsx";
+            Page<EarlyEngineering> page = earlyEngineeringService.findAllPage(new Page<EarlyEngineering>(request, response, -1), earlyEngineering);
+    		new ExportExcel("工程前期阶段", EarlyEngineering.class).setDataList(page.getList()).write(response, fileName).dispose();
+    		j.setSuccess(true);
+    		j.setMsg("导出成功!");
+    		return j;
+		} catch (Exception e) {
+			j.setSuccess(false);
+			j.setMsg("导出工程前期阶段记录失败!失败信息:"+e.getMessage());
+		}
+			return j;
+    }
+
+    
+    @ResponseBody
+    @RequestMapping(value = "detail")
+	public Map<String, Object> detail(EarlyEngineering earlyEngineering, HttpServletRequest request, HttpServletResponse response, Model model) {
+		Page<EarlyEngineering> page = earlyEngineeringService.findChildPage(new Page<EarlyEngineering>(request, response), earlyEngineering);
+		return getBootstrapData(page);
+	}
+	
+
+	/**
+	 * 导入Excel数据
+	 */
+	@ResponseBody
+	@RequiresPermissions("test:filing:earlyEngineering:import")
+    @RequestMapping(value = "import")
+   	public AjaxJson importFile(@RequestParam("file")MultipartFile file, HttpServletResponse response, HttpServletRequest request) {
+		AjaxJson j = new AjaxJson();
+		try {
+			ImportExcel ei = new ImportExcel(file, 1, 0);
+			List<EarlyEngineering> list = ei.getDataList(EarlyEngineering.class);
+			for (EarlyEngineering earlyEngineering :
+					list) {
+				earlyEngineeringService.save(earlyEngineering);
+			}
+			j.setMsg( "已成功导入条工程前期阶段记录");
+		} catch (Exception e) {
+			j.setSuccess(false);
+			j.setMsg("导入工程前期阶段失败!失败信息:"+e.getMessage());
+		}
+		return j;
+    }
+	
+	/**
+	 * 下载导入工程前期阶段数据模板
+	 */
+	@ResponseBody
+	@RequiresPermissions("test:filing:earlyEngineering:import")
+    @RequestMapping(value = "import/template")
+     public AjaxJson importFileTemplate(HttpServletResponse response) {
+		AjaxJson j = new AjaxJson();
+		try {
+            String fileName = "工程前期阶段数据导入模板.xlsx";
+    		List<EarlyEngineering> list = Lists.newArrayList(); 
+    		new ExportExcel("工程前期阶段数据", EarlyEngineering.class, 1).setDataList(list).write(response, fileName).dispose();
+    		return null;
+		} catch (Exception e) {
+			j.setSuccess(false);
+			j.setMsg( "导入模板下载失败!失败信息:"+e.getMessage());
+		}
+		return j;
+    }
+	
+
+}

+ 243 - 0
src/main/java/com/jeeplus/modules/filing/earlyEngineering/web/LegalComplianceController.java

@@ -0,0 +1,243 @@
+package com.jeeplus.modules.filing.earlyEngineering.web;
+
+import com.google.common.collect.Lists;
+import com.jeeplus.common.json.AjaxJson;
+import com.jeeplus.common.utils.DateUtils;
+import com.jeeplus.common.utils.StringUtils;
+import com.jeeplus.common.utils.excel.ExportExcel;
+import com.jeeplus.common.utils.excel.ImportExcel;
+import com.jeeplus.core.persistence.Page;
+import com.jeeplus.core.web.BaseController;
+import com.jeeplus.modules.filing.earlyEngineering.entity.LegalCompliance;
+import com.jeeplus.modules.filing.earlyEngineering.service.LegalComplianceService;
+import com.jeeplus.modules.filing.earlyEngineering.service.LegalComplianceService;
+import com.jeeplus.modules.filing.filingImages.service.FilingImagesService;
+import org.apache.shiro.authz.annotation.Logical;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 依法合规MAPPER接口
+ * @author qy
+ * @version 2021-04-06
+ */
+@Controller
+@RequestMapping(value = "${adminPath}/filing/legalCompliance")
+public class LegalComplianceController extends BaseController {
+
+	@Autowired
+	private LegalComplianceService legalComplianceService;
+
+	@Autowired
+	private FilingImagesService filingImagesService;
+
+	@ModelAttribute
+	public LegalCompliance get(@RequestParam(required=false) String id) {
+		LegalCompliance entity = null;
+		if (StringUtils.isNotBlank(id)){
+			entity = legalComplianceService.get(id);
+		}
+		if (entity == null){
+			entity = new LegalCompliance();
+		}
+		return entity;
+	}
+	
+	/**
+	 * 依法合规列表页面
+	 */
+	@RequiresPermissions("test:filing:legalCompliance:list")
+	@RequestMapping(value = {"list", ""})
+	public String list(LegalCompliance legalCompliance, Model model) {
+		model.addAttribute("legalCompliance", legalCompliance);
+		return "modules/filing/legalCompliance/legalComplianceList";
+	}
+	
+		/**
+	 * 依法合规列表数据
+	 */
+	@ResponseBody
+	@RequiresPermissions("test:filing:legalCompliance:list")
+	@RequestMapping(value = "data")
+	public Map<String, Object> data(LegalCompliance legalCompliance, HttpServletRequest request, HttpServletResponse response, Model model) {
+		Page<LegalCompliance> page = legalComplianceService.findPage(new Page<LegalCompliance>(request, response,-1), legalCompliance);
+		return getBootstrapData(page);
+	}
+
+	/**
+	 * 查看,增加,依法合规表单页面
+	 */
+	@RequiresPermissions(value={"test:filing:legalCompliance:view","test:filing:legalCompliance:add","test:filing:legalCompliance:edit"},logical=Logical.OR)
+	@RequestMapping(value = "form")
+	public String form(LegalCompliance legalCompliance, Model model) {
+		model.addAttribute("legalCompliance", legalCompliance);
+		return "modules/filing/legalCompliance/legalComplianceForm";
+	}
+
+	
+	/**
+	 * 保存依法合规
+	 */
+	@ResponseBody
+	@RequiresPermissions(value={"test:filing:legalCompliance:add","test:filing:legalCompliance:edit"},logical=Logical.OR)
+	@RequestMapping(value = "save")
+	public AjaxJson save(LegalCompliance legalCompliance, Model model) throws Exception{
+		AjaxJson j = new AjaxJson();
+		/**
+		 * 后台hibernate-validation插件校验
+		 */
+		String errMsg = beanValidator(legalCompliance);
+		if (StringUtils.isNotBlank(errMsg)){
+			j.setSuccess(false);
+			j.setMsg(errMsg);
+			return j;
+		}
+		//新增或编辑表单保存
+		legalComplianceService.save(legalCompliance);//保存
+		j.setSuccess(true);
+		j.setMsg("保存依法合规成功");
+		return j;
+	}
+
+	/**
+	 * 保存依法合规
+	 */
+	@ResponseBody
+	@RequiresPermissions(value={"test:filing:legalCompliance:add","test:filing:legalCompliance:edit"},logical=Logical.OR)
+	@RequestMapping(value = "updateSave")
+	public AjaxJson updateSave(LegalCompliance legalCompliance, Model model) throws Exception{
+		AjaxJson j = new AjaxJson();
+		/**
+		 * 后台hibernate-validation插件校验
+		 */
+		String errMsg = beanValidator(legalCompliance);
+		if (StringUtils.isNotBlank(errMsg)){
+			j.setSuccess(false);
+			j.setMsg(errMsg);
+			return j;
+		}
+		//新增或编辑表单保存
+		legalComplianceService.save(legalCompliance);//保存
+		j.setSuccess(true);
+		j.setMsg("保存依法合规成功");
+		return j;
+	}
+
+
+	/**
+	 * 删除依法合规
+	 */
+	@ResponseBody
+	@RequiresPermissions("test:filing:legalCompliance:del")
+	@RequestMapping(value = "delete")
+	public AjaxJson delete(LegalCompliance legalCompliance) {
+		AjaxJson j = new AjaxJson();
+		legalComplianceService.delete(legalCompliance);
+		j.setMsg("删除依法合规成功");
+		return j;
+	}
+	
+	/**
+	 * 批量删除依法合规
+	 */
+	@ResponseBody
+	@RequiresPermissions("test:filing:legalCompliance:del")
+	@RequestMapping(value = "deleteAll")
+	public AjaxJson deleteAll(String ids) {
+		AjaxJson j = new AjaxJson();
+		String idArray[] =ids.split(",");
+		for(String id : idArray){
+			legalComplianceService.delete(legalComplianceService.get(id));
+		}
+		j.setMsg("删除依法合规成功");
+		return j;
+	}
+	
+	/**
+	 * 导出excel文件
+	 */
+	@ResponseBody
+	@RequiresPermissions("test:filing:legalCompliance:export")
+    @RequestMapping(value = "export")
+    public AjaxJson exportFile(LegalCompliance legalCompliance, HttpServletRequest request, HttpServletResponse response) {
+		AjaxJson j = new AjaxJson();
+		try {
+            String fileName = "依法合规"+DateUtils.getDate("yyyyMMddHHmmss")+".xlsx";
+            Page<LegalCompliance> page = legalComplianceService.findAllPage(new Page<LegalCompliance>(request, response, -1), legalCompliance);
+    		new ExportExcel("依法合规", LegalCompliance.class).setDataList(page.getList()).write(response, fileName).dispose();
+    		j.setSuccess(true);
+    		j.setMsg("导出成功!");
+    		return j;
+		} catch (Exception e) {
+			j.setSuccess(false);
+			j.setMsg("导出依法合规记录失败!失败信息:"+e.getMessage());
+		}
+			return j;
+    }
+
+    
+    @ResponseBody
+    @RequestMapping(value = "detail")
+	public Map<String, Object> detail(LegalCompliance legalCompliance, HttpServletRequest request, HttpServletResponse response, Model model) {
+		Page<LegalCompliance> page = legalComplianceService.findChildPage(new Page<LegalCompliance>(request, response), legalCompliance);
+		return getBootstrapData(page);
+	}
+	
+
+	/**
+	 * 导入Excel数据
+	 */
+	@ResponseBody
+	@RequiresPermissions("test:filing:legalCompliance:import")
+    @RequestMapping(value = "import")
+   	public AjaxJson importFile(@RequestParam("file")MultipartFile file, HttpServletResponse response, HttpServletRequest request) {
+		AjaxJson j = new AjaxJson();
+		try {
+			ImportExcel ei = new ImportExcel(file, 1, 0);
+			List<LegalCompliance> list = ei.getDataList(LegalCompliance.class);
+			for (LegalCompliance legalCompliance :
+					list) {
+				legalComplianceService.save(legalCompliance);
+			}
+			j.setMsg( "已成功导入条依法合规记录");
+		} catch (Exception e) {
+			j.setSuccess(false);
+			j.setMsg("导入依法合规失败!失败信息:"+e.getMessage());
+		}
+		return j;
+    }
+	
+	/**
+	 * 下载导入依法合规数据模板
+	 */
+	@ResponseBody
+	@RequiresPermissions("test:filing:legalCompliance:import")
+    @RequestMapping(value = "import/template")
+     public AjaxJson importFileTemplate(HttpServletResponse response) {
+		AjaxJson j = new AjaxJson();
+		try {
+            String fileName = "依法合规数据导入模板.xlsx";
+    		List<LegalCompliance> list = Lists.newArrayList(); 
+    		new ExportExcel("依法合规数据", LegalCompliance.class, 1).setDataList(list).write(response, fileName).dispose();
+    		return null;
+		} catch (Exception e) {
+			j.setSuccess(false);
+			j.setMsg( "导入模板下载失败!失败信息:"+e.getMessage());
+		}
+		return j;
+    }
+	
+
+}

File diff suppressed because it is too large
+ 1216 - 7
src/main/java/com/jeeplus/modules/filing/filingImages/service/FilingImagesService.java


+ 42 - 0
src/main/java/com/jeeplus/modules/filing/filingImages/web/FilingImagesController.java

@@ -197,6 +197,48 @@ public class FilingImagesController extends BaseController {
 		return "redirect:"+Global.getAdminPath()+"/filing/biddingContract/";
 	}
 
+	/**
+	 * 项目相应文件批量下载并压缩
+	 */
+	@RequestMapping(value = "exportApplicationFor")
+	public String exportApplicationFor(HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
+		String listIds = request.getParameter("ids");
+		List<String> idList = new ArrayList<>();
+		if (null != listIds && !"".equals(listIds)) {
+			idList = Arrays.asList(listIds.split(","));
+		} else {
+			idList = basicInformationService.findAllId();
+		}
+		try {
+			String filePath = filingImagesService.exportApplicationFor(idList);
+			filingImagesService.downloadZipFile(filePath,response);
+			return null;
+		} catch (Exception e) {
+			addMessage(redirectAttributes, "批量下载项目文件失败!");
+		}
+		return "redirect:"+Global.getAdminPath()+"/filing/applicationFor/";
+	}
 
 
+	/**
+	 * 项目相应文件批量下载并压缩
+	 */
+	@RequestMapping(value = "exportEarlyEngineering")
+	public String exportEarlyEngineering(HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
+		String listIds = request.getParameter("ids");
+		List<String> idList = new ArrayList<>();
+		if (null != listIds && !"".equals(listIds)) {
+			idList = Arrays.asList(listIds.split(","));
+		} else {
+			idList = basicInformationService.findAllId();
+		}
+		try {
+			String filePath = filingImagesService.exportEarlyEngineering(idList);
+			filingImagesService.downloadZipFile(filePath,response);
+			return null;
+		} catch (Exception e) {
+			addMessage(redirectAttributes, "批量下载项目文件失败!");
+		}
+		return "redirect:"+Global.getAdminPath()+"/filing/applicationFor/";
+	}
 }

+ 179 - 19
src/main/webapp/webpage/modules/filing/applicationFor/applicationForForm.jsp

@@ -20,9 +20,60 @@
 	<script type="text/javascript">
 
 		$(document).ready(function() {
-	        $('#initialDesignDate').datetimepicker({
+	        $('#landDate').datetimepicker({
 				 format: "YYYY-MM-DD"
 		    });
+			$('#eiaDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#acceptanceDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#replyDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#soilDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#depositDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#recordDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#siteProposalDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#planningDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#usePlanDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#requisitonDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#conLandDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#transferDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#certificateDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#permitDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#fireProdate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#fireAccDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#estateDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
 		});
 
 		function save() {
@@ -56,21 +107,21 @@
 				<tr>
 					<td class="width-15 active"><label class="pull-right">项目编码:</label></td>
 					<td class="width-35">
-						<form:input path="projectCode" readonly="true" htmlEscape="false"  class="form-control"/>
+						<form:input path="projectCode" readonly="true"  htmlEscape="false"  class="form-control"/>
 					</td>
 					<td class="width-15 active"><label class="pull-right">单体编码:</label></td>
 					<td class="width-35">
-						<form:input path="monomerCode" readonly="true" htmlEscape="false"  class="form-control"/>
+						<form:input path="monomerCode"  readonly="true" htmlEscape="false"  class="form-control"/>
 					</td>
 				</tr>
 				<tr>
 					<td class="width-15 active"><label class="pull-right">项目名称:</label></td>
 					<td class="width-35">
-						<form:input path="entryName" readonly="true" htmlEscape="false" class="form-control"/>
+						<form:input path="entryName" readonly="true"  htmlEscape="false" class="form-control"/>
 					</td>
 					<td class="width-15 active"><label class="pull-right">用地预审意见(变电站) 文号</label></td>
 					<td class="width-35">
-						<form:input path="landNo" readonly="true" htmlEscape="false" class="form-control"/>
+						<form:input path="landNo"   htmlEscape="false" class="form-control"/>
 					</td>
 				</tr>
 				<tr>
@@ -93,7 +144,7 @@
 				<tr>
 					<td class="width-15 active"><label class="pull-right">环评批复(变电站、线路) 文号</label></td>
 					<td class="width-35">
-						<form:input path="eiaNo" readonly="true" htmlEscape="false" class="form-control"/>
+						<form:input path="eiaNo"   htmlEscape="false" class="form-control"/>
 					</td>
 					<td class="width-15 active"><label class="pull-right">环评批复(变电站、线路) 日期</label></td>
 					<td class="width-35">
@@ -113,7 +164,7 @@
 					</td>
 					<td class="width-15 active"><label class="pull-right">环评验收文号及日期 文号</label></td>
 					<td class="width-35">
-						<form:input path="acceptanceNo" readonly="true" htmlEscape="false" class="form-control"/>
+						<form:input path="acceptanceNo"   htmlEscape="false" class="form-control"/>
 					</td>
 				</tr>
 				<tr>
@@ -136,7 +187,7 @@
 				<tr>
 					<td class="width-15 active"><label class="pull-right">水保批复(变电站、线路) 文号</label></td>
 					<td class="width-35">
-						<form:input path="replyNo" readonly="true" htmlEscape="false" class="form-control"/>
+						<form:input path="replyNo"   htmlEscape="false" class="form-control"/>
 					</td>
 					<td class="width-15 active"><label class="pull-right">水保批复(变电站、线路) 日期</label></td>
 					<td class="width-35">
@@ -156,7 +207,7 @@
 					</td>
 					<td class="width-15 active"><label class="pull-right">水保验收文号及日期 文号</label></td>
 					<td class="width-35">
-						<form:input path="soilNo" readonly="true" htmlEscape="false" class="form-control"/>
+						<form:input path="soilNo"   htmlEscape="false" class="form-control"/>
 					</td>
 				</tr>
 				<tr>
@@ -179,7 +230,7 @@
 				<tr>
 					<td class="width-15 active"><label class="pull-right">压覆矿藏复函(变电站) 文号</label></td>
 					<td class="width-35">
-						<form:input path="depositNo" readonly="true" htmlEscape="false" class="form-control"/>
+						<form:input path="depositNo"   htmlEscape="false" class="form-control"/>
 					</td>
 					<td class="width-15 active"><label class="pull-right">压覆矿藏复函(变电站) 日期</label></td>
 					<td class="width-35">
@@ -199,7 +250,7 @@
 					</td>
 					<td class="width-15 active"><label class="pull-right">地灾评估备案表(变电站) 文号</label></td>
 					<td class="width-35">
-						<form:input path="recordNo" readonly="true" htmlEscape="false" class="form-control"/>
+						<form:input path="recordNo"   htmlEscape="false" class="form-control"/>
 					</td>
 				</tr>
 				<tr>
@@ -222,7 +273,7 @@
 				<tr>
 					<td class="width-15 active"><label class="pull-right">选址意见书(变电站) 文号</label></td>
 					<td class="width-35">
-						<form:input path="siteProposalNo" readonly="true" htmlEscape="false" class="form-control"/>
+						<form:input path="siteProposalNo"   htmlEscape="false" class="form-control"/>
 					</td>
 					<td class="width-15 active"><label class="pull-right">选址意见书(变电站) 日期</label></td>
 					<td class="width-35">
@@ -242,7 +293,7 @@
 					</td>
 					<td class="width-15 active"><label class="pull-right">线路路径规划意见 文号</label></td>
 					<td class="width-35">
-						<form:input path="planningNo" readonly="true" htmlEscape="false" class="form-control"/>
+						<form:input path="planningNo"   htmlEscape="false" class="form-control"/>
 					</td>
 				</tr>
 				<tr>
@@ -265,7 +316,7 @@
 				<tr>
 					<td class="width-15 active"><label class="pull-right">用地规划许可证 文号</label></td>
 					<td class="width-35">
-						<form:input path="usePlanNo" readonly="true" htmlEscape="false" class="form-control"/>
+						<form:input path="usePlanNo"   htmlEscape="false" class="form-control"/>
 					</td>
 					<td class="width-15 active"><label class="pull-right">用地规划许可证 日期</label></td>
 					<td class="width-35">
@@ -285,7 +336,7 @@
 					</td>
 					<td class="width-15 active"><label class="pull-right">征地补偿批复 文号</label></td>
 					<td class="width-35">
-						<form:input path="requisitonNo" readonly="true" htmlEscape="false" class="form-control"/>
+						<form:input path="requisitonNo"   htmlEscape="false" class="form-control"/>
 					</td>
 				</tr>
 				<tr>
@@ -308,7 +359,7 @@
 				<tr>
 					<td class="width-15 active"><label class="pull-right">建设用地批准书 文号</label></td>
 					<td class="width-35">
-						<form:input path="conLandNo" readonly="true" htmlEscape="false" class="form-control"/>
+						<form:input path="conLandNo"   htmlEscape="false" class="form-control"/>
 					</td>
 					<td class="width-15 active"><label class="pull-right">建设用地批准书 日期</label></td>
 					<td class="width-35">
@@ -328,7 +379,7 @@
 					</td>
 					<td class="width-15 active"><label class="pull-right">划拨决定书 文号</label></td>
 					<td class="width-35">
-						<form:input path="transferNo" readonly="true" htmlEscape="false" class="form-control"/>
+						<form:input path="transferNo"   htmlEscape="false" class="form-control"/>
 					</td>
 				</tr>
 				<tr>
@@ -342,12 +393,121 @@
 						</div>
 					</td>
 					</td>
-					<td class="width-15 active"><label class="pull-right">地灾评估备案表(变电站) 附件</label></td>
+					<td class="width-15 active"><label class="pull-right">划拨决定书 附件</label></td>
 					<td class="width-35">
-						<sys:fileUpload path="recordAnnex"  value="${applicationFor.recordAnnex}" type="*" uploadPath="/photo"  readonly="false"/></td>
+						<sys:fileUpload path="transferAnnex"  value="${applicationFor.transferAnnex}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">土地证(变电站) 文号</label></td>
+					<td class="width-35">
+						<form:input path="certificateNo"   htmlEscape="false" class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class="pull-right">土地证(变电站) 日期</label></td>
+					<td class="width-35">
+						<div class='input-group form_datetime' id='certificateDate'>
+							<input type='text'  name="certificateDate" class="form-control"  value="<fmt:formatDate value="${applicationFor.certificateDate}" pattern="yyyy-MM-dd"/>"/>
+							<span class="input-group-addon">
+			                        <span class="glyphicon glyphicon-calendar"></span>
+			                    </span>
+						</div>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">土地证(变电站) 附件</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="certificateAnnex"  value="${applicationFor.certificateAnnex}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+					<td class="width-15 active"><label class="pull-right">建设工程规划许可证(变电站) 文号</label></td>
+					<td class="width-35">
+						<form:input path="permitNo"   htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">建设工程规划许可证(变电站) 日期</label></td>
+					<td class="width-35">
+						<div class='input-group form_datetime' id='permitDate'>
+							<input type='text'  name="permitDate" class="form-control"  value="<fmt:formatDate value="${applicationFor.permitDate}" pattern="yyyy-MM-dd"/>"/>
+							<span class="input-group-addon">
+			                        <span class="glyphicon glyphicon-calendar"></span>
+			                    </span>
+						</div>
+					</td>
+					</td>
+					<td class="width-15 active"><label class="pull-right">建设工程规划许可证(变电站) 附件</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="permitAnnex"  value="${applicationFor.permitAnnex}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">消防设计审查/备案意见(变电站) 文号</label></td>
+					<td class="width-35">
+						<form:input path="fireProNo"   htmlEscape="false" class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class="pull-right">消防设计审查/备案意见(变电站) 日期</label></td>
+					<td class="width-35">
+						<div class='input-group form_datetime' id='fireProdate'>
+							<input type='text'  name="fireProdate" class="form-control"  value="<fmt:formatDate value="${applicationFor.fireProdate}" pattern="yyyy-MM-dd"/>"/>
+							<span class="input-group-addon">
+			                        <span class="glyphicon glyphicon-calendar"></span>
+			                    </span>
+						</div>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">消防设计审查/备案意见(变电站) 附件</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="fireProAnnex"  value="${applicationFor.fireProAnnex}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+					<td class="width-15 active"><label class="pull-right">消防验收/备案意见(变电站) 文号</label></td>
+					<td class="width-35">
+						<form:input path="fireAccNo"   htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">消防验收/备案意见(变电站) 日期</label></td>
+					<td class="width-35">
+						<div class='input-group form_datetime' id='fireAccDate'>
+							<input type='text'  name="fireAccDate" class="form-control"  value="<fmt:formatDate value="${applicationFor.fireAccDate}" pattern="yyyy-MM-dd"/>"/>
+							<span class="input-group-addon">
+			                        <span class="glyphicon glyphicon-calendar"></span>
+			                    </span>
+						</div>
+					</td>
+					</td>
+					<td class="width-15 active"><label class="pull-right">消防验收/备案意见(变电站) 附件</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="fireAccAnnex"  value="${applicationFor.fireAccAnnex}" type="*" uploadPath="/photo"  readonly="false"/></td>
 					</td>
 					</td>
 				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">不动产权证 文号</label></td>
+					<td class="width-35">
+						<form:input path="estateNo"   htmlEscape="false" class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class="pull-right">不动产权证 日期</label></td>
+					<td class="width-35">
+						<div class='input-group form_datetime' id='estateDate'>
+							<input type='text'  name="estateDate" class="form-control"  value="<fmt:formatDate value="${applicationFor.estateDate}" pattern="yyyy-MM-dd"/>"/>
+							<span class="input-group-addon">
+			                        <span class="glyphicon glyphicon-calendar"></span>
+			                    </span>
+						</div>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">不动产权证 附件</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="estateAnnex"  value="${applicationFor.estateAnnex}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+				</tr>
+
 		 	</tbody>
 		</table>
 		</div>

+ 82 - 191
src/main/webapp/webpage/modules/filing/applicationFor/applicationForList.js

@@ -98,7 +98,7 @@ $(document).ready(function() {
 			,{
 		        field: 'projectCode',
 		        title: '项目编码',
-			    width: '100px',
+			    width: 100,
 		        sortable: true,
 		        sortName: 'projectCode'
 		        ,formatter:function(value, row , index){
@@ -123,14 +123,14 @@ $(document).ready(function() {
 		        field: 'monomerCode',
 		        title: '单体编码',
 		        sortable: true,
-			   width: '100px',
+			   width: 100,
 		        sortName: 'monomerCode'
 
 		    }
 			,{
 		        field: 'entryName',
 		        title: '项目名称',
-					   width: '100px',
+					   width: 100,
 		        sortable: true,
 		        sortName: 'entryName'
 
@@ -138,217 +138,217 @@ $(document).ready(function() {
 			,{
 		        field: 'landNo',
 		        title: '用地预审意见(变电站) 文号',
-			    width: '100px',
+			    width: 100,
 		        sortable: true,
 		        sortName: 'landNo'
 		    },{
 					   field: 'landDate',
 					   title: '用地预审意见(变电站) 日期',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'landDate'
 				   },{
 					   field: 'eiaNo',
 					   title: '环评批复(变电站、线路) 文号',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'eiaNo'
 				   },{
 					   field: 'eiaDate',
 					   title: '环评批复(变电站、线路) 日期',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'eiaDate'
 				   },{
 					   field: 'acceptanceNo',
 					   title: '环评验收文号及日期 文号',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'acceptanceNo'
 				   },{
 					   field: 'acceptanceDate',
 					   title: '环评验收文号及日期 日期',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'acceptanceDate'
 				   },{
 					   field: 'replyNo',
 					   title: '水保批复(变电站、线路) 文号',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'replyNo'
 				   },{
 					   field: 'replyDate',
 					   title: '水保批复(变电站、线路) 日期',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'replyDate'
 				   },{
 					   field: 'soilNo',
 					   title: '水保验收文号及日期 文号',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'soilNo'
 				   },{
 					   field: 'soilDate',
 					   title: '水保验收文号及日期 日期',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'soilDate'
 				   },{
 					   field: 'depositNo',
 					   title: '压覆矿藏复函(变电站) 文号',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'depositNo'
 				   },{
 					   field: 'depositDate',
 					   title: '压覆矿藏复函(变电站) 日期',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'depositDate'
 				   },{
 					   field: 'recordNo',
 					   title: '地灾评估备案表(变电站) 文号',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'recordNo'
 				   },{
 					   field: 'recordDate',
 					   title: '地灾评估备案表(变电站) 日期',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'recordDate'
 				   },{
 					   field: 'siteProposalNo',
 					   title: '选址意见书(变电站) 文号',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'siteProposalNo'
 				   },{
 					   field: 'siteProposalDate',
 					   title: '选址意见书(变电站) 日期',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'siteProposalDate'
 				   },{
 					   field: 'planningNo',
 					   title: '线路路径规划意见 文号',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'planningNo'
 				   },{
 					   field: 'planningDate',
 					   title: '线路路径规划意见 日期',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'planningDate'
 				   },{
 					   field: 'usePlanNo',
 					   title: '用地规划许可证 文号',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'usePlanNo'
 				   },{
 					   field: 'usePlanDate',
 					   title: '用地规划许可证 日期',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'usePlanDate'
 				   },{
 					   field: 'requisitonNo',
 					   title: '征地补偿批复 文号',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'requisitonNo'
 				   },{
 					   field: 'requisitonDate',
 					   title: '征地补偿批复 日期',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'requisitonDate'
 				   },{
 					   field: 'conLandNo',
 					   title: '建设用地批准书 文号',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'conLandNo'
 				   },{
 					   field: 'conLandDate',
 					   title: '建设用地批准书 日期',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'conLandDate'
 				   },{
 					   field: 'transferNo',
 					   title: '划拨决定书 文号',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'transferNo'
 				   },{
 					   field: 'transferDate',
 					   title: '划拨决定书 日期',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'transferDate'
 				   },{
 					   field: 'certificateNo',
 					   title: '土地证(变电站) 文号',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'certificateNo'
 				   },{
 					   field: 'certificateDate',
 					   title: '土地证(变电站) 日期',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'certificateDate'
 				   },{
 					   field: 'permitNo',
 					   title: '建设工程规划许可证(变电站) 文号',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'permitNo'
 				   },{
 					   field: 'permitDate',
 					   title: '建设工程规划许可证(变电站) 日期',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'permitDate'
 				   },{
 					   field: 'fireProNo',
 					   title: '消防设计审查/备案意见(变电站) 文号',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'fireProNo'
 				   },{
 					   field: 'fireProdate',
 					   title: '消防设计审查/备案意见(变电站) 日期',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'fireProdate'
 				   },{
 					   field: 'fireAccNo',
 					   title: '消防验收/备案意见(变电站) 文号',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'fireAccNo'
 				   },{
 					   field: 'fireAccDate',
 					   title: '消防验收/备案意见(变电站) 日期',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'fireAccDate'
 				   },{
 					   field: 'estateNo',
 					   title: '不动产权证 文号',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'estateNo'
 				   },{
 					   field: 'estateDate',
 					   title: '不动产权证 日期',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'estateDate'
 				   }
@@ -383,10 +383,11 @@ $(document).ready(function() {
 			pageSize: 10,
 			pageList: [10, 25],
 			columns: [{
+				width: 62
+			},{
 				field: 'projectCode',
-				title: '项目编码',
-				width: '100px',
-				sortable: true,
+				title: '',
+				width: 100,
 				sortName: 'projectCode'
 				,formatter:function(value, row , index){
 					if(value == null || value ==""){
@@ -403,228 +404,118 @@ $(document).ready(function() {
 				}
 			}, {
 				field: 'monomerCode',
-				title: '单体编码',
-				width: '100px'
+				width: 100
 			}, {
 				field: 'entryName',
-				title: '项目名称',
-				width: '100px',
+				width: 100,
 			},{
 				field: 'landNo',
-				title: '用地预审意见(变电站) 文号',
-				width: '100px',
-				sortable: true,
-				sortName: 'landNo'
+				width: 100,
 			},{
 				field: 'landDate',
-				title: '用地预审意见(变电站) 日期',
-				width: '100px',
-				sortable: true,
-				sortName: 'landDate'
+				width: 100,
 			},{
 				field: 'eiaNo',
-				title: '环评批复(变电站、线路) 文号',
-				width: '100px',
-				sortable: true,
-				sortName: 'eiaNo'
+				width: 100,
 			},{
 				field: 'eiaDate',
-				title: '环评批复(变电站、线路) 日期',
-				width: '100px',
-				sortable: true,
-				sortName: 'eiaDate'
+				width: 100,
 			},{
 				field: 'acceptanceNo',
-				title: '环评验收文号及日期 文号',
-				width: '100px',
-				sortable: true,
-				sortName: 'acceptanceNo'
+				width: 100,
 			},{
 				field: 'acceptanceDate',
-				title: '环评验收文号及日期 日期',
-				width: '100px',
-				sortable: true,
-				sortName: 'acceptanceDate'
+				width: 100,
 			},{
 				field: 'replyNo',
-				title: '水保批复(变电站、线路) 文号',
-				width: '100px',
-				sortable: true,
-				sortName: 'replyNo'
+				width: 100,
 			},{
 				field: 'replyDate',
-				title: '水保批复(变电站、线路) 日期',
-				width: '100px',
-				sortable: true,
-				sortName: 'replyDate'
+				width: 100,
 			},{
 				field: 'soilNo',
-				title: '水保验收文号及日期 文号',
-				width: '100px',
-				sortable: true,
-				sortName: 'soilNo'
+				width: 100,
 			},{
 				field: 'soilDate',
-				title: '水保验收文号及日期 日期',
-				width: '100px',
-				sortable: true,
-				sortName: 'soilDate'
+				width: 100,
 			},{
 				field: 'depositNo',
-				title: '压覆矿藏复函(变电站) 文号',
-				width: '100px',
-				sortable: true,
-				sortName: 'depositNo'
+				width: 100,
 			},{
 				field: 'depositDate',
-				title: '压覆矿藏复函(变电站) 日期',
-				width: '100px',
-				sortable: true,
-				sortName: 'depositDate'
+				width: 100,
 			},{
 				field: 'recordNo',
-				title: '地灾评估备案表(变电站) 文号',
-				width: '100px',
-				sortable: true,
-				sortName: 'recordNo'
+				width: 100,
 			},{
 				field: 'recordDate',
-				title: '地灾评估备案表(变电站) 日期',
-				width: '100px',
-				sortable: true,
-				sortName: 'recordDate'
+				width: 100,
 			},{
 				field: 'siteProposalNo',
-				title: '选址意见书(变电站) 文号',
-				width: '100px',
-				sortable: true,
-				sortName: 'siteProposalNo'
+				width: 100,
 			},{
 				field: 'siteProposalDate',
-				title: '选址意见书(变电站) 日期',
-				width: '100px',
-				sortable: true,
-				sortName: 'siteProposalDate'
+				width: 100,
 			},{
 				field: 'planningNo',
-				title: '线路路径规划意见 文号',
-				width: '100px',
-				sortable: true,
-				sortName: 'planningNo'
+				width: 100,
 			},{
 				field: 'planningDate',
-				title: '线路路径规划意见 日期',
-				width: '100px',
-				sortable: true,
-				sortName: 'planningDate'
+				width: 100,
 			},{
 				field: 'usePlanNo',
-				title: '用地规划许可证 文号',
-				width: '100px',
-				sortable: true,
-				sortName: 'usePlanNo'
+				width: 100,
 			},{
 				field: 'usePlanDate',
-				title: '用地规划许可证 日期',
-				width: '100px',
-				sortable: true,
-				sortName: 'usePlanDate'
+				width: 100,
 			},{
 				field: 'requisitonNo',
-				title: '征地补偿批复 文号',
-				width: '100px',
-				sortable: true,
-				sortName: 'requisitonNo'
+				width: 100,
 			},{
 				field: 'requisitonDate',
-				title: '征地补偿批复 日期',
-				width: '100px',
-				sortable: true,
-				sortName: 'requisitonDate'
+				width: 100,
 			},{
 				field: 'conLandNo',
-				title: '建设用地批准书 文号',
-				width: '100px',
-				sortable: true,
-				sortName: 'conLandNo'
+				width: 100,
 			},{
 				field: 'conLandDate',
-				title: '建设用地批准书 日期',
-				width: '100px',
-				sortable: true,
-				sortName: 'conLandDate'
+				width: 100,
 			},{
 				field: 'transferNo',
-				title: '划拨决定书 文号',
-				width: '100px',
-				sortable: true,
-				sortName: 'transferNo'
+				width: 100,
 			},{
 				field: 'transferDate',
-				title: '划拨决定书 日期',
-				width: '100px',
-				sortable: true,
-				sortName: 'transferDate'
+				width: 100,
 			},{
 				field: 'certificateNo',
-				title: '土地证(变电站) 文号',
-				width: '100px',
-				sortable: true,
-				sortName: 'certificateNo'
+				width: 100,
 			},{
 				field: 'certificateDate',
-				title: '土地证(变电站) 日期',
-				width: '100px',
-				sortable: true,
-				sortName: 'certificateDate'
+				width: 100,
 			},{
 				field: 'permitNo',
-				title: '建设工程规划许可证(变电站) 文号',
-				width: '100px',
-				sortable: true,
-				sortName: 'permitNo'
+				width: 100,
 			},{
 				field: 'permitDate',
-				title: '建设工程规划许可证(变电站) 日期',
-				width: '100px',
-				sortable: true,
-				sortName: 'permitDate'
+				width: 100,
 			},{
 				field: 'fireProNo',
-				title: '消防设计审查/备案意见(变电站) 文号',
-				width: '100px',
-				sortable: true,
-				sortName: 'fireProNo'
+				width: 100,
 			},{
 				field: 'fireProdate',
-				title: '消防设计审查/备案意见(变电站) 日期',
-				width: '100px',
-				sortable: true,
-				sortName: 'fireProdate'
+				width: 100,
 			},{
 				field: 'fireAccNo',
-				title: '消防验收/备案意见(变电站) 文号',
-				width: '100px',
-				sortable: true,
-				sortName: 'fireAccNo'
+				width: 100,
 			},{
 				field: 'fireAccDate',
-				title: '消防验收/备案意见(变电站) 日期',
-				width: '100px',
-				sortable: true,
-				sortName: 'fireAccDate'
+				width: 100,
 			},{
 				field: 'estateNo',
-				title: '不动产权证 文号',
-				width: '100px',
-				sortable: true,
-				sortName: 'estateNo'
+				width: 100,
 			},{
 				field: 'estateDate',
-				title: '不动产权证 日期',
-				width: '100px',
-				sortable: true,
-				sortName: 'estateDate'
+				width: 100,
 			}
 				]
 		});
@@ -678,7 +569,7 @@ $(document).ready(function() {
 	  });
 
 	$("#exportFiles").bind("click", function () {
-		$("#searchForm").attr("action","${ctx}/filing/filingImages/exportBiddingContract?ids="+ getIdSelections());
+		$("#searchForm").attr("action","${ctx}/filing/filingImages/exportApplicationFor?ids="+ getIdSelections());
 		$("#searchForm").submit();
 		return true;
 	});

+ 5 - 0
src/main/webapp/webpage/modules/filing/applicationFor/applicationForList.jsp

@@ -15,7 +15,12 @@
             word-wrap: break-word;
             text-align: center;
         }
+        .row{
+            margin-left:0px;
 
+            margin-right:0px;
+
+        }
         .table th, .table td {
             text-align: center;
             vertical-align: middle !important;

+ 19 - 31
src/main/webapp/webpage/modules/filing/approvalStage/approvalStageList.js

@@ -98,7 +98,7 @@ $(document).ready(function() {
 			,{
 		        field: 'projectCode',
 		        title: '项目编码',
-			    width: '100px',
+			    width: 100,
 		        sortable: true,
 		        sortName: 'projectCode'
 		        ,formatter:function(value, row , index){
@@ -123,14 +123,14 @@ $(document).ready(function() {
 		        field: 'monomerCode',
 		        title: '单体编码',
 		        sortable: true,
-			   width: '100px',
+			   width: 100,
 		        sortName: 'monomerCode'
 
 		    }
 			,{
 		        field: 'entryName',
 		        title: '项目名称',
-					   width: '100px',
+					   width: 100,
 		        sortable: true,
 		        sortName: 'entryName'
 
@@ -138,14 +138,14 @@ $(document).ready(function() {
 			,{
 		        field: 'approvalNumber',
 		        title: '核准文号',
-					   width: '100px',
+					   width: 100,
 		        sortable: true,
 		        sortName: 'approvalNumber'
 		    }
 			,{
 		        field: 'dateOfApproval',
 		        title: '核准日期',
-					   width: '100px',
+					   width: 100,
 		        sortable: true,
 		        sortName: 'dateOfApproval'
 
@@ -153,7 +153,7 @@ $(document).ready(function() {
 				   ,{
 					   field: 'approvedAmount',
 					   title: '核准金额',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'approvedAmount'
 				   }
@@ -188,39 +188,27 @@ $(document).ready(function() {
 			pageSize: 10,
 			pageList: [10, 25],
 			columns: [{
+				width: 64
+			},{
 				field: 'projectCode',
-				title: '项目编码',
-				width: '164px'
+				width: 100
 			}, {
 				field: 'monomerCode',
-				title: '单体编码',
-				width: '100px'
+				width: 100
 			}, {
 				field: 'entryName',
-				title: '项目名称',
-				width: '100px',
+				width: 100,
 			},{
 				field: 'approvalNumber',
-				title: '核准文号',
-				width: '100px',
-				sortable: true,
-				sortName: 'approvalNumber'
+				width: 100,
+			},{
+				field: 'dateOfApproval',
+				width: 100,
 			}
-				,{
-					field: 'dateOfApproval',
-					title: '核准日期',
-					width: '100px',
-					sortable: true,
-					sortName: 'dateOfApproval'
-
-				}
-				,{
-					field: 'approvedAmount',
-					title: '核准金额',
-					width: '100px',
-					sortable: true,
-					sortName: 'approvedAmount'
-				}]
+			,{
+				field: 'approvedAmount',
+				width: 100,
+			}]
 		});
 	};
 

+ 2 - 2
src/main/webapp/webpage/modules/filing/approvalStage/approvalStageList.jsp

@@ -2,7 +2,7 @@
 <%@ include file="/webpage/include/taglib.jsp" %>
 <html>
 <head>
-    <title>票务代理管理</title>
+    <title>核准管理</title>
     <meta http-equiv="Content-type" content="text/html; charset=utf-8">
     <meta name="decorator" content="ani"/>
     <%@ include file="/webpage/include/bootstraptable.jsp" %>
@@ -26,7 +26,7 @@
 <div class="wrapper wrapper-content">
     <div class="panel panel-primary">
         <div class="panel-heading">
-            <h3 class="panel-title">基础信息列表</h3>
+            <h3 class="panel-title">核准列表</h3>
         </div>
         <div class="panel-body">
             <!-- 搜索 -->

+ 38 - 37
src/main/webapp/webpage/modules/filing/basicInformation/basicInformationList.js

@@ -98,7 +98,7 @@ $(document).ready(function() {
 			,{
 		        field: 'projectCode',
 		        title: '项目编码',
-			    width: '100px',
+			    width: 100,
 		        sortable: true,
 		        sortName: 'projectCode'
 		        ,formatter:function(value, row , index){
@@ -123,14 +123,14 @@ $(document).ready(function() {
 		        field: 'monomerCode',
 		        title: '单体编码',
 		        sortable: true,
-			   width: '100px',
+			   width: 100,
 		        sortName: 'monomerCode'
 
 		    }
 			,{
 		        field: 'entryName',
 		        title: '项目名称',
-					   width: '100px',
+					   width: 100,
 		        sortable: true,
 		        sortName: 'entryName'
 
@@ -138,14 +138,14 @@ $(document).ready(function() {
 			,{
 		        field: 'constructionYear',
 		        title: '建设年度1',
-					   width: '100px',
+					   width: 100,
 		        sortable: true,
 		        sortName: 'constructionYear'
 		    }
 			,{
 		        field: 'annualInvestment',
 		        title: '建设年度1</br>投资',
-					   width: '100px',
+					   width: 100,
 		        sortable: true,
 		        sortName: 'annualInvestment'
 
@@ -153,14 +153,14 @@ $(document).ready(function() {
 				   ,{
 					   field: 'constructionYearTwo',
 					   title: '建设年度2',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'constructionYearTwo'
 				   }
 				   ,{
 					   field: 'annualInvestmentTwo',
 					   title: '建设年度2</br>投资',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'annualInvestmentTwo'
 
@@ -168,14 +168,14 @@ $(document).ready(function() {
 				   ,{
 					   field: 'constructionYearThree',
 					   title: '建设年度3',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'constructionYearThree'
 				   }
 				   ,{
 					   field: 'annualInvestmentThree',
 					   title: '建设年度3</br>投资',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'annualInvestmentThree'
 
@@ -183,14 +183,14 @@ $(document).ready(function() {
 				   ,{
 					   field: 'constructionYearFour',
 					   title: '建设年度4',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'constructionYearFour'
 				   }
 				   ,{
 					   field: 'annualInvestmentFour',
 					   title: '建设年度4</br>投资',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'annualInvestmentFour'
 
@@ -198,7 +198,7 @@ $(document).ready(function() {
 			,{
 		        field: 'emphasis',
 		        title: '工程属性/重点程度',
-			   width: '100px',
+			   width: 100,
 		        sortable: true,
 		        sortName: 'emphasis'
 
@@ -234,9 +234,11 @@ $(document).ready(function() {
 			pageSize: 10,
 			pageList: [10, 25],
 			columns: [{
+				width: 63
+			},{
 				field: 'projectCode',
-				title: '项目编码',
-				width: '164px'
+				title: '',
+				width: 100
 				,formatter:function(value, row , index){
 					if(value == null || value ==""){
 						value = "-";
@@ -253,57 +255,56 @@ $(document).ready(function() {
 				}
 			}, {
 				field: 'monomerCode',
-				title: '单体编码',
-				width: '100px'
+				title: '',
+				width: 100
 			}, {
 				field: 'entryName',
-				title: '项目名称',
-				width: '100px',
+				title: '',
+				width: 100,
 			},{
 					field: 'constructionYear',
-					title: '建设年度1',
-				width: '100px',
+					title: '',
+				width: 100,
 				}
 				,{
 					field: 'annualInvestment',
-					title: '建设年度1</br>投资',
-					width: '100px',
-
+					title: '',
+					width: 100,
 				}
 				,{
 					field: 'constructionYearTwo',
-					title: '建设年度2',
-					width: '100px',
+					title: '',
+					width: 100,
 				}
 				,{
 					field: 'annualInvestmentTwo',
-					title: '建设年度2</br>投资',
-					width: '100px',
+					title: '',
+					width: 100,
 				}
 				,{
 					field: 'constructionYearThree',
-					title: '建设年度3',
-					width: '100px',
+					title: '',
+					width: 100,
 				}
 				,{
 					field: 'annualInvestmentThree',
-					title: '建设年度3</br>投资',
-					width: '100px',
+					title: '',
+					width: 100,
 				}
 				,{
 					field: 'constructionYearFour',
-					title: '建设年度4',
-					width: '100px',
+					title: '',
+					width: 100,
 				}
 				,{
 					field: 'annualInvestmentFour',
-					title: '建设年度4</br>投资',
-					width: '100px',
+					title: '',
+					width: 100,
 				}
 				,{
 					field: 'emphasis',
-					title: '工程属性/</br>重点程度',
-					width: '100px',
+					title: '',
+					width: 100,
 				}]
 		});
 	};

+ 10 - 16
src/main/webapp/webpage/modules/filing/biddingContract/biddingContractList.js

@@ -98,7 +98,7 @@ $(document).ready(function() {
 			,{
 		        field: 'projectCode',
 		        title: '项目编码',
-			    width: '100px',
+			    width: 100,
 		        sortable: true,
 		        sortName: 'projectCode'
 		        ,formatter:function(value, row , index){
@@ -123,14 +123,14 @@ $(document).ready(function() {
 		        field: 'monomerCode',
 		        title: '单体编码',
 		        sortable: true,
-			   width: '100px',
+			   width: 100,
 		        sortName: 'monomerCode'
 
 		    }
 			,{
 		        field: 'entryName',
 		        title: '项目名称',
-					   width: '100px',
+					   width: 100,
 		        sortable: true,
 		        sortName: 'entryName'
 
@@ -138,7 +138,7 @@ $(document).ready(function() {
 			,{
 		        field: 'threeDepartment',
 		        title: '三个项目部关键人员信息',
-					   width: '100px',
+					   width: 100,
 		        sortable: true,
 		        sortName: 'threeDepartment'
 		    }
@@ -173,11 +173,10 @@ $(document).ready(function() {
 			pageSize: 10,
 			pageList: [10, 25],
 			columns: [{
+				width: 65
+			},{
 				field: 'projectCode',
-				title: '项目编码',
-				width: '100px',
-				sortable: true,
-				sortName: 'projectCode'
+				width: 100
 				,formatter:function(value, row , index){
 					if(value == null || value ==""){
 						value = "-";
@@ -193,18 +192,13 @@ $(document).ready(function() {
 				}
 			}, {
 				field: 'monomerCode',
-				title: '单体编码',
-				width: '100px'
+				width: 100
 			}, {
 				field: 'entryName',
-				title: '项目名称',
-				width: '100px',
+				width: 100,
 			},{
 				field: 'threeDepartment',
-				title: '三个项目部关键人员信息',
-				width: '100px',
-				sortable: true,
-				sortName: 'threeDepartment'
+				width: 100,
 			}
 				]
 		});

+ 107 - 0
src/main/webapp/webpage/modules/filing/constructionStage/constructionStageForm.jsp

@@ -0,0 +1,107 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp" %>
+<html>
+<head>
+    <title>核准阶段管理</title>
+    <meta name="decorator" content="ani"/>
+    <%@ include file="/webpage/include/bootstraptable.jsp" %>
+    <style type="text/css">
+        /* 下边两行是去掉input 输入框右边的上下箭头按钮*/
+        .deal::-webkit-inner-spin-button {
+            -webkit-appearance: none !important;
+        }
+
+        .deal::-webkit-outer-spin-button {
+            -webkit-appearance: none !important;
+        }
+
+        input[type="number"] {
+            -moz-appearance: textfield;
+        }
+    </style>
+    <script type="text/javascript">
+
+        $(document).ready(function () {
+            $('#initialDesignDate').datetimepicker({
+                format: "YYYY-MM-DD"
+            });
+        });
+
+        function save() {
+            var isValidate = jp.validateForm('#inputForm');//校验表单
+            if (!isValidate) {
+                return false;
+            } else {
+                jp.loading();
+                jp.post("${ctx}/filing/constructionStage/save", $('#inputForm').serialize(), function (data) {
+                    if (data.success) {
+                        jp.getParent().refresh();
+                        var dialogIndex = parent.layer.getFrameIndex(window.name); // 获取窗口索引
+                        parent.layer.close(dialogIndex);
+                        jp.success(data.msg)
+
+                    } else {
+                        jp.error(data.msg);
+                    }
+                })
+            }
+
+        }
+
+    </script>
+</head>
+<body class="bg-white">
+<form:form id="inputForm" modelAttribute="constructionStage" action="${ctx}/filing/constructionStage/save" method="post"
+           class="form-horizontal">
+    <form:hidden path="id"/>
+    <table class="table table-bordered">
+        <tbody>
+        <tr>
+            <td class="width-15 active"><label class="pull-right">项目编码:</label></td>
+            <td class="width-35">
+                <form:input path="projectCode" readonly="true" htmlEscape="false" class="form-control"/>
+            </td>
+            <td class="width-15 active"><label class="pull-right">单体编码:</label></td>
+            <td class="width-35">
+                <form:input path="monomerCode" readonly="true" htmlEscape="false" class="form-control"/>
+            </td>
+        </tr>
+        <tr>
+            <td class="width-15 active"><label class="pull-right">项目名称:</label></td>
+            <td class="width-35">
+                <form:input path="entryName" readonly="true" htmlEscape="false" class="form-control"/>
+            </td>
+            <td class="width-15 active"><label class="pull-right">开工日期:</label></td>
+            <td class="width-35">
+                <div class='input-group form_datetime' id='initialDesignDate'>
+                    <input type='text' name="initialDesignDate" class="form-control"
+                           value="<fmt:formatDate value="${constructionStage.compDate}" pattern="yyyy-MM-dd"/>"/>
+                    <span class="input-group-addon">
+                          <span class="glyphicon glyphicon-calendar"></span>
+                    </span>
+                </div>
+            </td>
+        </tr>
+        <tr>
+            <td class="width-15 active"><label class="pull-right">开工报告:</label></td>
+            <td class="width-35">
+                <sys:fileUpload path="compDate" value="${constructionStage.compDate}" type="*" uploadPath="/photo"
+                                readonly="false"/>
+            </td>
+            <td class="width-15 active"><label class="pull-right">竣工日期:</label></td>
+            <td class="width-35">
+                <div class='input-group form_datetime' id='compDate'>
+                    <input type='text' name="compDate" class="form-control"
+                           value="<fmt:formatDate value="${constructionStage.compDate}" pattern="yyyy-MM-dd"/>"/>
+                    <span class="input-group-addon">
+                            <span class="glyphicon glyphicon-calendar"></span>
+                    </span>
+                </div>
+            </td>
+        </tr>
+        </tbody>
+    </table>
+    </div>
+</form:form>
+</body>
+</html>

+ 362 - 0
src/main/webapp/webpage/modules/filing/constructionStage/constructionStageList.js

@@ -0,0 +1,362 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script>
+$(document).ready(function() {
+	$('#basicTable').bootstrapTable({
+		  //请求方法
+               method: 'post',
+               //类型json
+               dataType: "json",
+               contentType: "application/x-www-form-urlencoded",
+               //显示检索按钮
+	       showSearch: true,
+               //显示刷新按钮
+               showRefresh: true,
+               //显示切换手机试图按钮
+               showToggle: true,
+               //显示 内容列下拉框
+    	       showColumns: true,
+    	       //显示到处按钮
+    	       showExport: true,
+    	       //显示切换分页按钮
+    	       showPaginationSwitch: true,
+    	       //显示详情按钮
+    	       detailView: true,
+    	       	//显示详细内容函数
+	           // detailFormatter: "detailFormatter",
+    	       //最低显示2行
+    	       minimumCountColumns: 2,
+               //是否显示行间隔色
+               striped: true,
+               //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+               cache: false,
+               //是否显示分页(*)
+               pagination: true,
+                //排序方式
+               sortOrder: "asc",
+               //初始化加载第一页,默认第一页
+               pageNumber:1,
+               //每页的记录行数(*)
+               pageSize: 10,
+               //可供选择的每页的行数(*)
+               pageList: [10, 25, 50, 100],
+               //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+               url: "${ctx}/filing/constructionStage/data",
+               //默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+               //queryParamsType:'',
+               ////查询参数,每次调用是会带上这个参数,可自定义
+               queryParams : function(params) {
+               	var searchParam = $("#searchForm").serializeJSON();
+               	searchParam.pageNo = params.limit === undefined? "1" :params.offset/params.limit+1;
+               	searchParam.pageSize = params.limit === undefined? -1 : params.limit;
+               	searchParam.orderBy = params.sort === undefined? "" : params.sort+ " "+  params.order;
+                   return searchParam;
+               },
+               //分页方式:client客户端分页,server服务端分页(*)
+               sidePagination: "server",
+               contextMenuTrigger:"right",//pc端 按右键弹出菜单
+               contextMenuTriggerMobile:"press",//手机端 弹出菜单,click:单击, press:长按。
+               contextMenu: '#context-menu',
+               onContextMenuItem: function(row, $el){
+                   if($el.data("item") == "edit"){
+                   		edit(row.id);
+                   }else if($el.data("item") == "view"){
+                       view(row.id);
+                   } else if($el.data("item") == "delete"){
+                        jp.confirm('确认要删除该工程建设阶段记录吗?', function(){
+                       	jp.loading();
+                       	jp.get("${ctx}/filing/constructionStage/delete?id="+row.id, function(data){
+                   	  		if(data.success){
+                   	  			$('#basicTable').bootstrapTable('refresh');
+                   	  			jp.success(data.msg);
+                   	  		}else{
+                   	  			jp.error(data.msg);
+                   	  		}
+                   	  	})
+
+                   	});
+
+                   }
+               },
+		/*		onPostBody:function(){
+					window.rowProps = undefined;
+					_table_rowspan("#basicTable" , 1);
+					_table_rowspan("#basicTable" , 2);
+					_table_rowspan("#basicTable" , 3);
+					_table_rowspan("#basicTable" , 4);
+					_table_rowspan("#basicTable" , 5);
+					return true;
+				},*/
+               onClickRow: function(row, $el){
+               },
+               	onShowSearch: function () {
+			$("#search-collapse").slideToggle();
+		},
+               columns: [{
+		        checkbox: true
+
+		    }
+			,{
+		        field: 'projectCode',
+		        title: '项目编码',
+			    width: 100,
+		        sortable: true,
+		        sortName: 'projectCode'
+		        ,formatter:function(value, row , index){
+			   if(value == null || value ==""){
+				   value = "-";
+			   }
+			   <c:choose>
+				   <c:when test="${fns:hasPermission('test:filing:constructionStage:edit')}">
+				      return "<a href='javascript:edit(\""+row.id+"\")'>"+value+"</a>";
+			      </c:when>
+				  <c:when test="${fns:hasPermission('test:filing:constructionStage:view')}">
+				      return "<a href='javascript:view(\""+row.id+"\")'>"+value+"</a>";
+			      </c:when>
+				  <c:otherwise>
+				      return value;
+			      </c:otherwise>
+			   </c:choose>
+
+		        }
+		    }
+			,{
+		        field: 'monomerCode',
+		        title: '单体编码',
+		        sortable: true,
+			   width: 100,
+		        sortName: 'monomerCode'
+
+		    }
+			,{
+		        field: 'entryName',
+		        title: '项目名称',
+			   width: 100,
+		        sortable: true,
+		        sortName: 'entryName'
+
+		    }
+			,{
+		        field: 'preDesignNo',
+		        title: '初设批复文号',
+			   width: 100,
+		        sortable: true,
+		        sortName: 'preDesignNo'
+		    }
+			, {
+					   field: 'initialDesignDate',
+					   title: '初设批复日期',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'initialDesignDate'
+
+				   }
+		     ],
+		onExpandRow: function (index, row, $detail) {
+			initSubTable(index, row, $detail);
+		}
+		});
+
+	//初始化子表格(无线循环)
+	initSubTable = function (index, row, $detail) {
+		var parentid = row.projectCode;
+		var cur_table = $detail.html('<table></table>').find('table');
+		$(cur_table).bootstrapTable({
+			url: '${ctx}/filing/constructionStage/detail',
+			method: 'post',
+			//类型json
+			dataType: "json",
+			contentType: "application/x-www-form-urlencoded",
+			queryParams : function(params) {
+				var searchParam = $("#searchForm").serializeJSON();
+				searchParam.pageNo = params.limit === undefined? "1" :params.offset/params.limit+1;
+				searchParam.pageSize = params.limit === undefined? -1 : params.limit;
+				searchParam.orderBy = params.sort === undefined? "" : params.sort+ " "+  params.order;
+				searchParam.projectCode = parentid;
+				return searchParam;
+			},
+			striped: true, //是否显示行间隔色
+			pagination: false,//显示分页
+			sidePagination: "server",
+			pageNumber:1,
+			pageSize: 10,
+			pageList: [10, 25],
+			columns: [{
+				width: 65
+			},{
+				field: 'projectCode',
+				title: '',
+				width: 100
+				,formatter:function(value, row , index){
+					if(value == null || value ==""){
+						value = "-";
+					}
+				<c:choose>
+					<c:when test="${fns:hasPermission('test:filing:constructionStage:edit')}">
+					return "<a href='javascript:edit(\""+row.id+"\")'>"+value+"</a>";
+				</c:when>
+					<c:otherwise>
+					return value;
+				</c:otherwise>
+					</c:choose>
+				}
+			}, {
+				field: 'monomerCode',
+				title: '',
+				width: 100
+			}, {
+				field: 'entryName',
+				title: '',
+				width: 100,
+			},{
+				field: 'preDesignNo',
+				title: '',
+				width: 100,
+			}
+				,{
+					field: 'initialDesignDate',
+					title: '',
+					width: 100,
+				}
+				]
+		});
+	};
+
+		  
+	  if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端
+
+		 
+		  $('#basicTable').bootstrapTable("toggleView");
+		}
+	  
+	  $('#basicTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+                'check-all.bs.table uncheck-all.bs.table', function () {
+            $('#remove').prop('disabled', ! $('#basicTable').bootstrapTable('getSelections').length);
+            $('#view,#edit').prop('disabled', $('#basicTable').bootstrapTable('getSelections').length!=1);
+        });
+		  
+		$("#btnImport").click(function(){
+			jp.open({
+			    type: 2,
+                area: [500, 200],
+                auto: true,
+			    title:"导入数据",
+			    content: "${ctx}/tag/importExcel" ,
+			    btn: ['下载模板','确定', '关闭'],
+				btn1: function(index, layero){
+					  jp.downloadFile('${ctx}/filing/constructionStage/import/template');
+				  },
+			    btn2: function(index, layero){
+						var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+						iframeWin.contentWindow.importExcel('${ctx}/filing/constructionStage/import', function (data) {
+							if(data.success){
+								jp.success(data.msg);
+								refresh();
+							}else{
+								jp.error(data.msg);
+							}
+                            jp.close(index);
+                        });//调用保存事件
+                    return false;
+				  },
+				 
+				  btn3: function(index){ 
+					  jp.close(index);
+	    	       }
+			}); 
+		});
+	  $("#export").click(function(){//导出Excel文件
+			jp.downloadFile('${ctx}/filing/constructionStage/export');
+	  });
+
+	$("#exportFiles").bind("click", function () {
+		$("#searchForm").attr("action","${ctx}/filing/filingImages/exportDesignStage?ids="+ getIdSelections());
+		$("#searchForm").submit();
+		return true;
+	});
+
+	/*$("#exportFiles").click(function(){//导出Excel文件
+		jp.downloadFile('${ctx}/filing/constructionStage/exportFiles?ids=' + getIdSelections());
+	});*/
+
+	  $("#search").click("click", function() {// 绑定查询按扭
+		  $('#basicTable').bootstrapTable('refresh');
+		});
+
+	  $("#open").click(function () {
+		  $("#basicTable").bootstrapTable('expandAllRows');
+	  })
+
+		$("#close").click(function (row) {
+			$('#basicTable').bootstrapTable('refresh');
+		})
+
+	 $("#reset").click("click", function() {// 绑定查询按扭
+		  $("#searchForm  input").val("");
+		  $("#searchForm  select").val("");
+		   $("#searchForm  .select-item").html("");
+		  $('#basicTable').bootstrapTable('refresh');
+		});
+		
+				$('#beginInDate').datetimepicker({
+					 format: "YYYY-MM-DD HH:mm:ss"
+				});
+				$('#endInDate').datetimepicker({
+					 format: "YYYY-MM-DD HH:mm:ss"
+				});
+		
+	});
+		
+  function getIdSelections() {
+        return $.map($("#basicTable").bootstrapTable('getSelections'), function (row) {
+            return row.id
+        });
+    }
+  
+  function deleteAll(){
+
+		jp.confirm('确认要删除该工程建设阶段记录吗?', function(){
+			jp.loading();  	
+			jp.get("${ctx}/filing/constructionStage/deleteAll?ids=" + getIdSelections(), function(data){
+         	  		if(data.success){
+         	  			$('#basicTable').bootstrapTable('refresh');
+         	  			jp.success(data.msg);
+         	  		}else{
+         	  			jp.error(data.msg);
+         	  		}
+         	  	})
+          	   
+		})
+  }
+  
+    //刷新列表
+  function refresh() {
+      $('#basicTable').bootstrapTable('refresh');
+  }
+  function add(){
+	  jp.openSaveDialog('新增工程建设阶段', "${ctx}/filing/constructionStage/form",'1000px', '800px');
+  }
+  
+   function edit(id){//没有权限时,不显示确定按钮
+       if(id == undefined){
+	      id = getIdSelections();
+	}
+	jp.openSaveDialog('编辑工程建设阶段', "${ctx}/filing/constructionStage/form?id=" + id, '800px', '500px');
+  }
+
+ function view(id){//没有权限时,不显示确定按钮
+      if(id == undefined){
+             id = getIdSelections();
+      }
+        jp.openViewDialog('查看工程建设阶段', "${ctx}/filing/constructionStage/form?id=" + id, '800px', '500px');
+ }
+
+
+	function addRow(list, idx, tpl, row){
+		$(list).append(Mustache.render(tpl, {
+			idx: idx, delBtn: true, row: row
+		}));
+	}
+			
+</script>
+
+

+ 87 - 0
src/main/webapp/webpage/modules/filing/constructionStage/constructionStageList.jsp

@@ -0,0 +1,87 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp" %>
+<html>
+<head>
+    <title>工程建设阶段</title>
+    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
+    <meta name="decorator" content="ani"/>
+    <%@ include file="/webpage/include/bootstraptable.jsp" %>
+    <%@include file="/webpage/include/treeview.jsp" %>
+    <%@include file="constructionStageList.js" %>
+    <style type="text/css">
+        table {
+            table-layout: fixed;
+            word-break: break-all;
+            word-wrap: break-word;
+            text-align: center;
+        }
+
+        .table th, .table td {
+            text-align: center;
+            vertical-align: middle !important;
+        }
+    </style>
+</head>
+<body>
+<div class="wrapper wrapper-content">
+    <div class="panel panel-primary">
+        <div class="panel-heading">
+            <h3 class="panel-title">工程建设阶段</h3>
+        </div>
+        <div class="panel-body">
+            <!-- 搜索 -->
+            <div id="search-collapse" class="collapse">
+                <div class="accordion-inner">
+                    <form:form id="searchForm" modelAttribute="constructionStage"
+                               class="form form-horizontal well clearfix">
+                        <div class="col-xs-12 col-sm-6 col-md-4">
+                            <label class="label-item single-overflow pull-left" title="项目编码:">项目编码:</label>
+                            <form:input path="projectCode" htmlEscape="false" maxlength="257"  class=" form-control"/>
+                        </div>
+                        <div class="col-xs-12 col-sm-6 col-md-4">
+                            <div style="margin-top:26px">
+                                <a id="search" class="btn btn-primary btn-rounded  btn-bordered btn-sm"><i
+                                        class="fa fa-search"></i> 查询</a>
+                                <a id="reset" class="btn btn-primary btn-rounded  btn-bordered btn-sm"><i
+                                        class="fa fa-refresh"></i> 重置</a>
+                            </div>
+                        </div>
+                    </form:form>
+                </div>
+            </div>
+
+            <!-- 工具栏 -->
+            <div id="toolbar">
+                <button id="open" class="btn btn-primary" >
+                    <i class="glyphicon glyphicon-list"></i> 全部展开
+                </button>
+                <button id="close" class="btn btn-primary">
+                    <i class="glyphicon glyphicon-minus"></i> 全部折叠
+                </button>
+                <shiro:hasPermission name="test:filing:constructionStage:edit">
+                    <button id="edit" class="btn btn-success" disabled onclick="edit()">
+                        <i class="glyphicon glyphicon-edit"></i> 修改
+                    </button>
+                </shiro:hasPermission>
+                <shiro:hasPermission name="test:filing:constructionStage:import">
+                    <button id="btnImport" class="btn btn-info"><i class="fa fa-folder-open-o"></i> 导入</button>
+                </shiro:hasPermission>
+                <shiro:hasPermission name="test:filing:constructionStage:export">
+                    <button id="export" class="btn btn-warning">
+                        <i class="fa fa-file-excel-o"></i> 导出
+                    </button>
+                </shiro:hasPermission>
+                <shiro:hasPermission name="test:filing:constructionStage:export">
+                <button id="exportFiles" class="btn btn-warning">
+                    <i class="fa fa-file-excel-o"></i> 导出附件
+                </button>
+                </shiro:hasPermission>
+            </div>
+
+            <!-- 表格 -->
+            <table id="basicTable" data-toolbar="#toolbar" style="table-layout: fixed;word-break:break-all;"></table>
+        </div>
+    </div>
+</div>
+</body>
+</html>

+ 17 - 22
src/main/webapp/webpage/modules/filing/designStage/designStageList.js

@@ -98,7 +98,7 @@ $(document).ready(function() {
 			,{
 		        field: 'projectCode',
 		        title: '项目编码',
-			    width: '100px',
+			    width: 100,
 		        sortable: true,
 		        sortName: 'projectCode'
 		        ,formatter:function(value, row , index){
@@ -123,14 +123,14 @@ $(document).ready(function() {
 		        field: 'monomerCode',
 		        title: '单体编码',
 		        sortable: true,
-			   width: '100px',
+			   width: 100,
 		        sortName: 'monomerCode'
 
 		    }
 			,{
 		        field: 'entryName',
 		        title: '项目名称',
-					   width: '100px',
+			   width: 100,
 		        sortable: true,
 		        sortName: 'entryName'
 
@@ -138,14 +138,14 @@ $(document).ready(function() {
 			,{
 		        field: 'preDesignNo',
 		        title: '初设批复文号',
-					   width: '100px',
+			   width: 100,
 		        sortable: true,
 		        sortName: 'preDesignNo'
 		    }
 			, {
 					   field: 'initialDesignDate',
 					   title: '初设批复日期',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'initialDesignDate'
 
@@ -181,11 +181,11 @@ $(document).ready(function() {
 			pageSize: 10,
 			pageList: [10, 25],
 			columns: [{
+				width: 65
+			},{
 				field: 'projectCode',
-				title: '项目编码',
-				width: '100px',
-				sortable: true,
-				sortName: 'projectCode'
+				title: '',
+				width: 100
 				,formatter:function(value, row , index){
 					if(value == null || value ==""){
 						value = "-";
@@ -201,26 +201,21 @@ $(document).ready(function() {
 				}
 			}, {
 				field: 'monomerCode',
-				title: '单体编码',
-				width: '100px'
+				title: '',
+				width: 100
 			}, {
 				field: 'entryName',
-				title: '项目名称',
-				width: '100px',
+				title: '',
+				width: 100,
 			},{
 				field: 'preDesignNo',
-				title: '初设批复文号',
-				width: '100px',
-				sortable: true,
-				sortName: 'preDesignNo'
+				title: '',
+				width: 100,
 			}
 				,{
 					field: 'initialDesignDate',
-					title: '初设批复日期',
-					width: '100px',
-					sortable: true,
-					sortName: 'initialDesignDate'
-
+					title: '',
+					width: 100,
 				}
 				]
 		});

+ 4 - 4
src/main/webapp/webpage/modules/filing/designStage/designStageList.jsp

@@ -2,14 +2,14 @@
 <%@ include file="/webpage/include/taglib.jsp" %>
 <html>
 <head>
-    <title>票务代理管理</title>
+    <title>初设管理</title>
     <meta http-equiv="Content-type" content="text/html; charset=utf-8">
     <meta name="decorator" content="ani"/>
     <%@ include file="/webpage/include/bootstraptable.jsp" %>
     <%@include file="/webpage/include/treeview.jsp" %>
     <%@include file="designStageList.js" %>
     <style type="text/css">
-        .table {
+        table {
             table-layout: fixed;
             word-break: break-all;
             word-wrap: break-word;
@@ -26,7 +26,7 @@
 <div class="wrapper wrapper-content">
     <div class="panel panel-primary">
         <div class="panel-heading">
-            <h3 class="panel-title">基础信息列表</h3>
+            <h3 class="panel-title">初设列表</h3>
         </div>
         <div class="panel-body">
             <!-- 搜索 -->
@@ -79,7 +79,7 @@
             </div>
 
             <!-- 表格 -->
-            <table id="basicTable" data-toolbar="#toolbar"></table>
+            <table id="basicTable" data-toolbar="#toolbar" style="table-layout: fixed;word-break:break-all;"></table>
         </div>
     </div>
 </div>

+ 795 - 0
src/main/webapp/webpage/modules/filing/earlyEngineering/earlyEngineeringForm.jsp

@@ -0,0 +1,795 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>核准阶段管理</title>
+	<meta name="decorator" content="ani"/>
+	<%@ include file="/webpage/include/bootstraptable.jsp" %>
+	<style type="text/css">
+		/* 下边两行是去掉input 输入框右边的上下箭头按钮*/
+		.deal::-webkit-inner-spin-button {
+			-webkit-appearance: none !important;
+		}
+		.deal::-webkit-outer-spin-button {
+			-webkit-appearance: none !important;
+		}
+		input[type="number"]{
+			-moz-appearance:textfield;
+		}
+	</style>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+	        $('#initialDesignDate').datetimepicker({
+				 format: "YYYY-MM-DD"
+		    });
+			$('#landDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#eiaDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#acceptanceDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#replyDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#soilDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#depositDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#recordDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#siteProposalDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#planningDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#usePlanDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#requisitonDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#conLandDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#transferDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#certificateDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#permitDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#fireProdate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#fireAccDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+			$('#estateDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+		});
+
+		function save() {
+            var isValidate = jp.validateForm('#inputForm');//校验表单
+            if(!isValidate){
+                return false;
+			}else{
+                jp.loading();
+                jp.post("${ctx}/filing/earlyEngineering/save",$('#inputForm').serialize(),function(data){
+                    if(data.success){
+                        jp.getParent().refresh();
+                        var dialogIndex = parent.layer.getFrameIndex(window.name); // 获取窗口索引
+                        parent.layer.close(dialogIndex);
+                        jp.success(data.msg)
+
+                    }else{
+                        jp.error(data.msg);
+                    }
+                })
+			}
+
+        }
+		function noFue(val){
+			document.getElementById('batchOverview').value = val >= 0 ? val : 0;
+		}
+
+		function noFue2(val){
+			document.getElementById('batchStatistics').value = val >= 0 ? val : 0;
+		}
+
+		function noFue3(val){
+			document.getElementById('estimateCode').value = val >= 0 ? val : 0;
+		}
+
+		function noFue4(val){
+			document.getElementById('designCost').value = val >= 0 ? val : 0;
+		}
+
+		function noFue5(val){
+			document.getElementById('supervisionFeeCode').value = val >= 0 ? val : 0;
+		}
+
+		function noFue6(val){
+			document.getElementById('managementFeeCode').value = val >= 0 ? val : 0;
+		}
+
+		function noFue7(val){
+			document.getElementById('dataCode').value = val >= 0 ? val : 0;
+		}
+	</script>
+</head>
+<body class="bg-white">
+		<form:form id="inputForm" modelAttribute="earlyEngineering" action="${ctx}/filing/earlyEngineering/save" method="post" class="form-horizontal">
+		<form:hidden path="id"/>
+		<table class="table table-bordered">
+		   <tbody>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">项目编码:</label></td>
+					<td class="width-35">
+						<form:input path="projectCode" readonly="true" htmlEscape="false"  class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class="pull-right">单体编码:</label></td>
+					<td class="width-35">
+						<form:input path="monomerCode" readonly="true" htmlEscape="false"  class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">项目名称:</label></td>
+					<td class="width-35">
+						<form:input path="entryName" readonly="true" htmlEscape="false" class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class="pull-right">初设批复文号:</label></td>
+					<td class="width-35">
+						<form:input path="preDesignNo" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">初设批复日期:</label></td>
+					<td class="width-35">
+						<div class='input-group form_datetime' id='initialDesignDate'>
+							<input type='text'  name="initialDesignDate" class="form-control"  value="<fmt:formatDate value="${earlyEngineering.initialDesignDate}" pattern="yyyy-MM-dd"/>"/>
+							<span class="input-group-addon">
+			                        <span class="glyphicon glyphicon-calendar"></span>
+			                    </span>
+						</div>
+					</td>
+					</td>
+					<td class="width-15 active"><label class="pull-right">初设附件:</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="preDesignAnnex"  value="${earlyEngineering.preDesignAnnex}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+		  		</tr>
+				<tr>
+
+					<td class="width-15 active"><label class="pull-right">批概动态:</label></td>
+					<td class="width-35">
+						<form:input type="number" onblur="noFue(this.value)" path="batchOverview" htmlEscape="false" rows="4" class="form-control"/>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">批概静态:</label></td>
+					<td class="width-35">
+						<form:input type="number" onblur="noFue2(this.value)" path="batchStatistics" htmlEscape="false" rows="4" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					</td>
+					<td class="width-15 active"><label class="pull-right">批概场地清理费/相应的WBS编码:</label></td>
+					<td class="width-35">
+						<form:input type="number" onblur="noFue3(this.value)" path="estimateCode" htmlEscape="false" rows="4" class="form-control"/>
+					</td>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">设计费批概相应的/相应的WBS编码WBS编码:</label></td>
+					<td class="width-35">
+						<form:input type="number" onblur="noFue4(this.value)" path="designCost" htmlEscape="false" rows="4" class="form-control"/>
+					</td>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">监理费批概/相应的WBS编码:</label></td>
+					<td class="width-35">
+						<form:input type="number" onblur="noFue5(this.value)" path="supervisionFeeCode" htmlEscape="false" rows="4" class="form-control"/>
+					</td>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">批概法人管理费/相应的WBS编码:</label></td>
+					<td class="width-35">
+						<form:input type="number" onblur="noFue6(this.value)" path="managementFeeCode" htmlEscape="false" rows="4" class="form-control"/>
+					</td>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">其他概算中需要的数据/相应的WBS编码:</label></td>
+					<td class="width-35">
+						<form:input type="number" onblur="noFue7(this.value)" path="dataCode" htmlEscape="false" rows="4" class="form-control"/>
+					</td>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">三个项目部关键人员信息</label></td>
+					<td class="width-35">
+						<form:input path="threeDepartment" htmlEscape="false" class="form-control"/>
+					</td>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">监理合同</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="inspectionControl"  value="${earlyEngineering.inspectionControl}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">施工中标通知书</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="letterAcceptance"  value="${earlyEngineering.letterAcceptance}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">施工合同</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="conContract"  value="${earlyEngineering.conContract}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+					<td class="width-15 active"><label class="pull-right">其他合同</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="otherContracts"  value="${earlyEngineering.otherContracts}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">用地预审意见(变电站) 文号</label></td>
+					<td class="width-35">
+						<form:input path="landNo"   htmlEscape="false" class="form-control"/>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">用地预审意见(变电站) 日期:</label></td>
+					<td class="width-35">
+						<div class='input-group form_datetime' id='landDate'>
+							<input type='text'  name="landDate" class="form-control"  value="<fmt:formatDate value="${earlyEngineering.landDate}" pattern="yyyy-MM-dd"/>"/>
+							<span class="input-group-addon">
+			                        <span class="glyphicon glyphicon-calendar"></span>
+			                    </span>
+						</div>
+					</td>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">用地预审意见(变电站) 附件</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="landAnnex"  value="${earlyEngineering.landAnnex}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">环评批复(变电站、线路) 文号</label></td>
+					<td class="width-35">
+						<form:input path="eiaNo"   htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">环评批复(变电站、线路) 日期</label></td>
+					<td class="width-35">
+						<div class='input-group form_datetime' id='eiaDate'>
+							<input type='text'  name="eiaDate" class="form-control"  value="<fmt:formatDate value="${earlyEngineering.eiaDate}" pattern="yyyy-MM-dd"/>"/>
+							<span class="input-group-addon">
+			                        <span class="glyphicon glyphicon-calendar"></span>
+			                    </span>
+						</div>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">环评批复(变电站、线路) 附件</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="eiaAnnex"  value="${earlyEngineering.eiaAnnex}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">环评验收文号及日期 文号</label></td>
+					<td class="width-35">
+						<form:input path="acceptanceNo"   htmlEscape="false" class="form-control"/>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">环评验收文号及日期 日期</label></td>
+					<td class="width-35">
+						<div class='input-group form_datetime' id='acceptanceDate'>
+							<input type='text'  name="acceptanceDate" class="form-control"  value="<fmt:formatDate value="${earlyEngineering.acceptanceDate}" pattern="yyyy-MM-dd"/>"/>
+							<span class="input-group-addon">
+			                        <span class="glyphicon glyphicon-calendar"></span>
+			                    </span>
+						</div>
+					</td>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">环评验收文号及日期 附件</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="acceptanceAnnex"  value="${earlyEngineering.acceptanceAnnex}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">水保批复(变电站、线路) 文号</label></td>
+					<td class="width-35">
+						<form:input path="replyNo"   htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">水保批复(变电站、线路) 日期</label></td>
+					<td class="width-35">
+						<div class='input-group form_datetime' id='replyDate'>
+							<input type='text'  name="replyDate" class="form-control"  value="<fmt:formatDate value="${earlyEngineering.replyDate}" pattern="yyyy-MM-dd"/>"/>
+							<span class="input-group-addon">
+			                        <span class="glyphicon glyphicon-calendar"></span>
+			                    </span>
+						</div>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">水保批复(变电站、线路) 附件</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="replyAnnex"  value="${earlyEngineering.replyAnnex}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">水保验收文号及日期 文号</label></td>
+					<td class="width-35">
+						<form:input path="soilNo"   htmlEscape="false" class="form-control"/>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">水保验收文号及日期 日期</label></td>
+					<td class="width-35">
+						<div class='input-group form_datetime' id='soilDate'>
+							<input type='text'  name="soilDate" class="form-control"  value="<fmt:formatDate value="${earlyEngineering.soilDate}" pattern="yyyy-MM-dd"/>"/>
+							<span class="input-group-addon">
+			                        <span class="glyphicon glyphicon-calendar"></span>
+			                    </span>
+						</div>
+					</td>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">水保验收文号及日期 附件</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="soilannex"  value="${earlyEngineering.soilannex}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">压覆矿藏复函(变电站) 文号</label></td>
+					<td class="width-35">
+						<form:input path="depositNo"   htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">压覆矿藏复函(变电站) 日期</label></td>
+					<td class="width-35">
+						<div class='input-group form_datetime' id='depositDate'>
+							<input type='text'  name="depositDate" class="form-control"  value="<fmt:formatDate value="${earlyEngineering.depositDate}" pattern="yyyy-MM-dd"/>"/>
+							<span class="input-group-addon">
+			                        <span class="glyphicon glyphicon-calendar"></span>
+			                    </span>
+						</div>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">压覆矿藏复函(变电站) 附件</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="depositAnnex"  value="${earlyEngineering.depositAnnex}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">地灾评估备案表(变电站) 文号</label></td>
+					<td class="width-35">
+						<form:input path="recordNo"   htmlEscape="false" class="form-control"/>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">地灾评估备案表(变电站) 日期</label></td>
+					<td class="width-35">
+						<div class='input-group form_datetime' id='recordDate'>
+							<input type='text'  name="recordDate" class="form-control"  value="<fmt:formatDate value="${earlyEngineering.recordDate}" pattern="yyyy-MM-dd"/>"/>
+							<span class="input-group-addon">
+			                        <span class="glyphicon glyphicon-calendar"></span>
+			                    </span>
+						</div>
+					</td>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">地灾评估备案表(变电站) 附件</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="recordAnnex"  value="${earlyEngineering.recordAnnex}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">选址意见书(变电站) 文号</label></td>
+					<td class="width-35">
+						<form:input path="siteProposalNo"   htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">选址意见书(变电站) 日期</label></td>
+					<td class="width-35">
+						<div class='input-group form_datetime' id='siteProposalDate'>
+							<input type='text'  name="siteProposalDate" class="form-control"  value="<fmt:formatDate value="${earlyEngineering.siteProposalDate}" pattern="yyyy-MM-dd"/>"/>
+							<span class="input-group-addon">
+			                        <span class="glyphicon glyphicon-calendar"></span>
+			                    </span>
+						</div>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">选址意见书(变电站) 附件</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="siteProposalAnnex"  value="${earlyEngineering.siteProposalAnnex}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">线路路径规划意见 文号</label></td>
+					<td class="width-35">
+						<form:input path="planningNo"   htmlEscape="false" class="form-control"/>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">线路路径规划意见 日期</label></td>
+					<td class="width-35">
+						<div class='input-group form_datetime' id='planningDate'>
+							<input type='text'  name="planningDate" class="form-control"  value="<fmt:formatDate value="${earlyEngineering.planningDate}" pattern="yyyy-MM-dd"/>"/>
+							<span class="input-group-addon">
+			                        <span class="glyphicon glyphicon-calendar"></span>
+			                    </span>
+						</div>
+					</td>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">线路路径规划意见 附件</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="planningAnnex"  value="${earlyEngineering.planningAnnex}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">用地规划许可证 文号</label></td>
+					<td class="width-35">
+						<form:input path="usePlanNo"   htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">用地规划许可证 日期</label></td>
+					<td class="width-35">
+						<div class='input-group form_datetime' id='usePlanDate'>
+							<input type='text'  name="usePlanDate" class="form-control"  value="<fmt:formatDate value="${earlyEngineering.usePlanDate}" pattern="yyyy-MM-dd"/>"/>
+							<span class="input-group-addon">
+			                        <span class="glyphicon glyphicon-calendar"></span>
+			                    </span>
+						</div>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">用地规划许可证 附件</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="usePlanAnnex"  value="${earlyEngineering.usePlanAnnex}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">征地补偿批复 文号</label></td>
+					<td class="width-35">
+						<form:input path="requisitonNo"   htmlEscape="false" class="form-control"/>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">征地补偿批复 日期</label></td>
+					<td class="width-35">
+						<div class='input-group form_datetime' id='requisitonDate'>
+							<input type='text'  name="requisitonDate" class="form-control"  value="<fmt:formatDate value="${earlyEngineering.requisitonDate}" pattern="yyyy-MM-dd"/>"/>
+							<span class="input-group-addon">
+			                        <span class="glyphicon glyphicon-calendar"></span>
+			                    </span>
+						</div>
+					</td>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">征地补偿批复 附件</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="requisitonAnnex"  value="${earlyEngineering.requisitonAnnex}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">建设用地批准书 文号</label></td>
+					<td class="width-35">
+						<form:input path="conLandNo"   htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">建设用地批准书 日期</label></td>
+					<td class="width-35">
+						<div class='input-group form_datetime' id='conLandDate'>
+							<input type='text'  name="conLandDate" class="form-control"  value="<fmt:formatDate value="${earlyEngineering.conLandDate}" pattern="yyyy-MM-dd"/>"/>
+							<span class="input-group-addon">
+			                        <span class="glyphicon glyphicon-calendar"></span>
+			                    </span>
+						</div>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">建设用地批准书 附件</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="conLandAnnex"  value="${earlyEngineering.conLandAnnex}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">划拨决定书 文号</label></td>
+					<td class="width-35">
+						<form:input path="transferNo"   htmlEscape="false" class="form-control"/>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">划拨决定书 日期</label></td>
+					<td class="width-35">
+						<div class='input-group form_datetime' id='transferDate'>
+							<input type='text'  name="transferDate" class="form-control"  value="<fmt:formatDate value="${earlyEngineering.transferDate}" pattern="yyyy-MM-dd"/>"/>
+							<span class="input-group-addon">
+			                        <span class="glyphicon glyphicon-calendar"></span>
+			                    </span>
+						</div>
+					</td>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">划拨决定书 附件</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="transferAnnex"  value="${earlyEngineering.transferAnnex}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">土地证(变电站) 文号</label></td>
+					<td class="width-35">
+						<form:input path="certificateNo"   htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">土地证(变电站) 日期</label></td>
+					<td class="width-35">
+						<div class='input-group form_datetime' id='certificateDate'>
+							<input type='text'  name="certificateDate" class="form-control"  value="<fmt:formatDate value="${earlyEngineering.certificateDate}" pattern="yyyy-MM-dd"/>"/>
+							<span class="input-group-addon">
+			                        <span class="glyphicon glyphicon-calendar"></span>
+			                    </span>
+						</div>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">土地证(变电站) 附件</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="certificateAnnex"  value="${earlyEngineering.certificateAnnex}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">建设工程规划许可证(变电站) 文号</label></td>
+					<td class="width-35">
+						<form:input path="permitNo"   htmlEscape="false" class="form-control"/>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">建设工程规划许可证(变电站) 日期</label></td>
+					<td class="width-35">
+						<div class='input-group form_datetime' id='permitDate'>
+							<input type='text'  name="permitDate" class="form-control"  value="<fmt:formatDate value="${earlyEngineering.permitDate}" pattern="yyyy-MM-dd"/>"/>
+							<span class="input-group-addon">
+			                        <span class="glyphicon glyphicon-calendar"></span>
+			                    </span>
+						</div>
+					</td>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">建设工程规划许可证(变电站) 附件</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="permitAnnex"  value="${earlyEngineering.permitAnnex}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">消防设计审查/备案意见(变电站) 文号</label></td>
+					<td class="width-35">
+						<form:input path="fireProNo"   htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">消防设计审查/备案意见(变电站) 日期</label></td>
+					<td class="width-35">
+						<div class='input-group form_datetime' id='fireProdate'>
+							<input type='text'  name="fireProdate" class="form-control"  value="<fmt:formatDate value="${earlyEngineering.fireProdate}" pattern="yyyy-MM-dd"/>"/>
+							<span class="input-group-addon">
+			                        <span class="glyphicon glyphicon-calendar"></span>
+			                    </span>
+						</div>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">消防设计审查/备案意见(变电站) 附件</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="fireProAnnex"  value="${earlyEngineering.fireProAnnex}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">消防验收/备案意见(变电站) 文号</label></td>
+					<td class="width-35">
+						<form:input path="fireAccNo"   htmlEscape="false" class="form-control"/>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">消防验收/备案意见(变电站) 日期</label></td>
+					<td class="width-35">
+						<div class='input-group form_datetime' id='fireAccDate'>
+							<input type='text'  name="fireAccDate" class="form-control"  value="<fmt:formatDate value="${earlyEngineering.fireAccDate}" pattern="yyyy-MM-dd"/>"/>
+							<span class="input-group-addon">
+			                        <span class="glyphicon glyphicon-calendar"></span>
+			                    </span>
+						</div>
+					</td>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">消防验收/备案意见(变电站) 附件</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="fireAccAnnex"  value="${earlyEngineering.fireAccAnnex}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">不动产权证 文号</label></td>
+					<td class="width-35">
+						<form:input path="estateNo"   htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">不动产权证 日期</label></td>
+					<td class="width-35">
+						<div class='input-group form_datetime' id='estateDate'>
+							<input type='text'  name="estateDate" class="form-control"  value="<fmt:formatDate value="${earlyEngineering.estateDate}" pattern="yyyy-MM-dd"/>"/>
+							<span class="input-group-addon">
+			                        <span class="glyphicon glyphicon-calendar"></span>
+			                    </span>
+						</div>
+					</td>
+					<td class="width-15 active"><label class="pull-right">不动产权证 附件</label></td>
+					<td class="width-35">
+						<sys:fileUpload path="estateAnnex"  value="${earlyEngineering.estateAnnex}" type="*" uploadPath="/photo"  readonly="false"/></td>
+					</td>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">规划总平(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="planningLevel" htmlEscape="false" class="form-control"/>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">勘察定界报告(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="surveyReport" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">征地红线图(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="redLineMap" htmlEscape="false" class="form-control"/>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">用地红线图(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="redLineLand" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">宗地图:</label></td>
+					<td class="width-35">
+						<form:input path="zongMap" htmlEscape="false" class="form-control"/>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">勘察合同备案表(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="recordSurvey" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">设计合同备案表(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="recordDesign" htmlEscape="false" class="form-control"/>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">施工合同备案表(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="recordContract" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">监理合同备案表(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="supervisionRecord" htmlEscape="false" class="form-control"/>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">岩土勘察报告审查合格意见(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="qulifiedOpinions" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">施工图审查合格意见(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="constructionComments" htmlEscape="false" class="form-control"/>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">施工图审查合格证(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="constructionDrawing" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">抗震设防审查证书(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="seismicReview" htmlEscape="false" class="form-control"/>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">规划放线报告(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="planningSetting" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">安监申报书、备案表(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="safetyRecord" htmlEscape="false" class="form-control"/>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">质监申报书、备案表(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="qualityRecord" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">施工许可证:</label></td>
+					<td class="width-35">
+						<form:input path="constructionPermit" htmlEscape="false" class="form-control"/>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">规划竣工测绘现状图及管线、绿化、比较图(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="planBuiltMapping" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">质监竣工验收意见(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="qualityAcceptance" htmlEscape="false" class="form-control"/>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">城建档案接收合格证明(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="urbanArchives" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">竣工备案表(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="completionRecord" htmlEscape="false" class="form-control"/>
+					</td>
+
+					<td class="width-15 active"><label class="pull-right">房产测绘报告:</label></td>
+					<td class="width-35">
+						<form:input path="realEstate" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">宗地复测报告:</label></td>
+					<td class="width-35">
+						<form:input path="reportOnLang" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+		 	</tbody>
+		</table>
+		</div>
+		</form:form>
+</body>
+</html>

+ 993 - 0
src/main/webapp/webpage/modules/filing/earlyEngineering/earlyEngineeringList.js

@@ -0,0 +1,993 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script>
+$(document).ready(function() {
+	$('#basicTable').bootstrapTable({
+		  //请求方法
+               method: 'post',
+               //类型json
+               dataType: "json",
+               contentType: "application/x-www-form-urlencoded",
+               //显示检索按钮
+	       showSearch: true,
+               //显示刷新按钮
+               showRefresh: true,
+               //显示切换手机试图按钮
+               showToggle: true,
+               //显示 内容列下拉框
+    	       showColumns: true,
+    	       //显示到处按钮
+    	       showExport: true,
+    	       //显示切换分页按钮
+    	       showPaginationSwitch: true,
+    	       //显示详情按钮
+    	       detailView: true,
+    	       	//显示详细内容函数
+	           // detailFormatter: "detailFormatter",
+    	       //最低显示2行
+    	       minimumCountColumns: 2,
+               //是否显示行间隔色
+               striped: true,
+               //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+               cache: false,
+               //是否显示分页(*)
+               pagination: true,
+                //排序方式
+               sortOrder: "asc",
+               //初始化加载第一页,默认第一页
+               pageNumber:1,
+               //每页的记录行数(*)
+               pageSize: 10,
+               //可供选择的每页的行数(*)
+               pageList: [10, 25, 50, 100],
+               //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+               url: "${ctx}/filing/earlyEngineering/data",
+               //默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+               //queryParamsType:'',
+               ////查询参数,每次调用是会带上这个参数,可自定义
+               queryParams : function(params) {
+               	var searchParam = $("#searchForm").serializeJSON();
+               	searchParam.pageNo = params.limit === undefined? "1" :params.offset/params.limit+1;
+               	searchParam.pageSize = params.limit === undefined? -1 : params.limit;
+               	searchParam.orderBy = params.sort === undefined? "" : params.sort+ " "+  params.order;
+                   return searchParam;
+               },
+               //分页方式:client客户端分页,server服务端分页(*)
+               sidePagination: "server",
+               contextMenuTrigger:"right",//pc端 按右键弹出菜单
+               contextMenuTriggerMobile:"press",//手机端 弹出菜单,click:单击, press:长按。
+               contextMenu: '#context-menu',
+               onContextMenuItem: function(row, $el){
+                   if($el.data("item") == "edit"){
+                   		edit(row.id);
+                   }else if($el.data("item") == "view"){
+                       view(row.id);
+                   } else if($el.data("item") == "delete"){
+                        jp.confirm('确认要删除该初设阶段记录吗?', function(){
+                       	jp.loading();
+                       	jp.get("${ctx}/filing/earlyEngineering/delete?id="+row.id, function(data){
+                   	  		if(data.success){
+                   	  			$('#basicTable').bootstrapTable('refresh');
+                   	  			jp.success(data.msg);
+                   	  		}else{
+                   	  			jp.error(data.msg);
+                   	  		}
+                   	  	})
+
+                   	});
+
+                   }
+               },
+		/*		onPostBody:function(){
+					window.rowProps = undefined;
+					_table_rowspan("#basicTable" , 1);
+					_table_rowspan("#basicTable" , 2);
+					_table_rowspan("#basicTable" , 3);
+					_table_rowspan("#basicTable" , 4);
+					_table_rowspan("#basicTable" , 5);
+					return true;
+				},*/
+               onClickRow: function(row, $el){
+               },
+               	onShowSearch: function () {
+			$("#search-collapse").slideToggle();
+		},
+               columns: [{
+		        checkbox: true
+
+		    }
+			,{
+		        field: 'projectCode',
+		        title: '项目编码',
+			    width: 100,
+		        sortable: true,
+		        sortName: 'projectCode'
+		        ,formatter:function(value, row , index){
+			   if(value == null || value ==""){
+				   value = "-";
+			   }
+			   <c:choose>
+				   <c:when test="${fns:hasPermission('test:filing:earlyEngineering:edit')}">
+				      return "<a href='javascript:edit(\""+row.id+"\")'>"+value+"</a>";
+			      </c:when>
+				  <c:when test="${fns:hasPermission('test:filing:earlyEngineering:view')}">
+				      return "<a href='javascript:view(\""+row.id+"\")'>"+value+"</a>";
+			      </c:when>
+				  <c:otherwise>
+				      return value;
+			      </c:otherwise>
+			   </c:choose>
+
+		        }
+		    }
+			,{
+		        field: 'monomerCode',
+		        title: '单体编码',
+		        sortable: true,
+			   width: 100,
+		        sortName: 'monomerCode'
+
+		    }
+			,{
+		        field: 'entryName',
+		        title: '项目名称',
+					   width: 100,
+		        sortable: true,
+		        sortName: 'entryName'
+
+		    }
+			,{
+		        field: 'preDesignNo',
+		        title: '初设批复文号',
+					   width: 100,
+		        sortable: true,
+		        sortName: 'preDesignNo'
+		    }
+			, {
+			   field: 'initialDesignDate',
+			   title: '初设批复日期',
+			   width: 100,
+			   sortable: true,
+			   sortName: 'initialDesignDate'
+		   },{
+			   field: 'batchOverview',
+			   title: '批概动态',
+			   width: 100,
+			   sortable: true,
+			   sortName: 'batchOverview'
+		   }
+		   ,{
+			   field: 'batchStatistics',
+			   title: '批概静态',
+			   width: 100,
+			   sortable: true,
+			   sortName: 'batchStatistics'
+		   }
+		   , {
+			   field: 'estimateCode',
+			   title: '批概场地清理费',
+			   width: 100,
+			   sortable: true,
+			   sortName: 'estimateCode'
+
+		   }, {
+			   field: 'designCost',
+			   title: '设计费批概',
+			   width: 100,
+			   sortable: true,
+			   sortName: 'designCost'
+
+		   }, {
+			   field: 'supervisionFeeCode',
+			   title: '监理费批概',
+			   width: 100,
+			   sortable: true,
+			   sortName: 'supervisionFeeCode'
+
+		   }, {
+			   field: 'managementFeeCode',
+			   title: '批概法人管理费',
+			   width: 100,
+			   sortable: true,
+			   sortName: 'managementFeeCode'
+
+		   }, {
+			   field: 'dataCode',
+			   title: '其他概算中需要的数据',
+			   width: 100,
+			   sortable: true,
+			   sortName: 'dataCode'
+
+		   },{
+					   field: 'threeDepartment',
+					   title: '三个项目部关键人员信息',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'threeDepartment'
+				   },{
+					   field: 'landNo',
+					   title: '用地预审意见(变电站) 文号',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'landNo'
+				   },{
+					   field: 'landDate',
+					   title: '用地预审意见(变电站) 日期',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'landDate'
+				   },{
+					   field: 'eiaNo',
+					   title: '环评批复(变电站、线路) 文号',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'eiaNo'
+				   },{
+					   field: 'eiaDate',
+					   title: '环评批复(变电站、线路) 日期',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'eiaDate'
+				   },{
+					   field: 'acceptanceNo',
+					   title: '环评验收文号及日期 文号',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'acceptanceNo'
+				   },{
+					   field: 'acceptanceDate',
+					   title: '环评验收文号及日期 日期',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'acceptanceDate'
+				   },{
+					   field: 'replyNo',
+					   title: '水保批复(变电站、线路) 文号',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'replyNo'
+				   },{
+					   field: 'replyDate',
+					   title: '水保批复(变电站、线路) 日期',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'replyDate'
+				   },{
+					   field: 'soilNo',
+					   title: '水保验收文号及日期 文号',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'soilNo'
+				   },{
+					   field: 'soilDate',
+					   title: '水保验收文号及日期 日期',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'soilDate'
+				   },{
+					   field: 'depositNo',
+					   title: '压覆矿藏复函(变电站) 文号',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'depositNo'
+				   },{
+					   field: 'depositDate',
+					   title: '压覆矿藏复函(变电站) 日期',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'depositDate'
+				   },{
+					   field: 'recordNo',
+					   title: '地灾评估备案表(变电站) 文号',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'recordNo'
+				   },{
+					   field: 'recordDate',
+					   title: '地灾评估备案表(变电站) 日期',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'recordDate'
+				   },{
+					   field: 'siteProposalNo',
+					   title: '选址意见书(变电站) 文号',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'siteProposalNo'
+				   },{
+					   field: 'siteProposalDate',
+					   title: '选址意见书(变电站) 日期',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'siteProposalDate'
+				   },{
+					   field: 'planningNo',
+					   title: '线路路径规划意见 文号',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'planningNo'
+				   },{
+					   field: 'planningDate',
+					   title: '线路路径规划意见 日期',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'planningDate'
+				   },{
+					   field: 'usePlanNo',
+					   title: '用地规划许可证 文号',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'usePlanNo'
+				   },{
+					   field: 'usePlanDate',
+					   title: '用地规划许可证 日期',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'usePlanDate'
+				   },{
+					   field: 'requisitonNo',
+					   title: '征地补偿批复 文号',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'requisitonNo'
+				   },{
+					   field: 'requisitonDate',
+					   title: '征地补偿批复 日期',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'requisitonDate'
+				   },{
+					   field: 'conLandNo',
+					   title: '建设用地批准书 文号',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'conLandNo'
+				   },{
+					   field: 'conLandDate',
+					   title: '建设用地批准书 日期',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'conLandDate'
+				   },{
+					   field: 'transferNo',
+					   title: '划拨决定书 文号',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'transferNo'
+				   },{
+					   field: 'transferDate',
+					   title: '划拨决定书 日期',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'transferDate'
+				   },{
+					   field: 'certificateNo',
+					   title: '土地证(变电站) 文号',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'certificateNo'
+				   },{
+					   field: 'certificateDate',
+					   title: '土地证(变电站) 日期',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'certificateDate'
+				   },{
+					   field: 'permitNo',
+					   title: '建设工程规划许可证(变电站) 文号',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'permitNo'
+				   },{
+					   field: 'permitDate',
+					   title: '建设工程规划许可证(变电站) 日期',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'permitDate'
+				   },{
+					   field: 'fireProNo',
+					   title: '消防设计审查/备案意见(变电站) 文号',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'fireProNo'
+				   },{
+					   field: 'fireProdate',
+					   title: '消防设计审查/备案意见(变电站) 日期',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'fireProdate'
+				   },{
+					   field: 'fireAccNo',
+					   title: '消防验收/备案意见(变电站) 文号',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'fireAccNo'
+				   },{
+					   field: 'fireAccDate',
+					   title: '消防验收/备案意见(变电站) 日期',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'fireAccDate'
+				   },{
+					   field: 'estateNo',
+					   title: '不动产权证 文号',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'estateNo'
+				   },{
+					   field: 'estateDate',
+					   title: '不动产权证 日期',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'estateDate'
+				   },{
+					   field: 'planningLevel',
+					   title: '规划总平(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'planningLevel'
+				   }
+				   , {
+					   field: 'surveyReport',
+					   title: '勘察定界报告(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'surveyReport'
+
+				   }, {
+					   field: 'redLineMap',
+					   title: '征地红线图(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'redLineMap'
+
+				   }, {
+					   field: 'redLineLand',
+					   title: '用地红线图(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'redLineLand'
+
+				   }, {
+					   field: 'zongMap',
+					   title: '宗地图',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'zongMap'
+
+				   }, {
+					   field: 'recordSurvey',
+					   title: '勘察合同备案表(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'recordSurvey'
+
+				   }, {
+					   field: 'recordDesign',
+					   title: '设计合同备案表(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'recordDesign'
+
+				   }, {
+					   field: 'recordContract',
+					   title: '施工合同备案表(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'recordContract'
+
+				   }, {
+					   field: 'supervisionRecord',
+					   title: '监理合同备案表(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'supervisionRecord'
+
+				   }, {
+					   field: 'qulifiedOpinions',
+					   title: '岩土勘察报告审查合格意见(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'qulifiedOpinions'
+
+				   }, {
+					   field: 'constructionComments',
+					   title: '施工图审查合格意见(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'constructionComments'
+
+				   }, {
+					   field: 'constructionDrawing',
+					   title: '施工图审查合格证(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'constructionDrawing'
+
+				   }, {
+					   field: 'seismicReview',
+					   title: '抗震设防审查证书(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'seismicReview'
+
+				   }, {
+					   field: 'planningSetting',
+					   title: '规划放线报告(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'planningSetting'
+
+				   }, {
+					   field: 'safetyRecord',
+					   title: '安监申报书、备案表(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'safetyRecord'
+
+				   }, {
+					   field: 'qualityRecord',
+					   title: '质监申报书、备案表(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'qualityRecord'
+
+				   }, {
+					   field: 'constructionPermit',
+					   title: '施工许可证',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'constructionPermit'
+
+				   }, {
+					   field: 'planBuiltMapping',
+					   title: '规划竣工测绘现状图及管线、绿化、比较图(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'planBuiltMapping'
+
+				   }, {
+					   field: 'qualityAcceptance',
+					   title: '质监竣工验收意见(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'qualityAcceptance'
+
+				   }, {
+					   field: 'urbanArchives',
+					   title: '城建档案接收合格证明(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'urbanArchives'
+
+				   }, {
+					   field: 'completionRecord',
+					   title: '竣工备案表(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'completionRecord'
+
+				   }, {
+					   field: 'realEstate',
+					   title: '房产测绘报告',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'realEstate'
+
+				   }, {
+					   field: 'reportOnLang',
+					   title: '宗地复测报告',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'reportOnLang'
+
+				   }
+		     ],
+		onExpandRow: function (index, row, $detail) {
+			initSubTable(index, row, $detail);
+		}
+		});
+
+	//初始化子表格(无线循环)
+	initSubTable = function (index, row, $detail) {
+		var parentid = row.projectCode;
+		var cur_table = $detail.html('<table></table>').find('table');
+		$(cur_table).bootstrapTable({
+			url: '${ctx}/filing/earlyEngineering/detail',
+			method: 'post',
+			//类型json
+			dataType: "json",
+			contentType: "application/x-www-form-urlencoded",
+			queryParams : function(params) {
+				var searchParam = $("#searchForm").serializeJSON();
+				searchParam.pageNo = params.limit === undefined? "1" :params.offset/params.limit+1;
+				searchParam.pageSize = params.limit === undefined? -1 : params.limit;
+				searchParam.orderBy = params.sort === undefined? "" : params.sort+ " "+  params.order;
+				searchParam.projectCode = parentid;
+				return searchParam;
+			},
+			striped: true, //是否显示行间隔色
+			pagination: false,//显示分页
+			sidePagination: "server",
+			pageNumber:1,
+			pageSize: 10,
+			pageList: [10, 25],
+			columns: [{
+				width: 62
+			},{
+				field: 'projectCode',
+				title: '项目编码',
+				width: 100,
+				sortable: true,
+				sortName: 'projectCode'
+				,formatter:function(value, row , index){
+					if(value == null || value ==""){
+						value = "-";
+					}
+				<c:choose>
+					<c:when test="${fns:hasPermission('test:filing:earlyEngineering:edit')}">
+					return "<a href='javascript:edit(\""+row.id+"\")'>"+value+"</a>";
+				</c:when>
+					<c:otherwise>
+					return value;
+				</c:otherwise>
+					</c:choose>
+				}
+			}, {
+				field: 'monomerCode',
+				width: 100
+			}, {
+				field: 'entryName',
+				width: 100,
+			},{
+				field: 'preDesignNo',
+				width: 100,
+			},{
+				field: 'initialDesignDate',
+				width: 100,
+			},{
+				field: 'batchOverview',
+				width: 100,
+			},{
+					field: 'batchStatistics',
+					width: 100,
+				}
+				, {
+					field: 'estimateCode',
+					width: 100,
+				}, {
+					field: 'designCost',
+					width: 100,
+				}, {
+					field: 'supervisionFeeCode',
+					width: 100,
+				}, {
+					field: 'managementFeeCode',
+					width: 100,
+				}, {
+					field: 'dataCode',
+					width: 100,
+				},{
+					field: 'threeDepartment',
+					width: 100,
+				},{
+					field: 'landNo',
+					width: 100,
+				},{
+					field: 'landDate',
+					width: 100,
+				},{
+					field: 'eiaNo',
+					width: 100,
+				},{
+					field: 'eiaDate',
+					width: 100,
+				},{
+					field: 'acceptanceNo',
+					width: 100,
+				},{
+					field: 'acceptanceDate',
+					width: 100,
+				},{
+					field: 'replyNo',
+					width: 100,
+				},{
+					field: 'replyDate',
+					width: 100,
+				},{
+					field: 'soilNo',
+					width: 100,
+				},{
+					field: 'soilDate',
+					width: 100,
+				},{
+					field: 'depositNo',
+					width: 100,
+				},{
+					field: 'depositDate',
+					width: 100,
+				},{
+					field: 'recordNo',
+					width: 100,
+				},{
+					field: 'recordDate',
+					width: 100,
+				},{
+					field: 'siteProposalNo',
+					width: 100,
+				},{
+					field: 'siteProposalDate',
+					width: 100,
+				},{
+					field: 'planningNo',
+					width: 100,
+				},{
+					field: 'planningDate',
+					width: 100,
+				},{
+					field: 'usePlanNo',
+					width: 100,
+				},{
+					field: 'usePlanDate',
+					width: 100,
+				},{
+					field: 'requisitonNo',
+					width: 100,
+				},{
+					field: 'requisitonDate',
+					width: 100,
+				},{
+					field: 'conLandNo',
+					width: 100,
+				},{
+					field: 'conLandDate',
+					width: 100,
+				},{
+					field: 'transferNo',
+					width: 100,
+				},{
+					field: 'transferDate',
+					width: 100,
+				},{
+					field: 'certificateNo',
+					width: 100,
+				},{
+					field: 'certificateDate',
+					width: 100,
+				},{
+					field: 'permitNo',
+					width: 100,
+				},{
+					field: 'permitDate',
+					width: 100,
+				},{
+					field: 'fireProNo',
+					width: 100,
+				},{
+					field: 'fireProdate',
+					width: 100,
+				},{
+					field: 'fireAccNo',
+					width: 100,
+				},{
+					field: 'fireAccDate',
+					width: 100,
+				},{
+					field: 'estateNo',
+					width: 100,
+				},{
+					field: 'estateDate',
+					width: 100,
+				},{
+					field: 'planningLevel',
+					width: 100,
+				}
+				, {
+					field: 'surveyReport',
+					width: 100,
+				}, {
+					field: 'redLineMap',
+					width: 100,
+				}, {
+					field: 'redLineLand',
+					width: 100,
+				}, {
+					field: 'zongMap',
+					width: 100,
+				}, {
+					field: 'recordSurvey',
+					width: 100,
+				}, {
+					field: 'recordDesign',
+					width: 100,
+				}, {
+					field: 'recordContract',
+					width: 100,
+				}, {
+					field: 'supervisionRecord',
+					width: 100,
+				}, {
+					field: 'qulifiedOpinions',
+					width: 100,
+				}, {
+					field: 'constructionComments',
+					width: 100,
+				}, {
+					field: 'constructionDrawing',
+					width: 100,
+				}, {
+					field: 'seismicReview',
+					width: 100,
+				}, {
+					field: 'planningSetting',
+					width: 100,
+				}, {
+					field: 'safetyRecord',
+					width: 100,
+				}, {
+					field: 'qualityRecord',
+					width: 100,
+				}, {
+					field: 'constructionPermit',
+					width: 100,
+				}, {
+					field: 'planBuiltMapping',
+					width: 100,
+				}, {
+					field: 'qualityAcceptance',
+					width: 100,
+				}, {
+					field: 'urbanArchives',
+					width: 100,
+				}, {
+					field: 'completionRecord',
+					width: 100,
+				}, {
+					field: 'realEstate',
+					width: 100,
+				}, {
+					field: 'reportOnLang',
+					width: 100,
+				}
+				]
+		});
+	};
+
+		  
+	  if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端
+
+		 
+		  $('#basicTable').bootstrapTable("toggleView");
+		}
+	  
+	  $('#basicTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+                'check-all.bs.table uncheck-all.bs.table', function () {
+            $('#remove').prop('disabled', ! $('#basicTable').bootstrapTable('getSelections').length);
+            $('#view,#edit').prop('disabled', $('#basicTable').bootstrapTable('getSelections').length!=1);
+        });
+		  
+		$("#btnImport").click(function(){
+			jp.open({
+			    type: 2,
+                area: [500, 200],
+                auto: true,
+			    title:"导入数据",
+			    content: "${ctx}/tag/importExcel" ,
+			    btn: ['下载模板','确定', '关闭'],
+				btn1: function(index, layero){
+					  jp.downloadFile('${ctx}/filing/earlyEngineering/import/template');
+				  },
+			    btn2: function(index, layero){
+						var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+						iframeWin.contentWindow.importExcel('${ctx}/filing/earlyEngineering/import', function (data) {
+							if(data.success){
+								jp.success(data.msg);
+								refresh();
+							}else{
+								jp.error(data.msg);
+							}
+                            jp.close(index);
+                        });//调用保存事件
+                    return false;
+				  },
+				 
+				  btn3: function(index){ 
+					  jp.close(index);
+	    	       }
+			}); 
+		});
+	  $("#export").click(function(){//导出Excel文件
+			jp.downloadFile('${ctx}/filing/earlyEngineering/export');
+	  });
+
+	$("#exportFiles").bind("click", function () {
+		$("#searchForm").attr("action","${ctx}/filing/filingImages/exportEarlyEngineering?ids="+ getIdSelections());
+		$("#searchForm").submit();
+		return true;
+	});
+
+	/*$("#exportFiles").click(function(){//导出Excel文件
+		jp.downloadFile('${ctx}/filing/earlyEngineering/exportFiles?ids=' + getIdSelections());
+	});*/
+
+	  $("#search").click("click", function() {// 绑定查询按扭
+		  $('#basicTable').bootstrapTable('refresh');
+		});
+
+	  $("#open").click(function () {
+		  $("#basicTable").bootstrapTable('expandAllRows');
+	  })
+
+		$("#close").click(function (row) {
+			$('#basicTable').bootstrapTable('refresh');
+		})
+
+	 $("#reset").click("click", function() {// 绑定查询按扭
+		  $("#searchForm  input").val("");
+		  $("#searchForm  select").val("");
+		   $("#searchForm  .select-item").html("");
+		  $('#basicTable').bootstrapTable('refresh');
+		});
+		
+				$('#beginInDate').datetimepicker({
+					 format: "YYYY-MM-DD HH:mm:ss"
+				});
+				$('#endInDate').datetimepicker({
+					 format: "YYYY-MM-DD HH:mm:ss"
+				});
+		
+	});
+		
+  function getIdSelections() {
+        return $.map($("#basicTable").bootstrapTable('getSelections'), function (row) {
+            return row.id
+        });
+    }
+  
+  function deleteAll(){
+
+		jp.confirm('确认要删除该初设阶段记录吗?', function(){
+			jp.loading();  	
+			jp.get("${ctx}/filing/earlyEngineering/deleteAll?ids=" + getIdSelections(), function(data){
+         	  		if(data.success){
+         	  			$('#basicTable').bootstrapTable('refresh');
+         	  			jp.success(data.msg);
+         	  		}else{
+         	  			jp.error(data.msg);
+         	  		}
+         	  	})
+          	   
+		})
+  }
+  
+    //刷新列表
+  function refresh() {
+      $('#basicTable').bootstrapTable('refresh');
+  }
+  function add(){
+	  jp.openSaveDialog('新增初设阶段', "${ctx}/filing/earlyEngineering/form",'1000px', '800px');
+  }
+  
+   function edit(id){//没有权限时,不显示确定按钮
+       if(id == undefined){
+	      id = getIdSelections();
+	}
+	jp.openSaveDialog('编辑初设阶段', "${ctx}/filing/earlyEngineering/form?id=" + id, '800px', '500px');
+  }
+
+ function view(id){//没有权限时,不显示确定按钮
+      if(id == undefined){
+             id = getIdSelections();
+      }
+        jp.openViewDialog('查看初设阶段', "${ctx}/filing/earlyEngineering/form?id=" + id, '800px', '500px');
+ }
+
+
+	function addRow(list, idx, tpl, row){
+		$(list).append(Mustache.render(tpl, {
+			idx: idx, delBtn: true, row: row
+		}));
+	}
+			
+</script>
+
+

+ 87 - 0
src/main/webapp/webpage/modules/filing/earlyEngineering/earlyEngineeringList.jsp

@@ -0,0 +1,87 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp" %>
+<html>
+<head>
+    <title>工程前期阶段管理</title>
+    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
+    <meta name="decorator" content="ani"/>
+    <%@ include file="/webpage/include/bootstraptable.jsp" %>
+    <%@include file="/webpage/include/treeview.jsp" %>
+    <%@include file="earlyEngineeringList.js" %>
+    <style type="text/css">
+        .table {
+            table-layout: fixed;
+            word-break: break-all;
+            word-wrap: break-word;
+            text-align: center;
+        }
+
+        .table th, .table td {
+            text-align: center;
+            vertical-align: middle !important;
+        }
+    </style>
+</head>
+<body>
+<div class="wrapper wrapper-content">
+    <div class="panel panel-primary">
+        <div class="panel-heading">
+            <h3 class="panel-title">工程前期阶段列表</h3>
+        </div>
+        <div class="panel-body">
+            <!-- 搜索 -->
+            <div id="search-collapse" class="collapse">
+                <div class="accordion-inner">
+                    <form:form id="searchForm" modelAttribute="earlyEngineering"
+                               class="form form-horizontal well clearfix">
+                        <div class="col-xs-12 col-sm-6 col-md-4">
+                            <label class="label-item single-overflow pull-left" title="项目编码:">项目编码:</label>
+                            <form:input path="projectCode" htmlEscape="false" maxlength="257"  class=" form-control"/>
+                        </div>
+                        <div class="col-xs-12 col-sm-6 col-md-4">
+                            <div style="margin-top:26px">
+                                <a id="search" class="btn btn-primary btn-rounded  btn-bordered btn-sm"><i
+                                        class="fa fa-search"></i> 查询</a>
+                                <a id="reset" class="btn btn-primary btn-rounded  btn-bordered btn-sm"><i
+                                        class="fa fa-refresh"></i> 重置</a>
+                            </div>
+                        </div>
+                    </form:form>
+                </div>
+            </div>
+
+            <!-- 工具栏 -->
+            <div id="toolbar">
+                <button id="open" class="btn btn-primary" >
+                    <i class="glyphicon glyphicon-list"></i> 全部展开
+                </button>
+                <button id="close" class="btn btn-primary">
+                    <i class="glyphicon glyphicon-minus"></i> 全部折叠
+                </button>
+                <shiro:hasPermission name="test:filing:earlyEngineering:edit">
+                    <button id="edit" class="btn btn-success" disabled onclick="edit()">
+                        <i class="glyphicon glyphicon-edit"></i> 修改
+                    </button>
+                </shiro:hasPermission>
+                <shiro:hasPermission name="test:filing:earlyEngineering:import">
+                    <button id="btnImport" class="btn btn-info"><i class="fa fa-folder-open-o"></i> 导入</button>
+                </shiro:hasPermission>
+                <shiro:hasPermission name="test:filing:earlyEngineering:export">
+                    <button id="export" class="btn btn-warning">
+                        <i class="fa fa-file-excel-o"></i> 导出
+                    </button>
+                </shiro:hasPermission>
+                <shiro:hasPermission name="test:filing:earlyEngineering:export">
+                <button id="exportFiles" class="btn btn-warning">
+                    <i class="fa fa-file-excel-o"></i> 导出附件
+                </button>
+                </shiro:hasPermission>
+            </div>
+
+            <!-- 表格 -->
+            <table id="basicTable" data-toolbar="#toolbar"></table>
+        </div>
+    </div>
+</div>
+</body>
+</html>

+ 50 - 125
src/main/webapp/webpage/modules/filing/earlyStage/earlyStageList.js

@@ -98,7 +98,7 @@ $(document).ready(function() {
 			,{
 		        field: 'projectCode',
 		        title: '项目编码',
-			    width: '100px',
+			    width: 100,
 		        sortable: true,
 		        sortName: 'projectCode'
 		        ,formatter:function(value, row , index){
@@ -123,14 +123,14 @@ $(document).ready(function() {
 		        field: 'monomerCode',
 		        title: '单体编码',
 		        sortable: true,
-			   width: '100px',
+			   width: 100,
 		        sortName: 'monomerCode'
 
 		    }
 			,{
 		        field: 'entryName',
 		        title: '项目名称',
-					   width: '100px',
+					   width: 100,
 		        sortable: true,
 		        sortName: 'entryName'
 
@@ -138,14 +138,14 @@ $(document).ready(function() {
 			,{
 		        field: 'approvalNumber',
 		        title: '核准文号',
-					   width: '100px',
+					   width: 100,
 		        sortable: true,
 		        sortName: 'approvalNumber'
 		    }
 			,{
 		        field: 'dateOfApproval',
 		        title: '核准日期',
-					   width: '100px',
+					   width: 100,
 		        sortable: true,
 		        sortName: 'dateOfApproval'
 
@@ -153,20 +153,20 @@ $(document).ready(function() {
 				   ,{
 					   field: 'approvedAmount',
 					   title: '核准金额',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'approvedAmount'
 				   },{
 					   field: 'replyNo',
 					   title: '可研批复<br/>文号',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'replyNo'
 				   }
 				   ,{
 					   field: 'approvalDate',
 					   title: '可研批复<br/>日期',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'approvalDate'
 
@@ -174,26 +174,26 @@ $(document).ready(function() {
 				   ,{
 					   field: 'staticInvestment',
 					   title: '可研静态<br/>投资金额',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'staticInvestment'
 				   },{
 					   field: 'dynamicInvestment',
 					   title: '可研动态<br/>投资金额',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'dynamicInvestment'
 				   },{
 					   field: 'constructionScaleVA',
 					   title: '建设规模<br/>(变电容量)<br/>万伏安',
-					   width: '150px',
+					   width: 150,
 					   sortable: true,
 					   sortName: 'constructionScaleVA'
 				   }
 				   ,{
 					   field: 'constructionScaleKM',
 					   title: '建设规模<br/>(线路长度)<br/>千米',
-					   width: '150px',
+					   width: 150,
 					   sortable: true,
 					   sortName: 'constructionScaleKM'
 
@@ -201,73 +201,73 @@ $(document).ready(function() {
 				   ,{
 					   field: 'numberOf',
 					   title: '铁塔数量<br/>/钢管杆数量',
-					   width: '150px',
+					   width: 150,
 					   sortable: true,
 					   sortName: 'numberOf'
 				   },{
 					   field: 'conductorType',
 					   title: '导线型号<br/>及双回否型号',
-					   width: '150px',
+					   width: 150,
 					   sortable: true,
 					   sortName: 'conductorType'
 				   },{
 					   field: 'conductorLength',
 					   title: '导线型号<br/>及双回否长度',
-					   width: '150px',
+					   width: 150,
 					   sortable: true,
 					   sortName: 'conductorLength'
 				   },{
 					   field: 'theSource',
 					   title: '变压器来源<br/>新购/利旧,<br/>主变来源的<br/>变电站',
-					   width: '150px',
+					   width: 150,
 					   sortable: true,
 					   sortName: 'theSource'
 				   },{
 					   field: 'modularConstructionScheme',
 					   title: '模块化<br/>建设方案',
-					   width: '150px',
+					   width: 150,
 					   sortable: true,
 					   sortName: 'modularConstructionScheme'
 				   },{
 					   field: 'descriptionOf',
 					   title: '工程难点<br/>描述',
-					   width: '150px',
+					   width: 150,
 					   sortable: true,
 					   sortName: 'descriptionOf'
 				   },{
 					   field: 'milestoneStartDate',
 					   title: '里程碑<br/>开工日期',
-					   width: '150px',
+					   width: 150,
 					   sortable: true,
 					   sortName: 'milestoneStartDate'
 				   },{
 					   field: 'milestoneCommissioningDate',
 					   title: '里程碑<br/>投产日期',
-					   width: '150px',
+					   width: 150,
 					   sortable: true,
 					   sortName: 'milestoneCommissioningDate'
 				   },{
 					   field: 'startDate',
 					   title: '内控开工<br/>日期',
-					   width: '150px',
+					   width: 150,
 					   sortable: true,
 					   sortName: 'startDate'
 				   },{
 					   field: 'internalControl',
 					   title: '内控投产<br/>日期',
-					   width: '150px',
+					   width: 150,
 					   sortable: true,
 					   sortName: 'internalControl'
 				   },{
 					   field: 'earliestArrival',
 					   title: '主设备<br/>最早到货<br/>时间',
-					   width: '150px',
+					   width: 150,
 					   sortable: true,
 					   sortName: 'earliestArrival'
 				   },{
 					   field: 'arrivalPlan',
 					   title: '线路塔材<br/>到货计划',
-					   width: '150px',
+					   width: 150,
 					   sortable: true,
 					   sortName: 'arrivalPlan'
 				   }
@@ -302,11 +302,10 @@ $(document).ready(function() {
 			pageSize: 10,
 			pageList: [10, 25],
 			columns: [{
+				width: 62
+			},{
 				field: 'projectCode',
-				title: '项目编码',
-				width: '100px',
-				sortable: true,
-				sortName: 'projectCode'
+				width: 100
 				,formatter:function(value, row , index){
 					if(value == null || value ==""){
 						value = "-";
@@ -323,155 +322,81 @@ $(document).ready(function() {
 			}
 				,{
 					field: 'monomerCode',
-					title: '单体编码',
-					sortable: true,
-					width: '100px',
-					sortName: 'monomerCode'
-
+					width: 100,
 				}
 				,{
 					field: 'entryName',
-					title: '项目名称',
-					width: '100px',
-					sortable: true,
-					sortName: 'entryName'
-
+					width: 100,
 				}
 				,{
 					field: 'approvalNumber',
-					title: '核准文号',
-					width: '100px',
-					sortable: true,
-					sortName: 'approvalNumber'
+					width: 100,
 				}
 				,{
 					field: 'dateOfApproval',
-					title: '核准日期',
-					width: '100px',
-					sortable: true,
-					sortName: 'dateOfApproval'
-
+					width: 100,
 				}
 				,{
 					field: 'approvedAmount',
-					title: '核准金额',
-					width: '100px',
-					sortable: true,
-					sortName: 'approvedAmount'
+					width: 100,
 				},{
 					field: 'replyNo',
-					title: '可研批复文号',
-					width: '100px',
-					sortable: true,
-					sortName: 'replyNo'
+					width: 100,
 				}
 				,{
 					field: 'approvalDate',
-					title: '可研批复日期',
-					width: '100px',
-					sortable: true,
-					sortName: 'approvalDate'
-
+					width: 100,
 				}
 				,{
 					field: 'staticInvestment',
-					title: '可研静态态投资金额',
-					width: '100px',
-					sortable: true,
-					sortName: 'staticInvestment'
+					width: 100,
 				},{
 					field: 'dynamicInvestment',
-					title: '可研动态投资金额',
-					width: '100px',
-					sortable: true,
-					sortName: 'dynamicInvestment'
+					width: 100,
 				},{
 					field: 'constructionScaleVA',
-					title: '建设规模<br/>(变电容量)<br/>万伏安',
-					width: '150px',
-					sortable: true,
-					sortName: 'constructionScaleVA'
+					width: 150,
 				}
 				,{
 					field: 'constructionScaleKM',
-					title: '建设规模<br/>(线路长度)<br/>千米',
-					width: '150px',
-					sortable: true,
-					sortName: 'constructionScaleKM'
-
+					width: 150,
 				}
 				,{
 					field: 'numberOf',
-					title: '铁塔数量<br/>/钢管杆数量',
-					width: '150px',
-					sortable: true,
-					sortName: 'numberOf'
+					width: 150,
 				},{
 					field: 'conductorType',
-					title: '导线型号<br/>及双回否型号',
-					width: '150px',
-					sortable: true,
-					sortName: 'conductorType'
+					width: 150,
 				},{
 					field: 'conductorLength',
-					title: '导线型号<br/>及双回否长度',
-					width: '150px',
-					sortable: true,
-					sortName: 'conductorLength'
+					width: 150,
 				},{
 					field: 'theSource',
-					title: '变压器来源<br/>新购/利旧,<br/>主变来源的<br/>变电站',
-					width: '150px',
-					sortable: true,
-					sortName: 'theSource'
+					width: 150,
 				},{
 					field: 'modularConstructionScheme',
-					title: '模块化<br/>建设方案',
-					width: '150px',
-					sortable: true,
-					sortName: 'modularConstructionScheme'
+					width: 150,
 				},{
 					field: 'descriptionOf',
-					title: '工程难点<br/>描述',
-					width: '150px',
-					sortable: true,
-					sortName: 'descriptionOf'
+					width: 150,
 				},{
 					field: 'milestoneStartDate',
-					title: '里程碑<br/>开工日期',
-					width: '150px',
-					sortable: true,
-					sortName: 'milestoneStartDate'
+					width: 150,
 				},{
 					field: 'milestoneCommissioningDate',
-					title: '里程碑<br/>投产日期',
-					width: '150px',
-					sortable: true,
-					sortName: 'milestoneCommissioningDate'
+					width: 150,
 				},{
 					field: 'startDate',
-					title: '内控开工<br/>日期',
-					width: '150px',
-					sortable: true,
-					sortName: 'startDate'
+					width: 150,
 				},{
 					field: 'internalControl',
-					title: '内控投产<br/>日期',
-					width: '150px',
-					sortable: true,
-					sortName: 'internalControl'
+					width: 150,
 				},{
 					field: 'earliestArrival',
-					title: '主设备<br/>最早到货<br/>时间',
-					width: '150px',
-					sortable: true,
-					sortName: 'earliestArrival'
+					width: 150,
 				},{
 					field: 'arrivalPlan',
-					title: '线路塔材<br/>到货计划',
-					width: '150px',
-					sortable: true,
-					sortName: 'arrivalPlan'
+					width: 150,
 				}]
 		});
 	};

+ 191 - 0
src/main/webapp/webpage/modules/filing/legalCompliance/legalComplianceForm.jsp

@@ -0,0 +1,191 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>核准阶段管理</title>
+	<meta name="decorator" content="ani"/>
+	<%@ include file="/webpage/include/bootstraptable.jsp" %>
+	<style type="text/css">
+		/* 下边两行是去掉input 输入框右边的上下箭头按钮*/
+		.deal::-webkit-inner-spin-button {
+			-webkit-appearance: none !important;
+		}
+		.deal::-webkit-outer-spin-button {
+			-webkit-appearance: none !important;
+		}
+		input[type="number"]{
+			-moz-appearance:textfield;
+		}
+	</style>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+	        $('#initialDesignDate').datetimepicker({
+				 format: "YYYY-MM-DD"
+		    });
+		});
+
+		function save() {
+            var isValidate = jp.validateForm('#inputForm');//校验表单
+            if(!isValidate){
+                return false;
+			}else{
+                jp.loading();
+                jp.post("${ctx}/filing/legalCompliance/save",$('#inputForm').serialize(),function(data){
+                    if(data.success){
+                        jp.getParent().refresh();
+                        var dialogIndex = parent.layer.getFrameIndex(window.name); // 获取窗口索引
+                        parent.layer.close(dialogIndex);
+                        jp.success(data.msg)
+
+                    }else{
+                        jp.error(data.msg);
+                    }
+                })
+			}
+
+        }
+
+	</script>
+</head>
+<body class="bg-white">
+		<form:form id="inputForm" modelAttribute="legalCompliance" action="${ctx}/filing/legalCompliance/save" method="post" class="form-horizontal">
+		<form:hidden path="id"/>
+		<table class="table table-bordered">
+		   <tbody>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">项目编码:</label></td>
+					<td class="width-35">
+						<form:input path="projectCode" readonly="true" htmlEscape="false"  class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class="pull-right">单体编码:</label></td>
+					<td class="width-35">
+						<form:input path="monomerCode" readonly="true" htmlEscape="false"  class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">项目名称:</label></td>
+					<td class="width-35">
+						<form:input path="entryName" readonly="true" htmlEscape="false" class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class="pull-right">规划总平(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="planningLevel" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">勘察定界报告(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="surveyReport" htmlEscape="false" class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class="pull-right">征地红线图(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="redLineMap" htmlEscape="false" class="form-control"/>
+					</td>
+		  		</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">用地红线图(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="redLineLand" htmlEscape="false" class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class="pull-right">宗地图:</label></td>
+					<td class="width-35">
+						<form:input path="zongMap" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">勘察合同备案表(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="recordSurvey" htmlEscape="false" class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class="pull-right">设计合同备案表(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="recordDesign" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">施工合同备案表(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="recordContract" htmlEscape="false" class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class="pull-right">监理合同备案表(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="supervisionRecord" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">岩土勘察报告审查合格意见(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="qulifiedOpinions" htmlEscape="false" class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class="pull-right">施工图审查合格意见(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="constructionComments" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">施工图审查合格证(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="constructionDrawing" htmlEscape="false" class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class="pull-right">抗震设防审查证书(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="seismicReview" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">规划放线报告(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="planningSetting" htmlEscape="false" class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class="pull-right">安监申报书、备案表(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="safetyRecord" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">质监申报书、备案表(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="qualityRecord" htmlEscape="false" class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class="pull-right">施工许可证:</label></td>
+					<td class="width-35">
+						<form:input path="constructionPermit" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">规划竣工测绘现状图及管线、绿化、比较图(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="planBuiltMapping" htmlEscape="false" class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class="pull-right">质监竣工验收意见(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="qualityAcceptance" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">城建档案接收合格证明(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="urbanArchives" htmlEscape="false" class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class="pull-right">竣工备案表(变电站):</label></td>
+					<td class="width-35">
+						<form:input path="completionRecord" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="pull-right">房产测绘报告:</label></td>
+					<td class="width-35">
+						<form:input path="realEstate" htmlEscape="false" class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class="pull-right">宗地复测报告:</label></td>
+					<td class="width-35">
+						<form:input path="reportOnLang" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+		 	</tbody>
+		</table>
+		</div>
+		</form:form>
+</body>
+</html>

+ 567 - 0
src/main/webapp/webpage/modules/filing/legalCompliance/legalComplianceList.js

@@ -0,0 +1,567 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script>
+$(document).ready(function() {
+	$('#basicTable').bootstrapTable({
+		  //请求方法
+               method: 'post',
+               //类型json
+               dataType: "json",
+               contentType: "application/x-www-form-urlencoded",
+               //显示检索按钮
+	       showSearch: true,
+               //显示刷新按钮
+               showRefresh: true,
+               //显示切换手机试图按钮
+               showToggle: true,
+               //显示 内容列下拉框
+    	       showColumns: true,
+    	       //显示到处按钮
+    	       showExport: true,
+    	       //显示切换分页按钮
+    	       showPaginationSwitch: true,
+    	       //显示详情按钮
+    	       detailView: true,
+    	       	//显示详细内容函数
+	           // detailFormatter: "detailFormatter",
+    	       //最低显示2行
+    	       minimumCountColumns: 2,
+               //是否显示行间隔色
+               striped: true,
+               //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+               cache: false,
+               //是否显示分页(*)
+               pagination: true,
+                //排序方式
+               sortOrder: "asc",
+               //初始化加载第一页,默认第一页
+               pageNumber:1,
+               //每页的记录行数(*)
+               pageSize: 10,
+               //可供选择的每页的行数(*)
+               pageList: [10, 25, 50, 100],
+               //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+               url: "${ctx}/filing/legalCompliance/data",
+               //默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+               //queryParamsType:'',
+               ////查询参数,每次调用是会带上这个参数,可自定义
+               queryParams : function(params) {
+               	var searchParam = $("#searchForm").serializeJSON();
+               	searchParam.pageNo = params.limit === undefined? "1" :params.offset/params.limit+1;
+               	searchParam.pageSize = params.limit === undefined? -1 : params.limit;
+               	searchParam.orderBy = params.sort === undefined? "" : params.sort+ " "+  params.order;
+                   return searchParam;
+               },
+               //分页方式:client客户端分页,server服务端分页(*)
+               sidePagination: "server",
+               contextMenuTrigger:"right",//pc端 按右键弹出菜单
+               contextMenuTriggerMobile:"press",//手机端 弹出菜单,click:单击, press:长按。
+               contextMenu: '#context-menu',
+               onContextMenuItem: function(row, $el){
+                   if($el.data("item") == "edit"){
+                   		edit(row.id);
+                   }else if($el.data("item") == "view"){
+                       view(row.id);
+                   } else if($el.data("item") == "delete"){
+                        jp.confirm('确认要删除该初设阶段记录吗?', function(){
+                       	jp.loading();
+                       	jp.get("${ctx}/filing/legalCompliance/delete?id="+row.id, function(data){
+                   	  		if(data.success){
+                   	  			$('#basicTable').bootstrapTable('refresh');
+                   	  			jp.success(data.msg);
+                   	  		}else{
+                   	  			jp.error(data.msg);
+                   	  		}
+                   	  	})
+
+                   	});
+
+                   }
+               },
+		/*		onPostBody:function(){
+					window.rowProps = undefined;
+					_table_rowspan("#basicTable" , 1);
+					_table_rowspan("#basicTable" , 2);
+					_table_rowspan("#basicTable" , 3);
+					_table_rowspan("#basicTable" , 4);
+					_table_rowspan("#basicTable" , 5);
+					return true;
+				},*/
+               onClickRow: function(row, $el){
+               },
+               	onShowSearch: function () {
+			$("#search-collapse").slideToggle();
+		},
+               columns: [{
+		        checkbox: true
+
+		    }
+			,{
+		        field: 'projectCode',
+		        title: '项目编码',
+			    width: 100,
+		        sortable: true,
+		        sortName: 'projectCode'
+		        ,formatter:function(value, row , index){
+			   if(value == null || value ==""){
+				   value = "-";
+			   }
+			   <c:choose>
+				   <c:when test="${fns:hasPermission('test:filing:approvalStage:edit')}">
+				      return "<a href='javascript:edit(\""+row.id+"\")'>"+value+"</a>";
+			      </c:when>
+				  <c:when test="${fns:hasPermission('test:filing:approvalStage:view')}">
+				      return "<a href='javascript:view(\""+row.id+"\")'>"+value+"</a>";
+			      </c:when>
+				  <c:otherwise>
+				      return value;
+			      </c:otherwise>
+			   </c:choose>
+
+		        }
+		    }
+			,{
+		        field: 'monomerCode',
+		        title: '单体编码',
+		        sortable: true,
+			   width: 100,
+		        sortName: 'monomerCode'
+
+		    }
+			,{
+		        field: 'entryName',
+		        title: '项目名称',
+					   width: 100,
+		        sortable: true,
+		        sortName: 'entryName'
+
+		    }
+			,{
+		        field: 'planningLevel',
+		        title: '规划总平(变电站)',
+					   width: 100,
+		        sortable: true,
+		        sortName: 'planningLevel'
+		    }
+			, {
+					   field: 'surveyReport',
+					   title: '勘察定界报告(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'surveyReport'
+
+				   }, {
+					   field: 'redLineMap',
+					   title: '征地红线图(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'redLineMap'
+
+				   }, {
+					   field: 'redLineLand',
+					   title: '用地红线图(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'redLineLand'
+
+				   }, {
+					   field: 'zongMap',
+					   title: '宗地图',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'zongMap'
+
+				   }, {
+					   field: 'recordSurvey',
+					   title: '勘察合同备案表(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'recordSurvey'
+
+				   }, {
+					   field: 'recordDesign',
+					   title: '设计合同备案表(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'recordDesign'
+
+				   }, {
+					   field: 'recordContract',
+					   title: '施工合同备案表(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'recordContract'
+
+				   }, {
+					   field: 'supervisionRecord',
+					   title: '监理合同备案表(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'supervisionRecord'
+
+				   }, {
+					   field: 'qulifiedOpinions',
+					   title: '岩土勘察报告审查合格意见(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'qulifiedOpinions'
+
+				   }, {
+					   field: 'constructionComments',
+					   title: '施工图审查合格意见(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'constructionComments'
+
+				   }, {
+					   field: 'constructionDrawing',
+					   title: '施工图审查合格证(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'constructionDrawing'
+
+				   }, {
+					   field: 'seismicReview',
+					   title: '抗震设防审查证书(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'seismicReview'
+
+				   }, {
+					   field: 'planningSetting',
+					   title: '规划放线报告(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'planningSetting'
+
+				   }, {
+					   field: 'safetyRecord',
+					   title: '安监申报书、备案表(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'safetyRecord'
+
+				   }, {
+					   field: 'qualityRecord',
+					   title: '质监申报书、备案表(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'qualityRecord'
+
+				   }, {
+					   field: 'constructionPermit',
+					   title: '施工许可证',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'constructionPermit'
+
+				   }, {
+					   field: 'planBuiltMapping',
+					   title: '规划竣工测绘现状图及管线、绿化、比较图(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'planBuiltMapping'
+
+				   }, {
+					   field: 'qualityAcceptance',
+					   title: '质监竣工验收意见(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'qualityAcceptance'
+
+				   }, {
+					   field: 'urbanArchives',
+					   title: '城建档案接收合格证明(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'urbanArchives'
+
+				   }, {
+					   field: 'completionRecord',
+					   title: '竣工备案表(变电站)',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'completionRecord'
+
+				   }, {
+					   field: 'realEstate',
+					   title: '房产测绘报告',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'realEstate'
+
+				   }, {
+					   field: 'reportOnLang',
+					   title: '宗地复测报告',
+					   width: 100,
+					   sortable: true,
+					   sortName: 'reportOnLang'
+
+				   }
+		     ],
+		onExpandRow: function (index, row, $detail) {
+			initSubTable(index, row, $detail);
+		}
+		});
+
+	//初始化子表格(无线循环)
+	initSubTable = function (index, row, $detail) {
+		var parentid = row.projectCode;
+		var cur_table = $detail.html('<table></table>').find('table');
+		$(cur_table).bootstrapTable({
+			url: '${ctx}/filing/legalCompliance/detail',
+			method: 'post',
+			//类型json
+			dataType: "json",
+			contentType: "application/x-www-form-urlencoded",
+			queryParams : function(params) {
+				var searchParam = $("#searchForm").serializeJSON();
+				searchParam.pageNo = params.limit === undefined? "1" :params.offset/params.limit+1;
+				searchParam.pageSize = params.limit === undefined? -1 : params.limit;
+				searchParam.orderBy = params.sort === undefined? "" : params.sort+ " "+  params.order;
+				searchParam.projectCode = parentid;
+				return searchParam;
+			},
+			striped: true, //是否显示行间隔色
+			pagination: false,//显示分页
+			sidePagination: "server",
+			pageNumber:1,
+			pageSize: 10,
+			pageList: [10, 25],
+			columns: [{
+				width: 62
+			},{
+				field: 'projectCode',
+				width: 100,
+				formatter:function(value, row , index){
+					if(value == null || value ==""){
+						value = "-";
+					}
+				<c:choose>
+					<c:when test="${fns:hasPermission('test:filing:approvalStage:edit')}">
+					return "<a href='javascript:edit(\""+row.id+"\")'>"+value+"</a>";
+				</c:when>
+					<c:otherwise>
+					return value;
+				</c:otherwise>
+					</c:choose>
+				}
+			}, {
+				field: 'monomerCode',
+				width: 100
+			}, {
+				field: 'entryName',
+				width: 100,
+			},{
+				field: 'planningLevel',
+				width: 100,
+			}
+				, {
+					field: 'surveyReport',
+					width: 100,
+				}, {
+					field: 'redLineMap',
+					width: 100,
+				}, {
+					field: 'redLineLand',
+					width: 100,
+				}, {
+					field: 'zongMap',
+					width: 100,
+				}, {
+					field: 'recordSurvey',
+					width: 100,
+				}, {
+					field: 'recordDesign',
+					width: 100,
+				}, {
+					field: 'recordContract',
+					width: 100,
+				}, {
+					field: 'supervisionRecord',
+					width: 100,
+				}, {
+					field: 'qulifiedOpinions',
+					width: 100,
+				}, {
+					field: 'constructionComments',
+					width: 100,
+				}, {
+					field: 'constructionDrawing',
+					width: 100,
+				}, {
+					field: 'seismicReview',
+					width: 100,
+				}, {
+					field: 'planningSetting',
+					width: 100,
+				}, {
+					field: 'safetyRecord',
+					width: 100,
+				}, {
+					field: 'qualityRecord',
+					width: 100,
+				}, {
+					field: 'constructionPermit',
+					width: 100,
+				}, {
+					field: 'planBuiltMapping',
+					width: 100,
+				}, {
+					field: 'qualityAcceptance',
+					width: 100,
+				}, {
+					field: 'urbanArchives',
+					width: 100,
+				}, {
+					field: 'completionRecord',
+					width: 100,
+				}, {
+					field: 'realEstate',
+					width: 100,
+				}, {
+					field: 'reportOnLang',
+					width: 100,
+				}
+				]
+		});
+	};
+
+		  
+	  if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端
+
+		 
+		  $('#basicTable').bootstrapTable("toggleView");
+		}
+	  
+	  $('#basicTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+                'check-all.bs.table uncheck-all.bs.table', function () {
+            $('#remove').prop('disabled', ! $('#basicTable').bootstrapTable('getSelections').length);
+            $('#view,#edit').prop('disabled', $('#basicTable').bootstrapTable('getSelections').length!=1);
+        });
+		  
+		$("#btnImport").click(function(){
+			jp.open({
+			    type: 2,
+                area: [500, 200],
+                auto: true,
+			    title:"导入数据",
+			    content: "${ctx}/tag/importExcel" ,
+			    btn: ['下载模板','确定', '关闭'],
+				btn1: function(index, layero){
+					  jp.downloadFile('${ctx}/filing/legalCompliance/import/template');
+				  },
+			    btn2: function(index, layero){
+						var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+						iframeWin.contentWindow.importExcel('${ctx}/filing/legalCompliance/import', function (data) {
+							if(data.success){
+								jp.success(data.msg);
+								refresh();
+							}else{
+								jp.error(data.msg);
+							}
+                            jp.close(index);
+                        });//调用保存事件
+                    return false;
+				  },
+				 
+				  btn3: function(index){ 
+					  jp.close(index);
+	    	       }
+			}); 
+		});
+	  $("#export").click(function(){//导出Excel文件
+			jp.downloadFile('${ctx}/filing/legalCompliance/export');
+	  });
+
+	$("#exportFiles").bind("click", function () {
+		$("#searchForm").attr("action","${ctx}/filing/filingImages/exportLegalCompliance?ids="+ getIdSelections());
+		$("#searchForm").submit();
+		return true;
+	});
+
+	/*$("#exportFiles").click(function(){//导出Excel文件
+		jp.downloadFile('${ctx}/filing/legalCompliance/exportFiles?ids=' + getIdSelections());
+	});*/
+
+	  $("#search").click("click", function() {// 绑定查询按扭
+		  $('#basicTable').bootstrapTable('refresh');
+		});
+
+	  $("#open").click(function () {
+		  $("#basicTable").bootstrapTable('expandAllRows');
+	  })
+
+		$("#close").click(function (row) {
+			$('#basicTable').bootstrapTable('refresh');
+		})
+
+	 $("#reset").click("click", function() {// 绑定查询按扭
+		  $("#searchForm  input").val("");
+		  $("#searchForm  select").val("");
+		   $("#searchForm  .select-item").html("");
+		  $('#basicTable').bootstrapTable('refresh');
+		});
+		
+				$('#beginInDate').datetimepicker({
+					 format: "YYYY-MM-DD HH:mm:ss"
+				});
+				$('#endInDate').datetimepicker({
+					 format: "YYYY-MM-DD HH:mm:ss"
+				});
+		
+	});
+		
+  function getIdSelections() {
+        return $.map($("#basicTable").bootstrapTable('getSelections'), function (row) {
+            return row.id
+        });
+    }
+  
+  function deleteAll(){
+
+		jp.confirm('确认要删除该初设阶段记录吗?', function(){
+			jp.loading();  	
+			jp.get("${ctx}/filing/legalCompliance/deleteAll?ids=" + getIdSelections(), function(data){
+         	  		if(data.success){
+         	  			$('#basicTable').bootstrapTable('refresh');
+         	  			jp.success(data.msg);
+         	  		}else{
+         	  			jp.error(data.msg);
+         	  		}
+         	  	})
+          	   
+		})
+  }
+  
+    //刷新列表
+  function refresh() {
+      $('#basicTable').bootstrapTable('refresh');
+  }
+  function add(){
+	  jp.openSaveDialog('新增初设阶段', "${ctx}/filing/legalCompliance/form",'1000px', '800px');
+  }
+  
+   function edit(id){//没有权限时,不显示确定按钮
+       if(id == undefined){
+	      id = getIdSelections();
+	}
+	jp.openSaveDialog('编辑初设阶段', "${ctx}/filing/legalCompliance/form?id=" + id, '800px', '500px');
+  }
+
+ function view(id){//没有权限时,不显示确定按钮
+      if(id == undefined){
+             id = getIdSelections();
+      }
+        jp.openViewDialog('查看初设阶段', "${ctx}/filing/legalCompliance/form?id=" + id, '800px', '500px');
+ }
+
+
+	function addRow(list, idx, tpl, row){
+		$(list).append(Mustache.render(tpl, {
+			idx: idx, delBtn: true, row: row
+		}));
+	}
+			
+</script>
+
+

+ 82 - 0
src/main/webapp/webpage/modules/filing/legalCompliance/legalComplianceList.jsp

@@ -0,0 +1,82 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp" %>
+<html>
+<head>
+    <title>票务代理管理</title>
+    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
+    <meta name="decorator" content="ani"/>
+    <%@ include file="/webpage/include/bootstraptable.jsp" %>
+    <%@include file="/webpage/include/treeview.jsp" %>
+    <%@include file="legalComplianceList.js" %>
+    <style type="text/css">
+        .table {
+            table-layout: fixed;
+            word-break: break-all;
+            word-wrap: break-word;
+            text-align: center;
+        }
+
+        .table th, .table td {
+            text-align: center;
+            vertical-align: middle !important;
+        }
+    </style>
+</head>
+<body>
+<div class="wrapper wrapper-content">
+    <div class="panel panel-primary">
+        <div class="panel-heading">
+            <h3 class="panel-title">基础信息列表</h3>
+        </div>
+        <div class="panel-body">
+            <!-- 搜索 -->
+            <div id="search-collapse" class="collapse">
+                <div class="accordion-inner">
+                    <form:form id="searchForm" modelAttribute="legalCompliance"
+                               class="form form-horizontal well clearfix">
+                        <div class="col-xs-12 col-sm-6 col-md-4">
+                            <label class="label-item single-overflow pull-left" title="项目编码:">项目编码:</label>
+                            <form:input path="projectCode" htmlEscape="false" maxlength="257"  class=" form-control"/>
+                        </div>
+                        <div class="col-xs-12 col-sm-6 col-md-4">
+                            <div style="margin-top:26px">
+                                <a id="search" class="btn btn-primary btn-rounded  btn-bordered btn-sm"><i
+                                        class="fa fa-search"></i> 查询</a>
+                                <a id="reset" class="btn btn-primary btn-rounded  btn-bordered btn-sm"><i
+                                        class="fa fa-refresh"></i> 重置</a>
+                            </div>
+                        </div>
+                    </form:form>
+                </div>
+            </div>
+
+            <!-- 工具栏 -->
+            <div id="toolbar">
+                <button id="open" class="btn btn-primary" >
+                    <i class="glyphicon glyphicon-list"></i> 全部展开
+                </button>
+                <button id="close" class="btn btn-primary">
+                    <i class="glyphicon glyphicon-minus"></i> 全部折叠
+                </button>
+                <shiro:hasPermission name="test:filing:legalCompliance:edit">
+                    <button id="edit" class="btn btn-success" disabled onclick="edit()">
+                        <i class="glyphicon glyphicon-edit"></i> 修改
+                    </button>
+                </shiro:hasPermission>
+                <shiro:hasPermission name="test:filing:legalCompliance:import">
+                    <button id="btnImport" class="btn btn-info"><i class="fa fa-folder-open-o"></i> 导入</button>
+                </shiro:hasPermission>
+                <shiro:hasPermission name="test:filing:legalCompliance:export">
+                    <button id="export" class="btn btn-warning">
+                        <i class="fa fa-file-excel-o"></i> 导出
+                    </button>
+                </shiro:hasPermission>
+            </div>
+
+            <!-- 表格 -->
+            <table id="basicTable" data-toolbar="#toolbar"></table>
+        </div>
+    </div>
+</div>
+</body>
+</html>

+ 36 - 77
src/main/webapp/webpage/modules/filing/projectOverview/projectOverviewList.js

@@ -98,7 +98,7 @@ $(document).ready(function() {
 			,{
 		        field: 'projectCode',
 		        title: '项目编码',
-			    width: '100px',
+			    width: 100,
 		        sortable: true,
 		        sortName: 'projectCode'
 		        ,formatter:function(value, row , index){
@@ -123,14 +123,14 @@ $(document).ready(function() {
 		        field: 'monomerCode',
 		        title: '单体编码',
 		        sortable: true,
-			   width: '100px',
+			   width: 100,
 		        sortName: 'monomerCode'
 
 		    }
 			,{
 		        field: 'entryName',
 		        title: '项目名称',
-					   width: '100px',
+					   width: 100,
 		        sortable: true,
 		        sortName: 'entryName'
 
@@ -138,14 +138,14 @@ $(document).ready(function() {
 			,{
 		        field: 'constructionScaleVA',
 		        title: '建设规模<br/>(变电容量)<br/>万伏安',
-					   width: '150px',
+					   width: 150,
 		        sortable: true,
 		        sortName: 'constructionScaleVA'
 		    }
 			,{
 		        field: 'constructionScaleKM',
 		        title: '建设规模<br/>(线路长度)<br/>千米',
-					   width: '150px',
+					   width: 150,
 		        sortable: true,
 		        sortName: 'constructionScaleKM'
 
@@ -153,73 +153,73 @@ $(document).ready(function() {
 				   ,{
 					   field: 'numberOf',
 					   title: '铁塔数量<br/>/钢管杆数量',
-					   width: '150px',
+					   width: 150,
 					   sortable: true,
 					   sortName: 'numberOf'
 				   },{
 					   field: 'conductorType',
 					   title: '导线型号<br/>及双回否型号',
-					   width: '150px',
+					   width: 150,
 					   sortable: true,
 					   sortName: 'conductorType'
 				   },{
 					   field: 'conductorLength',
 					   title: '导线型号<br/>及双回否长度',
-					   width: '150px',
+					   width: 150,
 					   sortable: true,
 					   sortName: 'conductorLength'
 				   },{
 					   field: 'theSource',
 					   title: '变压器来源<br/>新购/利旧,<br/>主变来源的<br/>变电站',
-					   width: '150px',
+					   width: 150,
 					   sortable: true,
 					   sortName: 'theSource'
 				   },{
 					   field: 'modularConstructionScheme',
 					   title: '模块化<br/>建设方案',
-					   width: '150px',
+					   width: 150,
 					   sortable: true,
 					   sortName: 'modularConstructionScheme'
 				   },{
 					   field: 'descriptionOf',
 					   title: '工程难点<br/>描述',
-					   width: '150px',
+					   width: 150,
 					   sortable: true,
 					   sortName: 'descriptionOf'
 				   },{
 					   field: 'milestoneStartDate',
 					   title: '里程碑<br/>开工日期',
-					   width: '150px',
+					   width: 150,
 					   sortable: true,
 					   sortName: 'milestoneStartDate'
 				   },{
 					   field: 'milestoneCommissioningDate',
 					   title: '里程碑<br/>投产日期',
-					   width: '150px',
+					   width: 150,
 					   sortable: true,
 					   sortName: 'milestoneCommissioningDate'
 				   },{
 					   field: 'startDate',
 					   title: '内控开工<br/>日期',
-					   width: '150px',
+					   width: 150,
 					   sortable: true,
 					   sortName: 'startDate'
 				   },{
 					   field: 'internalControl',
 					   title: '内控投产<br/>日期',
-					   width: '150px',
+					   width: 150,
 					   sortable: true,
 					   sortName: 'internalControl'
 				   },{
 					   field: 'earliestArrival',
 					   title: '主设备<br/>最早到货<br/>时间',
-					   width: '150px',
+					   width: 150,
 					   sortable: true,
 					   sortName: 'earliestArrival'
 				   },{
 					   field: 'arrivalPlan',
 					   title: '线路塔材<br/>到货计划',
-					   width: '150px',
+					   width: 150,
 					   sortable: true,
 					   sortName: 'arrivalPlan'
 				   }
@@ -254,9 +254,10 @@ $(document).ready(function() {
 			pageSize: 10,
 			pageList: [10, 25],
 			columns: [{
+				width: 62
+			},{
 				field: 'projectCode',
-				title: '项目编码',
-				width: '164px',
+				width: 100,
 				formatter:function(value, row , index){
 					if(value == null || value ==""){
 						value = "-";
@@ -274,98 +275,56 @@ $(document).ready(function() {
 			}, {
 				field: 'monomerCode',
 				title: '单体编码',
-				width: '100px'
+				width: 100
 			}, {
 				field: 'entryName',
 				title: '项目名称',
-				width: '100px',
+				width: 100,
 			},{
 				field: 'constructionScaleVA',
-				title: '建设规模<br/>(变电容量)<br/>万伏安',
-				width: '150px',
-				sortable: true,
-				sortName: 'constructionScaleVA'
+				width: 150,
 			}
 				,{
 					field: 'constructionScaleKM',
-					title: '建设规模<br/>(线路长度)<br/>千米',
-					width: '150px',
-					sortable: true,
-					sortName: 'constructionScaleKM'
+					width: 150,
 
 				}
 				,{
 					field: 'numberOf',
-					title: '铁塔数量<br/>/钢管杆数量',
-					width: '150px',
-					sortable: true,
-					sortName: 'numberOf'
+					width: 150,
 				},{
 					field: 'conductorType',
-					title: '导线型号<br/>及双回否型号',
-					width: '150px',
-					sortable: true,
-					sortName: 'conductorType'
+					width: 150,
 				},{
 					field: 'conductorLength',
-					title: '导线型号<br/>及双回否长度',
-					width: '150px',
-					sortable: true,
-					sortName: 'conductorLength'
+					width: 150,
 				},{
 					field: 'theSource',
-					title: '变压器来源<br/>新购/利旧,<br/>主变来源的<br/>变电站',
-					width: '150px',
-					sortable: true,
-					sortName: 'theSource'
+					width: 150,
 				},{
 					field: 'modularConstructionScheme',
-					title: '模块化<br/>建设方案',
-					width: '150px',
-					sortable: true,
-					sortName: 'modularConstructionScheme'
+					width: 150,
 				},{
 					field: 'descriptionOf',
-					title: '工程难点<br/>描述',
-					width: '150px',
-					sortable: true,
-					sortName: 'descriptionOf'
+					width: 150,
 				},{
 					field: 'milestoneStartDate',
-					title: '里程碑<br/>开工日期',
-					width: '150px',
-					sortable: true,
-					sortName: 'milestoneStartDate'
+					width: 150,
 				},{
 					field: 'milestoneCommissioningDate',
-					title: '里程碑<br/>投产日期',
-					width: '150px',
-					sortable: true,
-					sortName: 'milestoneCommissioningDate'
+					width: 150,
 				},{
 					field: 'startDate',
-					title: '内控开工<br/>日期',
-					width: '150px',
-					sortable: true,
-					sortName: 'startDate'
+					width: 150,
 				},{
 					field: 'internalControl',
-					title: '内控投产<br/>日期',
-					width: '150px',
-					sortable: true,
-					sortName: 'internalControl'
+					width: 150,
 				},{
 					field: 'earliestArrival',
-					title: '主设备<br/>最早到货<br/>时间',
-					width: '150px',
-					sortable: true,
-					sortName: 'earliestArrival'
+					width: 150,
 				},{
 					field: 'arrivalPlan',
-					title: '线路塔材<br/>到货计划',
-					width: '150px',
-					sortable: true,
-					sortName: 'arrivalPlan'
+					width: 150,
 				}]
 		});
 	};

+ 2 - 2
src/main/webapp/webpage/modules/filing/projectOverview/projectOverviewList.jsp

@@ -2,7 +2,7 @@
 <%@ include file="/webpage/include/taglib.jsp" %>
 <html>
 <head>
-    <title>可研阶段管理</title>
+    <title>项目概述管理</title>
     <meta http-equiv="Content-type" content="text/html; charset=utf-8">
     <meta name="decorator" content="ani"/>
     <%@ include file="/webpage/include/bootstraptable.jsp" %>
@@ -26,7 +26,7 @@
 <div class="wrapper wrapper-content">
     <div class="panel panel-primary">
         <div class="panel-heading">
-            <h3 class="panel-title">基础信息列表</h3>
+            <h3 class="panel-title">项目概述列表</h3>
         </div>
         <div class="panel-body">
             <!-- 搜索 -->

+ 22 - 51
src/main/webapp/webpage/modules/filing/reviewStage/reviewStageList.js

@@ -98,7 +98,7 @@ $(document).ready(function() {
 			,{
 		        field: 'projectCode',
 		        title: '项目编码',
-			    width: '100px',
+			    width: 100,
 		        sortable: true,
 		        sortName: 'projectCode'
 		        ,formatter:function(value, row , index){
@@ -123,14 +123,14 @@ $(document).ready(function() {
 		        field: 'monomerCode',
 		        title: '单体编码',
 		        sortable: true,
-			   width: '100px',
+			   width: 100,
 		        sortName: 'monomerCode'
 
 		    }
 			,{
 		        field: 'entryName',
 		        title: '项目名称',
-					   width: '100px',
+					   width: 100,
 		        sortable: true,
 		        sortName: 'entryName'
 
@@ -138,49 +138,49 @@ $(document).ready(function() {
 			,{
 		        field: 'batchOverview',
 		        title: '批概动态',
-					   width: '100px',
+					   width: 100,
 		        sortable: true,
 		        sortName: 'batchOverview'
 		    }
 				   ,{
 					   field: 'batchStatistics',
 					   title: '批概静态',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'batchStatistics'
 				   }
 			, {
 					   field: 'estimateCode',
 					   title: '批概场地清理费',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'estimateCode'
 
 				   }, {
 					   field: 'designCost',
 					   title: '设计费批概',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'designCost'
 
 				   }, {
 					   field: 'supervisionFeeCode',
 					   title: '监理费批概',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'supervisionFeeCode'
 
 				   }, {
 					   field: 'managementFeeCode',
 					   title: '批概法人管理费',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'managementFeeCode'
 
 				   }, {
 					   field: 'dataCode',
 					   title: '其他概算中需要的数据',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'dataCode'
 
@@ -216,11 +216,10 @@ $(document).ready(function() {
 			pageSize: 10,
 			pageList: [10, 25],
 			columns: [{
+				width: 64
+			},{
 				field: 'projectCode',
-				title: '项目编码',
-				width: '100px',
-				sortable: true,
-				sortName: 'projectCode'
+				width: 100
 				,formatter:function(value, row , index){
 					if(value == null || value ==""){
 						value = "-";
@@ -236,61 +235,33 @@ $(document).ready(function() {
 				}
 			}, {
 				field: 'monomerCode',
-				title: '单体编码',
-				width: '100px'
+				width: 100
 			}, {
 				field: 'entryName',
-				title: '项目名称',
-				width: '100px',
+				width: 100,
 			},{
 				field: 'batchOverview',
-				title: '批概动态',
-				width: '100px',
-				sortable: true,
-				sortName: 'batchOverview'
+				width: 100,
 			}
 				,{
 					field: 'batchStatistics',
-					title: '批概静态',
-					width: '100px',
-					sortable: true,
-					sortName: 'batchStatistics'
+					width: 100,
 				}
 				, {
 					field: 'estimateCode',
-					title: '批概场地清理费',
-					width: '100px',
-					sortable: true,
-					sortName: 'estimateCode'
-
+					width: 100,
 				}, {
 					field: 'designCost',
-					title: '设计费批概',
-					width: '100px',
-					sortable: true,
-					sortName: 'designCost'
-
+					width: 100,
 				}, {
 					field: 'supervisionFeeCode',
-					title: '监理费批概',
-					width: '100px',
-					sortable: true,
-					sortName: 'supervisionFeeCode'
-
+					width: 100,
 				}, {
 					field: 'managementFeeCode',
-					title: '批概法人管理费',
-					width: '100px',
-					sortable: true,
-					sortName: 'managementFeeCode'
-
+					width: 100,
 				}, {
 					field: 'dataCode',
-					title: '其他概算中需要的数据',
-					width: '100px',
-					sortable: true,
-					sortName: 'dataCode'
-
+					width: 100,
 				}
 				]
 		});

+ 16 - 31
src/main/webapp/webpage/modules/filing/studyStage/studyStageList.js

@@ -98,7 +98,7 @@ $(document).ready(function() {
 			,{
 		        field: 'projectCode',
 		        title: '项目编码',
-			    width: '100px',
+			    width: 100,
 		        sortable: true,
 		        sortName: 'projectCode'
 		        ,formatter:function(value, row , index){
@@ -123,14 +123,14 @@ $(document).ready(function() {
 		        field: 'monomerCode',
 		        title: '单体编码',
 		        sortable: true,
-			   width: '100px',
+			   width: 100,
 		        sortName: 'monomerCode'
 
 		    }
 			,{
 		        field: 'entryName',
 		        title: '项目名称',
-					   width: '100px',
+					   width: 100,
 		        sortable: true,
 		        sortName: 'entryName'
 
@@ -138,14 +138,14 @@ $(document).ready(function() {
 			,{
 		        field: 'replyNo',
 		        title: '可研批复文号',
-					   width: '100px',
+					   width: 100,
 		        sortable: true,
 		        sortName: 'replyNo'
 		    }
 			,{
 		        field: 'approvalDate',
 		        title: '可研批复日期',
-					   width: '100px',
+					   width: 100,
 		        sortable: true,
 		        sortName: 'approvalDate'
 
@@ -153,13 +153,13 @@ $(document).ready(function() {
 				   ,{
 					   field: 'staticInvestment',
 					   title: '可研静态态投资金额',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'staticInvestment'
 				   },{
 					   field: 'dynamicInvestment',
 					   title: '可研动态投资金额',
-					   width: '100px',
+					   width: 100,
 					   sortable: true,
 					   sortName: 'dynamicInvestment'
 				   }
@@ -194,9 +194,10 @@ $(document).ready(function() {
 			pageSize: 10,
 			pageList: [10, 25],
 			columns: [{
+				width: 64
+			},{
 				field: 'projectCode',
-				title: '项目编码',
-				width: '164px',
+				width: 100,
 				formatter:function(value, row , index){
 					if(value == null || value ==""){
 						value = "-";
@@ -209,43 +210,27 @@ $(document).ready(function() {
 					return value;
 				</c:otherwise>
 					</c:choose>
-
 				}
 			}, {
 				field: 'monomerCode',
-				title: '单体编码',
-				width: '100px'
+				width: 100
 			}, {
 				field: 'entryName',
-				title: '项目名称',
-				width: '100px',
+				width: 100,
 			},{
 				field: 'replyNo',
-				title: '可研批复文号',
-				width: '100px',
-				sortable: true,
-				sortName: 'replyNo'
+				width: 100,
 			}
 				,{
 					field: 'approvalDate',
-					title: '可研批复日期',
-					width: '100px',
-					sortable: true,
-					sortName: 'approvalDate'
-
+					width: 100,
 				}
 				,{
 					field: 'staticInvestment',
-					title: '可研静态态投资金额',
-					width: '100px',
-					sortable: true,
-					sortName: 'staticInvestment'
+					width: 100,
 				},{
 					field: 'dynamicInvestment',
-					title: '可研动态投资金额',
-					width: '100px',
-					sortable: true,
-					sortName: 'dynamicInvestment'
+					width: 100,
 				}]
 		});
 	};

+ 1 - 1
src/main/webapp/webpage/modules/filing/studyStage/studyStageList.jsp

@@ -26,7 +26,7 @@
 <div class="wrapper wrapper-content">
     <div class="panel panel-primary">
         <div class="panel-heading">
-            <h3 class="panel-title">基础信息列表</h3>
+            <h3 class="panel-title">可研阶段列表</h3>
         </div>
         <div class="panel-body">
             <!-- 搜索 -->