user5 пре 2 година
родитељ
комит
e9f817e805
73 измењених фајлова са 18540 додато и 0 уклоњено
  1. 345 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/ReserveElectricityWork.java
  2. 438 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/ReservePolicyHand.java
  3. 257 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/ReservePreconstruction.java
  4. 263 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/ReserveProcessProject.java
  5. 412 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/ReserveSafety.java
  6. 365 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/ReserveSummary.java
  7. 39 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/PolicyHandingMapper.java
  8. 39 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/ReserveElectricityWorkMapper.java
  9. 39 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/ReservePreconstructMapper.java
  10. 92 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/ReserveProcessProjectMapper.java
  11. 38 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/ReserveSafeDisclosureMapper.java
  12. 39 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/SummaryStatisticMapper.java
  13. 410 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/xml/PolicyHandingMapper.xml
  14. 316 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/xml/ReserveElectricityWorkMapper.xml
  15. 285 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/xml/ReservePreconstructMapper.xml
  16. 478 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/xml/ReserveProcessProjectMapper.xml
  17. 391 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/xml/ReserveSafeDisclosureMapper.xml
  18. 335 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/xml/SummaryStatisticMapper.xml
  19. 98 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/service/PolicyHandingService.java
  20. 102 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/service/ReserveElectricityWorkService.java
  21. 97 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/service/ReservePreconstructService.java
  22. 162 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/service/ReserveProcessProjectService.java
  23. 99 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/service/ReserveSafeDisclosureService.java
  24. 98 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/service/SummaryStatisticService.java
  25. 734 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/utils/ReserveProcessProjectExportUtil.java
  26. 664 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/utils/ReserveProcessProjectProUtil.java
  27. 229 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/web/PolicyHandingController.java
  28. 230 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/web/ReserveElectricityWorkController.java
  29. 227 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/web/ReservePreconstructController.java
  30. 380 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/web/ReserveProcessProjectController.java
  31. 231 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/web/ReserveSafeDisclosureController.java
  32. 227 0
      src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/web/SummaryStatisticController.java
  33. BIN
      src/main/resources/freemarker/excelmodel/electricityWork.xlsx
  34. BIN
      src/main/resources/freemarker/excelmodel/policyHanding.xlsx
  35. BIN
      src/main/resources/freemarker/excelmodel/preconstruct.xlsx
  36. BIN
      src/main/resources/freemarker/excelmodel/projectReserveManagement.xlsx
  37. BIN
      src/main/resources/freemarker/excelmodel/reserveSafety.xlsx
  38. 315 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/policyHanding/reserveManagementForm.jsp
  39. 526 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/policyHanding/reserveManagementInformation.js
  40. 98 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/policyHanding/reserveManagementInformation.jsp
  41. 337 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/policyHanding/reserveManagementModifyByjl.jsp
  42. 401 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/policyHanding/reserveManagementModifyByzz.jsp
  43. 366 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/policyHanding/reserveManagementView.jsp
  44. 268 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveElectricityWork/reserveManagementForm.jsp
  45. 434 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveElectricityWork/reserveManagementInformation.js
  46. 98 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveElectricityWork/reserveManagementInformation.jsp
  47. 337 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveElectricityWork/reserveManagementModifyByjl.jsp
  48. 267 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveElectricityWork/reserveManagementModifyByzz.jsp
  49. 229 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveElectricityWork/reserveManagementView.jsp
  50. 224 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveManage/reserveManagementForm.jsp
  51. 404 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveManage/reserveManagementInformation.js
  52. 98 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveManage/reserveManagementInformation.jsp
  53. 337 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveManage/reserveManagementModifyByjl.jsp
  54. 229 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveManage/reserveManagementModifyByzz.jsp
  55. 190 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveManage/reserveManagementView.jsp
  56. 234 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reservePreconstruct/reserveManagementForm.jsp
  57. 410 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reservePreconstruct/reserveManagementInformation.js
  58. 98 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reservePreconstruct/reserveManagementInformation.jsp
  59. 337 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reservePreconstruct/reserveManagementModifyByjl.jsp
  60. 242 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reservePreconstruct/reserveManagementModifyByzz.jsp
  61. 214 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reservePreconstruct/reserveManagementView.jsp
  62. 344 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveSafeDisclosure/reserveManagementForm.jsp
  63. 430 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveSafeDisclosure/reserveManagementInformation.js
  64. 98 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveSafeDisclosure/reserveManagementInformation.jsp
  65. 337 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveSafeDisclosure/reserveManagementModifyByjl.jsp
  66. 404 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveSafeDisclosure/reserveManagementModifyByzz.jsp
  67. 324 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveSafeDisclosure/reserveManagementView.jsp
  68. 268 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/reserveManagementForm.jsp
  69. 487 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/reserveManagementInformation.js
  70. 98 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/reserveManagementInformation.jsp
  71. 337 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/reserveManagementModifyByjl.jsp
  72. 292 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/reserveManagementModifyByzz.jsp
  73. 269 0
      src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/reserveManagementView.jsp

+ 345 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/ReserveElectricityWork.java

@@ -0,0 +1,345 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity;
+
+import com.jeeplus.common.utils.excel.annotation.ExcelField;
+import com.jeeplus.core.persistence.DataEntity;
+
+import java.util.Date;
+
+/**
+ * 储备项目带电作业信息表
+ * @author: 王强
+ * @create: 2022-07-20 10:40
+ **/
+public class ReserveElectricityWork extends DataEntity<ReserveElectricityWork> {
+
+    private String projectYear;             //项目年份
+    private String projectNature;           //项目性质
+    private String demandUnit;              //需求单位
+    private String district;                //区域
+    private String projectGroup;            //项目分组
+    private String reserveBatches;          //储备批次
+    private String blockSupply;             //供电区域
+    private String gridNumber;              //网格编号
+    private String cellNumber;              //单元格编号
+    private String projectReserveId;        //项目储备编号
+    private String projectName;             //项目名称
+    private String constructionNecessityAndContent;           //建设必要性及内容
+    private String substationName;           //变电站名称
+    private String circuitName;              //线路名称
+    private String netRackProjectDivide;     //网架项目划分
+    private String requirementType;          //需求类型
+    private String costEstimate;             //费用估算
+    private String basicRemarks;             //备注
+    private String reserveProgress;          //储备进度
+    private String implementPlan;            //是否纳入实施计划
+    private String implementBatch;           //初定实施批次
+    private String teansFormerOrPackageProject;     //是否变压器或打包项目
+    private String packageProject;           //是否打包项目
+    private String packageItemQuantity;      //打包项目设备数量
+    private String deviceName;               //设备名称
+    private String workWithElectricity;      //是否带电作业
+    private String electricityTypeNumber;    //带电作业类型编号
+    private String electricityWorkNumber;    //带电作业次数
+    private String noStopWorkPlan;           //不停电作业方案
+    private String reasonsForNotWorkInterruption;  //无法不停电作业原因
+    private String powerOutagePlan;          //停电作业方案
+    private String planner;                  //方案编制人
+    private String siteSurveyor;             //现场查勘人
+
+    @ExcelField(title="项目年份", align=2, sort=1)
+    public String getProjectYear() {
+        return projectYear;
+    }
+
+    public void setProjectYear(String projectYear) {
+        this.projectYear = projectYear;
+    }
+
+    @ExcelField(title="项目性质", align=2, sort=2)
+    public String getProjectNature() {
+        return projectNature;
+    }
+
+    public void setProjectNature(String projectNature) {
+        this.projectNature = projectNature;
+    }
+
+    @ExcelField(title="需求单位", align=2, sort=3)
+    public String getDemandUnit() {
+        return demandUnit;
+    }
+
+    public void setDemandUnit(String demandUnit) {
+        this.demandUnit = demandUnit;
+    }
+
+    @ExcelField(title="区域", align=2, sort=4)
+    public String getDistrict() {
+        return district;
+    }
+
+    public void setDistrict(String district) {
+        this.district = district;
+    }
+
+    @ExcelField(title="项目分组", align=2, sort=5)
+    public String getProjectGroup() {
+        return projectGroup;
+    }
+
+    public void setProjectGroup(String projectGroup) {
+        this.projectGroup = projectGroup;
+    }
+
+    @ExcelField(title="储备批次", align=2, sort=6)
+    public String getReserveBatches() {
+        return reserveBatches;
+    }
+
+    public void setReserveBatches(String reserveBatches) {
+        this.reserveBatches = reserveBatches;
+    }
+
+    @ExcelField(title="供电区域", align=2, sort=7)
+    public String getBlockSupply() {
+        return blockSupply;
+    }
+
+    public void setBlockSupply(String blockSupply) {
+        this.blockSupply = blockSupply;
+    }
+
+    @ExcelField(title="网格编号", align=2, sort=8)
+    public String getGridNumber() {
+        return gridNumber;
+    }
+
+    public void setGridNumber(String gridNumber) {
+        this.gridNumber = gridNumber;
+    }
+
+    @ExcelField(title="单元格编号", align=2, sort=9)
+    public String getCellNumber() {
+        return cellNumber;
+    }
+
+    public void setCellNumber(String cellNumber) {
+        this.cellNumber = cellNumber;
+    }
+
+    @ExcelField(title="项目储备编号", align=2, sort=10)
+    public String getProjectReserveId() {
+        return projectReserveId;
+    }
+
+    public void setProjectReserveId(String projectReserveId) {
+        this.projectReserveId = projectReserveId;
+    }
+
+    @ExcelField(title="项目名称", align=2, sort=11)
+    public String getProjectName() {
+        return projectName;
+    }
+
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+    @ExcelField(title="建设必要性及内容", align=2, sort=12)
+    public String getConstructionNecessityAndContent() {
+        return constructionNecessityAndContent;
+    }
+
+    public void setConstructionNecessityAndContent(String constructionNecessityAndContent) {
+        this.constructionNecessityAndContent = constructionNecessityAndContent;
+    }
+
+    @ExcelField(title="变电站名称", align=2, sort=13)
+    public String getSubstationName() {
+        return substationName;
+    }
+
+    public void setSubstationName(String substationName) {
+        this.substationName = substationName;
+    }
+
+    @ExcelField(title="线路名称", align=2, sort=14)
+    public String getCircuitName() {
+        return circuitName;
+    }
+
+    public void setCircuitName(String circuitName) {
+        this.circuitName = circuitName;
+    }
+
+    @ExcelField(title="网架项目划分", align=2, sort=15)
+    public String getNetRackProjectDivide() {
+        return netRackProjectDivide;
+    }
+
+    public void setNetRackProjectDivide(String netRackProjectDivide) {
+        this.netRackProjectDivide = netRackProjectDivide;
+    }
+
+    @ExcelField(title="需求类型", align=2, sort=16)
+    public String getRequirementType() {
+        return requirementType;
+    }
+
+    public void setRequirementType(String requirementType) {
+        this.requirementType = requirementType;
+    }
+
+    @ExcelField(title="费用估算", align=2, sort=17)
+    public String getCostEstimate() {
+        return costEstimate;
+    }
+
+    public void setCostEstimate(String costEstimate) {
+        this.costEstimate = costEstimate;
+    }
+
+    @ExcelField(title="备注", align=2, sort=18)
+    public String getBasicRemarks() {
+        return basicRemarks;
+    }
+
+    public void setBasicRemarks(String basicRemarks) {
+        this.basicRemarks = basicRemarks;
+    }
+
+    @ExcelField(title="储备进度", align=2, sort=19)
+    public String getReserveProgress() {
+        return reserveProgress;
+    }
+
+    public void setReserveProgress(String reserveProgress) {
+        this.reserveProgress = reserveProgress;
+    }
+
+    @ExcelField(title="是否纳入实施计划", align=2, sort=20)
+    public String getImplementPlan() {
+        return implementPlan;
+    }
+
+    public void setImplementPlan(String implementPlan) {
+        this.implementPlan = implementPlan;
+    }
+
+    @ExcelField(title="初定实施批次", align=2, sort=21)
+    public String getImplementBatch() {
+        return implementBatch;
+    }
+
+    public void setImplementBatch(String implementBatch) {
+        this.implementBatch = implementBatch;
+    }
+
+    @ExcelField(title="是否变压器或打包项目", align=2, sort=22)
+    public String getTeansFormerOrPackageProject() {
+        return teansFormerOrPackageProject;
+    }
+
+    public void setTeansFormerOrPackageProject(String teansFormerOrPackageProject) {
+        this.teansFormerOrPackageProject = teansFormerOrPackageProject;
+    }
+
+    @ExcelField(title="是否打包项目", align=2, sort=23)
+    public String getPackageProject() {
+        return packageProject;
+    }
+
+    public void setPackageProject(String packageProject) {
+        this.packageProject = packageProject;
+    }
+
+    @ExcelField(title="打包项目设备数量", align=2, sort=24)
+    public String getPackageItemQuantity() {
+        return packageItemQuantity;
+    }
+
+    public void setPackageItemQuantity(String packageItemQuantity) {
+        this.packageItemQuantity = packageItemQuantity;
+    }
+
+    @ExcelField(title="设备名称", align=2, sort=25)
+    public String getDeviceName() {
+        return deviceName;
+    }
+
+    public void setDeviceName(String deviceName) {
+        this.deviceName = deviceName;
+    }
+
+    @ExcelField(title="是否带电作业", align=2, sort=26)
+    public String getWorkWithElectricity() {
+        return workWithElectricity;
+    }
+
+    public void setWorkWithElectricity(String workWithElectricity) {
+        this.workWithElectricity = workWithElectricity;
+    }
+
+    @ExcelField(title="带电作业类型编号", align=2, sort=27)
+    public String getElectricityTypeNumber() {
+        return electricityTypeNumber;
+    }
+
+    public void setElectricityTypeNumber(String electricityTypeNumber) {
+        this.electricityTypeNumber = electricityTypeNumber;
+    }
+
+    @ExcelField(title="带电作业次数", align=2, sort=28)
+    public String getElectricityWorkNumber() {
+        return electricityWorkNumber;
+    }
+
+    public void setElectricityWorkNumber(String electricityWorkNumber) {
+        this.electricityWorkNumber = electricityWorkNumber;
+    }
+
+    @ExcelField(title="不停电作业方案", align=2, sort=29)
+    public String getNoStopWorkPlan() {
+        return noStopWorkPlan;
+    }
+
+    public void setNoStopWorkPlan(String noStopWorkPlan) {
+        this.noStopWorkPlan = noStopWorkPlan;
+    }
+
+    @ExcelField(title="无法不停电作业原因", align=2, sort=30)
+    public String getReasonsForNotWorkInterruption() {
+        return reasonsForNotWorkInterruption;
+    }
+
+    public void setReasonsForNotWorkInterruption(String reasonsForNotWorkInterruption) {
+        this.reasonsForNotWorkInterruption = reasonsForNotWorkInterruption;
+    }
+
+    @ExcelField(title="停电作业方案", align=2, sort=31)
+    public String getPowerOutagePlan() {
+        return powerOutagePlan;
+    }
+
+    public void setPowerOutagePlan(String powerOutagePlan) {
+        this.powerOutagePlan = powerOutagePlan;
+    }
+
+    @ExcelField(title="方案编制人", align=2, sort=32)
+    public String getPlanner() {
+        return planner;
+    }
+
+    public void setPlanner(String planner) {
+        this.planner = planner;
+    }
+
+    @ExcelField(title="现场查勘人", align=2, sort=33)
+    public String getSiteSurveyor() {
+        return siteSurveyor;
+    }
+
+    public void setSiteSurveyor(String siteSurveyor) {
+        this.siteSurveyor = siteSurveyor;
+    }
+}

+ 438 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/ReservePolicyHand.java

@@ -0,0 +1,438 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity;
+
+import com.jeeplus.core.persistence.DataEntity;
+
+import java.util.Date;
+
+/**
+ * 储备项目政策处理信息表
+ * @author: 王强
+ * @create: 2022-07-20 10:49
+ **/
+public class ReservePolicyHand extends DataEntity<ReservePolicyHand> {
+
+
+    private String projectYear;             //项目年份
+    private String projectNature;           //项目性质
+    private String demandUnit;              //需求单位
+    private String district;                //区域
+    private String projectGroup;            //项目分组
+    private String reserveBatches;          //储备批次
+    private String blockSupply;             //供电区域
+    private String gridNumber;              //网格编号
+    private String cellNumber;              //单元格编号
+    private String projectReserveId;        //项目储备编号
+    private String projectName;             //项目名称
+    private String constructionNecessityAndContent;           //建设必要性及内容
+    private String substationName;           //变电站名称
+    private String circuitName;              //线路名称
+    private String netRackProjectDivide;     //网架项目划分
+    private String requirementType;          //需求类型
+    private String costEstimate;             //费用估算
+    private String basicRemarks;             //备注
+    private String reserveProgress;          //储备进度
+    private String implementPlan;            //是否纳入实施计划  从6中读取
+    private String intendBatch;              //拟实施批次       从6中读取
+    private String powerSupplyArea;          //供电所辖区
+    private String constructionSpot;         //施工地点
+    private String includeCivilWork;         //是否含土建工作量
+    private String poleWorkload;             //是否含立杆工作量
+    private String projectManager;           //项目经理         从1中读取
+    private String proposedConstructionUnit; //拟定施工单位
+    private String overToGovernment;         //是否移交政处单位图纸
+    private String governmentOffice;         //是否存在政处
+    private String officeDescription;        //政处描述
+    private String administrativeDifficulty; //政处难度
+    private String administrativeObjectNumber;  //政处对象数量
+    private String propertyUnitOfficeDescription;//政处对象描述(产权单位)
+    private String officeType;               //政处类型
+    private String startOfficeTime;          //启动政处时间
+    private String planApprovalRequire;      //是否需规划报批
+    private String planApprovalCompletion;   //规划报批完成情况
+    private String safetyReview;             //是否需办理安评航评手续
+    private String safetyReviewCompletion;   //安评完成情况
+    private String officeAmount;             //政处对象金额
+    private String paymentCompleted;         //是否完成付款
+    private String officeProgress;           //政处进度
+    private String civilEngineeringApproach; //是否允许土建进场
+    private String electricApproach;         //是否允许电气进场
+    private String civilConstructionMaterialOpen;   //是否允许开土建领料单
+    private String electricalPickListOpen;          //是否允许开电气领料单
+    private String administrativeOfficeRemark;      //政处进度-备注
+
+    public String getProjectYear() {
+        return projectYear;
+    }
+
+    public void setProjectYear(String projectYear) {
+        this.projectYear = projectYear;
+    }
+
+    public String getProjectNature() {
+        return projectNature;
+    }
+
+    public void setProjectNature(String projectNature) {
+        this.projectNature = projectNature;
+    }
+
+    public String getDemandUnit() {
+        return demandUnit;
+    }
+
+    public void setDemandUnit(String demandUnit) {
+        this.demandUnit = demandUnit;
+    }
+
+    public String getDistrict() {
+        return district;
+    }
+
+    public void setDistrict(String district) {
+        this.district = district;
+    }
+
+    public String getProjectGroup() {
+        return projectGroup;
+    }
+
+    public void setProjectGroup(String projectGroup) {
+        this.projectGroup = projectGroup;
+    }
+
+    public String getReserveBatches() {
+        return reserveBatches;
+    }
+
+    public void setReserveBatches(String reserveBatches) {
+        this.reserveBatches = reserveBatches;
+    }
+
+    public String getBlockSupply() {
+        return blockSupply;
+    }
+
+    public void setBlockSupply(String blockSupply) {
+        this.blockSupply = blockSupply;
+    }
+
+    public String getGridNumber() {
+        return gridNumber;
+    }
+
+    public void setGridNumber(String gridNumber) {
+        this.gridNumber = gridNumber;
+    }
+
+    public String getCellNumber() {
+        return cellNumber;
+    }
+
+    public void setCellNumber(String cellNumber) {
+        this.cellNumber = cellNumber;
+    }
+
+    public String getProjectReserveId() {
+        return projectReserveId;
+    }
+
+    public void setProjectReserveId(String projectReserveId) {
+        this.projectReserveId = projectReserveId;
+    }
+
+    public String getProjectName() {
+        return projectName;
+    }
+
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+    public String getConstructionNecessityAndContent() {
+        return constructionNecessityAndContent;
+    }
+
+    public void setConstructionNecessityAndContent(String constructionNecessityAndContent) {
+        this.constructionNecessityAndContent = constructionNecessityAndContent;
+    }
+
+    public String getSubstationName() {
+        return substationName;
+    }
+
+    public void setSubstationName(String substationName) {
+        this.substationName = substationName;
+    }
+
+    public String getCircuitName() {
+        return circuitName;
+    }
+
+    public void setCircuitName(String circuitName) {
+        this.circuitName = circuitName;
+    }
+
+    public String getNetRackProjectDivide() {
+        return netRackProjectDivide;
+    }
+
+    public void setNetRackProjectDivide(String netRackProjectDivide) {
+        this.netRackProjectDivide = netRackProjectDivide;
+    }
+
+    public String getRequirementType() {
+        return requirementType;
+    }
+
+    public void setRequirementType(String requirementType) {
+        this.requirementType = requirementType;
+    }
+
+    public String getCostEstimate() {
+        return costEstimate;
+    }
+
+    public void setCostEstimate(String costEstimate) {
+        this.costEstimate = costEstimate;
+    }
+
+    public String getBasicRemarks() {
+        return basicRemarks;
+    }
+
+    public void setBasicRemarks(String basicRemarks) {
+        this.basicRemarks = basicRemarks;
+    }
+
+    public String getReserveProgress() {
+        return reserveProgress;
+    }
+
+    public void setReserveProgress(String reserveProgress) {
+        this.reserveProgress = reserveProgress;
+    }
+
+    public String getImplementPlan() {
+        return implementPlan;
+    }
+
+    public void setImplementPlan(String implementPlan) {
+        this.implementPlan = implementPlan;
+    }
+
+    public String getIntendBatch() {
+        return intendBatch;
+    }
+
+    public void setIntendBatch(String intendBatch) {
+        this.intendBatch = intendBatch;
+    }
+
+    public String getPowerSupplyArea() {
+        return powerSupplyArea;
+    }
+
+    public void setPowerSupplyArea(String powerSupplyArea) {
+        this.powerSupplyArea = powerSupplyArea;
+    }
+
+    public String getConstructionSpot() {
+        return constructionSpot;
+    }
+
+    public void setConstructionSpot(String constructionSpot) {
+        this.constructionSpot = constructionSpot;
+    }
+
+    public String getIncludeCivilWork() {
+        return includeCivilWork;
+    }
+
+    public void setIncludeCivilWork(String includeCivilWork) {
+        this.includeCivilWork = includeCivilWork;
+    }
+
+    public String getPoleWorkload() {
+        return poleWorkload;
+    }
+
+    public void setPoleWorkload(String poleWorkload) {
+        this.poleWorkload = poleWorkload;
+    }
+
+    public String getProjectManager() {
+        return projectManager;
+    }
+
+    public void setProjectManager(String projectManager) {
+        this.projectManager = projectManager;
+    }
+
+    public String getProposedConstructionUnit() {
+        return proposedConstructionUnit;
+    }
+
+    public void setProposedConstructionUnit(String proposedConstructionUnit) {
+        this.proposedConstructionUnit = proposedConstructionUnit;
+    }
+
+    public String getOverToGovernment() {
+        return overToGovernment;
+    }
+
+    public void setOverToGovernment(String overToGovernment) {
+        this.overToGovernment = overToGovernment;
+    }
+
+    public String getGovernmentOffice() {
+        return governmentOffice;
+    }
+
+    public void setGovernmentOffice(String governmentOffice) {
+        this.governmentOffice = governmentOffice;
+    }
+
+    public String getOfficeDescription() {
+        return officeDescription;
+    }
+
+    public void setOfficeDescription(String officeDescription) {
+        this.officeDescription = officeDescription;
+    }
+
+    public String getAdministrativeDifficulty() {
+        return administrativeDifficulty;
+    }
+
+    public void setAdministrativeDifficulty(String administrativeDifficulty) {
+        this.administrativeDifficulty = administrativeDifficulty;
+    }
+
+    public String getAdministrativeObjectNumber() {
+        return administrativeObjectNumber;
+    }
+
+    public void setAdministrativeObjectNumber(String administrativeObjectNumber) {
+        this.administrativeObjectNumber = administrativeObjectNumber;
+    }
+
+    public String getPropertyUnitOfficeDescription() {
+        return propertyUnitOfficeDescription;
+    }
+
+    public void setPropertyUnitOfficeDescription(String propertyUnitOfficeDescription) {
+        this.propertyUnitOfficeDescription = propertyUnitOfficeDescription;
+    }
+
+    public String getOfficeType() {
+        return officeType;
+    }
+
+    public void setOfficeType(String officeType) {
+        this.officeType = officeType;
+    }
+
+    public String getStartOfficeTime() {
+        return startOfficeTime;
+    }
+
+    public void setStartOfficeTime(String startOfficeTime) {
+        this.startOfficeTime = startOfficeTime;
+    }
+
+    public String getPlanApprovalRequire() {
+        return planApprovalRequire;
+    }
+
+    public void setPlanApprovalRequire(String planApprovalRequire) {
+        this.planApprovalRequire = planApprovalRequire;
+    }
+
+    public String getPlanApprovalCompletion() {
+        return planApprovalCompletion;
+    }
+
+    public void setPlanApprovalCompletion(String planApprovalCompletion) {
+        this.planApprovalCompletion = planApprovalCompletion;
+    }
+
+    public String getSafetyReview() {
+        return safetyReview;
+    }
+
+    public void setSafetyReview(String safetyReview) {
+        this.safetyReview = safetyReview;
+    }
+
+    public String getSafetyReviewCompletion() {
+        return safetyReviewCompletion;
+    }
+
+    public void setSafetyReviewCompletion(String safetyReviewCompletion) {
+        this.safetyReviewCompletion = safetyReviewCompletion;
+    }
+
+    public String getOfficeAmount() {
+        return officeAmount;
+    }
+
+    public void setOfficeAmount(String officeAmount) {
+        this.officeAmount = officeAmount;
+    }
+
+    public String getPaymentCompleted() {
+        return paymentCompleted;
+    }
+
+    public void setPaymentCompleted(String paymentCompleted) {
+        this.paymentCompleted = paymentCompleted;
+    }
+
+    public String getOfficeProgress() {
+        return officeProgress;
+    }
+
+    public void setOfficeProgress(String officeProgress) {
+        this.officeProgress = officeProgress;
+    }
+
+    public String getCivilEngineeringApproach() {
+        return civilEngineeringApproach;
+    }
+
+    public void setCivilEngineeringApproach(String civilEngineeringApproach) {
+        this.civilEngineeringApproach = civilEngineeringApproach;
+    }
+
+    public String getElectricApproach() {
+        return electricApproach;
+    }
+
+    public void setElectricApproach(String electricApproach) {
+        this.electricApproach = electricApproach;
+    }
+
+    public String getCivilConstructionMaterialOpen() {
+        return civilConstructionMaterialOpen;
+    }
+
+    public void setCivilConstructionMaterialOpen(String civilConstructionMaterialOpen) {
+        this.civilConstructionMaterialOpen = civilConstructionMaterialOpen;
+    }
+
+    public String getElectricalPickListOpen() {
+        return electricalPickListOpen;
+    }
+
+    public void setElectricalPickListOpen(String electricalPickListOpen) {
+        this.electricalPickListOpen = electricalPickListOpen;
+    }
+
+    public String getAdministrativeOfficeRemark() {
+        return administrativeOfficeRemark;
+    }
+
+    public void setAdministrativeOfficeRemark(String administrativeOfficeRemark) {
+        this.administrativeOfficeRemark = administrativeOfficeRemark;
+    }
+}

+ 257 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/ReservePreconstruction.java

@@ -0,0 +1,257 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity;
+
+import com.jeeplus.core.persistence.DataEntity;
+
+import java.util.Date;
+
+/**
+ * 储备项目预土建制化信息表
+ * @author: 王强
+ * @create: 2022-07-20 11:00
+ **/
+public class ReservePreconstruction extends DataEntity<ReservePreconstruction> {
+
+    private String projectYear;             //项目年份
+    private String projectNature;           //项目性质
+    private String demandUnit;              //需求单位
+    private String district;                //区域
+    private String projectGroup;            //项目分组
+    private String reserveBatches;          //储备批次
+    private String blockSupply;             //供电区域
+    private String gridNumber;              //网格编号
+    private String cellNumber;              //单元格编号
+    private String projectReserveId;        //项目储备编号
+    private String projectName;             //项目名称
+    private String constructionNecessityAndContent;           //建设必要性及内容
+    private String substationName;           //变电站名称
+    private String circuitName;              //线路名称
+    private String netRackProjectDivide;     //网架项目划分
+    private String requirementType;          //需求类型
+    private String costEstimate;             //费用估算
+    private String basicRemarks;             //备注
+    private String reserveProgress;          //储备进度
+    private String implementPlan;            //是否纳入实施计划
+    private String implementBatch;           //初定实施批次
+    private String confessCivilFoundation;   //交底预制化信息-是否含新建土建基础/包封
+    private String confessPrefab;            //交底预制化信息-是否预制化
+    private String confessPrefabDescription; //交底预制化信息-预制化描述
+    private String designCivilFoundation;    //设计预制化信息-是否含新建土建基础/包封
+    private String designPrefab;             //设计预制化信息-是否预制化
+    private String designPrefabDescription;  //设计预制化信息-预制化描述
+
+    public String getProjectYear() {
+        return projectYear;
+    }
+
+    public void setProjectYear(String projectYear) {
+        this.projectYear = projectYear;
+    }
+
+    public String getProjectNature() {
+        return projectNature;
+    }
+
+    public void setProjectNature(String projectNature) {
+        this.projectNature = projectNature;
+    }
+
+    public String getDemandUnit() {
+        return demandUnit;
+    }
+
+    public void setDemandUnit(String demandUnit) {
+        this.demandUnit = demandUnit;
+    }
+
+    public String getDistrict() {
+        return district;
+    }
+
+    public void setDistrict(String district) {
+        this.district = district;
+    }
+
+    public String getProjectGroup() {
+        return projectGroup;
+    }
+
+    public void setProjectGroup(String projectGroup) {
+        this.projectGroup = projectGroup;
+    }
+
+    public String getReserveBatches() {
+        return reserveBatches;
+    }
+
+    public void setReserveBatches(String reserveBatches) {
+        this.reserveBatches = reserveBatches;
+    }
+
+    public String getBlockSupply() {
+        return blockSupply;
+    }
+
+    public void setBlockSupply(String blockSupply) {
+        this.blockSupply = blockSupply;
+    }
+
+    public String getGridNumber() {
+        return gridNumber;
+    }
+
+    public void setGridNumber(String gridNumber) {
+        this.gridNumber = gridNumber;
+    }
+
+    public String getCellNumber() {
+        return cellNumber;
+    }
+
+    public void setCellNumber(String cellNumber) {
+        this.cellNumber = cellNumber;
+    }
+
+    public String getProjectReserveId() {
+        return projectReserveId;
+    }
+
+    public void setProjectReserveId(String projectReserveId) {
+        this.projectReserveId = projectReserveId;
+    }
+
+    public String getProjectName() {
+        return projectName;
+    }
+
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+    public String getConstructionNecessityAndContent() {
+        return constructionNecessityAndContent;
+    }
+
+    public void setConstructionNecessityAndContent(String constructionNecessityAndContent) {
+        this.constructionNecessityAndContent = constructionNecessityAndContent;
+    }
+
+    public String getSubstationName() {
+        return substationName;
+    }
+
+    public void setSubstationName(String substationName) {
+        this.substationName = substationName;
+    }
+
+    public String getCircuitName() {
+        return circuitName;
+    }
+
+    public void setCircuitName(String circuitName) {
+        this.circuitName = circuitName;
+    }
+
+    public String getNetRackProjectDivide() {
+        return netRackProjectDivide;
+    }
+
+    public void setNetRackProjectDivide(String netRackProjectDivide) {
+        this.netRackProjectDivide = netRackProjectDivide;
+    }
+
+    public String getRequirementType() {
+        return requirementType;
+    }
+
+    public void setRequirementType(String requirementType) {
+        this.requirementType = requirementType;
+    }
+
+    public String getCostEstimate() {
+        return costEstimate;
+    }
+
+    public void setCostEstimate(String costEstimate) {
+        this.costEstimate = costEstimate;
+    }
+
+    public String getBasicRemarks() {
+        return basicRemarks;
+    }
+
+    public void setBasicRemarks(String basicRemarks) {
+        this.basicRemarks = basicRemarks;
+    }
+
+    public String getReserveProgress() {
+        return reserveProgress;
+    }
+
+    public void setReserveProgress(String reserveProgress) {
+        this.reserveProgress = reserveProgress;
+    }
+
+    public String getImplementPlan() {
+        return implementPlan;
+    }
+
+    public void setImplementPlan(String implementPlan) {
+        this.implementPlan = implementPlan;
+    }
+
+    public String getImplementBatch() {
+        return implementBatch;
+    }
+
+    public void setImplementBatch(String implementBatch) {
+        this.implementBatch = implementBatch;
+    }
+
+    public String getConfessCivilFoundation() {
+        return confessCivilFoundation;
+    }
+
+    public void setConfessCivilFoundation(String confessCivilFoundation) {
+        this.confessCivilFoundation = confessCivilFoundation;
+    }
+
+    public String getConfessPrefab() {
+        return confessPrefab;
+    }
+
+    public void setConfessPrefab(String confessPrefab) {
+        this.confessPrefab = confessPrefab;
+    }
+
+    public String getConfessPrefabDescription() {
+        return confessPrefabDescription;
+    }
+
+    public void setConfessPrefabDescription(String confessPrefabDescription) {
+        this.confessPrefabDescription = confessPrefabDescription;
+    }
+
+    public String getDesignCivilFoundation() {
+        return designCivilFoundation;
+    }
+
+    public void setDesignCivilFoundation(String designCivilFoundation) {
+        this.designCivilFoundation = designCivilFoundation;
+    }
+
+    public String getDesignPrefab() {
+        return designPrefab;
+    }
+
+    public void setDesignPrefab(String designPrefab) {
+        this.designPrefab = designPrefab;
+    }
+
+    public String getDesignPrefabDescription() {
+        return designPrefabDescription;
+    }
+
+    public void setDesignPrefabDescription(String designPrefabDescription) {
+        this.designPrefabDescription = designPrefabDescription;
+    }
+}

+ 263 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/ReserveProcessProject.java

@@ -0,0 +1,263 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity;
+
+import com.jeeplus.common.utils.excel.annotation.ExcelField;
+import com.jeeplus.core.persistence.DataEntity;
+
+import java.util.Date;
+
+/**
+ * 储备项目基本信息表
+ * @author: 王强
+ * @create: 2022-07-20 10:08
+ **/
+public class ReserveProcessProject extends DataEntity<ReserveProcessProject> {
+
+
+    private String projectYear;             //项目年份
+    private String projectNature;           //项目性质
+    private String demandUnit;              //需求单位
+    private String district;                //区域
+    private String projectGroup;            //项目分组
+    private String reserveBatches;          //储备批次
+    private String blockSupply;             //供电区域
+    private String gridNumber;              //网格编号
+    private String cellNumber;              //单元格编号
+    private String projectReserveId;        //项目储备编号
+    private String projectName;             //项目名称
+    private String constructionNecessityAndContent;           //建设必要性及内容
+    private String substationName;           //变电站名称
+    private String circuitName;              //线路名称
+    private String netRackProjectDivide;     //网架项目划分
+    private String requirementType;          //需求类型
+    private String costEstimate;             //费用估算
+    private String basicRemarks;             //备注
+    private String requester;                //需求提报人
+    private String ownerReserveFullTime;     //业主储备专职
+    private String ownerDistributionNerworkFullTime;           //业主配网专职
+    private String ownerProjectManager;      //业主项目经理
+    private String technicalStaff;           //技经人员
+    private String operationAndMaintenancePersonnel;           //运维人员
+    private String designer;                 //设计人员
+    private String budgetPreparer;           //概算编制人员
+    private String uninterruptedWorkSurveyPersonnel;           //不停电作业查勘人员
+
+    @ExcelField(title="项目年份", align=2, sort=1)
+    public String getProjectYear() {
+        return projectYear;
+    }
+
+    public void setProjectYear(String projectYear) {
+        this.projectYear = projectYear;
+    }
+
+    @ExcelField(title="项目性质", align=2, sort=2)
+    public String getProjectNature() {
+        return projectNature;
+    }
+
+    public void setProjectNature(String projectNature) {
+        this.projectNature = projectNature;
+    }
+
+    @ExcelField(title="需求单位", align=2, sort=3)
+    public String getDemandUnit() {
+        return demandUnit;
+    }
+
+    public void setDemandUnit(String demandUnit) {
+        this.demandUnit = demandUnit;
+    }
+
+    @ExcelField(title="区域", align=2, sort=4)
+    public String getDistrict() {
+        return district;
+    }
+
+    public void setDistrict(String district) {
+        this.district = district;
+    }
+    @ExcelField(title="项目分组", align=2, sort=5)
+    public String getProjectGroup() {
+        return projectGroup;
+    }
+
+    public void setProjectGroup(String projectGroup) {
+        this.projectGroup = projectGroup;
+    }
+    @ExcelField(title="储备批次", align=2, sort=6)
+    public String getReserveBatches() {
+        return reserveBatches;
+    }
+
+    public void setReserveBatches(String reserveBatches) {
+        this.reserveBatches = reserveBatches;
+    }
+    @ExcelField(title="供电区域", align=2, sort=7)
+    public String getBlockSupply() {
+        return blockSupply;
+    }
+
+    public void setBlockSupply(String blockSupply) {
+        this.blockSupply = blockSupply;
+    }
+    @ExcelField(title="网格编号", align=2, sort=8)
+    public String getGridNumber() {
+        return gridNumber;
+    }
+
+    public void setGridNumber(String gridNumber) {
+        this.gridNumber = gridNumber;
+    }
+    @ExcelField(title="单元格编号", align=2, sort=9)
+    public String getCellNumber() {
+        return cellNumber;
+    }
+
+    public void setCellNumber(String cellNumber) {
+        this.cellNumber = cellNumber;
+    }
+    @ExcelField(title="项目储备编号", align=2, sort=10)
+    public String getProjectReserveId() {
+        return projectReserveId;
+    }
+
+    public void setProjectReserveId(String projectReserveId) {
+        this.projectReserveId = projectReserveId;
+    }
+    @ExcelField(title="项目名称", align=2, sort=11)
+    public String getProjectName() {
+        return projectName;
+    }
+
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+    @ExcelField(title="建设必要性及内容", align=2, sort=12)
+    public String getConstructionNecessityAndContent() {
+        return constructionNecessityAndContent;
+    }
+
+    public void setConstructionNecessityAndContent(String constructionNecessityAndContent) {
+        this.constructionNecessityAndContent = constructionNecessityAndContent;
+    }
+    @ExcelField(title="变电站名称", align=2, sort=13)
+    public String getSubstationName() {
+        return substationName;
+    }
+
+    public void setSubstationName(String substationName) {
+        this.substationName = substationName;
+    }
+    @ExcelField(title="线路名称", align=2, sort=14)
+    public String getCircuitName() {
+        return circuitName;
+    }
+
+    public void setCircuitName(String circuitName) {
+        this.circuitName = circuitName;
+    }
+    @ExcelField(title="网架项目划分", align=2, sort=15)
+    public String getNetRackProjectDivide() {
+        return netRackProjectDivide;
+    }
+
+    public void setNetRackProjectDivide(String netRackProjectDivide) {
+        this.netRackProjectDivide = netRackProjectDivide;
+    }
+    @ExcelField(title="需求类型", align=2, sort=16)
+    public String getRequirementType() {
+        return requirementType;
+    }
+
+    public void setRequirementType(String requirementType) {
+        this.requirementType = requirementType;
+    }
+    @ExcelField(title="费用估算", align=2, sort=17)
+    public String getCostEstimate() {
+        return costEstimate;
+    }
+
+    public void setCostEstimate(String costEstimate) {
+        this.costEstimate = costEstimate;
+    }
+    @ExcelField(title="备注", align=2, sort=18)
+    public String getBasicRemarks() {
+        return basicRemarks;
+    }
+
+    public void setBasicRemarks(String basicRemarks) {
+        this.basicRemarks = basicRemarks;
+    }
+    @ExcelField(title="需求提报人", align=2, sort=19)
+    public String getRequester() {
+        return requester;
+    }
+
+    public void setRequester(String requester) {
+        this.requester = requester;
+    }
+    @ExcelField(title="业主储备专职", align=2, sort=20)
+    public String getOwnerReserveFullTime() {
+        return ownerReserveFullTime;
+    }
+
+    public void setOwnerReserveFullTime(String ownerReserveFullTime) {
+        this.ownerReserveFullTime = ownerReserveFullTime;
+    }
+    @ExcelField(title="业主配网专职", align=2, sort=21)
+    public String getOwnerDistributionNerworkFullTime() {
+        return ownerDistributionNerworkFullTime;
+    }
+
+    public void setOwnerDistributionNerworkFullTime(String ownerDistributionNerworkFullTime) {
+        this.ownerDistributionNerworkFullTime = ownerDistributionNerworkFullTime;
+    }
+    @ExcelField(title="业主项目经理", align=2, sort=22)
+    public String getOwnerProjectManager() {
+        return ownerProjectManager;
+    }
+
+    public void setOwnerProjectManager(String ownerProjectManager) {
+        this.ownerProjectManager = ownerProjectManager;
+    }
+    @ExcelField(title="技经人员", align=2, sort=23)
+    public String getTechnicalStaff() {
+        return technicalStaff;
+    }
+
+    public void setTechnicalStaff(String technicalStaff) {
+        this.technicalStaff = technicalStaff;
+    }
+    @ExcelField(title="运维人员", align=2, sort=24)
+    public String getOperationAndMaintenancePersonnel() {
+        return operationAndMaintenancePersonnel;
+    }
+
+    public void setOperationAndMaintenancePersonnel(String operationAndMaintenancePersonnel) {
+        this.operationAndMaintenancePersonnel = operationAndMaintenancePersonnel;
+    }
+    @ExcelField(title="设计人员", align=2, sort=25)
+    public String getDesigner() {
+        return designer;
+    }
+
+    public void setDesigner(String designer) {
+        this.designer = designer;
+    }
+    @ExcelField(title="概算编制人员", align=2, sort=26)
+    public String getBudgetPreparer() {
+        return budgetPreparer;
+    }
+
+    public void setBudgetPreparer(String budgetPreparer) {
+        this.budgetPreparer = budgetPreparer;
+    }
+    @ExcelField(title="不停电作业查勘人", align=2, sort=27)
+    public String getUninterruptedWorkSurveyPersonnel() {
+        return uninterruptedWorkSurveyPersonnel;
+    }
+
+    public void setUninterruptedWorkSurveyPersonnel(String uninterruptedWorkSurveyPersonnel) {
+        this.uninterruptedWorkSurveyPersonnel = uninterruptedWorkSurveyPersonnel;
+    }
+}

+ 412 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/ReserveSafety.java

@@ -0,0 +1,412 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity;
+
+import com.jeeplus.common.utils.excel.annotation.ExcelField;
+import com.jeeplus.core.persistence.DataEntity;
+
+import java.util.Date;
+
+/**
+ * 储备项目安全交底信息表
+ * @author: 王强
+ * @create: 2022-07-20 13:30
+ **/
+public class ReserveSafety extends DataEntity<ReserveSafety> {
+
+    private String projectYear;             //项目年份
+    private String projectNature;           //项目性质
+    private String demandUnit;              //需求单位
+    private String district;                //区域
+    private String projectGroup;            //项目分组
+    private String reserveBatches;          //储备批次
+    private String blockSupply;             //供电区域
+    private String gridNumber;              //网格编号
+    private String cellNumber;              //单元格编号
+    private String projectReserveId;        //项目储备编号
+    private String projectName;             //项目名称
+    private String constructionNecessityAndContent;           //建设必要性及内容
+    private String substationName;           //变电站名称
+    private String circuitName;              //线路名称
+    private String netRackProjectDivide;     //网架项目划分
+    private String requirementType;          //需求类型
+    private String costEstimate;             //费用估算
+    private String basicRemarks;             //备注
+    private String reserveProgress;          //储备进度
+    private String transmissionWork;         //是否临近(交叉)输电线路作业(含土建)
+    private String workDescribe;             //是否临近(交叉)输电线路作业(含土建) 描述
+    private String transmissionErection;     //是否与输电线路同杆架设
+    private String erecteDescribe;           //是否与输电线路同杆架设   描述
+    private String transmissionCommonTrench; //是否与输电线路共沟
+    private String trenchDescribe;           //是否与输电线路共沟    描述
+    private String mediumVoltageWork;        //是否临近带电中压线路作业
+    private String voltageWorkDescribe;      //是否临近带电中压线路作业     描述
+    private String confineSpaceWork;         //是否有限空间作业
+    private String spaceDescribe;            //是否有限空间作业     描述
+    private String subStationCableBonding;   //是否存在变电站出线电缆搭接-是
+    private String cableDescribe;            //是否存在变电站出线电缆搭接-是  描述
+    private String roadRailwaysAndWaterwaysWork;       //是否存在跨越公路、铁路、航道作业
+    private String waterDescribe;            //是否存在跨越公路、铁路、航道作业   描述
+    private String hotWork;                  //是否存在动火作业
+    private String hotWorkDescribe;          //是否存在动火作业     描述
+    private String blackoutLineFour;         //是否需停电四条以上线路
+    private String lineFourDescribe;         //是否需停电四条以上线路      描述
+    private String lineLoadRedirectionThree; //是否三条以上线路负荷改接
+    private String threeRedirectDescribe;    //是否三条以上线路负荷改接     描述
+    private String largeScaleMultiTeamWork;  //是否多专业、多班组大型作业
+    private String teamWorkDescribe;         //是否多专业、多班组大型作业    描述
+    private String prepareThreeMeasures;     //是否需编制三措
+    private String measureDescribe;          //是否需编制三措      描述
+    private String jobRiskLevelPrediction;   //作业风险等级预判
+
+    @ExcelField(title="项目年份", align=2, sort=1)
+    public String getProjectYear() {
+        return projectYear;
+    }
+
+    public void setProjectYear(String projectYear) {
+        this.projectYear = projectYear;
+    }
+    @ExcelField(title="项目性质", align=2, sort=2)
+    public String getProjectNature() {
+        return projectNature;
+    }
+
+    public void setProjectNature(String projectNature) {
+        this.projectNature = projectNature;
+    }
+    @ExcelField(title="需求单位", align=2, sort=3)
+    public String getDemandUnit() {
+        return demandUnit;
+    }
+
+    public void setDemandUnit(String demandUnit) {
+        this.demandUnit = demandUnit;
+    }
+    @ExcelField(title="区域", align=2, sort=4)
+    public String getDistrict() {
+        return district;
+    }
+
+    public void setDistrict(String district) {
+        this.district = district;
+    }
+    @ExcelField(title="项目分组", align=2, sort=5)
+    public String getProjectGroup() {
+        return projectGroup;
+    }
+
+    public void setProjectGroup(String projectGroup) {
+        this.projectGroup = projectGroup;
+    }
+    @ExcelField(title="储备批次", align=2, sort=6)
+    public String getReserveBatches() {
+        return reserveBatches;
+    }
+
+    public void setReserveBatches(String reserveBatches) {
+        this.reserveBatches = reserveBatches;
+    }
+    @ExcelField(title="供电区域", align=2, sort=7)
+    public String getBlockSupply() {
+        return blockSupply;
+    }
+
+    public void setBlockSupply(String blockSupply) {
+        this.blockSupply = blockSupply;
+    }
+    @ExcelField(title="网格编号", align=2, sort=8)
+    public String getGridNumber() {
+        return gridNumber;
+    }
+
+    public void setGridNumber(String gridNumber) {
+        this.gridNumber = gridNumber;
+    }
+    @ExcelField(title="单元格编号", align=2, sort=9)
+    public String getCellNumber() {
+        return cellNumber;
+    }
+
+    public void setCellNumber(String cellNumber) {
+        this.cellNumber = cellNumber;
+    }
+    @ExcelField(title="项目储备编号", align=2, sort=10)
+    public String getProjectReserveId() {
+        return projectReserveId;
+    }
+
+    public void setProjectReserveId(String projectReserveId) {
+        this.projectReserveId = projectReserveId;
+    }
+    @ExcelField(title="项目名称", align=2, sort=11)
+    public String getProjectName() {
+        return projectName;
+    }
+
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+    @ExcelField(title="建设必要性及内容", align=2, sort=12)
+    public String getConstructionNecessityAndContent() {
+        return constructionNecessityAndContent;
+    }
+
+    public void setConstructionNecessityAndContent(String constructionNecessityAndContent) {
+        this.constructionNecessityAndContent = constructionNecessityAndContent;
+    }
+    @ExcelField(title="变电站名称", align=2, sort=13)
+    public String getSubstationName() {
+        return substationName;
+    }
+
+    public void setSubstationName(String substationName) {
+        this.substationName = substationName;
+    }
+    @ExcelField(title="线路名称", align=2, sort=14)
+    public String getCircuitName() {
+        return circuitName;
+    }
+
+    public void setCircuitName(String circuitName) {
+        this.circuitName = circuitName;
+    }
+    @ExcelField(title="网架项目划分", align=2, sort=15)
+    public String getNetRackProjectDivide() {
+        return netRackProjectDivide;
+    }
+
+    public void setNetRackProjectDivide(String netRackProjectDivide) {
+        this.netRackProjectDivide = netRackProjectDivide;
+    }
+    @ExcelField(title="需求类型", align=2, sort=16)
+    public String getRequirementType() {
+        return requirementType;
+    }
+
+    public void setRequirementType(String requirementType) {
+        this.requirementType = requirementType;
+    }
+    @ExcelField(title="费用估算", align=2, sort=17)
+    public String getCostEstimate() {
+        return costEstimate;
+    }
+
+    public void setCostEstimate(String costEstimate) {
+        this.costEstimate = costEstimate;
+    }
+    @ExcelField(title="备注", align=2, sort=18)
+    public String getBasicRemarks() {
+        return basicRemarks;
+    }
+
+    public void setBasicRemarks(String basicRemarks) {
+        this.basicRemarks = basicRemarks;
+    }
+    @ExcelField(title="储备进度", align=2, sort=19)
+    public String getReserveProgress() {
+        return reserveProgress;
+    }
+
+    public void setReserveProgress(String reserveProgress) {
+        this.reserveProgress = reserveProgress;
+    }
+    @ExcelField(title="是否临近(交叉)输电线路作业(含土建)", align=2, sort=20)
+    public String getTransmissionWork() {
+        return transmissionWork;
+    }
+
+    public void setTransmissionWork(String transmissionWork) {
+        this.transmissionWork = transmissionWork;
+    }
+    @ExcelField(title="是否临近(交叉)输电线路作业(含土建)-描述", align=2, sort=21)
+    public String getWorkDescribe() {
+        return workDescribe;
+    }
+
+    public void setWorkDescribe(String workDescribe) {
+        this.workDescribe = workDescribe;
+    }
+    @ExcelField(title="是否与输电线路同杆架设", align=2, sort=22)
+    public String getTransmissionErection() {
+        return transmissionErection;
+    }
+
+    public void setTransmissionErection(String transmissionErection) {
+        this.transmissionErection = transmissionErection;
+    }
+    @ExcelField(title="是否与输电线路同杆架设-描述", align=2, sort=23)
+    public String getErecteDescribe() {
+        return erecteDescribe;
+    }
+
+    public void setErecteDescribe(String erecteDescribe) {
+        this.erecteDescribe = erecteDescribe;
+    }
+    @ExcelField(title="是否与输电线路共沟", align=2, sort=24)
+    public String getTransmissionCommonTrench() {
+        return transmissionCommonTrench;
+    }
+
+    public void setTransmissionCommonTrench(String transmissionCommonTrench) {
+        this.transmissionCommonTrench = transmissionCommonTrench;
+    }
+    @ExcelField(title="是否与输电线路共沟-描述", align=2, sort=25)
+    public String getTrenchDescribe() {
+        return trenchDescribe;
+    }
+
+    public void setTrenchDescribe(String trenchDescribe) {
+        this.trenchDescribe = trenchDescribe;
+    }
+    @ExcelField(title="是否临近带电中压线路作业", align=2, sort=26)
+    public String getMediumVoltageWork() {
+        return mediumVoltageWork;
+    }
+
+    public void setMediumVoltageWork(String mediumVoltageWork) {
+        this.mediumVoltageWork = mediumVoltageWork;
+    }
+    @ExcelField(title="是否临近带电中压线路作业-描述", align=2, sort=27)
+    public String getVoltageWorkDescribe() {
+        return voltageWorkDescribe;
+    }
+
+    public void setVoltageWorkDescribe(String voltageWorkDescribe) {
+        this.voltageWorkDescribe = voltageWorkDescribe;
+    }
+    @ExcelField(title="是否有限空间作业", align=2, sort=28)
+    public String getConfineSpaceWork() {
+        return confineSpaceWork;
+    }
+
+    public void setConfineSpaceWork(String confineSpaceWork) {
+        this.confineSpaceWork = confineSpaceWork;
+    }
+    @ExcelField(title="是否有限空间作业-描述", align=2, sort=29)
+    public String getSpaceDescribe() {
+        return spaceDescribe;
+    }
+
+    public void setSpaceDescribe(String spaceDescribe) {
+        this.spaceDescribe = spaceDescribe;
+    }
+    @ExcelField(title="是否存在变电站出线电缆搭接-是", align=2, sort=30)
+    public String getSubStationCableBonding() {
+        return subStationCableBonding;
+    }
+
+    public void setSubStationCableBonding(String subStationCableBonding) {
+        this.subStationCableBonding = subStationCableBonding;
+    }
+    @ExcelField(title="是否存在变电站出线电缆搭接-是-描述", align=2, sort=31)
+    public String getCableDescribe() {
+        return cableDescribe;
+    }
+
+    public void setCableDescribe(String cableDescribe) {
+        this.cableDescribe = cableDescribe;
+    }
+    @ExcelField(title="是否存在跨越公路、铁路、航道作业", align=2, sort=32)
+    public String getRoadRailwaysAndWaterwaysWork() {
+        return roadRailwaysAndWaterwaysWork;
+    }
+
+    public void setRoadRailwaysAndWaterwaysWork(String roadRailwaysAndWaterwaysWork) {
+        this.roadRailwaysAndWaterwaysWork = roadRailwaysAndWaterwaysWork;
+    }
+    @ExcelField(title="是否存在跨越公路、铁路、航道作业-描述", align=2, sort=33)
+    public String getWaterDescribe() {
+        return waterDescribe;
+    }
+
+    public void setWaterDescribe(String waterDescribe) {
+        this.waterDescribe = waterDescribe;
+    }
+    @ExcelField(title="是否存在动火作业", align=2, sort=34)
+    public String getHotWork() {
+        return hotWork;
+    }
+
+    public void setHotWork(String hotWork) {
+        this.hotWork = hotWork;
+    }
+    @ExcelField(title="是否存在动火作业-描述", align=2, sort=35)
+    public String getHotWorkDescribe() {
+        return hotWorkDescribe;
+    }
+
+    public void setHotWorkDescribe(String hotWorkDescribe) {
+        this.hotWorkDescribe = hotWorkDescribe;
+    }
+    @ExcelField(title="是否需停电四条以上线路", align=2, sort=36)
+    public String getBlackoutLineFour() {
+        return blackoutLineFour;
+    }
+
+    public void setBlackoutLineFour(String blackoutLineFour) {
+        this.blackoutLineFour = blackoutLineFour;
+    }
+    @ExcelField(title="是否需停电四条以上线路-描述", align=2, sort=37)
+    public String getLineFourDescribe() {
+        return lineFourDescribe;
+    }
+
+    public void setLineFourDescribe(String lineFourDescribe) {
+        this.lineFourDescribe = lineFourDescribe;
+    }
+    @ExcelField(title="是否三条以上线路负荷改接", align=2, sort=38)
+    public String getLineLoadRedirectionThree() {
+        return lineLoadRedirectionThree;
+    }
+
+    public void setLineLoadRedirectionThree(String lineLoadRedirectionThree) {
+        this.lineLoadRedirectionThree = lineLoadRedirectionThree;
+    }
+    @ExcelField(title="是否三条以上线路负荷改接-描述", align=2, sort=39)
+    public String getThreeRedirectDescribe() {
+        return threeRedirectDescribe;
+    }
+
+    public void setThreeRedirectDescribe(String threeRedirectDescribe) {
+        this.threeRedirectDescribe = threeRedirectDescribe;
+    }
+    @ExcelField(title="是否多专业、多班组大型作业", align=2, sort=40)
+    public String getLargeScaleMultiTeamWork() {
+        return largeScaleMultiTeamWork;
+    }
+
+    public void setLargeScaleMultiTeamWork(String largeScaleMultiTeamWork) {
+        this.largeScaleMultiTeamWork = largeScaleMultiTeamWork;
+    }
+    @ExcelField(title="是否多专业、多班组大型作业-描述", align=2, sort=41)
+    public String getTeamWorkDescribe() {
+        return teamWorkDescribe;
+    }
+
+    public void setTeamWorkDescribe(String teamWorkDescribe) {
+        this.teamWorkDescribe = teamWorkDescribe;
+    }
+    @ExcelField(title="是否需编制三措", align=2, sort=42)
+    public String getPrepareThreeMeasures() {
+        return prepareThreeMeasures;
+    }
+
+    public void setPrepareThreeMeasures(String prepareThreeMeasures) {
+        this.prepareThreeMeasures = prepareThreeMeasures;
+    }
+    @ExcelField(title="是否需编制三措-描述", align=2, sort=43)
+    public String getMeasureDescribe() {
+        return measureDescribe;
+    }
+
+    public void setMeasureDescribe(String measureDescribe) {
+        this.measureDescribe = measureDescribe;
+    }
+
+    public String getJobRiskLevelPrediction() {
+        return jobRiskLevelPrediction;
+    }
+
+    public void setJobRiskLevelPrediction(String jobRiskLevelPrediction) {
+        this.jobRiskLevelPrediction = jobRiskLevelPrediction;
+    }
+}

+ 365 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/entity/ReserveSummary.java

@@ -0,0 +1,365 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity;
+
+import com.jeeplus.core.persistence.DataEntity;
+
+import java.util.Date;
+
+/**
+ * 储备项目交底信息汇总统计表
+ * @author: 王强
+ * @create: 2022-07-20 13:40
+ **/
+public class ReserveSummary extends DataEntity<ReserveSummary> {
+
+    private String projectYear;             //项目年份
+    private String projectNature;           //项目性质
+    private String demandUnit;              //需求单位
+    private String district;                //区域
+    private String projectGroup;            //项目分组
+    private String projectManager;          //项目经理
+    private String reserveBatches;          //储备批次
+    private String blockSupply;             //供电区域
+    private String gridNumber;              //网格编号
+    private String cellNumber;              //单元格编号
+    private String projectReserveId;        //项目储备编号
+    private String projectName;             //项目名称
+    private String constructionNecessityAndContent;           //建设必要性及内容
+    private String substationName;           //变电站名称
+    private String circuitName;              //线路名称
+    private String netRackProjectDivide;     //网架项目划分
+    private String requirementType;          //需求类型
+    private String projectType;              //项目类型
+    private String costEstimate;             //费用估算
+    private String budgetPreparationStatus;  //预算编制状态
+    private String budgetIncludesTax;        //预算含税
+    private String budgetNotIncludesTax;     //预算不含税
+    private String basicRemarks;             //备注
+    private String reserveProgress;          //储备进度
+    private String includeReserve;           //是否纳入储备
+    private String majorProblemClassification;     //存在重大问题分类
+    private String problemDescription;       //存在问题说明
+    private String changePlan;               //是否可变更方案
+    private String programChangeDescription; //方案变更说明
+    private String administrativeDifficulty; //政处难度
+    private String officeProgress;           //政处进度
+    private String cancelConfirmationDepartment;   //取消确认部门
+    private String truthRemark;              //储备项目交底信息-备注
+    private String demandUnitPriority;       //需求单位优先级
+    private String implementPlan;            //是否纳入实施计划
+    private String initialImplementBatch;    //初定实施批次
+    private String preliminaryConstructionUnit;    //初定施工单位
+    private String preliminaryConstructionUnitProjectManager;    //初定施工单位项目经理
+    private String handConstructionSketches; //是否移交施工草图
+
+    public String getProjectYear() {
+        return projectYear;
+    }
+
+    public void setProjectYear(String projectYear) {
+        this.projectYear = projectYear;
+    }
+
+    public String getProjectNature() {
+        return projectNature;
+    }
+
+    public void setProjectNature(String projectNature) {
+        this.projectNature = projectNature;
+    }
+
+    public String getDemandUnit() {
+        return demandUnit;
+    }
+
+    public void setDemandUnit(String demandUnit) {
+        this.demandUnit = demandUnit;
+    }
+
+    public String getDistrict() {
+        return district;
+    }
+
+    public void setDistrict(String district) {
+        this.district = district;
+    }
+
+    public String getProjectGroup() {
+        return projectGroup;
+    }
+
+    public void setProjectGroup(String projectGroup) {
+        this.projectGroup = projectGroup;
+    }
+
+    public String getProjectManager() {
+        return projectManager;
+    }
+
+    public void setProjectManager(String projectManager) {
+        this.projectManager = projectManager;
+    }
+
+    public String getReserveBatches() {
+        return reserveBatches;
+    }
+
+    public void setReserveBatches(String reserveBatches) {
+        this.reserveBatches = reserveBatches;
+    }
+
+    public String getBlockSupply() {
+        return blockSupply;
+    }
+
+    public void setBlockSupply(String blockSupply) {
+        this.blockSupply = blockSupply;
+    }
+
+    public String getGridNumber() {
+        return gridNumber;
+    }
+
+    public void setGridNumber(String gridNumber) {
+        this.gridNumber = gridNumber;
+    }
+
+    public String getCellNumber() {
+        return cellNumber;
+    }
+
+    public void setCellNumber(String cellNumber) {
+        this.cellNumber = cellNumber;
+    }
+
+    public String getProjectReserveId() {
+        return projectReserveId;
+    }
+
+    public void setProjectReserveId(String projectReserveId) {
+        this.projectReserveId = projectReserveId;
+    }
+
+    public String getProjectName() {
+        return projectName;
+    }
+
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+    public String getConstructionNecessityAndContent() {
+        return constructionNecessityAndContent;
+    }
+
+    public void setConstructionNecessityAndContent(String constructionNecessityAndContent) {
+        this.constructionNecessityAndContent = constructionNecessityAndContent;
+    }
+
+    public String getSubstationName() {
+        return substationName;
+    }
+
+    public void setSubstationName(String substationName) {
+        this.substationName = substationName;
+    }
+
+    public String getCircuitName() {
+        return circuitName;
+    }
+
+    public void setCircuitName(String circuitName) {
+        this.circuitName = circuitName;
+    }
+
+    public String getNetRackProjectDivide() {
+        return netRackProjectDivide;
+    }
+
+    public void setNetRackProjectDivide(String netRackProjectDivide) {
+        this.netRackProjectDivide = netRackProjectDivide;
+    }
+
+    public String getRequirementType() {
+        return requirementType;
+    }
+
+    public void setRequirementType(String requirementType) {
+        this.requirementType = requirementType;
+    }
+
+    public String getProjectType() {
+        return projectType;
+    }
+
+    public void setProjectType(String projectType) {
+        this.projectType = projectType;
+    }
+
+    public String getCostEstimate() {
+        return costEstimate;
+    }
+
+    public void setCostEstimate(String costEstimate) {
+        this.costEstimate = costEstimate;
+    }
+
+    public String getBudgetPreparationStatus() {
+        return budgetPreparationStatus;
+    }
+
+    public void setBudgetPreparationStatus(String budgetPreparationStatus) {
+        this.budgetPreparationStatus = budgetPreparationStatus;
+    }
+
+    public String getBudgetIncludesTax() {
+        return budgetIncludesTax;
+    }
+
+    public void setBudgetIncludesTax(String budgetIncludesTax) {
+        this.budgetIncludesTax = budgetIncludesTax;
+    }
+
+    public String getBudgetNotIncludesTax() {
+        return budgetNotIncludesTax;
+    }
+
+    public void setBudgetNotIncludesTax(String budgetNotIncludesTax) {
+        this.budgetNotIncludesTax = budgetNotIncludesTax;
+    }
+
+    public String getBasicRemarks() {
+        return basicRemarks;
+    }
+
+    public void setBasicRemarks(String basicRemarks) {
+        this.basicRemarks = basicRemarks;
+    }
+
+    public String getReserveProgress() {
+        return reserveProgress;
+    }
+
+    public void setReserveProgress(String reserveProgress) {
+        this.reserveProgress = reserveProgress;
+    }
+
+    public String getIncludeReserve() {
+        return includeReserve;
+    }
+
+    public void setIncludeReserve(String includeReserve) {
+        this.includeReserve = includeReserve;
+    }
+
+    public String getMajorProblemClassification() {
+        return majorProblemClassification;
+    }
+
+    public void setMajorProblemClassification(String majorProblemClassification) {
+        this.majorProblemClassification = majorProblemClassification;
+    }
+
+    public String getProblemDescription() {
+        return problemDescription;
+    }
+
+    public void setProblemDescription(String problemDescription) {
+        this.problemDescription = problemDescription;
+    }
+
+    public String getChangePlan() {
+        return changePlan;
+    }
+
+    public void setChangePlan(String changePlan) {
+        this.changePlan = changePlan;
+    }
+
+    public String getProgramChangeDescription() {
+        return programChangeDescription;
+    }
+
+    public void setProgramChangeDescription(String programChangeDescription) {
+        this.programChangeDescription = programChangeDescription;
+    }
+
+    public String getAdministrativeDifficulty() {
+        return administrativeDifficulty;
+    }
+
+    public void setAdministrativeDifficulty(String administrativeDifficulty) {
+        this.administrativeDifficulty = administrativeDifficulty;
+    }
+
+    public String getOfficeProgress() {
+        return officeProgress;
+    }
+
+    public void setOfficeProgress(String officeProgress) {
+        this.officeProgress = officeProgress;
+    }
+
+    public String getCancelConfirmationDepartment() {
+        return cancelConfirmationDepartment;
+    }
+
+    public void setCancelConfirmationDepartment(String cancelConfirmationDepartment) {
+        this.cancelConfirmationDepartment = cancelConfirmationDepartment;
+    }
+
+    public String getTruthRemark() {
+        return truthRemark;
+    }
+
+    public void setTruthRemark(String truthRemark) {
+        this.truthRemark = truthRemark;
+    }
+
+    public String getDemandUnitPriority() {
+        return demandUnitPriority;
+    }
+
+    public void setDemandUnitPriority(String demandUnitPriority) {
+        this.demandUnitPriority = demandUnitPriority;
+    }
+
+    public String getImplementPlan() {
+        return implementPlan;
+    }
+
+    public void setImplementPlan(String implementPlan) {
+        this.implementPlan = implementPlan;
+    }
+
+    public String getInitialImplementBatch() {
+        return initialImplementBatch;
+    }
+
+    public void setInitialImplementBatch(String initialImplementBatch) {
+        this.initialImplementBatch = initialImplementBatch;
+    }
+
+    public String getPreliminaryConstructionUnit() {
+        return preliminaryConstructionUnit;
+    }
+
+    public void setPreliminaryConstructionUnit(String preliminaryConstructionUnit) {
+        this.preliminaryConstructionUnit = preliminaryConstructionUnit;
+    }
+
+    public String getPreliminaryConstructionUnitProjectManager() {
+        return preliminaryConstructionUnitProjectManager;
+    }
+
+    public void setPreliminaryConstructionUnitProjectManager(String preliminaryConstructionUnitProjectManager) {
+        this.preliminaryConstructionUnitProjectManager = preliminaryConstructionUnitProjectManager;
+    }
+
+    public String getHandConstructionSketches() {
+        return handConstructionSketches;
+    }
+
+    public void setHandConstructionSketches(String handConstructionSketches) {
+        this.handConstructionSketches = handConstructionSketches;
+    }
+}

+ 39 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/PolicyHandingMapper.java

@@ -0,0 +1,39 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper;
+
+import com.jeeplus.core.persistence.BaseMapper;
+import com.jeeplus.core.persistence.annotation.MyBatisMapper;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReservePolicyHand;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 储备项目政策处理信息 mapper
+ * @author: 王强
+ * @create: 2022-07-27 08:43
+ **/
+@MyBatisMapper
+public interface PolicyHandingMapper extends BaseMapper<ReservePolicyHand> {
+
+    /**
+     * 根据项目储备id查询项目信息
+     * @param reserveManagement
+     * @return
+     */
+    ReservePolicyHand queryByProjectReserveId(ReservePolicyHand reserveManagement);
+
+
+    /**
+     * 批量添加项目储备信息
+     * @param list
+     * @return
+     */
+    void insertList(@Param("list") List<ReservePolicyHand> list);
+
+    /**
+     * 导出数据查询
+     * @param reserveManagement
+     * @return
+     */
+    List<ReservePolicyHand> exportFindList(ReservePolicyHand reserveManagement);
+}

+ 39 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/ReserveElectricityWorkMapper.java

@@ -0,0 +1,39 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper;
+
+import com.jeeplus.core.persistence.BaseMapper;
+import com.jeeplus.core.persistence.annotation.MyBatisMapper;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveElectricityWork;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveProcessProject;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 储备项目带电作业信息 mapper
+ * @author: 王强
+ * @create: 2022-07-22 09:07
+ **/
+@MyBatisMapper
+public interface ReserveElectricityWorkMapper extends BaseMapper<ReserveElectricityWork> {
+
+    /**
+     * 根据项目储备id查询项目信息
+     * @param reserveManagement
+     * @return
+     */
+    ReserveElectricityWork queryByProjectReserveId(ReserveElectricityWork reserveManagement);
+
+    /**
+     * 批量添加项目储备信息
+     * @param list
+     * @return
+     */
+    void insertList(@Param("list") List<ReserveElectricityWork> list);
+
+    /**
+     * 导出数据查询
+     * @param reserveManagement
+     * @return
+     */
+    List<ReserveElectricityWork> exportFindList(ReserveElectricityWork reserveManagement);
+}

+ 39 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/ReservePreconstructMapper.java

@@ -0,0 +1,39 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper;
+
+import com.jeeplus.core.persistence.BaseMapper;
+import com.jeeplus.core.persistence.annotation.MyBatisMapper;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReservePreconstruction;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSafety;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 储备项目预土建制化信息 mapper
+ * @author: 王强
+ * @create: 2022-07-26 09:42
+ **/
+@MyBatisMapper
+public interface ReservePreconstructMapper extends BaseMapper<ReservePreconstruction> {
+
+    /**
+     * 根据项目储备id查询项目信息
+     * @param reserveManagement
+     * @return
+     */
+    ReservePreconstruction queryByProjectReserveId(ReservePreconstruction reserveManagement);
+
+    /**
+     * 批量添加项目储备信息
+     * @param list
+     * @return
+     */
+    void insertList(@Param("list") List<ReservePreconstruction> list);
+
+    /**
+     * 导出数据查询
+     * @param reserveManagement
+     * @return
+     */
+    List<ReservePreconstruction> exportFindList(ReservePreconstruction reserveManagement);
+}

+ 92 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/ReserveProcessProjectMapper.java

@@ -0,0 +1,92 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper;
+
+import com.jeeplus.core.persistence.BaseMapper;
+import com.jeeplus.core.persistence.annotation.MyBatisMapper;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveProcessProject;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSafety;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 储备项目基本信息 mapper
+ * @author: 王强
+ * @create: 2022-07-20 15:03
+ **/
+@MyBatisMapper
+public interface ReserveProcessProjectMapper extends BaseMapper<ReserveProcessProject> {
+
+    /**
+     * 查看数据库唯一性判断字段值
+     * @return
+     */
+    List<String> repeatList();
+    /**
+     * 根据项目储备id查询项目信息
+     * @param reserveManagement
+     * @return
+     */
+    ReserveProcessProject queryByProjectReserveId(ReserveProcessProject reserveManagement);
+
+    /**
+     * 根据项目储备id查询项目信息
+     * @param projectReserveId 项目储备id
+     * @return
+     * */
+    Integer findByProjectId(String projectReserveId);
+
+    /**
+     * 经理修改
+     * @param reserveManagement
+     */
+    void updatejl(ReserveProcessProject reserveManagement);
+
+    /**
+     * 修改方案交底结论
+     * @param scheme
+     */
+    void updateScheme(ReserveProcessProject scheme);
+
+
+    /**
+     * 批量添加项目储备信息
+     * @param list
+     * @return
+     */
+    void insertList(@Param("list") List<ReserveProcessProject> list);
+
+    /**
+     * 导出数据查询
+     * @param reserveManagement
+     * @return
+     */
+    List<ReserveProcessProject> exportFindList(ReserveProcessProject reserveManagement);
+
+
+
+
+    /**
+     * 方案交底结论信息查询
+     * @param reserveManagement 查询条件
+     * @return 查询结果
+     * */
+    List<ReserveProcessProject> findModuleList(ReserveProcessProject reserveManagement);
+
+
+    /**
+     * 方案交底结论信息数据导出
+     * @param safety 查询条件
+     * @return 查询结果
+     * */
+    List<ReserveSafety> exportModuleList(ReserveSafety safety);
+
+    /**
+     * 通过项目名称查询对应项目信息
+     * */
+    ReserveProcessProject findByName(String projectName);
+
+    /**
+     * 通过流程定义号查询储备项目基础信息
+     * */
+    ReserveProcessProject findByProcInsId(String procInsId);
+}

+ 38 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/ReserveSafeDisclosureMapper.java

@@ -0,0 +1,38 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper;
+
+import com.jeeplus.core.persistence.BaseMapper;
+import com.jeeplus.core.persistence.annotation.MyBatisMapper;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSafety;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 储备项目安全交底信息表 mapper
+ * @author: 王强
+ * @create: 2022-07-25 08:45
+ **/
+@MyBatisMapper
+public interface ReserveSafeDisclosureMapper extends BaseMapper<ReserveSafety> {
+
+    /**
+     * 根据项目储备id查询项目信息
+     * @param reserveManagement
+     * @return
+     */
+    ReserveSafety queryByProjectReserveId(ReserveSafety reserveManagement);
+
+    /**
+     * 批量添加项目储备信息
+     * @param list
+     * @return
+     */
+    void insertList(@Param("list") List<ReserveSafety> list);
+
+    /**
+     * 导出数据查询
+     * @param reserveManagement
+     * @return
+     */
+    List<ReserveSafety> exportFindList(ReserveSafety reserveManagement);
+}

+ 39 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/SummaryStatisticMapper.java

@@ -0,0 +1,39 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper;
+
+import com.jeeplus.core.persistence.BaseMapper;
+import com.jeeplus.core.persistence.annotation.MyBatisMapper;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSummary;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 储备项目交底信息汇总统计 mapper
+ * @author: 王强
+ * @create: 2022-07-27 11:06
+ **/
+@MyBatisMapper
+public interface SummaryStatisticMapper extends BaseMapper<ReserveSummary> {
+
+    /**
+     * 根据项目储备id查询项目信息
+     * @param reserveManagement
+     * @return
+     */
+    ReserveSummary queryByProjectReserveId(ReserveSummary reserveManagement);
+
+
+    /**
+     * 批量添加项目储备信息
+     * @param list
+     * @return
+     */
+    void insertList(@Param("list") List<ReserveSummary> list);
+
+    /**
+     * 导出数据查询
+     * @param reserveManagement
+     * @return
+     */
+    List<ReserveSummary> exportFindList(ReserveSummary reserveManagement);
+}

+ 410 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/xml/PolicyHandingMapper.xml

@@ -0,0 +1,410 @@
+<?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.cg.reservemanagementcenter.reserveManage.mapper.PolicyHandingMapper">
+
+    <sql id="reserveManagementColumns">
+        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.del_flag AS "delFlag",
+		a.projectYear,
+		a.projectNature,
+		a.demandUnit,
+		a.district,
+		a.projectGroup,
+		a.reserveBatches,
+		a.blockSupply,
+		a.gridNumber,
+		a.cellNumber,
+		a.projectReserveId,
+		a.projectName,
+		a.constructionNecessityAndContent,
+		a.substationName,
+		a.circuitName,
+		a.netRackProjectDivide,
+		a.requirementType,
+		a.costEstimate,
+		a.basicRemarks,
+		a.reserveProgress,
+		a.powerSupplyArea,
+		a.constructionSpot,
+		a.includeCivilWork,
+		a.poleWorkload,
+		a.proposedConstructionUnit,
+		a.overToGovernment,
+		a.governmentOffice,
+		a.officeDescription,
+		a.administrativeDifficulty,
+		a.administrativeObjectNumber,
+		a.propertyUnitOfficeDescription,
+		a.officeType,
+		a.startOfficeTime,
+		a.planApprovalRequire,
+		a.planApprovalCompletion,
+		a.safetyReview,
+		a.safetyReviewCompletion,
+		a.officeAmount,
+		a.paymentCompleted,
+		a.officeProgress,
+		a.civilEngineeringApproach,
+		a.electricApproach,
+		a.civilConstructionMaterialOpen,
+		a.electricalPickListOpen,
+		a.administrativeOfficeRemark
+
+
+
+    </sql>
+
+    <insert id="insert">
+        insert into cg_reserve_policy_handing_information (
+        id,
+        create_by,
+        create_date,
+        update_by,
+        update_date,
+        del_flag,
+        projectYear,
+        projectNature,
+        demandUnit,
+        district,
+        projectGroup,
+        reserveBatches,
+        blockSupply,
+        gridNumber,
+        cellNumber,
+        projectReserveId,
+        projectName,
+        constructionNecessityAndContent,
+        substationName,
+        circuitName,
+        netRackProjectDivide,
+        requirementType,
+        costEstimate,
+        basicRemarks,
+        reserveProgress,
+		powerSupplyArea,
+		constructionSpot,
+		includeCivilWork,
+		poleWorkload,
+		proposedConstructionUnit,
+		overToGovernment,
+		governmentOffice,
+		officeDescription,
+		administrativeDifficulty,
+		administrativeObjectNumber,
+		propertyUnitOfficeDescription,
+		officeType,
+		startOfficeTime,
+		planApprovalRequire,
+		planApprovalCompletion,
+		safetyReview,
+		safetyReviewCompletion,
+		officeAmount,
+		paymentCompleted,
+		officeProgress,
+		civilEngineeringApproach,
+		electricApproach,
+		civilConstructionMaterialOpen,
+		electricalPickListOpen,
+		administrativeOfficeRemark
+        )
+        values
+            (
+            #{id},
+            #{createBy.id},
+            #{createDate},
+            #{updateBy.id},
+            #{updateDate},
+            #{delFlag},
+            #{projectYear},
+            #{projectNature},
+            #{demandUnit},
+            #{district},
+            #{projectGroup},
+            #{reserveBatches},
+            #{blockSupply},
+            #{gridNumber},
+            #{cellNumber},
+            #{projectReserveId},
+            #{projectName},
+            #{constructionNecessityAndContent},
+            #{substationName},
+            #{circuitName},
+            #{netRackProjectDivide},
+            #{requirementType},
+            #{costEstimate},
+            #{basicRemarks},
+            #{reserveProgress},
+            #{powerSupplyArea},
+            #{constructionSpot},
+            #{includeCivilWork},
+            #{poleWorkload},
+            #{proposedConstructionUnit},
+            #{overToGovernment},
+            #{governmentOffice},
+            #{officeDescription},
+            #{administrativeDifficulty},
+            #{administrativeObjectNumber},
+            #{propertyUnitOfficeDescription},
+            #{officeType},
+            #{startOfficeTime},
+            #{planApprovalRequire},
+            #{planApprovalCompletion},
+            #{safetyReview},
+            #{safetyReviewCompletion},
+            #{officeAmount},
+            #{paymentCompleted},
+            #{officeProgress},
+            #{civilEngineeringApproach},
+            #{electricApproach},
+            #{civilConstructionMaterialOpen},
+            #{electricalPickListOpen},
+            #{administrativeOfficeRemark}
+            )
+    </insert>
+
+    <insert id="insertList">
+        insert into cg_reserve_policy_handing_information (
+        id,
+        create_by,
+        create_date,
+        update_by,
+        update_date,
+        del_flag,
+        projectYear,
+        projectNature,
+        demandUnit,
+        district,
+        projectGroup,
+        reserveBatches,
+        blockSupply,
+        gridNumber,
+        cellNumber,
+        projectReserveId,
+        projectName,
+        constructionNecessityAndContent,
+        substationName,
+        circuitName,
+        netRackProjectDivide,
+        requirementType,
+        costEstimate,
+        basicRemarks,
+        reserveProgress,
+        powerSupplyArea,
+        constructionSpot,
+        includeCivilWork,
+        poleWorkload,
+        proposedConstructionUnit,
+        overToGovernment,
+        governmentOffice,
+        officeDescription,
+        administrativeDifficulty,
+        administrativeObjectNumber,
+        propertyUnitOfficeDescription,
+        officeType,
+        startOfficeTime,
+        planApprovalRequire,
+        planApprovalCompletion,
+        safetyReview,
+        safetyReviewCompletion,
+        officeAmount,
+        paymentCompleted,
+        officeProgress,
+        civilEngineeringApproach,
+        electricApproach,
+        civilConstructionMaterialOpen,
+        electricalPickListOpen,
+        administrativeOfficeRemark
+        )
+        values
+        <foreach collection="list" item="item" index="index" separator="," >
+            (
+            #{item.id},
+            #{item.createBy.id},
+            #{item.createDate},
+            #{item.updateBy.id},
+            #{item.updateDate},
+            #{item.delFlag},
+            #{item.projectYear},
+            #{item.projectNature},
+            #{item.demandUnit},
+            #{item.district},
+            #{item.projectGroup},
+            #{item.reserveBatches},
+            #{item.blockSupply},
+            #{item.gridNumber},
+            #{item.cellNumber},
+            #{item.projectReserveId},
+            #{item.projectName},
+            #{item.constructionNecessityAndContent},
+            #{item.substationName},
+            #{item.circuitName},
+            #{item.netRackProjectDivide},
+            #{item.requirementType},
+            #{item.costEstimate},
+            #{item.basicRemarks},
+            #{item.reserveProgress},
+            #{item.powerSupplyArea},
+            #{item.constructionSpot},
+            #{item.includeCivilWork},
+            #{item.poleWorkload},
+            #{item.proposedConstructionUnit},
+            #{item.overToGovernment},
+            #{item.governmentOffice},
+            #{item.officeDescription},
+            #{item.administrativeDifficulty},
+            #{item.administrativeObjectNumber},
+            #{item.propertyUnitOfficeDescription},
+            #{item.officeType},
+            #{item.startOfficeTime},
+            #{item.planApprovalRequire},
+            #{item.planApprovalCompletion},
+            #{item.safetyReview},
+            #{item.safetyReviewCompletion},
+            #{item.officeAmount},
+            #{item.paymentCompleted},
+            #{item.officeProgress},
+            #{item.civilEngineeringApproach},
+            #{item.electricApproach},
+            #{item.civilConstructionMaterialOpen},
+            #{item.electricalPickListOpen},
+            #{item.administrativeOfficeRemark}
+            )
+        </foreach>
+    </insert>
+
+    <update id="update">
+		update
+        cg_reserve_policy_handing_information
+        set
+        update_by = #{updateBy.id},
+        update_date = #{updateDate},
+        projectYear = #{projectYear},
+        projectNature = #{projectNature},
+        demandUnit = #{demandUnit},
+        district = #{district},
+        projectGroup = #{projectGroup},
+        reserveBatches = #{reserveBatches},
+        blockSupply = #{blockSupply},
+        gridNumber = #{gridNumber},
+        cellNumber = #{cellNumber},
+        projectName = #{projectName},
+        constructionNecessityAndContent = #{constructionNecessityAndContent},
+        substationName = #{substationName},
+        circuitName = #{circuitName},
+        netRackProjectDivide = #{netRackProjectDivide},
+        requirementType = #{requirementType},
+        costEstimate = #{costEstimate},
+        basicRemarks = #{basicRemarks},
+        reserveProgress = #{reserveProgress},
+        powerSupplyArea = #{powerSupplyArea},
+        constructionSpot = #{constructionSpot},
+        includeCivilWork = #{includeCivilWork},
+        poleWorkload = #{poleWorkload},
+        proposedConstructionUnit = #{proposedConstructionUnit},
+        overToGovernment = #{overToGovernment},
+        governmentOffice = #{governmentOffice},
+        officeDescription = #{officeDescription},
+        administrativeDifficulty = #{administrativeDifficulty},
+        administrativeObjectNumber = #{administrativeObjectNumber},
+        propertyUnitOfficeDescription = #{propertyUnitOfficeDescription},
+        officeType = #{officeType},
+        startOfficeTime = #{startOfficeTime},
+        planApprovalRequire = #{planApprovalRequire},
+        planApprovalCompletion = #{planApprovalCompletion},
+        safetyReview = #{safetyReview},
+        safetyReviewCompletion = #{safetyReviewCompletion},
+        officeAmount = #{officeAmount},
+        paymentCompleted = #{paymentCompleted},
+        officeProgress = #{officeProgress},
+        civilEngineeringApproach = #{civilEngineeringApproach},
+        electricApproach = #{electricApproach},
+        civilConstructionMaterialOpen = #{civilConstructionMaterialOpen},
+        electricalPickListOpen = #{electricalPickListOpen},
+        administrativeOfficeRemark = #{administrativeOfficeRemark}
+
+        where id = #{id}
+	</update>
+
+    <select id="queryByProjectReserveId"
+            resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReservePolicyHand">
+        select
+        <include refid="reserveManagementColumns"/>
+        from cg_reserve_policy_handing_information a
+        where a.projectReserveId = #{projectReserveId}
+    </select>
+
+
+    <select id="findList" resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReservePolicyHand">
+        select
+        <include refid="reserveManagementColumns"/>
+        ,b.implementPlan as 'implementPlan',b.initialImplementBatch as 'intendBatch',
+        c.ownerProjectManager as 'projectManager'
+        from cg_reserve_policy_handing_information a
+        left join cg_reserve_summary_statistics b
+        on a.projectReserveId = b.projectReserveId
+        left join cg_reserve_process c
+        on a.projectReserveId = c.projectReserveId
+        <where>
+            a.del_flag = 0
+            <if test="projectReserveId!=null and projectReserveId!=''">
+                and a.projectReserveId like concat('%', #{projectReserveId}, '%')
+            </if>
+            <if test="projectName!=null and projectName!=''">
+                and a.projectName like concat('%', #{projectName}, '%')
+            </if>
+            <if test="dataScope != null and dataScope != ''">
+                ${dataScope}
+            </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="exportFindList"
+            resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReservePolicyHand">
+        select
+        <include refid="reserveManagementColumns"/>
+        ,b.implementPlan as 'implementPlan',b.initialImplementBatch as 'intendBatch',
+        c.ownerProjectManager as 'projectManager'
+        from cg_reserve_policy_handing_information a
+        left join cg_reserve_summary_statistics b
+        on a.projectReserveId = b.projectReserveId
+        left join cg_reserve_process c
+        on a.projectReserveId = c.projectReserveId
+        <where>
+            a.del_flag = 0
+            <if test="projectReserveId!=null and projectReserveId!=''">
+                and a.projectReserveId like concat('%', #{projectReserveId}, '%')
+            </if>
+            <if test="projectName!=null and projectName!=''">
+                and a.projectName like concat('%', #{projectName}, '%')
+            </if>
+            <if test="dataScope != null and dataScope != ''">
+                ${dataScope}
+            </if>
+        </where>
+        ORDER BY a.update_date DESC
+    </select>
+
+    <select id="get" resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReservePolicyHand">
+        select
+        <include refid="reserveManagementColumns"/>
+        ,b.implementPlan as 'implementPlan',b.initialImplementBatch as 'intendBatch',
+        c.ownerProjectManager as 'projectManager'
+        from cg_reserve_policy_handing_information a
+        left join cg_reserve_summary_statistics b
+        on a.projectReserveId = b.projectReserveId
+        left join cg_reserve_process c
+        on a.projectReserveId = c.projectReserveId
+        where a.id = #{id}
+    </select>
+</mapper>

+ 316 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/xml/ReserveElectricityWorkMapper.xml

@@ -0,0 +1,316 @@
+<?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.cg.reservemanagementcenter.reserveManage.mapper.ReserveElectricityWorkMapper">
+
+    <sql id="reserveManagementColumns">
+        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.del_flag AS "delFlag",
+		a.projectYear,
+		a.projectNature,
+		a.demandUnit,
+		a.district,
+		a.projectGroup,
+		a.reserveBatches,
+		a.blockSupply,
+		a.gridNumber,
+		a.cellNumber,
+		a.projectReserveId,
+		a.projectName,
+		a.constructionNecessityAndContent,
+		a.substationName,
+		a.circuitName,
+		a.netRackProjectDivide,
+		a.requirementType,
+		a.costEstimate,
+		a.basicRemarks,
+		a.reserveProgress,
+		a.teansFormerOrPackageProject,
+		a.packageProject,
+		a.packageItemQuantity,
+		a.deviceName,
+		a.workWithElectricity,
+		a.electricityTypeNumber,
+		a.electricityWorkNumber,
+		a.noStopWorkPlan,
+		a.reasonsForNotWorkInterruption,
+		a.powerOutagePlan,
+		a.planner,
+		a.siteSurveyor
+
+    </sql>
+
+	<insert id="insert">
+        insert into cg_reserve_electricity_work_information (
+        id,
+        create_by,
+        create_date,
+        update_by,
+        update_date,
+        del_flag,
+        projectYear,
+        projectNature,
+        demandUnit,
+        district,
+        projectGroup,
+        reserveBatches,
+        blockSupply,
+        gridNumber,
+        cellNumber,
+        projectReserveId,
+        projectName,
+        constructionNecessityAndContent,
+        substationName,
+        circuitName,
+        netRackProjectDivide,
+        requirementType,
+        costEstimate,
+        basicRemarks,
+        reserveProgress,
+		teansFormerOrPackageProject,
+		packageProject,
+		packageItemQuantity,
+		deviceName,
+		workWithElectricity,
+		electricityTypeNumber,
+		electricityWorkNumber,
+		noStopWorkPlan,
+		reasonsForNotWorkInterruption,
+		powerOutagePlan,
+		planner,
+		siteSurveyor
+        )
+        values
+            (
+            #{id},
+            #{createBy.id},
+            #{createDate},
+            #{updateBy.id},
+            #{updateDate},
+            #{delFlag},
+            #{projectYear},
+            #{projectNature},
+            #{demandUnit},
+            #{district},
+            #{projectGroup},
+            #{reserveBatches},
+            #{blockSupply},
+            #{gridNumber},
+            #{cellNumber},
+            #{projectReserveId},
+            #{projectName},
+            #{constructionNecessityAndContent},
+            #{substationName},
+            #{circuitName},
+            #{netRackProjectDivide},
+            #{requirementType},
+            #{costEstimate},
+            #{basicRemarks},
+            #{reserveProgress},
+            #{teansFormerOrPackageProject},
+            #{packageProject},
+            #{packageItemQuantity},
+            #{deviceName},
+            #{workWithElectricity},
+            #{electricityTypeNumber},
+            #{electricityWorkNumber},
+            #{noStopWorkPlan},
+            #{reasonsForNotWorkInterruption},
+            #{powerOutagePlan},
+            #{planner},
+            #{siteSurveyor}
+            )
+    </insert>
+
+    <insert id="insertList">
+		insert into cg_reserve_electricity_work_information (
+		id,
+		create_by,
+		create_date,
+		update_by,
+		update_date,
+		del_flag,
+		projectYear,
+		projectNature,
+		demandUnit,
+		district,
+		projectGroup,
+		reserveBatches,
+		blockSupply,
+		gridNumber,
+		cellNumber,
+		projectReserveId,
+		projectName,
+		constructionNecessityAndContent,
+		substationName,
+		circuitName,
+		netRackProjectDivide,
+		requirementType,
+		costEstimate,
+		basicRemarks,
+		reserveProgress,
+		teansFormerOrPackageProject,
+		packageProject,
+		packageItemQuantity,
+		deviceName,
+		workWithElectricity,
+		electricityTypeNumber,
+		electricityWorkNumber,
+		noStopWorkPlan,
+		reasonsForNotWorkInterruption,
+		powerOutagePlan,
+		planner,
+		siteSurveyor
+		)
+		values
+		<foreach collection="list" item="item" index="index" separator="," >
+			(
+			#{item.id},
+			#{item.createBy.id},
+			#{item.createDate},
+			#{item.updateBy.id},
+			#{item.updateDate},
+			#{item.delFlag},
+			#{item.projectYear},
+			#{item.projectNature},
+			#{item.demandUnit},
+			#{item.district},
+			#{item.projectGroup},
+			#{item.reserveBatches},
+			#{item.blockSupply},
+			#{item.gridNumber},
+			#{item.cellNumber},
+			#{item.projectReserveId},
+			#{item.projectName},
+			#{item.constructionNecessityAndContent},
+			#{item.substationName},
+			#{item.circuitName},
+			#{item.netRackProjectDivide},
+			#{item.requirementType},
+			#{item.costEstimate},
+			#{item.basicRemarks},
+			#{item.reserveProgress},
+			#{item.teansFormerOrPackageProject},
+			#{item.packageProject},
+			#{item.packageItemQuantity},
+			#{item.deviceName},
+			#{item.workWithElectricity},
+			#{item.electricityTypeNumber},
+			#{item.electricityWorkNumber},
+			#{item.noStopWorkPlan},
+			#{item.reasonsForNotWorkInterruption},
+			#{item.powerOutagePlan},
+			#{item.planner},
+			#{item.siteSurveyor}
+			)
+		</foreach>
+	</insert>
+
+	<update id="update">
+		update
+        cg_reserve_electricity_work_information
+        set
+        update_by = #{updateBy.id},
+        update_date = #{updateDate},
+        projectYear = #{projectYear},
+        projectNature = #{projectNature},
+        demandUnit = #{demandUnit},
+        district = #{district},
+        projectGroup = #{projectGroup},
+        reserveBatches = #{reserveBatches},
+        blockSupply = #{blockSupply},
+        gridNumber = #{gridNumber},
+        cellNumber = #{cellNumber},
+        projectName = #{projectName},
+        constructionNecessityAndContent = #{constructionNecessityAndContent},
+        substationName = #{substationName},
+        circuitName = #{circuitName},
+        netRackProjectDivide = #{netRackProjectDivide},
+        requirementType = #{requirementType},
+        costEstimate = #{costEstimate},
+        basicRemarks = #{basicRemarks},
+        reserveProgress = #{reserveProgress},
+        teansFormerOrPackageProject = #{teansFormerOrPackageProject},
+        packageProject = #{packageProject},
+        packageItemQuantity = #{packageItemQuantity},
+        deviceName = #{deviceName},
+        workWithElectricity = #{workWithElectricity},
+        electricityTypeNumber = #{electricityTypeNumber},
+        electricityWorkNumber = #{electricityWorkNumber},
+        noStopWorkPlan = #{noStopWorkPlan},
+        reasonsForNotWorkInterruption = #{reasonsForNotWorkInterruption},
+        powerOutagePlan = #{powerOutagePlan},
+        planner = #{planner},
+        siteSurveyor = #{siteSurveyor}
+        where id = #{id}
+	</update>
+
+    <select id="queryByProjectReserveId"
+            resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveElectricityWork">
+        select
+        <include refid="reserveManagementColumns"/>
+        from cg_reserve_electricity_work_information a
+        where a.projectReserveId = #{projectReserveId}
+    </select>
+
+    <select id="findList" resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveElectricityWork">
+        select
+        <include refid="reserveManagementColumns"/>
+        ,b.implementPlan as 'implementPlan',b.initialImplementBatch as 'implementBatch'
+        from cg_reserve_electricity_work_information a
+        left join cg_reserve_summary_statistics b
+        on a.projectReserveId = b.projectReserveId
+        <where>
+            a.del_flag = 0
+            <if test="projectReserveId!=null and projectReserveId!=''">
+                and a.projectReserveId like concat('%', #{projectReserveId}, '%')
+            </if>
+            <if test="projectName!=null and projectName!=''">
+                and a.projectName like concat('%', #{projectName}, '%')
+            </if>
+            <if test="dataScope != null and dataScope != ''">
+                ${dataScope}
+            </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="exportFindList"
+            resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveElectricityWork">
+        select
+        <include refid="reserveManagementColumns"/>
+        ,b.implementPlan as 'implementPlan',b.initialImplementBatch as 'implementBatch'
+        from cg_reserve_electricity_work_information a
+        left join cg_reserve_summary_statistics b
+        on a.projectReserveId = b.projectReserveId
+        <where>
+            a.del_flag = 0
+            <if test="projectReserveId!=null and projectReserveId!=''">
+                and a.projectReserveId like concat('%', #{projectReserveId}, '%')
+            </if>
+            <if test="projectName!=null and projectName!=''">
+                and a.projectName like concat('%', #{projectName}, '%')
+            </if>
+            <if test="dataScope != null and dataScope != ''">
+                ${dataScope}
+            </if>
+        </where>
+        ORDER BY a.update_date DESC
+    </select>
+
+    <select id="get" resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveElectricityWork">
+        select
+        <include refid="reserveManagementColumns"/>
+        from cg_reserve_electricity_work_information a
+        where a.id = #{id}
+    </select>
+</mapper>

+ 285 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/xml/ReservePreconstructMapper.xml

@@ -0,0 +1,285 @@
+<?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.cg.reservemanagementcenter.reserveManage.mapper.ReservePreconstructMapper">
+
+    <sql id="reserveManagementColumns">
+        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.del_flag AS "delFlag",
+		a.projectYear,
+		a.projectNature,
+		a.demandUnit,
+		a.district,
+		a.projectGroup,
+		a.reserveBatches,
+		a.blockSupply,
+		a.gridNumber,
+		a.cellNumber,
+		a.projectReserveId,
+		a.projectName,
+		a.constructionNecessityAndContent,
+		a.substationName,
+		a.circuitName,
+		a.netRackProjectDivide,
+		a.requirementType,
+		a.costEstimate,
+		a.basicRemarks,
+		a.reserveProgress,
+		a.confessCivilFoundation,
+		a.confessPrefab,
+		a.confessPrefabDescription,
+		a.designCivilFoundation,
+		a.designPrefab,
+		a.designPrefabDescription
+
+
+    </sql>
+
+    <insert id="insert">
+        insert into cg_reserve_preconstruction_information (
+        id,
+        create_by,
+        create_date,
+        update_by,
+        update_date,
+        del_flag,
+        projectYear,
+        projectNature,
+        demandUnit,
+        district,
+        projectGroup,
+        reserveBatches,
+        blockSupply,
+        gridNumber,
+        cellNumber,
+        projectReserveId,
+        projectName,
+        constructionNecessityAndContent,
+        substationName,
+        circuitName,
+        netRackProjectDivide,
+        requirementType,
+        costEstimate,
+        basicRemarks,
+        reserveProgress,
+		confessCivilFoundation,
+		confessPrefab,
+		confessPrefabDescription,
+		designCivilFoundation,
+		designPrefab,
+		designPrefabDescription
+        )
+        values
+            (
+            #{id},
+            #{createBy.id},
+            #{createDate},
+            #{updateBy.id},
+            #{updateDate},
+            #{delFlag},
+            #{projectYear},
+            #{projectNature},
+            #{demandUnit},
+            #{district},
+            #{projectGroup},
+            #{reserveBatches},
+            #{blockSupply},
+            #{gridNumber},
+            #{cellNumber},
+            #{projectReserveId},
+            #{projectName},
+            #{constructionNecessityAndContent},
+            #{substationName},
+            #{circuitName},
+            #{netRackProjectDivide},
+            #{requirementType},
+            #{costEstimate},
+            #{basicRemarks},
+            #{reserveProgress},
+            #{confessCivilFoundation},
+            #{confessPrefab},
+            #{confessPrefabDescription},
+            #{designCivilFoundation},
+            #{designPrefab},
+            #{designPrefabDescription}
+            )
+    </insert>
+
+    <insert id="insertList">
+        insert into cg_reserve_preconstruction_information (
+        id,
+        create_by,
+        create_date,
+        update_by,
+        update_date,
+        del_flag,
+        projectYear,
+        projectNature,
+        demandUnit,
+        district,
+        projectGroup,
+        reserveBatches,
+        blockSupply,
+        gridNumber,
+        cellNumber,
+        projectReserveId,
+        projectName,
+        constructionNecessityAndContent,
+        substationName,
+        circuitName,
+        netRackProjectDivide,
+        requirementType,
+        costEstimate,
+        basicRemarks,
+        reserveProgress,
+        confessCivilFoundation,
+        confessPrefab,
+        confessPrefabDescription,
+        designCivilFoundation,
+        designPrefab,
+        designPrefabDescription
+        )
+        values
+        <foreach collection="list" item="item" index="index" separator="," >
+            (
+            #{item.id},
+            #{item.createBy.id},
+            #{item.createDate},
+            #{item.updateBy.id},
+            #{item.updateDate},
+            #{item.delFlag},
+            #{item.projectYear},
+            #{item.projectNature},
+            #{item.demandUnit},
+            #{item.district},
+            #{item.projectGroup},
+            #{item.reserveBatches},
+            #{item.blockSupply},
+            #{item.gridNumber},
+            #{item.cellNumber},
+            #{item.projectReserveId},
+            #{item.projectName},
+            #{item.constructionNecessityAndContent},
+            #{item.substationName},
+            #{item.circuitName},
+            #{item.netRackProjectDivide},
+            #{item.requirementType},
+            #{item.costEstimate},
+            #{item.basicRemarks},
+            #{item.reserveProgress},
+            #{item.confessCivilFoundation},
+            #{item.confessPrefab},
+            #{item.confessPrefabDescription},
+            #{item.designCivilFoundation},
+            #{item.designPrefab},
+            #{item.designPrefabDescription}
+            )
+        </foreach>
+    </insert>
+
+    <update id="update">
+		update
+        cg_reserve_preconstruction_information
+        set
+        update_by = #{updateBy.id},
+        update_date = #{updateDate},
+        projectYear = #{projectYear},
+        projectNature = #{projectNature},
+        demandUnit = #{demandUnit},
+        district = #{district},
+        projectGroup = #{projectGroup},
+        reserveBatches = #{reserveBatches},
+        blockSupply = #{blockSupply},
+        gridNumber = #{gridNumber},
+        cellNumber = #{cellNumber},
+        projectName = #{projectName},
+        constructionNecessityAndContent = #{constructionNecessityAndContent},
+        substationName = #{substationName},
+        circuitName = #{circuitName},
+        netRackProjectDivide = #{netRackProjectDivide},
+        requirementType = #{requirementType},
+        costEstimate = #{costEstimate},
+        basicRemarks = #{basicRemarks},
+        reserveProgress = #{reserveProgress},
+        confessCivilFoundation = #{confessCivilFoundation},
+        confessPrefab = #{confessPrefab},
+        confessPrefabDescription = #{confessPrefabDescription},
+        designCivilFoundation = #{designCivilFoundation},
+        designPrefab = #{designPrefab},
+        designPrefabDescription = #{designPrefabDescription}
+
+        where id = #{id}
+	</update>
+
+    <select id="queryByProjectReserveId"
+            resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReservePreconstruction">
+        select
+        <include refid="reserveManagementColumns"/>
+        from cg_reserve_preconstruction_information a
+        where a.projectReserveId = #{projectReserveId}
+    </select>
+
+    <select id="findList" resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReservePreconstruction">
+        select
+        <include refid="reserveManagementColumns"/>
+        ,b.implementPlan as 'implementPlan',b.initialImplementBatch as 'implementBatch'
+        from cg_reserve_preconstruction_information a
+        left join cg_reserve_summary_statistics b
+        on a.projectReserveId = b.projectReserveId
+        <where>
+            a.del_flag = 0
+            <if test="projectReserveId!=null and projectReserveId!=''">
+                and a.projectReserveId like concat('%', #{projectReserveId}, '%')
+            </if>
+            <if test="projectName!=null and projectName!=''">
+                and a.projectName like concat('%', #{projectName}, '%')
+            </if>
+            <if test="dataScope != null and dataScope != ''">
+                ${dataScope}
+            </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="exportFindList"
+            resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReservePreconstruction">
+        select
+        <include refid="reserveManagementColumns"/>
+        ,b.implementPlan as 'implementPlan',b.initialImplementBatch as 'implementBatch'
+        from cg_reserve_preconstruction_information a
+        left join cg_reserve_summary_statistics b
+        on a.projectReserveId = b.projectReserveId
+        <where>
+            a.del_flag = 0
+            <if test="projectReserveId!=null and projectReserveId!=''">
+                and a.projectReserveId like concat('%', #{projectReserveId}, '%')
+            </if>
+            <if test="projectName!=null and projectName!=''">
+                and a.projectName like concat('%', #{projectName}, '%')
+            </if>
+            <if test="dataScope != null and dataScope != ''">
+                ${dataScope}
+            </if>
+        </where>
+        ORDER BY a.update_date DESC
+    </select>
+
+    <select id="get" resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReservePreconstruction">
+        select
+        <include refid="reserveManagementColumns"/>
+        ,b.implementPlan as 'implementPlan',b.initialImplementBatch as 'implementBatch'
+        from cg_reserve_preconstruction_information a
+        left join cg_reserve_summary_statistics b
+        on a.projectReserveId = b.projectReserveId
+        where a.id = #{id}
+    </select>
+</mapper>

+ 478 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/xml/ReserveProcessProjectMapper.xml

@@ -0,0 +1,478 @@
+<?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.cg.reservemanagementcenter.reserveManage.mapper.ReserveProcessProjectMapper">
+
+    <sql id="reserveManagementColumns">
+        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.del_flag AS "delFlag",
+		a.projectYear,
+		a.projectNature,
+		a.demandUnit,
+		a.district,
+		a.projectGroup,
+		a.reserveBatches,
+		a.blockSupply,
+		a.gridNumber,
+		a.cellNumber,
+		a.projectReserveId,
+		a.projectName,
+		a.constructionNecessityAndContent,
+		a.substationName,
+		a.circuitName,
+		a.netRackProjectDivide,
+		a.requirementType,
+		a.costEstimate,
+		a.basicRemarks,
+		a.requester,
+		a.ownerReserveFullTime,
+		a.ownerDistributionNerworkFullTime,
+		a.ownerProjectManager,
+		a.technicalStaff,
+		a.operationAndMaintenancePersonnel,
+		a.designer,
+		a.budgetPreparer
+    </sql>
+
+    <insert id="insert">
+        insert into cg_reserve_process (
+        id,
+        create_by,
+        create_date,
+        update_by,
+        update_date,
+        del_flag,
+        projectYear,
+        projectNature,
+        demandUnit,
+        district,
+        projectGroup,
+        reserveBatches,
+        blockSupply,
+        gridNumber,
+        cellNumber,
+        projectReserveId,
+        projectName,
+        constructionNecessityAndContent,
+        substationName,
+        circuitName,
+        netRackProjectDivide,
+        requirementType,
+        costEstimate,
+        basicRemarks,
+        requester,
+        ownerReserveFullTime,
+        ownerDistributionNerworkFullTime,
+        ownerProjectManager,
+        technicalStaff,
+        operationAndMaintenancePersonnel,
+        designer,
+        budgetPreparer
+        )
+        values
+            (
+            #{id},
+            #{createBy.id},
+            #{createDate},
+            #{updateBy.id},
+            #{updateDate},
+            #{delFlag},
+            #{projectYear},
+            #{projectNature},
+            #{demandUnit},
+            #{district},
+            #{projectGroup},
+            #{reserveBatches},
+            #{blockSupply},
+            #{gridNumber},
+            #{cellNumber},
+            #{projectReserveId},
+            #{projectName},
+            #{constructionNecessityAndContent},
+            #{substationName},
+            #{circuitName},
+            #{netRackProjectDivide},
+            #{requirementType},
+            #{costEstimate},
+            #{basicRemarks},
+            #{requester},
+            #{ownerReserveFullTime},
+            #{ownerDistributionNerworkFullTime},
+            #{ownerProjectManager},
+            #{technicalStaff},
+            #{operationAndMaintenancePersonnel},
+            #{designer},
+            #{budgetPreparer}
+            )
+    </insert>
+    <insert id="insertList">
+        insert into cg_reserve_process (
+        id,
+        create_by,
+        create_date,
+        update_by,
+        update_date,
+        del_flag,
+        projectYear,
+        projectNature,
+        demandUnit,
+        district,
+        projectGroup,
+        reserveBatches,
+        blockSupply,
+        gridNumber,
+        cellNumber,
+        projectReserveId,
+        projectName,
+        constructionNecessityAndContent,
+        substationName,
+        circuitName,
+        netRackProjectDivide,
+        requirementType,
+        costEstimate,
+        basicRemarks,
+        requester,
+        ownerReserveFullTime,
+        ownerDistributionNerworkFullTime,
+        ownerProjectManager,
+        technicalStaff,
+        operationAndMaintenancePersonnel,
+        designer,
+        budgetPreparer
+        )
+        values
+        <foreach collection="list" item="item" index="index" separator="," >
+            (
+            #{item.id},
+            #{item.createBy.id},
+            #{item.createDate},
+            #{item.updateBy.id},
+            #{item.updateDate},
+            #{item.delFlag},
+            #{item.projectYear},
+            #{item.projectNature},
+            #{item.demandUnit},
+            #{item.district},
+            #{item.projectGroup},
+            #{item.reserveBatches},
+            #{item.blockSupply},
+            #{item.gridNumber},
+            #{item.cellNumber},
+            #{item.projectReserveId},
+            #{item.projectName},
+            #{item.constructionNecessityAndContent},
+            #{item.substationName},
+            #{item.circuitName},
+            #{item.netRackProjectDivide},
+            #{item.requirementType},
+            #{item.costEstimate},
+            #{item.basicRemarks},
+            #{item.requester},
+            #{item.ownerReserveFullTime},
+            #{item.ownerDistributionNerworkFullTime},
+            #{item.ownerProjectManager},
+            #{item.technicalStaff},
+            #{item.operationAndMaintenancePersonnel},
+            #{item.designer},
+            #{item.budgetPreparer}
+            )
+        </foreach>
+    </insert>
+
+    <update id="update">
+		update
+        cg_reserve_process
+        set
+        update_by = #{updateBy.id},
+        update_date = #{updateDate},
+        projectYear = #{projectYear},
+        projectNature = #{projectNature},
+        demandUnit = #{demandUnit},
+        district = #{district},
+        projectGroup = #{projectGroup},
+        reserveBatches = #{reserveBatches},
+        blockSupply = #{blockSupply},
+        gridNumber = #{gridNumber},
+        cellNumber = #{cellNumber},
+        projectName = #{projectName},
+        constructionNecessityAndContent = #{constructionNecessityAndContent},
+        substationName = #{substationName},
+        circuitName = #{circuitName},
+        netRackProjectDivide = #{netRackProjectDivide},
+        requirementType = #{requirementType},
+        costEstimate = #{costEstimate},
+        basicRemarks = #{basicRemarks},
+        requester = #{requester},
+        ownerReserveFullTime = #{ownerReserveFullTime},
+        ownerDistributionNerworkFullTime = #{ownerDistributionNerworkFullTime},
+        ownerProjectManager = #{ownerProjectManager},
+        technicalStaff = #{technicalStaff},
+        operationAndMaintenancePersonnel = #{operationAndMaintenancePersonnel},
+        designer = #{designer},
+        budgetPreparer = #{budgetPreparer}
+        where id = #{id}
+	</update>
+
+    <update id="updatejl">
+        update
+        cg_reserve_process
+        set
+        update_by = #{updateBy.id},
+        update_date = #{updateDate},
+        projectYear = #{projectYear},
+        projectNature = #{projectNature},
+        demandUnit = #{demandUnit},
+        district = #{district},
+        projectGroup = #{projectGroup},
+        reserveBatches = #{reserveBatches},
+        blockSupply = #{blockSupply},
+        substationName = #{substationName},
+        circuitName = #{circuitName},
+        netRackProjectDivide = #{netRackProjectDivide},
+        requirementType = #{requirementType},
+        costEstimate = #{costEstimate},
+        basicRemarks = #{basicRemarks},
+        <if test="requester != null and requester != ''">
+            requester = #{requester},
+        </if>
+        <if test="ownerReserveFullTime != null and ownerReserveFullTime != ''">
+            ownerReserveFullTime = #{ownerReserveFullTime},
+        </if>
+        <if test="ownerDistributionNerworkFullTime != null and ownerDistributionNerworkFullTime != ''">
+            ownerDistributionNerworkFullTime = #{ownerDistributionNerworkFullTime},
+        </if>
+        <if test="ownerProjectManager != null and ownerProjectManager != ''">
+            ownerProjectManager = #{ownerProjectManager},
+        </if>
+        <if test="technicalStaff != null and technicalStaff != ''">
+            technicalStaff = #{technicalStaff},
+        </if>
+        <if test="operationAndMaintenancePersonnel != null and operationAndMaintenancePersonnel != ''">
+            operationAndMaintenancePersonnel = #{operationAndMaintenancePersonnel},
+        </if>
+        <if test="designer != null and designer != ''">
+            designer = #{designer},
+        </if>
+        budgetPreparer = #{budgetPreparer},
+--         uninterruptedWorkSurveyPersonnel = #{uninterruptedWorkSurveyPersonnel}
+        where id = #{id}
+    </update>
+    <update id="updateScheme">
+        update
+        cg_reserve_process
+        set
+        update_by = #{updateBy.id},
+        update_date = #{updateDate},
+        projectYear = #{projectYear},
+        projectNature = #{projectNature},
+        demandUnit = #{demandUnit},
+        district = #{district},
+        projectGroup = #{projectGroup},
+        reserveBatches = #{reserveBatches},
+        blockSupply = #{blockSupply},
+        substationName = #{substationName},
+        circuitName = #{circuitName},
+        netRackProjectDivide = #{netRackProjectDivide},
+        requirementType = #{requirementType},
+        costEstimate = #{costEstimate},
+        basicRemarks = #{basicRemarks},
+        <if test="requester != null and requester != ''">
+            requester = #{requester},
+        </if>
+        <if test="ownerReserveFullTime != null and ownerReserveFullTime != ''">
+            ownerReserveFullTime = #{ownerReserveFullTime},
+        </if>
+        <if test="ownerDistributionNerworkFullTime != null and ownerDistributionNerworkFullTime != ''">
+            ownerDistributionNerworkFullTime = #{ownerDistributionNerworkFullTime},
+        </if>
+        <if test="ownerProjectManager != null and ownerProjectManager != ''">
+            ownerProjectManager = #{ownerProjectManager},
+        </if>
+        <if test="technicalStaff != null and technicalStaff != ''">
+            technicalStaff = #{technicalStaff},
+        </if>
+        <if test="operationAndMaintenancePersonnel != null and operationAndMaintenancePersonnel != ''">
+            operationAndMaintenancePersonnel = #{operationAndMaintenancePersonnel},
+        </if>
+        <if test="designer != null and designer != ''">
+            designer = #{designer},
+        </if>
+        budgetPreparer = #{budgetPreparer},
+--         uninterruptedWorkSurveyPersonnel = #{uninterruptedWorkSurveyPersonnel}
+        where projectReserveId = #{projectReserveId}
+    </update>
+
+    <select id="queryByProjectReserveId"
+            resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveProcessProject">
+        select
+        <include refid="reserveManagementColumns"/>
+        from cg_reserve_process a
+        where a.projectReserveId = #{projectReserveId}
+    </select>
+    <select id="findByProjectId" resultType="java.lang.Integer">
+        select
+        count(id)
+        from cg_reserve_process a
+        where a.projectReserveId = #{projectReserveId}
+    </select>
+    <select id="exportFindList"
+            resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveProcessProject">
+        select
+        <include refid="reserveManagementColumns"/>
+        ,siteSurveyor as 'uninterruptedWorkSurveyPersonnel'
+        from cg_reserve_process a
+        left join cg_reserve_electricity_work_information b
+        on a.projectReserveId = b.projectReserveId
+        from cg_reserve_process a
+        <where>
+            a.del_flag = 0
+            <if test="projectReserveId!=null and projectReserveId!=''">
+                and a.projectReserveId like concat('%', #{projectReserveId}, '%')
+            </if>
+            <if test="projectName!=null and projectName!=''">
+                and a.projectName like concat('%', #{projectName}, '%')
+            </if>
+            <if test="dataScope != null and dataScope != ''">
+                ${dataScope}
+            </if>
+        </where>
+        ORDER BY a.update_date DESC
+    </select>
+    <select id="findModuleList"
+            resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveProcessProject">
+        select
+        <include refid="reserveManagementColumns"/>
+        from cg_reserve_process a
+        <where>
+            del_flag = 0
+            <if test="projectReserveId!=null and projectReserveId!=''">
+                and a.projectReserveId like concat('%', #{projectReserveId}, '%')
+            </if>
+            <if test="projectName!=null and projectName!=''">
+                and a.projectName like concat('%', #{projectName}, '%')
+            </if>
+        </where>
+        <choose>
+            <when test="page !=null and page.orderBy != null and page.orderBy != ''">
+                ORDER BY ${page.orderBy}
+            </when>
+            <otherwise>
+                ORDER BY a.projectReserveId
+            </otherwise>
+        </choose>
+    </select>
+    <select id="exportModuleList"
+            resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSafety">
+        select
+        <include refid="reserveManagementColumns"/>
+        from cg_reserve_process a
+        <where>
+            del_flag = 0
+            <if test="projectReserveId!=null and projectReserveId!=''">
+                and a.projectReserveId like concat('%', #{projectReserveId}, '%')
+            </if>
+            <if test="projectName!=null and projectName!=''">
+                and a.projectName like concat('%', #{projectName}, '%')
+            </if>
+        </where>
+    </select>
+    <select id="findByName"
+            resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveProcessProject">
+        select id,
+               create_by,
+               create_date,
+               update_by,
+               update_date,
+               del_flag,
+               projectReserveId,
+               projectName
+        from cg_reserve_process
+        where projectName = #{projectName}
+    </select>
+    <select id="findByProcInsId"
+            resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveProcessProject">
+        select id,
+               create_by,
+               create_date,
+               update_by,
+               update_date,
+               del_flag,
+               projectYear,
+		projectNature,
+		demandUnit,
+		district,
+		projectGroup,
+		reserveBatches,
+		blockSupply,
+		gridNumber,
+		cellNumber,
+		projectReserveId,
+		projectName,
+		constructionNecessityAndContent,
+		substationName,
+		circuitName,
+		netRackProjectDivide,
+		requirementType,
+		costEstimate,
+		basicRemarks,
+		requester,
+		ownerReserveFullTime,
+		ownerDistributionNerworkFullTime,
+		ownerProjectManager,
+		technicalStaff,
+		operationAndMaintenancePersonnel,
+		designer,
+		budgetPreparer,
+-- 		uninterruptedWorkSurveyPersonnel
+        from cg_reserve_process
+        where projectReserveId = (select projectReserveId from cb_personnel_activiti where proc_ins_id = #{procInsId})
+    </select>
+
+    <select id="get" resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveProcessProject">
+        select
+        <include refid="reserveManagementColumns"/>
+        from cg_reserve_process a
+        where a.id = #{id}
+    </select>
+
+    <select id="findList" resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveProcessProject">
+        select
+        <include refid="reserveManagementColumns"/>
+        ,siteSurveyor as 'uninterruptedWorkSurveyPersonnel'
+        from cg_reserve_process a
+        left join cg_reserve_electricity_work_information b
+        on a.projectReserveId = b.projectReserveId
+        <where>
+            a.del_flag = 0
+            <if test="projectReserveId!=null and projectReserveId!=''">
+                and a.projectReserveId like concat('%', #{projectReserveId}, '%')
+            </if>
+            <if test="projectName!=null and projectName!=''">
+                and a.projectName like concat('%', #{projectName}, '%')
+            </if>
+            <if test="dataScope != null and dataScope != ''">
+                ${dataScope}
+            </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="repeatList" resultType="java.lang.String">
+        select gridNumber,cellNumber,projectReserveId,projectName,constructionNecessityAndContent from cg_reserve_process
+    </select>
+
+    <update id="delete">
+        delete from
+        cg_reserve_process
+        where id = #{id}
+    </update>
+</mapper>

+ 391 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/xml/ReserveSafeDisclosureMapper.xml

@@ -0,0 +1,391 @@
+<?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.cg.reservemanagementcenter.reserveManage.mapper.ReserveSafeDisclosureMapper">
+
+    <sql id="reserveManagementColumns">
+        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.del_flag AS "delFlag",
+		a.projectYear,
+		a.projectNature,
+		a.demandUnit,
+		a.district,
+		a.projectGroup,
+		a.reserveBatches,
+		a.blockSupply,
+		a.gridNumber,
+		a.cellNumber,
+		a.projectReserveId,
+		a.projectName,
+		a.constructionNecessityAndContent,
+		a.substationName,
+		a.circuitName,
+		a.netRackProjectDivide,
+		a.requirementType,
+		a.costEstimate,
+		a.basicRemarks,
+		a.reserveProgress,
+		a.transmissionWork,
+		a.workDescribe,
+		a.transmissionErection,
+		a.erecteDescribe,
+		a.transmissionCommonTrench,
+		a.trenchDescribe,
+		a.mediumVoltageWork,
+		a.voltageWorkDescribe,
+		a.confineSpaceWork,
+		a.spaceDescribe,
+		a.subStationCableBonding,
+		a.cableDescribe,
+		a.roadRailwaysAndWaterwaysWork,
+		a.waterDescribe,
+		a.hotWork,
+		a.hotWorkDescribe,
+		a.blackoutLineFour,
+		a.lineFourDescribe,
+		a.lineLoadRedirectionThree,
+		a.threeRedirectDescribe,
+		a.largeScaleMultiTeamWork,
+		a.teamWorkDescribe,
+		a.prepareThreeMeasures,
+		a.measureDescribe,
+		a.jobRiskLevelPrediction
+
+
+    </sql>
+
+    <insert id="insert">
+        insert into cg_reserve_safety_disclosure_information (
+        id,
+        create_by,
+        create_date,
+        update_by,
+        update_date,
+        del_flag,
+        projectYear,
+        projectNature,
+        demandUnit,
+        district,
+        projectGroup,
+        reserveBatches,
+        blockSupply,
+        gridNumber,
+        cellNumber,
+        projectReserveId,
+        projectName,
+        constructionNecessityAndContent,
+        substationName,
+        circuitName,
+        netRackProjectDivide,
+        requirementType,
+        costEstimate,
+        basicRemarks,
+        reserveProgress,
+		transmissionWork,
+		workDescribe,
+		transmissionErection,
+		erecteDescribe,
+		transmissionCommonTrench,
+		trenchDescribe,
+		mediumVoltageWork,
+		voltageWorkDescribe,
+		confineSpaceWork,
+		spaceDescribe,
+		subStationCableBonding,
+		cableDescribe,
+		roadRailwaysAndWaterwaysWork,
+		waterDescribe,
+		hotWork,
+		hotWorkDescribe,
+		blackoutLineFour,
+		lineFourDescribe,
+		lineLoadRedirectionThree,
+		threeRedirectDescribe,
+		largeScaleMultiTeamWork,
+		teamWorkDescribe,
+		prepareThreeMeasures,
+		measureDescribe,
+		jobRiskLevelPrediction
+        )
+        values
+            (
+            #{id},
+            #{createBy.id},
+            #{createDate},
+            #{updateBy.id},
+            #{updateDate},
+            #{delFlag},
+            #{projectYear},
+            #{projectNature},
+            #{demandUnit},
+            #{district},
+            #{projectGroup},
+            #{reserveBatches},
+            #{blockSupply},
+            #{gridNumber},
+            #{cellNumber},
+            #{projectReserveId},
+            #{projectName},
+            #{constructionNecessityAndContent},
+            #{substationName},
+            #{circuitName},
+            #{netRackProjectDivide},
+            #{requirementType},
+            #{costEstimate},
+            #{basicRemarks},
+            #{reserveProgress},
+		    #{transmissionWork},
+            #{workDescribe},
+            #{transmissionErection},
+            #{erecteDescribe},
+            #{transmissionCommonTrench},
+            #{trenchDescribe},
+            #{mediumVoltageWork},
+            #{voltageWorkDescribe},
+            #{confineSpaceWork},
+            #{spaceDescribe},
+            #{subStationCableBonding},
+            #{cableDescribe},
+            #{roadRailwaysAndWaterwaysWork},
+            #{waterDescribe},
+            #{hotWork},
+            #{hotWorkDescribe},
+            #{blackoutLineFour},
+            #{lineFourDescribe},
+            #{lineLoadRedirectionThree},
+            #{threeRedirectDescribe},
+            #{largeScaleMultiTeamWork},
+            #{teamWorkDescribe},
+            #{prepareThreeMeasures},
+            #{measureDescribe},
+            #{jobRiskLevelPrediction}
+            )
+    </insert>
+
+    <insert id="insertList">
+        insert into cg_reserve_safety_disclosure_information (
+        id,
+        create_by,
+        create_date,
+        update_by,
+        update_date,
+        del_flag,
+        projectYear,
+        projectNature,
+        demandUnit,
+        district,
+        projectGroup,
+        reserveBatches,
+        blockSupply,
+        gridNumber,
+        cellNumber,
+        projectReserveId,
+        projectName,
+        constructionNecessityAndContent,
+        substationName,
+        circuitName,
+        netRackProjectDivide,
+        requirementType,
+        costEstimate,
+        basicRemarks,
+        reserveProgress,
+        transmissionWork,
+        workDescribe,
+        transmissionErection,
+        erecteDescribe,
+        transmissionCommonTrench,
+        trenchDescribe,
+        mediumVoltageWork,
+        voltageWorkDescribe,
+        confineSpaceWork,
+        spaceDescribe,
+        subStationCableBonding,
+        cableDescribe,
+        roadRailwaysAndWaterwaysWork,
+        waterDescribe,
+        hotWork,
+        hotWorkDescribe,
+        blackoutLineFour,
+        lineFourDescribe,
+        lineLoadRedirectionThree,
+        threeRedirectDescribe,
+        largeScaleMultiTeamWork,
+        teamWorkDescribe,
+        prepareThreeMeasures,
+        measureDescribe,
+        jobRiskLevelPrediction
+        )
+        values
+        <foreach collection="list" item="item" index="index" separator="," >
+            (
+            #{item.id},
+            #{item.createBy.id},
+            #{item.createDate},
+            #{item.updateBy.id},
+            #{item.updateDate},
+            #{item.delFlag},
+            #{item.projectYear},
+            #{item.projectNature},
+            #{item.demandUnit},
+            #{item.district},
+            #{item.projectGroup},
+            #{item.reserveBatches},
+            #{item.blockSupply},
+            #{item.gridNumber},
+            #{item.cellNumber},
+            #{item.projectReserveId},
+            #{item.projectName},
+            #{item.constructionNecessityAndContent},
+            #{item.substationName},
+            #{item.circuitName},
+            #{item.netRackProjectDivide},
+            #{item.requirementType},
+            #{item.costEstimate},
+            #{item.basicRemarks},
+            #{item.reserveProgress},
+            #{item.transmissionWork},
+            #{item.workDescribe},
+            #{item.transmissionErection},
+            #{item.erecteDescribe},
+            #{item.transmissionCommonTrench},
+            #{item.trenchDescribe},
+            #{item.mediumVoltageWork},
+            #{item.voltageWorkDescribe},
+            #{item.confineSpaceWork},
+            #{item.spaceDescribe},
+            #{item.subStationCableBonding},
+            #{item.cableDescribe},
+            #{item.roadRailwaysAndWaterwaysWork},
+            #{item.waterDescribe},
+            #{item.hotWork},
+            #{item.hotWorkDescribe},
+            #{item.blackoutLineFour},
+            #{item.lineFourDescribe},
+            #{item.lineLoadRedirectionThree},
+            #{item.threeRedirectDescribe},
+            #{item.largeScaleMultiTeamWork},
+            #{item.teamWorkDescribe},
+            #{item.prepareThreeMeasures},
+            #{item.measureDescribe},
+            #{item.jobRiskLevelPrediction}
+            )
+        </foreach>
+    </insert>
+
+    <update id="update">
+		update
+        cg_reserve_safety_disclosure_information
+        set
+        update_by = #{updateBy.id},
+        update_date = #{updateDate},
+        projectYear = #{projectYear},
+        projectNature = #{projectNature},
+        demandUnit = #{demandUnit},
+        district = #{district},
+        projectGroup = #{projectGroup},
+        reserveBatches = #{reserveBatches},
+        blockSupply = #{blockSupply},
+        gridNumber = #{gridNumber},
+        cellNumber = #{cellNumber},
+        projectName = #{projectName},
+        constructionNecessityAndContent = #{constructionNecessityAndContent},
+        substationName = #{substationName},
+        circuitName = #{circuitName},
+        netRackProjectDivide = #{netRackProjectDivide},
+        requirementType = #{requirementType},
+        costEstimate = #{costEstimate},
+        basicRemarks = #{basicRemarks},
+        reserveProgress = #{reserveProgress},
+        transmissionWork = #{transmissionWork},
+        workDescribe = #{workDescribe},
+        transmissionErection = #{transmissionErection},
+        erecteDescribe = #{erecteDescribe},
+        transmissionCommonTrench = #{transmissionCommonTrench},
+        trenchDescribe = #{trenchDescribe},
+        mediumVoltageWork = #{mediumVoltageWork},
+        voltageWorkDescribe = #{voltageWorkDescribe},
+        confineSpaceWork = #{confineSpaceWork},
+        spaceDescribe = #{spaceDescribe},
+        subStationCableBonding = #{subStationCableBonding},
+        cableDescribe = #{cableDescribe},
+        roadRailwaysAndWaterwaysWork = #{roadRailwaysAndWaterwaysWork},
+        waterDescribe = #{waterDescribe},
+        hotWork = #{hotWork},
+        hotWorkDescribe = #{hotWorkDescribe},
+        blackoutLineFour = #{blackoutLineFour},
+        lineFourDescribe = #{lineFourDescribe},
+        lineLoadRedirectionThree = #{lineLoadRedirectionThree},
+        threeRedirectDescribe = #{threeRedirectDescribe},
+        largeScaleMultiTeamWork = #{largeScaleMultiTeamWork},
+        teamWorkDescribe = #{teamWorkDescribe},
+        prepareThreeMeasures = #{prepareThreeMeasures},
+        measureDescribe = #{measureDescribe},
+        jobRiskLevelPrediction = #{jobRiskLevelPrediction}
+
+        where id = #{id}
+	</update>
+
+    <select id="queryByProjectReserveId"
+            resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSafety">
+        select
+        <include refid="reserveManagementColumns"/>
+        from cg_reserve_safety_disclosure_information a
+        where a.projectReserveId = #{projectReserveId}
+    </select>
+
+
+    <select id="findList" resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSafety">
+        select
+        <include refid="reserveManagementColumns"/>
+        from cg_reserve_safety_disclosure_information a
+        <where>
+            del_flag = 0
+            <if test="projectReserveId!=null and projectReserveId!=''">
+                and a.projectReserveId like concat('%', #{projectReserveId}, '%')
+            </if>
+            <if test="projectName!=null and projectName!=''">
+                and a.projectName like concat('%', #{projectName}, '%')
+            </if>
+            <if test="dataScope != null and dataScope != ''">
+                ${dataScope}
+            </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="exportFindList"
+            resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSafety">
+        select
+        <include refid="reserveManagementColumns"/>
+        from cg_reserve_safety_disclosure_information a
+        <where>
+            del_flag = 0
+            <if test="projectReserveId!=null and projectReserveId!=''">
+                and a.projectReserveId like concat('%', #{projectReserveId}, '%')
+            </if>
+            <if test="projectName!=null and projectName!=''">
+                and a.projectName like concat('%', #{projectName}, '%')
+            </if>
+            <if test="dataScope != null and dataScope != ''">
+                ${dataScope}
+            </if>
+        </where>
+        ORDER BY a.update_date DESC
+    </select>
+
+    <select id="get" resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSafety">
+        select
+        <include refid="reserveManagementColumns"/>
+        from cg_reserve_safety_disclosure_information a
+        where a.id = #{id}
+    </select>
+</mapper>

+ 335 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/mapper/xml/SummaryStatisticMapper.xml

@@ -0,0 +1,335 @@
+<?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.cg.reservemanagementcenter.reserveManage.mapper.SummaryStatisticMapper">
+
+    <sql id="reserveManagementColumns">
+        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.del_flag AS "delFlag",
+		a.projectYear,
+		a.projectNature,
+		a.demandUnit,
+		a.district,
+		a.projectGroup,
+		a.reserveBatches,
+		a.blockSupply,
+		a.gridNumber,
+		a.cellNumber,
+		a.projectReserveId,
+		a.projectName,
+		a.constructionNecessityAndContent,
+		a.substationName,
+		a.circuitName,
+		a.netRackProjectDivide,
+		a.requirementType,
+		a.costEstimate,
+		a.basicRemarks,
+		a.reserveProgress,
+		a.includeReserve,
+		a.majorProblemClassification,
+		a.problemDescription,
+		a.changePlan,
+		a.programChangeDescription,
+		a.cancelConfirmationDepartment,
+		a.truthRemark,
+		a.demandUnitPriority,
+		a.implementPlan,
+		a.initialImplementBatch,
+		a.preliminaryConstructionUnit,
+		a.preliminaryConstructionUnitProjectManager,
+		a.handConstructionSketches
+
+
+    </sql>
+
+    <insert id="insert">
+        insert into cg_reserve_summary_statistics (
+        id,
+        create_by,
+        create_date,
+        update_by,
+        update_date,
+        del_flag,
+        projectYear,
+        projectNature,
+        demandUnit,
+        district,
+        projectGroup,
+        reserveBatches,
+        blockSupply,
+        gridNumber,
+        cellNumber,
+        projectReserveId,
+        projectName,
+        constructionNecessityAndContent,
+        substationName,
+        circuitName,
+        netRackProjectDivide,
+        requirementType,
+        costEstimate,
+        basicRemarks,
+        reserveProgress,
+		includeReserve,
+		majorProblemClassification,
+		problemDescription,
+		changePlan,
+		programChangeDescription,
+		cancelConfirmationDepartment,
+		truthRemark,
+		demandUnitPriority,
+		implementPlan,
+		initialImplementBatch,
+		preliminaryConstructionUnit,
+		preliminaryConstructionUnitProjectManager,
+		handConstructionSketches
+        )
+        values
+            (
+            #{id},
+            #{createBy.id},
+            #{createDate},
+            #{updateBy.id},
+            #{updateDate},
+            #{delFlag},
+            #{projectYear},
+            #{projectNature},
+            #{demandUnit},
+            #{district},
+            #{projectGroup},
+            #{reserveBatches},
+            #{blockSupply},
+            #{gridNumber},
+            #{cellNumber},
+            #{projectReserveId},
+            #{projectName},
+            #{constructionNecessityAndContent},
+            #{substationName},
+            #{circuitName},
+            #{netRackProjectDivide},
+            #{requirementType},
+            #{costEstimate},
+            #{basicRemarks},
+            #{reserveProgress},
+            #{includeReserve},
+            #{majorProblemClassification},
+            #{problemDescription},
+            #{changePlan},
+            #{programChangeDescription},
+            #{cancelConfirmationDepartment},
+            #{truthRemark},
+            #{demandUnitPriority},
+            #{implementPlan},
+            #{initialImplementBatch},
+            #{preliminaryConstructionUnit},
+            #{preliminaryConstructionUnitProjectManager},
+            #{handConstructionSketches}
+            )
+    </insert>
+
+    <insert id="insertList">
+        insert into cg_reserve_summary_statistics (
+        id,
+        create_by,
+        create_date,
+        update_by,
+        update_date,
+        del_flag,
+        projectYear,
+        projectNature,
+        demandUnit,
+        district,
+        projectGroup,
+        reserveBatches,
+        blockSupply,
+        gridNumber,
+        cellNumber,
+        projectReserveId,
+        projectName,
+        constructionNecessityAndContent,
+        substationName,
+        circuitName,
+        netRackProjectDivide,
+        requirementType,
+        costEstimate,
+        basicRemarks,
+        reserveProgress,
+        includeReserve,
+        majorProblemClassification,
+        problemDescription,
+        changePlan,
+        programChangeDescription,
+        cancelConfirmationDepartment,
+        truthRemark,
+        demandUnitPriority,
+        implementPlan,
+        initialImplementBatch,
+        preliminaryConstructionUnit,
+        preliminaryConstructionUnitProjectManager,
+        handConstructionSketches
+        )
+        values
+        <foreach collection="list" item="item" index="index" separator="," >
+            (
+            #{item.id},
+            #{item.createBy.id},
+            #{item.createDate},
+            #{item.updateBy.id},
+            #{item.updateDate},
+            #{item.delFlag},
+            #{item.projectYear},
+            #{item.projectNature},
+            #{item.demandUnit},
+            #{item.district},
+            #{item.projectGroup},
+            #{item.reserveBatches},
+            #{item.blockSupply},
+            #{item.gridNumber},
+            #{item.cellNumber},
+            #{item.projectReserveId},
+            #{item.projectName},
+            #{item.constructionNecessityAndContent},
+            #{item.substationName},
+            #{item.circuitName},
+            #{item.netRackProjectDivide},
+            #{item.requirementType},
+            #{item.costEstimate},
+            #{item.basicRemarks},
+            #{item.reserveProgress},
+            #{item.includeReserve},
+            #{item.majorProblemClassification},
+            #{item.problemDescription},
+            #{item.changePlan},
+            #{item.programChangeDescription},
+            #{item.cancelConfirmationDepartment},
+            #{item.truthRemark},
+            #{item.demandUnitPriority},
+            #{item.implementPlan},
+            #{item.initialImplementBatch},
+            #{item.preliminaryConstructionUnit},
+            #{item.preliminaryConstructionUnitProjectManager},
+            #{item.handConstructionSketches}
+            )
+        </foreach>
+    </insert>
+
+    <update id="update">
+		update
+        cg_reserve_summary_statistics
+        set
+        update_by = #{updateBy.id},
+        update_date = #{updateDate},
+        projectYear = #{projectYear},
+        projectNature = #{projectNature},
+        demandUnit = #{demandUnit},
+        district = #{district},
+        projectGroup = #{projectGroup},
+        reserveBatches = #{reserveBatches},
+        blockSupply = #{blockSupply},
+        gridNumber = #{gridNumber},
+        cellNumber = #{cellNumber},
+        projectName = #{projectName},
+        constructionNecessityAndContent = #{constructionNecessityAndContent},
+        substationName = #{substationName},
+        circuitName = #{circuitName},
+        netRackProjectDivide = #{netRackProjectDivide},
+        requirementType = #{requirementType},
+        costEstimate = #{costEstimate},
+        basicRemarks = #{basicRemarks},
+        reserveProgress = #{reserveProgress},
+        includeReserve = #{includeReserve},
+        majorProblemClassification = #{majorProblemClassification},
+        problemDescription = #{problemDescription},
+        changePlan = #{changePlan},
+        programChangeDescription = #{programChangeDescription},
+        cancelConfirmationDepartment = #{cancelConfirmationDepartment},
+        truthRemark = #{truthRemark},
+        demandUnitPriority = #{demandUnitPriority},
+        implementPlan = #{implementPlan},
+        initialImplementBatch = #{initialImplementBatch},
+        preliminaryConstructionUnit = #{preliminaryConstructionUnit},
+        preliminaryConstructionUnitProjectManager = #{preliminaryConstructionUnitProjectManager},
+        handConstructionSketches = #{handConstructionSketches}
+
+        where id = #{id}
+	</update>
+
+    <select id="queryByProjectReserveId"
+            resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSummary">
+        select
+        <include refid="reserveManagementColumns"/>
+        from cg_reserve_summary_statistics a
+        where a.projectReserveId = #{projectReserveId}
+    </select>
+
+
+    <select id="findList" resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSummary">
+        select
+        <include refid="reserveManagementColumns"/>
+        ,b.ownerProjectManager as 'projectManager',
+        c.administrativeDifficulty as 'administrativeDifficulty',
+        c.officeProgress as 'officeProgress'
+        from cg_reserve_summary_statistics a
+
+        left join cg_reserve_process b
+        on a.projectReserveId = b.projectReserveId
+        left join cg_reserve_policy_handing_information c
+        on a.projectReserveId = c.projectReserveId
+        <where>
+            a.del_flag = 0
+            <if test="projectReserveId!=null and projectReserveId!=''">
+                and a.projectReserveId like concat('%', #{projectReserveId}, '%')
+            </if>
+            <if test="projectName!=null and projectName!=''">
+                and a.projectName like concat('%', #{projectName}, '%')
+            </if>
+            <if test="dataScope != null and dataScope != ''">
+                ${dataScope}
+            </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="exportFindList"
+            resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSummary">
+        select
+        <include refid="reserveManagementColumns"/>
+        ,b.ownerProjectManager as 'projectManager',
+        c.administrativeDifficulty as 'administrativeDifficulty',
+        c.officeProgress as 'officeProgress'
+        from cg_reserve_summary_statistics a
+
+        left join cg_reserve_process b
+        on a.projectReserveId = b.projectReserveId
+        left join cg_reserve_policy_handing_information c
+        on a.projectReserveId = c.projectReserveId
+        <where>
+            a.del_flag = 0
+            <if test="projectReserveId!=null and projectReserveId!=''">
+                and a.projectReserveId like concat('%', #{projectReserveId}, '%')
+            </if>
+            <if test="projectName!=null and projectName!=''">
+                and a.projectName like concat('%', #{projectName}, '%')
+            </if>
+            <if test="dataScope != null and dataScope != ''">
+                ${dataScope}
+            </if>
+        </where>
+        ORDER BY a.update_date DESC
+    </select>
+
+    <select id="get" resultType="com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSummary">
+        select
+        <include refid="reserveManagementColumns"/>
+        from cg_reserve_summary_statistics a
+        where a.id = #{id}
+    </select>
+</mapper>

+ 98 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/service/PolicyHandingService.java

@@ -0,0 +1,98 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service;
+
+import com.jeeplus.core.persistence.Page;
+import com.jeeplus.core.service.CrudService;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReservePolicyHand;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper.PolicyHandingMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+
+/**
+ * 储备项目政策处理信息 service
+ * @author: 王强
+ * @create: 2022-07-27 08:42
+ **/
+@Service
+@Transactional(readOnly = true)
+public class PolicyHandingService extends CrudService<PolicyHandingMapper, ReservePolicyHand> {
+
+    @Autowired
+    private PolicyHandingMapper dao;
+
+    /**
+     * 查询已有的参数数据 并分类返回已存在数据和未存在数据
+     * @param reserveManagement
+     * @return
+     */
+    public Map<String, List<ReservePolicyHand>> getExistProjectList(List<ReservePolicyHand> reserveManagement){
+        Map<String,List<ReservePolicyHand>> map = new HashMap();
+        List<ReservePolicyHand> existReserveManagementList = new ArrayList<>();
+        Iterator<ReservePolicyHand> iterator = reserveManagement.iterator();
+        while (iterator.hasNext()) {
+            ReservePolicyHand rm = iterator.next();
+            //对数据进行处理
+            rm.preInsert();
+            ReservePolicyHand reserveManag = dao.queryByProjectReserveId(rm);
+            //数据库中已含有的数据在list中删除并创建一个list加入 区分为已存在数据
+            if (null != reserveManag) {
+                rm.setId(reserveManag.getId());
+                existReserveManagementList.add(rm);
+                iterator.remove();//使用迭代器删除已存在的数据
+            }
+
+        }
+        map.put("without",reserveManagement);
+        map.put("exist",existReserveManagementList);
+        return map;
+    }
+
+    /**
+     * 批量添加数据
+     * @param reserveManagementList
+     */
+    @Transactional(readOnly = false)
+    public void insertList(List<ReservePolicyHand> reserveManagementList){
+
+        dao.insertList(reserveManagementList);
+    }
+
+    /**
+     * 专职修改方法
+     * @param reserveManagement
+     */
+    @Transactional(readOnly = false)
+    public void update(ReservePolicyHand reserveManagement) {
+
+        super.save(reserveManagement);
+    }
+
+    public Page<ReservePolicyHand> findPage(Page<ReservePolicyHand> page, ReservePolicyHand reserveManagement) {
+        Page<ReservePolicyHand> pageList = super.findPage(page, reserveManagement);
+        return pageList;
+    }
+
+    public List<ReservePolicyHand> exportFindList( ReservePolicyHand reserveManagement) {
+        List<ReservePolicyHand> pageList = dao.exportFindList(reserveManagement);
+        return pageList;
+    }
+
+    /**
+     * 新增方法
+     * @param entity
+     */
+    @Transactional(readOnly = false)
+    public void save(ReservePolicyHand entity) {
+        //查询数据表中是否含有同项目储备编号的数据 若有则进行修改 没有则新增
+        //根据项目储备编号 查询数据
+        if (entity.getIsNewRecord()){
+            entity.preInsert();
+            mapper.insert(entity);
+        }else{
+            entity.preUpdate();
+            mapper.update(entity);
+        }
+    }
+}

+ 102 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/service/ReserveElectricityWorkService.java

@@ -0,0 +1,102 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service;
+
+import com.jeeplus.core.persistence.Page;
+import com.jeeplus.core.service.CrudService;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveElectricityWork;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveProcessProject;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper.ReserveElectricityWorkMapper;
+import com.jeeplus.modules.sg.managementcenter.reserveManagement.entity.ProgressSchedule;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+/**
+ * 储备项目带电作业信息 service
+ * @author: 王强
+ * @create: 2022-07-22 09:10
+ **/
+@Service
+@Transactional(readOnly = true)
+public class ReserveElectricityWorkService extends CrudService<ReserveElectricityWorkMapper, ReserveElectricityWork> {
+
+    @Autowired
+    private ReserveElectricityWorkMapper dao;
+
+    /**
+     * 查询已有的参数数据 并分类返回已存在数据和未存在数据
+     * @param reserveManagement
+     * @return
+     */
+    public Map<String, List<ReserveElectricityWork>> getExistProjectList(List<ReserveElectricityWork> reserveManagement){
+        Map<String,List<ReserveElectricityWork>> map = new HashMap();
+        List<ReserveElectricityWork> existReserveManagementList = new ArrayList<>();
+        Iterator<ReserveElectricityWork> iterator = reserveManagement.iterator();
+        while (iterator.hasNext()) {
+            ReserveElectricityWork rm = iterator.next();
+            //对数据进行处理
+            rm.preInsert();
+            ReserveElectricityWork reserveManag = dao.queryByProjectReserveId(rm);
+
+            //数据库中已含有的数据在list中删除并创建一个list加入 区分为已存在数据
+            if (null != reserveManag) {
+                rm.setId(reserveManag.getId());
+                existReserveManagementList.add(rm);
+                iterator.remove();//使用迭代器删除已存在的数据
+            }
+
+        }
+        map.put("without",reserveManagement);
+        map.put("exist",existReserveManagementList);
+        return map;
+    }
+
+    /**
+     * 批量添加数据
+     * @param reserveManagementList
+     */
+    @Transactional(readOnly = false)
+    public void insertList(List<ReserveElectricityWork> reserveManagementList){
+
+        dao.insertList(reserveManagementList);
+    }
+
+    /**
+     * 专职修改方法
+     * @param reserveManagement
+     */
+    @Transactional(readOnly = false)
+    public void update(ReserveElectricityWork reserveManagement) {
+
+        super.save(reserveManagement);
+    }
+
+    public Page<ReserveElectricityWork> findPage(Page<ReserveElectricityWork> page, ReserveElectricityWork reserveManagement) {
+        Page<ReserveElectricityWork> pageList = super.findPage(page, reserveManagement);
+        return pageList;
+    }
+
+    public List<ReserveElectricityWork> exportFindList( ReserveElectricityWork reserveManagement) {
+        List<ReserveElectricityWork> pageList = dao.exportFindList(reserveManagement);
+        return pageList;
+    }
+
+    /**
+     * 新增方法
+     * @param entity
+     */
+    @Transactional(readOnly = false)
+    public void save(ReserveElectricityWork entity) {
+        //查询数据表中是否含有同项目储备编号的数据 若有则进行修改 没有则新增
+        //根据项目储备编号 查询数据
+        if (entity.getIsNewRecord()){
+            entity.preInsert();
+            mapper.insert(entity);
+        }else{
+            entity.preUpdate();
+            mapper.update(entity);
+        }
+    }
+}

+ 97 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/service/ReservePreconstructService.java

@@ -0,0 +1,97 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service;
+
+import com.jeeplus.core.persistence.Page;
+import com.jeeplus.core.service.CrudService;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReservePreconstruction;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper.ReservePreconstructMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+
+/**
+ * 储备项目预土建制化信息 service
+ * @author: 王强
+ * @create: 2022-07-26 09:40
+ **/
+@Service
+@Transactional(readOnly = true)
+public class ReservePreconstructService extends CrudService<ReservePreconstructMapper, ReservePreconstruction> {
+
+    @Autowired
+    private ReservePreconstructMapper dao;
+
+    /**
+     * 查询已有的参数数据 并分类返回已存在数据和未存在数据
+     * @param reserveManagement
+     * @return
+     */
+    public Map<String, List<ReservePreconstruction>> getExistProjectList(List<ReservePreconstruction> reserveManagement){
+        Map<String,List<ReservePreconstruction>> map = new HashMap();
+        List<ReservePreconstruction> existReserveManagementList = new ArrayList<>();
+        Iterator<ReservePreconstruction> iterator = reserveManagement.iterator();
+        while (iterator.hasNext()) {
+            ReservePreconstruction rm = iterator.next();
+            //对数据进行处理
+            rm.preInsert();
+            ReservePreconstruction reserveManag = dao.queryByProjectReserveId(rm);
+            //数据库中已含有的数据在list中删除并创建一个list加入 区分为已存在数据
+            if (null != reserveManag) {
+                rm.setId(reserveManag.getId());
+                existReserveManagementList.add(rm);
+                iterator.remove();//使用迭代器删除已存在的数据
+            }
+        }
+        map.put("without",reserveManagement);
+        map.put("exist",existReserveManagementList);
+        return map;
+    }
+
+    /**
+     * 批量添加数据
+     * @param reserveManagementList
+     */
+    @Transactional(readOnly = false)
+    public void insertList(List<ReservePreconstruction> reserveManagementList){
+
+        dao.insertList(reserveManagementList);
+    }
+
+    /**
+     * 专职修改方法
+     * @param reserveManagement
+     */
+    @Transactional(readOnly = false)
+    public void update(ReservePreconstruction reserveManagement) {
+
+        super.save(reserveManagement);
+    }
+
+    public Page<ReservePreconstruction> findPage(Page<ReservePreconstruction> page, ReservePreconstruction reserveManagement) {
+        Page<ReservePreconstruction> pageList = super.findPage(page, reserveManagement);
+        return pageList;
+    }
+
+    public List<ReservePreconstruction> exportFindList( ReservePreconstruction reserveManagement) {
+        List<ReservePreconstruction> pageList = dao.exportFindList(reserveManagement);
+        return pageList;
+    }
+
+    /**
+     * 新增方法
+     * @param entity
+     */
+    @Transactional(readOnly = false)
+    public void save(ReservePreconstruction entity) {
+        //查询数据表中是否含有同项目储备编号的数据 若有则进行修改 没有则新增
+        //根据项目储备编号 查询数据
+        if (entity.getIsNewRecord()){
+            entity.preInsert();
+            mapper.insert(entity);
+        }else{
+            entity.preUpdate();
+            mapper.update(entity);
+        }
+    }
+}

+ 162 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/service/ReserveProcessProjectService.java

@@ -0,0 +1,162 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service;
+
+import com.jeeplus.core.persistence.Page;
+import com.jeeplus.core.service.CrudService;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveProcessProject;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper.ReserveProcessProjectMapper;
+import com.jeeplus.modules.sg.managementcenter.reserveManagement.entity.ExportScheme;
+import com.jeeplus.modules.sg.managementcenter.reserveManagement.entity.ProgressSchedule;
+import com.jeeplus.modules.sg.managementcenter.reserveManagement.entity.ReserveManagement;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+/**
+ * 储备项目基本信息 service
+ * @author: 王强
+ * @create: 2022-07-20 16:37
+ **/
+@Service
+@Transactional(readOnly = true)
+public class ReserveProcessProjectService extends CrudService<ReserveProcessProjectMapper, ReserveProcessProject> {
+
+    @Autowired
+    private ReserveProcessProjectMapper dao;
+
+    /**
+     * 查看数据库唯一性判断字段值
+     * @return
+     */
+    public List<String> repeatList(){
+        return dao.repeatList();
+    }
+
+    public Page<ReserveProcessProject> findPage(Page<ReserveProcessProject> page, ReserveProcessProject reserveManagement) {
+        Page<ReserveProcessProject> pageList = super.findPage(page, reserveManagement);
+        return pageList;
+    }
+
+    /**
+     * 查询已有的参数数据 并分类返回已存在数据和未存在数据
+     * @param reserveManagement
+     * @return
+     */
+    public Map<String,List<ReserveProcessProject>> getExistProjectList(List<ReserveProcessProject> reserveManagement){
+        Map<String,List<ReserveProcessProject>> map = new HashMap();
+        List<ReserveProcessProject> existReserveManagementList = new ArrayList<>();
+        Iterator<ReserveProcessProject> iterator = reserveManagement.iterator();
+        while (iterator.hasNext()) {
+            ReserveProcessProject rm = iterator.next();
+            //对数据进行处理
+            rm.preInsert();
+            ReserveProcessProject reserveManag = dao.queryByProjectReserveId(rm);
+
+            //数据库中已含有的数据在list中删除并创建一个list加入 区分为已存在数据
+            if (null != reserveManag) {
+                rm.setId(reserveManag.getId());
+                existReserveManagementList.add(rm);
+                iterator.remove();//使用迭代器删除已存在的数据
+            }
+        }
+        map.put("without",reserveManagement);
+        map.put("exist",existReserveManagementList);
+        return map;
+    }
+
+    /**
+     * 批量添加数据
+     * @param reserveManagementList
+     */
+    @Transactional(readOnly = false)
+    public void insertList(List<ReserveProcessProject> reserveManagementList){
+        SimpleDateFormat dft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String format = dft.format(new Date());
+        ProgressSchedule schedule = new ProgressSchedule();
+        for (ReserveProcessProject a :
+                reserveManagementList) {
+            a.preInsert();
+            schedule.preInsert();
+            schedule.setProjectBasic(format);
+            schedule.setProjectReserveId(a.getProjectReserveId());
+        }
+        dao.insertList(reserveManagementList);
+    }
+
+    /**
+     * 新增方法
+     * @param entity
+     */
+    @Transactional(readOnly = false)
+    public void save(ReserveProcessProject entity) {
+        //查询数据表中是否含有同项目储备编号的数据 若有则进行修改 没有则新增
+        //根据项目储备编号 查询数据
+        if (entity.getIsNewRecord()){
+            entity.preInsert();
+            mapper.insert(entity);
+        }else{
+            entity.preUpdate();
+            mapper.update(entity);
+        }
+    }
+
+    /**
+     * 专职修改方法
+     * @param reserveManagement
+     */
+    @Transactional(readOnly = false)
+    public void update(ReserveProcessProject reserveManagement) {
+
+        super.save(reserveManagement);
+    }
+
+    public List<ReserveProcessProject> exportFindList( ReserveProcessProject reserveManagement) {
+        List<ReserveProcessProject> pageList = dao.exportFindList(reserveManagement);
+        return pageList;
+    }
+
+    /**
+     * 删除方法
+     * @param reserveManagement
+     */
+    @Transactional(readOnly = false)
+    public void delete(ReserveProcessProject reserveManagement) {
+        super.delete(reserveManagement);
+    }
+
+    public Page<ReserveProcessProject> findModulePage (Page<ReserveProcessProject> page, ReserveProcessProject entity) {
+        dataRuleFilter(entity);
+        entity.setPage(page);
+        page.setList(mapper.findModuleList(entity));
+        return page;
+    }
+
+    /**
+     * 经理修改方法
+     * @param reserveManagement
+     */
+    @Transactional(readOnly = false)
+    public void updatejl(ReserveProcessProject reserveManagement) {
+        reserveManagement.preUpdate();
+        dao.updatejl(reserveManagement);
+    }
+
+    @Transactional(readOnly = false)
+    public void jlSave(ReserveProcessProject scheme) {
+        //查询数据表中是否含有同项目储备编号的数据 若有则进行修改
+        //根据项目储备编号 查询数据
+        Integer byProjectId = mapper.findByProjectId(scheme.getProjectReserveId());
+        SimpleDateFormat dft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String format = dft.format(new Date());
+        ProgressSchedule schedule = new ProgressSchedule();
+        //如果存在则修改信息
+        if (null != byProjectId && 1 == byProjectId) {
+            scheme.preUpdate();
+
+            mapper.updateScheme(scheme);
+
+        }
+    }
+}

+ 99 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/service/ReserveSafeDisclosureService.java

@@ -0,0 +1,99 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service;
+
+import com.jeeplus.core.persistence.Page;
+import com.jeeplus.core.service.CrudService;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSafety;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper.ReserveSafeDisclosureMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+
+/**
+ * 储备项目安全交底信息表 service
+ * @author: 王强
+ * @create: 2022-07-25 08:44
+ **/
+@Service
+@Transactional(readOnly = true)
+public class ReserveSafeDisclosureService extends CrudService<ReserveSafeDisclosureMapper, ReserveSafety> {
+
+    @Autowired
+    private ReserveSafeDisclosureMapper dao;
+
+    /**
+     * 查询已有的参数数据 并分类返回已存在数据和未存在数据
+     * @param reserveManagement
+     * @return
+     */
+    public Map<String, List<ReserveSafety>> getExistProjectList(List<ReserveSafety> reserveManagement){
+        Map<String,List<ReserveSafety>> map = new HashMap();
+        List<ReserveSafety> existReserveManagementList = new ArrayList<>();
+        Iterator<ReserveSafety> iterator = reserveManagement.iterator();
+        while (iterator.hasNext()) {
+            ReserveSafety rm = iterator.next();
+            //对数据进行处理
+            rm.preInsert();
+            ReserveSafety reserveManag = dao.queryByProjectReserveId(rm);
+            //数据库中已含有的数据在list中删除并创建一个list加入 区分为已存在数据
+            if (null != reserveManag) {
+                rm.setId(reserveManag.getId());
+                existReserveManagementList.add(rm);
+                iterator.remove();//使用迭代器删除已存在的数据
+            }
+        }
+        map.put("without",reserveManagement);
+        System.out.println("未存在数据:" + reserveManagement);
+        map.put("exist",existReserveManagementList);
+        System.out.println("已存在数据:" + existReserveManagementList);
+        return map;
+    }
+
+    /**
+     * 批量添加数据
+     * @param reserveManagementList
+     */
+    @Transactional(readOnly = false)
+    public void insertList(List<ReserveSafety> reserveManagementList){
+
+        dao.insertList(reserveManagementList);
+    }
+
+    /**
+     * 专职修改方法
+     * @param reserveManagement
+     */
+    @Transactional(readOnly = false)
+    public void update(ReserveSafety reserveManagement) {
+
+        super.save(reserveManagement);
+    }
+
+    public Page<ReserveSafety> findPage(Page<ReserveSafety> page, ReserveSafety reserveManagement) {
+        Page<ReserveSafety> pageList = super.findPage(page, reserveManagement);
+        return pageList;
+    }
+
+    public List<ReserveSafety> exportFindList( ReserveSafety reserveManagement) {
+        List<ReserveSafety> pageList = dao.exportFindList(reserveManagement);
+        return pageList;
+    }
+
+    /**
+     * 新增方法
+     * @param entity
+     */
+    @Transactional(readOnly = false)
+    public void save(ReserveSafety entity) {
+        //查询数据表中是否含有同项目储备编号的数据 若有则进行修改 没有则新增
+        //根据项目储备编号 查询数据
+        if (entity.getIsNewRecord()){
+            entity.preInsert();
+            mapper.insert(entity);
+        }else{
+            entity.preUpdate();
+            mapper.update(entity);
+        }
+    }
+}

+ 98 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/service/SummaryStatisticService.java

@@ -0,0 +1,98 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service;
+
+import com.jeeplus.core.persistence.Page;
+import com.jeeplus.core.service.CrudService;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSummary;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.mapper.SummaryStatisticMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+
+/**
+ * 储备项目交底信息汇总统计 service
+ * @author: 王强
+ * @create: 2022-07-27 11:05
+ **/
+@Service
+@Transactional(readOnly = true)
+public class SummaryStatisticService extends CrudService<SummaryStatisticMapper, ReserveSummary> {
+
+    @Autowired
+    private SummaryStatisticMapper dao;
+
+    /**
+     * 查询已有的参数数据 并分类返回已存在数据和未存在数据
+     * @param reserveManagement
+     * @return
+     */
+    public Map<String, List<ReserveSummary>> getExistProjectList(List<ReserveSummary> reserveManagement){
+        Map<String,List<ReserveSummary>> map = new HashMap();
+        List<ReserveSummary> existReserveManagementList = new ArrayList<>();
+        Iterator<ReserveSummary> iterator = reserveManagement.iterator();
+        while (iterator.hasNext()) {
+            ReserveSummary rm = iterator.next();
+            //对数据进行处理
+            rm.preInsert();
+            ReserveSummary reserveManag = dao.queryByProjectReserveId(rm);
+            //数据库中已含有的数据在list中删除并创建一个list加入 区分为已存在数据
+            if (null != reserveManag) {
+                rm.setId(reserveManag.getId());
+                existReserveManagementList.add(rm);
+                iterator.remove();//使用迭代器删除已存在的数据
+            }
+
+        }
+        map.put("without",reserveManagement);
+        map.put("exist",existReserveManagementList);
+        return map;
+    }
+
+    /**
+     * 批量添加数据
+     * @param reserveManagementList
+     */
+    @Transactional(readOnly = false)
+    public void insertList(List<ReserveSummary> reserveManagementList){
+
+        dao.insertList(reserveManagementList);
+    }
+
+    /**
+     * 专职修改方法
+     * @param reserveManagement
+     */
+    @Transactional(readOnly = false)
+    public void update(ReserveSummary reserveManagement) {
+
+        super.save(reserveManagement);
+    }
+
+    public Page<ReserveSummary> findPage(Page<ReserveSummary> page, ReserveSummary reserveManagement) {
+        Page<ReserveSummary> pageList = super.findPage(page, reserveManagement);
+        return pageList;
+    }
+
+    public List<ReserveSummary> exportFindList( ReserveSummary reserveManagement) {
+        List<ReserveSummary> pageList = dao.exportFindList(reserveManagement);
+        return pageList;
+    }
+
+    /**
+     * 新增方法
+     * @param entity
+     */
+    @Transactional(readOnly = false)
+    public void save(ReserveSummary entity) {
+        //查询数据表中是否含有同项目储备编号的数据 若有则进行修改 没有则新增
+        //根据项目储备编号 查询数据
+        if (entity.getIsNewRecord()){
+            entity.preInsert();
+            mapper.insert(entity);
+        }else{
+            entity.preUpdate();
+            mapper.update(entity);
+        }
+    }
+}

+ 734 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/utils/ReserveProcessProjectExportUtil.java

@@ -0,0 +1,734 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.utils;
+
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.*;
+import com.jeeplus.modules.sg.managementcenter.reserveManagement.entity.ExportScheme;
+import com.jeeplus.modules.sg.managementcenter.reserveManagement.entity.ReserveManagement;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.xssf.usermodel.XSSFCellStyle;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.*;
+import java.net.URLEncoder;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+public class ReserveProcessProjectExportUtil {
+
+    private  XSSFCellStyle style = null;
+
+    public static ReserveProcessProjectExportUtil getOne(){
+
+        return new ReserveProcessProjectExportUtil();
+    }
+
+    /**
+     * 传入excel模板名称 获取workbook对象
+     * @param fileName excel模板名称
+     * @return
+     */
+    public  XSSFWorkbook getWorkbook(String fileName){
+        InputStream inputStream = null;
+        XSSFWorkbook workbook = null;
+        try {
+            File file = new File(this.getClass().getResource("/").getPath() + "/freemarker/excelmodel/"+fileName+".xlsx");
+            inputStream = new FileInputStream(file);// 将excel文件转为输入流
+            workbook = new XSSFWorkbook(inputStream);// 创建个workbook,
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return workbook;
+    }
+
+    /**
+     * 导出储备项目基本信息
+     * @param response
+     * @param workbook
+     * @param list
+     */
+    public void exportBasic(HttpServletResponse response, XSSFWorkbook workbook, List<ReserveProcessProject> list){
+        try {
+            int index = 1;//第一列序号
+            int rowNum = 3;//数据起始列
+            Sheet sheet = workbook.getSheetAt(0);
+            for(int i=0;i<list.size();i++){
+                Row row = sheet.createRow(rowNum+i);
+                Cell cell0 = crateCell(workbook,row,0); //序号
+                Cell cell1 = crateCell(workbook,row,1); //项目年份
+                Cell cell2 = crateCell(workbook,row,2); //项目性质
+                Cell cell3 = crateCell(workbook,row,3); //需求单位
+                Cell cell4 = crateCell(workbook,row,4); //区域
+                Cell cell5 = crateCell(workbook,row,5); //项目分组
+                Cell cell6 = crateCell(workbook,row,6); //储备批次
+                Cell cell7 = crateCell(workbook,row,7); //供电区域
+                Cell cell8 = crateCell(workbook,row,8); //网格编号
+                Cell cell9 = crateCell(workbook,row,9); //单元格编号
+                Cell cell10 = crateCell(workbook,row,10); //项目储备编号
+                Cell cell11 = crateCell(workbook,row,11); //项目名称
+                Cell cell12 = crateCell(workbook,row,12); //建设必要性及内容
+                Cell cell13 = crateCell(workbook,row,13); //变电站名称
+                Cell cell14 = crateCell(workbook,row,14); //线路名称
+                Cell cell15 = crateCell(workbook,row,15); //网架项目划分
+                Cell cell16 = crateCell(workbook,row,16); //需求类型
+                Cell cell17 = crateCell(workbook,row,17); //费用估算
+                Cell cell18 = crateCell(workbook,row,18); //备注
+                Cell cell19 = crateCell(workbook,row,19); //需求提报人
+                Cell cell20 = crateCell(workbook,row,20); //业主储备专职
+                Cell cell21 = crateCell(workbook,row,21); //业主配网专职
+                Cell cell22 = crateCell(workbook,row,22); //业主项目经理
+                Cell cell23 = crateCell(workbook,row,23); //技经人员
+                Cell cell24 = crateCell(workbook,row,24); //运维人员
+                Cell cell25 = crateCell(workbook,row,25); //设计人员
+                Cell cell26 = crateCell(workbook,row,26); //概算编制人员
+                Cell cell27 = crateCell(workbook,row,27); //不停电作业查勘人
+
+                ReserveProcessProject reserveManagement = list.get(i);
+
+                cell0.setCellValue(String.valueOf(index++));
+                cell1.setCellValue(reserveManagement.getProjectYear());
+                cell2.setCellValue(reserveManagement.getProjectNature());
+                cell3.setCellValue(reserveManagement.getDemandUnit());
+                cell4.setCellValue(reserveManagement.getDistrict());
+                cell5.setCellValue(reserveManagement.getProjectGroup());
+                cell6.setCellValue(reserveManagement.getReserveBatches());
+                cell7.setCellValue(reserveManagement.getBlockSupply());
+                cell8.setCellValue(reserveManagement.getGridNumber());
+                cell9.setCellValue(reserveManagement.getCellNumber());
+                cell10.setCellValue(reserveManagement.getProjectReserveId());
+                cell11.setCellValue(reserveManagement.getProjectName());
+                cell12.setCellValue(reserveManagement.getConstructionNecessityAndContent());
+                cell13.setCellValue(reserveManagement.getSubstationName());
+                cell14.setCellValue(reserveManagement.getCircuitName());
+                cell15.setCellValue(reserveManagement.getNetRackProjectDivide());
+                cell16.setCellValue(reserveManagement.getRequirementType());
+
+                String costEstimateStr= reserveManagement.getCostEstimate().toString();
+                if(StringUtils.isNotBlank(costEstimateStr)){
+                    cell17.setCellValue(Double.parseDouble(costEstimateStr));
+                }
+                cell18.setCellValue(reserveManagement.getBasicRemarks());
+                cell19.setCellValue(reserveManagement.getRequester());
+                cell20.setCellValue(reserveManagement.getOwnerReserveFullTime());
+                cell21.setCellValue(reserveManagement.getOwnerDistributionNerworkFullTime());
+                cell22.setCellValue(reserveManagement.getOwnerProjectManager());
+                cell23.setCellValue(reserveManagement.getTechnicalStaff());
+                cell24.setCellValue(reserveManagement.getOperationAndMaintenancePersonnel());
+                cell25.setCellValue(reserveManagement.getDesigner());
+                cell26.setCellValue(reserveManagement.getBudgetPreparer());
+                cell27.setCellValue(reserveManagement.getUninterruptedWorkSurveyPersonnel());
+
+
+            }
+
+            String str = URLEncoder.encode("储备项目基本信息.xlsx", "UTF8");
+            response.setHeader("Content-Disposition", "attachment;filename="+str);
+            response.setContentType("application/vnd.ms-excel;charset=UTF-8");
+            OutputStream outputStream = response.getOutputStream();
+            workbook.write(outputStream);
+            outputStream.flush();
+            outputStream.close();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * 导出储备项目带电作业基本信息
+     * @param response
+     * @param workbook
+     * @param list
+     */
+    public void exportElectricityWork(HttpServletResponse response, XSSFWorkbook workbook, List<ReserveElectricityWork> list){
+        try {
+            int index = 1;//第一列序号
+            int rowNum = 3;//数据起始列
+            Sheet sheet = workbook.getSheetAt(0);
+            for(int i=0;i<list.size();i++){
+                Row row = sheet.createRow(rowNum+i);
+                Cell cell0 = crateCell(workbook,row,0); //序号
+                Cell cell1 = crateCell(workbook,row,1); //项目年份
+                Cell cell2 = crateCell(workbook,row,2); //项目性质
+                Cell cell3 = crateCell(workbook,row,3); //需求单位
+                Cell cell4 = crateCell(workbook,row,4); //区域
+                Cell cell5 = crateCell(workbook,row,5); //项目分组
+                Cell cell6 = crateCell(workbook,row,6); //储备批次
+                Cell cell7 = crateCell(workbook,row,7); //供电区域
+                Cell cell8 = crateCell(workbook,row,8); //网格编号
+                Cell cell9 = crateCell(workbook,row,9); //单元格编号
+                Cell cell10 = crateCell(workbook,row,10); //项目储备编号
+                Cell cell11 = crateCell(workbook,row,11); //项目名称
+                Cell cell12 = crateCell(workbook,row,12); //建设必要性及内容
+                Cell cell13 = crateCell(workbook,row,13); //变电站名称
+                Cell cell14 = crateCell(workbook,row,14); //线路名称
+                Cell cell15 = crateCell(workbook,row,15); //网架项目划分
+                Cell cell16 = crateCell(workbook,row,16); //需求类型
+                Cell cell17 = crateCell(workbook,row,17); //费用估算
+                Cell cell18 = crateCell(workbook,row,18); //备注
+                Cell cell19 = crateCell(workbook,row,19); //储备进度
+                Cell cell20 = crateCell(workbook,row,20); //是否纳入实施计划
+                Cell cell21 = crateCell(workbook,row,21); //初定实施批次
+                Cell cell22 = crateCell(workbook,row,22); //是否变压器或打包项目
+                Cell cell23 = crateCell(workbook,row,23); //是否打包项目
+                Cell cell24 = crateCell(workbook,row,24); //打包项目设备数量
+                Cell cell25 = crateCell(workbook,row,25); //设备名称
+                Cell cell26 = crateCell(workbook,row,26); //是否带电作业
+                Cell cell27 = crateCell(workbook,row,27); //带电作业类型编号
+                Cell cell28 = crateCell(workbook,row,28); //带电作业次数
+                Cell cell29 = crateCell(workbook,row,29); //不停电作业方案
+                Cell cell30 = crateCell(workbook,row,30); //无法不停电作业原因
+                Cell cell31 = crateCell(workbook,row,31); //停电作业方案
+                Cell cell32 = crateCell(workbook,row,32); //方案编制人
+                Cell cell33 = crateCell(workbook,row,33); //现场查勘人
+
+                ReserveElectricityWork reserveManagement = list.get(i);
+
+                cell0.setCellValue(String.valueOf(index++));
+                cell1.setCellValue(reserveManagement.getProjectYear());
+                cell2.setCellValue(reserveManagement.getProjectNature());
+                cell3.setCellValue(reserveManagement.getDemandUnit());
+                cell4.setCellValue(reserveManagement.getDistrict());
+                cell5.setCellValue(reserveManagement.getProjectGroup());
+                cell6.setCellValue(reserveManagement.getReserveBatches());
+                cell7.setCellValue(reserveManagement.getBlockSupply());
+                cell8.setCellValue(reserveManagement.getGridNumber());
+                cell9.setCellValue(reserveManagement.getCellNumber());
+                cell10.setCellValue(reserveManagement.getProjectReserveId());
+                cell11.setCellValue(reserveManagement.getProjectName());
+                cell12.setCellValue(reserveManagement.getConstructionNecessityAndContent());
+                cell13.setCellValue(reserveManagement.getSubstationName());
+                cell14.setCellValue(reserveManagement.getCircuitName());
+                cell15.setCellValue(reserveManagement.getNetRackProjectDivide());
+                cell16.setCellValue(reserveManagement.getRequirementType());
+
+                String costEstimateStr= reserveManagement.getCostEstimate().toString();
+                if(StringUtils.isNotBlank(costEstimateStr)){
+                    cell17.setCellValue(Double.parseDouble(costEstimateStr));
+                }
+                cell18.setCellValue(reserveManagement.getBasicRemarks());
+                cell19.setCellValue(reserveManagement.getReserveProgress());
+                cell20.setCellValue(reserveManagement.getImplementPlan());
+                cell21.setCellValue(reserveManagement.getImplementBatch());
+                cell22.setCellValue(reserveManagement.getTeansFormerOrPackageProject());
+                cell23.setCellValue(reserveManagement.getPackageProject());
+                cell24.setCellValue(reserveManagement.getPackageItemQuantity());
+                cell25.setCellValue(reserveManagement.getDeviceName());
+                cell26.setCellValue(reserveManagement.getWorkWithElectricity());
+                cell27.setCellValue(reserveManagement.getElectricityTypeNumber());
+                cell28.setCellValue(reserveManagement.getElectricityWorkNumber());
+                cell29.setCellValue(reserveManagement.getNoStopWorkPlan());
+                cell30.setCellValue(reserveManagement.getReasonsForNotWorkInterruption());
+                cell31.setCellValue(reserveManagement.getPowerOutagePlan());
+                cell32.setCellValue(reserveManagement.getPlanner());
+                cell33.setCellValue(reserveManagement.getSiteSurveyor());
+
+
+            }
+
+            String str = URLEncoder.encode("储备项目带电作业信息.xlsx", "UTF8");
+            response.setHeader("Content-Disposition", "attachment;filename="+str);
+            response.setContentType("application/vnd.ms-excel;charset=UTF-8");
+            OutputStream outputStream = response.getOutputStream();
+            workbook.write(outputStream);
+            outputStream.flush();
+            outputStream.close();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * 导出储备项目安全交底信息
+     * @param response
+     * @param workbook
+     * @param list
+     */
+    public void exportSafety(HttpServletResponse response, XSSFWorkbook workbook, List<ReserveSafety> list){
+        try {
+            int index = 1;//第一列序号
+            int rowNum = 3;//数据起始列
+            Sheet sheet = workbook.getSheetAt(0);
+            for(int i=0;i<list.size();i++){
+                Row row = sheet.createRow(rowNum+i);
+                Cell cell0 = crateCell(workbook,row,0); //序号
+                Cell cell1 = crateCell(workbook,row,1); //项目年份
+                Cell cell2 = crateCell(workbook,row,2); //项目性质
+                Cell cell3 = crateCell(workbook,row,3); //需求单位
+                Cell cell4 = crateCell(workbook,row,4); //区域
+                Cell cell5 = crateCell(workbook,row,5); //项目分组
+                Cell cell6 = crateCell(workbook,row,6); //储备批次
+                Cell cell7 = crateCell(workbook,row,7); //供电区域
+                Cell cell8 = crateCell(workbook,row,8); //网格编号
+                Cell cell9 = crateCell(workbook,row,9); //单元格编号
+                Cell cell10 = crateCell(workbook,row,10); //项目储备编号
+                Cell cell11 = crateCell(workbook,row,11); //项目名称
+                Cell cell12 = crateCell(workbook,row,12); //建设必要性及内容
+                Cell cell13 = crateCell(workbook,row,13); //变电站名称
+                Cell cell14 = crateCell(workbook,row,14); //线路名称
+                Cell cell15 = crateCell(workbook,row,15); //网架项目划分
+                Cell cell16 = crateCell(workbook,row,16); //需求类型
+                Cell cell17 = crateCell(workbook,row,17); //费用估算
+                Cell cell18 = crateCell(workbook,row,18); //备注
+                Cell cell19 = crateCell(workbook,row,19); //储备进度
+                Cell cell20 = crateCell(workbook,row,20); //是否临近(交叉)输电线路作业(含土建)
+                Cell cell21 = crateCell(workbook,row,21); //是否临近(交叉)输电线路作业(含土建)-描述
+                Cell cell22 = crateCell(workbook,row,22); //是否与输电线路同杆架设
+                Cell cell23 = crateCell(workbook,row,23); //是否与输电线路同杆架设-描述
+                Cell cell24 = crateCell(workbook,row,24); //是否与输电线路共沟
+                Cell cell25 = crateCell(workbook,row,25); //是否与输电线路共沟-描述
+                Cell cell26 = crateCell(workbook,row,26); //是否临近带电中压线路作业
+                Cell cell27 = crateCell(workbook,row,27); //是否临近带电中压线路作业-描述
+                Cell cell28 = crateCell(workbook,row,28); //是否有限空间作业
+                Cell cell29 = crateCell(workbook,row,29); //是否有限空间作业-描述
+                Cell cell30 = crateCell(workbook,row,30); //是否存在变电站出线电缆搭接-是
+                Cell cell31 = crateCell(workbook,row,31); //是否存在变电站出线电缆搭接-是-描述
+                Cell cell32 = crateCell(workbook,row,32); //是否存在跨越公路、铁路、航道作业
+                Cell cell33 = crateCell(workbook,row,33); //是否存在跨越公路、铁路、航道作业-描述
+                Cell cell34 = crateCell(workbook,row,34); //是否存在动火作业
+                Cell cell35 = crateCell(workbook,row,35); //是否存在动火作业-描述
+                Cell cell36 = crateCell(workbook,row,36); //是否需停电四条以上线路
+                Cell cell37 = crateCell(workbook,row,37); //是否需停电四条以上线路-描述
+                Cell cell38 = crateCell(workbook,row,38); //是否三条以上线路负荷改接
+                Cell cell39 = crateCell(workbook,row,39); //是否三条以上线路负荷改接-描述
+                Cell cell40 = crateCell(workbook,row,40); //是否多专业、多班组大型作业
+                Cell cell41 = crateCell(workbook,row,41); //是否多专业、多班组大型作业-描述
+                Cell cell42 = crateCell(workbook,row,42); //是否需编制三措
+                Cell cell43 = crateCell(workbook,row,43); //是否需编制三措-描述
+                Cell cell44 = crateCell(workbook,row,44); //作业风险等级预判
+
+
+                ReserveSafety reserveManagement = list.get(i);
+
+                cell0.setCellValue(String.valueOf(index++));
+                cell1.setCellValue(reserveManagement.getProjectYear());
+                cell2.setCellValue(reserveManagement.getProjectNature());
+                cell3.setCellValue(reserveManagement.getDemandUnit());
+                cell4.setCellValue(reserveManagement.getDistrict());
+                cell5.setCellValue(reserveManagement.getProjectGroup());
+                cell6.setCellValue(reserveManagement.getReserveBatches());
+                cell7.setCellValue(reserveManagement.getBlockSupply());
+                cell8.setCellValue(reserveManagement.getGridNumber());
+                cell9.setCellValue(reserveManagement.getCellNumber());
+                cell10.setCellValue(reserveManagement.getProjectReserveId());
+                cell11.setCellValue(reserveManagement.getProjectName());
+                cell12.setCellValue(reserveManagement.getConstructionNecessityAndContent());
+                cell13.setCellValue(reserveManagement.getSubstationName());
+                cell14.setCellValue(reserveManagement.getCircuitName());
+                cell15.setCellValue(reserveManagement.getNetRackProjectDivide());
+                cell16.setCellValue(reserveManagement.getRequirementType());
+
+                String costEstimateStr= reserveManagement.getCostEstimate().toString();
+                if(StringUtils.isNotBlank(costEstimateStr)){
+                    cell17.setCellValue(Double.parseDouble(costEstimateStr));
+                }
+                cell18.setCellValue(reserveManagement.getBasicRemarks());
+                cell19.setCellValue(reserveManagement.getReserveProgress());
+                cell20.setCellValue(reserveManagement.getTransmissionWork());
+                cell21.setCellValue(reserveManagement.getWorkDescribe());
+                cell22.setCellValue(reserveManagement.getTransmissionErection());
+                cell23.setCellValue(reserveManagement.getErecteDescribe());
+                cell24.setCellValue(reserveManagement.getTransmissionCommonTrench());
+                cell25.setCellValue(reserveManagement.getTrenchDescribe());
+                cell26.setCellValue(reserveManagement.getMediumVoltageWork());
+                cell27.setCellValue(reserveManagement.getVoltageWorkDescribe());
+                cell28.setCellValue(reserveManagement.getConfineSpaceWork());
+                cell29.setCellValue(reserveManagement.getSpaceDescribe());
+                cell30.setCellValue(reserveManagement.getSubStationCableBonding());
+                cell31.setCellValue(reserveManagement.getCableDescribe());
+                cell32.setCellValue(reserveManagement.getRoadRailwaysAndWaterwaysWork());
+                cell33.setCellValue(reserveManagement.getWaterDescribe());
+                cell34.setCellValue(reserveManagement.getHotWork());
+                cell35.setCellValue(reserveManagement.getHotWorkDescribe());
+                cell36.setCellValue(reserveManagement.getBlackoutLineFour());
+                cell37.setCellValue(reserveManagement.getLineFourDescribe());
+                cell38.setCellValue(reserveManagement.getLineLoadRedirectionThree());
+                cell39.setCellValue(reserveManagement.getThreeRedirectDescribe());
+                cell40.setCellValue(reserveManagement.getLargeScaleMultiTeamWork());
+                cell41.setCellValue(reserveManagement.getTeamWorkDescribe());
+                cell42.setCellValue(reserveManagement.getPrepareThreeMeasures());
+                cell43.setCellValue(reserveManagement.getMeasureDescribe());
+                cell44.setCellValue(reserveManagement.getJobRiskLevelPrediction());
+
+            }
+
+            String str = URLEncoder.encode("储备项目安全交底信息.xlsx", "UTF8");
+            response.setHeader("Content-Disposition", "attachment;filename="+str);
+            response.setContentType("application/vnd.ms-excel;charset=UTF-8");
+            OutputStream outputStream = response.getOutputStream();
+            workbook.write(outputStream);
+            outputStream.flush();
+            outputStream.close();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+
+    /**
+     * 导出储备项目预土建制化信息
+     * @param response
+     * @param workbook
+     * @param list
+     */
+    public void exportPrecons(HttpServletResponse response, XSSFWorkbook workbook, List<ReservePreconstruction> list){
+        try {
+            int index = 1;//第一列序号
+            int rowNum = 3;//数据起始列
+            Sheet sheet = workbook.getSheetAt(0);
+            for(int i=0;i<list.size();i++){
+                Row row = sheet.createRow(rowNum+i);
+                Cell cell0 = crateCell(workbook,row,0); //序号
+                Cell cell1 = crateCell(workbook,row,1); //项目年份
+                Cell cell2 = crateCell(workbook,row,2); //项目性质
+                Cell cell3 = crateCell(workbook,row,3); //需求单位
+                Cell cell4 = crateCell(workbook,row,4); //区域
+                Cell cell5 = crateCell(workbook,row,5); //项目分组
+                Cell cell6 = crateCell(workbook,row,6); //储备批次
+                Cell cell7 = crateCell(workbook,row,7); //供电区域
+                Cell cell8 = crateCell(workbook,row,8); //网格编号
+                Cell cell9 = crateCell(workbook,row,9); //单元格编号
+                Cell cell10 = crateCell(workbook,row,10); //项目储备编号
+                Cell cell11 = crateCell(workbook,row,11); //项目名称
+                Cell cell12 = crateCell(workbook,row,12); //建设必要性及内容
+                Cell cell13 = crateCell(workbook,row,13); //变电站名称
+                Cell cell14 = crateCell(workbook,row,14); //线路名称
+                Cell cell15 = crateCell(workbook,row,15); //网架项目划分
+                Cell cell16 = crateCell(workbook,row,16); //需求类型
+                Cell cell17 = crateCell(workbook,row,17); //费用估算
+                Cell cell18 = crateCell(workbook,row,18); //备注
+                Cell cell19 = crateCell(workbook,row,19); //储备进度
+                Cell cell20 = crateCell(workbook,row,20); //是否纳入实施计划
+                Cell cell21 = crateCell(workbook,row,21); //初定实施批次
+                Cell cell22 = crateCell(workbook,row,22); //交底预制化信息-是否含新建土建基础/包封
+                Cell cell23 = crateCell(workbook,row,23); //交底预制化信息-是否预制化
+                Cell cell24 = crateCell(workbook,row,24); //交底预制化信息-预制化描述
+                Cell cell25 = crateCell(workbook,row,25); //设计预制化信息-是否含新建土建基础/包封
+                Cell cell26 = crateCell(workbook,row,26); //设计预制化信息-是否预制化
+                Cell cell27 = crateCell(workbook,row,27); //设计预制化信息-预制化描述
+
+
+
+
+                ReservePreconstruction reserveManagement = list.get(i);
+
+                cell0.setCellValue(String.valueOf(index++));
+                cell1.setCellValue(reserveManagement.getProjectYear());
+                cell2.setCellValue(reserveManagement.getProjectNature());
+                cell3.setCellValue(reserveManagement.getDemandUnit());
+                cell4.setCellValue(reserveManagement.getDistrict());
+                cell5.setCellValue(reserveManagement.getProjectGroup());
+                cell6.setCellValue(reserveManagement.getReserveBatches());
+                cell7.setCellValue(reserveManagement.getBlockSupply());
+                cell8.setCellValue(reserveManagement.getGridNumber());
+                cell9.setCellValue(reserveManagement.getCellNumber());
+                cell10.setCellValue(reserveManagement.getProjectReserveId());
+                cell11.setCellValue(reserveManagement.getProjectName());
+                cell12.setCellValue(reserveManagement.getConstructionNecessityAndContent());
+                cell13.setCellValue(reserveManagement.getSubstationName());
+                cell14.setCellValue(reserveManagement.getCircuitName());
+                cell15.setCellValue(reserveManagement.getNetRackProjectDivide());
+                cell16.setCellValue(reserveManagement.getRequirementType());
+
+                String costEstimateStr= reserveManagement.getCostEstimate().toString();
+                if(StringUtils.isNotBlank(costEstimateStr)){
+                    cell17.setCellValue(Double.parseDouble(costEstimateStr));
+                }
+                cell18.setCellValue(reserveManagement.getBasicRemarks());
+                cell19.setCellValue(reserveManagement.getReserveProgress());
+                cell20.setCellValue(reserveManagement.getImplementPlan());
+                cell21.setCellValue(reserveManagement.getImplementBatch());
+                cell22.setCellValue(reserveManagement.getConfessCivilFoundation());
+                cell23.setCellValue(reserveManagement.getConfessPrefab());
+                cell24.setCellValue(reserveManagement.getConfessPrefabDescription());
+                cell25.setCellValue(reserveManagement.getDesignCivilFoundation());
+                cell26.setCellValue(reserveManagement.getDesignPrefab());
+                cell27.setCellValue(reserveManagement.getDesignPrefabDescription());
+
+            }
+
+            String str = URLEncoder.encode("储备项目预土建制化信息.xlsx", "UTF8");
+            response.setHeader("Content-Disposition", "attachment;filename="+str);
+            response.setContentType("application/vnd.ms-excel;charset=UTF-8");
+            OutputStream outputStream = response.getOutputStream();
+            workbook.write(outputStream);
+            outputStream.flush();
+            outputStream.close();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * 导出储备项目政策处理信息
+     * @param response
+     * @param workbook
+     * @param list
+     */
+    public void exportPolicy(HttpServletResponse response, XSSFWorkbook workbook, List<ReservePolicyHand> list){
+        try {
+            int index = 1;//第一列序号
+            int rowNum = 3;//数据起始列
+            Sheet sheet = workbook.getSheetAt(0);
+            for(int i=0;i<list.size();i++){
+                Row row = sheet.createRow(rowNum+i);
+                Cell cell0 = crateCell(workbook,row,0); //序号
+                Cell cell1 = crateCell(workbook,row,1); //项目年份
+                Cell cell2 = crateCell(workbook,row,2); //项目性质
+                Cell cell3 = crateCell(workbook,row,3); //需求单位
+                Cell cell4 = crateCell(workbook,row,4); //区域
+                Cell cell5 = crateCell(workbook,row,5); //项目分组
+                Cell cell6 = crateCell(workbook,row,6); //储备批次
+                Cell cell7 = crateCell(workbook,row,7); //供电区域
+                Cell cell8 = crateCell(workbook,row,8); //网格编号
+                Cell cell9 = crateCell(workbook,row,9); //单元格编号
+                Cell cell10 = crateCell(workbook,row,10); //项目储备编号
+                Cell cell11 = crateCell(workbook,row,11); //项目名称
+                Cell cell12 = crateCell(workbook,row,12); //建设必要性及内容
+                Cell cell13 = crateCell(workbook,row,13); //变电站名称
+                Cell cell14 = crateCell(workbook,row,14); //线路名称
+                Cell cell15 = crateCell(workbook,row,15); //网架项目划分
+                Cell cell16 = crateCell(workbook,row,16); //需求类型
+                Cell cell17 = crateCell(workbook,row,17); //费用估算
+                Cell cell18 = crateCell(workbook,row,18); //备注
+                Cell cell19 = crateCell(workbook,row,19); //储备进度
+                Cell cell20 = crateCell(workbook,row,20); //是否纳入实施计划
+                Cell cell21 = crateCell(workbook,row,21); //拟实施批次
+                Cell cell22 = crateCell(workbook,row,22); //供电所辖区
+                Cell cell23 = crateCell(workbook,row,23); //施工地点
+                Cell cell24 = crateCell(workbook,row,24); //是否含土建工作量
+                Cell cell25 = crateCell(workbook,row,25); //是否含立杆工作量
+                Cell cell26 = crateCell(workbook,row,26); //项目经理
+                Cell cell27 = crateCell(workbook,row,27); //拟定施工单位
+                Cell cell28 = crateCell(workbook,row,28); //是否移交政处单位图纸
+                Cell cell29 = crateCell(workbook,row,29); //是否存在政处
+                Cell cell30 = crateCell(workbook,row,30); //政处描述
+                Cell cell31 = crateCell(workbook,row,31); //政处难度
+                Cell cell32 = crateCell(workbook,row,32); //政处对象数量
+                Cell cell33 = crateCell(workbook,row,33); //政处对象描述(产权单位)
+                Cell cell34 = crateCell(workbook,row,34); //政处类型
+                Cell cell35 = crateCell(workbook,row,35); //启动政处时间
+                Cell cell36 = crateCell(workbook,row,36); //是否需规划报批
+                Cell cell37 = crateCell(workbook,row,37); //规划报批完成情况
+                Cell cell38 = crateCell(workbook,row,38); //是否需办理安评航评手续
+                Cell cell39 = crateCell(workbook,row,39); //安评完成情况
+                Cell cell40 = crateCell(workbook,row,40); //政处对象金额
+                Cell cell41 = crateCell(workbook,row,41); //是否完成付款
+                Cell cell42 = crateCell(workbook,row,42); //政处进度
+                Cell cell43 = crateCell(workbook,row,43); //是否允许土建进场
+                Cell cell44 = crateCell(workbook,row,43); //是否允许电气进场
+                Cell cell45 = crateCell(workbook,row,44); //是否允许开土建领料单
+                Cell cell46 = crateCell(workbook,row,45); //是否允许开电气领料单
+                Cell cell47 = crateCell(workbook,row,46); //政处进度-备注
+
+
+                ReservePolicyHand reserveManagement = list.get(i);
+
+                cell0.setCellValue(String.valueOf(index++));
+                cell1.setCellValue(reserveManagement.getProjectYear());
+                cell2.setCellValue(reserveManagement.getProjectNature());
+                cell3.setCellValue(reserveManagement.getDemandUnit());
+                cell4.setCellValue(reserveManagement.getDistrict());
+                cell5.setCellValue(reserveManagement.getProjectGroup());
+                cell6.setCellValue(reserveManagement.getReserveBatches());
+                cell7.setCellValue(reserveManagement.getBlockSupply());
+                cell8.setCellValue(reserveManagement.getGridNumber());
+                cell9.setCellValue(reserveManagement.getCellNumber());
+                cell10.setCellValue(reserveManagement.getProjectReserveId());
+                cell11.setCellValue(reserveManagement.getProjectName());
+                cell12.setCellValue(reserveManagement.getConstructionNecessityAndContent());
+                cell13.setCellValue(reserveManagement.getSubstationName());
+                cell14.setCellValue(reserveManagement.getCircuitName());
+                cell15.setCellValue(reserveManagement.getNetRackProjectDivide());
+                cell16.setCellValue(reserveManagement.getRequirementType());
+
+                String costEstimateStr= reserveManagement.getCostEstimate().toString();
+                if(StringUtils.isNotBlank(costEstimateStr)){
+                    cell17.setCellValue(Double.parseDouble(costEstimateStr));
+                }
+                cell18.setCellValue(reserveManagement.getBasicRemarks());
+                cell19.setCellValue(reserveManagement.getReserveProgress());
+                cell20.setCellValue(reserveManagement.getImplementPlan());
+                cell21.setCellValue(reserveManagement.getIntendBatch());
+                cell22.setCellValue(reserveManagement.getPowerSupplyArea());
+                cell23.setCellValue(reserveManagement.getConstructionSpot());
+                cell24.setCellValue(reserveManagement.getIncludeCivilWork());
+                cell25.setCellValue(reserveManagement.getPoleWorkload());
+                cell26.setCellValue(reserveManagement.getProjectManager());
+                cell27.setCellValue(reserveManagement.getProposedConstructionUnit());
+                cell28.setCellValue(reserveManagement.getOverToGovernment());
+                cell29.setCellValue(reserveManagement.getGovernmentOffice());
+                cell30.setCellValue(reserveManagement.getOfficeDescription());
+                cell31.setCellValue(reserveManagement.getAdministrativeDifficulty());
+                cell32.setCellValue(reserveManagement.getAdministrativeObjectNumber());
+                cell33.setCellValue(reserveManagement.getPropertyUnitOfficeDescription());
+                cell34.setCellValue(reserveManagement.getOfficeType());
+                cell35.setCellValue(reserveManagement.getStartOfficeTime());
+                cell36.setCellValue(reserveManagement.getPlanApprovalRequire());
+                cell37.setCellValue(reserveManagement.getPlanApprovalCompletion());
+                cell38.setCellValue(reserveManagement.getSafetyReview());
+                cell39.setCellValue(reserveManagement.getSafetyReviewCompletion());
+                cell40.setCellValue(reserveManagement.getOfficeAmount());
+                cell41.setCellValue(reserveManagement.getPaymentCompleted());
+                cell42.setCellValue(reserveManagement.getOfficeProgress());
+                cell43.setCellValue(reserveManagement.getCivilEngineeringApproach());
+                cell44.setCellValue(reserveManagement.getElectricApproach());
+                cell45.setCellValue(reserveManagement.getCivilConstructionMaterialOpen());
+                cell46.setCellValue(reserveManagement.getElectricalPickListOpen());
+                cell47.setCellValue(reserveManagement.getAdministrativeOfficeRemark());
+
+
+            }
+
+            String str = URLEncoder.encode("储备项目政策处理信息.xlsx", "UTF8");
+            response.setHeader("Content-Disposition", "attachment;filename="+str);
+            response.setContentType("application/vnd.ms-excel;charset=UTF-8");
+            OutputStream outputStream = response.getOutputStream();
+            workbook.write(outputStream);
+            outputStream.flush();
+            outputStream.close();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * 导出储备项目交底信息汇总统计
+     * @param response
+     * @param workbook
+     * @param list
+     */
+    public void exportSummary(HttpServletResponse response, XSSFWorkbook workbook, List<ReserveSummary> list){
+        try {
+            int index = 1;//第一列序号
+            int rowNum = 3;//数据起始列
+            Sheet sheet = workbook.getSheetAt(0);
+            for(int i=0;i<list.size();i++){
+                Row row = sheet.createRow(rowNum+i);
+                Cell cell0 = crateCell(workbook,row,0); //序号
+                Cell cell1 = crateCell(workbook,row,1); //项目年份
+                Cell cell2 = crateCell(workbook,row,2); //项目性质
+                Cell cell3 = crateCell(workbook,row,3); //需求单位
+                Cell cell4 = crateCell(workbook,row,4); //区域
+                Cell cell5 = crateCell(workbook,row,5); //项目分组
+                Cell cell6 = crateCell(workbook,row,6); //项目经理
+                Cell cell7 = crateCell(workbook,row,7); //储备批次
+                Cell cell8 = crateCell(workbook,row,8); //供电区域
+                Cell cell9 = crateCell(workbook,row,9); //网格编号
+                Cell cell10 = crateCell(workbook,row,10); //单元格编号
+                Cell cell11 = crateCell(workbook,row,11); //项目储备编号
+                Cell cell12 = crateCell(workbook,row,12); //项目名称
+                Cell cell13 = crateCell(workbook,row,13); //建设必要性及内容
+                Cell cell14 = crateCell(workbook,row,14); //变电站名称
+                Cell cell15 = crateCell(workbook,row,15); //线路名称
+                Cell cell16 = crateCell(workbook,row,16); //网架项目划分
+                Cell cell17 = crateCell(workbook,row,17); //需求类型
+                Cell cell18 = crateCell(workbook,row,18); //项目类型
+                Cell cell19 = crateCell(workbook,row,19); //费用估算
+                Cell cell20 = crateCell(workbook,row,20); //预算编制状态
+                Cell cell21 = crateCell(workbook,row,21); //预算含税
+                Cell cell22 = crateCell(workbook,row,22); //预算不含税
+                Cell cell23 = crateCell(workbook,row,23); //备注
+                Cell cell24 = crateCell(workbook,row,24); //储备进度
+                Cell cell25 = crateCell(workbook,row,25); //是否纳入储备
+                Cell cell26 = crateCell(workbook,row,26); //存在重大问题分类
+                Cell cell27 = crateCell(workbook,row,27); //存在问题说明
+                Cell cell28 = crateCell(workbook,row,28); //是否可变更方案
+                Cell cell29 = crateCell(workbook,row,29); //方案变更说明
+                Cell cell30 = crateCell(workbook,row,30); //政处难度
+                Cell cell31 = crateCell(workbook,row,31); //政处进度
+                Cell cell32 = crateCell(workbook,row,32); //取消确认部门
+                Cell cell33 = crateCell(workbook,row,33); //储备项目交底信息-备注
+                Cell cell34 = crateCell(workbook,row,34); //需求单位优先级
+                Cell cell35 = crateCell(workbook,row,35); //需求单位优先级
+                Cell cell36 = crateCell(workbook,row,36); //需求单位优先级
+                Cell cell37 = crateCell(workbook,row,37); //需求单位优先级
+                Cell cell38 = crateCell(workbook,row,38); //需求单位优先级
+                Cell cell39 = crateCell(workbook,row,39); //需求单位优先级
+
+
+
+
+
+                ReserveSummary reserveManagement = list.get(i);
+
+                cell0.setCellValue(String.valueOf(index++));
+                cell1.setCellValue(reserveManagement.getProjectYear());
+                cell2.setCellValue(reserveManagement.getProjectNature());
+                cell3.setCellValue(reserveManagement.getDemandUnit());
+                cell4.setCellValue(reserveManagement.getDistrict());
+                cell5.setCellValue(reserveManagement.getProjectGroup());
+                cell6.setCellValue(reserveManagement.getProjectManager());
+                cell7.setCellValue(reserveManagement.getReserveBatches());
+                cell8.setCellValue(reserveManagement.getBlockSupply());
+                cell9.setCellValue(reserveManagement.getGridNumber());
+                cell10.setCellValue(reserveManagement.getCellNumber());
+                cell11.setCellValue(reserveManagement.getProjectReserveId());
+                cell12.setCellValue(reserveManagement.getProjectName());
+                cell13.setCellValue(reserveManagement.getConstructionNecessityAndContent());
+                cell14.setCellValue(reserveManagement.getSubstationName());
+                cell15.setCellValue(reserveManagement.getCircuitName());
+                cell16.setCellValue(reserveManagement.getNetRackProjectDivide());
+                cell17.setCellValue(reserveManagement.getRequirementType());
+                cell18.setCellValue(reserveManagement.getProjectType());
+
+                String costEstimateStr= reserveManagement.getCostEstimate().toString();
+                if(StringUtils.isNotBlank(costEstimateStr)){
+                    cell19.setCellValue(Double.parseDouble(costEstimateStr));
+                }
+                cell20.setCellValue(reserveManagement.getBudgetPreparationStatus());
+                cell21.setCellValue(reserveManagement.getBudgetIncludesTax());
+                cell22.setCellValue(reserveManagement.getBudgetNotIncludesTax());
+                cell23.setCellValue(reserveManagement.getBasicRemarks());
+                cell24.setCellValue(reserveManagement.getReserveProgress());
+                cell25.setCellValue(reserveManagement.getIncludeReserve());
+                cell26.setCellValue(reserveManagement.getMajorProblemClassification());
+                cell27.setCellValue(reserveManagement.getProblemDescription());
+                cell28.setCellValue(reserveManagement.getChangePlan());
+                cell29.setCellValue(reserveManagement.getProgramChangeDescription());
+                cell30.setCellValue(reserveManagement.getAdministrativeDifficulty());
+                cell31.setCellValue(reserveManagement.getOfficeProgress());
+                cell32.setCellValue(reserveManagement.getCancelConfirmationDepartment());
+                cell33.setCellValue(reserveManagement.getTruthRemark());
+                cell34.setCellValue(reserveManagement.getDemandUnitPriority());
+                cell35.setCellValue(reserveManagement.getImplementPlan());
+                cell36.setCellValue(reserveManagement.getInitialImplementBatch());
+                cell37.setCellValue(reserveManagement.getPreliminaryConstructionUnit());
+                cell38.setCellValue(reserveManagement.getPreliminaryConstructionUnitProjectManager());
+                cell39.setCellValue(reserveManagement.getHandConstructionSketches());
+
+            }
+
+            String str = URLEncoder.encode("储备项目交底信息汇总统计.xlsx", "UTF8");
+            response.setHeader("Content-Disposition", "attachment;filename="+str);
+            response.setContentType("application/vnd.ms-excel;charset=UTF-8");
+            OutputStream outputStream = response.getOutputStream();
+            workbook.write(outputStream);
+            outputStream.flush();
+            outputStream.close();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+
+    /**
+     * 创建Cell对象 同时设置style
+     * @param workbook
+     * @param row
+     * @param num
+     * @return
+     */
+    Cell crateCell(XSSFWorkbook workbook,Row row, int num){
+        Cell cell = row.createCell(num);
+        if(style == null){
+            style =workbook.createCellStyle();
+            style.setWrapText(true);
+            style.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);
+        }
+        cell.setCellStyle(style);
+        return cell;
+    }
+}

+ 664 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/utils/ReserveProcessProjectProUtil.java

@@ -0,0 +1,664 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.utils;
+
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.*;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.ReserveProcessProjectService;
+import com.jeeplus.modules.sg.managementcenter.materialproject.util.ImportUtil;
+import com.jeeplus.modules.sg.managementcenter.project.service.ProjectService;
+import com.jeeplus.modules.sg.managementcenter.reserveManagement.entity.ReserveManagement;
+import com.jeeplus.modules.sg.managementcenter.reserveManagement.utils.ReserveManagementUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.ss.usermodel.Row;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class ReserveProcessProjectProUtil {
+
+
+    /**
+     * 获取储备项目基本信息表格数据
+     * @param importUtil
+     * @return List<ReserveManagementMapper> 导入表格数据
+     */
+    public static List<ReserveProcessProject> getProjectUtil(ImportUtil importUtil) throws ParseException {
+        int lastRow = importUtil.getLastDataRowNum();
+        List<ReserveProcessProject> list = new ArrayList<ReserveProcessProject>();
+        //网格编号唯一性判断
+//        List<String> wgList = new ArrayList<>();
+        //单元格编号唯一性判断
+//        List<String> dygList = new ArrayList<>();
+        //项目储备编号唯一性判断
+        List<String> cbbhList = new ArrayList<>();
+        //项目名称唯一性判断
+        List<String> nameList = new ArrayList<>();
+        //建设必要性及内容
+        List<String> jsList = new ArrayList<>();
+        ReserveProcessProject reserveManagement = null;
+        for(int i=3; i<=lastRow;i++){
+            reserveManagement = new ReserveProcessProject();
+            Row row = importUtil.getRow(i);
+            //储备人员流转信息
+            Row cbRow = importUtil.getRow(3);
+            String reserveProjectName = (String) importUtil.getCellValue(row,0);
+            //获取项目储备编号
+            String projectReserveId = (String) importUtil.getCellValue(row, 10);
+            if(StringUtils.isNotBlank(reserveProjectName) ) {
+                if(StringUtils.isNotBlank(projectReserveId)){
+
+                    reserveManagement.setProjectYear((String) importUtil.getCellValue(row,1));
+                    reserveManagement.setProjectNature((String) importUtil.getCellValue(row,2));
+                    reserveManagement.setDemandUnit((String) importUtil.getCellValue(row,3));
+                    reserveManagement.setDistrict((String) importUtil.getCellValue(row,4));
+                    reserveManagement.setProjectGroup((String) importUtil.getCellValue(row,5));
+                    reserveManagement.setReserveBatches((String) importUtil.getCellValue(row,6));
+                    reserveManagement.setBlockSupply((String) importUtil.getCellValue(row,7));
+                    reserveManagement.setGridNumber((String) importUtil.getCellValue(row,8));
+
+                    reserveManagement.setCellNumber((String) importUtil.getCellValue(row,9));
+
+                    reserveManagement.setProjectReserveId((String) importUtil.getCellValue(row,10));
+
+                    reserveManagement.setProjectName((String) importUtil.getCellValue(row,11));
+
+                    reserveManagement.setConstructionNecessityAndContent((String) importUtil.getCellValue(row,12));
+
+                    reserveManagement.setSubstationName((String) importUtil.getCellValue(row,13));
+                    reserveManagement.setCircuitName((String) importUtil.getCellValue(row,14));
+                    reserveManagement.setNetRackProjectDivide((String) importUtil.getCellValue(row,15));
+                    reserveManagement.setRequirementType((String) importUtil.getCellValue(row,16));
+
+                    String costEstimateStr = importUtil.getCellValue(row,17).toString();
+                    if(StringUtils.isNotBlank(costEstimateStr)){
+                        reserveManagement.setCostEstimate(costEstimateStr);
+                    }
+                    reserveManagement.setBasicRemarks((String) importUtil.getCellValue(row,18));
+                    reserveManagement.setRequester((String) importUtil.getCellValue(row,19));
+                    reserveManagement.setOwnerReserveFullTime((String) importUtil.getCellValue(row,20));
+                    reserveManagement.setOwnerDistributionNerworkFullTime((String) importUtil.getCellValue(row,21));
+                    reserveManagement.setOwnerProjectManager((String) importUtil.getCellValue(row,22));
+                    reserveManagement.setTechnicalStaff((String) importUtil.getCellValue(row,23));
+                    reserveManagement.setOperationAndMaintenancePersonnel((String) importUtil.getCellValue(row,24));
+                    reserveManagement.setDesigner((String) importUtil.getCellValue(row,25));
+                    reserveManagement.setBudgetPreparer((String) importUtil.getCellValue(row,26));
+//                    reserveManagement.setUninterruptedWorkSurveyPersonnel((String) importUtil.getCellValue(row,27));
+
+
+                    if (list.size() == 0){
+                        list.add(reserveManagement);
+                        /*wgList.add(reserveManagement.getGridNumber());
+                        dygList.add(reserveManagement.getCellNumber());*/
+                        cbbhList.add(reserveManagement.getProjectReserveId());
+                        nameList.add(reserveManagement.getProjectName());
+                        jsList.add(reserveManagement.getConstructionNecessityAndContent());
+                    }else {
+                        if (/*!wgList.contains(reserveManagement.getGridNumber())
+                            & !dygList.contains(reserveManagement.getCellNumber())
+                            &*/ !cbbhList.contains(reserveManagement.getProjectReserveId())
+                            & !nameList.contains(reserveManagement.getProjectName())
+                            & ! jsList.contains(reserveManagement.getConstructionNecessityAndContent())){
+                            list.add(reserveManagement);
+                            /*wgList.add(reserveManagement.getGridNumber());
+                            dygList.add(reserveManagement.getCellNumber());*/
+                            cbbhList.add(reserveManagement.getProjectReserveId());
+                            nameList.add(reserveManagement.getProjectName());
+                            jsList.add(reserveManagement.getConstructionNecessityAndContent());
+                        }
+                    }
+
+                }
+            }
+        }
+        return list;
+    }
+
+    /**
+     * 获取储备项目带电作业表格数据
+     * @param importUtil
+     * @return List<ReserveManagementMapper> 导入表格数据
+     */
+    public static List<ReserveElectricityWork> getChargeProjectUtil(ImportUtil importUtil) throws ParseException {
+        int lastRow = importUtil.getLastDataRowNum();
+        List<ReserveElectricityWork> list = new ArrayList<ReserveElectricityWork>();
+        //网格编号唯一性判断
+//        List<String> wgList = new ArrayList<>();
+        //单元格编号唯一性判断
+//        List<String> dygList = new ArrayList<>();
+        //项目储备编号唯一性判断
+        List<String> cbbhList = new ArrayList<>();
+        //项目名称唯一性判断
+        List<String> nameList = new ArrayList<>();
+        //建设必要性及内容
+        List<String> jsList = new ArrayList<>();
+        ReserveElectricityWork reserveManagement = null;
+        for(int i=2; i<=lastRow;i++){
+            reserveManagement = new ReserveElectricityWork();
+            Row row = importUtil.getRow(i);
+            //储备人员流转信息
+            Row cbRow = importUtil.getRow(3);
+            String reserveProjectName = (String) importUtil.getCellValue(row,0);
+            //获取项目储备编号
+            String projectReserveId = (String) importUtil.getCellValue(row, 10);
+            if(StringUtils.isNotBlank(reserveProjectName) ) {
+                if(StringUtils.isNotBlank(projectReserveId)){
+
+                    reserveManagement.setProjectYear((String) importUtil.getCellValue(row,1));
+                    reserveManagement.setProjectNature((String) importUtil.getCellValue(row,2));
+                    reserveManagement.setDemandUnit((String) importUtil.getCellValue(row,3));
+                    reserveManagement.setDistrict((String) importUtil.getCellValue(row,4));
+                    reserveManagement.setProjectGroup((String) importUtil.getCellValue(row,5));
+                    reserveManagement.setReserveBatches((String) importUtil.getCellValue(row,6));
+                    reserveManagement.setBlockSupply((String) importUtil.getCellValue(row,7));
+                    reserveManagement.setGridNumber((String) importUtil.getCellValue(row,8));
+
+                    reserveManagement.setCellNumber((String) importUtil.getCellValue(row,9));
+
+                    reserveManagement.setProjectReserveId((String) importUtil.getCellValue(row,10));
+
+                    reserveManagement.setProjectName((String) importUtil.getCellValue(row,11));
+
+                    reserveManagement.setConstructionNecessityAndContent((String) importUtil.getCellValue(row,12));
+
+                    reserveManagement.setSubstationName((String) importUtil.getCellValue(row,13));
+                    reserveManagement.setCircuitName((String) importUtil.getCellValue(row,14));
+                    reserveManagement.setNetRackProjectDivide((String) importUtil.getCellValue(row,15));
+                    reserveManagement.setRequirementType((String) importUtil.getCellValue(row,16));
+
+                    String costEstimateStr = importUtil.getCellValue(row,17).toString();
+                    if(StringUtils.isNotBlank(costEstimateStr)){
+                        reserveManagement.setCostEstimate(costEstimateStr);
+                    }
+                    reserveManagement.setBasicRemarks((String) importUtil.getCellValue(row,18));
+                    reserveManagement.setReserveProgress((String) importUtil.getCellValue(row,19));
+                    /*reserveManagement.setImplementPlan((String) importUtil.getCellValue(row,20));
+                    reserveManagement.setImplementBatch((String) importUtil.getCellValue(row,21));*/
+                    reserveManagement.setTeansFormerOrPackageProject((String) importUtil.getCellValue(row,22));
+                    reserveManagement.setPackageProject((String) importUtil.getCellValue(row,23));
+                    reserveManagement.setPackageItemQuantity((String) importUtil.getCellValue(row,24));
+                    reserveManagement.setDeviceName((String) importUtil.getCellValue(row,25));
+                    reserveManagement.setWorkWithElectricity((String) importUtil.getCellValue(row,26));
+                    reserveManagement.setElectricityTypeNumber((String) importUtil.getCellValue(row,27));
+                    reserveManagement.setElectricityWorkNumber((String) importUtil.getCellValue(row,28));
+                    reserveManagement.setNoStopWorkPlan((String) importUtil.getCellValue(row,29));
+                    reserveManagement.setReasonsForNotWorkInterruption((String) importUtil.getCellValue(row,30));
+                    reserveManagement.setPowerOutagePlan((String) importUtil.getCellValue(row,31));
+                    reserveManagement.setPlanner((String) importUtil.getCellValue(row,32));
+                    reserveManagement.setSiteSurveyor((String) importUtil.getCellValue(row,33));
+
+                    /*int num = Integer.valueOf(reserveManagement.getPackageItemQuantity());
+                    if (num>0){
+                        reserveManagement.setPackageProject("是");
+                    }else if (num == 0){
+                        reserveManagement.setPackageProject("否");
+                    }*/
+
+                    if (list.size() == 0){
+                        list.add(reserveManagement);
+                        /*wgList.add(reserveManagement.getGridNumber());
+                        dygList.add(reserveManagement.getCellNumber());*/
+                        cbbhList.add(reserveManagement.getProjectReserveId());
+                        nameList.add(reserveManagement.getProjectName());
+                        jsList.add(reserveManagement.getConstructionNecessityAndContent());
+                    }else {
+                        if (/*!wgList.contains(reserveManagement.getGridNumber())
+                                & !dygList.contains(reserveManagement.getCellNumber())
+                                &*/ !cbbhList.contains(reserveManagement.getProjectReserveId())
+                                & !nameList.contains(reserveManagement.getProjectName())
+                                & ! jsList.contains(reserveManagement.getConstructionNecessityAndContent())){
+                            list.add(reserveManagement);
+                            /*wgList.add(reserveManagement.getGridNumber());
+                            dygList.add(reserveManagement.getCellNumber());*/
+                            cbbhList.add(reserveManagement.getProjectReserveId());
+                            nameList.add(reserveManagement.getProjectName());
+                            jsList.add(reserveManagement.getConstructionNecessityAndContent());
+                        }
+                    }
+
+                }
+            }
+        }
+        return list;
+    }
+
+    /**
+     * 获取储备项目安全交底信息表格数据
+     * @param importUtil
+     * @return List<ReserveManagementMapper> 导入表格数据
+     */
+    public static List<ReserveSafety> getSafetyProjectUtil(ImportUtil importUtil) throws ParseException {
+        int lastRow = importUtil.getLastDataRowNum();
+        List<ReserveSafety> list = new ArrayList<ReserveSafety>();
+        //网格编号唯一性判断
+//        List<String> wgList = new ArrayList<>();
+        //单元格编号唯一性判断
+//        List<String> dygList = new ArrayList<>();
+        //项目储备编号唯一性判断
+        List<String> cbbhList = new ArrayList<>();
+        //项目名称唯一性判断
+        List<String> nameList = new ArrayList<>();
+        //建设必要性及内容
+        List<String> jsList = new ArrayList<>();
+        ReserveSafety reserveManagement = null;
+        for(int i=3; i<=lastRow;i++){
+            reserveManagement = new ReserveSafety();
+            Row row = importUtil.getRow(i);
+            //储备人员流转信息
+            Row cbRow = importUtil.getRow(3);
+            String reserveProjectName = (String) importUtil.getCellValue(row,0);
+            //获取项目储备编号
+            String projectReserveId = (String) importUtil.getCellValue(row, 10);
+            if(StringUtils.isNotBlank(reserveProjectName) ) {
+                if(StringUtils.isNotBlank(projectReserveId)){
+
+                    reserveManagement.setProjectYear((String) importUtil.getCellValue(row,1));
+                    reserveManagement.setProjectNature((String) importUtil.getCellValue(row,2));
+                    reserveManagement.setDemandUnit((String) importUtil.getCellValue(row,3));
+                    reserveManagement.setDistrict((String) importUtil.getCellValue(row,4));
+                    reserveManagement.setProjectGroup((String) importUtil.getCellValue(row,5));
+                    reserveManagement.setReserveBatches((String) importUtil.getCellValue(row,6));
+                    reserveManagement.setBlockSupply((String) importUtil.getCellValue(row,7));
+                    reserveManagement.setGridNumber((String) importUtil.getCellValue(row,8));
+
+                    reserveManagement.setCellNumber((String) importUtil.getCellValue(row,9));
+
+                    reserveManagement.setProjectReserveId((String) importUtil.getCellValue(row,10));
+
+                    reserveManagement.setProjectName((String) importUtil.getCellValue(row,11));
+
+                    reserveManagement.setConstructionNecessityAndContent((String) importUtil.getCellValue(row,12));
+
+                    reserveManagement.setSubstationName((String) importUtil.getCellValue(row,13));
+                    reserveManagement.setCircuitName((String) importUtil.getCellValue(row,14));
+                    reserveManagement.setNetRackProjectDivide((String) importUtil.getCellValue(row,15));
+                    reserveManagement.setRequirementType((String) importUtil.getCellValue(row,16));
+
+                    String costEstimateStr = importUtil.getCellValue(row,17).toString();
+                    if(StringUtils.isNotBlank(costEstimateStr)){
+                        reserveManagement.setCostEstimate(costEstimateStr);
+                    }
+                    reserveManagement.setBasicRemarks((String) importUtil.getCellValue(row,18));
+                    reserveManagement.setReserveProgress((String) importUtil.getCellValue(row,19));
+                    reserveManagement.setTransmissionWork((String) importUtil.getCellValue(row,20));
+                    reserveManagement.setWorkDescribe((String) importUtil.getCellValue(row,21));
+                    reserveManagement.setTransmissionErection((String) importUtil.getCellValue(row,22));
+                    reserveManagement.setErecteDescribe((String) importUtil.getCellValue(row,23));
+                    reserveManagement.setTransmissionCommonTrench((String) importUtil.getCellValue(row,24));
+                    reserveManagement.setTrenchDescribe((String) importUtil.getCellValue(row,25));
+                    reserveManagement.setMediumVoltageWork((String) importUtil.getCellValue(row,26));
+                    reserveManagement.setVoltageWorkDescribe((String) importUtil.getCellValue(row,27));
+                    reserveManagement.setConfineSpaceWork((String) importUtil.getCellValue(row,28));
+                    reserveManagement.setSpaceDescribe((String) importUtil.getCellValue(row,29));
+                    reserveManagement.setSubStationCableBonding((String) importUtil.getCellValue(row,30));
+                    reserveManagement.setCableDescribe((String) importUtil.getCellValue(row,31));
+                    reserveManagement.setRoadRailwaysAndWaterwaysWork((String) importUtil.getCellValue(row,32));
+                    reserveManagement.setWaterDescribe((String) importUtil.getCellValue(row,33));
+                    reserveManagement.setHotWork((String) importUtil.getCellValue(row,34));
+                    reserveManagement.setHotWorkDescribe((String) importUtil.getCellValue(row,35));
+                    reserveManagement.setBlackoutLineFour((String) importUtil.getCellValue(row,36));
+                    reserveManagement.setLineFourDescribe((String) importUtil.getCellValue(row,37));
+                    reserveManagement.setLineLoadRedirectionThree((String) importUtil.getCellValue(row,38));
+                    reserveManagement.setThreeRedirectDescribe((String) importUtil.getCellValue(row,39));
+                    reserveManagement.setLargeScaleMultiTeamWork((String) importUtil.getCellValue(row,40));
+                    reserveManagement.setTeamWorkDescribe((String) importUtil.getCellValue(row,41));
+                    reserveManagement.setPrepareThreeMeasures((String) importUtil.getCellValue(row,42));
+                    reserveManagement.setMeasureDescribe((String) importUtil.getCellValue(row,43));
+                    reserveManagement.setJobRiskLevelPrediction((String) importUtil.getCellValue(row,44));
+
+
+
+
+                    if (list.size() == 0){
+                        list.add(reserveManagement);
+                        /*wgList.add(reserveManagement.getGridNumber());
+                        dygList.add(reserveManagement.getCellNumber());*/
+                        cbbhList.add(reserveManagement.getProjectReserveId());
+                        nameList.add(reserveManagement.getProjectName());
+                        jsList.add(reserveManagement.getConstructionNecessityAndContent());
+                    }else {
+                        if (/*!wgList.contains(reserveManagement.getGridNumber())
+                                & !dygList.contains(reserveManagement.getCellNumber())
+                                &*/ !cbbhList.contains(reserveManagement.getProjectReserveId())
+                                & !nameList.contains(reserveManagement.getProjectName())
+                                & ! jsList.contains(reserveManagement.getConstructionNecessityAndContent())){
+                            list.add(reserveManagement);
+                            /*wgList.add(reserveManagement.getGridNumber());
+                            dygList.add(reserveManagement.getCellNumber());*/
+                            cbbhList.add(reserveManagement.getProjectReserveId());
+                            nameList.add(reserveManagement.getProjectName());
+                            jsList.add(reserveManagement.getConstructionNecessityAndContent());
+                        }
+                    }
+
+                }
+            }
+        }
+        return list;
+    }
+
+    /**
+     * 获取储备项目预土建制化信息表格数据
+     * @param importUtil
+     * @return List<ReserveManagementMapper> 导入表格数据
+     */
+    public static List<ReservePreconstruction> getPreconstUtil(ImportUtil importUtil) throws ParseException {
+        int lastRow = importUtil.getLastDataRowNum();
+        List<ReservePreconstruction> list = new ArrayList<ReservePreconstruction>();
+        //网格编号唯一性判断
+//        List<String> wgList = new ArrayList<>();
+        //单元格编号唯一性判断
+//        List<String> dygList = new ArrayList<>();
+        //项目储备编号唯一性判断
+        List<String> cbbhList = new ArrayList<>();
+        //项目名称唯一性判断
+        List<String> nameList = new ArrayList<>();
+        //建设必要性及内容
+        List<String> jsList = new ArrayList<>();
+        ReservePreconstruction reserveManagement = null;
+        for(int i=3; i<=lastRow;i++){
+            reserveManagement = new ReservePreconstruction();
+            Row row = importUtil.getRow(i);
+            //储备人员流转信息
+            Row cbRow = importUtil.getRow(3);
+            String reserveProjectName = (String) importUtil.getCellValue(row,0);
+            //获取项目储备编号
+            String projectReserveId = (String) importUtil.getCellValue(row, 10);
+            if(StringUtils.isNotBlank(reserveProjectName) ) {
+                if(StringUtils.isNotBlank(projectReserveId)){
+
+                    reserveManagement.setProjectYear((String) importUtil.getCellValue(row,1));
+                    reserveManagement.setProjectNature((String) importUtil.getCellValue(row,2));
+                    reserveManagement.setDemandUnit((String) importUtil.getCellValue(row,3));
+                    reserveManagement.setDistrict((String) importUtil.getCellValue(row,4));
+                    reserveManagement.setProjectGroup((String) importUtil.getCellValue(row,5));
+                    reserveManagement.setReserveBatches((String) importUtil.getCellValue(row,6));
+                    reserveManagement.setBlockSupply((String) importUtil.getCellValue(row,7));
+                    reserveManagement.setGridNumber((String) importUtil.getCellValue(row,8));
+
+                    reserveManagement.setCellNumber((String) importUtil.getCellValue(row,9));
+
+                    reserveManagement.setProjectReserveId((String) importUtil.getCellValue(row,10));
+
+                    reserveManagement.setProjectName((String) importUtil.getCellValue(row,11));
+
+                    reserveManagement.setConstructionNecessityAndContent((String) importUtil.getCellValue(row,12));
+
+                    reserveManagement.setSubstationName((String) importUtil.getCellValue(row,13));
+                    reserveManagement.setCircuitName((String) importUtil.getCellValue(row,14));
+                    reserveManagement.setNetRackProjectDivide((String) importUtil.getCellValue(row,15));
+                    reserveManagement.setRequirementType((String) importUtil.getCellValue(row,16));
+
+                    String costEstimateStr = importUtil.getCellValue(row,17).toString();
+                    if(StringUtils.isNotBlank(costEstimateStr)){
+                        reserveManagement.setCostEstimate(costEstimateStr);
+                    }
+                    reserveManagement.setBasicRemarks((String) importUtil.getCellValue(row,18));
+                    reserveManagement.setReserveProgress((String) importUtil.getCellValue(row,19));
+                    /*reserveManagement.setImplementPlan((String) importUtil.getCellValue(row,20));
+                    reserveManagement.setImplementBatch((String) importUtil.getCellValue(row,21));*/
+                    reserveManagement.setConfessCivilFoundation((String) importUtil.getCellValue(row,22));
+                    reserveManagement.setConfessPrefab((String) importUtil.getCellValue(row,23));
+                    reserveManagement.setConfessPrefabDescription((String) importUtil.getCellValue(row,24));
+                    reserveManagement.setDesignCivilFoundation((String) importUtil.getCellValue(row,25));
+                    reserveManagement.setDesignPrefab((String) importUtil.getCellValue(row,26));
+                    reserveManagement.setDesignPrefabDescription((String) importUtil.getCellValue(row,27));
+
+
+                    if (list.size() == 0){
+                        list.add(reserveManagement);
+                       /* wgList.add(reserveManagement.getGridNumber());
+                        dygList.add(reserveManagement.getCellNumber());*/
+                        cbbhList.add(reserveManagement.getProjectReserveId());
+                        nameList.add(reserveManagement.getProjectName());
+                        jsList.add(reserveManagement.getConstructionNecessityAndContent());
+                    }else {
+                        if (/*!wgList.contains(reserveManagement.getGridNumber())
+                                & !dygList.contains(reserveManagement.getCellNumber())
+                                &*/ !cbbhList.contains(reserveManagement.getProjectReserveId())
+                                & !nameList.contains(reserveManagement.getProjectName())
+                                & ! jsList.contains(reserveManagement.getConstructionNecessityAndContent())){
+                            list.add(reserveManagement);
+                            /*wgList.add(reserveManagement.getGridNumber());
+                            dygList.add(reserveManagement.getCellNumber());*/
+                            cbbhList.add(reserveManagement.getProjectReserveId());
+                            nameList.add(reserveManagement.getProjectName());
+                            jsList.add(reserveManagement.getConstructionNecessityAndContent());
+                        }
+                    }
+
+                }
+            }
+        }
+        return list;
+    }
+
+    /**
+     * 获取储备项目政策处理信息表格数据
+     * @param importUtil
+     * @return List<ReserveManagementMapper> 导入表格数据
+     */
+    public static List<ReservePolicyHand> getPolicyUtil(ImportUtil importUtil) throws ParseException {
+        int lastRow = importUtil.getLastDataRowNum();
+        List<ReservePolicyHand> list = new ArrayList<ReservePolicyHand>();
+        //网格编号唯一性判断
+//        List<String> wgList = new ArrayList<>();
+        //单元格编号唯一性判断
+//        List<String> dygList = new ArrayList<>();
+        //项目储备编号唯一性判断
+        List<String> cbbhList = new ArrayList<>();
+        //项目名称唯一性判断
+        List<String> nameList = new ArrayList<>();
+        //建设必要性及内容
+        List<String> jsList = new ArrayList<>();
+        ReservePolicyHand reserveManagement = null;
+        for(int i=2; i<=lastRow;i++){
+            reserveManagement = new ReservePolicyHand();
+            Row row = importUtil.getRow(i);
+            //储备人员流转信息
+            Row cbRow = importUtil.getRow(3);
+            String reserveProjectName = (String) importUtil.getCellValue(row,0);
+            //获取项目储备编号
+            String projectReserveId = (String) importUtil.getCellValue(row, 10);
+            if(StringUtils.isNotBlank(reserveProjectName) ) {
+                if(StringUtils.isNotBlank(projectReserveId)){
+
+                    reserveManagement.setProjectYear((String) importUtil.getCellValue(row,1));
+                    reserveManagement.setProjectNature((String) importUtil.getCellValue(row,2));
+                    reserveManagement.setDemandUnit((String) importUtil.getCellValue(row,3));
+                    reserveManagement.setDistrict((String) importUtil.getCellValue(row,4));
+                    reserveManagement.setProjectGroup((String) importUtil.getCellValue(row,5));
+                    reserveManagement.setReserveBatches((String) importUtil.getCellValue(row,6));
+                    reserveManagement.setBlockSupply((String) importUtil.getCellValue(row,7));
+                    reserveManagement.setGridNumber((String) importUtil.getCellValue(row,8));
+
+                    reserveManagement.setCellNumber((String) importUtil.getCellValue(row,9));
+
+                    reserveManagement.setProjectReserveId((String) importUtil.getCellValue(row,10));
+
+                    reserveManagement.setProjectName((String) importUtil.getCellValue(row,11));
+
+                    reserveManagement.setConstructionNecessityAndContent((String) importUtil.getCellValue(row,12));
+
+                    reserveManagement.setSubstationName((String) importUtil.getCellValue(row,13));
+                    reserveManagement.setCircuitName((String) importUtil.getCellValue(row,14));
+                    reserveManagement.setNetRackProjectDivide((String) importUtil.getCellValue(row,15));
+                    reserveManagement.setRequirementType((String) importUtil.getCellValue(row,16));
+
+                    String costEstimateStr = importUtil.getCellValue(row,17).toString();
+                    if(StringUtils.isNotBlank(costEstimateStr)){
+                        reserveManagement.setCostEstimate(costEstimateStr);
+                    }
+                    reserveManagement.setBasicRemarks((String) importUtil.getCellValue(row,18));
+                    reserveManagement.setReserveProgress((String) importUtil.getCellValue(row,19));
+                    reserveManagement.setPowerSupplyArea((String) importUtil.getCellValue(row,22));
+                    reserveManagement.setConstructionSpot((String) importUtil.getCellValue(row,23));
+                    reserveManagement.setIncludeCivilWork((String) importUtil.getCellValue(row,24));
+                    reserveManagement.setPoleWorkload((String) importUtil.getCellValue(row,25));
+                    reserveManagement.setProposedConstructionUnit((String) importUtil.getCellValue(row,27));
+                    reserveManagement.setOverToGovernment((String) importUtil.getCellValue(row,28));
+                    reserveManagement.setGovernmentOffice((String) importUtil.getCellValue(row,29));
+                    reserveManagement.setOfficeDescription((String) importUtil.getCellValue(row,30));
+                    reserveManagement.setAdministrativeDifficulty((String) importUtil.getCellValue(row,31));
+                    reserveManagement.setAdministrativeObjectNumber((String) importUtil.getCellValue(row,32));
+                    reserveManagement.setPropertyUnitOfficeDescription((String) importUtil.getCellValue(row,33));
+                    reserveManagement.setOfficeType((String) importUtil.getCellValue(row,34));
+                    //启动政处时间
+                    Date date = new Date();
+                    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+                    String dateTime = format.format(date);
+                    System.out.println("dateTime: " + dateTime);
+                    reserveManagement.setStartOfficeTime(dateTime);
+                    reserveManagement.setPlanApprovalRequire((String) importUtil.getCellValue(row,36));
+                    reserveManagement.setPlanApprovalCompletion((String) importUtil.getCellValue(row,37));
+                    reserveManagement.setSafetyReview((String) importUtil.getCellValue(row,38));
+                    reserveManagement.setSafetyReviewCompletion((String) importUtil.getCellValue(row,39));
+                    reserveManagement.setOfficeAmount((String) importUtil.getCellValue(row,40));
+                    reserveManagement.setPaymentCompleted((String) importUtil.getCellValue(row,41));
+                    reserveManagement.setOfficeProgress((String) importUtil.getCellValue(row,42));
+                    reserveManagement.setCivilEngineeringApproach((String) importUtil.getCellValue(row,43));
+                    reserveManagement.setElectricApproach((String) importUtil.getCellValue(row,44));
+                    reserveManagement.setCivilConstructionMaterialOpen((String) importUtil.getCellValue(row,45));
+                    reserveManagement.setElectricalPickListOpen((String) importUtil.getCellValue(row,46));
+                    reserveManagement.setAdministrativeOfficeRemark((String) importUtil.getCellValue(row,47));
+
+
+                    if (list.size() == 0){
+                        list.add(reserveManagement);
+                        /*wgList.add(reserveManagement.getGridNumber());
+                        dygList.add(reserveManagement.getCellNumber());*/
+                        cbbhList.add(reserveManagement.getProjectReserveId());
+                        nameList.add(reserveManagement.getProjectName());
+                        jsList.add(reserveManagement.getConstructionNecessityAndContent());
+                    }else {
+                        if (/*!wgList.contains(reserveManagement.getGridNumber())
+                                & !dygList.contains(reserveManagement.getCellNumber())
+                                &*/ !cbbhList.contains(reserveManagement.getProjectReserveId())
+                                & !nameList.contains(reserveManagement.getProjectName())
+                                & ! jsList.contains(reserveManagement.getConstructionNecessityAndContent())){
+                            list.add(reserveManagement);
+                            /*wgList.add(reserveManagement.getGridNumber());
+                            dygList.add(reserveManagement.getCellNumber());*/
+                            cbbhList.add(reserveManagement.getProjectReserveId());
+                            nameList.add(reserveManagement.getProjectName());
+                            jsList.add(reserveManagement.getConstructionNecessityAndContent());
+                        }
+                    }
+
+                }
+            }
+        }
+        return list;
+    }
+
+    /**
+     * 获取储备项目政策处理信息表格数据
+     * @param importUtil
+     * @return List<ReserveManagementMapper> 导入表格数据
+     */
+    public static List<ReserveSummary> getSummaryUtil(ImportUtil importUtil) throws ParseException {
+        int lastRow = importUtil.getLastDataRowNum();
+        List<ReserveSummary> list = new ArrayList<ReserveSummary>();
+        //网格编号唯一性判断
+//        List<String> wgList = new ArrayList<>();
+        //单元格编号唯一性判断
+//        List<String> dygList = new ArrayList<>();
+        //项目储备编号唯一性判断
+        List<String> cbbhList = new ArrayList<>();
+        //项目名称唯一性判断
+        List<String> nameList = new ArrayList<>();
+        //建设必要性及内容
+        List<String> jsList = new ArrayList<>();
+        ReserveSummary reserveManagement = null;
+        for(int i=2; i<=lastRow;i++){
+            reserveManagement = new ReserveSummary();
+            Row row = importUtil.getRow(i);
+            //储备人员流转信息
+            Row cbRow = importUtil.getRow(3);
+            String reserveProjectName = (String) importUtil.getCellValue(row,0);
+            //获取项目储备编号
+            String projectReserveId = (String) importUtil.getCellValue(row, 10);
+            if(StringUtils.isNotBlank(reserveProjectName) ) {
+                if(StringUtils.isNotBlank(projectReserveId)){
+
+                    reserveManagement.setProjectYear((String) importUtil.getCellValue(row,1));
+                    reserveManagement.setProjectNature((String) importUtil.getCellValue(row,2));
+                    reserveManagement.setDemandUnit((String) importUtil.getCellValue(row,3));
+                    reserveManagement.setDistrict((String) importUtil.getCellValue(row,4));
+                    reserveManagement.setProjectGroup((String) importUtil.getCellValue(row,5));
+                    reserveManagement.setReserveBatches((String) importUtil.getCellValue(row,7));
+                    reserveManagement.setBlockSupply((String) importUtil.getCellValue(row,8));
+                    reserveManagement.setGridNumber((String) importUtil.getCellValue(row,9));
+
+                    reserveManagement.setCellNumber((String) importUtil.getCellValue(row,10));
+
+                    reserveManagement.setProjectReserveId((String) importUtil.getCellValue(row,11));
+
+                    reserveManagement.setProjectName((String) importUtil.getCellValue(row,12));
+
+                    reserveManagement.setConstructionNecessityAndContent((String) importUtil.getCellValue(row,13));
+
+                    reserveManagement.setSubstationName((String) importUtil.getCellValue(row,14));
+                    reserveManagement.setCircuitName((String) importUtil.getCellValue(row,15));
+                    reserveManagement.setNetRackProjectDivide((String) importUtil.getCellValue(row,16));
+                    reserveManagement.setRequirementType((String) importUtil.getCellValue(row,17));
+
+                    String costEstimateStr = importUtil.getCellValue(row,19).toString();
+                    if(StringUtils.isNotBlank(costEstimateStr)){
+                        reserveManagement.setCostEstimate(costEstimateStr);
+                    }
+                    reserveManagement.setBasicRemarks((String) importUtil.getCellValue(row,23));
+                    reserveManagement.setReserveProgress((String) importUtil.getCellValue(row,24));
+                    reserveManagement.setIncludeReserve((String) importUtil.getCellValue(row,25));
+                    reserveManagement.setMajorProblemClassification((String) importUtil.getCellValue(row,26));
+                    reserveManagement.setProblemDescription((String) importUtil.getCellValue(row,27));
+                    reserveManagement.setChangePlan((String) importUtil.getCellValue(row,28));
+                    reserveManagement.setProgramChangeDescription((String) importUtil.getCellValue(row,29));
+                    reserveManagement.setCancelConfirmationDepartment((String) importUtil.getCellValue(row,32));
+                    reserveManagement.setTruthRemark((String) importUtil.getCellValue(row,33));
+                    reserveManagement.setDemandUnitPriority((String) importUtil.getCellValue(row,34));
+                    reserveManagement.setImplementPlan((String) importUtil.getCellValue(row,35));
+                    reserveManagement.setInitialImplementBatch((String) importUtil.getCellValue(row,36));
+                    reserveManagement.setPreliminaryConstructionUnit((String) importUtil.getCellValue(row,37));
+                    reserveManagement.setPreliminaryConstructionUnitProjectManager((String) importUtil.getCellValue(row,38));
+                    reserveManagement.setHandConstructionSketches((String) importUtil.getCellValue(row,39));
+
+                    /*if (list.size() == 0){
+                        list.add(reserveManagement);
+                        cbbhList.add(reserveManagement.getProjectReserveId());
+                    }else {
+                        if (!cbbhList.contains(reserveManagement.getProjectReserveId())){
+                            list.add(reserveManagement);
+                            cbbhList.add(reserveManagement.getProjectReserveId());
+                        }
+                    }*/
+
+                    if (list.size() == 0){
+                        list.add(reserveManagement);
+                        /*wgList.add(reserveManagement.getGridNumber());
+                        dygList.add(reserveManagement.getCellNumber());*/
+                        cbbhList.add(reserveManagement.getProjectReserveId());
+                        nameList.add(reserveManagement.getProjectName());
+                        jsList.add(reserveManagement.getConstructionNecessityAndContent());
+                    }else {
+                        if (/*!wgList.contains(reserveManagement.getGridNumber())
+                                & !dygList.contains(reserveManagement.getCellNumber())
+                                &*/ !cbbhList.contains(reserveManagement.getProjectReserveId())
+                                & !nameList.contains(reserveManagement.getProjectName())
+                                & ! jsList.contains(reserveManagement.getConstructionNecessityAndContent())){
+                            list.add(reserveManagement);
+                            /*wgList.add(reserveManagement.getGridNumber());
+                            dygList.add(reserveManagement.getCellNumber());*/
+                            cbbhList.add(reserveManagement.getProjectReserveId());
+                            nameList.add(reserveManagement.getProjectName());
+                            jsList.add(reserveManagement.getConstructionNecessityAndContent());
+                        }
+                    }
+
+                }
+            }
+        }
+        return list;
+    }
+}

+ 229 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/web/PolicyHandingController.java

@@ -0,0 +1,229 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.web;
+
+import com.jeeplus.common.json.AjaxJson;
+import com.jeeplus.common.utils.StringUtils;
+import com.jeeplus.core.persistence.Page;
+import com.jeeplus.core.web.BaseController;
+
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReservePolicyHand;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.PolicyHandingService;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.ReservePreconstructService;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.utils.ReserveProcessProjectExportUtil;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.utils.ReserveProcessProjectProUtil;
+import com.jeeplus.modules.sg.managementcenter.materialproject.util.ImportUtil;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+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: 王强
+ * @create: 2022-07-27 08:36
+ **/
+@Controller
+@RequestMapping(value = "${adminPath}/cg/reservemanagementcenter/policyHanding")
+public class PolicyHandingController extends BaseController {
+
+    @Autowired
+    private PolicyHandingService handingService;
+
+
+    @ModelAttribute
+    public ReservePolicyHand get(@RequestParam(required = false) String id) {
+        ReservePolicyHand entity = null;
+        if (StringUtils.isNotBlank(id)) {
+            entity = handingService.get(id);
+        }
+        if (entity == null) {
+            entity = new ReservePolicyHand();
+        }
+        return entity;
+    }
+
+    /**
+     * 项目储备信息列表页面
+     * @param reserveManagement
+     * @param model
+     * @return
+     */
+    @RequiresPermissions("cg:reservemanagementcenter:policyHanding:list")
+    @RequestMapping(value = "skipList")
+    public String skipList(ReservePolicyHand reserveManagement, Model model) {
+        model.addAttribute("reserveManagement", reserveManagement);
+        return "modules/cg/reservemanagementcenter/reserveManage/policyHanding/reserveManagementInformation";
+    }
+
+
+
+    /**
+     * 项目储备信息数据列表
+     * @param reserveManagement
+     * @param request
+     * @param response
+     * @param model
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions("cg:reservemanagementcenter:policyHanding:list")
+    @RequestMapping(value = "list")
+    public Map<String, Object> basicData(ReservePolicyHand reserveManagement, HttpServletRequest request, HttpServletResponse response, Model model) {
+
+        Page<ReservePolicyHand> page = handingService.findPage(new Page<ReservePolicyHand>(request, response), reserveManagement);
+        return getBootstrapData(page);
+    }
+
+
+    /**
+     * 查看表单页面
+     */
+    @RequiresPermissions(value={"cg:reservemanagementcenter:policyHanding:view"},logical= Logical.OR)
+    @RequestMapping(value = "view")
+    public String view(ReservePolicyHand reserveManagement, Model model) {
+        model.addAttribute("reserveManagement", reserveManagement);
+        return "modules/cg/reservemanagementcenter/reserveManage/policyHanding/reserveManagementView";
+    }
+
+
+    /**
+     * 专职人员保存表单
+     * @param reserveManagement
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions(value={"cg:reservemanagementcenter:policyHanding:add"},logical=Logical.OR)
+    @RequestMapping(value = "save")
+    public AjaxJson save(ReservePolicyHand reserveManagement){
+        AjaxJson j = new AjaxJson();
+        /**
+         * 后台hibernate-validation插件校验
+         */
+        String errMsg = beanValidator(reserveManagement);
+        if (StringUtils.isNotBlank(errMsg)){
+            j.setSuccess(false);
+            j.setMsg(errMsg);
+            return j;
+        }
+        //新增或编辑表单保存
+        handingService.save(reserveManagement);//保存
+        j.setSuccess(true);
+        j.setMsg("保存储备项目基本信息成功");
+        return j;
+    }
+
+
+    /**
+     * 专职人员修改表单
+     * @param reserveManagement
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions(value={"cg:reservemanagementcenter:policyHanding:edit"},logical=Logical.OR)
+    @RequestMapping(value = "update")
+    public AjaxJson update(ReservePolicyHand reserveManagement){
+        AjaxJson j = new AjaxJson();
+        /**
+         * 后台hibernate-validation插件校验
+         */
+        String errMsg = beanValidator(reserveManagement);
+        if (StringUtils.isNotBlank(errMsg)){
+            j.setSuccess(false);
+            j.setMsg(errMsg);
+            return j;
+        }
+        //新增或编辑表单保存
+        handingService.update(reserveManagement);
+        j.setSuccess(true);
+        j.setMsg("修改储备项目基本信息成功");
+        return j;
+    }
+
+    /**
+     * 导入Excel数据
+     */
+    @ResponseBody
+    @RequiresPermissions("cg:reservemanagementcenter:policyHanding:import")
+    @RequestMapping(value = "import")
+    public AjaxJson importBasic(@RequestParam("file") MultipartFile file, HttpServletResponse response, HttpServletRequest request) {
+        AjaxJson j = new AjaxJson();
+        try {
+            ImportUtil importUtil = new ImportUtil(file, 0, 0);
+            //获取导入表格所有数据
+            List<ReservePolicyHand> reserveManagementList = ReserveProcessProjectProUtil.getPolicyUtil(importUtil);
+            //查询已有的参数数据 并分类返回已存在数据和未存在数据
+            Map map = handingService.getExistProjectList(reserveManagementList);
+            //未存在数据
+            List<ReservePolicyHand> withoutList = (List<ReservePolicyHand>) map.get("without");
+            //已存在数据
+            List<ReservePolicyHand> existList = (List<ReservePolicyHand>) map.get("exist");
+
+            //对未存在的数据进行批量导入
+            if(withoutList.size()>0){
+                handingService.insertList(withoutList);
+            }
+
+            //对已存在的数据进行修改
+            if(existList.size()>0){
+                for (ReservePolicyHand reserveManagement : existList) {
+                    handingService.update(reserveManagement);
+                }
+            }
+            int i = withoutList.size() + existList.size();
+            j.setMsg("已成功导入" + i + "条项目储备信息记录");
+
+        } catch (Exception e) {
+            j.setSuccess(false);
+            j.setMsg("导入项目储备信息失败!失败信息:" + e.getMessage());
+        }
+        return j;
+    }
+
+
+    //导出excel
+    @ResponseBody
+    @RequiresPermissions("cg:reservemanagementcenter:policyHanding:export")
+    @RequestMapping(value = "export")
+    public void exportExcel(ReservePolicyHand reserveManagement, HttpServletRequest request, HttpServletResponse response) {
+        List<ReservePolicyHand> list = handingService.exportFindList(reserveManagement);
+        //生成序列号
+        int i = 1;
+        for (ReservePolicyHand s : list) {
+            s.setId(String.valueOf(i));
+            i++;
+        }
+
+        ReserveProcessProjectExportUtil util = ReserveProcessProjectExportUtil.getOne();
+        XSSFWorkbook workbook = util.getWorkbook("policyHanding");
+        util.exportPolicy(response,workbook,list);
+    }
+
+
+    /**
+     * 专职人员增加,编辑表单页面
+     * @param reserveManagement
+     * @param model
+     * @return
+     */
+    @RequiresPermissions(value={"cg:reservemanagementcenter:policyHanding:add","cg:reservemanagementcenter:policyHanding:edit"},logical= Logical.OR)
+    @RequestMapping(value = "form")
+    public String form(ReservePolicyHand reserveManagement, Model model) {
+        model.addAttribute("reserveManagement", reserveManagement);
+        //判断id是否为空 如果未空则为新增 否则为修改
+        if(StringUtils.isBlank(reserveManagement.getId())){
+            return "modules/cg/reservemanagementcenter/reserveManage/policyHanding/reserveManagementForm";
+        }
+        return "modules/cg/reservemanagementcenter/reserveManage/policyHanding/reserveManagementModifyByzz";
+    }
+}

+ 230 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/web/ReserveElectricityWorkController.java

@@ -0,0 +1,230 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.web;
+
+import com.jeeplus.common.json.AjaxJson;
+import com.jeeplus.common.utils.StringUtils;
+import com.jeeplus.core.persistence.Page;
+import com.jeeplus.core.web.BaseController;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveElectricityWork;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveProcessProject;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.ReserveElectricityWorkService;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.ReserveProcessProjectService;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.utils.ReserveProcessProjectExportUtil;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.utils.ReserveProcessProjectProUtil;
+import com.jeeplus.modules.sg.managementcenter.materialproject.util.ImportUtil;
+import com.jeeplus.modules.sg.managementcenter.reserveManagement.service.ReserveManagementService;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+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: 王强
+ * @create: 2022-07-22 08:37
+ **/
+@Controller
+@RequestMapping(value = "${adminPath}/cg/reservemanagementcenter/reserveElectricityWork")
+public class ReserveElectricityWorkController extends BaseController {
+
+    @Autowired
+    private ReserveElectricityWorkService workService;
+
+
+    @ModelAttribute
+    public ReserveElectricityWork get(@RequestParam(required = false) String id) {
+        ReserveElectricityWork entity = null;
+        if (StringUtils.isNotBlank(id)) {
+            entity = workService.get(id);
+        }
+        if (entity == null) {
+            entity = new ReserveElectricityWork();
+        }
+        return entity;
+    }
+
+    /**
+     * 项目储备信息列表页面
+     * @param reserveManagement
+     * @param model
+     * @return
+     */
+    @RequiresPermissions("cg:reservemanagementcenter:reserveElectricityWork:list")
+    @RequestMapping(value = "skipList")
+    public String skipList(ReserveElectricityWork reserveManagement, Model model) {
+        model.addAttribute("reserveManagement", reserveManagement);
+        return "modules/cg/reservemanagementcenter/reserveManage/reserveElectricityWork/reserveManagementInformation";
+    }
+
+
+
+    /**
+     * 项目储备信息数据列表
+     * @param reserveManagement
+     * @param request
+     * @param response
+     * @param model
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions("cg:reservemanagementcenter:reserveElectricityWork:list")
+    @RequestMapping(value = "list")
+    public Map<String, Object> basicData(ReserveElectricityWork reserveManagement, HttpServletRequest request, HttpServletResponse response, Model model) {
+
+        Page<ReserveElectricityWork> page = workService.findPage(new Page<ReserveElectricityWork>(request, response), reserveManagement);
+        return getBootstrapData(page);
+    }
+
+
+    /**
+     * 查看表单页面
+     */
+    @RequiresPermissions(value={"cg:reservemanagementcenter:reserveElectricityWork:view"},logical= Logical.OR)
+    @RequestMapping(value = "view")
+    public String view(ReserveElectricityWork reserveManagement, Model model) {
+        model.addAttribute("reserveManagement", reserveManagement);
+        return "modules/cg/reservemanagementcenter/reserveManage/reserveElectricityWork/reserveManagementView";
+    }
+
+
+    /**
+     * 专职人员保存表单
+     * @param reserveManagement
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions(value={"cg:reservemanagementcenter:reserveElectricityWork:add"},logical=Logical.OR)
+    @RequestMapping(value = "save")
+    public AjaxJson save(ReserveElectricityWork reserveManagement){
+        AjaxJson j = new AjaxJson();
+        /**
+         * 后台hibernate-validation插件校验
+         */
+        String errMsg = beanValidator(reserveManagement);
+        if (StringUtils.isNotBlank(errMsg)){
+            j.setSuccess(false);
+            j.setMsg(errMsg);
+            return j;
+        }
+        //新增或编辑表单保存
+        workService.save(reserveManagement);//保存
+        j.setSuccess(true);
+        j.setMsg("保存储备项目基本信息成功");
+        return j;
+    }
+
+
+    /**
+     * 专职人员修改表单
+     * @param reserveManagement
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions(value={"cg:reservemanagementcenter:reserveElectricityWork:edit"},logical=Logical.OR)
+    @RequestMapping(value = "update")
+    public AjaxJson update(ReserveElectricityWork reserveManagement){
+        AjaxJson j = new AjaxJson();
+        /**
+         * 后台hibernate-validation插件校验
+         */
+        String errMsg = beanValidator(reserveManagement);
+        if (StringUtils.isNotBlank(errMsg)){
+            j.setSuccess(false);
+            j.setMsg(errMsg);
+            return j;
+        }
+        //新增或编辑表单保存
+        workService.update(reserveManagement);
+        j.setSuccess(true);
+        j.setMsg("修改储备项目基本信息成功");
+        return j;
+    }
+
+    /**
+     * 导入Excel数据
+     */
+    @ResponseBody
+    @RequiresPermissions("cg:reservemanagementcenter:reserveElectricityWork:import")
+    @RequestMapping(value = "import")
+    public AjaxJson importBasic(@RequestParam("file") MultipartFile file, HttpServletResponse response, HttpServletRequest request) {
+        AjaxJson j = new AjaxJson();
+        try {
+            ImportUtil importUtil = new ImportUtil(file, 0, 0);
+            //获取导入表格所有数据
+            List<ReserveElectricityWork> reserveManagementList = ReserveProcessProjectProUtil.getChargeProjectUtil(importUtil);
+            //查询已有的参数数据 并分类返回已存在数据和未存在数据
+            Map map = workService.getExistProjectList(reserveManagementList);
+            //未存在数据
+            List<ReserveElectricityWork> withoutList = (List<ReserveElectricityWork>) map.get("without");
+            //已存在数据
+            List<ReserveElectricityWork> existList = (List<ReserveElectricityWork>) map.get("exist");
+
+            //对未存在的数据进行批量导入
+            if(withoutList.size()>0){
+                workService.insertList(withoutList);
+            }
+
+            //对已存在的数据进行修改
+            if(existList.size()>0){
+                for (ReserveElectricityWork reserveManagement : existList) {
+                    workService.update(reserveManagement);
+                }
+            }
+            int i = withoutList.size() + existList.size();
+            j.setMsg("已成功导入" + i + "条项目储备信息记录");
+
+        } catch (Exception e) {
+            j.setSuccess(false);
+            j.setMsg("导入项目储备信息失败!失败信息:" + e.getMessage());
+        }
+        return j;
+    }
+
+
+    //导出excel
+    @ResponseBody
+    @RequiresPermissions("cg:reservemanagementcenter:reserveElectricityWork:export")
+    @RequestMapping(value = "export")
+    public void exportExcel(ReserveElectricityWork reserveManagement, HttpServletRequest request, HttpServletResponse response) {
+        List<ReserveElectricityWork> list = workService.exportFindList(reserveManagement);
+        //生成序列号
+        int i = 1;
+        for (ReserveElectricityWork s : list) {
+            s.setId(String.valueOf(i));
+            i++;
+        }
+
+        ReserveProcessProjectExportUtil util = ReserveProcessProjectExportUtil.getOne();
+        XSSFWorkbook workbook = util.getWorkbook("electricityWork");
+        util.exportElectricityWork(response,workbook,list);
+    }
+
+
+    /**
+     * 专职人员增加,编辑表单页面
+     * @param reserveManagement
+     * @param model
+     * @return
+     */
+    @RequiresPermissions(value={"cg:reservemanagementcenter:reserveElectricityWork:add","cg:reservemanagementcenter:reserveElectricityWork:edit"},logical= Logical.OR)
+    @RequestMapping(value = "form")
+    public String form(ReserveElectricityWork reserveManagement, Model model) {
+        model.addAttribute("reserveManagement", reserveManagement);
+        //判断id是否为空 如果未空则为新增 否则为修改
+        if(StringUtils.isBlank(reserveManagement.getId())){
+            return "modules/cg/reservemanagementcenter/reserveManage/reserveElectricityWork/reserveManagementForm";
+        }
+        return "modules/cg/reservemanagementcenter/reserveManage/reserveElectricityWork/reserveManagementModifyByzz";
+    }
+}

+ 227 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/web/ReservePreconstructController.java

@@ -0,0 +1,227 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.web;
+
+import com.jeeplus.common.json.AjaxJson;
+import com.jeeplus.common.utils.StringUtils;
+import com.jeeplus.core.persistence.Page;
+import com.jeeplus.core.web.BaseController;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReservePreconstruction;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.ReservePreconstructService;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.utils.ReserveProcessProjectExportUtil;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.utils.ReserveProcessProjectProUtil;
+import com.jeeplus.modules.sg.managementcenter.materialproject.util.ImportUtil;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+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: 王强
+ * @create: 2022-07-26 09:22
+ **/
+@Controller
+@RequestMapping(value = "${adminPath}/cg/reservemanagementcenter/reservePreconstruct")
+public class ReservePreconstructController extends BaseController {
+
+    @Autowired
+    private ReservePreconstructService structService;
+
+
+    @ModelAttribute
+    public ReservePreconstruction get(@RequestParam(required = false) String id) {
+        ReservePreconstruction entity = null;
+        if (StringUtils.isNotBlank(id)) {
+            entity = structService.get(id);
+        }
+        if (entity == null) {
+            entity = new ReservePreconstruction();
+        }
+        return entity;
+    }
+
+    /**
+     * 项目储备信息列表页面
+     * @param reserveManagement
+     * @param model
+     * @return
+     */
+    @RequiresPermissions("cg:reservemanagementcenter:reservePreconstruct:list")
+    @RequestMapping(value = "skipList")
+    public String skipList(ReservePreconstruction reserveManagement, Model model) {
+        model.addAttribute("reserveManagement", reserveManagement);
+        return "modules/cg/reservemanagementcenter/reserveManage/reservePreconstruct/reserveManagementInformation";
+    }
+
+
+
+    /**
+     * 项目储备信息数据列表
+     * @param reserveManagement
+     * @param request
+     * @param response
+     * @param model
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions("cg:reservemanagementcenter:reservePreconstruct:list")
+    @RequestMapping(value = "list")
+    public Map<String, Object> basicData(ReservePreconstruction reserveManagement, HttpServletRequest request, HttpServletResponse response, Model model) {
+
+        Page<ReservePreconstruction> page = structService.findPage(new Page<ReservePreconstruction>(request, response), reserveManagement);
+        return getBootstrapData(page);
+    }
+
+
+    /**
+     * 查看表单页面
+     */
+    @RequiresPermissions(value={"cg:reservemanagementcenter:reservePreconstruct:view"},logical= Logical.OR)
+    @RequestMapping(value = "view")
+    public String view(ReservePreconstruction reserveManagement, Model model) {
+        model.addAttribute("reserveManagement", reserveManagement);
+        return "modules/cg/reservemanagementcenter/reserveManage/reservePreconstruct/reserveManagementView";
+    }
+
+
+    /**
+     * 专职人员保存表单
+     * @param reserveManagement
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions(value={"cg:reservemanagementcenter:reservePreconstruct:add"},logical=Logical.OR)
+    @RequestMapping(value = "save")
+    public AjaxJson save(ReservePreconstruction reserveManagement){
+        AjaxJson j = new AjaxJson();
+        /**
+         * 后台hibernate-validation插件校验
+         */
+        String errMsg = beanValidator(reserveManagement);
+        if (StringUtils.isNotBlank(errMsg)){
+            j.setSuccess(false);
+            j.setMsg(errMsg);
+            return j;
+        }
+        //新增或编辑表单保存
+        structService.save(reserveManagement);//保存
+        j.setSuccess(true);
+        j.setMsg("保存储备项目基本信息成功");
+        return j;
+    }
+
+
+    /**
+     * 专职人员修改表单
+     * @param reserveManagement
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions(value={"cg:reservemanagementcenter:reservePreconstruct:edit"},logical=Logical.OR)
+    @RequestMapping(value = "update")
+    public AjaxJson update(ReservePreconstruction reserveManagement){
+        AjaxJson j = new AjaxJson();
+        /**
+         * 后台hibernate-validation插件校验
+         */
+        String errMsg = beanValidator(reserveManagement);
+        if (StringUtils.isNotBlank(errMsg)){
+            j.setSuccess(false);
+            j.setMsg(errMsg);
+            return j;
+        }
+        //新增或编辑表单保存
+        structService.update(reserveManagement);
+        j.setSuccess(true);
+        j.setMsg("修改储备项目基本信息成功");
+        return j;
+    }
+
+    /**
+     * 导入Excel数据
+     */
+    @ResponseBody
+    @RequiresPermissions("cg:reservemanagementcenter:reservePreconstruct:import")
+    @RequestMapping(value = "import")
+    public AjaxJson importBasic(@RequestParam("file") MultipartFile file, HttpServletResponse response, HttpServletRequest request) {
+        AjaxJson j = new AjaxJson();
+        try {
+            ImportUtil importUtil = new ImportUtil(file, 0, 0);
+            //获取导入表格所有数据
+            List<ReservePreconstruction> reserveManagementList = ReserveProcessProjectProUtil.getPreconstUtil(importUtil);
+            //查询已有的参数数据 并分类返回已存在数据和未存在数据
+            Map map = structService.getExistProjectList(reserveManagementList);
+            //未存在数据
+            List<ReservePreconstruction> withoutList = (List<ReservePreconstruction>) map.get("without");
+            //已存在数据
+            List<ReservePreconstruction> existList = (List<ReservePreconstruction>) map.get("exist");
+
+            //对未存在的数据进行批量导入
+            if(withoutList.size()>0){
+                structService.insertList(withoutList);
+            }
+
+            //对已存在的数据进行修改
+            if(existList.size()>0){
+                for (ReservePreconstruction reserveManagement : existList) {
+                    structService.update(reserveManagement);
+                }
+            }
+            int i = withoutList.size() + existList.size();
+            j.setMsg("已成功导入" + i + "条项目储备信息记录");
+
+        } catch (Exception e) {
+            j.setSuccess(false);
+            j.setMsg("导入项目储备信息失败!失败信息:" + e.getMessage());
+        }
+        return j;
+    }
+
+
+    //导出excel
+    @ResponseBody
+    @RequiresPermissions("cg:reservemanagementcenter:reservePreconstruct:export")
+    @RequestMapping(value = "export")
+    public void exportExcel(ReservePreconstruction reserveManagement, HttpServletRequest request, HttpServletResponse response) {
+        List<ReservePreconstruction> list = structService.exportFindList(reserveManagement);
+        //生成序列号
+        int i = 1;
+        for (ReservePreconstruction s : list) {
+            s.setId(String.valueOf(i));
+            i++;
+        }
+
+        ReserveProcessProjectExportUtil util = ReserveProcessProjectExportUtil.getOne();
+        XSSFWorkbook workbook = util.getWorkbook("preconstruct");
+        util.exportPrecons(response,workbook,list);
+    }
+
+
+    /**
+     * 专职人员增加,编辑表单页面
+     * @param reserveManagement
+     * @param model
+     * @return
+     */
+    @RequiresPermissions(value={"cg:reservemanagementcenter:reservePreconstruct:add","cg:reservemanagementcenter:reservePreconstruct:edit"},logical= Logical.OR)
+    @RequestMapping(value = "form")
+    public String form(ReservePreconstruction reserveManagement, Model model) {
+        model.addAttribute("reserveManagement", reserveManagement);
+        //判断id是否为空 如果未空则为新增 否则为修改
+        if(StringUtils.isBlank(reserveManagement.getId())){
+            return "modules/cg/reservemanagementcenter/reserveManage/reservePreconstruct/reserveManagementForm";
+        }
+        return "modules/cg/reservemanagementcenter/reserveManage/reservePreconstruct/reserveManagementModifyByzz";
+    }
+}

+ 380 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/web/ReserveProcessProjectController.java

@@ -0,0 +1,380 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.web;
+
+import com.google.common.collect.Lists;
+import com.jeeplus.common.json.AjaxJson;
+import com.jeeplus.common.utils.StringUtils;
+import com.jeeplus.common.utils.excel.ExportExcel;
+import com.jeeplus.core.persistence.Page;
+import com.jeeplus.core.web.BaseController;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveProcessProject;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.ReserveProcessProjectService;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.utils.ReserveProcessProjectExportUtil;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.utils.ReserveProcessProjectProUtil;
+import com.jeeplus.modules.filing.basicInformation.entity.BasicInformation;
+import com.jeeplus.modules.sg.managementcenter.materialproject.util.ImportUtil;
+import com.jeeplus.modules.sg.managementcenter.reserveManagement.entity.ExportScheme;
+import com.jeeplus.modules.sg.managementcenter.reserveManagement.service.ReserveManagementService;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+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: 王强
+ * @create: 2022-07-20 13:58
+ **/
+@Controller
+@RequestMapping(value = "${adminPath}/cg/reservemanagementcenter/reserveManage")
+public class ReserveProcessProjectController extends BaseController {
+
+    @Autowired
+    private ReserveManagementService service;
+
+    @Autowired
+    private ReserveProcessProjectService projectService;
+
+    @ModelAttribute
+    public ReserveProcessProject get(@RequestParam(required = false) String id) {
+        ReserveProcessProject entity = null;
+        if (StringUtils.isNotBlank(id)) {
+            entity = projectService.get(id);
+        }
+        if (entity == null) {
+            entity = new ReserveProcessProject();
+        }
+        return entity;
+    }
+
+    /**
+     * 项目储备信息列表页面
+     * @param reserveManagement
+     * @param model
+     * @return
+     */
+    @RequiresPermissions("cg:reservemanagementcenter:reserveManage:list")
+    @RequestMapping(value = "skipList")
+    public String skipList(ReserveProcessProject reserveManagement, Model model) {
+        model.addAttribute("reserveManagement", reserveManagement);
+        return "modules/cg/reservemanagementcenter/reserveManage/reserveManage/reserveManagementInformation";
+    }
+
+
+    /**
+     * 方案交底结论列表页面
+     * @param reserveManagement
+     * @param model
+     * @return
+     */
+    @RequiresPermissions("cg:reservemanagementcenter:disClosureReserveModule:list")
+    @RequestMapping(value = "moduleList")
+    public String moduleList(ReserveProcessProject reserveManagement, Model model) {
+        model.addAttribute("reserveManagement", reserveManagement);
+        return "modules/cg/reservemanagementcenter/reserveManage/disClosureReserveModuleList";
+    }
+
+
+    /**
+     * 项目储备信息数据列表
+     * @param reserveManagement
+     * @param request
+     * @param response
+     * @param model
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions("cg:reservemanagementcenter:reserveManage:list")
+    @RequestMapping(value = "list")
+    public Map<String, Object> basicData(ReserveProcessProject reserveManagement, HttpServletRequest request, HttpServletResponse response, Model model) {
+
+        Page<ReserveProcessProject> page = projectService.findPage(new Page<ReserveProcessProject>(request, response), reserveManagement);
+        return getBootstrapData(page);
+    }
+
+    /**
+     * 方案交底结论数据列表
+     * @param reserveManagement
+     * @param request
+     * @param response
+     * @param model
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions("cg:reservemanagementcenter:disClosureReserveModule:list")
+    @RequestMapping(value = "moduleForm")
+    public Map<String, Object> moduleData(ReserveProcessProject reserveManagement, HttpServletRequest request, HttpServletResponse response, Model model) {
+        Page<ReserveProcessProject> page = projectService.findModulePage(new Page<ReserveProcessProject>(request, response), reserveManagement);
+        return getBootstrapData(page);
+    }
+
+
+    /**
+     * 专职人员增加,编辑表单页面
+     * @param reserveManagement
+     * @param model
+     * @return
+     */
+    @RequiresPermissions(value={"cg:reservemanagementcenter:reserveManage:add","cg:reservemanagementcenter:reserveManage:edit"},logical= Logical.OR)
+    @RequestMapping(value = "form")
+    public String form(ReserveProcessProject reserveManagement, Model model) {
+        model.addAttribute("reserveManagement", reserveManagement);
+        //判断id是否为空 如果未空则为新增 否则为修改
+        if(StringUtils.isBlank(reserveManagement.getId())){
+            return "modules/cg/reservemanagementcenter/reserveManage/reserveManage/reserveManagementForm";
+        }
+        return "modules/cg/reservemanagementcenter/reserveManage/reserveManage/reserveManagementModifyByzz";
+    }
+
+    /**
+     * 项目经理编辑表单页面
+     * @param reserveManagement
+     * @param model
+     * @return
+     */
+    @RequiresPermissions(value={"cg:reservemanagementcenter:reserveManage:jlEdit"},logical= Logical.OR)
+    @RequestMapping(value = "jlEdit")
+    public String jlEdit(ReserveProcessProject reserveManagement, Model model) {
+        model.addAttribute("reserveManagement", reserveManagement);
+        return "modules/cg/reservemanagementcenter/reserveManage/reserveManage/reserveManagementModifyByjl";
+    }
+
+    /**
+     * 查看表单页面
+     */
+    @RequiresPermissions(value={"cg:reservemanagementcenter:reserveManage:view"},logical= Logical.OR)
+    @RequestMapping(value = "view")
+    public String view(ReserveProcessProject reserveManagement, Model model) {
+        model.addAttribute("reserveManagement", reserveManagement);
+        return "modules/cg/reservemanagementcenter/reserveManage/reserveManage/reserveManagementView";
+    }
+
+
+    /**
+     * 专职人员保存表单
+     * @param reserveManagement
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions(value={"cg:reservemanagementcenter:reserveManage:add"},logical=Logical.OR)
+    @RequestMapping(value = "save")
+    public AjaxJson save(ReserveProcessProject reserveManagement){
+        AjaxJson j = new AjaxJson();
+        /**
+         * 后台hibernate-validation插件校验
+         */
+        String errMsg = beanValidator(reserveManagement);
+        if (StringUtils.isNotBlank(errMsg)){
+            j.setSuccess(false);
+            j.setMsg(errMsg);
+            return j;
+        }
+        //新增或编辑表单保存
+        projectService.save(reserveManagement);//保存
+        j.setSuccess(true);
+        j.setMsg("保存储备项目基本信息成功");
+        return j;
+    }
+
+
+    /**
+     * 专职人员修改表单
+     * @param reserveManagement
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions(value={"cg:reservemanagementcenter:reserveManage:edit"},logical=Logical.OR)
+    @RequestMapping(value = "update")
+    public AjaxJson update(ReserveProcessProject reserveManagement){
+        AjaxJson j = new AjaxJson();
+        /**
+         * 后台hibernate-validation插件校验
+         */
+        String errMsg = beanValidator(reserveManagement);
+        if (StringUtils.isNotBlank(errMsg)){
+            j.setSuccess(false);
+            j.setMsg(errMsg);
+            return j;
+        }
+        //新增或编辑表单保存
+        projectService.update(reserveManagement);
+        j.setSuccess(true);
+        j.setMsg("修改储备项目基本信息成功");
+        return j;
+    }
+
+    /**
+     * 项目经理修改表单
+     * @param reserveManagement
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions(value={"cg:reservemanagementcenter:reserveManage:jlEdit"},logical=Logical.OR)
+    @RequestMapping(value = "jlUpdate")
+    public AjaxJson jlUpdate(ReserveProcessProject reserveManagement){
+        AjaxJson j = new AjaxJson();
+
+        //后台hibernate-validation插件校验
+        String errMsg = beanValidator(reserveManagement);
+        if (StringUtils.isNotBlank(errMsg)){
+            j.setSuccess(false);
+            j.setMsg(errMsg);
+            return j;
+        }
+        projectService.updatejl(reserveManagement);
+        j.setSuccess(true);
+        j.setMsg("修改储备项目基本信息成功");
+        return j;
+    }
+
+    /**
+     * 删除表单
+     */
+    @ResponseBody
+    @RequiresPermissions(value={"cg:reservemanagementcenter:reserveManage:del"},logical=Logical.OR)
+    @RequestMapping(value = "deleteAll")
+    public AjaxJson delete(String ids){
+        AjaxJson j = new AjaxJson();
+        String idArray[] =ids.split(",");
+        for(String id : idArray){
+            projectService.delete(projectService.get(id));
+        }
+        j.setMsg("删除储备项目基本信息成功");
+        return j;
+    }
+
+    /**
+     * 专职人员导入Excel数据
+     */
+    @ResponseBody
+    @RequiresPermissions("cg:reservemanagementcenter:reserveManage:import")
+    @RequestMapping(value = "import")
+    public AjaxJson importBasic(@RequestParam("file") MultipartFile file, HttpServletResponse response, HttpServletRequest request) {
+        AjaxJson j = new AjaxJson();
+        try {
+            ImportUtil importUtil = new ImportUtil(file, 0, 0);
+            //获取导入表格所有数据
+            List<ReserveProcessProject> reserveManagementList = ReserveProcessProjectProUtil.getProjectUtil(importUtil);
+            //查询已有的参数数据 并分类返回已存在数据和未存在数据
+            Map map = projectService.getExistProjectList(reserveManagementList);
+            //未存在数据
+            List<ReserveProcessProject> withoutList = (List<ReserveProcessProject>) map.get("without");
+            //已存在数据
+            List<ReserveProcessProject> existList = (List<ReserveProcessProject>) map.get("exist");
+
+            //对未存在的数据进行批量导入
+            if(withoutList.size()>0){
+                projectService.insertList(withoutList);
+            }
+
+            //对已存在的数据进行修改
+            if(existList.size()>0){
+                for (ReserveProcessProject reserveManagement : existList) {
+                    projectService.update(reserveManagement);
+                }
+            }
+            int i = withoutList.size() + existList.size();
+            j.setMsg("已成功导入" + i + "条项目储备信息记录");
+
+        } catch (Exception e) {
+            j.setSuccess(false);
+            j.setMsg("导入项目储备信息失败!失败信息:" + e.getMessage());
+        }
+        return j;
+    }
+
+    /**
+     * 经理导入Excel数据
+     */
+    /*@ResponseBody
+    @RequiresPermissions("cg:reservemanagementcenter:reserveManage:jlImport")
+    @RequestMapping(value = "jlImport")
+    public AjaxJson jlImportBasic(@RequestParam("file") MultipartFile file, HttpServletResponse response, HttpServletRequest request) {
+        AjaxJson j = new AjaxJson();
+        try {
+            ImportExcel ei = new ImportExcel(file, 3, 0);
+            List<ReserveProcessProject> list = ei.getDataList(ReserveProcessProject.class);
+            for (ReserveProcessProject s :
+                    list) {
+                projectService.jlSave(s);
+            }
+            j.setMsg("已成功导入");
+
+        } catch (Exception e) {
+            j.setSuccess(false);
+            j.setMsg("导入项目储备信息失败!失败信息:" + e.getMessage());
+        }
+        return j;
+    }*/
+
+    //导出excel
+    @ResponseBody
+    @RequiresPermissions("cg:reservemanagementcenter:reserveManage:export")
+    @RequestMapping(value = "export")
+    public void exportExcel(ReserveProcessProject reserveManagement, HttpServletRequest request, HttpServletResponse response) {
+        List<ReserveProcessProject> list = projectService.exportFindList(reserveManagement);
+        //生成序列号
+        int i = 1;
+        for (ReserveProcessProject s : list) {
+            s.setId(String.valueOf(i));
+            i++;
+        }
+
+        ReserveProcessProjectExportUtil util = ReserveProcessProjectExportUtil.getOne();
+        XSSFWorkbook workbook = util.getWorkbook("projectReserveManagement");
+        util.exportBasic(response,workbook,list);
+    }
+
+
+    /**
+     * 下载导入基础信息数据模板
+     */
+    @ResponseBody
+    @RequiresPermissions("cg:reservemanagementcenter:reserveManage:import")
+    @RequestMapping(value = "template")
+    public AjaxJson importTemplate(HttpServletResponse response) {
+        AjaxJson j = new AjaxJson();
+        try {
+            String fileName = "储备项目基础信息导入模板.xlsx";
+            List<BasicInformation> list = Lists.newArrayList();
+            new ExportExcel("储备项目基础信息", BasicInformation.class, 1).setDataList(list).write(response, fileName).dispose();
+            return null;
+        } catch (Exception e) {
+            j.setSuccess(false);
+            j.setMsg( "导入模板下载失败!失败信息:"+e.getMessage());
+        }
+        return j;
+    }
+
+
+    /**
+     * 下载导入基础信息数据模板
+     */
+    @ResponseBody
+    @RequiresPermissions("cg:reservemanagementcenter:reserveManage:import")
+    @RequestMapping(value = "schemeTemplate")
+    public AjaxJson importSchemeTemplate(HttpServletResponse response) {
+        AjaxJson j = new AjaxJson();
+        try {
+            String fileName = "方案交底结论导入模板.xlsx";
+            List<BasicInformation> list = Lists.newArrayList();
+            new ExportExcel("方案交底结论", ExportScheme.class, 1).setDataList(list).write(response, fileName).dispose();
+            return null;
+        } catch (Exception e) {
+            j.setSuccess(false);
+            j.setMsg( "导入模板下载失败!失败信息:"+e.getMessage());
+        }
+        return j;
+    }
+}

+ 231 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/web/ReserveSafeDisclosureController.java

@@ -0,0 +1,231 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.web;
+
+import com.jeeplus.common.json.AjaxJson;
+import com.jeeplus.common.utils.StringUtils;
+import com.jeeplus.core.persistence.Page;
+import com.jeeplus.core.web.BaseController;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSafety;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.ReserveElectricityWorkService;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.ReserveSafeDisclosureService;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.utils.ReserveProcessProjectExportUtil;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.utils.ReserveProcessProjectProUtil;
+import com.jeeplus.modules.sg.managementcenter.materialproject.util.ImportUtil;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+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: 王强
+ * @create: 2022-07-25 08:33
+ **/
+@Controller
+@RequestMapping(value = "${adminPath}/cg/reservemanagementcenter/reserveSafeDisclosure")
+public class ReserveSafeDisclosureController extends BaseController {
+
+    /*@Autowired
+    private ReserveElectricityWorkService workService;*/
+
+    @Autowired
+    private ReserveSafeDisclosureService safeService;
+
+
+    @ModelAttribute
+    public ReserveSafety get(@RequestParam(required = false) String id) {
+        ReserveSafety entity = null;
+        if (StringUtils.isNotBlank(id)) {
+            entity = safeService.get(id);
+        }
+        if (entity == null) {
+            entity = new ReserveSafety();
+        }
+        return entity;
+    }
+
+    /**
+     * 项目储备信息列表页面
+     * @param reserveManagement
+     * @param model
+     * @return
+     */
+    @RequiresPermissions("cg:reservemanagementcenter:reserveSafeDisclosure:list")
+    @RequestMapping(value = "skipList")
+    public String skipList(ReserveSafety reserveManagement, Model model) {
+        model.addAttribute("reserveManagement", reserveManagement);
+        return "modules/cg/reservemanagementcenter/reserveManage/reserveSafeDisclosure/reserveManagementInformation";
+    }
+
+
+
+    /**
+     * 项目储备信息数据列表
+     * @param reserveManagement
+     * @param request
+     * @param response
+     * @param model
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions("cg:reservemanagementcenter:reserveSafeDisclosure:list")
+    @RequestMapping(value = "list")
+    public Map<String, Object> basicData(ReserveSafety reserveManagement, HttpServletRequest request, HttpServletResponse response, Model model) {
+
+        Page<ReserveSafety> page = safeService.findPage(new Page<ReserveSafety>(request, response), reserveManagement);
+        return getBootstrapData(page);
+    }
+
+
+    /**
+     * 查看表单页面
+     */
+    @RequiresPermissions(value={"cg:reservemanagementcenter:reserveSafeDisclosure:view"},logical= Logical.OR)
+    @RequestMapping(value = "view")
+    public String view(ReserveSafety reserveManagement, Model model) {
+        model.addAttribute("reserveManagement", reserveManagement);
+        return "modules/cg/reservemanagementcenter/reserveManage/reserveSafeDisclosure/reserveManagementView";
+    }
+
+
+    /**
+     * 专职人员保存表单
+     * @param reserveManagement
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions(value={"cg:reservemanagementcenter:reserveSafeDisclosure:add"},logical=Logical.OR)
+    @RequestMapping(value = "save")
+    public AjaxJson save(ReserveSafety reserveManagement){
+        AjaxJson j = new AjaxJson();
+        /**
+         * 后台hibernate-validation插件校验
+         */
+        String errMsg = beanValidator(reserveManagement);
+        if (StringUtils.isNotBlank(errMsg)){
+            j.setSuccess(false);
+            j.setMsg(errMsg);
+            return j;
+        }
+        //新增或编辑表单保存
+        safeService.save(reserveManagement);//保存
+        j.setSuccess(true);
+        j.setMsg("保存储备项目基本信息成功");
+        return j;
+    }
+
+
+    /**
+     * 专职人员修改表单
+     * @param reserveManagement
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions(value={"cg:reservemanagementcenter:reserveSafeDisclosure:edit"},logical=Logical.OR)
+    @RequestMapping(value = "update")
+    public AjaxJson update(ReserveSafety reserveManagement){
+        AjaxJson j = new AjaxJson();
+        /**
+         * 后台hibernate-validation插件校验
+         */
+        String errMsg = beanValidator(reserveManagement);
+        if (StringUtils.isNotBlank(errMsg)){
+            j.setSuccess(false);
+            j.setMsg(errMsg);
+            return j;
+        }
+        //新增或编辑表单保存
+        safeService.update(reserveManagement);
+        j.setSuccess(true);
+        j.setMsg("修改储备项目基本信息成功");
+        return j;
+    }
+
+    /**
+     * 导入Excel数据
+     */
+    @ResponseBody
+    @RequiresPermissions("cg:reservemanagementcenter:reserveSafeDisclosure:import")
+    @RequestMapping(value = "import")
+    public AjaxJson importBasic(@RequestParam("file") MultipartFile file, HttpServletResponse response, HttpServletRequest request) {
+        AjaxJson j = new AjaxJson();
+        try {
+            ImportUtil importUtil = new ImportUtil(file, 0, 0);
+            //获取导入表格所有数据
+            List<ReserveSafety> reserveManagementList = ReserveProcessProjectProUtil.getSafetyProjectUtil(importUtil);
+            //查询已有的参数数据 并分类返回已存在数据和未存在数据
+            Map map = safeService.getExistProjectList(reserveManagementList);
+            //未存在数据
+            List<ReserveSafety> withoutList = (List<ReserveSafety>) map.get("without");
+            //已存在数据
+            List<ReserveSafety> existList = (List<ReserveSafety>) map.get("exist");
+
+            //对未存在的数据进行批量导入
+            if(withoutList.size()>0){
+                safeService.insertList(withoutList);
+            }
+
+            //对已存在的数据进行修改
+            if(existList.size()>0){
+                for (ReserveSafety reserveManagement : existList) {
+                    safeService.update(reserveManagement);
+                }
+            }
+            int i = withoutList.size() + existList.size();
+            j.setMsg("已成功导入" + i + "条项目储备信息记录");
+
+        } catch (Exception e) {
+            j.setSuccess(false);
+            j.setMsg("导入项目储备信息失败!失败信息:" + e.getMessage());
+        }
+        return j;
+    }
+
+
+    //导出excel
+    @ResponseBody
+    @RequiresPermissions("cg:reservemanagementcenter:reserveSafeDisclosure:export")
+    @RequestMapping(value = "export")
+    public void exportExcel(ReserveSafety reserveManagement, HttpServletRequest request, HttpServletResponse response) {
+        List<ReserveSafety> list = safeService.exportFindList(reserveManagement);
+        //生成序列号
+        int i = 1;
+        for (ReserveSafety s : list) {
+            s.setId(String.valueOf(i));
+            i++;
+        }
+
+        ReserveProcessProjectExportUtil util = ReserveProcessProjectExportUtil.getOne();
+        XSSFWorkbook workbook = util.getWorkbook("reserveSafety");
+        util.exportSafety(response,workbook,list);
+    }
+
+
+    /**
+     * 专职人员增加,编辑表单页面
+     * @param reserveManagement
+     * @param model
+     * @return
+     */
+    @RequiresPermissions(value={"cg:reservemanagementcenter:reserveSafeDisclosure:add","cg:reservemanagementcenter:reserveSafeDisclosure:edit"},logical= Logical.OR)
+    @RequestMapping(value = "form")
+    public String form(ReserveSafety reserveManagement, Model model) {
+        model.addAttribute("reserveManagement", reserveManagement);
+        //判断id是否为空 如果未空则为新增 否则为修改
+        if(StringUtils.isBlank(reserveManagement.getId())){
+            return "modules/cg/reservemanagementcenter/reserveManage/reserveSafeDisclosure/reserveManagementForm";
+        }
+        return "modules/cg/reservemanagementcenter/reserveManage/reserveSafeDisclosure/reserveManagementModifyByzz";
+    }
+}

+ 227 - 0
src/main/java/com/jeeplus/modules/cg/reservemanagementcenter/reserveManage/web/SummaryStatisticController.java

@@ -0,0 +1,227 @@
+package com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.web;
+
+import com.jeeplus.common.json.AjaxJson;
+import com.jeeplus.common.utils.StringUtils;
+import com.jeeplus.core.persistence.Page;
+import com.jeeplus.core.web.BaseController;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.entity.ReserveSummary;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.service.SummaryStatisticService;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.utils.ReserveProcessProjectExportUtil;
+import com.jeeplus.modules.cg.reservemanagementcenter.reserveManage.utils.ReserveProcessProjectProUtil;
+import com.jeeplus.modules.sg.managementcenter.materialproject.util.ImportUtil;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+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: 王强
+ * @create: 2022-07-27 11:03
+ **/
+@Controller
+@RequestMapping(value = "${adminPath}/cg/reservemanagementcenter/summaryStatistics")
+public class SummaryStatisticController extends BaseController {
+
+    @Autowired
+    private SummaryStatisticService statisticService;
+
+
+    @ModelAttribute
+    public ReserveSummary get(@RequestParam(required = false) String id) {
+        ReserveSummary entity = null;
+        if (StringUtils.isNotBlank(id)) {
+            entity = statisticService.get(id);
+        }
+        if (entity == null) {
+            entity = new ReserveSummary();
+        }
+        return entity;
+    }
+
+    /**
+     * 项目储备信息列表页面
+     * @param reserveManagement
+     * @param model
+     * @return
+     */
+    @RequiresPermissions("cg:reservemanagementcenter:summaryStatistics:list")
+    @RequestMapping(value = "skipList")
+    public String skipList(ReserveSummary reserveManagement, Model model) {
+        model.addAttribute("reserveManagement", reserveManagement);
+        return "modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/reserveManagementInformation";
+    }
+
+
+
+    /**
+     * 项目储备信息数据列表
+     * @param reserveManagement
+     * @param request
+     * @param response
+     * @param model
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions("cg:reservemanagementcenter:summaryStatistics:list")
+    @RequestMapping(value = "list")
+    public Map<String, Object> basicData(ReserveSummary reserveManagement, HttpServletRequest request, HttpServletResponse response, Model model) {
+
+        Page<ReserveSummary> page = statisticService.findPage(new Page<ReserveSummary>(request, response), reserveManagement);
+        return getBootstrapData(page);
+    }
+
+
+    /**
+     * 查看表单页面
+     */
+    @RequiresPermissions(value={"cg:reservemanagementcenter:summaryStatistics:view"},logical= Logical.OR)
+    @RequestMapping(value = "view")
+    public String view(ReserveSummary reserveManagement, Model model) {
+        model.addAttribute("reserveManagement", reserveManagement);
+        return "modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/reserveManagementView";
+    }
+
+
+    /**
+     * 专职人员保存表单
+     * @param reserveManagement
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions(value={"cg:reservemanagementcenter:summaryStatistics:add"},logical=Logical.OR)
+    @RequestMapping(value = "save")
+    public AjaxJson save(ReserveSummary reserveManagement){
+        AjaxJson j = new AjaxJson();
+        /**
+         * 后台hibernate-validation插件校验
+         */
+        String errMsg = beanValidator(reserveManagement);
+        if (StringUtils.isNotBlank(errMsg)){
+            j.setSuccess(false);
+            j.setMsg(errMsg);
+            return j;
+        }
+        //新增或编辑表单保存
+        statisticService.save(reserveManagement);//保存
+        j.setSuccess(true);
+        j.setMsg("保存储备项目基本信息成功");
+        return j;
+    }
+
+
+    /**
+     * 专职人员修改表单
+     * @param reserveManagement
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions(value={"cg:reservemanagementcenter:summaryStatistics:edit"},logical=Logical.OR)
+    @RequestMapping(value = "update")
+    public AjaxJson update(ReserveSummary reserveManagement){
+        AjaxJson j = new AjaxJson();
+        /**
+         * 后台hibernate-validation插件校验
+         */
+        String errMsg = beanValidator(reserveManagement);
+        if (StringUtils.isNotBlank(errMsg)){
+            j.setSuccess(false);
+            j.setMsg(errMsg);
+            return j;
+        }
+        //新增或编辑表单保存
+        statisticService.update(reserveManagement);
+        j.setSuccess(true);
+        j.setMsg("修改储备项目基本信息成功");
+        return j;
+    }
+
+    /**
+     * 导入Excel数据
+     */
+    @ResponseBody
+    @RequiresPermissions("cg:reservemanagementcenter:summaryStatistics:import")
+    @RequestMapping(value = "import")
+    public AjaxJson importBasic(@RequestParam("file") MultipartFile file, HttpServletResponse response, HttpServletRequest request) {
+        AjaxJson j = new AjaxJson();
+        try {
+            ImportUtil importUtil = new ImportUtil(file, 0, 0);
+            //获取导入表格所有数据
+            List<ReserveSummary> reserveManagementList = ReserveProcessProjectProUtil.getSummaryUtil(importUtil);
+            //查询已有的参数数据 并分类返回已存在数据和未存在数据
+            Map map = statisticService.getExistProjectList(reserveManagementList);
+            //未存在数据
+            List<ReserveSummary> withoutList = (List<ReserveSummary>) map.get("without");
+            //已存在数据
+            List<ReserveSummary> existList = (List<ReserveSummary>) map.get("exist");
+
+            //对未存在的数据进行批量导入
+            if(withoutList.size()>0){
+                statisticService.insertList(withoutList);
+            }
+
+            //对已存在的数据进行修改
+            if(existList.size()>0){
+                for (ReserveSummary reserveManagement : existList) {
+                    statisticService.update(reserveManagement);
+                }
+            }
+            int i = withoutList.size() + existList.size();
+            j.setMsg("已成功导入" + i + "条项目储备信息记录");
+
+        } catch (Exception e) {
+            j.setSuccess(false);
+            j.setMsg("导入项目储备信息失败!失败信息:" + e.getMessage());
+        }
+        return j;
+    }
+
+
+    //导出excel
+    @ResponseBody
+    @RequiresPermissions("cg:reservemanagementcenter:summaryStatistics:export")
+    @RequestMapping(value = "export")
+    public void exportExcel(ReserveSummary reserveManagement, HttpServletRequest request, HttpServletResponse response) {
+        List<ReserveSummary> list = statisticService.exportFindList(reserveManagement);
+        //生成序列号
+        int i = 1;
+        for (ReserveSummary s : list) {
+            s.setId(String.valueOf(i));
+            i++;
+        }
+
+        ReserveProcessProjectExportUtil util = ReserveProcessProjectExportUtil.getOne();
+        XSSFWorkbook workbook = util.getWorkbook("summaryStatistics");
+        util.exportSummary(response,workbook,list);
+    }
+
+
+    /**
+     * 专职人员增加,编辑表单页面
+     * @param reserveManagement
+     * @param model
+     * @return
+     */
+    @RequiresPermissions(value={"cg:reservemanagementcenter:summaryStatistics:add","cg:reservemanagementcenter:summaryStatistics:edit"},logical= Logical.OR)
+    @RequestMapping(value = "form")
+    public String form(ReserveSummary reserveManagement, Model model) {
+        model.addAttribute("reserveManagement", reserveManagement);
+        //判断id是否为空 如果未空则为新增 否则为修改
+        if(StringUtils.isBlank(reserveManagement.getId())){
+            return "modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/reserveManagementForm";
+        }
+        return "modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/reserveManagementModifyByzz";
+    }
+}

BIN
src/main/resources/freemarker/excelmodel/electricityWork.xlsx


BIN
src/main/resources/freemarker/excelmodel/policyHanding.xlsx


BIN
src/main/resources/freemarker/excelmodel/preconstruct.xlsx


BIN
src/main/resources/freemarker/excelmodel/projectReserveManagement.xlsx


BIN
src/main/resources/freemarker/excelmodel/reserveSafety.xlsx


+ 315 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/policyHanding/reserveManagementForm.jsp

@@ -0,0 +1,315 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>新增政策处理信息</title>
+	<meta name="decorator" content="ani"/>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+
+	        $('#beginDate').datetimepicker({
+				 format: "YYYY-MM-DD HH:mm:ss"
+		    });
+	        $('#endDate').datetimepicker({
+				 format: "YYYY-MM-DD HH:mm:ss"
+		    });
+		});
+		function save() {
+		    var projectReserveId = $("#projectReserveId").val();
+		    var projectName = $("#projectName").val();
+		    var construct = $("#constructionNecessityAndContent").val();
+
+
+		    if (null==projectReserveId||""==projectReserveId){
+                jp.error("请填写项目储备编号!");
+			}else if(null==projectName||""==projectName){
+				jp.error("请填写项目名称!");
+			}else if (null==construct||""==construct){
+		    	jp.error("请填写建设必要性及内容!")
+			}
+
+
+		    else {
+                var isValidate = jp.validateForm('#inputForm');//校验表单
+                if(!isValidate){
+                    return false;
+                }else{
+                    jp.loading();
+                    jp.post("${ctx}/cg/reservemanagementcenter/reservePreconstruct/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="reserveManagement" class="form-horizontal">
+	<form:hidden path="id"/>
+	<table class="table table-bordered">
+		<tbody>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">储备项目基本信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">项目年份:</label></td>
+			<td class="width-35">
+				<form:input path="projectYear" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目性质:</label></td>
+			<td class="width-35">
+				<form:input path="projectNature" htmlEscape="false" class="form-control"/>
+			</td>
+
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">需求单位:</label></td>
+			<td class="width-35">
+				<form:input path="demandUnit" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域:</label></td>
+			<td class="width-35">
+				<form:input path="district" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目分组:</label></td>
+			<td class="width-35">
+				<form:input path="projectGroup" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">储备批次:</label></td>
+			<td class="width-35">
+				<form:input path="reserveBatches" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">供电区域:</label></td>
+			<td class="width-35">
+				<form:input path="blockSupply" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>网格编号:</label></td>
+			<td class="width-35">
+				<form:input path="gridNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>单元格编号:</label></td>
+			<td class="width-35">
+				<form:input path="cellNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目储备编号:</label></td>
+			<td class="width-35">
+				<form:input path="projectReserveId" htmlEscape="false"  readonly="true"  class="form-control required"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目名称:</label></td>
+			<td class="width-35">
+				<form:input path="projectName" htmlEscape="false"    class="form-control required"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>建设必要性及内容:</label></td>
+			<td class="width-35">
+				<form:input path="constructionNecessityAndContent" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">变电站名称:</label></td>
+			<td class="width-35">
+				<form:input path="substationName" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">线路名称:</label></td>
+			<td class="width-35">
+				<form:input path="circuitName" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">网架项目划分:</label></td>
+			<td class="width-35">
+				<form:input path="netRackProjectDivide" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">需求类型:</label></td>
+			<td class="width-35">
+				<form:input path="requirementType" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">费用估算:</label></td>
+			<td class="width-35">
+				<form:input path="costEstimate" htmlEscape="false"    class="form-control number money"/>
+			</td>
+			<td class="width-15 active"><label class="">备注:</label></td>
+			<td class="width-35">
+				<form:textarea path="basicRemarks" htmlEscape="false" rows="3" maxlength="200" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">储备进度:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">储备进度:</label></td>
+			<td class="width-35">
+				<form:input path="reserveProgress" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否纳入实施计划:</label></td>
+			<td class="width-35">
+				<form:input path="implementPlan" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">拟实施批次:</label></td>
+			<td class="width-35">
+				<form:input path="intendBatch" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">政处基本信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">供电所辖区:</label></td>
+			<td class="width-35">
+				<form:input path="powerSupplyArea" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">施工地点:</label></td>
+			<td class="width-35">
+				<form:input path="constructionSpot" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否含土建工作量:</label></td>
+			<td class="width-35">
+				<form:input path="includeCivilWork" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否含立杆工作量:</label></td>
+			<td class="width-35">
+				<form:input path="poleWorkload" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">项目经理:</label></td>
+			<td class="width-35">
+				<form:input path="projectManager" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">拟定施工单位:</label></td>
+			<td class="width-35">
+				<form:input path="proposedConstructionUnit" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否移交政处单位图纸:</label></td>
+			<td class="width-35">
+				<form:input path="overToGovernment" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否存在政处:</label></td>
+			<td class="width-35">
+				<form:input path="governmentOffice" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处描述:</label></td>
+			<td class="width-35">
+				<form:input path="officeDescription" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处难度:</label></td>
+			<td class="width-35">
+				<form:input path="administrativeDifficulty" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">政处进度:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处对象数量:</label></td>
+			<td class="width-35">
+				<form:input path="administrativeObjectNumber" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处对象描述(产权单位):</label></td>
+			<td class="width-35">
+				<form:input path="propertyUnitOfficeDescription" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处类型:</label></td>
+			<td class="width-35">
+				<form:input path="officeType" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">启动政处时间:</label></td>
+			<td class="width-35">
+				<form:input path="startOfficeTime" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否需规划报批:</label></td>
+			<td class="width-35">
+				<form:input path="planApprovalRequire" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">规划报批完成情况:</label></td>
+			<td class="width-35">
+				<form:input path="planApprovalCompletion" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否需办理安评航评手续:</label></td>
+			<td class="width-35">
+				<form:input path="safetyReview" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">安评完成情况:</label></td>
+			<td class="width-35">
+				<form:input path="safetyReviewCompletion" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处对象金额:</label></td>
+			<td class="width-35">
+				<form:input path="officeAmount" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否完成付款:</label></td>
+			<td class="width-35">
+				<form:input path="paymentCompleted" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处进度:</label></td>
+			<td class="width-35">
+				<form:input path="officeProgress" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否允许土建进场:</label></td>
+			<td class="width-35">
+				<form:input path="civilEngineeringApproach" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否允许电气进场:</label></td>
+			<td class="width-35">
+				<form:input path="electricApproach" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否允许开土建领料单:</label></td>
+			<td class="width-35">
+				<form:input path="civilConstructionMaterialOpen" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否允许开电气领料单:</label></td>
+			<td class="width-35">
+				<form:input path="electricalPickListOpen" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处进度-备注:</label></td>
+			<td class="width-35">
+				<form:input path="administrativeOfficeRemark" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		</tbody>
+	</table>
+</form:form>
+</body>
+</html>

+ 526 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/policyHanding/reserveManagementInformation.js

@@ -0,0 +1,526 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script >
+$(document).ready(function () {
+    $('#projectTable').bootstrapTable({
+        //请求方法
+        method: 'post',
+        //类型json
+        dataType: "json",
+        contentType: "application/x-www-form-urlencoded",
+        //显示检索按钮
+        showSearch: true,
+        //显示刷新按钮
+        showRefresh: true,
+        //显示切换手机试图按钮
+        showToggle: true,
+        //显示 内容列下拉框
+        showColumns: true,
+        //显示到处按钮
+        showExport: true,
+        //显示切换分页按钮
+        showPaginationSwitch: true,
+        //最低显示2行
+        minimumCountColumns: 2,
+        //是否显示行间隔色
+        striped: true,
+        //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+        cache: false,
+        //是否显示分页(*)
+        pagination: true,
+        //排序方式
+        sortOrder: "asc",
+        //初始化加载第一页,默认第一页
+        pageNumber: 1,
+        //每页的记录行数(*)
+        pageSize: 5,
+        //可供选择的每页的行数(*)
+        pageList: [5, 10, 25, 50, 100],
+        //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+        url: "${ctx}/cg/reservemanagementcenter/policyHanding/list",
+        //默认值为 '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}/cg/reservemanagementcenter/project/delete?id=" + row.id, function (data) {
+                        if (data.success) {
+                            $('#projectTable').bootstrapTable('refresh');
+                            jp.success(data.msg);
+                        } else {
+                            jp.error(data.msg);
+                        }
+                    })
+                });
+            }
+        },
+
+        onClickRow: function (row, $el) {
+        },
+        onShowSearch: function () {
+            $("#search-collapse").slideToggle();
+        },
+        columns:
+            [
+                {
+                    checkbox: true,
+                    width:36,
+
+                },
+                {
+                    field: 'projectYear',
+                    width: 65,
+                    title: '项目</br>年份',
+                }
+                , {
+                    field: 'projectNature',
+                    width:65,
+                    title: '项目</br>性质',
+
+                },{
+                    field: 'demandUnit',
+                    width:70,
+                    title: '需求</br>单位',
+
+                },{
+                    field: 'district',
+                    width:60,
+                    title: '区域',
+
+                },{
+                    field: 'projectGroup',
+                    width:70,
+                    title: '项目</br>分组',
+
+                },{
+                    field: 'reserveBatches',
+                    width:70,
+                    title: '储备</br>批次',
+
+                },{
+                    field: 'blockSupply',
+                    width:60,
+                    title: '供电</br>区域',
+
+                },{
+                    field: 'gridNumber',
+                    width:90,
+                    title: '网格编号',
+
+                },{
+                    field: 'cellNumber',
+                    width:100,
+                    title: '单元格编号',
+
+                },{
+                    field: 'projectReserveId',
+                    width:150,
+                    title: '项目储备编号',
+
+                    formatter:function(value, row , index){
+                        if(value == null || value ==""){
+                            value = "-";
+                        }
+                    <c:choose>
+                        <c:when test="${fns:hasPermission('cg:reservemanagementcenter:policyHanding:view')}">
+                        return "<a href='javascript:view(\""+row.id+"\")'>"+value+"</a>";
+                    </c:when>
+                        <c:otherwise>
+                        return value;
+                    </c:otherwise>
+                        </c:choose>
+
+                    }
+                },{
+                    field: 'projectName',
+                    width:200,
+                    title: '项目名称',
+
+                },{
+                    field: 'constructionNecessityAndContent',
+                    width:400,
+                    title: '建设必要性及内容',
+
+                },{
+                    field: 'substationName',
+                    width:80,
+                    title: '变电站</br>名称',
+
+                },{
+                    field: 'circuitName',
+                    width:100,
+                    title: '线路名称',
+
+                },{
+                    field: 'netRackProjectDivide',
+                    width:80,
+                    title: '网架项目</br>划分',
+
+                },{
+                    field: 'requirementType',
+                    width:100,
+                    title: '需求类型',
+
+                },{
+                    field: 'costEstimate',
+                    width:80,
+                    title: '费用估算',
+
+                },{
+                    field: 'basicRemarks',
+                    width:200,
+                    title: '备注',
+
+                },{
+                    field: 'reserveProgress',
+                    width:80,
+                    title: '储备进度',
+
+                },
+                {
+                    field: 'implementPlan',
+                    width:80,
+                    title: '是否纳入</br>实施计划',
+
+                },
+                {
+                    field: 'intendBatch',
+                    width:80,
+                    title: '拟实施</br>批次',
+
+                },
+                {
+                    field: 'powerSupplyArea',
+                    width:80,
+                    title: '供电所</br>辖区',
+
+                },
+                {
+                    field: 'constructionSpot',
+                    width:80,
+                    title: '施工地点',
+
+                },
+                {
+                    field: 'includeCivilWork',
+                    width:80,
+                    title: '是否含土</br>建工作量',
+
+                },
+                {
+                    field: 'poleWorkload',
+                    width:80,
+                    title: '是否含立</br>杆工作量',
+
+                },
+                {
+                    field: 'projectManager',
+                    width:80,
+                    title: '项目经理',
+
+                },
+                {
+                    field: 'proposedConstructionUnit',
+                    width:80,
+                    title: '拟定施工</br>单位',
+
+                },
+                {
+                    field: 'overToGovernment',
+                    width:80,
+                    title: '是否移交</br>政处单位</br>图纸',
+
+                },
+                {
+                    field: 'officeDescription',
+                    width:100,
+                    title: '政处描述',
+
+                },
+                {
+                    field: 'administrativeDifficulty',
+                    width:80,
+                    title: '政处难度',
+
+                },
+                {
+                    field: 'administrativeObjectNumber',
+                    width:80,
+                    title: '政处对象</br>数量',
+
+                },
+                {
+                    field: 'propertyUnitOfficeDescription',
+                    width:80,
+                    title: '政处对象</br>描述</br>(产权单位)',
+
+                },
+                {
+                    field: 'officeType',
+                    width:80,
+                    title: '政处类型',
+
+                },
+                {
+                    field: 'startOfficeTime',
+                    width:80,
+                    title: '启动政处</br>时间',
+
+                },
+                {
+                    field: 'planApprovalRequire',
+                    width:80,
+                    title: '是否需</br>规划报批',
+
+                },
+                {
+                    field: 'planApprovalCompletion',
+                    width:80,
+                    title: '规划报批</br>完成情况',
+
+                },
+                {
+                    field: 'safetyReview',
+                    width:80,
+                    title: '是否需</br>办理安评</br>航评手续',
+
+                },
+                {
+                    field: 'safetyReviewCompletion',
+                    width:80,
+                    title: '安评完成</br>情况',
+
+                },
+                {
+                    field: 'officeAmount',
+                    width:80,
+                    title: '政处对象</br>金额',
+
+                },
+                {
+                    field: 'paymentCompleted',
+                    width:80,
+                    title: '是否完成</br>付款',
+
+                },
+                {
+                    field: 'officeProgress',
+                    width:80,
+                    title: '政处进度',
+
+                },
+                {
+                    field: 'civilEngineeringApproach',
+                    width:80,
+                    title: '是否允许</br>土建进场',
+
+                },
+                {
+                    field: 'electricApproach',
+                    width:80,
+                    title: '是否允许</br>电气进场',
+
+                },
+                {
+                    field: 'civilConstructionMaterialOpen',
+                    width:80,
+                    title: '是否允许</br>开土建</br>领料单',
+
+                },
+                {
+                    field: 'electricalPickListOpen',
+                    width:80,
+                    title: '是否允许</br>开电气</br>领料单',
+
+                },
+                {
+                    field: 'administrativeOfficeRemark',
+                    width:80,
+                    title: '政处进度</br>备注',
+
+                },
+
+        ]
+    });
+
+
+    if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {//如果是移动端
+        $('#projectTable').bootstrapTable("toggleView");
+    }
+
+    $('#projectTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+        'check-all.bs.table uncheck-all.bs.table', function () {
+        $('#remove').prop('disabled', !$('#projectTable').bootstrapTable('getSelections').length);
+        $('#view,#edit,#jlEdit').prop('disabled', $('#projectTable').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) {
+                var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                iframeWin.contentWindow.importExcel('${ctx}/cg/reservemanagementcenter/policyHanding/import', function (data) {
+                    if (data.success) {
+                        jp.success(data.msg);
+                        refresh();
+                    } else {
+                        jp.error(data.msg);
+                    }
+                    jp.close(index);
+                });//调用保存事件
+                return false;
+            },
+            btn2: function (index) {
+                //  jp.close(index);
+            }
+        });
+    });
+
+    $("#jlImport").click(function () {
+        jp.open({
+            type: 2,
+            area: [500, 200],
+            auto: true,
+            title: "导入数据",
+            content: "${ctx}/tag/importExcel",
+            btn: ['确定', '关闭'],
+            btn1: function (index, layero) {
+                var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                iframeWin.contentWindow.importExcel('${ctx}/cg/reservemanagementcenter/policyHanding/jlImport', function (data) {
+                    if (data.success) {
+                        jp.success(data.msg);
+                        refresh();
+                    } else {
+                        jp.error(data.msg);
+                    }
+                    jp.close(index);
+                });//调用保存事件
+                return false;
+            },
+
+            btn2: function (index) {
+                //  jp.close(index);
+            }
+        });
+    });
+
+    $("#btnExport").click(function () {
+        var projectReserveId = $("#projectReserveId").val();
+        var projectName = $("#projectName").val();
+        jp.downloadFile('${ctx}/cg/reservemanagementcenter/policyHanding/export?projectReserveId=' + projectReserveId + '&projectName=' + projectName);
+    });
+
+    $("#search").click("click", function () {// 绑定查询按扭
+        $('#projectTable').bootstrapTable('refresh');
+    });
+
+    $("#reset").click("click", function () {// 绑定查询按扭
+        $("#searchForm  input").val("");
+        $("#searchForm  select").val("");
+        $("#searchForm  .select-item").html("");
+        $('#projectTable').bootstrapTable('refresh');
+    });
+
+    $('#beginBeginDate').datetimepicker({
+        format: "YYYY-MM-DD HH:mm:ss"
+    });
+    $('#endBeginDate').datetimepicker({
+        format: "YYYY-MM-DD HH:mm:ss"
+    });
+    $('#endDate').datetimepicker({
+        format: "YYYY-MM-DD HH:mm:ss"
+    });
+});
+
+function getIdSelections() {
+    return $.map($("#projectTable").bootstrapTable('getSelections'), function (row) {
+        return row.id
+    });
+}
+
+
+//刷新列表
+function refresh() {
+    $('#projectTable').bootstrapTable('refresh');
+}
+
+function add() {
+    jp.openSaveDialog('新增储备项目基本信息', "${ctx}/cg/reservemanagementcenter/policyHanding/form", '800px', '500px');
+}
+
+
+function edit(id) {//没有权限时,不显示确定按钮
+    if (id == undefined) {
+        id = getIdSelections();
+    }
+    jp.openSaveDialog('编辑储备项目基本信息', "${ctx}/cg/reservemanagementcenter/policyHanding/form?id=" + id, '800px', '500px');
+}
+
+function jlEdit(id) {//没有权限时,不显示确定按钮
+    if (id == undefined) {
+        id = getIdSelections();
+    }
+    jp.openSaveDialog('编辑储备项目基本信息', "${ctx}/cg/reservemanagementcenter/policyHanding/jlEdit?id=" + id, '800px', '500px');
+}
+
+function view(id) {//没有权限时,不显示确定按钮
+    if (id == undefined) {
+        id = getIdSelections();
+    }
+    jp.openViewDialog('查看储备项目基本信息', "${ctx}/cg/reservemanagementcenter/policyHanding/view?id=" + id, '800px', '500px');
+}
+
+function deleteAll(){
+
+    jp.confirm('确认要删除该储备项目基本信息吗?', function(){
+        jp.loading();
+        jp.get("${ctx}/cg/reservemanagementcenter/policyHanding/deleteAll?ids=" + getIdSelections(), function(data){
+            if(data.success){
+                $('#projectTable').bootstrapTable('refresh');
+                jp.success(data.msg);
+            }else{
+                jp.error(data.msg);
+            }
+        })
+
+    })
+}
+//转换日期格式(时间戳转换为datetime格式)
+function changeDateFormat(cellval) {
+    var dateVal = cellval + "";
+    if (cellval != null) {
+        var date = new Date(parseInt(dateVal.replace("/Date(", "").replace(")/", ""), 10));
+        var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
+        var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
+
+        /*var hours = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
+        var minutes = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
+        var seconds = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();*/
+
+        return date.getFullYear() + "-" + month + "-" + currentDate /*+ " " + hours + ":" + minutes + ":" + seconds*/;
+    }
+}
+
+</script>

+ 98 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/policyHanding/reserveManagementInformation.jsp

@@ -0,0 +1,98 @@
+<%@ 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="reserveManagementInformation.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="reserveManagement" 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="projectReserveId" htmlEscape="false" maxlength="100"  class=" form-control"/>
+					</div>
+					<div class="col-xs-12 col-sm-6 col-md-4">
+						<label class="label-item single-overflow pull-left" title="项目名称:">项目名称:</label>
+						<form:input path="projectName" htmlEscape="false" maxlength="100"  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">
+			<shiro:hasPermission name="cg:reservemanagementcenter:policyHanding:add">
+				<button id="add" class="btn btn-primary" onclick="add()">
+					<i class="glyphicon glyphicon-plus"></i> 新增
+				</button>
+			</shiro:hasPermission>
+			<shiro:hasPermission name="cg:reservemanagementcenter:policyHanding:edit">
+				<button id="edit" class="btn btn-primary" onclick="edit()">
+					<i class="glyphicon glyphicon-edit"></i> 修改 <!--专职修改-->
+				</button>
+			</shiro:hasPermission>
+<%--			<shiro:hasPermission name="sg:managementcenter:reserveManagement:jlEdit">
+				<button id="jlEdit" class="btn btn-primary" onclick="jlEdit()">
+					<i class="glyphicon glyphicon-edit"></i> 修改 <!--经理修改-->
+				</button>
+			</shiro:hasPermission>--%>
+			<shiro:hasPermission name="cg:reservemanagementcenter:policyHanding:del">
+				<button id="remove" class="btn btn-danger" onclick="deleteAll()">
+					<i class="glyphicon glyphicon-remove"></i> 删除
+				</button>
+			</shiro:hasPermission>
+			<shiro:hasPermission name="cg:reservemanagementcenter:policyHanding:import">
+				<button id="btnImport" class="btn btn-info">
+					<i class="fa fa-folder-open-o"></i> 导入  <!--专职导入-->
+				</button>
+			</shiro:hasPermission>
+<%--			<shiro:hasPermission name="sg:managementcenter:reserveManagement:jlImport">
+				<button id="jlImport" class="btn btn-info">
+					<i class="fa fa-folder-open-o"></i> 导入  <!--经理导入-->
+				</button>
+			</shiro:hasPermission>--%>
+			<shiro:hasPermission name="cg:reservemanagementcenter:policyHanding:export">
+				<button id="btnExport" class="btn btn-warning">
+					<i class="fa fa-file-excel-o"></i> 导出
+				</button>
+			</shiro:hasPermission>
+		    </div>
+	<!-- 表格 -->
+	<table id="projectTable" style="table-layout:fixed" class="table" data-toolbar="#toolbar"></table>
+
+	</div>
+	</div>
+	</div>
+</body>
+</html>

+ 337 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/policyHanding/reserveManagementModifyByjl.jsp

@@ -0,0 +1,337 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>项目储备信息</title>
+	<meta name="decorator" content="ani"/>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+			$('#disclosureFinishDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+		});
+		function save() {
+			var isValidate = jp.validateForm('#inputForm');//校验表单
+			if(!isValidate){
+				return false;
+			}else{
+				jp.loading();
+				jp.post("${ctx}/sg/managementCenter/reserveManagement/jlUpdate",$('#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="reserveManagement" class="form-horizontal">
+	<form:hidden path="id"/>
+	<table class="table table-bordered">
+		<tbody>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">方案交底组织:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">交底牵头部门:</label></td>
+			<td class="width-35">
+				<form:input path="disclosureToCoordinate" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">交底参与部门:</label></td>
+			<td class="width-35">
+				<form:input path="disclosureParticipate" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否完成交底:</label></td>
+			<td class="width-35">
+				<select id="whetherFinishDisclosure" name="whetherFinishDisclosure"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.whetherFinishDisclosure=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.whetherFinishDisclosure=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">项目管理中心人员:</label></td>
+			<td class="width-35">
+				<form:input path="projectManagementPeople" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">设计院人员:</label></td>
+			<td class="width-35">
+				<form:input path="designingInstitutePeople" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">经研所人员:</label></td>
+			<td class="width-35">
+				<form:input path="ifoPeople" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域中心人员:</label></td>
+			<td class="width-35">
+				<form:input path="regionalCenterPeople" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">不停电作业中心人员:</label></td>
+			<td class="width-35">
+				<form:input path="uninterruptedOperationPeople" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">作业方式:</label></td>
+			<td class="width-35">
+				<form:input path="workMode" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">交底完成日期:</label></td>
+			<td class="width-35">
+				<div class='input-group form_datetime' id='disclosureFinishDate'>
+					<input type='text'  name="disclosureFinishDate" class="form-control required"  value="<fmt:formatDate value="${reserveManagement.disclosureFinishDate}" 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="">备注:</label></td>
+			<td class="width-35">
+				<form:textarea path="disclosureRemarks" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+
+
+
+
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">方案交底结论:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">立项说明:</label></td>
+			<td class="width-35">
+				<form:textarea path="projectDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">不具备立项条件说明:</label></td>
+			<td class="width-35">
+				<form:textarea path="doNotPossessProjectDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">方案变更说明:</label></td>
+			<td class="width-35">
+				<form:textarea path="changedProgramsExplain" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处难度初判:</label></td>
+			<td class="width-35">
+				<form:input path="initialDifficulty" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有资本设备:</label></td>
+			<td class="width-35">
+				<select id="capitalEquipment" name="capitalEquipment"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.capitalEquipment=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.capitalEquipment=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否有变电站新出线:</label></td>
+			<td class="width-35">
+				<select id="substationNewLine" name="substationNewLine"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.substationNewLine=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.substationNewLine=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否已实施:</label></td>
+			<td class="width-35">
+				<select id="whetherImplement" name="whetherImplement"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.whetherImplement=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.whetherImplement=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">现场情况描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="fieldDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有实施必要性:</label></td>
+			<td class="width-35">
+				<select id="necessaryOfImplementation" name="necessaryOfImplementation"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.necessaryOfImplementation=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.necessaryOfImplementation=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">实施无必要描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="unnecessaryDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否存在前置条件:</label></td>
+			<td class="width-35">
+				<select id="precondition" name="precondition"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.precondition=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.precondition=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">前置条件描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="conditionsDescribed" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否存在施工方案问题:</label></td>
+			<td class="width-35">
+				<select id="constructionSchemeProblem" name="constructionSchemeProblem"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.constructionSchemeProblem=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.constructionSchemeProblem=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">施工方案问题描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="problemDescriptionOfConstructionScheme" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">现场是否存在安全隐患:</label></td>
+			<td class="width-35">
+				<select id="existingSecurityThreat" name="existingSecurityThreat"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.existingSecurityThreat=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.existingSecurityThreat=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">安全隐患描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="safetyHazardDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否需要定制物资:</label></td>
+			<td class="width-35">
+				<select id="customizedMaterials" name="customizedMaterials"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.customizedMaterials=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.customizedMaterials=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">定制物资描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="materialDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有拆旧物资:</label></td>
+			<td class="width-35">
+				<select id="dismantlingTheOldMaterial" name="dismantlingTheOldMaterial"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.dismantlingTheOldMaterial=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.dismantlingTheOldMaterial=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">作业方式:</label></td>
+			<td class="width-35">
+				<form:input path="operatingType" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有土建工作量:</label></td>
+			<td class="width-35">
+				<select id="civilWork" name="civilWork"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.civilWork=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.civilWork=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">停电问题描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="problemDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有立杆工作量:</label></td>
+			<td class="width-35">
+				<select id="verticalRodWorkload" name="verticalRodWorkload"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.verticalRodWorkload=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.verticalRodWorkload=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">总工作量描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="totalWorkloadDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域中心:</label></td>
+			<td class="width-35">
+				<form:input path="regionalCenter" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">供电所辖区:</label></td>
+			<td class="width-35">
+				<form:input path="powerSupplyArea" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处地点:</label></td>
+			<td class="width-35">
+				<form:input path="zhengLocation" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处类型(可多类):</label></td>
+			<td class="width-35">
+				<form:input path="zhengType" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处对象(产权单位):</label></td>
+			<td class="width-35">
+				<form:input path="zhengObject" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="zhengDescribe" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否需规划报批:</label></td>
+			<td class="width-35">
+				<select id="projectApproval" name="projectApproval" class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.projectApproval=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.projectApproval=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否需办理安评航评手续:</label></td>
+			<td class="width-35">
+				<select id="courseEvaluationProcedures" name="courseEvaluationProcedures" class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.courseEvaluationProcedures=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.courseEvaluationProcedures=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处难点提醒:</label></td>
+			<td class="width-35">
+				<form:textarea path="zhengDifficultyWarn" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		</tbody>
+	</table>
+</form:form>
+</body>
+</html>

+ 401 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/policyHanding/reserveManagementModifyByzz.jsp

@@ -0,0 +1,401 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>修改政策处理信息</title>
+	<meta name="decorator" content="ani"/>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+
+	        $('#beginDate').datetimepicker({
+				 format: "YYYY-MM-DD HH:mm:ss"
+		    });
+	        $('#endDate').datetimepicker({
+				 format: "YYYY-MM-DD HH:mm:ss"
+		    });
+		});
+		function save() {
+			var projectReserveId = $("#projectReserveId").val();
+			var projectName = $("#projectName").val();
+			var construct = $("#constructionNecessityAndContent").val();
+			//是否存在政处
+			var hasZc = $("#governmentOffice").val();
+			var zcMs = $("#officeDescription").val();
+			//是否允许土建进场
+			var tjIn = $("#civilEngineeringApproach").val();
+			var tjWl = $("#civilConstructionMaterialOpen").val();
+			//是否允许电气进场
+			var dqIn = $("#electricApproach").val();
+			var dqWl = $("#electricalPickListOpen").val();
+
+			if (null==projectReserveId||""==projectReserveId){
+				jp.error("请填写项目储备编号!");
+			}else if(null==projectName||""==projectName){
+				jp.error("请填写项目名称!");
+			}else if (null==construct||""==construct){
+				jp.error("请填写建设必要性及内容!")
+			}else if ('是'==hasZc & (null == zcMs || zcMs == '')){
+				jp.error("请填写政处描述!")
+			}else if ('是'==tjIn&(null==tjWl||tjWl=='')){
+				jp.error("请填写是否允许开土建领料单!")
+			}else if ('是'==dqIn&(null==dqWl||dqWl=='')){
+				jp.error("请填写是否允许开电气领料单!")
+			}
+
+
+		    else {
+                var isValidate = jp.validateForm('#inputForm');//校验表单
+                if(!isValidate){
+                    return false;
+                }else{
+                    jp.loading();
+                    jp.post("${ctx}/cg/reservemanagementcenter/policyHanding/update",$('#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="reserveManagement" class="form-horizontal">
+	<form:hidden path="id"/>
+	<table class="table table-bordered">
+		<tbody>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">储备项目基本信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">项目年份:</label></td>
+			<td class="width-35">
+				<form:input path="projectYear" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目性质:</label></td>
+			<td class="width-35">
+				<form:input path="projectNature" htmlEscape="false" class="form-control"/>
+			</td>
+
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">需求单位:</label></td>
+			<td class="width-35">
+				<form:input path="demandUnit" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域:</label></td>
+			<td class="width-35">
+				<form:input path="district" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目分组:</label></td>
+			<td class="width-35">
+				<form:input path="projectGroup" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">储备批次:</label></td>
+			<td class="width-35">
+				<form:input path="reserveBatches" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">供电区域:</label></td>
+			<td class="width-35">
+				<form:input path="blockSupply" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>网格编号:</label></td>
+			<td class="width-35">
+				<form:input path="gridNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>单元格编号:</label></td>
+			<td class="width-35">
+				<form:input path="cellNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目储备编号:</label></td>
+			<td class="width-35">
+				<form:input path="projectReserveId" htmlEscape="false"  readonly="true"  class="form-control required"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目名称:</label></td>
+			<td class="width-35">
+				<form:input path="projectName" htmlEscape="false"    class="form-control required"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>建设必要性及内容:</label></td>
+			<td class="width-35">
+				<form:input path="constructionNecessityAndContent" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">变电站名称:</label></td>
+			<td class="width-35">
+				<form:input path="substationName" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">线路名称:</label></td>
+			<td class="width-35">
+				<form:input path="circuitName" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">网架项目划分:</label></td>
+			<td class="width-35">
+				<form:input path="netRackProjectDivide" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">需求类型:</label></td>
+			<td class="width-35">
+				<form:input path="requirementType" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">费用估算:</label></td>
+			<td class="width-35">
+				<form:input path="costEstimate" htmlEscape="false"    class="form-control number money"/>
+			</td>
+			<td class="width-15 active"><label class="">备注:</label></td>
+			<td class="width-35">
+				<form:textarea path="basicRemarks" htmlEscape="false" rows="3" maxlength="200" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">储备进度:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">储备进度:</label></td>
+			<td class="width-35">
+				<form:input path="reserveProgress" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否纳入实施计划:</label></td>
+			<td class="width-35">
+				<form:input path="implementPlan" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">拟实施批次:</label></td>
+			<td class="width-35">
+				<form:input path="intendBatch" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">政处基本信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">供电所辖区:</label></td>
+			<td class="width-35">
+				<form:input path="powerSupplyArea" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">施工地点:</label></td>
+			<td class="width-35">
+				<form:input path="constructionSpot" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否含土建工作量:</label></td>
+			<td class="width-35">
+				<form:input path="includeCivilWork" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否含立杆工作量:</label></td>
+			<td class="width-35">
+				<form:input path="poleWorkload" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">项目经理:</label></td>
+			<td class="width-35">
+				<form:input path="projectManager" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">拟定施工单位:</label></td>
+			<td class="width-35">
+				<form:input path="proposedConstructionUnit" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否移交政处单位图纸:</label></td>
+			<td class="width-35">
+				<select id="overToGovernment" name="overToGovernment"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.overToGovernment=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.overToGovernment=='否'}">selected</c:if>>否</option>
+				</select>
+					<%--				<form:input path="overToGovernment" htmlEscape="false" class="form-control"/>--%>
+			</td>
+			<td class="width-15 active"><label class="">是否存在政处:</label></td>
+			<td class="width-35">
+				<select id="governmentOffice" name="governmentOffice"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.governmentOffice=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.governmentOffice=='否'}">selected</c:if>>否</option>
+				</select>
+					<%--				<form:input path="governmentOffice" htmlEscape="false" class="form-control"/>--%>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处描述:</label></td>
+			<td class="width-35">
+				<form:input path="officeDescription" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处难度:</label></td>
+			<td class="width-35">
+				<select id="administrativeDifficulty" name="administrativeDifficulty"  class="form-control">
+					<option value="">请选择</option>
+					<option value="无法解决" <c:if test="${reserveManagement.administrativeDifficulty=='无法解决'}">selected</c:if>>无法解决</option>
+					<option value="难" <c:if test="${reserveManagement.administrativeDifficulty=='难'}">selected</c:if>>难</option>
+					<option value="中" <c:if test="${reserveManagement.administrativeDifficulty=='中'}">selected</c:if>>中</option>
+					<option value="易" <c:if test="${reserveManagement.administrativeDifficulty=='易'}">selected</c:if>>易</option>
+				</select>
+					<%--				<form:input path="administrativeDifficulty" htmlEscape="false" class="form-control"/>--%>
+			</td>
+		</tr>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">政处进度:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处对象数量:</label></td>
+			<td class="width-35">
+				<form:input path="administrativeObjectNumber" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处对象描述(产权单位):</label></td>
+			<td class="width-35">
+				<form:input path="propertyUnitOfficeDescription" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处类型:</label></td>
+			<td class="width-35">
+				<form:input path="officeType" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">启动政处时间:</label></td>
+			<td class="width-35">
+				<form:input path="startOfficeTime" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否需规划报批:</label></td>
+			<td class="width-35">
+				<select id="planApprovalRequire" name="planApprovalRequire"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.planApprovalRequire=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.planApprovalRequire=='否'}">selected</c:if>>否</option>
+				</select>
+					<%--				<form:input path="planApprovalRequire" htmlEscape="false" class="form-control"/>--%>
+			</td>
+			<td class="width-15 active"><label class="">规划报批完成情况:</label></td>
+			<td class="width-35">
+				<select id="planApprovalCompletion" name="planApprovalCompletion"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.planApprovalCompletion=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.planApprovalCompletion=='否'}">selected</c:if>>否</option>
+				</select>
+					<%--				<form:input path="planApprovalCompletion" htmlEscape="false" class="form-control"/>--%>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否需办理安评航评手续:</label></td>
+			<td class="width-35">
+				<select id="safetyReview" name="safetyReview"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.safetyReview=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.safetyReview=='否'}">selected</c:if>>否</option>
+				</select>
+					<%--				<form:input path="safetyReview" htmlEscape="false" class="form-control"/>--%>
+			</td>
+			<td class="width-15 active"><label class="">安评完成情况:</label></td>
+			<td class="width-35">
+				<select id="safetyReviewCompletion" name="safetyReviewCompletion"  class="form-control">
+					<option value="">请选择</option>
+					<option value="未办理" <c:if test="${reserveManagement.safetyReviewCompletion=='未办理'}">selected</c:if>>未办理</option>
+					<option value="办理中" <c:if test="${reserveManagement.safetyReviewCompletion=='办理中'}">selected</c:if>>办理中</option>
+					<option value="已完成" <c:if test="${reserveManagement.safetyReviewCompletion=='已完成'}">selected</c:if>>已完成</option>
+				</select>
+					<%--				<form:input path="safetyReviewCompletion" htmlEscape="false" class="form-control"/>--%>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处对象金额:</label></td>
+			<td class="width-35">
+				<form:input path="officeAmount" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否完成付款:</label></td>
+			<td class="width-35">
+				<select id="paymentCompleted" name="paymentCompleted"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.paymentCompleted=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.paymentCompleted=='否'}">selected</c:if>>否</option>
+				</select>
+					<%--				<form:input path="paymentCompleted" htmlEscape="false" class="form-control"/>--%>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处进度:</label></td>
+			<td class="width-35">
+				<select id="officeProgress" name="officeProgress"  class="form-control">
+					<option value="">请选择</option>
+					<option value="未开展" <c:if test="${reserveManagement.officeProgress=='未开展'}">selected</c:if>>未开展</option>
+					<option value="洽谈中" <c:if test="${reserveManagement.officeProgress=='洽谈中'}">selected</c:if>>洽谈中</option>
+					<option value="无政处" <c:if test="${reserveManagement.officeProgress=='无政处'}">selected</c:if>>无政处</option>
+					<option value="本年度无法完成" <c:if test="${reserveManagement.officeProgress=='本年度无法完成'}">selected</c:if>>本年度无法完成</option>
+					<option value="已完成" <c:if test="${reserveManagement.officeProgress=='已完成'}">selected</c:if>>已完成</option>
+				</select>
+					<%--				<form:input path="officeProgress" htmlEscape="false" class="form-control"/>--%>
+			</td>
+			<td class="width-15 active"><label class="">是否允许土建进场:</label></td>
+			<td class="width-35">
+				<select id="civilEngineeringApproach" name="civilEngineeringApproach"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.civilEngineeringApproach=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.civilEngineeringApproach=='否'}">selected</c:if>>否</option>
+				</select>
+					<%--				<form:input path="civilEngineeringApproach" htmlEscape="false" class="form-control"/>--%>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否允许电气进场:</label></td>
+			<td class="width-35">
+				<select id="electricApproach" name="electricApproach"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.electricApproach=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.electricApproach=='否'}">selected</c:if>>否</option>
+				</select>
+					<%--				<form:input path="electricApproach" htmlEscape="false" class="form-control"/>--%>
+			</td>
+			<td class="width-15 active"><label class="">是否允许开土建领料单:</label></td>
+			<td class="width-35">
+				<select id="civilConstructionMaterialOpen" name="civilConstructionMaterialOpen"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.civilConstructionMaterialOpen=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.civilConstructionMaterialOpen=='否'}">selected</c:if>>否</option>
+				</select>
+					<%--				<form:input path="civilConstructionMaterialOpen" htmlEscape="false" class="form-control"/>--%>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否允许开电气领料单:</label></td>
+			<td class="width-35">
+				<select id="electricalPickListOpen" name="electricalPickListOpen"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.electricalPickListOpen=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.electricalPickListOpen=='否'}">selected</c:if>>否</option>
+				</select>
+					<%--				<form:input path="electricalPickListOpen" htmlEscape="false" class="form-control"/>--%>
+			</td>
+			<td class="width-15 active"><label class="">政处进度-备注:</label></td>
+			<td class="width-35">
+				<form:textarea path="administrativeOfficeRemark" htmlEscape="false" rows="3" maxlength="200" class="form-control"/>
+<%--				<form:input path="administrativeOfficeRemark" htmlEscape="false" class="form-control"/>--%>
+			</td>
+		</tr>
+		</tbody>
+	</table>
+</form:form>
+</body>
+</html>

+ 366 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/policyHanding/reserveManagementView.jsp

@@ -0,0 +1,366 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>政策处理信息</title>
+	<meta name="decorator" content="ani"/>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+			$('#disclosureFinishDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+		});
+		function save() {
+			var isValidate = jp.validateForm('#inputForm');//校验表单
+			if(!isValidate){
+				return false;
+			}else{
+				/*jp.loading();
+				jp.post("${ctx}/sg/managementCenter/reserveManagement/update",$('#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="reserveManagement" class="form-horizontal">
+	<form:hidden path="id"/>
+	<table class="table table-bordered">
+		<tbody>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">储备项目基本信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">项目年份:</label></td>
+			<td class="width-35">
+				<form:input path="projectYear" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目性质:</label></td>
+			<td class="width-35">
+				<form:input path="projectNature" htmlEscape="false" class="form-control"/>
+			</td>
+
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">需求单位:</label></td>
+			<td class="width-35">
+				<form:input path="demandUnit" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域:</label></td>
+			<td class="width-35">
+				<form:input path="district" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目分组:</label></td>
+			<td class="width-35">
+				<form:input path="projectGroup" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">储备批次:</label></td>
+			<td class="width-35">
+				<form:input path="reserveBatches" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">供电区域:</label></td>
+			<td class="width-35">
+				<form:input path="blockSupply" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>网格编号:</label></td>
+			<td class="width-35">
+				<form:input path="gridNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>单元格编号:</label></td>
+			<td class="width-35">
+				<form:input path="cellNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目储备编号:</label></td>
+			<td class="width-35">
+				<form:input path="projectReserveId" htmlEscape="false"  readonly="true"  class="form-control required"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目名称:</label></td>
+			<td class="width-35">
+				<form:input path="projectName" htmlEscape="false"    class="form-control required"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>建设必要性及内容:</label></td>
+			<td class="width-35">
+				<form:input path="constructionNecessityAndContent" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">变电站名称:</label></td>
+			<td class="width-35">
+				<form:input path="substationName" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">线路名称:</label></td>
+			<td class="width-35">
+				<form:input path="circuitName" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">网架项目划分:</label></td>
+			<td class="width-35">
+				<form:input path="netRackProjectDivide" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">需求类型:</label></td>
+			<td class="width-35">
+				<form:input path="requirementType" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">费用估算:</label></td>
+			<td class="width-35">
+				<form:input path="costEstimate" htmlEscape="false"    class="form-control number money"/>
+			</td>
+			<td class="width-15 active"><label class="">备注:</label></td>
+			<td class="width-35">
+				<form:textarea path="basicRemarks" htmlEscape="false" rows="3" maxlength="200" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">储备进度:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">储备进度:</label></td>
+			<td class="width-35">
+				<form:input path="reserveProgress" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否纳入实施计划:</label></td>
+			<td class="width-35">
+				<form:input path="implementPlan" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">拟实施批次:</label></td>
+			<td class="width-35">
+				<form:input path="intendBatch" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">政处基本信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">供电所辖区:</label></td>
+			<td class="width-35">
+				<form:input path="powerSupplyArea" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">施工地点:</label></td>
+			<td class="width-35">
+				<form:input path="constructionSpot" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否含土建工作量:</label></td>
+			<td class="width-35">
+				<form:input path="includeCivilWork" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否含立杆工作量:</label></td>
+			<td class="width-35">
+				<form:input path="poleWorkload" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">项目经理:</label></td>
+			<td class="width-35">
+				<form:input path="projectManager" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">拟定施工单位:</label></td>
+			<td class="width-35">
+				<form:input path="proposedConstructionUnit" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否移交政处单位图纸:</label></td>
+			<td class="width-35">
+				<select id="overToGovernment" name="overToGovernment"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.overToGovernment=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.overToGovernment=='否'}">selected</c:if>>否</option>
+				</select>
+<%--				<form:input path="overToGovernment" htmlEscape="false" class="form-control"/>--%>
+			</td>
+			<td class="width-15 active"><label class="">是否存在政处:</label></td>
+			<td class="width-35">
+				<select id="governmentOffice" name="governmentOffice"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.governmentOffice=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.governmentOffice=='否'}">selected</c:if>>否</option>
+				</select>
+<%--				<form:input path="governmentOffice" htmlEscape="false" class="form-control"/>--%>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处描述:</label></td>
+			<td class="width-35">
+				<form:input path="officeDescription" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处难度:</label></td>
+			<td class="width-35">
+				<select id="administrativeDifficulty" name="administrativeDifficulty"  class="form-control">
+					<option value="">请选择</option>
+					<option value="无法解决" <c:if test="${reserveManagement.administrativeDifficulty=='无法解决'}">selected</c:if>>无法解决</option>
+					<option value="难" <c:if test="${reserveManagement.administrativeDifficulty=='难'}">selected</c:if>>难</option>
+					<option value="中" <c:if test="${reserveManagement.administrativeDifficulty=='中'}">selected</c:if>>中</option>
+					<option value="易" <c:if test="${reserveManagement.administrativeDifficulty=='易'}">selected</c:if>>易</option>
+				</select>
+<%--				<form:input path="administrativeDifficulty" htmlEscape="false" class="form-control"/>--%>
+			</td>
+		</tr>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">政处进度:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处对象数量:</label></td>
+			<td class="width-35">
+				<form:input path="administrativeObjectNumber" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处对象描述(产权单位):</label></td>
+			<td class="width-35">
+				<form:input path="propertyUnitOfficeDescription" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处类型:</label></td>
+			<td class="width-35">
+				<form:input path="officeType" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">启动政处时间:</label></td>
+			<td class="width-35">
+				<form:input path="startOfficeTime" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否需规划报批:</label></td>
+			<td class="width-35">
+				<select id="planApprovalRequire" name="planApprovalRequire"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.planApprovalRequire=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.planApprovalRequire=='否'}">selected</c:if>>否</option>
+				</select>
+<%--				<form:input path="planApprovalRequire" htmlEscape="false" class="form-control"/>--%>
+			</td>
+			<td class="width-15 active"><label class="">规划报批完成情况:</label></td>
+			<td class="width-35">
+				<select id="planApprovalCompletion" name="planApprovalCompletion"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.planApprovalCompletion=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.planApprovalCompletion=='否'}">selected</c:if>>否</option>
+				</select>
+<%--				<form:input path="planApprovalCompletion" htmlEscape="false" class="form-control"/>--%>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否需办理安评航评手续:</label></td>
+			<td class="width-35">
+				<select id="safetyReview" name="safetyReview"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.safetyReview=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.safetyReview=='否'}">selected</c:if>>否</option>
+				</select>
+<%--				<form:input path="safetyReview" htmlEscape="false" class="form-control"/>--%>
+			</td>
+			<td class="width-15 active"><label class="">安评完成情况:</label></td>
+			<td class="width-35">
+				<select id="safetyReviewCompletion" name="safetyReviewCompletion"  class="form-control">
+					<option value="">请选择</option>
+					<option value="未办理" <c:if test="${reserveManagement.safetyReviewCompletion=='未办理'}">selected</c:if>>未办理</option>
+					<option value="办理中" <c:if test="${reserveManagement.safetyReviewCompletion=='办理中'}">selected</c:if>>办理中</option>
+					<option value="已完成" <c:if test="${reserveManagement.safetyReviewCompletion=='已完成'}">selected</c:if>>已完成</option>
+				</select>
+<%--				<form:input path="safetyReviewCompletion" htmlEscape="false" class="form-control"/>--%>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处对象金额:</label></td>
+			<td class="width-35">
+				<form:input path="officeAmount" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否完成付款:</label></td>
+			<td class="width-35">
+				<select id="paymentCompleted" name="paymentCompleted"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.paymentCompleted=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.paymentCompleted=='否'}">selected</c:if>>否</option>
+				</select>
+<%--				<form:input path="paymentCompleted" htmlEscape="false" class="form-control"/>--%>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处进度:</label></td>
+			<td class="width-35">
+				<select id="officeProgress" name="officeProgress"  class="form-control">
+					<option value="">请选择</option>
+					<option value="未开展" <c:if test="${reserveManagement.officeProgress=='未开展'}">selected</c:if>>未开展</option>
+					<option value="洽谈中" <c:if test="${reserveManagement.officeProgress=='洽谈中'}">selected</c:if>>洽谈中</option>
+					<option value="无政处" <c:if test="${reserveManagement.officeProgress=='无政处'}">selected</c:if>>无政处</option>
+					<option value="本年度无法完成" <c:if test="${reserveManagement.officeProgress=='本年度无法完成'}">selected</c:if>>本年度无法完成</option>
+					<option value="已完成" <c:if test="${reserveManagement.officeProgress=='已完成'}">selected</c:if>>已完成</option>
+				</select>
+<%--				<form:input path="officeProgress" htmlEscape="false" class="form-control"/>--%>
+			</td>
+			<td class="width-15 active"><label class="">是否允许土建进场:</label></td>
+			<td class="width-35">
+				<select id="civilEngineeringApproach" name="civilEngineeringApproach"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.civilEngineeringApproach=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.civilEngineeringApproach=='否'}">selected</c:if>>否</option>
+				</select>
+<%--				<form:input path="civilEngineeringApproach" htmlEscape="false" class="form-control"/>--%>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否允许电气进场:</label></td>
+			<td class="width-35">
+				<select id="electricApproach" name="electricApproach"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.electricApproach=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.electricApproach=='否'}">selected</c:if>>否</option>
+				</select>
+<%--				<form:input path="electricApproach" htmlEscape="false" class="form-control"/>--%>
+			</td>
+			<td class="width-15 active"><label class="">是否允许开土建领料单:</label></td>
+			<td class="width-35">
+				<select id="civilConstructionMaterialOpen" name="civilConstructionMaterialOpen"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.civilConstructionMaterialOpen=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.civilConstructionMaterialOpen=='否'}">selected</c:if>>否</option>
+				</select>
+<%--				<form:input path="civilConstructionMaterialOpen" htmlEscape="false" class="form-control"/>--%>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否允许开电气领料单:</label></td>
+			<td class="width-35">
+				<select id="electricalPickListOpen" name="electricalPickListOpen"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.electricalPickListOpen=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.electricalPickListOpen=='否'}">selected</c:if>>否</option>
+				</select>
+<%--				<form:input path="electricalPickListOpen" htmlEscape="false" class="form-control"/>--%>
+			</td>
+			<td class="width-15 active"><label class="">政处进度-备注:</label></td>
+			<td class="width-35">
+				<form:input path="administrativeOfficeRemark" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		</tbody>
+	</table>
+</form:form>
+</body>
+</html>

+ 268 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveElectricityWork/reserveManagementForm.jsp

@@ -0,0 +1,268 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>新增带电作业信息</title>
+	<meta name="decorator" content="ani"/>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+
+	        $('#beginDate').datetimepicker({
+				 format: "YYYY-MM-DD HH:mm:ss"
+		    });
+	        $('#endDate').datetimepicker({
+				 format: "YYYY-MM-DD HH:mm:ss"
+		    });
+		});
+		function save() {
+		    var projectReserveId = $("#projectReserveId").val();
+		    var projectName = $("#projectName").val();
+		    var construct = $("#constructionNecessityAndContent").val();
+		    var dianWork = $("#workWithElectricity").val();
+		    var dianWorkType = $("#electricityTypeNumber").val();
+		    var dianWorkCount = $("#electricityWorkNumber").val();
+		    var noDianWork = $("#noStopWorkPlan").val();
+		    var faPlanner = $("#planner").val();
+		    var xcSiteSurveyor = $("#siteSurveyor").val();
+
+		    if (null==projectReserveId||""==projectReserveId){
+                jp.error("请填写项目储备编号!");
+			}else if(null==projectName||""==projectName){
+				jp.error("请填写项目名称!");
+			}else if (null==construct||""==construct){
+		    	jp.error("请填写建设必要性及内容!")
+			}else if (null==dianWork||""==dianWork){
+				jp.error("请填写是否带电作业!")
+			}else if (dianWork=='是'){
+				if (null==dianWorkType||dianWorkType==''){
+					jp.error("请选择带电作业类型编号!")
+				}else if (null==dianWorkCount||dianWorkCount==''){
+					jp.error("请填写带电作业次数!")
+				}else if (null==noDianWork||noDianWork==""){
+					jp.error("请填写不停电作业方案!")
+				}
+			}else if (null==faPlanner||faPlanner==''){
+				jp.error("请填写方案编制人!")
+			}else if (null==xcSiteSurveyor||xcSiteSurveyor==''){
+				jp.error("请填写现场查勘人!")
+			}
+
+
+		    else {
+                var isValidate = jp.validateForm('#inputForm');//校验表单
+                if(!isValidate){
+                    return false;
+                }else{
+                    jp.loading();
+                    jp.post("${ctx}/cg/reservemanagementcenter/reserveElectricityWork/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="reserveManagement" class="form-horizontal">
+	<form:hidden path="id"/>
+	<table class="table table-bordered">
+		<tbody>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">储备项目基本信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">项目年份:</label></td>
+			<td class="width-35">
+				<form:input path="projectYear" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目性质:</label></td>
+			<td class="width-35">
+				<form:input path="projectNature" htmlEscape="false" class="form-control"/>
+			</td>
+
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">需求单位:</label></td>
+			<td class="width-35">
+				<form:input path="demandUnit" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域:</label></td>
+			<td class="width-35">
+				<form:input path="district" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目分组:</label></td>
+			<td class="width-35">
+				<form:input path="projectGroup" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">储备批次:</label></td>
+			<td class="width-35">
+				<form:input path="reserveBatches" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">供电区域:</label></td>
+			<td class="width-35">
+				<form:input path="blockSupply" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>网格编号:</label></td>
+			<td class="width-35">
+				<form:input path="gridNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>单元格编号:</label></td>
+			<td class="width-35">
+				<form:input path="cellNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目储备编号:</label></td>
+			<td class="width-35">
+				<form:input path="projectReserveId" htmlEscape="false"  readonly="true"  class="form-control required"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目名称:</label></td>
+			<td class="width-35">
+				<form:input path="projectName" htmlEscape="false"    class="form-control required"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>建设必要性及内容:</label></td>
+			<td class="width-35">
+				<form:input path="constructionNecessityAndContent" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">变电站名称:</label></td>
+			<td class="width-35">
+				<form:input path="substationName" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">线路名称:</label></td>
+			<td class="width-35">
+				<form:input path="circuitName" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">网架项目划分:</label></td>
+			<td class="width-35">
+				<form:input path="netRackProjectDivide" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">需求类型:</label></td>
+			<td class="width-35">
+				<form:input path="requirementType" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">费用估算:</label></td>
+			<td class="width-35">
+				<form:input path="costEstimate" htmlEscape="false"    class="form-control number money"/>
+			</td>
+			<td class="width-15 active"><label class="">备注:</label></td>
+			<td class="width-35">
+				<form:textarea path="basicRemarks" htmlEscape="false" rows="3" maxlength="200" class="form-control"/>
+			</td>
+		</tr>
+
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">带电作业信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">储备进度:</label></td>
+			<td class="width-35">
+				<form:input path="reserveProgress" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否纳入实施计划:</label></td>
+			<td class="width-35">
+				<form:input path="implementPlan" readonly="true" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">初定实施批次:</label></td>
+			<td class="width-35">
+				<form:input path="implementBatch" readonly="true" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否变压器或打包项目:</label></td>
+			<td class="width-35">
+				<form:input path="teansFormerOrPackageProject" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否打包项目:</label></td>
+			<td class="width-35">
+				<form:input path="packageProject" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">打包项目设备数量:</label></td>
+			<td class="width-35">
+				<form:input path="packageItemQuantity" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">设备名称:</label></td>
+			<td class="width-35">
+				<form:input path="deviceName" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>是否带电作业:</label></td>
+			<td class="width-35">
+				<select id="workWithElectricity" name="workWithElectricity"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.workWithElectricity=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.workWithElectricity=='否'}">selected</c:if>>否</option>
+				</select>
+					<%--				<form:input path="workWithElectricity" htmlEscape="false" class="form-control"/>--%>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">带电作业类型编号:</label></td>
+			<td class="width-35">
+				<form:select path="electricityTypeNumber" class="form-control m-b">--%>
+					<form:option value="" label="请选择"/>
+					<form:options items="${fns:getDictList('electricityType')}" itemLabel="label" itemValue="value"
+								  htmlEscape="false"/>
+				</form:select>
+			</td>
+			<td class="width-15 active"><label class="">带电作业次数:</label></td>
+			<td class="width-35">
+				<form:input path="electricityWorkNumber" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">不停电作业方案:</label></td>
+			<td class="width-35">
+				<form:input path="noStopWorkPlan" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">无法不停电作业原因:</label></td>
+			<td class="width-35">
+				<form:input path="reasonsForNotWorkInterruption" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">停电作业方案:</label></td>
+			<td class="width-35">
+				<form:input path="powerOutagePlan" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>方案编制人:</label></td>
+			<td class="width-35">
+				<form:input path="planner" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>现场查勘人:</label></td>
+			<td class="width-35">
+				<form:input path="siteSurveyor" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		</tbody>
+	</table>
+</form:form>
+</body>
+</html>

+ 434 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveElectricityWork/reserveManagementInformation.js

@@ -0,0 +1,434 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script >
+$(document).ready(function () {
+    $('#projectTable').bootstrapTable({
+        //请求方法
+        method: 'post',
+        //类型json
+        dataType: "json",
+        contentType: "application/x-www-form-urlencoded",
+        //显示检索按钮
+        showSearch: true,
+        //显示刷新按钮
+        showRefresh: true,
+        //显示切换手机试图按钮
+        showToggle: true,
+        //显示 内容列下拉框
+        showColumns: true,
+        //显示到处按钮
+        showExport: true,
+        //显示切换分页按钮
+        showPaginationSwitch: true,
+        //最低显示2行
+        minimumCountColumns: 2,
+        //是否显示行间隔色
+        striped: true,
+        //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+        cache: false,
+        //是否显示分页(*)
+        pagination: true,
+        //排序方式
+        sortOrder: "asc",
+        //初始化加载第一页,默认第一页
+        pageNumber: 1,
+        //每页的记录行数(*)
+        pageSize: 5,
+        //可供选择的每页的行数(*)
+        pageList: [5, 10, 25, 50, 100],
+        //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+        url: "${ctx}/cg/reservemanagementcenter/reserveElectricityWork/list",
+        //默认值为 '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}/cg/reservemanagementcenter/project/delete?id=" + row.id, function (data) {
+                        if (data.success) {
+                            $('#projectTable').bootstrapTable('refresh');
+                            jp.success(data.msg);
+                        } else {
+                            jp.error(data.msg);
+                        }
+                    })
+                });
+            }
+        },
+
+        onClickRow: function (row, $el) {
+        },
+        onShowSearch: function () {
+            $("#search-collapse").slideToggle();
+        },
+        columns:
+            [
+                {
+                    checkbox: true,
+                    width:36,
+
+                },
+                {
+                    field: 'projectYear',
+                    width: 65,
+                    title: '项目</br>年份',
+                }
+                , {
+                    field: 'projectNature',
+                    width:65,
+                    title: '项目</br>性质',
+
+                },{
+                    field: 'demandUnit',
+                    width:70,
+                    title: '需求</br>单位',
+
+                },{
+                    field: 'district',
+                    width:60,
+                    title: '区域',
+
+                },{
+                    field: 'projectGroup',
+                    width:70,
+                    title: '项目</br>分组',
+
+                },{
+                    field: 'reserveBatches',
+                    width:70,
+                    title: '储备</br>批次',
+
+                },{
+                    field: 'blockSupply',
+                    width:60,
+                    title: '供电</br>区域',
+
+                },{
+                    field: 'gridNumber',
+                    width:90,
+                    title: '网格编号',
+
+                },{
+                    field: 'cellNumber',
+                    width:100,
+                    title: '单元格编号',
+
+                },{
+                    field: 'projectReserveId',
+                    width:150,
+                    title: '项目储备编号',
+
+                    formatter:function(value, row , index){
+                        if(value == null || value ==""){
+                            value = "-";
+                        }
+                    <c:choose>
+                        <c:when test="${fns:hasPermission('cg:reservemanagementcenter:reserveElectricityWork:view')}">
+                        return "<a href='javascript:view(\""+row.id+"\")'>"+value+"</a>";
+                    </c:when>
+                        <c:otherwise>
+                        return value;
+                    </c:otherwise>
+                        </c:choose>
+
+                    }
+                },{
+                    field: 'projectName',
+                    width:200,
+                    title: '项目名称',
+
+                },{
+                    field: 'constructionNecessityAndContent',
+                    width:400,
+                    title: '建设必要性及内容',
+
+                },{
+                    field: 'substationName',
+                    width:80,
+                    title: '变电站</br>名称',
+
+                },{
+                    field: 'circuitName',
+                    width:100,
+                    title: '线路名称',
+
+                },{
+                    field: 'netRackProjectDivide',
+                    width:80,
+                    title: '网架项目</br>划分',
+
+                },{
+                    field: 'requirementType',
+                    width:100,
+                    title: '需求类型',
+
+                },{
+                    field: 'costEstimate',
+                    width:80,
+                    title: '费用</br>估算',
+
+                },{
+                    field: 'basicRemarks',
+                    width:200,
+                    title: '备注',
+
+                },{
+                    field: 'reserveProgress',
+                    width:80,
+                    title: '储备</br>进度',
+
+                },{
+                    field: 'implementPlan',
+                    width:100,
+                    title: '是否纳入</br>实施计划',
+
+                },{
+                    field: 'implementBatch',
+                    width:100,
+                    title: '初定实施</br>批次',
+
+                },
+
+                {
+                    field: 'teansFormerOrPackageProject',
+                    width:80,
+                    title: '是否</br>变压</br>器或</br>打包</br>项目',
+
+                },{
+                    field: 'packageProject',
+                    width:80,
+                    title: '是否</br>打包</br>项目',
+
+                },{
+                    field: 'packageItemQuantity',
+                    width:80,
+                    title: '打包</br>项目</br>设备</br>数量',
+
+                },{
+                    field: 'deviceName',
+                    width:80,
+                    title: '设备名称',
+
+                },{
+                    field: 'workWithElectricity',
+                    width:80,
+                    title: '是否带电</br>作业',
+                },
+                {
+                    field: 'electricityTypeNumber',
+                    width:80,
+                    title: '带电</br>作业</br>类型编号',
+                },
+                {
+                    field: 'electricityWorkNumber',
+                    width:80,
+                    title: '带电</br>作业</br>次数',
+                },
+                {
+                    field: 'noStopWorkPlan',
+                    width:80,
+                    title: '不停电</br>作业</br>方案',
+                },
+                {
+                    field: 'reasonsForNotWorkInterruption',
+                    width:80,
+                    title: '无法</br>不停电</br>作业</br>原因',
+                },
+                {
+                    field: 'powerOutagePlan',
+                    width:80,
+                    title: '停电</br>作业</br>方案',
+                },
+                {
+                    field: 'planner',
+                    width:80,
+                    title: '方案</br>编制人',
+                },
+                {
+                    field: 'siteSurveyor',
+                    width:80,
+                    title: '现场</br>查勘人',
+                },
+        ]
+    });
+
+
+    if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {//如果是移动端
+        $('#projectTable').bootstrapTable("toggleView");
+    }
+
+    $('#projectTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+        'check-all.bs.table uncheck-all.bs.table', function () {
+        $('#remove').prop('disabled', !$('#projectTable').bootstrapTable('getSelections').length);
+        $('#view,#edit,#jlEdit').prop('disabled', $('#projectTable').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) {
+                var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                iframeWin.contentWindow.importExcel('${ctx}/cg/reservemanagementcenter/reserveElectricityWork/import', function (data) {
+                    if (data.success) {
+                        jp.success(data.msg);
+                        refresh();
+                    } else {
+                        jp.error(data.msg);
+                    }
+                    jp.close(index);
+                });//调用保存事件
+                return false;
+            },
+            btn2: function (index) {
+                //  jp.close(index);
+            }
+        });
+    });
+
+    $("#jlImport").click(function () {
+        jp.open({
+            type: 2,
+            area: [500, 200],
+            auto: true,
+            title: "导入数据",
+            content: "${ctx}/tag/importExcel",
+            btn: ['确定', '关闭'],
+            btn1: function (index, layero) {
+                var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                iframeWin.contentWindow.importExcel('${ctx}/cg/reservemanagementcenter/reserveElectricityWork/jlImport', function (data) {
+                    if (data.success) {
+                        jp.success(data.msg);
+                        refresh();
+                    } else {
+                        jp.error(data.msg);
+                    }
+                    jp.close(index);
+                });//调用保存事件
+                return false;
+            },
+
+            btn2: function (index) {
+                //  jp.close(index);
+            }
+        });
+    });
+
+    $("#btnExport").click(function () {
+        var projectReserveId = $("#projectReserveId").val();
+        var projectName = $("#projectName").val();
+        jp.downloadFile('${ctx}/cg/reservemanagementcenter/reserveElectricityWork/export?projectReserveId=' + projectReserveId + '&projectName=' + projectName);
+    });
+
+    $("#search").click("click", function () {// 绑定查询按扭
+        $('#projectTable').bootstrapTable('refresh');
+    });
+
+    $("#reset").click("click", function () {// 绑定查询按扭
+        $("#searchForm  input").val("");
+        $("#searchForm  select").val("");
+        $("#searchForm  .select-item").html("");
+        $('#projectTable').bootstrapTable('refresh');
+    });
+
+    $('#beginBeginDate').datetimepicker({
+        format: "YYYY-MM-DD HH:mm:ss"
+    });
+    $('#endBeginDate').datetimepicker({
+        format: "YYYY-MM-DD HH:mm:ss"
+    });
+    $('#endDate').datetimepicker({
+        format: "YYYY-MM-DD HH:mm:ss"
+    });
+});
+
+function getIdSelections() {
+    return $.map($("#projectTable").bootstrapTable('getSelections'), function (row) {
+        return row.id
+    });
+}
+
+
+//刷新列表
+function refresh() {
+    $('#projectTable').bootstrapTable('refresh');
+}
+
+function add() {
+    jp.openSaveDialog('新增储备项目基本信息', "${ctx}/cg/reservemanagementcenter/reserveElectricityWork/form", '800px', '500px');
+}
+
+
+function edit(id) {//没有权限时,不显示确定按钮
+    if (id == undefined) {
+        id = getIdSelections();
+    }
+    jp.openSaveDialog('编辑储备项目基本信息', "${ctx}/cg/reservemanagementcenter/reserveElectricityWork/form?id=" + id, '800px', '500px');
+}
+
+function jlEdit(id) {//没有权限时,不显示确定按钮
+    if (id == undefined) {
+        id = getIdSelections();
+    }
+    jp.openSaveDialog('编辑储备项目基本信息', "${ctx}/cg/reservemanagementcenter/reserveElectricityWork/jlEdit?id=" + id, '800px', '500px');
+}
+
+function view(id) {//没有权限时,不显示确定按钮
+    if (id == undefined) {
+        id = getIdSelections();
+    }
+    jp.openViewDialog('查看储备项目基本信息', "${ctx}/cg/reservemanagementcenter/reserveElectricityWork/view?id=" + id, '800px', '500px');
+}
+
+function deleteAll(){
+
+    jp.confirm('确认要删除该储备项目基本信息吗?', function(){
+        jp.loading();
+        jp.get("${ctx}/cg/reservemanagementcenter/reserveElectricityWork/deleteAll?ids=" + getIdSelections(), function(data){
+            if(data.success){
+                $('#projectTable').bootstrapTable('refresh');
+                jp.success(data.msg);
+            }else{
+                jp.error(data.msg);
+            }
+        })
+
+    })
+}
+//转换日期格式(时间戳转换为datetime格式)
+function changeDateFormat(cellval) {
+    var dateVal = cellval + "";
+    if (cellval != null) {
+        var date = new Date(parseInt(dateVal.replace("/Date(", "").replace(")/", ""), 10));
+        var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
+        var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
+
+        /*var hours = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
+        var minutes = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
+        var seconds = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();*/
+
+        return date.getFullYear() + "-" + month + "-" + currentDate /*+ " " + hours + ":" + minutes + ":" + seconds*/;
+    }
+}
+
+</script>

+ 98 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveElectricityWork/reserveManagementInformation.jsp

@@ -0,0 +1,98 @@
+<%@ 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="reserveManagementInformation.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="reserveManagement" 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="projectReserveId" htmlEscape="false" maxlength="100"  class=" form-control"/>
+					</div>
+					<div class="col-xs-12 col-sm-6 col-md-4">
+						<label class="label-item single-overflow pull-left" title="项目名称:">项目名称:</label>
+						<form:input path="projectName" htmlEscape="false" maxlength="100"  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">
+			<shiro:hasPermission name="cg:reservemanagementcenter:reserveElectricityWork:add">
+				<button id="add" class="btn btn-primary" onclick="add()">
+					<i class="glyphicon glyphicon-plus"></i> 新增
+				</button>
+			</shiro:hasPermission>
+			<shiro:hasPermission name="cg:reservemanagementcenter:reserveElectricityWork:edit">
+				<button id="edit" class="btn btn-primary" onclick="edit()">
+					<i class="glyphicon glyphicon-edit"></i> 修改 <!--专职修改-->
+				</button>
+			</shiro:hasPermission>
+<%--			<shiro:hasPermission name="sg:managementcenter:reserveManagement:jlEdit">
+				<button id="jlEdit" class="btn btn-primary" onclick="jlEdit()">
+					<i class="glyphicon glyphicon-edit"></i> 修改 <!--经理修改-->
+				</button>
+			</shiro:hasPermission>--%>
+			<shiro:hasPermission name="cg:reservemanagementcenter:reserveElectricityWork:del">
+				<button id="remove" class="btn btn-danger" onclick="deleteAll()">
+					<i class="glyphicon glyphicon-remove"></i> 删除
+				</button>
+			</shiro:hasPermission>
+			<shiro:hasPermission name="cg:reservemanagementcenter:reserveElectricityWork:import">
+				<button id="btnImport" class="btn btn-info">
+					<i class="fa fa-folder-open-o"></i> 导入  <!--专职导入-->
+				</button>
+			</shiro:hasPermission>
+<%--			<shiro:hasPermission name="sg:managementcenter:reserveManagement:jlImport">
+				<button id="jlImport" class="btn btn-info">
+					<i class="fa fa-folder-open-o"></i> 导入  <!--经理导入-->
+				</button>
+			</shiro:hasPermission>--%>
+			<shiro:hasPermission name="cg:reservemanagementcenter:reserveElectricityWork:export">
+				<button id="btnExport" class="btn btn-warning">
+					<i class="fa fa-file-excel-o"></i> 导出
+				</button>
+			</shiro:hasPermission>
+		    </div>
+	<!-- 表格 -->
+	<table id="projectTable" style="table-layout:fixed" class="table" data-toolbar="#toolbar"></table>
+
+	</div>
+	</div>
+	</div>
+</body>
+</html>

+ 337 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveElectricityWork/reserveManagementModifyByjl.jsp

@@ -0,0 +1,337 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>项目储备信息</title>
+	<meta name="decorator" content="ani"/>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+			$('#disclosureFinishDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+		});
+		function save() {
+			var isValidate = jp.validateForm('#inputForm');//校验表单
+			if(!isValidate){
+				return false;
+			}else{
+				jp.loading();
+				jp.post("${ctx}/sg/managementCenter/reserveManagement/jlUpdate",$('#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="reserveManagement" class="form-horizontal">
+	<form:hidden path="id"/>
+	<table class="table table-bordered">
+		<tbody>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">方案交底组织:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">交底牵头部门:</label></td>
+			<td class="width-35">
+				<form:input path="disclosureToCoordinate" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">交底参与部门:</label></td>
+			<td class="width-35">
+				<form:input path="disclosureParticipate" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否完成交底:</label></td>
+			<td class="width-35">
+				<select id="whetherFinishDisclosure" name="whetherFinishDisclosure"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.whetherFinishDisclosure=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.whetherFinishDisclosure=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">项目管理中心人员:</label></td>
+			<td class="width-35">
+				<form:input path="projectManagementPeople" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">设计院人员:</label></td>
+			<td class="width-35">
+				<form:input path="designingInstitutePeople" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">经研所人员:</label></td>
+			<td class="width-35">
+				<form:input path="ifoPeople" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域中心人员:</label></td>
+			<td class="width-35">
+				<form:input path="regionalCenterPeople" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">不停电作业中心人员:</label></td>
+			<td class="width-35">
+				<form:input path="uninterruptedOperationPeople" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">作业方式:</label></td>
+			<td class="width-35">
+				<form:input path="workMode" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">交底完成日期:</label></td>
+			<td class="width-35">
+				<div class='input-group form_datetime' id='disclosureFinishDate'>
+					<input type='text'  name="disclosureFinishDate" class="form-control required"  value="<fmt:formatDate value="${reserveManagement.disclosureFinishDate}" 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="">备注:</label></td>
+			<td class="width-35">
+				<form:textarea path="disclosureRemarks" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+
+
+
+
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">方案交底结论:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">立项说明:</label></td>
+			<td class="width-35">
+				<form:textarea path="projectDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">不具备立项条件说明:</label></td>
+			<td class="width-35">
+				<form:textarea path="doNotPossessProjectDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">方案变更说明:</label></td>
+			<td class="width-35">
+				<form:textarea path="changedProgramsExplain" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处难度初判:</label></td>
+			<td class="width-35">
+				<form:input path="initialDifficulty" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有资本设备:</label></td>
+			<td class="width-35">
+				<select id="capitalEquipment" name="capitalEquipment"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.capitalEquipment=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.capitalEquipment=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否有变电站新出线:</label></td>
+			<td class="width-35">
+				<select id="substationNewLine" name="substationNewLine"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.substationNewLine=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.substationNewLine=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否已实施:</label></td>
+			<td class="width-35">
+				<select id="whetherImplement" name="whetherImplement"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.whetherImplement=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.whetherImplement=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">现场情况描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="fieldDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有实施必要性:</label></td>
+			<td class="width-35">
+				<select id="necessaryOfImplementation" name="necessaryOfImplementation"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.necessaryOfImplementation=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.necessaryOfImplementation=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">实施无必要描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="unnecessaryDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否存在前置条件:</label></td>
+			<td class="width-35">
+				<select id="precondition" name="precondition"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.precondition=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.precondition=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">前置条件描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="conditionsDescribed" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否存在施工方案问题:</label></td>
+			<td class="width-35">
+				<select id="constructionSchemeProblem" name="constructionSchemeProblem"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.constructionSchemeProblem=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.constructionSchemeProblem=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">施工方案问题描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="problemDescriptionOfConstructionScheme" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">现场是否存在安全隐患:</label></td>
+			<td class="width-35">
+				<select id="existingSecurityThreat" name="existingSecurityThreat"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.existingSecurityThreat=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.existingSecurityThreat=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">安全隐患描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="safetyHazardDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否需要定制物资:</label></td>
+			<td class="width-35">
+				<select id="customizedMaterials" name="customizedMaterials"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.customizedMaterials=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.customizedMaterials=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">定制物资描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="materialDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有拆旧物资:</label></td>
+			<td class="width-35">
+				<select id="dismantlingTheOldMaterial" name="dismantlingTheOldMaterial"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.dismantlingTheOldMaterial=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.dismantlingTheOldMaterial=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">作业方式:</label></td>
+			<td class="width-35">
+				<form:input path="operatingType" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有土建工作量:</label></td>
+			<td class="width-35">
+				<select id="civilWork" name="civilWork"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.civilWork=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.civilWork=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">停电问题描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="problemDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有立杆工作量:</label></td>
+			<td class="width-35">
+				<select id="verticalRodWorkload" name="verticalRodWorkload"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.verticalRodWorkload=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.verticalRodWorkload=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">总工作量描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="totalWorkloadDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域中心:</label></td>
+			<td class="width-35">
+				<form:input path="regionalCenter" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">供电所辖区:</label></td>
+			<td class="width-35">
+				<form:input path="powerSupplyArea" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处地点:</label></td>
+			<td class="width-35">
+				<form:input path="zhengLocation" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处类型(可多类):</label></td>
+			<td class="width-35">
+				<form:input path="zhengType" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处对象(产权单位):</label></td>
+			<td class="width-35">
+				<form:input path="zhengObject" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="zhengDescribe" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否需规划报批:</label></td>
+			<td class="width-35">
+				<select id="projectApproval" name="projectApproval" class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.projectApproval=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.projectApproval=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否需办理安评航评手续:</label></td>
+			<td class="width-35">
+				<select id="courseEvaluationProcedures" name="courseEvaluationProcedures" class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.courseEvaluationProcedures=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.courseEvaluationProcedures=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处难点提醒:</label></td>
+			<td class="width-35">
+				<form:textarea path="zhengDifficultyWarn" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		</tbody>
+	</table>
+</form:form>
+</body>
+</html>

+ 267 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveElectricityWork/reserveManagementModifyByzz.jsp

@@ -0,0 +1,267 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>修改带电作业信息</title>
+	<meta name="decorator" content="ani"/>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+
+	        $('#beginDate').datetimepicker({
+				 format: "YYYY-MM-DD HH:mm:ss"
+		    });
+	        $('#endDate').datetimepicker({
+				 format: "YYYY-MM-DD HH:mm:ss"
+		    });
+		});
+		function save() {
+			var projectReserveId = $("#projectReserveId").val();
+			var projectName = $("#projectName").val();
+			var construct = $("#constructionNecessityAndContent").val();
+			var dianWork = $("#workWithElectricity").val();
+			var dianWorkType = $("#electricityTypeNumber").val();
+			var dianWorkCount = $("#electricityWorkNumber").val();
+			var noDianWork = $("#noStopWorkPlan").val();
+			var faPlanner = $("#planner").val();
+			var xcSiteSurveyor = $("#siteSurveyor").val();
+
+			if (null==projectReserveId||""==projectReserveId){
+				jp.error("请填写项目储备编号!");
+			}else if(null==projectName||""==projectName){
+				jp.error("请填写项目名称!");
+			}else if (null==construct||""==construct){
+				jp.error("请填写建设必要性及内容!")
+			}else if (null==dianWork||""==dianWork){
+				jp.error("请填写是否带电作业!")
+			}else if (dianWork=='是' & (null==dianWorkType||dianWorkType=='')){
+				jp.error("请选择带电作业类型编号!")
+			}else if (dianWork=='是' &(null==dianWorkCount || dianWorkCount =='')){
+				jp.error("请填写带电作业次数!")
+			}else if (dianWork=='是' &(null==noDianWork || noDianWork =='')){
+				jp.error("请填写不停电作业方案!")
+			}
+			else if (null==faPlanner||faPlanner==''){
+				jp.error("请填写方案编制人!")
+			}else if (null==xcSiteSurveyor||xcSiteSurveyor==''){
+				jp.error("请填写现场查勘人!")
+			}
+
+
+		    else {
+                var isValidate = jp.validateForm('#inputForm');//校验表单
+                if(!isValidate){
+                    return false;
+                }else{
+                    jp.loading();
+                    jp.post("${ctx}/cg/reservemanagementcenter/reserveElectricityWork/update",$('#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="reserveManagement" class="form-horizontal">
+	<form:hidden path="id"/>
+	<table class="table table-bordered">
+		<tbody>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">储备项目基本信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">项目年份:</label></td>
+			<td class="width-35">
+				<form:input path="projectYear" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目性质:</label></td>
+			<td class="width-35">
+				<form:input path="projectNature" htmlEscape="false" class="form-control"/>
+			</td>
+
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">需求单位:</label></td>
+			<td class="width-35">
+				<form:input path="demandUnit" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域:</label></td>
+			<td class="width-35">
+				<form:input path="district" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目分组:</label></td>
+			<td class="width-35">
+				<form:input path="projectGroup" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">储备批次:</label></td>
+			<td class="width-35">
+				<form:input path="reserveBatches" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">供电区域:</label></td>
+			<td class="width-35">
+				<form:input path="blockSupply" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>网格编号:</label></td>
+			<td class="width-35">
+				<form:input path="gridNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>单元格编号:</label></td>
+			<td class="width-35">
+				<form:input path="cellNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目储备编号:</label></td>
+			<td class="width-35">
+				<form:input path="projectReserveId" htmlEscape="false"  readonly="true"  class="form-control required"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目名称:</label></td>
+			<td class="width-35">
+				<form:input path="projectName" htmlEscape="false"    class="form-control required"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>建设必要性及内容:</label></td>
+			<td class="width-35">
+				<form:input path="constructionNecessityAndContent" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">变电站名称:</label></td>
+			<td class="width-35">
+				<form:input path="substationName" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">线路名称:</label></td>
+			<td class="width-35">
+				<form:input path="circuitName" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">网架项目划分:</label></td>
+			<td class="width-35">
+				<form:input path="netRackProjectDivide" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">需求类型:</label></td>
+			<td class="width-35">
+				<form:input path="requirementType" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">费用估算:</label></td>
+			<td class="width-35">
+				<form:input path="costEstimate" htmlEscape="false"    class="form-control number money"/>
+			</td>
+			<td class="width-15 active"><label class="">备注:</label></td>
+			<td class="width-35">
+				<form:textarea path="basicRemarks" htmlEscape="false" rows="3" maxlength="200" class="form-control"/>
+			</td>
+		</tr>
+
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">带电作业信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">储备进度:</label></td>
+			<td class="width-35">
+				<form:input path="reserveProgress" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否纳入实施计划:</label></td>
+			<td class="width-35">
+				<form:input path="implementPlan" readonly="true" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">初定实施批次:</label></td>
+			<td class="width-35">
+				<form:input path="implementBatch" readonly="true" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否变压器或打包项目:</label></td>
+			<td class="width-35">
+				<form:input path="teansFormerOrPackageProject" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否打包项目:</label></td>
+			<td class="width-35">
+				<form:input path="packageProject" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">打包项目设备数量:</label></td>
+			<td class="width-35">
+				<form:input path="packageItemQuantity" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">设备名称:</label></td>
+			<td class="width-35">
+				<form:input path="deviceName" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>是否带电作业:</label></td>
+			<td class="width-35">
+				<select id="workWithElectricity" name="workWithElectricity"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.workWithElectricity=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.workWithElectricity=='否'}">selected</c:if>>否</option>
+				</select>
+<%--				<form:input path="workWithElectricity" htmlEscape="false" class="form-control"/>--%>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">带电作业类型编号:</label></td>
+			<td class="width-35">
+				<form:select path="electricityTypeNumber" class="form-control m-b">--%>
+					<form:option value="" label="请选择"/>
+					<form:options items="${fns:getDictList('electricityType')}" itemLabel="label" itemValue="value"
+								  htmlEscape="false"/>
+				</form:select>
+			</td>
+			<td class="width-15 active"><label class="">带电作业次数:</label></td>
+			<td class="width-35">
+				<form:input path="electricityWorkNumber" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">不停电作业方案:</label></td>
+			<td class="width-35">
+				<form:input path="noStopWorkPlan" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">无法不停电作业原因:</label></td>
+			<td class="width-35">
+				<form:input path="reasonsForNotWorkInterruption" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">停电作业方案:</label></td>
+			<td class="width-35">
+				<form:input path="powerOutagePlan" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>方案编制人:</label></td>
+			<td class="width-35">
+				<form:input path="planner" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>现场查勘人:</label></td>
+			<td class="width-35">
+				<form:input path="siteSurveyor" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		</tbody>
+	</table>
+</form:form>
+</body>
+</html>

+ 229 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveElectricityWork/reserveManagementView.jsp

@@ -0,0 +1,229 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>项目储备信息</title>
+	<meta name="decorator" content="ani"/>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+			$('#disclosureFinishDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+		});
+		function save() {
+			var isValidate = jp.validateForm('#inputForm');//校验表单
+			if(!isValidate){
+				return false;
+			}else{
+				/*jp.loading();
+				jp.post("${ctx}/sg/managementCenter/reserveManagement/update",$('#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="reserveManagement" class="form-horizontal">
+	<form:hidden path="id"/>
+	<table class="table table-bordered">
+		<tbody>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">储备项目基本信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">项目年份:</label></td>
+			<td class="width-35">
+				<form:input path="projectYear" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目性质:</label></td>
+			<td class="width-35">
+				<form:input path="projectNature" htmlEscape="false" class="form-control"/>
+			</td>
+
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">需求单位:</label></td>
+			<td class="width-35">
+				<form:input path="demandUnit" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域:</label></td>
+			<td class="width-35">
+				<form:input path="district" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目分组:</label></td>
+			<td class="width-35">
+				<form:input path="projectGroup" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">储备批次:</label></td>
+			<td class="width-35">
+				<form:input path="reserveBatches" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">供电区域:</label></td>
+			<td class="width-35">
+				<form:input path="blockSupply" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>网格编号:</label></td>
+			<td class="width-35">
+				<form:input path="gridNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>单元格编号:</label></td>
+			<td class="width-35">
+				<form:input path="cellNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目储备编号:</label></td>
+			<td class="width-35">
+				<form:input path="projectReserveId" htmlEscape="false"  readonly="true"  class="form-control required"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目名称:</label></td>
+			<td class="width-35">
+				<form:input path="projectName" htmlEscape="false"    class="form-control required"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>建设必要性及内容:</label></td>
+			<td class="width-35">
+				<form:input path="constructionNecessityAndContent" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">变电站名称:</label></td>
+			<td class="width-35">
+				<form:input path="substationName" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">线路名称:</label></td>
+			<td class="width-35">
+				<form:input path="circuitName" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">网架项目划分:</label></td>
+			<td class="width-35">
+				<form:input path="netRackProjectDivide" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">需求类型:</label></td>
+			<td class="width-35">
+				<form:input path="requirementType" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">费用估算:</label></td>
+			<td class="width-35">
+				<form:input path="costEstimate" htmlEscape="false"    class="form-control number money"/>
+			</td>
+			<td class="width-15 active"><label class="">备注:</label></td>
+			<td class="width-35">
+				<form:textarea path="basicRemarks" htmlEscape="false" rows="3" maxlength="200" class="form-control"/>
+			</td>
+		</tr>
+
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">带电作业信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">储备进度:</label></td>
+			<td class="width-35">
+				<form:input path="reserveProgress" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否纳入实施计划:</label></td>
+			<td class="width-35">
+				<form:input path="implementPlan" readonly="true" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">初定实施批次:</label></td>
+			<td class="width-35">
+				<form:input path="implementBatch" readonly="true" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否变压器或打包项目:</label></td>
+			<td class="width-35">
+				<form:input path="teansFormerOrPackageProject" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否打包项目:</label></td>
+			<td class="width-35">
+				<form:input path="packageProject" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">打包项目设备数量:</label></td>
+			<td class="width-35">
+				<form:input path="packageItemQuantity" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">设备名称:</label></td>
+			<td class="width-35">
+				<form:input path="deviceName" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>是否带电作业:</label></td>
+			<td class="width-35">
+				<select id="workWithElectricity" name="workWithElectricity"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.workWithElectricity=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.workWithElectricity=='否'}">selected</c:if>>否</option>
+				</select>
+					<%--				<form:input path="workWithElectricity" htmlEscape="false" class="form-control"/>--%>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">带电作业类型编号:</label></td>
+			<td class="width-35">
+				<form:select path="electricityTypeNumber" class="form-control m-b">--%>
+					<form:option value="" label="请选择"/>
+					<form:options items="${fns:getDictList('electricityType')}" itemLabel="label" itemValue="value"
+								  htmlEscape="false"/>
+				</form:select>
+			</td>
+			<td class="width-15 active"><label class="">带电作业次数:</label></td>
+			<td class="width-35">
+				<form:input path="electricityWorkNumber" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">不停电作业方案:</label></td>
+			<td class="width-35">
+				<form:input path="noStopWorkPlan" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">无法不停电作业原因:</label></td>
+			<td class="width-35">
+				<form:input path="reasonsForNotWorkInterruption" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">停电作业方案:</label></td>
+			<td class="width-35">
+				<form:input path="powerOutagePlan" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>方案编制人:</label></td>
+			<td class="width-35">
+				<form:input path="planner" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>现场查勘人:</label></td>
+			<td class="width-35">
+				<form:input path="siteSurveyor" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		</tbody>
+	</table>
+</form:form>
+</body>
+</html>

+ 224 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveManage/reserveManagementForm.jsp

@@ -0,0 +1,224 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>修改项目储备基本信息</title>
+	<meta name="decorator" content="ani"/>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+
+	        $('#beginDate').datetimepicker({
+				 format: "YYYY-MM-DD HH:mm:ss"
+		    });
+	        $('#endDate').datetimepicker({
+				 format: "YYYY-MM-DD HH:mm:ss"
+		    });
+		});
+		function save() {
+		    var projectReserveId = $("#projectReserveId").val();
+		    var projectName = $("#projectName").val();
+		    var construct = $("#constructionNecessityAndContent").val();
+		    var requester = $("#requester").val();
+		    var owner = $("#ownerReserveFullTime").val();
+		    var ownerDistribut = $("#ownerDistributionNerworkFullTime").val();
+		    var ownerProjectManager = $("#ownerProjectManager").val();
+		    var technicalStaff = $("#technicalStaff").val();
+		    var operation = $("#operationAndMaintenancePersonnel").val();
+		    var designer = $("#designer").val();
+
+		    if (null==projectReserveId||""==projectReserveId){
+                jp.error("请填写项目储备编号!");
+			}else if(null==projectName||""==projectName){
+				jp.error("请填写项目名称!");
+			}else if (null==construct||""==construct){
+		    	jp.error("请填写建设必要性及内容")
+			}else if (null==requester||""==requester){
+				jp.error("请填写需求提报人")
+			}else if (null==owner||""==owner){
+				jp.error("请填写业主储备专职")
+			}else if (null==ownerDistribut||""==ownerDistribut){
+				jp.error("请填写业主配网专职")
+			}else if (null==ownerProjectManager||""==ownerProjectManager){
+				jp.error("请填写业主项目经理")
+			}else if (null==technicalStaff||""==technicalStaff){
+				jp.error("请填写技经人员")
+			}else if (null==operation||""==operation){
+				jp.error("请填写运维人员")
+			}else if (null==designer||""==designer){
+				jp.error("请填写设计人员")
+			}
+
+
+		    else {
+                var isValidate = jp.validateForm('#inputForm');//校验表单
+                if(!isValidate){
+                    return false;
+                }else{
+                    jp.loading();
+                    jp.post("${ctx}/cg/reservemanagementcenter/reserveManage/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="reserveManagement" class="form-horizontal">
+		<form:hidden path="id"/>
+		<table class="table table-bordered">
+			<tbody>
+			<tr>
+				<td colspan="4" class="width-15 active"><label class="">储备项目基本信息:</label></td>
+			</tr>
+			<tr>
+				<td class="width-15 active"><label class="">项目年份:</label></td>
+				<td class="width-35">
+					<form:input path="projectYear" htmlEscape="false" class="form-control"/>
+				</td>
+				<td class="width-15 active"><label class="">项目性质:</label></td>
+				<td class="width-35">
+					<form:input path="projectNature" htmlEscape="false" class="form-control"/>
+				</td>
+
+			</tr>
+			<tr>
+				<td class="width-15 active"><label class="">需求单位:</label></td>
+				<td class="width-35">
+					<form:input path="demandUnit" htmlEscape="false"    class="form-control"/>
+				</td>
+			</tr>
+			<tr>
+				<td class="width-15 active"><label class="">区域:</label></td>
+				<td class="width-35">
+					<form:input path="district" htmlEscape="false"    class="form-control"/>
+				</td>
+				<td class="width-15 active"><label class="">项目分组:</label></td>
+				<td class="width-35">
+					<form:input path="projectGroup" htmlEscape="false"    class="form-control"/>
+				</td>
+			</tr>
+			<tr>
+				<td class="width-15 active"><label class="">储备批次:</label></td>
+				<td class="width-35">
+					<form:input path="reserveBatches" htmlEscape="false"    class="form-control"/>
+				</td>
+				<td class="width-15 active"><label class="">供电区域:</label></td>
+				<td class="width-35">
+					<form:input path="blockSupply" htmlEscape="false"    class="form-control"/>
+				</td>
+			</tr>
+			<tr>
+				<td class="width-15 active"><label class="">网格编号:</label></td>
+				<td class="width-35">
+					<form:input path="gridNumber" htmlEscape="false"    class="form-control"/>
+				</td>
+				<td class="width-15 active"><label class="">单元格编号:</label></td>
+				<td class="width-35">
+					<form:input path="cellNumber" htmlEscape="false"    class="form-control"/>
+				</td>
+			</tr>
+			<tr>
+				<td class="width-15 active"><label class=""><font color="red">*</font>项目储备编号:</label></td>
+				<td class="width-35">
+					<form:input path="projectReserveId" htmlEscape="false"    class="form-control required"/>
+				</td>
+			</tr>
+			<tr>
+				<td class="width-15 active"><label class=""><font color="red">*</font>项目名称:</label></td>
+				<td class="width-35">
+					<form:input path="projectName" htmlEscape="false"    class="form-control required"/>
+				</td>
+				<td class="width-15 active"><label class=""><font color="red">*</font>建设必要性及内容:</label></td>
+				<td class="width-35">
+					<form:input path="constructionNecessityAndContent" htmlEscape="false"    class="form-control"/>
+				</td>
+			</tr>
+			<tr>
+				<td class="width-15 active"><label class="">变电站名称:</label></td>
+				<td class="width-35">
+					<form:input path="substationName" htmlEscape="false"    class="form-control"/>
+				</td>
+				<td class="width-15 active"><label class="">线路名称:</label></td>
+				<td class="width-35">
+					<form:input path="circuitName" htmlEscape="false"    class="form-control"/>
+				</td>
+			</tr>
+			<tr>
+				<td class="width-15 active"><label class="">网架项目划分:</label></td>
+				<td class="width-35">
+					<form:input path="netRackProjectDivide" htmlEscape="false"    class="form-control"/>
+				</td>
+				<td class="width-15 active"><label class="">需求类型:</label></td>
+				<td class="width-35">
+					<form:input path="requirementType" htmlEscape="false"    class="form-control"/>
+				</td>
+			</tr>
+			<tr>
+				<td class="width-15 active"><label class="">费用估算:</label></td>
+				<td class="width-35">
+					<form:input path="costEstimate" htmlEscape="false"    class="form-control number money"/>
+				</td>
+				<td class="width-15 active"><label class="">备注:</label></td>
+				<td class="width-35">
+					<form:textarea path="basicRemarks" htmlEscape="false" rows="3" maxlength="200" class="form-control"/>
+				</td>
+			</tr>
+
+			<tr>
+				<td colspan="4" class="width-15 active"><label class="">储备人员流转信息:</label></td>
+			</tr>
+			<tr>
+				<td class="width-15 active"><label class=""><font color="red">*</font>需求提报人:</label></td>
+				<td class="width-35">
+					<form:input path="requester" htmlEscape="false" class="form-control"/>
+				</td>
+				<td class="width-15 active"><label class=""><font color="red">*</font>业主储备专职:</label></td>
+				<td class="width-35">
+					<form:input path="ownerReserveFullTime" htmlEscape="false" class="form-control"/>
+				</td>
+			</tr>
+			<tr>
+				<td class="width-15 active"><label class=""><font color="red">*</font>业主配网专职:</label></td>
+				<td class="width-35">
+					<form:input path="ownerDistributionNerworkFullTime" htmlEscape="false" class="form-control"/>
+				</td>
+				<td class="width-15 active"><label class=""><font color="red">*</font>业主项目经理:</label></td>
+				<td class="width-35">
+					<form:input path="ownerProjectManager" htmlEscape="false" class="form-control"/>
+				</td>
+			</tr>
+			<tr>
+				<td class="width-15 active"><label class=""><font color="red">*</font>技经人员:</label></td>
+				<td class="width-35">
+					<form:input path="technicalStaff" htmlEscape="false" class="form-control"/>
+				</td>
+				<td class="width-15 active"><label class=""><font color="red">*</font>运维人员:</label></td>
+				<td class="width-35">
+					<form:input path="operationAndMaintenancePersonnel" htmlEscape="false" class="form-control"/>
+				</td>
+			</tr>
+			<tr>
+				<td class="width-15 active"><label class=""><font color="red">*</font>设计人员:</label></td>
+				<td class="width-35">
+					<form:input path="designer" htmlEscape="false" class="form-control"/>
+				</td>
+				<td class="width-15 active"><label class="">概算编制人员:</label></td>
+				<td class="width-35">
+					<form:input path="budgetPreparer" htmlEscape="false" class="form-control"/>
+				</td>
+			</tr>
+			</tbody>
+		</table>
+	</form:form>
+</body>
+</html>

+ 404 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveManage/reserveManagementInformation.js

@@ -0,0 +1,404 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script >
+$(document).ready(function () {
+    $('#projectTable').bootstrapTable({
+        //请求方法
+        method: 'post',
+        //类型json
+        dataType: "json",
+        contentType: "application/x-www-form-urlencoded",
+        //显示检索按钮
+        showSearch: true,
+        //显示刷新按钮
+        showRefresh: true,
+        //显示切换手机试图按钮
+        showToggle: true,
+        //显示 内容列下拉框
+        showColumns: true,
+        //显示到处按钮
+        showExport: true,
+        //显示切换分页按钮
+        showPaginationSwitch: true,
+        //最低显示2行
+        minimumCountColumns: 2,
+        //是否显示行间隔色
+        striped: true,
+        //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+        cache: false,
+        //是否显示分页(*)
+        pagination: true,
+        //排序方式
+        sortOrder: "asc",
+        //初始化加载第一页,默认第一页
+        pageNumber: 1,
+        //每页的记录行数(*)
+        pageSize: 5,
+        //可供选择的每页的行数(*)
+        pageList: [5, 10, 25, 50, 100],
+        //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+        url: "${ctx}/cg/reservemanagementcenter/reserveManage/list",
+        //默认值为 '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}/cg/reservemanagementcenter/project/delete?id=" + row.id, function (data) {
+                        if (data.success) {
+                            $('#projectTable').bootstrapTable('refresh');
+                            jp.success(data.msg);
+                        } else {
+                            jp.error(data.msg);
+                        }
+                    })
+                });
+            }
+        },
+
+        onClickRow: function (row, $el) {
+        },
+        onShowSearch: function () {
+            $("#search-collapse").slideToggle();
+        },
+        columns:
+            [
+                {
+                    checkbox: true,
+                    width:36,
+
+                },
+                {
+                    field: 'projectYear',
+                    width: 65,
+                    title: '项目</br>年份',
+                }
+                , {
+                    field: 'projectNature',
+                    width:65,
+                    title: '项目</br>性质',
+
+                },{
+                    field: 'demandUnit',
+                    width:70,
+                    title: '需求</br>单位',
+
+                },{
+                    field: 'district',
+                    width:60,
+                    title: '区域',
+
+                },{
+                    field: 'projectGroup',
+                    width:70,
+                    title: '项目</br>分组',
+
+                },{
+                    field: 'reserveBatches',
+                    width:70,
+                    title: '储备</br>批次',
+
+                },{
+                    field: 'blockSupply',
+                    width:60,
+                    title: '供电</br>区域',
+
+                },{
+                    field: 'gridNumber',
+                    width:90,
+                    title: '网格编号',
+
+                },{
+                    field: 'cellNumber',
+                    width:100,
+                    title: '单元格编号',
+
+                },{
+                    field: 'projectReserveId',
+                    width:150,
+                    title: '项目储备编号',
+
+                    formatter:function(value, row , index){
+                        if(value == null || value ==""){
+                            value = "-";
+                        }
+                    <c:choose>
+                        <c:when test="${fns:hasPermission('cg:reservemanagementcenter:reserveManage:view')}">
+                        return "<a href='javascript:view(\""+row.id+"\")'>"+value+"</a>";
+                    </c:when>
+                        <c:otherwise>
+                        return value;
+                    </c:otherwise>
+                        </c:choose>
+
+                    }
+                },{
+                    field: 'projectName',
+                    width:200,
+                    title: '项目名称',
+
+                },{
+                    field: 'constructionNecessityAndContent',
+                    width:400,
+                    title: '建设必要性及内容',
+
+                },{
+                    field: 'substationName',
+                    width:80,
+                    title: '变电站</br>名称',
+
+                },{
+                    field: 'circuitName',
+                    width:100,
+                    title: '线路名称',
+
+                },{
+                    field: 'netRackProjectDivide',
+                    width:80,
+                    title: '网架项目</br>划分',
+
+                },{
+                    field: 'requirementType',
+                    width:100,
+                    title: '需求类型',
+
+                },{
+                    field: 'costEstimate',
+                    width:80,
+                    title: '费用</br>估算',
+
+                },{
+                    field: 'basicRemarks',
+                    width:200,
+                    title: '备注',
+
+                },{
+                    field: 'requester',
+                    width:80,
+                    title: '需求提</br>报人',
+
+                },{
+                    field: 'ownerReserveFullTime',
+                    width:100,
+                    title: '业主储备</br>专职',
+
+                },{
+                    field: 'ownerDistributionNerworkFullTime',
+                    width:100,
+                    title: '业主配网</br>专职',
+
+                },
+/*设计及评审情况*/
+                {
+                    field: 'ownerProjectManager',
+                    width:80,
+                    title: '业主项目</br>经理',
+
+                },{
+                    field: 'technicalStaff',
+                    width:80,
+                    title: '技经人员',
+
+                },{
+                    field: 'operationAndMaintenancePersonnel',
+                    width:80,
+                    title: '运维人员',
+
+                },{
+                    field: 'designer',
+                    width:80,
+                    title: '设计人员',
+
+                },{
+                    field: 'budgetPreparer',
+                    width:80,
+                    title: '概算编制</br>人员',
+                },
+                {
+                    field: 'uninterruptedWorkSurveyPersonnel',
+                    width:80,
+                    title: '不停电</br>作业</br>查勘人员',
+                },
+        ]
+    });
+
+
+    if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {//如果是移动端
+        $('#projectTable').bootstrapTable("toggleView");
+    }
+
+    $('#projectTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+        'check-all.bs.table uncheck-all.bs.table', function () {
+        $('#remove').prop('disabled', !$('#projectTable').bootstrapTable('getSelections').length);
+        $('#view,#edit,#jlEdit').prop('disabled', $('#projectTable').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) {
+                var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                iframeWin.contentWindow.importExcel('${ctx}/cg/reservemanagementcenter/reserveManage/import', function (data) {
+                    if (data.success) {
+                        jp.success(data.msg);
+                        refresh();
+                    } else {
+                        jp.error(data.msg);
+                    }
+                    jp.close(index);
+                });//调用保存事件
+                return false;
+            },
+            btn2: function (index) {
+                //  jp.close(index);
+            }
+        });
+    });
+
+    $("#jlImport").click(function () {
+        jp.open({
+            type: 2,
+            area: [500, 200],
+            auto: true,
+            title: "导入数据",
+            content: "${ctx}/tag/importExcel",
+            btn: ['确定', '关闭'],
+            btn1: function (index, layero) {
+                var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                iframeWin.contentWindow.importExcel('${ctx}/cg/reservemanagementcenter/reserveManage/jlImport', function (data) {
+                    if (data.success) {
+                        jp.success(data.msg);
+                        refresh();
+                    } else {
+                        jp.error(data.msg);
+                    }
+                    jp.close(index);
+                });//调用保存事件
+                return false;
+            },
+
+            btn2: function (index) {
+                //  jp.close(index);
+            }
+        });
+    });
+
+    $("#btnExport").click(function () {
+        var projectReserveId = $("#projectReserveId").val();
+        var projectName = $("#projectName").val();
+        jp.downloadFile('${ctx}/cg/reservemanagementcenter/reserveManage/export?projectReserveId=' + projectReserveId + '&projectName=' + projectName);
+    });
+
+    $("#search").click("click", function () {// 绑定查询按扭
+        $('#projectTable').bootstrapTable('refresh');
+    });
+
+    $("#reset").click("click", function () {// 绑定查询按扭
+        $("#searchForm  input").val("");
+        $("#searchForm  select").val("");
+        $("#searchForm  .select-item").html("");
+        $('#projectTable').bootstrapTable('refresh');
+    });
+
+    $('#beginBeginDate').datetimepicker({
+        format: "YYYY-MM-DD HH:mm:ss"
+    });
+    $('#endBeginDate').datetimepicker({
+        format: "YYYY-MM-DD HH:mm:ss"
+    });
+    $('#endDate').datetimepicker({
+        format: "YYYY-MM-DD HH:mm:ss"
+    });
+});
+
+function getIdSelections() {
+    return $.map($("#projectTable").bootstrapTable('getSelections'), function (row) {
+        return row.id
+    });
+}
+
+
+//刷新列表
+function refresh() {
+    $('#projectTable').bootstrapTable('refresh');
+}
+
+function add() {
+    jp.openSaveDialog('新增储备项目基本信息', "${ctx}/cg/reservemanagementcenter/reserveManage/form", '800px', '500px');
+}
+
+
+function edit(id) {//没有权限时,不显示确定按钮
+    if (id == undefined) {
+        id = getIdSelections();
+    }
+    jp.openSaveDialog('编辑储备项目基本信息', "${ctx}/cg/reservemanagementcenter/reserveManage/form?id=" + id, '800px', '500px');
+}
+
+function jlEdit(id) {//没有权限时,不显示确定按钮
+    if (id == undefined) {
+        id = getIdSelections();
+    }
+    jp.openSaveDialog('编辑储备项目基本信息', "${ctx}/cg/reservemanagementcenter/reserveManage/jlEdit?id=" + id, '800px', '500px');
+}
+
+function view(id) {//没有权限时,不显示确定按钮
+    if (id == undefined) {
+        id = getIdSelections();
+    }
+    jp.openViewDialog('查看储备项目基本信息', "${ctx}/cg/reservemanagementcenter/reserveManage/view?id=" + id, '800px', '500px');
+}
+
+function deleteAll(){
+
+    jp.confirm('确认要删除该储备项目基本信息吗?', function(){
+        jp.loading();
+        jp.get("${ctx}/cg/reservemanagementcenter/reserveManage/deleteAll?ids=" + getIdSelections(), function(data){
+            if(data.success){
+                $('#projectTable').bootstrapTable('refresh');
+                jp.success(data.msg);
+            }else{
+                jp.error(data.msg);
+            }
+        })
+
+    })
+}
+//转换日期格式(时间戳转换为datetime格式)
+function changeDateFormat(cellval) {
+    var dateVal = cellval + "";
+    if (cellval != null) {
+        var date = new Date(parseInt(dateVal.replace("/Date(", "").replace(")/", ""), 10));
+        var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
+        var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
+
+        /*var hours = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
+        var minutes = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
+        var seconds = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();*/
+
+        return date.getFullYear() + "-" + month + "-" + currentDate /*+ " " + hours + ":" + minutes + ":" + seconds*/;
+    }
+}
+
+</script>

+ 98 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveManage/reserveManagementInformation.jsp

@@ -0,0 +1,98 @@
+<%@ 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="reserveManagementInformation.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="reserveManagement" 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="projectReserveId" htmlEscape="false" maxlength="100"  class=" form-control"/>
+					</div>
+					<div class="col-xs-12 col-sm-6 col-md-4">
+						<label class="label-item single-overflow pull-left" title="项目名称:">项目名称:</label>
+						<form:input path="projectName" htmlEscape="false" maxlength="100"  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">
+			<shiro:hasPermission name="cg:reservemanagementcenter:reserveManage:add">
+				<button id="add" class="btn btn-primary" onclick="add()">
+					<i class="glyphicon glyphicon-plus"></i> 新增
+				</button>
+			</shiro:hasPermission>
+			<shiro:hasPermission name="cg:reservemanagementcenter:reserveManage:edit">
+				<button id="edit" class="btn btn-primary" onclick="edit()">
+					<i class="glyphicon glyphicon-edit"></i> 修改 <!--专职修改-->
+				</button>
+			</shiro:hasPermission>
+<%--			<shiro:hasPermission name="sg:managementcenter:reserveManagement:jlEdit">
+				<button id="jlEdit" class="btn btn-primary" onclick="jlEdit()">
+					<i class="glyphicon glyphicon-edit"></i> 修改 <!--经理修改-->
+				</button>
+			</shiro:hasPermission>--%>
+			<shiro:hasPermission name="cg:reservemanagementcenter:reserveManage:del">
+				<button id="remove" class="btn btn-danger" onclick="deleteAll()">
+					<i class="glyphicon glyphicon-remove"></i> 删除
+				</button>
+			</shiro:hasPermission>
+			<shiro:hasPermission name="cg:reservemanagementcenter:reserveManage:import">
+				<button id="btnImport" class="btn btn-info">
+					<i class="fa fa-folder-open-o"></i> 导入  <!--专职导入-->
+				</button>
+			</shiro:hasPermission>
+<%--			<shiro:hasPermission name="sg:managementcenter:reserveManagement:jlImport">
+				<button id="jlImport" class="btn btn-info">
+					<i class="fa fa-folder-open-o"></i> 导入  <!--经理导入-->
+				</button>
+			</shiro:hasPermission>--%>
+			<shiro:hasPermission name="cg:reservemanagementcenter:reserveManage:export">
+				<button id="btnExport" class="btn btn-warning">
+					<i class="fa fa-file-excel-o"></i> 导出
+				</button>
+			</shiro:hasPermission>
+		    </div>
+	<!-- 表格 -->
+	<table id="projectTable" style="table-layout:fixed" class="table" data-toolbar="#toolbar"></table>
+
+	</div>
+	</div>
+	</div>
+</body>
+</html>

+ 337 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveManage/reserveManagementModifyByjl.jsp

@@ -0,0 +1,337 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>项目储备信息</title>
+	<meta name="decorator" content="ani"/>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+			$('#disclosureFinishDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+		});
+		function save() {
+			var isValidate = jp.validateForm('#inputForm');//校验表单
+			if(!isValidate){
+				return false;
+			}else{
+				jp.loading();
+				jp.post("${ctx}/sg/managementCenter/reserveManagement/jlUpdate",$('#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="reserveManagement" class="form-horizontal">
+	<form:hidden path="id"/>
+	<table class="table table-bordered">
+		<tbody>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">方案交底组织:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">交底牵头部门:</label></td>
+			<td class="width-35">
+				<form:input path="disclosureToCoordinate" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">交底参与部门:</label></td>
+			<td class="width-35">
+				<form:input path="disclosureParticipate" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否完成交底:</label></td>
+			<td class="width-35">
+				<select id="whetherFinishDisclosure" name="whetherFinishDisclosure"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.whetherFinishDisclosure=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.whetherFinishDisclosure=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">项目管理中心人员:</label></td>
+			<td class="width-35">
+				<form:input path="projectManagementPeople" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">设计院人员:</label></td>
+			<td class="width-35">
+				<form:input path="designingInstitutePeople" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">经研所人员:</label></td>
+			<td class="width-35">
+				<form:input path="ifoPeople" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域中心人员:</label></td>
+			<td class="width-35">
+				<form:input path="regionalCenterPeople" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">不停电作业中心人员:</label></td>
+			<td class="width-35">
+				<form:input path="uninterruptedOperationPeople" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">作业方式:</label></td>
+			<td class="width-35">
+				<form:input path="workMode" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">交底完成日期:</label></td>
+			<td class="width-35">
+				<div class='input-group form_datetime' id='disclosureFinishDate'>
+					<input type='text'  name="disclosureFinishDate" class="form-control required"  value="<fmt:formatDate value="${reserveManagement.disclosureFinishDate}" 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="">备注:</label></td>
+			<td class="width-35">
+				<form:textarea path="disclosureRemarks" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+
+
+
+
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">方案交底结论:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">立项说明:</label></td>
+			<td class="width-35">
+				<form:textarea path="projectDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">不具备立项条件说明:</label></td>
+			<td class="width-35">
+				<form:textarea path="doNotPossessProjectDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">方案变更说明:</label></td>
+			<td class="width-35">
+				<form:textarea path="changedProgramsExplain" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处难度初判:</label></td>
+			<td class="width-35">
+				<form:input path="initialDifficulty" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有资本设备:</label></td>
+			<td class="width-35">
+				<select id="capitalEquipment" name="capitalEquipment"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.capitalEquipment=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.capitalEquipment=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否有变电站新出线:</label></td>
+			<td class="width-35">
+				<select id="substationNewLine" name="substationNewLine"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.substationNewLine=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.substationNewLine=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否已实施:</label></td>
+			<td class="width-35">
+				<select id="whetherImplement" name="whetherImplement"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.whetherImplement=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.whetherImplement=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">现场情况描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="fieldDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有实施必要性:</label></td>
+			<td class="width-35">
+				<select id="necessaryOfImplementation" name="necessaryOfImplementation"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.necessaryOfImplementation=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.necessaryOfImplementation=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">实施无必要描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="unnecessaryDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否存在前置条件:</label></td>
+			<td class="width-35">
+				<select id="precondition" name="precondition"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.precondition=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.precondition=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">前置条件描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="conditionsDescribed" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否存在施工方案问题:</label></td>
+			<td class="width-35">
+				<select id="constructionSchemeProblem" name="constructionSchemeProblem"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.constructionSchemeProblem=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.constructionSchemeProblem=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">施工方案问题描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="problemDescriptionOfConstructionScheme" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">现场是否存在安全隐患:</label></td>
+			<td class="width-35">
+				<select id="existingSecurityThreat" name="existingSecurityThreat"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.existingSecurityThreat=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.existingSecurityThreat=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">安全隐患描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="safetyHazardDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否需要定制物资:</label></td>
+			<td class="width-35">
+				<select id="customizedMaterials" name="customizedMaterials"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.customizedMaterials=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.customizedMaterials=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">定制物资描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="materialDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有拆旧物资:</label></td>
+			<td class="width-35">
+				<select id="dismantlingTheOldMaterial" name="dismantlingTheOldMaterial"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.dismantlingTheOldMaterial=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.dismantlingTheOldMaterial=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">作业方式:</label></td>
+			<td class="width-35">
+				<form:input path="operatingType" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有土建工作量:</label></td>
+			<td class="width-35">
+				<select id="civilWork" name="civilWork"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.civilWork=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.civilWork=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">停电问题描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="problemDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有立杆工作量:</label></td>
+			<td class="width-35">
+				<select id="verticalRodWorkload" name="verticalRodWorkload"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.verticalRodWorkload=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.verticalRodWorkload=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">总工作量描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="totalWorkloadDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域中心:</label></td>
+			<td class="width-35">
+				<form:input path="regionalCenter" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">供电所辖区:</label></td>
+			<td class="width-35">
+				<form:input path="powerSupplyArea" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处地点:</label></td>
+			<td class="width-35">
+				<form:input path="zhengLocation" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处类型(可多类):</label></td>
+			<td class="width-35">
+				<form:input path="zhengType" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处对象(产权单位):</label></td>
+			<td class="width-35">
+				<form:input path="zhengObject" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="zhengDescribe" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否需规划报批:</label></td>
+			<td class="width-35">
+				<select id="projectApproval" name="projectApproval" class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.projectApproval=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.projectApproval=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否需办理安评航评手续:</label></td>
+			<td class="width-35">
+				<select id="courseEvaluationProcedures" name="courseEvaluationProcedures" class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.courseEvaluationProcedures=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.courseEvaluationProcedures=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处难点提醒:</label></td>
+			<td class="width-35">
+				<form:textarea path="zhengDifficultyWarn" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		</tbody>
+	</table>
+</form:form>
+</body>
+</html>

+ 229 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveManage/reserveManagementModifyByzz.jsp

@@ -0,0 +1,229 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>项目储备信息</title>
+	<meta name="decorator" content="ani"/>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+
+	        $('#beginDate').datetimepicker({
+				 format: "YYYY-MM-DD HH:mm:ss"
+		    });
+	        $('#endDate').datetimepicker({
+				 format: "YYYY-MM-DD HH:mm:ss"
+		    });
+		});
+		function save() {
+			var projectReserveId = $("#projectReserveId").val();
+			var projectName = $("#projectName").val();
+			var construct = $("#constructionNecessityAndContent").val();
+			var requester = $("#requester").val();
+			var owner = $("#ownerReserveFullTime").val();
+			var ownerDistribut = $("#ownerDistributionNerworkFullTime").val();
+			var ownerProjectManager = $("#ownerProjectManager").val();
+			var technicalStaff = $("#technicalStaff").val();
+			var operation = $("#operationAndMaintenancePersonnel").val();
+			var designer = $("#designer").val();
+
+			if (null==projectReserveId||""==projectReserveId){
+				jp.error("请填写项目储备编号!");
+			}else if(null==projectName||""==projectName){
+				jp.error("请填写项目名称!");
+			}else if (null==construct||""==construct){
+				jp.error("请填写建设必要性及内容")
+			}else if (null==requester||""==requester){
+				jp.error("请填写需求提报人")
+			}else if (null==owner||""==owner){
+				jp.error("请填写业主储备专职")
+			}else if (null==ownerDistribut||""==ownerDistribut){
+				jp.error("请填写业主配网专职")
+			}else if (null==ownerProjectManager||""==ownerProjectManager){
+				jp.error("请填写业主项目经理")
+			}else if (null==technicalStaff||""==technicalStaff){
+				jp.error("请填写技经人员")
+			}else if (null==operation||""==operation){
+				jp.error("请填写运维人员")
+			}else if (null==designer||""==designer){
+				jp.error("请填写设计人员")
+			}
+
+
+		    else {
+                var isValidate = jp.validateForm('#inputForm');//校验表单
+                if(!isValidate){
+                    return false;
+                }else{
+                    jp.loading();
+                    jp.post("${ctx}/cg/reservemanagementcenter/reserveManage/update",$('#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="reserveManagement" class="form-horizontal">
+		<form:hidden path="id"/>
+		<table class="table table-bordered">
+		   	<tbody>
+				<tr>
+					<td colspan="4" class="width-15 active"><label class="">储备项目基本信息:</label></td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="">项目年份:</label></td>
+					<td class="width-35">
+						<form:input path="projectYear" htmlEscape="false" class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class="">项目性质:</label></td>
+					<td class="width-35">
+						<form:input path="projectNature" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="">需求单位:</label></td>
+					<td class="width-35">
+						<form:input path="demandUnit" htmlEscape="false"    class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="">区域:</label></td>
+					<td class="width-35">
+						<form:input path="district" htmlEscape="false"    class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class="">项目分组:</label></td>
+					<td class="width-35">
+						<form:input path="projectGroup" htmlEscape="false"    class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="">储备批次:</label></td>
+					<td class="width-35">
+						<form:input path="reserveBatches" htmlEscape="false"    class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class="">供电区域:</label></td>
+					<td class="width-35">
+						<form:input path="blockSupply" htmlEscape="false"    class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="">网格编号:</label></td>
+					<td class="width-35">
+						<form:input path="gridNumber" htmlEscape="false"    class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class="">单元格编号:</label></td>
+					<td class="width-35">
+						<form:input path="cellNumber" htmlEscape="false"    class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class=""><font color="red">*</font>项目储备编号:</label></td>
+					<td class="width-35">
+						<form:input path="projectReserveId" readonly="true" htmlEscape="false"    class="form-control required"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class=""><font color="red">*</font>项目名称:</label></td>
+					<td class="width-35">
+						<form:input path="projectName" htmlEscape="false"    class="form-control required"/>
+					</td>
+					<td class="width-15 active"><label class=""><font color="red">*</font>建设必要性及内容:</label></td>
+					<td class="width-35">
+						<form:input path="constructionNecessityAndContent" htmlEscape="false"    class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="">变电站名称:</label></td>
+					<td class="width-35">
+						<form:input path="substationName" htmlEscape="false"    class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class="">线路名称:</label></td>
+					<td class="width-35">
+						<form:input path="circuitName" htmlEscape="false"    class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="">网架项目划分:</label></td>
+					<td class="width-35">
+						<form:input path="netRackProjectDivide" htmlEscape="false"    class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class="">需求类型:</label></td>
+					<td class="width-35">
+						<form:input path="requirementType" htmlEscape="false"    class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class="">费用估算:</label></td>
+					<td class="width-35">
+						<form:input path="costEstimate" htmlEscape="false"    class="form-control number money"/>
+					</td>
+					<td class="width-15 active"><label class="">备注:</label></td>
+					<td class="width-35">
+						<form:textarea path="basicRemarks" htmlEscape="false" rows="3" maxlength="200" class="form-control"/>
+					</td>
+				</tr>
+
+				<tr>
+					<td colspan="4" class="width-15 active"><label class="">储备人员流转信息:</label></td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class=""><font color="red">*</font>需求提报人:</label></td>
+					<td class="width-35">
+						<form:input path="requester" htmlEscape="false" class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class=""><font color="red">*</font>业主储备专职:</label></td>
+					<td class="width-35">
+						<form:input path="ownerReserveFullTime" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class=""><font color="red">*</font>业主配网专职:</label></td>
+					<td class="width-35">
+						<form:input path="ownerDistributionNerworkFullTime" htmlEscape="false" class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class=""><font color="red">*</font>业主项目经理:</label></td>
+					<td class="width-35">
+						<form:input path="ownerProjectManager" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class=""><font color="red">*</font>技经人员:</label></td>
+					<td class="width-35">
+						<form:input path="technicalStaff" htmlEscape="false" class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class=""><font color="red">*</font>运维人员:</label></td>
+					<td class="width-35">
+						<form:input path="operationAndMaintenancePersonnel" maxlength="200" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class=""><font color="red">*</font>设计人员:</label></td>
+					<td class="width-35">
+						<form:input path="designer" htmlEscape="false" class="form-control"/>
+					</td>
+					<td class="width-15 active"><label class=""><font color="red">*</font>概算编制人员:</label></td>
+					<td class="width-35">
+						<form:input path="budgetPreparer" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+				<tr>
+					<td class="width-15 active"><label class=""><font color="red">*</font>不停电作业查勘人:</label></td>
+					<td class="width-35">
+						<form:input path="uninterruptedWorkSurveyPersonnel" readonly="true" htmlEscape="false" class="form-control"/>
+					</td>
+				</tr>
+		 	</tbody>
+		</table>
+	</form:form>
+</body>
+</html>

+ 190 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveManage/reserveManagementView.jsp

@@ -0,0 +1,190 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>项目储备信息</title>
+	<meta name="decorator" content="ani"/>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+			$('#disclosureFinishDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+		});
+		function save() {
+			var isValidate = jp.validateForm('#inputForm');//校验表单
+			if(!isValidate){
+				return false;
+			}else{
+				/*jp.loading();
+				jp.post("${ctx}/sg/managementCenter/reserveManagement/update",$('#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="reserveManagement" class="form-horizontal">
+	<form:hidden path="id"/>
+	<table class="table table-bordered">
+		<tbody>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">储备项目基本信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">项目年份:</label></td>
+			<td class="width-35">
+				<form:input path="projectYear" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目性质:</label></td>
+			<td class="width-35">
+				<form:input path="projectNature" htmlEscape="false" class="form-control"/>
+			</td>
+
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">需求单位:</label></td>
+			<td class="width-35">
+				<form:input path="demandUnit" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域:</label></td>
+			<td class="width-35">
+				<form:input path="district" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目分组:</label></td>
+			<td class="width-35">
+				<form:input path="projectGroup" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">储备批次:</label></td>
+			<td class="width-35">
+				<form:input path="reserveBatches" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">供电区域:</label></td>
+			<td class="width-35">
+				<form:input path="blockSupply" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">网格编号:</label></td>
+			<td class="width-35">
+				<form:input path="gridNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">单元格编号:</label></td>
+			<td class="width-35">
+				<form:input path="cellNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目储备编号:</label></td>
+			<td class="width-35">
+				<form:input path="projectReserveId" htmlEscape="false"    class="form-control required"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目名称:</label></td>
+			<td class="width-35">
+				<form:input path="projectName" htmlEscape="false"    class="form-control required"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>建设必要性及内容:</label></td>
+			<td class="width-35">
+				<form:input path="constructionNecessityAndContent" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">变电站名称:</label></td>
+			<td class="width-35">
+				<form:input path="substationName" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">线路名称:</label></td>
+			<td class="width-35">
+				<form:input path="circuitName" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">网架项目划分:</label></td>
+			<td class="width-35">
+				<form:input path="netRackProjectDivide" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">需求类型:</label></td>
+			<td class="width-35">
+				<form:input path="requirementType" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">费用估算:</label></td>
+			<td class="width-35">
+				<form:input path="costEstimate" htmlEscape="false"    class="form-control number money"/>
+			</td>
+			<td class="width-15 active"><label class="">备注:</label></td>
+			<td class="width-35">
+				<form:textarea path="basicRemarks" htmlEscape="false" rows="3" maxlength="200" class="form-control"/>
+			</td>
+		</tr>
+
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">储备人员流转信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>需求提报人:</label></td>
+			<td class="width-35">
+				<form:input path="requester" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>业主储备专职:</label></td>
+			<td class="width-35">
+				<form:input path="ownerReserveFullTime" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>业主配网专职:</label></td>
+			<td class="width-35">
+				<form:input path="ownerDistributionNerworkFullTime" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>业主项目经理:</label></td>
+			<td class="width-35">
+				<form:input path="ownerProjectManager" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>技经人员:</label></td>
+			<td class="width-35">
+				<form:input path="technicalStaff" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>运维人员:</label></td>
+			<td class="width-35">
+				<form:input path="operationAndMaintenancePersonnel" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>设计人员:</label></td>
+			<td class="width-35">
+				<form:input path="designer" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">概算编制人员:</label></td>
+			<td class="width-35">
+				<form:input path="budgetPreparer" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">不停电作业查勘人:</label></td>
+			<td class="width-35">
+				<form:input path="uninterruptedWorkSurveyPersonnel" readonly="true" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		</tbody>
+	</table>
+</form:form>
+</body>
+</html>

+ 234 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reservePreconstruct/reserveManagementForm.jsp

@@ -0,0 +1,234 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>新增带电作业信息</title>
+	<meta name="decorator" content="ani"/>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+
+	        $('#beginDate').datetimepicker({
+				 format: "YYYY-MM-DD HH:mm:ss"
+		    });
+	        $('#endDate').datetimepicker({
+				 format: "YYYY-MM-DD HH:mm:ss"
+		    });
+		});
+		function save() {
+		    var projectReserveId = $("#projectReserveId").val();
+		    var projectName = $("#projectName").val();
+		    var construct = $("#constructionNecessityAndContent").val();
+
+
+		    if (null==projectReserveId||""==projectReserveId){
+                jp.error("请填写项目储备编号!");
+			}else if(null==projectName||""==projectName){
+				jp.error("请填写项目名称!");
+			}else if (null==construct||""==construct){
+		    	jp.error("请填写建设必要性及内容!")
+			}
+
+
+		    else {
+                var isValidate = jp.validateForm('#inputForm');//校验表单
+                if(!isValidate){
+                    return false;
+                }else{
+                    jp.loading();
+                    jp.post("${ctx}/cg/reservemanagementcenter/reservePreconstruct/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="reserveManagement" class="form-horizontal">
+	<form:hidden path="id"/>
+	<table class="table table-bordered">
+		<tbody>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">储备项目基本信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">项目年份:</label></td>
+			<td class="width-35">
+				<form:input path="projectYear" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目性质:</label></td>
+			<td class="width-35">
+				<form:input path="projectNature" htmlEscape="false" class="form-control"/>
+			</td>
+
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">需求单位:</label></td>
+			<td class="width-35">
+				<form:input path="demandUnit" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域:</label></td>
+			<td class="width-35">
+				<form:input path="district" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目分组:</label></td>
+			<td class="width-35">
+				<form:input path="projectGroup" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">储备批次:</label></td>
+			<td class="width-35">
+				<form:input path="reserveBatches" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">供电区域:</label></td>
+			<td class="width-35">
+				<form:input path="blockSupply" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>网格编号:</label></td>
+			<td class="width-35">
+				<form:input path="gridNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>单元格编号:</label></td>
+			<td class="width-35">
+				<form:input path="cellNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目储备编号:</label></td>
+			<td class="width-35">
+				<form:input path="projectReserveId" htmlEscape="false"  readonly="true"  class="form-control required"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目名称:</label></td>
+			<td class="width-35">
+				<form:input path="projectName" htmlEscape="false"    class="form-control required"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>建设必要性及内容:</label></td>
+			<td class="width-35">
+				<form:input path="constructionNecessityAndContent" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">变电站名称:</label></td>
+			<td class="width-35">
+				<form:input path="substationName" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">线路名称:</label></td>
+			<td class="width-35">
+				<form:input path="circuitName" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">网架项目划分:</label></td>
+			<td class="width-35">
+				<form:input path="netRackProjectDivide" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">需求类型:</label></td>
+			<td class="width-35">
+				<form:input path="requirementType" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">费用估算:</label></td>
+			<td class="width-35">
+				<form:input path="costEstimate" htmlEscape="false"    class="form-control number money"/>
+			</td>
+			<td class="width-15 active"><label class="">备注:</label></td>
+			<td class="width-35">
+				<form:textarea path="basicRemarks" htmlEscape="false" rows="3" maxlength="200" class="form-control"/>
+			</td>
+		</tr>
+
+		<tr>
+			<td class="width-15 active"><label class="">储备进度:</label></td>
+			<td class="width-35">
+				<form:input path="reserveProgress" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否纳入实施计划:</label></td>
+			<td class="width-35">
+				<form:input path="implementPlan" readonly="true" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">初定实施批次:</label></td>
+			<td class="width-35">
+				<form:input path="implementBatch" readonly="true" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">交底预制化信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否含新建土建基础/包封:</label></td>
+			<td class="width-35">
+				<select id="confessCivilFoundation" name="confessCivilFoundation"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.confessCivilFoundation=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.confessCivilFoundation=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否预制化:</label></td>
+			<td class="width-35">
+				<select id="confessPrefab" name="confessPrefab"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.confessPrefab=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.confessPrefab=='否'}">selected</c:if>>否</option>
+					<option value="部分" <c:if test="${reserveManagement.confessPrefab=='部分'}">selected</c:if>>部分</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">预制化描述:</label></td>
+			<td class="width-35">
+				<form:input path="confessPrefabDescription" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">设计预制化信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否含新建土建基础/包封:</label></td>
+			<td class="width-35">
+				<select id="designCivilFoundation" name="designCivilFoundation"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.designCivilFoundation=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.designCivilFoundation=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否预制化:</label></td>
+			<td class="width-35">
+				<select id="designPrefab" name="designPrefab"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.designPrefab=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.designPrefab=='否'}">selected</c:if>>否</option>
+					<option value="部分" <c:if test="${reserveManagement.designPrefab=='部分'}">selected</c:if>>部分</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">预制化描述:</label></td>
+			<td class="width-35">
+				<form:input path="designPrefabDescription" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+
+		</tbody>
+	</table>
+</form:form>
+</body>
+</html>

+ 410 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reservePreconstruct/reserveManagementInformation.js

@@ -0,0 +1,410 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script >
+$(document).ready(function () {
+    $('#projectTable').bootstrapTable({
+        //请求方法
+        method: 'post',
+        //类型json
+        dataType: "json",
+        contentType: "application/x-www-form-urlencoded",
+        //显示检索按钮
+        showSearch: true,
+        //显示刷新按钮
+        showRefresh: true,
+        //显示切换手机试图按钮
+        showToggle: true,
+        //显示 内容列下拉框
+        showColumns: true,
+        //显示到处按钮
+        showExport: true,
+        //显示切换分页按钮
+        showPaginationSwitch: true,
+        //最低显示2行
+        minimumCountColumns: 2,
+        //是否显示行间隔色
+        striped: true,
+        //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+        cache: false,
+        //是否显示分页(*)
+        pagination: true,
+        //排序方式
+        sortOrder: "asc",
+        //初始化加载第一页,默认第一页
+        pageNumber: 1,
+        //每页的记录行数(*)
+        pageSize: 5,
+        //可供选择的每页的行数(*)
+        pageList: [5, 10, 25, 50, 100],
+        //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+        url: "${ctx}/cg/reservemanagementcenter/reservePreconstruct/list",
+        //默认值为 '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}/cg/reservemanagementcenter/project/delete?id=" + row.id, function (data) {
+                        if (data.success) {
+                            $('#projectTable').bootstrapTable('refresh');
+                            jp.success(data.msg);
+                        } else {
+                            jp.error(data.msg);
+                        }
+                    })
+                });
+            }
+        },
+
+        onClickRow: function (row, $el) {
+        },
+        onShowSearch: function () {
+            $("#search-collapse").slideToggle();
+        },
+        columns:
+            [
+                {
+                    checkbox: true,
+                    width:36,
+
+                },
+                {
+                    field: 'projectYear',
+                    width: 65,
+                    title: '项目</br>年份',
+                }
+                , {
+                    field: 'projectNature',
+                    width:65,
+                    title: '项目</br>性质',
+
+                },{
+                    field: 'demandUnit',
+                    width:70,
+                    title: '需求</br>单位',
+
+                },{
+                    field: 'district',
+                    width:60,
+                    title: '区域',
+
+                },{
+                    field: 'projectGroup',
+                    width:70,
+                    title: '项目</br>分组',
+
+                },{
+                    field: 'reserveBatches',
+                    width:70,
+                    title: '储备</br>批次',
+
+                },{
+                    field: 'blockSupply',
+                    width:60,
+                    title: '供电</br>区域',
+
+                },{
+                    field: 'gridNumber',
+                    width:90,
+                    title: '网格编号',
+
+                },{
+                    field: 'cellNumber',
+                    width:100,
+                    title: '单元格编号',
+
+                },{
+                    field: 'projectReserveId',
+                    width:150,
+                    title: '项目储备编号',
+
+                    formatter:function(value, row , index){
+                        if(value == null || value ==""){
+                            value = "-";
+                        }
+                    <c:choose>
+                        <c:when test="${fns:hasPermission('cg:reservemanagementcenter:reservePreconstruct:view')}">
+                        return "<a href='javascript:view(\""+row.id+"\",\""+ row.implementPlan+"\",\""+row.implementBatch +"\")'>"+value+"</a>";
+                    </c:when>
+                        <c:otherwise>
+                        return value;
+                    </c:otherwise>
+                        </c:choose>
+
+                    }
+                },{
+                    field: 'projectName',
+                    width:200,
+                    title: '项目名称',
+
+                },{
+                    field: 'constructionNecessityAndContent',
+                    width:400,
+                    title: '建设必要性及内容',
+
+                },{
+                    field: 'substationName',
+                    width:80,
+                    title: '变电站</br>名称',
+
+                },{
+                    field: 'circuitName',
+                    width:100,
+                    title: '线路名称',
+
+                },{
+                    field: 'netRackProjectDivide',
+                    width:80,
+                    title: '网架项目</br>划分',
+
+                },{
+                    field: 'requirementType',
+                    width:100,
+                    title: '需求类型',
+
+                },{
+                    field: 'costEstimate',
+                    width:80,
+                    title: '费用</br>估算',
+
+                },{
+                    field: 'basicRemarks',
+                    width:200,
+                    title: '备注',
+
+                },{
+                    field: 'reserveProgress',
+                    width:80,
+                    title: '储备</br>进度',
+
+                },{
+                    field: 'implementPlan',
+                    width:120,
+                    title: '是否纳入</br>实施计划',
+
+                },{
+                    field: 'implementBatch',
+                    width:100,
+                    title: '初定实施</br>批次',
+
+                },
+                {
+                    field: 'confessCivilFoundation',
+                    width:100,
+                    title: '交底预制化</br>信息-是否</br>含新建土</br>建基础/包封',
+
+                },
+                {
+                    field: 'confessPrefab',
+                    width:100,
+                    title: '交底预制化</br>信息-是否</br>预制化',
+
+                },
+                {
+                    field: 'confessPrefabDescription',
+                    width:100,
+                    title: '交底预制化</br>信息-预制</br>化描述',
+
+                },
+                {
+                    field: 'designCivilFoundation',
+                    width:100,
+                    title: '设计预制化</br>信息-是否</br>含新建土</br>建基础/包封',
+
+                },
+                {
+                    field: 'designPrefab',
+                    width:100,
+                    title: '设计预制化</br>信息-是否</br>预制化',
+
+                },
+                {
+                    field: 'designPrefabDescription',
+                    width:100,
+                    title: '设计预制化</br>信息-预制</br>化描述',
+
+                },
+
+        ]
+    });
+
+
+    if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {//如果是移动端
+        $('#projectTable').bootstrapTable("toggleView");
+    }
+
+    $('#projectTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+        'check-all.bs.table uncheck-all.bs.table', function () {
+        $('#remove').prop('disabled', !$('#projectTable').bootstrapTable('getSelections').length);
+        $('#view,#edit,#jlEdit').prop('disabled', $('#projectTable').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) {
+                var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                iframeWin.contentWindow.importExcel('${ctx}/cg/reservemanagementcenter/reservePreconstruct/import', function (data) {
+                    if (data.success) {
+                        jp.success(data.msg);
+                        refresh();
+                    } else {
+                        jp.error(data.msg);
+                    }
+                    jp.close(index);
+                });//调用保存事件
+                return false;
+            },
+            btn2: function (index) {
+                //  jp.close(index);
+            }
+        });
+    });
+
+    $("#jlImport").click(function () {
+        jp.open({
+            type: 2,
+            area: [500, 200],
+            auto: true,
+            title: "导入数据",
+            content: "${ctx}/tag/importExcel",
+            btn: ['确定', '关闭'],
+            btn1: function (index, layero) {
+                var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                iframeWin.contentWindow.importExcel('${ctx}/cg/reservemanagementcenter/reservePreconstruct/jlImport', function (data) {
+                    if (data.success) {
+                        jp.success(data.msg);
+                        refresh();
+                    } else {
+                        jp.error(data.msg);
+                    }
+                    jp.close(index);
+                });//调用保存事件
+                return false;
+            },
+
+            btn2: function (index) {
+                //  jp.close(index);
+            }
+        });
+    });
+
+    $("#btnExport").click(function () {
+        var projectReserveId = $("#projectReserveId").val();
+        var projectName = $("#projectName").val();
+        jp.downloadFile('${ctx}/cg/reservemanagementcenter/reservePreconstruct/export?projectReserveId=' + projectReserveId + '&projectName=' + projectName);
+    });
+
+    $("#search").click("click", function () {// 绑定查询按扭
+        $('#projectTable').bootstrapTable('refresh');
+    });
+
+    $("#reset").click("click", function () {// 绑定查询按扭
+        $("#searchForm  input").val("");
+        $("#searchForm  select").val("");
+        $("#searchForm  .select-item").html("");
+        $('#projectTable').bootstrapTable('refresh');
+    });
+
+    $('#beginBeginDate').datetimepicker({
+        format: "YYYY-MM-DD HH:mm:ss"
+    });
+    $('#endBeginDate').datetimepicker({
+        format: "YYYY-MM-DD HH:mm:ss"
+    });
+    $('#endDate').datetimepicker({
+        format: "YYYY-MM-DD HH:mm:ss"
+    });
+});
+
+function getIdSelections() {
+    return $.map($("#projectTable").bootstrapTable('getSelections'), function (row) {
+        return row.id
+    });
+}
+
+
+//刷新列表
+function refresh() {
+    $('#projectTable').bootstrapTable('refresh');
+}
+
+function add() {
+    jp.openSaveDialog('新增储备项目基本信息', "${ctx}/cg/reservemanagementcenter/reservePreconstruct/form", '800px', '500px');
+}
+
+
+function edit(id) {//没有权限时,不显示确定按钮
+    if (id == undefined) {
+        id = getIdSelections();
+    }
+    jp.openSaveDialog('编辑储备项目基本信息', "${ctx}/cg/reservemanagementcenter/reservePreconstruct/form?id=" + id, '800px', '500px');
+}
+
+function jlEdit(id) {//没有权限时,不显示确定按钮
+    if (id == undefined) {
+        id = getIdSelections();
+    }
+    jp.openSaveDialog('编辑储备项目基本信息', "${ctx}/cg/reservemanagementcenter/reservePreconstruct/jlEdit?id=" + id, '800px', '500px');
+}
+
+function view(id,implementPlan,implementBatch) {//没有权限时,不显示确定按钮
+    if (id == undefined) {
+        id = getIdSelections();
+    }
+    jp.openViewDialog('查看储备项目基本信息', "${ctx}/cg/reservemanagementcenter/reservePreconstruct/view?id=" + id + "&implementPlan=" + implementPlan + "&implementBatch=" + implementBatch, '800px', '500px');
+}
+
+function deleteAll(){
+
+    jp.confirm('确认要删除该储备项目基本信息吗?', function(){
+        jp.loading();
+        jp.get("${ctx}/cg/reservemanagementcenter/reservePreconstruct/deleteAll?ids=" + getIdSelections(), function(data){
+            if(data.success){
+                $('#projectTable').bootstrapTable('refresh');
+                jp.success(data.msg);
+            }else{
+                jp.error(data.msg);
+            }
+        })
+
+    })
+}
+//转换日期格式(时间戳转换为datetime格式)
+function changeDateFormat(cellval) {
+    var dateVal = cellval + "";
+    if (cellval != null) {
+        var date = new Date(parseInt(dateVal.replace("/Date(", "").replace(")/", ""), 10));
+        var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
+        var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
+
+        /*var hours = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
+        var minutes = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
+        var seconds = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();*/
+
+        return date.getFullYear() + "-" + month + "-" + currentDate /*+ " " + hours + ":" + minutes + ":" + seconds*/;
+    }
+}
+
+</script>

+ 98 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reservePreconstruct/reserveManagementInformation.jsp

@@ -0,0 +1,98 @@
+<%@ 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="reserveManagementInformation.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="reserveManagement" 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="projectReserveId" htmlEscape="false" maxlength="100"  class=" form-control"/>
+					</div>
+					<div class="col-xs-12 col-sm-6 col-md-4">
+						<label class="label-item single-overflow pull-left" title="项目名称:">项目名称:</label>
+						<form:input path="projectName" htmlEscape="false" maxlength="100"  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">
+			<shiro:hasPermission name="cg:reservemanagementcenter:reservePreconstruct:add">
+				<button id="add" class="btn btn-primary" onclick="add()">
+					<i class="glyphicon glyphicon-plus"></i> 新增
+				</button>
+			</shiro:hasPermission>
+			<shiro:hasPermission name="cg:reservemanagementcenter:reservePreconstruct:edit">
+				<button id="edit" class="btn btn-primary" onclick="edit()">
+					<i class="glyphicon glyphicon-edit"></i> 修改 <!--专职修改-->
+				</button>
+			</shiro:hasPermission>
+<%--			<shiro:hasPermission name="sg:managementcenter:reserveManagement:jlEdit">
+				<button id="jlEdit" class="btn btn-primary" onclick="jlEdit()">
+					<i class="glyphicon glyphicon-edit"></i> 修改 <!--经理修改-->
+				</button>
+			</shiro:hasPermission>--%>
+			<shiro:hasPermission name="cg:reservemanagementcenter:reservePreconstruct:del">
+				<button id="remove" class="btn btn-danger" onclick="deleteAll()">
+					<i class="glyphicon glyphicon-remove"></i> 删除
+				</button>
+			</shiro:hasPermission>
+			<shiro:hasPermission name="cg:reservemanagementcenter:reservePreconstruct:import">
+				<button id="btnImport" class="btn btn-info">
+					<i class="fa fa-folder-open-o"></i> 导入  <!--专职导入-->
+				</button>
+			</shiro:hasPermission>
+<%--			<shiro:hasPermission name="sg:managementcenter:reserveManagement:jlImport">
+				<button id="jlImport" class="btn btn-info">
+					<i class="fa fa-folder-open-o"></i> 导入  <!--经理导入-->
+				</button>
+			</shiro:hasPermission>--%>
+			<shiro:hasPermission name="cg:reservemanagementcenter:reservePreconstruct:export">
+				<button id="btnExport" class="btn btn-warning">
+					<i class="fa fa-file-excel-o"></i> 导出
+				</button>
+			</shiro:hasPermission>
+		    </div>
+	<!-- 表格 -->
+	<table id="projectTable" style="table-layout:fixed" class="table" data-toolbar="#toolbar"></table>
+
+	</div>
+	</div>
+	</div>
+</body>
+</html>

+ 337 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reservePreconstruct/reserveManagementModifyByjl.jsp

@@ -0,0 +1,337 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>项目储备信息</title>
+	<meta name="decorator" content="ani"/>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+			$('#disclosureFinishDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+		});
+		function save() {
+			var isValidate = jp.validateForm('#inputForm');//校验表单
+			if(!isValidate){
+				return false;
+			}else{
+				jp.loading();
+				jp.post("${ctx}/sg/managementCenter/reserveManagement/jlUpdate",$('#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="reserveManagement" class="form-horizontal">
+	<form:hidden path="id"/>
+	<table class="table table-bordered">
+		<tbody>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">方案交底组织:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">交底牵头部门:</label></td>
+			<td class="width-35">
+				<form:input path="disclosureToCoordinate" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">交底参与部门:</label></td>
+			<td class="width-35">
+				<form:input path="disclosureParticipate" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否完成交底:</label></td>
+			<td class="width-35">
+				<select id="whetherFinishDisclosure" name="whetherFinishDisclosure"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.whetherFinishDisclosure=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.whetherFinishDisclosure=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">项目管理中心人员:</label></td>
+			<td class="width-35">
+				<form:input path="projectManagementPeople" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">设计院人员:</label></td>
+			<td class="width-35">
+				<form:input path="designingInstitutePeople" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">经研所人员:</label></td>
+			<td class="width-35">
+				<form:input path="ifoPeople" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域中心人员:</label></td>
+			<td class="width-35">
+				<form:input path="regionalCenterPeople" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">不停电作业中心人员:</label></td>
+			<td class="width-35">
+				<form:input path="uninterruptedOperationPeople" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">作业方式:</label></td>
+			<td class="width-35">
+				<form:input path="workMode" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">交底完成日期:</label></td>
+			<td class="width-35">
+				<div class='input-group form_datetime' id='disclosureFinishDate'>
+					<input type='text'  name="disclosureFinishDate" class="form-control required"  value="<fmt:formatDate value="${reserveManagement.disclosureFinishDate}" 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="">备注:</label></td>
+			<td class="width-35">
+				<form:textarea path="disclosureRemarks" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+
+
+
+
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">方案交底结论:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">立项说明:</label></td>
+			<td class="width-35">
+				<form:textarea path="projectDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">不具备立项条件说明:</label></td>
+			<td class="width-35">
+				<form:textarea path="doNotPossessProjectDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">方案变更说明:</label></td>
+			<td class="width-35">
+				<form:textarea path="changedProgramsExplain" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处难度初判:</label></td>
+			<td class="width-35">
+				<form:input path="initialDifficulty" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有资本设备:</label></td>
+			<td class="width-35">
+				<select id="capitalEquipment" name="capitalEquipment"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.capitalEquipment=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.capitalEquipment=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否有变电站新出线:</label></td>
+			<td class="width-35">
+				<select id="substationNewLine" name="substationNewLine"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.substationNewLine=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.substationNewLine=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否已实施:</label></td>
+			<td class="width-35">
+				<select id="whetherImplement" name="whetherImplement"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.whetherImplement=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.whetherImplement=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">现场情况描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="fieldDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有实施必要性:</label></td>
+			<td class="width-35">
+				<select id="necessaryOfImplementation" name="necessaryOfImplementation"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.necessaryOfImplementation=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.necessaryOfImplementation=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">实施无必要描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="unnecessaryDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否存在前置条件:</label></td>
+			<td class="width-35">
+				<select id="precondition" name="precondition"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.precondition=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.precondition=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">前置条件描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="conditionsDescribed" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否存在施工方案问题:</label></td>
+			<td class="width-35">
+				<select id="constructionSchemeProblem" name="constructionSchemeProblem"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.constructionSchemeProblem=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.constructionSchemeProblem=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">施工方案问题描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="problemDescriptionOfConstructionScheme" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">现场是否存在安全隐患:</label></td>
+			<td class="width-35">
+				<select id="existingSecurityThreat" name="existingSecurityThreat"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.existingSecurityThreat=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.existingSecurityThreat=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">安全隐患描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="safetyHazardDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否需要定制物资:</label></td>
+			<td class="width-35">
+				<select id="customizedMaterials" name="customizedMaterials"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.customizedMaterials=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.customizedMaterials=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">定制物资描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="materialDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有拆旧物资:</label></td>
+			<td class="width-35">
+				<select id="dismantlingTheOldMaterial" name="dismantlingTheOldMaterial"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.dismantlingTheOldMaterial=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.dismantlingTheOldMaterial=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">作业方式:</label></td>
+			<td class="width-35">
+				<form:input path="operatingType" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有土建工作量:</label></td>
+			<td class="width-35">
+				<select id="civilWork" name="civilWork"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.civilWork=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.civilWork=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">停电问题描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="problemDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有立杆工作量:</label></td>
+			<td class="width-35">
+				<select id="verticalRodWorkload" name="verticalRodWorkload"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.verticalRodWorkload=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.verticalRodWorkload=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">总工作量描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="totalWorkloadDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域中心:</label></td>
+			<td class="width-35">
+				<form:input path="regionalCenter" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">供电所辖区:</label></td>
+			<td class="width-35">
+				<form:input path="powerSupplyArea" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处地点:</label></td>
+			<td class="width-35">
+				<form:input path="zhengLocation" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处类型(可多类):</label></td>
+			<td class="width-35">
+				<form:input path="zhengType" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处对象(产权单位):</label></td>
+			<td class="width-35">
+				<form:input path="zhengObject" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="zhengDescribe" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否需规划报批:</label></td>
+			<td class="width-35">
+				<select id="projectApproval" name="projectApproval" class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.projectApproval=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.projectApproval=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否需办理安评航评手续:</label></td>
+			<td class="width-35">
+				<select id="courseEvaluationProcedures" name="courseEvaluationProcedures" class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.courseEvaluationProcedures=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.courseEvaluationProcedures=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处难点提醒:</label></td>
+			<td class="width-35">
+				<form:textarea path="zhengDifficultyWarn" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		</tbody>
+	</table>
+</form:form>
+</body>
+</html>

+ 242 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reservePreconstruct/reserveManagementModifyByzz.jsp

@@ -0,0 +1,242 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>修改带电作业信息</title>
+	<meta name="decorator" content="ani"/>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+
+	        $('#beginDate').datetimepicker({
+				 format: "YYYY-MM-DD HH:mm:ss"
+		    });
+	        $('#endDate').datetimepicker({
+				 format: "YYYY-MM-DD HH:mm:ss"
+		    });
+		});
+		function save() {
+			var projectReserveId = $("#projectReserveId").val();
+			var projectName = $("#projectName").val();
+			var construct = $("#constructionNecessityAndContent").val();
+			var jdYzh = $("#confessPrefab").val();
+			var jdYzhVal = $("#confessPrefabDescription").val();
+
+			var sjYzh = $("#designPrefab").val();
+			var sjYzhVal = $("#designPrefabDescription").val();
+
+			if (null==projectReserveId||""==projectReserveId){
+				jp.error("请填写项目储备编号!");
+			}else if(null==projectName||""==projectName){
+				jp.error("请填写项目名称!");
+			}else if (null==construct||""==construct){
+				jp.error("请填写建设必要性及内容!")
+			}else if ('是'==jdYzh&&''==jdYzhVal){
+				jp.error("请填写交底预制化描述!")
+			}else if ('是'==sjYzh&&""==sjYzhVal){
+				jp.error("请填写设计预制化描述!")
+			}
+
+
+		    else {
+                var isValidate = jp.validateForm('#inputForm');//校验表单
+                if(!isValidate){
+                    return false;
+                }else{
+                    jp.loading();
+                    jp.post("${ctx}/cg/reservemanagementcenter/reservePreconstruct/update",$('#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="reserveManagement" class="form-horizontal">
+	<form:hidden path="id"/>
+	<table class="table table-bordered">
+		<tbody>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">储备项目基本信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">项目年份:</label></td>
+			<td class="width-35">
+				<form:input path="projectYear" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目性质:</label></td>
+			<td class="width-35">
+				<form:input path="projectNature" htmlEscape="false" class="form-control"/>
+			</td>
+
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">需求单位:</label></td>
+			<td class="width-35">
+				<form:input path="demandUnit" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域:</label></td>
+			<td class="width-35">
+				<form:input path="district" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目分组:</label></td>
+			<td class="width-35">
+				<form:input path="projectGroup" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">储备批次:</label></td>
+			<td class="width-35">
+				<form:input path="reserveBatches" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">供电区域:</label></td>
+			<td class="width-35">
+				<form:input path="blockSupply" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>网格编号:</label></td>
+			<td class="width-35">
+				<form:input path="gridNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>单元格编号:</label></td>
+			<td class="width-35">
+				<form:input path="cellNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目储备编号:</label></td>
+			<td class="width-35">
+				<form:input path="projectReserveId" htmlEscape="false"  readonly="true"  class="form-control required"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目名称:</label></td>
+			<td class="width-35">
+				<form:input path="projectName" htmlEscape="false"    class="form-control required"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>建设必要性及内容:</label></td>
+			<td class="width-35">
+				<form:input path="constructionNecessityAndContent" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">变电站名称:</label></td>
+			<td class="width-35">
+				<form:input path="substationName" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">线路名称:</label></td>
+			<td class="width-35">
+				<form:input path="circuitName" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">网架项目划分:</label></td>
+			<td class="width-35">
+				<form:input path="netRackProjectDivide" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">需求类型:</label></td>
+			<td class="width-35">
+				<form:input path="requirementType" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">费用估算:</label></td>
+			<td class="width-35">
+				<form:input path="costEstimate" htmlEscape="false"    class="form-control number money"/>
+			</td>
+			<td class="width-15 active"><label class="">备注:</label></td>
+			<td class="width-35">
+				<form:textarea path="basicRemarks" htmlEscape="false" rows="3" maxlength="200" class="form-control"/>
+			</td>
+		</tr>
+
+		<tr>
+			<td class="width-15 active"><label class="">储备进度:</label></td>
+			<td class="width-35">
+				<form:input path="reserveProgress" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否纳入实施计划:</label></td>
+			<td class="width-35">
+				<form:input path="implementPlan" readonly="true" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">初定实施批次:</label></td>
+			<td class="width-35">
+				<form:input path="implementBatch" readonly="true" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">交底预制化信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否含新建土建基础/包封:</label></td>
+			<td class="width-35">
+				<select id="confessCivilFoundation" name="confessCivilFoundation"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.confessCivilFoundation=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.confessCivilFoundation=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否预制化:</label></td>
+			<td class="width-35">
+				<select id="confessPrefab" name="confessPrefab"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.confessPrefab=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.confessPrefab=='否'}">selected</c:if>>否</option>
+					<option value="部分" <c:if test="${reserveManagement.confessPrefab=='部分'}">selected</c:if>>部分</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">预制化描述:</label></td>
+			<td class="width-35">
+				<form:input path="confessPrefabDescription" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">设计预制化信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否含新建土建基础/包封:</label></td>
+			<td class="width-35">
+				<select id="designCivilFoundation" name="designCivilFoundation"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.designCivilFoundation=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.designCivilFoundation=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否预制化:</label></td>
+			<td class="width-35">
+				<select id="designPrefab" name="designPrefab"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.designPrefab=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.designPrefab=='否'}">selected</c:if>>否</option>
+					<option value="部分" <c:if test="${reserveManagement.designPrefab=='部分'}">selected</c:if>>部分</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">预制化描述:</label></td>
+			<td class="width-35">
+				<form:input path="designPrefabDescription" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+
+		</tbody>
+	</table>
+</form:form>
+</body>
+</html>

+ 214 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reservePreconstruct/reserveManagementView.jsp

@@ -0,0 +1,214 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>项目储备信息</title>
+	<meta name="decorator" content="ani"/>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+			$('#disclosureFinishDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+		});
+		function save() {
+			var isValidate = jp.validateForm('#inputForm');//校验表单
+			if(!isValidate){
+				return false;
+			}else{
+				/*jp.loading();
+				jp.post("${ctx}/sg/managementCenter/reserveManagement/update",$('#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="reserveManagement" class="form-horizontal">
+	<form:hidden path="id"/>
+	<table class="table table-bordered">
+		<tbody>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">储备项目基本信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">项目年份:</label></td>
+			<td class="width-35">
+				<form:input path="projectYear" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目性质:</label></td>
+			<td class="width-35">
+				<form:input path="projectNature" htmlEscape="false" class="form-control"/>
+			</td>
+
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">需求单位:</label></td>
+			<td class="width-35">
+				<form:input path="demandUnit" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域:</label></td>
+			<td class="width-35">
+				<form:input path="district" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目分组:</label></td>
+			<td class="width-35">
+				<form:input path="projectGroup" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">储备批次:</label></td>
+			<td class="width-35">
+				<form:input path="reserveBatches" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">供电区域:</label></td>
+			<td class="width-35">
+				<form:input path="blockSupply" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>网格编号:</label></td>
+			<td class="width-35">
+				<form:input path="gridNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>单元格编号:</label></td>
+			<td class="width-35">
+				<form:input path="cellNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目储备编号:</label></td>
+			<td class="width-35">
+				<form:input path="projectReserveId" htmlEscape="false"  readonly="true"  class="form-control required"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目名称:</label></td>
+			<td class="width-35">
+				<form:input path="projectName" htmlEscape="false"    class="form-control required"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>建设必要性及内容:</label></td>
+			<td class="width-35">
+				<form:input path="constructionNecessityAndContent" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">变电站名称:</label></td>
+			<td class="width-35">
+				<form:input path="substationName" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">线路名称:</label></td>
+			<td class="width-35">
+				<form:input path="circuitName" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">网架项目划分:</label></td>
+			<td class="width-35">
+				<form:input path="netRackProjectDivide" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">需求类型:</label></td>
+			<td class="width-35">
+				<form:input path="requirementType" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">费用估算:</label></td>
+			<td class="width-35">
+				<form:input path="costEstimate" htmlEscape="false"    class="form-control number money"/>
+			</td>
+			<td class="width-15 active"><label class="">备注:</label></td>
+			<td class="width-35">
+				<form:textarea path="basicRemarks" htmlEscape="false" rows="3" maxlength="200" class="form-control"/>
+			</td>
+		</tr>
+
+		<tr>
+			<td class="width-15 active"><label class="">储备进度:</label></td>
+			<td class="width-35">
+				<form:input path="reserveProgress" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否纳入实施计划:</label></td>
+			<td class="width-35">
+				<form:input path="implementPlan" readonly="true" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">初定实施批次:</label></td>
+			<td class="width-35">
+				<form:input path="implementBatch" readonly="true" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">交底预制化信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否含新建土建基础/包封:</label></td>
+			<td class="width-35">
+				<select id="confessCivilFoundation" name="confessCivilFoundation"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.confessCivilFoundation=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.confessCivilFoundation=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否预制化:</label></td>
+			<td class="width-35">
+				<select id="confessPrefab" name="confessPrefab"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.confessPrefab=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.confessPrefab=='否'}">selected</c:if>>否</option>
+					<option value="部分" <c:if test="${reserveManagement.confessPrefab=='部分'}">selected</c:if>>部分</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">预制化描述:</label></td>
+			<td class="width-35">
+				<form:input path="confessPrefabDescription" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">设计预制化信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否含新建土建基础/包封:</label></td>
+			<td class="width-35">
+				<select id="designCivilFoundation" name="designCivilFoundation"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.designCivilFoundation=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.designCivilFoundation=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否预制化:</label></td>
+			<td class="width-35">
+				<select id="designPrefab" name="designPrefab"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.designPrefab=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.designPrefab=='否'}">selected</c:if>>否</option>
+					<option value="部分" <c:if test="${reserveManagement.designPrefab=='部分'}">selected</c:if>>部分</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">预制化描述:</label></td>
+			<td class="width-35">
+				<form:input path="designPrefabDescription" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+
+		</tbody>
+	</table>
+</form:form>
+</body>
+</html>

+ 344 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveSafeDisclosure/reserveManagementForm.jsp

@@ -0,0 +1,344 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>新增带电作业信息</title>
+	<meta name="decorator" content="ani"/>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+
+	        $('#beginDate').datetimepicker({
+				 format: "YYYY-MM-DD HH:mm:ss"
+		    });
+	        $('#endDate').datetimepicker({
+				 format: "YYYY-MM-DD HH:mm:ss"
+		    });
+		});
+		function save() {
+		    var projectReserveId = $("#projectReserveId").val();
+		    var projectName = $("#projectName").val();
+		    var construct = $("#constructionNecessityAndContent").val();
+
+
+		    if (null==projectReserveId||""==projectReserveId){
+                jp.error("请填写项目储备编号!");
+			}else if(null==projectName||""==projectName){
+				jp.error("请填写项目名称!");
+			}else if (null==construct||""==construct){
+		    	jp.error("请填写建设必要性及内容!")
+			}
+
+
+		    else {
+                var isValidate = jp.validateForm('#inputForm');//校验表单
+                if(!isValidate){
+                    return false;
+                }else{
+                    jp.loading();
+                    jp.post("${ctx}/cg/reservemanagementcenter/reserveSafeDisclosure/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="reserveManagement" class="form-horizontal">
+	<form:hidden path="id"/>
+	<table class="table table-bordered">
+		<tbody>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">储备项目基本信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">项目年份:</label></td>
+			<td class="width-35">
+				<form:input path="projectYear" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目性质:</label></td>
+			<td class="width-35">
+				<form:input path="projectNature" htmlEscape="false" class="form-control"/>
+			</td>
+
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">需求单位:</label></td>
+			<td class="width-35">
+				<form:input path="demandUnit" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域:</label></td>
+			<td class="width-35">
+				<form:input path="district" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目分组:</label></td>
+			<td class="width-35">
+				<form:input path="projectGroup" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">储备批次:</label></td>
+			<td class="width-35">
+				<form:input path="reserveBatches" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">供电区域:</label></td>
+			<td class="width-35">
+				<form:input path="blockSupply" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>网格编号:</label></td>
+			<td class="width-35">
+				<form:input path="gridNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>单元格编号:</label></td>
+			<td class="width-35">
+				<form:input path="cellNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目储备编号:</label></td>
+			<td class="width-35">
+				<form:input path="projectReserveId" htmlEscape="false"  readonly="true"  class="form-control required"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目名称:</label></td>
+			<td class="width-35">
+				<form:input path="projectName" htmlEscape="false"    class="form-control required"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>建设必要性及内容:</label></td>
+			<td class="width-35">
+				<form:input path="constructionNecessityAndContent" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">变电站名称:</label></td>
+			<td class="width-35">
+				<form:input path="substationName" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">线路名称:</label></td>
+			<td class="width-35">
+				<form:input path="circuitName" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">网架项目划分:</label></td>
+			<td class="width-35">
+				<form:input path="netRackProjectDivide" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">需求类型:</label></td>
+			<td class="width-35">
+				<form:input path="requirementType" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">费用估算:</label></td>
+			<td class="width-35">
+				<form:input path="costEstimate" htmlEscape="false"    class="form-control number money"/>
+			</td>
+			<td class="width-15 active"><label class="">备注:</label></td>
+			<td class="width-35">
+				<form:textarea path="basicRemarks" htmlEscape="false" rows="3" maxlength="200" class="form-control"/>
+			</td>
+		</tr>
+
+		<tr>
+			<td class="width-15 active"><label class="">储备进度:</label></td>
+			<td class="width-35">
+				<form:input path="reserveProgress" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">安全隐患排查:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否临近(交叉)输电线路作业(含土建):</label></td>
+			<td class="width-35">
+				<select id="transmissionWork" name="transmissionWork"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.transmissionWork=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.transmissionWork=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否临近(交叉)输电线路作业(含土建)-描述:</label></td>
+			<td class="width-35">
+				<form:input path="workDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否与输电线路同杆架设:</label></td>
+			<td class="width-35">
+				<select id="transmissionErection" name="transmissionErection"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.transmissionErection=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.transmissionErection=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否与输电线路同杆架设-描述:</label></td>
+			<td class="width-35">
+				<form:input path="erecteDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否与输电线路共沟:</label></td>
+			<td class="width-35">
+				<select id="transmissionCommonTrench" name="transmissionCommonTrench"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.transmissionCommonTrench=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.transmissionCommonTrench=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否与输电线路共沟-描述:</label></td>
+			<td class="width-35">
+				<form:input path="trenchDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否临近带电中压线路作业:</label></td>
+			<td class="width-35">
+				<select id="mediumVoltageWork" name="mediumVoltageWork"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.mediumVoltageWork=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.mediumVoltageWork=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否临近带电中压线路作业-描述:</label></td>
+			<td class="width-35">
+				<form:input path="voltageWorkDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有限空间作业:</label></td>
+			<td class="width-35">
+				<select id="confineSpaceWork" name="confineSpaceWork"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.confineSpaceWork=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.confineSpaceWork=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否有限空间作业-描述:</label></td>
+			<td class="width-35">
+				<form:input path="spaceDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否存在变电站出线电缆搭接-是:</label></td>
+			<td class="width-35">
+				<select id="subStationCableBonding" name="subStationCableBonding"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.subStationCableBonding=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.subStationCableBonding=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否存在变电站出线电缆搭接-是-描述:</label></td>
+			<td class="width-35">
+				<form:input path="cableDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否存在跨越公路、铁路、航道作业:</label></td>
+			<td class="width-35">
+				<select id="roadRailwaysAndWaterwaysWork" name="roadRailwaysAndWaterwaysWork"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.roadRailwaysAndWaterwaysWork=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.roadRailwaysAndWaterwaysWork=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否存在跨越公路、铁路、航道作业-描述:</label></td>
+			<td class="width-35">
+				<form:input path="waterDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否存在动火作业:</label></td>
+			<td class="width-35">
+				<select id="hotWork" name="hotWork"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.hotWork=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.hotWork=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否存在动火作业-描述:</label></td>
+			<td class="width-35">
+				<form:input path="hotWorkDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>是否需停电四条以上线路:</label></td>
+			<td class="width-35">
+				<select id="blackoutLineFour" name="blackoutLineFour"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.blackoutLineFour=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.blackoutLineFour=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>是否需停电四条以上线路-描述:</label></td>
+			<td class="width-35">
+				<form:input path="lineFourDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>是否三条以上线路负荷改接:</label></td>
+			<td class="width-35">
+				<select id="lineLoadRedirectionThree" name="lineLoadRedirectionThree"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.lineLoadRedirectionThree=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.lineLoadRedirectionThree=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否三条以上线路负荷改接-描述:</label></td>
+			<td class="width-35">
+				<form:input path="threeRedirectDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否多专业、多班组大型作业:</label></td>
+			<td class="width-35">
+				<select id="largeScaleMultiTeamWork" name="largeScaleMultiTeamWork"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.largeScaleMultiTeamWork=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.largeScaleMultiTeamWork=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否多专业、多班组大型作业-描述:</label></td>
+			<td class="width-35">
+				<form:input path="teamWorkDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否需编制三措:</label></td>
+			<td class="width-35">
+				<select id="prepareThreeMeasures" name="prepareThreeMeasures"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.prepareThreeMeasures=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.prepareThreeMeasures=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否需编制三措-描述:</label></td>
+			<td class="width-35">
+				<form:input path="measureDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">作业风险等级预判:</label></td>
+			<td class="width-35">
+				<form:input path="jobRiskLevelPrediction" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		</tbody>
+	</table>
+</form:form>
+</body>
+</html>

+ 430 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveSafeDisclosure/reserveManagementInformation.js

@@ -0,0 +1,430 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script >
+$(document).ready(function () {
+    $('#projectTable').bootstrapTable({
+        //请求方法
+        method: 'post',
+        //类型json
+        dataType: "json",
+        contentType: "application/x-www-form-urlencoded",
+        //显示检索按钮
+        showSearch: true,
+        //显示刷新按钮
+        showRefresh: true,
+        //显示切换手机试图按钮
+        showToggle: true,
+        //显示 内容列下拉框
+        showColumns: true,
+        //显示到处按钮
+        showExport: true,
+        //显示切换分页按钮
+        showPaginationSwitch: true,
+        //最低显示2行
+        minimumCountColumns: 2,
+        //是否显示行间隔色
+        striped: true,
+        //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+        cache: false,
+        //是否显示分页(*)
+        pagination: true,
+        //排序方式
+        sortOrder: "asc",
+        //初始化加载第一页,默认第一页
+        pageNumber: 1,
+        //每页的记录行数(*)
+        pageSize: 5,
+        //可供选择的每页的行数(*)
+        pageList: [5, 10, 25, 50, 100],
+        //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+        url: "${ctx}/cg/reservemanagementcenter/reserveSafeDisclosure/list",
+        //默认值为 '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}/cg/reservemanagementcenter/project/delete?id=" + row.id, function (data) {
+                        if (data.success) {
+                            $('#projectTable').bootstrapTable('refresh');
+                            jp.success(data.msg);
+                        } else {
+                            jp.error(data.msg);
+                        }
+                    })
+                });
+            }
+        },
+
+        onClickRow: function (row, $el) {
+        },
+        onShowSearch: function () {
+            $("#search-collapse").slideToggle();
+        },
+        columns:
+            [
+                {
+                    checkbox: true,
+                    width:36,
+
+                },
+                {
+                    field: 'projectYear',
+                    width: 65,
+                    title: '项目</br>年份',
+                }
+                , {
+                    field: 'projectNature',
+                    width:65,
+                    title: '项目</br>性质',
+
+                },{
+                    field: 'demandUnit',
+                    width:70,
+                    title: '需求</br>单位',
+
+                },{
+                    field: 'district',
+                    width:60,
+                    title: '区域',
+
+                },{
+                    field: 'projectGroup',
+                    width:70,
+                    title: '项目</br>分组',
+
+                },{
+                    field: 'reserveBatches',
+                    width:70,
+                    title: '储备</br>批次',
+
+                },{
+                    field: 'blockSupply',
+                    width:60,
+                    title: '供电</br>区域',
+
+                },{
+                    field: 'gridNumber',
+                    width:90,
+                    title: '网格编号',
+
+                },{
+                    field: 'cellNumber',
+                    width:100,
+                    title: '单元格编号',
+
+                },{
+                    field: 'projectReserveId',
+                    width:150,
+                    title: '项目储备编号',
+
+                    formatter:function(value, row , index){
+                        if(value == null || value ==""){
+                            value = "-";
+                        }
+                    <c:choose>
+                        <c:when test="${fns:hasPermission('cg:reservemanagementcenter:reserveSafeDisclosure:view')}">
+                        return "<a href='javascript:view(\""+row.id+"\")'>"+value+"</a>";
+                    </c:when>
+                        <c:otherwise>
+                        return value;
+                    </c:otherwise>
+                        </c:choose>
+
+                    }
+                },{
+                    field: 'projectName',
+                    width:200,
+                    title: '项目名称',
+
+                },{
+                    field: 'constructionNecessityAndContent',
+                    width:400,
+                    title: '建设必要性及内容',
+
+                },{
+                    field: 'substationName',
+                    width:80,
+                    title: '变电站</br>名称',
+
+                },{
+                    field: 'circuitName',
+                    width:100,
+                    title: '线路名称',
+
+                },{
+                    field: 'netRackProjectDivide',
+                    width:80,
+                    title: '网架项目</br>划分',
+
+                },{
+                    field: 'requirementType',
+                    width:100,
+                    title: '需求类型',
+
+                },{
+                    field: 'costEstimate',
+                    width:80,
+                    title: '费用</br>估算',
+
+                },{
+                    field: 'basicRemarks',
+                    width:200,
+                    title: '备注',
+
+                },{
+                    field: 'reserveProgress',
+                    width:80,
+                    title: '储备</br>进度',
+
+                },{
+                    field: 'transmissionWork',
+                    width:120,
+                    title: '是否临近(交叉)</br>输电线路作业</br>(含土建)',
+
+                },{
+                    field: 'transmissionErection',
+                    width:100,
+                    title: '是否与</br>输电线路</br>同杆架设',
+
+                },
+
+                {
+                    field: 'transmissionCommonTrench',
+                    width:80,
+                    title: '是否与</br>输电线</br>路共沟',
+
+                },{
+                    field: 'mediumVoltageWork',
+                    width:80,
+                    title: '是否临近</br>带电中压</br>线路作业',
+
+                },{
+                    field: 'confineSpaceWork',
+                    width:80,
+                    title: '是否有</br>限空间</br>作业',
+
+                },{
+                    field: 'subStationCableBonding',
+                    width:80,
+                    title: '是否存在</br>变电站</br>出线电缆</br>搭接-是',
+
+                },{
+                    field: 'roadRailwaysAndWaterwaysWork',
+                    width:80,
+                    title: '是否存在</br>跨越公路、</br>铁路、航道</br>作业',
+                },
+                {
+                    field: 'hotWork',
+                    width:80,
+                    title: '是否存在</br>动火作业',
+                },
+                {
+                    field: 'blackoutLineFour',
+                    width:80,
+                    title: '是否需</br>停电四条</br>以上线路',
+                },
+                {
+                    field: 'lineLoadRedirectionThree',
+                    width:80,
+                    title: '是否</br>三条以上</br>线路</br>负荷改接',
+                },
+                {
+                    field: 'largeScaleMultiTeamWork',
+                    width:80,
+                    title: '是否</br>多专业、</br>多班组</br>大型作业',
+                },
+                {
+                    field: 'prepareThreeMeasures',
+                    width:80,
+                    title: '是否需</br>编制三措',
+                },
+                {
+                    field: 'jobRiskLevelPrediction',
+                    width:80,
+                    title: '作业</br>风险等级</br>预判',
+                },
+
+        ]
+    });
+
+
+    if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {//如果是移动端
+        $('#projectTable').bootstrapTable("toggleView");
+    }
+
+    $('#projectTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+        'check-all.bs.table uncheck-all.bs.table', function () {
+        $('#remove').prop('disabled', !$('#projectTable').bootstrapTable('getSelections').length);
+        $('#view,#edit,#jlEdit').prop('disabled', $('#projectTable').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) {
+                var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                iframeWin.contentWindow.importExcel('${ctx}/cg/reservemanagementcenter/reserveSafeDisclosure/import', function (data) {
+                    if (data.success) {
+                        jp.success(data.msg);
+                        refresh();
+                    } else {
+                        jp.error(data.msg);
+                    }
+                    jp.close(index);
+                });//调用保存事件
+                return false;
+            },
+            btn2: function (index) {
+                //  jp.close(index);
+            }
+        });
+    });
+
+    $("#jlImport").click(function () {
+        jp.open({
+            type: 2,
+            area: [500, 200],
+            auto: true,
+            title: "导入数据",
+            content: "${ctx}/tag/importExcel",
+            btn: ['确定', '关闭'],
+            btn1: function (index, layero) {
+                var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                iframeWin.contentWindow.importExcel('${ctx}/cg/reservemanagementcenter/reserveSafeDisclosure/jlImport', function (data) {
+                    if (data.success) {
+                        jp.success(data.msg);
+                        refresh();
+                    } else {
+                        jp.error(data.msg);
+                    }
+                    jp.close(index);
+                });//调用保存事件
+                return false;
+            },
+
+            btn2: function (index) {
+                //  jp.close(index);
+            }
+        });
+    });
+
+    $("#btnExport").click(function () {
+        var projectReserveId = $("#projectReserveId").val();
+        var projectName = $("#projectName").val();
+        jp.downloadFile('${ctx}/cg/reservemanagementcenter/reserveSafeDisclosure/export?projectReserveId=' + projectReserveId + '&projectName=' + projectName);
+    });
+
+    $("#search").click("click", function () {// 绑定查询按扭
+        $('#projectTable').bootstrapTable('refresh');
+    });
+
+    $("#reset").click("click", function () {// 绑定查询按扭
+        $("#searchForm  input").val("");
+        $("#searchForm  select").val("");
+        $("#searchForm  .select-item").html("");
+        $('#projectTable').bootstrapTable('refresh');
+    });
+
+    $('#beginBeginDate').datetimepicker({
+        format: "YYYY-MM-DD HH:mm:ss"
+    });
+    $('#endBeginDate').datetimepicker({
+        format: "YYYY-MM-DD HH:mm:ss"
+    });
+    $('#endDate').datetimepicker({
+        format: "YYYY-MM-DD HH:mm:ss"
+    });
+});
+
+function getIdSelections() {
+    return $.map($("#projectTable").bootstrapTable('getSelections'), function (row) {
+        return row.id
+    });
+}
+
+
+//刷新列表
+function refresh() {
+    $('#projectTable').bootstrapTable('refresh');
+}
+
+function add() {
+    jp.openSaveDialog('新增储备项目基本信息', "${ctx}/cg/reservemanagementcenter/reserveSafeDisclosure/form", '800px', '500px');
+}
+
+
+function edit(id) {//没有权限时,不显示确定按钮
+    if (id == undefined) {
+        id = getIdSelections();
+    }
+    jp.openSaveDialog('编辑储备项目基本信息', "${ctx}/cg/reservemanagementcenter/reserveSafeDisclosure/form?id=" + id, '800px', '500px');
+}
+
+function jlEdit(id) {//没有权限时,不显示确定按钮
+    if (id == undefined) {
+        id = getIdSelections();
+    }
+    jp.openSaveDialog('编辑储备项目基本信息', "${ctx}/cg/reservemanagementcenter/reserveSafeDisclosure/jlEdit?id=" + id, '800px', '500px');
+}
+
+function view(id) {//没有权限时,不显示确定按钮
+    if (id == undefined) {
+        id = getIdSelections();
+    }
+    jp.openViewDialog('查看储备项目基本信息', "${ctx}/cg/reservemanagementcenter/reserveSafeDisclosure/view?id=" + id, '800px', '500px');
+}
+
+function deleteAll(){
+
+    jp.confirm('确认要删除该储备项目基本信息吗?', function(){
+        jp.loading();
+        jp.get("${ctx}/cg/reservemanagementcenter/reserveSafeDisclosure/deleteAll?ids=" + getIdSelections(), function(data){
+            if(data.success){
+                $('#projectTable').bootstrapTable('refresh');
+                jp.success(data.msg);
+            }else{
+                jp.error(data.msg);
+            }
+        })
+
+    })
+}
+//转换日期格式(时间戳转换为datetime格式)
+function changeDateFormat(cellval) {
+    var dateVal = cellval + "";
+    if (cellval != null) {
+        var date = new Date(parseInt(dateVal.replace("/Date(", "").replace(")/", ""), 10));
+        var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
+        var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
+
+        /*var hours = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
+        var minutes = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
+        var seconds = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();*/
+
+        return date.getFullYear() + "-" + month + "-" + currentDate /*+ " " + hours + ":" + minutes + ":" + seconds*/;
+    }
+}
+
+</script>

+ 98 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveSafeDisclosure/reserveManagementInformation.jsp

@@ -0,0 +1,98 @@
+<%@ 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="reserveManagementInformation.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="reserveManagement" 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="projectReserveId" htmlEscape="false" maxlength="100"  class=" form-control"/>
+					</div>
+					<div class="col-xs-12 col-sm-6 col-md-4">
+						<label class="label-item single-overflow pull-left" title="项目名称:">项目名称:</label>
+						<form:input path="projectName" htmlEscape="false" maxlength="100"  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">
+			<shiro:hasPermission name="cg:reservemanagementcenter:reserveSafeDisclosure:add">
+				<button id="add" class="btn btn-primary" onclick="add()">
+					<i class="glyphicon glyphicon-plus"></i> 新增
+				</button>
+			</shiro:hasPermission>
+			<shiro:hasPermission name="cg:reservemanagementcenter:reserveSafeDisclosure:edit">
+				<button id="edit" class="btn btn-primary" onclick="edit()">
+					<i class="glyphicon glyphicon-edit"></i> 修改 <!--专职修改-->
+				</button>
+			</shiro:hasPermission>
+<%--			<shiro:hasPermission name="sg:managementcenter:reserveManagement:jlEdit">
+				<button id="jlEdit" class="btn btn-primary" onclick="jlEdit()">
+					<i class="glyphicon glyphicon-edit"></i> 修改 <!--经理修改-->
+				</button>
+			</shiro:hasPermission>--%>
+			<shiro:hasPermission name="cg:reservemanagementcenter:reserveSafeDisclosure:del">
+				<button id="remove" class="btn btn-danger" onclick="deleteAll()">
+					<i class="glyphicon glyphicon-remove"></i> 删除
+				</button>
+			</shiro:hasPermission>
+			<shiro:hasPermission name="cg:reservemanagementcenter:reserveSafeDisclosure:import">
+				<button id="btnImport" class="btn btn-info">
+					<i class="fa fa-folder-open-o"></i> 导入  <!--专职导入-->
+				</button>
+			</shiro:hasPermission>
+<%--			<shiro:hasPermission name="sg:managementcenter:reserveManagement:jlImport">
+				<button id="jlImport" class="btn btn-info">
+					<i class="fa fa-folder-open-o"></i> 导入  <!--经理导入-->
+				</button>
+			</shiro:hasPermission>--%>
+			<shiro:hasPermission name="cg:reservemanagementcenter:reserveSafeDisclosure:export">
+				<button id="btnExport" class="btn btn-warning">
+					<i class="fa fa-file-excel-o"></i> 导出
+				</button>
+			</shiro:hasPermission>
+		    </div>
+	<!-- 表格 -->
+	<table id="projectTable" style="table-layout:fixed" class="table" data-toolbar="#toolbar"></table>
+
+	</div>
+	</div>
+	</div>
+</body>
+</html>

+ 337 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveSafeDisclosure/reserveManagementModifyByjl.jsp

@@ -0,0 +1,337 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>项目储备信息</title>
+	<meta name="decorator" content="ani"/>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+			$('#disclosureFinishDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+		});
+		function save() {
+			var isValidate = jp.validateForm('#inputForm');//校验表单
+			if(!isValidate){
+				return false;
+			}else{
+				jp.loading();
+				jp.post("${ctx}/sg/managementCenter/reserveManagement/jlUpdate",$('#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="reserveManagement" class="form-horizontal">
+	<form:hidden path="id"/>
+	<table class="table table-bordered">
+		<tbody>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">方案交底组织:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">交底牵头部门:</label></td>
+			<td class="width-35">
+				<form:input path="disclosureToCoordinate" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">交底参与部门:</label></td>
+			<td class="width-35">
+				<form:input path="disclosureParticipate" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否完成交底:</label></td>
+			<td class="width-35">
+				<select id="whetherFinishDisclosure" name="whetherFinishDisclosure"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.whetherFinishDisclosure=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.whetherFinishDisclosure=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">项目管理中心人员:</label></td>
+			<td class="width-35">
+				<form:input path="projectManagementPeople" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">设计院人员:</label></td>
+			<td class="width-35">
+				<form:input path="designingInstitutePeople" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">经研所人员:</label></td>
+			<td class="width-35">
+				<form:input path="ifoPeople" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域中心人员:</label></td>
+			<td class="width-35">
+				<form:input path="regionalCenterPeople" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">不停电作业中心人员:</label></td>
+			<td class="width-35">
+				<form:input path="uninterruptedOperationPeople" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">作业方式:</label></td>
+			<td class="width-35">
+				<form:input path="workMode" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">交底完成日期:</label></td>
+			<td class="width-35">
+				<div class='input-group form_datetime' id='disclosureFinishDate'>
+					<input type='text'  name="disclosureFinishDate" class="form-control required"  value="<fmt:formatDate value="${reserveManagement.disclosureFinishDate}" 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="">备注:</label></td>
+			<td class="width-35">
+				<form:textarea path="disclosureRemarks" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+
+
+
+
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">方案交底结论:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">立项说明:</label></td>
+			<td class="width-35">
+				<form:textarea path="projectDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">不具备立项条件说明:</label></td>
+			<td class="width-35">
+				<form:textarea path="doNotPossessProjectDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">方案变更说明:</label></td>
+			<td class="width-35">
+				<form:textarea path="changedProgramsExplain" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处难度初判:</label></td>
+			<td class="width-35">
+				<form:input path="initialDifficulty" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有资本设备:</label></td>
+			<td class="width-35">
+				<select id="capitalEquipment" name="capitalEquipment"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.capitalEquipment=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.capitalEquipment=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否有变电站新出线:</label></td>
+			<td class="width-35">
+				<select id="substationNewLine" name="substationNewLine"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.substationNewLine=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.substationNewLine=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否已实施:</label></td>
+			<td class="width-35">
+				<select id="whetherImplement" name="whetherImplement"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.whetherImplement=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.whetherImplement=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">现场情况描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="fieldDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有实施必要性:</label></td>
+			<td class="width-35">
+				<select id="necessaryOfImplementation" name="necessaryOfImplementation"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.necessaryOfImplementation=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.necessaryOfImplementation=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">实施无必要描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="unnecessaryDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否存在前置条件:</label></td>
+			<td class="width-35">
+				<select id="precondition" name="precondition"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.precondition=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.precondition=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">前置条件描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="conditionsDescribed" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否存在施工方案问题:</label></td>
+			<td class="width-35">
+				<select id="constructionSchemeProblem" name="constructionSchemeProblem"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.constructionSchemeProblem=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.constructionSchemeProblem=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">施工方案问题描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="problemDescriptionOfConstructionScheme" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">现场是否存在安全隐患:</label></td>
+			<td class="width-35">
+				<select id="existingSecurityThreat" name="existingSecurityThreat"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.existingSecurityThreat=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.existingSecurityThreat=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">安全隐患描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="safetyHazardDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否需要定制物资:</label></td>
+			<td class="width-35">
+				<select id="customizedMaterials" name="customizedMaterials"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.customizedMaterials=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.customizedMaterials=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">定制物资描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="materialDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有拆旧物资:</label></td>
+			<td class="width-35">
+				<select id="dismantlingTheOldMaterial" name="dismantlingTheOldMaterial"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.dismantlingTheOldMaterial=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.dismantlingTheOldMaterial=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">作业方式:</label></td>
+			<td class="width-35">
+				<form:input path="operatingType" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有土建工作量:</label></td>
+			<td class="width-35">
+				<select id="civilWork" name="civilWork"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.civilWork=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.civilWork=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">停电问题描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="problemDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有立杆工作量:</label></td>
+			<td class="width-35">
+				<select id="verticalRodWorkload" name="verticalRodWorkload"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.verticalRodWorkload=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.verticalRodWorkload=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">总工作量描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="totalWorkloadDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域中心:</label></td>
+			<td class="width-35">
+				<form:input path="regionalCenter" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">供电所辖区:</label></td>
+			<td class="width-35">
+				<form:input path="powerSupplyArea" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处地点:</label></td>
+			<td class="width-35">
+				<form:input path="zhengLocation" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处类型(可多类):</label></td>
+			<td class="width-35">
+				<form:input path="zhengType" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处对象(产权单位):</label></td>
+			<td class="width-35">
+				<form:input path="zhengObject" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="zhengDescribe" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否需规划报批:</label></td>
+			<td class="width-35">
+				<select id="projectApproval" name="projectApproval" class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.projectApproval=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.projectApproval=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否需办理安评航评手续:</label></td>
+			<td class="width-35">
+				<select id="courseEvaluationProcedures" name="courseEvaluationProcedures" class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.courseEvaluationProcedures=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.courseEvaluationProcedures=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处难点提醒:</label></td>
+			<td class="width-35">
+				<form:textarea path="zhengDifficultyWarn" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		</tbody>
+	</table>
+</form:form>
+</body>
+</html>

+ 404 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveSafeDisclosure/reserveManagementModifyByzz.jsp

@@ -0,0 +1,404 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>修改带电作业信息</title>
+	<meta name="decorator" content="ani"/>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+
+	        $('#beginDate').datetimepicker({
+				 format: "YYYY-MM-DD HH:mm:ss"
+		    });
+	        $('#endDate').datetimepicker({
+				 format: "YYYY-MM-DD HH:mm:ss"
+		    });
+		});
+		function save() {
+			var projectReserveId = $("#projectReserveId").val();
+			var projectName = $("#projectName").val();
+			var construct = $("#constructionNecessityAndContent").val();
+			//临近交叉
+			var ljPanduan = $("#transmissionWork").val();
+			var ljValue = $("#workDescribe").val();
+			//输电线
+			var sdxPanduan = $("#transmissionErection").val();
+			var sdxValue = $("#erecteDescribe").val();
+			//共沟
+			var ggPanduan = $("#transmissionCommonTrench").val();
+			var ggValue = $("#trenchDescribe").val();
+			//临近带电
+			var ljddPanduan = $("#mediumVoltageWork").val();
+			var ljddValue = $("#voltageWorkDescribe").val();
+			//有限
+			var yhPanduan = $("#confineSpaceWork").val();
+			var yhValue = $("#spaceDescribe").val();
+			//搭接
+			var djPanduan = $("#subStationCableBonding").val();
+			var djValue = $("#cableDescribe").val();
+			//铁路
+			var tlPanduan = $("#roadRailwaysAndWaterwaysWork").val();
+			var tlValue = $("#waterDescribe").val();
+			//动火
+			var dhPanduan = $("#hotWork").val();
+			var dhValue = $("#hotWorkDescribe").val();
+			//停电
+			var tdPanduan = $("#blackoutLineFour").val();
+			var tdValue = $("#lineFourDescribe").val();
+			//负荷
+			var fhPanduan = $("#lineLoadRedirectionThree").val();
+			var fhValue = $("#threeRedirectDescribe").val();
+			//多班组
+			var dbzPanduan = $("#largeScaleMultiTeamWork").val();
+			var dbzValue = $("#teamWorkDescribe").val();
+			//编制
+			var bzPanduan = $("#prepareThreeMeasures").val();
+			var bzValue = $("#measureDescribe").val();
+
+
+			if (null==projectReserveId||""==projectReserveId){
+				jp.error("请填写项目储备编号!");
+			}else if(null==projectName||""==projectName){
+				jp.error("请填写项目名称!");
+			}else if (null==construct||""==construct){
+				jp.error("请填写建设必要性及内容!")
+			}else if ("是"==ljPanduan && ljValue == ""){
+				jp.error("请填写是否临近(交叉)输电线路作业(含土建)描述!")
+			}else if ("是"==sdxPanduan && sdxValue == ""){
+				jp.error("请填写是否与输电线路同杆架设描述!")
+			}else if ("是"==ggPanduan && ggValue == ""){
+				jp.error("请填写是否与输电线路共沟描述!")
+			}else if ("是"==ljddPanduan && ljddValue == ""){
+				jp.error("请填写是否临近带电中压线路作业描述!")
+			}else if ("是"==yhPanduan && yhValue == ""){
+				jp.error("请填写是否有限空间作业描述!")
+			}else if ("是"==djPanduan && djValue == ""){
+				jp.error("请填写是否存在变电站出线电缆搭接-是描述!")
+			}else if ("是"==tlPanduan && tlValue == ""){
+				jp.error("请填写是否存在跨越公路、铁路、航道作业描述!")
+			}else if ("是"==dhPanduan && dhValue == ""){
+				jp.error("请填写是否存在动火作业描述!")
+			}else if ("是"==tdPanduan && tdValue == ""){
+				jp.error("请填写是否需停电四条以上线路描述!")
+			}else if ("是"==fhPanduan && fhValue == ""){
+				jp.error("请填写是否三条以上线路负荷改接描述!")
+			}else if ("是"==dbzPanduan && dbzValue == ""){
+				jp.error("请填写是否多专业、多班组大型作业描述!")
+			}else if ("是"==bzPanduan && bzValue == ""){
+				jp.error("请填写是否需编制三措描述!")
+			}
+
+
+		    else {
+                var isValidate = jp.validateForm('#inputForm');//校验表单
+                if(!isValidate){
+                    return false;
+                }else{
+                    jp.loading();
+                    jp.post("${ctx}/cg/reservemanagementcenter/reserveSafeDisclosure/update",$('#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="reserveManagement" class="form-horizontal">
+	<form:hidden path="id"/>
+	<table class="table table-bordered">
+		<tbody>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">储备项目基本信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">项目年份:</label></td>
+			<td class="width-35">
+				<form:input path="projectYear" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目性质:</label></td>
+			<td class="width-35">
+				<form:input path="projectNature" htmlEscape="false" class="form-control"/>
+			</td>
+
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">需求单位:</label></td>
+			<td class="width-35">
+				<form:input path="demandUnit" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域:</label></td>
+			<td class="width-35">
+				<form:input path="district" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目分组:</label></td>
+			<td class="width-35">
+				<form:input path="projectGroup" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">储备批次:</label></td>
+			<td class="width-35">
+				<form:input path="reserveBatches" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">供电区域:</label></td>
+			<td class="width-35">
+				<form:input path="blockSupply" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>网格编号:</label></td>
+			<td class="width-35">
+				<form:input path="gridNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>单元格编号:</label></td>
+			<td class="width-35">
+				<form:input path="cellNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目储备编号:</label></td>
+			<td class="width-35">
+				<form:input path="projectReserveId" htmlEscape="false"  readonly="true"  class="form-control required"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目名称:</label></td>
+			<td class="width-35">
+				<form:input path="projectName" htmlEscape="false"    class="form-control required"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>建设必要性及内容:</label></td>
+			<td class="width-35">
+				<form:input path="constructionNecessityAndContent" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">变电站名称:</label></td>
+			<td class="width-35">
+				<form:input path="substationName" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">线路名称:</label></td>
+			<td class="width-35">
+				<form:input path="circuitName" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">网架项目划分:</label></td>
+			<td class="width-35">
+				<form:input path="netRackProjectDivide" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">需求类型:</label></td>
+			<td class="width-35">
+				<form:input path="requirementType" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">费用估算:</label></td>
+			<td class="width-35">
+				<form:input path="costEstimate" htmlEscape="false"    class="form-control number money"/>
+			</td>
+			<td class="width-15 active"><label class="">备注:</label></td>
+			<td class="width-35">
+				<form:textarea path="basicRemarks" htmlEscape="false" rows="3" maxlength="200" class="form-control"/>
+			</td>
+		</tr>
+
+		<tr>
+			<td class="width-15 active"><label class="">储备进度:</label></td>
+			<td class="width-35">
+				<form:input path="reserveProgress" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">安全隐患排查:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否临近(交叉)输电线路作业(含土建):</label></td>
+			<td class="width-35">
+				<select id="transmissionWork" name="transmissionWork"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.transmissionWork=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.transmissionWork=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否临近(交叉)输电线路作业(含土建)-描述:</label></td>
+			<td class="width-35">
+				<form:input path="workDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否与输电线路同杆架设:</label></td>
+			<td class="width-35">
+				<select id="transmissionErection" name="transmissionErection"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.transmissionErection=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.transmissionErection=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否与输电线路同杆架设-描述:</label></td>
+			<td class="width-35">
+				<form:input path="erecteDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否与输电线路共沟:</label></td>
+			<td class="width-35">
+				<select id="transmissionCommonTrench" name="transmissionCommonTrench"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.transmissionCommonTrench=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.transmissionCommonTrench=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否与输电线路共沟-描述:</label></td>
+			<td class="width-35">
+				<form:input path="trenchDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否临近带电中压线路作业:</label></td>
+			<td class="width-35">
+				<select id="mediumVoltageWork" name="mediumVoltageWork"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.mediumVoltageWork=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.mediumVoltageWork=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否临近带电中压线路作业-描述:</label></td>
+			<td class="width-35">
+				<form:input path="voltageWorkDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有限空间作业:</label></td>
+			<td class="width-35">
+				<select id="confineSpaceWork" name="confineSpaceWork"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.confineSpaceWork=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.confineSpaceWork=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否有限空间作业-描述:</label></td>
+			<td class="width-35">
+				<form:input path="spaceDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否存在变电站出线电缆搭接-是:</label></td>
+			<td class="width-35">
+					<select id="subStationCableBonding" name="subStationCableBonding"  class="form-control">
+						<option value="">请选择</option>
+						<option value="是" <c:if test="${reserveManagement.subStationCableBonding=='是'}">selected</c:if>>是</option>
+						<option value="否" <c:if test="${reserveManagement.subStationCableBonding=='否'}">selected</c:if>>否</option>
+					</select>
+			</td>
+			<td class="width-15 active"><label class="">是否存在变电站出线电缆搭接-是-描述:</label></td>
+			<td class="width-35">
+				<form:input path="cableDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否存在跨越公路、铁路、航道作业:</label></td>
+			<td class="width-35">
+				<select id="roadRailwaysAndWaterwaysWork" name="roadRailwaysAndWaterwaysWork"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.roadRailwaysAndWaterwaysWork=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.roadRailwaysAndWaterwaysWork=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否存在跨越公路、铁路、航道作业-描述:</label></td>
+			<td class="width-35">
+				<form:input path="waterDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否存在动火作业:</label></td>
+			<td class="width-35">
+				<select id="hotWork" name="hotWork"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.hotWork=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.hotWork=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否存在动火作业-描述:</label></td>
+			<td class="width-35">
+				<form:input path="hotWorkDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>是否需停电四条以上线路:</label></td>
+			<td class="width-35">
+				<select id="blackoutLineFour" name="blackoutLineFour"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.blackoutLineFour=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.blackoutLineFour=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>是否需停电四条以上线路-描述:</label></td>
+			<td class="width-35">
+				<form:input path="lineFourDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>是否三条以上线路负荷改接:</label></td>
+			<td class="width-35">
+				<select id="lineLoadRedirectionThree" name="lineLoadRedirectionThree"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.lineLoadRedirectionThree=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.lineLoadRedirectionThree=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否三条以上线路负荷改接-描述:</label></td>
+			<td class="width-35">
+				<form:input path="threeRedirectDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否多专业、多班组大型作业:</label></td>
+			<td class="width-35">
+				<select id="largeScaleMultiTeamWork" name="largeScaleMultiTeamWork"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.largeScaleMultiTeamWork=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.largeScaleMultiTeamWork=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否多专业、多班组大型作业-描述:</label></td>
+			<td class="width-35">
+				<form:input path="teamWorkDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否需编制三措:</label></td>
+			<td class="width-35">
+				<select id="prepareThreeMeasures" name="prepareThreeMeasures"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.prepareThreeMeasures=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.prepareThreeMeasures=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否需编制三措-描述:</label></td>
+			<td class="width-35">
+				<form:input path="measureDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">作业风险等级预判:</label></td>
+			<td class="width-35">
+				<form:input path="jobRiskLevelPrediction" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		</tbody>
+	</table>
+</form:form>
+</body>
+</html>

+ 324 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/reserveSafeDisclosure/reserveManagementView.jsp

@@ -0,0 +1,324 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>项目储备信息</title>
+	<meta name="decorator" content="ani"/>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+			$('#disclosureFinishDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+		});
+		function save() {
+			var isValidate = jp.validateForm('#inputForm');//校验表单
+			if(!isValidate){
+				return false;
+			}else{
+				/*jp.loading();
+				jp.post("${ctx}/sg/managementCenter/reserveManagement/update",$('#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="reserveManagement" class="form-horizontal">
+	<form:hidden path="id"/>
+	<table class="table table-bordered">
+		<tbody>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">储备项目基本信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">项目年份:</label></td>
+			<td class="width-35">
+				<form:input path="projectYear" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目性质:</label></td>
+			<td class="width-35">
+				<form:input path="projectNature" htmlEscape="false" class="form-control"/>
+			</td>
+
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">需求单位:</label></td>
+			<td class="width-35">
+				<form:input path="demandUnit" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域:</label></td>
+			<td class="width-35">
+				<form:input path="district" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目分组:</label></td>
+			<td class="width-35">
+				<form:input path="projectGroup" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">储备批次:</label></td>
+			<td class="width-35">
+				<form:input path="reserveBatches" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">供电区域:</label></td>
+			<td class="width-35">
+				<form:input path="blockSupply" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>网格编号:</label></td>
+			<td class="width-35">
+				<form:input path="gridNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>单元格编号:</label></td>
+			<td class="width-35">
+				<form:input path="cellNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目储备编号:</label></td>
+			<td class="width-35">
+				<form:input path="projectReserveId" htmlEscape="false"  readonly="true"  class="form-control required"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目名称:</label></td>
+			<td class="width-35">
+				<form:input path="projectName" htmlEscape="false"    class="form-control required"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>建设必要性及内容:</label></td>
+			<td class="width-35">
+				<form:input path="constructionNecessityAndContent" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">变电站名称:</label></td>
+			<td class="width-35">
+				<form:input path="substationName" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">线路名称:</label></td>
+			<td class="width-35">
+				<form:input path="circuitName" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">网架项目划分:</label></td>
+			<td class="width-35">
+				<form:input path="netRackProjectDivide" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">需求类型:</label></td>
+			<td class="width-35">
+				<form:input path="requirementType" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">费用估算:</label></td>
+			<td class="width-35">
+				<form:input path="costEstimate" htmlEscape="false"    class="form-control number money"/>
+			</td>
+			<td class="width-15 active"><label class="">备注:</label></td>
+			<td class="width-35">
+				<form:textarea path="basicRemarks" htmlEscape="false" rows="3" maxlength="200" class="form-control"/>
+			</td>
+		</tr>
+
+		<tr>
+			<td class="width-15 active"><label class="">储备进度:</label></td>
+			<td class="width-35">
+				<form:input path="reserveProgress" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">安全隐患排查:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否临近(交叉)输电线路作业(含土建):</label></td>
+			<td class="width-35">
+				<select id="transmissionWork" name="transmissionWork"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.transmissionWork=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.transmissionWork=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否临近(交叉)输电线路作业(含土建)-描述:</label></td>
+			<td class="width-35">
+				<form:input path="workDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否与输电线路同杆架设:</label></td>
+			<td class="width-35">
+				<select id="transmissionErection" name="transmissionErection"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.transmissionErection=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.transmissionErection=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否与输电线路同杆架设-描述:</label></td>
+			<td class="width-35">
+				<form:input path="erecteDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否与输电线路共沟:</label></td>
+			<td class="width-35">
+				<select id="transmissionCommonTrench" name="transmissionCommonTrench"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.transmissionCommonTrench=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.transmissionCommonTrench=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否与输电线路共沟-描述:</label></td>
+			<td class="width-35">
+				<form:input path="trenchDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否临近带电中压线路作业:</label></td>
+			<td class="width-35">
+				<select id="mediumVoltageWork" name="mediumVoltageWork"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.mediumVoltageWork=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.mediumVoltageWork=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否临近带电中压线路作业-描述:</label></td>
+			<td class="width-35">
+				<form:input path="voltageWorkDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有限空间作业:</label></td>
+			<td class="width-35">
+				<select id="confineSpaceWork" name="confineSpaceWork"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.confineSpaceWork=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.confineSpaceWork=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否有限空间作业-描述:</label></td>
+			<td class="width-35">
+				<form:input path="spaceDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否存在变电站出线电缆搭接-是:</label></td>
+			<td class="width-35">
+				<select id="subStationCableBonding" name="subStationCableBonding"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.subStationCableBonding=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.subStationCableBonding=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否存在变电站出线电缆搭接-是-描述:</label></td>
+			<td class="width-35">
+				<form:input path="cableDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否存在跨越公路、铁路、航道作业:</label></td>
+			<td class="width-35">
+				<select id="roadRailwaysAndWaterwaysWork" name="roadRailwaysAndWaterwaysWork"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.roadRailwaysAndWaterwaysWork=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.roadRailwaysAndWaterwaysWork=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否存在跨越公路、铁路、航道作业-描述:</label></td>
+			<td class="width-35">
+				<form:input path="waterDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否存在动火作业:</label></td>
+			<td class="width-35">
+				<select id="hotWork" name="hotWork"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.hotWork=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.hotWork=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否存在动火作业-描述:</label></td>
+			<td class="width-35">
+				<form:input path="hotWorkDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>是否需停电四条以上线路:</label></td>
+			<td class="width-35">
+				<select id="blackoutLineFour" name="blackoutLineFour"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.blackoutLineFour=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.blackoutLineFour=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>是否需停电四条以上线路-描述:</label></td>
+			<td class="width-35">
+				<form:input path="lineFourDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>是否三条以上线路负荷改接:</label></td>
+			<td class="width-35">
+				<select id="lineLoadRedirectionThree" name="lineLoadRedirectionThree"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.lineLoadRedirectionThree=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.lineLoadRedirectionThree=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否三条以上线路负荷改接-描述:</label></td>
+			<td class="width-35">
+				<form:input path="threeRedirectDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否多专业、多班组大型作业:</label></td>
+			<td class="width-35">
+				<select id="largeScaleMultiTeamWork" name="largeScaleMultiTeamWork"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.largeScaleMultiTeamWork=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.largeScaleMultiTeamWork=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否多专业、多班组大型作业-描述:</label></td>
+			<td class="width-35">
+				<form:input path="teamWorkDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否需编制三措:</label></td>
+			<td class="width-35">
+				<select id="prepareThreeMeasures" name="prepareThreeMeasures"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.prepareThreeMeasures=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.prepareThreeMeasures=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否需编制三措-描述:</label></td>
+			<td class="width-35">
+				<form:input path="measureDescribe" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">作业风险等级预判:</label></td>
+			<td class="width-35">
+				<form:input path="jobRiskLevelPrediction" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		</tbody>
+	</table>
+</form:form>
+</body>
+</html>

+ 268 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/reserveManagementForm.jsp

@@ -0,0 +1,268 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>新增政策处理信息</title>
+	<meta name="decorator" content="ani"/>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+
+	        $('#beginDate').datetimepicker({
+				 format: "YYYY-MM-DD HH:mm:ss"
+		    });
+	        $('#endDate').datetimepicker({
+				 format: "YYYY-MM-DD HH:mm:ss"
+		    });
+		});
+		function save() {
+		    var projectReserveId = $("#projectReserveId").val();
+		    var projectName = $("#projectName").val();
+		    var construct = $("#constructionNecessityAndContent").val();
+
+
+		    if (null==projectReserveId||""==projectReserveId){
+                jp.error("请填写项目储备编号!");
+			}else if(null==projectName||""==projectName){
+				jp.error("请填写项目名称!");
+			}else if (null==construct||""==construct){
+		    	jp.error("请填写建设必要性及内容!")
+			}
+
+
+		    else {
+                var isValidate = jp.validateForm('#inputForm');//校验表单
+                if(!isValidate){
+                    return false;
+                }else{
+                    jp.loading();
+                    jp.post("${ctx}/cg/reservemanagementcenter/reservePreconstruct/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="reserveManagement" class="form-horizontal">
+	<form:hidden path="id"/>
+	<table class="table table-bordered">
+		<tbody>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">储备项目基本信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">项目年份:</label></td>
+			<td class="width-35">
+				<form:input path="projectYear" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目性质:</label></td>
+			<td class="width-35">
+				<form:input path="projectNature" htmlEscape="false" class="form-control"/>
+			</td>
+
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">需求单位:</label></td>
+			<td class="width-35">
+				<form:input path="demandUnit" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域:</label></td>
+			<td class="width-35">
+				<form:input path="district" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目分组:</label></td>
+			<td class="width-35">
+				<form:input path="projectGroup" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">项目经理:</label></td>
+			<td class="width-35">
+				<form:input path="projectManager" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">储备批次:</label></td>
+			<td class="width-35">
+				<form:input path="reserveBatches" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">供电区域:</label></td>
+			<td class="width-35">
+				<form:input path="blockSupply" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>网格编号:</label></td>
+			<td class="width-35">
+				<form:input path="gridNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>单元格编号:</label></td>
+			<td class="width-35">
+				<form:input path="cellNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目储备编号:</label></td>
+			<td class="width-35">
+				<form:input path="projectReserveId" htmlEscape="false"  readonly="true"  class="form-control required"/>
+			</td>
+		</tr>
+
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目名称:</label></td>
+			<td class="width-35">
+				<form:input path="projectName" htmlEscape="false"    class="form-control required"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>建设必要性及内容:</label></td>
+			<td class="width-35">
+				<form:input path="constructionNecessityAndContent" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">变电站名称:</label></td>
+			<td class="width-35">
+				<form:input path="substationName" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">线路名称:</label></td>
+			<td class="width-35">
+				<form:input path="circuitName" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">网架项目划分:</label></td>
+			<td class="width-35">
+				<form:input path="netRackProjectDivide" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">需求类型:</label></td>
+			<td class="width-35">
+				<form:input path="requirementType" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">项目类型:</label></td>
+			<td class="width-35">
+				<form:input path="projectType" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">费用估算:</label></td>
+			<td class="width-35">
+				<form:input path="costEstimate" htmlEscape="false" class="form-control number money"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">预算编制状态:</label></td>
+			<td class="width-35">
+				<form:input path="budgetPreparationStatus" htmlEscape="false" class="form-control number money"/>
+			</td>
+			<td class="width-15 active"><label class="">预算含税:</label></td>
+			<td class="width-35">
+				<form:input path="budgetIncludesTax" htmlEscape="false" class="form-control number money"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">预算不含税:</label></td>
+			<td class="width-35">
+				<form:input path="budgetNotIncludesTax" htmlEscape="false" class="form-control number money"/>
+			</td>
+			<td class="width-15 active"><label class="">备注:</label></td>
+			<td class="width-35">
+				<form:textarea path="basicRemarks" htmlEscape="false" rows="3" maxlength="200" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">储备项目交底信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">储备进度:</label></td>
+			<td class="width-35">
+				<form:input path="reserveProgress" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否纳入实施计划:</label></td>
+			<td class="width-35">
+				<form:input path="includeReserve" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">存在重大问题分类:</label></td>
+			<td class="width-35">
+				<form:input path="majorProblemClassification" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">存在问题说明:</label></td>
+			<td class="width-35">
+				<form:input path="problemDescription" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否可变更方案:</label></td>
+			<td class="width-35">
+				<form:input path="changePlan" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">方案变更说明:</label></td>
+			<td class="width-35">
+				<form:input path="programChangeDescription" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处难度:</label></td>
+			<td class="width-35">
+				<form:input path="administrativeDifficulty" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处进度:</label></td>
+			<td class="width-35">
+				<form:input path="officeProgress" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">取消确认部门:</label></td>
+			<td class="width-35">
+				<form:input path="cancelConfirmationDepartment" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">储备项目交底信息-备注:</label></td>
+			<td class="width-35">
+				<form:input path="truthRemark" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">需求单位优先级:</label></td>
+			<td class="width-35">
+				<form:input path="demandUnitPriority" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否纳入实施计划:</label></td>
+			<td class="width-35">
+				<form:input path="implementPlan" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">初定实施批次:</label></td>
+			<td class="width-35">
+				<form:input path="initialImplementBatch" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">初定施工单位:</label></td>
+			<td class="width-35">
+				<form:input path="preliminaryConstructionUnit" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">初定施工单位项目经理:</label></td>
+			<td class="width-35">
+				<form:input path="preliminaryConstructionUnitProjectManager" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否移交施工草图:</label></td>
+			<td class="width-35">
+				<form:input path="handConstructionSketches" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		</tbody>
+	</table>
+</form:form>
+</body>
+</html>

+ 487 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/reserveManagementInformation.js

@@ -0,0 +1,487 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script >
+$(document).ready(function () {
+    $('#projectTable').bootstrapTable({
+        //请求方法
+        method: 'post',
+        //类型json
+        dataType: "json",
+        contentType: "application/x-www-form-urlencoded",
+        //显示检索按钮
+        showSearch: true,
+        //显示刷新按钮
+        showRefresh: true,
+        //显示切换手机试图按钮
+        showToggle: true,
+        //显示 内容列下拉框
+        showColumns: true,
+        //显示到处按钮
+        showExport: true,
+        //显示切换分页按钮
+        showPaginationSwitch: true,
+        //最低显示2行
+        minimumCountColumns: 2,
+        //是否显示行间隔色
+        striped: true,
+        //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+        cache: false,
+        //是否显示分页(*)
+        pagination: true,
+        //排序方式
+        sortOrder: "asc",
+        //初始化加载第一页,默认第一页
+        pageNumber: 1,
+        //每页的记录行数(*)
+        pageSize: 5,
+        //可供选择的每页的行数(*)
+        pageList: [5, 10, 25, 50, 100],
+        //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+        url: "${ctx}/cg/reservemanagementcenter/summaryStatistics/list",
+        //默认值为 '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}/cg/reservemanagementcenter/project/delete?id=" + row.id, function (data) {
+                        if (data.success) {
+                            $('#projectTable').bootstrapTable('refresh');
+                            jp.success(data.msg);
+                        } else {
+                            jp.error(data.msg);
+                        }
+                    })
+                });
+            }
+        },
+
+        onClickRow: function (row, $el) {
+        },
+        onShowSearch: function () {
+            $("#search-collapse").slideToggle();
+        },
+        columns:
+            [
+                {
+                    checkbox: true,
+                    width:36,
+
+                },
+                {
+                    field: 'projectYear',
+                    width: 65,
+                    title: '项目</br>年份',
+                }
+                , {
+                    field: 'projectNature',
+                    width:65,
+                    title: '项目</br>性质',
+
+                },{
+                    field: 'demandUnit',
+                    width:70,
+                    title: '需求</br>单位',
+
+                },{
+                    field: 'district',
+                    width:60,
+                    title: '区域',
+
+                },{
+                    field: 'projectGroup',
+                    width:70,
+                    title: '项目</br>分组',
+
+                },
+                {
+                    field: 'projectManager',
+                    width:70,
+                    title: '项目</br>经理',
+
+                },
+                {
+                    field: 'reserveBatches',
+                    width:70,
+                    title: '储备</br>批次',
+
+                },{
+                    field: 'blockSupply',
+                    width:60,
+                    title: '供电</br>区域',
+
+                },{
+                    field: 'gridNumber',
+                    width:90,
+                    title: '网格编号',
+
+                },{
+                    field: 'cellNumber',
+                    width:100,
+                    title: '单元格编号',
+
+                },{
+                    field: 'projectReserveId',
+                    width:150,
+                    title: '项目储备编号',
+
+                    formatter:function(value, row , index){
+                        if(value == null || value ==""){
+                            value = "-";
+                        }
+                    <c:choose>
+                        <c:when test="${fns:hasPermission('cg:reservemanagementcenter:summaryStatistics:view')}">
+                        return "<a href='javascript:view(\""+row.id+"\")'>"+value+"</a>";
+                    </c:when>
+                        <c:otherwise>
+                        return value;
+                    </c:otherwise>
+                        </c:choose>
+
+                    }
+                },{
+                    field: 'projectName',
+                    width:200,
+                    title: '项目名称',
+
+                },{
+                    field: 'constructionNecessityAndContent',
+                    width:400,
+                    title: '建设必要性及内容',
+
+                },{
+                    field: 'substationName',
+                    width:80,
+                    title: '变电站</br>名称',
+
+                },{
+                    field: 'circuitName',
+                    width:100,
+                    title: '线路名称',
+
+                },{
+                    field: 'netRackProjectDivide',
+                    width:80,
+                    title: '网架项目</br>划分',
+
+                },{
+                    field: 'requirementType',
+                    width:100,
+                    title: '需求类型',
+
+                },
+                {
+                    field: 'projectType',
+                    width:100,
+                    title: '项目类型',
+
+                },
+                {
+                    field: 'costEstimate',
+                    width:80,
+                    title: '费用</br>估算',
+
+                },
+                {
+                    field: 'budgetPreparationStatus',
+                    width:100,
+                    title: '预算编制</br>状态',
+
+                },
+                {
+                    field: 'budgetIncludesTax',
+                    width:80,
+                    title: '预算(含税)',
+
+                },
+                {
+                    field: 'budgetNotIncludesTax',
+                    width:80,
+                    title: '预算(不含税)',
+
+                },
+                {
+                    field: 'basicRemarks',
+                    width:200,
+                    title: '备注',
+
+                },{
+                    field: 'reserveProgress',
+                    width:80,
+                    title: '储备</br>进度',
+
+                },
+                {
+                    field: 'includeReserve',
+                    width:100,
+                    title: '是否纳入</br>储备',
+
+                },
+                {
+                    field: 'majorProblemClassification',
+                    width:100,
+                    title: '存在重大</br>问题分类',
+
+                },
+                {
+                    field: 'problemDescription',
+                    width:100,
+                    title: '存在问题</br>说明',
+
+                },
+                {
+                    field: 'changePlan',
+                    width:100,
+                    title: '是否可</br>变更方案',
+
+                },
+                {
+                    field: 'programChangeDescription',
+                    width:100,
+                    title: '方案变更</br>说明',
+
+                },
+                {
+                    field: 'administrativeDifficulty',
+                    width:80,
+                    title: '政处难度',
+
+                },
+                {
+                    field: 'officeProgress',
+                    width:80,
+                    title: '政处进度',
+
+                },
+                {
+                    field: 'cancelConfirmationDepartment',
+                    width:100,
+                    title: '取消确认</br>部门',
+
+                },
+                {
+                    field: 'truthRemark',
+                    width:120,
+                    title: '储备项目交底</br>信息-备注',
+
+                },
+                {
+                    field: 'demandUnitPriority',
+                    width:100,
+                    title: '需求单位</br>优先级',
+
+                },
+                {
+                    field: 'implementPlan',
+                    width:100,
+                    title: '是否纳入</br>实施计划',
+
+                },
+                {
+                    field: 'initialImplementBatch',
+                    width:100,
+                    title: '初定实施</br>批次',
+
+                },
+                {
+                    field: 'preliminaryConstructionUnit',
+                    width:100,
+                    title: '初定施工</br>单位',
+
+                },
+                {
+                    field: 'preliminaryConstructionUnitProjectManager',
+                    width:100,
+                    title: '初定</br>施工单位</br>项目经理',
+
+                },
+                {
+                    field: 'handConstructionSketches',
+                    width:80,
+                    title: '是否移交</br>施工草图',
+
+                },
+
+        ]
+    });
+
+
+    if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {//如果是移动端
+        $('#projectTable').bootstrapTable("toggleView");
+    }
+
+    $('#projectTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
+        'check-all.bs.table uncheck-all.bs.table', function () {
+        $('#remove').prop('disabled', !$('#projectTable').bootstrapTable('getSelections').length);
+        $('#view,#edit,#jlEdit').prop('disabled', $('#projectTable').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) {
+                var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                iframeWin.contentWindow.importExcel('${ctx}/cg/reservemanagementcenter/summaryStatistics/import', function (data) {
+                    if (data.success) {
+                        jp.success(data.msg);
+                        refresh();
+                    } else {
+                        jp.error(data.msg);
+                    }
+                    jp.close(index);
+                });//调用保存事件
+                return false;
+            },
+            btn2: function (index) {
+                //  jp.close(index);
+            }
+        });
+    });
+
+    $("#jlImport").click(function () {
+        jp.open({
+            type: 2,
+            area: [500, 200],
+            auto: true,
+            title: "导入数据",
+            content: "${ctx}/tag/importExcel",
+            btn: ['确定', '关闭'],
+            btn1: function (index, layero) {
+                var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                iframeWin.contentWindow.importExcel('${ctx}/cg/reservemanagementcenter/summaryStatistics/jlImport', function (data) {
+                    if (data.success) {
+                        jp.success(data.msg);
+                        refresh();
+                    } else {
+                        jp.error(data.msg);
+                    }
+                    jp.close(index);
+                });//调用保存事件
+                return false;
+            },
+
+            btn2: function (index) {
+                //  jp.close(index);
+            }
+        });
+    });
+
+    $("#btnExport").click(function () {
+        var projectReserveId = $("#projectReserveId").val();
+        var projectName = $("#projectName").val();
+        jp.downloadFile('${ctx}/cg/reservemanagementcenter/summaryStatistics/export?projectReserveId=' + projectReserveId + '&projectName=' + projectName);
+    });
+
+    $("#search").click("click", function () {// 绑定查询按扭
+        $('#projectTable').bootstrapTable('refresh');
+    });
+
+    $("#reset").click("click", function () {// 绑定查询按扭
+        $("#searchForm  input").val("");
+        $("#searchForm  select").val("");
+        $("#searchForm  .select-item").html("");
+        $('#projectTable').bootstrapTable('refresh');
+    });
+
+    $('#beginBeginDate').datetimepicker({
+        format: "YYYY-MM-DD HH:mm:ss"
+    });
+    $('#endBeginDate').datetimepicker({
+        format: "YYYY-MM-DD HH:mm:ss"
+    });
+    $('#endDate').datetimepicker({
+        format: "YYYY-MM-DD HH:mm:ss"
+    });
+});
+
+function getIdSelections() {
+    return $.map($("#projectTable").bootstrapTable('getSelections'), function (row) {
+        return row.id
+    });
+}
+
+
+//刷新列表
+function refresh() {
+    $('#projectTable').bootstrapTable('refresh');
+}
+
+function add() {
+    jp.openSaveDialog('新增储备项目基本信息', "${ctx}/cg/reservemanagementcenter/summaryStatistics/form", '800px', '500px');
+}
+
+
+function edit(id) {//没有权限时,不显示确定按钮
+    if (id == undefined) {
+        id = getIdSelections();
+    }
+    jp.openSaveDialog('编辑储备项目基本信息', "${ctx}/cg/reservemanagementcenter/summaryStatistics/form?id=" + id, '800px', '500px');
+}
+
+function jlEdit(id) {//没有权限时,不显示确定按钮
+    if (id == undefined) {
+        id = getIdSelections();
+    }
+    jp.openSaveDialog('编辑储备项目基本信息', "${ctx}/cg/reservemanagementcenter/summaryStatistics/jlEdit?id=" + id, '800px', '500px');
+}
+
+function view(id) {//没有权限时,不显示确定按钮
+    if (id == undefined) {
+        id = getIdSelections();
+    }
+    jp.openViewDialog('查看储备项目基本信息', "${ctx}/cg/reservemanagementcenter/summaryStatistics/view?id=" + id, '800px', '500px');
+}
+
+function deleteAll(){
+
+    jp.confirm('确认要删除该储备项目基本信息吗?', function(){
+        jp.loading();
+        jp.get("${ctx}/cg/reservemanagementcenter/summaryStatistics/deleteAll?ids=" + getIdSelections(), function(data){
+            if(data.success){
+                $('#projectTable').bootstrapTable('refresh');
+                jp.success(data.msg);
+            }else{
+                jp.error(data.msg);
+            }
+        })
+
+    })
+}
+//转换日期格式(时间戳转换为datetime格式)
+function changeDateFormat(cellval) {
+    var dateVal = cellval + "";
+    if (cellval != null) {
+        var date = new Date(parseInt(dateVal.replace("/Date(", "").replace(")/", ""), 10));
+        var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
+        var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
+
+        /*var hours = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
+        var minutes = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
+        var seconds = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();*/
+
+        return date.getFullYear() + "-" + month + "-" + currentDate /*+ " " + hours + ":" + minutes + ":" + seconds*/;
+    }
+}
+
+</script>

+ 98 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/reserveManagementInformation.jsp

@@ -0,0 +1,98 @@
+<%@ 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="reserveManagementInformation.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="reserveManagement" 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="projectReserveId" htmlEscape="false" maxlength="100"  class=" form-control"/>
+					</div>
+					<div class="col-xs-12 col-sm-6 col-md-4">
+						<label class="label-item single-overflow pull-left" title="项目名称:">项目名称:</label>
+						<form:input path="projectName" htmlEscape="false" maxlength="100"  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">
+			<shiro:hasPermission name="cg:reservemanagementcenter:summaryStatistics:add">
+				<button id="add" class="btn btn-primary" onclick="add()">
+					<i class="glyphicon glyphicon-plus"></i> 新增
+				</button>
+			</shiro:hasPermission>
+			<shiro:hasPermission name="cg:reservemanagementcenter:summaryStatistics:edit">
+				<button id="edit" class="btn btn-primary" onclick="edit()">
+					<i class="glyphicon glyphicon-edit"></i> 修改 <!--专职修改-->
+				</button>
+			</shiro:hasPermission>
+<%--			<shiro:hasPermission name="sg:managementcenter:reserveManagement:jlEdit">
+				<button id="jlEdit" class="btn btn-primary" onclick="jlEdit()">
+					<i class="glyphicon glyphicon-edit"></i> 修改 <!--经理修改-->
+				</button>
+			</shiro:hasPermission>--%>
+			<shiro:hasPermission name="cg:reservemanagementcenter:summaryStatistics:del">
+				<button id="remove" class="btn btn-danger" onclick="deleteAll()">
+					<i class="glyphicon glyphicon-remove"></i> 删除
+				</button>
+			</shiro:hasPermission>
+			<shiro:hasPermission name="cg:reservemanagementcenter:summaryStatistics:import">
+				<button id="btnImport" class="btn btn-info">
+					<i class="fa fa-folder-open-o"></i> 导入  <!--专职导入-->
+				</button>
+			</shiro:hasPermission>
+<%--			<shiro:hasPermission name="sg:managementcenter:reserveManagement:jlImport">
+				<button id="jlImport" class="btn btn-info">
+					<i class="fa fa-folder-open-o"></i> 导入  <!--经理导入-->
+				</button>
+			</shiro:hasPermission>--%>
+			<shiro:hasPermission name="cg:reservemanagementcenter:summaryStatistics:export">
+				<button id="btnExport" class="btn btn-warning">
+					<i class="fa fa-file-excel-o"></i> 导出
+				</button>
+			</shiro:hasPermission>
+		    </div>
+	<!-- 表格 -->
+	<table id="projectTable" style="table-layout:fixed" class="table" data-toolbar="#toolbar"></table>
+
+	</div>
+	</div>
+	</div>
+</body>
+</html>

+ 337 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/reserveManagementModifyByjl.jsp

@@ -0,0 +1,337 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>项目储备信息</title>
+	<meta name="decorator" content="ani"/>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+			$('#disclosureFinishDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+		});
+		function save() {
+			var isValidate = jp.validateForm('#inputForm');//校验表单
+			if(!isValidate){
+				return false;
+			}else{
+				jp.loading();
+				jp.post("${ctx}/sg/managementCenter/reserveManagement/jlUpdate",$('#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="reserveManagement" class="form-horizontal">
+	<form:hidden path="id"/>
+	<table class="table table-bordered">
+		<tbody>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">方案交底组织:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">交底牵头部门:</label></td>
+			<td class="width-35">
+				<form:input path="disclosureToCoordinate" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">交底参与部门:</label></td>
+			<td class="width-35">
+				<form:input path="disclosureParticipate" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否完成交底:</label></td>
+			<td class="width-35">
+				<select id="whetherFinishDisclosure" name="whetherFinishDisclosure"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.whetherFinishDisclosure=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.whetherFinishDisclosure=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">项目管理中心人员:</label></td>
+			<td class="width-35">
+				<form:input path="projectManagementPeople" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">设计院人员:</label></td>
+			<td class="width-35">
+				<form:input path="designingInstitutePeople" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">经研所人员:</label></td>
+			<td class="width-35">
+				<form:input path="ifoPeople" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域中心人员:</label></td>
+			<td class="width-35">
+				<form:input path="regionalCenterPeople" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">不停电作业中心人员:</label></td>
+			<td class="width-35">
+				<form:input path="uninterruptedOperationPeople" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">作业方式:</label></td>
+			<td class="width-35">
+				<form:input path="workMode" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">交底完成日期:</label></td>
+			<td class="width-35">
+				<div class='input-group form_datetime' id='disclosureFinishDate'>
+					<input type='text'  name="disclosureFinishDate" class="form-control required"  value="<fmt:formatDate value="${reserveManagement.disclosureFinishDate}" 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="">备注:</label></td>
+			<td class="width-35">
+				<form:textarea path="disclosureRemarks" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+
+
+
+
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">方案交底结论:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">立项说明:</label></td>
+			<td class="width-35">
+				<form:textarea path="projectDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">不具备立项条件说明:</label></td>
+			<td class="width-35">
+				<form:textarea path="doNotPossessProjectDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">方案变更说明:</label></td>
+			<td class="width-35">
+				<form:textarea path="changedProgramsExplain" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处难度初判:</label></td>
+			<td class="width-35">
+				<form:input path="initialDifficulty" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有资本设备:</label></td>
+			<td class="width-35">
+				<select id="capitalEquipment" name="capitalEquipment"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.capitalEquipment=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.capitalEquipment=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否有变电站新出线:</label></td>
+			<td class="width-35">
+				<select id="substationNewLine" name="substationNewLine"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.substationNewLine=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.substationNewLine=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否已实施:</label></td>
+			<td class="width-35">
+				<select id="whetherImplement" name="whetherImplement"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.whetherImplement=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.whetherImplement=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">现场情况描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="fieldDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有实施必要性:</label></td>
+			<td class="width-35">
+				<select id="necessaryOfImplementation" name="necessaryOfImplementation"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.necessaryOfImplementation=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.necessaryOfImplementation=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">实施无必要描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="unnecessaryDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否存在前置条件:</label></td>
+			<td class="width-35">
+				<select id="precondition" name="precondition"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.precondition=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.precondition=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">前置条件描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="conditionsDescribed" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否存在施工方案问题:</label></td>
+			<td class="width-35">
+				<select id="constructionSchemeProblem" name="constructionSchemeProblem"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.constructionSchemeProblem=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.constructionSchemeProblem=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">施工方案问题描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="problemDescriptionOfConstructionScheme" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">现场是否存在安全隐患:</label></td>
+			<td class="width-35">
+				<select id="existingSecurityThreat" name="existingSecurityThreat"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.existingSecurityThreat=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.existingSecurityThreat=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">安全隐患描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="safetyHazardDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否需要定制物资:</label></td>
+			<td class="width-35">
+				<select id="customizedMaterials" name="customizedMaterials"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.customizedMaterials=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.customizedMaterials=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">定制物资描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="materialDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有拆旧物资:</label></td>
+			<td class="width-35">
+				<select id="dismantlingTheOldMaterial" name="dismantlingTheOldMaterial"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.dismantlingTheOldMaterial=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.dismantlingTheOldMaterial=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">作业方式:</label></td>
+			<td class="width-35">
+				<form:input path="operatingType" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有土建工作量:</label></td>
+			<td class="width-35">
+				<select id="civilWork" name="civilWork"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.civilWork=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.civilWork=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">停电问题描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="problemDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否有立杆工作量:</label></td>
+			<td class="width-35">
+				<select id="verticalRodWorkload" name="verticalRodWorkload"  class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.verticalRodWorkload=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.verticalRodWorkload=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">总工作量描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="totalWorkloadDescription" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域中心:</label></td>
+			<td class="width-35">
+				<form:input path="regionalCenter" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">供电所辖区:</label></td>
+			<td class="width-35">
+				<form:input path="powerSupplyArea" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处地点:</label></td>
+			<td class="width-35">
+				<form:input path="zhengLocation" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处类型(可多类):</label></td>
+			<td class="width-35">
+				<form:input path="zhengType" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处对象(产权单位):</label></td>
+			<td class="width-35">
+				<form:input path="zhengObject" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处描述:</label></td>
+			<td class="width-35">
+				<form:textarea path="zhengDescribe" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否需规划报批:</label></td>
+			<td class="width-35">
+				<select id="projectApproval" name="projectApproval" class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.projectApproval=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.projectApproval=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">是否需办理安评航评手续:</label></td>
+			<td class="width-35">
+				<select id="courseEvaluationProcedures" name="courseEvaluationProcedures" class="form-control">
+					<option value="">请选择</option>
+					<option value="1" <c:if test="${reserveManagement.courseEvaluationProcedures=='1'}">selected</c:if>>是</option>
+					<option value="0" <c:if test="${reserveManagement.courseEvaluationProcedures=='0'}">selected</c:if>>否</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处难点提醒:</label></td>
+			<td class="width-35">
+				<form:textarea path="zhengDifficultyWarn" htmlEscape="false" rows="3" maxlength="255" class="form-control"/>
+			</td>
+		</tr>
+		</tbody>
+	</table>
+</form:form>
+</body>
+</html>

+ 292 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/reserveManagementModifyByzz.jsp

@@ -0,0 +1,292 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>修改政策处理信息</title>
+	<meta name="decorator" content="ani"/>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+
+	        $('#beginDate').datetimepicker({
+				 format: "YYYY-MM-DD HH:mm:ss"
+		    });
+	        $('#endDate').datetimepicker({
+				 format: "YYYY-MM-DD HH:mm:ss"
+		    });
+		});
+		function save() {
+			var projectReserveId = $("#projectReserveId").val();
+			var projectName = $("#projectName").val();
+			var construct = $("#constructionNecessityAndContent").val();
+			var faPlan = $("#changePlan").val();
+			var faChange = $("#programChangeDescription").val();
+
+			if (null==projectReserveId||""==projectReserveId){
+				jp.error("请填写项目储备编号!");
+			}else if(null==projectName||""==projectName){
+				jp.error("请填写项目名称!");
+			}else if (null==construct||""==construct){
+				jp.error("请填写建设必要性及内容!")
+			}else if (faPlan=='是'&(faChange==null||faChange=='')){
+				jp.error("请填写方案变更说明!")
+			}
+
+
+		    else {
+                var isValidate = jp.validateForm('#inputForm');//校验表单
+                if(!isValidate){
+                    return false;
+                }else{
+                    jp.loading();
+                    jp.post("${ctx}/cg/reservemanagementcenter/summaryStatistics/update",$('#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="reserveManagement" class="form-horizontal">
+	<form:hidden path="id"/>
+	<table class="table table-bordered">
+		<tbody>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">储备项目基本信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">项目年份:</label></td>
+			<td class="width-35">
+				<form:input path="projectYear" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目性质:</label></td>
+			<td class="width-35">
+				<form:input path="projectNature" htmlEscape="false" class="form-control"/>
+			</td>
+
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">需求单位:</label></td>
+			<td class="width-35">
+				<form:input path="demandUnit" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域:</label></td>
+			<td class="width-35">
+				<form:input path="district" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目分组:</label></td>
+			<td class="width-35">
+				<form:input path="projectGroup" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">项目经理:</label></td>
+			<td class="width-35">
+				<form:input path="projectManager" readonly="true" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">储备批次:</label></td>
+			<td class="width-35">
+				<form:input path="reserveBatches" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">供电区域:</label></td>
+			<td class="width-35">
+				<form:input path="blockSupply" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>网格编号:</label></td>
+			<td class="width-35">
+				<form:input path="gridNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>单元格编号:</label></td>
+			<td class="width-35">
+				<form:input path="cellNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目储备编号:</label></td>
+			<td class="width-35">
+				<form:input path="projectReserveId" htmlEscape="false"  readonly="true"  class="form-control required"/>
+			</td>
+		</tr>
+
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目名称:</label></td>
+			<td class="width-35">
+				<form:input path="projectName" htmlEscape="false"    class="form-control required"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>建设必要性及内容:</label></td>
+			<td class="width-35">
+				<form:input path="constructionNecessityAndContent" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">变电站名称:</label></td>
+			<td class="width-35">
+				<form:input path="substationName" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">线路名称:</label></td>
+			<td class="width-35">
+				<form:input path="circuitName" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">网架项目划分:</label></td>
+			<td class="width-35">
+				<form:input path="netRackProjectDivide" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">需求类型:</label></td>
+			<td class="width-35">
+				<form:input path="requirementType" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">项目类型:</label></td>
+			<td class="width-35">
+				<form:input path="projectType" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">费用估算:</label></td>
+			<td class="width-35">
+				<form:input path="costEstimate" htmlEscape="false" class="form-control number money"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">预算编制状态:</label></td>
+			<td class="width-35">
+				<form:input path="budgetPreparationStatus" htmlEscape="false" class="form-control number money"/>
+			</td>
+			<td class="width-15 active"><label class="">预算含税:</label></td>
+			<td class="width-35">
+				<form:input path="budgetIncludesTax" htmlEscape="false" class="form-control number money"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">预算不含税:</label></td>
+			<td class="width-35">
+				<form:input path="budgetNotIncludesTax" htmlEscape="false" class="form-control number money"/>
+			</td>
+			<td class="width-15 active"><label class="">备注:</label></td>
+			<td class="width-35">
+				<form:textarea path="basicRemarks" htmlEscape="false" rows="3" maxlength="200" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">储备项目交底信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">储备进度:</label></td>
+			<td class="width-35">
+				<form:input path="reserveProgress" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否纳入储备:</label></td>
+			<td class="width-35">
+				<select id="includeReserve" name="includeReserve"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.includeReserve=='是'}">selected</c:if>>是</option>
+					<option value="待定" <c:if test="${reserveManagement.includeReserve=='待定'}">selected</c:if>>待定</option>
+					<option value="取消" <c:if test="${reserveManagement.includeReserve=='取消'}">selected</c:if>>取消</option>
+				</select>
+
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">存在重大问题分类:</label></td>
+			<td class="width-35">
+				<form:input path="majorProblemClassification" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">存在问题说明:</label></td>
+			<td class="width-35">
+				<form:input path="problemDescription" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否可变更方案:</label></td>
+			<td class="width-35">
+				<select id="changePlan" name="changePlan"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.changePlan=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.changePlan=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">方案变更说明:</label></td>
+			<td class="width-35">
+				<form:input path="programChangeDescription" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处难度:</label></td>
+			<td class="width-35">
+				<form:input path="administrativeDifficulty" readonly="true" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处进度:</label></td>
+			<td class="width-35">
+				<form:input path="officeProgress" readonly="true" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">取消确认部门:</label></td>
+			<td class="width-35">
+				<form:input path="cancelConfirmationDepartment" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">储备项目交底信息-备注:</label></td>
+			<td class="width-35">
+				<form:input path="truthRemark" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">项目初步实施计划:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">需求单位优先级:</label></td>
+			<td class="width-35">
+				<form:input path="demandUnitPriority" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否纳入实施计划:</label></td>
+			<td class="width-35">
+				<select id="implementPlan" name="implementPlan"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.implementPlan=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.implementPlan=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">初定实施批次:</label></td>
+			<td class="width-35">
+				<form:input path="initialImplementBatch" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">初定施工单位:</label></td>
+			<td class="width-35">
+				<form:input path="preliminaryConstructionUnit" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">初定施工单位项目经理:</label></td>
+			<td class="width-35">
+				<form:input path="preliminaryConstructionUnitProjectManager" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否移交施工草图:</label></td>
+			<td class="width-35">
+				<select id="handConstructionSketches" name="handConstructionSketches"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.handConstructionSketches=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.handConstructionSketches=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+		</tr>
+		</tbody>
+	</table>
+</form:form>
+</body>
+</html>

+ 269 - 0
src/main/webapp/webpage/modules/cg/reservemanagementcenter/reserveManage/summaryStatistics/reserveManagementView.jsp

@@ -0,0 +1,269 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>政策处理信息</title>
+	<meta name="decorator" content="ani"/>
+	<script type="text/javascript">
+
+		$(document).ready(function() {
+			$('#disclosureFinishDate').datetimepicker({
+				format: "YYYY-MM-DD"
+			});
+		});
+		function save() {
+			var isValidate = jp.validateForm('#inputForm');//校验表单
+			if(!isValidate){
+				return false;
+			}else{
+				/*jp.loading();
+				jp.post("${ctx}/sg/managementCenter/reserveManagement/update",$('#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="reserveManagement" class="form-horizontal">
+	<form:hidden path="id"/>
+	<table class="table table-bordered">
+		<tbody>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">储备项目基本信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">项目年份:</label></td>
+			<td class="width-35">
+				<form:input path="projectYear" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目性质:</label></td>
+			<td class="width-35">
+				<form:input path="projectNature" htmlEscape="false" class="form-control"/>
+			</td>
+
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">需求单位:</label></td>
+			<td class="width-35">
+				<form:input path="demandUnit" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">区域:</label></td>
+			<td class="width-35">
+				<form:input path="district" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">项目分组:</label></td>
+			<td class="width-35">
+				<form:input path="projectGroup" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">项目经理:</label></td>
+			<td class="width-35">
+				<form:input path="projectManager" readonly="true" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">储备批次:</label></td>
+			<td class="width-35">
+				<form:input path="reserveBatches" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">供电区域:</label></td>
+			<td class="width-35">
+				<form:input path="blockSupply" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>网格编号:</label></td>
+			<td class="width-35">
+				<form:input path="gridNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>单元格编号:</label></td>
+			<td class="width-35">
+				<form:input path="cellNumber" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目储备编号:</label></td>
+			<td class="width-35">
+				<form:input path="projectReserveId" htmlEscape="false"  readonly="true"  class="form-control required"/>
+			</td>
+		</tr>
+
+		<tr>
+			<td class="width-15 active"><label class=""><font color="red">*</font>项目名称:</label></td>
+			<td class="width-35">
+				<form:input path="projectName" htmlEscape="false"    class="form-control required"/>
+			</td>
+			<td class="width-15 active"><label class=""><font color="red">*</font>建设必要性及内容:</label></td>
+			<td class="width-35">
+				<form:input path="constructionNecessityAndContent" htmlEscape="false"    class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">变电站名称:</label></td>
+			<td class="width-35">
+				<form:input path="substationName" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">线路名称:</label></td>
+			<td class="width-35">
+				<form:input path="circuitName" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">网架项目划分:</label></td>
+			<td class="width-35">
+				<form:input path="netRackProjectDivide" htmlEscape="false"    class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">需求类型:</label></td>
+			<td class="width-35">
+				<form:input path="requirementType" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">项目类型:</label></td>
+			<td class="width-35">
+				<form:input path="projectType" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">费用估算:</label></td>
+			<td class="width-35">
+				<form:input path="costEstimate" htmlEscape="false" class="form-control number money"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">预算编制状态:</label></td>
+			<td class="width-35">
+				<form:input path="budgetPreparationStatus" htmlEscape="false" class="form-control number money"/>
+			</td>
+			<td class="width-15 active"><label class="">预算含税:</label></td>
+			<td class="width-35">
+				<form:input path="budgetIncludesTax" htmlEscape="false" class="form-control number money"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">预算不含税:</label></td>
+			<td class="width-35">
+				<form:input path="budgetNotIncludesTax" htmlEscape="false" class="form-control number money"/>
+			</td>
+			<td class="width-15 active"><label class="">备注:</label></td>
+			<td class="width-35">
+				<form:textarea path="basicRemarks" htmlEscape="false" rows="3" maxlength="200" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">储备项目交底信息:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">储备进度:</label></td>
+			<td class="width-35">
+				<form:input path="reserveProgress" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否纳入储备:</label></td>
+			<td class="width-35">
+				<select id="includeReserve" name="includeReserve"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.includeReserve=='是'}">selected</c:if>>是</option>
+					<option value="待定" <c:if test="${reserveManagement.includeReserve=='待定'}">selected</c:if>>待定</option>
+					<option value="取消" <c:if test="${reserveManagement.includeReserve=='取消'}">selected</c:if>>取消</option>
+				</select>
+
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">存在重大问题分类:</label></td>
+			<td class="width-35">
+				<form:input path="majorProblemClassification" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">存在问题说明:</label></td>
+			<td class="width-35">
+				<form:input path="problemDescription" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">是否可变更方案:</label></td>
+			<td class="width-35">
+				<select id="changePlan" name="changePlan"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.changePlan=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.changePlan=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+			<td class="width-15 active"><label class="">方案变更说明:</label></td>
+			<td class="width-35">
+				<form:input path="programChangeDescription" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">政处难度:</label></td>
+			<td class="width-35">
+				<form:input path="administrativeDifficulty" readonly="true" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">政处进度:</label></td>
+			<td class="width-35">
+				<form:input path="officeProgress" readonly="true" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">取消确认部门:</label></td>
+			<td class="width-35">
+				<form:input path="cancelConfirmationDepartment" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">储备项目交底信息-备注:</label></td>
+			<td class="width-35">
+				<form:input path="truthRemark" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td colspan="4" class="width-15 active"><label class="">项目初步实施计划:</label></td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">需求单位优先级:</label></td>
+			<td class="width-35">
+				<form:input path="demandUnitPriority" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否纳入实施计划:</label></td>
+			<td class="width-35">
+				<select id="implementPlan" name="implementPlan"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.implementPlan=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.implementPlan=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">初定实施批次:</label></td>
+			<td class="width-35">
+				<form:input path="initialImplementBatch" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">初定施工单位:</label></td>
+			<td class="width-35">
+				<form:input path="preliminaryConstructionUnit" htmlEscape="false" class="form-control"/>
+			</td>
+		</tr>
+		<tr>
+			<td class="width-15 active"><label class="">初定施工单位项目经理:</label></td>
+			<td class="width-35">
+				<form:input path="preliminaryConstructionUnitProjectManager" htmlEscape="false" class="form-control"/>
+			</td>
+			<td class="width-15 active"><label class="">是否移交施工草图:</label></td>
+			<td class="width-35">
+				<select id="handConstructionSketches" name="handConstructionSketches"  class="form-control">
+					<option value="">请选择</option>
+					<option value="是" <c:if test="${reserveManagement.handConstructionSketches=='是'}">selected</c:if>>是</option>
+					<option value="否" <c:if test="${reserveManagement.handConstructionSketches=='否'}">selected</c:if>>否</option>
+				</select>
+			</td>
+		</tr>
+		</tbody>
+	</table>
+</form:form>
+</body>
+</html>